CN104246721B - 存储系统、存储控制器及存储控制方法 - Google Patents

存储系统、存储控制器及存储控制方法 Download PDF

Info

Publication number
CN104246721B
CN104246721B CN201380000357.3A CN201380000357A CN104246721B CN 104246721 B CN104246721 B CN 104246721B CN 201380000357 A CN201380000357 A CN 201380000357A CN 104246721 B CN104246721 B CN 104246721B
Authority
CN
China
Prior art keywords
chunk
state
access
storage device
situation
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
Application number
CN201380000357.3A
Other languages
English (en)
Other versions
CN104246721A (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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Publication of CN104246721A publication Critical patent/CN104246721A/zh
Application granted granted Critical
Publication of CN104246721B publication Critical patent/CN104246721B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value

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

根据实施方式,在向第一组块的访问状况为需要高速访问的第一状况、且所述第一组块处于所述第一组块的第一逻辑地址被映射到比第一存储装置低速且大容量的第二存储装置侧的第一物理地址的第二状态的情况下,存储控制器的映射管理部将所述第一组块从所述第二状态变更为第三状态。由此,所述第一逻辑地址被映射到所述第一存储装置侧的第二物理地址及所述第二存储装置侧的所述第一物理地址双方。

Description

存储系统、存储控制器及存储控制方法
技术领域
本发明的实施方式涉及对逻辑地址和物理地址之间的映射进行管理的存储系统、存储控制器及方法。
背景技术
近年来,开发了具备访问速度不同的第一及第二存储装置的存储系统。在此,设第一存储装置为高速且小容量,第二存储装置与第一存储装置相比,为低速且大容量。存储系统通过将第一存储装置(以下称为高速存储装置)及第二存储装置(以下称为低速存储装置)阶层式地组合而实现。因此,存储系统也称为阶层化存储系统。
存储系统还具备存储控制器。存储控制器根据来自主计算机(以下称为主机)的读取请求或写入请求,访问高速存储装置或低速存储装置。一般来说,逻辑单元(即逻辑卷)分割为具有一定尺寸的多个数据块加以管理。这样的数据块被称为组块(chunk)。逻辑单元指的是,由主机作为逻辑性的存储驱动而识别的储存区域。逻辑单元内的组块的集合中的、至少由主机利用的组块的逻辑地址被映射到高速存储装置或低速存储装置的某一个的物理储存区域的物理地址。即,由主机利用的组块被映射到高速存储装置或低速存储装置的某一个。
存储控制器按照每个组块监视向该组块的访问状况。作为表示该访问状况的指标,通常使用以一定期间(监视期间)内的每个组块的访问频率(使用频率)或访问数据量的总和为代表的访问统计信息。
存储控制器基于被分配了低速存储装置侧的物理储存区域的每个组块的访问状况(访问统计信息),选择需要高速访问的组块。即,存储控制器将访问频率较高或访问数据量较多的组块作为需要高速访问的组块而选择。将这样的需要高速访问的组块的访问状况称为第一状况。
在此,设基于第一监视期间内的每个组块的访问状况而选择了第一组块。此外,设第一组块的第一逻辑地址被映射到低速存储装置的第一物理储存区域的第一物理地址。
这种情况下,存储控制器为了实现向第一组块的高速访问,将第一组块的映射状态如下变更。即,存储控制器将第一组块的第一逻辑地址重新映射到高速存储装置的第二物理储存区域的第二物理地址。即,存储控制器将第一组块的映射目的地从低速存储装置侧变更为高速存储装置侧。同时,存储控制器将第一物理储存区域的数据移动到第二物理储存区域,然后将第一物理储存区域释放。以后,从主机请求向第一组块的访问的情况下,存储控制器访问第二物理储存区域。由此,与重新映射前相比,能够更高速地执行向第一组块的访问请求(即,向访问频率较高或访问数据量较多的组块的访问请求)。
此外,存储控制器基于被分配了高速存储装置侧的物理储存区域的每个组块的访问状况(访问统计信息),选择不需要高速访问的组块。即,存储控制器将访问频率较低或访问数据量较少的组块作为不需要高速访问的组块而选择。将这样的不需要高速访问的组块的访问状况称为第二状况。
在此,设将第一组块重新映射到高速存储装置侧后,第一监视期间接下来的第二监视期间内的第一组块的访问状况从第二状况变化为第一状况。这种情况下,存储控制器取得低速存储装置的第三物理储存区域,将第一组块的映射目的地再次变更为低速存储装置侧。同时,存储控制器将第二物理储存区域的数据移动到第三物理储存区域,然后将第二物理储存区域释放。以后,从主机请求向第一组块的访问的情况下,存储控制器访问第三物理储存区域。
在先技术文献
专利文献
专利文献1:日本特开2007-4710号公报
发明内容
发明所要解决的技术课题
如上所述,每当经过监视期间,选择应该被重新映射的组块。但是, 在第一监视期间内向第二组块的访问状况在接下来的第二监视期间内未必相同。例如,设向第二组块的访问状况处于第一状况和第二状况的边界附近。在这样的第二组块中,频繁执行重新映射的可能性较高。即,第二组块的映射状态频繁变更,从低速存储装置向高速存储装置的数据移动和从高速存储装置向低速存储装置的数据移动频繁发生的可能性较高。将这样的现象称为状态转变的振动。
此外,通常处于第二状况的第三组块的访问状况例如仅在单一的监视期间内变化为第一状况的情况下,也发生如下的映射状态的转变。即,也发生第三组块暂时被映射到高速存储装置(更详细地说,是高速存储装置的物理储存区域)、然后再次被映射到低速存储装置的情况。相反,通常处于第一状况的第四组块的访问状况仅在单一的监视期间内变化为第二状况的情况下,也发生如下的映射状态的转变。即,也发生第四组块暂时被映射到低速存储装置、然后再次被映射到高速存储装置的情况。存储控制器难以预测这些情况。
在映射状态的转变时,如上述那样发生数据移动。即,对于成为映射状态的转变对象的组块整体来说,发生从低速存储装置向高速存储装置的数据移动、或从高速存储装置向低速存储装置的数据移动。向高速存储装置的数据移动伴随着从低速存储装置的数据读取,向低速存储装置的数据移动伴随着向低速存储装置的数据写入。因此,在每个监视期间内执行的映射状态变更处理中,如果成为对象的组块的数量变多,则向低速存储装置的访问需要大量时间,整体的处理时间变长。
本发明所要解决的课题为,提供一种能够缩短逻辑地址和物理地址之间的映射状态的变更所需的处理时间的存储系统、存储控制器及方法。
解决课题所采用的技术手段
根据实施方式,存储系统具备:第一存储装置、第二存储装置、以及存储控制器。所述第二存储装置与所述第一存储装置相比,为低速且大容量。所述存储控制器控制向所述第一存储装置的访问及向所述第二存储装置的访问。所述存储控制器具备:映射管理部、地址变换部、访问控制器。所述映射管理部对逻辑单元内的第一尺寸的各组块处于第一状态、第二状态或第三状态中的哪个状态进行管理,所述第一状态是,所述组块的逻辑 地址通过第一类型的映射信息被映射到所述第一存储装置内的物理储存区域的物理地址,所述第二状态是,所述逻辑地址通过所述第一类型的映射信息被映射到所述第二存储装置内的物理储存区域的物理地址,所述第三状态是,所述逻辑地址通过所述第一类型的映射信息被映射到所述第一存储装置内的物理储存区域的物理地址,并且通过第二类型的映射信息被映射到所述第二存储装置内的物理储存区域的物理地址。所述地址变换部将来自主机装置的读取请求或写入请求所指定的逻辑地址,变换为通过所述第一类型的映射信息而映射到的所述第一存储装置或所述第二存储装置内的物理储存区域的物理地址。所述访问控制器基于所述变换后的物理地址,访问所述第一存储装置或所述第二存储装置。所述映射管理部对所述逻辑单元内的每个组块监视向该组块的访问状况。在向第一组块的访问状况为需要高速访问的第一状况、且所述第一组块处于所述第二状态的情况下,所述映射管理部将所述第一组块从所述第二状态变更为所述第三状态。在从所述第二状态变更为所述第三状态后还继续所述第一状况的情况下,所述映射管理部将所述第一组块从所述第三状态变更为所述第一状态。在从所述第二状态变更为所述第三状态后、向所述第一组块的访问状况变化为不需要所述高速访问的第二状况的情况下,所述映射管理部将所述第一组块从所述第三状态变更为所述第二状态。
附图说明
图1是表示实施方式的计算机系统的典型的硬件构成的框图。
图2是主要示出图1所示的存储控制器的典型的功能构成的框图。
图3是表示逻辑单元具备组块的集合的例子的图。
图4是用于说明在该实施方式中应用的3种映射状态的例子的图。
图5是用于说明在该实施方式中应用的3种映射状态的例子的图。
图6是表示地址变换信息及位图的数据构造例的图。
图7是表示地址变换信息中包含的逆变换表的数据构造例的图。
图8是表示转变候选列表的数据构造例的图。
图9是用于说明该实施方式中的读取处理的典型顺序的流程图。
图10是用于说明该实施方式中的写入处理的典型顺序的流程图。
图11是表示用于说明该实施方式中的映射状态变更处理的典型顺序的流程图的一部分的图。
图12是表示用于说明该映射状态变更处理的典型顺序的流程图的剩余部分的图。
图13是用于说明该实施方式中的第一状态变更处理的典型顺序的流程图。
图14是用于说明该实施方式中的第二状态变更处理的典型顺序的流程图。
图15是用于说明该实施方式中的第三状态变更处理的典型顺序的流程图。
图16是用于说明该实施方式中的第四状态变更处理的典型顺序的流程图。
具体实施方式
以下,参照附图说明各种实施方式。
图1是表示实施方式的计算机系统的典型的硬件构成的框图。图1所示的计算机系统包括存储系统10及主计算机(以下称为主机)20。存储系统10经由主机接口总线30与主机20连接。在本实施方式中,主机接口总线30是光纤通道(FC)。但是,主机接口总线30也可以是小型计算机系统接口(SCSI)、串行连接SCSI(SAS)、因特网SCSI(iSCSI)、以太网(注册商标)、或串行AT连接(SATA)这样的FC以外的接口总线。
主机20是服务器或客户个人计算机(客户PC)这样的物理计算机。在主机20内,用于访问存储系统10内的数据的应用程序进行动作。按照该应用程序,主机20经由主机接口总线30利用存储系统10。
存储系统10具备:高速存储装置(第一存储装置)11、低速存储装置(第二存储装置)12、及存储控制器13。高速存储装置11例如由高速且低容量的快闪存储装置构成。低速存储装置12例如由比高速存储装置11低速且大容量的硬盘驱动(HDD)阵列装置构成。该HDD阵列装置(即作为低速存储装置12使用的HDD阵列装置)例如是具备多个HDD的RAID(Redundant Arrays of Inexpensive Disks或Redundant Arrays of IndependentDisks: 廉价冗余磁盘阵列或独立磁盘冗余阵列)构造的存储装置。
另一方面,快闪存储装置(即作为高速存储装置11使用的快闪存储装置)例如是具备搭载有多个快闪存储器的存储板的群的RAID构造的存储装置。在本实施方式中,存储板的各个群不具有与HDD之间的互换性。但是,也可以代替存储板的各个群,而使用具有与HDD之间的互换性的固态驱动(SSD)。
高速存储装置11及低速存储装置12经由存储接口总线14与存储控制器13连接。在本实施方式中,存储接口总线14是FC(光纤通道)。但是,存储接口总线14与主机接口总线30同样,也可以是FC以外的接口总线。
存储控制器13从主机20受理通过逻辑地址的指定而进行的读取请求或写入请求。存储控制器13通过地址变换功能将指定的逻辑地址变换为表示该逻辑地址被映射的存储装置内的物理储存区域的物理地址(更详细地说,是存储装置的装置编号及物理地址)。存储控制器13基于该物理地址,访问高速存储装置11或低速存储装置12。
存储控制器13具备:CPU131、存储器132及HDD133。CPU131按照保存在后述的控制程序区域132a中的控制程序的程序代码,执行存储控制器13所请求的处理。
存储器132例如是使用多个DRAM而构成的易失性存储器。存储器132比高速存储装置11更加高速。HDD123是本地存储装置,用于保存后述的控制程序及地址变换信息。另外,也可以取代HDD123而使用搭载有多个快闪存储器的存储装置。
存储器132包括:控制程序区域132a、工作区域132b、高速缓存区域132c、地址变换信息区域132d及写入位置信息区域132e。控制程序区域132a用于保存由CPU131执行的控制程序。该控制程序预先保存在HDD133中,在存储控制器13启动时从该HDD133加载到控制程序区域132a中。
工作区域132b用于保存在CPU131执行控制程序时利用的临时性数据。高速缓存区域132c作为用于临时保存从高速存储装置11或低速存储装置12读取的数据的高速缓存而使用。
地址变换信息区域132d用于保存地址变换信息。写入位置信息区域132e用于保存写入位置信息。地址变换信息及写入位置信息留待后述。
在本实施方式中,存储控制器13如图1所示,与主机20独立地配置。但是,存储控制器13也可以内置于主机20。这种情况下,存储控制器13(更详细地说,是存储控制器13的功能)也可以使用主机20所具有的操作系统(OS)的功能的一部分来实现。
此外,存储控制器13也可以存在于在主机20的卡槽中安装使用的卡中。此外,存储控制器13的一部分也可以内置于主机20,而该存储控制器13的剩余部分存在于卡中。此外,主机20、存储控制器13、高速存储装置11及低速存储装置12的一部分或全部也可以收纳在1个壳体内。
图2是主要表示图1所示的存储控制器13的典型的功能构成的框图。存储控制器13具备:逻辑单元管理部134、地址变换部135、访问统计收集部136及访问控制器137。在本实施方式中,上述功能要素134~137是通过由图1所示的存储控制器13的CPU131执行控制程序来实现的软件模块。但是,功能要素134~137的一部分或全部也可以由硬件模块实现。
逻辑单元管理部134对1个以上的逻辑单元进行管理。逻辑单元指的是,由主机20作为逻辑的存储驱动而识别的储存区域。在本实施方式中,为了简化说明,设由逻辑单元管理部134管理1个逻辑单元LU(参照图3)。逻辑单元管理部134将逻辑单元LU的储存区域(更详细地说,是逻辑储存区域)整体分割为第一尺寸(例如4兆字节)的组块(更详细地说,是逻辑组块)CHK并管理。即,逻辑单元LU具备组块CHK的集合。这种情况下,高速存储装置11及低速存储装置12的储存区域整体也分割为与组块CHK同一尺寸的物理储存区域PSA加以管理。
图3表示逻辑单元LU具备包含组块CHK1~CHK10的组块CHK的集合的例子。在本实施方式中,设想存储系统10作为以块为单位被访问的块设备发挥功能的情况。因此,各组块CHK分割为第二尺寸的块加以管理。该第二尺寸是第一尺寸(4兆字节)的n分之1(n为大于1的整数)。在本实施方式中,第二尺寸为512字节,因此n为8,192(4兆字节/512字节)。即,各组块CHK具备8,192块。
再次参照图2。逻辑单元管理部134通过将高速存储装置11及低速存储装置12的储存区域虚拟化,来定义(构建)逻辑单元LU。在本实施方式中,逻辑单元LU比高速存储装置11及低速存储装置12的容量的总和更加 大容量。逻辑单元LU也被称为逻辑卷。以该逻辑单元LU为对象来执行从利用存储系统10的主机20这样的装置进行的读取/写入。
逻辑单元管理部134包括映射管理部134a。映射管理部134a使用地址变换信息区域132d、写入位置信息区域132e、及工作区域132b,管理逻辑单元LU内的每个组块CHK的映射状态。组块CHK被设定为第一状态、第二状态及第三状态中的某一个状态。
第一状态指的是,组块CHK的逻辑地址通过第一类型的映射信息MIa而被映射到高速存储装置11内的物理储存区域的物理地址的状态。在以后的说明中,将第一状态称为通常的高速状态(或高速状态)。
第二状态指的是,逻辑地址通过第一类型的映射信息MIa而被映射到低速存储装置12内的物理储存区域的物理地址的状态。在以后的说明中,将第二状态称为低速状态。
第三状态指的是,逻辑地址通过第一类型的映射信息MIa而被映射到高速存储装置11内的物理储存区域的物理地址、且通过第二类型的映射信息MIb而被映射到低速存储装置12内的物理储存区域的物理地址的状态。在以后的说明中,将第三状态称为伪高速状态。
映射管理部134a对于逻辑单元LU内的每个组块CHK,监视向该组块CHK的访问状况。更详细地说,映射管理部134a通过参照访问统计信息,监视向各组块CHK的访问状况。在本实施方式中,访问统计信息是各组块CHK的第一类型的映射信息MIa中包含的访问计数器CNT的值。映射管理部134a基于向各组块CHK的访问状况,变更该组块CHK的映射状态。
地址变换部135基于地址变换信息,将来自主机20的读取请求或写入请求所指定的逻辑地址LAa变换为高速存储装置11或低速存储装置12的物理地址PAa(更详细地说,是装置编号DN及物理地址PAa)。
访问统计收集部136收集表示向各组块CHK的访问状况的访问统计信息。如前述那样,访问统计信息是各组块CHK的第一类型的映射信息MIa中包含的访问计数器CNT(即,与组块CHK对应的访问计数器CNT)的值。在此,将与组块CHKt对应的访问计数器标记为CNT_t。
在本实施方式中,访问计数器CNT_t用于对向组块CHKt的访问次数进行计数。更详细地说,访问计数器CNT_t用于将向组块CHKt的读取访问及 写入访问的双方的次数作为访问次数进行计数。每当开始了预先决定的访问状况的监视期间,访问计数器CNT_t被清除为初始值0。在本实施方式中,监视期间是一定的。但是,监视期间并不必须是一定的。这种情况下,将访问计数器CNT_t的值按照监视期间的长度进行归一化即可。
此外,访问计数器CNT_t也可以用于对向组块CHKt的访问的数据量的总和、例如读取访问及写入访问的两个访问的数据量的总和进行计数。
访问控制器137基于从逻辑地址LAa变换来的物理地址PAa(装置编号DN及物理地址PAa),访问高速存储装置11或低速存储装置12。
存储器132如图1及图2所示,具有工作区域132b、地址变换信息区域132d及写入位置信息区域132e。工作区域132b的一部分区域如图2所示,用于保存转变候选列表CL。地址变换信息区域132d用于保存地址变换信息ATI。地址变换信息ATI如图2所示,包含散列表HT、地址变换散列列表HL_0~HL_n-1、第二类型的映射信息MIb及逆变换表ITT。写入位置信息区域132e用于保存写入位置信息,该写入位置信息是将数据被写入的位置与各组块相对应地以块为单位加以表示的信息。在本实施方式中,作为写入位置信息而使用位图BM。这些信息保存在HDD133中,例如在存储系统10启动时从HDD133加载到存储器132中。此外,加载到存储器132中的信息也可以适时地或在存储系统10的电源切断时保存到HDD133中。
图4及图5是用于说明在本实施方式中应用的3种映射状态的例子的图。在图4中,逻辑单元LU内的组块CHK1及CHK2处于通常的高速状态。即,组块CHK1及CHK2的逻辑地址被映射到高速存储装置11内的物理储存区域PSAa1及PSAa2的物理地址。该映射状态(即通常的高速状态)使用第一类型的映射信息Mia加以管理。从主机20请求向组块CHK1或CHK2的访问的情况下,访问控制器137访问物理储存区域PSAa1或PSAa2。
此外,在图4中,逻辑单元LU内的组块CHK3~CHK8处于低速状态。即,组块CHK3~CHK8的逻辑地址被映射到低速存储装置12内的物理储存区域PSAb3~PSAb8的物理地址。该映射状态(即低速状态)使用第一类型的映射信息Mia加以管理。从主机20请求向组块CHK3~CHK8的某一个组块的访问的情况下,访问控制器137访问物理储存区域PSAb3~PSAb8中的对应的物理储存区域。
在现有技术中,各组块所能够取得的映射状态是上述的高速状态(第一状态)及低速状态(第二状态)这2种。但是,在本实施方式中,作为各组块所能够取得的映射状态,除了高速状态及低速状态之外,如前述那样,还存在作为第三状态的伪高速状态。
在图4中,逻辑单元LU内的组块CHK9及CHK10处于伪高速状态。即,组块CHK9及CHK10的逻辑地址被映射到高速存储装置11内的物理储存区域PSAa9及PSAa10,并且也被映射到低速存储装置12内的物理储存区域PSAb9及PSAb10。前者的映射状态使用第一类型的映射信息Mia加以管理,后者的映射状态使用第二类型的映射信息MIb加以管理。
这样,组块CHK9及CHK10的映射状态(伪高速状态)使用第一类型的映射信息MIa及第二类型的映射信息MIb加以管理。从这样的映射可知,处于伪高速状态的组块CHK9及CHK10的数据(实际数据)存在于高速存储装置11及低速存储装置12双方。
从主机20请求向处于伪高速状态的组块CHK9或CHK10的访问(读取访问或写入访问)的情况下,访问控制器137访问物理储存区域PSAa9或PSAa10。由此,即使组块CHK9或CHK10是访问频率较高(或访问数据量较多)的组块,访问控制器137也能够高速地执行向该组块CHK9或CHK10的访问请求。
在此,例如设为请求向组块CHK10的写入。该写入请求并不一定是请求向组块CHK10整体的写入。在此,在本实施方式中,写入请求也可以想到请求向组块CHK10内的一部分的区域的块单位的写入。具体地说,映射管理部134a对于包含在组块中且被写入(更新)数据的块的位置,使用与该组块建立了对应的位图BM(参照图6)进行管理。
接下来,设处于伪高速状态的组块CHK9及CHK10的某一方的访问频率较高的状态是暂时的。在此,设组块CHK10的访问频率较高的状态是暂时的,该组块CHK10例如返回到访问频率较低的状态。另一方面,设组块CHK9的访问频率较高的状态继续。
这种情况下,映射管理部134a将组块CHK9从伪高速状态变更为通常的高速状态。此外,映射管理部134a将组块CHK10从伪高速状态变更为低速状态。图5是表示包括这时的组块CHK9及CHK10的映射状态的、组块 CHK1~CHK10的映射状态的例子。
从图5可知,组块CHK9(更详细地说,是组块CHK9的逻辑地址)仅映射到高速存储装置11内的物理储存区域PSAa9(更详细地说,是物理储存区域PSAa9的物理地址)。该映射状态使用第一类型的映射信息Mia加以管理。组块CHK9映射到低速存储装置12内的物理储存区域PSAb9的状态被解除。即,与组块CHK9有关的第二类型的映射信息MIb被无效化。在此,需要注意的是,虽然组块CHK9的映射状态从伪高速状态变更为通常的高速状态,但是在高速存储装置11及低速存储装置12之间不发生数据移动。
另一方面,组块CHK10仅映射到低速存储装置12内的物理储存区域PSAb10。该映射状态使用第一类型的映射信息Mia加以管理。即,第一类型的映射信息MIa从将组块CHK10映射到高速存储装置11内的物理储存区域PSAa10的状态,被更新为将组块CHK10映射到低速存储装置12内的物理储存区域PSAb10的状态。这种情况下,与组块CHK10有关的第二类型的映射信息MIb被无效化。在此,需要注意的是,虽然组块CHK10的映射状态从伪高速状态变更为低速状态,但是在高速存储装置11及低速存储装置12之间不发生数据移动。
图6表示地址变换信息ATI及位图BM(写入位置信息)的数据构造例。地址变换信息ATI包括散列表HT及n个地址变换散列列表HL_0~HL_n-1。此外,地址变换信息ATI包括第二类型的映射信息MIb。地址变换信息ATI还包括逆变换表ITT。但是,逆变换表ITT在图6中未示出。
散列表HT具有与分别不同的散列值HV0~HVn-1对应的入口ENT_0~ENT_n-1。在本实施方式中,逻辑单元LU内的全部组块CHK的逻辑地址按照该逻辑地址的散列值而分类为n个组G0~Gn-1。组Gi(i=0,1,…,n-1)是散列值为HVi(HVi=i)的逻辑地址的集合。散列表HT的入口ENT_i(即,与散列值HVi对应的入口ENT_i)保存指示地址变换散列列表HL_i的开头的要素HLE的列表指针LPi。
地址变换散列列表HL_i的各要素(以下称为散列列表要素)HLE具有字段F1及F2。在散列列表要素HLE的字段F1中设定有第一类型的映射信息MIa。在散列列表要素HLE的字段F2中设定有下一指针NPa。下一指针NPa指的是地址变换散列列表HL_i内的下一散列列表要素HLE。但是,在 地址变换散列列表HL_i内的最后的散列列表要素HLE的字段F2中设定有表示不存在后续的散列列表要素HLE的NULL(即NPa=NULL)。
第一类型的映射信息MIa具有字段F11~F15。在第一类型的映射信息MIa的字段F11中设定有逻辑地址LAa。逻辑地址LAa是通过第一类型的映射信息MIa来管理映射状态的组块CHK的逻辑地址,属于组Gi。
在第一类型的映射信息MIa的字段F12中设定有物理地址PAa。物理地址PAa表示组块CHK的逻辑地址LAa被映射到的存储装置(高速存储装置11或低速存储装置12)内的物理储存区域PSA。在第一类型的映射信息MIa的字段F13中设定有装置编号DN。装置编号DN是用于识别对字段F13设定的物理地址PAa所示的物理储存区域PSA所属于的存储装置的识别符,是该存储装置固有的编号。即,装置编号DN表示对字段F11设定的逻辑地址LAa被映射到的存储装置。
在第一类型的映射信息MIa的字段F14中设定有映射信息指针MPb。映射信息指针MPb为有效(非NULL)的情况下,该有效的映射信息指针MPb指示第二类型的映射信息MIb。这种情况下,第一类型的映射信息MIa中包含的物理地址PAa表示高速存储装置11内的物理储存区域PSA(=PSAa)。在第一类型的映射信息MIa中包含的逻辑地址LAa不仅映射到高速存储装置11内的物理储存区域PSAa的物理地址PAa,还映射到低速存储装置12内的物理储存区域PSAb的物理地址PAb的情况下,这样的有效的映射信息指针MPb被设定到该第一类型的映射信息MIa的字段F14中。
在第一类型的映射信息MIa的字段F15中设定有访问计数器CNT。访问计数器CNT如前述那样,用于对向基于第一类型的映射信息MIa被管理的组块CHK(即,具有逻辑地址LAa的组块CHK)的访问次数进行计数。这样,第一类型的映射信息Mia包括逻辑地址LAa、物理地址PAa、装置编号DN、映射信息指针MPb及访问计数器CNT。
另一方面,第二类型的映射信息MIb具有字段F21及F22。如上述那样,通过第一类型的映射信息MIa中包含的映射信息指针MPb指示第二类型的映射信息MIb。在第二类型的映射信息MIb(详细地说,与第一类型的映射信息MIa建立了关联的第二类型的映射信息MIb)的字段F21中设定有物理地址PAb。物理地址PAb表示第一类型的映射信息MIa所示的组块CHK被映 射到的低速存储装置12内的物理储存区域PSAb。
在第二类型的映射信息MIb的字段F22中设定有位图指针BP。位图指针BP表示位图BM。位图BM由与第一类型的映射信息MIa所示的组块CHK中包含的块的数8,192(n=8,192)一致的位的列构成。即,位图BM的大小为1千字节(8,192位)。位图BM的各位用于记录是否通过向组块CHK内的对应的块的数据写入而将该块的数据更新。即,位图BM表示组块CHK内的数据被更新(写入)的块的位置(写入位置)。
另外,也可以与本实施方式不同,第二类型的映射信息MIb包含在第一类型的映射信息MIa中。这种情况下,地址变换信息ATI需要与是否存在有效的第二类型的映射信息MIb无关地、按照每个第一类型的映射信息MIa具备用于第二类型的映射信息MIb的字段。因此,保存地址变换信息ATI所需的存储器132的区域(即,地址变换信息区域132d)的尺寸变大。
因此,为了防止地址变换信息ATI的尺寸变大,也可以将第一类型的映射信息MIa的某个字段的未使用的1位(例如最上位的位)作为如下的标志位来使用。该标志位表示第一类型的映射信息MIa所示的组块CHK的映射状态是否处于伪高速状态。这种情况下,第二类型的映射信息MIb与第一类型的映射信息MIa同样地保存在散列列表中即可。
图7表示地址变换信息ATI中包含的逆变换表ITT的数据构造。图7所示的逆变换表ITT具有N个入口。N表示例如包含在高速存储装置11中且具有与组块CHK相同的尺寸的物理储存区域PSA的数量。逆变换表ITT用于将N个物理储存区域PSA的物理地址0~N-1与被映射到该物理地址0~N-1的组块CHK的逻辑地址建立对应地加以保存。在包含在逆变换表ITT中且与未被映射组块CHK的物理地址建立了对应的入口中,取代逻辑地址而设定有特定的值。在本实施方式中,该特定的值为负的值,例如-1。
图7所示的逆变换表ITT用于由地址变换部135将高速存储装置11的物理储存区域PSA的物理地址高速地变换为逻辑地址(即逆变换)。通过该高速变换,能够缩短用于变更映射状态的后述的映射状态变更处理的处理时间。
另外,由地址变换部135将高速存储装置11的物理地址变换为逻辑地址时并不是必须使用逆变换表ITT。即,地址变换部135通过搜索地址变换 散列列表HL_i,也能够将高速存储装置11的物理地址变换为逻辑地址。但是,与使用逆变换表ITT的情况相比,变换速度降低。此外,地址变换信息ATI除了逆变换表ITT之外,也可以包括用于将低速存储装置12的物理地址变换为逻辑地址的逆变换表。
图8表示转变候选列表CL的数据构造例。转变候选列表CL用于将应该从低速状态变更为伪高速状态的组块CHK作为转变候选加以保存。转变候选列表CL包括列表指针LP、及该转变候选列表CL的要素(以下称为转变候选列表要素)CLE的排列。列表指针LP指示转变候选列表要素CLE的排列中的开头的转变候选列表要素CLE。
各转变候选列表要素CLE具有字段F31及F32。在转变候选列表要素CLE的字段F31中设定有下一指针NPc。下一指针NPc指示在包含该下一指针NPc的转变候选列表要素CLE之后追加到转变候选列表CL的转变候选列表要素CLE。但是,在最后追加的转变候选列表要素CLE的字段F31中,设定有表示不存在后续的转变候选列表要素CLE的NULL(即NPc=NULL)。
在转变候选列表要素CLE的字段F32中设定有映射信息指针MIPc。映射信息指针MIPc指示包含表示对应的组块的当前的映射状态的第一映射信息Mia在内的散列列表要素HLE(参照图6)。
在本实施方式中,在访问处理(读取处理或写入处理)中向当前处于低速状态的组块CHK的访问次数达到阈值(第一阈值)TH1的情况下,映射管理部134a将该组块CHK作为转变候选而追加到转变候选列表CL中。即,映射管理部134a将指示与转变候选对应的第一类型的映射信息MIa的转变候选列表要素CLE追加到转变候选列表CL中。
映射管理部134a在映射状态变更处理(第一状态变更处理)中仅通过参照转变候选列表CL,就能够简单地确定应该从低速状态变更为伪高速状态的组块(转变候选)。但是,并不是必须要有转变候选列表CL。即,映射管理部134a通过搜索地址变换散列列表HL_i的散列列表要素HLE,也能够确定应该从低速状态变更为伪高速状态的组块。即,映射管理部134a从地址变换散列列表HL_0~HL_n-1搜索访问计数器CNT为阈值TH1以上且映射信息指针MPb为NULL的第一类型的映射信息MIa即可。但是,低速存储装置12的储存容量比高速存储装置11大,所以处于低速状态的组块的数量 通常非常多。因此,与使用转变候选列表CL的情况相比,搜索转变候选所需的时间变长。
接着,参照图9说明本实施方式中的读取处理。图9是用于说明读取处理的典型顺序的流程图。现在设从主机20经由主机接口总线30向存储系统10发送指定数据读取的读取请求。并且,设存储系统10的存储控制器13接收来自主机20的读取请求。在此,为了简化说明,设由逻辑地址LAa_t指定的组块CHKt(即对象组块CHKt)的开头的块(即对象块)的数据读取是通过来自主机20的读取请求而被请求的。这种情况下,表示对象块在对象组块CHKt内的相对位置的偏移地址为0。
在以下的说明中,将与对象组块CHKt有关的第一类型的映射信息标记为MIa_t。此外,将包含在第一类型的映射信息MI_t中的物理地址及装置编号分别标记为PAa_t及DN_t。此外,将包含在第一类型的映射信息MI_t中的映射信息指针及访问计数器分别标记为MPb_t及CNT_t。此外,映射信息指针MPb_t为非NULL的情况下,将该映射信息指针MPb_t所指示的第二类型的映射信息标记为MIb_t。此外,将包含在第二类型的映射信息MIb_t中的物理地址及位图指针分别标记为PAb_t及BP_t。此外,将位图指针BP_t所指示的位图标记为BM_t。进而,将对象组块CHKt作为转变候选来表示的转变候选列表CL内的转变候选列表要素被标记为CLE_t。
存储控制器13的地址变换部135基于包含由来自主机20的读取请求指定的对象块在内的对象组块CHKt的逻辑地址LAa_t,计算该逻辑地址LAa_t的散列值HVx(步骤S1)。散列值HVx(HVx=x)是0~n-1中的某1个。
接下来,地址变换部135取得在与散列值HVx对应的散列表HT的入口ENT_x中设定的列表指针LPx(步骤S2)。在步骤S2中,地址变换部135从列表指针LPx所指示的地址变换散列列表HL_x检索包含逻辑地址LAa_t的第一类型的映射信息MIa_t。由此,地址变换部135取得包含在第一类型的映射信息MIa_t中的物理地址PAa_t(更详细地说,是物理地址PAa_t及装置编号DN)。即,地址变换部135将逻辑地址LAa_t变换为物理地址PAa_t。另外,在映射信息(地址变换信息)的搜索中,也可以代替地址变换散列列表HL_i,而使用例如平衡树(balance tree)这样的其他数据构造。
访问控制器137从物理地址PAa_t示出的高速存储装置11或低速存储装置12的物理储存区域读取数据(实际数据)(步骤S3)。但是,对象块不是对象组块CHKt内的开头的情况下,地址变换部135需要如下计算数据被读取的物理储存区域的物理地址(对象物理地址)。地址变换部135将表示对象块的对象组块CHKt内的相对位置的偏移地址与物理地址PAa_t相加。由此,计算出对象物理地址。此外,通过包含在第一类型的映射信息MIa_t中的装置编号DN_t,示出应该从高速存储装置11或低速存储装置12的哪个读取数据。
执行步骤S3后,访问统计收集部136将包含在第一类型的映射信息MIa_t中的访问计数器CNT_t增加1(步骤S4)。访问计数器CNT_t增加1后,映射管理部134a通过将该访问计数器CNT_t与阈值TH1比较,判定该访问计数器CNT_t的值CNT_t是否与阈值TH1相等(步骤S5)。访问计数器CNT_t是使用第一类型的映射信息MIa_t来表示向映射状态被管理的对象组块CHKt的访问状况(访问频率)的访问统计信息。因此,映射管理部134a将计数器值CNT_t与阈值TH1比较,等价于监视向对象组块CHKt的访问状况。
在计数器值CNT_t与阈值TH1相等的情况下(步骤S5:是),映射管理部134a判定为向对象组块CHKt的访问状况是需要使用高速存储装置11的高速访问的第一状况。这种情况下,映射管理部134a判定在步骤S3中被读取数据的存储装置是否为低速存储装置12(步骤S6)。即,映射管理部134a判定包含在第一类型的映射信息MIa_t中的装置编号DN_t是否表示低速存储装置12。进一步说明,映射管理部134a判定对象组块CHKt的映射状态是否处于低速状态。
在被读取数据的存储装置是低速存储装置12的情况下(步骤S6:是),映射管理部134a判定是否需要将处于第一状况的对象组块CHKt从低速状态变更为伪高速状态。这种情况下,映射管理部134a将对象组块CHKt追加到转变候选列表CL中(步骤S7)。即,映射管理部134a将设定有指示第一类型的映射信息MIa_t的映射信息指针MIPc_t的转变候选列表要素CLE_t追加到转变候选列表CL中。由此,读取处理结束。
另一方面,在计数器值CNT_t与阈值TH1不相等的情况下(步骤S5: 否),映射管理部134a判定对象组块CHKt是否已经被追加转变候选列表CL中、或者向该对象组块CHKt的访问状况是不需要高速访问的第二状况。前者的情况下,计数器值CNT_t为阈值TH1以上,后者的情况下,计数器值CNT_t低于阈值TH1。这种情况下,读取处理结束。此外,被读取数据的存储装置不是低速存储装置12的情况下(步骤S6:否),读取处理也结束。
接下来,参照图10说明本实施方式中的写入处理。图10是用于说明写入处理的典型顺序的流程图。现在设从主机20经由主机接口总线30向存储系统10发送指定数据写入的写入请求。并且,设存储系统10的存储控制器13接收来自主机20的写入请求。在此,为了简化说明,设向由逻辑地址LAa_t指定的组块CHKt(即对象组块CHKt)的开头的块(即对象块)的数据写入是通过来自主机20的写入请求而被请求的。
首先,存储控制器13的地址变换部135通过执行与前述的读取处理中的步骤S1及S2相当的步骤S11及S12,来检索包含逻辑地址LAa_t的第一类型的映射信息MIa_t。
地址变换部135基于该第一类型的映射信息MIa_t,将逻辑地址LAa_t变换为物理地址PAa_t。
访问控制器137在物理地址PAa_t示出的高速存储装置11或低速存储装置12的物理储存区域中写入数据(实际数据)(步骤S13)。但是,对象块不是对象组块CHKt内的开头的情况下,被写入数据的物理储存区域的物理地址如前述那样,需要使用表示对象块的对象组块CHKt内的相对位置的偏移地址来计算。执行步骤S13后,访问统计收集部136将包含在第一类型的映射信息MIa_t中的访问计数器CNT_t增加1(步骤S14)。
另一方面,映射管理部134a判定第一类型的映射信息MIa_t中包含的映射信息指针MPb_t是否为非NULL(即有效)(步骤S15)。在映射信息指针MPb_t是非NULL的情况下(步骤S15:是),映射管理部134a进入步骤S16。
在步骤S16中,映射管理部134a首先参照映射信息指针MPb_t所指示的第二类型的映射信息MIb_t,确定该第二类型的映射信息MIb_t中包含的位图指针BP_t所指示的位图BM_t。在步骤S16中,映射管理部134a还将包含在位图BM_t中且与被写入数据的块的位置对应的位设置为1。
映射管理部134a执行步骤S16后,进入步骤S17。此外,映射信息指针MPb_t为NULL的情况下(步骤S15:否),映射管理部134a跳过步骤S16而进入步骤S17。在步骤S17中,映射管理部134a判定访问计数器CNT_t的值CNT_t是否与阈值TH1相等(步骤S17)。在计数器值CNT_t与阈值TH1相等的情况下(步骤S17:是),映射管理部134a判定向对象组块CHKt的访问状况是需要使用高速存储装置11的高速访问的第一状况。这种情况下,映射管理部134a判定在步骤S13中被写入数据的存储装置是否为低速存储装置12(步骤S18)。
在被写入数据的存储装置是低速存储装置12的情况下(步骤S18:是),映射管理部134a判定为需要将处于第一状况的对象组块CHKt从低速状态变更为伪高速状态。这种情况下,映射管理部134a将对象组块CHKt追加到转变候选列表CL中(步骤S19)。由此,写入处理结束。
另一方面,在计数器值CNT_t与阈值TH1不相等的情况下(步骤S17:否),映射管理部134a判定对象组块CHKt是否已经被追加到转变候选列表CL中、或者向该对象组块CHKt的访问状况是不需要高速访问的第二状况。这种情况下,写入处理结束。此外,被写入数据的存储装置不是低速存储装置12的情况下(步骤S18:否),写入处理也结束。
在本实施方式中,第一类型的映射信息MIa_t中包含的访问计数器CNT_t在读取访问及写入访问中被共通地使用。即,访问计数器CNT_t无论读取访问还是写入访问,都对向组块CHKt的访问次数(访问频率)进行计数。但是,第一类型的映射信息MIa_t例如也可以包括对向组块CHKt的读取访问次数进行计数的第一访问计数器及对向该对应的组块CHK的写入访问次数进行计数的第二访问计数器。这种情况下,访问统计收集部136对第一及第二访问计数器的值分别赋予读取访问及写入访问所固有的权重,取得表示向组块CHKt的访问状况的统计信息即可。此外,访问计数器CNT_t也可以用于将向组块CHKt的读取访问或写入访问的某一方的次数作为访问次数来计数。这相当于访问计数器CNT_t(或第一及第二访问计数器)用于对向组块CHKt的访问的数据量的总和进行计数的情形。
接下来,参照图11及图12说明在本实施方式中用于变更组块的映射状态的映射状态变更处理。图11是用于说明映射状态变更处理的典型顺序 的流程图的一部分的图,图12是用于说明同一映射状态变更处理的典型顺序的流程图的剩余部分的图。
映射管理部134a每当经过预先决定的监视期间,如下执行图11及图12的流程图所示的映射状态变更处理。首先,映射管理部134a将变量j设定为初始值0(步骤S21)。变量j指示逆变换表ITT的第j个入口。逆变换表ITT的第j个入口与高速存储装置11的物理地址j(即,由物理地址j指定的物理储存区域j)建立了对应。
接下来,映射管理部134a通过参照逆变换表ITT的第j个入口,判定是否存在与高速存储装置11的物理储存区域j对应的组块CHKx(步骤S22)。映射管理部134a基于在逆变换表ITT的第j个入口中是否设定有与物理地址j建立对应且有效的逻辑地址LAa_x(即-1以外的值),来执行该判定。
在存在与高速存储装置11的物理储存区域j对应的组块CHKx的情况下(步骤S22:是),映射管理部134a进入步骤S23。在此,存在与物理储存区域j对应的组块CHKx指的是,该组块CHKx的逻辑地址LAa_x映射到该物理储存区域j的物理地址j。这种情况下,组块CHKx处于通常的高速状态或伪高速状态的某一方的状态。
在此,在步骤S23中,映射管理部134a判定组块CHKx是否处于伪高速状态(步骤S23)。为了进行该判定,映射管理部134a通过相当于读取处理中的步骤S1及S2或写入处理中的步骤S11及S12的处理,来检索包含组块CHKx的逻辑地址LAa_x在内的第一类型的映射信息MIa_x。然后,映射管理部134a在第一类型的映射信息MIa_x所包含的映射信息指针MPb_x为非NULL的情况下,判定为组块CHKx处于伪高速状态。
这样,在组块CHKx处于伪高速状态的情况下(步骤S23:是),映射管理部134a进入步骤S24。在步骤S24中,映射管理部134a判定第一类型的映射信息MIa_x所包含的访问计数器CNT_x的值CNT_x是否小于阈值(第二阈值)TH2。阈值TH2小于阈值TH1。
在计数器值CNT_x小于阈值TH2的情况下(步骤S24:是),映射管理部134a判定为虽然当前组块CHKx处于伪高速状态,但是向该组块CHKx的访问状况处于不需要高速访问的第二状况。因此,映射管理部134a执行用于将组块CHKx从伪高速状态变更为低速状态的第四状态变更处理(步骤 S25)。关于该第四状态变更处理的顺序,在后文中说明。映射管理部134a执行步骤S25后,进入步骤S30。
与此相对,在计数器值CNT_x不小于阈值TH2的情况下(步骤S24:否),映射管理部134a进入步骤S28。在步骤S28中,映射管理部134a判定计数器值CNT_x是否为阈值TH1以上(步骤S28)。
在计数器值CNT_x为阈值TH1以上的情况下(步骤S28:是),映射管理部134a判定为向处于伪高速状态的组块CHKx的访问状况继续为第二状况。这种情况下,映射管理部134a执行用于将组块CHKx从伪高速状态变更为通常的高速状态的第三状态变更处理(步骤S29)。关于该第三状态变更处理的顺序,在后文中说明。映射管理部134a执行步骤S29后,进入步骤S30。
与此相对,设计数器值CNT_x小于阈值TH1(步骤S28:否)。在此,计数器值CNT_x为阈值TH2以上(步骤S24:否)。这样,在计数器值CNT_x为阈值TH2以上(步骤S24:否)且小于阈值TH1的情况下(步骤S28:否),管理部134a判定为向处于伪高速状态的组块CHKx的访问状况处于第三状况。第三状况指的是,向组块CHKx的访问状况处于应该保留是需要高速访问还是不需要高速访问的判定的状况。因此,映射管理部134a为了将组块CHKx维持为伪高速状态,将步骤S29跳过而进入步骤S30。
另一方面,在组块CHKx未处于伪高速状态的情况下(步骤S23:否),映射管理部134a判定该组块CHKx是否处于通常的高速状态。这种情况下,映射管理部134a与步骤S24同样,判定第一类型的映射信息MIa_x中包含的访问计数器CNT_x的值CNT_x是否小于阈值TH2(步骤S26)。
在计数器值CNT_x小于阈值TH2的情况下(步骤S26:是),映射管理部134a判定为组块CHKx虽然处于通常的高速状态,但是向该组块CHKx的访问状况处于不需要高速访问的第二状况。因此,映射管理部134a执行用于将组块CHKx从通常的高速状态变更为伪高速状态的第二状态变更处理(步骤S27)。关于该第二状态变更处理的顺序,在后文中说明。映射管理部134a执行步骤S27后,进入步骤S30。
与此相对,在计数器值CNT_x不小于阈值TH2的情况下(步骤S26:否),映射管理部134a判定为向处于通常的高速状态的组块CHKx的访问状况继 续为第一状况。这种情况下,映射管理部134a为了将组块CHKx维持为通常的高速状态,将步骤S27跳过而进入步骤S30。
在步骤S30中,映射管理部134a将变量j增加1(步骤S30)。接下来,映射管理部134a判定增加后的变量j是否与高速存储装置11的物理地址的最大值(N-1)+1、即N相等(步骤S31)。
在增加后的变量j与N不相等的情况下(步骤S31:否),映射管理部134a为了对高速存储装置11的下一物理地址(物理储存区域)进行处理而返回步骤S22。与此相对,在增加后的变量j与N相等的情况下(步骤S31:是),映射管理部134a判定为已经对高速存储装置11的全部物理地址(物理储存区域)进行了处理。这种情况下,映射管理部134a为了将登记在转变候选列表CL中的组块CHK_t从低速状态变更为伪高速状态,进入步骤S32。
在步骤S32中,映射管理部134a为了参照转变候选列表CL中的开头的转变候选列表要素CLE,对指示对象的转变候选列表要素CLE的变量p设定列表指针LP(参照图8)。映射管理部134a判定变量p(在此为p=LP)是否为NULL(步骤S33)。即,判定是否存在变量p指示的有效的转变候选列表要素CLE。
在此,如图8所示,设变量p(p=LP)不是NULL(步骤S33:否)。这种情况下,存在变量p指示的转变候选列表要素CLE,存在与该转变候选列表要素CLE建立了对应的第一类型的映射信息。设该第一类型的映射信息是与组块CHK_t建立了对应的第一类型的映射信息MIa_t。即,设登记在变量p所指示的转变候选列表要素CLE中的转变候选是组块CHK_t。
这种情况下,映射管理部134a基于第一类型的映射信息MIa_t,执行用于将对应的转变候选(组块CHK_t)从低速状态变更为伪高速状态的第一状态变更处理(步骤S34)。该第一状态变更处理的顺序留待后述。
映射管理部134a执行步骤S34后,进入步骤S35。这时,变量p指示在紧之前执行的第一状态变更处理(步骤S34)中使用的转变候选列表要素CLE。映射管理部134a将变量p更新为该变量p当前指示的转变候选列表要素CLE中包含的下一指针NPc(步骤S35)。将该下一指针NPc标记为NPc(p)。即,映射管理部134a将变量p更新为NPc(p)。映射管理部134a 执行步骤S35后,返回步骤S33。
这样,映射管理部134a基于与转变候选列表CL中的全部转变候选列表要素CLE分别建立了对应的第一类型的映射信息MIa_t,执行用于将对应的转变候选(组块CHK_t)从低速状态变更为伪高速状态的第一状态变更处理。即,映射管理部134a以登记在转变候选列表CL中的全部转变候选为对象,执行第一状态变更处理。
在此,设以最后的转变候选为对象执行第一状态变更处理(步骤S34)。这时,变量p指示转变候选列表CL的最后的转变候选列表要素CLE。映射管理部134a将该变量p更新为最后的转变候选列表要素CLE中包含的下一指针NPc(即NPc(p))(步骤S35)。
最后的转变候选列表要素CLE中包含的下一指针NPc(p=NPc(p))为NULL(步骤S33:是)。这种情况下,判定为映射管理部134a以登记在转变候选列表CL中的全部转变候选为对象执行了第一状态变更处理。因此,映射管理部134a将转变候选列表CL从工作区域132b删除,并结束映射状态变更处理。
接下来,参照图13说明第一状态变更处理的详细情况。图13是用于说明第一状态变更处理的典型顺序的流程图。在此,设应该从低速状态变更为伪高速状态的转变候选为组块CHK_t。基于与变量p指示的转变候选列表要素CLE建立了对应的第一类型的映射信息MIa_t来确定组块CHK_t。
第一类型的映射信息MIa_t包括逻辑地址LAa_t、物理地址PAa_t、装置编号DV_t及映射信息指针MPb_t。在该例子中,装置编号DV_t表示低速存储装置12。此外,映射信息指针MPb_t是无效映射信息指针(MPb_t=NULL)。即,组块CHK_t处于低速状态,该组块CHK_t的数据仅保存在低速存储装置12中。此外,设物理地址PAa_t为第一物理地址。
映射管理部134a从包含在高速存储装置11中且具有与组块CHK_t同一尺寸的空闲物理储存区域的集合中,选择1个空闲物理储存区域(步骤S41)。即,映射管理部134a从高速存储装置11取得1个空闲物理储存区域。设取得的物理储存区域的物理地址为第二物理地址。
接下来,映射管理部134a将保存在由第一物理地址指定的低速存储装置12的物理储存区域中的数据(即组块CHK_t的数据)复制到由第二物理 地址指定的高速存储装置11的物理储存区域(即,在步骤S41中取得的物理储存区域)(步骤S42)。由此,组块CHK_t的数据存在于高速存储装置11及低速存储装置12双方。
接下来,映射管理部134a从存储器132的写入位置信息区域132e取得用于位图BM_t的区域,该BM_t用于记录被写入(更新)了组块CHK_t内的数据后的的块的位置(步骤S43)。映射管理部134a将取得的区域的全部位、即位图BM_t的全部位清除为“0”(步骤S44)。
接下来,映射管理部134a从存储器132的地址变换信息区域132d取得用于第二类型的映射信息MIb_t的区域(步骤S45)。然后,映射管理部134a将指示清除后的位图BM_t的位图指针BP_t设定到第二类型的映射信息MIb_t的字段F22中(步骤S46)。此外,映射管理部134a将与当前组块CHK_t的逻辑地址LAa_t相对应地设定到第一类型的映射信息MIa_t的物理地址PAa_t(即第一物理地址)作为PAb_t,设定到第二类型的映射信息MIb_t中(步骤S47)。即,将第一物理地址设定到第二类型的映射信息MIb_t的字段F21中。
接下来,映射管理部134a将指示第二类型的映射信息MIb_t的映射信息指针MPb设定到第一类型的映射信息MIa_t的字段F14中(步骤S48)。即,映射管理部134a将包含在第一类型的映射信息MIa_t中的无效映射信息指针MPb_t(MPb_t=NULL)更新为指示第二类型的映射信息MIb_t的有效的映射信息指针MPb_t。
接下来,映射管理部134a将指定组块CHK_t的数据被复制到的高速存储装置11的物理储存区域的第二物理地址作为PAa_t设定到第一类型的映射信息MIa_t中(步骤S49)。即,将第二物理地址设定到第二类型的映射信息MIb_t的字段F21中。由此,组块CHK_t从该组块CHK_t的逻辑地址LAa_t仅映射到低速存储装置12侧的第一物理地址的低速状态,转变为该逻辑地址LAa_t映射到高速存储装置11侧的第二物理地址及低速存储装置12侧的第一物理地址双方的伪高速状态。
映射管理部134a还对与第二物理地址(即,组块CHK_t的数据复制到的第二物理地址)建立了对应的逆变换表ITT的入口设定组块CHK_t的逻辑地址LAa_t(步骤S50)。由此,关于1个转变候选(组块CHK_t)的第一 状态变更处理结束。
在此,设从组块CHK_t(即转变为伪高速状态的组块CHK_t)的数据读取或向组块CHK_t的数据写入,是从主机20向存储控制器13请求的。这种情况下,从前述的读取处理及写入处理可知,基于与该组块CHK_t建立了对应的第一类型的映射信息Mia,来执行从组块CHK_t的数据读取或向组块CHK_t的数据写入。即,组块CHK_t的逻辑地址LAa_t映射到的高速存储装置11的第二物理地址所指定的物理储存区域被访问。由此,向处于伪高速状态的组块CHK_t的访问和向处于通常的高速状态的组块的访问同样地高速化。
接下来,参照图14说明第二状态变更处理的详细情况。图14是用于说明第二状态变更处理的典型顺序的流程图。在此,设应该从通常的高速状态变更为伪高速状态的转变候选是组块CHKx。此外,设与组块CHKx建立了对应的第一类型的映射信息是MIa_x,该第一类型的映射信息MIa_x包括逻辑地址LAa_x、物理地址PAa_x、装置编号DV_x及映射信息指针MPb_x。在该例子中,装置编号DV_x表示高速存储装置11。此外,映射信息指针MPb_x是无效映射信息指针(MPb_x=NULL)。
映射管理部134a从包含在低速存储装置12中且具有与组块CHKx同一尺寸的空闲物理储存区域的集合中选择1个空闲物理储存区域(步骤S61)。即,映射管理部134a从低速存储装置12取得1个空闲物理储存区域。设取得的物理储存区域的物理地址为物理地址PAb_x。
接下来,映射管理部134a将保存在由物理地址PAa_x指定的高速存储装置11的物理储存区域中的数据(即组块CHKx的数据)复制到由物理地址PAb_x指定的低速存储装置12的物理储存区域(即,在步骤S61中取得的物理储存区域)(步骤S62)。由此,组块CHKx的数据存在于高速存储装置11及低速存储装置12双方。
接下来,映射管理部134a从存储器132的写入位置信息区域132e取得用于位图BM_x的区域,该位图BM_x用于记录组块CHKx内的数据被写入的位置(步骤S63)。映射管理部134a将位图BM_x的全部位清除为“0”(步骤S64)。
接下来,映射管理部134a从存储器132的地址变换信息区域132d取 得用于第二类型的映射信息MIb_x的区域(步骤S65)。然后,映射管理部134a将指示清除后的位图BM_x的位图指针BP_x设定到第二类型的映射信息MIb_x的字段F22中(步骤S66)。此外,映射管理部134a将指定组块CHKx的数据复制到的低速存储装置12的物理储存区域的物理地址PAb_x设定到第二类型的映射信息MIb_x的字段F21中(步骤S67)。
接下来,映射管理部134a将指示第二类型的映射信息MIb_x的映射信息指针MPb_x设定到第一类型的映射信息MIa_x的字段F14中(步骤S68)。即,映射管理部134a将包含在第一类型的映射信息MIa_x中的无效映射信息指针MPb_x(MPb_x=NULL)更新为指示第二类型的映射信息MIb_x的有效的映射信息指针MPb_x。由此,关于组块CHKx的第二状态变更处理结束。
接下来,参照图15说明第三状态变更处理的详细情况。图15是用于说明第三状态变更处理的典型顺序的流程图。在此,设应该从伪高速状态变更为通常的高速状态的转变候选为组块CHKx。此外,设与组块CHKx建立了对应的第一类型的映射信息为MIa_x,该第一类型的映射信息MIa_x包括逻辑地址LAa_x、物理地址PAa_x、装置编号DV_x及映射信息指针MPb_x。在该例子中,装置编号DV_x表示高速存储装置11。此外,映射信息指针MPb_x为非NULL(有效),指示第二类型的映射信息MIb_x。
首先,映射管理部134a将在第二类型的映射信息MIb_x中设定的物理地址PAb_x所指定的低速存储装置12侧的物理储存区域释放(步骤S71)。接下来,映射管理部134a将在第二类型的映射信息MIb_x中设定的位图指针BP_x所指示的位图BM_x的区域释放(步骤S72)。
此外,映射管理部134a将第二类型的映射信息MIb_x的区域释放(步骤S73)。接下来,映射管理部134a将第一类型的映射信息MIa_x中包含的有效的映射信息指针MPb_x更新为NULL(无效映射信息指针MPb_x)(步骤S74)。即,映射管理部134a在第一类型的映射信息MIa_x的字段F14中设定NULL。由此,关于组块CHKx的第三状态变更处理结束。
接下来,参照图16说明第四状态变更处理的详细情况。图16是用于说明第四状态变更处理的典型顺序的流程图。在此,设应该从伪高速状态变更为低速状态的转变候选是组块CHKx。此外,设与组块CHKx建立了对应的第一类型的映射信息为MIa_x,该第一类型的映射信息MIa_x包括逻辑地 址LAa_x、物理地址PAa_x、装置编号DV_x及映射信息指针MPb_x。在该例子中,装置编号DV_x表示高速存储装置11。此外,映射信息指针MPb_x为非NULL(有效),指示第二类型的映射信息MIb_x。第二类型的映射信息MIb_x包括物理地址PAb_x及位图指针BP_x。位图指针BP_x指示位图BM_x。
首先,映射管理部134a参照位图指针BP_x所指示的位图BM_x,检索所有被设置为“1”的位(步骤S81)。在步骤S81中,映射管理部134a确定包含在物理地址PAa_x所指定的高速存储装置11的物理储存区域中且与检索到的位对应的全部块。在步骤S81中,映射管理部134a将确定的全部块(第一块)的数据复制(反映)到物理地址PAb_x指定的低速存储装置12的物理储存区域内的对应的块(第二块)中。由此,物理地址PAb_x指定的低速存储装置12的物理储存区域的数据与物理地址PAa_x指定的高速存储装置11的物理储存区域的数据一致。
接下来,映射管理部134a将当前的物理地址PAb_x(即,在当前第二类型的映射信息MIb_x中设定的物理地址PAb_x)作为PAa_x,设定到第一类型的映射信息MIa_x的字段F12中(步骤S82)。接下来,映射管理部134a将位图BM_x的区域释放(步骤S83),并且将第二类型的映射信息MIb_x的区域释放(步骤S84)。
接下来,映射管理部134a将第一类型的映射信息MIa_x中包含的有效的映射信息指针MPb_x更新为NULL(无效映射信息指针MPb_x)(步骤S85)。即,映射管理部134a在第一类型的映射信息MIa_x的字段F14中设定NULL。然后,映射管理部134a在与物理地址PAa_x建立了对应的逆变换表ITT的入口中设定无效值(-1)(步骤S86)。由此,关于组块CHKx的第四状态变更处理结束。
将本实施方式中的上述动作和效果如下整理并示出。例如,设与第一组块对应的第一访问计数器的值在第一监视期间内达到阈值TH1(步骤S5或S17:是)。即,设在第一监视期间内向第一组块的访问次数(频率)为阈值TH1以上,处于需要高速访问的第一状况。而且,设第一组块在第一监视期间的开始时处于低速状态(第二状态)(步骤S6或S18:是)。
这种情况下,如果是现有技术,则第一组块在第一监视期间接下来的第二监视期间开始之前,从低速状态变更为高速状态(相当于本实施方式 中的通常的高速状态)。在此,第一组块的数据从低速存储装置12复制到高速存储装置11。这时,低速存储装置12侧的数据被丢弃(无效化)。即,第一组块的数据从低速存储装置12移动到高速存储装置11。
在此,设向第一组块的访问状况通常处于不需要高速访问的第二状况,仅在第一监视期间内变化为需要高速访问的第一状况。这种情况下,在以往技术中,通常处于低速状态的第一组块只在第一监视期间之后从低速状态变更为高速状态,在接下来的第二监视期间之后再次变更为低速状态。
第一组块的状态像这样转变的情况下,伴随着该状态转变的数据移动所需的向低速存储装置12的访问,分别在从低速状态向高速状态转变时和从高速状态向低速状态转变时发生。这样,由于伴随着临时的映射状态的变更的数据移动,向低速存储装置12的访问增加,这会导致每当经过监视时间而进行的映射状态变更处理的效率降低。这样的映射状态变更处理的效率降低,在向第一组块的访问次数在阈值TH1的附近和阈值TH2的附近的范围内变动的情况下也会发生。即,映射状态变更处理的效率降低在映射状态的转变发生振动的情况下也会发生。为了防止该振动,如本实施方式中所应用的那样,可以想到使用2个阈值TH1及TH2(TH2<TH1)。阈值TH1是用于判定是否将映射状态向高速侧变更的第一判定条件。阈值TH2是用于判定是否将映射状态向低速侧变更的第二判定条件。但是,若仅简单应用2个阈值TH1及TH2,例如阈值TH1及TH2之差较小的情况下,难以充分防止状态转变的振动。相反,若阈值TH1及TH2之差较大,则本来应该变更本来映射状态的组块的映射状态却未变更的可能性变大。
相对于此,在本实施方式中,在根据第一监视期间内的访问次数而判定为第一组块的映射状态应该向例如高速侧变更的情况下,该第一组块在第一监视期间之后从低速状态变更为伪高速状态(步骤S34)。在此,第一组块的数据从低速存储装置12复制到高速存储装置11。这时,为了维持第一组块被映射到低速存储装置12的第一物理储存区域的状态,基于第一类型的映射信息(旧映射信息),设定第二类型的映射信息。此外,为了将第一组块也映射到高速存储装置11侧,从高速存储装置11取得空闲的第二物理储存区域。然后,第一类型的映射信息从将第一组块映射到第一物理储存区域的状态,更新为将该第一组块映射到第二物理储存区域的状态。 由此,第一组块的数据存在于高速存储装置11及低速存储装置12双方中。
因此,在本实施方式中,在第一组块处于伪高速状态的第二监视期间内没有请求向该第一组块的写入的情况下,即使在该第二监视期间之后从伪高速状态变更为低速状态,也不会伴随着该状态转变而发生向低速存储装置12的访问。因此,根据本实施方式,第一组块如“低速状态→伪高速状态→低速状态”这样转变的情况下,与现有技术中的第一组块如“低速状态→高速状态→低速状态”这样转变的情况相比,能够将向低速存储装置12的访问减少1次。即,根据本实施方式,能够防止每当经过监视期间而执行的映射状态变更处理的效率降低,减少该状态变更处理对存储系统10的运用带来的影响。
映射状态变更处理通常在对存储系统10的本来的运用(通常的业务)影响较小的时间带(例如向存储系统10的访问较少的时间带)进行。因此,对存储系统10的存储控制器13来说,要求以短时间执行映射状态变更处理。本实施方式的上述效果能够满足这样的要求。该效果在频繁进行映射状态变更处理的情况下变得尤其显著。
在本实施方式中,如前述那样,被请求了向第一组块的访问的情况下,如果该第一组块处于伪高速状态,则实际的访问以高速存储装置11的第二物理储存区域为对象而进行。因此,如果在第一组块处于伪高速状态的期间请求了向该第一组块的写入,则实际数据仅被写入高速存储装置11的第二物理储存区域。由此,低速存储装置12的第一物理储存区域的数据和高速存储装置11的第二物理储存区域的数据不一致。
因此,在本实施方式中,在第一组块处于伪高速状态的监视期间执行向该第一组块的写入,并且在经过了该监视期间后该第一组块从伪高速状态变更为低速状态的情况下(步骤S25),也发生向低速存储装置12的访问。但是,在该访问中,仅是在高速存储装置11的第二物理储存区域中发送了写入(更新)的块的数据(更新数据)被反映(写入)到低速存储装置12的第一物理储存区域的对应的块。该更新数据的反映之后,第一类型的映射信息从将第一组块映射到第二物理储存区域的状态更新为将该第一组块映射到第一物理储存区域的状态,第二物理储存区域的数据被丢弃(无效化)。
监视期间经过后,在第一组块从伪高速状态变更为低速状态的状况下,该监视期间中的第一组块的访问次数较少,低于阈值TH2。这种情况下,期待在监视期间内应该写入第二物理储存区域的块的数量也较少。因此,使暂时转变为伪高速状态的第一组块返回低速状态,因此,即使发生了向第一物理储存区域的数据写入,该数据的量也大幅削减。因此,伴随着从伪高速状态向低速状态的变更的、向第一物理储存区域的数据写入所需的时间,与将第二物理储存区域的全部块(在此为8,192块)的数据反映(写入)到第一物理储存区域的情况相比更短。这样,根据本实施方式,向临时从低速状态变更为伪高速状态的第一组块的访问次数在下一监视期间变少的情况下,能够使该第一组块在短时间内返回低速状态。由此,处于伪高速状态且访问次数变少的第一组块的存在能够防止对存储系统10整体的效率带来不良影响。
此外,在本实施方式中,数据被写入的第二物理储存区域的块位置使用位图BM来管理。该位图BM保存在比高速存储装置11更高速的存储器132的写入位置信息区域132e中。在本实施方式中,在请求了向第一组块的写入的情况下,如果该第一组块处于伪高速状态,则实际数据被高速地写入第二物理储存区域。这时,为了记录实际数据被写入的第二物理储存区域内的块的位置,在位图BM的对应的位中设置1。但是,该位操作在存储器132上进行。因此,在处于伪高速状态的第一组块中写入数据时的性能,与在处于通常的高速状态的组块中写入数据时的性能几乎没有差别。
位图BM保存在存储器132中的情况下,例如由于存储系统10的电源的突然切断,该位图BM所示的写入位置信息可能丢失。但是,实际数据自身残留在高速存储装置11(第二物理储存区域)中。因此,写入位置信息丢失的情况下,将第二物理储存区域整体的数据复制到低速存储装置12(第一物理储存区域)中即可。
另外,设想在本实施方式中应用的存储系统10作为以块为单位被访问的块设备发挥功能的情况。但是,存储系统10也可以以文件为单位被访问。这种情况下,为了由存储控制器13(访问控制器137)记录实际数据写入的高速存储装置11的物理储存区域内的位置,并不是必须使用位图。例如,存储控制器13也可以使用表示物理储存区域内的数据被写入的位置的偏移 地址及该数据的组被依次记录的写入位置信息。
此外,在本实施方式中,如上述那样向从低速状态变更为伪高速状态的第一组块的访问次数在第二监视期间内也为阈值TH1以上的情况下(步骤S284:是),该第一组块从伪高速状态变更为通常的高速状态(步骤S29)。为了进行该变更,将第一组块映射到第一物理储存区域的状态解除(无效化)即可,不需要数据的复制(移动)。因此,根据本实施方式,能够在短时间内从伪高速状态向通常的高速状态变更。在此,残留在低速存储装置12(第一物理储存区域)中的数据和写入位置信息被无效化。
接下来,设在第三监视期间内第一组块处于通常的高速状态(步骤S23:否),在该第三监视期间内向该第一组块的访问次数低于阈值TH2(步骤S26:是)。这种情况下,如果是现有技术,第一组块在第三监视期间之后从高速状态变更为低速状态。在此,第一组块的数据从高速存储装置11复制到低速存储装置12。这时,高速存储装置11侧的数据被丢弃。即,第一组块的数据从高速存储装置11移动到低速存储装置12。
在此,设在第三监视期间的接下来的第四监视期间内向第一组块的访问次数为阈值TH1以上。这种情况下,如果是现有技术,第一组块在第四监视期间之后从低速状态再次变更为高速状态。这时,低速存储装置12的数据移动到高速存储装置11。
与此相对,在本实施方式中,第一组块在第三监视期间之后从高速状态(通常的高速状态)变更为伪高速状态(步骤S27)。在此,从低速存储装置12取得空闲的第一物理储存区域。然后,第一组块的数据从高速存储装置11(第二物理储存区域)复制到低速存储装置12(第一物理储存区域)。这时,为了使第一组块也映射到低速存储装置12的第一物理储存区域,设定第二类型的映射信息。而且,在本实施方式中,维持第一组块映射到高速存储装置11的第二物理储存区域的状态。即,第一组块的数据存在于高速存储装置11及低速存储装置12双方。
因此,根据本实施方式,在第四监视期间内向第一组块的访问次数成为阈值TH1以上的情况下(步骤S28:是),不需要从低速存储装置12读取数据,就能够在短时间内将使第一组块从伪高速状态返回通常的高速状态。
这样,根据本实施方式,作为各组块的状态,通过使用位于低速状态 和高速状态之间的伪高速状态,与以往相比,能够缩短与发生了预想之外的访问数的变化或映射状态的变更的振动的组块的映射有关的处理时间。此外,根据本实施方式,处于低速状态且预测为访问数较多的组块在短时间内临时变更为伪高速状态,如果预测为在该伪高速状态下访问数依然较多,则在短时间内变更为高速状态(通常的高速状态)。向处于伪高速状态的组块的访问能够与向处于通常的高速状态的组块的访问同样地进行高速访问。此外,即使向处于伪高速状态的组块的访问状况变化而应该将该组块变更为低速状态的情况下,也能够将该组块在短时间内变更为低速状态。因此,在本实施方式中应用的状态转变的方法防止状态转变的振动,因此与简单地将从低速状态向高速状态的移动拖延的方法相比更加优越。
同样,根据本实施方式,预测为处于高速状态(通常的高速状态)且访问数较少的组块,在短时间内临时变更为伪高速状态,如果预测为在该伪高速状态下访问数依然较少,则在短时间内变更为低速状态。此外,即使向处于伪高速状态的组块的访问状况变化而应该将该组块变更为通常的高速状态的情况下,也能够将该组块在短时间内变更为通常的高速状态。因此,在本实施方式中应用的状态转变的方法防止状态转变的振动,因此与简单地将从高速状态向低速状态的移动拖延的方法相比更加优越。
另外,在所述实施方式中,只要在高速存储装置11中存在空闲的物理储存区域,登记在转变候选列表CL中的组块就全部从低速状态变更为伪高速状态。但是,登记在转变候选列表CL中的全部组块如下述那样,并不是必须都变更为伪高速状态。在此,将登记在转变候选列表CL中的组块群(即,应该从低速状态变更为伪高速状态的候选群)称为第一候选群。此外,将处于通常的高速状态且访问数低于阈值TH2的组块群(即,应该从通常的高速状态变更为伪高速状态的候选群)称为第二候选群。此外,将处于伪高速状态的群称为第三候选群。
映射管理部134a将第一候选群按照向该第二候选群的访问次数(或数据量的总和)从高到低地排序。此外,映射管理部134a将第二候选群按照向该第二候选群的访问次数(或数据量的总和)从低到高地排序。映射管理部134a进一步将第三候选群按照向该第三候选群的访问次数(或数据量的总和)从低到高及从高到低地排序。这种情况下,按照访问次数(或数 据量的总和)从高到低地排序的候选群表示应该从伪高速状态变更为通常的高速状态的候选的顺序。与此相对,按照访问次数(或数据量的总和)从低到高地排序的候选群表示应该从伪高速状态变更为低速状态的候选的顺序。
映射管理部134a基于上述排序的结果,从各个候选群的上位的候选起按顺序决定映射状态的转变目标,使得处于通常的高速状态的组块的数量和处于伪高速状态的组块的数量的总和成为规定数量或进入规定范围的数量。即,映射管理部134a从各个候选群的上位的候选起按顺序决定是转变为通常的高速状态、伪高速状态或低速状态中的某个、还是维持当前的状态。由此,能够将映射到比低速存储装置12更小容量的高速存储装置11的物理储存区域中的组块的数量收敛为规定数量或规定的范围内。
此外,在所述实施方式中,阈值TH1及TH2固定为预先决定的值。但是,在映射状态变更处理中,在应该变更为更高速侧的候选(组块)的数量CN1与应该变更为更低速侧的候选(组块)的数量CN2之间存在不平衡的情况下,也可以从下次的映射状态变更处理开始,变更阈值TH1及TH2。例如,可以在CN1及CN2之差的绝对值超过规定数α的情况下,变更阈值TH1及TH2。例如,也可以将在第一监视期间之后处于伪高速状态的全部组块的访问数的最大值和最小值分别作为接下来的第二监视期间中的新的阈值TH1及TH2。
此外,在所述实施方式中,在映射状态的变更的判定中使用2个阈值TH1及TH2。但是,在映射状态的变更的判定中也可以只使用1个阈值TH。这种情况下,映射管理部134a在向处于低速状态的组块的访问次数(或数据量的总和)超过阈值TH的情况下,将该组块变更为伪高速状态,在向处于伪高速状态的组块的访问次数(或数据量的总和)超过阈值TH的情况下,将该组块变更为通常的高速状态。此外,映射管理部134a在向处于通常的高速状态的组块的访问次数(或数据量的总和)低于阈值TH的情况下,将该组块变更为伪高速状态,在向处于伪高速状态的组块的访问次数(或数据量的总和)低于阈值TH的情况下,将该组块变更为低速状态。
此外,在映射状态的变更的判定中,除了阈值TH1及TH2,也可以还使用阈值TH3及TH4。在此,阈值TH3大于阈值TH1,阈值TH4小于阈值TH2。 即,在阈值TH1、TH2、TH3及TH4之间存在如下关系:
TH4<TH2<TH1<TH3。
这种情况下,在向处于低速状态的组块的访问次数(或数据量的总和)超过阈值TH1的情况下,映射管理部134a判定为向该组块的访问状况处于需要高速访问的第一状况。并且,映射管理部134a将该组块变更为伪高速状态。此外,在向处于伪高速状态的组块的访问次数(或数据量的总和)超过阈值TH3的情况下,映射管理部134a判定为在变更到伪高速状态之后也继续是第一状况。并且,映射管理部134a将该组块变更为通常的高速状态。
此外,在向处于通常的高速状态的组块的访问次数(或数据量的总和)低于阈值TH2的情况下,映射管理部134a判定为向该组块的访问状况处于不需要高速访问的第二状况。并且,映射管理部134a将该组块变更为伪高速状态。此外,在向处于伪高速状态的组块的访问次数(或数据量的总和)低于阈值TH4的情况下,映射管理部134a判定为在变更到伪高速状态之后也继续是第二状况。并且,映射管理部134a将该组块变更为低速状态。
根据以上说明的至少1个实施方式,能够提供一种能够缩短逻辑地址和物理地址之间的映射状态的变更所需的处理时间的存储系统、存储控制器及方法。
以上说明了本发明的几个实施方式,但是这些实施方式只是作为例子提出,不意图限定发明的范围。这些新的实施方式可以通过其他各种方式来实施,在不脱离发明的主旨的范围内,可以进行各种省略、置换、变更。这些实施方式及其变形包含在发明的范围及主旨内,也包含在权利要求所记载的发明及其等价的范围内。

Claims (16)

1.一种存储系统,具备:
第一存储装置;
第二存储装置,与所述第一存储装置相比为低速且大容量;以及
存储控制器,控制向所述第一存储装置的访问及向所述第二存储装置的访问;
所述存储控制器具备:
映射管理部,对逻辑单元内的第一尺寸的各组块处于第一状态、第二状态或第三状态中的哪个状态进行管理,所述第一状态是,所述组块的逻辑地址通过第一类型的映射信息映射到所述第一存储装置内的物理储存区域的物理地址,所述第二状态是,所述逻辑地址通过所述第一类型的映射信息映射到所述第二存储装置内的物理储存区域的物理地址,所述第三状态是,所述逻辑地址通过所述第一类型的映射信息映射到所述第一存储装置内的物理储存区域的物理地址,并且通过第二类型的映射信息映射到所述第二存储装置内的物理储存区域的物理地址;
地址变换部,将来自主机装置的读取请求或写入请求所指定的逻辑地址,变换为通过所述第一类型的映射信息而映射到的所述第一存储装置或所述第二存储装置内的物理储存区域的物理地址;以及
访问控制器,基于变换后的所述物理地址,访问所述第一存储装置或所述第二存储装置;
所述映射管理部对于所述逻辑单元内的每个组块,监视向该组块的访问状况,
在向第一组块的访问状况为需要高速访问的第一状况、并且所述第一组块处于所述第二状态的情况下,所述映射管理部将所述第一组块从所述第二状态变更为所述第三状态,
在从所述第二状态向所述第三状态变更后所述第一状况还继续的情况下,所述映射管理部将所述第一组块从所述第三状态变更为所述第一状态,
在从所述第二状态向所述第三状态变更后、向所述第一组块的访问状况变化为不需要所述高速访问的第二状况的情况下,所述映射管理部将所述第一组块从所述第三状态变更为所述第二状态。
2.如权利要求1所述的存储系统,其中,
所述映射管理部为了将所述第一组块从所述第二状态变更为所述第三状态,将通过与所述第一组块对应的所述第一类型的第一映射信息而被所述第一组块的第一逻辑地址映射的第一物理地址所指定的所述第二存储装置内的第一物理储存区域的数据,复制到新取得的所述第一存储装置内的第二物理储存区域,并且用所述第二物理储存区域的第二物理地址置换在所述第一映射信息中设定的所述第一物理地址,并且将所述第一物理地址设定到与所述第一组块对应的所述第二类型的第二映射信息中。
3.如权利要求2所述的存储系统,其中,
在所述第一组块处于所述第三状态、并且通过第一写入请求指定了向所述第一组块的数据写入的情况下,所述访问控制器在所述第一物理储存区域及所述第二物理储存区域中的所述第二物理储存区域中写入实际数据。
4.如权利要求3所述的存储系统,其中,
所述映射管理部对于处于所述第三状态的每个组块,基于写入位置信息,来管理由于写入访问而数据被变更的写入位置,
在所述第一组块处于所述第三状态、并且按照向所述第一组块的所述数据写入的指定而在所述第二物理储存区域中写入了所述实际数据的情况下,所述映射管理部将表示数据被变更的写入位置的信息追加到与所述第一组块建立了对应的第一写入位置信息中,
所述映射管理部为了将所述第一组块从所述第三状态变更为所述第二状态,将所述第一写入位置信息表示的所述第二物理储存区域内的变更后的数据反映到所述第一物理储存区域中,并且用所述第二映射信息中设定的所述第一物理地址置换所述第一映射信息中设定的所述第二物理地址,并且将所述第二映射信息无效化,并且将用于所述第一写入位置信息的第一储存区域及所述第二物理储存区域释放。
5.如权利要求4所述的存储系统,其中,
所述映射管理部为了将所述第一组块从所述第三状态变更为所述第一状态,将所述第二映射信息无效化,并且将所述第一储存区域及所述第一物理储存区域释放。
6.如权利要求4所述的存储系统,其中,
所述存储控制器还具备比所述第一存储装置更高速的存储器,该存储器具有保存所述写入位置信息的储存区域。
7.如权利要求1所述的存储系统,其中,
在向所述第一组块的访问状况为所述第二状况、并且所述第一组块处于所述第一状态的情况下,所述映射管理部将所述第一组块从所述第一状态变更为所述第三状态,
在从所述第一状态向所述第三状态变更后所述第二状况还继续的情况下,所述映射管理部将所述第一组块从所述第三状态变更为所述第二状态,
在从所述第一状态向所述第三状态变更后、向所述第一组块的访问状况变化为所述第一状况的情况下,所述映射管理部将所述第一组块从所述第三状态变更为所述第一状态。
8.如权利要求7所述的存储系统,其中,
所述映射管理部为了将所述第一组块从所述第一状态变更为所述第三状态,将通过与所述第一组块对应的所述第一类型的第一映射信息而被所述第一组块的第一逻辑地址映射的第二物理地址所指定的所述第一存储装置内的第二物理储存区域的数据,复制到新取得的所述第二存储装置内的第一物理储存区域,并且将所述第一物理储存区域的第一物理地址设定到与所述第一组块对应的所述第二类型的第二映射信息中。
9.如权利要求7所述的存储系统,其中,
还具备访问计数器,所述访问计数器按照每个所述组块,对在监视期间内发生的向该组块的访问次数或数据量的总和进行计数,
所述映射管理部以所述监视期间为单位,基于每个所述组块的所述访问计数器的值,判断向该组块的访问状况。
10.如权利要求9所述的存储系统,其中,
在与所述第一组块对应的第一访问计数器的值大于阈值的情况下,所述映射管理部判断为向所述第一组块的访问状况处于所述第一状况,
在所述第一访问计数器的值小于所述阈值的情况下,所述映射管理部判断为所述第一组块处于所述第二状况。
11.如权利要求9所述的存储系统,其中,
在与所述第一组块对应的第一访问计数器的值大于第一阈值的情况下,所述映射管理部判断为向所述第一组块的访问状况处于所述第一状况,
在所述第一访问计数器的值小于比所述第一阈值小的第二阈值的情况下,所述映射管理部判断为向所述第一组块的访问状况处于所述第二状况。
12.如权利要求11所述的存储系统,其中,
在所述第一访问计数器的值处于所述第一阈值和所述第二阈值之间的情况下,所述映射管理部判断为向所述第一组块的访问状况处于第三状况,
在向所述第一组块的访问状况为所述第三状况、并且所述第一组块处于所述第三状态的情况下,所述映射管理部将所述第一组块维持为所述第三状态。
13.如权利要求9所述的存储系统,其中,
在与所述第一组块对应的第一访问计数器的值大于第一阈值的情况下,所述映射管理部判断为向所述第一组块的访问状况处于所述第一状况,
在所述第一访问计数器的值小于比所述第一阈值小的第二阈值的情况下,所述映射管理部判断为向所述第一组块的访问状况处于所述第二状况,
在基于第一监视期间中的所述第一访问计数器的第一值而将所述第一组块变更为所述第三状态后、所述第一监视期间接下来的第二监视期间中的所述第一访问计数器的第二值大于比所述第一阈值大的第三阈值的情况下,所述映射管理部判断为所述第一状况继续,
在基于第三监视期间中的所述第一访问计数器的第三值而将所述第一组块变更为所述第三状态后、所述第三监视期间接下来的第四监视期间中的所述第一访问计数器的第四值小于比所述第二阈值小的第四阈值的情况下,所述映射管理部判断为所述第二状况继续。
14.如权利要求13所述的存储系统,其中,
在所述第一访问计数器的值处于所述第三阈值与所述第四阈值之间的情况下,所述映射管理部判断为向所述第一组块的访问状况处于第三状况,
在向所述第一组块的访问状况为所述第三状况、并且所述第一组块处于所述第三状态的情况下,所述映射管理部将所述第一组块维持为所述第三状态。
15.一种存储控制器,控制向第一存储装置的访问、以及向比所述第一存储装置低速且大容量的第二存储装置的访问,具备:
映射管理部,对逻辑单元内的第一尺寸的各组块处于第一状态、第二状态或第三状态中的哪个状态进行管理,所述第一状态是,所述组块的逻辑地址通过第一类型的映射信息映射到所述第一存储装置内的物理储存区域的物理地址,所述第二状态是,所述逻辑地址通过所述第一类型的映射信息映射到所述第二存储装置内的物理储存区域的物理地址,所述第三状态是,所述逻辑地址通过所述第一类型的映射信息映射到所述第一存储装置内的物理储存区域的物理地址,并且通过第二类型的映射信息映射到所述第二存储装置内的物理储存区域的物理地址;
地址变换部,将来自主机装置的读取请求或写入请求所指定的逻辑地址,变换为通过所述第一类型的映射信息而映射到的所述第一存储装置或所述第二存储装置内的物理储存区域的物理地址;以及
访问控制器,基于变换后的所述物理地址,访问所述第一存储装置或所述第二存储装置;
所述映射管理部对于所述逻辑单元内的每个组块,监视向该组块的访问状况,
在向第一组块的访问状况为需要高速访问的第一状况、并且所述第一组块处于所述第二状态的情况下,所述映射管理部将所述第一组块从所述第二状态变更为所述第三状态,
在从所述第二状态向所述第三状态变更后所述第一状况还继续的情况下,所述映射管理部将所述第一组块从所述第三状态变更为所述第一状态,
在从所述第二状态向所述第三状态变更后、向所述第一组块的访问状况变化为不需要所述高速访问的第二状况的情况下,所述映射管理部将所述第一组块从所述第三状态变更为所述第二状态。
16.一种存储控制方法,在存储控制器中对逻辑地址和物理地址之间的映射进行管理,该存储控制器控制向第一存储装置的访问、以及向比所述第一存储装置低速且大容量的第二存储装置的访问,该存储控制方法为,
对于逻辑单元内的第一尺寸的各组块的每一个,监视向该组块的访问状况,
在向第一组块的访问状况为需要高速访问的第一状况、并且所述第一组块处于第一状态、第二状态或第三状态中的所述第二状态的情况下,将所述第一组块从所述第二状态变更为所述第三状态,所述第一状态是,所述第一组块的第一逻辑地址通过第一类型的第一映射信息映射到所述第一存储装置内的第二物理储存区域的第二物理地址,所述第二状态是,所述第一逻辑地址通过所述第一映射信息映射到所述第二存储装置内的第一物理储存区域的第一物理地址,所述第三状态是,所述第一逻辑地址通过所述第一映射信息映射到所述第二物理地址,并且通过第二类型的第二映射信息映射到所述第一物理地址,
在从所述第二状态向所述第三状态变更后所述第一状况还继续的情况下,将所述第一组块从所述第三状态变更为所述第一状态,
在从所述第二状态向所述第三状态变更后、向所述第一组块的访问状况变化为不需要所述高速访问的第二状况的情况下,将所述第一组块从所述第三状态变更为所述第二状态,
将来自主机装置的读取请求或写入请求所指定的逻辑地址,变换为通过所述第一类型的映射信息而映射到的所述第一存储装置或所述第二存储装置内的物理储存区域的物理地址,
基于变换后的所述物理地址,访问所述第一存储装置或所述第二存储装置。
CN201380000357.3A 2013-03-29 2013-03-29 存储系统、存储控制器及存储控制方法 Active CN104246721B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/059527 WO2014155666A1 (ja) 2013-03-29 2013-03-29 論理アドレスと物理アドレスとの間のマッピングを管理するストレージシステム、ストレージコントローラ及び方法

Publications (2)

Publication Number Publication Date
CN104246721A CN104246721A (zh) 2014-12-24
CN104246721B true CN104246721B (zh) 2017-02-22

Family

ID=49850326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380000357.3A Active CN104246721B (zh) 2013-03-29 2013-03-29 存储系统、存储控制器及存储控制方法

Country Status (4)

Country Link
US (1) US9063877B2 (zh)
JP (1) JP5362145B1 (zh)
CN (1) CN104246721B (zh)
WO (1) WO2014155666A1 (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6107625B2 (ja) * 2013-12-02 2017-04-05 ソニー株式会社 記憶制御装置、記憶装置、情報処理システムおよびその記憶制御方法
CN105611979B (zh) * 2014-03-18 2018-08-21 株式会社东芝 具备试验区域的层级化存储系统、存储控制器及介质
WO2016016989A1 (ja) * 2014-07-31 2016-02-04 株式会社 東芝 階層化ストレージシステム、ストレージコントローラ及びプログラム
US9876714B2 (en) * 2014-11-14 2018-01-23 Nicira, Inc. Stateful services on stateless clustered edge
US9866473B2 (en) 2014-11-14 2018-01-09 Nicira, Inc. Stateful services on stateless clustered edge
US11533255B2 (en) 2014-11-14 2022-12-20 Nicira, Inc. Stateful services on stateless clustered edge
CN112906077A (zh) * 2014-11-14 2021-06-04 Nicira股份有限公司 无状态集群边缘上的有状态服务
US10044617B2 (en) 2014-11-14 2018-08-07 Nicira, Inc. Stateful services on stateless clustered edge
GB2539435B8 (en) 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Data processing memory access control, in which an owning process for a region of memory is specified independently of privilege level
GB2539433B8 (en) 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Protected exception handling
GB2539428B (en) 2015-06-16 2020-09-09 Advanced Risc Mach Ltd Data processing apparatus and method with ownership table
GB2539429B (en) * 2015-06-16 2017-09-06 Advanced Risc Mach Ltd Address translation
PL3113026T3 (pl) * 2015-06-29 2020-03-31 Aicas Gmbh Automatyczne zarządzanie pamięcią z zastosowaniem modułu sterowania pamięcią
CN106372000B (zh) * 2015-07-20 2019-10-11 群联电子股份有限公司 映射表更新方法、存储器控制电路单元及存储器存储装置
JP6165909B1 (ja) 2016-03-16 2017-07-19 株式会社東芝 階層化ストレージシステム、ストレージコントローラ、及び階層化制御方法
US10127103B2 (en) * 2016-09-07 2018-11-13 Sandisk Technologies Llc System and method for detecting and correcting mapping table errors in a non-volatile memory system
US9916256B1 (en) * 2016-09-12 2018-03-13 Toshiba Memory Corporation DDR storage adapter
CN107844259B (zh) 2016-09-18 2020-06-16 华为技术有限公司 数据访问方法、路由装置和存储系统
JP6253752B1 (ja) 2016-11-29 2017-12-27 株式会社東芝 階層化ストレージシステム
US11570092B2 (en) 2017-07-31 2023-01-31 Nicira, Inc. Methods for active-active stateful network service cluster
US10951584B2 (en) 2017-07-31 2021-03-16 Nicira, Inc. Methods for active-active stateful network service cluster
US11296984B2 (en) 2017-07-31 2022-04-05 Nicira, Inc. Use of hypervisor for active-active stateful network service cluster
US11153122B2 (en) 2018-02-19 2021-10-19 Nicira, Inc. Providing stateful services deployed in redundant gateways connected to asymmetric network
US10698630B2 (en) * 2018-06-13 2020-06-30 EMC IP Holding Company LLC Intra-cluster migration for elastic cloud storage devices
US11023129B2 (en) 2018-12-03 2021-06-01 EMC IP Holding Company LLC Hybrid intra-cluster migration of data between storage devices using chunk usage efficiency
US10936501B2 (en) * 2019-02-01 2021-03-02 Kinaxis Inc. Cache management for search optimization
US11556470B2 (en) * 2021-02-02 2023-01-17 Kinaxis Inc. Cache management for search optimization
US11775433B2 (en) 2019-02-01 2023-10-03 Kinaxis Inc. Cache management for search optimization
US12093189B1 (en) * 2019-09-30 2024-09-17 Amazon Technologies, Inc. Memory-side page activity recorder
US11237981B1 (en) 2019-09-30 2022-02-01 Amazon Technologies, Inc. Memory scanner to accelerate page classification
KR102506336B1 (ko) 2020-12-09 2023-03-06 (주)세고스 냉장고용 선반 제조방법 및 그를 이용한 선반
US11799761B2 (en) 2022-01-07 2023-10-24 Vmware, Inc. Scaling edge services with minimal disruption
US11962564B2 (en) 2022-02-15 2024-04-16 VMware LLC Anycast address for network address translation at edge
US12032483B2 (en) * 2022-04-11 2024-07-09 Samsung Electronics Co., Ltd. Systems and methods for pre-populating address translation cache

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396619A (en) * 1993-07-26 1995-03-07 International Business Machines Corporation System and method for testing and remapping base memory for memory diagnostics
US6480948B1 (en) * 1999-06-24 2002-11-12 Cirrus Logic, Inc. Configurable system memory map
CN102667704A (zh) * 2009-12-22 2012-09-12 国际商业机器公司 混合存储子系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006139552A (ja) * 2004-11-12 2006-06-01 Hitachi Ltd ストレージ装置及びストレージ装置のデータライフサイクル管理方法
JP2007004710A (ja) 2005-06-27 2007-01-11 Nec Corp ストレージアクセス方式、データ転送装置、ストレージアクセス方法、及びプログラム
JP2007316995A (ja) * 2006-05-26 2007-12-06 Hitachi Ltd 記憶システム及びデータ管理方法
JP2010097359A (ja) 2008-10-15 2010-04-30 Hitachi Ltd ファイル管理方法および階層管理ファイルシステム
US8316182B2 (en) * 2009-08-11 2012-11-20 International Business Machines Corporation Hierarchical storage management for database systems
US8423727B2 (en) * 2010-03-16 2013-04-16 Hitachi, Ltd. I/O conversion method and apparatus for storage system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396619A (en) * 1993-07-26 1995-03-07 International Business Machines Corporation System and method for testing and remapping base memory for memory diagnostics
US6480948B1 (en) * 1999-06-24 2002-11-12 Cirrus Logic, Inc. Configurable system memory map
CN102667704A (zh) * 2009-12-22 2012-09-12 国际商业机器公司 混合存储子系统

Also Published As

Publication number Publication date
JPWO2014155666A1 (ja) 2017-02-16
CN104246721A (zh) 2014-12-24
US9063877B2 (en) 2015-06-23
WO2014155666A1 (ja) 2014-10-02
US20140297964A1 (en) 2014-10-02
JP5362145B1 (ja) 2013-12-11

Similar Documents

Publication Publication Date Title
CN104246721B (zh) 存储系统、存储控制器及存储控制方法
US10310737B1 (en) Size-targeted database I/O compression
US9465554B2 (en) Tiered caching and migration in differing granularities
US10521131B2 (en) Storage apparatus and storage control apparatus
JP5445682B2 (ja) ストレージシステム
KR100789406B1 (ko) 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법
CN104025059B (zh) 用于数据存储存储器的空间收回的方法和系统
CN108139902A (zh) 用于提供混合模式来访问ssd驱动器的方法和装置
US20130185488A1 (en) Systems and methods for cooperative cache management
TWI771933B (zh) 借助命令相關過濾器來進行重複資料刪除管理的方法、主裝置以及儲存伺服器
CN110532200B (zh) 一种基于混合内存架构的内存系统
CN110795363B (zh) 一种存储介质的热页预测方法和页面调度方法
KR20090107098A (ko) 낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법
Chen et al. Software support inside and outside solid-state devices for high performance and high efficiency
US9471252B2 (en) Use of flash cache to improve tiered migration performance
JP2018181202A (ja) ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
US9189407B2 (en) Pre-fetching in a storage system
JP3431581B2 (ja) ディスク制御システムおよびデータ再配置方法
Ross Modeling the performance of algorithms on flash memory devices
CN107203479A (zh) 层级化存储系统、存储控制器及层级化控制方法
US20240111429A1 (en) Techniques for collecting and utilizing activity metrics
Yang et al. A shingle-aware persistent cache management scheme for DM-SMR disks
Chen et al. Co-optimizing storage space utilization and performance for key-value solid state drives
US11520510B1 (en) Extending the lifespan of a flash-based storage device
US10853257B1 (en) Zero detection within sub-track compression domains

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
CP01 Change in the name or title of a patent holder
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