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

存儲控制程序的存儲介質(zhì)、控制信息處理設(shè)備的方法、信息處理系統(tǒng),以及信息處理設(shè)備的制作方法

文檔序號:6534300閱讀:204來源:國知局
存儲控制程序的存儲介質(zhì)、控制信息處理設(shè)備的方法、信息處理系統(tǒng),以及信息處理設(shè)備的制作方法
【專利摘要】根據(jù)一個實(shí)施例,當(dāng)從作為備份源的第一存儲單元讀取的數(shù)據(jù)與第一函數(shù)指示的數(shù)據(jù)不相同時,將所述讀取數(shù)據(jù)寫入作為備份目的地的第二存儲單元。當(dāng)從所述第一存儲單元讀取的數(shù)據(jù)與所述第一函數(shù)指示的數(shù)據(jù)相同時,不將所述讀取數(shù)據(jù)寫入所述第二存儲單元,并將刪除通知發(fā)送到所述第二存儲單元。
【專利說明】存儲控制程序的存儲介質(zhì)、控制信息處理設(shè)備的方法、信息處理系統(tǒng),以及信息處理設(shè)備
[0001]相關(guān)申請交叉引用
[0002]本申請基于并主張2012年6月19日提交的編號為2012-137765的日本專利申請,以及2013年2月5日提交的編號為2013-020765的日本專利申請的優(yōu)先權(quán)益,所有這些申請的全部內(nèi)容在此引入作為參考。

【技術(shù)領(lǐng)域】
[0003]此處描述的實(shí)施例一般地涉及存儲用于將第一存儲器的數(shù)據(jù)備份到非易失性第二存儲器的控制程序的存儲介質(zhì)、控制信息處理設(shè)備的方法、信息處理系統(tǒng),以及信息處理設(shè)備。

