存储设备的增强的预读能力制造技术

技术编号:32616064 阅读:16 留言:0更新日期:2022-03-12 17:44
本发明专利技术题为“存储设备的增强的预读能力”。在数据存储的背景下,一种在读取请求之前预先获取数据的方法涉及接收读取请求和下一个读取请求,以及用对应于该下一个读取请求的下一个数据存储地址更新对应于该读取请求的元数据。响应于稍后再次接收到该读取请求,可从读取请求元数据读取该下一个数据存储地址,并且可在处理下一个读取请求之前从该下一个数据存储地址预先获取下一个数据。此外,在另一个传入的下一个读取请求前,可以在读取队列空闲时间期间预先获取该下一个数据并且将其存储在高速缓存缓冲器中,响应于此,该下一个数据可以从该缓冲器而不是从非易失性存储器的读取被返回给主机。取被返回给主机。取被返回给主机。

【技术实现步骤摘要】
存储设备的增强的预读能力
[0001]相关申请的交叉引用
[0002]本申请是2018年6月19日提交的美国专利申请号16/012,311的部分继续申请并且要求其优先权权益,该美国专利申请的全部内容以引用方式并入本文以用于所有目的,如同在本文中完整阐述一样。


[0003]本公开的各方面涉及存储设备领域,并且更具体地,涉及提高读取操作速度的增强的预读能力。

技术介绍

[0004]随着中央处理单元、图形处理器和其他处理元件的速度提升,存储设备已经成为影响计算系统的总体性能的瓶颈。固态驱动器(SSD)相对于硬盘驱动器(HDD)运行的速度在一定程度上缓解了该问题。无论如何,给定的SSD仍然可以拖慢主机速度,并且不同SSD的性能彼此间可大不相同。
[0005]可基于多种因素来评估存储设备的相对性能,诸如给定设备的容量及其读取和写入速度。虽然大多数的写入速度随时间推移得到了提升,但是读取时间一直是限制存储设备性能的关键因素。顺序读取技术在一定程度上提升了速度,如提高了切换速率,但以增大的功率消耗为代价。
[0006]随机读取对加快速度的目标提出了特定的挑战。与允许从介质上的相邻位置读取大的连续数据块的顺序读取相比,随机读取寻求散布在介质上的各种非相邻位置上的数据。因此,随机读取在读取进程中引入了延迟,这影响存储设备和与其相关联的主机的总体性能。

技术实现思路

[0007]本文公开了一种预读技术以提高存储设备读取数据的速度。可将用于给定写入操作的数据写入存储装置,使得下一次写入的位置与数据一起存储。稍后,当从存储装置读取数据时,可以从与数据一起写入的下一次写入的位置预先获取其他数据。如果下一个位置是后续读取操作的目标,则可以立即将其他数据返回给主机,因为已经从存储所述数据的位置读取了所述数据。因此,该进程加快了后续读取操作。
[0008]在数据存储的背景下,一种在读取请求之前预先获取数据的方法涉及接收读取请求和下一个读取请求,以及用对应于该下一个读取请求的下一个数据存储地址更新对应于该读取请求的元数据。响应于稍后再次接收到该读取请求,可从读取请求元数据读取该下一个数据存储地址,并且可在处理下一个读取请求之前从该下一个数据存储地址预先获取下一个数据。此外,在另一个传入的下一个读取请求前,可以在读取队列空闲时间期间预先获取该下一个数据并且将其存储在高速缓存缓冲器中,响应于此,该下一个数据可以从该缓冲器而不是从非易失性存储器的读取被返回给主机。
附图说明
[0009]参考以下附图可以更好地理解本公开的许多方面。附图中的部件未必按比例绘制,而是将重点放在清楚地示出本公开的原理。此外,在附图中,贯穿几个视图,相似的附图标号指代对应的部分。尽管结合这些附图描述了若干实施方案,但本公开并不限于本文所公开的实施方案。相反,其旨在涵盖所有另选方案、修改和等同物。
[0010]图1示出了具体实施中的计算系统。
[0011]图2示出了具体实施中的写入进程。
[0012]图3示出了具体实施中的读取进程。
[0013]图4示出了具体实施中的可操作场景。
[0014]图5示出了具体实施中的计算系统。
[0015]图6示出了具体实施中的写入进程。
[0016]图7示出了具体实施中的读取进程。
[0017]图8示出了具体实施中的可操作架构。
[0018]图9A至图9B示出了具体实施中的可操作架构。
[0019]图10示出了具体实施中的功率控制进程。
[0020]图11示出了具体实施中的简化的计算系统架构。
[0021]图12示出了具体实施中的减少读取时间的方法。
[0022]图13示出了具体实施中的预先获取数据的方法。
[0023]图14示出了具体实施中的将数据预先获取到读取队列的方法。
具体实施方式
[0024]本文公开了具有增强的预读能力的改进的存储设备。在各种具体实施中,通过预测在给定的读取操作之后接下来将读取哪个地址来减少读取时间(并且提升速度)。可以在针对地址的后续读取请求之前预先获取该地址处的数据。
[0025]预测地址可以从关于写入命令出现在队列中时的写入命令所保存的信息导出。此类地址跟踪在读取每个地址期间可用作对下一个读取命令的预测器。在一个示例中,从先前读取操作的有效载荷获得预测地址。即,在写入操作的前期,下一次写入的地址可与给定写入的有效载荷中的数据一起被写入存储装置。稍后,当该有效载荷是读取请求的主题时,可解析其有效载荷以获得下一个写入地址的地址。然后该下一个写入地址可被用作下一个/预测的读取地址。
[0026]这样,预测地址处的数据可以在可能指向相同地址的任何后续读取之前被预先获取。可以在相关读取前对数据进行缓冲。如果下一个读取请求指向预测地址,则可以立即返回缓冲数据,而不必等待读取操作。如果下一次读取不指向预测地址,则可以丢弃数据。
[0027]获得下一个写入命令的地址是可能的,因为由于在介质上对数据进行编程所花费的时间量,在执行给定写入时队列中具有其他写入命令的概率很高。相反,由于读取与写入的相对速度,在队列中具有其他读取请求的概率很低。因此,预测该下一次读取是有用的,因为在读取期间读取队列可能为空。
[0028]在一些具体实施中,由于增强的预读,功率消耗可能增大,因为并非所有预测都将是成功的。减少冗余开销和额外功率消耗的对策是跟踪所提出的上述预测的成功率。当成
功率高于某个阈值时,可以有条件地启用预测读取,并且当成功率低于阈值时,可以禁用预测读取。
[0029]在各种具体实施中,存储设备可以是例如固态驱动器(SSD)、硬盘驱动器(HDD)、混合SSD

