CN102929751A - Data redundancy in a plurality of storage devices - Google Patents

Data redundancy in a plurality of storage devices Download PDF

Info

Publication number
CN102929751A
CN102929751A CN2012103916519A CN201210391651A CN102929751A CN 102929751 A CN102929751 A CN 102929751A CN 2012103916519 A CN2012103916519 A CN 2012103916519A CN 201210391651 A CN201210391651 A CN 201210391651A CN 102929751 A CN102929751 A CN 102929751A
Authority
CN
China
Prior art keywords
data redundancy
memory
raid
redundancy scheme
storage
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN2012103916519A
Other languages
Chinese (zh)
Other versions
CN102929751B (en
Inventor
拉多斯拉夫·丹尼拉克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LSI Corp
Original Assignee
SandForce Inc
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,623 external-priority patent/US8090980B2/en
Priority claimed from US11/942,629 external-priority patent/US7904672B2/en
Application filed by SandForce Inc filed Critical SandForce Inc
Publication of CN102929751A publication Critical patent/CN102929751A/en
Application granted granted Critical
Publication of CN102929751B publication Critical patent/CN102929751B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

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)

Abstract

A system, method, and computer program product are provided for providing data redundancy in a plurality of storage devices. In operation, storage commands are received for providing data redundancy in accordance with a first data redundancy scheme. Additionally, the storage commands are translated for providing the data redundancy in accordance with a second data redundancy scheme. Furthermore, the translated storage commands are outputted for providing the data redundancy in a plurality of storage devices.

Description

Data redundancy in a plurality of memory storages
The relevant information of dividing an application
This case is to divide an application.Female case of this division be that November 21, application number in 2007 are 200780044865.6 the applying date, denomination of invention is the application for a patent for invention case of " data redundancies in a plurality of memory storages ".
Technical field
The present invention relates to the data storage, and more specifically to the data redundancy in the memory storage.
Background technology
Storage system is the one in the restricted aspect of tool of performance of modern enterprise computing system.Performance based on the memory storage of hard disk drive was determined by the time of the time of searching and half rotation.Searching the time and reduce rotation waiting time by minimizing increases performance.Yet, have restriction aspect how soon driver is rotatable.The present age, the fastest driver can reach 15,000rpm.
Fig. 1 explanation is according to the system 100 of prior art.In system 100, at least one computing machine 102-108 is coupled to console controller 110 and 112. Console controller 110 and 112 is coupled to a plurality of disk 114-120.
Usually, system 100 is configured and is Redundant Array of Independent Disks (RAID) (RAID)-1, and the mirrored content of disk 114-116 is stored among the disk 118-120.Disk 114-116 is called as the mirror image by disk 118-120.
Realize the reliability of the increase of computer system by copy diskette 114-116, console controller 110 and the connection of being connected.Therefore, reliably computer system can be at least exists disk 114-120, RAID controller 110 and is being connected, operates under the condition of computing machine 102-108 and the single fault of the connection of being connected.Yet by use system 100, it is inadequate that performance of storage system may remain.In addition, the performance that increases this type systematic is expensive and often is infeasible current.
Therefore need to process these and/or the other problem that are associated with prior art.
Summary of the invention
Be provided in a plurality of memory storages, providing system, the method and computer program product of data redundancy.In operation, receive memory command to be used for providing data redundancy according to the first data redundancy scheme.In addition, memory command is translated to be used for providing data redundancy according to the second data redundancy scheme.In addition, the memory command of output through translating is used for providing data redundancy at a plurality of memory storages.
Description of drawings
Fig. 1 explanation is according to the system of prior art.
Fig. 2 A shows the system that is used for providing at a plurality of memory storages data redundancy according to an embodiment.
Fig. 2 B shows the storage system that is used for providing at a plurality of memory storages data redundancy according to an embodiment.
Fig. 3 shows the disk assembly according to an embodiment.
Fig. 4 shows the disk assembly according to another embodiment.
Fig. 5 shows the method that is used for the operational redundancy Magnetic Disk Controller according to an embodiment.
Fig. 6 shows the method that is used for the operational redundancy Magnetic Disk Controller according to another embodiment.
Fig. 7 shows the system that is used for the operational redundancy Magnetic Disk Controller according to another embodiment.
Fig. 8 explanation wherein can be implemented various structures and/or the functional exemplary system of various previous embodiment.
Embodiment
Fig. 2 A shows the system 280 that is used for providing at a plurality of memory storages data redundancy according to an embodiment.As shown in the figure, system 280 comprises at least one computing machine 285-288.Computing machine 285-288 communicates by letter with at least one controller 290-291.Such as further displaying, controller 290-291 communicates by letter with the storage system 292 that comprises a plurality of Magnetic Disk Controller 293-294 and a plurality of memory storage 296-299.Although it should be noted that and show dividually controller 290-291, this quasi-controller 290-291 can be a unit in another embodiment.In addition, a plurality of Magnetic Disk Controller 293-294 can be a unit or separate unit in various embodiments.
In operation, receive memory command to be used for providing data redundancy according to the first data redundancy scheme.In addition, memory command is translated to be used for providing data redundancy according to the second data redundancy scheme.In addition, the memory command of output through translating is used for providing data redundancy at a plurality of memory storage 296-299.
In the situation that this describes content, memory command refers to storage and promotes any order, instruction or the data of data storage.In addition, in the situation that this describes content, data redundancy scheme refers to for the scheme that redundant data or fault-tolerant any type are provided in system.For instance, in various embodiments, data redundancy scheme can include, but is not limited to: Redundant Array of Independent Disks (RAID) (RAID) 0 data redundancy scheme, the RAID1 data redundancy scheme, RAID 10 data redundancy scheme, RAID 3 data redundancy scheme, RAID 4 data redundancy scheme, RAID 5 data redundancy scheme, RAID 50 data redundancy scheme, RAID 6 data redundancy scheme, RAID 60 data redundancy scheme, square odd even (square parity) data redundancy scheme, any non-standard RAID data redundancy scheme, any nested RAID data redundancy scheme and/or satisfy any other data redundancy scheme of above-mentioned definition.
In one embodiment, the first data redundancy scheme can comprise RAID 1 data redundancy scheme.In another embodiment, the second data redundancy scheme can comprise RAID 5 data redundancy scheme.In another embodiment, the second data redundancy scheme can comprise RAID 6 data redundancy scheme.
In addition, in the situation that this describes content, a plurality of memory storage 296-299 can represent the memory storage of any type.For instance, in various embodiments, memory storage 296-299 (for example can include, but is not limited to optical-mechanical storage device, disc driver etc.), solid-state storage device (for example, dynamic RAM (DRAM), flash memory etc.) and/or any other memory storage.In the situation that memory storage 296-299 comprises flash memory, flash memory can include, but is not limited to single layer cell (SLC) device, multilevel-cell (MLC) device, NOR flash memory, NAND flash memory, MLC NAND flash memory, SLC NAND flash memory etc.
Now state more illustrative information about various optional structures and feature, according to user's requirement, may or may not implement said frame with described various optional structures and feature.Should obviously notice, state that following information is used for the illustrative purpose and it should not be understood to have by any way restricted.In the following characteristics any one can be according to circumstances in the situation that get rid of or do not get rid of described further feature and be merged in.
Fig. 2 B shows the storage subsystem 250 that is used for providing at a plurality of memory storages data redundancy according to an embodiment.As an option, storage subsystem 250 can be checked in the situation of the details of Fig. 2 A.Yet, storage subsystem 250 certainly can in the situation that any environment of wanting implement.It shall yet further be noted that definition mentioned above can be suitable for during this describes content.
As shown in the figure, storage subsystem 250 comprises a plurality of main memory storage 231-232 and in order at least one additional memory means 233-234 of the memory capacity that increase to be used for comprising redundant information.The amount of the data storage of storage subsystem 250 can be counted as the summation of the memory capacity of a plurality of main memory storage 231-232.As an option, memory capacity also can expand by additional memory means 233-234.Certainly, in one embodiment, can store the redundant information of calculating from the storage data with additional memory means 233-234 alone.
Such as further displaying, the first Magnetic Disk Controller 210 comprises at least one port 201.In operation, first port of at least one the served as storage subsystem 250 in the port 201.In addition, at least one in the port 201 can serve as the first Magnetic Disk Controller 210 to Magnetic Disk Controller bus 203, power supply connect 275 and the inside of the first Magnetic Disk Controller 210 being coupled to the corresponding bus 241-244 of memory storage 231-234 connect the port of 211-214.
Bus 203 is coupled to second disk controller 220 with the first Magnetic Disk Controller 210.In operation, bus 203 can be in order to monitor the operation of the first Magnetic Disk Controller 210 and second disk controller 220.When second disk controller 220 detected the fault of the first Magnetic Disk Controller 210, Magnetic Disk Controller 220 can connect 211-214 to the first Magnetic Disk Controller 210 with corresponding bus 241-244 breaking inner by send the request of disconnecting via Magnetic Disk Controller bus 203.
The bus 203 that the first Magnetic Disk Controller 210 is coupled to second disk controller 220 also can use to monitor the operation of second disk controller 220 with the first Magnetic Disk Controller 210.When the first Magnetic Disk Controller 210 detected the fault of second disk controller 220, the first Magnetic Disk Controller 210 can connect 221-224 to second disk controller 220 with corresponding bus 241-244 breaking inner by send the request of disconnecting via Magnetic Disk Controller bus 203.
In one embodiment, the first Magnetic Disk Controller 210 maloperation that can detect inner maloperation or be associated with the first Magnetic Disk Controller 210.In the case, when detecting inner maloperation, the first Magnetic Disk Controller 210 can disconnect the connection 211-214 with corresponding bus 241-244.Similarly, second disk controller 220 maloperation that can detect inner maloperation or be associated with second disk controller 220.In the case, when detecting inner maloperation, second disk controller 220 can disconnect the connection 221-224 with corresponding bus 241-244.
In addition, in one embodiment, the first and second Magnetic Disk Controllers 210 and 220 can detect the fault of Magnetic Disk Controller bus 203.In the case, second disk controller 220 can disconnect the connection 221-224 with corresponding bus 241-244, and the first Magnetic Disk Controller 210 can the maintenance activity.In another embodiment, the first Magnetic Disk Controller 210 can disconnect the connection 211-214 with corresponding bus 241-244, and second disk controller 220 can the maintenance activity.In another embodiment, the Magnetic Disk Controller of soon maintenance activity can disconnect the connection that is about to inactive controller.
It should be noted that the disconnection of bus 211-214 and 221-224 can be via three status circuits, multiplexer or any other circuit of being used for disconnecting bus 211-214 and 221-224 implement.For instance, in one embodiment, disconnection can place high impedance status to finish by three status bus drivers that will be associated with Magnetic Disk Controller 210 or 220.In another embodiment, disconnection can be finished by the multiplexer in the input of control store device 231-234.
Such as further displaying, second disk controller 220 comprises at least one port 202.In operation, second port of at least one the served as storage subsystem 250 in the port 202.In addition, at least one the served as second disk controller 220 in the port 202 to Magnetic Disk Controller bus 203, power supply connect 276 and the inside of second disk controller 220 being coupled to the corresponding bus 241-244 of memory storage 231-234 connect the port of 221-224.
Single redundant storage devices 233 is being provided and is not having in the situation of extra redundant storage devices 234, storage subsystem 250 can be in having memory storage 231-233 operation and do not have data loss under the condition of the single fault of any one.In one embodiment, the tissue of data and redundant information can be according to RAID 5.In another embodiment, the tissue of data and redundant information can be according to RAID 6, RAID 10, RAID 50, RAID 60, square parity redundancy schemas etc.
In the situation that two redundant storage devices 233 and 234 are provided, storage subsystem 250 can be appointed in having memory storage 231-234 and continued operation under both condition of fault and without any data loss.In operation, port 201 and 202 can be two conventional independent mirrored disks with the presentation of data that is stored in the storage subsystem 250.In the case, this type of conventional independent mirrored disks can show as RAID 1, RAID10, RAID 50, RAID 60, square parity redundancy schemas etc.
Electric power to storage subsystem 250 can be by supplying via being electrically connected 252 the first electric connectors 251 that are coupled to the first power supply unit 253.Electric power to storage subsystem 250 also can be by supplying via connecting 262 the second electric connectors 261 that are coupled to second source unit 263.As an option, the output of the output of the first power supply 253 and second source 263 can be by distribution network 270 in conjunction with and be assigned to Magnetic Disk Controller 210 and 220 and memory storage 231-234.Memory storage 231-234 is coupled to distribution network 270 via the connection 271-274 of correspondence.Magnetic Disk Controller 210 is coupled to distribution network 270 with being connected via power supply connection 275 and 276.
In the situation that the electric power to electric connector 251 breaks down, can supply by electric connector 261 to the electric power of storage subsystem 250.Similarly, in the situation that the electric power to electric connector 261 breaks down, can supply by electric connector 251 to the electric power of storage subsystem 250.Break down in the situation that connect 252, can supply by connecting 262 to the electric power of storage subsystem 250.Break down in the situation that connect 262, can supply by connecting 252 to the electric power of storage subsystem 250.
In the situation that power supply 253 breaks down, can supply by power supply 263 to the electric power of storage subsystem 250.If power supply 263 breaks down, can supply by power supply 253 to the electric power of storage subsystem 250 so.Similarly, when connection 254 is broken down, can supply by connecting 264 to the electric power of storage subsystem 250.Similarly, when connection 264 is broken down, can supply by connecting 254 to the electric power of storage subsystem 250.Therefore, storage subsystem 250 is allowed the fault of various assemblies, and storage subsystem 250 can not be operated.
In one embodiment, Magnetic Disk Controller 210 and/or 220 can contain to detect the electric power dead circuit of power supply 253 and 263.In addition, this type of circuit can provide electric power to be saved among the memory storage 231-234 with the state with Magnetic Disk Controller 210 and 220, so that data loss does not occur.For instance, can detect the disconnection of power supply 253 and/or 263.
In the case, in response to the disconnection that detects power supply 253 and 263, can supply power to memory storage 231-234. Power supply 253 and 263 can supply power to storage subsystem 250 and continue time enough, so that after disconnecting to power supply 253 and 263 both electric power, the state that can finish Magnetic Disk Controller 210 and 220 is written among the memory storage 231-234.Therefore, electric power can be provided to memory storage 231-234 until when not having data loss to occur owing to the disconnection of power supply 253 and 263 more at least.In various embodiments, power supply 253 and 263 can comprise battery, capacitor and/or in order to electric power is provided to any other assembly of storage subsystem 250 when the electric power to power supply 253 and 263 disconnects.
It should be noted that and continue operation under the condition of any single fault of any element that storage subsystem 250 can illustrate and do not have data loss in having Fig. 2 B.It shall yet further be noted that in various embodiments, memory storage 231-234 can be optical-mechanical storage device, on-mechanical memory storage, volatibility or Nonvolatile memory devices.In addition, in various embodiments, memory storage 231-234 can include, but is not limited to DRAM or flash memory devices (for example, SLC device, MLC device, NOR door flash device, NAND door flash memory devices etc.).
In addition, in one embodiment, Magnetic Disk Controller 210 and 220 can be embodied as two individual chips.In another embodiment, Magnetic Disk Controller 210 and 220 may be implemented on a chip or the circuit small pieces.For instance, this type of enforcement can be determined based on the encapsulation problem.
Fig. 3 shows the disk assembly 300 according to an embodiment.As an option, disk assembly 300 may be implemented in the situation of functional and structure of Fig. 1-2.Yet, disk assembly 300 certainly can in the situation that any environment of wanting implement.It shall yet further be noted that definition mentioned above can be suitable for during this describes content.
As shown in the figure, disk assembly 300 comprises: printed circuit board (PCB) 302, and it comprises disc driver (not shown); Electric connector, it has the main port as the part of SATA (Serial Advanced Technology Attachment) connector 304; And electric connector, it has the less important port as the part of the 2nd SATA connector 306.In one embodiment, disk assembly 300 can comprise SAS (serial attached SCSI) connector.For instance, disk assembly 300 can comprise: printed circuit board (PCB) 302, and it comprises disc driver (not shown); Electric connector, it has the main port as the part of SAS connector 304; And electric connector, it has the less important port as the part of the 2nd SAS connector 306.
As an option, connector 304 and 306 can expose as certain data redundancy configuration with disk assembly 300.For instance, the SATA interface can expose as disk assembly 300 a pair of disk with RAID 1 pattern configurations.In another embodiment, the SAS interface can expose as disk assembly 300 with the disk of RAID 1 pattern configurations pair.In another embodiment, SATA and SAS interface can expose as disk assembly 300 a plurality of disks with RAID 0 pattern configurations.
Fig. 4 shows the disk assembly 400 according to another embodiment.As an option, disk assembly 400 may be implemented in the situation of functional and structure of Fig. 1-3.Yet, disk assembly 400 certainly can in the situation that any environment of wanting implement.It shall yet further be noted that definition mentioned above can be suitable for during this describes content.
As shown in the figure, disk assembly 400 comprises two or more disk assemblies 410 and 420.As an option, disk assembly 410 and 420 can comprise the disk assembly 300 from Fig. 3.In the case, each disk assembly 410 and 420 can comprise printed circuit board (PCB) and connector 430.
According to circumstances, each disk assembly 410 and 420 can interconnect via electrical connection 401.In the case, be electrically connected 401 and can represent the Magnetic Disk Controller bus, for example the Magnetic Disk Controller bus 203 of Fig. 2 B.In operation, disk assembly 400 can increase by the space that allows an above disk (for example, disk assembly 410 and 420) to occupy routine or main memory storage (for example, disc driver etc.) memory property of system.
Fig. 5 shows the method 500 that is used for the operational redundancy Magnetic Disk Controller according to an embodiment.As an option, this method 500 may be implemented in the situation of functional and structure of Fig. 1-4.Yet method 500 can be carried out in any desired environment certainly.It shall yet further be noted that definition mentioned above can be suitable for during this describes content.
As shown in the figure, storage system (for example, disk assembly etc.) is powered.See operation 510.Monitor the Magnetic Disk Controller of storage system.See operation 520.As an option, can monitor described Magnetic Disk Controller by another Magnetic Disk Controller.This type of supervision can comprise: monitor Magnetic Disk Controller via the bus between two Magnetic Disk Controllers (for example, Magnetic Disk Controller bus 203 of Fig. 2 B etc.); And/or monitor activity on the bus corresponding to the memory storage of storage system (for example, the bus 241-244 of corresponding stored device 231-234 etc.).
Storage system continues operation, monitors Magnetic Disk Controller, until it determines that the Magnetic Disk Controller that monitors breaks down.See operation 530.If the Magnetic Disk Controller that monitors breaks down, so the Magnetic Disk Controller that monitors is disconnected.See operation 540.
In one embodiment, the disconnection of Magnetic Disk Controller can be implemented by sending ON-and OFF-command via the bus between two Magnetic Disk Controllers (for example, the Magnetic Disk Controller bus 203 of Fig. 2 B etc.).In the case, ON-and OFF-command can comprise that disconnection is linked to the supervision Magnetic Disk Controller bus (for example, connection 211-214 or the 221-224 of Fig. 2 B) of memory storage.In one embodiment, can monitor a plurality of Magnetic Disk Controllers by other Magnetic Disk Controller.In the case, can regard each Magnetic Disk Controller in a plurality of Magnetic Disk Controllers as monitor Magnetic Disk Controller.
Fig. 6 shows the method 600 that is used for the operational redundancy Magnetic Disk Controller according to another embodiment.As an option, this method 600 may be implemented in the situation of functional and structure of Fig. 1-5.Yet method 600 can be carried out in any desired environment certainly.It shall yet further be noted that definition mentioned above can be suitable for during this describes content.
As shown in the figure, storage system (for example, disk assembly etc.) is powered.See operation 610.Link between at least two Magnetic Disk Controllers of supervision storage system.See operation 620.In one embodiment, the link between the Magnetic Disk Controller can comprise the Magnetic Disk Controller bus 203 of Fig. 2 B.In addition, the link between the Magnetic Disk Controller can monitor by in the Magnetic Disk Controller at least one (for example, the first and second Magnetic Disk Controllers 210 of Fig. 2 B and 220 etc.).
Storage system continues operation, monitors link, until it determines that described link breaks down.See operation 630.If link is broken down, so a Magnetic Disk Controller is disconnected.See operation 640.
In one embodiment, disconnection can comprise that disconnection is linked to Magnetic Disk Controller the bus (for example, the connection 211-214 of Fig. 2 B or 221-224 etc.) of memory storage.In the case, can not process the order that the port that is associated with the controller that disconnects receives.As an example, the two can disconnect in two Magnetic Disk Controllers after the link between first and second Magnetic Disk Controller is broken down.In the case, the first controller can continue operation, and can not process the order from the port of second disk controller.
Fig. 7 shows the system 700 that is used for the operational redundancy Magnetic Disk Controller according to another embodiment.As an option, system 700 may be implemented in the situation of functional and structure of Fig. 1-6.Yet system 700 can implement in any desired environment certainly.It shall yet further be noted that definition mentioned above can be suitable for during this describes content.
As shown in the figure, provide at least one computing machine 702-706.Computing machine 702-706 is coupled to a plurality of RAID controller 712-714.Controller 712-714 communicates by letter with a plurality of memory storage 716-722.This type of communication can comprise the port that utilization is associated with memory storage 716-722.
The reliability of system 700 can have memory storage 716-722 (for example, the storage system 250 of Fig. 2 B) redundant in the driver by use and realize.In addition, reproducible all connections (for example, bus etc.) are to guarantee the reliability of system 700.As an option, memory storage 716-722 separately each device comprises two ports, compares the bandwidth of twice thereby provide with using the memory storage with single port.In addition, each memory storage 716-722 can simulate two disks by utilizing redundant systems such as RAID 5, RAID 6, RAID 10, RAID 50, RAID 60, square parity redundancy schemas.
As an option, can utilize to write and reduce the number that writes that logic 708-710 reduces to memory storage 716-722.In the case, memory command is translated to be used for providing data redundancy to carry out after reducing.For instance, can receive memory command to be used for providing data redundancy according to the first data redundancy scheme (for example, RAID 5, RAID 6, RAID 10, RAID 50, RAID 60, square parity redundancy schemas etc.) of controller 712-714.
Then can utilize to write and reduce the number that writes that logic 708-710 reduces to memory storage 716-722.Then can (for example, pass through circuit) memory command is translated, to be used for providing data redundancy according to the second data redundancy scheme that is associated with memory storage 716-722.In one embodiment, the second data redundancy scheme can be identical with the first data redundancy scheme (for example, RAID 5, RAID 6, RAID 10, RAID50, RAID 60, square parity redundancy schemas etc.).In another embodiment, the second data redundancy scheme can with the first data redundancy scheme (for example, RAID 1, RAID 6, RAID 10, RAID 50, RAID 60, square parity redundancy schemas etc.) difference.
In one embodiment, can utilize to write and reduce logic 708-710 and provide the memory command of data redundancy to be formatted as form with the second data redundancy scheme compatibility according to the first data redundancy scheme being used for of receiving.Strictly as an option, RAID controller 712-714 can comprise the system that has as redundant in the driver described in the situation of memory storage 716-722.In this way, can reduce to the number that writes of memory storage 716-722.Therefore, can translate to provide data redundancy according to the second data redundancy scheme that is associated with memory storage 716-722 after the number that writes in minimizing to memory command.In this way, can avoid the randomization of data.
Fig. 8 explanation wherein can be implemented various structures and/or the functional exemplary system 800 of various previous embodiment.As shown in the figure, provide the system 800 that comprises at least one host-processor 801 that is connected to communication bus 802.System 800 also comprises primary memory 804.Steering logic (software) and data are stored in the primary memory 804 that can adopt random access memory (RAM) form.
System 800 also comprises graphic process unit 806 and display 808 (that is, computer monitor).In one embodiment, graphic process unit 806 can comprise a plurality of shader modules, rasterizer module etc.In the above-mentioned module each can even be positioned on the single semiconductor platform to form Graphics Processing Unit (GPU).
Describe in the content at this, single semiconductor platform can refer to unique integrated circuit based on integral semiconductor or chip.It should be noted that the single semiconductor platform of term also can refer to the internuncial multi-chip module with increase, operate on its analog chip, and compare the improvement that has produced essence with bus implementation with utilizing conventional CPU (central processing unit) (CPU).Certainly, various module also can be positioned apart or according to the various integrated positionings of customer requirements with semiconductor platform.
System 800 also can comprise secondary storage 810.Secondary storage 810 comprises (for example) hard disk drive and/or removable storage device drive, its expression floppy disk, tape drive, Zip disk driver etc.The removable storage device drive reads and/or writes to the removable storage unit from the removable storage unit in a well-known manner.
Computer program or computer control logic algorithm can be stored in primary memory 804 and/or the secondary storage 810.This type of computer program makes system 800 can carry out various functions when carrying out.Storer 804, memory storage 810 and/or any other memory storage are the possible examples of computer-readable media.
In one embodiment, each previous graphic structure and/or functional can in following situation, enforcement: host-processor 801, graphic process unit 806, secondary storage 810, the integrated circuit (not shown) with at least a portion of both abilities of host-processor 801 and graphic process unit 806, chipset (that is, through design with the group of the integrated circuit of working as the unit that is used for the execution correlation function and selling etc.) and/or any other integrated circuit in this regard.
Yet, each previous graphic structure and/or functional can in following situation, enforcement: general-purpose computing system, circuit board systems, the game console system that is exclusively used in the amusement purpose, dedicated system and/or any other desired system.For instance, system 800 can adopt the form of the logic of desktop PC, laptop computer and/or any other type.Yet system 800 can adopt the form of various other devices, includes, but is not limited to: personal digital assistant (PDA) device, portable telephone device, TV etc.
In addition, although not shown, it is communication objective to be used for that system 800 can be coupled to network (for example, communication network, LAN (Local Area Network) (LAN), wireless network, the wide area network (WAN) such as the Internet, peer-to-peer network, cable system etc.).
Although above described various embodiment, should be understood that only unrestriced mode presents by example for it.Therefore, the width of preferred embodiment and scope are not limited by in the above-mentioned example embodiment any one should, but should only define according to appended claims and equivalent thereof.

