專利名稱:多通道閃存的區(qū)塊管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種多通道閃存的區(qū)塊管理方法。
背景技術(shù):
為了提高閃存的有效帶寬和讀寫效率,現(xiàn)有的多通道閃存一般劃分為若干塊(block),姆個塊劃分為若干個頁(page),姆個頁包括若干個扇區(qū)(sector)。多通道閃存讀寫吋,以每個頁為單位尋址;但是對于每個通道閃存的寫操作,則是以塊為單位。如中國專
利號為200710072980的發(fā)明公開了ー種閃存的區(qū)塊管理方法,所述閃存包括若干個區(qū)塊,每塊由多個頁構(gòu)成,每頁分為數(shù)據(jù)存儲區(qū)和冗余區(qū),在所述區(qū)塊中劃定ー塊或多塊作為地址映射表保留區(qū),以頁為単位保存閃存區(qū)塊的邏輯地址與物理地址的映射表;選定ー個空白塊作為交換塊,在所述映射表保存頁的冗余區(qū)建立該交換塊的地址映射表項;當進行寫操作時,根據(jù)地址映射表信息,將新數(shù)據(jù)和/或被操作的目標區(qū)塊的舊數(shù)據(jù)對應地寫入所述交換塊,擦除目標區(qū)塊,然后將映射表頁中交換塊邏輯地址對應的物理地址與目標區(qū)塊邏輯地址對應的物理地址互換。該發(fā)明可在保證操作速度的同時有效延長閃存使用壽命,并提高閃存數(shù)據(jù)的安全性。但是,對于頻繁的小數(shù)據(jù)量寫操作的應用場合,上述方案導致閃存的區(qū)塊的頻繁擦寫,限制了閃存設(shè)備操作效率,有損閃存的使用壽命。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種新的多通道閃存的區(qū)塊管理方法,更進ー步提高閃存設(shè)備操作效率,延長閃存的使用壽命。為解決上述技術(shù)問題,本發(fā)明提供一種新的多通道閃存的區(qū)塊管理方法,所述閃存包括若干個塊,每個塊劃分為M個物理頁,其特征在于,所述M個物理頁中,前P個連續(xù)的物理頁與頁映射表中的P個邏輯頁一一映射,后Q個連續(xù)的物理頁作為保留頁,M=P+Q ;每個塊設(shè)ー個頁寫指針,用于指向塊內(nèi)ー個空白頁;當塊中所有物理頁為空白時,所述頁寫指針值為I ;每寫ー個頁,所述頁寫指針加I。當進行目標塊內(nèi)的頁寫操作時,在目標塊的P個邏輯頁中的選中ー個邏輯頁,該選中邏輯頁映射的ー個物理頁,如果選中物理頁為空,則在該物理頁寫數(shù)據(jù);如果選中物理頁已存在數(shù)據(jù)、非空,則將數(shù)據(jù)寫入所述頁寫指針指向的物理頁,然后將所述選中物理頁標記為垃圾頁,再將寫入數(shù)據(jù)的物理頁地址映射到所述選中邏輯頁。進ー步優(yōu)化的方案,當所述進行目標塊內(nèi)的頁寫操作吋,首先判斷所述頁寫指針值是否大于M,如果所述頁寫指針值大于M,即,目標塊中的保留頁全部被寫時,獲得ー個交換塊,將目標塊中的非垃圾頁、即有效數(shù)據(jù)頁復制逐一到所述交換塊的P個物理頁中,然后,將映射表中交換塊邏輯地址對應的物理地址與原目標塊邏輯地址對應的物理地址互換,再將原目標塊清空。此時,所述交換塊變成數(shù)據(jù)塊,其頁寫指針值為P+1,原目標塊變成交換塊。然后根據(jù)新的地址映射表和頁寫指針進行寫數(shù)據(jù)操作。
如果所述頁寫指針值不大于M,則直接根據(jù)地址映射表和頁寫指針進行寫數(shù)據(jù)操作。有益效果當Host端要寫ー頁數(shù)據(jù)時,本方法直接對頁進行編程,而不是寫整個塊的數(shù)據(jù)。當Host端要對同一邏輯頁進行重復寫時,通過頁映射表而映射到不同的物理頁,從而實現(xiàn)頁編程,而不用把該塊擦掉再寫整個塊的數(shù)據(jù)。由于數(shù)據(jù)寫操作的単位從整塊縮減到頁,避免了大量的擦除操作,因而大大提高了寫數(shù)據(jù)的效率,提高了閃存的壽命。
下面結(jié)合附圖和具體實施方式
對本發(fā)明的技術(shù)方案作進ー步具體說明。圖I為ー個塊的邏輯頁與物理頁的映射示意圖。圖2為寫第N頁操作吋,邏輯頁、物理頁的映射對照圖。圖3為當頁寫指針大于M時,數(shù)據(jù)塊、交換塊互換的映射對照圖。圖4為本發(fā)明的閃存讀寫流程圖。
具體實施例方式如圖I所示,左邊的尋址映射表包括0 47共48個邏輯頁,右邊的塊表包括0 63共M=64個物理頁,64個物理頁的前P=48個與48個邏輯頁——映射,后Q=16個物理頁作為保留頁。每個塊設(shè)ー個頁寫指針,用于指向塊內(nèi)ー個空白頁;當塊中所有物理頁為空白吋,頁寫指針值為1,即指向第0個物理頁;每寫ー個頁,頁寫指針加I。如圖2所示,當向目標塊內(nèi)某物理頁進行寫操作時,首先,通過邏輯頁尋址,在目標塊的48個邏輯頁中的選中第N邏輯頁,第N邏輯頁映射到第N物理頁。此時,如果第N物理頁已存在數(shù)據(jù)、非空,則數(shù)據(jù)寫入頁寫指針指向的位于保留頁表的第48物理頁,然后將第N物理頁標記為垃圾頁,再將當前第48物理頁的地址映射到第N邏輯頁。如圖3所示,當經(jīng)過多次頁寫操作后,頁寫指針值大于M,即目標塊中的16個保留頁全部被寫時,申請獲得ー個交換塊,將目標塊中的非垃圾頁、即有效數(shù)據(jù)頁復制逐一到交換塊的P個物理頁中。特別說明的是,本領(lǐng)域技術(shù)人員應該得知,此時目標塊中的有效數(shù)據(jù)頁數(shù)目就是P=48個。然后,將映射表中交換塊邏輯地址對應的物理地址與原目標塊邏輯地址對應的物理地址互換,再將目標塊清空。此時,交換塊變成新的數(shù)據(jù)塊,新數(shù)據(jù)塊的頁寫指針值為P+1,即指向第48物理頁。原目標塊變成交換塊。下面結(jié)合圖4說明本發(fā)明總體的閃存讀寫流程。首先,閃存進入正常工作狀態(tài),等待接收主機Host發(fā)出的讀寫命令,接到Host發(fā)出的讀寫命令后,閃存控制器進行地址映射表轉(zhuǎn)換,包括由邏輯塊地址轉(zhuǎn)換到物理塊地址,邏輯頁地址轉(zhuǎn)換到物理頁地址,如果為讀數(shù)據(jù),則根據(jù)地址映射表的映射地址尋址到物理頁,讀取該物理頁數(shù)據(jù),然后返回。如果為寫數(shù)據(jù),則判斷頁寫指針是否超出門限值,即頁寫指針的值是否大于M,如果否,則執(zhí)行根據(jù)地址映射表和頁寫指針,把數(shù)據(jù)寫入閃存步驟,更新地址映射表步驟。具體包括在目標塊的P個邏輯頁中的選中ー個邏輯頁,該選中邏輯頁映射的ー個物理頁,如果選中物理頁為空,則在該物理頁寫數(shù)據(jù);如果選中物理頁已存在數(shù)據(jù)、非空,則將數(shù)據(jù)寫入所述頁寫指針指向的物理頁,然后將所述選中物理頁標記為垃圾頁,再將寫入數(shù)據(jù)的物理頁地址映射到、所述選中邏輯頁。參見圖2說明。如果是,S卩,目標塊中的保留頁全部被寫時,獲得ー個交換塊,將目標塊中的非垃圾頁、即有效數(shù)據(jù)頁復制逐一到交換塊的P個物理頁中,然后,將映射表中交換塊邏輯地址對應的物理地址與原目標塊邏輯地址對應的物理地址互換,再將原目標塊清空。此時,交換塊變成數(shù)據(jù)塊,其頁寫指針值為P+1,原目標塊變成交換塊。然后再執(zhí)行根據(jù)地址映射表和頁寫指針,把數(shù)據(jù)寫入閃存步驟,更新地址映射表步驟,真正完成數(shù)據(jù)的寫操作。最后所應說明的是,以上具體實施方式
僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實施例對本發(fā)明進行了詳細說明,本領(lǐng)域的普通技術(shù)人員應當理解,可以對本發(fā)明的技術(shù)方案進行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,其均 應涵蓋在本發(fā)明的權(quán)利要求范圍當中。
權(quán)利要求
1.一種多通道閃存的區(qū)塊管理方法,所述閃存包括若干個塊,每個塊劃分為M個物理頁 其特征在于,所述M個物理頁中,前P個連續(xù)的物理頁與頁映射表中的P個邏輯頁一一映射,后Q個連續(xù)的物理頁作為保留頁,M=P+Q ;每個塊設(shè)一個頁寫指針,用于指向塊內(nèi)一個空白頁;當塊中所有物理頁為空白時,所述頁寫指針值為I ;每寫一個頁,所述頁寫指針加I ; 當進行目標塊內(nèi)的頁寫操作時,在目標塊的P個邏輯頁中的選中一個邏輯頁,該選中邏輯頁映射的一個物理頁,如果選中物理頁為空,則在該物理頁寫數(shù)據(jù);如果選中物理頁已存在數(shù)據(jù)、非空,則將數(shù)據(jù)寫入所述頁寫指針指向的物理頁,然后將所述選中物理頁標記為垃圾頁,再將寫入數(shù)據(jù)的物理頁地址映射到所述選中邏輯頁。
2.根據(jù)權(quán)利要求I所述的多通道閃存的區(qū)塊管理方法,其特征在于,當所述進行目標塊內(nèi)的頁寫操作時,首先判斷所述頁寫指針值是否大于M,如果所述頁寫指針值大于M,即,目標塊中的保留頁全部被寫時,獲得一個交換塊,將目標塊中的非垃圾頁、即有效數(shù)據(jù)頁復制逐一到所述交換塊的P個物理頁中,然后,將映射表中交換塊邏輯地址對應的物理地址與原目標塊邏輯地址對應的物理地址互換,再將原目標塊清空;此時,所述交換塊變成數(shù)據(jù)塊,其頁寫指針值為p+l,原目標塊變成交換塊;然后根據(jù)新的地址映射表和頁寫指針進行寫數(shù)據(jù)操作; 如果所述頁寫指針值不大于M,則直接根據(jù)地址映射表和頁寫指針進行寫數(shù)據(jù)操作。
全文摘要
本發(fā)明公開了一種多通道閃存的區(qū)塊管理方法,閃存包括若干個塊,每個塊劃分為M個物理頁,M個物理頁中,前P個連續(xù)的物理頁與頁映射表中的P個邏輯頁一一映射,后Q個連續(xù)的物理頁作為保留頁;每個塊設(shè)一個頁寫指針,用于指向塊內(nèi)一個空白頁;每寫一個頁,所述頁寫指針加1。當進行目標塊內(nèi)的頁寫操作時,P個邏輯頁中的一個邏輯頁映射的一個物理頁,如果該物理頁為空,則在該物理頁寫數(shù)據(jù);如果該物理頁非空,則將數(shù)據(jù)寫入頁寫指針指向的物理頁,然后將原物理頁標記為垃圾頁,再將寫入數(shù)據(jù)的物理頁地址映射到原邏輯頁。本發(fā)明的數(shù)據(jù)寫操作的單位從整塊縮減到頁,避免了大量的擦除操作,因而大大提高了寫數(shù)據(jù)的效率,提高了閃存的壽命。
文檔編號G06F12/02GK102662849SQ20121005808
公開日2012年9月12日 申請日期2012年3月7日 優(yōu)先權(quán)日2012年3月7日
發(fā)明者吳斌, 顏巍 申請人:憶正科技(武漢)有限公司