欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種NAND閃存設(shè)備的數(shù)據(jù)處理方法及裝置與流程

文檔序號:11432059閱讀:247來源:國知局
一種NAND閃存設(shè)備的數(shù)據(jù)處理方法及裝置與流程

本發(fā)明涉及數(shù)據(jù)存儲技術(shù)領(lǐng)域,尤其涉及一種nand閃存設(shè)備的數(shù)據(jù)處理方法及裝置。



背景技術(shù):

固態(tài)硬盤與傳統(tǒng)機械硬盤相比,在存取速度上有了質(zhì)的飛躍。而mlcnand閃存設(shè)備,通過將mlcnand閃存應(yīng)用于固態(tài)硬盤,可以大大增加存儲器的存儲密度,降低存儲成本。mlcnand是指多層單元(multi-levelcell)的nand閃存。nand閃存的一個存儲單元如果只存儲一個比特數(shù)據(jù),稱為slc(single-levelcell)的nand閃存,如果能存儲2個比特數(shù)據(jù),稱為多層單元(mlc)的nand閃存,如果能存儲3個比特數(shù)據(jù),稱為三層單元(tlc)的nand閃存。但是,由于mlcnand閃存設(shè)備的一個存儲單元里存儲多比特數(shù)據(jù),數(shù)據(jù)出錯的概率大大增加。尤其是隨著工藝尺寸減少到20nm以下,在浮柵層存儲的電荷數(shù)目減少,氧化層的厚度更小的情況下,保存在浮柵層的電荷更有可能逸出,從而導(dǎo)致數(shù)據(jù)保留錯誤發(fā)生的概率大大提高。

目前,現(xiàn)有技術(shù)中減少mlcnand閃存設(shè)備數(shù)據(jù)錯誤的方法主要包括如下幾種:

利用bch/ldpc等糾錯技術(shù)。它們是通用的數(shù)據(jù)糾錯技術(shù),不需要了解錯誤產(chǎn)生的原理和機制,可用于任合場景下的數(shù)據(jù)錯誤。該方法需要一些冗余位來對原始數(shù)據(jù)進行編碼。如果閃存中的錯誤數(shù)量越多,需要的冗余位就越多,這些冗余位需要額外占據(jù)閃存的存儲空間,因此用戶能夠存儲的數(shù)據(jù)就變少了。在nand閃存中主要有兩種數(shù)據(jù)錯誤方式:一種是數(shù)據(jù)干擾錯誤,另一種是數(shù)據(jù)保留錯誤。在當今的工藝尺寸下,數(shù)據(jù)保留錯誤的概率遠遠大于數(shù)據(jù)干擾錯誤。因此,bch/ldpc作為通用的數(shù)據(jù)糾錯技術(shù),它無法利用這種概率的差異性來減小錯誤的概率。

非對稱編碼技術(shù)。該技術(shù)通過更改輸入的數(shù)據(jù)模式,降低閾值電壓比較高的數(shù)據(jù)出現(xiàn)的概率,以此來降低數(shù)據(jù)保留錯誤。這種方法對數(shù)據(jù)保留錯誤有很好的效果,但對數(shù)據(jù)干擾錯誤無效,甚至可能會增加數(shù)據(jù)干擾錯誤。該方案針對每16比特數(shù)據(jù)就增加一個flag來標識這16比特是0的數(shù)目多還是1的數(shù)目多,這個flag也需要存儲在nand閃存中,因此這種編碼的空間代價是6.25%。如果單獨使用非對稱編碼,那這個空間代價對于固態(tài)硬盤來說,不是太大。但由于這種編碼算法只針對數(shù)據(jù)保留錯誤,對干擾錯誤無效,因此必須同時使用通用的bch/ldpc糾錯技術(shù),這樣非對稱編碼算法6.3%的空間代價就是bch/ldpc冗余碼之外額外增加的代價,很難被接受。

因此,如何提供一種能夠有效地降低nand閃存設(shè)備的數(shù)據(jù)錯誤發(fā)生概率的數(shù)據(jù)處理方法是目前亟待解決的技術(shù)問題。



技術(shù)實現(xiàn)要素:

鑒于上述問題,本發(fā)明提出了一種nand閃存設(shè)備的數(shù)據(jù)處理方法及裝置,能夠有效地降低nand閃存設(shè)備的數(shù)據(jù)錯誤發(fā)生概率,提升nand閃存設(shè)備的總體性能。

本發(fā)明的一個方面,提供了一種nand閃存設(shè)備的數(shù)據(jù)處理方法,所述方法包括:

