固态硬盘有没有磁盘调度算法?

网友解答: 用认真的态度与专业的情怀倾注于存储,欢迎关注我,与我交流哦!"磁盘调度算法"是针对机械硬盘而言的,固态硬盘没有这个!虽然固态硬盘没有“磁盘调度算法”,但是固态硬盘也有类似的优

网友解答:

用认真的态度与专业的情怀倾注于存储,欢迎关注我,与我交流哦!


"磁盘调度算法"是针对机械硬盘而言的,固态硬盘没有这个!

虽然固态硬盘没有“磁盘调度算法”,但是固态硬盘也有类似的优化算法。具体说固态硬盘的优化算法之前,我们先聊聊,为啥机械硬盘需要磁盘调度算法。

比如我们在使用硬盘时,有时候会同时复制或者删除不同的文件,这对于硬盘来讲,是不同进程的读写过程。而对于硬盘来说,读写的过程会产生一定的延迟,并不会立刻给出执行反馈。目前我们常见的硬盘主要包括机械硬盘(HDD)和固态硬盘(SSD), 其中, SSD又分为SATA SSD和PCIe SSD. 机械硬盘HDD的读写延迟最长,SATA SSD的延迟比机械硬盘要快很多,PCIe SSD的延迟最短, 是SATA SSD的20~30%。如下图对比结果。

机械硬盘延迟较长的原因主要是,机械硬盘的读写过程需要依靠磁盘臂在磁盘磁道进行寻址,这纯属一个机械行为,延迟就会很长。而固态硬盘的读写过程依靠的是固态电子元件之间的电学信号的传输,所以,固态硬盘的延迟就会很短,基本都在微秒级别。

读写延迟长是机械硬盘需要磁盘调度算法根本原因。原理上就是用户下发了读写请求,由于延迟很长,磁盘还没处理完,下一笔读写请求就到了。所以,为了解决这个问题,磁盘设立读写IO队列,这个IO队列处理请求的算法,也就是磁盘调度算法。

在固态硬盘中,虽然延迟比较短,但是为了优化IO处理场景,提高QoS质量,固态硬盘有IO队列优先级管理机制。比如,读的响应最快,用户对读取的过程更加敏感,一般会把读请求设为最高优先级。

针对这个问题,你有何想法呢?


在下抛砖引玉,欢迎各位看官拍砖讨论,感谢!

标签: