亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)寫入方法、數(shù)據(jù)讀取方法和數(shù)據(jù)存儲器的制作方法

文檔序號:6577656閱讀:204來源:國知局
專利名稱:數(shù)據(jù)寫入方法、數(shù)據(jù)讀取方法和數(shù)據(jù)存儲器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)存儲技術(shù)領(lǐng)域,具體涉及數(shù)據(jù)寫入方法、數(shù)據(jù)讀取方法和數(shù)據(jù)存 儲器。
背景技術(shù)
閃存(Flash)是我們?nèi)粘I钪械某R姺且资源鎯ζ?,資料儲存型閃存(Nand Flash)是一種新型的Flash,,Nand Flash由多個塊組成,一個塊由多個頁組成,一個頁可 分為一個或多個扇區(qū)(一般一個扇區(qū)為512個字節(jié))。一個頁的大小由數(shù)據(jù)存儲空間+冗 余空間組成。Nand Flash的操作是以一個塊為擦除單位,以一個頁為寫入單位。按照磁盤 驅(qū)動器在向磁盤讀取和寫入數(shù)據(jù)時,要以扇區(qū)為單位的特性,我們在使用以Nand Flash為 存儲介質(zhì)時,也以扇區(qū)為單位進(jìn)行操作,我們都能識別,所以需要在扇區(qū)的冗余字段中寫入 扇區(qū)地址,以保證數(shù)據(jù)的尋址。扇區(qū)的冗余字段中還保存扇區(qū)保存的數(shù)據(jù)對應(yīng)的錯誤檢查和糾正 (ErrorChecking and Correcting,ECC)碼,以實現(xiàn)對數(shù)據(jù)的糾錯,糾錯能力(糾錯位數(shù))與 ECC碼的位數(shù)是成正比的?,F(xiàn)在一般的Nand Flash頁的使用是按扇區(qū)來劃分,每個扇區(qū)都有冗余,冗余存儲 兩種數(shù)據(jù),一是扇區(qū)的地址,二是ECC碼。一般一個扇區(qū)地址需要四個字節(jié),ECC每糾錯一 個位需要13位的ECC碼。以一個2K字節(jié)/頁的FLASH為例,一個頁的所有冗余字節(jié)數(shù)為 64字節(jié),平分到每個扇區(qū)的冗余字節(jié)數(shù)據(jù)為16字節(jié),除去扇區(qū)地址,這樣冗余只有12字節(jié) 給ECC碼使用,按ECC每糾錯一個位需要13位的ECC碼,即(12*8)/13取整,從而只有7個 位每扇區(qū)的ECC糾錯能力。當(dāng)出現(xiàn)錯誤較多的時,經(jīng)常出現(xiàn)無法實現(xiàn)ECC糾錯的情況。

發(fā)明內(nèi)容
本發(fā)明實施例提供數(shù)據(jù)寫入方法、數(shù)據(jù)讀取方法和數(shù)據(jù)存儲器,可以提高對數(shù)據(jù) 的ECC糾錯能力。本發(fā)明實施例提供的一種數(shù)據(jù)寫入方法,包括存儲器接收待寫入數(shù)據(jù)對應(yīng)的扇區(qū)地址;所述每一個扇區(qū)地址標(biāo)識至少兩個扇 區(qū);接收待寫入數(shù)據(jù),根據(jù)所述扇區(qū)地址將待寫入數(shù)據(jù)寫入對應(yīng)的扇區(qū);將所述每一個扇區(qū)的地址按照對應(yīng)的扇區(qū)數(shù)目進(jìn)行分割,并將分割后的地址分片 分別寫入對應(yīng)的至少兩個扇區(qū);將錯誤檢查和糾正ECC碼寫入所述每個扇區(qū)的冗余字段中。本發(fā)明實施例提供的一種數(shù)據(jù)讀取方法,包括獲取待讀取數(shù)據(jù)對應(yīng)的扇區(qū)地址,所述每一個扇區(qū)地址標(biāo)識至少兩個扇區(qū);根據(jù)所述扇區(qū)地址讀取對應(yīng)的至少兩個扇區(qū)內(nèi)的數(shù)據(jù);根據(jù)扇區(qū)冗余字段存儲的ECC碼對數(shù)據(jù)進(jìn)行錯誤糾正檢查。
4
本發(fā)明實施例提供的一種數(shù)據(jù)存儲器,包括存儲控制器,用于接收讀/寫命令,對存儲單元進(jìn)行數(shù)據(jù)的讀/寫操作;存儲單元,用于保存所述存儲控制單元寫入的數(shù)據(jù);所述存儲單元內(nèi)每連續(xù)的至 少兩個扇區(qū)用一個扇區(qū)地址標(biāo)識;所述扇區(qū)地址按照扇區(qū)地址對應(yīng)的扇區(qū)數(shù)目進(jìn)行劃分, 所述至少兩個扇區(qū)分別保存所述扇區(qū)地址的部分地址分片。本發(fā)明實施例采用將每一個扇區(qū)地址標(biāo)識至少兩個扇區(qū);并將每一個扇區(qū)的地址 按照對應(yīng)的扇區(qū)數(shù)目進(jìn)行分割,并將分割后的地址分片分別寫入對應(yīng)的至少兩個扇區(qū),每 個扇區(qū)保存部分扇區(qū)地址,可以釋放更多的空間為ECC碼使用,使得ECC糾錯的能力大大提
尚o


圖1是本發(fā)明實施例一數(shù)據(jù)存儲方法的流程圖;圖2是本發(fā)明實施例一中扇區(qū)冗余字段的示意圖;圖3是是本發(fā)明實施例二數(shù)據(jù)讀取方法的流程圖;圖4是本發(fā)明實施例三數(shù)據(jù)存儲器的結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于 本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實施例提供數(shù)據(jù)寫入方法、數(shù)據(jù)讀取方法和數(shù)據(jù)存儲器,以下分別進(jìn)行詳 細(xì)說明。實施例一、一種數(shù)據(jù)寫入方法,流程圖如圖1所示,包括A1,存儲器接收待寫入數(shù)據(jù)對應(yīng)的扇區(qū)地址,所述每一個扇區(qū)地址標(biāo)識至少兩個 扇區(qū);可以理解,每個扇區(qū)地址標(biāo)識的扇區(qū)個數(shù)可以根據(jù)具體情況進(jìn)行選擇,考慮的因 素可以包括空間的利用(一個扇區(qū)地址標(biāo)識的扇區(qū)個數(shù)越多,在寫入小數(shù)據(jù)時,浪費的空 間越多),資源的占用等因素。對于一個扇區(qū)地址標(biāo)識兩個扇區(qū)的情況,所述根據(jù)所述扇區(qū)地址將待寫入數(shù)據(jù)寫 入對應(yīng)的扇區(qū)的過程包括將數(shù)據(jù)所述扇區(qū)地址對應(yīng)的數(shù)據(jù)寫入所述兩個扇區(qū)的第一個扇區(qū)里,將所述數(shù)據(jù) 的剩余部分寫入所述兩個扇區(qū)的第二個扇區(qū)里。本實施例中,所述扇區(qū)地址用4個字節(jié),當(dāng) 然扇區(qū)的地址的長度與存儲空間大小有關(guān)系,存儲空間越多,則需要更大的扇區(qū)地址的尋 址范圍,則扇區(qū)地址則越長。A2,接收待寫入數(shù)據(jù),根據(jù)所述扇區(qū)地址將待寫入數(shù)據(jù)寫入對應(yīng)的扇區(qū);A3,將所述每一個扇區(qū)的地址按照對應(yīng)的扇區(qū)數(shù)目進(jìn)行分割,并將分割后的地址 分片分別寫入對應(yīng)的至少兩個扇區(qū);一個扇區(qū)地址標(biāo)識兩個扇區(qū)的情況下,對于一個4字節(jié)的扇區(qū)地址,進(jìn)行扇區(qū)地址的分割,也寫入地址分片可以采用以下方式將扇區(qū)地址分割為高2字節(jié)和低2字節(jié);將高2字節(jié)寫入所述第一個扇區(qū)的冗余中;將所述第二字節(jié)寫入所述第二扇區(qū)的 冗余中。A4,將錯誤檢查和糾正ECC碼寫入所述每個扇區(qū)的剩余冗余字段中。可以理解,本實施例中,步驟A2 步驟A4數(shù)據(jù)的寫入并無絕對順序;具體的執(zhí)行 順序可以依據(jù)應(yīng)用環(huán)境進(jìn)行選擇。本發(fā)明實施例中,可以在每一個扇區(qū)內(nèi)存儲數(shù)據(jù)存儲狀態(tài)標(biāo)識;數(shù)據(jù)存儲狀態(tài)標(biāo) 識可以用1個字節(jié)或者1個位來表示;當(dāng)扇區(qū)內(nèi)存在數(shù)據(jù)時,將扇區(qū)內(nèi)的數(shù)據(jù)存儲狀態(tài)標(biāo)識,置為有效狀態(tài);當(dāng)扇區(qū)內(nèi)不 存在數(shù)據(jù)時,將所述扇區(qū)內(nèi)的數(shù)據(jù)存儲狀態(tài)標(biāo)識,置為無效狀態(tài)。上層管理通過該存儲狀態(tài) 標(biāo)識對該扇區(qū)內(nèi)數(shù)據(jù)的存儲狀態(tài)進(jìn)行識別。如圖2所示,是本實施例中,數(shù)據(jù)寫入完成后,存儲器中第N個扇區(qū)和第N+1個扇 區(qū)對應(yīng)的16字節(jié)冗余的示意圖,其中字節(jié)0和字節(jié)1存儲扇區(qū)地址分片(本例中是低兩字 節(jié)或者高兩字節(jié)),字節(jié)2為存儲狀態(tài)標(biāo)識,字節(jié)3至字節(jié)15用于保存ECC碼,由于ECC碼 由12字節(jié)擴充到了 13字節(jié),因此可以糾錯8位。實施例二、一種數(shù)據(jù)讀取方法,流程如圖3所示,包括 B1,獲取待讀取數(shù)據(jù)對應(yīng)的扇區(qū)地址,所述每一個扇區(qū)地址標(biāo)識至少兩個扇區(qū);B2,根據(jù)所述扇區(qū)地址讀取對應(yīng)的至少兩個扇區(qū)內(nèi)的數(shù)據(jù);以每一個扇區(qū)地址標(biāo)識兩個扇區(qū)為例,讀取數(shù)據(jù)的過程可以為查找扇區(qū)地址對應(yīng)的兩個扇區(qū);依次讀取兩個扇區(qū)內(nèi)的數(shù)據(jù)。依次讀取兩個扇區(qū)內(nèi)的數(shù)據(jù)的過程包括獲取第一個扇區(qū)內(nèi)的數(shù)據(jù)存儲狀態(tài)標(biāo)識,若所述第一個扇區(qū)內(nèi)的數(shù)據(jù)存儲標(biāo)識被 置為有效狀態(tài),則讀取第一個扇區(qū)的數(shù)據(jù);讀取完成后,獲取第二個扇區(qū)內(nèi)數(shù)據(jù)存儲標(biāo)識, 若所述第二個扇區(qū)內(nèi)的數(shù)據(jù)存儲標(biāo)識被置為有效狀態(tài),則繼續(xù)讀取第二個扇區(qū)的數(shù)據(jù)。B3,根據(jù)扇區(qū)冗余字段存儲的ECC碼對數(shù)據(jù)進(jìn)行錯誤糾正檢查。錯誤糾正檢查的過程可以包括判斷數(shù)據(jù)是否有錯,如果有錯,則扇區(qū)冗余字段存儲的ECC碼對數(shù)據(jù)進(jìn)行糾錯。本發(fā)明實施例二提供的數(shù)據(jù)讀取方法,可以實現(xiàn)對實施例一中存儲的數(shù)據(jù)的讀取 和ECC糾錯,提高ECC糾錯的能力。本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可 以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲 介質(zhì)可以包括R0M、RAM、FLASH、磁盤或光盤等。實施例三、一種數(shù)據(jù)存儲器,結(jié)構(gòu)示意圖如圖4所示,包括存儲控制器410,用于接收讀/寫命令,對存儲單元進(jìn)行數(shù)據(jù)的讀/寫操作;存儲單元420,用于保存所述存儲控制單元410寫入的數(shù)據(jù);所述存儲單元420內(nèi) 每連續(xù)的至少兩個扇區(qū)用一個扇區(qū)地址標(biāo)識;所述扇區(qū)地址按照扇區(qū)地址對應(yīng)的扇區(qū)數(shù)目 進(jìn)行劃分,將劃分后的扇區(qū)地址分別保存在每個扇區(qū)的冗余中。本實施例中,一個扇區(qū)地址 標(biāo)識兩個扇區(qū)或更多的扇區(qū),下面以一個扇區(qū)標(biāo)識兩個扇區(qū)為例進(jìn)行說明。
在不設(shè)置數(shù)據(jù)存儲狀態(tài)標(biāo)識的情況下所述存儲單元內(nèi)所述扇區(qū)地址標(biāo)識的每一個扇區(qū)包含512字節(jié)的數(shù)據(jù)存儲區(qū),有 16字節(jié)的冗余存儲區(qū);所述16字節(jié)的冗余存儲區(qū)中2字節(jié)用于存儲扇區(qū)地址的低/高2字 節(jié),14字節(jié)用于存儲ECC碼。在設(shè)置數(shù)據(jù)存儲狀態(tài)標(biāo)識的情況下所述存儲單元內(nèi)所述扇區(qū)地址標(biāo)識的每一個扇區(qū)包含512字節(jié)的數(shù)據(jù)存儲區(qū),有 16字節(jié)的冗余存儲區(qū);所述16字節(jié)的冗余存儲區(qū)中2字節(jié)用于存儲扇區(qū)地址的低/高2字 節(jié),13字節(jié)用于存儲ECC碼,1字節(jié)用于保存數(shù)據(jù)存儲狀態(tài)標(biāo)識,所述數(shù)據(jù)存儲狀態(tài)標(biāo)識的 值用于指示數(shù)據(jù)存儲區(qū)是否有數(shù)據(jù)。以上對本發(fā)明實施例所提供的數(shù)據(jù)寫入方法、數(shù)據(jù)讀取方法和數(shù)據(jù)存儲器進(jìn)行了 詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的 說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依 據(jù)本發(fā)明的思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容 不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
一種數(shù)據(jù)寫入方法,其特征在于,包括存儲器接收待寫入數(shù)據(jù)對應(yīng)的扇區(qū)地址;所述每一個扇區(qū)地址標(biāo)識至少兩個扇區(qū);接收待寫入數(shù)據(jù),根據(jù)所述扇區(qū)地址將待寫入數(shù)據(jù)寫入對應(yīng)的扇區(qū);將所述每一個扇區(qū)的地址按照對應(yīng)的扇區(qū)數(shù)目進(jìn)行分割,并將分割后的地址分片分別寫入對應(yīng)的至少兩個扇區(qū);將錯誤檢查和糾正ECC碼寫入所述每個扇區(qū)的冗余字段中。
2.如權(quán)利要求1所述數(shù)據(jù)寫入方法,其特征在于,所述每一個扇區(qū)地址標(biāo)識兩個扇區(qū); 所述根據(jù)所述扇區(qū)地址將待寫入數(shù)據(jù)寫入對應(yīng)的扇區(qū)的過程包括將數(shù)據(jù)所述扇區(qū)地址對應(yīng)的數(shù)據(jù)寫入所述兩個扇區(qū)的第一個扇區(qū)里,將所述數(shù)據(jù)的剩 余部分寫入所述兩個扇區(qū)的第二個扇區(qū)里。
3.如權(quán)利要求2所述的數(shù)據(jù)寫入方法,其特征在于,所述扇區(qū)地址用4個字節(jié)表示; 將所述每一個扇區(qū)的地址按照對應(yīng)的扇區(qū)數(shù)目進(jìn)行分割,并將分割后的地址分片分別寫入對應(yīng)的至少兩個扇區(qū)的過程包括將扇區(qū)地址分割為高2字節(jié)和低2字節(jié);將高2字節(jié)寫入所述第一個扇區(qū)的冗余中;將所述第二字節(jié)寫入所述第二扇區(qū)的冗余中。
4.如權(quán)利要求2所述的方法,其特征在于,所述每一個扇區(qū)包含數(shù)據(jù)存儲狀態(tài)標(biāo)識; 當(dāng)扇區(qū)內(nèi)存在數(shù)據(jù)時,將扇區(qū)內(nèi)的數(shù)據(jù)存儲狀態(tài)標(biāo)識,置為有效狀態(tài);當(dāng)扇區(qū)內(nèi)不存在數(shù)據(jù)時,將所述扇區(qū)內(nèi)的數(shù)據(jù)存儲狀態(tài)標(biāo)識,置為無效狀態(tài)。
5.一種數(shù)據(jù)讀取方法,其特征在于,包括獲取待讀取數(shù)據(jù)對應(yīng)的扇區(qū)地址,所述每一個扇區(qū)地址標(biāo)識至少兩個扇區(qū); 根據(jù)所述扇區(qū)地址讀取對應(yīng)的至少兩個扇區(qū)內(nèi)的數(shù)據(jù); 根據(jù)扇區(qū)冗余字段存儲的ECC碼對數(shù)據(jù)進(jìn)行錯誤糾正檢查。
6.如權(quán)利要求5所述的數(shù)據(jù)讀取方法,其特征在于,所述根據(jù)扇區(qū)冗余字段存儲的ECC 碼對數(shù)據(jù)進(jìn)行錯誤糾正檢查的過程包括判斷數(shù)據(jù)是否有錯,如果有錯,則扇區(qū)冗余字段存儲的ECC碼對數(shù)據(jù)進(jìn)行糾錯。
7.如權(quán)利要求6所述的方法,其特征在于,所述每一個扇區(qū)地址標(biāo)識兩個扇區(qū); 所述根據(jù)所述扇區(qū)地址讀取對應(yīng)的至少兩個扇區(qū)內(nèi)的數(shù)據(jù)的過程包括查找扇區(qū)地址對應(yīng)的兩個扇區(qū); 依次讀取兩個扇區(qū)內(nèi)的數(shù)據(jù)。
8.如權(quán)利要求7所述的方法,其特征在于,依次讀取兩個扇區(qū)內(nèi)的數(shù)據(jù)的過程包括 獲取第一個扇區(qū)內(nèi)的數(shù)據(jù)存儲狀態(tài)標(biāo)識,若所述第一個扇區(qū)內(nèi)的數(shù)據(jù)存儲標(biāo)識被置為有效狀態(tài),則讀取第一個扇區(qū)的數(shù)據(jù);讀取完成后,獲取第二個扇區(qū)內(nèi)數(shù)據(jù)存儲標(biāo)識,若所 述第二個扇區(qū)內(nèi)的數(shù)據(jù)存儲標(biāo)識被置為有效狀態(tài),則繼續(xù)讀取第二個扇區(qū)的數(shù)據(jù)。
9.一種數(shù)據(jù)存儲器,其特征在于,包括存儲控制器,用于接收讀/寫命令,對存儲單元進(jìn)行數(shù)據(jù)的讀/寫操作; 存儲單元,用于保存所述存儲控制單元寫入的數(shù)據(jù);所述存儲單元內(nèi)每連續(xù)的至少兩 個扇區(qū)用一個扇區(qū)地址標(biāo)識;所述扇區(qū)地址按照扇區(qū)地址對應(yīng)的扇區(qū)數(shù)目進(jìn)行劃分,將劃 分后的扇區(qū)地址分別保存在每個扇區(qū)的冗余中。
10.如權(quán)利要求9所述的數(shù)據(jù)存儲器,其特征在于,一個扇區(qū)地址標(biāo)識兩個扇區(qū); 所述存儲單元內(nèi)所述扇區(qū)地址標(biāo)識的每一個扇區(qū)包含512字節(jié)的數(shù)據(jù)存儲區(qū),有16字節(jié)的冗余存儲區(qū);所述16字節(jié)的冗余存儲區(qū)中2字節(jié)用于存儲扇區(qū)地址的低/高2字節(jié), 14字節(jié)用于存儲ECC碼。
11.如權(quán)利要求9所述的數(shù)據(jù)存儲器,其特征在于,一個扇區(qū)地址標(biāo)識兩個扇區(qū); 所述存儲單元內(nèi)所述扇區(qū)地址標(biāo)識的每一個扇區(qū)包含512字節(jié)的數(shù)據(jù)存儲區(qū),16字節(jié)的冗余存儲區(qū);所述16字節(jié)的冗余存儲區(qū)中2字節(jié)用于存儲扇區(qū)地址的低/高2字節(jié),13 字節(jié)用于存儲ECC碼,1字節(jié)用于保存數(shù)據(jù)存儲狀態(tài)標(biāo)識,所述數(shù)據(jù)存儲狀態(tài)標(biāo)識的值用于 指示數(shù)據(jù)存儲區(qū)是否有數(shù)據(jù)。
全文摘要
本發(fā)明公開了數(shù)據(jù)寫入方法、數(shù)據(jù)讀取方法和數(shù)據(jù)存儲器,本發(fā)明實施例采用將每一個扇區(qū)地址標(biāo)識至少兩個扇區(qū);并將每一個扇區(qū)的地址按照對應(yīng)的扇區(qū)數(shù)目進(jìn)行分割,并將分割后的地址分片分別寫入對應(yīng)的至少兩個扇區(qū),每個扇區(qū)保存部分扇區(qū)地址,可以釋放更多的空間為ECC碼使用,使得ECC糾錯的能力大大提高。
文檔編號G06F11/08GK101853212SQ200910132658
公開日2010年10月6日 申請日期2009年3月30日 優(yōu)先權(quán)日2009年3月30日
發(fā)明者單見元, 畢磊 申請人:芯邦科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1