CN110968262A - 存储装置和数据存储方法 - Google Patents

存储装置和数据存储方法 Download PDF

Info

Publication number
CN110968262A
CN110968262A CN201910720466.1A CN201910720466A CN110968262A CN 110968262 A CN110968262 A CN 110968262A CN 201910720466 A CN201910720466 A CN 201910720466A CN 110968262 A CN110968262 A CN 110968262A
Authority
CN
China
Prior art keywords
data
storage
area
processor
hierarchy
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
Application number
CN201910720466.1A
Other languages
English (en)
Other versions
CN110968262B (zh
Inventor
松上一树
吉原朋宏
达见良介
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN110968262A publication Critical patent/CN110968262A/zh
Application granted granted Critical
Publication of CN110968262B publication Critical patent/CN110968262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种存储装置和数据存储方法,目的在于将数据量削减技术与自动层级管理功能组合地应用。一种具有处理器和存储介质、对数据进行层级管理并保存的存储系统,其具有:第一存储层,其具有保存数据的存储区域;和第二存储层,其具有将第一存储层的存储区域中保存的数据所保存在的区域变更并保存的存储区域;处理器:计算对第一存储层的数据的I/O量,基于I/O量决定保存数据的层级;在与决定的层级相应的存储介质中物理地保存第二存储层中保存的数据。

Description

存储装置和数据存储方法
技术领域
本发明涉及具有多个存储层级的存储系统的自动层级控制。
背景技术
存储系统一般而言包括1个以上存储装置。1个以上存储装置一般而言分别例如包括HDD(Hard Disk Drive)或SSD(Solid State Drive)作为存储介质。存储系统经由SAN(Storage Area Network)或LAN(Local Area Network)等网络,从1个或多个上级装置(例如主机计算机)访问。一般而言,存储装置通过使用符合RAID(Redundant Array ofIndependent(or Inexpensive)Disks)技术的高可靠化方法而提高可靠性。
作为削减存储系统的存储介质耗费的成本的方法,削减数据量的压缩技术和重复排除技术已经普及。专利文献1中,公开了能够维持从主机计算机写入数据的速度、同时使数据压缩的信息系统。根据专利文献1,在存储装置中提供接受从主机计算机写入数据的第一卷、和将第一卷中的数据压缩并管理的第二卷。完成从主机计算机对第一卷的数据写入时,存储装置对主机计算机返回写入处理完成的响应。之后,存储装置在与从主机计算机写入数据非同步的时机将数据压缩并保存在第二卷中。
另一方面,因为存储系统的存储介质的多样化,将数据自动地保存在适当的存储介质中的自动层级配置功能已经普及。用该功能,能够将高频度地访问的数据保存在高速的SSD中、将访问较少的数据保存在与SSD相比更低速但更廉价且大容量的HDD中,由此削减存储介质耗费的成本。专利文献2中,公开了能够与数据的访问频度相应地管理层级配置的信息系统。根据专利文献2,通过按每个存储区域对长周期和短周期的各周期中发生的I/O计数,而进行基于在长周期和短周期各自的观点上规定的负荷指标值的判定,实施升级(向上层移动数据)和降级(向下层移动数据)。
通过组合上述维持数据写入速度、同时使数据压缩的功能和与数据的访问频度相应地管理层级配置的功能,在削减存储介质的成本之外,也能够期待因上层的存储介质中能够保存的数据量的增加而实现的I/O性能的改善。
专利文献1:美国专利申请公开第2009/0144496号说明书
专利文献2:美国专利申请公开第2012/0246386号说明书
发明内容
发明要解决的课题
使用压缩和重复排除等数据量削减技术时,从主机计算机对存储系统写入的数据大小与在存储介质中写入的数据大小产生与削减量相应的差。因此,作为高效率地使用存储介质的区域的方法,广泛地使用将削减后的数据前方对齐(前詰め)地追加的追加写方式(例如Log-Structured Storage)。在追加写方式中数据被更新时,新写入的数据被追加在与更新前的数据不同的位置,更新前的数据成为无效的区域(垃圾)。
对于上述追加写方式应用自动层级配置功能时,按每个存储区域统计的I/O数因产生垃圾而变得无效,访问频度信息偏离实际的值。另外,因为更新后的数据被记录在新的区域,不继承过去的访问频度信息,所以不能判定适合该数据的层级配置。为了将访问频度信息继承至更新后的数据的存储区域,需要按每个追加的数据的管理单位统计I/O数,但以现有例中处理的数千字节至数百千字节的单位统计I/O数时管理信息会增大。
用于解决课题的方案
本发明是一种具有处理器和存储介质、对数据进行层级管理并保存的存储系统,其具有:第一存储层,其具有保存数据的存储区域;和第二存储层,其具有将第一存储层的存储区域中保存的数据所保存在的区域变更并保存的存储区域,处理器:计算对第一存储层的数据的I/O量,基于I/O量决定保存数据的层级;在与决定的层级相应的存储介质中物理地保存第二存储层中所保存的数据。
发明的效果
根据本发明的一个方式,能够将数据量削减技术与自动层级配置功能组合。上述以外的课题、结构和效果将通过以下实施例的说明而清楚。
附图说明
图1表示本发明的实施例1,是表示存储系统执行的、追加写方式中的层级的重新配置的流程的图。
图2表示本发明的实施例1,是表示存储装置的结构的框图。
图3表示本发明的实施例1,是表示存储装置保持的VOL管理表的结构的一例的图。
图4表示本发明的实施例1,是表示存储装置保持的池结构管理表的结构的一例的图。
图5表示本发明的实施例1,是表示存储装置保持的RAID结构管理表的结构的一例的图。
图6表示本发明的实施例1,是表示存储装置保持的池分配管理表的结构的一例的图。
图7表示本发明的实施例1,是表示存储装置保持的驱动器分配管理表的结构的一例的图。
图8表示本发明的实施例1,是表示由存储装置管理的逻辑存储层级的结构的一例的图。
图9表示本发明的实施例1,是表示存储装置保持的层级管理表的结构的一例的图。
图10表示本发明的实施例1,是表示存储装置中的缓存区域分配的结构的一例的图。
图11表示本发明的实施例1,是表示存储装置执行的读处理的流程图。
图12表示本发明的实施例1,是表示存储装置执行的写处理的流程图。
图13表示本发明的实施例1,是表示存储装置执行的离台处理的流程图。
图14表示本发明的实施例1,是表示存储装置执行的数据量削减处理的流程图。
图15表示本发明的实施例1,是表示存储装置执行的层级重新配置处理的流程图。
图16表示本发明的实施例1,是表示存储装置执行的垃圾回收处理的流程图。
图17表示本发明的实施例2,是表示存储装置的存储区域的一例的图。
符号说明
100 存储系统
11 存储装置
22 存储控制器
29 驱动器
30 主机计算机
31 网络
202 缓冲区域
203 缓存区域
204 非压缩数据保存区域
205 压缩数据保存区域
具体实施方式
以下,基于附图说明本发明的实施例。在附图中,有时用相同的编号表示功能上相同的要素。附图示出了符合本发明的原理的具体的实施方式和实施例。这些实施方式和实施例是用于理解本发明的,并不用于限定性地解释本发明。
进而,本发明的实施方式如后所述可以用在通用计算机上运行的软件实现,也可以用专用硬件实现,或者也可以用软件与硬件的组合实现。
以下有时以“程序”为主语(处理主体)对于本发明的实施方式中的各处理进行说明。因为程序通过由处理器执行而使用存储器和通信端口(通信控制装置)进行规定的处理,所以也可以改为以处理器为主语的说明。程序的一部分或全部也可以用专用硬件实现,并且也可以模块化。各种程序可以用程序发布服务器或存储介质安装在各计算机中。
以下说明中,“接口部”可以包括用户接口部和通信接口部中的至少1个。用户接口部可以包括1个以上I/O设备(例如输入设备(例如键盘和指点设备)和输出设备(例如显示设备))和显示用计算机中的至少1个I/O设备。通信接口部可以包括1个以上通信接口设备。1个以上通信接口设备可以是1个以上相同种类的通信接口设备(例如1个以上NIC(NetworkInterface Card))也可以是2个以上不同种类的通信接口设备(例如NIC和HBA(Host BusAdapter))。
另外,以下说明中,“存储器部”包括1个以上存储器。至少1个存储器可以是易失性存储器也可以是非易失性存储器。存储器部主要在处理器部进行的处理时使用。
另外,以下说明中,“处理器部”包括1个以上处理器。至少1个处理器典型而言是CPU(Central Processing Unit)。
另外,以下说明中,有时用“xxx表”这样的表达说明信息,但信息可以用任意的数据结构表达。即,为了表示信息不依赖于数据结构,能够将“xxx表”称为“xxx信息”。另外,以下说明中,各表的结构是一例,1个表可以分割为2个以上表,2个以上表的全部或一部分也可以是1个表。
另外,以下作为数据量削减手段的例子对于数据压缩进行说明,但也可以置换为数据重复排除。数据重复排除处理中,在多个数据文件中,将重复的部分作为共享数据文件保持,将各数据文件与共享数据文件关联,由此削减保持的数据的总量。
另外,以下说明中,在对相同种类的要素不区别地说明的情况下,使用参考符号中的共通符号,在区别相同种类的要素的情况下,有时使用参考符号(或要素的ID(例如识别编号))。例如,在不区别多个存储控制器的情况下,记作“存储控制器22”,在区别各存储控制器的情况下,记作“存储控制器1_22A”、“存储控制器2_22B”。其他要素(例如缓存区域203、缓冲区域202、分配目标地址1100等)也是同样的。
另外,以下说明中,“存储系统”包括1个以上存储装置。至少1个存储装置可以是通用的物理计算机。另外,至少1个存储装置可以是虚拟存储装置,可以执行SDx(Software-Defined anything)。作为SDx,例如能够采用SDS(Software Defined Storage)(虚拟存储装置的一例)或SDDC(Software-defined Datacenter)。
以下,基于附图说明本发明的实施例。
【实施例1】
以下,说明本发明的实施例1。
<追加写方式中的层级的重新配置流程>
图1是表示本发明的实施例1的存储系统100执行的、追加写方式中的层级的重新配置流程的图。
存储系统100由主机计算机30和存储装置11构成。主机计算机30经由网络31与存储装置11连接,被管理计算机(未图示)管理。
存储装置11在内部具有2个以上存储控制器22,对主机计算机30提供包括多个逻辑存储区域1201的1个以上卷1000。
主机计算机30可以是物理计算机,也可以是物理计算机中运行的虚拟计算机。主机计算机30可以是存储系统100中运行的虚拟计算机。
从主机计算机30对卷(VOL)1000内的存储区域1201进行数据的写入(或读取)。在访问时,主机计算机30指定数据所保存在的分配目标地址1100,由此存储装置11决定数据的逻辑保存位置。
存储控制器22将指定存储区域1201地写入的数据压缩,并对于物理的数据保存区域即池1001内的追加区域1202的追加地址1101分配压缩后的数据。即,将区域(数据的位置和大小中的一方或双方)变更并写入池1001中。
另外,对于追加区域1202分配相当于奇偶校验周期的数据时,存储控制器22生成奇偶校验。然后,存储控制器22将压缩数据和奇偶校验保存至属于与追加区域1202对应的层级(Tier)1200的RAID组1002的地址空间1003。
此时,通过将从主机计算机30访问的频度较高的数据优先地保存至上层的Tier1_1200-1,而使存储系统全体的性能提高。
另外,关于本实施例1的存储装置11的层级,示出Tier1_1200-1比Tier2_1200-2读写速度更高速的例子。另外,存储装置11的层级不限定于速度,能够根据延迟和容量或可用性等指标构成层级。
在本实施例1中,示出在存储系统100中、在从主机计算机30进行I/O之后进行Tier1200的重新配置的情况。具体例如下所述。
(S1)存储装置11从主机计算机30经由网络31接收写命令或读命令。接收命令时,存储控制器22执行从主机计算机30请求的写处理或读处理。本实施例1中,在I/O处理结束之后,对存储区域1201分配数据A、B、C,将与数据A、B、C对应的压缩数据a、b、c分配至以Tier2_1200-2为保存位置的追加区域1202-2。
(S2)存储控制器22在接受写命令或读命令时,对于接受了I/O请求(命令)的每个逻辑区域即存储区域1201,对写和读各自的I/O数进行计数。上述现有例的自动层级配置功能中,对于物理存储区域统计I/O数,与此相对,本实施例1中,统计对逻辑(或虚拟)存储区域1201的I/O数。
由此,在存储区域1201中能够不受层级之间的数据移动的影响地,继续I/O数的计数。
(S3)存储控制器22在I/O数统计时或在周期性的时机根据对于每个存储区域1201统计的I/O数,判定适合作为数据的保存位置的虚拟层级配置。存储控制器22判定适合数据的虚拟层级配置是Tier1_1200-1、在判定时数据所保存在的层级是其他层级Tier2_1200-2的情况下,根据虚拟层级配置执行数据向Tier1_1200-1的重新配置。
(S4)存储控制器22使压缩数据a、b、c移动至重新配置目标的Tier1_1200-1中对应的追加区域1202-1。
(S5)存储控制器22以使上述(S4)中移动的压缩数据a、b、c与存储区域1201内的数据A、B、C关联的方式更新逻辑地址与物理地址的映射信息。
以上是层级重新配置的一例。另外,追加写方式是与上述现有例同样的Log-Structured Storage(基于日志结构的存储),是写入仅用变更差异部分的追加实现的文件系统。
<存储装置>
图2是表示本发明的实施例1的存储装置11的结构的框图。存储装置11具有1个以上存储控制器22、和与1个以上存储控制器22连接的各种驱动器29。
存储控制器22包括进行与主机计算机30的通信的FE_I/F(前端接口设备)23、用于进行存储装置之间的通信的存储I/F(存储接口设备)28、控制装置全体的处理器24、保存处理器24中使用的程序和信息的存储器25、进行与驱动器29的通信的BE_I/F(后端接口设备)27、和将它们连接的内部网络26。
存储器25具有管理控制程序的程序区域201、在数据的传输和复制时作为暂时性的保存区域的缓冲区域202、暂时性地保存来自主机计算机30的写数据(响应写命令地写入的数据)和来自驱动器29的读数据(响应读命令地读取的数据)的缓存区域203、和保存各种表的表管理区域206。
载入至程序区域201的控制程序被处理器24执行,执行读处理和写处理等而提供存储装置11的各种功能。
缓存区域203具有暂时性地保存来自主机计算机30的写数据的非压缩数据保存区域204、和保存压缩后的数据的压缩数据保存区域205。
表管理区域206保存保持关于VOL1000的信息的VOL管理表207、保持关于池1001的信息的池结构管理表208、保持关于RAID结构的信息的RAID结构管理表209、保持关于池分配的信息的池分配管理表210、保持关于驱动器分配的信息的驱动器分配管理表211、和保持关于每个存储区域的I/O数和I/O频度的信息的层级管理表212。
驱动器29是具有非易失性的数据存储介质的装置,包括性能不同的多种驱动器。驱动器29例如由具有FC(Fibre Channel)、NVMe(Non-Volatile Memory Express)、SAS(Serial Attached SCSI)、SATA(Serial Advanced Technology Attachment)等接口的硬盘驱动器、I/O吞吐性能和I/O响应性能比硬盘驱动器更高的SSD(Solid State Drive)等构成。
层级(Tier)是将该多个种类的驱动器29分类至具有相近的性能的驱动器组而成的。层级之间的关系根据性能的高低关系定义。例如,按性能从高到低的顺序(SSD等),从Tier1起定义Tier2、3。另外,设想将不再使用的旧机型等作为外部存储连接的用例,也可以定义以性能低为前提的最下层Tier,用户可以经由管理I/F设定与外部存储的性能相应的层级。
SSD是具有多个闪存、和控制它们的SSD控制器的半导体存储介质,外观形状等不受形状因子限定。另外,作为闪存,可以使用NOR或NAND等非易失性的半导体存储器。另外,也可以代替闪存地,使用磁阻存储器即MRAM(Magnetoresistive random access memory)、电阻变化型存储器即ReRAM(Resistance random access memory)、强介电体存储器即FeRAM(Ferroelectric random access memory)等各种半导体存储器。
FE_I/F23、BE_I/F27和存储I/F28是接口部的一例。存储器25是存储器部的一例。处理器24是处理器部的一例。
<VOL管理表>
图3是表示本发明的实施例的存储装置11保持的VOL管理表207的结构例的图。
VOL管理表207对于每个VOL1000具有条目。各条目保存VOL_ID41、VOL属性42、VOL容量43和池ID44等信息。以下,对于1个VOL(图3的说明中称为“对象VOL”)的例子进行说明。
VOL_ID41是对象VOL的ID(识别信息)。VOL属性42表示对象VOL的属性(例如对象VOL是应用了自动精简配置(シンプロビジョニング)的VOL、还是通常的VOL、以及压缩是否有效等)。VOL容量43表示对象VOL的容量。池ID44是与对象VOL关联的池1001的ID。
处理器24通过参照VOL管理表207的VOL属性42,能够判定是否需要数据压缩的VOL1000。例如,如果VOL属性42是“压缩有效”,则处理器24进行数据压缩。
<结构管理表>
图4是表示本发明的实施例1的存储装置11保持的池结构管理表208的结构例的图。
池1001是基于1个以上RAID组1002构成的逻辑存储区域。池结构管理表208对于每个池1001具有条目。各条目保存池ID51、RAID组ID52、池容量53和池使用容量54、自动层级管理55是否应用(ON/OFF)等信息。以下,对于1个池(图4的说明中称为“对象池”)的例子进行说明。
池ID51是对象池的ID。RAID组ID52是作为对象池的基础的1个以上RAID组1002各自的ID。池容量53表示对象池的容量。池使用容量54表示对象池的池容量中的已对VOL1000分配的区域的总量。自动层级管理55表示对象池是否自动层级管理的对象。
图5是表示本发明的实施例1的存储装置11保持的RAID结构管理表209的结构例的图。
RAID结构管理表209对于每个RAID组1002具有条目。各条目保存RAID组ID61、RAID级别62、驱动器ID63、驱动器种类64、容量65和使用容量66等信息。以下,对于1个RAID组(图5的说明中称为“对象RAID组”)的例子进行说明。
RAID组ID61是对象RAID组的ID。RAID级别62表示对于对象RAID组应用的RAID算法的种类。驱动器ID63是构成对象RAID组的1个以上驱动器29各自的ID。驱动器种类64表示构成对象RAID组的驱动器的种类(例如是HDD还是SSD)。容量65表示对象RAID组的容量。使用容量66表示对象RAID组的容量中已使用的容量。
<分配管理表>
图6是表示本发明的实施例1的存储装置11保持的池分配管理表210的结构例的图。
池分配管理表210对于每个VOL地址(表示VOL内的槽的地址)具有条目。各条目保存VOL_ID71、VOL地址72、池ID73、池地址74、压缩前大小75、压缩后大小76、和队列状态77等信息。以下,对于1个VOL地址(图6的说明中称为“对象VOL地址”)的例子进行说明。
VOL_ID71是用对象VOL地址识别的槽属于的卷的ID。VOL地址72是对象VOL的地址。池ID73是包括对于对象VOL地址分配的存储区域的池1001的ID。
池地址74是对于对象VOL地址分配的存储区域的地址(属于池1001的地址)。压缩前大小75表示符合指定了对象池地址的写命令的数据的压缩前的大小。压缩后大小76表示符合指定了对象池地址的写命令的数据的压缩后的大小。
队列状态77表示数据的保存位置,数据仅存在于缓存区域203中时用“Dirty”表示,已完成对驱动器29回写时用“Clean”表示,数据仅存在于驱动器中时用“缓存Miss”表示。
另外,上述槽(スロット)是存储控制器22使用的存储区域的管理单位之一。本实施例1的存储控制器22用数千字节的块、将32个块合并而成的槽、按42MB单位管理槽的页这3个单位对存储区域进行管理。
图7是表示本发明的实施例1的存储装置11保持的驱动器分配管理表211的结构例的图。
驱动器分配管理表211对于每个池地址具有条目。各条目保存池ID81、池地址82、RAID组ID83、驱动器ID84和驱动器地址85等信息。以下,对于1个池地址(图7的说明中称为“对象池地址”)的例子进行说明。
池ID81是对象池地址属于的池1001的ID。池地址82是对象池地址。RAID组ID83是作为对象池地址表示的存储区域的基础的RAID组的ID。
驱动器ID84是作为对象池地址表示的存储区域的基础的驱动器29的ID。驱动器地址85是与对象池地址对应的驱动器地址。
<逻辑存储层级>
图8是表示用本发明的实施例1的存储装置11管理的逻辑存储层级的结构例的图。
对主机计算机30提供VOL1000。另外,因为复制处理或重复排除处理,可能从VOL1000内的多个逻辑数据的管理单位(槽)指向1个池地址,也可能从多个VOL的槽指向一个池地址。
图8的例子中,不同的2个槽(VOL地址)1102和1103指向同一池地址1105-2。另外,对于从VOL1000对池1001的分配,基于池分配管理表210进行管理。另外,对于从池1001对地址空间1003(即构成RAID组1002的多个驱动器29提供的多个地址空间)的分配,基于驱动器分配管理表211进行管理。
<层级管理表>
图9是表示本发明的实施例1的存储装置11保持的层级管理表212的结构例的图。
层级管理表212对于每个存储区域1201(页:包括多个槽的地址范围)具有条目。各条目保存VOL_ID91、存储区域VOL地址92、写I/O数93、读I/O数94、I/O频度95和虚拟层级配置96等信息。以下,对于1个存储区域VOL地址(图9的说明中称为“对象VOL地址”)的例子进行说明。
VOL_ID91是用对象VOL地址识别的页属于的VOL的ID。存储区域VOL地址92是对象VOL地址。写I/O数93表示指定对象VOL地址写的次数的单位时间的统计数。读I/O数94表示指定对象VOL地址读的次数的单位时间的统计数。
I/O频度95表示根据写I/O数93和读I/O数94用规定的计算式计算出的单位时间的I/O负荷的程度。例如,计算对写I/O数93乘以系数1、对读I/O数94乘以系数2得到的值的合计值作为I/O频度95即可。另外,I/O频度95的计算不限定于此,也可以用平均值等统计方法计算。
虚拟层级配置96表示存储控制器22根据I/O频度95判定的适合数据保存的层级配置。如果I/O频度95的值较高则是上层即Tier_1(1200-1),如果I/O频度95的值较低则是下层即Tier_2(1200-2)。另外,I/O频度95的高低可以根据排序结果将规定的页数判定为高I/O频度95的页,也可以使用任意的阈值判定。另外,因为能够配置至上层的页数的上限依赖于数据的压缩率,所以也可以根据池分配管理表210的压缩后大小76和RAID结构管理表209的使用容量66导出。
图10是表示本发明的实施例1的存储装置11中的缓存区域分配的结构例的图。
缓存区域203对存储控制器22提供与VOL1000对应的虚拟的地址空间即保存非压缩数据的存储区域1201-1和1201-2、和保存与池地址对应的压缩数据的追加区域1202-1和1202-2。
根据从主机计算机30对存储控制器22的写命令,分配与主机计算机30指定的VOL地址对应的存储区域1201。存储控制器22将数据压缩时,将压缩后的数据保存在缓存区域203内的与池地址对应的追加区域1202中。此时,追加区域1202根据与VOL地址对应的页的层级管理表212中的虚拟层级配置96判定,保存在追加区域1202-1或1202-2中。
图10的例子中,在存储区域1201-1中写入的数据指向追加区域1202-1,在存储区域1201-2中写入的数据指向追加区域1202-2。另外,对于VOL地址和池地址的分配,用池分配管理表210管理。在追加区域1202中,区域内追加的数据量达到奇偶校验周期的大小时,经由处理器24生成与存储区域1201不对应的奇偶校验1104。
以下,对于本实施例1中进行的处理的例子进行说明。
<读处理>
图11是表示本发明的实施例1的存储装置11执行的读处理的流程图。
读处理在存储装置11从主机计算机30经由网络31接受了读命令的情况下开始。在读命令中,例如指定虚拟ID(例如虚拟VOL_ID)、地址、和数据大小。
在步骤S1201中,处理器24获取由读命令确定的槽的独占。另外,在获取槽的独占时其他处理已获取了槽的独占的情况下,处理器24待机一定时间之后,进行步骤S1201。另外,获取独占表示对该区域(槽)的访问被禁止。
在步骤S1202中,处理器24判定读数据是否存在于缓存区域203中。步骤S1202的判定是“是”(YES)的情况下,前进至步骤S1204。步骤S1202的判定结果是“否”(NO)的情况下,处理器24在S1203中,从RAID组将读数据传输至缓冲区域202。
另外,此时,处理器24根据主机计算机30指定的VOL_ID和VOL地址,确定池分配管理表210的池ID73、池地址74和压缩后大小76,从驱动器分配管理表211参照驱动器ID84和驱动器地址85,确定数据的保存场所和数据大小。
在步骤S1204中,处理器24根据压缩后大小76判定缓冲区域202中的读数据是否已被压缩,如果是已压缩的数据则在步骤S1205中解压缩,不是压缩数据的情况下跳过步骤S1205。
在步骤S1206中,处理器24将缓冲区域202中的读数据传输至主机计算机30。主机计算机30在步骤S1206的数据传输完成时刻判定读处理结束。
之后,处理器24在步骤S1207中,解除已获取的槽的独占。步骤S1207完成之后,处理器24判定读处理完成并在步骤S1208中确定读对象的槽属于的层级管理表212内的存储区域VOL地址92,使读I/O数94增加计数并结束处理。
<写处理>
图12是表示本发明的实施例1的存储装置11执行的写处理的流程图。
写处理在存储装置11从主机计算机30接收了写命令的情况下开始。另外,以下说明中,例如,为了区别多个存储控制器22而记作存储控制器1_22A、存储控制器2_22B。另外,将处理器24记作处理器24A等,对属于存储控制器1_22A和存储控制器2_22B的分别用对参考符号附加的“A”和“B”进行区别。
来自主机计算机30的写命令中,包括数据的分配(保存)目标地址。存储装置11在步骤S1301中获取分配目标地址1100表示的槽的独占。另外,在获取槽的独占之后,处理器24A对作为数据的写目标的缓存区域203A分配槽。
在步骤S1302中,处理器24A对主机计算机30回应表示写处理的准备已完成的“Ready”。处理器24A从接受了“Ready”的主机计算机30接受写数据。
处理器24A将步骤S1303中接受的写数据保存至分配了槽的缓存区域203A。在步骤S1304中,从存储控制器1_22A对存储控制器2_22B传输缓存区域203A中保存的写数据,并保存在缓存区域203B中,由此进行双重化。
在步骤S1305中,处理器24A将池分配管理表210的队列状态77更新。另外,本用例中写数据尚未被压缩。因此,不存在与作为数据的写目标分配的槽对应的压缩后大小76的值。另外,队列状态77设为等待对驱动器29的回写处理即离台处理的“Dirty”状态,数据留在缓存区域203A和缓存区域203B中。
双重化和映射信息的更新完成之后,在步骤S1306中从存储装置11经由网络31对主机计算机30返回表示写处理完成的完成回应。返回完成回应时,在步骤S1307中存储装置11释放已获取的槽的独占。
在步骤S1308中,处理器24A参照VOL管理表207内的、与作为写对象的VOL-ID41对应的VOL属性42,判定是否进行数据削减。
处理器24A在VOL属性42是数据削减无效、并且池结构管理表208中的自动层级管理55是ON的情况下,用基于专利文献2中叙述的统计方法的现有的自动层级管理功能决定层级。在步骤S1311中,处理器24A执行对决定的层级的离台处理。
在步骤S1308中,VOL属性42是数据削减有效的情况下,处理器24A在步骤S1309中确定与槽对应的层级管理表212内的存储区域VOL地址92,使写I/O数93计数增加。接着,在步骤S1310中执行数据量削减处理。
<离台处理>
图13是表示本发明的实施例1的存储装置11执行的离台处理的流程图。
离台处理在从主机计算机30对存储装置11的写命令完成之后,在图12的步骤1311中执行。另外,离台处理也可以在写命令完成之后非同步地进行。另外,离台处理可以以写命令为契机开始,也可以周期性地起动,或根据缓存区域203的消费量判定是否需要起动。关于离台处理的对象数据,如果数据削减无效则从存储区域1201中选择,如果数据削减有效则从追加区域1202中选择。
离台处理开始时,处理器24A在步骤S1401中对于缓存区域203中的离台处理的对象范围获取槽的独占。另外,数据削减无效的情况下,因为以往不使用追加写方式,所以在对连续区域的写入(顺序写)以外,离台目标的驱动器29的保存位置不连续。因此,在步骤S1402的奇偶校验生成中,产生处理器24A从驱动器29读取奇偶校验计算所需的数据的处理。
另一方面,数据削减有效的情况下,因为使用追加写方式,所以根据奇偶校验周期的数据排列而成的数据列(条带列)生成奇偶校验。在步骤S1403中,处理器24A将对象数据列和生成的奇偶校验数据回写至驱动器29。
在步骤S1404中,处理器24A将池分配管理表210的队列状态77更新。另外,本用例中,队列状态77被更新为“Clean”。在步骤S1405中,处理器24A释放已离台的范围的槽的独占,结束处理。
<数据量削减处理>
图14是表示本发明的实施例1的存储装置11执行的数据量削减处理的流程图。
数据量削减处理可以如图12的步骤1310一般,以写命令完成为契机开始,也可以周期性地起动,或根据缓存区域203的消费量等判定是否需要起动。
数据量削减处理以数据削减有效的VOL1000的存储区域1201中的“Dirty”状态的数据为对象执行。流程图所示的压缩是对于写数据进行的规定的处理的一例。处理器24A也可以进行压缩以外的处理、例如重复排除或加密或冗余化等。
在步骤S1501中,处理器24A选择池分配管理表210的压缩后大小76是无效且队列状态77是“Dirty”状态的数据。接着,在步骤S1502中,处理器24A取得选择的数据的槽的独占。
接着,处理器24A对于取得了独占的数据,在步骤S1503中读取至缓冲区域202A并在缓冲区域202A中压缩。在步骤S1504中,处理器24A判定与对象槽的VOL地址72对应的、存储区域VOL地址92的虚拟层级配置96。
另外,虚拟层级配置96在初次分配等初始状态下不存在值的情况下,处理器24A根据RAID结构管理表209的容量65和使用容量66判定是否存在空闲容量,将存在空闲的上层(Tier1_1200-1)登录在虚拟层级配置96中。
通过从上层优先地分配数据,存储系统的性能提高,但上层中不存在空闲的情况下,处理器24A选择存在空闲的下层。另外,全部层级中都不存在空闲容量的情况下,因为在驱动器29中不存在数据量削减后的数据保存目标,所以中断处理并等待与I/O非同步地起动的垃圾回收等容量回收处理。
处理器24A分配与判定的虚拟层级配置96对应的追加区域1202,在步骤S1505中将位于缓冲区域202A中的压缩数据传输至缓存区域203A内的追加区域1202A。
另外,本实施例1中与I/O负荷相应地变更层级的配置,但有时也作为VOL的策略指定上层等、使保存目标的层级固定。处理器24A在传输完成时,在步骤S1506中对于缓存区域203B进行双重化的传输,在追加区域1202B中保存压缩数据。
之后,处理器24A在步骤S1507中将池分配管理表210的与VOL地址72(虚拟保存位置)对应的池地址74(逻辑保存位置)的映射和压缩后大小76更新。
接着,在步骤S1508中,处理器24A释放对象槽的独占而完成数据量削减。另外,在步骤S1509中判定缓存区域203中的追加区域1202中保存的数据是否达到了奇偶校验周期,判定为“是”的情况下在步骤S1510中执行上述离台处理,判定为“否”的情况下结束处理。
<层级重新配置处理>
图15是表示本发明的实施例1的存储装置11执行的层级重新配置处理的流程图。
层级重新配置处理基于I/O频度95的统计周期周期性地起动。另外,I/O频度95的统计周期例如是1小时等预先设定的周期。
在步骤S1601中,处理器24A选择层级管理表212的条目。处理器24A选择的条目,例如从起始的条目起顺次选择。
接着,在步骤S1602中,处理器24A根据写I/O数93和读I/O数94用规定的计算式按上述合计值计算出I/O频度95,登录在I/O频度95中。然后,处理器24A将写I/O数93和读I/O数94重置为零。
处理器24A对于层级管理表212的全部条目执行上述处理,在步骤S1603中判定执行是否完成。处理器24A计算出全部条目的I/O频度95时,接着在步骤S1604中判定作为数据的重新配置目标的层级的区域中是否存在空闲。
层级重新配置处理为了提高存储系统的I/O性能的目的而从上层优先地分配数据,重新配置首先实施从上层向下层的降级之后,进行从下层向上层的升级。
处理器24A首先在RAID结构管理表209的RAID组1002内,根据相当于下层的RAID组ID_2的容量65和使用容量66判定是否存在降级目标的空闲容量(S1604)。
如果容量65与使用容量66的差(空闲容量)不足规定阈值,则处理器24A判定不存在空闲容量而发生了区域耗尽,不能执行数据的重新配置,所以中断处理,在步骤S1605中执行使用垃圾回收处理的区域回收。
另一方面,如果空闲容量在规定阈值以上,则处理器24A判定存在空闲区域,基于计算出的I/O频度95在步骤S1606中从层级管理表212中选择作为重新配置对象的条目。
另外,作为重新配置对象的条目的选择方法,可以使用按I/O频度95的值对层级管理表212排序得到的结果,也可以使用任意的阈值进行比较。进而,在I/O频度95之外也可以使用短周期和长周期等多个周期的I/O频度、和从池分配管理表210取得的页内的数据的压缩率等。使用上述排序结果的情况下,处理器24A将I/O频度95低且配置在Tier1_1200-1中的数据移动至Tier2_1200-2,将I/O频度95高且配置在Tier2_1200-2中的数据移动至Tier1_1200-1。
在步骤S1607中,处理器24A取得属于上述选择的条目的数据的槽的独占。接着,在步骤S1608中,处理器24A使压缩数据移动至与重新配置目标对应的追加区域1202中。
处理器24A在数据的移动完成时,在步骤S1609中将池分配管理表210的映射信息更新。即,处理器24A将池分配管理表210的池地址74更新为数据的移动目标的地址。由此,VOL地址72维持当初的地址,即使层级被变更也能够继续检测I/O频度95。
接着,在步骤S1610中,处理器24A释放重新配置已完成的数据的槽独占。在步骤S1611中,处理器24A对于重新配置对象的条目判定重新配置的处理是否完成。
关于重新配置的完成,在属于选择为对象的条目的槽的重新配置完成之外,也判定任意的条目数的重新配置是否降级和升级都已完成。重新配置尚未完成的情况下,处理器24A返回步骤S1604反复上述处理。如果重新配置已完成,则处理器24A结束重新配置处理。
另外,在步骤S1604中判定区域耗尽的情况下,即使层级管理表212的条目内的槽的重新配置在进行途中也使处理中断,所以允许虚拟层级配置96与物理层级配置不同。
另外,在步骤S1607中,使数据的层级变更移动的情况下,也可以变更是否需要数据压缩、加密、重复排除、冗余化等数据削减处理。压缩的情况下,也可以包括压缩率的变更。这是因为进行数据削减处理时一般而言I/O速度较慢。是否需要数据削减处理,可以对于每个数据个别地判断,也可以按Tier单位设定。例如数据压缩的情况下,在移动至上层的Tier时,将在下层Tier的存储介质中保存的已压缩数据解压缩并保存在上层Tier的存储介质中,或者在移动至下层的Tier时,对于在上层Tier的存储介质中保存的已压缩数据进行压缩率更高的压缩并保存在下层Tier的存储介质中。
通过上述处理,与I/O频度95相应地在性能高的层级(Tier1_1200-1)与性能低的层级(Tier2_1200-2)之间进行数据的移动,实现最佳的数据配置。
<垃圾回收>
图16是表示本发明的实施例1的存储装置11执行的垃圾回收处理的流程图。
垃圾回收处理在上述图15的步骤1605中实施之外,也可以以写命令完成为契机开始。进而,垃圾回收处理也可以周期性地起动或从层级重新配置处理起动,也可以根据池结构管理表208的池使用容量54、和RAID结构管理表209的是用容量66等判定是否需要起动。
在步骤S1701中,处理器24A从多个追加区域1202中,选择作为垃圾回收的对象的追加区域1202。另外,作为对象的追加区域1202也可以在垃圾回收起动时指定。或者,也可以对于多个追加区域1202由处理器24A用轮转等方法选择。
接着,在步骤S1702中,处理器24A在选择的追加区域1202内选择规定的页范围。另外,作为提高垃圾回收的容量回收的效率的方法,通过将追加区域1202内的数据按页等规定的范围划分、统计页内的垃圾量,处理器24A能够对于垃圾量多的页优先地进行垃圾回收。
在步骤S1703中,处理器24A判定选择的页内是否存在垃圾。关于垃圾的判定,根据从追加区域1202A向存储区域1201A的参照关系、和池分配管理表210中有无池地址74由处理器24A按槽单位判定。
处理器24A在选择的页中不存在垃圾的情况下,反复执行从步骤S1702起的处理直到追加区域1202A的末端(1101)。然后,处理器24A在选择的页内存在垃圾的情况下,在步骤S1704中取得选择的页的独占。
接着,在步骤S1705中,处理器24A将页内的有效的槽顺序追加至追加区域1202的末端(1101)。另外,数据(槽)的移动在上述步骤S1701中选择的追加区域1202内进行,但与槽对应的虚拟层级配置96与移动目标的层级不同的情况下,处理器24A也可以使数据移动至与虚拟层级配置96相同的层级的追加区域1202。
在步骤S1706中,处理器24A通过改写池分配管理表210,而将已移动的槽的映射信息更新。映射信息更新完成时,在步骤S1707中,处理器24A释放页的独占。
进而,在该时刻对象页内仅有垃圾,所以在步骤S1708中处理器24A删除驱动器分配管理表211的对象条目而释放区域。
最后,在步骤S1709中,处理器24A判定是否已执行垃圾回收处理直到追加区域1202的末端(1101)。如果在垃圾回收处理的途中,则处理器24A返回上述步骤S1701反复上述处理。另一方面,如果处理已完成至追加区域1202的末端(1101),则处理器24A结束垃圾回收处理。
如上所述,本实施例1的存储装置11中,具有对主机计算机30提供的虚拟存储区域(VOL1000)、和将存储介质(驱动器29)的保存位置与逻辑保存位置关联地管理的逻辑存储区域(池1001),在逻辑存储区域中按性能不同的层级(Tier1200)管理保存数据的存储介质,与虚拟存储区域中的数据的I/O负荷(I/O频度95)相应地,决定保存该数据的层级。
由此,通过对于每个虚拟存储区域(VOL1000)统计I/O数,能够削减管理信息。另外,通过按虚拟存储区域(VOL1000)测定I/O负荷,能够将数据削减技术与自动层级管理功能组合,能够提高上层的数据命中率。
【实施例2】
以下,说明本发明的实施例2。
<从多个位置参照的数据的层级决定方法>
图17是表示由本发明的实施例2的存储装置11管理的克隆VOL的结构例的图。
实施例1中,对追加区域1202和存储区域1201分配的数据的映射状态具有1对1的对应。但是,本实施例2中示出重复排除、和复制VOL的映像的影子影像、和将VOL复制得到的克隆VOL_1000X等从存储区域1201内的多个分配目标地址1100、1100X指向追加区域1202的1个数据a的结构。
对于在这样的结构中、根据上述层级管理表212的虚拟层级配置96决定物理的数据层级的方法,在以下进行说明。
(S11):处理器24从多个槽所属的各个存储区域1201中的虚拟层级配置96中选择最上层。
(S12):根据对于多个槽所属的各个存储区域1201统计的I/O频度95的合计决定层级。
另外,存在定义仅保存从多个槽参照的重复数据的区域(共同区域)的情况。共同区域并不直接对主机计算机30提供存储区域1201,仅接受从重复数据的参照目标的读I/O。通过对这样的与重复数据对应的存储区域1201也定义虚拟层级配置,能够实现基于与实施例1同样的流程的层级管理。
<总结>
上述实施例1、2中根据驱动器的种类和外部连接存储等物理记录介质区别层级,但不限定于此,也可以是虚拟的层级。例如,上层和下层也可以根据压缩算法的差异、和是否重复排除和加密、数据的种类区分。
进而,即使驱动器的种类相同,也可以根据驱动器的物理连接位置、和驱动器的寿命等指标区分层级,可能因为接收I/O的FE_I/F23的位置和驱动器的寿命消耗等而使层级之间的I/O性能差异反转、层级顺序反转。
另外,上述实施例1、2中对于追加写方式进行了说明,但只要是基于虚拟层级配置决定物理层级配置的结构,就不仅限定于追加写方式。另外,上述实施例1、2中,用存储控制器22定义了存储区域1201和追加区域1202,但对于物理位置没有限定,也可以在驱动器29等记录介质的控制器内定义。
如上所述,上述实施例1、2的存储装置11具有处理器24、存储器25、和存储介质(驱动器29),具有对外部的计算机(主机计算机30)提供的用虚拟保存位置(VOL地址72)管理数据的第一存储区域(VOL1000),和将与上述存储介质(驱动器29)的性能差异相应的层级(Tier1200)、上述存储介质的保存位置(驱动器地址85)、和逻辑保存位置(池地址74、82)关联地管理数据的逻辑的第二存储区域(池1001),上述处理器24计算出对于上述第一存储区域的每个数据的I/O负荷(I/O频度95),与上述I/O负荷相应地决定保存上述数据的上述层级。
由此,通过在用虚拟保存位置管理数据的第一存储区域中计算出I/O负荷,与应用上述现有例的情况相比能够削减管理信息。另外,通过用第一存储区域和第二存储区域进行数据的管理,能够将数据削减技术与自动层级配置功能组合。能够提高上层的数据命中率。
另外,处理器24对于上述第一存储区域的数据按规定的周期计算出上述I/O负荷,与上述数据的上述I/O负荷的变动相应地进行上述层级的重新配置。由此,能够将数据削减技术与自动层级配置功能组合,提高上层的数据命中率。
另外,上述存储介质对于每个上述层级具有物理的数据保存区域(RAID组1002),上述处理器24在上述层级重新配置时,将上述存储介质的保存位置(驱动器地址85)与上述逻辑保存位置(池地址82)的对应关系更新,将上述虚拟保存位置(VOL地址72)与上述逻辑保存位置(池地址74)的对应关系更新。
由此,存储装置11中,即使数据的物理保存位置被变更,虚拟保存位置也与相同的数据关联,所以通过参照虚拟保存位置(驱动器地址)能够继续计算出I/O负荷。
另外,上述处理器24通过追加写管理上述第二存储区域,在上述层级重新配置时,将在上述层级之间移动的数据追加至上述第二存储区域的末端。由此,能够仅用变更部分的追加实现写入,实现处理的高速化。
另外,上述处理器24在上述层级重新配置时,变更在上述层级之间移动的数据的是否需要数据削减地保存至上述第二存储区域。由此,能够实现与层级相应的数据量削减。
另外,本发明不限定于上述实施例,包括各种变形例。例如,上述实施例是为了更好地理解本发明而详细说明的,并不限定于必须具备说明的全部结构。
另外,对于上述各结构、功能、处理部、处理单元等,例如可以通过在集成电路中设计等而用硬件实现其一部分或全部。另外,上述各结构、功能等,也可以通过处理器解释、执行实现各功能的程序而用软件实现。实现各功能的程序、表、文件等信息,能够保存在非易失性半导体存储器、硬盘驱动器、SSD(Solid State Drive)等存储设备、或者IC卡、SD卡、DVD等计算机可读取的非暂时性的数据存储介质中。
另外,控制线和信息线示出了认为说明上必要的,并不一定示出了产品上全部的控制线和信息线。实际上也可以认为几乎全部结构都相互连接。

Claims (10)

1.一种存储系统,其具有处理器和存储介质,对数据进行层级管理来保存,其特征在于,包括:
第一存储层,其具有保存数据的存储区域;和
第二存储层,其具有将对保存于所述第一存储层的存储区域中的数据进行保存的区域变更来保存的存储区域,
所述处理器:
计算对所述第一存储层的数据的I/O量,基于所述I/O量决定保存所述数据的所述层级,
在与所决定的层级相应的存储介质中物理地保存所述第二存储层中保存的数据。
2.如权利要求1所述的存储系统,其特征在于:
所述第二存储层将所述第一存储层中保存的数据的数据量变更并保存。
3.如权利要求2所述的存储系统,其特征在于:
所述数据量的变更包括作为数据量削减的数据压缩、加密和数据重复排除中的至少一者。
4.如权利要求1所述的存储系统,其特征在于:
所述第一存储层中,用覆盖方式保存数据;
所述第二存储层中,用追加写方式保存数据。
5.如权利要求4所述的存储系统,其特征在于:
所述第一存储层中,所述存储区域不划分层级;
所述第二存储层中,所述存储区域划分层级。
6.如权利要求5所述的存储系统,其特征在于:
能够基于所述I/O量变更保存所述数据的所述层级,
所述数据的层级被变更的情况下:
所述第一存储层中,所述数据的保存位置不被变更;
所述第二存储层中,所述数据的保存位置被变更;
物理地保存所述数据的所述存储介质被变更。
7.如权利要求6所述的存储系统,其特征在于:
能够进行包括数据压缩、加密和数据重复排除中的至少一者的数据量削减而保存在所述存储介质中,
所述数据的层级被变更的情况下,能够变更是否执行数据量削减;
变更为执行或不执行所述数据量削减来进行处理而使所述数据在所述存储介质之间移动。
8.如权利要求1所述的存储系统,其特征在于:
具有所述存储区域的第一存储层的存储区域被对外部的计算机提供,
基于所述外部的计算机访问的所述第一存储层的位置,计算所述第一存储层的数据的I/O量。
9.如权利要求2所述的存储系统,其特征在于:
所述数据量的变更是数据重复排除,所述第二存储层的数据与所述第一存储层的多个数据关联;
基于关于所述第一存储层的多个数据的层级中的与所述I/O量较大一方对应的层级,决定所述第二存储层中的数据的层级。
10.一种数据存储方法,其使用具有处理器和存储介质的存储系统,对数据进行层级管理来保存,其特征在于:
所述存储系统包括:
第一存储层,其具有保存数据的存储区域;和
第二存储层,其具有将保存于所述第一存储层的存储区域中的数据的保存区域变更来保存的存储区域,
所述处理器:
计算对所述第一存储层的数据的I/O量,基于所述I/O量决定保存所述数据的所述层级;
在与所决定的层级相应的存储介质中物理地保存所述第二存储层中所保存的数据。
CN201910720466.1A 2018-09-28 2019-08-06 存储装置和数据存储方法 Active CN110968262B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018184119A JP6995728B2 (ja) 2018-09-28 2018-09-28 ストレージ装置、管理方法及びプログラム
JP2018-184119 2018-09-28

Publications (2)

Publication Number Publication Date
CN110968262A true CN110968262A (zh) 2020-04-07
CN110968262B CN110968262B (zh) 2023-04-11

Family

ID=69947541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910720466.1A Active CN110968262B (zh) 2018-09-28 2019-08-06 存储装置和数据存储方法

Country Status (3)

Country Link
US (1) US11093134B2 (zh)
JP (1) JP6995728B2 (zh)
CN (1) CN110968262B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737296A (zh) * 2020-06-15 2020-10-02 中国建设银行股份有限公司 一种业务处理方法、装置、设备及存储介质
WO2023232079A1 (zh) * 2022-05-31 2023-12-07 上海寒武纪信息科技有限公司 数据存储、访问、运算方法及相关产品

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021192769A1 (ja) 2020-03-24 2021-09-30 日本電気株式会社 ゲートウェイ装置、コアネットワーク装置、通信システム、配信方法、及び非一時的なコンピュータ可読媒体
US11625370B2 (en) * 2020-04-07 2023-04-11 Vmware, Inc. Techniques for reducing data log recovery time and metadata write amplification

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100077168A1 (en) * 2008-09-24 2010-03-25 Hitachi, Ltd. System and method for controlling automated page-based tier management in storage systems
CN103262054A (zh) * 2010-12-13 2013-08-21 弗森-艾奥公司 用于自动提交存储器的装置、系统和方法
US20130290281A1 (en) * 2012-04-27 2013-10-31 Hitachi, Ltd. Storage apparatus and data management method
CN103744617A (zh) * 2013-12-20 2014-04-23 北京奇虎科技有限公司 一种键-值存储系统中数据文件的合并压缩方法及装置
CN104969170A (zh) * 2014-01-31 2015-10-07 株式会社东芝 层次化存储系统、存储控制器以及代替层次间的数据移动的方法
JP2016001507A (ja) * 2015-09-24 2016-01-07 株式会社日立製作所 ストレージシステム及び記憶領域の割当方法
JP2016511474A (ja) * 2013-10-28 2016-04-14 株式会社日立製作所 階層化ストレージにおける重複排除及びホストベースQoS
WO2016203612A1 (ja) * 2015-06-18 2016-12-22 株式会社日立製作所 ストレージ装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8131927B2 (en) 2007-11-30 2012-03-06 Hitachi, Ltd. Fast accessible compressed thin provisioning volume
CN103299265B (zh) 2011-03-25 2016-05-18 株式会社日立制作所 存储系统和存储区域分配方法
WO2015145532A1 (ja) * 2014-03-24 2015-10-01 株式会社日立製作所 ストレージシステム及びデータ処理方法
WO2016051512A1 (ja) * 2014-09-30 2016-04-07 株式会社日立製作所 分散型ストレージシステム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100077168A1 (en) * 2008-09-24 2010-03-25 Hitachi, Ltd. System and method for controlling automated page-based tier management in storage systems
CN103262054A (zh) * 2010-12-13 2013-08-21 弗森-艾奥公司 用于自动提交存储器的装置、系统和方法
US20130290281A1 (en) * 2012-04-27 2013-10-31 Hitachi, Ltd. Storage apparatus and data management method
JP2016511474A (ja) * 2013-10-28 2016-04-14 株式会社日立製作所 階層化ストレージにおける重複排除及びホストベースQoS
CN103744617A (zh) * 2013-12-20 2014-04-23 北京奇虎科技有限公司 一种键-值存储系统中数据文件的合并压缩方法及装置
CN104969170A (zh) * 2014-01-31 2015-10-07 株式会社东芝 层次化存储系统、存储控制器以及代替层次间的数据移动的方法
WO2016203612A1 (ja) * 2015-06-18 2016-12-22 株式会社日立製作所 ストレージ装置
JP2016001507A (ja) * 2015-09-24 2016-01-07 株式会社日立製作所 ストレージシステム及び記憶領域の割当方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737296A (zh) * 2020-06-15 2020-10-02 中国建设银行股份有限公司 一种业务处理方法、装置、设备及存储介质
CN111737296B (zh) * 2020-06-15 2024-03-01 中国建设银行股份有限公司 一种业务处理方法、装置、设备及存储介质
WO2023232079A1 (zh) * 2022-05-31 2023-12-07 上海寒武纪信息科技有限公司 数据存储、访问、运算方法及相关产品

Also Published As

Publication number Publication date
JP2020052919A (ja) 2020-04-02
US20200104055A1 (en) 2020-04-02
JP6995728B2 (ja) 2022-01-17
CN110968262B (zh) 2023-04-11
US11093134B2 (en) 2021-08-17

Similar Documents

Publication Publication Date Title
CN110968262B (zh) 存储装置和数据存储方法
JP6802209B2 (ja) ストレージシステム
US10031703B1 (en) Extent-based tiering for virtual storage using full LUNs
JP4690765B2 (ja) ストレージ管理システム、ストレージ管理サーバ、データ再配置制御方法およびデータ再配置制御プログラム
JP5816303B2 (ja) フラッシュメモリを含むストレージシステム、及び記憶制御方法
JP5792313B2 (ja) ストレージシステム
US8347060B2 (en) Storage system, storage extent release method and storage apparatus
US10222988B2 (en) Efficient management storage system via defining of several size units in advance
JP5944587B2 (ja) 計算機システム及び制御方法
US20120254513A1 (en) Storage system and data control method therefor
US20130097377A1 (en) Method for assigning storage area and computer system using the same
JP7034132B2 (ja) ストレージシステムおよびストレージシステムのデータ圧縮方法
US10739999B2 (en) Computer system having data amount reduction function and storage control method
JPWO2017149592A1 (ja) ストレージ装置
WO2019025861A1 (en) EXTENSION OF LONGEVITY OF SSD
US20190243758A1 (en) Storage control device and storage control method
US11740823B2 (en) Storage system and storage control method
US11288006B2 (en) Storage system and volume copying method where changes to address conversion table is rolled back
JP7065928B2 (ja) ストレージシステム及びその制御方法
JP2022116209A (ja) 仮想ストレージシステム
JP2024060809A (ja) ストレージ装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant