TWI635392B - Information processing device, storage device and information processing system - Google Patents
Information processing device, storage device and information processing system Download PDFInfo
- Publication number
- TWI635392B TWI635392B TW106122911A TW106122911A TWI635392B TW I635392 B TWI635392 B TW I635392B TW 106122911 A TW106122911 A TW 106122911A TW 106122911 A TW106122911 A TW 106122911A TW I635392 B TWI635392 B TW I635392B
- Authority
- TW
- Taiwan
- Prior art keywords
- storage
- storage devices
- volatile memory
- user data
- address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/463—Program control block organisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/263—Arrangements for using multiple switchable power supplies, e.g. battery and AC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本發明的實施形態係提供能夠防止使用者資料消失的資訊處理裝置、儲存裝置及資訊處理系統。
實施形態的資訊處理裝置具備:電源電路、處理器。電源電路響應電源消失的事件,使用來自備用電源的電力對複數儲存裝置供應電力。處理器在電源消失的事件後,將指示使用者資料應保存至非揮發性記憶媒體的保存的第1保存指示發送至複數儲存裝置。處理器在從複數儲存裝置的全部接收到表示使用者資料的保存結束的應答時,將指示應要把經更新的位址變換資訊保存至非揮發性記憶媒體的第2保存指示發送至複數儲存裝置的全部或一個以上的儲存裝置。
Description
本申請案享有日本專利申請案號2017-49903申請日:2017年3月15日)為基礎的優先權。本申請案參照該基礎申請案而包含基礎申請案的所有內容。
本發明的實施形態係有關於資訊處理裝置、儲存裝置及資訊處理系統。
在伺服器電腦這種資訊處理裝置中,為了改善其輸入輸出性能,有搭載複數儲存裝置的情形。作為儲存裝置會使用固態驅動器(SSD)、或硬碟驅動器(HDD)。
該等儲存裝置大多具有功率耗損保護(PLP)功能。具有PLP功能的儲存裝置大多具備電容,以防止因停電等未預期的電源消失所引起的使用者資料的消失。
但是,在各個儲存裝置中搭載電容這種系統構成,是導致系統成本上升的要因。
本發明的實施形態係提供能夠防止使用者資料消失的資訊處理裝置、儲存裝置及資訊處理系統。
根據實施形態,為一種將具備揮發性記憶體及非揮發性記憶媒體的各個邏輯位址與具備前述非揮發性記憶媒體的各個物理位址之間的對映以使用位址變換表來管理之能連接至複數儲存裝置的資訊處理裝置,具備:電源電路、處理器。前述電源電路響應電源消失的事件,使用來自備用電源的電力對前述資訊處理裝置的組成及前述複數儲存裝置供應電力。前述處理器在前述電源消失的事件後,將指示應要把未寫入前述非揮發性記憶媒體的使用者資料從前述揮發性記憶體保存至前述非揮發性記憶媒體的第1保存指示發送至前述複數儲存裝置。前述處理器在從前述複數儲存裝置的全部接收到表示向前述非揮發性記憶媒體的使用者資料的保存結束的應答時,將指示應要把表示前述位址變換表的更新內容且未寫入前述非揮發性記憶媒體的經更新的位址變換資訊從前述揮發性記憶體保存至前述非揮發性記憶媒體的第2保存指示,發送至前述複數儲存裝置的全部或前述複數儲存裝置內的一個以上的儲存裝置。
2‧‧‧主計算機
3-1~3-5‧‧‧SSD
4‧‧‧控制器
5‧‧‧NAND型快閃記憶體
6‧‧‧DRAM
21‧‧‧備用電力量判定部
22‧‧‧第1保存部
23‧‧‧第1保存結束通知部
24‧‧‧第2保存部
25‧‧‧第2保存結束通知部
26‧‧‧位址變換表再構築部
40‧‧‧處理器
40‧‧‧處理器
43‧‧‧電源電路
44‧‧‧備用電源(Backup power source)
64‧‧‧PLP管理器
64A‧‧‧電力量通知模組
64B‧‧‧功率耗損檢出模組
64C‧‧‧第1保存指示發送模組
64D‧‧‧第1保存結束通知接收模組
64E‧‧‧第2保存指示發送模組
64F‧‧‧第2保存結束通知接收模組
[圖1]表示實施形態的資訊處理系統的構成例的區塊圖。
[圖2]表示同實施形態的資訊處理系統內的主計算機的PLP管理器的構成例的圖。
[圖3]表示同實施形態的資訊處理系統內的SSD的構成例的區塊圖。
[圖4]表示藉由主計算機及SSD執行的寫入動作的處理順序的圖。
[圖5]表示寫入非揮發性記憶體內的區塊內的同一頁面之使用者資料與LBA間的關係、及寫入區塊內的特定之頁面的LBA清單的圖。
[圖6]表示藉由同實施形態的資訊處理系統內的SSD所執行的第1保存動作的處理順序的圖。
[圖7]表示藉由第1保存動作寫入非揮發性記憶體內的,區塊內的同一頁面之使用者資料與LBA間的關係、及寫入該區塊內的特定之頁面的LBA清單的圖。
[圖8]表示藉由主計算機及複數SSD執行的寫入第1保存動作及第2保存動作的處理順序的圖。
[圖9]表示藉由主計算機及複數SSD執行的寫入第1保存動作及第2保存動作的別的處理順序的圖。
[圖10]表示藉由主計算機所執行的發送第1保存指示的處理順序的流程圖。
[圖11]表示藉由主計算機所執行的發送第2保存指示的處理順序的流程圖。
[圖12]表示藉由主計算機所執行的發送第2保存指示的處理別的順序的流程圖。
[圖13]表示在電源消失的事件發生前的通常運作期間中,藉由主計算機與複數SSD執行的處理的處理順序的
圖。
[圖14]表示限制在SSD內的揮發性記憶體中可蓄積的使用者資料的量及經更新的位址變換資訊的量的處理順序的圖。
[圖15]表示將未寫入非揮發性記憶體中的使用者資料保存於非揮發性記憶體的複數區塊的動作的圖。
[圖16]表示將位址變換表再構築的動作的圖。
[圖17]表示藉由SSD所執行的位址變換表再構築處理的順序的流程圖。
[圖18]表示可連接至主計算機的HDD的構成例的圖。
[圖19]表示藉由圖18的HDD執行的更新資料寫入動作的圖。
[圖20]表示作為主計算機作用的電腦的構成例的圖。
以下,參照附圖說明實施形態。
首先,參照圖1,說明實施形態的包含資訊處理裝置之資訊處理系統1的構成。
該資訊處理系統1,包含:主計算機(主裝置)2、複數儲存裝置3-1、3-2、3-3、3-4、3-5。主計算機2為存取複數儲存裝置3-1、3-2、3-3、3-4、3-5的資訊處理裝置(計算裝置)。主計算機2可以是將大量且多樣的資料儲存至複數儲存裝置3-1、3-2、3-3、3-4、3-5之儲存伺服器,也可以是個人電腦。
儲存裝置3-1、3-2、3-3、3-4、3-5的各個可以內藏於作為主計算機2作用的資訊處理裝置中,通過電纜連接該資訊處理裝置也可以。
作為相互連接主計算機2與儲存裝置3-1、3-2、3-3、3-4、3-5的各個的介面,可以使用SCSI、Serial Attached SCSI(SAS)、ATA、Serial ATA(SATA)、PCI Express(PCIe)、Ethernet(註冊商標)、Fibre channel、NVM Express(NVMe)(註冊商標)等。
儲存裝置3-1、3-2、3-3、3-4、3-5的各個具備:如DRAM的揮發性記憶體、及非揮發性記憶媒體,使用位址變換表來管理各個邏輯位址與各個非揮發性記憶媒體的物理位址之間的對映。揮發性記憶體作為將來自主計算機2的寫入資料暫時儲存的寫入緩衝器來使用。又,為了能夠將非揮發性記憶媒體內的位址變換表高速存取,位址變換表的至少一部分係從非揮發性記憶媒體載入揮發性記憶體。當對應某邏輯位址的資料被寫入非揮發性記憶媒體時,表示寫入該資料的非揮發性記憶媒體的物理記憶位置之物理位址,以能夠對映該邏輯位址的方式,將保持於揮發性記憶體中的位址變換表(位址變換資訊)更新。經更新的位址變換資訊,之後,被回寫至非揮發性記憶媒體。藉此,位址變換資訊的更新內容被反映至非揮發性記憶媒體內的位址變換表。
這種儲存裝置之例包含:使用NAND快閃技術基礎的固態驅動器(SSD)、疊瓦式磁記錄(Shingled magnetic
recording:SMR)技術的硬碟驅動器(HDD)。以下,雖說明藉由SSD來實現各個儲存裝置3-1、3-2、3-3、3-4、3-5時的例子,但該等儲存裝置可以使用SSD、SMR技術的HDD的任一者。
SSD3-1具備控制器4及非揮發性記憶體(NAND型快閃記憶體)5。SSD3-1也可以具備隨機存取記憶體,例如,DRAM6。DRAM6作為上述揮發性記憶體來作用,NAND型快閃記憶體5作為上述非揮發性記憶媒體來作用。SSD3-1更具有用以連接主計算機2的連接器8。
NAND型快閃記憶體5具有:包含以矩陣狀配置的複數記憶體單元之記憶體單元陣列。NAND型快閃記憶體5可以是二維構造的NAND型快閃記憶體,也可以是三維構造的NAND型快閃記憶體。控制器4使用位址變換表來管理各個邏輯位址與各個NAND型快閃記憶體5的物理位址之間的對映。該位址變換表也可以作為邏輯物理位址變換表(Logial-to-physical address translation table)來參照。
SSD3-1通過連接器8藉由從主計算機2供應的電力VCC來動作。SSD3-2~3-5也與SSD3-1具有一樣的構成。在本實施形態中,當停電這種未預期的電源消失事件發生時,從主計算機2向SSD3-1~3-5以有限的時間供應備用電力。因此,SSD3-1~3-5沒有必要包含用以功率耗損保護(PLP)的電容等。
主計算機2包含:處理器(CPU)40、記憶體41、系統控制器42、電源電路43、及備用電源44等。
處理器40為控制該主計算機2的各組成的動作而構成的CPU。該處理器40執行從複數SSD3-1~3-5的任1個載入至記憶體41的各種程式。記憶體41由DRAM這種隨機存取記憶體來構成。藉由處理器40執行的程式包含:各種應用程式(APL)61、操作系統(OS)62、用以控制SSD3-1~3-5的裝置驅動器63。
OS62也可以包含PLP管理器64。PLP管理器64包含:在因停電這種未預期的電源消失事件發生時,安全地保護SSD3-1~3-5的使用者資料的各種命令。能從主計算機2供應的備用電力量是有限的。因此,若SSD3-1~3-5的一部分之SSD在使用者資料的保存結束後無條件地開始保存元資料(經更新的位址變換資訊)的話,更多的電力會被一部分的SSD所消耗。此時,在其他SSD結束使用者資料的保存之前,來自主計算機2的備用電力會有中斷的可能性。其結果,使用者資料的一部分會消失或被破壞。
為了防止使用者資料的一部分的消失或破壞,處理器40藉由執行PLP管理器64的命令群,來執行以下的處理。
處理器40在電源消失的事件之後,將第1保存指示分別發送至SSD3-1~3-5。第1保存指示為對SSD3-1~3-5指示應要將未寫入NAND型快閃記憶體5的使用者資料從DRAM6保存至NAND型快閃記憶體5。各SSD僅將使用者資料保存於NAND型快閃記憶體5,不執行將經更新的位址變換資訊保存於NAND型快閃記憶體5的動作。
當從SSD3-1~3-5的所有接收到表示向NAND型快閃記
憶體5的使用者資料保存結束的應答時,處理器40將第2保存指示發送至SSD3-1~3-5的全部或SSD3-1~3-5內的一個以上的SSD。第2保存指示為對SSD3-1~3-5指示應要將表示位址變換表的更新內容且未寫入NAND型快閃記憶體5的經更新的位址變換資訊從DRAM6保存至NAND型快閃記憶體5。接收到第2保存指示的各SSD,將經更新的位址變換資訊保存於NAND型快閃記憶體5。藉此,能夠將用以高速存取NAND型快閃記憶體5的位址變換表維持在最新的狀態。藉此,在將經更新的位址變換資訊保存於NAND型快閃記憶體5中的SSD中,當電源回復時,就不需要再構築該位址變換表。因此,將經更新的位址變換資訊保存於NAND型快閃記憶體5的SSD,能夠在來自主計算機2的電源回復後直接變成通常動作可能狀態。
在向SSD3-1~3-5內的一個以上的SSD發送第2保存指示的例子中,處理器40僅向比位址變換表的再構築還需要更多時間的一個以上的SSD發送第2保存指示也可以。接著,當從該等一個以上的SSD的全部接收到表示經更新的位址變換資訊的保存結束的應答時,處理器40將第2保存指示發送至剩下的各SSD也可以。藉此,可以保證比位址變換表的再構築還需要更多時間的SSD結束了經更新的位址變換資訊的保存。這種情況,可以縮短電源回復後所有的SSD3-1~3-5回復至通常動作狀態所需要的時間。
或者,在向SSD3-1~3-5內的一個以上的SSD發送第2保存指示的例子中,處理器40可以選擇儲存有高存取頻度
的資料的一個以上的SSD、或儲存更高重要度的使用者資料的一個以上的SSD,將第2保存指示僅發送至該等選擇出的一個以上的SSD。接著,當從該等一個以上的SSD的全部接收到表示經更新的位址變換資訊的保存結束的應答時,處理器40將第2保存指示發送至剩下的各SSD也可以。藉此,能夠使儲存具有高存取頻度的資料或重要度更高的使用者資料的SSD更迅速地回復成通常動作狀態。
系統控制器42作為以控制各種周邊裝置而構成的控制器來作用。系統控制器42可以包含:SAS expander、PCIe Switch、PCIe expander、快閃陣列控制器、或RAID控制器。
電源電路43連接至外部電源50及備用電源(Backup power source)44。電源電路43響應停電這種未預期的電源消失事件,將功率源從外部電源50切換至備用電源(Backup power source)44,使用來自備用電源(Backup power source)44的電力對主計算機2內的組成及SSD3-1~3-5供應電力(備用電力)。該電源電路43監視從外部電源50供應的電源電壓,在當該電源電壓降低時,檢出電源消失事件的發生。當電源消失事件發生時,該電源電路43藉由使分配至處理器40的信號發生,將電源消失事件的發生通知處理器40也可以。
圖2表示PLP管理器64的構成例。
PLP管理器64包含:電力量通知模組64A、功率耗損檢出模組64B、第1保存指示發送模組64C、第1保存結束
通知接收模組64D、第2保存指示發送模組64E、第2保存結束通知接收模組64F。
電力量通知模組64A包含:在未預期的電源消失事件發生前的通常運作期間中,用以將通知電源消失事件後可供應的電力量(備用電力量)通知SSD3-1~3-5的命令群。電源消失事件後可供應的電力量,例如表示對每1台SSD所能供應的電力量。該電力可以因每個SSD而有所不同。例如,對消耗電力大的SSD可以分配較多的電力量。該電力量可以藉由每單位時間的電力〔W〕、及可供應電力的期間〔秒〕來表示。
功率耗損檢出模組64B包含:藉由與電源電路43的通信,來用以檢出未預期的電源消失事件的命令群。
第1保存指示發送模組64C包含用以將上述第1保存指示發送至SSD3-1~3-5的命令群。第1保存結束通知接收模組64D包含:從SSD3-1~3-5接收表示使用者資料的保存結束的應答,用以將表示使用者資料的保存結束/未結束的狀態登錄至使用者資料保存管理表71的命令群。使用者資料保存管理表71包含分別對應複數儲存裝置(這裡為SSD)的複數項目。在各項目中設定有:表示使用者資料的保存未結束的值“0”、或表示使用者資料的保存結束的值“1”。
第2保存結束通知接收模組64E包含:參照使用者資料保存管理表71,用以判定是否從SSD3-1~3-5的全部接收到表示使用者資料的保存結束的應答之命令群、及用以將上述2保存指示發送至全部SSD3-1~3-5或SSD3-1~3-5的
至少一個的命令群。應要送第2保存指示的SSD,係基於儲存裝置管理資訊表72的內容來決定。該儲存裝置管理資訊表72包含分別對應複數儲存裝置(這裡為SSD)的複數項目。在各項目中登錄有:對應的儲存裝置的記憶容量、位址變換管理大小、資料種別、儲存裝置種別等。位址變換管理大小表示邏輯物理位址變換用的管理大小。例如,關於將各個邏輯物理位址與各個物理位址之間的對映以4K位元組單位來管理的方式來構成的儲存裝置,4K位元組成為位址變換管理大小。資料種別表示儲存於對應的儲存裝置中的使用者資料的重要度。或者,資料種別也可以是表示存取頻度的統計值。
在本實施形態中,可以對比位址變換表的再構築還需要更多時間的一個以上的SSD,優先發送第2保存指示。通常,記憶容量越大,越要增加必要的位址變換表的大小。又,邏輯物理位址變換用的管理大小越小,越要增加必要的位址變換表的大小。因此,第2保存指示發送模組64E,包含:基於記憶容量或位址變換管理大小的至少一者,用以從SSD3-1~3-5,選擇比位址變換表的再構築還需要更多時間的一個以上的SSD的命令群也可以。
又,對於儲存重要度高的使用者資料的一個以上的SSD,可以優先發送第2保存指示。此時,第2保存指示發送模組64E,包含:基於根據資料種別而表示的使用者資料的重要度,用以從SSD3-1~3-5,選擇儲存重要度高的使用者資料的一個以上的SSD的命令群也可以。
又,對於儲存有重要度高的使用者資料的一個以上的SSD,可以優先發送第2保存指示。
第2保存結束通知接收模組64F包含:從SSD3-1~3-5接收表示經更新的位址變換資訊(元資料)的保存結束的應答,用以將表示元資料的保存結束/未結束的狀態登錄至元資料保存管理表73的命令群。元資料保存管理表73包含分別對應複數儲存裝置(這裡為SSD)的複數項目。在各項目中設定有:表示元資料的保存未結束的值“0”、或表示元資料的保存結束的值“1”。
再來,第2保存結束通知接收模組64E包含:參照元資料保存管理表73,用以判定是否從優先發送第2保存指示的幾個SSD中的全部接收到表示元資料的保存結束的應答之命令群、及當從優先發送第2保存指示的幾個SSD中的全部接收到表示元資料的保存結束的應答時,用以對剩下的SSD分別發送第2保存指示的命令群也可以。
圖3表示SSD3-1的構成例。
其他的SSD也與SSD3-1具有一樣的構成。
SSD3-1如同上述,包含控制器4、NAND型快閃記憶體5、及DRAM6。
NAND型快閃記憶體5的記憶體單元陣列包含複數區塊B0~Bm-1。各個區塊B0~Bm-1藉由多數的頁面(在這裡為頁面P0~Pn-1)來編成。區塊B0~Bm-1作為消去單位來作用。區塊也稱為「消去區塊」、或「物理區塊」。各個頁面P0~Pn-1包含連接至同一字元線的複數記憶體單元。頁
面P0~Pn-1為資料寫入動作及資料讀入動作的單位。
區塊B0~Bm-1具有有限的消去次數。消去次數可以根據程式/循環(Program/Erase cycles)數來表示。某區塊的一個程式/消去循環(Program/Erase cycles)包含:用以使該區塊內的所有記憶體單元成為消去狀態的消去動作、對該區塊的頁面分別寫入資料的寫入動作(程式動作)。
控制器4通過Toggle、Open NAND Flash Interface(ONFI)這種NAND介面13,電連接至非揮發性記憶體即NAND型快閃記憶體5。NAND介面13作為以控制NAND型快閃記憶體5的方式構成的NAND控制電路來作用。NAND型快閃記憶體5可以包含複數NAND型快閃記憶體。此時,NAND介面13也可以經由複數通道Ch連接至NAND型快閃記憶體晶片。在一個通道中連接有一個以上的NAND型快閃記憶體晶片。
控制器4可以作為執行NAND型快閃記憶體5的資料管理及區塊管理而構成的快閃記憶體轉換層(FTL)作用。在藉由該FTL執行的資料管理中,包含:(1)表示各個邏輯位址與各個NAND型快閃記憶體5的物理位址之間的對應關係的對映資訊的管理、(2)用以隱蔽頁面單位的讀取/寫入與區塊單位的消去動作之處理等。邏輯位址為用以將SSD3-1位址指定而被主計算機2使用的位址。作為該邏輯位址可以使用LBA(logical block address(addressing))。
各個邏輯位址與各個物理位址之間的對映的管理,係利用作為位址變換表(邏輯物理位址變換表)作用的查詢表
(LUT)32來執行。控制器4使用查詢表(LUT)32來將各個邏輯位址與各個物理位址之間的對映以預定的管理大小單位來管理。對應某邏輯位址的物理位址,表示寫入該邏輯位址的資料的NAND型快閃記憶體5內的最新物理記憶位置。位址變換表(LUT32)在SSD3的電源ON時從NAND型快閃記憶體5載入DRAM6也可以。
向頁面的資料寫入可以在每1消去循環僅進行1次。因此,控制器4將對應某邏輯位址的更新資料,寫入別的物理記憶位置,而不是對應該邏輯位址的以前的資料被儲存的物理記憶位置。因此,控制器4在更新查詢表(LUT)32而將該邏輯位址與該別的物理記憶位置附加關連的同時,將以前的資料無效化。
在區塊管理中包含:劣區塊的管理、損耗平衡、垃圾回收等。損耗平衡為用以將各區塊的消耗均一化的動作。垃圾回收係為了使能寫入資料的空區塊的個數增加,將有效資料及無效資料混合的幾個對象區塊內的有效資料移動至別的區塊(例如空區塊)。其中,有效資料指的是從LUT32參照的資料(也就是從邏輯位址作為最新的資料綁定的資料),之後有從主計算機2讀取的可能性的資料。無效資料指的是已經無從主計算機2讀取的可能性的資料。例如,與某邏輯位址附上關連的資料為有效資料,與任何邏輯位址都沒有附上關連的資料為無效資料。
接著,控制器4更新查詢表(LUT)32,將各個被移動的有效資料的邏輯位址對映至移動目標的物理位址。藉由將
有效資料移動至別的區塊,將僅成為無效資料的區塊作為空區塊解放。藉此,該區塊能在消去後再利用。
控制器4可以包含:主介面11、CPU12、NAND介面13、DRAM介面14等。該等CPU12可以通過NAND介面13、DRAM介面14、匯流排10來相互連接。
主介面11從主計算機2接收各種指令(例如、寫入指令、讀取指令、UNMAP/Trim指令、用於第1保存指示的指令、用於第2保存指示的指令等)。寫入指令包含:寫入資料的邏輯位址(開始LBA)、轉送長。讀取指令包含:表示應讀出的資料的最初的邏輯位址(開始LBA)、轉送長。
CPU12為以控制主介面11、NAND介面13、及DRAM介面14的方式構成的處理器。CPU12響應於SSD3的電源ON,將儲存於NAND型快閃記憶體5的控制程式(韌體)載入至DRAM6上,藉由執行該韌體進行各種處理。該CPU12,例如,除了上述FTL的處理以外,也能執行用以處理來自主計算機2的各種指令的指令處理等。CPU12的動作係藉由CPU12執行的上述韌體來控制。此外,FTL處理及指令處理的一部分或全部藉由控制器4內的專用硬體來執行也可以。
CPU12可以作為:備用電力量判定部21、第1保存部22、第1保存結束通知部23、第2保存部24、第2保存結束通知部25、及位址變換表再構築部26來作用。
當在通常運作期間中從主計算機2接收表示電源消失的事件後可供應的電力量之通知時,備用電力量判定部21
基於該通知的電力量,限制能蓄積在DRAM6內的寫入緩衝器(WB)31的未寫入的使用者資料量、及能蓄積在DRAM6的未寫入的經更新的位址變換資訊量(也就是,能保持在查詢表(LUT)32內的髒資料(dirty data)量)。髒資料為分別對應邏輯位址的經更新的物理位址的集合。又,備用電力量判定部21判定以該通知的電力量是否能保存使用者資料,亦即該通知的電力量是否為用以將使用者資料保存的必要且充分的電力量。備用電力量判定部21使表示該判定結果的訊息回送到主計算機2。若通知的電力量未滿使用者資料的保存所必要的電力量的話,備用電力量判定部21使無法保存使用者資料的要旨回送到主計算機2。主計算機2的PLP管理器64基於來自SSD3-1~3-5的訊息,使SSD3-1~3-5的全部以至少能夠保存使用者資料的方式,來調整向SSD3-1~3-5的電力量配分也可以。
第1保存部22從主計算機2接收上述第1保存指示時,將未寫入NAND型快閃記憶體5的寫入緩衝器(WB)31內的使用者資料保存於NAND型快閃記憶體5,藉此來使未結束的寫入結束。此外,第1保存部22也可以將使用者資料、及用以將位址變換表再構築的位址資訊這兩者保存於NAND型快閃記憶體5。該位址資訊包含:為了使位址變換表的再構築成為可能,而對應該使用者資料的邏輯位址。第1保存部22從寫入緩衝器(WB)31讀取對應1頁面份的容量之一個以上的使用者資料部,將該等一個以上的使用者資料部、對應該等一個以上的使用者資料部的位址資訊
(對應該等一個以上的使用者資料部的一個以上的邏輯位址)寫入同一頁面也可以。各頁面也可以包含使用者資料區域及冗長區域。此時,對應於1頁面份的容量的一個以上的使用者資料部被寫入頁面內的使用者資料區域,一個以上的邏輯位址被寫入該頁面內的冗長區域。
當未寫入NAND型快閃記憶體5的寫入緩衝器(WB)31內的所有使用者資料的保存結束時,第1保存結束通知部23將使用者資料的保存結束通知主計算機2。
第2保存部24從主計算機2接收到上述第2保存指示時,將未寫入NAND型快閃記憶體5的經更新的位址變換資訊(查詢表(LUT)32內的髒資料)保存於NAND型快閃記憶體5,藉此來使位址變換資訊反映至NAND型快閃記憶體5內的位址變換表。當未寫入NAND型快閃記憶體5的經更新的位址變換資訊的全部的保存結束時,第2保存結束通知部25將經更新的位址變換資訊的保存結束通知主計算機2。
從主計算機2的電力自電源消失回復時,位址變換表再構築部26使用寫入各頁面的位址資訊,再構築位址變換表。此外,若能將經更新的位址變換資訊的全部反映至NAND型快閃記憶體5內的位址變換表的話,就不需要再構築位址變換表。
圖4表示藉由主計算機2及SSD3-1執行的寫入動作的處理順序。
SSD3-1從主計算機2接收寫入指令,再從主計算機2接收寫入資料後,SSD3-1將接收到的寫入資料暫時儲存於寫
入緩衝器(WB)31(步驟S101)。將寫入資料儲存至寫入緩衝器31後,SSD3-1使指令結束的響應回送至主計算機2。
接著,SSD3-1將寫入緩衝器31內的寫入資料以頁面單位寫入NAND型快閃記憶體5內的區塊(步驟S102)。此時,SSD3-1將對應寫入資料的邏輯位址(LBA)分別作為位址變換表再構築用的位址資訊寫入頁面內的冗長區域。也就是說,SSD3-1將1頁面份的寫入資料與對應於該1頁面份的寫入資料的LBA分別寫入同一頁面。
將寫入資料寫入後,SSD3-1將位址變換表(LUT)32更新,將表示寫入有寫入資料的物理記憶位置的物理位址對映至各個對應寫入資料的LBA(步驟S103)。
之後,SSD3-1判定在步驟S102將寫入資料寫入的頁面的下一個寫入目標頁面是否為區塊內的最終頁面(步驟S104)。若將寫入資料寫入的頁面的下一個寫入目標頁面是區塊內的最後的頁面的話(步驟S104的YES),SSD3-1也可以將LBA清單寫入區塊的最終頁面(步驟S105)。該LBA清單為用以使位址變換表能夠高速再構築的追加位址資訊。寫入某區塊的最終頁面的LBA清單為分別對應於寫入該區塊內的各個頁面的使用者資料的LBA的集合。
圖5表示寫入NAND型快閃記憶體5內的區塊內的同一頁面之使用者資料與LBA間的關係、及寫入區塊內的特定之頁面的LBA清單。
在圖5中,為了簡單化圖示,想定成區塊BLK含有8個頁面(頁面0~7)的情形。又,想定成各頁面的使用者資料
區域的大小為16K位元組、邏輯物理位址變換用的管理大小為4K位元組的情形。
在頁面0中,在使用者資料區域寫入資料d1、資料d2、資料d3、及資料d4,在冗長區域寫入LBA1~4。LBA1~4為對應資料d1~d4的邏輯位址(邏輯區塊位址)。
在頁面1中,在使用者資料區域寫入資料d5、資料d6、資料d7、及資料d8,在冗長區域寫入LBA5~8。LBA5~8為對應資料d5~d8的邏輯位址(邏輯區塊位址)。
在頁面2中,在使用者資料區域寫入資料d9、資料d10、資料d11、及資料d12,在冗長區域寫入LBA9~12。LBA9~12為對應資料d9~d12的邏輯位址(邏輯區塊位址)。
在頁面3中,在使用者資料區域寫入資料d13、資料d14、資料d15、及資料d16,在冗長區域寫入LBA13~16。LBA13~16為對應資料d13~d16的邏輯位址(邏輯區塊位址)。
在頁面4中,在使用者資料區域寫入資料d17、資料d18、資料d19、及資料d20,在冗長區域寫入LBA17~20。LBA17~20為對應資料d17~d20的邏輯位址(邏輯區塊位址)。
在頁面5中,在使用者資料區域寫入資料d21、資料d22、資料d23、及資料d24,在冗長區域寫入LBA21~24。LBA21~24為對應資料d21~d24的邏輯位址(邏輯區塊位址)。
在頁面6中,在使用者資料區域寫入資料d25、資料d26、資料d27、及資料d28,在冗長區域寫入LBA25~28。LBA25~28為對應資料d25~d28的邏輯位址(邏輯區塊位址)。
區塊的最終頁面,也就是在圖5的頁面7中,也可以寫入LBA清單。LBA清單包含對應資料d1~d28的LBA1~28。該LBA清單的寫入目標頁面可以不一定是區塊的最終頁面。
圖6表示藉由SSD3-1所執行的第1保存動作的處理順序。
SSD3-1從主計算機2接收第1保存指示時,SSD3-1將未寫入NAND型快閃記憶體5的寫入緩衝器31內的寫入資料以頁面單位寫入NAND型快閃記憶體5內的寫入目標區塊(步驟S201)。此時,SSD3-1將對應寫入資料的邏輯位址(LBA)分別作為位址變換表再構築用的位址資訊寫入頁面內的冗長區域。也就是說,SSD3-1將1頁面份的寫入資料與對應於該1頁面份的寫入資料的LBA分別寫入同一頁面。
將寫入資料寫入至寫入目標區塊後,SSD3-1將位址變換表(LUT)32更新,將表示寫入有寫入資料的物理記憶位置的物理位址對映至各個對應寫入資料的LBA(步驟S202)。
接著,SSD3-1判定從緩衝器31向NAND型快閃記憶體5的所有未寫入的寫入資料的保存是否結束(步驟S203)。
到從寫入緩衝器31向NAND型快閃記憶體5的所有未寫入的寫入資料的保存結束為止,重複步驟S201~S203的處理。
若所有未寫入的寫入資料的保存結束的話(步驟S204),SSD3-1判定以資料來填滿現在的寫入目標區塊的填充處理是否為必要(步驟S204)。當現在的寫入目標區塊存在有未寫入資料的空區域時,判定填充處理是必要的。
當判定填充處理為必要時(步驟S204的YES),SSD3-1在現在的寫入目標區塊的空區域寫入虛擬資料(步驟S205)。接著,SSD3-1將LBA清單寫入現在的寫入目標區塊的最終頁面(步驟S206)。
LBA清單的寫入結束後,SSD3-1將表示使用者資料的保存結束的第1保存結束通知發送至主計算機2。
圖7表示藉由第1保存動作寫入NAND型快閃記憶體5內的區塊BLK內的同一頁面之使用者資料與LBA間的關係、及寫入該區塊內的特定之頁面的LBA清單。
在圖7中,想定成未寫入NAND型快閃記憶體5的寫入緩衝器31內的寫入資料為資料d1~d14的情形。又,與圖5說明的例子一樣,想定成區塊BLK含有8個頁面(頁面0~7),各頁面的使用者資料區域的大小為16K位元組、邏輯物理位址變換用的管理大小為4K位元組的情形。
在頁面0中,在使用者資料區域寫入資料d1、資料d2、資料d3、及資料d4,在冗長區域寫入對應資料d1~d4的LBA1~4。
在頁面1中,在使用者資料區域寫入資料d5、資料
d6、資料d7、及資料d8,在冗長區域寫入對應資料d5~d8的LBA5~8。
在頁面2中,在使用者資料區域寫入資料d9、資料d10、資料d11、及資料d12,在冗長區域寫入對應資料d9~d12的LBA9~12。
在頁面3中,在使用者資料區域寫入資料d13、資料d14,在冗長區域寫入對應資料d13~d14的LBA13~14。在頁面3的在使用者資料區域內的剩下區域,寫入虛擬資料(填充處理)。對應虛擬資料的LBA不寫入頁面3的冗長區域。
關於頁面4~6,因為未存在應寫入至寫入緩衝器31的資料,在使用者資料區域及冗長區域寫入虛擬資料(填充處理)。藉此,能夠將區塊BLK的頁面0~6以資料填滿。若未寫入虛擬資料的話,會有在長時間不發生對寫入目標區塊BLK內的消去狀態的空區域寫入資料的可能性。此時,消去狀態的空區域的信賴性會有降低的可能性。
頁面7(區塊的最終頁面)也可以寫入LBA清單。
圖8表示藉由主計算機2及SSD3-1~3-4執行的第1保存動作及第2保存動作。
主計算機2的處理器40判定停電這種未預期的電源消失事件是否發生(步驟S301)。若未預期的電源消失的事件發生的話(步驟S301的YES),處理器40將第1保存指示分別發送至SSD3-1~3-4。
SSD3-1的控制器4接收第1保存指示後,將未寫入
NAND型快閃記憶體5的寫入緩衝器(WB)31內的使用者資料保存於NAND型快閃記憶體5(步驟S302)。接著,使用者資料的保存結束後,SSD3-1的控制器4將表示使用者資料的保存結束的第1保存結束通知發送至主計算機2。
SSD3-2也一樣,在接收第1保存指示後,將未寫入SSD3-2內的NAND型快閃記憶體5的使用者資料保存於NAND型快閃記憶體5(步驟S303)。接著,使用者資料的保存結束後,SSD3-2將表示使用者資料的保存結束的第1保存結束通知發送至主計算機2。
SSD3-3也一樣,在接收第1保存指示後,將未寫入SSD3-3內的NAND型快閃記憶體5的使用者資料保存於NAND型快閃記憶體5(步驟S304)。接著,使用者資料的保存結束後,SSD3-3將表示使用者資料的保存結束的第1保存結束通知發送至主計算機2。
SSD3-4也一樣,在接收第1保存指示後,將未寫入SSD3-4內的NAND型快閃記憶體5的使用者資料保存於NAND型快閃記憶體5(步驟S305)。接著,使用者資料的保存結束後,SSD3-4將表示使用者資料的保存結束的第1保存結束通知發送至主計算機2。
主計算機2的處理器40判定是否接收來自發送第1保存指示的全儲存裝置(在這裡為SSD3-1~3-4)的第1保存結束通知(步驟S306)。若接收到來自發送第1保存指示的全儲存裝置的第1保存結束通知的話(步驟S306的YES),處理器40將第2保存指示發送至SSD3-1~3-4的全部或SSD3-1~3-
4內的至少一個SSD。在圖8中,例示第2保存指示被發送至SSD3-1~3-4的全部的情形。
SSD3-1的控制器4接收第2保存指示後,將未寫入NAND型快閃記憶體5的經更新的位址變換資訊保存於NAND型快閃記憶體5(步驟S307)。接著,經更新的位址變換資訊的保存結束後,SSD3-1的控制器4將表示經更新的位址變換資訊的保存結束的第2保存結束通知發送至主計算機2。
SSD3-2也一樣,在接收第2保存指示後,將未寫入SSD3-2內的NAND型快閃記憶體5的經更新的位址變換資訊保存於NAND型快閃記憶體5(步驟S308)。接著,經更新的位址變換資訊的保存結束後,SSD3-2將表示經更新的位址變換資訊的保存結束的第2保存結束通知發送至主計算機2。
SSD3-3也一樣,在接收第2保存指示後,將未寫入SSD3-3內的NAND型快閃記憶體5的經更新的位址變換資訊保存於NAND型快閃記憶體5(步驟S309)。接著,經更新的位址變換資訊的保存結束後,SSD3-3將表示經更新的位址變換資訊的保存結束的第2保存結束通知發送至主計算機2。
SSD3-4也一樣,在接收第2保存指示後,將未寫入SSD3-4內的NAND型快閃記憶體5的經更新的位址變換資訊保存於NAND型快閃記憶體5(步驟S310)。接著,經更新的位址變換資訊的保存結束後,SSD3-4將表示經更新的位
址變換資訊的保存結束的第2保存結束通知發送至主計算機2。
圖9表示藉由主計算機2及SSD3-1~3-4執行的第1保存動作及第2保存動作的別的處理順序。
主計算機2的處理器40判定停電這種未預期的電源消失事件是否發生(步驟S311)。若未預期的電源消失的事件發生的話(步驟S311的YES),處理器40將第1保存指示發送至SSD3-1~3-4。
SSD3-1的控制器4接收第1保存指示後,將未寫入NAND型快閃記憶體5的寫入緩衝器(WB)31內的使用者資料保存於NAND型快閃記憶體5(步驟S312)。接著,使用者資料的保存結束後,SSD3-1的控制器4將表示使用者資料的保存結束的第1保存結束通知發送至主計算機2。
SSD3-2也一樣,在接收第1保存指示後,將未寫入SSD3-2內的NAND型快閃記憶體5的使用者資料保存於NAND型快閃記憶體5(步驟S313)。接著,使用者資料的保存結束後,SSD3-2將表示使用者資料的保存結束的第1保存結束通知發送至主計算機2。
SSD3-3也一樣,在接收第1保存指示後,將未寫入SSD3-3內的NAND型快閃記憶體5的使用者資料保存於NAND型快閃記憶體5(步驟S314)。接著,使用者資料的保存結束後,SSD3-3將表示使用者資料的保存結束的第1保存結束通知發送至主計算機2。
SSD3-4也一樣,在接收第1保存指示後,將未寫入
SSD3-4內的NAND型快閃記憶體5的使用者資料保存於NAND型快閃記憶體5(步驟S315)。接著,使用者資料的保存結束後,SSD3-4將表示使用者資料的保存結束的第1保存結束通知發送至主計算機2。
主計算機2的處理器40判定是否接收來自發送第1保存指示的全儲存裝置(在這裡為SSD3-1~3-4)的第1保存結束通知(步驟S316)。若接收到來自發送第1保存指示的全儲存裝置的第1保存結束通知的話(步驟S316的YES),處理器40將第2保存指示發送至SSD3-1~3-4的全部或SSD3-1~3-4內的至少一個SSD。在圖9中,例示僅發送第2保存指示至屬於第1群組的一個以上的SSD(在這裡為SSD3-1、SSD3-2)的情形。屬於第1群組的SSD,例如,為位址變換表的再構築所需要的時間比其他SSD還長的SSD。藉由將第2保存指示優先發送至屬於第1群組的幾個SSD,能夠縮短在電源回復後所有的SSD回復至通常動作狀態為止所需要的時間。
主計算機2的處理器40僅發送第2保存指示至SSD3-1、SSD3-2。
SSD3-1的控制器4接收第2保存指示後,將未寫入NAND型快閃記憶體5的經更新的位址變換資訊保存於NAND型快閃記憶體5(步驟S317)。接著,經更新的位址變換資訊的保存結束後,SSD3-1的控制器4將表示經更新的位址變換資訊的保存結束的第2保存結束通知發送至主計算機2。
SSD3-2也一樣,在接收第2保存指示後,將未寫入SSD3-2內的NAND型快閃記憶體5的經更新的位址變換資訊保存於NAND型快閃記憶體5(步驟S318)。接著,經更新的位址變換資訊的保存結束後,SSD3-2將表示經更新的位址變換資訊的保存結束的第2保存結束通知發送至主計算機2。
主計算機2的處理器40判定是否接收到來自發送第1保存指示的全儲存裝置(在這裡為SSD3-1~3-4)的第2保存結束通知(步驟S319)。從第1群組內的全儲存裝置(在這裡為SSD3-1及SSD3-2)接收到第2保存結束通知的話(步驟S319的YES),處理器40將第2保存指示發送至剩下的儲存裝置(在這裡為SSD3-3、SSD3-4)。
SSD3-3在接收第2保存指示後,將未寫入SSD3-3內的NAND型快閃記憶體5的經更新的位址變換資訊保存於NAND型快閃記憶體5(步驟S320)。接著,經更新的位址變換資訊的保存結束後,SSD3-3將表示經更新的位址變換資訊的保存結束的第2保存結束通知發送至主計算機2。
SSD3-4也一樣,在接收第2保存指示後,將未寫入SSD3-4內的NAND型快閃記憶體5的經更新的位址變換資訊保存於NAND型快閃記憶體5(步驟S321)。接著,經更新的位址變換資訊的保存結束後,SSD3-4將表示經更新的位址變換資訊的保存結束的第2保存結束通知發送至主計算機2。
圖10的流程圖表示藉由主計算機所執行的發送第1保
存指示的處理的順序。
主計算機2的處理器40在檢出電源消失事件後(步驟S401),處理器40判定現在的指示模式是否為第1模式或第2模式的任一者(步驟S402)。
第1模式為在電源消失的事件檢出後馬上發送第1保存指示至所有儲存裝置的模式。第2模式為備用電源44的剩餘電力量降低至閾值以下時,發送第1保存指示至所有儲存裝置的模式。當備用電源44的剩餘電力量降低至閾值以下前,外部電源50恢復時,第1保存指示不會被發送至任何儲存裝置。因此,當瞬間的電源消失發生時,因為第1保存指示不會被發送至任何儲存裝置,各儲存裝置能夠持續通常動作。
若現在的表示模式為第1模式的話(步驟S402的YES),處理器40將第1保存指示發送至全儲存裝置(步驟S403)。
另一方面,若現在的表示模式不是第1模式的話,也就說是第2模式的話(步驟S402),處理器40判定備用電源44的剩下的電力量成為閾值X1以下前,外部電源50是否恢復(步驟S404、S405)。當備用電源44的剩下的電力量成為閾值X1以下前,外部電源50恢復的話(步驟S405的YES),處理器40將處理結束。另一方面,當備用電源44的剩下的電力量成為閾值X1以下前,外部電源50未恢復的話(步驟S405的NO),備用電源44的剩下的電力量降低至閾值X1以下的話(步驟S404的YES),處理器40將第1保存指示發送至全儲存裝置(步驟S406)。
圖11的流程圖表示藉由主計算機2所執行的發送第2保存指示的處理的順序。
當主計算機2的處理器40從全儲存裝置接收到第1保存結束通知的話(步驟S501的YES),處理器40基於位址變換表(LUT)32的再構築所需要的時間,特定出屬於第1群組的儲存裝置(步驟S502)。在步驟S502中,處理器40基於對應儲存裝置(在這裡為SSD3-1~3-5)的記憶容量及位址變換管理大小,將比位址變換表(LUT)32的再構築所需要的時間還長的一個以上的儲存裝置(一個以上的SSD)作為屬於第1群組的儲存裝置來決定。
接著,處理器40將第2保存指示分別發送至屬於第1群組的儲存裝置(步驟S503)。
接著,處理器40判定是否接收到來自屬於第1群組的全儲存裝置的第2保存結束通知(步驟S504)。
若接收到來自屬於第1群組的全儲存裝置的第2保存結束通知(步驟S504的YES),處理器40判定備用電源44的剩餘電力量(例如,剩餘容量)是否為閾值X2(<X1)以上(步驟S505)。
若備用電源44的剩餘電力量未滿閾值X2的話(步驟S505的NO),處理器40執行不發送第2保存指示至剩下的所有儲存裝置(屬於第1群組的儲存裝置以外的儲存裝置)而用以將主計算機2關閉的處理(步驟S508)。藉此,主計算機2成為電源OFF狀態,各儲存裝置也成為電源OFF狀態。
當備用電源44的剩下的電力量在閾值X2以上的話(步驟S505的YES),處理器40將第2保存指示發送至剩下的所有的儲存裝置(步驟S506)。處理器40判定是否接收來自剩下的全儲存裝置的第2保存結束通知(步驟S507)。
處理器40接收到來自剩下的全儲存裝置的第2保存結束通知的話(步驟S507的YES),執行用以將主計算機2關閉的處理(步驟S508)。
圖12的流程圖表示藉由主計算機2所執行的發送第2保存指示的處理的別的順序。
當主計算機2的處理器40從全儲存裝置接收到第1保存結束通知的話(步驟S601的YES),處理器40基於儲存的使用者資料的重要度,特定出屬於第1群組的儲存裝置(步驟S602)。在步驟S602中,處理器40將儲存重要度更高的使用者資料的一個以上的儲存裝置(一個以上的SSD)作為屬於第1群組的儲存裝置來決定。
接著,處理器40將第2保存指示分別發送至屬於第1群組的儲存裝置(步驟S603)。
接著,處理器40判定是否接收到來自屬於第1群組的全儲存裝置的第2保存結束通知(步驟S604)。
若接收到來自屬於第1群組的全儲存裝置的第2保存結束通知(步驟S604的YES),處理器40判定備用電源44的剩餘電力量(例如,剩餘容量)是否為閾值X2(<X1)以上(步驟S605)。
若備用電源44的剩餘電力量未滿閾值X2的話(步驟
S605的NO),處理器40執行不發送第2保存指示至剩下的所有儲存裝置(屬於第1群組的儲存裝置以外的儲存裝置)而用以將主計算機2關閉的處理(步驟S608)。藉此,主計算機2成為電源OFF狀態,各儲存裝置也成為電源OFF狀態。
當備用電源44的剩下的電力量在閾值X2以上的話(步驟S605的YES),處理器40將第2保存指示發送至剩下的所有的儲存裝置(步驟S606)。處理器40判定是否接收來自剩下的全儲存裝置的第2保存結束通知(步驟S607)。
處理器40接收到來自剩下的全儲存裝置的第2保存結束通知的話(步驟S607的YES),執行用以將主計算機2關閉的處理(步驟S608)。
此外,在步驟S602中,將儲存具有高存取頻度的使用者資料的一個以上的儲存裝置(一個以上的SSD)作為屬於第1群組的儲存裝置來決定也可以。
圖13表示在電源消失的事件發生前的通常運作期間中,藉由主計算機2與SSD3-1~3-5執行的處理的處理順序。
當在未預期的電源消失事件發生前的通常運作期間中,主計算機2的處理器40,推定從備用電源44分別能供應至儲存裝置(在這裡為SSD3-1~3-5)的電力量(步驟S901)。該電力量可以在每個儲存裝置中作推定。接著,處理器40通知儲存裝置各個推定的電力量。
SSD3-1的控制器4接收到可供應至SSD3-1的電力量通
知後,比較通知到的電力量、與使用者資料的保存的必要電力量(步驟S902)。使用者資料的保存的必要電力量,可以基於能蓄積至寫入緩衝器(WB)31的使用者資料的最大量來推定。通常,能蓄積至寫入緩衝器(WB)31的使用者資料的最大量若越大,寫入性能就越提升。為何呢?因為能夠同時執行對複數NAND型快閃記憶體晶片的資料寫入動作。
若通知到的電力量在使用者資料的保存的必要電力量以上的話,SSD3-1的控制器4判定以從主計算機2供給的備用電力即能夠保存使用者資料。另一方面,若通知到的電力量未滿使用者資料的保存的必要電力量的話,SSD3-1的控制器4判定以從主計算機2供給的備用電力無法保存使用者資料。接著,SSD3-1的控制器4將表示使用者資料的保存可否(判定結果)通知主計算機2。
SSD3-2也一樣,SSD3-2接收到可供應的電力量通知後,比較通知到的電力量、與使用者資料的保存的必要電力量(步驟S903)。在這裡,判定以通知到的電力量能否保存使用者資料。接著,SSD3-2將表示使用者資料的保存可否(判定結果)通知主計算機2。
SSD3-3也一樣,SSD3-3接收到可供應的電力量通知後,比較通知到的電力量、與使用者資料的保存的必要電力量(步驟S904)。在這裡,判定以通知到的電力量能否保存使用者資料。接著,SSD3-3將表示使用者資料的保存可否(判定結果)通知主計算機2。
SSD3-4也一樣,SSD3-4接收到可供應的電力量通知後,比較通知到的電力量、與使用者資料的保存的必要電力量(步驟S905)。在這裡,判定以通知到的電力量能否保存使用者資料。接著,SSD3-4將表示使用者資料的保存可否(判定結果)通知主計算機2。
當主計算機2的處理器40從全儲存裝置接收到使用者資料的保存可否的通知後,調整應供應至各儲存裝置的電力量(步驟S906)。
例如,主計算機2的處理器40從SSD3-2~SSD3-4接收到使用者資料的保存可能的通知,從SSD3-1接收到無法保存使用者資料的通知時,處理器40進行增加應供應至SSD3-1的電力量,減少應供應至SSD3-2~SSD3-4的電力量之調整也可以。
此外,在圖13中,雖說明了在電源消失後將可供應的電力量通知所有的儲存裝置之例子,但主計算機2的處理器40在電源消失後將可供應電力的期間通知所有的儲存裝置也可以。各儲存裝置基於通知到的期間,可以判定能否將使用者資料保存於NAND型快閃記憶體5。
圖14表示用以限制可蓄積至SSD3-1內的DRAM6的未寫入的使用者資料量及可蓄積至DRAM6的未寫入的經更新的位址變換資訊量的處理順序。
當在未預期的電源消失事件發生前的通常運作期間中,主計算機2的處理器40,推定從備用電源44分別能供應至儲存裝置(在這裡為SSD3-1~3-5)的電力量(步驟
S1001)。接著,處理器40通知儲存裝置各個推定的電力量。
SSD3-1的控制器4接收到可供應至SSD3-1的電力量的通知後,基於通知的電力量,算出可蓄積至DRAM6的未寫入的使用者資料量及可蓄積至DRAM6的未寫入的經更新的位址變換資訊量(步驟S1002)。
之後,SSD3-1的控制器4從主計算機2接收寫入指令,再從主計算機2接收寫入資料後,SSD3-1的控制器4將接收的寫入資料暫時儲存於寫入緩衝器31(步驟S1003)。將寫入資料儲存至寫入緩衝器31後,SSD3-1的控制器4使指令結束的響應回送至主計算機2。
接著,控制器4判定儲存至寫入緩衝器31內的未寫入的寫入資料的量是否達到限制值(步驟S1004)。該限制值表示在步驟S1002算出的可蓄積至DRAM6的未寫入的使用者資料的量。在儲存至寫入緩衝器31內的未寫入的寫入資料的量達到限制值為止,控制器4可以不將寫入緩衝器31內的寫入資料寫入NAND型快閃記憶體5,而將從主計算機2接收的新寫入資料蓄積至寫入緩衝器31。
若儲存至寫入緩衝器31內的未寫入的寫入資料的量達到限制值的話(步驟S1004的YES),控制器4將寫入緩衝器31內的寫入資料寫入NAND型快閃記憶體5(步驟S1005)。接著,控制器4將LUT32更新,將表示寫入有寫入資料的物理記憶位置的物理位址對映至各個對應寫入資料的LBA(步驟S1006)。
接著,控制器4判定LUT32內的經更新的位址變換資訊的量是否達到限制值(步驟S1007)。該限制值表示在步驟S1002算出的可蓄積至DRAM6的未寫入的經更新的位址變換資訊的量。在LUT32內的未寫入的經更新的位址變換資訊的量達到限制值為止,控制器4可以不將未寫入的經更新的位址變換資訊寫入NAND型快閃記憶體5,而繼續LUT32的更新。
當未寫入的經更新的位址變換資訊的量達到限制值的話(步驟S1007的YES),控制器4可以將未寫入的經更新的位址變換資訊寫入NAND型快閃記憶體5(步驟S1008)。
此外,在圖14中,雖說明限制可蓄積至DRAM6的未寫入的使用者資料量及可蓄積至DRAM6的未寫入的經更新的位址變換資訊量這兩者的情形,但基於通知的電力量,來僅限制可蓄積至DRAM6的未寫入的使用者資料的量也可以。
接著,參照圖15及圖16,說明有關再構築位址變換表的處理。
圖15表示將未寫入NAND型快閃記憶體5的使用者資料保存至NAND型快閃記憶體5的複數區塊BLK11~BLK13的動作。
當從主計算機2接收到第1保存指示時,控制器4將未寫入NAND型快閃記憶體5的寫入緩衝器31內的使用者資料、及用以再構築LUT32的位址資訊(使用者資料的LBA)保存於NAND型快閃記憶體5。
在圖15中,於BLK11中,使用者資料d1~d4及對應使用者資料d1~d4的LBA1~4被寫入頁面0、使用者資料d5~d8及對應使用者資料d5~d8的LBA5~8被寫入頁面1、使用者資料d9~d12及對應使用者資料d9~d12的LBA9~12被寫入頁面2、使用者資料d13~d16及對應使用者資料d13~d16的LBA13~16被寫入頁面3。
於BLK12中,使用者資料d21~d24及對應使用者資料d21~d24的LBA21~24被寫入頁面0、使用者資料d25~d28及對應使用者資料d25~d28的LBA25~28被寫入頁面1、使用者資料d29~d32及對應使用者資料d29~d32的LBA29~32被寫入頁面2、使用者資料d33~d36及對應使用者資料d33~d36的LBA33~36被寫入頁面3。
於BLK13中,使用者資料d41~d44及對應使用者資料d41~d44的LBA41~44被寫入頁面0、使用者資料d45~d48及對應使用者資料d45~d48的LBA45~48被寫入頁面1、使用者資料d49~d52及對應使用者資料d49~d52的LBA49~52被寫入頁面2、使用者資料d53~d56及對應使用者資料d53~d56的LBA53~56被寫入頁面3。
圖16表示將位址變換表再構築的動作之例。
位址變換表保持對應複數LBA的各個的物理位址。SSD3-1的控制器4讀取儲存使用者資料的各區塊內的各個頁面中所儲存的位址變換表再構築用的位址資訊(LBA)。
例如,控制器4從區塊BLK11的頁面0讀取LBA1~4,將對應LBA1的物理位址變更成表示儲存資料d1的物理記
憶位置的物理位址(BLK11、Page0、Offset0)、將對應LBA2的物理位址變更成表示儲存資料d2的物理記憶位置的物理位址(BLK11、Page0、Offset1)、將對應LBA3的物理位址變更成表示儲存資料d3的物理記憶位置的理位址(BLK11、Page0、Offset2)、將對應LBA4的物理位址變更成表示儲存資料d3的物理記憶位置的物理位址(BLK11、Page0、Offset3)。
接著,控制器4從區塊BLK11的頁面1讀取LBA5~8,將對應LBA5的物理位址變更成表示儲存資料d5的物理記憶位置的物理位址(BLK11、Page1、Offset0)、將對應LBA6的物理位址變更成表示儲存資料d2的物理記憶位置的物理位址(BLK11、Page1、Offset1)、將對應LBA7的物理位址變更成表示儲存資料d7的物理記憶位置的理位址(BLK11、Page1、Offset2)、將對應LBA8的物理位址變更成表示儲存資料d8的物理記憶位置的物理位址(BLK11、Page1、Offset3)。
接著,控制器4從區塊BLK11的頁面2讀取LBA9~12,將對應LBA9的物理位址變更成表示儲存資料d9的物理記憶位置的物理位址(BLK11、Page2、Offset0)、將對應LBA10的物理位址變更成表示儲存資料d10的物理記憶位置的物理位址(BLK11、Page2、Offset1)、將對應LBA11的物理位址變更成表示儲存資料d11的物理記憶位置的理位址(BLK11、Page2、Offset2)、將對應LBA12的物理位址變更成表示儲存資料d12的物理記憶位置的物理位址
(BLK11、Page2、Offset3)。
接著,控制器4從區塊BLK11的頁面3讀取LBA13~16,將對應LBA13的物理位址變更成表示儲存資料d13的物理記憶位置的物理位址(BLK11、Page3、Offset0)、將對應LBA14的物理位址變更成表示儲存資料d14的物理記憶位置的物理位址(BLK11、Page3、Offset1)、將對應LBA15的物理位址變更成表示儲存資料d15的物理記憶位置的理位址(BLK11、Page3、Offset2)、將對應LBA16的物理位址變更成表示儲存資料d16的物理記憶位置的物理位址(BLK11、Page3、Offset3)。
同樣地,控制器4讀取儲存於區塊BLK12的LBA21~36,將對應LBA21~36的物理位址變更成表示儲存資料d21~d36的物理記憶位置的物理位址。
再來,控制器4讀取儲存於區塊BLK13的LBA41~56,將對應LBA41~56的物理位址變更成表示儲存資料d41~d56的物理記憶位置的物理位址。
圖17的流程圖表示藉由SSD3-1所執行的位址變換表32再構築處理的順序。
從主計算機2供應至SSD3-1的電力回復時,SSD3-1的控制器4判定電源消失時第2保存動作(經更新的位址變換資訊的保存)是否結束(步驟S1101)。若經更新的位址變換資訊被保存於NAND型快閃記憶體5的話(步驟S1101的YES),控制器4從NAND型快閃記憶體5將反映經更新的位址變換資訊的位址變換表的全部或一部分讀出,將位址變
換表的全部或一部分作為查詢表(LUT)32儲存於DRAM6(步驟S1102)。
若經更新的位址變換資訊未被保存於NAND型快閃記憶體5的話(步驟S1101的NO),控制器4讀取儲存使用者資料的各區塊內的各個頁面中所儲存的位址變換表再構築用的位址資訊(LBA)(步驟S1103)。接著,控制器4基於讀取出的各個LBA及對應該等各個LBA的頁面的各個物理位址,再構築位址變換表(步驟S1104)。此外,當在各區塊的最終頁面儲存LBA清單時,控制器4使用各區塊的LBA清單,將位址變換表再構築也可以。
在以上的說明中,雖主要說明了使用SSD3-1~3-5作為可連接至主計算機2的複數儲存裝置的情形,但該等儲存裝置如同上述,也可以是使用疊瓦式磁記錄(Shingled magnetic recording:SMR)技術的硬碟驅動器(HDD)。
圖18為便用SMR技術的硬碟驅動器(HDD)的構成例。
圖18所示的HDD具備:碟盤(磁碟)111、頭(磁頭)112、轉軸馬達(SPM)113、致動器114、驅動IC115、頭IC116、控制器117、DRAM118。
該HDD適用於分配至邏輯位址的碟盤111上的物理位置(例如,扇形位置)未固定的編址方式。
碟盤111是例如在其一方之面上具備以磁記錄資料的記錄面的記錄媒體(非揮發性記憶媒體)。碟盤111藉由SPM113來高速旋轉。SPM113藉由從驅動IC115供應(施加)的驅動電流(電壓)來驅動。碟盤111(更詳細來說是碟盤111
的記錄面),例如,被區分成複數同心圓狀的記憶區域。也就是說,碟盤11具備複數同心圓狀的記憶區域。記憶區域數設為n。n個記憶區域的各個一般稱為區間,具備複數軌道。各區間例如作為資料追記型存取區域來使用。也就是說,將碟盤111上的區間以單位改寫成資料。又,將區間以單位消去資料。
頭112對應於碟盤111的記錄面配置。頭112具備:用於讀出碟盤111中的資料之讀取元件,用於寫入資料至碟盤111的寫入元件。讀取元件及寫入元件分別稱為讀取器及寫入器。寫入元件的寬度設為比讀取元件的寬度還大。利用疊瓦式磁記錄(SMR)進行向碟盤111上的區間的資料寫入。在疊瓦式磁記錄中,依序從區間內的第一軌道到最後的軌道將資料寫入。接著,在每1軌道份的資料被寫入區間時,將寫入元件(頭112)僅以對應追蹤讀取元件的軌跡(讀取軌道)的間距,在碟盤111的半徑方向上移動。
頭112安裝於致動器114的前端。頭112藉由碟盤111的高速旋轉而浮在該碟盤111上。致動器114具有成為該致動器114的驅動源的音圈馬達(VCM)140。VCM140藉由從驅動IC115供應(施加)的驅動電流(電壓)來驅動。藉由VCM140驅動致動器114,使得頭112在碟盤111上延著該碟盤111的半徑方向以描繪圓弧的方式移動。
此外,與圖18所示的構成不同,HDD具備複數碟盤也可以。又,圖18所示的碟盤111在其兩方之面具備記錄面,分別對應該記錄面而配置頭也可以。
驅動IC115依控制器117(更詳細來說為控制器117內的CPU173)的控制,來驅動SPM113及VCM140。頭IC116包含讀取放大器,將頭112所再生的信號(也就是再生信號)放大。頭IC116更包含寫入驅動器,將從控制器117內的R/W通道171送出的寫入資料轉換成寫入電流,將該寫入電流送出至頭112。
控制器117例如利用將複數元件集積於單一晶片的稱為system-on-a-chip(SOC)的超大型積體電路(LSI)來實現。控制器117具備:讀取/寫入(R/W)通道171、硬碟控制器(HDC)172、及CPU173。
R/W通道171處理與讀取/寫入關連的信號。R/W通道171將再生信號(讀取信號)以類比-數位變換器變換成數位資料,從數位資料將讀取資料解碼。R/W通道171又從數位資料中抽出頭112的定位所需要的輔助資料。R/W通道171又將寫入資料編碼。
HDC172與主機(主裝置)連接。HDC172接收從主機轉送的指令(寫入指令、讀取指令等)。HDC172控制主機與DRAM118之間的資料轉送及DRAM118與R/W通道171之間的資料轉送。
CPU173作為圖18所示的HDD的主控制器作用。CPU173依照控制程式,控制包含HDC172的HDD內的至少一部分的要素。
DRAM118的記憶區域的一部分作為用以將從主計算機2接收的寫入資料暫時儲存的寫入緩衝器(WB)118A來使
用。又,DRAM118的記憶區域的其他一部分,用於儲存位址變換表118B。再來,DRAM118的記憶區域的其他一部分,用於儲存各種系統管理資訊33也可以。
位址變換表118B用於將邏輯位址與物理位址之間的對應以寫入資料的扇形為單位來管理。在這裡,寫定成向對應某邏輯位址(例如LBA)的資料的區間的新的寫入。此時,資料並不寫入對應該LBA的區間,而寫入空的區間。HDC172在向區間的寫入結束時,將表示位址變換表118B中的LBA與物理位址間的對應之資訊更新。
圖19更新資料的寫入動作。
在圖19中,為了將圖示簡單作,示出2個區間。各區間具有多數軌道(例如,Track0~4)。
將記錄於區間1的使用者資料的一部分改寫時,更新資料被記錄於與區間1不同的別的區間亦即新區間。此時,將位址變換表118B更新,將表示更新資料的物理記憶位置的物理位址對映至對應至更新前的資料的LBA。
圖20表示作為主計算機2作用的電腦的構成例。
該電腦具備可收容機櫃的薄箱形的框體201。多數的SSD3可以配置於框體201內。此時,各SSD以能夠從設於框體201前面201A的槽孔取出的方式插入也可以。
系統板(主機板)202配置於框體201內。在系統板(主機板)202上實裝包含:處理器40、記憶體41、系統控制器42、電源電路43的各種電子元件。該等電子元件作為主計算機(中央處理裝置)2作用。
如以上說明的,根據本實施形態,主計算機2在電源消失的事件後,將指示應要把未寫入NAND型快閃記憶體5這種非揮發性記憶媒體的使用者資料從DRAM6這種揮發性記憶體保存至非揮發性記憶媒體的第1保存指示發送至複數儲存裝置。接著,主計算機2在從複數儲存裝置的全部接收到表示向非揮發性記憶媒體的使用者資料的保存結束的應答時,將指示應要把經更新的位址變換資訊從揮發性記憶體保存至非揮發性記憶媒體的第2保存指示發送至複數儲存裝置的全部或複數儲存裝置內的一個以上的儲存裝置。藉此,在全部的儲存裝置結束使用者資料的保存後,能夠移行至保存經更新的位址變換資訊的追加的保存處理。藉此,雖然保存中的儲存裝置存在使用者資料,但能夠防止幾個儲存裝置開始追加的保存處理。因此,在某儲存裝置結束使用者資料的保存之前,能夠大幅降低來自主計算機2的備用電力中斷的可能性。
又,主計算機2可以將第2保存指示優先發送至比位址變換表的再構築還需要更長時間的一個以上的第1儲存裝置。接著,當從一個以上的第1儲存裝置的全部接收表示經更新的位址變換資訊的保存結束的應答時,主計算機2將第2保存指示發送至剩下的各儲存裝置。藉此,可以縮短電源回復後所有的儲存裝置回復至通常動作狀態所需要的時間。
此外,在本實施形態中,作為非揮發性記憶體例示了NAND型快閃記憶體。但是,本實施形態的功能例如也適
用於MRAM(Magnetoresistive Random Access Memory)、PRAM(Phase change Random Access Memory)、ReRAM(Resistive Random Access Memory)、或FeRAM(Ferroelectric Random Access Memory)這些其他的各種非揮發性記憶體。
雖已說明了本發明的幾個實施形態,但該等實施形態僅作為例示,並沒有要限定本發明的範圍。該等新穎的實施形態,也可以利用於其他各種形態來實施,在不脫離發明要旨的範圍內,可以進行各種省略、置換、變更。該等實施形態及其變形,在包含於發明的範圍及要旨中的同時,也包含申請專利範圍中所記載之發明的均等範圍。
Claims (14)
- 一種資訊處理裝置,為將具備揮發性記憶體及非揮發性記憶媒體的各個邏輯位址與具備前述非揮發性記憶媒體的各個物理位址之間的對映以使用位址變換表來管理之能連接至複數儲存裝置的資訊處理裝置,具備:響應電源消失的事件,使用來自備用電源的電力對前述資訊處理裝置的組成及前述複數儲存裝置供應電力的電源電路;以及處理器;其中,前述處理器,在前述電源消失的事件後,將指示應要把未寫入前述非揮發性記憶媒體的使用者資料從前述揮發性記憶體保存至前述非揮發性記憶媒體的第1保存指示發送至前述複數儲存裝置;在從前述複數儲存裝置的全部接收到表示向前述非揮發性記憶媒體的使用者資料的保存結束的應答時,將指示應要把表示前述位址變換資訊的更新內容且未寫入前述非揮發性記憶媒體的經更新的位址變換資訊從前述揮發性記憶體保存至前述非揮發性記憶媒體的第2保存指示,發送至前述複數儲存裝置的全部或前述複數儲存裝置內的一個以上的儲存裝置。
- 如請求項1所記載的資訊處理裝置,其中,前述處理 器,當從前述複數儲存裝置的全部接收到表示前述使用者資料的保存結束的應答時,將前述第2保存指示發送至前述複數儲存裝置之中比前述位址變換表的再構築所需要的時間還長的一個以上的第1儲存裝置;當從前述一個以上的第1儲存裝置的全部接收到表示前述經更新的位址變換資訊的保存結束的應答時,將前述第2保存指示發送至剩下的各儲存裝置。
- 如請求項2所記載的資訊處理裝置,其中,前述處理器,當從前述一個以上的第1儲存裝置的全部接收到表示前述經更新的位址變換資訊的保存結束的應答時,判定前述備用電源的剩餘電力量是否在閾值以上;當前述剩餘電力量在前述閾值以上時,將前述第2保存指示發送至前述剩下的各儲存裝置。
- 如請求項2所記載的資訊處理裝置,其中,前述處理器,基於前述複數儲存裝置各自的記憶容量、或對應於前述複數儲存裝置的各個邏輯物理位址變換用的管理大小的至少一者,從前述複數儲存裝置選擇前述一個以上的第1儲存裝置。
- 如請求項1所記載的資訊處理裝置,其中,前述處理 器,當從前述複數儲存裝置的全部接收到表示前述使用者資料的保存結束的應答時,將前述第2保存指示發送至從前述複數儲存裝置之中選擇出的一個以上的第1儲存裝置;當從前述一個以上的第1儲存裝置的全部接收到表示前述經更新的位址變換資訊的保存結束的應答時,將前述第2保存指示發送至剩下的各儲存裝置。
- 如請求項1所記載的資訊處理裝置,其中,前述處理器,在前述電源消失事件發生前的通常運作期間中,將前述電源消失的事件後能供應的電力量分別通知前述複數儲存裝置。
- 一種儲存裝置,可連接至主裝置,當電源消失發生時能藉由從前述主裝置供應的電力來動作,該儲存裝置具備:揮發性記憶體;非揮發性記憶媒體;以及使用位址變換表來管理各個邏輯位址與前述非揮發性記憶媒體的各個物理位址之間的對映的控制器;其中,前述控制器,在前述電源消失的事件後接收到從前述主裝置發送的第1保存指示時,把未寫入前述非揮發性記憶媒體的使用 者資料從前述揮發性記憶體保存至前述非揮發性記憶媒體;將前述使用者資料的保存結束通知前述主裝置;從前述主裝置接收到第2保存指示時,把表示前述位址變換表的更新內容且未寫入前述非揮發性記憶媒體的經更新的位址變換資訊從前述揮發性記憶體保存至前述非揮發性記憶媒體。
- 如請求項7所記載的儲存裝置,其中,前述控制器,從前述主裝置接收到前述第1保存指示時,將前述使用者資料、用以再構築前述位址變換表的位址資訊保存至前述非揮發性記憶媒體;其中,用以再構築前述位址變換表的位址資訊包含對應前述使用者資料的邏輯位址。
- 如請求項7所記載的儲存裝置,其中,前述控制器,在前述電源消失事件發生前的通常運作期間中,從前述主裝置接收到表示在前述電源消失的事件後能供應的電力量的通知時,基於前述電力量來限制能蓄積於前述揮發性記憶體的未寫入的使用者資料的量。
- 如請求項7所記載的儲存裝置,其中,前述控制器,在前述電源消失事件發生前的通常運作期間中,從前述主裝置接收到表示在前述電源消失的事件後能供應的電力量的通知時,基於前述電力量來限制能蓄積於前述揮發性記 憶體的未寫入的使用者資料的量、及能蓄積於前述揮發性記憶體的未寫入的經更新的位址變換資訊的量。
- 如請求項7所記載的儲存裝置,其中,前述非揮發性記憶媒體為含有複數頁面的包含複數區塊之非揮發性記憶體;從前述主裝置接收到前述第1保存指示時,將前述使用者資料內所包含的一個以上的資料部、及用以再構築前述位址變換表的位址資訊寫入前述非揮發性記憶體的區塊內的同一頁面;其中,用以再構築前述位址變換表的位址資訊包含對應前述一個以上的資料部的一個以上的邏輯位址。
- 一種資訊處理系統,包含主裝置及連接至前述主裝置的複數儲存裝置,其中,前述主裝置,響應電源消失的事件,使用來自備用電源的電力對前述資訊處理裝置的組成及前述複數儲存裝置供應電力;在前述電源消失的事件後,將指示使用者資料的保存的第1保存指示發送至前述複數儲存裝置;當從前述複數儲存裝置的全部接收到表示使用者資料的保存結束的應答時,將第2保存指示發送至前述複數儲存裝置的全部或前述複數儲存裝置內的一個以上的儲存裝置; 其中,各個前述儲存裝置包含:揮發性記憶體;非揮發性記憶媒體;以及使用位址變換表來管理各個邏輯位址與前述非揮發性記憶媒體的各個物理位址之間的對映的控制器;其中,前述控制器,從前述主裝置接收到前述第1保存指示時,把未寫入前述非揮發性記憶媒體的使用者資料從前述揮發性記憶體保存至前述非揮發性記憶媒體,並將前述使用者資料的保存結束通知前述主裝置;從前述主裝置接收到前述第2保存指示時,把表示前述位址變換資訊的更新內容且未寫入前述非揮發性記憶媒體的經更新的位址變換資訊從前述揮發性記憶體保存至前述非揮發性記憶媒體。
- 如請求項12所記載的資訊處理系統,其中,前述主裝置,當從前述複數儲存裝置的全部接收到表示前述使用者資料的保存結束的應答時,將前述第2保存指示發送至前述複數儲存裝置之內比前述位址變換表的再構築所需要的時間還長的一個以上的第1儲存裝置;當從前述一個以上的第1儲存裝置的全部接收到表示前述經更新的位址變換資訊的保存結束的應答時,將前述第2保存指示發送至剩下的各儲存裝置。
- 如請求項13所記載的資訊處理系統,其中,前述主裝置,當從前述一個以上的第1儲存裝置的全部接收到表示前述經更新的位址變換資訊的保存結束的應答時,判定前述備用電源的剩餘電力量是否在閾值以上;當前述剩餘電力量在前述閾值以上時,將前述第2保存指示發送至前述剩下的各儲存裝置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017049903A JP6732684B2 (ja) | 2017-03-15 | 2017-03-15 | 情報処理装置、ストレージデバイスおよび情報処理システム |
JP2017-049903 | 2017-03-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI635392B true TWI635392B (zh) | 2018-09-11 |
TW201835768A TW201835768A (zh) | 2018-10-01 |
Family
ID=63520045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106122911A TWI635392B (zh) | 2017-03-15 | 2017-07-07 | Information processing device, storage device and information processing system |
Country Status (4)
Country | Link |
---|---|
US (2) | US10372481B2 (zh) |
JP (1) | JP6732684B2 (zh) |
CN (1) | CN108628771B (zh) |
TW (1) | TWI635392B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6732684B2 (ja) * | 2017-03-15 | 2020-07-29 | キオクシア株式会社 | 情報処理装置、ストレージデバイスおよび情報処理システム |
TWI678622B (zh) * | 2018-06-15 | 2019-12-01 | 慧榮科技股份有限公司 | 資料儲存裝置的開發系統以及產品化方法 |
US11262942B2 (en) * | 2018-07-16 | 2022-03-01 | ScaleFlux, Inc. | Integrating host-side storage device management with host-side non-volatile memory |
TWI710904B (zh) * | 2019-02-18 | 2020-11-21 | 宏碁股份有限公司 | 資料寫入方法與儲存裝置 |
JP2021005121A (ja) * | 2019-06-25 | 2021-01-14 | 株式会社日立製作所 | ストレージ装置、及び制御方法 |
WO2021001892A1 (ja) * | 2019-07-01 | 2021-01-07 | 三菱電機株式会社 | データ処理装置、データ処理システム、データ退避方法およびプログラム |
CN110704337B (zh) * | 2019-09-23 | 2021-01-19 | 深圳忆联信息系统有限公司 | 基于固态硬盘的映射表重建方法、装置和计算机设备 |
CN110806794A (zh) * | 2019-10-10 | 2020-02-18 | 浙江大华技术股份有限公司 | 存储系统的掉电保护方法、系统、计算机设备以及介质 |
US11907115B2 (en) * | 2020-04-30 | 2024-02-20 | Red Hat, Inc. | Indirect interface for virtual machine free page hinting |
CN112199045A (zh) * | 2020-10-12 | 2021-01-08 | 长江存储科技有限责任公司 | 存储装置以及数据操作方法 |
US11934664B2 (en) * | 2021-12-27 | 2024-03-19 | Western Digital Technologies, Inc. | SSD auxiliary battery power for handling ungraceful shutdown with host |
CN116467224B (zh) * | 2022-01-12 | 2023-10-31 | 联芸科技(杭州)股份有限公司 | L2p映射表重建方法及固态硬盘 |
JP2023136083A (ja) * | 2022-03-16 | 2023-09-29 | キオクシア株式会社 | メモリシステムおよび制御方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090158000A1 (en) * | 2005-03-31 | 2009-06-18 | Nec Corporation | Computer System, Memory Management Method and Program Thereof |
US20140089585A1 (en) * | 2012-09-27 | 2014-03-27 | Akio Nakajima | Hierarchy memory management |
US20150143032A1 (en) * | 2012-06-19 | 2015-05-21 | Kabushiki Kaisha Toshiba | Storage medium storing control program, method of controlling information processing device, information processing system, and information processing device |
US20150254186A1 (en) * | 2012-12-28 | 2015-09-10 | Hitachi, Ltd. | Information processing device having a plurality of types of memory caches with different characteristics |
US20160291887A1 (en) * | 2015-03-30 | 2016-10-06 | Kabushiki Kaisha Toshiba | Solid-state drive with non-volatile random access memory |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5259257B2 (ja) | 2008-05-29 | 2013-08-07 | 株式会社日立超エル・エス・アイ・システムズ | 記憶装置 |
JP2013061799A (ja) * | 2011-09-13 | 2013-04-04 | Toshiba Corp | 記憶装置、記憶装置の制御方法およびコントローラ |
US10747449B2 (en) * | 2014-07-31 | 2020-08-18 | Toshiba Memory Corporation | Reduction of power use during address translation via selective refresh operations |
US9836108B2 (en) * | 2014-09-10 | 2017-12-05 | Toshiba Memory Corporation | Memory system and controller |
US20170046260A1 (en) * | 2015-08-14 | 2017-02-16 | Kabushiki Kaisha Toshiba | Storage device and method for saving write cache data |
JP6479608B2 (ja) * | 2015-08-28 | 2019-03-06 | 東芝メモリ株式会社 | メモリ装置およびメモリ制御方法 |
JP6732684B2 (ja) * | 2017-03-15 | 2020-07-29 | キオクシア株式会社 | 情報処理装置、ストレージデバイスおよび情報処理システム |
-
2017
- 2017-03-15 JP JP2017049903A patent/JP6732684B2/ja not_active Expired - Fee Related
- 2017-07-07 TW TW106122911A patent/TWI635392B/zh active
- 2017-08-04 CN CN201710659737.8A patent/CN108628771B/zh active Active
- 2017-08-23 US US15/684,848 patent/US10372481B2/en active Active
-
2019
- 2019-04-17 US US16/387,127 patent/US10776153B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090158000A1 (en) * | 2005-03-31 | 2009-06-18 | Nec Corporation | Computer System, Memory Management Method and Program Thereof |
US20150143032A1 (en) * | 2012-06-19 | 2015-05-21 | Kabushiki Kaisha Toshiba | Storage medium storing control program, method of controlling information processing device, information processing system, and information processing device |
US20140089585A1 (en) * | 2012-09-27 | 2014-03-27 | Akio Nakajima | Hierarchy memory management |
US20150254186A1 (en) * | 2012-12-28 | 2015-09-10 | Hitachi, Ltd. | Information processing device having a plurality of types of memory caches with different characteristics |
US20160291887A1 (en) * | 2015-03-30 | 2016-10-06 | Kabushiki Kaisha Toshiba | Solid-state drive with non-volatile random access memory |
Also Published As
Publication number | Publication date |
---|---|
JP2018156131A (ja) | 2018-10-04 |
JP6732684B2 (ja) | 2020-07-29 |
CN108628771A (zh) | 2018-10-09 |
US10372481B2 (en) | 2019-08-06 |
US10776153B2 (en) | 2020-09-15 |
CN108628771B (zh) | 2022-07-05 |
TW201835768A (zh) | 2018-10-01 |
US20180267827A1 (en) | 2018-09-20 |
US20190243679A1 (en) | 2019-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI635392B (zh) | Information processing device, storage device and information processing system | |
CN107301134B (zh) | 存储装置中的磨损均衡 | |
KR101086857B1 (ko) | 데이터 머지를 수행하는 반도체 스토리지 시스템의 제어 방법 | |
KR101759811B1 (ko) | 솔리드 스테이트 메모리를 포멧팅하기 위한 메모리 제어기, 방법, 및 솔리드 스테이트 메모리 시스템 | |
US8819338B2 (en) | Storage system and storage apparatus | |
US9923562B1 (en) | Data storage device state detection on power loss | |
JP2017079050A (ja) | 保護されたデータとは別個のパリティデータの記憶 | |
JP6007332B2 (ja) | ストレージシステム及びデータライト方法 | |
KR20180009695A (ko) | 저장 장치들에 대한 매핑 테이블들 | |
US10430297B2 (en) | Data storage device and operating method thereof | |
US20180173419A1 (en) | Hybrid ssd with delta encoding | |
US11086772B2 (en) | Memory system performing garbage collection operation and operating method of memory system | |
KR20120044324A (ko) | 불휘발성 메모리에 대한 메타데이터 리던던시 스킴 | |
US20170206170A1 (en) | Reducing a size of a logical to physical data address translation table | |
US20180089088A1 (en) | Apparatus and method for persisting blocks of data and metadata in a non-volatile memory (nvm) cache | |
US20220229722A1 (en) | Method and apparatus to improve performance of a redundant array of independent disks that includes zoned namespaces drives | |
US20090132757A1 (en) | Storage system for improving efficiency in accessing flash memory and method for the same | |
CN109144899A (zh) | 用于管理表恢复的方法 | |
TW202004505A (zh) | 用於在突然斷電時降低功率消耗之資料儲存方法和資料儲存設備 | |
KR20220022092A (ko) | 존 구획 네임스페이스를 갖는 호스트 관리 하드웨어 압축 | |
KR20220103340A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20190095825A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US10915401B2 (en) | Data saving caused by a partial failure of the memory device | |
US9785563B1 (en) | Read command processing for data storage system based on previous writes |