WO2024103690A1 - 一种数据请求方法、装置、设备及非易失性可读存储介质 - Google Patents

一种数据请求方法、装置、设备及非易失性可读存储介质 Download PDF

Info

Publication number
WO2024103690A1
WO2024103690A1 PCT/CN2023/097549 CN2023097549W WO2024103690A1 WO 2024103690 A1 WO2024103690 A1 WO 2024103690A1 CN 2023097549 W CN2023097549 W CN 2023097549W WO 2024103690 A1 WO2024103690 A1 WO 2024103690A1
Authority
WO
WIPO (PCT)
Prior art keywords
controller node
data
storage
controller
access
Prior art date
Application number
PCT/CN2023/097549
Other languages
English (en)
French (fr)
Inventor
侯福国
苑忠科
张凯
Original Assignee
苏州元脑智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 苏州元脑智能科技有限公司 filed Critical 苏州元脑智能科技有限公司
Publication of WO2024103690A1 publication Critical patent/WO2024103690A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools

Definitions

  • the present disclosure relates to the field of storage technology, and in particular to a data request method, device, equipment and non-volatile readable storage medium.
  • the purpose of the present disclosure is to provide a data request method, device, equipment and non-volatile readable storage medium, which can achieve load balancing between the host and multi-controller storage by defining private instructions, reduce storage hardware resources and improve storage performance.
  • the specific scheme is as follows:
  • a first aspect of the present disclosure provides a data request method, which is applied to a storage side and includes:
  • the access priority information of each of the controller nodes is returned to the host side, so that the host side requests data through the corresponding controller node according to the access priority information.
  • the data request method further includes:
  • dividing the logical volume of the storage side into a plurality of the data segments includes:
  • the logical namespace of the storage side is divided to obtain a plurality of namespace blocks corresponding to the logical namespace; wherein the logical namespace is a type of the logical volume, and the namespace blocks are the divided data segments.
  • the method further includes:
  • the access priority is set for each of the controller nodes according to all of the accessible relationships and the optimal access relationship of each of the controller nodes.
  • the host side requests data through the corresponding controller node according to the access priority information, including:
  • the host side determines the controller node with the optimal access status for each of the data segments according to the priority information, and requests data through the controller node with the optimal access status.
  • the host side determines the controller node of the optimal access state of each of the data segments according to the priority information, including:
  • the host side determines the controller node having both the optimal access relationship and the accessible relationship with the data segment as the controller node in the optimal state of the data segment;
  • the host side determines the controller node that has only the accessible relationship with the data segment as the controller node in a non-optimal state for the data segment.
  • establishing an accessible relationship between each controller node and each data segment in units of each controller node of the storage side includes:
  • Storage stack policy information for establishing the accessible relationship is obtained from a lower storage stack, and the accessible relationship is established between the controller node and each of the data segments according to the storage stack policy information.
  • the priority information includes data segment information, a data segment priority descriptor, and expansion information of the data segment priority descriptor.
  • the private query command is a custom private command that meets the non-volatile memory host controller interface specification.
  • a second aspect of the present disclosure provides a data request method, which is applied to a host side and includes:
  • the method before sending the private query command to the storage side, the method further includes:
  • determining whether the storage side supports the private query command includes:
  • the support information returned by the storage side is received, and if the support information indicates that the storage side supports the segment-based reporting mode, it is determined that the storage side supports the private query command.
  • a third aspect of the present disclosure provides a data request device, applied to a storage side, comprising:
  • a command acquisition module is configured to acquire a private query command sent by the host side
  • An information generation module is configured to generate access priority information of each controller node on the storage side according to the private query command; wherein the access priority information represents the access status of the controller node to the data segment having an accessible relationship with the controller node;
  • the information return module is configured to return the access priority information of each controller node to the host side, so that the host side requests data through the corresponding controller node according to the access priority information.
  • a fourth aspect of the present disclosure provides a data request device, applied to a host side, comprising:
  • a command sending module is configured to send a private query command to the storage side, so that the storage side generates access priority information of each controller node of the storage side according to the private query command; wherein the access priority information represents the access status of the controller node to the data segment having an accessible relationship with it;
  • the information receiving and requesting module is configured to receive the access priority information returned by the storage side, and request data through the corresponding controller node according to the access priority information.
  • a fifth aspect of the present disclosure provides an electronic device, comprising a processor and a memory; wherein the memory is used to store a computer program, and the computer program is loaded and executed by the processor to implement the aforementioned data request method.
  • a sixth aspect of the present disclosure provides a computer-readable non-volatile readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are loaded and executed by a processor, the aforementioned data request method is implemented.
  • the storage side first obtains the private query command sent by the host side; then generates the access priority information of each controller node on the storage side according to the private query command; wherein the access priority information represents the access status of the controller node to the data segment with which it has an accessible relationship; finally, the access priority information of each controller node is returned to the host side, so that the host side can request data through the corresponding controller node according to the access priority information.
  • the present disclosure sets the access priority in units of controllers of a multi-controller storage system, and the host side actively obtains the storage side controller node relative to the data segment by sending a custom private query instruction. Access priority can be used to determine which controller to send the data request to the storage backend disk based on the access priority information, thereby achieving load balancing among multi-controller storage controllers, reducing storage hardware resources, and improving storage performance.
  • FIG1 is a flow chart of a storage-side data request method provided by the present disclosure
  • FIG2 is a schematic diagram of a reference protocol for obtaining asymmetric namespace access ANA information through the original Get Log Page command provided by the present disclosure
  • FIG3 is a schematic diagram of a reference protocol for obtaining asymmetric namespace access ANA information through the original Get Log Page command provided by the present disclosure
  • FIG4 is a flowchart of a specific storage-side data request method provided by the present disclosure.
  • FIG5 is a flow chart of a specific storage-side data request method provided by the present disclosure.
  • FIG6 is a schematic diagram of a multi-path finally formed by a four-controller storage system provided by the present disclosure
  • FIG7 is a schematic diagram of describing the format of an Asymmetric Namespace Access Referrals Log command provided by the present disclosure
  • FIG8 is a schematic diagram of an expanded description of Namespace Segment referral Info provided by the present disclosure.
  • FIG9 is a schematic diagram of an expanded description of a Namespace segment referral descriptor provided by the present disclosure.
  • FIG10 is a flowchart of a process for a host side to request data according to access priority information provided by the present disclosure
  • FIG11 is a flow chart of a host-side data request method provided by the present disclosure.
  • FIG12 is a flowchart of a specific host-side data request method provided by the present disclosure.
  • FIG13 is a schematic diagram of a specific interaction process between a host side and a storage side provided by the present disclosure
  • FIG14 is a schematic diagram of the structure of a storage-side data request device provided by the present disclosure.
  • FIG15 is a schematic diagram of the structure of a host-side data request device provided by the present disclosure.
  • FIG. 16 is a structural diagram of a data requesting electronic device provided by the present disclosure.
  • the present invention provides a data request scheme, which sets the access priority based on the controller of the multi-controller storage system.
  • the host side actively obtains the access priority of the storage side controller node relative to the data segment by sending a custom private query instruction. Based on the access priority information, it can decide which controller to send the data request to the storage side backend disk, so as to realize the load balancing among the multi-controller storage controllers, reduce the storage hardware resources, and improve the storage performance.
  • FIG1 is a flow chart of a data request method provided by an embodiment of the present disclosure.
  • the data request method is applied to the storage side and includes:
  • the storage side is a multi-controller storage system that meets the non-volatile memory host controller interface specification NVMe (non-volatile memory express), which is a multi-controller system MCS (multiple controller system).
  • NVMe non-volatile memory express
  • MCS multiple controller system
  • a storage system with four NVMe controllers is a four-controller storage system
  • a storage system with two NVMe controllers is a two-controller storage system.
  • a four-controller storage system is more commonly used.
  • the storage side when a data request is made on the host side, the storage side first obtains a private query command sent by the host side.
  • the private query command is a custom private command that meets the non-volatile memory host controller interface specification NVMe.
  • NVMe non-volatile memory host controller interface specification
  • the Get Log Page command is a get log page command, which returns a data buffer containing the requested log page.
  • the Get Log Page command may be affected by the ANA status.
  • the Get Log Page command uses the Data Pointer, Command Dword 10, Command Dword 11, Command Dword 12, Command Dword 13, and Command Dword 14 fields, and retains all other command-specific fields.
  • Figures 2 and 3 are reference protocols for obtaining asymmetrical namespace access ANA information through the original Get Log Page command.
  • the host obtains ANA information through the Get Log Page command, and the Log Identifier is 0Ch.
  • Number of ANA Group Descriptors indicates how many priority groups there are, followed by each priority descriptor, and each descriptor is expanded in the second table.
  • ANA Group ID represents the ID of each group
  • Number of NSID Values indicates how many NSIDs there are in the group, that is, how many namespaces there are
  • Change Count represents the number of times the group changes, and then identifies the priority of the group, and finally lists all NSIDs.
  • S12 Generate access priority information of each controller node on the storage side according to the private query command; wherein the access priority information represents the access status of the controller node to the data segment having an accessible relationship with the controller node.
  • the storage side after the storage side obtains the private query command, it will generate access priority information of each controller node on the storage side according to the private query command.
  • the access priority information represents the access status of the controller node to the data segment with which it has an accessible relationship.
  • Storage disk Storage disk.
  • the accessible relationship indicates an accessible relationship, that is, between the data segment and the controller node having the accessible relationship, the controller node can access the data segment.
  • the NVMe protocol specifies three types of controllers. This embodiment only involves the I/O controller, and the rest are not introduced.
  • the storage side after generating the access priority information, the storage side returns the access priority information of each controller node to the host side, so that the host side can request data through the corresponding controller node according to the access priority information.
  • the host side accesses data, it will find the most appropriate controller node to request data from the data segment according to the data segment corresponding to the logical address of the data to be accessed. In this way, the backend disk can be accessed through different controller nodes, thereby achieving load balancing between the host and multi-controller storage.
  • the storage side first obtains the private query command sent by the host side; then generates the access priority information of each controller node on the storage side according to the private query command; wherein the access priority information represents the access status of the controller node to the data segment with which it has an accessible relationship; finally, the access priority information of each controller node is returned to the host side, so that the host side can request data through the corresponding controller node according to the access priority information.
  • the disclosed embodiment sets the access priority based on the controller of the multi-controller storage system.
  • the host side actively obtains the access priority of the storage side controller node relative to the data segment by sending a custom private query instruction. Based on the access priority information, it can decide which controller to send the data request to the storage side backend disk, thereby realizing load balancing among controllers of multi-controller storage, reducing storage hardware resources, and improving storage performance.
  • FIG4 is a flowchart of a specific data request method provided by an embodiment of the present disclosure.
  • the data request method includes:
  • S22 establishing an accessible relationship between each controller node and each of the data segments, taking each controller node on the storage side as a unit, and setting an access priority for each of the controller nodes according to all of the accessible relationships of each of the controller nodes.
  • the logical volume on the storage side needs to be divided into multiple data segments.
  • the specific segment size can be set according to the storage stack policy information (IO stack policy information) of the lower storage stack (IO stack), or can be set according to business needs. It is generally set to 32M, that is, segmentation is performed according to the specification of each segment size of 32M, and multiple data segments are 0, 32M-1, 32M, 64M-1, 64M, 96M-1, 96M, 128M-1, etc.
  • the access priority is set for each controller node according to all the accessible relationships of each controller node. For example, data segment 1 is associated with controller node 1, controller node 2, controller node 3, and controller node 4. Point 4 has the aforementioned accessible relationship, but the accessible relationship between data segment 1 and controller node 1 is more special, so for data segment 1, controller node 1 has the highest access priority.
  • S23 The storage side obtains the private query command sent by the host side.
  • the storage side generates access priority information of each controller node on the storage side according to the private query command; wherein the access priority information represents the access status of the controller node to the data segment having an accessible relationship with the controller node.
  • S25 The storage side returns the access priority information of each of the controller nodes to the host side, so that the host side requests data through the corresponding controller node according to the access priority information.
  • the embodiment of the present disclosure first divides the logical volume of the storage side into multiple data segments, and then establishes an accessible relationship between the controller node and each of the data segments based on each controller node of the storage side, and sets an access priority for each of the controller nodes according to all the accessible relationships of each of the controller nodes.
  • the storage side obtains the private query command sent by the host side, and generates access priority information of each controller node on the storage side according to the private query command; wherein the access priority information represents the access status of the controller node to the data segment with which it has an accessible relationship, and returns the access priority information of each of the controller nodes to the host side, so that the host side requests data through the corresponding controller node according to the access priority information.
  • the embodiment of the present disclosure sets the access priority based on the controller of the multi-controller storage system on the basis of segmenting the back-end disk of the storage side, thereby realizing load balancing among the controllers of the multi-controller storage.
  • FIG5 is a flowchart of a specific data request method provided by an embodiment of the present disclosure.
  • the data request method includes:
  • S33 Acquire storage stack policy information for establishing an accessible relationship from a lower storage stack, and establish the accessible relationship between the controller node and each of the data segments according to the storage stack policy information.
  • S34 Setting access priorities for each of the controller nodes according to all of the accessible relationships and the optimal access relationship of each of the controller nodes.
  • the logical volume is a logical namespace namespace
  • the logical namespace namespace on the storage side is divided to obtain multiple namespace blocks corresponding to the logical namespace namespace.
  • the logical namespace namespace is a type of the logical volume
  • the namespace block is the divided data segment.
  • an optimal access relationship is established between each data segment and the corresponding controller node, and the optimal access relationship indicates which controller node has the highest access priority for a certain data segment. For example, in a single logical namespace of 128M, In the load balancing of the namespace scenario, each logical namespace is divided into 4 groups according to the segment size of 32M.
  • Each group is accessed by a controller node with priority, and the others are non-priority accessed.
  • the optimal access relationship is 0, 32M-1: node1, 32M, 64M-1: node2, 64M, 96M-1: node3, 96M, 128M-1: node4.
  • IO stack policy information storage stack policy information
  • IO stack policy information storage stack policy information
  • the access priority is set for each of the controller nodes based on all of the accessible relationships and the optimal access relationship of each of the controller nodes.
  • the storage side generates access priority information of each controller node on the storage side according to the private query command; wherein the access priority information represents the access status of the controller node to the data segment having an accessible relationship with the controller node.
  • the priority information returned includes data segment information, data segment priority descriptor and expansion information of data segment priority descriptor.
  • the command needs to describe the priority information of all namespaces divided by segments under each controller controller.
  • the table in Figure 7 is a format description of the Asymmetric Namespace Access Referrals Log command.
  • the number of Namespace Segment referral Info is the same as the number of namespaces;
  • the table in Figure 8 is an expansion of Namespace Segment referral Info, representing the priority descriptor of the segment corresponding to each namespace;
  • the table in Figure 9 is an expansion of Namespace segment referral descriptor, which describes the priority information of the segment.
  • the data segment information is shown in the table in Figure 7
  • the table in Figure 8 is the expansion of the data segment information, that is, the data segment priority descriptor
  • the table in Figure 9 is the expansion information of the data segment priority descriptor.
  • the data segment priority descriptor also known as the data segment descriptor, is a data structure that provides the size and location of the data segment as well as control and status information to the processor. Usually the data segment descriptor is generated by the compiler, linker, loader or operating system, not the application.
  • S36 The storage side returns the access priority information of each of the controller nodes to the host side.
  • step S36 regarding the specific process of the above step S36, reference may be made to the corresponding content disclosed in the previous embodiment, and no further details will be given here.
  • S37 The host side determines the controller node with the optimal access status for each of the data segments according to the priority information, and requests data through the controller node with the optimal access status.
  • the host side determines the controller node with the best access status for each data segment according to the priority information, and requests data through the controller node with the best access status.
  • the data request process is shown in FIG10 , and the specific steps are:
  • S371 The host side determines the controller node that has both the optimal access relationship and the accessible relationship with the data segment as the controller node in the optimal state of the data segment.
  • the host side determines the controller node that has only the accessible relationship with the data segment as the The controller node is in a non-optimal state of the data segment.
  • the host side determines the controller node that has both the optimal access relationship and the accessible relationship with the data segment as the controller node in the optimal state of the data segment.
  • the host side determines the controller node that only has the accessible relationship with the data segment as the controller node in the non-optimal state of the data segment.
  • the embodiment of the present disclosure first divides the logical namespace on the storage side to obtain multiple namespace blocks corresponding to the logical namespace; wherein the logical namespace is a type of the logical volume, and the namespace block is the divided data segment. Then, an optimal access relationship is established between each of the data segments and the corresponding controller node. At the same time, storage stack policy information for establishing an accessible relationship is obtained from the lower storage stack, and the accessible relationship is established between the controller node and each of the data segments according to the storage stack policy information. Finally, access priority is set for each of the controller nodes according to all of the accessible relationships and the optimal access relationship of each of the controller nodes. Load balancing under an asymmetric namespace is achieved.
  • FIG11 is a flow chart of a data request method provided by an embodiment of the present disclosure.
  • the data request method is applied to the host side and includes:
  • S41 Send a private query command to the storage side so that the storage side generates access priority information of each controller node on the storage side according to the private query command; wherein the access priority information represents the access status of the controller node to the data segment having an accessible relationship with it.
  • the host side first sends a private query command to the storage side.
  • the storage side is a multi-controller storage system that meets the non-volatile memory host controller interface specification NVMe (non-volatile memory express), which is a multi-controller system MCS (multiple controller system).
  • NVMe non-volatile memory express
  • MCS multiple controller system
  • a storage system with four NVMe controllers is a four-controller storage system
  • a storage system with two NVMe controllers is a two-controller storage system.
  • a four-controller storage system is more commonly used.
  • the storage side when a data request is made on the host side, the storage side first obtains a private query command sent by the host side.
  • the private query command is a custom private command that meets the non-volatile memory host controller interface specification NVMe.
  • NVMe non-volatile memory host controller interface specification
  • the Get Log Page command is a get log page command, which returns a data buffer containing the requested log page.
  • the Get Log Page command may be affected by the ANA status (see Section 8.1.4).
  • the Get Log Page command uses the Data Pointer, Command Dword 10, Command Dword 11, Command Dword 12, Command Dword 13, and Command Dword 14 fields, and retains all other command-specific fields.
  • the storage side after the storage side obtains the private query command, it will generate access priority information of each controller node on the storage side according to the private query command. Then, after generating the access priority information, the storage side returns the access priority information of each controller node to the host side, wherein the access priority information represents the access status of the controller node to the data segment with which it has an accessible relationship, and a plurality of the data segments constitute the storage disk of the storage side.
  • the accessible relationship indicates an accessible relationship, that is, between the data segment with the accessible relationship and the controller node, the controller node can access the data segment.
  • the NVMe protocol specifies three types of controllers. This embodiment only involves the I/O controller and does not introduce the others.
  • S42 Receive the access priority information returned by the storage side, and request data through the corresponding controller node according to the access priority information.
  • the host side receives the access priority information returned by the storage side, and requests data through the corresponding controller node according to the access priority information.
  • the host side accesses data, it will find the most appropriate controller node according to the data segment corresponding to the logical address of the data to be accessed and request data from the data segment. In this way, the backend disk can be accessed through different controller nodes, thereby achieving load balancing between the host and multi-controller storage.
  • the host side first sends a private query command to the storage side, so that the storage side generates access priority information of each controller node on the storage side according to the private query command; wherein the access priority information represents the access status of the controller node to the data segment with which it has an accessible relationship; then the access priority information returned by the storage side is received, and data is requested through the corresponding controller node according to the access priority information.
  • the disclosed embodiment sets the access priority in units of controllers of a multi-controller storage system, and the host side actively obtains the access priority of the storage side controller node relative to the data segment by sending a custom private query instruction, and can then decide which controller to send the data request to the storage side backend disk based on the access priority information, thereby achieving load balancing among controllers of multi-controller storage, reducing storage hardware resources, and improving storage performance.
  • FIG12 is a flowchart of a specific data request method provided by an embodiment of the present disclosure.
  • the data request method is applied to the host side and includes:
  • the host side before sending the private query command, the host side needs to determine whether the storage side supports the private query command, and if so, send the private query command to the storage side. Specifically, first generate a determination instruction and send the determination instruction to the storage side, the storage side will return corresponding support information, and then receive the support information returned by the storage side. If the support information indicates that the storage side supports the segment reporting method, it is determined that the storage side supports the private query command.
  • the host side queries whether the storage supports the segment reporting method through the identification instruction, where the identification instruction can be an Identify command. If the storage test returns that it supports this feature.
  • the host side host requests report ANA referrals Log, and the storage side target returns Asymmetric Namespace Access Referrals Log.
  • the referrals info returned to the host by the storage side is obtained by the storage front end from the lower IO stack. Which controller node a specific segment can access for processing is determined by the lower layer of the IO stack.
  • S53 Send a private query command to the storage side so that the storage side generates access priority information of each controller node on the storage side according to the private query command; wherein the access priority information represents the access status of the controller node to the data segment having an accessible relationship with it.
  • S54 Receive the access priority information returned by the storage side, and request data from the data segment through the corresponding controller node according to the access priority information.
  • step S53 and step S54 for the specific process of the above-mentioned step S53 and step S54, reference may be made to the corresponding content disclosed in the above-mentioned embodiment, and no further description will be given here.
  • the embodiment of the present disclosure further discloses a data request device, which is applied to the storage side and includes:
  • the command acquisition module 11 is configured to acquire the private query command sent by the host side;
  • the data requesting device further includes:
  • the priority setting module is further configured to set the access priority for each of the controller nodes according to all of the accessible relationships and the optimal access relationship of each of the controller nodes.
  • the node determination module specifically includes:
  • a first determining unit is configured to determine, on the host side, the controller node that has both the optimal access relationship and the accessible relationship with the data segment as the controller node in the optimal state of the data segment;
  • the second determining unit is configured to determine, on the host side, the controller node that only has the accessible relationship with the data segment as the controller node in a non-optimal state for the data segment.
  • the embodiment of the present disclosure further discloses a data request device, which is applied to the host side and includes:
  • the command sending module 21 is configured to send a private query command to the storage side, so that the storage side generates access priority information of each controller node of the storage side according to the private query command; wherein the access priority information represents the access status of the controller node to the data segment having an accessible relationship with it;
  • the information receiving and requesting module 22 is configured to receive the access priority information returned by the storage side, and request data through the corresponding controller node according to the access priority information.
  • the host side first sends a private query command to the storage side, so that the storage side generates access priority information of each controller node on the storage side according to the private query command; wherein the access priority information represents the access status of the controller node to the data segment with which it has an accessible relationship; then the access priority information returned by the storage side is received, and data is requested through the corresponding controller node according to the access priority information.
  • the disclosed embodiment sets the access priority in units of controllers of a multi-controller storage system, and the host side actively obtains the access priority of the storage side controller node relative to the data segment by sending a custom private query instruction, and can decide which controller to send the data request to the storage side backend disk based on the access priority information, thereby realizing load balancing among controllers of multi-controller storage, reducing storage hardware resources, and improving storage performance.
  • the data requesting device further includes:
  • the determination module is configured to determine whether the storage side supports the private query command, and if so, send the private query command to the storage side.
  • the support information receiving unit is configured to receive the support information returned by the storage side, and if the support information indicates that the storage side supports the segment-based reporting method, determine that the storage side supports the private query command.
  • FIG16 is a structural diagram of an electronic device 20 according to an exemplary embodiment, and the content in the diagram cannot be regarded as any limitation on the scope of application of the present disclosure.
  • the power supply 23 is used to provide working voltage for each hardware device on the electronic device 20;
  • the communication interface 24 can create a data transmission channel between the electronic device 20 and the external device, and the communication protocol it follows is any communication protocol that can be applied to the technical solution of the present disclosure, and is not specifically limited here;
  • the input and output interface 25 is used to obtain external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs and is not specifically limited here.
  • the memory 22, as a carrier for storing resources can be a read-only memory, a random access memory, a disk or an optical disk, etc.
  • the resources stored thereon may include an operating system 221, a computer program 222 and data 223, etc.
  • the storage method can be temporary storage or permanent storage.
  • the operating system 221 is used to manage and control the hardware devices and computer programs 222 on the electronic device 20, so as to realize the operation and processing of the massive data 223 in the memory 22 by the processor 21, which can be Windows Server, Netware, Unix, Linux, etc.
  • the computer program 222 can further include a computer program that can be used to complete other specific tasks.
  • the data 223 can include access priority information collected by the electronic device 20.
  • an embodiment of the present disclosure also discloses a non-volatile readable storage medium, in which a computer program is stored.
  • a computer program is stored.
  • the steps of the data request method disclosed in any of the aforementioned embodiments are implemented.
  • each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments.
  • the same or similar parts between the embodiments can be referred to each other.
  • the description is relatively simple, and the relevant parts can be referred to the method part.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开公开了一种数据请求方法、装置、设备及非易失性可读存储介质,应用于存储侧,包括:获取主机侧发送的私有查询命令;根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有访问关系的数据段的访问状态;将各个所述控制器节点的所述访问优先级信息返回至所述主机侧,以便所述主机侧根据所述访问优先级信息通过相应所述控制器节点请求数据。可见,本公开通过定义私有指令实现主机与多控存储的负载均衡,能够降低存储硬件资源,提高存储性能。

