WO2021203927A1 - 一种数据管理装置及数据管理方法、数据存储设备 - Google Patents

一种数据管理装置及数据管理方法、数据存储设备 Download PDF

Info

Publication number
WO2021203927A1
WO2021203927A1 PCT/CN2021/081210 CN2021081210W WO2021203927A1 WO 2021203927 A1 WO2021203927 A1 WO 2021203927A1 CN 2021081210 W CN2021081210 W CN 2021081210W WO 2021203927 A1 WO2021203927 A1 WO 2021203927A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
storage medium
storage
transmission
instruction
Prior art date
Application number
PCT/CN2021/081210
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 EP21785433.0A priority Critical patent/EP4095667A4/en
Publication of WO2021203927A1 publication Critical patent/WO2021203927A1/zh
Priority to US17/959,861 priority patent/US20230028301A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Definitions

  • This application relates to the field of storage technology, and in particular to a data management device, a data management method, and a data storage device.
  • Hierarchical storage system design is a trend to solve data storage problems.
  • the main idea is to set storage media with different performances in the storage system, and use the advantages of storage media with different performances to ensure the optimal performance of the storage system.
  • a hierarchical storage system can include the first type of storage medium with small storage capacity but fast read and write speed, and the second type of storage medium with large storage capacity but slow read and write speed. In this way, the second type of storage medium can be used. Provides a larger storage capacity, and provides faster read and write speeds through the first type of storage media, and improves the overall performance of the hierarchical storage system.
  • independent data flow, control flow, and interface protocols are usually set for different storage media.
  • the central processing unit (CPU) of the hierarchical storage system can quickly Access different storage media.
  • the embodiments of the present application provide a data management apparatus, method, and data storage device, which are used to reduce the time delay of data migration between different storage media in a hierarchical storage system.
  • a data management device in a first aspect, includes a management unit and a data migration unit.
  • the management unit manages data transmission channels between two different storage media, for example, manages at least two second storage media.
  • a data transmission channel between a storage medium and a second storage medium, the transmission performance of the first storage medium is lower than the transmission performance of the second storage medium, and each of the first storage medium and the second storage medium includes A data transmission channel.
  • the data migration unit uses the data transmission channel managed by the management unit to migrate data between the second storage medium and the at least two first storage media.
  • data can be directly transferred between storage media with different transmission performance through the data management device, without the need to use the CPU in the system for instruction conversion, protocol conversion and other processing, which can save the time delay for the CPU to perform the above processing. And, because the migration data does not need to use the CPU, the resource overhead of the CPU can be reduced.
  • the transmission performance of the data transmission channel managed by the management unit matches the transmission performance of the second storage medium.
  • the transmission performance of the second storage medium may refer to the throughput, data processing capability, etc. of the second storage medium. Matching the transmission performance of the data transmission channel with the transmission performance of the second storage medium means that the transmission performance of the data transmission channel matches the transmission performance of the second storage medium, and will not become a bottleneck of the transmission performance of the second storage medium.
  • the management unit may be based on the first ratio between the transmission bit width of the second storage medium and the transmission bit width of the first storage medium, or according to the transmission of the second storage medium.
  • the second ratio between the bandwidth and the transmission bandwidth of the first storage medium determines the number N of the first storage medium, where N is an integer not less than 2; then, based on the number N of the first storage medium Establish data transmission channels between the N first storage media and the second storage media.
  • the management unit can manage data transmission channels between different storage media in a variety of ways, which can increase the flexibility of the data management device.
  • the data management device further includes a data processing unit through which a data read instruction is received, and the target data is read from the second storage medium according to the data read instruction.
  • a data processing unit may be provided in the data management device to facilitate communication between the data management device and other modules, and the other modules may be CPUs in the storage system or the like.
  • the data migration unit is further configured to transfer the target data from the at least two storage media.
  • the first storage medium is migrated to the second storage medium.
  • the data processing unit can read data from different storage media respectively.
  • other modules can use only one protocol to read data in different storage media, which can simplify the data management device and other modules. Communication protocol between.
  • the data management device further includes a data processing unit for receiving a first data writing instruction, and writing to the at least two first storage media according to the first data writing instruction The first data.
  • the data processing unit is further configured to receive a second data write instruction, and write the second data to the second storage medium according to the second data write instruction.
  • the data management device can not only read data from different storage media through the data processing unit, but also write data to the storage medium through the data processing unit, where the data processing unit for reading data It can be the same data processing unit as the data processing unit used to write data, or it can be a separate data processing unit, which is not limited here.
  • the protocol used by the first data writing instruction and the second data writing instruction is the same. In this way, other modules can use only one protocol to access different storage media, which can simplify the communication protocol between the data management device and other modules.
  • a data management method is provided.
  • first, at least two data transmission channels between a first storage medium and a second storage medium are managed, wherein the transmission performance of the first storage medium is low
  • the transmission performance of the second storage medium, and each of the first storage medium and the second storage medium includes a data transmission channel; then, the data transmission channel is used to connect to the second storage medium Migrating data with the at least two first storage media.
  • the transmission performance of the data transmission channel matches the transmission performance of the second storage medium.
  • the transmission performance of the second storage medium may refer to the throughput, data processing capability, transmission bit width or transmission bandwidth of the second storage medium. Matching the transmission performance of the data transmission channel with the transmission performance of the second storage medium means that the transmission performance of the data transmission channel matches the transmission performance of the second storage medium, and will not become a bottleneck of the transmission performance of the second storage medium.
  • managing at least two data transmission channels between the first storage medium and the second storage medium includes:
  • the second ratio between determines the number N of the first storage medium; where N is an integer not less than 2;
  • the method further includes:
  • the method further includes:
  • the method further includes:
  • the method further includes:
  • the protocol used by the first data writing instruction and the second data writing instruction is the same.
  • a data storage device which includes a controller, at least two first storage media and a second storage medium; the controller is respectively connected to the at least two first storage media and the second storage medium Communication; wherein, each of the first storage medium and the second storage medium includes a data transmission channel; the controller is used to implement the second aspect and the methods in the second aspect of various designs.
  • the data storage device may be a memory or the like.
  • an embodiment of the present application provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, and the computer program includes program instructions that, when executed by a computer, cause the The computer executes the method executed by the data management device in the first aspect.
  • an embodiment of the present application provides a computer program product, the computer program product stores a computer program, the computer program includes program instructions, and when executed by a computer, the program instructions cause the computer to execute the first The method performed by the data management device in the aspect.
  • the present application provides a chip system that includes a processor and may also include a memory, configured to implement the method executed by the data management device in the first aspect.
  • the chip system can be composed of chips, and can also include chips and other discrete devices.
  • an embodiment of the present application provides a storage system, which includes the data management device described in the first aspect or the third aspect.
  • Figure 1 is a schematic diagram of an example of a hierarchical system involved in this application.
  • Figure 2 is a schematic diagram of an example of migrating data between different storage media in a hierarchical system
  • FIG. 3 is a structural block diagram of an example of a data management device provided by an embodiment of the application.
  • FIG. 4 is a schematic diagram of an example of a management unit 301 provided by an embodiment of the application.
  • FIG. 5 is a schematic diagram of an example of a data migration unit 302 in an embodiment of the application.
  • FIG. 6 is a schematic diagram of an example of the number of data migration units 302 in an embodiment of this application.
  • FIG. 7 is a schematic diagram of another example of the number of data migration units 302 in an embodiment of the application.
  • FIG. 8 is a structural block diagram of another example of a data management device provided by an embodiment of the application.
  • FIG. 9 is a structural block diagram of another example of a data management device provided by an embodiment of the application.
  • FIG. 10 is a structural block diagram of another example of a data management device provided by an embodiment of the application.
  • FIG. 11 is a structural block diagram of another example of a data management device provided by an embodiment of the application.
  • FIG. 12 is a flowchart of an example of a data management method provided by an embodiment of this application.
  • FIG. 13 is a schematic structural diagram of another example of a data management device provided by an embodiment of the application.
  • “multiple” refers to two or more than two. In view of this, “multiple” may also be understood as “at least two” in the embodiments of the present application. "At least one" can be understood as one or more, for example, one, two or more. For example, including at least one refers to including one, two or more, and does not limit which ones are included. For example, including at least one of A, B, and C, then the included can be A, B, C, A and B, A and C, B and C, or A and B and C.
  • ordinal numbers such as “first” and “second” mentioned in the embodiments of the present application are used to distinguish multiple objects, and are not used to limit the order, timing, priority, or importance of multiple objects.
  • FIG. 1 is a schematic diagram of an example of a hierarchical system.
  • storage media with different performances are located at different levels.
  • the storage medium in level 3 is Hard disks, for example, may include serial advanced technology attachment (SATA) hard disks, small computer system interface (SCSI) hard disks, serial attached SCSI interface (serial attached SCSI, SAS) hard disks, optical fibers Channel interface (FC) hard disk, hard disk drive (HDD), solid state drive (SSD), etc.;
  • the storage medium in level 2 is storage class memory (SCM), for example It can include phase-change memory (PCM), resistive random-access memory (ReRAM), magnetic random access memory (MRAM), etc.
  • the storage medium in level 1 is dynamic random-access memory.
  • Memory dynamic random access memory, DRAM
  • DRAM synchronous dynamic random-access memory
  • SDRAM double data rate SDRAM
  • DDR SDRAM double data rate SDRAM
  • the storage capacity of the storage medium in each level gradually decreases, but the read and write speed gradually increases.
  • the lower storage medium can provide larger storage capacity, and the upper storage medium can provide faster
  • the read and write speed can give full play to the advantages of different media and improve the performance of the storage system.
  • the CPU of the system accesses storage media in different levels through different protocols and interfaces.
  • corresponding controllers can be set for storage media in different levels. Take the storage media in Level 1 and Level 2 in Figure 1 as an example. Please refer to Figure 2.
  • the SCM controller first reads the data from the storage medium of level 2, and then sends the read data to the CPU through the protocol and interface communicating with the CPU.
  • the CPU performs processing such as protocol conversion on the received information, generates information for communication with the memory controller, and sends it to the memory controller through the communication interface with the memory controller, and finally the memory controller decodes the information, etc. Process, get the data, and store the data in the storage medium of level 1.
  • the present application provides a data management device that includes a management unit and a data migration unit.
  • the management unit manages the data transmission channel between two storage media with different transmission performance.
  • the migration unit uses the managed data transmission channel to perform data migration between the two storage media. In this way, data can be directly transferred between storage media with different transmission performance through the data management device, without the need for CPU to perform protocol conversion, data transfer and other processing, which can reduce the delay of the CPU for the above processing, and because the data is not migrated Need to use the CPU, therefore, the resource overhead of the CPU can be reduced.
  • the data management device provided in this application can be applied to any system that includes storage media with different transmission performance, or it can be understood that the data management device is a part of the system, and the system can be as shown in Figure 1.
  • the hierarchical system shown can also be other systems, which is not limited here.
  • the application of the data management device in the hierarchical system as shown in FIG. 1 will be taken as an example.
  • the system may be a server or a storage system, etc., which is not limited in the embodiment of the present invention.
  • FIG. 3 is a structural block diagram of an example of a data management device provided in an embodiment of this application.
  • the data management device includes a management unit 301 and a data migration unit 302.
  • the data management device can be used to manage data including storage media with different transmission performance, taking the storage media with different transmission performance including the first storage medium and the second storage medium as an example, wherein the transmission performance of the first storage medium is lower than Transmission performance of the second storage medium.
  • the data management device can be respectively connected to at least two first storage media and second storage media, each of the first storage media and the second storage medium includes a data transmission channel, and the management unit 301 is used to manage the at least two storage media.
  • a data transmission channel between a first storage medium and a second storage medium, and the data migration unit 302 uses the data transmission channel managed by the management unit 301 to migrate data between the second storage medium and at least two first storage media .
  • the management unit 301 manages the data transmission channel between the first storage medium and the second storage medium. It can be understood that the management unit 301 determines multiple data transmission channels for data transmission between the first storage medium and the second storage medium. In this embodiment of the present invention, the multiple data transmission channels determined by the management unit 301 for data transmission between the first storage medium and the second storage medium are called virtual transmission channels. Since the transmission performance of the first storage medium is lower than the transmission performance of the second storage medium, data transmission is performed through multiple data transmission channels, that is, multiple first storage media in parallel with the second storage medium, so as to reduce the size of the first storage medium and the second storage medium. The gap between the transmission performance of the second storage medium.
  • one data transmission channel corresponds to the data bits used for data transmission in the first storage medium
  • the management unit 301 may be a device for combining the data bits of at least two first storage media.
  • FIG. 4 is a schematic diagram of an example of the management unit 301.
  • the first storage medium is the SCM in level 2 shown in FIG. 1
  • the second storage medium is the DRAM in level 1 shown in FIG. 1
  • the management unit 301 may be the super SCM port physical layer (super SCM port physical layer, super SCM PHY), using at least two SCM data bits as a virtual data transmission channel, for example, using 8 SCM data bits as a virtual data transmission channel.
  • the data read pulse (DQS) in super SCM PHY is uniformly controlled.
  • the transmission performance of the virtual data transmission channel matches the transmission performance of the second storage medium.
  • the transmission performance of the second storage medium may refer to the throughput, data processing capability, transmission bit width or transmission bandwidth of the second storage medium.
  • Matching the transmission performance of the data transmission channel with the transmission performance of the second storage medium means that the transmission performance of the data transmission channel matches the transmission performance of the second storage medium, and will not become a bottleneck of the transmission performance of the second storage medium.
  • the data volume of the data sent by the virtual data transmission channel matches the unit data volume that the second storage medium can process, so that when the second storage medium receives data through the virtual data transmission channel, the data can be directly processed, and further Reduce the time delay of data migration.
  • the transmission performance can be represented by the transmission bit width or the transmission bandwidth
  • the management unit 301 can, according to the first ratio between the transmission bit width of the second storage medium and the transmission bit width of the first storage medium, Or according to the second ratio between the transmission bandwidth of the second storage medium and the transmission bandwidth of the first storage medium, the number N of the first storage medium is determined, where N is an integer not less than 2; then, the management unit 301 is based on The number N of first storage media establishes a data transmission channel between the N first storage media and the second storage medium.
  • the management unit 301 determines that the transmission bit width of SCM is 8 bits, and the transmission bit width of DDR4 is 64 bits, then the transmission bit width of DDR4 is the same as that of SCM.
  • the ratio between the bit widths is 8, so the management unit 301 determines to establish a data transmission channel between 8 SCMs and 1 DDR4.
  • the management unit 301 determines that the transmission bandwidth of SCM is 800MB/s, and the transmission bandwidth of DDR5 is 3200MB/s, then the transmission bandwidth of DDR5 and the transmission bandwidth of SCM are different The ratio between the two is 4, so the management unit 301 determines to establish a data transmission channel between 4 SCMs and 1 DDR5.
  • the management unit 301 may also determine the value of N in other ways, which is not limited here.
  • FIG. 5 is a schematic diagram of an example of the data migration unit 302 in the embodiment of this application.
  • the data migration unit 302 may be composed of multiple modules such as a codec module, a scrambling or descrambling module, a cyclic redundancy check (CRC) module, and an encryption and decryption module.
  • the data migration unit 302 implements encoding and decoding processing, scrambling or descrambling processing, cyclic redundancy check (CRC) processing, and encryption processing on the data in the managed data transmission channel to ensure post-management The reliability of the migrated data in the data transmission channel.
  • the data migration unit 302 may also be an independent chip, and the independent chip may be used to implement the functions of the above-mentioned multiple modules, and the specific implementation manner of the data migration unit 302 is not limited here.
  • the number of the data migration unit 302 may be one or multiple.
  • the management unit 301 may create a virtual data transmission channel between the first storage medium and the second storage medium according to the number of the first storage medium and the second storage medium.
  • the management unit 301 is used to manage data transmission channels between eight first storage media and one second storage medium.
  • the management unit 301 creates a virtual data transmission channel between every four first storage media and the second storage medium, that is, the management unit 301 creates a total of 2 virtual data transmission channels.
  • Each virtual data transmission channel includes 4 data transmission channels between the first storage medium and the second storage medium.
  • the number of the data migration unit 302 may be one.
  • the data migration unit 302 is respectively connected to two virtual data transmission channels for transmitting through the two virtual data. The channel migrates data between the plurality of first storage media and second storage media.
  • the number of data migration units 302 can also be multiple. Specifically, the number of data migration units 302 can be the same as the number of virtual data transmission channels. As shown in FIG. Two virtual data transmission channels are created between the two storage media. Therefore, the number of data migration units 302 is also two, and each data migration unit 302 is connected to a virtual data transmission channel to migrate data. In this case, data migration is performed by multiple independent data migration units 302, so that data blockage between multiple virtual data transmission channels can be avoided, and the service quality of the data management device can be improved ( quality of service, QoS).
  • QoS quality of service
  • the data management device in the embodiment of the present application may further include a data processing unit 303, which is configured to receive data reading instructions and perform data reading according to The data read instruction reads target data from the second storage medium.
  • the data processing unit 303 is respectively connected to the second storage medium and the data migration unit 302.
  • the data processing unit 303 receives the data reading instruction, it first reads from the second storage medium. Fetch the target data, if the target data does not exist in the second storage medium, the data processing unit 303 sends a migration instruction to the data migration unit 302, and the data migration unit 302 transfers the target data from at least two first The storage medium is migrated to the second storage medium.
  • the data processing unit 303 first determines whether the target data is stored in the first storage medium or the second storage medium. For example, the storage capacity of the first storage medium is greater than that of the second storage medium. The storage capacity of the storage medium.
  • the data amount of the data stored in the first storage medium is larger and the data amount of the data stored in the second storage medium is smaller. Therefore, if the data amount of the target data is greater than the threshold, it is determined The target data is stored in the first storage medium, otherwise it is determined that the target data is stored in the second storage medium. If the target data is stored in the first storage medium, the target data is migrated from the first storage medium to the second storage medium through the data migration unit 302; if the target data is stored in the second storage medium, the target data is directly transferred from the second storage medium. The target data is read from the storage medium.
  • the data processing unit 303 can obtain the target data. Therefore, the data processing unit 303 only externally It is necessary to present a unified data reading interface through which the data stored in the first storage medium and the second storage medium can be read. In this way, the data in the system shown in FIG.
  • the controllers of the storage media that is, the SCM controller and the memory controller
  • the data management device are unified as the data management device in the embodiment of this application, which can reduce the performance requirements of the controller of the storage media in the system, and can be as shown in FIG.
  • the CPU may also need to write data to the first storage medium or the second storage medium.
  • the data management device It may also include a data processing unit 304, configured to receive a first data write instruction and write the first data to at least two first storage media according to the first data write instruction, or the data processing unit 304 also uses After receiving the second data writing instruction, and writing the second data to the second storage medium according to the second data writing instruction.
  • the data processing unit 304 is respectively connected to the second storage medium and the data migration unit 302.
  • the data processing unit 304 can directly pass the data migration unit 302. , Write the first data carried in the first data write instruction into at least two first storage media; or, the data processing unit 304 may also determine according to a preset strategy to write the first data into the first storage medium.
  • the preset strategy may be to determine the data amount of the first data, and if the data amount of the first data is less than the threshold, it is determined to write the first data To the second storage medium, otherwise, write the first data to the first storage medium; or, the first data write instruction indicates the storage location of the first data, for example, the storage location of the first data is at least two
  • the data processing unit 304 writes the first data into at least two first storage media according to the first data.
  • the processing manner of the data processing unit 304 on the second data write instruction is similar to the processing manner on the first data write instruction, and will not be repeated here.
  • the data processing unit 304 can write data to the first storage medium and the second storage medium respectively according to the data writing instruction. Therefore, similar to the data processing unit 303, the data processing unit 304 only needs external Presents a unified data writing interface, through which data is written to the first storage medium and the second storage medium respectively, that is, the CPU can use only one protocol to write to the two storage media.
  • the medium write data that is, in the above process, the protocol used by the first data write instruction and the second data write instruction received by the data processing unit 304 is the same, so that the data write process of the CPU can be simplified.
  • the data processing unit 303 and the data processing unit 304 may be two independent data processing units, where the data processing unit 303 is a data processing unit that performs data reading, and the data processing unit 304 is a data processing unit that writes data. Data processing unit.
  • the data processing unit 303 and the data processing unit 304 can also be integrated into the same data processing unit, which implements the functions of the data processing unit 303 through data reading program codes and a data reading interface, and The program code for data writing and a data writing interface implement the functions of the data processing unit 304.
  • the data processing unit 303 and the data processing unit 304 are used to receive data read instructions and data write instructions from the CPU, and can also communicate with the data migration unit 302 to receive data from at least two first Read data from the storage medium or write data to at least two first storage media.
  • a cache may also be set in the data management device Unit 305, as an example, please refer to FIG. 10, which is a structural block diagram of another example of a data management device.
  • the buffer unit 305 is connected to the data processing unit 304, and is used to receive and buffer data from the data processing unit 304.
  • the data processing unit 304 When the data processing unit 304 determines to write data to at least two first storage media, the data processing unit 304 first sends the data to the buffer unit 305, and then reads the data from the buffer unit 305 in batches, and reads the data from the buffer unit 305 in batches. The fetched data is written into at least two first storage media until all the data in the cache unit 305 is written into at least two first storage media.
  • the data management apparatus in the embodiment of the present application may further include a write processing unit 306.
  • the write processing unit 306 is respectively connected to the cache unit 305 and the data migration unit 302 shown in FIG.
  • the read data is written into at least two first storage media.
  • the data processing unit 304 After the data processing unit 304 receives the first write data instruction, it only needs to store the data carried in the first write data instruction in the cache unit 305, and then the write processing unit 306 After reading the data from the cache unit 305 and writing the data to at least two first storage media, the load of the data processing unit 304 can be reduced.
  • the write processing unit 306 is configured to write data to at least two first storage media.
  • the data management device can directly communicate with the CPU to read data from the first storage medium and the second storage medium or to the first storage medium or the second storage medium.
  • Media writes data from this perspective, the above-mentioned data management device can be substituted for the memory controller and SCM controller shown in Figure 2 to obtain a new structured system composed of the data management device and the CPU.
  • the parallel structure between storage media at different levels is changed from the parallel structure shown in Figure 2 to the series connection shown in Figures 8 to 11, which can also simplify the design of the controller for different levels of storage media. .
  • FIG. 12 is a flowchart of an example of the method, and the description of the flowchart is as follows:
  • the management unit 301 manages at least two data transmission channels between the first storage medium and the second storage medium.
  • the management unit 301 manages each data transmission channel between the first storage medium and the second storage medium.
  • the management unit 301 may randomly create the multiple virtual data transmission channels between the first storage medium and the second storage medium, or the management unit 301 may compare the transmission bit width of the second storage medium to that of the first storage medium.
  • the first ratio between the transmission bit widths, or the second ratio between the transmission bandwidth of the second storage medium and the transmission bandwidth of the first storage medium determine the number N of the first storage medium, and then determine the number N of the first storage medium based on the first storage medium
  • the number N is to establish data transmission channels between the N first storage media and the second storage media.
  • management unit 301 may also use other methods to create a managed data transmission channel between the first storage medium and the second storage medium, which is not limited in the embodiment of the present application.
  • the data migration unit 302 uses the data transmission channel to migrate data between the second storage medium and the at least two first storage media.
  • the method may further perform step S1203, namely:
  • the data processing unit 303 receives a data read instruction, and reads target data from the second storage medium according to the data read instruction.
  • the data processing unit 303 can determine the storage location of the target data. If the target data is stored in the second storage medium, the data processing unit 303 directly reads from the second storage medium. Fetch the target data; if the target data is stored in at least two first storage media, the data processing unit 303 uses the data migration unit 302 to migrate the target data from the at least two first storage media to the second storage medium, and then Read the target data from the second storage medium.
  • the data processing unit 303 uses the data migration unit 302 to migrate the target data from the at least two first storage media to the second storage medium, and then Read the target data from the second storage medium.
  • the method may further perform step S1204, namely:
  • the data processing unit 304 receives a first data write instruction, and writes first data to the at least two first storage media according to the first data write instruction.
  • the data processing unit 304 receives a second data write instruction, and writes second data to the second storage medium according to the second data write instruction.
  • the protocol used by the first data writing instruction and the second data writing instruction is the same.
  • the data processing unit 304 may determine the storage location of the first data according to a preset strategy. If it is determined that the first data is stored in the second storage medium, the data The processing unit 304 directly writes the first data into the second storage medium; if it is determined that the first data is stored in at least two first storage media, the data processing unit 304 uses the data migration unit 302 to write the first data To at least two first storage media. Alternatively, the data processing unit 304 writes the first data into the corresponding storage medium according to the storage location indicated in the first write instruction. For the specific process, reference may be made to the foregoing description of the data processing unit 304, which will not be repeated here.
  • steps S1203 to S1205 are optional steps, that is, they are not necessary to be performed. Therefore, in FIG. 12, steps S1203 to S1205 are represented by dotted lines.
  • data can be directly migrated between storage media with different transmission performance through the data management device, without processing by the CPU in the system, which can reduce the time delay of the CPU for the above processing, and, due to the migration of data There is no need to use the CPU, therefore, the resource overhead of the CPU can be reduced.
  • the storage system may include a hardware structure and/or a software module. Form to achieve the above functions. Whether a certain function among the above-mentioned functions is executed by a hardware structure, a software module, or a hardware structure plus a software module depends on the specific application and design constraint conditions of the technical solution.
  • the division of modules in the embodiments shown in FIGS. 3 to 11 is schematic, and is only a logical function division. In actual implementation, there may be other division methods.
  • each function in each embodiment of the present application The module can be integrated in a processor, or it can exist alone physically, or two or more modules can be integrated in one module.
  • the above-mentioned integrated modules can be implemented in the form of hardware or software functional modules.
  • FIG. 13 shows a data management apparatus 1300 provided by an embodiment of the application, where the data management apparatus 1300 may be a chip system.
  • the chip system may be composed of chips, or may include chips and other discrete devices.
  • the data management apparatus 1300 includes at least one controller 1320, which is used to implement or support the data management apparatus 1300 to implement the methods provided in the embodiments of the present application. For details, please refer to the detailed description in the method example, which will not be repeated here.
  • the data management device 1300 has a communication interface 1310, which is used to communicate with the CPU.
  • the specific connection medium between the aforementioned communication interface 1310 and the controller 1320 is not limited in the embodiment of the present application.
  • the controller 1320 and the communication interface 1310 are connected by a bus 1330.
  • the bus may be a bus that uses a data consistency protocol for communication.
  • the bus is represented by a thick line in FIG.
  • the connection method is only for schematic illustration and is not meant to be limiting.
  • the bus can be divided into an address bus, a data bus, a control bus, and so on. For ease of presentation, only one thick line is used in FIG. 13, but it does not mean that there is only one bus or one type of bus.
  • the controller 1320 may be a super SCM PHY, or a general-purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic devices, discrete gates or transistor logic devices , Discrete hardware components can implement or execute the methods, steps, and logical block diagrams disclosed in the embodiments of the present application.
  • the general-purpose processor may be a microprocessor or any conventional processor or the like. The steps of the method disclosed in combination with the embodiments of the present application may be directly embodied as being executed and completed by a hardware processor, or executed and completed by a combination of hardware and software modules in the processor.
  • An embodiment of the present invention also provides a data storage device, including a controller, at least two first storage media and a second storage medium; the controller is respectively connected to the at least two first storage media and the second storage medium. Medium communication; wherein, each of the first storage medium and the second storage medium includes a data transmission channel; the controller is used to implement the method described in the foregoing embodiments of the present invention.
  • the data storage device may be a memory or the like, which is not limited in the present invention.
  • the controller can be a Field Programmable Gate Array (FPGA) or an application-specific integrated circuit (ASIC), etc., or a combination of the above.
  • the data storage device also includes a communication interface. For the controller in the embodiment of the present invention, reference may be made to the controller 1320 in FIG. 13, which will not be repeated here.
  • the embodiment of the present application also provides a computer-readable storage medium, including instructions, which when run on a computer, cause the computer to execute the data management method in the embodiment shown in FIG. 12 or execute the data in FIGS. 3 to 11 The method executed by the management device.
  • the embodiment of the present application also provides a computer program product, including instructions, which when run on a computer, cause the computer to execute the data management method in the embodiment shown in FIG. 12 or execute the data management device in FIGS. 3 to 11 Method of execution.
  • the embodiment of the present application provides a chip system, which includes a processor and may also include a memory, which is used to implement the functions of the data management device in the foregoing method.
  • the chip system can be composed of chips, and can also include chips and other discrete devices.
  • the embodiment of the present application provides a storage system, and the storage system includes the data management device in the embodiments shown in FIG. 3 to FIG. 11.
  • the methods provided in the embodiments of the present application may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software When implemented by software, it can be implemented in the form of a computer program product in whole or in part.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, network equipment, user equipment, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by the computer or a data storage device such as a server, data center, etc. integrated with one or more available media.
  • the available medium may be a magnetic medium (for example, a floppy disk, hard disk, Magnetic tape), optical media (for example, digital video disc (digital video disc, DVD for short)), or semiconductor media (for example, SSD), etc.

