TWI473006B - 儲存裝置之控制器、儲存裝置及儲存裝置之電腦程式產品 - Google Patents
儲存裝置之控制器、儲存裝置及儲存裝置之電腦程式產品 Download PDFInfo
- Publication number
- TWI473006B TWI473006B TW100127619A TW100127619A TWI473006B TW I473006 B TWI473006 B TW I473006B TW 100127619 A TW100127619 A TW 100127619A TW 100127619 A TW100127619 A TW 100127619A TW I473006 B TWI473006 B TW I473006B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- state
- unit
- parity
- storage unit
- Prior art date
Links
- 238000004590 computer program Methods 0.000 title claims description 11
- 238000013500 data storage Methods 0.000 claims description 276
- 238000011084 recovery Methods 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 8
- 238000000034 method Methods 0.000 description 88
- 230000008569 process Effects 0.000 description 74
- 238000004364 calculation method Methods 0.000 description 45
- 239000000463 material Substances 0.000 description 37
- 238000010586 diagram Methods 0.000 description 20
- 230000008901 benefit Effects 0.000 description 16
- 238000012937 correction Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 8
- 238000005457 optimization Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1059—Parity-single bit-RAID5, i.e. RAID 5 implementations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1073—Problems due to wear-out failures in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1092—Single disk raid, i.e. RAID with parity on a single disk
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本文所闡述之實施例一般而言係關於一控制器、一儲存裝置及一電腦程式產品。
本申請案係基於並主張2010年9月17日提出申請之日本專利申請案2010-209758號之優先權之權益,該申請案之全部內容以引用方式併入本文中。
需要一資料儲存裝置具有高可靠性。藉由應用諸如廉價磁碟之冗餘陣列(RAID)5之組態之一組態,資料儲存裝置可執行資料復原。因此,可改良組合複數個資料儲存裝置之作為一整體之一儲存系統之可靠性。
然而,根據習用技術,雖然可改良組合複數個資料儲存裝置之作為一整體之一儲存系統之可靠性,但不可改良作為一單個裝置之一資料儲存裝置之可靠性。
實施例之一標的物係提供作為一單個裝置之一資料儲存裝置之可靠性可藉以改良之一控制器、一儲存裝置及一電腦程式產品。
一般而言,根據一項實施例,一控制器控制至一儲存裝置中之寫入及自該儲存裝置之讀取,該儲存裝置包括一第一資料儲存單元及一第二資料儲存單元。該第二資料儲存單元儲存使用者資料及該使用者資料之同位資料。該第一資料儲存單元儲存同位資料。該控制器包括一同位更新單元及一同位寫入單元。當更新同位資料時,該同位更新單元將經更新之同位資料寫入至該第一資料儲存單元中。當滿足了某一要求時,同位寫入單元讀取寫入於該第一資料儲存單元中之同位資料,且將如此讀取之該同位資料寫入至該第二資料儲存單元中。
根據上文所闡述之控制器,可改良作為一單個裝置之一資料儲存裝置之可靠性。
下文將參照隨附圖式詳細闡釋一資料儲存裝置之實例性實施例。
為了改良根據一第一實施例之一資料儲存裝置(在下文中,「資料儲存裝置」)之一單個裝置之可靠性,該資料儲存裝置經組態以於其中包括諸如廉價磁碟之一冗餘陣列(RAID)5(闡述於D.Patterson、G.Gibson及R.Katz之「A Case for Redundant Arrays of Inexpensive Disks(RAID)」,1988 ACM SIGMOD之會刊,第109至116頁,1988年6月)之彼結構之一結構,以在該資料儲存裝置中達成資料復原。
亦需要資料儲存裝置減少成本。時常使用價格-容量比相對廉價之一儲存媒體。價格-容量比相對廉價之此一儲存媒體時常具有一相對慢的資料寫入速度。
當該資料儲存裝置採用諸如RAID 5之彼組態之一組態時,資料復原碼(在下文中,「同位」)資料之寫入量相比於
使用者資料之寫入量而變大,一主機元件請求將該使用者資料寫入至一儲存媒體上。由於至資料儲存裝置中之儲存媒體自身上之一資料寫入速度帶存在一上限,因此當該資料儲存裝置採用諸如RAID 5之組態之一組態時,作為一結果,出現使用者資料之寫入速度變慢之一缺點。
據說,對於某些儲存媒體(諸如一NAND型快閃記憶體體)而言,包括於該儲存媒體中之儲存元件之一產品壽命端視於重寫資料之次數而變化。在使用此儲存媒體之一資料儲存裝置中,存在一缺點:當同位資料之寫入量變大時,該資料儲存裝置之一設計壽命變短。
由於上文所闡述之情況,因此當資料儲存裝置採用諸如RAID 5之彼組態之一組態時,需要相比於使用者資料寫入至一儲存媒體上之量來減少同位資料寫入至該儲存媒體上之量。
因此,除了儲存使用者資料及同位資料之一儲存媒體(第二資料儲存單元)之外,該實施例還包括僅儲存同位資料之一儲存媒體(第一資料儲存單元)。當更新該同位資料時,該第一資料儲存單元儲存該經更新之同位資料,且然後將儲存於該第一資料儲存單元中之同位資料在某一時機寫入至該第二資料儲存單元中。因此,可相比於寫入至一儲存媒體上之使用者資料之量而減少寫入至該儲存媒體上之同位資料之量。
圖1係繪示根據第一實施例之一資料儲存裝置100之一組態實例之一功能方塊圖。如圖1中所展示,資料儲存裝置100包括一第一資料儲存單元151、一第一存取控制單元101、一第二資料儲存單元152、一第二存取控制單元102、一第一狀態儲存單元153、一第三存取控制單元103、一第二狀態儲存單元154、一第四存取控制單元104、一狀態更新單元120、一控制器110及一同位計算單元130。該控制器110包括一同位更新單元111及一同位寫入單元112。
第一資料儲存單元151包括至少一個儲存區域,如圖2中所展示。每一儲存區域於其中儲存同位資料。第一資料儲存單元151可包括複數個儲存區域,且該等儲存區域中之每一者可於其中儲存同位資料。換言之,資料儲存裝置100可具有複數個同位群組。該同位群組意指於其中儲存受某一同位資料保護之使用者資料之一儲存區域彙總。資料儲存裝置100在其具有複數個同位群組時會具有稍後根據同位群組之數目所闡釋之複數個各種資訊片段。當資料儲存裝置100具有複數個同位群組時,可根據其提供下文所闡述之組態及過程。
第一存取控制單元101控制讀取第一資料儲存單元151或至第一資料儲存單元151中之寫入。
第二資料儲存單元152包括複數個儲存區域,如圖3中所展示。每一儲存區域於其中儲存使用者資料或同位資料。在該等儲存區域中間,儲存使用者資料之一儲存區域具有兩個狀態,即一第一狀態及一第二狀態。該第一狀態係儲存於該儲存區域中之使用者資料受第一資料儲存單元151所儲存之同位資料保護之一狀態。該第二狀態係儲存於該儲存區域中之使用者資料不受第一資料儲存單元151所儲存之同位資料保護之一狀態。
第二存取控制單元102控制讀取第二資料儲存單元152或至第二資料儲存單元152中之寫入。
第二資料儲存單元152可經組態以在性質方面相對遜於第一資料儲存單元151。舉例而言,第二資料儲存單元152之資料寫入速度可相對遜於第一資料儲存單元151。在第二資料儲存單元152包括其壽命取決於資料寫入之次數之儲存元件之另一情形中,第二資料儲存單元152可在資料寫入耐久性之次數方面相對遜於第一資料儲存單元151。在其中第二資料儲存單元152包括其資料寫入速度相對遜於資料讀取速度之儲存元件之又另一情形中,第二資料儲存單元152可在資料寫入速度遜於資料讀取速度之程度方面相對遜於第一資料儲存單元151。性質之實例不限於此等實例。
第一狀態儲存單元153於其中儲存第一狀態彙總資訊。第一狀態彙總資訊係在包括於第二資料儲存單元152中之儲存區域中間識別處於第一狀態之一儲存區域彙總(第一狀態彙總)之資訊(識別資訊)。該第一狀態彙總資訊可係由(例如)儲存區域之識別符之一清單結構形成,如圖4中所展示。
第三存取控制單元103控制對第一狀態儲存單元153之存取。對第一狀態儲存單元153之存取包括對第一狀態儲存單元153所儲存之第一狀態彙總資訊之讀取,將一請求源所指定之儲存區域資訊添加至第一狀態儲存單元153所儲存之第一彙總資訊及自第一狀態儲存單元153所儲存之第一彙總資訊刪除該請求源所指定之儲存區域資訊。
第二狀態儲存單元154於其中儲存第二狀態彙總資訊。該第二狀態彙總資訊係在包括於第二資料儲存單元152中之儲存區域中間識別處於第二狀態中之一儲存區域彙總(第二狀態彙總)之資訊。該第二狀態彙總資訊可係由(例如)儲存區域之識別符之一清單結構形成,如圖5中所展示。
第四存取控制單元104控制對第二狀態儲存單元154之存取。對第二狀態儲存單元154之存取包括對第二狀態儲存單元154所儲存之第二狀態彙總資訊之讀取,將一請求源所指定之儲存區域資訊添加至第二狀態儲存單元154所儲存之第二彙總資訊及自第二狀態儲存單元154所儲存之第二彙總資訊刪除該請求源所指定之儲存區域資訊。
同位計算單元130對自一指令源所接收之複數個輸入資料執行同位計算,且將一計算結果返回至該指令源。該同位計算係在創建同位資料、更新同位資料、復原資料及諸如此類時待執行之一計算,且包括例如一互斥「或」運算之運算。雖然下文闡釋將一互斥「或」運算用作一同位計算之一實例,但適用性同位計算不限於此。此外,同位計算單元130可經組態以提供於資料儲存裝置100外部。
狀態更新單元120指示第四存取控制單元104讀取第二狀態儲存單元154所儲存之第二狀態彙總資訊,且視需要獲取該第二狀態彙總資訊。狀態更新單元120自所獲取之第二狀態彙總資訊所指示之一儲存區域彙總(第二狀態彙總)選擇待改變至該第一狀態之一儲存區域,且將關於選定儲存區域之識別資訊通知同位更新單元111。
此外,狀態更新單元120指示第三存取控制單元103讀取第一狀態儲存單元153所儲存之第一狀態彙總資訊,且視需要獲取該第一狀態彙總資訊。狀態更新單元120自所獲取之第一狀態彙總資訊所指示之一儲存區域彙總(第一狀態彙總)選擇待改變至該第二狀態之一儲存區域,且將關於選定儲存區域之識別資訊通知同位更新單元111。
當自狀態更新單元120通知關於待改變至該第一狀態之一儲存區域之識別資訊時,同位更新單元111指示第二存取控制單元102讀取被通知之儲存區域所儲存之資料,且獲取該被通知之儲存區域所儲存之資料。同位更新單元111指示第一存取控制單元101讀取第一資料儲存單元151中所記錄之同位資料,且獲取第一資料儲存單元151中所記錄之同位資料。同位更新單元111指示同位計算單元130對所獲取之同位資料及儲存區域所儲存之所獲取資料執行同位計算,且獲取經更新之同位資料。同位更新單元111指示第一存取控制單元101將所獲取之經更新之同位資料寫入至第一資料儲存單元151中。同位更新單元111指示第四存取控制單元104自第二狀態儲存單元154所儲存之第二狀態彙總資訊刪除關於被通知之儲存區域之識別資訊。同位更新單元111指示第三存取控制單元103將關於被通知之儲存區域之識別資訊添加至第一狀態儲存單元153所儲存之第一狀態彙總資訊。
當自狀態更新單元120通知關於待改變至該第二狀態之一儲存區域之識別資訊時,同位更新單元111指示第二存取控制單元102讀取被通知之儲存區域所儲存之資料,且獲取該被通知之儲存區域所儲存之資料。同位更新單元111指示第一存取控制單元101讀取第一資料儲存單元151中所記錄之同位資料,且獲取在第一資料儲存單元151中所記錄之同位資料。同位更新單元111指示同位計算單元130對所獲取之同位資料及儲存區域所儲存之所獲取資料執行同位計算,且獲取經更新之同位資料。同位更新單元111指示第一存取控制單元101將所獲取之經更新同位資料寫入至第一資料儲存單元151中。同位更新單元111指示第三存取控制單元103自第一狀態儲存單元153所儲存之第一狀態彙總資訊刪除關於被通知儲存區域之識別資訊。同位更新單元111指示第四存取控制單元104將關於被通知之儲存區域之識別資訊添加至第二狀態儲存單元154所儲存之第二狀態彙總資訊。
如上文所闡述,狀態更新單元120將處於該第二狀態中之一儲存區域改變至該第一狀態之一通知,且將處於該第一狀態中之一儲存區域改變至該第二狀態之一通知單獨通知同位更新單元111。此外,同位更新單元111相關於處於該第二狀態中之一儲存區域改變至該第一狀態之通知及處
於該第一狀態中之一儲存區域改變至該第二狀態之通知單獨更新同位資料,該等通知係來自狀態更新單元120。
因此,可動態改變儲存受同位資料保護之使用者資料之儲存區域之數目。換言之,可動態改變包括於一同位群組中之儲存區域之數目。
同位寫入單元112指示第一存取控制單元101在預先或動態判定之某一時機讀取第一資料儲存單元151中所記錄之同位資料,且獲取第一資料儲存單元151中所記錄之同位資料。然後同位寫入單元112指示第二存取控制單元102將所獲取之同位資料寫入至第二資料儲存單元152中。
預先或動態判定之該某一時機意指(例如)當滿足一預定要求時之時機。作為一要求,舉例而言,每當某一週期過去時,或在更新同位資料之次數超過某一數目時之時機或諸如此類時,可施加任一要求。
在下文中,將「指示第一存取控制單元101讀取第一資料儲存單元151中所記錄之同位資料,獲取第一資料儲存單元151中所記錄之同位資料及指示第二存取控制單元102將所獲取之同位資料寫入至第二資料儲存單元152中」視需要稱作一同位寫入指令。
如上文所闡述,同位更新單元111更新第一資料儲存單元151上之同位資料。此外,獨立於第一資料儲存單元151上之同位資料更新過程,同位寫入單元112在預先或動態判定之某一時機將該第一資料儲存單元151上之同位資料寫入至第二資料儲存單元152中。因此,每一次執行同位更新過程時不將經更新之同位資料寫入至第二資料儲存單元152中。
當第一資料儲存單元151及第二資料儲存單元152具有上文所闡述之記憶體性質時,可藉由減少至第二資料儲存單元152中之寫入來抑制整個資料儲存裝置100之效能劣化程度及壽命衰減程度。如上文所闡述,由於每一次執行同位更新過程時不將經更新之同位資料寫入至第二資料儲存單元152中,因此根據該實施例,可減少至第二資料儲存單元152中之寫入。因此,根據該實施例,可抑制整個資料儲存裝置100之效能劣化程度及壽命衰減程度。
根據該實施例,僅准許將使用者資料重寫至處於第二狀態中之一儲存區域。因此,舉例而言,當重寫儲存於處於該第一狀態中之一儲存區域中之使用者資料並亦在重寫該使用者資料之後維持該第一狀態之一需要出現時,將後跟一程序以便(例如)狀態更新單元120做出將該儲存區域一次改變至該第二狀態之一指令,一未展示之使用者資料重寫單元指示第二存取控制單元102重寫該儲存區域中之使用者資料,且狀態更新單元120做出將該儲存區域改變至該第一狀態之一指令。
在不背離該實施例之標的物之一範疇內,可組合並最佳化上文所闡述之一系列過程,且(例如)可減少自第二資料儲存單元152讀取資料之次數。這適用於下文所闡述之實施例。舉例而言,考量其中將第二資料儲存單元152中之資料A改變至資料A',且隨該改變一起更新同位資料之情形。根據未經最佳化之一種方法,將經改變之資料A'儲存至第二資料儲存單元152中,且然後需自第二資料儲存單元152讀取所儲存之資料A'以便更新同位資料。在此情形中,可藉由將經改變之資料A'儲存至一暫時性儲存單元(諸如一隨機存取記憶體(RAM))中且然後在更新同位資料時使用儲存於該暫時性儲存單元中之資料A'來減少自第二資料儲存單元152讀取資料之次數。
下文相關於圖6闡釋根據第一實施例如此組態之資料儲存裝置100所執行之過程。圖6係繪示根據該第一實施例將一儲存區域改變至第一狀態之一過程之一流程之一流程圖。
首先,狀態更新單元120視需要自第二狀態儲存單元154讀取一第二狀態彙總(步驟S101)。具體而言,狀態更新單元120指示第四存取控制單元104讀取第二狀態儲存單元154所儲存之第二狀態彙總資訊。第四存取控制單元104讀取第二狀態儲存單元154所儲存之第二狀態彙總資訊,且輸出至狀態更新單元120。狀態更新單元120獲取第二狀態彙總資訊。狀態更新單元120自所獲取之第二狀態彙總資訊所指示之一儲存區域彙總選擇待改變至第一狀態之一儲存區域,且將關於該選定儲存區域之識別資訊通知同位更新單元111(步驟S102)。
同位更新單元111讀取待改變至第一狀態之儲存區域中所記錄之資料(步驟S103)。具體而言,當自狀態更新單元120通知關於待改變至第一狀態之一儲存區域之識別資訊時,同位更新單元111指示第二存取控制單元102讀取被通知之儲存區域所儲存之資料。第二存取控制單元102讀取被通知之儲存區域所儲存之資料且輸出至同位更新單元111。同位更新單元111獲取被通知之儲存區域所儲存之資料。
同位更新單元111自第一資料儲存單元151讀取同位資料(步驟S104)。具體而言,同位更新單元111指示第一存取控制單元101讀取第一資料儲存單元151中所記錄之同位資料。第一存取控制單元101讀取第一資料儲存單元151中所記錄之同位資料,且輸出至同位更新單元111。同位更新單元111獲取第一資料儲存單元151中所記錄之同位資料。
同位更新單元111更新所獲取之同位資料(步驟S105)。具體而言,同位更新單元111指示同位計算單元130對所獲取之同位資料及儲存區域所儲存之所獲取資料執行同位計算。同位計算單元130對自指令源所接收之複數個輸入資料執行同位計算,且將一計算結果返回至該指令源。該同位計算係在創建或更新同位資料、復原資料或諸如此類時待執行之一計算,且包括例如一互斥「或」運算之運算。同位更新單元111獲取經更新之同位資料。同位更新單元111指示第一存取控制單元101將所獲取之經更新之同位資料寫入至第一資料儲存單元151中。第一存取控制單元101將經更新之同位資料寫入至第一資料儲存單元151中。
同位更新單元111更新關於該儲存區域之狀態資訊(步驟S106)。具體而言,同位更新單元111指示第四存取控制單元104自第二狀態儲存單元154所儲存之第二狀態彙總資訊刪除關於被通知之儲存區域之識別資訊。第四存取控制單元104自第二狀態儲存單元154所儲存之第二狀態彙總資訊刪除被通知同位更新單元111之關於該儲存區域之識別資訊。同位更新單元111指示第三存取控制單元103將關於被通知之儲存區域之識別資訊添加至第一狀態儲存單元153所儲存之第一狀態彙總資訊中。第三存取控制單元103將被通知同位更新單元111之關於該儲存區域之識別資訊添加至第一狀態儲存單元153所儲存之第一狀態彙總資訊中。
然後下文相關於圖7闡釋將一儲存區域改變至第二狀態之一處理程序之一實例。圖7係繪示根據該第一實施例將一儲存區域改變至該第二狀態之一過程之一流程之一流程圖。
首先,狀態更新單元120視需要自第一狀態儲存單元153讀取一第一狀態彙總(步驟S201)。具體而言,狀態更新單元120指示第三存取控制單元103讀取第一狀態儲存單元153所儲存之第一狀態彙總資訊。第三存取控制單元103讀取第一狀態儲存單元153所儲存之第一狀態彙總資訊,且輸出至狀態更新單元120。狀態更新單元120獲取第一狀態彙總資訊。狀態更新單元120自所獲取之第一狀態彙總資訊所指示之一儲存區域彙總選擇待改變至第二狀態之一儲存區域,且將關於該選定儲存區域之識別資訊通知同位更新單元111(步驟S202)。
同位更新單元111讀取待改變至第二狀態之儲存區域中所記錄之資料(步驟S203)。具體而言,當自狀態更新單元120通知關於待改變至第二狀態之一儲存區域之識別資訊時,同位更新單元111指示第二存取控制單元102讀取被通知之儲存區域所儲存之資料。第二存取控制單元102讀取被通知之儲存區域所儲存之資料且輸出至同位更新單元111。同位更新單元111獲取被通知之儲存區域所儲存之資料。
然後同位更新單元111讀取同位資料(步驟S204),且更新所讀取之同位資料(步驟S205)。此過程與圖6中之步驟S104及S105處之過程相同,因此省略詳細闡釋。
同位更新單元111更新關於該儲存區域之狀態資訊(步驟S206)。具體而言,同位更新單元111指示第三存取控制單元103自第一狀態儲存單元153所儲存之第一狀態彙總資訊刪除關於被通知之儲存區域之識別資訊。第三存取控制單元103自第一狀態儲存單元153所儲存之第一狀態彙總資訊刪除被通知同位更新單元111之關於該儲存區域之識別資訊。同位更新單元111指示第四存取控制單元104將關於被通知之儲存區域之識別資訊添加至第二狀態儲存單元154所儲存之第二狀態彙總資訊中。第四存取控制單元104將被通知同位更新單元111之關於該儲存區域之識別資訊添加至第二狀態儲存單元154所儲存之第二狀態彙總資訊中。
然後下文參照圖8闡釋同位寫入之一處理程序之一實
例。圖8係繪示根據該第一實施例之一同位寫入過程之一流程之一流程圖。
首先,同位寫入單元112自第一資料儲存單元151讀取同位資料(步驟S301)。具體而言,同位寫入單元112指示第一存取控制單元101在預先或動態判定之某一時機讀取第一資料儲存單元151中所記錄之同位資料。第一存取控制單元101讀取第一資料儲存單元151中所記錄之同位資料,且輸出至同位寫入單元112。同位寫入單元112獲取第一資料儲存單元151中所記錄之同位資料。
同位寫入單元112寫入所獲取之同位資料(步驟S302)。具體而言,同位寫入單元112指示第二存取控制單元102將所獲取之同位資料寫入至第二資料儲存單元152中。第二存取控制單元102將同位寫入單元112所獲取之同位資料寫入至第二資料儲存單元152中。
以此方式,根據第一實施例之資料儲存裝置可相比於寫入至該儲存媒體上之使用者資料之量減少寫入至一儲存媒體上之同位資料之量。
在根據一第二實施例之一資料儲存裝置中,每一次當改變至第二狀態之儲存區域之數目超過預先或動態判定之一臨限值時,自第一資料儲存單元151將同位資料寫入至第二資料儲存單元152中。
圖9係根據該第二實施例之一資料儲存裝置200之一組態實例之一功能方塊圖。如圖9中所展示,資料儲存裝置200包括第一資料儲存單元151、第一存取控制單元101、第二資料儲存單元152、第二存取控制單位102、第一狀態儲存單元153、第三存取控制單元103、第二狀態儲存單元154、第四存取控制單元104、同位計算單元130、一狀態更新單元120-2、一控制器110-2、一第三狀態儲存單元255及一第五存取控制單元205。控制器110-2包括一同位更新單元111-2及一同位寫入單元112-2。用相同元件符號指定與已闡釋之功能單元相同之單元,且省略詳細闡釋。
第三狀態儲存單元255儲存額外第二狀態彙總資訊。第二狀態儲存單元154所儲存之第二狀態彙總資訊所指示之處於第二狀態中之一儲存區域彙總包括以下兩個彙總。
(1)自從稍後所闡述之同位寫入單元112-2指示第一存取控制單元101及第二存取控制單元102將第一資料儲存單元151中所記錄之同位資料寫入至第二資料儲存單元152中之最近時刻(在下文中稱作最近同位寫入時刻)之前已持續處於第二狀態中之一儲存區域彙總。
(2)由稍後所闡述之狀態更新單元120-2自第一狀態彙總資訊所指示之一儲存區域彙總選定為在該最近同位寫入時刻之後待改變至第二狀態且結果變為第二狀態之儲存區域之一儲存區域彙總。
額外第二狀態彙總資訊係關於在該最近同位寫入時刻之後變為第二狀態之一儲存區域彙總(額外第二狀態彙總)之資訊。該額外第二狀態彙總資訊係由儲存區域之識別符之一清單結構形成,例如圖10中所展示。
第五存取控制單元205控制對第三狀態儲存單元255之存取。對第三狀態儲存單元255之存取包括對第三狀態儲存單元255所儲存之額外第二狀態彙總資訊之讀取,將一請求源所指定之儲存區域資訊添加至第三狀態儲存單元255所儲存之額外第二狀態彙總資訊及刪除第三狀態儲存單元255所儲存之額外第二狀態彙總資訊。
由於除了通知目的地係同位更新單元111-2而不是同位更新單元111之外,狀態更新單元120-2類似於根據該第一實施例之狀態更新單元120,因此省略詳細闡釋。
由於除了關於自狀態更新單元120-2通知關於待改變至第一狀態之一儲存區域之識別資訊時之過程,通知源係狀態更新單元120-2而不是狀態更新單元120之外,同位更新單元111-2類似於同位更新單元111,因此省略詳細闡釋。
除了執行在自狀態更新單元120將關於待改變至第二狀態之一儲存區域之識別資訊通知同位更新單元111時所執行之過程之外,在自狀態更新單元120-2通知關於待改變至第二狀態之一儲存區域之識別資訊時,同位更新單元111-2指示第五存取控制單元205將關於被通知之儲存區域之識別資訊添加至第三狀態儲存單元255所儲存之額外第二狀態彙總資訊中。
同位寫入單元112-2指示第五存取控制單元205讀取第三狀態-儲存單元255所儲存之額外第二狀態彙總資訊,並獲取第三狀態-儲存單元255所儲存之該額外第二狀態彙總資訊。同位寫入單元112-2獲得包括於所獲取之額外第二狀態彙總資訊中之關於一儲存區域之識別資訊(在下文中稱作區域資訊)片段之數目。當該所獲得之區域資訊片段之數目超過預先或動態判定之一臨限值時,除了同位寫入單元112所給出之同位寫入指令之外,同位寫入單元112-2指示第五存取控制單元205刪除第三狀態儲存單元255所儲存之額外第二狀態彙總資訊。
下文參照圖11闡釋根據第二實施例如此組態之資料儲存裝置200所執行之過程。由於將一儲存區域改變至第一狀態之一過程之一流程類似於根據第一實施例之圖6,因此省略闡釋。圖11係繪示根據第二實施例將一儲存區域改變至第二狀態之一過程之一流程之一流程圖。
由於步驟S401至S406係類似於根據第一實施例資料儲存裝置100在步驟S201至S206處之過程之過程,因此省略對其之闡釋。
在步驟S407處,同位更新單元111-2將關於待改變至第二狀態之儲存區域之識別資訊添加至額外第二狀態彙總資訊中。具體而言,同位更新單元111-2指示第五存取控制單元205將自狀態更新單元120-2通知之關於該儲存區域之識別資訊添加至第三狀態儲存單元255所儲存之額外第二狀態彙總資訊中。第五存取控制單元205將自狀態更新單元120-2通知至同位更新單元111-2之關於該儲存區域之識別資訊添加至第三狀態儲存單元255所儲存之額外第二狀態彙總資訊中。
然後下文參照圖12闡釋同位寫入一處理程序之一實例。圖12係繪示根據該第二實施例之一同位寫入過程之一流程之一流程圖。
首先,同位寫入單元112-2獲得包括於額外第二狀態彙總資訊中之區域資訊片段之數目(步驟S501)。具體而言,同位寫入單元112-2指示第五存取控制單元205讀取第三狀態儲存單元255所儲存之額外第二狀態彙總資訊。第五存取控制單元205讀取第三狀態儲存單元255所儲存之額外第二狀態彙總資訊,並輸出至同位寫入單元112-2。同位寫入單元112-2獲取第三狀態儲存單元255所儲存之額外第二狀態彙總資訊。同位寫入單元112-2獲得包括於所獲取之額外第二狀態彙總資訊中之區域資訊片段之數目。
同位寫入單元112-2判定區域資訊片段之數目是否超過預先或動態判定之一臨限值(步驟S502)。若所獲得之區域資訊片段之數目不超過該臨限值(在步驟S502處,否),則該過程結束。
若該所獲得之區域資訊片段之數目超過該臨限值(在步驟S502處,是),則同位寫入單元112-2自第一資料儲存單元151讀取同位資料(步驟S503)。具體而言,同位寫入單元112-2指示第一存取控制單元101讀取第一資料儲存單元151中所記錄之同位資料。第一存取控制單元101讀取第一資料儲存單元151中所記錄之同位資料,且輸出至同位寫入單元112-2。同位寫入單元112-2獲取第一資料儲存單元151中所記錄之同位資料。
步驟S504係類似於圖8中步驟S302處之過程之一過程,因此省略詳細闡釋。
同位寫入單元112-2自第三狀態儲存單元255刪除額外第二狀態彙總資訊(步驟S505)。具體而言,同位寫入單元112-2指示第五存取控制單元205刪除第三狀態儲存單元255所儲存之額外第二狀態彙總資訊。第五存取控制單元205刪除第三狀態儲存單元255所儲存之額外第二狀態彙總資訊。
第三實施例
在根據一第三實施例之一資料儲存裝置中,每一次當改變至第一狀態之儲存區域之數目超過預先或動態判定之一臨限值時,自第一資料儲存單元151將同位資料寫入至第二資料儲存單元152中。
圖13係根據該第三實施例之一資料儲存裝置300之一組態實例之一功能方塊圖。如圖13中所展示,資料儲存裝置300包括第一資料儲存單元151、第一存取控制單元101、第二資料儲存單元152、第二存取控制單位102、第一狀態儲存單元153、第三存取控制單元103、第二狀態儲存單元154、第四存取控制單元104、同位計算單元130、一狀態更新單元120-3、一控制器110-3、一第四狀態儲存單元356及一第六存取控制單元306。控制器110-3包括一同位更新單元111-3及一同位寫入單元112-3。用相同元件符號指定與已闡釋之功能單元相同之單元,且省略詳細闡釋。
第四狀態儲存單元356儲存額外第一狀態彙總資訊。第一狀態儲存單元153所儲存之第一狀態彙總資訊所指示之處於第一狀態中之一儲存區域彙總包括以下兩個彙總。
(1)自從稍後所闡述之同位寫入單元112-3指示第一存取控制單元101及第二存取控制單元102將第一資料儲存單元151中所記錄之同位資料寫入至第二資料儲存單元152中之最近時刻(在下文中稱作最近同位寫入時刻)之前已持續處於第一狀態中之一儲存區域彙總。
(2)由稍後所闡述之狀態更新單元120-3自第一狀態彙總資訊所指示之一儲存區域彙總選定為在該最近同位寫入時刻之後待改變至第一狀態且結果變為第一狀態之儲存區域之一儲存區域彙總。
額外第一狀態彙總資訊係關於在該最近同位寫入時刻之後變為第一狀態之一儲存區域彙總(額外第一狀態彙總)之資訊。該額外第一狀態彙總資訊係由儲存區域之識別符之一清單結構形成,例如圖14中所展示。
第六存取控制單元306控制對第四狀態儲存單元356之存取。對第四狀態儲存單元356之存取包括對第四狀態儲存單元356所儲存之額外第一狀態彙總資訊之讀取,將一請求源所指定之儲存區域資訊添加至第四狀態儲存單元356所儲存之額外第一狀態彙總資訊,自第四狀態儲存單元356所儲存之額外第一狀態彙總資訊刪除該請求源所指定之儲存區域資訊及刪除第四狀態儲存單元356所儲存之額外第一狀態彙總資訊。
由於除了通知目的地係同位更新單元111-3而不是同位更新單元111之外,狀態更新單元120-3類似於狀態更新單元120,因此省略詳細闡釋。
除了執行在自狀態更新單元120將關於待改變至第一狀態之一儲存區域之識別資訊通知同位更新單元111時所執行之過程之外,在自狀態更新單元120-3通知關於待改變至第一狀態之一儲存區域之識別資訊時,同位更新單元111-3指示第六存取控制單元306將關於被通知之儲存區域之識別資訊添加至第四狀態儲存單元356所儲存之額外第一狀態彙總資訊中。
由於除了關於自狀態更新單元120-3通知關於待改變至第二狀態之一儲存區域之識別資訊時之過程,通知源係狀態更新單元120-3而不是狀態更新單元120之外,同位更新單元111-3類似於同位更新單元111,因此省略詳細闡釋。
同位寫入單元112-3指示第六存取控制單元306讀取第四狀態-儲存單元356所儲存之額外第一狀態彙總資訊,並獲取第四狀態-儲存單元356所儲存之該額外第一狀態彙總資訊。同位寫入單元112-3獲得包括於所獲取之額外第一狀態彙總資訊中之關於一儲存區域之識別資訊片段之數目。當該所獲得之區域資訊片段之數目超過預先或動態判定之一臨限值時,除了同位寫入單元112所給出之同位寫入指令之外,同位寫入單元112-3還指示第六存取控制單元306刪除第四狀態儲存單元356所儲存之額外第一狀態彙總資訊。下文相關於圖15闡釋根據第三實施例如此組態之資料儲存裝置300所執行之過程。圖15係繪示根據該第三實施例將一儲存區域改變至第一狀態之一過程之一流程之一流程圖。
由於步驟S601至S606係類似於根據第一實施例之資料儲存裝置100之步驟S101至S106處之過程之過程,因此省略對其之闡釋。
在步驟S607處,同位更新單元111-3將關於待改變至第一狀態之儲存區域之識別資訊添加至額外第一狀態彙總資訊。具體而言,同位更新單元111-3指示第六存取控制單元306將自狀態更新單元120-3通知之關於該儲存區域之識別資訊添加至第四狀態儲存單元356所儲存之額外第一狀態彙總資訊中。第六存取控制單元306將自狀態更新單元120-3通知至同位更新單元111-3之關於該儲存區域之識別資訊添加至第四狀態儲存單元356所儲存之額外第一狀態彙總資訊中。
由於將一儲存區域改變至第二狀態之一過程之一流程類似於根據第一實施例之圖7,因此省略闡釋。
然後下文參照圖16闡釋同位寫入一處理程序之一實例。圖16係繪示根據該第三實施例之一同位寫入過程之一流程之一流程圖。
首先,同位寫入單元112-3獲得包括於額外第一狀態彙總資訊中之區域資訊片段之數目(步驟S701)。具體而言,同位寫入單元112-3指示第六存取控制單元306讀取第四狀態儲存單元356所儲存之額外第一狀態彙總資訊。第六存取控制單元306讀取第四狀態儲存單元356所儲存之額外第一狀態彙總資訊,並輸出至同位寫入單元112-3。同位寫入單元112-3獲取第四狀態儲存單元356所儲存之額外第一狀態彙總資訊。同位寫入單元112-3獲得包括於所獲取之額外第一狀態彙總資訊中之區域資訊片段之數目。
同位寫入單元112-3判定區域資訊片段之數目是否超過預先或動態判定之一臨限值(步驟S702)。若所獲得之區域資訊片段之數目不超過該臨限值(在步驟S702處,否),則該過程結束。
若該所獲得之區域資訊片段之數目超過該臨限值(在步驟S702處,是),則同位寫入單元112-3自第一資料儲存單元151讀取同位資料(步驟S703)。具體而言,同位寫入單元112-3指示第一存取控制單元101讀取第一資料儲存單元151中所記錄之同位資料。第一存取控制單元101讀取第一資料儲存單元151中所記錄之同位資料,且輸出至同位寫入單元112-3。同位寫入單元112-3獲取第一資料儲存單元151中所記錄之同位資料。
步驟S704係類似於圖8中步驟S302處之過程之一過程,因此省略詳細闡釋。
同位寫入單元112-3自第四狀態儲存單元356刪除額外第一狀態彙總資訊(步驟S705)。具體而言,同位寫入單元112-3指示第六存取控制單元306刪除第四狀態儲存單元356所儲存之額外第一狀態彙總資訊。第六存取控制單元306刪除第四狀態儲存單元356所儲存之額外第一狀態彙總資訊。
第四實施例
在根據一第四實施例之一資料儲存裝置中,每一次當改變至第一狀態之儲存區域之數目超過一臨限值時,或每一次當改變至第二狀態之儲存區域之數目超過一臨限值時,自第一資料儲存單元151將同位資料寫入至第二資料儲存單元152中。
圖17係根據該第四實施例之一資料儲存裝置400之一組態實例之一功能方塊圖。如圖17中所展示,資料儲存裝置400包括第一資料儲存單元151、第一存取控制單元101、第二資料儲存單元152、第二存取控制單位102、第一狀態儲存單元153、第三存取控制單元103、第二狀態儲存單元154、第四存取控制單元104、同位計算單元130、一狀態更新單元120-4、一控制器110-4、第三狀態儲存單元255、第五存取控制單元205、第四狀態儲存單元356及第六存取控制單元306。控制器110-4包括一同位更新單元111-4及一同位寫入單元112-4。用相同元件符號指定與已闡釋之功能單元相同之單元,且省略詳細闡釋。
由於除了通知目的地係同位更新單元111-4而不是同位更新單元111之外,狀態更新單元120-4類似於狀態更新單元120,因此省略詳細闡釋。
由於除了關於自狀態更新單元120-4通知關於待改變至第一狀態之一儲存區域之識別資訊時之過程,通知源係狀態更新單元120-4而不是狀態更新單元120-3之外,同位更新單元111-4類似於同位更新單元111-3,因此省略詳細闡釋。
由於除了關於自狀態更新單元120-4通知關於待改變至第二狀態之一儲存區域之識別資訊時之過程,通知源係狀態更新單元120-4而不是狀態更新單元120-2之外,同位更新單元111-4類似於同位更新單元111-2,因此省略詳細闡釋。
同位寫入單元112-4指示第五存取控制單元205讀取第三狀態-儲存單元255所儲存之額外第二狀態彙總資訊,並獲取第三狀態-儲存單元255所儲存之該額外第二狀態彙總資訊。同位寫入單元112-4獲得包括於所獲取之額外第二狀態彙總資訊中之區域資訊片段之數目。同位寫入單元112-4指示第六存取控制單元306讀取第四狀態-儲存單元356所儲存之額外第一狀態彙總資訊,並獲取第四狀態-儲存單元356所儲存之該額外第一狀態彙總資訊。同位寫入單元112-4獲得包括於所獲取之額外第一狀態彙總資訊中之區域資訊片段之數目。
當包括於所獲得之額外第二狀態彙總資訊中之區域資訊片段之數目超過預先或動態判定之一臨限值時,或當包括於該所獲得之額外第一狀態彙總資訊中之區域資訊片段之數目超過預先或動態判定之一臨限值時,除了同位寫入單元112-2所給出之同位寫入指令及同位寫入單元112-2所給出之指示第五存取控制單元205刪除第三狀態儲存單元255所儲存之額外第二狀態彙總資訊之外,同位寫入單元112-4還指示第六存取控制單元306刪除第四狀態儲存單元356所儲存之額外第一狀態彙總資訊。
下文參照圖18闡釋根據第四實施例如此組態之資料儲存裝置400所執行之過程。由於將一儲存區域改變至第一狀態之一過程及將一儲存區域改變至第二狀態之一過程分別類似於圖15(第三實施例)及圖11(第二實施例),因此省略闡釋。圖18係繪示根據第四實施例之一同位寫入過程之一流程之一流程圖。
在步驟S801處,獲得包括於額外第二狀態彙總資訊中之區域資訊片段之數目。由於除了此過程係由同位寫入單元112-4而不是同位寫入單元112-2執行之外,此過程與圖12中之步驟501處之過程相同,因此省略詳細闡釋。
在步驟S802處,獲得包括於額外第一狀態彙總資訊中之區域資訊片段之數目。由於除了此過程係由同位寫入單元112-4而不是同位寫入單元112-3執行之外其與圖16中步驟701處之過程相同,因此省略詳細闡釋。
同位寫入單元112-4判定區域資訊片段之數目是否超過一臨限值(步驟S803)。具體而言,同位寫入單元112-4判定在步驟S801處所獲得之包括於額外第二狀態彙總資訊中之區域資訊片段之數目是否超過預先或動態判定之一臨限值(第一臨限值),或在步驟S802處所獲得之包括於額外第一狀態彙總資訊中之區域資訊片段之數目是否超過預先或動態判定之一臨限值(第二臨限值)。若所獲得之區域資訊片段之數目不超過該臨限值(在步驟S803處,否),則該過程結束。
若該所獲得之區域資訊片段之數目超過該臨限值(在步驟S803處,是),則同位寫入單元112-4自第一資料儲存單元151讀取同位資料(步驟S804)。由於除了此過程係由同位寫入單元112-4而不是同位寫入單元112-2執行之外其與圖12中步驟503處之過程相同,因此省略詳細闡釋。
由於步驟S805至S806係類似於根據第二實施例之資料儲存裝置200在步驟S504至S505處之過程之過程,因此省略對其之闡釋。此外,由於步驟S807係類似於根據第三實施例資料儲存裝置300在步驟S705處之過程之一過程,因此省略對其之闡釋。
第五實施例
當使用具有上文所闡述之性質之記憶體時,在某些情形中將一揮發性記憶體用於第一資料儲存單元151,且將一非揮發性記憶體用於第二資料儲存單元152。因此,舉例而言,當關斷該資料儲存裝置之電源時,第一資料儲存單元151上所記錄之同位資料丟失。出於此原因,若發生意外斷電,則當後來接通該資料儲存裝置之電源時,需要復原在斷電之前第一資料儲存單元151上所記錄之同位資料。
可藉由讀取處於第一狀態中之儲存區域中所記錄之所有資料且基於第一狀態儲存單元153所儲存之第一狀態彙總資訊執行同位計算來復原斷電之前第一資料儲存單元151中所記錄之同位資料。然而,當同位群組中包括大量儲存區域時,處理時間增加。
根據一第五實施例,藉由使用第三狀態儲存單元255所儲存之額外第二狀態彙總資訊及第四狀態儲存單元356所儲存之額外第一狀態彙總資訊來促進減少同位資料復原之時間。
執行對第一資料儲存單元151中所記錄之同位資料之復原之過程不限於以上情形。舉例而言,可在於第一資料儲存單元151中所記錄之同位資料中偵測到一錯誤時或在由於其他原因出現復原第一資料儲存單元151中所記錄之同位資料之一需要時執行該過程。
圖19係根據該第五實施例之一資料儲存裝置500之一組態實例之一功能方塊圖。如圖19中所展示,資料儲存裝置500包括第一資料儲存單元151、第一存取控制單元101、第二資料儲存單元152、第二存取控制單位102、第一狀態儲存單元153、第三存取控制單元103、第二狀態儲存單元154、第四存取控制單元104、同位計算單元130、一狀態更新單元120-5、一控制器110-5、第三狀態儲存單元255、第五存取控制單元205、第四狀態儲存單元356及第六存取控制單元306。控制器110-5包括一同位更新單元111-5、同位寫入單元112-4及一同位復原單元513。用相同元件符號指定與已闡釋之功能單元相同之單元,且省略詳細闡釋。
當出現復原第一資料儲存單元151中所記錄之同位資料之一需要時,同位復原單元513指示第二存取控制單元102讀取第二資料儲存單元152中最終所記錄之同位資料,且獲取在第二資料儲存單元152中最近記錄之同位資料。
在一固態磁碟機(SSD)中,舉例而言,在某些情形中,出於在每一儲存區域中分配刪除次數之目的,當更新一資料片段時,將經更新之資料記錄於不同於在更新之前於其中記錄資料之儲存區域之一儲存區域中。即使在藉由使用上文所提及之資料記錄方法將同位資料記錄於複數個區域中時,獲取最近記錄之同位資料意指獲取最終記錄為實際有效同位資料之同位資料。
同位復原單元513指示第五存取控制單元205讀取第三狀態儲存單元255所儲存之額外第二狀態彙總資訊,且獲取第三狀態儲存單元255所儲存之額外第二狀態彙總資訊。
同位復原單元513指示第二存取控制單元102自對應於所獲取之額外第二狀態彙總資訊之第二資料儲存單元152之各別儲存區域讀取對應於額外第二狀態彙總資訊之儲存區域所儲存之資料,且獲取對應於額外第二狀態彙總資訊之儲存區域所儲存之資料。
同位復原單元513指示第六存取控制單元306讀取第四狀態儲存單元356所儲存之額外第一狀態彙總資訊,且獲取第四狀態儲存單元356所儲存之額外第一狀態彙總資訊。
同位復原單元513指示第二存取控制單元102自對應於所獲取之額外第一狀態彙總資訊之第二資料儲存單元152之各別儲存區域讀取對應於額外第一狀態彙總資訊之儲存區域所儲存之資料,且獲取對應於額外第一狀態彙總資訊之儲存區域所儲存之資料。
同位復原單元513指示同位計算單元130對在第二資料儲存單元152中所獲取之最近所記錄之同位資料、對應於所獲取之額外第二狀態彙總資訊之儲存區域所儲存之一資料群組及對應於所獲取之額外第一狀態彙總資訊之儲存區域所儲存之一資料群組執行同位計算,並獲取經更新之同位資料。
可在不造成同位計算之一最終結果改變之一範圍內適當互換上述程序之次序。
同位復原單元513指示第一存取控制單元101將所獲取之經更新同位資料記錄至第一資料儲存單元151中。
狀態更新單元120-5指示第四存取控制單元104視需要讀取第二狀態儲存單元154所儲存之第二狀態彙總資訊,且獲取該第二狀態彙總資訊。狀態更新單元120-5指示第五存取控制單元205讀取第三狀態儲存單元255所儲存之額外第二狀態彙總資訊,且獲取該額外第二狀態彙總資訊。狀態更新單元120-5從來自所獲取之第二狀態彙總資訊所指示之一儲存區域彙總的不包括所獲取之額外第二狀態彙總資訊所指示之一儲存區域彙總之一彙總選擇待改變至該第一狀態之一儲存區域,且將關於選定儲存區域之識別資訊通知同位更新單元111-5。
由於除了通知源係狀態更新單元120-5而不是狀態更新單元120-4之外,同位更新單元111-5類似於同位更新單元111-4,因此省略詳細闡釋。
下文參照圖20闡釋根據第五實施例如此組態之資料儲存裝置500所執行之過程。圖20係繪示根據該第五實施例將一儲存區域改變至第一狀態之一過程之一流程之一流程圖。
首先,狀態更新單元120-5視需要自第二狀態儲存單元154讀取一第二狀態彙總(步驟S901)。具體而言,狀態更新單元120-5指示第四存取控制單元104讀取第二狀態儲存單元154所儲存之第二狀態彙總資訊。第四存取控制單元104讀取第二狀態儲存單元154所儲存之第二狀態彙總資訊,並輸出至狀態更新單元120-5。狀態更新單元120-5獲取第二狀態彙總。狀態更新單元120-5指示第五存取控制單元205讀取第三狀態儲存單元255所儲存之額外第二狀態彙總資訊(步驟S902)。第五存取控制單元205讀取第三狀態儲存單元255所儲存之額外第二狀態彙總資訊,並輸出至狀態更新單元120-5。狀態更新單元120-5獲取額外第二狀態彙總資訊。狀態更新單元120-5從來自所獲取之第二狀態彙總資訊所指示之一儲存區域彙總的不包括所獲取之額外第二狀態彙總資訊所指示之一儲存區域彙總之一彙總選擇待改變至該第一狀態之一儲存區域,且將關於選定儲存區域之識別資訊通知同位更新單元111-5(步驟S903)。
步驟S904至S908係類似於根據第三實施例資料儲存裝置300在步驟S603至S607處之過程之過程,因此省略對其之闡釋。
在欲改變至第一狀態之儲存區域上提供限制條件之原因係由於當如稍後所闡述復原同位資料時需要額外第二狀態彙總資訊所指示之儲存區域所儲存之資料。出於此原因,根據該實施例,僅在包括於來自第二狀態彙總資訊所指示之一儲存區域彙總的不包括該額外第二狀態彙總資訊所指示之一儲存區域彙總之一彙總中之處於該第二狀態中之儲存區域中准許使用者資料之重寫過程。換言之,不在包括於該額外第二狀態彙總資訊所指示之一儲存區域彙總中之處於該第二狀態中之儲存區域中准許使用者資料之重寫過程。因此,可保留該額外第二狀態彙總資訊所指示之儲存區域所儲存之資料。
由於將一儲存區域改變至該第二狀態之處理程序之一實例及同位寫入之處理程序之一實例類似於第四實施例,因此省略詳細闡釋。
然後下文參照圖21闡釋復原同位資料之一處理程序之一實例。
首先,同位復原單元513讀取最終寫入之同位資料(步驟S1001)。具體而言,當出現復原第一資料儲存單元151中所記錄之同位資料之一需要時,同位復原單元513指示第二存取控制單元102讀取最終記錄至第二資料儲存單元152中之同位資料。第二存取控制單元102讀取最終記錄至第二資料儲存單元152中之同位資料,且輸出至同位復原單元513。同位復原單元513獲取最終記錄至第二資料儲存單元152中之同位資料。
同位復原單元513讀取對應於額外第二狀態彙總資訊之儲存區域所儲存之資料。具體而言,同位復原單元513指示第五存取控制單元205讀取第三狀態儲存單元255所儲存之額外第二狀態彙總資訊。第五存取控制單元205讀取第三狀態儲存單元255所儲存之額外第二狀態彙總資訊,並輸出至同位復原單元513。同位復原單元513獲取第三狀態儲存單元255所儲存之額外第二狀態彙總資訊(步驟S1002)。同位復原單元513指示第二存取控制單元102相對於對應於所獲取之額外第二狀態彙總資訊之第二資料儲存單元152之儲存區域中之每一者讀取對應於額外第二狀態彙總資訊之儲存區域所儲存之資料。第二存取控制單元102讀取對應於同位復原單元513所獲取之額外第二狀態彙總資訊之儲存區域所儲存之資料,且輸出至同位復原單元513。同位復原單元513獲取對應於額外第二狀態彙總資訊之儲存區域所儲存之資料(步驟S1003)。
同位復原單元513讀取對應於額外第一狀態彙總資訊之儲存區域所儲存之資料。具體而言,同位復原單元513指示第六存取控制單元306讀取第四狀態儲存單元356所儲存之額外第一狀態彙總資訊。第六存取控制單元306讀取第四狀態儲存單元356所儲存之額外第一狀態彙總資訊,並輸出至同位復原單元513。同位復原單元513獲取第四狀態儲存單元356所儲存之額外第一狀態彙總資訊(步驟S1004)。同位復原單元513指示第二存取控制單元102相對於對應於所獲取之額外第一狀態彙總資訊之第二資料儲存單元152之儲存區域中之每一者讀取對應於額外第一狀態彙總資訊之儲存區域所儲存之資料。第二存取控制單元102讀取對應於同位復原單元513所獲取之額外第一狀態彙總資訊之儲存區域所儲存之資料,並輸出至同位復原單元513。同位復原單元513獲取對應於額外第一狀態彙總資訊之儲存區域所儲存之資料(步驟S1005)。
同位復原單元513更新同位資料(步驟S1006)。具體而言,同位復原單元513指示同位計算單元130對在第二資料儲存單元152中所獲取之最近所記錄之同位資料、對應於所獲取之額外第二狀態彙總資訊之儲存區域所儲存之一資料群組及對應於所獲取之額外第一狀態彙總資訊之儲存區域所儲存之一資料群組執行同位計算。同位計算單元130對自指令源所接收之複數個輸入資料執行同位計算,且將一計算結果返回至該指令源。同位復原單元513獲取經更新之同位資料。
同位復原單元513儲存同位資料(步驟S1007)。具體而言,同位復原單元513指示第一存取控制單元101將所獲取之經更新同位資料寫入至第一資料儲存單元151中。第一存取控制單元101將經更新同位資料寫入至第一資料儲存單元151中。
以此方式,根據該第五實施例之資料儲存裝置可藉由使用額外第二狀態彙總資訊及額外第一狀態彙總資訊來復原同位資料而不讀取儲存於處於第一狀態中之儲存區域中之所有使用者資料。因此,可達成同位資料之一復原時間之減少。
第六實施例
若根據同位資料增加復原使用者資料之可能性,則可進一步改良一資料儲存裝置之可靠性。在透過一互斥「或」運算之同位資料之一情形中,可藉助同位資料復原同一同位群組中之一使用者資料片段,且不可藉助同位資料復原同一同位群組中之兩個或兩個以上使用者資料片段。藉由適當修改以下實施例,可透過除互斥「或」運算之外的一運算方法將其應用於一資料復原碼。
根據一第六實施例之一資料儲存裝置藉由使用額外第二狀態彙總資訊及額外第一狀態彙總資訊而達成同一同位群組中兩個或兩個以上使用者資料片段之復原。在下文中,根據該第六實施例用於使用者資料之一復原方法稱作重複差異校正。
圖22係根據該第六實施例之一資料儲存裝置600之一組態實例之一功能方塊圖。如圖22中所展示,資料儲存裝置600包括第一資料儲存單元151、第一存取控制單元101、第二資料儲存單元152、第二存取控制單位102、第一狀態儲存單元153、第三存取控制單元103、第二狀態儲存單元154、第四存取控制單元104、同位計算單元130、狀態更新單元120-5、一控制器110-6、第三狀態儲存單元255、第五存取控制單元205、第四狀態儲存單元356及第六存取控制單元306。控制器110-6包括同位更新單元111-5、同位寫入單元112-4及一同位復原單元614。用相同元件符號指定與已闡釋之功能單元相同之單元,且省略詳細闡釋。
在開始闡釋資料復原單元614之前,下文闡釋儲存區域與一資料保護狀態之間的關係。圖23係繪示一儲存區域狀態與該等儲存區域中所記錄之資料被同位資料保護之一狀態之間的關係之一示意圖。
如圖23中所展示,額外第一狀態彙總資訊所指示之一儲存區域彙總(額外第一狀態彙總)包括於第一狀態彙總資訊所指示之一儲存區域彙總(第一狀態彙總)中。額外第二狀態彙總資訊所指示之一儲存區域彙總(額外第二狀態彙總)包括於第二狀態彙總資訊所指示之一儲存區域彙總(第二狀態彙總)中。
如圖23中所展示,第一狀態彙總係記錄受第一資料儲存單元151中所記錄之同位資料保護之資料之一儲存區域彙總。組合額外第二狀態彙總之一儲存區域彙總與來自第一狀態彙總的不包括額外第一狀態彙總之一儲存區域彙總之一儲存區域彙總係記錄受第二資料儲存單元152中最近記錄之同位資料保護之資料之一儲存區域彙總。
如圖23中所展示,當在於其中儲存期望復原之資料之兩個儲存區域當中,一個儲存區域(在下文中稱作一儲存區域A)包括於額外第一狀態彙總資訊所指示之一儲存區域彙總中,且另一儲存區域(下文中稱作一儲存區域B)包括於來自該第一狀態彙總的不包括額外第一狀態彙總之一儲存區域彙總中時,可執行各別差異校正。在此狀態下,其中儲存期望藉助同位資料復原之資料之該兩個儲存區域包括於同一同位群組(第一狀態彙總)中,以便不可透過一通常的資料復原過程藉助同位資料復原該資料。
返回至圖22中所展示之對資料復原單元614之闡釋。當自一未展示之復原請求源接收包括關於其中儲存期望復原之資料之兩個儲存區域之識別資訊之一重複差異校正請求時,資料復原單元614判定在該兩個儲存區域當中,是否一個儲存區域(儲存區域A)包括於額外第一狀態彙總中,且另一儲存區域(儲存區域B)包括於來自第一狀態彙總的不包括額外第一狀態彙總之該儲存區域彙總中。
具體而言,資料復原單元614指示第三存取控制單元103讀取第一狀態儲存單元153所儲存之第一狀態彙總資訊,且獲取第一狀態儲存單元153所儲存之第一狀態彙總資訊。資料復原單元614指示第六存取控制單元306讀取第四狀態儲存單元356所儲存之額外第一狀態彙總資訊,且獲取第四狀態儲存單元356所儲存之額外第一狀態彙總資訊。資料復原單元614判定在包括於所接收之重複差異校正請求中之該兩個儲存區域當中,是否一個儲存區域(儲存區域A)包括於對應於所獲取之額外第一狀態彙總資訊之儲存區域彙總中,且另一儲存區域(儲存區域B)包括於來自所獲取之第一狀態彙總資訊所指示之儲存區域彙總的不包括所獲取之額外第一狀態彙總資訊所指示之該儲存區域彙總之該儲存區域彙總中。若一判定結果為假,則資料復原單元614將無法執行重複差異校正輸出至未展示之復原請求源。
資料復原單元614復原儲存區域B中之資料。首先,資料復原單元614獲取在第二資料儲存單元152中最近記錄之同位資料,及藉助同位資料之復原所需要之使用者資料。
具體而言,資料復原單元614指示第五存取控制單元205讀取第三狀態儲存單元255所儲存之額外第二狀態彙總資訊,且獲取第三狀態儲存單元255所儲存之額外第二狀態彙總資訊。資料復原單元614指示第二存取控制單元102讀取第二資料儲存單元152中最近記錄之同位資料,且獲取第二資料儲存單元152中最近記錄之同位資料。此外,資料復原單元614指示第二存取控制單元102讀取來自組合所獲取之額外第二狀態彙總資訊所指示之儲存區域彙總與來自該所獲取之第一狀態彙總所指示之儲存區域彙總的不包括所獲取之額外第一狀態彙總資訊所指示之儲存區域彙總之儲存區域彙總之一儲存區域彙總的不包括儲存區域B之一儲存區域之一儲存區域彙總中之儲存區域中之每一者所儲存之資料;且獲取該等區域中之每一者所儲存之資料。
然後資料復原單元614自在第二資料儲存單元152中所獲取之最近記錄之同位資料復原儲存區域B中之資料,且復原藉助同位資料之復原所需要之使用者資料。
具體而言,資料復原單元614指示同位計算單元130對在第二資料儲存單元152中所獲取之最近記錄之同位資料及所獲取之資料群組執行同位計算,且獲取在儲存區域B中結果所復原之資料。
資料復原單元614復原儲存區域A中之資料。首先,資料復原單元614獲取第一資料儲存單元151中所記錄之同位資料,及藉助同位資料之復原所需要之使用者資料。將把所復原之資料看作儲存區域B中之資料。
具體而言,資料復原單元614指示第一存取控制單元101讀取第一資料儲存單元151中所記錄之同位資料,且獲取第一資料儲存單元151中所記錄之同位資料。此外,資料復原單元614指示第二存取控制單元102讀取來自所獲取之第一狀態彙總所指示之儲存區域彙總的不包括儲存區域A之一儲存區域及儲存區域B之一儲存區域之一儲存區域彙總中之儲存區域中之每一者所儲存之資料;且獲取該等儲存區域中之每一者所儲存之資料。
然後資料復原單元614自所獲取之在第一資料儲存單元151中所記錄之同位資料復原儲存區域A中之資料,且復原藉助同位資料之復原所需之使用者資料。
具體而言,資料復原單元614指示同位計算單元130對所獲取之同位資料、所獲取之資料群組及在儲存區域B中所獲取之經復原資料執行同位計算,且獲取儲存區域A中結果所復原之資料。
可在不造成同位計算之一最終結果改變之一範圍內適當互換上述程序之次序。舉例而言,藉由單獨儲存同位計算之一中間計算結果,可促進最佳化,舉例而言減少自第二資料儲存單元152讀取資料之次數。
資料復原單元614將儲存區域A中之經復原資料及儲存區域B中之經復原資料返回至未展示之復原請求源。
以此方式,藉由適當使用第二資料儲存單元152中最近所記錄之同位資料,在某些情形中有時可透過重複差異校正來復原同一同位群組中之兩個使用者資料片段,以便可進一步改良資料儲存裝置之可靠性。
下文參照圖24闡釋根據第六實施例如此組態之資料儲存裝置600所執行之過程。由於將一儲存區域改變至該第一狀態之處理程序之一實例、將一儲存區域改變至該第二狀態之處理程序之一實例及同位寫入之處理程序之一實例類似於根據第五實施例之彼等處理程序,因此省略詳細闡釋。圖24係繪示根據第六實施例之一重複差異校正過程之一實例之一流程圖。
首先,資料復原單元614判定是否可執行重複差異校正(步驟S1101)。換言之,當自該未展示之復原請求源接收包括關於其中儲存期望復原之資料之兩個儲存區域之識別資訊之一重複差異校正請求時,資料復原單元614判定在該兩個儲存區域當中,是否一個儲存區域(儲存區域A)包括於額外第一狀態彙總中,且另一儲存區域(儲存區域B)包括於來自第一狀態彙總的不包括額外第一狀態彙總之該儲存區域彙總中。
具體而言,資料復原單元614指示第三存取控制單元103讀取第一狀態儲存單元153所儲存之第一狀態彙總資訊。第三存取控制單元103讀取第一狀態儲存單元153所儲存之第一狀態彙總資訊,且輸出至資料復原單元614。資料復原單元614獲取第一狀態儲存單元153所儲存之第一狀態彙總資訊。資料復原單元614指示第六存取控制單元306讀取第四狀態儲存單元356所儲存之額外第一狀態彙總資訊。第六存取控制單元306讀取第四狀態儲存單元356所儲存之額外第一狀態彙總資訊,並輸出至資料復原單元614。資料復原單元614獲取第四狀態儲存單元356所儲存之額外第一狀態彙總資訊。資料復原單元614判定在包括於所接收之重複差異校正請求中之該兩個儲存區域當中,是否一個儲存區域(儲存區域A)包括於對應於所獲取之額外第一狀態彙總資訊之儲存區域彙總中,且另一儲存區域(儲存區域B)包括於來自所獲取之第一狀態彙總資訊所指示之儲存區域彙總的不包括所獲取之額外第一狀態彙總資訊所指示之該儲存區域彙總之儲存區域彙總中。
若一判定結果為假(在步驟S1101處,否),則資料復原單元614將無法執行重複差異校正輸出至未展示之復原請求源,且結束該過程。若一判定結果為真(在步驟S1101處,是),則資料復原單元614獲取第二資料儲存單元152中最近所記錄之同位資料,及藉助同位資料之復原所需之使用者資料(步驟S1102)。具體而言,資料復原單元614指示第五存取控制單元205讀取第三狀態儲存單元255所儲存之額外第二狀態彙總資訊。第五存取控制單元205讀取第三狀態儲存單元255所儲存之額外第二狀態彙總資訊,並輸出至資料復原單元614。資料復原單元614獲取第三狀態儲存單元255所儲存之額外第二狀態彙總資訊。資料復原單元614指示第二存取控制單元102讀取第二資料儲存單元152中最近所記錄之同位資料。第二存取控制單元102讀取第二資料儲存單元152中最近所記錄之同位資料,並輸出至資料復原單元614。資料復原單元614獲取第二資料儲存單元152中最近所記錄之同位資料。
此外,資料復原單元614指示第二存取控制單元102讀取來自組合所獲取之額外第二狀態彙總資訊所指示之儲存區域彙總與來自該所獲取之第一狀態彙總所指示之儲存區域彙總的不包括所獲取之額外第一狀態彙總資訊所指示之儲存區域彙總之儲存區域彙總之一儲存區域彙總的不包括儲存區域B之一儲存區域之一儲存區域彙總中之儲存區域中之每一者所儲存之資料。第二存取控制單元102讀取所指示之儲存區域中之每一者所儲存之資料,並輸出至資料復原單元614。資料復原單元614獲取該等儲存區域中之每一者所儲存之資料。
資料復原單元614復原儲存區域B中之資料(步驟S1103)。具體而言,資料復原單元614指示同位計算單元130對在第二資料儲存單元152中所獲取之最近記錄之同位資料及所獲取之資料群組執行同位計算。同位計算單元130對自指令源所接收之複數個輸入資料執行同位計算,且將一計算結果返回至該指令源。資料復原單元614獲取儲存區域B中結果經復原之資料。
資料復原單元614獲取第一資料儲存單元151中所記錄之同位資料及藉助同位資料之復原所需之使用者資料(步驟S1104)。具體而言,資料復原單元614指示第一存取控制單元101讀取第一資料儲存單元151中所記錄之同位資料。第一存取控制單元101讀取第一資料儲存單元151中所記錄之同位資料,並輸出至資料復原單元614。資料復原單元614獲取第一資料儲存單元151中所記錄之同位資料。資料復原單元614指示第二存取控制單元102讀取來自所獲取之第一狀態彙總所指示之儲存區域彙總的不包括儲存區域A之一儲存區域及儲存區域B之一儲存區域之一儲存區域彙總中之儲存區域中之每一者所儲存之資料。第二存取控制單元102讀取所指示之儲存區域中之每一者所儲存之資料,並輸出至資料復原單元614。資料復原單元614獲取該等儲存區域中之每一者所儲存之資料。
資料復原單元614復原儲存區域A中之資料(步驟S1105)。具體而言,資料復原單元614指示同位計算單元130對所獲取之同位資料、所獲取之資料群組及在儲存區域B中所獲取之經復原資料執行同位計算。同位計算單元130對自指令源所接收之複數個輸入資料執行同位計算,並將一計算結果返回至該指令源。資料復原單元614在儲存區域A中獲取結果經復原之資料。可在不造成同位計算之一最終結果改變之一範圍內適當互換自步驟S1102至步驟S1105之程序之次序。藉由互換自步驟S1102至步驟S1105之程序之次序,例如藉由單獨儲存同位計算之一中間計算結果,可促進最佳化,舉例而言減少自第二資料儲存單元152讀取資料之次數。
資料復原單元614將儲存區域A中之經復原資料及儲存區域B中之經復原資料返回至未展示之復原請求源(步驟S1106)。
以此方式,根據第六實施例之資料儲存裝置可透過重複差異校正藉由使用第二資料儲存單元152中最近所記錄之
同位資料來復原同一同位群組中之兩個使用者資料片段。因此,可進一步改良資料儲存裝置之可靠性。
如上文所闡述,根據第一實施例至第六實施例,可改良作為一單個裝置之資料儲存裝置之可靠性。此外,當更新同位資料時,將經更新之同位資料儲存至第一資料儲存單元中,且將儲存於該第一資料儲存單元中之同位資料在某一時機寫入至該第二資料儲存單元中。因此,與寫入至一儲存媒體上之使用者資料之量相比,寫入至儲存媒體上之同位資料之量可減小。
下文闡釋根據第一實施例至第六實施例之控制器之一硬體組態。根據該第一實施例至第六實施例之控制器包括一控制元件(諸如一中央處理單元(CPU))、一儲存單元(諸如一唯讀記憶體(ROM)及一隨機存取記憶體(RAM))及連接每一單元之一匯流排。
藉由提前併入於(例如)一ROM中來提供根據第一實施例至第六實施例之控制器所執行之一電腦程式。
待由根據第一實施例至第六實施例之控制器執行之電腦程式可經組態以藉由將其記錄於一電腦可讀記錄媒體(諸如一光碟唯讀記憶體(CD-ROM)、一軟磁碟(FD)、一可記錄光碟(CD-R)或一數位多功能磁碟(DVD))上呈一可安裝格式或一可執行格式之一檔案中而提供為一電腦程式產品。
此外,待由根據第一實施例至第六實施例之控制器執行之電腦程式可經組態以藉由將其儲存於連接至一網路(諸如網際網路)之一電腦中並經由該網路讓其下載而提供。此外,待由根據第一實施例至第六實施例之控制器執行之電腦程式可經組態以經由一網路(諸如網際網路)提供或分配。
待由根據第一實施例至第六實施例之控制器執行之電腦程式可致使一電腦用作上文所闡述之儲存裝置之單元中之每一者(同位更新單元及同位寫入單元)。該電腦可藉由藉助一CPU將其自一電腦可讀儲存媒體讀取至一主記憶體上來執行該電腦程式。
根據上文所闡述之至少一項實施例之控制器,該控制器控制至包括一第一資料儲存單元及一第二資料儲存單元之一儲存裝置中之寫入及自該儲存裝置之讀取。該第二資料儲存單元儲存使用者資料及該使用者資料之同位資料。該第一資料儲存單元儲存同位資料。該控制器包括一同位更新單元及一同位寫入單元。當更新同位資料時,同位更新單元將經更新之同位資料寫入至第一資料儲存單元中。當滿足某一要求時,該同位寫入單元讀取寫入於該第一資料儲存單元中之同位資料,且將如此讀取之同位資料寫入至第二資料儲存單元中。因此,可改良作為一單個裝置之一資料儲存裝置之可靠性。
儘管已闡述了某些實施例,但僅以實例方式呈現了此等實施例,且不意欲使此等實施例限制本發明之範疇。實際上,本文所闡述之新穎實施例可以各種其他形式體現;此外,可在不背離本發明精神之情況下對本文所闡述之實施例之形式作出各種省略、替代及改變。隨附申請專利範圍及其等效物意欲涵蓋將屬於本發明之範疇及精神之此等形式或修改。
100...資料儲存裝置
101...第一存取控制單元
102...第二存取控制單元
103...第三存取控制單元
104...第四存取控制單元
110...控制器
110-2...控制器
110-3...控制器
110-4...控制器
110-5...控制器
111...同位更新單元
111-2...同位更新單元
111-3...同位更新單元
111-4...同位更新單元
111-5...同位更新單元
112...同位寫入單元
112-2...同位寫入單元
112-3...同位寫入單元
112-4...同位寫入單元
112-5...同位寫入單元
120...狀態更新單元
120-2...狀態更新單元
120-3...狀態更新單元
120-4...狀態更新單元
120-5...狀態更新單元
130...同位計算單元
151...第一資料儲存單元
152...第二資料儲存單元
153...第一狀態儲存單元
154...第二狀態儲存單元
200...資料儲存裝置
205...第五存取控制單元
255...第三狀態儲存單元
300...資料儲存裝置
306...第六存取控制單元
356...第四狀態儲存單元
400...資料儲存裝置
500...資料儲存裝置
513...同位復原單元
600...資料儲存裝置
614...資料復原單元
圖1係根據一第一實施例之一資料儲存裝置之一功能方塊圖;
圖2係一第一資料儲存單元之一組態實例之一示意圖;
圖3係一第二資料儲存單元之一組態實例之一示意圖;
圖4係一第一狀態儲存單元之一組態實例之一示意圖;
圖5係一第二狀態儲存單元之一組態實例之一示意圖;
圖6係根據該第一實施例將一儲存區域改變至一第一狀態的一過程之一流程圖;
圖7係根據該第一實施例將一儲存區域改變至一第二狀態的一過程之一流程圖;
圖8係根據該第一實施例之一同位寫入過程之一流程圖;
圖9係根據一第二實施例之一資料儲存裝置之一功能方塊圖;
圖10係一第三狀態儲存單元之一組態實例之一示意圖;
圖11係根據該第二實施例將一儲存區域改變至該第二狀態的一過程之一流程圖;
圖12係根據該第二實施例之一同位寫入過程之一流程圖;
圖13係根據一第三實施例之一資料儲存裝置之一功能方塊圖;
圖14係一第四狀態儲存單元之一組態實例之一示意圖;
圖15係根據該第三實施例將一儲存區域改變至該第一狀態的一過程之一流程圖;
圖16係根據該第三實施例之一同位寫入過程之一流程圖;
圖17係根據一第四實施例之一資料儲存裝置之一功能方塊圖;
圖18係根據該第四實施例之一同位寫入過程之一流程圖;
圖19係根據一第五實施例之一資料儲存裝置之一功能方塊圖;
圖20係根據該第五實施例將一儲存區域改變至該第一狀態的一過程之一流程圖;
圖21係根據該第五實施例之復原同位資料之一過程實例之一流程圖;
圖22係根據一第六實施例之一資料儲存裝置之一功能方塊圖;
圖23係繪示一儲存區域狀態與一資料保護狀態之間的關係之一示意圖;且
圖24係根據該第六實施例之一重複差異校正過程之一實例之一流程圖;
100...資料儲存裝置
101...第一存取控制單元
102...第二存取控制單元
103...第三存取控制單元
104...第四存取控制單元
110...控制器
111...同位更新單元
112...同位寫入單元
120...狀態更新單元
130...同位計算單元
151...第一資料儲存單元
152...第二資料儲存單元
153...第一狀態儲存單元
154...第二狀態儲存單元
Claims (9)
- 一種儲存裝置之控制器,其控制對包括於一儲存裝置中之一第一資料儲存單元及一第二資料儲存單元之寫入、及控制自該第一資料儲存單元及該第二資料儲存單元之讀取,該第二資料儲存單元儲存由一主機元件請求其寫入之使用者資料及該使用者資料之同位資料,該第一資料儲存單元儲存該同位資料;其特徵在於:該第二資料儲存單元中之儲存有該使用者資料之一儲存區域係具有第1狀態及第2狀態,該第一狀態係儲存在該儲存區域之該使用者資料由該第一資料儲存單元所儲存之該同位資料來保護之狀態,該第二狀態係儲存在該儲存區域之該使用者資料未由該第一資料儲存單元所儲存之該同位資料來保護之狀態;且該控制器包含:一同位更新單元,其在該儲存區域之狀態改變時更新該同位資料,且其將經更新之同位資料即第一同位資料寫入至該第一資料儲存單元中;及一同位寫入單元,其在獨立於該同位資料被更新的時機(timing)而決定之時機,讀取經寫入於該第一資料儲存單元中之該同位資料,且其將經讀取之該同位資料即第二同位資料寫入至該第二資料儲存單元中。
- 如請求項1之控制器,其中該儲存裝置進一步包括儲存關於處於該第一狀態中之一儲存區域之識別資訊之一第一狀態儲存單元,並進一 步包括儲存關於處於該第二狀態中之一儲存區域之識別資訊之一第二狀態儲存單元,當該第二資料儲存單元之一儲存區域自該第一狀態改變至該第二狀態時,該同位更新單元將儲存於在該改變之後處於該第一狀態中之一儲存區域中之該使用者資料之該第一同位資料寫入至該第一資料儲存單元中、自該第一狀態儲存單元刪除與改變至該第二狀態之該儲存區域相關之識別資訊,且將與改變至該第二狀態之該儲存區域相關之該識別資訊添加至該第二狀態儲存單元中,且當該第二資料儲存單元之一儲存區域自該第二狀態改變至該第一狀態時,該同位更新單元將儲存於在該改變之後處於該第一狀態中之該儲存區域中之該使用者資料之該第一同位資料寫入至該第一資料儲存單元中、將與改變至該第一狀態之該儲存區域相關之識別資訊添加至該第一狀態儲存單元中,且自該第二狀態儲存單元刪除與改變至該第一狀態之該儲存區域相關之該識別資訊。
- 如請求項2之控制器,其中當在將該第二同位資料寫入至該第二資料儲存單元中之後自該第一狀態改變至該第二狀態之儲存區域之數目超過一預定第一臨限值時或當在將該第二同位資料寫入至該第二資料儲存單元中之後自該第二狀態改變至該第一狀態之儲存區域之數目超過一預定第二臨限值時,該同位寫入單元讀取經寫入於該第一資料儲存單元中之該同位資料作為該第二同位資料 且將該第二同位資料寫入至該第二資料儲存單元中。
- 如請求項3之控制器,其進一步包含一同位復原單元,該同位復原單元將基於由一第三狀態儲存單元中所儲存之識別資訊所識別之一儲存區域中所儲存之該使用者資料、由一第四狀態儲存單元中所儲存之識別資訊所識別之一儲存區域中所儲存之該使用者資料、及儲存於該第二資料儲存單元中之該第二同位資料而計算之該第一同位資料寫入至該第一資料儲存單元中,該第三狀態儲存單元係儲存與在將該第二同位資料寫入至該第二資料儲存單元中之後自該第一狀態改變至該第二狀態之該儲存區域相關之該識別資訊,該第四狀態儲存單元係儲存與在將該第二同位資料寫入至該第二資料儲存單元中之後自該第二狀態改變至該第一狀態之該儲存區域相關之該識別資訊。
- 如請求項3之控制器,其進一步包含一資料復原單元,當其中使用者資料待復原之一第一儲存區域包括於由一第四狀態儲存單元中所儲存之識別資訊所識別之一儲存區域中、且其中使用者資料待復原之一第二儲存區域包括於由該第一狀態儲存單元中所儲存之識別資訊所識別之儲存區域中之由未儲存於該第四狀態儲存單元中之識別資訊所識別之一儲存區域中時,該資料復原單元藉由以下操作復原該第二儲存區域中之使用者資料及該第一儲存區域中之使用者資料:基於自由儲存於該第一狀態儲存單元中之識別資訊所識別之儲存區域去除由儲存於 該第四狀態儲存單元中之識別資訊所識別之儲存區域後的儲存區域及自由儲存於一第三狀態儲存單元中之識別資訊所識別之儲存區域去除該第二儲存區域後的儲存區域中所儲存之該使用者資料、及儲存於該第二資料儲存單元中之該第二同位資料來復原該第二儲存區域中之該使用者資料;且基於經復原之使用者資料、自由儲存於該第一狀態儲存單元中之識別資訊所識別之儲存區域去除該第一儲存區域及該第二儲存區域後的儲存區域中所儲存之該使用者資料、及儲存於該第一資料儲存單元中之該第一同位資料來復原該第一儲存區域中之該使用者資料,該第三狀態儲存單元儲存與在將該第二同位資料寫入至該第二資料儲存單元中之後自該第一狀態改變至該第二狀態之該儲存區域相關之該識別資訊,該第四狀態儲存單元儲存與在將該第二同位資料寫入至該第二資料儲存單元中之後自該第二狀態改變至該第一狀態之該儲存區域相關之該識別資訊。
- 如請求項2之控制器,其中當在將該第二同位資料寫入至該第二資料儲存單元中之後自該第一狀態改變至該第二狀態之儲存區域之該數目超過一預定第一臨限值時,該同位寫入單元讀取經寫入於該第一資料儲存單元中之該同位資料作為該第二同位資料,且將該第二同位資料寫入至該第二資料儲存單元中。
- 如請求項2之控制器,其中當在將該第二同位資料寫入至該第二資料儲存單元中之後自該第二狀態改變至該第 一狀態之儲存區域之該數目超過一預定第二臨限值時,該同位寫入單元讀取經寫入於該第一資料儲存單元中之該同位資料作為該第二同位資料,且將該第二同位資料寫入至該第二資料儲存單元中。
- 一種儲存裝置,其包含:一第一資料儲存單元,其儲存由一主機元件請求其寫入之使用者資料之同位資料;一第二資料儲存單元,其儲存該使用者資料及該同位資料;及一控制器,其控制對該第一資料儲存單元及該第二資料儲存單元之寫入、及控制自該第一資料儲存單元及該第二資料儲存單元之讀取;其特徵在於:該第二資料儲存單元中之儲存有該使用者資料之一儲存區域係具有第1狀態及第2狀態,該第一狀態係儲存在該儲存區域之該使用者資料由該第一資料儲存單元所儲存之該同位資料來保護之狀態,該第二狀態係儲存在該儲存區域之該使用者資料未由該第一資料儲存單元所儲存之該同位資料來保護之狀態;且該控制器包含:一同位更新單元,其在該儲存區域之狀態改變時更新該同位資料,且將經更新之同位資料即第一同位資料寫入至該第一資料儲存單元中;及一同位寫入單元,其在獨立於該同位資料被更新的時機而決定之時機,讀取經寫入於該第一資料儲存單 元中之該同位資料,且將經讀取之該同位資料即第二同位資料寫入至該第二資料儲存單元中。
- 一種儲存裝置之電腦程式產品,其具有包括經程式化指令之一電腦可讀媒體,其中當由控制對包括於一儲存裝置中之一第一資料儲存單元及一第二資料儲存單元之寫入以及自該第一資料儲存單元及該第二資料儲存單元之讀取之一電腦執行時,該第一資料儲存單元儲存由一主機元件請求其寫入之使用者資料之同位資料,且該第二資料儲存單元儲存該使用者資料及該同位資料;其特徵在於:該第二資料儲存單元中之儲存有該使用者資料之一儲存區域係具有第1狀態及第2狀態,該第一狀態係儲存在該儲存區域之該使用者資料由該第一資料儲存單元所儲存之該同位資料來保護之狀態,該第二狀態係儲存在該儲存區域之該使用者資料未由該第一資料儲存單元所儲存之該同位資料來保護之狀態;且該等指令致使該電腦發揮功能作為:一同位更新單元,其在該儲存區域之狀態改變時更新該同位資料,且將經更新之同位資料即第一同位資料寫入至該第一資料儲存單元中;及一同位寫入單元,其在獨立於該同位資料被更新的時機而決定之時機,讀取經寫入於該第一資料儲存單元中之該同位資料,且將經讀取之該同位資料即第二同位資料寫入至該第二資料儲存單元中。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010209758A JP5279785B2 (ja) | 2010-09-17 | 2010-09-17 | コントローラ、記憶装置、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201229880A TW201229880A (en) | 2012-07-16 |
TWI473006B true TWI473006B (zh) | 2015-02-11 |
Family
ID=44677564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100127619A TWI473006B (zh) | 2010-09-17 | 2011-08-03 | 儲存裝置之控制器、儲存裝置及儲存裝置之電腦程式產品 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8549388B2 (zh) |
EP (1) | EP2431878A1 (zh) |
JP (1) | JP5279785B2 (zh) |
KR (1) | KR101285900B1 (zh) |
CN (1) | CN102411518B (zh) |
TW (1) | TWI473006B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5017407B2 (ja) | 2010-03-24 | 2012-09-05 | 株式会社東芝 | 半導体記憶装置 |
JP5651457B2 (ja) | 2010-12-15 | 2015-01-14 | 株式会社東芝 | 半導体記憶装置 |
US8640013B2 (en) | 2011-09-22 | 2014-01-28 | Kabushiki Kaisha Toshiba | Storage device |
KR102116713B1 (ko) * | 2012-07-13 | 2020-06-01 | 삼성전자 주식회사 | 솔리드 스테이트 드라이브 콘트롤러, 솔리드 스테이트 드라이브, 솔리드 스테이트 드라이브의 데이터 처리 방법, 다채널 솔리드 스테이트 드라이브, 레이드 콘트롤러, 시퀀스 정보를 솔리드 스테이트 드라이브에 제공하는 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 |
EP2975474B1 (en) * | 2014-07-17 | 2018-12-26 | Wago Verwaltungsgesellschaft mbH | Industrial control system and method for transferring data |
US10481803B2 (en) | 2017-06-16 | 2019-11-19 | Western Digital Technologies, Inc. | Low write overhead consensus protocol for distributed storage |
US10289489B2 (en) * | 2017-07-11 | 2019-05-14 | Western Digital Technologies, Inc. | Update efficient consensus protocols for erasure coded data stores |
CN109634771A (zh) * | 2018-10-31 | 2019-04-16 | 华为技术有限公司 | 一种数据保护方法、装置及系统 |
KR20200070686A (ko) * | 2018-12-10 | 2020-06-18 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5546535A (en) * | 1992-03-13 | 1996-08-13 | Emc Corporation | Multiple controller sharing in a redundant storage array |
US6148368A (en) * | 1997-07-31 | 2000-11-14 | Lsi Logic Corporation | Method for accelerating disk array write operations using segmented cache memory and data logging |
TWI291095B (en) * | 2003-07-14 | 2007-12-11 | Ibm | System and method for determining a pathway of obtaining data stored in a RAID-type data storage system using multiple pathways for retrieving requested data |
TWM369528U (en) * | 2008-08-05 | 2009-11-21 | Super Talent Electronics Inc | Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices |
TWI324308B (zh) * | 2006-07-28 | 2010-05-01 | Qnap Systems Inc |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2508317B1 (fr) * | 1981-06-26 | 1986-07-25 | Charvin Guy | Indicateur de sterilisation |
US5235601A (en) * | 1990-12-21 | 1993-08-10 | Array Technology Corporation | On-line restoration of redundancy information in a redundant array system |
JPH06274282A (ja) * | 1993-03-18 | 1994-09-30 | Toshiba Corp | 磁気記録装置 |
JP3270959B2 (ja) * | 1993-10-05 | 2002-04-02 | 株式会社日立製作所 | ディスクアレイ装置におけるパリティ格納方法およびディスクアレイ装置 |
US5522032A (en) * | 1994-05-05 | 1996-05-28 | International Business Machines Corporation | Raid level 5 with free blocks parity cache |
US5634109A (en) | 1994-06-20 | 1997-05-27 | International Business Machines Corporation | Method and system for enhanced data management efficiency in memory subsystems utilizing redundant arrays of disk memory devices and a nonvolatile cache |
US5720025A (en) * | 1996-01-18 | 1998-02-17 | Hewlett-Packard Company | Frequently-redundant array of independent disks |
JP3373360B2 (ja) * | 1996-06-13 | 2003-02-04 | 沖電気工業株式会社 | ディスクアレイ装置 |
US8266367B2 (en) | 2003-12-02 | 2012-09-11 | Super Talent Electronics, Inc. | Multi-level striping and truncation channel-equalization for flash-memory system |
US8195760B2 (en) | 2001-01-11 | 2012-06-05 | F5 Networks, Inc. | File aggregation in a switched file system |
JP3793544B2 (ja) * | 2005-07-19 | 2006-07-05 | 株式会社日立製作所 | ディスクアレイ装置及びその制御方法 |
JP2008217395A (ja) * | 2007-03-05 | 2008-09-18 | Nec Corp | ディスクアレイ装置 |
JP4564520B2 (ja) | 2007-08-31 | 2010-10-20 | 株式会社東芝 | 半導体記憶装置およびその制御方法 |
JP4538034B2 (ja) | 2007-09-26 | 2010-09-08 | 株式会社東芝 | 半導体記憶装置、及びその制御方法 |
JP2010015195A (ja) | 2008-06-30 | 2010-01-21 | Toshiba Corp | 記憶制御装置及び記憶制御方法 |
JP2010015197A (ja) | 2008-06-30 | 2010-01-21 | Toshiba Corp | ストレージ制御装置、データ復元装置およびストレージシステム |
JP5221332B2 (ja) * | 2008-12-27 | 2013-06-26 | 株式会社東芝 | メモリシステム |
JP5268710B2 (ja) | 2009-02-27 | 2013-08-21 | 株式会社東芝 | 半導体記憶装置 |
CN101620517B (zh) * | 2009-08-04 | 2012-05-30 | 成都市华为赛门铁克科技有限公司 | 数据写入方法和装置 |
CN101630281B (zh) * | 2009-08-25 | 2011-11-16 | 杭州华三通信技术有限公司 | 一种数据存储的镜像方法和设备 |
-
2010
- 2010-09-17 JP JP2010209758A patent/JP5279785B2/ja active Active
-
2011
- 2011-02-25 US US13/035,194 patent/US8549388B2/en active Active
- 2011-08-03 TW TW100127619A patent/TWI473006B/zh not_active IP Right Cessation
- 2011-08-26 EP EP11179009A patent/EP2431878A1/en not_active Withdrawn
- 2011-08-30 KR KR1020110087174A patent/KR101285900B1/ko not_active IP Right Cessation
- 2011-08-31 CN CN201110254403.5A patent/CN102411518B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5546535A (en) * | 1992-03-13 | 1996-08-13 | Emc Corporation | Multiple controller sharing in a redundant storage array |
US6148368A (en) * | 1997-07-31 | 2000-11-14 | Lsi Logic Corporation | Method for accelerating disk array write operations using segmented cache memory and data logging |
TWI291095B (en) * | 2003-07-14 | 2007-12-11 | Ibm | System and method for determining a pathway of obtaining data stored in a RAID-type data storage system using multiple pathways for retrieving requested data |
TWI324308B (zh) * | 2006-07-28 | 2010-05-01 | Qnap Systems Inc | |
TWM369528U (en) * | 2008-08-05 | 2009-11-21 | Super Talent Electronics Inc | Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices |
Also Published As
Publication number | Publication date |
---|---|
TW201229880A (en) | 2012-07-16 |
KR101285900B1 (ko) | 2013-07-12 |
CN102411518B (zh) | 2014-10-08 |
US20120072811A1 (en) | 2012-03-22 |
KR20120029996A (ko) | 2012-03-27 |
JP5279785B2 (ja) | 2013-09-04 |
CN102411518A (zh) | 2012-04-11 |
EP2431878A1 (en) | 2012-03-21 |
JP2012064139A (ja) | 2012-03-29 |
US8549388B2 (en) | 2013-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI473006B (zh) | 儲存裝置之控制器、儲存裝置及儲存裝置之電腦程式產品 | |
US10705911B2 (en) | Storing data in a distributed storage system | |
US9921912B1 (en) | Using spare disk drives to overprovision raid groups | |
US10346245B2 (en) | Data storage system and data storage method | |
JP6190898B2 (ja) | サーバに接続されるシステム及び仮想マシンが動作しているサーバに接続されたシステムによる方法 | |
US9710345B2 (en) | Using unused portion of the storage space of physical storage devices configured as a RAID | |
US11003554B2 (en) | RAID schema for providing metadata protection in a data storage system | |
JP2005293363A (ja) | ディスクアレイコントローラおよび情報処理装置 | |
US10437691B1 (en) | Systems and methods for caching in an erasure-coded system | |
JP6476959B2 (ja) | ストレージ制御装置、ストレージシステム、および制御プログラム | |
JP4788492B2 (ja) | ストレージ装置の容量拡張方法、プログラム、およびストレージ装置 | |
US8745343B2 (en) | Data duplication resynchronization with reduced time and processing requirements | |
US9223652B2 (en) | Triple parity encoding to facilitate data recovery | |
JP2006164304A (ja) | ドライブの2重障害を防止するアレイ型ディスク装置、プログラム、及び方法 | |
JP5949816B2 (ja) | キャッシュ制御装置及びその制御方法、ストレージ装置、並びにコンピュータ・プログラム | |
US11334456B1 (en) | Space efficient data protection | |
JP4843695B2 (ja) | ディスクアレイ制御装置及びディスクアレイ装置 | |
US9886344B2 (en) | Storage system and storage apparatus | |
JP6707939B2 (ja) | 制御装置、ストレージ装置、制御方法及びプログラム | |
JP6556980B2 (ja) | ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム | |
JP6175771B2 (ja) | ディスクアレイ装置、バッドセクタ修復方法および修復プログラム | |
CN113590378A (zh) | 存储管理的方法、设备和计算机程序产品 | |
JP7056874B2 (ja) | 制御装置、ディスクアレイ装置、制御方法、及びプログラム | |
JPWO2016139774A1 (ja) | 情報処理装置、情報処理システム | |
JP2014041523A (ja) | データ管理装置、及び、データ管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |