原理圖淺談
好吧,這會是很枯燥乏味又很多人想知道卻也更多人有看沒有懂的部分......
談 SLC & MLC 之前我們得先了解一下 NAND-Flash 的存儲原理,下圖就是固態硬碟最小單元的基本架構:
我們曉得電腦中所有的信息儲存最終都必須回歸到 0與1,就像電影《駭客任務》中母體不停跑動連串的 0與1一樣,原則上,只要存儲單元能提供兩種或兩種以上可供辨識的狀態,便可以拿來紀錄資料。在 NAND-Flash 中,當我們需要寫入數據時,會在圖中的控制閘(Control Gate)施加高電壓,然後允許源極(Source)與汲極(Drain)間的 N通道(N-Channel)流入電子,等到電流夠強,電子獲得足夠能量時,便會越過浮置閘(Floating Gate)底下的二氧化硅層(SiO2)為單元所捕獲,這個過程我們稱之為穿隧效應(Tunnel Effect);一旦電子進入了浮置閘,即使移除電源,只要沒有足夠能量,電子是無法逃離底下的二氧化硅層的,捕獲電子的狀態便會一直維持下去,時間可以長達十數年之久,視用來絕緣的二氧化硅層耗損狀況而定。讀取資料時,我們同樣會在控制閘施加電壓,好吸住浮置閘裡的電子,但不用到穿隧注入(Tunnel Injection)電子時那麼高,同時讓 N通道流過電流,利用電流來感應浮置閘裡電子捕獲量的多寡,靠感應強度轉換為二進位的 0與1,最後輸出成數據。假如我們需要擦除資料,就必須靠釋放浮置閘裏頭的電子來達成,此時我們不會對控制閘施加任何電壓,而是反過來對單元底下的 P型半導體(P-Well)施加電壓,源極與汲極間的電流流過二氧化硅層底下的 N通道時會反向讓浮置閘裡的電子再次穿越二氧化硅層被吸引出來,我們稱之為穿隧釋出(Tunnel Release)。
SLC MLC TLC 簡單分析
SLC Single-Level Cell,意味著每個存儲單元只存放 1bit訊息,靠浮置閘裡電子捕獲狀態的有或無來輸出成數據(即使在 0的狀態浮置閘裡其實還是有電子,但不多),也就是最簡單的 0與1;MLC Multi-Level Cell,意味著每個存儲單元可存放 2bit訊息,浮置閘裡電子的量會分為高、中、低與無四種狀態,轉換為二進位後變成 00、01、10、11。2009年 TLC Triple-Level Cell 架構問世,更進一步將浮置閘裡的電子捕獲狀態分成八種,換算成二進位的 000、001、010、011、100、101、110、111,也就是 3bit。SLC 與 MLC 的比較主要可以分為壽命、成本、功耗、效能與出錯率五個面向。
首先是壽命問題,要談這個我們又得回到上面那不是很好消化的原理圖與介紹。我們曉得(如果你有懂的話)固態硬碟存儲資料主要靠單元中浮置閘所捕獲電子的量,電子要進入或離開浮置閘都得藉由穿隧效應進出用來阻擋電子的二氧化硅層,問題也就出在這;二氧化硅層其實只有 10nm奈米左右厚度,在每一次的穿隧注入電子或釋出時,二氧化硅的原子鍵會一點一點地被破壞,數據的擦除工作會愈來愈慢,因為電子會慢慢佔據原本用來絕緣的二氧化硅層,抵銷掉施加在控制閘上的電壓,導致需要更高電壓才能完成工作,而這會讓氧化物更快被擊穿,等到整個二氧化硅層被電子貫穿,該單元也就正式壽終正寢啦。SLC 只有有或無兩種狀態,MLC 卻有四種電壓狀態,為了達到這四種狀態,電子得頻繁出入二氧化硅層,加速單元的耗竭,這也就是為什麼 SLC 可以有十萬次擦寫壽命而 MLC 卻只有一萬次的原因;當然啦,TLC更慘,平均只有五百到一千次擦寫壽命,所以主要拿來做市售的親民價隨身碟。
讀到這裡如果不計算一下,十萬次、一萬次、一千次對你或任何人而言可能不會有太大意義,且讓我們拿 2013年一般消費者可以負擔得起的 32GB隨身碟來試算。假設您手上的是最便宜的 TLC隨身碟,以家庭或中小企業用戶會全面汰換一台電腦的生命週期五年為例,(32x1000)/(5x365.25) = 17.522,這意味著您得每天寫入 17.522GB的資料,才有辦法在五年內公司或家中電腦資源回收前把一隻 TLC隨身碟操壞;若您手上是 MLC隨身碟,則是 175.222GB,SLC隨身碟則更是高達 1752.225GB,每天喲!沒關係,換一種算法,假設您每天會寫入 32GB資料資料到隨身碟上,一隻 32GB TLC隨身碟則可以用 (32x1000)/(32x365.25) = 2.738年,而你的 MLC隨身碟碟則可以用上 27.376年,SLC則是 273.785年,足夠讓你放在祠堂裡作為傳家之寶(不過裏頭資料也頂多只能記憶十幾年,因為即使在不通電的狀態下,每天每個單元中還是會有 5顆電子逃離逸散掉)!由於不寫入資料只有讀取時,電子不會出入二氧化硅層,廠商通常都會標示可以無限次讀取,然而事實上即使只有讀取,仍舊會耗損二氧化硅的鍵結,再加上顆粒品質可能有良莠,廠商或許會不誠實等有的沒的因素,先讓我們暫時保守估計這支隨身碟只有 50%的壽命。
這時我們就得引進兩種主要讓固態硬碟延長壽命的技術了,耗損平衡(Wear-Leveling)與壞塊管理(Bad Block Management)。
所謂的耗損平衡又稱均衡抹除技術,我們知道一個固態硬碟單元愈常被讀取,二氧化硅層就會愈快被電子貫穿,導致存儲效能低落,為了解決這個問題,廠商會運用不同的計算法則,將資料分散寫進不常使用的區塊,使得整顆硬碟每個區塊壽命都能大致相同,而當壞塊一個接一個出現的時候,也就是這顆固態硬碟大限將屆的時候。均衡抹除算法有動態與靜態,動態(Dynamic)是在寫入資料前,先看看哪些空白區塊寫入次數較少,在實際寫入時先將資料分配進這些區塊;而靜態(Static)則是對某些因長期儲存固定資料而導致寫入次數極低的區塊,先將資料備份到其他區塊上,然後再抹除原本區塊以便參與循環。均衡抹除算法每家廠商都不盡相同,有時不同算法對固態硬碟效能會有極大影響。
壞塊管理顧名思義,就是管理提前陣亡的壞塊。事實上,每顆用來作為記憶體的顆粒,即使是最高等級,出廠時也都會有壞塊,廠商會先將這些壞塊標記封存起來,然後保證在硬碟的生命週期內,每個顆粒的好塊總數不會低於某個值,如一個 SLC顆粒 4096個區塊裡要有 3996個區塊能在生命週期十萬次擦寫壽命內正常運作,我們稱為最小有效塊值(NVB-minimum number of valid blocks),出廠後在消費者手中產生的壞塊則必須靠固態硬碟的主控晶片來判斷隔離,避免資料誤入壞塊無法儲存日後也無法讀取;壞塊管理完全仰賴各大廠主控晶片裡的邏輯運算,所以主控晶片對固態硬碟而言猶如大腦之於人身。下圖是 2010年鎂光(Micron) 32GB SLC 25nm奈米技術顆粒的架構圖,一顆固態硬碟上會有數個顆粒(die),每個顆粒上會有兩平面(plane),每一平面會分割成 2048個區塊(block),每個區塊上則分作 256頁面(page),每一頁面上可儲存 (4096+224)位元組(byte),一位元組等於 8位元(bit),讓您一窺固態硬碟的究竟。
一旦您瞭解了 SLC、MLC、TLC和固態硬碟壽命的關係後,剩下的讀取速度、功耗、出錯率與成本就很容易理解了,SLC因為只有兩種狀態,最容易辨識,所以在同一種主控晶片與計算邏輯下速度最快,功耗也最低,狀態穩定,以現代技術而言出錯率幾乎可以忽略不計,不過,因為每個單元只能存儲一個位元,所以在相同容量下成本最高。事實上,主控晶片在這其中扮演著舉足輕重的腳色,它不僅影響到單通道、雙通道甚至四通道的讀取效能,也是記憶體顆粒中保證存儲內容正確性 ECC(錯誤檢查與糾錯,Error Checking and Correction)技術的神經中樞,MLC與 TLC都十分仰賴 ECC,一有出錯就會導致倍數以上的數據損失,然而截至 2012年底,各大廠 ECC技術其實都已經相當成熟,這也是為什麼極端重視資料準確度的企業用戶膽敢大量採用 MLC固態硬碟的原因,甚至有 SLC硬碟將逐漸淡出市場的傳聞,也是啦,你要企業主買一顆沒意外的話會活得比他更久的硬碟,要那些老闆情何以堪,再說科技日新月異,真的有必要砸大錢採購這種價格不斐容量又小的產品嗎?下圖或許給您一個 SLC、MLC清晰易瞭的比較。
記憶體顆粒等級釋疑
我瞭、我瞭,可能有人已經開始打呵欠頭疼,逛個賣場還要讀技術性文章,這麼累,但只要再忍耐一下下就好......好啦,最後我們來談談顆粒的同步與異步,這涉及到固態硬碟顆粒規格標準的兩大陣營,事件可回溯到那月黑風高的 2006;想當年,消費級數位單眼剛發展到讓人足堪欣賞的六百至八百萬畫素,許多愛現的部落客手中一台千萬畫素相機就自以為是神器......也就是在那樣的背景下,市場對於存儲裝置的需求與日俱增,然而業界對於記憶卡、隨身碟或固態硬碟顆粒的規格尚未統一,為方便各廠商間產品開發與相容,亟需對顆粒接口類型、封裝方式、運算邏輯與寄存器標準等等進行一次整合,兩大陣營也就於焉誕生。其一我們已經介紹,就是英特爾、鎂光陣營,有同步異步差異的也是此間標準下的才有,不過不只兩大廠,台灣、索尼、海力士、SanDisk也都是遵循此規範,ONFI(Open NAND Flash Interface)於 2006年 12月制定,到了 2008年 2月,ONFI 2.0規範開始加入 DRAM記憶體領域中的 DDR信號技術與同步時鐘控制,而 2011年 3月 ONFI 3.0規範更採用 DDR2技術,記憶體傳輸速率在同步模式下開始達到 400MB/s。所謂同步,是當主控晶片對記憶體顆粒發送同步指令,觸發顆粒中的同步時鐘信號,讓顆粒與主控晶片在信號同步的模式下運作,達到傳輸速率上的倍增;如果是異步模式,則相當於 ONFI剛制定時的標準,僅約 50MB/s,從英特爾鎂光工廠出廠的顆粒,也只有優等生才能進行同步運算。另一陣營則是三星與東芝主導的 Toggle DDR規範,這兩間大廠的固態硬碟顆粒都是在異步模式下運作,不過即使是異步,利用 DDR的 DQS信號傳輸原理,一樣可以讓傳輸速率倍增,加上兩大廠的製程都相當先進,使得他們旗下的產品表現絲毫不遜於對手,品質猶有過之,東芝固態硬碟更是長期蟬聯蘋果筆電的專屬指定品牌。末了,就讓我們用英特爾 25nm奈米顆粒的分級表來總結,給您個清晰的輪廓。






您好,最近想認識MLC,剛好看到您的文章,尤其是SLC,MLC,TLC簡單分析這部份讓我獲益良多!小弟本身非理工背景,因為工作關係需要認識NAND FLASH相關技術,看完這些至少對我需要了解的部份有大致的輪廓,萬分感謝!
回覆刪除冒昧請教可否推薦NAND FALSH、晶圓製作方面的基本原理書籍,但敘述方式是用白話(就像您的文章一樣易讀易懂!)