Landscapes

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

Abstract

一种数据管理装置及数据管理方法、数据存储设备,该数据管理装置包括管理单元和数据迁移单元,通过该管理单元来管理传输性能不同的两种存储介质之间的数据传输通道,然后,由该数据迁移单元利用管理后的数据传输通道,在该两种存储介质之间进行数据迁移。这样,不同传输性能的存储介质之间可以直接通过该数据管理装置迁移数据,而不需要通过系统中的CPU进行指令转换、协议转换等处理,可以节省CPU进行上述处理的时延,且,由于迁移数据不需要使用CPU,因此,可以降低CPU的资源开销。

Description

一种数据管理装置及数据管理方法、数据存储设备 技术领域
本申请涉及存储技术领域,尤其涉及一种数据管理装置及数据管理方法、数据存储设备。
背景技术
层次化存储系统设计是解决数据存储问题的一种趋势,其主要思想是:在存储系统中设置不同性能的存储介质,利用不同性能的存储介质的优势保证存储系统的性能最优化。例如,层次化存储系统中可以包括存储容量小但是读写速度快的第一类存储介质,以及,存储容量大但是读写速度慢的第二类存储介质,这样,可以通过第二类存储介质提供较大的存储容量,且通过第一类存储介质提供较快的读写速度,提高该层次化存储系统的整体性能。
作为一种示例,在层次化存储系统中,通常会为不同的存储介质设置独立的数据流、控制流和接口协议,这样,层次化存储系统的中央处理器(central processing unit,CPU)可以快速访问不同的存储介质。
然而,在层次化存储系统中,会存在数据迁移的场景。例如,CPU需要使用的数据存储在第二类存储介质中,则该数据首先需要从第二类存储介质迁移到第一类存储介质之后,才能被CPU使用。由于不同的存储介质设置独立的数据流、控制流和接口协议,因此,在进行上述数据迁移时,需要由CPU对数据进行解码、协议转换、编码等处理,从而会使得数据迁移的时延较大。上述处理过程还需要占用CPU的缓存、计算等资源,从而会造成较大的资源开销。因此,如何减小数据迁移过程中的时延以及降低资源开销,是目前亟待解决的技术问题。
发明内容
本申请实施例提供一种数据管理装置、方法及数据存储设备,用以减小层次化存储系统中数据在不同存储介质之间进行迁移的时延。
第一方面,提供一种数据管理装置,该数据管理装置包括管理单元和数据迁移单元,其中,通过管理单元来管理不同的两种存储介质之间的数据传输通道,例如,管理至少两个第一存储介质与第二存储介质之间的数据传输通道,该第一存储介质的传输性能低于所述第二存储介质的传输性能,且每一个第一存储介质与第二存储介质之间包含一条数据传输通道。然后,由数据迁移单元利用由管理单元管理后的数据传输通道在第二存储介质与至少两个第一存储介质之间迁移数据。
在上述技术方案中,不同传输性能的存储介质之间可以直接通过该数据管理装置迁移数据,而不需要通过系统中的CPU进行指令转换、协议转换等处理,可以节省CPU进行上述处理的时延,且,由于迁移数据不需要使用CPU,因此,可以降低CPU的资源开销。
在一种可能的设计中,通过管理单元管理后的数据传输通道的传输性能与第二存储介质的传输性能相匹配。这样,可以最大程度地减少在至少两个第一存储介质和第 二存储介质之间迁移数据的时延。第二存储介质的传输性能可以是指第二存储介质的吞吐率、数据处理能力等。数据传输通道的传输性能与第二存储介质的传输性能相匹配是指数据传输通道的传输性能与第二存储介质的传输性能匹配,不会成为第二存储介质的传输性能的瓶颈。
在一种可能的设计中,管理单元可以根据所述第二存储介质的传输位宽与所述第一存储介质的传输位宽之间的第一比值,或根据所述第二存储介质的传输带宽与所述第一存储介质的传输带宽之间的第二比值,确定所述第一存储介质的数量N,其中N为不小于2的整数;然后,基于所述第一存储介质的数量N建立所述N个第一存储介质与所述第二存储介质之间的数据传输通道。
在上述技术方案中,管理单元可以通过多种方式管理不同存储介质之间的数据传输通道,可以增加数据管理装置的灵活性。
在一种可能的设计中,该数据管理装置还包括数据处理单元,通过该数据处理单元接收数据读取指令,并根据所述数据读取指令从所述第二存储介质读取目标数据。
在上述技术方案中,可以在数据管理装置中设置数据处理单元,以便于该数据管理装置与其他模块进行通信,该其他模块可以为存储系统中的CPU等。
在一种可能的设计中,若数据处理单元接收的数据读取指令对应的目标数据存储在至少两个第一存储介质,则数据迁移单元,还用于将所述目标数据从所述至少两个第一存储介质迁移至所述第二存储介质。
在上述技术方案中,数据处理单元可以分别从不同的存储介质中读取数据,这样,其他模块可以仅使用一种协议来读取不同的存储介质中的数据,可以简化数据管理装置与其他模块之间的通信协议。
在一种可能的设计中,该数据管理装置还包括数据处理单元,用于接收第一数据写入指令,并根据所述第一数据写入指令向所述至少两个第一存储介质写入第一数据。
在一种可能的设计中,所述数据处理单元还用于接收第二数据写入指令,并根据所述第二数据写入指令向所述第二存储介质写入第二数据。
在上述技术方案中,该数据管理装置除了可以通过数据处理单元从不同的存储介质读取数据,还可以通过数据处理单元向存储介质中写入数据,其中,用于读取数据的数据处理单元可以与用于写入数据的数据处理单元是同一个数据处理单元,也可以是分别独立的数据处理单元,在此不作限制。
在一种可能的设计中,所述第一数据写入指令与所述第二数据写入指令所使用的协议相同。这样,其他模块可以仅使用一种协议来访问不同的存储介质,可以简化数据管理装置与其他模块之间的通信协议。
第二方面,提供一种数据管理方法,在该方法中,首先,管理至少两个第一存储介质与第二存储介质之间的数据传输通道,其中,所述第一存储介质的传输性能低于所述第二存储介质的传输性能,且每一个所述第一存储介质与所述第二存储介质之间包含一条数据传输通道;然后,利用所述数据传输通道在所述第二存储介质与所述至少两个第一存储介质之间迁移数据。
在一种可能的设计中,所述数据传输通道的传输性能与所述第二存储介质的传输 性能相匹配。第二存储介质的传输性能可以是指第二存储介质的吞吐率、数据处理能力、传输位宽或传输带宽等。数据传输通道的传输性能与第二存储介质的传输性能相匹配是指数据传输通道的传输性能与第二存储介质的传输性能匹配,不会成为第二存储介质的传输性能的瓶颈。
在一种可能的设计中,管理至少两个第一存储介质与第二存储介质之间的数据传输通道,包括:
根据所述第二存储介质的传输位宽与所述第一存储介质的传输位宽之间的第一比值,或根据所述第二存储介质的传输带宽与所述第一存储介质的传输带宽之间的第二比值,确定所述第一存储介质的数量N;其中N为不小于2的整数;
基于所述第一存储介质的数量N建立所述N个第一存储介质与所述第二存储介质之间的数据传输通道。
在一种可能的设计中,所述方法还包括:
接收数据读取指令,并根据所述数据读取指令从所述第二存储介质读取目标数据。
在一种可能的设计中,所述方法还包括:
将所述目标数据从所述至少两个第一存储介质迁移至所述第二存储介质。
在一种可能的设计中,所述方法还包括:
接收第一数据写入指令,并根据所述第一数据写入指令向所述至少两个第一存储介质写入第一数据。
在一种可能的设计中,所述方法还包括:
接收第二数据写入指令,并根据所述第二数据写入指令向所述第二存储介质写入第二数据。
在一种可能的设计中,所述第一数据写入指令与所述第二数据写入指令所使用的协议相同。
第三方面,提供一种数据存储设备,包括控制器、至少两个第一存储介质和第二存储介质;所述控制器分别与所述至少两个第一存储介质和所述第二存储介质通信;其中,每一个所述第一存储介质与所述第二存储介质之间包含一条数据传输通道;所述控制器用于实现第二方面及第二方面各种设计中的方法。数据存储设备可以是存储器等。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行第一方面中数据管理装置所执行的方法。
第五方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行第一方面中数据管理装置所执行的方法。
第六方面,本申请提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现第一方面中数据管理装置所执行的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
第七方面,本申请实施例提供了一种存储系统,该存储系统包括第一方面或第三 方面所述的数据管理装置。
上述第二方面至第七方面及其实现方式的有益效果可以参考对第一方面及其实现方式的有益效果的描述。
附图说明
图1为本申请所涉及的层次化的系统的一种示例的示意图;
图2为层次化的系统中在不同的存储介质之间迁移数据的一种示例的示意图;
图3为本申请实施例提供的数据管理装置的一种示例的结构框图;
图4为本申请实施例提供的管理单元301的一种示例的示意图;
图5为本申请实施例中数据迁移单元302的一种示例的示意图;
图6为本申请实施例中数据迁移单元302的数量的一种示例的示意图;
图7为本申请实施例中数据迁移单元302的数量的另一种示例的示意图;
图8为本申请实施例提供的数据管理装置的另一种示例的结构框图;
图9为本申请实施例提供的数据管理装置的另一种示例的结构框图;
图10为本申请实施例提供的数据管理装置的另一种示例的结构框图;
图11为本申请实施例提供的数据管理装置的另一种示例的结构框图;
图12为本申请实施例提供的数据管理方法的一种示例的流程图;
图13为本申请实施例提供的数据管理装置的另一种示例的结构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合说明书附图以及具体的实施方式对本申请实施例中的技术方案进行详细的说明。
本申请实施例中“多个”是指两个或两个以上,鉴于此,本申请实施例中也可以将“多个”理解为“至少两个”。“至少一个”,可理解为一个或多个,例如理解为一个、两个或更多个。例如,包括至少一个,是指包括一个、两个或更多个,而且不限制包括的是哪几个,例如,包括A、B和C中的至少一个,那么包括的可以是A、B、C、A和B、A和C、B和C、或A和B和C。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
本申请实施例中的方法及装置可以应用于层次化的系统中,请参考图1,为层次化的系统的一种示例的示意图。如图1所示,不同性能的存储介质位于不同的层级,例如,在图1中,包括3个层级,从上至下依次标记为层级1~层级3,其中,层级3中的存储介质为硬盘,例如,可以包括串行高级技术附件(serial advanced technology attachment,SATA)硬盘、小型计算机系统接口(small computer system interface,SCSI)硬盘、串行连接SCSI接口(serial attached SCSI,SAS)硬盘、光纤通道接口(fibre channel,FC)硬盘、机械硬盘(hard disk drive,HDD)以及固态硬盘(solid  state drive,SSD)等;层级2中的存储介质为存储级内存(storage class memory,SCM),例如可以包括相变存储器(phase-change memory,PCM)、阻抗随机存储器(resistive random-access memory,ReRAM)、磁性随机存储器(magnetic random access memory,MRAM)等;层级1中的存储介质为动态随机存取存储器(dynamic random access memory,DRAM),例如可以包括同步动态随机存取内存(synchronous dynamic random-access memory,SDRAM)、双数据传输模式SDRAM(double data rate SDRAM,DDR SDRAM)等。
从层级1至层级3,各个层级中存储介质的存储容量逐渐减小,但是读写速度逐渐增大,这样,可以通过下层存储介质提供较大的存储容量,而通过上层存储介质提供较快的读写速度,可以充分发挥不同介质的优势,提升存储系统的性能。
在图1所示的层次化的系统中,系统的CPU通过不同的协议和接口访问不同层级中的存储介质。作为一种示例,可以为不同层级中的存储介质设置对应的控制器。以图1中的层级1和层级2中的存储介质为例,请参考图2,可以为层级1中的存储介质设置内存控制器(memory controller),为层级2中的存储介质设置SCM控制器,从而当CPU需要访问层级1中的存储介质时,则向内存控制器发送指令;当host CPU需要访问层级2中的存储介质时,则向SCM控制器发送指令,实现快速访问各个层级的存储介质的目的。
然而,在层次化的系统中存在数据迁移的场景,例如,将存储在层级2的存储介质中的数据迁移到层级1的存储介质。继续参考图2,当需要进行上述数据迁移时,SCM控制器首先将数据从层级2的存储介质中读取出来,然后通过与CPU通信的协议和接口,将读取的数据发送给CPU,由CPU对接收到的信息进行指协议转换等处理,生成用于与内存控制器通信的信息,并通过与内存控制器通信的接口发送给内存控制器,最后由内存控制器对该信息进行解码等处理,获取数据,并将数据存储到层级1的存储介质中。
可见,在进行上述数据迁移时,需要由CPU及不同层级的存储介质控制器对数据进行处理,从而会使得数据迁移的时延较大。且,上述处理过程需要占用CPU的缓存、计算等资源,从而会造成较大的资源开销。因此,如何减小数据迁移过程中的时延以及降低资源开销,是目前亟待解决的技术问题。
鉴于此,本申请提供一种数据管理装置,该数据管理装置包括管理单元和数据迁移单元,通过该管理单元来管理传输性能不同的两种存储介质之间的数据传输通道,然后,由该数据迁移单元利用管理后的数据传输通道,在该两种存储介质之间进行数据迁移。这样,不同传输性能的存储介质之间可以直接通过该数据管理装置迁移数据,而不需要通过CPU进行协议转换、数据搬移等处理,可以减少CPU进行上述处理的时延,且,由于迁移数据不需要使用CPU,因此,可以降低CPU的资源开销。
下面,将结合附图对本申请提供的数据管理装置进行说明。
需要说明的是,本申请提供的数据管理装置可以应用在任何包括不同传输性能的存储介质的系统中,或者,可以理解为该数据管理装置为系统中的一部分,该系统可以是如图1所示的层次化的系统,也可以是其他系统,在此不作限制。为方便说明,在下文中,将以该数据管理装置应用在如图1所示的层次化的系统为例。该系统可以 是服务器或者存储系统等,本发明实施例对此不作限定。
请参考图3,为本申请实施例提供的数据管理装置的一种示例的结构框图。如图3所示,该数据管理装置包括管理单元301和数据迁移单元302。该数据管理装置可以用于管理包括传输性能不同的存储介质中的数据,以传输性能不同的存储介质包括第一存储介质和第二存储介质为例,其中,第一存储介质的传输性能低于第二存储介质的传输性能。该数据管理装置可以分别与至少两个第一存储介质和第二存储介质连接,每一个第一存储介质与第二存储介质之间包含一条数据传输通道,管理单元301则用于管理该至少两个第一存储介质和第二存储介质之间的数据传输通道,数据迁移单元302则利用由管理单元301管理的数据传输通道,在第二存储介质与至少两个第一存储介质之间迁移数据。
其中,管理单元301管理第一存储介质和第二存储介质之间的数据传输通道,可以理解为,管理单元301确定第一存储介质和第二存储介质之间进行数据传输的多个数据传输通道,本发明实施例将管理单元301确定第一存储介质和第二存储介质之间进行数据传输的多个数据传输通道称为虚拟传输通道。由于第一存储介质的传输性能低于第二存储介质的传输性能,所以通过多个数据传输通道,即多个第一存储介质并行与第二存储介质进行数据传输,以缩小第一存储介质和第二存储介质的传输性能之间的差距。
其中一种实现,一个数据传输通道对应第一存储介质中用于进行数据传输的数据位,管理单元301可以为用于合并至少两个第一存储介质的数据位的器件。请参考图4,为管理单元301的一种示例的示意图。在图4中,以第一存储介质为图1所示的层级2中的SCM,第二存储介质为图1所示的层级1中的DRAM为,则管理单元301可以为超级SCM端口物理层(super SCM port physical layer,super SCM PHY),将至少两个SCM的数据位作为一个虚拟的数据传输通道,例如,将8个SCM的数据位作为一个虚拟数据传输通道,该虚拟数据传输通道由super SCM PHY中的数据读取脉冲(DQS)统一控制。这样,虚拟的数据传输通道可以同步传输多个SCM中的数据,相较于单个SCM,其传输性能得到提升,例如,单个SCM的传输带宽为800MB/s,若该虚拟数据传输通道包含8个SCM的数据位,则该虚拟数据传输通道的传输带宽则为800*8=6400MB/s,从而可以提高SCM与DRAM之间的数据迁移的速率,减少数据迁移的时延。
作为一种示例,虚拟数据传输通道的传输性能与第二存储介质的传输性能相匹配。第二存储介质的传输性能可以是指第二存储介质的吞吐率、数据处理能力、传输位宽或传输带宽等。数据传输通道的传输性能与第二存储介质的传输性能相匹配是指数据传输通道的传输性能与第二存储介质的传输性能匹配,不会成为第二存储介质的传输性能的瓶颈。这样,虚拟数据传输通道发送的数据的数据量与第二存储介质能够处理的单位数据量相匹配,从而当第二存储介质通过该虚拟数据传输通道接收到数据后,可以直接处理该数据,进一步减少数据迁移的时延。
在本申请实施例中,传输性能可以通过传输位宽或者传输带宽进行表示,则管理单元301可以根据第二存储介质的传输位宽与第一存储介质的传输位宽之间的第一比值,或根据第二存储介质的传输带宽与第一存储介质的传输带宽之间的第二比值,确 定第一存储介质的数量N,其中,N为不小于2的整数;然后,管理单元301则基于第一存储介质的数量N建立该N个第一存储介质与该第二存储介质之间的数据传输通道。
例如,第一存储介质为SCM,第二存储介质为DDR4,管理单元301确定SCM的传输位宽为8位(bit),DDR4的传输位宽为64bit,则DDR4的传输位宽与SCM的传输位宽之间的比值为8,从而管理单元301确定建立8个SCM与1个DDR4之间的数据传输通道。又例如,第一存储介质为SCM,第二存储介质为DDR5,管理单元301确定SCM的传输带宽为800MB/s,DDR5的传输带宽为3200MB/s,则DDR5的传输带宽与SCM的传输带宽之间的比值为4,从而管理单元301确定建立4个SCM与1个DDR5之间的数据传输通道。
需要说明的是,若通过其他参数来表示不同存储介质的传输性能,则管理单元301也可以通过其他方式确定该N的取值,在此不作限制。
请参考图5,为本申请实施例中数据迁移单元302的一种示例的示意图。如图5所示,该数据迁移单元302可以是由编解码模块、加扰或者解扰模块、循环冗余校验(cyclic redundancy check,CRC)模块以及加解密模块等多个模块组成的,通过该数据迁移单元302实现对管理后的数据传输通道中的数据进行编解码处理、加扰或者解扰处理、循环冗余校验(cyclic redundancy check,CRC)处理以及加密处理等,以保证管理后的数据传输通道中迁移的数据的可靠性。当然,数据迁移单元302也可以是一个独立的芯片,该独立的芯片可以用于实现上述多个模块的功能,在此不对数据迁移单元302的具体实现方式进行限制。
在本申请实施例中,数据迁移单元302的数量可以是一个,也可以是多个。具体来讲,管理单元301可以根据第一存储介质和第二存储介质的数量,在第一存储介质和第二存储介质之间的创建虚拟数据传输通道。
例如,管理单元301用于管理8个第一存储介质和1个第二存储介质之间的数据传输通道。例如,管理单元301在每4个第一存储介质和第二存储介质之间创建一个虚拟数据传输通道,也就是说,管理单元301总共创建了2个虚拟数据传输通道。每一个虚拟数据传输通道包含4个第一存储介质与第二存储介质间的数据传输通道。在这种情况下,作为一种示例,数据迁移单元302的数量可以为一个,如图6所示,数据迁移单元302分别与2个虚拟数据传输通道连接,用于通过该2个虚拟数据传输通道在该多个第一存储介质和第二存储介质之间迁移数据。
作为另一种示例,数据迁移单元302的数量也可以为多个,具体来讲,其数量可以与虚拟数据传输通道的数量相同,如图7所示,管理单元301在第一存储介质和第二存储介质之间创建了2个虚拟数据传输通道,因此,数据迁移单元302的数量也为2个,每个数据迁移单元302分别与一个虚拟数据传输通道连接进行迁移数据。在这种情况下,通过多个相互独立的数据迁移单元302分别进行数据迁移,从而可以避免出现多个虚拟数据传输通道之间的数据发生阻塞的情况,可以提高该数据管理装置的服务质量(quality of service,QoS)。
进一步,为了方便系统中的CPU读取第一存储介质和第二存储介质中的数据,本申请实施例中的数据管理装置还可以包括数据处理单元303,用于接收数据读取指 令,并根据该数据读取指令从第二存储介质读取目标数据。
作为一种示例,请参考图8,该数据处理单元303分别与第二存储介质和数据迁移单元302连接,当数据处理单元303接收该数据读取指令后,则首先从第二存储介质中读取目标数据,若第二存储介质中不存在该目标数据,则该数据处理单元303则向数据迁移单元302发送迁移指令,数据迁移单元302根据该迁移指令,将目标数据从至少两个第一存储介质迁移至第二存储介质。或者,该数据处理单元303在接收到该数据读取指令后,先判断该目标数据存储在第一存储介质中还是存储在第二存储介质中,例如,第一存储介质的存储容量大于第二存储介质的存储容量,因此,第一存储介质中存储的数据的数据量较大而第二存储介质中存储的数据的数据量较小,因此,若该目标数据的数据量大于阈值,则确定该目标数据存储在第一存储介质中,否则确定该目标数据存储在第二储存介质中。若该目标数据存储在第一存储介质中,则通过数据迁移单元302将目标数据从第一存储介质迁移到第二存储介质;若该目标数据存储在第二存储介质中,则直接从第二存储介质中读取该目标数据。
由上述过程可知,无论数据处理单元303接收到数据读取指令需要读取的目标数据存储在何种存储介质中,数据处理单元303都能够获取该目标数据,因此,该数据处理单元303对外只需要呈现一个统一的数据读取接口,通过该统一的数据读取接口读取第一存储介质和第二存储介质中存储的数据,这样,可以将如图2所示的系统中的分别针对两种存储介质的控制器(即SCM控制器和内存控制器)统一为本申请实施例中的数据管理装置,可以降低系统中对存储介质的控制器的性能需求,并可以将如图2所示的不同存储介质之间的并联结构变为本申请实施例中的串联结构,简化系统架构。另外,由于CPU可以通过统一的数据读取接口从两种存储介质中读取数据或者向存储介质中写入数据,也就是说,CPU可以仅使用一种协议(包括内存语义以及输入输出(input and output,IO)语义等)访问这两种存储介质,可以简化CPU的数据访问过程。
进一步,CPU除了需要从第一存储介质和第二存储介质中读取数据,还可能需要向第一存储介质或第二存储介质中写入数据,则在本申请实施例中,该数据管理装置还可以包括数据处理单元304,用于接收第一数据写入指令,并根据该第一数据写入指令向至少两个第一存储介质写入第一数据,或者,该数据处理单元304还用于接收第二数据写入指令,并根据该第二数据写入指令向第二存储介质写入第二数据。
作为一种示例,请参考图9,该数据处理单元304分别与第二存储介质和数据迁移单元302连接,当数据处理单元304接收该第一数据写入指令后,可以直接通过数据迁移单元302,将该第一数据写入指令中携带的第一数据写入到至少两个第一存储介质中;或者,数据处理单元304也可以根据预设的策略判断将该第一数据写入到第一存储介质中或者写入到第二存储介质中,该预设的策略可以是判断第一数据的数据量大小,若该第一数据的数据量小于阈值,则确定将该第一数据写入到第二存储介质,否则,将第一数据写入到第一存储介质;或者,该第一数据写入指令中指示了第一数据的存储位置,例如第一数据的存储位置为至少两个第一存储介质,则数据处理单元304将根据该第一数据写入到至少两个第一存储介质中。数据处理单元304对第二数据写入指令的处理方式与对第一数据写入指令的处理方式相似,在此不再赘述。
由上述过程可知,数据处理单元304能够根据数据写入指令,分别向该第一存储介质和第二存储介质中写入数据,因此,与数据处理单元303相似,数据处理单元304对外也只需要呈现一个统一的数据写入接口,通过该统一的数据写入接口分别向第一存储介质和第二存储介质中写入数据,也就是说,CPU可以仅使用一种协议向这两种存储介质中写入数据,即上述过程中,数据处理单元304接收到的第一数据写入指令与第二数据写入指令所使用的协议相同,从而可以简化CPU的数据写入过程。
需要说明的是,数据处理单元303和数据处理单元304可以是两个相互独立的数据处理单元,其中,数据处理单元303为进行数据读取的数据处理单元,数据处理单元304为写入数据的数据处理单元。或者,数据处理单元303和数据处理单元304也可以集成在同一个数据处理单元中,该数据处理单元通过数据读取的程序代码及一个数据读取接口实现数据处理单元303的功能,以及,通过数据写入的程序代码及一个数据写入接口实现数据处理单元304的功能。在这种情况下,数据处理单元303和数据处理单元304以用来接收CPU的数据读取指令和数据写入指令,且,还能够与数据迁移单元302进行通信,以从至少两个第一存储介质中读取数据或者向至少两个第一存储介质写入数据。
另外,考虑到第一存储介质的传输性能低于第二存储介质的传输性能,这样,当向至少两个第一存储介质写入数据时,在单位时间,向至少两个第一存储介质发送的数据的数据量会大于至少两个第一存储介质中写入的数据的数据量,因此,为了保证数据能够完整地写入至少两个第一存储介质,还可以在数据管理装置中设置缓存单元305,作为一种示例,请参考图10,为数据管理装置的另一种示例的结构框图。在图10中,该缓存单元305与数据处理单元304连接,用于从数据处理单元304中接收并缓存数据。当数据处理单元304确定向至少两个第一存储介质写入数据时,数据处理单元304首先将该数据发送到缓存单元305中,然后分批次从缓存单元305中读取数据,并将读取的数据写入到至少两个第一存储介质中,直至将缓存单元305中的数据全部写入到至少两个第一存储介质。
进一步,为了降低数据处理单元304的负载,本申请实施例中的数据管理装置还可以包括写入处理单元306。作为一种示例,请参考图11,写入处理单元306分别与图10所示的缓存单元305和数据迁移单元302连接,用于从缓存单元305中读取数据,然后利用数据迁移单元302将读取的数据写入到至少两个第一存储介质中。在这种情况下,当数据处理单元304接收到第一写入数据指令后,只需要将该第一写入数据指令中携带的数据存储到缓存单元305中,然后,由写入处理单元306从缓存单元305中读取数据后,将该数据写入到至少两个第一存储介质中,可以降低数据处理单元304的负载。
在一种可能的实施方式中,若第一存储介质为如图2所示的SCM,则该写入处理单元306用于向至少两个第一存储介质写入数据。
由图8~图11所示的数据管理装置可知,该数据管理装置可以直接与CPU进行通信,以从第一存储介质和第二存储介质中读取数据或者向第一存储介质或第二存储介质写入数据,则从这个角度上来说,可以将上述数据管理装置替换图2所示的内存 控制器和SCM控制器,从而得到由数据管理装置与CPU组成的一种新结构的系统,该新结构的系统中不同层级的存储介质之间由图2所示的并联结构变成了如图8~图11中所示的串联连接,还可以简化针对不同层级的存储介质的控制器的设计。
基于同一发明构思,本申请实施例提供一种数据管理方法,该方法应用于如图3~图11中任一所示的数据管理装置中。请参考图12,为该方法的一种示例的流程图,该流程图的描述如下:
S1201、管理单元301管理至少两个第一存储介质与第二存储介质之间的数据传输通道。
其中,第一存储介质和第二存储介质的传输性能之间的关系,已在前述内容中进行了介绍,在此不再赘述。管理单元301管理每一个第一存储介质与第二存储介质之间的数据传输通道。
具体来讲,管理单元301可以随机创建该多个第一存储介质与第二存储介质之间的虚拟数据传输通道,或者,管理单元301可以根据第二存储介质的传输位宽与第一存储介质的传输位宽之间的第一比值,或根据第二存储介质的传输带宽与第一存储介质的传输带宽之间的第二比值,确定第一存储介质的数量N,然后基于第一存储介质的数量N,建立该N个第一存储介质与该第二存储介质之间的数据传输通道。具体过程可以参照前述对管理单元301的描述,在此不再赘述。
当然,管理单元301也可以采用其他方式创建第一存储介质与第二存储介质之间的管理后的数据传输通道,在本申请实施例中不作限制。
S1202、数据迁移单元302利用所述数据传输通道在所述第二存储介质与所述至少两个第一存储介质之间迁移数据。
在一种可能的实施方式中,若数据管理装置还包括数据处理单元303,则该方法还可以执行步骤S1203,即:
S1203、数据处理单元303接收数据读取指令,并根据所述数据读取指令从所述第二存储介质读取目标数据。
具体来讲,当数据处理单元303接收该数据读取指令后,可以确定该目标数据的存储位置,若该目标数据存储在第二存储介质,则数据处理单元303直接从第二存储介质中读取该目标数据;若该目标数据存储在至少两个第一存储介质,则数据处理单元303利用数据迁移单元302将该目标数据从至少两个第一存储介质迁移至第二存储介质,然后再从第二存储介质中读取该目标数据。具体过程可以参照前述对数据处理单元303的描述,在此不再赘述。
在一种可能的实施方式中,若数据管理装置还包括数据处理单元304,则该方法还可以执行步骤S1204,即:
S1204、数据处理单元304接收第一数据写入指令,并根据所述第一数据写入指令向所述至少两个第一存储介质写入第一数据。
S1205、数据处理单元304接收第二数据写入指令,并根据所述第二数据写入指令向所述第二存储介质写入第二数据。
在本申请实施例中,第一数据写入指令与第二数据写入指令所使用的协议相同。以数据处理单元304接收到第一数据写入指令为例,数据处理单元304可以根据预设 的策略确定该第一数据的存储位置,若确定该第一数据存储在第二存储介质,则数据处理单元304直接将该第一数据写入第二存储介质中;若确定该第一数据存储在至少两个第一存储介质,则数据处理单元304利用数据迁移单元302将该第一数据写入到至少两个第一存储介质中。或者,数据处理单元304根据第一写入指令中指示的存储位置,将第一数据写入到对应的存储介质中。具体过程可以参照前述对数据处理单元304的描述,在此不再赘述。
需要说明的是,步骤S1203~步骤S1205为可选步骤,即不是必须要执行的,因此,在图12中用虚线表示步骤S1203~步骤S1205。
在上述技术方案中,不同传输性能的存储介质之间可以直接通过该数据管理装置迁移数据,而不需要通过系统中的CPU进行处理,可以减少CPU进行上述处理的时延,且,由于迁移数据不需要使用CPU,因此,可以降低t CPU的资源开销。
上述本申请提供的实施例中,为了实现上述本申请实施例提供的方法中的各功能,存储系统可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
图3~图11所示的实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
如图13所示为本申请实施例提供的数据管理装置1300,其中,数据管理装置1300可以为芯片系统。本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
数据管理装置1300包括至少一个控制器1320,用于实现或用于支持数据管理装置1300实现本申请实施例提供的方法。具体参见方法示例中的详细描述,此处不做赘述。
数据管理装置1300通信接口1310,通信接口1310用于与CPU通信。
本申请实施例中不限定上述通信接口1310与控制器1320之间的具体连接介质。本申请实施例在图13中以控制器1320及通信接口1310之间通过总线1330连接,该总线可以为使用数据一致性协议通信的总线,总线在图13中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,控制器1320可以是super SCM PHY,也可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器 等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本发明实施例还提供一种数据存储设备,包括控制器、至少两个第一存储介质和第二存储介质;所述控制器分别与所述至少两个第一存储介质和所述第二存储介质通信;其中,每一个所述第一存储介质与所述第二存储介质之间包含一条数据传输通道;控制器用于实现本发明实施例前面描述的方法。数据存储设备可以是存储器等,本发明对此不作限定。控制器可以是现场可编程门阵列(Field Programmable Gate Array,FPGA)或者专用集成电路(Application-specific integrated circuit,ASIC)等,也可以是上述多种的组合。数据存储设备还包括通信接口。本发明实施例中控制器可参考图13中的控制器1320,在此不再赘述。
本申请实施例中还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行图12所示的实施例中的数据管理方法或者执行图3~图11中数据管理装置执行的方法。
本申请实施例中还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行图12所示的实施例中的数据管理方法或者执行图3~图11中数据管理装置执行的方法。
本申请实施例提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现前述方法中数据管理装置的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
本申请实施例提供了一种存储系统,该存储系统包括图3~图11所示的实施例中数据管理装置。
本申请实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,简称DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,简称DVD))、或者半导体介质(例如,SSD)等。

