CN102436354A - 使用跨步对象管理写入高速缓存的方法和系统 - Google Patents
使用跨步对象管理写入高速缓存的方法和系统 Download PDFInfo
- Publication number
- CN102436354A CN102436354A CN2011103033408A CN201110303340A CN102436354A CN 102436354 A CN102436354 A CN 102436354A CN 2011103033408 A CN2011103033408 A CN 2011103033408A CN 201110303340 A CN201110303340 A CN 201110303340A CN 102436354 A CN102436354 A CN 102436354A
- Authority
- CN
- China
- Prior art keywords
- track
- degradation
- emergency level
- strides
- spaces
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了使用跨步对象管理写入高速缓存的方法和系统。在用于从非易失性存储器(NVS)到存储单元降级数据的计算存储环境中,提供了通过处理器装置在跨步基础上识别工作数据的方法、系统、以及计算机程序产品实施例。在修改的高速缓存中为每个跨步建立多更新位。该多更新位适于指示工作集中的至少一个轨道。基于多个紧急级别来配置降级扫描的调度。基于多更新位是否置位、多个紧急级别中的危急级别是否活动、以及通过降级扫描检查的跨步数目的至少一个来执行降级操作。
Description
技术领域
本发明一般地涉及计算机,更具体地涉及一种用于在计算存储环境中使用跨步对象(stride object),识别工作数据和管理写入高速缓存的方法、系统和计算机程序产品。
背景技术
在诸如可以使用于公司、政府机构或者其它实体中的企业数据处理安排中,信息经常存储在服务器上并且由用户通过例如网络访问。该信息可以包括要处理的程序和/或数据的任何类型的信息。用户使用他们的个人计算机、工作站等(通常,“计算机”),将使得他们的计算机能够检索要处理的信息,并且,另外使得能够在例如远程服务器上存储信息。
通常,服务器在典型地包括多个盘存储单元的海量存储子系统中存储数据。数据存储在诸如文件的单元中。在服务器中,文件可以存储在一个盘存储单元上,或者可替换地,文件的部分可以存储在若干盘存储单元中。服务器可以同时为来自多个用户的访问请求服务,并且将理解,优选的将会是同时被服务的访问操作与跨越多个盘存储单元分布的信息有关,使得它们可以被同时服务。除非声明,通常期望以这样的方式在盘存储单元中存储信息,使得一个盘驱动单元负荷不重或者繁忙地为访问服务,而其它盘驱动单元负荷轻或者空闲。为了提供冗余和提高性能,可以以独立盘冗余阵列(RAID)拓扑来配置多个存储装置,其中以RAID等级组织存储体。
商业的计算机网络可以具有彼此远离放置的多个存储网络和商业用户。存储网络还可以在不同类型的系统上托管(host)。为了正确地执行作业,该商业用户可以要求快速和可靠地访问在所有存储网络中包含的数据。由于实时地发生对该数据的访问,所以期望尽可能快速地发生存储操作(诸如写入或读出)。
发明内容
为了移动数据,例如,海量存储子系统从非易失性存储器(NVS)到RAID装置降级(destage)数据。如将进一步描述的,在结合RAID和NVS装置的海量存储子系统中可操作的、对写入高速缓存的当前管理,可以在系统执行重复(duplicative)降级扫描操作时,造成中央处理单元(CPU)周期的浪费。如将再次进一步描述的,存在对于在某些情况下减少或者消除CPU周期的浪费的机制的需求。
鉴于前述,提供了各种方法、系统,以及计算机程序产品实施例,它们在用于从非易失性存储器(NVS)到存储单元降级数据的计算存储环境中,通过处理器装置在跨步基础上识别工作数据。在一个实施例中,仅通过示例的方式,在修改的高速缓存中为每个跨步建立多更新(multi-update)位。该多更新位适于指示工作集(working set)中的至少一个轨道(track)。基于多个紧急级别来配置降级扫描的调度。基于多更新位是否置位,多个紧急级别的危急级别是否活动、以及通过降级扫描检查的跨步数目的至少一个,来执行降级操作。
还公开了相关的系统和计算机程序产品实施例,并且这些有关的系统和计算机程序产品实施例提供了附加的优点。
附图说明
为了将容易地理解本发明的优点,将参照附图中图示的特定实施例,来表现以上简要描述的本发明的更具体的描述。理解这些附图仅描绘本发明的实施例,并且因此这些附图不应被认为是对本发明的范围的限制,通过使用附图,将以附加的特性和细节来描述和说明本发明,在附图中:
图1是包括存储服务器和存储管理服务器的分布式计算机系统的框图,其中可以实施以下描述和要求保护的主题的各方面;
图2是图1的存储服务器之一的框图;
图3是根据本发明各个方面的、用于便于在跨步的基础上识别工作数据的示例性方法的流程图;
图4是根据本发明各个方面的、用于降级完成的示例性方法的流程图;以及
图5是根据本发明各个方面的、用于执行降级扫描操作的示例性方法的流程图。
具体实施方式
如将进一步更详细地描述的,以下说明的实施例描述了高效和高度可扩展的机制,该机制用于识别频繁更新的轨道的工作集、以及使用跨步对象管理写入高速缓存。这些机制使用管理技术,管理技术关注以每跨步为基础(per-stride)、而不是以每轨道(per-track)为基础的检查和管理。关于这一点,例如因为必须检查的对象较少,所以减少和/或消除了CPU浪费。此外,在说明的实施例之一中,建立多更新位用于识别之前讨论的工作集。
下文中图1提供了镜像数据存储系统架构的一部分的一个示例,其中可以实施说明性的实施例的机制。然而,应当理解,图1仅是示例性的,并且不是意图在于陈述或者暗示关于特定架构的任何限制,该特定架构中可以实施说明性实施例的示例性方面。可以对图1中描绘的架构进行许多修改,而不脱离以下的描述和要求保护的主题的范围和精神。
图1图示了包括本发明的、一般用10指定的示例性分布式计算机系统。系统10包括多个、类似的存储服务器/控制器14a、b、c,其具有每个簇(cluster)的多个CPU 40a、b、c(以下参见图2,对于每个簇中的CPU组织)、高速缓存44a、b、c,非易失性存储器(“NVS”)46a、b、c,操作系统48a、b、c,I/O单元50a、b、c,以及TCP/IP适配器卡52a、b、c。每个存储服务器14a、b、c管理存储分配以及客户端40、41和42分别对多个存储装置(诸如盘)30a1-an、30b1-bn及30c1-cn的访问。
CPU40、41和42具有诸如光纤信道适配器卡的适配器卡50、51和52,用于经由诸如光纤信道之类的通信路径53a、b、c连接到交换器55。交换器(switch)55可以经由主机总线54a、b、c耦接到存储服务器14a、b、c,并且可以按照客户端上的配置将来自客户端40、41或42中的任一的请求转发到存储服务器14a、b、c中的任一。管理员已经向客户端40、41和42的每个分配了多个存储“体(volume)”。每个“体”驻留在存储阵列上。“存储阵列”可以包括一个或者多个存储装置并且配置在多种RAID等级(诸如RAID5、RAID10)或者仅盘捆绑(Just a Bunch of Disks,通常称为JBOD)中。
在图2图示的示例性实施例中,存储控制器14a(以及同样的存储控制器14b和c)包括CPU 68a和78a、高速缓存66a和76a、NVS 69a和79a的两个相同的簇61a和71a,以及任何数量的装置适配器对(每簇62a-(N)a以及72a-(N)a)。存在分别用于每个簇61a和71a的共享高速缓存(半导体)存储器66a和76a。高速缓存66a和76a每个分别包含存储在每个高速缓存上的轨道的目录。该目录包括与每个轨道关联的任何数量的目录条目(entry)。
每个簇还包含电池备份存储器69a和79a(也被称作“NVS”)。在图2中,“D”表示数据盘、“P”表示用于存储针对数据盘中的数据的奇偶校验位的奇偶校验盘,而“S”表示在数据盘或者奇偶校验盘故障的情形下的备用盘。每个簇维护对每个客户端的存储分配的映射,所述映射将每个存储体与存储阵列上的对应物理位置相关。
NVS 69a和79a分别经由通信链路60a和70a与盘65a和75a互连。在某些实施例中,通信链路60a和70a从诸如RS-232或RS-422的串行互连、以太网互连、SCSI互连、光纤信道互连、ESCON互连、FICON互连、局域网(LAN)、专用广域网(WAN)、公共广域网、存储域网(SAN)、传输控制协议/因特网协议(TCP/IP)、因特网、以及其组合中选择。
在某些实施例中,盘65a和75a包括一个或多个光学存储介质、一个或多个磁存储介质、一个或多个电子存储介质、以及其组合。在某些实施例中,盘65a和75a在簇61a和71a的外部。在某些实施例中,盘65a和75a在簇61a和71a的内部。
当客户端请求访问存储时,即读取分配给该客户端的体的一个中的数据,或者向其写入数据时,那么管理该体的存储簇将处理该请求,即,暂时地将客户端更新存储到该成对簇上的高速缓存存储器、及NVS(如果该请求是写入)。对于更新请求,当NVS存储时,I/O完成通知发送给该客户端。在达到用于待决写入的内部阈值时,该簇将客户端请求映射到物理位置,然后将映射的请求从高速缓存存储转发到合适的存储阵列。对于读取请求,数据或者从高速缓存存储器得到满足,或者请求盘访问(因为“高速缓存错失”)。对于读取请求的高速缓存错失,要求该簇将客户端请求映射到存储阵列上的物理位置,并且将数据从阵列上的物理位置转移到满足客户端I/O请求的高速缓存存储器。
再次参照图2,示出包括操作系统67a和77a的服务器14a,每个簇一个操作系统。如本领域普通技术人员将理解的,操作系统67a和77a可以物理地或者虚拟地放置于多种位置。为了说明的目的,如所示的,示出了操作系统67a和77a并入到每个簇。在一个实施例中,CPU68a和78a可以执行操作系统67a和77a的部分。如所示的,每个操作系统67a和77a包括降级模块95a、97a。在一个实施例中,降级模块95a和97a可以连同操作系统67a和77a、描绘的CPU、高速缓存存储器、NVS等一起,操作以实施本发明的各个方面,诸如将进一步描述的,执行降级扫描和降级操作。虽然示出降级模块95a和97a并入到操作系统67a和77a中,但本领域普通技术人员将理解,降级模块95a和97a可以物理地或者逻辑地位于任何地方,仍然保持与描绘的CPU、高速缓存存储器、NVS等的通信。以下将进一步描述降级模块95a和97a的附加功能。
在本发明的说明实施例之一中,之前在图1和2中描绘的分布式计算环境和存储服务器,例如可以使用各种机制来管理高速缓存存储器、NVS,并且执行降级扫描和降级操作。一个机制根据基于最近少使用(LRU)的方法学使轨道降级(demote),并且维护每轨道的时间位。当主机写轨道时,置位该时间位。当降级扫描检查时间位被置位的轨道时,复位该时间位。如果降级扫描发现不具有使时间位置位的轨道的跨步,则可以选择这些轨道用于降级。另一机制根据空间位置使轨道降级。使用平衡树维护轨道的分类列表。例如,查找要降级轨道的降级扫描可以按照从最低到最高的轨道位置的顺序,来遍历(traverse)该平衡树。
如之前描述的,“工作集”可以意在指被频繁地更新的轨道组。当前不存在检测高速缓存存储器中的工作集的机制。结果,这些轨道可以被降级多次。优选地,工作集不降级,只要它们在写入高速缓存中被经常地更新。因此,存在对于一种识别工作集并且防止它们被降级的机制的需求。如果写入高速缓存用工作集一部分的轨道填充,则这些轨道通常将使它们的关联时间位置位。执行检查这些轨道(使关联时间位被置位)的降级扫描的当前机制将跳过这些轨道。结果,当降级扫描重复地扫描和跳过这些轨道时,可以招致浪费的CPU周期。如之前描述的,当高速缓存存储器用这些轨道填充时,存在对于一种减少或消除CPU周期浪费的机制的需求。
再次,如之前描述的,本发明的机制从以每轨道基础到以跨步基础改变遍历的对象(即,基于跨步而不是轨道维护轨道的分类列表)。由于需要检查更少的对象,所以这减少了CPU周期的浪费。另外,再次如之前描述的,每跨步建立多更新位。该位用于识别高速缓存中的工作集。最后,如以下将要描述的,如果不在NVS满的危急情况下,就不使工作集降级。这些机制减少了用于降级扫描花费的CPU周期,并且改进了关联的存储控制器的性能。另外,所述机制防止了工作集降级,改进了关联的存储控制器的数据吞吐量。
以下,图3图示了用于执行针对如之前描述的高速缓存管理和工作集识别的、并入了本发明的各个方面的、对特定轨道操作的主机写入的示例性方法100。方法100通过定位要写入的特定轨道所属的跨步对象(步骤104),来开始(步骤102)。然后在跨步对象上置位关联的时间位(步骤106)。在描绘的实施例中,如果该轨道识别为写入任何域轨道(IMS WADS)(步骤108),则置位多更新位以指示该轨道处于工作集中(步骤110)。可替换地,检查该轨道以确定该轨道之前是否已经被修改(步骤112)。
如果确定该轨道之前已经被修改,则计算当前时间和轨道上次被降级的时间之间的时间增量(步骤114)。如果时间增量小于预定值(诸如在一个示例性实施例中小于250ms)(步骤116),则置位多更新位以指示该轨道处于工作集中(步骤118)。然后方法100结束(步骤120)。返回步骤112,如果该轨道之前还未被修改,则方法100结束(再次,步骤120)。返回到步骤116,如果时间增量不小于预定值,则方法结束(再次,步骤120)。
以下,图4图示了在完成降级操作之后,将特定轨道的数据移动到关联的存储单元的示例性方法130,并且再次并入了本发明的各个方面和以下要求保护的主题。方法130通过置位用于关联的轨道的位以指示该轨道之前已经被修改(步骤134),来开始(步骤132)。作为之后的步骤,在轨道控制结构中存储当前时间以指示该轨道被降级的时间(步骤134)。然后方法130结束(步骤138)。
如之前描述的,可以限制关联的降级扫描的频率以减少CPU周期的浪费。在一个实施例中,可以基于扫描可以多快地循环通过等级环(rank ring),来限制降级扫描。当从关联的等级的结束到开始循环时,可以检查该度量。如下的,在一个实施例中,可以限制对用于等级的轨道的修改列表执行降级扫描的频率。可以建立用于执行降级扫描的一系列的“紧急”级别。在一个实施例中,可以建立定义为(1)低、(2)中等、(3)高、以及(4)危急的用于降级扫描的四个紧急级别。可以通过关联的等级对NVS的当前占用率和所有等级的总NVS占用率,来确定这些紧急级别。
基于前述的为降级扫描建立四个紧急级别的实施例考虑以下示例。在本示例中,当NVS当前占用率小于全部的50%,并且用于该等级的NVS占用率是允许用于该等级的50%时,紧急级别可以定义为低。类似地,当NVS当前占用率在全部的50%和70%之间,或者用于该等级的NVS占用率是在允许用于该等级的50%和70%之间时,紧急级别可以定义为中等。类似地,当NVS当前占用率在全部的70%和90%之间,或者用于该等级的NVS占用率在允许用于该等级的70%和90%之间时,紧急级别可以定义为高。最后,当NVS大于全部的90%,或者用于该等级的NVS占用率超过允许用于该等级的90%时,紧急级别可以定义为危急。
记住前述的定义,在一个实施例中,可以根据当前活动的特定的紧急级别,限制用于关联的轨道的修改列表的降级扫描。例如,当紧急级别为低时,降级扫描可以限制为10秒一次,当紧急级别为中等时,为5秒一次,当紧急级别为高时,为1秒一次,而当紧急级别为危急时,不限制。当然,本领域普通技术人员将理解,紧急级别的定义、用于每个级别的统计要求、以及对降级操作执行的限制可以根据具体的实施和/或应用而变化。
鉴于上述的,以下图5是用于执行并入本发明的各个方面的降级操作的示例性方法140(包括如先前指示的紧急级别)。方法140通过按跨步对象的位置的顺序扫描它们的分类列表(步骤144),来开始(142)。递增到目前为止扫描的跨步的计数(步骤146)。如果扫描的跨步数量小于预定数量(步骤148),并且定位时间位和多更新位清除(步骤150)、以及没有繁忙的轨道(步骤152)的跨步,则选择该跨步用于降级操作(步骤154)。作为之后的步骤,并且可替换地,在步骤148、150和152中,如果不是这种情形,则方法移至步骤156。
步骤156查询到目前为止扫描的跨步数目是否大于预定数目。如果不是这种情形,则方法140移至步骤144以扫描附加跨步。如果是这种情形,则方法140查询紧急等级是低还是中等(步骤158)。如果是这样,则降级扫描被重新分派给另一线程(步骤160)。如果不是这样,则方法140查询紧急等级是否是高(步骤162)。如果是这样,则重新检查到目前为止扫描的跨步以定位多更新位未置位的第一跨步(步骤164)。选择识别的跨步用于降级操作(步骤166)。
返回到步骤162,如果紧急级别不为高,则方法140查询紧急等级是否为危急(步骤168)。如果是这样,则选择来自到目前为止扫描的跨步的第一跨步用于降级操作(步骤170),并且方法返回到步骤144以在必要时扫描附加跨步。
如本领域的普通技术人员将理解的,本发明的各方面可以体现为系统、方法或计算机程序产品。因此,本发明的各方面可以采用以下的形式:完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)、或通常可以在此称为“电路”、“模块”或“系统”的组合软件和硬件方面的实施例。此外,本发明的各方面可以采用在一个或多个计算机可读介质中体现的计算机程序产品的形式,在该一个或多个计算机可读介质上体现了计算机可读程序代码。
可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电子的、磁的、光学的、电磁的、红外的或半导体的系统、装置、或器件,或前述的任何合适的组合。计算机可读存储介质的更具体的示例(非穷举列表)会包括以下:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光学存储器件、磁存储器件,或者前述的任何合适的组合。在本文的语境中,计算机可读存储介质可以是任何可以包含或者存储由指令执行系统、装置或器件使用的、或与指令执行系统、装置或器件有关的有形的介质。
计算机可读介质上体现的程序代码可以使用任何适合的介质来传送,包括但不限于无线的、有线的、光缆、RF等,或者前述的任何合适的组合。用于执行本发明的各方面的操作的计算机程序代码,可以以一个或多个编程语言的任何组合来编写,所述编程语言包括面向对象的编程语言(如Java、Smalltalk、C++等)和常规的过程编程语言(如“C”编程语言或类似编程语言)。程序代码可以完全地在用户的计算机上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上和部分在远程计算机上执行、或完全地在远程计算机或服务器上执行。在后一情形中,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以(例如,利用因特网服务提供商通过因特网)连接到外部计算机。
已经参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图在上面描述了本发明的各方面。将理解,流程图图示和/或框图中的每个框、以及流程图图示和/或框图中的各框的组合,可以通过计算机程序指令实施。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,以产生一种机器,使得通过计算机或其它可编程数据处理装置的处理器执行的指令,创建实施流程图和/或框图的一个或多个框中规定的功能/动作的装置(means)。
这些计算机程序指令还可以存储在计算机可读介质中,其能指引计算机、其它可编程数据处理装置、或者其它装置以特定方式起作用,使得存储在计算机可读介质中的指令产生一种包括用于实施流程图和/或框图的一个或多个方框中规定的功能/动作的指令的制造品。计算机程序指令还可以加载到计算机、其它可编程数据处理装置、或者其它装置上,使得在计算机、其它可编程装置或者其它装置上执行一系列操作步骤,以产生计算机实施的过程,从而在计算机或其它可编程装置上执行的指令,提供用于实施在流程图和/或框图的一个或多个框中规定的功能/动作的过程。
上述附图中的流程图和框图,图示了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实施的架构、功能和操作。在这点上,流程图或框图中的每个框可以代表模块、段、或代码的一部分,所述模块、段、或代码的一部分包含一个或多个用于实施规定的逻辑功能的可执行指令。还应该注意,在一些替代实施中,方框中所标注的功能可以以脱离附图中所标注的顺序发生。例如,依据所涉及的功能,两个接连地表示的框实际上可以基本并行地执行,或者该框有时可以按相反的顺序执行。还将注意,框图和/或流程图图示中的每个框、以及框图和/或流程图图示中的框的组合,可以由执行规定的功能或动作的专用的基于硬件的系统、或者专用硬件与计算机指令的组合来实施。
虽然已经详细说明了本发明的一个或多个实施例,但是本领域普通技术人员将理解,可以在不脱离如权利要求中提出的本发明的范围的情况下,对这些实施例进行修改和改编。
Claims (14)
1.一种用于通过处理器装置在跨步基础上识别工作数据的方法,使用在用于从非易失性存储器NVS到存储单元降级数据的计算存储环境中,该方法包括:
在修改的高速缓存中为每个跨步建立多更新位,其中该多更新位适于指示工作集中的至少一个轨道;
基于多个紧急级别来配置降级扫描的调度;以及
基于多更新位是否置位、多个紧急级别的危急级别是否活动、以及通过降级扫描检查的跨步数目的至少一个,来执行降级操作。
2.根据权利要求1所述的方法,其中建立多更新位包括:
为轨道的主机写入操作,定位所述轨道所属的跨步对象,以及
如果所述轨道指定为写入任何域轨道IMS WADS,则置位该多更新位。
3.根据权利要求2所述的方法,其中建立多更新位还包括,在主机写入上:
如果确定该轨道之前被修改过,则计算自该轨道上次降级起的时间增量,以及
如果该时间增量小于预定值,则置位该多更新位。
4.根据权利要求3所述的方法,还包括执行至少以下步骤之一:
在轨道降级之后,置位附加位以指示该轨道之前已经被修改,以及
在轨道控制结构中存储当前时间,以指示该轨道降级的时间。
5.根据权利要求1所述的方法,其中基于多个紧急级别来配置降级扫描的调度包括:协调多个紧急级别中的每个,以便对应于一等级的NVS的当前占用率、和NVS中所有等级的总的可允许NVS占用率中的至少一个。
6.根据权利要求1所述的方法,其中基于多更新位是否置位、多个紧急级别中的危急级别是否活动、以及通过降级扫描检查的跨步数目的至少一个来执行降级操作包括,按照降级扫描之一:
递增跨步数目,以及
如果跨步数目小于预定数目,并且定位具有清除的时间位、清除的多更新位、和不繁忙的轨道的跨步,则选择该跨步用于降级操作。
7.根据权利要求1所述的方法,其中基于多更新位是否置位、多个紧急级别中的危急级别是否活动、以及通过降级扫描检查的跨步数目的至少一个、来执行降级操作包括,按照降级扫描之一:如果跨步的数目大于预定数目,则检查多个级别的紧急级别,其中:
如果紧急级别是较低紧急级别,则重新分派降级扫描之一,
如果紧急级别是较高紧急级别,则选择目前扫描的多个跨步中具有清除的多更新位的跨步用于降级操作,以及
如果紧急级别是危急级别,则选择目前扫描的多个跨步中的第一跨步用于降级操作。
8.一种用于在跨步基础上识别工作数据的系统,使用在用于从非易失性存储器NVS到存储单元降级数据的计算存储环境中,该系统包括:
所述计算存储环境中可操作的处理器装置,其中所述处理器装置适于执行以下中的至少一个:
在修改的高速缓存中为每个跨步建立多更新位,其中该多更新位适于指示工作集中的至少一个轨道;
基于多个紧急级别来配置降级扫描的调度;以及
基于多更新位是否置位、多个紧急级别中的危急级别是否活动、以及通过降级扫描检查的跨步数目的至少一个,来执行降级操作。
9.根据权利要求8所述的系统,其中所述处理器装置还适于,按照建立多更新位:
为轨道的主机写入操作,定位所述轨道所属的跨步对象,以及
如果所述轨道指定为写入任何域轨道IMS WADS,则置位该多更新位。
10.根据权利要求9所述的系统,其中所述处理器装置还适于,按照在主机写入上建立多更新位:
如果确定该轨道之前被修改过,则计算自该轨道上次降级起的时间增量,以及
如果该时间增量小于预定值,则置位多更新位。
11.根据权利要求10所述的系统,其中所述处理器装置还适于执行至少以下步骤之一:
在轨道降级之后,置位附加位以指示该轨道之前已经被修改,并且
在轨道控制结构中存储当前时间,以指示该轨道降级的时间。
12.根据权利要求8所述的系统,其中所述处理器装置还适于,按照基于多个紧急级别来配置降级扫描的调度,协调多个紧急级别中的每个,以便对应于一等级的NVS的当前占用率、和NVS中所有等级的总的可允许NVS占用率中的至少一个。
13.根据权利要求8所述的系统,其中所述处理器装置还适于,按照基于多更新位是否置位、多个紧急级别的危急级别是否活动、以及通过降级扫描检查的跨步数目的至少一个来执行降级操作包括,按照降级扫描之一:
递增跨步数目,以及
如果跨步数目小于预定数目,并且定位具有清除的时间位、清除的多更新位、以及不繁忙的轨道的跨步,则选择该跨步用于降级操作。
14.根据权利要求8所述的系统,其中所述处理器装置还适于,按照基于多更新位是否置位、多个紧急级别中的危急级别是否活动、以及通过降级扫描检查的跨步数目的至少一个来执行降级操作包括,按照降级扫描之一,如果跨步的数目大于预定数目,则检查多个级别的紧急级别,其中:
如果紧急级别是较低紧急级别,则重新分派降级扫描之一,
如果紧急级别是较高紧急级别,则选择目前扫描的多个跨步中具有清除的多更新位的跨步用于降级操作,以及
如果紧急级别是危急级别,则选择目前扫描的多个跨步中的第一跨步用于降级操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/894,019 | 2010-09-29 | ||
US12/894,019 US8332589B2 (en) | 2010-09-29 | 2010-09-29 | Management of write cache using stride objects |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102436354A true CN102436354A (zh) | 2012-05-02 |
CN102436354B CN102436354B (zh) | 2014-07-09 |
Family
ID=45871838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110303340.8A Expired - Fee Related CN102436354B (zh) | 2010-09-29 | 2011-09-29 | 使用跨步对象管理写入高速缓存的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8332589B2 (zh) |
CN (1) | CN102436354B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110100265A (zh) * | 2016-12-19 | 2019-08-06 | 惠普发展公司有限责任合伙企业 | 3d制造部件的布置确定 |
CN111459414A (zh) * | 2020-04-10 | 2020-07-28 | 上海兆芯集成电路有限公司 | 存储器调度方法及存储器控制器 |
CN111684407A (zh) * | 2018-03-06 | 2020-09-18 | 国际商业机器公司 | 多个数据存储系统中的同步安全数据提交扫描 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9524243B1 (en) * | 2011-09-27 | 2016-12-20 | Emc Ip Holdng Company Llc | Scalable monolithic data storage system for cloud environment |
US10318426B1 (en) * | 2011-09-27 | 2019-06-11 | EMC IP Holding Company LLC | Cloud capable storage platform with computation operating environment for storage and generic applications |
US9116915B1 (en) * | 2012-03-29 | 2015-08-25 | Emc Corporation | Incremental scan |
US9542331B2 (en) | 2014-09-22 | 2017-01-10 | International Business Machines Corporation | Concurrent update of data in cache with destage to disk |
US10241918B2 (en) | 2015-09-29 | 2019-03-26 | International Business Machines Corporation | Considering a frequency of access to groups of tracks to select groups of tracks to destage |
US10120811B2 (en) | 2015-09-29 | 2018-11-06 | International Business Machines Corporation | Considering a frequency of access to groups of tracks and density of the groups to select groups of tracks to destage |
US10095628B2 (en) | 2015-09-29 | 2018-10-09 | International Business Machines Corporation | Considering a density of tracks to destage in groups of tracks to select groups of tracks to destage |
US11467772B2 (en) * | 2020-04-22 | 2022-10-11 | International Business Machines Corporation | Preemptive staging for full-stride destage |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5542066A (en) * | 1993-12-23 | 1996-07-30 | International Business Machines Corporation | Destaging modified data blocks from cache memory |
US6738865B1 (en) * | 2000-06-09 | 2004-05-18 | International Business Machines Corporation | Method, system, and program for demoting data from cache based on least recently accessed and least frequently accessed data |
CN101101563A (zh) * | 2007-07-23 | 2008-01-09 | 清华大学 | 基于海量数据分级存储系统的迁移管理方法 |
CN101114492A (zh) * | 2006-07-27 | 2008-01-30 | 日立环球储存科技荷兰有限公司 | 带有非易失性存储器的、具有多种操作模式的盘驱动器 |
CN101221537A (zh) * | 2007-01-08 | 2008-07-16 | 国际商业机器公司 | 降级数据的方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192450B1 (en) | 1998-02-03 | 2001-02-20 | International Business Machines Corporation | Destage of data for write cache |
US6785771B2 (en) | 2001-12-04 | 2004-08-31 | International Business Machines Corporation | Method, system, and program for destaging data in cache |
GB0218891D0 (en) | 2002-08-14 | 2002-09-25 | Ibm | Method for data retention in a data cache and data storage system |
US7260679B2 (en) | 2004-10-12 | 2007-08-21 | International Business Machines Corporation | Apparatus and method to manage a data cache using a first and second least recently used list |
US7395377B2 (en) | 2006-04-20 | 2008-07-01 | International Business Machines Corporation | Method and system for adaptive back-off and advance for non-volatile storage (NVS) occupancy level management |
-
2010
- 2010-09-29 US US12/894,019 patent/US8332589B2/en not_active Expired - Fee Related
-
2011
- 2011-09-29 CN CN201110303340.8A patent/CN102436354B/zh not_active Expired - Fee Related
-
2012
- 2012-09-14 US US13/616,029 patent/US8549220B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5542066A (en) * | 1993-12-23 | 1996-07-30 | International Business Machines Corporation | Destaging modified data blocks from cache memory |
US6738865B1 (en) * | 2000-06-09 | 2004-05-18 | International Business Machines Corporation | Method, system, and program for demoting data from cache based on least recently accessed and least frequently accessed data |
CN101114492A (zh) * | 2006-07-27 | 2008-01-30 | 日立环球储存科技荷兰有限公司 | 带有非易失性存储器的、具有多种操作模式的盘驱动器 |
CN101221537A (zh) * | 2007-01-08 | 2008-07-16 | 国际商业机器公司 | 降级数据的方法和系统 |
CN101101563A (zh) * | 2007-07-23 | 2008-01-09 | 清华大学 | 基于海量数据分级存储系统的迁移管理方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110100265A (zh) * | 2016-12-19 | 2019-08-06 | 惠普发展公司有限责任合伙企业 | 3d制造部件的布置确定 |
CN110100265B (zh) * | 2016-12-19 | 2023-06-30 | 惠普发展公司,有限责任合伙企业 | 3d制造部件的布置确定 |
CN111684407A (zh) * | 2018-03-06 | 2020-09-18 | 国际商业机器公司 | 多个数据存储系统中的同步安全数据提交扫描 |
CN111684407B (zh) * | 2018-03-06 | 2023-09-19 | 国际商业机器公司 | 多个数据存储系统中的同步安全数据提交扫描 |
CN111459414A (zh) * | 2020-04-10 | 2020-07-28 | 上海兆芯集成电路有限公司 | 存储器调度方法及存储器控制器 |
Also Published As
Publication number | Publication date |
---|---|
US8332589B2 (en) | 2012-12-11 |
US8549220B2 (en) | 2013-10-01 |
US20130007372A1 (en) | 2013-01-03 |
US20120079187A1 (en) | 2012-03-29 |
CN102436354B (zh) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102436354B (zh) | 使用跨步对象管理写入高速缓存的方法和系统 | |
CN103124960B (zh) | 用于连续磁道的智能写入高速缓存的方法和系统 | |
CN102498476B (zh) | 在数据库服务器和存储系统之间高速缓存数据 | |
CN102436353B (zh) | 半导体存储器控制装置 | |
CN103635900B (zh) | 基于时间的数据分割 | |
US20070118695A1 (en) | Decoupling storage controller cache read replacement from write retirement | |
CN103207839B (zh) | 存储的高速缓存内的轨道清除的高速缓存管理方法和系统 | |
CN104145252A (zh) | 两级高速缓存系统中的自适应高速缓存提升 | |
US9779030B2 (en) | Grouping tracks for destaging | |
US20090265519A1 (en) | Method and system for power aware i/o scheduling | |
CN103562843A (zh) | 在具有多个高速缓存的存储系统中高速缓存数据 | |
CN106662981A (zh) | 存储设备、程序和信息处理方法 | |
US20100174864A1 (en) | Performance in a data storage system | |
CN102841854A (zh) | 根据动态分级存储器缓存认知执行数据读取的方法和系统 | |
WO2013192024A2 (en) | Multi-tiered cache with storage medium awareness | |
US9632945B2 (en) | Destage grouping for sequential fast write tracks | |
CN103257932B (zh) | 用于管理计算机可读高速缓存系统中的数据的方法和系统 | |
CN103207840A (zh) | 用于将不完整记录从第一缓存降级至第二缓存的系统和方法 | |
CN101743546A (zh) | 用于提供快照的文件系统的分层存储管理 | |
CN104040508B (zh) | 用于在高速缓存系统中管理数据的方法和系统 | |
CN103688249A (zh) | 固态盘的自适应记录高速缓存 | |
US20130185507A1 (en) | Writing adjacent tracks to a stride, based on a comparison of a destaging of tracks to a defragmentation of the stride | |
US8935304B2 (en) | Efficient garbage collection in a compressed journal file | |
CN110196818A (zh) | 缓存数据的方法、缓存设备和存储系统 | |
CN109492020A (zh) | 一种数据缓存方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140709 |
|
CF01 | Termination of patent right due to non-payment of annual fee |