接收到主機發(fā)送的數(shù)據(jù)寫入請求命令時,判定待處理塊數(shù)據(jù)在nand閃存設(shè)備的待操作存儲單元中對應(yīng)的page頁;

根據(jù)page頁的類型以及待處理塊數(shù)據(jù)的數(shù)據(jù)特征,按照預(yù)設(shè)規(guī)則對所述待處理塊數(shù)據(jù)進行求反運算,并在所述待操作存儲單元對應(yīng)page頁的元數(shù)據(jù)區(qū)進行數(shù)據(jù)處理方式的標識;

對處理后的待處理塊數(shù)據(jù)進行編碼,并將編碼后的編碼數(shù)據(jù)寫入所述待操作存儲單元。

可選地,所述方法還包括:

預(yù)先為所述nand閃存設(shè)備中的每一存儲單元設(shè)置對應(yīng)的元數(shù)據(jù)區(qū),所述元數(shù)據(jù)區(qū)用于標識寫入存儲單元不同page頁的數(shù)據(jù)對應(yīng)的數(shù)據(jù)處理方式。

可選地,所述根據(jù)page頁的類型以及待處理塊數(shù)據(jù)的數(shù)據(jù)特征,按照預(yù)設(shè)規(guī)則對所述待處理塊數(shù)據(jù)進行求反運算,并在所述待操作存儲單元對應(yīng)page頁的元數(shù)據(jù)區(qū)進行數(shù)據(jù)處理方式的標識,包括:

當所述page頁為lowerpage頁時,判定所述待處理塊數(shù)據(jù)中0的數(shù)量是否大于1的數(shù)量;若是,則將所述待處理塊數(shù)據(jù)中每一比特位對應(yīng)的數(shù)據(jù)均進行求反運算,并將求反運算對應(yīng)的數(shù)據(jù)處理方式標識寫入所述待操作存儲單元對應(yīng)page頁的元數(shù)據(jù)區(qū);否則,直接對所述待處理塊數(shù)據(jù)進行編碼操作。

可選地,所述根據(jù)page頁的類型以及待處理塊數(shù)據(jù)的數(shù)據(jù)特征,按照預(yù)設(shè)規(guī)則對所述待處理塊數(shù)據(jù)進行求反運算,并在所述待操作存儲單元對應(yīng)page頁的元數(shù)據(jù)區(qū)進行數(shù)據(jù)處理方式的標識,包括:

當所述page頁為upperpage頁時,判定所述待處理塊數(shù)據(jù)中1的數(shù)量是否大于0的數(shù)量;若是,則將所述待處理塊數(shù)據(jù)中每一比特位對應(yīng)的數(shù)據(jù)均進行求反運算,并將求反運算對應(yīng)的數(shù)據(jù)處理方式標識寫入所述待操作存儲單元對應(yīng)page頁的元數(shù)據(jù)區(qū);否則,直接對所述待處理塊數(shù)據(jù)進行編碼操作。

可選地,在將編碼后的編碼數(shù)據(jù)寫入所述待操作存儲單元之后,所述方法還包括:

當接收到所述主機發(fā)送的數(shù)據(jù)讀取請求命令時,從待操作存儲單元的page頁中讀取目標數(shù)據(jù),并對所述目標數(shù)據(jù)進行解碼;

獲取所述目標數(shù)據(jù)對應(yīng)page頁的元數(shù)據(jù)區(qū)中的標識信息;

判定所述標識信息是否為求反運算對應(yīng)的數(shù)據(jù)處理方式標識,若是,則將解碼后的塊數(shù)據(jù)中每一比特位對應(yīng)的數(shù)據(jù)均進行求反運算,并將得到的塊數(shù)據(jù)傳輸?shù)街鳈C,否則,直接將解碼后的塊數(shù)據(jù)傳輸?shù)街鳈C。

本發(fā)明的又一個方面,提供了一種nand閃存設(shè)備的數(shù)據(jù)處理裝置,所述裝置包括:

判定模塊,用于在接收到主機發(fā)送的數(shù)據(jù)寫入請求命令時,判定待處理塊數(shù)據(jù)在nand閃存設(shè)備的待操作存儲單元中對應(yīng)的page頁;

數(shù)據(jù)處理模塊,用于根據(jù)page頁的類型以及待處理塊數(shù)據(jù)的數(shù)據(jù)特征,按照預(yù)設(shè)規(guī)則對所述待處理塊數(shù)據(jù)進行求反運算,并在所述待操作存儲單元對應(yīng)page頁的元數(shù)據(jù)區(qū)進行數(shù)據(jù)處理方式的標識;

命令執(zhí)行模塊,用于對所述數(shù)據(jù)處理模塊處理后的待處理塊數(shù)據(jù)進行編碼,并將編碼后的編碼數(shù)據(jù)寫入所述待操作存儲單元。

可選地,所述裝置還包括:

配置模塊,用于預(yù)先為所述nand閃存設(shè)備中的每一存儲單元設(shè)置對應(yīng)的元數(shù)據(jù)區(qū),所述元數(shù)據(jù)區(qū)用于標識寫入存儲單元不同page頁的數(shù)據(jù)對應(yīng)的數(shù)據(jù)處理方式。

可選地,所述數(shù)據(jù)處理模塊,具體用于當所述page頁為lowerpage頁時,判定所述待處理塊數(shù)據(jù)中0的數(shù)量是否大于1的數(shù)量,若是,則將所述待處理塊數(shù)據(jù)中每一比特位對應(yīng)的數(shù)據(jù)均進行求反運算,并將求反運算對應(yīng)的數(shù)據(jù)處理方式標識寫入所述待操作存儲單元對應(yīng)page頁的元數(shù)據(jù)區(qū);

所述命令執(zhí)行模塊,還用于當所述待處理塊數(shù)據(jù)中0的數(shù)量小于或等于1的數(shù)量時,直接對所述待處理塊數(shù)據(jù)進行編碼操作。

可選地,所述數(shù)據(jù)處理模塊,具體用于當所述page頁為upperpage頁時,判定所述待處理塊數(shù)據(jù)中1的數(shù)量是否大于0的數(shù)量,若是,則將所述待處理塊數(shù)據(jù)中每一比特位對應(yīng)的數(shù)據(jù)均進行求反運算,并將求反運算對應(yīng)的數(shù)據(jù)處理方式標識寫入所述待操作存儲單元對應(yīng)page頁的元數(shù)據(jù)區(qū);

所述命令執(zhí)行模塊,還用于當所述待處理塊數(shù)據(jù)中1的數(shù)量小于或等于0的數(shù)量時,直接對所述待處理塊數(shù)據(jù)進行編碼操作。

可選地,所述命令執(zhí)行模塊,還用于在將編碼后的編碼數(shù)據(jù)寫入所述待操作存儲單元之后,當接收到所述主機發(fā)送的數(shù)據(jù)讀取請求命令時,從待操作存儲單元的page頁中讀取目標數(shù)據(jù),并對所述目標數(shù)據(jù)進行解碼;

所述裝置還包括:

獲取模塊,用于獲取所述目標數(shù)據(jù)對應(yīng)page頁的元數(shù)據(jù)區(qū)中的標識信息;

相應(yīng)的,所述判定模塊,還用于判定所述標識信息是否為求反運算對應(yīng)的數(shù)據(jù)處理方式標識;

所述數(shù)據(jù)處理模塊,還用于當所述判定模塊的判定結(jié)果為所述標識信息是求反運算對應(yīng)的數(shù)據(jù)處理方式標識時,將解碼后的塊數(shù)據(jù)中每一比特位對應(yīng)的數(shù)據(jù)均進行求反運算,并將得到的塊數(shù)據(jù)傳輸?shù)街鳈C,否則,直接將解碼后的塊數(shù)據(jù)傳輸?shù)街鳈C。

本發(fā)明實施例提供的nand閃存設(shè)備的數(shù)據(jù)處理方法及裝置,接收到主機發(fā)送的數(shù)據(jù)寫入請求命令時,根據(jù)待操作存儲單元中對應(yīng)的page頁的類型以及待處理塊數(shù)據(jù)的數(shù)據(jù)特征,按照預(yù)設(shè)規(guī)則對待處理塊數(shù)據(jù)進行求反運算,并在nand閃存設(shè)備的存儲單元中的元數(shù)據(jù)區(qū)存儲少量信息來標識該存儲單元對應(yīng)page頁中存儲數(shù)據(jù)對應(yīng)的數(shù)據(jù)處理方式,進而利用這些信息來減少數(shù)據(jù)保留錯誤,能夠有效地降低nand閃存設(shè)備的數(shù)據(jù)錯誤發(fā)生概率,提升nand閃存設(shè)備的總體性能。

上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。

附圖說明

通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:

圖1為nand存儲單元的結(jié)構(gòu)示意圖;

