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