最近学习了flash的知识,期间接触了一些缓存的知识,发现缓存技术技术有好多优点,于是再次总结一下:
1、缓存提高了文件读写的速度
缓存的读:首先,将一个erasesize的数据从flash中读到catche中,那么在下次读flash数据的时候就先判断当前缓存中的块号是否等于要读的flash的块号,如果是就直接从缓存中读取,否则从新加载数据到缓存。这里要明确一点,一个块的大小是很大的通常是128k,可以存放很多文件的,而通常软件是由很多文件组成的,他们在正常情况先存储在flash上的位置相近的,很容易就可能存在一个块上。那么,从flash上读出存在缓存上的数据可以供程序读上很多次,这就大大减少了直接从flash上读数据。而我们又知道从flash上读数据的时间远大于从缓存上读数据的时间。所以,引入缓存将使读取文件的时间缩短很多倍。
缓存的写:缓存的写入是将数据先写入缓存,当一个块被写满数据时才将数据真正写入flash。要知道写入flash的时间更长,因此缓存的写更加提高速度。
2、缓存延长了flash的寿命
缓存的写可以减少写flash的次数,直接提高了寿命。而且MTD技术的引入,对于JFFS2文件、YAFFS2文件系统的负载平衡等特点又延长了flash的寿命。