欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

存儲裝置以及該裝置中的管理信息退避方法與流程

文檔序號:11387980閱讀:321來源:國知局
本發(fā)明的實(shí)施方式涉及存儲裝置以及該裝置中的管理信息退避(轉(zhuǎn)移保存)方法。
背景技術(shù)
::作為存儲裝置例如磁盤裝置中使用的管理信息,已知有系統(tǒng)信息。系統(tǒng)信息由系統(tǒng)(例如,磁盤裝置的控制器)用于管理(例如,已寫入盤的數(shù)據(jù)的管理)。為了處理的高速化,系統(tǒng)信息被存儲于動(dòng)態(tài)ram(dram)這樣的易失性存儲器來使用。保存在易失性存儲器中的系統(tǒng)信息因向磁盤裝置供給電力的切斷(斷電)而消失。另一方面,為了避免因斷電導(dǎo)致數(shù)據(jù)消失,即,為了保護(hù)數(shù)據(jù)避免斷電影響,以往以來提出了各種方法。這些方法之一是如下方法:在斷電時(shí)使用備用電源將保存在易失性存儲器中的數(shù)據(jù)(例如,未寫入盤的寫數(shù)據(jù))退避到閃速rom這樣的非易失性存儲器。使用該方法提供的數(shù)據(jù)保護(hù)功能也被稱為掉電保護(hù)(powerlossprotection:plp)功能。因此,考慮利用plp功能將系統(tǒng)信息從易失性存儲器退避到非易失性存儲器。但是,即使利用了plp功能,也難以在能夠從備用電源供給電力的時(shí)間(即,可備份時(shí)間)內(nèi)將易失性存儲器內(nèi)的全部系統(tǒng)信息(更詳細(xì)而言,全部種類的系統(tǒng)信息)退避到非易失性存儲器。如果存在未退避的系統(tǒng)信息,則該未退避的系統(tǒng)信息因斷電而消失。該情況下,磁盤裝置的控制器必須在該磁盤裝置被啟動(dòng)時(shí)將未退避的系統(tǒng)信息恢復(fù)到即將發(fā)生斷電之前的狀態(tài)。上述的恢復(fù)所需的時(shí)間主要取決于應(yīng)恢復(fù)的系統(tǒng)信息的種類。plp功能例如也通過固態(tài)驅(qū)動(dòng)器(ssd)這樣的、磁盤裝置以外的存儲裝置來提供。即使在這樣的存儲裝置中利用了plp功能,在發(fā)生了斷電的情況下,也未必能夠退避全部系統(tǒng)信息。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的實(shí)施方式提供一種能夠縮短對在斷電時(shí)未從易失性存儲器退避到非易失性存儲器的管理信息進(jìn)行恢復(fù)所需的時(shí)間的存儲裝置以及該裝置中的管理信息退避方法。實(shí)施方式的具備非易失性存儲介質(zhì)的存儲裝置,具備易失性存儲器、能夠以比所述非易失性存儲介質(zhì)快的速度進(jìn)行訪問的非易失性存儲器、以及控制器。所述易失性存儲器保存用于所述存儲裝置中的管理的多個(gè)管理信息。所述控制器基于對所述多個(gè)管理信息分別進(jìn)行恢復(fù)所需的恢復(fù)時(shí)間,將一個(gè)以上的管理信息決定為應(yīng)退避到所述非易失性存儲器的退避對象。所述控制器進(jìn)一步相應(yīng)于向所述存儲裝置的電力供給的切斷而將所述決定出的管理信息退避到所述非易失性存儲器。附圖說明圖1是表示實(shí)施方式涉及的磁盤裝置的典型結(jié)構(gòu)的框圖。圖2是表示圖1所示的dram內(nèi)的緩沖區(qū)域的典型的存儲器映射圖(memorymap)的例子的圖。圖3是表示圖2所示的系統(tǒng)緩沖區(qū)域的cpu存儲器空間中的映射(mapping)的例子的圖。圖4是表示圖1所示的from內(nèi)的退避區(qū)域的典型的存儲器映射圖的例子的圖。圖5是表示圖1所示的系統(tǒng)緩沖管理表的數(shù)據(jù)構(gòu)造例的圖。圖6是表示圖1所示的from管理表的數(shù)據(jù)構(gòu)造例的圖。圖7是表示圖1所示的退避管理表的數(shù)據(jù)構(gòu)造例的圖。圖8是表示該實(shí)施方式中的系統(tǒng)信息退避處理的典型步驟的流程圖。圖9是表示系統(tǒng)信息退避處理所包含的退避對象決定處理的典型步驟的流程圖。具體實(shí)施方式以下,參照附圖對實(shí)施方式進(jìn)行說明。圖1是表示實(shí)施方式涉及的磁盤裝置的典型結(jié)構(gòu)的框圖。磁盤裝置是存儲裝置的一例,也被稱為硬盤驅(qū)動(dòng)器(hdd)。因此,在以下的說明中,將磁盤裝置表述為hdd。圖1所示的hdd具備頭盤組件(hda)11、驅(qū)動(dòng)器ic12、控制器13、dram14、閃速rom(from)15以及備用電源16。hda11包括盤110。盤110例如是在該盤110的至少一個(gè)面具備以磁方式記錄數(shù)據(jù)的記錄面的非易失性存儲介質(zhì)。即,盤110具有存儲區(qū)域111。存儲區(qū)域111的一部分被用作媒體緩存(mediacache,mc)區(qū)域112,該存儲區(qū)域111的另外一部分被用作用戶數(shù)據(jù)區(qū)域113。用戶數(shù)據(jù)區(qū)域113例如被劃分成被稱為帶(band)的多個(gè)同心圓狀的區(qū)域。各帶例如被用作數(shù)據(jù)補(bǔ)記型訪問區(qū)域。mc區(qū)域112例如構(gòu)成不能被用戶訪問的區(qū)域(所謂的系統(tǒng)區(qū)域)的一部分。mc區(qū)域112被用于對保存在dram14的緩沖區(qū)域141內(nèi)的數(shù)據(jù)緩沖區(qū)域144(圖2)中的數(shù)據(jù)的一部分(例如,隨機(jī)訪問的寫數(shù)據(jù))按次序進(jìn)行保存(退避)。在本實(shí)施方式中,數(shù)據(jù)緩沖區(qū)域144和mc區(qū)域112分別被用作一次緩存和二次緩存。用戶數(shù)據(jù)區(qū)域113例如用于保存由來自主機(jī)的寫命令確定的寫數(shù)據(jù)。hda11還包括頭、主軸馬達(dá)(spm)以及致動(dòng)器等周知的機(jī)械要素。但是,這些要素在圖1中省略。頭被支承于懸架,包括讀元件和寫元件。寫元件的寬度設(shè)為比讀元件的寬度大。寫元件和讀元件的寬度是指與懸架的中心線正交的方向上的寬度。在本實(shí)施方式中,對于向盤110寫入數(shù)據(jù),使用疊瓦式磁記錄(shingledmagneticrecording)。在疊瓦式磁記錄中,從各帶內(nèi)的開頭的磁道到末尾的磁道依次寫入數(shù)據(jù)。并且,每當(dāng)一個(gè)磁道的數(shù)據(jù)被寫入帶時(shí),寫元件以與寫磁道的一部分重疊的方式在盤110的半徑方向上移動(dòng)與讀元件跟隨的軌跡(讀磁道)對應(yīng)的間距。使用疊瓦式磁記錄而被寫入數(shù)據(jù)的各帶包括第1磁道和與該第1磁道局部重疊的第2磁道。spm使盤110旋轉(zhuǎn)。驅(qū)動(dòng)器ic12按照控制器13(更詳細(xì)而言,控制器13內(nèi)的cpu133)的控制來驅(qū)動(dòng)spm以及致動(dòng)器??刂破?3例如使用將多個(gè)元件集成在單個(gè)芯片上的被稱為片上系統(tǒng)(system-on-a-chip,soc)的大規(guī)模集成電路(lsi)來實(shí)現(xiàn)??刂破?3包括主機(jī)接口控制器(以下,稱為hif控制器)131、盤接口控制器(以下,稱為dif控制器)132以及cpu133。hif控制器131經(jīng)由主機(jī)接口20與主機(jī)裝置(以下,稱為主機(jī))連接。hif控制器131接收從主機(jī)傳送的命令(寫命令、讀命令等)。hif控制器131控制主機(jī)與dram14之間的數(shù)據(jù)傳送。dif控制器132控制盤110與dram14之間的數(shù)據(jù)傳送。dif控制器132包括讀/寫通道(未圖示)。讀/寫通道處理與對盤110的讀/寫關(guān)聯(lián)的信號。讀/寫通道將從盤110讀取的信號(讀信號)通過模擬-數(shù)字轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字?jǐn)?shù)據(jù),從數(shù)字?jǐn)?shù)據(jù)解碼讀數(shù)據(jù)。另外,讀/寫通道從數(shù)字?jǐn)?shù)據(jù)提取頭的定位所需的伺服數(shù)據(jù)。另外,讀/寫通道對向盤110寫入的寫數(shù)據(jù)進(jìn)行編碼。此外,讀/寫通道也可以獨(dú)立于dif控制器132而設(shè)置。該情況下,dif控制器132控制dram14與讀/寫通道之間的數(shù)據(jù)傳送即可。cpu133是作為圖1所示的hdd的主控制器發(fā)揮功能的處理器。cpu133按照控制程序來控制hdd內(nèi)的其他要素的至少一部分。該至少一部分包括驅(qū)動(dòng)器ic12、hif控制器131以及dif控制器132,在本實(shí)施方式中,控制程序被預(yù)先保存于盤110或from15的特定的存儲區(qū)域中。cpu133包括sram134。sram134是通常具有比dram14高的訪問速度的易失性存儲器。但是,也可以取代sram134而使用dram14。控制程序的至少一部分例如在開始了從主電源向hdd供給電力的情況下,被從from15加載到sram134(或dram14)的存儲區(qū)域的一部分。另外,控制程序也可以被預(yù)先保存于盤110或讀取專用的非易失性存儲器(例如rom)(未圖示)??刂瞥绦虻闹辽僖徊糠忠部梢圆灰欢ū患虞d到sram134(或dram14)。sram134的存儲區(qū)域的另外一部分被用于保存系統(tǒng)緩沖管理表135以及from管理表136。表135以及136被預(yù)先保存于盤110的特定的存儲區(qū)域,在hdd啟動(dòng)時(shí)被從該特定的存儲區(qū)域加載到sram134(或dram14)。另外,表135以及136也可以預(yù)先保存于from15或rom(未圖示)。表135以及136不一定需要被加載到sram134(或dram14)。dram14的存儲區(qū)域的一部分被用作緩沖區(qū)域141。緩沖區(qū)域141的一部分被用作用于保存多個(gè)系統(tǒng)信息(更詳細(xì)而言,多個(gè)種類的系統(tǒng)信息)的系統(tǒng)緩沖區(qū)域143(圖2)。緩沖區(qū)域141的另外一部分被用作用于保存應(yīng)向盤110寫入的數(shù)據(jù)以及從盤110讀出的數(shù)據(jù)的數(shù)據(jù)緩沖區(qū)域144(圖2)。dram14的存儲區(qū)域的另外一部分用于保存退避管理表142。退避管理表142用于保持與多個(gè)系統(tǒng)信息的退避相關(guān)的管理信息。此外,退避管理表142也可以保存于sram134。from15是可改寫的非易失性存儲器。在本實(shí)施方式中,在from15的存儲區(qū)域的一部分預(yù)先保存有初始程序加載程序(ipl)。cpu133例如通過相應(yīng)于開始從主電源向hdd供給電力來執(zhí)行ipl,由此將保存在from15的存儲區(qū)域的另外一部分或盤110中的控制程序的至少一部分加載到sram134。ipl例如也可以預(yù)先保存于rom。from15的存儲區(qū)域的另外一部分被用作退避區(qū)域150。退避區(qū)域150用于在從主電源向hdd的電力供給被切斷的情況下對保存在dram14的緩沖區(qū)域141中的信息的一部分進(jìn)行退避。此外,dram14以及from15也可以設(shè)置于控制器13的內(nèi)部。備用電源16相應(yīng)于向hdd的電力供給的切斷(斷電)而暫時(shí)生成電力。所生成的電力被用于將保存在緩沖區(qū)域141中的信息的一部分退避到from15內(nèi)的退避區(qū)域150。但是,在本實(shí)施方式中,所生成的電力設(shè)為也用于使頭撤回到偏離盤110的地方(所謂的斜坡)。圖2表示dram14內(nèi)的緩沖區(qū)域141的典型的存儲器映射圖的例子。如前所述,緩沖區(qū)域141包括系統(tǒng)緩沖區(qū)域143和數(shù)據(jù)緩沖區(qū)域144。系統(tǒng)緩沖區(qū)域143例如用于保存表tbl1至tbl5。表tbl1至tbl5分別用于保持用于hdd管理的第1至第5種系統(tǒng)信息(管理信息)。在本實(shí)施方式中,各表tbl1至tbl5(第1至第5種系統(tǒng)信息)的大小已預(yù)先確定,在圖2中,如括弧內(nèi)所記載的那樣,分別是20000h、50000h、40000h、30000h以及10000h。此外,它們的大小的單位為字節(jié),末尾的h表示是16進(jìn)制表述。系統(tǒng)緩沖區(qū)域143被分配到能夠被cpu133識別的存儲器空間(即cpu存儲器空間)的特定的地址范圍。圖3表示cpu存儲器空間中的系統(tǒng)緩沖區(qū)域143的映射的例子。如圖3所示,系統(tǒng)緩沖區(qū)域143例如被分配到cpu存儲器空間30中的地址范圍40000h至4f0000h。地址范圍40000h至4f0000h的大小等于表tbl1至tbl5的大小的總和(f0000h)。因此,保存在系統(tǒng)緩沖區(qū)域143中的表tbl1、tbl2、tbl3、tbl4以及tbl5分別被分配到cpu存儲器空間30中的地址范圍40000h至42000h、42000h至47000h、47000h至4b000h、4b000h至4e000h、以及4e000h至4f000h。該情況下,cpu133例如通過使用cpu地址40000h至42000h的任一個(gè),能夠?qū)Ρ4嬖谙到y(tǒng)緩沖區(qū)域143中的表tbl1內(nèi)的條目進(jìn)行訪問。圖4表示from15內(nèi)的退避區(qū)域150的典型的存儲器映射圖的例子。退避區(qū)域150包括用于使用plp功能來退避dram14內(nèi)的表tbl1至tbl5的表退避區(qū)域151至155。在本實(shí)施方式中,對于表退避區(qū)域151、152、153、154以及155,from15中的地址(即,from地址)的范圍分別被確保為0h至20000h、20000h至70000h、70000h至b0000h、b0000h至e0000h、以及e0000h至f0000h的區(qū)域。圖5表示系統(tǒng)緩沖管理表135的數(shù)據(jù)構(gòu)造例。系統(tǒng)緩沖管理表135具有與表tbl1至tbl5分別關(guān)聯(lián)的條目。系統(tǒng)緩沖管理表135內(nèi)的第i個(gè)(i=1,2,3,4,5)條目用于保持用于對cpu存儲器空間30(即,分配有系統(tǒng)緩沖區(qū)域143的cpu存儲器空間30)中的表tbli(第i種系統(tǒng)信息)的保存目的地(映射目的地)進(jìn)行管理的管理信息(系統(tǒng)緩沖管理信息)。系統(tǒng)緩沖管理信息包括表tbli的標(biāo)識符(id)、cpu地址和大小信息。cpu地址表示分配有表tbli(更詳細(xì)而言,保存表tbli的dram14內(nèi)的區(qū)域)的cpu存儲器空間30內(nèi)的cpu地址范圍的開頭位置。大小信息表示cpu地址范圍的大小。該大小等于表tbli的大小。圖6表示from管理表136的數(shù)據(jù)構(gòu)造例。from管理表136具有與表tbl1至tbl5分別關(guān)聯(lián)的條目。from管理表136內(nèi)的第i個(gè)條目用于保持用于對from15中的表tbli的退避目的地進(jìn)行管理的管理信息(退避目的地管理信息)。但是,在本實(shí)施方式中,在使用了plp功能的退避工作中,不限于將表tbl1至tbl5全部退避到由from管理表136管理的退避目的地。退避目的地管理信息包括表tbli的id、from地址和大小信息。from地址表示作為表tbli的退避目的地而使用的from15內(nèi)的from地址范圍的開頭位置。大小信息表示from地址范圍的大小。該大小等于表tbli的大小。在本實(shí)施方式中,設(shè)為系統(tǒng)緩沖管理表135以及from管理表136的內(nèi)容通過控制程序被預(yù)先確定、且不被更新。另外,在表135以及136中,與表tbl1至tbl5關(guān)聯(lián)的條目的順序也通過控制程序被預(yù)先確定。因此,cpu133能夠按照控制程序在表135以及136中確定與表tbl1至tbl5關(guān)聯(lián)的條目。因此,表135以及136的各條目不一定需要具有對應(yīng)的表的id。圖7表示退避管理表142的數(shù)據(jù)構(gòu)造例。退避管理表142具有與表tbl1至tbl5分別關(guān)聯(lián)的條目。退避管理表142內(nèi)的第i個(gè)條目用于保持用于對表tbli的退避進(jìn)行管理的管理信息(退避管理信息)。退避管理信息包括表tbli的id、更新標(biāo)志(flag)、大小信息、恢復(fù)時(shí)間信息和退避標(biāo)志。更新標(biāo)志表示是否為表tbli已被更新但該更新后的表tbli未保存到盤110。在更新標(biāo)志表示表tbli的更新以及未保存(即,更新后的表tbli的未保存)的情況下,該更新標(biāo)志也表示表tbli是斷電時(shí)的退避的候選。大小信息表示表tbli的大小?;謴?fù)時(shí)間信息表示假設(shè)在更新后的表tbli未保存到盤110的狀態(tài)下盡管發(fā)生了斷電但該表tbli卻未被退避時(shí)、在hdd啟動(dòng)時(shí)應(yīng)執(zhí)行的用于恢復(fù)該表tbli的工作所需的時(shí)間(恢復(fù)時(shí)間)。圖7所示的恢復(fù)時(shí)間的單位例如為毫秒(ms)。表tbli的恢復(fù)時(shí)間主要取決于該表tbli的種類(更詳細(xì)而言,該表tbli所保持的系統(tǒng)信息的種類),例如,通過恢復(fù)時(shí)間決定處理來決定。退避標(biāo)志表示表tbli是否在斷電時(shí)應(yīng)被退避。退避標(biāo)志以及上述的更新標(biāo)志在初始狀態(tài)下被清除(clear)。在圖7中,退避標(biāo)志和更新標(biāo)志分別被設(shè)置(set,置位)的狀態(tài)由“1”表示,退避標(biāo)志和更新標(biāo)志分別被清除的狀態(tài)由“0”表示。接著,對于與上述的恢復(fù)時(shí)間相關(guān)的恢復(fù)工作,以恢復(fù)表tbli的情況為例來說明。在本實(shí)施方式中,表tbli(更詳細(xì)而言,更新后的表tbli)適當(dāng)?shù)?例如,在未從主機(jī)請求訪問的hdd的空閑狀態(tài)下)保存于盤110的特定區(qū)域。在此,設(shè)為盡管表tbli已被更新但在被保存到盤110之前發(fā)生了斷電。該情況下,如果更新后的表tbli(即,最新的表tbli)未被退避到例如from15,則該最新的表tbli消失。另外,上述的更新未反映于在該更新以前保存在盤110的特定區(qū)域中的表tbli(更詳細(xì)而言,舊表tbli)。因此,cpu133在hdd啟動(dòng)時(shí),執(zhí)行用于將表tbli恢復(fù)到即將發(fā)生斷電之前的狀態(tài)的恢復(fù)工作。設(shè)為表tbli例如是用于管理mc區(qū)域112所保存的數(shù)據(jù)(即,隨機(jī)訪問的寫數(shù)據(jù))的表(以下,稱為mc管理表)。該情況下,表tbli按來自主機(jī)的寫命令而保持用于管理寫數(shù)據(jù)(隨機(jī)訪問寫數(shù)據(jù))的管理信息。該管理信息包括邏輯地址(例如邏輯塊地址)、mc地址以及大小信息。邏輯塊地址表示寫數(shù)據(jù)的開頭的邏輯位置(即,由主機(jī)識別的位置)。mc地址表示保存在mc區(qū)域112中的寫數(shù)據(jù)的開頭的物理位置(即,盤110上的位置)。大小信息表示寫數(shù)據(jù)的大小。在該寫數(shù)據(jù)(隨機(jī)訪問寫數(shù)據(jù))被保存于mc區(qū)域112的情況下,對該寫數(shù)據(jù)附加報(bào)頭(header)。該報(bào)頭與表tbli所保持的管理信息同樣地,包括邏輯塊地址、mc地址以及大小信息。在恢復(fù)工作中,cpu133在表tbli最近被退避到盤110的特定區(qū)域的時(shí)刻以后,讀取被寫入到mc區(qū)域112的數(shù)據(jù)。并且,cpu133基于對所讀取的數(shù)據(jù)附加的報(bào)頭的信息來恢復(fù)表tbli。為了該恢復(fù),cpu133需要使用讀取工作來檢測因斷電導(dǎo)致數(shù)據(jù)的寫入未完成的mc區(qū)域112上的部位(寫入未完成點(diǎn))。如本實(shí)施方式所示,在向mc區(qū)域112寫入的數(shù)據(jù)是隨機(jī)訪問寫數(shù)據(jù)的情況下,寫入未完成點(diǎn)的檢測需要較長時(shí)間。其主要要因如下。如本實(shí)施方式所示,在對向盤110的數(shù)據(jù)寫入應(yīng)用疊瓦式磁記錄的情況下,一個(gè)磁道的數(shù)據(jù)先被重疊于已寫入數(shù)據(jù)的磁道的一部分而寫入。也就是說,在疊瓦式磁記錄中,因重疊寫入而損壞相鄰磁道的數(shù)據(jù)的一部分。因此,在數(shù)據(jù)的寫入到達(dá)帶的終端之前發(fā)生了斷電的情況下,在該帶的一部分會產(chǎn)生包含數(shù)據(jù)受損的扇區(qū)的磁道(與正在寫入的磁道相鄰的接著的磁道)。因此,dif控制器132針對數(shù)據(jù)受損的部分,為了盡可能地讀取數(shù)據(jù),反復(fù)多次進(jìn)行重試。這就是寫入未完成點(diǎn)的檢測需要較長時(shí)間的理由。重試所需的最大的或平均的時(shí)間(第1時(shí)間)和二分法檢索(binarysearch)所需的最大的或平均的時(shí)間(第2時(shí)間)能夠通過計(jì)算來算出。因此,在表tbli是mc管理表的情況下,cpu133通過執(zhí)行恢復(fù)時(shí)間決定處理,能夠基于第1時(shí)間以及第2時(shí)間來決定(預(yù)測)該表tbli的恢復(fù)所需的時(shí)間。接著,設(shè)為表tbli是用于管理數(shù)據(jù)流的管理表(以下,稱為旁路表(bypasstable))。各數(shù)據(jù)流由序列數(shù)據(jù)構(gòu)成。該情況下,表tbli按各個(gè)數(shù)據(jù)流來保持用于管理對應(yīng)的序列數(shù)據(jù)(序列寫數(shù)據(jù))的管理信息。在本實(shí)施方式中,表tbl1至tbl5之一是mc管理表,表tbl1至tbl5的另外之一是旁路表。另外,設(shè)為表tbl1至tbl5不包括用于管理數(shù)據(jù)的邏輯地址(例如邏輯塊地址)與實(shí)際保存該數(shù)據(jù)的盤110(非易失性存儲介質(zhì))上的物理地址的對應(yīng)管理的地址轉(zhuǎn)換表。其理由是因?yàn)椋涸趆dd中應(yīng)用的地址轉(zhuǎn)換表的更新頻度比較低,因此,在本實(shí)施方式中,當(dāng)?shù)刂忿D(zhuǎn)換表每次被更新時(shí),cpu133都將該更新后的地址轉(zhuǎn)換表保存于盤110的特定區(qū)域。但是,表tbl1至tbl5之一也可以是地址轉(zhuǎn)換表。在本實(shí)施方式中,在多個(gè)數(shù)據(jù)流的寫入完成之前,有可能會發(fā)生斷電。例如,設(shè)為從主機(jī)對hdd依次發(fā)布了寫命令wc1至wc8。設(shè)為由寫命令wc1、wc2、wc4以及wc7確定的寫數(shù)據(jù)wd1、wd2、wd4以及wd7是序列,并被寫入到盤110的用戶數(shù)據(jù)區(qū)域113的第1區(qū)域。另外,設(shè)為由寫命令wc3以及wc5確定的寫數(shù)據(jù)wd3以及wd5也是序列,并被寫入到盤110的用戶數(shù)據(jù)區(qū)域113的第2區(qū)域。進(jìn)而,設(shè)為由寫命令wc6以及wc8確定的寫數(shù)據(jù)wd6以及wd8也是序列,在該寫數(shù)據(jù)wd8正在被寫入到盤110的用戶數(shù)據(jù)區(qū)域113的第3區(qū)域的過程中發(fā)生了斷電。該情況下,表tbli(最新的表tbli)如果未被退避到例如from15,則該最新的表tbli消失。因此,cpu133在hdd啟動(dòng)時(shí),執(zhí)行用于將表tbli恢復(fù)到即將發(fā)生斷電之前的狀態(tài)的恢復(fù)工作。在上述的例子中,cpu133搜索3個(gè)數(shù)據(jù)流,基于對所搜索出的3個(gè)數(shù)據(jù)流附加的報(bào)頭的信息來恢復(fù)表tbli。為了該恢復(fù),cpu133檢測寫入未完成點(diǎn)。將搜索數(shù)據(jù)流所需的最大的或平均的時(shí)間稱為第3時(shí)間。另外,將寫入未完成點(diǎn)的檢測所需的最大的或平均的時(shí)間稱為第4時(shí)間。該情況下,若設(shè)為表tbli是旁路表,則cpu133通過執(zhí)行恢復(fù)時(shí)間決定處理,能夠基于第3時(shí)間以及第4時(shí)間來決定該表tbli的恢復(fù)所需的時(shí)間。通常,旁路表的恢復(fù)時(shí)間比mc管理表的恢復(fù)時(shí)間長。在旁路表的情況下,需要根據(jù)用途而準(zhǔn)備100個(gè)以上的數(shù)據(jù)流,因此恢復(fù)需要較長時(shí)間。接著,以包含系統(tǒng)信息(表)退避工作的系統(tǒng)信息退避處理為例,參照圖8以及圖9對本實(shí)施方式的工作進(jìn)行說明。圖8是表示系統(tǒng)信息退避處理的典型步驟的流程圖,圖9是表示系統(tǒng)信息退避處理所包含的退避對象決定處理的典型步驟的流程圖。首先,cpu133監(jiān)視由退避管理表142管理的表(在本實(shí)施方式中,表tbl1至tbl5)的更新,判定是否在表tbl1至tbl5的任一個(gè)表中發(fā)生了更新(a101)。此外,在本實(shí)施方式中,cpu133也執(zhí)行表更新。但是,也可以是與cpu133不同的cpu(處理器)來執(zhí)行表更新。如果未發(fā)生表更新(a101:否),則cpu133判定從主電源向hdd的電力供給是否被切斷(a105)。在本實(shí)施方式中,cpu133在檢測到從主電源施加于hdd的電源電壓超過一定期間地小于一定電平(即,閾值)的狀態(tài)的情況下,判定為電力供給被切斷(即,斷電)。如果未發(fā)生斷電(a105:否),則cpu133返回到a101。另一方面,如果發(fā)生了表更新(a101:是),則cpu133確定被更新的表(a102)。在此,設(shè)為表tbli被確定為被更新的表。該情況下,cpu133對與所確定出的表tbli關(guān)聯(lián)的退避管理表142內(nèi)的條目設(shè)置更新標(biāo)志(a103)。在該a103中,cpu133也可以計(jì)算所確定(更新)出的表tbli的恢復(fù)所需的時(shí)間(恢復(fù)時(shí)間),并將與該表tbli關(guān)聯(lián)的退避管理表142內(nèi)的恢復(fù)時(shí)間信息更新成表示該計(jì)算出的時(shí)間。被設(shè)置的更新標(biāo)志在表tbli例如在hdd的空閑狀態(tài)下已被保存于盤110的特定區(qū)域的情況下被清除。接著,cpu133執(zhí)行退避對象決定處理(a104)。退避對象決定處理包括如下的處理步驟,該處理步驟用于將由退避管理表142管理的表tbl1至tbl5中的、在斷電時(shí)應(yīng)退避到from15的退避區(qū)域150的一個(gè)以上的表決定為退避對象。在此,參照圖9對退避對象決定處理進(jìn)行說明。首先,cpu133參照退避管理表142,從該退避管理表142中選擇設(shè)置有更新標(biāo)志的全部條目(a201)。在圖7所示的退避管理表142的例子中,選擇表tbl1至tbl4的條目。在圖7所示的退避管理表142的例子中,在表tbl1以及tbl2關(guān)聯(lián)的條目設(shè)置有退避標(biāo)志。但是,在執(zhí)行a201的時(shí)刻,未對與表tbl1以及tbl2關(guān)聯(lián)的條目設(shè)置退避標(biāo)志。接著,cpu133確定與所選擇出的條目關(guān)聯(lián)的表(a202)。例如,在選擇了表tbl1至tbl4的條目的情況下,可確定該表tbl1至tbl4。接著,cpu133生成包含所確定出的表中的一個(gè)以上表的全部組合(a203)。在確定出表tbl1至tbl4的情況下,所生成的組合中的包含單個(gè)表的組合是如下的第1至第4組合。第1至第4組合分別包含表tbl1至tbl4。因此,將第1至第4組合分別表述為組合c1[tbl1]至c4[tbl4]。所生成的組合中的包含2個(gè)表的組合是如下的第5至第10組合。第5、第6和第7組合分別包含表tbl1以及tbl2、表tbl1以及tbl3、和表tbl1以及tbl4。第8、第9和第10組合分別包含表tbl2以及tbl3、表tbl2以及tbl4、和表tbl3以及tbl4。因此,將第5、第6、第7、第8、第9以及第10組合分別表述為組合c5[tbl1,tbl2]、c6[tbl1,tbl3]、c7[tbl1,tbl4]、c8[tbl2,tbl3]、c9[tbl2,tbl4]以及c10[tbl3,tbl4]。所生成的組合中的包含3個(gè)表的組合是如下的第11至第14組合。第11、第12、第13和第14組合分別包含表tbl1至tbl3;表tbl1、tbl2以及tbl4;tbl1、tbl3以及tbl4;以及表tbl2至tbl4。因此,將第11、第12、第13以及第14的組合分別表述為組合c11[tbl1,tbl2,tbl3]、c12[tbl1,tbl2,tbl4]、c13[tbl1,tbl3,tbl4]以及c14[tbl2,tbl3,tbl4]。所生成的組合中的包含4個(gè)表的組合僅為如下的第15組合。第15組合包含表tbl1至tbl4。因此,將第15組合表述為組合c15[tbl1,tbl2,tbl3,tbl4]。此外,為了簡化,有時(shí)也將第1至第15組合分別表述為組合c1至c15。cpu133在執(zhí)行a203時(shí),按所生成的每個(gè)組合,基于退避管理表142算出對應(yīng)的組合所包含的一個(gè)以上的表的大小的總和(a204)。將與組合c1至c15對應(yīng)的總大小分別表述為ts1_c1至ts15_c15。在圖7所示的退避管理表142的例子中,表tbl1、tbl2、tbl3以及tbl4的大小分別為20000h、50000h、40000h以及30000h(字節(jié))。該情況下,ts1_c1(=ts1_c1[tbl1])、ts2_c2(=ts2_c2[tbl2])、ts3_c3(=ts3_c3[tbl3])以及ts4_c4(=ts4_c4[tbl4])也分別為20000h、50000h、40000h以及30000h。接著,ts5_c5(=ts5_c5[tbl1,tbl2])、ts6_c6(=ts6_c6[tbl1,tbl3])以及ts7_c7(=ts7_c7[tbl1,tbl4])分別為20000h+50000h=70000h、20000h+40000h=60000h以及20000h+30000h=50000h。ts8_c8(=ts8_c8[tbl2,tbl3])、ts9_c9(=ts9_c9[tbl2,tbl4])以及ts10_c10(=ts10_c10[tbl3,tbl4])分別為50000h+40000h=90000h、50000h+30000h=80000h以及40000h+30000h=70000h。接著,ts11_c11(=ts11_c11[tbl1,tbl2,tbl3])、ts12_c12(=ts12_c12[tbl1,tbl2,tbl4])、ts13_c13(=ts13_c13[tbl1,tbl3,tbl4])以及ts14_c14(=ts14_c14[tbl2,tbl3,tbl4])分別為20000h+50000h+40000h=b0000h、20000h+50000h+30000h=a0000h、20000h+40000h+30000h=90000h以及50000h+40000h+30000h=c0000h。ts15_c15(=ts15_c15[tbl1,tbl2,tbl3,tbl4])為20000h+50000h+40000h+30000h=e0000h。接著,cpu133從總大小ts1至ts15中檢測大小閾值以下的總大小,選擇與檢測出的總大小對應(yīng)的全部組合(a205)。大小閾值表示在能夠從備用電源16供給電力的時(shí)間(可備份時(shí)間)內(nèi)能夠從dram14的系統(tǒng)緩沖區(qū)域143退避到from15的退避區(qū)域150的信息的大小。在本實(shí)施方式中,大小閾值為80000h。該情況下,大小閾值以下的總大小為ts1_c1至ts7_c7、ts9_c9以及ts10_c10,因此cpu133選擇組合c1至c7、c9以及c10。接著,cpu133按所選擇出的每個(gè)組合,基于退避管理表142來算出對應(yīng)的組合所包含的一個(gè)以上的表的恢復(fù)時(shí)間的總和(a206)。將與組合c1至c7、c9以及c10對應(yīng)的總恢復(fù)時(shí)間分別表述為trp1_c1至trp7_c7、trp9_c9以及trp10_c10。在圖7所示的退避管理表142的例子中,表tbl1、tbl2、tbl3以及tbl4的恢復(fù)時(shí)間分別為3000、3000、1000以及2000(ms)。該情況下,trp1_c1(=trp1_c1[tbl1])、trp2_c2(=trp2_c2[tbl2])、trp3_c3(=trp3_c3[tbl3])以及trp4_c4(=trp4_c4[tbl4])也分別為3000、3000、1000以及2000。接著,trp5_c5(=trp5_c5[tbl1,tbl2])、trp6_c6(=trp6_c6[tbl1,tbl3])以及trp7_c7(=trp7_c7[tbl1,tbl4])分別為3000+3000=6000、3000+1000=4000以及3000+2000=5000。trp9_c9(=trp9_c9[tbl2,tbl4])以及trp10_c10(=trp10_c10[tbl3,tbl4])分別為3000+2000=5000以及1000+2000=3000。接著,cpu133從總恢復(fù)時(shí)間trp1_c1至trp7_c7、trp9_c9以及trp10_c10中檢測最大的總恢復(fù)時(shí)間(a207)。在a207中,cpu133將與所檢測出的總恢復(fù)時(shí)間對應(yīng)的組合決定為在斷電時(shí)應(yīng)退避到from15的退避區(qū)域150的退避對象。在上述的例子中,因?yàn)閠rp5_c5最大,所以cpu133將組合c5[tbl1,tbl2])決定為退避對象。即,cpu133將構(gòu)成組合c5[tbl1,tbl2])的表tbl1以及tbl2決定為退避對象。接著,cpu133對與構(gòu)成所決定出的組合的一個(gè)以上的表關(guān)聯(lián)的退避管理表142內(nèi)的一個(gè)以上的條目(第1條目)設(shè)置退避標(biāo)志(a208)。在上述的例子中,cpu133對與表tbl1以及tbl2關(guān)聯(lián)的退避管理表142內(nèi)的條目設(shè)置退避標(biāo)志(a208)。圖7示出了執(zhí)行了該a208之后的退避管理表142的內(nèi)容。在此,設(shè)為在退避對象決定處理(圖8的a104)開始之前,對退避管理表142內(nèi)的一個(gè)以上的條目已經(jīng)設(shè)置有退避標(biāo)志。另外,設(shè)為已經(jīng)設(shè)置有退避標(biāo)志的一個(gè)以上的條目包括第1條目以外的第2條目。這樣的狀態(tài)有可能會因伴隨上次的表更新(圖8的a101:是)的退避對象決定處理而產(chǎn)生。在對第2條目已經(jīng)設(shè)置有退避標(biāo)志的情況下,在a208中,cpu133將對該第2條目已經(jīng)設(shè)置的退避標(biāo)志清除。此外,也可以在退避對象決定處理的例如開頭,cpu133將退避管理表142內(nèi)的全部退避標(biāo)志清除。cpu133在執(zhí)行了a208時(shí),結(jié)束按照圖9的流程圖的退避對象決定處理(圖8的a104),進(jìn)入a105(圖8)。如前所述,在a105中,cpu133判定是否發(fā)生了斷電。如果未發(fā)生斷電(a105:否),則cpu133返回到a101。與此相對,如果發(fā)生了斷電(a105:是),則cpu133啟動(dòng)plp功能(a106)。于是,備用電源16生成電力。在本實(shí)施方式中,備用電源16在電力的生成中使用spm的反電動(dòng)勢。該情況下,也可以將備用電源16的至少一部分安裝于驅(qū)動(dòng)器ic12。但是,也可以是備用電源16使用通過施加于hdd的電源電壓進(jìn)行充電的電容器來生成電力。由備用電源16生成的電力被供給到hdd內(nèi)的至少驅(qū)動(dòng)器ic12、控制器13、dram14以及from15。但是,在圖1中,省略了用于從備用電源16向驅(qū)動(dòng)器ic12、dram14以及from15供給電力的路徑。cpu133接受由備用電源16生成的電力來繼續(xù)進(jìn)行系統(tǒng)信息退避處理。首先,cpu133基于在退避管理表142中是否包含設(shè)置有退避標(biāo)志的條目,判定是否殘留有應(yīng)退避的表(a107)。如果殘留有應(yīng)退避的表(a107:是),則cpu133選擇應(yīng)退避的一個(gè)表,將該選擇出的表退避到from15的退避區(qū)域150(a108)。以下說明該a108的詳細(xì)內(nèi)容。首先,cpu133通過確定退避管理表142所包含的設(shè)置有退避標(biāo)志的1個(gè)條目,選擇與該確定出的條目關(guān)聯(lián)的表。接著,cpu133基于與所選擇出的表關(guān)聯(lián)的系統(tǒng)緩沖管理表135內(nèi)的條目,確定保存有該選擇出的表的系統(tǒng)緩沖區(qū)域143內(nèi)的第1地址范圍(更詳細(xì)而言,cpu存儲器空間30中的地址范圍)。另外,cpu133基于與所選擇出的表關(guān)聯(lián)的from管理表136內(nèi)的條目,確定應(yīng)退避該選擇出的表的退避區(qū)域150內(nèi)的第2地址范圍。接著,cpu133從dram14內(nèi)的系統(tǒng)緩沖區(qū)域143所包含的、且映射到第1地址范圍的區(qū)域中讀取所選擇出的表(所保持的系統(tǒng)信息)。cpu133將所讀取出的表退避到from15的退避區(qū)域150中的第2地址范圍。由此,cpu133結(jié)束a108的執(zhí)行。于是,cpu133將與已被退避的表關(guān)聯(lián)的、退避管理表142內(nèi)的條目中的退避標(biāo)志清除(a109)。然后,cpu133返回到a107。如果仍殘留有應(yīng)退避的表(a107:是),則cpu133再次執(zhí)行a108以及a109,返回到a107。與此相對,如果未殘留應(yīng)退避的表(a107:否),則cpu133結(jié)束系統(tǒng)信息退避處理。在圖7所示的退避管理表142的例子中,作為應(yīng)退避的表,選擇表tbl1以及tbl2(a108)。該情況下,表tbl1以及tbl2分別被退避到from15內(nèi)的表退避區(qū)域151以及152。cpu133在相應(yīng)于向hdd的電力供給的再次開始而啟動(dòng)該hdd時(shí),根據(jù)系統(tǒng)緩沖管理表135以及from管理表136將已退避到表退避區(qū)域151以及152的表tbl1以及tbl2從該表退避區(qū)域151以及152加載到dram14的系統(tǒng)緩沖區(qū)域143。在圖7的例子中,表tbl3至tbl5未被退避到from15。而且,表tbl3以及tbl4已被更新。該情況下,在hdd啟動(dòng)時(shí),cpu133執(zhí)行用于將表tbl3以及tbl4恢復(fù)到即將發(fā)生斷電之前的狀態(tài)的恢復(fù)處理。從圖7可知,該表tbl3以及tbl4的恢復(fù)所需的時(shí)間大致為1000+2000=3000(ms)。與此相對,設(shè)為:不同于本實(shí)施方式,表tbl3以及tbl4相應(yīng)于斷電而退避到from15內(nèi)的表退避區(qū)域153以及154,表tbl1以及tbl2在hdd啟動(dòng)時(shí)被恢復(fù)。該情況下,表tbl1以及tbl2的恢復(fù)所需的時(shí)間大致為3000+3000=6000(ms),時(shí)間比本實(shí)施方式長。如此,根據(jù)本實(shí)施方式,cpu133相應(yīng)于斷電而將恢復(fù)需要較長時(shí)間的一個(gè)以上的表退避到from15。由此,能夠縮短在hdd啟動(dòng)時(shí)恢復(fù)盡管已被更新但未被退避的表(系統(tǒng)信息)所需的時(shí)間(即,hdd的啟動(dòng)所需的時(shí)間)。在本實(shí)施方式中,from管理表136被預(yù)先確定。即,表tbl1至tbl5的退避所使用的from15內(nèi)的表退避區(qū)域被預(yù)先確定。但是,實(shí)際退避到from15的表是表tbl1至tbl5的一部分。因此,cpu133也可以將應(yīng)退避的表按序列退避到退避區(qū)域150。但是,應(yīng)退避的表與該表的退避目的地的關(guān)系未被預(yù)先確定。因此,cpu133例如可以在圖9中的a207之后或a208之后針對應(yīng)退避的表生成from管理表136。因?yàn)樯傻膄rom管理表136的內(nèi)容不固定,所以該表136也需要被退避。因此,cpu133例如可以在圖8中的緊接a106之后或緊接a107之后從退避區(qū)域150的開頭位置退避from管理表136。此外,在所生成的from管理表136只有與應(yīng)退避的表關(guān)聯(lián)的條目的情況下,該表136的大小根據(jù)應(yīng)退避的表的個(gè)數(shù)而變化。該情況下,cpu133可以將表示from管理表136的大小的報(bào)頭附加于該表136。在本實(shí)施方式中,系統(tǒng)信息退避處理中的a101至a105(圖8)構(gòu)成該系統(tǒng)信息退避處理的前處理。因此,也可以使該前處理(a101至a105)從系統(tǒng)信息退避處理獨(dú)立。該情況下,系統(tǒng)信息退避處理變?yōu)橛蒩106至a109構(gòu)成。另外,本實(shí)施方式將對向盤110寫入數(shù)據(jù)使用疊瓦式磁記錄的情況作為前提。但是,不一定需要使用疊瓦式磁記錄。另外,本實(shí)施方式將存儲裝置為hdd的情況作為前提。但是,存儲裝置也可以是具有包含非易失性存儲器(例如nand存儲器)組在內(nèi)的非易失性存儲介質(zhì)的、ssd那樣的半導(dǎo)體驅(qū)動(dòng)器單元。在存儲裝置例如為ssd的情況下,表tbl1至tbl5包含地址轉(zhuǎn)換表、讀取計(jì)數(shù)表以及讀取閾值表。讀取計(jì)數(shù)表用于保持各塊(或頁)的讀取次數(shù)。讀取次數(shù)是為了讀取干擾(rd,readdisturb)的對策而使用的計(jì)數(shù)值。rd是指由于數(shù)據(jù)讀出導(dǎo)致附近的存儲器單元的值(或閾值電壓)發(fā)生變化的現(xiàn)象。讀取閾值表用于保持各塊(或頁)的讀取閾值(閾值電壓的值)。如果將地址轉(zhuǎn)換表、讀取計(jì)數(shù)表以及讀取閾值表的恢復(fù)時(shí)間分別表述為rta、rtb以及rtc,則通常為rta>rtb>rtc。根據(jù)以上說明的至少一個(gè)實(shí)施方式,能夠縮短對未退避的系統(tǒng)信息進(jìn)行恢復(fù)所需的時(shí)間。對本發(fā)明的幾個(gè)實(shí)施方式進(jìn)行了說明,但這些實(shí)施方式是作為例子而提示的,沒有限定發(fā)明范圍的意圖。這些新的實(shí)施方式能夠以其它各種方式來實(shí)施,在不脫離發(fā)明主旨的范圍內(nèi)能夠進(jìn)行各種省略、替換、變更。這些實(shí)施方式及其變形包含在發(fā)明的范圍和/或要旨內(nèi),并且包含在權(quán)利要求書所記載的發(fā)明及其等同的范圍內(nèi)。當(dāng)前第1頁12當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
博白县| 东城区| 玛曲县| 文成县| 清流县| 崇州市| 台安县| 房产| 敦煌市| 平顶山市| 临江市| 大理市| 宜兰市| 临汾市| 龙游县| 如皋市| 阿克陶县| 大同市| 界首市| 文成县| 九江县| 廊坊市| 逊克县| 德钦县| 自治县| 兴业县| 子长县| 平远县| 平武县| 鹤岗市| 成都市| 仁寿县| 梁平县| 林州市| 临清市| 商洛市| 嘉义市| 定边县| 杭锦旗| 义马市| 黄梅县|