HDD或任何其他类型的存储设备。该设备包括控制器,该控制器监督如何将数据写入介质以及如何从介质读取数据,所述介质为诸如基于NAND的闪存存储器、动态随机存取存储器(DRAM)、磁数据存储装置、光学数据存储装置和/或任何其他类型的存储技术。
[0030]控制器可以硬件、固件、软件或它们的组合来实施,并且将设备的存储器部件桥接到主机。在硬件具体实施中,控制器包括耦接到存储介质的控制电路。控制电路包括从主机接收写入请求的接收电路。每个写入请求包括作为写入请求主题的数据,以及数据的目标地址。目标地址可以是逻辑块地址(LBA)、物理块地址(PBA)或描述存储数据的位置的其他此类标识符。
[0031]控制电路还包括位置电路,该位置电路标识在较早的写入请求之后的下一个写入请求的下一个写入地址。控制电路中的写入电路将用于写入请求的数据和下一个写入地址的指示写入用于写入请求的目标地址。换句话讲,将作为写入请求主题的数据与下一个写入请求的地址一起写入存储装置。如本文所用,“指示”是指标识或可用于确定随后将存储在介质上的该组数据的位置的任何数据值、位、值、信号、标记、条件、偏移量、代码或数字。
[0032]在简短的示例中,正在写入的4个字节的16kb的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种电子设备,包括:非易失性存储介质;读取队列;和控制电路,所述控制电路耦接到所述非易失性存储介质并且被配置为:从主机接收读取请求,所述读取请求包括对应的数据存储地址,并且将所述读取请求放置在所述读取队列中;从所述主机接收下一个读取请求,所述下一个读取请求包括对应的下一个数据存储地址,并且将所述下一个读取请求放置在所述读取队列中;以及用来自所述下一个读取请求的所述下一个数据存储地址更新所述非易失性存储介质中对应于所述读取请求的元数据。2.根据权利要求1所述的装置,其中所述控制电路被进一步配置为:响应于再次从所述主机接收到所述读取请求,从所述非易失性存储介质读取来自对应于所述读取请求的所述元数据的所述下一个数据存储地址;以及在处理下一个读取请求之前,从所述下一个数据存储地址获取下一个数据。3.根据权利要求1所述的装置,其中所述控制电路被进一步配置为:响应于出现对应于所述读取队列的空闲处理时间,从所述下一个数据存储地址获取所述下一个数据。4.根据权利要求1所述的装置,其中所述更新所述非易失性存储介质中对应于所述读取请求的元数据基于并且响应于所述下一个读取请求,而不包括写入请求。5.根据权利要求1所述的装置,其中在对应于所述读取请求的所述元数据中更新的所述下一个数据存储地址是对应于所述下一个读取请求的逻辑块地址(LBA)。6.根据权利要求1所述的装置,其中所述控制电路被进一步配置为:将来自所述下一个数据存储地址的所述下一个数据放置在高速缓存缓冲器中。7.根据权利要求6所述的装置,其中所述控制电路被进一步配置为:响应于再次从所述主机接收到所述下一个读取请求,将来自所述高速缓存缓冲器的所述下一个数据返回给所述主机。8.根据权利要求1所述的装置,其中所述控制电路被进一步配置为:其中所述更新所述元数据包括利用读取

修改

写入命令将所述下一个数据存储地址写入所述非易失性存储介质。9.根据权利要求1所述的装置,其中所述控制电路被进一步配置为:基于与所述读取请求中的每一个读取请求相对应的应用程序标识符,对来自一个或多个主机的读取请求进行排序;并且其中仅响应于所述读取请求和对应于相同的应用程序标识符的所述下一个读取请求两者,用所述下一个数据存储地址更新所述非易失性存储介质中对应于所述读取请求的所述元数据。10.根据权利要求9所述的装置,其中所述控制电路被进一步配置为:执行对应于每个不同应用程序标识符的相应的跟踪器进程,以更新与对应于每个相应的应用程序标识符的读取请求相对应的所述元数据。
11.根据权利要求1所述的装置,其中所述装置为数据存储设备。12...

【专利技术属性】
技术研发人员:S
申请(专利权)人:西部数据技术公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1