WO2023029417A1 - Procédé et dispositif de stockage de données - Google Patents

Procédé et dispositif de stockage de données Download PDF

Info

Publication number
WO2023029417A1
WO2023029417A1 PCT/CN2022/078858 CN2022078858W WO2023029417A1 WO 2023029417 A1 WO2023029417 A1 WO 2023029417A1 CN 2022078858 W CN2022078858 W CN 2022078858W WO 2023029417 A1 WO2023029417 A1 WO 2023029417A1
Authority
WO
WIPO (PCT)
Prior art keywords
physical address
data
address
virtual address
storage space
Prior art date
Application number
PCT/CN2022/078858
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 华为技术有限公司
Publication of WO2023029417A1 publication Critical patent/WO2023029417A1/fr

Links

Images

Classifications

    • 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
    • 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

Definitions

  • the embodiments of the present application relate to the field of storage technologies, and in particular, to a data storage method and device.
  • the second data when writing the second data into a certain hard disk, if the second data is exactly the same as the first data stored in the hard disk, the second data will not be repeatedly written in the hard disk, but will be repeated.
  • the data deletion technology points the virtual address corresponding to the second data to the physical address corresponding to the first data, thereby avoiding repeated writing of the same data in the hard disk and saving the storage space of the hard disk.
  • the data (that is, the first data) may be read according to the pointing relationship between the virtual address corresponding to the second data and the physical address corresponding to the first data.
  • An existing data storage method based on deduplication technology is: in the process of writing data to the hard disk, if the data corresponding to multiple virtual addresses is the same (for example, all are data A), then the multiple virtual addresses All point to the physical address of the storage block storing data A, and record the physical address, the virtual address corresponding to the physical address, and the number of virtual addresses in the reverse mapping table (the number of the virtual addresses is called a reference count).
  • Embodiments of the present application provide a data storage method and device capable of efficiently obtaining reference counts and virtual address sets corresponding to storage blocks.
  • an embodiment of the present application provides a data storage method, the method including: determining a first physical address corresponding to the first data, where the first physical address is used to indicate at least one storage block in the first storage space; The above-mentioned first data is written into the first physical address; the mapping from the above-mentioned first virtual address to the above-mentioned first physical address is recorded in the forward mapping table, wherein the virtual address of the first data is the first virtual address, and the above-mentioned first physical address The address includes the identifier of the first storage space and the offset address of the first physical address in the first storage space; then, record the first physical address in the meta-information table corresponding to the first storage space, and record the first physical address in the meta-information table A first virtual address corresponding to the first physical address is recorded.
  • the first data is written into the first physical address indicating at least one storage block in the first storage space, and the first data is recorded in the meta information table corresponding to the first storage space.
  • a virtual address (such as a first virtual address) corresponding to a physical address, wherein the first physical address includes an identifier of the first storage space and an offset address of the first physical address in the first storage space; so when it is necessary to obtain the first
  • obtain the meta-information table corresponding to the first storage space according to the identifier of the first storage space in the first physical address and then query the first physical address in the meta-information table according to the first physical address
  • the virtual address corresponding to the physical address and count the number of virtual addresses.
  • the above data storage method further includes: determining whether the second data is the same as the above first data, and the second data is data to be written; if the second data is the same as the above first data Next, record the mapping from the second virtual address to the first physical address in the forward mapping table; and record the second virtual address corresponding to the first physical address in the meta information table.
  • the data storage device when the data storage device writes data to the hard disk, it first determines whether the data is already written data, and if the data is already written data, then the A mapping relationship is established between the virtual address and the physical address corresponding to the data, and the data is not repeatedly written on the hard disk, thus saving the storage space of the hard disk.
  • the meta information table includes a virtual address set corresponding to the first physical address; the first virtual address and the second virtual address are added to the virtual address set.
  • the data storage method further includes: when performing garbage collection on the first storage space, writing the first data in the first physical address into the second physical address; Record the second physical address in the meta information table corresponding to the second storage space of the second physical address, and add the above-mentioned first virtual address and second virtual address to the virtual address set corresponding to the second physical address; record the second virtual address in the forward mapping table A mapping from the first virtual address to a second physical address and a mapping from the second virtual address to the second physical address; then, deleting the first data in the first physical address; and deleting the meta information of the first storage space The first physical address in the table and the first virtual address and the second virtual address in the virtual address set corresponding to the first physical address; and delete the mapping from the first virtual address to the first physical address in the forward mapping table and A mapping of the second virtual address to the first physical address.
  • the storage space in the embodiment of the present application may be a persistent log (Plog) storage space, and the persistent log storage space supports additional writing way to write data.
  • Plog persistent log
  • the embodiment of the present application provides a data storage device, including: a determination module, a data writing module, and an information recording module.
  • the determination module is used to determine the first physical address corresponding to the first data, and the first physical address is used to indicate at least one storage block in the first storage space;
  • the write data module is used to write the first data into the first physical address ;
  • the information recording module is used to record the mapping from the first virtual address to the first physical address in the forward mapping table, wherein the virtual address of the first data is the first virtual address, and the first physical address includes the identifier of the first storage space and the offset address of the first physical address in the first storage space;
  • the information recording module is also used to record the first physical address in the meta-information table corresponding to the first storage space, and record the first physical address in the meta-information table The corresponding first virtual address.
  • the above determination module is also used to determine whether the second data is the same as the first data, and the second data is data to be written; the information recording module is also used to compare the second data with the first In the case of the same data, record the mapping from the second virtual address to the first physical address in the forward mapping table; the information recording module is also used to record the second virtual address corresponding to the first physical address in the meta information table. address.
  • the meta information table includes a virtual address set corresponding to the first physical address; the first virtual address and the second virtual address are added to the virtual address set.
  • the data storage device further includes: a deletion module.
  • the above-mentioned writing data module is also used for writing the first data in the first physical address into the second physical address when performing garbage collection on the first storage space; Record the second physical address in the meta information table corresponding to the second storage space, and add the first virtual address and the second virtual address in the virtual address set corresponding to the second physical address;
  • the information recording module is also used for forward mapping table Record the mapping from the first virtual address to the second physical address and the mapping from the second virtual address to the second physical address;
  • the deletion module is used to delete the first data in the first physical address, and delete the meta information of the first storage space The first physical address in the table and the first virtual address and the second virtual address in the virtual address set corresponding to the first physical address; and delete the mapping from the first virtual address to the first physical address and the first virtual address in the forward mapping table Mapping of the second virtual address to the first physical address.
  • the embodiment of the present application provides a storage device, wherein the memory is coupled to the processor; the memory is used to store computer program codes, wherein the computer program codes include computer instructions; when the computer instructions are executed by the processor, the storage
  • the device executes the method described in any one of the first aspect and possible implementations thereof.
  • an embodiment of the present application provides a computer storage medium, including computer instructions.
  • the computing device is made to execute the above-mentioned method described in any one of the first aspect and its possible implementations. method.
  • the embodiments of the present application provide a computer program product, which, when run on a computer, causes the computer to execute the method described in any one of the above first aspect and possible implementations thereof.
  • FIG. 1 is a first schematic diagram of the relationship between a virtual address and a physical address provided by an embodiment of the present application
  • FIG. 2 is a first schematic diagram of a storage system provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram 1 of a data storage method provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a hard disk structure provided by an embodiment of the present application.
  • Fig. 5a is a schematic diagram 1 of writing data provided by the embodiment of the present application.
  • Figure 5b is a second schematic diagram of writing data provided by the embodiment of the present application.
  • Fig. 5c is a schematic diagram 1 of garbage collection provided by the embodiment of the present application.
  • Fig. 5d is a schematic diagram 1 of data deletion provided by the embodiment of the present application.
  • FIG. 6 is a second schematic diagram of a data storage method provided by an embodiment of the present application.
  • FIG. 7 is a third schematic diagram of a data storage method provided by the embodiment of the present application.
  • Fig. 8 is a schematic diagram 4 of a data storage method provided by the embodiment of the present application.
  • FIG. 9 is a first schematic diagram of a data storage device provided by an embodiment of the present application.
  • FIG. 10 is a second schematic diagram of a data storage device provided by an embodiment of the present application.
  • first and second in the description and claims of the embodiments of the present application are used to distinguish different objects, rather than to describe a specific order of objects.
  • first physical address and the second physical address are used to distinguish different physical addresses, rather than describing a specific sequence of physical addresses.
  • words such as “exemplary” or “for example” are used as examples, illustrations or illustrations. Any embodiment or design scheme described as “exemplary” or “for example” in the embodiments of the present application shall not be interpreted as being more preferred or more advantageous than other embodiments or design schemes. Rather, the use of words such as “exemplary” or “such as” is intended to present related concepts in a concrete manner.
  • multiple processing units refer to two or more processing units; multiple systems refer to two or more systems.
  • the existing data storage method based on de-duplication technology is: when writing data in the hard disk (hereinafter the data to be written is referred to as target data A), the processor in the data storage system judges whether the hard disk has Storing the target data A, if there is no target data A in the hard disk, storing the target data A in the storage block corresponding to the physical address 1, and pointing the virtual address 1 corresponding to the target data to the physical address 1, At the same time, the mapping relationship between virtual address 1 and physical address 1 is recorded in the forward mapping table, specifically as shown in the first row of Table 1 below, wherein the forward mapping table includes at least fields: virtual address and physical address, and "virtual address The "address” field is used to store the virtual address corresponding to the specific data, and the "physical address” field is used to store the physical address pointed to by the virtual address; and the number of virtual addresses pointing to the physical address 1 is recorded in the reverse mapping table (abbreviated as reference count) and a virtual address set pointing to the physical address 1, the virtual address
  • the target data A is migrated from physical address 1 to physical address 2; at the same time, the reference count and virtual address set pointing to the physical address 1 are queried in the reverse mapping table, and The reference count and virtual address set corresponding to physical address 1 are updated to the reference count and virtual address set corresponding to physical address 2, and then, the virtual address in the virtual address set corresponding to physical address 1 in the reverse mapping table is redirected to the physical address 2. Finally, update the mapping relationship between the virtual address and physical address 1 to the mapping relationship between the virtual address and physical address 2 in the forward mapping table.
  • the embodiment of the present application provides a data storage method and device, specifically implemented as: determining the first physical address corresponding to the first data address, the first physical address is used to indicate at least one storage block in the first storage space; writing the first data into the first physical address; recording the mapping from the first virtual address to the first physical address in the forward mapping table, The virtual address of the first data is the first virtual address, and the first physical address includes the identifier of the first storage space and the offset address of the first physical address in the first storage space; in the meta information table corresponding to the first storage space The first physical address is recorded, and the first virtual address corresponding to the first physical address is recorded in the meta information table.
  • the reference count and virtual address set corresponding to the storage block can be obtained efficiently.
  • the data storage method and device provided by the embodiments of the present application can be applied to the storage system shown in FIG. 2, and the storage system can be a storage system of a solid-state hard disk.
  • the data storage device includes a main controller (referred to as: main control) 201 and a plurality of flash memory chips 205, wherein the main control 201 includes: a processor 202, a host interface 204, and n (n>0) channel controllers 203.
  • the above-mentioned master control 201 is used to issue executable commands to multiple flash memory chips 205 , so as to realize the process of reading or writing data on the flash memory chips 205 .
  • the above-mentioned host interface 204 is used to communicate with the host, and then receive the command request sent by the host, and forward the command request to the processor 202, wherein the above-mentioned host is not limited to any device such as a server, a personal computer, or an array controller
  • the processor 202 sends executable commands to the plurality of flash memory particles 205 according to the command request forwarded by the host interface 204, and the processor 202 includes one or more CPUs.
  • the CPU may be a single-core CPU (single-CPU) or a multi-core CPU (multi-CPU).
  • the channel controller 203 is used to carry the executable commands issued by the processor 202 to the plurality of chips 205 .
  • the storage device further includes a bus 206, and the processor 202, the channel controller 203, the host interface 204, and the flash memory chip 205 are generally connected to each other through the bus 206, or are connected to each other in other ways.
  • the host interface 204 in the main control 201 forwards the data writing request to the processor 202 in the main control 201, and the processor 202 writes the request according to the data and passes
  • the channel controller 203 issues a data writing instruction to the flash memory chip 205 , and the writing of data into the flash memory chip 205 has been implemented.
  • the device for executing the data storage method provided by the embodiment of the present application may be the processor in the main controller in the storage system shown in FIG. 2 above. As shown in FIG. 3 , the method may include S310-S340.
  • the data storage device determines a first physical address corresponding to the first data.
  • first data is data not yet stored in the hard disk.
  • the above-mentioned first physical address is used to indicate at least one storage block in the first storage space, wherein the first storage space is to divide the hard disk into blocks with larger granularity, as shown in FIG. 4 , A hard disk is divided into 3 storage spaces, each row is a storage space, and each storage space includes N storage blocks, where N is greater than or equal to 2 and less than the total number of storage blocks in the hard disk.
  • the above-mentioned flash memory chip 205 in FIG. 2 is composed of multiple storage spaces, or the above-mentioned multiple flash memory chips 205 constitute one storage space, and the size division method of the storage space is not limited in this application.
  • the storage space may be a persistent log storage space (persistent log, Plog), where the Plog supports writing data in an append writing manner.
  • Plog persistent log storage space
  • the hard disk is divided into multiple Plogs, and each of the above storage spaces is equivalent to one Plog.
  • the above-mentioned first physical address may be calculated by the data storage device according to the first data, or may be randomly allocated by the memory, which is not limited in this embodiment of the present application.
  • the data storage device writes the first data into the first physical address.
  • first data may be stored on one storage block in the first storage space, or may be stored on multiple storage blocks in the first storage space, depending on the size of the first data and availability of the storage blocks. The amount of storage is determined.
  • the above-mentioned first physical address includes the identifier of the first storage space and the offset address of the first physical address in the first storage space (that is, the storage block used to store the first data is in the first storage space The corresponding offset address in the space).
  • the first physical address is Plog id+offset, wherein, Plog id is the id corresponding to the Plog on the hard disk, and offset is used in the Plog
  • the offset address of the storage block storing the first data For example, the 100th storage block in the Plog is used to store the first data. At this time, the offset is 100.
  • the above-mentioned writing of the first data into at least one storage block in the first storage space indicated by the first physical address may specifically be: determine the first storage block according to the unique identifier (i.e. Plog id) of the first storage space in the first physical address A storage space, then, according to the offset address corresponding to the storage block in the first storage space in the first physical address, determine the storage block storing the first data; finally, write the first data into the storage block.
  • the unique identifier i.e. Plog id
  • the data storage device finds the Plog id according to the first physical address The Plog is 3, and then the 100th storage block is found from left to right in the Plog, and finally, the first data is written into the 100th storage block in the Plog.
  • the above-mentioned first physical address may also be a specific address on the hard disk consisting of multiple hexadecimal characters, and the storage location corresponding to the address is one or more storage blocks in the first storage space
  • the data storage device records the mapping from the first virtual address to the first physical address in the forward mapping table.
  • the above-mentioned first virtual address is the virtual address corresponding to the first data
  • the above-mentioned forward mapping table is used to record the mapping relationship between the virtual address and the physical address, wherein the virtual address points to the physical address, and the records of the forward mapping table can refer to Contents of Table 1 above.
  • a physical address has a mapping relationship with at least one virtual address, that is to say, in the forward mapping table, the relationship between the physical address and the virtual address can be one-to-many, or it can be One-to-one relationship.
  • the data storage device reads data corresponding to a certain virtual address
  • the physical address corresponding to the virtual address is searched in the forward mapping table, and then the data is read from the storage block corresponding to the physical address. data.
  • the data storage device records the first physical address in the meta information table corresponding to the first storage space, and records the first virtual address corresponding to the first physical address in the meta information table.
  • the above-mentioned meta information table is in one-to-one correspondence with the first storage space, that is, one storage space corresponds to one meta information table, and the identifier of the meta information table is the identifier of the storage space corresponding to the meta information table, that is to say According to the identification of the storage space, the meta information table corresponding to the storage space can be obtained; the above meta information table is used to record the physical address and the virtual address set pointing to the physical address, wherein the physical address and the virtual address set pointing to the physical address can be It is stored in the form of a key-value pair (key-value).
  • the key is used to record the physical address
  • the value corresponding to the key is used to record all virtual addresses pointing to the physical address.
  • virtual address 1 points to physical address 1
  • virtual address 10 points to physical address 10, wherein both physical address 1 and physical address 10 belong to the first storage space
  • the meta information table corresponding to the first storage space is as follows As shown in Table 5, physical address 1 corresponds to virtual address 1, and physical address 10 corresponds to virtual address 10.
  • the present application does not limit the execution sequence of S330 and S340 above, that is, the data storage device may execute S330 first and then S340, and the data storage device may also execute S340 first and then S330.
  • the first data is stored in at least one storage block in the first storage space indicated by the first physical address, and the first physical address is recorded in the meta information table corresponding to the first storage space. address and the virtual address corresponding to the first physical address, wherein the first physical address includes the identifier of the first storage space and the offset address of the storage block storing the first data in the first storage space; so when it is necessary to obtain the first
  • obtain the meta information table corresponding to the first storage space according to the identifier of the first storage space in the first physical address and then query the first physical address in the meta information table according to the first physical address address, and count the number of virtual addresses in the virtual address set to obtain the number of virtual addresses pointing to the first physical address.
  • the data storage method provided by the embodiment of the present application further includes: S610 -S630.
  • the data storage device determines whether the second data is the same as the first data.
  • the above-mentioned method for determining whether the second data is the same as the first data may be as follows: the data storage device calculates the fingerprint information corresponding to the second data (for example: the hash value corresponding to the second data) according to the second data, and then converts the second data to The corresponding fingerprint information is compared with the fingerprint information corresponding to the first data, if the fingerprint information corresponding to the second data is completely the same as the fingerprint information corresponding to the first data, then the second data is the same as the first data; If the fingerprint information is not completely the same as the fingerprint information corresponding to the first data, then the second data is different from the first data.
  • the data storage device calculates the fingerprint information corresponding to the second data (for example: the hash value corresponding to the second data) according to the second data, and then converts the second data to The corresponding fingerprint information is compared with the fingerprint information corresponding to the first data, if the fingerprint information corresponding to the second data is completely the same as the fingerprint information corresponding to the first data, then the second data
  • the method for determining whether the second data is the same as the first data is not limited.
  • the data storage device records the mapping from the second virtual address to the first physical address in the forward mapping table.
  • the second virtual address is a virtual address corresponding to the second data, and the second virtual address points to the first physical address.
  • the data storage device records the second virtual address corresponding to the first physical address in the meta information table.
  • the aforementioned recording of the second virtual address corresponding to the first physical address in the meta information table may be adding the second virtual address to the set of virtual addresses corresponding to the first physical address in the meta information table.
  • virtual address 1 points to physical address 1
  • virtual address 2 also points to physical address 1
  • virtual address 10 points to physical address 10, wherein both physical address 1 and physical address 10 belong to the first storage space, thus, the first
  • the meta information table corresponding to a storage space may be shown in Table 6 below, where physical address 1 corresponds to virtual address 1 and virtual address 2, and physical address 10 corresponds to virtual address 10.
  • the data storage device when the data storage device writes data to the hard disk, it is determined whether the data is written data, and if the data is written data, the virtual address corresponding to the data is compared with The physical address corresponding to the data establishes a mapping relationship, and the data is not repeatedly written on the hard disk, so that the storage space of the hard disk can be saved.
  • the data storage method provided in the embodiment of the present application is based on FIG. 6 , and as shown in FIG. 7 , the data storage method further includes: S710-S770.
  • the data storage device When performing garbage collection on the first storage space, the data storage device writes the first data in the first physical address into the second physical address.
  • At least one storage block in the second storage space indicated by the above-mentioned second physical address wherein the second physical address includes an identifier of the second storage space and an offset address of the second physical address in the second storage space;
  • first storage space and the second storage space are different storage spaces, that is to say, the above-mentioned second storage space is other storage spaces on the hard disk except the first storage space, which is not limited in this application. .
  • the method for writing the first data in the first physical address into at least one storage block in the second storage space indicated by the second physical address is as follows: according to the storage space in the first physical address The identification information determines the storage space corresponding to the first physical address (that is, the first storage space), and then, in the first storage space, determines the storage block storing the first data according to the offset address in the first physical address, and in the first storage space reading the first data from the storage block; finally, writing the read first data into at least one storage block in the second storage space indicated by the second physical address.
  • the above-mentioned method of writing the first data into the second physical address is similar to the method of writing the first data into the first physical address in S320 , for details, refer to the above detailed description, and details will not be repeated here.
  • the data storage device records the second physical address in the meta information table corresponding to the second storage space where the second physical address is located, and adds the first virtual address and the second virtual address to a virtual address set corresponding to the second physical address.
  • the meta information table corresponding to the first storage space is obtained according to the first physical address, and then the virtual address set pointing to the first physical address is obtained in the meta information table according to the first physical address, and then, in A method for recording the second physical address in the meta information table of the second storage space, and adding the first virtual address and the second virtual address to the virtual address set corresponding to the second physical address.
  • the data storage device records the mapping from the first virtual address to the second physical address in the forward mapping table.
  • the above method of recording the first virtual address and the second physical address in the forward mapping table can be similar to the method of recording the first virtual address and the first physical address in the forward mapping table in S330 above, and specifically refer to the above-mentioned embodiment Detailed description will not be repeated here.
  • the data storage device records the mapping from the second virtual address to the second physical address in the forward mapping table.
  • the data storage device deletes the first data in the first physical address.
  • the data storage device deletes the first virtual address and the second virtual address in the virtual address set corresponding to the first physical address in the meta information table of the first storage space and the first physical address.
  • deletion of the first virtual address and the second virtual address in the virtual address set corresponding to the first physical address means deleting all virtual addresses in the virtual address set corresponding to the first physical address.
  • the data storage device deletes the mapping from the first virtual address to the first physical address and the mapping from the second virtual address to the first physical address in the forward mapping table.
  • the meta information table corresponding to the second storage space is shown in Table 7 below, where virtual address 1 and virtual address 2 are respectively mapped to physical address 2 relation.
  • the data storage method provided by the embodiment of the present application further includes: S810-S830.
  • the data storage device deletes the mapping from the first virtual address to the first physical address and the mapping from the second virtual address to the first physical address in the forward mapping table.
  • the data storage device deletes the first virtual address and the second virtual address in the virtual address set corresponding to the first physical address in the meta information table of the first storage space and the first physical address.
  • the above method of deleting the first physical address in the meta information table of the first storage space and the first virtual address and the second virtual address in the virtual address set corresponding to the first physical address is the same as the method of deleting the first storage space in S760 above.
  • the first physical address in the meta-information table is similar to the first virtual address and the second virtual address in the virtual address set corresponding to the first physical address. For details, please refer to the above detailed description, which will not be repeated here.
  • the data storage device deletes the first data in the first physical address.
  • the embodiment of the present application provides a data storage device, the data storage device is used to execute the steps in the above data storage method, and the embodiment of the present application can divide the functional modules of the data storage device according to the above method example, For example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the above-mentioned integrated modules can be implemented in the form of hardware or in the form of software function modules.
  • the division of modules in the embodiment of this application is schematic, and is only a logical function division, and there may be other division methods in actual implementation.
  • FIG. 9 shows a possible structural diagram of the data storage device involved in the above embodiment.
  • the data storage device includes: a determination module 901 , a data writing module 902 and an information recording module 903 .
  • the determining module 901 is configured to determine the first physical address corresponding to the first data, for example, execute step S310 in the above method embodiment.
  • the data writing module 902 is configured to write the first data into the first physical address, for example, execute step S320 in the above method embodiment.
  • the information recording module 903 is configured to record the mapping from the first virtual address to the first physical address in the forward mapping table, for example, execute step S330 in the above method embodiment.
  • the information recording module 903 is further configured to record the first physical address in the meta information table corresponding to the first storage space, and record the first virtual address corresponding to the first physical address in the meta information table corresponding to the first storage space, for example, execute Step S340 in the above method embodiment.
  • the determination module 901 is configured to determine whether the second data is the same as the first data, for example, execute step S610 in the above method embodiment.
  • the above information recording module 903 is also configured to record the mapping from the second virtual address to the first physical address in the forward mapping table when the second data is the same as the first data, for example, perform step S620 in the above method embodiment .
  • the above information recording module 903 is configured to record the second virtual address corresponding to the first physical address in the meta information table, for example, execute step S630 in the above method embodiment.
  • the embodiment of the present application provides a data storage device that further includes: a deletion module 904;
  • the data writing module 902 is further configured to write the first data in the first physical address into the second physical address when performing garbage collection on the first storage space, for example, execute step S710 in the above method embodiment.
  • the above-mentioned information recording module 903 is further configured to record the second physical address in the meta information table corresponding to the second storage space where the second physical address is located, and add the first virtual address and the first virtual address to the virtual address set corresponding to the second physical address.
  • Two virtual addresses for example, execute step S720 in the above method embodiment.
  • the above-mentioned information recording module 903 is also configured to record the mapping from the first virtual address to the second physical address and the mapping from the second virtual address to the second physical address in the forward mapping table, for example, execute steps S730, Step S740.
  • the deletion module 904 is configured to delete the first data in the first physical address, for example, execute step S750 in the above method embodiment.
  • the deletion module 904 is further configured to delete the first physical address in the meta information table of the first storage space and the first virtual address and the second virtual address in the virtual address set corresponding to the first physical address, for example, perform Step S760.
  • the deletion module 904 is also used to delete the mapping from the first virtual address to the first physical address and the mapping from the second virtual address to the first physical address in the forward mapping table, for example, execute step S770 and step S810 in the above method embodiment .
  • Each module of the above-mentioned data storage device can also be used to perform other actions in the above-mentioned method embodiment. All relevant content of each step involved in the above-mentioned method embodiment can be referred to the function description of the corresponding functional module, and will not be repeated here.
  • the data storage device includes: a processing module 1001 and a communication module 1002 .
  • the processing module 1001 is used to control and manage the actions of the data storage device, for example, to execute the steps performed by the determination module 901, the write data module 902, the information recording module 903 and the deletion module 904, and/or to execute the techniques described herein other processes.
  • the communication module 1002 is used to support the interaction between the data storage device and other devices. As shown in FIG. data and second data etc.
  • the processing module 1001 may be a processor or a controller, for example, the processor 202 in the main controller 201 in FIG. 2 .
  • the communication module 1002 may be a transceiver, an RF circuit, or a communication interface, etc., such as the host interface 204 in the main controller 201 and/or the channel controller 203 in the main controller 201 in FIG. 2 .
  • the storage module 1003 may be a memory, such as the memory chip 205 in FIG. 2 .
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • a software program it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on the computer, all or part of the processes or functions according to the embodiments of the present application will be generated.
  • the computer can be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored on or transmitted from one computer-readable disk to another computer-readable disk, for example, the computer instructions may be transmitted from a website site, computer, server, or data center by wire (such as Coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (such as infrared, wireless, microwave, etc.) to another website site, computer, server or data center.
  • the computer-readable hard disk 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 available medium may be a magnetic medium (for example, a floppy disk, a magnetic disk, a magnetic tape), an optical medium (for example, a digital video disc (digital video disc, DVD)), or a semiconductor medium (for example, a solid state drive (solid state drives, SSD)), etc. .
  • a magnetic medium for example, a floppy disk, a magnetic disk, a magnetic tape
  • an optical medium for example, a digital video disc (digital video disc, DVD)
  • a semiconductor medium for example, a solid state drive (solid state drives, SSD)
  • the disclosed system, device and method can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be Incorporation may either be integrated into another system, or some features may be omitted, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to realize the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable hard disk.
  • the essence of the technical solution of this application or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a hard disk.
  • a computer device which may be a personal computer, a server, or a network device, etc.
  • a processor execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned hard disks include: various media capable of storing program codes such as flash memory, mobile hard disk, read-only memory, random access memory, magnetic disk or optical disk.

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

Procédé de stockage de données consistant à : déterminer une première adresse physique correspondant à des premières données, la première adresse physique étant utilisée pour indiquer au moins un bloc de stockage d'un premier espace de stockage ; écrire les premières données dans la première adresse physique ; enregistrer le mappage d'une première adresse virtuelle sur la première adresse physique dans une table de mappage direct, une adresse virtuelle des premières données étant la première adresse virtuelle, et la première adresse physique comprenant un identifiant du premier espace de stockage et une adresse de décalage de la première adresse physique dans le premier espace de stockage ; et enregistrer la première adresse physique dans une table de méta-informations correspondant au premier espace de stockage, et enregistrer la première adresse virtuelle correspondant à la première adresse physique dans la table de méta-informations. Un dispositif de stockage de données est également divulgué.
PCT/CN2022/078858 2021-08-31 2022-03-02 Procédé et dispositif de stockage de données WO2023029417A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111017305.XA CN115729846A (zh) 2021-08-31 2021-08-31 一种数据存储方法及装置
CN202111017305.X 2021-08-31

Publications (1)

Publication Number Publication Date
WO2023029417A1 true WO2023029417A1 (fr) 2023-03-09

Family

ID=85291861

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/078858 WO2023029417A1 (fr) 2021-08-31 2022-03-02 Procédé et dispositif de stockage de données

Country Status (2)

Country Link
CN (1) CN115729846A (fr)
WO (1) WO2023029417A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102084330A (zh) * 2008-04-06 2011-06-01 弗森-艾奥公司 用于有效地映射虚拟地址和物理地址的装置、系统和方法
US20130346792A1 (en) * 2012-06-22 2013-12-26 International Business Machines Corporation Resolving memory faults with reduced processing impact
CN110399310A (zh) * 2018-04-18 2019-11-01 杭州宏杉科技股份有限公司 一种存储空间的回收方法及装置
CN111367856A (zh) * 2020-02-28 2020-07-03 杭州宏杉科技股份有限公司 数据复制方法、装置、电子设备及机器可读存储介质
CN113094003A (zh) * 2021-05-12 2021-07-09 湖南国科微电子股份有限公司 数据处理方法、数据存储装置及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102084330A (zh) * 2008-04-06 2011-06-01 弗森-艾奥公司 用于有效地映射虚拟地址和物理地址的装置、系统和方法
US20130346792A1 (en) * 2012-06-22 2013-12-26 International Business Machines Corporation Resolving memory faults with reduced processing impact
CN110399310A (zh) * 2018-04-18 2019-11-01 杭州宏杉科技股份有限公司 一种存储空间的回收方法及装置
CN111367856A (zh) * 2020-02-28 2020-07-03 杭州宏杉科技股份有限公司 数据复制方法、装置、电子设备及机器可读存储介质
CN113094003A (zh) * 2021-05-12 2021-07-09 湖南国科微电子股份有限公司 数据处理方法、数据存储装置及电子设备

Also Published As

Publication number Publication date
CN115729846A (zh) 2023-03-03

Similar Documents

Publication Publication Date Title
US11989160B2 (en) Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device
US10289304B2 (en) Physical address management in solid state memory by tracking pending reads therefrom
US9021189B2 (en) System and method for performing efficient processing of data stored in a storage node
US9092321B2 (en) System and method for performing efficient searches and queries in a storage node
US7970919B1 (en) Apparatus and system for object-based storage solid-state drive and method for configuring same
US20150262632A1 (en) Grouping storage ports based on distance
US9182912B2 (en) Method to allow storage cache acceleration when the slow tier is on independent controller
US10037161B2 (en) Tiered storage system, storage controller, and method for deduplication and storage tiering
US7127583B2 (en) Disk control system and control method of disk control system
WO2017025039A1 (fr) Procédé et dispositif d'accès aux données orientés mémoire flash
US9430492B1 (en) Efficient scavenging of data and metadata file system blocks
WO2023035646A1 (fr) Procédé et appareil d'extension de mémoire et dispositif associé
WO2018171296A1 (fr) Procédé et contrôleur de fusion de fichiers
US20220164316A1 (en) Deduplication method and apparatus
CN111158602A (zh) 数据分层存储方法、读取方法、存储主机及存储系统
WO2023065654A1 (fr) Procédé d'écriture de données et dispositif associé
US11947419B2 (en) Storage device with data deduplication, operation method of storage device, and operation method of storage server
US20220164145A1 (en) Apparatus and system for object-based storage solid-state device
US10346077B2 (en) Region-integrated data deduplication
US20240086113A1 (en) Synchronous write method and device, storage system and electronic device
US20210224002A1 (en) Storage control apparatus and storage medium
WO2023029417A1 (fr) Procédé et dispositif de stockage de données
WO2022257685A1 (fr) Système de stockage, carte d'interface réseau, processeur et procédé, appareil et système d'accès à des données
WO2023050856A1 (fr) Procédé de traitement de données et système de stockage
WO2016029481A1 (fr) Procédé et dispositif pour isoler des régions de disque

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE