2 m# a. g' c) h
硬盘缓存的作用 , u( u E- a: g( k . s# q' E2 Q. N& v ! V8 S5 S; ?7 N/ x“缓存”是为了平衡高速设备和低速设备之间的速度差异而存在的。举个最简单的例子,内存中的数据要写入机械硬盘保存,由于机械硬盘相比内存要缓慢许多,理论上就需要很长的时间才能完成任务,体现出来的结果就是写入超级慢。0 k5 \& a0 L3 j: O* V
; W- g4 G) U8 p7 P要解决这种速度上的差异(内存速度与硬盘速度),就需要在之间做一个“缓冲区”来暂存数据,这就是硬盘缓存的作用。不过需要注意的是,其实硬盘的缓存并不全都用于缓存数据,还有其他用途,所以不见得缓存越大,性能就越好。 0 J5 n* ~0 f% r+ j# G H$ N: l( x - w h4 V0 s; {5 F/ m. A$ t而且还有个缓存算法问题。如果算法不优秀,命中率就不会高,这样大容量缓存形同虚设,甚至会出现掉速问题。另外,这还要结合硬盘本身的单碟容量、转速来决定。比方说传输持续读写速度在150MB/s左右、单碟不超过1TB容量的机械硬盘,缓存64MB就足够,128MB显然有些浪费;只有那些单碟容量超过1TB、持续读写性能在200MB/s左右的机械硬盘,128MB的缓存才有意义。: |; J* Q1 t. d! h: I4 m% k
% }/ J6 q) n9 Z9 ?0 D* d
固态硬盘的缓存 0 \1 I c$ ?, f9 P6 B: d + q$ g# y: V U相比刚刚说的机械硬盘,固态硬盘速度要高不少,但是对比内存还是慢得多。固态硬盘的缓存一般都是由一到两颗DRAM颗粒(说白了就是内存用颗粒)作为缓存使用。早先固态硬盘是否带缓存是一个非常重要的指标,低端入门级的产品甚至有无缓存设计,无论是使用寿命还是性能表现都要差不少。而在当下高速产品由于数据交换量大,缓存已经是固态硬盘的标配,用来提高产品的读写性能。 * T6 s& S( j& w A9 J" n: y& W7 e9 a5 a) [0 n& u
为什么新硬盘又要没缓存了? 0 B& B X m6 g: {+ O8 N# X- ^) ` G! A b4 Q" n# g既然缓存的功能对于硬盘来说几乎是决定性的,那为什么新出的主控还要强调无缓存设计呢?这是因为,固态硬盘的主控厂商群联通过另一种方式“拥有缓存”了——群联的新技术叫做“HMB内存缓冲技术”,简单说,就是去掉了本来应该在硬盘上出现的缓存,转而找内存借用存储空间,实现了数据缓冲! 6 ^+ |: U/ ^9 U* g3 l ' _/ q9 h" n; r, m这要做的好处就是成本降低,固态硬盘会因为少了一个缓存颗粒而降低成本,但通过新技术依旧可以达到有缓存设计的固态硬盘速度。% W$ w2 p; b7 Z& K8 @; R