跟踪对于介质控制器的写入请求制造技术

技术编号:20285113 阅读:33 留言:0更新日期:2019-02-10 17:45
本申请公开了跟踪对于介质控制器的写入请求。在一些示例中,跟踪器接收写入请求,该写入请求一旦由目的介质控制器接收就被确认而不等待与该写入请求相关联的写入数据完成持久化。响应于标识符还没有存在于跟踪结构中,跟踪器向跟踪结构添加目的介质控制器的标识符。跟踪器向由跟踪结构识别的介质控制器发送存留写入操作的请求。

Tracking Write Request for Media Controller

This application discloses a tracking write request for a medium controller. In some examples, the tracker receives a write request that is acknowledged once it is received by the destination media controller without waiting for the write data associated with the write request to complete persistence. In response to the fact that the identifier does not exist in the tracking structure, the tracker adds an identifier of the destination medium controller to the tracking structure. The tracker sends a request for a retention write operation to the medium controller identified by the tracking structure.

【技术实现步骤摘要】
跟踪对于介质控制器的写入请求
技术介绍
除其他设备之外,系统能够包括处理器和存储器(或多个处理器和/或多个存储器)。处理器能够向存储器发出存取请求。能够使用非持久化(或易失性)存储设备和/或持久化(或非易失性)存储设备来实施存储器。非持久化存储设备的示例包括动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)等等。持久化存储设备的示例包括闪速存储设备、忆阻器存储设备、相变存储设备、电可擦除且可编程只读存储器(EEPROM)设备等等。附图说明关于随后的图描述了本公开的一些实施方式。图1是根据一些示例的系统的框图。图2是根据一些示例的跟踪器和跟踪结构的框图。图3是根据另外的示例的标准写入请求处理的流程图。图4是根据一些示例的逐出处理的流程图。图5是根据一些示例的提交处理的流程图。图6是根据一些示例的写入请求处理的流程图。图7是根据另外的示例的系统的框图。遍及附图,相同的附图标记指定类似的、但是不一定相同的要素。图不一定按比例,并且一些部分的尺寸可以被夸大以更清楚地图示出所示出的示例。而且,附图提供按照描述的示例和/或实施方式;然而,描述不局限于在附图中提供的示例和/或实施方式。具体实施方式在本公开中,使用术语“一”,或“该”意图也包括复数形式,除非上下文清楚地另外指出其他。而且,当在本公开中使用时,术语“包括”、“包括有”、“包含”、“包含有”、“具有”或“具备”指定所陈述的要素的存在,但是不排除存在或添加其他要素。能够由处理器或诸如输入/输出(I/O)设备之类的其他请求者向介质控制器发出管理对应的存储设备的存取的写入请求。存储设备能够包括持久化存储设备和非持久化存储设备。当从持久化存储设备移除功率时,持久化存储设备维持其存储的内容(即,不丢失存储的内容)。另一方面,当从非持久化存储设备移除功率时,非持久化存储设备丢失其存储的内容。第一类型的写入请求(在随后的讨论中被称为“标准写入请求”)由介质控制器确认而不等待与写入请求相关联的写入数据完成持久化的。换句话说,一旦介质控制器接收标准写入请求并且已经为了将来的持久化对其进行排队,即使写入数据可能还没有被存留(即,被持久地存储)在持久化存储设备中,介质控制器能够向请求者发送回确认。响应于对标准写入请求的确认,请求者不能确信用于标准写入请求的写入数据已经被持久地存储。在介质控制器已经完成了将用于持久化写入请求的数据写入到持久化存储设备之后,由介质控制器确认第二类型的写入请求(在随后的讨论中被称为“持久化写入请求”)。响应于对持久化写入请求的确认,请求者能够证实用于持久化写入请求的写入数据已经被持久地存储。能够由请求者发送的另一请求是持久化刷新请求,该请求是使请求者的所有先前未决的标准写入请求被存留的请求,并且该请求由介质控制器仅在响应于所有这样的先前未决的标准写入已经完成持久化时进行确认。响应于持久化刷新请求,介质控制器进行检查以确保所有先前未决的标准写入请求的写入数据已经被持久地存储,并且然后响应于确定所有先前未决的标准写入请求的写入数据已经被持久地存储来向请求者发送单个确认。尽管使用持久化写入请求允许请求者以独立的写入请求为基础来接收确认,但发出大量持久化写入请求能够使总体系统操作慢下来,因为介质控制器不得不在介质控制器能够向请求者发送回确认之前等待对应的写入数据被存留(这能够涉及对相对慢的持久化存储设备进行写入)。尽管具有持久化发布缓冲器的介质控制器能够在向持久化发布缓冲器(与持久化存储设备相比其具有更高的存取速度)发布持久化写入请求时发送对持久化写入请求的确认,与具有非持久化发布缓冲器的介质控制器相比,具有持久化发布缓冲器的介质控制器通常更昂贵。因此,实施具有包括持久化发布缓冲器地许多介质控制器的大型系统能够导致大型系统的增加的总成本。与使用持久化写入请求相比较,使用后面是持久化刷新请求的标准写入请求能够导致改善的系统性能和/或较低的系统实现成本。通过使用单个持久化刷新请求,仅一个每介质控制器组构请求用于跟踪多个先前的标准写入请求的持久化,而不是涉及在跟踪多个标准写入请求的完成的多个请求。因此,持久化的请求者未决实现所占用的跟踪资源的数量大大减小。必须向先前已经向其发送标准写入请求的所有介质控制器发出持久化刷新请求。然而,系统可能不知道哪些介质控制器是标准写入请求的接收方,因此可能必须向系统中的所有介质控制器广播持久化刷新请求。在网络带宽和系统资源消耗的角度上,在具有大量介质控制器的系统中向所有介质控制器广播持久化刷新请求可能是离谱地昂贵。根据本公开的一些实施方式,跟踪器能够用于对于给定请求者高效地跟踪自从由给定请求者发送持久化刷新请求的最后的时间起已经向其发送标准写入请求的介质控制器。跟踪器使用能够存储已经向其发送标准写入请求的介质控制器的标识符的跟踪结构(列表、表格的形式或任何其他类型的数据结构)。在能够包括大量介质控制器的系统中,跟踪结构可能具有不允许跟踪结构存储所有可能的介质控制器的标识符的尺寸。实施足够大以存储大型系统中的所有可能的介质控制器的标识符的跟踪结构,可能是不切实际的。而且,就系统资源使用而言,管理大型跟踪结构能够与较高的开销相关联。为了证实给定请求者的所有未决的标准写入请求的持久化,跟踪器能够仅仅向由跟踪结构识别的介质控制器发送持久化刷新请求(而不是向系统中的所有介质控制器广播持久化刷新请求)。在许多情况下,小的跟踪结构能够跟踪已经向其发送标准写入请求的介质控制器而不溢出,这是因为请求者通常不向大量介质控制器发送写入请求。然而,如果跟踪结构变满,提供机制来解决跟踪结构的溢出情况。而且,能够提供机制来检测跟踪结构的几乎满的条件,并且响应于几乎满的条件采取行动来减少跟踪结构中的条目的数量。图1是包括处理器102和存储器控制器104的示例系统的框图。存储器控制器104能够和处理器102分开,但是(直接地或通过另一设备)连接到处理器102。替换地,存储器控制器104能够是处理器102的一部分。处理器能够包括微处理器、多核微处理器的核、微控制器、可编程集成电路、可编程门阵列、系统芯片(SoC)或另一硬件处理电路。尽管图1示出仅仅一个处理器102和对应的存储器控制器104,但在其他的示例中,能够存在多个处理器和相应的存储器控制器,或更一般地说,多个请求者和相应的存储器控制器。请求者能够指的是能够存取存储设备的数据的诸如处理器、I/O设备等等的任何设备。在一些示例中,在请求者和存储器控制器之间能够存在一一对应。在其他的示例中,请求者能够经由多个存储器控制器附接到存储器组构,或多个请求者可以经由单个共享的存储器控制器附接到存储器组构。系统进一步包括管理相应的存储设备108的存取的介质控制器106。存储设备108能够指的是独立的存储器集成电路(IC)芯片,或指的是具有多个存储器IC芯片的存储器模块。更一般地说,存储设备能够指的是在一个IC芯片或多个IC芯片上,或在一个电路板或多个电路板上实施的存储器元件的任何布置。介质控制器指的是能够向满足存储设备的时序和协议规范的存储设备发出存取命令的控制器。协议规范能够以被激活以引起包括读取操作、写入操作的对应的存储器存取操作,或涉及存储设备的存储器元件(或者存储器元件的组)的存取的任何其本文档来自技高网...