Description

一种数据请求方法、装置、设备及非易失性可读存储介质
相关申请的交叉引用
本公开要求于2022年11月16日提交中国专利局,申请号为202211430815.4,申请名称为“一种数据请求方法、装置、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
技术领域
本公开涉及存储技术领域,特别涉及一种数据请求方法、装置、设备及非易失性可读存储介质。
背景技术
随着的到来,数据集中是大数据时代的产物,对存储系统稳定性和可靠性的要求越来越高。目前存储系统多采用多控制器来提高存储效率,多控存储系统收到主机读数据请求,数据请求通过控制器到达后端盘,然后返回给主机;若是写数据请求,则通过控制器后,写到后端盘。对于多控存储系统,尤其是一框四控存储系统,一个控制框下存在四个控制器节点,数据请求走哪个控制器下发到盘,需要采取合适的策略。通过采取合适的策略,保证主机与存储系统的负载均衡,提高整体的性能。传统策略往往是指定一个最合适的节点,所有输入输出会通过这一个控制器下发到后端盘,而其他控制器则无输入输出流量,导致负载不均衡,高负载下性能会下降,给用户带来极差的体验,降低用户对产品的认可度,且严重浪费硬件资源。
因此,上述技术问题亟待本领域技术人员解决。
发明内容
有鉴于此,本公开的目的在于提供一种数据请求方法、装置、设备及非易失性可读存储介质,能够通过定义私有指令实现主机与多控存储的负载均衡,降低存储硬件资源,提高存储性能。其具体方案如下:
本公开的第一方面提供了一种数据请求方法,应用于存储侧,包括:
获取主机侧发送的私有查询命令;
根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态;
将各个所述控制器节点的所述访问优先级信息返回至所述主机侧,以便所述主机侧根据所述访问优先级信息通过相应所述控制器节点请求数据。
在一些实施例中,所述数据请求方法,还包括:
将所述存储侧的逻辑卷划分为多个所述数据段;
以所述存储侧的每个控制器节点为单位分别在所述控制器节点和各个所述数据段之间建立可访问关系,并根据各个所述控制器节点的全部所述可访问关系为各个所述控制器节点设置所述访问优先级。
在一些实施例中,所述将所述存储侧的逻辑卷划分为多个所述数据段,包括:
将所述存储侧的逻辑命名空间进行划分,得到与所述逻辑命名空间对应的多个命名空间块;其中,所述逻辑命名空间为所述逻辑卷的一种,所述命名空间块为划分后的所述数据段。
在一些实施例中,所述将所述存储侧的逻辑卷划分为多个所述数据段之后,还包括:
对各个所述数据段建立与对应的所述控制器节点之间的最优访问关系;
根据各个所述控制器节点的全部所述可访问关系和所述最优访问关系为各个所述控制器节点设置所述访问优先级。
在一些实施例中,所述主机侧根据所述访问优先级信息通过相应所述控制器节点请求数据,包括:
所述主机侧根据所述优先级信息确定出各个所述数据段的最优访问状态的所述控制器节点,并通过所述最优访问状态的所述控制器节点请求数据。
在一些实施例中,所述主机侧根据所述优先级信息确定出各个所述数据段的最优访问状态的所述控制器节点,包括:
所述主机侧将与所述数据段同时具有所述最优访问关系和所述可访问关系的所述控制器节点确定为所述数据段的所述最优状态的所述控制器节点;
所述主机侧将与所述数据段仅具有所述可访问关系的所述控制器节点确定为所述数据段的非最优状态的所述控制器节点。
在一些实施例中,所述以所述存储侧的每个控制器节点为单位分别在所述控制器节点和各个所述数据段之间建立可访问关系,包括:
从下层存储栈获取用于建立所述可访问关系的存储栈策略信息,并根据所述存储栈策略信息在所述控制器节点和各个所述数据段之间建立所述可访问关系。
在一些实施例中,所述优先级信息包括数据段信息、数据段优先级描述符及数据段优先级描述符的展开信息。
在一些实施例中,所述私有查询命令为满足非易失性内存主机控制器接口规范的自定义私有命令。
本公开的第二方面提供了一种数据请求方法,应用于主机侧,包括:
向存储侧发送私有查询命令,以便所述存储侧根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态;
接收所述存储侧返回的所述访问优先级信息,并根据所述访问优先级信息通过相应所述控制器节点向所述数据段请求数据。
在一些实施例中,所述向存储侧发送私有查询命令之前,还包括:
判断所述存储侧是否支持所述私有查询命令,如果是,则向存储侧发送所述私有查询命令。
在一些实施例中,所述判断所述存储侧是否支持所述私有查询命令,包括:
生成判别指令并将所述判别指令发送至所述存储侧;
接收所述存储侧返回的支持信息,如果所述支持信息表征所述存储侧支持按段上报方式,则判定所述存储侧支持所述私有查询命令。
本公开的第三方面提供了一种数据请求装置,应用于存储侧,包括:
命令获取模块,被配置为获取主机侧发送的私有查询命令;
信息生成模块,被配置为根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态;
信息返回模块,被配置为将各个所述控制器节点的所述访问优先级信息返回至所述主机侧,以便所述主机侧根据所述访问优先级信息通过相应所述控制器节点请求数据。
本公开的第四方面提供了一种数据请求装置,应用于主机侧,包括:
命令发送模块,被配置为向存储侧发送私有查询命令,以便所述存储侧根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态;
信息接收及请求模块,被配置为接收所述存储侧返回的所述访问优先级信息,并根据所述访问优先级信息通过相应所述控制器节点请求数据。
本公开的第五方面提供了一种电子设备,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述数据请求方法。
本公开的第六方面提供了一种计算机可读非易失性可读存储介质,所述计算机可读非易失性可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述数据请求方法。
本公开中,存储侧先获取主机侧发送的私有查询命令;然后根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态;最后将各个所述控制器节点的所述访问优先级信息返回至所述主机侧,以便所述主机侧根据所述访问优先级信息通过相应所述控制器节点请求数据。可见,本公开以多控存储系统的控制器为单位设置访问优先级,主机侧通过发送自定义私有查询指令的方式主动获取存储侧控制器节点相对于数据段的 访问优先级,便可以基于该访问优先级信息决定采用数据请求走哪个控制器下发到存储侧后端盘,实现多控存储在控制器问的负载均衡,降低存储硬件资源,提高存储性能。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本公开提供的一种存储侧数据请求方法流程图;
图2为本公开提供的一种通过原有的Get Log Page命令获取非对称命名空间访问ANA信息的参考协议示意图;
图3为本公开提供的一种通过原有的Get Log Page命令获取非对称命名空间访问ANA信息的参考协议示意图;
图4为本公开提供的一种具体的存储侧数据请求方法流程图;
图5为本公开提供的一种具体的存储侧数据请求方法流程图;
图6为本公开提供的一种四控存储系统最终形成的多路径示意图;
图7为本公开提供的一种Asymmetric Namespace Access Referrals Log命令格式描述示意图;
图8为本公开提供的一种Namespace Segment referral Info的展开描述示意图;
图9为本公开提供的一种Namespace segment referral descriptor的展开描述示意图;
图10为本公开提供的一种主机侧根据访问优先级信息进行数据请求的过程流程图;
图11为本公开提供的一种主机侧数据请求方法流程图;
图12为本公开提供的一种具体的主机侧数据请求方法流程图;
图13为本公开提供的一种具体的主机侧和存储侧具体交互过程示意图;
图14为本公开提供的一种存储侧数据请求装置结构示意图;
图15为本公开提供的一种主机侧数据请求装置结构示意图;
图16为本公开提供的一种数据请求电子设备结构图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
现有的多控存储系统往往是指定一个最合适的节点,所有输入输出会通过这一个控制器下发到后端盘,而其他控制器则无输入输出流量,导致负载不均衡,高负载下性能会下 降,给用户带来极差的体验,降低用户对产品的认可度,且严重浪费硬件资源。针对上述技术缺陷,本公开提供一种数据请求方案,以多控存储系统的控制器为单位设置访问优先级,主机侧通过发送自定义私有查询指令的方式主动获取存储侧控制器节点相对于数据段的访问优先级,便可以基于该访问优先级信息决定采用数据请求走哪个控制器下发到存储侧后端盘,实现多控存储在控制器问的负载均衡,降低存储硬件资源,提高存储性能。
图1为本公开实施例提供的一种数据请求方法流程图。参见图1所示,该数据请求方法应用于存储侧,包括:
S11:获取主机侧发送的私有查询命令。
本实施例中,所述存储侧为满足非易失性内存主机控制器接口规范NVMe(non-volatile memory express)的多控存储系统,是一个多控制器系统MCS(multiple controller system),例如,具有四个NVMe控制器的为四控存储系统,具有二个NVMe控制器的为两控存储系统,一般四控存储系统较为常用。
本实施例中,在主机侧进行数据请求时,所述存储侧先获取主机侧发送的私有查询命令。其中,所述私有查询命令为满足非易失性内存主机控制器接口规范NVMe的自定义私有命令。例如,可以是重新定义的Get Log Page命令,表示为Asymmetric Namespace Access Referrals Log命令。Get Log Page命令即获取日志页命令,其返回的是包含请求的日志页的数据缓冲区。Get Log Page命令可能会受到ANA状态的影响。Get Log Page命令使用Data Pointer、Command Dword 10、Command Dword 11、Command Dword 12、Command Dword 13和Command Dword 14字段,保留所有其他命令特定字段。
图2和图3表格为通过原有的Get Log Page命令获取非对称命名空间访问ANA信息(asymmetrical namespace access)的参考协议,主机通过Get Log Page命令来获取ANA信息,Log Identifier为0Ch。图2表格中Number of ANA Group Descriptors标识有多少个优先级分组,后面列出每个优先级描述符,在第二个表格中将每个描述符展开。ANA Group ID代表每个分组的id,Number ofNSID Values标识该分组中有多少个NSID,也就是有多少个namespace,Change Count代表该组变化的次数,然后标识该组的优先级,最后列出所有NSID。在只有一个存储磁盘的情况下,通过上述协议进行ANA访问时只有与该存储磁盘对应的主机端口与存储端口有流量,会造成负载不均衡,在四控系统尤为明显,因为会有三个控制器无流量。
S12:根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态。
本实施例中,所述存储侧获取到所述私有查询命令之后,会根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息。其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态,多个所述数据段组成所述存储侧的 存储磁盘。所述可访问关系表示能访问的关系,也即具有所述可访问关系的所述数据段和所述控制器节点之间,该控制器节点能访问该数据段。另外,NVMe协议中规定了3种控制器controller,本实施例只涉及I/O controller,其余不做介绍。
S13:将各个所述控制器节点的所述访问优先级信息返回至所述主机侧,以便所述主机侧根据所述访问优先级信息通过相应所述控制器节点请求数据。
本实施例中,所述存储侧在生成所述访问优先级信息之后,将各个所述控制器节点的所述访问优先级信息返回至所述主机侧,以便所述主机侧根据所述访问优先级信息通过相应所述控制器节点请求数据。所述主机侧在进行数据访问的时候,会根据待访问数据的逻辑地址对应的所述数据段找到最合适的控制器节点向所述数据段请求数据。如此一来,便可以通过不同的所述控制器节点访问后端盘,从而实现主机与多控存储的负载均衡。
可见,本公开实施例存储侧先获取主机侧发送的私有查询命令;然后根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态;最后将各个所述控制器节点的所述访问优先级信息返回至所述主机侧,以便所述主机侧根据所述访问优先级信息通过相应所述控制器节点请求数据。本公开实施例以多控存储系统的控制器为单位设置访问优先级,主机侧通过发送自定义私有查询指令的方式主动获取存储侧控制器节点相对于数据段的访问优先级,便可以基于该访问优先级信息决定采用数据请求走哪个控制器下发到存储侧后端盘,实现多控存储在控制器问的负载均衡,降低存储硬件资源,提高存储性能。
图4为本公开实施例提供的一种具体的数据请求方法流程图。参见图4所示,该数据请求方法包括:
S21:将存储侧的逻辑卷划分为多个数据段。
S22:以所述存储侧的每个控制器节点为单位分别在所述控制器节点和各个所述数据段之间建立可访问关系,根据各个所述控制器节点的全部所述可访问关系为各个所述控制器节点设置访问优先级。
本实施例中,为了实现负载均衡,需要将存储侧的逻辑卷划分为多个数据段。具体分段大小可以根据下层存储栈(IO栈)的存储栈策略信息(IO栈策略信息)设定,也可根据业务需求自行设定。一般设置为32M,也即按照每段大小为32M的规格进行分段,多个数据段为0,32M-1、32M,64M-1、64M,96M-1、96M,128M-1等。
本实施例中,在进行分段之后,还需要以所述存储侧的每个控制器节点为单位分别在所述控制器节点和各个所述数据段之间建立可访问关系,可以将每个所述控制器节点与各个所述数据段建立所述可访问关系,使得每个所述控制器节点均能够访问这个数据段,但需要注意的是,同一个数据段仅具有一个最优的控制器节点,这个体现在所述访问优先级上。在此基础上,根据各个所述控制器节点的全部所述可访问关系为各个所述控制器节点设置访问优先级。例如,数据段1与控制器节点1、控制器节点2、控制器节点3和控制器节 点4具有所述可访问关系,但数据段1与控制器节点1之间的可访问关系更为特殊,那么对于数据段1,控制器节点1的访问优先级就最高。
S23:存储侧获取主机侧发送的私有查询命令。
S24:存储侧根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态。
S25:存储侧将各个所述控制器节点的所述访问优先级信息返回至所述主机侧,以便所述主机侧根据所述访问优先级信息通过相应所述控制器节点请求数据。
关于上述步骤S23至步骤S25的具体过程,可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本公开实施例先将存储侧的逻辑卷划分为多个数据段,然后以所述存储侧的每个控制器节点为单位分别在所述控制器节点和各个所述数据段之间建立可访问关系,根据各个所述控制器节点的全部所述可访问关系为各个所述控制器节点设置访问优先级。在此基础上,存储侧获取主机侧发送的私有查询命令,并根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态,以及将各个所述控制器节点的所述访问优先级信息返回至所述主机侧,以便所述主机侧根据所述访问优先级信息通过相应所述控制器节点请求数据。本公开实施例在对存储侧的后端盘进行分段的基础上以多控存储系统的控制器为单位设置访问优先级,进而实现多控存储在控制器问的负载均衡。
图5为本公开实施例提供的一种具体的数据请求方法流程图。参见图5所示,该数据请求方法包括:
S31:将存储侧的逻辑命名空间进行划分,得到与所述逻辑命名空间对应的多个命名空间块;其中,所述逻辑命名空间为所述逻辑卷的一种,所述命名空间块为划分后的所述数据段。
S32:对各个所述数据段建立与对应的控制器节点之间的最优访问关系。
S33:从下层存储栈获取用于建立可访问关系的存储栈策略信息,并根据所述存储栈策略信息在所述控制器节点和各个所述数据段之间建立所述可访问关系。
S34:根据各个所述控制器节点的全部所述可访问关系和所述最优访问关系为各个所述控制器节点设置访问优先级。
本实施例中,逻辑卷为逻辑命名空间namespace,则将存储侧的逻辑命名空间namespace进行划分,得到与所述逻辑命名空间namespace对应的多个命名空间块。其中,所述逻辑命名空间namespace为所述逻辑卷的一种,所述命名空间块为划分后的所述数据段。然后对各个所述数据段建立与对应的控制器节点之间的最优访问关系,所述最优访问关系表征针对某个数据段哪个控制器节点的访问优先级最高。例如,在128M的单个所述逻辑命名空间 namespace场景的负载均衡中,按照32M的分段大小将每个所述逻辑命名空间namespace划分为4组,每组由一个控制器节点优先访问,其他为非优先访问。最优访问关系即为0,32M-1:node1,32M,64M-1:node2,64M,96M-1:node3,96M,128M-1:node4。
本实施例中,同时还需要从下层输入输出栈获取用于建立可访问关系的存储栈策略信息(IO栈策略信息),并根据所述存储栈策略信息(IO栈策略信息)在所述控制器节点和各个所述数据段之间建立所述可访问关系。最后根据各个所述控制器节点的全部所述可访问关系和所述最优访问关系为各个所述控制器节点设置访问优先级。以四控存储系统为例,最终达到的效果如图6所示(只有一个namespace)。将namespace划分成了四个数据段Block A、Block B、Block C、Block D。实现为最优访问,虚线为非最优访问。
S35:存储侧根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态。
本实施例中,在所述私有查询命令下,返回的所述优先级信息包括数据段信息、数据段优先级描述符及数据段优先级描述符的展开信息。在命名空间namespace下,该命令需要描述每个控制器controller下所有namespace按段划分的优先级信息,具体可参考下面图7-图9中的三个表格。图7中的表格为Asymmetric Namespace Access Referrals Log命令的格式描述,Namespace Segment referral Info的数目与namespace的数目相同;图8中的表格为Namespace Segment referral Info的展开,代表每个namespace对应的段的优先级描述符;图9中的表格为Namespace segment referral descriptor的展开,里面描述了段的优先级信息。也即所述数据段信息如图7表格所示,图8表格为所诉数据段信息的展开即数据段优先级描述符,图9表格为数据段优先级描述符的展开信息。数据段优先级描述符也即数据段描述符,是一种数据结构,为处理器提供数据段的大小和位置以及控制和状态信息。通常数据段描述符是由编译器、连接器、装载器或操作系统生成,而不是应用程序。
S36:存储侧将各个所述控制器节点的所述访问优先级信息返回至所述主机侧。
本实施例中,关于上述步骤S36的具体过程,可以参考前述实施例中公开的相应内容,在此不再进行赘述。
S37:所述主机侧根据所述优先级信息确定出各个所述数据段的最优访问状态的所述控制器节点,并通过所述最优访问状态的所述控制器节点请求数据。
本实施例中,所述主机侧根据所述优先级信息确定出各个所述数据段的最优访问状态的所述控制器节点,并通过所述最优访问状态的所述控制器节点请求数据。数据请求的过程如图10所示,具体步骤为:
S371:所述主机侧将与所述数据段同时具有所述最优访问关系和所述可访问关系的所述控制器节点确定为所述数据段的所述最优状态的所述控制器节点。
S372:所述主机侧将与所述数据段仅具有所述可访问关系的所述控制器节点确定为所 述数据段的非最优状态的所述控制器节点。
本实施例中,最有访问状态下,所述主机侧将与所述数据段同时具有所述最优访问关系和所述可访问关系的所述控制器节点确定为所述数据段的所述最优状态的所述控制器节点。非最优状态下,所述主机侧将与所述数据段仅具有所述可访问关系的所述控制器节点确定为所述数据段的非最优状态的所述控制器节点。
可见,本公开实施例先将存储侧的逻辑命名空间进行划分,得到与所述逻辑命名空间对应的多个命名空间块;其中,所述逻辑命名空间为所述逻辑卷的一种,所述命名空间块为划分后的所述数据段。然后对各个所述数据段建立与对应的控制器节点之间的最优访问关系。同时从下层存储栈获取用于建立可访问关系的存储栈策略信息,并根据所述存储栈策略信息在所述控制器节点和各个所述数据段之间建立所述可访问关系。最后根据各个所述控制器节点的全部所述可访问关系和所述最优访问关系为各个所述控制器节点设置访问优先级。实现非对称命名空间下的负载均衡。
图11为本公开实施例提供的一种数据请求方法流程图。参见图11所示,该数据请求方法应用于主机侧,包括:
S41:向存储侧发送私有查询命令,以便所述存储侧根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态。
本实施例中,主机侧先向存储侧发送私有查询命令。所述存储侧为满足非易失性内存主机控制器接口规范NVMe(non-volatile memory express)的多控存储系统,是一个多控制器系统MCS(multiple controller system),例如,具有四个NVMe控制器的为四控存储系统,具有二个NVMe控制器的为两控存储系统,一般四控存储系统较为常用。
本实施例中,在主机侧进行数据请求时,所述存储侧先获取主机侧发送的私有查询命令。其中,所述私有查询命令为满足非易失性内存主机控制器接口规范NVMe的自定义私有命令。例如,可以是重新定义的Get Log Page命令,表示为Asymmetric Namespace Access Referrals Log命令。Get Log Page命令即获取日志页命令,其返回的是包含请求的日志页的数据缓冲区。Get Log Page命令可能会受到ANA状态的影响(请参阅第8.1.4节)。Get Log Page命令使用Data Pointer、Command Dword 10、Command Dword 11、Command Dword 12、Command Dword 13和Command Dword 14字段,保留所有其他命令特定字段。
本实施例中,所述存储侧获取到所述私有查询命令之后,会根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息。然后所述存储侧在生成所述访问优先级信息之后,将各个所述控制器节点的所述访问优先级信息返回至所述主机侧,其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态,多个所述数据段组成所述存储侧的存储磁盘。所述可访问关系表示能访问的关系,也即具有所述可访问关系的所述数据段和所述控制器节点之间,该控制器节点能访问该数据段。另外, NVMe协议中规定了3种控制器controller,本实施例只涉及I/O controller,其余不做介绍。
S42:接收所述存储侧返回的所述访问优先级信息,并根据所述访问优先级信息通过相应所述控制器节点请求数据。
本实施例中,所述主机侧接收所述存储侧返回的所述访问优先级信息,并根据所述访问优先级信息通过相应所述控制器节点请求数据。所述主机侧在进行数据访问的时候,会根据待访问数据的逻辑地址对应的所述数据段找到最合适的控制器节点向所述数据段请求数据。如此一来,便可以通过不同的所述控制器节点访问后端盘,从而实现主机与多控存储的负载均衡。
可见,本公开实施例主机侧先向存储侧发送私有查询命令,以便所述存储侧根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态;然后接收所述存储侧返回的所述访问优先级信息,并根据所述访问优先级信息通过相应所述控制器节点请求数据。本公开实施例以多控存储系统的控制器为单位设置访问优先级,主机侧通过发送自定义私有查询指令的方式主动获取存储侧控制器节点相对于数据段的访问优先级,便可以基于该访问优先级信息决定采用数据请求走哪个控制器下发到存储侧后端盘,实现多控存储在控制器问的负载均衡,降低存储硬件资源,提高存储性能。
图12为本公开实施例提供的一种具体数据请求方法流程图。参见图12所示,该数据请求方法应用于主机侧,包括:
S51:生成判别指令并将所述判别指令发送至存储侧。
S52:接收所述存储侧返回的支持信息,如果所述支持信息表征所述存储侧支持按段上报方式,则判定所述存储侧支持所述私有查询命令。
本实施例中,所述主机侧在发送私有查询命令之前,需要判断存储侧是否支持所述私有查询命令,如果是,则向存储侧发送所述私有查询命令。具体的,首先生成判别指令并将所述判别指令发送至存储侧,所述存储侧会返回相应的支持信息,然后接收所述存储侧返回的支持信息,如果所述支持信息表征所述存储侧支持按段上报方式,则判定所述存储侧支持所述私有查询命令。
主机侧和存储侧具体交互过程如图13所示,首先主机侧通过判别指令查询存储是否支持按段上报方式其中,所述判别指令可以为Identify命令。如果存储测返回支持该特性。主机侧host则请求report ANA referrals Log,存储侧target返回Asymmetric Namespace Access Referrals Log。另外,存储侧返回给主机的referrals info是由存储前端从下层IO栈获取而来,具体某个段可访问哪个控制器节点处理,由IO栈下层决定。
S53:向存储侧发送私有查询命令,以便所述存储侧根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态。
S54:接收所述存储侧返回的所述访问优先级信息,并根据所述访问优先级信息通过相应所述控制器节点向所述数据段请求数据。
本实施例中,关于上述步骤S53和步骤S54的具体过程,可以参考前述实施例中公开的相应内容,在此不再进行赘述。
参见图14所示,本公开实施例还相应公开了一种数据请求装置,应用于存储侧,包括:
命令获取模块11,被配置为获取主机侧发送的私有查询命令;
信息生成模块12,被配置为根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态;
信息返回模块13,被配置为将各个所述控制器节点的所述访问优先级信息返回至所述主机侧,以便所述主机侧根据所述访问优先级信息通过相应所述控制器节点请求数据。
可见,本公开实施例存储侧先获取主机侧发送的私有查询命令;然后根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态;最后将各个所述控制器节点的所述访问优先级信息返回至所述主机侧,以便所述主机侧根据所述访问优先级信息通过相应所述控制器节点请求数据。本公开实施例以多控存储系统的控制器为单位设置访问优先级,主机侧通过发送自定义私有查询指令的方式主动获取存储侧控制器节点相对于数据段的访问优先级,便可以基于该访问优先级信息决定采用数据请求走哪个控制器下发到存储侧后端盘,实现多控存储在控制器问的负载均衡,降低存储硬件资源,提高存储性能。
在一些具体实施例中,所述数据请求装置还包括:
划分模块,被配置为将所述存储侧的逻辑卷划分为多个所述数据段;
关系建立模块,被配置为以所述存储侧的每个控制器节点为单位分别在所述控制器节点和各个所述数据段之间建立可访问关系;
优先级设置模块,被配置为根据各个所述控制器节点的全部所述可访问关系为各个所述控制器节点设置所述访问优先级。
节点确定模块,被配置为所述主机侧根据所述优先级信息确定出各个所述数据段的最优访问状态的所述控制器节点;
数据请求模块,被配置为所述主机侧通过所述最优访问状态的所述控制器节点向对应的所述数据段请求数据。
在一些具体实施例中,所述关系建立模块还被配置为对各个所述数据段建立与对应的所述控制器节点之间的最优访问关系;
相应的,所述优先级设置模块,还被配置为根据各个所述控制器节点的全部所述可访问关系和所述最优访问关系为各个所述控制器节点设置所述访问优先级。
在一些具体实施例中,所述划分模块,具体还被配置为将所述存储侧的逻辑命名空间进行划分,得到与所述逻辑命名空间对应的多个命名空间块;其中,所述逻辑命名空间为所述逻辑卷的一种,所述命名空间块为划分后的所述数据段。
在一些具体实施例中,所述节点确定模块,具体包括:
第一确定单元,被配置为所述主机侧将与所述数据段同时具有所述最优访问关系和所述可访问关系的所述控制器节点确定为所述数据段的所述最优状态的所述控制器节点;
第二确定单元,被配置为所述主机侧将与所述数据段仅具有所述可访问关系的所述控制器节点确定为所述数据段的非最优状态的所述控制器节点。
参见图15所示,本公开实施例还相应公开了一种数据请求装置,应用于主机侧,包括:
命令发送模块21,被配置为向存储侧发送私有查询命令,以便所述存储侧根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态;
信息接收及请求模块22,被配置为接收所述存储侧返回的所述访问优先级信息,并根据所述访问优先级信息通过相应所述控制器节点请求数据。
可见,本公开实施例主机侧先向存储侧发送私有查询命令,以便所述存储侧根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态;然后接收所述存储侧返回的所述访问优先级信息,并根据所述访问优先级信息通过相应所述控制器节点请求数据。本公开实施例以多控存储系统的控制器为单位设置访问优先级,主机侧通过发送自定义私有查询指令的方式主动获取存储侧控制器节点相对于数据段的访问优先级,便可以基于该访问优先级信息决定采用数据请求走哪个控制器下发到存储侧后端盘,实现多控存储在控制器间的负载均衡,降低存储硬件资源,提高存储性能。
在一些具体实施例中,所述数据请求装置还包括:
判断模块,被配置为判断所述存储侧是否支持所述私有查询命令,如果是,则向存储侧发送所述私有查询命令。
在一些具体实施例中,所述判断模块,具体包括:
指令生成及发送单元,被配置为生成判别指令并将所述判别指令发送至所述存储侧;
支持信息接收单元,被配置为接收所述存储侧返回的支持信息,如果所述支持信息表征所述存储侧支持按段上报方式,则判定所述存储侧支持所述私有查询命令。
进一步的,本公开实施例还提供了一种电子设备。图16是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本公开的使用范围的任何限制。
图16为本公开实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21 加载并执行,以实现前述任一实施例公开的数据请求方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本公开技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的数据请求方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20收集到的访问优先级信息。
进一步的,本公开实施例还公开了一种非易失性可读存储介质,所述非易失性可读存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的数据请求方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个...”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本公开所提供的数据请求方法、装置、设备及非易失性可读存储介质进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。

Claims (20)

  1. 一种数据请求方法,其中,应用于存储侧,包括:
    获取主机侧发送的私有查询命令;
    根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态;
    将各个所述控制器节点的所述访问优先级信息返回至所述主机侧,以便所述主机侧根据所述访问优先级信息通过相应所述控制器节点请求数据。
  2. 根据权利要求1所述的数据请求方法,其中,还包括:
    将所述存储侧的逻辑卷划分为多个所述数据段;
    以所述存储侧的每个控制器节点为单位分别在所述控制器节点和各个所述数据段之间建立可访问关系,并根据各个所述控制器节点的全部所述可访问关系为各个所述控制器节点设置所述访问优先级。
  3. 根据权利要求2所述的数据请求方法,其中,所述将所述存储侧的逻辑卷划分为多个所述数据段,包括:
    将所述存储侧的逻辑命名空间进行划分,得到与所述逻辑命名空间对应的多个命名空间块;其中,所述逻辑命名空间为所述逻辑卷的一种,所述命名空间块为划分后的所述数据段。
  4. 根据权利要求2所述的数据请求方法,其中,所述将所述存储侧的逻辑卷划分为多个所述数据段之后,还包括:
    对各个所述数据段建立与对应的所述控制器节点之间的最优访问关系;
    根据各个所述控制器节点的全部所述可访问关系和所述最优访问关系为各个所述控制器节点设置所述访问优先级。
  5. 根据权利要求4所述的数据请求方法,其中,所述主机侧根据所述访问优先级信息通过相应所述控制器节点请求数据,包括:
    所述主机侧根据所述优先级信息确定出各个所述数据段的最优访问状态的所述控制器节点,并通过所述最优访问状态的所述控制器节点请求数据。
  6. 根据权利要求5所述的数据请求方法,其中,所述主机侧根据所述优先级信息确定出各个所述数据段的最优访问状态的所述控制器节点,包括:
    所述主机侧将与所述数据段同时具有所述可访问关系和所述最优访问关系的所述控制器节点确定为所述数据段的最优状态的所述控制器节点;
    所述主机侧将与所述数据段仅具有所述可访问关系的所述控制器节点确定为所述数据段的非最优状态的所述控制器节点。
  7. 根据权利要求2所述的数据请求方法,其中,所述以所述存储侧的每个控制器节点为单位分别在所述控制器节点和各个所述数据段之间建立访问关系,包括:
    从下层存储栈获取用于建立所述可访问关系的存储栈策略信息,并根据所述存储栈策略信息在所述控制器节点和各个所述数据段之间建立所述可访问关系。
  8. 根据权利要求1至7任一项所述的数据请求方法,其中,所述访问优先级信息包括数据段信息、数据段优先级描述符及数据段优先级描述符的展开信息。
  9. 根据权利要求1至7任一项所述的数据请求方法,其中,所述私有查询命令为满足非易失性内存主机控制器接口规范的自定义私有命令。
  10. 根据权利要求1所述的数据请求方法,其中,还包括:
    将存储侧的逻辑命名空间进行划分,得到与所述逻辑命名空间对应的多个命名空间块;其中,所述逻辑命名空间为所述存储侧的逻辑卷的一种,所述命名空间块为划分后的所述数据段;
    对各个所述数据段建立与对应的控制器节点之间的最优访问关系,
    从下层存储栈获取用于建立可访问关系的存储栈策略信息,并根据所述存储栈策略信息在所述控制器节点和各个所述数据段之间建立所述可访问关系;
    根据各个所述控制器节点的全部所述可访问关系和所述最优访问关系为各个所述控制器节点设置访问优先级。
  11. 根据权利要求1所述的数据请求方法,其中,所述数据段的大小根据以下之一设定:下层存储栈的存储栈策略信息、业务需求。
  12. 根据权利要求1所述的数据请求方法,其中,所述存储侧为满足非易失性内存主机控制器接口规范NVMe的多控存储系统,所述私有查询命令为满足非易失性内存主机控制器接口规范NVMe的自定义私有命令,所述私有查询指令包括获取日志页命令。
  13. 一种数据请求方法,其中,应用于主机侧,包括:
    向存储侧发送私有查询命令,以便所述存储侧根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态;
    接收所述存储侧返回的所述访问优先级信息,并根据所述访问优先级信息通过相应所述控制器节点请求数据。
  14. 根据权利要求13所述的数据请求方法,其中,所述向存储侧发送私有查询命令之前,还包括:
    判断所述存储侧是否支持所述私有查询命令,在所述存储侧支持所述私有查询命令的情况下,向存储侧发送所述私有查询命令。
  15. 根据权利要求13所述的数据请求方法,其中,所述判断所述存储侧是否支持所述私有查询命令,包括:
    生成判别指令并将所述判别指令发送至所述存储侧;
    接收所述存储侧返回的支持信息,如果所述支持信息表征所述存储侧支持按段上报方式,则判定所述存储侧支持所述私有查询命令。
  16. 根据权利要求13所述的数据请求方法,其中,根据所述访问优先级信息通过相应所述控制器节点请求数据,包括:
    根据所述优先级信息确定出各个所述数据段的最优访问状态的所述控制器节点,并通过所述最优访问状态的所述控制器节点请求数据。
  17. 根据权利要求16所述的数据请求方法,其中,根据所述优先级信息确定出各个所述数据段的最优访问状态的所述控制器节点,并通过所述最优访问状态的所述控制器节点请求数据,包括:
    将与所述数据段同时具有所述最优访问关系和所述可访问关系的所述控制器节点确定为所述数据段的最优状态的所述控制器节点;
    将与所述数据段仅具有所述可访问关系的所述控制器节点确定为所述数据段的非最优状态的所述控制器节点。
  18. 一种数据请求装置,其中,应用于存储侧,包括:
    命令获取模块,被配置为获取主机侧发送的私有查询命令;
    信息生成模块,被配置为根据所述私有查询命令生成所述存储侧各个控制器节点的访问优先级信息;其中,所述访问优先级信息表征所述控制器节点对与其具有可访问关系的数据段的访问状态;
    信息返回模块,被配置为将各个所述控制器节点的所述访问优先级信息返回至所述主机侧,以便所述主机侧根据所述访问优先级信息通过相应所述控制器节点请求数据。
  19. 一种电子设备,其中,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至17任一项所述的数据请求方法。
  20. 一种计算机可读非易失性可读存储介质,其中,用于存储计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至17任一项所述的数据请求方法。
