Top Banner
22/3/25 1/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Ji hong Kim Seoul National University, Korea {chamdoo, taejin1999, jihong}@davinci.snu.ac .kr Samsung Electronics, Korea [email protected]
38

05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

Dec 30, 2015

Download

Documents

Georgiana Owens
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 1/38

Lifetime Management of Flash-Based SSDs UsingRecovery-Aware Dynamic Throttling

Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul National University, Korea{chamdoo, taejin1999, jihong}@davinci.snu.ac.krSamsung Electronics, [email protected]

Page 2: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 2/38

Outline

•Introduction •Endurance Characteristics of FlashMemory •Recovery-Aware Dynamic Throttling•Experimental Results•Related Work•Conclusions

Page 3: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 3/38

Introduction

• NAND flash memory has been widely used in mobile embedded systems likemobile phones,MP3 players,

and laptop computers because of its low-power consumption,high mobility, and high performance.

• the poor write endurance of NAND flash memory is still regarded as a main barrier for a wide adoption of flash-based SSDs in the enterprise market.

• two key problems on the SSD lifetime need to be addressed properly.

Page 4: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 4/38

Introduction • the endurance of flash device is rapidly decreasing : the charge trapping characteristic of a floating-gate transistor. the semiconductor process is scaled down and with multi-level cell (MLC) technology.•the unpredictable lifetime of flash devices: the SSD lifetime is determined by extra data written by garbage collection and wear-leveling as well as by the number of bytes written by applications.

Page 5: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 5/38

Introduction

•A basic concept of READY: to throttle write performance by adding throttling delays to write requests, so as to guarantee the required SSD lifetime.With dynamic throttling, the IOPS and bandwidth of SSDs is reduced to a certain extent.

Page 6: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 6/38

Endurance Characteristics of FlashMemory

• In NAND flash memory, program/erase (P/E) operations inevitably cause damage to floating-gate transistors,reducing the overall endurance of memory cells.At the device level, memory cells are gradually worn out as charges get trapped in the interface and oxide layers of a floating-gate transistor during P/E cycles.

• the cell becomes unreliable when the threshold voltage is higher than a certain voltage margin

Page 7: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 7/38

Endurance Characteristics of FlashMemory

Page 8: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 8/38

Endurance Characteristics of FlashMemory

Page 9: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 9/38

Besides the length of the idle time, there are other factors that affect the cell recovery, such as an external temperature and a programmed threshold voltage.

Endurance Characteristics of FlashMemory

Page 10: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 10/38

Endurance Characteristics of FlashMemory

Page 11: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 11/38

Recovery-Aware Dynamic Throttling

Page 12: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 12/38

Recovery-Aware Dynamic Throttling

explain

Cssd = P/E cycles allowed to each block * SSD capacity

Tssd = lifetime

Wwork =the number of bytes written to the SSD

Static throttling guarantees the required lifetime by limiting the maximum bandwidth of the SSD to a certain fixed value,which is denoted by Bstatic.

Bstatic = Cssd/Tssd

Page 13: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 13/38

Recovery-Aware Dynamic Throttling

In order to overcome the limitation of the static throttlingtechnique, we propose a recover-aware dynamic throttling technique, READY. By dynamically throttling write requests according to the characteristics of a workload and the remaining SSD lifetime, the proposed READY techniquefully utilizes the given endurance of the SSD up to themaximum, while minimizing performance degradation.

Page 14: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 14/38

Recovery-Aware Dynamic ThrottlingIn designing a dynamic throttling policy, we focus on

two aspects of the design requirements of SSDs.

to distribute a throttling delay over every writerequest as evenly as possible.

to determine a throttling delay as low as possibleso that Wwork is close to C'ssd at the time of Tssd.

three main functions as shown next

Page 15: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 15/38

Recovery-Aware Dynamic Throttling

Page 16: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 16/38

Recovery-Aware Dynamic ThrottlingEstimation of Future Write Demands

In READY, the entire lifetime, Tssd, of the SSD is divided into epochs. At the beginning of each epoch, the write demand predictor estimates the number of bytes that is to be written during the epoch based on the number of bytes actually written to the SSD during the latest epoch.

Page 17: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 17/38

Recovery-Aware Dynamic ThrottlingEstimation of Future Write Demands

Page 18: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 18/38

Recovery-Aware Dynamic ThrottlingCalculation of Throttling Delay

Page 19: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 19/38

Recovery-Aware Dynamic ThrottlingCalculation of Throttling Delay

Page 20: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 20/38

Recovery-Aware Dynamic Throttling

Enforcement of Epoch Capacity

Page 21: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 21/38

Recovery-Aware Dynamic Throttling

Enforcement of Epoch Capacity

Page 22: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 22/38

Recovery-Aware Dynamic Throttling

algorithms

Note that c0 = ... = cn−1 = Cr/n as mentioned in Section 3.3. The spare capacity for the 0-th epoch is (c1 + ... + cn−1) · 0.1,and thus the total capacity that can be written during the 0-thepoch is c0 + (c1 + ... + cn−1) · 0.1.

Enforcement of Epoch Capacity

Page 23: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 23/38

Recovery-Aware Dynamic Throttling

Epoch Length Selection

Page 24: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 24/38

Recovery-Aware Dynamic ThrottlingEpoch Length Selection

Page 25: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 25/38

Recovery-Aware Dynamic Throttling

Epoch Length SelectionAfter choosing the new epoch length, READY recalculates a throttling delay using Eq.(4) if dynamic throttling is necessary. The new epoch length is determined under the assumption that there are no throttling delays. The epoch length, tepoch, is thus increased to tepoch · (wi/ci) to include delays caused by throttling.

Page 26: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 26/38

Experiments ResultsExperimental Settings:

DiskSim-based SSD simulatorThe flash memory used for the evaluations was based on 2-bit MLC NAND flash memory, and each block was composed of 64 4 KB pages. The page read time and the page write time were 50 μs and 600 μs, respectively, and the block erasure time was 2 ms. The number of P/E cycles allowed to a block was initially set to 3K, but it was changed depending on the length of the idle time based on our recovery model. The target lifetime of the SSD was set to 5 years.

Page 27: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 27/38

Experiments Results

Page 28: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 28/38

Experiments Results

A comparison of effective SSD lifetimes for five traces with different SSD configurations.

Page 29: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 29/38

Experiments Results

Page 30: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 30/38

Experiments Results

Page 31: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 31/38

Experiments Results

Page 32: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 32/38

Experiments Results

Page 33: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 33/38

Experiments Results

Page 34: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 34/38

Experiments Results

Page 35: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 35/38

Related Work

Data de-duplication :existing garbage collection and wear-leveling techniques

avoiding useless data migration:

detects duplicate data blocks that already exist in a storage device and then eliminates redundant writes to SSDs for suchblocks.

Data compression:repeated bit patterns within a data block, reducingwrites to SSDs.

Page 36: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 36/38

Related Work

Wu et al. presented an endurance enhancement technique that boosts recov

ery speed by heating a flashchip worn out under high temperature

our study considers the endurance improvement of SSDs at the room te

mperature

Page 37: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 37/38

Conclusions

READY can be improved in several directions.implement READY in a real SSD platform.

Our evaluation results showed that the proposed throttling technique guarantees a lifetime warranty, while achieving a relatively small reduction in write response time and little response time variation over the static throttling technique.

Page 38: 05.10.20151/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.

23/4/19 38/38