TWI437427B - System, method, and computer program product for providing data redundancy in a plurality of storage devices - Google Patents
System, method, and computer program product for providing data redundancy in a plurality of storage devices Download PDFInfo
- Publication number
- TWI437427B TWI437427B TW96144309A TW96144309A TWI437427B TW I437427 B TWI437427 B TW I437427B TW 96144309 A TW96144309 A TW 96144309A TW 96144309 A TW96144309 A TW 96144309A TW I437427 B TWI437427 B TW I437427B
- Authority
- TW
- Taiwan
- Prior art keywords
- data redundancy
- storage
- raid
- disk
- redundancy architecture
- Prior art date
Links
Classifications
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2089—Redundant storage control functionality
- G06F11/2092—Techniques of failing over between control units
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2002—Error 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/2007—Error 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/201—Error 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
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2015—Redundant power supplies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Power Sources (AREA)
Description
本件發明與資料儲存裝置有關,更具體地說是與儲存裝置中之資料冗餘有關。 This invention relates to data storage devices, and more particularly to data redundancy in storage devices.
儲存系統是現代企業電腦運算系統效能中最受限制層面之一。硬碟式儲存之效能是由搜尋時間與半旋轉時間決定。可藉由減少搜尋時間與減少旋轉延遲以增加效能。但硬碟轉速仍有限制,目前硬碟最快轉速可達15,000rpm。 The storage system is one of the most restricted aspects of the performance of modern enterprise computer computing systems. The performance of hard disk storage is determined by the search time and the half rotation time. Performance can be increased by reducing seek time and reducing spin delay. However, the hard disk speed is still limited, and the current hard disk speed can reach 15,000 rpm.
圖1說明一種依據先前技術之系統100。在系統100中,至少一部電腦102-108與主機控制器110與112連接。主機控制器110及112與多顆磁碟114-120連接。 Figure 1 illustrates a system 100 in accordance with the prior art. In system 100, at least one computer 102-108 is coupled to host controllers 110 and 112. Host controllers 110 and 112 are coupled to a plurality of disks 114-120.
通常,系統100設定為獨立磁碟冗餘陣列(RAID)-1,將磁碟114-116之鏡射內容儲存在磁碟118-120中。也就是說磁碟114-116是由磁碟118-120加以鏡射。 Typically, system 100 is configured as a Redundant Array of Independent Disks (RAID)-1, which stores the mirrored content of disks 114-116 in disks 118-120. That is, the disks 114-116 are mirrored by the disks 118-120.
藉由複製磁碟114-116、主機控制器110及其之間連線可增加電腦系統可靠性。因此,一部可靠的電腦系統至少要在磁碟114-116、RAID控制器110與112、電腦102-108、及其間連線發生單點故障時仍可操作。但是,使用系統100之儲存系統效能仍可能不夠。此外,增加此種系統之效能目前仍所費不貲,而且經常是不可行的。 The reliability of the computer system can be increased by copying the disks 114-116, the host controller 110, and the connections therebetween. Therefore, a reliable computer system is still operable at least when a single point of failure occurs on disks 114-116, RAID controllers 110 and 112, computers 102-108, and their connections. However, the performance of the storage system using system 100 may still be insufficient. In addition, increasing the effectiveness of such systems is still costly and often not feasible.
因此便有需要解決這些及/或其他先前技術的問題。 There is therefore a need to address these and/or other prior art issues.
一種在多個儲存裝置中提供資料冗餘之系統、方法及電腦程式產品。在操作時,依據第一種資料冗餘架構接收儲存指令以提供資料冗餘。此外,依據第二種資料冗餘架構轉譯儲存指令以提供資料冗餘。另外,會輸出轉譯儲存指令而在多個儲存裝置中提供資料冗餘。 A system, method and computer program product for providing data redundancy in a plurality of storage devices. In operation, a store instruction is received in accordance with the first data redundancy architecture to provide data redundancy. In addition, the store instructions are translated in accordance with the second data redundancy architecture to provide data redundancy. In addition, translation storage instructions are output to provide data redundancy in multiple storage devices.
圖2A顯示依據一具體實施例,在多個儲存裝置中提供資料冗餘之系統280。如圖所示,系統280包括至少一部電腦285-288。電腦285-288會與至少一個控制器290-291通訊。如圖進一步顯示,控制器290-291會與一儲存系統292通訊,該系統包括多個磁碟控制器293-294與多個儲存裝置296-299。應注意的是,雖然控制器290-291是分別顯示,但在另一具體實施例中,該控制器290-291可以是單一元件。此外,在各種具體實施例中,多個磁碟控制器293-294亦可以是一個元件或獨立元件。 2A shows a system 280 that provides data redundancy in a plurality of storage devices in accordance with an embodiment. As shown, system 280 includes at least one computer 285-288. Computers 285-288 will communicate with at least one controller 290-291. As further shown, the controllers 290-291 are in communication with a storage system 292 that includes a plurality of disk controllers 293-294 and a plurality of storage devices 296-299. It should be noted that although controllers 290-291 are shown separately, in another embodiment, the controllers 290-291 may be a single component. Moreover, in various embodiments, the plurality of disk controllers 293-294 can also be one component or separate components.
在操作時,會依據第一種資料冗餘架構接收儲存指令以提供資料冗餘。此外,也會依據第二種資料冗餘架構轉譯儲存指令以提供資料冗餘。另外,會輸出轉譯儲存指令而在多個儲存裝置296-299中提供資料冗餘。 In operation, storage instructions are received in accordance with the first data redundancy architecture to provide data redundancy. In addition, the storage instructions are translated according to the second data redundancy architecture to provide data redundancy. In addition, translation storage instructions are output to provide data redundancy in a plurality of storage devices 296-299.
在本說明內文中,儲存指令是指任何用於儲存或幫助資料儲存的命令、指示或資料。此外,在本說明內文中,資料冗餘架構是指能在一系統中提供冗餘資料或容錯的任何架構類型。例如,在各種具體實施例中,資料冗餘架構 可包括,但不限於獨立磁碟冗餘陣列(RAID)0資料冗餘架構、RAID 1資料冗餘架構、RAID 10資料冗餘架構、RAID 3資料冗餘架構、RAID 4資料冗餘架構、RAID 5資料冗餘架構、RAID 50資料冗餘架構、RAID 6資料冗餘架構、RAID 60資料冗餘架構、正方同位檢查資料冗餘架構、任何非標準RAID資料冗餘架構、任何巢狀RAID資料冗餘架構,及/或任何其他符合上述定義之資料冗餘架構。 In the context of this description, a store order is any command, instruction or material used to store or assist in the storage of data. Moreover, in the context of this description, a data redundancy architecture refers to any type of architecture that provides redundant data or fault tolerance in a system. For example, in various embodiments, the data redundancy architecture This may include, but is not limited to, Redundant Array of Independent Disks (RAID) 0 Data Redundancy Architecture, RAID 1 Data Redundancy Architecture, RAID 10 Data Redundancy Architecture, RAID 3 Data Redundancy Architecture, RAID 4 Data Redundancy Architecture, RAID 5 data redundancy architecture, RAID 50 data redundancy architecture, RAID 6 data redundancy architecture, RAID 60 data redundancy architecture, square parity check data redundancy architecture, any non-standard RAID data redundancy architecture, any nested RAID data redundancy Remaining architecture, and / or any other data redundancy architecture that meets the above definitions.
在一具體實施例中,第一種資料冗餘架構可包括RAID 1資料冗餘架構。在另一具體實施例中,第二種資料冗餘架構可包括RAID 5資料冗餘架構。在另一具體實施例中,第二種資料冗餘架構可包括RAID 6資料冗餘架構。 In one embodiment, the first data redundancy architecture may include a RAID 1 data redundancy architecture. In another embodiment, the second data redundancy architecture can include a RAID 5 data redundancy architecture. In another embodiment, the second data redundancy architecture can include a RAID 6 data redundancy architecture.
此外,在本說明內文中,多個儲存裝置296-299可代表任何類型之儲存裝置。例如,在各種具體實施例中,儲存裝置296-299可包括但不限於,機械式儲存裝置(例如,磁碟機等)、固態儲存裝置(例如,動態隨機存取記憶體(DRAM)、快閃記憶體等),及/或任何其他儲存裝置。在儲存裝置296-299包括快閃記憶體之情況下,快閃記憶體可包括但不限於,單層單元(SLC)裝置、多層單元(MLC)裝置、NOR快閃記憶體、NAND快閃記憶體、MLC NAND快閃記憶體、SLC NAND快閃記憶體等。 Moreover, in the context of this description, multiple storage devices 296-299 may represent any type of storage device. For example, in various embodiments, storage devices 296-299 can include, but are not limited to, mechanical storage devices (eg, disk drives, etc.), solid state storage devices (eg, dynamic random access memory (DRAM), fast Flash memory, etc., and/or any other storage device. In the case where the storage devices 296-299 include flash memory, the flash memory may include, but is not limited to, a single layer unit (SLC) device, a multi-level cell (MLC) device, a NOR flash memory, a NAND flash memory. Body, MLC NAND flash memory, SLC NAND flash memory, etc.
現在將提出更多關於各種可選擇架構與功能之說明資料,使用者可依需要實施或不實施前述架構。應特別注意的是,以下資訊係出於說明目的所提出,不應以任何方式 解釋為限制。以下任何功能均可自行選擇是否與說明的其他功能一併運用。 More information on the various alternative architectures and functions will now be presented, and the user may or may not implement the aforementioned architecture as needed. It is important to note that the following information is presented for illustrative purposes and should not be used in any way. Interpreted as a limitation. Any of the following features can be selected to work with other features described.
圖2B依據一具體實施例,顯示在多個儲存裝置中提供資料冗餘之一儲存子系統250。作為一個選項,在圖2A有關細節中可檢視儲存子系統250。但是,當然,儲存子系統250可在任何需要的環境中實施。同時應注意的是,前述定義可適用於本說明。 2B shows a storage subsystem 250 that provides data redundancy among a plurality of storage devices, in accordance with an embodiment. As an option, the storage subsystem 250 can be viewed in the details of Figure 2A. However, of course, storage subsystem 250 can be implemented in any desired environment. It should also be noted that the foregoing definitions may apply to this description.
如圖所示,儲存子系統250包括多個主要儲存裝置231-232,以及至少一個額外儲存裝置233-234,用於增加儲存容量以包含冗餘資訊。儲存子系統250之資料儲存量可視為多個主要儲存裝置231-232之儲存容量總和。作為一個選項,可透過額外儲存裝置233-234擴充儲存容量。當然,在一具體實施例中,可單獨使用額外儲存裝置233-234以儲存從被儲存資料計算出之冗餘資訊。 As shown, the storage subsystem 250 includes a plurality of primary storage devices 231-232, and at least one additional storage device 233-234 for increasing storage capacity to contain redundant information. The data storage of the storage subsystem 250 can be considered as the sum of the storage capacities of the plurality of primary storage devices 231-232. As an option, the storage capacity can be expanded by additional storage devices 233-234. Of course, in one embodiment, the additional storage devices 233-234 can be used separately to store redundant information calculated from the stored data.
如圖進一步顯示,第一個磁碟控制器210包括至少一連接埠201。在操作中,至少一連接埠201可作為儲存子系統250之第一個連接埠。此外,至少一連接埠201可作為第一個磁碟控制器210對磁碟控制器匯流排203、電源供應器連線275,以及將第一個磁碟控制器210連接至儲存裝置231-234之對應匯流排241-244之內部連線211-214的連接埠。 As further shown, the first disk controller 210 includes at least one port 201. In operation, at least one port 201 can serve as the first port of the storage subsystem 250. In addition, at least one port 201 can serve as the first disk controller 210 to the disk controller bus 203, the power supply line 275, and the first disk controller 210 to the storage device 231-234. Corresponding to the connection of the internal wires 211-214 of the bus bars 241-244.
匯流排203將第一個磁碟控制器210與第二個磁碟控制器220連接。在操作時,可使用匯流排203監控第一個磁碟控制器210與第二個磁碟控制器220的操作。當第二 個磁碟控制器220偵測到第一個磁碟控制器210故障時,磁碟控制器220可透過磁碟控制器匯流排203,發出中斷請求給第一磁碟控制器210,將內部連線211-214從相對應的匯流排241-244中斷。 The bus bar 203 connects the first disk controller 210 with the second disk controller 220. In operation, bus bar 203 can be used to monitor the operation of the first disk controller 210 and the second disk controller 220. When the second When the disk controller 220 detects that the first disk controller 210 is faulty, the disk controller 220 can transmit an interrupt request to the first disk controller 210 through the disk controller bus 203, and interconnects the internal disk controller 210. Lines 211-214 are interrupted from corresponding busbars 241-244.
將第一個磁碟控制器210與第二個磁碟控制器220連接之匯流排203,可使用第一個磁碟控制器210監控第二個磁碟控制器220的操作。當第一個磁碟控制器210偵測到第二個磁碟控制器220故障時,第一個磁碟控制器210可透過磁碟控制器匯流排203,發出中斷請求給第二個磁碟控制器220,將內部連線221-224與相對應的匯流排241-244中斷。 The busbar 203 connecting the first disk controller 210 and the second disk controller 220 can monitor the operation of the second disk controller 220 using the first disk controller 210. When the first disk controller 210 detects that the second disk controller 220 is faulty, the first disk controller 210 can transmit an interrupt request to the second disk through the disk controller bus 203. The controller 220 interrupts the internal wires 221-224 and the corresponding bus bars 241-244.
在一具體實施例中,第一個磁碟控制器210可偵測內部不正確操作,或是與第一個磁碟控制器210有關的不正確操作。在此情況下,第一個磁碟控制器210可在偵測到內部不正確操作時,將連線211-214從相對應的匯流排241-244中斷。同樣地,第二個磁碟控制器220可偵測到內部不正確操作,或是與第二個磁碟控制器220有關的不正確操作。在此情況下,第二個磁碟控制器220可在偵測內部不正確操作時,將連線221-224與相對應的匯流排241-244中斷。 In one embodiment, the first disk controller 210 can detect internal incorrect operation or incorrect operation associated with the first disk controller 210. In this case, the first disk controller 210 can interrupt the wires 211-214 from the corresponding bus bars 241-244 when an internal incorrect operation is detected. Likewise, the second disk controller 220 can detect internal incorrect operation or incorrect operation associated with the second disk controller 220. In this case, the second disk controller 220 can interrupt the wires 221-224 and the corresponding bus bars 241-244 when detecting internal incorrect operation.
此外,在一具體實施例中,第一個及第二個磁碟控制器210與220可偵測磁碟控制器匯流排203的故障。在此情況下,第二個磁碟控制器220可將連線221-224從相對應的匯流排241-244中斷,而第一個磁碟控制器210仍可 維持運作。在另一具體實施例中,第一個磁碟控制器210可將連線211-214從相對應的匯流排241-244中斷,而第二個磁碟控制器220仍維持運作。在另一具體實施例中,維持運作的磁碟控制器可將非運作中的控制器之連線中斷。 Moreover, in one embodiment, the first and second disk controllers 210 and 220 can detect a failure of the disk controller bus 203. In this case, the second disk controller 220 can interrupt the wires 221-224 from the corresponding bus bars 241-244, and the first disk controller 210 can still Maintain operations. In another embodiment, the first disk controller 210 can interrupt the wires 211-214 from the corresponding bus bars 241-244 while the second disk controller 220 remains operational. In another embodiment, the operating disk controller can interrupt the connection of the controller that is not in operation.
值得注意的是,中斷匯流排211-214與221-224,可透過三態電路、多工器、或任何其他中斷匯流排211-214與221-224電路來實施。例如,在一具體實施例中,可藉由將與磁碟控制器210或220有關之三態匯流排驅動程式置入高阻抗狀態以達成中斷。在另一具體實施例中,可藉由控制儲存裝置231-234輸入端的多工器以達成中斷。 It should be noted that the interrupt bus bars 211-214 and 221-224 can be implemented by a tristate circuit, a multiplexer, or any other interrupt bus bars 211-214 and 221-224 circuits. For example, in one embodiment, the interrupt can be achieved by placing a three-state bus driver associated with disk controller 210 or 220 into a high impedance state. In another embodiment, the interrupt can be achieved by controlling the multiplexer at the input of storage devices 231-234.
如圖進一步顯示,第二個磁碟控制器220包括至少一個連接埠202。在操作時,至少一個連接埠202可做為儲存子系統250之第二個連接埠。此外,至少一個連接埠202可作為第二個磁碟控制器220連接至磁碟控制器匯流排203、電源供應器連線276之連接埠,以及將第二個磁碟控制器220連接至儲存裝置231-234之對應匯流排241-244之內部連線221-224的連接埠。 As further shown, the second disk controller 220 includes at least one port 202. In operation, at least one port 202 can be used as the second port of the storage subsystem 250. In addition, at least one port 202 can be connected as a second disk controller 220 to the disk controller bus 203, the power supply cable 276, and the second disk controller 220 to the storage port. The connections of the internal connections 221-224 of the corresponding busbars 241-244 of the devices 231-234.
在提供單冗餘儲存裝置233,在沒有額外冗餘儲存裝置234情況下,儲存子系統250可在儲存裝置231-233出現任何單點故障時,在不遺失資料情況下操作。在一具體實施例中,資料與冗餘資訊之結構可依據RAID 5。在另一具體實施例中,資料與冗餘資訊結構可依據RAID 6、RAID 10、RAID 50、RAID 60、正方同位檢查冗餘架構等。 In providing a single redundant storage device 233, without additional redundant storage devices 234, the storage subsystem 250 can operate without loss of data in the event of any single point of failure of the storage devices 231-233. In one embodiment, the structure of the data and redundant information can be based on RAID 5. In another embodiment, the data and redundant information structures may be based on RAID 6, RAID 10, RAID 50, RAID 60, square parity check redundancy architecture, and the like.
在提供二冗餘儲存裝置233與234情況下,儲存子系統可在任何二個儲存裝置231-234發生故障時,在不遺失資料的情況下操作。在操作時,連接埠201與202可將儲存在儲存子系統250中資料以二個傳統獨立鏡射磁碟呈現。在此情況下,該傳統獨立鏡射磁碟可為RAID 1、RAID 10、RAID 50、RAID 60、正方同位檢查冗餘架構等。 In the case where two redundant storage devices 233 and 234 are provided, the storage subsystem can operate without loss of data when any two storage devices 231-234 fail. In operation, ports 201 and 202 can present data stored in storage subsystem 250 in two conventional, separate mirrored disks. In this case, the conventional independent mirror disk can be RAID 1, RAID 10, RAID 50, RAID 60, square parity check redundancy architecture, and the like.
儲存子系統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。 The power of the storage subsystem 250 can be provided through an electrical connection 252 that is coupled to the power supply component 253 by a first power connector 251. The power of the storage subsystem 250 can also be provided through a connection 262 that is connected by a second power supply connector 261 to a second power supply component 263. As an option, the first power supply 253 output and the second power supply 263 output can be coupled to the disk controllers 210 and 220 and the storage devices 231-234 via the power distribution network 270. The storage devices 231-234 are coupled to the power distribution network 270 via corresponding connections 271-274. Disk controllers 210 and 220 are coupled to power distribution network 270 via power supply connections 275 and 276.
在電源接頭251發生電力故障情況下,可透過電源接頭261對儲存子系統250提供電力。同樣地,在接至電源接頭261之電力發生故障情況下,可透過電源接頭251對儲存子系統250提供電力。在連線252故障情況下,可透過連線262對儲存子系統250提供電力。在連線262故障情況下,可透過連線252對儲存子系統250提供電力。 In the event of a power failure in the power connector 251, the storage subsystem 250 can be powered via the power connector 261. Similarly, the storage subsystem 250 can be powered through the power connector 251 in the event of a power failure to the power connector 261. In the event of a connection 252 failure, the storage subsystem 250 can be powered via connection 262. In the event of a connection 262 failure, the storage subsystem 250 can be powered via connection 252.
在電源供應器253故障情況下,可藉由電源供應器263對儲存子系統250提供電力。若電源供應器263故障,可 藉由電源供應器253對儲存子系統250提供電力。同樣地,當連線254故障時,可透過連線264對儲存子系統250提供電力。同樣地,當連線264故障時,可透過連線254對儲存子系統250提供電力。因此,儲存子系統250可容許各種元件故障,而不致於使儲存子系統250無法操作。 In the event of a power supply 253 failure, the storage subsystem 250 can be powered by the power supply 263. If the power supply 263 is faulty, The storage subsystem 250 is powered by a power supply 253. Similarly, storage subsystem 250 can be powered via connection 264 when connection 254 fails. Similarly, storage subsystem 250 can be powered via connection 254 when connection 264 fails. Thus, storage subsystem 250 can tolerate various component failures without rendering storage subsystem 250 inoperable.
在一具體實施例中,磁碟控制器210及/或220可內含電路以偵測到電源供應器253與263之電力是否中斷。此外,該電路可提供電源以便將磁碟控制器210與220之狀態儲存至儲存裝置231-234中,以避免資料遺失。例如,可偵測到電源供應器253及/或263之中斷。 In one embodiment, the disk controllers 210 and/or 220 may include circuitry to detect if power to the power supplies 253 and 263 is interrupted. In addition, the circuit can provide power to store the state of disk controllers 210 and 220 into storage devices 231-234 to avoid data loss. For example, an interruption of the power supply 253 and/or 263 can be detected.
在此情況下,電力可供應至儲存裝置231-234,以回應偵測到電源供應器253與263之中斷。電源供應器253與263可在二個電源供應器253與263之電力被中斷後,仍對儲存子系統250提供足夠時間的電力,完成將磁碟控制器210與220之狀態寫入儲存裝置231-234中。因此,電力可提供至儲存裝置231-234,直到不會因為電源供應器253與263的電力中斷而發生資料遺失之時點。在各種具體實施例中,電源供應器253與263可包括一電池、一電容器,及/或任何其他可在電源供應器253與263電力中斷時,對儲存子系統250提供電力的元件。 In this case, power can be supplied to the storage devices 231-234 in response to detecting the interruption of the power supplies 253 and 263. The power supplies 253 and 263 can still supply the storage subsystem 250 with sufficient time after the power of the two power supplies 253 and 263 is interrupted, and complete the writing of the states of the disk controllers 210 and 220 to the storage device 231. -234. Therefore, power can be supplied to the storage devices 231-234 until the time when the data is not lost due to the power interruption of the power supplies 253 and 263. In various embodiments, power supplies 253 and 263 can include a battery, a capacitor, and/or any other component that can provide power to storage subsystem 250 when power supplies 253 and 263 are interrupted.
應注意的是,儲存子裝置250在發生圖2B中所示任何元件的單點故障時,均可繼續操作而不會發生資料遺失。應注意在各種具體實施例中,儲存裝置231-234可以是機械式儲存裝置、非機械式儲存裝置、揮發性或非揮發性儲 存裝置。此外,在各種具體實施例中,儲存裝置231-234可包括但不限於動態隨機存取記憶體或快閃記憶體儲存裝置(例如SLC裝置、MLC裝置、NOR閘道快閃記憶體裝置、NAND閘道快閃記憶體儲存裝置等)。 It should be noted that the storage sub-device 250 can continue to operate without a data loss when a single point of failure of any of the components shown in Figure 2B occurs. It should be noted that in various embodiments, storage devices 231-234 may be mechanical storage devices, non-mechanical storage devices, volatile or non-volatile storage. Storage device. Moreover, in various embodiments, the storage devices 231-234 can include, but are not limited to, a dynamic random access memory or a flash memory storage device (eg, an SLC device, an MLC device, a NOR gateway flash memory device, NAND) Gateway flash memory storage device, etc.).
此外,在一具體實施例中,磁碟控制器210與220可實作為二個獨立晶片。在另一具體實施例中,磁碟控制器210與220可實施在一個晶片或晶粒上。例如,此種實施例可依封裝考量加以決定。 Moreover, in one embodiment, disk controllers 210 and 220 can be implemented as two separate wafers. In another embodiment, disk controllers 210 and 220 can be implemented on a single wafer or die. For example, such an embodiment can be determined by package considerations.
圖3依據一具體實施例顯示一磁碟組件300。作為一個選項,磁碟組件300可在圖1-2之功能及架構下實施。但是,當然,磁碟組件300亦可在任何需要的環境中實施。亦應注意的是,前述定義可適用於本說明中。 FIG. 3 shows a disk assembly 300 in accordance with an embodiment. As an option, the disk assembly 300 can be implemented in the functions and architecture of Figures 1-2. However, of course, the disk assembly 300 can also be implemented in any desired environment. It should also be noted that the foregoing definitions may apply to this description.
如圖所示,磁碟組件300包括一個印刷電路板302,包括磁碟機(未顯示)、一個含主連接埠可作為SATA(序列進階技術附加)接頭304一部份之電源接頭,以及一個含有第二連接埠作為第二個SATA接頭306一部份之電源接頭。在一具體實施例中,磁碟組件300可包括SAS(序列附加SCSI)接頭。例如,磁碟組件300可包括一個印刷電路板302,包括磁碟機(未顯示)、含有主連接埠作為SAS接頭304一部份之電源接頭,以及一個含有第二連接埠作為第二個SAS接頭306一部份之電源接頭。 As shown, the disk assembly 300 includes a printed circuit board 302 including a disk drive (not shown), a power connector including a main port that can be used as part of a SATA (Sequence Advanced Technology Add-on) connector 304, and A power connector having a second port as part of the second SATA connector 306. In a specific embodiment, disk assembly 300 can include a SAS (Sequence Attached SCSI) connector. For example, disk assembly 300 can include a printed circuit board 302 including a disk drive (not shown), a power connector having a primary port as part of SAS connector 304, and a second port as a second SAS. A power connector for a portion of connector 306.
作為一個選項,接頭304與306可將磁碟組件300作為特定資料冗餘組態。例如,一SATA介面可將磁碟組件300作為RAID 1模式中所設定的一對磁碟。在另一具體實 施例中,SAS介面可將磁碟組件300作為RAID 1模式中所設定的一對磁碟。在另一具體實施例中,SATA與SAS介面可將磁碟組件300作為RAID 0模式中所設定的多個磁碟。 As an option, connectors 304 and 306 can redundantly configure disk assembly 300 as a particular material. For example, a SATA interface can use the disk assembly 300 as a pair of disks set in the RAID 1 mode. In another concrete In the embodiment, the SAS interface can use the disk assembly 300 as a pair of disks set in the RAID 1 mode. In another embodiment, the SATA and SAS interfaces can use the disk assembly 300 as a plurality of disks set in the RAID 0 mode.
圖4顯示依據另一具體實施例之磁碟組件400。作為一個選項,磁碟組件400可實施在圖1-3之功能及架構的環境中。但是,當然,磁碟組件400亦可在任何需要的環境中實施。亦應注意的是,前述定義亦可適用於本說明中。 FIG. 4 shows a disk assembly 400 in accordance with another embodiment. As an option, the disk assembly 400 can be implemented in the context of the functions and architecture of Figures 1-3. However, of course, the disk assembly 400 can also be implemented in any desired environment. It should also be noted that the foregoing definitions may also apply to this description.
如圖所示,磁碟組件400包括一或多個磁碟組件410與420。作為一個選項,磁碟組件410與420可包括圖3之磁碟組件300,在此情況下,每一磁碟組件410與420可包括一個印刷電路板及接頭430。 As shown, disk assembly 400 includes one or more disk assemblies 410 and 420. As an option, disk assemblies 410 and 420 can include disk assembly 300 of FIG. 3, in which case each disk assembly 410 and 420 can include a printed circuit board and connector 430.
另一個選項,每一磁碟組件410與420可以透過一電子連線401互連。在此情況下,電子連線401可提供磁碟控制器匯流排,例如,圖2B之磁碟控制器匯流排203。在操作時,磁碟組件可藉由允許超過一個以上的磁碟(例如,磁碟組件410與420)佔用傳統或主要儲存裝置(例如,一磁碟機)之空間,以增加系統儲存效能。 Alternatively, each of the disk assemblies 410 and 420 can be interconnected by an electrical connection 401. In this case, the electronic connection 401 can provide a disk controller bus, for example, the disk controller bus 203 of FIG. 2B. In operation, the disk assembly can increase system storage performance by allowing more than one disk (e.g., disk assemblies 410 and 420) to occupy space in a conventional or primary storage device (e.g., a disk drive).
圖5顯示,依據一具體實施例,一種操作冗餘磁碟控制器之方法500。作為一個選項,方法500可在圖1-4之功能及架構中實施。但是,當然,方法500亦可在任何需要的環境中實施。亦應注意的是,前述定義亦可適用於本說明中。 FIG. 5 shows a method 500 of operating a redundant disk controller in accordance with an embodiment. As an option, method 500 can be implemented in the functions and architecture of Figures 1-4. However, of course, method 500 can also be implemented in any desired environment. It should also be noted that the foregoing definitions may also apply to this description.
如圖所示,一儲存系統(例如,一磁碟組件等)啟動,請參操作510。一儲存系統之磁碟控制器被監控,請參操作520。作為一個選項,可藉另一磁碟控制器監控該磁碟控制器。該監控可包括透過二個磁碟控制器間之匯流排(例如,圖2B之磁碟控制器匯流排203等)監控磁碟控制器,及/或監控在與儲存系統之儲存裝置相對應匯流排上之活動(例如,相對應的儲存裝置231-234之匯流排241-244等)。 As shown, a storage system (eg, a disk assembly, etc.) is activated, see operation 510. The disk controller of a storage system is monitored, see operation 520. As an option, the disk controller can be monitored by another disk controller. The monitoring may include monitoring the disk controller through a bus bar between the two disk controllers (eg, the disk controller bus bar 203 of FIG. 2B, etc.), and/or monitoring the sink corresponding to the storage device of the storage system. Activities (eg, busbars 241-244 of the corresponding storage devices 231-234, etc.).
儲存系統持續操作、監控磁碟控制器,直到判定所監控磁碟控制器故障為止,請參操作530。如果所監控磁碟控制器故障,會將所監控磁碟控制器中斷,請參操作540。 The storage system continues to operate and monitor the disk controller until it is determined that the monitored disk controller is faulty, see operation 530. If the monitored disk controller fails, the monitored disk controller will be interrupted, see operation 540.
在一具體實施例中,可藉由透過二個磁碟控制器(例如圖2B的磁碟控制器匯流排203等)間之匯流排發出中斷指令,以實施磁碟控制器之中斷。在此情況下,中斷指令可包括中斷所連結監控磁碟控制器至儲存裝置(例如圖2B的連線211-214或221-224等)之匯流排。在一具體實施例中,可藉其他磁碟控制器監控多個磁碟控制器。在此情況下,在多個磁碟控制器中之每一磁碟控制器可視為一所監控磁碟控制器。 In one embodiment, the interrupt of the disk controller can be implemented by issuing an interrupt command through a bus bar between two disk controllers (e.g., disk controller bus 203 of FIG. 2B). In this case, the interrupt instruction may include interrupting the busbar of the connected monitoring disk controller to the storage device (e.g., the wires 211-214 or 221-224 of FIG. 2B, etc.). In one embodiment, multiple disk controllers can be monitored by other disk controllers. In this case, each of the plurality of disk controllers can be considered a monitored disk controller.
圖6顯示依據另一具體實施例之一種操作冗餘磁碟控制器方法600。作為一個選項,方法600可在圖1-5之功能及架構中實施。但是,當然,該方法600亦可在任何需要的環境中實施。亦應注意的是,前述定義亦可適用於本說明中。 FIG. 6 shows a method 600 of operating a redundant disk controller in accordance with another embodiment. As an option, method 600 can be implemented in the functions and architecture of Figures 1-5. However, of course, the method 600 can also be implemented in any desired environment. It should also be noted that the foregoing definitions may also apply to this description.
如圖所示,一儲存系統(例如,一磁碟組件等)啟動,請參操作610。儲存系統中至少二個磁碟控制器間之連結被監控,請參操作620。在一具體實施例中,磁碟控制器間之連結可包括圖2B之磁碟控制器匯流排203。此外,磁碟控制器間之連結可由至少一個磁碟控制器監控(例如,圖2B之第一個與第二個磁碟控制器210與220等)。 As shown, a storage system (eg, a disk assembly, etc.) is activated, see operation 610. The connection between at least two disk controllers in the storage system is monitored, see operation 620. In one embodiment, the connection between the disk controllers can include the disk controller bus 203 of FIG. 2B. Additionally, the connections between the disk controllers can be monitored by at least one disk controller (eg, the first and second disk controllers 210 and 220 of FIG. 2B, etc.).
儲存系統持續操作、監控連結,直到判定連結故障為止,請參操作630。如果連結故障,就會中斷一個磁碟控制器,請參操作640。 The storage system continues to operate and monitor the connection until it is determined that the connection is faulty, please refer to operation 630. If the link fails, a disk controller is interrupted, see operation 640.
在一具體實施例中,中斷可包括中斷磁碟控制器對儲存裝置(例如圖2B的連線211-214或221-224等)間之匯流排連結。在此情況下,與中斷的控制器有關之連接埠所接收之指令不會被處理。例如,二個磁碟控制器中之第二個控制器可在第一個與第二個磁碟控制器間之連結發生故障時中斷。在此情況下,第一個控制器可以繼續操作,而來自第二磁碟控制器連接埠之指令就不會被處理。 In one embodiment, the interrupting may include interrupting the bus controller connection to the storage device (eg, wires 211-214 or 221-224 of FIG. 2B, etc.). In this case, the instructions received by the connection associated with the interrupted controller will not be processed. For example, a second of the two disk controllers can be interrupted when the connection between the first and second disk controllers fails. In this case, the first controller can continue to operate, and the instructions from the second disk controller interface will not be processed.
圖7顯示依據另一具體實施例之一種操作冗餘磁碟控制器之系統700。作為一個選項,該系統700可在圖1-6之功能及架構中實施。但是,當然,該系統700亦可在任何需要的環境中實施。亦應注意的是,前述定義亦可適用於本說明中。 FIG. 7 shows a system 700 for operating a redundant disk controller in accordance with another embodiment. As an option, the system 700 can be implemented in the functions and architecture of Figures 1-6. However, of course, the system 700 can also be implemented in any desired environment. It should also be noted that the foregoing definitions may also apply to this description.
如圖所示,提供至少一部電腦702-706。電腦702-706與多個RAID控制器712-714連接,控制器712-714會與 多個儲存裝置716-722通訊,該通訊可以包括運用與儲存裝置716-722有關之連接埠。 As shown, at least one computer 702-706 is provided. Computers 702-706 are coupled to a plurality of RAID controllers 712-714, and controllers 712-714 are associated with A plurality of storage devices 716-722 communicate, which may include the use of ports associated with storage devices 716-722.
可藉由使用具有內部磁碟冗餘(例如,圖2B之儲存系統250)之儲存裝置716-722,達成系統700的可靠性。此外,可複製所有連線(例如,匯流排等)以確保系統700之可靠性。作為一個選項,儲存裝置716-722的每一個均可包括二個連接埠,相較於使用單一連接埠的儲存裝置,能提供二倍頻寬。此外,每個儲存裝置716-722可藉由運用一冗餘系統,例如,RAID 5、RAID 6、RAID 10、RAID 50、RAID 60、正方同位檢查冗餘架構等,以模擬二個磁碟。 The reliability of system 700 can be achieved by using storage devices 716-722 having internal disk redundancy (e.g., storage system 250 of Figure 2B). In addition, all connections (eg, bus bars, etc.) can be replicated to ensure system 700 reliability. As an option, each of the storage devices 716-722 can include two ports that provide twice the bandwidth compared to a storage device that uses a single port. In addition, each storage device 716-722 can emulate two disks by utilizing a redundant system, such as RAID 5, RAID 6, RAID 10, RAID 50, RAID 60, square parity check redundancy architecture, and the like.
作為一個選項,可運用寫入減少邏輯708-710以減少寫入至儲存裝置716-722的次數。在此情況下,用以提供資料冗餘之轉譯儲存指令可在減少後執行。例如,可依據控制器712-714之第一種資料冗餘架構(例如,RAID 5、RAID 6、RAID 10、RAID 50、RAID 60、正方同位檢查冗餘架構等)接收儲存指令以提供資料冗餘。 As an option, write reduction logic 708-710 can be utilized to reduce the number of writes to storage devices 716-722. In this case, the translation save instruction to provide data redundancy can be executed after the reduction. For example, storage instructions may be received in accordance with the first data redundancy architecture of controllers 712-714 (eg, RAID 5, RAID 6, RAID 10, RAID 50, RAID 60, square parity check redundancy architecture, etc.) to provide data redundancy. I.
然後運用寫入減少邏輯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、正方同位檢查冗餘架構等)。 The write reduction logic 708-710 is then utilized to reduce the number of writes to the storage devices 716-722, and then the storage instructions are translated (eg, by a circuit) in accordance with a second data redundancy architecture associated with the storage devices 716-722, To provide data redundancy. In one embodiment, the second data redundancy architecture can be the same as the first data redundancy architecture (eg, RAID 5, RAID 6, RAID 10, RAID 50, RAID 60, square parity check redundancy architecture, etc.) . In another embodiment, the second data redundancy architecture can be redundant with the first data. Different architectures (for example, RAID 1, RAID 6, RAID 10, RAID 50, RAID 60, square parity check redundancy architecture, etc.).
在一具體實施例中,可依據第一種資料冗餘架構變成與第二種資料冗餘架構相容格式,運用寫入減少邏輯708-710格式化所接收的儲存指令以提供資料冗餘。作為一個選項,RAID控制器712-714可包括一個具有如儲存裝置716-722所述之內部驅動冗餘,以該方法,可以減少寫入儲存裝置716-722之次數。因此,在減少寫入次數後,依據與儲存裝置716-722有關之第二種資料冗餘架構,轉譯儲存指令以提供資料冗餘。以此方法,即可避免資料不規則分佈。 In one embodiment, the received data storage instructions may be formatted using write reduction logic 708-710 to provide data redundancy in accordance with the first data redundancy architecture and into a second data redundancy architecture compatible format. As an option, RAID controllers 712-714 can include an internal drive redundancy as described by storage devices 716-722, in such a manner that the number of writes to storage devices 716-722 can be reduced. Thus, after reducing the number of writes, the store instructions are translated to provide data redundancy in accordance with a second data redundancy architecture associated with storage devices 716-722. In this way, irregular distribution of data can be avoided.
圖8說明一種示範系統800,其中可實施各種先前具體實施例之各種架構及/或功能。如圖所示,系統800包括至少一個與通訊匯流排802相連接之主機處理器801。系統800亦包括一個主記憶體804。控制邏輯(軟體)與資料可採用以隨機存取記憶體(RAM)形式儲存在主記憶體804中。 FIG. 8 illustrates an exemplary system 800 in which various architectures and/or functions of various prior embodiments may be implemented. As shown, system 800 includes at least one host processor 801 coupled to a communication bus 802. System 800 also includes a main memory 804. The control logic (software) and data can be stored in the main memory 804 in the form of random access memory (RAM).
系統800也包括一個繪圖處理器806及一個顯示器808,即電腦螢幕。在一具體實施例中,繪圖處理器806可包括多個遮影器模組、光柵化模組等。前述每一種模組甚至可安裝在單一半導體平台上,以形成繪圖處理器(GPU)。 System 800 also includes a graphics processor 806 and a display 808, a computer screen. In a specific embodiment, the graphics processor 806 can include multiple shader modules, rasterization modules, and the like. Each of the aforementioned modules can even be mounted on a single semiconductor platform to form a graphics processing unit (GPU).
在本說明中,單一半導體平台可為單一半導體基底的積體電路或晶片。應注意的是,單一半導體平台亦可以指具有以模擬單晶片操作增加連結能力,並透過運用傳統中央處理器(CPU)及匯流排實施以達成實質改良之多晶片 模組。當然,亦可個別放置各種模組,或依使用者需要組合多種不同半導體平台。 In the present description, a single semiconductor platform can be an integrated circuit or wafer of a single semiconductor substrate. It should be noted that a single semiconductor platform may also refer to a multi-chip that has the ability to increase connectivity by analog single-chip operation and achieve substantial improvements through the use of conventional central processing units (CPUs) and busbars. Module. Of course, various modules can be placed individually, or a plurality of different semiconductor platforms can be combined according to user needs.
系統800也可以包括一個次要儲存裝置810。該次要儲存裝置810包括,例如,一個硬碟機及/或抽取式儲存磁碟,即軟碟機、磁帶機、光碟機等。抽取式磁碟機能以熟知方法讀取或寫入一抽取式儲存元件。 System 800 can also include a secondary storage device 810. The secondary storage device 810 includes, for example, a hard disk drive and/or a removable storage disk, that is, a floppy disk drive, a tape drive, an optical disk drive, and the like. The removable disk drive can read or write a removable storage element in a well known manner.
電腦程式或電腦控制邏輯演算法可儲存在主記憶體804及/或次要儲存裝置810中。當執行該電腦程式時,能使系統800執行各種功能。記憶體804、儲存裝置810及/或其他儲存裝置都可做為電腦讀取式媒體之實施例。 The computer program or computer control logic algorithm can be stored in the main memory 804 and/or the secondary storage device 810. When the computer program is executed, the system 800 can be caused to perform various functions. Memory 804, storage device 810, and/or other storage devices can be implemented as embodiments of computer-readable media.
在一具體實施例中,各種先前圖式之架構及/或功能均可實施在主機處理器801、繪圖處理器806、次要儲存裝置810、一個至少兼具主機處理器801與繪圖處理器806部份功能之積體電路(未顯示)、一晶片組(即被設計成以元件運作及銷售,以執行有關功能之積體電路組群等),及/或任何其他積體電路中。 In a specific embodiment, the architecture and/or functions of the various previous figures may be implemented in a host processor 801, a graphics processor 806, a secondary storage device 810, and at least a host processor 801 and a graphics processor 806. Part of the functional integrated circuit (not shown), a chipset (ie, designed to operate and sell components to perform functional groupings, etc.), and/or any other integrated circuit.
此外,先前各種圖式之架構及/或功能亦可在一般電腦系統、電路板系統、娛樂專用的遊戲控制台系統、特定應用程式系統,及/或任何其他需要系統中實施。例如,系統800可採用桌上型電腦、膝上型電腦,及/或其他類型邏輯之形式。此外,系統800可採用各種不同其他裝置形式,包括但不限於,個人數位助理(PDA)裝置、行動電話裝置、電視等。 In addition, the architecture and/or functionality of the various various figures may be implemented in a general computer system, a circuit board system, a game console system for entertainment, a particular application system, and/or any other desired system. For example, system 800 can take the form of a desktop computer, a laptop, and/or other types of logic. Moreover, system 800 can take a variety of other forms of devices including, but not limited to, personal digital assistant (PDA) devices, mobile telephone devices, televisions, and the like.
另外,雖未顯示,系統800基於通訊目的,亦可連接網路[例如,電信網路、區域網路(LAN)、無線網路、廣域網路(WAN),例如網際網路、點對點網路、纜線網路等]。 Additionally, although not shown, system 800 can also be connected to a network for communication purposes [eg, telecommunications networks, regional networks (LANs), wireless networks, wide area networks (WANs), such as the Internet, peer-to-peer networks, Cable network, etc.].
雖然各種具體實施例已如上所述,應瞭解它們僅是以示範方式呈現,而非限制。因此,較佳具體實施例的廣度及範圍不應受到上述示範性具體實施例限制,應僅依以下申請專利範圍及其附屬項予以定義。 While the specific embodiments have been described above, it is to be understood that Therefore, the breadth and scope of the preferred embodiments are not to be construed as limited
100‧‧‧依據先前技術之系統 100‧‧‧System based on prior art
102‧‧‧電腦 102‧‧‧ computer
104‧‧‧電腦 104‧‧‧ computer
106‧‧‧電腦 106‧‧‧ computer
108‧‧‧電腦 108‧‧‧ computer
110‧‧‧主機控制器 110‧‧‧Host Controller
112‧‧‧主機控制器 112‧‧‧Host controller
114‧‧‧磁碟 114‧‧‧Disk
116‧‧‧磁碟 116‧‧‧Disk
118‧‧‧磁碟 118‧‧‧Disk
120‧‧‧磁碟 120‧‧‧Disk
201‧‧‧連接埠 201‧‧‧Links
202‧‧‧連接埠 202‧‧‧Links
203‧‧‧磁碟控制器匯流排 203‧‧‧Disk controller bus
210‧‧‧第一個磁碟控制器 210‧‧‧First disk controller
211‧‧‧內部連線 211‧‧‧Internal connection
212‧‧‧內部連線 212‧‧‧Internal connection
213‧‧‧內部連線 213‧‧‧Internal connection
214‧‧‧內部連線 214‧‧‧Internal connection
220‧‧‧第二個磁碟控制器 220‧‧‧Second disk controller
221‧‧‧內部連線 221‧‧‧Internal connection
222‧‧‧內部連線 222‧‧‧Internal connection
223‧‧‧內部連線 223‧‧‧Internal connection
224‧‧‧內部連線 224‧‧‧Internal connection
231‧‧‧儲存裝置 231‧‧‧Storage device
232‧‧‧儲存裝置 232‧‧‧Storage device
233‧‧‧儲存裝置;冗餘儲存裝置 233‧‧‧Storage devices; redundant storage devices
234‧‧‧儲存裝置;冗餘儲存裝置 234‧‧‧Storage device; redundant storage device
241‧‧‧匯流排 241‧‧‧ busbar
242‧‧‧匯流排 242‧‧‧ busbar
243‧‧‧匯流排 243‧‧ ‧ busbar
244‧‧‧匯流排 244‧‧ ‧ busbar
250‧‧‧儲存子系統 250‧‧‧Storage subsystem
251‧‧‧電源接頭 251‧‧‧Power connector
252‧‧‧電子連線 252‧‧‧Electronic connection
253‧‧‧電源供應器元件;電源供應器 253‧‧‧Power supply components; power supply
254‧‧‧連線 254‧‧‧Connected
261‧‧‧第二個電源接頭 261‧‧‧Second power connector
262‧‧‧連線 262‧‧‧Connected
263‧‧‧電源供應器元件;電源供應器 263‧‧‧Power supply components; power supply
264‧‧‧連線 264‧‧‧Connected
270‧‧‧電力分配網路 270‧‧‧Power Distribution Network
271‧‧‧連線 271‧‧‧Connected
272‧‧‧連線 272‧‧‧Connected
273‧‧‧連線 273‧‧‧Connected
274‧‧‧連線 274‧‧‧Connected
275‧‧‧電源供應器連線 275‧‧‧Power supply connection
276‧‧‧電源供應器連線 276‧‧‧Power supply connection
280‧‧‧在多個儲存裝置中提供資料冗餘系統 280‧‧‧ Provide data redundancy system in multiple storage devices
285‧‧‧電腦 285‧‧‧ computer
286‧‧‧電腦 286‧‧‧ computer
287‧‧‧電腦 287‧‧‧ computer
288‧‧‧電腦 288‧‧‧ computer
290‧‧‧控制器 290‧‧‧ Controller
291‧‧‧控制器 291‧‧‧ Controller
292‧‧‧儲存系統 292‧‧‧Storage system
293‧‧‧磁碟控制器 293‧‧‧Disk controller
294‧‧‧磁碟控制器 294‧‧‧Disk controller
296‧‧‧儲存裝置 296‧‧‧Storage device
297‧‧‧儲存裝置 297‧‧‧Storage device
298‧‧‧儲存裝置 298‧‧‧Storage device
299‧‧‧儲存裝置 299‧‧‧Storage device
300‧‧‧磁碟組件 300‧‧‧Disk components
302‧‧‧印刷電路板 302‧‧‧Printed circuit board
304‧‧‧接頭 304‧‧‧Connector
306‧‧‧接頭 306‧‧‧Connectors
400‧‧‧磁碟組件 400‧‧‧Disk components
401‧‧‧電子連線 401‧‧‧Electronic connection
410‧‧‧磁碟組件 410‧‧‧Disk components
420‧‧‧磁碟組件 420‧‧‧Disk components
430‧‧‧接頭 430‧‧‧Connector
500‧‧‧操作冗餘磁碟控制器之方法 500‧‧‧How to operate a redundant disk controller
510‧‧‧操作-儲存系統啟動 510‧‧‧Operation-storage system startup
520‧‧‧操作-監控磁碟控制器 520‧‧‧Operation-Monitor Disk Controller
530‧‧‧操作-監控磁碟控制器是否故障? 530‧‧‧Operation-Monitoring whether the disk controller is faulty?
540‧‧‧操作-監控磁碟控制器 540‧‧‧Operation-Monitor Disk Controller
600‧‧‧操作冗餘磁碟控制器之方法 600‧‧‧How to operate a redundant disk controller
610‧‧‧操作-儲存系統啟動 610‧‧‧Operation-storage system startup
620‧‧‧操作-監控磁碟控制器連結 620‧‧‧Operation-Monitor Disk Controller Link
630‧‧‧操作-連結是否故障? 630‧‧‧Operation-link is faulty?
640‧‧‧操作-中斷磁碟控制器 640‧‧‧Operation-Interrupted Disk Controller
700‧‧‧操作冗餘磁碟控制器之系統 700‧‧‧System for operating redundant disk controllers
702‧‧‧電腦 702‧‧‧ computer
704‧‧‧電腦 704‧‧‧ computer
706‧‧‧電腦 706‧‧‧ computer
708‧‧‧寫入減少邏輯 708‧‧‧Write reduction logic
710‧‧‧寫入減少邏輯 710‧‧‧Write reduction logic
712‧‧‧RAID控制器;控制器 712‧‧‧RAID controller; controller
714‧‧‧RAID控制器;控制器 714‧‧‧RAID controller; controller
716‧‧‧儲存裝置 716‧‧‧ storage device
718‧‧‧儲存裝置 718‧‧‧Storage device
720‧‧‧儲存裝置 720‧‧‧ storage device
722‧‧‧儲存裝置 722‧‧‧ storage device
800‧‧‧系統 800‧‧‧ system
801‧‧‧主機處理器;中央處理器 801‧‧‧host processor; central processor
804‧‧‧主記憶體 804‧‧‧ main memory
806‧‧‧繪圖處理器 806‧‧‧Drawing Processor
808‧‧‧顯示器 808‧‧‧ display
810‧‧‧次要儲存裝置 810‧‧‧Secondary storage device
圖1依據先前技術說明一系統。 Figure 1 illustrates a system in accordance with the prior art.
圖2A依據一具體實施例,顯示在多個儲存裝置中提供資料冗餘之系統。 2A shows a system for providing data redundancy in a plurality of storage devices, in accordance with an embodiment.
圖2B依據一具體實施例,顯示在多個儲存裝置中提供資料冗餘之儲存系統。 2B illustrates a storage system that provides data redundancy in a plurality of storage devices, in accordance with an embodiment.
圖3依據一具體實施例,顯示一磁碟組件。 Figure 3 shows a disk assembly in accordance with an embodiment.
圖4依據另一具體實施例,顯示一磁碟組件。 Figure 4 illustrates a disk assembly in accordance with another embodiment.
圖5依據一具體實施例,顯示操作冗餘磁碟控制器之方法。 Figure 5 illustrates a method of operating a redundant disk controller in accordance with an embodiment.
圖6依據另一具體實施例,顯示操作冗餘磁碟控制器之方法。 Figure 6 illustrates a method of operating a redundant disk controller in accordance with another embodiment.
圖7依據另一具體實施例,顯示一種操作冗餘磁碟控制器之系統。 Figure 7 illustrates a system for operating a redundant disk controller in accordance with another embodiment.
圖8說明一示範系統,其中可實施各種先前具體實施例之各種架構及/或功能。 FIG. 8 illustrates an exemplary system in which various architectures and/or functions of various prior embodiments may be implemented.
280‧‧‧系統 280‧‧‧ system
285‧‧‧電腦 285‧‧‧ computer
286‧‧‧電腦 286‧‧‧ computer
287‧‧‧電腦 287‧‧‧ computer
288‧‧‧電腦 288‧‧‧ computer
290‧‧‧控制器 290‧‧‧ Controller
291‧‧‧控制器 291‧‧‧ Controller
292‧‧‧儲存系統 292‧‧‧Storage system
293‧‧‧磁碟控制器 293‧‧‧Disk controller
294‧‧‧磁碟控制器 294‧‧‧Disk controller
296‧‧‧儲存裝置 296‧‧‧Storage device
297‧‧‧儲存裝置 297‧‧‧Storage device
298‧‧‧儲存裝置 298‧‧‧Storage device
299‧‧‧儲存裝置 299‧‧‧Storage device
Claims (20)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US87363006P | 2006-12-08 | 2006-12-08 | |
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 |
US11/942,629 US7904672B2 (en) | 2006-12-08 | 2007-11-19 | System and method for providing data redundancy after reducing memory writes |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200837561A TW200837561A (en) | 2008-09-16 |
TWI437427B true TWI437427B (en) | 2014-05-11 |
Family
ID=39512026
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103112378A TWI550400B (en) | 2006-12-08 | 2007-11-22 | System, method, and computer program product for providing data redundancy in a plurality of storage devices |
TW96144309A TWI437427B (en) | 2006-12-08 | 2007-11-22 | System, method, and computer program product for providing data redundancy in a plurality of storage devices |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103112378A TWI550400B (en) | 2006-12-08 | 2007-11-22 | System, method, and computer program product for providing data redundancy in a plurality of storage devices |
Country Status (4)
Country | Link |
---|---|
JP (2) | JP2010511963A (en) |
CN (2) | CN101548271B (en) |
TW (2) | TWI550400B (en) |
WO (1) | WO2008073219A1 (en) |
Families Citing this family (12)
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 (en) * | 2012-02-29 | 2017-04-21 | 萬國商業機器公司 | Raid data storage system |
JP6063146B2 (en) * | 2012-04-27 | 2017-01-18 | 株式会社バッファローメモリ | External storage device |
CN102915212B (en) * | 2012-09-19 | 2015-06-10 | 记忆科技(深圳)有限公司 | RAID (redundant arrays of inexpensive disks) realization method of solid state disks, solid state disk and electronic equipment |
WO2016088254A1 (en) * | 2014-12-05 | 2016-06-09 | 株式会社日立製作所 | Storage system and method |
JP6696280B2 (en) | 2016-04-13 | 2020-05-20 | 富士通株式会社 | Information processing apparatus, RAID control method, and RAID control program |
TWI648675B (en) * | 2017-08-29 | 2019-01-21 | 群聯電子股份有限公司 | Data storage method, memory control circuit unit and memory storage device |
CN109460372B (en) * | 2017-09-06 | 2022-11-22 | 群联电子股份有限公司 | Data storage method, memory control circuit unit and memory storage device |
CN110780811B (en) * | 2019-09-19 | 2021-10-15 | 华为技术有限公司 | Data protection method, device and storage medium |
Family Cites Families (22)
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 (en) * | 1994-06-28 | 1996-01-19 | Mitsubishi Electric Corp | Disk array system |
DE19540915A1 (en) * | 1994-11-10 | 1996-05-15 | Raymond Engineering | Redundant arrangement of solid state memory modules |
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 (en) * | 1997-03-27 | 2002-12-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Disk drive device and control method therefor |
JPH1153235A (en) * | 1997-08-08 | 1999-02-26 | Toshiba Corp | Data updating method of disk storage device and disk storage control system |
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 (en) * | 2000-09-26 | 2006-10-11 | 株式会社日立製作所 | Disk array disk failure recovery method |
KR100388498B1 (en) * | 2000-12-30 | 2003-06-25 | 한국전자통신연구원 | A Hierarchical RAID System Comprised of Multiple RAIDs |
JP3592640B2 (en) * | 2001-01-09 | 2004-11-24 | 株式会社東芝 | Disk control system and disk control method |
US20030084397A1 (en) * | 2001-10-31 | 2003-05-01 | Exanet Co. | Apparatus and method for a distributed raid |
JP2003316664A (en) * | 2002-04-24 | 2003-11-07 | Mitsubishi Electric Corp | Nonvolatile semiconductor storage device |
JP2004021811A (en) * | 2002-06-19 | 2004-01-22 | Hitachi Ltd | Disk controller using nonvolatile memory |
KR20040066638A (en) * | 2003-01-20 | 2004-07-27 | 삼성전자주식회사 | Parity Storing Method And Error block recovering Method In External Storage Sub-system |
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 (en) * | 2004-12-02 | 2009-11-18 | 富士通株式会社 | Storage device, control method thereof, and program |
JP2006252165A (en) * | 2005-03-10 | 2006-09-21 | Toshiba Corp | Disk array device and computer system |
JP4671720B2 (en) * | 2005-03-11 | 2011-04-20 | 株式会社日立製作所 | Storage system and data migration method |
US8244958B2 (en) * | 2005-05-09 | 2012-08-14 | Sandisk Il Ltd. | Method and system for facilitating fast wake-up of a flash memory system |
-
2007
- 2007-11-21 WO PCT/US2007/024294 patent/WO2008073219A1/en active Search and Examination
- 2007-11-21 CN CN200780044865.6A patent/CN101548271B/en active Active
- 2007-11-21 JP JP2009540232A patent/JP2010511963A/en active Pending
- 2007-11-21 CN CN201210391651.9A patent/CN102929751B/en not_active Expired - Fee Related
- 2007-11-22 TW TW103112378A patent/TWI550400B/en not_active IP Right Cessation
- 2007-11-22 TW TW96144309A patent/TWI437427B/en not_active IP Right Cessation
-
2013
- 2013-08-16 JP JP2013169214A patent/JP2013257900A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
TW200837561A (en) | 2008-09-16 |
TWI550400B (en) | 2016-09-21 |
JP2010511963A (en) | 2010-04-15 |
TW201428491A (en) | 2014-07-16 |
WO2008073219A1 (en) | 2008-06-19 |
CN101548271A (en) | 2009-09-30 |
CN102929751A (en) | 2013-02-13 |
CN101548271B (en) | 2012-12-05 |
CN102929751B (en) | 2018-04-20 |
JP2013257900A (en) | 2013-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI437427B (en) | System, method, and computer program product for providing data redundancy in a plurality of storage devices | |
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 | |
TWI511150B (en) | Memory subsystem having a first portion to store data with error correction code information and a second portion to store data without error correction code information | |
JP5874119B2 (en) | Method and apparatus for stacking DRAM | |
US11157200B2 (en) | Communicating over portions of a communication medium | |
US10229018B2 (en) | System and method for data restore flexibility on dual channel NVDIMMs | |
US20150255130A1 (en) | Ddr4-ssd dual-port dimm device | |
TWI765129B (en) | Storage system | |
US20090113235A1 (en) | Raid with redundant parity | |
JP2022113100A (en) | Distribution of error checking and correction (ecc) bits to allocate ecc bits to metadata | |
US20180293012A1 (en) | System and Method for Cost and Power Optimized Heterogeneous Dual-Channel DDR DIMMs | |
US12099408B2 (en) | Memory striping approach that interleaves sub protected data words | |
US11341073B2 (en) | Redundant paths to single port storage devices | |
CN116783654A (en) | Adaptive error correction to improve system memory reliability, availability and serviceability (RAS) | |
US20240028437A1 (en) | Systems and Methods for Managing High-speed Data Links | |
JP6930153B2 (en) | Path switching device, path switching method and path switching program, and computer system | |
JP2023034625A (en) | Storage device | |
Hanna | IPF Enhanced Node Prototype |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |