內存系統:DRAM, DDR 與Memory Controller-之四

這一節打算回顧一下新式存儲介質和新式存儲方法

傳統存儲介質的不足

1. DRAM不是理想的內存

DRAM大家用得很開心,而且已經服務大家幾十年了,好像一談到內存,那就是DRAM了,DRAM已經成了內存的代名詞,有時候大家甚至覺得我們有DRAM已經足夠了。

這些都是普通消費者的想法,對於計算機科學的研究人員來說,DRAM並不一內存的理想選擇。

說DRAM是易失性存儲器,是說掉電後它裡面存儲的內容就丟掉了。其實這並沒有什麼,不關電不得掉了?對於台式電腦而言也許一直開著機太費電了,然後對於伺服器/手機/平板而言不關電也不是什麼大不了的。

但是DRAM還有一個更大的問題,那就是刷新,refresh。

DRAM並不是不關電內容就不會丟失。DRAM是用電容來存儲數據的,電容就存在漏電的問題。如果你什麼也不做的話,即使不關電,DRAM內存儲的內容也會在幾十毫秒到幾百毫秒的時間內一點一點的丟失數據。也就是說不關電的情況下,DRAM里的內容也無法保存超過一秒。

目前解決這個問題的辦法就刷新,簡言之就是在數據還沒有丟之間把它讀出來,再重新寫一遍。這個過程要耗電,更要耗DDR匯流排帶寬。在內存容量不是那麼大的情況下,也就是過去的幾十年,這個問題不是很大,所以大家也沒有動力在新式存儲介質上花大量的時間和經歷,當然研究還是有的,但投入不高。

隨著內存容量越來越大,現在一個內存條已經達到32GB,後面上百上T並不是什麼不可想像的事情,刷新的問題就越來越大。DDR匯流排帶寬的問題可以通過自刷新來解決,就是說內存條裡面集成一個控制器,來代替DDR控制器來發送刷新指令。但刷新帶來的耗電問題卻無法解決。現在而言,一個計算機系統中存儲設備已經消耗了電力的三分之一,後面這個比例可能還會提升。

對於伺服器而言,電就是錢,能省三分之一的電費誰不想省?

對於消費電子而言,電就是用戶體驗,如果能把這三分之一的耗電降下來,你的手機就又能多撐一天不用充電。

2. Nand Flash容量有點小

對於Storage而言,硬碟越來越被計算機拋棄,很快就會成為軟盤一樣的傳說。

硬碟的速度慢,但容量現在做得越來越大,所以它的結局可能就是成為冷存儲。對於數據中心來講,它越來越少出現在計算節點上,而是SAN的重要組成部分。

對於女性消費者而言,好多人可能已經沒有硬碟了。有情懷一點的可能也是在家搭一個NAS還用得著它。想來想去,阻礙它完全遠離消費視線的唯一理由可能就是廣大男士對「老師」的喜愛了。然而隨著SSD越來越便宜,硬碟的消失是遲早的事。

SSD之所以不那麼便宜,是因為它的容量不太容易做上去。首先,Nand Flash的結構是固定的,一個存儲單元就占那麼大的地方,你不能想通過優化結構來把它做小。提高工藝也是個辦法,這個方法不太好用,一來把存儲單元變得太小的話就容易損壞,二來工藝再小也架不住用於對容量的需求大,工藝一次提一倍也就不錯了。

所以目前提高SSD容量的辦法主要是兩個,一個是MLC,一個是堆疊。

MLC就是一個存儲單元存儲多個位,就是把一個單元存儲的電位原來劃分為兩個檔位,分別認為是1和0,現在劃分為8個檔位,分別認為是0~7。

堆疊相當於幾個晶元豎著疊放在一起,只不過這是在晶元內部做的。

新式存儲介質的優越性質

目前正在研究的新式存儲介質多數是面向成為內存而研究的。由於它們多數是非易失的,所以可能順便也把存儲的問題給解決了。

1. PCM相變存儲器

相變存儲器是目前的研究中最被大家看好,最有商用希望的一種存儲介質。話是這麼說,要說真正能商用要到什麼時候?也許三年五年,也許五年十年,也許三五十年。。。

2012年剛進公司的時候就是研究這玩意,當時市面上已經有樣片可用,甚至三星的一款手機已經用它來做存儲設備了。所以當時感覺時間很緊迫,再不抓緊時間研究,部署一些專利可能這波計算機的小變革就被落下了。然而一轉眼2018年了。。。。。。

PCM也叫PCRAM,即Phase Change Memory或Phase Change RAM,中文叫相變存儲器。它的存儲原理是:

相變硫屬化物在由無定形相轉向結晶相時會表現出可逆的相變現象。如圖1,在無定形相,材料是高度無序的狀態,不存在結晶體的網格結構。在此種狀態下,材料具有高阻抗和高反射率。相反地,在結晶相,材料具有規律的晶體結構,具有低阻抗和低反射率。

以上轉自:相變存儲器(PCM)技術基礎-通信/網路-與非網

