正確選擇閃存寫入緩沖區(qū)大小,優(yōu)化擦寫速度
隨機讀取,擦除(使存儲內容從0變1),和寫入(使存儲內容從1變0)是對閃存的三種基本操作。任何閃存器件的寫入操作只能在空或已擦除的單元內進行,所以大多數(shù)情況下,在進行寫入操作之前必須先執(zhí)行擦除。隨著工藝和電路設計上的提高,NOR型閃存的隨機讀取速度基本在百ns以內(如Numonyx的主要產品系列均在110ns以內),而同步讀取速度最高可達333MHz(如Numonyx某具有LPDDR接口的NOR型閃存);對NOR型閃存進行擦除一般是以64K"128KB的塊為整體進行的,通常執(zhí)行一個擦除操作的時間約為0.2"4s;對NOR型閃存的寫入可以按照緩沖區(qū)大小,雙字節(jié)甚至比特操作,其中按比特寫入可使任一比特由1變成0,NOR的寫入速度除了與產品工藝和設計有關外,還與寫入緩沖區(qū)容量有著密切關系。目前,市場上的閃存產品主要都采用不高于64字節(jié)的寫入緩沖區(qū)容量,例如常見的S29GL和SSF29產品系列等。64字節(jié)的寫入緩沖區(qū)容量意味著一次寫入操作最大能寫入的地址空間范圍為64字節(jié)。在實際應用中,工程師總是希望存儲器具有較快的寫入速度,但往往容易忽略緩沖區(qū)大小和寫入速度的關系。 最近,Numonyx公司開發(fā)推出了基于65nm技術,最高可達1024字節(jié)寫入緩沖區(qū)容量的NOR型M29EW閃存。本文對此產品的寫入緩沖區(qū)大小與寫速度的關系進行了詳細分析。推薦工程師在實際應用中,可以通過選擇合適的盡可能大的寫入緩沖區(qū)大小,最大可能的優(yōu)化擦寫速度。
提高百倍的平均每字節(jié)寫入速度
Numonyx公司的M29EW閃存,有兩種寫入方式。一種是字寫入方式(Word program),每次可對單個或者兩個字節(jié)進行寫入。另一種是緩存寫入方式(Buffer program),根據選擇的寫入緩沖區(qū)大小,每次可對1"1024個字節(jié)進行寫入。字寫入方式具有較高的靈活性,可以對任意單個地址空間進行寫入操作,但寫入時間較長,在需要對連續(xù)地址空間進行寫入時,寫入效率較低。緩存寫入方式,不但同樣具備單字節(jié)或雙字節(jié)寫入能力,最多還可以一次性寫入連續(xù)的1024字節(jié)的地址空間。本文選取了M29EW系列中的128MB產品,重點對緩存寫入方式進行分析。使用不同的寫入緩沖區(qū)大小對連續(xù)地址空間進行寫入,發(fā)現(xiàn),采用大的寫入緩沖區(qū)單次寫入時間較長。在-40C的環(huán)境溫度下,用2字節(jié)寫入緩沖區(qū)大小寫入2字節(jié)的連續(xù)地址空間大概需要200us,在相同測試條件,用1024字節(jié)的寫入緩沖區(qū)對1024字節(jié)連續(xù)地址空間進行寫入大概需要近700us。但是采用大的寫入緩沖區(qū)一次寫入操作可以對更多的地址空間進行操作。這樣平均到每字節(jié)所需的平均寫入時間,反而是采用大的寫入緩沖區(qū)時間短,如圖1所示。圖1中的兩條線分別表示-40C和85C的使用環(huán)境溫度,橫坐標表示采用的寫入緩沖區(qū)大小,縱坐標是平均每字節(jié)的寫入時間,為方便結果比較,縱坐標采用了對數(shù)坐標。由圖可得,同樣在-40C的環(huán)境溫度下,用2字節(jié)的寫入緩沖區(qū)大小每字節(jié)的平均寫入時間大約是100us,而采用64字節(jié)的寫入緩沖區(qū)大小,平均每字節(jié)的寫入時間就減少到10us以下,如果采用1024字節(jié)的寫入緩沖區(qū)大小,平均每字節(jié)所需的寫入時間已經低于1us!需要說明的是,所要寫入的數(shù)據不同也會對寫入時間造成較大的影響,為方便比較,本文對各種寫入操作采用相同的寫入內容,這里測試的結果重點也放在采用不同緩沖區(qū)大小的速度相對值的比較上,而不是絕對值。
圖1. 采用不同寫入緩沖區(qū)大小寫入與平均每字節(jié)寫入時間的關系
由于采用大的寫入緩沖區(qū)可以提高單字節(jié)的寫入速度,因此當工程師進行大塊字節(jié)的擦寫操作時,采用盡可能大的寫入緩沖區(qū)可以最大的提高擦寫效率。例如,當需要對一塊連續(xù)128KB的地址空間進行擦寫操作時,可選擇采用不同的寫入緩沖區(qū)大小進行寫入,圖2給出了寫入緩沖區(qū)大小與完成操作的寫入時間的關系。不難看出,與圖1相同,采用1024字節(jié)寫入緩沖區(qū)大小所需時間最短,相比2字節(jié)的寫入緩沖區(qū)大小,速度提高百倍以上。
評論