扩展LBA环境中的有效TLP分片制造技术

技术编号:32852386 阅读:5 留言:0更新日期:2022-03-30 19:11
本公开整体涉及数据存储设备中的有效传输层数据包(TLP)分片。对于来自主机流的未对齐读取,将足以对齐的数据量从主机传输到存储器设备,同时将数据的其余部分存储在数据存储设备的高速缓存中以稍后递送到存储器设备。对于对主机流的未对齐写入,将未对齐数据写入高速缓存,并且稍后高速缓存将被刷新到主机设备。在这两种情况下,虽然总数据将不对齐,但数据的一部分被放置在高速缓存中,使得未放置在高速缓存中的数据对齐。高速缓存中的数据在稍后的时间点递送。后的时间点递送。后的时间点递送。

【技术实现步骤摘要】
扩展LBA环境中的有效TLP分片
[0001]相关申请的交叉引用
[0002]本申请要求2020年9月25日提交的美国临时专利申请序列号63/083,647的权益,该美国临时专利申请以引用方式并入本文。

技术介绍


[0003]本公开的实施方案整体涉及数据存储设备中的有效传输层数据包(TLP)分片。
[0004]相关领域的描述
[0005]元数据是基于每个逻辑块分配的附加数据。对主机设备如何使用元数据区域没有要求。元数据的最常见用途之一是传送端到端保护信息。
[0006]元数据可由控制器以两种方式中的一种方式传输往来于主机设备。当名称空间被格式化时,选择所使用的机制。用于传输元数据的一种机制是作为与元数据相关联的逻辑块的连续部分。元数据在相关联的逻辑块的末尾传输,从而形成扩展的逻辑块,如图1所示。
[0007]在支持无序数据传输时,扩展逻辑块地址(LBA)格式在数据传输中设立了重大挑战。图2示出了简单示例中的问题。在该示例中,存储器页面大小表示主机设备DRAM中的每个缓冲区的大小并且被设置为4KB。LBA大小也被设置为4KB,而元数据大小为16字节。主机设备发送读/写命令并且总传输大小为三个LBA,这意味着以下应在PCIe总线上传输:LBA A、元数据A、LBA B、元数据B、LBA C和元数据C。如图2所示,对于该命令,需要四个主机设备缓冲区。第一缓冲区保存LBA A。第二缓冲区保存元数据A加上LBA B的第一部分。第三缓冲区保存LBA B的尾部、元数据B和LBA C的第一部分。最后的缓冲区保存LBA C的尾部和元数据C。
[0008]在无序数据传输中,数据存储设备可能需要首先传输LBA B和元数据B。在这种情况下,将通过PCIe总线发出未优化数据包以进行未对齐的传输。稍后,数据存储设备可能需要传输LBA A和元数据A。同样,数据存储设备将发出未优化数据包以仅从第二缓冲区传输元数据。
[0009]因此,本领域需要传输层数据包(TLP)分片优化。

技术实现思路

[0010]本公开整体涉及数据存储设备中的有效传输层数据包(TLP)分片。对于来自主机流的未对齐读取,将足以对齐的数据量从主机传输到存储器设备,同时将数据的其余部分存储在数据存储设备的高速缓存中以稍后递送到存储器设备。对于对主机流的未对齐写入,将未对齐数据写入高速缓存,并且稍后高速缓存将被刷新到主机设备。在这两种情况下,虽然总数据将不对齐,但数据的一部分被放置在高速缓存中,使得未放置在高速缓存中的数据对齐。高速缓存中的数据在稍后的时间点递送。
[0011]在一个实施方案中,一种数据存储设备包括:一个或多个存储器设备;和控制器,
该控制器耦接到该一个或多个存储器设备,其中该控制器被配置为:接收来自主机请求的读取;确定该来自主机请求的读取超过最大有效载荷大小(MPS);将该请求的地址和大小与该MPS对齐以创建对齐的请求;为该来自主机请求的读取分配高速缓存缓冲区存储空间;将该对齐的请求发送至主机设备;接收超过该对齐的请求的该MPS的返回数据;以及将该返回数据存储在所分配的高速缓存中。
[0012]在另一个实施方案中,一种数据存储设备包括:一个或多个存储器设备;接口模块;和控制器,该控制器耦接到该一个或多个存储器设备,其中该控制器被配置为:通过该接口模块接收主机请求;确定该主机请求未对齐;以及从高速缓存检索数据。
[0013]在另一个实施方案中,一种数据存储设备包括:一个或多个存储器设备;用于确定来自主机设备的未对齐的访问请求的接口装置;以及控制器,该控制器耦接到该一个或多个存储器设备。
附图说明
[0014]因此,通过参考实施方案,可以获得详细理解本公开的上述特征的方式、本公开的更具体描述、上述简要概述,所述实施方案中的一些在附图中示出。然而,应当注意的是,附图仅示出了本公开的典型实施方案并且因此不应视为限制其范围,因为本公开可以允许其他同等有效的实施方案。
[0015]图1是扩展逻辑块地址(LBA)的示意图。
[0016]图2是数据缓冲区示例的示意图。
[0017]图3是根据一个实施方案的存储系统的示意图。
[0018]图4是示出根据一个实施方案的写入命令处理的方法的流程图。
[0019]图5是示出根据一个实施方案的读取命令处理的方法的流程图。
[0020]图6A和6B是示出根据多个实施方案的高速缓存刷新的方法的流程图。
[0021]为了有助于理解,在可能的情况下,使用相同的参考标号来表示附图中共有的相同元件。可以设想是,在一个实施方案中公开的元件可以有利地用于其他实施方案而无需具体叙述。
具体实施方式
[0022]在下文中,参考本公开的实施方案。然而,应当理解的是,本公开不限于具体描述的实施方案。相反,思考以下特征和元件的任何组合(无论是否与不同实施方案相关)以实现和实践本公开。此外,尽管本公开的实施方案可以实现优于其他可能解决方案和/或优于现有技术的优点,但是否通过给定实施方案来实现特定优点不是对本公开的限制。因此,以下方面、特征、实施方案和优点仅是说明性的,并且不被认为是所附权利要求书的要素或限制,除非在权利要求书中明确地叙述。同样地,对“本公开”的引用不应当被解释为本文公开的任何专利技术主题的概括,并且不应当被认为是所附权利要求书的要素或限制,除非在权利要求书中明确地叙述。
[0023]本公开整体涉及数据存储设备中的有效传输层数据包(TLP)分片。对于来自主机流的未对齐读取,将足以对齐的数据量从主机传输到存储器设备,同时将数据的其余部分存储在数据存储设备的高速缓存中以稍后递送到存储器设备。对于对主机流的未对齐写
入,将未对齐数据写入高速缓存,并且稍后高速缓存将被刷新到主机设备。在这两种情况下,虽然总数据将不对齐,但数据的一部分被放置在高速缓存中,使得未放置在高速缓存中的数据对齐。高速缓存中的数据在稍后的时间点递送。
[0024]图1是扩展逻辑块地址(LBA)的示意图。元数据是基于每个逻辑块分配的附加数据,其中元数据可以是关于相关联的用户数据的信息。例如,元数据可传送相关联用户数据的端到端保护信息。在一个示例中,元数据可作为逻辑块的连续部分的一部分由数据存储设备的控制器传输往来于主机设备。元数据可在相关联的逻辑块的末尾被传输,其中逻辑块和相关联的元数据形成扩展的逻辑块。
[0025]扩展LBA包括第一数据缓冲区,该第一数据缓冲区包括第一物理区域页面(PRP)PRP1和第二PRP PRP2。扩展LBA中的每个LBA包括相关联的元数据。例如,第一LBA n元数据与第一LBA n数据的数据相关联,并且第二LBA n+1元数据与第二LBA n+1数据的数据相关联。应当理解,扩展LBA可具有任何适当数量的LBA数据和LBA元数据对,并且所示数量并非旨在进行限制,而是用于提供可能实施方案的示例。
[0026]图2是数据缓冲区示例的示意图。图1的各方面可类似于图2的数据缓冲区示例。当将扩展的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储设备,所述数据存储设备包括:一个或多个存储器设备;和控制器,所述控制器耦接到所述一个或多个存储器设备,其中所述控制器被配置为:接收来自主机请求的读取;确定所述来自主机请求的读取超过最大有效载荷大小(MPS);将所述请求的地址和大小与所述MPS对齐以创建对齐的请求;为所述来自主机请求的读取分配高速缓存缓冲区存储空间;将所述对齐的请求发送至主机设备;接收超过所述对齐的请求的所述MPS的返回数据;以及将所述返回数据存储在所分配的高速缓存中。2.根据权利要求1所述的数据存储设备,其中所述控制器被进一步配置为将所述返回数据从所分配的高速缓存存储空间递送到所述一个或多个存储器设备。3.根据权利要求2所述的数据存储设备,其中所述控制器被进一步配置为请求来自所分配的高速缓存缓冲区存储空间的所述返回数据。4.根据权利要求3所述的数据存储设备,其中所述返回数据响应于所述请求递送到所述一个或多个存储器设备。5.根据权利要求1所述的数据存储设备,其中所述控制器被进一步配置为确定所述来自主机请求的读取是否为高速缓存命中。6.根据权利要求5所述的数据存储设备,其中所述控制器被进一步配置为当所述来自主机请求的读取为高速缓存命中时从所分配的高速缓存读取数据。7.根据权利要求1所述的数据存储设备,其中所述控制器被进一步配置为确定所述来自主机请求的读取是否为高速缓存行粒度。8.根据权利要求7所述的数据存储设备,其中所述控制器被进一步配置为当确定所述来自主机请求的读取为高速缓存行粒度时,在不使用所述高速缓存缓冲区存储的情况下处理所述来自主机请求的读取。9.一种数据存储设备,所述数据存储设备包括:一个或多个存储器设备;接口模块;和控制器,所述控制器耦接到所述一个或多个存储器设备,其中所述控制器被...

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

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

1