本發明專利技術實施例提供了一種向NAND閃存寫入數據方法以及讀取NAND閃存中數據的方法,向NAND閃存寫入數據方法包括:將本次寫操作需要寫入的數據對應的頁碼轉換成相應的邏輯地址與邏輯頁地址;確定最新物理地址,從所述最新物理地址的下一物理頁地址開始依次將所述本次寫操作需要寫入的數據寫入物理頁的數據存儲區域,在每寫完一物理頁后,將寫入這一物理頁中數據對應的邏輯頁地址存儲至所述這一物理頁的地址存儲區域;根據本次寫操作中邏輯頁地址、物理頁地址以及物理塊地址的對應關系,對所述鏈表的原始動態映射頁中的對應關系進行更新。采用本發明專利技術實施例的寫入數據方法可以提高物理頁的使用率以及讀寫NAND閃存的速率。
【技術實現步驟摘要】
【專利摘要】本專利技術實施例提供了一種向NAND閃存寫入數據方法以及讀取NAND閃存中數據的方法,向NAND閃存寫入數據方法包括:將本次寫操作需要寫入的數據對應的頁碼轉換成相應的邏輯地址與邏輯頁地址;確定最新物理地址,從所述最新物理地址的下一物理頁地址開始依次將所述本次寫操作需要寫入的數據寫入物理頁的數據存儲區域,在每寫完一物理頁后,將寫入這一物理頁中數據對應的邏輯頁地址存儲至所述這一物理頁的地址存儲區域;根據本次寫操作中邏輯頁地址、物理頁地址以及物理塊地址的對應關系,對所述鏈表的原始動態映射頁中的對應關系進行更新。采用本專利技術實施例的寫入數據方法可以提高物理頁的使用率以及讀寫NAND閃存的速率。【專利說明】
本專利技術涉及數據存儲領域,更具體的說,是涉及一種。
技術介紹
目前,NAND 閃存中的 NFTL (NAND Flash Translation Layer, NAND FLASH 轉換層)是以邏輯地址與物理塊按照以塊為映射,頁的相對偏移原則存儲數據的,在向物理塊中寫入數據時,寫的操作必須是完全順序的,即邏輯頁第一頁必須寫在物理頁第一頁,邏輯頁第二頁必須寫在物理頁第二頁,以此類推。不支持跳寫的NAND閃存,當物理頁X被寫入數據時,所有小于X的物理頁必須已經被寫過數據,如果物理塊第X-1頁未寫入數據,而直接在物理頁第X頁寫數據,那么該物理塊中的數據位將會發生翻轉,導致物理塊的數據錯誤,這時可以先在所有小于X的空白物理頁中寫入一些臟數據,再在物理頁第X頁寫數據,這樣物理塊中的數據位就不會發生翻轉了,支持跳寫的NAND閃存,如果首先在物理頁X被寫入數據,再需要在物理頁第X-1頁寫入數據時,需要增加一新空閑物理塊,并在增加的空閑物理塊的第X-1頁寫入數據;NAND閃存不支持覆蓋寫,如果物理塊中已經寫滿了數據,當需要對該物理塊中的第X頁進行修改時,即該物理塊中物理頁X中的數據為無效數據,需要在增加一個空閑物理塊,將第X頁中需要重寫的數據寫入新增加的空閑物理塊的第X頁中,在新增加的空閑物理塊的物理頁X中存儲的數據是有效數據,而新增加的物理塊的第X-1頁之前都是空白頁或者被寫入了臟數據;NAND閃存不支持回頭寫,如果一空閑物理塊中首先寫入了邏輯頁X即在物理頁X寫入了數據,再向物理頁X-1寫邏輯頁X-1對應的數據時,只能新增加一物理塊,在新增加的物理塊的第X-1頁寫入邏輯頁X-1,而新增加的物理塊的第X-2頁之前都是空白頁或者被寫入了臟數據。因此,現有技術的缺點主要有:第一,不支持跳寫的NAND閃存需要在小于寫入頁之前的空白物理頁寫入臟數據,第二,支持跳寫的NAND閃存在進行覆蓋寫或者回頭寫以及跳寫時需要進行分配新的空閑物理塊,所以物理塊的頁使用率較低。
技術實現思路
有鑒于此,本專利技術提供了一種,以克服不支持跳寫的NAND閃存需要在小于寫入頁之前的空白物理頁寫入臟數據,以及支持跳寫的NAND閃存在進行覆蓋寫或者回頭寫以及跳寫時需要進行分配新的空閑物理塊,導致的物理塊的頁使用率較低的問題。為實現上述目的,本專利技術提供如下技術方案:—種向NAND閃存寫入數據方法,包括:A1、將本次寫操作需要寫入的數據對應的頁碼轉換成相應的邏輯地址與邏輯頁地址;A2、確定所述邏輯地址對應的鏈表的當前鏈表頭在上次寫操作中最后被寫入數據的物理頁的最新物理地址;A3、從所述最新物理地址的下一物理頁地址開始依次將所述本次寫操作需要寫入的數據寫入物理頁的數據存儲區域,在每寫完一物理頁后,將寫入這一物理頁中數據對應的邏輯頁地址存儲至所述這一物理頁的地址存儲區域,每一物理頁包括數據存儲區域以及地址存儲區域;A4、根據本次寫操作中每一邏輯頁地址、所述每一邏輯頁地址對應的邏輯頁所在的物理頁的物理頁地址以及所述每一邏輯頁地址對應的邏輯頁所在的物理塊的物理塊地址的對應關系,對所述鏈表原始的動態映射頁中的邏輯頁地址與物理頁地址和物理塊地址的對應關系進行更新,所述動態映射頁存儲有有效數據對應的邏輯頁地址、所述有效數據對應的邏輯頁地址對應的邏輯頁所在的物理頁的物理頁地址以及所述有效數據對應的邏輯頁地址對應的邏輯頁所在的物理塊的物理塊地址的對應關系。一種讀取NAND閃存中數據的方法,包括:B1、將需要讀取的數據對應的頁碼轉換為邏輯地址與邏輯頁地址;B2:確定所述邏輯地址對應的鏈表;B3:根據與所述鏈表對應的動態映射頁,確定出所述需要讀取的數據對應的物理塊地址和物理頁地址,讀取所述物理塊地址與物理頁地址中存儲的數據,所述動態映射頁存儲有有效數據對應的邏輯頁地址、所述有效數據對應的邏輯頁地址對應的邏輯頁所在的物理頁的物理頁地址以及所述有效數據對應的邏輯頁地址對應的邏輯頁所在的物理塊的物理塊地址的對應關系。經由上述的技術方案可知,本專利技術實施例公開的數據寫入方法,在執行寫操作時,由于邏輯頁地址與該邏輯頁地址對應的邏輯頁所在的物理頁的物理頁地址與該邏輯頁地址對應的邏輯頁所在的物理塊的物理塊地址,三者的對應關系存儲在動態映射頁中,所以物理頁地址為一的物理頁中可以不寫入邏輯頁地址一對應的數據。對于物理頁地址而言,還是需要從物理頁低地址寫至物理頁高地址。所以在進行覆蓋寫、回頭寫及跳寫時,例如,需要重新寫入邏輯頁地址一對應的數據(覆蓋寫),或者首先寫入了邏輯頁地址三對應的數據后,現在需要寫邏輯頁地址二對應的數據(回頭寫),或者在寫入邏輯頁地址二對應的數據后,需要寫入邏輯頁地址四對應的數據(跳寫)時,如果當前鏈表頭已經寫滿,則增加一新空閑物理塊,但是寫入的數據可以寫在新增加的物理塊地址為零的物理頁中,并不需要寫在與邏輯頁地址一致的物理頁中,如果當前鏈表頭沒有被寫滿,那么直接將需要寫入的數據寫入最新物理地址的下一物理頁地址開始的物理頁的數據存儲區域,從理論上說每一物理塊中的每一物理頁都可以寫入數據,從而提高了物理塊中物理頁的使用率,不支持跳寫的NAND閃存,由于實現了邏輯頁的跳寫,并不存在也不需要物理頁的跳寫,所以不需要寫入臟數據,從而提高了讀寫數據的速率?!緦@綀D】【附圖說明】為了更清楚地說明本專利技術實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。圖1為本專利技術實施例公開的第一種向NAND閃存寫入數據方法的流程圖;圖2為本專利技術實施例公開的第二種向NAND閃存寫入數據方法的流程圖;圖3為固定映射鏈表向轉換成隨機映射鏈表的過程意圖;圖4為本專利技術實施例提供的第一種在隨機映射鏈中寫入數據的方法的流程圖;圖5為本專利技術實施例提供的第二種在隨機映射鏈表中寫入數據的方法的流程圖;圖6為物理塊I與物理塊2中各個物理頁的spare oob信息圖示;圖7為本專利技術實施例公開的第一種讀取NAND閃存中數據的方法的流程圖;圖8為本專利技術實施例公開的第二種讀取NAND閃存中數據的方法的流程圖;圖9為本專利技術實施例公開的一種將需要讀取的數據對應的頁碼轉換為物理塊地址與物理頁地址的方法流程圖;圖10為將實施例六與實施例七相結合的一個具體實現算法流程圖;圖11為本專利技術實施例公開的第一種加載動態映射頁的方法的流程圖;圖12為本專利技術實本文檔來自技高網...