【背景技術(shù)】
[0004]在操作系統(tǒng)(OS)上,當(dāng)非易失性存儲設(shè)備(例如,硬盤或固態(tài)驅(qū)動器(SSD))的文件數(shù)據(jù)被刪除時,數(shù)據(jù)實(shí)際并未從非易失性存儲設(shè)備中刪除,而是僅刪除了與OS上的數(shù)據(jù)對應(yīng)的管理信息。由于非易失性存儲設(shè)備上的刪除處理并非在每次刪除OS上數(shù)據(jù)時執(zhí)行,因此,操作性能被提高到不執(zhí)行刪除處理的程度。該系統(tǒng)對于訪問緩慢的硬盤驅(qū)動器特別有效。
[0005]另一方面,由于OS上被明確刪除的數(shù)據(jù)被識別為在非易失性存儲設(shè)備上仍然有效的數(shù)據(jù)(主機(jī)無效-設(shè)備有效數(shù)據(jù)),因此非易失性存儲設(shè)備上不存在任何有效數(shù)據(jù)的可用區(qū)域少于被OS識別的可用區(qū)域。具體來說,用盡非易失性存儲設(shè)備上的可用區(qū)域可能導(dǎo)致這樣的SSD中出現(xiàn)大問題:其中在某些情況下,邏輯地址與非易失性存儲設(shè)備的物理地址之間不再存在對應(yīng)關(guān)系。
[0006]可能出現(xiàn)以下問題:
[0007]寫入性能嚴(yán)重劣化的問題,因?yàn)橥ㄟ^以下方式確保新的可用塊的過程需要一定的工作量:此方式是,SSD控制器檢索被識別為具有有效數(shù)據(jù)的NAND閃存的物理塊(活動塊)中的無效數(shù)據(jù)區(qū)域,并且在SSD的可用區(qū)域被用盡(即,用盡被SSD控制器識別為沒有有效數(shù)據(jù)的NAND閃存的物理塊(可用塊))的情況下,在將數(shù)據(jù)寫入SSD時針對有效數(shù)據(jù)執(zhí)行垃圾收集(NAND垃圾收集);以及
[0008]SSD可靠性嚴(yán)重劣化的問題,在SSD因?yàn)榇罅繜o效數(shù)據(jù)而被用盡可用區(qū)域的狀態(tài)下,當(dāng)執(zhí)行寫入時,頻繁發(fā)生NAND垃圾收集,從而導(dǎo)致寫入訪問范圍被限于特定區(qū)域或者額外的塊被刪除。
[0009]上述問題可通過在刪除主機(jī)上的數(shù)據(jù)時,執(zhí)行從主機(jī)(信息處理設(shè)備)到SSD的刪除通知來避免。數(shù)據(jù)刪除通知的實(shí)例包括在INCITS ATA/ATAPT Command Set-2 (ACS-2)中描述的data set management命令(一般稱為修剪(trim)命令),以及在NVM ExpressRevis1n 1.1 中描述的 Ilh Dataset Management 命令的 Deallocate (AD)。當(dāng)在該系統(tǒng)中刪除主機(jī)上的數(shù)據(jù)時,主機(jī)通知SSD已刪除數(shù)據(jù)所存在的邏輯地址空間,這樣便可在以后將這些區(qū)域視為可用區(qū)域(即使在SSD上)。這樣,修剪命令實(shí)現(xiàn)將主機(jī)無效-設(shè)備有效數(shù)據(jù)更改為主機(jī)無效-設(shè)備無效數(shù)據(jù),因而,SSD可重新確保可用區(qū)域。
[0010]當(dāng)執(zhí)行刪除通知時,SSD控制器通過訪問數(shù)據(jù)管理區(qū)域,使得對應(yīng)的區(qū)域失效。在失效過程中,通過重寫SSD的管理信息,將對應(yīng)的區(qū)域識別為無效。對應(yīng)區(qū)域的數(shù)據(jù)可能不被實(shí)際刪除,也可能被刪除。
[0011]專利文獻(xiàn)I JP 2010-157133 A
[0012]專利文獻(xiàn)2 JP 2010-161199 A
[0013]專利文獻(xiàn)3 JP 2011-29586 A
[0014]專利文獻(xiàn)4 JP 2011-128998 A
[0015]專利文獻(xiàn)5:US 12/775,767
[0016]專利文獻(xiàn)6 JP 5,002, 719 BI
[0017]專利文獻(xiàn)7 JP 2012-198811 A
[0018]專利文獻(xiàn)8 JP 5,052,376 BI
[0019]非專利文獻(xiàn)1:ATA/ATAPI Command Set-2 (ACS-2) d2015r6 2011 年 2 月 22 日(http://www.tl3.0rg/) ,98-99 頁,以及 50 頁:Data Set Management 命令(修剪命令),130-171 頁;ECh IDENTIFY DEVICE 命令,342-365 頁:SCT Command Transport,217 頁:25hREAD DMA EXT 命令,218 頁:60h READ FPDMA QUEUED 命令,322 頁:35h WRITE DMA EXT 命令,324 頁:61h WRITE FPDMA QUEUDED 命令
[0020]非專利文獻(xiàn)2:NVM Express Revis1n 1.12012 年 10 月 11 日(http://www.nvmexpress.0rg/) 114 頁:1 Ih Dataset Management 命令
[0021]非專利文獻(xiàn)3:SCSI Block Command-3 (SBC-3),Revis1n 35,2012 年 12 月 7 日(http://www.tl0.0rg/),I62 頁:4? UNMAP 命令
[0022]非專利文獻(xiàn)4:Serial ATA 國際組織:Serial ATA Revis1n 3.1 Gold Revis1n,2011年 7 月 18 日,http://www.serialata.0rg/
[0023]非專利文獻(xiàn)5:PCI Express Base Specificat1n Revis1n 3.0,2010 年 11 月 10日,http://www.pcisig.com/
[0024]非專利文獻(xiàn)6:Serial ATA Technical Proposal:SATA31_TPR_C108 標(biāo)題:DeviceSleep,http://www.serialata.0rg/
[0025]非專利文獻(xiàn)7:“Well_known Storage Network(公知的存儲網(wǎng)絡(luò),MasaruKitsuregawa 編輯,第 I 版,Ohmsha, Ltd.,,6-9 頁,67-93 頁,2011 年 5 月 20 日)”

【專利附圖】

【附圖說明】
[0026]圖1是示出根據(jù)第一實(shí)施例的信息處理系統(tǒng)的功能配置實(shí)例的框圖;
[0027]圖2是示出SSD的內(nèi)部配置實(shí)例的功能框圖;
[0028]圖3是示出SSD的管理信息的示意圖;
[0029]圖4是示出SSD的寫入處理實(shí)例的流程圖;
[0030]圖5是示出SSD的NAND存儲器的垃圾收集處理實(shí)例的流程圖;
[0031]圖6是示出當(dāng)SSD接收刪除通知時的處理實(shí)例的流程圖;
[0032]圖7是示出SSD的讀取處理實(shí)例的流程圖;
[0033]圖8是示出當(dāng)控制工具被存儲在SSD中時,信息處理系統(tǒng)的功能配置實(shí)例的框圖;
[0034]圖9是示出當(dāng)控制工具被存儲在另一外部存儲設(shè)備中時,信息處理系統(tǒng)的功能配置實(shí)例的框圖;
[0035]圖10是示出當(dāng)從WEB安裝控制工具時,信息處理系統(tǒng)的功能配置實(shí)例的框圖;
[0036]圖11是示出當(dāng)從光設(shè)備安裝控制工具時,信息處理系統(tǒng)的功能配置實(shí)例的框圖;
[0037]圖12是示出當(dāng)從USB存儲器安裝控制工具時,信息處理系統(tǒng)的功能配置實(shí)例的框圖;
[0038]圖13是示出信息處理設(shè)備的分級功能配置實(shí)例的框圖;
[0039]圖14是示出信息處理系統(tǒng)的外觀配置的示意圖;
[0040]圖15是不出信息處理系統(tǒng)的另一外觀配置的不意圖;
[0041]圖16是示出信息處理系統(tǒng)的外觀配置的示意圖;
[0042]圖17是示出信息處理系統(tǒng)的另一外觀配置的示意圖;
[0043]圖18是示出根據(jù)第一實(shí)施例的由控制程序執(zhí)行的備份處理順序的流程圖;
[0044]圖19是示出根據(jù)第二實(shí)施例的由控制程序執(zhí)行的備份處理順序的流程圖;
[0045]圖20是示出LBA與數(shù)據(jù)之間的關(guān)系的實(shí)例的示意圖;
[0046]圖21是示出在圖20中的數(shù)據(jù)的情況下,Ο-fill扇區(qū)的存在概率分布實(shí)例的示意圖;
[0047]圖22是示出LBA與數(shù)據(jù)之間的關(guān)系的另一實(shí)例的示意圖;
[0048]圖23是示出在圖22中的數(shù)據(jù)的情況下,Ο-fill和l_fill扇區(qū)的存在概率分布實(shí)例的不意圖;
[0049]圖24是示出LBA與數(shù)據(jù)之間的關(guān)系的另一實(shí)例的示意圖;
[0050]圖25是示出在圖24中的數(shù)據(jù)的情況下,0-fill、320a-fill和Ι-fill扇區(qū)的存在概率分布實(shí)例的示意圖;
[0051]圖26是示出LBA與數(shù)據(jù)之間的關(guān)系的另一實(shí)例的示意圖;
[0052]圖27是示出在圖26中的數(shù)據(jù)的情況下的開放扇區(qū)的示意圖;
[0053]圖28是示出判定函數(shù)f (LBA)的方法的示意圖;
[0054]圖29是示出根據(jù)第四實(shí)施例的由控制程序執(zhí)行的備份處理順序的流程圖;
[0055]圖30是示出根據(jù)第四實(shí)施例的由控制程序執(zhí)行的另一備份處理順序的流程圖;
[0056]圖31是概念性地示出其中網(wǎng)絡(luò)存儲驅(qū)動器或云存儲被用作作為備份目的地的非易失性存儲設(shè)備的實(shí)例的示意圖;
[0057]圖32是示出根據(jù)第六實(shí)施例的信息處理系統(tǒng)的功能配置實(shí)例的框圖;
[0058]圖33是示出信息處理設(shè)備的分級功能配置實(shí)例的框圖;
[0059]圖34是示出根據(jù)第六實(shí)施例的由控制程序執(zhí)行的備份處理順序的流程圖;
[0060]圖35是示出OS文件管理表的示意圖;
[0061]圖36是示出信息處理設(shè)備的分級功能配置中的數(shù)據(jù)寫入流的示意圖;
[0062]圖37是示出信息處理設(shè)備的分級功能配置中的另一數(shù)據(jù)寫入流的示意圖;
[0063]圖38是示出根據(jù)第七實(shí)施例的使用網(wǎng)絡(luò)的信息處理系統(tǒng)實(shí)例的框圖;
[0064]圖39是示出根據(jù)第七實(shí)施例的使用網(wǎng)絡(luò)的另一信息處理系統(tǒng)實(shí)例的框圖;
[0065]圖40是示出根據(jù)第七實(shí)施例的使用網(wǎng)絡(luò)的另一信息處理系統(tǒng)實(shí)例的框圖;
[0066]圖41是示出根據(jù)第七實(shí)施例的使用網(wǎng)絡(luò)的另一信息處理系統(tǒng)實(shí)例的框圖;
[0067]圖42是示出根據(jù)第七實(shí)施例的由控制程序執(zhí)行的備份處理順序的流程圖;
[0068]圖43是示出根據(jù)第八實(shí)施例的使用網(wǎng)絡(luò)的另一信息處理系統(tǒng)實(shí)例的框圖;
[0069]圖44是示出根據(jù)第八實(shí)施例的使用網(wǎng)絡(luò)的另一信息處理系統(tǒng)實(shí)例的框圖;
[0070]圖45是示出根據(jù)第九實(shí)施例的使用網(wǎng)絡(luò)的信息處理系統(tǒng)實(shí)例的框圖;
[0071]圖46是示出根據(jù)第九實(shí)施例的使用的元數(shù)據(jù)實(shí)例的示意圖;
[0072]圖47是示出根據(jù)第九實(shí)施例的由控制程序執(zhí)行的備份處理順序的流程圖;
[0073]圖48是示出文件ID列表的數(shù)據(jù)結(jié)構(gòu)的示意圖;以及
[0074]圖49是示出根據(jù)第十實(shí)施例的系統(tǒng)配置的示意圖。

【具體實(shí)施方式】
[0075]根據(jù)一個實(shí)施例,第一存儲單元包括至少可讀的第一存儲器。第二存儲單元包括可讀和可寫的第二非易失性存儲器,控制單元被配置為使得已接收的刪除通知所指定的邏輯地址區(qū)域到所述第二非易失性存儲器的一個或多個映射失效,并且在已接收的讀取命令所指定的邏輯地址區(qū)域未映射到所述第二非易失性存儲器時傳送第一函數(shù)指示的數(shù)據(jù)。存儲介質(zhì)存儲要被加載到可與第一和第二存儲單元相連的信息處理設(shè)備的控制程序。所述控制程序?qū)е滦畔⑻幚碓O(shè)備執(zhí)行:第一過程,其從所述第一存儲單元的第一邏輯地址區(qū)域讀取數(shù)據(jù);第二過程,其判定從所述第一邏輯地址區(qū)域讀取的數(shù)據(jù)是否與所述第一函數(shù)指示的數(shù)據(jù)相同;第三過程,其在所述讀取數(shù)據(jù)與所述第一函數(shù)指示的數(shù)據(jù)不同時,將所述讀取數(shù)據(jù)寫入所述第二存儲單元的第二邏輯地址區(qū)域;以及第四過程,其在所述讀取數(shù)據(jù)與所述第一函數(shù)指示的數(shù)據(jù)相同時,將所述刪除通知發(fā)送到所述第二存儲單元以使所述第二邏輯地址區(qū)域到所述第二非易失性存儲器的一個或多個映射失效,而不將所述讀取數(shù)據(jù)發(fā)送到所述第二存儲單元。
[0076]在一個實(shí)施例中,在備份過程中使用修剪命令將主機(jī)有效-設(shè)備有效數(shù)據(jù)處理為主機(jī)有效-設(shè)備無效數(shù)據(jù)。因此,實(shí)現(xiàn)高速備份SSD的數(shù)據(jù),增加作為備份目的地的SSD中的可用塊數(shù),以及減少作為備份目的地的SSD中的寫入數(shù)據(jù)量。
[0077]首先,將描述本說明書中使用的術(shù)語。
[0078]主機(jī)無效-設(shè)備有效數(shù)據(jù)是指針對主機(jī)(信息處理設(shè)備)或OS無效,但是針對設(shè)備(非易失性存儲設(shè)備)有效的數(shù)據(jù)。
[0079]主機(jī)有效-設(shè)備有效數(shù)據(jù)是指不僅針對主機(jī)有效,而且還針對非易失性存儲設(shè)備有效的數(shù)據(jù)。
[0080]主機(jī)有效-設(shè)備無效數(shù)據(jù)是指針對主機(jī)有效,但是針對非易失性存儲設(shè)備無效的數(shù)據(jù)。
[0081]主機(jī)無效-設(shè)備無效數(shù)據(jù)是指不僅針對主機(jī)無效,而且還針對非易失性存儲設(shè)備無效的數(shù)據(jù)。
[0082]主機(jī)有效數(shù)據(jù)是指至少針對主機(jī)有效的數(shù)據(jù)。
[0083]主機(jī)無效數(shù)據(jù)是指至少針對主機(jī)無效的數(shù)據(jù)。
[0084]設(shè)備有效數(shù)據(jù)是指至少針對非易失性存儲設(shè)備有效的數(shù)據(jù)。
[0085]設(shè)備無效數(shù)據(jù)是指至少針對非易失性存儲設(shè)備無效的數(shù)據(jù)。
[0086]下面將參考附圖詳細(xì)地描述根據(jù)各實(shí)施例的存儲控制程序的存儲介質(zhì)、控制信息處理設(shè)備的方法、信息處理系統(tǒng),以及信息處理設(shè)備。本發(fā)明不限于這些實(shí)施例。
[0087](第一實(shí)施例)
[0088]圖1是示出作為根據(jù)第一實(shí)施例的信息處理系統(tǒng)的實(shí)例的信息處理系統(tǒng)I的第一配置的示意圖。信息處理系統(tǒng)I包括存儲設(shè)備2A、信息處理設(shè)備3 (主機(jī)3)、將非易失性存儲設(shè)備2A連接到信息處理設(shè)備3的存儲接口 19A,以及上面可安裝用于備份存儲設(shè)備2A的非易失性存儲設(shè)備2B的存儲接口 19B。在該實(shí)施例中,存儲設(shè)備2A被配置為非易失性存儲設(shè)備2A。SSD(固態(tài)驅(qū)動器)被用作非易失性存儲設(shè)備2A和2B。但是,例如,也可使用其它非易失性存儲設(shè)備,例如硬盤驅(qū)動器、混合硬盤驅(qū)動器、SD卡、USB存儲器、NAND型閃存、ReRAM(電阻式隨機(jī)存取存儲器)或磁帶。非易失性存儲設(shè)備2A和2B可以是不同種類的非易失性存儲設(shè)備。作為可在非易失性存儲設(shè)備2B中尋址的邏輯地址的LBA(邏輯塊尋址)的最大值(LBA計數(shù))優(yōu)選地與非易失性存儲設(shè)備2A的LBA計數(shù)相同,或者優(yōu)選地大于非易失性存儲設(shè)備2A的LBA計數(shù)。作為存儲設(shè)備2A,可使用諸如DRAM(動態(tài)隨機(jī)存取存儲器)或SRAM(靜態(tài)隨機(jī)存取存儲器)之類的易失性存儲設(shè)備,而不是非易失性存儲設(shè)備。此外,存儲設(shè)備2A可以是僅執(zhí)行讀取操作和寫入操作中的讀取操作的存儲設(shè)備。
[0089]在該實(shí)施例中,SATA(串行高級技術(shù)附件)接口被用作接口 19A和19B。也可使用其它接口,例如USB (通用串行總線)、SAS (串行連接SCSI) ,Thunderbolt (注冊商標(biāo))、PCIEXPRESS、LAN(局域網(wǎng))、光纖通道和以太網(wǎng)。接口 19A和19B可以是不同種類的接口。例如,接口 19A和接口 19B可以是分別是SATA接口和USB接口。
[0090]作為備份目的地的非易失性存儲設(shè)備2B可安裝在物理上遠(yuǎn)離信息處理設(shè)備3的位置,也可作為網(wǎng)絡(luò)驅(qū)動器或云存儲,經(jīng)由網(wǎng)絡(luò)安裝在信息處理設(shè)備3上。
[0091]在該實(shí)施例中,例如,將描述SATA接口被用作接口 19B的情況。
[0092]CPU (控制電路)4是信息處理設(shè)備3的中央處理單元。信息處理設(shè)備3中的各種計算和控制由CPU 4執(zhí)行。CPU 4經(jīng)由南橋7控制非易失性存儲設(shè)備2A和2B或者諸如DVD-ROM之類的光驅(qū)10。CPU 4經(jīng)由北橋5控制主存儲器6。例如,DRAM可被用作主存儲器6。
[0093]用戶通過諸如鍵盤14或鼠標(biāo)15之類的輸入設(shè)備控制信息處理設(shè)備3。來自鍵盤14或鼠標(biāo)15的信號經(jīng)由USB(通用串行總線)控制器13和南橋7被CPU 4處理。CPU 4經(jīng)由北橋5和顯示控制器8將圖像數(shù)據(jù)、文本數(shù)據(jù)等傳送到顯示器(顯示設(shè)備)9。用戶可通過顯示器9,識別來自信息處理設(shè)備3的圖像數(shù)據(jù)、文本數(shù)據(jù)等。
[0094]CPU 4是處理器,其在安裝之后用于控制信息處理系統(tǒng)I的進(jìn)程并且執(zhí)行從非易失性存儲設(shè)備2A加載到主存儲器6的操作系統(tǒng)(OS) 100。當(dāng)光驅(qū)10允許執(zhí)行所加載的光盤中的讀取處理和寫入處理中的至少一個處理時,CPU 4執(zhí)行此過程。CPU 4還執(zhí)行存儲在B1S (基本輸入/輸出系統(tǒng))-ROM 11中的系統(tǒng)B1S。系統(tǒng)B1S是用于信息處理系統(tǒng)I中的硬件控制的程序。在ROM 11中,可存儲UEFI (統(tǒng)一可擴(kuò)展固件接口)固件,并且該固件可由CPU 4而非系統(tǒng)B1S執(zhí)行。CPU 4還經(jīng)由南橋7控制LAN (局域網(wǎng))。
[0095]北橋5是連接到CPU 4的局部總線的橋接設(shè)備。北橋5還包括存儲控制器,該控制器執(zhí)行主存儲器6的訪問和控制。此外,北橋5具有執(zhí)行與顯示控制器8的通信等的功倉泛。
[0096]主存儲器6臨時存儲程序或數(shù)據(jù),并且充當(dāng)CPU 4的工作存儲器。例如,DRAM(動態(tài)隨機(jī)存取存儲器)、MRAM (磁阻式隨機(jī)存取存儲器)、ReRAM (電阻式隨機(jī)存取存儲器)或SRAM (靜態(tài)隨機(jī)存取存儲器)可被用作主存儲器6。主存儲器6包括存儲OS 100的存儲區(qū)域6A和存儲控制工具(控制程序)200的存儲區(qū)域6B。如一般所知的那樣,OS 100是管理整個信息處理設(shè)備3的程序,例如通過以下方式執(zhí)行上述管理:管理信息處理設(shè)備3的輸入/輸出設(shè)備,管理磁盤或存儲器,以及執(zhí)行控制以便軟件可使用信息處理設(shè)備3的硬件。控制程序200是具有將數(shù)據(jù)從存儲設(shè)備IA備份到非易失性存儲設(shè)備2B的備份功能的程序。在該實(shí)施例中,OS 100和控制程序200彼此具有區(qū)別,但是控制程序200可以是OS 100的一部分。
[0097]顯示控制器8是圖形處理單元,其控制信息處理系統(tǒng)I的顯示器9。南橋7是連接到CPU 4的局部總線的橋接設(shè)備。南橋7控制非易失性存儲設(shè)備2A,該設(shè)備是通過SATA接口 19A存儲各種類型軟件和數(shù)據(jù)的存儲設(shè)備。非易失性存儲設(shè)備2A可以直接連接到CPU4而不需要經(jīng)過南橋7。
[0098]在信息處理系統(tǒng)I中,對非易失性存儲設(shè)備2A和2B的訪問以邏輯扇區(qū)為單元執(zhí)行,邏輯扇區(qū)是LBA的最小單元。例如,寫入命令(寫入請求)、讀取命令(讀取請求)、閃存命令等經(jīng)由SATA接口 19A和19B被輸出到非易失性存儲設(shè)備2A和2B。
[0099]南橋7具有執(zhí)行對B1S-ROM 11、光驅(qū)10、LAN控制器12和USB控制器13的訪問和控制的功能。鍵盤14和鼠標(biāo)15連接到USB控制器13。
[0100][SSD]
[0101]圖2是示出作為備份目的地的非易失性存儲設(shè)備2B的框圖。在該實(shí)施例中,將描述這樣的實(shí)例:其中使用固態(tài)驅(qū)動器(SSD)作為非易失性存儲設(shè)備2B。作為備份源的非易失性存儲設(shè)備2A可與非易失性存儲設(shè)備2B具有相同的配置。作為備份源的非易失性存儲設(shè)備2A本身不接收修剪命令。因此,即使非易失性存儲設(shè)備2A不滿足此處指示的條件(例如,當(dāng)非易失性存儲設(shè)備2A不支持修剪命令時),也可應(yīng)用本發(fā)明。在該實(shí)施例中,非易失性存儲設(shè)備2B包括作為非易失性半導(dǎo)體存儲器的NAND型閃存(下文簡稱為NAND存儲器)16B ;經(jīng)由SATA接口 19B將信號發(fā)送到信息處理設(shè)備3以及從信息處理設(shè)備3接收信號的接口控制器(IFC) 42B ;作為半導(dǎo)體存儲器并包括管理信息區(qū)域46B和高速緩沖存儲器(CM) 44B的RAM(隨機(jī)存取存儲器)40B,該管理信息區(qū)域46B存儲包括邏輯-物理轉(zhuǎn)換表(查找表(LUT))的管理信息,其中該轉(zhuǎn)換表具有從LBA到NAND存儲器16B的物理地址的映射,該高速緩沖存儲器(CM)44B充當(dāng)IFC 42B與NAND存儲器16B之間的中間緩沖區(qū);SSD控制器(SSDC) 4IB,其執(zhí)行對NAND存儲器16B的管理和控制;以及對IFC 42B的控制;以及將組成單元彼此連接的總線43B。
[0102]作為RAM 40B,可使用DRAM(動態(tài)隨機(jī)存取存儲器)、SRAM(靜態(tài)隨機(jī)存取存儲器)、FeRAM(鐵電體隨機(jī)存取存儲器)、MRAM(磁阻式隨機(jī)存取存儲器)、PRAM(相變隨機(jī)存取存儲器)、ReRAM(電阻式隨機(jī)存取存儲器)等。RAM 40B可包括在SSDC 4IB中。
[0103]NAND存儲器16B存儲信息處理設(shè)備3指定的用戶數(shù)據(jù),并將管理信息區(qū)域46B中的管理信息存儲在管理信息區(qū)域45B中作為備份信息。NAND存儲器16B包括存儲單元陣列,其中多個存儲單元以矩陣形式排列,并且各個存儲單元可使用上頁和下頁存儲多個位。NAND存儲器16B被配置為包括多個存儲芯片,并且每個存儲芯片被配置為排列多個作為擦除操作單元的塊。NAND存儲器16B針對每一頁寫入數(shù)據(jù)和讀取數(shù)據(jù)。塊被配置為包括多個頁。
[0104]RAM 40B包括高速緩沖存儲器(CM) 44B,其充當(dāng)信息處理設(shè)備2與NAND存儲器16之間的數(shù)據(jù)傳送高速緩存。RAM 40B充當(dāng)存儲管理信息的存儲器和用于其它工作領(lǐng)域的存儲器。例如,當(dāng)非易失性存儲設(shè)備2B通電時,SSDC 41B將管理信息從管理信息區(qū)域45B加載到管理信息區(qū)域46B。當(dāng)關(guān)閉電源,或者當(dāng)從信息處理設(shè)備3接收待機(jī)命令或清倉高速緩存命令時,管理信息區(qū)域46B中的管理信息被定期保存并且存儲在NAND存儲器16B的管理信息區(qū)域45B中。
[0105]如圖3所示,管理表46B包括可用塊表、活動塊表和活動頁表。物理塊ID和物理頁地址包括在物理地址中?;顒訅K表具有邏輯地址(LBA)到物理塊ID (物理塊地址)的映射。在活動塊表中注冊的物理塊(活動塊)被配置為至少針對SSDC 41B存儲有效數(shù)據(jù)??捎脡K表管理不從LBA映射的物理塊。由于在可用塊表中注冊的物理塊(可用塊)不從LBA映射,因此物理塊不存儲有效數(shù)據(jù)。
[0106]活動頁表具有LBA到物理頁地址的映射。在活動頁表中注冊的物理頁(活動頁)被配置為至少針對SSDC 41B存儲有效數(shù)據(jù)。在活動頁表中注冊的物理頁與屬于該物理頁的物理塊ID (物理塊地址)關(guān)聯(lián)。在管理表中管理的LBA優(yōu)選地為具有非易失性存儲設(shè)備2B可管理的最小數(shù)據(jù)大小或具有大于最小數(shù)據(jù)大小的數(shù)據(jù)大小的地址。為了減小管理表46B的數(shù)據(jù)大小,通過對LBA執(zhí)行右移計算獲取的地址可被用作通過預(yù)定位存儲在活動塊表或活動頁表中的邏輯地址。
[0107]充當(dāng)非易失性存儲設(shè)備2B的控制器的SSDC 41B的功能通過執(zhí)行存儲在NAND存儲器16B中的系統(tǒng)程序(固件)的處理器、各種硬件電路等實(shí)現(xiàn)。當(dāng)SSDC 41B接收寫入請求、高速緩存閃存請求、讀取請求等各種命令時,SSDC 41B在信息處理設(shè)備3與NAND存儲器16B之間傳送數(shù)據(jù),更新存儲在區(qū)域64B和區(qū)域44B中的管理信息,寫入NAND存儲器16B的數(shù)據(jù)的ECC編碼,從NAND存儲器16B讀取的數(shù)據(jù)的ECC解碼等。
[0108]當(dāng)信息處理設(shè)備3向非易失性存儲設(shè)備2B發(fā)出讀取請求或?qū)懭胝埱髸r,信息處理設(shè)備3經(jīng)由SATA接口 19B將邏輯地址區(qū)域的信息發(fā)送到非易失性存儲設(shè)備2B。邏輯地址區(qū)域的信息包括LBA和扇區(qū)大小。
[0109]IFC 42B具有從信息處理設(shè)備3接收讀取請求、寫入請求或其它請求和數(shù)據(jù),并將所接收的請求和數(shù)據(jù)發(fā)送到SSDC 41B或在SSDC 41B的控制下將數(shù)據(jù)發(fā)送到RAM 40B的功倉泛。
[0110]〈寫入處理〉
[0111]圖4是示出作為備份目的地的非易失性存儲設(shè)備2B的寫入處理的流程圖。非易失性存儲設(shè)備2B從信息處理設(shè)備3接收寫入命令(步驟S100)。寫入命令包括寫入命令、LBA、扇區(qū)計數(shù)和數(shù)據(jù)。
[0112]SSDC 41B從DRAM 40B讀取可用塊表(步驟S110)并且從可用塊表選擇物理塊ID。當(dāng)可用塊未在可用塊中注冊時,SSDC 41B執(zhí)行下面描述的NAND垃圾收集(NAND GC),創(chuàng)建可用塊,將該可用塊添加到可用塊表并選擇可用塊的物理塊ID (步驟S120和步驟S130)。
[0113]SSDC 41B在對應(yīng)于選定的物理塊ID的可用塊中對數(shù)據(jù)(寫入數(shù)據(jù))進(jìn)行編程(步驟S140)。接下來,SSDC 41B從可用塊表刪除經(jīng)過編程的物理塊ID (步驟S150)。SSDC41B更新活動塊表和活動頁表(步驟S160)。也就是說,LBA和對應(yīng)于經(jīng)過編程的塊的物理塊ID被添加到活動塊表,并且LBA、物理塊ID和物理頁地址被添加到活動頁表。SSDC 41B可在步驟S140的編程處理之前擦除要寫入的物理塊。
[0114]<NAND垃圾收集>
[0115]接下來,將描述非易失性存儲設(shè)備2B的NAND垃圾收集處理(GC)。圖5是示出非易失性存儲設(shè)備2B的NAND垃圾收集處理的流程圖。物理塊內(nèi)包括的所有頁當(dāng)中注冊在活動頁表中的活動頁(有效頁)從LBA映射。包括在物理塊內(nèi)的所有頁并非始終為有效頁。不是有效頁的無效頁不從LBA映射。物理塊具有等于無效頁數(shù)量的可用空間,可通過收集無效頁和有效頁創(chuàng)建可用塊。
[0116]首先,SSDC 41B設(shè)定行號=0,以及可用空間累計值s = 0(步驟S200)。接下來,SSDC 41B從DRAM 40B讀取活動塊表的第一行,并選擇物理塊ID (步驟S210)。在步驟S210選定的物理塊ID被稱為當(dāng)前物理塊ID。接下來,SSDC 41B從DRAM 40B讀取活動頁表并選擇與當(dāng)前物理塊ID對應(yīng)的所有物理頁地址(步驟S220)。
[0117]接下來,SSDC 41B計算當(dāng)前物理塊當(dāng)中無效頁的大小并將無效頁大小替換為變量V (步驟S230)。接下來,SSDC 41B判定是否v>0(步驟S235)。當(dāng)v>0時,SSDC 41B將當(dāng)前物理塊ID添加到垃圾收集目標(biāo)塊列表(步驟S240)。另一方面,當(dāng)SSDC 41B在步驟S235判定不存在無效頁時(步驟S235的結(jié)果為否),SSDC 41B將行號i遞增I以選擇下一物理塊ID作為處理目標(biāo)(步驟S245)。
[0118]SSDC 41B將變量V添加到可用空間的累計值s (步驟S250)。SSDC 41B判定可用空間的累計值s是否達(dá)到物理塊大小,即,到目前為止獲取的無效頁大小的總量是否達(dá)到物理塊大小(步驟S255)。當(dāng)可用空間的累計值s未達(dá)到物理塊大小時,SSDC 41B將行號i遞增I (步驟S245),然后重復(fù)步驟S210之后的處理。
[0119]相反地,當(dāng)可用空間的累計值s達(dá)到物理塊大小時,SSDC 41B從垃圾收集目標(biāo)塊列表的所有物理塊讀取所有活動頁的數(shù)據(jù),并將讀取數(shù)據(jù)存儲在DRAM 40B中(步驟S260)。SSDC 41B擦除垃圾收集目標(biāo)塊列表的所有物理塊(步驟S265)。SSDC 41B更新活動塊表、可用塊和活動頁表(步驟S270)。也就是說,已擦除的物理塊被從活動塊表刪除并且被添加到可用塊表,從中讀取數(shù)據(jù)的活動頁被從活動頁表刪除。
[0120]SSDC 41B將DRAM 40B中存儲的所有活動頁的數(shù)據(jù)寫入可用塊(步驟S280)。SSDC41B更新活動塊表、可用塊表和活動頁表(步驟S290)。也就是說,經(jīng)過編程的物理塊被從可用塊表刪除,并且被添加到活動塊表,經(jīng)過編程的物理頁被添加到活動頁表。
[0121]這樣,由于NAND GC對NAND存儲器16B大量地執(zhí)行讀取處理、刪除處理和編程處理,因此需要大量時間。因此,當(dāng)非易失性存儲設(shè)備2B中沒有足夠多的可用塊時,SSDC 41B執(zhí)行NAND垃圾收集。然后信息處理設(shè)備3的寫入速度會降低。而且,由于NAND GC的寫入處理和擦除處理,NAND存儲器16B的可靠性會劣化。
[0122]步驟S265的刪除處理不能在圖4中的步驟S130的NAND GC期間執(zhí)行,并且可以在步驟S140的寫入處理之前立即執(zhí)行。
[0123]〈刪除通知處理〉
[0124]接下來,將描述非易失性存儲設(shè)備2B的刪除通知處理。用于刪除通知的命令實(shí)例包括 INCITS ATA/ATAPI Command Set-2 (ACS-2)中描述的 Data Set Management 命令(通常稱為修剪命令)。刪除通知處理是能夠在刪除OS 100上的LBA區(qū)域的數(shù)據(jù)時通知非易失性存儲設(shè)備LBA區(qū)域(LBA范圍)的處理。在該實(shí)施例中,刪除通知包括LBA區(qū)域的信息,其中包括LBA和扇區(qū)計數(shù)。然后,LBA區(qū)域可被視為非易失性存儲設(shè)備2B上的可用區(qū)域。非易失性存儲設(shè)備2B可通過刪除通知處理創(chuàng)建可用塊。修剪命令的功能不僅可通過Data Set Management命令實(shí)現(xiàn),而且例如還可通過另一命令實(shí)現(xiàn),如使用ACS2中描述的SCT命令的供應(yīng)商特定命令。當(dāng)SATA接口之外的接口被用作接口 19B時,接口固有的用于刪除通知處理的命令可被用作修剪命令。例如,可使用2012年10月11日發(fā)布的 NVM Express Revis1n 1.1 (http://www.nvmexpress.0rg/)中描述的 Ilh DatasetManagement命令的Deallocate (AD)作為修剪命令。例如,當(dāng)非易失性存儲設(shè)備2B具有下面描述的Deterministic Zeroing TRIM功能時,修剪命令的功能不僅可通過上述命令實(shí)現(xiàn),而且還可通過NVM Express Revis1n 1.1中描述的08h Write Zeroes命令實(shí)現(xiàn)。而且,可使用 2012 年 12 月 7 日發(fā)布的 SCSI Block Commands-3 (SBC-3) Revis1n 35 (http://www.tl0.0rg/)中描述的42h UNMAP命令作為修剪命令。在該實(shí)施例中,不僅在刪除數(shù)據(jù)時使用修剪命令,而且還在備份和復(fù)制數(shù)據(jù)時使用修剪命令。
[0125]圖6是示出非易失性存儲設(shè)備2B的刪除通知處理的流程圖。非易失性存儲設(shè)備2B從信息處理設(shè)備3接收刪除通知(步驟S300)。刪除通知包括刪除命令和LBA范圍信息。LBA范圍信息包括LBA和扇區(qū)計數(shù)(扇區(qū)大小)。SSDC 41B從DRAM 40B讀取活動頁表(步驟S310)。SSDC 41B從活動頁表刪除其所有區(qū)域從刪除通知指定的LBA區(qū)域映射的所有頁(步驟S320)。這樣,刪除通知目標(biāo)的頁中的數(shù)據(jù)從設(shè)備有效數(shù)據(jù)更改為設(shè)備無效數(shù)據(jù)。
[0126]SSDC 41B從DRAM 40B讀取活動塊表(步驟S330)。SSDC 41B從活動塊表刪除在活動頁表中沒有物理塊ID的物理塊,并將物理塊添加到可用塊表(步驟S340)。
[0127]這樣,SSDC 41B刪除由刪除通知指定的LBA區(qū)域到NAND存儲器16B的物理地址的映射。SSDC 41B可通過刪除通知處理以及NAND GC創(chuàng)建可用塊。從刪除通知處理指定的LBA區(qū)域映射的NAND區(qū)域上的數(shù)據(jù)從設(shè)備有效數(shù)據(jù)更改為設(shè)備無效數(shù)據(jù)。刪除通知指定的LBA區(qū)域的數(shù)據(jù)大小可以是這樣的大小:其等于、大于或小于非易失性存儲設(shè)備2B在管理表中管理的最小數(shù)據(jù)大小。
[0128]如上所述,非易失性存儲設(shè)備可通過處理從信息處理設(shè)備3接收的刪除通知來創(chuàng)建可用塊。這樣,刪除通知指定的LBA區(qū)域的設(shè)備有效數(shù)據(jù)更改為設(shè)備無效數(shù)據(jù)。SSDC 41B僅在刪除通知處理中更改管理信息。然后,與處理從信息處理設(shè)備3發(fā)送到SSD的寫入命令相比(其中管理信息的更改和針對NAND存儲器的用戶數(shù)據(jù)寫入由SSDC 41B處理),可以以更高的速度處理刪除通知處理。
[0129]〈讀取處理〉
[0130]接下來,將描述作為備份目的地的非易失性存儲設(shè)備2B的讀取處理。圖7是示出非易失性存儲設(shè)備2B的讀取處理的流程圖。在完成作為備份源的非易失性存儲設(shè)備2A的備份處理后,信息處理設(shè)備3可從作為備份目的地的非易失性存儲設(shè)備2B讀取備份數(shù)據(jù)。在這種情況下,非易失性存儲設(shè)備2B從信息處理設(shè)備3接收讀取命令。讀取命令包括要讀取的LBA區(qū)域的信息。例如,LBA區(qū)域的信息包括LBA和扇區(qū)計數(shù)。
[0131]SSDC 41B從DRAM 40B讀取活動塊表(步驟S410)。SSDC 41B選擇從LBA區(qū)域映射的物理塊ID(步驟S420)。當(dāng)物理塊ID位于活動塊表中時(S420:是),SSDC 41B從具有這些塊ID的塊讀取數(shù)據(jù)。也就是說,SSDC 41B讀取活動頁表(步驟S430),從活動頁表搜索從LBA區(qū)域映射的物理頁地址,并且從NAND存儲器16B的物理地址讀取數(shù)據(jù)(步驟S440)。SSDC 41B將讀取數(shù)據(jù)發(fā)送到信息處理設(shè)備3 (步驟S450)。
[0132]當(dāng)LBA區(qū)域未映射到活動塊表中的有效物理塊ID時(S420:否),SSDC 41B執(zhí)行讀取未寫入?yún)^(qū)域的處理。也就是說,SSDC 41B不從NAND存儲器16B讀取數(shù)據(jù)并將通過函數(shù)f計算的數(shù)據(jù)傳送到信息處理設(shè)備3 (步驟S460)。換言之,SSDC 41B將函數(shù)f的輸出數(shù)據(jù)傳送到信息處理設(shè)備3。換言之,SSDC 41B將函數(shù)f指示的輸出數(shù)據(jù)傳送到信息處理設(shè)備3。數(shù)據(jù)的數(shù)據(jù)長度等于LBA區(qū)域的大小。具體而言,當(dāng)假設(shè)Ai是地址,Di是數(shù)據(jù)時,函數(shù)f指示的數(shù)據(jù)滿足:
[0133]f (Ai) =Di (其中i是等于或大于O的整數(shù))。
[0134]可任意配置函數(shù)f。例如,當(dāng)LBA針對函數(shù)f被設(shè)定為獨(dú)立變量,而函數(shù)f被定義為:
[0135]f(LBA)=0 時,
[0136]SSDC 41B響應(yīng)于來自信息處理設(shè)備3的讀取請求,發(fā)送填充“O”的數(shù)據(jù),該數(shù)據(jù)具有LBA區(qū)域的數(shù)據(jù)長度。函數(shù)f可存儲在SSDC 41B中,可存儲在NAND存儲器16B中,或者可存儲在RAM 40B中。為了提高未寫入?yún)^(qū)域的讀取處理速度,優(yōu)選地將函數(shù)f存儲在SSDC41B或RAM 40B中。在非易失性存儲設(shè)備2B被斷電期間,可將函數(shù)f存儲在NAND存儲器16B中,并且當(dāng)非易失性存儲設(shè)備2B被通電時,SSDC 41B可將函數(shù)f從NAND存儲器16B讀取到 RAM 40B。
[0137]在未寫入?yún)^(qū)域的讀取處理中,SSDC 41B不從NAND存儲器16B讀取數(shù)據(jù),或者基本上從NAND存儲器16B讀取很少的數(shù)據(jù)。因此,與SSDC 41B讀取活動頁表和NAND存儲器16B兩者的寫入?yún)^(qū)域讀取處理相比,未寫入?yún)^(qū)域的讀取處理以更高的速度執(zhí)行。
[0138]這樣,當(dāng)信息處理設(shè)備3讀取作為備份目的地的非易失性存儲設(shè)備2B中的包括設(shè)備無效數(shù)據(jù)的LBA區(qū)域時,SSDC 41B可能不讀取非易失性存儲設(shè)備2B的NAND存儲器16B。結(jié)果,與設(shè)備有效數(shù)據(jù)相比,SSDC 41B可以以更高的速度讀取設(shè)備無效數(shù)據(jù)。當(dāng)讀取具有設(shè)備無效數(shù)據(jù)的LBA區(qū)域時,從非易失性存儲設(shè)備2B傳送到信息處理設(shè)備3的數(shù)據(jù)可以是任何數(shù)據(jù)。但是在該實(shí)施例中,對于每個LBA,要求所述數(shù)據(jù)至少是確定性數(shù)據(jù)。此外,當(dāng)非易失性存儲設(shè)備2B被激活或連接到信息處理設(shè)備3時,為了更清楚地將要備份的數(shù)據(jù)通知給信息處理設(shè)備3,非易失性存儲設(shè)備2B優(yōu)選地通知信息處理設(shè)備3該非易失性存儲設(shè)備2B的設(shè)備無效數(shù)據(jù)的讀取數(shù)據(jù)具有確定性。例如,如在非專利文獻(xiàn)中的ACS-2中描述的那樣,IDENTIFY DEVICE數(shù)據(jù)字169的位14被設(shè)定為I。這樣,非易失性存儲設(shè)備2B可提前通知信息處理設(shè)備3設(shè)備無效數(shù)據(jù)的值是確定性的。這樣,在本發(fā)明中,至少針對每個LBA是確定性的數(shù)據(jù)使用函數(shù)f (LBA)表示為如下:
[0139]data = f (LBA)
[0140]具體而言,當(dāng)f (LBA) = O時,IDENTIFY DEVICE數(shù)據(jù)字169的位5被設(shè)定為1,這樣,非易失性存儲設(shè)備2B可提前通知信息處理設(shè)備3設(shè)備無效數(shù)據(jù)的讀取數(shù)據(jù)為固定值
O(非易失性存儲設(shè)備2B支持Deterministic Zeroing TRIM特性)。當(dāng)f (LBA) =0時,具體而言,當(dāng)邏輯扇區(qū)大小為512字節(jié)時,函數(shù)f輸出長度為512字節(jié)的填充O的數(shù)據(jù),例如“f(LBA) = 00000...0” (0-fill)。
[0141][存儲控制程序的方法]
[0142]接下來,將描述在信息處理設(shè)備3上執(zhí)行的存儲控制程序(控制工具)200的方法。例如,如圖8所示,控制工具200在信息處理設(shè)備3斷電期間被存儲在作為備份源的非易失性存儲設(shè)備2A的NAND存儲器16A中。但是,當(dāng)信息處理設(shè)備3斷電或者當(dāng)OS 100接收激活控制程序200的消息時,CPU 4將控制工具200從NAND存儲器16加載到主存儲器6上的區(qū)域6B。另一方面,當(dāng)不同于非易失性存儲設(shè)備2A和非易失性存儲設(shè)備2B的非易失性存儲設(shè)備20連接到信息處理設(shè)備3時,如圖9所示,控制程序200可被存儲在非易失性存儲設(shè)備20的區(qū)域20B中。當(dāng)信息處理設(shè)備3被激活或者程序被激活時,控制程序200可被從區(qū)域20B加載到區(qū)域6B。具體而言,當(dāng)非易失性存儲設(shè)備20被用作存儲OS的系統(tǒng)驅(qū)動器,并且非易失性存儲設(shè)備2A被用作存儲用戶數(shù)據(jù)(例如文檔、靜止圖像數(shù)據(jù)或移動圖像數(shù)據(jù))的數(shù)據(jù)驅(qū)動器時,控制程序優(yōu)選地被存儲在非易失性存儲設(shè)備20中,從驅(qū)動器2A和20的作用被清晰地區(qū)分(以便系統(tǒng)驅(qū)動器20被用作主要存儲OS或應(yīng)用程序的驅(qū)動器,數(shù)據(jù)驅(qū)動器2A被用作存儲用戶數(shù)據(jù)的驅(qū)動器)這一事實(shí)的角度來看,非易失性存儲設(shè)備20充當(dāng)系統(tǒng)驅(qū)動器。備選地,當(dāng)USB存儲器被用作存儲控制程序200的驅(qū)動器20時,USB存儲器可在正常使用時斷開與信息處理設(shè)備3的連接。僅當(dāng)控制程序被使用時,例如非易失性存儲設(shè)備2A備份時,USB存儲器才可連接到信息處理設(shè)備3??刂瞥绦蚩杀淮鎯υ谧鳛閭浞菽康牡氐姆且资源鎯υO(shè)備2B中。
[0143]從省略用戶設(shè)置控制程序的工作這一事實(shí)的角度來看,例如,如圖8或9所示,信息處理系統(tǒng)I優(yōu)選地在這樣的狀態(tài)(預(yù)安裝狀態(tài))下發(fā)運(yùn):其中控制程序被存儲在非易失性存儲設(shè)備2A或非易失性存儲設(shè)備20中,這樣,信息處理系統(tǒng)I便可在商店出售或者交付到用戶手上。另一方面,從用戶可選擇安裝或不安裝控制程序這一事實(shí)的角度來看,以及從最新控制程序被提供給用戶的這一事實(shí)的角度來看,控制程序200優(yōu)選地從WEB下載,或者從諸如DVD-ROM或USB存儲器之類的外部存儲介質(zhì)安裝并且被存儲在非易失性存儲設(shè)備2A或非易失性存儲設(shè)備20中。
[0144]圖10是示出從WEB下載的實(shí)例的框圖。控制程序200被存儲在Web服務(wù)器21的存儲介質(zhì)22的區(qū)域22B中,因此,控制程序200例如經(jīng)由諸如因特網(wǎng)、局域網(wǎng)或無線LAN之類的網(wǎng)絡(luò)傳送通過與LAN控制器12或USB控制器12相連的網(wǎng)絡(luò)設(shè)備,并且被下載到(或安裝到)NAND存儲器16B。在圖9的情況下,控制工具200被下載到或安裝到非易失性存儲設(shè)備20上的區(qū)域20B。
[0145]圖11是示出從諸如DVD-ROM或⑶-ROM之類的光介質(zhì)安裝的實(shí)例的框圖??刂乒ぞ?00被存儲在諸如DVD-ROM或⑶-ROM之類的光介質(zhì)23的區(qū)域23B中,因此,光介質(zhì)23被放入光驅(qū)10,以便經(jīng)由光驅(qū)10在非易失性存儲設(shè)備2A的NAND存儲器16A上安裝控制工具200。圖12是示出從USB存儲器24安裝的實(shí)例的框圖。控制工具200被存儲在USB存儲器24的區(qū)域24B中,因此,USB存儲器24連接到USB控制器13,以便經(jīng)由USB控制器13在非易失性存儲設(shè)備2A的NAND存儲器16A上安裝控制工具200。除了 USB存儲器24之夕卜,也可使用諸如SD卡之類的外部存儲器。從方便用戶購買的角度來看,光介質(zhì)23或USB存儲器24優(yōu)選地進(jìn)行包裝并在發(fā)運(yùn)SSD 2時作為SSD 2的附件一起銷售。另一方面,光介質(zhì)23或USB存儲器24可作為軟件產(chǎn)品單獨(dú)銷售,或者作為雜志或書籍的附贈品提供。
[0146]圖13是示出信息處理系統(tǒng)I的軟件層處的分級結(jié)構(gòu)的示意圖。諸如被加載到主存儲器6的控制程序200之類的各種軟件一般不直接與非易失性存儲設(shè)備2A或非易失性存儲設(shè)備2B通信,而是經(jīng)由被加載到主存儲器6的OS 100與非易失性存儲設(shè)備2A或非易失性存儲設(shè)備2B通信。當(dāng)各種軟件需要將諸如讀取請求或?qū)懭胝埱笾惖拿顐魉偷椒且资源鎯υO(shè)備2A時,各種軟件將以文件為單元的訪問請求傳送到OS 100。OS 100參考OS 100中嵌入的文件管理表(OS文件系統(tǒng))來指定與訪問請求所針對的文件對應(yīng)的非易失性存儲設(shè)備2A或非易失性存儲設(shè)備2B的邏輯地址(LBA),將邏輯地址轉(zhuǎn)換成對應(yīng)的接口固有命令(非專利文I的ACS-2中描述的60h READ FPDMA QUEUED命令或61h WRITE FPDMAQUEUED命令),然后將接口固有命令傳送到非易失性存儲設(shè)備2A或非易失性存儲設(shè)備2B。
[0147]當(dāng)OS 100從非易失性存儲設(shè)備2A或非易失性存儲設(shè)備2B接收回復(fù)時,OS 100指定此回復(fù)所針對的軟件,并且將回復(fù)返回給所指定的軟件。此外,控制程序200可被配置為在不使用OS 100的文件管理表的情況下,直接經(jīng)由OS 100訪問非易失性存儲設(shè)備2A或非易失性存儲設(shè)備2B的LBA,或者可被配置為在不使用經(jīng)由OS 100的路徑的情況下,直接訪問非易失性存儲設(shè)備2A或非易失性存儲設(shè)備2B的LBA。
[0148][信息處理設(shè)備的物理配置]
[0149]接下來,將描述信息處理系統(tǒng)I的配置實(shí)例。信息處理系統(tǒng)I例如可被實(shí)現(xiàn)為桌面計算機(jī)或筆記本型便攜式計算機(jī)。圖14是示出充當(dāng)信息處理系統(tǒng)I的桌面計算機(jī)的示意圖。
[0150]桌面計算機(jī)包括計算機(jī)主體31、顯示器9、鍵盤14和鼠標(biāo)15。計算機(jī)主體31包括主板30,上面安裝有主硬件單元;非易失性存儲設(shè)備2A和電源設(shè)備32。非易失性存儲設(shè)備2A經(jīng)由SATA電纜物理連接到主體30,并且經(jīng)由安裝在主板30上的南橋7電連接到安裝在同一主板30上的CPU4。電源設(shè)備30產(chǎn)生在桌面計算機(jī)中使用的各種電力并且經(jīng)由電纜將電力提供給主板30、非易失性存儲設(shè)備2A等。
[0151]圖15是示出充當(dāng)信息處理系統(tǒng)I的便攜式計算機(jī)的示意圖。便攜式計算機(jī)包括計算機(jī)主體34和顯示單元35。例如,包括IXD (液晶顯示屏)的顯示設(shè)備9被嵌入顯示單元35。安裝之后的顯示單元35可在打開位置與閉合位置之間旋轉(zhuǎn),在打開位置上,計算機(jī)主體34的上表面暴露出來,在閉合位置上,主體34的上表面合住。主體34包括薄的箱體式外殼。電源開關(guān)36、鍵盤14和觸摸板33等被設(shè)置在上表面。主體34包括非易失性存儲設(shè)備2A、主板和電源設(shè)備,這與桌面計算機(jī)相同。
[0152]應(yīng)用該實(shí)施例的信息處理系統(tǒng)I不僅可以是上述信息處理系統(tǒng),而且還可以是諸如照相機(jī)或是攝像機(jī)之類的成像設(shè)備、平板計算機(jī)、智能電話、游戲設(shè)備、汽車導(dǎo)航系統(tǒng)、存儲驅(qū)動器復(fù)印機(jī)等。
[0153]在該實(shí)施例中,非易失性存儲設(shè)備2B被用作作為備份源的非易失性存儲設(shè)備2A的備份目的地。從信息處理系統(tǒng)I的輕型、省電和省空間的角度來看,在存儲設(shè)備2A的可靠性不劣化的同時,非易失性存儲設(shè)備2B優(yōu)選地不連接到信息處理設(shè)備3。在這種情況下,當(dāng)非易失性存儲設(shè)備2A的可靠性劣化時,優(yōu)選地通過顯示器9,從控制程序向用戶顯示消息“PLEASE CONNECT A BACKUP STORAGE DEVICE (請連接備份存儲設(shè)備)”,以便用戶可將備份非易失性存儲設(shè)備2B連接到信息處理設(shè)備3。例如,當(dāng)信息處理系統(tǒng)I為桌面計算機(jī)時,非易失性存儲設(shè)備2B可經(jīng)由SATA電纜或USB電纜連接到主板30,例如,如圖14所示。非易失性存儲設(shè)備2B可以安裝在計算機(jī)主體31的內(nèi)部。此外,當(dāng)信息處理系統(tǒng)I為便攜式計算機(jī)時,非易失性存儲設(shè)備2B可經(jīng)由SATA電纜或USB電纜連接到計算機(jī)主體34,例如,如圖15所示。在這種情況下,從簡化拔插的角度來看,接口 19B優(yōu)選地為eSATA接口。非易失性存儲設(shè)備2B可以安裝在計算機(jī)主體34的內(nèi)部。在安裝非易失性存儲設(shè)備2B之后,控制程序200執(zhí)行將用戶數(shù)據(jù)從非易失性存儲設(shè)備2A備份到非易失性存儲設(shè)備2B。
[0154]從信息處理系統(tǒng)I的省電、輕型和省空間的角度來看,當(dāng)控制程序200執(zhí)行的數(shù)據(jù)備份結(jié)束時,如圖16和17所示,優(yōu)選地將非易失性存儲設(shè)備2A與信息處理系統(tǒng)I分離,將非易失性存儲設(shè)備2B安裝到非易失性存儲設(shè)備2A的安裝位置,并且用非易失性存儲設(shè)備2B替換非易失性存儲設(shè)備2A。
[0155][備份處理]
[0156]圖18是示出控制程序200執(zhí)行的備份處理的處理流程。控制程序200被CPU 4加載到控制程序區(qū)域6B,并且控制程序200的功能由CPU 4處理??刂瞥绦?00是具有從非易失性存儲設(shè)備2A到非易失性存儲設(shè)備2B的數(shù)據(jù)備份功能的程序??刂瞥绦?00的備份功能可以由用戶通過鍵盤14或鼠標(biāo)15手動啟動,也可由CPU 4自動啟動。在圖18所示的流程中,備份目標(biāo)LBA區(qū)域被分成長度為L的小區(qū)域,并且針對每個小區(qū)域執(zhí)行備份處理的子例程。可使用作為LBA指針的cLBA作為小區(qū)域的引用,并且通過將cLBA從O開始遞增L來備份所有LBA區(qū)域的數(shù)據(jù)。小區(qū)域的長度L是等于或大于I的整數(shù)。
[0157]當(dāng)備份功能啟動時,控制程序200將作為數(shù)據(jù)復(fù)制目標(biāo)LBA區(qū)域的指針的cLBA設(shè)定為O (步驟S500)。控制程序200將讀取LBA區(qū)域(從cLBA開始,長度為L)的數(shù)據(jù)的命令傳送到非易失性存儲設(shè)備2A(步驟S510)。例如,使用非專利文獻(xiàn)I的ACS-2中描述的60h READ FPDMA QUEUED命令、25h READ DMA EXT命令等作為讀取命令。接收讀取命令的存儲設(shè)備2A將LBA區(qū)域的讀取數(shù)據(jù)(D)傳送到信息處理設(shè)備3,并且信息處理設(shè)備3接收數(shù)據(jù)D (步驟S520)??刂瞥绦?qū)?shù)據(jù)D與主存儲器6中存儲的函數(shù)f (cLBA)的輸出數(shù)據(jù)相比較(步驟S530)。主存儲器6中的函數(shù)f ()與存儲在非易失性存儲設(shè)備2B中的函數(shù)f ()相同。在該實(shí)施例中,當(dāng)CPU 4加載控制工具200時,CPU 4將函數(shù)f ()從非易失性存儲設(shè)備2B加載到主存儲器6。處理分支為數(shù)據(jù)D與函數(shù)f(cLBA)的輸出數(shù)據(jù)不同(步驟S530的結(jié)果為否)的情況,以及數(shù)據(jù)D與函數(shù)f (cLBA)的輸出數(shù)據(jù)相同(步驟S530的結(jié)果為是)的情況。
[0158]當(dāng)D與f (cLBA)的輸出數(shù)據(jù)不同時(步驟S530的結(jié)果為否),控制程序200將使得數(shù)據(jù)D被寫入LBA區(qū)域(從cLBA開始,長度為L)的命令傳送到非易失性存儲設(shè)備2B,控制程序200將數(shù)據(jù)D傳送到非易失性存儲設(shè)備2B,以及SSDC 41B將數(shù)據(jù)D寫入NAND存儲器16B (步驟S540)。例如,使用非專利文獻(xiàn)I的ACS-2中描述的61h WIRTE FPDMA QUEUED命令、35h WRITE DMA EXT命令等作為寫入命令。
[0159]當(dāng)D與f (cLBA)的輸出數(shù)據(jù)相同時(步驟S530的結(jié)果為是),控制程序200將取消映射LBA區(qū)域(從cLBA開始,長度為L)的刪除通知傳送到非易失性存儲設(shè)備2B。非易失性存儲設(shè)備2B的SSDC 41B更改管理信息46B以刪除(使失效)LBA區(qū)域到NAND存儲器45B的映射,以使得LBA區(qū)域的數(shù)據(jù)變?yōu)樵O(shè)備無效數(shù)據(jù)(步驟S550)。例如,使用非專利文獻(xiàn)
I的 ACS-2 中描述的 06h DATA SET MANAGEMENT 命令或 SCT 命令,NVM Express Revis1n1.1中描述的Ilh Dataset Management命令的Deallocate (AD)等作為刪除通知命令。
[0160]當(dāng)步驟S540或步驟S550完成時,控制程序200使cLBA增加L (步驟S560),然后針對所有小區(qū)域執(zhí)行步驟S500到步驟S550的子例程。當(dāng)cLBA超過非易失性存儲設(shè)備2B的最大可訪問LBA時,假設(shè)所有LBA區(qū)域的讀取完成(步驟S570的結(jié)果為是),這樣,備份處理便完成。
[0161]當(dāng)控制程序200完成備份處理時,控制程序200優(yōu)選地強(qiáng)制非易失性存儲設(shè)備2B轉(zhuǎn)變?yōu)榇龣C(jī)狀態(tài),例如通過將待機(jī)狀態(tài)和睡眠狀態(tài)轉(zhuǎn)變命令(例如非專利文獻(xiàn)I的ACS-2中描述的EOh Standby Immediate命令或E6h SLEEP命令)發(fā)出到非易失性存儲設(shè)備2B實(shí)現(xiàn)此操作。結(jié)果,在步驟S540被寫入非易失性存儲設(shè)備2B的數(shù)據(jù)被可靠地存儲在NAND型閃存中,并且在步驟S550中被刪除通知處理更改的最新管理信息46B被可靠地存儲在NAND型閃存中,以防止在非易失性存儲設(shè)備2B意外停止工作時丟失數(shù)據(jù)。信息處理系統(tǒng)I的功耗在非易失性存儲設(shè)備2B轉(zhuǎn)變?yōu)榇龣C(jī)狀態(tài)之后得到節(jié)省??刂瞥绦?00可將清倉高速緩存命令(例如非專利文獻(xiàn)I的ACS-2中描述的E7h FLUSH命令或EAh FLUSH CACHE EXT命令)發(fā)出到非易失性存儲設(shè)備2B,從而將RAM 40B的管理信息46B和CM 44B的數(shù)據(jù)保存和存儲在NAND型閃存16B中。
[0162]當(dāng)控制程序200完成備份處理時,控制程序200可強(qiáng)制存儲設(shè)備2A轉(zhuǎn)換為省電模式,以便節(jié)省信息處理系統(tǒng)I的功耗。例如,控制程序可將信息技術(shù)ATA/ATAPI CommandSet-3 (ACS-3)中描述的EOh Standby Immediate命令、E6h SLEEP命令等發(fā)出到存儲設(shè)備2A。例如,控制程序200可關(guān)閉非易失性存儲設(shè)備2A的電源。例如,控制程序200可強(qiáng)制非易失性存儲設(shè)備2A轉(zhuǎn)變?yōu)镾erial ATA Revis1n 3.1 Gold Revis1n中描述的Partial狀態(tài)或Slumber狀態(tài)。例如,控制程序200可通過激活“Serrial ATA Technical Proposal:SATA31_TPR_C 108 TitleiDevic Sle印”中描述的DEVSLP信號,強(qiáng)制非易失性存儲設(shè)備2A轉(zhuǎn)變?yōu)镈evSleep狀態(tài)。例如,控制程序200可強(qiáng)制非易失性存儲設(shè)備2A轉(zhuǎn)變?yōu)镻CI ExpressBase Specificat1n Revis1n 3.0中描述的Dl狀態(tài)、D2狀態(tài)或D3狀態(tài)。例如,控制程序200 可強(qiáng)制非易失性存儲設(shè)備 2A 轉(zhuǎn)變?yōu)?PCI Express Base Specificat1n Revis1n 3.0中描述的LI狀態(tài)、L2狀態(tài)或L3狀態(tài)。
[0163]如上所述,與非易失性存儲設(shè)備2B的寫入處理相比,針對非易失性存儲設(shè)備2B的刪除通知處理可以以更高的速度執(zhí)行。此外,對非易失性存儲設(shè)備2B的寫入處理一般使用可用塊,但是對非易失性存儲設(shè)備2B的刪除通知處理很少使用可用塊。因此,該實(shí)施例提高了非易失性存儲設(shè)備2B的處理速度。此外,NAND存儲器塊一般通過對非易失性存儲設(shè)備2B的寫入處理擦除,這樣,NAND存儲器的可靠性劣化。但是,由于刪除NAND存儲器塊的處理很少在對非易失性存儲設(shè)備2B的刪除通知處理中執(zhí)行,因此,該實(shí)施例可減輕NAND存儲器的可靠性劣化。
[0164]在一個比較例中,由于步驟S540的寫入處理針對備份目的地目標(biāo)的每個LBA區(qū)域執(zhí)行,因此備份速度很低,非易失性存儲設(shè)備2B的處理速度降低,并且NAND存儲器16B的可靠性劣化。另一方面,當(dāng)使用根據(jù)該實(shí)施例的控制工具200執(zhí)行備份時,不是針對與函數(shù)f (LBA)的輸出數(shù)據(jù)相同的數(shù)據(jù)執(zhí)行步驟S540,而是執(zhí)行步驟S550。因此,與比較例的備份系統(tǒng)相比,可以以更高的速度執(zhí)行備份,可抑制非易失性存儲設(shè)備2B的處理速度降低,從而可抑制NAND存儲器16B的可靠性劣化。
[0165]在該實(shí)施例中,SSD被用作非易失性存儲設(shè)備2B,但是也可使用其它非易失性存儲設(shè)備(例如硬盤驅(qū)動器(HDD)和混合HDD)作為非易失性存儲設(shè)備2B。例如,當(dāng)HDD被用作非易失性存儲設(shè)備2B時,到非易失性存儲設(shè)備2B的寫入量在步驟S550減少,這樣,非易失性存儲設(shè)備2B的可靠性劣化減少。這樣,從信息處理設(shè)備3傳送到非易失性存儲設(shè)備2B的數(shù)據(jù)量減少,備份處理可以以更高的速度執(zhí)行。
[0166]在該實(shí)施例中,SSD被用作非易失性存儲設(shè)備2A,但是也可使用其它存儲設(shè)備(例如HDD、混合HDD、易失性RAM等)作為存儲設(shè)備2A。
[0167]在該實(shí)施例中,描述了備份非易失性存儲設(shè)備2A的所有LBA的情況。但是,備份目標(biāo)LBA區(qū)域可限于所有LBA區(qū)域中的一部分。
[0168]在該實(shí)施例中,不同的存儲設(shè)備被用作作為備份源的非易失性存儲設(shè)備2A以及作為備份目的地的非易失性存儲設(shè)備2B。但是作為備份源的非易失性存儲設(shè)備2A和作為備份目的地的非易失性存儲設(shè)備2B可以是同一 SSD(2A = 2B)。也就是說,例如,SSD被分成兩個分區(qū),分區(qū)A (起始LBA = O)和分區(qū)B (起始LBA = X),并且控制程序200可執(zhí)行從分區(qū)A到分區(qū)B的備份處理。在這種情況下,例如,備份處理可在從cLBA開始的備份源LBA區(qū)域與從X+cLBA開始的備份目的地LBS區(qū)域之間執(zhí)行。
[0169](第二實(shí)施例)
[0170]在第一實(shí)施例中,已經(jīng)描述了對具有固定扇區(qū)長度L的每個邏輯分區(qū)(作為備份處理單元)執(zhí)行備份處理的情況。備份處理可針對具有可變長度的每個分區(qū)執(zhí)行。例如,在OS 100上管理的文件單元可被用作備份處理單元。圖19是示出根據(jù)第二實(shí)施例的控制工具200的處理實(shí)例的流程圖。
[0171]控制程序200讀取存儲在作為備份源的非易失性存儲設(shè)備2A中的NAND存儲器16A內(nèi)的OS文件管理表(元數(shù)據(jù)、OS文件系統(tǒng)),并將存儲在非易失性存儲設(shè)備2A中的文件的所有信息存儲在主存儲器6中作為備份目標(biāo)列表(步驟S600)。備份目標(biāo)列表可能不是非易失性存儲設(shè)備2A的所有文件,而可以是這些文件的一部分??刂瞥绦?00搜索其中每個文件的數(shù)據(jù)位于備份目標(biāo)列表中的LBA區(qū)域的信息(步驟S605)??刂瞥绦?00從作為備份源的非易失性存儲設(shè)備2A讀取LBA區(qū)域的數(shù)據(jù)(步驟S610)。例如,使用非專利文獻(xiàn)I的ACS-2中描述的60h READ FPDMA QUEUED命令、25h READ DMA EXT命令等作為讀取命令。
[0172]在判定步驟S610中讀取的數(shù)據(jù)之前,優(yōu)選地將文件的讀取數(shù)據(jù)以邏輯單元分割為數(shù)據(jù)D (步驟S620)。邏輯單元可以是邏輯扇區(qū)或多個邏輯扇區(qū)??刂瞥绦?00針對文件中的每個邏輯單元處理步驟S630-660。cLBA被用作選定邏輯單元的指針,最初等于LBA區(qū)域的起始LBA,當(dāng)在步驟S660之后處理步驟S630時,該指針遞增??刂瞥绦?00選擇一個從cLBA開始的邏輯單元(步驟S630),并且判定數(shù)據(jù)D是否與函數(shù)f (cLBA)的輸出數(shù)據(jù)相同(步驟S640)。當(dāng)數(shù)據(jù)D與函數(shù)f(cLBA)的輸出數(shù)據(jù)不同時,控制程序200使用寫入命令(例如非專利文獻(xiàn)I的ACS-2中描述的61h WIRTE FPDMA QUEUED命令、35h WRITE DMAEXT命令等)將數(shù)據(jù)D寫入作為備份目的地的非易失性存儲設(shè)備2B (步驟S645)。當(dāng)數(shù)據(jù)D與函數(shù)f (cLBA)的輸出數(shù)據(jù)相同時,控制程序200不向作為備份目的地的非易失性存儲設(shè)備2B發(fā)送寫入命令,而是發(fā)送刪除通知命令以刪除邏輯單元到NAND存儲器16B的映射(步驟S650)。例如,可使用非專利文獻(xiàn)I的ACS-2中描述的06h DATA SET MANAGEMENT命令或 SCT 命令,NVM Express Revis1n 1.1 中描述的 Ilh Dataset Management 命令的Deallocate(AD)等作為刪除通知命令??刂瞥绦?00針對所有邏輯單元重復(fù)步驟S630到步驟S650的處理。
[0173]控制程序200可更改非易失性存儲設(shè)備2B中的OS文件管理表(元數(shù)據(jù))以將選定文件的信息更新為備份目的地,這樣OS 6A便可識別備份文件??刂瞥绦?00判定控制程序200是否已完成所有文件的處理(步驟S680)。當(dāng)控制程序200未完成所有文件時,控制程序200選擇下一文件,獲取選定文件的LBA信息(步驟S690),然后將處理移到步驟S610o當(dāng)控制程序200完成所有文件時,處理隨之結(jié)束。在該實(shí)施例中,已經(jīng)描述了備份非易失性存儲設(shè)備2A的所有文件的情況。但是,備份目標(biāo)文件可能限于所有文件當(dāng)中的部分文件。
[0174]這樣,在第二實(shí)施例中,讀取備份源的數(shù)據(jù),并且以具有可變數(shù)據(jù)大小的文件單元執(zhí)行寫入。在該實(shí)施例中,可針對不存儲文件數(shù)據(jù)的LBA區(qū)域跳過讀取、寫入和刪除通知處理。因此,備份處理可以更高的速度執(zhí)行。
[0175](第三實(shí)施例)
[0176]在第一和第二實(shí)施例中,在控制程序200中使用函數(shù)f (LBA)執(zhí)行備份處理。作為備份目的地的非易失性存儲設(shè)備2B的SSDC 41B通過計算非易失性存儲設(shè)備2B中的函數(shù)f (LBA)恢復(fù)要讀取的LBA區(qū)域的數(shù)據(jù),然后在讀取備份后的數(shù)據(jù)時將恢復(fù)后的數(shù)據(jù)發(fā)送到信息處理設(shè)備3。
[0177]在第三實(shí)施例中,將描述在設(shè)計控制程序200時,在設(shè)計產(chǎn)品時,在工廠發(fā)貨之前,或者在工廠發(fā)貨之后,實(shí)現(xiàn)函數(shù)f (LBA)的方法。具體而言,當(dāng)確定要在SSD中安裝的OS或系統(tǒng)配置時,最適合系統(tǒng)的函數(shù)f (LBA)優(yōu)選地在設(shè)計控制程序200時,在設(shè)計產(chǎn)品時,或者在工廠發(fā)貨之前進(jìn)行配置。例如,函數(shù)f (LBA)可作為將LBA映射到數(shù)據(jù)的表數(shù)據(jù)被存儲在SSDC 41B.NAND存儲器16B、或存儲設(shè)備2B的RAM 40B、或信息處理設(shè)備3的主存儲器6中。函數(shù)f (LBA)可被實(shí)現(xiàn)為軟件數(shù)據(jù)或固件數(shù)據(jù),通過在SSDC 41B、NAND存儲器16B、或存儲設(shè)備2B的RAM 40B、或信息處理設(shè)備3的主存儲器6中實(shí)現(xiàn)為算法的函數(shù)f (LBA)來實(shí)現(xiàn)這些軟件數(shù)據(jù)或固件數(shù)據(jù)。例如,函數(shù)f (LBA)可嵌入在存儲設(shè)備2B的SSDC 41B上,作為使用函數(shù)f (LBA)作為算法而實(shí)現(xiàn)的電子電路。
[0178]備選地,例如,來自函數(shù)f(LBA)的輸出數(shù)據(jù)可以作為函數(shù)f(LBA)的信息存儲在非易失性存儲設(shè)備3中作為修剪數(shù)據(jù)存儲單元的存儲單元內(nèi)。修剪數(shù)據(jù)存儲單元可以是NAND型閃存和RAM。在這種情況下,當(dāng)SSDC 41B從信息處理設(shè)備3接收刪除通知時,SSDC 41B更改管理信息46B以刪除由刪除通知指定的LBA區(qū)域到NAND存儲器16B的映射,并且SSDC41B更改管理信息46B以將LBA區(qū)域映射到修剪數(shù)據(jù)存儲單元。當(dāng)信息處理設(shè)備將從LBA區(qū)域讀取數(shù)據(jù)的讀取命令發(fā)送到非易失性存儲設(shè)備2B時,SSDC 41B讀取管理信息46B,讀取從LBA區(qū)域映射的修剪數(shù)據(jù)存儲單元中的數(shù)據(jù),并且將讀取數(shù)據(jù)發(fā)送到信息處理設(shè)備3.
[0179]當(dāng)函數(shù)f (LBA)被存儲在存儲設(shè)備2B的NAND存儲器16B,以及信息處理設(shè)備3的主存儲器6的控制程序200中時,控制程序200中的函數(shù)f (LBA)需要與非易失性存儲設(shè)備2B中的函數(shù)f (LBA)相同。例如,控制程序200和非易失性存儲設(shè)備2B可以分別使用同一函數(shù)f (LBA)來設(shè)計。備選地,例如,函數(shù)f (LBA)的最新信息可僅被存儲在非易失性存儲設(shè)備2B中。在這種情況下,控制程序200將函數(shù)f (LBA)的信息從非易失性存儲設(shè)備2B加載到主存儲器6。當(dāng)初始函數(shù)f (LBA)或之前的函數(shù)f (LBA)被存儲在主存儲器6中時,控制程序200使用主存儲器6中已加載的函數(shù)f (LBA)覆蓋初始或之前的函數(shù)f (LBA)。相反地,SSDC 41B可將函數(shù)f (LBA)的信息從控制程序200加載到NAND型閃存16B或RAM 40B,并且可使用已加載的函數(shù)f (LBA)覆蓋之前的函數(shù)f (LBA)。
[0180]圖20是示出邏輯地址和數(shù)據(jù)的實(shí)例的示意圖。信息處理設(shè)備3使用邏輯地址(LBA)指定SSD的邏輯地址區(qū)域。在邏輯地址中,一個邏輯扇區(qū)是最小管理單元,并且一個邏輯扇區(qū)例如具有512字節(jié)。在圖20中,邏輯地址(0000h、0001h、0002h、...、ba02h、...)被分配給每個扇區(qū)。作為數(shù)字后綴的“h”表示這些數(shù)字以十六進(jìn)制表示。
[0181]在圖20的實(shí)例中,f (LBA)被配置為假設(shè)(模擬)最終用戶可備份的典型數(shù)據(jù)模型。當(dāng)非易失性存儲設(shè)備2B和控制程序200的設(shè)計者設(shè)計非易失性存儲設(shè)備2B和控制程序200時,他或她可通過基于表示典型使用環(huán)境中典型用戶數(shù)據(jù)的模型分析所有邏輯地址,然后比較邏輯地址的數(shù)據(jù)與Ο-fill扇區(qū),來計算圖21所示的0-fill (O填充)扇區(qū)的存在概率分布(直方圖)。在比較時,Ο-fill扇區(qū)的確切比率可通過用扇區(qū)(與Ο-fill扇區(qū)相同)的總計數(shù)除以所有邏輯地址區(qū)域的總LBA容量進(jìn)行計算。當(dāng)配置“函數(shù)f (LBA)=000...0h (固定值和O以512字節(jié)重復(fù))”時,在備份期間,可通過取消映射邏輯扇區(qū)(o-fill扇區(qū))的總扇區(qū)計數(shù)大小的LBA區(qū)域來最大程度上節(jié)省可用塊。在這種情況下,例如,函數(shù)f (LBA)的信息可作為512字節(jié)的數(shù)據(jù)000...0h、將所有LBA映射到512字節(jié)的數(shù)據(jù)000...0h的表數(shù)據(jù),或軟件數(shù)據(jù)或固件數(shù)據(jù)(被實(shí)現(xiàn)為針對所有LBA產(chǎn)生512字節(jié)的數(shù)據(jù)
000...0h的算法),被存儲在SSDC 41B、NAND存儲器16B、或存儲設(shè)備2B的RAM 40B、或信息處理設(shè)備3的主存儲器6中。
[0182]圖22是示出其中函數(shù)f (LBA)不輸出恒定的固定值的實(shí)例的示意圖。在某些情況下,常用的典型數(shù)據(jù)模式可根據(jù)邏輯地址區(qū)域而有所不同,如這樣的情況:其中給定的數(shù)據(jù)模式經(jīng)常在給定邏輯地址區(qū)域中使用,另一數(shù)據(jù)模式經(jīng)常在其它給定的邏輯地址區(qū)域中使用。如圖22所示,考慮這樣一種情況:0-fill數(shù)據(jù)經(jīng)常在邏輯地址區(qū)域的前半部分中使用,Ι-fill數(shù)據(jù)(所有位都是“I”的數(shù)據(jù),以及當(dāng)以十六進(jìn)制表示時,通過Fh填充的數(shù)據(jù))經(jīng)常在邏輯地址區(qū)域的后半部分中使用。在圖23中示出Ο-fill扇區(qū)的存在概率分布和1-fill扇區(qū)的存在概率分布。在這種情況下,函數(shù)f (LBA)優(yōu)選地在兩個邏輯地址區(qū)域中輸出不同的值,如在“函數(shù) f (LBA) = 000...0h (其中 LBA 彡 cOOOh)和函數(shù) f (LBA) = fff...fh (其中LBA>c000h)”中那樣,而不是“函數(shù)f(LBA) = 000...0h (固定值)”和“函數(shù)f (LBA)=fff...fh(固定值)”。結(jié)果,備份后的可用塊數(shù)得到節(jié)省。在這種情況下,例如,函數(shù)f (LBA)作為表數(shù)據(jù)(將小于cOOOh的LBA映射到512字節(jié)的數(shù)據(jù)000...0h,并且將等于或大于c000h的LBA映射到數(shù)據(jù)fff...fh)被存儲在SSDC 41B、NAND存儲器16B、或存儲設(shè)備2B的RAM 40B、或信息處理設(shè)備3的主存儲器6中。函數(shù)f (LBA)作為算法、軟件數(shù)據(jù)或固件數(shù)據(jù)(產(chǎn)生512字節(jié)到小于cOOOh的LBA的數(shù)據(jù)000...0h,并且產(chǎn)生512字節(jié)到等于或大于cOOOh的LBA的數(shù)據(jù)fff...fh)被存儲在SSDC 41B.NAND存儲器16B、或存儲設(shè)備2B的RAM 40B、或信息處理設(shè)備3的主存儲器6中。
[0183]圖24是示出三個邏輯地址區(qū)域中常用的數(shù)據(jù)不同的示意圖。圖25示出Ο-fill扇區(qū)的存在概率分布,320a-fill扇區(qū)(一個扇區(qū)長度通過重復(fù)的320a數(shù)據(jù)填充的數(shù)據(jù))的存在概率分布,以及Ι-fill扇區(qū)的存在概率分布。例如,在這種情況下,函數(shù)f(LBA)優(yōu)選地被配置為在三個邏輯地址區(qū)域中具有不同的值,如在“函數(shù)f (LBA) = 000...0h(其中LBA ( 7fffh)、函數(shù) f (LBA) = 320a320a...320ah (其中 8000h ( LBA ( cOOOh),以及函數(shù)f(LBA) =€€1..^1(其中1^4彡(:00111)”中那樣。結(jié)果,備份后的可用塊數(shù)得到節(jié)省。在這種情況下,例如,函數(shù)f (LBA)作為表數(shù)據(jù)(將“LBA ( 7fffh”范圍中的LBA映射到512字節(jié)的數(shù)據(jù)000...0h,將“8000h ( LBA ( cOOOh”范圍中的LBA映射到512字節(jié)的數(shù)據(jù)320a320a...320ah,并且將“LBA彡cOOlh”范圍中的LBA映射到512字節(jié)的數(shù)據(jù)fff...fh)被存儲在SSDC 41B.NAND存儲器16B、或存儲設(shè)備2B的RAM 40B、或信息處理設(shè)備3的主存儲器6中。函數(shù)f (LBA)可作為算法、軟件數(shù)據(jù)或固件數(shù)據(jù)(產(chǎn)生512字節(jié)到“LBA<7fffh”范圍中的LBA的數(shù)據(jù)000...0h,產(chǎn)生512字節(jié)到“8000h ( LBA ( cOOOh”范圍中的LBA的數(shù)據(jù)320a320a...320ah,并且產(chǎn)生512字節(jié)到“LBA彡cOOlh”范圍中的LBA的數(shù)據(jù)fff...fh)被存儲在SSDC 41B.NAND存儲器16B、或存儲設(shè)備2B的RAM 40B、或信息處理設(shè)備3的主存儲器6中。
[0184]函數(shù)f (LBA)可被配置為在通過針對每個大小L分割邏輯地址區(qū)域獲取的每個管理單元中具有不同的值。大小L優(yōu)選地等于或大于LBA的最小單元。函數(shù)f (LBA)在管理單元中輸出固定值,但是函數(shù)f (LBA)可在不同的管理單元之間輸出不同的數(shù)據(jù)。例如,函數(shù)f (LBA)在第一管理單元區(qū)域中輸出DO (固定值),函數(shù)f (LBA)在第二管理單元區(qū)域中輸出Dl (固定值)等等。在這種情況下,函數(shù)f (LBA)被表示為如下:
[0185]“f(LBA) =DO (其中 O 彡 LBA 彡 L-l)、f(LBA) = Dl (其中 L 彡 LBA 彡 2L-1)、f (LBA)=D2(其中 2L ( LBA ( 3L-1)、...、Dk(其中 kLO ( LBA ( (k+l)L_l)、...”。
[0186]Dk(其中k = 0、1、...)可以是大小為L的任意固定數(shù)據(jù),例如8d892a8fd91423...987ah 和 0123456789abcdef0123...defh。在這種情況下,例如,函數(shù)f (LBA)可作為表數(shù)據(jù)(針對每個k = O、1、....,將“kL彡LBA彡(k+1) L-1”范圍中的LBA映射到512字節(jié)的數(shù)據(jù)Dk)被存儲在SSDC 41B、NAND存儲器16B、或存儲設(shè)備2B的RAM40B、或信息處理設(shè)備3的主存儲器6中。備選地,例如,函數(shù)f (LBA)可作為算法、軟件數(shù)據(jù)或固件數(shù)據(jù)(針對每個k = 0、1、....,產(chǎn)生512字節(jié)到“kL ( LBA ( (k+1)L-1”范圍中的LBA的數(shù)據(jù)Dk)被存儲在SSDC 41B.NAND存儲器16B、或存儲設(shè)備2B的RAM 40B、或信息處理設(shè)備3的主存儲器6中。
[0187]Dk可針對每個k = 0、1.....進(jìn)行任意配置。最優(yōu)函數(shù)f (LBA)優(yōu)選地通過選擇最優(yōu)Dk來配置。例如,非易失性存儲設(shè)備2B和控制程序200的設(shè)計者可基于各種Dk候選的評分選擇最優(yōu)函數(shù)f (LBA)。評分通過以下應(yīng)用于最終用戶可執(zhí)行備份的典型用戶數(shù)據(jù)模型的方法來計算。
[0188](I)設(shè)計者讀取模型的每個扇區(qū)的數(shù)據(jù)(或模型的多個扇區(qū)的數(shù)據(jù),或者模型的每個管理單元的數(shù)據(jù))。
[0189](2)設(shè)計者判定(I)中讀取的數(shù)據(jù)是否與函數(shù)f (LBA)的數(shù)據(jù)輸出相同(當(dāng)針對扇區(qū)的每個整數(shù)倍讀取數(shù)據(jù)時,設(shè)計者判定數(shù)據(jù)中的所有扇區(qū)是否與函數(shù)f (LBA)的數(shù)據(jù)輸出相同)
[0190](3)當(dāng)數(shù)據(jù)與函數(shù)f (LBA)的數(shù)據(jù)輸出相同時,設(shè)計者使函數(shù)f (LBA)的評分遞增
I。當(dāng)數(shù)據(jù)與函數(shù)f (LBA)的數(shù)據(jù)輸出不同時,設(shè)計者不遞增函數(shù)f (LBA)的評分。
[0191](4)設(shè)計者計算SSD的所有邏輯地址區(qū)域的評分,并且計算評分(或者代表性地,只有部分邏輯地址區(qū)域可進(jìn)行分級)。
[0192]然后,設(shè)計者可選擇最優(yōu)Dk,其中最高評分被設(shè)定為最優(yōu)Dk,并且使用該Dk配置最優(yōu)函數(shù)f (LBA)。例如,當(dāng)“L= 128 MiB (其中MiB = 1,048,576字節(jié))”時,其中SSD的所有邏輯地址區(qū)域從LBA = O開始,均等地按照128 MiB長度分區(qū),設(shè)計者讀取每個分區(qū)并判定每個分區(qū)的數(shù)據(jù)是否與函數(shù)f (LBA)的輸出數(shù)據(jù)相同。當(dāng)數(shù)據(jù)與函數(shù)f (LBA)相同時,設(shè)計者遞增f (LBA)的評分。例如,設(shè)計者可計算Dk陣列(例如“(D0、D1、...) = (0000...h、0000...h、h...)、(ffff...h.ffff..h、...)、(ffff...h、0000..h、...)、(0000...h.ffff..h、...)”)的多個候選的評分,選擇具有最高評分的最優(yōu)候選作為最優(yōu)(D0、D1、...),并且使用最優(yōu)(DO、DU...)配置最優(yōu)函數(shù)f (LBA)。作為最優(yōu)函數(shù)f (LBA)的信息的最優(yōu)Dk陣列(其中k = O、1、...)優(yōu)選地被存儲在SSDC 41B、RAM 40B或NAND存儲器16B中。最優(yōu)Dk陣列(其中k = 0、1、...)可能未被非易失性地存儲在控制程序200中,當(dāng)需要時,控制程序200可將Dk陣列從非易失性存儲設(shè)備2B讀取到主存儲器6。例如,可使用非專利文獻(xiàn)I的ACS-2中描述的ECh IDENTIFY DEVICE命令讀取最優(yōu)Dk陣列,并且SSDC 41B可輸出IDENTIFY DEVICE數(shù)據(jù),其中最優(yōu)Dk陣列被存儲在指定為供應(yīng)商特定字段的Wordl29字段。
[0193]分區(qū)可通過按照可變長度分割邏輯地址區(qū)域而獲取,并且可被用作管理單元。在這種情況下,函數(shù)f (LBA)被表示為如下。
[0194]“f(LBA) = DO (其中 LO = O 彡 LBA 彡 L-1)、f (LBA) = Dl (其中 LI 彡 LBA 彡 L2-1)、f (LBA) = D2(其中 L2 ( LBA ( L3-1)、...、Dk (其中 Lk ( LBA ( L(k+l)_l)、...”。
[0195]Dk(其中k = O、1、...)是大小為L的任何數(shù)據(jù)模式。滿足“L0<L1<L2<...Lk〈...”。在這種情況下,函數(shù)f (LBA)作為表數(shù)據(jù)(針對每個1^ = 0、1、...將“Lk彡LBA彡L(k+1)-1”范圍中的LBA映射到512字節(jié)的數(shù)據(jù)Dk)被存儲在SSDC 41B、NAND存儲器16B、或存儲設(shè)備2B的RAM 40B、或信息處理設(shè)備3的主存儲器6中。備選地,例如函數(shù)f (LBA)作為算法、軟件數(shù)據(jù)或固件數(shù)據(jù)(針對每個k = 0、1、...產(chǎn)生512字節(jié)到“Lk彡LBA彡L (k+1)-1”范圍中的LBA的數(shù)據(jù)Dk)被存儲在SSDC 41B.NAND存儲器16B、或存儲設(shè)備2B的RAM 40B、或信息處理設(shè)備3的主存儲器6中。
[0196]圖26示出因?yàn)闆]有太多邏輯扇區(qū)使用小固定數(shù)據(jù)填充,所以函數(shù)f (LBA)無法充分優(yōu)化的情況。在這種情況下,將固定數(shù)據(jù)輸出到分區(qū)(通過按照固定長度或可變長度分割邏輯地址區(qū)域而獲取)的函數(shù)可能不是最優(yōu)函數(shù)。在這種情況下,數(shù)據(jù)和LBA具有關(guān)聯(lián)關(guān)系,并且設(shè)計者優(yōu)選地在較一般的函數(shù)f (LBA)候選當(dāng)中選擇最優(yōu)函數(shù)f (LBA)。例如,設(shè)計者提前準(zhǔn)備多個函數(shù)f (LBA)候選,計算應(yīng)用到典型用戶數(shù)據(jù)模型(其中典型的最終用戶執(zhí)行備份)的每個候選的評分,然后選擇具有最高評分的函數(shù)f (LBA)作為最優(yōu)函數(shù)f (LBA)。在這種情況下,如圖27所示,其中數(shù)據(jù)與LBA具有固定關(guān)聯(lián)的邏輯扇區(qū)通過借助最優(yōu)函數(shù)f (LBA)的備份處理取消映射。
[0197]例如,設(shè)計者可配置具有不同的a和b值的“函數(shù)f (LBA) = a x LBA+b”定義的候選。設(shè)計者基于一般用戶數(shù)據(jù)模型(其中最終用戶執(zhí)行備份)計算每個參數(shù)集(a、b)的評分,從候選當(dāng)中選擇具有最高評分的最優(yōu)(a、b),并且以最優(yōu)(a、b)配置最優(yōu)函數(shù)f(LBA)。圖28是示出選擇最優(yōu)函數(shù)f (LBA)的方法的示意圖。圖28示出其參數(shù)b分別為bl、b2和b3,并且其參數(shù)a是諸如a0之類的任意值的候選。在這種情況下,“(a、b) = (a0、b2) ”的評分最高。因此,設(shè)計者可選擇“函數(shù)f (LBA) = a0xLBA+b2”作為最優(yōu)函數(shù)f (LBA)。例如,函數(shù)f (LBA)可作為其中實(shí)現(xiàn)函數(shù)f (LBA)的算法、軟件數(shù)據(jù)或固件數(shù)據(jù)被存儲在SSDC 41B、NAND存儲器16B、或存儲設(shè)備2B的RAM 40B、或信息處理設(shè)備3的主存儲器6中。
[0198]當(dāng)SSDC 41B支持ACS-2中描述的48位地址特性集時,可通過矩陣運(yùn)算配置函數(shù)f (LBA),例如“函數(shù)f (LBA) =Ax LBA+b ”,其中位于LBA中的是48列向量陣列,例如“ LBA=(d0、dl、d2、...、d47)t,> (其中t是轉(zhuǎn)置標(biāo)記),A是512 x 48矩陣陣列,b是4096列向量陣列(其中I扇區(qū)=512字節(jié)= 4096位),以便函數(shù)f (LBA)的輸出數(shù)據(jù)以4096列向量格式計算。在這種情況下,例如,f(LBA)的輸出向量陣列的第一元素表示輸出數(shù)據(jù)的第一位,其第二元素表示輸出數(shù)據(jù)的第二位,以此類推。更一般地說,當(dāng)LBA包括η個位時,函數(shù)f (LBA)可通過矩陣運(yùn)算配置,例如“函數(shù)f (LBA) =Ax LBA+b”,其中LBA是η列向量陣列,例如“LBA = (d0、dl、d2、...、dn_l)A是n x m矩陣陣列,b是m列向量陣列。在這種情況下,例如,函數(shù)f (LBA)可作為包括矩陣A陣列和向量b陣列的陣列數(shù)據(jù)被存儲在SSDC41B、NAND存儲器16B、或存儲設(shè)備2B的RAM 40B、或信息處理設(shè)備3的主存儲器6中。函數(shù)f (LBA)可作為算法、軟件數(shù)據(jù)或固件數(shù)據(jù)被存儲在SSDC 41B、NAND存儲器16B、或存儲設(shè)備2B的RAM 40B、或信息處理設(shè)備3的主存儲器6中。
[0199]在該實(shí)施例中,描述了函數(shù)f (LBA)的輸出數(shù)據(jù)僅依賴于作為獨(dú)立變量的LBA的情況,或函數(shù)f(LBA)的輸出數(shù)據(jù)為不依賴于LBA的固定數(shù)據(jù)的情況。但是,函數(shù)f可依賴于LBA以外的變量。例如,函數(shù)f (LBA,X)可被配置為具有兩個獨(dú)立的變量:LBA以及由SSDC41B指定的參數(shù)X,或者函數(shù)f (LBA,Y)可被配置為具有兩個獨(dú)立的變量:LBA以及由信息處理設(shè)備3指定的參數(shù)Y。
[0200](第四實(shí)施例)
[0201]當(dāng)函數(shù)f(LBA)的輸出為不依賴于LBA的固定數(shù)據(jù)( = Q)時,數(shù)據(jù)Q可被僅存儲在NAND存儲器16B、SSDC 41B或作為備份目的地的非易失性存儲設(shè)備2B的RAM 40B中,并且不存儲在控制程序200中。在第四實(shí)施例中,在控制程序200使用圖18的步驟S530或圖19的步驟S640比較讀取數(shù)據(jù)與“f (LBA) = Q”之前,控制程序200從非易失性存儲設(shè)備2B檢索固定數(shù)據(jù)Q。例如,可使用非專利文獻(xiàn)I的ACS-2中描述的Ech IDENTIFY DEVICE命令作為從非易失性存儲設(shè)備2B檢索固定數(shù)據(jù)Q的方法。例如,數(shù)據(jù)Q可以根據(jù)Wordl29字段(被指定為Ech IDENTIFY DEVICE命令的Identify Device輸出數(shù)據(jù)中的供應(yīng)商特定字段)的數(shù)據(jù)R計算。在這種情況下,Wordl29中的2字節(jié)長數(shù)據(jù)R和控制程序200產(chǎn)生以重復(fù)256次的數(shù)據(jù)R填充的512字節(jié)長的Q,如下所示:
[0202]Q = RRRR...R (R連續(xù)重復(fù)256次)。作為函數(shù)f (LBA)的信息的數(shù)據(jù)R例如被存儲在SSDC 41B.NAND存儲器16B、或存儲設(shè)備2B的RAM 40B中。一旦控制程序200從存儲設(shè)備2B檢索到數(shù)據(jù)R,控制程序便可將數(shù)據(jù)R存儲在信息處理設(shè)備3的主存儲器6中。
[0203]圖29是示出根據(jù)第四實(shí)施例的處理實(shí)例的流程圖??刂瞥绦?00例如將檢索函數(shù)f (LBA)的信息的ECh IDENTITY DEVICE命令發(fā)出到非易失性存儲設(shè)備2B并從非易失性存儲設(shè)備2B檢索Wordl29字段中的數(shù)據(jù)R (步驟S700)。然后,控制程序200通過使用連續(xù)重復(fù)的數(shù)據(jù)R填充主存儲器6中512字節(jié)長的區(qū)域產(chǎn)生數(shù)據(jù)Q (步驟S710)。
[0204]控制程序200使用O替換cLBA作為數(shù)據(jù)復(fù)制目標(biāo)LBA區(qū)域的指針(步驟S720)。控制程序200將讀取LBA區(qū)域(從cLBA開始,長度為L)的數(shù)據(jù)的命令發(fā)送到非易失性存儲設(shè)備2A (步驟S730)。接收讀取命令的非易失性存儲設(shè)備2A將LBA區(qū)域的數(shù)據(jù)D傳送到信息處理設(shè)備3,然后信息處理設(shè)備3接收數(shù)據(jù)D (步驟S740)??刂瞥绦?00比較數(shù)據(jù)D與固定數(shù)據(jù)Q(步驟S750)。處理分支為不同的步驟,其中包括數(shù)據(jù)D與固定數(shù)據(jù)Q不同(步驟S750的結(jié)果為否)的情況和數(shù)據(jù)D與固定數(shù)據(jù)Q相同(步驟S750的結(jié)果為是)的情況。
[0205]當(dāng)D與Q不同時(步驟S750的結(jié)果為否),控制程序?qū)⑹沟脭?shù)據(jù)D被寫入LBA區(qū)域(從cLBA開始,長度為L)的命令傳送到非易失性存儲設(shè)備2B??刂瞥绦?00將數(shù)據(jù)D傳送到非易失性存儲設(shè)備2B,并且SSDC 41B將數(shù)據(jù)D寫入NAND存儲器16B (步驟S760)。
[0206]當(dāng)D與Q相同時(步驟S750的結(jié)果為是),控制程序200將刪除LBA區(qū)域(從cLBA開始,長度為L)到NAND存儲器16B的映射的刪除通知發(fā)送到非易失性存儲設(shè)備2B。SSDC 41B更改管理信息46B以刪除映射并且數(shù)據(jù)D變?yōu)樵O(shè)備無效數(shù)據(jù)(步驟S770)。
[0207]當(dāng)步驟S760或步驟S770完成時,控制程序200使cLBA遞增L (步驟S780),并且重復(fù)執(zhí)行步驟S730到步驟S780的處理,直到非易失性存儲設(shè)備2A的所有LBA區(qū)域的數(shù)據(jù)均被備份(步驟S790的結(jié)果為是)。
[0208]圖30是示出根據(jù)第四實(shí)施例的另一處理實(shí)例的流程圖。在圖30中的處理實(shí)例中,例如,針對每個cLBA將Identify Device命令發(fā)出到作為備份目的地的非易失性存儲設(shè)備2B以產(chǎn)生數(shù)據(jù)D。
[0209]控制程序200使用O替換作為數(shù)據(jù)復(fù)制目標(biāo)LBA的指針的cLBA(步驟S800)。例如,控制程序200將檢索函數(shù)f (LBA)的信息的ECh IDENTITY DEVICE命令發(fā)出到非易失性存儲設(shè)備2B并且從非易失性存儲設(shè)備2B檢索Wordl29字段中的數(shù)據(jù)R(步驟S810)。然后,控制程序200通過使用連續(xù)重復(fù)的數(shù)據(jù)R填充主存儲器6中512字節(jié)長的區(qū)域來產(chǎn)生數(shù)據(jù)Q (步驟S820)。
[0210]控制程序200將讀取LBA區(qū)域(從cLBA開始,長度為L)的數(shù)據(jù)的命令傳送到非易失性存儲設(shè)備2A (步驟S830)。接收讀取命令的非易失性存儲設(shè)備2A將LBA區(qū)域的數(shù)據(jù)D傳送到信息處理設(shè)備3,然后信息處理設(shè)備3接收數(shù)據(jù)D (步驟S840)??刂瞥绦?00比較數(shù)據(jù)D與數(shù)據(jù)Q(步驟S850)。處理分支為不同的步驟,其中包括數(shù)據(jù)D與固定數(shù)據(jù)Q不同(步驟S850的結(jié)果為否)的情況和數(shù)據(jù)D與固定數(shù)據(jù)Q相同(步驟S850的結(jié)果為是)的情況。
[0211]當(dāng)D與Q不同時(步驟S850的結(jié)果為否),控制程序200將使得數(shù)據(jù)D被寫入LBA區(qū)域(從cLBA開始,長度為L)的命令傳送到非易失性存儲設(shè)備2B??刂瞥绦?00將數(shù)據(jù)D發(fā)送到非易失性存儲設(shè)備2B,并且作為非易失性存儲設(shè)備2B的存儲控制器的SSDC 41B將數(shù)據(jù)D寫入NAND存儲器16B (步驟S860)。
[0212]當(dāng)D與Q相同時(步驟S850的結(jié)果為是),控制程序200將刪除LBA區(qū)域(從cLBA開始,長度為L)到NAND存儲器16B的映射的刪除通知傳送到非易失性存儲設(shè)備2B。SSDC 41B更改管理信息46B以刪除映射并且數(shù)據(jù)D變?yōu)樵O(shè)備無效數(shù)據(jù)(步驟S870)。
[0213]當(dāng)步驟S860或步驟S870完成時,控制程序200使cLBA遞增L (步驟S880),并且重復(fù)執(zhí)行步驟S810到步驟S880的處理,直到非易失性存儲設(shè)備2A的所有LBA區(qū)域的數(shù)據(jù)均被備份(步驟S790的結(jié)果為是)。
[0214]該實(shí)施例可應(yīng)用于f (LBA)不輸出獨(dú)立于LBA的固定數(shù)據(jù),而是輸出依賴于LBA的不同數(shù)據(jù)的情況。在這種情況下,可在步驟S810備選地發(fā)出具有用于獲取函數(shù)f (LBA)的信息的輸入?yún)?shù)LBA的命令。例如,控制程序200可在步驟S810從非易失性存儲設(shè)備2B接收R = f (LBA),并且控制程序200在步驟S820產(chǎn)生依賴于LBA的數(shù)據(jù)Q。例如,可使用ACS-2中描述的SCT命令作為這樣的命令:其中控制程序200將B0h/D6h SMART WRITE LOG命令、3Fh WRITE LOG EXT命令或57h WRITE LOG DMA EXT命令傳送到存儲設(shè)備2B以便通過包括目標(biāo)LBA的寫入數(shù)據(jù)實(shí)現(xiàn)SCT命令傳輸JfB0h/D5h SMART READ LOG命令、2Fh READLOG EXT命令或47h READ LOG DMA EXT命令傳送到存儲設(shè)備2B以實(shí)現(xiàn)SCT數(shù)據(jù)傳輸并從接收自存儲設(shè)備2B的讀取數(shù)據(jù)中接收數(shù)據(jù)“R = f (LBA) ”。
[0215]這樣,在該實(shí)施例中,信息處理系統(tǒng)I可將函數(shù)f (LBA)的信息整合到作為備份目的地的非易失性存儲設(shè)備2B中,此信息不需要在控制程序200中單獨(dú)管理。因此,信息處理系統(tǒng)I的管理和開發(fā)得到簡化。
[0216](第五實(shí)施例)
[0217]如圖31所示,網(wǎng)絡(luò)存儲驅(qū)動器或云存儲可被用作作為備份目的地的非易失性存儲設(shè)備2B。例如,信息處理設(shè)備3和云存儲2B經(jīng)由諸如因特網(wǎng)或企業(yè)內(nèi)聯(lián)網(wǎng)之類的網(wǎng)絡(luò)相互連接??刂栖浖?00可根據(jù)該實(shí)施例,通過經(jīng)由網(wǎng)絡(luò)將刪除通知命令和寫入命令傳送到云存儲2B來執(zhí)行備份處理。由于刪除通知命令的數(shù)據(jù)傳輸量小于伴隨大量數(shù)據(jù)傳輸?shù)膶懭朊?,因此可以以更高的速度?zhí)行備份處理,并且可抑制寫入導(dǎo)致的云存儲2的可靠性劣化。此外,當(dāng)SSD被用作云存儲2B的存儲介質(zhì)時,可抑制云存儲2B的可用塊數(shù)量的減少。
[0218](第六實(shí)施例)
[0219]在第一實(shí)施例和第二實(shí)施例中,描述了存儲設(shè)備2A被用作備份源的情況。在第六實(shí)施例中,主存儲器6充當(dāng)數(shù)據(jù)復(fù)制源。也就是說,在第六實(shí)施例中,應(yīng)用程序400將主存儲器6中臨時存儲的應(yīng)用程序數(shù)據(jù)500復(fù)制到非易失性存儲設(shè)備2B。在應(yīng)用程序或OS 100運(yùn)行的同時,應(yīng)用程序數(shù)據(jù)500被存儲在主存儲器6的應(yīng)用程序數(shù)據(jù)區(qū)域6E中。在該實(shí)施例中,例如,第二實(shí)施例中描述的方法被用于將應(yīng)用程序數(shù)據(jù)500存儲在區(qū)域6E中。在該實(shí)施例中,存儲設(shè)備2A不是必需的。
[0220]例如,諸如DRAM (動態(tài)隨機(jī)存取存儲器)和SRAM (靜態(tài)隨機(jī)存取存儲器)之類的易失性存儲器或諸如MARM(磁阻式隨機(jī)存取存儲器)和ReRAM(電阻式隨機(jī)存取存儲器)之類的非易失性存儲設(shè)備可被用作主存儲器6。
[0221]圖32是示出根據(jù)第六實(shí)施例的信息處理系統(tǒng)I的配置的示意圖。在該實(shí)施例中,例如,控制工具200被嵌入OS 100。但是,OS 100和控制工具200可被存儲在主存儲器6內(nèi)不同于區(qū)域6A的區(qū)域中。應(yīng)用程序400是一般應(yīng)用程序400,例如Microsoft Word(注冊商標(biāo))或Microsoft PowerPoint (注冊商標(biāo)),并且被存儲在主存儲器6中的區(qū)域6D中。應(yīng)用程序400是由信息處理設(shè)備2執(zhí)行的程序。例如,當(dāng)信息處理設(shè)備2接通電源時,應(yīng)用程序400被從非易失性存儲設(shè)備加載到主存儲器6中的區(qū)域6D。信息處理設(shè)備3在CPU 4的控制下,與硬件資源協(xié)同執(zhí)行應(yīng)用程序400的處理。應(yīng)用程序400使用主存儲器6中的區(qū)域6E作為工作區(qū)域。例如,當(dāng)用戶通過顯示器9和鼠標(biāo)15按下應(yīng)用程序400的⑶I的“保存”按鈕,或者調(diào)用應(yīng)用程序400的自動保存功能時,如圖33所示,應(yīng)用程序400將命令發(fā)送到OS 100以存儲所述存儲設(shè)備2B中的區(qū)域6E的應(yīng)用數(shù)據(jù)500,這樣,OS 100將區(qū)域6E的數(shù)據(jù)備份到存儲設(shè)備2B。
[0222]圖34是示出根據(jù)第六實(shí)施例的控制工具200的處理實(shí)例的流程圖。例如,當(dāng)信息處理系統(tǒng)I接通電源時,如圖35所示,控制工具200將OS文件管理表(元數(shù)據(jù)、OS文件系統(tǒng))300從作為備份目的地的非易失性存儲設(shè)備2B的NAND存儲器16B加載到主存儲器6中的區(qū)域6C。當(dāng)要在存儲設(shè)備2B中存儲區(qū)域6E的應(yīng)用數(shù)據(jù)500的命令被從應(yīng)用程序400傳送到OS 100時(步驟S900),控制工具200讀取存儲在主存儲器6中的區(qū)域6C中的OS文件管理表(元數(shù)據(jù))(步驟S910)。這樣,控制工具200 (OS 100)搜索主存儲器6的區(qū)域6E的地址(從中讀取數(shù)據(jù)以及將數(shù)據(jù)的LBA區(qū)域存儲在非易失性存儲設(shè)備2B中)(步驟S920)。OS 100從主存儲器6中的區(qū)域6E讀取應(yīng)用數(shù)據(jù)500 (步驟S930)。
[0223]為了比較讀取的應(yīng)用數(shù)據(jù)500,讀取的應(yīng)用數(shù)據(jù)500優(yōu)選地被分成邏輯扇區(qū)單元(步驟S940)??刂乒ぞ?00選擇被分割的單元中的一個單元(步驟S950),并判定單元的數(shù)據(jù)D是否與函數(shù)f(cLBA)相同(步驟S960)。當(dāng)數(shù)據(jù)D與函數(shù)f (LBAc)的輸出數(shù)據(jù)不同時,控制工具例如使用非專利文獻(xiàn)I的ACS-2中描述的61h WIRTE FPDMA QUEUED命令或35hWRITE DMA EXT命令、NVM Express Revis1n 1.1中描述的Olh Write命令等將數(shù)據(jù)D寫入存儲設(shè)備2B的LBA區(qū)域,如圖36所示(步驟S980)。當(dāng)數(shù)據(jù)D與函數(shù)f (LBA)的輸出數(shù)據(jù)相同時,控制工具不將寫入命令傳送到存儲設(shè)備2B,而是將刪除通知命令發(fā)送到存儲設(shè)備2B以取消從NAND存儲器16B到LBA區(qū)域的映射,如圖37所示(步驟S970)。例如,可使用非專利文獻(xiàn)I的ACS-2中描述的06h DATA SET MANAGEMENT命令或SCT命令,NVM ExpressRevis1n 1.1 中描述的 Ilh Dataset Management 命令的 Deallocate (AD)等作為刪除通知命令。例如,當(dāng)SSDC 41B具有下面將描述的Deterministic Zeroing TRIM特性時,不僅使用上述命令,而且還使用NVM Express Revis1n 1.1中描述的08h Write Zeroes命令作為刪除通知命令。此外,可使用2012年12月7日發(fā)布的SCSI Block Commands-3 (SBC-3)Revis1n 35 (http://www.tl0.0rg/)中描述的42h UNMAP命令作為刪除通知命令。
[0224]控制程序200重復(fù)對所有分割的單元的處理(步驟S950到步驟S990)??刂瞥绦?00將LBA (其中寫入數(shù)據(jù)500)寫入主存儲器6的OS文件管理表(元數(shù)據(jù))300。此外,主存儲器6的OS文件管理表300被備份并且被存儲在非易失性存儲設(shè)備2B中的NAND存儲器16B中,然后處理結(jié)束(步驟S995)。
[0225]這樣,在第六實(shí)施例中,可使用刪除通知命令,以更高的速度復(fù)制主存儲器6的數(shù)據(jù)并將其存儲在存儲設(shè)備2B中。
[0226](第七實(shí)施例)
[0227]在第七實(shí)施例中,將描述網(wǎng)絡(luò)7002被用作存儲設(shè)備2A和2B的接口的情況。在該實(shí)施例中,圖38中的信息處理系統(tǒng)I被配置為包括與存儲設(shè)備2A和2B連接的網(wǎng)絡(luò)7002。
[0228]網(wǎng)絡(luò)7002是用于存儲訪問的存儲網(wǎng)絡(luò)。例如,可以使用光纖通道或以太網(wǎng)。具體而言,例如,SAN(存儲區(qū)域網(wǎng))或NAS (網(wǎng)絡(luò)連接存儲)可被用作存儲網(wǎng)絡(luò)。例如,F(xiàn)C-SAN(光線通道存儲區(qū)域網(wǎng))或IP_SAN(網(wǎng)際協(xié)議存儲區(qū)域網(wǎng))被用作SAN。例如,SCSI (小型計算機(jī)系統(tǒng)接口)可被用作高級協(xié)議層。在該實(shí)施例中,將描述IP-SAN被用作存儲網(wǎng)絡(luò)7002的實(shí)例。此外,在該實(shí)施例中,iSCSI(互聯(lián)網(wǎng)小型計算機(jī)系統(tǒng)接口)被用作高級協(xié)議層。存儲網(wǎng)絡(luò)7002包括網(wǎng)絡(luò)交換機(jī)7005和集線器(未示出)。
[0229]網(wǎng)絡(luò)7001是將一個或多個服務(wù)器以及一個或多個客戶機(jī)相互連接的網(wǎng)絡(luò)。例如,可使用LAN(局域網(wǎng))或WAN(廣域網(wǎng))。例如,可使用以太網(wǎng)作為LAN。
[0230]客戶機(jī)7004是連接到網(wǎng)絡(luò)7001并且執(zhí)行所請求的處理的計算機(jī)。一般而言,客戶機(jī)7004包括硬件資源,例如處理器、主存儲器、通信接口和本地輸入/輸出設(shè)備,還包括軟件資源,例如設(shè)備驅(qū)動程序、操作系統(tǒng)(OS)和應(yīng)用程序(未示出)。這樣,客戶機(jī)7004在處理器的控制下與硬件資源協(xié)同執(zhí)行多個程序的處理。例如,客戶機(jī)7004經(jīng)由數(shù)據(jù)庫服務(wù)器7003執(zhí)行對存儲單元2A的I/O訪問,并且通過在處理器的控制下執(zhí)行業(yè)務(wù)應(yīng)用程序來實(shí)現(xiàn)所需的業(yè)務(wù)系統(tǒng)。
[0231]數(shù)據(jù)庫服務(wù)器(DB服務(wù)器)7003是連接到網(wǎng)絡(luò)7001和存儲網(wǎng)絡(luò)7002,并且其中運(yùn)行數(shù)據(jù)庫管理系統(tǒng)(DBMS)的服務(wù)器。當(dāng)數(shù)據(jù)庫服務(wù)器7003接收來自客戶機(jī)7004的數(shù)據(jù)讀取請求時,數(shù)據(jù)庫服務(wù)器7003從存儲單元2A或2B讀取數(shù)據(jù),然后將讀取數(shù)據(jù)傳送到客戶機(jī)7004。當(dāng)數(shù)據(jù)庫服務(wù)器7003接收來自客戶機(jī)7004的數(shù)據(jù)寫入請求時,數(shù)據(jù)庫服務(wù)器7003從客戶機(jī)7004接收寫入數(shù)據(jù)并將已接收的數(shù)據(jù)寫入存儲單元2A或2B。數(shù)據(jù)庫服務(wù)器7003存儲被配置為管理存儲在存儲單元2A或2B中的數(shù)據(jù)的管理信息(元數(shù)據(jù))。
[0232]存儲單元2A可單獨(dú)為DB服務(wù)器7003提供數(shù)據(jù)存儲服務(wù),或者可作為包括多個存儲設(shè)備的虛擬存儲設(shè)備為DB服務(wù)器7003提供數(shù)據(jù)存儲服務(wù)。在存儲設(shè)備2A中,一個或多個邏輯設(shè)備(LDEV)被配置為提供給DB服務(wù)器7003。根據(jù)RAID配置,邏輯設(shè)備可被配置為包括多個硬盤驅(qū)動器的虛擬設(shè)備(VDEV)。
[0233]邏輯設(shè)備(LDEV)是被DB服務(wù)器7003識別的邏輯存儲設(shè)備。邏輯單元(LU)被分配給邏輯設(shè)備。DB服務(wù)器7003識別在物理設(shè)備上被配置為邏輯單元的邏輯設(shè)備。邏輯設(shè)備號(LUN)被分配給每個邏輯單元。邏輯單元被分成邏輯扇區(qū)(邏輯塊),LBA被分配給每個邏輯扇區(qū)。DB服務(wù)器7003可通過將包括根據(jù)邏輯設(shè)備號和LBA配置的邏輯地址的命令發(fā)送到存儲設(shè)備來訪問特定邏輯單元的特定邏輯扇區(qū)。在該使用iSCSI的實(shí)施例中,如上所述,DB服務(wù)器7003、存儲單元2A和存儲單元2B被配置為充當(dāng)像被分配iSCSI名稱的iSCSI節(jié)點(diǎn)那樣的啟動器和目標(biāo)。因此,DB服務(wù)器7003、存儲單元2A和存儲單元2B經(jīng)由IP地址和TCP端口號指定的網(wǎng)絡(luò)入口發(fā)送iSCSI PDU0因此,DB服務(wù)器7003可通過指定iSCSI名稱、IP地址和TCP端口號來識別網(wǎng)絡(luò)7002上的存儲單元2A和2B,并且可訪問存儲單元的邏輯單元中的邏輯扇區(qū)。此外,客戶機(jī)7004可直接連接到存儲網(wǎng)絡(luò)7002而無需通過DB服務(wù)器7003。
[0234]備份服務(wù)器7000連接到存儲網(wǎng)絡(luò)7002,因此控制工具200被存儲在存儲服務(wù)器7000的主存儲器中。DB服務(wù)器7003可具有備份服務(wù)器7000的功能。如圖39所示,控制工具200的功能可能不被配置為作為備份服務(wù)器7000的一部分的控制工具200,而是可作為控制單元200嵌入網(wǎng)絡(luò)交換機(jī)7005。如圖40所示,控制工具200的功能可嵌入存儲設(shè)備2A作為控制單元200。此外,控制工具200的功能可嵌入客戶機(jī)7004作為控制單元200。
[0235]當(dāng)IT管理者或運(yùn)營商將存儲單元2A中存儲的數(shù)據(jù)備份到存儲單元2B以實(shí)現(xiàn)災(zāi)難恢復(fù)時,存儲單元2A與2B之間的距離優(yōu)選地等于或大于100公里。在這種情況下,如圖41所示,存儲單元2A和2B優(yōu)選地經(jīng)由通道擴(kuò)展器7006a和7006b以及經(jīng)由長距離網(wǎng)絡(luò)7007(例如WAN(廣域網(wǎng)))或?qū)>€相互連接。
[0236]在該實(shí)施例中,描述了作為備份源的存儲單元2A和作為備份目的地的存儲單元2B是不同的存儲設(shè)備的情況。但是,即使存儲單元2SA和2B被嵌入同一存儲設(shè)備作為不同的存儲區(qū)域,也可應(yīng)用本發(fā)明。也就是說,本發(fā)明可應(yīng)用于這樣的情況:其中存儲設(shè)備包括兩個或更多被分配LU的LDEV,并且一個LU被用作存儲單元2A,另一 LU被用作存儲單元2B,其中控制工具200 (控制單元200)將存儲單元2A的數(shù)據(jù)復(fù)制到存儲單元2B。當(dāng)控制工具200 (控制單元200)將數(shù)據(jù)從作為源的一個LU復(fù)制到作為目的地的另一 LU時,本發(fā)明可應(yīng)用于復(fù)制源LU中的所有LBA區(qū)域的情況,以及復(fù)制源LU的部分LBA區(qū)域的情況。
[0237]圖42是示出根據(jù)該實(shí)施例的由控制工具200 (控制單元200)執(zhí)行的備份處理的示意圖。當(dāng)備份開始,備份服務(wù)器700中的控制程序200使用O替換作為數(shù)據(jù)復(fù)制目標(biāo)LBA區(qū)域的指針的cLBA (步驟S1000)??刂瞥绦?00將讀取LBA區(qū)域(從cLBA開始,長度為L)的數(shù)據(jù)的命令傳送到存儲單元2A(步驟S1010)。作為來自存儲單元2A的讀取命令,例如,可使用 SCSI Block Commands-3 (SBC-3),T10/BSR INCITS 514,Revis1n 35 (http://www.tl0.0rg/)中描述的 28h READ(1)命令、A8h READ (12)命令、88h READ (16)命令、7FhREAD (32)命令等。接收讀取命令的存儲單元2A經(jīng)由存儲網(wǎng)絡(luò)7002將LBA區(qū)域的數(shù)據(jù)(D)傳送到備份服務(wù)器7000,然后備份服務(wù)器7000接收數(shù)據(jù)D (步驟S1020)。
[0238]控制程序200比較數(shù)據(jù)D與函數(shù)f(cLBA)的輸出數(shù)據(jù)(步驟S1030)。當(dāng)數(shù)據(jù)D與函數(shù)f(cLBA)的輸出數(shù)據(jù)不同時(步驟S1030的結(jié)果為否),控制程序200將使得數(shù)據(jù)D被寫入LBA區(qū)域(從cLBA開始,長度為L)的命令傳送到存儲單元2B并且將數(shù)據(jù)D傳送到存儲單元2B (步驟S1040)。這樣,SSDC 41B將數(shù)據(jù)D寫入NAND存儲器16B。作為被發(fā)送到存儲單元2B的寫入命令,例如,使用上述SBC-3中描述的2Ah WRITE(1)命令、AAh WRITE (12)命令、8Ah WRITE(16)命令、7Fh WRITE(32)命令等。
[0239]當(dāng)D與函數(shù)f(cLBA)的輸出數(shù)據(jù)不同時(步驟S1030的結(jié)果為是),控制程序200將刪除通知傳送到存儲單元2B以刪除LBA區(qū)域到NAND存儲器16B的映射(步驟S1050)。SSDC 41B更改管理信息46B以刪除映射并且數(shù)據(jù)D變?yōu)樵O(shè)備無效數(shù)據(jù)。作為被發(fā)送到存儲單元2B的刪除通知命令,例如,可使用上述SBC-3中描述的42h UNMAP命令等。
[0240]當(dāng)步驟S1040或步驟S1050完成時,控制程序200使cLBA遞增L (步驟S1060),然后針對所有小區(qū)域執(zhí)行步驟S1010到步驟S1050的子例程。當(dāng)cLBA超過存儲設(shè)備2B的最大可訪問LBA時,假設(shè)所有LBA區(qū)域的讀取完成(步驟S1070的結(jié)果為是),這樣,備份處理便完成。
[0241]作為備份目標(biāo)范圍,控制程序200 (控制單元200)可備份存儲單元2A的整個LBA區(qū)域的數(shù)據(jù),或者可備份存儲單元2A的部分LBA區(qū)域的數(shù)據(jù)。當(dāng)備份存儲單元2A的部分LBA區(qū)域時,例如,可將存儲單元2A的邏輯單元(LU)中的所有LBA備份到存儲單元2B。在這種情況下,邏輯單元(LU)被分配給存儲單元2B,并且數(shù)據(jù)被從存儲單元2A的邏輯單元(LU)復(fù)制到存儲單元2B的邏輯單元(LU)。
[0242]如圖40所示,當(dāng)控制單元200嵌入作為備份源的存儲設(shè)備2A時,在該實(shí)施例中,控制單元200可處理無服務(wù)器備份,作為控制工具200 (控制單元200)的備份處理。在這種情況下,例如可使用擴(kuò)展復(fù)制命令。例如,可使用SCSI Primary Commands-3 (SPC-3),INCITS T10/1731-D, Revis1n 36e (http://www.tl0.0rg/)中描述的 83h EXTENDED COPY命令作為擴(kuò)展復(fù)制命令。當(dāng)備份服務(wù)器7000、數(shù)據(jù)庫服務(wù)器7003、網(wǎng)絡(luò)交換機(jī)7005或客戶機(jī)7004將包括備份源地址和備份目的地地址的擴(kuò)展復(fù)制命令傳送到存儲設(shè)備2A時,控制單元200針對備份源和目的地區(qū)域執(zhí)行備份處理,如圖18所示的處理。也就是說,控制單元200重復(fù)從擴(kuò)展復(fù)制命令指定的存儲設(shè)備2A的源區(qū)域讀取數(shù)據(jù),然后判定讀取數(shù)據(jù)D是否與f(cLBA)相同。當(dāng)Dff(cLBA)時,控制單元200經(jīng)由存儲網(wǎng)絡(luò)7002將寫入命令和數(shù)據(jù)D傳送到存儲設(shè)備2B。當(dāng)D = f(cLBA)時,控制單元200經(jīng)由存儲網(wǎng)絡(luò)7002將刪除通知傳送到存儲設(shè)備2B。這樣,存儲設(shè)備2B執(zhí)行數(shù)據(jù)寫入處理和刪除通知處理。
[0243](第八實(shí)施例)
[0244]在第七實(shí)施例中,描述了經(jīng)由存儲網(wǎng)絡(luò)7002備份數(shù)據(jù)的情況。如圖43所示,與客戶機(jī)7004A連接的存儲單元2A的數(shù)據(jù)可被備份到與存儲網(wǎng)絡(luò)7002連接的存儲單元2B。在備份處理時,控制單元200重復(fù)從存儲設(shè)備2A的備份源區(qū)域讀取數(shù)據(jù),然后判定讀取數(shù)據(jù)D是否與f(cLBA)的輸出數(shù)據(jù)相同。然后,當(dāng)D# f(cLBA)時,控制單元200經(jīng)由存儲網(wǎng)絡(luò)7002將寫入命令和數(shù)據(jù)D發(fā)送到存儲單元2B。當(dāng)D = f(cLBA)時,控制單元200經(jīng)由存儲網(wǎng)絡(luò)7002將刪除通知發(fā)送到存儲單元2B。
[0245]如圖44所示,與存儲網(wǎng)絡(luò)7002連接的存儲單元2A的數(shù)據(jù)可被備份到與客戶機(jī)7004B連接的存儲單元2B。在備份處理時,控制單元200重復(fù)從存儲設(shè)備2A的備份源區(qū)域讀取數(shù)據(jù),然后判定讀取數(shù)據(jù)D是否與f(cLBA)的輸出數(shù)據(jù)相同。然后,當(dāng)Dff(cLBA)時,控制單元200將寫入命令和數(shù)據(jù)D傳送到存儲設(shè)備2B。當(dāng)D = f(cLBA)時,控制單元200經(jīng)由存儲網(wǎng)絡(luò)7002將刪除通知傳送到存儲設(shè)備2B。
[0246](第九實(shí)施例)
[0247]在第九實(shí)施例中,將描述網(wǎng)絡(luò)7002被用作存儲單元2A和2B的接口的情況,如在第七實(shí)施例中那樣,并且以文件為單元執(zhí)行備份。圖45中的信息處理系統(tǒng)I被配置為包括與存儲網(wǎng)絡(luò)7002連接的元數(shù)據(jù)服務(wù)器(MDS) 7008,以及被存儲在作為備份源的存儲單元2A和存儲單元2C(在分布式管理方法中)中的元數(shù)據(jù)300。
[0248]例如,元數(shù)據(jù)300可具有與第二實(shí)施例或第六實(shí)施例中描述的OS文件管理信息300相同的結(jié)構(gòu)。例如,元數(shù)據(jù)300可以是圖35所示的OS文件管理表300,或者可具有另一結(jié)構(gòu)??墒褂脡K算法或B+tree算法作為元數(shù)據(jù)300的管理算法。在該實(shí)施例中,將描述元數(shù)據(jù)300具有圖46所示的結(jié)構(gòu)的情況。元數(shù)據(jù)300包括文件標(biāo)識ID、存儲單元標(biāo)識ID (用于指定存儲文件的存儲單元)、LBA (指示存儲文件的LBA區(qū)域的起始LBA)、扇區(qū)計數(shù)(指示文件的數(shù)據(jù)長度)、文件所有者ID、文件最后更新時間,以及文件的其它屬性信息。存儲單元標(biāo)識ID優(yōu)選地是每個存儲單元的唯一編號。例如,可使用全球通用名稱(WWM)、IP地址或MAC地址。元數(shù)據(jù)300可僅存儲在作為備份源的存儲單元2A中。但是,從整個系統(tǒng)的可靠性和性能提升的角度來看,元數(shù)據(jù)300優(yōu)選地借助分布式管理方法存儲在存儲單元2A和存儲單元2C(其是存儲單元2A和2B之外的與存儲網(wǎng)絡(luò)7002連接的存儲單元)中。備選地,元數(shù)據(jù)300可以不存儲在存儲網(wǎng)絡(luò)7002上的存儲單元中,而是可存儲在直接連接到元數(shù)據(jù)服務(wù)器7008的本地輸入/輸出設(shè)備(未示出)上。
[0249]元數(shù)據(jù)服務(wù)器(MDS) 7008連接到存儲網(wǎng)絡(luò)7002并且通過管理存儲在存儲單元2A、2B和2C中的文件數(shù)據(jù)的元數(shù)據(jù)300來配置信息處理系統(tǒng)I的文件系統(tǒng)。元數(shù)據(jù)300包括文件ID到存儲單元2A、2B和2C的映射。例如,SAN文件系統(tǒng)、集群文件系統(tǒng)、RAIN(廉價/獨(dú)立節(jié)點(diǎn)的冗余陣列)文件系統(tǒng)、PNFS(并行網(wǎng)絡(luò)文件系統(tǒng))或Google文件系統(tǒng)(GFS)可被用作文件系統(tǒng)。元數(shù)據(jù)服務(wù)器7008包括硬件資源,例如處理器、主存儲器、通信接口和本地輸入/輸出設(shè)備,還包括軟件資源,例如設(shè)備驅(qū)動程序、操作系統(tǒng)(OS)和元數(shù)據(jù)管理程序(未示出)。這樣,元數(shù)據(jù)服務(wù)器7008在處理器的控制下與硬件資源協(xié)同執(zhí)行多個程序的處理。
[0250]客戶機(jī)7010是連接到存儲網(wǎng)絡(luò)7002并且執(zhí)行所需處理的計算機(jī)??蛻魴C(jī)7010包括硬件資源,例如處理器、主存儲器、通信接口和本地輸入/輸出設(shè)備,還包括軟件資源,例如設(shè)備驅(qū)動程序、操作系統(tǒng)(OS)和應(yīng)用程序(未示出)。這樣,客戶機(jī)7010在處理器的控制下與硬件資源協(xié)同執(zhí)行多個程序的處理。例如,客戶機(jī)7010執(zhí)行對存儲單元2A、2B和2C的文件訪問,并且通過在處理器的控制下執(zhí)行業(yè)務(wù)應(yīng)用程序來實(shí)現(xiàn)所需的業(yè)務(wù)系統(tǒng)處理。
[0251]客戶機(jī)7010從元數(shù)據(jù)服務(wù)器7008搜索存儲單元中的文件地址和文件屬性信息以訪問文件數(shù)據(jù)。例如,當(dāng)客戶機(jī)7010讀取文件數(shù)據(jù)時,客戶機(jī)7010將文件信息讀取請求和文件的文件標(biāo)識ID傳送到元數(shù)據(jù)服務(wù)器7008,元數(shù)據(jù)服務(wù)器7008搜索從元數(shù)據(jù)300的文件標(biāo)識ID映射的存儲單元標(biāo)識ID、LBA、扇區(qū)計數(shù)和屬性信息,元數(shù)據(jù)服務(wù)器7008將對應(yīng)行的存儲單元標(biāo)識ID、LBA、扇區(qū)計數(shù)和屬性信息等傳送到客戶機(jī)7010,客戶機(jī)7010將數(shù)據(jù)讀取命令、LBA和扇區(qū)計數(shù)傳送到存儲單元標(biāo)識ID指定的存儲單元,該指定的存儲單元從LBA讀取具有扇區(qū)計數(shù)長度的數(shù)據(jù),然后該存儲單元將數(shù)據(jù)傳送到客戶機(jī)7010。
[0252]例如,當(dāng)客戶機(jī)7010寫入文件數(shù)據(jù)時,客戶機(jī)7010將寫入?yún)^(qū)域分配請求、文件的文件標(biāo)識ID和文件大小傳送到元數(shù)據(jù)服務(wù)器7008,元數(shù)據(jù)服務(wù)器7008讀取元數(shù)據(jù)300,元數(shù)據(jù)服務(wù)器7008通知客戶機(jī)7010存儲單元標(biāo)識ID、將被寫入文件的LBA、文件的屬性信息等,客戶機(jī)7010將數(shù)據(jù)寫入命令、LBA和扇區(qū)計數(shù)傳送到存儲單元標(biāo)識ID指定的存儲單元,客戶機(jī)7010將要寫入的數(shù)據(jù)發(fā)送到存儲單元,該存儲單元將數(shù)據(jù)寫入LBA區(qū)域(從LBA開始,長度為扇區(qū)計數(shù))。
[0253]圖47是示出根據(jù)該實(shí)施例的由控制工具200 (控制單元200)執(zhí)行的備份處理的流程圖。作為來自存儲單元2A的讀取命令,例如,可使用上述SBC-3中描述的28h READ (10)命令、A8h READ(12)命令、88h READ(16)命令、7Fh READ(32)命令等。作為存儲單元2B的寫入命令,例如,可使用上述SBC-3中描述的2Ah WRITE(1)命令、AAh WRITE(12)命令、8AhWRITE (16)命令、7Fh WRITE (32)命令等。作為到存儲單元2B的刪除通知命令,可使用上述SBC-3中描述的42h UNMAP命令等。
[0254]控制工具200將文件ID列表請求傳送到元數(shù)據(jù)服務(wù)器7008 (步驟SI 100)。元數(shù)據(jù)服務(wù)器7008讀取元數(shù)據(jù)300,創(chuàng)建在元數(shù)據(jù)300中注冊的文件的文件ID列表,然后將文件ID列表傳送到控制工具200 (步驟S1110)。例如,文件ID列表可以具有圖48所示的陣列數(shù)據(jù)結(jié)構(gòu)。例如,文件ID列表可包括元數(shù)據(jù)300中注冊的所有文件。例如,文件ID列表可包括元數(shù)據(jù)300中注冊的部分文件,例如包括在存儲單元2A中的所有文件、包括在特定文件夾中的所有文件,和包括在特定LU中的所有文件。在該實(shí)施例中,將描述備份包括在存儲單元2A中的所有文件的情況??刂乒ぞ?00將作為備份目標(biāo)文件列表的已接收文件ID列表存儲在備份服務(wù)器7000的主存儲器中(步驟SI 120)。
[0255]控制工具200將讀取備份文件列表中每個文件的信息的請求和文件標(biāo)識ID傳送到元數(shù)據(jù)服務(wù)器7008。元數(shù)據(jù)服務(wù)器7008從元數(shù)據(jù)300搜索文件標(biāo)識ID并將其中存儲文件的LBA范圍(從cLBA開始,長度為CL)的信息傳送到控制工具200 (步驟SI 130)。
[0256]控制工具200將寫入?yún)^(qū)域分配請求、文件標(biāo)識ID和文件的扇區(qū)計數(shù)cL傳送到元數(shù)據(jù)服務(wù)器7008。元數(shù)據(jù)服務(wù)器7008基于元數(shù)據(jù)300檢索存儲單元標(biāo)識ID和其中將寫入文件的LBA ( = tLBA),并將tLBA和作為備份目的地的的存儲單元2B的存儲單元標(biāo)識ID傳送到控制工具200 (SI 140)。當(dāng)控制工具200發(fā)送寫入?yún)^(qū)域分配請求時,控制工具200優(yōu)選地顯式請求元數(shù)據(jù)服務(wù)器7008避免分配存儲單元2A中要被寫入的LBA區(qū)域。
[0257]控制工具200將讀取區(qū)域(從cLBA開始,長度為cL)的數(shù)據(jù)讀取命令傳送到存儲單元2A,存儲單元2A從LBA區(qū)域讀取數(shù)據(jù)并將數(shù)據(jù)傳送到控制工具200 (SI 150)??刂乒ぞ?00將從存儲單元2A接收的數(shù)據(jù)分成例如邏輯扇區(qū)單元(=D)(步驟SI 160),并且控制工具200針對每個分割的單元的每個從LBA開始的tLBA判定每個數(shù)據(jù)D是否與f (tLBA)的輸出數(shù)據(jù)相同(步驟S1170和步驟S1180)。
[0258]當(dāng)D與f(tLBA)的輸出數(shù)據(jù)不同時,控制工具200將在LBA區(qū)域(從tLBA開始)中寫入數(shù)據(jù)D的寫入命令傳送到存儲單元2B,并且將數(shù)據(jù)D傳送到存儲單元2B (步驟SI 190)。當(dāng)D與f (tLBA)的輸出數(shù)據(jù)相同時,控制工具200將刪除LBA區(qū)域(從tLBA開始)到NAND存儲器16B的映射的刪除通知傳送到存儲單元2B(步驟S1200)。當(dāng)多個寫入命令指定的LBA范圍是連續(xù)區(qū)域時,多個寫入命令優(yōu)選地進(jìn)行統(tǒng)一并被傳送到存儲單元2B以提高步驟S1190的處理效率。備選地,當(dāng)多個刪除通知指定的LBA范圍是連續(xù)區(qū)域時,多個刪除通知優(yōu)選地進(jìn)行統(tǒng)一并被傳送到存儲單元2B以提高步驟S1200的處理效率。
[0259]控制工具200請求元數(shù)據(jù)服務(wù)器7008更改元數(shù)據(jù)300以將備份文件的存儲單元標(biāo)識ID從存儲單元2A的ID更新為存儲單元2B的ID。cLBA與tLBA之間的關(guān)系可以是“cLBA = tLBA”,或者可以是“cLBA幸tLBA”。當(dāng)cLBA幸tLBA時,控制工具200請求元數(shù)據(jù)服務(wù)器7008更改元數(shù)據(jù)300以將文件的LBA從備份文件的cLBA更新為tLBA (步驟SI 170)。
[0260](第十實(shí)施例)
[0261]在使用根據(jù)第一至第九實(shí)施例的方法時,控制工具200可以更高的速度將存儲單元2A中存儲的用戶數(shù)據(jù)復(fù)制到存儲單元2B。購買存儲單元2A的最終用戶可通過以下方式搶救數(shù)據(jù):當(dāng)所購買的存儲設(shè)備2A的可靠性劣化時,使用控制工具200將數(shù)據(jù)從存儲單元2A復(fù)制到新購買的具有良好可靠性的存儲設(shè)備2B。另一方面,最終用戶自己可能不恢復(fù)數(shù)據(jù),但是存儲設(shè)備2A或2B的分銷商,或者數(shù)據(jù)恢復(fù)服務(wù)提供商可執(zhí)行將用戶數(shù)據(jù)從存儲設(shè)備2A備份到存儲設(shè)備2B的搶救服務(wù),此項服務(wù)可能收費(fèi),也可能免費(fèi)。在該實(shí)施例中,數(shù)據(jù)搶救服務(wù)將被描述為商業(yè)服務(wù)。將在該實(shí)施例中描述的數(shù)據(jù)搶救服務(wù)可能使用,也可能不使用根據(jù)第一至第九實(shí)施例的方法。當(dāng)組合根據(jù)第一至第九實(shí)施例的方法時,可以更高的速度搶救數(shù)據(jù),并且寫入作為備份目的地的存儲設(shè)備2B的數(shù)據(jù)量可被減少,這樣,存儲設(shè)備2B的壽命可延長。
[0262]當(dāng)最終用戶購買存儲設(shè)備2A時,最終用戶可通過接口 2A將存儲設(shè)備2A連接到信息處理設(shè)備3,例如個人計算機(jī)、服務(wù)器、游戲設(shè)備或數(shù)字照相機(jī)。在信息處理設(shè)備正在運(yùn)行時,信息處理設(shè)備3將數(shù)據(jù)寫入存儲設(shè)備2A并且從存儲設(shè)備2A讀取數(shù)據(jù)。
[0263]存儲設(shè)備2A可能有一天突然無法啟動,無法正確地讀取和寫入數(shù)據(jù),或者因?yàn)榇鎯υO(shè)備2A長期磨損而崩潰,此時錯誤會累積或者存儲設(shè)備2A出現(xiàn)錯誤。當(dāng)發(fā)生崩潰時,最終用戶可能無法讀取存儲設(shè)備2A中存儲的諸如商業(yè)文檔、照片和電子郵件之類的用戶數(shù)據(jù)。因此,在存儲設(shè)備2A崩潰之前,優(yōu)選地提前將用戶數(shù)據(jù)復(fù)制和搶救到存儲設(shè)備2B(其是具有良好可靠性的存儲設(shè)備)。
[0264]數(shù)據(jù)搶救服務(wù)優(yōu)選地盡快執(zhí)行,以便用戶數(shù)據(jù)不會在數(shù)據(jù)搶救期間意外丟失,并且在預(yù)測存儲設(shè)備2A崩潰之后,存儲設(shè)備2A的可靠性不會進(jìn)一步劣化。
[0265]在數(shù)據(jù)搶救服務(wù)中,即使在存儲設(shè)備2A崩潰之后,也可從存儲設(shè)備2A搶救數(shù)據(jù)。例如,當(dāng)存儲設(shè)備達(dá)到US 2009/0222617 Al中描述的只讀模式或者寫保護(hù)模式時,存儲設(shè)備2A無法正常處理已接收的寫入命令,如US 2012/0284453 Al中描述的那樣。因此,諸如Windows (注冊商標(biāo))之類的OS不能正常識別存儲設(shè)備2A,從而使得最終用戶很難搶救用戶數(shù)據(jù)。即使存儲設(shè)備崩潰,數(shù)據(jù)搶救服務(wù)提供商也可在用于搶救數(shù)據(jù)的信息處理設(shè)備3上使用例如實(shí)施例中描述的控制工具200,或者例如US 2012/0284453 Al中描述的控制程序來搶救用戶數(shù)據(jù)。
[0266]圖49是示出從用戶數(shù)據(jù)搶救服務(wù)中的存儲設(shè)備2A故障預(yù)測時間(或崩潰時間)步驟到完成將用戶數(shù)據(jù)搶救到存儲設(shè)備2B的步驟的處理流的流程圖。例如,用戶數(shù)據(jù)搶救服務(wù)可由存儲設(shè)備2A或2B的分銷商作為免費(fèi)服務(wù)或收費(fèi)服務(wù)執(zhí)行,或者用戶數(shù)據(jù)搶救服務(wù)可由數(shù)據(jù)搶救服務(wù)提供商作為收費(fèi)服務(wù)執(zhí)行。
[0267]存儲設(shè)備2A的崩潰例如可通過收集存儲設(shè)備2A的統(tǒng)計信息(例如S.M.A.R.T信息)提前預(yù)測或獲知。可使用例如US 2012/0284453 AU US 2010/0250450 Al或US2011/0239045 Al中公開的技術(shù),借助崩潰預(yù)測軟件提前預(yù)測存儲設(shè)備2A的崩潰。
[0268]當(dāng)崩潰預(yù)測軟件例如通過顯示器9通知最終用戶崩潰預(yù)測或崩潰時,最終用戶將存儲設(shè)備2A與信息處理設(shè)備3分離,然后將存儲設(shè)備2A送到數(shù)據(jù)搶救服務(wù)中心(發(fā)運(yùn)給數(shù)據(jù)搶救服務(wù)提供商)。
[0269]服務(wù)中心從用戶處接收存儲設(shè)備2A。服務(wù)中心準(zhǔn)備存儲設(shè)備2B (具有良好可靠性的存儲設(shè)備)作為存儲設(shè)備2A的數(shù)據(jù)備份目的地(搶救目的地)。例如,服務(wù)中心可新制作存儲設(shè)備2B作為存儲設(shè)備2A的數(shù)據(jù)復(fù)制目的地,或者新購買存儲設(shè)備2B。
[0270]服務(wù)中心運(yùn)營商將作為備份源的存儲設(shè)備2A和作為備份目的地的存儲設(shè)備2B連接到作為數(shù)據(jù)搶救服務(wù)設(shè)備并且用于搶救數(shù)據(jù)的信息處理設(shè)備3。運(yùn)營商控制信息處理設(shè)備3以將用戶數(shù)據(jù)DOOl從存儲設(shè)備2A復(fù)制到存儲設(shè)備2B。復(fù)制處理優(yōu)選地作為第一至第九實(shí)施例中描述的復(fù)制處理(備份處理)執(zhí)行。用于搶救數(shù)據(jù)的信息處理設(shè)備3優(yōu)選地可包括所述實(shí)施例中描述的控制工具200,或者例如優(yōu)選地可包括US 2012/0284453 Al中描述的控制程序。
[0271]為了防止存儲設(shè)備2A的可靠性進(jìn)一步劣化,信息處理設(shè)備優(yōu)選地避免將寫入命令傳送到存儲設(shè)備2A。當(dāng)存儲設(shè)備2A的接口控制器的可靠性劣化時,出現(xiàn)這樣的問題:SP,信息處理設(shè)備3與存儲設(shè)備2A通信所使用的接口 19A中出現(xiàn)諸如CRC錯誤或R錯誤之類的通信錯誤。因此,用于數(shù)據(jù)搶救服務(wù)的信息處理設(shè)備3優(yōu)選地限制接口 19A的連接速度。例如,當(dāng)接口 19A或存儲設(shè)備2A的接口控制器支持6.0 Gbps比特率(第三代Serial ATA的最大連接速度)時,信息處理設(shè)備3優(yōu)選地以較低的連接速度3.0 Gbps與存儲設(shè)備2A通信,或者,更優(yōu)選地以Serial ATA的最低連接速度1.5 Gbps與存儲設(shè)備2A通信。當(dāng)接口 19A支持諸如PCI Express之類的多通道通信,并且存儲設(shè)備2A的接口控制器可靠性劣化時,出現(xiàn)這樣的問題:在與信息處理設(shè)備3通信期間出現(xiàn)諸如通道內(nèi)時脈扭曲故障之類的通信錯誤。因此,用于數(shù)據(jù)搶救服務(wù)的信息處理設(shè)備3優(yōu)選地限制連接通道的數(shù)量。例如,當(dāng)接口 19A或存儲設(shè)備2A的接口控制器支持PCI Express 4通道連接時,信息處理設(shè)備3優(yōu)選地以較小通道數(shù)量的2-通道連接與存儲設(shè)備2A通信,或者,更優(yōu)選地以最低通道數(shù)量的1-通道連接與存儲設(shè)備2A通信。在備份處理結(jié)束之后,用于數(shù)據(jù)搶救的信息處理設(shè)備3讀取存儲設(shè)備2B中存儲的用戶數(shù)據(jù)DOOl,然后比較用戶數(shù)據(jù)DOOl與讀取自存儲設(shè)備2A的數(shù)據(jù),以檢驗(yàn)用戶數(shù)據(jù)DOOl是否被正確地寫入存儲設(shè)備2B(驗(yàn)證處理)。
[0272]服務(wù)中心將作為備份目的地的存儲設(shè)備2B發(fā)運(yùn)給最終用戶。備選地,服務(wù)中心可通過電子郵件將經(jīng)過搶救的數(shù)據(jù)DOOl傳送給用戶,或者可以將經(jīng)過搶救的數(shù)據(jù)DOOl上傳到云存儲以便通過電子的方式將經(jīng)過搶救的數(shù)據(jù)DOOl傳送給用戶。
[0273]用戶獲取經(jīng)過搶救的數(shù)據(jù)DOOl。
[0274](修正實(shí)例)
[0275]在上述每個實(shí)施例中,描述了 SSD被用作作為備份源的非易失性存儲設(shè)備2A的實(shí)例。每個實(shí)施例可廣泛地應(yīng)用于SSD之外的非易失性存儲設(shè)備。例如,每個實(shí)施例也可應(yīng)用于使用磁介質(zhì)(圓形磁盤片)的硬盤驅(qū)動器(HDD),以及同時使用NAND型閃存和磁介質(zhì)(圓形磁盤片)的混合硬盤驅(qū)動器(混合HDD)。由于刪除通知命令的傳輸目的地不是作為備份源的非易失性存儲設(shè)備2A,而是作為備份目的地的非易失性存儲設(shè)備2B,因此,本發(fā)明適用于這樣的情況:其中作為備份源的非易失性存儲設(shè)備2A不支持刪除通知命令。
[0276]盡管已經(jīng)描述了特定實(shí)施例,但是這些實(shí)施例僅出于舉例的目的給出,并非旨在限制本發(fā)明的范圍。實(shí)際上,此處描述的新穎實(shí)施例可通過多種其它形式體現(xiàn);而且,在不偏離本發(fā)明精神的情況下,可對此處描述的實(shí)施例做出各種形式上的省略、替換和更改。所附權(quán)利要求及其等同物旨在涵蓋將落在本發(fā)明的范圍和精神內(nèi)的此類形式或修改。
【權(quán)利要求】
1.一種存儲控制程序的存儲介質(zhì),所述控制程序要被加載到可與第一和第二存儲單元相連的信息處理設(shè)備, 所述第一存儲單元包括至少可讀的第一存儲器,并且 所述第二存儲單元包括可讀和可寫的第二非易失性存儲器,以及控制單元,所述控制單元被配置為使得已接收的刪除通知所指定的邏輯地址區(qū)域到所述第二非易失性存儲器的一個或多個映射失效,并且在已接收的讀取命令所指定的邏輯地址區(qū)域未映射到所述第二非易失性存儲器時將第一函數(shù)指示的數(shù)據(jù)傳送到所述信息處理設(shè)備,其中所述控制程序?qū)е滤鲂畔⑻幚碓O(shè)備執(zhí)行: 第一過程,其從所述第一存儲單元的第一邏輯地址區(qū)域讀取數(shù)據(jù); 第二過程,其判定從所述第一邏輯地址區(qū)域讀取的數(shù)據(jù)是否與所述第一函數(shù)指示的數(shù)據(jù)相同; 第三過程,其在所述讀取數(shù)據(jù)與所述第一函數(shù)指示的數(shù)據(jù)不同時,將所述讀取數(shù)據(jù)寫入所述第二存儲單元的第二邏輯地址區(qū)域;以及 第四過程,其在所述讀取數(shù)據(jù)與所述第一函數(shù)指示的數(shù)據(jù)相同時,將所述刪除通知發(fā)送到所述第二存儲單元以使所述第二邏輯地址區(qū)域到所述第二非易失性存儲器的一個或多個映射失效,而不將所述讀取數(shù)據(jù)發(fā)送到所述第二存儲單元。
2.根據(jù)權(quán)利要求1所述的存儲控制程序的存儲介質(zhì),其中所述第一函數(shù)指示與被發(fā)送到所述第二存儲單元的邏輯地址無關(guān)的固定數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的存儲控制程序的存儲介質(zhì),其中所述第一函數(shù)針對被發(fā)送到所述第二存儲單元的至少兩個不同邏輯地址指示不同數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的存儲控制程序的存儲介質(zhì),其中所述第一存儲單元是非易失性存儲單元,并且所述第一和第二存儲單元被包括在不同的非易失性存儲設(shè)備中。
5.根據(jù)權(quán)利要求1所述的存儲控制程序的存儲介質(zhì), 其中所述第一存儲單元是非易失性存儲單元,并且所述第一和第二存儲單元被包括在同一非易失性存儲設(shè)備中,并且 所述第一和第二邏輯地址區(qū)域的邏輯地址彼此不重疊。
6.根據(jù)權(quán)利要求1所述的存儲控制程序的存儲介質(zhì),其中所述信息處理設(shè)備被導(dǎo)致在所述第二過程之前執(zhí)行從所述第二存儲單元接收所述第一函數(shù)的信息的第五過程。
7.根據(jù)權(quán)利要求1所述的存儲控制程序的存儲介質(zhì),其中所述第一存儲單元是易失性存儲單元,并且在所述控制程序從程序接收將所述第一邏輯地址區(qū)域的數(shù)據(jù)存儲在所述第二存儲單元中的請求之后,所述控制程序處理所述第一過程。
8.—種控制可與第一和第二存儲單元相連的信息處理設(shè)備的方法, 所述第一存儲單元包括至少可讀的第一存儲器,并且 所述第二存儲單元包括可讀和可寫的第二非易失性存儲器,以及控制單元,所述控制單元被配置為使得已接收的刪除通知所指定的邏輯地址區(qū)域到所述第二非易失性存儲器的一個或多個映射失效,并且在已接收的讀取命令所指定的邏輯地址區(qū)域未映射到所述第二非易失性存儲器時將第一函數(shù)指示的數(shù)據(jù)傳送到所述信息處理設(shè)備, 所述方法包括: 從所述第一存儲單元的第一邏輯地址區(qū)域讀取數(shù)據(jù); 判定從所述第一邏輯地址區(qū)域讀取的數(shù)據(jù)是否與所述第一函數(shù)指示的數(shù)據(jù)相同; 在所述讀取數(shù)據(jù)與所述第一函數(shù)指示的數(shù)據(jù)不同時,將所述讀取數(shù)據(jù)寫入所述第二存儲單元的第二邏輯地址區(qū)域;以及 在所述讀取數(shù)據(jù)與所述第一函數(shù)指示的數(shù)據(jù)相同時,將所述刪除通知發(fā)送到所述第二存儲單元以使所述第二邏輯地址區(qū)域到所述第二非易失性存儲器的一個或多個映射失效,而不將所述讀取數(shù)據(jù)發(fā)送到所述第二存儲單元。
9.根據(jù)權(quán)利要求8所述的控制信息處理設(shè)備的方法,其中所述第一函數(shù)指示與被發(fā)送到所述第二存儲單元的邏輯地址無關(guān)的固定數(shù)據(jù)。
10.根據(jù)權(quán)利要求8所述的控制信息處理設(shè)備的方法,其中所述第一函數(shù)針對被發(fā)送到所述第二存儲單元的至少兩個不同邏輯地址指示不同數(shù)據(jù)。
11.根據(jù)權(quán)利要求8所述的控制信息處理設(shè)備的方法,其中所述第一存儲單元是非易失性存儲單元,并且所述第一和第二存儲單元被包括在不同的非易失性存儲設(shè)備中。
12.根據(jù)權(quán)利要求8所述的控制信息處理設(shè)備的方法, 其中所述第一存儲單元是非易失性存儲單元,并且所述第一和第二存儲單元被包括在同一非易失性存儲設(shè)備中,并且 所述第一和第二邏輯地址區(qū)域的邏輯地址彼此不重疊。
13.根據(jù)權(quán)利要求8所述的控制信息處理設(shè)備的方法,其中在執(zhí)行所述判定之前,從所述第二存儲單元接收所述第一函數(shù)的信息。
14.一種信息處理系統(tǒng),包括: 第一存儲單元,其包括至少可讀的第一存儲器; 第二存儲單元,其包括可讀和可寫的第二非易失性存儲器,以及控制單元,所述控制單元被配置為使得已接收的刪除通知所指定的邏輯地址區(qū)域到所述第二非易失性存儲器的一個或多個映射失效,并且在已接收的讀取命令所指定的邏輯地址區(qū)域未映射到所述第二非易失性存儲器時將第一函數(shù)指示的數(shù)據(jù)傳送到信息處理設(shè)備;以及所述信息處理設(shè)備,其可與所述第一和第二存儲單元相連, 其中所述信息處理設(shè)備包括 第一控制單元,其從所述第一存儲單元的第一邏輯地址區(qū)域讀取數(shù)據(jù); 第二控制單元,其判定從所述第一邏輯地址區(qū)域讀取的數(shù)據(jù)是否與所述第一函數(shù)指示的數(shù)據(jù)相同; 第三控制單元,其在所述讀取數(shù)據(jù)與所述第一函數(shù)指示的數(shù)據(jù)不同時,將所述讀取數(shù)據(jù)寫入所述第二存儲單元的第二邏輯地址區(qū)域;以及 第四控制單元,其在所述讀取數(shù)據(jù)與所述第一函數(shù)指示的數(shù)據(jù)相同時,將所述刪除通知發(fā)送到所述第二存儲單元以使所述第二邏輯地址區(qū)域到所述第二非易失性存儲器的一個或多個映射失效,而不將所述讀取數(shù)據(jù)發(fā)送到所述第二存儲單元。
15.根據(jù)權(quán)利要求14所述的信息處理系統(tǒng),其中所述第一函數(shù)指示與被發(fā)送到所述第二存儲單元的邏輯地址無關(guān)的固定數(shù)據(jù)。
16.根據(jù)權(quán)利要求14所述的信息處理系統(tǒng),其中所述第一函數(shù)針對被發(fā)送到所述第二存儲單元的至少兩個不同邏輯地址指示不同數(shù)據(jù)。
17.根據(jù)權(quán)利要求14所述的信息處理系統(tǒng),其中所述第一存儲單元是非易失性存儲單元,并且所述第一和第二存儲單元被包括在不同的非易失性存儲設(shè)備中。
18.根據(jù)權(quán)利要求14所述的信息處理系統(tǒng), 其中所述第一存儲單元是非易失性存儲單元,并且所述第一和第二存儲單元被包括在同一非易失性存儲設(shè)備中,并且 所述第一和第二邏輯地址區(qū)域的邏輯地址彼此不重疊。
19.根據(jù)權(quán)利要求14所述的信息處理系統(tǒng),還包括: 第五控制單元,其在所述第二控制單元判定從所述第一邏輯地址區(qū)域讀取的數(shù)據(jù)是否與所述第一函數(shù)指示的數(shù)據(jù)相同之前,從所述第二存儲單元接收所述第一函數(shù)的信息。
20.根據(jù)權(quán)利要求14所述的信息處理系統(tǒng),其中所述第一存儲單元是易失性存儲單元,并且在所述第一控制單元從程序接收將所述第一邏輯地址區(qū)域的數(shù)據(jù)存儲在所述第二存儲單元中的請求之后,所述第一控制單元從所述第一邏輯地址區(qū)域讀取數(shù)據(jù)。
21.一種可與第一和第二存儲單元相連的信息處理設(shè)備, 所述第一存儲單元包括至少可讀的第一存儲器,并且 所述第二存儲單元包括可讀和可寫的第二非易失性存儲器,以及控制單元,所述控制單元被配置為使得已接收的刪除通知所指定的邏輯地址區(qū)域到所述第二非易失性存儲器的一個或多個映射失效,并且在已接收的讀取命令所指定的邏輯地址區(qū)域未映射到所述第二非易失性存儲器時將第一函數(shù)指示的數(shù)據(jù)傳送到所述信息處理設(shè)備, 所述信息處理設(shè)備包括: 第一控制單元,其從所述第一存儲單元的第一邏輯地址區(qū)域讀取數(shù)據(jù); 第二控制單元,其判定從所述第一邏輯地址區(qū)域讀取的數(shù)據(jù)是否與所述第一函數(shù)指示的數(shù)據(jù)相同; 第三控制單元,其在所述讀取數(shù)據(jù)與所述第一函數(shù)指示的數(shù)據(jù)不同時,將所述讀取數(shù)據(jù)寫入所述第二存儲單元的第二邏輯地址區(qū)域;以及 第四控制單元,其在所述讀取數(shù)據(jù)與所述第一函數(shù)指示的數(shù)據(jù)相同時,將所述刪除通知發(fā)送到所述第二存儲單元以使所述第二邏輯地址區(qū)域到所述第二非易失性存儲器的一個或多個映射失效,而不將所述讀取數(shù)據(jù)發(fā)送到所述第二存儲單元。
22.根據(jù)權(quán)利要求21所述的信息處理設(shè)備,其中所述第一函數(shù)指示與被發(fā)送到所述第二存儲單元的邏輯地址無關(guān)的固定數(shù)據(jù)。
23.根據(jù)權(quán)利要求21所述的信息處理設(shè)備,其中所述第一函數(shù)針對被發(fā)送到所述第二存儲單元的至少兩個不同邏輯地址指示不同數(shù)據(jù)。
24.根據(jù)權(quán)利要求21所述的信息處理設(shè)備,其中所述第一存儲單元是非易失性存儲單元,并且所述第一和第二存儲單元被包括在不同的非易失性存儲設(shè)備中。
25.根據(jù)權(quán)利要求21所述的信息處理設(shè)備, 其中所述第一存儲單元是非易失性存儲單元,并且所述第一和第二存儲單元被包括在同一非易失性存儲設(shè)備中,并且 所述第一和第二邏輯地址區(qū)域的邏輯地址彼此不重疊。
26.根據(jù)權(quán)利要求21所述的信息處理設(shè)備,還包括: 第五控制單元,其在所述第二控制單元判定從所述第一邏輯地址區(qū)域讀取的數(shù)據(jù)是否與所述第一函數(shù)指示的數(shù)據(jù)相同之前,從所述第二存儲單元接收所述第一函數(shù)的信息。
27.根據(jù)權(quán)利要求21所述的信息處理設(shè)備,其中所述第一存儲單元是易失性存儲單元,并且在所述第一控制單元從程序接收將所述第一邏輯地址區(qū)域的數(shù)據(jù)存儲在所述第二存儲單元中的請求之后,所述第一控制單元從所述第一邏輯地址區(qū)域讀取數(shù)據(jù)。
【文檔編號】G06F3/06GK104412218SQ201380032155
【公開日】2015年3月11日 申請日期:2013年3月25日 優(yōu)先權(quán)日:2012年6月19日
【發(fā)明者】橋本大輔 申請人:株式會社 東芝
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
承德县| 中宁县| 吉安县| 沾益县| 台前县| 黄浦区| 齐齐哈尔市| 巴彦县| 襄樊市| 宝兴县| 尖扎县| 合阳县| 子洲县| 元朗区| 奇台县| 洪江市| 泸溪县| 阳信县| 东阳市| 广宗县| 江城| 洪雅县| 乌兰县| 绵竹市| 新建县| 清涧县| 隆林| 会昌县| 九龙坡区| 天台县| 安义县| 上犹县| 修武县| 高州市| 洛扎县| 英吉沙县| 桂平市| 遂川县| 青神县| 清徐县| 凌云县|