Spatial address conversion method and device of storage equipment

By extracting the target memory address and detecting the target set identifier in the storage device, and converting the target storage area encoding according to the distribution method of the storage device, the problem of low spatial address conversion efficiency in the prior art is solved, and more efficient data access is achieved.

CN119201778APending Publication Date: 2024-12-27INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411215850.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-30
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

In the prior art, the spatial address conversion efficiency of storage devices is low, resulting in a complex and long time-consuming data access process.

Method used

By extracting the target memory address in the data access request, detecting the target set identifier corresponding to the target access address, and converting the target storage area based on the association relationship between the memory identifier and the set identifier in the target distribution mode of the storage device with respect to the storage area encoding, the target storage area is converted according to the correlation between the memory identifier and the set identifier under the target distribution mode of the storage device, and Coding, simplifying the conversion process.

Benefits of technology

It improves the spatial address conversion efficiency of storage devices, reduces complex derivation logic, and improves the speed of data access.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119201778A_ABST
    Figure CN119201778A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a space address conversion method for storage equipment, and the method comprises the steps: extracting a target access address of a target memory requested to be accessed from a data access request under the condition that the data access request is received; detecting a target set identifier corresponding to a target access address of the target memory; and converting a target storage area code according to the target memory identifier of the target memory, the target set identifier and the target association relationship. Through application of the method and the device, the problem of relatively low space address conversion efficiency of the storage equipment in related technologies is solved, so that the effect of improving the space address conversion efficiency of the storage equipment is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computers, and more specifically, to a method and apparatus for converting a spatial address of a storage device. Background Art

[0002] With the development of digital technology, data is becoming more and more important. Both the field of artificial intelligence and online shopping cannot do without data. In order to improve data access efficiency, distributed storage is often used for data, that is, multiple memories are deployed on the storage device, and a piece of data is split into multiple copies and stored in different memories. In this scenario, the spatial address conversion technology of the storage device is involved.

[0003] The spatial address conversion of a storage device refers to the process of converting the physical address of the actual storage location on the physical medium of the storage device into the logical address (or virtual address, offset in the file system, etc.) used when storing data on the storage device. In the related art, when performing spatial address conversion on a storage device, it is necessary to first determine the logical area to which the data belongs, and then find a storage location where the verification data is located in the logical area, and reversely infer the relative position relationship between the storage location of the verification data and the storage location of the data of the logical address to be queried, so as to deduce the logical address of the data. The execution logic of this process is relatively complex and will consume a lot of time, resulting in low efficiency in the spatial address conversion of the storage device. Summary of the invention

[0004] The embodiments of the present application provide a method and apparatus for converting a space address of a storage device, so as to at least solve the problem of low efficiency of converting the space address of a storage device in the related art.

[0005] According to an embodiment of the present application, a method for converting a spatial address of a storage device is provided, wherein the storage device includes a controller and a plurality of memories, each of the memories is divided into a plurality of storage areas, the storage device is divided into a plurality of area sets, each of the area sets includes storage areas located at the same position in each of the memories, and different area sets are configured to store data in the included storage areas according to different orders of the memories, and the method is applied to the controller, including:

[0006] Upon receiving a data access request, extracting a target access address of a target memory requested to be accessed from the data access request, wherein the data access request is used to request data access to the target access address in the target memory;

[0007] Detecting a target set identifier corresponding to the target access address of the target memory, wherein the target set identifier is used to indicate a target area set to which the target access address belongs;

[0008] A target storage area code is converted according to a target storage identifier, a target set identifier and a target association relationship of the target storage, wherein the target storage identifier is used to indicate the target storage where the target access address is located, the target association relationship is an association relationship between the storage identifier and the set identifier obtained under the target distribution method adopted by the storage device relative to the storage area code, the target distribution method is used to indicate an arrangement rule of the storage in different area sets, and the target storage area code is used to indicate the sorting of the target storage area in the target area set.

[0009] Optionally, converting the target storage area code according to the target storage identifier of the target storage, the target set identifier and the target association relationship includes:

[0010] Converting a target memory code according to the target memory identifier and the first association relationship, wherein the first association relationship is a sorting relationship between memory identifiers of a plurality of the memories in a memory identifier sequence, the memory identifier sequence is used to indicate a sequential relationship of storing data in the plurality of memories, and the target memory code is used to indicate a sorting position of the target memory identifier in the memory identifier sequence;

[0011] The target set type identifier is converted according to the target set identifier and the second association relationship, wherein the second association relationship is an ordering relationship of multiple set type identifiers in a type identifier sequence, each set type identifier is used to indicate a storage order of storing data in multiple memories starting from one of the multiple memories according to the memory order relationship indicated by the memory identifier sequence, and the number of the set type identifiers in the type identifier sequence is the same as the number of the memories;

[0012] The target storage area code is converted according to the target storage target set type identifier, the target storage code and the third association relationship, wherein the third association relationship records the association relationship between the set type identifier, the storage code and the storage area code, and the target association relationship includes the first association relationship, the second association relationship and the third association relationship.

[0013] Optionally, converting the target storage area code according to the target storage target set type identifier, the target storage code and the third association relationship includes:

[0014] In a case where the area set is used for distributed storage of a plurality of data blocks and a check block, data distribution information of the storage device is obtained, wherein the data distribution information is used to indicate a distribution mode of the data blocks and the check blocks in different area sets, the plurality of data blocks are obtained by dividing the data to be stored in the area set, and the check block is used to indicate data content of the data to be stored;

[0015] In a case where the data distribution information is used to indicate that the storage device stores the data blocks and the check blocks in a right-symmetrical distribution manner, the first sorting position of the target set type identifier in the type identifier sequence is determined as the target set code of the target area set, wherein the first sorting position is used to indicate the distance between the target set type identifier and the first set type identifier in the type identifier sequence, the first set type identifier is used to indicate that the first memory indicated by the memory identifier sequence is used as the starting memory for data storage, and the memory identifiers of the starting memories in the storage order indicated by two adjacent set type identifiers in the type identifier sequence are adjacent in the memory identifier sequence;

[0016] Matching the target set encoding with the target memory encoding;

[0017] In the case where the target set code is smaller than the target memory code, calculating a first difference between the target memory code and the target set code; and determining the first difference as the target memory region code;