Claims (26)

  1. 一种数据管理装置,其特征在于,包括:
    管理单元,用于管理至少两个第一存储介质与第二存储介质之间的数据传输通道;所述第一存储介质的传输性能低于所述第二存储介质的传输性能;其中,每一个所述第一存储介质与所述第二存储介质之间包含一条数据传输通道;
    数据迁移单元,用于利用所述数据传输通道在所述第二存储介质与所述至少两个第一存储介质之间迁移数据。
  2. 根据权利要求1所述的装置,其特征在于,所述数据传输通道的传输性能与所述第二存储介质的传输性能相匹配。
  3. 根据权利要求1或2所述的装置,其特征在于,所述管理单元,具体用于:根据所述第二存储介质的传输位宽与所述第一存储介质的传输位宽之间的第一比值,或根据所述第二存储介质的传输带宽与所述第一存储介质的传输带宽之间的第二比值,确定所述第一存储介质的数量N;其中N为不小于2的整数;
    基于所述第一存储介质的数量N建立所述N个第一存储介质与所述第二存储介质之间的数据传输通道。
  4. 根据权利要求1-3任一所述的装置,其特征在于,所述数据管理装置还包括数据处理单元,用于接收数据读取指令,并根据所述数据读取指令从所述第二存储介质读取目标数据。
  5. 根据权利要求4所述的装置,其特征在于,所述数据迁移单元,还用于将所述目标数据从所述至少两个第一存储介质迁移至所述第二存储介质。
  6. 根据权利要求1-3任一所述的装置,其特征在于,所述数据管理装置还包括数据处理单元,用于接收第一数据写入指令,并根据所述第一数据写入指令向所述至少两个第一存储介质写入第一数据。
  7. 根据权利要求6所述的装置,其特征在于,所述数据处理单元还用于接收第二数据写入指令,并根据所述第二数据写入指令向所述第二存储介质写入第二数据。
  8. 根据权利要求7所述的装置,其特征在于,所述第一数据写入指令与所述第二数据写入指令所使用的协议相同。
  9. 一种数据管理方法,其特征在于,包括:
    管理至少两个第一存储介质与第二存储介质之间的数据传输通道;所述第一存储介质的传输性能低于所述第二存储介质的传输性能;其中,每一个所述第一存储介质与所述第二存储介质之间包含一条数据传输通道;
    利用所述数据传输通道在所述第二存储介质与所述至少两个第一存储介质之间迁移数据。
  10. 根据权利要求9所述的方法,其特征在于,所述数据传输通道的传输性能与所述第二存储介质的传输性能相匹配。
  11. 根据权利要求9或10所述的方法,其特征在于,管理至少两个第一存储介质与第二存储介质之间的数据传输通道,包括:
    根据所述第二存储介质的传输位宽与所述第一存储介质的传输位宽之间的第一比值,或根据所述第二存储介质的传输带宽与所述第一存储介质的传输带宽之间的第二 比值,确定所述第一存储介质的数量N;其中N为不小于2的整数;
    基于所述第一存储介质的数量N建立所述N个第一存储介质与所述第二存储介质之间的数据传输通道。
  12. 根据权利要求9-11任一所述的方法,其特征在于,所述方法还包括:
    接收数据读取指令,并根据所述数据读取指令从所述第二存储介质读取目标数据。
  13. 根据权利要求12所述的方法,其特征在于,所述方法还包括:
    将所述目标数据从所述至少两个第一存储介质迁移至所述第二存储介质。
  14. 根据权利要求9-11任一所述的方法,其特征在于,所述方法还包括:
    接收第一数据写入指令,并根据所述第一数据写入指令向所述至少两个第一存储介质写入第一数据。
  15. 根据权利要求14所述的方法,其特征在于,所述方法还包括:
    接收第二数据写入指令,并根据所述第二数据写入指令向所述第二存储介质写入第二数据。
  16. 根据权利要求15所述的方法,其特征在于,所述第一数据写入指令与所述第二数据写入指令所使用的协议相同。
  17. 一种数据存储设备,其特征在于,包括控制器、至少两个第一存储介质和第二存储介质;所述控制器分别与所述至少两个第一存储介质和所述第二存储介质通信;其中,每一个所述第一存储介质与所述第二存储介质之间包含一条数据传输通道;所述控制器用于:
    管理所述至少两个第一存储介质和所述第二存储介质之间的数据传输通道;所述第一存储介质的传输性能低于所述第二存储介质的传输性能;
    利用所述数据传输通道在所述第二存储介质与所述至少两个第一存储介质之间迁移数据。
  18. 根据权利要求17所述的数据存储设备,其特征在于,所述数据传输通道的传输性能与所述第二存储介质的传输性能相匹配。
  19. 根据权利要求17或18所述的数据存储设备,其特征在于,所述控制器具体用于:根据所述第二存储介质的传输位宽与所述第一存储介质的传输位宽之间的第一比值,或根据所述第二存储介质的传输带宽与所述第一存储介质的传输带宽之间的第二比值,确定所述第一存储介质的数量N;其中N为不小于2的整数;
    基于所述第一存储介质的数量N建立所述N个第一存储介质与所述第二存储介质之间的数据传输通道。
  20. 根据权利要求17-19任一所述的数据存储设备,其特征在于,所述控制器还用于接收数据读取指令,并根据所述数据读取指令从所述第二存储介质读取目标数据。
  21. 根据权利要求20所述的数据存储设备,其特征在于,所述控制器还用于将所述目标数据从所述至少两个第一存储介质迁移至所述第二存储介质。
  22. 根据权利要求17-19任一所述的数据存储设备,其特征在于,所述控制器还用于接收第一数据写入指令,并根据所述第一数据写入指令向所述至少两个第一存储 介质写入第一数据。
  23. 根据权利要求22所述的数据存储设备,其特征在于,所述控制器还用于接收第二数据写入指令,并根据所述第二数据写入指令向所述第二存储介质写入第二数据。
  24. 根据权利要求23所述的数据存储设备,其特征在于,所述第一数据写入指令与所述第二数据写入指令所使用的协议相同。
  25. 一种计算机存储介质,其特征在于,所述计算机存储介质存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求9-16任一项所述的方法。
  26. 一种计算机程序产品,其特征在于,所述计算机程序产品存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求9-16任一项所述的方法。
