在嵌入式系統中應用NAND Flash閃存作為存儲設備
發布時間:2008/8/18 0:00:00 訪問次數:856
對于許多消費類音視頻產品而言,nand flash是一種比硬盤驅動器更好的存儲方案,這在不超過4gb的低容量應用中表現得猶為明顯。隨著人們持續追求功耗更低、重量更輕和性能更佳的產品,nand正被證明極具吸引力。
nand閃存陣列分為一系列128kb的區塊(block),這些區塊是nand器件中最小的可擦除實體。擦除一個區塊就是把所有的位 (bit)設置為“1”(而所有字節(byte)設置為ffh)。有必要通過編程,將已擦除的位從“1”變為“0”。最小的編程實體是字節(byte)。 一些nor閃存能同時執行讀寫操作(見下圖1)。雖然nand不能同時執行讀寫操作,它可以采用稱為“映射(shadowing)”的方法,在系統級實現這一點。這種方法在個人電腦上已經沿用多年,即將bios從速率較低的rom加載到速率較高的ram上。
nand的效率較高,是因為nand串中沒有金屬觸點。nand閃存單元的大小比nor要 小(4f2:10f2)的原因,是nor的每一個單元都需要獨立的金屬觸點。nand與硬盤驅動器類似,基于扇區(頁),適合于存儲連續的數據,如圖片、 音頻或個人電腦數據。雖然通過把數據映射到ram上,能在系統級實現隨機存取,但是,這樣做需要額外的ram存儲空間。此外,跟硬盤一樣,nand器件存 在壞的扇區,需要糾錯碼(ecc)來維持數據的完整性。
存儲單元面積越小,裸片的面積也就越小。在這種情況下,nand就能夠為當今的低成本消費市場提供存儲容量更大的閃存產品。nand閃存 用于幾乎所有可擦除的存儲卡。nand的復用接口為所有最新的器件和密度都提供了一種相似的引腳輸出。這種引腳輸出使得設計工程師無須改變電路板的硬件設 計,就能從更小的密度移植到更大密度的設計上。
nand與nor閃存比較
nand閃存的優點在于寫(編程)和擦除操作的速率快,而nor的優點是具有隨機存取和對字節執行寫(編程)操作的能力(見下圖圖2)。 nor的隨機存取能力支持直接代碼執行(xip),而這是嵌入式應用經常需要的一個功能。nand的缺點是隨機存取的速率慢,nor的缺點是受到讀和擦除 速度慢的性能制約。nand較適合于存儲文件。如今,越來越多的處理器具備直接nand接口,并能直接從nand(沒有nor)導入數據。
nand的真正好處是編程速度快、擦除時間短。nand支持速率超過5mbps的持續寫操作,其區塊擦除時間短至2ms,而nor是750ms。顯然,nand在某些方面具有絕對優勢。然而,它不太適合于直接隨機存取。
對于16位的器件,nor閃存大約需要41個i/o引腳;相對而言,nand器件僅需24個引腳。nand器件能夠復用指令、地址和數據總 線,從而節省了引腳數量。復用接口的一項好處,就在于能夠利用同樣的硬件設計和電路板,支持較大的nand器件。由于普通的tsop-1封裝已經沿用多 年,該功能讓客戶能夠把較高密度的nand器件移植到相同的電路板上。nand器件的另外一個好處顯然是其封裝選項:nand提供一種厚膜的2gb裸片或 能夠支持最多四顆堆疊裸片,容許在相同的tsop-1封裝中堆疊一個8gb的器件。這就使得一種封裝和接口能夠在將來支持較高的密度。
圖1 不同閃存單元的對比
圖2 nor閃存的隨機存取時間為0.12ms,而nand閃存的第一字節隨機存取速度要慢得多
nand基本操作
以2gb nand器件為例,它由2048個區塊組成,每個區塊有64個頁(見圖3)。
圖3 2gb nand閃存包含2,048個區塊
每一個頁均包含一個2048字節的數據區和64字節的空閑區,總共包含2,112字節。空閑區通常被用于ecc、耗損均衡(wear leveling)和其它軟件開銷功能,盡管它在物理上與其它頁并沒有區別。nand器件具有8或16位接口。通過8或16位寬的雙向數據總線,主數據被 連接到nand存儲器。在16位模式,指令和地址僅僅利用低8位,而高8位僅僅在數據傳輸周期使用。
擦除區塊所需時間約為2ms。一旦數據被載入寄存器,對一個頁的編程大約要300μs。讀一個頁面需要大約25μs,其中涉及到存儲陣列訪問頁,并將頁載入16,896位寄存器中。
除了i/o總線,nand接口由6個主要控制信號構成:
1.芯片啟動(chip enable, ce#):如果沒有檢測到ce信號,那么,nand器件就保持待機模式,不對任何控制信號作出響應。
2.寫使能(write enable, we#): we#負責將數據、地址或指令寫入nand之中。
3.讀使能(read enable, re#): re#允許輸出數據緩沖器。
4.指令鎖存使能(command latch enable, cle): 當cle為高時,在we#信號的上升沿,指令被鎖存到nand指令寄存器中。
5.地址鎖存使能(address latch enable, ale):當ale為高時,在we#信號的上升沿,地
對于許多消費類音視頻產品而言,nand flash是一種比硬盤驅動器更好的存儲方案,這在不超過4gb的低容量應用中表現得猶為明顯。隨著人們持續追求功耗更低、重量更輕和性能更佳的產品,nand正被證明極具吸引力。
nand閃存陣列分為一系列128kb的區塊(block),這些區塊是nand器件中最小的可擦除實體。擦除一個區塊就是把所有的位 (bit)設置為“1”(而所有字節(byte)設置為ffh)。有必要通過編程,將已擦除的位從“1”變為“0”。最小的編程實體是字節(byte)。 一些nor閃存能同時執行讀寫操作(見下圖1)。雖然nand不能同時執行讀寫操作,它可以采用稱為“映射(shadowing)”的方法,在系統級實現這一點。這種方法在個人電腦上已經沿用多年,即將bios從速率較低的rom加載到速率較高的ram上。
nand的效率較高,是因為nand串中沒有金屬觸點。nand閃存單元的大小比nor要 小(4f2:10f2)的原因,是nor的每一個單元都需要獨立的金屬觸點。nand與硬盤驅動器類似,基于扇區(頁),適合于存儲連續的數據,如圖片、 音頻或個人電腦數據。雖然通過把數據映射到ram上,能在系統級實現隨機存取,但是,這樣做需要額外的ram存儲空間。此外,跟硬盤一樣,nand器件存 在壞的扇區,需要糾錯碼(ecc)來維持數據的完整性。
存儲單元面積越小,裸片的面積也就越小。在這種情況下,nand就能夠為當今的低成本消費市場提供存儲容量更大的閃存產品。nand閃存 用于幾乎所有可擦除的存儲卡。nand的復用接口為所有最新的器件和密度都提供了一種相似的引腳輸出。這種引腳輸出使得設計工程師無須改變電路板的硬件設 計,就能從更小的密度移植到更大密度的設計上。
nand與nor閃存比較
nand閃存的優點在于寫(編程)和擦除操作的速率快,而nor的優點是具有隨機存取和對字節執行寫(編程)操作的能力(見下圖圖2)。 nor的隨機存取能力支持直接代碼執行(xip),而這是嵌入式應用經常需要的一個功能。nand的缺點是隨機存取的速率慢,nor的缺點是受到讀和擦除 速度慢的性能制約。nand較適合于存儲文件。如今,越來越多的處理器具備直接nand接口,并能直接從nand(沒有nor)導入數據。
nand的真正好處是編程速度快、擦除時間短。nand支持速率超過5mbps的持續寫操作,其區塊擦除時間短至2ms,而nor是750ms。顯然,nand在某些方面具有絕對優勢。然而,它不太適合于直接隨機存取。
對于16位的器件,nor閃存大約需要41個i/o引腳;相對而言,nand器件僅需24個引腳。nand器件能夠復用指令、地址和數據總 線,從而節省了引腳數量。復用接口的一項好處,就在于能夠利用同樣的硬件設計和電路板,支持較大的nand器件。由于普通的tsop-1封裝已經沿用多 年,該功能讓客戶能夠把較高密度的nand器件移植到相同的電路板上。nand器件的另外一個好處顯然是其封裝選項:nand提供一種厚膜的2gb裸片或 能夠支持最多四顆堆疊裸片,容許在相同的tsop-1封裝中堆疊一個8gb的器件。這就使得一種封裝和接口能夠在將來支持較高的密度。
圖1 不同閃存單元的對比
圖2 nor閃存的隨機存取時間為0.12ms,而nand閃存的第一字節隨機存取速度要慢得多
nand基本操作
以2gb nand器件為例,它由2048個區塊組成,每個區塊有64個頁(見圖3)。
圖3 2gb nand閃存包含2,048個區塊
每一個頁均包含一個2048字節的數據區和64字節的空閑區,總共包含2,112字節。空閑區通常被用于ecc、耗損均衡(wear leveling)和其它軟件開銷功能,盡管它在物理上與其它頁并沒有區別。nand器件具有8或16位接口。通過8或16位寬的雙向數據總線,主數據被 連接到nand存儲器。在16位模式,指令和地址僅僅利用低8位,而高8位僅僅在數據傳輸周期使用。
擦除區塊所需時間約為2ms。一旦數據被載入寄存器,對一個頁的編程大約要300μs。讀一個頁面需要大約25μs,其中涉及到存儲陣列訪問頁,并將頁載入16,896位寄存器中。
除了i/o總線,nand接口由6個主要控制信號構成:
1.芯片啟動(chip enable, ce#):如果沒有檢測到ce信號,那么,nand器件就保持待機模式,不對任何控制信號作出響應。
2.寫使能(write enable, we#): we#負責將數據、地址或指令寫入nand之中。
3.讀使能(read enable, re#): re#允許輸出數據緩沖器。
4.指令鎖存使能(command latch enable, cle): 當cle為高時,在we#信號的上升沿,指令被鎖存到nand指令寄存器中。
5.地址鎖存使能(address latch enable, ale):當ale為高時,在we#信號的上升沿,地
上一篇:數據驅動計算及其應用