摘要 |
Memory controller 1000 backs-up stripes of data to a flash memory system. The system comprises channels, e.g. flash devices, divided into dies, each having two planes, where each plane includes blocks, and where each block comprises a number of pages for data payload. Stripes are sets of pages across all available channels, dies, and planes having the same block and page addresses. Each stripe further comprises first metadata indicating known bad blocks. Grown bad block component 1034 determines when an error occurs in a block of flash memory during back-up. Component 1034 rewrites the stripes to exclude block with errors and embeds second metadata with locations of newly discovered bad blocks. After checking first and second metadata, component 1034 writes to more planes simultaneously if no bad bock indication is given. By flagging new bad-block locations, time is not wasted erasing blocks when new bad-blocks are encountered at back-up. |