PCT/CN2021/081210 2020-04-08 2021-03-17 一种数据管理装置及数据管理方法、数据存储设备 WO2021203927A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21785433.0A EP4095667A4 (en) 2020-04-08 2021-03-17 DATA MANAGEMENT DEVICE, DATA MANAGEMENT PROCEDURES AND DATA STORAGE DEVICE
US17/959,861 US20230028301A1 (en) 2020-04-08 2022-10-04 Data management apparatus, data management method, and data storage device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202010271256 2020-04-08
CN202010271256.1 2020-04-08
CN202010718684.4A CN113495684A (zh) 2020-04-08 2020-07-23 一种数据管理装置及数据管理方法、数据存储设备
CN202010718684.4 2020-07-23

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/959,861 Continuation US20230028301A1 (en) 2020-04-08 2022-10-04 Data management apparatus, data management method, and data storage device

Publications (1)

Publication Number Publication Date
WO2021203927A1 true WO2021203927A1 (zh) 2021-10-14

Family

ID=77994948

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/081210 WO2021203927A1 (zh) 2020-04-08 2021-03-17 一种数据管理装置及数据管理方法、数据存储设备

Country Status (4)

Country Link
US (1) US20230028301A1 (zh)
EP (1) EP4095667A4 (zh)
CN (1) CN113495684A (zh)
WO (1) WO2021203927A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398745A (zh) * 2007-09-29 2009-04-01 群联电子股份有限公司 并行数据存取架构的固态盘存储系统与固态盘控制器
CN106484325A (zh) * 2016-09-14 2017-03-08 广东欧珀移动通信有限公司 一种数据迁移方法及移动终端
CN109359069A (zh) * 2018-09-25 2019-02-19 济南浪潮高新科技投资发展有限公司 一种数据传输方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100357923C (zh) * 2002-02-06 2007-12-26 皇家飞利浦电子股份有限公司 设备系统
US20080114924A1 (en) * 2006-11-13 2008-05-15 Jack Edward Frayer High bandwidth distributed computing solid state memory storage system
US20100199036A1 (en) * 2009-02-02 2010-08-05 Atrato, Inc. Systems and methods for block-level management of tiered storage
US8612676B2 (en) * 2010-12-22 2013-12-17 Intel Corporation Two-level system main memory
US9063841B1 (en) * 2011-08-01 2015-06-23 Marvell Israel (M.L.S.L.) Ltd. External memory management in a network device
US9594639B2 (en) * 2014-01-06 2017-03-14 International Business Machines Corporation Configuring storage resources of a dispersed storage network
US11099763B1 (en) * 2014-06-30 2021-08-24 Pure Storage, Inc. Migrating generational storage to a decentralized agreement protocol paradigm
US10459797B2 (en) * 2014-06-30 2019-10-29 Pure Storage, Inc. Making trade-offs between rebuild scanning and failing memory device flexibility
US9558528B2 (en) * 2015-03-25 2017-01-31 Xilinx, Inc. Adaptive video direct memory access module
US11409450B2 (en) * 2019-06-17 2022-08-09 Micron Technology, Inc. Channel architecture for memory devices
WO2021079535A1 (ja) * 2019-10-23 2021-04-29 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398745A (zh) * 2007-09-29 2009-04-01 群联电子股份有限公司 并行数据存取架构的固态盘存储系统与固态盘控制器
CN106484325A (zh) * 2016-09-14 2017-03-08 广东欧珀移动通信有限公司 一种数据迁移方法及移动终端
CN109359069A (zh) * 2018-09-25 2019-02-19 济南浪潮高新科技投资发展有限公司 一种数据传输方法及装置

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
EP4095667A4 (en) 2023-07-12
US20230028301A1 (en) 2023-01-26
CN113495684A (zh) 2021-10-12
EP4095667A1 (en) 2022-11-30