【技術保護點】
一種向NAND閃存寫入數據方法,其特征在于,包括:A1、將本次寫操作需要寫入的數據對應的頁碼轉換成相應的邏輯地址與邏輯頁地址;A2、確定所述邏輯地址對應的鏈表的當前鏈表頭在上次寫操作中最后被寫入數據的物理頁的最新物理地址;A3、從所述最新物理地址的下一物理頁地址開始依次將所述本次寫操作需要寫入的數據寫入物理頁的數據存儲區域,在每寫完一物理頁后,將寫入這一物理頁中數據對應的邏輯頁地址存儲至所述這一物理頁的地址存儲區域,每一物理頁包括數據存儲區域以及地址存儲區域;A4、根據本次寫操作中每一邏輯頁地址、所述每一邏輯頁地址對應的邏輯頁所在的物理頁的物理頁地址以及所述每一邏輯頁地址對應的邏輯頁所在的物理塊的物理塊地址的對應關系,對所述鏈表原始的動態映射頁中的邏輯頁地址與物理頁地址和物理塊地址的對應關系進行更新,所述動態映射頁存儲有有效數據對應的邏輯頁地址、所述有效數據對應的邏輯頁地址對應的邏輯頁所在的物理頁的物理頁地址以及所述有效數據對應的邏輯頁地址對應的邏輯頁所在的物理塊的物理塊地址的對應關系。
【技術特征摘要】
【專利技術屬性】
技術研發人員:莊玉平,艾駿,胡勝發,
申請(專利權)人:安凱廣州微電子技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。