嵌入式存储硬盘缓存有什么作用?
嵌入式存储硬盘的缓存主要有以下作用:一、是对写入动作进行缓存。
当硬盘接到写入数据的指令之后,它不会马上将数据写入到硬盘片上,而是先暂时存储在缓存里,然后发送一个“数据已写入”的信号给系统,这时系统就会认为数据已经写入,并继续执行下面的工作,而硬盘则在空闲(不进行读取或写入的时候)时再将缓存中的数据写入到盘片上。由于对于写入数据的性能有提升,所以不可避免地带来了安全隐患——假如数据还在缓存里的时候突然掉电,那么这些数据则会丢失。
二、是预读取。
当硬盘受到CPU指令控制开始读取数据时,硬盘上的控制芯片会控制磁头把正在读取的簇的下一个或者几个簇中的数据读到缓存中(由于硬盘上数据存储时是比较连续的,所以读取命中率较高),假如需要读取下一个或者几个簇中的数据的时候,硬盘并不需要重新读取数据,只需要把缓存中的数据传输到内存中就可以了,由于缓存的速度大于磁头读写的速度,因此能够达到明显改善性能的作用。
三、临时存储最近访问过的数据。
有时某些数据需要经常访问的,硬盘内部的缓存则将读取比较频繁的一些数据存储在缓存中,下次读取时就可以直接从缓存中直接传输。
最后,还有个缓存算法问题。如果算法不够优秀,命中率就不会高,这样大容量缓存形同虚设,甚至会出现掉速问题。除此之外,还要结合硬盘本身的单碟容量、转速来决定。比方说传输持续读写速度在150MB/s左右、单碟不超过1TB容量的机械硬盘,缓存64MB就足够,128MB显然有些浪费;只有那些单碟容量超过1TB、持续读写性能在200MB/s左右的机械硬盘,128MB的缓存才有意义哦。
页:
[1]