具有页位图的高效事务表制造技术

技术编号:20566382 阅读:26 留言:0更新日期:2019-03-14 09:16
描述了一种用于存储器的事务管理器。事务管理器可以包括写数据缓冲器,用于存储未完成的写请求;读数据多路复用器,用于在从存储器和写数据缓冲器读取的数据之间进行选择;命令队列和优先队列,用于存储针对存储器的请求;以及事务表,用于跟踪未完成的写请求,每个写请求与无效、已修改和已转发状态相关联。

Efficient Transaction Table with Page Bitmap

A transaction manager for memory is described. Transaction managers can include write data buffers for storing incomplete write requests; read data multiplexers for selecting between data read from memory and write data buffers; command queues and priority queues for storing requests for memory; and transaction tables for tracking incomplete write requests, with each write request invalid and modified. Associated with forwarded status.

【技术实现步骤摘要】
具有页位图的高效事务表相关申请的交叉引用本申请要求于2017年9月6日递交的美国临时专利申请No.62/554,896和2017年11月22日递交的美国专利申请No.15/821,704的优先权,其通过引用合并于此以用于所有目的。
本专利技术构思总体上涉及存储器,更具体地,涉及使用诸如去重(dedupable)存储器之类的存储器来提高读访问时间。
技术介绍
重复数据删除(Deduplicated)(或去重)存储器提供了一种更高效的存储数据的机制。在传统存储器解决方案中,每个数据对象被写入到其自己在存储器中的位置。相同的数据对象可能存储在存储器中任何数量的位置中,每个位置作为单独的副本:存储器系统无法识别或防止这种重复的数据存储。对于大的数据对象,这种重复的数据存储会很浪费。重复数据删除存储器(其仅存储任何数据对象的单个副本)尝试解决此问题。但去重存储器的延迟高且性能低。在最坏的情况下,针对单个数据执行写请求可能需要实际写入数据三次并读取数据五次。在需要存储器响应的系统中,这种高延迟可能会是一种妨碍。仍然需要一种改善存储器的响应的方法,无论是否进行重复数据删除。
技术实现思路
根据本专利技术构思的示例性实施例,一种在具有存储器的存储器子系统中使用的事务管理器,包括:写数据缓冲器,用于存储要写入存储器的未完成的写事务;读数据多路复用器,用于在从所述写数据缓冲器和所述存储器读取的数据之间进行选择;命令队列,用于存储针对所述存储器的写请求和内部读请求;优先队列,用于存储针对所述存储器的外部读请求;以及事务表,用于跟踪未完成的写请求,每个写请求与从包括无效、已修改和已转发的集合中提取的状态相关联。根据本专利技术构思的另一示例性实施例,一种方法包括:在事务管理器处接收来自主机计算机的针对存储器的请求;确定使用所述事务管理器中的写数据缓冲器是否能够满足所述请求;以及使用所述写数据缓冲器和所述存储器中的至少一个来满足所述请求。附图说明图1示出了根据本专利技术构思的实施例的操作以使用去重存储器的机器。图2示出了图1的机器的附加的细节。图3示出了图1的存储器的前端。图4示出了图1的存储器的后端。图5示出了图4的事务管理器的细节。图6示出了图5的事务表的细节。图7示出了图5的事务管理器处理来自图1的存储器的图5的前端的写请求。图8示出了图5的事务管理器处理来自图1的存储器的图5的前端的读请求。图9示出了根据本专利技术构思的实施例的用于由图5的事务管理器处理来自图1的存储器的图5的前端的读请求的示例过程的流程图。图10A至图10D示出了根据本专利技术构思的实施例的用于由图5的事务管理器处理来自图1的存储器的图5的前端的写请求的示例过程的流程图。图11示出了根据本专利技术构思的实施例的图5的事务管理器处理由图1的存储器的图5的后端完成的写事务的示例过程的流程图。具体实施方式下面具体参照本专利技术构思的实施例,实施例的示例在附图中示出。在下面的详细描述中,阐述了许多具体细节以实现对本专利技术构思的透彻理解。然而,应理解的是,本领域普通技术人员可以在没有这些具体细节的情况下实践本专利技术构思。在其他实例中,没有详细描述公知的方法、过程、组件、电路和网络,以避免不必要地使实施例的细节模糊不清。将理解的是,尽管术语第一、第二等可以在本文用于描述各种元件,但是这些元件不应该被这些术语限制。这些术语仅用来将一个元件与另一元件彼此区分。例如,在不背离本专利技术构思的范围的情况下,第一模块可以被称为第二模块,并且类似地,第二模块可以被称为第一模块。这里在本专利技术构思的描述中所使用的术语仅用于描述特定实施例的目的,而不是为了限制本专利技术构思。除非上下文另有明确说明,否则如本专利技术构思的描述和所附权利要求中使用的,单数形式“一”、“一个”和“该”也旨在包括复数形式。还应理解,如本文所使用的术语“和/或”是指并且包括一个或多个相关联的所列项目的任何一个和所有可能的组合。还应该理解的是当在本说明书中使用时,术语“包括”指定了存在所声明的特征、整数、步骤、操作、元件和/或组件,但是不排除存在或另外还有一个或多个其他特征、整数、步骤、操作、元件、组件、和/或其组合。附图中组件和特征不必按比例绘制。重复数据删除存储器存储系统的挑战之一是读、写事务放大。重复数据删除存储器的读放大可能导致主机的每次读请求对设备进行两次读取。写放大可能更糟:在最坏的情况下,来自主机的一次写事务可以被放大为三次写事务以及五次读事务。为了克服这个挑战并实现高吞吐量和低延迟,高效的事务管理器可以支持多个未完成的事务,并为写事务提供早期确认,同时支持多个读事务和读优先级以减少读延迟。为了支持读优先级、早期写确认以及多个未完成的写和读事务,事务管理器可以跟踪大量未完成的写事务地址,并且还可以保持命令以用于写事务后读取以及用于发布的写事务。事务管理器包括:用于部分写入的写合并缓冲器。读数据路径的读数据多路复用器。写数据缓冲器,用于缓冲多个未完成的写事务。事务表,用于跟踪具有无效(或空闲)/已修改/已转发状态的多个未完成的写事务/线程。命令解析器,包含用于写命令和内部读命令的命令队列(CQ)、以及用于主机读事务的优先队列(PQ)。事务管理器是中央控制器机制,其通过以下方式管理多个未完成的写和读事务/线程:支持可配置的写早期确认机制。通过存储写事务数据并跟踪无效/已修改/已转发的写事务阶段,来将发布的存储器写入保持为完整且有序。通过维护RAW(写后读)顺序来支持具有低延迟优先级的读事务。写数据缓冲器(WDB)包含已向主机确认的未完成的写入。因此,需要正确且高效地管理WDB中的写数据条目,以支持多个事务/线程以实现高吞吐量和低延迟。事务管理器以页粒度跟踪状态,以便在未完成的页中进行快速搜索和插入。此方案优化DMA或突发写事务,而不是随机写事务。页状态包含几种可能的状态:无效:空条目或数据无效。已修改:包含尚未写入到“后端”存储器存储的有效数据的条目。在本申请的上下文中,术语“后端”和“前端”(以下使用)并不意味着存储器的组件之间存在任何物理分离,而是识别主机处理器和事务管理器之间的存储器子系统的部分(“前端”)、以及位于事务管理器的与主机处理器相对的一侧上的存储器子系统的部分(“后端”)。就事务管理器而言,系统的其他组件(包括存储器子系统的其他部分)的操作可能被视为黑盒子,其物理布局和内部操作可能不为事务管理器所知。已转发:包含已被发送到后端存储器存储但尚未从后端确认的有效数据在内的条目。可以在事务表ST[1:0]字段中跟踪页状态。事务管理器包含事务表,该事务表中包含用于快速搜索的页位图和未完成页。事务表可以跟踪N×M个高速缓存行事务(N页且每页M个条目)。字段:整页(FP):0:页没有被条目完全填满;1:页被条目完全填满。状态(ST[1:0]):2′b00:无效。2′b01:已修改。2′b10:已转发。2′b11:失败。注意,同一页中的所有条目共享相同的页状态。因此,同一页中的所有条目将同时被转发到后端。对于失败的事务,将在事务管理器状态寄存器中跟踪失败的信息。事务ID(TID):当被发送到后端时分配给数据的事务ID。注释:对于部分字段页,TID是第一个条目的TID。可以将增量TID分配给同一页中的其余条目。页头逻辑地址(LA):页本文档来自技高网...

