Upload
flashdomain
View
196
Download
2
Tags:
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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:
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
13
14
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