[0018] When the target set code is greater than the target memory code, a second difference between the target set code and the target memory code is calculated; and the difference between the number of memories of the memory included in the storage device and the second difference is determined as the target memory area code.

[0019] Optionally, after acquiring the data distribution information of the storage device, the method further includes:

[0020] In a case where the data distribution information is used to indicate that the storage device stores the data blocks and the check blocks in a left-symmetrical distribution manner, the second sorting position of the target set type identifier in the type identifier sequence is determined as the target set code of the target area set, wherein the second sorting position is used to indicate the distance between the target set type identifier and a second set type identifier in the type identifier sequence, and the second set type identifier is used to indicate that the tail memory indicated by the memory identifier sequence is used as the starting memory for data storage;

[0021] Matching the target set encoding with the target memory encoding;

[0022] In the case where the target set code is smaller than the target memory code, calculating a third difference between the target memory code and the target set code; and determining the third difference as the target memory region code;

[0023] When the target set code is greater than the target memory code, a fourth difference between the target set code and the target memory code is calculated; and a difference between the number of memories of the memory included in the storage device and the fourth difference is determined as the target memory area code.

[0024] Optionally, converting the target memory code according to the target memory identifier and the first association relationship includes:

[0025] Calculating the ranking number of the target memory identifier relative to the reference memory identifier in the memory identifier sequence, wherein the reference memory identifier is the first memory identifier in the memory identifier sequence;

[0026] The sort number is determined as the target memory encoding.

[0027] Optionally, converting the target set type identifier according to the target set identifier and the second association relationship includes:

[0028] Calculating a quotient of a set sequence number and a number of type identifiers of the target area set, wherein the set sequence number is used to indicate the order of the target area set in the plurality of area sets, the target set identifier includes the set sequence number, and the number of type identifiers is the number of set type identifiers included in the type identifier sequence;

[0029] In the case where there is a remainder in the quotient value, determining the set type identifier at the sequence position corresponding to the remainder in the type identifier sequence as the target set type identifier;

[0030] When there is no remainder in the quotient value, the last set type identifier in the type identifier sequence is determined as the target set type identifier.

[0031] Optionally, the detecting a target set identifier corresponding to the target access address of the target memory includes:

[0032] Calculating a quotient of the target access address and a storage capacity of the storage area;

[0033] The quotient value is determined as a set sequence number of the target area set, wherein the set sequence number is used to indicate the order of the target area set in the plurality of area sets, and the target set identifier includes the set sequence number.

[0034] According to another embodiment of the present application, a spatial address conversion device of a storage device is provided, the storage device includes a controller and multiple memories, each of the memories is divided into multiple storage areas, the storage device is divided into multiple area sets, each of the area sets includes storage areas located at the same position in each of the memories, different area sets are configured to store data in the included storage areas according to different orders of the memories, and the device is applied to the controller, including:

[0035] an extraction module, configured to extract, upon receiving a data access request, a target access address of a target memory requested to be accessed from the data access request, wherein the data access request is used to request data access to the target access address in the target memory;

[0036] A detection module, configured to detect a target set identifier corresponding to the target access address of the target memory, wherein the target set identifier is used to indicate a target area set to which the target access address belongs;

[0037] A conversion module is used to convert a target storage area code according to a target storage identifier of the target storage, the target set identifier and a target association relationship, wherein the target storage identifier is used to indicate the target storage where the target access address is located, the target association relationship is an association relationship between the storage identifier and the set identifier obtained under the target distribution method adopted by the storage device and the storage area code, the target distribution method is used to indicate the arrangement rule of the storage in different area sets, and the target storage area code is used to indicate the sorting of the target storage area in the target area set.

[0038] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when run.

[0039] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0040] Through the present application, the target access address of the target memory requested to be accessed is extracted from the data access request, and then the target set identifier corresponding to the target access address is detected according to the target access address, and the target association relationship is obtained according to the association relationship between the memory identifier and the set identifier under the target distribution mode adopted by the storage device and the storage area code, and then the target storage area code is converted according to the target memory identifier, the target set identifier and the target association relationship of the target memory, so that the conversion process of converting the target storage area code is simple and does not require complex derivation logic. Therefore, the problem of low efficiency of spatial address conversion of storage devices in the related art can be solved, and the effect of improving the efficiency of spatial address conversion of storage devices can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 It is a hardware structure block diagram of a server device of a method for converting a space address of a storage device according to an embodiment of the present application;

[0042] Figure 2 is a flow chart of a method for converting a space address of a storage device according to an embodiment of the present application;

[0043] Figure 3 is an optional data storage schematic diagram according to an embodiment of the present application;

[0044] Figure 4 is a schematic diagram of left-staggered storage according to an embodiment of the present application;

[0045] Figure 5 is a schematic diagram of rightward misalignment storage according to an embodiment of the present application;

[0046] Figure 6 A schematic diagram of a computing storage area encoding that is distributed symmetrically to the right according to an embodiment of the present application;

[0047] Figure 7 A schematic diagram of a computing storage area encoding in which a distribution mode is symmetrically distributed to the left according to an embodiment of the present application;

[0048] Figure 8 is an optional space conversion flow chart according to an embodiment of the present application;

[0049] Fig. 9 It is a structural block diagram of a space address conversion device of a storage device according to an embodiment of the present application. DETAILED DESCRIPTION

[0050] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0051] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0052] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1 1 is a hardware structure block diagram of a server device of a storage device space address conversion method according to an embodiment of the present application. Figure 1 As shown, the server device may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the server device may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.

[0053] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the spatial address conversion method of the storage device in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0054] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the server device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0055] In this embodiment, a method for converting a space address of a storage device is provided. Figure 2 The present invention is a flowchart of a method for converting a spatial address of a storage device according to an embodiment of the present application. The storage device includes a controller and multiple memories, each of which is divided into multiple storage areas. The storage device is divided into multiple area sets, each of which includes storage areas located at the same position in each of the memories. Different area sets are configured to store data in the included storage areas in different orders of the memories. The method is applied to the controller, such as Figure 2 As shown, the process includes the following steps:

[0056] Step S202, when a data access request is received, extracting a target access address of a target memory requested to be accessed from the data access request, wherein the data access request is used to request data access to the target access address in the target memory;

[0057] Step S204, detecting a target set identifier corresponding to the target access address of the target memory, wherein the target set identifier is used to indicate a target area set to which the target access address belongs;

[0058] Step S206, converting a target storage area code according to the target storage identifier of the target storage, the target set identifier and the target association relationship, wherein the target storage identifier is used to indicate the target storage where the target access address is located, and the target association relationship is an association relationship between the storage identifier and the set identifier relative to the storage area code obtained under the target distribution method adopted by the storage device, and the target distribution method is used to indicate the arrangement rule of the storage in different area sets, and the target storage area code is used to indicate the sorting of the target storage area in the target area set.

[0059] Through the above steps, the target access address of the target memory requested to be accessed is extracted from the data access request, and then the target set identifier corresponding to the target access address is detected according to the target access address, and the target association relationship is obtained according to the association relationship between the memory identifier and the set identifier under the target distribution mode adopted by the storage device and the storage area code, and then the target storage area code is converted according to the target memory identifier, the target set identifier and the target association relationship of the target memory, so that the conversion process of converting the target storage area code is simple and does not require complex derivation logic. Therefore, the problem of low efficiency in converting the space address of the storage device in the related technology can be solved, and the effect of improving the efficiency of converting the space address of the storage device can be achieved.

[0060] Optionally, in an embodiment of the present application, the memory is a device used to implement the data storage function of the storage device. The memory may include but is not limited to a hard disk, a disk, a memory card, a USB flash drive, etc. The storage device is used to manage multiple memories according to data storage and access requirements, thereby storing the data to be stored through multiple memories. For example, the storage device can configure multiple memories into a memory array, and perform distributed storage of the data to be stored through the memory array (for example, taking the memory as a disk as an example, the storage device can configure multiple hard disks into a disk array), that is, split a data to be stored into multiple blocks, which are stored in different memories respectively. Taking the storage device as a disk as an example, the storage device can configure multiple disks into a disk array, and the storage device can call multiple disks in the disk array to distribute the data, that is, the storage device can split the data to be stored into multiple data blocks according to the number of disks, and store one data block in each disk, or the storage device can also call multiple disks to perform distributed redundant storage of the data to be stored (which can be but is not limited to storage methods based on redundant storage technologies such as raid5 and raid6), that is, split the data to be stored into multiple data blocks, and configure a check block for verifying the data content according to the data to be stored, and then store the multiple data blocks and the check blocks corresponding to the multiple data blocks on multiple disk arrays respectively.

[0061] Optionally, in an embodiment of the present application, the same area set includes storage areas at the same position in different memories, and then when the storage device distributes and stores the data to be stored, it can divide the data to be stored into multiple blocks according to the number of storage areas included in the area set, and store them in different storage areas in the area set. At this time, multiple blocks stored in the same storage area constitute a data stripe (Stride), and in redundant storage technologies such as raid5 and raid6, blocks include data blocks and check blocks.

[0062] In the embodiment provided in the above step S202, the target access address is used to indicate the location of the storage area to be accessed for data in the corresponding memory, that is, the target access address is the physical address of the storage area on the memory.

[0063] In the embodiment provided in the above step S204, since each memory is divided into multiple storage areas, the storage areas at the same position in the multiple memories are divided into the same area set in the storage device, so that multiple area sets are divided in the storage device. When storing data, the data is stored in each area set in the multiple area sets in the order of the storage areas, and then a set identifier is assigned to each area set in the multiple area sets, so that the area set to which it belongs can be located in the multiple area sets according to the set identifier.

[0064] Optionally, in an embodiment of the present application, when storing data, the storage device will configure a collection identifier for the current area set, and construct a correspondence between the collection identifier of the area set and the access address involved in the area set. Then, when it is necessary to detect the target collection identifier of the target access address, the target collection identifier corresponding to the target access address can be queried from the access addresses and collection identifiers with a corresponding relationship. This scheme does not limit this.

[0065] In the embodiment provided in the above step S206, in order to distinguish each memory among multiple memories, each memory is configured with a memory identifier, which is used to uniquely identify the corresponding memory. The memory identifier can be but is not limited to an identification symbol (such as a number or text) assigned to the memory, or it can also be the device number of the memory, which is not limited in this solution.

[0066] Optionally, in an embodiment of the present application, the storage area code is used to characterize the position of the data stored in the corresponding storage area in the data stored in the target area set, that is, when storing data in the target storage area, the data to be stored will be split into multiple blocks, and the multiple blocks will be stored in sequence in multiple storage areas in the target area set according to the order of block splitting.

[0067] Optionally, in an embodiment of the present application, the target relationship may also be a mathematical operation relationship between a storage identifier and a collection identifier constructed according to a target distribution method adopted by the storage device and a storage area code, and this solution does not limit this.

[0068] Optionally, in an embodiment of the present application, the target association relationship can be a mapping relationship between a storage identifier and a collection identifier and a storage area code under a target distribution mode. Different mapping relationships may exist between storage identifiers and collection identifiers and storage area codes under different distribution modes. The mapping relationship may be configured in the form of a mapping table during actual application. Therefore, a corresponding cache space may be allocated in the storage device for the storage distribution mode supported by the storage device, and used to cache a mapping table representing different mapping relationships between storage identifiers and collection identifiers and storage area codes under the corresponding storage distribution mode. When the storage area code needs to be converted, the target mapping table corresponding to the target distribution mode may be found from multiple cache spaces, and the target storage area identifier corresponding to the target storage identifier and the target collection identifier may be found in the target mapping table. In an embodiment of the present application, since the distribution mode is used to indicate the arrangement rules of the memory in different area sets, there will be multiple memory arrangement types under the same distribution mode, and the arrangement rules indicated by the multiple memory arrangement types will be cyclically called to store data in the storage area in the area set during storage. Therefore, in order to save the space resources of the cache space configured for each distribution mode in the storage device, a mapping table representing the mapping relationship between the memory arrangement type and the memory identifier and the storage area code under the corresponding distribution mode can be stored in the cache space. Therefore, when the storage area code needs to be converted, the target mapping table corresponding to the target distribution mode can be found from multiple cache spaces, and the target memory arrangement type adopted by the target area set under the target distribution mode can be converted according to the target set identifier, and then the target storage area code corresponding to the target memory arrangement type and the target memory identifier can be found from the target mapping table. Through the above content, by configuring a cache space corresponding to the distribution method adopted by the memory in the storage device, and storing a mapping table representing the mapping relationship between the storage identifier and the set identifier and the storage area code in the cache space, when the storage area code needs to be converted, it is only necessary to find the corresponding mapping table in the cache area and query the target storage area code by querying the mapping table, thereby avoiding the complex logical judgment operations performed by querying the target storage area code and improving the conversion efficiency of the storage area code.

