研究生: |
唐 吉 Dharamjeet |
---|---|
論文名稱: |
基於非揮發性記憶儲存系統壽命提升之高效能 索引管理策略 Efficient Index design to enhance the lifetime of NVM-based Memory and Storage Systems |
指導教授: |
石維寬
Shih, Wei Kuan 張原豪 Chang, Yuan Hao |
口試委員: |
胡敏君
Hu, Min-Chun 陳郁方 Chen, Yu-Fang 梁郁珮 Lian, Yu-Pei |
學位類別: |
博士 Doctor |
系所名稱: |
電機資訊學院 - 社群網路與人智計算國際博士學程 Social Networks and Human-Centered Computing |
論文出版年: | 2022 |
畢業學年度: | 110 |
語文別: | 英文 |
論文頁數: | 76 |
中文關鍵詞: | 貯存 、固態硬盤 、記憶 、貯存 |
外文關鍵詞: | Storage, SSD, memory, storage |
相關次數: | 點閱:2 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
近年來非揮發性記憶體已逐漸成熟,而其良好的特性(如:高儲存密度、低
靜態功耗等)為大數據儲存系統開闢了新的可能性。然而,非揮發性記憶體的
耐久度與傳統記憶體相比十分有限,甚至持續惡化,因此利用磨損平衡技術來
增加非揮發性記憶體的壽命已成為非揮發性存儲系統設計中的一個主要問題。
更糟的是,由於嵌入式系統的資料管理系統通常使用索引方案來維護小數據,
這使得非揮發性記憶體的耐久度問題更加嚴重;也就是說非揮發性記憶體的壽
命在嵌入式系統中很快就會耗盡。因此,許多先前的文獻著重於重新思考基於
非揮發性記憶體的系統上的索引和資料管理方案。而先前多數的研究主要集中
在減少記憶體和儲存裝置中的寫入次數及降低寫入放大問題。不幸的是,僅考
慮寫入次數並無法有效延長非揮發性記憶體的使用壽命,因為這樣的解決方案
無法在設備中均勻分配寫入流量。基於這樣的觀察,本研究為非揮發性記憶體
和固態硬碟系統提出了兩種替代索引方案,分別為waB+tree 以及waLSM-tree。
其中waB+tree 的設計考慮了B+-tree 結構內每個節點的更新頻率,從而將寫入
流量均勻地分散到非揮發性記憶體的單元中。另一方面,waLSM 則考慮LSM 樹
中的每個級別之間的不同數據溫度,進而在整個固態硬碟中均勻擦除所有塊。
根據我們的實驗結果,本研究所提出的索引方案可有效提升裝置的耐久度,進
而延長裝置的壽命
As non-volatile memory (NVM) opens up new possibilities for big data storage
because it has amazing features: Zero-static power consumption and higher
density. However, NVM endurance continues to deteriorate, utilizing wear leveling
(WL) techniques to increase NVM lifetime has become a major issue in the
design of NVM storage systems. Worse still, NVM’s lifespan will wear out soon in
embedded applications because their data management systems usually utilize an
indexing scheme to maintain small data. Therefore, many previous work rethink
the indexing and data management scheme on NVM-based system. The most
previous studies has primarily focused on reducing write count and write amplification
in memory and storage, respectively. Unfortunately, they were unable to
extend the lifetime of NVMs since their solution was unable to distribute write
traffic evenly throughout storage device. Based on such observation, this research
proposes two alternate indexing schemes for NVRAM and SSD systems, named
waB+tree and waLSM-tree, respectively. The waB+tree is designed to consider
the update frequency of each node within the B+-tree structure, so as to evenly
scatter the amount of write traffic to the NVRAM cells. On the other hand,
waLSM is designed to consider the different data temperatures between each level
of the LSM tree, in order to erase all of the blocks evenly throughout the Nand
flash. According to our experiments, the proposed indexing schemes shows the
encouraging results of endurance improvement.
[1] Choi, G., On, B. & Lee, I. Pb+-tree: Pcm-aware b+-tree. IEEE Transactions On Knowledge
And Data Engineering. 27, 2466-2479 (2015)
[2] Nath, S. & Kansal, A. FlashDB: Dynamic self-tuning database for NAND flash. Proceedings
Of The 6th International Conference On Information Processing In Sensor Networks. pp.
410-419 (2007)
[3] Chen, S., Gibbons, P., Nath, S. & Others Rethinking Database Algorithms for Phase
Change Memory.. Cidr. 11 pp. 9-12 (2011)
[4] Arge, L. The buffer tree: A technique for designing batched external data structures.
Algorithmica. 37, 1-24 (2003)
[5] P. Chi, W.-C. Lee, and Y. Xie, “Making B+-tree efficient in PCM-based main memory,”
In Proceedings of the 2014 international symposium on Low power electronics and design
(ISLPED ’14), La Jolla, California, USA, pp. 69-74, August 11 - 13, 2014.
[6] P. Chi, S. Li, Y. Cheng, Yu Lu, S. H. Kang and Y. Xie, “Architecture design with STTRAM:
Opportunities and challenges,” 2016 21st Asia and South Pacific Design Automation
Conference (ASP-DAC), Macau, 2016, pp. 109-114.
[7] J. S. Meena, S. M. Sze, U. Chand, and T.-Y. Tseng, “Overview of emerging nonvolatile
memory technologies. Nanoscale research letters”, vol. 9, no. 526, 2014.
[8] H. -. P. Wong, S. Raoux, S. Kim, J. Liang, J. P. Reifenberg, B. Rajendran, M. Asheghi,
and K. E. Goodson, “Phase Change Memory,” in Proceedings of the IEEE, vol. 98, no. 12,
pp. 2201-2227, Dec. 2010.
69
[9] T. Chen, Y. Chang, S. Chen, C. Kuo, M. Yang, H. Wei, and W. Shih, “wrJFS: A Write-
Reduction Journaling File System for Byte-addressable NVRAM,” in IEEE Transactions
on Computers, vol. 67, no. 7, pp. 1023-1038, 1 July 2018.
[10] J. Kim, C. Min and Y. I. Eom, “Reducing excessive journaling overhead with small-sized
NVRAM for mobile devices,” in IEEE Transactions on Consumer Electronics, vol. 60, no.
2, pp. 217-224, May 2014.
[11] D. B. Dgien, P. M. Palangappa, N. A. Hunter, J. Li and K. Mohanram, ”Compression
architecture for bit-write reduction in non-volatile memory technologies,” 2014 IEEE/ACM
International Symposium on Nanoscale Architectures (NANOARCH), Paris, 2014, pp. 51-
56.
[12] Y. Li, H. Xu, R. Melhem, and A. K. Jones. “Space Oblivious Compression: Power Reduction
for Non-Volatile Main Memories,” In Proceedings of the 25th edition on Great Lakes
Symposium on VLSI (GLSVLSI ’15), pp. 217-220, Pittsburgh, Pennsylvania, USA, May 20
- 22, 2015.
[13] H. V. Jagadish, B. C. Ooi, K.-L. Tan, C. Yu, and R. Zhang, “iDistance: An adaptive B+-
tree based indexing method for nearest neighbor search”, ACM Transactions on Database
Systems (TODS), vol. 30, no. 2, pp. 364-397, June 2005.
[14] A. Mathur, M. Cao, S. Bhattacharya, A. Dilger, A. Tomas, and L. Vivier, “The new ext4
filesystem: current status and future plans,” In Proceedings of the Linux Symposium, vol.
2, pages 21–33, 2007.
[15] O. Rodeh, J. Bacik, and C. Mason, “BTRFS: The Linux B-Tree Filesystem”, ACM Transactions
on Storage (TOS), vol. 9, issue 3, no. 9, , August 2013.
[16] S. Chen and Q. Jin, “Persistent B+-trees in non-volatile main memory”, Proceedings of
the VLDB Endowment, vol. 8, issue 7, pp. 786-797, February 2015.
[17] G. S. Choi, B. On and I. Lee, “PB+-Tree: PCM-Aware B+-Tree,” in IEEE Transactions
on Knowledge and Data Engineering, vol. 27, no. 9, pp. 2466-2479, 1 Sept. 2015.
[18] L. Li, P. Jin, C. Yang, Z. Wu, and L. Yue, “Optimizing B+-tree for PCM-based Hybrid
Memory. In EDBT, pages 662–663, 2016.
70
[19] L. Li, P. Jin, C. Yang and L. Yue, “Efficient Tree Indexing for PCM-Based Memory Systems,”
2015 8th International Conference on Control and Automation (CA), Jeju, 2015,
pp. 46-53.
[20] W. Hu, G. Li, J. Ni, D. Sun and K. Tan, ”Bp - Tree : A Predictive B+ - Tree for Reducing
Writes on Phase Change Memory,” in IEEE Transactions on Knowledge and Data
Engineering, vol. 26, no. 10, pp. 2368-2381, Oct. 2014.
[21] S. Chen, P. B. Gibbons, and S. Nath, “Rethinking Database Algorithms for Phase Change
Memory”, In CIDR’11: 5th Biennial Conference on Innovative Data Systems Research,
January 2011.
[22] B. F. Cooper, A. Silberstein, E. Tam, R. Ramakrishnan, and R. Sears, “Benchmarking
cloud serving systems with YCSB”, In Proceedings of the 1st ACM symposium on Cloud
computing (SoCC ’10), June 2010.
[23] Y. Liang, T. Chen, Y. Chang, S. Chen, H. Wei and W. Shih, “B*-sort: Enabling Writeonce
Sorting for Non-volatile Memory,” in IEEE Transactions on Computer-Aided Design
of Integrated Circuits and Systems (TCAD), early access.
[24] Y. Liang, T. Chen, Y. Chang, S. Chen, K. Lam, W. Li, and W. Shih, “B*-sort: Enabling
Write-once Sorting for Non-volatile Memory,” in ACM Trans. Embed. Comput. Syst. 18,
5s, Article 66 (October 2019), 20 pages.
[25] A. Lakshman and P. Malik, “Cassandra: structured storage system on a P2P network,” in
Proceedings of the 28th ACM symposium on Principles of distributed computing (PODC
’09), August 2009.
[26] M. Yang, Y. Chang, and C. Tsao, “Byte-addressable update scheme to minimize the energy
consumption of pcm-based storage systems.” in ACM Trans. Embed. Comput. Syst.,
15(3):55:1–55:20, June 2016.
[27] S. Fong, C. Neumann and H. Wong, “Phase-Change Memory—Towards a Storage-Class
Memory,” in IEEE Transactions on Electron Devices, vol. 64, no. 11, pp. 4374-4385, Nov.
2017.
71
[28] P. Chi, C. Xu, T. Zhang, X. Dong, and Y. Xie, “Using multi-level cell STT-RAM for fast
and energy-efficient local checkpointing,” in 2014 IEEE/ACM International Conference on
Computer-Aided Design (ICCAD), Nov. 2014.
[29] Facebook. RocksDB. https://github.com/facebook/rocksdb/, 2019.
[30] Apalkov, D., Khvalkovskiy, A., Watts, S., Nikitin, V., Tang, X., Lottis, D., Moon, K., Luo,
X., Chen, E., Ong, A. & Others Spin-transfer torque magnetic random access memory
(STT-MRAM). ACM Journal On Emerging Technologies In Computing Systems (JETC).
9, 1-35 (2013).
[31] Burr, G., Breitwisch, M., Franceschini, M., Garetto, D., Gopalakrishnan, K., Jackson, B.,
Kurdi, B., Lam, C., Lastras, L., Padilla, A. & Others Phase change memory technology.
Journal Of Vacuum Science & Technology B, Nanotechnology And Microelectronics: Materials,
Processing, Measurement, And Phenomena. 28, 223-262 (2010).
[32] Chang, F., Dean, J., Ghemawat, S., Hsieh, W., Wallach, D., Burrows, M., Chandra, T.,
Fikes, A. & Gruber, R. Bigtable: A distributed storage system for structured data. ACM
Transactions On Computer Systems (TOCS). 26, 1-26 (2008)
[33] DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A.,
Sivasubramanian, S., Vosshall, P. & Vogels, W. Dynamo: Amazon’s highly available keyvalue
store. ACM SIGOPS Operating Systems Review. 41, 205-220 (2007)
[34] Sumbaly, R., Kreps, J., Gao, L., Feinberg, A., Soman, C. & Shah, S. Serving large-scale
batch computed data with project Voldemort.. FAST. 12 pp. 18-18 (2012)
[35] Beaver, D., Kumar, S., Li, H., Sobel, J., Vajgel, P. & Others Finding a Needle in Haystack:
Facebook’s Photo Storage.. OSDI. 10, 1-8 (2010)
[36] Qureshi, M., Karidis, J., Franceschini, M., Srinivasan, V., Lastras, L. & Abali, B. Enhancing
lifetime and security of PCM-based main memory with start-gap wear leveling. 2009 42nd
Annual IEEE/ACM International Symposium On Microarchitecture (MICRO). pp. 14-23
(2009)
[37] Lee, B., Ipek, E., Mutlu, O. & Burger, D. Architecting phase change memory as a scalable
dram alternative. Proceedings Of The 36th Annual International Symposium On Computer
Architecture. pp. 2-13 (2009)
72
[38] Cattell, R. Scalable SQL and NoSQL data stores. Acm Sigmod Record. 39, 12-27 (2011)
[39] Stonebraker, M. SQL databases v. NoSQL databases. Communications Of The ACM. 53,
10-11 (2010)
[40] Leavitt, N. Will NoSQL databases live up to their promise?. Computer. 43, 12-14 (2010)
[41] O’Neil, P., Cheng, E., Gawlick, D. & O’Neil, E. The log-structured merge-tree (LSM-tree).
Acta Informatica. 33, 351-385 (1996)
[42] Ghemawat, S. & Dean, J. LevelDB, A fast and lightweight key/value database library by
Google.(2012). Retrieved June. 20 pp. 2015 (2012)
[43] Cassandra, A. Apache Cassandra Documentation v3. 2. (2017)
[44] Cao, Z., Dong, S., Vemuri, S. & Du, D. Characterizing, modeling, and benchmarking
rocksdb key-value workloads at facebook. 18th USENIX Conference On File And Storage
Technologies (FAST 20). pp. 209-223 (2020)
[45] Vohra, D. Apache HBase Primer. (Springer,2016)
[46] Cooper, B., Ramakrishnan, R., Srivastava, U., Silberstein, A., Bohannon, P., Jacobsen,
H., Puz, N., Weaver, D. & Yerneni, R. PNUTS: Yahoo!’s hosted data serving platform.
Proceedings Of The VLDB Endowment. 1, 1277-1288 (2008)
[47] Wang, P., Sun, G., Jiang, S., Ouyang, J., Lin, S., Zhang, C. & Cong, J. An efficient design
and implementation of LSM-tree based key-value store on open-channel SSD. Proceedings
Of The Ninth European Conference On Computer Systems. pp. 1-14 (2014)
[48] Zhang, J., Lu, Y., Shu, J. & Qin, X. Flashkv: Accelerating kv performance with openchannel
ssds. ACM Transactions On Embedded Computing Systems (TECS). 16, 1-19
(2017)
[49] Shen, Z., Chen, F., Jia, Y. & Shao, Z. Optimizing flash-based key-value cache systems. 8th
USENIX Workshop On Hot Topics In Storage And File Systems (HotStorage 16). (2016)
[50] Wu, S., Lin, K. & Chang, L. KVSSD: Close integration of LSM trees and flash translation
layer for write-efficient KV store. 2018 Design, Automation & Test In Europe Conference
& Exhibition (DATE). pp. 563-568 (2018)
73
[51] Wu, X., Xu, Y., Shao, Z. & Jiang, S. LSM-trie: An LSM-tree-based ultra-large key-value
store for small data items. 2015 USENIX Annual Technical Conference (USENIXATC 15).
pp. 71-82 (2015)
[52] Yao, T., Wan, J., Huang, P., He, X., Wu, F. & Xie, C. Building efficient key-value stores
via a lightweight compaction tree. ACM Transactions On Storage (TOS). 13, 1-28 (2017)
[53] Matsunobu, Y., Dong, S. & Lee, H. MyRocks: LSM-tree database storage engine serving
Facebook’s social graph. Proceedings Of The VLDB Endowment. 13, 3217-3230 (2020)
[54] Moraru, I., Andersen, D., Kaminsky, M., Tolia, N., Ranganathan, P. & Binkert, N. Consistent,
durable, and safe memory management for byte-addressable non volatile main memory.
Proceedings Of The First ACM SIGOPS Conference On Timely Results In Operating
Systems. pp. 1-17 (2013)
[55] Chi, P., Lee, W. & Xie, Y. Making B+-tree efficient in PCM-based main memory. Proceedings
Of The 2014 International Symposium On Low Power Electronics And Design. pp.
69-74 (2014)
[56] Choi, G., On, B. & Lee, I. Pb+-tree: Pcm-aware b+-tree. IEEE Transactions On Knowledge
And Data Engineering. 27, 2466-2479 (2015)
[57] Li, L., Jin, P., Yang, C., Wu, Z. & Yue, L. Optimizing B+-Tree for PCM-Based Hybrid
Memory.. EDBT. pp. 662-663 (2016)
[58] Li, L., Jin, P., Yang, C. & Yue, L. Efficient Tree Indexing for PCM-Based Memory Systems.
2015 8th International Conference On Control And Automation (CA). pp. 46-53 (2015)
[59] Gupta, A., Pisolkar, R., Urgaonkar, B. & Sivasubramaniam, A. Leveraging Value Locality
in Optimizing NAND Flash-based SSDs.. FAST. pp. 91-103 (2011)
[60] Chen, F., Luo, T. & Zhang, X. CAFTL: A Content-Aware Flash Translation Layer Enhancing
the Lifespan of Flash Memory based Solid State Drives.. FAST. 11 pp. 77-90
(2011)
[61] Agrawal, N., Prabhakaran, V., Wobber, T., Davis, J., Manasse, M. & Panigrahy, R. Design
tradeoffs for SSD performance.. USENIX Annual Technical Conference. 57 (2008)
74
[62] Chen, H., Ruan, C., Li, C., Ma, X. & Xu, Y. SpanDB: A Fast, Cost-Effective LSMtree
Based KV Store on Hybrid Storage. 19th USENIX Conference On File And Storage
Technologies (FAST 21). pp. 17-32 (2021)
[63] Electronics, S. Samsung Introduces World’s Largest Capacity (15.36TB) SSD for
Enterprise Storage Systems.(https://news.samsung.com/global/samsung-now-introducingworlds-
largest-capacity-15-36tb-ssd-for-enterprise-storage-systems./,2016), [Online; accessed
19-July-2008]
[64] Electronics, S. 960PRO SSD Specification.(https://news.samsung.com/global/samsungnow-
introducing-worlds-largest-capacity-15-36tb-ssd-for-enterprise-storagesystems./,
2019), [Online; accessed 19-July-2008]
[65] Atikoglu, B., Xu, Y., Frachtenberg, E., Jiang, S. & Paleczny, M. Workload analysis
of a large-scale key-value store. Proceedings Of The 12th ACM SIGMETRICS/
PERFORMANCE Joint International Conference On Measurement And Modeling
Of Computer Systems. pp. 53-64 (2012)
[66] Cooper, B., Silberstein, A., Tam, E., Ramakrishnan, R. & Sears, R. Benchmarking cloud
serving systems with YCSB. Proceedings Of The 1st ACM Symposium On Cloud Computing.
pp. 143-154 (2010)
[67] Armstrong, T., Ponnekanti, V., Borthakur, D. & Callaghan, M. LinkBench: a database
benchmark based on the Facebook social graph. Proceedings Of The 2013 ACM SIGMOD
International Conference On Management Of Data. pp. 1185-1196 (2013)
[68] Wang, P., Sun, G., Jiang, S., Ouyang, J., Lin, S., Zhang, C. & Cong, J. An efficient design
and implementation of LSM-tree based key-value store on open-channel SSD. Proceedings
Of The Ninth European Conference On Computer Systems. pp. 1-14 (2014)
[69] Zhang, J., Lu, Y., Shu, J. & Qin, X. Flashkv: Accelerating kv performance with openchannel
ssds. ACM Transactions On Embedded Computing Systems (TECS). 16, 1-19
(2017)
[70] Wu, S., Lin, K. & Chang, L. KVSSD: Close integration of LSM trees and flash translation
layer for write-efficient KV store. 2018 Design, Automation & Test In Europe Conference
& Exhibition (DATE). pp. 563-568 (2018)
75
[71] Wu, X., Xu, Y., Shao, Z. & Jiang, S. LSM-trie: An LSM-tree-based ultra-large key-value
store for small data items. 2015 USENIX Annual Technical Conference (USENIXATC 15).
pp. 71-82 (2015)
[72] Yao, T., Wan, J., Huang, P., He, X., Wu, F. & Xie, C. Building efficient key-value stores
via a lightweight compaction tree. ACM Transactions On Storage (TOS). 13, 1-28 (2017)
[73] Conway, A., Gupta, A., Chidambaram, V., Farach-Colton, M., Spillane, R., Tai, A. & Johnson,
R. SplinterDB: Closing the bandwidth gap for nvme key-value stores. 2020 USENIX
Annual Technical Conference (USENIXATC 20). pp. 49-63 (2020)
[74] Chen, G., Wiener, J., Iyer, S., Jaiswal, A., Lei, R., Simha, N., Wang, W., Wilfong, K.,
Williamson, T. & Yilmaz, S. Realtime data processing at facebook. Proceedings Of The
2016 International Conference On Management Of Data. pp. 1087-1098 (2016)
76