摘要 |
A cache memory for operations to a flash memory. A flash memory manager places flash write and flash erase commands into a cache, for subsequent execution by the flash memory. The cache can replace a queue used in conventional flash memory systems. A foreground manager can perform a check for available space in the flash memory, break up the command into appropriate cache entries, and write the entries into the cache. A background manager can subsequently read the entries from cache and execute them to flash memory, deleting each cache entry as it is posted to flash memory. The cache can include multiple sets of tag/data arrays, each dedicated to commands with a particular priority. Relocating most conventional flash management functions from background to foreground can eliminate the possibility of "flash full" responses from the background manager, thus eliminating the need for the background manager to determine whether space will be available for the command when it is executed to flash. |