[0069] Optionally, in an embodiment of the present application, in order to improve the reliability of data storage, the target distribution method used in the storage device can be a striped storage method, that is, the data is divided into multiple blocks, and stored in different storage areas included in the same area set, and in the adjacent area set, the initial storage area is arranged in a striped manner, that is, in the first area set, the block is first stored in the storage area corresponding to the memory 1, the second block is stored in the storage area corresponding to the memory 2, and the third block is stored in the storage area corresponding to the memory 3. When storing data in the second area set, the storage position of the first block needs to be staggered, for example, the first block can be staggered to the right to be stored in the storage area corresponding to the memory 2, and the second block can be stored in the storage area corresponding to the memory 3. Figure 3 is an optional data storage schematic diagram according to an embodiment of the present application, such as Figure 3 As shown in the figure, the storage device is a raid5 composed of 4 disks. The vertical direction is the disk, and each horizontal direction is a stripe. The stripe is composed of several blocks. The block number ranges from 0 to the number of disks - 1. Block 0 represents the check block, and the other blocks are encoded as data blocks. The disk is divided into several packs horizontally (the disk is divided into pack granularity horizontally, and the data block space distribution form of each pack is consistent. The starting number of the pack starts from 0: 0, 1, 2...), and the block space distribution of each pack, that is, the layout of the blocks, is consistent.

[0070] Optionally, in the embodiment of the present application, the staggered storage may include, but is not limited to, left staggered storage and right staggered storage. Figure 4 is a schematic diagram of left-staggered storage according to an embodiment of the present application, such as Figure 4 As shown, the blocks of data to be stored include data blocks and check blocks for the contents of multiple data blocks stored in the same area set. When storing, the check blocks are stored first, and then stored in sequence according to the order of the data blocks in the data. The check blocks are written starting from the last memory, and the check blocks of each storage area will move one memory position toward the first memory, and the data blocks will be written starting from the first memory after the check blocks. Figure 5 is a schematic diagram of rightward misalignment storage according to an embodiment of the present application, such as Figure 5 As shown, the blocks of data to be stored include data blocks and check blocks for the contents of multiple data blocks stored in the same area set. When storing, the check blocks are stored first, and then stored in sequence according to the order of the data blocks in the data. The check blocks are written from the first memory, and the check blocks of each storage area will move one memory position toward the last memory, and the data blocks will be written from the first memory after the check information.

[0071] As an optional embodiment, converting the target storage area code according to the target storage identifier, the target set identifier and the target association relationship of the target storage includes:

[0072] Converting a target memory code according to the target memory identifier and the first association relationship, wherein the first association relationship is a sorting relationship between memory identifiers of a plurality of the memories in a memory identifier sequence, the memory identifier sequence is used to indicate a sequential relationship of storing data in the plurality of memories, and the target memory code is used to indicate a sorting position of the target memory identifier in the memory identifier sequence;

[0073] The target set type identifier is converted according to the target set identifier and the second association relationship, wherein the second association relationship is an ordering relationship of multiple set type identifiers in a type identifier sequence, each set type identifier is used to indicate a storage order of storing data in multiple memories starting from one of the multiple memories according to the memory order relationship indicated by the memory identifier sequence, and the number of the set type identifiers in the type identifier sequence is the same as the number of the memories;

[0074] The target storage area code is converted according to the target storage target set type identifier, the target storage code and the third association relationship, wherein the third association relationship records the association relationship between the set type identifier, the storage code and the storage area code, and the target association relationship includes the first association relationship, the second association relationship and the third association relationship.

[0075] Optionally, in an embodiment of the present application, the memory identification sequence is obtained by sorting the memory identifications according to the order in which data is stored in the storage areas of multiple memories included in the same area set, that is, when storing data in the storage areas of multiple memories, it is necessary to store according to the order indicated in the memory identification sequence. For example, the memory sorting order indicated by the memory identification sequence is memory A, memory B, memory C, and memory D. Then, when calling the memory, the call of memory B is arranged after memory A, the call of memory C is arranged after memory B, the call of memory D is arranged after memory C, and the call of memory A is arranged after memory D.

[0076] Optionally, in an embodiment of the present application, a method of converting a target memory code according to the target memory identifier and the first association relationship is to search for a sorting number of the target memory identifier from a storage identifier sequence, and use the sorting number as a target memory number of the target memory.

[0077] Optionally, in an embodiment of the present application, a type identification sequence is used to indicate a calling order of storage orders corresponding to calling different set type identifications. When storing data in multiple area sets, it is necessary to determine how to store data in adjacent area sets in sequence according to the calling order indicated in the type identification.

[0078] Optionally, in an embodiment of the present application, the method for converting the target combination type identifier can be to detect the target sorting number of the target area set corresponding to the target set identifier in multiple area sets according to the target set identifier, and then cyclically sort the multiple set type identifiers according to the sorting relationship of the set type identifiers indicated in the type identifier sequence, so as to obtain the target set type identifier with the sorting number being the target sorting number.

[0079] Optionally, in an embodiment of the present application, the third association relationship records the association relationship between the set type identifier, the memory code and the storage area code. The third association relationship can be a mapping relationship or a mathematical operation relationship, which is not limited in this solution.

[0080] Through the above content, by configuring the first association relationship for converting the memory identifier, the second association relationship for converting the target collection type identifier, and the third association relationship that records the collection type identifier, the memory identifier and the memory area code, the logical judgment operation process of converting the target memory area code is simplified, the conversion operation logic of the storage area code is simple, and the conversion rate of the storage area code is optimized.

[0081] As an optional embodiment, converting the target storage area code according to the target storage target set type identifier, the target storage code and the third association relationship includes:

[0082] In a case where the area set is used for distributed storage of a plurality of data blocks and a check block, data distribution information of the storage device is obtained, wherein the data distribution information is used to indicate a distribution mode of the data blocks and the check blocks in different area sets, the plurality of data blocks are obtained by dividing the data to be stored in the area set, and the check block is used to indicate data content of the data to be stored;

[0083] In a case where the data distribution information is used to indicate that the storage device stores the data blocks and the check blocks in a right-symmetrical distribution manner, the first sorting position of the target set type identifier in the type identifier sequence is determined as the target set code of the target area set, wherein the first sorting position is used to indicate the distance between the target set type identifier and the first set type identifier in the type identifier sequence, the first set type identifier is used to indicate that the first memory indicated by the memory identifier sequence is used as the starting memory for data storage, and the memory identifiers of the starting memories in the storage order indicated by two adjacent set type identifiers in the type identifier sequence are adjacent in the memory identifier sequence;

[0084] Matching the target set encoding with the target memory encoding;

[0085] In the case where the target set code is smaller than the target memory code, calculating a first difference between the target memory code and the target set code; and determining the first difference as the target memory region code;

[0086] When the target set code is greater than the target memory code, a second difference between the target set code and the target memory code is calculated; and the difference between the number of memories of the memory included in the storage device and the second difference is determined as the target memory area code.

[0087] Optionally, in an embodiment of the present application, the target distribution method used in the storage device can be a striped storage method, that is, the data is divided into multiple blocks, stored in different storage areas included in the same area set, and in the adjacent area set, the initial storage area is arranged in a striped manner, that is, in the first area set, the block is first stored in the storage area corresponding to the memory 1, the second block is stored in the storage area corresponding to the memory 2, and the third block is stored in the storage area corresponding to the memory 3. When storing data in the second area set, the storage position of the first block needs to be staggered, for example, the first block can be staggered to the right to be stored in the storage area corresponding to the memory 2, and the second block can be stored in the storage area corresponding to the memory 3.

[0088] Optionally, in an embodiment of the present application, the data distribution information may include but is not limited to the sorting position of the check blocks in multiple storage areas included in the current area set and the starting storage position of the data blocks in multiple storage areas, and this solution does not limit this.

[0089] Optionally, in the embodiment of the present application, Figure 6A schematic diagram of a computing storage area encoding that is distributed symmetrically to the right according to an embodiment of the present application is shown in FIG. Figure 6 As shown in the figure, the spatial layout of data blocks in each pack (disk partition) is consistent, and in each pack, the parity blocks are distributed diagonally. That is, the parity block of stripe number 0 is located on disk 0, the p parity blocks of stripe number 1 are located on disk 1, and the parity blocks in stripe number n are located on disk (n% component count (number of disks)).

[0090] The number of stripes in each pack is fixed and can be expressed as Packstrides (the number of region sets), which is equal to componentcount (the number of disks). The number of rows that a stripe is offset from within a pack can be expressed as (stride% Packstrides), which ranges from 0 to (packstrides-1).

[0091] like Figure 6 The two-dimensional coordinate axis shown, the horizontal axis x represents the disk number (target storage encoding), and the vertical axis y represents (-stride%Packstrides) (target collection encoding). Among them, (x:componnetindex) disk number ranges from 0 to (componentcount-1); (y:-(stride%packstrides)) ranges from 0 to -(componentcount-1), representing the opposite number of stripes in the pack offset row number.

[0092] As defined above, x and y are only valid in the fourth quadrant.

[0093] (1) By Figure 6 It can be seen that when the block satisfies x>=|y| (the target set code is smaller than the target memory code), that is, when componentindex>(stride%packstrides), the block numbers are the same and present a diagonal pattern, y=-x+b, |b| represents the block number (storage area code), and x and y that meet this condition can uniquely specify the block code in which they are located. That is, the result of y+x uniquely corresponds to stripnum (target storage area code), where × is the disk number componentindex, and y=-(stride%packstrides). The determined stripnum=x+y=componentindex-(stride%packstrides) (first difference).

[0094] (2) By Figure 6It can be seen that when the block satisfies x<|y| (the target set code is greater than the target memory code), that is, when componentindex<(stride%packstrides), the stripnum corresponding to the coordinate (x, y) is equal to the difference between componentcount and the stripnum corresponding to (-y, -x), stripnum=componentcount-(-yx)=componentcount-((stride%packstrides)-componentindex)(second difference). For example: the block code determined by (1, -2) is 3, and the block code determined by (2, -1) is 1. The sum of the block codes of these two points is componentcount=4.

[0095] Through the above content, according to the spatial distribution characteristics of the disk array, the mathematical model relationship between the target storage encoding and the target set encoding is constructed, and the target area encoding is cleverly calculated by using a method that combines numbers and shapes. This can greatly reduce the complexity of the original process calculation and multiple judgments, and improve the efficiency of spatial address conversion.

[0096] As an optional embodiment, after acquiring the data distribution information of the storage device, the method further includes:

[0097] In a case where the data distribution information is used to indicate that the storage device stores the data blocks and the check blocks in a left-symmetrical distribution manner, the second sorting position of the target set type identifier in the type identifier sequence is determined as the target set code of the target area set, wherein the second sorting position is used to indicate the distance between the target set type identifier and a second set type identifier in the type identifier sequence, and the second set type identifier is used to indicate that the tail memory indicated by the memory identifier sequence is used as the starting memory for data storage;

[0098] Matching the target set encoding with the target memory encoding;

[0099] In the case where the target set code is smaller than the target memory code, calculating a third difference between the target memory code and the target set code; and determining the third difference as the target memory region code;

[0100] When the target set code is greater than the target memory code, a fourth difference between the target set code and the target memory code is calculated; and a difference between the number of memories of the memory included in the storage device and the fourth difference is determined as the target memory area code.

[0101] Optionally, in the embodiments of the present application, Figure 7 FIG. 1 is a schematic diagram of a computing storage area encoding in which a distribution mode is symmetrically distributed to the left according to an embodiment of the present application. Figure 7 The two-dimensional coordinate axis shown, the horizontal axis x represents the disk number (target storage encoding), and the vertical axis y represents (stride%Packstrides) (target collection encoding). Among them, (x:componnetindex) disk number ranges from 0 to (componentcount-1); (y: (stride%packstrides)) ranges from 0 to (componentcount-1), representing the opposite number of stripes in the pack offset row number.