圖2為mlcnand閃存設(shè)備中存儲單元的閾值電壓分布示意圖;

圖3為mlcnand閃存設(shè)備中存儲單元由于數(shù)據(jù)保留錯誤導(dǎo)致的閾值電壓偏移示意圖;

圖4為本發(fā)明實施例的一種nand閃存設(shè)備的數(shù)據(jù)處理方法的流程圖;

圖5為對于4k字節(jié)的寫操作處理的具體處理流程圖;

圖6為對于4k字節(jié)的讀取操作處理的具體處理流程圖;

圖7為本發(fā)明實施例的一種nand閃存設(shè)備的數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖;

圖8為本發(fā)明另一實施例的一種nand閃存設(shè)備的數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。

具體實施方式

下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。

本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學術(shù)語),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語,應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非被特定定義,否則不會用理想化或過于正式的含義來解釋。

nand閃存設(shè)備是一種高性能低功耗的非易失性存儲器,在現(xiàn)今的存儲行業(yè)中正得到越來越廣泛的應(yīng)用,尤其是固態(tài)硬盤更是發(fā)展迅猛。一直以來,nand閃存的工藝制程越來越小。圖1為nand存儲單元的結(jié)構(gòu)示意圖,參見圖1,每個nand存儲單元從僅有一比特數(shù)據(jù)的slc,發(fā)展到現(xiàn)今的mlc/tlc。這些發(fā)展的好處顯而易見,同樣的面積上存儲單元的數(shù)量不斷增加,成本因此不斷地下降。但伴隨而來的挑戰(zhàn)是,各個存儲單元之間的距離越來越小,氧化層越來越薄,相鄰存儲單元電信號的干擾越來越強,因此數(shù)據(jù)錯誤越來越多。

圖2為mlcnand閃存設(shè)備中存儲單元的閾值電壓分布示意圖,參見圖2,對于mlcnand閃存來說,一個存儲單元存2比特數(shù)據(jù),其中一個bit屬于lowerpage,另一個bit屬于upperpage。存儲單元根據(jù)這2比特數(shù)據(jù)會編程到4種不同的閾值電壓。圖2中,當存儲數(shù)據(jù)為11(數(shù)據(jù)狀態(tài)datastate是0)時,存儲單元的閾值電壓符合最左邊的高斯分布;當存儲數(shù)據(jù)為01(datastate是1,upperpage為0,lowerpage為1)時,存儲單元的閾值電壓符合次左邊的高斯分布;當存儲數(shù)據(jù)為00(datastate是2)時,存儲單元的閾值電壓符合次右邊的高斯分布;當存儲數(shù)據(jù)為10(datastate是3,upperpage為1,lowerpage為0)時,存儲單元的閾值電壓符合最右邊的高斯分布。

當一個存儲單元編程以后,隨著時間的流逝,存儲的電荷可能會逸出,從而發(fā)生數(shù)據(jù)保留錯誤。這種錯誤會導(dǎo)致這個存儲單元的閾值電壓會降低,如圖3所示??梢?,一個存儲單元的熱平衡電壓是在0v左右,所以閾值電壓越高,越可能發(fā)生電荷逸出,從而導(dǎo)致數(shù)據(jù)保留錯誤。統(tǒng)計中也發(fā)現(xiàn),對于數(shù)據(jù)保留錯誤,upperpage發(fā)生從1到0的錯誤比較多,而lowerpage發(fā)生從0到1的錯誤比較多。

為此,本發(fā)明實施例提供了一種通過降低數(shù)據(jù)10和00的概率來減少數(shù)據(jù)保留錯誤的數(shù)據(jù)處理方法,以在不增加過多的冗余位、不占據(jù)過多的存儲空間的前提下,有效地降低nand閃存設(shè)備的數(shù)據(jù)錯誤發(fā)生概率,提升nand閃存設(shè)備的總體性能。

圖4示意性示出了本發(fā)明一個實施例的nand閃存設(shè)備的數(shù)據(jù)處理方法的流程圖。參照圖4,本發(fā)明實施例的nand閃存設(shè)備的數(shù)據(jù)處理方法具體包括以下步驟:

s11、接收到主機發(fā)送的數(shù)據(jù)寫入請求命令時,判定待處理塊數(shù)據(jù)在nand閃存設(shè)備的待操作存儲單元中對應(yīng)的page頁。

