	Both dynamic and static wear leveling are implemented at the local level. This simply means that in a multi-chip product, every chip is managed as a single resource. The number of defective blocks in different chips within a NAND flash memory varies. A given chip can have all its data blocks worn out while another one can have all the blocks still active. To salvage this situation, global wear leveling is introduced. In global wear leveling, all blocks in all flash chips in the flash memory are managed together in a single pool. It ensures that all the cells in all the chips within the product are worn out evenly. 