專利名稱:具有易失性存儲(chǔ)器和非易失性存儲(chǔ)器的存儲(chǔ)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及具有易失性存儲(chǔ)器和非易失性存儲(chǔ)器的存儲(chǔ)系統(tǒng)的控制。
背景技術(shù):
·
作為該種存儲(chǔ)系統(tǒng),例如,已知在專利引用I中揭示的存儲(chǔ)系統(tǒng)。根據(jù)專利引用1,在存儲(chǔ)系統(tǒng)中,當(dāng)停止主電源對(duì)易失性高速緩沖存儲(chǔ)器的電能供給時(shí),電池對(duì)該易失性高速緩沖存儲(chǔ)器供給電能,并且同時(shí),將在該易失性高速緩沖存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)復(fù)制到非易失性存儲(chǔ)器。專利引用I :日本專利申請(qǐng)公開(kāi)No. 2008-10802
發(fā)明內(nèi)容
技術(shù)問(wèn)題當(dāng)停止主電源對(duì)易失性存儲(chǔ)器的電能供給時(shí)(換句話說(shuō),當(dāng)電能中斷發(fā)生時(shí)),電池開(kāi)始供給電能。當(dāng)重新開(kāi)始主電源的電能供給時(shí),電池停止供給電能并且被再次充電。然而,當(dāng)在主電源中再次發(fā)生電能中斷時(shí),即使在電池被充分充電之前(即使在充電率到達(dá)100%之前),電池也開(kāi)始供給電能。換句話說(shuō),如果在主電源中頻繁地發(fā)生電能中斷,則通過(guò)從未充分充電的電池供給的電能執(zhí)行從易失性存儲(chǔ)器到非易失性存儲(chǔ)器的信息保存處理。因此,在保存易失性存儲(chǔ)器中存儲(chǔ)的保存對(duì)象之前,電池的剩余數(shù)量可能被耗盡。如果使非易失性存儲(chǔ)器具有大容量,則可以期望保存大量信息。然而,在該情況下,由于從易失性存儲(chǔ)器保存到非易失性存儲(chǔ)器的信息量變得很大,從而需要用于保存處理的很長(zhǎng)的時(shí)間。因此,本發(fā)明的第一目的是允許在易失性存儲(chǔ)器中存儲(chǔ)的保存對(duì)象被可靠地保存到非易失性存儲(chǔ)器。本發(fā)明的第二目的是盡可能多地減少保存處理需要的時(shí)間。技術(shù)方案根據(jù)第一方面,規(guī)律地或不規(guī)律地檢查電池的充電狀態(tài),并且根據(jù)檢查到的充電狀態(tài)實(shí)現(xiàn)控制,使得在電能中斷的情況下保存在易失性存儲(chǔ)器中存儲(chǔ)的信息元素。具體地,例如,控制在易失性存儲(chǔ)器中存儲(chǔ)的臟數(shù)據(jù)(dirty data)(下文將描述)的總數(shù)量。根據(jù)第二方面,在易失性存儲(chǔ)器中存儲(chǔ)的多個(gè)信息元素中,根據(jù)與特定信息元素相關(guān)的狀態(tài)使特定信息元素成為保存處理的非保存對(duì)象。具體地,例如,當(dāng)更新頻率低時(shí),保存特定信息元素。由于特定信息元素已經(jīng)被保存,因此如果不重新更新特定信息元素,則當(dāng)執(zhí)行保存處理時(shí)不保存特定信息元素。此外,當(dāng)重要度低時(shí),不保存特定信息元素。
[圖I]圖I示出根據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)的示例配置。[圖2]圖2示出存儲(chǔ)系統(tǒng)103中的數(shù)據(jù)和控制信號(hào)的示例流程。
[圖3]圖3示出電源模塊117和電池124怎樣供給電能。[圖4]圖4是在CM-PK116中執(zhí)行的處理的解釋性示意圖。[圖5]圖5示出當(dāng)從主機(jī)101接收到讀命令時(shí)在存儲(chǔ)系統(tǒng)103中執(zhí)行的處理的流程。[圖6]圖6示出當(dāng)從主機(jī)101接收到寫命令時(shí)在存儲(chǔ)系統(tǒng)103中執(zhí)行的處理的流
程。 [圖7]圖7示出在計(jì)劃的停機(jī)時(shí)間階段中執(zhí)行的保存處理的概觀圖。[圖8]圖8示出易失性存儲(chǔ)器121的示例配置。[圖9]圖9示出示例控制表格。[圖10]圖10示出表格管理信息的結(jié)構(gòu)。[圖11]圖11示出臟數(shù)據(jù)量管理信息的結(jié)構(gòu)。[圖12]圖12示出控制數(shù)量管理信息的結(jié)構(gòu)。[圖13]圖13示出所監(jiān)視的充電率信息。[圖14]圖14示出所監(jiān)視的臟數(shù)據(jù)量信息。[圖15]圖15A示出典型的保存時(shí)間信息。圖15B示出主數(shù)據(jù)保存時(shí)間信息。[圖16]圖16示出主數(shù)據(jù)(hostdata)管理信息。[圖17]圖17示出地址管理信息。[圖18]圖18示出臟數(shù)據(jù)保存處理的流程。[圖19]圖19示出控制保存處理的流程。[圖20]圖20示出在電能中斷階段中執(zhí)行的保存處理的概觀圖。[圖21]圖21示出在電能中斷階段中執(zhí)行的保存處理的流程。[圖22]圖22示出在恢復(fù)階段中執(zhí)行的恢復(fù)處理的概觀圖。[圖23]圖23示出在恢復(fù)階段中執(zhí)行的恢復(fù)處理的流程。[圖24]圖24示出當(dāng)不執(zhí)行根據(jù)電池充電狀態(tài)的保存對(duì)象控制處理時(shí)造成的問(wèn)題。[圖25]圖25示出當(dāng)執(zhí)行根據(jù)電池充電狀態(tài)的保存對(duì)象控制處理時(shí)獲得的示例效
果O[圖26]圖26是示出由軟件執(zhí)行的電池監(jiān)視處理的特定示例的解釋性示意圖。[圖27]圖27示出臟數(shù)據(jù)量調(diào)節(jié)處理的概觀圖。[圖28]圖28示出臟數(shù)據(jù)量調(diào)節(jié)處理的流程。[圖29]圖29示出控制表格保存處理的概觀圖。[圖30]圖30示出控制表格保存處理的流程。[圖31]圖31示出更新管理處理的概觀圖。[圖32]圖32示出更新管理處理的流程。[圖33]圖33示出將已經(jīng)被更新的控制表格改寫到非易失性存儲(chǔ)器。[圖34]圖34示出預(yù)先的刷新處理的流程。[圖35]圖35示出根據(jù)電池充電率的保存對(duì)象控制處理的流程。[圖36]圖36示出通過(guò)根據(jù)電池充電率的保存對(duì)象控制處理調(diào)節(jié)保存對(duì)象總數(shù)量。
[圖37]圖37示出MP-PK的配置。[圖38]圖38示出使已經(jīng)被保存而還沒(méi)有被更新的控制表格成為非保存對(duì)象的處理的流程。附圖標(biāo)記說(shuō)明103存儲(chǔ)系統(tǒng)
具體實(shí)施例方式下面,將參考附圖描述本發(fā)明的實(shí)施例。圖I示出根據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)的示例配置。
經(jīng)由存儲(chǔ)局域網(wǎng)(SAN) 102將存儲(chǔ)系統(tǒng)103連接到一個(gè)或多個(gè)主機(jī)101。代替SAN102,可以使用例如局域網(wǎng)(LAN)等其它類型的通信網(wǎng)絡(luò)。主機(jī)101是包括例如中央處理單元(CPU)和存儲(chǔ)器等信息處理資源的計(jì)算機(jī)。例如,主機(jī)101是是個(gè)人計(jì)算機(jī)、工作站或大型計(jì)算機(jī)。存儲(chǔ)系統(tǒng)103包括控制器、存儲(chǔ)設(shè)備組及電源模型117。通過(guò)從民用電源供給的電能,電源模型117對(duì)每一個(gè)部件供給電能。例如,存儲(chǔ)設(shè)備組包括多個(gè)硬盤驅(qū)動(dòng)(HDD) 115。構(gòu)成獨(dú)立(廉價(jià))磁盤冗余陣列(RAID)組的兩個(gè)或多個(gè)HDD115形成一個(gè)或多個(gè)邏輯卷。代替HDD115,可以使用例如閃速存儲(chǔ)器等其它類型的物理存儲(chǔ)設(shè)備??刂破靼ǘ喾N類型的包(下文中,將包縮寫為“PK”),具體地,CHA-PK111、MP-PK112,Sff-PK 113,CM-PK 113及DKA-PKl 14。例如,這些包是電路板。每種類型的包的數(shù)目不限于一個(gè),而是可以為兩個(gè)或更多個(gè)。例如,CHA-PK 111的數(shù)目和DKA-PK114的數(shù)目中的每一個(gè)是兩個(gè)或更多個(gè)。CHA-PK 111是控制與主機(jī)101的通信的接口設(shè)備。CHA-PK 111從主機(jī)101接收I/O命令(例如寫命令或讀命令)并執(zhí)行與主機(jī)101的數(shù)據(jù)交換。MP-PK 112控制存儲(chǔ)系統(tǒng)103的操作。將SW-PK 113 連接到 CHA-PK111、MP-PK 112、CM-PK 116 及 DKA-PK114,并對(duì)這些PK中的通信進(jìn)行中繼。CM-PK 116是用作高速緩沖存儲(chǔ)器的包,臨時(shí)存儲(chǔ)響應(yīng)于從主機(jī)101接收的寫命令要被寫到對(duì)應(yīng)的HDD 115的寫對(duì)象數(shù)據(jù)和響應(yīng)于從主機(jī)101接收的讀命令從對(duì)應(yīng)的HDD115讀取的讀對(duì)象數(shù)據(jù)。CM-PK 116包括易失性存儲(chǔ)器121、非易失性存儲(chǔ)器123、電池124及C-MP 122。易失性存儲(chǔ)器121用作高速緩沖存儲(chǔ)器。非易失性存儲(chǔ)器123用作在易失性存儲(chǔ)器121中存儲(chǔ)的信息的保存目的地。例如,非易失性存儲(chǔ)器123是例如固態(tài)設(shè)備(SSD)等具有閃速存儲(chǔ)器的設(shè)備。C-MP 122是在CM-PK 116中提供的微處理器。雖然如下文所描述的對(duì)MP-PK 112也提供微處理器,但是在C-MP 122中提供的微處理器可以具有比在MP-PK 112中提供的微處理器更低的性能。在本實(shí)施例中,在CM-PKl 16中提供的微處理器被稱為“C-MP”,在MP-PK 112中提供的微處理器被稱為“M-MP”。DKA-PK 114是控制與HDD 115的通信的接口設(shè)備。圖2示出存儲(chǔ)系統(tǒng)103中的數(shù)據(jù)和控制信號(hào)的示例流程。由CHA-PKl 11接收從主機(jī)101發(fā)送的I/O命令。經(jīng)由SW-PK在CHA-PK
IlUMP-PK 112及DKA-PK 114中交換數(shù)據(jù)。此外,在易失性存儲(chǔ)器121和非易失性存儲(chǔ)器123之間交換數(shù)據(jù)?;趶腃-MP 122發(fā)送的控制信號(hào)執(zhí)行將數(shù)據(jù)從易失性存儲(chǔ)器121保存到非易失性存儲(chǔ)器123以及將數(shù)據(jù)從非易失性存儲(chǔ)器123恢復(fù)到易失性存儲(chǔ)器121。圖3示出電源模塊117和電池124怎樣供給電能。如實(shí)箭頭線所指示的,通過(guò)來(lái)自民用電源的電能,電源模塊117將電能供給存儲(chǔ)系統(tǒng)中包括的部件,具體地,供給 CHA-PK 111、MP-PK112、SW-PK113、DKA-PK 114、HDD 115及CM-PK 116 (具體地,例如CM-PK116中包括的部件121、122、123及124)。通過(guò)從電源模 塊117供給的電能對(duì)電池124充電。當(dāng)由于電能斷供、出現(xiàn)故障等停止從電源模塊117供給的電能(即,發(fā)生電能中斷)時(shí),如虛箭頭線所指示的,電池124對(duì)CM-PK 116中包括的其它部件121、122及123供給電能。圖4是在CM-PK116中執(zhí)行的處理的解釋性示意圖。易失性存儲(chǔ)器121中存儲(chǔ)的信息元素的示例包括主數(shù)據(jù)和控制信息元素。主數(shù)據(jù)是響應(yīng)于從主機(jī)101接收的寫命令而寫入對(duì)應(yīng)的HDD115的數(shù)據(jù)和響應(yīng)于從主機(jī)101接收的讀命令而從對(duì)應(yīng)的HDD 115讀取的數(shù)據(jù)??刂菩畔⒃厝缦挛乃鲇蒑-MP參考并且用于控制存儲(chǔ)系統(tǒng)103。將易失性存儲(chǔ)器121中存儲(chǔ)的主數(shù)據(jù)(準(zhǔn)確地,下文將描述的臟數(shù)據(jù))和控制信息元素保存到非易失性存儲(chǔ)器123。C-MP 122具有下面的功能(4-1)和(4-2)。(4-1)將在由特定地址集合指示的區(qū)域(與從開(kāi)始地址到結(jié)尾地址的范圍相對(duì)應(yīng)的區(qū)域)中存儲(chǔ)的信息元素從易失性存儲(chǔ)器121保存到非易失性存儲(chǔ)器123的功能。(4-2)將信息元素從非易失性存儲(chǔ)器123恢復(fù)到易失性存儲(chǔ)器121的功能。在非易失性存儲(chǔ)器123中存儲(chǔ)的所有信息元素可以被恢復(fù),或在由特定地址集合指示的區(qū)域(與從開(kāi)始地址到結(jié)尾地址的范圍相對(duì)應(yīng)的區(qū)域)中存儲(chǔ)的信息元素可以被恢復(fù)。如果沒(méi)能將信息元素從易失性存儲(chǔ)器121保存到非易失性存儲(chǔ)器123,則C-MP 122將指示保存失敗的信息存儲(chǔ)在非易失性存儲(chǔ)器123中。本實(shí)施例中使用的“地址集合”表示一組開(kāi)始地址和結(jié)尾地址。在C-MP122的寄存器中(和/或在易失性存儲(chǔ)器121中)指定地址集合。在寄存器(和/或易失性存儲(chǔ)器121)中,可以積累一個(gè)或多個(gè)地址集合。將在寄存器(和/或易失性存儲(chǔ)器121)中指定的地址從C-MP 122 (和/或易失性存儲(chǔ)器121)寫入到非易失性存儲(chǔ)器123。因此,即使出現(xiàn)電能中斷,也在非易失性存儲(chǔ)器123中保持地址集合。在本實(shí)施例中,分配給易失性存儲(chǔ)器121的地址和分配給非易失性存儲(chǔ)器123的地址以一對(duì)一的方式互相對(duì)應(yīng)。因此,在本實(shí)施例中,例如,當(dāng)在保存處理中和恢復(fù)處理中指定指示了某個(gè)地址范圍的地址集合時(shí),將信息從對(duì)應(yīng)于該地址范圍的存儲(chǔ)器121和123中的一個(gè)存儲(chǔ)器中的區(qū)域傳送到對(duì)應(yīng)于該地址范圍的存儲(chǔ)器121和123中的另一個(gè)存儲(chǔ)器中的區(qū)域。然而,代替該種地址管理方法,可以使用其它地址管理方法,在其它地址管理方法中,例如,如果非易失性存儲(chǔ)器和易失性存儲(chǔ)器的存儲(chǔ)容量不同,則準(zhǔn)備用于管理非易失性存儲(chǔ)器的地址和易失性存儲(chǔ)器的地址之間的對(duì)應(yīng)性的管理信息,并基于該管理信息執(zhí)行保存處理和恢復(fù)處理。
圖37示出MP-PK112的示例配置。例如,MP-PK 112包括M-MP 3701和本地存儲(chǔ)器3702。例如,本地存儲(chǔ)器3702存儲(chǔ)I/O控制PG 3711、電池監(jiān)視PG 3712、保存PG 3713、控制信息管理PG 3714、刷新PG 3715、恢復(fù)PG 3716及保存對(duì)象控制PG 3717,作為要由M-MP 3701執(zhí)行的計(jì)算機(jī)程序(下文中,將計(jì)算機(jī)程序縮寫為“PG”)。下文描述每一個(gè) PG。注意,為了容易解釋,可以以被用作主體的PG描述處理,但是由運(yùn)行PG的M-MP 122執(zhí)行該處理。圖5示出當(dāng)從主機(jī)101接收到讀命令時(shí)在存儲(chǔ)系統(tǒng)103中執(zhí)行的處理的流程。每個(gè)虛箭頭線指示命令或指令的流程,每個(gè)實(shí)線箭頭指示主數(shù)據(jù)的流程(同樣適用于圖6)。當(dāng)CHA-PK 111從主機(jī)101接收到讀命令時(shí),將該讀命令發(fā)送到MP-PK112。當(dāng)在易失性存儲(chǔ)器121中存在讀對(duì)象主數(shù)據(jù)時(shí),MP-PKl 12的I/O控制PG 3711從易失性存儲(chǔ)器121讀取主數(shù)據(jù)并經(jīng)由CHA-PK 111將該主數(shù)據(jù)發(fā)送到主機(jī)101。當(dāng)在易失性存儲(chǔ)器121中不存在讀對(duì)象主數(shù)據(jù)時(shí),基于由所接收到的讀命令指定的讀資源邏輯卷(例如,端口號(hào)和邏輯單元號(hào)(LUN))、讀資源地址(例如,邏輯塊地址(LBA))等,MP-PK 112的I/O控制PG 3711將用于將讀對(duì)象主數(shù)據(jù)“C”發(fā)送到易失性存儲(chǔ)器121的讀指令發(fā)送到DKA-PK 114。響應(yīng)于讀指令,DKA-PK 114從通過(guò)讀指令識(shí)別的HDD115中讀取讀對(duì)象主數(shù)據(jù)“C”,在易失性存儲(chǔ)器121中存儲(chǔ)主數(shù)據(jù)“C”,并對(duì)MP-PK 112通知讀取完成。當(dāng)接收到讀取完成的通知時(shí),MP-PK 112的I/O控制PG 3711從易失性存儲(chǔ)器121讀取主數(shù)據(jù)“C”并經(jīng)由CHA-PK111將主數(shù)據(jù)“C”發(fā)送到主機(jī)101。圖6示出當(dāng)從主機(jī)101接收到寫命令時(shí)在存儲(chǔ)系統(tǒng)103中執(zhí)行的處理的流程。當(dāng)CHA-PK 111從主機(jī)101接收到寫命令時(shí),將該寫命令發(fā)送到MP-PK112。MP-PK112的I/O控制PG 3711將由該寫命令指定的寫對(duì)象主數(shù)據(jù)“D”寫入易失性存儲(chǔ)器121。然后,基于由接收到的寫命令指定的寫目的卷、寫目的地址等,MP-PK 112的I/O控制PG 3711將用于將主數(shù)據(jù)“D”寫入對(duì)應(yīng)的HDD115的寫指令發(fā)送到DKA-PK 114。響應(yīng)于該寫指令,DKA-PK 114從易失性存儲(chǔ)器121讀取主數(shù)據(jù)“D”并將主數(shù)據(jù)“D”存儲(chǔ)到對(duì)應(yīng)的HDD 115。圖8示出易失性存儲(chǔ)器121的示例配置。易失性存儲(chǔ)器121包括控制信息區(qū)域801和主數(shù)據(jù)區(qū)域803。在控制信息區(qū)域801中存儲(chǔ)上面提到的控制信息,在主數(shù)據(jù)區(qū)域803中存儲(chǔ)主數(shù)據(jù)??刂菩畔⒃氐氖纠ㄏ旅娴男畔⒃?I)各種控制表格;(2)臟數(shù)據(jù)量管理信息;(3)控制數(shù)量管理信息;(4)所監(jiān)視的充電率信息;(5)所監(jiān)視的臟數(shù)據(jù)量信息;(6)典型的保存時(shí)間信息;(7)主數(shù)據(jù)保存時(shí)間信息 '及(8)主數(shù)據(jù)管理信息。下文將描述控制信息元素。圖9示出示例控制表格??刂票砀袷钱?dāng)MP-PK 112執(zhí)行控制時(shí)使用的信息元素。例如,控制表格包括配置表格901、復(fù)制表格902及監(jiān)視表格903。配置表格901保持與存儲(chǔ)系統(tǒng)103的配置相關(guān)的信息(例如,指示了對(duì)用于形成各個(gè)邏輯卷的各個(gè)LUN和HDD分配的邏輯卷的信息)。復(fù)制表格902保持與邏輯卷之間執(zhí)行的復(fù)制相關(guān)的信息(例如,指示了形成對(duì)的邏輯卷和該對(duì)的狀態(tài)的信息)。監(jiān)視表格903保持指示了在存儲(chǔ)系統(tǒng)103中獲得的各種監(jiān)視結(jié)果的信息。對(duì)于每一個(gè)控制表格分配用于識(shí)別控制表格的表格ID。圖10不出表格管理信息的結(jié)構(gòu)。表格管理信息1001是與控制表格相關(guān)的表格保持信息。表格管理信息1001為每一個(gè)控制表格保持子信息元素,例如保存必需信息、保存重要度信息、更新與否信息、更新計(jì)數(shù)值、保存完成信息、表格大小及保存時(shí)間信息等。在下面參考圖10將給出的描述中,某個(gè)控制表格被稱為“對(duì)象控制表格”,并將描述對(duì)象控制表格的子信息元素。保存必需信息是指示了對(duì)象控制表格是否需要被保存到非易失性存儲(chǔ)器123的子信息元素。基于對(duì)象控制表格的類型預(yù)先確定對(duì)象控制表格是否需要被保存。保存重要度信息是指示了對(duì)象控制表格的重要度的子信息元素。在本實(shí)施例中,通過(guò)兩個(gè)值,即“高”(指示了對(duì)象控制表格的保存是重要的值)和“低”(指示了即使不保存對(duì)象控制表格也不會(huì)出現(xiàn)問(wèn)題的值)中的任一個(gè)來(lái)指示重要度。也基于對(duì)象控制表格的類型預(yù)先確定重要度。更新與否信息是指示了在存儲(chǔ)系統(tǒng)103被激活之后或在對(duì)象控制表格被保存之后對(duì)象控制表格是否已經(jīng)被更新的子信息元素。更新計(jì)數(shù)值是指示了對(duì)象控制表格被更新的次數(shù)的子信息元素。保存完成信息是指示了對(duì)象控制表格的保存處理是否已經(jīng)被成功完成的子信息元素。當(dāng)對(duì)象控制表格已經(jīng)被保存時(shí)將保存完成信息設(shè)置為值“0”,并且當(dāng)對(duì)象控制表格沒(méi)有被保存時(shí)將保存完成信息設(shè)置為值“ I ”。表格大小是指示了對(duì)象控制表格的大小(信息數(shù)量)的子信息元素。保存時(shí)間信息是指示了保存對(duì)象控制表格的時(shí)間的子信息元素。圖11示出臟數(shù)據(jù)量管理信息的結(jié)構(gòu)。臟數(shù)據(jù)量管理信息1101是指示了以某個(gè)電池充電率能夠保存的臟數(shù)據(jù)的數(shù)量的控制信息元素。具體地,臟數(shù)據(jù)量管理信息1101保持在電池充電率的每一個(gè)范圍中能夠保存的臟數(shù)據(jù)量?!芭K數(shù)據(jù)量”表示臟數(shù)據(jù)的總數(shù)量。臟數(shù)據(jù)量是當(dāng)將主數(shù)據(jù)區(qū)域803 (見(jiàn)圖8)的存儲(chǔ)容量設(shè)置為100時(shí)計(jì)算出的臟數(shù)據(jù)的總數(shù)量。“臟數(shù)據(jù)”是在易失性存儲(chǔ)器121中存儲(chǔ)而在任意HDD 115中沒(méi)有存儲(chǔ)的主數(shù)據(jù)。另一方面,在易失性存儲(chǔ)器121中存儲(chǔ)并且也在任意HDDl 15中存儲(chǔ)的主數(shù)據(jù)被稱為“清潔數(shù)據(jù)”。圖12示出控制數(shù)量管理信息的結(jié)構(gòu)??刂茢?shù)量管理信息1201是指示了以某個(gè)電池充電率能夠保存的控制信息的數(shù)量的控制信息元素。具體地,控制數(shù)量管理信息1201保持在電池充電率的每一個(gè)范圍中能夠保存的控制信息的數(shù)量。當(dāng)將控制信息區(qū)域801 (見(jiàn)圖8)的存儲(chǔ)容量設(shè)置為100時(shí)計(jì)算出控制信息的數(shù)量。圖13示出所監(jiān)視的充電率信息。所監(jiān)視的充電率信息1301是指示了電池124的充電率的監(jiān)視結(jié)果的控制信息元素。具體地,規(guī)律(或不規(guī)律)地檢查電池124的充電率,并在易失性存儲(chǔ)器121中存儲(chǔ)檢查出的充電率作為所監(jiān)視的充電率信息1301??梢酝ㄟ^(guò)電池監(jiān)視PG 3712和C-MP 122來(lái)監(jiān)視電池124的充電率。換句話說(shuō),可以執(zhí)行軟件監(jiān)視和硬件監(jiān)視。通過(guò)硬件監(jiān)視檢查出的電池充電率被優(yōu)先存儲(chǔ)為所監(jiān)視的充電率信息1301。當(dāng)不執(zhí)行硬件監(jiān)視時(shí),通過(guò)軟件監(jiān)視檢查出的電池充電率被存儲(chǔ)為所監(jiān)視的充電率信息1301。圖14示出所監(jiān)視的臟數(shù)據(jù)量信息。所監(jiān)視的臟數(shù)據(jù)量信息1401是指示出當(dāng)前臟數(shù)據(jù)量的控制信息元素。每當(dāng)臟數(shù)據(jù)的總數(shù)量改變時(shí),例如每當(dāng)在易失性存儲(chǔ)器121中存儲(chǔ)寫對(duì)象數(shù)據(jù)時(shí)或每當(dāng)在任意HDD115中存儲(chǔ)來(lái)自易失性存儲(chǔ)器121的臟數(shù)據(jù)時(shí),就通過(guò)I/O控制PG 3711或保存PG 3713來(lái)更新所監(jiān)視的臟數(shù)據(jù)量信息1401。
·
圖15A示出典型的保存時(shí)間信息。典型的保存時(shí)間信息1501是用作表格管理信息1001 (見(jiàn)圖10)的保存時(shí)間信息和圖15B所示的主數(shù)據(jù)保存時(shí)間信息1601的基礎(chǔ)的控制信息元素。例如,典型的保存時(shí)間信息1501指示了在計(jì)劃的停機(jī)時(shí)間中保存處理的開(kāi)始時(shí)間。圖15B示出主數(shù)據(jù)保存時(shí)間信息。主數(shù)據(jù)保存時(shí)間信息1601是指示了將臟數(shù)據(jù)從易失性存儲(chǔ)器121保存到任意HDD115的時(shí)間的控制信息元素。圖16示出主數(shù)據(jù)管理信息。主數(shù)據(jù)管理信息1701是用于管理在易失性存儲(chǔ)器121的主數(shù)據(jù)區(qū)域803中的每一個(gè)槽(slot)(存儲(chǔ)區(qū)域)中存儲(chǔ)的主數(shù)據(jù)的屬性的控制信息元素。對(duì)于每一個(gè)槽,主數(shù)據(jù)管理信息1701包括例如槽號(hào)和槽狀態(tài)。槽狀態(tài)是指示了在對(duì)應(yīng)槽中存儲(chǔ)的主數(shù)據(jù)是清潔數(shù)據(jù)或臟數(shù)據(jù)的信息。注意,每一個(gè)槽的大小是固定的。因此,可以基于主數(shù)據(jù)區(qū)域803的大小和根據(jù)存儲(chǔ)了臟數(shù)據(jù)的槽的數(shù)目及每一個(gè)槽的大小而獲得的總大小來(lái)計(jì)算出臟數(shù)據(jù)量。圖17示出地址管理信息。地址管理信息1710包括上述的一個(gè)或多個(gè)地址集合(每一個(gè)集合包括開(kāi)始地址和結(jié)尾地址)。地址管理信息1710被存儲(chǔ)在C-MP 122的寄存器中或易失性存儲(chǔ)器121中,并被保存到非易失性存儲(chǔ)器122。在上述的多條信息中,至少表格管理信息1001(見(jiàn)圖10)、典型的保存時(shí)間信息1501(見(jiàn)圖15A)及主數(shù)據(jù)管理信息1701(見(jiàn)圖16)是要在電能中斷階段中執(zhí)行的保存處理的保存對(duì)象。換句話說(shuō),在要在電能中斷階段中執(zhí)行的保存處理的情況下,地址管理信息1710總是包括由表格管理信息1001占用的范圍的開(kāi)始地址和結(jié)尾地址、由典型的保存時(shí)間信息1501占用的范圍的開(kāi)始地址和結(jié)尾地址、由主數(shù)據(jù)管理信息1701占用的范圍的開(kāi)始地址和結(jié)尾地址。下文將給出在下面的四個(gè)階段中的每一個(gè)中在本實(shí)施例中執(zhí)行的處理的描述,四個(gè)階段是計(jì)劃的停機(jī)時(shí)間階段;電能中斷階段;恢復(fù)階段;及正常階段?!从?jì)劃的停機(jī)時(shí)間階段〉圖7示出在計(jì)劃的停機(jī)時(shí)間階段中執(zhí)行的保存處理的概觀圖。與電能中斷階段不同,在計(jì)劃的停機(jī)時(shí)間階段中,電源模塊117向易失性存儲(chǔ)器121供給電能。因此,即使保存對(duì)象控制信息元素的總數(shù)量大于以電池124的充電率指定的總數(shù)量,也能夠?qū)⑺斜4鎸?duì)象控制信息元素從易失性存儲(chǔ)器121保存到非易失性存儲(chǔ)器123。例如,當(dāng)檢測(cè)到計(jì)劃的停機(jī)時(shí)間信號(hào)時(shí)計(jì)劃的停機(jī)時(shí)間階段開(kāi)始。例如,可以從主機(jī)101或例如管理計(jì)算機(jī)(未示出)等外部設(shè)備輸入計(jì)劃的停機(jī)時(shí)間信號(hào),或可以在存儲(chǔ)系統(tǒng)103中提供的特定開(kāi)關(guān)被打開(kāi)時(shí)輸入計(jì)劃的停機(jī)時(shí)間信號(hào)。在計(jì)劃的停機(jī)時(shí)間階段中,執(zhí)行兩種保存處理臟數(shù)據(jù)保存處理和控制保存處理。在臟數(shù)據(jù)保存處理中,在對(duì)應(yīng)于由寫命令指定的寫目的地的HDD 115中存儲(chǔ)臟數(shù)據(jù)“E”,在該寫命令中臟數(shù)據(jù)“E”被指定為寫對(duì)象。在控制保存處理中,確定在多個(gè)種類的控制表格中哪個(gè)控制表格將是非保存對(duì)象,并將沒(méi)有被確定為是非保存對(duì)象的控制信息元素“F”保存到非易失性存儲(chǔ)器123。通過(guò)保存PG 1373(見(jiàn)圖37)執(zhí)行臟數(shù)據(jù)保存處理和控制保存處理。下文將參考圖18和19分別描述臟數(shù)據(jù)保存處理的流程和控制保存處理的流程。圖18示出臟數(shù)據(jù)保存處理的流程。當(dāng)檢測(cè)到計(jì)劃的停機(jī)時(shí)間信號(hào)時(shí),PG 1373參考主數(shù)據(jù)管理信息1701 (見(jiàn)圖16)(S1801)并從第一個(gè)記錄到最后一個(gè)記錄對(duì)主數(shù)據(jù)管理信息1701中的每一個(gè)記錄(換句話說(shuō),從第一個(gè)槽到最后一個(gè)槽,對(duì)主數(shù)據(jù)區(qū)域803中的每一個(gè)槽)執(zhí)行步驟S1802到S1804。具體地,當(dāng)在所參考的記錄中沒(méi)有記錄“臟”作為槽狀態(tài)時(shí)(S1802 :否),保存PG3713跳過(guò)步驟S1803并執(zhí)行步驟S1804。另一方面,當(dāng)在所參考的記錄中記錄了“臟”作為槽狀態(tài)時(shí)(S1802 :是),保存PG 3713在任意HDD 115中存儲(chǔ)在對(duì)應(yīng)于該記錄的槽中存儲(chǔ)的臟數(shù)據(jù),并將該槽狀態(tài)的值從“臟”改變?yōu)椤扒鍧崱?S1803)。然后,當(dāng)所參考的記錄不是最后一個(gè)記錄時(shí)(S1804 :否),保存PG 3713對(duì)下一個(gè)記錄執(zhí)行步驟S1802。圖19示出控制保存處理的流程。當(dāng)檢測(cè)到計(jì)劃的停機(jī)時(shí)間信號(hào)時(shí),保存PG 3713更新典型的保存時(shí)間信息1501以具有指示了當(dāng)前時(shí)間的信息(S1901)。例如,從計(jì)時(shí)器獲得當(dāng)前時(shí)間。保存PG 3713參考表格管理信息1001(見(jiàn)圖10),并從第一個(gè)記錄到最后一個(gè)記錄對(duì)表格管理信息1001中的每一個(gè)記錄執(zhí)行步驟S1903到S1907。具體地,當(dāng)在所參考的記錄中“非必需”被記錄為保存必需信息時(shí)(S1903 :否),保存PG 3713跳過(guò)步驟S1904到S1906并執(zhí)行步驟S1907。當(dāng)在所參考的記錄中“必需”被記錄為保存必需信息時(shí)(S1903:是),保存PG 3713判斷記錄了“已更新”或“未更新”作為更新與否信息(S1904)。當(dāng)記錄了“已更新”作為更新與否信息時(shí),保存PG 3713在步驟S1905中執(zhí)行下面的處理(1905-1)更新參考記錄中的保存時(shí)間信息以具有與典型的保存時(shí)間信息相同的
信息;(1905-2)在C-MP 122中,指定與存儲(chǔ)了對(duì)應(yīng)于參考記錄的控制表格的區(qū)域相對(duì)應(yīng)的地址集合,并使C-MP 122將與所指定的地址集合相對(duì)應(yīng)的區(qū)域中存儲(chǔ)的控制表格從易失性存儲(chǔ)器121保存到非易失性存儲(chǔ)器123 ;及(1905-3)將參考記錄中的保存完成信息的值更新為具有“0”,這表示控制表格已
經(jīng)被保存。另一方面,當(dāng)記錄了“未更新”作為更新與否信息時(shí),保存PG 3713在步驟S1906中執(zhí)行下面的處理(1906-1)更新參考記錄中的保存時(shí)間信息以具有與典型的保存時(shí)間信息相同的信息;及(1906-2)將參考記錄中的保存完成信息的值更新為具有“0”,這表示控制表格已
經(jīng)被保存。簡(jiǎn)而言之,將其中記錄了“未更新”作為更新與否信息的控制表格確定為非保存對(duì)象,并不將其保存到非易失性存儲(chǔ)器123。在步驟S1905或S1906之后,當(dāng)參考記錄不是最后一個(gè)記錄時(shí)(S1907 :否),保存PG 3713對(duì)下一個(gè)記錄執(zhí)行步驟S1903。當(dāng)對(duì)于表格管理信息1001中的最后一個(gè)記錄執(zhí)行了步驟S1903到S1905或S1906時(shí)(S1907 :是),保存PG 3713使C-MP 122將表格管理信息1001和典型的保存時(shí)間信息 1501保存到非易失性存儲(chǔ)器123(S1908)。根據(jù)上述控制保存處理,將記錄了“非必需”作為保存必需信息的控制表格和已經(jīng)被保存并記錄了“未更新”作為更新與否信息的控制表格確定為非保存對(duì)象。因此,可以期望使計(jì)劃的停機(jī)時(shí)間階段中的保存處理所需要的時(shí)間更短。注意,當(dāng)在計(jì)劃的停機(jī)時(shí)間階段中成功保存所有保存對(duì)象時(shí),C-MP 122在非易失性存儲(chǔ)器123中設(shè)置表示保存成功的信息?!措娔苤袛嚯A段〉如圖20所示,在電能中斷階段中,將在由C-MP 122中指定的地址集合指示的區(qū)域中存儲(chǔ)的所有信息元素,具體地,臟數(shù)據(jù)“E”和控制信息元素“F”兩者,從易失性存儲(chǔ)器121保存到非易失性存儲(chǔ)器123。圖21示出在電能中斷階段中執(zhí)行的保存處理的流程。當(dāng)檢測(cè)到電能中斷時(shí),C-MP 122參考在C-MP 122的寄存器中指定的地址管理信息1710(見(jiàn)圖17) (S2101)。C-MP 122從地址管理信息1710中選擇一個(gè)地址集合,并將由所選擇的地址集合識(shí)別的區(qū)域(易失性存儲(chǔ)器121中的區(qū)域)中存儲(chǔ)的信息(臟數(shù)據(jù)或控制信息中的保存對(duì)象信息元素)從易失性存儲(chǔ)器121保存到非易失性存儲(chǔ)器123(S2101)。當(dāng)在地址管理信息1710中包括沒(méi)有被選擇的地址集合時(shí)(S2103 :否),C-MP 122對(duì)該地址集合執(zhí)行步驟2102。當(dāng)不包括沒(méi)有被選擇的地址集合時(shí)(S2103 :是),C-MP 122結(jié)束該保存處理。根據(jù)上述流程,在電能中斷階段中,將與地址管理信息1710中包括的地址集合對(duì)應(yīng)的區(qū)域中存儲(chǔ)的信息元素從易失性存儲(chǔ)器121保存到非易失性存儲(chǔ)器123。在正常階段中確定在電能中斷階段應(yīng)該保存易失性存儲(chǔ)器121中的哪個(gè)信息元素。具體地,在正常階段中,當(dāng)某個(gè)信息元素被確定為非保存對(duì)象時(shí),將指示存儲(chǔ)了該某個(gè)信息元素的區(qū)域的地址集合從地址管理信息1710中刪除。相反,當(dāng)將某個(gè)信息元素從非保存對(duì)象改變?yōu)楸4鎸?duì)象時(shí),將指示存儲(chǔ)了該某個(gè)信息元素的區(qū)域的地址集合添加到地址管理信息1710中。當(dāng)成功保存所有保存對(duì)象時(shí),C-MP 122在非易失性存儲(chǔ)器123中設(shè)置表示保存成功的信息。〈恢復(fù)階段〉如圖22所示,在恢復(fù)階段,將在非易失性存儲(chǔ)器123中存儲(chǔ)的所有信息元素,例如,臟數(shù)據(jù)“E”和控制信息元素“F”,從非易失性存儲(chǔ)器123恢復(fù)到易失性存儲(chǔ)器121。圖23示出在恢復(fù)階段中執(zhí)行的恢復(fù)處理的流程。
當(dāng)恢復(fù)PG 3716檢測(cè)到存儲(chǔ)系統(tǒng)103激活時(shí),恢復(fù)PG 3716指示C-MP 122執(zhí)行恢
復(fù)處理。當(dāng)在非易失性存儲(chǔ)器123中存儲(chǔ)了指示保存失敗的信息時(shí)(S2301 :否),C_MP 122判斷保存對(duì)象已經(jīng)是易失去的(S2307)。具體地,C-MP 122向恢復(fù)PG 3716通知保存對(duì)象已經(jīng)是易失去的。在存儲(chǔ)系統(tǒng)103被激活之后,判斷保存對(duì)象已經(jīng)是易失去的,并執(zhí)行各種類型的控制。當(dāng)在非易失性存儲(chǔ)器123中存儲(chǔ)了指示出保存成功的信息時(shí)(S2301 :是),C-MP122從地址管理信息1710中選擇一個(gè)地址集合(S2302),并從對(duì)應(yīng)于該地址集合的區(qū)域(非易失性存儲(chǔ)器123中的區(qū)域)恢復(fù)信息元素(S2303)。當(dāng)對(duì)應(yīng)于該信息元素的保存時(shí)間信息(例如,對(duì)應(yīng)于控制表格的保存時(shí)間信息)與典型的保存時(shí)間信息1501不同時(shí)(S2304 :是),C-MP 122假設(shè)在步驟S2303中恢復(fù)的信息元素已經(jīng)是易失去的(S2305)。當(dāng)對(duì)應(yīng)于被恢復(fù)的信息元素的保存時(shí)間信息與典型的保存時(shí)間信息1501相匹配時(shí)(S2304 否),C-MP 122跳過(guò)步驟S2305。當(dāng)在所保存的地址管理信息1710中包括沒(méi)有被選擇的地址集合時(shí)(S2306 :否),C-MP 122對(duì)該地址集合執(zhí)行步驟S2302。當(dāng)在所保存的地址管理信 息1710中不包括沒(méi)有被選擇的地址集合時(shí)(S2306 :是),C-MP 122結(jié)束恢復(fù)處理。根據(jù)典型的保存時(shí)間信息是否與保存時(shí)間信息相匹配來(lái)判斷是否假設(shè)被恢復(fù)的信息元素已經(jīng)是易失去的。注意,可以代替時(shí)間信息而使用例如計(jì)數(shù)值等其它類型的信息。例如,在圖19中,在步驟S1901中將典型的保存值更新以具有特定的值,在步驟S 1905中將保存值更新以具有與典型的保存值相同的值,并且在步驟S1906中將保存值更新以具有與典型的保存值不同的值。通過(guò)使用該方法,在恢復(fù)處理中,根據(jù)典型的保存值是否與保存值相匹配來(lái)判斷是否假設(shè)被恢復(fù)的信息元素已經(jīng)是易失去的(volatilized)?!凑kA段〉在正常階段中,例如,執(zhí)行下面六種類型的處理(N-I)到(N-6)(N-I)電池監(jiān)視處理;(N-2)根據(jù)電池充電率的保存對(duì)象控制處理;(N-3)讀處理/寫處理(臟數(shù)據(jù)量調(diào)節(jié)處理);(N-4)控制表格保存處理;(N-5)更新管理處理;及(N-6)預(yù)先的刷新處理。(N-I)電池監(jiān)視處理執(zhí)行電池監(jiān)視處理以規(guī)律(或不規(guī)律)地檢查電池124的充電率。如上所述,通過(guò)硬件處理或軟件處理來(lái)執(zhí)行電池監(jiān)視處理。通過(guò)C-MP 122執(zhí)行硬件處理。C-MP 122在寄存器中設(shè)置指示檢查到的電池充電率的信息。通過(guò)電池監(jiān)視PG 3712讀取在C-MP 122的寄存器中設(shè)置的電池充電率信息,并在易失性存儲(chǔ)器121中存儲(chǔ)該電池充電率信息作為監(jiān)視到的充電率信息1301 (見(jiàn)圖13)。由電池監(jiān)視PG 3712執(zhí)行軟件處理。具體地,例如,電池監(jiān)視PG 3712執(zhí)行下面的處理(26-A)到(26-C)。(26-A)基于電池124的已知充電特性計(jì)算從電池124的當(dāng)前充電率到將電池124充滿所需要的時(shí)間長(zhǎng)度(下文稱為時(shí)間長(zhǎng)度T),并基于時(shí)間長(zhǎng)度T和從存儲(chǔ)系統(tǒng)103被激活起經(jīng)過(guò)的時(shí)間計(jì)算(估算)電池124的充電率。(26-B)當(dāng)檢測(cè)到電能中斷時(shí),基于在檢測(cè)到電能中斷時(shí)的電池124的充電率(通過(guò)處理(26-A)計(jì)算出的值),并基于電能每次中斷的電池消耗量(這是基于電池124的已知消耗特性而限定的),來(lái)計(jì)算電池124的剩余量(充 電率)(或基于在檢測(cè)到電能中斷時(shí)電池124的充電率、每單位時(shí)間的電池消耗量以及從檢測(cè)到電能中斷起經(jīng)過(guò)的時(shí)間來(lái)計(jì)算電池的剩余量)。(26-C)當(dāng)檢測(cè)到從電能中斷恢復(fù)時(shí),執(zhí)行處理(26-A)。下文中,將參考圖26描述由軟件執(zhí)行的電池監(jiān)視處理的特定示例。當(dāng)假設(shè)用于電能每一次中斷的電池消耗量是50%時(shí),電池監(jiān)視PG 3712執(zhí)行下面的處理(26-1)到(26-7)。(26-1)當(dāng)電池充電率是100%時(shí),發(fā)生電能中斷I。然后執(zhí)行處理(26_B)以通過(guò)計(jì)算查明電池充電率(剩余量)是50%。(26-2)當(dāng)電池充電率是50%時(shí),激活存儲(chǔ)系統(tǒng)103并執(zhí)行處理(26_A)。由于從激活起,從50%的充電率到獲得100%的充電率所需要的時(shí)間(3個(gè)小時(shí))已經(jīng)過(guò)去,因此通過(guò)計(jì)算查明電池充電率是100%。(26-3)當(dāng)電池充電率是100%時(shí),發(fā)生電能中斷2。然后執(zhí)行處理(26_B)以通過(guò)計(jì)算查明電池充電率(剩余量)是50%。(26-4)當(dāng)電池充電率是50%時(shí),激活存儲(chǔ)系統(tǒng)103并執(zhí)行處理(26_A)。由于從激活起經(jīng)過(guò)I. 5小時(shí)后發(fā)生電能中斷3,因此通過(guò)計(jì)算查明這時(shí)的電池充電率是75% (由于50% +25%= 75% ),該I. 5小時(shí)是從50%的充電率到獲得100%的充電率所需要的時(shí)間(3個(gè)小時(shí))的一半。(26-5)當(dāng)電池充電率是75%時(shí),發(fā)生電能中斷3。然后執(zhí)行處理(26_B)以通過(guò)計(jì)算查明電池充電率(剩余量)是25%。(26-6)當(dāng)電池充電率是25%時(shí),激活存儲(chǔ)系統(tǒng)103并執(zhí)行處理(26_A)。由于從激活起經(jīng)過(guò)2小時(shí)后發(fā)生電能中斷4,因此通過(guò)計(jì)算查明這時(shí)的電池充電率是58% (由于(25% +(50% X2/3))近似等于 58% ) (26-7)當(dāng)電池充電率是58%時(shí),發(fā)生電能中斷4。然后執(zhí)行處理(26_B)以通過(guò)計(jì)算查明電池充電率(剩余量)是8%。如上所述,由于通過(guò)軟件執(zhí)行電池監(jiān)視處理,因此即使不支持由硬件執(zhí)行電池監(jiān)視處理或即使在C-MP 122中發(fā)生故障,也可以檢查電池充電率。(N-2)根據(jù)電池充電率的保存對(duì)象控制處理在根據(jù)電池充電率的保存對(duì)象控制處理中,根據(jù)檢查出的電池充電率控制保存對(duì)象。如圖35所示,每當(dāng)檢測(cè)電池充電率時(shí),保存對(duì)象控制PG 3717根據(jù)電池充電率執(zhí)行保存對(duì)象控制處理。具體地,保存對(duì)象控制PG 3717執(zhí)行充電率比較處理,該處理將檢查出的電池充電率(由最近的監(jiān)視的充電率信息1301指示的電池充電率)與在先前時(shí)間檢查出的電池充電率相比較。作為充電率比較處理的結(jié)果,當(dāng)檢查出的電池充電率落入與在先前時(shí)間檢查出的電池充電率相同的電池充電率范圍中時(shí)(S3501 :否,S3504 :否),不執(zhí)行步驟S3502、S3503、S3505和S3506中的處理。作為充電率比較處理的結(jié)果,當(dāng)檢查出的電池充電率小于在先前時(shí)間檢查出的電池充電率時(shí),具體地,當(dāng)檢查出的電池充電率所落入的電池充電率范圍小于在先前時(shí)間檢查出的電池充電率所落入的電池充電率范圍時(shí)(S3501 :否,S3504 :是),保存對(duì)象控制PG3717在步驟S3503中執(zhí)行下面的處理。(3505-1)當(dāng)易失性存儲(chǔ)器121中的臟數(shù)據(jù)的總數(shù)量超過(guò)與檢查出的電池充電率所落入的電池充電率范圍對(duì)應(yīng)的臟數(shù)據(jù)量(指定的臟數(shù)據(jù)量)時(shí),在任意HDD 115中存儲(chǔ)臟數(shù)據(jù)(換句話說(shuō),減少臟數(shù)據(jù)的總數(shù)量),使得臟數(shù)據(jù)的總數(shù)量變得等于或小于所指定的臟數(shù)據(jù)量。此外,因此更新所監(jiān)視的臟數(shù)據(jù)量信息1401 (見(jiàn)圖14)。(3505-2)當(dāng)要保存的控制信息元素的總數(shù)量超過(guò)與檢查出的電池充電率所落入 的電池充電率范圍對(duì)應(yīng)的控制信息數(shù)量(下文稱為指定的信息數(shù)量)時(shí),使更多的控制表格(具體地,每一個(gè)記錄了 “必需”作為保存必需信息并記錄了 “低”作為保存重要度信息的更多的控制表格)成為非保存對(duì)象,使得要被保存的控制信息元素的總數(shù)量變得等于或小于指定的信息數(shù)量,并且在表格管理信息1001(見(jiàn)圖10)中設(shè)置指示了當(dāng)前時(shí)間的信息作為與每一個(gè)非保存對(duì)象控制表格對(duì)應(yīng)的保存時(shí)間信息。因此,在后面要執(zhí)行的恢復(fù)處理中,由于由所恢復(fù)的典型的保存時(shí)間信息1501指示的時(shí)間與對(duì)應(yīng)于每一個(gè)非保存對(duì)象控制表格的保存時(shí)間不匹配,因此可以判斷所恢復(fù)的控制表格與在電能中斷發(fā)生時(shí)沒(méi)有保存的控制表格相同。然后,在步驟S3506,保存對(duì)象控制PG 3717從地址管理信息1701 (見(jiàn)圖10)刪除下面的地址集合(3506-1)和(3506-2)。(3506-1)指示了已經(jīng)存儲(chǔ)了在處理(3505-1)中在任意HDD 115中存儲(chǔ)的臟數(shù)據(jù)的區(qū)域(易失性存儲(chǔ)器121中的區(qū)域)的地址范圍的地址集合。(3506-2)指示了存儲(chǔ)在處理(3505-2)中作為非保存對(duì)象的控制表格的區(qū)域(易失性存儲(chǔ)器121中的區(qū)域)的地址范圍的地址集合。作為結(jié)果,如圖36所示減少要在電能中斷發(fā)生時(shí)保存的控制信息元素的總數(shù)量。作為充電率比較處理的結(jié)果,當(dāng)檢查出的電池充電率大于在先前時(shí)間檢查出的電池充電率時(shí),具體地,當(dāng)檢查出的電池充電率所落入的電池充電率范圍大于在先前時(shí)間檢查出的電池充電率所落入的電池充電率范圍時(shí)(S3501 :是),保存對(duì)象控制PG 3717執(zhí)行下面的步驟S3502中的處理。具體地,只要要被保存的控制信息元素的總數(shù)量不超過(guò)與檢查出的電池充電率所落入的電池充電率范圍對(duì)應(yīng)的控制信息數(shù)量(指定的信息數(shù)量),保存對(duì)象控制PG 3717就使更多的控制表格(具體地,每一個(gè)記錄了“必需”作為保存必需信息并記錄了“低”作為保存重要度信息的更多的控制表格)成為保存對(duì)象。此外,保存對(duì)象控制PG 3717將指示了表格管理信息1001(見(jiàn)圖10)中的典型的保存時(shí)間信息的信息設(shè)置為與每一個(gè)保存對(duì)象控制表格對(duì)應(yīng)的保存時(shí)間信息。因此,在后面要執(zhí)行的恢復(fù)處理中,由于由所恢復(fù)的典型的保存時(shí)間信息1501指示的時(shí)間與對(duì)應(yīng)于每一個(gè)保存對(duì)象控制表格的保存時(shí)間匹配,因此可以判斷所恢復(fù)的控制表格與在電能中斷發(fā)生時(shí)所保存的控制表格相同。然后,在步驟S3503中,保存對(duì)象控制PG 3717將指示了存儲(chǔ)作為保存對(duì)象的控制表格的區(qū)域(易失性存儲(chǔ)器121中的區(qū)域)的地址范圍的地址集合添加到地址管理信息1710(見(jiàn)圖17)中。作為結(jié)果,如圖36所示增加要在電能中斷發(fā)生時(shí)保存的控制信息元素的總數(shù)量。在根據(jù)電池充電率的保存對(duì)象控制處理中,可以從地址管理信息1710中指定的地址集合中識(shí)別保存對(duì)象臟數(shù)據(jù)的總數(shù)量和保存對(duì)象控制信息元素的總數(shù)量。因此,例如,在步驟S3505中,可以確定是否通過(guò)將記錄了“低”作為保存重要度信息的控制表格從保存對(duì)象改變?yōu)榉潜4鎸?duì)象來(lái)使保存對(duì)象控制信息元素的總數(shù)量等于或小于指定的信息數(shù)量。根據(jù)依據(jù)電池充電率的保存對(duì)象控制處理,基于電池充電率控制保存對(duì)象的總數(shù)量。因此,可以防止由如圖24所示的頻繁的電能中斷而耗盡剩余的電池充電量。具體地,例如,如圖25所示,當(dāng)電池充電率低時(shí),控制保存對(duì)象總數(shù)量為低,使得保存處理需要短的時(shí)間。作為結(jié)果,降低了每一次電能中斷要消耗的電池充電率。因此,與圖24所示的示例不同,如圖25所示可以防止剩余的電池充電量被耗盡。(N-3)讀處理/寫處理(臟數(shù)據(jù)量調(diào)節(jié)處理)以上已經(jīng)參考圖5和圖6分別描述了讀處理和寫處理。在寫處理中,臨時(shí)增加易失性存儲(chǔ)器121中的臟數(shù)據(jù)的數(shù)量。因此,I/O控制PG3711執(zhí)行圖28所示的臟數(shù)據(jù)量調(diào)節(jié)處理。當(dāng)接收到寫命令時(shí),I/O控制PG 3711從臟數(shù)據(jù)量管理信息1101中檢查與由監(jiān)視到的充電率信息1301指示的充電率對(duì)應(yīng)的臟數(shù)據(jù)量(下文中,在參考圖28給出的描述中稱為“上限臟數(shù)據(jù)量”),并檢查由監(jiān)視到的臟數(shù)據(jù)量信息1401指示的臟數(shù)據(jù)量(下文中,在參考圖28給出的描述中稱為“當(dāng)前臟數(shù)據(jù)量”)(S2801)。當(dāng)寫對(duì)象數(shù)據(jù)的信息數(shù)量和當(dāng)前臟數(shù)據(jù)量的總和不超過(guò)上限臟數(shù)據(jù)量時(shí)(S2802 是),1/0控制PG 3711根據(jù)由圖27所示的實(shí)箭頭線指示的正常寫模式執(zhí)行處理。具體地,I/O控制PG 3711將寫對(duì)象數(shù)據(jù)寫到易失性存儲(chǔ)器121(S2803),并將指示了寫完成的響應(yīng)返回到主機(jī)101。在該情況下,I/O控制PG 3711在主數(shù)據(jù)管理信息1701中設(shè)置“臟”作為與存儲(chǔ)了寫對(duì)象數(shù)據(jù)的槽對(duì)應(yīng)的槽狀態(tài)。另一方面,當(dāng)寫對(duì)象數(shù)據(jù)的信息數(shù)量和當(dāng)前臟數(shù)據(jù)量的總和超過(guò)上限臟數(shù)據(jù)量時(shí)(S2802:否),1/0控制PG 3711根據(jù)由圖27所示的虛箭頭線指示的直寫模式執(zhí)行處理。具體地,I/O控制PG 3711在易失性存儲(chǔ)器121中臨時(shí)存儲(chǔ)寫對(duì)象數(shù)據(jù),在對(duì)應(yīng)的HDD 115中存儲(chǔ)寫對(duì)象數(shù)據(jù)(S2804),并將指示了寫完成的響應(yīng)返回到主機(jī)101。在該情況下,I/O控制PG 3711在主數(shù)據(jù)管理信息1701中設(shè)置“清潔”作為與存儲(chǔ)了寫對(duì)象數(shù)據(jù)的槽對(duì)應(yīng)的槽狀態(tài)。通過(guò)臟數(shù)據(jù)量調(diào)節(jié)處理,可以防止易失性存儲(chǔ)器121中的臟數(shù)據(jù)的總數(shù)量超過(guò)能夠在電能中斷階段中保存的臟數(shù)據(jù)的數(shù)量。(N-4)控制表格保存處理如圖30所示,保存對(duì)象控制PG 3717規(guī)律地檢查與每一個(gè)控制表格對(duì)應(yīng)的更新計(jì)數(shù)值(S3001、S3002)。保存對(duì)象控制PG 3717在非易失性存儲(chǔ)器123中保存即使在檢查更新計(jì)數(shù)值預(yù)定次數(shù)之后其更新計(jì)數(shù)值還沒(méi)有改變的控制表格,將與該控制表格對(duì)應(yīng)的保存完成信息更新為指示控制表格已經(jīng)被保存的“0”,并從地址管理信息1710中刪除與該控制表格對(duì)應(yīng)的地址集合(S3003)。
根據(jù)控制表格保存處理,例如,如圖29所示,在預(yù)定時(shí)間段內(nèi)已經(jīng)被更新的控制表格“Cl”,即,時(shí)常被更新的控制表格“Cl”,沒(méi)有被保存到非易失性存儲(chǔ)器123,反之,在預(yù)定時(shí)間段內(nèi)還沒(méi)有被更新的控制表格,即,不常被更新的控制表格“C2”,在計(jì)劃的停機(jī)時(shí)間階段中或在電能中斷階段中執(zhí) 行保存處理之前被預(yù)先存儲(chǔ)在非易失性存儲(chǔ)器123中,并作為非保存對(duì)象(從地址管理信息1710中刪除與存儲(chǔ)了控制表格“C2”的區(qū)域?qū)?yīng)的地址集合)。作為結(jié)果,可以減少在計(jì)劃的停機(jī)時(shí)間階段中和在電能中斷階段中執(zhí)行的保存處理所需要的時(shí)間。(N-5)更新管理處理當(dāng)特定事件發(fā)生時(shí)(例如,當(dāng)數(shù)據(jù)從一個(gè)邏輯卷遷移到另一邏輯卷時(shí),或當(dāng)卷對(duì)的狀態(tài)改變時(shí)),可以更新至少一個(gè)控制表格。在該情況下,如圖32所示,當(dāng)被更新的控制表格(下文中,在參考圖32給出的描述中稱為“對(duì)象控制表格”)是記錄了“必需”作為保存必需信息的控制表格時(shí)(S3201 :是),控制信息管理PG 3714在步驟S3202中執(zhí)行下面的處理(3202-1)到(3202-4)。(3202-1)將與對(duì)象控制表格對(duì)應(yīng)的更新與否信息(表格管理信息1001中的更新與否信息)設(shè)置為“已更新”。(3202-2)將與該對(duì)象控制表格對(duì)應(yīng)的更新計(jì)數(shù)值增加I。(3202-3)將與該對(duì)象控制表格對(duì)應(yīng)的保存完成信息更新為具有“ 1”,這指示該對(duì)象控制表格沒(méi)有被保存。(3202-4)將與存儲(chǔ)了對(duì)象控制表格的區(qū)域?qū)?yīng)的地址集合添加到地址管理信息1710。根據(jù)更新管理處理,在多個(gè)控制表格中,僅使在激活存儲(chǔ)系統(tǒng)103之后已經(jīng)被更新的控制表格成為保存對(duì)象。具體地,例如,在激活存儲(chǔ)系統(tǒng)103之后,地址管理信息1710僅包括與預(yù)定的保存對(duì)象對(duì)應(yīng)的地址集合。因此,例如,如圖31所示,當(dāng)存儲(chǔ)系統(tǒng)103進(jìn)入計(jì)劃的停機(jī)時(shí)間階段或電能中斷階段同時(shí)控制表格“C3”沒(méi)有被更新時(shí),控制表格“C3”在計(jì)劃的停機(jī)時(shí)間階段中或在電能中斷階段中是非保存對(duì)象。另一方面,已經(jīng)被更新的控制表格“C4”在計(jì)劃的停機(jī)時(shí)間階段中或在電能中斷階段中是保存對(duì)象。(N-6)預(yù)先的刷新處理如上所述,當(dāng)特定事件發(fā)生時(shí),可以更新至少一個(gè)控制表格。在該情況下,如圖34所示,當(dāng)被更新的控制表格(下文中,在參考圖34給出的描述中稱為“對(duì)象控制表格”)是記錄了“必需”作為保存必需信息的控制表格時(shí)(S3401 :是),刷新PG 3715對(duì)與存儲(chǔ)了該控制表格的區(qū)域?qū)?yīng)的非易失性存儲(chǔ)器(閃速存儲(chǔ)器)123中的區(qū)域應(yīng)用刷新處理,具體地,該刷新處理是刪除處理。例如,當(dāng)使用包括各個(gè)具有多個(gè)物理頁(yè)的多個(gè)物理塊的NAND閃速存儲(chǔ)器時(shí),對(duì)每一個(gè)物理頁(yè)應(yīng)用寫處理或讀處理,同時(shí),對(duì)每一個(gè)物理塊應(yīng)用刷新處理(刪除處理)。通過(guò)預(yù)先的刷新處理,可以期望減少保存處理所需要的時(shí)間。下面將給出具體描述。具體地,為了改寫閃速存儲(chǔ)器的區(qū)域中的信息,需要對(duì)該區(qū)域應(yīng)用一次刷新處理。然而,在保存處理時(shí)應(yīng)用刷新處理增加了保存處理所需要的時(shí)間。如圖33所示,保存對(duì)象之一是已經(jīng)被更新的控制表格“C6”。
在本實(shí)施例中,在執(zhí)行保存處理之前,預(yù)先對(duì)與已更新的控制表格“C6”對(duì)應(yīng)的非易失性存儲(chǔ)器123的區(qū)域應(yīng)用刷新處理。因此,在保存已更新的控制表格時(shí)不需要應(yīng)用刷新處理,使得可以期望減少保存處理所需要的時(shí)間。注意,除了與已更新的控制表格對(duì)應(yīng)的區(qū)域,對(duì)于要被保存的控制信息元素的保存目的區(qū)域即使該區(qū)域沒(méi)有被更新,也可以應(yīng)用預(yù)先的刷新處理。
雖然以上已經(jīng)描述了本發(fā)明的優(yōu)選實(shí)施例,但是本發(fā)明不限于該實(shí)施例,并且在不脫離本發(fā)明的范圍的情況下可以進(jìn)行各種修改。例如,代替地址集合,可以應(yīng)用開(kāi)始地址(或結(jié)尾地址)的集合和數(shù)據(jù)大小。此外,例如,如圖38所示,保存對(duì)象控制PG 3717可以規(guī)律地檢查表格管理信息1001 (S3801),并從地址管理信息1710中刪除與存儲(chǔ)了已經(jīng)被保存但還沒(méi)有被更新的控制表格的區(qū)域?qū)?yīng)的地址集合(S3802)。換句話說(shuō),在計(jì)劃的停機(jī)時(shí)間階段和電能中斷階段之前,可以預(yù)先使已經(jīng)被保存但還沒(méi)有被更新的控制表格成為非保存對(duì)象。
權(quán)利要求
1.一種存儲(chǔ)系統(tǒng),從外部設(shè)備(101)接收輸入/輸出(I/O)命令,所述存儲(chǔ)系統(tǒng)包括 多個(gè)存儲(chǔ)設(shè)備(115); 易失性存儲(chǔ)器(121); 非易失性存儲(chǔ)器(123); 用作次級(jí)電源的電池(124); I/O控制單元(3711),用于當(dāng)所述I/O命令是寫命令時(shí)執(zhí)行下面的處理(1-1),并且當(dāng)所述I/O命令是讀命令時(shí)執(zhí)行下面的處理(1-2) (1-1)在易失性存儲(chǔ)器中臨時(shí)存儲(chǔ)由寫命令指定的數(shù)據(jù),從易失性存儲(chǔ)器讀取該數(shù)據(jù),并將該數(shù)據(jù)寫入所述多個(gè)存儲(chǔ)設(shè)備中的至少一個(gè)存儲(chǔ)設(shè)備; (1-2)從所述多個(gè)存儲(chǔ)設(shè)備中的至少一個(gè)存儲(chǔ)設(shè)備中讀取由讀命令指定的數(shù)據(jù),在易失性存儲(chǔ)器中臨時(shí)存儲(chǔ)該數(shù)據(jù),從易失性存儲(chǔ)器讀取該數(shù)據(jù),并將該數(shù)據(jù)發(fā)送到所述外部設(shè)備; 保存單元(122),用于當(dāng)停止從主電源(117)對(duì)易失性存儲(chǔ)器供給電能時(shí),通過(guò)使用從電池供給的電能將在易失性存儲(chǔ)器中存儲(chǔ)的多個(gè)信息元素中的作為保存對(duì)象的所有信息元素保存到非易失性存儲(chǔ)器; 電池監(jiān)視單元(3712、122),用于定期地或不定期地檢查電池的充電狀態(tài);及保存對(duì)象控制單元(3717),用于根據(jù)檢查出的充電狀態(tài)來(lái)確定在易失性存儲(chǔ)器中存儲(chǔ)的哪個(gè)信息元素應(yīng)該是保存對(duì)象。
2.根據(jù)權(quán)利要求I所述的存儲(chǔ)系統(tǒng),其中 在易失性存儲(chǔ)器中存儲(chǔ)的所述多個(gè)信息元素包括I/O數(shù)據(jù)和控制信息元素; 所述I/O數(shù)據(jù)是在易失性存儲(chǔ)器中存儲(chǔ)的所述多個(gè)信息元素之一,并且響應(yīng)于從所述外部設(shè)備接收到的I/O命令被寫入或讀??; 所述I/O數(shù)據(jù)是已經(jīng)被寫入所述多個(gè)存儲(chǔ)設(shè)備中的任意存儲(chǔ)設(shè)備中的清潔數(shù)據(jù),或還沒(méi)有被寫入所述多個(gè)存儲(chǔ)設(shè)備中的任意存儲(chǔ)設(shè)備中的臟數(shù)據(jù); 控制信息元素包括控制表格(901、902、903)、表格管理信息(1001)、臟數(shù)據(jù)量管理信息(1101)以及控制數(shù)量管理信息(1201); 各個(gè)控制表格包括預(yù)定類型的子信息元素; 表格管理信息包括下面的子信息元素(A)到(D)作為與各個(gè)控制表格相關(guān)的子信息元素 (A)重要度信息,其是表示控制表格的重要度的子信息元素; (B)更新與否信息,其是表示控制表格是否已經(jīng)被更新的子信息元素; (C)保存完成信息,其是表示控制表格是否已經(jīng)保存的子信息元素;及 (D)表格大小信息,其是表不控制表格的大小的子信息兀素; 臟數(shù)據(jù)量管理信息表示與充電狀態(tài)相對(duì)應(yīng)的臟數(shù)據(jù)量,臟數(shù)據(jù)量是能夠被保存的臟數(shù)據(jù)的總數(shù)量; 控制數(shù)量管理信息表示對(duì)應(yīng)于充電狀態(tài)能夠被保存的控制數(shù)量,控制數(shù)量表示能夠被保存的控制信息的信息數(shù)量; 當(dāng)微處理器執(zhí)行預(yù)定的計(jì)算機(jī)程序時(shí),電池監(jiān)視單元基于自開(kāi)始從主電源供給電能以來(lái)經(jīng)過(guò)的時(shí)間并基于每單位時(shí)間的充電狀態(tài)來(lái)檢查充電狀態(tài);當(dāng)檢查出的充電狀態(tài)比在前一個(gè)時(shí)刻檢查出的充電狀態(tài)更差時(shí),保存對(duì)象控制單元執(zhí)行下面的處理 (2-1)從臟數(shù)據(jù)量管理信息中檢查與所述檢查出的充電狀態(tài)相對(duì)應(yīng)的臟數(shù)據(jù)量,并在所述多個(gè)存儲(chǔ)設(shè)備中的任意存儲(chǔ)設(shè)備中存儲(chǔ)在易失性存儲(chǔ)器中存儲(chǔ)的至少一條臟數(shù)據(jù),使得在易失性存儲(chǔ)器中存儲(chǔ)的臟數(shù)據(jù)的總數(shù)量變得等于或小于檢查到的臟數(shù)據(jù)量;和 (2-2)從控制數(shù)量管理信息中檢查與所述檢查出的充電狀態(tài)相對(duì)應(yīng)的控制數(shù)量,并且基于在表格管理信息中包括的子信息元素(A)和(D),將重要度低于預(yù)定重要度的控制表格當(dāng)做非保存對(duì)象,使得保存對(duì)象控制信息元素的總數(shù)量變得等于或小于檢查到的控制數(shù)量; 保存對(duì)象控制單元基于子信息元素(B)和(C),將已經(jīng)被保存但還沒(méi)有被更新的控制表格當(dāng)做非保存對(duì)象; 保存對(duì)象至少包括下面的項(xiàng)目(a)到(C) (a)保留在易失性存儲(chǔ)器中的各條臟數(shù)據(jù); (b)不是非保存對(duì)象的控制表格'及 (C)表格管理信息; 當(dāng)易失性存儲(chǔ)器中的臟數(shù)據(jù)的總數(shù)量超過(guò)與所述檢查出的充電狀態(tài)相對(duì)應(yīng)的臟數(shù)據(jù)量時(shí),如果由所接收到的寫命令指定的寫對(duì)象數(shù)據(jù)作為臟數(shù)據(jù)被保留在易失性存儲(chǔ)器中,則I/O控制單元以直寫模式進(jìn)行操作,并且當(dāng)易失性存儲(chǔ)器中的臟數(shù)據(jù)的總數(shù)量等于或小于與所述檢查出的充電狀態(tài)相對(duì)應(yīng)的臟數(shù)據(jù)量時(shí),即使由所接收到的寫命令指定的寫對(duì)象數(shù)據(jù)保留在易失性存儲(chǔ)器中作為臟數(shù)據(jù),I/O控制單元也以普通寫模式進(jìn)行操作; 在直寫模式中,I/o控制單元在易失性存儲(chǔ)器中臨時(shí)存儲(chǔ)寫對(duì)象數(shù)據(jù),并將該寫對(duì)象數(shù)據(jù)寫入所述多個(gè)存儲(chǔ)設(shè)備中的任意存儲(chǔ)設(shè)備中以將寫對(duì)象數(shù)據(jù)作為清潔數(shù)據(jù),并將對(duì)寫命令的響應(yīng)發(fā)送到所述外部設(shè)備;及 在普通寫模式中,I/o控制單元在易失性存儲(chǔ)器中臨時(shí)存儲(chǔ)寫對(duì)象數(shù)據(jù),并在不將該寫對(duì)象數(shù)據(jù)寫入所述多個(gè)存儲(chǔ)設(shè)備中的任意存儲(chǔ)設(shè)備的情況下,將對(duì)寫命令的響應(yīng)發(fā)送到所述外部設(shè)備。
3.根據(jù)權(quán)利要求2所述的存儲(chǔ)系統(tǒng),其中 對(duì)于各個(gè)控制表格,表格管理信息進(jìn)一步包括下面的子信息元素(E) (E)更新計(jì)數(shù)信息,所述更新計(jì)數(shù)信息是表示控制表格的更新次數(shù)的信息; 保存對(duì)象控制單元執(zhí)行下面的處理 (3-1)將被其子信息元素(E)表示為在控制表格在預(yù)定的時(shí)間段中沒(méi)有被更新的所述控制表格保存到非易失性存儲(chǔ)器,將所述控制表格的子信息元素(B)更新為具有表示控制表格沒(méi)有被更新的信息,并對(duì)所述控制表格的子信息元素(C)進(jìn)行更新以使其具有表示控制表格已經(jīng)被保存的信息;及 (3-2)當(dāng)在處理(3-1)中保存的控制表格被更新時(shí),將所述控制表格的子信息元素(B)更新為具有表示控制表格已經(jīng)被更新的信息,并對(duì)所述控制表格的子信息元素(C)進(jìn)行更新以使其具有表示控制表格還沒(méi)有被保存的信息。
4.根據(jù)權(quán)利要求3所述的存儲(chǔ)系統(tǒng),進(jìn)一步包括恢復(fù)單元(3716、122),其中 易失性存儲(chǔ)器存儲(chǔ)典型保存值和表示臟數(shù)據(jù)的保存值的I/O保存值;典型保存值和I/O保存值是保存對(duì)象; 對(duì)于各個(gè)控制表格,表格管理信息進(jìn)一步包括下面的子信息元素(F) (F)保存值,所述保存值是控制表格的保存值; 在計(jì)劃的停機(jī)時(shí)間中,保存單元將典型保存值更新為具有表示預(yù)定值的信息,并將易失性存儲(chǔ)器中的保存對(duì)象保存到非易失性存儲(chǔ)器; 保存對(duì)象控制單元執(zhí)行下面的處理 (4-1)當(dāng)所述檢查出的充電狀態(tài)比在前一個(gè)時(shí)刻檢查出的充電狀態(tài)好時(shí),對(duì)作為保存對(duì)象的控制表格的子信息元素(F)進(jìn)行更新以使其具有與典型保存值同樣的信息;及(4-2)當(dāng)所述檢查出的充電狀態(tài)比在前一個(gè)時(shí)刻檢查出的充電狀態(tài)差時(shí),對(duì)作為非保存對(duì)象的控制表格的子信息元素(F)進(jìn)行更新以使其具有與典型保存值不同的值; 當(dāng)在停止從主電源供給電能之后再次從主電源供給電能時(shí),恢復(fù)單元在易失性存儲(chǔ)器中恢復(fù)保存在非易失性存儲(chǔ)器中的信息,然后,當(dāng)所恢復(fù)的典型保存值與所恢復(fù)的I/O保存值不同時(shí),將所恢復(fù)的臟數(shù)據(jù)處理為易失性的數(shù)據(jù),并且當(dāng)所恢復(fù)的典型保存值與所恢復(fù)的表格管理信息的子信息元素(F)不同時(shí),將與不同于所恢復(fù)的典型保存值的子信息元素(F)相對(duì)應(yīng)的控制表格處理為易失性的表格。
5.根據(jù)權(quán)利要求4所述的存儲(chǔ)系統(tǒng),其中 非易失性存儲(chǔ)器是閃速存儲(chǔ)器;及 存儲(chǔ)系統(tǒng)進(jìn)一步包括刷新處理單元(3715),在從主電源供給電能時(shí),當(dāng)更新作為保存對(duì)象控制信息的控制保存對(duì)象時(shí),刷新處理單元(3715)對(duì)要保存控制保存對(duì)象的保存目的區(qū)域應(yīng)用刷新處理。
6.根據(jù)權(quán)利要求I所述的存儲(chǔ)系統(tǒng),其中 保存對(duì)象控制單元將保存在所述易失性存儲(chǔ)器中的至少一條臟數(shù)據(jù)存儲(chǔ)在所述多個(gè)存儲(chǔ)設(shè)備中的任意一個(gè)存儲(chǔ)設(shè)備中,使得在易失性存儲(chǔ)器中存儲(chǔ)的臟數(shù)據(jù)的總數(shù)量變得等于或小于對(duì)應(yīng)于檢查出的充電狀態(tài)能夠被保存的信息的數(shù)量; 臟數(shù)據(jù)量是臟數(shù)據(jù)的總數(shù)量; 臟數(shù)據(jù)是還沒(méi)有被寫入所述多個(gè)存儲(chǔ)設(shè)備中的任意存儲(chǔ)設(shè)備中的I/o數(shù)據(jù);及I/o數(shù)據(jù)是在易失性存儲(chǔ)器中存儲(chǔ)的信息元素之一,并且響應(yīng)于從所述外部設(shè)備接收到的I/o命令來(lái)寫入或讀取所述I/O數(shù)據(jù)。
7.根據(jù)權(quán)利要求I或6所述的存儲(chǔ)系統(tǒng),其中保存對(duì)象控制單元將在易失性存儲(chǔ)器中存儲(chǔ)的所述多個(gè)信息元素中的重要度低于預(yù)定重要度的信息元素當(dāng)做非保存對(duì)象,使得在易失性存儲(chǔ)器中的當(dāng)前保存對(duì)象總數(shù)量變得等于或小于對(duì)應(yīng)于檢查出的充電狀態(tài)能夠被保存的信息的數(shù)量。
8.根據(jù)權(quán)利要求1、6和7中的任一項(xiàng)所述的存儲(chǔ)系統(tǒng),其中保存對(duì)象控制單元將在易失性存儲(chǔ)器中存儲(chǔ)的所述多個(gè)信息元素中的已經(jīng)被保存但還沒(méi)有被更新的信息元素當(dāng)做非保存對(duì)象。
9.根據(jù)權(quán)利要求8所述的存儲(chǔ)系統(tǒng),其中,保存對(duì)象控制單元將在預(yù)定時(shí)間段中沒(méi)有更新的信息元素從易失性存儲(chǔ)器保存到非易失性存儲(chǔ)器。
10.一種存儲(chǔ)系統(tǒng),從外部設(shè)備(101)接收輸入/輸出I/O命令,所述存儲(chǔ)系統(tǒng)包括 多個(gè)存儲(chǔ)設(shè)備(115);易失性存儲(chǔ)器(121); 非易失性存儲(chǔ)器(123); I/O控制單元(3711),用于當(dāng)所述I/O命令是寫命令時(shí),在易失性存儲(chǔ)器中臨時(shí)存儲(chǔ)由寫命令指定的數(shù)據(jù)并從易失性存儲(chǔ)器讀取該數(shù)據(jù)以將該數(shù)據(jù)寫入所述多個(gè)存儲(chǔ)設(shè)備中的至少一個(gè)存儲(chǔ)設(shè)備中,并且用于當(dāng)所述I/O命令是讀命令時(shí),從所述多個(gè)存儲(chǔ)設(shè)備中的至少一個(gè)存儲(chǔ)設(shè)備中讀取由讀命令指定的數(shù)據(jù)以在易失性存儲(chǔ)器中臨時(shí)存儲(chǔ)該數(shù)據(jù),并從易失性存儲(chǔ)器讀取該數(shù)據(jù)以將該數(shù)據(jù)發(fā)送到所述外部設(shè)備; 保存單元(3713、122),用于將在易失性存儲(chǔ)器中存儲(chǔ)的多個(gè)信息元素中作為保存對(duì)象的所有信息元素保存到非易失性存儲(chǔ)器;以及 保存對(duì)象控制單元(3713、3717),用于基于與預(yù)定信息元素相關(guān)的狀態(tài),將在易失性存儲(chǔ)器中存儲(chǔ)的所述多個(gè)信息元素中的所述預(yù)定信息元素當(dāng)做保存處理中的非保存對(duì)象。
11.根據(jù)權(quán)利要求10所述的存儲(chǔ)系統(tǒng),進(jìn)一步包括 用作次級(jí)電源的電池(124); 電池監(jiān)視單元(3712),用于定期地或不定期地檢查電池的充電狀態(tài); 恢復(fù)單元(3716、122);及 刷新處理單元(3715),用于在從主電源(117)供給電能并且存儲(chǔ)系統(tǒng)正常操作的同時(shí),對(duì)要保存控制保存對(duì)象的保存目的區(qū)域應(yīng)用刷新處理, 其中 在易失性存儲(chǔ)器中存儲(chǔ)的信息元素包括控制信息元素; 控制信息元素包括控制表格(901、902、903)、表格管理信息(1001)、以及控制數(shù)量管理信息(1201); 各個(gè)控制表格包括預(yù)定類型的信息; 表格管理信息包括下面的子信息元素(A)到(D)作為與各個(gè)控制表格相關(guān)的信息 (A)重要度信息,其是表示控制表格的重要度的子信息元素; (B)更新與否信息,其是表示控制表格是否已經(jīng)被更新的子信息元素; (C)保存完成信息,其是表示控制表格是否已經(jīng)保存的子信息元素;及 (D)表格大小信息,其是表不控制表格的大小的子信息兀素; 控制數(shù)量管理信息表示對(duì)應(yīng)于充電狀態(tài)能夠被保存的控制數(shù)量,控制數(shù)量表示能夠被保存的控制信息的信息數(shù)量; 當(dāng)微處理器執(zhí)行預(yù)定的計(jì)算機(jī)程序時(shí),電池監(jiān)視單元基于自開(kāi)始從主電源供給電能以來(lái)經(jīng)過(guò)的時(shí)間并基于每單位時(shí)間的充電狀態(tài)來(lái)檢查充電狀態(tài); 保存對(duì)象控制單元執(zhí)行下面的處理 (12-1)當(dāng)檢查出的充電狀態(tài)比在前一個(gè)時(shí)刻檢查出的充電狀態(tài)差時(shí),從控制數(shù)量管理信息中檢查與檢查到的充電狀態(tài)相對(duì)應(yīng)的控制數(shù)量,并基于在表格管理信息中包括的子信息元素(A)和(D),將重要度低于預(yù)定重要度的控制表格當(dāng)做非保存對(duì)象,使得保存對(duì)象控制信息的數(shù)量變得等于或小于檢查到的控制數(shù)量; 保存對(duì)象控制單元基于子信息元素(B)和(C),將已經(jīng)被保存但還沒(méi)有被更新的控制表格當(dāng)做非保存對(duì)象; 保存對(duì)象至少包括下面的項(xiàng)目(a)到(c)(a)保留在易失性存儲(chǔ)器中的各條臟數(shù)據(jù); (b)不是非保存對(duì)象的控制表格'及 (C)表格管理信息; 對(duì)于各個(gè)控制表格,表格管理信息進(jìn)一步包括下面的子信息元素(E) (E)更新計(jì)數(shù)信息,所述計(jì)數(shù)信息是表示控制表格的更新次數(shù)的信息; 保存對(duì)象控制單元執(zhí)行下面的處理 (13-1)將被其子信息元素(E)表示為在控制表格在預(yù)定的時(shí)間段中沒(méi)有被更新的所述控制表格保存到非易失性存儲(chǔ)器,將所述控制表格的子信息元素(B)更新為具有表示控制表格沒(méi)有被更新的信息,并對(duì)所述控制表格的子信息元素(C)進(jìn)行更新以使其具有表示控制表格已經(jīng)被保存的信息;及 (13-2)當(dāng)在處理(13-1)中保存的控制表格被更新時(shí),將所述控制表格的子信息元素(B)更新為具有表示控制表格已經(jīng)被更新的信息,并對(duì)所述控制表格的子信息元素(C)進(jìn)行更新以使其具有表示控制表格還沒(méi)有被保存的信息; 非易失性存儲(chǔ)器是閃速存儲(chǔ)器; 當(dāng)更新控制信息元素時(shí),刷新處理單元對(duì)要保存控制信息元素的保存目的地應(yīng)用刷新處理; 易失性存儲(chǔ)器存儲(chǔ)典型保存值和表示臟數(shù)據(jù)的保存值的I/O保存值; 典型保存值和I/O保存值是保存對(duì)象; 對(duì)于各個(gè)控制表格,表格管理信息進(jìn)一步包括下面的子信息元素(F) (F)保存值,所述保存值是控制表格的保存值; 在計(jì)劃的停機(jī)時(shí)間中,保存單元將典型保存值更新為具有預(yù)定值,并將易失性存儲(chǔ)器中的所有保存對(duì)象保存到非易失性存儲(chǔ)器; 保存對(duì)象控制單元執(zhí)行下面的處理 (14-1)當(dāng)所述檢查出的充電狀態(tài)比在前一個(gè)時(shí)刻檢查出的充電狀態(tài)好時(shí),對(duì)作為保存對(duì)象的控制表格的子信息元素(F)進(jìn)行更新以使其具有與典型保存值同樣的值 '及 (14-2)當(dāng)所述檢查出的充電狀態(tài)比在前一個(gè)時(shí)刻檢查出的充電狀態(tài)差時(shí),對(duì)作為非保存對(duì)象的控制表格的子信息元素(F)進(jìn)行更新以使其具有與典型保存值不同的值; 當(dāng)在停止從主電源供給電能之后再次從主電源供給電能時(shí),恢復(fù)單元在易失性存儲(chǔ)器中恢復(fù)保存在非易失性存儲(chǔ)器中的信息,然后,當(dāng)所恢復(fù)的典型保存值與所恢復(fù)的I/O保存值不同時(shí),將所恢復(fù)的臟數(shù)據(jù)處理為易失性的數(shù)據(jù),并且當(dāng)所恢復(fù)的典型保存值與所恢復(fù)的表格管理信息的子信息元素(F)不同時(shí),將與不同于所恢復(fù)的典型保存值的子信息元素(F)相對(duì)應(yīng)的控制表格處理為易失性的表格。
12.根據(jù)權(quán)利要求10所述的存儲(chǔ)系統(tǒng),其中保存對(duì)象控制單元將在易失性存儲(chǔ)器中存儲(chǔ)的所述多個(gè)信息元素中的重要度低于預(yù)定重要度的信息元素當(dāng)做非保存對(duì)象,使得在易失性存儲(chǔ)器中的當(dāng)前保存對(duì)象總數(shù)量變得等于或小于對(duì)應(yīng)于檢查出的充電狀態(tài)能夠被保存的信息的數(shù)量。
13.根據(jù)權(quán)利要求10或12所述的存儲(chǔ)系統(tǒng),其中保存對(duì)象控制單元將已經(jīng)被保存但還沒(méi)有被更新的信息元素當(dāng)做非保存對(duì)象。
14.根據(jù)權(quán)利要求13所述的存儲(chǔ)系統(tǒng),其中保存對(duì)象控制單元將在預(yù)定時(shí)間段中沒(méi)有更新的信息元素從易失性存儲(chǔ)器保存到非易失性存儲(chǔ)器。
15.根據(jù)權(quán)利要求10、12和14中的任一項(xiàng)所述的存儲(chǔ)系統(tǒng),其中 非易失性存儲(chǔ)器是閃速存儲(chǔ)器;及 存儲(chǔ)系統(tǒng)進(jìn)一步包括刷新處理單元(3715),刷新處理單元(3715)在從主電源供給電能時(shí),對(duì)要保存保存對(duì)象的保存目的區(qū)域應(yīng)用刷新處理。
全文摘要
本發(fā)明允許在易失性存儲(chǔ)器中存儲(chǔ)的保存對(duì)象被可靠地保存到非易失性存儲(chǔ)器,并盡可能多的減少保存處理所需要的時(shí)間。規(guī)律地或不規(guī)律地檢查電池的充電狀態(tài)。根據(jù)檢查出的充電狀態(tài),確定在電能中斷發(fā)生時(shí)應(yīng)該使在易失性存儲(chǔ)器中存儲(chǔ)的哪個(gè)信息元素成為保存對(duì)象。在易失性存儲(chǔ)器中存儲(chǔ)的多個(gè)信息元素中,根據(jù)與預(yù)定信息元素相關(guān)的狀態(tài),使預(yù)定信息元素成為保存處理的非保存對(duì)象。
文檔編號(hào)G06F3/06GK102893251SQ20088013037
公開(kāi)日2013年1月23日 申請(qǐng)日期2008年12月4日 優(yōu)先權(quán)日2008年12月4日
發(fā)明者井上直基, 長(zhǎng)副康之 申請(qǐng)人:株式會(huì)社日立制作所