We propose a self-consistent method to simulate charge trapping and de-trapping in charge storage layer and its interfaces of SONOS type flash memory devices. This method can be used under various applied voltages; in various structures composed of multiple material, thickness and shape of gate stack layers. It can also work with arbitrary trap density distribution in either real space or energy space. Further more, the self-consistent method has enough flexibility to accommodate detailed physical models