Abstract
Garbage collection (GC) plays a pivotal role in the performance of 3D NAND flash memory, where Copyback has been widely used to accelerate valid page migration during GC. Unfortunately, copyback is constrained by the parity symmetry issue: data read from an odd/even page must be written to an odd/even page. After migrating two odd/even consecutive pages, a free page between the two migrated pages will be wasted. Such wasted pages noticeably lower free space on flash memory and cause extra GCs, thereby degrading solid-state-disk (SSD) performance. To address this problem, we propose a page-state-aware cache scheme called PSA-Cache, which prevents page waste to boost the performance of NAND Flash-based SSDs. To facilitate making write-back scheduling decisions, PSA-Cache regulates write-back priorities for cached pages according to the state of pages in victim blocks. With high write-back-priority pages written back to flash chips, PSA-Cache effectively fends off page waste by breaking odd/even consecutive pages in subsequent garbage collections. We quantitatively evaluate the performance of PSA-Cache in terms of the number of wasted pages, the number of GCs, and response time. We compare PSA-Cache with two state-of-the-art schemes, GCaR and TTflash, in addition to a baseline scheme LRU. The experimental results unveil that PSA-Cache outperforms the existing schemes. In particular, PSA-Cache curtails the number of wasted pages of GCaR and TTflash by 25.7% and 62.1%, respectively. PSA-Cache immensely cuts back the number of GC counts by up to 78.7% with an average of 49.6%. Furthermore, PSA-Cache slashes the average write response time by up to 85.4% with an average of 30.05%.
- [1] . 2013. Error analysis and retention-aware error management for nand flash memory. Intel. Technol. J. 17, 1 (2013), 140–165.Google Scholar
- [2] . 2004. Real-time garbage collection for flash-memory storage systems of real-time embedded systems. ACM Trans. Embed. Comput. Syst. 3, 4 (2004), 837–863.Google ScholarDigital Library
- [3] . 2014. An efficient copy-back operation scheme using dedicated flash memory controller in solid-state disks. In Proceedings of the International Journal of Electrical Energy, Vol. 2.Google ScholarCross Ref
- [4] . 2011. Architectures and optimization methods of flash memory based storage systems. J. Syst. Arch. 57, 2 (2011), 214–227.
DOI: Google ScholarDigital Library - [5] . 2019. Aging capacitor supported cache management scheme for solid-state drives. IEEE Trans. Comput.-Aided Design Integr. Circ. Syst. 39, 10 (2019), 2230–2239.Google ScholarCross Ref
- [6] . 2019. Improving SSD performance using adaptive restricted-copyback operations. In Proceedings of the IEEE Non-Volatile Memory Systems and Applications Symposium. 1–6.Google ScholarCross Ref
- [7] . 2015. LAMA: Optimized locality-aware memory allocation for key-value cache. In Proceedings of the USENIX Annual Technical Conference. 57–69.Google Scholar
- [8] . 2015. PASS: A proactive and adaptive SSD buffer scheme for data-intensive workloads. In Proceedings of the IEEE International Conference on Networking, Architecture, and Storage. 54–63.Google ScholarCross Ref
- [9] . 2011. Performance impact and interplay of SSD parallelism through advanced commands, allocation strategy and data granularity. In Proceedings of the 25th International Conference on Supercomputing. 96–107.Google ScholarDigital Library
- [10] . 2009. Vertical cell array using TCAT (terabit cell array transistor) technology for ultra high density NAND flash memory. In Proceedings of the IEEE Symposium on VLSI Technology. 192–193.Google Scholar
- [11] . 2012. A technique to improve garbage collection performance for NAND flash-based storage systems. IEEE Trans. Consum. Electr. 58, 2 (2012), 470–478.Google ScholarCross Ref
- [12] . 2008. BPLRU: A buffer management scheme for improving random writes in flash storage. In Proceedings of the 15th USENIX Conference on File and Storage Technologies. 1–14.Google Scholar
- [13] . 2007. UMASS Trace Repository. Retrieved from http://traces.cs.umass.edu/index.php/Storage/Storage.Google Scholar
- [14] . 2011. A semi-preemptive garbage collector for solid state drives. In Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software. 12–21.Google ScholarDigital Library
- [15] . 2018. Pen: Design and evaluation of partial-erase for 3D NAND-based high density SSDs. In Proceedings of the 16th USENIX Conference on File and Storage Technologies. 67–82. Google Scholar
- [16] . 2015. Partial block erase for a three dimensional (3D) memory. (
May 19 2015).U.S. Patent 9286989. Google Scholar - [17] . 2015. Nonvolatile memory device and sub-block managing method thereof. (
Feb. 24 2015).U.S. Patent 8964481. Google Scholar - [18] . 2021. Open NAND Flash Interface Specification Revision 5.0. Retrieved from https://www.onfi.org/specifications.Google Scholar
- [19] . Samsung 980 Pro NVMe SSD. Retrieved from https://www.samsung.com/cn/memory-storage/nvme-ssd/980-pro-nvme-m-2-1tb-mz-v8p500bw.Google Scholar
- [20] . Samsung k9xxg08uxa Nand Flash Memory Datasheet. Retrieved from http://www.samsung.com/products/semiconductor/flash/technicallinfo/datasheets.Google Scholar
- [21] . 2010. An adaptive partitioning scheme for DRAM-based cache in solid state drives. In Proceedings of the 26th IEEE Symposium on Mass Storage Systems and Technologies. 1–12.Google ScholarDigital Library
- [22] . 2020. Towards unaligned writes optimization in cloud storage with high-performance SSDs. IEEE Trans. Parallel Distrib. Syst. 31, 12 (2020), 2923–2937. Google ScholarCross Ref
- [23] . 2007. MSR Cambridge Traces. Retrieved from http://iotta.snia.org/traces/block-io/388?only=386.Google Scholar
- [24] . 2013. NAND Memory Toggle DDR1.0 Technical Data Sheet. Tokyo, Japan.Google Scholar
- [25] . 2016. 3D Flash Memory Toggle DDR2.0 Technical Data Sheet. Tokyo, Japan.Google Scholar
- [26] . 2021. An efficient data migration scheme to optimize garbage collection in SSDs. IEEE Trans. Comput.-Aided Design Integr. Circ. Syst. 40, 3 (2021), 430–443. Google ScholarCross Ref
- [27] . 2018. FastGC: Accelerate garbage collection via an efficient copyback-based data migration in SSDs. In Proceedings of the 55th Design Automation Conference. 1–6. Google ScholarDigital Library
- [28] . 2017. Improving performance for flash-based storage systems through GC-aware cache management. IEEE Trans. Parallel Distrib. Syst. 28, 10 (2017), 2852–2865. Google ScholarDigital Library
- [29] . 2020. GC-steering: GC-aware request steering and parallel reconstruction optimizations for SSD-based RAIDs. IEEE Trans. Comput.-Aided Design Integr. Circ. Syst. 39, 12 (2020), 4587–4600. Google ScholarCross Ref
- [30] . 2017. Tiny-tail flash: Near-perfect elimination of garbage collection tail latencies in NAND SSDs. In Proceedings of the 15th USENIX Conference on File and Storage Technologies. 15–28. Google ScholarDigital Library
- [31] . 2014. Garbage collection and wear leveling for flash memory: Past and future. In Proceedings of the International Conference on Smart Computing. 66–73.Google ScholarCross Ref
- [32] . 2023. Cocktail: Mixing data with different characteristics to reduce read reclaims for NAND flash memory. IEEE Trans. Comput.-Aided Design Integr. Circ. Syst. 42, 1 (2023), 1–14.
DOI: Google ScholarCross Ref - [33] . 2020. Improving overall performance of TLC SSD by exploiting dissimilarity of flash pages. IEEE Trans. Parallel Distrib. Syst. 31, 2 (2020), 332–346.Google ScholarDigital Library
- [34] . 2020. Efficient SSD cache for cloud block storage via leveraging block reuse distances. IEEE Trans. Parallel Distrib. Syst. 31, 11 (2020), 2496–2509. Google ScholarCross Ref
- [35] . 2017. Understanding and alleviating the impact of the flash address translation on solid state devices. ACM Trans. Stor. 13, 2 (2017). Google Scholar
Index Terms
- PSA-Cache: A Page-state-aware Cache Scheme for Boosting 3D NAND Flash Performance
Recommendations
Flash-Aware High-Performance and Endurable Cache
MASCOTS '15: Proceedings of the 2015 IEEE 23rd International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication SystemsFlash-based SSDs are widely used as storage caches, which can benefit from both the higher performance of SSDs and lower price of disks. Unfortunately, issues of reliability and limited lifetime limit the use of Flash-based cache. One way to solve this ...
1+1>2: variation-aware lifetime enhancement for embedded 3D NAND flash systems
LCTES 2019: Proceedings of the 20th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded SystemsThree-dimensional (3D) NAND flash has been developed to boost the storage capacity by stacking memory cells vertically. One critical characteristic of 3D NAND flash is its large endurance variation. With this characteristic, the lifetime will be ...
Layer RBER variation aware read performance optimization for 3D flash memories
DAC '20: Proceedings of the 57th ACM/EDAC/IEEE Design Automation Conference3D NAND flash enables the construction of large capacity Solid-State Drives (SSDs) for modern computer systems. While effectively reducing per bit cost, 3D NAND flash exhibits non-negligible process variations and thus RBER (raw bit error rate) ...
Comments