Similar Documents

Publication Publication Date Title
TWI814975B (zh) 用於利用自我調整寫緩衝區釋放的存儲介質編程方法與裝置、以及其系統單晶片
US7596675B2 (en) Memory hub architecture having programmable lane widths
US20140104967A1 (en) Inter-memory data transfer control unit
BR112019026942A2 (pt) tecnologia de acesso à memória e sistema de computador
US11741034B2 (en) Memory device including direct memory access engine, system including the memory device, and method of operating the memory device
US11556279B2 (en) System device, and method for memory interface including reconfigurable channel
WO2021203927A1 (zh) 一种数据管理装置及数据管理方法、数据存储设备
JP4046278B2 (ja) Nvm記憶装置
US11962675B2 (en) Interface circuit for providing extension packet and processor including the same
WO2020024113A1 (zh) 一种内存交织方法及装置
WO2022262345A1 (zh) 一种数据管理方法、存储空间管理方法及装置
US20210117127A1 (en) Efficient command queue in universal flash storage (ufs)
KR20220067992A (ko) 선택적 및 병렬적 에러 정정을 수행하는 메모리 컨트롤러, 이를 포함하는 시스템 및 메모리 장치의 동작 방법
CN102609379B (zh) 一种存储系统的控制器硬件架构
US20230376427A1 (en) Memory system and computing system including the same
WO2023040821A1 (zh) 一种数据存储方法、装置、设备及可读介质
US12008270B2 (en) System, device, and method for memory interface including reconfigurable channel
WO2024045846A1 (zh) 存储介质的迁移带宽调整方法、装置、系统以及芯片
US11734131B2 (en) Memory device having redundant media management capabilities
US20230342049A1 (en) Reading a master boot record for a namespace using a regular read operation
US20230315316A1 (en) Reading a master boot record for a namespace after reformatting the namespace
KR20220070951A (ko) 메모리 장치, 이를 포함하는 시스템 및 메모리 장치의 동작 방법
KR20230160673A (ko) 메모리 시스템 및 이를 포함하는 컴퓨팅 시스템
CN117075795A (zh) 存储器系统以及包括其的计算系统
KR20230144434A (ko) 호스트 장치의 동작 방법 및 스토리지 장치의 동작 방법

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021785433

Country of ref document: EP

Effective date: 20220825

NENP Non-entry into the national phase

Ref country code: DE