手機/電腦的記憶體和儲存

現如今隨著手機的不斷推廣和普及,已掩蓋電腦時代的輝煌,很多新生代的使用者都與手機的儲存就陷入了茫然,於是我們經常會遇到“Q:你的手機記憶體多大?A:128GB”這樣的笑話,實際上我們也相信提問者就是想知道手機儲存容量的大小,而回答者也已經按照約定俗成的方式回答了問題。

DRAMNAND都是啥? 科普記憶體和硬碟的區別

DRAMNAND都是啥? 科普記憶體和硬碟的區別

於計算機組成原理來分析:手機和電腦並沒有本質的區別,主體結構依然為輸入裝置、儲存器、運算器、控制器和輸出裝置,至於外圍的儲存裝置實際只是一個輔助,所以稱之為輔助儲存器,只是因為人們對於結果的更多需求,所以它又成為人們似乎“看得著、摸得見”的最重要組成部分——儲存。

計算機的組成原理裡面這樣介紹計算機的儲存器:儲存器是用來儲存程式和資料的部件,對於計算機來說,有了儲存器,才有記憶功能,才能保證正常工作。儲存器的種類很多,按其用途可分為主儲存器和輔助儲存器,主儲存器又稱記憶體儲器,而諸如硬碟、SSD等都為輔助儲存器。

DRAMNAND都是啥? 科普記憶體和硬碟的區別

DRAMNAND都是啥? 科普記憶體和硬碟的區別

套用網路上這樣一個關於記憶體和儲存的定義,大家可能再也不會弄混淆了:你口裡吃花生就CPU在處理資料,硬碟容量大小就是你的口袋大小(能放多少花生),記憶體大小就是你的手的大小(一次能抓多少出來)。

現如今,無論是手機還是電腦記憶體都使用了DRAM儲存技術。DRAM(Dynamic Random Access Memory),即動態隨機存取儲存器,最為常見的系統記憶體。DRAM只能將資料保持很短的時間。為了保持資料,DRAM使用電容儲存,所以必須隔一段時間重新整理(refresh)一次,如果儲存單元沒有被重新整理,儲存的資訊就會丟失。

DRAMNAND都是啥? 科普記憶體和硬碟的區別

DRAMNAND都是啥? 科普記憶體和硬碟的區別

至於儲存方面,現如今主要包含兩大類技術:HDD(Hard Disc Drive)和NAND Flash,關於HDD在這裡就不做過多介紹。NAND Flash全名為Flash Memory,屬於非易失性儲存裝置(Non-volatile Memory Device),Flash的內部儲存是MOSFET,裡面有個懸浮門(Floating Gate),是真正儲存資料的單元。資料在Flash記憶體單元中是以電荷(electrical charge) 形式儲存的。儲存電荷的多少,取決於圖中的外部門(external gate)所被施加的電壓,其控制了是向儲存單元中衝入電荷還是使其釋放電荷。而資料的表示,以所儲存的電荷的電壓是否超過一個特定的閾值Vth來表示。

對於資料的表示,單個儲存單元中內部所儲存電荷的電壓,和某個特定的閾值電壓Vth,相比,如果大於此Vth值,就是表示1,反之,小於Vth,就表示0;對於nand Flash的資料的寫入1,就是控制External Gate去充電,使得儲存的電荷夠多,超過閾值Vth,就表示1了。而對於寫入0,就是將其放電,電荷減少到小於Vth,就表示0了。

DRAM和NAND的單位

從上面的儲存原理可以看出,DRAM和NAND的儲存單位實際為b,那麼為什麼儲存產品的容量一般都用B來標註呢?而儲存產品的顆粒容量又以b來標註呢?

以DRAM記憶體顆粒為例,其儲存組織結構為深度(Depth)加上位寬(Width),下面我們以美光官方的一份記憶體顆粒文件為大家解析,例如編號為MT40A1G16HBA-083E的記憶體顆粒,其深度(Depth)和位寬(Width)分別為1Gb和16,容量顯然為16Gb,關於記憶體顆粒的容量我們這樣解釋下大家可能會更好理解一些。

DRAMNAND都是啥? 科普記憶體和硬碟的區別

DRAMNAND都是啥? 科普記憶體和硬碟的區別

我們把MT40A1G16HBA-083E比作一個國家,這個國家有16個城市,每個城市有1024x1024x1024(1G=1024M,1M=1024K,1K=1024)個家庭,那麼這個國家總共就會有16x1024x1024x1024個家庭,又假如每個城市都設定一個城門,每次只能放行一個家庭,那麼這個國家每次都多隻能放行16個家庭。

而現在無論是桌面PC還是手機基本已經進入了64bit時代,處理器每次吞吐資料的單位為64,也就是說處理器一次需要抽調64個家庭,那麼怎麼辦呢?於是我們就將多個國家聯合起來,對於一個擁有16個城市的國家而言,那麼只需要4個國家就可以滿足處理器的需求。不過如果對於一些小國只有4個或者8個城市的,那麼一次就需要16個國家聯合起來或者8個國家聯合起來才能夠滿足需求。

DRAMNAND都是啥? 科普記憶體和硬碟的區別