【技术保护点】
1.一种在具有存储器的存储器子系统中使用的事务管理器,包括:写数据缓冲器,用于存储要写入存储器的未完成的写事务;读数据多路复用器,用于在从所述写数据缓冲器和所述存储器读取的数据之间进行选择;命令队列,用于存储针对所述存储器的写请求和内部读请求;优先队列,用于存储针对所述存储器的外部读请求;以及事务表,用于跟踪未完成的写请求,每个写请求与从包括无效、已修改和已转发的集合中提取的状态相关联。

【技术特征摘要】
2017.09.06 US 62/554,896;2017.11.22 US 15/821,7041.一种在具有存储器的存储器子系统中使用的事务管理器,包括:写数据缓冲器,用于存储要写入存储器的未完成的写事务;读数据多路复用器,用于在从所述写数据缓冲器和所述存储器读取的数据之间进行选择;命令队列,用于存储针对所述存储器的写请求和内部读请求;优先队列,用于存储针对所述存储器的外部读请求;以及事务表,用于跟踪未完成的写请求,每个写请求与从包括无效、已修改和已转发的集合中提取的状态相关联。2.根据权利要求1所述的事务管理器,还包括:写合并缓冲器,用于将部分写请求与其他数据合并,所述其他数据是从包括所述存储器中的数据和所述写数据缓冲器中的数据在内的集合中提取的。3.根据权利要求1所述的事务管理器,其中,所述事务管理器支持在由所述存储器完成对来自主机计算机的写请求之前对所述写请求的早期确认。4.根据权利要求1所述的事务管理器,其中,所述存储器包括去重存储器。5.根据权利要求1所述的事务管理器,其中,所述事务表包括至少一个条目,每个条目包括页状态、事务标识符ID、页逻辑地址和条目位图。6.一种方法,包括:在事务管理器处接收来自主机计算机...

【专利技术属性】
技术研发人员:姜冬岩郑宏忠
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国,KR

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

1