• 검색 결과가 없습니다.

Data Separation Techniques

N/A
N/A
Protected

Academic year: 2022

Share "Data Separation Techniques"

Copied!
86
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

Data Separation Techniques

Jihong Kim

Dept. of CSE, SNU

(2)

Outline

• Introduction to Data Separation

• Data Separation Techniques for NAND flash

– 2-Queue Based Approach – HASH Based Approach

– Program Context Approach

Data Separation Techniques (Jihong

2

(3)

Classification of Data

• Key factors in classifying data

– Frequency

• More frequently accessed data are likely to be accessed again in near future

– Recency (i.e., closeness to the present)

• Many access patterns in workloads exhibit high temporal localities

• Recently accessed data are more likely to be accessed

again in near future

(4)

Data Separation in Computer

• Data Cache

– Caching hot data in the memory space in advance, we can significantly improve system performance

• Sensor Network using FlashDB

– In FlashDB, the B-tree node can be stored either in read-

optimized mode or in write-optimized mode, whose decision can be easily made on the basis of a hot data identification algorithm

• Hard Disk Drive

– Determine hot blocks and cluster them together so that they can be accessed more efficiently with less physical arm

movement

• Hot data identification has a big potential to be exploited by many other applications

Data Separation Techniques (Jihong

4

(5)

Data Separation in NAND

• Garbage collection

– Reduce garbage collection cost by collecting and storing hot data to the same block

• Wear leveling

– Improve flash reliability by allocating hot data to

the flash blocks with low erase count

(6)

Hot Data Identifier in FTL

Data Separation Techniques (Jihong

6

(7)

Efficient Hot Data Identification

• Effective capture of recency information as well as frequency information

• Small Memory Consumption

– Need to store hotness information – Limited SRAM size for FTL

• Low Computational Overhead

– It has to be triggered whenever every write

request is issued

(8)

2-Level LRU

• Maintains hot list and candidate list

– Operate under LRU

– Save memory space (i.e. sampling-based approach)

• Performance is sensitive to the sizes of both lists

• High computational overhead

Data Separation Techniques (Jihong

8

(9)

A Multi-Hash-Function Approach

• A Multi-Hash-Function Framework

– Identify each data request using hash value

• Identify hot data in a constant time

– Just access hash table without search

• Reduce the required memory space

– A lot of data requests share a hotness information

entry of hash tables

(10)

A Multi-Hash-Function Framework

• Component

– K independent hash functions – M-entry hash table

– C-bit counters

• Operation

– Status Update

• Updating of the status of an LBA

• Storing frequency information

– Hotness Checkup

• The verification of whether an LBA is for hot data

– Decay

• Decaying of all counters

• Storing recency information

Data Separation Techniques (Jihong 10

(11)

Status Update (Counter Update)

• A write is issued to the FTL

• The corresponding LBA y is hashed simultaneously by K given hash functions.

• Each counter corresponding to the K hashed values (in the hash table) is incremented by one to reflect the fact that the LBA is written again

1 0 1 0

0 0 1 0

1 0 0 1

z

f

1

(z)

f

2

(z)

f

3

(z)

Logical Block Addr.

1

1

1 0

+1

+1

+1 Hash

Function

(12)

Hotness Checkup

• An LBA is to be verified as a location for hot data.

• Check if the H most significant bits of every counter of the K hashed values contain a non-zero bit value.

Data Separation Techniques (Jihong 12

1 0 1 1 0 1 1 1

0 0 1 1

1 0 0 0

1 0 1 0

1 1 1 1

1 1 0 1

y

z

f

1

(z)

f

2

(z)

f

3

(z)

f

4

(z) Logical

Block Addr.

H most significant Bits

1 0 0 1

0 0

1 0

1 0

1 1

1 0

Contain 1

Contain only 0

Contain 1

Contain 1

COLD

HOT

Contain 1

Contain 1

Contain 1 Contain 1

(K=4, H = 2 )

(13)

Decay

• For every given number of sectors have been written, called the “ decay period” of the write numbers, the values of all

counters are divided by 2 in terms of a right shifting of their bits.

1 0 1 1

0 0 1 1

1 0 1 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 0 1

0 0 1

1 0 1

(K=4, H = 2 )

(14)

An Implementation Strategy

• In order to reduce the chance of false identification, only

counters of the K hashed values that have the minimum value are increased

Data Separation Techniques (Jihong 14

z

f

1

(z)

f

2

(z)

f

3

(z)

f

4

(z)

5

3

7

8 Basic

+1

+1

+1

+1 6

4

8

9 Enhanced

minimum!

(15)

Performance Evaluation

• Metrics

– Impacts of Hash-Table Sizes – Runtime Overheads

• Experiment Setup

– Number of hash functions: 2 – Counter size: 4 bits

– Flash memory size: 512 MB

– Hot-data threshold: 4

(16)

Impacts of Hash-Table Sizes (1)

• The locality of data access (decay period: 5117 writes)

Data Separation Techniques (Jihong 16

(17)

Impacts of Hash-Table Sizes (2)

• Ratio of false hot data identification for various hash table sizes

(18)

Runtime Overheads

Unit: CPU cycles

Multi-Hash-Function Framework (2KB)

Two-Level LRU List*

(512/1024) Average Deviation

Standard Average Deviation Standard

Checkup 2431.358 97.98981 4126.353 2328.367

Status Update 1537.848 45.09809 12301.75 11453.72

Decay 3565 90.7671 N/A N/A

Data Separation Techniques (Jihong 18

(19)

Problem of Hash-Based Approach

• Accurately captures frequency information

– By maintaining counters

• Cannot appropriately capture recency

information due to its exponential batch decay process (i.e., to decreases all counter values

by a half at a time)

(20)

Multiple BF-based scheme

• Overview

– Multiple bloom filters

• To capture finer‐grained recency

• To reduce memory space and overheads

– Multiple hash functions

• To reduce false identification

• Frequency

– Does not maintain access counters

• Recency

– Different recency coverage

Data Separation Techniques (Jihong 20

(21)

Bloom Filter (from

Wikipedia)

• A space-efficient probabilistic data structure proposed by Bloom in 1970

• Used to test if 𝛼 ∈ 𝑆

• Allows False Positives, but no False Negatives

– “possibly in 𝑆” or “definitely not in 𝑆”

(22)

Basic Operations

Data Separation Techniques (Jihong 22

(23)

Capturing Frequency

• No access counters

– Needs a different mechanism

• For frequency capturing

– Chooses one of BFs in a round-robin manner – If the chosen BF has already recorded the LBA

• Records to another BF available.

– Shortcut decision

• If all BFs store the LBA information

– Simply define the data as hot

The Number of BFs can provide frequency information

(24)

Capturing Recency

• After a decay period (T)

– Choose one of V-BFs in a round-robin manner – Erase all information (i.e., reset all bits to 0)

Each BF retains a different recency coverage.

Data Separation Techniques (Jihong 24

(25)

Recency Coverage

• For finer-grained recency

– Each BF covers a different recency coverage

• The reset BF (BF

v

): Shortest (latest) coverage

• The next BF (BF

1

): Longest (oldest) coverage

– Each BF has a different recency value

(26)

Example: Hot/Cold Checkup Based on Recency Weight

• Assign a different recency weight to each BF

– Recency value is combined with frequency value for hot data decision.

Data Separation Techniques (Jihong 26

1 0 1

… 0 0 1 1 BF0

0 1 1

… 1 0 0 1 BF1

1 1 0

… 0 0 1 0 BF2

0 0 0

… 0 0 0 0 BF3

BF with valid data reset BF H1

H2 LBA X

w/o a recency weight

Threshold value: 1.75 Frequency value of X = 1 + 0 + 1

= 2 Frequency value of Y = 1 + 1 + 0

= 2

LBA Y

Both HOT!

with a recency weight

Frequency value of X = 0.5x1 + 1x0 + 1.5x1 = 2

Weight 0.5 1 1.5 Frequency value of Y = 0.5x1 +1x 1 + 0 = 1.5

Hot!

Cold!

(27)

Performance Evaluation

• Evaluation setup

– Four schemes

• Multiple bloom filter scheme (refer to as MBF)

• Multiple hash function scheme (refer to as MHF) – Four realistic workloads

• Financial1, MSR (prxy volume 0), Distilled, and Real SSD

(28)

Performance Evaluation

• Performance metrics

– False identification rate

• Try to compare each identification result of each scheme whenever a request is issued

– Memory consumption – Runtime overhead

• Measure CPU clock cycles per operation

Data Separation Techniques (Jihong 28

(29)

False Identification Rate

(MBF vs. MHF)

(30)

Memory Impact and Computational Overheads

Data Separation Techniques (Jihong 30

(31)

Problems of Hot/cold Separator

– Problem 1: Wide variations on future update times

Hot block Page 0

Page 1 Page 2 Page 3

Timeline

Program A Program B

Hot/cold Separator

Hot data may be

invalidated in different

times because of different

update localities

(32)

ORA: Oracle Predictor on Future Update Time

• Perfect knowledge on future update times of data

• Can sort data based on the future update times of data

• An FTL with ORA can gather data with similar update times into the same block

• Can be used as lower bound of GC

Data Separation Techniques (Jihong 32

(33)

Motivation Example

R

0

R

1

R

2

R

3

R

0

R

1

R

2

R

3

Block0 (Hot block)

R

4

R

5

R

6

R

7

R

4

R

5

R

6

R

7

Block1 (Hot block)

R

0

(1) R

2

(2) R

6

(3) R

7

(4)

Block0

R

1

(13) R

3

(14) R

4

(15) R

5

(16)

Block1

Hot/cold Separator ORA

HOT FTL with Hot-cold Separator writes

according to the request order if all requests are hot

FTL with ORA gathers data with similar update times R

0

is updated at

time 1

R

1

is updated at time 13

If a GC process was triggered at time 10,

1 13 2 14 15 16 3 4

Update time

(34)

Hot/cold Separator vs. ORA

• ORA can reduce GC overhead significantly

34

78% 76%

Update time is a more important factor in data separation technique than frequency of updates

Data Separation Techniques (Jihong

(35)

Basic Idea

• Program Context-Aware Data Separation Technique – Predicts update times of data based on program

behavior

– A program behaves similarly when the same program context is executed

– Indentifies what program contexts repeatedly

generate data with similar update times

(36)

Overview of Program Context

• A program context represents an execution path which generates write requests

• Identification

• Each program context is identified by summing program counter values of each execution path of function calls

Reference

Chris Gniady, and Ali R. Butt, and Y. Charlie Hu, “Program Counter Based Pattern Classification in Buffer Caching ,” OSDI, 2004

36

a() b()

write()

Functions in execution paths

main() c()

d()

e() f()

System call

PC1 PC2 PC3 PC4

g() h()

PC : Program Context

Data Separation Techniques (Jihong

(37)

Program Context–Based Update Time Prediction

• Indirectly predict future update times of data by exploiting program contexts

a() b()

System call Program

Context (PC)

Logical Block Address

PC1

write() c()

d()

e() f()

PC2 PC3

a() b()

PC1

c() d()

e() f()

PC2 PC3

PC1 PC2

g() h()

PC4

PC3 PC4

g() h()

PC4

a() b()

PC1

c() d()

e() f()

PC2 PC3

Update

(38)

Separating Data using Program Contexts

38 Logical

Block Address

Time

Program Context 1 Program Context 2 Program Context 3

Sequential

Update

Separates these data based on PCs

Simultaneously updated group 1 Simultaneously updated group 2

Block 0 Block 1 Block 2 Block 3

Data generated by Program Context 2 Data generated by Program Context 1 and Program Context 3

FTL with this data separator stores data based on simultaneously updated group

Data Separation Techniques (Jihong

(39)

Experimental Environments (1)

• Used a trace-driven NAND flash memory simulator – Parameters

• Techniques for comparison

– HASH: Hash-based hot/cold separation technique – ORA: Oracle predictor on future update times of data

Flash Translation Layer

Mapping Scheme Page-level mapping

GC Triggering 5%

Flash memory

Read Time (1 page) 25usec

Write Time (1 page) 200usec

Erase Time (1 block) 1200usec

(40)

Experimental Environments (2)

• Benchmarks characteristics

40 Benchmarks Scenario The number of writes (unit: page) The number of updates (unit: page)

cscope Linux source code examination 17575 15398

gcc Building Linux Kernel 10394 3840

viewperf Performance measurement 7003 119

tpc-h Accesses to database 23522 20910

tpc-r Accesses to database 21897 18803

multi1 cscope + gcc 28400 19428

multi2 cscope + gcc + viewperf 35719 20106

Data Separation Techniques (Jihong

(41)

Result: Total Execution Time of GC

Total execution times for copies (READ+WRITE) are reduced

Random update (Low

locality)

(42)

Reference

• J. Hsieh et al, "Efficient on-line identification of hot data for flash-memory management," SAC 2005.

• D. Park et al., “Hot Data Identification for Flash-based Storage Systems Using Multiple Bloom Filters”, MSST 2011

• K. Ha et al., “A Program Context-Aware Data Separation Technique for Reducing Garbage Collection Overhead in NAND Flash Memory,” SNAPI 2011

Data Separation Techniques (Jihong

42

(43)

Lifetime Issues & Techniques

Jihong Kim

Dept. of CSE, SNU

(44)

Outline

• Introduction to lifetime problem in SSDs

• SSD Lifetime Extension Techniques

– Compression Technique

– Deduplication Technique: CAFTL – Dynamic Throttling: READY

Lifetime Issues & Techniques (Jihong

2

(45)

Trend of NAND Device Technologies

SLC

(2000~2012 : ISSCC & VLSI)

+100%

/ 2 years

C ap acit y

2002 2004 2006 2008 2010 2012 2014

2000 Year

MLC

TLC

NAND capacity is continuously increased,

(46)

Trend of NAND Device Technologies

4

+100%

/ 2 years

2002 2004 2006 2008 2010 2012 2014

2000 Year

-35%

/ 2 years

Total amount of writes of NAND flash-based storages does not increase as much as we expected.

Total amount of writes = Capacity × Endurance

To tal am ou nt of w rit es

Endurance

(47)

Lifetime Problem of NAND-based Storages

2002 2004 2006 2008 2010 2012 2014

2000 Year

Endurance

Total amount of writes

Lif etime

Daily amount of data

Lifetime = Daily workload × WAF

(48)

6

LifetimeCapacity × Endurance

Daily workload × WAF

Deduplication Compression Throttling

Optimization of garbage collection

& wear leveling

Techniques for Improving Lifetime

Self-Healing SSDs

Dynamic erase voltage

and time scaling

(49)

Workload-Reduction Methods for Extending SSD Lifetime

• Reduce amount of written data

– Compression technique

• Compressed data are stored

– Deduplication technique

• Prevent redundant data from being stored in SSDs

• Throttling SSD Performance

– Dynamic Throttling

• Guarantee the lifetime of SSD by throttling write traffic

(50)

PPC405 DRAM PLB

Local Buffer

PLB Controller

Register

Interrupt

Bus Controller

Flash Bus 4x – One per Bus

Queue Controller

BRAM Buffer Shift

Reg

Shift Reg Local

Memory

Local Memory

Decompressor Compressor

Compressor Module

Compression Technique in SSD

• Reduces the amount of data written

• Improve effectively both the write speed and the reliability of a SSD

• Case Study: BlueZip

Lifetime Issues & Techniques (Jihong

8

(51)

Design of BlueZIP

• BlueZIP

– Based on the LZRW3 algorithm for compression/decompression – Has a local memory which is used as a hash table for compression

– Compresses data and writes the compressed data into the BRAM buffer – The flash controller reads the compressed data from the BRAM buffer

and writes them into the flash board

• FTL

– Gives BlueZIP multiple pages to compress and write them

– Accepts return value from BlueZip, which is the size of the compressed data

Flash Memory Compressor

BRAM Buffer Pages

(52)

Primary Performance Evaluation

• Reduce the write times by 15% on average

• Reduce the amount of written data by 26% on average

Lifetime Issues & Techniques (Jihong

10

(53)

Deduplication Technique

- CAFTL

(54)

Data Redundancy in Storage

• Duplicate data rate – up to 85.9% over 15 disks in CSE/OSU

Lifetime Issues & Techniques (Jihong

12

(55)

Content-Aware Flash Translation Layer (CAFTL)

• Key Idea

– Eliminating duplicate writes – Coalescing redundant data

• Potential benefits

– Removing duplicate writes into flash memory ->

reducing “write/day”

– Extending available flash memory space ->

increasing available “flash space”

Lifetime = Endurance x Capacity

(56)

Overview of CAFTL

• In-line deduplication

– Proactively examines incoming data

– Cancels duplicate writes before committing a request

– Best-effort solution

• Out-of-line deduplication

– Periodically scans flash memory

– Coalesces redundant data out of line

Lifetime Issues & Techniques (Jihong

14

(57)

Architecture of CAFTL

(58)

Fingerprint Store Challenges

• Fingerprint store

– Maintains fingerprints in memory

• Challenges

– Memory overhead (25 bytes each) – Fingerprint store lookup overhead

• Observations and indications

– Skewed duplication fingerprint distribution – only 10~20%

• Most fingerprints are not duplicate -> waste of memory space

• Most lookups cannot find a match -> waste of lookup latencies

Store only the most likely-to-be-duplicate fingerprints in memory

Lifetime Issues & Techniques (Jihong

16

(59)

Challenges of Existing Mapping Table

• When a physical page is relocated to another place, all the logical

pages mapped to this page

should be updated quickly

• For update request, the physical page cannot be invalidated if the page is shared

– Must track the number of referencing

logical pages

(60)

Two-Level Indirect Mapping

• Virtual Block Address (VBA) is introduced

– Additional indirect mapping level – Represents a set of LBAs mapped to

same PBA

– Each entry consists of {PBA, reference}

• Significantly simplifies reverse updates

• Secondary mapping table can be small

– Since most logical pages are unique

• Incurs minimal additional lookup overhead

Lifetime Issues & Techniques (Jihong

18

(61)

Sampling for Hashing

• Most writes are unique -> most hashing operations turn out useless eventually

• Intuition

– If a page in a write is a duplicate page, the other pages are likely to be duplicate too

• Sampling

– Select one page in a write request as a sample

– If the sample page is duplicate, hash and examine the other pages

– Otherwise, stop fingerprinting the whole request at

earliest time

(62)

Selecting Sample Pages

• Content-based sampling

– Selecting/comparing the first four bytes (i.e. sample bytes) in each page

• Concatenating the four bytes into a 32-bit numeric value

– The page with the largest value is the sample page

Lifetime Issues & Techniques (Jihong

20

(63)

Out-of-line Deduplication

• Periodically launched during device idle time

• Uses external merge sort to identify duplicate fingerprint

– Part of the meta data page array is loaded into memory and sorted and temporarily stored in flash

• CAFTL reserves dedicated number of flash pages to store metadata (e.g. LBA and

fingerprint)

(64)

Example of Out-of-line Deduplication

Lifetime Issues & Techniques (Jihong

22

PBA PBA 7 PBA 20

Flash Page#0

Page#1

Page#2

Page#3

Page#K LBA

0 1 2 3 4 5 6 7

n-1 n

VBA 0 1 2 3

m

Primary mapping table Secondary mapping table

{Hash value, LBA/VBA}

{dltjdwls. LBA 0}

{rlaxowls , LBA 2}

{qkrwltjd, LBA 4}

{dltjdwls, LBA 3}

Reserved page for metadata External sorting & temporary storing

{dltjdwls. LBA 0}

{dltjdwls, LBA 3}

{qkrwltjd, LBA 4}

{rlaxowls , LBA 2}

match!

PBA 0 PBA/VBA

PBA 0 VBA 0 PBA 1

PBA 2 VBA 1 VBA 0 VBA 1 PBA 3

Page#3 VBA 2

VBA 2

{dltjdwls. VBA 2}

(65)

Performance Evaluation

• SSD simulator

– Microsoft Research SSD extension for Disksim simulator

– Simulator augmented with CAFTL design and on- device buffer

• SSD configurations

– Default configuration numbers

– Estimated latencies of hashing code on ARM simulator

(66)

Workloads and Trace Collection

• Desktop (d1, d2)

– Typical office workloads

– Irregular idle intervals and small reads/writes

• Hadoop (h1-h7)

– TPC-H data warehouse queries were executed on a Hadoop distributed system platform

– Intensive large write of temp data

• Transaction (t1, t2)

– TPC-C workloads were executed for transaction processing

– Intensive write operations

Lifetime Issues & Techniques (Jihong

24

(67)

Effectiveness of Deduplication

• Removing duplicate writes

(68)

Effectiveness of Deduplication

• Extending flash space

– Space saving rate : (n-m) / n

• n–total # of occupied blocks of flash memory w/o CAFTL

• m–total # of occupied blocks of flash memory w/ CAFTL

Smaller workloads

Lifetime Issues & Techniques (Jihong

26

(69)

Dynamic Throttling- READY

(70)

Unpredictable Lifetime

• The lifetime of SSDs strongly fluctuates

depending on the write intensiveness of a given workload

Lifetime Issues & Techniques (Jihong

28

Required lifetime

Bandwi dt h (MB/ sec ) Write intensiveness is low

Bandwi dt h (MB /se c)

Write intensiveness is high

Cannot guarantee the required lifetime

Required Lifetime

(71)

Lifetime Guarantee Using Static Throttling

• To guarantee the SSD lifetime, some SSD vendors start to adopt a static throttling technique

Bandwi dt h (MB/ sec )

T

ssd

Limited bandwidth (e.g, 2.5 MB/s =

375 TB / 5 yrs.)

<Static throttling>

• Static throttling is likely to underutilize the

The data written < 375 TB

Bandwi dt h (MB/ sec )

Cannot guarantee the required lifetime

<No throttling> T

ssd

(72)

Underutilize the Endurance of SSDs

• Self Recovery Effect of Memory Cell

– Repetitive P/E cycles cause damage to memory cells

– The damage of cells can be partially recovered during the idle time between two consecutive P/E cycles

Lifetime Issues & Techniques (Jihong

30

substrate

n+ n+

Control Gate

Floating Gate Oxide

ΘΘΘΘ

<Erased Cell>

Cell Programming (Damage)

substrate

n+ n+

Control Gate

ΘΘ Θ Θ

<Programmed Cell>

Trapped Charge

substrate

n+ n+

Control Gate

ΘΘ Θ

<Programmed Cell>

Θ

Charge

detrapping

Idletime

(Recovery)

(73)

Effective P/E Cycles

• The effective number of P/E cycles is much higher than P/E cycles denoted by datasheets

• Example: 20nm 2-bit MLC flash memory with 3K P/E

cycles

(74)

REcovery-Aware DYnamic throttling (READY)

• Guarantee lifetime of SSDs by

– Throttling SSD performance depending on the write demands of a workload

– Exploiting the self-recovery effect of memory cells, which improves the effective P/E cycles

Lifetime Issues & Techniques (Jihong

32

(75)

Benefit of READY

B an d wi d th (MB/ sec )

<Static throttling>

W

work

< C

ssd

T

ssd

B an d wi d th (MB/ sec )

<Dynamic throttling>

W

work

= C

ssd

T

ssd

B andwidth (MB /s ec )

W

work

= C

ssd

(= C

ssd

+ ΔC

ssd

)

The improved endurance by the self-recovery effect

C

ssd

: the number of writable bytes to SSDs (e.g., 375 TB)

W

work

: the number of bytes written by

a workload

T

ssd

: the target

SSD lifetime

(e.g., 5 years)

(76)

Design Goals of READY

• Design goal 1: minimize average response times

– Determine a throttling delay as low as possible so that the SSD is completely worn out at the required lifetime

• Design goal 2: minimize response time variations

– Distribute a throttling delay as evenly as possible over every write request

Lifetime Issues & Techniques (Jihong

34

(77)

Overall Architecture of READY

Write Demand Predictor

Throttling Delay Estimator

Epoch-Capacity Regulator

Recovery Model

Monitoring past I/O demands

Predict future I/O demands Throttling Delay

Apply throttling delays

(78)

Write Demand Predictor

• Write demand predictor exploits cyclical behaviors of enterprise workloads to predict future write demands

Lifetime Issues & Techniques (Jihong

36

Time W ri te de man d (w ri tt en b yt es pe r se c)

(i-1)th epoch i-th epoch (i+1)th epoch

Predict that the same number of data will be written during the i-th epoch

Cyclical Period

= Epoch

(79)

Throttling Delay Estimator

• Decide a throttling delay so that the data written during the next epoch is properly throttled

• Calculate a throttling delay by using the predicted write demand and the remaining lifetime

… …

present

Time

W ri te demand

Past Future

Future write demand

i-th epoch capacity = Remaining SSD lifetime

# of remaining epochs

(80)

Change Throttling Delay

• Case 1: predicted write demand = epoch capacity

– Don’t change a throttling delay

• Case 2: predicted write demand > epoch capacity

– Increase a throttling delay to reduce the number of data written

• Case 3: predicted write demand < epoch capacity

– Decrease a throttling delay to increase the number of data written

Lifetime Issues & Techniques (Jihong

38

(81)

Epoch-Capacity Regulator

• Distribute a throttling delay to every page write evenly

– This is beneficial in minimizing response time variations

Bandwi dt h (MB /se c)

<Static throttling> T

ssd

dt h (MB/ sec )

No throttling delay

Low write demand

Apply throttling delay

High write demand

Distribute throttling delays

(82)

Experimental Setting

• Use the DiskSim-based SSD simulator for evaluations

– 20 nm 2-bit MLC NAND flash memory with 3K P/E cycles – The target SSD lifetime is set to 5 years

• Evaluated SSD configurations

• Benchmarks

Lifetime Issues & Techniques (Jihong

40

NT No Throttling

ST Static Throttling

DT Dynamic Throttling

READY Recovery-Aware Dynamic Throttling

Trace Duration Data written

per hour (GB) WAF SSD capacity (GB)

Proxy 1 week 4.94 1.62 32

Exchange 1 day 20.61 2.24 128

map 1 day 23.82 1.68 128

(83)

Lifetime Analysis

• NT cannot guarantee the required SSD lifetime

• READY achieves the lifetime close to 5 years

Required

lifetime

(84)

Data Written to SSD during 5 years

• ST and DT uselessly throttles write performance even through they can write more data to the SSD

• READY exhibits 10% higher endurance than NT because of the increased recovery time

Lifetime Issues & Techniques (Jihong

42

(85)

Performance Analysis

• NT exhibits the best performance among all the configurations

• READY performs better than ST and DT while guaranteeing the

required lifetime

(86)

References

• 박지훈, 김지홍, “BlueZIP : 고성능 솔리드 스테 이트 드라이브를 위한 압축 모듈,” 대한임베디 드공학회 추계학술대회, 2010.

• F. Chen et. al., “CAFTL: a content-aware flash translation layer enhancing the lifespan of flash memory based solid state drives,” In Proceedings of FAST ‘11, 2011.

• S. Lee et. al., “Lifetime management of flash- based SSDs using recovery-aware dynamic throttling,”

In Proceedings of FAST ‘12, 2012.

Lifetime Issues & Techniques (Jihong

44

참조

관련 문서

•Web Log Mining ( Zaïane, Xin and Han, 1998 ) Uses KDD techniques to understand general access patterns and trends.

• Program Context-Aware Data Separation Technique – Predicts update times of data based

The data collected in the research were processed using the SPSS WIN software program, whether significant difference of Internet addiction exists or

This study analysed diverse data on colors and the current statues of actual education, and suggested an emotional coloring program which can motivate

„ classifies data (constructs a model) based on the training set and the values (class labels) in a.. classifying attribute and uses it in

à Element nodes have child nodes, which can be attributes or subelements à Text in an element is modeled as a text node child of the element. à Children of a node

As commercial companies using Big Data, one of the most common legal issues will be customers’ privacy and protection of personal information. More specifically,

Consequently, by surveying the typical meteorological data and the Korea Meteorological Administration data from 2006 to 2009, the simulation program can be drew the cooling