CN118277314A - Remote multi-activity device and remote multi-activity control method - Google Patents
Remote multi-activity device and remote multi-activity control method Download PDFInfo
- Publication number
- CN118277314A CN118277314A CN202410692911.9A CN202410692911A CN118277314A CN 118277314 A CN118277314 A CN 118277314A CN 202410692911 A CN202410692911 A CN 202410692911A CN 118277314 A CN118277314 A CN 118277314A
- Authority
- CN
- China
- Prior art keywords
- controller
- data
- controllers
- ssd
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000000694 effects Effects 0.000 title claims abstract description 55
- 230000005540 biological transmission Effects 0.000 claims abstract description 35
- 238000004891 communication Methods 0.000 claims abstract description 19
- 238000013500 data storage Methods 0.000 claims description 48
- 238000012795 verification Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 14
- 230000002457 bidirectional effect Effects 0.000 claims description 12
- 238000011084 recovery Methods 0.000 claims description 12
- 230000002159 abnormal effect Effects 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000009977 dual effect Effects 0.000 claims description 5
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 239000011159 matrix material Substances 0.000 description 14
- 230000001174 ascending effect Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Selective Calling Equipment (AREA)
Abstract
The invention discloses a remote multi-activity device and a remote multi-activity control method, wherein the remote multi-activity device comprises a hard disk module, an external interface, at least two controllers and at least two bus bridge chips; each controller is respectively connected with an external interface through a network interface, the external interface comprises a gigabit network interface and a gigabit network interface, the external interface is used for connecting with a network terminal, and the network terminal comprises a local terminal; each controller is correspondingly connected with different bus bridge chips through a PCIe bus; the hard disk module comprises a plurality of SSD units, and each bus bridge chip is used for respectively establishing PCIe bus communication links to each SSD unit in the hard disk module. The invention is beneficial to improving the transmission efficiency of the remote equipment.
Description
Technical Field
The invention relates to the technical field of multi-activity equipment, in particular to remote multi-activity equipment and a remote multi-activity control method.
Background
The remote device is often connected to the local terminal through a network to provide remote services for the local terminal, and in the prior art, a transmission link is generally directly established between the remote device and the storage unit through the controller, and because task processing of the remote device is independently undertaken by the controller, resources and capabilities of the controller for establishing the transmission link are limited, so that the number of transmission links established between the controller and the storage unit is small, and therefore, the transmission efficiency of the controller is not high. Therefore, the prior art has the defect that the transmission efficiency of the remote equipment is poor.
Disclosure of Invention
The invention mainly aims to provide a remote multi-activity device and a remote multi-activity control method, which aim to solve the problem of poor transmission efficiency of the existing remote device.
In order to achieve the above purpose, the present invention provides a remote multi-activity control method, which is applied to a remote multi-activity device, wherein the remote multi-activity device includes a hard disk module, an external interface, at least two controllers, and at least two bus bridge chips; each controller is respectively connected with an external interface through a network interface, the external interface comprises a gigabit network interface and a gigabit network interface, the external interface is used for connecting with a network terminal, and the network terminal comprises a local terminal; each controller is correspondingly connected with different bus bridge chips through a PCIe bus; the hard disk module comprises a plurality of SSD units, and each bus bridge chip is used for respectively establishing PCIe bus communication links to each SSD unit in the hard disk module; the controllers are connected with each other; the method comprises the following steps:
Distributing IP addresses for the controllers, acquiring the IP addresses of the local terminals, and establishing network connection between the controllers and the local terminals through the IP addresses of the local terminals; acquiring storage channel mapping addresses of a local terminal, and establishing an independent data storage channel for each storage channel mapping address;
the controllers establish a PCIe communication link for bidirectional transmission to each SSD unit through the corresponding bus bridge chip so that each controller can access each SSD unit;
Each controller transmits read-write instructions and read-write data with the connected local terminal through a tera-meganetwork interface extended by a PCIe link;
Each controller transmits instructions to the connected local terminal through a gigabit network interface expanded by a PCIe link, wherein the instructions comprise a remote operation instruction, a control instruction, a state configuration instruction and a state monitoring instruction;
When the controller receives a read-write instruction sent by the connected local terminal, the controller performs read-write operation on the hard disk module through the bus bridge chip.
Preferably, the method further comprises:
obtaining estimated task quantity and bandwidth peak value of each controller at each local terminal;
And comparing the estimated task quantity and bandwidth peak value of the controller currently connected with the local terminal with the estimated task quantity and bandwidth peak values of other controllers to judge whether to switch the controllers of the local terminal.
Preferably, the method further comprises:
Each controller detects the operation state of the other controllers so as to monitor and synchronize the mutual state among the controllers.
Preferably, the step of the controller establishing a PCIe communication link for bidirectional transmission to each SSD unit through the corresponding bus bridge chip, so that each controller can access each SSD unit includes:
Constructing a plurality of storage pools for each controller;
constructing a mapping relation between each storage pool and a plurality of SSD units;
setting a storage mode corresponding to each storage pool;
And constructing a bidirectional transmission link based on a PCIe bus between each controller and the corresponding bus bridge chip, and constructing a bidirectional transmission PCIe communication link between the bus bridge chip and each SSD unit mapped by the storage pool.
Preferably, the step of setting a storage mode corresponding to each storage pool includes:
Acquiring N SSD units mapped by the storage pool, setting N-1 SSD units as data storage units, and setting the rest 1 SSD units as verification data storage units;
setting the data block size of the data distributed storage to all the data storage units;
when the controller receives a read-write instruction sent by the connected local terminal, the controller performs read-write operation on the hard disk module through the bus bridge chip, and the method comprises the following steps:
When the controller receives a writing instruction, RAID calculation processing is carried out on data to be written, each data to be written is divided to obtain N-1 data blocks to be written, and verification operation is carried out on the divided data to obtain verification information data;
Determining a storage pool to be written according to a RAID calculation processing result, forwarding verification information data, N-1 data blocks to be written and a writing instruction to the bus bridge chip, enabling the bus bridge chip to write the data to be written into N-1 data storage units mapped in the storage pool to be written in a distributed mode in a block mode according to the size of the data blocks set in the storage pool to be written when receiving the writing instruction, and writing the verification information data into the verification data storage unit mapped in the storage pool to be written in a block mode, wherein the writing instruction comprises addresses of the storage pool to be written;
When the controller receives a reading instruction, calculating a storage pool to be read of data to be read, forwarding the reading instruction and the storage pool to be read to the bus bridging chip, enabling N-1 data storage units mapped from the storage pool to be read to read stored data blocks in parallel when the bus bridging chip receives the reading instruction, and judging whether sectors of each mapped data storage unit are damaged or not;
if so, reading the check information data corresponding to the damaged sector aiming at the damaged data storage unit, and carrying out data recovery according to the check information data corresponding to the damaged sector and the data stored in other data storage units;
And forming recovery data according to the data recovery result, and forming read data according to the recovery data and the data stored by other data storage units and returning the read data to the corresponding controllers.
Preferably, the verification operation is performed in the following manner:
;
Wherein, For storing the check information data of the data block in the ith sector,A data block stored for the ith sector of the nth data storage unit,N-1 is the number of data storage units,I is the number of sectors occupied in each data storage unit during data storage;
wherein the same bit exclusive OR result is 0: 0+0=0, 1+1=0;
the exclusive OR of the different bits results in 1:0 ζ1=1, 1 ζ0=1;
The data is recovered in the following way:
;
Wherein, And recovering the data for the ith sector of the nth data storage unit.
Preferably, the method further comprises:
Establishing a corresponding relation between the controller and the storage pool so that the controller with the corresponding relation with the storage pool has the authority of operating the storage pool;
When abnormal operation of the controller is detected, marking the controller with abnormal operation as a target controller, and marking a storage pool corresponding to the target controller as a target storage pool;
And establishing a corresponding relation between the target storage pool and other controllers except the target controller so that the other controllers take over the target controller to have the authority of operating the target storage pool.
Preferably, the method further comprises:
Each local terminal sets an initially connected controller as a main controller and sets other controllers as auxiliary controllers;
Each auxiliary controller detects whether the corresponding main controller runs abnormally;
if yes, the task to be processed of the corresponding main controller is distributed to the auxiliary controller for execution.
In order to achieve the above purpose, the present invention further provides a remote multi-activity device, and the remote multi-activity control method is applied; the remote multi-activity device comprises a hard disk module, an external interface, at least two controllers and at least two bus bridge chips; each controller is respectively connected with an external interface through a network interface, the external interface comprises a gigabit network interface and a gigabit network interface, the external interface is used for connecting with a network terminal, and the network terminal comprises a local terminal; each controller is correspondingly connected with different bus bridge chips through a PCIe bus; the hard disk module comprises a plurality of SSD units, and each bus bridge chip is used for respectively establishing PCIe bus communication links to each SSD unit in the hard disk module; the controllers are connected with each other.
Preferably, each SSD unit is a two-way dual port U.2 PCIe SSD.
In the technical scheme of the invention, transmission links of PCIe buses are established between the controller and the bus bridge chip and between the bus bridge chip and each SSD unit of the hard disk module, so that the transmission efficiency is high; furthermore, each controller does not directly establish a limited number of transmission links with the hard disk module, the controllers do not need to bear the task of establishing the transmission links, redundant resources can be used for processing other tasks, meanwhile, a bus bridge chip is connected between the controllers and the hard disk module and used for establishing a PCIe communication link of bidirectional transmission with each SSD unit, so that each controller can access each SSD unit at the same time, the number of the transmission links is obviously increased, each controller can perform writing operation and reading operation on each SSD unit in parallel, and the parallel reading and writing mode enables the transmission rate of remote multi-active equipment to be obviously increased; furthermore, in the remote multi-activity device, each controller is specially used for receiving and transmitting read-write instructions and read-write data through a gigabit network interface extended by a PCIe link, the data read-write speed is high, and each controller is specially used for transmitting remote operation instructions, control instructions, state configuration instructions and state monitoring instructions through the gigabit network interface extended by the PCIe link, so that service data read-write and management data are transmitted and shunted, data read-write is performed by using faster network resources, and the transmission of the instructions is not interfered, and the transmission performance of the whole remote multi-activity device can be brought into play to be larger.
Drawings
FIG. 1 is a schematic diagram of a hardware framework of a remote multi-active device according to the present invention;
FIG. 2 is a flowchart of a remote multi-activity control method according to a first embodiment of the present invention.
The achievement of the objects, functional features and advantages of the present invention will be further described with reference to the accompanying drawings, in conjunction with the embodiments.
Detailed Description
It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention.
In the following description, suffixes such as "unit", "part" or "unit" for representing elements are used only for facilitating the description of the present invention, and have no specific meaning per se. Thus, "unit," "component," or "unit" may be used in combination.
Referring to fig. 1 to 2, in order to achieve the above objective, a first embodiment of the present invention provides a remote multi-activity control method applied to a remote multi-activity device, where the remote multi-activity device includes a hard disk module, an external interface, at least two controllers, and at least two bus bridge chips (the number of bus bridge chips is at least equal to the number of controllers); each controller is respectively connected with an external interface through a network interface, the external interface comprises a gigabit network interface and a gigabit network interface, the external interface is used for connecting with a network terminal, and the network terminal comprises a local terminal; each of the controllers is correspondingly connected with a different one of the bus bridge chips through a PCIe bus (e.g., each of the controllers is correspondingly connected with one of the bus bridge chips through a PCIe bus, and the bus bridge chips connected with each of the controllers are different); the hard disk module comprises a plurality of SSD (Solid STATE DISK or Solid STATE DRIVE) units, and each bus bridge chip is used for respectively establishing PCIe (PERIPHERAL COMPONENT INTERCONNECT EXPRESS, peripheral component interconnect high-speed channel, which is a high-speed serial computer expansion bus standard) bus communication links to each SSD unit in the hard disk module; the controllers are connected with each other; the method comprises the following steps:
Step S10, an IP address is allocated to a controller, the IP address of each local terminal is obtained, and network connection between the controller and the local terminal is established through the IP address of the local terminal; acquiring storage channel mapping addresses of a local terminal, and establishing an independent data storage channel for each storage channel mapping address;
Step S20, the controller establishes a PCIe communication link for bidirectional transmission to each SSD unit through the corresponding bus bridge chip, so that each controller can access each SSD unit; specifically, it should be noted that, in the present invention, each controller is connected to all SSD units at the same time, and has the capability of operating all SSD units at the same time through PCIe bus communication links extended by the bus bridge chip. However, in the specific read-write process, which SSD units the controller needs to operate is determined according to the SSD unit mapped by the storage pool currently operated by the controller, and actually all SSD units mapped by the storage pool are operated. In some cases, the controller may operate all of the storage pools created for it simultaneously to operate all of the SSD units simultaneously by operating all of the storage pools simultaneously.
Step S30, each controller transmits read-write instructions and read-write data with the connected local terminal through a tera-meganetwork interface expanded by a PCIe link;
Step S40, each controller transmits instructions with the connected local terminal through a gigabit network interface expanded by a PCIe link, wherein the instructions comprise a remote operation instruction, a control instruction, a state configuration instruction and a state monitoring instruction;
And step S50, when the controller receives a read-write instruction sent by the connected local terminal, the controller performs read-write operation on the hard disk module through the bus bridge chip.
In the technical scheme of the invention, transmission links of PCIe buses are established between the controller and the bus bridge chip and between the bus bridge chip and each SSD unit of the hard disk module, so that the transmission efficiency is high; furthermore, each controller does not directly establish a limited number of transmission links with the hard disk module, the controllers do not need to bear the task of establishing the transmission links, redundant resources can be used for processing other tasks, meanwhile, a bus bridge chip is connected between the controllers and the hard disk module and used for establishing a PCIe communication link of bidirectional transmission with each SSD unit, so that each controller can access each SSD unit at the same time, the number of the transmission links is obviously increased, each controller can perform writing operation and reading operation on each SSD unit in parallel, and the parallel reading and writing mode enables the transmission rate of remote multi-active equipment to be obviously increased; furthermore, in the remote multi-activity device, each controller is specially used for receiving and transmitting read-write instructions and read-write data through a gigabit network interface extended by a PCIe link, the data read-write speed is high, and each controller is specially used for transmitting remote operation instructions, control instructions, state configuration instructions and state monitoring instructions through the gigabit network interface extended by the PCIe link, so that service data read-write and management data are transmitted and shunted, data read-write is performed by using faster network resources, and the transmission of the instructions is not interfered, and the transmission performance of the whole remote multi-activity device can be brought into play to be larger.
The network terminals are all terminals in the same network, including a local terminal and a remote terminal.
Specifically, the number of SSD units (each of the dual port U.2 PCIe SSD 1 to the dual port U.2 PCIe SSD 24 in fig. 1 is an SSD unit) may be set as required, and in this embodiment, the number of SSD units is 24. Further, the number of controllers may be set as required, and in this embodiment, the number of controllers is 2 (for example, the first controller and the second controller in fig. 1), and the number of bus bridge chips is also 2 (for example, the first bus bridge chip and the second bus bridge chip in fig. 1). Furthermore, the number of the tera network interfaces and the gigabit network interfaces set in the external interfaces connected to each controller may also be set according to the needs, and in this embodiment, each of the external interfaces connected to each controller includes at least 1 tera network interface and at least 1 gigabit network interface.
Further, the controllers may be communicatively coupled to each other via a gigabit network.
Specifically, in the invention, the hardware can adopt domestic components such as domestic Feiteng FT-2000+/64 controller, domestic memory, domestic network controller and the like, and the domestic Feiteng FT-2000+/64 controller supports multithreading parallel processing. The system adopts an embedded storage management system which is operated in a controller and used for determining the storage space for each data to be written. The controller realizes the functions of sending and receiving external service and management data, algorithm processing of the data, storage management of the data, data security management, state management of the system and the like. Each controller extends PCIe 3.0 bus links with the same number as SSD units through a bus bridge chip, at least one path of tera-network is extended through the PCIe links to receive and transmit storage data, at least one path of kilomega-network is extended through the PCIe links to realize functions of remote operation, control, state configuration, state monitoring and the like, and all controllers are interconnected through the kilomega-network to realize state mutual monitoring and state synchronization of all controllers. Each controller is respectively connected with a plurality of SSD units through PCIe links, realizes mass storage, and realizes simultaneous access of multiple controllers (at least two controllers) to a single hard disk.
The bus bridge chip can adopt a domestic PCIe bus bridge chip to expand 8-path PCIe links of the controller into 24-path PCIe links.
When the PCIe link is extended through the bus bridge chip, the following scheme can be adopted:
Increasing the number of ports: the bus bridge chip may be designed as a multi-port bridge, each port being connectable to one or more PCIe devices (PCIe devices herein being SSD units). For example, a bus bridge chip may have two or more PCIe ports through which one PCIe slot may be extended to multiple so that the motherboard can connect more PCIe devices.
Hierarchical connection: the bus bridge chip may be connected to an upstream PCIe controller and then down to a plurality of downstream PCIe devices. In this way, a tree structure can be built on a single PCIe link through one or more levels of bridging, each level providing additional PCIe ports.
Conversion protocol or standard: bus bridge chips may also be used to translate between different PCIe standards, such as converting a PCIe 3.0 link to multiple PCIe 2.0 links, or linking PCIe to other types of buses (e.g., SATA, PCI, USB, etc.), to interconnect different bus systems.
Splitting bandwidth: for a multi-port bus bridge chip, it may reasonably allocate the bandwidth of the upstream PCIe link to multiple PCIe devices downstream.
Physical topology extension: in large systems or data centers, bus bridge chips may help build complex daisy-chain or star topologies, allowing PCIe devices to be deployed at physical locations remote from the host system by expanding cables and switches.
Based on the first embodiment of the remote multi-activity control method of the present invention, in the second embodiment of the remote multi-activity control method of the present invention, the method further includes:
step S60, obtaining estimated task quantity and bandwidth peak value of each controller at each local terminal;
And step S70, comparing the estimated task quantity and bandwidth peak value of the controller currently connected with the local terminal with the estimated task quantity and bandwidth peak values of other controllers to judge whether to switch the controller to the local terminal.
Further, as a further extension of the present embodiment, the respective controllers may be ordered with reference to the following manner:
Wherein, For the task amount load evaluation value of the mth controller,M is the number of controllers; For the bandwidth peak of the mth controller, The estimated task quantity of the mth controller;
;
Wherein Y is an ascending sequence formed by the task load evaluation values of each controller; and determining the order of the relative task quantity of each controller from small to large according to the ascending sequence, so that when the estimated task quantity of the controllers connected with the local terminals exceeds a preset value, the controllers switched to the first position in the ascending sequence can be selected, and the priority order of the auxiliary controllers of each local terminal can be determined according to the order in the ascending sequence.
Based on the first and second embodiments of the remote multi-activity control method of the present invention, in a third embodiment of the remote multi-activity control method of the present invention, the method further includes:
In step S80, each of the controllers detects the operation states of the other controllers, so as to monitor and synchronize the states of the controllers.
Specifically, each controller detects the operation state of the other controllers by detecting redundant heartbeat signals. The heartbeat signal in this embodiment is a periodically transmitted signal that indicates the active status of the sender. In the inter-controller communication, a heartbeat signal is sent at regular intervals, such as every few seconds.
Each controller sends a heartbeat packet according to a preset time interval, and the heartbeat packet contains identification information and a time stamp so as to prove that the controller still operates normally through the heartbeat packet.
Specifically, each controller sends heartbeat packets to other controllers according to a set time interval, each controller sorts the time stamps of the heartbeat packets sent by the same identification information according to the identification information in the received heartbeat packets so as to analyze the sending frequency and rule of the heartbeat packets of the same identification information, and judges whether the controller corresponding to the same identification information operates normally or not when the fluctuation reaches a preset amplitude according to the fluctuation of the sending frequency and rule. If the task is abnormal, transferring the tasks of the local terminal distributed by the abnormal controller to other controllers for processing so as to ensure that the tasks are not interrupted by faults; if the sending frequency and the rule of the heartbeat packet sent by the abnormal controller are recovered to be normal, the task of the distributed local terminal is recovered to the original controller for processing.
Based on the first to third embodiments of the remote multi-activity control method of the present invention, in a fourth embodiment of the remote multi-activity control method of the present invention, the step S20 includes:
step S21, constructing a plurality of storage pools for each controller;
Step S22, constructing a mapping relation between each storage pool and a plurality of SSD units;
step S23, setting a storage mode corresponding to each storage pool;
Step S24, a PCIe bus-based bidirectional transmission link is established between each controller and the corresponding bus bridge chip, and a PCIe communication link for bidirectional transmission is established between the bus bridge chip and each SSD unit mapped by the storage pool.
Further, each storage pool may map a portion of the SSD units of the hard disk module, or may map all of the SSD units of the hard disk module.
In this embodiment, each storage pool may set a different storage mode, and each storage pool may be used to store different kinds of data (for example, data with different security classes or data with different sizes), where the controller determines, according to the received data kind, a storage pool that needs to be stored correspondingly, and in the process of storing the data in the storage pool, operates the data to store in the SSD unit according to the mapping relationship between the storage pool and the SSD unit.
Based on the fourth embodiment of the remote multi-activity control method of the present invention, in a fifth embodiment of the remote multi-activity control method of the present invention, the step S23 includes:
Step S231, N SSD units mapped by the storage pool are obtained, wherein N-1 SSD units are set as data storage units, and the rest 1 SSD units are set as verification data storage units;
step S232, setting the data block size of the data distributed storage to all the data storage units;
The step S50 includes:
step S51, when the controller receives a writing instruction, RAID calculation processing is carried out on data to be written, each data to be written is divided to obtain N-1 data blocks to be written, and verification operation is carried out on the divided data to obtain verification information data;
Step S52, determining a storage pool to be written according to the result of RAID calculation processing, forwarding verification information data, N-1 data blocks to be written and a writing instruction to the bus bridge chip, enabling the bus bridge chip to write the data to be written into N-1 data storage units mapped in the storage pool to be written in a distributed manner in a block mode according to the size of the data blocks set in the storage pool to be written when receiving the writing instruction, and writing the verification information data into the verification data storage units mapped in the storage pool to be written in a block mode, wherein the writing instruction comprises addresses of the storage pool to be written;
Step S53, when the controller receives a reading instruction, calculating a storage pool to be read of data to be read, forwarding the reading instruction and the storage pool to be read to the bus bridge chip, so that when the bus bridge chip receives the reading instruction, N-1 data storage units mapped from the storage pool to be read parallelly read stored data blocks, and judging whether sectors of each mapped data storage unit are damaged;
Step S54, aiming at the damaged data storage unit, reading the check information data corresponding to the damaged sector, and carrying out data recovery according to the check information data corresponding to the damaged sector and the data stored in other data storage units;
And step S55, forming recovery data according to the data recovery result, forming read data according to the recovery data and the data stored in other data storage units, and returning the read data to the corresponding controllers.
Specifically, the verification operation is performed in the following manner:
;
Wherein, For storing the check information data of the data block in the ith sector,A data block stored for the ith sector of the nth data storage unit,N-1 is the number of data storage units,I is the number of sectors occupied in each data storage unit during data storage;
wherein the same bit exclusive OR result is 0: 0+0=0, 1+1=0;
the exclusive OR of the different bits results in 1:0 ζ1=1, 1 ζ0=1;
The data is recovered in the following way:
;
Wherein, And recovering the data for the ith sector of the nth data storage unit.
Based on the fourth to sixth embodiments of the remote multiple-activity control method of the present invention, in a seventh embodiment of the remote multiple-activity control method of the present invention, the method further includes:
Step S90, establishing a corresponding relation between the controller and the storage pool so that the controller with the corresponding relation with the storage pool has the authority of operating the storage pool;
step S100, when abnormal operation of the controller is detected, marking the controller with abnormal operation as a target controller, and marking a storage pool corresponding to the target controller as a target storage pool;
in step S110, a corresponding relationship is established between the target storage pool and other controllers except the target controller, so that the other controllers take over the target controller to have the authority to operate the target storage pool.
In the invention, the controller can manage the SSD units connected at the back end, and form one or more storage pools by a plurality of SSD units, and the capacity of the storage pools can be divided freely.
Each controller establishes an independent high-speed PCIe path through the corresponding bus bridge chip to be connected with all SSD units at the back end, and can directly access all SSD units at the back end.
Each controller can independently operate all SSD units at the back end, establish a storage pool and perform read-write operation on the storage pool established by the controller.
When the controller operates normally, each controller can operate a plurality of storage pools established for the controller, and when the controller operates abnormally, other controllers take over the storage pools corresponding to the abnormally operated controllers to perform read-write operation, so that the plurality of controllers operate the same storage pool simultaneously, and errors caused by read-write collision are avoided.
Based on the first to seventh embodiments of the remote multi-activity control method of the present invention, in an eighth embodiment of the remote multi-activity control method of the present invention, the method further includes:
step S120, each local terminal sets an initially connected controller as a main controller and sets other controllers as auxiliary controllers;
step S130, each auxiliary controller detects whether the corresponding main controller is abnormal;
And step S140, if yes, distributing the task to be processed of the corresponding main controller to the auxiliary controller for execution.
In the embodiment, each local terminal is provided with a main controller and a secondary controller, and when the main controller is abnormal, the processing task of the secondary controller is switched to realize the redundant backup of the controller of each local terminal in the remote multi-active device.
The main controller and the sub-controller of each local terminal are determined according to the following manner:
Evaluating the task quantity of each local terminal, and arranging the local terminals in a descending order according to the task quantity to form a descending order sequence of the local terminals;
the load capacity of each controller is estimated (the load capacity of each controller can be estimated according to the task load evaluation value), and the controllers are arranged according to the load capacity ascending order (the controllers can be arranged according to the task load evaluation value ascending order) to form a controller ascending order sequence (the controller ascending order sequence Y can be the ascending order sequence Y);
Integrating the ascending sequences of the controllers according to the number of the local terminals to form an allocation matrix, wherein the number of columns of the allocation matrix is the number of the local terminals, the number of rows of the allocation matrix is the result of upward rounding of the result of dividing the number of the controllers by the number of the local terminals, the controller load capacity of each row is gradually increased according to the left-to-right sequence, and the controller load capacity is gradually increased between every two adjacent rows according to the increment of the number of the rows;
Sequentially allocating controllers of a first row in an allocation matrix to each local terminal in a descending sequence of the local terminals as a main controller, for example, allocating the first controller of the first row in the allocation matrix to the first local terminal in the descending sequence of the local terminal as the main controller, and allocating the second controller of the first row in the allocation matrix to the second local terminal in the descending sequence of the local terminal as the main controller;
Each controller in each row after the first row in the distribution matrix is distributed to each local terminal in a local terminal descending sequence in sequence to serve as a secondary controller, and the level serial number of the secondary controller is set according to the row number of the controller in the distribution matrix minus 1; for example, a first controller in a second row in the allocation matrix allocates a first local terminal in a descending sequence of local terminals as a sub-controller, and the sub-controller has a level number of the first sub-controller (the number of rows 2 minus 1 is 1); a second controller in a second row in the allocation matrix is allocated to a second local terminal in a descending sequence of the local terminals as a secondary controller, and the level serial number of the secondary controller is a first secondary controller (the number of rows 2 minus 1 is 1); a first controller in a third row of the allocation matrix allocates a first local terminal in a descending sequence of the local terminals as a secondary controller, wherein the level serial number of the secondary controller is a second secondary controller (the number of the rows 3 is reduced by 1 to 2); the second controller in the third row in the allocation matrix allocates the second local terminal in the descending sequence of the local terminals as a secondary controller, and the secondary controller has a level number of the second secondary controller (the number of rows 3 minus 1 is 2).
And if the number of the controllers in the last row in the allocation matrix is insufficient to fill the last row, repeatedly arranging the controllers in the last row until the last row is full. For example, if the number of controllers in the last row of the allocation matrix is only one and the number of columns is 4, the controllers in the last row are arranged four times on the last row, that is, the controller in the last row is used as the last-stage sub-controller of each local terminal.
In order to achieve the above purpose, the present invention also provides a remote multi-activity device, and the remote multi-activity control method is applied; the remote multi-activity device comprises a hard disk module, an external interface, at least two controllers and at least two bus bridge chips; each controller is respectively connected with an external interface through a network interface, the external interface comprises a gigabit network interface and a gigabit network interface, the external interface is used for connecting with a network terminal, and the network terminal comprises a local terminal; each controller is correspondingly connected with different bus bridge chips through a PCIe bus; the hard disk module comprises a plurality of SSD units, and each bus bridge chip is used for respectively establishing PCIe bus communication links to each SSD unit in the hard disk module; the controllers are connected with each other.
Preferably, each SSD unit is a two-way dual port U.2 PCIe SSD.
Further, the remote multi-active device also supports multiple RAID modes, e.g., supports building 0, 1, 3, 5, 6, 10, 30, 50, 60, and JBOD;
The remote multi-active device also supports configuration operations such as remote issuing command set storage pool, logical volume, LUN, file system, etc., and supports protocols such as NFS, CIFS, FTP, iSCSI.
In addition, the remote multi-activity device also supports operations such as remote issuing instruction setting user instructions, modifying user instructions and the like.
From the above description of the embodiments, it will be clear to those skilled in the art that the above-described embodiment method may be implemented by means of software plus a necessary general hardware platform, but of course may also be implemented by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present invention may be embodied essentially or in part in the form of a software product stored in a computer readable storage medium (e.g. ROM/RAM, magnetic disk, optical disk) as described above, comprising instructions for causing a terminal device to enter the method according to the embodiments of the present invention.
In the description of the present specification, descriptions of terms "one embodiment," "another embodiment," "other embodiments," or "first embodiment through X-th embodiment," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present invention. In this specification, schematic representations of the above terms do not necessarily refer to the same embodiments or examples. Furthermore, the particular features, structures, materials, method steps or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or system. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or system that comprises the element.
The foregoing embodiment numbers of the present invention are merely for the purpose of description, and do not represent the advantages or disadvantages of the embodiments.
The foregoing description is only of the preferred embodiments of the present invention, and is not intended to limit the scope of the invention, but rather is intended to cover any equivalents of the structures or equivalent processes disclosed herein or in the alternative, which may be employed directly or indirectly in other related arts.
Claims (10)
1. The remote multi-activity control method is characterized by being applied to remote multi-activity equipment, wherein the remote multi-activity equipment comprises a hard disk module, an external interface, at least two controllers and at least two bus bridge chips; each controller is respectively connected with an external interface through a network interface, the external interface comprises a gigabit network interface and a gigabit network interface, the external interface is used for connecting with a network terminal, and the network terminal comprises a local terminal; each controller is correspondingly connected with different bus bridge chips through a PCIe bus; the hard disk module comprises a plurality of SSD units, and each bus bridge chip is used for respectively establishing PCIe bus communication links to each SSD unit in the hard disk module; the controllers are connected with each other; the method comprises the following steps:
Distributing IP addresses for the controllers, acquiring the IP addresses of the local terminals, and establishing network connection between the controllers and the local terminals through the IP addresses of the local terminals; acquiring storage channel mapping addresses of a local terminal, and establishing an independent data storage channel for each storage channel mapping address;
the controllers establish a PCIe communication link for bidirectional transmission to each SSD unit through the corresponding bus bridge chip so that each controller can access each SSD unit;
Each controller transmits read-write instructions and read-write data with the connected local terminal through a tera-meganetwork interface extended by a PCIe link;
Each controller transmits instructions to the connected local terminal through a gigabit network interface expanded by a PCIe link, wherein the instructions comprise a remote operation instruction, a control instruction, a state configuration instruction and a state monitoring instruction;
When the controller receives a read-write instruction sent by the connected local terminal, the controller performs read-write operation on the hard disk module through the bus bridge chip.
2. The remote multi-activity control method of claim 1, further comprising:
obtaining estimated task quantity and bandwidth peak value of each controller at each local terminal;
And comparing the estimated task quantity and bandwidth peak value of the controller currently connected with the local terminal with the estimated task quantity and bandwidth peak values of other controllers to judge whether to switch the controllers of the local terminal.
3. The remote multi-activity control method of claim 1, further comprising:
Each controller detects the operation state of the other controllers so as to monitor and synchronize the mutual state among the controllers.
4. The remote multi-activity control method of claim 1, wherein said controller establishes a bi-directional PCIe communication link to each of said SSD units via a corresponding said bus bridge chip to enable each of said controllers to access each of said SSD units, comprising:
Constructing a plurality of storage pools for each controller;
constructing a mapping relation between each storage pool and a plurality of SSD units;
setting a storage mode corresponding to each storage pool;
And constructing a bidirectional transmission link based on a PCIe bus between each controller and the corresponding bus bridge chip, and constructing a bidirectional transmission PCIe communication link between the bus bridge chip and each SSD unit mapped by the storage pool.
5. The remote multi-activity control method according to claim 4, wherein said step of setting a storage mode corresponding to each of said storage pools comprises:
Acquiring N SSD units mapped by the storage pool, setting N-1 SSD units as data storage units, and setting the rest 1 SSD units as verification data storage units;
setting the data block size of the data distributed storage to all the data storage units;
when the controller receives a read-write instruction sent by the connected local terminal, the controller performs read-write operation on the hard disk module through the bus bridge chip, and the method comprises the following steps:
When the controller receives a writing instruction, RAID calculation processing is carried out on data to be written, each data to be written is divided to obtain N-1 data blocks to be written, and verification operation is carried out on the divided data to obtain verification information data;
Determining a storage pool to be written according to a RAID calculation processing result, forwarding verification information data, N-1 data blocks to be written and a writing instruction to the bus bridge chip, enabling the bus bridge chip to write the data to be written into N-1 data storage units mapped in the storage pool to be written in a distributed mode in a block mode according to the size of the data blocks set in the storage pool to be written when receiving the writing instruction, and writing the verification information data into the verification data storage unit mapped in the storage pool to be written in a block mode, wherein the writing instruction comprises addresses of the storage pool to be written;
When the controller receives a reading instruction, calculating a storage pool to be read of data to be read, forwarding the reading instruction and the storage pool to be read to the bus bridging chip, enabling N-1 data storage units mapped from the storage pool to be read to read stored data blocks in parallel when the bus bridging chip receives the reading instruction, and judging whether sectors of each mapped data storage unit are damaged or not;
if so, reading the check information data corresponding to the damaged sector aiming at the damaged data storage unit, and carrying out data recovery according to the check information data corresponding to the damaged sector and the data stored in other data storage units;
And forming recovery data according to the data recovery result, and forming read data according to the recovery data and the data stored by other data storage units and returning the read data to the corresponding controllers.
6. The remote multiple activity control method of claim 5, wherein the checking operation is performed by:
;
Wherein, For storing the check information data of the data block in the ith sector,A data block stored for the ith sector of the nth data storage unit,N-1 is the number of data storage units,I is the number of sectors occupied in each data storage unit during data storage;
wherein the same bit exclusive OR result is 0: 0+0=0, 1+1=0;
the exclusive OR of the different bits results in 1:0 ζ1=1, 1 ζ0=1;
The data is recovered in the following way:
;
Wherein, And recovering the data for the ith sector of the nth data storage unit.
7. The remote multi-activity control method of claim 4, further comprising:
Establishing a corresponding relation between the controller and the storage pool so that the controller with the corresponding relation with the storage pool has the authority of operating the storage pool;
When abnormal operation of the controller is detected, marking the controller with abnormal operation as a target controller, and marking a storage pool corresponding to the target controller as a target storage pool;
And establishing a corresponding relation between the target storage pool and other controllers except the target controller so that the other controllers take over the target controller to have the authority of operating the target storage pool.
8. The remote multiple activity control method of claim 3, further comprising:
Each local terminal sets an initially connected controller as a main controller and sets other controllers as auxiliary controllers;
Each auxiliary controller detects whether the corresponding main controller runs abnormally;
if yes, the task to be processed of the corresponding main controller is distributed to the auxiliary controller for execution.
9. A remote multi-activity device characterized by applying the remote multi-activity control method according to any one of claims 1 to 8; the remote multi-activity device comprises a hard disk module, an external interface, at least two controllers and at least two bus bridge chips; each controller is respectively connected with an external interface through a network interface, the external interface comprises a gigabit network interface and a gigabit network interface, the external interface is used for connecting with a network terminal, and the network terminal comprises a local terminal; each controller is correspondingly connected with different bus bridge chips through a PCIe bus; the hard disk module comprises a plurality of SSD units, and each bus bridge chip is used for respectively establishing PCIe bus communication links to each SSD unit in the hard disk module; the controllers are connected with each other.
10. The remote multi-active device of claim 9, wherein each of the SSD units is a two-way dual port U.2 PCIe SSD, respectively.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410692911.9A CN118277314B (en) | 2024-05-31 | 2024-05-31 | Remote multi-activity device and remote multi-activity control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410692911.9A CN118277314B (en) | 2024-05-31 | 2024-05-31 | Remote multi-activity device and remote multi-activity control method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118277314A true CN118277314A (en) | 2024-07-02 |
CN118277314B CN118277314B (en) | 2024-08-16 |
Family
ID=91642493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410692911.9A Active CN118277314B (en) | 2024-05-31 | 2024-05-31 | Remote multi-activity device and remote multi-activity control method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118277314B (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049225A (en) * | 2013-01-05 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | Double-controller active-active storage system |
CN103152397A (en) * | 2013-02-06 | 2013-06-12 | 浪潮电子信息产业股份有限公司 | Method for designing multi-control storage system |
CN104267913A (en) * | 2014-10-20 | 2015-01-07 | 北京北亚时代科技有限公司 | Storage method and system allowing dynamic asynchronous RAID level adjustment |
CN107526701A (en) * | 2017-07-02 | 2017-12-29 | 北京溢思得瑞智能科技研究院有限公司 | Hot plug storage equipment and system |
US9959062B1 (en) * | 2016-02-05 | 2018-05-01 | Datadirect Networks, Inc. | Low latency and reduced overhead data storage system and method for sharing multiple storage devices by high performance computing architectures |
CN108762672A (en) * | 2018-05-23 | 2018-11-06 | 新华三技术有限公司成都分公司 | Distributed storage device, method and cascade module |
CN110275680A (en) * | 2019-06-24 | 2019-09-24 | 浙江大华技术股份有限公司 | A kind of dual control dual-active storage system |
US20220179593A1 (en) * | 2020-10-02 | 2022-06-09 | Western Digital Technologies, Inc. | DRAM-Less SSD With Secure HMB For Low Latency |
-
2024
- 2024-05-31 CN CN202410692911.9A patent/CN118277314B/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049225A (en) * | 2013-01-05 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | Double-controller active-active storage system |
CN103152397A (en) * | 2013-02-06 | 2013-06-12 | 浪潮电子信息产业股份有限公司 | Method for designing multi-control storage system |
CN104267913A (en) * | 2014-10-20 | 2015-01-07 | 北京北亚时代科技有限公司 | Storage method and system allowing dynamic asynchronous RAID level adjustment |
US9959062B1 (en) * | 2016-02-05 | 2018-05-01 | Datadirect Networks, Inc. | Low latency and reduced overhead data storage system and method for sharing multiple storage devices by high performance computing architectures |
CN107526701A (en) * | 2017-07-02 | 2017-12-29 | 北京溢思得瑞智能科技研究院有限公司 | Hot plug storage equipment and system |
CN108762672A (en) * | 2018-05-23 | 2018-11-06 | 新华三技术有限公司成都分公司 | Distributed storage device, method and cascade module |
CN110275680A (en) * | 2019-06-24 | 2019-09-24 | 浙江大华技术股份有限公司 | A kind of dual control dual-active storage system |
US20220179593A1 (en) * | 2020-10-02 | 2022-06-09 | Western Digital Technologies, Inc. | DRAM-Less SSD With Secure HMB For Low Latency |
Also Published As
Publication number | Publication date |
---|---|
CN118277314B (en) | 2024-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6611903B2 (en) | Storage subsystem and its controlling method | |
CN101324877B (en) | System and manufacture method of multi-node configuration of processor cards connected via processor fabrics | |
EP2088508A2 (en) | Storage subsystem and control method thereof | |
CN101662495B (en) | Backup method, master server, backup servers and backup system | |
US20070083707A1 (en) | Using OOB to provide communication in a computer storage system | |
US8559322B2 (en) | Link state detection method and system | |
US20050149641A1 (en) | Methods and data storage subsystems of controlling serial ATA storage devices | |
US8332560B2 (en) | System and method for identifying inoperable connection points in a storage enclosure | |
US7565474B2 (en) | Computer system using serial connect bus, and method for interconnecting a plurality of CPU using serial connect bus | |
US7774571B2 (en) | Resource allocation unit queue | |
CN107463342B (en) | CDN edge node file storage method and device | |
US8275951B2 (en) | Local bitmaps for an array of redundant storage devices | |
EP3995963A1 (en) | Method of improving reliability of storage system, and related apparatus | |
JP4445535B2 (en) | DATA TRANSFER DEVICE, INFORMATION PROCESSING SYSTEM, DATA TRANSFER PROGRAM, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING THE PROGRAM | |
JP2009217475A (en) | Storage system, storage device, control method for storage system, and control program | |
CN117632808B (en) | Multi-control storage array, storage system, data processing method and storage medium | |
US20020035669A1 (en) | Apparatus for redundant interconnection between multiple hosts and raid | |
CN118277314B (en) | Remote multi-activity device and remote multi-activity control method | |
CN111399766A (en) | Data storage method, data reading method, device and system in storage system | |
CN102820986A (en) | Self-adaptation method, device and network equipment for working mode of fiber channel interface | |
US20040139196A1 (en) | System and method for releasing device reservations | |
US20060294412A1 (en) | System and method for prioritizing disk access for shared-disk applications | |
CN105607872A (en) | Storage apparatus | |
US20060005196A1 (en) | Resource allocation in a computer-based system | |
CN112181705B (en) | Management storage control method based on multiple controllers and storage equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |