一種固態(tài)盤及其讀寫操作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機(jī)存儲技術(shù)領(lǐng)域,更具體地,涉及一種固態(tài)盤及其讀寫操作方法。
【背景技術(shù)】
[0002]基于閃存芯片的固態(tài)盤相對于傳統(tǒng)磁盤具有高讀寫速度、低能耗以及抗震性等優(yōu)點。為了提高固態(tài)盤的容量密度,多層單元(Mult1-Level Cell,MLC)技術(shù),即一個存儲單元中存儲兩個或兩個以上的比特信息,被廣泛地應(yīng)用于固態(tài)盤;同時固態(tài)盤的工藝尺寸正在持續(xù)縮小,這些都將會導(dǎo)致固態(tài)盤的使用壽命下降。
[0003]固態(tài)盤的使用壽命主要受其底層結(jié)構(gòu)限制。閃存的存儲單元包含著一層氧化層,該氧化層可以保存電子,根據(jù)保存的電子數(shù)量顯現(xiàn)出不同的電荷狀態(tài),從而保存比特信息。固態(tài)盤的擦寫操作會損耗氧化層,使得電子從氧化層中逸出,導(dǎo)致固態(tài)盤的原始比特錯誤率上升。當(dāng)原始比特錯誤率上升導(dǎo)致固態(tài)盤的數(shù)據(jù)可靠性無法保證時,固態(tài)盤的壽命殆盡?;贛LC閃存芯片的固態(tài)盤由于一個存儲單元中存儲了更多比特信息位,具有更高的原始比特錯誤率,導(dǎo)致其壽命較短。目前,業(yè)界通過加強(qiáng)頁內(nèi)ECC校驗?zāi)芰硖岣吖虘B(tài)盤的數(shù)據(jù)可靠性,從而延長固態(tài)盤的使用壽命,但與此同時會增加固態(tài)盤的譯碼時延,且受限于備用區(qū)的比特長度。所以如何最有效地提高固態(tài)盤的使用壽命成為業(yè)界關(guān)注的問題。
【發(fā)明內(nèi)容】
[0004]針對現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種固態(tài)盤及其讀寫操作方法,能有效地提高固態(tài)盤的使用壽命,降低存儲系統(tǒng)的成本。
[0005]為實現(xiàn)上述目的,按照本發(fā)明的一個方面,提供了一種固態(tài)盤,其特征在于,包括固態(tài)盤控制器、n+1個通道、m個SLC閃存芯片和mXn個MLC閃存芯片,其中,m和η均為正整數(shù);所述m個SLC閃存芯片設(shè)置在所述n+1個通道的其中一個通道上,所述mXn個MLC閃存芯片設(shè)置在所述n+1個通道的剩余的η個通道上,所述剩余的η個通道中的每一個通道上均有m個MLC閃存芯片;所述SLC閃存芯片的存儲容量較小,用于存儲校驗數(shù)據(jù),所述MLC閃存芯片的存儲容量較大,用于存儲用戶數(shù)據(jù),所述SLC閃存芯片和所述MLC閃存芯片通過其所在的通道進(jìn)行數(shù)據(jù)傳輸。
[0006]優(yōu)選地,所述m個SLC閃存芯片和所述mXη個MLC閃存芯片被分為m組,一個SLC閃存芯片和η個MLC閃存芯片為一組;單組閃存芯片存儲的用戶數(shù)據(jù)和校驗數(shù)據(jù)被劃分為多個條帶,SLC閃存芯片存儲的s個校驗數(shù)據(jù)塊和η個MLC閃存芯片存儲的i X sXn個用戶數(shù)據(jù)塊組成一個條帶,其中,s為正整數(shù),i為MLC閃存芯片相對于SLC閃存芯片的存儲容量的倍數(shù)。
[0007]按照本發(fā)明的另一方面,提供了一種上述固態(tài)盤的寫操作方法,其特征在于,包括如下步驟:
[0008](I)固態(tài)盤控制器接收上層請求,辨別請求類型為寫請求;
[0009](2)固態(tài)盤根據(jù)MLC閃存芯片頁大小將寫請求分割為多個子請求;
[0010](3)判斷子請求能否構(gòu)成滿條帶寫,若能則跳至步驟(5),否則順序執(zhí)行步驟(4);
[0011](4)進(jìn)行預(yù)讀操作,用于計算頁內(nèi)ECC校驗和校驗數(shù)據(jù);
[0012](5)計算得到頁內(nèi)ECC校驗和校驗數(shù)據(jù);
[0013](6)向MLC閃存芯片寫入用戶數(shù)據(jù)和頁內(nèi)ECC校驗,向SLC閃存芯片寫入校驗數(shù)據(jù),完成寫操作。
[0014]按照本發(fā)明的另一方面,提供了一種上述固態(tài)盤的讀操作方法,其特征在于,包括如下步驟:
[0015](I)固態(tài)盤控制器接收上層請求,辨別請求類型為讀請求;
[0016](2)固態(tài)盤根據(jù)MLC閃存芯片頁大小將讀請求分割為多個子請求;
[0017](3)向MLC閃存芯片下發(fā)子請求,讀取用戶數(shù)據(jù)和ECC校驗;
[0018](4)根據(jù)ECC校驗判斷用戶數(shù)據(jù)是否正確,若正確則跳至步驟(9),否則順序執(zhí)行步驟(5);
[0019](5)判斷能否通過ECC校驗獲得正確的用戶數(shù)據(jù),若能則順序執(zhí)行步驟(6),否則跳至步驟(7);
[0020](6)通過ECC校驗獲得正確的用戶數(shù)據(jù),跳至步驟(9);
[0021](7)進(jìn)行降級讀操作,用于重構(gòu)用戶數(shù)據(jù);
[0022](8)重構(gòu)用戶數(shù)據(jù);
[0023](9)固態(tài)盤控制器向上層返回用戶數(shù)據(jù),完成讀操作。
[0024]總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下有益效果:
[0025]1、固態(tài)盤包括MLC閃存芯片和單層單元(Single-Level Cell, SLC)閃存芯片,MLC閃存芯片用于存儲用戶數(shù)據(jù),SLC閃存芯片用于存儲校驗數(shù)據(jù),實現(xiàn)了多級數(shù)據(jù)冗余,使得固態(tài)盤能夠容忍更高的原始比特錯誤率,因而能提高固態(tài)盤的使用壽命。另外,由于沒有加強(qiáng)頁內(nèi)ECC的校驗?zāi)芰?,不會增加固態(tài)盤的譯碼時延。
[0026]2、固態(tài)盤使用SLC閃存芯片存儲校驗數(shù)據(jù),并將用戶數(shù)據(jù)和校驗數(shù)據(jù)劃分為多個條帶,減小了校驗數(shù)據(jù)的更新對固態(tài)盤讀寫性能的影響。
[0027]3、在寫操作時,固態(tài)盤根據(jù)子請求是否能構(gòu)成滿條帶寫,進(jìn)行預(yù)讀操作,在生成ECC校驗的同時還生成校驗數(shù)據(jù),使得固態(tài)盤能夠容忍更高的原始比特錯誤率,從而提高固態(tài)盤的使用壽命。
[0028]4、在讀操作時,固態(tài)盤在發(fā)現(xiàn)用戶數(shù)據(jù)不正確且無法通過ECC校驗獲得正確的用戶數(shù)據(jù)時,進(jìn)行降級讀操作重構(gòu)用戶數(shù)據(jù),使得固態(tài)盤能夠容忍更高的原始比特錯誤率,從而提尚固態(tài)盤的使用壽命。
【附圖說明】
[0029]圖1是本發(fā)明實施例的固態(tài)盤的系統(tǒng)架構(gòu)圖;
[0030]圖2是本發(fā)明實施例的固態(tài)盤的用戶數(shù)據(jù)和校驗數(shù)據(jù)分布圖;
[0031]圖3是本發(fā)明實施例的固態(tài)盤的寫操作方法流程圖;
[0032]圖4是本發(fā)明實施例的固態(tài)盤的讀操作方法流程圖。
【具體實施方式】
[0033]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
[0034]如圖1所示,本發(fā)明實施例的固態(tài)盤包括固態(tài)盤控制器、η+1個通道、m個SLC閃存芯片和m