An Adaptive Striping Architecture for Flash Memory Storage ...

15
An Adaptive Striping An Adaptive Striping Architecture for Flash Memory Architecture for Flash Memory Storage Systems of Embedded Storage Systems of Embedded Systems Systems Li-Pin Change and Tei-Wei Kuo Li-Pin Change and Tei-Wei Kuo Speaker : Jongseon Park Speaker : Jongseon Park

Transcript of An Adaptive Striping Architecture for Flash Memory Storage ...

Page 1: An Adaptive Striping Architecture for Flash Memory Storage ...

An Adaptive Striping An Adaptive Striping Architecture for Flash Memory Architecture for Flash Memory Storage Systems of Embedded Storage Systems of Embedded

SystemsSystems

Li-Pin Change and Tei-Wei KuoLi-Pin Change and Tei-Wei Kuo

Speaker : Jongseon ParkSpeaker : Jongseon Park

Page 2: An Adaptive Striping Architecture for Flash Memory Storage ...

2

ContentsContents I/O parallelismI/O parallelism Basic System ArchitectureBasic System Architecture An Adaptive Striping ArchitectureAn Adaptive Striping Architecture

Multi-Bank Address TranslationMulti-Bank Address Translation Bank Assignment PoliciesBank Assignment Policies Hot-Cold IdentificationHot-Cold Identification

Garbage Collection IssuesGarbage Collection Issues Hot-Cold SeparationHot-Cold Separation A Block-Recycling PolicyA Block-Recycling Policy

Experimental ResultsExperimental Results ConclusionConclusion

Page 3: An Adaptive Striping Architecture for Flash Memory Storage ...

3

I/O parallelismI/O parallelism The operation model of NAND flashThe operation model of NAND flash

Setup phaseSetup phase E.g. The command, the address, and the data are writtenE.g. The command, the address, and the data are written

Busy phaseBusy phase For busy-waiting of the data being flushed into flash For busy-waiting of the data being flushed into flash

memorymemory

Using the parallelism of multiple NAND banksUsing the parallelism of multiple NAND banks If A dedicated latch and a decode logic are supported for each If A dedicated latch and a decode logic are supported for each

independent bankindependent bank

Page 4: An Adaptive Striping Architecture for Flash Memory Storage ...

4

Basic System ArchitectureBasic System Architecture

MTD (Memory-Technology-Device)MTD (Memory-Technology-Device) Provides functionality such as read, write, and eraseProvides functionality such as read, write, and erase

FTL (Flash-Translation-Layer)FTL (Flash-Translation-Layer) Provides transparent access for file systems and user Provides transparent access for file systems and user

applications via block device emulationapplications via block device emulation

Page 5: An Adaptive Striping Architecture for Flash Memory Storage ...

5

ContentsContents

I/O parallelismI/O parallelism Basic System ArchitectureBasic System Architecture An Adaptive Striping ArchitectureAn Adaptive Striping Architecture

Multi-Bank Address TranslationMulti-Bank Address Translation Bank Assignment PoliciesBank Assignment Policies Hot-Cold IdentificationHot-Cold Identification

Garbage Collection IssuesGarbage Collection Issues Experimental ResultsExperimental Results ConclusionConclusion

Page 6: An Adaptive Striping Architecture for Flash Memory Storage ...

6

Multi-Bank Address Multi-Bank Address TranslationTranslation

The physical location of a logical block might The physical location of a logical block might change from time to timechange from time to time

FTL driver adopt dynamic address translation FTL driver adopt dynamic address translation mechanism to provide transparent data accessmechanism to provide transparent data access

Using Address Translation Table in main memoryUsing Address Translation Table in main memory

The status of a pageThe status of a page Live, Dead, and FreeLive, Dead, and Free

When a Write is issuedWhen a Write is issued

->FTL Driver finds a free ->FTL Driver finds a free pagepage

->writes the written data->writes the written data

->writes corresponding ->writes corresponding LBALBA

Page 7: An Adaptive Striping Architecture for Flash Memory Storage ...

7

Bank Assignment PoliciesBank Assignment Policies Writes need a proper bank assignment policy Writes need a proper bank assignment policy

