更新时间: 2023-01-15
正确选择闪存写入缓冲区大小,优化擦写速度
采用大的写入缓冲区一次写入操作可以对更多的地址空间进行操作。这样平均到每字节所需的平均写入时间,反而是采用大的写入缓冲区时间短,如图1所示。图1中的两条线分别表示-40C和85C的使用环境温度,横坐标表示采用的写入缓冲区大小,纵坐标是平均每字节的写入时间,为方便结果比较,纵坐标采用了对数坐标。由图可得,同样在-40C的环境温度下,用2字节的写入缓冲区大小每字节的平均写入时间大约是100us,而采用64字节的写入缓冲区大小,平均每字节的写入时间就减少到10us以下,如果采用1024字节的写入缓冲区大小,平均每字节所需的写入时间已经低于1us!需要说明的是,所要写入的数据不同也会对写入时间造成较大的影响,为方便比较,本文对各种写入操作采用相同的写入内容,这里测试的结果重点也放在采用不同缓冲区大小的速度相对值的比较上,而不是绝对值。
采用不同写入缓冲区大小写入与平均每字节写入时间的关系
图1.采用不同写入缓冲区大小写入与平均每字节写入时间的关系
由于采用大的写入缓冲区可以提高单字节的写入速度,因此当工程师进行大块字节的擦写操作时,采用尽可能大的写入缓冲区可以**的提高擦写效率。例如,当需要对一块连续128KB的地址空间进行擦写操作时,可选择采用不同的写入缓冲区大小进行写入,图2给出了写入缓冲区大小与完成操作的写入时间的关系。不难看出,与图1相同,采用1024字节写入缓冲区大小所需时间**短,相比2字节的写入缓冲区大小,速度提高百倍以上。
采用不同的写入缓冲区大小写入128KB连续地址空间所需时间
图2.采用不同的写入缓冲区大小写入128KB连续地址空间所需时间
除写入缓冲区大小外,由上面的数据还可以发现,适当的降低写入时闪存所处的环境温度,也可以对写入速度有所提高。除此之外,适当的提高写入电压,也会提升写入速度。但是对于一个复杂的电子系统,内部操作电压和环境温度往往受其他器件影响难以控制,因此改变温度和写入电压对于擦写速度的提高效果在实际应用中往往存在较大的局限性。相比,选择较大的写入缓冲区大小仅对闪存本身进行操作,在相同环境条件下是提高写入效率**简便易行的方法。