CN104969170B - 层次化存储系统、存储控制器以及代替层次间的数据移动的方法 - Google Patents
层次化存储系统、存储控制器以及代替层次间的数据移动的方法 Download PDFInfo
- Publication number
- CN104969170B CN104969170B CN201480000622.2A CN201480000622A CN104969170B CN 104969170 B CN104969170 B CN 104969170B CN 201480000622 A CN201480000622 A CN 201480000622A CN 104969170 B CN104969170 B CN 104969170B
- Authority
- CN
- China
- Prior art keywords
- mentioned
- data
- cache
- storage
- physical volume
- 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.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims abstract description 250
- 238000000034 method Methods 0.000 title claims description 27
- 230000015654 memory Effects 0.000 claims description 201
- 238000007726 management method Methods 0.000 claims description 153
- 238000012545 processing Methods 0.000 claims description 31
- 230000008859 change Effects 0.000 claims description 17
- 238000013500 data storage Methods 0.000 claims description 10
- 230000000694 effects Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 description 17
- 230000010076 replication Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 15
- 230000005055 memory storage Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 8
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 7
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000002788 crimping Methods 0.000 description 3
- 230000001629 suppression Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000007599 discharging Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003362 replicative effect Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 208000019901 Anxiety disease Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000036506 anxiety Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000013517 stratification Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- 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
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- 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/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
根据实施方式,提供层次化存储系统的存储控制器。层次化存储系统具有:第一存储装置,包含第一层次的第一物理卷;和第二存储装置,包含比第一层次低的第二层次的第二物理卷。存储控制器的超高速缓存控制部将上述第一物理卷内的存储区域分割为数据区域的集合和超高速缓存区域的集合。上述超高速缓存控制部在应从上述第二物理卷向上述第一物理卷移动的第一数据还存储在上述第一物理卷的第一超高速缓存区域内的情况下,将上述第一超高速缓存区域变更为第一数据区域。
Description
技术领域
本发明的实施方式涉及层次化存储系统、存储控制器以及代替层次间的数据移动的方法。
背景技术
近年来,正在开发利用层次化存储技术的各种存储装置。层次化存储技术管理性能不同的多种存储装置的物理存储区域(以下称物理卷)。由此层次化存储技术构成把多个物理卷作为实体而具有的至少一个虚拟的存储区域(以下称逻辑卷)。逻辑卷可由主计算机识别,提供给该主计算机。层次化存储技术进而根据访问频度那样的数据的特性决定应存储数据的存储装置。也就是说在层次化存储技术中,数据层次化存储在多个存储装置内。在层次化存储技术中,同种存储装置(物理卷)的集合称为“层次”。一般情况下,越是性能高的存储装置,越位于上位的层次。应用了层次化存储技术的存储系统称为层次化存储系统。
在层次化存储系统中,存储控制器在逻辑卷中例如存储访问频度高的数据的情况下,一般在构成该逻辑卷的物理卷中性能更高的(亦即更上位的层次的)存储装置的物理卷内存储该数据。另外,访问频度那样的数据特性随时间的经过而发送变化。因此存储控制器根据数据特性的变化,变更数据的存储目的地。也就是说存储控制器根据数据特性的变化,在物理卷(层次)间进行数据的移动、再配置。
一般情况下,频繁被访问的数据或者要求高响应性能的数据,限于存储在存储装置内的数据的一部分。因此鉴于性能越高的存储装置每单位存储容量的单价越高,所以不希望把所有的数据都存储在高性能的存储装置内。因此在层次化存储系统中,存储控制器把访问频度高的数据存储在闪存器装置那样的访问性能优良的存储装置(上位层次)内。另外存储控制器把访问频度低的数据存储在硬盘驱动器或者磁带装置那样的廉价的存储装置(下位层次)内。由此,因为能够在廉价的存储装置内存储大部分数据,所以能够削减构建存储系统所需要的成本。
现有技术文献
专利文献
专利文献1:日本特开2010-108341号公报
专利文献2:日本特开2012-252514号公报
专利文献3:日本特开2009-43030号公报
发明内容
发明要解决的问题
在层次化存储系统中,在数据特性变化的情况下,如上述,该数据在层次间移动。为了该数据的移动,存储控制器对每一数据(更详细说对一定大小的数据块)收集访问频度那样的数据特性。然后存储控制器根据每一数据的数据特性,例如以一定的时间间隔T决定存储目的地的层次应该被变更的数据。存储控制器移动所决定的数据。
但是,在把时间间隔T设定为比较大的值的情况下,难以立即移动特性变化了的数据。另一方面,在把时间间隔T设定为比较小的值的情况下,数据移动频繁地进行。于是,在从下位层次向上位层次移动数据或者在从上位层次向下位层次移动数据的任何一种情况下,存储装置间的数据输入输出(以下称数据移动输入输出)的次数都增大。该数据移动输入输出的次数的增大引起通常的数据访问中的输入输出性能的劣化。另外,在对移动到上位层次的数据的访问集中是瞬态的情况下,例如在对该数据的访问频度降低后,希望把该数据向下位层次移动。但是为此发生数据移动输入输出。
这样在现有的层次化存储系统中,“层次间的数据移动的抑制”和“输入输出性能的维持(对下位层次的数据访问的抑制)”处于一种权衡的关系。
另一方面,作为使对低速的存储装置的访问高速化的方法,以往已知超高速缓存技术。另外已知把高速存储装置的一部分存储区域作为低速存储装置的超高速缓冲存储器来利用的超高速缓存技术。关于在超高速缓冲存储器中存储的数据,没有层次间的数据移动,能够维持输入输出性能。
这里假定在现有的层次化存储系统中应用现有的超高速缓存技术。另外假定下位层次的数据存储在超高速缓冲存储器中。在这种情况下,现有技术能够抑制对于下位层次的数据访问。但是现有技术难于抑制在数据通过层次化存储功能向上位层次移动的情况下发生的数据移动输入输出。
另外现有技术与对哪个层次的数据访问无关地在超高速缓冲存储器中存储数据。因此在超高速缓冲存储器中混合存在上位层次的数据和下位层次的数据。特别在超高速缓冲存储器中,上位层次的数据占有比例高。其原因是一般情况下上位层次的数据的访问频度高。因此用于超高速缓存下位层次的数据的区域少,其结果,对下位层次的数据访问增大。
本发明要解决的课题是,提供能够抑制层次间的物理数据移动且维持输入输出性能的层次化存储系统、存储控制器以及代替层次间的数据移动的方法。
用于解决问题的方案
根据实施方式,提供在层次化存储系统中处理来自主计算机的输入输出请求的存储控制器。上述层次化存储系统具有:第一存储装置,包含第一物理卷;和第二存储装置,包含第二物理卷,且与上述第一存储装置相比,访问速度低且存储容量大。上述存储控制器具有逻辑卷管理部、层次管理部、和超高速缓存控制部。上述逻辑卷管理部向上述主计算机提供使用上述第一物理卷和上述第二物理卷逻辑地构成的逻辑卷。上述层次管理部将上述第一物理卷作为第一层次来管理,将上述第二物理卷作为比上述第一层次低的第二层次来管理,而且根据数据的特性,决定或者变更应存储该数据的层次。上述超高速缓存控制部将上述第一物理卷内的存储区域分割为存储数据的数据区域的集合和存储超高速缓存数据的超高速缓存区域的集合,使上述超高速缓存区域的集合作为上述层次化存储系统的超高速缓冲存储器来发挥作用。上述超高速缓存控制部进一步在由上述层次管理部判断为存储在上述第二物理卷内的第一数据应向上述第一物理卷移动、且上述第一数据存储在上述第一物理卷的第一超高速缓存区域内的情况下,将上述第一超高速缓存区域变更为第一数据区域。
附图说明
图1是表示实施方式的计算机网络系统的典型的硬件结构的框图。
图2是主要表示图1中表示的存储控制器的典型的功能结构的框图。
图3是表示图2中表示的物理卷管理表的数据结构例的图。
图4是表示图2中表示的逻辑卷管理表的数据结构例的图。
图5是表示图2中表示的超高速缓冲存储器管理表的数据结构例的图。
图6是表示该实施方式中的层次间的数据移动的例子的图。
图7是表示在该实施方式中应用的层次变更处理的典型的步骤的流程图。
图8是表示在层次变更处理中包含的区域置换处理的典型的步骤的流程图。
图9是表示在该实施方式中应用的输入输出处理的典型的步骤的流程图。
图10是表示在区域置换处理中包含的数据区域释放处理的典型的步骤的流程图。
图11是表示在该实施方式中应用的超高速缓冲存储器区域释放处理的典型的步骤的流程图。
图12是表示在该实施方式中应用的超高速缓存同步化处理的典型的步骤的流程图。
具体实施方式
下面参照附图说明各种实施方式。
图1是表示一种实施方式的计算机网络系统的典型的硬件结构的框图。计算机网络系统由层次化存储系统10、主计算机(以下称主机)20、以及网络30构成。层次化存储系统10(更详细说,层次化存储系统10的存储控制器13)通过网络30连接主机20。主机20把层次化存储系统10作为外部存储装置利用。网络30例如是存储区域网络(SAN)、因特网或者内联网。因特网或者内联网例如通过以太网(注册商标)构成。
层次化存储系统10具有高速存储装置(以下称高速存储器)11、低速存储装置(以下称低速存储器)12、存储控制器13、和存储器接口总线14。高速存储器11例如由称为闪存RAID(Redundant Arrays of Inexpensive Disks(廉价磁盘冗余阵列)或者RedundantArrays of Independent Disks(独立磁盘冗余阵列))的闪存器阵列构成。在本实施方式中高速存储器11使用多个闪存器端口110实现。闪存器端口110的各个包含闪存器的集合。闪存器端口110的各个可以包含闪存器以外的可改写的非易失存储器的集合。高速存储器11与存储器接口总线14。
高速存储器11的存储区域分割为数据区域的集合和超高速缓存区域的集合使用。在本实施方式中,数据区域的集合的总容量和超高速缓存区域的集合总容量不固定,如后面叙述的那样动态地变更。数据区域作为存储通常的数据(实数据)的存储区域使用。超高速缓存区域作为存储超高速缓存数据的存储区域(超高速缓冲存储器)使用。
低速存储器12例如由称为RAID的HDD(Hard Disk Drive(硬盘驱动器))阵列构成。在本实施方式中低速存储器12使用比超高速缓冲存储器访问速度低的多个HDD 120实现。亦即低速存储器12的访问性能(访问速度)比高速存储器的访问性能(访问速度)低。低速存储器12与存储器接口总线14连接。此外不必要高速存储器11以及低速存储器12一定具有阵列结构。
一般在层次化存储技术中,把汇总同一种类的存储装置的单位称为层次。另外,在用访问性能进行比较的情况下,访问性能越高的存储装置,越位于更上位的层次。同样,访问性能越低的存储装置,越位于更下位的层次。在图1表示的层次化存储系统中,存在两个访问性能不同的高速存储器11以及低速存储器12。在这种情况下,高速存储器11位于上位层次(第一层次),低速存储器12位于下位层次(第二层次)。也就是说在本实施方式中,把具有比某基准的访问性能高的第一访问性能的高速存储器11的层次称为上位层次,把具有比该基准的访问性能低的第二访问性能的低速存储器12的层次称为下位层次。此外,层次化存储系统10例如也可以具有磁带装置那样的、比低速存储器12更低速(低层次)的低速存储器(第三层次的低速存储器)。
存储控制器13通过存储器接口总线14连接到高速存储器11以及低速存储器12。存储器接口总线14的接口种类,是小型计算机系统接口(SCSI)、光纤通道(FC)、串行连接方式的SCSI(SAS)、或者串行AT附件(SATA)。
存储控制器13控制高速存储器11以及低速存储器12。存储控制器13具有阵列管理功能(阵列管理部201)、输入输出(I/O)控制功能(I/O控制部202)、逻辑卷管理功能(逻辑卷管理部203)、层次管理功能(层次管理部204)、和超高速缓冲存储器控制功能(超高速缓存控制部205)。
存储控制器13(更详细说,存储控制器13的后述的CPU 136)使用阵列管理功能构建由多个闪存器端口110构成的闪存器阵列(亦即高速存储器11)。同样,存储控制器13(CPU136)使用阵列管理功能构建由多个HDD 120构成的HDD阵列(亦即低速存储器12)。
存储控制器13(CPU 136)使用I/O控制功能处理从主机20接收的请求,在来自主机20的请求是数据访问请求的情况下,向存储器I/F 132委托处理。
存储控制器13(CPU 136)使用逻辑卷管理功能构建(定义)对主机20提供的(亦即通过主机20能够识别的)逻辑卷。在本实施方式中逻辑卷是使用高速存储器11以及低速存储器12内的物理卷(第一以及第二物理卷)构成的虚拟的存储区域。也就是说逻辑卷把高速存储器11以及低速存储器12内的物理的存储区域作为实体以逻辑方式实现。
存储控制器13(CPU 136)使用层次管理功能把高速存储器11以及低速存储器12的存储区域分别作为上位层次以及下位层次管理。存储控制器13(CPU 136)另外使用层次管理功能以层次方式管理数据。也就是说存储控制器13(CPU 136)根据访问频度那样的数据特性把逻辑卷内的数据分为上位层次或者下位层次。存储控制器13(CPU 136)进而使用层次管理功能进行层次间的数据移动。也就是说存储控制器13(CPU 136)基于后述的物理卷管理表135a,根据访问频度那样的数据特性,把与逻辑卷内的数据对应的物理存储区域内的数据(实数据)向别的物理卷移动。例如,在访问频度高的数据在低速存储器12(亦即访问性能低的存储装置)内的物理卷内存储的情况下,存储控制器13(CPU 136)把该实数据向高速存储器11(亦即访问性能高的存储装置)内的物理卷移动。该存储装置(层次)间的数据移动通过存储器I/F 132进行。
存储控制器13(CPU 136)使用超高速缓冲存储器控制功能进行对超高速缓存区域的数据访问(亦即对超高速缓存区域的数据的写入或者从超高速缓存区域的数据读出)。存储控制器13(CPU 136)另外使用超高速缓冲存储器控制功能把高速存储器11的存储区域的一部分作为超高速缓冲存储器管理。也就是说存储控制器13(CPU 136)基于后述的超高速缓冲存储器管理表135c,使用超高速缓冲存储器控制功能把高速存储器11的存储区域分割为上述的数据区域的集合和超高速缓存区域的集合管理。存储控制器13(CPU 136)进而使用超高速缓冲存储器控制功能执行用于抑制存储装置间的数据移动(更详细说物理性数据移动)的超高速缓冲存储器控制。
存储控制器13具有主接口控制器(以下称主I/F)131、存储器接口控制器(以下称存储器I/F)132、闪存ROM(FROM)133、本地存储器134、本地HDD 135、CPU 136、芯片组137、和内部总线138。存储控制器13通过主I/F131经由网络30和主机20连接。主I/F131的接口种类例如是FC或者因特网SCSI(iSCSI)。
主I/F131控制和主机20之间的数据传送(数据传送控制器)。主I/F131接受从主机20来的对于逻辑卷的数据访问请求(读请求或者写请求),回发对于该数据访问请求的应答。主I/F131,当从主机20接受数据访问请求时,经由内部总线138以及芯片组137向CPU136转发该请求。接受了数据访问请求的CPU 136,遵照后述的存储控制程序,处理该数据访问请求。
存储器I/F 132具有输入输出(I/O)驱动器,接受基于对于CPU 136(存储控制程序)接受的来自主机20的数据访问请求(对于逻辑卷的写请求或者读请求)的I/O请求。存储器I/F 132根据接受的I/O请求,执行对于高速存储器11内的超高速缓存区域的访问、对于高速存储器11内的数据区域的访问或者对于低速存储器12的访问。
FROM 133是可改写的非易失存储器。在FROM 133中存储初始程序加载程序(IPL)。IPL是在使存储控制器13起动时通过CPU 136最初执行的程序。
本地存储器134是像DRAM那样的能够改写的易失存储器。本地存储器134的一部分区域用于存储从本地HDD 135复制的存储控制程序。本地存储器134的另一部分区域作为用于CPU 136的工作区域使用。
本地HDD 135用于存储通过CPU 136执行的存储控制程序。CPU 136通过在使存储控制器13起动时执行IPL,向本地存储器134加载在本地HDD 135中存储的存储控制程序。此外,也可以在FROM 133内存储存储控制程序。
CPU 136,遵照在向本地存储器134加载的存储控制程序的程序代码,作为后述的阵列管理部201、I/O控制部202、逻辑卷管理部203、层次管理部204以及超高速缓存控制部205作用。亦即CPU 136通过芯片组137执行在本地存储器134中存储的存储控制程序,由此控制层次化存储系统10整体(特别是存储控制器13内的各部)。
芯片组137是在内部总线138上结合CPU 136及其周边电路的桥电路。内部总线138是通用总线,例如PCI(Peripheral Component Interconnect(外设部件互联))express总线。主I/F 131、存储器I/F 132以及芯片组137通过内部总线138相互连接。另外,FROM 133、本地存储器134、本地HDD 135以及CPU 136通过芯片组137与内部总线138连接。
图2是主要表示图1中表示的存储控制器13的典型的功能结构的框图。存储控制器13具有阵列管理部201、I/O控制部202、逻辑卷管理部203、层次管理部204以及超高速缓存控制部205。这些功能要素201到205是通过图1中表示的存储控制器13的CPU 136执行存储控制程序实现的软件模块。但是,功能要素201到205的至少一个也可以通过硬件模块实现。
本地存储器134包含控制程序区域134a、表区域134b以及工作区域134c。控制程序区域134a用于存储通过CPU 136执行的存储控制程序的至少一部分。该存储控制程序如上述在本地HDD 135内预先存储,该存储控制程序的至少一部分在存储控制器13起动时从该本地HDD 135加载到控制程序区域134a。
表区域134b用于存储在本地HDD 135中存储的各种表的至少一部分。工作区域134c用于存储在CPU 136执行控制程序时利用的临时的数据。
本地HDD 135(亦即本地存储装置)除了上述存储控制程序之外,存储物理卷管理表135a、逻辑卷管理表135b以及超高速缓冲存储器管理表135c。这些管理表135a、135b以及135c在存储控制器13起动时从本地HDD 135加载到本地存储器134的表区域134b内使用。因此在更新在本地存储器134内加载的管理表的情况下,该更新在本地HDD 135内的对应的管理表内适宜地反映。但是,在以下的说明中为简洁起见,假定物理卷管理表135a、逻辑卷管理表135b以及超高速缓冲存储器管理表135c在本地HDD 135中存储的状态下使用。
物理卷管理表135a的各条目用于保存表示在层次化存储系统10(这里层次化存储系统10的高速存储器11以及低速存储器12)中包含的物理卷的存储区域与哪个逻辑卷的哪个存储区域对应的信息。物理卷管理表135a的各条目进而还用于保存表示物理卷的存储区域的各个的访问特性(例如访问频度以及访问日期时间)的信息。在物理卷管理表135a的各条目中保存的信息称为物理卷管理信息。
逻辑卷管理表135b的各条目用于保存表示在层次化存储系统10内构建的逻辑卷的存储区域与哪个物理卷的哪个存储区域对应的信息。在逻辑卷管理表135b的各条目中保存的信息称为逻辑卷管理信息。
在本实施方式中,逻辑卷的存储区域称为用逻辑块地址(LBA)指定的LBA区域,与该逻辑卷的存储区域(LBA区域)对应的物理卷的存储区域称为页(物理页)。LBA区域以及页由多个块构成。在本实施方式中块也称为分区,是存储控制器13通过存储器接口总线14访问存储器的最小的单位。如上述那样在本实施方式中,LBA区域的大小与1页的大小一致。但是,LBA区域的大小也可以与多个页的大小一致。
超高速缓冲存储器管理表135c的各条目用于保存表示在超高速缓冲存储器中存储的数据(亦即超高速缓存数据)与哪个逻辑卷的哪个存储区域(LBA)对应的信息。在超高速缓冲存储器管理表135c的各条目中保存的信息称为超高速缓冲存储器管理信息。
图3表示图2中表示的物理卷管理表135a的数据结构例。物理卷管理表135a的各条目包含物理卷识别符(ID)字段、页号码字段、逻辑卷ID字段、逻辑块地址(LBA)字段、闪存器字段、超高速缓冲存储器利用字段、复制目的地::复制源字段、以及访问特性字段。图3的物理卷管理表135a中的标记N/A表示“该项无”。
物理卷ID字段用于保存包含通过对应的物理卷管理表135a的条目(以下称对应条目)管理的页(物理页)Pi的物理卷PVj的ID。页号码字段用于保存页Pi的页号码Pi。在图3的物理卷管理表135a中,物理卷ID=0表示高速存储器11的物理卷,物理卷ID=100表示低速存储器12的物理卷。
逻辑块地址(LBA)字段用于保存指示与对应条目中的页号码Pi表示的页Pi对应的LBA区域(更详细说,逻辑卷内的LBA区域)的LBA(对应LBA)。逻辑卷ID字段用于保存用包含对应条目中的LBA表示的LBA区域的多个LBA区域构成的逻辑卷的ID(对应逻辑卷ID)。图3的物理卷管理表135a例如表示物理卷ID是100的物理卷(低速存储器12)内的页号码是5的页与逻辑卷ID是2的逻辑卷内的LBA区域LBA 30建立了对应。
闪存器字段用于保存表示页Pi是否在闪存器阵列(亦即高速存储器11)内存在的标志(闪存器标志)。在页Pi在闪存器阵列内存在的情况下,页Pi利用于在数据区域或者超高速缓存区域的任何一个。
超高速缓冲存储器利用字段用于保存表示页Pi是否作为超高速缓存区域(这里,闪存器阵列、亦即高速存储器11内的超高速缓存区域)被利用的标志(超高速缓存利用标志)。在本实施方式中,在通过超高速缓存利用标志表示页Pi作为超高速缓存区域被利用的情况下,通过闪存器标志表示页Pi存在于闪存器阵列。在这种情况下,与页Pi对应的逻辑卷ID以及LBA成为N/A。此外,与页Pi对应的逻辑卷ID以及LBA表示N/A以外的情况,是页Pi的数据是实数据,而且正使用页Pi(亦即不是空的区域)的情况。图3的物理卷管理表135a例如表示物理卷ID是0的物理卷(亦即高速存储器11)内的页号码是4的页正被作为超高速缓存区域使用。在以下的说明中,把物理卷ID是0的物理卷内的页号码是4的页作为页0-4标记。
复制目的地::复制源字段用于保存关于页Pi的复制目的地以及复制源(复制目的地::复制源)的信息(复制目的地::复制源信息)。复制目的地::复制源信息N/A::N/A表示页Pi的复制目的地和该页Pi的复制源都不存在。N/A::N/A以外的复制目的地::复制源信息表示页Pi的复制目的地或者复制源存在,亦即存在具有和页Pi的数据相同内容的数据的别的页(复制目的地或者复制源)。
具体说,复制目的地::复制源信息a-b::N/A表示,页Pi是复制源,因此页Pi的复制目的地存在。而且该复制目的地的页是页a-b。如上所述,页a-b表示物理卷ID是a的物理卷内的页号码是b的页。同样,复制目的地::复制源信息N/A::c-d表示,页Pi是复制目的地,因此页Pi的复制源存在,而且该复制源的页是c-d。
在本实施方式中,在页Pix是复制源、页Piy是复制目的地而且在页Pix(复制源)内存储的数据被更新的情况下,删除在页Piy(复制目的地)内存储的数据。在这种情况下页Pix以及Piy的复制关系解除。也就是说,页Pix的复制目的地以及页Piy的复制源被变更为N/A。
访问特性字段用于保存表示页Pi的访问次数以及最终访问日期时间的信息。该信息表示页Pi的数据的特性。页Pi的访问次数在每次访问页Pi时增加1。
图4表示图2中表示的逻辑卷管理表135b的数据结构例。逻辑卷管理表135b的各条目包含逻辑卷ID字段、LBA字段、物理卷ID字段、以及页号码字段。
逻辑卷管理表135b的逻辑卷ID字段用于保存包含通过对应条目管理的LBA区域LBAp的逻辑卷LVq的ID。逻辑卷管理表135b的LBA字段用于保存LBA区域LBAp的逻辑块地址LBAp。
逻辑卷管理表135b的物理卷ID字段用于保存与LBAp对应的物理卷的ID。逻辑卷管理表135b的页号码字段用于保存与LBAp对应的页(物理卷内的对应的页)的页号码。
图5表示图2中表示的超高速缓冲存储器管理表135c的数据结构例。超高速缓冲存储器管理表135c的各条目包含超高速缓冲存储器ID字段、逻辑卷ID字段、LBA字段、物理卷ID字段、以及页号码字段。
超高速缓冲存储器管理表135c的超高速缓冲存储器ID字段用于保存通过对应条目管理的超高速缓存区域CAs的ID(超高速缓冲存储器ID)。超高速缓冲存储器管理表135c的逻辑卷ID字段用于保存包含与在超高速缓存区域CAs内存储的超高速缓存数据对应的LBA区域LBAt的逻辑卷的ID。超高速缓冲存储器管理表135c的LBA字段用于保存LBA区域LBAt的逻辑块地址LBAt。
超高速缓冲存储器管理表135c的物理卷ID字段用于保存与逻辑块地址LBAt对应的物理卷的ID。超高速缓冲存储器管理表135c的页号码字段用于保存与逻辑块地址LBAt对应的页(物理卷内的对应的页)。图5的超高速缓冲存储器管理表135c例如表示逻辑卷ID是2的逻辑卷内的LBA区域LBA 30的数据在物理卷ID是0的物理卷(高速存储器11)内的页号码是4的页(亦即超高速缓存页或者超高速缓存区域)内被超高速缓存。
图6表示本实施方式中的层次间的数据移动的例子。图6中表示的高速存储器11以及低速存储器12,如上述,分别位于上位层次以及下位层次。高速存储器11包含页b3、b4以及b5,低速存储器12包含页a5、a6以及a7。这里,假定在页a5、a6以及a7中存储实数据,在页b3、b4以及b5中不存储实数据(有效的实数据)。也就是说假定页b3、b4以及b5是空的页(区域)。在本实施方式中,页的大小是4千字节(KB),块(分区)的大小是512字节(B)。另外,给每一块赋予地址。在这种情况下,1页由与8个连续的地址对应的8个块构成。
在图6中,逻辑卷60由LBA区域的集合构成。LBA区域的集合包含分别用LBA(逻辑块地址)0、1、2、3以及4指定的LBA区域LBA0、LBA1、LBA2、LBA3以及LBA4。LBA区域LBA0是逻辑卷60的起始LBA区域,与地址0到7的范围对应。LBA区域LBA1后续LBA区域LBA0,与地址8到15的范围对应。LBA区域LBA2后续LBA区域LBA1,与地址16到23的范围对应。LBA区域LBA3后续LBA区域LBA2,与地址24到31的范围对应。LBA区域LBA4后续LBA区域LBA3,与地址32到39的范围对应。
当前,假定低速存储器12的页a5、a6以及a7如在图6中用虚线61a、61b以及61c所示那样,向逻辑卷60的LBA区域LBA1、LBA2以及LBA3上映射。假定在该状态下在页a5、a6以及a7中存储的数据的数据特性(例如访问频度)变化(增加)。在这种情况下,CPU 136作为层次管理部204作用,把在页a5、a6以及a7中存储的数据如在图6中用箭头62所示那样,从低速存储器12向高速存储器11的例如页b3、b4以及b5移动。在该数据移动后,CPU 136(层次管理部204)解除页a5、a6以及a7和LBA区域LBA1、LBA2以及LBA3的映射,如在图6中用实线63a、63b以及63c所示那样,把页b3、b4以及b5重新向逻辑卷60的LBA区域LBA1、LBA2以及LBA3映射。也就是说,CPU 136(层次管理部204)使在数据移动前与下位层次的3个页各个的物理地址对应的LBA在数据移动后与上位层次的3个页的各个的物理地址对应。
这样,通过使下位层次的页a5、a6以及a7的数据向上位层次的b3、b4以及b5移动,该数据的层次(更详细说LBA区域LBA1、LBA2以及LBA3的数据的层次)从下位层次变更为上位层次。亦即层次变更一般伴随层次间的数据移动(物理性数据移动)。本实施方式的特征是,在极力抑制从下位层次向上位层次的数据的移动的同时,实现能够把数据的层次从下位层次变更为上位层次的层次变更处理。
下面参照图7说明在本实施方式中应用的层次变更处理。图7是表示层次变更处理的典型的步骤的流程图。层次变更处理主要通过层次管理部204以及超高速缓存控制部205执行。
首先,层次管理部204从物理卷管理表135a中列出低速存储器12中包含的页中的访问次数是上位的L个页(步骤S1)。这里,假定应该列出的页的数L例如遵照用户的操作通过主机20指定。但是该页数L也可以预先规定。另外访问次数的阈值可以通过主机20指定,或者也可以预定。在这种情况下层次管理部204列出访问次数超过阈值的页。此外,在访问次数超过阈值的页的数量超过L的情况下,层次管理部204也可以列出访问次数是上位的L个页。列出的页的页号码被存储在本地存储器134的工作区域134c中。
层次管理部204,从在本地存储器134内存储的列出的页的号码中选择一个。亦即层次管理部204从列出的页的集合中选择一个页Pi(步骤S2)。
于是控制从层次管理部204向超高速缓存控制部205转移。超高速缓存控制部205如下执行关于页Pi的判定步骤S3。首先超高速缓存控制部205根据页Pi的物理卷ID以及页号码,参照物理卷管理表135a的对应的条目,确定与页Pi对应的逻辑卷IDs以及逻辑块地址LBAt的对。接着超高速缓存控制部205参照超高速缓冲存储器管理表135c,判定与页Pi对应的逻辑卷IDs以及逻辑块地址LBAt的对是否存在于该超高速缓冲存储器管理表135c内。根据该判定结果,超高速缓存控制部205判定页Pi的数据是否存储在高速存储器11的超高速缓存区域内。
如果页Pi的数据在高速存储器11的超高速缓存区域内没有存储(步骤S3的No),则超高速缓存控制部205判断为低速存储器12内的页Pi的数据(实数据)是最新的数据。在这种情况下,超高速缓存控制部205向层次管理部204返回控制。于是层次管理部204从高速存储器11内的数据区域的集合中确保1个空的数据区域(亦即空页Pf)。层次管理部204通过存储器I/F 132从低速存储器12向高速存储器11内确保的空页Pf复制页Pi的数据(步骤S4)。
接着层次管理部204如下更新逻辑卷管理表135b,以反映该复制后的状态(步骤S5)。首先,层次管理部204确定包含逻辑卷IDs以及逻辑块地址LBAt的对的逻辑卷管理表135b的条目。然后层次管理部204把确定的条目内的物理卷ID以及页号码从表示低速存储器12的物理卷ID以及页Pi的页号码更新为表示高速存储器11的物理卷ID以及复制目的地的页Pf的页号码。
接着层次管理部204前进到步骤S6。在步骤S6,层次管理部204释放低速存储器12内的页Pi的区域。亦即层次管理部204把在与页Pi的物理卷ID以及页号码对应的物理卷管理表135a的条目内设定的逻辑卷ID以及逻辑块地址LBA的各个更新为N/A。层次管理部204另外把在与复制目的地的页Pf的物理卷ID以及页号码对应的物理卷管理表135a的条目(对应条目)内设定的逻辑卷ID以及逻辑块地址LBA更新为页Pi的区域被释放前和该页Pi建立了对应的逻辑卷IDs以及逻辑块地址LBAt。通过以上的步骤S4到S6,低速存储器12内的页Pi的数据(实数据)被移动到高速存储器11内的页Pf内。
接着层次管理部204判定对于在步骤S1列出的所有的页是否已执行处理(步骤S8)。如果还残留未处理的页(步骤S8的No),则层次管理部204返回步骤S2,选择下一个页Pi。于是超高速缓存控制部205判定页Pi的数据是否在高速存储器11的超高速缓存区域内存储(步骤S3)。
这里,假定页Pi的数据存储在高速存储器11的超高速缓存区域(以下称对应超高速缓存区域)内(步骤S8的Yes)。亦即,除了页Pi的数据(实数据)被存储在低速存储器12内以外,该页Pi的数据作为超高速缓存数据被存储(超高速缓存)在高速存储器11的对应超高速缓存区域(页)内。在这种情况下,超高速缓存控制部205判断为页Pi的数据不从低速存储器12向高速存储器11物理移动就能够将该数据实质上(逻辑上)移动到高速存储器11内的数据区域。更具体说,超高速缓存控制部205通过重新在数据区域上定义高速存储器11的对应超高速缓存区域,判断为逻辑上能够把页Pi的数据移动到该对应超高速缓存区域。重新在数据区域上定义该对应超高速缓存区域的处理称为区域置换处理。亦即所谓区域置换处理是为抑制从下位层次向上位层次的数据移动,把高速存储器11内确保的超高速缓存区域的一部分变更为数据区域的处理。
如上述,在图3的物理卷管理表135a、图4的逻辑卷管理表135b以及图5的超高速缓冲存储器管理表135c的例子中,页100-5的超高速缓存数据(亦即与页100-5对应的逻辑卷ID是2的逻辑卷内的LBA区域LBA 30的数据)存储在页(超高速缓存区域)0-4中。因此,在页Pi例如是页100-5的情况下,亦即在页Pi是物理卷ID=100以及页号码=5的页的情况下,步骤S3的判定成为Yes。
在步骤S3的判定是Yes的情况下,超高速缓存控制部205判断为页Pi(例如页100-5)是应该进行区域置换的页。在这种情况下,超高速缓存控制部205在区域置换列表中追加关于页Pi的信息(步骤S7)。区域置换列表存储在本地存储器134中。关于页Pi的信息包含该页Pi的物理卷ID以及页号码、和对应超高速缓存区域的物理卷ID以及页号码。在页Pi是页100-5的情况下,关于页Pi的信息包含物理卷ID=100以及页号码=5、和物理卷ID=0以及页号码=4。
超高速缓存控制部205若执行步骤S7,则把控制返回层次管理部204。于是层次管理部204判定对于在步骤S1列出的所有的页是否已执行处理(步骤S8)。如果对于所有的页已执行处理(步骤S8的Yes),则层次管理部204再次把控制向超高速缓存控制部205交付。于是超高速缓存控制部205对于在区域置换列表中表示的所有的页执行用于把超高速缓存区域变更为数据区域的区域置换处理(步骤S9)。由此结束层次变更处理。
这样根据本实施方式,在判定为下位层次(低速存储器12)的页Pi的数据因为访问特性(亦即数据特性)的变化应该向上位层次(高速存储器11)移动的情况下(步骤S1以及S2),通过超高速缓存控制部205执行步骤S3。在向超高速缓存区域超高速缓存页Pi的数据的情况下(步骤S3的Yes),超高速缓存控制部205把该页Pi从超高速缓存区域(超高速缓存页)变更为数据区域(实数据页)(步骤S9)。
本实施方式通过这样的区域变更(置换),能够不把页Pi的数据从下位层次向上位层次物理地移动,就得到和数据移动同等的效果。也就是说本实施方式只通过把页Pi的数据的属性从超高速缓存数据变更为实数据,就能够得到和数据移动同等的效果。由此本实施方式能够抑制数据移动。
另外根据本实施方式,在高速存储器11内确保的超高速缓存区域的集合作为层次化存储系统的超高速缓冲存储器使用。因此,能够把在下位层次(低速存储器12)中存储的数据向上位层次(高速存储器11)内超高速缓存,不进行层次间的数据移动就能够抑制对下位层次的数据访问。
下面参照图8说明在上述的层次变更处理中包含的区域置换处理(步骤S9)的详情。图8是表示区域置换处理的典型的步骤的流程图。首先超高速缓存控制部205从在存储器134内存储的区域置换列表中选择一页Pj(更详细说,关于页Pj的信息)(步骤S11)。如上述,区域置换列表表示在层次变更处理中判定为在高速存储器11的超高速缓存区域内存储有超高速缓存数据的页的集合。另外,关于页Pj的信息包含该页Pj的物理卷ID以及页号码、和对应超高速缓存区域的物理卷ID以及页号码。
接着超高速缓存控制部205如下检索与页Pj对应的第一以及第二条目(步骤S12)。首先超高速缓存控制部205根据页Pj的对应超高速缓存区域的物理卷ID以及页号码,从物理卷管理表135a中检索第一条目。第一条目包含页Pj的对应超高速缓存区域的物理卷ID以及页号码。接着超高速缓存控制部205根据页Pj的物理卷ID以及页号码,从物理卷管理表135a中检索第二条目。第二条目包含页Pj的物理卷ID以及页号码。在页Pj是页100-5的情况下,包含对应超高速缓存区域的物理卷ID=0以及页号码=4的条目作为第一条目而被检索,包含物理卷ID=100以及页号码=5的条目作为第二条目被检索。
接着超高速缓存控制部205把物理卷管理表135a的第一条目的超高速缓冲存储器利用字段的内容(超高速缓冲存储器利用标记)从“Yes”变更为“No”(步骤S13)。接着超高速缓存控制部205将与逻辑卷管理表135b中的实数据(页Pj的实数据)对应的条目的物理卷ID以及页号码变更为表示存储有当前页Pj的超高速缓存数据的页(亦即页Pj的对应超高速缓存区域)(步骤S14)。在页Pj是页100-5、页Pj的对应超高速缓存区域是页0-4的情况下,如下执行步骤S14。
首先超高速缓存控制部205参照超高速缓冲存储器管理表135c,从物理卷ID是0、页号码是4的条目中,作为逻辑卷ID以及逻辑块地址LBA分别取得2以及LBA 30。接着超高速缓存控制部205确定包含取得的逻辑卷ID=2以及逻辑块地址LBA=LBA 30的、逻辑卷管理表135b的对应条目。然后超高速缓存控制部205把确定的逻辑卷管理表135b的对应条目的物理卷ID以及页号码从100以及5分别变更为0以及4。由此,页Pj的对应超高速缓存区域(亦即页0-4)被变更为数据区域,页0-4内的超高速缓存数据作为实数据使用。
接着超高速缓存控制部205把物理卷管理表135a的第一条目的复制目的地::复制源字段中的复制目的地信息从“N/A”变更为指示实数据(更详细说,存储有页Pj的实数据的区域)的“物理卷ID-页号码”(亦即第二条目内的“物理卷ID-页号码”)(步骤S15)。接着超高速缓存控制部205把物理卷管理表135a的第二条目的复制目的地::复制源字段中的复制源信息从“N/A”变更为表示对应超高速缓存区域(更详细说,存储有当前页Pj的超高速缓存数据的区域)的“物理卷ID-页号码”(亦即第一条目内的“物理卷ID-页号码”)(步骤S16)。在页Pj是页100-5、页Pj的对应超高速缓存区域是页0-4的情况下,物理卷管理表135a的第一条目的复制目的地信息被变更为100-5,物理卷管理表135a的第二条目的复制源信息被变更为0-4。由此,变更为数据区域的上位层次的页0-4(作为页0-4的实数据使用的超高速缓存数据)以及下位层次的页100-5(页100-5的旧实数据)通过分别对应的复制目的地::复制源字段被关联。
这样,通过复制目的地::复制源字段关联的、上位层次的页(更详细说,变更为数据区域的页)0-4的数据和下位层次的页100-5的数据相等。亦即在上位层次的页0-4以及下位层次的页100-5中存储相同内容的数据。因此,从存储区域的有效利用的观点考虑,优选的是,把下位层次的页100-5作为未分配区域释放。另一方面,应该注意通过区域定义的变更逻辑地移动到上位层次的页0-4的数据将来通过数据特性的变化(例如访问频度降低)再次成为应该向下位层次移动的数据的情况。在这样的情况下,如果把下位层次的页100-5作为未分配区域释放,则发生把上位层次的页0-4的数据向下位层次移动的动作。但是,根据本实施方式,不把下位层次的页100-5作为未分配区域释放,而是和上位层次的页(更详细说,变更为数据区域的页)0-4关联(步骤S13到S15)。该状态如后述,维持到上位层次的页0-4的数据被更新为止(图9的步骤S31以及S38到S41)。这里,假定发生了把上位层次的页0-4的数据向下位层次移动的必要性。如果上位层次的页0-4的数据依然未更新,则该数据和未释放而残留的下位层次的页100-5的数据一致。因此本实施方式通过利用残留的下位层次的页100-5的数据,能够不物理地向下位层次移动上位层次的页0-4的数据而得到和数据移动同等的效果。也就是说,根据本实施方式,能够抑制数据移动。
接着超高速缓存控制部205相互替换物理卷管理表135a的第一以及第二条目的逻辑卷ID以及LBA(步骤S17)。在该替换后,超高速缓存控制部205把第二条目的逻辑卷ID字段以及LBA字段都变更为“N/A”。接着超高速缓存控制部205从超高速缓冲存储器管理表135c中删除与页Pj(页100-5)的超高速缓存数据对应的条目(步骤S18)。
接着超高速缓存控制部205判定对于在区域置换列表中表示的所有的页是否都已执行处理(步骤S19)。如果残留有未处理的页(步骤S19的No),则再次执行上述的步骤S11到S18。这样超高速缓存控制部205当对于区域置换列表表示的所有的页都执行了步骤S11到步骤S18时(步骤S19的Yes),前进到步骤S20。在步骤S20,超高速缓存控制部205执行数据区域释放处理。由此区域置换处理结束。所谓数据区域释放处理,是用于把与通过向数据区域的变更而减少的超高速缓存区域相当的数据区域重新变更为超高速缓存区域的处理。
接着参照图9说明在本实施方式中应用的I/O(输入输出)处理。图9是表示I/O处理的典型的步骤的流程图。I/O处理在I/O控制部202接受了I/O请求(命令)的情况下,通过该I/O控制部202以及超高速缓存控制部205执行。I/O请求例如通过主机20发行,包含表示访问目的地的逻辑卷ID以及LBA的对、和表示I/O的类别(读或写)的信息。
当前,假定I/O控制部202通过主I/F 131接受来自主机20的I/O请求。在这种情况下,I/O控制部202判定接受的I/O例如是否是读请求(步骤S31)。如果接受的I/O请求例如是读请求(步骤S31的Yes),则I/O控制部202向超高速缓存控制部205交付控制。
超高速缓存控制部205判定接受的I/O请求指定的数据是否是在高速存储器11的超高速缓存区域内存在的超高速缓存命中(步骤S32)。超高速缓存控制部205根据能否从超高速缓冲存储器管理表135c中检索到存在所接受的I/O请求中包含的逻辑卷ID以及LBA的对,执行该判定。
如果不是超高速缓存命中(步骤S32的No),则超高速缓存控制部205如下判定是否是来自高速存储器11的数据读(步骤S33)。首先超高速缓存控制部205从逻辑卷管理表135b检索与在接受的I/O请求中包含的逻辑卷ID以及LBA的对建立了对应的物理卷ID以及页号码的对。接着超高速缓存控制部205参照包含检索到的物理卷ID以及页号码的对的物理卷管理表135a的条目中的闪存器标志。超高速缓存控制部205根据该参照的闪存器标志的状态,判定是否是来自高速存储器11的数据读。
如果不是来自高速存储器11的数据读(步骤S33的No),则超高速缓存控制部205前进到步骤S34。在步骤S34,超高速缓存控制部205从用检索到的物理卷ID以及页号码的对指定的低速存储器12的区域中,通过I/O控制部202经由存储器I/F 132读数据。接着超高速缓存控制部205把从低速存储器12的区域中读取的数据经由存储器I/F 132向高速存储器11的超高速缓存区域中超高速缓存(步骤S35)。然后超高速缓存控制部205向I/O控制部202返回控制。于是I/O控制部202通过主I/F 131从低速存储器12向主机20传送读取的数据(步骤S37)。
而如果是来自高速存储器11的数据读(步骤S33的Yes),则超高速缓存控制部205前进到步骤S36。在步骤S36,超高速缓存控制部205使得通过I/O控制部202经由存储器I/F132读取存储在用检索到的物理卷ID以及页号码的对指定的高速存储器11的数据区域内的数据。这样在来自高速存储器11的数据读的情况下,与来自低速存储器12的数据读不同,超高速缓存控制部205抑制向高速存储器11的超高速缓存区域中超高速缓存读取的数据,把控制返回到I/O控制部202。I/O控制部202使得通过主I/F 131向主机20传送从高速存储器11读取的数据(步骤S37)。
另一方面,在是超高速缓冲存储器命中的情况下(步骤S32的Yes),超高速缓存控制部205通过存储器I/F 132取得存储在高速存储器11的对应的超高速缓存区域中的超高速缓存数据。该超高速缓存区域通过为了步骤S32中的判定而从超高速缓冲存储器管理表135c中检索到的条目中的物理卷ID以及页号码的对来确定。I/O控制部202通过主I/F 131向主机20传送从确定的超高速缓存区域中通过超高速缓存控制部205取得的超高速缓存数据(步骤S37)。
接着假定接受的I/O请求不是读请求(步骤S31的No)。亦即假定接受的I/O请求是写请求。在该情况下,超高速缓存控制部205判定是否是与接受的I/O请求指定的写数据对应的超高速缓存数据存储在高度存储器11的超高速缓存区域中的超高速缓冲存储器命中。超高速缓存控制部205和步骤S32同样执行该判定。
如果不是超高速缓冲存储器命中(步骤S38的No),则超高速缓存控制部205如下判定是否是对高速存储器11的数据写(步骤S39)。首先超高速缓存控制部205从逻辑卷管理表135b中检索与接受的I/O请求中所包含的逻辑卷ID以及LBA的对建立了对应的物理卷ID以及页号码的对。接着超高速缓存控制部205参照包含检索到的物理卷ID以及页号码的对的物理卷管理表135a的条目中的闪存器标志。超高速缓存控制部205根据该参照的闪存器标志的状态判定是否是向高速存储器11的数据写。
如果不是向高速存储器11的数据写(步骤S39的No),则超高速缓存控制部205前进到步骤S40。在步骤S40,超高速缓存控制部205经由存储器I/F 132向高速存储器11的对应的超高速缓存区域超高速缓存用接受的I/O请求指定的写数据。
接着超高速缓存控制部205判定超高速缓存数据和实数据是否有复制关系(步骤S41)。如果两数据有复制关系(步骤S41的Yes),则因为超高速缓存数据和实数据不同,所以超高速缓存控制部205判断为两者的复制关系破坏。
因此超高速缓存控制部205如下解除两者的复制关系(步骤S42)。首先超高速缓存控制部205从物理卷管理表135a中检索与接受的I/O请求中包含的逻辑卷ID以及LBA的对建立了对应的条目。亦即超高速缓存控制部205检索与用接受的I/O请求指定的写目的地的页建立了对应的、物理卷管理表135a的条目。然后超高速缓存控制部205把检索到的条目的复制目的地::复制源字段中的复制源信息变更为“N/A”。进行该变更前的复制源信息在对应的超高速缓存区域内存在相同内容的数据时表示“N/A”以外的值。超高速缓存控制部205另外检索与用变更前的复制源信息表示的超高速缓存区域对应的物理卷管理表135a的条目。然后超高速缓存控制部205把检索到的条目的复制目的地::复制源字段中的复制目的地信息变更为“N/A”。由此解除超高速缓存数据和实数据的复制关系。于是超高速缓存控制部205把控制返回给I/O控制部202。I/O控制部202经由存储器I/F 132向低速存储器12写入接受的I/O请求指定的写数据(步骤S43)。
而如果上述的两数据没有复制关系(步骤S41的No),则超高速缓存控制部205把控制返回I/O控制部202。I/O控制部202经由存储器I/F 132向低速存储器12写入接受的I/O请求指定的写数据(步骤S43)。
另一方面,在是超高速缓冲存储器命中的情况下(步骤S38的Yes),超高速缓存控制部205前进到步骤S44。另外在不是超高速缓冲存储器命中的情况下(步骤S38的No),在是对高速存储器11的数据写的情况下,超高速缓存控制部205也前进到步骤S44。在步骤S44,超高速缓存控制部205不向高速存储器11的上述超高速缓存区域超高速缓存指定的写数据,而是使得通过I/O控制部202经由存储器I/F 132对于用检索到的物理卷ID以及页号码的对指定的高速存储器11的数据区域写入该写数据(步骤S44)。
这样根据本实施方式,在来自主机20的I/O请求是读请求(步骤S31的Yes)、而且该读请求不是指定来自高速存储器11的数据读的情况下(步骤S33的No),超高速缓存控制部205向高速存储器11的超高速缓存区域超高速缓存从低速存储器12读出的数据(步骤S34以及S35)。而在读请求是指定来自高速存储器11的数据读的情况下(步骤S33的Yes),超高速缓存控制部205不向高速存储器11的超高速缓存区域超高速缓存从高速存储器11读出的数据(步骤S36)。
另外,在来自主机20的I/O请求是写请求(步骤S31的No)、而且该写请求不指定对高速存储器11的数据写的情况下(步骤S39的No),超高速缓存控制部205向高速存储器11的超高速缓存区域超高速缓存写数据(步骤S40)。而在写请求指定对高速存储器11的数据写的情况下(步骤S39的Yes),超高速缓存控制部205不进行写数据的超高速缓存(步骤S44)。
这样本实施方式能够把向超高速缓存区域超高速缓存的数据限制为下位层次的数据,防止上位层次(和超高速缓存区域相同的存储装置,亦即高速存储器11)的数据向超高速缓存区域内存储。由此,与上位层次的数据也保存在超高速缓存区域内的情况相比,因为下位层次的数据保存在超高速缓存区域内的容量增加,结果获得减少向下位层次的数据访问的效果。另外,也有助于减少相同的数据重复保存在上位层次的存储装置内引起的存储容量的紧张。
下面参照图10说明上述的区域置换处理中包含的数据区域释放处理(步骤S20)的详情。图10是表示数据区域释放处理的典型的步骤的流程图。首先超高速缓存控制部205判定在高速存储器11内确保的超高速缓冲存储器的大小(超高速缓存量)是否应比当前增加(步骤S51)。当在区域置换处理中超高速缓存区域被变更为数据区域时,超高速缓存量减少。在该状态下,例如如果对下位层次的I/O增加,则有层次化存储系统的I/O性能降低的可能性。因此为了防止层次化存储系统的I/O性能降低,有必要适当地维持超高速缓存量。适当的超高速缓存量(以下称目标超高速缓存量)例如根据数据访问的局部性(亦即不平衡)、或者高速存储器11整体的存储容量决定。这样的计算目标超高速缓存量的方法是公知的。
如果因为超高速缓存量通过区域置换处理比目标超高速缓存量减少而存在层次化存储系统的I/O性能降低的可能性,则超高速缓存控制部205判定为应该增加超高速缓存量(步骤S51的Yes)。在这种情况下,超高速缓存控制部205计算相对于目标超高速缓存量而言不足的大小(步骤S52)。这里,为简化说明,假定执行区域置换前的超高速缓存量与目标超高速缓存量一致。因此超高速缓存控制部205把在区域置换处理中从超高速缓存区域变更为数据区域的页的合计大小作为不足大小来计算。
接着超高速缓存控制部205列出补充不足大小所应该使用的(亦即应该从数据区域变更为超高速缓存区域的)页(步骤S53)。亦即超高速缓存控制部205在高速存储器11的数据区域中包含的页中,从物理卷管理表135a中列出访问次数是下位的M个页。这里以访问次数的升序列出M个页。M个页的大小等于不足大小。
接着超高速缓存控制部205从列出的页的集合中选择一个页Pq(步骤S54),向层次管理部204交付控制。于是层次管理部204根据超高速缓存控制部205的指示,把页Pq(亦即高速存储器11内的页Pq)的数据向低速存储器12的例如页Ppd复制(移动)(步骤S55)。在步骤S55,与向页Ppd的复制(移动)对应地,层次管理部204更新物理卷管理表135a以及逻辑卷管理表135b。亦即层次管理部204更新逻辑卷管理表135b内的对应的条目,以在逻辑卷管理表135b内与页Pq建立了对应的逻辑卷IDu以及LBAv重新与页Ppd对应。另外在步骤S55,层次管理部204更新与该页Ppd对应的物理卷管理表135a内的条目,以在物理卷管理表135a内页Ppd重新与逻辑卷IDu以及LBAv建立对应。然后层次管理部204向超高速缓存控制部205返回控制。
于是超高速缓存控制部205从高速存储器11的数据区域中删除(释放)页Pq,把该页Pq变更为超高速缓存区域(步骤S56)。具体说,超高速缓存控制部205把与页Pq对应的物理卷管理表135a内的条目的超高速缓存标志从“No”变更为“Yes”。另外,超高速缓存控制部205把与页Pq对应的物理卷管理表135a内的条目的逻辑卷ID、LBA、复制目的地::复制源、以及访问特性都变更为“N/A”。由此,页Pq被从数据区域释放,变更为可作为超高速缓存区域利用的空的区域。
超高速缓存控制部205协同层次管理部204对于在步骤S53列出的M个页重复上述的步骤S54到S56(步骤S57)。此外,如果步骤S51的判定是No,则超高速缓存控制部205不释放数据区域,结束数据区域释放处理。
这样根据本实施方式,在有必要把数据区域变更为超高速缓存区域的情况下(步骤S51的Yes),超高速缓存控制部205优先释放访问次数是下位的上位层次的数据区域(页)(步骤S53到S56)。在访问次数是下位的上位层次的数据区域内存储的数据,是存储目的地应该被变更为下位层次的数据。一般情况下,在释放上位层次的数据区域来变更为超高速缓存区域的情况下,需要把释放的数据区域的数据向下位层次移动。其原因是,如果仅是释放上位层次的数据区域,则该数据区域的数据会被丢失。因此本实施方式在数据区域的数据中,优先把再次向上位层次移动的可能性低的数据(亦即存储目的地应该被变更为下位层次的数据)向下位层次移动。由此,能够抑制从下位层次向上位层次的数据移动。
接着参照图11说明在本实施方式中应用的超高速缓存区域释放处理。图11是表示超高速缓存区域释放处理的典型的步骤的流程图。与数据区域释放处理相反,超高速缓存区域释放处理是在高速存储器11中数据区域不足的情况下执行的。
首先超高速缓存控制部205决定应该释放的超高速缓存区域的大小(步骤S61)。接着超高速缓存控制部205列出补充所决定的大小应该使用的(亦即应该从超高速缓存区域变更为数据区域的)页(超高速缓存页)(步骤S62)。亦即超高速缓存控制部205在高速存储器11的超高速缓存区域中包含的页中,从物理卷管理表135a中列出访问次数是下位的N个页。这里以访问次数的升序列出N个页。N个页的大小等于在步骤S61决定的大小。
接着超高速缓存控制部205从列出的页的集合中选择一个页(超高速缓冲存储器)页Pr(步骤S63)。接着超高速缓存控制部205判定和页Pr(亦即高速存储器11内的页Pr)的超高速缓存数据有复制关系的实数据是否在低速存储器12内(步骤S64)。超高速缓存控制部205根据与页Pr对应的物理卷管理表135a内的条目的复制目的地是否是“N/A”以外来执行该判定。
如果复制目的地是“N/A”,则判定为和页Pr的超高速缓存数据有复制关系的实数据不在低速存储器12内(步骤S64的No)。这样,和页Pr的超高速缓存数据有复制关系的实数据不存在表示该超高速缓存数据是无效数据。亦即所谓超高速缓存数据是无效数据指该超高速缓存数据未作为实数据反应在低速存储器内。
在步骤S64的判定是No的情况下,超高速缓存控制部205向层次管理部204交付控制。于是层次管理部204根据超高速缓存控制部205的指示,把页Pr的数据向低速存储器12的例如页Ppc复制(移动)(步骤S65)。在步骤S65,和上述对页Ppd的数据复制(移动)的情况同样地,与对页Ppc的数据复制(移动)对应地,层次管理部204更新物理卷管理表135a以及逻辑卷管理表135b。然后,层次管理部204向超高速缓存控制部205返回控制。于是超高速缓存控制部205前进到步骤S67。
对此,如果复制目的地是“N/A”以外的标记,则超高速缓存控制部205判定为和页Pr的超高速缓存数据有复制关系的实数据在低速存储器12内(步骤S64的Yes)。这样,存在和页Pr的超高速缓存数据有复制关系的实数据表示该超高速缓存数据不是无效数据。这里,假定和页Pr的超高速缓存数据有复制关系的实数据在低速存储器12的页Ppc中。在这种情况下,应该注意不需要进行页Pr的超高速缓存数据向低速存储器12的数据复制(所谓超高速缓存同步化)。
因此超高速缓存控制部205抑制页Pr的超高速缓存数据向低速存储器12的数据复制。然后,超高速缓存控制部205用和上述I/O处理中的步骤S42同样的方法解除在步骤S64判定的复制关系(步骤S66),然后前进到步骤S67。
在步骤S67,超高速缓存控制部205从高速存储器11的超高速缓存区域中删除(释放)页Pr,把该页Pr变更为数据区域。具体说,超高速缓存控制部205把与页Pr对应的物理卷管理表135a内的条目的超高速缓存标志从“Yes”变更为“No”。另外超高速缓存控制部205把与页Pr对应的物理卷管理表135a内的条目的逻辑卷ID、LBA、复制目的地::复制源、以及访问特性都变更为“N/A”。由此,页Pr从超高速缓存区域中被释放,变更为可作为数据区域利用的空的区域。超高速缓存控制部205协同层次管理部204,对于在步骤S62列出的N个页重复上述的步骤S63到S67(步骤S68)。
这样根据本实施方式,超高速缓存控制部205优先释放访问次数是下位的超高速缓存区域(页)(步骤S62到S67)。亦即本实施方式优先释放存储有向上位层次移动的可能性低的数据(亦即存储目的地不应该变更为上位层次的数据)的超高速缓存区域。由此,能够抑制从下位层次向上位层次的数据移动。
另外根据本实施方式,在应该释放的超高速缓存区域(页)内存储有非无效的超高速缓存数据(亦即非无效数据)的情况下(步骤S64的Yes),超高速缓存控制部205抑制该超高速缓存数据向下位层次的复制(移动)。具体说,在和应该释放的超高速缓存区域内的超高速缓存数据有复制关系的实数据在低速存储器12内的情况下,超高速缓存控制部205在释放超高速缓存区域并且把该超高速缓存区域变更为数据区域前(步骤S67),代替步骤S65执行步骤S66。亦即超高速缓存控制部205代替把应该释放的超高速缓存区域内的非无效数据向下位层次移动,解除该非无效数据的复制关系(步骤S66)。由此,能够抑制把超高速缓存区域变更为数据区域时的从上位层次向下位层次的数据移动。因此,例如在对存储有非无效数据的第一超高速缓存区域的访问次数和对存储有无效数据的第二超高速缓存区域的访问次数相同的情况下,超高速缓存控制部205可以优先释放第一超高速缓存区域。
下面参照图12说明在本实施方式中应用的超高速缓存同步化处理。图12是表示超高速缓存同步化处理的典型的步骤的流程图。超高速缓存同步化处理是在超高速缓存控制部205接受了超高速缓存同步化请求的情况下由该超高速缓存控制部205来执行的。超高速缓存同步化请求,是在超高速缓存区域中存储有无效数据(亦即在存储器中未反映的超高速缓存数据)的情况下,指示超高速缓存控制部205把该无效数据向存储有与该无效数据对应的实数据的区域内写入(复制或者反映)的命令(亦即写请求)。超高速缓存同步化请求是例如在操作系统(OS)关机那样的事件发生的情况下通过该OS发行的。另外,为释放存储有无效数据的超高速缓存区域而需要从该超高速缓存区域清除该无效数据的情况下,也发行超高速缓存同步化请求。进而,还存在以存储控制器13中预先设定的时间表发行超高速缓存同步化请求的情况。
当前,假定超高速缓存控制部205接受了超高速缓存同步化请求。在这种情况下,超高速缓存控制部205根据物理卷管理表135a,选择作为超高速缓冲存储器利用的高速存储器11内的无效的页(超高速缓存页)(步骤S71)。所谓无效的页指存储有未在存储器(这里是低速存储器12)中反映的数据(亦即无效数据)的页。
接着超高速缓存控制部205判定在选择的超高速缓存页中所存储的超高速缓存数据(亦即无效数据)是否应该和低速存储器12同步化(步骤S72)。所谓超高速缓存数据和低速存储器12同步化指该超高速缓存数据作为实数据向低速存储器12复制。该判定是根据所选择的超高速缓存页的数据是否优选置于(存储在)低速存储器12内来执行的。具体说,超高速缓存控制部205根据所选择的超高速缓存页的访问次数是否进入高速存储器11内的所有无效的高速缓冲存储器页中的下位的F位内来执行判定步骤S72。此外,也可以根据选择的超高速缓存页的访问次数是否低于阈值,由超高速缓存控制部205执行步骤S72。
在步骤S72的判定是Yes的情况下,超高速缓存控制部205把选择的超高速缓存页的数据(超高速缓存数据)作为实数据向低速存储器12内复制(步骤S73)。更详细说,超高速缓存控制部205把与该数据对应、而且在低速存储器12内所存储的旧实数据置换为所选择的超高速缓存页的数据。由此,选择的超高速缓存页的超高速缓存数据被和低速存储器12同步化。
根据本实施方式,在步骤S73中数据从高速存储器11(上位层次)向低速存储器12(下位层次)移动的超高速缓存页限于访问次数是下位的无效超高速缓存页。亦即在本实施方式中,数据被移动的超高速缓存页限于超高速缓存数据优选置于下位层次的无效超高速缓存页。因此根据本实施方式,能够抑制被移动到下位层次的数据再次向上位层次移动。
这里,关于超高速缓存数据优选置于上位层次中的无效超高速缓存页,也假定该超高速缓存数据和本实施方式不同地从上位层次向下位层次移动。在这种情况下,被移动到下位层次的数据再次向上位层次移动。亦即发生徒劳的数据移动的往复。本实施方式能够防止这样的徒劳的数据移动的往复。
另一方面,在步骤S72的判定是No的情况下,超高速缓存控制部205执行用于把选择的超高速缓存页(超高速缓存区域)变更为实页(数据区域)的区域置换处理(步骤S74)。该超高速缓存同步化处理中的区域置换处理(步骤S74)和层次变更处理中的区域置换处理(步骤S9)同样地执行。
在本实施方式中超高速缓存控制部205把因为访问次数多而判定为应该置于高速存储器11中的无效超高速缓存页的超高速缓存数据作为不应该同步化的数据来分类(步骤S72的No)。在这种情况下,超高速缓存控制部205如上述,代替超高速缓存同步化,进行向选择的无效超高速缓存页(超高速缓存区域)的实页(数据区域)的区域变换(步骤S74)。由此,从无效超高速缓存页(超高速缓存区域)变更的实页的内容(实数据)与该无效超高速缓存页的内容(超高速缓存数据)一致。但是,与实页对应的超高速缓存页自身不存在。
因此本实施方式在判定为选择的无效超高速缓存页的数据应该置于高速存储器11内的情况下(步骤S72的No),通过执行步骤S74,能够抑制层次间的数据移动(更详细说,从高速存储器11内的超高速缓存页向低速存储器12内的实页的数据移动),同时得到和伴随有层次间的数据移动的超高速缓存同步化同等的效果。
根据以上说明的至少一种实施方式,能够提供能够抑制层次间的数据移动,同时能够维持输入输出性能的层次化存储系统、存储控制器、以及代替层次间的数据移动的方法。
虽然说明了本发明的几种实施方式,但是这些实施方式是作为例子提示的实施方式,不限定发明的范围。这些新颖的实施方式,能够用其他各种方式实施,在不脱离发明的要点的范围内,能够进行各种省略、置换、变更。这些实施方式及其变形都包含在发明的范围或要点内,同时被包含在与权利要求书中记载的发明及其同等的范围内。
Claims (9)
1.一种存储控制器,在层次化存储系统中处理来自主计算机的输入输出请求,上述层次化存储系统具有:第一存储装置,包含第一物理卷;和第二存储装置,包含第二物理卷,且与上述第一存储装置相比,访问速度低且存储容量大,
上述存储控制器具有:
逻辑卷管理部,向上述主计算机提供使用上述第一物理卷和上述第二物理卷逻辑地构成的逻辑卷;
层次管理部,将上述第一物理卷作为第一层次来管理,将上述第二物理卷作为比上述第一层次低的第二层次来管理,并且根据数据的访问频度,决定或者变更应存储该数据的层次;以及
超高速缓存控制部,将上述第一物理卷内的存储区域分割为存储数据的数据区域的集合和存储超高速缓存数据的超高速缓存区域的集合,使上述超高速缓存区域的集合作为上述层次化存储系统的超高速缓冲存储器来发挥作用,
在由上述层次管理部判断为存储在上述第二物理卷中的第一数据应向上述第一物理卷移动时,在上述第一物理卷的第一超高速缓存区域中也已经存储有上述第一数据的情况下,上述超高速缓存控制部将上述第一超高速缓存区域变更为第一数据区域。
2.根据权利要求1所述的存储控制器,其中,
在来自上述主计算机的输入输出请求是读请求、且上述读请求指定了从上述第一物理卷的第一存储区域读取数据的情况下,上述超高速缓存控制部抑制将从上述第一存储区域读取的数据向上述第一物理卷的超高速缓存区域进行超高速缓存,
在上述读请求指定了从上述第二物理卷的第二存储区域读取数据的情况下,上述超高速缓存控制部将从上述第二存储区域读取的数据向上述第一物理卷的超高速缓存区域进行超高速缓存。
3.根据权利要求1所述的存储控制器,其中,
与从超高速缓存区域向数据区域的变更相应地,上述超高速缓冲存储器的大小减小了第一大小的情况下,上述超高速缓存控制部将与上述第一大小相当的数据区域变更为超高速缓存区域。
4.根据权利要求3所述的存储控制器,其中,
上述超高速缓存控制部在将与上述第一大小相当的数据区域变更为超高速缓存区域的情况下,优先将存储有存储目的地应变更为上述第二物理卷的数据的数据区域变更为超高速缓存区域。
5.根据权利要求4所述的存储控制器,其中,
上述超高速缓存控制部在将超高速缓存区域变更为数据区域的情况下,优先将存储有存储目的地应变更为上述第二物理卷、且与对应的实数据一致的超高速缓存数据的超高速缓存区域变更为数据区域。
6.根据权利要求1所述的存储控制器,其中,
上述超高速缓存控制部在上述第一超高速缓存区域被变更为上述第一数据区域之后,存储在上述第一数据区域中的上述第一数据被更新了的情况下,将与上述第一数据区域不同的存储有上述第一数据的上述第二物理卷内的存储区域作为未分配区域来释放。
7.根据权利要求1所述的存储控制器,其中,
上述超高速缓存控制部在接收了指定将存储在超高速缓存区域中的数据反映到上述第二物理卷上的超高速缓存同步化请求的情况下,选择存储有未反映在上述第二物理卷上的第二数据的第二超高速缓存区域,
根据上述第二数据的数据特性,判定上述第二数据是否应存储在上述第一物理卷中,
在上述第二数据不应存储在上述第一物理卷中的情况下,将上述第二数据反映到上述第二物理卷,
在上述第二数据应存储在上述第一物理卷中的情况下,将上述第二超高速缓存区域变更为数据区域。
8.一种层次化存储系统,具有:
第一存储装置,包含第一物理卷;
第二存储装置,包含第二物理卷,且与上述第一存储装置相比,访问速度低且存储容量大;以及
存储控制器,处理来自主计算机的输入输出请求,
上述存储控制器具有:
逻辑卷管理部,向上述主计算机提供使用上述第一物理卷和上述第二物理卷逻辑地构成的逻辑卷;
层次管理部,将上述第一物理卷作为第一层次来管理,将上述第二物理卷作为比上述第一层次低的第二层次来管理,并且根据数据的访问频度,决定或者变更应存储该数据的层次;以及
超高速缓存控制部,将上述第一物理卷内的存储区域分割为存储数据的数据区域的集合和存储超高速缓存数据的超高速缓存区域的集合,使上述超高速缓存区域的集合作为上述层次化存储系统的超高速缓冲存储器来发挥作用,
在由上述层次管理部判断为存储在上述第二物理卷中的第一数据应向上述第一物理卷移动时,在上述第一物理卷的第一超高速缓存区域中也已经存储有上述第一数据的情况下,上述超高速缓存控制部将上述第一超高速缓存区域变更为第一数据区域。
9.一种代替层次间的数据移动的方法,适用于在层次化存储系统中处理来自主计算机的输入输出请求的存储控制器,上述层次化存储系统具有:第一存储装置,包含第一物理卷;和第二存储装置,包含第二物理卷,且与上述第一存储装置相比,访问速度低且存储容量大,上述层次化存储系统向上述主计算机提供使用上述第一物理卷和上述第二物理卷逻辑地构成的逻辑卷,且将上述上述第一物理卷作为第一层次来管理,将上述第二物理卷作为比上述第一层次低的第二层次来管理,
在上述方法中,
将上述第一物理卷内的存储区域分割为存储数据的数据区域的集合和存储超高速缓存数据的超高速缓存区域的集合,
使上述超高速缓存区域的集合作为上述层次化存储系统的超高速缓冲存储器来发挥作用,
根据存储在上述第二物理卷中的数据的访问频度,选择应从上述第二物理卷向上述第一物理卷移动的第一数据,
在上述第一物理卷的第一超高速缓存区域中也已经存储有上述第一数据的情况下,代替将上述第一数据向上述第一物理卷移动,将上述第一超高速缓存区域变更为第一数据区域。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/052309 WO2015114809A1 (ja) | 2014-01-31 | 2014-01-31 | 階層化ストレージシステム、ストレージコントローラ、及び階層間のデータ移動を代替する方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104969170A CN104969170A (zh) | 2015-10-07 |
CN104969170B true CN104969170B (zh) | 2017-09-08 |
Family
ID=53277132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480000622.2A Active CN104969170B (zh) | 2014-01-31 | 2014-01-31 | 层次化存储系统、存储控制器以及代替层次间的数据移动的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9454317B2 (zh) |
JP (1) | JP5707540B1 (zh) |
CN (1) | CN104969170B (zh) |
WO (1) | WO2015114809A1 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679661B (zh) | 2013-11-27 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 混合存储的控制方法及混合存储系统 |
CN105611979B (zh) * | 2014-03-18 | 2018-08-21 | 株式会社东芝 | 具备试验区域的层级化存储系统、存储控制器及介质 |
WO2016157274A1 (ja) * | 2015-03-27 | 2016-10-06 | 株式会社日立製作所 | ストレージ管理計算機 |
JP6269575B2 (ja) * | 2015-05-25 | 2018-01-31 | 日本電気株式会社 | ストレージシステム、サーバ、キャッシュ方法およびプログラム |
JP5976980B1 (ja) * | 2015-08-25 | 2016-08-24 | 株式会社東芝 | 階層化ストレージシステム、階層化ストレージ装置を利用するコンピュータ、及びファイルへのアクセスのカウントを補正する方法 |
WO2017046871A1 (ja) * | 2015-09-15 | 2017-03-23 | 株式会社日立製作所 | 情報処理装置、拡張メモリおよび情報処理装置のメモリ制御方法 |
US10320936B2 (en) | 2015-10-20 | 2019-06-11 | International Business Machines Corporation | Populating a secondary cache with unmodified tracks in a primary cache when redirecting host access from a primary server to a secondary server |
US10127152B2 (en) * | 2015-10-20 | 2018-11-13 | International Business Machines Corporation | Populating a second cache with tracks from a first cache when transferring management of the tracks from a first node to a second node |
JP6067819B1 (ja) * | 2015-10-21 | 2017-01-25 | 株式会社東芝 | 階層化ストレージシステム、ストレージコントローラ、並びに重複排除及びストレージ階層化のための方法 |
WO2017175350A1 (ja) * | 2016-04-07 | 2017-10-12 | 株式会社日立製作所 | 計算機システム |
JP6708928B2 (ja) * | 2016-07-08 | 2020-06-10 | 富士通株式会社 | ストレージ管理装置、ストレージ管理プログラム、およびストレージシステム |
CN107870729B (zh) | 2016-09-23 | 2020-11-20 | 伊姆西Ip控股有限责任公司 | 一种用于缓存数据的方法、设备和系统 |
JP6880711B2 (ja) | 2016-12-22 | 2021-06-02 | 富士通株式会社 | 情報処理装置、ストレージ制御プログラムおよびストレージ制御方法 |
JP6981019B2 (ja) * | 2017-03-14 | 2021-12-15 | 日本電気株式会社 | ストレージ装置、ストレージシステム、ストレージ装置の制御方法、プログラム |
US10956078B2 (en) * | 2018-03-27 | 2021-03-23 | EMC IP Holding Company LLC | Storage system with loopback replication process providing object-dependent slice assignment |
US10866969B2 (en) | 2018-03-28 | 2020-12-15 | EMC IP Holding Company LLC | Storage system with loopback replication process providing unique identifiers for collision-free object pairing |
US11599557B2 (en) * | 2018-06-12 | 2023-03-07 | Open Text Corporation | System and method for persistence and replication of changes to a data store |
JP6995728B2 (ja) * | 2018-09-28 | 2022-01-17 | 株式会社日立製作所 | ストレージ装置、管理方法及びプログラム |
KR102263040B1 (ko) * | 2019-04-23 | 2021-06-09 | 삼성전자주식회사 | 멀티 코어 솔리드 스테이트 드라이브의 운용 방법 |
US11030106B2 (en) * | 2019-06-18 | 2021-06-08 | Western Digital Technologies, Inc. | Storage system and method for enabling host-driven regional performance in memory |
US20220382478A1 (en) * | 2021-06-01 | 2022-12-01 | Samsung Electronics Co., Ltd. | Systems, methods, and apparatus for page migration in memory systems |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364164A (zh) * | 2007-08-09 | 2009-02-11 | 株式会社日立制作所 | 存储系统 |
US7840753B1 (en) * | 2006-09-07 | 2010-11-23 | Marvell International Ltd. | Hard disk drive as hybrid drive |
JP2012118853A (ja) * | 2010-12-02 | 2012-06-21 | Toshiba Corp | 記憶装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4727705B2 (ja) | 2008-10-31 | 2011-07-20 | 株式会社日立製作所 | 階層型ストレージシステム |
JP2011090460A (ja) * | 2009-10-21 | 2011-05-06 | Toshiba Corp | データ記憶装置およびデータ記憶装置における制御方法 |
JP5175953B2 (ja) * | 2011-06-02 | 2013-04-03 | 株式会社東芝 | 情報処理装置およびキャッシュ制御方法 |
-
2014
- 2014-01-31 JP JP2014530441A patent/JP5707540B1/ja active Active
- 2014-01-31 CN CN201480000622.2A patent/CN104969170B/zh active Active
- 2014-01-31 WO PCT/JP2014/052309 patent/WO2015114809A1/ja active Application Filing
- 2014-09-03 US US14/476,108 patent/US9454317B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7840753B1 (en) * | 2006-09-07 | 2010-11-23 | Marvell International Ltd. | Hard disk drive as hybrid drive |
CN101364164A (zh) * | 2007-08-09 | 2009-02-11 | 株式会社日立制作所 | 存储系统 |
JP2012118853A (ja) * | 2010-12-02 | 2012-06-21 | Toshiba Corp | 記憶装置 |
Also Published As
Publication number | Publication date |
---|---|
US9454317B2 (en) | 2016-09-27 |
WO2015114809A1 (ja) | 2015-08-06 |
CN104969170A (zh) | 2015-10-07 |
US20150220280A1 (en) | 2015-08-06 |
JPWO2015114809A1 (ja) | 2017-03-23 |
JP5707540B1 (ja) | 2015-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104969170B (zh) | 层次化存储系统、存储控制器以及代替层次间的数据移动的方法 | |
JP5944587B2 (ja) | 計算機システム及び制御方法 | |
US11347428B2 (en) | Solid state tier optimization using a content addressable caching layer | |
CN102841761B (zh) | 存储系统 | |
CN104272272B (zh) | 混合储存集合去除重复 | |
CN104937574B (zh) | 在计算存储环境中数据处理的方法和系统 | |
US9141529B2 (en) | Methods and apparatus for providing acceleration of virtual machines in virtual environments | |
CN102467352B (zh) | 减少存储系统请求的响应延迟 | |
CN103207840B (zh) | 用于将不完整记录从第一缓存降级至第二缓存的系统和方法 | |
CN103282889B (zh) | 用于数据储存系统的端点高速缓存 | |
CN108604197A (zh) | 模块化数据操作系统 | |
US11237964B2 (en) | Caching techniques for migrating and replicating data | |
CN110321301A (zh) | 一种数据处理的方法及装置 | |
CN104145252A (zh) | 两级高速缓存系统中的自适应高速缓存提升 | |
CN104050094A (zh) | 管理高速缓存存储区的系统、方法和计算机可读介质 | |
CN108701002A (zh) | 虚拟存储系统 | |
KR102449585B1 (ko) | 버저닝 저장 장치 및 방법 | |
CN105074675B (zh) | 具有层级化块存储装置的计算机系统、存储控制器及介质 | |
CN107615254A (zh) | 混合对象存储设备的高速缓存架构和算法 | |
CN106610903A (zh) | 层级化存储器系统、存储器控制器和去重及存储器层级化方法 | |
CN107924291A (zh) | 存储系统 | |
US11366750B2 (en) | Caching techniques | |
JP2018181202A (ja) | ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム | |
US20210034235A1 (en) | Techniques for obtaining metadata and user data | |
JP5938528B2 (ja) | ストレージ装置及びストレージ装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Tokyo, Japan, Japan Co-patentee after: Toshiba Digital Solutions Ltd Patentee after: Toshiba Corp Address before: Tokyo, Japan, Japan Co-patentee before: Toshiba Solutions Corporation Patentee before: Toshiba Corp |
|
CP01 | Change in the name or title of a patent holder |