s12、根據(jù)page頁的類型以及待處理塊數(shù)據(jù)的數(shù)據(jù)特征,按照預(yù)設(shè)規(guī)則對所述待處理塊數(shù)據(jù)進行求反運算,并在所述待操作存儲單元對應(yīng)page頁的元數(shù)據(jù)區(qū)進行數(shù)據(jù)處理方式的標識。

s13、對處理后的待處理塊數(shù)據(jù)進行編碼,并將編碼后的編碼數(shù)據(jù)寫入所述待操作存儲單元。

本發(fā)明實施例提供的nand閃存設(shè)備的數(shù)據(jù)處理方法,接收到主機發(fā)送的數(shù)據(jù)寫入請求命令時,根據(jù)待操作存儲單元中對應(yīng)的page頁的類型以及待處理塊數(shù)據(jù)的數(shù)據(jù)特征,按照預(yù)設(shè)規(guī)則對待處理塊數(shù)據(jù)進行求反運算,并在nand閃存設(shè)備的存儲單元中的元數(shù)據(jù)區(qū)存儲少量信息來標識該存儲單元對應(yīng)page頁中存儲數(shù)據(jù)對應(yīng)的數(shù)據(jù)處理方式,進而利用這些信息來減少數(shù)據(jù)保留錯誤,能夠有效地降低nand閃存設(shè)備的數(shù)據(jù)錯誤發(fā)生概率,提升nand閃存設(shè)備的總體性能。

進一步地,所述方法還包括預(yù)先為所述nand閃存設(shè)備中的每一存儲單元設(shè)置對應(yīng)的元數(shù)據(jù)區(qū)的步驟。其中,所述元數(shù)據(jù)區(qū)用于標識寫入存儲單元不同page頁的數(shù)據(jù)對應(yīng)的數(shù)據(jù)處理方式。

本發(fā)明實施例中,步驟s12進一步可以包括以下兩種情況,具體如下:

當所述page頁為lowerpage頁時,判定所述待處理塊數(shù)據(jù)中0的數(shù)量是否大于1的數(shù)量;若是,則將所述待處理塊數(shù)據(jù)中每一比特位對應(yīng)的數(shù)據(jù)均進行求反運算,并將求反運算對應(yīng)的數(shù)據(jù)處理方式標識寫入所述待操作存儲單元對應(yīng)page頁的元數(shù)據(jù)區(qū);否則,直接對所述待處理塊數(shù)據(jù)進行編碼操作。

當所述page頁不為lowerpage頁時,也即當所述page頁為upperpage頁時,判定所述待處理塊數(shù)據(jù)中1的數(shù)量是否大于0的數(shù)量;若是,則將所述待處理塊數(shù)據(jù)中每一比特位對應(yīng)的數(shù)據(jù)均進行求反運算,并將求反運算對應(yīng)的數(shù)據(jù)處理方式標識寫入所述待操作存儲單元對應(yīng)page頁的元數(shù)據(jù)區(qū);否則,直接對所述待處理塊數(shù)據(jù)進行編碼操作。

下面以mlcnand閃存設(shè)備為例對本發(fā)明技術(shù)方案進行解釋說明。

mlcnand閃存應(yīng)用于固態(tài)硬盤時,都是以塊設(shè)備的方式來訪問。一個塊的大小多為512字節(jié)或4k字節(jié)。本發(fā)明實施例中以4k字節(jié)為例。當主機寫入4k字節(jié)數(shù)據(jù)時,固態(tài)硬盤主控器會根據(jù)采用的bch/ldpc技術(shù)來進行編碼,同時針對每一個4k字節(jié)數(shù)據(jù),主控器都會添加少許字節(jié)的元數(shù)據(jù),用于存儲數(shù)據(jù)的管理信息。本發(fā)明實施例提出的數(shù)據(jù)方法就是利用元數(shù)據(jù)的存儲區(qū)來減少nand閃存的數(shù)據(jù)保留錯誤。

對于固態(tài)硬盤來說,數(shù)據(jù)的可靠性是最重要的。根據(jù)木桶理論,數(shù)據(jù)的可靠性出現(xiàn)問題往往發(fā)生在最差的情況。尤其是現(xiàn)在的固態(tài)硬盤容量越來越大,小概率事件也會隨著統(tǒng)計樣本的增大而變得不可忽視。比如,對于數(shù)據(jù)保留錯誤來說,如果在nand中存儲的數(shù)據(jù)都是10(datastate是3,upperpage為1,lowerpage為0),那么可能會發(fā)生很多的數(shù)據(jù)保留錯誤,很可能超過bch/ldpc等技術(shù)的糾錯能力,從而造成不可恢復(fù)的錯誤,影響數(shù)據(jù)的可靠性。因此,本發(fā)明實施例提出的數(shù)據(jù)處理方法就是要防止這種極端情況的發(fā)生。同時,為了減少冗余位占據(jù)太多存儲空間,針對一塊(512字節(jié)或4k字節(jié))數(shù)據(jù),本發(fā)明實施例只在元數(shù)據(jù)區(qū)存儲少量比特來標識數(shù)據(jù)處理方式。參見圖5,圖5為對于4k字節(jié)的寫操作處理的具體處理流程圖,具體包括:接收到主機發(fā)送的數(shù)據(jù)寫入請求命令時,初始化元數(shù)據(jù)區(qū)中的用于標識寫入存儲單元不同page頁的數(shù)據(jù)對應(yīng)的數(shù)據(jù)處理方式的標識信息,在一個具體實施例中,可將該標識信息設(shè)置為0。對于待操作存儲單元中的lowerpage的塊數(shù)據(jù),如果原始數(shù)據(jù)中0的數(shù)量大于1的數(shù)量,則將整塊數(shù)據(jù)反轉(zhuǎn),即進行求反運算,并在元數(shù)據(jù)區(qū)存儲1,以表示該存儲單元對應(yīng)的page頁的數(shù)據(jù)是經(jīng)過數(shù)據(jù)反轉(zhuǎn)后的數(shù)據(jù),以在后續(xù)進行數(shù)據(jù)讀取時,通過進行相應(yīng)的反轉(zhuǎn)操作而得到原始數(shù)據(jù)。如果原始數(shù)據(jù)中0的數(shù)量小于等于1的數(shù)量,則不對整塊數(shù)據(jù)進行反轉(zhuǎn),并在元數(shù)據(jù)區(qū)存儲0,以表示該存儲單元對應(yīng)的page頁的數(shù)據(jù)是未經(jīng)過數(shù)據(jù)反轉(zhuǎn)處理的數(shù)據(jù),后續(xù)可進行直接讀取并發(fā)送主機。然后,將經(jīng)過求反運算后的數(shù)據(jù)通過bch/ldpc糾錯技術(shù)進行編碼,并發(fā)送到存儲單元。對于待操作存儲單元中的upperpage的塊數(shù)據(jù),如果原始數(shù)據(jù)中1的數(shù)量大于0的數(shù)量,則將整塊數(shù)據(jù)反轉(zhuǎn),并在元數(shù)據(jù)區(qū)存儲1。如果原始數(shù)據(jù)中1的數(shù)量小于等于0的數(shù)量,則不對整塊數(shù)據(jù)進行反轉(zhuǎn),并在元數(shù)據(jù)區(qū)存儲0。

本發(fā)明實施例中,在將編碼后的編碼數(shù)據(jù)寫入所述待操作存儲單元之后,所述方法還包括以下步驟:

當接收到所述主機發(fā)送的數(shù)據(jù)讀取請求命令時,從待操作存儲單元的page頁中讀取目標數(shù)據(jù),并對所述目標數(shù)據(jù)進行解碼;

獲取所述目標數(shù)據(jù)對應(yīng)page頁的元數(shù)據(jù)區(qū)中的標識信息;

判定所述標識信息是否為求反運算對應(yīng)的數(shù)據(jù)處理方式標識,若是,則將解碼后的塊數(shù)據(jù)中每一比特位對應(yīng)的數(shù)據(jù)均進行求反運算,并將得到的塊數(shù)據(jù)傳輸?shù)街鳈C,否則,直接將解碼后的塊數(shù)據(jù)傳輸?shù)街鳈C。

在一個具體實施例中,參見圖6,圖6為對于4k字節(jié)的讀取操作處理的具體處理流程圖,具體包括:接收到主機發(fā)送的數(shù)據(jù)讀取請求命令時,從待操作存儲單元的page頁中讀取數(shù)據(jù),并通過bch/ldpc糾錯技術(shù)對讀取到的數(shù)據(jù)進行解碼,然后獲取存儲數(shù)據(jù)的page頁的元數(shù)據(jù)區(qū)中的標識信息,若元數(shù)據(jù)區(qū)的標識信息為1,則表示該page頁的數(shù)據(jù)是經(jīng)過數(shù)據(jù)反轉(zhuǎn)后的數(shù)據(jù),因此,將解碼后的塊數(shù)據(jù)中每一比特位對應(yīng)的數(shù)據(jù)均進行求反運算,并將得到的塊數(shù)據(jù)傳輸?shù)街鳈C,否則直接將解碼后的塊數(shù)據(jù)傳輸?shù)街鳈C。

