WO2021088587A1 - Procédé et appareil d'accès à des données, et support de stockage - Google Patents

Procédé et appareil d'accès à des données, et support de stockage Download PDF

Info

Publication number
WO2021088587A1
WO2021088587A1 PCT/CN2020/119935 CN2020119935W WO2021088587A1 WO 2021088587 A1 WO2021088587 A1 WO 2021088587A1 CN 2020119935 W CN2020119935 W CN 2020119935W WO 2021088587 A1 WO2021088587 A1 WO 2021088587A1
Authority
WO
WIPO (PCT)
Prior art keywords
hard disk
space
data
address
storage device
Prior art date
Application number
PCT/CN2020/119935
Other languages
English (en)
Chinese (zh)
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 华为技术有限公司
Priority to EP20885263.2A priority Critical patent/EP4044039A4/fr
Publication of WO2021088587A1 publication Critical patent/WO2021088587A1/fr
Priority to US17/662,267 priority patent/US12050539B2/en

Links

Images

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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • 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/061Improving I/O performance
    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Definitions

  • This application relates to the field of data storage technology, and in particular to a data access method, device and storage medium.
  • the data in the storage device After the data is processed by the storage device and needs to be written to the hard disk, the data in the storage device must be organized on the hard disk.
  • the transformation of data organization That is, in the current data access process, it is necessary to convert the logical address accessed by the client into the logical address for accessing the storage device, and convert the logical address for accessing the storage device to the logical address for accessing the hard disk.
  • the cost of conversion is relatively large.
  • This application provides a data access method, device, and storage medium, which can save costs and improve data read and write efficiency.
  • the technical solution is as follows:
  • a data method method is provided.
  • the method is applied to a storage device.
  • the storage device includes a plurality of hard disks.
  • the method includes: the storage device receives a first data write request from a client, and the first data write request carries the data to be written.
  • the address of the logical space of the hard disk, the target data is written into the physical space corresponding to the logical space of the hard disk in the target hard disk by means of additional writing.
  • the business logic space is created by the storage device when the client needs to store data.
  • the address of the business logic space may include the identifier and offset of the business logic space.
  • the identifier of the business logic space is used to uniquely identify the business logic space
  • the offset is used to indicate the length information of the area where data is currently written in the physical space allocated for the business logic space.
  • the address of the logical space of the hard disk may also include the identifier and the offset of the logical space of the hard disk.
  • the offset included in the address of the logical space of the hard disk may be the offset included in the address of the business logical space.
  • additional writing can be understood as writing data in an additional manner, that is, the additional writing method means that the written data is organized according to the time sequence of writing. Moreover, after a process of a program writes data in this way, the subsequent process will no longer perform write operations on the area where the data is located, but will only perform read operations.
  • the offset is used to indicate the length information of the area where data is currently written in the physical space allocated for the business logic space.
  • the address of the hard disk logical space includes the identifier and offset of the hard disk logical space. Therefore, The storage device can determine a starting address from the physical space corresponding to the hard disk logical space in the target hard disk according to the address of the hard disk logical space, and then write the target data from the starting address.
  • the client accesses the storage device through the address of the business logic space, and the storage device determines the address of the hard disk logic space through the address of the business logic space, and then accesses the target hard disk according to the address of the hard disk logic space.
  • the business logic space is for the client
  • the hard disk logic space is for the target hard disk. Both are logical spaces, but different restrictions are added to facilitate the distinction. Therefore, it can be seen that the client accesses the storage device and the storage device accesses the target hard disk in the same way. Therefore, when the target data is written into the physical space corresponding to the logical space of the hard disk in the target hard disk by means of additional writing, No address conversion in the hard disk is performed. This will save overhead and increase the data write rate.
  • the client requests the storage device to create the business logic space to facilitate subsequent data access, and in general, the storage device can It includes multiple hard disks. Therefore, in order to ensure the reliability of subsequent data access, after the storage device creates the business logic space and the hard disk logic space, it can obtain the identifier of the business logic space and the hard disk logic space, and store the identifier of the business logic space Correspondence with the identifier of the logical space of the hard disk. That is, the corresponding relationship between the business logic space and the hard disk logic space is created.
  • the size of the physical space allocated by the target hard disk to the created hard disk logical space is an integer multiple of the size of an erase block.
  • the data stored in the one or more erase blocks have the same degree of cold and heat, or the same life cycle, the data in the same erase block will become invalid data at the same time with a high probability, or both are valid data at the same time , It is relatively rare that one part is invalid data and the other part is valid data. In this way, during garbage collection, data movement will be reduced, and write amplification will be reduced.
  • the write amplification in the garbage collection process can be reduced by the above-mentioned method, but also other methods can be used to reduce it.
  • the size of the logical space of the hard disk in the target hard disk is adjusted so that the size of the logical space of the hard disk is equal to an integer multiple of the size of an erase block.
  • a data access device in a second aspect, is provided, and the data access device has the function of realizing the behavior of the data access method in the first aspect.
  • the data access device includes one or module, and the one or more modules are used to implement the data access method provided in the first aspect.
  • a storage device in a third aspect, includes a processor and a memory.
  • the memory is used to store a program for executing the data access method provided in the first aspect, and to store a program for implementing the first aspect. Provide the data involved in the data access method.
  • the processor is configured to execute a program stored in the memory.
  • the operating device of the storage device may further include a communication bus, and the communication bus is used to establish a connection between the processor and the memory.
  • a computer-readable storage medium is provided, and instructions are stored in the computer-readable storage medium, which when run on a computer, cause the computer to execute the data access method described in the first aspect.
  • a computer program product containing instructions which when running on a computer, causes the computer to execute the data access method described in the first aspect.
  • the storage device may determine the target hard disk and the address of the hard disk logical space corresponding to the business logic space according to the address of the business logic space carried in the first data write request sent by the client, and then according to the hard disk logic The address of the space to write the target data to the target hard disk. That is, the client accesses the storage device through the address of the business logic space. Inside the storage device, the address of the business logic space is converted to the address of the hard disk logic space. The hard disk writes data according to the address of the hard disk logic space. It can be seen that only one address conversion is required, which saves overhead and improves the efficiency of data reading and writing.
  • FIG. 1 is an architecture diagram of a storage system provided by an embodiment of the present application
  • FIG. 2 is a schematic diagram of a data erasing process provided by an embodiment of the present application
  • FIG. 3 is a schematic diagram of another data erasing process provided by an embodiment of the present application.
  • FIG. 4 is a flowchart of a data access method provided by an embodiment of the present application.
  • FIG. 5 is an architecture diagram of another storage system provided by an embodiment of the present application.
  • Fig. 6 is a schematic structural diagram of a data access device provided by an embodiment of the present application.
  • FIG. 1 is an architecture diagram of a storage system according to a data access method provided by an embodiment of the present application. As shown in Figure 1, the system includes a client 01 and a storage device 02, and a communication connection is established between the client 01 and the storage device 02.
  • the client 01 can send a data read request or a data write request to the storage device 02.
  • the storage device 02 may include a processor 021, a memory 022, and a hard disk 023.
  • the processor 021 may be a general-purpose central processing unit (CPU), a network processor (NP), a microprocessor, or may be one or more integrated circuits used to implement the solution of the present application, for example, a dedicated integrated circuit Circuit (application-specific integrated circuit, ASIC), programmable logic device (programmable logic device, PLD) or a combination thereof.
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • the above-mentioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
  • the storage device may include multiple processors 021.
  • processors 021 can be a single-core processor or a multi-core processor.
  • the processor here may refer to one or more devices, circuits, and/or devices including a processing core for processing data (for example, computer program instructions).
  • An operating system is installed on the memory 022, and the processor 021 can read and write data by running the operating system.
  • the memory 022 may also store the program code of the solution of the present application, and the processor 021 controls the execution. That is, the memory 022 is used to store program codes for executing the solutions of the present application, and the processor 021 can execute the program codes stored in the memory 022 to implement the data access method provided in the embodiment of FIG. 4 below.
  • the memory 022 may be a read-only memory (read-only memory, ROM), a random access memory (random access memory, RAM), or an electrically erasable programmable read-only memory (electrically erasable programmable read-only memory).
  • -only memory EEPROM
  • optical discs including compact disc (read-only memory, CD-ROM), compact discs, laser discs, digital universal discs, Blu-ray discs, etc.
  • magnetic disk storage media or other magnetic storage devices Or it can be any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and that can be accessed by a computer, but is not limited to this.
  • the memory 022 may exist independently and be connected to the processor 021.
  • the memory 022 may also be integrated with the processor 021.
  • the storage device 02 can be a storage array or a server.
  • the storage device 02 includes a controller and several hard disks.
  • the processor 021 and the memory 022 may be located in the controller of the storage array, and the controller and several hard disks are connected through a back-end interface card.
  • the processor 021, the storage 022 and several hard disks are all located inside the server.
  • FIG. 1 is only a schematic diagram of some components included in the device.
  • the storage device 02 may also include a communication bus and a communication interface (not shown in FIG. 1). Among them, the communication bus is used to transfer information between various components included in the storage device 02.
  • the communication interface is used to communicate with other devices or communication networks, such as Ethernet, wireless access network (RAN), wireless local area network (Wireless Local Area Networks, WLAN), etc.
  • devices or communication networks such as Ethernet, wireless access network (RAN), wireless local area network (Wireless Local Area Networks, WLAN), etc.
  • the method provided in the embodiment of the present application is applied to a storage device, and the storage device includes a plurality of hard disks. Since the embodiment of the present application mainly implements data access through the logical space, that is, the client accesses the data in the storage device through the logical space. Therefore, in order to facilitate understanding, first, the process of the client requesting to create a logical space is explained.
  • the storage device receives the first logical space creation request from the client, and the first logical space creation request carries the first logical space size.
  • the storage device creates a business logic space, assigns an identifier to the business logic space, and sends the identifier of the business logic space to the client.
  • the storage device can also determine the target hard disk from the included multiple hard disks according to the size of the first logical space, and create the hard disk logical space in the target hard disk, assign an identifier to the created hard disk logical space, and create the logical space from the target hard disk.
  • the logical space of the hard disk is allocated a corresponding physical space, and the size of the physical space is the same as the size of the first logical space.
  • the storage device When the storage device includes a memory, a processor, and a hard disk, the storage device creates a hard disk logical space in the target hard disk, and the realization process of allocating the corresponding physical space from the target hard disk to the created hard disk logical space can be: the processor runs The operating system installed on the storage device sends a second logical space creation request to the target hard disk, and the second logical space creation request carries the size of the first logical space.
  • the target hard disk receives the second logical space creation request, it can create the hard disk logical space, assign an identifier to the created hard disk logical space, and the physical space corresponding to the created hard disk logical space.
  • the size of the physical space is the same as that of the first logical space.
  • One logical space is equal in size.
  • the target hard disk may send the identifier of the created hard disk logical space to the processor.
  • the size of the data currently stored on different hard disks may be different, that is, the size of the remaining storage space (or physical space) of the multiple hard disks may be different.
  • Logical space size When the target hard disk is determined from the included multiple hard disks, the size of the remaining storage space of each hard disk in the multiple hard disks can be determined, and the size of the remaining storage space can be selected from the multiple hard disks to be greater than or equal to the first The hard disk with the size of the logical space is used as the target hard disk.
  • the storage device may also select a hard disk with a remaining storage space greater than or equal to the first logical space size from the multiple hard disks as the target hard disk according to a load balancing algorithm.
  • the logical space of the hard disk created in the target hard disk corresponds to one or more erase blocks, and the data stored in the one or more erase blocks have the same hot and cold degree or the same life cycle. That is, the size of the physical space allocated by the target hard disk to the created hard disk logical space is an integer multiple of the size of an erase block.
  • the data stored in the one or more erase blocks have the same degree of cold and heat, or the same life cycle, the data in the same erase block will become invalid data at the same time with a high probability, or both are valid data at the same time , It is relatively rare that one part is invalid data and the other part is valid data. In this way, during garbage collection, data movement will be reduced, and write amplification will be reduced.
  • the size of the logical space of the hard disk created in the target hard disk may not be an integral multiple of the size of an erase block.
  • a certain erase block may correspond to two logical spaces of the hard disk.
  • the degree of cold and heat of the data stored in the erase block can also be the same. , Or the same life cycle. That is, the cold and hot degrees of the data corresponding to the logical spaces of the two hard disks may also be the same, or the life cycle may be the same.
  • the target hard disk allocates the corresponding physical space for the two hard disk logical spaces, the physical space corresponding to the two hard disk logical spaces is continuous.
  • the difference between the hot and cold degrees of the data stored in the erase block is less than a certain threshold, or the difference between the life cycles is less than a certain threshold.
  • the write amplification in the garbage collection process can be reduced by the above-mentioned method, but also other methods can be used to reduce it.
  • the size of the logical space of the hard disk in the target hard disk is adjusted so that the size of the logical space of the hard disk is equal to an integer multiple of the size of an erase block.
  • the storage device can determine whether the size of the first logical space is an integer multiple of the size of an erase block. If not, the storage device can determine the size of the second logical space, and the size of the second logical space is equal to an integer multiple of the size of an erase block. Then, according to the size of the second logical space, the target hard disk is determined from the multiple hard disks, and then the hard disk logical space is created in the target hard disk, and the corresponding physical space is allocated from the target hard disk to the created hard disk logical space. That is, the size of the physical space is the same as the size of the second logical space.
  • the storage device can determine whether the size of the first logical space is an integer multiple of the size of an erase block. If not, the storage device may send a configuration recommendation message to the client.
  • the configuration recommendation message carries the second logical space size to be recommended, and the second recommended logical space size is an integer multiple of the size of an erase block.
  • the storage device receives the consent recommendation response sent by the client, it determines the target hard disk from the multiple hard disks according to the size of the second logical space, and then creates the hard disk logical space in the target hard disk, and selects the created hard disk from the target hard disk.
  • the logical space allocates the corresponding physical space. That is, the size of the physical space is the same as the size of the second logical space.
  • the size of the second logical space may be greater than the size of the first logical space, and the difference between the size of the second logical space and the size of the first logical space is less than the size of an erase block.
  • the implementation manner in which the storage device selects the target hard disk according to the second logical space size is the same as the foregoing implementation manner in which the target hard disk is selected according to the first logical space size.
  • the storage device creates hard disk logical space in the target hard disk according to the size of the first logical space, and allocates corresponding physical space to the hard disk logical space, which is the same as the above-mentioned method of creating hard disk logical space in the target hard disk according to the first logical space size.
  • the implementation of allocating the corresponding physical space to the logical space of the hard disk is the same, which is not repeated in the embodiment of the present application.
  • the storage device can be based on data with the same or similar degree of cold and heat, or the same or similar life cycle.
  • the method of storing on the same erase block realizes the reduction of write amplification.
  • this reserved space can be used to place the moved effective data in the garbage collection process.
  • the business logic space is for the client
  • the hard disk logic space is for the hard disk.
  • the client requests the storage device to create the business logic space to facilitate subsequent data access.
  • the storage device may include multiple hard disks. Therefore, in order to ensure the reliability of subsequent data access, after the storage device obtains the identifier of the business logic space and the identifier of the hard disk logic space, the storage device may store the business logic space. Correspondence between the ID of the ID and the ID of the logical space of the hard disk. That is, the corresponding relationship between the business logic space and the hard disk logic space is created.
  • the storage device may also store the corresponding relationship between the identifier of the target hard disk and the identifier of the business logic space. Or, optionally, the storage device may store the identifier of the business logic space, the corresponding relationship between the identifier of the target hard disk and the identifier of the hard disk logical space. Moreover, for the target hard disk, the target hard disk may store the mapping relationship between the logical space of the hard disk and the physical space allocated for the logical space of the hard disk. That is, the mapping relationship between the identifier of the logical space of the hard disk and the address range of the physical space allocated for the logical space of the hard disk is stored.
  • the first logical space creation request needs to carry data protection attributes in addition to the size of the first logical space, and the data protection attributes may include multiple copies , Erasure Code (EC), etc.
  • the data protection attributes may include multiple copies , Erasure Code (EC), etc.
  • EC Erasure Code
  • the selected target hard disks may be multiple, that is, the selected multiple target hard disks correspond to the multiple copies one-to-one.
  • the logical space of the hard disk can be created on each of the multiple target hard disks according to the same method described above.
  • the corresponding relationship between the identifier of the business logic space, the identifier of the target hard disk and the identifier of the hard disk logical space is stored to create the corresponding relationship between the business logic space and the hard disk logical spaces in the multiple target hard disks.
  • the process of creating a logical space for the storage device may be different from the above process, but the main idea is the same. They are all based on the above process, according to different The characteristics of the data protection attributes are appropriately deformed.
  • FIG. 4 is a flowchart of a data access method provided by an embodiment of the present application. The method includes the following steps.
  • Step 401 The storage device receives a first data write request from a client, where the first data write request carries target data to be written and an address of a business logic space corresponding to the target data.
  • the business logic space is created by the storage device when the client needs to store data.
  • the address of the business logic space may include the identifier and offset of the business logic space.
  • the identifier of the business logic space is used to uniquely identify the business logic space
  • the offset is used to indicate the length information of the area where data is currently written in the physical space allocated for the business logic space.
  • Step 402 The storage device determines the target hard disk among the multiple hard disks and determines the address of the hard disk logical space corresponding to the business logic space according to the address of the business logic space.
  • the storage device Since the storage device stores the corresponding relationship between the identifier of the business logic space, the identifier of the target hard disk, and the identifier of the logic space of the hard disk in the process of creating the logical space, the storage device can use the identifier of the business logic space from the corresponding relationship. , To determine the identification of the target hard disk and the identification of the logical space of the hard disk.
  • the address of the logical space of the hard disk may also include the identifier and the offset of the logical space of the hard disk.
  • the offset included in the address of the logical space of the hard disk may be the offset included in the address of the business logical space.
  • Step 403 The storage device writes the target data into the physical space corresponding to the logical space of the hard disk in the target hard disk in an additional writing manner according to the determined address of the logical space of the hard disk.
  • additional writing can be understood as writing data in an additional manner, that is, the additional writing method means that the written data is organized according to the time sequence of writing. Moreover, after a process of a program writes data in this way, the subsequent process will no longer perform write operations on the area where the data is located, but only perform read operations.
  • the offset is used to indicate the length information of the area where data is currently written in the physical space allocated for the business logic space.
  • the address of the hard disk logical space includes the identifier and offset of the hard disk logical space. Therefore, The storage device can determine a starting address from the physical space corresponding to the hard disk logical space in the target hard disk according to the address of the hard disk logical space, and then write the target data from the starting address.
  • the storage device When the storage device includes a memory, a processor, and a hard disk, the storage device writes the target data into the physical space corresponding to the hard disk logical space in the target hard disk in an additional write mode according to the determined address of the hard disk logical space.
  • the process is: the processor runs the operating system installed on the memory to send a second data write request to the target hard disk, and the second data write request carries the target data and the determined address of the logical space of the hard disk.
  • the target hard disk receives the second data write request, according to the address of the hard disk logical space, the target data is written into the physical space corresponding to the hard disk logical space in an additional write manner.
  • the target hard disk Since the target hard disk stores the mapping relationship between the identifier of the logical space of the hard disk and the address range of the physical space allocated for the logical space of the hard disk, when the target hard disk receives the second data write request, it can be based on the identifier of the logical space of the hard disk. From the mapping relationship, determine the address range of the physical space allocated for the logical space of the hard disk. Furthermore, according to the offset included in the address of the logical space of the hard disk, a starting address is determined from the address range, and the target data is written from the starting address.
  • the client accesses the storage device through the address of the business logic space, and the storage device determines the address of the hard disk logic space through the address of the business logic space, and then accesses the target hard disk according to the address of the hard disk logic space.
  • the business logic space is for the client
  • the hard disk logic space is for the target hard disk. Both are logical spaces, but different restrictions are added to facilitate the distinction. Therefore, it can be seen that the client accesses the storage device and the storage device accesses the target hard disk in the same way. Therefore, when the target data is written into the physical space corresponding to the logical space of the hard disk in the target hard disk by means of additional writing, No address conversion in the hard disk is performed. This will save overhead and increase the data write rate.
  • the storage device may also write metadata corresponding to the business logic space on the target hard disk, especially after the business logic space is closed, the metadata needs to be written to the target hard disk, thereby persisting the metadata.
  • the metadata includes information about the logical space of the hard disk, for example, the total size of the logical space of the hard disk, the size of the currently written data, the end position of the currently written data, and so on.
  • the process of writing metadata to the storage device is similar to the process of writing target data described above, which will not be repeated in this embodiment of the present application.
  • the physical space on the target hard disk corresponding to the metadata corresponding to the business logic space may be different from the physical space corresponding to the address of the hard disk logical space on the target hard disk. That is, the storage device can create a logical space in the target hard disk. The physical space corresponding to this logical space is different from the physical space corresponding to the logical space of the hard disk, and the physical space corresponding to this logical space is used to store the elements corresponding to the business logical space. data.
  • the above steps 401-403 are the implementation process of the storage device writing data according to the logical space. Next, the process of reading data from the storage device according to the logical space is introduced.
  • the storage device receives a first data read request from the client, and the first data read request carries the length of the data to be read and the address of the business logic space corresponding to the data to be read. According to the address of the business logic space, the target hard disk among the multiple hard disks is determined, and the address of the hard disk logic space corresponding to the business logic space is determined. After that, the storage device can read data from the physical space corresponding to the logical space of the hard disk in the target hard disk according to the length of the data to be read and the address of the logical space of the hard disk.
  • the address of the business logic space also includes the identifier and offset of the business logic space.
  • the offset is used to indicate the length information between the start address of the data to be read and the start address of the physical space allocated for the business logic space.
  • the storage device determines the target hard disk among the multiple hard disks according to the address of the business logic space, and the method of determining the address of the hard disk logic space corresponding to the business logic space is the same as the method in the above step 402. The embodiment of the present application I won't repeat it here.
  • the storage device reads data from the physical space corresponding to the logical space of the hard disk in the target hard disk according to the length of the data to be read and the address of the logical space of the hard disk. From the physical space corresponding to the logical space of the hard disk in the target hard disk, determine a starting address, and then read data from the starting address according to the length of the data to be read.
  • the storage device determines a starting address from the physical space corresponding to the hard disk logical space in the target hard disk according to the address of the hard disk logical space: processing The device runs an operating system installed on the memory to send a second data read request to the target hard disk.
  • the second data read request carries the length of the data to be read and the address of the determined logical space of the hard disk.
  • a starting address is determined from the physical space corresponding to the hard disk logical space in the target hard disk.
  • the target hard disk Since the target hard disk stores the mapping relationship between the identifier of the logical space of the hard disk and the address range of the physical space allocated for the logical space of the hard disk, when the target hard disk receives the second data read request, it can be based on the identifier of the logical space of the hard disk. From the mapping relationship, determine the address range of the physical space allocated for the logical space of the hard disk. Then, according to the offset included in the address of the logical space of the hard disk, a starting address is determined from the address range.
  • the storage device creates the business logic space and the hard disk logic space
  • the status of the business logic space and the hard disk logic space are opened by default.
  • the client requests to close the business logic space, or the business logic space is closed abnormally
  • the storage device can set the status of the business logic space and the hard disk logic on the target hard disk. The state of the space is closed. In this way, subsequent data cannot be written through the business logic space and the hard disk logical space on the target hard disk, but the data can still be read normally.
  • the storage device Since the target hard disk may maintain resources on a regular basis, the storage device not only sets the state of the business logic space to the off state, but also needs to set the state of the hard disk logical space on the target hard disk to the off state. In this way, when the target hard disk maintains resources, the physical space corresponding to the logical space of the closed hard disk may not be maintained, thereby saving resources.
  • the storage device can set the state of the business logic space and the hard disk logic space to be the deleted state, and release the corresponding physical space. In this way, when garbage collection is performed, the physical space corresponding to the logical space of the hard disk in the deleted state can be erased.
  • this logical space can be called a persistence log (plog), and the method of operating this logical space is called plog. interface. That is, both the processor and the hard disk of the storage device are provided with a plog interface.
  • the hard disk uses solid state drives (SSD) as an example.
  • SSD solid state drives
  • a client is installed on the user host, and the storage device provides a plog interface for the user host.
  • the SSD also provides There is a plog interface.
  • the client when the client needs to access the data in the storage device, the client can interact with the storage device based on the plog interface provided by the storage device for the user host, and the storage device can also perform data transmission based on the plog interface to ensure the access method. It is unified, so there is no need to change the way of data organization, the efficiency of data reading and writing is very high, and the storage device does not need to manage the physical space in the hard disk, and there is no need to deal with complex tasks such as garbage collection, which greatly simplifies the storage system.
  • smart network cards can be set in both the user host and the storage device. In this way, data can be read and written directly through the smart network card without the need for the processor in the storage device. participate. That is, when writing data, the client can send data to the smart network card of the storage device through the smart network card in the user host, and the smart network card of the storage device can identify the received data and write it to the hard disk. The same goes for reading data. In this way, in the process of reading and writing data through the smart network card, the processor of the storage device can also process other tasks in parallel.
  • control level also requires the participation of the processor of the storage device.
  • the creation, deletion, and closing of logical space also requires the processor of the storage device. Participation.
  • the storage device may determine the target hard disk and the address of the hard disk logical space corresponding to the business logic space according to the address of the business logic space carried in the first data write request sent by the client, and then according to the hard disk logic The address of the space to write the target data to the target hard disk. That is, the client accesses the storage device through the address of the business logic space. Inside the storage device, the address of the business logic space is converted to the address of the hard disk logic space, and the hard disk writes data according to the address of the hard disk logic space. This shows that , Only one address conversion is needed, which saves overhead and improves the efficiency of data reading and writing.
  • FIG. 6 is a schematic structural diagram of a data access device provided by an embodiment of the present application.
  • the device is located in a storage device, and the processor 021 calls program codes in the memory 022 for execution.
  • the device can be implemented as part or all of the storage device by software, hardware, or a combination of the two.
  • the storage device may include multiple hard disks. Referring to FIG. 6, the device includes: a receiving module 601, a determining module 602, and a writing module 603.
  • the receiving module 601 is configured to receive a first data write request from a client, where the first data write request carries the target data to be written and the address of the business logic space corresponding to the target data;
  • the determining module 602 is configured to determine the target hard disk among the multiple hard disks and the address of the hard disk logical space corresponding to the business logic space according to the address of the business logic space;
  • the writing module 603 is configured to write the target data in the physical space corresponding to the logical space of the hard disk in the target hard disk in an additional writing manner according to the determined address of the logical space of the hard disk.
  • the device further includes:
  • the creation module is used to create the correspondence between the business logic space and the hard disk logic space.
  • the logical space of the hard disk corresponds to one or more erase blocks, and the data stored in the one or more erase blocks have the same degree of cold and heat, or the same life cycle.
  • the device further includes:
  • the adjustment module is used to adjust the size of the logical space of the hard disk so that the size of the logical space of the hard disk is equal to an integer multiple of the size of an erase block.
  • the storage device may determine the target hard disk and the address of the hard disk logical space corresponding to the business logic space according to the address of the business logic space carried in the first data write request sent by the client, and then according to the hard disk logic The address of the space to write the target data to the target hard disk. That is, the client accesses the storage device through the address of the business logic space. Inside the storage device, the address of the business logic space is converted to the address of the hard disk logic space. The hard disk writes data according to the address of the hard disk logic space. It can be seen that only one address conversion is required, which saves overhead and improves the efficiency of data reading and writing.
  • the data access device provided in the above embodiment accesses data
  • only the division of the above functional modules is used as an example for illustration.
  • the above function allocation can be completed by different functional modules according to needs, i.e.
  • the internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
  • the data access device provided in the foregoing embodiment and the data access method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, and will not be repeated here.
  • the computer may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software it can be implemented in the form of a computer program product in whole or in part.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer instructions may be transmitted from a website, computer, server, or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example: floppy disk, hard disk, tape), optical medium (for example: digital versatile disc (DVD)) or semiconductor medium (for example: solid state disk (SSD)) Wait.
  • the computer-readable storage medium mentioned in this application may be a non-volatile storage medium, in other words, it may be a non-transitory storage medium.

Landscapes

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

Abstract

La présente invention se rapporte au domaine technique du stockage de données, et concerne un procédé et un appareil d'accès à des données, et un support de stockage. Dans la présente invention, selon l'adresse d'un espace logique d'entreprise transporté dans une première demande d'écriture de données envoyée par un client, un dispositif de stockage peut déterminer un disque dur cible et l'adresse d'un espace logique de disque dur correspondant à l'espace logique d'entreprise, puis écrire des données cibles dans le disque dur cible selon l'adresse de l'espace logique de disque dur. C'est-à-dire que le client accède au dispositif de stockage au moyen de l'adresse de l'espace logique d'entreprise. À l'intérieur du dispositif de stockage, l'adresse de l'espace logique d'entreprise est convertie en l'adresse de l'espace logique de disque dur. Le disque dur écrit des données selon l'adresse de l'espace logique de disque dur. Par conséquent, seule une conversion d'adresse est nécessaire, ce qui économise du temps système et améliore également l'efficacité de lecture et d'écriture de données.
PCT/CN2020/119935 2019-11-08 2020-10-09 Procédé et appareil d'accès à des données, et support de stockage WO2021088587A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20885263.2A EP4044039A4 (fr) 2019-11-08 2020-10-09 Procédé et appareil d'accès à des données, et support de stockage
US17/662,267 US12050539B2 (en) 2019-11-08 2022-05-06 Data access method and apparatus and storage medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201911085845 2019-11-08
CN201911085845.4 2019-11-08
CN202010117250.9A CN112783804B (zh) 2019-11-08 2020-02-25 数据访问方法、装置及存储介质
CN202010117250.9 2020-02-25

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/662,267 Continuation US12050539B2 (en) 2019-11-08 2022-05-06 Data access method and apparatus and storage medium