PCT/CN2023/097549 2022-11-16 2023-05-31 一种数据请求方法、装置、设备及非易失性可读存储介质 WO2024103690A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211430815.4A CN115495023B (zh) 2022-11-16 2022-11-16 一种数据请求方法、装置、设备及存储介质
CN202211430815.4 2022-11-16

Publications (1)

Publication Number Publication Date
WO2024103690A1 true WO2024103690A1 (zh) 2024-05-23

Family

ID=85115817

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/097549 WO2024103690A1 (zh) 2022-11-16 2023-05-31 一种数据请求方法、装置、设备及非易失性可读存储介质

Country Status (2)

Country Link
CN (1) CN115495023B (zh)
WO (1) WO2024103690A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115495023B (zh) * 2022-11-16 2023-03-14 苏州浪潮智能科技有限公司 一种数据请求方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107340973A (zh) * 2017-07-05 2017-11-10 郑州云海信息技术有限公司 一种访问异步逻辑单元的方法及系统
CN110914796A (zh) * 2018-07-17 2020-03-24 华为技术有限公司 处理i/o请求的方法及设备
US20210132972A1 (en) * 2019-10-31 2021-05-06 EMC IP Holding Company LLC Data Storage System Employing Dummy Namespaces For Discovery of NVMe Namespace Groups as Protocol Endpoints
CN115495023A (zh) * 2022-11-16 2022-12-20 苏州浪潮智能科技有限公司 一种数据请求方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104202434A (zh) * 2014-09-28 2014-12-10 北京奇虎科技有限公司 节点访问方法和装置
EP3525080A4 (en) * 2017-12-26 2019-08-14 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR ACCESSING A STORAGE SYSTEM

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107340973A (zh) * 2017-07-05 2017-11-10 郑州云海信息技术有限公司 一种访问异步逻辑单元的方法及系统
CN110914796A (zh) * 2018-07-17 2020-03-24 华为技术有限公司 处理i/o请求的方法及设备
US20210132972A1 (en) * 2019-10-31 2021-05-06 EMC IP Holding Company LLC Data Storage System Employing Dummy Namespaces For Discovery of NVMe Namespace Groups as Protocol Endpoints
CN115495023A (zh) * 2022-11-16 2022-12-20 苏州浪潮智能科技有限公司 一种数据请求方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115495023A (zh) 2022-12-20
CN115495023B (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
US7548924B2 (en) Managing method for storage subsystem
US7793298B2 (en) Facilitating access to input/output resources via an I/O partition shared by multiple consumer partitions
US9590915B2 (en) Transmission of Map/Reduce data in a data center
US7260656B2 (en) Storage system having a plurality of controllers
US20200356282A1 (en) Distributed Storage System, Data Processing Method, and Storage Node
KR20080096547A (ko) 가상 네트워크 저장 시스템, 네트워크 저장 장치 및 가상 방법
CN102082692A (zh) 基于网络数据流向的虚拟机迁移方法、设备和集群系统
EP4318251A1 (en) Data access system and method, and device and network card
US10243799B2 (en) Method, apparatus and system for virtualizing a policy and charging rules function
WO2024103690A1 (zh) 一种数据请求方法、装置、设备及非易失性可读存储介质
CN111225003B (zh) 一种nfs节点配置方法和装置
KR20100008363A (ko) 물리적 네트워크 인터페이스 선택
JP4208506B2 (ja) 高性能記憶装置アクセス環境
CN115987990A (zh) 多集群负载均衡方法、装置、电子设备及存储介质
US20240205292A1 (en) Data processing method and apparatus, computer device, and computer-readable storage medium
CN107329798B (zh) 数据复制的方法、装置和虚拟化系统
US11675510B2 (en) Systems and methods for scalable shared memory among networked devices comprising IP addressable memory blocks
JP2007004710A (ja) ストレージアクセス方式、データ転送装置、ストレージアクセス方法、及びプログラム
US8918555B1 (en) Adaptive and prioritized replication scheduling in storage clusters
KR20120063946A (ko) 대용량 통합 메모리를 위한 메모리 장치 및 이의 메타데이터 관리 방법
JP2003296154A (ja) ボリューム統合管理方法および統合管理システム
CN107544746B (zh) 存储设备的异构处理方法、异构处理装置及系统
US11757830B2 (en) Method and apparatus for allocating CTDB-based virtual IP address, and distributed storage device
WO2024174894A1 (zh) 物理卷访问方法、装置、计算机设备及存储介质
CN115865803A (zh) 一种io请求处理方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23890132

Country of ref document: EP

Kind code of ref document: A1