[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1109/ISCA.2018.00043acmconferencesArticle/Chapter ViewAbstractPublication PagesiscaConference Proceedingsconference-collections
research-article

2B-SSD: the case for dual, byte- and block-addressable solid-state drives

Published: 02 June 2018 Publication History

Abstract

Performance critical transaction and storage systems require fast persistence of write data. Typically, a non-volatile RAM (NVRAM) is employed on the datapath to the permanent storage, to temporarily and quickly store write data before the system acknowledges the write request. NVRAM is commonly implemented with battery-backed DRAM. Unfortunately, battery-backed DRAM is small and costly, and occupies a precious DIMM slot. In this paper, we make a case for dual, byte- and block-addressable solid-state drive (2B-SSD), a novel NAND flash SSD architecture designed to offer a dual view of byte addressability and traditional block addressability at the same time. Unlike a conventional storage device, 2B-SSD allows accessing the same file with two independent byte-and block- I/O paths. It controls the data transfer between its internal DRAM and NAND flash memory through an intuitive software interface, and manages the mapping of the two address spaces. 2B-SSD realizes a wholly different way and speed of accessing files on a storage device; applications can access them directly using memory-mapped I/O, and moreover write with a DRAM-like latency. To quantify the benefits of 2B-SSD, we modified logging subsystems of major database engines to store log records directly on it without buffering them in the host memory. When running popular workloads, we measured throughput gains in the range of 1.2X and 2.8X with no risk of data loss.

References

[1]
C. J. Bashe, IBM's Early Computers. The MIT Press, 1986.
[2]
"New ssd-backed elastic block storage." https://aws.amazon.com/ko/blogs/aws/new-ssd-backed-elastic-block-storage/, 2014.
[3]
B. Schroeder, R. Lagisetty, and A. Merchant, "Flash reliability in production: The expected and the unexpected," in USENIX FAST, pp. 67--80, 2016.
[4]
J. Meza, Q. Wu, S. Kumar, and O. Mutlu, "A large-scale study of flash memory failures in the field," in ACM SIGMETRICS, pp. 177--190, 2015.
[5]
"Oracle launches new all flash fs1 storage system." https://www.oracle.com/corporate/pressrelease/oracle-all-flash-array-FS1-storage-system-082715.html, 2015.
[6]
"Emc declares 2016 the "year of all-flash" for primary storage." https://www.emc.com/about/news/press/2016/20160229-04.htm, 2016.
[7]
"The industry's first all-flash array with 15 tb ssds." http://community.netapp.com/t5/Tech-OnTap-Articles/The-Industry-s-First-All-Flash-Array-with-15-TB-SSDs/ta-p/120003, 2016.
[8]
"Ssds kill the 15k hdd, rolls out last generation." http://www.tomshardware.com/news/-hdd-15k-ssd-enterprise,32920.html, 2016.
[9]
J. Yang, D. B. Minturn, and F. Hady, "When poll is better than interrupt," in USENIX FAST, pp. 3--3, 2012.
[10]
W. Shin, Q. Chen, M. Oh, H. Eom, and H. Y. Yeom, "OS I/O path optimizations for flash solid-state drives," in USENIX ATC, pp. 483--488, 2014.
[11]
S.-W. Lee, B. Moon, and C. Park, "Advances in flash memory ssd technology for enterprise database applications," in ACM SIGMOD, pp. 863--870, 2009.
[12]
D. Tsirogiannis, S. Harizopoulos, M. A. Shah, J. L. Wiener, and G. Graefe, "Query processing techniques for solid state drives," in ACM SIGMOD, pp. 59--72, 2009.
[13]
"Nvm express." https://nvmexpress.org/.
[14]
R. F. Freitas and W. W. Wilcke, "Storage-class memory: The next storage system technology," IBM J. Res. Dev., vol. 52, no. 4, pp. 439--447, 2008.
[15]
C. H. Lam, "Storage class memory," in IEEE ICSICT, pp. 1080--1083, 2010.
[16]
G. W. Burr, "Storage class memory," in Non-volatile Memories Workshop, pp. 1--25, 2010.
[17]
S. R. Dulloor, A. Roy, Z. Zhao, N. Sundaram, N. Satish, R. Sankaran, J. Jackson, and K. Schwan, "Data tiering in heterogeneous memory systems," in EuroSys, pp. 1--16, 2016.
[18]
N. Agarwal and T. F. Wenisch, "Thermostat: Application-transparent page management for two-tiered main memory," in ACM ASPLOS, pp. 631--644, 2017.
[19]
D. Schwalb, T. Berning, M. Faust, M. Dreseler, and H. Plattner, "nvm malloc Memory allocation for nvram," in ADMS, pp. 61--72, 2015.
[20]
T. Talpey, "Persistent memory in windows," in SNIA Persistent Memory Summit, 2016.
[21]
N. Y. Song, Y. J. Yu, W. Shin, H. Eom, and H. Y. Yeom, "Low-latency memory-mapped i/o for data-intensive applications on fast storage devices," in SCC, pp. 766--770, 2012.
[22]
C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh, and P. Schwarz, "Aries: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging," ACM TODS, vol. 17, no. 1, pp. 94--162, 1992.
[23]
T. G. Armstrong, V. Ponnekanti, D. Borthakur, and M. Callaghan, "Linkbench: a database benchmark based on the facebook social graph," in ACM SIGMOD, pp. 1185--1196, 2013.
[24]
B. F. Cooper, A. Silberstein, E. Tam, R. Ramakrishnan, and R. Sears, "Benchmarking cloud serving systems with ycsb," in ACM SoCC, pp. 143--154, 2010.
[25]
J. L. Hennessy and D. A. Patterson, Computer Architecture, Fifth Edition: A Quantitative Approach. Morgan Kaufmann Publishers Inc., 5th ed., 2011.
[26]
"Samsung ssd pm1725a." http://www.samsung.com/semiconductor/global/file/insight/2016/08/Samsung_PM1725a-1.pdf.
[27]
"Samsung shows off a z-ssd: With new z-nand." http://anandtech.com/show/11206/samsung-shows-off-a-z-ssd.
[28]
"The intel optane ssd dc p4800x (375gb) review: Testing 3d xpoint performance." http://anandtech.com/show/11209/intel-optane-ssd-dc-p4800x-review-a-deep-dive-into-3d-xpiont-enterprise-performance.
[29]
H.-J. Kim, Y.-S. Lee, and J.-S. Kim, "Nvmedirect: A user-space i/o framework for application-specific optimization on nvme ssds," in USENIX HotStorage, 2016.
[30]
D. Narayanan and O. Hodson, "Whole-system persistence," in ACM ASPLOS, pp. 401--410, 2012.
[31]
J. Condit, E. B. Nightingale, C. Frost, E. Ipek, B. Lee, D. Burger, and D. Coetzee, "Better i/o through byte-addressable, persistent memory," in ACM SOSP, pp. 133--146, 2009.
[32]
J. Coburn, A. M. Caulfield, A. Akel, L. M. Grupp, R. K. Gupta, R. Jhala, and S. Swanson, "Nv-heaps: Making persistent objects fast and safe with next-generation, non-volatile memories," in ACM ASPLOS, pp. 105--118, 2011.
[33]
T. Hwang, J. Jung, and Y. Won, "HEAPO: heap-based persistent object store," ACM TOS, vol. 11, no. 1, pp. 3:1--3:21, 2015.
[34]
S. Chen and Q. Jin, "Persistent b+-trees in non-volatile main memory," VLDB Endowment, vol. 8, no. 7, pp. 786--797, 2015.
[35]
I. Oukid, D. Booss, A. Lespinasse, W. Lehner, T. Willhalm, and G. Gomes, "Memory management techniques for large-scale persistent-main-memory systems," pp. 1166--1177, 2017.
[36]
C. Kim, J. Cho, W. Jeong, I. Park, H. W. Park, D. Kim, D. Kang, S. Lee, J. Lee, W. Kim, J. Park, Y. Ahn, J. Lee, J. Lee, S. Kim, H. Yoon, J. Yu, N. Choi, Y. Kwon, N. Kim, H. Jang, J. Park, S. Song, Y. Park, J. Bang, S. Hong, B. Jeong, H. Kim, C. Lee, Y. Min, I. Lee, I. Kim, S. Kim, D. Yoon, K. Kim, Y. Choi, M. Kim, H. Kim, P. Kwak, J. Ihm, D. Byeon, J. Lee, K. Park, and K. Kyung, "11.4 A 512gb 3b/cell 64-stacked WL 3d V-NAND flash memory," in IEEE ISSCC, pp. 202--203, 2017.
[37]
S. Kim, H. Kim, S.-H. Kim, J. Lee, and J. Jeong, "Request-oriented durable write caching for application performance," in USENIX ATC, pp. 193--206, 2015.
[38]
J. Jung, Y. Won, E. Kim, H. Shin, and B. Jeon, "FRASH: exploiting storage class memory in hybrid file system for hierarchical storage," ACM TOS, vol. 6, no. 1, pp. 3:1--3:25, 2010.
[39]
I. H. Doh, Y. J. Kim, J. S. Park, E. Kim, J. Choi, D. Lee, and S. H. Noh, "Towards greener data centers with storage class memory: Minimizing idle power waste through coarse-grain management in fine-grain scale," in ACM CF, pp. 309--318, 2010.
[40]
E. Lee, H. Bahn, and S. H. Noh, "Unioning of the buffer cache and journaling layers with non-volatile memory," in USENIX FAST, pp. 73--80, 2013.
[41]
W.-H. Kim, J. Kim, W. Baek, B. Nam, and Y. Won, "Nvwal: Exploiting nvram in write-ahead logging," in ACM ASPLOS, pp. 385--398, 2016.
[42]
Y. Kwon, H. Fingler, T. Hunt, S. Peter, E. Witchel, and T. E. Anderson, "Strata: A cross media file system," in ACM SOSP, pp. 460--477, 2017.
[43]
"Fujitsu server primergy memory performance of xeon e5-2600 v4 (broadwell-ep) based systems." https://sp.ts.fujitsu.com/dmsp/Publications/public/wp-broadwell-ep-memory-performance-ww-en.pdf, 2016.
[44]
R. Budruk, D. Anderson, and T. Shanley, PCI Express System Architecture. MINDSHARE, 2004.
[45]
"Cache coherent interconnect for accelerators (ccix)." http://www.ccixconsortium.com, 2016.
[46]
"mmap." https://en.wikipedia.org/wiki/Mmap.
[47]
Intel, "Write combining memory implementation guidelines," in Technical Report 244422-001, Intel Corporation, 1998.
[48]
"Intel 64 and ia-32 architectures software developer's manual." https://software.intel.com/en-us/articles/intel-sdm.
[49]
"Samsung ssd pm963." http://www.samsung.com/semiconductor/global/flle/insight/2016/08/Samsung_PM963-1.pdf.
[50]
K. Bhandari, D. R. Chakrabarti, and H.-J. Boehm, "Implications of cpu caching on byte-addressable non-volatile memory programming," in HP Labs Technical Reports, 2012.
[51]
"Clflush: Flush cache line (x86 instruction set reference)." http://x86.renejeschke.de/html/file_module_x86_id_30.html.
[52]
G. E. Blelloch1, J. T. Fineman, P. B. Gibbons, Y. Gu, and J. Shun, "Efficient algorithms with asymmetric read and write costs," in ESA, pp. 14:1--14:18, 2016.
[53]
X.-Y. Hu, E. Eleftheriou, R. Haas, I. Iliadis, and R. Pletka, "Write amplification analysis in flash-based solid state drives," in ACM SYSTOR, 2009.
[54]
R. Johnson, I. Pandis, R. Stoica, M. Athanassoulis, and A. Ailamaki, "Scalability of write-ahead logging on multicore and multisocket hardware," VLDB Endowment, vol. 21, no. 2, pp. 239--263, 2011.
[55]
M. Stonebraker and G. Kemnitz, "The postgres next generation database management system," Communications of the ACM, vol. 34, no. 10, pp. 78--92, 1991.
[56]
S. Dong, M. Callaghan, L. Galanis, D. Borthakur, T. Savor, and M. Stumm, "Optimizing space amplification in rocksdb," in CIDR, 2017.
[57]
M. Paksula, "Persisting objects in redis key-value database," University of Helsinki, Department of Computer Science, 2010.
[58]
W. Cheong, C. Yoon, S. Woo, K. Han, D. Kim, C. Lee, Y. Choi, S. Kim, D. Kang, G. Yu, J. Kim, J. Park, K.-W. Song, K.-T. Park, S. Cho, H. Oh, D. D. Lee, J.-H. Choi, and J. Jeong, "A flash memory controller for 15us ultra-low-latency ssd using high-speed 3d nand flash with 3us read time," in IEEE ISSCC, pp. 338--339, 2018.
[59]
J. Do, D. Zhang, J. M. Patel, D. J. DeWitt, J. F. Naughton, and A. Halverson, "Turbocharging dbms buffer pool using ssds," in ACM SIGMOD, pp. 1113--1124, 2011.
[60]
T. Horikawa, "Non-volatile memory (nvm) logging," in PGCon, 2016.
[61]
B. Gu, A. S. Yoon, D.-H. Bae, I. Jo, J. Lee, J. Yoon, J.-U. Kang, M. Kwon, C. Yoon, S. Cho, et al., "Biscuit: A framework for near-data processing of big data workloads," in ACM/IEEE ISCA, pp. 153--165, 2016.
[62]
V. Prabhakaran, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau, "Analysis and evolution of journaling file systems," in USENIX ATC, pp. 105--120, 2005.
[63]
M. M. Astrahan, M. W. Blasgen, D. D. Chamberlin, K. P. Eswaran, J. N. Gray, P. P. Griffiths, W. F. King, R. A. Lorie, P. R. McJones, J. W. Mehl, G. R. Putzolu, I. L. Traiger, B. W. Wade, and V. Watson, "System r: Relational approach to database management," ACM TODS, vol. 1, no. 2, pp. 97--137, 1976.
[64]
J. Huang, K. Schwan, and M. K. Qureshi, "Nvram-aware logging in transaction systems," VLDB Endowment, vol. 8, no. 4, pp. 389--400, 2014.
[65]
T. Wang and R. Johnson, "Scalable logging through emerging non-volatile memory," VLDB Endowment, vol. 7, no. 10, pp. 865--876, 2014.
[66]
W.-H. kang, S.-W. Lee, B. Moon, Y.-S. Kee, and M. Oh, "Durable write cache in flash memory ssd for relational and nosql databases," in ACM SIGMOD, pp. 529--540, 2014.
[67]
"Nvme ssd with persistent memory region." https://www.flashmemorysummit.com/English/Collaterals/Proceedings/2017/20170810_FM31_Chanda.pdf.

Cited By

View all
  • (2024)TeRMProceedings of the 22nd USENIX Conference on File and Storage Technologies10.5555/3650697.3650698(1-16)Online publication date: 27-Feb-2024
  • (2024)Fundamental OS Design Considerations for CXL-based Hybrid SSDsProceedings of the 2nd Workshop on Disruptive Memory Systems10.1145/3698783.3699380(51-59)Online publication date: 3-Nov-2024
  • (2024)An LSM Tree Augmented with B+ Tree on Nonvolatile MemoryACM Transactions on Storage10.1145/363347520:1(1-24)Online publication date: 30-Jan-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ISCA '18: Proceedings of the 45th Annual International Symposium on Computer Architecture
June 2018
884 pages
ISBN:9781538659847

Publisher

IEEE Press

Publication History

Published: 02 June 2018

Check for updates

Author Tags

  1. 2B-SSD
  2. WAL
  3. non-volatile memory

Qualifiers

  • Research-article

Conference

ISCA '18

Acceptance Rates

Overall Acceptance Rate 543 of 3,203 submissions, 17%

Upcoming Conference

ISCA '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)29
  • Downloads (Last 6 weeks)5
Reflects downloads up to 30 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)TeRMProceedings of the 22nd USENIX Conference on File and Storage Technologies10.5555/3650697.3650698(1-16)Online publication date: 27-Feb-2024
  • (2024)Fundamental OS Design Considerations for CXL-based Hybrid SSDsProceedings of the 2nd Workshop on Disruptive Memory Systems10.1145/3698783.3699380(51-59)Online publication date: 3-Nov-2024
  • (2024)An LSM Tree Augmented with B+ Tree on Nonvolatile MemoryACM Transactions on Storage10.1145/363347520:1(1-24)Online publication date: 30-Jan-2024
  • (2023)Demystifying CXL Memory with Genuine CXL-Ready Systems and DevicesProceedings of the 56th Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3613424.3614256(105-121)Online publication date: 28-Oct-2023
  • (2023)Efficient Crash Consistency for NVMe over PCIe and RDMAACM Transactions on Storage10.1145/356842819:1(1-35)Online publication date: 11-Jan-2023
  • (2022)Tiered HashingProceedings of the International Conference on Parallel Architectures and Compilation Techniques10.1145/3559009.3569652(211-222)Online publication date: 8-Oct-2022
  • (2022)Hello bytes, bye blocksProceedings of the 14th ACM Workshop on Hot Topics in Storage and File Systems10.1145/3538643.3539745(45-51)Online publication date: 27-Jun-2022
  • (2022)X-SSD: A Storage System with Native Support for Database Logging and ReplicationProceedings of the 2022 International Conference on Management of Data10.1145/3514221.3526188(988-1002)Online publication date: 10-Jun-2022
  • (2022)PipetteProceedings of the 59th ACM/IEEE Design Automation Conference10.1145/3489517.3530467(385-390)Online publication date: 10-Jul-2022
  • (2021)Crash Consistent Non-Volatile Memory ExpressProceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles10.1145/3477132.3483592(132-146)Online publication date: 26-Oct-2021
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media