近兩年隨著快閃儲存器顆粒密度增加、**下降,ssd成為乙個炙手可熱的話題;今天有幸跟大家交流一下快閃儲存器顆粒的相關技術。快閃儲存器(flash)是相對於hdd而言的一種非易失性儲存器,flash分為nor flash和nand flash,nor flash可以當作記憶體使用直接執行程式,相比ddr 、 sdram 或者 rdram具有掉電資料不丟失等特點,所以在嵌入式裝置(arm/mips等體系架構)中,一般採用nor flash儲存bootloader和os程式。但今天我們的重點是nand flash。
學習過模擬電路的同學都知道,在模電原理裡三極體分兩種,一種是雙極性三極體,主要基於載流子用來做電流放大,另一種叫做cmos場效應三極體,通過電場控制的金屬氧化物半導體。nand flash就是基於場效應p/n溝道和漏極、柵極技術通過浮柵mosfet對柵極充電實現數非易失據儲存的。乙個晶體單元稱作乙個cell,向cell中充電就是程式設計或寫入資料,通過電平的高低來判斷資料是0還是1。在slc顆粒型別的flash中,衝入電荷讀取到閾值電平為高電平,一般表示資料0。
nand flash ssd和hdd的最大區別,其一是ssd通過flash控制電路選通原理來讀/寫對應位址資料,不必採用笨拙的機械磁頭定位資料外;其二是ssd在充電寫入資料前,必需要擦除原有的資料,每次充電和放電稱為一次p/e(程式設計/擦出),一塊ssd的壽命和可以執行p/e操作的次數強相關。每種flash顆粒的p/e操作次數是不同的, p/e操作次數越多,對應flash顆粒的ssd壽命越長,可靠性越好,**也越高。
nand flash可根據cell儲存bit資料位的不同分為slc, mlc,tlc,其中mlc還分為emlc,mlc和cmlc。由於結構不同,所有導致了不同顆粒間儲存能力,效能和可靠性的差異。
slc(single level cell)是單層儲存單元,乙個cell中只儲存1bit資料(0/1),在寫入資料後,判定寫入資料值電壓的區間小,所以可擦寫次數和可靠性也是最好的,一般在5w-10w之間,但是儲存容量相對較少,成本也最高。
mlc(multi-level cell)多層式儲存單元,儲存密度較大,乙個cell中可以儲存2bit資料(00/01/10/11),相比slc,判定寫入cell中電壓值區分2bit資料就比較複雜了,由於nand flash的物理屬性(擦寫會對顆粒的絕緣層造成損壞),也使得隨著擦寫次數增多,很難判斷出寫入的資料具體代表的bit位。其擦寫次數一般3k左右,另外,2bit資料讀寫使得mlc速度比slc慢,但容量較大,**比較便宜。
emlc(enterprise mlc)和cmlc(consumer mlc)都是採用mlc技術,差別主要是nand flash篩選引數,製作工藝和測試方法。通過不同標準來界定顆粒,emlc是經過嚴格測試和企業級標準篩選,所以可靠性和壽命最高;mlc次之;把挑選完emlc/mlc之後顆粒成為 cmlc,可靠性和壽命都要稍差一些,但成本低,一般總在個人消費和企業非關鍵應用中。
tlc(triple level cell)三層式儲存單元,乙個cell中存放3bit資料(000-111),資料密度更大,通過判定電壓確定寫入cell資料的難度更大,所以slc的擦寫次數(p/e)操作只有幾百次-上千次;可靠性和效能很低,具有成本優勢,一般用在個人消費產品中(不能滿足企業產品要求)。
為了進一步提高ssd磁碟的壽命,一方面儲存(ssd/hdd)廠商還會在顆粒之上通過ecc(隨使用者資料生成一起寫入磁碟)糾錯技術糾正靜默錯誤。在資料寫入時採用ecc編碼寫入檢驗位,當資料由於位翻轉導致靜默錯誤,讀取資料時可以利用ecc檢驗位校正資料,並把正確資料返回主機。常用的ecc校正機制有8bit/512bit, 32bit/2kb,分別可以實現512bit中8bit資料檢驗和2kb中32bit資料錯誤的檢驗,如果錯誤的bit位數超過8/32bit(稱為uncorrectable bit error),ecc是無法檢驗恢復的,必須採用riad機制來恢復。
另一方面,ssd廠商採用over-provisioning技術提高快閃儲存器壽命。ssd的寫入單位是page, 擦除單位是block,對某一塊block擦寫達到一定次數就會導致block失效(寫入的資料無法判定識別),所以ssd也提供了額外的容量(稱為 over- provisioning),以便替換壞塊提高整個ssd壽命,當失效block的容量超過額外容量(mlc一般為ssd總容量的28%,不同介質和廠商有所不同),使得整個ssd容量小於其宣稱容量時,該ssd就失效了。
雖然nand flash目前處於絕對的王者地位,但是傳統的nand flash是一種線性串列的mosfet儲存結構限制,其容量很難做大。乙個可行的方式就是增加儲存密度,目前nand flash的儲存密度已經可以做到微公尺,甚至到奈米級別;但是隨著密度增高儲存單元cell的浮柵周圍電容耦合,儲存資料能力極速降低。
所以,3d flash技術的出現給快閃儲存器的發展指明了方向,3d-flash技術主要有下面三個方向。
憶阻memristor儲存技術
憶阻器本質上是一種有記憶功能的非線性電阻,通過控制電流的變化可改變其阻值,如果把高阻值定義為「1」,低阻值定義為「0」,通過這種電阻變化實現儲存資料的功能。
美光/英特爾聯合推出3d xpoint憶阻器儲存技術,sandisk/惠普達成合作協議,此次合作以惠普憶阻器技術和sandisk的非易失性儲存器技術創造乙個新的企業級儲存解決方案。憶阻器儲存在訪問速度上flash儲存快1000倍。
3d xpoint是一種立體化的儲存技術,它看起來與同為3d設計的nand技術相似,但本質卻不同,3d xpoint並不單純是nand,而是一種新的非易失性儲存技術。3d xpoint技術還允許儲存單元被堆疊到多個層中,這樣就可以有效提公升儲存介質的容量。
3d-水平nand flash堆疊技術
基本思路實現對現有的nand浮柵結構進行堆疊,獲得與普通 nand 浮柵相同的橫向可擴充套件性和儲存密度,另外採用氮化矽串接技術來代替浮柵的電荷捕獲快閃儲存器方法。
串聯儲存器的訪問可通過在低階非儲存器中形成乙個反型溝道來避免cell的浮柵電容耦合。這種反型溝道及其相關耗盡區為儲存介質中所捕獲的電荷提供了高水平電荷保護,免受應用於這些底部訪問器的傳輸電壓的干擾。此外,這種雙柵結構是公認的良好橫向可微縮性方法,它通過使頂部和底部裝置之間實現密切的靜電相互作用來消除簡訊道效應。
3d-垂直nand flash堆疊技術
三星電子推出獨家專利3d v-nand快閃儲存器技術,提公升了產品的容量、速度和可靠性。3d v-nand不是使用新工藝來縮小cell單元和提供儲存密度,而是選擇了堆疊更多層數。
傳統nand flash使用的是浮柵極mosfet技術,充電/放電容易損壞柵極;三星採用控制柵極和絕緣層將mosfet環形包裹起來提公升了儲存電荷的的物理區域,從而提高效能 和可靠性。
3d v-nand技術把cell3d化,使得在垂直方向無限堆疊擴充套件,三星放棄了傳統的浮柵極mosfet,降低了寫入時的電荷消耗,快閃儲存器壽命得到大幅提公升,為未來ssd的發展開闢非常廣闊的空間。
請搜尋「ict_architect」或「掃一掃」
不得不知道的補碼知識
無論什麼程式語言,其 最終都會被編譯解釋成計算機可讀取和執行的二進位制資料。其中,數字在二進位制資料中可劃分成原碼 補碼和反碼。原碼 數值前面增了一位符號位 例如 10 和 10 的二進位制表示如下 10 的原碼 0000 1010 10 的原碼 1000 1010其中,最高位表示符號位,0 表示正...
關於浮動你不得不知道的知識
首先你得知道浮動屬性出現的 初衷是 為了實現文字環繞的效果 只是後來被用在了 不正當的方面 以下是我總結的16條關於 浮動的規則。1.css允許浮動任何元素,且浮動的元素會從正常的文件流中脫離出來,不過它仍然會影響布局。2.浮動元素周圍的外邊距不會合併,不管周圍的margin是否是浮動元素的都不會合...
使用阿里云云伺服器不得不知的12條操作禁忌
雲伺服器是部署在物理機上的,底層物理機效能出現異常或者其他原因都會導致物理機宕機,當檢測到雲伺服器所在的物理機機發生故障,系統會啟動保護性遷移,將您的伺服器遷移到效能正常的宿主機上 一旦發生宕機遷移,您的伺服器就會被重啟,如果您希望您的伺服器重啟以後應用伺服器自動恢復,需要您把應用程式設定成開機自動...