TW201428491A - 在多個儲存裝置中提供資料冗餘之系統、方法及電腦程式產品 - Google Patents

在多個儲存裝置中提供資料冗餘之系統、方法及電腦程式產品 Download PDF

Info

Publication number
TW201428491A
TW201428491A TW103112378A TW103112378A TW201428491A TW 201428491 A TW201428491 A TW 201428491A TW 103112378 A TW103112378 A TW 103112378A TW 103112378 A TW103112378 A TW 103112378A TW 201428491 A TW201428491 A TW 201428491A
Authority
TW
Taiwan
Prior art keywords
disk controller
data redundancy
disk
data
flash memory
Prior art date
Application number
TW103112378A
Other languages
English (en)
Other versions
TWI550400B (zh
Inventor
Danilak Radoslav
Original Assignee
Lsi Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/942,629 external-priority patent/US7904672B2/en
Priority claimed from US11/942,623 external-priority patent/US8090980B2/en
Application filed by Lsi Corp filed Critical Lsi Corp
Publication of TW201428491A publication Critical patent/TW201428491A/zh
Application granted granted Critical
Publication of TWI550400B publication Critical patent/TWI550400B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies

Abstract

一種在多個儲存裝置中提供資料冗餘之系統、方法及電腦程式產品。在操作時,會依據第一種資料冗餘架構接收儲存指令以提供資料冗餘。此外,會依據第二種資料冗餘架構轉譯儲存指令以提供資料冗餘。另外,會輸出轉譯儲存指令而在多個儲存裝置中提供資料冗餘。

Description

在多個儲存裝置中提供資料冗餘之系統、方法及電腦程式產品
本件發明與資料儲存裝置有關,更具體地說是與儲存裝置中之資料冗餘有關。
儲存系統是現代企業電腦運算系統效能中最受限制層面之一。硬碟式儲存之效能是由搜尋時間與半旋轉時間決定。可藉由減少搜尋時間與減少旋轉延遲以增加效能。但硬碟轉速仍有限制,目前硬碟最快轉速可達15,000rpm。
圖1說明一種依據先前技術之系統100。在系統100中,至少一部電腦102-108與主機控制器110與112連接。主機控制器110及112與多顆磁碟114-120連接。
通常,系統100設定為獨立磁碟冗餘陣列(RAID)-1,將磁碟114-116之鏡射內容儲存在磁碟118-120中。也就是說磁碟114-116是由磁碟118-120加以鏡射。
藉由複製磁碟114-116、主機控制器110及其之間連線可增加電腦系統可靠性。因此,一部可靠的電腦系統至少要在磁碟114-116、RAID控制器110與112、電腦102-108、及其間連線發生單點故障時仍可操作。但是,使用系統100之儲存系統效能仍可能不夠。此外,增加此種 系統之效能目前仍所費不貲,而且經常是不可行的。
因此便有需要解決這些及/或其他先前技術的問題。
一種在多個儲存裝置中提供資料冗餘之系統、方法及電腦程式產品。在操作時,依據第一種資料冗餘架構接收儲存指令以提供資料冗餘。此外,依據第二種資料冗餘架構轉譯儲存指令以提供資料冗餘。另外,會輸出轉譯儲存指令而在多個儲存裝置中提供資料冗餘。
100‧‧‧依據先前技術之系統
102‧‧‧電腦
104‧‧‧電腦
106‧‧‧電腦
108‧‧‧電腦
110‧‧‧主機控制器
112‧‧‧主機控制器
114‧‧‧磁碟
116‧‧‧磁碟
118‧‧‧磁碟
120‧‧‧磁碟
201‧‧‧連接埠
202‧‧‧連接埠
203‧‧‧磁碟控制器匯流排
210‧‧‧第一個磁碟控制器
211‧‧‧內部連線
212‧‧‧內部連線
213‧‧‧內部連線
214‧‧‧內部連線
220‧‧‧第二個磁碟控制器
221‧‧‧內部連線
222‧‧‧內部連線
223‧‧‧內部連線
224‧‧‧內部連線
231‧‧‧儲存裝置
232‧‧‧儲存裝置
233‧‧‧儲存裝置;冗餘儲存裝置
234‧‧‧儲存裝置;冗餘儲存裝置
241‧‧‧匯流排
242‧‧‧匯流排
243‧‧‧匯流排
244‧‧‧匯流排
250‧‧‧儲存子系統
251‧‧‧電源接頭
252‧‧‧電子連線
253‧‧‧電源供應器元件;電源供應器
254‧‧‧連線
261‧‧‧第二個電源接頭
262‧‧‧連線
263‧‧‧電源供應器元件;電源供應器
264‧‧‧連線
270‧‧‧電力分配網路
271‧‧‧連線
272‧‧‧連線
273‧‧‧連線
274‧‧‧連線
275‧‧‧電源供應器連線
276‧‧‧電源供應器連線
280‧‧‧在多個儲存裝置中提供資料冗餘系統
285‧‧‧電腦
286‧‧‧電腦
287‧‧‧電腦
288‧‧‧電腦
290‧‧‧控制器
291‧‧‧控制器
292‧‧‧儲存系統
293‧‧‧磁碟控制器
294‧‧‧磁碟控制器
296‧‧‧儲存裝置
297‧‧‧儲存裝置
298‧‧‧儲存裝置
299‧‧‧儲存裝置
300‧‧‧磁碟組件
302‧‧‧印刷電路板
304‧‧‧接頭
306‧‧‧接頭
400‧‧‧磁碟組件
401‧‧‧電子連線
410‧‧‧磁碟組件
420‧‧‧磁碟組件
430‧‧‧接頭
500‧‧‧操作冗餘磁碟控制器之方法
510‧‧‧操作-儲存系統啟動
520‧‧‧操作-監控磁碟控制器
530‧‧‧操作-監控磁碟控制器是否故障?
540‧‧‧操作-監控磁碟控制器
600‧‧‧操作冗餘磁碟控制器之方法
610‧‧‧操作-儲存系統啟動
620‧‧‧操作-監控磁碟控制器連結
630‧‧‧操作-連結是否故障?
640‧‧‧操作-中斷磁碟控制器
700‧‧‧操作冗餘磁碟控制器之系統
702‧‧‧電腦
704‧‧‧電腦
706‧‧‧電腦
708‧‧‧寫入減少邏輯
710‧‧‧寫入減少邏輯
712‧‧‧RAID控制器;控制器
714‧‧‧RAID控制器;控制器
716‧‧‧儲存裝置
718‧‧‧儲存裝置
720‧‧‧儲存裝置
722‧‧‧儲存裝置
800‧‧‧系統
801‧‧‧主機處理器;中央處理器
804‧‧‧主記憶體
806‧‧‧繪圖處理器
808‧‧‧顯示器
810‧‧‧次要儲存裝置
圖1依據先前技術說明一系統。
圖2A依據一具體實施例,顯示在多個儲存裝置中提供資料冗餘之系統。
圖2B依據一具體實施例,顯示在多個儲存裝置中提供資料冗餘之儲存系統。
圖3依據一具體實施例,顯示一磁碟組件。
圖4依據另一具體實施例,顯示一磁碟組件。
圖5依據一具體實施例,顯示操作冗餘磁碟控制器之方法。
圖6依據另一具體實施例,顯示操作冗餘磁碟控制器之方法。
圖7依據另一具體實施例,顯示一種操作冗餘磁碟控制器之系統。
圖8說明一示範系統,其中可實施各種先前具體實施例之各種架構及/或功能。
圖2A顯示依據一具體實施例,在多個儲存裝置中提供資料冗餘之系統280。如圖所示,系統280包括至少一部電腦285-288。電腦285-288會與至少一個控制器290-291通訊。如圖進一步顯示,控制器290-291會與一儲存系統292通訊,該系統包括多個磁碟控制器293-294與多個儲存裝置296-299。應注意的是,雖然控制器290-291是分別顯 示,但在另一具體實施例中,該控制器290-291可以是單一元件。此外,在各種具體實施例中,多個磁碟控制器293-294亦可以是一個元件或獨立元件。
在操作時,會依據第一種資料冗餘架構接收儲存指令以提供資料冗餘。此外,也會依據第二種資料冗餘架構轉譯儲存指令以提供資料冗餘。另外,會輸出轉譯儲存指令而在多個儲存裝置296-299中提供資料冗餘。
在本說明內文中,儲存指令是指任何用於儲存或幫助資料儲存的命令、指示或資料。此外,在本說明內文中,資料冗餘架構是指能在一系統中提供冗餘資料或容錯的任何架構類型。例如,在各種具體實施例中,資料冗餘架構可包括,但不限於獨立磁碟冗餘陣列(RAID)0資料冗餘架構、RAID 1資料冗餘架構、RAID 10資料冗餘架構、RAID 3資料冗餘架構、RAID 4資料冗餘架構、RAID 5資料冗餘架構、RAID 50資料冗餘架構、RAID 6資料冗餘架構、RAID 60資料冗餘架構、正方同位檢查資料冗餘架構、任何非標準RAID資料冗餘架構、任何巢狀RAID資料冗餘架構,及/或任何其他符合上述定義之資料冗餘架構。
在一具體實施例中,第一種資料冗餘架構可包括RAID 1資料冗餘架構。在另一具體實施例中,第二種資料冗餘架構可包括RAID 5資料冗餘架構。在另一具體實施例中,第二種資料冗餘架構可包括RAID 6資料冗餘架構。
此外,在本說明內文中,多個儲存裝置296-299可代表任何類型之儲存裝置。例如,在各種具體實施例中,儲存裝置296-299可包括但不限於,機械式儲存裝置(例如,磁碟機等)、固態儲存裝置(例如,動態隨機存取記憶體(DRAM)、快閃記憶體等),及/或任何其他儲存裝置。在儲存裝置296-299包括快閃記憶體之情況下,快閃記憶體可包括 但不限於,單層單元(SLC)裝置、多層單元(MLC)裝置、NOR快閃記憶體、NAND快閃記憶體、MLC NAND快閃記憶體、SLC NAND快閃記憶體等。
現在將提出更多關於各種可選擇架構與功能之說明資料,使用者可依需要實施或不實施前述架構。應特別注意的是,以下資訊係出於說明目的所提出,不應以任何方式解釋為限制。以下任何功能均可自行選擇是否與說明的其他功能一併運用。
圖2B依據一具體實施例,顯示在多個儲存裝置中提供資料冗餘之一儲存子系統250。作為一個選項,在圖2A有關細節中可檢視儲存子系統250。但是,當然,儲存子系統250可在任何需要的環境中實施。同時應注意的是,前述定義可適用於本說明。
如圖所示,儲存子系統250包括多個主要儲存裝置231-232,以及至少一個額外儲存裝置233-234,用於增加儲存容量以包含冗餘資訊。儲存子系統250之資料儲存量可視為多個主要儲存裝置231-232之儲存容量總和。作為一個選項,可透過額外儲存裝置233-234擴充儲存容量。當然,在一具體實施例中,可單獨使用額外儲存裝置233-234以儲存從被儲存資料計算出之冗餘資訊。
如圖進一步顯示,第一個磁碟控制器210包括至少一連接埠201。在操作中,至少一連接埠201可作為儲存子系統250之第一個連接埠。此外,至少一連接埠201可作為第一個磁碟控制器210對磁碟控制器匯流排203、電源供應器連線275,以及將第一個磁碟控制器210連接至儲存裝置231-234之對應匯流排241-244之內部連線211-214的連接埠。
匯流排203將第一個磁碟控制器210與第二個磁碟控制器220連接。在操作時,可使用匯流排203監控第一個磁碟控制器210與第二個磁碟控制器220的操作。當第二個磁碟控制器220偵測到第一個磁碟控制器210故障時,磁碟控制器220可透過磁碟控制器匯流排203,發出中 斷請求給第一磁碟控制器210,將內部連線211-214從相對應的匯流排241-244中斷。
將第一個磁碟控制器210與第二個磁碟控制器220連接之匯流排203,可使用第一個磁碟控制器210監控第二個磁碟控制器220的操作。當第一個磁碟控制器210偵測到第二個磁碟控制器220故障時,第一個磁碟控制器210可透過磁碟控制器匯流排203,發出中斷請求給第二個磁碟控制器220,將內部連線221-224與相對應的匯流排241-244中斷。
在一具體實施例中,第一個磁碟控制器210可偵測內部不正確操作,或是與第一個磁碟控制器210有關的不正確操作。在此情況下,第一個磁碟控制器210可在偵測到內部不正確操作時,將連線211-214從相對應的匯流排241-244中斷。同樣地,第二個磁碟控制器220可偵測到內部不正確操作,或是與第二個磁碟控制器220有關的不正確操作。在此情況下,第二個磁碟控制器220可在偵測內部不正確操作時,將連線221-224與相對應的匯流排241-244中斷。
此外,在一具體實施例中,第一個及第二個磁碟控制器210與220可偵測磁碟控制器匯流排203的故障。在此情況下,第二個磁碟控制器220可將連線221-224從相對應的匯流排241-244中斷,而第一個磁碟控制器210仍可維持運作。在另一具體實施例中,第一個磁碟控制器210可將連線211-214從相對應的匯流排241-244中斷,而第二個磁碟控制器220仍維持運作。在另一具體實施例中,維持運作的磁碟控制器可將非運作中的控制器之連線中斷。
值得注意的是,中斷匯流排211-214與221-224,可透過三態電路、多工器、或任何其他中斷匯流排211-214與221-224電路來實施。例如,在一具體實施例中,可藉由將與磁碟控制器210或220有關之三態匯流排驅動程式置入高阻抗狀態以達成中斷。在另一具體實施例中,可藉由控制儲存裝置231-234輸入端的多工器以達成中斷。
如圖進一步顯示,第二個磁碟控制器220包括至少一個連接埠202。在操作時,至少一個連接埠202可做為儲存子系統250之第二個連接埠。此外,至少一個連接埠202可作為第二個磁碟控制器220連接至磁碟控制器匯流排203、電源供應器連線276之連接埠,以及將第二個磁碟控制器220連接至儲存裝置231-234之對應匯流排241-244之內部連線221-224的連接埠。
在提供單冗餘儲存裝置233,在沒有額外冗餘儲存裝置234情況下,儲存子系統250可在儲存裝置231-233出現任何單點故障時,在不遺失資料情況下操作。在一具體實施例中,資料與冗餘資訊之結構可依據RAID 5。在另一具體實施例中,資料與冗餘資訊結構可依據RAID 6、RAID 10、RAID 50、RAID 60、正方同位檢查冗餘架構等。
在提供二冗餘儲存裝置233與234情況下,儲存子系統可在任何二個儲存裝置231-234發生故障時,在不遺失資料的情況下操作。在操作時,連接埠201與202可將儲存在儲存子系統250中資料以二個傳統獨立鏡射磁碟呈現。在此情況下,該傳統獨立鏡射磁碟可為RAID 1、RAID 10、RAID 50、RAID 60、正方同位檢查冗餘架構等。
儲存子系統250的電力可透過電子連線252,由第一個電源接頭251連接至電源供應器元件253而提供。儲存子系統250的電力也可透過連線262,由第二個電源接頭261連接第二個電源供應器元件263來提供。作為一個選項,可連結第一個電源供應器253輸出端與第二電源供應器263輸出端,並透過電力分配網路270分配至磁碟控制器210與220及儲存裝置231-234。儲存裝置231-234透過相對應連線271-274與電力分配網路270連接。磁碟控制器210與220則透過電源供應器連線275與276連接到電力分配網路270。
在電源接頭251發生電力故障情況下,可透過電源接頭261對儲存子系統250提供電力。同樣地,在接至電源接頭261之電力發生故障情 況下,可透過電源接頭251對儲存子系統250提供電力。在連線252故障情況下,可透過連線262對儲存子系統250提供電力。在連線262故障情況下,可透過連線252對儲存子系統250提供電力。
在電源供應器253故障情況下,可藉由電源供應器263對儲存子系統250提供電力。若電源供應器263故障,可藉由電源供應器253對儲存子系統250提供電力。同樣地,當連線254故障時,可透過連線264對儲存子系統250提供電力。同樣地,當連線264故障時,可透過連線254對儲存子系統250提供電力。因此,儲存子系統250可容許各種元件故障,而不致於使儲存子系統250無法操作。
在一具體實施例中,磁碟控制器210及/或220可內含電路以偵測到電源供應器253與263之電力是否中斷。此外,該電路可提供電源以便將磁碟控制器210與220之狀態儲存至儲存裝置231-234中,以避免資料遺失。例如,可偵測到電源供應器253及/或263之中斷。
在此情況下,電力可供應至儲存裝置231-234,以回應偵測到電源供應器253與263之中斷。電源供應器253與263可在二個電源供應器253與263之電力被中斷後,仍對儲存子系統250提供足夠時間的電力,完成將磁碟控制器210與220之狀態寫入儲存裝置231-234中。因此,電力可提供至儲存裝置231-234,直到不會因為電源供應器253與263的電力中斷而發生資料遺失之時點。在各種具體實施例中,電源供應器253與263可包括一電池、一電容器,及/或任何其他可在電源供應器253與263電力中斷時,對儲存子系統250提供電力的元件。
應注意的是,儲存子裝置250在發生圖2B中所示任何元件的單點故障時,均可繼續操作而不會發生資料遺失。應注意在各種具體實施例中,儲存裝置231-234可以是機械式儲存裝置、非機械式儲存裝置、揮發性或非揮發性儲存裝置。此外,在各種具體實施例中,儲存裝置231-234可包括但不限於動態隨機存取記憶體或快閃記憶體儲存裝置 (例如SLC裝置、MLC裝置、NOR閘道快閃記憶體裝置、NAND閘道快閃記憶體儲存裝置等)。
此外,在一具體實施例中,磁碟控制器210與220可實作為二個獨立晶片。在另一具體實施例中,磁碟控制器210與220可實施在一個晶片或晶粒上。例如,此種實施例可依封裝考量加以決定。
圖3依據一具體實施例顯示一磁碟組件300。作為一個選項,磁碟組件300可在圖1-2之功能及架構下實施。但是,當然,磁碟組件300亦可在任何需要的環境中實施。亦應注意的是,前述定義可適用於本說明中。
如圖所示,磁碟組件300包括一個印刷電路板302,包括磁碟機(未顯示)、一個含主連接埠可作為SATA(序列進階技術附加)接頭304一部份之電源接頭,以及一個含有第二連接埠作為第二個SATA接頭306一部份之電源接頭。在一具體實施例中,磁碟組件300可包括SAS(序列附加SCSI)接頭。例如,磁碟組件300可包括一個印刷電路板302,包括磁碟機(未顯示)、含有主連接埠作為SAS接頭304一部份之電源接頭,以及一個含有第二連接埠作為第二個SAS接頭306一部份之電源接頭。
作為一個選項,接頭304與306可將磁碟組件300作為特定資料冗餘組態。例如,一SATA介面可將磁碟組件300作為RAID 1模式中所設定的一對磁碟。在另一具體實施例中,SAS介面可將磁碟組件300作為RAID 1模式中所設定的一對磁碟。在另一具體實施例中,SATA與SAS介面可將磁碟組件300作為RAID 0模式中所設定的多個磁碟。
圖4顯示依據另一具體實施例之磁碟組件400。作為一個選項,磁碟組件400可實施在圖1-3之功能及架構的環境中。但是,當然,磁碟組件400亦可在任何需要的環境中實施。亦應注意的是,前述定義亦可適用於本說明中。
如圖所示,磁碟組件400包括一或多個磁碟組件410與420。作為一個選項,磁碟組件410與420可包括圖3之磁碟組件300,在此情況下,每一磁碟組件410與420可包括一個印刷電路板及接頭430。
另一個選項,每一磁碟組件410與420可以透過一電子連線401互連。在此情況下,電子連線401可提供磁碟控制器匯流排,例如,圖2B之磁碟控制器匯流排203。在操作時,磁碟組件可藉由允許超過一個以上的磁碟(例如,磁碟組件410與420)佔用傳統或主要儲存裝置(例如,一磁碟機)之空間,以增加系統儲存效能。
圖5顯示,依據一具體實施例,一種操作冗餘磁碟控制器之方法500。作為一個選項,方法500可在圖1-4之功能及架構中實施。但是,當然,方法500亦可在任何需要的環境中實施。亦應注意的是,前述定義亦可適用於本說明中。
如圖所示,一儲存系統(例如,一磁碟組件等)啟動,請參操作510。一儲存系統之磁碟控制器被監控,請參操作520。作為一個選項,可藉另一磁碟控制器監控該磁碟控制器。該監控可包括透過二個磁碟控制器間之匯流排(例如,圖2B之磁碟控制器匯流排203等)監控磁碟控制器,及/或監控在與儲存系統之儲存裝置相對應匯流排上之活動(例如,相對應的儲存裝置231-234之匯流排241-244等)。
儲存系統持續操作、監控磁碟控制器,直到判定所監控磁碟控制器故障為止,請參操作530。如果所監控磁碟控制器故障,會將所監控磁碟控制器中斷,請參操作540。
在一具體實施例中,可藉由透過二個磁碟控制器(例如圖2B的磁碟控制器匯流排203等)間之匯流排發出中斷指令,以實施磁碟控制器之中斷。在此情況下,中斷指令可包括中斷所連結監控磁碟控制器至儲存裝置(例如圖2B的連線211-214或221-224等)之匯流排。在一具體實施例中,可藉其他磁碟控制器監控多個磁碟控制器。在此情況下, 在多個磁碟控制器中之每一磁碟控制器可視為一所監控磁碟控制器。
圖6顯示依據另一具體實施例之一種操作冗餘磁碟控制器方法600。作為一個選項,方法600可在圖1-5之功能及架構中實施。但是,當然,該方法600亦可在任何需要的環境中實施。亦應注意的是,前述定義亦可適用於本說明中。
如圖所示,一儲存系統(例如,一磁碟組件等)啟動,請參操作610。儲存系統中至少二個磁碟控制器間之連結被監控,請參操作620。在一具體實施例中,磁碟控制器間之連結可包括圖2B之磁碟控制器匯流排203。此外,磁碟控制器間之連結可由至少一個磁碟控制器監控(例如,圖2B之第一個與第二個磁碟控制器210與220等)。
儲存系統持續操作、監控連結,直到判定連結故障為止,請參操作630。如果連結故障,就會中斷一個磁碟控制器,請參操作640。
在一具體實施例中,中斷可包括中斷磁碟控制器對儲存裝置(例如圖2B的連線211-214或221-224等)間之匯流排連結。在此情況下,與中斷的控制器有關之連接埠所接收之指令不會被處理。例如,二個磁碟控制器中之第二個控制器可在第一個與第二個磁碟控制器間之連結發生故障時中斷。在此情況下,第一個控制器可以繼續操作,而來自第二磁碟控制器連接埠之指令就不會被處理。
圖7顯示依據另一具體實施例之一種操作冗餘磁碟控制器之系統700。作為一個選項,該系統700可在圖1-6之功能及架構中實施。但是,當然,該系統700亦可在任何需要的環境中實施。亦應注意的是,前述定義亦可適用於本說明中。
如圖所示,提供至少一部電腦702-706。電腦702-706與多個RAID控制器712-714連接,控制器712-714會與多個儲存裝置716-722通訊,該通訊可以包括運用與儲存裝置716-722有關之連接埠。
可藉由使用具有內部磁碟冗餘(例如,圖2B之儲存系統250)之儲 存裝置716-722,達成系統700的可靠性。此外,可複製所有連線(例如,匯流排等)以確保系統700之可靠性。作為一個選項,儲存裝置716-722的每一個均可包括二個連接埠,相較於使用單一連接埠的儲存裝置,能提供二倍頻寬。此外,每個儲存裝置716-722可藉由運用一冗餘系統,例如,RAID 5、RAID 6、RAID 10、RAID 50、RAID 60、正方同位檢查冗餘架構等,以模擬二個磁碟。
作為一個選項,可運用寫入減少邏輯708-710以減少寫入至儲存裝置716-722的次數。在此情況下,用以提供資料冗餘之轉譯儲存指令可在減少後執行。例如,可依據控制器712-714之第一種資料冗餘架構(例如,RAID 5、RAID 6、RAID 10、RAID 50、RAID 60、正方同位檢查冗餘架構等)接收儲存指令以提供資料冗餘。
然後運用寫入減少邏輯708-710以減少寫入儲存裝置716-722之次數,接著依據與儲存裝置716-722有關之第二種資料冗餘架構轉譯儲存指令(例如,藉由一電路),以提供資料冗餘。在一具體實施例中,第二種資料冗餘架構可與第一種資料冗餘架構相同(例如,RAID 5、RAID 6、RAID 10、RAID 50、RAID 60、正方同位檢查冗餘架構等)。在另一具體實施例中,第二種資料冗餘架構可與第一種資料冗餘架構不同(例如,RAID 1、RAID 6、RAID 10、RAID 50、RAID 60、正方同位檢查冗餘架構等)。
在一具體實施例中,可依據第一種資料冗餘架構變成與第二種資料冗餘架構相容格式,運用寫入減少邏輯708-710格式化所接收的儲存指令以提供資料冗餘。作為一個選項,RAID控制器712-714可包括一個具有如儲存裝置716-722所述之內部驅動冗餘,以該方法,可以減少寫入儲存裝置716-722之次數。因此,在減少寫入次數後,依據與儲存裝置716-722有關之第二種資料冗餘架構,轉譯儲存指令以提供資料冗餘。以此方法,即可避免資料不規則分佈。
圖8說明一種示範系統800,其中可實施各種先前具體實施例之各種架構及/或功能。如圖所示,系統800包括至少一個與通訊匯流排802相連接之主機處理器801。系統800亦包括一個主記憶體804。控制邏輯(軟體)與資料可採用以隨機存取記憶體(RAM)形式儲存在主記憶體804中。
系統800也包括一個繪圖處理器806及一個顯示器808,即電腦螢幕。在一具體實施例中,繪圖處理器806可包括多個遮影器模組、光柵化模組等。前述每一種模組甚至可安裝在單一半導體平台上,以形成繪圖處理器(GPU)。
在本說明中,單一半導體平台可為單一半導體基底的積體電路或晶片。應注意的是,單一半導體平台亦可以指具有以模擬單晶片操作增加連結能力,並透過運用傳統中央處理器(CPU)及匯流排實施以達成實質改良之多晶片模組。當然,亦可個別放置各種模組,或依使用者需要組合多種不同半導體平台。
系統800也可以包括一個次要儲存裝置810。該次要儲存裝置810包括,例如,一個硬碟機及/或抽取式儲存磁碟,即軟碟機、磁帶機、光碟機等。抽取式磁碟機能以熟知方法讀取或寫入一抽取式儲存元件。
電腦程式或電腦控制邏輯演算法可儲存在主記憶體804及/或次要儲存裝置810中。當執行該電腦程式時,能使系統800執行各種功能。記憶體804、儲存裝置810及/或其他儲存裝置都可做為電腦讀取式媒體之實施例。
在一具體實施例中,各種先前圖式之架構及/或功能均可實施在主機處理器801、繪圖處理器806、次要儲存裝置810、一個至少兼具主機處理器801與繪圖處理器806部份功能之積體電路(未顯示)、一晶片組(即被設計成以元件運作及銷售,以執行有關功能之積體電路組群等),及/或任何其他積體電路中。
此外,先前各種圖式之架構及/或功能亦可在一般電腦系統、電路板系統、娛樂專用的遊戲控制台系統、特定應用程式系統,及/或任何其他需要系統中實施。例如,系統800可採用桌上型電腦、膝上型電腦,及/或其他類型邏輯之形式。此外,系統800可採用各種不同其他裝置形式,包括但不限於,個人數位助理(PDA)裝置、行動電話裝置、電視等。
另外,雖未顯示,系統800基於通訊目的,亦可連接網路[例如,電信網路、區域網路(LAN)、無線網路、廣域網路(WAN),例如網際網路、點對點網路、纜線網路等]。
雖然各種具體實施例已如上所述,應瞭解它們僅是以示範方式呈現,而非限制。因此,較佳具體實施例的廣度及範圍不應受到上述示範性具體實施例限制,應僅依以下申請專利範圍及其附屬項予以定義。
280‧‧‧系統
285‧‧‧電腦
286‧‧‧電腦
287‧‧‧電腦
288‧‧‧電腦
290‧‧‧控制器
291‧‧‧控制器
292‧‧‧儲存系統
293‧‧‧磁碟控制器
294‧‧‧磁碟控制器
296‧‧‧儲存裝置
297‧‧‧儲存裝置
298‧‧‧儲存裝置
299‧‧‧儲存裝置

Claims (21)

  1. 一種方法,其包含:從一電腦經由一標準儲存子系統介面接收寫入;減少接收到的寫入之一數目;經由一磁碟控制器實施一資料冗餘架構,該資料冗餘架構包含將與經減少數目的寫入相關聯之資料儲存於複數個主要快閃記憶體中且將經計算之冗餘資訊儲存於至少一冗餘快閃記憶體中;且其中該磁碟控制器經致能以在任何快閃記憶體之至少一單一失效存在時可不丟失資料地操作。
  2. 如請求項1之方法,其中該資料冗餘架構包括一獨立磁碟冗餘陣列(RAID)資料冗餘架構。
  3. 如請求項2之方法,其中該資料冗餘架構包括一獨立磁碟冗餘陣列(RAID)-5資料冗餘架構。
  4. 如請求項2之方法,其中該資料冗餘架構包括一獨立磁碟冗餘陣列(RAID)-6資料冗餘架構。
  5. 如請求項1之方法,其中該標準儲存子系統介面包括一序列進階技術附加(SATA)介面。
  6. 如請求項5之方法,其中該磁碟控制器包含在一磁碟機內。
  7. 如請求項1之方法,其中該標準儲存子系統介面包括一序列附加SCSI(SAS)介面。
  8. 如請求項7之方法,其中該磁碟控制器包含在一磁碟機內。
  9. 如請求項1之方法,其中至少其中一個快閃記憶體包括NAND快閃記憶體。
  10. 如請求項9之方法,其中該NAND快閃記憶體包括單層單元(SLC)NAND快閃記憶體。
  11. 如請求項9之方法,其中該NAND快閃記憶體包括多層單元(MLC)NAND快閃記憶體。
  12. 如請求項1之方法,其中該磁碟控制器包含在一磁碟機內。
  13. 如請求項1之方法,其進一步包含偵測該磁碟控制器一電源之一切斷。
  14. 如請求項13之方法,其進一步包含回應於該電源之切斷之該偵測提供電源至該磁碟控制器。
  15. 如請求項14之方法,其中電源提供至該磁碟控制器直到該電源之切斷不造成資料丟失發生之一時點。
  16. 如請求項15之方法,其中該電源使用一電容器提供。
  17. 如請求項15之方法,其中該電源使用一電池提供。
  18. 如請求項1之方法,其中該磁碟控制器及該等快閃記憶體包含在一磁碟機內。
  19. 一種實施於一電腦可讀媒體上之電腦程式產品,其包含:用於減少至一儲存子系統之複數個寫入之電腦程式碼;用於在該減少後使用一資料冗餘架構提供資料冗餘之電腦程式碼;且其中該等寫入從一電腦經由一標準儲存子系統介面接收,該資料冗餘架構藉由一磁碟控制器實施且包含將與經減少數目的寫入 相關聯之資料儲存於複數個主要快閃記憶體中且將經計算之冗餘資訊儲存於至少一冗餘快閃記憶體中,且該磁碟控制器經致能以在任何快閃記憶體之至少一單一失效存在時可不丟失資料地操作。
  20. 一種裝置,其包含:一電路經致能以從一電腦經由一標準儲存子系統介面接收寫入,且進一步經致能以減少接收到的寫入之一數目;一磁碟控制器,其實施一資料冗餘架構,該資料冗餘架構包含將與經減少數目的寫入相關聯之資料儲存於複數個主要快閃記憶體中且將經計算之冗餘資訊儲存於至少一冗餘快閃記憶體中;且其中該磁碟控制器經致能以在任何快閃記憶體之至少一單一失效存在時可不丟失資料地操作。
  21. 如請求項20之裝置,其進一步包含該主要及該冗餘快閃記憶體。
TW103112378A 2006-12-08 2007-11-22 在多個儲存裝置中提供資料冗餘之系統、方法及電腦程式產品 TWI550400B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US87363006P 2006-12-08 2006-12-08
US11/942,629 US7904672B2 (en) 2006-12-08 2007-11-19 System and method for providing data redundancy after reducing memory writes
US11/942,623 US8090980B2 (en) 2006-12-08 2007-11-19 System, method, and computer program product for providing data redundancy in a plurality of storage devices

Publications (2)

Publication Number Publication Date
TW201428491A true TW201428491A (zh) 2014-07-16
TWI550400B TWI550400B (zh) 2016-09-21

Family

ID=39512026

Family Applications (2)

Application Number Title Priority Date Filing Date
TW96144309A TWI437427B (zh) 2006-12-08 2007-11-22 在多個儲存裝置中提供資料冗餘之系統、方法及電腦程式產品
TW103112378A TWI550400B (zh) 2006-12-08 2007-11-22 在多個儲存裝置中提供資料冗餘之系統、方法及電腦程式產品

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW96144309A TWI437427B (zh) 2006-12-08 2007-11-22 在多個儲存裝置中提供資料冗餘之系統、方法及電腦程式產品

Country Status (4)

Country Link
JP (2) JP2010511963A (zh)
CN (2) CN102929751B (zh)
TW (2) TWI437427B (zh)
WO (1) WO2008073219A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI648675B (zh) * 2017-08-29 2019-01-21 群聯電子股份有限公司 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置
CN109460372A (zh) * 2017-09-06 2019-03-12 群联电子股份有限公司 数据存储方法、存储器控制电路单元及存储器存储装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904672B2 (en) 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
US7849275B2 (en) 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency
US8214589B2 (en) 2009-03-13 2012-07-03 Seagate Technology Llc Data storage system redundancy scheme verification
US8516166B2 (en) 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
TWI579688B (zh) * 2012-02-29 2017-04-21 萬國商業機器公司 磁碟陣列資料儲存系統
JP6063146B2 (ja) * 2012-04-27 2017-01-18 株式会社バッファローメモリ 外部記憶装置
CN102915212B (zh) * 2012-09-19 2015-06-10 记忆科技(深圳)有限公司 一种固态硬盘的raid实现方法、固态硬盘及电子设备
WO2016088254A1 (ja) * 2014-12-05 2016-06-09 株式会社日立製作所 ストレージシステム、方法
JP6696280B2 (ja) 2016-04-13 2020-05-20 富士通株式会社 情報処理装置、raid制御方法、およびraid制御プログラム
CN110780811B (zh) * 2019-09-19 2021-10-15 华为技术有限公司 数据保护方法、装置及存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392244A (en) * 1993-08-19 1995-02-21 Hewlett-Packard Company Memory systems with data storage redundancy management
US5546558A (en) * 1994-06-07 1996-08-13 Hewlett-Packard Company Memory system with hierarchic disk array and memory map store for persistent storage of virtual mapping information
JPH0816328A (ja) * 1994-06-28 1996-01-19 Mitsubishi Electric Corp ディスクアレイシステム
DE19540915A1 (de) * 1994-11-10 1996-05-15 Raymond Engineering Redundante Anordnung von Festkörper-Speicherbausteinen
US5542065A (en) * 1995-02-10 1996-07-30 Hewlett-Packard Company Methods for using non-contiguously reserved storage space for data migration in a redundant hierarchic data storage system
JP3358795B2 (ja) * 1997-03-27 2002-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション ディスクドライブ装置及びその制御方法
JPH1153235A (ja) * 1997-08-08 1999-02-26 Toshiba Corp ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム
US6298415B1 (en) * 1999-02-19 2001-10-02 International Business Machines Corporation Method and system for minimizing writes and reducing parity updates in a raid system
US20050160218A1 (en) * 2004-01-20 2005-07-21 Sun-Teck See Highly integrated mass storage device with an intelligent flash controller
JP3832223B2 (ja) * 2000-09-26 2006-10-11 株式会社日立製作所 ディスクアレイのディスク障害復旧方法
KR100388498B1 (ko) * 2000-12-30 2003-06-25 한국전자통신연구원 복수 개의 레이드를 구비한 계층적 레이드 시스템
JP3592640B2 (ja) * 2001-01-09 2004-11-24 株式会社東芝 ディスク制御システムおよびディスク制御方法
US20030084397A1 (en) * 2001-10-31 2003-05-01 Exanet Co. Apparatus and method for a distributed raid
JP2003316664A (ja) * 2002-04-24 2003-11-07 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP2004021811A (ja) * 2002-06-19 2004-01-22 Hitachi Ltd 不揮発メモリを使用したディスク制御装置
KR20040066638A (ko) * 2003-01-20 2004-07-27 삼성전자주식회사 외부 저장 서브 시스템에서의 패리티 저장 방법 및에러블록 복구 방법
US7213102B2 (en) * 2003-06-26 2007-05-01 International Business Machines Corporation Apparatus method and system for alternate control of a RAID array
TWI261993B (en) * 2004-05-20 2006-09-11 Rdc Semiconductor Co Ltd System and method for data redundancy checking and correcting
JP4366298B2 (ja) * 2004-12-02 2009-11-18 富士通株式会社 記憶装置、その制御方法及びプログラム
JP2006252165A (ja) * 2005-03-10 2006-09-21 Toshiba Corp ディスクアレイ装置、及びコンピュータシステム
JP4671720B2 (ja) * 2005-03-11 2011-04-20 株式会社日立製作所 ストレージシステム及びデータ移動方法
US8244958B2 (en) * 2005-05-09 2012-08-14 Sandisk Il Ltd. Method and system for facilitating fast wake-up of a flash memory system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI648675B (zh) * 2017-08-29 2019-01-21 群聯電子股份有限公司 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置
US10824368B2 (en) 2017-08-29 2020-11-03 Phison Electronics Corp. Data storing method, memory control circuit unit and memory storage device
CN109460372A (zh) * 2017-09-06 2019-03-12 群联电子股份有限公司 数据存储方法、存储器控制电路单元及存储器存储装置
CN109460372B (zh) * 2017-09-06 2022-11-22 群联电子股份有限公司 数据存储方法、存储器控制电路单元及存储器存储装置

Also Published As

Publication number Publication date
JP2013257900A (ja) 2013-12-26
TW200837561A (en) 2008-09-16
CN102929751B (zh) 2018-04-20
CN101548271A (zh) 2009-09-30
JP2010511963A (ja) 2010-04-15
WO2008073219A1 (en) 2008-06-19
CN101548271B (zh) 2012-12-05
TWI437427B (zh) 2014-05-11
TWI550400B (zh) 2016-09-21
CN102929751A (zh) 2013-02-13

Similar Documents

Publication Publication Date Title
TWI550400B (zh) 在多個儲存裝置中提供資料冗餘之系統、方法及電腦程式產品
US9804794B2 (en) Techniques for providing data redundancy after reducing memory writes
US8090980B2 (en) System, method, and computer program product for providing data redundancy in a plurality of storage devices
US8117376B2 (en) Storage system and control method thereof
US8020035B2 (en) Expander circuit for a solid state persistent storage device that provides a plurality of interfaces to corresponding storage controllers
US11157200B2 (en) Communicating over portions of a communication medium
US10229018B2 (en) System and method for data restore flexibility on dual channel NVDIMMs
US11157356B2 (en) System and method for supporting data protection across FPGA SSDs
US11341073B2 (en) Redundant paths to single port storage devices
US11977436B2 (en) Systems and methods for managing high-speed data links
US11487654B2 (en) Method for controlling write buffer based on states of sectors of write buffer and associated all flash array server
JP6930153B2 (ja) パス切替装置、パス切替方法及びパス切替プログラム、並びに、コンピュータシステム
US20240103847A1 (en) Systems and methods for multi-channel rebootless firmware updates
US20240103971A1 (en) Systems and methods for error recovery in rebootless firmware updates
JP2011076528A (ja) Raidカードの冗長化方法及びraidカードの冗長化装置
JP2023034625A (ja) 記憶装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees