WO2021212337A1 - 一种数据访问方法及装置 - Google Patents

一种数据访问方法及装置 Download PDF

Info

Publication number
WO2021212337A1
WO2021212337A1 PCT/CN2020/085969 CN2020085969W WO2021212337A1 WO 2021212337 A1 WO2021212337 A1 WO 2021212337A1 CN 2020085969 W CN2020085969 W CN 2020085969W WO 2021212337 A1 WO2021212337 A1 WO 2021212337A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
processing device
data
storage device
attribute information
Prior art date
Application number
PCT/CN2020/085969
Other languages
English (en)
French (fr)
Inventor
苏杰
林财成
裘来彬
徐伟
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2020/085969 priority Critical patent/WO2021212337A1/zh
Priority to CN202080093314.4A priority patent/CN115004166A/zh
Priority to EP20932790.7A priority patent/EP4123470A4/en
Publication of WO2021212337A1 publication Critical patent/WO2021212337A1/zh
Priority to US17/969,889 priority patent/US20230045119A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Definitions

  • the present invention mainly relates to the technical field of file management, in particular to a data access method and device.
  • the LFS (Log Structured File Systems) based on the OPU (Out Place Update) mechanism can always locate the updated file in the header of the LFS log, which can facilitate the management and update of the file by LFS.
  • the OPU mechanism can facilitate the processing device to write the updated files into the storage device in the order in which they are in the LFS log, without determining the original location of the updated file in the storage device, thereby improving the write performance of the processing device.
  • the file in the storage device can only be accessed when the corresponding index information exists in the processing device.
  • the index information of the file is composed of the index address corresponding to each piece of file data in the file, and only in the processing device When there is an index address corresponding to each file data, all file data in the file can be accessed.
  • the processing device When the processing device updates the file in the storage device, it needs to first read the file from the storage to the corresponding memory of the processing device, and then update the file data in the file, for example, write new file data in the file , Use the new file data to overwrite the original file data in the file, etc., and finally rewrite the updated file to the storage device.
  • the updated file is compared with the file before the update.
  • the writing location has changed. Therefore, using the index information corresponding to the file before updating will not be able to access the updated file. It is necessary to establish the index information corresponding to the updated file in the processing device, so that it can be based on the index information. To access the updated files.
  • the terminal where the processing device and the storage device are located is powered off during the process of establishing index information, it may cause the index address of some file data in the file to be not established at the time of power failure, and then this part of the file data cannot be accessed. .
  • the timeliness of establishing the index information corresponding to the updated file can be ensured by increasing the speed of establishing the index address corresponding to the file data in the processing device in a short time.
  • this solution will cause the problem of a large amount of index information created by the processing device in a short period of time, which will greatly increase the amount of data written by the processing device in a short period of time. Decrease the performance of the processing equipment.
  • the present application provides a data access method and device to ensure that after the processing device is powered on, the file data that has been written into the storage device when the power is off and the corresponding index address is not established in the processing device can be accessed.
  • the embodiment of the present invention provides a data access method, which is applied to a processing device.
  • the processing device manages a storage device based on a log structure file system LFS.
  • the method includes: the processing device writes a target file based on a remote update OPU mechanism In the storage device; the processing device writes the file attribute information corresponding to the target file in the storage device into the out-of-band data OOB of the storage device, so as to utilize the storage in the storage device after an abnormal power failure
  • the file attribute information in the out-of-band data OOB restores access to the target file.
  • the file attribute corresponding to the target file can be written into the out-of-band data OOB, so that after an abnormal power failure, the file attribute information can be used to restore the target file Access to prevent the loss of target files.
  • the processing device after the processing device is powered on again, it obtains the file attribute information corresponding to the target file from the out-of-band data OOB of the storage device, wherein the file attribute information includes the The writing position information and position offset information of each piece of file data in the target file, the processing device uses the writing position information and the position offset information in the file attribute information to establish each piece in the processing device An index address corresponding to the file data, so that the processing device uses the index address to access the file data written in the storage device.
  • the processing device can use the file attribute information stored in the out-of-band data to establish the index address corresponding to the file data that has been written to the storage device, and use these index addresses to access the written file data, thereby recovering The effect of the file data that has been written without the need to write the file data twice.
  • the file attribute information acquisition command is sent to the storage device one or more times.
  • the file attribute information obtaining command includes obtaining file attribute information corresponding to one or more target files.
  • the file attribute information acquisition command is a read command.
  • the obtaining the file attribute information corresponding to the target file from the out-of-band data OOB of the storage device includes: obtaining the data corresponding to the target file from the out-of-band data OOB of the storage device The file attribute information of the file, wherein the target file data is the file data in the target file that has been written into the storage device.
  • the target file data can be accurately determined, so that the processing device can send a file attribute information acquisition command for the target file data, so that the acquired file attribute information is more targeted.
  • the processing device using the writing position information and the position offset information in the file attribute information to establish an index address corresponding to each piece of file data on the processing device includes: The processing device acquires unwritten file data stored in the processing device, where the unwritten file data is file data in the target file that is not written to the storage device when the processing device is abnormally powered off; The processing device determines target file data based on all file data in the target file and the unwritten file data, where the target file data is the target file that has been written when the processing device is abnormally powered off File data stored in the storage device; the processing device determines, in the file attribute information, the writing position information and position offset information corresponding to the target file data; the processing device determines the writing position information and position offset information corresponding to the target file data; The writing position information and the position offset information corresponding to the data establish a corresponding index address in the processing device.
  • the corresponding index address can be established for the target file data in all the received file data, so that the established index address is more targeted, and at the same time, the number of index addresses can be reduced, thereby reducing the amount of index address creation required Overall time.
  • the embodiment of the present invention provides a data access method, which is applied to a storage device,
  • the storage device manages the internally stored target file through a processing device based on the log structure file system LFS, and the method includes: when the processing device writes the target file based on the off-site update OPU mechanism, the storage device transfers the target file to the target file.
  • the file is written into the storage medium, and the file attribute information of the target file is written into the out-of-band data OOB, so that after the processing device is abnormally powered off, the file attribute information is provided to the processing device, and all The processing device uses the file attribute information to restore access to the target file.
  • the storage device can send the file attribute information stored in the out-of-band data to the log structure file system after the terminal is powered on, so that the processing device can build index addresses, so that these index addresses can be used to access the files written in the storage device Data, thereby recovering the file data that has been written to the storage device, without the need to write the file data twice.
  • the file attribute information is sent to the processing device one or more times.
  • the file attribute information corresponding to one or more of the target files is sent to the processing device each time.
  • the amount of file attribute information that the storage device sends to the processing device each time can be adjusted according to actual needs.
  • the embodiment of the present invention provides a data access method, which is applied to a terminal, the processing device manages the storage device based on a log structure file system LFS, and the processing device writes a target file to the storage device based on a remote update OPU mechanism At this time, the terminal executes the corresponding data access method.
  • the embodiment of the present invention provides a processing device.
  • the processing device includes an I/O interface and a logic circuit.
  • the I/O interface is used for data exchange between the processing device and a storage device. Perform the corresponding method on the processing device.
  • the embodiment of the present invention provides a storage device.
  • the storage device includes a logic circuit, an I/O interface, a storage medium, and out-of-band data OOB, and the I/O interface is used to communicate between the storage device and the processing device.
  • the storage medium is used to store file data
  • the out-of-band data OOB is used to store file attribute information corresponding to the target file
  • the logic circuit is used to execute a corresponding method.
  • the embodiment of the present invention provides a terminal, the terminal includes a processing device and a storage device, the processing device manages the storage device based on a log structure file system LFS, and the processing device writes a target file based on a remote update OPU mechanism When the storage device is used, the terminal executes the corresponding method.
  • the embodiment of the present invention provides a data access device, which is applied to a processing device, the processing device manages a storage device based on a log structure file system LFS, and the processing device includes:
  • a processing unit configured to write the target file into the storage device based on the off-site update OPU mechanism
  • the processing unit is further configured to write the file attribute information corresponding to the target file in the storage device into the out-of-band data OOB of the storage device, so as to utilize the storage device in the storage device after an abnormal power failure.
  • the file attribute information in the external data OOB restores access to the target file.
  • the processing unit is further configured to obtain the file attribute information corresponding to the target file from the out-of-band data OOB of the storage device after the processing device is powered on again.
  • the file attribute information includes writing position information and position offset information of each piece of file data in the target file;
  • the processing unit is further configured to use the writing position information and position offset information in the file attribute information to establish an index address corresponding to each piece of file data in the processing device, so that the processing device can use The index address accesses file data that has been written in the storage device.
  • the processing device further includes a sending unit, configured to send the file attribute information acquisition command to the storage device one or more times.
  • the file attribute information obtaining command includes obtaining file attribute information corresponding to one or more of the target files.
  • the file attribute information acquisition command is a read command.
  • the processing unit is further configured to obtain file attribute information corresponding to the target file data from the out-of-band data OOB of the storage device, wherein the target file data is in the target file File data that has been written in the storage device.
  • the processing unit is further configured to obtain unwritten file data stored in the processing device, and the unwritten file data is that the target file is abnormally dropped in the processing device. File data not written into the storage device during power-up;
  • the processing unit is further configured to determine target file data based on all file data in the target file and the unwritten file data, where the target file data is the abnormal drop in the processing device in the target file File data that has been written into the storage device during power-up;
  • the processing unit is further configured to determine, in the file attribute information, writing position information and position offset information corresponding to the target file data;
  • the processing unit is further configured to establish a corresponding index address in the processing device according to the writing position information and the position offset information corresponding to the target file data.
  • the embodiment of the present invention also provides a data access device, which is applied to a storage device, and the storage device manages internally stored target files based on a log structure file system LFS through a processing device, and includes a processing unit, which is used in all
  • the processing device writes the target file based on the offsite update OPU mechanism
  • the storage device writes the target file into the storage medium, and writes the file attribute information of the target file into the out-of-band data OOB, so that the After the processing device is abnormally powered off, the file attribute information is provided to the processing device, and the processing device uses the file attribute information to restore access to the target file.
  • the storage device further includes a sending unit, configured to send the file attribute information to the processing device one or more times.
  • the sending unit is further configured to send one or more file attribute information corresponding to the target file to the processing device each time.
  • FIG. 1 is a schematic diagram of a processing device writing an updated file to a storage device according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a processing device writing an updated file to a storage device according to an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of a terminal provided by an embodiment of the present invention.
  • FIG. 4 is a flowchart of a data access method provided by an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of file attribute information provided by this embodiment.
  • FIG. 6 is a schematic diagram of a process of writing file attribute information into out-of-band data according to an embodiment of the present invention
  • FIG. 7 is a schematic diagram of the state of the file data in the processing device and the file data in the storage device when the terminal is powered off according to an embodiment of the present invention
  • FIG. 8 is a schematic diagram of another state of file data in the processing device and file data in the storage device when the terminal is powered off according to an embodiment of the present invention
  • FIG. 9 is a schematic diagram of a processing device according to file attribute information to establish an index address according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of a processing device accessing file data written in a storage device according to an embodiment of the present invention
  • FIG. 11 is a schematic diagram of a processing device accessing target data according to an index address according to an embodiment of the present invention.
  • the terminal uses a file system to manage the process of reading and writing files between the processing device and the storage device.
  • the file system acts on the side of the processing device so that the processing device completes the file reading between the processing device and the storage device based on the file system.
  • the processing equipment based on the file system to update the file is one of the important purposes of file management. Updating the file usually refers to writing new file data on the side of the processing device and modifying the file by overwriting. For the written file data, etc., in order to improve the performance of processing device update files, you can use the log structure file system to ensure that the updated file is always located in the log header of the processing device, so that the processing device can write the updated file first Into the storage device.
  • Fig. 1 is a schematic diagram of a processing device writing an updated file to a storage device according to an embodiment of the present invention.
  • the updated files are sorted in the processing device as File A*, File D*, File C*, File B*, but their positions in the storage device before being updated are File A, File B, File C, File D. It can be seen that the above writing process is equivalent to a random writing process. The writing process needs to first spend time locating the location of the updated file in the storage device, which will increase the file writing time accordingly, thereby reducing the writing performance of the processing device.
  • a log structure file system based on the OPU mechanism can be used to make the processing device write the updated files to the storage device in sequence according to the order of the updated files in the log, and at the same time, update The following file corresponds to the new location in the storage device.
  • Fig. 2 is a schematic diagram of a processing device writing an updated file to a storage device according to an embodiment of the present invention. As shown in Fig.
  • the updated files are sorted in the processing device as File A*, File D*, File C*, File B*, their positions in the storage device before being updated are File A, File B, File C, File D, but the updated files are written in the new position order, that is, File A*, File D*, File C*, File B*.
  • the processing device can convert the random writing process of the file into a sequential writing process, and the sequential writing process can effectively reduce the time to find the location of the updated file in the storage device, thereby improving the processing equipment Write performance.
  • Processing devices usually use write, direct I/O, sync, Fsync, Fdata sync and other write commands to write updated files to the storage device. Based on the attributes of the write command, The write command of Fdata sync needs to ensure that the file that executes the write command is placed on the disk before the next file can be written. At the same time, for more complex or important files, it is also necessary to ensure that the file is placed on the disk.
  • File placement means that after the processing device writes the file into the storage device, index information corresponding to the file is established in the processing device, so that the processing device can use the index information to access the corresponding file.
  • a file is usually composed of at least one piece of file data. Accordingly, each piece of file data corresponds to an index address in the LFS. Therefore, the index information of a file should be composed of index addresses corresponding to all file data in the file. Correspondingly, only when the index address corresponding to all file data is established in the processing device, the file is considered to be placed in the disk.
  • the terminal may be powered off.
  • part of the file data that has been written to the storage device has not yet established the corresponding index address in the processing device, so the processing device will also The inability to access this part of the file data is equivalent to losing this part of the file data.
  • FIG. 3 is a schematic structural diagram of a terminal provided by an embodiment of the present invention.
  • the terminal 100 uses a log structure file system based on the OPU mechanism.
  • the terminal 100 includes a processing device 200 and a storage device 300.
  • the processing device 200 may include: at least one logic circuit and at least one I/O interface; and the storage device 300 may include: at least One logic circuit, at least one storage medium, at least one out-of-band data and at least one I/O interface.
  • the processing device 200 includes a logic circuit 210 and an I/O interface 220, wherein the logic circuit 210 and the I/O interface 220 are coupled and connected.
  • the logic circuit 210 can call program instructions stored in the processing device to enable the processing device 200 to execute related methods, such as generating file attribute information acquisition instructions, establishing index addresses, etc.; the I/O interface 220 is used to establish a connection with the storage device 300 Data transmission link, such as transmission of commands, transmission of file attribute information, etc.
  • the storage device 300 includes a logic circuit 310, a storage medium 320, and an I/O interface 330, where the logic circuit 310, the storage medium 320, and the I/O interface 330 are coupled and connected.
  • the storage medium 320 stores files written by the processing device 200.
  • the storage medium 320 contains out of band (OOB) 340.
  • OOB out of band
  • the out of band data 340 refers to an independent channel used to transmit important data for storage
  • the file attribute information sent by the processing device 200 where the out-of-band data 340 is a non-volatile storage medium, and the data stored in the out-of-band data 340 will not be lost after a power failure, so that after the terminal is powered on again, the processing device 200 Only then can the file attribute information be obtained from the storage device 300 to establish the index address; the logic circuit 310 can call the program instructions in the storage device 300 to make the storage device 300 execute related methods, such as obtaining file attribute information and file attribute information from the out-of-band data 340 Determine target file data, etc.; the I/O interface 330 is used to establish a data transmission link with the processing device 200, such as transmitting commands, transmitting file attribute information, and so on.
  • the terminal may be a mobile phone, a computer, a server, and other devices that have the functions of writing data, transmitting data, and storing data.
  • the logic circuit 210 of the processing device 200 may be one or more processing units, such as a system on a chip (SoC), a central processing unit (CPU), and a microcontroller ( microcontroller, MCU), memory controller, etc.
  • SoC system on a chip
  • CPU central processing unit
  • MCU microcontroller
  • the different processing units may be independent devices or integrated in one or more processors.
  • the logic circuit 310 of the storage device 300 may be one or more processing units, such as SoC, CPU, microcontroller MCU, storage controller, and so on.
  • the different processing units may be independent devices or integrated in one or more processors.
  • the logic circuit 210 and the logic circuit 310 may be the same processor or different processors.
  • the processing device 200 may also include one or more storage units, for example, may include volatile memory (volatile memory), such as dynamic random access memory (DRAM), static random access memory Take memory (static random access memory, SRAM), etc.; it may also include non-volatile memory (NVM), such as read-only memory (ROM), flash memory (flash memory), and so on.
  • volatile memory volatile memory
  • NVM non-volatile memory
  • different storage units may be independent devices, and may also be integrated or packaged in one or more processors or communication interfaces to become a part of the processors or communication interfaces.
  • the storage medium 320 of the storage device 300 may be one or more storage units. It should be noted that the storage medium 320 at least includes NVM, such as: Universal Flash Storage (UFS), Solid State Disk (SSD) In this way, the storage device 300 can better save the files written by the processing device 200.
  • UFS Universal Flash Storage
  • SSD Solid State Disk
  • the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the terminal.
  • the terminal may include more or fewer components than those shown in the figure, or combine certain components, or split certain components, or arrange different components.
  • the illustrated components can be implemented in hardware, software, or a combination of software and hardware.
  • FIG. 4 is a flowchart of a data access method provided by an embodiment of the present invention. As shown in FIG. 4, the method includes:
  • the processing device sends a file attribute information acquisition command to the storage device.
  • FIG. 5 is a schematic diagram of a file attribute information provided by this embodiment.
  • File A* includes file data data 0, data 1, data 2, data 3 ...Data n
  • each piece of file data data corresponds to a piece of write information node info, which is used to record the writing position of the corresponding file data in the storage device 300.
  • the file attribute information is contained in File A* Composition of written information corresponding to all file data.
  • the processing device 200 can send file attribute information to the storage device 300 before sending the target file to the storage device 300 or synchronously to ensure that when the terminal is powered off, the storage device 300 must exist and the written file data Corresponding write information.
  • the processing device 200 also needs to send a write command to the storage device 300 so that the storage device 300 executes the action of writing the target file.
  • the storage device 300 needs to write the file attribute information into the out-of-band data 340 , So as to ensure that these file attribute information will not be lost after the terminal 100 is powered off, and can continue to be used by the processing device 200.
  • the processing device 200 may divide the target file and the file attribute information into multiple times.
  • the information and data write commands are sent to the storage device 300.
  • the processing device 200 sends the target file and file attribute information to the storage device 300 for the first time, and the processing device 200 sends the data write command to the storage device 300 for the second time.
  • the processing device 200 can carry it in one write command at the same time.
  • the target file and file attribute information thereby improving the utilization rate of a data transmission process between the processing device 200 and the storage device 300.
  • FIG. 6 is a schematic diagram of a process of writing file attribute information into out-of-band data according to an embodiment of the present invention. As shown in FIG. 6, the writing information corresponding to each piece of file data will be written into one out-of-band data. There is no difference between these out-of-band data. File data can be written into different out-of-band data, or multiple pieces of file data can be written into the same out-of-band data.
  • FIG. 7 is a schematic diagram of the state of the file data in the processing device and the file data in the storage device when the terminal is powered off according to an embodiment of the present invention. As shown in FIG.
  • the processing device 200 includes File data data 3...data not yet written into the storage device 300, data 0, data 1, and data 2 have been written in the storage device 300, and no corresponding data 0, data 1, data 2 has been created in the processing device 200 Index address. At this time, the processing device 200 cannot access data 0, data 1, and data 2.
  • the processing device 200 establishes an index address corresponding to the file data that has been written into the storage device 300 according to a preset period, then after the terminal 100 is powered off, there will be some files that have been written into the storage device 300 The data has not established a corresponding index address in the processing device 200.
  • FIG. 8 is another schematic diagram of the state of the file data in the processing device and the file data in the storage device when the terminal is powered off according to an embodiment of the present invention, as shown in FIG. 8.
  • the processing device 200 includes file data data 3...data n that has not yet been written to the storage device 300, and data 0, data 1, and data 2 have been written in the storage device 300. Among them, data 0 has been created in the processing device 200.
  • the index address is i_addr[0]. At this time, the processing device 200 can use i_addr[0] to access data 0.
  • the processing device 200 In order for the processing device 200 to access the written file data, the processing device 200 needs to establish an index address corresponding to the written file data after the terminal 100 is powered on again, because it can be used to establish the writing of the index address The information has been written into the out-of-band data of the storage device 300. Therefore, the processing device 200 needs to send a file attribute information acquisition command to the storage device 300 to obtain the written information corresponding to each piece of file data in the target file File A*.
  • the processing device 200 when the terminal 100 is powered off, the processing device 200 writes at least one target file to the storage device 300. In this way, after the terminal 100 is powered on again, the processing device 200 needs to obtain file data corresponding to all target files. Create an index address.
  • index addresses for the case of establishing index addresses for multiple target files at the same time, if there are fewer data transmission threads between the processing device 200 and the storage device 300, or the file attribute information corresponding to each target file has a larger volume, you can Each file attribute information acquisition command carries only the file attribute information of one target file or an instruction to acquire the file attribute information of a smaller number of target files, so as to balance the data transmission process between the processing device 200 and the storage device 300 and improve Data transmission efficiency; if there are many data transmission threads between the processing device 200 and the storage device 300, or the file attribute information corresponding to each target file has a small volume, the acquisition command can be carried in each file attribute information acquisition command. Instructions for the file attribute information of a large number of target files or the file attribute information of
  • the processing device 200 can send an instruction to obtain the file attribute information of all target files by sending a file attribute information acquisition command once, or by sending file attribute information multiple times.
  • the acquisition command, and the file attribute information acquisition command sent each time carries an instruction to acquire the file attribute information of a part of the target file.
  • the file attribute information corresponding to a target file can be split into multiple sub-file attribute information. In this way, the processing device 200 can store the file attribute information in each file.
  • the attribute information obtaining command corresponds to obtaining the attribute information of a sub-file, and obtains all the file attribute information of a target file by sending the file attribute information multiple times.
  • the file attribute acquisition command is a read command.
  • Using the read command can effectively prevent the processing device 200 from modifying the data in the storage device 300 when reading the file attribute information in the storage device 300, so as to ensure The data of the processing device 200 and the storage device 300 are safe.
  • the storage device receives a file attribute information acquisition command sent by the processing device.
  • the storage device 300 receives the file attribute information acquisition command sent by the processing device 200, and feeds back corresponding file attribute information according to the file attribute information acquisition command.
  • the storage device obtains corresponding file attribute information from the out-of-band data according to the file attribute information obtaining command.
  • the storage device 300 needs to obtain the target file name and other signs carried in the command according to the file attribute information, and obtain it from the out-of-band data Corresponding file attribute information.
  • the storage device 300 obtains the corresponding part of the file attribute information according to the number of lines and variable names in the command according to each piece of file attribute information.
  • the storage device sends the file attribute information to the processing device.
  • the storage device 300 sends the file attribute information to the processing device 200 according to the file attribute information acquisition command sent by the processing device 200.
  • the storage device 300 after receiving the file attribute information sent by the processing device 200, the storage device 300 sends the file attribute information to the processing device 200 in a manner suitable for actual needs. For example, the storage device 300 may send the file attribute information of one or more target files to the processing device 200 at a time. Wherein, if there are fewer data transmission lines between the storage device 300 and the processing device 200, or the file attribute information of each target file is large, the storage device 300 may send one or a small number of target files to the processing device 200 at a time.
  • File attribute information to balance the data transmission process between the processing device 200 and the storage device 300 and improve the data transmission efficiency; if there are many data transmission lines between the storage device 300 and the processing device 200, or the file of each target file If the size of the attribute information is small, the storage device 300 can send a larger number or all of the file attribute information of the target file to the processing device 200 at one time, so as to improve the utilization rate of a data transmission process.
  • the storage device 300 may send the file attribute information corresponding to the target file to the processing device 200 multiple times to reduce the amount of file attribute information corresponding to the target file.
  • the time of the second transmission enables the processing device 200 to establish the corresponding index address according to the received partial file attribute information while receiving the partial file attribute information of the next transmission, thereby shortening the total time for the processing device 200 to establish the index address.
  • the processing device receives file attribute information corresponding to the target file sent by the storage device.
  • the file attribute information includes at least the file node information of the target file and the offset information of the file data in the target file in the storage device 300.
  • the processing device 200 may determine the target file corresponding to the file data according to the file node information, and at the same time, determine the change in the writing position of the file data in the storage device 300 before the file data and the target file are updated according to the offset information, thereby determining the target file The writing position of the file data in the storage device 300 after the update.
  • the file attribute information may also include the writing time of the target file, and the processing device 200 may determine different versions of the same target file according to the writing time of the target file, and then establish corresponding index addresses for the target files of different versions.
  • the file attribute information may also include other information used to determine the writing location of the target file.
  • the processing device establishes a corresponding index address in the processing device according to the written information in the file attribute information.
  • FIG. 9 is a schematic diagram of a processing device according to an embodiment of the present invention that establishes an index address according to file attribute information. As shown in FIG. 9, the processing device 200 obtains each piece of file data data0 and data in the file attribute information of the target file File A*.
  • the processing device 200 can continue to write the file data data 3...data n in File A* to the storage device 300.
  • the processing device 200 can directly use the established index address to access File data data 3...data n without waiting for data 3...data n to be written before establishing an index address. In this way, the processing device 200 can effectively shorten the writing of the target file to the storage device 300 and realize the total number of target files that can be accessed. duration.
  • the processing device 200 when the terminal 100 shown in FIG. 8 is powered off, the processing device 200 has already established an index address for the partial file data data 0 that has been written into the storage device 300. At this time, the processing device 200 is based on the file attribute of File A*.
  • the two index addresses need to be distinguished For example, you can replace the previously created index address with the index address created later, or set the index limit for the processing device 200, that is, for the same file data, use the newly created index address for access, or use other methods to access the index address Make a distinction.
  • FIG. 10 is a schematic diagram of a processing device accessing file data written in a storage device according to an embodiment of the present invention. As shown in FIG. 10, the processing device 200 can use i_addr[0], i_addr[1], i_addr[2] Corresponding to access data 0, data 1, data 2.
  • the processing device 200 can use the file attribute information stored in the out-of-band data 340 of the storage device 300 to establish corresponding index addresses, so as to use these index addresses to access the written
  • the file data of the storage device 300 has the effect of restoring the file data that has been written into the storage device 300 without having to repeatedly write the file data.
  • the second embodiment provides a data access method and device.
  • the difference from the first embodiment is that the processing device 200 sending a file attribute information acquisition command to the storage device 300 also includes the following process:
  • S102 Determine the target file data according to all the file data in the target file and the unwritten file data
  • the processing device 200 obtains all the file attribute information corresponding to the target file from the storage device 300, which is likely to cause a large amount of data to be transmitted at the same time, which not only takes a long time, but also easily causes transmission. In addition, if the processing device 200 does not need to continue to write unwritten file data to the storage device 300, there will be a large amount of invalid information in the acquired file attribute information, and these invalid information will also occupy the memory of the processing device 200 at the same time.
  • the target file File A* all file data includes data 0, data 1, data 2, data 3...data n, as shown in Figures 7 and 8, unwritten file data includes data 3...data n,
  • the target file data is data 0, data 1, and data 2.
  • the processing device 200 may only generate the file attribute information acquisition command for acquiring the write information of data 0, data 1, and data 2. Accordingly, the file attribute information fed back by the storage device 300 is determined by the corresponding data 0, data 1, and data 2 Write information composition.
  • the file data whose corresponding index addresses have been established in the processing device 200 can be excluded from the target file data, such as data 0.
  • the target file data are data 1 and data 2, and the processing device 200 only needs to generate file attribute information acquisition commands for data 1 and data 2.
  • FIG. 11 is a schematic diagram of a processing device accessing target data according to an index address according to an embodiment of the present invention. As shown in FIG. 11, the processing device 200 only establishes index addresses i_addr[0], i_addr[1] corresponding to the target file data. , I_addr[2], and use these index addresses to access the target file data data 0, data 1, data 2.
  • the third embodiment provides a data access method and device.
  • the difference from the first embodiment is that the processing device 200 builds an index address according to the file attribute information further includes the following process:
  • S202 Determine the target file data according to all the file data in the target file and the unwritten file data
  • S203 Determine writing position information and position offset information corresponding to the target file data in the file attribute information
  • S204 Establish a corresponding index address in the processing device according to the writing position information and the position offset information corresponding to the target file data.
  • the processing device 200 will create an index based on the file attribute information Address, it is necessary to establish an index address including the file data that has been written into the storage device 300 and the file data that has not yet been written into the storage device 300. Therefore, the processing device 200 establishes an index address corresponding to the file that has not been written into the storage device 300.
  • the index address of the data has no effect for the processing device 200 to access the file data that has been written in the storage device 300.
  • the processing device 200 may not use these index addresses in a short time, or the processing device 200 may not continue writing. These file data not written into the storage device 300, then the processing device 200 will waste time and resources for establishing the index address corresponding to this part of the file data.
  • the target file data for which the index address needs to be established may be determined first. For example, as shown in Figures 7 and 8, for the target file File A*, all file data includes data 0, data 1, data 2, data 3...data n, and unwritten file data includes data 3...data n, the target file The data are data 0, data 1, and data 2. In this way, the processing device 200 can select the write information that is paired with data 0, data 1, and data 2 from the file attribute information, and then establish the data 0, data 1, and data 2 based on the written information. The index address corresponding to data 1, data 2 is sufficient.
  • the file data whose corresponding index addresses have been established in the processing device 200 can be excluded from the target file data, such as data 0.
  • the target file data is data 1 and data 2
  • the processing device 200 only needs to select the writing information corresponding to data 1 and data 2 from the file attribute information.
  • the process of the processing device 200 accessing the target data according to the established index address may refer to FIG. 11, which will not be repeated here.

Abstract

本发明提供了一种数据访问方法,应用于处理设备,所述处理设备基于日志结构文件系统LFS管理存储设备,其特征在于,所述处理设备基于异地更新OPU机制将目标文件写入所述存储设备中;所述处理设备将所述目标文件在所述存储设备中对应的文件属性信息写入所述存储设备的带外数据OOB中,以在异常掉电后利用存储于所述带外数据OOB中的文件属性信息恢复对所述目标文件的访问。这样,处理设备在存储设备中写入目标文件时,可以通过将与目标文件对应的文件属性写入带外数据OOB中,从而在异常掉电之后,可以利用所述文件属性信息恢复对目标文件的访问,防止目标文件的丢失。

Description

一种数据访问方法及装置 技术领域
本发明主要涉及文件管理技术领域,尤其涉及一种数据访问方法及装置。
背景技术
基于OPU(Out Place Update,异地更新)机制的LFS(Log Structured File Systems,日志结构文件系统)可以将更新的文件始终位于LFS的日志头部,这样可以方便LFS对文件的管理和更新,同时,OPU机制可以方便处理设备将更新后的文件按照其在LFS日志里的顺序写入存储设备,无需确定更新后的文件在存储设备中对应的原有位置,从而提高处理设备的写入性能。存储设备中的文件只有在处理设备中存在对应的索引信息时,该文件才能够被访问,具体地,文件的索引信息由该文件内各条文件数据对应的索引地址组成,只有在处理设备中存在与每条文件数据对应的索引地址时,该文件内的全部文件数据才能够被访问。
处理设备更新存储设备中的文件时,需要首先将该文件从存储器中读取到处理设备对应的内存中,然后对该文件中的文件数据进行更新,例如在该文件中写入新的文件数据、利用新的文件数据覆盖该文件中的原有文件数据等,最后将更新后的文件重新写入存储设备中,此时,更新后的文件与更新前的文件相比,在存储设备中的写入位置发生了变化,因此,利用该文件更新前对应的索引信息将无法访问到更新后的文件,需要在处理设备中建立与更新后的文件对应的索引信息,这样才能够根据该索引信息来访问更新后的文件。如果在建立索引信息的过程中出现处理设备与存储设备所在终端掉电的情况,可能会导致文件中部分文件数据的索引地址在掉电时还未建立,那么这部分文件数据也就无法被访问。
为了解决上述终端掉电带来的文件数据无法被访问的问题,可以通过提高短时间内在处理设备中建立文件数据对应索引地址的速度,来保证建立更新后的文件对应的索引信息的及时性。但是,对于文件更新频繁或者需要更新的文件的数量庞大时,这种解决方式会造成处理设备短时间内大量建立索引信息的问题,即会大大增加处理设备在短时间内的数据写入量,令处理设备的性能降低。
发明内容
本申请提供了一种数据访问方法及装置,保证在处理设备恢复上电之后,可以访问掉电时已写入存存储设备,且未在处理设备中建立对应索引地址的文件数据。
本发明实施例提供了一种数据访问方法,应用于处理设备,所述处理设备基于日志结构文件系统LFS管理存储设备,所述方法包括:所述处理设备基于异地更新OPU机制将目标文件写入所述存储设备中;所述处理设备将与所述目标文件在所述存储设备中对应的文件属性信息写入所述存储设备的带外数据OOB中,以在异常掉电后利用存储于所述带外数据OOB中的文件属性信息恢复对所述目标文件的访问。
这样,处理设备在存储设备中写入目标文件时,可以通过将与目标文件对应的文 件属性写入带外数据OOB中,从而在异常掉电之后,可以利用所述文件属性信息恢复对目标文件的访问,防止目标文件的丢失。
在一种实现方式中,所述处理设备在重新上电之后,从所述存储设备的带外数据OOB中获取与所述目标文件对应的文件属性信息,其中,所述文件属性信息包括所述目标文件中各条文件数据的写入位置信息和位置偏移信息,所述处理设备利用所述文件属性信息中的所述写入位置信息和位置偏移信息在所述处理设备中建立各条文件数据对应的索引地址,以使所述处理设备使用所述索引地址访问已写入所述存储设备中的文件数据。
这样,处理设备可以利用存储于带外数据中的文件属性信息来建立与已写入存储设备的文件数据对应的索引地址,从而利用这些索引地址来访问已写入的文件数据,从而起到恢复已写入的文件数据的效果,而无需二次写入这些文件数据。
在一种实现方式中,向所述存储设备发送一次或者多次所述文件属性信息获取命令。
这样,可以根据实际需求调整处理设备发送文件属性信息获取命令的次数。
在一种实现方式中,所述文件属性信息获取命令包含获取一个或者多个目标文件对应的文件属性信息。
这样,可以根据实际需求调整在一条获取命令中携带获取目标的数量。
在一种实现方式中,所述文件属性信息获取命令为读命令。
这样,可以有效防止处理设备在获取文件属性信息的过程中破坏存储于带外数据中的数据。
在一种实现方式中,所述从所述存储设备的带外数据OOB中获取与所述目标文件对应的文件属性信息包括:从所述存储设备的带外数据OOB中获取与目标文件数据对应的文件属性信息,其中,所述目标文件数据为所述目标文件内已写入所述存储设备中的文件数据。
这样,可以通过准确确定出目标文件数据,以使处理设备可以针对目标文件数据发送文件属性信息获取命令,令所获取的文件属性信息更具有针对性。
在一种实现方式中,所述处理设备利用所述文件属性信息中的所述写入位置信息和所述位置偏移信息在所述处理设备建立各条文件数据对应的索引地址包括:所述处理设备获取存储于所述处理设备内的未写入文件数据,所述未写入文件数据为所述目标文件中在所述处理设备异常掉电时未写入所述存储设备的文件数据;所述处理设备根据所述目标文件内的全部文件数据与所述未写入文件数据,确定目标文件数据,所述目标文件数据为所述目标文件中在所述处理设备异常掉电时已写入所述存储设备中的文件数据;所述处理设备在所述文件属性信息中确定与所述目标文件数据对应的写入位置信息和位置偏移信息;所述处理设备根据与所述目标文件数据对应的写入位置信息和位置偏移信息在所述处理设备内建立对应的索引地址。
这样,可以针对所接收的全部文件数据中的目标文件数据建立对应的索引地址,令所建立的索引地址更具有针对性,同时,可以减少建立索引地址的数量,进而减少建立索引地址所需要的整体时间。
本发明实施例提供了一种数据访问方法,应用于存储设备,
所述存储设备通过基于日志结构文件系统LFS的处理设备管理内部存储的目标文件,所述方法包括:在所述处理设备基于异地更新OPU机制写入目标文件时,所述存储设备将所述目标文件写入存储介质,并将所述目标文件的文件属性信息写入带外数据OOB中,以使在所述处理设备异常掉电后向所述处理设备提供所述文件属性信息,并使所述处理设备利用所述文件属性信息恢复对所述目标文件的访问。
这样,存储设备可以在终端恢复上电之后,向日志结构文件系统发送存储于带外数据中的文件属性信息,以供处理设备建立索引地址,从而使用这些索引地址访问已写入存储设备的文件数据,从而起到恢复已写入存储设备的文件数据,而无需二次写入这些文件数据。
在一种实现方式中,向所述处理设备发送一次或者多次所述文件属性信息。
这样,可以根据实际需求调整存储设备向处理设备发送文件属性信息的次数。
在一种实现方式中,每次向所述处理设备发送一个或者多个所述目标文件对应的文件属性信息。
这样,可以根据实际需求调整存储设备每次向处理设备发送的文件属性信息的数量。
本发明实施例提供了一种数据访问方法,应用于终端,所述处理设备基于日志结构文件系统LFS管理所述存储设备,所述处理设备基于异地更新OPU机制将目标文件写入所述存储设备时,所述终端执行相应的数据访问方法。
本发明实施例提供了一种处理设备,所述处理设备包括I/O接口和逻辑电路,所述I/O接口用于所述处理设备与存储设备之间的数据交换,所述逻辑电路用于所述处理设备执行相应的方法。
本发明实施例提供了一种存储设备,所述存储设备包括逻辑电路、I/O接口、存储介质和带外数据OOB,所述I/O接口用于所述存储设备与所述处理设备之间的数据交换,所述存储介质用于存储文件数据,所述带外数据OOB用于存储与所述目标文件对应的文件属性信息,所述逻辑电路用于执行相应的方法。
本发明实施例提供了一种终端,所述终端包括处理设备和存储设备,所述处理设备基于日志结构文件系统LFS管理所述存储设备,所述处理设备基于异地更新OPU机制将目标文件写入所述存储设备时,所述终端执行相应的方法。
本发明实施例提供了一种数据访问装置,应用于处理设备,所述处理设备基于日志结构文件系统LFS管理存储设备,所述处理设备包括:
处理单元,用于基于异地更新OPU机制将目标文件写入所述存储设备中;
所述处理单元,还用于将与所述目标文件在所述存储设备中对应的文件属性信息写入所述存储设备的带外数据OOB中,以在异常掉电后利用存储于所述带外数据OOB中的文件属性信息恢复对所述目标文件的访问。
在一种实现方式中,所述处理单元还用于所述处理设备在重新上电之后,从所述存储设备的带外数据OOB中获取与所述目标文件对应的文件属性信息,其中,所述文件属性信息包括所述目标文件中各条文件数据的写入位置信息和位置偏移信息;
所述处理单元,还用于利用所述文件属性信息中的所述写入位置信息和位置偏移信息在所述处理设备中建立各条文件数据对应的索引地址,以使所述处理设备使用所 述索引地址访问已写入所述存储设备中的文件数据。
在一种实现方式中,所述处理设备还包括发送单元,用于向所述存储设备发送一次或者多次所述文件属性信息获取命令。
在一种实现方式中,所述文件属性信息获取命令包含获取一个或者多个所述目标文件对应的文件属性信息。
在一种实现方式中,所述文件属性信息获取命令为读命令。
在一种实现方式中,所述处理单元,还用于从所述存储设备的带外数据OOB中获取与目标文件数据对应的文件属性信息,其中,所述目标文件数据为所述目标文件内已写入所述存储设备中的文件数据。
在一种实现方式中,所述处理单元,还用于获取存储于所述处理设备内的未写入文件数据,所述未写入文件数据为所述目标文件中在所述处理设备异常掉电时未写入所述存储设备的文件数据;
所述处理单元,还用于根据所述目标文件内的全部文件数据与所述未写入文件数据,确定目标文件数据,所述目标文件数据为所述目标文件中在所述处理设备异常掉电时已写入所述存储设备中的文件数据;
所述处理单元,还用于在所述文件属性信息中确定与所述目标文件数据对应的写入位置信息和位置偏移信息;
所述处理单元,还用于根据与所述目标文件数据对应的写入位置信息和位置偏移信息在所述处理设备内建立对应的索引地址。
本发明实施例还提供了一种数据访问装置,应用于存储设备,所述存储设备通过处理设备基于日志结构文件系统LFS管理内部存储的目标文件,包括处理单元,所述处理单元用于在所述处理设备基于异地更新OPU机制写入目标文件时,所述存储设备将所述目标文件写入存储介质,并将所述目标文件的文件属性信息写入带外数据OOB中,以使在所述处理设备异常掉电后向所述处理设备提供所述文件属性信息,并使所述处理设备利用所述文件属性信息恢复对所述目标文件的访问。
在一种实现方式中,所述存储设备还包括发送单元,用于向所述处理设备发送一次或者多次所述文件属性信息。
在一种实现方式中,所述发送单元,还用于每次向所述处理设备发送一个或者多个所述目标文件对应的文件属性信息。
附图说明
图1为本发明实施例提供的一种处理设备向存储设备写入更新后的文件的示意图;
图2为本发明实施例提供的一种处理设备向存储设备写入更新后的文件的示意图;
图3为本发明实施例提供的一种终端的结构示意图;
图4为本发明实施例提供的一种数据访问方法的流程图;
图5为本实施例提供的一种文件属性信息的示意图;
图6为本发明实施例提供的一种将文件属性信息写入带外数据的过程示意图;
图7为本发明实施例提供的一种终端掉电时处理设备中文件数据与存储设备中文件数据的状态示意图;
图8为本发明实施例提供的另一种终端掉电时处理设备中文件数据与存储设备中文件 数据的状态示意图;
图9为本发明实施例提供的一种处理设备按照文件属性信息建立索引地址的示意图;
图10为本发明实施例提供的一种处理设备访问已写入存储设备的文件数据的示意图;
图11为本发明实施例提供的一种处理设备按照索引地址访问目标数据的示意图。
具体实施方式
下面首先结合附图对本发明实施例的应用场景进行说明。
终端使用文件系统来管理处理设备与存储设备之间的文件读取与写入的过程,通常,文件系统作用于处理设备一侧,以使处理设备基于文件系统完成与存储设备之间的文件读取与写入的动作,其中,处理设备基于文件系统更新文件是文件管理的重要用途之一,更新文件通常是指在处理设备一侧写入新的文件数据、通过覆盖写的方式修改文件中已写入的文件数据等,为了提高处理设备更新文件的性能,可以使用日志结构文件系统,保证更新后的文件始终位于处理设备的日志头部,这样,处理设备可以优先将更新后的文件写入存储设备。具体地,处理设备会按照更新后的文件在日志中的排列顺序将各更新后的文件依次写入存储设备,但是,更新后的文件在处理设备中的排列顺序与其更新前在存储设备中的存储位置排序不一致。图1为本发明实施例提供的一种处理设备向存储设备写入更新后的文件的示意图,如图1所示,更新后的文件在处理设备中的排序为File A*、File D*、File C*、File B*,但是,其更新前在存储设备中的位置排序为File A、File B、File C、File D,可见,上述写入过程相当于一个随机写入过程,这种随机写入过程需要首先花费时间定位更新后的文件在存储设备中位置,也就会相应增加文件写入的时间,从而降低处理设备的写入性能。
为了提高处理设备的写入性能,可以采用基于OPU机制的日志结构文件系统,令处理设备按照更新后的文件在日志中的排列顺序,将各更新后的文件依次写入存储设备,同时,更新后的文件在存储设备中对应新的位置。图2为本发明实施例提供的一种处理设备向存储设备写入更新后的文件的示意图,如图2所示,更新后的文件在处理设备中的排序为File A*、File D*、File C*、File B*,其更新前在存储设备中的位置排序为File A、File B、File C、File D,但是,写入更新后的文件采用新的位置排序,即File A*、File D*、File C*、File B*。可见,基于OPU机制,处理设备可以将文件的随机写入过程转换为顺序写入过程,而顺序写入过程可以有效缩减查找更新后的文件在存储设备中写入位置的时间,从而提高处理设备的写入性能。
处理设备通常会使用write、direct I/O、sync、Fsync、Fdata sync等写入命令向存储设备中写入更新后的文件,基于写入命令的属性,对于类似于direct I/O、Fsync、Fdata sync的写入命令,需要确保执行写入命令的文件落盘,才可以写入下一个文件,同时,对于比较复杂或者比较重要的文件,也需要确保文件落盘。文件落盘是指处理设备将文件写入存储设备之后,在处理设备中建立与文件对应的索引信息,以使处理设备可以使用索引信息访问对应的文件。其中,一个文件通常由至少一条文件数据构成,相应的,每一条文件数据在LFS中都对应一个索引地址,因此,一个文件的索引信息应该由文件中全部文件数据对应的索引地址构成。相应的,只有在处理设备中建立全部文件数据对应的索引地址,才认为文件落盘。
但是,在处理设备建立索引地址的过程中,可能会出现终端掉电的情况,此时,部分 已写入存储设备的文件数据还未在处理设备中建立对应的索引地址,那么处理设备也就无法访问这部分文件数据,相当于丢失了这部分文件数据。
实施例一
为了解决上述问题,本发明实施例一提供了一种数据访问方法及装置。图3为本发明实施例提供的一种终端的结构示意图。
终端100使用基于OPU机制的日志结构文件系统,终端100包括处理设备200和存储设备300,其中,处理设备200可以包括:至少一个逻辑电路和至少一个I/O接口;存储设备300可以包括:至少一个逻辑电路,至少一个存储介质、至少一个带外数据和至少一个I/O接口。
作为示例地,如图3所示,处理设备200包括逻辑电路210和I/O接口220,其中,逻辑电路210和I/O接口220之间耦合连接。逻辑电路210可调用存储于处理设备中的程序指令,使处理设备200执行相关的方法,例如生成文件属性信息获取指令,建立索引地址等;I/O接口220用于与存储设备300之间建立数据传输链路,例如传输命令、传输文件属性信息等。
存储设备300包括逻辑电路310、存储介质320和I/O接口330,其中,逻辑电路310、存储介质320和I/O接口330之间耦合连接。存储介质320中存储有处理设备200写入的文件,同时,存储介质320包含带外数据(Out of Band,OOB)340,带外数据340是指用于传输重要数据的独立通道,用于存储处理设备200发送的文件属性信息,其中,带外数据340为非易失性存储介质,带外数据340中存储的数据在掉电后不会丢失,这样在终端重新上电之后,处理设备200才能够从存储设备300中获取文件属性信息以建立索引地址;逻辑电路310可调用存储设备300中的程序指令,使存储设备300执行相关的方法,例如从带外数据340中获取文件属性信息和判断目标文件数据等;I/O接口330用于与处理设备200之间建立数据传输链路,例如传输命令、传输文件属性信息等。
在本实施例中,终端可以为手机、计算机、服务器等具有写入数据、传输数据、存储数据功能的设备。在本发明实施例中,处理设备200的逻辑电路210可以为一个或者多个处理单元,例如系统芯片(system on a chip,SoC)、中央处理器(central processing unit,CPU)、微控制器(microcontroller,MCU)、存储控制器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。存储设备300的逻辑电路310可以为一个或者多个处理单元,例如SoC、CPU、微控制器MCU、存储控制器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。此外,逻辑电路210与逻辑电路310可以为同一个处理器,也可以为不同的处理器。
本发明实施例中,处理设备200还可以包括一个或者多个存储单元,例如可以包括易失性存储器(volatile memory),如:动态随机存取存储器(dynamic random access memory,DRAM)、静态随机存取存储器(static random access memory,SRAM)等;还可以包括非易失性存储器(non-volatile memory,NVM),如:只读存储器(read-only memory,ROM)、闪存(flash memory)等。其中,不同的存储单元可以是独立的器件,也可以集成或者封装在一个或者多个处理器或者通信接口中,成为处理器或者通信接口的一部分。存储设备300的存储介质320可以为一个或者多个存储单元,需要注意的是,存储介质320至少包括NVM,如:通用闪存存储(Universal Flash Storage, UFS)、固态硬盘(Solid state Disk,SSD)等,这样,存储设备300才能够更好地保存处理设备200写入的文件。
可以理解的是,本申请实施例示意的结构并不构成对终端的具体限定。在本申请另一些实施例中,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
基于上述终端,图4为本发明实施例提供的一种数据访问方法的流程图,如图4所示,所述方法包括:
S1、处理设备向存储设备发送文件属性信息获取命令。
在终端掉电之前,处理设备200向存储设备300发送目标文件,在本实施例中,目标文件是指更新后的文件,处理设备200还需要向存储设备300发送与目标文件对应的文件属性信息,图5为本实施例提供的一种文件属性信息的示意图,如图5所示,以目标文件File A*为例,File A*中包括文件数据data 0、data 1、data 2、data 3、…data n,每一条文件数据data对应一条写入信息node info,这些写入信息用于记录对应的文件数据在存储设备300中的写入位置,相应的,文件属性信息由File A*中全部文件数据对应的写入信息组成。需要注意的是,处理设备200可以在向存储设备300发送目标文件之前或者同步向存储设备300发送文件属性信息,以保证在终端掉电时,存储设备300中必须存在与已写入的文件数据对应的写入信息。
处理设备200还需要向存储设备300发送写入命令,以使存储设备300执行将目标文件写入的动作,在写入的过程中,存储设备300需要将文件属性信息写入带外数据340中,以保证这些文件属性信息在终端100掉电之后不会丢失,进而可以继续供处理设备200使用。
在一种可实现方式中,针对处理设备200与存储设备300之间数据传输线程较少,或者目标文件及文件属性信息体积较大的情况,处理设备200可以分多次将目标文件、文件属性信息以及数据写入命令发送至存储设备300。例如,处理设备200第一次将目标文件及文件属性信息发送至存储设备300,处理设备200第二次将数据写入命令发送至存储设备300。
在另一种可实现方式中,针对处理设备200与存储设备300之间数据传输线程较多,或者目标文件及文件属性信息体积较小的情况,处理设备200可以在一个写入命令中同时携带目标文件以及文件属性信息,从而提高处理设备200与存储设备300之间一次数据传输过程的利用率。
图6为本发明实施例提供的一种将文件属性信息写入带外数据的过程示意图,如图6所示,每一条文件数据对应的写入信息都会被写入一个带外数据中,其中,这些带外数据无差别,可以将文件数据写入不同的带外数据中,也可以将多条文件数据写入同一个带外数据中。
处理设备200向存储设备300写入文件数据之后,终端出现掉电情况,此时,会有部分已写入存储设备300的文件数据还未在处理设备200中建立对应的索引地址。在一种实现方式中,处理设备200在目标文件的全部文件数据写入存储设备300之后建立对应的索引地址,那么在终端掉电之后,全部已写入存储设备300的文件数据在处理设备200中均 未建立对应的索引地址,图7为本发明实施例提供的一种终端掉电时处理设备中文件数据与存储设备中文件数据的状态示意图,如图7所示,处理设备200中包括还未写入存储设备300的文件数据data 3…data n,存储设备300中已写入data 0、data 1、data 2,处理设备200中并未建立与data 0、data 1、data 2对应的索引地址,此时,处理设备200无法访问data 0、data 1、data 2。
在另一种实现方式中,处理设备200按照预设周期建立与已写入存储设备300的文件数据对应的索引地址,那么在终端100掉电之后,会有部分已写入存储设备300的文件数据在处理设备200中未建立对应的索引地址,图8为本发明实施例提供的另一种终端掉电时处理设备中文件数据与存储设备中文件数据的状态示意图,如图8所示,处理设备200中包括还未写入存储设备300的文件数据data 3…data n,存储设备300中已写入data 0、data 1、data 2,其中,data 0已经在处理设备200中建立对应的索引地址i_addr[0],此时,处理设备200可以使用i_addr[0]访问data 0。
为了使处理设备200可以访问已写入的文件数据,处理设备200就需要在终端100重新上电之后,建立与已写入的文件数据对应的索引地址,由于可以用来建立索引地址的写入信息均已写入存储设备300的带外数据中,因此,处理设备200需要向存储设备300发送文件属性信息获取命令,以获取与目标文件File A*中各条文件数据对应的写入信息。
在一种实现方式中,在终端100掉电时,处理设备200向存储设备300写入至少一个目标文件,这样,在终端100重新上电之后,处理设备200需要对全部目标文件对应的文件数据建立索引地址。其中,对于同时对多个目标文件建立索引地址的情况,如果处理设备200与存储设备300之间的数据传输线程较少,或者每个目标文件对应的文件属性信息的体积较大,则可以在每条文件属性信息获取命令中仅携带获取一个目标文件的文件属性信息或者获取较少数量目标文件的文件属性信息的指令,以均衡处理设备200与存储设备300之间的数据传输过程,并且提高数据传输效率;如果处理设备200与存储设备300之间的数据传输线程较多,或者每个目标文件对应的文件属性信息的体积较小,则可以在每条文件属性信息获取命令中携带获取较多数量目标文件的文件属性信息或者全部目标文件的文件属性信息的指令,以提高一次数据传输过程的利用率。
由上述可知,对于建立多个目标文件的索引地址的情况,处理设备200可以通过发送一次文件属性信息获取命令来发送获取全部目标文件的文件属性信息的指令,也可以通过发送多次文件属性信息获取命令,并在每次发送的文件属性信息获取命令携带获取部分目标文件的文件属性信息的指令。进一步地,针对文件属性信息的体积较大的情况,为了节约数据传输的时间,可以将一个目标文件对应的文件属性信息拆分为多个子文件属性信息,这样,处理设备200可以在每条文件属性信息获取命令对应获取一个子文件属性信息,通过多次发送文件属性信息的方式获取一个目标文件的全部文件属性信息。
在另一种实现的方式中,文件属性获取命令为读命令,采用读命令可以有效防止处理设备200在读取存储设备300中的文件属性信息时不会修改存储设备300中的数据,以保证处理设备200和存储设备300的数据安全。
S2、存储设备接收处理设备发送的文件属性信息获取命令。
存储设备300接收处理设备200发送的文件属性信息获取命令,并根据该文件属性信息获取命令反馈对应的文件属性信息。
S3、存储设备根据文件属性信息获取命令从带外数据中获取对应的文件属性信息。
例如,存储设备300中的带外数据中存储有多个目标文件对应的文件属性信息,则存储设备300需要根据文件属性信息获取命令中携带的目标文件的名称等标志,从带外数据中获取对应的文件属性信息。针对通过多次文件属性信息获取命令获取同一目标文件的文件属性信息的情况,存储设备300根据每一条文件属性信息获取命令中行数、变量名等获取文件属性信息中对应的部分信息。
S4、存储设备向处理设备发送文件属性信息。
在一种实现方式中,存储设备300按照对应于处理设备200发送的文件属性信息获取命令向处理设备200发送文件属性信息。
在另一种实现方式中,存储设备300接收到处理设备200发送的文件属性信息之后,按照与实际需求相适应的方式向处理设备200发送文件属性信息。例如,存储设备300可以一次向处理设备200发送一个或者多个目标文件的文件属性信息。其中,如果存储设备300与处理设备200之间的数据传输线路较少,或者每个目标文件的文件属性信息的体积较大,则存储设备300可以一次向处理设备200发送一个或者少量目标文件的文件属性信息,以均衡处理设备200与存储设备300之间的数据传输过程,并且提高数据传输效率;如果存储设备300与处理设备200之间的数据传输线路较多,或者每个目标文件的文件属性信息的体积较小,则存储设备300可以一次向处理设备200发送较多数量或者全部目标文件的文件属性信息,以提高一次数据传输过程的利用率。
在另一种实现方式中,针对一个目标文件所对应的文件属性信息的体积较大的情况,存储设备300可以分多次向处理设备200发送该目标文件所对应的文件属性信息,以减少每次传输的时间,令处理设备200可以在接收下一次传输的部分文件属性信息的同时根据已接收的部分文件属性信息建立对应的索引地址,进而缩短处理设备200建立索引地址的总时长。
S5、处理设备接收存储设备发送的与目标文件对应的文件属性信息。
文件属性信息至少包括目标文件的文件节点信息,以及目标文件中的文件数据在存储设备300中的偏移信息。
其中,处理设备200可以根据文件节点信息确定文件数据对应的目标文件,同时,根据偏移信息确定文件数据与目标文件更新前该文件数据在存储设备300中写入位置的变化,从而确定目标文件更新后文件数据在存储设备300中的写入位置。
另外,文件属性信息还可以包括目标文件的写入时间,处理设备200可以根据目标文件的写入时间确定同一目标文件的不同版本,进而对不同版本的目标文件建立对应的索引地址。文件属性信息还可以包括其它用于确定目标文件写入位置的信息。
S6、处理设备根据文件属性信息中的写入信息在处理设备中建立对应的索引地址。
图9为本发明实施例提供的一种处理设备按照文件属性信息建立索引地址的示意图,如图9所示,处理设备200按照获得目标文件File A*的文件属性信息中每条文件数据data0、data 1、data 2、data 3…data n对应的写入信息node_info 0、node_info 1、node_info 2、node_info 3…node_info n,根据这些写入信息建立与每条文件数据对应的索引地址i_addr[0]、i_addr[1]、i_addr[2]、i_addr[3]…i_addr[n],这样,File A*中的全部文件数据均在处理设备200中存在对应的索引地址,当然,已写入存储设备300的文件数据 也在处理设备200中存在对应的索引地址,因此,处理设备200可以使用这些索引地址来访问已写入存储设备300的文件数据。
同时,在终端100重新上电之后,处理设备200可以继续向存储设备300写入File A*中的文件数据data 3…data n,此时,处理设备200可以直接使用已经建立的索引地址来访问文件数据data 3…data n,而无需等待data 3…data n写入之后再建立索引地址,这样,可以有效缩短处理设备200向存储设备300中写入目标文件,并实现可以访问目标文件的总时长。
其中,基于图8所展示的终端100掉电时,处理设备200已经对已写入存储设备300中的部分文件数据data 0建立了索引地址,此时,处理设备200根据File A*的文件属性信息建立索引地址时,由于再次根据data 0对应的写入信息node_info 0建立索引地址,会造成data 0同时对应两个索引地址,可能会出现访问失败,此时,需要对两个索引地址加以区分,例如,可以用后建立的索引地址替换之前建立的索引地址,或者,为处理设备200设定索引限制,即针对同一文件数据,采用最新建立的索引地址进行访问,或者采用其它方式对索引地址加以区分。
图10为本发明实施例提供的一种处理设备访问已写入存储设备的文件数据的示意图,如图10所示,处理设备200可以利用i_addr[0]、i_addr[1]、i_addr[2]对应访问data 0、data 1、data 2。
在本发明实施例中处理设备200在终端100重新上电之后,可以使用存储于存储设备300的带外数据340中的文件属性信息,建立对应的索引地址,从而使用这些索引地址访问已写入存储设备300的文件数据,起到恢复已写入存储设备300的文件数据的效果,而无需重复写入这些文件数据。
实施例二
基于实施例一,实施例二提供了一种数据访问方法及装置,与实施例一的区别之处在于,处理设备200向存储设备300发送文件属性信息获取命令还包括以下过程:
S101、获取存储于处理设备内的未写入文件数据;
S102、根据目标文件内的全部文件数据与未写入文件数据,确定目标文件数据;
S103、生成文件属性信息获取命令。
如果目标文件对应的文件属性信息的体积较大,此时,处理设备200向存储设备300获取目标文件对应的全部文件属性信息,容易造成大量数据同时传输,不仅传输时间较长,而且容易造成传输阻塞,而且,如果处理设备200无需继续向存储设备300写入未写入文件数据,那么获取的文件属性信息中会存在大量的无效信息,这些无效信息也会同时占用处理设备200的内存。
为了更加有针对性地获取文件属性信息,本实施例在发送文件属性信息获取命令之前,首先判断需要获取写入命令地目标文件数据,本针对这些写入命令生成对应地文件属性信息获取命令。
具体地,对于目标文件File A*,全部文件数据包括data 0、data 1、data 2、data 3…data n,如图7和图8所示,未写入文件数据包括data 3…data n,目标文件数据为data 0、data 1、data 2。处理设备200可以仅生成关于获取data 0、data 1、data 2的写入信息的文件属性信息获取命令,相应的,存储设备300反馈的文件属性信息由与data  0、data 1、data 2对应的写入信息组成。
进一步地,针对图8所展示的状态,为了避免同一文件数据对应多个索引地址,可以从目标文件数据中剔除已在处理设备200中建立对应索引地址的文件数据,例如data 0,此时,目标文件数据即为data 1、data 2,处理设备200仅需针对data 1、data 2生成文件属性信息获取命令即可。
图11为本发明实施例提供的一种处理设备按照索引地址访问目标数据的示意图,如图11所示,处理设备200仅建立与目标文件数据对应的索引地址i_addr[0]、i_addr[1]、i_addr[2],并利用这些索引地址访问目标文件数据data 0、data 1、data 2。
实施例三
基于实施例一,实施例三提供了一种数据访问方法及装置,与实施例一的区别之处在于,处理设备200根据文件属性信息建立索引地址还包括以下过程:
S201、获取存储于处理设备内的未写入文件数据;
S202、根据目标文件内的全部文件数据与未写入文件数据,确定目标文件数据;
S203、在文件属性信息中确定与目标文件数据对应的写入位置信息和位置偏移信息;
S204、根据与目标文件数据对应的写入位置信息和位置偏移信息在处理设备内建立对应的索引地址。
如果存储设备300向处理设备200发送了与目标文件对应的文件属性信息,且该属性信息由与目标文件内全部文件数据对应的写入信息组成,那么处理设备200如果根据该文件属性信息建立索引地址,就需要建立包括已写入存储设备300的文件数据以及还未写入存储设备300的文件数据的索引地址,由此,处理设备200所建立的对应于还未写入存储设备300的文件数据的索引地址对于处理设备200访问已写入存储设备300的文件数据没有作用,同时,可能处理设备200在短时间内并不会使用这些索引地址,还可能处理设备200不会再继续写入这些未写入存储设备300的文件数据,那么,处理设备200将浪费建立这部分文件数据对应的索引地址的时间以及资源。
为了使处理设备200建立索引地址的工作更加具有针对性,可以在建立索引地址之前,首先确定需要建立索引地址的目标文件数据。例如,如图7和8所示,对于目标文件File A*,全部文件数据包括data 0、data 1、data 2、data 3…data n,未写入文件数据包括data 3…data n,目标文件数据为data 0、data 1、data 2,这样,处理设备200可以从文件属性信息中挑选出与data 0、data 1、data 2对用的写入信息,再根据这些写入信息建立与data 0、data 1、data 2对应的索引地址即可。
进一步地,针对图8所展示的状态,为了避免同一文件数据对应多个索引地址,可以从目标文件数据中剔除已在处理设备200中建立对应索引地址的文件数据,例如data 0,此时,目标文件数据即为data 1、data 2,处理设备200仅需从文件属性信息中挑选与data 1、data 2对应的写入信息即可。
处理设备200根据建立的索引地址访问目标数据的过程可以参阅图11,此处不再赘述。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (14)

  1. 一种数据访问方法,应用于处理设备,所述处理设备基于日志结构文件系统LFS管理存储设备,其特征在于,所述方法包括:
    所述处理设备基于异地更新OPU机制将目标文件写入所述存储设备中;
    所述处理设备将所述目标文件在所述存储设备中对应的文件属性信息写入所述存储设备的带外数据OOB中,以在异常掉电后利用存储于所述带外数据OOB中的文件属性信息恢复对所述目标文件的访问。
  2. 根据权利要求1所述的数据访问方法,其特征在于,
    所述处理设备在重新上电之后,从所述存储设备的带外数据OOB中获取与所述目标文件对应的文件属性信息,其中,所述文件属性信息包括所述目标文件中各条文件数据的写入位置信息和位置偏移信息;
    所述处理设备利用所述文件属性信息中的所述写入位置信息和位置偏移信息在所述处理设备中建立各条文件数据对应的索引地址,以使所述处理设备使用所述索引地址访问已写入所述存储设备中的文件数据。
  3. 根据权利要求2所述的方法,其特征在于,所述处理设备向所述存储设备发送一次或者多次所述文件属性信息获取命令。
  4. 根据权利要求3所述的方法,其特征在于,所述文件属性信息获取命令包含获取一个或者多个所述目标文件对应的文件属性信息。
  5. 根据权利要求3或4所述的方法,其特征在于,所述文件属性信息获取命令为读命令。
  6. 根据权利要求2-5中任一所述的方法,其特征在于,所述从所述存储设备的带外数据OOB中获取与所述目标文件对应的文件属性信息包括:
    从所述存储设备的带外数据OOB中获取与目标文件数据对应的文件属性信息,其中,所述目标文件数据为所述目标文件内已写入所述存储设备中的文件数据。
  7. 根据权利要求2-6中任一所述的方法,其特征在于,所述处理设备利用所述文件属性信息中的所述写入位置信息和所述位置偏移信息在所述处理设备建立各条文件数据对应的索引地址包括:
    所述处理设备获取存储于所述处理设备内的未写入文件数据,所述未写入文件数据为所述目标文件中在所述处理设备异常掉电时未写入所述存储设备的文件数据;
    所述处理设备根据所述目标文件内的全部文件数据与所述未写入文件数据,确定目标文件数据,所述目标文件数据为所述目标文件中在所述处理设备异常掉电时已写入所述存储设备中的文件数据;
    所述处理设备在所述文件属性信息中确定与所述目标文件数据对应的写入位置信息和位置偏移信息;
    所述处理设备根据与所述目标文件数据对应的写入位置信息和位置偏移信息在所述处理设备内建立对应的索引地址。
  8. 一种数据访问方法,应用于存储设备,所述存储设备通过基于日志结构文件系统LFS的处理设备管理内部存储的目标文件,其特征在于,所述方法包括:
    在所述处理设备基于异地更新OPU机制写入目标文件时,所述存储设备将所述目 标文件写入存储介质,并将所述目标文件的文件属性信息写入带外数据OOB中,以使在所述处理设备异常掉电后向所述处理设备提供所述文件属性信息,并使所述处理设备利用所述文件属性信息恢复对所述目标文件的访问。
  9. 根据权利要求9所述的方法,其特征在于,所述存储设备向所述处理设备发送一次或者多次所述文件属性信息。
  10. 根据权利要求8或9所述的方法,其特征在于,所述存储设备每次向所述处理设备发送一个或者多个所述目标文件对应的文件属性信息。
  11. 一种数据访问方法,应用于终端,所述终端包括处理设备和存储设备,所述处理设备基于日志结构文件系统LFS管理所述存储设备,其特征在于,所述处理设备基于异地更新OPU机制将目标文件写入所述存储设备时,所述终端执行如权利要求1-10所述的方法。
  12. 一种处理设备,其特征在于,所述处理设备包括I/O接口和逻辑电路,其中,所述I/O接口用于所述处理设备与存储设备之间的数据交换,所述逻辑电路用于所述处理设备执行如权利要求1-7所述的方法。
  13. 一种存储设备,其特征在于,所述存储设备包括逻辑电路、I/O接口、存储介质和带外数据OOB,其中,所述I/O接口用于所述存储设备与所述处理设备之间的数据交换,所述存储介质用于存储文件数据,所述带外数据OOB用于存储与所述目标文件对应的文件属性信息,所述逻辑电路用于执行如权利要求8-10所述的方法。
  14. 一种终端,其特征在于,所述终端包括处理设备和存储设备,所述处理设备基于日志结构文件系统LFS管理所述存储设备,其特征在于,所述处理设备基于异地更新OPU机制将目标文件写入所述存储设备时,所述终端执行如权利要求1-10所述的方法。
PCT/CN2020/085969 2020-04-21 2020-04-21 一种数据访问方法及装置 WO2021212337A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/CN2020/085969 WO2021212337A1 (zh) 2020-04-21 2020-04-21 一种数据访问方法及装置
CN202080093314.4A CN115004166A (zh) 2020-04-21 2020-04-21 一种数据访问方法及装置
EP20932790.7A EP4123470A4 (en) 2020-04-21 2020-04-21 DATA ACCESS METHOD AND APPARATUS
US17/969,889 US20230045119A1 (en) 2020-04-21 2022-10-20 Data access method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/085969 WO2021212337A1 (zh) 2020-04-21 2020-04-21 一种数据访问方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/969,889 Continuation US20230045119A1 (en) 2020-04-21 2022-10-20 Data access method and apparatus

Publications (1)

Publication Number Publication Date
WO2021212337A1 true WO2021212337A1 (zh) 2021-10-28

Family

ID=78271068

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/085969 WO2021212337A1 (zh) 2020-04-21 2020-04-21 一种数据访问方法及装置

Country Status (4)

Country Link
US (1) US20230045119A1 (zh)
EP (1) EP4123470A4 (zh)
CN (1) CN115004166A (zh)
WO (1) WO2021212337A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170249257A1 (en) * 2016-02-29 2017-08-31 Itu Business Development A/S Solid-state storage device flash translation layer
CN109117383A (zh) * 2017-06-25 2019-01-01 慧荣科技股份有限公司 管理闪存模块的方法和闪存控制器
CN110597762A (zh) * 2018-05-25 2019-12-20 杭州海康威视系统技术有限公司 文件处理方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170249257A1 (en) * 2016-02-29 2017-08-31 Itu Business Development A/S Solid-state storage device flash translation layer
CN109117383A (zh) * 2017-06-25 2019-01-01 慧荣科技股份有限公司 管理闪存模块的方法和闪存控制器
CN110597762A (zh) * 2018-05-25 2019-12-20 杭州海康威视系统技术有限公司 文件处理方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP4123470A4 *
ZHENG WENJING, LI MINGQIANG, SHU JIWU: "Flash Storage Technology", JOURNAL OF COMPUTER RESEARCH AND DEVELOPMENT, vol. 47, no. 4, 15 April 2010 (2010-04-15), CN, pages 716 - 729, XP055860031, ISSN: 1000-1239 *

Also Published As

Publication number Publication date
CN115004166A (zh) 2022-09-02
EP4123470A1 (en) 2023-01-25
EP4123470A4 (en) 2023-05-17
US20230045119A1 (en) 2023-02-09

Similar Documents

Publication Publication Date Title
US8417907B2 (en) Synchronizing snapshot volumes across hosts
US10649897B2 (en) Access request processing method and apparatus, and computer device
US8843716B2 (en) Computer system, storage apparatus and data transfer method
US9116852B2 (en) Processing a copy command directed to a first storage architecture for data that is stored in a second storage architecture
CN103765373B (zh) 数据存储方法、数据存储装置和存储设备
KR20090028518A (ko) 고속 비휘발성 메모리 장치 및 방법, 컴퓨터 판독가능 매체
US11030092B2 (en) Access request processing method and apparatus, and computer system
US11240306B2 (en) Scalable storage system
US10620851B1 (en) Dynamic memory buffering using containers
WO2019090493A1 (zh) 内存块回收方法和装置
CN113051102B (zh) 文件备份方法、装置、系统、存储介质和计算机设备
WO2020057479A1 (zh) 地址映射表项页管理
CN106095331B (zh) 一种固定大文件内部资源的控制方法
US10853314B1 (en) Overlay snaps
US7627716B2 (en) Method, system, and program for an adaptor to read and write to system memory
US20230244417A1 (en) Storage node, storage device, and network chip
WO2021212337A1 (zh) 一种数据访问方法及装置
CN105068760A (zh) 数据存储方法、数据存储装置和存储设备
CN113778911B (zh) L2p数据缓存方法、装置、可读存储介质及电子设备
CN114490540A (zh) 数据存储方法、介质、装置和计算设备
US11748259B2 (en) System and method to conserve device lifetime for snapshot generation
US10853208B2 (en) Transferring a writable data set to a cloud service that is separate from the writable data set and terminate a snapshot after transfer
US20160357479A1 (en) Storage control apparatus
CN111061683B (zh) 一种高速存储和操作数据流的方法与装置
US10235098B1 (en) Writable clones with minimal overhead

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020932790

Country of ref document: EP

Effective date: 20221020

NENP Non-entry into the national phase

Ref country code: DE