|
|
A high-performance and endurable SSD cache for parity-based RAID |
Chu LI, Dan FENG( ), Yu HUA, Fang WANG |
Wuhan National Lab for Optoelectronics, Key Laboratory of Information Storage System, (School of Computer Science and Technology, Huazhong University of Science and Technology), Ministry of Education of China,Wuhan 430074, China |
|
|
Abstract Solid-state drives (SSDs) have been widely used as caching tier for disk-based RAID systems to speed up dataintensive applications. However, traditional cache schemes fail to effectively boost the parity-based RAID storage systems (e.g., RAID-5/6), which have poor random write performance due to the small-write problem. What’s worse, intensive cache writes can wear out the SSD quickly, which causes performance degradation and cost increment. In this article, we present the design and implementation of KDD, an efficient SSD-based caching system which Keeps Data and Deltas in SSD. When write requests hit in the cache, KDD dispatches the data to the RAID storage without updating the parity blocks to mitigate the small write penalty, and compactly stores the compressed deltas in SSD to reduce the cache write traffic while guaranteeing reliability in case of disk failures. In addition, KDD organizes the metadata partition on SSD as a circular log to make the cache persistent with low overhead.We evaluate the performance of KDD via both simulations and prototype implementations. Experimental results show that KDD effectively reduces the small write penalty while extending the lifetime of the SSD-based cache by up to 6.85 times.
|
Keywords
solid-state drive (SSD)
parity-based RAID
small write problem
write endurance
|
Corresponding Author(s):
Dan FENG
|
Just Accepted Date: 24 July 2017
Online First Date: 13 June 2018
Issue Date: 31 January 2019
|
|
1 |
D APatterson, GGibson, R HKatz. A case for redundant arrays of inexpensive disks (raid). In: Proceedings of ACM SIGMOD International Conference on Management of Data. 1988, 109–116
https://doi.org/10.1145/50202.50214
|
2 |
DStodolsky, GGibson, MHolland. Parity logging overcoming the small write problem in redundant disk arrays. In: Proceedings of Annual International Symposium on Computer Architecture. 1993, 64–75
|
3 |
QYang, JRen. I-CASH: intelligently coupled array of SSD and HDD. In: Proceedings of the 17th IEEE International Symposium on High Performance Computer Architecture. 2011, 278–289
https://doi.org/10.1109/HPCA.2011.5749736
|
4 |
MSaxena, M MSwift, Y YZhang. Flashtier: a lightweight, consistent and durable storage cache. In: Proceedings of ACM European Conference on Computer Systems. 2012, 267–280
https://doi.org/10.1145/2168836.2168863
|
5 |
R SLiu, C LYang, C HLi, G Y Chen. Duracache: a durable SSD cache using MLC NAND flash. In: Proceedings of the 50th Annual Design Automation Conference. 2013
https://doi.org/10.1145/2463209.2488939
|
6 |
CLi, DFeng, YHua, F Wang. Improving raid performance using an endurable ssd cache. In: Proceedings of International Conference on Parallel Processing. 2016, 396–405
https://doi.org/10.1109/ICPP.2016.52
|
7 |
BMao, S ZWu. Exploiting request characteristics and internal parallelism to improve SSD performance. In: Proceedings of IEEE International Conference on Computer Design. 2015, 447–450
https://doi.org/10.1109/ICCD.2015.7357145
|
8 |
BMao, S ZWu, L DDuan. Improving the SSD performance by exploiting request characteristics and internal parallelism. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2018, 37(2): 472–484
https://doi.org/10.1109/TCAD.2017.2697961
|
9 |
RMicheloni. Solid-state drive (SSD): a nonvolatile storage system. Proceedings of the IEEE, 2017, 105(4): 583–588
https://doi.org/10.1109/JPROC.2017.2678018
|
10 |
L MGrupp, J DDavis, SSwanson. The bleak future of nand flash memory. In: Proceedings of USENIX Conference on File and Storage Technologies. 2012, 17–24
|
11 |
RKoller, LMarmol, RRangaswami, SSundararaman, M Talagala, Zhao. Write policies for host-side flash caches. In: Proceedings of USENIX conference on File and Storage Technologies. 2013, 45–58
|
12 |
ELee, YOh, DLee. SSD caching to overcome small write problem of disk-based raid in enterprise environments. In: Proceedings of Annual ACM Symposium on Applied Computing. 2015, 2047–2053
https://doi.org/10.1145/2695664.2695886
|
13 |
FChen, TLuo, XZhang. CAFUL: a content-aware flash translation layer enhancing the lifespan of flash memory based solid state drives. In: Proceedings of USENIX Conference on File and Stroage Technologies. 2011, 77–90
|
14 |
J PYang, N Plasson, GGillis, NTalagala, S Sundararaman, RWood. HEC: improving endurance of high performance flash-based cache devices. In: Proceedings of the 6th International Systems and Storage Conference. 2013
https://doi.org/10.1145/2485732.2485743
|
15 |
W JLi, G Jean-Baptise, JRiveros, GNarasimhan, TZhang, MZhao. CacheDedup: in-line deduplication for flash caching. In: Proceedings of USENIX Conference on File and Storage Technologies. 2016, 301–314
|
16 |
Y PChai, Z HDu, XQin, D A Bader. WEC: improving durability of SSD cache drives by caching write-efficient data. IEEE Transactions on Computers, 2015, 64(11): 3304–3316
https://doi.org/10.1109/TC.2015.2401029
|
17 |
QYang, W JXiao, JRen. Trap-array: a disk array architecture providing timely recovery to any point-in-time. In: Proceedings of Annual International Symposium on Computer Architecture. 2006, 289–301
https://doi.org/10.1145/1150019.1136511
|
18 |
C BMorrey, D Grunwald. Peabody: the time travelling disk. In: Proceedings of Mass Storage Systems and Technologies. 2003, 241–253
https://doi.org/10.1109/MASS.2003.1194861
|
19 |
E JLee, J EJang, HBahn. DTFS: exploiting the similarity of data versions to design a write-efficient file system in phase-change memory. In: Proceedings of Annual ACM Symposium on Applied Computing. 2014, 1535–1540
https://doi.org/10.1145/2554850.2555032
|
20 |
G YWu, X BHe. Delta-FTL: improving SSD lifetime via exploiting content locality. In: Proceedings of ACM European Conference on Computer Systems. 2012, 253–266
https://doi.org/10.1145/2168836.2168862
|
21 |
X BZhang, J PLe, HWang, K Zhao, TZhang. Reducing solid-state storage device write stress through opportunistic in-place delta compression. In: Proceedings of USENIX Conference on File and Storage Technologies. 2016, 111–124
|
22 |
MRosenblum, J K Ousterhout. The design and implementation of a log-structured file system. ACM Transactions on Computer Systems, 1992, 10(1): 26–52
https://doi.org/10.1145/146941.146943
|
23 |
Y MHu, QYang. DCD—disk caching disk: a new approach for boosting I/O performance. In: Proceedings of Annual International Symposium on Computer Architecture. 1996, 169–178
https://doi.org/10.1145/232973.232991
|
24 |
DArteaga, MZhao. Client-side flash caching for cloud systems. In: Proceedings of International Conference on Systems and Storage. 2014
https://doi.org/10.1145/2611354.2611372
|
25 |
D HYoon, N Muralimanohar, J CChang, P,Ranganathan N PJouppi, MErez. Free-p: protecting non-volatile memory against both hard and soft errors. In: Proceedings of IEEE International Symposium on High Performance Computer Architecture. 2011, 466–477
https://doi.org/10.1109/HPCA.2011.5749752
|
26 |
M KQureshi, J Karidis, MFranceschini , VSrinivasan, L Lastras, BAbali. Enhancing lifetime and security of PCM-based main memory with start-gap wear leveling. In: Proceedings of the 42nd IEEE/ACM International Symposium on Microarchitecture. 2009, 14–23
https://doi.org/10.1145/1669112.1669117
|
27 |
MSrinivasan, M Callaghan. Flashcache at facebook. Facebook White Paper, 2010
|
28 |
Application, OLTP I/O. UMass Trace Repository
|
29 |
DNarayanan, A Donnelly, ARowstron. Write off-loading: practical power management for enterprise storage. ACM Transactions on Storage, 2008, 4(3): 10
https://doi.org/10.1145/1416944.1416949
|
30 |
M FOberhumer. Lzo real-time data compression library. 2005
|
31 |
LTian, DFeng, HJiang, K Zhou, L FZeng, J XChen, Z KWang, Z LSong. Pro: a popularity-based multi-threaded reconstruction optimization for raid-structured storage systems. In: Proceedings of USENIX Conference on File and Storage Technologies. 2007, 277–290
|
32 |
JAxboe. Fio- flexible I/O tester synthetic benchmark
|
33 |
D GAndersen, J Franklin, MKaminsky, APhanishayee, LTan, VVasudevan. Fawn: a fast array of wimpy nodes. In: Proceedings of ACM Symposium on Operating Systems Principles. 2009, 1–14
https://doi.org/10.1145/1629575.1629577
|
34 |
CGough, I Steiner, WSaunders. Energy Efficient Servers: Blueprints for Data Center Optimization. New York: Apress Media, 2015
https://doi.org/10.1007/978-1-4302-6638-9
|
35 |
W WHsu, A JSmith. Characteristics of I/O traffic in personal computer and server workloads. IBM Systems Journal, 2003, 42(2): 347–372
https://doi.org/10.1147/sj.422.0347
|
36 |
GSoundararajan, V Prabhakaran, MBalakrishnan, TWobber. Extending SSD lifetimes with disk-based write caches. In: Proceedings of USENIX Conference on File and Storage Technologies. 2010, 101–114
|
37 |
CLi, DFeng, YHua, W Xia, FWang. Gasa: a new page replacement algorithm for nand flash memory. In: Proceedings of IEEE International Conference on Networking, Architecture and Storage. 2016, 1–9
https://doi.org/10.1109/NAS.2016.7549403
|
38 |
QLi, LShi, C JXue, K J Wu, CJi, Q FZhuge, E H MSha. Access characteristic guided read and write cost regulation for performance improvement on flash memory. In: Proceedings of USENIX Conference on File and Storage Technologies. 2016, 125–132
|
39 |
SSavage, JWilkes. Afraid: a frequently redundant array of independent disks. In: Proceedings of USENIX Annual Technical Conference. 1996, 27–39
|
40 |
SIm, DShin. Flash-aware raid techniques for dependable and highperformance flash memory SSD. IEEE Transactions on Coumputers, 2011, 60(1): 80–92
https://doi.org/10.1109/TC.2010.197
|
41 |
C CChung, H HHsu. Partial parity cache and data cache management method to improve the performance of an SSD-based raid. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2013, 22(7): 1470–1480
|
42 |
KMogi, M Kitsuregawa. Hot mirroring: a method of hiding parity update penalty and degradation during rebuilds for raid5. In: Proceedings of ACM SIGMOD International Conference on Management of Data. 1996, 183–194
https://doi.org/10.1145/233269.233331
|
43 |
JWilkes, R Golding, CStaelin, TSullivan. The HP autoraid hierarchical storage system. ACM Transactions on Computer Systems, 1996, 14(1): 108–136
https://doi.org/10.1145/225535.225539
|
44 |
KMogi, M Kitsuregawa. Dynamic parity stripe reorganizations for raid5 disk arrays. In: Proceedings of International Conference on Parallel and Distributed Information Systems. 1994, 17–26
https://doi.org/10.1109/PDIS.1994.331736
|
45 |
SByan, J Lentini, AMadan, LPabón. Mercury: host-side flash caching for the data center. In: Proceedings of Mass Storage Systems and Technologies. 2012, 1–12
https://doi.org/10.1109/MSST.2012.6232368
|
46 |
DQin, A DBrown, AGoel. Reliable writeback for client-side flash caches. In: Proceedings of USENIX Annual Technical Conference. 2014, 451–462
|
47 |
YOh, ELee, CHyun, J Choi, DLee, S HNoh. Enabling cost-effective flash based caching with an array of commodity SSDs. In: Proceedings of Annual Middleware Conference. 2015, 63–74
https://doi.org/10.1145/2814576.2814814
|
48 |
Y,Klonatos TMakatos, MMarazakis, M D Flouris, ABilas. Transparent online storage compression at the block-level. ACM Transactions on Storage, 2012, 8(2): 5
https://doi.org/10.1145/2180905.2180906
|
49 |
CLi, P Shilane, FDouglis, HShim, S Smaldone, GWallace. Nitro: a capacity-optimized ssd cache for primary storage. In: Proceedings of USENIX Annual Technical Conference. 2014, 501–512
|
50 |
TPritchett, M Thottethodi. Sievestore: a highly-selective, ensemblelevel disk cache for cost-performance. In: Proceedings of Annual International Symposium on Computer Architecture. 2010, 163–174
https://doi.org/10.1145/1815961.1815982
|
51 |
SHuang, Q SWei, J XChen, C Chen, DFeng. Improving flash-based disk cache with lazy adaptive replacement. In: Proceedings of Mass Storage Systems and Technologies. 2013, 1–10
https://doi.org/10.1109/MSST.2013.6558447
|
52 |
TKgil , D Roberts, TMudge. Improving nand flash based disk caches. In: Proceedings of Annual International Symposium on Computer Architecture. 2008, 327–338
https://doi.org/10.1109/ISCA.2008.32
|
53 |
YOh, JChoi, DLee, S H Noh. Caching less for better performance: balancing cache size and update cost of flash memory cache in hybrid storage systems. In: Proceedings of USENIX Conference on File and Storage Technologies. 2012, 313–326
|
54 |
JJeong, S SHahn, SLee, J Kim. Lifetime improvement of nand flashbased storage systems using dynamic program and erase scaling. In: Proceedings of USENIX Conference on File and Storage Technologies. 2014, 61–74
|
55 |
S ZWu, Y PLin, BMao, H Jiang. GCaR: garbage collection aware cache management with improved performance for flash-based SSDs. In: Proceedings of International Conference on Supercomputing. 2016
https://doi.org/10.1145/2925426.2926263
|
56 |
S ZWu, BMao, Y PLin, H Jiang. Improving performance for flashbased storage systems through GC-aware cache management. IEEE Transactions on Parallel and Distributed Systems, 2017, 28(10): 2852–2865
https://doi.org/10.1109/TPDS.2017.2692757
|
57 |
CLi, DFeng, YHua, F Wang, C TJiang, WZhou. A log-aware synergized scheme for page-level FTL design. In: Proceedings of Design, Automation Test in Europe Conference Exhibition. 2017, 1080–1085
https://doi.org/10.23919/DATE.2017.7927150
|
58 |
FMargaglia, GYadgar, EYaakobi, Y Li, ASchuster, ABrinkmann. The devil is in the details: implementing flash page reuse with WOM codes. In: Proceedings of USENIX Conference on File and Storage Technologies. 2016, 95–109
|
|
Viewed |
|
|
|
Full text
|
|
|
|
|
Abstract
|
|
|
|
|
Cited |
|
|
|
|
|
Shared |
|
|
|
|
|
Discussed |
|
|
|
|