从缓存存储器清除脏数据制造技术

技术编号:12568499 阅读:41 留言:0更新日期:2015-12-23 11:26
本文所公开的是一种用于减少输入和输出事务的系统、非暂时性计算机可读介质和方法。确定第一组脏数据、第二组脏数据及其之间的数个数据块是否可以利用一个事务清除。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】从缓存存储器清除脏数据缓存存储器可以由存储控制器用于减少去往和来自存储单元的输入和输出事务的数目。缓存存储器可以依照逻辑块寻址(“LBA”)布置,使得其中的数据块被线性或顺序寻址。数据块可以划分成多个缓存线。【附图说明】图1是依照本公开的各方面的示例系统的框图。图2是依照本公开的各方面的示例方法的流程图。图3是依照本公开的各方面的工作示例。图4是依照本公开的各方面的另一工作示例。【具体实施方式】如以上所指出的,线性寻址的缓存存储器块可以划分成多个缓存线。每一个缓存线可以具有指示缓存线中的数据块是否包含有效数据(“有效位”)或者数据块是否包含脏数据(“脏位”)的与其相关联的元数据位。在一个示例中,脏数据可以定义为自其从存储装置缓存以来已经被更改使得缓存中的数据块比其在存储装置中的对应块更加新的数据块。缓存放置模块可以用于确定应当将哪些数据块从缓存存储器写入到存储装置以便为新的数据腾出空间。这样的模块可以搜索没有脏数据的缓存线并且可以利用新的数据盖写其中的块。如果缓存放置模块不能定位没有脏数据的缓存线,存储控制器可能需要在其可以利用新的数据盖写脏数据之前从缓存线“清除(flush)”脏数据。在一个示例中,清除事务可以定义为将脏数据从缓存存储器写回到存储装置。不幸的是,这些清除事务可能阻碍存储单元的总体性能。存储单元的性能可能取决于控制器能够多快从缓存存储器清除脏数据。沉重的工作负载可能导致在存储装置中执行的读取/写入事务中的大幅增加。进而,由事务中的增加所导致的性能中的退化对于将数据写入到存储装置和从存储装置读取数据的应用而言可能成问题。鉴于前文,本文所公开的是一种用于减少输入和输出事务的系统、非暂时性计算机可读介质和方法。在一个示例中,确定第一组脏数据块、第二组脏数据块及其之间的数个数据块是否可以利用一个事务清除以便减少去往和来自存储单元的总体输入和输出事务。本文所公开的技术可以确定在相同事务中清除附加脏数据是否可行,而不是将清除事务限制到被调度用于被新的缓存数据取代的脏数据。因此,本文所公开的系统、非暂时性计算机可读介质和方法可以通过进一步减少去往和来自存储单元的输入和输出事务的总体数目来增强存储系统的性能。当参照示例的以下描述和附图进行考虑时,将领会到本公开的各方面、特征和优点。以下描述不限制本申请;而是,本公开的范围由随附权利要求和等同物限定。图1呈现了用于执行本文所公开的技术的说明性计算机装置100的示意图。计算机装置100可以包括通常结合计算机使用的所有组件。例如,其可以具有键盘和鼠标和/或各种其它类型的输入设备,诸如笔输入、操纵杆、按钮、触摸屏等;以及显示器,其可以包括例如CRT、IXD、等离子体屏幕监视器、TV、投影仪等。计算机装置100还可以包括网络接口(未示出)以通过网络与其它设备通信。计算机装置100还可以包含处理器110,其可以是任何数目的公知处理器,诸如来自Intel?公司的处理器。在另一示例中,处理器110可以是专用集成电路(“ASIC”)。非暂时性计算机可读介质(“CRM”)112可以存储可以由处理器110检索和执行的指令。如以下将更加详细讨论的,指令可以包括控制器114。非暂时性CRM 112可以由任何指令执行系统使用或者与其结合使用,所述指令执行系统可以从其抓取或获得逻辑并且执行包含在其中的指令。非暂时性计算机可读介质可以包括许多物理介质中的任一个,诸如像电子、磁性、光学、电磁或半导体介质。合适的非暂时性计算机可读介质的更加具体的示例包括但不限于,便携式磁性计算机盘,诸如软盘或硬盘驱动器、只读存储器(“R0M”)、可擦除可编程只读存储器、便携式致密盘或可以直接或间接耦合到计算机装置100的其它存储设备。可替换地,非暂时性CRM 112可以是随机存取存储器(“RAM”)设备或者可以划分成组织为双列直插存储器模块(“DIMM”)的多个存储器段。非暂时性CRM 112也还可以包括前述和/或其它设备中的一个或多个的任何组合。虽然在图1中仅示出一个处理器和一个非暂时性CRM,但是计算机装置100可以实际上包括可以或者可以不存储在相同的物理外壳或位置内的附加处理器和存储器。驻留在控制器114中的指令可以包括由处理器110直接执行(诸如机器代码)或者间接执行(诸如脚本)的任何指令集。在这方面,术语“指令”、“脚本”和“应用”可以在本文中可互换地使用。计算机可执行指令可以以任何计算机语言或格式存储,诸如以对象代码或源代码模块存储。另外,要理解的是,指令可以以硬件、软件或硬件和软件的组合的形式实现并且本文中的示例仅仅是说明性的。在另一示例中,控制器114可以是在用于存储单元116的控制器中执行的固件。虽然图1描绘了安置在计算机装置100中的存储单元116,但是要理解的是,存储单元116还可以安置在远程计算机中。在图1的示例中,控制器114可以经由诸如光纤信道(“FC”)、互联网小型计算机系统接口(“iSCSi”)或串行附连小型计算机系统接口(“SAS”)之类的主机侧接口親合到计算机100,该主机侧接口允许计算机100向存储单元116传输一个或多个输入/输出请求。在一个示例中,存储单元116可以是独立盘冗余阵列(“RAID”)。控制器114可以经由驱动器侧接口(例如FC、存储区域网络(“SAS”)、网络附连存储装置(“NAS”)等)与存储单元116通信。如以上所指出的,缓存存储器可以用于缓存来自存储单元的数据。在一个示例中,控制器114可以指示处理器110读取请求以将第一组脏数据块从缓存存储器写回到存储单元116。该请求可以源自缓存放置模块。在另一示例中,控制器114可以指示处理器110确定是否可以利用一个清除事务将第一组脏数据块、第二组脏数据块及其之间的数个数据块从缓存存储器写入到存储单元116。这可以减少去往和来自存储单元116的总体输入和输出事务。在另外的示例中,为了确定是否可以以这样的方式使用一个事务,控制器114可以确定第一和第二组脏数据块之间的数据块的数目是否在预确定的阈值内。在另一示例中,控制器114可以确定是否存在充足的带宽来实施事务。在又一方面中,控制器114可以确定第一和第二组脏数据块之间的每一个数据块是否有效。如果不是,可以将有效数据从存储装置读取到包含无效数据的第一和第二组之间的任何数据块中。在一个示例中,无效数据可以定义为尚未从存储装置缓存的数据。在图2-4中示出系统、方法和非暂时性计算机可读介质的工作示例。特别地,图2图示了用于减少输入和输出事务的示例方法200的流程图。图3-4示出依照本公开的各方面的工作示例。以下将关于图2的流程图来讨论图3-4中所示的动作。如图2的块202中所示,可以读取将第一组脏数据从缓存存储器写入到存储装置的请求。这样的请求可以由缓存放置模块生成。现在参照图3,示出一系列线性寻址的数据块302-318。作为示例,数据块302-308属于第一组脏数据块309。在该工作示例中,缓存放置模块请求将第一组脏数据块309写入到存储装置以便容纳新的传入缓存数据。参照回图2,可以确定是否可以利用一个事务将第一组脏数据、第二组脏数据及其之间的数据块写入到存储装置,如块204中所示。参照回图3,数据块314-318可以形成第二组本文档来自技高网...

【技术保护点】
一种系统,包括:存储单元;缓存来自存储单元的数据的缓存存储器;控制器,其如果被执行则指示至少一个处理器:  读取将第一组脏数据块从缓存存储器写入到存储单元的请求;以及  确定是否可以利用一个清除事务将第一组脏数据块、第二组脏数据块及其之间的数个数据块从缓存存储器写入到存储单元,以便减少去往和来自存储单元的总体输入和输出事务。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:W潘MJ汤普森
申请(专利权)人:惠普发展公司有限责任合伙企业
类型:发明
国别省市:美国;US

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

1