正確選擇閃存寫入緩沖區(qū)大小,優(yōu)化擦寫速度
圖2. 采用不同的寫入緩沖區(qū)大小寫入128KB連續(xù)地址空間所需時間
除寫入緩沖區(qū)大小外,由上面的數(shù)據(jù)還可以發(fā)現(xiàn),適當?shù)慕档蛯懭霑r閃存所處的環(huán)境溫度,也可以對寫入速度有所提高。除此之外,適當?shù)奶岣邔懭腚妷?,也會提升寫入速度。但是對于一個復雜的電子系統(tǒng),內部操作電壓和環(huán)境溫度往往受其他器件影響難以控制,因此改變溫度和寫入電壓對于擦寫速度的提高效果在實際應用中往往存在較大的局限性。相比,選擇較大的寫入緩沖區(qū)大小僅對閃存本身進行操作,在相同環(huán)境條件下是提高寫入效率最簡便易行的方法。
對小范圍地址空間的高效寫入
還有一個在實際應用中值得工程師關注的問題是,當需要寫入的地址空間僅僅是小范圍內的,如只有512字節(jié)或者更低到64字節(jié),該如何選取寫入緩沖區(qū)大小才會具有較高的寫入速度?對此,采用不同的寫入緩沖區(qū)大小(64-1024字節(jié))分別對64-512字節(jié)的連續(xù)地址空間進行寫入操作,記錄各自所用的寫入時間,如圖3所示。這里,之所以最低考慮到64字節(jié)地址空間,是因為寫入到NOR型閃存的數(shù)據(jù)量通常要高于64字節(jié)。如果實際應用中只需要寫入更少的地址空間,如只有兩字節(jié)地址范圍,本文的結果依然適用。在使用1024字節(jié)的寫入緩沖區(qū)大小去寫入512字節(jié)的地址空間時,緩沖區(qū)中的前512個字節(jié)填入所需要寫入的數(shù)據(jù),其余用冗余數(shù)據(jù)(FFh)來填充。結果如圖3所示,每條線代表不同的地址空間大小,橫坐標表示采用的寫入緩沖區(qū)大小,縱坐標表示完成所有地址空間寫入所用的時間。結果表明,當對64字節(jié)連續(xù)地址空間進行寫入時,采用大于64字節(jié)的寫入緩沖區(qū)大小的寫入時間基本相當;同樣,當對連續(xù)空間大小為512字節(jié)時,512字節(jié)與1024字節(jié)的寫入緩沖區(qū)大小所用寫入時間基本一致,而較低的寫入緩沖區(qū)大小,如64/128/256字節(jié),則所需時間明顯增加。但考慮到用1024字節(jié)的寫入緩沖區(qū)相比使用512字節(jié)緩沖區(qū)需要多發(fā)送512個字節(jié)的冗余數(shù)據(jù),會耗費512個命令周期時間,因此選擇512字節(jié)緩沖區(qū)大小具有最高的寫入效率。因此,當只需寫入較小范圍的地址空間時,可以選擇跟寫入地址空間大小相同的緩沖區(qū)大小,寫入效率最高。當然在實際應用中,如果為了簡化操作需要采用固定的寫入緩沖區(qū)大小,使用大容量的寫入緩沖區(qū)由于具有較高的平均每字節(jié)寫入速度,依然具有較高的寫入效率。
評論