本發(fā)明實施例提供的nand閃存設(shè)備的數(shù)據(jù)處理方法,結(jié)合通用的bch/ldpc等糾錯技術(shù),在以nandflash為存儲介質(zhì)的塊設(shè)備中的元數(shù)據(jù)區(qū)存儲少量信息來標識數(shù)據(jù)的模式,利用這些信息來減少數(shù)據(jù)保留錯誤,有效地降低nand閃存設(shè)備的數(shù)據(jù)錯誤發(fā)生概率。

本發(fā)明實施例提供的技術(shù)方案,不僅限于mlcnand閃存設(shè)備,對于tlc和slcnand閃存設(shè)備也同樣適用,對于tlc和slcnand閃存設(shè)備的數(shù)據(jù)處理方法實施例而言,由于其與mlcnand閃存設(shè)備的數(shù)據(jù)處理方法實施例基本相似,因此不做過多描述,相關(guān)之處可參見mlcnand閃存設(shè)備的數(shù)據(jù)處理方法實施例的部分說明即可。

另外,本發(fā)明實施例提供的技術(shù)方案,不僅限于固態(tài)硬盤應(yīng)用,對于以nandflash為存儲介質(zhì)的其他塊設(shè)備,只要存在元數(shù)據(jù)區(qū),均可應(yīng)用本發(fā)明實施例提供的nand閃存設(shè)備的數(shù)據(jù)處理方法,以有效地降低nand閃存設(shè)備的數(shù)據(jù)錯誤發(fā)生概率。

對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實施例并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明實施例,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本發(fā)明實施例所必須的。

圖7示意性示出了本發(fā)明一個實施例的nand閃存設(shè)備的數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。本發(fā)明實施例的nand閃存設(shè)備的數(shù)據(jù)處理裝置可以設(shè)置于nand閃存設(shè)備的主控器內(nèi),或通過主控器來實現(xiàn)。參照圖7,本發(fā)明實施例的nand閃存設(shè)備的數(shù)據(jù)處理裝置具體包括判定模塊701、數(shù)據(jù)處理模塊702以及命令執(zhí)行模塊703,其中:所述的判定模塊701,用于在接收到主機發(fā)送的數(shù)據(jù)寫入請求命令時,判定待處理塊數(shù)據(jù)在nand閃存設(shè)備的待操作存儲單元中對應(yīng)的page頁;所述的數(shù)據(jù)處理模塊702,用于根據(jù)page頁的類型以及待處理塊數(shù)據(jù)的數(shù)據(jù)特征,按照預(yù)設(shè)規(guī)則對所述待處理塊數(shù)據(jù)進行求反運算,并在所述待操作存儲單元對應(yīng)page頁的元數(shù)據(jù)區(qū)進行數(shù)據(jù)處理方式的標識;所述的命令執(zhí)行模塊703,用于對所述數(shù)據(jù)處理模塊702處理后的待處理塊數(shù)據(jù)進行編碼,并將編碼后的編碼數(shù)據(jù)寫入所述待操作存儲單元。

本發(fā)明實施例提供的nand閃存設(shè)備的數(shù)據(jù)處理裝置,在接收到主機發(fā)送的數(shù)據(jù)寫入請求命令時,根據(jù)待操作存儲單元中對應(yīng)的page頁的類型以及待處理塊數(shù)據(jù)的數(shù)據(jù)特征,按照預(yù)設(shè)規(guī)則對待處理塊數(shù)據(jù)進行求反運算,并在nand閃存設(shè)備的存儲單元中的元數(shù)據(jù)區(qū)存儲少量信息來標識該存儲單元對應(yīng)page頁中存儲數(shù)據(jù)對應(yīng)的數(shù)據(jù)處理方式,進而利用這些信息來減少數(shù)據(jù)保留錯誤,能夠有效地降低nand閃存設(shè)備的數(shù)據(jù)錯誤發(fā)生概率,提升nand閃存設(shè)備的總體性能。

在本發(fā)明的一個可選實施例中,所述nand閃存設(shè)備的數(shù)據(jù)處理裝置還包括附圖中未示出的配置模塊,所述的配置模塊,用于預(yù)先為所述nand閃存設(shè)備中的每一存儲單元設(shè)置對應(yīng)的元數(shù)據(jù)區(qū),所述元數(shù)據(jù)區(qū)用于標識寫入存儲單元不同page頁的數(shù)據(jù)對應(yīng)的數(shù)據(jù)處理方式。

本發(fā)明實施例中,所述數(shù)據(jù)處理模塊702,具體用于當所述page頁為lowerpage頁時,判定所述待處理塊數(shù)據(jù)中0的數(shù)量是否大于1的數(shù)量,若是,則將所述待處理塊數(shù)據(jù)中每一比特位對應(yīng)的數(shù)據(jù)均進行求反運算,并將求反運算對應(yīng)的數(shù)據(jù)處理方式標識寫入所述待操作存儲單元對應(yīng)page頁的元數(shù)據(jù)區(qū);

所述命令執(zhí)行模塊703,還用于當所述待處理塊數(shù)據(jù)中0的數(shù)量小于或等于1的數(shù)量時,直接對所述待處理塊數(shù)據(jù)進行編碼操作。

本發(fā)明實施例中,所述數(shù)據(jù)處理模塊702,具體用于當所述page頁為upperpage頁時,判定所述待處理塊數(shù)據(jù)中1的數(shù)量是否大于0的數(shù)量,若是,則將所述待處理塊數(shù)據(jù)中每一比特位對應(yīng)的數(shù)據(jù)均進行求反運算,并將求反運算對應(yīng)的數(shù)據(jù)處理方式標識寫入所述待操作存儲單元對應(yīng)page頁的元數(shù)據(jù)區(qū);

所述命令執(zhí)行模塊703,還用于當所述待處理塊數(shù)據(jù)中1的數(shù)量小于或等于0的數(shù)量時,直接對所述待處理塊數(shù)據(jù)進行編碼操作。

在本發(fā)明的一個可選實施例中,所述命令執(zhí)行模塊703,還用于在將編碼后的編碼數(shù)據(jù)寫入所述待操作存儲單元之后,當接收到所述主機發(fā)送的數(shù)據(jù)讀取請求命令時,從待操作存儲單元的page頁中讀取目標數(shù)據(jù),并對所述目標數(shù)據(jù)進行解碼。

相應(yīng)的,參照圖8,所述裝置還包括獲取模塊704,所述的獲取模塊704,用于獲取所述目標數(shù)據(jù)對應(yīng)page頁的元數(shù)據(jù)區(qū)中的標識信息;

進一步地,所述的判定模塊701,還用于判定所述標識信息是否為求反運算對應(yīng)的數(shù)據(jù)處理方式標識;

所述的數(shù)據(jù)處理模塊702,還用于當所述判定模塊701的判定結(jié)果為所述標識信息是求反運算對應(yīng)的數(shù)據(jù)處理方式標識時,將解碼后的塊數(shù)據(jù)中每一比特位對應(yīng)的數(shù)據(jù)均進行求反運算,并將得到的塊數(shù)據(jù)傳輸?shù)街鳈C,否則,直接將解碼后的塊數(shù)據(jù)傳輸?shù)街鳈C。

對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。

本發(fā)明實施例提供的nand閃存設(shè)備的數(shù)據(jù)處理方法及裝置,接收到主機發(fā)送的數(shù)據(jù)寫入請求命令時,根據(jù)待操作存儲單元中對應(yīng)的page頁的類型以及待處理塊數(shù)據(jù)的數(shù)據(jù)特征,按照預(yù)設(shè)規(guī)則對待處理塊數(shù)據(jù)進行求反運算,并在nand閃存設(shè)備的存儲單元中的元數(shù)據(jù)區(qū)存儲少量信息來標識該存儲單元對應(yīng)page頁中存儲數(shù)據(jù)對應(yīng)的數(shù)據(jù)處理方式,進而利用這些信息來減少數(shù)據(jù)保留錯誤,能夠有效地降低nand閃存設(shè)備的數(shù)據(jù)錯誤發(fā)生概率,提升nand閃存設(shè)備的總體性能。

以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。

通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。

此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。

最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
绩溪县| 涿州市| 双桥区| 望谟县| 喜德县| 四川省| 金门县| 巨野县| 宣恩县| 达拉特旗| 高雄市| 建水县| 伊宁县| 武山县| 宣武区| 鹤峰县| 九龙县| 图木舒克市| 刚察县| 成武县| 拜城县| 两当县| 白朗县| 肃北| 黔东| 双江| 吉安市| 巨鹿县| 天等县| 磐石市| 新晃| 东方市| 亚东县| 老河口市| 宜兰县| 石林| 巫溪县| 罗平县| 精河县| 临武县| 讷河市|