就是說有一種材料,它可以在多晶態(polycrytalline state)和不定形態(amorphous state)之間可逆的來迴轉換,多晶態就電阻低,不定形態就電阻高,這就提供一個可以用來存儲數據的可能性。我們對這個材料施加一個電壓,如果有大電流,就說明是多晶態,如果沒有大電流就表明是不定形態,它們分別可以用這種狀態來表示0和1。

某種程度上來講,nand flash和nor flash也是用類似的原理來存儲數據的,但相對於nand和nor flash它都有優勢。

相對於Nand flash來講, Nand flash寫入數據的時候需要先erase,然後再write。PCM不用直接就可以寫入。

相對於Nor flash來講,Nor flash可以直接寫入,但它的寫入速度慢,而且Nor flash的存儲密度不行,無法做大容量。PCM可以直接寫入,寫入速度還快(與DRAM的寫入速度有望達到同一量級),存儲密度還高。

相對於DRAM,DRAM要刷新,PCM是非易失的,掉電都不丟失數據,當然不存在刷新的問題。DRAM寫入從某種程度上來講是一個read-modify-write的過程,它需要把一行數據讀出來,把一行cell的內容清空,然後在row buffer中修改內容,然後再寫入cell。PCM可以直接對某個位寫0,寫1。雖然現在來講寫入速度不如DRAM,但將來超過DRAM也說不定。

到現在為止,看起來PCM是一個超級好的東西,兼顧了DRAM和Flash的優勢,可以把Memory和Storage統一替換掉。然而現在還有一些問題導致不它能商用:

  1. endurance,就是寫入次數,內存的寫入很頻繁的,但PCM有寫入次數的限制。寫次數多了就壞掉了,直接做內存目然還不行。
  2. 容量問題,不能做內存做存儲怎麼樣?殘念的是,它做存儲的話容量比不上Nand Flash。

所以目前來講,雖然PCM是各方面特性都還不錯,但也各方面都不是專家,所以被DRAM+Nand Flash組合碾壓。

2. MRAM/STT-MRAM

現在提MRAM的話,基本都是在講STT-MRAM了,即Spin Torque Magnetic RAM。中文叫自旋扭矩磁阻隨機存儲器。它的原理比較複雜,我就不做不準備的通俗解釋了,有興趣的可以看下百度百科:STT-MRAM_百度百科 或是wikipedia。下面的圖是百度百科拿來的:

如果說PCM是想以一已之力挑戰DRAM+Nand Flash組合,STT-MRAM則是想以一已之力挑戰SRAM+DRAM組合。

已經講過了DRAM的問題,SRAM也是有問題的,它最大的問題就是容量太難做大。現在好多CPU一半以上的面積都用來做SRAM了。以前講Cache的時候曾講過,SRAM還有一個問題是它的面積做的越大,速度就越慢。。。。

所以現在1級緩存幾乎一直在256KB左右,2級緩存一般是幾個MB,3級緩存頂多也就幾十MB。要想拿SRAM做到幾GB的容量幾乎是不可能完成的任務。

如果SRAM能做到GB級別,或是DRAM能做得和SRAM一樣快,我們就可以把三級緩存+DRAM的分層結構壓成一層了。

STT-MRAM似乎給了人希望,它有以下優點:

  1. 速度快,可比SRAM
  2. 非易失(從而更節能)
  3. 集成度高,可以把容量做很大。
  4. 無限寫入(反而寫入次數可以很大就是了)

就像PCM沒能幹死DRAM+Nand Flash組合一樣,STT-MRAM沒有乾死SRAM+DRAM組合也是有原因的:

  1. 集成度沒那高,目前做幾個GB仍然有困難。
  2. 不是真的無限寫入,做SRAM的話真的可能被寫壞。
  3. 寫入速度替換一級緩存還是不難度
  4. 寫入能耗有點高

目前我知道的最佳成績:

容量:Everspin在搞的1Gb的內存顆粒。一條上搞16顆晶元的話,也就2GB。

寫入次數:10的15次方(不太記得了,歡迎提供數據)。

寫入速度:<20ns,但SRAM做一級緩存是<ns。

從目前的形勢看,如果大家對內存的非易失性有要求但容量要求不是很高的話,很快就有可用的。

STT-MRAM參考資料:

STT-MRAM_百度百科

中國快閃記憶體論壇有感-存儲之道-51CTO博客

DRAM最佳候補:自旋注入式MRAM步入實用階段 - 存儲技術 - 電子工程世界網

東芝提出只靠STT-MRAM進行運算和存儲的計算架構_公司_元器件交易網

3. 其他新式存儲介質

其他還有一些目前前景看起來沒有那麼美好,但說不定將來突然變美的新式存儲介質和方法,比如說ReRAM, FeRAM等。這裡由於一些比較懶的原因,就不簡介了。

ReRAM突然就火了,準備好了嗎?__電子雜談_資訊_中圖電子網

FeRAM_百度百科

ReRAM_百度百科

Intel要在中國投35億美金造這種快閃記憶體,3DxPoint技術牛在哪裡? | 雷鋒網


推薦閱讀:

「土豪」玩家必備!
存儲空間不足的福音:128G存儲空間,讓你存滿很多小電影
新一代光碟,數據可以保存600年
如何選擇正確的存儲器?| 半導體行業觀察

TAG:中央處理器CPU | 計算機 | 存儲技術 |