【技术保护点】
1.一种设备,包括:跟踪器,用于:接收写入请求,所述写入请求一旦由目的介质控制器接收就被确认而不等待与所述写入请求相关联的写入数据完成持久化;响应于所述目的介质控制器的标识符还没有存在于跟踪结构中,向所述跟踪结构添加所述标识符;以及向由所述跟踪结构识别的介质控制器发送用于存留写入操作的请求。

【技术特征摘要】
2017.07.27 US 15/661,3231.一种设备,包括:跟踪器,用于:接收写入请求,所述写入请求一旦由目的介质控制器接收就被确认而不等待与所述写入请求相关联的写入数据完成持久化;响应于所述目的介质控制器的标识符还没有存在于跟踪结构中,向所述跟踪结构添加所述标识符;以及向由所述跟踪结构识别的介质控制器发送用于存留写入操作的请求。2.根据权利要求1所述的设备,其中,所述跟踪器用于:确定所述写入请求的目标是否为持久化存储区域,以及响应于确定所述写入请求的目标是持久化存储区域、并且所述目的介质控制器的标识符还没有存在于所述跟踪结构中,向所述跟踪结构添加所述标识符。3.根据权利要求2所述的设备,其中,所述跟踪器用于进一步:接收对于另外的目的介质控制器的另外的写入请求;确定所述另外的写入请求的目标是否为持久化存储区域;并且响应于确定所述另外的写入请求的目标不是持久化存储区域,响应于所述另外的写入请求拒绝更新所述跟踪结构。4.根据权利要求1所述的设备,其中,所述跟踪器用于:确定所述跟踪结构是否是满的;并且响应于确定所述跟踪结构不是满的,向所述跟踪结构添加所述目的介质控制器的标识符。5.根据权利要求4所述的设备,其中,所述跟踪器用于进一步:接收对于另外的目的介质控制器的另外的写入请求;响应于确定所述跟踪结构是满的,生成持久化写入请求来代替所述另外的写入请求;并且向所述另外的目的介质控制器发送所述持久化写入请求来代替所述另外的写入请求。6.根据权利要求1所述的设备,其中,所述跟踪器用于进一步:接收对于所述目的介质控制器的另外的写入请求;确定所述目的介质控制器的标识符是否已经在所述跟踪结构中;并且响应于确定所述目的介质控制器的标识符已经在所述跟踪结构中,响应于所述另外的写入请求拒绝更新所述跟踪结构。7.根据权利要求1所述的设备,其中,所述跟踪器用于进一步:确定所述跟踪结构是否处于满的阈值内;并且响应于确定所述跟踪结构处于所述满的阈值内,向由所述跟踪结构识别的至少一个介质控制器发送用于存留写入操作的请求。8.根据权利要求7所述的设备,其中,所述跟踪器用于进一步:基于预先确定的策略来选择所述至少一个介质控制器的标识符。9.根据权利要求1所述的设备,其中,所述跟踪器用于进一步:接收由请求者发出的用于提交先前的写入操作的请求;并且响应于接收所述用于提交先前的写入操作的请求,向由所述跟踪结构识别的所述介质控制器发送用于存留写入操作的请求。10.根据权利要求1所述的设备,其中,所述跟踪器用于:在所述用于存留写入操作的请求未决时,接收对于所述目的介质控制器的另外的写入请求;生成持久化写入请求来代替所述另外的写入请求;并且向所述目的介质控制器发送所述持久化写入请求来代替所述另外的写入请求。11.一种控制器的方法,包括:接收写入请求,所述写入请求一旦...

【专利技术属性】
技术研发人员:德雷克·艾伦·舍洛克
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:美国,US

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

1