摘要 |
A system for managing variable sized pages of possibly non contiguous blocks in a Non-Volatile-Storage (NVS) for attaining a consistent NVS that survives malfunction events. Each page includes a self describing block or linked list of self describing blocks. the system includes: Volatile Storage storing auxiliary modules, means for performing an atomic "create a new page" procedure. Means for performing an atomic write "add block" procedure for adding a possibly non contiguous block to a page. The newly added block has a back pointer to a previous block in the page. Means for performing a "delete page" procedure for deleting all blocks in a page. Means for performing a recovery procedure for rolling backward the add block procedure and rolling forward the delete page procedure, in case of malfunction event, thereby attaining consistent NVS.
|