2014 · 43 citations · 43 references
EngineeringComputer EngineeringComputer ScienceFault ToleranceFault-tolerant ComputingStorage SystemsCachingError DetectionMemory Hierarchy DesignMemory Subsystem DesignReliable Storage SystemsSolid-state StorageCache OptimizationEmbedded Storage SystemsNon-volatile MemorySystem ReliabilitySystem Reliability Analysis
The ever-growing capacity and continuously-dropping price have enabled flash-based MLC SSDs to be widely deployed as large non-volatile cache for storage systems. As MLC SSDs become increasingly denser and larger-capacity, more complex and complicated Error Correction Code (ECC) schemes are required to fight against the decreasing raw reliability associated with shrinking cells. However, sophisticated ECCs could impose excessive overhead on page decoding latency and thus hurt performance. In fact, we could avoid employing expensive ECC schemes inside SSDs which are utilized at the cache layer. We propose FlexECC, a specifically designed MLC SSD architecture for the purpose of better cache performance without compromising system reliability and consistency. With the help of an upper-layer cache manager classifying and passing down block access hints, FlexECC chooses to apply either regular ECC or lightweight Error Detection Code (EDC) for blocks. To reduce performance penalty caused by retrieving backend copies for corrupted blocks from the next-level store, FlexECC periodically schedules a scrubbing process to verify the integrity of blocks protected by EDC and replenish corrupted ones into the cache in advance. Experimental results of a proof-of-concept FlexECC implementation show that compared to SSDs armed with regular ECC schemes, FlexECC improves cache performance by up to 30.8% for representative workloads and 63.5% for read-intensive workloads due to reduced read latency and garbage collection overhead. In addition, FlexECC also retains its performance advantages even under various faulty conditions without sacrificing system resiliency.
43
Design tradeoffs for SSD performance
Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber et al. · 2008 · 886 citations
Laura M. Grupp, Adrian M. Caulfield, Joel Coburn et al. · 2009 · 429 citations
Migrating server storage to SSDs
Dushyanth Narayanan, Eno Thereska, Austin Donnelly et al. · 2009 · 368 citations
Bit error rate in NAND Flash memories
Neal Mielke, Todd A. Marquart, Ning Wu et al. · 2008 · 358 citations