NAND Flash與NOR Flash究竟有何不同
來源:內容由 微信公眾號 半導體行業觀察 (ID:icbank) 翻譯自「embedded」,作者 Avinash Aravindan,謝謝。
嵌入式系統設計人員在選擇快閃記憶體時必須考慮許多因素:使用哪種型別的Flash架構,是選擇序列介面還是並行介面,是否需要校驗碼(ECC)等。如果處理器或控制器僅支援一種型別的介面,則會限制選項,因此可以輕鬆選擇記憶體。但是,情況往往並非如此。例如,一些FPGA支援序列NOR快閃記憶體、並行NOR快閃記憶體和NAND快閃記憶體來儲存配置資料,同樣,它們也可以用來儲存使用者資料,這使得選擇正確的儲存器件更加困難。本文將討論快閃記憶體的不同方面,重點放在NOR快閃記憶體和NAND快閃記憶體的差異方面。
儲存架構
快閃記憶體將資訊儲存在由浮柵晶體管制成的儲存單元中。這些技術的名稱解釋了儲存器單元的組織方式。在NOR快閃記憶體中,每個儲存器單元的一端連線到源極線,另一端直接連線到類似於NOR門的位線。在NAND快閃記憶體中,幾個儲存器單元(通常是8個單元)串聯連線,類似於NAND門(參見圖1)。

NOR Flash架構提供足夠的地址線來對映整個儲存器範圍。這提供了隨機訪問和短讀取時間的優勢,這使其成為程式碼執行的理想選擇。另一個優點是100%已知的零件壽命。缺點包括較大的單元尺寸導致每位元的較高成本和較慢的寫入和擦除速度。
相比之下,與NOR快閃記憶體相比,NAND快閃記憶體具有更小的單元尺寸和更高的寫入和擦除速度。缺點包括較慢的讀取速度和I / O對映型別或間接介面,這更復雜並且不允許隨機訪問。值得注意的是,NAND Flash中的程式碼執行是通過將內容對映到RAM來實現的,這與直接從NOR Flash執行程式碼不同。另一個主要缺點是存在壞塊。NAND快閃記憶體通常在部件的整個生命週期內出現額外的位故障時具有98%的良好位,因此,器件內需要ECC功能。
儲存容量
與NOR快閃記憶體相比,NAND快閃記憶體的密度要高得多,主要是因為其每位元成本較低。NAND快閃記憶體通常具有1Gb至16Gb的容量。NOR快閃記憶體的密度範圍從64Mb到2Gb。由於NAND Flash具有更高的密度,因此主要用於資料儲存應用。
擦除/讀寫
在NOR和NAND快閃記憶體中,儲存器被組織成擦除塊。該架構有助於在保持效能的同時保持較低的成本,例如,較小的塊尺寸可以實現更快的擦除週期。然而,較小塊的缺點是芯片面積和儲存器成本增加。由於每位元成本較低,與NOR快閃記憶體相比,NAND快閃記憶體可以更經濟高效地支援更小的擦除塊。目前,NAND快閃記憶體的典型塊大小為8KB至32KB,NOR Flash為64KB至256KB。
NAND快閃記憶體中的擦除操作非常簡單,而在NOR快閃記憶體中,每個位元組在擦除之前都需要寫入“0”。這使得NOR快閃記憶體的擦除操作比NAND快閃記憶體慢得多。例如,NAND快閃記憶體S34ML04G2需要3.5ms才能擦除128KB塊,而NOR快閃記憶體S70GL02GT則需要約520ms來擦除類似的128KB扇區。這相差近150倍。
如前所述,NOR快閃記憶體具有足夠的地址和資料線來對映整個儲存區域,類似於SRAM的工作方式。例如,具有16位資料匯流排的2Gbit(256MB)NOR快閃記憶體將具有27條地址線,可以對任何儲存器位置進行隨機讀取訪問。在NAND快閃記憶體中,使用多路複用地址和資料匯流排訪問儲存器。典型的NAND快閃記憶體使用8位或16位多路複用地址/資料匯流排以及其他訊號,如晶片使能,寫使能,讀使能,地址鎖存使能,命令鎖存使能和就緒/忙碌。NAND Flash需要提供命令(讀,寫或擦除),然後是地址和資料。這些額外的操作使NAND快閃記憶體的隨機讀取速度慢得多。例如,NAND快閃記憶體S34ML04G2需要30μS,而NOR快閃記憶體S70GL02GT需要120nS。因此,NOR比NAND快250倍。
為了克服或減少較慢讀取速度的限制,通常以NAND快閃記憶體中的頁方式讀取資料,每個頁是擦除塊的較小子部分。僅在每個讀取週期開始時使用地址和命令週期順序讀取一頁的內容。NAND快閃記憶體的順序訪問持續時間通常低於NOR快閃記憶體裝置中的隨機訪問持續時間。利用NOR Flash的隨機訪問架構,需要在每個讀取週期切換地址線,從而累積隨機訪問以進行順序讀取。隨著要讀取的資料塊的大小增加,NOR快閃記憶體中的累積延遲變得大於NAND快閃記憶體。因此,NAND Flash順序讀取可以更快。但是,由於NAND Flash的初始讀取訪問持續時間要長得多,兩者的效能差異只有在傳輸大資料塊時才是明顯的,通常大小要超過1 KB。
在兩種Flash技術中,只有在塊為空時才能將資料寫入塊。NOR Flash的慢速擦除操作使寫操作更慢。在NAND Flash中,類似於讀取,資料通常以頁形式編寫或程式設計(通常為2KB)。例如,單獨使用NAND快閃記憶體S34ML04G2 寫入頁面需要300μS。
為了加快寫入操作,現代NOR Flashes還採用類似於頁面寫入的緩衝區程式設計。例如,前文所述的NOR快閃記憶體S70GL02GT,支援緩衝器程式設計,這使其能夠實現與單詞相似寫入超時多位元組程式設計。例如,512位元組資料的緩衝區程式設計可以實現1.14MBps的吞吐量。
能耗
NOR快閃記憶體在初始上電期間通常需要比NAND快閃記憶體更多的電流。但是,NOR Flash的待機電流遠低於NAND Flash。兩個快閃記憶體的瞬時有功功率相當。因此,有效功率由儲存器活動的持續時間決定。NOR Flash在隨機讀取方面具有優勢,而NAND Flash在擦除,寫入和順序讀取操作中消耗的功率相對較低。
可靠性
儲存資料的可靠性是任何儲存裝置的重要效能指標。快閃記憶體會遭遇稱為位翻轉的現象,其中一些位可以被反轉。這種現象在NAND快閃記憶體中比在NOR快閃記憶體中更常見。出於產量考慮,NAND快閃記憶體隨附著散佈的壞塊,隨著擦除和程式設計週期在NAND快閃記憶體的整個生命週期中持續,更多的儲存器單元變壞。因此,壞塊處理是NAND快閃記憶體的強制性功能。另一方面,NOR快閃記憶體帶有零壞塊,在儲存器的使用壽命期間具有非常低的壞塊累積。因此,當涉及儲存資料的可靠性時,NOR Flash具有優於NAND Flash的優勢。
可靠性的另一個方面是資料保留,這方面,NOR Flash再次佔據優勢,例如,NOR Flash快閃記憶體S70GL02GT提供20年的資料保留,最高可達1K程式設計/擦除週期,NAND快閃記憶體S34ML04G2提供10年的典型資料保留。
程式設計和擦除週期的數量曾是一個需要考慮的重要特性。這是因為與NOR快閃記憶體相比,NAND快閃記憶體用於提供10倍更好的程式設計和擦除週期。隨著技術進步,這已不再適用,因為這兩種儲存器在這方面的效能已經很接近。例如,S70GL02GT NOR和S34ML04G2 NAND都支援100,000個程式設計 - 擦除週期。但是,由於NAND快閃記憶體中使用的塊尺寸較小,因此每次操作都會擦除較小的區域。與NOR Flash相比,其整體壽命更長。
表1提供了本文中討論的主要內容摘要。

通常,NOR快閃記憶體是需要較低容量、快速隨機讀取訪問和更高資料可靠性的應用的理想選擇,例如程式碼執行所需。NAND快閃記憶體則非常適用於需要更高記憶體容量和更快寫入和擦除操作的資料儲存等應用。