Publications (1)

Publication Number Publication Date
WO2021088587A1 true WO2021088587A1 (fr) 2021-05-14

Family

ID=75749982

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/119935 WO2021088587A1 (fr) 2019-11-08 2020-10-09 Procédé et appareil d'accès à des données, et support de stockage

Country Status (4)

Country Link
US (1) US12050539B2 (fr)
EP (1) EP4044039A4 (fr)
CN (1) CN112783804B (fr)
WO (1) WO2021088587A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277640B (zh) * 2022-07-29 2023-11-24 迈普通信技术股份有限公司 数据处理方法、装置、智能网卡及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540524A (zh) * 2003-10-31 2004-10-27 清华大学 存储区域网络中分布式虚拟化存储的方法
CN101604227A (zh) * 2009-07-17 2009-12-16 杭州华三通信技术有限公司 数据存储的方法及设备
CN101976223A (zh) * 2010-10-09 2011-02-16 成都市华为赛门铁克科技有限公司 自动精简配置方法和装置
US20120079229A1 (en) * 2010-09-28 2012-03-29 Craig Jensen Data storage optimization for a virtual platform
CN104820575A (zh) * 2015-04-27 2015-08-05 西北工业大学 实现存储系统自动精简的方法
CN110018966A (zh) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 一种存储器、存储系统、主机及数据操作、垃圾回收方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675769A (en) * 1995-02-23 1997-10-07 Powerquest Corporation Method for manipulating disk partitions
JP3500972B2 (ja) * 1998-07-24 2004-02-23 日本電気株式会社 ディスク共有型クラスタシステムにおける論理ファイル管理システム
US20060069848A1 (en) * 2004-09-30 2006-03-30 Nalawadi Rajeev K Flash emulation using hard disk
US8918619B2 (en) * 2009-10-04 2014-12-23 Infinidat Ltd. Virtualized storage system and method of operating thereof
WO2012109679A2 (fr) * 2011-02-11 2012-08-16 Fusion-Io, Inc. Appareil, système et procédé de gestion de mémoire virtuelle directe d'application
US9251086B2 (en) * 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
JPWO2015076354A1 (ja) * 2013-11-22 2017-03-16 日本電気株式会社 ストレージ装置と方法並びにプログラム
CN103744864A (zh) * 2013-12-17 2014-04-23 记忆科技(深圳)有限公司 缓存数据读写的方法、系统及其固态硬盘
KR102252419B1 (ko) * 2014-01-09 2021-05-14 한국전자통신연구원 플래시 메모리 장치를 위한 주소변환 시스템 및 그 방법
CA2881206A1 (fr) * 2014-02-07 2015-08-07 Andrew WARFIELD Procedes, systemes et dispositifs relatifs aux interfaces de stockage de donnees pour gerer des espaces d'adresse dans des dispositifs de stockage de donnees
CN104156178A (zh) * 2014-08-11 2014-11-19 四川九成信息技术有限公司 一种嵌入式终端数据访问方法
US10423339B2 (en) * 2015-02-02 2019-09-24 Western Digital Technologies, Inc. Logical block address mapping for hard disk drives
CN106354431A (zh) * 2016-08-26 2017-01-25 浪潮(北京)电子信息产业有限公司 一种数据存储方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540524A (zh) * 2003-10-31 2004-10-27 清华大学 存储区域网络中分布式虚拟化存储的方法
CN101604227A (zh) * 2009-07-17 2009-12-16 杭州华三通信技术有限公司 数据存储的方法及设备
US20120079229A1 (en) * 2010-09-28 2012-03-29 Craig Jensen Data storage optimization for a virtual platform
CN101976223A (zh) * 2010-10-09 2011-02-16 成都市华为赛门铁克科技有限公司 自动精简配置方法和装置
CN104820575A (zh) * 2015-04-27 2015-08-05 西北工业大学 实现存储系统自动精简的方法
CN110018966A (zh) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 一种存储器、存储系统、主机及数据操作、垃圾回收方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4044039A4

Also Published As

Publication number Publication date
CN112783804B (zh) 2024-10-18
CN112783804A (zh) 2021-05-11
EP4044039A4 (fr) 2022-12-07
US20220261354A1 (en) 2022-08-18
US12050539B2 (en) 2024-07-30
EP4044039A1 (fr) 2022-08-17

Similar Documents

Publication Publication Date Title
US10705974B2 (en) Data processing method and NVME storage device
US10380078B1 (en) Dynamic storage tiering in a virtual environment
US10871920B2 (en) Storage device and computer system
US20180165014A1 (en) Array controller, solid state disk, and method for controlling solid state disk to write data
US10037161B2 (en) Tiered storage system, storage controller, and method for deduplication and storage tiering
US8924659B2 (en) Performance improvement in flash memory accesses
US11886729B2 (en) Data storage method and apparatus
US20160026566A1 (en) Logical and physical block addressing for efficiently storing data
US9182912B2 (en) Method to allow storage cache acceleration when the slow tier is on independent controller
US20220164316A1 (en) Deduplication method and apparatus
WO2019062202A1 (fr) Procédé, disque dur et support de stockage pour exécution d'instruction de fonctionnement de disque dur
US11709596B2 (en) Method, device and computer program for data storage
WO2021238260A1 (fr) Procédé et appareil de mise en mémoire cache de données de prélecture, dispositif, et support de stockage
TWI722392B (zh) 記憶裝置
WO2021088587A1 (fr) Procédé et appareil d'accès à des données, et support de stockage
CN113918087B (zh) 存储装置以及用于管理存储装置中的命名空间的方法
US11474750B2 (en) Storage control apparatus and storage medium
US10891239B2 (en) Method and system for operating NAND flash physical space to extend memory capacity
US20240020014A1 (en) Method for Writing Data to Solid-State Drive
WO2023029417A1 (fr) Procédé et dispositif de stockage de données
WO2022021280A1 (fr) Contrôleur de stockage, procédé de contrôle de stockage, disque à semi-conducteurs et système de stockage
KR20180133730A (ko) 스토리지 시스템 및 이의 동작 방법
CN110209343B (zh) 数据存储方法、装置、服务器及存储介质
WO2023236629A1 (fr) Procédé et appareil d'accès aux données, et système de stockage et support de stockage
CN118778881A (zh) 一种存储系统、存储器及相关方法

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: 20885263

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020885263

Country of ref document: EP

Effective date: 20220511

NENP Non-entry into the national phase

Ref country code: DE