專利名稱::控制器、數據存儲裝置以及程序產品的制作方法
技術領域:
:本文中描述的實施例一般而言涉及控制器、數據存儲裝置以及程序。
背景技術:
:在相關
技術領域:
,在諸如硬盤驅動器(HDD)或固態驅動器(SSD)的數據存儲裝置中,使用諸如轉換表的各種管理信息來管理存儲介質的使用狀態,其中在該轉換表中,邏輯地址(LBA邏輯塊地址)和物理地址(PBA物理塊地址)彼此關聯。邏輯地址是可被主機裝置識別的存儲介質的邏輯地址,所述主機裝置例如為服務器計算機、存儲系統的控制器或個人計算機。物理地址是指示(indicate)存儲介質的物理存儲位置的地址。作為數據存儲裝置的存儲介質的實例,公知諸如NAND型閃速存儲器的半導體存儲元件。該存儲介質不能進行數據的隨機讀出/寫入操作,而是需要以稱為頁的單位來讀出/寫入數據,以其中集合了多個頁的稱為塊的單位構建存儲區。為了在已寫入數據的頁或塊中寫入新數據,需要以塊為單位來擦除已寫入的數據。也就是,對于其中沒有寫入數據的已擦除了數據的塊的頁,數據可被以頁為單位依次寫入,而對于已寫入數據的頁,則不能進行數據重寫。在主機裝置對數據存儲裝置進行數據讀出/寫入操作時的讀出/寫入的單位稱為扇區(sector)并相對于頁單位或塊單位被獨立地確定。例如,塊尺寸被確定為512千字節,頁尺寸被確定為4千字節,而扇區尺寸被確定為512字節。在使用具有上述約束的存儲介質的數據存儲裝置中,采用這樣的塊管理方法,該方法使用塊尺寸的整數倍的尺寸作為在管理信息時的數據的管理尺寸。當在塊管理方法中從主機裝置請求隨機寫入時,數據存儲裝置在暫時存儲區中讀出數據,該數據被包括在與作為由主機請求寫入的邏輯地址的范圍中的邏輯地址區相對應的一個或多個塊中所存儲的數據中且不被寫請求所更新。數據存儲裝置合并該數據和寫目標數據(writeobjectdata)。數據存儲裝置執行擦除一個或多個新的寫目標塊的處理,寫入合并的數據,并將管理信息更新為使邏輯地址區與一個或多個新的寫目標塊彼此對應。如上所述,在該塊管理方法中,因為數據存儲裝置中的數據寫入的尺寸和數據讀出的尺寸顯著大于從主機裝置請求的被請求數據寫入的尺寸,因此處理時間會增加,并且隨機寫入性能會被顯著劣化。由于該原因,在使用具有上述約束的存儲介質的數據存儲裝置中,使用日志結構方法(log-structuredmethod)來改善隨機寫入性能(例如,參見MendelRosenblumandJohnK.Ousterhout,"TheLFSStorageManager,,,Proceedingsofthe1990SummerUsenix,Anaheim,California,June1990,pp.315-3),該方法是通過操作系統(OS)存儲器管理或文件系統而被執行的。在使用日志結構方法的數據存儲裝置中,以頁的升序依次寫入寫目標數據,而不考慮由主機裝置的寫請求指派的邏輯地址。如果主機裝置做出了再次指派先前指派的邏輯地址的寫請求,則數據存儲裝置將該新的寫目標數據寫入已完成了擦除處理的塊的未寫入的頁中。數據存儲裝置使與管理信息中的該邏輯地址對應的頁(當在過去指派對應的邏輯地址時寫入了數據的頁)無效,使新寫目標數據被寫入的頁有效,并使該頁與對應的邏輯地址關聯。在使用日志結構方法的數據存儲裝置中,如果無效頁的數目增加,則數據可被寫入的且完成了擦除處理的新塊的數目(即,在擦除處理之后未寫入數據的空閑塊的數目)減小,可能不能進行新的數據寫入。出于該原因,在適當的時機進行壓縮(對應于垃圾收集(garbagecollection))。在進行壓縮時,數據存儲裝置收集在包含被無效的頁的塊當中的未被無效的物理地址中所存儲的有效數據,并將該有效數據復制到空閑塊中以移動該有效數據,并對這些已被復制的塊執行擦除處鋰,從而產生新的空閑塊。數據存儲裝置通過進行壓縮而從不可寫入的塊產生空閑塊。即使在通過移動寫入了有效數據的塊中,如果存在未寫入的頁,仍能夠進行對該頁的新寫入。根據該日志結構方法,由于數據存儲裝置中的數據寫入的尺寸和數據讀出的尺寸不會變為顯著大于從主機裝置請求的被請求數據寫入的尺寸,因此可以獲得高的隨機寫入性能。半導體存儲元件的壽命通常依賴于擦除次數或寫入次數。為了增加數據存儲裝置的設計壽命,數據存儲裝置中的數據寫入尺寸優選小于從主機裝置請求的被請求數據寫入的尺寸。同時,在對數據存儲裝置的存取模式中,通常存在地址局域性(addresslocality)。在上述日志結構方法中,由于沒有考慮存取模式的地址局域性,因而不能充分改善通常使用性能。
發明內容實施例的目的是提供可以改善其通常使用性能的控制器、數據存儲裝置以及程序Φ口廣BFIο一般而言,根據一個實施例,寫指令單元(writeinstructingunit)指令(instruct)數據存取單元(dataaccessunit)在數據存儲單元的由第一物理地址指示的存儲區中寫入寫目標數據,指令管理信息存取單元更新地址轉換信息,并指令第一存取單元更新所述第一物理地址。壓縮單元提取壓縮目標數據(compactobjectdata)的物理地址,指令所述數據存取單元讀出在所述數據存儲單元的由所述物理地址指示的存儲區中所存儲的所述壓縮目標數據,指令所述數據存取單元在所述數據存儲單元的由第二物理地址指示的存儲區中寫入所述壓縮目標數據,指令所述管理信息存取單元更新所述地址轉換信息,并指令第二存取單元更新所述第二物理地址。根據上述實施例,可以改善通常使用性能。6圖1為示出了根據第一實施例的數據存儲裝置的硬件配置的實例的框圖;圖2為示出了根據第一實施例的數據存儲裝置的功能配置的實例的框圖;圖3為示出了用于確保管理信息的一致性(consistency)的方法的實例的圖;圖4為示出了用于確保管理信息的一致性的方法的實例的圖;圖5為示出了用于確保管理信息的一致性的方法的實例的圖;圖6為示出了用于確保管理信息的一致性的方法的實例的圖;圖7為示出了根據第二實施例的數據存儲裝置的功能配置的實例的框圖;圖8為示出了正向查找表(forwardlookuptable)的數據配置的實例的圖;圖9為示出了逆向查找表(backwardlookuptable)、有效頁標志(flag)以及有效頁計數器的數據配置的實例的圖;圖10為示出了主機寫日志結構指針的數據配置的實例的圖;圖11為示出了命令分割方法的實例的圖;圖12為示出了日志的實例的圖;圖13為示出了根據第二實施例的數據存儲裝置的寫處理的實例的流程圖;圖14為示出了根據第二實施例的數據存儲裝置的讀處理的實例的流程圖;圖15為示出了根據第二實施例的數據存儲裝置的壓縮處理的實例的流程圖;圖16為示出了根據第二實施例的數據存儲裝置的快照(snapshot)記錄處理的實例的流程圖;圖17為示出了根據第二實施例的數據存儲裝置的管理信息恢復處理的實例的流程圖;圖18為示出了以邏輯地址順序排列數據的原理的圖;圖19為示出了根據第三實施例的數據存儲裝置的功能配置的實例的框圖;圖20為示出了有效頁標志和有效頁計數器的數據配置的實例的圖;圖21為示出了未用塊(non-usedblock)的分配方法的圖;圖22為示出了未用塊的分配方法的圖;圖23為示出了未用塊的分配方法的圖;圖M為示出了未用塊的分配方法的圖;圖25為示出了未用塊的分配方法的圖;圖沈為示出了未用塊的分配方法的圖;圖27為示出了針對頁的數據的寫方法的圖;圖觀為示出了根據第三實施例的數據存儲裝置的寫處理的實例的流程圖;圖四為示出了根據第三實施例的數據存儲裝置的壓縮處理的實例的流程圖;圖30為示出了根據第三實施例的數據存儲裝置的管理信息恢復處理的實例的流程圖;圖31為示出了根據第三實施例的數據存儲裝置的塊分配處理的實例的流程圖;圖32為示出了根據第三實施例的數據存儲裝置的塊追加(blockadd)完成處理的實例的流程圖;圖33為示出了根據第三實施例的數據存儲裝置的空閑塊收集處理的實例的流程7圖34為示出了不根據約束(constraint)的恢復處理的實例的圖35為示出了不根據約束的恢復處理的實例的圖36為示出了不根據約束的恢復處理的實例的圖37為示出了不根據約束的恢復處理的實例的圖38為示出了不根據約束的恢復處理的實例的圖39為示出了根據約束的恢復處理的實例的圖40為示出了根據約束的恢復處理的實例的圖41為示出了根據約束的恢復處理的實例的圖42為示出了根據約束的恢復處理的實例的圖43為示出了根據約束的恢復處理的實例的圖44為示出了根據約束的恢復處理的實例的圖45為示出了LBA表的數據配置的實例的圖46為示出了邏輯/物理轉換表的數據配置的實例的圖47為示出了逆向查找表、有效頁標志以及有效頁計數器的數據配置的實例的圖;以及圖48為示出了日志結構指針的推進(advancing)方法的實例的圖。具體實施例方式下文中,將參考附圖詳細地描述根據實施例的控制器、數據存儲裝置以及程序。在以下實施例中,將SSD示例為數據存儲裝置,但本發明不受此限制。在以下實施例中,示例了數據存儲裝置中的數據管理單位的尺寸等于頁尺寸的情況,但本發明不受此限制。例如,一個頁可以存儲多個數據管理單位(數據管理單位可具有小于頁尺寸的尺寸),或者,多個連續頁可以存儲一個數據管理單位(數據管理單位可具有大于頁尺寸的尺寸)。第一實施例在第一實施中,示例了這樣的情況,其中,獨立地確保用于存儲(追加(add))主機寫請求用的寫目標數據的存儲區和用于追加壓縮用的壓縮目標數據的存儲區。首先,將描述根據第一實施例的數據存儲裝置的框圖。圖1是示出根據第一實施例的數據存儲裝置100的硬件配置的實例的框圖。如圖1所示,數據存儲裝置100包括處理器51、引導只讀存儲器(R0M)52、存儲器接口53、動態隨機存取存儲器(DRAM)54、SATA/SAS接口55、NAND接口57A到57F、NAND(半導體存儲介質)58A到58F、以及連接這些部件的總線56。在下面的描述中,在不需將NAND接口57A到57F彼此區分開的情況下,可將NAND接口57A到57F簡單地稱為NAND接口57。同樣,在不需將NAND58A到58F彼此區分開的情況下,可將NAND58A到58F簡單地稱為NAND58。引導ROM52存儲在電力被供給到數據存儲裝置100時執行的程序。NAND58存儲各種系統程序。SATA/SAS接口55在處理器51的控制下控制與主機裝置(在圖中未示出)的通信。在供應電力時,處理器51從引導ROM52讀出程序,執行該程序,并根據對應的程序將存儲在NAND58中的各種系統程序傳送到DRAMM。處理器51執行被傳送到DRAM54的系統程序,從而控制整個數據存儲裝置100,并實現各種功能。具體地,處理器51執行被傳送到DRAM54的系統程序,解釋從主機裝置通過SATA/SAS接口55發送的命令,并根據經解釋的命令而控制對NAND58的數據寫入或數據從NAND58的讀出。處理器51根據需要控制壓縮處理。可以用實現由該各種系統程序實現的處理的全部或一部分的電路替代各種程序的全部或一部分。存儲器接口53控制DRAM54。DRAM54存儲各種數據或程序。NAND接口57控制NAND58并包括錯誤校正電路。NAND58由在NAND型閃速存儲器中使用的存儲元件構成。在圖1示出的實例中,NAND58的數目為6。這是因為,通過連接多個NAND58并共同地進行存取,可以提高存取速度。然而,NAND的數目不局限于6。在第一實施例中,示例了塊單位的處理。然而,當連接多個NAND58并進行存取時,可通過以其中連接了多個塊的稱為邏輯塊的單位來進行處理。圖2為示出了根據第一實施例的數據存儲裝置100的功能配置的概要的實例的框圖。如圖2所示,數據存儲裝置100包括接收器110、管理信息存儲單元120、管理信息存取單元121、第一存儲單元130、第一存取單元131、第二存儲單元140、第二存取單元141、寫指令單元150、讀指令單元160、壓縮單元170、數據存儲單元105以及數據存取單元106。接收器110從主機裝置接收寫請求。寫請求包括與主機裝置請求寫入數據的邏輯地址的范圍對應的邏輯地址區的信息以及指定寫目標數據的寫數據指定信息(writedataspecificationinformation)。邏輯地址是可由主機裝置識別的數據存儲裝置100的邏輯地址。寫數據指定信息是寫目標數據的信息或者是包括寫目標數據的存儲場所的信息。接收器110從主機裝置接收讀請求。該讀請求包括與主機裝置請求讀出數據的邏輯地址的范圍對應的邏輯地址區的信息。讀請求可包括指示出讀數據的存儲場所的存儲場所信息。通過由處理器51執行各種系統程序和SATA/SAS接口55的功能來實現接收器110的功能。管理信息存儲單元120存儲管理信息。作為操作數據存儲裝置100所需的信息的管理信息包括其中物理地址和邏輯地址彼此關聯的地址轉換信息。物理地址指示出在數據存儲單元105中存儲的數據的物理存儲位置。第一存儲單元130存儲物理地址,該物理地址被將在下面描述的寫指令單元150指派為數據寫目的地。第二存儲單元140存儲物理地址,該物理地址被將在下面描述的壓縮單元170指派為數據寫目的地。通過DRAMM的預定區域來實現所有的管理信息存儲單元120、第一存儲單元130以及第二存儲單元140。管理信息存取單元121從寫指令單元150、讀指令單元160或壓縮單元接收讀指令,從管理信息存儲單元120讀出管理信息,并向讀指令源(寫指令單元150、讀指令單元160或壓縮單元170)提供所讀出的管理信息。管理信息存取單元121從寫指令單元150或壓縮單元170接收寫指令,并在管理信息存儲單元120中寫入被寫指令的管理信息(thewriteinstructedmanagementinformation)0第一存取單元131從寫指令單元150接收讀指令,從第一存儲單元130讀出物理地址,并向寫指令單元150提供該所讀出的物理地址。第一存取單元131從寫指令單元150接收寫指令,并在第一存儲單元130中寫入被寫指令的物理地址(thewriteinstructedphysicaladdress)。第二存取單元141從壓縮單元170接收讀指令,從第二存儲單元140讀出物理地址,并向壓縮單元170提供所讀出的物理地址。第二存取單元141從壓縮單元170接收寫指令,并在第二存儲單元140中寫入被寫指令的物理地址。通過存儲器接口53的功能實現所有的管理信息存取單元121、第一存取單元131以及第二存取單元141。數據存儲單元105存儲各種數據,例如,由主機裝置要求寫入的用戶數據。通過NAND58實現數據存儲單元105。數據存取單元106從寫指令單元150、讀指令單元160或壓縮單元170接收讀指令,從數據存儲單元105讀出數據,并向讀指令源(寫指令單元150、讀指令單元160或壓縮單元170)提供所讀出的數據。數據存取單元106從寫指令單元150或壓縮單元170接收寫指令,并在數據存儲單元105中寫入被寫指令的數據。通過NAND接口57的功能實現數據存取單元106。寫指令單元150參照在由接收器110接收的寫請求中包括的寫數據指定信息,并獲取寫目標數據。寫指令單元150指令第一存取單元131讀出在第一存儲單元130中存儲的物理地址,并獲取該物理地址。寫指令單元150指令數據存取單元106在由所獲取的物理地址指示的數據存儲單元105的存儲位置中寫入所獲取的寫目標數據。寫指令單元150指令管理信息存取單元121在管理信息存儲單元120中寫入被寫入在數據存儲單元105中的寫目標數據的地址轉換信息。寫指令單元150指令第一存取單元131更新由第一存儲單元130存儲的物理地址并寫入該更新的物理地址。讀指令單元160提取在由接收器110接收的讀請求中包括的讀目標數據的邏輯地址區信息。讀指令單元160指令管理信息存取單元121讀出在管理信息存儲單元120中存儲的管理信息,并獲取該管理信息。讀指令單元160使用所提取的邏輯地址區信息而從所獲取的管理信息提取物理地址。讀指令單元160指令數據存取單元106從由所提取的物理地址指示的數據存儲單元105的存儲位置讀出讀目標數據,并獲取該讀目標數據。讀指令單元160通過接收器110向主機裝置發送讀答復(readr印ly)。讀答復是讀目標數據的信息或這樣的信息,該信息包括指示出讀目標數據被存儲在由存儲場所信息所指定的場所中的信息。壓縮單元170指令管理信息存取單元121讀出在管理信息存儲單元120中存儲的管理信息,并獲取該管理信息。壓縮單元170使用所獲取的管理信息而提取壓縮目標數據的物理地址。當通過寫指令單元150對特定的邏輯地址寫入新數據時,先前對指示相同值的邏輯地址進行了寫入的數據的存儲區變為被無效的存儲區。壓縮目標數據是存儲在未被無效的存儲區中的數據。壓縮單元170指令數據存取單元106從由所提取的物理地址指示的數據存儲單元105的存儲位置讀出壓縮目標數據,并獲取該壓縮目標數據。壓縮單元170指令第二存取單元141讀出在第二存儲單元140中存儲的物理地址,并獲取該物理地址。壓縮單元170指令數據存取單元106將所獲取的壓縮目標數據寫入由所獲取的物理地址指示的數據存儲單元105的存儲位置中。壓縮單元170指令管理信息存取單元121在管理信息存儲單元120中寫入被寫入在數據存儲單元105中的壓縮目標數據的地址轉換信息。壓縮單元170指令第二存取單元141更新由第二存儲單元140存儲的物理地址并寫入該更新的物理地址。通過由處理器151執行各種系統程序來實現寫指令單元150、讀指令單元160以及壓縮單元170的功能。如上所述,根據第一實施例,因為獨立地確保了用于存儲(追加)主機寫請求用的寫目標數據的存儲區和用于追加壓縮用的壓縮目標數據的存儲區,所以能夠考慮存取模式的地址局域性,并可以改善通常使用性能。第二實施例在第一實施例中,示例了獨立地確保了用于存儲(追加)主機寫請求用的寫目標數據的存儲區和用于追加壓縮用的壓縮目標數據的存儲區的情況。當獨立地執行主機寫處理和壓縮處理時,對相同邏輯地址區的主機寫處理和壓縮處理會彼此覆蓋,因此需要確保管理信息的一致性。因此,在第二實施例中,示例了這樣的情況,其中,當對相同的邏輯地址區的主機寫處理和壓縮處理彼此覆蓋時,管理信息被最終更新為指示由主機寫處理寫入數據的新頁,從而確保了管理信息的一致性。首先,將描述確保管理信息的一致性的方法。圖3到6示出了對相同的邏輯地址區的主機寫處理和壓縮處理彼此覆蓋的情形。在該情形中,如果管理信息被最終更新為指示由主機寫處理寫入數據的新頁,則可以確保管理信息的一致性。在圖3示出的實例中,壓縮處理首先開始,主機寫處理在壓縮處理期間開始,并且壓縮處理在主機寫處理完成之前完成。在該情況下,通過壓縮處理和主機寫處理二者來更新管理信息,因此該管理信息指示出通過主機寫請求寫入了數據的新頁。在圖4示出的實例中,壓縮處理首先開始,主機寫處理在壓縮處理期間開始,并且主機寫處理在壓縮處理完成之前完成。在該情況下,當壓縮處理結束時管理信息未被更新,因此該管理信息指示出通過主機寫請求寫入了數據的新頁。在圖5示出的實例中,主機寫處理首先開始,壓縮處理在主機寫處理期間開始,并且主機寫處理在壓縮處理完成之前完成。在該情況下,當壓縮處理結束時管理信息未被更新,因此該管理信息指示出通過主機寫請求寫入了數據的新頁。在圖6示出的實例中,主機寫處理首先開始,壓縮處理在主機寫處理期間開始,并且壓縮處理在主機寫處理完成之前完成。在該情況下,通過壓縮處理和主機寫處理二者來更新管理信息,因此該管理信息指示出通過主機寫請求寫入了數據的新頁。如果數據存儲裝置丟失了該管理信息,則數據存儲裝置不能正常運作。出于該原因,需要在任意時刻將管理信息存儲在存儲介質中并根據需要恢復所存儲的管理信息。每當更新管理信息時就需要存儲管理信息。然而,如果每當更新管理信息時就存儲所有的管理信息,那么存儲時間會增加并且也會增加對存儲介質的寫入量。因此,在預定時刻存儲所有的管理信息(快照),而每當更新管理信息時存儲差別信息(日志)。管理信息的恢復被進行為使得在恢復了在存儲介質中存儲的最新快照之后,將在存儲該快照之后存儲的日志按時間序列的順序依次應用于所恢復的快照。由此,可以恢復在最后記錄日志的時間點處的管理信息。11如果獨立地確保主機寫請求用的存儲區和壓縮用的存儲區并獨立地執行主機寫處理和壓縮處理,則基于主機寫請求的寫目的地和壓縮處理的存取目的地成為存儲介質上的不連續的(discrete)物理地址。在使用諸如SSD的半導體存儲元件作為存儲介質的數據存儲裝置的情況下,即使對該存儲介質進行存取時對應的物理地址為不連續的物理地址,時間懲罰(timepenalty)也不存在或可以被忽略。因此,增加了當獨立地確保主機寫請求用的存儲區和壓縮用的存儲區并獨立地執行主機寫處理和壓縮處理時獲得的有益效果。在使用諸如HDD的盤作為存儲介質的數據存儲裝置的情況下,如果對該存儲介質進行存取時對應的物理地址為不連續的物理地址,則時間懲罰(例如直到完成了在該盤上插入(cueing)數據為止的磁頭移動處理時間或旋轉等待時間)增加。因此,減小了當獨立地確保主機寫請求用的存儲區和壓縮用的存儲區并獨立地執行主機寫處理和壓縮處理時獲取的有益效果。接下來,將描述根據第二實施例的數據存儲裝置的配置。圖7為示出了根據第二實施例的數據存儲裝置200的詳細功能配置的實例的框圖。如圖7所示,數據存儲裝置200包括半導體存儲介質控制單元203、半導體存儲介質205、轉換表控制單元221、轉換表存儲單元223、主機寫日志結構指針控制單元232、主機寫日志結構指針存儲單元230、壓縮日志結構指針控制單元M2、壓縮日志結構指針存儲單元M0、塊使用信息控制單元226、塊使用信息存儲單元228、緩沖控制單元207、緩沖存儲單元209、主機接口單元210、命令控制單元215、寫指令單元250、讀指令單元沈0、壓縮單元270、快照存儲單元觀2、日志存儲單元觀4、管理信息恢復單元四0、快照恢復單元四2以及日志恢復單元四4。半導體存儲介質控制單元203控制對半導體存儲介質205的數據讀出/寫入,并為寫指令單元250、讀指令單元沈0、壓縮單元270、快照存儲單元觀2、日志存儲單元觀4、快照恢復單元四2以及日志恢復單元294對半導體存儲介質205的存取提供支持。通過由處理器51執行各種系統程序和NAND接口57的功能而實現半導體存儲介質控制單元203的功能。如果半導體存儲介質控制單元203從寫指令單元250、讀指令單元260或壓縮單元270接收所指派的物理地址區的數據的讀請求,半導體存儲介質控制單元203從半導體存儲介質205的所指派的物理地址區讀出數據,并向讀請求源提供所讀出的數據。如果半導體存儲介質控制單元203從寫指令單元250、讀指令單元260或壓縮單元270接收寫目標數據和對所指派的物理地址區的數據寫請求,半導體存儲介質控制單元203將所接收的寫目標數據寫入半導體存儲介質205的所指派的物理地址區中。如果從寫指令單元250、讀指令單元260或壓縮單元270連續地發出讀請求或寫請求,則半導體存儲介質控制單元203連續地執行被請求的處理。現在,考慮這樣的情況,其中,從指令單元250、讀指令單元260和壓縮單元270當中的除了發出連續請求的功能單元之外的功能單元正在/已經單獨地(s印arately)或連續地向半導體存儲介質控制單元203發出讀請求或寫請求。例如,考慮這樣的情況,其中,壓縮單元270連續地發出請求而使得半導體存儲介質控制單元203正在連續地執行被請求的處理,并且從寫指令單元250發出寫請求或者已經從寫指令單元250發出了寫請求。在該情況下,半導體存儲介質控制單元203不執行下一連續請求的處理,而是根據需要執行來除了發出該連續請求的功能單元之外的功能單元所請求的處理。也就是,半導體存儲介質控制單元203根據需要而切換處理。如果切換之后的處理完成,則半導體存儲介質控制單元203根據需要而執行下一連續請求的處理。也就是,半導體存儲介質控制單元203根據需要而再次開始被切換的處理。如果半導體存儲介質控制單元203從寫指令單元250或壓縮單元270接收所指派的塊的擦除請求,半導體存儲介質控制單元203執行對半導體存儲介質205的所指派的塊的擦除處理。如果半導體存儲介質控制單元203從快照存儲單元282或日志存儲單元284接收數據存儲請求,則半導體存儲介質控制單元203將被請求存儲的數據存儲在半導體存儲介質205的預定區域中或者存儲在這樣的區域中,可根據存儲在半導體存儲介質205的該預定區域中的信息而跟蹤該區域。如果半導體存儲介質控制單元203從快照恢復單元292或日志恢復單元294接收數據讀請求,則半導體存儲介質控制單元203從半導體存儲介質205的預定區域或這樣的區域讀出被請求的數據,可根據存儲在半導體存儲介質205的該預定區域中的信息而跟蹤該區域。半導體存儲介質控制單元203向快照恢復單元292或日志恢復單元294提供所讀出的數據。半導體存儲介質205對應于數據存儲單元105并由NAND型閃速存儲器構成。諸如NAND型閃速存儲器的存儲元件不能隨機讀出/寫入,能夠以稱為頁的單位進行讀出/寫入,并構成了其中集合了多個頁的稱為塊的單位的存儲區。通過集合多個塊而構成半導體存儲介質205。可以連接多個半導體存儲介質205。轉換表控制單元221控制對由轉換表存儲單元223存儲的轉換表的存取,并為從寫指令單元250、讀指令單元沈0、壓縮單元270、快照存儲單元觀2、快照恢復單元四2以及日志恢復單元294對轉換表存儲單元223的存取提供支持。通過由處理器51執行各種系統程序和存儲器接口53的功能而實現轉換表控制單元221的功能。轉換表控制單元221從寫指令單元250、讀指令單元沈0、壓縮單元270、快照存儲單元觀2、快照恢復單元292或日志恢復單元294接收對轉換表的存取請求,并根據所接收的存取請求而執行處理。轉換表控制單元221執行轉換表的鎖定處理(lockprocess),以便寫指令單元250或壓縮單元270進行轉換表的排他控制。轉換表控制單元221進行轉換表的鎖定解除處理,以便寫指令單元250或壓縮單元270終止轉換表的排他控制。轉換表存儲單元223對應于管理信息存儲單元120的一部分并存儲轉換表。轉換表包括正向查找表、逆向查找表、有效頁標志以及有效頁計數器。正向查找表是指示出由數據存儲裝置200存儲的數據的邏輯地址與指示出在半導體存儲介質205中實際存儲對應數據的物理存儲位置的物理地址之間的對應關系的表,并且在將地址從邏輯地址轉換為物理地址時使用該表。圖8示出了正向查找表的數據配置的實例。如圖8所示,正向查找表使用邏輯地址作為索引并包括作為條目(entry)的邏輯地址和物理地址。物理地址包括塊號碼和頁號碼。逆向查找表是指示出由數據存儲裝置200存儲的數據的邏輯地址與指示出在半導體存儲介質205中實際存儲對應數據的物理存儲位置的物理地址之間的對應關系的表,并且在將地址從物理地址轉換為邏輯地址時使用該表,這與正向查找相反。有效頁標志使用真/假值示出與在塊中包括的各頁當中的有效數據被寫入的頁相對應的有效頁。有效頁計數器示出包括在塊中的各頁當中的有效頁的數目。圖9示出了逆向查找表、有效頁標志和有效頁計數器的數據配置的實例。如圖9所示,逆向查找表、有效頁標志和有效頁計數器使用塊號碼作為索引并包括作為條目的塊號碼、有效頁計數器、邏輯地址組以及有效頁標志組。邏輯地址組和有效頁標志組以設置在塊中的頁的順序排列,并可指定邏輯地址的頁或有效頁標志。同一塊的有效頁計數器的值和有效頁標志的真值的總數目彼此匹配。在同一塊中,成為索引的塊號碼和成為正向查找表的條目的塊號碼被指派位具有同一號碼。主機寫日志結構指針控制單元232控制對由主機寫日志結構指針存儲單元230存儲的主機寫日志結構指針的存取(access),并為從寫指令單元250、快照存儲單元觀2、快照恢復單元四2以及日志恢復單元294對主機寫日志結構指針存儲單元230的存取提供支持。通過由處理器51執行各種系統程序和存儲器接口53的功能而實現主機寫日志結構指針控制單元232的功能。主機寫日志結構指針控制單元232從寫指令單元250、快照存儲單元觀2、快照恢復單元292或日志恢復單元294接收對主機寫日志結構指針的存取請求,并根據所接收的存取請求而執行處理。主機寫日志結構指針存儲單元230對應于第一存儲單元130并存儲主機寫日志結構指針。圖10示出了主機寫日志結構指針的數據配置的實例。如圖10所示,主機寫日志結構指針包括塊號碼和頁號碼。由此,可以識別數據被寫入的下一頁的物理地址。壓縮日志結構指針控制單元242控制對由壓縮日志結構指針存儲單元240存儲的壓縮日志結構指針的存取,并為壓縮單元270、快照存儲單元觀2、快照恢復單元四2以及日志恢復單元294對壓縮日志結構指針存儲單元MO的存取提供支持。通過由處理器51執行各種系統程序和存儲器接口53的功能而實現壓縮日志結構指針控制單元M2的功能。壓縮日志結構指針控制單元242從壓縮單元270、快照存儲單元觀2、快照恢復單元292或日志恢復單元294接收對壓縮日志結構指針的存取請求,并根據所接收的存取請求而執行處理。壓縮日志結構指針存儲單元240對應于第二存儲單元140并存儲壓縮日志結構指針。與圖10所示的主機寫日志結構指針相似地,壓縮日志結構指針包括塊號碼和頁號碼。由此,可以識別數據被寫入的下一頁的物理地址。塊使用信息控制單元2控制對由塊使用信息存儲單元2存儲的塊使用信息的存取。該塊使用信息指示出包括在半導體存儲介質205中的每個塊是未用塊(non-usedblock)還是已用塊(usedblock)。在該情況下,未用塊是而數據未被寫入的塊或者被收集作為新的寫目的地塊的塊,其原因是確定了在所有頁中先前寫入的數據被無效。已用塊是先前被分配作為新的寫目的地塊和未被收集作為未用塊的塊,其原因是尚未確定在所有頁中已寫入的數據被無效。塊使用信息控制單元2為寫指令單元250、壓縮單元270、快照存儲單元觀2、快照恢復單元四2以及日志恢復單元四4對塊使用信息存儲單元2的存取提供支持。通過由處理器51執行各種系統程序和存儲器接口53的功能而實現塊使用信息控制單元226的功能。塊使用信息控制單元2從寫指令單元250、壓縮單元270、快照存儲單元觀2、快照恢復單元292或日志恢復單元294接收對塊使用信息的存取請求,并根據所接收的存取請求而執行處理。塊使用信息存儲單元2對應于管理信息存儲單元120的一部分并存儲塊使用信息。在塊使用信息中,指示出包括在半導體存儲介質205中的每個塊是未用塊還是已用塊的信息與每一個塊相關聯。對于在制造或操作數據存儲裝置200時被確定為缺陷塊的塊,則可關聯指示出缺陷塊的信息。緩沖控制單元207控制對緩沖存儲單元209的數據輸入/輸出,并為從寫指令單元250、讀指令單元260和壓縮單元270對緩沖存儲單元209的存取提供支持。通過由處理器51執行各種系統程序和存儲器接口53的功能而實現緩沖控制單元207的功能。緩沖控制單元207從寫指令單元250、讀指令單元260或壓縮單元270接收要輸入的數據和數據輸入請求,并將所接收的數據輸入到緩沖存儲單元209。緩沖控制單元207從寫指令單元250、讀指令單元260或壓縮單元270接收數據輸出請求,從緩沖存儲單元209輸出與所接收的輸出請求對應的數據,并將數據提供給數據輸出請求源。緩沖存儲單元209作為緩沖器而存儲數據并通過DRAM54的預定區域而實現。主機接口單元210對應于接收器110的部分功能并控制主機裝置(例如服務器計算機、存儲系統的控制器和個人計算機)與數據存儲裝置200之間的通信。主機接口裝置210從主機裝置接收包括寫命令和讀命令的命令,并向命令控制單元215發出命令執行通知以根據所接收的命令的種類而執行處理。寫命令包括數據存儲裝置200的寫目的地邏輯地址和寫數據尺寸。讀命令包括數據存儲裝置200的讀目的地邏輯地址和讀數據尺寸。如果主機接口單元210從命令控制單元215接收到用于請求主機裝置發送數據的請求,則主機接口單元210發出所接收的用于請求主機裝置發送數據的請求。如果主機接口單元210接收到從主機裝置發送的并將被數據存儲裝置200接收的數據,則主機接口單元210將該數據發送到命令控制單元215。如果主機接口單元210從命令控制單元215接收到用于請求主機裝置接收數據的請求,則主機接口單元210發出所接收的用于請求主機裝置接收數據的請求。如果主機接口單元210接收到來自主機裝置的數據接收請求,則主機接口單元210向命令控制單元215發出所接收的來自主機裝置的數據接收請求,并將從命令控制單元215接收到的并將被主機裝置接收的數據發送到主機裝置。命令控制單元215對應于接收器110的部分功能。如果命令控制單元215從主機接口單元210接收到命令執行通知,則命令控制單元215根據所接收的命令的種類而將向寫指令單元250或讀指令單元260分配處理。通過由處理器51執行各種系統程序而實現命令控制單元215的功能。當命令控制單元215從主機接口單元210接收到寫命令或讀命令并且用于該命令的區域超過管理尺寸區域(頁)的邊界時,命令控制單元215通過管理尺寸區的邊界來分割該命令。圖11示出了其寫目的地邏輯地址為3且寫數據尺寸為16的寫命令的寫區域與被配置為扇區尺寸為512字節且管理尺寸為4千字節的管理尺寸區域的邊界之間的關系。在圖11示出的實例的情況下,命令控制單元215將其寫目的地邏輯地址為3且寫數據尺寸為16的寫命令分割成寫目的地邏輯地址為3且寫數據尺寸為5的寫命令、寫目的地邏輯地址為8且寫數據尺寸為8的寫命令、以及寫目的地邏輯地址為16且寫數據尺寸為3的寫命令。命令控制單元215在該經分割的命令為寫命令時向寫指令單元250通知該經分割的命令,而當經分割的命令為讀命令時向讀指令單元260通知該經分割的命令。當從主機接口單元210接收到的寫命令或讀命令的區域沒有超過管理尺寸區域的邊界時,命令控制單元215在所接收的命令為寫命令時向寫指令單元250通知所接收的命令,而在所接收的命令為讀命令時向讀指令單元260通知所接收的命令。如果命令控制單元215從主機接口單元210接收到除寫命令或讀命令之外的命令的執行通知,則命令控制單元215執行適宜的處理。如果命令控制單元215從寫指令單元250接收到用于請求主機裝置發送數據的請求,則命令控制單元215向主機接口單元210發送所接收的用于請求主機裝置發送數據的請求。如果命令控制單元215從主機接口單元210接收到由主機裝置發送的數據,則命令控制單元215將所接收的數據發送到寫指令單元250。如果命令控制單元215從讀指令單元260接收到用于請求主機裝置接收數據的請求,則命令控制單元215向主機接口單元210發送所接收的用于請求主機裝置接收數據的請求。如果命令控制單元215從主機接口單元210接收到來自主機裝置的數據接收請求,則該命令控制單元215將從主機裝置接收到的數據接收請求發送到讀指令單元沈0。如果命令控制單元215從讀指令單元沈0接收到要由主機裝置接收的數據,則命令控制單元215將所接收的數據發送到主機接口單元210。寫指令單元250執行對應于寫命令的處理。通過由處理器51執行各種系統程序來實現寫指令單元250的功能。寫指令單元250從命令控制單元215接收寫命令(包括通過命令控制單元215分割的寫命令)。寫指令單元250向命令控制單元215發出用于請求主機裝置發送數據的請求。如果寫指令單元250從命令控制單元215接收到由主機裝置發送的數據,則寫指令單元250向緩沖控制單元207發出對所接收的數據的存儲請求。對于通過命令控制單元215分割的寫命令,寫指令單元250可以如上所述與主機裝置逐一地(individually)交換數據,或者命令控制單元215或主機接口210可收集數據并與主機裝置一次性地交換數據。當寫命令的寫數據尺寸小于管理尺寸(例如,如在圖11中所示的實例,作為分割結果而變為其寫目的地邏輯地址為3且寫數據尺寸為5的寫命令的命令下文中,作為分割結果而變為其寫目的地邏輯地址為3且寫數據尺寸為5的寫命令的命令稱為在圖11示出的實例)時,寫指令單元250執行填充處理(paddingprocess),以便寫數據變為對應于管理尺寸的數據。具體而言,寫指令單元250向轉換表控制單元221詢問剩余的邏輯地址區(圖11示出的實例中的邏輯地址為0且數據尺寸為3的區域)所對應的物理地址區,并獲取剩余的邏輯地址區所對應的物理地址區的信息。寫指令單元250向半導體存儲介質控制單元203發出對剩余的邏輯地址區對應的所獲取的物理地址區的數據的讀請求,并向緩沖控制單元207發出對所讀出的數據的存儲請求。結果,緩沖控制單元207在緩沖存儲單元209中存儲對應于管理尺寸的數據以及從命令控制單元215接收到的數據。寫指令單元250向主機寫日志結構指針控制單元232詢問當前的主機寫日志結構指針,獲取該主機寫日志結構指針,并獲取該主機寫日志結構指針所對應的物理地址區的η息。寫指令單元250向緩沖控制單元207發出對所存儲的與管理尺寸對應的數據的提取請求,將所提取的數據和與所獲取的主機寫日志結構指針對應的物理地址區的信息發送到半導體存儲介質控制單元203,并請求半導體存儲介質控制單元203在與所獲取的主機寫日志結構指針對應的物理地址區中寫入所提取的數據。當所獲取的主機寫日志結構指針指示塊的首頁(headpage)時,寫指令單元205在請求半導體存儲介質控制單元203寫入數據之前請求半導體存儲介質控制單元203執行塊擦除處理。然而,塊擦除處理的執行時機并不受此限制。例如,執行時機可以是新分配用于主機寫入的塊的時刻、作為未用塊而收集塊的時刻,或者在作為未用塊而收集塊之后直到寫指令單元250請求半導體存儲介質控制單元203寫入數據的時間段期間的任意時刻。寫指令單元250請求轉換表控制單元221在與所獲取的主機寫日志結構指針對應的物理地址區的對應逆向查找表中登記包括該寫命令的區域的管理尺寸區域的首部(head)的邏輯地址(在圖11示出的實例中,邏輯地址0)。寫指令單元250向日志存儲單元284通知被更新的轉換表的更新信息。寫指令單元250請求轉換表控制單元221執行轉換表的排他控制開始處理(鎖定處理)。在轉換表的排他控制期間,寫指令單元250更新轉換表以指示新寫入的數據。具體而言,寫指令單元250向轉換表控制單元221詢問在接收寫命令之前與包括該寫命令的區域的管理尺寸區域的首部的邏輯地址(在圖11示出的實例中,邏輯地址0)對應的物理地址(更新前的物理地址)。寫指令單元250請求轉換表控制單元221使與所獲取的更新前的物理地址對應的有效頁標志變為OFF。寫指令單元250請求轉換表控制單元221減小與所獲取的更新前的物理地址對應的塊的有效頁計數器。寫指令單元250請求轉換表控制單元221使與所獲取的主機寫日志結構指針對應的有效頁標志變為ON。寫指令單元250請求轉換表控制單元221增加與所獲取的主機寫日志結構指針對應的塊的有效頁計數器。寫指令單元250請求轉換表控制單元221更新正向查找表的包括該寫命令的區域的管理尺寸區域的首部的邏輯地址(在圖11示出的實例中,邏輯地址0)以指示主機寫日志結構指針所對應的物理地址區的信息。寫指令單元250向日志存儲單元284通知被更新的轉換表的更新信息。寫指令單元250請求轉換表控制單元221執行轉換表的排他控制結束處理(鎖定解除處理)。寫指令單元250請求主機寫日志結構指針控制單元232更新主機寫日志結構指針以指示下一頁。寫指令單元250向主機寫日志結構指針控制單元232詢問更新的主機寫日志結構指針是否超過該塊的末頁(finalpage)0如果寫指令單元250接收到指示出更新的主機寫日志結構指針超過塊的末頁的答復,則寫指令單元250請求塊使用信息控制單元2執行未用塊的分配處理。結果,塊使用信息被更新。寫指令單元250請求主機寫日志結構指針控制單元232更新主機寫日志結構指針以指示新分配的塊的首部的頁。寫指令單元250向日志存儲單元284通知更新的主機寫日志結構指針的更新信息和更新的塊使用信息的更新信息。寫指令單元250請求日志存儲單元284提交(commit)向日志存儲單元284通知的更新信息。讀指令單元260執行對應于讀命令的處理。通過由處理器51執行各種系統程序來實現讀指令單元260的功能。讀指令單元260從命令控制單元215接收讀命令(包括通過命令控制單元215分割的讀命令)。讀指令單元260向轉換表控制單元221詢問所接收的讀命令的邏輯地址區對應的物理地址區,并獲取該對應的物理地址區的信息。讀指令單元沈0向半導體存儲介質控制單元203發出對所獲取的物理地址區的數據的讀請求,并向緩沖控制單元207發出對所讀出的數據的存儲請求。讀指令單元沈0向命令控制單元215發出用于請求主機裝置接收數據的請求。如果讀指令單元260從命令控制單元215接收到來自于主機裝置的數據接收請求,讀指令單元沈0向緩沖控制單元207發出對所讀出的數據的提取請求并將所提取的數據傳送到命令控制單元215。對于通過命令控制單元215分割的讀命令,讀指令單元260可以如上所述與主機裝置逐一地交換數據,或者,命令控制單元215或主機接口單元210可以收集數據并與主機裝置一次性地交換數據。壓縮單元270在需要進行壓縮處理的時刻或在任何時刻執行壓縮處理。通過由處理器51執行各種系統程序而實現壓縮單元270的功能。壓縮單元270向塊使用信息控制單元2詢問已用塊的塊號碼,并獲取該已用塊的塊號碼。壓縮單元270向轉換表控制單元221詢問所獲取的塊當中的適合用于壓縮目標的塊,并獲取適合用于壓縮目標的塊的塊號碼以及對應的塊的有效頁標志和有效頁計數器。適合用于壓縮目標的塊為有效頁計數器的值為最小的塊。在該情況下,當選擇有效頁計數器的值為0的塊被選擇作為壓縮目標時,壓縮單元270請求塊使用信息控制單元2將對應的塊登記為未用塊。結果,對應的塊作為未用塊而被收集。當對應的塊作為未用塊而被收集時,壓縮單元270向日志存儲單元284通知更新的塊使用信息的更新信息。壓縮單元270向半導體存儲介質控制單元203發出對與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁(copyoriginpage))的讀請求。如果壓縮單元270接收到所讀出的數據,壓縮單元270向緩沖控制單元207發出對所接收的數據的存儲請求。壓縮單元270向壓縮日志結構指針控制單元242詢問當前的壓縮日志結構指針,獲取該壓縮日志結構指針,并獲取該壓縮日志結構指針所對應的物理地址區(復制目的地頁)的信息。壓縮單元270向緩沖控制單元207發出對所存儲的數據的提取請求,向半導體存儲介質控制單元203發送所提取的數據和與所獲取的壓縮日志結構指針對應的物理地址區(復制目的地頁)的信息,并請求半導體存儲介質控制單元203在與所獲取的壓縮日志結構指針對應的物理地址區(復制目的地頁)中寫入所提取的數據。當所獲取的壓縮日志結構指針指示該塊的首頁時,壓縮單元270在請求半導體存儲介質控制單元203寫入數據之前請求半導體存儲介質控制單元203執行塊擦除處理。然而,執行塊擦除處理的時機不受此限制。例如,該時機可以為新分配用于壓縮的塊的時刻、作為未用塊而收集塊的時刻,或在作為未用塊而收集塊之后直到壓縮單元207請求半導體存儲介質控制單元203寫入數據的時間段期間的任意時刻。壓縮單元270請求轉換表控制單元221在與所獲取的壓縮日志結構指針對應的物理地址區(復制目的地頁)的對應逆向查找表中登記與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的逆向查找邏輯地址信息。壓縮單元270向日志存儲單元284通知更新的轉換表的更新信息。壓縮單元270請求轉換表控制單元221執行轉換表的排他控制開始處理(鎖定處理)。在轉換表的排他控制期間,壓縮單元270更新轉換表以指示壓縮目的地的數據。然而,如上所述,當在數據的復制處理期間通過寫指令單元250完成對與被復制的數據對應的邏輯地址區相同的邏輯地址區的寫處理時,壓縮單元270不應更新轉換表。具體而言,壓縮單元270使用與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的逆向查找邏輯地址信息而向轉換表控制單元221發出對正向查找表的參照請求,并獲取對應于該逆向查找邏輯地址信息的物理地址。壓縮單元270確定對應于所獲取的逆向查找邏輯地址信息的物理地址與所獲取的壓縮目標塊號碼和有效頁標志信息所對應的物理地址區(復制源頁)是否彼此匹配。當確定所述物理地址與所述物理地址區彼此不匹配時,這意味著,在數據的復制處理期間,寫指令單元250完成了對與被復制的數據所對應的邏輯地址區相同的邏輯地址區的寫處理。出于該原因,壓縮單元270結束在轉換表的排他控制期間的處理并且不更新轉換表。當確定所述物理地址與所述物理地址區彼此匹配時,這意味著,在數據的復制處理期間,寫指令單元250沒有執行對與被復制的數據所對應的邏輯地址區相同的邏輯地址區的寫處理,或者雖然執行但卻沒有完成該寫處理。出于該原因,壓縮單元270更新轉換表。具體而言,壓縮單元270請求轉換表控制單元221使與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的有效頁標志變為OFF。壓縮單元270請求轉換表控制單元221減小與所獲取的壓縮目標塊號碼對應的塊的有效頁計數器。壓縮單元270請求轉換表控制單元221使與所獲取的壓縮日志結構指針對應的物理地址區(復制目的地頁)的有效頁標志變為ON。壓縮單元270請求轉換表控制單元221增加與所獲取的壓縮日志結構指針對應的塊的有效頁計數器。壓縮單元270請求將轉換表控制單元221由與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的逆向查找邏輯地址所指示出的正向查找表的條目更新為指示與該壓縮日志結構指針對應的物理地址區(復制目的地頁)的信息。壓縮單元270向日志存儲單元284通知更新的轉換表的更新信息。如果所獲取的壓縮目標塊的有效頁計數器的值變為0,則壓縮單元270請求塊使用信息控制單元2將對應的塊登記為未用塊。結果,作為未用塊而收集該對應的塊。當該對應的塊作為未用塊而被收集時,壓縮單元270向日志存儲單元284通知更新的塊使用信息的更新信息。壓縮單元270請求轉換表控制單元221執行對轉換表的排他控制結束處理(鎖定解除處理)。壓縮單元270請求壓縮日志結構指針控制單元242更新壓縮日志結構指針以指示下一頁。壓縮單元270向壓縮日志結構指針控制單元242詢問更新的壓縮日志結構指針是否超過該塊的末頁。如果壓縮單元270接收到指示出更新的壓縮日志結構指針超過該塊的末頁的答復,則壓縮單元270請求塊使用信息控制單元2執行對未用塊的分配處理。結果,塊使用信息被更新。壓縮單元270請求壓縮日志結構指針控制單元242更新壓縮日志結構指針以指示新分配的塊的首部的頁。壓縮單元270向日志存儲單元284通知更新的壓縮日志結構指針的更新信息和更新的塊使用信息的更新信息。壓縮單元270請求日志存儲單元284提交向日志存儲單元284通知的更新信息。快照存儲單元282在需要快照存儲處理的時刻或任意時刻執行快照存儲處理。通過由處理器51執行各種系統程序而實現快照存儲單元觀2的功能。快照存儲單元282請求日志存儲單元284存儲指示出快照記錄開始的信息的日志。由此,可以識別快照與日志的記錄時間的次序關系。快照存儲單元282請求轉換表控制單元221提取轉換表并獲取該轉換表。快照存儲單元282請求主機寫日志結構指針控制單元232提取主機寫日志結構指針,并獲取該主機寫日志結構指針。快照存儲單元282請求壓縮日志結構指針控制單元242提取壓縮日志結構指針,并獲取該壓縮日志結構指針。快照存儲單元282請求塊使用信息控制單元2提取塊使用信息,并獲取該塊使用信息。快照存儲單元282請求半導體存儲介質控制單元203存儲所獲取的轉換表、所獲取的主機寫日志結構指針、所獲取的壓縮日志結構指針以及所獲取的塊使用信息,并記錄快照。如果不能在之前識別出其中記錄了快照或日志的半導體存儲介質205的物理地址,則在向數據存儲裝置200供電時,管理信息不能被恢復。出于該原因,使其中記錄了快照或日志的半導體存儲介質205的物理地址指示半導體存儲介質205的預定區域或指示這樣的區域,可通過在半導體存儲介質205的該預定區域中記錄的信息而跟蹤該區域。快照存儲單元282請求日志存儲單元284存儲指示出快照記錄結束的信息的日志。由此,可以識別出快照和日志的記錄時間的次序關系。日志存儲單元284執行日志存儲處理。通過由處理器151執行各種系統程序來實現日志存儲單元觀4的功能。日志存儲單元284從寫指令單元250或壓縮單元270接收各種信息的更新信息的通知,并暫時存儲所接收的更新信息。日志存儲單元284從寫指令單元250或壓縮單元270接收提交通知(commitmentnotification),請求半導體存儲介質控制單元203存儲該暫時存儲的更新信息,并記錄該暫時存儲的更新信息作為日志。日志存儲單元284從快照存儲單元282接收指示出快照記錄開始的信息的日志的存儲通知,請求半導體存儲介質控制單元203存儲該接收的指示出快照記錄開始的信息的日志,并記錄該信息作為日志。日志存儲單元觀4從快照存儲單元282接收指示出快照記錄結束的信息的日志的存儲通知,請求半導體存儲介質控制單元203存儲該接收的指示出快照記錄結束的信息的日志,并記錄該信息作為日志。在圖12中示出了日志存儲單元284通過半導體存儲介質控制單元203存儲的日志的實例。如圖12所示,日志存儲單元284按日志提交處理請求的接收次序以時間序列排列日志。在該情況下,如果檢測出快照的記錄結束,因為在快照記錄開始之前的日志(圖12中示出的實例中的日志1和2)和在先前記錄的快照在管理信息恢復處理中變得不必要,因此日志存儲單元284將在快照記錄開始之前的日志和先前記錄的快照釋放(free)為新的數據存儲區。當需要恢復管理信息時,管理信息恢復單元290執行管理信息恢復處理。通過由處理器151執行各種系統程序來實現管理信息恢復單元290的功能。管理信息恢復單元四0請求快照恢復單元292恢復最新的快照。管理信息恢復單元290請求日志恢復單元294從在存儲最新的快照之后存儲的日志恢復管理信息。快照恢復單元292恢復最新的快照。通過由處理器151執行各種系統程序來實現快照恢復單元四2的功能。如果快照恢復單元292從管理信息恢復單元290接收到對最新的快照的恢復請求,則快照恢復單元四2向半導體存儲介質控制單元203發出對最新的快照的恢復請求,并接收最新的快照。快照恢復單元292從所接收的快照提取轉換表,并請求轉換表控制單元221存儲所提取的轉換表。快照恢復單元292從所接收的快照提取主機寫日志結構指針,并請求主機寫日志結構指針控制單元232存儲所提取的主機寫日志結構指針。快照恢復單元292從所接收的快照提取壓縮日志結構指針,并請求壓縮日志結構指針控制單元242存儲所提取的壓縮日志結構指針。快照恢復單元292從所接收的快照提取塊使用信息,并請求塊使用信息控制單元2存儲所提取的塊使用信息。日志恢復單元294從在存儲最新的快照之后存儲的日志恢復管理信息。通過由處理器151執行各種系統程序來實現日志恢復單元四4的功能。如果日志恢復單元294從管理信息恢復單元290接收到從在存儲最新的快照之后存儲的日志恢復管理信息的請求,日志恢復單元四4向半導體存儲介質控制單元203發出對從在存儲該最新的快照之后存儲的日志的提取請求,并接收在存儲該最新的快照之后存儲的日志。日志恢復單元294按記錄次序從所接收的日志提取日志,并請求轉換表控制單元221、主機寫日志結構指針控制單元232、壓縮日志結構指針控制單元242或塊使用信息控制單元2反映在日志中記錄的各種信息的更新信息。接下來,將描述根據第二實施例的數據存儲裝置的操作。首先,將參考圖13描述根據來自主機裝置的寫命令由數據存儲裝置200執行的寫處理的序列。圖13為示出了由數據存儲裝置200執行的寫處理的序列的流程的實例的流程圖。數據存儲裝置200預先確保了用于來自主機裝置的寫命令的未用塊,以為來自主機裝置的寫命令做準備。在步驟Sl中,主機接口單元210從主機裝置接收寫命令,并向命令控制單元215發出命令執行通知以根據所接收的命令的種類而執行處理。在步驟S2中,如果命令控制單元215從主機接口單元210接收到寫命令,則命令控制單元215調查對應的命令的區域是否超過管理尺寸區域(頁)的邊界。當對應的命令的區域超過管理尺寸區域(頁)的邊界時(步驟S2中的是),處理進行到步驟S3。而當對應的命令的區域沒有超過管理尺寸區域(頁)的邊界時(步驟S2中的否),處理進行到步驟S4。在步驟S3中,命令控制單元215通過管理尺寸區域的邊界分割對應的命令。例如,如圖11所示,命令控制單元215將其寫目的地邏輯地址為3且寫數據尺寸為16的寫命令分割成寫目的地邏輯地址為3且寫數據尺寸為5的寫命令、寫目的地邏輯地址為8且寫數據尺寸為8的寫命令、以及寫目的地邏輯地址為16且寫數據尺寸為3的寫命令。在步驟S4中,命令控制單元215向寫指令單元250通知經分割的命令。當從主機接口單元210接收到的寫命令的區域沒有超過管理尺寸區域的邊界時,命令控制單元215向寫指令單元250通知所接收的命令。因此,當寫命令被分割時,寫指令單元250反復執行以下處理。在步驟S5中,寫指令單元250向命令控制單元215發出用于請求主機裝置發送數據的請求。如果命令控制單元215從寫指令單元250接收到用于請求主機發送數據的請求,則命令控制單元215向主機接口單元210發送所接收的用于請求主機裝置發送數據的請求。如果主機接口單元210從命令控制單元215接收到該用于請求主機裝置發送數據的請求,則主機接口單元210向主機裝置發出所接收的用于請求主機裝置發送數據的請求。如果主機接口單元210從主機裝置接收到將要由數據存儲裝置200接收的數據,則主機接口單元210將將要由數據存儲裝置200接收的數據發送到命令控制單元215。如果命令控制單元215從主機接口單元210接收到由主機裝置發送的數據,則命令控制單元215將所接收的數據發送到寫指令單元250。如果寫指令單元250從命令控制單元215接收到由主機裝置發送的數據,則寫指令單元250向緩沖控制單元207發出對所接收的數據的存儲請求。對于通過命令控制單元215分割的寫命令,寫指令單元250可以如上所述地與主機裝置逐一地交換數據,或者命令控制單元215或主機接口210可以收集數據并與主機裝置一次性地交換數據。緩沖控制單元207在緩沖存儲單元209中存儲被指派的數據。在步驟S6中,寫指令單元250調查寫命令的寫數據尺寸是否小于管理尺寸。當寫數據尺寸小于管理尺寸(步驟S6中的是)時,處理進行到步驟S7。當寫數據尺寸不小于管理尺寸(步驟S6中的否)時,處理進行到步驟S8。如同圖11示出的實例,寫數據尺寸小于管理尺寸的情況是寫命令的寫目的地邏輯地址為3且寫數據尺寸為5的情況。在步驟S7中,寫指令單元250向轉換表控制單元221詢問剩余的邏輯地址區(圖11示出的實例中的邏輯地址為0且數據尺寸為3的區域)所對應的物理地址區。轉換表控制單元221參照由轉換表存儲單元223存儲的轉換表,并提供對應的物理地址區的信息。寫指令單元250獲取與所獲取的剩余邏輯地址區對應的物理地址區的信息,并向半導體存儲介質控制單元203發出對與剩余的邏輯地址區對應的物理地址區的數據的讀請求。半導體存儲介質控制單元203讀出半導體存儲介質205的被指派的物理地址區的數據,并提供該數據。當從寫指令單元250連續地發出寫請求或讀請求且所請求的處理被連續地執行、并且從讀指令單元260或壓縮單元270發出讀請求或寫請求或者已經發出了讀請求或寫請求時,半導體存儲介質控制單元203不執行下一連續請求的處理,而是根據需要執行由讀指令單元260或壓縮單元270請求的處理。也就是,半導體存儲介質控制單元203根據需要切換處理。如果切換之后的處理完成,則半導體存儲介質控制單元203根據需要執行下一連續請求的處理。也就是,半導體存儲介質控制單元203根據需要重新開始被切換的處理。寫指令單元250向緩沖控制單元207發出對讀出的數據的存儲請求。結果,緩沖控制單元207在緩沖存儲單元209中存儲從命令控制單元215接收到的數據以及對應于管理尺寸的數據。緩沖控制單元207在緩沖存儲單元209中存儲被指派的數據。在步驟S8中,寫指令單元250向主機寫日志結構指針控制單元232詢問當前的主機寫日志結構指針。主機寫日志結構指針控制單元232提供由主機寫日志結構指針存儲單元230存儲的主機寫日志結構指針。寫指令單元250獲取該主機寫日志結構指針,并獲取與該主機寫日志結構指針對應的物理地址區的信息。寫指令單元250向緩沖控制單元207發出對與管理尺寸對應的所存儲的數據的提取請求。緩沖控制單元207提取由緩沖存儲單元209存儲的被指派的數據,并提供該被指派的數據。寫指令單元250將所提取的數據和與所獲取的主機寫日志結構指針對應的物理地址區的信息發送到半導體存儲介質控制單元203,并請求半導體存儲介質控制單元203在與所獲取的主機寫日志結構指針對應的物理地址區中寫入所提取的數據。當所獲取的主機寫日志結構指針指示塊的首頁時,寫指令單元250在請求半導體存儲介質控制單元203寫入數據之前請求半導體存儲介質控制單元203執行塊擦除處理。然而,塊擦除處理的執行時機并不受此限制。例如,執行時機可以是新分配用于主機寫入的塊的時刻、作為未用塊而收集塊的時刻、或者在作為未用塊而收集塊之后直到在寫指令單元250請求半導體存儲介質控制單元203寫入數據的時間的時間段期間的任意時刻。半導體存儲介質控制單元203在半導體存儲介質的被指派的物理地址區中寫入被指派的數據。當從寫指令單元250連續地發出寫請求或讀請求且所請求的處理被連續地執行、并且從讀指令單元260或壓縮單元270發出讀請求或寫請求或者已經發出了讀請求或寫請求時,半導體存儲介質控制單元203不執行下一連續請求的處理,而是根據需要執行從讀指令單元260或壓縮單元270請求的處理。也就是,半導體存儲介質控制單元203根據需要切換處理。如果切換之后的處理完成,則半導體存儲介質控制單元203根據需要執行下一連續請求的處理。也就是,半導體存儲介質控制單元203根據需要重新開始被切換的處理。在步驟S9中,寫指令單元250請求轉換表控制單元221在與所獲取的主機寫日志結構指針對應的逆向查找表中登記包括該寫命令的區域的管理尺寸區域的首部的邏輯地址(在圖11示出的實例中,邏輯地址0)。轉換表控制單元221在逆向查找表中登記包括該寫命令的區域的管理尺寸區域的首部的邏輯地址(在圖11示出的實例中,邏輯地址0),該逆向查找表是由轉換表存儲單元223存儲的轉換表,并且所獲取的主機寫日志結構指針對應于該表。寫指令單元250向日志存儲單元284通知更新的轉換表的更新信息。日志存儲單元284接收更新的轉換表的更新信息。在步驟SlO中,寫指令單元250請求轉換表控制單元221執行轉換表的排他控制開始處理(鎖定處理)。轉換表控制單元221執行轉換表的排他控制開始處理(鎖定處理)。在步驟Sll中,寫指令單元250向轉換表控制單元221詢問在接收寫命令之前與包括該寫命令的區域的管理尺寸區域的首部的邏輯地址(在圖11示出的實例中,邏輯地址0)對應的物理地址(更新前的物理地址)。轉換表控制單元221參照由轉換表存儲單元223存儲的轉換表,獲取在接收寫命令之前與包括該寫命令的區域的管理尺寸區域的首部的邏輯地址(在圖11示出的實例中,邏輯地址0)對應的物理地址(更新前物理地址),并提供該物理地址。寫指令單元250獲取在接收寫命令之前與包括該寫命令的區域的管理尺寸區域的首部的邏輯地址(在圖11示出的實例中,邏輯地址0)對應的物理地址(更新前的物理地址)。在步驟S12中,寫指令單元250請求轉換表控制單元221使與所獲取的更新前的物理地址對應的有效頁標志變為OFF。在步驟S13中,寫指令單元250請求轉換表控制單元221減小與所獲取的更新前的物理地址對應的塊的有效頁計數器。在步驟S14中,寫指令單元250請求轉換表控制單元221使與所獲取的主機寫日志結構指針對應的有效頁標志變為ON。在步驟S15中,寫指令單元250請求轉換表控制單元221增加與所獲取的主機寫日志結構指針對應的塊的有效頁計數器。在步驟S16中,寫指令單元250請求轉換表控制單元221更新正向查找表的包括該寫命令的區域的管理尺寸區域的首部的邏輯地址(在圖11示出的實例中,邏輯地址0)以指示與主機寫日志結構指針對應的物理地址的信息。轉換表控制單元221根據指令而更新由轉換表存儲單元223存儲的轉換表。寫指令單元250向日志存儲單元284通知更新的轉換表的更新信息。在步驟S17中,寫指令單元250請求轉換表控制單元221執行轉換表的排他控制結束處理(鎖定解除處理)。轉換表控制單元221執行轉換表的排他控制結束處理(鎖定解除處理)。在步驟S18中,寫指令單元250請求主機寫日志結構指針控制單元232更新主機寫日志結構指針以指示下一頁。主機寫日志結構指針控制單元232更新主機寫日志結構指針以指示下一頁。寫指令單元250向日志存儲單元284通知更新的主機寫日志結構指針的更新信息。在步驟S19中,寫指令單元250向主機寫日志結構指針控制單元232詢問更新的主機寫日志結構指針是否超過該塊的末頁。主機寫日志結構指針控制單元232調查更新的主機寫日志結構指針是否超過該塊的末頁,并提供調查結果。如果寫指令單元250接收到指示出更新的主機寫日志結構指針超過塊的末頁的答復,則處理進行到步驟S20。否則,處理進行到步驟S21。在步驟S20中,寫指令單元250請求塊使用信息控制單元2執行未用塊的分配處理。結果,塊使用信息被更新。塊使用信息控制單元2從由塊使用信息存儲單元2存儲的塊使用信息選擇處于未被使用狀態的塊,分配該未用塊,并更新塊使用信息。寫指令單元250請求主機寫日志結構指針控制單元232更新主機寫日志結構指針以指示新分配的塊的首部的頁。主機寫日志結構指針控制單元232更新由主機寫日志結構指針存儲單元230存儲的主機寫日志結構指針以指示新分配的塊的首部的頁。寫指令單元250向日志存儲單元284通知更新的主機寫日志結構指針的更新信息和更新的塊使用信息的更新信息。在步驟S21中,寫指令單元250請求日志存儲單元284提交向日志存儲單元觀4通知的更新信息。日志存儲單元284從寫指令單元250接收提交通知,并請求半導體存儲介質控制單元203存儲該暫時存儲的更新信息。半導體存儲介質控制單元203記錄該暫時存儲的更新信息作為日志。如果不能在之前識別出其中記錄了日志的半導體存儲介質205的物理地址,則在向數據存儲裝置200供電時,管理信息不能被恢復。出于該原因,使其中記錄了日志的半導體存儲介質205的物理地址指示半導體存儲介質205的預定區域或這樣的區域,可通過在半導體存儲介質205的該預定區域中記錄的信息而跟蹤該區域。在步驟S22中,根據需要,從步驟S4開始重復處理。接下來,將參考圖14描述根據來自主機裝置的讀命令而由數據存儲裝置200執行的讀處理的序列。圖14為示出了由數據存儲裝置200執行的讀處理的序列的流程的實例的流程圖。在該情況下,假設在之前已經通過寫命令寫入了被請求讀取的數據。在步驟S31中,主機接口單元210從主機裝置接收讀命令并向命令控制單元215發出命令執行通知以根據所接收的命令的種類而執行處理。在步驟S32中,如果命令控制單元215從主機接口單元210接收到讀命令,則命令控制單元215調查對應的命令的區域是否超過管理尺寸區域(頁)的邊界。當對應的命令的區域超過管理尺寸區域(頁)的邊界時(步驟S32中的是),處理進行到步驟S33。當對應的命令的區域沒有超過管理尺寸區域(頁)的邊界時(步驟S32中的否),處理進行到步驟S34。在步驟S33中,命令控制單元215通過管理尺寸區域的邊界分割對應的命令。該命令分割處理與寫處理時的情況相同。在步驟S34中,命令控制單元215向讀指令單元沈0通知經分割的命令。當從主機接口單元210接收到的寫命令的區域沒有超過管理尺寸區域的邊界時,命令控制單元215向讀指令單元260通知所接收的命令。因此,當讀命令被分割時,寫指令單元260反復執行以下處理。在步驟S35中,讀指令單元沈0向轉換表控制單元221詢問與所接收的讀命令的邏輯地址區對應的物理地址區,并獲取對應的物理地址區的信息。轉換表控制單元221參照由轉換表存儲單元223存儲的轉換表,并提供與所接收的讀命令的邏輯地址區對應的物理地址區信息。讀指令單元260獲取與所接收的讀命令的邏輯地址區對應的物理地址區信肩、ο在步驟S36中,讀指令單元沈0向半導體存儲介質控制單元203發出對所獲取的物理地址區的數據的讀請求。半導體存儲介質控制單元203讀出半導體存儲介質的被指派的物理地址區的數據,并提供該數據。當從讀指令單元260連續地發出讀請求且所請求的處理被連續地執行、并且從寫指令單元250或壓縮單元270發出讀請求或寫請求或者已經發出了讀請求或寫請求時,半導體存儲介質控制單元203不執行下一連續請求的處理,而是根據需要執行由寫指令單元250或壓縮單元270請求的處理。也就是,半導體存儲介質控制單元203根據需要切換處理。如果切換之后的處理完成,則半導體存儲介質控制單元203根據需要執行下一連續請求的處理。也就是,半導體存儲介質控制單元203根據需要重新開始被切換的處理。讀指令單元沈0向緩沖控制單元207發出對讀出的數據的存儲請求。緩沖控制單元207在緩沖存儲單元209中存儲被指派的數據。在步驟S37中,讀指令單元沈0向命令控制單元215發出用于請求主機裝置接收數據的請求。如果命令控制單元215從讀指令單元260接收到用于請求主機裝置接收數據的請求,則命令控制單元215向主機接口單元210發出所接收的該用于請求主機裝置接收數據的請求。如果主機接口單元210從命令控制單元215接收到該用于請求主機裝置接收數據的請求,則主機接口單元210發出所接收的該用于請求主機裝置接收數據的請求。如果主機接口單元210從主機裝置接收到數據接收請求,則主機接口單元210將向命令控制單元215發出所接收的來自主機裝置的數據接收請求。如果命令控制單元215通過主機接口單元210而接收到該來自主機裝置的數據接收請求,則命令控制單元215向讀指令單元260發送所接收的來自主機裝置的數據接收請求。如果讀指令單元260從命令控制單元215接收到該來自主機裝置的數據接收請求,則讀指令單元260向緩沖控制單元207發出對讀出的數據的提取請求。緩沖控制單元207提取由緩沖存儲單元209存儲的被指派的數據,并該提供所提取的數據。讀指令單元260將所提取的數據傳遞到命令控制單元215。如果命令控制單元215從讀指令單元260接收到將要由主機裝置接收的數據,則命令控制單元215將所接收的數據發送到主機接口單元210。主機接口單元210向主機裝置發送從命令控制單元215接收的且將要由主機裝置接收的該數據。對于通過命令控制單元215分割的讀命令,讀指令單元260可以如上所述與主機裝置逐一地交換數據,或者命令控制單元215或主機接口210可以收集數據并與主機裝置一次性地交換數據。在步驟S38中,根據需要,從步驟S34開始重復處理。接下來,將參考圖15描述由數據存儲裝置200執行的壓縮處理的序列。圖15為示出了由數據存儲裝置200執行的壓縮處理的序列的流程的實例的流程圖。數據存儲裝置200在需要進行壓縮處理的時刻或在任何時刻執行壓縮處理。可以通過確定在塊使用信息中記錄的未用塊的數目是否小于預定閾值來確定需要壓縮處理的時刻。在步驟S41中,壓縮單元270向塊使用信息控制單元2詢問已用塊的塊號碼。塊使用信息控制單元2參照由塊使用信息存儲單元2存儲的塊使用信息。壓縮單元270獲取已用塊的塊號碼。壓縮單元270向轉換表控制單元221詢問在所獲取的塊當中的適合用于壓縮目標的塊以及對應的塊的有效頁標志和有效頁計數器。適合用于壓縮目標的塊為其中有效頁計數器的值為最小的塊。轉換表控制單元221參照由轉換表存儲單元223存儲的轉換表,提取所獲取的塊當中的適合用于壓縮目標的塊,并提供適合用于壓縮目標的塊的塊號碼、對應的塊的有效頁標志和有效頁計數器。壓縮單元270獲取適合用于壓縮目標的塊、對應的塊的有效頁標志和有效頁計數器。在步驟S42中,壓縮單元270調查被選擇作為壓縮目標的塊的有效頁計數器的值是否為0。當該值為0時,處理進行到步驟S43。當該值不為0時,處理進行到步驟S44。在步驟S43中,壓縮單元270請求塊使用信息控制單元2將對應的塊登記為未用塊。結果,對應的塊作為未用塊而被收集。塊使用信息控制單元2在由塊使用信息存儲單元2存儲的塊使用信息中登記該對應的塊作為未用塊。結果,對應的塊作為未用塊而被收集。壓縮單元270向日志存儲單元284通知更新的塊使用信息的更新信息。然后,處理返回到步驟S41。在步驟S44中,壓縮單元270暫時存儲所獲取的壓縮目標塊號碼和有效頁標志信肩、ο在步驟S45中,對于所獲取的有效頁標志信息為ON的頁,壓縮單元270反復執行以下處理。在步驟S46中,壓縮單元270向半導體存儲介質控制單元203發出對與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的讀請求。半導體存儲介質控制單元203讀出半導體存儲介質的該被指派的物理地址區的數據,并提供該數據。當從壓縮單元270連續地發出寫請求或讀請求且所請求的處理被連續地執行、并且從讀指令單元260或寫指令單元250發出讀請求或寫請求或者已經發出了讀請求或寫請求時,半導體存儲介質控制單元203不執行下一連續請求的處理,而是根據需要執行由讀指令單元260或寫指令單元250請求的處理。也就是,半導體存儲介質控制單元203根據需要切換處理。如果切換之后的處理完成,則半導體存儲介質控制單元203根據需要執行下一連續請求的處理。也就是,半導體存儲介質控制單元203根據需要而重新開始被切換的處理。如果壓縮單元270接收到讀出的數據,則壓縮單元270向緩沖控制單元207發出對所接收的數據的存儲請求。緩沖控制單元207在緩沖存儲單元209中存儲被指派的數據。在步驟S47中,壓縮單元270向轉換表控制單元221詢問與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的逆向查找邏輯地址信息。轉換表控制單元221參照由轉換表存儲單元223存儲的轉換表,并提供與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的逆向查找邏輯地址信息。壓縮單元270獲取與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的逆向查找邏輯地址信息。在步驟S48中,壓縮單元270向壓縮日志結構指針控制單元242詢問當前的壓縮日志結構指針。壓縮日志結構指針控制單元242提供由壓縮日志結構指針存儲單元240存儲的壓縮日志結構指針。壓縮單元270獲取與該壓縮日志結構指針對應的物理地址區(復制目的地頁)的信息。壓縮單元270向緩沖控制單元207發出對所存儲的數據的提取請求。緩沖控制單元207提取由緩沖存儲單元209存儲的該被指派的數據,并提供所提取的數據。壓縮單元270獲取該存儲數據。壓縮單元270將所提取的數據和與所獲取的壓縮日志結構指針對應的物理地址區(復制目的地頁)的信息發送到半導體存儲介質控制單元203,并請求半導體存儲介質控制單元203在與所獲取的壓縮日志結構指針對應的物理地址區(復制目的地頁)中寫入所提取的數據。當所獲取的壓縮日志結構指針指示塊的首頁時,壓縮單元270在請求半導體存儲介質控制單元203寫入數據之前請求半導體存儲介質控制單元203執行塊擦除處理。然而,執行塊擦除處理的時機不受此限制。例如,該時機可以為新分配用于壓縮的塊的時刻、作為未用塊而收集塊的時刻,或在作為未用塊而收集塊之后直到壓縮單元270請求半導體存儲介質控制單元203寫入數據的時間段期間的任意時刻。半導體存儲介質控制單元203在半導體存儲介質205的被指派的物理地址區中寫入被指派的數據。當從壓縮單元270連續地發出寫請求或讀請求且所請求的處理被連續地執行、并且從讀指令單元260或寫指令單元250發出讀請求或寫請求或者已經發出了讀請求或寫請求時,半導體存儲介質控制單元203不執行下一連續請求的處理,而是根據需要執行由讀指令單元260或寫指令單元250請求的處理。也就是,半導體存儲介質控制單元203根據需要切換處理。如果切換之后的處理完成,半導體存儲介質控制單元203根據需要執行下一連續請求的處理。也就是,半導體存儲介質控制單元203根據需要重新開始被切換的處理。在步驟S49中,壓縮單元270請求轉換表控制單元221在與所獲取的壓縮日志結構指針對應的物理地址區(復制目的地頁)的對應逆向查找表中登記與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的對應逆向查找邏輯地址信息。轉換表控制單元221在由轉換表存儲單元223存儲的轉換表中的與所獲取的壓縮日志結構指針對應的物理地址區(復制目的地頁)的對應逆向查找表中登記與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的對應逆向查找邏輯地址信息。壓縮單元270向日志存儲單元284通知更新的轉換表的更新信息。在步驟S50中,壓縮單元270請求轉換表控制單元221執行轉換表的排他控制開始處理(鎖定處理)。轉換表控制單元221執行轉換表的排他控制開始處理(鎖定處理)。在步驟S51中,壓縮單元270使用與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的對應逆向查找邏輯地址信息而向轉換表控制單元221發出對正向查找表的參照請求。轉換表控制單元221參照由轉換表存儲單元223存儲的轉換表,使用與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的對應逆向查找邏輯地址信息而參照該正向查找表,并提供與該逆向查找邏輯地址信息對應的物理地址區的信息。壓縮單元270獲取與該逆向查找邏輯地址信息對應的物理地址區。在步驟S52中,壓縮單元270確定與所獲取的逆向查找邏輯地址信息對應的物理地址區和與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)是否彼此匹配。如上所述,當在數據的復制處理期間由寫指令單元250完成了對與被復制的數據所對應的邏輯地址區相同的邏輯地址區的寫處理時,轉換表不被更新。當確定所述物理地址區不匹配(步驟S52中的否)時,這意味著,在數據的復制處理期間,由寫指令單元250完成了對與被復制的數據所對應的邏輯地址區相同的邏輯地址區的寫處理。出于該原因,處理進行到步驟S60,并且不應更新轉換表。當確定所述物理地址區彼此匹配(步驟S52中的是)時,這意味著,在數據的復制處理期間,寫指令單元250沒有執行對與被復制的數據所對應的邏輯地址區相同的邏輯地址區的寫處理,或者雖執行但卻沒有完成該寫處理。出于該原因,處理進行到步驟S53并更新轉換表。在步驟S53中,壓縮單元270請求轉換表控制單元221使與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的有效頁標志變為OFF。在步驟S54中,壓縮單元270請求轉換表控制單元221減小與所獲取的壓縮目標塊號碼對應的塊的有效頁計數器。在步驟S56中,如果所獲取的壓縮目標塊的有效頁計數器的值變為0(步驟S55中的是),則壓縮單元270請求塊使用信息控制單元2將對應的塊登記為未用塊。結果,該對應的塊被收集作為未用塊。如果所獲取的壓縮目標塊的有效頁計數器的值變為0(步驟S55中的是),塊使用信息控制單元2在由塊使用信息存儲單元2存儲的塊使用信息中登記該對應的塊作為未用塊,并收集該對應的塊作為未用塊。當對應的塊被作為未用塊而被收集時,壓縮單元270向日志存儲單元284通知更新的塊使用信息的更新信息。在步驟S57中,壓縮單元270請求轉換表控制單元221使與所獲取的壓縮日志結構指針對應的物理地址區(復制目的地頁)的對應有效頁標志變為ON。在步驟S58中,壓縮單元270請求轉換表控制單元221增加與所獲取的壓縮日志結構指針對應的塊的有效頁計數器。在步驟S59中,壓縮單元270請求轉換表控制單元221將由與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的對應逆向查找邏輯地址所指示出的正向查找表的條目更新為指示與壓縮日志結構指針對應的物理地址區(復制目的地頁)的信息。轉換表控制單元221根據指令而更新由轉換表存儲單元223存儲的轉換表。壓縮單元270向日志存儲單元284通知更新的轉換表的更新信息。在步驟S60中,壓縮單元270請求轉換表控制單元221執行轉換表的排他控制結束處理(鎖定解除處理)。轉換表控制單元221執行轉換表的排他控制結束處理(鎖定解除處理)。在步驟S61中,壓縮單元270請求壓縮日志結構指針控制單元242更新壓縮日志結構指針以指示下一頁。壓縮日志結構指針控制單元242更新壓縮日志結構指針以指示下一頁。壓縮單元270向日志存儲單元284通知更新的壓縮日志結構指針的更新信息。在步驟S62中,壓縮單元270向壓縮日志結構指針控制單元242詢問更新的壓縮日志結構指針是否超過塊的末頁。壓縮日志結構指針控制單元242調查更新的壓縮日志結構指針是否超過塊的末頁,并提供調查結果。如果壓縮單元270接收到指示出更新的壓縮日志結構指針超過塊的末頁的答復,則處理進行到步驟S63。否則,處理進行到步驟S64。在步驟S63中,壓縮單元270請求塊使用信息控制單元2執行對未用塊的分配處理。結果,塊使用信息被更新。塊使用信息控制單元2從由塊使用信息存儲單元228存儲的塊使用信息選擇未用塊,分配該未用塊,并更新塊使用信息。壓縮單元270請求壓縮日志結構指針控制單元242更新壓縮日志結構指針以指示新分配的塊的首部的頁。壓縮日志結構指針控制單元242更新由壓縮日志結構指針存儲單元240存儲的壓縮日志結構指針以指示新分配的塊的首部的頁。壓縮單元270向日志存儲單元284通知更新的壓縮日志結構指針的更新信息和更新的塊使用信息的更新信息。在步驟S64中,壓縮單元270請求日志存儲單元284提交向日志存儲單元284通知的更新信息。日志存儲單元284從壓縮單元270接收提交通知,并請求半導體存儲介質控制單元203存儲該暫時存儲的更新信息。半導體存儲介質控制單元203記錄該暫時存儲的更新信息作為日志。如果不能在之前識別出其中記錄了日志的半導體存儲介質205的物理地址,則在向數據存儲裝置200供電時,管理信息不能被恢復。出于該原因,使其中記錄了日志的半導體存儲介質205的物理地址指示半導體存儲介質205的預定區域或指示這樣的區域,可通過在半導體存儲介質205的該預定區域中記錄的信息而跟蹤該區域。在步驟S65中,根據需要,從步驟S45開始重復處理。接下來,將參考圖16描述由數據存儲裝置200執行的快照記錄處理的序列。圖16為示出了由數據存儲裝置200執行的快照記錄處理的序列的流程的實例的流程圖。數據存儲裝置200在預定時刻或任意時刻執行該快照存儲處理。在步驟S71中,快照存儲單元282請求日志存儲單元284存儲指示出快照記錄開始的信息的日志。由此,可以識別出快照與日志的記錄時間的次序關系。日志存儲單元觀4請求半導體存儲介質控制單元203存儲指示出快照記錄開始的信息。如果不能預先識別出其中記錄了日志的半導體存儲介質205的物理地址,則在向數據存儲裝置200供電時,管理信息不能被恢復。出于該原因,使其中記錄了日志的半導體存儲介質205的物理地址指示半導體存儲介質205的預定區域或指示這樣的區域,可通過在半導體存儲介質205的該預定區域中記錄的信息而跟蹤該區域。在步驟S72中,快照存儲單元282請求轉換表控制單元221提取轉換表并獲取該轉換表。快照存儲單元282請求主機寫日志結構指針控制單元232提取主機寫日志結構指針,并獲取主機寫日志結構指針。快照存儲單元282請求壓縮日志結構指針控制單元242提取壓縮日志結構指針,并獲取壓縮日志結構指針。快照存儲單元282請求塊使用信息控制單元2提取塊使用信息,并獲取塊使用信息。轉換表控制單元221提取由轉換表存儲單元223存儲的轉換表,并提供該轉換表。主機寫日志結構指針控制單元232提取由主機寫日志結構指針存儲單元230存儲的主機寫日志結構指針,并提供該主機寫日志結構指針。壓縮日志結構指針控制單元242提取由壓縮日志結構指針存儲單元240存儲的壓縮日志結構指針,并提供該壓縮日志結構指針。塊使用信息控制單元2提取由塊使用信息存儲單元228存儲的塊使用信息,并提供該塊使用信息。在步驟S73中,快照存儲單元282請求半導體存儲介質控制單元203存儲所獲取的轉換表、所獲取的主機寫日志結構指針、所獲取的壓縮日志結構指針以及所獲取的塊使用信息,并記錄快照。半導體存儲介質控制單元203記錄所獲取的轉換表、所獲取的主機寫日志結構指針、所獲取的壓縮日志結構指針以及所獲取的塊使用信息作為快照。如果不能預先識別出其中記錄了快照或日志的半導體存儲介質205的物理地址,則在向數據存儲裝置200供電時,管理信息不能被恢復。出于該原因,使其中記錄了快照或日志的半導體存儲介質205的物理地址指示半導體存儲介質205的預定區域或指示這樣的區域,可通過在半導體存儲介質205的該預定區域中記錄的信息而跟蹤該區域。在步驟S74中,快照存儲單元282請求日志存儲單元284存儲指示出快照記錄結束的信息的日志。由此,可以識別出快照和日志的記錄時間的次序關系。日志存儲單元觀4請求半導體存儲介質控制單元203存儲指示出快照記錄結束的信息。半導體存儲介質控制單元203記錄該指示出快照記錄結束的信息作為日志。如果不能預先識別出其中記錄了日志的半導體存儲介質205的物理地址,則在向數據存儲裝置200供電時,管理信息不能被恢復。出于該原因,其中記錄了日志的半導體存儲介質205的物理地址被記錄在半導體存儲介質205的預定區域中或被記錄在可通過在半導體存儲介質205的該預定區域中記錄的信息而跟蹤的區域中。由日志存儲單元284按日志提交處理請求的接收次序以時間序列排列日志存儲單元284通過半導體存儲介質控制單元203而存儲的日志,如圖12所示。在該情況下,因為在快照記錄開始之前的日志(圖12中示出的實例中的日志1和2)和先前記錄的快照在管理信息恢復處理中變得不必要,日志存儲單元284將在快照記錄開始之前的日志和先前記錄的快照釋放為新的數據存儲區。接下來,將參考圖17描述由數據存儲裝置200執行的管理信息恢復處理的序列。圖17為示出了由數據存儲裝置200執行的管理信息恢復處理的序列的流程的實例的流程圖。數據存儲裝置200在數據存儲裝置200被供電時恢復管理信息。在需要恢復管理信息的時刻,甚至在除了對數據存儲裝置200供電時之外的情況下,數據存儲裝置200恢復管理信息。例如,當檢測到在DRAMM中存儲的管理信息的數據被破壞時,數據存儲裝置200可執行管理信息恢復處理。在步驟S81中,管理信息恢復單元290請求快照恢復單元292恢復最新的快照。如果快照恢復單元292從管理信息恢復單元290接收到對最新的快照的恢復請求,快照恢復單元四2向半導體存儲介質控制單元203發出對最新的快照的提取請求。半導體存儲介質控制單元203從半導體存儲介質205讀出所請求的數據,并提供該讀出的數據。快照恢復單元292接收該最新的快照。快照恢復單元292從所接收的快照提取轉換表,并請求轉換表控制單元221存儲所提取的轉換表。轉換表控制單元221在轉換表存儲單元223中存儲所提取的轉換表。快照恢復單元292從所接收的快照提取主機寫日志結構指針,并請求主機寫日志結構指針控制單元232存儲所提取的主機寫日志結構指針。主機寫日志結構指針控制單元232在主機寫日志結構指針存儲單元230中存儲所提取的主機寫日志結構指針。快照恢復單元292從所接收的快照提取壓縮日志結構指針,并請求壓縮日志結構指針控制單元242存儲所提取的壓縮日志結構指針。壓縮日志結構指針控制單元242在壓縮日志結構指針存儲單元240中存儲所提取的壓縮日志結構指針。快照恢復單元292從所接收的快照提取塊使用信息,并請求塊使用信息控制單元2存儲所提取的塊使用信息。塊使用信息控制單元2在塊使用信息存儲單元228中存儲所提取的塊使用信息。在步驟S82到S84中,管理信息恢復單元290請求日志恢復單元294從在存儲最新的快照之后存儲的日志恢復管理信息。如果日志恢復單元294從管理信息恢復單元290接收到從在存儲最新的快照之后存儲的日志恢復管理信息的請求,日志恢復單元四4向半導體存儲介質控制單元203發出對在存儲最新的快照之后存儲的日志的提取請求。半導體存儲介質控制單元203從半導體存儲介質205讀出所請求的數據,并提供該讀出的數據。日志恢復單元294接收在存儲最新的快照之后存儲的日志。日志恢復單元294按記錄順序從所接收的日志提取日志,并請求轉換表控制單元221、主機寫日志結構指針控制單元232、壓縮日志結構指針控制單元242或塊使用信息控制單元2反映在日志中記錄的各種信息的更新信息。轉換表控制單元221、主機寫日志結構指針控制單元232、壓縮日志結構指針控制單元242或塊使用信息控制單元2在由轉換表存儲單元223存儲的轉換表上、在由主機寫日志結構指針存儲單元230存儲的主機寫日志結構指針上、在由壓縮日志結構指針存儲單元240存儲的壓縮日志結構指針上、或在由塊使用信息存儲單元2存儲的塊使用信息上反映在日志中記錄的各種信息的更新信息。接下來,將描述根據第二實施例的數據存儲裝置200的有益效果。在壓縮處理中,作為壓縮處理的結果,成為壓縮源的塊被收集作為未用塊。因此,優選地,通過壓縮而復制的頁的數目是小的。出于該原因,當檢測到壓縮目標塊時,優選選擇有效頁的數目盡可能小的塊。然而,為了改善效率,被檢測作為壓縮目標塊的塊的有效頁的數目需要通過使用地址局域性而減小。在對數據存儲裝置的存取模式中,通常存在地址局域性。如果存在地址局域性,則更新頻率高的數據容易被新的寫入所無效,而更新頻率低的數據很少被新的寫入所無效。出于該原因,從主機裝置請求寫入的數據為具有高更新頻率的數據,而被壓縮的數據為直到塊被壓縮為止沒有被更新的數據。因此,被壓縮的數據是具有低更新頻率的數據。在根據第二實施例的數據存儲裝置200中,因為使用了其中主機寫日志結構指針和壓縮日志結構指針被分別地(individually)提供的配置,因而可以分別地收集具有高更新頻率的數據和具有低更新頻率的數據。如果收集了具有高更新頻率且易被無效的數據,則會減小對應的塊的有效頁的數目的期望值。由于在根據第二實施例的數據存儲裝置200中的有效頁的總數目是恒定的,如果收集了具有低更新頻率且很少被無效的數據,則對應塊的有效頁的數目的期望值增加。結果,可以減小其它塊的有效頁的數目的期望值。同時,在其中不存在地址局域性的隨機寫時,即使在使用或不使用其中主機寫日志結構指針和壓縮日志結構指針被分別地提供的配置時,被檢測為壓縮目標塊的塊的有效頁的數目的期望值是相同的。出于該原因,如第二實施例,即使使用了其中主機寫日志結構指針和壓縮日志結構指針被分別地提供的配置,隨機寫的性能也沒有被劣化。如上所述,在第二實施例中,可以通過使用存取模式的地址區域性來減小將被壓縮的塊的有效頁的數目的期望值。結果,與沒有使用其中主機寫日志結構指針和壓縮日志結構指針被分別地提供的配置的情況相比,可以使數據存儲裝置中被實際寫入和讀出的數據的尺寸小于從主機裝置請求寫入的數據的尺寸。因此,可以獲得高寫入性能和長設計壽命的數據存儲裝置。在通常狀態下,壓縮總是被執行。因此,當不使用其中主機寫日志結構指針和壓縮日志結構指針被分別地提供的配置時,在作為壓縮處理執行的結果而產生的新的寫區域中寫入由主機裝置請求寫入的數據。此時,如果(連續的)壓縮寫入沒有完成,則不能寫入從主機裝置請求寫入的數據。出于該原因,(連續的)壓縮寫入妨礙了來自主機裝置的寫請求,因此不能向主機裝置提供穩定的寫性能。相反地,在第二實施例中,使用了其中主機寫日志結構指針和壓縮日志結構指針被分別地提供的配置,因此主機寫處理和壓縮處理被分別地執行。此外,在半導體存儲介質控制單元203中,可以根據需要將從寫指令單元250到半導體存儲介質205的寫請求或讀請求的處理切換到從壓縮單元270到半導體存儲介質205的寫請求或讀請求的處理。因此,根據第二實施例,可以根據需要而以頁為單位切換主機寫和壓縮寫,并且來自主機的寫請求不會受到壓縮寫的妨礙。結果,可以為主機裝置提供穩定的寫性能。如在第二實施例中,如果使用了其中主機寫日志結構指針和壓縮日志結構指針被分別地提供的配置,則可以由來自主機裝置的操作容易地按邏輯地址次序排列記錄在數據存儲裝置200中的數據。具體而言,可以從主機裝置發出對由數據存儲裝置200提供的邏輯地址區的全面順序寫請求(full-scalesequentialwriterequest),并且可以按邏輯地址的次序排列記錄在數據存儲裝置中的數據。下文中,將參考圖18描述該配置。如果從主機裝置發出對由數據存儲裝置200提供的邏輯地址區的全面順序寫請求,則在執行全面順序寫請求期間數據被寫入的邏輯地址中,在執行執行全面順序寫請求期間不會再次寫入數據。現在,考慮這樣的塊,該塊已經是用于主機寫的日志結構塊,在全面順序寫入的執行開始的時間點之后完成了對該塊的追加。該塊現在被管理為已用塊。這樣的塊的頁沒有被無效。也就是,不將這樣的塊選擇作為壓縮目標塊,該塊已經是用于主機寫的日志結構塊,在全面順序寫入的執行開始的時間點之后完成了對該塊的追加,并且該塊被管理為已用塊。同時,在全面順序寫入開始的時間點處已經被管理為已用塊的塊的有效頁是全面順序寫入尚未被寫入的邏輯地址的數據。同樣,這樣的塊的有效頁是全面順序寫入尚未被寫入的邏輯地址的數據,該塊已經是用于壓縮的日志結構塊,在全面順序寫入的執行開始的時間點之后完成了對其的追加,并且該塊被管理為已用塊。因此,在將來通過全面順序寫入而使各頁無效。如上所述,一個接一個地使在全面順序寫入開始的時間點處已經被管理為已用塊的塊的有效頁以及這樣的塊的有效頁無效,該塊已經是用于壓縮的日志結構塊,并在全面順序寫入的執行開始的時間點之后完成了對該塊的追加以被管理為已用塊。被選擇作為壓縮目標塊的塊是在全面順序寫入開始的時間點處已經被管理為已用塊的塊,或者是這樣的塊,該塊已經是用于壓縮的日志結構塊并且在全面順序寫入的執行開始的時間點之后完成了對其的追加以被管理為已用塊。如果完成了該全面順序寫入,則按邏輯地址的次序排列記錄在數據存儲裝置200中的數據。相反地,如果沒有使用其中主機寫日志結構指針和壓縮日志結構指針被分別地提供的配置,則指示出在邏輯地址上的不一致值的被壓縮的數據以及指示出在邏輯地址上的一致值并由主機裝置請求寫入的數據總是被混合在一個塊中。因此,難以完美地排列按邏輯地址次序寫入的數據。如上所述,在完美地排列按邏輯地址次序寫入數據并且由主機裝置發送順序寫請求且在根據該寫請求的數據寫入中使用一個塊的狀態下,在物理地址上連續的數據被一個塊無效。因此,如果在按邏輯地址次序排列數據的處理之后從主機裝置發出順序寫請求,則不需要執行基于壓縮的復制處理。在日志結構方法中,由于需要預先確保壓縮目的地的塊,因此數據儲存裝置200使用通過從安裝在數據存儲裝置200中的存儲介質的總容量減去預定容量的裕量容量(margincapacity)而獲得的容量作為向主機裝置提供的標稱容量(declaredcapacity)。在完美地排列按邏輯地址次序寫入的數據的狀態下,用有效頁填充對應于該標稱容量的所有塊,并且對應于裕量容量的所有塊變為空的。出于該原因,即使在按邏輯地址次序排列數據的處理之后從主機裝置發出隨機寫請求時,也不產生基于壓縮的復制處理,直到寫數據量變成至少與裕量容量對應的寫數據量為止。而如果執行了基于壓縮的復制處理,則從主機裝置請求寫入的數據的寫性能要更劣于對于存儲介質的數據寫性能。由于以通常狀態執行基于壓縮的復制處理,因此當該狀態變為通常狀態時,從主機裝置請求寫入的數據的寫入性能要更加劣于對于存儲介質的數據寫性能。如上所述,在按邏輯地址次序排列數據的處理之后,不產生基于壓縮的復制處理,直到寫數據量變為至少與裕量容量對應的寫數據量為止。出于該原因,直到寫數據量變為至少與裕量容量對應的寫數據量為止,從主機裝置請求寫入的數據的寫性能變為對于存儲介質的寫性能。因此,使用其中主機寫日志結構指針和壓縮日志結構指針被分別地提供的配置,可以容易地獲得這樣的狀態,其中,從主機裝置請求寫入的數據的寫性能變為對于存儲介質的數據寫性能。在上述描述中,通過從主機裝置發出對由數據存儲裝置提供的邏輯地址區的全面順序寫請求而實現按邏輯地址次序排列數據的處理。然而,可以在數據存儲裝置中并入這樣的機構,該機構執行按邏輯地址次序排列數據的處理。第三實施例如上所述,在使用具有約束(例如,對于尚未被寫入數據的數據被擦除的塊的頁,可以以頁為單位依次寫入數據,但對于已經寫入了數據的頁,不能進行數據的重寫)的存儲介質的數據存儲裝置中,還需要以頁為單位寫入與管理信息的更新信息對應的日志。并且在第二實施例中,可以進行對管理信息的存儲和恢復處理。然而,當像第二實施例一樣將數據管理單位設定為頁尺寸時,則每當從主機裝置請求寫入時或每當通過壓縮寫入而寫入了對應于一個頁的數據時都要更新管理信息。出于該原因,每當從主機裝置請求寫入時或每當通過壓縮寫入而寫入了對應于一個頁的數據時,需要在一個頁中寫入日志。這意味著,僅實現了對于存儲介質的數據的寫性能的一半,并且意味著通過存儲介質的壽命計算的數據存儲裝置的設計壽命變為1/2。因此,在第三實施例中,將描述其中減小了日志記錄次數的實例。在下面的描述中,主要描述第二實施例與第三實施例之間的差別,因此通過與第二實施例相同的參考標號來表示具有與第二實施例相同的功能的部件,并不再重復對其的描述。首先,將描述根據第三實施例的數據存儲裝置的配置。圖19為示出了根據第三實施例的數據存儲裝置300的詳細功能配置的實例的框圖。在根據第三實施例的數據存儲裝置300中,轉換表存儲單元323、塊使用信息控制單元326、寫指令單元350、壓縮單元370以及日志恢復單元394與根據第二實施例的數據存儲裝置200的情況不同。下文中,將描述各單元的差別。轉換表存儲單元323存儲轉換表。根據第三實施例的轉換表包括正向查找表、有效頁標志以及有效頁計數器,但不包括逆向查找表。圖20示出了有效頁標志和有效頁計數器的數據配置的實例。如圖20所示,有效頁標志和有效頁計數器使用塊號碼作為索引并包括作為條目的塊號碼、有效頁計數器以及有效頁標志組。有效頁標志組按設置在塊中的頁的順序排列,并可指定有效頁標志的頁。同一塊的有效頁計數器的值和有效頁標志的真值的總數目彼此匹配。在同一塊中,成為索引的塊號碼和成為正向查找表的條目的塊號碼被指派為具有同一號碼。該正向查找表與根據第二實施例的轉換表存儲單元223所包括的正向查找表相同。如上所述,根據第三實施例的轉換表存儲單元323不包括逆向查找表,這與根據第二實施例的轉換表存儲單元223不同。因此,在第三實施例中,可以減小管理信息的存儲器使用量。當可以減小管理信息的存儲器使用量時,這意味著,將被存儲為快照的容量減小。結果,可以減小存儲快照所需的處理時間,可以增加對半導體存儲介質205的寫入量,并可以增加數據存儲裝置300的設計壽命。如果塊使用信息控制單元3從寫指令單元350接收到對未用塊的分配請求,則塊使用信息控制單元3掛起(suspend)寫指令單元350的處理,直到從壓縮單元370完全接收了對未用塊的分配請求。同樣,如果塊使用信息控制單元3從壓縮單元370接收對未用塊的分配請求,則塊使用信息控制單元3掛起壓縮單元370的處理,直到從寫指令單元350完全接收了對未用塊的分配請求。如果塊使用信息控制單元3從寫指令單元350和壓縮單元370二者完全接收了對未用塊的分配請求,并且在對應時間點處來自主機裝置的寫入量為1且在數據存儲裝置300中將被處理的壓縮的寫入量為N(N為等于或大于0的整數),則塊使用信息控制單元326將一個未用塊分配給寫指令單元350并將N個未用塊分配給壓縮單元370。塊使用信息控制單元3可以從包括在由塊使用信息存儲單元2存儲的塊使用信息中的已用塊的數目的信息或者未用塊的數目的信息來確定N的值。考慮這樣的情況,當在對應的時間點處來自主機裝置的寫入量為1時,N的值被設定為大于在數據存儲裝置300中將被處理的壓縮的寫入量。當來自主機裝置的寫請求的載荷不大時,首先執行壓縮處理,并減小要在將來執行的壓縮處理的量。由此,可以改善當來自主機裝置的寫請求的載荷在將來增加時的響應性。塊使用信息控制單元3根據分配的內容而更新由塊使用信息存儲單元2存儲的塊使用信息。塊使用信息控制單元3重新開始寫指令單元350和壓縮單元370二者的被掛起的處理。接下來,將參考圖21到25描述根據來自主機裝置的主機寫請求的壓縮處理和寫處理。首先,如圖21所示,塊使用信息控制單元3將塊D分配給寫指令單元350并將塊A、B和C分配給壓縮單元370。壓縮單元370通過壓縮處理寫入數據的頁次序變為塊A、B以及C的次序。如果塊使用信息控制單元3重新開始寫指令單元350和壓縮單元370二者的被掛起的處理,如圖22所示,根據用于主機寫的日志結構指針和用于壓縮的日志結構指針而追加壓縮目標數據和來自主機裝置的寫目標數據。如圖23或M所示,即使當日志結構指針中的一個到達被分配的塊的末端時,該處理也被掛起,直到其它日志結構指針到達被分配的塊的末端,并且不分配新塊。如上所述,當在對應時間點處來自主機裝置的寫入量為1且在數據存儲裝置300中將被處理的壓縮的寫入量為N(N為等于或大于0的整數)時,塊使用信息控制單元3將一個未用塊分配給寫指令單元350且將N個未用塊分配給壓縮單元370。這是為了確保在對應時間點處所需的壓縮量,并為了盡可能地避免即使當一個日志結構指針到達被分配的塊的末端時處理也被掛起直到其它日志結構指針到達被分配的塊的末端為止,如圖23或24所示。如圖25所示,如果這兩個日志結構指針均到達被分配的塊的末端,則塊使用信息控制單元3將新塊分配給寫指令單元350和壓縮單元370,并重新開始寫指令單元350和壓縮單元370的被掛起的處理,并且狀態變為圖21所示的狀態。下文中,將從一塊的分配到下一塊的分配所需的時間稱為“期限(term)”。在來自主機裝置的存取模式中存在地址局域性的情況下,當在對應時間點處來自主機裝置的寫入量為1時,在數據處理裝置300中將被處理的壓縮量顯著減小。然而,在該情況下,在上述塊分配的規則中,如圖沈所示,適當地切換其中分配了用于壓縮的一個日志結構塊的期限(期限2和6)與其中不分配用于壓縮的日志結構塊的期限(期限1、3、4、5)。重新參考圖19,塊使用信息控制單元326向日志存儲單元284通知關于被分配的(N+1)個塊的塊分配信息。按該分配信息的順序,被分配到壓縮單元370的塊在時間上先于被分配到寫指令單元350的塊。當多個塊被分配給壓縮單元370時,該分配信息的順序變為壓縮單元370所使用的塊的順序。例如,在如圖21到25所示分配塊的情況下的該分配信息的順序變為塊A、塊B、塊C和塊D的順序。在如圖沈所示分配塊的情況下的該分配信息的順序變為期限1中的塊A、期限2中的塊B和塊C、期限3中的塊D、期限4中的塊EjJ限5中的塊F以及期限6中的塊G和塊H的順序。塊使用信息控制單元3請求日志存儲單元284提交向日志存儲單元284通知的信息。寫指令單元350向緩沖控制單元207發出對所存儲的對應于管理尺寸的數據的提取請求,將所提取的數據和與所獲取的主機寫日志結構指針對應的物理地址區信息發送到半導體存儲介質控制單元203,并請求半導體存儲介質控制單元203在與所獲取的主機寫日志結構指針對應的物理地址區中寫入所提取的數據。當所獲取的主機寫日志結構指針指示塊的首頁時,寫指令單元350在請求半導體存儲介質控制單元203寫入數據之前請求半導體存儲介質控制單元203執行塊擦除處理。然而,塊擦除處理的執行時機并不受此限制。例如,執行時機可以是新分配用于主機寫入的塊的時刻、作為未用塊而收集塊的時刻,或者在作為未用塊而收集塊之后直到寫指令單元250請求半導體存儲介質控制單元203寫入數據的時間段期間的任意時刻。在半導體存儲介質205的頁中,除了用于記錄用戶數據的區域之外,通常還提供冗余區。例如,冗余區用于記錄關于用戶數據的錯誤校正碼的數據。在日志記錄次數被減小的第三實施例中,在冗余區中記錄錯誤校正碼的數據以及對應頁的逆向查找邏輯地址以減小日志記錄次數。也就是,如圖27所示,對于在頁中記錄的數據,用戶數據被記錄在用于記錄用戶數據的區域中,而對應頁的逆向查找邏輯地址和錯誤校正碼的數據被記錄在冗余區中。所記錄的逆向查找邏輯地址為包括寫命令的區域的管理尺寸區的首部的邏輯地址(圖11中示出的實例中的邏輯地址0)。在轉換表的排他控制期間,寫指令單元350更新轉換表以指示新寫入的數據。具體而言,在接收寫命令之前,寫指令單元350向轉換表控制單元221詢問與包括該寫命令的區域的管理尺寸區域的首部的邏輯地址(在圖11示出的實例中,邏輯地址0)對應的物理地址(更新前物理地址)。寫指令單元350請求轉換表控制單元使與所獲取的更新前的物理地址對應的有效頁標志變為OFF。寫指令單元350請求轉換表控制單元221減小與所獲取的更新前的物理地址對應的塊的有效頁計數器。寫指令單元350請求轉換表控制單元221使與所獲取的主機寫日志結構指針對應的有效頁標志變為ON。寫指令單元350請求轉換表控制單元221增加與所獲取的主機寫日志結構指針對應的塊的有效頁計數器。寫指令單元350請求轉換表控制單元221更新正向查找表的包括該寫命令的區域的管理尺寸區域的首部的邏輯地址(在圖11示出的實例中,邏輯地址0)以指示與主機寫日志結構指針對應的物理地址區的信息。與根據第二實施例的寫指令單元250相比,根據第三實施例的寫指令單元350不向日志存儲單元284通知轉換表的更新信息。這是因為,在恢復管理信息(將在下面描述)時,可以基于在頁中記錄的逆向查找邏輯地址而存儲恢復轉換表的更新信息。在根據第二實施例的寫指令單元250中,每當寫入一頁的用戶數據時記錄轉換表的更新信息的日志。然而,在根據第三實施例的寫指令單元350中,每當寫入一頁的用戶數據時不需要記錄更新信息的日志,并且可以極大地減小日志記錄次數。寫指令單元350請求主機寫日志結構指針控制單元232更新主機寫日志結構指針以指示下一頁。寫指令單元350向主機寫日志結構指針控制單元232詢問更新的主機寫日志結構指針是否超過該塊的末頁。如果寫指令單元350接收到指示出更新的主機寫日志結構指針超過塊的末頁的答復,則寫指令單元350向日志存儲單元284通知對應的塊的追加完成信息(addcompletioninformation),并請求日志存儲單元284提交所通知的信息。為了減小下面描述的恢復處理時間,可存儲在分配塊之后直到完成追加為止被追加在塊中的所有頁的逆向查找邏輯地址,并且在對應塊的追加寫入結束日志中可包括被追加在對應的塊中的頁的逆向查找邏輯地址。如果寫指令單元350接收到指示出更新的主機寫日志結構指針超過塊的末頁的答復,則寫指令單元350請求塊使用信息控制單元3執行對未用塊的分配處理。結果,塊使用信息被更新。寫指令單元350請求主機寫日志結構指針控制單元232更新主機寫日志結構指針以指示新分配的塊的首部的頁。與根據第二實施例的寫指令單元250相比,根據第三實施例的寫指令單元350不向日志存儲單元284通知主機寫日志結構指針的更新信息。在第三實施例中,通過塊使用信息控制單元3通知由根據第二實施例的寫指令單元250所通知的塊使用信息的更新信息。這是因為,在恢復管理信息(將在下面描述)時,當可以基于在頁中記錄的逆向查找邏輯地址來恢復轉換表時,可以恢復主機寫日志結構指針。在根據第二實施例的寫指令單元250中,每當寫入一頁的用戶數據時記錄主機寫日志結構指針的更新信息的日志。然而,在根據第三實施例的寫指令單元350中,每當寫入一頁的用戶數據時不需要記錄更新信息的日志,并且可以極大地減小日志記錄次數。壓縮單元370向轉換表控制單元221詢問所獲取的塊當中的適合用于壓縮目標的塊,并獲取適合用于壓縮目標的塊的塊號碼以及對應塊的有效頁標志和有效頁計數器。適合用于壓縮目標的塊是其中有效頁計數器的值最小的塊。在該情況下,當選擇其中有效頁計數器的值為0的塊作為壓縮目標時,壓縮單元370請求塊使用信息控制單元3將對應的塊登記為未用塊。結果,對應的塊被收集作為未用塊。當對應的塊被收集作為未用塊時,壓縮單元370向日志存儲單元284通知更新的塊使用信息的更新信息。此外,壓縮單元370請求日志存儲單元284提交向日志存儲單元284通知的信息。壓縮單元370向半導體存儲介質控制單元203發出對與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的讀取請求。如果壓縮單元370接收到所讀出的數據,則壓縮單元370向緩沖控制單元207發出對所接收的數據的存儲請求。在所接收的數據中,如圖27所示,用戶數據被記錄在用于記錄用戶數據的區域中,并且對應頁的逆向查找邏輯地址和錯誤校正碼的數據被記錄在冗余區中。壓縮單元370提取在所讀出的數據的冗余區中記錄的逆向查找邏輯地址并暫時存儲該逆向查找邏輯地址。壓縮單元370向緩沖控制單元207發出對所存儲的數據的提取請求,向半導體存儲介質控制單元203發送所提取的數據和與所獲取的壓縮日志結構指針對應的物理地址區(復制目的地頁)的信息,并請求半導體存儲介質控制單元203在與所獲取的壓縮日志結構指針對應的物理地址區(復制目的地頁)中寫入所提取的數據。當所獲取的壓縮日志結構指針指示該塊的首頁時,壓縮單元307在請求半導體存儲介質控制單元203寫入數據之前請求半導體存儲介質控制單元203執行塊擦除處理。然而,執行塊擦除處理的時機不受此限制。例如,該時機可以為新分配用于壓縮的塊的時刻、作為未用塊而收集塊的時刻,或在作為未用塊而收集塊之后直到壓縮單元307請求半導體存儲介質控制單元203寫入數據的時間段期間的任意時刻。如圖27所示,因為在頁中存儲的數據為在緩沖存儲單元209中存儲的數據,用戶數據被記錄在用于記錄用戶數據的區域中,而對應頁的逆向查找邏輯地址和錯誤校正碼的數據被記錄在冗余區中。逆向查找表僅當在頁中寫入數據時被新寫入,此后不被更新,并僅在壓縮時被參照。因此,在根據來自主機的寫請求而在頁中寫入數據時可以同時寫入逆向查找表,并且在讀取被壓縮的數據時可以同時讀取該逆向查找表。結果,沒有另外導致懲罰。在轉換表的排他控制期間,壓縮單元370更新轉換表以指示壓縮目的地的數據。然而,如上所述,當在數據的復制處理期間通過寫指令單元350完成了對與被復制的數據對應的邏輯地址區相同的邏輯地址區的寫處理時,壓縮單元應該不更新轉換表。具體而言,壓縮單元370使用暫時存儲的逆向查找邏輯地址信息而向轉換表控制單元221發出對正向查找表的參照請求,并獲取對應于暫時存儲的逆向查找邏輯地址信息的物理地址。壓縮單元370確定對應于暫時存儲的逆向查找邏輯地址信息的物理地址與所獲取的壓縮目標塊號碼和有效頁標志信息所對應的物理地址區(復制源頁)是否彼此匹配。當確定該物理地址和物理地址區不彼此匹配時,這意味著,在數據的復制處理期間,寫指令單元350完成了對與被復制的數據所對應的邏輯地址區相同的邏輯地址區的寫處理。出于該原因,壓縮單元370結束在轉換表的排他控制期間的處理且不更新轉換表。當確定該物理地址和物理地址區彼此匹配時,這意味著,在數據的復制處理期間,寫指令單元250沒有執行對與被復制的數據所對應的邏輯地址區相同的邏輯地址區的寫處理,或者執行但卻沒有完成該寫處理。出于該原因,壓縮單元370更新轉換表。具體而言,壓縮單元370請求轉換表控制單元221使與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的有效頁標志變為OFF。壓縮單元370請求轉換表控制單元221減小與所獲取的壓縮目標塊號碼對應的塊的有效頁計數器。壓縮單元370請求轉換表控制單元221使與所獲取的壓縮日志結構指針對應的物理地址區(復制目的地頁)的對應有效頁標志變為ON。壓縮單元370請求轉換表控制單元221增加與所獲取的壓縮日志結構指針對應的塊的有效頁計數器。壓縮單元370請求轉換表控制單元221更新由與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的對應逆向查找邏輯地址指示的正向查找表的條目以指示與壓縮日志結構指針對應的物理地址區(復制目的地頁)的信息。與根據第二實施例的壓縮單元270相反,根據第三實施例的壓縮單元370不向日志存儲單元284通知轉換表的更新信息。這是因為,在恢復管理信息(將在下面描述)時,可以基于在頁中記錄的逆向查找邏輯地址來恢復轉換表的更新信息。在根據第二實施例的壓縮單元270中,每當寫入一頁的用戶數據時記錄轉換表的更新信息的日志。然而,在根據第三實施例的壓縮單元370中,每當寫入一頁的用戶數據時不需要記錄更新信息的日志,可以極大地減小日志記錄次數。如果所獲取的壓縮目標塊的有效頁計數器的值變為0,則壓縮單元370請求塊使用信息控制單元3將對應的塊登記為未用塊。結果,作為未用塊而收集該對應的塊。當該對應的塊作為未用塊而被收集時,壓縮單元370向日志存儲單元284通知更新的塊使用信息的更新信息,并請求日志存儲單元284提交向日志存儲單元284通知的信息。壓縮單元370請求壓縮日志結構指針控制單元242更新壓縮日志結構指針以指示下一頁。壓縮單元270向壓縮日志結構指針控制單元242詢問更新的壓縮日志結構指針是否超過塊的末頁。如果壓縮單元370接收到指示出更新的壓縮日志結構指針超過該塊的末頁的答復,則壓縮單元370向日志存儲單元284通知對應的塊的追加完成信息,并請求日志存儲單元284提交向日志存儲單元284通知的該信息。為了縮短恢復處理時間(將在下面描述),可以存儲在分配塊之后直到完成追加寫入為止在塊中追加的所有頁的逆向查找邏輯地址,并且在對應的塊中追加的頁的逆向查找邏輯地址可被包括在對應的塊的追加寫入結束日志中。如果壓縮單元370接收到指示出更新的壓縮日志結構指針超過塊的末頁的答復,壓縮單元370請求壓縮日志結構指針控制單元242更新壓縮日志結構指針以指示從塊使用信息控制單元3分配的下一塊的首部的頁。當壓縮單元370接收到指示出更新的壓縮日志結構指針超過塊的末頁的答復并使用從塊使用信息控制單元3分配的所有塊時,壓縮單元370請求塊使用信息控制單元3執行對未用塊的分配處理。結果,塊使用信息被更新。壓縮單元370請求壓縮日志結構指針控制單元242更新壓縮日志結構指針以指示新分配的塊的首部的頁。與根據第二實施例的壓縮單元270相反,根據第三實施例的壓縮單元370不向日志存儲單元284通知壓縮日志結構指針的更新信息。在第三實施例中,通過塊使用信息控制單元3通知由壓縮單元270所通知的塊使用信息的更新信息。這是因為,在恢復管理信息(將在下面描述)時,可以基于在頁中記錄的逆向查找邏輯地址而恢復轉換表的更新信息。在根據第二實施例的壓縮單元270中,每當寫入一頁的用戶數據時記錄壓縮日志結構指針的更新信息的日志。然而,在根據第三實施例的壓縮單元370中,每當寫入一頁的用戶數據時不需要記錄更新信息的日志,可以極大地減小日志記錄次數。如果日志恢復單元394從管理信息恢復單元290接收到從在存儲最新的快照之后存儲的日志恢復管理信息的請求,日志恢復單元394向半導體存儲介質控制單元203發出對在存儲最新的快照之后存儲的日志的提取請求,并接收在存儲最新的快照之后存儲的日志。在該日志中,記錄新分配的塊的信息、塊的追加完成信息以及被收集為未用塊的塊的信息中的任何信息。在該情況下,在新分配的塊的信息中,以由壓縮單元370使用的塊的順序來排列用于壓縮追加的一個或多個塊的信息,并且隨后是由寫指令單元350所使用的用于主機追加的塊的信息。只要在某個(certain)期限中分配的所有塊的追加沒有完成,則該期限不進行到下一期限。由此,通過以記錄順序跟蹤日志,可以確認,在記錄了在某個期限中分配的所有塊的追加完成信息的狀態下,記錄下一期限的塊分配的日志,并調查日志的有效性。日志恢復單元394根據分配的塊的信息而依次提取塊號碼。日志恢復單元394向半導體存儲介質控制單元203發出對所提取的塊號碼的塊從首部的頁開始依次讀取頁的請求。日志恢復單元394從半導體存儲介質控制單元203接收所讀出的頁的數據,并從所接收的數據提取逆向查找邏輯地址。基于所提取的逆向查找邏輯地址信息,日志恢復單元394使轉換表的所提取的逆向查找邏輯地址的條目指示所讀出的頁。具體而言,在讀取該頁之前,日志恢復單元394向轉換表控制單元221詢問與所提取的逆向查找邏輯地址對應的物理地址(更新前的物理地址)。日志恢復單元394請求轉換表控制單元221使與所獲取的更新前的物理地址對應的有效頁標志變為OFF。日志恢復單元394請求轉換表控制單元221減小與所獲取的更新前的物理地址對應的有效頁計數器。日志恢復單元394請求轉換表控制單元221使與所讀出的頁對應的有效頁標志變為ON。日志恢復單元394請求轉換表控制單元221增加與所讀出的頁對應的塊的有效頁計數器。日志恢復單元394請求轉換表控制單元221更新正向查找表的所提取的逆向查找邏輯地址以指示與所讀出的頁對應的物理地址區信息。對于沒有完成追加的塊,在上述處理期間讀出未被記錄的頁。考慮這樣的情況,其中,包括如圖27所示的冗余區的數據的被擦除的頁的數據的所有位具有例如1的值。例如,如果確定是否所有位的值變為1,可以識別出所讀出的頁是未被記錄的頁。此時,當沒有完成追加的塊是用于主機追加而分配的塊時,日志恢復單元394請求主機寫日志結構指針控制單元232更新主機寫日志結構指針以指示未被記錄的頁。而當沒有完成追加的塊是用于壓縮追加而分配的塊時,日志恢復單元394請求壓縮日志結構指針控制單元242更新壓縮日志結構指針。在該情況下,在同一期限中,即使當在相同的邏輯地址中產生主機寫和壓縮時,根據壓縮寫的改變被最先反映在管理信息上,然后根據主機寫的改變被反映。最后,管理信息的序列指示出進行了主機寫的頁。由此,確保了管理信息的一致性。當存儲了在分配塊之后直到完成追加為止被追加在塊中的所有頁的逆向查找邏輯地址并且在對應的塊的追加完成日志中包括被追加在對應的塊中的頁的逆向查找邏輯地址時,可以僅僅通過查看追加完成日志就可以識別在對應的塊中追加的所有頁的逆向查找邏輯地址。由此,可以極大地減小從半導體存儲介質205的讀處理的量,并且可以僅對進行了最后追加的塊從首部依次讀取各頁。如果在日志中記錄了被收集為未用塊的塊的信息,則日志恢復單元394請求塊使用信息控制單元3將對應的塊的使用狀態改變為未用狀態。接下來,將描述根據第三實施例的數據存儲裝置的操作。因為讀處理和快照記錄處理與第二實施例相同,所以將不再重復對其的描述。首先,將參考圖觀描述根據來自主機裝置的寫命令而由數據存儲裝置300執行的寫處理的序列。圖觀為示出了由數據存儲裝置300執行的寫處理的序列的流程的實例的流程圖。因為步驟SlOl到S107的處理與圖13的步驟Sl到S7的處理相同,將不再重復描述。因為步驟S108的處理同樣與圖13的步驟S8相同,將不再重復描述。然而,如圖27所示,在該頁中,在用于記錄用戶數據的區域中記錄用戶數據,并在冗余區中記錄對應頁的逆向查找邏輯地址和錯誤校正碼的數據。出于該原因,在第三實施例中,如圖13的步驟S9所示,不需要單獨地登記被寫入的頁的逆向查找邏輯地址,并且不需要在日志中記錄逆向查找邏輯地址。因為步驟SllO到Sl15的處理與圖13的步驟SlO到S15的處理相同,將不再重復描述。因為步驟S116的處理同樣與圖13的步驟S16的處理相同,將不再重復描述。然而,在步驟S116中,不向日志存儲單元284通知轉換表的更新信息。這是因為,在恢復管理信息(將在下面描述)時,可以基于在頁中記錄的逆向查找邏輯地址來恢復轉換表的更新信息。由此,在圖13的步驟S12到S16中,每當寫入一頁的用戶數據時記錄轉換表的更新信息的日志。然而,在圖觀的步驟S112到S116中,每當寫入一頁的用戶數據時不需要記錄更新信息的日志,可以極大地減小日志記錄次數。因為步驟S117的處理與圖13的步驟S17的處理相同,將不再重復描述。因為步驟S118的處理與圖13的步驟S18的處理幾乎相同,將不再重復描述。然而,在步驟S118中,不向日志存儲單元284通知更新的主機寫日志結構指針的更新信息。這是因為,可以在恢復管理信息(將在下面描述)時恢復主機寫日志結構指針的更新信息。由此,在圖13的步驟S18中,每當寫入一頁的用戶數據時記錄主機寫日志結構指針的更新信息的日志。然而,在圖觀的步驟S118中,每當寫入一頁的用戶數據時不需要記錄更新信息的日志,可以極大地減小日志記錄次數。因為步驟Sl19的處理與圖13的步驟S19的處理相同,將不再重復描述。在步驟Sl19.5中,寫指令單元350向日志存儲單元284通知對應的塊的追加完成信息并請求日志存儲單元284提交所通知的信息。為了減小將在下面描述的恢復處理時間,可存儲在分配塊之后直到完成追加為止被追加在塊中的所有頁的逆向查找邏輯地址,并且在對應的塊的追加結束日志中可包括被追加在對應的塊中的頁的逆向查找邏輯地址。日志存儲單元284從寫指令單元350接收提交的通知并請求半導體存儲介質控制單元203存儲暫時存儲的更新信息。半導體存儲介質控制單元203記錄暫時存儲的更新信息作為日志。如果不能預先識別出其中記錄了日志的半導體存儲介質205的物理地址,則在向數據存儲裝置300供電時,管理信息不能被恢復。出于該原因,使其中記錄了日志的半導體存儲介質205的物理地址指示半導體存儲介質205的預定區域或指示可通過在半導體存儲介質205的該預定區域中記錄的信息而跟蹤的區域。寫指令單元350請求塊使用信息控制單元326執行對未用塊的分配處理。如果塊使用信息控制單元3從寫指令單元350接收到對未用塊的分配請求,塊使用信息控制單元3掛起寫指令單元350的處理,直到從壓縮單元370接收到對該未用塊的分配請求為止。在步驟S120中,如果塊使用信息控制單元3從寫指令單元350和壓縮單元370二者完全地接收到對未用塊的分配請求,并且在對應的時間點處來自主機裝置的寫入量為1且在數據存儲裝置300中將被處理的壓縮的寫入量為N(N為等于或大于0的整數),則塊使用信息控制單元3將一個未用塊分配給寫指令單元350并將N個未用塊分配給壓縮單元370。塊使用信息控制單元3可以從包括在由塊使用信息存儲單元2存儲的塊使用信息中的已用塊的數目的信息或未用塊的數目的信息來確定N的值。如果當在對應的時間點處來自主機裝置的寫入量為1時N的值被設定為大于在數據存儲裝置300中將被處理的壓縮的寫入量,當來自主機裝置的寫請求的載荷不大時,塊使用信息控制單元326首先執行壓縮處理并減小在將來將被執行的壓縮處理的量,由此可以改善當來自主機裝置的寫請求的載荷在將來增加時的響應性。塊使用信息控制單元3根據分配的內容更新由塊使用信息存儲單元2存儲的塊使用信息。塊使用信息控制單元3重新開始寫指令單元350的被掛起的處理。塊使用信息控制單元326向日志存儲單元284通知關于被分配的(N+1)個塊的塊分配信息。按該分配信息的順序,被分配給壓縮單元370的塊在時間上先于被分配給寫指令單元350的塊。當多個塊被分配給壓縮單元370時,分配信息的順序變為壓縮單元370所使用的塊的順序。例如,在如圖21到25所示分配塊的情況下的分配信息的順序變為塊A、塊B、塊C和塊D的順序。在如圖沈所示分配塊的情況下的分配信息的順序變為期限1中的塊A、期限2中的塊B和塊C、期限3中的塊D、期限4中的塊E、期限5中的塊F以及期限6中的塊G和塊H的順序。塊使用信息控制單元3請求日志存儲單元284提交向日志存儲單元284通知的信息。日志存儲單元284從塊使用信息控制單元3接收提交通知,并請求半導體存儲介質控制單元203存儲該暫時存儲的更新信息。半導體存儲介質控制單元203記錄該暫時存儲的更新信息作為日志。如果不能預先識別出其中記錄了日志的半導體存儲介質205的物理地址,則在向數據存儲裝置300供電時,管理信息不能被恢復。出于該原因,使其中記錄了日志的半導體存儲介質205的物理地址指示半導體存儲介質205的預定區域或指示可通過在半導體存儲介質205的該預定區域中記錄的信息而跟蹤的區域。寫指令單元350請求主機寫日志結構指針控制單元232更新主機寫日志結構指針以指示新分配的塊的首部的頁。主機寫日志結構指針控制單元232更新由主機寫日志結構指針存儲單元230存儲的主機寫日志結構指針以指示新分配的塊的首部的頁。如上所述,在圖觀中,通過塊分配事件而記錄日志。然而,因為塊分配事件與壓縮處理中的塊分配處理處于相同的時間,如圖13的步驟S21所示,在最后不能執行日志提交處理,因此需要一經要求就提交日志。因為步驟S122的處理與圖13的步驟S22的處理相同,將不再重復描述。接下來將參考圖四描述由數據存儲裝置300執行的壓縮處理的序列。圖四為示出了由數據存儲裝置300執行的壓縮處理的序列的流程的實例的流程圖。數據存儲裝置300在需要進行壓縮處理的時刻或在任何時刻執行壓縮處理。通過確定在塊使用信息中記錄的未用塊的數目是否小于預定閾值而確定需要進行壓縮處理的時刻。首先,因為步驟S141和S142的處理與圖15的步驟S41和S42的處理相同,將不再重復描述。因為步驟S143的處理與圖15的步驟S43的處理幾乎相同,將不再重復描述。然而,執行以下處理。壓縮單元370請求日志存儲單元284提交更新的塊使用信息。日志存儲單元284接收來自壓縮單元370的提交通知并請求半導體存儲介質控制單元203存儲該暫時存儲的更新信息。半導體存儲介質控制單元203記錄該暫時存儲的更新信息作為日志。如果不能預先識別出其中記錄了日志的半導體存儲介質205的物理地址,則在向數據存儲裝置300供電時,管理信息不能被恢復。出于該原因,使其中記錄了日志的半導體存儲介質205的物理地址指示半導體存儲介質205的預定區域或指示可通過在半導體存儲介質205的該預定區域中記錄的信息而跟蹤的區域。因為步驟S144到S146的處理與圖15的步驟S44到S46的處理相同,將不再重復描述。關于在步驟S146中讀出的數據,如圖27所示,用戶數據被記錄在用于記錄用戶數據的區域中,而對應的頁的逆向查找邏輯地址和錯誤校正碼的數據被記錄在冗余區中。在步驟S147中,壓縮單元370提取在所讀出的數據的冗余區中記錄的逆向查找邏輯地址,并暫時存儲該逆向查找邏輯地址。因為步驟S148的處理與圖15的步驟S48的處理幾乎相同,將不再重復描述。然而,如圖27所示,在頁中,用戶數據被記錄在用于記錄用戶數據的區域中,而對應的頁的逆向查找邏輯地址和錯誤校正碼的數據被記錄在冗余區中。出于該原因,在第三實施例中,如圖15的步驟S49所示,不需要單獨登記被寫入的頁的逆向查找邏輯地址,并且不需要在日志中記錄逆向查找邏輯地址。如上所述,僅當在頁中寫入數據時逆向查找表被新寫入,此后不被更新,并僅在壓縮時被參照。因此,在根據來自主機裝置的寫請求在頁中寫入數據時可以同時寫入逆向查找表,并且在讀取將被壓縮的數據時可以同時讀取逆向查找表。結果,沒有另外導致懲罰。因為步驟S150到S158的處理與圖15的步驟S50到S58的處理幾乎相同,將不再重復描述。在圖15的步驟S50到S58中的“與所獲取的壓縮目標塊號碼和有效頁標志信息對應的物理地址區(復制源頁)的對應逆向查找邏輯地址”對應于圖四的步驟S150到S158中的所提取的逆向查找邏輯地址。因為步驟S159的處理與圖15的步驟S59的處理幾乎相同,將不再重復描述。在圖四的步驟S159中,不向日志存儲單元284通知轉換表的更新信息,這與圖15的步驟S59相反。這是因為,在恢復管理信息(將在下面描述)時,可以基于在頁中記錄的逆向查找邏輯地址來恢復轉換表的更新信息。由此,在圖15的步驟S53到S59中,每當寫入一頁的用戶數據時記錄轉換表的更新信息的日志。然而,在圖15的步驟S153到S159中,每當寫入一頁的用戶數據時不需要記錄更新信息的日志,可以極大地減小日志記錄次數。當壓縮目標塊的有效頁計數器的值變為0并且對應的塊被收集為未用塊時,壓縮單元370向日志存儲單元284通知更新的塊使用信息的更新信息,并請求日志存儲單元284提交向日志存儲單元284通知的信息。日志存儲單元284從壓縮單元370接收提交信息,并請求半導體存儲介質控制單元203存儲該暫時存儲的更新信息。半導體存儲介質控制單元203記錄該暫時存儲的更新信息作為日志。如果不能預先識別出其中記錄了日志的半導體存儲介質205的物理地址,則在向數據存儲裝置300供電時,管理信息不能被恢復。出于該原因,使其中記錄了日志的半導體存儲介質205的物理地址指示半導體存儲介質205的預定區域或指示可通過在半導體存儲介質205的該預定區域中記錄的信息而跟蹤的區域。因為步驟S160的處理與圖15的步驟S60的處理幾乎相同,將不再重復描述。因為步驟S161的處理與圖15的步驟S61的處理幾乎相同,將不再重復描述。在圖四的步驟161中,不向日志存儲單元284通知更新的壓縮日志結構指針的更新信息,這與圖15的步驟S61相反。這是因為,在恢復管理信息(將在下面描述)時,可以恢復壓縮日志結構指針的更新信息。由此,在圖15的步驟S61中,每當執行一頁的壓縮時記錄壓縮日志結構指針的更新信息的日志。然而,在圖四的步驟S161中,每當執行一頁的壓縮時不需要記錄更新信息的日志,可以極大地減小日志記錄次數。因為步驟S162的處理與圖15的步驟S62的處理相同,將不再重復描述。在步驟S162.1中,壓縮單元370向日志存儲單元284通知對應的塊的追加完成信息,并請求日志存儲單元284提交所通知的信息。為了減小下面描述的恢復處理時間,可以存儲在分配塊之后直到完成追加為止被追加在塊中的所有頁的逆向查找邏輯地址,并且可以在對應的塊的追加結束日志中包括被追加在對應的塊中的頁的逆向查找邏輯地址。日志存儲單元284從壓縮單元370接收提交通知并請求半導體介質存儲控制單元203存儲該暫時存儲的更新信息。半導體存儲介質控制單元203記錄該暫時存儲的更新信息作為日志。如果不能預先識別出其中記錄了日志的半導體存儲介質205的物理地址,則在向數據存儲裝置300供電時,管理信息不能被恢復。出于該原因,使其中記錄了日志的半導體存儲介質205的物理地址指示半導體存儲介質205的預定區域或指示可通過在半導體存儲介質205的該預定區域中記錄的信息而跟蹤的區域。在步驟S162.2中,壓縮單元370調查是否使用了由塊使用信息控制單元3分配的所有的塊。當使用了所有的塊時,處理進行到步驟S162.3。而當沒有使用所有的塊時,處理進行到步驟S162.5。在步驟S162.3中,壓縮單元370請求塊使用信息控制單元3執行對未用塊的分配處理。如果塊使用信息控制單元3從壓縮單元370接收到對未用塊的分配請求,塊使用信息控制單元3掛起壓縮單元370的處理,直到從寫指令單元350完全接收了未用塊的分配請求為止。在步驟S162.4中,如果塊使用信息控制單元3從寫指令單元350和壓縮單元370二者完全接收了對未用塊的分配請求,并且在對應時間點處來自主機裝置的寫入量為1且在數據存儲裝置300中將被處理的壓縮的寫入量為N(N為等于或大于0的整數),則塊使用信息控制單元326向寫指令單元350分配一個未用塊并向壓縮單元370分配N個未用塊。塊使用信息控制單元3可以通過包括在由塊使用信息存儲單元2存儲的塊使用信息中的已用塊的數目的信息或未用塊的數目的信息來確定N的值。如果N的值被設定為大于在數據存儲裝置300中將被處理的壓縮的寫入量且在對應的時間點處來自主機裝置的寫入量為1,則當來自主機裝置的寫請求的載荷不大時,塊使用信息控制單元3首先執行壓縮處理并減小在將來將被執行的壓縮處理的量,由此,可以改善當來自主機裝置的寫請求的載荷在將來增加時的響應性。塊使用信息控制單元3根據更新的內容而更新由塊使用信息存儲單元2存儲的塊使用信息。塊使用信息控制單元3重新開始壓縮單元370的被掛起的處理。塊使用信息控制單元326向日志存儲單元284通知關于被分配的(N+1)個塊的塊分配信息。按該分配信息的順序,被分配到壓縮單元370的塊在時間上先于被分配到寫指令單元350的塊。當多個塊被分配到壓縮單元370時,該分配信息的順序變為壓縮單元370所使用的塊的順序。例如,在如圖21到25所示分配塊的情況下的該分配信息的順序變為塊A、塊B、塊C以及塊D的順序。在如圖沈所示分配塊的情況下的該分配信息的順序變為期限1中的塊A、期限2中的塊B和塊C、期限3中的塊D、期限4中的塊E、期限5中的塊F以及期限6中的塊G和塊H的順序。塊使用信息控制單元3請求日志存儲單元284提交向日志存儲單元284通知的信息。日志存儲單元284從塊使用信息控制單元3接收提交通知,并請求半導體存儲介質控制單元203存儲該暫時存儲的更新信息。半導體存儲介質控制單元203記錄該暫時存儲的更新信息作為日志。如果不能預先識別出其中記錄了日志的半導體存儲介質205的物理地址,則在向數據存儲裝置300供電時,管理信息不能被恢復。出于該原因,使其中記錄了日志的半導體存儲介質205的物理地址指示半導體存儲介質205的預定區域或指示可通過在半導體存儲介質205的該預定區域中記錄的信息而跟蹤的區域。如上所述,在圖四中,通過塊分配事件而記錄日志。然而,因為該塊分配事件與寫處理中的塊分配處理處于相同的時間,如圖15的步驟S64所示,在最后不能執行日志提交處理,因此需要一經要求就提交日志。在步驟S162.5中,壓縮單元370請求壓縮日志結構指針控制單元242更新壓縮日志結構指針以指示通過塊使用信息控制單元3分配的下一塊的首部的頁或者新分配的塊中的第一塊的首部的頁。壓縮日志結構指針控制單元242更新由壓縮日志結構指針存儲單元存儲的壓縮日志結構指針以指示被指派的塊的被指派的頁。因為步驟S165的處理與圖15的步驟S65的處理相同,將不再重復描述。接下來,將參考圖30描述由數據存儲裝置300執行的管理信息恢復處理的序列。圖30為示出了由數據存儲裝置300執行的管理信息恢復處理的序列的流程的實例的流程圖。當電力被供給到數據存儲裝置300時,數據存儲裝置300恢復管理信息。在需要恢復管理信息的時刻,甚至在除了電力被供給到數據存儲裝置300時之外的情況下,數據存儲裝置300可恢復管理信息。例如,當檢測到在DRAMM中存儲的管理信息的數據損壞時,數據存儲裝置300可執行管理信息恢復處理。首先,因為步驟S181到S184的處理與圖17的步驟S81到S84的處理幾乎相同,將不再重復描述。然而,步驟S183的日志的種類包括指示出該塊被收集為未用塊的空閑塊收集信息、指示出完成了塊的追加的塊追加完成信息、以及指示出塊的分配的塊分配信息。步驟S183的處理對應于圖17的更新根據日志信息而恢復的管理信息的步驟S83的處理并示出了根據每個日志的種類的處理。在該情況下,在新分配的塊的信息中,按照由壓縮單元237所使用的塊的順序排列用于壓縮追加的一個或多個塊的信息,并且排列由寫指令單元350所使用的用于主機追加的塊的信息。因此,關于每個被分配的塊號碼,重復執行對塊的分配日志的恢復處理。下文中,將描述根據每個日志的種類的處理。首先,將參考圖31描述當每個日志的種類為塊分配信息時的恢復處理的流程的序列。圖31為示出了當每個日志的種類為塊分配信息時的恢復處理的序列的流程的實例的流程圖。在步驟S201中,日志恢復單元394向半導體存儲介質控制單元203發出對在日志中記錄的塊號碼的塊從首部的頁依次讀取頁的請求。也就是,重復執行以下處理。半導體存儲介質控制單元203讀出半導體存儲介質205的被指派的物理地址的數據,并提供該數據。日志恢復單元394從半導體存儲介質控制單元203接收所讀出的頁的數據。在步驟S202中,日志恢復單元394確定所讀出的頁是否為未被記錄的頁。具體而言,因為包括如圖27所示的冗余區的數據的被擦除的頁的數據的所有位具有1的值,如果確定是否所有位的值變為1,則可以識別出所讀出的頁是未被記錄的頁。當所讀出的頁是未被記錄的頁時,處理進行到步驟S203。而當所讀出的頁不是未被記錄的頁(即,是被記錄的頁)時,處理進行到步驟S204。在步驟S203中,當對應的塊是用于主機寫的日志結構塊時,日志恢復單元394請求主機寫日志結構指針控制單元232更新主機寫日志結構指針以指示該未被記錄的頁。同樣,當對應的塊是為壓縮追加而分配的塊時,日志恢復單元394請求壓縮日志結構指針控制單元242更新壓縮日志結構指針。主機寫日志結構指針控制單元232接收來自日志恢復單元394的主機寫日志結構指針更新請求,并更新由主機寫日志結構指針存儲單元230存儲的主機寫日志結構指針。壓縮日志結構指針控制單元242接收來自日志恢復單元394的壓縮日志結構指針更新請求,并更新由壓縮日志結構指針存儲單元240存儲的壓縮日志結構指針。在步驟S204中,日志恢復單元394從所讀出的數據提取逆向查找邏輯地址信息。在步驟S205到S209中,基于所提取的逆向查找邏輯地址信息,日志恢復單元394使轉換表的所提取的逆向查找邏輯地址信息的條目指示所讀出的頁。具體而言,在讀取該頁之前,日志恢復單元394向轉換表控制單元221詢問與所提取的逆向查找邏輯地址對應的物理地址(更新前的物理地址)。在讀取該頁之前,轉換表控制單元221參照由轉換表存儲單元223存儲的轉換表并提供與所提取的逆向查找邏輯地址對應的物理地址(更新前的物理地址)。在讀取該頁之前,日志恢復單元394獲取與所提取的逆向查找邏輯地址對應的物理地址(更新前的物理地址)。日志恢復單元394請求轉換表控制單元221使與所獲取的更新前的物理地址對應的有效頁標志變為OFF。日志恢復單元394請求轉換表控制單元221減小與所獲取的更新前的物理地址對應的塊的有效頁計數器。日志恢復單元394請求轉換表控制單元221使與所讀出的頁對應的有效頁標志變為ON。日志恢復單元394請求轉換表控制單元221增加與所讀出的頁對應的塊的有效頁計數器。日志恢復單元394請求轉換表控制單元221更新正向查找表的所提取的逆向查找邏輯地址以指示與所讀出的頁對應的物理地址區信息。轉換表控制單元221根據指令而更新由轉換表存儲單元323存儲的轉換表。如上所述,執行與在頁寫入時的轉換表的更新處理相同的處理。也就是,在第三實施例中,不在日志中詳細記錄并且不恢復管理信息的更新信息,并且記錄管理信息被更新的因素,再現從該因素更新的管理信息的方面,并恢復管理信息。在步驟S210中,根據需要,從步驟S201重復處理。在該情況下,在同一期限中,即使當在相同的邏輯地址中產生主機寫處理和壓縮處理時,根據壓縮寫的改變被最先反映在管理信息上,然后根據主機寫的改變被反映。最后,管理信息的序列示出進行了主機寫的頁。由此,確保了管理信息的一致性。接下來,將參考圖32描述當每個日志的種類為塊的追加完成信息時的恢復處理的流程的序列。圖32為示出了當每個日志的種類為塊的追加完成信息時恢復處理的流程的序列的流程的實例的流程圖。在日志中,記錄新分配的塊的信息、塊的追加完成信息、以及指示出塊被收集為未用塊的信息。只要沒有完成在某個期限中分配的所有塊的追加,該期限就不會進行到下一期限。在步驟S220中,當按記錄的次序跟蹤日志時,日志恢復單元394確認在其中記錄了在某個期限中分配的所有塊的追加完成信息的狀態下記錄下一期限的塊分配的日志,并可調查該日志的有效性。當存儲了在分配了塊之后直到完成了追加為止的被追加在該塊中的所有頁的逆向查找邏輯地址并且在對應的塊的追加完成日志中包括被追加在該對應的塊中的頁的逆向查找邏輯地址時,通過僅僅查看該追加完成日志便可以識別出在該塊中追加的所有頁的逆向查找邏輯地址。由此,可以極大地減少圖31的步驟S201的處理,也就是,從半導體存儲介質205的讀處理。出于該原因,可以僅關于進行了最后追加的塊而從首部依次讀取各頁。結果,可以縮短管理信息恢復處理的處理時間。接下來,將參考圖33描述當每個日志的種類為空閑塊收集信息時的恢復處理的流程的序列。圖33為示出了當每個日志的種類為空閑塊收集信息時恢復處理的序列的流程的實例的流程圖。在步驟S230中,日志恢復單元394請求塊使用信息控制單元3將對應的塊的使用狀態變為未用狀態。塊使用信息控制單元3根據來自日志恢復單元394的請求而更新由塊使用信息存儲單元2存儲的塊使用信息。通過上述處理,在極大地減小日志記錄次數的同時可以正確地恢復管理信息。結果,與關于存儲介質的數據的寫性能相比,可以進一步改善關于來自主機裝置的寫請求的寫性能。此外,可以增加數據存儲裝置的設計壽命。在第三實施中,在塊分配規則中存在下列兩個約束。第一約束為,當主機寫日志結構指針和壓縮日志結構指針使用在對應的期限中分配的所有塊時,同步進行對用于壓縮追加的日記結構塊和用于主機寫的日志結構塊的新塊分配。第二約束涉及被分配的塊的數目,S卩,當在對應時間點處來自主機裝置的寫入量為1且在數據存儲裝置中將被處理的壓縮的寫入量為N(N為等于或大于0的整數)時,將一個未用塊分配給用于主機追加的塊,而將N個未用塊分配給用于壓縮追加的塊。接下來,將參考圖34到38描述其中由于違反上述約束而不能正確地恢復管理信息的實例,同時考慮正向查找表的恢復。因為下述情況可應用于有效頁標志或有效頁計數器的恢復,這里將不再重復說明。在塊被用于主機寫和壓縮的情況下,如圖34所示,用于主機寫的日志結構指針到達塊的末端。在該情況下,違反第一約束而獲取新塊,并且如圖35所示,連續地處理來自主機裝置的寫存取。在該情況下,因為在來自主機的寫存取中產生了地址偏離(deviation),如圖35和36所示,在用于壓縮的塊A中記錄的LBA2的數據被無效化,塊B變為壓縮目標,并且LBA4的數據被復制到用于壓縮的塊A中。圖37示出了在該時間點處的日志。在圖36所示的情況下,因為對數據存儲裝置300的供電被打斷并再次向數據存儲裝置300供電,正向查找表的內容被恢復。在該情況下,如圖37所示,因為指示出“準備塊”的日志的時間順序為塊A、塊B、塊C和塊D的順序,按該順序讀取每個塊的頁并恢復圖38中所示的正向查找表。在圖38中所示的該正向查找表中,關于LBA4的正向查找表的信息指示出不是最新的塊B的頁0。接下來,將參考圖39到44描述其中由于保持上述約束而可以正確地恢復管理信息的實例,同時考慮正向查找表的恢復。在塊被用于主機寫和壓縮的情況下,如圖39所示,用于主機寫的日志結構指針到達該塊的末端。在該情況下,保持第一約束,延遲對新塊的獲取,直到用于壓縮的日志結構指針到達該塊的末端(如圖40所示)為止,并且當日志指針到達被用于寫的塊的末端時獲取新塊。然后,連續地進行根據來自主機裝置的寫請求的寫和壓縮寫,并同步進行對塊的獲取,如圖41所示。如圖42所示,用于主機寫的塊B被設定為壓縮目標并進行壓縮,并且在塊B中存在的有效頁被復制到塊E中。圖43示出了在該時間點處的日志。在圖42所示的情況下,因為對數據存儲裝置300的供電被打斷并再次向數據存儲裝置300供電,正向查找表的內容被恢復。圖44示出了恢復的正向查找表。因為所關注的LBA(邏輯地址)為第四LBA,在圖42中沒有示出第十一到第十七LBA。如果約束被保持,則因為當日志結構指針獲取新塊時需要以組(group)的形式獲取用于主機寫的塊和用于壓縮的塊,即使在重新構造正向查找表的情況下,也以組為單位執行恢復處理。在圖44的狀態下,獲得包括塊A和B的組、塊C和D的組、以及塊E和F的組的三個組。這三個組的恢復順序為在寫處理中塊被使用的順序。首先,依次讀取塊A和B的組的頁、塊C和塊D的組的頁、以及塊E和F的組的頁,并恢復正向查找表。在每一組中,在讀出用于壓縮的塊的頁并恢復正向查找表之后,讀出用于主機寫的塊的頁并恢復正向查找表。例如,關于塊A和B的組,在處理塊A的頁之后,處理塊B的頁。如圖44的正向查找表恢復結果所示,可以看出,因為與圖36示出的存取模式一樣地產生了地址偏離,盡管立即壓縮了從主機裝置寫入的數據,正向查找表的恢復結果也確保了一致性。第一約束為這樣的約束,該約束在兩個寫指針使用所有所獲取的塊時使塊的獲取被進行以寫入具有不同特性的兩種數據,并使關于每一個塊的寫歷史以正確的順序被存儲和指定。通過該配置,可以看出,如果第一約束沒有被保持,則不能正確地進行通過日志進行的正向查找表恢復。第二約束為這樣的約束,該約束使來自主機裝置的寫請求頻率的改變或未用塊的數目的改變被動態地反映,同時保持第一約束。在不需要進行壓縮的情況下,例如,在系統的使用開始之后的即刻,不通過用于壓縮的日志結構指針獲取塊。而在由于系統的未用塊的數目減小而導致需要進行壓縮的情況下,通過用于壓縮的日志結構指針而獲取許多塊,并產生關于主機寫而進行了多次壓縮的情況。以該方式,可以確保在對應時間點處所需的壓縮的寫入量,并且,可以盡可能地避免這樣的情況,該情況為,即使當一個日志結構指針到達被分配的塊的末端時,處理也被掛起,直到其它日志結構指針到達被分配的塊的末端為止。第四實施例在第四實施例中,將描述其中在轉換表中不包括有效頁標志的實例。如果在頁中寫入的逆向查找邏輯地址與正向查找表之間實現了下列第一和第二關系,則可以采用其中在轉換表中不包括有效頁標志的配置。第一關系為,“當通過在頁中寫入的逆向查找邏輯地址而參照正向查找表并且在正向查找表中記錄的物理地址指示對應的頁時,這意味著,在對應的頁的寫入之后未進行對對應的邏輯地址的寫入,并且該對應的頁是有效的”。第二關系為,“當通過在頁中寫入的逆向查找邏輯地址而參照正向查找表并且在正向查找表中記錄的物理地址不指示對應的頁時,這意味著,在對應的頁的寫入之后進行了對對應的邏輯地址的寫入,并且該對應的頁是無效的”。當轉換表被構建為不包括有效頁標志時,使用上述關系,用下列處理來代替參照上述有效頁標志的ON和OFF的處理。(1)讀取頁的數據的處理。(2)通過逆向查找邏輯地址而參照正向查找表并確定在正向查找表中記錄的物理地址是否指示由(1)讀出的頁的處理。(3)當(2)變為真時確定有效頁標志為ON并且當(2)變為假時確定有效頁標志為OFF的處理。如上所述,在第四實施例中,通過使用其中在轉換表中不包括有效頁標志的配置,可以減小管理信息的存儲器使用量。當可以減小管理信息的存儲器使用量時,這意味著,可以減小將被存儲為快照的容量。結果,可以減小存儲快照所需的處理時間,可以減小對半導體存儲介質的寫入量,并且可以增加數據存儲裝置的設計壽命。“在頁中寫入的逆向查找邏輯地址”可以被讀作“在轉換表中的對應于對應的頁的逆向查找邏輯地址”。第五實施例在第五實施例中,將描述這樣的實例,其中各種處理不是按塊單位執行,而是按其中組合了多個塊的被稱為邏輯塊的單位執行。下文中,將塊稱為物理塊以使塊和邏輯塊彼此區分開。當按邏輯塊單位執行處理時,正向查找表具有圖45所示的第一階段(firststage)的LBA表和圖46所示的第二階段的邏輯/物理轉換表。LBA表使用邏輯地址作為索引并包括邏輯地址、被分派到該邏輯地址的邏輯塊號碼、信道號碼、以及被分派到頁的頁號碼。按塊產生順序分派邏輯塊號碼。信道號碼在圖1所示的配置的情況下變為CHO到CH5并示出了寫入寫目標數據被寫入的信道。邏輯/物理轉換表是指示出屬于邏輯塊的每個信道的每個物理塊的信息。邏輯/物理轉換表使用邏輯塊號碼作為索引并包括邏輯塊號碼和用于在邏輯塊中包括的每個通道的每個物理塊號碼。在圖47中示出了逆向查找表、有效頁標志和有效頁計數器。如圖47所示,逆向查找表、有效頁標志和有效頁計數器使用邏輯塊號碼作為索引,并包括作為條目的邏輯塊號碼、有效頁計數器、每個通道的每個物理塊的邏輯地址、以及有效頁標志組。每個信道的每個物理塊的邏輯地址和有效頁標志組使用信道號碼作為索引,并且信道號碼、邏輯地址和有效頁標志按設置在對應的物理塊中的頁的順序排列,從而可以指定與邏輯地址信息或有效頁標志信息對應的頁。同一邏輯塊的有效頁計數器的值和有效頁標志的真值的總數目彼此匹配。變為索引的邏輯塊號碼和變為正向查找表的條目的邏輯塊號碼被指派為在同一塊中具有相同的號碼。與圖9所示的逆向查找表相似,逆向查找表為這樣的表,該表指示出由數據存儲裝置存儲的數據的邏輯地址與指示出在半導體存儲介質中實際存儲數據的物理存儲位置的物理地址之間的對應關系,并且當將地址從物理地址轉變為邏輯地址時使用該表,這與正向查找表相反。有效頁標志使用真/假值示出了在物理塊中包括的各頁當中的寫入了有效數據的有效頁。有效頁計數器示出了在物理塊中包括的各頁當中的有效頁的數目。在該情況下,如果如圖48所示確定構成邏輯塊的物理塊的各頁的寫入順序,即,日志結構指針的推進方法,則可以用以邏輯塊為單位的處理來代替上述以(物理)塊為單位的各種處理。由此,可以對多個半導體存儲介質進行共同地(collectively)存取,并可以提高存取速度。通過組合第三實施例或第四實施例,可以使用其中不包括逆向查找表或有效頁標志的配置。根據上述至少一個實施例的控制器,寫指令單元指令數據存取單元在數據存儲單元的由第一物理地址指示的存儲區中寫入寫目標數據,指令管理信息存取單元更新地址轉換信息,并指令第一存取單元更新所述第一物理地址。壓縮單元提取壓縮目標數據的物理地址,指令所述數據存取單元讀取在所述數據存儲單元的由所述物理地址指示的存儲區中所存儲的所述壓縮目標數據,指令所述數據存取單元在所述數據存儲單元的由第二物理地址指示的存儲區中寫入所述壓縮目標數據,指令所述管理信息存取單元更新所述地址轉換信息,并指令第二存取單元更新所述第二物理地址。因此,可以改善通常使用性能。雖然已經描述了特定的實施例,但這些實施例僅僅被作為實例而給出,并不旨在限制本發明的范圍。事實上,這里描述的新穎實施例可以以其它形式的變體實現;此外,可以在不背離本發明的精神的情況下,對這里描述的實施例做出形式上的各種省略、替代和改變。所附權利要求及其等價物旨在涵蓋落入本發明的范圍和精神內的這樣的形式或修改。權利要求1.一種控制器,其被連接到數據存取單元、管理信息存取單元、第一存取單元以及第二存取單元,所述數據存取單元向存儲數據的數據存儲單元寫入數據并從所述數據存儲單元讀出數據,所述管理信息存取單元向存儲管理信息的管理信息存儲單元寫入數據并從所述管理信息存儲單元讀出數據,所述管理信息包括其中所述數據存儲單元的物理地址和邏輯地址彼此關聯的地址轉換信息,所述第一存取單元向存儲所述數據存儲單元的第一物理地址的第一存儲單元寫入數據并從所述第一存儲單元讀出數據,所述第二存取單元向存儲所述數據存儲單元的第二物理地址的第二存儲單元寫入數據并從所述第二存儲單元讀出數據,所述控制器包括接收器,其接收來自主機裝置的數據寫請求;寫指令單元,其指令所述第一存取單元讀出所述第一物理地址,指令所述數據存取單元在所述數據存儲單元的由所述第一物理地址指示的存儲區中寫入寫目標數據,指令所述管理信息存取單元更新所述寫目標數據的所述地址轉換信息,并指令所述第一存取單元更新所述第一物理地址,所述寫目標數據是由主機裝置請求寫入的數據;以及壓縮單元,其指令所述管理信息存取單元讀出所述管理信息,基于所讀出的所述管理信息而提取在所述數據存儲單元中存儲的數據當中的壓縮目標數據的物理地址,指令所述數據存取單元讀出在所述數據存儲單元的由所述物理地址指示的存儲區中存儲的所述壓縮目標數據,指令所述第二存取單元讀出所述第二物理地址,指令所述數據存取單元在所述數據存儲單元的由所讀出的所述第二物理地址指示的存儲區中寫入所述壓縮目標數據,指令所述管理信息存取單元更新所述壓縮目標數據的所述地址轉換信息,并指令所述第二存取單元更新所述第二物理地址。2.根據權利要求1的控制器,其中,當所述壓縮目標數據的讀取源的存儲區為被無效的存儲區時,所述壓縮單元不指令所述管理信息存取單元更新所述地址轉換信息。3.根據權利要求1的控制器,還包括快照存儲單元,其指令所述數據存取單元在所述數據存儲單元中存儲所述管理信息作為快照;日志存儲單元,其指令所述數據存取單元在所述數據存儲單元中存儲所述管理信息的更新信息作為日志;快照恢復單元,其指令所述數據存取單元讀出在所述數據存儲單元中存儲的所述快照并將所述快照恢復作為所述管理信息;以及日志恢復單元,其指令所述數據存取單元讀出在所述數據存儲單元中存儲的所述日志并將所述日志應用于由所述快照恢復單元恢復的所述管理信息以恢復所述管理信息。4.根據權利要求3的控制器,其中,為所述寫目標數據分配用于主機寫的日志結構塊,為所述壓縮目標數據分配用于壓縮的日志結構塊,所述寫指令單元指令所述數據存取單元在所述用于主機寫的日志結構塊的頁中寫入所述寫目標數據和所述寫目標數據的邏輯地址,所述壓縮單元指令所述數據存取單元在所述用于壓縮的日志結構塊的頁中寫入所述壓縮目標數據和所述壓縮目標數據的邏輯地址,并且所述控制器還包括塊使用信息控制單元,當對所述用于主機寫的日志結構塊的所有頁完成了寫入且對所述用于壓縮的日志結構塊的所有頁完成了寫入時,所述塊使用信息控制單元為所述寫目標數據分配新的用于主機寫的日志結構塊,為所述壓縮目標數據分配新的用于壓縮的日志結構塊,并且按所述用于壓縮的日志結構塊和所述用于主機寫的日志結構塊的順序記錄分配信息作為日志。5.根據權利要求4的控制器,其中,所述塊使用信息控制單元相對于分配一個新的用于主機寫的日志結構塊而分配N(N為等于或大于0的整數)個新的用于壓縮的日志結構塊。6.根據權利要求4的控制器,其中,所述壓縮單元參照所述地址轉換信息,當與在所述頁中寫入的所述壓縮目標數據的邏輯地址關聯的物理地址指示所述頁時確定所述頁是有效的,而當與在所述頁中寫入的所述壓縮目標數據的邏輯地址關聯的物理地址不指示所述頁時確定所述頁是無效的。7.一種數據存儲裝置,包括數據存儲單元,其存儲數據;管理信息存儲單元,其存儲管理信息,所述管理信息包括其中所述數據存儲單元的物理地址和邏輯地址彼此關聯的地址轉換信息,第一存儲單元,其存儲所述數據存儲單元的第一物理地址;第二存儲單元,其存儲所述數據存儲單元的第二物理地址;數據存取單元,其向所述數據存儲單元寫入數據并從所述數據存儲單元讀出數據,管理信息存取單元,其向所述管理信息存儲單元寫入數據并從所述管理信息存儲單元讀出數據;第一存取單元,其向所述第一存儲單元寫入數據并從所述第一存儲單元讀出數據;第二存取單元,其向所述第二存儲單元寫入數據并從所述第二存儲單元讀出數據;接收器,其接收來自主機裝置的數據寫請求;寫指令單元,其指令所述第一存取單元讀出所述第一物理地址,指令所述數據存取單元在所述數據存儲單元的由所述第一物理地址指示的存儲區中寫入寫目標數據,指令所述管理信息存取單元更新所述寫目標數據的所述地址轉換信息,并指令所述第一存取單元更新所述第一物理地址,所述寫目標數據是由主機裝置請求寫入的數據;以及壓縮單元,其指令所述管理信息存取單元讀出所述管理信息,基于所讀出的所述管理信息而提取在所述數據存儲單元中存儲的數據當中的壓縮目標數據的物理地址,指令所述數據存取單元讀出在所述數據存儲單元的由所述物理地址指示的存儲區中存儲的所述壓縮目標數據,指令所述第二存取單元讀出所述第二物理地址,指令所述數據存取單元在所述數據存儲單元的由所讀出的所述第二物理地址指示的存儲區中寫入所述壓縮目標數據,指令所述管理信息存取單元更新所述壓縮目標數據的所述地址轉換信息,并指令所述第二存取單元更新所述第二物理地址。8.一種用于控制器的程序產品,所述控制器被連接到數據存取單元、管理信息存取單元、第一存取單元以及第二存取單元,所述數據存取單元向存儲數據的數據存儲單元寫入數據并從所述數據存儲單元讀出數據,所述管理信息存取單元向存儲管理信息的管理信息存儲單元寫入數據并從所述管理信息存儲單元讀出數據,所述管理信息包括其中所述數據存儲單元的物理地址和邏輯地址彼此關聯的地址轉換信息,所述第一存取單元向存儲所述數據存儲單元的第一物理地址的第一存儲單元寫入數據并從所述第一存儲單元讀出數據,所述第二存取單元向存儲所述數據存儲單元的第二物理地址的第二存儲單元寫入數據并從所述第二存儲單元讀出數據,所述程序產品具有包括程序指令的計算機可讀介質,其中當由計算機執行所述指令時,所述指令使所述計算機用作接收器,其接收來自主機裝置的數據寫請求;寫指令單元,其指令所述第一存取單元讀出所述第一物理地址,指令所述數據存取單元在所述數據存儲單元的由所述第一物理地址指示的存儲區中寫入寫目標數據,指令所述管理信息存取單元更新所述寫目標數據的所述地址轉換信息,并指令所述第一存取單元更新所述第一物理地址,所述寫目標數據是由主機裝置請求寫入的數據;以及壓縮單元,其指令所述管理信息存取單元讀出所述管理信息,基于所讀出的所述管理信息而提取在所述數據存儲單元中存儲的數據當中的壓縮目標數據的物理地址,指令所述數據存取單元讀出在所述數據存儲單元的由所述物理地址指示的存儲區中存儲的所述壓縮目標數據,指令所述第二存取單元讀出所述第二物理地址,指令所述數據存取單元在所述數據存儲單元的由所讀出的所述第二物理地址指示的存儲區中寫入所述壓縮目標數據,指令所述管理信息存取單元更新所述壓縮目標數據的所述地址轉換信息,并指令所述第二存取單元更新所述第二物理地址。全文摘要本發明涉及控制器、數據存儲裝置以及程序產品。根據一個實施例,寫指令單元指令數據存取單元在數據存儲單元的由第一物理地址指示的存儲區中寫入寫目標數據,指令管理信息存取單元更新地址轉換信息,并指令第一存取單元更新所述第一物理地址。壓縮單元提取壓縮目標數據的物理地址,指令所述數據存取單元讀取在所述數據存儲單元的由所述物理地址指示的存儲區中所存儲的所述壓縮目標數據,指令所述數據存取單元在所述數據存儲單元的由第二物理地址指示的存儲區中寫入所述壓縮目標數據,指令所述管理信息存取單元更新所述地址轉換信息,并指令第二存取單元更新所述第二物理地址。文檔編號G06F11/14GK102193748SQ20111004876公開日2011年9月21日申請日期2011年3月1日優先權日2010年3月18日發明者吉井謙一郎,淺野滋博,福富和弘,菅野伸一申請人:株式會社東芝