Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/2930583.2930591guideproceedingsArticle/Chapter ViewAbstractPublication PagesfastConference Proceedingsconference-collections
Article

The devil is in the details: implementing flash page reuse with WOM codes

Published: 22 February 2016 Publication History

Abstract

Flash memory is prevalent in modern servers and devices. Coupled with the scaling down of flash technology, the popularity of flash memory motivates the search for methods to increase flash reliability and lifetime. Erasures are the dominant cause of flash cell wear, but reducing them is challenging because flash is a write-once medium--memory cells must be erased prior to writing.
An approach that has recently received considerable attention relies on write-once memory (WOM) codes, designed to accommodate additional writes on write-once media. However, the techniques proposed for reusing flash pages with WOM codes are limited in their scope. Many focus on the coding theory alone, while others suggest FTL designs that are application specific, or not applicable due to their complexity, overheads, or specific constraints of MLC flash.
This work is the first that addresses all aspects of page reuse within an end-to-end implementation of a general-purpose FTL on MLC flash. We use our hardware implementation to directly measure the short and long-term effects of page reuse on SSD durability, I/O performance and energy consumption, and show that FTL design must explicitly take them into account.

References

[1]
https://github.com/zdvresearch/fast2016-ftl.
[2]
https://github.com/zdvresearch/fast2016-openssd-emulator.
[3]
I/O deduplication traces. http://sylab-srv.cs.fiu.edu/doku.php?id=projects:iodedup:start. Retrieved: 2014.
[4]
Jasmine OpenSSD platform. http://www.openssd-project.org/.
[5]
SNIA IOTTA. http://iotta.snia.org/traces/388. Retrieved: 2014.
[6]
NAND flash memory tester (SigNASII). http://www.siglead.com/eng/innovation_signas2.html, 2014.
[7]
N. Agrawal, V. Prabhakaran, T. Wobber, J. D. Davis, M. Manasse, and R. Panigrahy. Design tradeoffs for SSD performance. In USENIX Annual Technical Conference (ATC), 2008.
[8]
A. Berman and Y. Birk. Retired-page utilization in write-once memory - a coding perspective. In IEEE International Symposium on Information Theory (ISIT), 2013.
[9]
D. Burshtein. Coding for asymmetric side information channels with applications to polar codes. In IEEE International Symposium on Information Theory (ISIT), 2015.
[10]
D. Burshtein and A. Strugatski. Polar write once memory codes. IEEE Transactions on Information Theory, 59(8):5088-5101, 2013.
[11]
Y. Cai, O. Mutlu, E. Haratsch, and K. Mai. Program interference in MLC NAND flash memory: Characterization, modeling, and mitigation. In 31st IEEE International Conference on Computer Design (ICCD), 2013.
[12]
M.-L. Chiao and D.-W. Chang. ROSE: A novel flash translation layer for NAND flash memory based on hybrid address translation. IEEE Transactions on Computers, 60(6):753-766, 2011.
[13]
G. D. Cohen, P. Godlewski, and F. Merkx. Linear binary code for write-once memories. IEEE Transactions on Information Theory, 32(5):697-700, 1986.
[14]
J. Colgrove, J. D. Davis, J. Hayes, E. L. Miller, C. Sandvig, R. Sears, A. Tamches, N. Vachharajani, and F. Wang. Purity: Building fast, highly-available enterprise flash storage from commodity components. In ACM SIGMOD International Conference on Management of Data (SIGMOD), 2015.
[15]
P. Desnoyers. What systems researchers need to know about NAND flash. In 5th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage), 2013.
[16]
P. Desnoyers. Analytic models of SSD write performance. Trans. Storage, 10(2):8:1-8:25, Mar. 2014.
[17]
E. En Gad, H. W., Y. Li, and J. Bruck. Rewriting flash memories by message passing. In IEEE International Symposium on Information Theory (ISIT), 2015.
[18]
L. M. Grupp, A. M. Caulfield, J. Coburn, S. Swanson, E. Yaakobi, P. H. Siegel, and J. K. Wolf. Characterizing flash memory: Anomalies, observations, and applications. In 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), 2009.
[19]
A. Gupta, R. Pisolkar, B. Urgaonkar, and A. Sivasubramaniam. Leveraging value locality in optimizing NAND flash-based SSDs. In 9th USENIX Conference on File and Storage Technologies (FAST), 2011.
[20]
S. Huang, Q. Wei, J. Chen, C. Chen, and D. Feng. Improving flash-based disk cache with lazy adaptive replacement. In IEEE 29th Symposium on Mass Storage Systems and Technologies (MSST), 2013.
[21]
J.-W. Im et al. A 128Gb 3b/cell V-NAND flash memory with 1gb/s i/o rate. In IEEE International Solid-State Circuits Conference (ISSCC), 2015.
[22]
S. Im and D. Shin. ComboFTL: Improving performance and lifespan of MLC flash memory using SLC flash buffer. J. Syst. Archit., 56(12):641-653, Dec. 2010.
[23]
A. N. Jacobvitz, R. Calderbank, and D. J. Sorin. Writing cosets of a convolutional code to increase the lifetime of flash memory. In 50th Annual Allerton Conference on Communication, Control, and Computing, 2012.
[24]
A. Jagmohan, M. Franceschini, and L. Lastras. Write amplification reduction in NAND flash through multi-write coding. In 26th IEEE Symposium on Mass Storage Systems and Technologies (MSST), 2010.
[25]
X. Jimenez, D. Novo, and P. Ienne. Wear unleveling: Improving NAND flash lifetime by balancing page endurance. In 12th USENIX Conference on File and Storage Technologies (FAST), 2014.
[26]
J. Kaiser, F. Margaglia, and A. Brinkmann. Extending SSD lifetime in database applications with page overwrites. In 6th International Systems and Storage Conference (SYSTOR), 2013.
[27]
T. Kgil, D. Roberts, and T. Mudge. Improving NAND flash based disk caches. In 35th Annual International Symposium on Computer Architecture (ISCA), 2008.
[28]
H. Kim and S. Ahn. BPLRU: A buffer management scheme for improving random writes in flash storage. In 6th USENIX Conference on File and Storage Technologies (FAST), 2008.
[29]
R. Koller and R. Rangaswami. I/O deduplication: Utilizing content similarity to improve I/O performance. Trans. Storage, 6(3):13:1-13:26, Sept. 2010.
[30]
X. Luojie, B. M. Kurkoski, and E. Yaakobi. WOM codes reduce write amplification in NAND flash memory. In IEEE Global Communications Conference (GLOBECOM), 2012.
[31]
F. Margaglia and A. Brinkmann. Improving MLC flash performance and endurance with extended P/E cycles. In IEEE 31st Symposium on Mass Storage Systems and Technologies (MSST), 2015.
[32]
N. Mielke, T. Marquart, N. Wu, J. Kessenich, H. Belgal, E. Schares, F. Trivedi, E. Goodness, and L. Nevill. Bit error rate in NAND flash memories. In Reliability Physics Symposium (IRPS). IEEE International, 2008.
[33]
C. Min, K. Kim, H. Cho, S.-W. Lee, and Y. I. Eom. SFS: Random write considered harmful in solid state drives. In 10th USENIX Conference on File and Storage Technologies (FAST), 2012.
[34]
V. Mohan, T. Bunker, L. Grupp, S. Gurumurthi, M. Stan, and S. Swanson. Modeling power consumption of NAND flash memories using FlashPower. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 32(7):1031-1044, July 2013.
[35]
D. Narayanan, A. Donnelly, and A. Rowstron. Write off-loading: Practical power management for enterprise storage. Trans. Storage, 4(3):10:1-10:23, Nov. 2008.
[36]
S. Odeh and Y. Cassuto. NAND flash architectures reducing write amplification through multiwrite codes. In IEEE 30th Symposium on Mass Storage Systems and Technologies (MSST), 2014.
[37]
Y. Oh, J. Choi, D. Lee, and S. H. Noh. Caching less for better performance: Balancing cache size and update cost of flash memory cache in hybrid storage systems. In 10th USENIX Conference on File and Storage Technologies (FAST), 2012.
[38]
H. Park, J. Kim, J. Choi, D. Lee, and S. Noh. Incremental redundancy to reduce data retention errors in flash-based SSDs. In IEEE 31st Symposium on Mass Storage Systems and Technologies (MSST), 2015.
[39]
K.-T. Park, M. Kang, D. Kim, S.-W. Hwang, B. Y. Choi, Y.-T. Lee, C. Kim, and K. Kim. A zeroing cell-to-cell interference page architecture with temporary LSB storing and parallel MSB program scheme for MLC NAND flash memories. IEEE Journal of Solid-State Circuits, 43(4):919-928, April 2008.
[40]
R. L. Rivest and A. Shamir. How to Reuse a Write-Once Memory. Inform. and Contr., 55(1-3):1-19, Dec. 1982.
[41]
M. Salajegheh, Y. Wang, K. Fu, A. Jiang, and E. Learned-Miller. Exploiting half-wits: Smarter storage for low-power devices. In 9th USENIX Conference on File and Stroage Technologies (FAST), 2011.
[42]
M. Saxena, M. M. Swift, and Y. Zhang. FlashTier: A lightweight, consistent and durable storage cache. In 7th ACM European Conference on Computer Systems (EuroSys), 2012.
[43]
M. Saxena, Y. Zhang, M. M. Swift, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau. Getting real: Lessons in transitioning research simulations into hardware systems. In 11th USENIX Conference on File and Storage Technologies (FAST), 2013.
[44]
A. Shpilka. Capacity achieving multiwrite WOM codes. IEEE Transactions on Information Theory, 60(3):1481-1487, 2014.
[45]
K. Smith. Understanding SSD over-provisioning. EDN Network, January 2013.
[46]
G. Soundararajan, V. Prabhakaran, M. Balakrishnan, and T. Wobber. Extending SSD lifetimes with disk-based write caches. In 8th USENIX Conference on File and Storage Technologies (FAST), 2010.
[47]
R. Stoica and A. Ailamaki. Improving flash write performance by using update frequency. Proc. VLDB Endow., 6(9):733-744, July 2013.
[48]
E. Yaakobi, L. Grupp, P. Siegel, S. Swanson, and J. Wolf. Characterization and error-correcting codes for TLC flash memories. In International Conference on Computing, Networking and Communications (ICNC), 2012.
[49]
E. Yaakobi, S. Kayser, P. H. Siegel, A. Vardy, and J. K. Wolf. Codes for write-once memories. IEEE Transactions on Information Theory, 58(9):5985- 5999, 2012.
[50]
E. Yaakobi, J. Ma, L. Grupp, P. H. Siegel, S. Swanson, and J. K. Wolf. Error characterization and coding schemes for flash memories. In IEEE GLOBECOM Workshops (GC Wkshps), 2010.
[51]
E. Yaakobi, A. Yucovich, G. Maor, and G. Yadgar. When do WOM codes improve the erasure factor in flash memories? In IEEE International Symposium on Information Theory (ISIT), 2015.
[52]
G. Yadgar, R. Shor, E. Yaakobi, and A. Schuster. It's not where your data is, it's how it got there. In 7th USENIX Conference on Hot Topics in Storage and File Systems (HotStorage), 2015.
[53]
G. Yadgar, E. Yaakobi, and A. Schuster. Write once, get 50% free: Saving SSD erase costs using WOM codes. In 13th USENIX Conference on File and Storage Technologies (FAST), 2015.
[54]
G. Yadgar, A. Yucovich, H. Arobas, E. Yaakobi, Y. Li, F. Margaglia, A. Brinkmann, and A. Schuster. Limitations on MLC flash page reuse and its effects on durability. Technical Report CS-2016-02, Computer Science Department, Technion, 2016.
[55]
J. Yang, N. Plasson, G. Gillis, and N. Talagala. HEC: Improving endurance of high performance flash-based cache devices. In 6th International Systems and Storage Conference (SYSTOR), 2013.
[56]
K. Zhao, W. Zhao, H. Sun, X. Zhang, N. Zheng, and T. Zhang. LDPC-in-SSD: Making advanced error correction codes work effectively in solid state drives. In 11th USENIX Conference on File and Storage Technologies (FAST), 2013.

Cited By

View all
  • (2022)Reprogramming 3D TLC Flash Memory based Solid State DrivesACM Transactions on Storage10.1145/348706418:1(1-33)Online publication date: 29-Jan-2022
  • (2021)SSD-based Workload Characteristics and Their Performance ImplicationsACM Transactions on Storage10.1145/342313717:1(1-26)Online publication date: 8-Jan-2021
  • (2019)FADaCProceedings of the 12th ACM International Conference on Systems and Storage10.1145/3319647.3325829(167-178)Online publication date: 22-May-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
FAST'16: Proceedings of the 14th Usenix Conference on File and Storage Technologies
February 2016
369 pages
ISBN:9781931971287

Sponsors

  • VMware
  • VERITAS: VERITAS
  • NetApp
  • Google Inc.
  • NSF

Publisher

USENIX Association

United States

Publication History

Published: 22 February 2016

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Reprogramming 3D TLC Flash Memory based Solid State DrivesACM Transactions on Storage10.1145/348706418:1(1-33)Online publication date: 29-Jan-2022
  • (2021)SSD-based Workload Characteristics and Their Performance ImplicationsACM Transactions on Storage10.1145/342313717:1(1-26)Online publication date: 8-Jan-2021
  • (2019)FADaCProceedings of the 12th ACM International Conference on Systems and Storage10.1145/3319647.3325829(167-178)Online publication date: 22-May-2019
  • (2019)A high-performance and endurable SSD cache for parity-based RAIDFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-017-6523-913:1(16-34)Online publication date: 1-Feb-2019
  • (2018)DLSpaceACM Transactions on Embedded Computing Systems10.1145/328474917:6(1-33)Online publication date: 8-Dec-2018
  • (2018)DIDACacheACM Transactions on Storage10.1145/320341014:3(1-32)Online publication date: 31-Oct-2018
  • (2018)An Analysis of Flash Page Reuse With WOM CodesACM Transactions on Storage10.1145/317788614:1(1-39)Online publication date: 26-Feb-2018
  • (2018)Invalid data-aware coding to enhance the read performance of high-density flash memoriesProceedings of the 51st Annual IEEE/ACM International Symposium on Microarchitecture10.1109/MICRO.2018.00046(482-493)Online publication date: 20-Oct-2018
  • (2017)VSTProceedings of the 36th International Conference on Computer-Aided Design10.5555/3199700.3199738(283-290)Online publication date: 13-Nov-2017
  • (2017)Mapping granularity adaptive FTL based on flash page re-programmingProceedings of the Conference on Design, Automation & Test in Europe10.5555/3130379.3130467(374-379)Online publication date: 27-Mar-2017
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media