Wednesday, April 24, 2024

固態硬盤SSD與閃存(Flash Memory)

  固態硬盤SSD(Solid State Drive)泛指使用NAND Flash組成的固態硬盤,其特別之處在於沒有機械結構,利用傳統的NAND Flash特性,以區塊寫入和抹除的方式作讀寫的功能,因此在讀寫的效率上,非常依賴讀寫技術上的設計,與目前的傳統硬盤相較,具有低耗電、耐震、穩定性高、耐低溫等優點。
  世界上第一款固態硬盤出現於1989年,不過由於其價格過於高昂因此在當時只限應用於非常特別的市場比如醫療、工作以及軍用市場。實際上雖然當時其1M大小的閃存換算下來的價格已經達到了3500美元,但是其性能卻要遠低於當時的普通硬盤產品,不過憑藉其獨有的特性卻使得閃存硬盤在軍用、航空以及醫療領域獲得了長足的發展。
  相比而言,固態硬盤首先功耗很低,發熱量小,工作噪音低。而現在隨着控制器以及閃存發展的不斷成熟在一些特別的應用領域其性能已經接近甚至超過了普通硬盤。 之後,隨着三星、SONY等一大批國外實力廠家的不斷開發研究,SSD市場已經全面開花了。
  每一個新生事物的出現總會遇到價格偏高的問題,SSD也因其研發成本、技術含量等問題,價格相對於其他存儲設備來說要高,但其優勢也還是非常明顯的。

固態硬盤的優點
  固態硬盤與普通硬盤比較,擁有以下優點:
  1. 啟動快,沒有電機加速旋轉的過程。
  2. 不用磁頭,快速隨機讀取,讀延遲極小。根據相關測試:兩台電腦在同樣配置的電腦下,搭載固態硬盤的筆記本從開機到出現桌面一共只用了18秒,而搭載傳統硬盤的筆記本總共用了31秒,兩者幾乎有將近一半的差距。
  3. 相對固定的讀取時間。由於尋址時間與數據存儲位置無關,因此磁盤碎片不會影響讀取時間。
  4. 基於DRAM的固態硬盤寫入速度極快。
  5. 無噪音。因為沒有機械馬達和風扇,工作時噪音值為0分貝。某些高端或大容量產品裝有風扇,因此仍會產生噪音。
  6. 低容量的基於閃存的固態硬盤在工作狀態下能耗和發熱量較低,但高端或大容量產品能耗會較高。
  7. 內部不存在任何機械活動部件,不會發生機械故障,也不怕碰撞、衝擊、振動。這樣即使在高速移動甚至伴隨翻轉傾斜的情況下也不會影響到正常使用,而且在筆記本電腦發生意外掉落或與硬物碰撞時能夠將數據丟失的可能性降到最小。
  8. 工作溫度範圍更大。典型的硬盤驅動器只能在5到55℃範圍內工作。而大多數固態硬盤可在-10~70℃工作,一些工業級的固態硬盤還可在-40~85℃,甚至更大的溫度範圍下工作。
  9. 低容量的固態硬盤比同容量硬盤體積小、重量輕。但這一優勢隨容量增大而逐漸減弱。直至256GB,固態硬盤仍比相同容量的普通硬盤輕。
  固態存儲技術(簡稱為SSD),一般可以分為二種,一種是基於閃存的SSD,採用FLASH MEMORY 作為存儲介質,這也是我們通常比較常見的SSD,象我們經常使用的U盤,數碼相機等一些電子存儲器及另外一些ATA、SCSI、FC接口的Flash Disk,統稱為閃存盤;SSD的另一種是DDRRAM Base SSD,採用DDRRAM作為存儲介質、仿效傳統磁盤驅動器的設計、可被各種操作系統的文件系統工具進行卷設置和管理,並提供工業標準的PCI和FC接口用於連接主機/服務器或存儲網絡的存儲設備,可分為SSD驅動器和SSD盤陣列二大塊,是一種真正高性能的存儲,而且它的使用壽命非常長,幾乎包含所有閃存盤所擁有的優點或它所欠缺的部分,美中不足的它卻需要電源保護數據安全。
  基於FLASH 的SSD最大的優點就是可以移動,而且數據保護不受電源控制,能適應於各種環境,但是使用年限不高。所以閃存盤的容量一般都非常小,上G的已經算大了,目前最大的有64G的Flash Disk。適合於個人PC用戶使用,但應用到企業的存儲系統就無能為力了。採用FLASH內存的SSD具備相當高的數據安全性,並且在噪音、便攜性等方面都有硬盤所無法媲美的優勢,在航空航天、軍事、金融、電信、電子商務等部門中都有廣泛的使用。
  而DDRRAM Base SSD相對普通HDD硬盤的最顯著優勢就是速度,例如一個每分鐘15000轉的硬盤轉一圈需要200毫秒的時間,而在SSD上由於是數據是存放在半導體內存上,能夠在低於一毫秒的時間內對任意位置的存儲單元完成I/O(輸入/輸出)操作,因此在對許多應用程序來說最為關鍵的I/O性能指標——IOPs(即每秒多少次IO動作)上,SSD可以達到硬盤的50~800倍。

【閃存的概念】
  閃存(Flash Memory)是一種長壽命的非易失性(在斷電情況下仍能保持所存儲的數據信息)的存儲器,數據刪除不是以單個的字節為單位而是以固定的區塊為單位(注意:NOR Flash 為字節存儲。),區塊大小一般為256KB到20MB。閃存是電子可擦除只讀存儲器(EEPROM)的變種,EEPROM與閃存不同的是,它能在字節水平上進行刪除和重寫而不是整個芯片擦寫,這樣閃存就比EEPROM的更新速度快。由於其斷電時仍能保存數據,閃存通常被用來保存設置信息,如在電腦的BIOS(基本輸入輸出程序)、PDA(個人數字助理)、數碼相機中保存資料等。另一方面,閃存不像RAM(隨機存取存儲器)一樣以字節為單位改寫數據,因此不能取代RAM。
  閃存卡(Flash Card)是利用閃存(Flash Memory)技術達到存儲電子信息的存儲器,一般應用在數碼相機,掌上電腦,MP3等小型數碼產品中作為存儲介質,所以樣子小巧,有如一張卡片,所以稱之為閃存卡。根據不同的生產廠商和不同的應用,閃存卡大概有SmartMedia(SM卡)、Compact Flash(CF卡)、 MultiMediaCard(MMC卡)、Secure Digital(SD卡)、Memory Stick(記憶棒)、 XD-Picture Card(XD卡)和微硬盤(MICRODRIVE)這些閃存卡雖然外觀、規格不同,但是技術原理都是相同的。

【技術及特點】
  NOR型與NAND型閃存的區別很大,打個比方說,NOR型閃存更像內存,有獨立的地址線和數據線,但價格比較貴,容量比較小;而NAND型更像硬盤,地址線和數據線是共用的I/O線,類似硬盤的所有信息都通過一條硬盤線傳送一般,而且NAND型與NOR型閃存相比,成本要低一些,而容量大得多。因此,NOR型閃存比較適合頻繁隨機讀寫的場合,通常用於存儲程序代碼並直接在閃存內運行,手機就是使用NOR型閃存的大戶,所以手機的“內存”容量通常不大;NAND型閃存主要用來存儲資料,我們常用的閃存產品,如閃存盤、數碼存儲卡都是用NAND型閃存。

  這裡我們還需要端正一個概念,那就是閃存的速度其實很有限,它本身操作速度、頻率就比內存低得多,而且NAND型閃存類似硬盤的操作方式效率也比內存的直接訪問方式慢得多。因此,不要以為閃存盤的性能瓶頸是在接口,甚至想當然地認為閃存盤採用 USB2.0接口之後會獲得巨大的性能提升。
  前面提到NAND型閃存的操作方式效率低,這和它的架構設計和接口設計有關,它操作起來確實挺像硬盤(其實NAND型閃存在設計之初確實考慮了與硬盤的兼容性),它的性能特點也很像硬盤:小數據塊操作速度很慢,而大數據塊速度就很快,這種差異遠比其他存儲介質大的多。這種性能特點非常值得我們留意。
  閃存存取比較快速,無噪音,散熱小。你買的話其實可以不考慮那麼多,同樣存儲空間買閃存。如果硬盤空間大就買硬盤,也可以滿足你應用的需求。

【閃存的分類】
  ·目前市場上常見的存儲按種類可分:
  U盤
  CF卡
  SM卡
  SD/MMC卡
  記憶棒
  XD卡
  MS卡
  TF卡
  國內市場常見的品牌有:
  金士頓、索尼、晟碟、Kingmax、創見、威剛,聯想、台電等。
  【NAND型閃存】
內存和NOR型閃存的基本存儲單元是bit,用戶可以隨機訪問任何一個bit的信息。而NAND型閃存的基本存儲單元是頁(Page)(可以看到,NAND型閃存的頁就類似硬盤的扇區,硬盤的一個扇區也為512字節)。每一頁的有效容量是512字節的倍數。所謂的有效容量是指用於數據存儲的部分,實際上還要加上16字節的校驗信息,因此我們可以在閃存廠商的技術資料當中看到“(512+16)Byte”的表示方式。目前2Gb以下容量的NAND型閃存絕大多數是(512+16)字節的頁面容量,2Gb以上容量的 NAND型閃存則將頁容量擴大到(2048+64)字節。
  NAND型閃存以塊為單位進行擦除操作。閃存的寫入操作必須在空白區域進行,如果目標區域已經有數據,必須先擦除後寫入,因此擦除操作是閃存的基本操作。一般每個塊包含32個512字節的頁,容量16KB;而大容量閃存採用2KB頁時,則每個塊包含64個頁,容量128KB。
  每顆NAND型閃存的I/O接口一般是8條,每條數據線每次傳輸(512+16)bit信息,8條就是(512+16)×8bit,也就是前面說的512字節。但較大容量的NAND型閃存也越來越多地採用16條I/O線的設計,如三星編號 K9K1G16U0A的芯片就是64M×16bit的NAND型閃存,容量1Gb,基本數據單位是(256+8)×16bit,還是512字節。
  尋址時,NAND型閃存通過8條I/O接口數據線傳輸地址信息包,每包傳送8位地址信息。由於閃存芯片容量比較大,一組8位地址只夠尋址256個頁,顯然是不夠的,因此通常一次地址傳送需要分若干組,佔用若干個時鐘周期。NAND的地址信息包括列地址(頁面中的起始操作地址)、塊地址和相應的頁面地址,傳送時分別分組,至少需要三次,佔用三個周期。隨着容量的增大,地址信息會更多,需要佔用更多的時鐘周期傳輸,因此NAND型閃存的一個重要特點就是容量越大,尋址時間越長。而且,由於傳送地址周期比其他存儲介質長,因此NAND型閃存比其他存儲介質更不適合大量的小容量讀寫請求。

  決定NAND型閃存的因素有哪些?
  1.頁數量
  前面已經提到,越大容量閃存的頁越多、頁越大,尋址時間越長。但這個時間的延長不是線性關係,而是一個一個的台階變化的。譬如128、256Mb的芯片需要3個周期傳送地址信號,512Mb、1Gb的需要4個周期,而2、4Gb的需要5個周期。
  2.頁容量
  每一頁的容量決定了一次可以傳輸的數據量,因此大容量的頁有更好的性能。前面提到大容量閃存(4Gb)提高了頁的容量,從512字節提高到2KB。頁容量的提高不但易於提高容量,更可以提高傳輸性能。我們可以舉例子說明。以三星K9K1G08U0M和K9K4G08U0M為例,前者為1Gb,512字節頁容量,隨機讀(穩定)時間 12μs,寫時間為200μs;後者為4Gb,2KB頁容量,隨機讀(穩定)時間25μs,寫時間為300μs。假設它們工作在20MHz。
  讀取性能:NAND型閃存的讀取步驟分為:發送命令和尋址信息→將數據傳向頁面寄存器(隨機讀穩定時間)→數據傳出(每周期8bit,需要傳送512+16或2K+64次)。
  K9K1G08U0M讀一個頁需要:5個命令、尋址周期×50ns+12μs+ (512+16)×50ns=38.7μs;K9K1G08U0M實際讀傳輸率:512字節÷38.7μs=13.2MB/s;K9K4G08U0M讀一個頁需要:6個命令、尋址周期×50ns+25μs+(2K+64)×50ns=131.1μs;K9K4G08U0M實際讀傳輸率:2KB字節÷131.1μs=15.6MB/s。因此,採用2KB頁容量比512字節也容量約提高讀性能20%。
  寫入性能:NAND型閃存的寫步驟分為:發送尋址信息→將數據傳向頁面寄存器→ 發送命令信息→數據從寄存器寫入頁面。其中命令周期也是一個,我們下面將其和尋址周期合併,但這兩個部分並非連續的。
  K9K1G08U0M寫一個頁需要:5個命令、尋址周期×50ns+ (512+16)×50ns+200μs=226.7μs。K9K1G08U0M實際寫傳輸率:512字節÷226.7μs=2.2MB/s。 K9K4G08U0M寫一個頁需要:6個命令、尋址周期×50ns+(2K+64)×50ns+300μs=405.9μs。K9K4G08U0M實際寫傳輸率:2112字節/405.9μs=5MB/s。因此,採用2KB頁容量比512字節頁容量提高寫性能兩倍以上。
  3.塊容量
  塊是擦除操作的基本單位,由於每個塊的擦除時間幾乎相同(擦除操作一般需要2ms,而之前若干周期的命令和地址信息佔用的時間可以忽略不計),塊的容量將直接決定擦除性能。大容量NAND型閃存的頁容量提高,而每個塊的頁數量也有所提高,一般 4Gb芯片的塊容量為2KB×64個頁=128KB,1Gb芯片的為512字節×32個頁=16KB。可以看出,在相同時間之內,前者的擦速度為後者8 倍!
  4.I/O位寬
  以往NAND型閃存的數據線一般為8條,不過從256Mb產品開始,就有16條數據線的產品出現了。但由於控制器等方面的原因,x16芯片實際應用的相對比較少,但將來數量上還是會呈上升趨勢的。雖然x16的芯片在傳送數據和地址信息時仍採用8位一組,佔用的周期也不變,但傳送數據時就以16位為一組,帶寬增加一倍。K9K4G16U0M就是典型的64M×16芯片,它每頁仍為2KB,但結構為(1K+32)×16bit。
  模仿上面的計算,我們得到如下。K9K4G16U0M讀一個頁需要:6個命令、尋址周期 ×50ns+25μs+(1K+32)×50ns=78.1μs。K9K4G16U0M實際讀傳輸率:2KB字節÷78.1μs=26.2MB/s。 K9K4G16U0M寫一個頁需要:6個命令、尋址周期×50ns+(1K+32)×50ns+300μs=353.1μs。K9K4G16U0M實際寫傳輸率:2KB字節÷353.1μs=5.8MB/s
  可以看到,相同容量的芯片,將數據線增加到16條後,讀性能提高近70%,寫性能也提高 16%。
  5.頻率
  工作頻率的影響很容易理解。NAND型閃存的工作頻率在20~33MHz,頻率越高性能越好。前面以K9K4G08U0M為例時,我們假設頻率為20MHz,如果我們將頻率提高一倍,達到40MHz,則K9K4G08U0M讀一個頁需要:6個命令、尋址周期×25ns+25μs+(2K+64)×25ns=78μs。K9K4G08U0M實際讀傳輸率:2KB字節÷78μs=26.3MB/s。可以看到,如果K9K4G08U0M的工作頻率從20MHz提高到40MHz,讀性能可以提高近70%!當然,上面的例子只是為了方便計算而已。在三星實際的產品線中,可工作在較高頻率下的應是K9XXG08UXM,而不是K9XXG08U0M,前者的頻率目前可達33MHz。
  6.製造工藝
  製造工藝可以影響晶體管的密度,也對一些操作的時間有影響。譬如前面提到的寫穩定和讀穩定時間,它們在我們的計算當中佔去了時間的重要部分,尤其是寫入時。如果能夠降低這些時間,就可以進一步提高性能。90nm的製造工藝能夠改進性能嗎?答案恐怕是否!目前的實際情況是,隨着存儲密度的提高,需要的讀、寫穩定時間是呈現上升趨勢的。前面的計算所舉的例子中就體現了這種趨勢,否則4Gb芯片的性能提升更加明顯。
  綜合來看,大容量的NAND型閃存芯片雖然尋址、操作時間會略長,但隨着頁容量的提高,有效傳輸率還是會大一些,大容量的芯片符合市場對容量、成本和性能的需求趨勢。而增加數據線和提高頻率,則是提高性能的最有效途徑,但由於命令、地址信息佔用操作周期,以及一些固定操作時間(如信號穩定時間等)等工藝、物理因素的影響,它們不會帶來同比的性能提升。
  1Page=(2K+64)Bytes;1Block=(2K+64)B×64Pages= (128K+4K)Bytes;1Device=(2K+64)B×64Pages×4096Blocks=4224Mbits
  其中:A0~11對頁內進行尋址,可以被理解為“列地址”。
  A12~29對頁進行尋址,可以被理解為“行地址”。為了方便,“列地址”和“行地址”分為兩組傳輸,而不是將它們直接組合起來一個大組。因此每組在最後一個周期會有若干數據線無信息傳輸。沒有利用的數據線保持低電平。NAND型閃存所謂的“行地址”和“列地址”不是我們在DRAM、SRAM中所熟悉的定義,只是一種相對方便的表達方式而已。為了便於理解,我們可以將上面三維的NAND型閃存芯片架構圖在垂直方向做一個剖面,在這個剖面中套用二維的“行”、“列”概念就比較直觀了。

