ans)、閃存讀取時(shí)間(t_read)和LDPC解碼時(shí)間(t_ldpc),其中閃存?zhèn)鬏敃r(shí)間是固定不變的,只有閃存讀取時(shí)間和LDPC解碼時(shí)間是會(huì)出現(xiàn)變化的。
[0041]閃存讀取時(shí)間取決于Block中Page的索引,有些Page讀取快,有些Page則慢,換句話說(shuō),閃存讀取時(shí)間不受糾錯(cuò)碼類(lèi)型的影響,也就是說(shuō)用LDPC糾錯(cuò)碼或是BCH糾錯(cuò)碼并沒(méi)區(qū)別。LDPC解碼時(shí)間取決于閃存的錯(cuò)誤數(shù)和LDPC碼參數(shù)設(shè)置造成的迭代次數(shù)多少,一般會(huì)給迭代次數(shù)設(shè)置一個(gè)上限,就可以在超過(guò)這個(gè)上限后進(jìn)入下一步操作,防止無(wú)限循環(huán)下去;閃存錯(cuò)誤數(shù)是隨著P/E提高而增加,而LDPC碼參數(shù)也會(huì)影響迭代次數(shù),進(jìn)而影響性能。
[0042]LDPC硬數(shù)據(jù)解碼,如果糾錯(cuò)依然失敗的話,那么就會(huì)進(jìn)入第二階段一LDPC軟數(shù)據(jù)解碼階段。在讀取閃存時(shí),結(jié)果只有1或者0,由于此時(shí)并不知道這些0和1中哪個(gè)是有效數(shù)據(jù),哪些是可疑數(shù)據(jù)(可能錯(cuò)誤的),因此對(duì)這些數(shù)據(jù)進(jìn)行初次LDPC解碼就叫做硬數(shù)據(jù)解碼。如果硬數(shù)據(jù)LDPC解碼失敗,那么對(duì)這塊SSD來(lái)說(shuō),一般有3個(gè)選擇:第一種選擇是直接返回“不可恢復(fù)的讀錯(cuò)誤”,這當(dāng)然不是用戶(hù)希望看到的;那么第二種選擇就是,如果SSD內(nèi)部有類(lèi)似RAID的保護(hù)模式,可以利用該功能XOR并恢復(fù)出用戶(hù)數(shù)據(jù);而第三種選擇是依靠搜集軟數(shù)據(jù),再?lài)L試用這些軟數(shù)據(jù)對(duì)數(shù)據(jù)進(jìn)行軟數(shù)據(jù)LDPC解碼(一般來(lái)說(shuō)都采用第三種),而這類(lèi)LDPC軟數(shù)據(jù)解碼機(jī)制在之前的較為低等級(jí)的BCH碼上是不存在的。
[0043]LDPC軟數(shù)據(jù)解碼階段主要分成三部分:1)重讀策略;2)軟數(shù)據(jù)的構(gòu)建;3) LDPC軟數(shù)據(jù)解碼。
[0044]重讀策略不是去讀取數(shù)據(jù)本身(之前硬數(shù)據(jù)解碼已經(jīng)不能糾錯(cuò),就不用浪費(fèi)力氣再去讀硬數(shù)據(jù)),而是去讀取這個(gè)數(shù)據(jù)的元數(shù)據(jù),把這些元數(shù)據(jù)作為軟數(shù)據(jù)構(gòu)建的基礎(chǔ)。如何用最少的讀取次數(shù)搜集出最有幫助的元數(shù)據(jù)成為了關(guān)鍵,因?yàn)槊孔x一次就增加了一次延遲。重讀策略的每次讀取都會(huì)返回與等著被糾錯(cuò)的數(shù)據(jù)相關(guān)的元數(shù)據(jù),意味著每次讀取都提供了更多的物理信息可以參考,然后需要做的是把這些0或者1映射成LDPC解碼中的軟數(shù)據(jù),這個(gè)映射需要對(duì)閃存本身和所采用的LDPC代碼具有相當(dāng)?shù)恼J(rèn)知(該過(guò)程中稱(chēng)為軟數(shù)據(jù)的構(gòu)建)。軟數(shù)據(jù)解碼中最后一個(gè)步驟就是將代碼中每一位的對(duì)數(shù)似然比(Log-Likelihood Rat1,LLR)傳入LDPC解碼器邏輯中,期望著這次實(shí)現(xiàn)的解碼比原有的硬數(shù)據(jù)解碼更為有效,讓SSD能夠返回正確的用戶(hù)數(shù)據(jù);然后馬上將該數(shù)據(jù)移動(dòng)至SSD內(nèi)較為安全的Page里,避免下次數(shù)據(jù)請(qǐng)求遇到相同的問(wèn)題。
[0045]隨著flash存儲(chǔ)顆粒的制程演進(jìn),較小尺寸的flash數(shù)據(jù)存儲(chǔ)單元,更易受到磨損的影響和干擾。為了保證數(shù)據(jù)的正確性,需要很強(qiáng)的數(shù)據(jù)糾錯(cuò)能力。為此,LDPC算法利用軟信息來(lái)增強(qiáng)糾錯(cuò)能力。基于軟信息的糾錯(cuò)算法的性能除了與算法的設(shè)計(jì)本身相關(guān),同時(shí)也會(huì)受到獲取到的軟信息質(zhì)量的很大影響。特別是flash采用數(shù)字方式(0或1)存儲(chǔ),要獲取軟信息只能通過(guò)多次讀取同一個(gè)單元,并結(jié)合該單元的統(tǒng)計(jì)分布模型得到可能0/1分布的信息,該0/1分布的信息被LDPC糾錯(cuò)算法使用時(shí)統(tǒng)一為對(duì)數(shù)似然比(LLR)。影響軟信息準(zhǔn)確性的關(guān)鍵是使用符合當(dāng)前flash單元統(tǒng)計(jì)分布模型的LLR表格,將同一個(gè)單元多次讀取的軟信息轉(zhuǎn)換成對(duì)應(yīng)的LLR取值。而flash單元的統(tǒng)計(jì)分布模型本身并不是一成不變的,而是隨flash在使用過(guò)程中的不同條件動(dòng)態(tài)演進(jìn)。傳統(tǒng)軟信息讀取方法使用統(tǒng)一的LLR表格,在flash單元的統(tǒng)計(jì)分布模型變化時(shí),不能最佳匹配當(dāng)前的模型,由此得到的軟信息的準(zhǔn)確度會(huì)有一定程度的下降,隨之也會(huì)影響最終糾錯(cuò)算法的性能。
[0046]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)一步詳細(xì)闡述。
[0047]實(shí)施例一
[0048]本發(fā)明實(shí)施例提供一種信息處理方法,該信息處理方法應(yīng)用于固態(tài)存儲(chǔ)器,該信息處理方法所實(shí)現(xiàn)的功能可以通過(guò)固態(tài)存儲(chǔ)器中的控制器調(diào)用程序代碼來(lái)實(shí)現(xiàn),當(dāng)然程序代碼可以保存在計(jì)算機(jī)存儲(chǔ)介質(zhì)中,可見(jiàn),該固態(tài)存儲(chǔ)器至少包括控制器器和存儲(chǔ)介質(zhì)。
[0049]圖1為本發(fā)明實(shí)施例一信息處理方法的實(shí)現(xiàn)流程示意圖,如圖1所示,該信息處理方法包括:
[0050]步驟S101,獲取SSD上待糾錯(cuò)數(shù)據(jù)的元數(shù)據(jù);
[0051]這里,如前所述,SSD在硬數(shù)據(jù)解碼失敗后會(huì)進(jìn)入軟數(shù)據(jù)(軟信息)解碼階段,本發(fā)明實(shí)施例所提供的方法可以應(yīng)用于SSD的軟數(shù)據(jù)解碼階段,當(dāng)LDPC硬數(shù)據(jù)解碼階段失敗后,SSD的控制器獲取SSD上待糾錯(cuò)數(shù)據(jù)的元數(shù)據(jù),一般來(lái)說(shuō),待糾錯(cuò)數(shù)據(jù)的元數(shù)據(jù)存儲(chǔ)于Nand flash上,Nand flash以頁(yè)為單元進(jìn)行讀寫(xiě),并以塊為單位進(jìn)行擦除。
[0052]步驟S102,獲取SSD的狀態(tài)信息,所述SSD的狀態(tài)信息為與數(shù)據(jù)讀取的錯(cuò)誤率的參數(shù);
[0053]這里,在具體實(shí)施的過(guò)程中,所述SSD的狀態(tài)信息可以為錯(cuò)誤率,當(dāng)然還可以為其它的影響錯(cuò)誤率的參數(shù),例如在具體實(shí)施的過(guò)程中,所述SSD的狀態(tài)信息可以包括以下信息至少之一:SSD的工藝等級(jí)、SSD的磨損次數(shù)(即P/E循環(huán)次數(shù))和SSD的數(shù)據(jù)保持時(shí)間。
[0054]步驟S103,利用所述SSD的狀態(tài)信息從關(guān)聯(lián)信息簇中獲取對(duì)應(yīng)的關(guān)聯(lián)信息,所述關(guān)聯(lián)信息簇為基于至少兩個(gè)不同的SSD的狀態(tài)信息而得到的關(guān)聯(lián)信息的集合;
[0055]這里,所述關(guān)聯(lián)信息可以為在具體實(shí)施的過(guò)程中可以為映射關(guān)系表中映射關(guān)系,類(lèi)似地,關(guān)聯(lián)信息簇可以為一張映射關(guān)系表或一族映射關(guān)系表,當(dāng)采用對(duì)數(shù)似然比方法而得到軟信息時(shí),所述關(guān)聯(lián)信息具體的可以為L(zhǎng)LR表。
[0056]這里,所述關(guān)聯(lián)信息簇采用以下方式得到:在所述SD的狀態(tài)信息的取值范圍內(nèi)以所述SSD的狀態(tài)信息為變量,建立至少兩個(gè)不同的關(guān)聯(lián)信息作為所述關(guān)聯(lián)信息簇。當(dāng)所述關(guān)聯(lián)信息為L(zhǎng)LR表,所述關(guān)聯(lián)信息簇采用以下方式得到:在所述SD的狀態(tài)參數(shù)的取值范圍內(nèi)以所述SSD的狀態(tài)參數(shù)為變量,建立不同的LLR表作為所述關(guān)聯(lián)信息簇。
[0057]步驟S104,根據(jù)所述元數(shù)據(jù)查詢(xún)所述關(guān)聯(lián)信息,得到所述待糾錯(cuò)數(shù)據(jù)的軟信息。
[0058]這里,所述關(guān)聯(lián)信息用于表征所述待糾錯(cuò)數(shù)據(jù)的元數(shù)據(jù)與所述待糾錯(cuò)數(shù)據(jù)的軟信息之間的映射關(guān)系。
[0059]現(xiàn)有技術(shù)中,在硬數(shù)據(jù)解碼失敗后,SSD的控制器獲取軟信息,而軟信息的準(zhǔn)確性的關(guān)鍵是使用符合當(dāng)前Nand flash單元的統(tǒng)計(jì)分布模型的關(guān)聯(lián)信息(如LLR表),將同一個(gè)單元(對(duì)應(yīng)為元數(shù)據(jù))多次讀取的結(jié)果轉(zhuǎn)換成對(duì)應(yīng)的LLR取值,即得到該單元的軟信息。而Nand flash單元的統(tǒng)計(jì)分布模型本身并不是一成不變的,而是隨Nand flash在使用過(guò)程中的不同條件動(dòng)態(tài)演進(jìn)。傳統(tǒng)軟信息讀取方法使用統(tǒng)一的LLR表,在Nand flash單元的統(tǒng)計(jì)分布模型變化時(shí),不能最佳匹配當(dāng)前的模型,由此得到的軟信息的準(zhǔn)確度會(huì)有一定程度的下降,隨之也會(huì)影響最終糾錯(cuò)算法的性能。本發(fā)明實(shí)施例中,生成的關(guān)聯(lián)信息簇能夠隨著Nand flash單元的統(tǒng)計(jì)模型的變化而變化,因此,當(dāng)SSD的控制器能夠獲取到當(dāng)前的SSD的狀態(tài)信息時(shí),就能夠根據(jù)當(dāng)前的SSD的狀態(tài)信息獲取最佳的匹配當(dāng)前的SSD狀態(tài)信息的關(guān)聯(lián)信息,然后再根據(jù)元數(shù)據(jù)查找關(guān)聯(lián)信息得到較為準(zhǔn)確的軟信息。
[0060]實(shí)施例二
[0061]本發(fā)明實(shí)施例提供一種信息處理方法,該信息處理方法應(yīng)用于固態(tài)存儲(chǔ)器,該信息處理方法所實(shí)現(xiàn)的功能可以通過(guò)固態(tài)存儲(chǔ)器中的控制器調(diào)用程序代碼來(lái)實(shí)現(xiàn),當(dāng)然程序代碼可以保存在計(jì)算機(jī)存儲(chǔ)介質(zhì)中,可見(jiàn),該固態(tài)存儲(chǔ)器至少包括控制器和存儲(chǔ)介質(zhì)。本發(fā)明實(shí)施例中,以所述SSD的狀態(tài)信息包括SSD的工藝等級(jí)、SSD的磨損次數(shù)和SSD的數(shù)據(jù)保持時(shí)間為例進(jìn)行說(shuō)明,圖2-1為本發(fā)明實(shí)施例二信息處理方法的實(shí)現(xiàn)流程示意圖,如圖2-1所示,該信息處理方法包括:
[0062]步驟S201,為所述SSD設(shè)置不同的參考對(duì)象;
[0063]步驟S202,對(duì)所述SSD的參考對(duì)象進(jìn)行采樣,得到所述參考對(duì)象的數(shù)據(jù)讀取的錯(cuò)誤率;
[0064]步驟S203,對(duì)所述SSD進(jìn)行采樣,得到所述SSD的數(shù)據(jù)讀取的錯(cuò)誤率;
[0065]步驟S204,將所述參考對(duì)象的錯(cuò)誤率和所述SSD的數(shù)據(jù)讀取的錯(cuò)誤率進(jìn)行比較,得到所述SSD的工藝等級(jí);
[0066]步驟S205,根據(jù)所述SSD的磨損次數(shù)、所述SSD的工藝等級(jí)和所述SSD的數(shù)據(jù)讀取的錯(cuò)誤率,確定所述SSD的數(shù)據(jù)保持時(shí)間;
[0067]步驟S206,在工藝等級(jí)、磨損次數(shù)和數(shù)據(jù)保持時(shí)間的取值范圍內(nèi)以所述工藝等級(jí)、磨損次數(shù)和數(shù)據(jù)保持時(shí)間為變量,建立至少兩個(gè)不同的關(guān)聯(lián)信息表作為所述關(guān)聯(lián)信息簇;
[0068]步驟S101,獲取SSD上待糾錯(cuò)