數據存儲方法及固態硬盤的制作方法
【技術領域】
[0001] 本發明實施例涉及數據存儲技術,尤其涉及一種數據存儲方法及固態硬盤。
【背景技術】
[0002] 固態硬盤(Solid state Disk,簡稱SSD)作為最常用的存儲數據的載體,多采 用閃存作為存儲介質。閃存通過內部用于存儲數據的最小粒度單元,即存儲單元呈現的 電壓在不同電壓范圍存儲不同數據。向閃存中寫入數據,實際是采用步幅遞增脈沖編程 (Incremental St巧Pulse Programming,簡稱ISP巧方式對閃存所包括的存儲單元施加脈 沖電壓進行充電,W使得存儲單元的電壓在待寫入數據對應的電壓范圍內。該ISPP方式實 際是在施加脈沖電壓時,通過施加多個步幅電壓的方式實現。若增加步幅電壓,雖可提高編 程速度,減少存儲單元的充電時間即數據的寫入時間。但步幅電壓過大,會使得每次施加至 存儲單元的電子數過多,從而使得存儲單元產生的比特錯誤率度it Error Rate,簡稱BER) 也越大。由于寫入不同數據對應的電壓范圍不同,郝么其所需步幅電壓也不同,寫入不同數 據產生的閃存頁的邸R也不同。
[0003] 閃存通常包括多個閃存頁,而每個閃存頁包括多個存儲單元和兀余單元。其中,存 儲單元用于存儲寫入數據,兀余單元用于存儲對可對發生的其糾錯能力下的比特錯誤進行 修正的錯誤糾正碼巧rror Correction Code,簡稱ECC)。該ECC可W為在將待寫入數據寫 入存儲單元之前,通過預設的該SSD所對應的編碼方式該待寫入數據進行編碼所產生的效 驗碼。
[0004] 對于一個SSD,具有一種編碼方式,而該編碼方式則決定編碼后獲得的ECC的糾錯 能力。也就是說,SSD內部,所有閃存頁具有相同糾錯能力的ECC。然而,實際應用中,寫入 每個閃存頁的數據可能不同,郝么寫入該不同數據所產生的邸R也不同。送使得某些閃存 頁的ECC糾錯能力遠遠大于實際產生的BER,其ECC的糾錯能力得不到充分利用。
【發明內容】
[0005] 本發明實施例提供一種數據存儲方法及固態硬盤,W解決現有技術中ECC糾錯能 力得不到充分利用的問題。
[0006] 第一方面,本發明實施例提供一種數據存儲方法,所述方法應用于固態硬盤中,所 述方法包括:
[0007] 接收寫請求,所述寫請求包括待寫入數據和地址;
[0008] 根據所述地址確定目標閃存頁的類型;其中,所述目標閃存頁為所述固態硬盤中 存儲所述待寫入數據的閃存頁;
[0009] 根據確定的所述目標閃存頁的類型及所述待寫入數據,計算所述目標閃存頁的比 特錯誤率BER ;
[0010] 根據所述目標閃存頁的B邸和預設的所述目標閃存頁的邸R與步幅電壓對應關系 確定寫入所述待寫入數據的步幅電壓;其中,所述步幅電壓是根據所述固態硬盤的錯誤糾 正碼ECC糾錯能力所確定的;
[0011] 根據所述步幅電壓將所述待寫入數據寫入所述目標閃存頁。
[0012] 根據第一方面,在第一方面的第一種可能實現的方式中,所述根據所述目標閃存 頁的類型及所述待寫入數據,計算所述目標閃存頁的BER,包括:
[0013] 根據所述目標閃存頁的類型和所述待寫入數據,采用所述目標閃存頁的類型對應 的邸R計算方式,計算所述目標閃存頁的BER。
[0014] 根據第一方面的第一種可能實現的方式,在第二種可能實現的方式中,若所述目 標閃存頁為最高有效比特位MSB頁,所述BER計算方式為:
[001 引 Bmsb 二
[0016] 其中,所述Bmsb為MSB頁的BER ;所述P。。為所述待寫入數據中00所占的比例;所 述Pi。為所述待寫入數據中10所占的比例;所述為預設的寫入00發生左偏錯誤的邸R ; 所述1?*為預設的寫入10發生右偏錯誤的邸R。
[0017] 根據第一方面的第一種可能實現的方式,在第H種可能實現的方式中,若所述目 標閃存頁為最低有效比特位LSB頁,所述邸R計算方式為:
[001引 馬班3巧1X蝶+巧。:x端+? X靖+&:1 X靖I ;
[0019] 其中,所述為LSB頁的BER;所述P。為所述待寫入數據中11所占的比例;所述 Pi。為所述待寫入數據中10所占的比例;所述P。。為所述待寫入數據中00所占的比例;所述 Pm為所述待寫入數據中Ol所占的比例;所述:為預設的寫入11發生右偏錯誤的BER ;所 述島[0為預設的寫入10發生左偏錯誤的邸R ;所述B若為預設的寫入00發送右偏錯誤的邸R ; 所述為預設的寫入Ol發生左偏錯誤的邸R。
[0020] 根據第一方面至第一方面的第H種可能實現的方式中任意一種,在第四種可能實 現的方式中,所述根據所述目標閃存頁的邸R和預設的所述目標閃存頁的邸R與步幅電壓 的對應關系確定寫入所述待寫入數據的步幅電壓,包括:
[002。 根據所述目標閃存頁的邸R和邸R步幅電壓對應表確定寫入所述待寫入數據的步 幅電壓;其中,所述邸R步幅電壓對應表包括;所述目標閃存頁的邸R與步幅電壓的對應關 系。
[0022] 第二方面,本發明實施例提供一種固態硬盤,包括:控制器及存儲器;其中,所述 存儲器包括;至少一個閃存頁;所述控制器與所述存儲器中的所述至少一個閃存頁連接;
[0023] 所述控制器,用于接收寫請求,所述寫請求包括待寫入數據和地址,根據所述地址 確定目標閃存頁的類型,根據確定的所述目標閃存頁的類型及所述待寫入數據計算所述目 標閃存頁的BER,根據所述目標閃存頁的邸R和預設的所述目標閃存頁的邸R與步幅電壓對 應關系確定寫入所述待寫入數據的步幅電壓,并根據所述步幅電壓將所述待寫入數據寫入 所述目標閃存頁;其中,所述目標閃存頁為所述固態硬盤中存儲所述待寫入數據的閃存頁; 所述步幅電壓是根據所述固態硬盤的ECC糾錯能力所確定的;
[0024] 所述存儲器,用于存儲所述待寫入數據。
[0025] 根據第二方面,在第二方面的第一種可能實現的方式中,所述控制器,還用于根據 所述目標閃存頁的類型和所述待寫入數據,采用所述目標閃存頁的類型對應的BER計算方 式,計算所述目標閃存頁的BER。
[0026] 根據第二方面的第一種可能實現的方式,在第二種可能實現的方式中,若所述目 標閃存頁為MSB頁,所述邸R計算方式為:
[0027] Bmsb 二 Au X B告 + Pio X ;
[002引其中,所述Bmsb為MSB頁的邸R ;所述P。。為所述待寫入數據中00所占的比例;所 述Pi。為所述待寫入數據中10所占的比例;所述嘩為預設的寫入00發生左偏錯誤的邸R ; 所述Bif為預設的寫入10發生右偏錯誤的邸R。
[0029] 根據第二方面的第一種可能實現的方式,在第H種可能實現的方式中,若所述目 標閃存頁為LSB頁,所述邸R計算方式為:
[0030] Blsb=P,, 巧。XB>P。。XB^e+P。, X巧;
[00引]其中,所述Blsb為LSB頁的邸R ;所述Pu為所述待寫入數據中11所占的比例;所 述Pi。為所述待寫入數據中10所占的比例;所述P。。為所述待寫入數據中00所占的比例;所 述Pei為所述待寫入數據中Ol所占的比例;所述巧_1為預設的寫入11發生右偏錯誤的BER ; 所達為預設的寫入10發生左偏錯誤的BER ;所述為預設的寫入00發送右偏錯誤的 邸R ;所述為預設的寫入Ol發生左偏錯誤的邸R。
[0032] 根據第二方面至第二方面的第H種可能實現的方式中任意一種,在第四種可能實 現的方式中,所述控制器,具體用于根據所述目標閃存頁的邸R和邸R步幅電壓對應表確定 寫入所述待寫入數據的步幅電壓;其中,所述BER步幅電壓對應表包括:所述目標閃存頁的 B邸與步帖電壓的對應關系。
[0033] 本發明實施例的數據存儲方法及固態硬盤,可根據寫請求中的地址確定目標閃存 頁的類型,根據該目標閃存頁的類型及該待寫入數據計算該目標閃存頁的BER,從而根據該 目標閃存頁的邸R和預設的目標閃存頁的邸R與步幅電壓的對應關系確定步幅電壓,該步 幅電壓為根據固態硬盤的ECC糾錯能力確定的,根據該步幅電壓將該待寫入數據寫入該目 標閃存頁,可有效減小該閃存頁實際所產生的B邸與ECC糾錯能力之間的差距,使得ECC糾 錯能力得到充分的利用。
【附圖說明】
[0034] 為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現 有技術描述中所需要使用的附圖做一簡單地介紹,顯而易見地,下面描述中的附圖是本發 明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可W 根據送些附圖獲得其他的附圖。
[0035] 圖1為本發明實施例一所提供的數據存儲方法的流程圖;
[0036] 圖2為本發明實施例二所提供的數據存儲方法的流程圖;
[0037] 圖3為本發明實施例H所提供的固態硬盤的結構示意圖;
[0038] 圖4為本發明實施例四所提供的固態硬盤的結構示意圖。
【具體實施方式】
[0039] 為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例 中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員 在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0040] 實施例一
[0041] 本發明實施例提供一種數據存儲方法。該方法可應用于固態硬盤中,可由該固態 硬盤內的控制器所