CN102893251B - 具有易失性存储器和非易失性存储器的存储系统 - Google Patents

具有易失性存储器和非易失性存储器的存储系统 Download PDF

Info

Publication number
CN102893251B
CN102893251B CN200880130374.8A CN200880130374A CN102893251B CN 102893251 B CN102893251 B CN 102893251B CN 200880130374 A CN200880130374 A CN 200880130374A CN 102893251 B CN102893251 B CN 102893251B
Authority
CN
China
Prior art keywords
information
volatile memory
information element
conservation object
charge rate
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
CN200880130374.8A
Other languages
English (en)
Other versions
CN102893251A (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 CN102893251A publication Critical patent/CN102893251A/zh
Application granted granted Critical
Publication of CN102893251B publication Critical patent/CN102893251B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)

Abstract

本发明允许在易失性存储器中存储的保存对象被可靠地保存到非易失性存储器,并尽可能多的减少保存处理所需要的时间。规律地或不规律地检查电池的充电状态。根据检查出的充电状态,确定在电能中断发生时应该使在易失性存储器中存储的哪个信息元素成为保存对象。在易失性存储器中存储的多个信息元素中,根据与预定信息元素相关的状态,使预定信息元素成为保存处理的非保存对象。

Description

具有易失性存储器和非易失性存储器的存储系统
技术领域
本发明一般涉及具有易失性存储器和非易失性存储器的存储系统的控制。
背景技术
作为该种存储系统,例如,已知在专利引用1中揭示的存储系统。根据专利引用1,在存储系统中,当停止主电源对易失性高速缓冲存储器的电能供给时,电池对该易失性高速缓冲存储器供给电能,并且同时,将在该易失性高速缓冲存储器中存储的数据复制到非易失性存储器。
专利引用1:日本专利申请公开No.2008-108026
发明内容
技术问题
当停止主电源对易失性存储器的电能供给时(换句话说,当电能中断发生时),电池开始供给电能。当重新开始主电源的电能供给时,电池停止供给电能并且被再次充电。然而,当在主电源中再次发生电能中断时,即使在电池被充分充电之前(即使在充电率到达100%之前),电池也开始供给电能。换句话说,如果在主电源中频繁地发生电能中断,则通过从未充分充电的电池供给的电能执行从易失性存储器到非易失性存储器的信息保存处理。因此,在保存易失性存储器中存储的保存对象之前,电池的剩余数量可能被耗尽。
如果使非易失性存储器具有大容量,则可以期望保存大量信息。然而,在该情况下,由于从易失性存储器保存到非易失性存储器的信息量变得很大,从而需要用于保存处理的很长的时间。
因此,本发明的第一目的是允许在易失性存储器中存储的保存对象被可靠地保存到非易失性存储器。
本发明的第二目的是尽可能多地减少保存处理需要的时间。
技术方案
根据第一方面,规律地或不规律地检查电池的充电状态,并且根据检查到的充电状态实现控制,使得在电能中断的情况下保存在易失性存储器中存储的信息元素。具体地,例如,控制在易失性存储器中存储的脏数据(dirty data)(下文将描述)的总数量。
根据第二方面,在易失性存储器中存储的多个信息元素中,根据与特定信息元素相关的状态使特定信息元素成为保存处理的非保存对象。具体地,例如,当更新频率低时,保存特定信息元素。由于特定信息元素已经被保存,因此如果不重新更新特定信息元素,则当执行保存处理时不保存特定信息元素。此外,当重要度低时,不保存特定信息元素。
附图说明
[图1]图1示出根据本发明实施例的计算机系统的示例配置。
[图2]图2示出存储系统103中的数据和控制信号的示例流程。
[图3]图3示出电源模块117和电池124怎样供给电能。
[图4]图4是在CM-PK116中执行的处理的解释性示意图。
[图5]图5示出当从主机101接收到读命令时在存储系统103中执行的处理的流程。
[图6]图6示出当从主机101接收到写命令时在存储系统103中执行的处理的流程。
[图7]图7示出在计划的停机时间阶段中执行的保存处理的概观图。
[图8]图8示出易失性存储器121的示例配置。
[图9]图9示出示例控制表格。
[图10]图10示出表格管理信息的结构。
[图11]图11示出脏数据量管理信息的结构。
[图12]图12示出控制数量管理信息的结构。
[图13]图13示出所监视的充电率信息。
[图14]图14示出所监视的脏数据量信息。
[图15]图15A示出典型的保存时间信息。图15B示出主数据保存时间信息。
[图16]图16示出主数据(host data)管理信息。
[图17]图17示出地址管理信息。
[图18]图18示出脏数据保存处理的流程。
[图19]图19示出控制保存处理的流程。
[图20]图20示出在电能中断阶段中执行的保存处理的概观图。
[图21]图21示出在电能中断阶段中执行的保存处理的流程。
[图22]图22示出在恢复阶段中执行的恢复处理的概观图。
[图23]图23示出在恢复阶段中执行的恢复处理的流程。
[图24]图24示出当不执行根据电池充电状态的保存对象控制处理时造成的问题。
[图25]图25示出当执行根据电池充电状态的保存对象控制处理时获得的示例效果。
[图26]图26是示出由软件执行的电池监视处理的特定示例的解释性示意图。
[图27]图27示出脏数据量调节处理的概观图。
[图28]图28示出脏数据量调节处理的流程。
[图29]图29示出控制表格保存处理的概观图。
[图30]图30示出控制表格保存处理的流程。
[图31]图31示出更新管理处理的概观图。
[图32]图32示出更新管理处理的流程。
[图33]图33示出将已经被更新的控制表格改写到非易失性存储器。
[图34]图34示出预先的刷新处理的流程。
[图35]图35示出根据电池充电率的保存对象控制处理的流程。
[图36]图36示出通过根据电池充电率的保存对象控制处理调节保存对象总数量。
[图37]图37示出MP-PK的配置。
[图38]图38示出使已经被保存而还没有被更新的控制表格成为非保存对象的处理的流程。
附图标记说明
103存储系统
具体实施方式
下面,将参考附图描述本发明的实施例。
图1示出根据本发明实施例的计算机系统的示例配置。
经由存储局域网(SAN)102将存储系统103连接到一个或多个主机101。代替SAN 102,可以使用例如局域网(LAN)等其它类型的通信网络。
主机101是包括例如中央处理单元(CPU)和存储器等信息处理资源的计算机。例如,主机101是是个人计算机、工作站或大型计算机。
存储系统103包括控制器、存储设备组及电源模型117。
通过从民用电源供给的电能,电源模型117对每一个部件供给电能。
例如,存储设备组包括多个硬盘驱动(HDD)115。构成独立(廉价)磁盘冗余阵列(RAID)组的两个或多个HDD115形成一个或多个逻辑卷。代替HDD115,可以使用例如闪速存储器等其它类型的物理存储设备。
控制器包括多种类型的包(下文中,将包缩写为“PK”),具体地,CHA-PK111、MP-PK 112、SW-PK 113、CM-PK 113及DKA-PK114。例如,这些包是电路板。每种类型的包的数目不限于一个,而是可以为两个或更多个。例如,CHA-PK 111的数目和DKA-PK114的数目中的每一个是两个或更多个。
CHA-PK 111是控制与主机101的通信的接口设备。CHA-PK 111从主机101接收I/O命令(例如写命令或读命令)并执行与主机101的数据交换。
MP-PK 112控制存储系统103的操作。
将SW-PK 113连接到CHA-PK111、MP-PK 112、CM-PK 116及DKA-PK114,并对这些PK中的通信进行中继。
CM-PK 116是用作高速缓冲存储器的包,临时存储响应于从主机101接收的写命令要被写到对应的HDD 115的写对象数据和响应于从主机101接收的读命令从对应的HDD 115读取的读对象数据。CM-PK 116包括易失性存储器121、非易失性存储器123、电池124及C-MP 122。易失性存储器121用作高速缓冲存储器。非易失性存储器123用作在易失性存储器121中存储的信息的保存目的地。例如,非易失性存储器123是例如固态设备(SSD)等具有闪速存储器的设备。C-MP 122是在CM-PK 116中提供的微处理器。虽然如下文所描述的对MP-PK 112也提供微处理器,但是在C-MP 122中提供的微处理器可以具有比在MP-PK 112中提供的微处理器更低的性能。在本实施例中,在CM-PK116中提供的微处理器被称为“C-MP”,在MP-PK 112中提供的微处理器被称为“M-MP”。
DKA-PK 114是控制与HDD 115的通信的接口设备。
图2示出存储系统103中的数据和控制信号的示例流程。
由CHA-PK111接收从主机101发送的I/O命令。经由SW-PK在CHA-PK
111、MP-PK 112及DKA-PK 114中交换数据。此外,在易失性存储器121和非易失性存储器123之间交换数据。基于从C-MP 122发送的控制信号执行将数据从易失性存储器121保存到非易失性存储器123以及将数据从非易失性存储器123恢复到易失性存储器121。
图3示出电源模块117和电池124怎样供给电能。
如实箭头线所指示的,通过来自民用电源的电能,电源模块117将电能供给存储系统中包括的部件,具体地,供给CHA-PK 111、MP-PK112、SW-PK113、DKA-PK 114、HDD 115及CM-PK 116(具体地,例如CM-PK116中包括的部件121、122、123及124)。通过从电源模块117供给的电能对电池124充电。
当由于电能断供、出现故障等停止从电源模块117供给的电能(即,发生电能中断)时,如虚箭头线所指示的,电池124对CM-PK 116中包括的其它部件121、122及123供给电能。
图4是在CM-PK116中执行的处理的解释性示意图。
易失性存储器121中存储的信息元素的示例包括主数据和控制信息元素。主数据是响应于从主机101接收的写命令而写入对应的HDD115的数据和响应于从主机101接收的读命令而从对应的HDD 115读取的数据。控制信息元素如下文所述由M-MP参考并且用于控制存储系统103。将易失性存储器121中存储的主数据(准确地,下文将描述的脏数据)和控制信息元素保存到非易失性存储器123。
C-MP 122具有下面的功能(4-1)和(4-2)。
(4-1)将在由特定地址集合指示的区域(与从开始地址到结尾地址的范围相对应的区域)中存储的信息元素从易失性存储器121保存到非易失性存储器123的功能。
(4-2)将信息元素从非易失性存储器123恢复到易失性存储器121的功能。
在非易失性存储器123中存储的所有信息元素可以被恢复,或在由特定地址集合指示的区域(与从开始地址到结尾地址的范围相对应的区域)中存储的信息元素可以被恢复。如果没能将信息元素从易失性存储器121保存到非易失性存储器123,则C-MP 122将指示保存失败的信息存储在非易失性存储器123中。
本实施例中使用的“地址集合”表示一组开始地址和结尾地址。在C-MP122的寄存器中(和/或在易失性存储器121中)指定地址集合。在寄存器(和/或易失性存储器121)中,可以积累一个或多个地址集合。将在寄存器(和/或易失性存储器121)中指定的地址从C-MP 122(和/或易失性存储器121)写入到非易失性存储器123。因此,即使出现电能中断,也在非易失性存储器123中保持地址集合。
在本实施例中,分配给易失性存储器121的地址和分配给非易失性存储器123的地址以一对一的方式互相对应。因此,在本实施例中,例如,当在保存处理中和恢复处理中指定指示了某个地址范围的地址集合时,将信息从对应于该地址范围的存储器121和123中的一个存储器中的区域传送到对应于该地址范围的存储器121和123中的另一个存储器中的区域。然而,代替该种地址管理方法,可以使用其它地址管理方法,在其它地址管理方法中,例如,如果非易失性存储器和易失性存储器的存储容量不同,则准备用于管理非易失性存储器的地址和易失性存储器的地址之间的对应性的管理信息,并基于该管理信息执行保存处理和恢复处理。
图37示出MP-PK112的示例配置。
例如,MP-PK 112包括M-MP 3701和本地存储器3702。例如,本地存储器3702存储I/O控制PG 3711、电池监视PG 3712、保存PG 3713、控制信息管理PG 3714、刷新PG 3715、恢复PG 3716及保存对象控制PG 3717,作为要由M-MP 3701执行的计算机程序(下文中,将计算机程序缩写为“PG”)。下文描述每一个PG。注意,为了容易解释,可以以被用作主体的PG描述处理,但是由运行PG的M-MP 122执行该处理。
图5示出当从主机101接收到读命令时在存储系统103中执行的处理的流程。每个虚箭头线指示命令或指令的流程,每个实线箭头指示主数据的流程(同样适用于图6)。
当CHA-PK 111从主机101接收到读命令时,将该读命令发送到MP-PK112。
当在易失性存储器121中存在读对象主数据时,MP-PK112的I/O控制PG 3711从易失性存储器121读取主数据并经由CHA-PK 111将该主数据发送到主机101。
当在易失性存储器121中不存在读对象主数据时,基于由所接收到的读命令指定的读资源逻辑卷(例如,端口号和逻辑单元号(LUN))、读资源地址(例如,逻辑块地址(LBA))等,MP-PK 112的I/O控制PG 3711将用于将读对象主数据“C”发送到易失性存储器121的读指令发送到DKA-PK 114。响应于读指令,DKA-PK 114从通过读指令识别的HDD 115中读取读对象主数据“C”,在易失性存储器121中存储主数据“C”,并对MP-PK 112通知读取完成。当接收到读取完成的通知时,MP-PK 112的I/O控制PG 3711从易失性存储器121读取主数据“C”并经由CHA-PK111将主数据“C”发送到主机101。
图6示出当从主机101接收到写命令时在存储系统103中执行的处理的流程。
当CHA-PK 111从主机101接收到写命令时,将该写命令发送到MP-PK112。MP-PK 112的I/O控制PG 3711将由该写命令指定的写对象主数据“D”写入易失性存储器121。然后,基于由接收到的写命令指定的写目的卷、写目的地址等,MP-PK 112的I/O控制PG 3711将用于将主数据“D”写入对应的HDD115的写指令发送到DKA-PK 114。响应于该写指令,DKA-PK 114从易失性存储器121读取主数据“D”并将主数据“D”存储到对应的HDD 115。
图8示出易失性存储器121的示例配置。
易失性存储器121包括控制信息区域801和主数据区域803。在控制信息区域801中存储上面提到的控制信息,在主数据区域803中存储主数据。控制信息元素的示例包括下面的信息元素:
(1)各种控制表格;
(2)脏数据量管理信息;
(3)控制数量管理信息;
(4)所监视的充电率信息;
(5)所监视的脏数据量信息;
(6)典型的保存时间信息;
(7)主数据保存时间信息;及
(8)主数据管理信息。
下文将描述控制信息元素。
图9示出示例控制表格。
控制表格是当MP-PK 112执行控制时使用的信息元素。例如,控制表格包括配置表格901、复制表格902及监视表格903。配置表格901保持与存储系统103的配置相关的信息(例如,指示了对用于形成各个逻辑卷的各个LUN和HDD分配的逻辑卷的信息)。复制表格902保持与逻辑卷之间执行的复制相关的信息(例如,指示了形成对的逻辑卷和该对的状态的信息)。监视表格903保持指示了在存储系统103中获得的各种监视结果的信息。对于每一个控制表格分配用于识别控制表格的表格ID。
图10示出表格管理信息的结构。
表格管理信息1001是与控制表格相关的表格保持信息。表格管理信息1001为每一个控制表格保持子信息元素,例如保存必需信息、保存重要度信息、更新与否信息、更新计数值、保存完成信息、表格大小及保存时间信息等。在下面参考图10将给出的描述中,某个控制表格被称为“对象控制表格”,并将描述对象控制表格的子信息元素。
保存必需信息是指示了对象控制表格是否需要被保存到非易失性存储器123的子信息元素。基于对象控制表格的类型预先确定对象控制表格是否需要被保存。
保存重要度信息是指示了对象控制表格的重要度的子信息元素。在本实施例中,通过两个值,即“高”(指示了对象控制表格的保存是重要的值)和“低”(指示了即使不保存对象控制表格也不会出现问题的值)中的任一个来指示重要度。也基于对象控制表格的类型预先确定重要度。
更新与否信息是指示了在存储系统103被激活之后或在对象控制表格被保存之后对象控制表格是否已经被更新的子信息元素。
更新计数值是指示了对象控制表格被更新的次数的子信息元素。
保存完成信息是指示了对象控制表格的保存处理是否已经被成功完成的子信息元素。当对象控制表格已经被保存时将保存完成信息设置为值“0”,并且当对象控制表格没有被保存时将保存完成信息设置为值“1”。
表格大小是指示了对象控制表格的大小(信息数量)的子信息元素。
保存时间信息是指示了保存对象控制表格的时间的子信息元素。
图11示出脏数据量管理信息的结构。
脏数据量管理信息1101是指示了以某个电池充电率能够保存的脏数据的数量的控制信息元素。具体地,脏数据量管理信息1101保持在电池充电率的每一个范围中能够保存的脏数据量。“脏数据量”表示脏数据的总数量。脏数据量是当将主数据区域803(见图8)的存储容量设置为100时计算出的脏数据的总数量。“脏数据”是在易失性存储器121中存储而在任意HDD 115中没有存储的主数据。另一方面,在易失性存储器121中存储并且也在任意HDD115中存储的主数据被称为“清洁数据”。
图12示出控制数量管理信息的结构。
控制数量管理信息1201是指示了以某个电池充电率能够保存的控制信息的数量的控制信息元素。具体地,控制数量管理信息1201保持在电池充电率的每一个范围中能够保存的控制信息的数量。当将控制信息区域801(见图8)的存储容量设置为100时计算出控制信息的数量。
图13示出所监视的充电率信息。
所监视的充电率信息1301是指示了电池124的充电率的监视结果的控制信息元素。具体地,规律(或不规律)地检查电池124的充电率,并在易失性存储器121中存储检查出的充电率作为所监视的充电率信息1301。可以通过电池监视PG 3712和C-MP 122来监视电池124的充电率。换句话说,可以执行软件监视和硬件监视。通过硬件监视检查出的电池充电率被优先存储为所监视的充电率信息1301。当不执行硬件监视时,通过软件监视检查出的电池充电率被存储为所监视的充电率信息1301。
图14示出所监视的脏数据量信息。
所监视的脏数据量信息1401是指示出当前脏数据量的控制信息元素。每当脏数据的总数量改变时,例如每当在易失性存储器121中存储写对象数据时或每当在任意HDD 115中存储来自易失性存储器121的脏数据时,就通过I/O控制PG 3711或保存PG 3713来更新所监视的脏数据量信息1401。
图15A示出典型的保存时间信息。
典型的保存时间信息1501是用作表格管理信息1001(见图10)的保存时间信息和图15B所示的主数据保存时间信息1601的基础的控制信息元素。例如,典型的保存时间信息1501指示了在计划的停机时间中保存处理的开始时间。
图15B示出主数据保存时间信息。
主数据保存时间信息1601是指示了将脏数据从易失性存储器121保存到任意HDD 115的时间的控制信息元素。
图16示出主数据管理信息。
主数据管理信息1701是用于管理在易失性存储器121的主数据区域803中的每一个槽(slot)(存储区域)中存储的主数据的属性的控制信息元素。对于每一个槽,主数据管理信息1701包括例如槽号和槽状态。槽状态是指示了在对应槽中存储的主数据是清洁数据或脏数据的信息。
注意,每一个槽的大小是固定的。因此,可以基于主数据区域803的大小和根据存储了脏数据的槽的数目及每一个槽的大小而获得的总大小来计算出脏数据量。
图17示出地址管理信息。
地址管理信息1710包括上述的一个或多个地址集合(每一个集合包括开始地址和结尾地址)。地址管理信息1710被存储在C-MP 122的寄存器中或易失性存储器121中,并被保存到非易失性存储器122。
在上述的多条信息中,至少表格管理信息1001(见图10)、典型的保存时间信息1501(见图15A)及主数据管理信息1701(见图16)是要在电能中断阶段中执行的保存处理的保存对象。换句话说,在要在电能中断阶段中执行的保存处理的情况下,地址管理信息1710总是包括由表格管理信息1001占用的范围的开始地址和结尾地址、由典型的保存时间信息1501占用的范围的开始地址和结尾地址、由主数据管理信息1701占用的范围的开始地址和结尾地址。
下文将给出在下面的四个阶段中的每一个中在本实施例中执行的处理的描述,四个阶段是:计划的停机时间阶段;电能中断阶段;恢复阶段;及正常阶段。
<计划的停机时间阶段>
图7示出在计划的停机时间阶段中执行的保存处理的概观图。
与电能中断阶段不同,在计划的停机时间阶段中,电源模块117向易失性存储器121供给电能。因此,即使保存对象控制信息元素的总数量大于以电池124的充电率指定的总数量,也能够将所有保存对象控制信息元素从易失性存储器121保存到非易失性存储器123。
例如,当检测到计划的停机时间信号时计划的停机时间阶段开始。例如,可以从主机101或例如管理计算机(未示出)等外部设备输入计划的停机时间信号,或可以在存储系统103中提供的特定开关被打开时输入计划的停机时间信号。
在计划的停机时间阶段中,执行两种保存处理:脏数据保存处理和控制保存处理。在脏数据保存处理中,在对应于由写命令指定的写目的地的HDD 115中存储脏数据“E”,在该写命令中脏数据“E”被指定为写对象。在控制保存处理中,确定在多个种类的控制表格中哪个控制表格将是非保存对象,并将没有被确定为是非保存对象的控制信息元素“F”保存到非易失性存储器123。
通过保存PG 1373(见图37)执行脏数据保存处理和控制保存处理。下文将参考图18和19分别描述脏数据保存处理的流程和控制保存处理的流程。
图18示出脏数据保存处理的流程。
当检测到计划的停机时间信号时,PG 1373参考主数据管理信息1701(见图16)(S1801)并从第一个记录到最后一个记录对主数据管理信息1701中的每一个记录(换句话说,从第一个槽到最后一个槽,对主数据区域803中的每一个槽)执行步骤S1802到S1804。
具体地,当在所参考的记录中没有记录“脏”作为槽状态时(S1802:否),保存PG 3713跳过步骤S1803并执行步骤S1804。另一方面,当在所参考的记录中记录了“脏”作为槽状态时(S1802:是),保存PG 3713在任意HDD 115中存储在对应于该记录的槽中存储的脏数据,并将该槽状态的值从“脏”改变为“清洁”(S1803)。然后,当所参考的记录不是最后一个记录时(S1804:否),保存PG 3713对下一个记录执行步骤S1802。
图19示出控制保存处理的流程。
当检测到计划的停机时间信号时,保存PG 3713更新典型的保存时间信息1501以具有指示了当前时间的信息(S1901)。例如,从计时器获得当前时间。
保存PG 3713参考表格管理信息1001(见图10),并从第一个记录到最后一个记录对表格管理信息1001中的每一个记录执行步骤S1903到S1907。
具体地,当在所参考的记录中“非必需”被记录为保存必需信息时(S1903:否),保存PG 3713跳过步骤S1904到S1906并执行步骤S1907。当在所参考的记录中“必需”被记录为保存必需信息时(S1903:是),保存PG 3713判断记录了“已更新”或“未更新”作为更新与否信息(S1904)。当记录了“已更新”作为更新与否信息时,保存PG 3713在步骤S1905中执行下面的处理:
(1905-1)更新参考记录中的保存时间信息以具有与典型的保存时间信息相同的信息;
(1905-2)在C-MP 122中,指定与存储了对应于参考记录的控制表格的区域相对应的地址集合,并使C-MP 122将与所指定的地址集合相对应的区域中存储的控制表格从易失性存储器121保存到非易失性存储器123;及
(1905-3)将参考记录中的保存完成信息的值更新为具有“0”,这表示控制表格已经被保存。
另一方面,当记录了“未更新”作为更新与否信息时,保存PG 3713在步骤S1906中执行下面的处理:
(1906-1)更新参考记录中的保存时间信息以具有与典型的保存时间信息相同的信息;及
(1906-2)将参考记录中的保存完成信息的值更新为具有“0”,这表示控制表格已经被保存。
简而言之,将其中记录了“未更新”作为更新与否信息的控制表格确定为非保存对象,并不将其保存到非易失性存储器123。在步骤S1905或S1906之后,当参考记录不是最后一个记录时(S1907:否),保存PG 3713对下一个记录执行步骤S1903。
当对于表格管理信息1001中的最后一个记录执行了步骤S1903到S1905或S1906时(S1907:是),保存PG 3713使C-MP 122将表格管理信息1001和典型的保存时间信息1501保存到非易失性存储器123(S1908)。
根据上述控制保存处理,将记录了“非必需”作为保存必需信息的控制表格和已经被保存并记录了“未更新”作为更新与否信息的控制表格确定为非保存对象。因此,可以期望使计划的停机时间阶段中的保存处理所需要的时间更短。
注意,当在计划的停机时间阶段中成功保存所有保存对象时,C-MP 122在非易失性存储器123中设置表示保存成功的信息。
<电能中断阶段>
如图20所示,在电能中断阶段中,将在由C-MP 122中指定的地址集合指示的区域中存储的所有信息元素,具体地,脏数据“E”和控制信息元素“F”两者,从易失性存储器121保存到非易失性存储器123。
图21示出在电能中断阶段中执行的保存处理的流程。
当检测到电能中断时,C-MP 122参考在C-MP 122的寄存器中指定的地址管理信息1710(见图17)(S2101)。C-MP 122从地址管理信息1710中选择一个地址集合,并将由所选择的地址集合识别的区域(易失性存储器121中的区域)中存储的信息(脏数据或控制信息中的保存对象信息元素)从易失性存储器121保存到非易失性存储器123(S2101)。当在地址管理信息1710中包括没有被选择的地址集合时(S2103:否),C-MP 122对该地址集合执行步骤2102。当不包括没有被选择的地址集合时(S2103:是),C-MP 122结束该保存处理。
根据上述流程,在电能中断阶段中,将与地址管理信息1710中包括的地址集合对应的区域中存储的信息元素从易失性存储器121保存到非易失性存储器123。在正常阶段中确定在电能中断阶段应该保存易失性存储器121中的哪个信息元素。具体地,在正常阶段中,当某个信息元素被确定为非保存对象时,将指示存储了该某个信息元素的区域的地址集合从地址管理信息1710中删除。相反,当将某个信息元素从非保存对象改变为保存对象时,将指示存储了该某个信息元素的区域的地址集合添加到地址管理信息1710中。当成功保存所有保存对象时,C-MP 122在非易失性存储器123中设置表示保存成功的信息。
<恢复阶段>
如图22所示,在恢复阶段,将在非易失性存储器123中存储的所有信息元素,例如,脏数据“E”和控制信息元素“F”,从非易失性存储器123恢复到易失性存储器121。
图23示出在恢复阶段中执行的恢复处理的流程。
当恢复PG 3716检测到存储系统103激活时,恢复PG 3716指示C-MP 122执行恢复处理。
当在非易失性存储器123中存储了指示保存失败的信息时(S2301:否),C-MP 122判断保存对象已经是易失去的(S2307)。具体地,C-MP 122向恢复PG 3716通知保存对象已经是易失去的。在存储系统103被激活之后,判断保存对象已经是易失去的,并执行各种类型的控制。
当在非易失性存储器123中存储了指示出保存成功的信息时(S2301:是),C-MP 122从地址管理信息1710中选择一个地址集合(S2302),并从对应于该地址集合的区域(非易失性存储器123中的区域)恢复信息元素(S2303)。当对应于该信息元素的保存时间信息(例如,对应于控制表格的保存时间信息)与典型的保存时间信息1501不同时(S2304:是),C-MP 122假设在步骤S2303中恢复的信息元素已经是易失去的(S2305)。当对应于被恢复的信息元素的保存时间信息与典型的保存时间信息1501相匹配时(S2304:否),C-MP 122跳过步骤S2305。当在所保存的地址管理信息1710中包括没有被选择的地址集合时(S2306:否),C-MP 122对该地址集合执行步骤S2302。当在所保存的地址管理信息1710中不包括没有被选择的地址集合时(S2306:是),C-MP 122结束恢复处理。
根据典型的保存时间信息是否与保存时间信息相匹配来判断是否假设被恢复的信息元素已经是易失去的。注意,可以代替时间信息而使用例如计数值等其它类型的信息。例如,在图19中,在步骤S1901中将典型的保存值更新以具有特定的值,在步骤S 1905中将保存值更新以具有与典型的保存值相同的值,并且在步骤S1906中将保存值更新以具有与典型的保存值不同的值。通过使用该方法,在恢复处理中,根据典型的保存值是否与保存值相匹配来判断是否假设被恢复的信息元素已经是易失去的(volatilized)。
<正常阶段>
在正常阶段中,例如,执行下面六种类型的处理(N-1)到(N-6):
(N-1)电池监视处理;
(N-2)根据电池充电率的保存对象控制处理;
(N-3)读处理/写处理(脏数据量调节处理);
(N-4)控制表格保存处理;
(N-5)更新管理处理;及
(N-6)预先的刷新处理。
(N-1)电池监视处理
执行电池监视处理以规律(或不规律)地检查电池124的充电率。如上所述,通过硬件处理或软件处理来执行电池监视处理。
通过C-MP 122执行硬件处理。C-MP 122在寄存器中设置指示检查到的电池充电率的信息。通过电池监视PG 3712读取在C-MP 122的寄存器中设置的电池充电率信息,并在易失性存储器121中存储该电池充电率信息作为监视到的充电率信息1301(见图13)。
由电池监视PG 3712执行软件处理。具体地,例如,电池监视PG 3712执行下面的处理(26-A)到(26-C)。
(26-A)基于电池124的已知充电特性计算从电池124的当前充电率到将电池124充满所需要的时间长度(下文称为时间长度T),并基于时间长度T和从存储系统103被激活起经过的时间计算(估算)电池124的充电率。
(26-B)当检测到电能中断时,基于在检测到电能中断时的电池124的充电率(通过处理(26-A)计算出的值),并基于电能每次中断的电池消耗量(这是基于电池124的已知消耗特性而限定的),来计算电池124的剩余量(充电率)(或基于在检测到电能中断时电池124的充电率、每单位时间的电池消耗量以及从检测到电能中断起经过的时间来计算电池的剩余量)。
(26-C)当检测到从电能中断恢复时,执行处理(26-A)。
下文中,将参考图26描述由软件执行的电池监视处理的特定示例。当假设用于电能每一次中断的电池消耗量是50%时,电池监视PG 3712执行下面的处理(26-1)到(26-7)。
(26-1)当电池充电率是100%时,发生电能中断1。然后执行处理(26-B)以通过计算查明电池充电率(剩余量)是50%。
(26-2)当电池充电率是50%时,激活存储系统103并执行处理(26-A)。由于从激活起,从50%的充电率到获得100%的充电率所需要的时间(3个小时)已经过去,因此通过计算查明电池充电率是100%。
(26-3)当电池充电率是100%时,发生电能中断2。然后执行处理(26-B)以通过计算查明电池充电率(剩余量)是50%。
(26-4)当电池充电率是50%时,激活存储系统103并执行处理(26-A)。由于从激活起经过1.5小时后发生电能中断3,因此通过计算查明这时的电池充电率是75%(由于50%+25%=75%),该1.5小时是从50%的充电率到获得100%的充电率所需要的时间(3个小时)的一半。
(26-5)当电池充电率是75%时,发生电能中断3。然后执行处理(26-B)以通过计算查明电池充电率(剩余量)是25%。
(26-6)当电池充电率是25%时,激活存储系统103并执行处理(26-A)。由于从激活起经过2小时后发生电能中断4,因此通过计算查明这时的电池充电率是58%(由于(25%+(50%×2/3))近似等于58%)。
(26-7)当电池充电率是58%时,发生电能中断4。然后执行处理(26-B)以通过计算查明电池充电率(剩余量)是8%。
如上所述,由于通过软件执行电池监视处理,因此即使不支持由硬件执行电池监视处理或即使在C-MP 122中发生故障,也可以检查电池充电率。
(N-2)根据电池充电率的保存对象控制处理
在根据电池充电率的保存对象控制处理中,根据检查出的电池充电率控制保存对象。如图35所示,每当检测电池充电率时,保存对象控制PG 3717根据电池充电率执行保存对象控制处理。
具体地,保存对象控制PG 3717执行充电率比较处理,该处理将检查出的电池充电率(由最近的监视的充电率信息1301指示的电池充电率)与在先前时间检查出的电池充电率相比较。
作为充电率比较处理的结果,当检查出的电池充电率落入与在先前时间检查出的电池充电率相同的电池充电率范围中时(S3501:否,S3504:否),不执行步骤S3502、S3503、S3505和S3506中的处理。
作为充电率比较处理的结果,当检查出的电池充电率小于在先前时间检查出的电池充电率时,具体地,当检查出的电池充电率所落入的电池充电率范围小于在先前时间检查出的电池充电率所落入的电池充电率范围时(S3501:否,S3504:是),保存对象控制PG 3717在步骤S3503中执行下面的处理。
(3505-1)当易失性存储器121中的脏数据的总数量超过与检查出的电池充电率所落入的电池充电率范围对应的脏数据量(指定的脏数据量)时,在任意HDD 115中存储脏数据(换句话说,减少脏数据的总数量),使得脏数据的总数量变得等于或小于所指定的脏数据量。此外,因此更新所监视的脏数据量信息1401(见图14)。
(3505-2)当要保存的控制信息元素的总数量超过与检查出的电池充电率所落入的电池充电率范围对应的控制信息数量(下文称为指定的信息数量)时,使更多的控制表格(具体地,每一个记录了“必需”作为保存必需信息并记录了“低”作为保存重要度信息的更多的控制表格)成为非保存对象,使得要被保存的控制信息元素的总数量变得等于或小于指定的信息数量,并且在表格管理信息1001(见图10)中设置指示了当前时间的信息作为与每一个非保存对象控制表格对应的保存时间信息。
因此,在后面要执行的恢复处理中,由于由所恢复的典型的保存时间信息1501指示的时间与对应于每一个非保存对象控制表格的保存时间不匹配,因此可以判断所恢复的控制表格与在电能中断发生时没有保存的控制表格相同。
然后,在步骤S3506,保存对象控制PG 3717从地址管理信息1701(见图10)删除下面的地址集合(3506-1)和(3506-2)。
(3506-1)指示了已经存储了在处理(3505-1)中在任意HDD 115中存储的脏数据的区域(易失性存储器121中的区域)的地址范围的地址集合。
(3506-2)指示了存储在处理(3505-2)中作为非保存对象的控制表格的区域(易失性存储器121中的区域)的地址范围的地址集合。
作为结果,如图36所示减少要在电能中断发生时保存的控制信息元素的总数量。
作为充电率比较处理的结果,当检查出的电池充电率大于在先前时间检查出的电池充电率时,具体地,当检查出的电池充电率所落入的电池充电率范围大于在先前时间检查出的电池充电率所落入的电池充电率范围时(S3501:是),保存对象控制PG 3717执行下面的步骤S3502中的处理。具体地,只要要被保存的控制信息元素的总数量不超过与检查出的电池充电率所落入的电池充电率范围对应的控制信息数量(指定的信息数量),保存对象控制PG 3717就使更多的控制表格(具体地,每一个记录了“必需”作为保存必需信息并记录了“低”作为保存重要度信息的更多的控制表格)成为保存对象。此外,保存对象控制PG 3717将指示了表格管理信息1001(见图10)中的典型的保存时间信息的信息设置为与每一个保存对象控制表格对应的保存时间信息。因此,在后面要执行的恢复处理中,由于由所恢复的典型的保存时间信息1501指示的时间与对应于每一个保存对象控制表格的保存时间匹配,因此可以判断所恢复的控制表格与在电能中断发生时所保存的控制表格相同。
然后,在步骤S3503中,保存对象控制PG 3717将指示了存储作为保存对象的控制表格的区域(易失性存储器121中的区域)的地址范围的地址集合添加到地址管理信息1710(见图17)中。作为结果,如图36所示增加要在电能中断发生时保存的控制信息元素的总数量。
在根据电池充电率的保存对象控制处理中,可以从地址管理信息1710中指定的地址集合中识别保存对象脏数据的总数量和保存对象控制信息元素的总数量。因此,例如,在步骤S3505中,可以确定是否通过将记录了“低”作为保存重要度信息的控制表格从保存对象改变为非保存对象来使保存对象控制信息元素的总数量等于或小于指定的信息数量。
根据依据电池充电率的保存对象控制处理,基于电池充电率控制保存对象的总数量。因此,可以防止由如图24所示的频繁的电能中断而耗尽剩余的电池充电量。具体地,例如,如图25所示,当电池充电率低时,控制保存对象总数量为低,使得保存处理需要短的时间。作为结果,降低了每一次电能中断要消耗的电池充电率。因此,与图24所示的示例不同,如图25所示可以防止剩余的电池充电量被耗尽。
(N-3)读处理/写处理(脏数据量调节处理)
以上已经参考图5和图6分别描述了读处理和写处理。
在写处理中,临时增加易失性存储器121中的脏数据的数量。因此,I/O控制PG 3711执行图28所示的脏数据量调节处理。
当接收到写命令时,I/O控制PG 3711从脏数据量管理信息1101中检查与由监视到的充电率信息1301指示的充电率对应的脏数据量(下文中,在参考图28给出的描述中称为“上限脏数据量”),并检查由监视到的脏数据量信息1401指示的脏数据量(下文中,在参考图28给出的描述中称为“当前脏数据量”)(S2801)。
当写对象数据的信息数量和当前脏数据量的总和不超过上限脏数据量时(S2802:是),I/O控制PG 3711根据由图27所示的实箭头线指示的正常写模式执行处理。具体地,I/O控制PG 3711将写对象数据写到易失性存储器121(S2803),并将指示了写完成的响应返回到主机101。在该情况下,I/O控制PG 3711在主数据管理信息1701中设置“脏”作为与存储了写对象数据的槽对应的槽状态。
另一方面,当写对象数据的信息数量和当前脏数据量的总和超过上限脏数据量时(S2802:否),I/O控制PG 3711根据由图27所示的虚箭头线指示的直写模式执行处理。具体地,I/O控制PG 3711在易失性存储器121中临时存储写对象数据,在对应的HDD 115中存储写对象数据(S2804),并将指示了写完成的响应返回到主机101。在该情况下,I/O控制PG 3711在主数据管理信息1701中设置“清洁”作为与存储了写对象数据的槽对应的槽状态。
通过脏数据量调节处理,可以防止易失性存储器121中的脏数据的总数量超过能够在电能中断阶段中保存的脏数据的数量。
(N-4)控制表格保存处理
如图30所示,保存对象控制PG 3717规律地检查与每一个控制表格对应的更新计数值(S3001、S3002)。
保存对象控制PG 3717在非易失性存储器123中保存即使在检查更新计数值预定次数之后其更新计数值还没有改变的控制表格,将与该控制表格对应的保存完成信息更新为指示控制表格已经被保存的“0”,并从地址管理信息1710中删除与该控制表格对应的地址集合(S3003)。
根据控制表格保存处理,例如,如图29所示,在预定时间段内已经被更新的控制表格“C1”,即,时常被更新的控制表格“C1”,没有被保存到非易失性存储器123,反之,在预定时间段内还没有被更新的控制表格,即,不常被更新的控制表格“C2”,在计划的停机时间阶段中或在电能中断阶段中执行保存处理之前被预先存储在非易失性存储器123中,并作为非保存对象(从地址管理信息1710中删除与存储了控制表格“C2”的区域对应的地址集合)。作为结果,可以减少在计划的停机时间阶段中和在电能中断阶段中执行的保存处理所需要的时间。
(N-5)更新管理处理
当特定事件发生时(例如,当数据从一个逻辑卷迁移到另一逻辑卷时,或当卷对的状态改变时),可以更新至少一个控制表格。在该情况下,如图32所示,当被更新的控制表格(下文中,在参考图32给出的描述中称为“对象控制表格”)是记录了“必需”作为保存必需信息的控制表格时(S3201:是),控制信息管理PG 3714在步骤S3202中执行下面的处理(3202-1)到(3202-4)。
(3202-1)将与对象控制表格对应的更新与否信息(表格管理信息1001中的更新与否信息)设置为“已更新”。
(3202-2)将与该对象控制表格对应的更新计数值增加1。
(3202-3)将与该对象控制表格对应的保存完成信息更新为具有“1”,这指示该对象控制表格没有被保存。
(3202-4)将与存储了对象控制表格的区域对应的地址集合添加到地址管理信息1710。
根据更新管理处理,在多个控制表格中,仅使在激活存储系统103之后已经被更新的控制表格成为保存对象。具体地,例如,在激活存储系统103之后,地址管理信息1710仅包括与预定的保存对象对应的地址集合。因此,例如,如图31所示,当存储系统103进入计划的停机时间阶段或电能中断阶段同时控制表格“C3”没有被更新时,控制表格“C3”在计划的停机时间阶段中或在电能中断阶段中是非保存对象。另一方面,已经被更新的控制表格“C4”在计划的停机时间阶段中或在电能中断阶段中是保存对象。
(N-6)预先的刷新处理
如上所述,当特定事件发生时,可以更新至少一个控制表格。在该情况下,如图34所示,当被更新的控制表格(下文中,在参考图34给出的描述中称为“对象控制表格”)是记录了“必需”作为保存必需信息的控制表格时(S3401:是),刷新PG 3715对与存储了该控制表格的区域对应的非易失性存储器(闪速存储器)123中的区域应用刷新处理,具体地,该刷新处理是删除处理。例如,当使用包括各个具有多个物理页的多个物理块的NAND闪速存储器时,对每一个物理页应用写处理或读处理,同时,对每一个物理块应用刷新处理(删除处理)。
通过预先的刷新处理,可以期望减少保存处理所需要的时间。下面将给出具体描述。
具体地,为了改写闪速存储器的区域中的信息,需要对该区域应用一次刷新处理。然而,在保存处理时应用刷新处理增加了保存处理所需要的时间。
如图33所示,保存对象之一是已经被更新的控制表格“C6”。
在本实施例中,在执行保存处理之前,预先对与已更新的控制表格“C6”对应的非易失性存储器123的区域应用刷新处理。因此,在保存已更新的控制表格时不需要应用刷新处理,使得可以期望减少保存处理所需要的时间。
注意,除了与已更新的控制表格对应的区域,对于要被保存的控制信息元素的保存目的区域即使该区域没有被更新,也可以应用预先的刷新处理。
虽然以上已经描述了本发明的优选实施例,但是本发明不限于该实施例,并且在不脱离本发明的范围的情况下可以进行各种修改。例如,代替地址集合,可以应用开始地址(或结尾地址)的集合和数据大小。此外,例如,如图38所示,保存对象控制PG 3717可以规律地检查表格管理信息1001(S3801),并从地址管理信息1710中删除与存储了已经被保存但还没有被更新的控制表格的区域对应的地址集合(S3802)。换句话说,在计划的停机时间阶段和电能中断阶段之前,可以预先使已经被保存但还没有被更新的控制表格成为非保存对象。