DRAMNAND都是啥? 科普記憶體和硬碟的區別

現在再來說說為什麼DRAM或者NAND儲存顆粒不適用B而是用b來標註呢?實際上稍微瞭解計算機原理的使用者應該知道,現存的計算機體系結構B(Byte)表示一個位元組,而b(bit)表示1個位。對於單純1個bit的0或者1來說計算機的識別就是“是”或者“非”,無數個0或者1組織起來計算機並不會知道這代表著什麼?而資料應該怎麼和計算機的0或者1對應起來呢?於是就有了ACSII編碼,每一個字母或者符號都對應一個ACSII編碼,這樣現實世界的語言就和計算機就完全對接上了。

DRAMNAND都是啥? 科普記憶體和硬碟的區別

DRAMNAND都是啥? 科普記憶體和硬碟的區別

ACSII編碼規定每一個符號佔用的大小為8bit,簡稱一個位元組(Byte),於儲存而言1個位元組才算基本的單位,所以檔案的儲存就以Byte為最小單位。不過無論是DRAM還是NAND由於對接的計算機甚至是非計算機裝置,其產品的儲存單位屬性並不一定是Byte,所以依然為bit標註。

另外在資料流,例如網路頻寬、USB頻寬、PCI-E頻寬,我們又會發現以b為單位,這是因為對於資料傳輸而言,都是以通道流形式,就像上面的例子一樣一次只能放行一個家庭。而在資料傳輸過程中為了確保資料的安全還會加入一些校驗資料在其中例如USB 3。0就採用了8b/10b的編碼方式(每傳輸8bit資料就需要加入2bit校驗資料),這個時候如果再使用Byte作為單位顯然亂了章法,不合時宜。

SLC、MLC、TLC NAND的區別

對於基於NAND儲存技術的裝置而言,無論是隨身碟還是SSD,甚至是SD卡,都會涉及到一個問題成本,於是產品設計從SLC轉變到MLC,再到TLC,甚至QLC也將在後續問世,那麼SLC、MLC、TLC究竟對使用者有什麼影響呢?

DRAMNAND都是啥? 科普記憶體和硬碟的區別

DRAMNAND都是啥? 科普記憶體和硬碟的區別

SLC——SLC英文全稱(Single Level Cell——SLC)即單層式儲存

SLC技術特點是在浮置閘極與源極之中的氧化薄膜更薄,在寫入資料時透過對浮置閘極的電荷加電壓,然後透過源極,即可將所儲存的電荷消除,透過這樣的方式,便可儲存1個資訊單元,這種技術能提供快速的程式程式設計與讀取,不過此技術受限於Silicon efficiency的問題,必須要由較先進的流程強化技術(Process enhancements),才能向上提升SLC製程技術。

MLC——MLC英文全稱(Multi Level Cell——MLC)即多層式儲存

英特爾(Intel)在1997年9月最先開發成功MLC,其作用是將兩個單位的資訊存入一個Floating

Gate(快閃記憶體儲存單元中存放電荷的部分),然後利用不同電位(Level)的電荷,透過記憶體儲存的電壓控制精準讀寫。MLC透過使用大量的電壓等級,每 個單元儲存兩位資料,資料密度比較大。SLC架構是0和1兩個值,而MLC架構可以一次儲存4個以上的值,因此,MLC架構可以有比較好的儲存密度。

TLC——TLC英文全稱(Trinary-Level Cell)即三層式儲存

TLC即3bit per cell,每個單元可以存放比MLC多1/2的資料,共八個充電值,所需訪問時間更長,因此傳輸速度更慢。TLC優勢價格便宜,每百萬位元組生產成本是最低的,但是壽命短,只有約1000次擦寫壽命。

DRAMNAND都是啥? 科普記憶體和硬碟的區別

DRAMNAND都是啥? 科普記憶體和硬碟的區別

正如上面的介紹,從SLC到MLC再到TLC,cell對於電壓的精確控制更高,這直接導致TLC的壽命下降到只有1000次PE,而對應的SLC和MLC分別為10000+和3000,相對來說TLC的耐久度顯著下降。TLC的另外一個劣勢就是資料的讀寫效率,在SLC時代,1個cell一次只需要讀取/寫入1個bit,到MLC時代每次需要讀取/寫入2bit,而到TLC時代則上升到3bit,很顯然其效能受到電壓控制的程式複雜度會變慢,當然由於工藝和主控的不斷升級,目前TLC已經可以追平MLC產品。不過TLC耐久的硬傷短時間內並無法得到有效解決,當然TLC的耐久可以透過儲存裝置的容量加大而均衡磨損,變相演唱了產品的使用壽命。

DRAMNAND都是啥? 科普記憶體和硬碟的區別

DRAMNAND都是啥? 科普記憶體和硬碟的區別

職位推薦:

國民技術

安全技術工程師

簽約獎:8,000 | 推薦獎:8,000

25K-50K/深圳/5年以上/碩士及以上/全職

晶豐明源

電源管理晶片設計

20K-30K/上海/5年以上/碩士及以上/全職

敦泰科技

DAC/ADC設計

20K-40K/深圳/5年以上/本科及以上/全職

摩爾精英,全球半導體職業機會