9
Marvell Confidential © 2007 Marvell Confidential © 2008 Marvell Confidential © 2007 Marvell Confidential © 2008 1 Improve Random Read Performance of Egret Plus Gang Chen 1/30/2013

Improve Random Read Performance of Egret Plus

  • Upload
    brent

  • View
    28

  • Download
    0

Embed Size (px)

DESCRIPTION

Improve Random Read Performance of Egret Plus. Gang Chen 1/30/2013. Background. Block map FTL has two types of block DATA Block The logical address map to data block is direct map. It is no need to read LUT when read data from data block. Log Block - PowerPoint PPT Presentation

Citation preview

Page 1: Improve Random Read Performance of Egret Plus

Marvell Confidential © 2007Marvell Confidential © 2008Marvell Confidential © 2007Marvell Confidential © 20081

Improve Random Read Performance of Egret Plus

Gang Chen1/30/2013

Page 2: Improve Random Read Performance of Egret Plus

Marvell Confidential © 2007Marvell Confidential © 2008

Background

Block map FTL has two types of block

• DATA BlockThe logical address map to data block is direct map. It is no need to read LUT when read data from data block.

•Log BlockThe page of logical blcok map to log block is random. And a LUT is used to record all the map information.

lb Data block

lb log block

Lut

Page 3: Improve Random Read Performance of Egret Plus

Marvell Confidential © 2007Marvell Confidential © 2008

The problem

Currently mu in LB can be place in any au of PB that is associated to the LB. From block FTL view, the type of PB in this is log block and there is no data block concept in egret plus. The current mechanism causes it must get the LUT prior to read host data from Nand and the performance is affected much particularly on random read case.

Page 4: Improve Random Read Performance of Egret Plus

Marvell Confidential © 2007Marvell Confidential © 2008

Idea to solve

• Bring data block concept in egret FTL. As picture shows if lb is in data block mode, the read operation can access data block directly without reading look up table of the lb.

Page 5: Improve Random Read Performance of Egret Plus

Marvell Confidential © 2007Marvell Confidential © 2008

Implement the ideatwo modes of LB

•lb has two mode including

Log block modeThe log block mode of lb is the current case. The r/w request make use of map table to get the position access on physical block. the lb can have 1 or N nand blocks.

Data block modeThe read request get the position access on physical block by direct map relationship. LB does not have LUT and can have only1 nand block in max.

Page 6: Improve Random Read Performance of Egret Plus

Marvell Confidential © 2007Marvell Confidential © 2008

Implement the idealog block mode and data block mode switch

LBM(log block mode) and DBM(data block mode) can transform mutually.• LBM can transform to DBM in gc or sequential wr, if lb meets conditions

• The count of valid mu in lb is bigger than N (threshold avail to change DBM)• The LB is a cold LB • The LB is chosed to do GC.

•DBM transform to LBM if DBM can’t not process write request such as the address accessed is already written or lower than address in data block last program already.

Page 7: Improve Random Read Performance of Egret Plus

Marvell Confidential © 2007Marvell Confidential © 2008

Implement the idealog block mode and data block mode switch

LBM(log block mode) and DBM(data block mode) can transform mutually.

•The time LBM can transform to DBM. • Idle activities with GC process.• May do it in overflow triggered GC.• May do it in sequential write cases.

• the time DBM transform to LBM.• Write request can’t handle in DBM mode.

Page 8: Improve Random Read Performance of Egret Plus

Marvell Confidential © 2007Marvell Confidential © 2008

Implement the ideadata structure

• Lb DBM bitmap(DBM_BMP): the bitmap indicates whether a LB is DBM mode. sz(byte): number of lb / 8. About 250 bytes if cnt of LB is 2000

• Lb-PB map for DBM (DBM_LB_PB_MAP): record the data block urow of each LB. sz(byte): number of lb * 2. About 4k bytes if cnt of LB is 2000

Page 9: Improve Random Read Performance of Egret Plus

Marvell Confidential © 2007Marvell Confidential © 2008

Analysis of the idea

GOODs• For user, the cold data (video, pics) is larger than hot data(log files etc). Lots of LB can be

change to DBM to helps to increase read performance.

• The effort to switch to DBM from LBM is low it can make uses of current GC code flow. And reverse effort is also LOW as DBM is a sub state of LBM, only unset DBM_BMP is required.

• The process to change to DBM also can execute in background GC when host is idle.

• It can improve reconstruction speed since if a LB is DBM mode, it doesn’t need to reconstruction.

Bads• ??