WO2024012349A1 - Procédé de traitement de données, contrôleur de ssd, dispositif électronique et support de stockage lisible - Google Patents

Procédé de traitement de données, contrôleur de ssd, dispositif électronique et support de stockage lisible Download PDF

Info

Publication number
WO2024012349A1
WO2024012349A1 PCT/CN2023/106134 CN2023106134W WO2024012349A1 WO 2024012349 A1 WO2024012349 A1 WO 2024012349A1 CN 2023106134 W CN2023106134 W CN 2023106134W WO 2024012349 A1 WO2024012349 A1 WO 2024012349A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
index
volatile memory
circuit
host
Prior art date
Application number
PCT/CN2023/106134
Other languages
English (en)
Chinese (zh)
Inventor
田海东
薛晓勇
王飞
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2024012349A1 publication Critical patent/WO2024012349A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • Embodiments of the present application relate to, but are not limited to, the field of data processing technology, and in particular, to a data processing method, a solid state drive SSD controller, electronic equipment, and a computer-readable storage medium.
  • the key-value storage system uses key-value pairs as the most basic storage unit and is a non-relational database; the storage architecture of existing key-value storage systems usually adopts the von Neumann architecture computer system; for computer systems based on von Neumann In the structured computer system, storage and calculation are separated.
  • the central control processor needs to read data from the storage medium and then process it. Data transmission has become the bottleneck of this system architecture, affecting the data processing efficiency.
  • Embodiments of the present application provide a data processing method, a solid state drive SSD controller, electronic equipment, and a computer-readable storage medium.
  • embodiments of the present application provide a data method, which is applied to a solid-state drive SSD controller.
  • the SSD controller includes a co-processing module.
  • the data processing method includes: obtaining the key value storage application of the host that is triggered. The operation instruction sent under the condition; the co-processing module is controlled to perform data scheduling processing according to the operation instruction.
  • embodiments of the present application also provide another data processing method, applied to a host, where the host includes a key-value storage application, and the data processing method includes: when the key-value storage application is triggered Send an operation instruction to the solid state drive SSD controller, so that the co-processing module in the SSD controller performs data scheduling processing.
  • inventions of the present application also provide an SSD controller.
  • the SSD controller includes a co-processing module; the SSD controller is used to obtain the operation instructions sent when the key-value storage application of the host is triggered; and controlling the co-processing module to perform data scheduling processing according to the operation instructions.
  • embodiments of the present application also provide an electronic device, including one of the following: an SSD controller as described above; or a memory, a processor, and a computer program stored in the memory and executable on the processor. , when the processor executes the computer program, the data processing method as described above is implemented.
  • embodiments of the present application further provide a computer-readable storage medium storing computer-executable instructions, and the computer-executable instructions are used to execute the data processing method as described above.
  • Figure 1 is a schematic diagram of a system architecture for executing a data processing method provided by an embodiment of the present application
  • Figure 2 is a schematic diagram of a system architecture for executing a data processing method provided by another embodiment of the present application.
  • Figure 3 is a flow chart of a data processing method provided by an embodiment of the present application.
  • Figure 4 is a specific flow chart of data scheduling in the data processing method provided by an embodiment of the present application.
  • Figure 5 is a specific flow chart of data scheduling based on instruction parsing information in the data processing method provided by an embodiment of the present application;
  • Figure 6 is a specific flow chart of data scheduling based on instruction parsing information in a data processing method provided by another embodiment of the present application.
  • Figure 7 is a specific flow chart of data scheduling based on the first index command parsing information in a data processing method based on instruction parsing information provided by an embodiment of the present application;
  • Figure 8 is a specific flow chart of data scheduling based on the second index instruction parsing information and data packaging parsing information in a data processing method based on instruction parsing information provided by an embodiment of the present application;
  • Figure 9 is a specific flow chart of the first data packaging process in the data processing method based on the second index instruction parsing information and the data packaging parsing information provided by an embodiment of the present application;
  • Figure 10 is a specific flow chart of the second data packaging process in the data processing method based on the second index instruction parsing information and the data packaging parsing information provided by an embodiment of the present application;
  • Figure 11 is a flow chart of a data processing method provided by another embodiment of the present application.
  • Figure 12 is a flow chart of a data processing method provided by another embodiment of the present application.
  • Figure 13 is a flow chart for sending operation instructions of a data processing method provided by another embodiment of the present application.
  • Figure 14 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • This application provides a data processing method, an SSD controller, an electronic device and a computer-readable storage medium to obtain the operation instructions sent when the key-value storage application of the host is triggered; and then controls the co-processing module to process data according to the operation instructions.
  • Scheduling processing in which the co-processing module is located in the SSD controller; through the above settings, data scheduling processing can be performed in the SSD controller, reducing the computing power consumption of the host, and there is no need to control the SSD through the host as in the past
  • Data scheduling can only be performed by reading data from one side of the controller, eliminating the scheduling data transmission process between the host and the SSD controller, thus improving the efficiency of data processing.
  • Figure 1 is a schematic diagram of a system architecture for executing a data processing method provided by an embodiment of the present application.
  • the system architecture includes a host 100 and a solid state disk (Solid State Disk, SSD) controller 200.
  • the host 100 includes a key-value storage application 101.
  • the SSD controller 200 includes a co-processing module 50.
  • the host 100 Connected to the SSD controller 200, the key-value storage application 101 can issue operation instructions to the SSD controller 200, and the co-processing module 50 in the SSD controller 200 can execute the operation instructions issued by the key-value storage application 101.
  • Figure 2 is a schematic diagram of a system architecture for executing a data processing method provided by another embodiment of the present application.
  • the system architecture includes a host 100, a solid-state disk controller 200, a volatile memory 300, and a non-volatile memory 400;
  • the host 100 includes a key-value storage application 101 and an underlying open channel SSD driver 102.
  • the SSD controller 200 includes an embedded central processor 201, a data packaging circuit 202, an index maintenance circuit 203, a host interface processing module 204, a volatile memory controller 205 and a non-volatile memory interface control circuit 206;
  • the SSD controller 200, Volatile memory 300 and non-volatile memory 400 constitute an open channel flash memory storage device.
  • the key-value storage application 101 on the host 100 side can issue relevant operation instructions to the SSD controller 200.
  • the operation instructions can be read operation instructions, write operation instructions, erase operation instructions, data packaging operation instructions and indexing.
  • Maintenance operation instructions; the underlying open channel SSD driver 102 can transmit the operation instructions issued by the key-value storage application 101 to the SSD controller 200; the embedded central processor 201, data packaging circuit 202, and index maintenance circuit in the SSD controller 200 203.
  • the host interface processing module 204, the volatile memory controller 205 and the non-volatile memory interface control circuit 206 are connected through a bus.
  • the host interface processing module 204 performs data connection with the underlying open channel SSD driver 102.
  • the volatile memory controller 205 performs data connection with the volatile memory 300, and the non-volatile memory interface control circuit 206 performs data connection with the non-volatile memory 400; the embedded central processor 201 can perform data packaging circuit 202, index maintenance circuit 203, and host interface processing module 204.
  • the volatile memory controller 205 and the non-volatile memory interface control circuit 206 perform control processing; the host interface processing module 204 can parse the operation instructions sent from the host 100 side, and then transmit the parsed information to the embedded center
  • the processor 201, and then the embedded central processor 201 can control the corresponding circuit modules to perform corresponding operations.
  • the co-processing module 50 mentioned in the above embodiments of this application includes but is not limited to the data packaging circuit 202 and the index maintenance circuit 203.
  • the underlying open channel SSD driver 102 is supported by driver software, and the driver software includes a Flash Translation Layer (FTL); FTL converts logical addresses in the SSD into physical addresses in actual memory.
  • Software layer including functions such as garbage collection, address mapping, and wear leveling.
  • the driver of the underlying open channel SSD driver 102 of this application needs to support co-processing commands and open channel solid state drive commands.
  • the co-processing commands can include data packaging commands and index maintenance commands
  • the open channel solid state drive commands can Including read commands, write commands and erase commands.
  • the volatile memory controller 205 can schedule and process data in the volatile memory 300; the non-volatile memory interface control circuit 206 can schedule and process the data in the non-volatile memory 400.
  • Figure 3 is a flow chart of a data processing method provided by an embodiment of the present application.
  • the method is applied to an SSD controller, and the SSD controller includes a co-processing module.
  • the method includes but is not limited to steps S100 and S200:
  • Step S100 obtain the operation instructions sent when the key-value storage application of the host is triggered
  • Step S200 Control the co-processing module to perform data scheduling processing according to the operation instructions.
  • the operation instructions sent when the key-value storage application of the host is triggered are obtained; and then based on The co-processing module is controlled according to the operation instructions to perform data scheduling processing, wherein the co-processing module is located in the SSD controller; through the above settings, data scheduling processing can be performed in the SSD controller, reducing the computing power consumption of the host, and eliminating the need for Data scheduling needs to be done by reading data from one side of the SSD controller through the host as in the past, which eliminates the scheduling data transmission process between the host and the SSD controller, thus improving the efficiency of data processing.
  • the operation instructions mainly refer to data packaging operation instructions and index maintenance operation instructions.
  • the key-value storage system in the embodiment of the present application uses key-value pairs as the most basic storage unit and is a non-relational database.
  • the host in the embodiment of this application is responsible for running key-value storage applications, and the data is stored in a storage unit that supports open-channel solid-state drives.
  • the above method is applicable to the key-value storage system of an open-channel SSD.
  • the open-channel SSD is a special solid-state drive that does not implement a memory translation layer in the firmware of the drive, but converts the physical solid-state drive into a key-value storage system. Storage management tasks are offloaded to the host side.
  • the co-processing module is a functional module capable of processing co-processing commands.
  • the co-processing module includes but is not limited to a data packaging circuit and an index maintenance circuit.
  • the host side will send an index maintenance operation instruction to the SSD controller; upon receiving the index maintenance operation instruction, the SSD controller will control its internal index maintenance circuit. Relevant data scheduling processing to complete corresponding index maintenance operation instructions.
  • the SSD controller includes an embedded central processor and a host interface processing module.
  • the above step S200 includes but is not limited to step S210 and step S220:
  • Step S210 parse the operation instruction based on the host interface processing module to obtain instruction parsing information
  • Step S220 Based on the instruction parsing information, the embedded central processor is used to control the co-processing module to perform data scheduling processing.
  • the SSD controller also includes an embedded central processor and a host interface processing module; in the process of data scheduling by the SSD controller according to the operation instructions, the operation instructions are first parsed based on the host interface processing module. Obtain the instruction parsing information; then based on the instruction parsing information, the embedded central processor will control the corresponding co-processing module to perform data scheduling processing to complete the corresponding operation instructions on one side of the SSD controller and reduce the computing power of the host. Capacity consumption, and there is no need to read data from the side of the SSD controller through the host as in the past to perform data scheduling, eliminating the scheduling data transmission process between the host and the SSD controller, thus improving the efficiency of data processing .
  • the host interface processing module in the SSD controller can parse the operation instructions to obtain the instruction parsing information; then transmit the instruction parsing information to the embedded central processor, and the embedded central processor can control the operation according to the instruction parsing information.
  • the corresponding co-processing module performs data scheduling processing. For example, when the operation instruction includes an index maintenance instruction, the embedded central processor will control the index maintenance circuit to perform work to complete the index maintenance instruction.
  • the co-processing module includes an index maintenance circuit.
  • the above step S220 includes but is not limited to step S221:
  • Step S221 When the operation instruction includes a first index maintenance operation instruction, use the embedded central processor to control the index maintenance circuit to perform data scheduling processing.
  • the host interface processing module parses the first index maintenance operation instruction, and then the embedded central processor can parse the first index maintenance operation instruction according to the host interface processing module.
  • the information control index maintenance circuit performs data scheduling processing to complete corresponding operation instructions.
  • the co-processing module includes an index maintenance circuit and a data packaging circuit.
  • the above step S220 includes but is not limited to step S222:
  • Step S222 When the operation instructions include the second index maintenance operation instruction and the data packaging operation instruction, use the embedded central processor to control the index maintenance circuit and the data packaging circuit to perform data scheduling processing.
  • the host interface processing module parses the second index maintenance operation instruction and the data packaging operation instruction, and then the embedded central processing The processor can control the index maintenance circuit and the data packaging circuit to perform data scheduling processing based on the information parsed by the host interface processing module to complete the corresponding operation instructions.
  • step S221 includes but is not limited to step S2211, step S2212 and step S2213:
  • Step S2211 parse the first index maintenance operation instruction based on the host interface processing module to obtain the first index instruction parsing information
  • Step S2212 Based on the first index instruction parsing information, the embedded central processor is used to control the index maintenance circuit to perform the first index maintenance operation, so that the high-frequency key values stored in the memory of the host are read into the volatile memory and established based on the high-frequency key values.
  • first index Based on the first index instruction parsing information, the embedded central processor is used to control the index maintenance circuit to perform the first index maintenance operation, so that the high-frequency key values stored in the memory of the host are read into the volatile memory and established based on the high-frequency key values.
  • Step S2213 Write the first index into the volatile memory and the non-volatile memory.
  • the first index maintenance operation instruction is first parsed based on the host interface processing module to obtain the first index instruction parsing information; then based on the first index instruction parsing information, the embedded central processor is used to control the index maintenance The circuit performs a first index maintenance operation, so that the high-frequency key value stored in the host is read into the volatile memory and the first index is established based on the high-frequency key value; finally, the first index is written into the volatile memory and the non-volatile memory.
  • the SSD controller receives the first index maintenance operation instruction from the host.
  • the first index maintenance operation instruction is parsed by the host interface processing module and then enters the embedded central processor; the embedded central processor schedules the index maintenance circuit to work.
  • the index maintenance circuit sends a command to the host interface processing module to store the data stored in the host.
  • the high-frequency key values in the memory are read into the volatile memory, and the first index is established based on the high-frequency key values.
  • the first index includes: value and storage address; after the operation is completed, the newly generated first index is written back to the volatile memory. and non-volatile memory.
  • the key-value storage application in the host needs to perform the first index maintenance operation, and needs to provide an index maintenance command to the underlying open channel SSD driver, so that the underlying open channel SSD driver sends the first index maintenance command to the SSD controller.
  • An index maintenance operation instruction is provided.
  • step S222 includes but is not limited to step S2221 and step S2222:
  • Step S2221 parse the second index maintenance operation instruction and the data packaging operation instruction based on the host interface processing module to obtain the second index instruction parsing information and data packaging parsing information;
  • Step S2222 Based on the second index instruction parsing information and data packaging parsing information, use the embedded central processor to control the index maintenance circuit and the data packaging circuit to perform data scheduling processing.
  • the second index maintenance operation instruction and the data packaging operation instruction are first parsed based on the host interface processing module to obtain the second index instruction parsing information and data packaging parsing information; and then the information and data are parsed based on the second index instruction. Pack and parse information, and use the embedded central processor to control the index maintenance circuit and data packaging circuit for data scheduling and processing.
  • the SSD controller receives the second index maintenance operation instruction and data packaging operation instruction from the host.
  • the second index maintenance operation instructions and data packaging operation instructions enter the embedded central processor after being parsed by the host interface processing module; the embedded central processor can schedule the index maintenance circuit and the data packaging circuit to work.
  • the key-value storage application in the host needs to perform data packaging operations, and needs to provide data packaging operation instructions and second index maintenance instructions to the underlying open channel SSD driver, so that the underlying open channel SSD driver
  • the controller sends the second index maintenance operation instruction and the data packaging operation instruction; then the host interface processing module parses the second index maintenance operation instruction and the data packaging operation instruction to obtain the second index instruction parsing information and data packaging parsing information, and finally the embedded
  • the central processing unit controls the index maintenance circuit and the data packaging circuit to perform data scheduling processing according to the second index instruction parsing information and the data packaging parsing information.
  • step S2222 includes but is not limited to step S2223, step S2224 and step S2225:
  • Step S2223 the embedded central processor controls the data packaging circuit to perform the first data packaging process, so that the cache data stored in the memory table of the host is read into the volatile memory;
  • Step S2224 Perform a first index creation process on the cache data stored in the volatile memory according to the index maintenance circuit to obtain a second index, and transfer the cache data stored in the volatile memory to the non-volatile memory through the data packaging circuit ;
  • Step S2225 Write the cache data and the second index into the non-volatile memory.
  • the embedded central processor controls the data packaging circuit to perform the first data packaging process, so that the cached data stored in the memory table of the host is read into the volatile memory; and then the index maintenance circuit is used to perform the first data packaging process.
  • the cached data in the volatile memory undergoes a first index creation process to obtain a second index, and the cached data stored in the volatile memory is transferred to the non-volatile memory through the data packaging circuit; finally, the cached data and the second index are written into the non-volatile memory to complete the data packaging operation instructions.
  • the memory table in the host memory is read into the volatile memory, and then storage space in the non-volatile memory is allocated to it; after the space is allocated, the index maintenance circuit is started to generate a second index, which records the layer The address of each page in the basic storage unit of the non-volatile memory and the range of stored key values. While establishing the index, the data packaging circuit will move the data cached in the volatile memory to the non-volatile memory. After the operation is completed , the data and the second index need to be written back to the non-volatile memory to complete the data packaging operation instruction.
  • a co-processing mechanism is set up for the background packaging command of the key-value storage application, so that the processing unit is located closer to the data, avoiding lengthy data transmission time between the host and the storage device and saving the host's computing power.
  • a co-processing mechanism is set up for the index maintenance command of the key-value storage application, which can establish maintenance while executing the packaging command or maintain the index specifically for specific data, saving background processing time and improving service bandwidth.
  • open-channel SSDs can incorporate redundant software stacks.
  • Key-value storage applications already include garbage collection functions, eliminating the need for the underlying FTL to perform garbage collection operations.
  • moving storage unit management rights upward can make full use of underlying storage resources and avoid the fragmentation and inefficiency of continuous data caused by redundant software stacks. Storage and other issues.
  • step S2222 includes but is not limited to step S2226, step S2227, step S2228 and step S2229:
  • Step S2226 the embedded central processor controls the data packaging circuit to perform the second data packaging process, so that the initial storage data stored in the sorted string table of the non-volatile memory is read into the volatile memory;
  • Step S2227 merge and sort the initial storage data stored in the volatile memory to obtain the adjustment data
  • Step S2228 Perform a second index creation process on the adjustment data stored in the volatile memory according to the index maintenance circuit to obtain a third index, and transfer the adjustment data stored in the volatile memory to the non-volatile memory through the data packaging circuit ;
  • Step S2229 Write the adjustment data and the third index into the non-volatile memory.
  • the embedded central processor controls the data packaging circuit to perform the second data packaging process, so that the initial storage data stored in the sorted string table of the non-volatile memory is read into the volatile memory; and then the The initial storage data stored in the volatile memory is merged and sorted to obtain the adjustment data; then the second index creation process is performed on the adjustment data stored in the volatile memory according to the index maintenance circuit to obtain the third index, and the third index is obtained through the data packaging circuit.
  • the adjustment data stored in the volatile memory is transferred to the non-volatile memory; finally, the adjustment data and the third index are written into the non-volatile memory.
  • the data packaging circuit reads the two basic storage units stored in the non-volatile memory into the volatile memory, then allocates new storage space in the non-volatile memory and performs a merge sort operation.
  • the new The generated data is cached in volatile memory; after the merge sort is completed, the index maintenance circuit is started to generate a third index.
  • This index records the address of each page in the basic storage unit of this layer and the range of stored key values. While establishing the index, The data packaging circuit transfers the adjustment data cached in the volatile memory to the non-volatile memory. After the operation is completed, the adjustment data and the third index are written back to the non-volatile memory.
  • steps after the above step S200 include but are not limited to step S300:
  • Step S300 After the data scheduling process is completed, an operation completion notification message is sent to the host.
  • one side of the SSD controller will also send operation completion notification information to the host to inform the host that the relevant operation instructions have been completed.
  • the SSD controller side when the host issues an index maintenance operation instruction, the SSD controller side will send an operation completion notification message to the host after completing the index maintenance operation to inform the host that the index maintenance operation has been completed; when the host What is issued is the data packaging operation command.
  • the side of the SSD controller When the data packaging operation is completed, the side of the SSD controller will send an operation completion notification message to the host to inform the host that the data packaging operation has been completed.
  • Figure 12 is a flow chart of a data processing method provided by another embodiment of the present application.
  • the method is applied to the host, and the host includes a key-value storage application.
  • the method includes but is not limited to step S400:
  • Step S400 When the key-value storage application is triggered, an operation instruction is sent to the solid-state drive SSD controller, so that the co-processing module in the SSD controller performs data scheduling processing.
  • an operation instruction is sent to the SSD controller, so that the co-processing module in the SSD controller can perform data scheduling processing to complete the corresponding operation instruction.
  • the operation instructions sent when the key-value storage application of the host is triggered are obtained; and then the co-processing module is controlled to perform data scheduling processing according to the operation instructions, wherein the co-processing module is located in the SSD controller; through the above Settings enable data scheduling processing in the SSD controller, reducing the computing power consumption of the host, and there is no need to read data from the side of the SSD controller through the host as in the past to perform data scheduling, eliminating the need for The data transmission process is scheduled between the host and the SSD controller, thereby improving the efficiency of data processing.
  • the host includes an underlying open channel SSD driver, and the above step S400 includes but is not limited to step S410 and step S420.
  • Step S410 trigger the key-value storage application to generate operation instructions
  • Step S420 Send the operation command to the solid state drive SSD controller based on the underlying open channel SSD driver.
  • triggering the key-value storage application will generate an operation instruction, and then based on the underlying open channel SSD driver, the operation instruction generated by the key-value storage application will be sent to the SSD controller for processing, so that the SSD controller can Complete the corresponding operation instructions.
  • SSD controller includes a co-processing module
  • the SSD controller is used to obtain the operation instructions sent when the key-value storage application of the host is triggered; and to control the co-processing module to perform data scheduling processing according to the operation instructions.
  • one embodiment of the present application also provides an electronic device 700.
  • the electronic device 700 includes one of the following: the SSD controller in the above embodiment; or,
  • Memory 720 Memory 720, processor 710, and a computer program stored on memory 720 and executable on processor 710.
  • the processor 710 and the memory 720 may be connected through a bus or other means.
  • the non-transitory software programs and instructions required to implement the data processing method of the above embodiment are stored in the memory 720.
  • the data processing method in the above embodiment is executed, for example, executing the above-described FIG. 3
  • one embodiment of the present application also provides a computer-readable storage medium that stores computer-executable instructions, and the computer-executable instructions are executed by a processor 710, for example, by the above-mentioned scheduling device.
  • Execution of a processor 710 in the embodiment 700 can cause the above-mentioned processor 710 to execute the data processing method in the above embodiment, for example, execute the above-described method steps S100 to S200 in Figure 3 and method step S210 in Figure 4 to S220, method step S221 in Figure 5, method step S222 in Figure 6, method steps S2211 to S2213 in Figure 7, method steps S2221 to S2222 in Figure 8, method steps S2223 to S2225 in Figure 9, Figure Method steps S2226 to S2229 in Figure 10, method steps S300 in Figure 11, method step S400 in Figure 12, and method steps S410 to S420 in Figure 13.
  • Embodiments of this application include: obtaining the operation instructions sent when the key-value storage application of the host is triggered; and then controlling the co-processing module to perform data scheduling processing according to the operation instructions, wherein the co-processing module is located in the SSD controller; through the above device It is determined that data scheduling can be performed in the SSD controller, reducing the computing power consumption of the host, and there is no need to read data from the side of the SSD controller through the host as in the past to perform data scheduling, eliminating the need for a host Scheduling the data transmission process with the SSD controller, thereby improving the efficiency of data processing.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disk (DVD) or other optical disk storage, magnetic cassettes, tapes, disk storage or other magnetic storage devices, or may Any other medium used to store the desired information and that can be accessed by a computer.
  • communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media .

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

