Figure 8.Repeatedly migrating read-only data when they are mixed with dynamic data [9]
Cold data mix with hot data
當要被回收的segment中有cold data和hot data時,因cold data更改的頻率較少,在cleaning的期間cold data有較高的可能性為valid的,因此會將cold data搬移到新的segment裡。
Figure 9.Migrating cold data when they are mixed with hot data [9]
Data have high locality of reference
當要被回收segment中的data是有高度被參考性的,這些hot data在cleaning的過程中仍可能是valid,但在被搬移到新的segment時,hot data又被更新一次而成為garbage,這類的搬移即稱為useless migration。
Figure 10.Useless migration when hot data are updated soon after being migrated [9]
Wear-Leveling 當在使用Flash時,常會對某個檔案做修改的動作,當此時檔案變動而要用到更多的Page且 Flash中仍有空的Block時,會將空的 Block配置給此檔案來使用,若Flash中已經沒有空的Block時,則會執行Garbage Collection來清出空的Block以供使用。在挑選空的Block或執行Garbage Collection清出空的Block時,可能會造成部分的Block時常被挑選,這些Block可能因為被過度使用而造成損毀。為了避免這種情況發 生,會使用Wear-Leveling,讓大部分Block的存取次數平均,而不會常常挑選到某些固定的Block上,造成Block的過度存取而損毀。
再者,NAND Flash抹除和寫入的reliability有使用的次數(100,000次),使用wear-leveling可以紀錄並平均每個block被使用的次數。
Wear-Leveling有兩種方式來實現,一種是在FileSystem和NAND Flash中間的FTL(Flash Translation Layer)裡實現的。FTL可以讓上層的OS透過FTL以disk的方式去讀寫下層的NAND Flash,另外也提供了virtual address和physical address的轉換。
Figure 11. Wear Leveling in the FTL [4]
另一種的實現方法為Wear Leveling直接在FileSystem裡實現,OS直接透過HAL和NAND Flash溝通。
Figure 12.Wear Leveling in the File System [4]
Flow Chart
Read
Figure 13 Read Operation Flow Chart
Erase
Figure 14 Erase Operation Flow Chart
Write
Figure 15 Write Operation Flow Chart
Timing/Power Timing
Read Operation
BandWidth:39.82MB/s
Write Operation
BandWidth:4.66MB/s~1.36MB/s
Erase Operation
Power
P(typ)=3.3V*15mA=49.5mW P(max)=3.6V*30mA=108mW
Read Operation
E(typ)=49.5mW*(195+180+4224*25+100)ns=49.5mW*106075ns = J
E(max)=108mW*(195+180+4224*25+100)ns=108mW*106075ns = J
Write Operation
E(typ)=49.5mW*(295+4224*25+100+
+200)ns
=49.5mW*906195ns = J
E(max)=108mW*(295+4224*25+100+
+200)ns
=108mW*3106195ns = J
Erase Operation
E(typ)=49.5mW*(245+
+200)ns=49.5mW*1500445ns = J
E(max)=108mW*(245+
+200)ns=108mW*10000445ns = J
Reference
Samsung Electronics, \
Alex Kuo, \NAND interface\
STMicroelectronics, \Garbage Collection in Single Level Cell NAND Flash memories\STMicroelectronics, \Wear Leveling in Single Level Cell NAND Flash memories\
STMicroelectronics, \How to use the Copy Back feature of ST Small Page NAND Flash memories\
Amber Huffman, ONFI Technical Chair, \through ONFI\
S.-W. Lee, D.-J. Park, T.-S. Chung, D.-H. Lee, S.-W. Park, H.-J. Song, \Sector Translation\Vol.6,No.3,Article 18,Publication date: July 2007
STMicroelectronics, \to Manage Data in Single Level Cell NAND Flash Memories\
Mei-Ling Chiang, Paul C. H. Lee, Ruei-Chuan Chang, \Policies in Mobile Computers Using Flash Memory\v.48 n.3, p.213-231, Nov. 1, 1999
本文来自CSDN博客,转载请标明出处:
http://blog.csdn.net/renpine/archive/2009/09/19/4570538.aspx
为什么Micron的NAND Flash能达到200MB/s的读取速度
今天看到新闻Intel, Micron claim world’s fastest NAND flash,就直接到Micron的网站上浏览了一下。Micron的新产品分类为High Speed NAND Flash Products,用“High Speed”与原有NAND产品系列区分(估计ONFI 3.0兼容的产品出来后,还要加上“Ultra”,才能再分出一个类别来)。 riple Micron的High Speed系列目前按照容量分为8Gb、16Gb、32Gb三种,按照接口个数分为单端口(8Gb)和双端口(16、32Gb)两种。在Micron的网站上还看不到详细的datasheet,只能看到一个Product Brief和Flyer。 riple 通过Product Brief可以得到8Gb芯片的如下信息:采用了50nm而不是72nm工艺生产;是SLC而不是MLC结构;BGA封装取代了TSOP封 装;
4096Byte/Page,128Page/Block,512Block x 1/Plane,4Planes;I/O分为异步和同步(DDR)两种模式;速度最高的同步传输模式,读写I/O时间都是6ns/Toggle;读 Array 30us/Page,写Array 160us/Page,擦Array 3ms/Block。 riple
从上面的信息可以看出,High Speed特性要归功于6ns/Toggle的I/O时间,对于8bit的接口来说,相当于166MB/s的传输速度。 riple
但是,NAND Flash的访问速度不仅仅取决于I/O速度,还和Array传输时间、芯片内部缓冲结构和Plane数量有关。 riple
〇、NAND Flash访问时间分析 riple
访问操作 = 命令输入 + I/O操作 + Array传输操作,第一项的操作时间所占比例很小,在性能估算中可以忽略。 riple 访问时间 = I/O时间 + Array传输时间,在上一代NAND Flash中,第一项占的比例最大,是第二项的4-5倍。 riple