專利名稱:一種基于二級索引改善Flash數(shù)據(jù)存取的方法
技術領域:
本發(fā)明是一種基于二級索引來改善Flash的數(shù)據(jù)存取的方法。
背景技術:
近幾年,隨著消費性電子多媒體影音應用的日漸普及,個人便攜式數(shù)碼設備產(chǎn)品 日新月異,對多媒體資料存儲的容量與速度的要求也是越來越高,相應地,F(xiàn)lash芯片的需 求也是越來越大,例如,MP3、 MP4、數(shù)碼相機、數(shù)碼攝像機、手機、GPS等等,F(xiàn)lash芯片已在 其中廣為應用。而且,隨著消費者對于圖像分辨率和數(shù)據(jù)傳輸速率的要求日漸提高,也對 Flash芯片的數(shù)據(jù)吞吐性能提出了挑戰(zhàn)。 Flash芯片的特點是,一個Block包含多個Page,可以Page為單元進行讀寫,但 是,卻必須以Block為單位進行擦除。當一個Page的數(shù)據(jù)需要更新時,為了不破壞位于同 一個Block的其他Page的數(shù)據(jù),常用的處理方式是,找一個空的Block,把需要更新的Page 數(shù)據(jù)寫入到新的Block,然后把其他Page的數(shù)據(jù)也一一拷貝到這個新的Block,然后再把舊 的Block擦除。這是基于單級索引的常見做法。這種做法的缺點在于,那個不需要更新的 Page被無謂的搬來搬去,直接導致存取性能的下降。 因此,針對上述不足,本發(fā)明提供了一種基于二級索引來改善數(shù)據(jù)存取性能的方 法,通過這個方法,在Page層建立二級索引,避免了對數(shù)據(jù)未更新的Page進行搬移,減少了 數(shù)據(jù)傳輸,從而有效提高讀寫速度。
發(fā)明內(nèi)容
為了以上目的,本發(fā)明提供了一種基于二級索引來改善Flash的數(shù)據(jù)存取的方 法,該方法包括 1 、當對目標Flash空間的一個Empty Block寫入數(shù)據(jù),在做program操作前,會在 該Block的數(shù)據(jù)區(qū)寫入Logic Block Address。當對一個Block中的Empty Page寫入數(shù) 據(jù),在做program操作前,會在該Page的數(shù)據(jù)區(qū)寫入Logic Page Address;
2、對目標Flash空間中的多個Block組成一個Zone,目標Flash空間可包含多個 Zone。通過讀取一個Zone中每個Block的Logic Block Address可構(gòu)成一張Block Map Table。通過讀取一個Block中每個Page的Logic Page Address可構(gòu)成一張Page M即 Table ; 3、當對目標Flash空間按照Logic Sector Address進行存取時,包含以下幾步 一,根據(jù)Logic Sector Address禾口 Zone的大小計算出該Logic Sector位于哪個Zone ;二, 通過讀取該Zone中每個Block的Logic Block Address構(gòu)成Block Map Table,并找至lj該 IxigicSector位于明P個Block ;三,通過讀取該Block中每個Page的Logic Page Address 構(gòu)成Page M即Table,并找到該Logic Sector對應的Page進行數(shù)據(jù)存取。
在本發(fā)明專利申請的權利要求書中,具體地指出了本發(fā)明的主題,并清楚地對其 提出了專利保護。然而參照說明和附圖,可以更好的理解本發(fā)明的有關結(jié)構(gòu)和實現(xiàn)方法以 及其目的、特征和優(yōu)勢。 圖1基于二級索引的Flash空間結(jié)構(gòu)示意圖; 雖然此處說明描述了本發(fā)明的某些特征及一種實現(xiàn)方法,但是對于本專業(yè)的技術 人員來說,將會出現(xiàn)許多修改、替換、變化和等效代換。因此,本發(fā)明的保護范圍以所附的權 利要求的范圍為準。
權利要求
一種基于二級索引來改善Flash的數(shù)據(jù)存取的方法,該方法具有如下特征1)、當對目標Flash空間的一個Empty Block寫入數(shù)據(jù),在做program操作前,會在該Block的數(shù)據(jù)區(qū)寫入Logic BlockAddress。當對一個Block中的Empty Page寫入數(shù)據(jù),在做program操作前,會在該Page的數(shù)據(jù)區(qū)寫入Logic Page Address;2)、對目標Flash空間中的多個Block組成一個Zone,目標Flash空間可包含多個Zone。通過讀取一個Zone中每個Block的Logic Block Address可構(gòu)成一張Block Map Table。通過讀取一個Block中每個Page的Logic Page Address可構(gòu)成一張Page Map Table;3)、當對目標Flash空間按照Logic Sector Address進行存取時,包含以下幾步一,根據(jù)Logic Sector Address和Zone的大小計算出該Logic Sector位于哪個Zone;二,通過讀取該Zone中每個Block的Logic Block Address構(gòu)成Block Map Table,并找到該Logic Sector位于哪個Block;三,通過讀取該Block中每個Page的Logic Page Address構(gòu)成Page MapTable,并找到該Logic Sector對應的Page進行數(shù)據(jù)存取。
全文摘要
本發(fā)明是一種基于二級索引來改善Flash的數(shù)據(jù)存取的方法,具體而言,就是通過對Flash的數(shù)據(jù)進行多級索引,以便于加速數(shù)據(jù)定位,從而改善數(shù)據(jù)讀寫速度。
文檔編號G06F12/06GK101763312SQ20091003490
公開日2010年6月30日 申請日期2009年9月15日 優(yōu)先權日2009年9月15日
發(fā)明者丁鐵英, 吳俊輝, 朱小茅, 濮國亮 申請人:蘇州超銳微電子有限公司