Claims (12)

1.一种存储系统,从外部设备(101)接收输入/输出I/O命令,所述存储系统包括:
多个存储设备(115);
用作次级电源的电池(124);
易失性存储器(121),用于存储脏数据量管理信息(1101)、所述电池的监视充电率信息(1301)以及表示现在的脏数据量的监视脏数据量信息(1401),其中所述脏数据量管理信息(1101)表示脏数据量和所述电池的充电率的对应性,所述脏数据量是还没有被写入到所述多个存储设备中的任何一个存储设备中的脏数据中的能够被保存的脏数据的总数量;
非易失性存储器(123);
I/O控制单元(3711),用于执行下面的处理(A)到(D):
(A)当所述I/O命令是写命令时,在接收到所述写命令之后,基于所述写命令、所述脏数据量管理信息、所述监视充电率信息及监视脏数据量信息,确定由写命令所指定的数据的信息量和易失性存储器中的脏数据量的总和是否超过由脏数据量管理信息指示的电池充电率所对应的脏数据量的上限,
(B)当所述(A)中的确定结果是否定时,在易失性存储器中临时存储由写命令指定的数据作为脏数据,
(C)当所述(A)中的确定结果是肯定时,在易失性存储器中存储由写命令指定的数据作为清洁数据,并将该数据写入所述多个存储设备中的至少一个存储设备中,
(D)当所述I/O命令是读命令时,从所述多个存储设备中的至少一个存储设备中读取由读命令指定的数据,在所述易失性存储器中临时存储该数据,从易失性存储器中读取该数据,并将该数据发送到所述外部设备,
保存单元(122),用于当停止从主电源(117)对所述易失性存储器供给电能时,通过使用从电池供给的电能将在存储于易失性存储器中的信息元素中所包括的、作为保存目标的对象信息元素保存到所述非易失性存储器;及
电池监视单元(3712、122),用于监视电池的充电率,并在监视充电率信息中反映检测到的充电率。
2.根据权利要求1所述的存储系统,进一步包括保存对象控制单元(3717),保存对象控制单元(3717)根据检测到的充电率进行控制以确定所述易失性存储器中存储的哪些信息元素作为保存对象,其中:
在所述易失性存储器中存储的信息元素包括I/O数据和控制信息元素;
所述I/O数据是在易失性存储器中存储的信息元素之一,并且响应于从所述外部设备接收到的I/O命令被写入或读取;
所述I/O数据或是已经被写入所述多个存储设备中的任意一个存储设备中的清洁数据,或是所述脏数据;
控制信息元素包括控制表格(901、902、903)、表格管理信息(1001)、所述脏数据量管理信息以及控制数量管理信息(1201);
各个控制表格包括预定类型的子信息元素;
表格管理信息包括下面的子信息元素(A)到(D)作为与各个控制表格相关的子信息元素:
(A)重要度信息,其是表示控制表格的重要度的子信息元素;
(B)更新与否信息,其是表示控制表格是否已经被更新的子信息元素;
(C)保存完成信息,其是表示控制表格是否已经保存的子信息元素;及
(D)表格大小信息,其是表示控制表格的大小的子信息元素;
控制数量管理信息表示对应于充电率能够被保存的控制数量,控制数量表示能够被保存的控制信息的信息数量;
当微处理器执行预定的计算机程序时,所述电池监视单元基于开始从主电源供给电能后经过的时间并基于每单位时间的充电率来检查充电率;
当检查出的充电率比在前一个时刻检查出的充电率差时,所述保存对象控制单元执行下面的处理:
(2-1)从脏数据量管理信息中检查与所述检查出的充电率相对应的脏数据量,并在所述多个存储设备中的任意存储设备中存储在所述易失性存储器中存储的至少一条脏数据,使得在所述易失性存储器中存储的脏数据的总数量变得等于或小于所述检查到的脏数据量;及
(2-2)从控制数量管理信息中检查与所述检查出的充电率相对应的控制数量,并且基于在所述表格管理信息中包括的子信息元素(A)和(D),将重要度低于预定重要度的控制表格当做非保存对象,使得作为保存对象的控制信息元素的总数量变得等于或小于所述检查到的控制数量;
所述保存对象控制单元基于子信息元素(B)和(C),将已经被保存但还没有被更新的控制表格当做非保存对象;
所述保存对象至少包括下面的项目(a)到(c):
(a)保留在所述易失性存储器中的各条脏数据;
(b)不是非保存对象的控制表格;及
(c)所述表格管理信息;
当易失性存储器中的脏数据的总数量超过与所述检查出的充电率相对应的脏数据量时,如果由所接收到的写命令指定的写对象数据作为脏数据被保留在易失性存储器中,则所述I/O控制单元以直写模式进行操作,当所述易失性存储器中的脏数据的总数量等于或小于与所述检查出的充电率相对应的脏数据量时,即使由所接收到的写命令指定的写对象数据保留在所述易失性存储器中作为脏数据,所述I/O控制单元也以普通写模式进行操作;
在直写模式中,所述I/O控制单元在所述易失性存储器中临时存储所述写对象数据,并将该写对象数据写入所述多个存储设备中的任意存储设备中以将写对象数据作为清洁数据,并将对所述写命令的响应发送到所述外部设备;及
在普通写模式中,所述I/O控制单元在所述易失性存储器中临时存储所述写对象数据,并在不将该写对象数据写入所述多个存储设备中的任意存储设备的情况下,将对所述写命令的响应发送到所述外部设备。
3.根据权利要求2所述的存储系统,其中:
对于各个控制表格,所述表格管理信息进一步包括下面的子信息元素(E):
(E)更新计数信息,所述更新计数信息是表示控制表格的更新次数的信息;
所述保存对象控制单元执行下面的处理:
(3-1)将被其子信息元素(E)表示为在控制表格在预定的时间段中没有被更新的所述控制表格保存到所述非易失性存储器,将所述控制表格的所述子信息元素(B)更新为具有表示控制表格没有被更新的信息,并对所述控制表格的子信息元素(C)进行更新以使其具有表示控制表格已经被保存的信息;及
(3-2)当在处理(3-1)中保存的控制表格被更新时,将所述控制表格的所述子信息元素(B)更新为具有表示控制表格已经被更新的信息,并对所述控制表格的所述子信息元素(C)进行更新以使其具有表示控制表格还没有被保存的信息。
4.根据权利要求3所述的存储系统,进一步包括恢复单元(3716、122),其中:
所述易失性存储器存储典型保存值和表示脏数据的保存值的I/O保存值;
所述典型保存值和所述I/O保存值分别是保存对象;
对于各个控制表格,所述表格管理信息进一步包括下面的子信息元素(F):
(F)保存值,所述保存值是控制表格的保存值;
在计划的停机时间中,所述保存单元将所述典型保存值更新为具有表示预定值的信息,并将所述易失性存储器中的保存对象保存到所述非易失性存储器;
保存对象控制单元执行下面的处理:
(4-1)当所述检查出的充电率比在前一个时刻检查出的充电率好时,对作为保存对象的控制表格的子信息元素(F)进行更新以使其具有与所述典型保存值同样的信息;及
(4-2)当所述检查出的充电率比在前一个时刻检查出的充电率差时,对作为非保存对象的控制表格的子信息元素(F)进行更新以使其具有与所述典型保存值不同的值;
当在停止从主电源供给电能之后再次从主电源供给电能时,恢复单元在易失性存储器中恢复保存在非易失性存储器中的信息,然后,当所恢复的典型保存值与所恢复的I/O保存值不同时,将所恢复的脏数据处理为易失性的数据,并且当所恢复的典型保存值与所恢复的表格管理信息的子信息元素(F)不同时,将与不同于所恢复的典型保存值的子信息元素(F)相对应的控制表格处理为易失性的表格。
5.根据权利要求4所述的存储系统,其中:
所述非易失性存储器是闪速存储器;及
存储系统进一步包括刷新处理单元(3715),在从主电源供给电能时,当更新作为保存对象控制信息的控制保存对象时,刷新处理单元(3715)对要保存所述控制保存对象的保存目的区域应用刷新处理。
6.根据权利要求1所述的存储系统,进一步包括保存对象控制单元(3717),所述保存对象控制单元(3717)将保存在所述易失性存储器中的至少一条脏数据存储在所述多个存储设备中的任意一个存储设备中,使得在易失性存储器中存储的脏数据的总数量变得等于或小于对应于检查出的充电率能够被保存的信息的数量。
7.根据权利要求1所述的存储系统,进一步包括保存对象控制单元(3717),所述保存对象控制单元(3717)将在易失性存储器中存储的信息元素中的重要度低于预定重要度的信息元素当做非保存对象,使得在易失性存储器中的当前保存对象总数量变得等于或小于对应于检查出的充电率能够被保存的信息的数量。
8.根据权利要求6或7所述的存储系统,其中所述保存对象控制单元将已经被保存但还没有被更新的信息元素当做非保存对象。
9.根据权利要求8所述的存储系统,其中,所述保存对象控制单元将在预定时间段中没有更新的信息元素从所述易失性存储器保存到非易失性存储器。
10.根据权利要求1所述的存储系统,其中:
所述非易失性存储器是闪速存储器;及
存储系统进一步包括刷新处理单元(3715),在从主电源供给电能时,刷新处理单元(3715)对要保存保存对象的保存目的区域应用刷新处理。
11.根据权利要求1所述的存储系统,进一步包括保存对象控制单元(3717),用于根据检查出的充电率进行控制以确定将在易失性存储器中存储的哪些信息元素作为保存对象。
12.根据权利要求1所述的存储系统,进一步包括保存对象控制单元(3713、3717),用于基于与预定信息元素相关的状态,将在所述易失性存储器中存储的多个信息元素中的所述预定信息元素当做保存处理中的非保存对象。
CN200880130374.8A 2008-12-04 2008-12-04 具有易失性存储器和非易失性存储器的存储系统 Active CN102893251B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/003604 WO2010064280A1 (en) 2008-12-04 2008-12-04 Storage system having volatile memory and non-volatile memory

Publications (2)

Publication Number Publication Date
CN102893251A CN102893251A (zh) 2013-01-23
CN102893251B true CN102893251B (zh) 2015-08-12

Family

ID=40810411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880130374.8A Active CN102893251B (zh) 2008-12-04 2008-12-04 具有易失性存储器和非易失性存储器的存储系统

Country Status (5)

Country Link
US (2) US8275930B2 (zh)
EP (1) EP2374054A1 (zh)
JP (1) JP5074601B2 (zh)
CN (1) CN102893251B (zh)
WO (1) WO2010064280A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5454177B2 (ja) * 2010-02-01 2014-03-26 富士通株式会社 ディスクアレイ装置及びディスクアレイ装置制御方法
JP5691311B2 (ja) * 2010-09-06 2015-04-01 富士通株式会社 退避処理装置、退避処理方法および退避処理プログラム
JP5641858B2 (ja) * 2010-10-06 2014-12-17 キヤノン株式会社 印刷装置及びその制御方法、並びにプログラム
JP2013088928A (ja) 2011-10-14 2013-05-13 Hitachi Ltd 計算機及びデータ退避方法
JP5814825B2 (ja) * 2012-02-29 2015-11-17 三菱電機株式会社 記憶装置及び記憶方法
US9223826B2 (en) * 2013-02-25 2015-12-29 Facebook, Inc. Pushing suggested search queries to mobile devices
JP6396671B2 (ja) * 2013-04-26 2018-09-26 株式会社半導体エネルギー研究所 半導体装置
JP6326745B2 (ja) * 2013-09-05 2018-05-23 富士通株式会社 バッテリ制御装置、バッテリ充電容量診断方法およびバッテリ充電容量診断プログラム
WO2015040694A1 (ja) * 2013-09-18 2015-03-26 富士通株式会社 記憶制御装置、記憶制御方法および記憶制御プログラム
JP5953278B2 (ja) * 2013-09-25 2016-07-20 京セラドキュメントソリューションズ株式会社 電子機器
US9064557B2 (en) * 2013-11-21 2015-06-23 Infineon Technologies Ag Systems and methods for non-volatile memory
CN104850511A (zh) * 2014-02-19 2015-08-19 株式会社东芝 磁盘装置以及数据保存方法
US9697097B2 (en) 2014-06-02 2017-07-04 Hitachi, Ltd. Storage system and method for controlling storage system
US9891974B2 (en) 2014-09-10 2018-02-13 Toshiba Memory Corporation Memory system
US9836108B2 (en) 2014-09-10 2017-12-05 Toshiba Memory Corporation Memory system and controller
WO2016092610A1 (ja) * 2014-12-08 2016-06-16 株式会社日立製作所 ストレージ装置及びそのデータバックアップ方法
US20160378352A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Efficient solid state drive data compression scheme and layout
US10528264B2 (en) * 2016-11-04 2020-01-07 Samsung Electronics Co., Ltd. Storage device and data processing system including the same
US10649896B2 (en) * 2016-11-04 2020-05-12 Samsung Electronics Co., Ltd. Storage device and data processing system including the same
TWI645289B (zh) * 2017-10-31 2018-12-21 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體操作方法
US10877693B2 (en) * 2018-06-29 2020-12-29 Intel Corporation Architecture for dynamic transformation of memory configuration
JP7060806B2 (ja) * 2018-08-22 2022-04-27 富士通株式会社 情報処理装置、データ管理方法およびデータ管理プログラム
JP7179794B2 (ja) 2020-03-03 2022-11-29 株式会社東芝 磁気ディスク装置、および磁気ディスク装置のメモリ管理方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0338711A (ja) 1989-07-05 1991-02-19 Hitachi Ltd メモリバックアップ方式
JPH04170625A (ja) 1990-11-05 1992-06-18 Hitachi Ltd ファイル回復処理システム
JP2001075741A (ja) * 1999-09-02 2001-03-23 Toshiba Corp ディスク制御システムおよびデータ保全方法
JP2002099390A (ja) * 2000-09-22 2002-04-05 Toshiba Corp ディスク制御装置
JP4143952B2 (ja) 2001-03-12 2008-09-03 オムロン株式会社 メモリバックアップ方法および装置
JP2003345528A (ja) * 2002-05-22 2003-12-05 Hitachi Ltd 記憶システム
US6957355B2 (en) * 2002-09-18 2005-10-18 Sun Microsystems, Inc. Method and system for dynamically adjusting storage system write cache based on the backup battery level
GB0320142D0 (en) * 2003-08-28 2003-10-01 Ibm Data storage systems
US7380055B2 (en) * 2004-06-21 2008-05-27 Dot Hill Systems Corporation Apparatus and method in a cached raid controller utilizing a solid state backup device for improving data availability time
JP4235920B2 (ja) * 2006-10-06 2009-03-11 コニカミノルタビジネステクノロジーズ株式会社 情報処理装置及びデータ退避方法。
JP4437489B2 (ja) * 2006-10-25 2010-03-24 株式会社日立製作所 揮発性キャッシュメモリと不揮発性メモリとを備えたストレージシステム
JP5026102B2 (ja) * 2007-02-07 2012-09-12 株式会社日立製作所 ストレージ制御装置及びデータ管理方法
JP2008276646A (ja) * 2007-05-02 2008-11-13 Hitachi Ltd ストレージ装置及びストレージ装置におけるデータの管理方法

Also Published As

Publication number Publication date
JP5074601B2 (ja) 2012-11-14
EP2374054A1 (en) 2011-10-12
WO2010064280A1 (en) 2010-06-10
CN102893251A (zh) 2013-01-23
US8751766B2 (en) 2014-06-10
US20130007342A1 (en) 2013-01-03
JP2011524555A (ja) 2011-09-01
US20110225345A1 (en) 2011-09-15
US8275930B2 (en) 2012-09-25

Similar Documents

Publication Publication Date Title
CN102893251B (zh) 具有易失性存储器和非易失性存储器的存储系统
JP5121581B2 (ja) データ重複除外を用いた電力効率的なデータ記憶
US7587427B2 (en) Hierarchical storage system, and control method and program therefor
CN100421080C (zh) 改善资料写入效率的方法以及实施此方法的子系统与系统
US7330931B2 (en) Method and system for accessing auxiliary data in power-efficient high-capacity scalable storage system
CN102667703B (zh) 用于虚拟磁带库系统中的优化回收处理的系统和方法
CN101809534B (zh) 正中心虚拟磁带装置、副中心虚拟磁带装置、虚拟库系统以及虚拟磁带控制方法
CN103392164B (zh) 存储系统和存储控制方法
US10528268B2 (en) System and method for channel time management in solid state memory drives
EP2942713A1 (en) Storage system and storage apparatus
US20180239671A1 (en) Method for Processing Stripe in Storage Device and Storage Device
CN105103234A (zh) 固态驱动器体系结构
WO2007103141A2 (en) Method and apparatus for providing virtual machine backup
US20120078846A1 (en) Systems and methods of managing virtual storage resources
US20110145528A1 (en) Storage apparatus and its control method
CN104166606A (zh) 文件备份方法和主存储设备
WO2013084257A1 (en) Storage subsystem and method thereof for executing on-line verification
US20060112221A1 (en) Method and Related Apparatus for Data Migration Utilizing Disk Arrays
US9760292B2 (en) Storage system and storage control method
CN103019623B (zh) 存储盘处理方法及装置
CN103064792A (zh) 数据写入方法及装置
CN103092765B (zh) 固态存储系统、装置及数据写入方法
WO2002037255A2 (en) System and method to coordinate data storage device management operations in a data storage subsystem
CN105528180B (zh) 一种数据存储方法、装置及设备
CN102622315A (zh) 一种磁盘访问控制方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant