WO2025201434A1 - 存储控制器及存储阵列 - Google Patents
存储控制器及存储阵列Info
- Publication number
- WO2025201434A1 WO2025201434A1 PCT/CN2025/085215 CN2025085215W WO2025201434A1 WO 2025201434 A1 WO2025201434 A1 WO 2025201434A1 CN 2025085215 W CN2025085215 W CN 2025085215W WO 2025201434 A1 WO2025201434 A1 WO 2025201434A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cache
- data
- storage
- disk
- storage controller
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/263—Arrangements for using multiple switchable power supplies, e.g. battery and AC
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/14—Error detection or correction of the data by redundancy in operations
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present application relates to the technical field of storage devices, and in particular to a storage controller and a storage array.
- Storage arrays typically interact with hosts and internal data disks through storage controllers.
- Storage controllers include a cache to store popular data and frequently used operations, thereby reducing disk access times.
- the data in the cache will be lost, causing anomalies in the data stored in the data hard disks of the storage array, such as data loss, and affecting the reliability of the storage array.
- the present application provides a storage controller and a storage array to solve the problem of poor reliability of the storage array.
- the present application provides a storage controller comprising: a central processing unit, a cache, a system hard disk, a first cache storage disk, a second cache storage disk, and a battery backup unit;
- the CPU is connected to the cache and is used to read and write data in the cache;
- the first cache storage disk and the second cache storage disk are both connected to the central processing unit; the central processing unit is further configured to: write the data in the cache to the first cache storage disk and the second cache storage disk in the event of an abnormal power failure of the storage controller;
- the battery backup unit is used to supply power to the central processing unit, cache, system hard disk, first cache storage disk and second cache storage disk in case of abnormal power failure of the storage controller.
- the storage controller further includes: a first IO controller and a second IO controller;
- the first IO controller is used to connect to the front-end host
- the central processing unit is specifically configured to:
- persisting the data in the cache to the back-end data hard disk includes:
- the data in the cache is synchronously written to the first cache storage disk and the second cache storage disk in a parallel manner.
- the storage controller further comprises: a RAID card; the central processing unit is connected to the first cache storage disk and the second cache storage disk via the RAID card;
- the RAID card is specifically configured to:
- the data packet is stored in the first cache storage disk, and the data packet is copied to the second cache storage disk.
- the storage controller further comprises: a switch device; the switch device is connected to the root complex of the central processing unit and is connected to the first cache storage disk and the second cache storage disk;
- the switching device is used for synchronously writing the data transmitted by the central processing unit into the first cache storage disk and the second cache storage disk.
- the switching device is specifically configured to:
- the first interface connected to the first cache storage disk and the second interface connected to the second cache storage disk are both used as valid interfaces
- the data transmitted by the central processor is broadcast to all valid interfaces.
- the central processing unit is further configured to:
- recovery data is obtained from at least one of the first cache storage disk and the second cache storage disk, and the recovery data is restored to the cache.
- obtaining the recovery data from at least one of the first cache storage disk and the second cache storage disk includes:
- the first storage controller is configured to write data from the host to a local first cache and generate first verification data for the data stored in the first cache; and copy the data stored in the first cache and the first verification data to the second storage controller; the first storage controller and the second storage controller are two storage controllers in a storage array;
- a storage controller is provided, which is a controller of a storage array and can be applied to the scenario shown in Figure 1 to implement interaction between a host and a data hard disk.
- Figure 2 shows a schematic diagram of a specific application scenario of the storage controller.
- the storage controller 200 is arranged between the host 100 and the data hard disk 300; it can be understood that the storage controller 200 and the data hard disk 300 can form a storage array, which can be, for example, a RAID (Redundant Arrays of Independent Disks) or the like.
- Cache 202 is used for high-speed temporary data storage, such as frequently accessed data or data sent by the host.
- Cache 202 is connected to CPU 201.
- CPU 201 can write data to cache 202 and allow CPU 201 to read data from cache 202 as needed to improve performance.
- Cache 202 is a high-speed random access device placed before the low-speed data hard disk 300.
- memory such as DRAM (Dynamic Random Access Memory), is used as cache.
- the storage array stores the most frequently used data blocks in the cache 202. When an application requests this data, it can be directly obtained from the cache 202, thus avoiding frequent disk (e.g., data hard disk 300, etc.) read operations, thereby improving read performance.
- frequent disk e.g., data hard disk 300, etc.
- system hard disk 203 is used to store the operating system and related controller software; these software are responsible for managing and controlling various functions and operations of the storage array.
- the functions of the system hard disk 203 also include operating system booting, fault recovery and updating, storage configuration and management, etc.
- the storage controller 200 is powered on, the operating system in the system hard disk 203 is started, so that the central processor 201 can read the cache 202 as needed to achieve data interaction between the host 100 and the backend data hard disk 300.
- the central processing unit 201 temporarily stores data at high speed in the cache 202 to improve data read efficiency.
- the storage controller 200 experiences an abnormal power outage (e.g., a sudden power outage, system failure, etc.)
- the data in the cache 202 will be lost.
- the cache 202 in the storage array must incorporate a persistence mechanism. This persistence mechanism serves two main purposes.
- the cache persistence mechanism can also be used to maintain data integrity. When data is written to cache 202, the storage array typically immediately confirms the success of the write operation, even if the data has not yet been written to the persistent storage (e.g., data hard disk 300). The cache persistence mechanism ensures that after the write operation is confirmed successful, the data is actually and securely written to the persistent storage medium, thereby ensuring data consistency and reliability.
- the persistent storage e.g., data hard disk 300
- a common way to implement a persistence mechanism is to provide a separate power supply for the cache (set up an additional separate power supply) to ensure that even in the event of an abnormal power outage, the data in the cache 202 can be persisted for a period of time.
- this persistence mechanism can only be maintained for a period of time, and after the separate power supply is lost, the data in the cache 202 will still be lost.
- the storage controller 200 experiences an abnormal power outage, the data in the cache 202 can be persisted to the data hard disk 300, enabling a data flush from the cache 202.
- a separate power supply is also required to power the storage controller 200 to complete the data flush from the cache 202.
- the separate power supply must also power the data hard disk 300 when the data in the cache 202 needs to be saved, this mode significantly shortens the duration that the separate power supply can provide power.
- the persistence location of the cache 202 can also be set on the system disk of the storage controller 200, that is, the controller software and operating system hard disk, for example, the system hard disk 203 of the storage controller 200; the advantage of doing so is that the protection of the data in the cache 202 can be better managed and maintained, while reducing the complexity of external connections.
- the main purpose of the system disk (for example, the system hard disk 203) is to store the operating system and storage array system software, as well as configuration management information, so the system disk does not have high requirements for IO (input and output) performance, and the persistence of the cache 202 is limited by the power of a separate power supply. The faster the system disk writes and the shorter the persistence time of the cache 202, the better.
- there are a large number of IO requests during the operation of the system disk itself which will also affect the persistence process of the cache 202.
- the storage controller 200 further includes a first cache storage disk 204 , a second cache storage disk 205 and a battery backup unit 206 , and uses multiple cache storage disks to implement persistence of the cache 202 .
- the first cache storage disk 204 and the second cache storage disk 205 are both connected to the central processing unit 201; the central processing unit 201 is also used to: in the event of an abnormal power outage of the storage controller 200, write the data in the cache 202 to the first cache storage disk 204 and the second cache storage disk 205.
- the battery backup unit 206 is used to supply power to the CPU 201, the cache 202, the system hard disk 203, the first cache storage disk 204 and the second cache storage disk 205 in the event of abnormal power failure of the storage controller.
- a cache disk is added to the controller chassis, that is, a cache disk is added to the storage controller 200.
- a cache disk is added to the storage controller 200.
- two cache disks are used: a first cache disk 204 and a second cache disk 205.
- Both the first cache disk 204 and the second cache disk 205 are hard disks capable of persistently storing data.
- the first cache disk 204 and the second cache disk 205 store data in the cache 202 in a manner similar to data mirroring, thereby achieving data persistence in the cache 202.
- the storage controller 200 when the storage controller 200 is operating, the CPU 201, cache 202, and system hard disk 203 operate normally, without requiring power from the battery backup unit 206, and without requiring data to be stored in the first cache storage disk 204 or the second cache storage disk 205. Furthermore, if the storage controller 200 is powered off normally, it will be fully powered off after processing the data in the cache 202, eliminating the risk of data loss.
- the battery backup unit 206 begins operating and provides power to the CPU 201, cache 202, and system hard disk 203, ensuring that the CPU 201 can process data in the cache 202 under the control of the operating system on the system hard disk 203. Furthermore, the battery backup unit 206 provides power to the first cache storage disk 204 and the second cache storage disk 205, enabling data to be written to them.
- the battery backup unit 206 allows the CPU 201 to read data from the cache 202. Since the storage array is powered down, the storage controller 200 cannot write data to the data hard disk 300. However, since the battery backup unit 206 is currently supplying power to the first and second cache storage disks 204, 205, the CPU 201 can write data from the cache 202 to the first and second cache storage disks 204, 205, thus ensuring data persistence in the cache 202. Generally, the first and second cache storage disks 204, 205 store data in the cache 202 in a manner similar to data mirroring to prevent data loss in the cache 202 due to an abnormal power outage. When the storage controller 200 subsequently powers back on, data recovery can be performed based on the data stored on the first and second cache storage disks 204, 205.
- Step A1 When the storage controller 200 is powered on and started, it is determined whether the last shutdown of the storage controller 200 was an abnormal power failure.
- Step A2 when the storage controller is last shut down due to abnormal power failure, obtain recovery data from at least one of the first cache storage disk 204 and the second cache storage disk 205 , and restore the recovery data to the cache 202 .
- each time the storage controller 200 is powered on and started it can be determined whether the last shutdown of the storage controller 200 was an abnormal power failure.
- the storage controller 200 can be used to determine whether the last shutdown was an abnormal power outage based on the obtained system log and/or abnormal power-off flag, and relevant information that can be used to indicate the power-off or non-power-off status of the storage controller can be pre-set in the system log and/or abnormal power-off flag.
- the storage controller 200 can determine whether the last shutdown was an abnormal power outage based on the system log (or by setting an abnormal power outage flag, etc.). If the last shutdown was a normal power outage, no data recovery is required, and a normal startup is sufficient. Conversely, if the last shutdown was a normal power outage, the storage controller 200 needs to perform data recovery.
- CPU 201 obtains recovery data from at least one of first cache storage disk 204 and second cache storage disk 205. For example, if first cache storage disk 204 is currently faulty but second cache storage disk 205 is not faulty, recovery data is obtained from second cache storage disk 205. It can be understood that this recovery data is the complete data stored on first and second cache storage disks 204, 205, as well as the data temporarily stored in cache 202 during the last abnormal power outage.
- CPU 201 reads this recovery data, it writes it to cache 202. In other words, it uses the backup data on the cache storage disks (first cache storage disk 204 and/or second cache storage disk 205) to restore the data in cache 202 and rebuild cache 202. Once cache 202 is rebuilt, storage controller 200 is restored to the state before the last unexpected power outage. At this point, the storage array enters a service state and can provide external services.
- FIG3 shows a schematic diagram of a process of implementing cache persistence by the storage controller 200 . As shown in FIG3 , the process specifically includes the following steps S301 to S306 .
- Step S301 When the storage controller 200 is abnormally powered off, the central processing unit 201 reads data in the cache 202 .
- step S302 the CPU 201 writes the data in the cache 202 into the cache storage disk.
- the cache storage disk specifically includes a first cache storage disk 204 and a second cache storage disk 205. That is, the data in the cache 202 needs to be written into the two cache storage disks in a mirrored manner.
- Step S303 After the cache disk is stored, a message is fed back to the central processing unit 201 .
- the CPU 201 After the CPU 201 determines that the cache storage disk is fully stored, it can notify the battery backup unit 206 to power off, and no longer needs to supply power to the CPU 201, cache 202, system hard disk 203, first cache storage disk 204 and second cache storage disk 205.
- Step S304 when powered on, the central processing unit 201 determines whether the last shutdown of the storage controller 200 was an abnormal power failure.
- Step S305 If the last shutdown was a normal power off, the CPU 201 needs to read the recovery data from at least one of the first cache storage disk 204 and the second cache storage disk 205 .
- step S306 the CPU 201 writes the restored data into the cache 202 .
- This embodiment provides a storage controller, which is provided with a first cache storage disk 204, a second cache storage disk 205, and a battery backup unit 206.
- the battery backup unit 206 can provide backup power
- the central processing unit 201 writes the data in the cache 202 to the first cache storage disk 204 and the second cache storage disk 205, thereby achieving persistence of the data in the cache 202 and facilitating subsequent data recovery.
- the storage controller uses an internally controlled cache storage disk to protect the data in the cache 202 without connecting or interacting with the external data hard disk 300, which is simple to implement and has high processing efficiency.
- the cache storage disk only works in the event of an abnormal power outage and is not affected by other IO operations of the central processing unit 201.
- the data is mirrored between the first cache storage disk 204 and the second cache storage disk 205. When one system fails, the other can also provide recovery data, which can ensure the reliability of the storage controller.
- the storage controller 200 further includes a first IO controller 207 and a second IO controller 208.
- the first IO controller 207 is used to connect to the front-end host 100
- the second IO controller 208 is used to connect to the back-end data hard disk 300.
- the first IO controller 207 is a front-end controller, which can communicate with the front-end host 100, for example, receiving a data write request issued by the host 100, or sending the data required by the host 100 (data read by the storage controller 200 from the data hard disk 300) to the host 100.
- the second IO controller 208 is a backend controller, which is used to communicate with the data hard disk 300 in the hard disk frame to read and write the data hard disk 300, for example, write the data sent by the host 100 to the data hard disk 300.
- the central processor 201 is specifically used to: obtain the write request sent by the host 100 based on the first IO controller 207, and store the corresponding data to be written to the cache 202; based on the second IO controller 208, persist the data in the cache 202 to the back-end data hard disk 300.
- the storage controller 200 when the host 100 sends a write request to the storage array, the storage controller 200, based on the first IO controller 207, can obtain the write request.
- the write request includes the data to be written to the data hard disk 300, i.e., the data to be written.
- the central processing unit 201 first stores the data to be written in the cache 202, which can quickly respond to the host 100 request and improve performance. Afterwards, the central processing unit 201, based on the second IO controller 208, can persist the data in the cache 202 to the back-end data hard disk 300, thereby implementing data writing.
- the storage array uses the battery backup unit 206 to only supply power to the key components of the storage controller 200.
- the key components here must be able to ensure that the flushing action of the cache 202 is completed.
- the components that need to be powered include: the central processing unit 201, the cache 202, the system hard disk 203, the first cache storage disk 204, and the second cache storage disk 205. At this time, there is no need to supply power to the first IO controller 207 and the second IO controller 208, that is, the battery backup unit 206 does not need to supply power to the first IO controller 207 and the second IO controller 208.
- the above process of "persisting the data in the cache 202 to the back-end data hard disk 300" specifically includes: periodically persisting the data in the cache 202 to the back-end data hard disk 300; when there is insufficient remaining space in the cache 202, actively persisting at least part of the data first stored in the cache 202 to the back-end data hard disk 300.
- the data in the cache 202 can be periodically persisted to the data hard disk 300 at the back end of the storage array.
- the storage array periodically (for example, every 5 seconds) persists the data in the cache 202 to the data hard disk 300 at the back end of the storage array.
- part of the content in the cache 202 can be proactively eliminated, that is, the cache 202 can also be proactively persisted to the storage array backend data hard disk 300. Specifically, at least part of the data first stored in the cache 202 can be eliminated, that is, the oldest data can be eliminated. After the old data is eliminated, the phenomenon of insufficient cache 202 can be alleviated.
- the CPU 201 may write data to the first cache storage disk 204 and the second cache storage disk 205 in a serial manner. For example, the CPU 201 first stores the data in the cache 202 in the first cache storage disk 204, and then writes the data in the cache 202 to the second cache storage disk 205.
- This serial writing method is inefficient, and the battery backup unit 206 has a limited power supply life, which can easily lead to data inconsistencies between the first cache storage disk 204 and the second cache storage disk 205.
- the central processing unit 201 is specifically configured to, in the event of an abnormal power outage in the storage controller, synchronously write data in the cache 202 to the first cache storage disk 204 and the second cache storage disk 205 in parallel.
- This parallel writing method allows the time required to write data from the cache 202 to both cache storage disks to be substantially consistent with the time required to write data to a single cache storage disk, thereby improving write efficiency and reducing the power supply duration of the battery backup unit 206.
- a RAID card can be added to the storage controller.
- the storage controller also includes a RAID card 209.
- the central processing unit 201 is connected to the first cache disk 204 and the second cache disk 205 via the RAID card 209.
- the RAID card 209 is used to synchronously write data transmitted by the central processing unit 201 to the first cache disk 204 and the second cache disk 205.
- the first cache storage disk 204 and the second cache storage disk 205 are used as disks in the disk array, and the RAID card 209 is used to manage the two, so that data can be written to the first cache storage disk 204 and the second cache storage disk 205 synchronously, that is, the data in the cache 202 can be written synchronously in the event of an abnormal power outage.
- the process of implementing synchronous writing by the RAID card 209 specifically includes the following steps B1 to B2.
- Step B1 Divide the data transmitted by the central processing unit 201 into at least one data packet.
- Step B2 for any data packet, store the data packet in the first cache storage disk 204 and copy the data packet to the second cache storage disk 205 .
- the CPU 201 upon an abnormal power outage, the CPU 201 reads the data in the cache 202 and transmits it to the RAID card 209.
- the RAID card 209 then divides the data into at least one data packet, typically multiple data packets. For each data packet, the RAID card 209 writes it to the first cache storage disk 204. Furthermore, the RAID card 209 copies the data packet and writes the copied data to the second cache storage disk 205, thereby achieving data mirroring between the first cache storage disk 204 and the second cache storage disk 205.
- CPU 201 can read data from only one of the cache storage disks; alternatively, CPU 201 can read data from both first and second cache storage disks 204 and 205 in parallel to increase read speed.
- step A2 "obtaining recovered data from at least one of first and second cache storage disks 204 and 205,” can include the following step A21.
- step A21 when both the first cache storage disk 204 and the second cache storage disk 205 are normal, different parts of data are read from the first cache storage disk 204 and the second cache storage disk 205 in parallel, and the data read from the first cache storage disk 204 and the second cache storage disk 205 are combined into recovery data.
- the CPU 201 when performing data recovery, can read a portion of data from the first cache storage disk 204 and at the same time read another portion of data from the second cache storage disk 205, and then combine the two portions of data to obtain the required recovery data.
- the RAID card 209 divides the data transmitted by the CPU 201 (also the data in the cache 202) into four data packets: packet A, packet B, packet C, and packet D. After storage, these four data packets are stored on both the first cache disk 204 and the second cache disk 205. After the storage controller 200 is powered on, the CPU 201 can read a portion of the data, such as packets A and C, from the first cache disk 204, and simultaneously read another portion of the data, such as packets B and D, from the second cache disk 205. By combining these two portions of data, a complete recovery data can be obtained, which includes the four data packets mentioned above.
- the storage controller 200 itself includes a switching device (Switch), such as a PCIe Switch, which is an essential component in the storage controller 200, this embodiment uses the switching device to achieve parallel writing without the need to introduce additional hardware (such as a RAID card 209).
- Switch switching device
- PCIe Switch PCIe Switch
- FIG6 illustrates another schematic diagram of a storage controller 200 implementing parallel data writes.
- the storage controller 200 further includes a switch 210 .
- the switch 210 is connected to the root complex 2011 of the CPU 201 and to the first cache disk 204 and the second cache disk 205 .
- the switch 210 is configured to synchronously write data transmitted by the CPU 201 to the first cache disk 204 and the second cache disk 205 .
- the central processing unit 201 of the storage controller 200 is provided with an interface with the PCle topology, namely, a root complex (RC) 2011.
- the root complex 2011 is generally integrated inside the central processing unit 201.
- FIG6 shows a logical architecture diagram.
- the storage controller 200 is also provided with a switching device 210, which is generally implemented in the form of a PCIe switching chip.
- a switching device 210 By connecting the first cache storage disk 204 and the second cache storage disk 205 to the corresponding interfaces of the switching device 210, data transmission between the central processing unit 201 and the first cache storage disk 204 and the second cache storage disk 205 can be realized; and, by configuring the switching device 210, the purpose of writing data in the cache 202 to the first cache storage disk 204 and the second cache storage disk 205 at the same time can be achieved, thereby realizing parallel writing.
- the process of implementing parallel data writing by the switching device 210 specifically includes the following steps C1 to C2.
- step C1 the first interface connected to the first cache storage disk 204 and the second interface connected to the second cache storage disk 205 are both used as valid interfaces.
- Step C2 when the storage controller is abnormally powered off, broadcast the data transmitted by the central processing unit 201 to all valid interfaces.
- the switching device 210 is capable of writing data to the first cache storage disk 204 and the second cache storage disk 205 in parallel.
- the first cache storage disk 204 and the second cache storage disk 205 are regarded as a valid group, and then the members in the valid group can be broadcast to achieve parallel data writing without affecting other components of the switching device 210 vector.
- the switching device 210 is connected to the first cache storage disk 204 via a first interface (e.g., a PCIe interface), and is connected to the second cache storage disk 205 via a second interface.
- a first interface e.g., a PCIe interface
- the first interface and the second interface are two different interfaces in the switching device 210.
- the switching device 210 treats both the first interface and the second interface as valid interfaces. For example, the switching device 210 sets an valid group and adds the first interface and the second interface to the valid group, thereby forming an valid group including the first interface and the second interface. By maintaining the valid group, it is possible to determine which interfaces to broadcast to when writing data in parallel.
- the switch 210 can obtain the data transmitted by the CPU 201, which is the data in the cache 202.
- the switch 210 can then broadcast the data transmitted by the CPU 201 to all valid interfaces (including the first and second interfaces) in the active group, thereby writing the data in parallel to the first and second cache storage disks 204 and 205.
- This method not only improves transmission efficiency but also eliminates the need to broadcast data to unnecessary components, thereby reducing bandwidth loss.
- the storage controller provided in this embodiment adds two cache storage disks and a power backup unit to the original structure to achieve persistence of cache 202. Furthermore, to shorten the time it takes to flush data from cache 202 to the cache storage disks, the switching device 210 originally provided in the storage controller can write data to the two cache storage disks in parallel without adding any additional hardware.
- the switching device 210 uses the first interface connected to the first cache storage disk 204 and the second interface connected to the second cache storage disk 205 as valid interfaces. When data needs to be written to the cache storage disks, parallel data writing can be achieved by broadcasting to all valid interfaces. This implementation is simple and does not affect the data transmission process of other interfaces of the switching device 210.
- This storage controller solves some of the drawbacks of the original cache 202 persistence mechanism, directly improving the reliability of the key component of cache 202, thereby improving the reliability of the storage controller 200.
- the present application also provides a storage array, comprising: a storage controller 200 and a data hard disk 300 as provided in any of the above embodiments; the storage controller 200 is connected to the data hard disk 300 and is configured to perform read and write operations on the data hard disk 300.
- a storage array comprising: a storage controller 200 and a data hard disk 300 as provided in any of the above embodiments; the storage controller 200 is connected to the data hard disk 300 and is configured to perform read and write operations on the data hard disk 300.
- the structure of the storage array can be seen in FIG. 2 and other figures (the storage array does not include the host 100), and will not be further described here.
- FIG. 7 there are multiple storage controllers 200 , and the multiple storage controllers 200 are interconnected.
- the first storage controller is used to write the data at the host 100 into the local first cache and generate first verification data for the data stored in the first cache; copy the data stored in the first cache and the first verification data to the second storage controller; the first storage controller and the second storage controller are two storage controllers in the storage array.
- the cache 202 of the first storage controller is referred to as the first cache
- the cache 202 of the second storage controller is referred to as the second cache.
- the first storage controller obtains data from the host 100, it writes the data into its own first cache and generates verification data, namely, first verification data.
- the first verification data can be generated by performing an exclusive-OR operation on the cache data.
- the first storage controller copies the data stored in the first cache to the second storage controller, so that the second storage controller writes the data into its local second cache.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种存储控制器及存储阵列,存储控制器包括:中央处理器、缓存、系统硬盘、第一缓存保存盘、第二缓存保存盘和电池备份单元;中央处理器用于读写缓存中的数据;第一缓存保存盘和第二缓存保存盘均与中央处理器相连;电池备份单元用于在存储控制器异常掉电的情况下,为相应部件供电;中央处理器还用于:在存储控制器异常掉电的情况下,将缓存中的数据写入至第一缓存保存盘和第二缓存保存盘,实现对缓存中数据的持久化,便于后续进行数据恢复,保证存储控制器的可靠性。
Description
相关申请的交叉引用
本申请要求于2024年03月29日提交中国专利局,申请号为202410372953.4,申请名称为“存储控制器及存储阵列”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及存储设备技术领域,具体涉及一种存储控制器及存储阵列。
存储阵列一般通过存储控制器实现与主机(Host)与内部数据硬盘之间的交互。存储控制器中设有缓存(Cache),用于缓存热门数据和常用操作,从而减少对磁盘的访问次数。
但是,在意外断电或系统故障时,缓存中的数据会丢失,导致存储阵列的数据硬盘中存储的数据出现异常,例如出现数据丢失等问题,影响存储阵列的可靠性。
有鉴于此,本申请提供了一种存储控制器及存储阵列,以解决存储阵列可靠性较差的问题。
第一方面,本申请提供了一种存储控制器,包括:中央处理器、缓存、系统硬盘、第一缓存保存盘、第二缓存保存盘和电池备份单元;
中央处理器与缓存相连,用于读写缓存中的数据;
系统硬盘与中央处理器相连,用于向中央处理器提供工作所需的操作系统;
第一缓存保存盘和第二缓存保存盘均与中央处理器相连;中央处理器还用于:在存储控制器异常掉电的情况下,将缓存中的数据写入至第一缓存保存盘和第二缓存保存盘;
电池备份单元用于在存储控制器异常掉电的情况下,为中央处理器、缓存、系统硬盘、第一缓存保存盘和第二缓存保存盘供电。
在一些实施方式中,存储控制器还包括:第一IO控制器和第二IO控制器;
第一IO控制器用于与前端的主机相连;
第二IO控制器用于与后端的数据硬盘相连。
在一些实施方式中,中央处理器具体用于:
基于第一IO控制器获取主机发送的写入请求,并将相应的待写入数据存储至缓存;
基于第二IO控制器,将缓存中的数据持久化至后端的数据硬盘。
在一些实施方式中,将缓存中的数据持久化至后端的数据硬盘,包括:
将缓存中的数据周期性地持久化至后端的数据硬盘;
在缓存剩余空间不足的情况下,将最先存储至缓存的至少部分数据主动持久化至后端的数据硬盘。
在一些实施方式中,中央处理器具体用于:
在存储控制器异常掉电的情况下,以并行的方式,将缓存中的数据同步写入至第一缓存保存盘和第二缓存保存盘。
在一些实施方式中,存储控制器还包括:RAID卡;中央处理器通过RAID卡与第一缓存保存盘和第二缓存保存盘相连;
RAID卡用于将中央处理器传输的数据同步写入至第一缓存保存盘和第二缓存保存盘。
在一些实施方式中,RAID卡具体用于:
将中央处理器传输的数据分为至少一个数据包;
对于任意数据包,将数据包存储至第一缓存保存盘,并将数据包复制至第二缓存保存盘。
在一些实施方式中,存储控制器还包括:交换装置;交换装置与中央处理器的根复合体相连,并与第一缓存保存盘和第二缓存保存盘相连;
交换装置用于将中央处理器传输的数据同步写入至第一缓存保存盘和第二缓存保存盘。
在一些实施方式中,交换装置具体用于:
将与第一缓存保存盘相连的第一接口以及与第二缓存保存盘相连的第二接口均作为有效接口;
在存储控制器异常掉电的情况下,向所有的有效接口广播中央处理器传输的数据。
在一些实施方式中,中央处理器还用于:
在存储控制器上电启动时,判断存储控制器上一次关闭是否为异常掉电;
在存储控制器上一次关闭是异常掉电的情况下,从第一缓存保存盘和第二缓存保存盘中的至少一个中得到恢复数据,并将恢复数据恢复至缓存。
在一些实施方式中,从第一缓存保存盘和第二缓存保存盘中的至少一个中得到恢复数据,包括:
在第一缓存保存盘和第二缓存保存盘均正常的情况下,从第一缓存保存盘和第二缓存保存盘中并行读取不同部分的数据,将从第一缓存保存盘和第二缓存保存盘中分别读取到的数据组合为恢复数据。
在一些实施方式中,所述系统硬盘还用于进行操作系统引导、故障恢复和更新、存储配置和管理中任一项。
在一些实施方式中,所述中央处理器用于在所述主机与所述数据硬盘之间进行数据交互的过程中,基于所述缓存临时高速存储数据。
在一些实施方式中,所述第一缓存保存盘和所述第二缓存保存盘以数据镜像的方式保存所述缓存中的数据。
在一些实施方式中,所述存储控制器用于基于获取的系统日志和/或异常掉电标志位判断上一次关闭是否为异常掉电。
第二方面,本申请提供了一种存储阵列,包括:上述第一方面或其对应的任一实施方式的存储控制器和数据硬盘;
存储控制器与数据硬盘相连,用于对数据硬盘进行读写操作。
在一些实施方式中,存储控制器的数量为多个;多个存储控制器之间互联。
在一些实施方式中,第一存储控制器用于将主机处的数据写入本地的第一缓存,并产生第一缓存中存储的数据的第一校验数据;将第一缓存中存储的数据以及第一校验数据复制至第二存储控制器;第一存储控制器和第二存储控制器为存储阵列中的两个存储控制器;
第二存储控制器用于将第一缓存中存储的数据存储至本地的第二缓存,并产生第二缓存中存储的数据的第二校验数据;在第二校验数据与第一校验数据相一致的情况下,向第一存储控制器反馈消息。
在一些实施方式中,多个存储控制器均用于与主机的多个网络适配器相连。
第三方面,本申请提供了一种服务器,所述服务器包括如上所述的存储阵列。
本申请提供的一种存储控制器,为其设置第一缓存保存盘、第二缓存保存盘和电池备份单元,在异常掉电时,电池备份单元可以提供备份电能,中央处理器将缓存中的数据写入至第一缓存保存盘和第二缓存保存盘,实现对缓存中数据的持久化,便于后续进行数据恢复。该存储控制器利用内控的缓存保存盘,可以在不与外部数据硬盘连接交互的情况下,保护缓存中的数据,实现简单,处理效率高;缓存保存盘只在异常掉电时工作,可以不受中央处理器的其他IO影响。第一缓存保存盘与第二缓存保存盘之间数据镜像,在其中一个系统故障时,另一个也可以提供恢复数据,能够保证存储控制器的可靠性。
为了更清楚地说明本申请具体实施方式或相关技术中的技术方案,下面将对具体实施方式或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的主机与存储阵列的一种交互示意图;
图2是根据本申请实施例的存储控制器的一种结构示意图;
图3是根据本申请实施例的存储控制器实现缓存持久化的一种流程示意图;
图4是根据本申请实施例的存储控制器的另一种结构示意图;
图5是根据本申请实施例的存储控制器并行写入数据的一种实现原理示意图;
图6是根据本申请实施例的存储控制器并行写入数据的另一种实现原理示意图;
图7是根据本申请实施例的存储阵列的一种结构示意图。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
此外,下面所描述的本申请不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
图1示出了存储阵列与主机之间进行交互的示意图。如图1所示,存储阵列包括存储控制器和位于后端的硬盘,该硬盘主要用于存储数据,故称之为数据硬盘。存储阵列可通过主机的网络适配器,实现与主机的通信,该网络适配器具体可以为HBA(Host Bus Adapter,主机总线适配器)、NIC(Network Interface Controller,网卡)等,图1以存储阵列接入主机的HBA为例示出。
如图1所示,存储阵列的存储控制器接收到主机发送的写入请求后,存储控制器的CPU(中央处理器)可以将相应的数据写入缓存中,以提高数据访问速度和系统性能;之后,CPU可以将缓存中临时存储的数据写入至后端的数据盘,从而实现将主机侧的数据存储至后端的数据硬盘。
但是,在存储控制器意外断电或系统故障时,其缓存中的数据会丢失,导致存储阵列的数据硬盘中存储的数据可能出现数据丢失等异常问题。例如,在将主机请求写入的数据包写入至数据硬盘时,若缓存中先缓存了十个数据包“数据包0~数据包9;若之后存储控制器将数据包0~数据包5成功写入至数据硬盘,但此时存储控制器异常断电,则会因失电而导致缓存中存储的数据(数据包6~数据包9)丢失,即数据包6~数据包9并未被写入至数据硬盘。
而当数据被写入到缓存中时,存储阵列通常会立即确认写操作成功,即使实际上数据还没有真正被写入持久的数据硬盘。因此,在上述情况下,会导致存储阵列侧的数据包6~数据包9丢失。
本实施例提供的存储控制器,通过设置两个缓存保存盘,并使用电池备份单元进行供电,可以在异常掉电时保存缓存中的数据,实现对缓存的持久化,从而确保写操作成功后,有效避免数据丢失等问题,使得数据能够真正被安全地写入到持久的数据硬盘中,以保障数据的一致性和可靠性。
在本实施例中提供了一种存储控制器,其为存储阵列的控制器,可应用于图1所示的场景,实现主机与数据硬盘之间的交互。具体地,图2示出了该存储控制器的具体应用场景示意图。如图2所示,该存储控制器200设置在主机100与数据硬盘300之间;可以理解,存储控制器200和数据硬盘300可以形成存储阵列,该存储阵列例如可以为RAID(Redundant Arrays of Independent Disks,独立冗余磁盘阵列)等。
如图2所示,该存储控制器200包括:中央处理器201、缓存202、系统硬盘203、第一缓存保存盘204、第二缓存保存盘205和电池备份单元206。
其中,中央处理器201是主控部件,其具体可以为CPU,用于处理控制和业务逻辑,例如控制实现数据存储。
缓存202用于高速临时存储数据,例如临时存放频繁访问的数据、主机下发的数据等。其中,缓存202与中央处理器201相连,可以在中央处理器201的作用下,将数据写入缓存202,并供中央处理器201在需要的情况下读取缓存202中的数据,以提升性能。该缓存202是放置在低速的数据硬盘300之前的高速随机访问设备,一般可以采用内存作为缓存202,例如,采用DRAM(Dynamic Random Access Memory,动态随机存取内存)作为缓存设备。
其中,缓存202在存储阵列中具有以下作用:
(1)提高读取性能:存储阵列会将最常用的数据块存储在缓存202中,这样当应用程序请求这些数据时,可以直接从缓存202中获取,避免了频繁的磁盘(例如数据硬盘300等)读取操作,从而提高了读取性能。
(2)提高写入性能:缓存202可以暂时存储待写入的数据,然后将其合并为更大的块再写入磁盘(例如数据硬盘300)。这种方式可以减少写入操作的次数,提高写入性能,并减轻了对磁盘的负载。
(3)平滑访问峰值:在高负载情况下,存储阵列的缓存202可以暂时存储来自多个主机100的请求,从而平滑了访问峰值,避免了系统性能的下降。
(4)减少磁盘访问:缓存202可以减少对物理磁盘(例如数据硬盘300)的访问,延长了磁盘的寿命,同时也降低了能耗和故障率。
系统硬盘203与中央处理器201相连,用于向中央处理器201提供工作所需的操作系统。系统硬盘203还可以用于进行操作系统引导、故障恢复和更新、存储配置和管理中任一项。
具体地,系统硬盘203用于存储操作系统和相关的控制器软件;这些软件负责管理和控制存储阵列的各种功能和操作,系统硬盘203的作用还包括操作系统引导、故障恢复和更新、存储配置和管理等。
可以理解,存储控制器200上电工作后,启动系统硬盘203中的操作系统,使得中央处理器201可以按需对缓存202进行读取,以实现主机100与后端数据硬盘300之间的数据交互。
如上,在主机100与后端数据硬盘300之间进行数据交互的过程中,中央处理器201会基于缓存202临时高速存储数据,以提高数据读取效率;但在存储控制器200异常掉电(例如,突然停电、系统故障等)时,会导致缓存202中的数据丢失。为在存储控制器200异常掉电时,能够保护缓存202中的数据免受丢失,故存储阵列中的缓存202必须考虑持久化的机制。这种持久化机制的作用主要有两点。
1.数据持久性:存储阵列的缓存202通常用于加速读写操作,但由于缓存202是易失性的,如果在缓存202中的数据未被写入磁盘(例如,数据硬盘300)之前发生了异常断电,这些数据可能会丢失。缓存202的持久化机制的作用是:在异常断电的情况下,将缓存202中的数据写入到持久存储介质(比如磁盘、闪存等)中,以确保数据的持久性。
2.数据完整性:缓存持久化机制还可以用于维护数据的完整性。当数据被写入到缓存202中时,存储阵列通常会立即确认写操作成功,即使实际上数据还没有真正写入持久存储(例如,数据硬盘300)。缓存持久化机制可以确保在确认写操作成功后,数据真正被安全地写入到持久存储介质中,以保障数据的一致性和可靠性。
目前,一般实现持久化机制的方式通常是为缓存单独供电(额外设置单独的电源),以确保即使在异常断电情况下,缓存202中的数据也能持久保存一段时间。但这种持久化机制只能保持一段时间,在单独的电源失电后,仍然会导致缓存202中的数据丢失。
此外,在存储控制器200异常掉电时,可以将缓存202中的数据持久化至数据硬盘300上,实现缓存202中数据的下刷。但为了能够在存储阵列电源故障时,保证缓存202的可靠性,也需要使用单独电源对存储控制器200进行供电,以完成缓存202中数据的下刷;并且,由于当缓存202中的数据需要保存在数据硬盘300上时,该单独电源需同时对数据硬盘300进行供电,这种模式大大缩短了单独电源能供电的时长。
或者,也可以将缓存202的持久化位置设置在存储控制器200的系统盘,即控制器软件和操作系统硬盘,例如,存储控制器200的系统硬盘203;这样做的好处是可以更好地管理和维护缓存202中数据的保护,同时减少了与外部连接的复杂性。但是这种方案存在如下缺点:系统盘(例如,系统硬盘203)的主要目的是保存操作系统和存储阵列系统软件,以及配置管理信息,所以系统盘对IO(输入输出)性能要求并不高,而缓存202持久化时受限于单独电源的电量,系统盘写入速度越快、缓存202的持久化时间越短越好。并且,系统盘工作过程中本身存在大量的IO请求,这也会影响缓存202的持久化过程。
本实施例中,如图2所示,该存储控制器200还包括第一缓存保存盘204、第二缓存保存盘205和电池备份单元206,利用多个缓存保存盘实现对缓存202的持久化。
具体地,如图2所示,第一缓存保存盘204和第二缓存保存盘205均与中央处理器201相连;该中央处理器201还用于:在存储控制器200异常掉电的情况下,将缓存202中的数据写入至第一缓存保存盘204和第二缓存保存盘205。
其中,电池备份单元206用于在存储控制器异常掉电的情况下,为中央处理器201、缓存202、系统硬盘203、第一缓存保存盘204和第二缓存保存盘205供电。
本实施例中,在控制器机框上增加缓存保存盘,即为存储控制器200增加缓存保存盘;同时,为避免缓存保存盘本身出现故障,采用了两块缓存保存盘,即第一缓存保存盘204、第二缓存保存盘205。其中,第一缓存保存盘204、第二缓存保存盘205均是一种硬盘,可以持久化存储数据;并且,在一示例中,第一缓存保存盘204和第二缓存保存盘205以类似数据镜像的方式保存缓存202中的数据,实现对缓存202中数据的持久化。
并且,该存储控制器200中还设有电池备份单元(Battery Backup Unit,BBU)206,其主要用途是存储控制器200的备份电源,以在突发性的断电或电源故障时,为实现缓存持久化所需的部件提供临时的电源供应,以防止数据丢失或损坏,保证数据完整性和可靠性。
具体地,存储控制器200在工作过程中,中央处理器201、缓存202、系统硬盘203正常工作,不需要电池备份单元206供电,也不需要向第一缓存保存盘204、第二缓存保存盘205中存储数据。并且,若存储控制器200正常断电,也会在将缓存202中的数据处理完毕后再完全断电,不存在数据丢失的问题。
在存储控制器200异常掉电的情况下,电池备份单元206开始工作,并为中央处理器201、缓存202、系统硬盘203,以保证中央处理器201可以在系统硬盘203中操作系统的作用下,对缓存202内的数据进行处理。并且,该电池备份单元206还为第一缓存保存盘204和第二缓存保存盘205供电,以能够向第一缓存保存盘204和第二缓存保存盘205内写入数据。
其中,若存储控制器200异常掉电,在电池备份单元206的作用下,中央处理器201可以读取缓存202中的数据;由于此时存储阵列失电,存储控制器200不能向数据硬盘300写入数据,但是,由于电池备份单元206当前在向第一缓存保存盘204和第二缓存保存盘205供电,故中央处理器201可以将缓存202中的数据写入至第一缓存保存盘204和第二缓存保存盘205,实现对缓存202中数据的持久化。一般情况下,第一缓存保存盘204和第二缓存保存盘205以类似数据镜像的方式保存缓存202中的数据,以避免因异常断电而导致缓存202中的数据发生丢失。在后续存储控制器200正常上电后,即可基于第一缓存保存盘204、第二缓存保存盘205中保存的数据,进行数据恢复。
在一些实施方式中,该中央处理器201实现数据恢复的过程包括以下步骤A1至步骤A2。
步骤A1,在存储控制器200上电启动时,判断存储控制器200上一次关闭是否为异常掉电。
步骤A2,在存储控制器上一次关闭是异常掉电的情况下,从第一缓存保存盘204和第二缓存保存盘205中的至少一个中得到恢复数据,并将恢复数据恢复至缓存202。
本实施例中,存储控制器200每次上电启动时,均可以判断存储控制器200上一次关闭是否为异常掉电。
在实际应用中,所述存储控制器200可以用于基于获取的系统日志和/或异常掉电标志位判断上一次关闭是否为异常掉电,在系统日志和/或异常掉点标识中为可以预先设置相关可以用于表示存储控制器掉电或不掉电状态的信息。
例如,存储控制器200可以基于系统日志(或者设置异常掉电标志位等)判断上一次关闭是否为异常掉电。若上一次关闭是正常断电,则不需要进行数据恢复,即正常启动即可;相反地,若上一次关闭是正常断电,则存储控制器200需要进行数据恢复。
具体地,中央处理器201从第一缓存保存盘204和第二缓存保存盘205中的至少一个中得到恢复数据,例如,若第一缓存保存盘204当前存在故障,但第二缓存保存盘205不存在系统故障,则从第二缓存保存盘205中得到恢复数据;可以理解,该恢复数据是第一缓存保存盘204、第二缓存保存盘205中存储的完整数据,也是上一次异常掉电时缓存202中临时存储的数据。中央处理器201读取到该恢复数据后,即可将该恢复数据写入至缓存202,也就是使用缓存保存盘(第一缓存保存盘204和/或第二缓存保存盘205)中的备份数据来恢复缓存202中的数据,进行缓存202的重建。缓存202重建完成,存储控制器200即恢复到上次意外掉电之前的状态,此时存储阵列即可进入业务态,可以对外提供服务。
图3示出了存储控制器200实现缓存持久化的流程示意图,如图3所示,该过程具体包括以下步骤S301至步骤S306。
步骤S301,在存储控制器200异常掉电的情况下,中央处理器201读取缓存202中的数据。
步骤S302,中央处理器201将缓存202中的数据写入缓存保存盘。该缓存保存盘具体包括第一缓存保存盘204和第二缓存保存盘205,即需要将缓存202中的数据以镜像的方式写入两个缓存保存盘。
步骤S303,缓存保存盘存储完毕后,向中央处理器201反馈消息。
中央处理器201在确定缓存保存盘存储完毕后,即可通知电池备份单元206断电,不需要再为中央处理器201、缓存202、系统硬盘203、第一缓存保存盘204和第二缓存保存盘205等供电。
步骤S304,上电启动时,中央处理器201判断存储控制器200上一次关闭是否为异常掉电。
步骤S305,若上一次关闭是正常断电,则中央处理器201需要从第一缓存保存盘204和第二缓存保存盘205中的至少一个中读取恢复数据。
步骤S306,中央处理器201将该恢复数据写入至缓存202。
本实施例提供的一种存储控制器,为其设置第一缓存保存盘204、第二缓存保存盘205和电池备份单元206,在异常掉电时,电池备份单元206可以提供备份电能,中央处理器201将缓存202中的数据写入至第一缓存保存盘204和第二缓存保存盘205,实现对缓存202中数据的持久化,便于后续进行数据恢复。该存储控制器利用内控的缓存保存盘,可以在不与外部数据硬盘300连接交互的情况下,保护缓存202中的数据,实现简单,处理效率高;缓存保存盘只在异常掉电时工作,可以不受中央处理器201的其他IO影响。第一缓存保存盘204与第二缓存保存盘205之间数据镜像,在其中一个系统故障时,另一个也可以提供恢复数据,能够保证存储控制器的可靠性。
在一些实施方式中,参见图4所示,该存储控制器200还包括:第一IO控制器207和第二IO控制器208。其中,第一IO控制器207用于与前端的主机100相连;第二IO控制器208用于与后端的数据硬盘300相连。
本实施例中,第一IO控制器207是一种前端控制器,其可以与前端的主机100进行通信,例如接收主机100下发的数据写入请求,或者将主机100所需的数据(由存储控制器200从数据硬盘300中读取的数据)发送至主机100。
第二IO控制器208是一种后端控制器,其用于和硬盘框中的数据硬盘300通信,进行对数据硬盘300进行读写,例如,将主机100所下发的数据写入至该数据硬盘300。
具体地,该中央处理器201具体用于:基于第一IO控制器207获取主机100发送的写入请求,并将相应的待写入数据存储至缓存202;基于第二IO控制器208,将缓存202中的数据持久化至后端的数据硬盘300。
本实施例中,当主机100发送写入请求到存储阵列时,存储控制器200基于该第一IO控制器207可以获取到写入请求,该写入请求包括需要写入至数据硬盘300的数据,即待写入数据;此时,中央处理器201将该待写入数据先存储至缓存202,这样可以快速响应主机100的请求并提高性能。之后,中央处理器201基于第二IO控制器208,即可将缓存202中的数据持久化至后端的数据硬盘300,实现数据写入。
可以理解,在存储控制器200意发生意外掉电时,存储阵列使用电池备份单元206只需要对存储控制器200关键部件进行供电,这里的关键部件要能保证完成缓存202的刷写动作,需要供电的部件具体包括:中央处理器201、缓存202、系统硬盘203、第一缓存保存盘204、第二缓存保存盘205,而此时不需要对第一IO控制器207和第二IO控制器208供电,即电池备份单元206不需要对第一IO控制器207和第二IO控制器208供电。
在一些实施方式中,上述过程“将缓存202中的数据持久化至后端的数据硬盘300”具体包括:将缓存202中的数据周期性地持久化至后端的数据硬盘300;在缓存202剩余空间不足的情况下,将最先存储至缓存202的至少部分数据主动持久化至后端的数据硬盘300。
本实施例中,缓存202中的数据可以周期持久化到存储阵列后端的数据硬盘300,例如,存储阵列定期(例如每5秒钟)将缓存202中的数据持久化到存储阵列后端的数据硬盘300中。
并且,当缓存202不足时,即在缓存202剩余空间不足的情况下,可以主动将缓存202中部分内容进行淘汰,即缓存202也可以主动持久化到存储阵列后端数据硬盘300。具体地,可以将最先存储至缓存202的至少部分数据进行淘汰,即淘汰最旧的数据,淘汰旧数据之后,缓存202不足的现象就能得以缓解。
在一些实施方式中,中央处理器201向第一缓存保存盘204、第二缓存保存盘205写入数据时,可以以串行的方式进行写入,例如,中央处理器201先将缓存202中的数据吸入第一缓存保存盘204,之后再将缓存202中的数据写入第二缓存保存盘205。这种串行方式写入效率较低,而电池备份单元206供电时长有限,容易出现第一缓存保存盘204、第二缓存保存盘205中数据不一致的情况。
本实施例中,该中央处理器201具体用于:在存储控制器异常掉电的情况下,以并行的方式,将缓存202中的数据同步写入至第一缓存保存盘204和第二缓存保存盘205。以并行写入的方式,可以使得将缓存202中的数据写入两个缓存保存盘的时间,与写入一块缓存保存盘的时间基本一致,可以提高写入效率,能够降低电池备份单元206的供电时长。
在一些实施方式中,为实现并行写入数据,可以为该存储控制器增设RAID卡。如图5所示,该存储控制器还包括:RAID卡209;中央处理器201通过RAID卡209与第一缓存保存盘204和第二缓存保存盘205相连;该RAID卡209用于将中央处理器201传输的数据同步写入至第一缓存保存盘204和第二缓存保存盘205。
本实施例中,将第一缓存保存盘204和第二缓存保存盘205作为磁盘阵列中的磁盘,使用RAID卡209对二者进行管理,从而可以实现向第一缓存保存盘204和第二缓存保存盘205同步写入数据,即在异常掉电时同步写入缓存202中的数据。
其中,该RAID卡209实现同步写入的过程具体包括以下步骤B1至步骤B2。
步骤B1,将中央处理器201传输的数据分为至少一个数据包。
步骤B2,对于任意数据包,将数据包存储至第一缓存保存盘204,并将数据包复制至第二缓存保存盘205。
本实施例中,在异常掉电时,中央处理器201读取缓存202中的数据,并将该数据传输至RAID卡209;RAID卡209对该数据进行划分,分为至少一个数据包,一般分为多个数据包。对于每个数据包,RAID卡209将该数据包写入第一缓存保存盘204,并且,并RAID卡209还对该数据包进行复制,并将复制的数据写入至第二缓存保存盘205,使得第一缓存保存盘204和第二缓存保存盘205实现数据镜像。
其中,中央处理器201在进行数据恢复时,可以只从其中一个缓存保存盘中读取数据;或者,也可以并行读取第一缓存保存盘204和第二缓存保存盘205中的数据,以提高读取速度。具体地,上述步骤A2“从第一缓存保存盘204和第二缓存保存盘205中的至少一个中得到恢复数据”,可以包括以下步骤A21。
步骤A21,在第一缓存保存盘204和第二缓存保存盘205均正常的情况下,从第一缓存保存盘204和第二缓存保存盘205中并行读取不同部分的数据,将从第一缓存保存盘204和第二缓存保存盘205中分别读取到的数据组合为恢复数据。
本实施例中,中央处理器201在进行数据恢复时,可以从第一缓存保存盘204中读取一部分数据,同时,从第二缓存保存盘205中读取另一部分数据,之后将这两部分数据进行组合,即可得到所需的恢复数据。
例如,在上述步骤B1中,RAID卡209将中央处理器201传输的数据(也是缓存202中的数据)分为四个数据包:数据包A、数据包B、数据包C、数据包D,经过存储后,第一缓存保存盘204和第二缓存保存盘205均存有该四个数据包。在存储控制器200上电后,中央处理器201可以从第一缓存保存盘204中读取一部分数据,例如数据包A和数据包C,同时,从第二缓存保存盘205中读取另一部分数据,例如数据包B和数据包D,将这两部分数据进行组合,即可得到完整的恢复数据,该恢复数据包括上述的四个数据包。
本实施例中,通过为存储控制器200设置硬件的RAID卡209,可以方便地将数据同步存储至第一缓存保存盘204和第二缓存保存盘205,实现缓存202数据的并行写入。该方案虽然可以满足需求,但需要增加额外的RAID卡209,成本偏高。
或者,在一些实施方式中,由于存储控制器200本身包含交换装置(Switch),例如PCIe Switch,其是存储控制器200中的必备组件,本实施例利用交换装置实现并行写入,不需要额外引入其余硬件(例如RAID卡209)。
图6示出了存储控制器200实现并行写入数据的另一种示意图。如图6所示,该存储控制器200还包括:交换装置210;该交换装置210与中央处理器201的根复合体2011相连,并与第一缓存保存盘204和第二缓存保存盘205相连;该交换装置210用于将中央处理器201传输的数据同步写入至第一缓存保存盘204和第二缓存保存盘205。
本实施例中,对于存储控制器200的中央处理器201,其设有与PCle拓扑之间的接口,即根复合体(Root Complex,RC)2011,该根复合体2011一般集成在中央处理器201内部,图6示出的是一种逻辑上的架构图。
并且,存储控制器200还设有交换装置210,其一般实现形式是PCIe交换芯片,将第一缓存保存盘204和第二缓存保存盘205接入交换装置210相应的接口,即可实现中央处理器201与第一缓存保存盘204、第二缓存保存盘205之间的数据传输;并且,通过配置交换装置210,即可实现向第一缓存保存盘204、第二缓存保存盘205同时写入缓存202中数据的目的,实现并行写入。
在一些实施方式中,该交换装置210实现并行写入数据的过程具体包括以下步骤C1至步骤C2。
步骤C1,将与第一缓存保存盘204相连的第一接口以及与第二缓存保存盘205相连的第二接口均作为有效接口。
步骤C2,在存储控制器异常掉电的情况下,向所有的有效接口广播中央处理器201传输的数据。
本实施例中,交换装置210为能够向第一缓存保存盘204和第二缓存保存盘205并行写入数据,将第一缓存保存盘204和第二缓存保存盘205作为一个有效组,之后可以对该有效组内的成员进行广播,即可实现并行写入数据,并不影响与该交换装置210向量的其他部件。
具体地,本实施例中,交换装置210通过第一接口(例如,PCIe接口)与第一缓存保存盘204相连,并通过第二接口与第二缓存保存盘205相连,可以理解,该第一接口与第二接口是交换装置210中的两个不同接口。交换装置210将该第一接口和第二接口均作为有效接口,例如,交换装置210设置有效组,并将第一接口和第二接口添加至该有效组,从而形成包含第一接口和第二接口的有效组,通过维护该有效组,即可确定在并行写入数据时,向哪些接口进行广播。
在存储控制器200异常掉电的情况下,交换装置210可以获取到中央处理器201传输的数据,该数据即为缓存202中的数据;之后,交换装置210即可向有效组内的所有有效接口(包括第一接口和第二接口)广播该中央处理器201传输的数据,从而将该数据并行写入至第一缓存保存盘204和第二缓存保存盘205。该方式不仅传输效率高,还不需要向不必要的其他部件进行广播,可以减小带宽损耗。
本发明实施例还可以提供一种包含前述介绍的存储阵列的服务器。
本实施例提供的存储控制器,原有结构的基础上,增加了两个缓存保存盘和电源备份单元,实现对缓存202的持久化;并且,为了缩短将缓存202的数据刷写到缓存保存盘上的时间,基于存储控制器原本设置的交换装置210,可以在不增加额外硬件的基础上向两个缓存保存盘并行写入数据。交换装置210将与第一缓存保存盘204相连的第一接口以及与第二缓存保存盘205相连的第二接口均作为有效接口,之后在需要向缓存保存盘写入数据时,通过向所有的有效接口进行广播,即可实现并行写入数据,实现方式简单,且不影响交换装置210其他接口的数据传输过程。该存储控制器解决了原有缓存202持久化机制的一些弊端,直接提高了缓存202这一关键部件的可靠性,从而提高了存储控制器200的可靠性。
本申请实施例还提供一种存储阵列,该存储阵列包括:如上任一实施例提供的存储控制器200和数据硬盘300;存储控制器200与数据硬盘300相连,用于对数据硬盘300进行读写操作。该存储阵列的结构可参见图2等所示(存储阵列不包含主机100),此处不再赘述。
在一些实施方式中,参见图7所示,该存储控制器200的数量为多个;多个存储控制器200之间互联。
本实施例中,利用多个互联的存储控制器200可以协同实现主机100与数据硬盘300进行数据交互,且若其中部分存储控制器200存在故障(例如异常掉电),其余部分存储控制器200仍然可以正常工作。一般情况下,为节约成本,存储阵列设置两个存储控制器200即可,具体可参见图7所示。
在一些实施方式中,多个存储控制器200均用于与主机100的多个网络适配器相连。该网络适配器具体可以为HBA(Host Bus Adapter,主机总线适配器)、NIC(Network Interface Controller,网卡)等。如图7所示,该存储阵列设有两个存储控制器200,主机100设有两个HBA,即HBA1、HBA2,两个存储控制器200均与HBA 1、HBA2相连;例如,两个存储控制器200通过各自的第一IO控制器,均与主机100的HBA 1、HBA 2相连。
存储阵列通过主机100的多个网络适配器,实现与主机100的连接,可以提高主机100侧网络适配器的可靠性。
在一些实施方式中,存储阵列的多个存储控制器之间协同控制,实现数据读写。具体地,为方便描述,将存储阵列中的两个存储控制器分别称为第一存储控制器和第二存储控制器。
其中,第一存储控制器用于将主机100处的数据写入本地的第一缓存,并产生第一缓存中存储的数据的第一校验数据;将第一缓存中存储的数据以及第一校验数据复制至第二存储控制器;第一存储控制器和第二存储控制器为存储阵列中的两个存储控制器。
第二存储控制器用于将第一缓存中存储的数据存储至本地的第二缓存,并产生第二缓存中存储的数据的第二校验数据;在第二校验数据与第一校验数据相一致的情况下,向第一存储控制器反馈消息。
本实施例中,在第一存储控制器和第二存储控制器均能够正常工作时(二者不存在故障),对两个存储控制器的缓存202进行数据镜像,以保证二者缓存202的一致性。
具体地,将第一存储控制器的缓存202称为第一缓存,将第二存储控制器的缓存202称为第二缓存。第一存储控制器获取到主机100处的数据后,将该数据写入自己的第一缓存,并形成校验数据,即第一校验数据;例如,可以对缓存数据进行异或处理等,产生第一校验数据。并且,第一存储控制器将第一缓存中存储的数据复制到第二存储控制器,以使得第二存储控制器将该数据写入本地的第二缓存。
并且,第一存储控制器还将第一校验数据发送至第二存储控制器,第二存储控制器通过对自己第二缓存中的数据进行校验(例如异或处理等),也可以得到校验数据,即第二校验数据,并将该第二校验数据与第一校验数据进行对比,若二者一致,则说明缓存镜像无误,两个存储控制器可以对数据进行相应的处理。
本实施例中,通过对第一存储控制器和第二存储控制器进行缓存镜像,可以保持二者缓存的一致性,实现对数据硬盘300的双控操作。
虽然结合附图描述了本申请的实施例,但是本领域技术人员可以在不脱离本申请的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (20)
- 一种存储控制器,其特征在于,包括:中央处理器(201)、缓存(202)、系统硬盘(203)、第一缓存保存盘(204)、第二缓存保存盘(205)和电池备份单元(206);所述中央处理器(201)与所述缓存(202)相连,用于读写所述缓存(202)中的数据;所述系统硬盘(203)与所述中央处理器(201)相连,用于向所述中央处理器(201)提供工作所需的操作系统;所述第一缓存保存盘(204)和所述第二缓存保存盘(205)均与所述中央处理器(201)相连;所述中央处理器(201)还用于:在所述存储控制器异常掉电的情况下,将所述缓存(202)中的数据写入至所述第一缓存保存盘(204)和所述第二缓存保存盘(205);所述电池备份单元(206)用于在所述存储控制器异常掉电的情况下,为所述中央处理器(201)、所述缓存(202)、所述系统硬盘(203)、所述第一缓存保存盘(204)和所述第二缓存保存盘(205)供电。
- 根据权利要求1所述的存储控制器,其特征在于,还包括:第一IO控制器(207)和第二IO控制器(208);所述第一IO控制器(207)用于与前端的主机(100)相连;所述第二IO控制器(208)用于与后端的数据硬盘(300)相连。
- 根据权利要求2所述的存储控制器,其特征在于,所述中央处理器(201)具体用于:基于所述第一IO控制器(207)获取所述主机(100)发送的写入请求,并将相应的待写入数据存储至所述缓存(202);基于所述第二IO控制器(208),将所述缓存(202)中的数据持久化至后端的数据硬盘(300)。
- 根据权利要求3所述的存储控制器,其特征在于,所述将所述缓存(202)中的数据持久化至后端的数据硬盘(300),包括:将所述缓存(202)中的数据周期性地持久化至后端的数据硬盘(300);在所述缓存(202)剩余空间不足的情况下,将最先存储至所述缓存(202)的至少部分数据主动持久化至后端的数据硬盘(300)。
- 根据权利要求1所述的存储控制器,其特征在于,所述中央处理器(201)具体用于:在所述存储控制器异常掉电的情况下,以并行的方式,将所述缓存(202)中的数据同步写入至所述第一缓存保存盘(204)和所述第二缓存保存盘(205)。
- 根据权利要求5所述的存储控制器,其特征在于,还包括:RAID卡(209);所述中央处理器(201)通过所述RAID卡(209)与所述第一缓存保存盘(204)和所述第二缓存保存盘(205)相连;所述RAID卡(209)用于将所述中央处理器(201)传输的数据同步写入至所述第一缓存保存盘(204)和所述第二缓存保存盘(205)。
- 根据权利要求6所述的存储控制器,其特征在于,所述RAID卡(209)具体用于:将所述中央处理器(201)传输的数据分为至少一个数据包;对于任意数据包,将所述数据包存储至所述第一缓存保存盘(204),并将所述数据包复制至所述第二缓存保存盘(205)。
- 根据权利要求5所述的存储控制器,其特征在于,还包括:交换装置(210);所述交换装置(210)与所述中央处理器(201)的根复合体(2011)相连,并与所述第一缓存保存盘(204)和所述第二缓存保存盘(205)相连;所述交换装置(210)用于将所述中央处理器(201)传输的数据同步写入至所述第一缓存保存盘(204)和所述第二缓存保存盘(205)。
- 根据权利要求8所述的存储控制器,其特征在于,所述交换装置(210)具体用于:将与所述第一缓存保存盘(204)相连的第一接口以及与所述第二缓存保存盘(205)相连的第二接口均作为有效接口;在所述存储控制器异常掉电的情况下,向所有的有效接口广播所述中央处理器(201)传输的数据。
- 根据权利要求1所述的存储控制器,其特征在于,所述中央处理器(201)还用于:在所述存储控制器上电启动时,判断所述存储控制器上一次关闭是否为异常掉电;在所述存储控制器上一次关闭是异常掉电的情况下,从所述第一缓存保存盘(204)和所述第二缓存保存盘(205)中的至少一个中得到恢复数据,并将所述恢复数据恢复至所述缓存(202)。
- 根据权利要求10所述的存储控制器,其特征在于,所述从所述第一缓存保存盘(204)和所述第二缓存保存盘(205)中的至少一个中得到恢复数据,包括:在所述第一缓存保存盘(204)和所述第二缓存保存盘(205)均正常的情况下,从所述第一缓存保存盘(204)和所述第二缓存保存盘(205)中并行读取不同部分的数据,将从所述第一缓存保存盘(204)和所述第二缓存保存盘(205)中分别读取到的数据组合为恢复数据。
- 根据权利要求1所述的存储控制器,其特征在于,所述系统硬盘(203)还用于进行操作系统引导、故障恢复和更新、存储配置和管理中任一项。
- 根据权利要求2所述的存储控制器,其特征在于,所述中央处理器(201)用于在所述主机(100)与所述数据硬盘(300)之间进行数据交互的过程中,基于所述缓存(202)临时高速存储数据。
- 根据权利要求1所述的存储控制器,其特征在于,所述第一缓存保存盘(204)和所述第二缓存保存盘(205)以数据镜像的方式保存所述缓存(202)中的数据。
- 根据权利要求10所述的存储控制器,其特征在于,所述存储控制器(200)用于基于获取的系统日志和/或异常掉电标志位判断上一次关闭是否为异常掉电。
- 一种存储阵列,其特征在于,包括:如权利要求1至11中任一项所述的存储控制器(200)和数据硬盘(300);所述存储控制器(200)与所述数据硬盘(300)相连,用于对所述数据硬盘(300)进行读写操作。
- 根据权利要求16所述的存储阵列,其特征在于,所述存储控制器(200)的数量为多个;多个所述存储控制器(200)之间互联。
- 根据权利要求17所述的存储阵列,其特征在于,第一存储控制器用于将主机(100)处的数据写入本地的第一缓存,并产生所述第一缓存中存储的数据的第一校验数据;将所述第一缓存中存储的数据以及所述第一校验数据复制至第二存储控制器;所述第一存储控制器和所述第二存储控制器为所述存储阵列中的两个存储控制器(200);所述第二存储控制器用于将第一缓存中存储的数据存储至本地的第二缓存,并产生所述第二缓存中存储的数据的第二校验数据;在所述第二校验数据与所述第一校验数据相一致的情况下,向所述第一存储控制器反馈消息。
- 根据权利要求17所述的存储阵列,其特征在于,多个所述存储控制器(200)均用于与主机(100)的多个网络适配器相连。
- 一种服务器,其特征在于,所述服务器包括权利要求16至19中任一项所述的存储阵列。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410372953.4A CN117971739B (zh) | 2024-03-29 | 2024-03-29 | 存储控制器及存储阵列 |
| CN202410372953.4 | 2024-03-29 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025201434A1 true WO2025201434A1 (zh) | 2025-10-02 |
Family
ID=90858101
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2025/085215 Pending WO2025201434A1 (zh) | 2024-03-29 | 2025-03-27 | 存储控制器及存储阵列 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN117971739B (zh) |
| WO (1) | WO2025201434A1 (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117971739B (zh) * | 2024-03-29 | 2024-06-07 | 苏州元脑智能科技有限公司 | 存储控制器及存储阵列 |
| CN119690872B (zh) * | 2025-02-25 | 2025-06-03 | 山东云海国创云计算装备产业创新中心有限公司 | 一种掉电保护方法、装置、电子设备及存储介质 |
| CN120723174B (zh) * | 2025-08-28 | 2025-11-28 | 苏州元脑智能科技有限公司 | 数据存储方法、存储介质、电子设备和程序产品 |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102541458A (zh) * | 2010-12-17 | 2012-07-04 | 西安奇维测控科技有限公司 | 一种提高电子硬盘数据写入速度的方法 |
| CN102870100A (zh) * | 2012-06-30 | 2013-01-09 | 华为技术有限公司 | 数据缓存装置、数据存储系统及方法 |
| CN103049070A (zh) * | 2012-12-27 | 2013-04-17 | 加弘科技咨询(上海)有限公司 | 缓存数据的掉电保护方法及计算机设备 |
| US20150082081A1 (en) * | 2013-09-16 | 2015-03-19 | International Business Machines Corporation | Write cache protection in a purpose built backup appliance |
| CN111880636A (zh) * | 2020-07-30 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种存储阵列的断电保护方法及相关装置 |
| CN115167784A (zh) * | 2022-09-05 | 2022-10-11 | 苏州浪潮智能科技有限公司 | 一种数据写入方法、装置、设备及存储介质 |
| CN115408207A (zh) * | 2022-08-26 | 2022-11-29 | 苏州浪潮智能科技有限公司 | 一种存储系统全局缓存方法、装置以及介质 |
| CN117971739A (zh) * | 2024-03-29 | 2024-05-03 | 苏州元脑智能科技有限公司 | 存储控制器及存储阵列 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9223642B2 (en) * | 2013-03-15 | 2015-12-29 | Super Talent Technology, Corp. | Green NAND device (GND) driver with DRAM data persistence for enhanced flash endurance and performance |
| CN106104492A (zh) * | 2014-12-25 | 2016-11-09 | 华为技术有限公司 | 一种数据备份的方法、装置及系统 |
| CN111240903A (zh) * | 2019-11-04 | 2020-06-05 | 华为技术有限公司 | 数据恢复方法及相关设备 |
| CN116225986A (zh) * | 2021-12-02 | 2023-06-06 | 华为技术有限公司 | 一种存储系统、数据处理方法及装置 |
| CN114443364B (zh) * | 2021-12-27 | 2024-07-05 | 天翼云科技有限公司 | 一种分布式块存储数据处理方法、装置、设备及存储介质 |
| CN117632808B (zh) * | 2024-01-24 | 2024-04-26 | 苏州元脑智能科技有限公司 | 多控存储阵列、存储系统、数据处理方法以及存储介质 |
-
2024
- 2024-03-29 CN CN202410372953.4A patent/CN117971739B/zh active Active
-
2025
- 2025-03-27 WO PCT/CN2025/085215 patent/WO2025201434A1/zh active Pending
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102541458A (zh) * | 2010-12-17 | 2012-07-04 | 西安奇维测控科技有限公司 | 一种提高电子硬盘数据写入速度的方法 |
| CN102870100A (zh) * | 2012-06-30 | 2013-01-09 | 华为技术有限公司 | 数据缓存装置、数据存储系统及方法 |
| CN103049070A (zh) * | 2012-12-27 | 2013-04-17 | 加弘科技咨询(上海)有限公司 | 缓存数据的掉电保护方法及计算机设备 |
| US20150082081A1 (en) * | 2013-09-16 | 2015-03-19 | International Business Machines Corporation | Write cache protection in a purpose built backup appliance |
| CN111880636A (zh) * | 2020-07-30 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种存储阵列的断电保护方法及相关装置 |
| CN115408207A (zh) * | 2022-08-26 | 2022-11-29 | 苏州浪潮智能科技有限公司 | 一种存储系统全局缓存方法、装置以及介质 |
| CN115167784A (zh) * | 2022-09-05 | 2022-10-11 | 苏州浪潮智能科技有限公司 | 一种数据写入方法、装置、设备及存储介质 |
| CN117971739A (zh) * | 2024-03-29 | 2024-05-03 | 苏州元脑智能科技有限公司 | 存储控制器及存储阵列 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN117971739B (zh) | 2024-06-07 |
| CN117971739A (zh) | 2024-05-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2025201434A1 (zh) | 存储控制器及存储阵列 | |
| US8190822B2 (en) | Storage control unit and data management method | |
| CN100580636C (zh) | 网络数据存储相关操作 | |
| JP3772369B2 (ja) | 記憶サブシステム | |
| CN101776983B (zh) | 磁盘阵列中双控制器信息的同步方法、及磁盘阵列系统 | |
| US12050778B2 (en) | Data restoration method and related device | |
| CN114518973B (zh) | 分布式集群节点宕机重启恢复方法 | |
| JP2006031630A (ja) | ストレージ装置及びストレージ装置の消費電力制御方法 | |
| JP3573032B2 (ja) | ディスクアレイ装置 | |
| CN114077517A (zh) | 数据处理的方法、设备及系统 | |
| US20260119343A1 (en) | Hot standby system and method, electronic device, and storage medium | |
| JP2005196490A (ja) | データ多重化のためのシステム及び方法 | |
| CN111488238A (zh) | 一种块存储节点数据修复方法及存储介质 | |
| US11409471B2 (en) | Method and apparatus for performing data access management of all flash array server | |
| CN112612653A (zh) | 一种业务恢复方法、装置、仲裁服务器以及存储系统 | |
| CN118331496A (zh) | 存储集群的仲裁方法、装置、计算机设备及存储介质 | |
| JP4322240B2 (ja) | 再起動方法、システム及びプログラム | |
| JP2005122763A (ja) | 記憶装置 | |
| CN118069045A (zh) | 一种存储阵列控制器故障快速切换方法 | |
| JP2006114064A (ja) | 記憶サブシステム | |
| CN118260119B (zh) | 内存故障处理方法、装置、电子设备、介质及芯片 | |
| JP2006260141A (ja) | 記憶システムの制御方法、記憶システム、記憶制御装置、記憶システムの制御プログラム、情報処理システム | |
| US12536078B2 (en) | Storage system with storage controllers to control data input and output between a host apparatus and a storage drive in normal and degraded operation states | |
| US11809293B2 (en) | Storage node failure detection based on register values for an all flash array server | |
| RU2810634C2 (ru) | Способ повышения надежности систем хранения данных и соответствующее устройство |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 25778969 Country of ref document: EP Kind code of ref document: A1 |