基于ClearNAND閃存的系統設計改進(jìn)方案
自問(wèn)世以來(lái),NAND閃存對ECC(糾錯碼)糾錯能力的要求越來(lái)越高。雖然這不是一個(gè)新問(wèn)題,但是支持最新的多層單元(MLC)架構和每單元存儲三位數據(three-bit-per-cell)技術(shù)所需的ECC糾錯能力讓系統人員越來(lái)越難以應付。
本文引用地址:http://dyxdggzs.com/article/201706/361035.htm過(guò)去,ECC一直被用于提高NAND閃存子系統的整體數據可靠性。但是,隨著(zhù)NAND單元不斷縮小,每個(gè)浮柵內貯存的電子數量越來(lái)越少。因此,為彌補更小的存儲單元所產(chǎn)生的更高的位誤碼率,我們必須大幅提高ECC糾錯能力,以維持所需的系統可靠性。
隨著(zhù)系統對ECC糾錯要求不斷提高,實(shí)現ECC邏輯所需的邏輯門(mén)數量也在增加,同時(shí)系統復雜性也隨之提高。例如,24位ECC需要大約200,000個(gè)邏輯門(mén),而40位ECC則需要大約300,000個(gè)邏輯門(mén)。據估計,將來(lái)先進(jìn)的ECC算法可能需要近100萬(wàn)個(gè)邏輯門(mén)(如圖1所示)。

很多高性能閃存系統必須使用多通道NAND閃存才能實(shí)現理想的性能。在這些系統中,每個(gè)通道都有其自己的ECC邏輯。例如,一個(gè)10通道固態(tài)硬盤(pán)(SSD)需要實(shí)現10通道的ECC邏輯。假如10路通道中的每一路通道都需要60位ECC,那么僅ECC邏輯就需要300萬(wàn)個(gè)邏輯門(mén)。
NAND閃存接口選擇
1.傳統NAND接口
傳統的NAND閃存接口是一種異步通信接口,雖然近幾年這種接口的速度已提高到50MHz,但是其它特性并沒(méi)有太大的變化。
幾年前,美光(Micron)與其它幾家富有遠見(jiàn)的公司共同成立了一家NAND閃存組織,旨在簡(jiǎn)化業(yè)界存在的大量時(shí)序和指令標準。開(kāi)放式NAND閃存接口(ONFI)聯(lián)盟發(fā)布了其第一版ONFI 1.0規范,與最初的規范相比,這個(gè)接口規范的最大特點(diǎn)是主處理器能夠通過(guò)電子方式識別所連接的閃存類(lèi)型,以及其它重要的技術(shù)參數,如時(shí)序模式、頁(yè)面大小、塊大小、ECC要求等。該特性被所有的ONFI標準繼承下來(lái),并且一直是所有ONFI標準的重要內容。
同步NAND接口的開(kāi)發(fā)是ONFI聯(lián)盟取得的另一個(gè)重要成就,這一接口規范又稱(chēng)為ONFI 2。目前,ONFI 2.2規范通過(guò)一個(gè)DDR源同步接口支持高達每秒20000萬(wàn)次傳輸(200MT/s)。通電后該接口可用于異步通信模式。但是,對于更高的性能而言,當從異步模式轉換到同步通信模式時(shí),主處理器會(huì )提前詢(xún)問(wèn)閃存設備是否支持更高速的同步通信接口。
2.Direct NAND解決方案
該方案實(shí)現通過(guò)將NAND閃存芯片直接連接到主處理器或SSD控制器來(lái)管理NAND閃存。ECC算法交由硬件處理,而軟件通常執行所有的區塊管理和損耗均衡功能。初看起來(lái)該方案可能并不理想,但考慮到今天的嵌入式處理器典型運行速度達到數百兆赫茲,很多甚至超過(guò)千兆赫茲,這些高性能處理器能夠以更快的速度執行區塊管理,并利用確定性多線(xiàn)程技術(shù)來(lái)提高閃存性能。此外,由于主處理器直接管理閃存設備,主處理器軟件可以做出實(shí)時(shí)決定,這有助于避免因意外斷電而造成的風(fēng)險。
如圖2所示,ONFI 2.2接口規范(200MT/s)最多可支持16個(gè)標準NAND閃存芯片,典型解決方案通常采用兩個(gè)8片NAND閃存封裝。標準8片100-BallBGA封裝含有兩條獨立的NAND總線(xiàn)(DQ[7:0]1和DQ[7:0]2),每條總線(xiàn)連接4片NAND閃存。閃存控制器通過(guò)兩個(gè)芯片使能信號控制每四片堆疊的裸片。典型設計是把兩條數據總線(xiàn)即DQ總線(xiàn)連接到一起,為每個(gè)封裝提供一條8位數據總線(xiàn)。最高配置由兩個(gè)內置8片裸片的100-Ball BGA封裝組成。為選定一個(gè)特定的NAND裸片,每個(gè)標準100-Ball BGA封裝需要提供四個(gè)芯片使能(CE#)控制。因此,為支持這種配置,主處理器或SSD控制器需要提供8個(gè)芯片使能信號。

3.ClearNAND解決方案
圖3顯示了兩個(gè)不同的系統實(shí)現:傳統的系統中主處理器或SSD控制器與NAND閃存直接相連;另一個(gè)系統則采用ClearNAND閃存芯片。兩種方案都采用相同的ONFI硬件接口和相似的100-Ball BGA封裝,不同之處是后者將一個(gè)薄型控制器與NAND閃存裸片整合在一個(gè)多芯片封裝(MCP)內。ClearNAND 控制器用于實(shí)現MCP封裝中NAND閃存所需的ECC算法。由于采用相同的ONFI異步或同步接口,設計人員可以輕松地從標準NAND閃存升級到 ClearNAND閃存。
美光公司的ClearNAND 閃存分為標準型和增強型兩個(gè)版本。標準型ClearNAND閃存主要用于消費電子設備,可實(shí)現所需的ECC功能,并提供便于閃存升級的傳統異步型ONFI總線(xiàn)。
增強型ClearNAND閃存能夠管理ECC算法,并提供多個(gè)對于企業(yè)應用頗具價(jià)值的關(guān)鍵功能。它還支持ONFI 2.2接口的異步和同步通信標準,可用存儲容量高達64GB。
通過(guò)改善ECC算法,兩款ClearNAND閃存都能夠實(shí)現下一代NAND閃存所需的ECC糾錯功能。這使得設計人員無(wú)需反復重新設計電路來(lái)支持制造商最新的NAND ECC要求。

增強型ClearNAND閃存
圖4所示為增強型ClearNAND閃存的架構。它支持1個(gè)ONFI 2.2接口和速度高達200MT/s的指令、地址和數據總線(xiàn)。VDDI去耦電容常見(jiàn)于e?MMC產(chǎn)品和內含控制器的其它閃存,用于對內部穩壓器進(jìn)行去耦。為向后兼容傳統NAND閃存,VDDI連接放置在一個(gè)閑置引腳上。ClearNAND控制器支持兩條內部閃存總線(xiàn),其中一條用于連接偶數編號的邏輯單元(LUN),另一條則連接奇數編號的邏輯單元。這兩條獨立閃存總線(xiàn)的速度高達200MT/s。此外,每條總線(xiàn)都配有各自的ECC引擎,可在兩條總線(xiàn)上同時(shí)管理讀操作或寫(xiě)操作??梢灶A見(jiàn),未來(lái)的控制器還將支持面向400MT/s的ONFI 3接口規范。


下面將討論增強型ClearNAND提供的四項高級功能:卷尋址、電子數據映像、中斷功能和內部回寫(xiě)(copyback)。
卷尋址
卷尋址允許一個(gè)片選或芯片啟動(dòng)信號(CE#)對16個(gè)ClearNAND卷進(jìn)行尋址。每個(gè) ClearNAND控制器支持在一個(gè)MCP封裝內堆疊8個(gè)裸片。ClearNAND控制器為主處理器或SSD控制器存取操作提供一個(gè)緩沖區。

如圖5所示,增強型ClearNAND設計將存儲容量擴大八倍,同時(shí)保持或提升了信號完整性,并減少了所需的有效芯片使能數量。這是因為對于SSD控制器,一個(gè)ClearNAND控制器僅代表一個(gè)負載,但是在一個(gè)MCP封裝內最多可支持八個(gè)NAND裸片。
卷尋址概念有兩層含義。第一層是為每個(gè)ClearNAND 封裝確定卷地址。卷地址僅在初始化時(shí)分配一次,并保存到電源重啟為止。第二層含義是卷選擇指令本身,在這個(gè)新指令后面緊跟一個(gè)單字節(實(shí)際上只有4位)卷地址。一旦目標地址被選擇,該地址就會(huì )保持被選狀態(tài),直到另一個(gè)卷被選擇為止。這可以節省很多使能引腳。例如,一個(gè)32通道SSD需要8個(gè)使能引腳來(lái)控制兩個(gè)8裸片標準NAND封裝。上述32通道SSD示例需要總共256個(gè)使能引腳,而增強型ClearNAND卷尋址功能對相同數量的NAND閃存進(jìn)行尋址只需32個(gè)使能引腳。此外,這相同的32個(gè)使能引腳可尋址容量是現有容量的八倍。
電子數據映像
增強型ClearNAND支持電子數據映像,這允許通過(guò)電子方式將數據總線(xiàn)信號順序重映射為兩種配置之一。這個(gè)功能對于PCB正反兩面都安裝ClearNAND閃存的高密度設計非常有用。利用一個(gè)特殊的初始化或復位序列,ClearNAND封裝能夠以電子方式檢測閃存是安裝在PCB的正面還是背面。例如,通常的做法是在上電后向閃存發(fā)送一個(gè)復位或FFh指令。為完成電子DQ映像,在執行完FFh指令后,主處理器必須接著(zhù)執行傳統的READ STATUS(70h)指令。安裝在PCB正面的閃存檢測到FFh-70h命令序列;而安裝在PCB背面的閃存則檢測到FFh-0Eh命令序列,并向主處理器確認這是背面閃存封裝,然后重新將數據總線(xiàn)直接排在正面閃存的后面,這不僅可以改善PCB的布線(xiàn),還能提高信號完整性。
Ready/Busy#被重新定義為中斷
增強型ClearNAND閃存將現有的ready/busy#引腳重新定義為一個(gè)中斷引腳。如圖6所示,interrupt#信號仍是開(kāi)漏信號,當ClearNAND卷或裸片就緒時(shí),它提供一個(gè)實(shí)時(shí)中斷信號。設計人員可以利用這個(gè)中斷信號向主處理器或SSD控制器提供閃存實(shí)時(shí)狀態(tài)。在一條總線(xiàn)上支持多個(gè)ClearNAND封裝的大型配置中,interrupt#信號線(xiàn)可以連接在一起。當檢測到一個(gè)中斷信號時(shí),主處理器或SSD控制器只要詢(xún)問(wèn)每個(gè)ClearNAND 封裝或卷,即可知道是哪個(gè)卷發(fā)送的新?tīng)顟B(tài)信息。這個(gè)中斷功能可節省主處理器或SSD控制器上的信號數量,同時(shí)提高SSD控制器對狀態(tài)更新的響應能力。

內部回寫(xiě)
內部回寫(xiě)功能又稱(chēng)為內部數據遷移(internal data move),是增強型ClearNAND 閃存最引人注目的特性之一。閃存的損耗均衡或碎片清理操作是指整理不同的NAND閃存頁(yè)面和區塊內的數據碎片,并將其合并成新的區塊或區塊序列,這個(gè)功能類(lèi)似老式硬盤(pán)的磁盤(pán)碎片整理工具。對于這類(lèi)操作,回寫(xiě)功能可為SSD系統提供巨大的優(yōu)勢。
再來(lái)看圖2,當使用標準NAND閃存時(shí),將數據碎片從一個(gè)區塊轉移到另一個(gè)區塊通常需要執行下列操作:
SSD控制器發(fā)布一個(gè)READ指令和源地址以訪(fǎng)問(wèn)數據源頁(yè);SSD控制器從NAND閃存讀取數據,同時(shí)執行運算和必要的ECC糾錯操作,然后實(shí)現數據或元數據的更新操作;SSD控制器計算并加入新的ECC信息,然后發(fā)布新的PROGRAM指令、目的地址和數據序列,該操作將把數據保存到新的NAND閃存區塊內。
在這個(gè)連續的操作過(guò)程中,當數據從源地址移到目的地址時(shí),總線(xiàn)處于被占用狀態(tài),這個(gè)操作過(guò)程需要很長(cháng)時(shí)間。假設一個(gè)8K的存儲頁(yè),工作在200MT/s的ONFI 2.2同步總線(xiàn)需要大約 41μs來(lái)移動(dòng)數據。因為數據必須移出再移進(jìn)閃存,所以需要兩倍的時(shí)間即82μs,但這個(gè)時(shí)間不包含ECC所花費的時(shí)間。在執行這個(gè)序列的過(guò)程中,ONFI閃存總線(xiàn)始終處于占用狀態(tài),不能處理其它任何操作。
與普通閃存不同,增強型ClearNAND閃存支持內部ECC。假如數據的源地址和目的地址都在ClearNAND封裝內,采用內部ECC可以在封裝內部執行回寫(xiě)操作。SSD控制器仍負責發(fā)布指令和地址,以及經(jīng)修改的數據或元數據。ClearNAND控制器執行數據遷移操作,而不會(huì )占用外部的ONFI數據總線(xiàn)。如果SSD控制器能夠把損耗均衡和碎片清理功能整合在一個(gè)ClearNAND封裝內,它將在性能方面具有更強的優(yōu)勢。
圖7所示是一個(gè)在標識為通道0和通道1的兩路ONFI通道上采用增強型ClearNAND閃存的示例。在兩個(gè)SSD通道上,我們看到有四個(gè)內部數據遷移操作同步進(jìn)行,數據移動(dòng)并沒(méi)有占用外部ONFI總線(xiàn)。在必要時(shí),這個(gè)特性允許SSD控制器和ONFI總線(xiàn)在ClearNAND封裝之間遷移數據。根據用戶(hù)所使用的架構,某些操作可能需要在ClearNAND封裝之間甚至ONFI總線(xiàn)之間進(jìn)行。利用內部數據遷移操作,可大幅提升碎片清理和損耗均衡操作的性能。

本文小結
美光公司的增強型ClearNAND閃存為系統設計人員提供更高的性能和更多的功能,同時(shí)緩解了NAND閃存對ECC糾錯能力的日益嚴格的要求。增強型ClearNAND閃存支持與標準100-Ball BGA NAND閃存相似的焊球排列,用戶(hù)可以設計出同時(shí)支持這兩種封裝的產(chǎn)品。例如,該產(chǎn)品將使SSD主控制器擁有充足的ECC糾錯能力來(lái)直接支持SLC NAND閃存,選擇增強型ClearNAND閃存還能滿(mǎn)足ECC面臨更大挑戰的多級單元需求。
增強型ClearNAND閃存的卷尋址特性可使用更少的引腳實(shí)現更大容量尋址,從而為SSD方案中節省數百個(gè)引腳。電子數據映像功能可簡(jiǎn)化PCB設計和走線(xiàn),同時(shí)還能提高ONFI總線(xiàn)的信號完整性。智能中斷功能向SSD控制器提供實(shí)時(shí)狀態(tài)更新信息,并最大限度地縮小對固件的輪詢(xún)。兩路內部NAND閃存總線(xiàn)可改善回寫(xiě)功能,從而提高閃存的性能。
評論