to utilize the parallelism of multiple banksto utilize the parallelism of multiple banks FTL driver break the write request into a FTL driver break the write request into a

number of page writesnumber of page writes Static StripingStatic Striping

Bank address = LBA % (number of banks)Bank address = LBA % (number of banks) Couldn’t provide even usage of banksCouldn’t provide even usage of banks The locality of writes, and the uneven capacity utilizationThe locality of writes, and the uneven capacity utilization

Dynamic StripingDynamic Striping Identify the attributes (hot or cold) – to achieve “fairness”Identify the attributes (hot or cold) – to achieve “fairness” Hot data -> Bank that has the smallest erase-countHot data -> Bank that has the smallest erase-count Cold data -> Bank that has the lowest capacity utilizationCold data -> Bank that has the lowest capacity utilization

Page 8: An Adaptive Striping Architecture for Flash Memory Storage ...

8

Hot-Cold IdentificationHot-Cold Identification

Candidate list

Hot list

New element with LBA is added if the LBA does not exist in any list.

Element is discarded if thecandidate list is full.

Element is promoted if the LBA already exists in the Candidate list.

Element is demoted if the hot list is full.

Two-Level LRU ListTwo-Level LRU List Two fixed-length LRU lists of LBA’sTwo fixed-length LRU lists of LBA’s Can determine the “hotness” of the written data very Can determine the “hotness” of the written data very

efficientlyefficiently

Page 9: An Adaptive Striping Architecture for Flash Memory Storage ...

9

ContentsContents

I/O parallelismI/O parallelism Basic System ArchitectureBasic System Architecture An Adaptive Striping ArchitectureAn Adaptive Striping Architecture Garbage Collection IssuesGarbage Collection Issues

Hot-Cold SeparationHot-Cold Separation A Block-Recycling PolicyA Block-Recycling Policy

Experimental ResultsExperimental Results ConclusionConclusion

Page 10: An Adaptive Striping Architecture for Flash Memory Storage ...

10

Hot-Cold SeparationHot-Cold Separation Minimizing the copying of hot-live pagesMinimizing the copying of hot-live pages Pages that store hot data usually have a high chance to Pages that store hot data usually have a high chance to

become dead in the near futurebecome dead in the near future It could result in a serious degradation of the system It could result in a serious degradation of the system

performanceperformance Storing hot data and cold data separatelyStoring hot data and cold data separately

Page 11: An Adaptive Striping Architecture for Flash Memory Storage ...

11

Block Recycling PolicyBlock Recycling Policy When a run of garbage collection begins, When a run of garbage collection begins,

the weight of each block is calculated by the weight of each block is calculated by the following formula:the following formula:

Page 12: An Adaptive Striping Architecture for Flash Memory Storage ...

12

Experimental ResultsExperimental Results The Performance metricsThe Performance metrics

The soft real-time performanceThe soft real-time performance The average response time of write requestThe average response time of write request To measure the efficiency of stripingTo measure the efficiency of striping It also reflect the efficiency of garbage collection It also reflect the efficiency of garbage collection

indirectlyindirectly The number of live page copyingsThe number of live page copyings

It directly reflects the performance of garbage collectionIt directly reflects the performance of garbage collection

The evaluationThe evaluation The first part – Under different bank The first part – Under different bank

configurationsconfigurations The second part – Dynamic bank assignment The second part – Dynamic bank assignment

versus a RAID-similar static bank assignmentversus a RAID-similar static bank assignment

Page 13: An Adaptive Striping Architecture for Flash Memory Storage ...

13

Page 14: An Adaptive Striping Architecture for Flash Memory Storage ...

14

Page 15: An Adaptive Striping Architecture for Flash Memory Storage ...

15

ConclusionConclusion A striping architecture to introduce I/O A striping architecture to introduce I/O

parallelismparallelism An adaptive striping-aware bank An adaptive striping-aware bank

assignment method to improve the assignment method to improve the performance of garbage collectionperformance of garbage collection

Simple but effective garbage collection Simple but effective garbage collection policypolicy

The tradeoff of striping and garbage The tradeoff of striping and garbage collection collection