Claims (21)

1. method, it comprises:
Reduce to the number that writes of a plurality of memory storages; And
After described minimizing, utilize data redundancy scheme that data redundancy is provided.
2. method according to claim 1, wherein said data redundancy scheme comprises Redundant Array of Independent Disks (RAID) (RAID) data redundancy scheme.
3. method according to claim 2, wherein said data redundancy scheme comprises Redundant Array of Independent Disks (RAID) (RAID)-5 data redundancy scheme.
4. method according to claim 2, wherein said data redundancy scheme comprises Redundant Array of Independent Disks (RAID) (RAID)-6 data redundancy scheme.
5. method according to claim 1, wherein said memory storage comprises optical-mechanical storage device.
6. method according to claim 5, wherein said optical-mechanical storage device comprises disc driver.
7. method according to claim 1, wherein said memory storage comprises solid-state storage device.
8. method according to claim 7, wherein said solid-state storage device comprises flash memory.
9. method according to claim 8, wherein said flash memory comprises the NAND flash memory.
10. method according to claim 9, wherein said NAND flash memory comprises single layer cell (SLC) NAND flash memory.
11. method according to claim 9, wherein said NAND flash memory comprise multilevel-cell (MLC) NAND flash memory.
12. method according to claim 7, wherein said solid-state memory comprise dynamic RAM (DRAM).
13. method according to claim 1, and the disconnection of the power supply of the described memory storage of its further inclusion test.
14. method according to claim 13, and it further comprises in response to the described detection of the described disconnection of described power supply and electric power is provided to described memory storage.
15. method according to claim 14, wherein electric power is provided to described memory storage until when not having data loss to occur owing to the described disconnection of described power supply more at least.
16. method according to claim 15 wherein utilizes capacitor that described electric power is provided.
17. method according to claim 15 wherein utilizes battery that described electric power is provided.
18. method according to claim 1 wherein after described minimizing, provides data redundancy to avoid randomization by utilizing data redundancy scheme.
19. a computer program that is included on the computer-readable media, it comprises:
Computer code for the number that writes that reduces to a plurality of memory storages; And
Be used for after described minimizing, utilizing data redundancy scheme that the computer code of data redundancy is provided.
20. an equipment, it comprises:
Circuit, it is used for reducing to the number that writes of a plurality of memory storages, and after described minimizing, utilizes data redundancy scheme that data redundancy is provided.
21. equipment according to claim 20, and it further comprises a plurality of memory storages that are coupled to described circuit.
CN201210391651.9A 2006-12-08 2007-11-21 Data redundancy in multiple storage devices Expired - Fee Related CN102929751B (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US87363006P 2006-12-08 2006-12-08
US60/873,630 2006-12-08
US11/942,623 2007-11-19
US11/942,629 2007-11-19
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
CN200780044865.6A CN101548271B (en) 2006-12-08 2007-11-21 Data redundancy in a plurality of storage devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN200780044865.6A Division CN101548271B (en) 2006-12-08 2007-11-21 Data redundancy in a plurality of storage devices

Publications (2)

Publication Number Publication Date
CN102929751A true CN102929751A (en) 2013-02-13
CN102929751B CN102929751B (en) 2018-04-20

Family

ID=39512026

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200780044865.6A Active CN101548271B (en) 2006-12-08 2007-11-21 Data redundancy in a plurality of storage devices
CN201210391651.9A Expired - Fee Related CN102929751B (en) 2006-12-08 2007-11-21 Data redundancy in multiple storage devices

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN200780044865.6A Active CN101548271B (en) 2006-12-08 2007-11-21 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)

* 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 (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)

* 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 (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

Also Published As

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

Similar Documents

Publication Publication Date Title
CN101548271B (en) 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
US6763398B2 (en) Modular RAID controller
US6408343B1 (en) Apparatus and method for failover detection
KR101839027B1 (en) Configurable Interconnection System
US20080126700A1 (en) System for optimizing the performance and reliability of a storage controller cache offload circuit
US6295565B1 (en) RAID controller card coupled via first and second edge connectors to the system bus and on-board SCSI controller respectfully
US20100083040A1 (en) Expander Circuit For A Solid State Persistent Storage Device That Provides A Plurality Of Interfaces To Corresponding Storage Controllers
JP2005293595A (en) Multi-path redundant storage system architecture and method
US5765034A (en) Fencing system for standard interfaces for storage devices
US10401935B2 (en) Storage device with a power source and persistent store that provides backup power to DRAM in a power loss event
US6618821B1 (en) Fault tolerant network server having multiple slideably-mounted processing elements sharing a redundant array of independent disks through SCSI isolators
JP2017531856A (en) Active storage units and arrays
CN102200938B (en) Method to establish redundancy and fault tolerance better than raid level 6 without using parity
US8381027B1 (en) Determining alternate paths in faulted systems
KR100883005B1 (en) Method and system for directly interconnecting storage devices to controller cards within a highly available storage system
CN100476794C (en) Mainboard of four-path server
CN210328065U (en) Driving system of hard disk signal lamp
CN108614746A (en) A kind of data processing method and its system, server
US20200042484A1 (en) Integrated circuit with hot plug control
CN113342257B (en) Server and related control method
US8639866B2 (en) Systems and methods for dividing a communications channel
US20190171265A1 (en) Power input module

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: INFINEON TECHNOLOGIES CORP.

Free format text: FORMER OWNER: SANDFORCE INC.

Effective date: 20140422

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20140422

Address after: California, USA

Applicant after: LSI Corp.

Address before: California, USA

Applicant before: SANDFORCE, Inc.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180420

Termination date: 20211121

CF01 Termination of patent right due to non-payment of annual fee