至今还有认为缓存大风险就大的人。对于突然掉电,丢失1kb数据和2kb数据都是无法挽回的,只有死或不死两种结果。512m的缓存可能保存了300m的数据,256m的缓存可能只保存了10m的数据,只要是掉电,这些数据都得丢失,都是无法挽回的,根本没有300m数据丢失而10m数据幸存的道理。简单说,只要有1kb的关键数据丢失,管你缓存多大,照样挂。所以,缓存大小和掉电风险没有关系。
还有认为ssd的缓存是拿来存储数据的。应该说,从传统计算机体系结构来说,缓存的一部分确实应该存储数据,但是不要忘记,主控制器要向nand进行操作,不光需要待操作的数据,还需要操作指令的。比较常见的场景就是cpu的L1缓存分别存储数据和指令。提高指令的加载速度同样会大大提高主控效率,而且有些常用关键指令,比如一条多维数组操作指令的效率可比单操作数指令高多了。也许ssd远没有那么简单,但是把大缓存当作纯数据缓冲池,显然是早期ssd的做法,从地雷jmicron的测试就能看出来 |