L'invention concerne un procédé de traitement de données, un contrôleur de disque à semi-conducteurs (SSD) (200), un dispositif électronique et un support de stockage lisible par ordinateur. Le procédé de traitement de données consiste à : acquérir une instruction d'opération qui est envoyée lorsqu'une application de stockage clé-valeur d'un hôte (100) est déclenchée (S100) ; et selon l'instruction d'opération, commander un module de co-traitement (50) dans le contrôleur de SSD (200) pour effectuer un traitement de planification de données (S200).
PCT/CN2023/106134 2022-07-15 2023-07-06 Procédé de traitement de données, contrôleur de ssd, dispositif électronique et support de stockage lisible WO2024012349A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210830277.1A CN117435121A (zh) 2022-07-15 2022-07-15 数据处理方法、ssd控制器、电子设备及可读存储介质
CN202210830277.1 2022-07-15

Publications (1)

Publication Number Publication Date
WO2024012349A1 true WO2024012349A1 (fr) 2024-01-18

Family

ID=89535564

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/106134 WO2024012349A1 (fr) 2022-07-15 2023-07-06 Procédé de traitement de données, contrôleur de ssd, dispositif électronique et support de stockage lisible

Country Status (2)

Country Link
CN (1) CN117435121A (fr)
WO (1) WO2024012349A1 (fr)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105814560A (zh) * 2013-12-09 2016-07-27 赛灵思公司 用于实现高吞吐量键-值存储的存储器设置
CN109085997A (zh) * 2017-06-13 2018-12-25 西部数据技术公司 用于非易失性存储器的存储器高效持续键值储存
US20190392047A1 (en) * 2018-06-25 2019-12-26 Amazon Technologies, Inc. Multi-table partitions in a key-value database
CN111309270A (zh) * 2020-03-13 2020-06-19 清华大学 一种持久性内存键值存储系统
US20210311662A1 (en) * 2020-04-02 2021-10-07 Dell Products L.P. Raid data storage device multi-step command coordination system
CN113687977A (zh) * 2021-09-07 2021-11-23 天津津航计算技术研究所 基于raid控制器以实现计算性能提升的数据处理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105814560A (zh) * 2013-12-09 2016-07-27 赛灵思公司 用于实现高吞吐量键-值存储的存储器设置
CN109085997A (zh) * 2017-06-13 2018-12-25 西部数据技术公司 用于非易失性存储器的存储器高效持续键值储存
US20190392047A1 (en) * 2018-06-25 2019-12-26 Amazon Technologies, Inc. Multi-table partitions in a key-value database
CN111309270A (zh) * 2020-03-13 2020-06-19 清华大学 一种持久性内存键值存储系统
US20210311662A1 (en) * 2020-04-02 2021-10-07 Dell Products L.P. Raid data storage device multi-step command coordination system
CN113687977A (zh) * 2021-09-07 2021-11-23 天津津航计算技术研究所 基于raid控制器以实现计算性能提升的数据处理装置

