主流固態(tài)除了SLC,就只剩MLC了!

前段日子見某“大佬”在群里吹B的時候說自己買了MLC的三星970PRO,嘲諷我們這些用TLC的不行
我上去插了一句:嘚瑟啥,別人用的也是MLC,不信你看三星官網(wǎng)!
接下來就開始我漫長的裝逼之旅~~~


MLC
Multi-Level Cell
百度百科翻譯為:多層單元
維基百科翻譯為:多階存儲單元
一般科普翻譯為:雙層儲存單元(我尼瑪這什么幾把瞎翻譯???)
但就算我們一個詞一個詞的來,這個Multi就是多個的意思,翻譯為雙層是啥意思?你當漢堡呢?給我來個三層~~~好吧,還真有三層的TLC...
采用哪個翻譯都與我無關(guān),站在一個嚴謹?shù)慕嵌葋碇v這玩意不好翻譯
我認為這玩意從物理的角度解釋能更好的解釋原理,從計算機的角度能更好的解釋命名
從物理角度說,固態(tài)存儲信息的最小儲存器是Cell,中文翻譯為單元沒啥大毛病
剛開始的時候,每個單元要沒有電,要么沒電,主控在讀取這個單元的時候,看見有電就是高電位翻譯為1,沒電就是低電位翻譯為0
所以每個固態(tài)硬盤的閃存顆粒就仿佛是電池一般!每個Cell都能存放一些電荷!
0和1是電腦能聽懂的底層語言二進制,說人話就是通電或者不通電,開或者關(guān)
然后二進制被翻譯為字符串再通過各種編碼,成為人們能看得懂的各種文字
二進制,是計算技術(shù)中廣泛采用的一種數(shù)制,由德國數(shù)理哲學(xué)大師萊布尼茨于1679年發(fā)明。二進制數(shù)據(jù)是用0和1兩個數(shù)碼來表示的數(shù)。它的基數(shù)為2,進位規(guī)則是“逢二進一”,借位規(guī)則是“借一當二”。當前的計算機系統(tǒng)使用的基本上是二進制系統(tǒng),數(shù)據(jù)在計算機中主要是以補碼的形式存儲的。計算機中的二進制則是一個非常微小的開關(guān),用“開”來表示1,“關(guān)”來表示0。
計算機中的單位:
位?bit (比特)(Binary Digits):存放一位二進制數(shù),即 0 或 1,最小的存儲單位。
字節(jié)?byte:8個二進制位為一個字節(jié)(B),最常用的單位。
1B(bytes) = 8bit
1KB?(Kilobyte?千字節(jié))=1024B,?
1MB?(Megabyte?兆字節(jié)?簡稱“兆”)=1024KB,
1GB?(Gigabyte?吉字節(jié)?又稱“千兆”)=1024MB,
1TB(Trillionbyte 萬億字節(jié)?太字節(jié))=1024GB,
1PB(Petabyte 千萬億字節(jié)?拍字節(jié))=1024TB,
1EB(Exabyte 百億億字節(jié)?艾字節(jié))=1024PB,
1ZB?(Zettabyte 十萬億億字節(jié)?澤字節(jié))= 1024 EB,
1YB?(Yottabyte 一億億億字節(jié)?堯字節(jié))= 1024 ZB,
1BB?(Brontobyte 一千億億億字節(jié))= 1024 YB
單一的要么有電有么沒電,就叫做SLC
SLC
Single-Level Cell
百度百科翻譯為:單層單元
維基百科翻譯為:單階存儲單元
一般科普翻譯為:單層次儲存單元(得嘞,這玩意還分層次的)
一個Cell只存儲1bit數(shù)據(jù)太浪費空間了,為了能利用空間,也為了省錢,一個Cell存儲多個數(shù)據(jù)勢在必行!
坐著空想當然簡單,行動起來就是飛一般的復(fù)雜
在二進制下的2位數(shù)有多少種可能呢?
四種:
00 01 10 11
所以這個固態(tài)必須想辦法把這四種情況都表達出來
至于為啥什么要有四個狀態(tài),你總不可能還是沿用之前的思路,這個Cell有電就是00,沒電就是11把?
那人家字母小寫c翻譯成二進制的01100011怎么顯示?兩組各取一個嗎?
人家要一個Cell里塞倆數(shù)據(jù),然后把幾個Cell排列起來才能翻譯成字符,有沒有聽講啊你小子?
于是某個研究人員去菜市場稱兩斤白糖的時候,一拍屁股:
我往里面塞電荷,然后測量電壓不就是了嘛!

于是研究人員改良了顆粒,讓它能精準的往Cell里塞進去電荷
但也沒多精準,也就能讓測出來四種電壓而已
也就是表示沒電的00、有點電01、差不多的10、要滿了的11
同時主控還要負責(zé)小心的往里面塞入電子,保證能讓充進去的電是能表示差不多的10,而不是要滿了的11
讀取數(shù)據(jù)的時候就是在測量電壓,就像你去買白糖的時候,老板問你要多少,你說兩斤,老板拿起已經(jīng)打包好的一包白糖往稱上放,你一看確實是兩斤,拿了白糖就走了
但寫入數(shù)據(jù)的時候不一樣??!老板要拿個塑料袋放稱上,舀一瓢白糖看一眼稱
1.2斤!
不夠加點,再舀一瓢
2.4斤!
多了舀出來點
1.8斤!
少了,再加
1.89斤!
法克.....
而且老板不會只舀一包,而是會連著準備很多包用來批發(fā)

因為要更省錢,所以更麻煩
由于測量(讀?。╇妷翰徽M事,故讀取速度幾乎不怎么受影響,受影響最大的是寫入速度!
但人們?nèi)粘S糜脖P又不會一次性寫入過大的東西進去
只要主控撐得住,且有更大的緩存支撐住臨時的大數(shù)據(jù)寫入
那么是繼續(xù)研發(fā)下去,是十分有必要的!
所以按照這個邏輯,TLC在眾望所盼中誕生了!

TLC
Triple-Level Cell
百度百科翻譯為:翻譯個球,搜不到
維基百科翻譯為:三階存儲單元
一般科普翻譯為:三層儲存單元(驚了,居然準了?。?/span>
他有個更準確的名字:3bit MLC(3bit Multi-Level Cell)
剛才我們說了,MLC中的M 既Multi是:多 ?的意思
所以沒人強行規(guī)定MLC必須指2bit/Cell,它可以每個Cell放N個數(shù)據(jù)都成
也就是說馬上就要到來的QLC( Quad-Level Cell)、還在規(guī)劃的(Penta-level cell)
以及什么........
HLC(Hexa-Level Cell)
SELC(Sep-Level Cell)
OLC(Octa-Level Cell)
NLC(Non-Level Cell)
DLC(Dec-Level Cell)
ULC(Undec-Level Cell)
它們都叫MLC!?。。。?!

好像被我這么一通忽悠,對方也慢慢開始回味起了有啥不對!
“我那玩意是2bit MLC 而別人的則是3bit甚至更大的MLC,這本質(zhì)上是不同的玩意!”

誰知我嘴角微楊邪魅一笑:

剛才那些個知識,其實是在2D顆粒時代的事情了
以前的問題就是單顆顆粒的容量太小了,因為芯片就那么點體積,你想想搞大容量,就必須得曾加面積,要么就得縮小制程,也就是每個Cell的體積,還得優(yōu)化架構(gòu)啥的
為了能更好的利用空間,也為了進一步壓縮成本,更好的搞定性價比!還為了解決一些蛋疼的問題
不知道是不是設(shè)計師看哲♂學(xué)的時候想出來的男上加男策略,直接把這玩意給堆起來,然后中間用幾根線連起來,做成了3D NAND Flash,也就是大家常說的3D顆粒
這樣既能簡單的解決空間問題,又能簡單的獲得更大的容量,豈不美哉?

有了更大的容量,就得開始動歪腦筋
于是鎂光和英特爾開始搞事,折騰了幾年折騰出個3D MLC,準確的說是L06B制程的顆粒
這玩意的特點是遇到合適的主控后(比如慧榮的2258),就能把這個MLC開成TLC,還能多出一半的容量?。ú蝗缯f原本就是打算開成TLC的,開成MLC浪費了空間)
現(xiàn)在的TLC都有一個叫SLC緩存的玩意(模擬 SLC Cache),這玩意的特點就是,將一部分的TLC空間折疊三分二變成SLC,將一部分的QLC折疊四分之三變成SLC,以提高自身的寫入速度
看到這你們想到點啥沒?
雖然好像誰都沒說,但從實際的角度上,現(xiàn)在的固態(tài)硬盤,已經(jīng)沒有了SLC MLC TLC啥的之分了親
因為Cell的本質(zhì)是不變的,就是一個單元了,變化的只是這個單元能接受識別多少種電壓而已!
那么這個閃存生產(chǎn)出來,它能接受識別的電壓種類再多
只要固態(tài)指定它是SLC,它就能整個盤變成SLC!只要指定這玩意是MLC,整個固態(tài)它就是MLC!付出的只是容量上的代價而已(而且相較于TLC要多次調(diào)整電荷,MLC或者SLC需要調(diào)整的次數(shù)越少,對單個Cell造成的傷害少,自然壽命理論上更長。當然這是拋開更游戲的糾錯和垃圾回收機制的理論)
以前不這么玩,是因為本身容量就不大,現(xiàn)在不這么玩
是因為實際使用中,用戶并不需要那么高的寫入速度和那么多的壽命,用戶需要的是性價比~~~
時代變了大人,是時候放下心中的堅持了...

好吧,雖然我這么說,但我個做U盤玩固態(tài)的,經(jīng)常接觸一些優(yōu)秀的服務(wù)器固態(tài),很多還都是全新的(至于哪來的就不透露了,有想法的可以私聊)
所以在我面裝逼實在無效,價值1W3的閃迪6.4T PCI-E固態(tài)不也就被我拿來放放游戲吃吃灰么。
這年頭,裝逼給誰看啊?