[0102] As defined above, x and y are only valid in the first quadrant.

[0103] (1) By Figure 7 It can be seen that when the block satisfies x>=y (the target set code is less than the target memory code), that is, when componentindex>(stride%packstrides), the block numbers are the same and show a diagonal pattern, y=x+b, |b| represents the block number (storage area code), and x and y that meet this condition can uniquely specify the block code they are in. That is, the result of y+x uniquely corresponds to stripnum (target storage area code), where × is the disk number componentindex, and y=(stride%packstrides). The determined stripnum=xy=componentindex-(stride%packstrides) (the third difference).

[0104] (2) By Figure 7 It can be seen that when the block satisfies x<|y| (the target set encoding is greater than the target memory encoding), that is, when componentindex<(stride%packstrides), the stripnum corresponding to the coordinate (x, y) is equal to the difference between the stripnum corresponding to componentcount and (y, -x), stripnum=componentcount-(yx)=componentcount-((stride%packstrides)-componentindex) (the fourth difference).

[0105] Through the above content, according to the spatial distribution characteristics of the disk array, the mathematical model relationship between the target storage encoding and the target set encoding is constructed, and the target area encoding is cleverly calculated by using a combination of numbers and shapes. This can greatly reduce the complexity of the original process calculation and multiple judgments, and improve the efficiency of spatial address conversion.

[0106] As an optional embodiment, converting the target memory code according to the target memory identifier and the first association relationship includes:

[0107] Calculating the ranking number of the target memory identifier relative to the reference memory identifier in the memory identifier sequence, wherein the reference memory identifier is the first memory identifier in the memory identifier sequence;

[0108] The sort number is determined as the target memory encoding.

[0109] Optionally, in an embodiment of the present application, the sorting position of the reference memory identifier can be obtained through a mapping table or through mathematical operations, and this solution does not limit this.

[0110] As an optional embodiment, converting the target set type identifier according to the target set identifier and the second association relationship includes:

[0111] Calculating a quotient of a set sequence number and a number of type identifiers of the target area set, wherein the set sequence number is used to indicate the order of the target area set in the plurality of area sets, the target set identifier includes the set sequence number, and the number of type identifiers is the number of set type identifiers included in the type identifier sequence;

[0112] In the case where there is a remainder in the quotient value, determining the set type identifier at the sequence position corresponding to the remainder in the type identifier sequence as the target set type identifier;

[0113] When there is no remainder in the quotient value, the last set type identifier in the type identifier sequence is determined as the target set type identifier.

[0114] Optionally, in an embodiment of the present application, since the number of type identifiers in different partitions is consistent, that is, the number of area sets in a partition of the storage device is the same, the quotient of the set sequence number of the target area set and the number of type identifiers can be calculated to obtain a remainder. If there is a remainder, the set type identifier at the sequence position corresponding to the remainder in the type identifier sequence is determined as the target set type identifier; if there is no remainder, it means that the set type identifier is the last one in the type identifier sequence, and the last set type identifier in the type identifier sequence is determined as the target set type identifier.

[0115] Through the above content, by calculating the quotient of the set serial number and the number of type identifiers of the target area set, and determining the set type identifier according to the remainder of the calculated quotient, the accuracy of the set type identifier conversion result is improved.

[0116] As an optional embodiment, the detecting the target set identifier corresponding to the target access address of the target memory includes:

[0117] Calculating a quotient of the target access address and a storage capacity of the storage area;

[0118] The quotient value is determined as a set sequence number of the target area set, wherein the set sequence number is used to indicate the order of the target area set in the plurality of area sets, and the target set identifier includes the set sequence number.

[0119] Figure 8 is an optional space conversion flow chart according to an embodiment of the present application, such as Figure 8 As shown, at least the following steps are included:

[0120] S801, the storage system inputs a target access address, where the target access address includes a disk number Componentindex and a disk address Componentlba of a disk to be accessed;

[0121] S802, calculate the stripe number (target set identifier) ​​of the disk address, Stride = Component1ba / Striplength. Since the stride number is an integer, the division here is an algorithm in computer language, and the integer part of the result is taken;

[0122] S803, calculate rotation=StretchNumber%ComponentCount corresponding to stride, and record the disk number of P check block in the stripe as Componentindex_p;

[0123] S804, determine whether stride%packstrides is equal to componentindex, if so, the current disk is the disk where the check block is located, and execute step S805, otherwise execute step S806;

[0124] S805, set stripnum (target storage area code) to 0;

[0125] S806, determine whether stride%packstrides is greater than or equal to componentindex, if so, it means that the disk number is to the right of the disk number where the check block is located, and continue to step S807, otherwise it means that the disk number is to the left of the disk number where the check block is located, and continue to step S808;

[0126] S807, calculate block code: StripNum = componentindex - (stride% packstrides);

[0127] S808, calculate the block code: StripNum = componentcount-((stride%packstrides)-componentindex);

[0128] S809, output the stripping code stripnum (target storage area code).

[0129] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0130] In this embodiment, a space address conversion device for a storage device is also provided, and the device is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware for a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0131] Fig. 9 1 is a block diagram of a spatial address conversion device of a storage device according to an embodiment of the present application, wherein the storage device includes a controller and multiple memories, each of which is divided into multiple storage areas, and the storage device is divided into multiple area sets, each of which includes storage areas located at the same position in each of the memories, and different area sets are configured to store data in the included storage areas in different orders of the memories, and the device is applied to the controller, such as Fig. 9As shown, the device includes: an extraction module 92, which is used to extract the target access address of the target memory requested to be accessed from the data access request when a data access request is received, wherein the data access request is used to request data access to the target access address in the target memory; a detection module 94, which is used to detect the target set identifier corresponding to the target access address of the target memory, wherein the target set identifier is used to indicate the target area set to which the target access address belongs; a conversion module 96, which is used to convert a target storage area code according to the target memory identifier of the target memory, the target set identifier and the target association relationship, wherein the target memory identifier is used to indicate the target memory where the target access address is located, and the target association relationship is the association relationship between the memory identifier and the set identifier obtained under the target distribution method adopted by the storage device relative to the storage area code, the target distribution method is used to indicate the arrangement rule of the memory in different area sets, and the target storage area code is used to indicate the sorting of the target storage area in the target area set.

[0132] Through the above content, by extracting the target access address of the target memory requested to be accessed from the data access request, and then detecting the target set identifier corresponding to the target access address according to the target access address, the target association relationship is obtained according to the association relationship between the memory identifier and the set identifier under the target distribution mode adopted by the storage device and the storage area code, and then the target storage area code is converted according to the target memory identifier, the target set identifier and the target association relationship of the target memory, so that the conversion process of converting the target storage area code is simple and does not require complex derivation logic. Therefore, the problem of low efficiency of spatial address conversion of storage devices in the related technology can be solved, and the effect of improving the efficiency of spatial address conversion of storage devices can be achieved.

[0133] Optionally, the conversion module includes:

[0134] a first conversion unit, configured to convert a target memory code according to the target memory identifier and a first association relationship, wherein the first association relationship is an ordering relationship between memory identifiers of a plurality of the memories in a memory identifier sequence, the memory identifier sequence is used to indicate a sequential relationship of storing data in the plurality of memories, and the target memory code is used to indicate an ordering position of the target memory identifier in the memory identifier sequence;

[0135] A second conversion unit is used to convert the target set type identifier according to the target set identifier and the second association relationship, wherein the second association relationship is an ordering relationship of multiple set type identifiers in a type identifier sequence, each of the set type identifiers is used to indicate a storage order of storing data in multiple memories starting from one of the multiple memories according to the memory order relationship indicated by the memory identifier sequence, and the number of the set type identifiers in the type identifier sequence is the same as the number of the memories;

[0136] A third conversion unit is used to convert the target storage area code according to the target storage target set type identifier, the target storage code and the third association relationship, wherein the third association relationship records the association relationship between the set type identifier, the storage code and the storage area code, and the target association relationship includes the first association relationship, the second association relationship and the third association relationship.

[0137] Optionally, the third conversion unit is further used for:

[0138] In a case where the area set is used for distributed storage of a plurality of data blocks and a check block, data distribution information of the storage device is obtained, wherein the data distribution information is used to indicate a distribution mode of the data blocks and the check blocks in different area sets, the plurality of data blocks are obtained by dividing the data to be stored in the area set, and the check block is used to indicate data content of the data to be stored;

[0139] In a case where the data distribution information is used to indicate that the storage device stores the data blocks and the check blocks in a right-symmetrical distribution manner, the first sorting position of the target set type identifier in the type identifier sequence is determined as the target set code of the target area set, wherein the first sorting position is used to indicate the distance between the target set type identifier and the first set type identifier in the type identifier sequence, the first set type identifier is used to indicate that the first memory indicated by the memory identifier sequence is used as the starting memory for data storage, and the memory identifiers of the starting memories in the storage order indicated by two adjacent set type identifiers in the type identifier sequence are adjacent in the memory identifier sequence;

[0140] Matching the target set encoding with the target memory encoding;

[0141] In the case where the target set code is smaller than the target memory code, calculating a first difference between the target memory code and the target set code; and determining the first difference as the target memory region code;

[0142] When the target set code is greater than the target memory code, a second difference between the target set code and the target memory code is calculated; and the difference between the number of memories of the memory included in the storage device and the second difference is determined as the target memory area code.

[0143] Optionally, the third conversion unit is further used for:

[0144] In a case where the data distribution information is used to indicate that the storage device stores the data blocks and the check blocks in a left-symmetrical distribution manner, the second sorting position of the target set type identifier in the type identifier sequence is determined as the target set code of the target area set, wherein the second sorting position is used to indicate the distance between the target set type identifier and a second set type identifier in the type identifier sequence, and the second set type identifier is used to indicate that the tail memory indicated by the memory identifier sequence is used as the starting memory for data storage;

[0145] Matching the target set encoding with the target memory encoding;

[0146] In the case where the target set code is smaller than the target memory code, calculating a third difference between the target memory code and the target set code; and determining the third difference as the target memory region code;

[0147] When the target set code is greater than the target memory code, a fourth difference between the target set code and the target memory code is calculated; and a difference between the number of memories of the memory included in the storage device and the fourth difference is determined as the target memory area code.

[0148] Optionally, the first conversion unit is further used for:

[0149] Calculating the ranking number of the target memory identifier relative to the reference memory identifier in the memory identifier sequence, wherein the reference memory identifier is the first memory identifier in the memory identifier sequence;

[0150] The sort number is determined as the target memory encoding.

[0151] Optionally, the second conversion unit is further used for:

[0152] Calculating a quotient of a set sequence number and a number of type identifiers of the target area set, wherein the set sequence number is used to indicate the order of the target area set in the plurality of area sets, the target set identifier includes the set sequence number, and the number of type identifiers is the number of set type identifiers included in the type identifier sequence;

[0153] In the case where there is a remainder in the quotient value, determining the set type identifier at the sequence position corresponding to the remainder in the type identifier sequence as the target set type identifier;

[0154] When there is no remainder in the quotient value, the last set type identifier in the type identifier sequence is determined as the target set type identifier.

[0155] Optionally, the detection module includes:

[0156] a calculation unit, configured to calculate a quotient of the target access address and a storage capacity of the storage area;

[0157] A determination unit is used to determine the quotient value as a set sequence number of the target area set, wherein the set sequence number is used to indicate the order of the target area set in the multiple area sets, and the target set identifier includes the set sequence number.

[0158] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0159] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0160] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

[0161] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0162] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0163] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.

[0164] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.

[0165] The embodiments of the present application also provide a computer program, which includes computer instructions, which are stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps in any one of the above method embodiments.

[0166] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0167] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

[0168] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A method for converting a space address of a storage device, characterized in that: A storage device includes a controller and a plurality of memories, each of which is divided into a plurality of storage areas, and the storage device is divided into a plurality of area sets, each of which includes storage areas located at the same position in each of the memories, and different area sets are configured to store data in the included storage areas according to different orders of the memories, and the method is applied to the controller, comprising: Upon receiving a data access request, extracting a target access address of a target memory requested to be accessed from the data access request, wherein the data access request is used to request data access to the target access address in the target memory; Detecting a target set identifier corresponding to the target access address of the target memory, wherein the target set identifier is used to indicate a target area set to which the target access address belongs; A target storage area code is converted according to a target storage identifier, a target set identifier and a target association relationship of the target storage, wherein the target storage identifier is used to indicate the target storage where the target access address is located, the target association relationship is an association relationship between the storage identifier and the set identifier obtained under the target distribution method adopted by the storage device relative to the storage area code, the target distribution method is used to indicate an arrangement rule of the storage in different area sets, and the target storage area code is used to indicate the sorting of the target storage area in the target area set.

2. The method according to claim 1, characterized in that The converting the target storage area code according to the target storage identifier of the target storage, the target set identifier and the target association relationship includes: Converting a target memory code according to the target memory identifier and the first association relationship, wherein the first association relationship is a sorting relationship between memory identifiers of a plurality of the memories in a memory identifier sequence, the memory identifier sequence is used to indicate a sequential relationship of storing data in the plurality of memories, and the target memory code is used to indicate a sorting position of the target memory identifier in the memory identifier sequence; The target set type identifier is converted according to the target set identifier and the second association relationship, wherein the second association relationship is an ordering relationship of multiple set type identifiers in a type identifier sequence, each set type identifier is used to indicate a storage order of storing data in multiple memories starting from one of the multiple memories according to the memory order relationship indicated by the memory identifier sequence, and the number of the set type identifiers in the type identifier sequence is the same as the number of the memories; The target storage area code is converted according to the target storage target set type identifier, the target storage code and the third association relationship, wherein the third association relationship records the association relationship between the set type identifier, the storage code and the storage area code, and the target association relationship includes the first association relationship, the second association relationship and the third association relationship.

3. The method according to claim 2, characterized in that The converting the target storage area code according to the target storage target set type identifier, the target storage code and the third association relationship includes: In a case where the area set is used for distributed storage of a plurality of data blocks and a check block, data distribution information of the storage device is obtained, wherein the data distribution information is used to indicate a distribution mode of the data blocks and the check blocks in different area sets, the plurality of data blocks are obtained by dividing the data to be stored in the area set, and the check block is used to indicate data content of the data to be stored; In a case where the data distribution information is used to indicate that the storage device stores the data blocks and the check blocks in a right-symmetrical distribution manner, the first sorting position of the target set type identifier in the type identifier sequence is determined as the target set code of the target area set, wherein the first sorting position is used to indicate the distance between the target set type identifier and the first set type identifier in the type identifier sequence, the first set type identifier is used to indicate that the first memory indicated by the memory identifier sequence is used as the starting memory for data storage, and the memory identifiers of the starting memories in the storage order indicated by two adjacent set type identifiers in the type identifier sequence are adjacent in the memory identifier sequence; Matching the target set encoding with the target memory encoding; In the case where the target set code is smaller than the target memory code, calculating a first difference between the target memory code and the target set code; and determining the first difference as the target memory region code; When the target set code is greater than the target memory code, a second difference between the target set code and the target memory code is calculated; and the difference between the number of memories of the memory included in the storage device and the second difference is determined as the target memory area code.

4. The method according to claim 3, characterized in that After acquiring the data distribution information of the storage device, the method further includes: In a case where the data distribution information is used to indicate that the storage device stores the data blocks and the check blocks in a left-symmetrical distribution manner, the second sorting position of the target set type identifier in the type identifier sequence is determined as the target set code of the target area set, wherein the second sorting position is used to indicate the distance between the target set type identifier and a second set type identifier in the type identifier sequence, and the second set type identifier is used to indicate that the tail memory indicated by the memory identifier sequence is used as the starting memory for data storage; Matching the target set encoding with the target memory encoding; In the case where the target set code is smaller than the target memory code, calculating a third difference between the target memory code and the target set code; and determining the third difference as the target memory region code; When the target set code is greater than the target memory code, a fourth difference between the target set code and the target memory code is calculated; and a difference between the number of memories of the memory included in the storage device and the fourth difference is determined as the target memory area code.

5. The method according to claim 2, characterized in that: The converting the target memory code according to the target memory identifier and the first association relationship includes: Calculating the ranking number of the target memory identifier relative to the reference memory identifier in the memory identifier sequence, wherein the reference memory identifier is the first memory identifier in the memory identifier sequence; The sort number is determined as the target memory encoding.

6. The method according to claim 2, characterized in that The converting the target set type identifier according to the target set identifier and the second association relationship includes: Calculating a quotient of a set sequence number and a number of type identifiers of the target area set, wherein the set sequence number is used to indicate the order of the target area set in the plurality of area sets, the target set identifier includes the set sequence number, and the number of type identifiers is the number of set type identifiers included in the type identifier sequence; In the case where there is a remainder in the quotient value, determining the set type identifier at the sequence position corresponding to the remainder in the type identifier sequence as the target set type identifier; When there is no remainder in the quotient value, the last set type identifier in the type identifier sequence is determined as the target set type identifier.

7. The method according to claim 1, characterized in that The detecting the target set identifier corresponding to the target access address of the target memory includes: Calculating a quotient of the target access address and a storage capacity of the storage area; The quotient value is determined as a set sequence number of the target area set, wherein the set sequence number is used to indicate the order of the target area set in the plurality of area sets, and the target set identifier includes the set sequence number.

8. A space address conversion device for a storage device, characterized in that: The storage device includes a controller and a plurality of memories, each of which is divided into a plurality of storage areas, and the storage device is divided into a plurality of area sets, each of which includes storage areas located at the same position in each of the memories, and different area sets are configured to store data in the included storage areas according to different orders of the memories, and the apparatus is applied to the controller, and includes: an extraction module, configured to extract, upon receiving a data access request, a target access address of a target memory requested to be accessed from the data access request, wherein the data access request is used to request data access to the target access address in the target memory; A detection module, configured to detect a target set identifier corresponding to the target access address of the target memory, wherein the target set identifier is used to indicate a target area set to which the target access address belongs; A conversion module is used to convert a target storage area code according to a target storage identifier of the target storage, the target set identifier and a target association relationship, wherein the target storage identifier is used to indicate the target storage where the target access address is located, the target association relationship is an association relationship between the storage identifier and the set identifier obtained under the target distribution method adopted by the storage device and the storage area code, the target distribution method is used to indicate the arrangement rule of the storage in different area sets, and the target storage area code is used to indicate the sorting of the target storage area in the target area set.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 1 to 7 when executed by a processor.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method described in any one of claims 1 to 7 are implemented.