智慧應用 影音
創泓科技股份有限公司
event

NAND Flash快閃記憶體儲存系統設計趨勢

NAND Flash快閃記憶體近來成為固態硬碟的最佳選擇,多數固態硬碟設計多採MLC元件進行架構。Intel

快閃記憶體在效能、元件特性、耐用度與單位儲存容量等相關表現不斷提升,已大量滲透到常見的日常家電、3C產品與IT裝置中,而採行快閃記憶體技術的產品,也因為快閃記憶體具備高耐震表現,得以滿足惡劣環境下的儲存需求,面對種種的裝載挑戰,代表著以NAND Flash快閃記憶體為基礎的儲存設備,在開發上也必須面臨更多挑戰...

儲存子系統,在現今的電子裝置設計中,具一定程度的應用地位,因為許多系統設計情境,除非是嵌入式應用產品,核心處理器多半採與主記憶體、次儲存記憶體分離的設計模式,頂多核心處理器與一階、二階快取整合方式設計,如此的設計模式具備相當多優點。

 點擊圖片放大觀看

SLC NAND Flash晶片雖壽命長,但單位容量不若MLC產品,圖為43nm製程SLC產品。Toshiba

固態硬碟利用控制器與韌體強化NAND Flash使用特性,圖為Intel的SSD 510產品。Intel

為滿足市場對元件縮小化的設計需求,managed NAND產品的高度整合優勢相對亮眼,圖為Numonyx 16Gb產品。Numonyx

嵌入式系統常利用快閃記憶體儲存子系統來取代傳統的硬碟裝置。(RMI)

例如,可以節省核心處理器的製作複雜度、提高良率、增加成本優勢等,即便是採取整合的嵌入式應用設計,其使用容量也非無限制,系統端僅整合有限容量的儲存空間,其餘由外部儲存體提供更大容量的資料儲存功能。

NAND Flash快閃記憶體具成本、體積與整合優勢

傳統的儲存媒介,如光儲存媒體、磁性儲存媒體,受限於光學或機械、磁力的物理特性與構型極限,其儲存子系統都有一定程度的體積限制,例如,光儲存媒體一定必須要有光碟片、驅動裝置、雷射頭、讀取頭等關鍵零組件,搭配控制器與機械結構,組成一個完整的儲存子系統。而硬碟機也是由碟片、讀取臂、讀取頭、驅動器、伺服系統等關鍵組件構成。

在傳統的儲存技術下,子系統的體積受限於物理特性,即便是透過改良的伺服機構、驅動器、伺服器去縮小體積,甚至是以強化儲存碟片的單位記錄容量,去減省碟片佔據的空間,但再怎麼發展,仍會遭遇裝置開發的極限。

相反地,在積體電路化的Flash快閃記憶體技術下,不用考量構型、光學、磁性等物理限制,在實際生產的晶圓加工階段,或是後段採行晶片堆疊或是系統化晶片的手段,就能輕鬆將單位容量倍增,甚至達到提升數十倍的效果。

尤其,快閃記憶體沒有所謂的構型限制,也沒有光學技術所需的空間需求,甚至不需要考量如硬碟必須建構一個完美的讀寫空間,因此,在建構子系統方面,可以比傳統方式更容易與系統進行功能整合,尤其是在運行環境相對較嚴苛的嵌入式系統的整合方面,更凸顯其性能效益。

目前各式NAND Flash快閃記憶體架構的開發,已逐漸以更新、更先進的晶片、IC製程技術改善原有的存儲特性,甚至針對原有快閃記憶體的性能限制,更進一步提出改善方針,尤其在應對不同的系統整合需求,讓NAND Flash快閃記憶體子系統的開發設計複雜度,比以往更具挑戰性。

現有的NAND Flash快閃記憶體市場現況,有幾種常見的設計方式,例如,採行快閃記憶體控制器與NAND Flash快閃記憶體元件分離的設計方式;或者可採行嵌入式NAND Flash快閃記憶體控制器及獨立NAND Flash儲存元件;也有選擇managed NAND Flash快閃記憶體解決方案,這其實就是利用預先封裝好的完整NAND Flash儲存子系統。不同的方式,在性能、成本、體積方面各具優勢。

因應新應用需求的設計改變

隨著消費性產品對儲存子系統的要求越來越高,不管是在讀寫速度或容量上,都較以往產品有更高的要求,高容量化已經成為目前相關商品的常態,因此在NAND Flash快閃記憶體的開發方面也必須呼應此未來需求。目前NAND Flash快閃記憶體容量上的應用差異,當元件的密度在單位存儲超過4Gb時,傳統採行512B的可程式化記錄頁面,已無法再為系統提供最佳的記憶體分段,目前多已轉向利用2KB頁面尺寸,來因應更大的快閃記憶體分頁。

而大容量化的需求,也讓現有的2KB可程式化記錄頁面不敷使用,已有製造商開始量產4KB頁面尺寸的NAND Flash快閃記憶體。透過更大的可程式化記錄頁面去提升快閃記憶體的容量,僅是突破分段頁面的記錄瓶頸,基本上仍須透過根本方法,來擴充儲存的單位容量。

