[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1109/MICRO.2010.33acmconferencesArticle/Chapter ViewAbstractPublication PagesmicroConference Proceedingsconference-collections
Article

Moneta: A High-Performance Storage Array Architecture for Next-Generation, Non-volatile Memories

Published: 04 December 2010 Publication History

Abstract

Emerging non-volatile memory technologies such as phase change memory (PCM) promise to increase storage system performance by a wide margin relative to both conventional disks and flash-based SSDs. Realizing this potential will require significant changes to the way systems interact with storage devices as well as a rethinking of the storage devices themselves. This paper describes the architecture of a prototype PCIe-attached storage array built from emulated PCM storage called Moneta. Moneta provides a carefully designed hardware/software interface that makes issuing and completing accesses atomic. The atomic management interface, combined with hardware scheduling optimizations, and an optimized storage stack increases performance for small, random accesses by 18x and reduces software overheads by 60%. Moneta array sustain 2.8~GB/s for sequential transfers and 541K random 4~KB~IO operations per second (8x higher than a state-of-the-art flash-based SSD). Moneta can perform a 512-byte write in 9~us (5.6x faster than the SSD). Moneta provides a harmonic mean speedup of 2.1x and a maximum speed up of 9x across a range of file system, paging, and database workloads. We also explore trade-offs in Moneta's architecture between performance, power, memory organization, and memory latency.

References

[1]
"Wd velociraptor: Sata hard drives," http://www.wdc.com/wdproducts/library/SpecSheet/ENG/2879- 701284.pdf.
[2]
"Ibm 3340 disk storage unit," http://www- 03.ibm.com/ibm/history/exhibits/storage/storage_3340.html.
[3]
"Intel x58 express chipset product brief," 2008, http://www.intel.com/products/desktop/chipsets/x58/x58-overview.htm.
[4]
J. He, A. Jagatheesan, S. Gupta, J. Bennett, and A. Snavely, "Dash: a recipe for a flash-based data intensive supercomputer," New York, NY, USA, 2010.
[5]
B. Dieny, R. Sousa, G. Prenat, and U. Ebels, "Spin-dependent phenomena and their implementation in spintronic devices," VLSI Technology, Systems and Applications, 2008. VLSI-TSA 2008. International Symposium on, pp. 70-71, April 2008. {Online}. Available: http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=04530803
[6]
Y. Ho, G. Huang, and P. Li, "Nonvolatile memristor memory: Device characteristics and design implications," in Computer-Aided Design-Digest of Technical Papers, 2009. ICCAD 2009. IEEE/ACM International Conference on, 2-5 2009, pp. 485-490.
[7]
S. Parkin, "Racetrack memory: A storage class memory based on current controlled magnetic domain wall motion," in Device Research Conference, 2009. DRC 2009, 22-24 2009, pp. 3-6.
[8]
T. Rueckes, K. Kim, E. Joselevich, G. Y. Tseng, C.-L. Cheung, and C. M. Lieber, "Carbon Nanotube-Based Nonvolatile Random Access Memory for Molecular Computing," Science, vol. 289, no. 5476, pp. 94-97, 2000. {Online}. Available: http://www.sciencemag.org/cgi/ content/abstract/289/5476/94
[9]
M. J. Breitwisch, "Phase change memory," Interconnect Technology Conference, 2008. IITC 2008. International, pp. 219-221, June 2008. {Online}. Available: http://ieeexplore.ieee.org/xpls/abs_all.jsp? arnumber=04546972
[10]
B. C. Lee, E. Ipek, O. Mutlu, and D. Burger, "Architecting phase change memory as a scalable dram alternative," in ISCA '09: Proceedings of the 36th annual international symposium on Computer architecture. New York, NY, USA: ACM, 2009, pp. 2-13.
[11]
M. K. Qureshi, V. Srinivasan, and J. A. Rivers, "Scalable high performance main memory system using phase-change memory technology," International Symposium on Computer Architecture, June 2009. {Online}. Available: http://users.ece.utexas.edu/~qk/papers/pcm. pdf
[12]
G. Dhiman, R. Ayoub, and T. Rosing, "Pdram: a hybrid pram and dram main memory system," in DAC '09: Proceedings of the 46th Annual Design Automation Conference. New York, NY, USA: ACM, 2009, pp. 664-469.
[13]
P. Zhou, B. Zhao, J. Yang, and Y. Zhang, "A durable and energy efficient main memory using phase change memory technology," in ISCA '09: Proceedings of the 36th annual international symposium on Computer architecture. New York, NY, USA: ACM, 2009, pp. 14-23.
[14]
S. Cho and H. Lee, "Flip-n-write: a simple deterministic technique to improve pram write performance, energy and endurance," in MICRO 42: Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture. New York, NY, USA: ACM, 2009, pp. 347-357.
[15]
M. K. Qureshi, J. Karidis, M. Franceschini, V. Srinivasan, L. Lastras, and B. Abali, "Enhancing lifetime and security of pcm-based main memory with start-gap wear leveling," in MICRO 42: Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture. New York, NY, USA: ACM, 2009, pp. 14-23.
[16]
A. Huffman and J. Clark, "Serial ata native command queuing."
[17]
"The ramp project," http://ramp.eecs.berkeley.edu/index.php?index.
[18]
"Xdd version 6.5," http://www.ioperformance.com/.
[19]
Elpida, "Elpida ddr2 sdram ede1104afse datasheet," 2008, http://www.elpida.com/pdfs/E1390E30.pdf.
[20]
Intel, "Intel system controller hub datasheet," April 2008, http:// download.intel.com/design/chipsets/embedded/datashts/319537.pdf.
[21]
S. Li, J. H. Ahn, R. D. Strong, J. B. Brockman, D. M. Tullsen, and N. P. Jouppi, "McPAT: An Integrated Power, Area, and Timing Modeling Framework for Multicore and Manycore Architectures," in MICRO 42: Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture, 2009, pp. 469-480.
[22]
S. Thoziyoor, N. Muralimanohar, J. H. Ahn, and N. P. Jouppi, "Cacti 5.1," HP Labs, Palo Alto, Tech. Rep. HPL-2008-20, 2008. {Online}. Available: http://www.hpl.hp.com/techreports/2008/HPL-2008-20.html
[23]
[24]
S. G. International, "Xfs: A high-performance journaling filesystem," http://oss.sgi.com/projects/xfs.
[25]
Y. J. Nam and C. Park, "Design and evaluation of an efficient proportional-share disk scheduling algorithm," Future Gener. Comput. Syst., vol. 22, no. 5, pp. 601-610, 2006.
[26]
A. Thomasian and C. Liu, "Disk scheduling policies with lookahead," SIGMETRICS Perform. Eval. Rev., vol. 30, no. 2, pp. 31-40, 2002.
[27]
B. L. Worthington, G. R. Ganger, and Y. N. Patt, "Scheduling algorithms for modern disk drives," in SIGMETRICS '94: Proceedings of the 1994 ACM SIGMETRICS conference on Measurement and modeling of computer systems. New York, NY, USA: ACM, 1994, pp. 241-251.
[28]
M. Seltzer, P. Chen, and J. Ousterhout, "Disk scheduling revisited," in Proceedings of the 1990 Winter Usenix, 1990, pp. 313-324.
[29]
T. J. Teorey and T. B. Pinkerton, "A comparative analysis of disk scheduling policies," Commun. ACM, vol. 15, no. 3, pp. 177-184, 1972.
[30]
P. J. Shenoy and H. M. Vin, "Cello: a disk scheduling framework for next generation operating systems," SIGMETRICS Perform. Eval. Rev., vol. 26, no. 1, pp. 44-55, 1998.
[31]
S. W. Ng, "Improving disk performance via latency reduction," IEEE Trans. Comput., vol. 40, no. 1, pp. 22-30, 1991.
[32]
J. Kim, Y. Oh, E. Kim, J. Choi, D. Lee, and S. H. Noh, "Disk schedulers for solid state drivers," in EMSOFT '09: Proceedings of the seventh ACM international conference on Embedded software. New York, NY, USA: ACM, 2009, pp. 295-304.
[33]
M. Dunn and A. L. N. Reddy, "A new i/o scheduler for solid state devices," Department of Electrical and Computer Engineering Texas A&M University, Tech. Rep. TAMU-ECE-2009-02-3, 2009.
[34]
Y.-B. Chang and L.-P. Chang, "A self-balancing striping scheme for nand-flash storage systems," in SAC '08: Proceedings of the 2008 ACM symposium on Applied computing. New York, NY, USA: ACM, 2008, pp. 1715-1719.
[35]
E. Seppanen, M. T. OKeefe, and D. J. Lilja, "High performance solid state storage under linux," in Proceedings of the 30th IEEE Symposium on Mass Storage Systems, 2010.
[36]
E. Lee, K. Koh, H. Choi, and H. Bahn, "Comparison of i/o scheduling algorithms for high parallelism mems-based storage devices," in SEPADS'09: Proceedings of the 8th WSEAS International Conference on Software engineering, parallel and distributed systems. Stevens Point, Wisconsin, USA: World Scientific and Engineering Academy and Society (WSEAS), 2009, pp. 150-155.
[37]
H. Bahn, S. Lee, and S. H. Noh, "P/pa-sptf: Parallelism-aware request scheduling algorithms for mems-based storage devices," Trans. Storage, vol. 5, no. 1, pp. 1-17, 2009.
[38]
S. W. Schlosser, J. L. Griffin, D. F. Nagle, and G. R. Ganger, "Designing computer systems with mems-based storage," SIGOPS Oper. Syst. Rev., vol. 34, no. 5, pp. 1-12, 2000.
[39]
M. Uysal, A. Merchant, and G. A. Alvarez, "Using mems-based storage in disk arrays," in FAST '03: Proceedings of the 2nd USENIX Conference on File and Storage Technologies. Berkeley, CA, USA: USENIX Association, 2003, pp. 89-101.
[40]
I. Dramaliev and T. Madhyastha, "Optimizing probe-based storage," in FAST '03: Proceedings of the 2nd USENIX Conference on File and Storage Technologies. Berkeley, CA, USA: USENIX Association, 2003, pp. 103-114.
[41]
K. El Maghraoui, G. Kandiraju, J. Jann, and P. Pattnaik, "Modeling and simulating flash based solid-state disks for operating systems," in WOSP/SIPEW '10: Proceedings of the first joint WOSP/SIPEW international conference on Performance engineering. New York, NY, USA: ACM, 2010, pp. 15-26.
[42]
C. Dirik and B. Jacob, "The performance of pc solid-state disks (ssds) as a function of bandwidth, concurrency, device architecture, and system organization," in ISCA '09: Proceedings of the 36th annual international symposium on Computer architecture. New York, NY, USA: ACM, 2009, pp. 279-289.
[43]
F. Chen, D. A. Koufaty, and X. Zhang, "Understanding intrinsic characteristics and system implications of flash memory based solid state drives," in SIGMETRICS '09: Proceedings of the eleventh international joint conference on Measurement and modeling of computer systems. New York, NY, USA: ACM, 2009, pp. 181-192.
[44]
D. Narayanan, E. Thereska, A. Donnelly, S. Elnikety, and A. Rowstron, "Migrating server storage to ssds: analysis of tradeoffs," in EuroSys '09: Proceedings of the 4th ACM European conference on Computer systems. New York, NY, USA: ACM, 2009, pp. 145-158.
[45]
S.-W. Lee, B. Moon, C. Park, J.-M. Kim, and S.-W. Kim, "A case for flash memory ssd in enterprise database applications," in SIGMOD '08: Proceedings of the 2008 ACM SIGMOD international conference on Management of data. New York, NY, USA: ACM, 2008, pp. 1075- 1086.
[46]
S. Chen, "Flashlogging: exploiting flash devices for synchronous logging performance," in SIGMOD '09: Proceedings of the 35th SIGMOD international conference on Management of data. New York, NY, USA: ACM, 2009, pp. 73-86.
[47]
D. G. Andersen, J. Franklin, M. Kaminsky, A. Phanishayee, L. Tan, and V. Vasudevan, "Fawn: a fast array of wimpy nodes," in SOSP '09: Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles. New York, NY, USA: ACM, 2009, pp. 1-14.
[48]
G. Ganger, B. Worthington, and Y. Patt, "Disksim," http://www.pdl.cmu.edu/DiskSim/.
[49]
C. Ruemmler and J. Wilkes, "An introduction to disk drive modeling," Computer, vol. 27, no. 3, pp. 17-28, 1994.
[50]
J. L. Griffin, J. Schindler, S. W. Schlosser, J. C. Bucy, and G. R. Ganger, "Timing-accurate storage emulation," in FAST '02: Proceedings of the 1st USENIX Conference on File and Storage Technologies. Berkeley, CA, USA: USENIX Association, 2002, p. 6.
[51]
D. Kotz, S. B. Toh, and S. Radhakrishnan, "A detailed simulation model of the hp 97560 disk drive," Dartmouth College, Hanover, NH, USA, Tech. Rep., 1994.
[52]
J. D. Davis and L. Zhang, "Frp: A nonvolatile memory research platform targeting nand flash," in Proceedings of First Workshop on Integrating Solid-State Memory in the Storage Hierarchy, 2009.
[53]
S. Lee, K. Fleming, J. Park, K. Ha, A. M. Caulfield, S. Swanson, Arvind, and J. Kim, "Bluessd: An open platform for cross-layer experiments for nand flash-based ssds," in Proceedings of The 5th Workshop on Architectural Research Prototyping, 2010.
[54]
L. M. Grupp, A. M. Caulfield, J. Coburn, J. Davis, and S. Swanson, "Beyond the datasheet: Using test beds to probe non-volatile memories' dark secrets," in To appear: IEEE Globecom 2010 Workshop on Application of Communication Theory to Emerging Memory Technologies (ACTEMT 2010), 2010.

Cited By

View all
  • (2024)Improving Virtualized I/O Performance by Expanding the Polled I/O Path of LinuxProceedings of the 16th ACM Workshop on Hot Topics in Storage and File Systems10.1145/3655038.3665944(31-37)Online publication date: 8-Jul-2024
  • (2023)The Open-source DeLiBA2 Hardware/Software Framework for Distributed Storage AcceleratorsACM Transactions on Reconfigurable Technology and Systems10.1145/362448217:2(1-32)Online publication date: 14-Sep-2023
  • (2022)FlexHM: A Practical System for Heterogeneous Memory with Flexible and Efficient Performance OptimizationsACM Transactions on Architecture and Code Optimization10.1145/356588520:1(1-26)Online publication date: 16-Dec-2022
  • Show More Cited By

Index Terms

  1. Moneta: A High-Performance Storage Array Architecture for Next-Generation, Non-volatile Memories

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      MICRO '43: Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture
      December 2010
      542 pages
      ISBN:9780769542997

      Sponsors

      Publisher

      IEEE Computer Society

      United States

      Publication History

      Published: 04 December 2010

      Check for updates

      Author Tags

      1. non-volatile memories
      2. phase change memories
      3. software IO optimizations
      4. storage systems

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate 484 of 2,242 submissions, 22%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)4
      • Downloads (Last 6 weeks)2
      Reflects downloads up to 14 Jan 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Improving Virtualized I/O Performance by Expanding the Polled I/O Path of LinuxProceedings of the 16th ACM Workshop on Hot Topics in Storage and File Systems10.1145/3655038.3665944(31-37)Online publication date: 8-Jul-2024
      • (2023)The Open-source DeLiBA2 Hardware/Software Framework for Distributed Storage AcceleratorsACM Transactions on Reconfigurable Technology and Systems10.1145/362448217:2(1-32)Online publication date: 14-Sep-2023
      • (2022)FlexHM: A Practical System for Heterogeneous Memory with Flexible and Efficient Performance OptimizationsACM Transactions on Architecture and Code Optimization10.1145/356588520:1(1-26)Online publication date: 16-Dec-2022
      • (2022)When poll is more energy efficient than interruptProceedings of the 14th ACM Workshop on Hot Topics in Storage and File Systems10.1145/3538643.3539747(59-64)Online publication date: 27-Jun-2022
      • (2022)Towards low-latency I/O services for mixed workloads using ultra-low latency SSDsProceedings of the 36th ACM International Conference on Supercomputing10.1145/3524059.3532378(1-12)Online publication date: 28-Jun-2022
      • (2022)Efficient hybrid polling for ultra-low latency storage devicesJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2021.102338122:COnline publication date: 1-Jan-2022
      • (2021)Extending the lifetime of NVMProceedings of the VLDB Endowment10.14778/3476311.347640614:12(3194-3197)Online publication date: 28-Oct-2021
      • (2021)NDS: N-Dimensional StorageMICRO-54: 54th Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3466752.3480122(28-45)Online publication date: 18-Oct-2021
      • (2021)Twizzler: A Data-centric OS for Non-volatile MemoryACM Transactions on Storage10.1145/345412917:2(1-31)Online publication date: 8-Jun-2021
      • (2021)Frequent background polling on a shared thread, using light-weight compiler interruptsProceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3453483.3454107(1249-1263)Online publication date: 19-Jun-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