Also Published As

Publication number Publication date
CN117435121A (zh) 2024-01-23

Similar Documents

Publication Publication Date Title
US9110669B2 (en) Power management of a storage device including multiple processing cores
US9104629B2 (en) Autonomic reclamation processing on sequential storage media
US10459661B2 (en) Stream identifier based storage system for managing an array of SSDs
US9182912B2 (en) Method to allow storage cache acceleration when the slow tier is on independent controller
WO2017041570A1 (fr) Procédé et appareil d'écriture de données vers une mémoire cache
CN100520735C (zh) 存储器空间管理方法及其相关系统
KR102517685B1 (ko) 메모리 블록 복구 방법 및 디바이스
US11132291B2 (en) System and method of FPGA-executed flash translation layer in multiple solid state drives
KR101835604B1 (ko) 메모리를 위한 스케줄러
US11132145B2 (en) Techniques for reducing write amplification on solid state storage devices (SSDs)
US20220253252A1 (en) Data processing method and apparatus
CN112039999A (zh) 一种内核态访问分布式块存储系统的方法及系统
WO2015172391A1 (fr) Procédé et appareil de lecture/écriture rapides de données
US20240086113A1 (en) Synchronous write method and device, storage system and electronic device
WO2024012349A1 (fr) Procédé de traitement de données, contrôleur de ssd, dispositif électronique et support de stockage lisible
CN111176566B (zh) 一种支持queue命令的eMMC读写控制方法及存储介质
WO2023236930A1 (fr) Procédé et appareil d'allocation de mémoire basés sur un allocateur ion, dispositif électronique et support de stockage lisible
US9069821B2 (en) Method of processing files in storage system and data server using the method
KR102276912B1 (ko) 스토리지 시스템 및 이의 동작 방법
CN115525226A (zh) 硬件批量指纹计算方法、装置及设备
CN116665727B (zh) 写i/o汇聚方法、装置、存储设备和存储介质
WO2022126534A1 (fr) Procédé de traitement de données et dispositif associé
WO2023070462A1 (fr) Procédé et appareil de déduplication de fichiers et dispositif
WO2023169142A1 (fr) Appareil de stockage et procédé de gestion de partition de données associé
EP4318247A1 (fr) Procédé et appareil de commande de stockage, procédé et appareil de stockage, dispositif électronique et support

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

Country of ref document: EP

Kind code of ref document: A1