目前採用40nm晶圓技術製程、8KB可程式化記錄頁面的快閃記憶體,也有業者開始供貨,這在單位產品容量可以達到有效的提升效益。而為了提高單位容量,NAND Flash快閃記憶體製造商也嘗試從單層單元(SLC)、改為採行每記錄單元可儲存4位元的多層單元(MLC)的快閃記憶體儲存架構,讓整體儲存容量可獲得爆發性的成長。

事實上,持續性的追求單位儲存容量的極大化,也讓NAND Flash快閃記憶體儲存子系統面臨新的技術挑戰,例如,快閃記憶體裝置或元件在因應消費性產品的多元功能要求,也必須進行更多改善與效能提升,像是控制器除了要肩負原有的儲存單元寫入、抹除、讀出等控制工作外,還要因應新元件的多層資料讀寫需求,但在追求效能的同時,畢竟無法全面性的達到裝置元件具備一致性的效能表現。

尤其是讀出與寫入效能,都會或多或少有些許誤差,但對整合儲存子系統來說,若沒有針對元件的底層特性因應控制條件,可能會在讀出資料的正確性產生誤差,甚至部分廠商為了降低庫存風險、同時維持成本優勢,也會採取不同NAND Flash快閃記憶體向不同業者進貨的商業行為模式,但在同一套儲存子系統中,要因應不同來源或是略有效能差異的NAND Flash快閃記憶體,則在實際進行儲存子系統整合時,其子系統就可能出現讀/寫方面的性能穩定性問題,甚至造成儲存子系統的誤動作。

較完整的作法是將原有的讀/寫控制器,進一步朝整合的方向進行開發,以建構一個獨立的儲存子系統為方向。例如,將控制器的功能以編程提供更完善的嵌入式控制支援,而在控制器方面新增讀/寫快取記憶體,同時針對多供貨商來源的NAND Flash快閃記憶體元件的相容性特性資料,進行功能與驅動方面的最適化設計,尤其是針對相容性的問題,例如不同NAND Flash快閃記憶體供應商所提供的記憶體元件,可能具不同的抹除程序或是時序要求,必須在子系統內就能獲得最佳化的控制,減少系統穩定性的影響。

基本上,NAND Flash快閃記憶體的控制器,可解決的問題相當多,從效能、穩定性、功能性...等方面考量,均可在控制器功能或規格設計階段進行改善,因為控制器在儲存子系統的定位,乃是為NAND Flash快閃記憶體元件與電子系統間提供標準化介面,讓系統設計者可以不用煩惱不同快閃記憶體元件來源、規格、時序要求,將儲存子系統的開發負荷降到最低。

多數採行分離式的設計方案中,開發過程會將NAND Flash快閃記憶體IC、控制器、相關電路元件同時設置於單一系統載板,在系統運行時控制器進行儲存系統識別,確認儲存系統讀寫、容量與相關系統資源訊息,再透過必要之初始化程序(低階格式化)讓系統可以支援NAND Flash快閃記憶體儲存子系統的讀/寫需求。

也有一種方式是透過解決方案供應商提供的managed NAND解決方案,來解決前述的開發階段問題,此類方案會將整合式ATA控制器(或SATA)與多個NAND Flash快閃記憶體晶片進行結合,成為一組多晶片封裝的產品形式,相較前述的分離式儲存子系統方案,可提供一個更簡化且完整的NAND Flash快閃記憶體儲存子系統,尤其這類解決方案在子系統的體積與整合優勢相當高,因為整個儲存子系統已利用IC層次的整合方式,在系統開發階段也只要如同基本元件的套裝組合進行設計,一次搞定儲存子系統的應用需求。

針對開發階段需求的產品改善

managed NAND解決方案是一種採取緊密封裝的設計方式,基本上已完整地整合隨插即用的NAND Flash快閃記憶體儲存子系統,由於managed NAND在製造階段為採購NAND Flash未封裝元件與控制器元件進行系統封裝,在元件的取得成本方面獲得有效壓縮,而採取系統封裝的方式讓單純的晶片即實踐NAND Flash快閃記憶體儲存子系統,更適合體積極度縮小化的嵌入式系統應用產品。

多數NAND Flash快閃記憶體儲存子系統的效能與功能關鍵,多在於嵌入式快閃記憶體的檔案管理系統設計,記憶體檔案管理系統為管控主系統與快閃記憶體間的資料讀寫交換機制,從開發者的角度觀察,NAND Flash快閃記憶體儲存子系統的檔案管理系統可大幅簡化寫入NAND Flash快閃記憶體的程序。

因為控制器可自動因應不同NAND Flash快閃記憶體供應商提供的元件,甚至可因應不同的元件特性進行最佳化讀/寫,另亦具備實時糾錯支援,並提供NAND Flash快閃記憶體元件缺陷修復能力。此外,NAND Flash快閃記憶體的檔案管理系統,還須具備支援平均寫入、延續元件使用壽命的最佳化功能,在存儲資料的完整性與儲存子系統的壽命方面,需更多的技術支援。

但在NAND Flash快閃記憶體儲存子系統方面,對於檔案系統的設計方式,目前仍為各技術供應商的關鍵技術,有些是針對低成本訴求的設計方式,為利用光罩以可程式化ROM建構檔案系統,有些是利用可重複編程的記憶體來進行檔案系統建構,兩者在架構上有成本上的差異,也互有優缺點。NAND Flash快閃記憶體儲存技術變動相當快速,對於採取初期具低成本的ROM進行檔案系統建構,這表示每次系統異動都需要進行光罩程序加工,來寫入檔案系統的功能編程,這對整體的NAND Flash快閃記憶體儲存子系統而言,其生產時程、錯誤修正的彈性較低,衍生的成本或許也會高一些。

如果採取的是如同「韌體」的設計手段,把檔案系統與NAND Flash快閃記憶體控制關鍵功能,置放在可重複寫入、修改的儲存區段上,讓開發者可以相對快速、低成本的方式進行持續性的元件功能修改,這種模式或許可以得到最佳的開發效能,輕鬆因應不同的開發需求。

多數的NAND Flash快閃記憶體儲存子系統開發中,針對壞區塊的管理也是極重要的一環!NAND Flash快閃記憶體為達到高良率要求,通常允許元件部分出現可接受的小量壞區塊,同時讓元件可在具壞區塊的現況下運行,而記憶體IC製造商會在產品資料中詳述記憶體元件中的壞區塊位置,開發商可在生產前的初始化程序,在NAND Flash快閃記憶體儲存子系統中的韌體標記壞區塊,或同時進行壞區塊管理程序,確認韌體不要將資料存取至已知的壞區塊中,同時,未來也可在元件出現額外的壞區塊時,進行韌體壞區塊標示的資料更新程序,改動最新的壞區塊映射圖。

基於壞區塊管理,也是NAND Flash快閃記憶體儲存子系統耐用性的考驗指標之一,NAND Flash快閃記憶體另一個最大的難題就是如何延續有限的使用次數!一般而言,NAND Flash快閃記憶體每個快閃記憶單元均有寫入次數限制,尤其在重複進行抹除/寫入壽命週期後,快閃記憶體的記錄單元將出現無法穩定保存數據的問題,在製造商嘗試利用MLC或更小的線路進行晶片設計、以保有最大單位容量時,這問題也會被凸顯出來。

觀察其耐用度的差異,在製造方式為SLC時,單位位元的讀寫壽命週期可高達10萬次,但MLC製作之元件,單位位元的讀寫週期大多僅有1萬次水準。

在NAND Flash快閃記憶體儲存子系統的控制器設計中,可於韌體進行損耗平衡的功能性設計,藉此減少大量集中抹寫同一個位元的機會,因為分散了抹寫的次數,即可讓整個NAND Flash快閃記憶體儲存子系統的使用週期大幅增加,而不會因為部分記錄單元毀損而減少其使用壽命。損耗平衡技術的運行效能,關鍵就在於演算法的技術水平,透過區塊或頁面進行記憶體讀寫現況使用追蹤、記錄,將每個記憶單元的每次寫入累加於計數器進行計數,損耗平衡演算法亦可自動指示控制器,將資料寫入程序儘可能分攤至使用率較低的儲存區塊,進而延長NAND Flash快閃記憶體IC元件壽命。

然而,在開發NAND Flash快閃記憶體儲存子系統時,多數開發者關注的焦點大都會放在如何提升讀/寫效能,但相對於效能,有更重要的因素需被考慮進去!

在眾多技術手段上,ECC資料糾錯是一個相當常用的關鍵設計,尤其是在目前高密度的NAND Flash快閃記憶體設計方案中,例如MLC技術的NAND Flash快閃記憶體,就經常出現數據寫入或讀出錯誤,多半是鄰近資料讀/寫影響造成,而利用糾錯電路設計,則可以改善此問題。

目前採取MLC技術來提升記憶體儲存密度的設計方法已成為主流,但MLC出現位元錯誤的機率約為SLC的4倍,而在溫度的耐受性方面,MLC也往往容易因為溫度的變異而出現資料記錄錯誤,面對這些問題,MLC NAND Flash快閃記憶體需要更完善的ECC糾錯電路。

為了補償MLC較高的錯誤率,多數可由控制器的韌體進行糾錯處理,但此舉會造成無法減省的ECC糾錯程序,使得讀寫效能反而出現低下的狀況,為了改善此問題,在強調高效能的NAND Flash快閃記憶體儲存子系統中,會嘗試將ECC糾錯技術以硬體方式實踐,例如採取8位元或更高位元的硬體ECC引擎,提高整體NAND Flash快閃記憶體儲存子系統的資料讀/寫正確率,同時維持最高的資料讀/寫效能。

  •     按讚加入DIGITIMES智慧應用粉絲團
更多關鍵字報導: NAND Flash SSD SLC SATA