Flash memory management system and method
First Claim
1. An apparatus comprising:
- a) a processor;
b) a memory coupled to the processor;
c) a flash memory management system residing in the memory and being executed by the processor, the flash memory management system including;
a free block mechanism for locating free blocks of flash memory for writing, the free block mechanism searching a portion of flash memory blocks in a free block list defined by a free block list window;
a disk maintenance mechanism for locating blocks of flash memory for cleaning, the disk maintenance mechanism evaluating a portion of flash memory blocks in the block list defined by a block list window;
a bad block detection mechanism for locating blocks of flash memory likely to become bad, the bad block detection mechanism monitoring the flash memory blocks for error activity and designating a block as bad when the error activity rises above a predefined threshold.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a flash memory management system and method with increased performance. The flash memory management system provides the ability to efficiently manage and allocate flash memory use in a way that improves reliability and longevity, while maintaining good performance levels. The flash memory management system includes a free block mechanism, a disk maintenance mechanism, and a bad block detection mechanism. The free block mechanism provides efficient sorting of free blocks to facilitate selecting low use blocks for writing. The disk maintenance mechanism provides for the ability to efficiently clean flash memory blocks during processor idle times. The bad block detection mechanism provides the ability to better detect when a block of flash memory is likely to go bad. The flash status mechanism stores information in fast access memory that describes the content and status of the data in the flash disk. The new bank detection mechanism provides the ability to automatically detect when new banks of flash memory are added to the system. Together, these mechanisms provide a flash memory management system that can improve the operational efficiency of systems that utilize flash memory.
466 Citations
23 Claims
-
1. An apparatus comprising:
-
a) a processor;
b) a memory coupled to the processor;
c) a flash memory management system residing in the memory and being executed by the processor, the flash memory management system including;
a free block mechanism for locating free blocks of flash memory for writing, the free block mechanism searching a portion of flash memory blocks in a free block list defined by a free block list window;
a disk maintenance mechanism for locating blocks of flash memory for cleaning, the disk maintenance mechanism evaluating a portion of flash memory blocks in the block list defined by a block list window;
a bad block detection mechanism for locating blocks of flash memory likely to become bad, the bad block detection mechanism monitoring the flash memory blocks for error activity and designating a block as bad when the error activity rises above a predefined threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for managing a flash memory system comprising a plurality of flash memory blocks, the method comprising the steps of:
-
a) locating free blocks of the flash memory for writing by searching a portion of the flash memory blocks defined by a free block list window;
b) locating blocks of the flash memory for cleaning by evaluating a portion of the flash memory blocks defined by a block list window; and
c) locating blocks of flash memory likely to become bad by monitoring the flash memory blocks for error activity and designating a block as bad when the error activity rises above a predefined threshold. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An program product comprising:
-
a) a flash memory management program, the flash memory management program including;
a free block mechanism for locating free blocks of flash memory for writing, the free block mechanism searching a portion of flash memory blocks in a free block list defined by a free block list window;
a disk maintenance mechanism for locating blocks of flash memory for cleaning, the disk maintenance mechanism evaluating a portion of flash memory blocks in the block list defined by a block list window;
a bad block detection mechanism for locating blocks of flash memory likely to become bad, the bad block detection mechanism monitoring the flash memory blocks for error activity and designating a block as bad when the error activity rises above a predefined threshold;
b) signal bearing media bearing said program. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
Specification