固态硬盘的性能阻碍——读写延迟 (固态硬盘的性能表现由多种因素所决定,主要包括)
整理分享固态硬盘的性能阻碍——读写延迟 (固态硬盘的性能表现由多种因素所决定,主要包括),希望有所帮助,仅作参考,欢迎阅读内容。
内容相关其他词:固态硬盘的性能一定低于机械硬盘吗,固态硬盘的性能表现由多种因素所决定,主要包括,固态硬盘的性能指标有哪些,固态硬盘的性能一定低于机械硬盘吗,固态硬盘的性能指标,固态硬盘的性能指标,固态硬盘的性能指标,固态硬盘的性能参数,内容如对您有帮助,希望把内容链接给更多的朋友!
了解了固态硬盘的结构之后,我们需要再认识一下主机和固态硬盘数据通信的逻辑关系。从主机的角度来看,对固态硬盘进行的*作均是逻辑上的读写内容。而从NAND闪存的角度讲,主机要求的逻辑上的读写,实际到NAND闪存后,变成了物理上的读,写,擦除等执行*作。 我们知道,固态硬盘的好坏以及用户体验集中归因于带宽,IOPS,延迟,一致性等。其中,固态硬盘的延迟,大部分原因在于NAND闪存的读写延迟造成的。 垃圾回收是固态硬盘延长寿命,减少读写次数的手段。在垃圾回收过程中,会增加数据的*,擦除等*作,所以垃圾回收也会带来一定程度的写入延迟。不过,这个写入延迟并不是直接的,而是由DRAM等造成的间接延迟。 从上图,我们可以看到,在4KB随机写,队列深度QD=1的情况下,有些固态硬盘的写入延迟超过了ms。虽然这ms并不能让我们有深刻的感觉,但对于高性能*而言,这个ms是灾难性的。 如果说,写入延迟是垃圾回收间接造成的,那么读取延迟则是垃圾回收带来的直接恶果。因为,在垃圾回收启动之后,固态硬盘的主控将需要做垃圾回收的区块中的数据*到spare区域,然后在数据*完成后再擦除整个区块的内容。这个过程影响了固态硬盘的读取速度。这也是当我们的固态硬盘在写入一段时间之后,性能会变慢的原因,因为内部启动了垃圾回收的步骤。 从上图,可以看到,在4KB随机写,队列深度QD=1的情况下,有些固态硬盘的读取延迟超过了ms。 如果对NAND闪存先发了一个readblock1page2的命令,之后接着再发个eraseBlock0的命令,这个时候,读取延迟会因为后面的erase*作增大了延迟了,此时延迟的大小基本等于NAND读取时间tR加上块擦除时间tErase. 同样,如果对NAND闪存先发了一个readblock2page3的命令,之后接着再发个programBlock0page1的命令,这个时候,读取延迟会因为后面的program*作增大了延迟了,此时延迟的大小基本等于NAND读取时间tR加上后面program的时间tPROG.