Method to prolong the life of a Multi-Level Cell Flash Disk Cache
Publication Date: 2010-Sep-24
The IP.com Prior Art Database
AbstractDisclosed is a method by which the overall storage life of a Multi-Level Cell Disk Cash is significantly extended with only a nominal decline in the amount of storage. The process involves changing a physical block from Multi-Level Flash Cells to Single-Level Flash Cells when it is moved from the Read Cache to the Write Cache.
Page 01 of 5
Method to prolong the life of a Multi -Level Cell Flash Disk Cache
A Flash-based storage made out of Multi-Level Flash Cells (MLC) provides improved density (2x to 4x density) compared to a Flash-storage made from Single-Level Flash Cells (SLC). This density directly translates to more storage space. However, this additional density comes at the expense of a much shorter (10x to 100x shorter) life compared to a Flash-storage made out of SLCs. This is a problem.
Related prior work  proposes and/or recommends that:
• A Flash-based storage made up of MLCs with appropriate decoder circuits is able to identify multiple bits from each cell.
• Such MLCs be used to build a split Disk Cache with appropriate wear leveling techniques in place to level the block wear as the block moves between the Read and Write Cache regions of the Disk Cache.
• When the MLC-cell-based pages near their endurance limit, the pages be converted from MLCs to SLCs to prolong their life. This requires a simple adjustment to the decoder circuit. The decoder circuit is now required to recognize only 2 states per cell (1-bit per cell) instead of recognizing multiple states per cell, as it was originally designed to.
• SLCs are used to create a Level 1 (smaller, faster, longer-lasting) disk cache and MLCs to create a Level 2 disk cache. 
The problem with the approach used in the prior art to prolong the life of the Disk is that once the endurance limit is reached for the MLCs, the size of the disk shrinks to one-half or one-fourth of the original size as the cells are converted from MLC to SLC. If the wear-leveling across the blocks works as expected, it evens out the erase wear across all pages such that all the pages in the Disk Cache switch from MLC to SLCs in relatively quick succession. This causes a relatively sudden change in the disk cache size as all the MLC-based pages start switching to SLC-based pages. A 1 GB disk cache could in a matter of a few weeks or months converts to a 512MB or 256MB disk cache. In the instance of using SLCs to create a Level 1 disk cache, the MLC-based Level 2 Disk Cache continues to suffer from the problem described above for applications where the L1 cache is unable to filter most of the traffic.
A solution is required because in certain scenarios it may be preferable to keep the size of the disk cache relatively unchanged for significantly longer periods of time at the expense of starting off with a slightly smaller disk cache. This disclosure proposes a method by which the overall storage life is significantly extended with only a nominal decline in the amount of storage.
The invention takes advantage of the proportionally much longer erase endurance of SLCs, by restricting a majority of the erase operations to SLCs. The invention does this by observing that a majority of the erase operations happen in the Write Cache in a split Disk Cache design (a split Disk Cache is a better alternative than a unified Disk Cac...