【閃存發展過程】
  ·閃存的發展歷史
   在1984年,東芝公司的發明人Fujio Masuoka 首先提出了快速閃存存儲器(此處簡稱閃存)的概念。與傳統電腦內存不同,閃存的特點是非易失性(也就是所存儲的數據在主機掉電後不會丟失),其記錄速度也非常快。
  Intel是世界上第一個生產閃存並將其投放市場的公司。1988年,公司推出了一款256K bit閃存芯片。它如同鞋盒一樣大小,並被內嵌於一個錄音機里。後來,Intel發明的這類閃存被統稱為NOR閃存。它結合EPROM(可擦除可編程只讀存儲器)和EEPROM(電可擦除可編程只讀存儲器)兩項技術,並擁有一個SRAM接口。
  第二種閃存稱為NAND閃存。它由日立公司於1989年研製,並被認為是NOR閃存的理想替代者。NAND閃存的寫周期比NOR閃存短90%,它的保存與刪除處理的速度也相對較快。NAND的存儲單元只有NOR的一半,在更小的存儲空間中NAND 獲得了更好的性能。鑒於NAND出色的表現,它常常被應用於諸如CompactFlash、SmartMedia、 SD、 MMC、 xD、 and PC cards、USB sticks等存儲卡上。
  ·閃存的市場現狀分析
  目前的閃存市場仍屬於群雄爭霸的末成熟時期。三星、日立、Spansion和Intel是這個市場的四大生產商。
  由於戰略上的一些錯誤,Intel在第一次讓出了它的榜首座椅,下落至三星、日立和 Spansion之後。
  AMD閃存業務部門Spansion同時生產NAND和NOR閃存。它上半年的NOR閃存產量幾乎與Intel持平,成為NOR閃存的最大製造商。該公司在上半年贏利為13億美元,幾乎是它整個公司利潤額(25億美元)的一半以上。
  總體而言,Intel和AMD在上半年成績喜人,但三星和日立卻遭受挫折。
  據市場調研公司iSuppli所做的估計,今年全球的閃存收益將達到166億美元,比2003 年(116.4億美元)上漲46%。消息者對數碼相機、USB sticks和壓縮式MP3播放器內存的需求將極大推動閃存的銷售。據預測,2005年閃存的銷售額將達到175億美元。不過,iSuppli估計,2005年至2008年閃存的利潤增漲將有所回落,最高將達224億美元。

  ·新的替代品是否可能?
  與許多壽命短小的信息技術相比,閃存以其16年的發展歷程,充分顯示了其“老前輩”的作風。九十年代初,閃存才初入市場;至2000年,利益額已突破十億美元。
  儘管對閃存替代品的討論越來越激勵,閃存仍然受到市場的重視。未來的替代品不僅必須是類似閃存一樣的非易失性存儲器,而且在速度和寫周期上略勝一籌。此外,生產成本也應該相對低廉。由於現在製造技術還不成熟,新的替代品不會對閃存構成絕對的威脅。下面就讓我們來認識一下幾種能的替代產品:
  ·Nanocrystals(納米晶體)
  摩托羅拉的半導體部門Freescale正在研製一種增加閃存生命周期的產品。這種產品以硅納米晶體(Silicon Nanocrystals)為介質,用硅原子柵格代替了半導體內部的固態層。納米晶體不是一個全新的存儲技術。它只是對閃存的一種改進,使它更易擴展。它的生產成本可以比原來低大約10-15%,生產過程更加簡單。它的性能與可靠性都能夠與目前的閃存相媲美。
  摩托羅拉花了十年時間研發這種技術,並打算大規模生產此類產品。去年六月,該公司已經成功地使用此技術推出了一款此類芯片。硅納米晶體芯片預計會在2006年全面投放市場。
  
  ·MRAM(Magnetic RAM磁荷隨機存儲器)
  MRAM磁荷隨機存儲器是由英飛凌與Freescale兩家公司研發的一種利用磁荷來儲存數據的存介質。MRAM的寫次數很高,訪問速度也比閃存大大增強。根據計算,寫MRAM芯片上1bit的時間要比寫閃存的時間短一百萬倍。
  ·磁荷隨機存儲器
  兩家公司都認為,MRAM不僅將是閃存的理想替代品,也是DRAM與SRAM的強有力競爭者。今年六月,英飛凌已將自己的第一款產品投放市場。與此同時,Freescale也正在加緊研發,力爭在明年推出4M bit芯片。
  但是,一些評論者擔心MRAM是否能達到閃存存儲單元的尺寸。另外,MRAM的生產成本也是個不小的問題。
  
  ·OUM(Ovonic Unified Memory Ovonyx標準化內存)
   OUM是由Intel研發的,利用Ge、Sb與Te等化合物為材料製成的薄膜。 OUM。OUM的寫、刪除和讀的功能與CD-RW與DVD-RW相似。但CD/DVD使用激光來加熱和改變稱為硫系化合物(chalcogenides) 的材料;而OUM則通過電晶體控制電源,使其產生相變方式來儲存資料。
  OUM的擦寫次數為10的12次方,100次數據訪問時間平均為200納秒。OUM的速度比閃存要快。儘管OUM比MRAM的數據訪問時間要慢,但是低廉的成本卻是OUM的致勝法寶。
  與MRAM不同,OUM的發展仍處於初期。儘管已製成測試芯片,它們僅僅能用來確認概念而不是說明該技術的可行性。Intel在過去四年一直致力於OUM的研發,並正在努力擴大該市場。
  
閃存在使用過程中的一些問題

1、閃存可擦寫多少次?閃存里的數據能保存多久?
  閃存可擦寫1,000,000次,閃存里數據可保存10年
2、一台電腦可同時接幾個閃存?
  理論上一台電腦可同時接127個閃存,但由於驅動器英文字母的排序原因, 以及現有的驅動器需佔用幾個英文字母,故閃存盤最多只可以接23個(除開 A、B、C), 且需要USB HUB的協助。

總結
  除了上文提到的MRAM和OUM,其它可替代的產品還有MRAM (FeRAM)、 Polymer memory (PFRAM)、 PCRAM、 Conductive Bridge RAM (CBRAM)、 Organic RAM (ORAM)以及最近的Nanotube RAM (NRAM)。目前替代閃存的產品有許多,但是哪條路能夠成功,以及何時成功仍然值得懷疑。

One comment

  1. Thank you so much!!!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.