Storage system and storage disk group
Patent Information
- Application Number
- CN202211567304.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-07
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2042-12-07
AI Technical Summary
Large-capacity storage systems have a wide impact and are difficult to recover from failures, which current technologies cannot effectively mitigate.
It employs a lightweight storage head and fine-grained storage disk array, which are directly connected to the switch via Ethernet ports to decouple the storage head and storage disks. Each storage disk in the storage disk array can carry data from any storage head.
It reduces the scope of the impact of storage system failures and the difficulty of recovery, increases the flexibility of rack deployment, reduces infrastructure costs, and supports online dynamic expansion.
Smart Images

Figure CN115756339B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computers, and more specifically, to storage systems and storage disk arrays. Background Technology
[0002] The information age has spurred massive data storage demands. While storing huge amounts of existing data, new data continues to be generated globally at an exponential growth rate. Ensuring the high availability of storage services is crucial while meeting users' needs for storage capacity and throughput.
[0003] Driven by economies of scale, and in order to reduce storage costs, the capacity of single storage systems is gradually increasing to lower shared costs for computing, networking, and other components. High-capacity storage systems typically configure multiple high-capacity hard drives as storage heads within a storage server, and each storage head is equipped with an external disk cluster (Just a Bunch of Disks, JBOD). Each JBOD can connect hundreds of hard drives, thus forming a high-density, high-capacity storage system. However, when a storage system fails, the amount of inaccessible stored data also increases significantly, resulting in a wider impact and greater difficulty in recovery. Summary of the Invention
[0004] This application provides a storage system and storage disk group in order to reduce the scope of failure and the difficulty of recovery when the storage system fails.
[0005] In a first aspect, this application provides a storage system, including: multiple storage heads, multiple storage disk groups, and a switch;
[0006] The storage disk group includes multiple storage disks and an Ethernet port;
[0007] The storage head unit is connected to the switch via a network interface card (NIC), and the storage disk group is connected to the switch via the Ethernet port.
[0008] The storage disk is used to carry data from any of the plurality of storage heads.
[0009] Optionally, the storage disk includes a SAS / SATA storage disk, and the storage disk group further includes a storage disk group controller. The storage disk group controller is connected to the SAS / SATA storage disk through a SAS / SATA port, and the storage disk group controller is used to perform mutual conversion between Ethernet protocol and SAS / SATA protocol.
[0010] Optionally, the storage disk includes LPDDR DRAM, and the storage disk group controller is configured with a DRAM controller to drive the LPDDR DRAM.
[0011] Optionally, the storage disk includes a PCIe storage disk, and the storage disk group controller is connected to the PCIe storage disk via a PCIe channel.
[0012] Optionally, the ports of the switch may be configured with one or more SerDes channels.
[0013] Optionally, the number of SerDes channels on the port connected to the storage head in the switch is greater than the number of SerDes channels on the port connected to the storage disk group.
[0014] Optionally, the number of SerDes channels on the port connected to the upstream switch in the switch is greater than the number of SerDes channels on the port connected to the storage head.
[0015] Optionally, the number of switches is two, and the two switches have the same configuration.
[0016] Optionally, some or all of the plurality of storage disk groups may be housed in the same storage disk group box.
[0017] Optionally, storage disks in the storage disk box are added to or removed from the storage disk box via a tracked chain.
[0018] Optionally, the storage disks in the storage disk group box share a power module and a fan.
[0019] Optionally, the number of storage heads, the number of storage disk groups, and the number of storage disks in the storage disk groups are all dynamically adjustable.
[0020] Secondly, this application provides a storage disk group, including: multiple storage disks and an Ethernet port;
[0021] The storage disk group is connected to the switch via the Ethernet port, so that the storage disks in the storage disk group can carry data from any of the multiple storage heads connected to the switch.
[0022] In the storage system and storage disk group provided in this application, a lightweight storage head and a fine-grained storage disk group are used. The storage disk group with an Ethernet port is directly connected to the switch. Each storage disk in the storage disk group can carry data from any storage head, thereby decoupling the storage head and the storage disk, reducing the scope of the failure impact when the storage system fails and reducing the difficulty of failure recovery. Attached Figure Description
[0023] Figure 1 It is a schematic block diagram of a storage system;
[0024] Figure 2This is a schematic block diagram of a JBOD;
[0025] Figure 3 This is a schematic block diagram of a storage system provided in an embodiment of this application;
[0026] Figure 4 This is a schematic block diagram of a storage disk group in a storage system provided in an embodiment of this application;
[0027] Figure 5 This is a schematic block diagram of a storage disk assembly box in a storage system provided in an embodiment of this application;
[0028] Figure 6 This is a schematic diagram of channel allocation for a switch group in a storage system provided in an embodiment of this application;
[0029] Figure 7 This is a schematic diagram of a storage system expansion provided in an embodiment of this application;
[0030] Figure 8 This is a schematic diagram of a storage system expansion process provided in an embodiment of this application;
[0031] Figure 9 This is a schematic block diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0032] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.
[0033] Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application. In the embodiments of this application, the term "comprising" and any variations are intended to cover non-exclusive inclusion.
[0034] High-capacity storage systems typically configure multiple high-capacity hard drives as high-capacity storage heads within a storage server, and each high-capacity storage head is equipped with an external JBOD. Each JBOD can connect hundreds of hard drives to achieve a high-density, high-capacity storage system. For example, ... Figure 1 The diagram illustrates a rack deployment scheme for a high-density, high-capacity storage system. The rack of the storage system includes a switch group, which enables the external interconnection of the storage system. Figure 1The diagram illustrates a storage system comprising two large-capacity storage heads and two external large-capacity JBODs connected to each head. The large-capacity storage heads are connected to a switch group via network interface cards (NICs), and each head is equipped with a host bus adapter (HBA) card to connect to the JBODs equipped with Serial Attached Small Computer System Interface (SAS) cards. The JBODs internally connect numerous hard drives using the SAS / Serial Advanced Technology Attachment (SATA) protocol, for example, as shown below. Figure 2 As shown, the JBOD has an internal SAS card, which connects to multiple SAS expansion cards. Each SAS expansion card can connect to multiple hard drives, meaning the JBOD can connect to hundreds of hard drives. Figure 2 The above example illustrates a high-density, high-capacity storage system using a high-capacity storage head and a high-capacity JBOD.
[0035] However, since large-capacity storage is achieved by using external JBODs on the storage head, when the storage system fails, such as storage head failure, HBA card failure, or SAS card failure, hundreds of hard drives may become inaccessible at the same time. The scope of the failure is too large. At the same time, the recovery process, such as data regeneration, verification, and capacity balancing, involves a large amount of data to be recovered, a long recovery time, and is quite difficult.
[0036] In view of this, this application proposes a storage system based on a lightweight storage head and fine-grained storage disk groups. The storage disk groups have Ethernet ports. The storage head is connected to a switch via a network interface card (NIC), while the storage disk groups with Ethernet ports are directly connected to the switch via Ethernet ports. The storage disk groups are no longer bound to the storage head. Each storage disk in the storage disk group can carry data from any storage head, thus decoupling the storage head and storage disks. This reduces the scope of the failure impact when the storage system fails and reduces the difficulty of fault recovery.
[0037] The storage system provided in the embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0038] Figure 3 This is a schematic block diagram of a storage system provided in an embodiment of this application. Figure 3 As shown, the storage system includes: a switch 310, multiple storage heads 320, and multiple storage disk groups 330.
[0039] The storage disk group 330 includes multiple storage disks and Ethernet ports.
[0040] The storage head unit 320 is connected to the switch 310 via the network card 3201, and the storage disk group 330 is connected to the switch 320 via the Ethernet port.
[0041] The storage disks in storage disk group 330 are used to carry data from any of the multiple storage heads 320.
[0042] like Figure 3 As shown, the rack housing the storage system includes a switch 310, which enables external interconnection of the storage system. Storage heads 320 are connected to the switch 310 via network interface cards 3201. Furthermore, storage disk groups 330 are connected to the switch 310 via Ethernet ports. Due to the decoupling between the storage heads 320 and the storage disk groups 330, each disk in the storage disk group 330 can carry data from any storage head 320. For example, each disk in the storage disk group 330 carries data fragments from all storage heads 320. Data from each storage head 320 is interleaved and distributed among the disks in the storage disk group 330, thereby reducing the scope of impact of storage system failures and simplifying fault recovery.
[0043] Furthermore, since there is no direct connection between the storage head unit 320 and the storage disk assembly 330, the storage system of this embodiment is more efficient than... Figure 1 The storage system shown eliminates the need for HBA cards, SAS cards, and SAS expansion cards. Furthermore, Figure 1 The storage system shown requires the use of SAS cables to connect the JBODs, and SAS cables have a length limitation, typically 1.5 meters. This also leads to... Figure 1 The storage system shown has low rack deployment flexibility, while the storage system of this embodiment does not require the use of SAS cables. Therefore, when deploying the storage disk group 330, it is not limited by the cable length, which can improve the rack deployment flexibility and improve the utilization of rack space.
[0044] The storage head unit 320 in this embodiment is a lightweight storage head unit, compared to... Figure 1 The large-capacity storage head in the storage system shown in this embodiment only has a small number of storage disks inside the storage head 320, and the main storage capacity of the storage system is provided by the fine-grained storage disk group 330. Furthermore, compared to... Figure 1The storage system shown requires the deployment of all hard drives in all JBODs when it is put into use. The number of storage disk groups 330 and the number of storage disks in the storage disk groups 330 in this embodiment can be dynamically configured according to the scope of failure impact and user needs, thereby avoiding the idle waste of storage resources.
[0045] Optionally, in the storage system provided in this application embodiment, some or all of the multiple storage disk groups 330 are disposed in the same storage disk group box. For example, Figure 3 The diagram shows multiple storage disk groups 330 located in the same row of the rack, all housed in the same storage disk group box.
[0046] Optionally, the switch 310 in the storage system can be a switch group, that is, the storage system includes a switch group, which can consist of two switches with the same configuration, in order to improve the availability of the storage system through redundancy.
[0047] because Figure 1 In the storage system shown, the storage heads and external JBODs have large storage capacities, while the rack power limit is fixed. When the power of the storage heads is too high, the number of storage heads that can be deployed on the rack is limited, resulting in idle switch ports. In this embodiment, however, fine-grained storage disk groups 330 are used to connect the switch, which can improve the port utilization of the switch.
[0048] The following are combined with Figures 4 to 8 The various parts of the storage system in the embodiments of this application and the dynamic expansion of the storage system are described.
[0049] like Figure 4 This is a schematic block diagram of a storage disk group provided in an embodiment of this application, such as... Figure 4 As shown, the storage disk group includes multiple storage disks and Ethernet ports.
[0050] Optionally, the storage disks in the storage disk group include SAS / SATA storage disks, such as HDDs and solid-state drives (SSDs). The storage disk group also includes a storage disk group controller, such as... Figure 4 As shown, the storage disk group controller is connected to the SAS / SATA storage disks HDD / SDD via the SAS / SATA port. The storage disk group controller is used to convert between Ethernet protocol and SAS / SATA protocol, thereby enabling data access through the Ethernet port.
[0051] Optionally, the storage disks in the storage disk group include Low Power Dual Data Rate (LPDDR) Dynamic Random Access Memory (DRAM), and correspondingly, the storage disk group controller is configured with a DRAM controller to drive the LPDDR DRAM, thereby providing low-latency, high-capacity data caching services through the storage system.
[0052] Optionally, the storage disks in the storage disk group include peripheral component interconnect express (PCIe) storage disks, and the storage disk group controller connects to the PCIe storage disks through PCIe channels.
[0053] It is understood that the type and number of storage disks included in the storage disk group can be flexibly set according to actual needs, and the storage disk group may also include other types of storage disks besides those listed above. This application embodiment does not limit this.
[0054] Optionally, in this embodiment of the application, multiple storage disk groups can be configured in the same storage disk group box, such as... Figure 5 This is a schematic block diagram of a storage disk assembly provided in an embodiment of this application.
[0055] Optionally, storage disks in the storage disk box are added to or removed from the storage disk box via a tracked chain.
[0056] Optionally, the storage disks in the storage disk group box share a power module and fan.
[0057] The storage disk array in this embodiment can be called a high-density disk array. By sharing power modules, fans and chassis among multiple storage disk arrays, space density can be increased and infrastructure costs can be reduced. Furthermore, since the power modules, fans and chassis have low failure rates, even when multiple storage disk arrays share these modules, the failure rate of these modules is lower than that of other modules, so that sharing these modules will not become a bottleneck in the failure rate of the storage system.
[0058] To facilitate online maintenance, the storage disk assembly in this embodiment adopts an easy-to-maintain design, enabling the replacement, addition, or removal of storage disks during storage system operation. For example, the storage disk assembly employs a mechanical design that allows the storage disk assembly to be smoothly pulled out via a tracked chain to ensure online maintenance of the storage disks. For example, the storage disk assembly uses extendable cables to ensure signal integrity.
[0059] In this embodiment, the switch can be a switch group, meaning there can be two switches with identical configurations, thereby utilizing the redundancy of the switch group to improve the availability of the storage system. Figure 6 This is a schematic diagram of channel allocation for a switch group in a storage system provided in an embodiment of this application.
[0060] Optionally, each port of the switch is configured with one or more serialization and deserialization (SerDes) channels. SerDes channels are interconnecting channels for data input and output within the switch, implemented through underlying physical connections. The number of SerDes channels on a switch is limited. In this embodiment, the number of SerDes channels configured for each port is determined based on the actual bandwidth requirements of the switch ports. A larger number of configured SerDes channels results in higher port bandwidth, while a smaller number results in lower port bandwidth.
[0061] Optionally, the number of channels on the port connected to the storage head in the switch is greater than the number of SerDes channels on the port connected to the storage disk group, that is, the bandwidth of the port connected to the storage head in the switch is greater than the bandwidth of the port connected to the storage disk group.
[0062] Optionally, the number of SerDes channels on the port connected to the upstream switch in the switch is greater than the number of SerDes channels on the port connected to the storage head unit. That is, the bandwidth of the port connected to the upstream switch in the switch is greater than the bandwidth of the port connected to the storage head unit.
[0063] The number of SerDes channels on a switch is fixed. In this embodiment, flexible switch port configuration is performed at the SerDes channel level. The number of SerDes channels configured on each port of the switch can be flexibly set according to the port's throughput requirements. Figure 6 The example illustrates how to configure switch ports into three categories: high-throughput ports, medium-throughput ports, and low-throughput ports, with different numbers of SerDes channels configured for each type of port. Figure 6 The SerDes channel of a port is indicated by a line next to the port.
[0064] Assume the switch has N SerDes channels, each with a bandwidth of mGb. Allocate N1*a SerDes channels to N1 high-throughput ports, with each high-throughput port configured with a SerDes channels; allocate N2*b SerDes channels to N2 medium-throughput ports, with each medium-throughput port configured with b SerDes channels; and allocate N3*c SerDes channels to N3 low-throughput ports, with each low-throughput port configured with c SerDes channels. The sum of N1*a, N2*b, and N3*c is N, where a > b > c.
[0065] Figure 6 The diagram illustrates the following: 3 for a, 2 for b, and 1 for c. N1*3 SerDes channels out of N SerDes channels are allocated to N1 high-throughput ports, with each high-throughput port configured with 3 SerDes channels; N2*2 SerDes channels out of N SerDes channels are allocated to N2 medium-throughput ports, with each medium-throughput port configured with 2 SerDes channels; and N3*1 SerDes channels out of N SerDes channels are allocated to N3 low-throughput ports, with each low-throughput port configured with 1 SerDes channel.
[0066] Optional, Figure 6 The high-throughput ports of the switch shown can be used to connect to the upstream switch of this switch; the medium-throughput ports can be used to connect to the storage head unit in the storage system where this switch is located, so as to realize the transmission and operation of large amounts of data; the low-throughput ports can be used to connect to the storage disk group in the storage system where this switch is located.
[0067] In practical applications, in order to control the scope of the impact of a fault, the number of storage disks in a single storage disk group is limited, and the network bandwidth required by a single storage disk group is limited. For example, the throughput of a single HDD is about 200MB. Thus, by subdividing the switch ports according to different SerDes channels in the embodiments of this application, high-bandwidth switch ports can be avoided from being wasted. At the same time, more storage disk groups can be connected in the rack by configuring more low-throughput ports, so as to realize the flexible expansion of the storage system.
[0068] In the embodiments of this application, the number of storage heads, the number of storage disk groups, and the number of storage disks in the storage disk groups are all dynamically adjustable.
[0069] Figure 7 This is a schematic diagram of a storage system expansion provided in an embodiment of this application.
[0070] To avoid wasting storage resources by deploying to maximum capacity during the initial construction of the storage system, this embodiment of the application deploys only the minimum number of storage disk groups and disks that meet the throughput requirements during the initial construction of the storage system. During the subsequent operation of the storage system, the capacity can be gradually and dynamically expanded as needed. For example... Figure 7 As shown, the storage system initially may include switch groups, storage heads A, B through X, and disk groups 1 through K, with each disk group not yet fully populated. During system operation, additional disks and disk groups can be added as needed. (Example:) Figure 7 The dashed box in the diagram illustrates the dynamic addition of storage disks to storage disk groups 1 through K, and the addition of storage disk groups L through Y to the storage system. When adding storage disk groups L through Y, the storage disks in the storage disk groups may not be fully filled, so that storage disks can be added to storage disk groups L through Y in the future.
[0071] The data stored in the storage disk group comes from the storage head. In this embodiment, each storage disk can carry data fragments from storage head A to storage head X. In this way, when a single storage system failure occurs, i.e. a storage disk failure, the impact on the storage head is relatively small.
[0072] For example, a storage head has a capacity of 30GB. This 30GB of data is written and distributed across 30 storage disks. If one of the storage disks fails and needs repair or replacement, only 1 / 30 of the storage disks on the storage head will be temporarily unavailable (under repair). The storage head can still use the remaining 29 / 30 of the storage disks to store data, and the impact of the failure is relatively small. Conversely, if all 30GB of the storage head is stored on a single external storage disk, and that disk fails, the storage head will be unable to access the data and will become completely unusable.
[0073] It should be noted that, Figure 7 The number of storage heads in the storage system shown can also be increased, and storage heads can be added as needed during the operation of the storage system.
[0074] Figure 8 This is a schematic diagram illustrating the expansion process of a storage system provided in an embodiment of this application. For example... Figure 8 As shown, the expansion process includes:
[0075] S801. In the early stages of storage system construction, the number of storage disk groups and the number of storage disks to meet throughput requirements are determined based on the parallelism of the storage head.
[0076] The storage head can be viewed as a front-end user program, virtual machine, or container. Each user has specific requirements for storage performance, such as bandwidth, to ensure their read and write performance. The parallelism of the storage head refers to the number of users served by the storage system. Based on the parallelism of the storage head, the minimum number of storage disk groups and disks required to meet the needs are determined, and these serve as the initial storage disk groups and disks for the storage system. In the initial stage of construction, the storage disks in each storage disk group can be partially configured to facilitate later expansion.
[0077] For example, refer to Figure 7 The storage system in its initial stage of construction includes storage head A, storage head B to storage head X, and storage disk group 1 to storage disk group K. The storage disks in the storage disk group are not fully inserted.
[0078] S802. If it is necessary to expand the storage system capacity, first add storage disks to the existing storage disk group of the storage system.
[0079] If it is necessary to expand the capacity of the storage system during operation, the first step is to add storage disks to the existing, underutilized storage disk group to increase the capacity of the storage disk group.
[0080] For example, refer to Figure 7 When it is necessary to expand the capacity of the storage system, storage disks can be added successively to storage disk groups 1 to K.
[0081] S802. If the existing storage disk group in the storage system is full of storage disks or if the number of storage heads increases, then add a storage disk group and deploy storage disks that meet the throughput requirements in the added storage disk group.
[0082] If the existing storage disk groups in the storage system are full, more storage disk groups need to be added to further expand the storage system's capacity. If the number of storage heads or front-end users increases, the capacity and bandwidth of the storage disk groups also need to be increased accordingly. The number of storage disks in the added storage disk groups should only be sufficient to meet throughput requirements; full capacity is not necessary.
[0083] For example, a storage head is configured with a Service Level Agreement (SLA) specification of 30GB and 100MB / GB. When the number of storage heads increases from 100 to 500, the capacity and bandwidth of the corresponding storage disk groups also need to be increased to match the storage heads. At this time, it is necessary to add storage disk groups or add storage disks in storage disk groups.
[0084] For example, refer to Figure 7Assuming that all storage disks in storage disk groups 1 to K are already full, storage disk groups L to Y can be added to the storage system in the future. When adding storage disk groups L to Y, the storage disks in the storage disk groups can also be partially allocated, so that storage disks can be added to storage disk groups L to Y in the future.
[0085] The storage system provided in this application embodiment directly connects Ethernet port storage disk groups to a switch, realizing a large-capacity storage system with fine-grained capacity throughput decoupling and online dynamic expansion capability. This large-capacity storage system reduces the scope of storage system failures and lowers overall operating costs. This storage system eliminates the need for HBA cards, SAS cards, SAS expansion cards, SAS cables, etc., required for SAS / SATA networks. It achieves network uplink, storage head interconnection, and storage disk group matching based on throughput requirements through switch port reconfiguration. Furthermore, it uses high-density storage disk groups to reuse low-failure-rate components, improving space utilization and reducing system costs. In addition, using lightweight storage heads with externally mounted storage disks also reduces the CPU / memory configuration of the storage heads, saving costs. Through capacity throughput decoupling and easy maintenance design, the storage system can be dynamically expanded online according to actual needs and perform maintenance work without affecting applications. Data from the storage heads is interleaved and distributed across storage disks, reducing the data impact and recovery time caused by individual failures.
[0086] This application provides a storage disk group, including: multiple storage disks and an Ethernet port.
[0087] The storage disk group is connected to the switch via an Ethernet port, so that the storage disks in the storage disk group can carry data from any of the multiple storage heads connected to the switch.
[0088] The specific implementation of this storage disk group is described in the foregoing embodiments and will not be repeated here.
[0089] This application provides a storage disk assembly box, which includes multiple storage disk groups. The specific implementation of the storage disk assembly box is described in the foregoing embodiments and will not be repeated here.
[0090] Figure 9 This is a schematic block diagram of the electronic device provided in an embodiment of this application. Figure 9 As shown, the electronic device 900 may include at least one processor 910, which may be a storage head or a storage disk group as described in the embodiments of this application. Accordingly, the processor 910 may be the CPU of the storage head, or the processor 910 may be a disk group controller in the storage disk group.
[0091] Optionally, the electronic device 900 further includes at least one memory 920 for storing program instructions and / or data. The memory 920 is coupled to the processor 910. The coupling in this embodiment is an indirect coupling or communication connection between devices, units, or modules, and can be electrical, mechanical, or other forms, used for information exchange between devices, units, or modules. The processor 910 may operate in conjunction with the memory 920. The processor 910 can execute program instructions stored in the memory 920 and / or read and write data stored in the memory 920. At least one of the at least one memory may be included in the processor.
[0092] Optionally, the electronic device 900 further includes a communication interface 930 for communicating with other devices via a transmission medium, thereby enabling the electronic device 900 to communicate with other devices. The communication interface 930 may be, for example, a transceiver, interface, bus, circuit, or a device capable of transmitting and receiving functions. The processor 910 can utilize the communication interface 930 to transmit and receive data and / or information, and to implement the storage system provided in the embodiments of this application.
[0093] For example, when the electronic device 900 is the CPU of the storage head, the processor 910 can be used to write data to the storage disk group.
[0094] For example, when the electronic device 900 is a storage disk group, the processor 910 can be used to perform mutual conversion between Ethernet protocol and SAS / SATA protocol to store data into SAS / SATA storage disk.
[0095] This application embodiment does not limit the specific connection medium between the processor 910, memory 920, and communication interface 930. This application embodiment... Figure 9 The processor 910, memory 920, and communication interface 930 are connected via bus 940. The bus is located in... Figure 9 The connections between other components are shown in thick lines only and are not intended to be limiting. This bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, Figure 9 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0096] It should be understood that the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method embodiments can be completed by the integrated logic circuitry in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above method.
[0097] It should also be understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0098] The terms “unit”, “module”, etc., used in this specification may be used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution.
[0099] Those skilled in the art will recognize that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application. In the several embodiments provided in this application, it should be understood that the disclosed apparatus, devices, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for example, the division of units is merely a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the shown or discussed mutual couplings or direct couplings or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.
[0100] The unit described as a separate component may or may not be physically separate. The component shown as a unit may or may not be a physical unit; that is, it may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0101] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0102] In the above embodiments, the functions of each functional unit can be implemented entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. This computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media (e.g., solid-state disks (SSDs)).
[0103] If this function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
[0104] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A storage system, characterized in that, include: Multiple storage heads, multiple storage disk groups, and switches; The storage disk group includes multiple storage disks and an Ethernet port; The storage head unit is connected to the switch via a network interface card (NIC), and the storage disk group is connected to the switch via the Ethernet port. The storage disk is used to carry data fragments from any of the plurality of storage heads, which are stored in an interleaved and scattered manner. The storage system is configured to: determine the initial number of the storage disk group and the storage disk based on the parallelism of the storage head, and, during expansion, prioritize adding storage disks to the existing storage disk group, and add a new storage disk group after the storage disk group is full.
2. The storage system according to claim 1, characterized in that, The storage disk includes a Serial Connected Small Computer System Interface (SAS) storage disk or a Serial Advanced Technology Accessory (SATA) storage disk. The storage disk group also includes a storage disk group controller, which is connected to the SAS storage disk or the SATA storage disk through a corresponding SAS port or SATA port. The storage disk group controller is used to perform mutual conversion between Ethernet protocol and SAS protocol or SATA protocol.
3. The storage system according to claim 2, characterized in that, The storage disk includes a low-power double data rate dynamic random access memory (LPDDR DRAM), and the storage disk group controller is configured with a DRAM controller to drive the LPDDR DRAM.
4. The storage system according to claim 2, characterized in that, The storage disk includes a high-speed PCIe storage disk for peripheral device interconnection, and the storage disk group controller is connected to the PCIe storage disk through a PCIe channel.
5. The storage system according to any one of claims 1-4, characterized in that, The switch ports are configured with one or more Serial and Deserialized SerDes channels.
6. The storage system according to claim 5, characterized in that, The number of SerDes channels on the port connected to the storage head in the switch is greater than the number of SerDes channels on the port connected to the storage disk group.
7. The storage system according to claim 5, characterized in that, The number of SerDes channels on the port connected to the upstream switch in the switch is greater than the number of SerDes channels on the port connected to the storage head unit.
8. The storage system according to any one of claims 1-4, characterized in that, The number of switches is two, and the two switches have the same configuration.
9. The storage system according to any one of claims 1-4, characterized in that, Some or all of the multiple storage disk groups are housed in the same storage disk group box.
10. The storage system according to claim 9, characterized in that, The storage disks in the storage disk box are added to or removed from the storage disk box by means of a tracked chain.
11. The storage system according to claim 9, characterized in that, The storage disks in the storage disk box share a power module and a fan.
12. The storage system according to any one of claims 1-4, characterized in that, The number of storage heads, the number of storage disk groups, and the number of storage disks in the storage disk groups are all dynamically adjustable.
13. A storage disk assembly, characterized in that, include: Multiple storage disks and Ethernet ports; The storage disk group is connected to the switch via the Ethernet port, so that the storage disks in the storage disk group can carry data fragments from any of the multiple storage heads connected to the switch, which are stored in an interleaved and scattered manner. The number of storage disks in the storage disk group is configured such that the initial number of the storage disk group and the storage disks is determined based on the parallelism of the storage head.
Citation Information
Patent Citations
Storage framework as well as initialization method, data storage method and data storage and management apparatus therefor
CN105739930A
