CN116501266A - Message context processing method, device, computer equipment and storage medium - Google Patents

Message context processing method, device, computer equipment and storage medium Download PDF

Info

Publication number
CN116501266A
CN116501266A CN202310763801.2A CN202310763801A CN116501266A CN 116501266 A CN116501266 A CN 116501266A CN 202310763801 A CN202310763801 A CN 202310763801A CN 116501266 A CN116501266 A CN 116501266A
Authority
CN
China
Prior art keywords
context
message
input
block
idle
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN202310763801.2A
Other languages
Chinese (zh)
Other versions
CN116501266B (en
Inventor
赵龙
张海仑
秦文政
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310763801.2A priority Critical patent/CN116501266B/en
Publication of CN116501266A publication Critical patent/CN116501266A/en
Application granted granted Critical
Publication of CN116501266B publication Critical patent/CN116501266B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • 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

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)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The application relates to a message context processing method, a message context processing device, a computer device and a storage medium. The method is applied to the solid state disk, the solid state disk comprises a tightly coupled memory and a dynamic random access memory, and the method comprises the following steps: receiving a message context, wherein the message context comprises input/output path necessary data and input/output path unnecessary data; acquiring a target idle context block from an idle context unidirectional link list of a tightly coupled memory; when the context of the execution message is not abnormal, writing the necessary data of the input/output channel into a target idle context block; when the context of the execution message is abnormal, unnecessary data of the input/output channel is written into the dynamic random access memory. By adopting the method, the processing efficiency of the message context can be improved on the premise of not increasing the cost of the solid state disk.

Description

Message context processing method, device, computer equipment and storage medium
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method, an apparatus, a computer device, and a storage medium for processing a message context.
Background
With the continuous development of PCIE (peripheral component interconnect express, which is a high-speed serial computer expansion bus standard) and other various interface technologies, flash memories are continuously updated, and capacities, reading speeds and writing speeds of SSDs (Solid State Drive, solid state disks) are continuously improved. These improvements in performance also place higher demands on the processing power of the CPU (Central Processing Unit ). The measurement index IOPS (I/O Performance Units) of random reading is the number of times of reading and writing operations per second, and the higher the measurement index IOPS is, the faster the speed of reading and writing data of the hard disk is. Currently, the index requires more than million times under the condition of pcie4.0, i.e. cpu needs to process millions of times of read-write command data per second. Each operation command has a special memory structure and space for recording various information of the read-write command, called a message context. Therefore, in the process of reading and writing the memory, the SSD is necessarily accompanied with the high-frequency management information to be stored and read in the context, so that how to improve the message access rate of the CPU and improve the performance of software becomes an important direction of optimizing all SSD manufacturers.
In order to solve the above problems and achieve the purpose of fast processing the context, SSD manufacturers often have various solutions, and one common method is to enhance the processing capability of cpu or increase the number of cores cpu to provide higher computation power, so that more messages can be processed by multi-core concurrency; another is to increase the high-speed memory space, allowing the cpu to access data more efficiently. Both of these methods have a disadvantage of increasing the cost.
Disclosure of Invention
In view of the foregoing, it is desirable to provide a method, an apparatus, a computer device, and a storage medium for processing a message context, which can improve the processing efficiency of the message context without increasing the cost of the solid state disk.
A message context processing method is applied to a solid state disk, wherein the solid state disk comprises a tightly coupled memory and a dynamic random access memory, and the method comprises the following steps:
receiving a message context, wherein the message context comprises input/output path necessary data and input/output path unnecessary data;
acquiring a target idle context block from an idle context unidirectional link list of a tightly coupled memory;
when the context of the execution message is not abnormal, writing the necessary data of the input/output channel into a target idle context block;
when the context of the execution message is abnormal, unnecessary data of the input/output channel is written into the dynamic random access memory.
In one embodiment, receiving a message context includes: and receiving a message command sent by the computer equipment, wherein the computer equipment is a terminal or a server, and analyzing the message command to obtain a corresponding message context, and the message context is command descriptive information corresponding to the message command.
In one embodiment, before acquiring the target idle context block from the idle context unidirectional link list of the tightly coupled memory, the method further includes: acquiring the byte size corresponding to the message context, and establishing an idle context unidirectional link list in the tightly coupled memory according to the byte size, wherein the idle context unidirectional link list comprises a plurality of idle context blocks, and each idle context block is associated with a corresponding address.
In one embodiment, establishing the idle context list in the close-coupled memory according to the byte size includes: and partitioning the tightly coupled memory according to the byte size to obtain a plurality of idle context blocks, and storing each idle context block in a chained mode to obtain an idle context unidirectional link list.
In one embodiment, obtaining the target free context block from the free context list of the tightly coupled memory includes: the target idle context block is obtained from the idle context list header.
In one embodiment, writing input-output path necessary data to an idle context block includes: and acquiring a preset message format, and writing the necessary data of the input/output channel into a data field in the idle context block according to the preset message format.
In one embodiment, after writing the input/output path necessary data into the idle context block, the method further includes: deleting the written context block from the idle context list, acquiring the message type from the message context, and loading the written context block into the corresponding functional unit according to the message type.
In one embodiment, the method further comprises: and loading the functional unit in a channel linked list, and issuing the written context blocks to the flash memory so that the flash memory processes the written context blocks.
In one embodiment, the method further comprises: and receiving a completion message returned by the flash memory, clearing the written context block according to the completion message, and returning the cleared context block to the tail part in the idle context unidirectional link list.
In one embodiment, writing input/output path unnecessary data to a dynamic random access memory includes: and calculating a target address of unnecessary data of the input/output channel in the dynamic random access memory according to the address corresponding to the target idle context block, and writing the unnecessary data of the input/output channel into the dynamic random access memory according to the target address.
In one embodiment, calculating a target address of unnecessary data of the input/output channel in the dynamic random access memory according to an address corresponding to the target idle context block includes: acquiring a first starting address corresponding to the idle context unidirectional link list, acquiring a block address corresponding to a target idle context block in the idle context unidirectional link list, acquiring a second starting address corresponding to the dynamic random access memory, and calculating according to the first starting address, the block address and the second starting address to obtain a target address.
In one embodiment, calculating the target address according to the first start address, the block address and the second start address includes: and calculating an address offset value according to the first starting address and the block address, and calculating a target address according to the address offset value and the second starting address.
In one embodiment, when an exception occurs in the context of the execution message, the method includes: when the context of the execution message exceeds the preset time, determining that the context of the execution message is abnormal; and/or determining that the execution message context is abnormal when the execution message context is abnormal in message state.
In one embodiment, a message context is received, the message context including input-output path necessary data and input-output path unnecessary data, comprising: and classifying the message context according to the access frequency to obtain the necessary data of the input/output channel and the unnecessary data of the input/output channel.
In one embodiment, classifying the message context according to the access frequency to obtain the necessary data of the input/output path and the unnecessary data of the input/output path includes: the method comprises the steps of acquiring access frequency corresponding to each data in a message context, determining data with access frequency greater than a preset access frequency as necessary data of an input/output channel, and determining data with access frequency less than or equal to the preset access frequency as unnecessary data of the input/output channel.
In one embodiment, the method further comprises: and acquiring a message context identifier corresponding to the message context, and respectively associating the message context identifier with the necessary data of the input/output path and the unnecessary data of the input/output path.
In one embodiment, the read/write rate of the tightly coupled memory is higher than the read/write rate of the dynamic random access memory.
A message context processing device is applied to a solid state disk, wherein the solid state disk comprises a tightly coupled memory and a dynamic random access memory, and the device comprises:
the receiving module is used for receiving a message context, wherein the message context comprises necessary data of an input/output path and unnecessary data of the input/output path;
The acquisition module is used for acquiring a target idle context block from the idle context unidirectional linked list of the tightly coupled memory;
the first writing module is used for writing the necessary data of the input/output channel into the target idle context block when the context of the execution message is not abnormal;
and the second writing module is used for writing unnecessary data of the input/output channel into the dynamic random access memory when the context of the execution message is abnormal.
A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps of:
receiving a message context, wherein the message context comprises input/output path necessary data and input/output path unnecessary data;
acquiring a target idle context block from an idle context unidirectional link list of a tightly coupled memory;
when the context of the execution message is not abnormal, writing the necessary data of the input/output channel into a target idle context block;
when the context of the execution message is abnormal, unnecessary data of the input/output channel is written into the dynamic random access memory.
A computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of:
Receiving a message context, wherein the message context comprises input/output path necessary data and input/output path unnecessary data;
acquiring a target idle context block from an idle context unidirectional link list of a tightly coupled memory;
when the context of the execution message is not abnormal, writing the necessary data of the input/output channel into a target idle context block;
when the context of the execution message is abnormal, unnecessary data of the input/output channel is written into the dynamic random access memory.
The message context processing method, the device, the computer equipment and the storage medium are used for classifying the message context into the input/output channel necessary data and the input/output channel unnecessary data, writing the input/output channel necessary data into the tightly coupled memory when the abnormality of the execution message context does not occur, and writing the input/output channel unnecessary data into the dynamic random access memory when the abnormality of the execution message context occurs. By classifying the message contexts, only the data which must be accessed on the input/output channels are stored in the close-coupled memory, so that the use efficiency of the close-coupled memory is improved, the whole message context is not required to be stored in the close-coupled memory, the use of the close-coupled memory is saved, the number of available message contexts is improved, and the processing efficiency of the message contexts is improved.
Drawings
FIG. 1 is a flow diagram of a message context processing method according to one embodiment of the present application;
FIG. 2 is a block diagram of a message context handling device in one embodiment of the present application;
FIG. 3 is an internal block diagram of a computing device in one embodiment of the present application;
fig. 4 is an internal structural diagram of a computer device in one embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application will be further described in detail with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the present application.
In one embodiment of the present application, as shown in fig. 1, a method for processing a message context is provided, and the method is applied to a solid state disk for example, where the solid state disk includes a tightly coupled memory and a dynamic random access memory, and the method includes the following steps:
step 102, receiving a message context, the message context including input/output path necessary data and input/output path unnecessary data.
The Solid State Disk (Solid State Disk or Solid State Drive, abbreviated as SSD) is a hard Disk made of a Solid State electronic memory chip array.
Wherein the message context is various information used to record a message command, which may be, but is not limited to, various operation commands, such as a read command or a write command. That is, the message context may be understood as various descriptive information of the record message command. The message context can be obtained by analyzing the message command, and various descriptive information corresponding to the message command is obtained to obtain the message context.
The data necessary for the input/output path is data which must be accessed on the input/output path (IO path), and the data unnecessary for the input/output path is data which does not have to be accessed or has abnormal processing on the input/output path (IO path). Wherein, the data which must be accessed and the data which must not be accessed can be determined according to the access frequency.
Specifically, a message command may be received, a corresponding message context is obtained through the message command, and the message context is classified to obtain data that must be accessed on the input/output path and data that must not be accessed on the input/output path, so as to obtain necessary data of the input/output path and unnecessary data of the input/output path.
Step 104, obtaining the target idle context block from the idle context unidirectional link list of the close-coupled memory.
The tightly coupled memory (Tightly Coupled Memory, TCM) is tightly coupled to the processor core, primarily for storage. The idle context unidirectional link list is a unidirectional link list which is not written with any data and is used for storing the message context, and comprises a plurality of idle context blocks, wherein each idle context block is stored in a chain mode in a specified direction, and the idle context unidirectional link list is obtained. Specifically, the target idle context block is obtained from an idle context list of the tightly coupled memory, wherein the target idle context block can be a head idle context block in the idle context list, can also be any idle context block in the idle context list, or can be a target idle context block which is determined to be matched from the idle context list according to actual service requirements, actual product requirements or actual application scenes.
And step 106, when the execution message context is not abnormal, writing the necessary data of the input/output channel into the target idle context block.
Specifically, when the execution message context is not abnormal after the target idle context block is determined, for example, the execution message context can respond within a preset time or the execution message context is not abnormal in data state, etc., which can be determined as the execution message context is not abnormal. Further, the necessary data of the input/output access channels in the message context can be written into the target idle context block in the tightly coupled memory, not the whole message context is written into the tightly coupled memory, but when the exception does not occur in the execution message context, the necessary data of the input/output access channels with frequent access frequency in the message context is written into the tightly coupled memory, so that the use efficiency of the Tightly Coupled Memory (TCM) is improved, and the required space of the TCM is greatly reduced.
Step 108, when the context of the execution message is abnormal, the unnecessary data of the input/output channel is written into the dynamic random access memory.
Wherein, when an abnormality occurs in the execution message context, for example, the execution message context does not respond within a preset time or feedback is not received within a preset time, or an abnormality occurs in a data state when the message context is executed, etc., it may be determined that an abnormality occurs in the execution message context. Further, unnecessary data of the input/output channel in the message context is acquired, and the unnecessary data of the input/output channel is written into the dynamic random access memory. Among them, the dynamic random access memory (Dynamic Random Access Memory, DRAM) is a semiconductor memory, and the main principle of the function is to use the magnitude of the stored charge in the capacitor to represent whether a binary bit (bit) is 1 or 0.
In one embodiment of the present application, the read/write rate of the tightly coupled memory is higher than the read/write rate of the dynamic random access memory.
The access speed of the CPU is different, the closer to the CPU, the higher the speed is, the closest to the CPU is, and the farthest is the dynamic random access memory, so the read-write speed of the close coupling memory is higher than that of the dynamic random access memory.
Therefore, when the message context is executed, if no abnormality occurs, the data with high access frequency on the input/output path is stored in the tightly coupled memory with highest read-write rate, so that the efficiency of subsequent data access is improved, and if the abnormality occurs on the message context, the data with low access frequency on the input/output path is stored in the dynamic random access memory with slower read-write rate, so that the message context is classified, the use efficiency of the high-speed storage TCM is improved, and the required space of the TCM is halved.
In the above method for processing a message context, the message context is classified into data necessary for an input/output path and data unnecessary for the input/output path, and when no abnormality occurs in the execution message context, the data necessary for the input/output path is written into the tightly coupled memory, and when abnormality occurs in the execution message context, the data unnecessary for the input/output path is written into the dynamic random access memory. By classifying the message contexts, only the data which must be accessed on the input/output channels are stored in the close-coupled memory, so that the use efficiency of the close-coupled memory is improved, the whole message context is not required to be stored in the close-coupled memory, the use of the close-coupled memory is saved, the number of available message contexts is improved, and the processing efficiency of the message contexts is improved.
In one embodiment of the present application, receiving a message context includes: and receiving a message command sent by the computer equipment, wherein the computer equipment is a terminal or a server, and analyzing the message command to obtain a corresponding message context, and the message context is command descriptive information corresponding to the message command.
The message context may be obtained by parsing a message command, the message command may be sent to the solid state disk by the computer device, and the message command may be various operation commands, such as a read command or a write command. Specifically, the solid state disk is connected with a computer device, and the computer device can be a terminal or a server, receives a message command sent by the computer device, analyzes the message command to obtain various descriptive information corresponding to the message command, and obtains a corresponding message context. Various descriptive information corresponding to the message command includes, but is not limited to, message command type, message source core, whether the message has timed out, etc. That is, the message context is various command descriptive information describing the message command.
In one embodiment of the present application, before obtaining the target idle context block from the idle context unidirectional linked list of the tightly coupled memory, the method further includes: acquiring the byte size corresponding to the message context, and establishing an idle context unidirectional link list in the tightly coupled memory according to the byte size, wherein the idle context unidirectional link list comprises a plurality of idle context blocks, and each idle context block is associated with a corresponding address.
Before the target idle context block is acquired from the idle context unidirectional link list of the tightly coupled memory, the idle context unidirectional link list can be established through the byte size of the message context. Specifically, the byte size corresponding to the message context is obtained, the byte size is a measurement unit for describing the message context, the size of each free context block is determined in the tightly coupled memory according to the byte size, and then chain storage is carried out on each free context block in a specified direction, so that a free context unidirectional linked list is obtained. Wherein each free context block is associated with a corresponding address.
In one embodiment of the present application, establishing a free context list in a tightly coupled memory according to byte size includes: and partitioning the tightly coupled memory according to the byte size to obtain a plurality of idle context blocks, and storing each idle context block in a chained mode to obtain an idle context unidirectional link list.
Specifically, after obtaining the byte size corresponding to the message context, the tightly coupled memory is partitioned according to the byte size corresponding to the message mountain context, and specifically, the block size of each free context block is the same as the byte size, so as to obtain a plurality of free context blocks. Further, each free context block is stored in a chained mode according to the appointed direction, and a free context unidirectional linked list is obtained.
In one embodiment of the present application, obtaining a target idle context block from an idle context list of a tightly coupled memory includes: the target idle context block is obtained from the idle context list header.
Specifically, the idle context unidirectional link list includes a plurality of idle context blocks, and the target idle context block for writing the necessary data of the input/output path can be obtained from the head of the idle context unidirectional link list, and can be the head idle context block of the idle context unidirectional link list. That is, the target free context block may be obtained from the head of the free context list, and each head free context block may be used to write the i/o path necessary data, and is determined as the target free context block.
In one embodiment of the present application, writing input-output path necessary data to a target free context block includes: and acquiring a preset message format, and writing the necessary data of the input/output channel into a data field in the target idle context block according to the preset message format.
The preset message format may be predetermined according to an actual service requirement, an actual product requirement or an actual application scene, and may be a standard format for writing data in the target idle context block. Specifically, a preset message format is obtained, and the necessary data of the input/output channel is written into the data field in the target idle context block according to the preset message format. The target free context block may be divided into a data field and a pointer field, the data field may be used to store the necessary data of the input/output path, and the pointer field may be used to store an address corresponding to the free context block. That is, each free context block in the free context list corresponds to an address, and is stored in a pointer field corresponding to each free context block.
In one embodiment of the present application, after writing the input/output path necessary data to the target idle context block, the method further includes: deleting the written context block from the idle context list, acquiring the message type from the message context, and loading the written context block into the corresponding functional unit according to the message type.
After the necessary data of the input/output channel is successfully written into the target idle context block, the written context block is removed from the idle context unidirectional link list, and the written context block is mounted into a corresponding functional unit (Logical Unit Number, abbreviated as LUN) according to the message type in the message context.
Specifically, after the necessary data of the input/output channel is successfully written into the target idle context block, the written context block is deleted from the idle context list, the message type is obtained from the message context, and the written context block is mounted in the corresponding functional unit.
In one embodiment of the present application, the method further includes: and loading the functional unit in a channel linked list, and issuing the written context blocks to the flash memory so that the flash memory processes the written context blocks.
After the written context block is mounted on the corresponding functional unit, the functional unit may be mounted on a channel list (channel_list), and the data in the written context block is issued to a flash memory (nand), where the flash memory processes the written context block.
In one embodiment of the present application, the method further includes: and receiving a completion message returned by the flash memory, clearing the written context block according to the completion message, and returning the cleared context block to the tail part in the idle context unidirectional link list.
Specifically, the flash memory processes the written context block, after the flash memory processing is completed, a completion message is returned, and the written context block is released according to the completion message, namely, the written context block is clarified, and the written context block is changed back to the idle context block again. Further, the emptied context block is re-hung at the tail of the idle context list. That is, after the flash memory processes the written context block, a completion message is returned, the written context block is emptied according to the completion message, and the written context block is changed back to the idle context block again, and is returned to the idle context list, and is hung at the tail of the idle context list.
In one embodiment of the present application, writing input/output path unnecessary data to a dynamic random access memory includes: and calculating a target address of unnecessary data of the input/output channel in the dynamic random access memory according to the address corresponding to the target idle context block, and writing the unnecessary data of the input/output channel into the dynamic random access memory according to the target address.
The method comprises the steps of storing a free context block in a free context unidirectional linked list, wherein the free context block in the free context unidirectional linked list has a corresponding address, calculating a target address of unnecessary data of an input/output channel in a dynamic random access memory according to the address corresponding to a target free context block, and writing the unnecessary data of the input/output channel into the target address of the dynamic random access memory. That is, the address of the unnecessary data of the input/output channel in the dynamic random access memory can be calculated according to the address of the target idle context block in the tightly coupled memory, so that the operation of the CPU is reduced, the efficiency is improved, and the unnecessary data of the input/output channel is not required to be managed and is directly obtained in a calculation mode.
In one embodiment of the present application, calculating a target address of unnecessary data of an input/output path in a dynamic random access memory according to an address corresponding to a target idle context block includes: acquiring a first starting address corresponding to the idle context unidirectional link list, acquiring a block address corresponding to a target idle context block in the idle context unidirectional link list, acquiring a second starting address corresponding to the dynamic random access memory, and calculating according to the first starting address, the block address and the second starting address to obtain a target address.
The method for calculating the target address of the unnecessary data of the input/output channel in the dynamic random access memory according to the address corresponding to the target idle context block specifically may be to obtain a starting address corresponding to the idle context unidirectional link list, that is, a first starting address, and obtain a block address of the target idle context block in the idle context unidirectional link list, that is, obtain a starting address corresponding to the dynamic random access memory, that is, a second starting address. Further, a target address is calculated by combining the first start address, the block address and the second start address.
In one embodiment of the present application, calculating a target address according to a first start address, a block address, and a second start address includes: and calculating an address offset value according to the first starting address and the block address, and calculating a target address according to the address offset value and the second starting address.
The target address is calculated by combining the first starting address, the block address and the second starting address, specifically, an address offset value may be calculated according to the first starting address and the block address, or an absolute value of a difference value between the first starting address and the block address may be determined as the address offset value, where the address offset value may embody an offset between the free context block and the starting free context block. Further, the target address is obtained according to the second start address and the address offset corresponding to the dynamic random access memory, and the target address of the unnecessary data of the input/output channel in the dynamic random access memory can be obtained by summing the second start address and the address offset.
For example, the first start address corresponding to the idle upper and lower unidirectional linked lists is: the block address corresponding to the target idle context block in the idle context unidirectional link list is: the second starting address corresponding to the Pa_cmd is: pa_ctx_ex_buf, the target address of the DRAM is: pa_cmd_ex, wherein pa_cmd_ex=pa_cmd_pa_ctx_buf+pa_ctx_ex_buf.
In one embodiment of the present application, when an exception occurs in an execution message context, the method includes: when the context of the execution message exceeds the preset time, determining that the context of the execution message is abnormal; and/or determining that the execution message context is abnormal when the execution message context is abnormal in message state.
When the execution time exceeds the preset time, it is indicated that the abnormality occurs in the execution of the message context, and/or when the execution of the message context occurs, the abnormality of the message state occurs, and it is indicated that the abnormality occurs in the execution of the message context.
In one embodiment of the present application, a message context is received, the message context including input-output path necessary data and input-output path unnecessary data, comprising: and classifying the message context according to the access frequency to obtain the necessary data of the input/output channel and the unnecessary data of the input/output channel.
Wherein the division of the input-output path necessary data and the input-output path unnecessary data in the message context may be divided according to the access frequency. Specifically, the access frequency corresponding to each piece of descriptive information in the message context is acquired, the access frequency is compared with a preset access frequency, descriptive information exceeding the preset access frequency is determined as the necessary data of the input/output channel, and otherwise, descriptive information not exceeding the preset access frequency is determined as the unnecessary data of the input/output channel. Wherein the input-output path necessary data is data that is high-frequency or must be accessed by an input-output path (IO path), and the input-output path unnecessary data is data that is performed by a message context with a processing error or low-frequency access.
In one embodiment of the present application, classifying a message context according to an access frequency to obtain necessary data of an input/output path and unnecessary data of the input/output path includes: the method comprises the steps of acquiring access frequency corresponding to each data in a message context, determining data with access frequency greater than a preset access frequency as necessary data of an input/output channel, and determining data with access frequency less than or equal to the preset access frequency as unnecessary data of the input/output channel.
The method includes classifying a message context according to access frequency to obtain necessary data of an input/output path and unnecessary data of the input/output path, specifically, acquiring access frequency corresponding to descriptive information in the message context, acquiring preset access frequency, comparing the access frequency corresponding to descriptive information with the preset access frequency, determining descriptive information with access frequency greater than the preset access frequency as necessary data of the input/output path, namely, determining descriptive information with access frequency less than or equal to the preset access frequency as necessary data of the input/output path, and determining descriptive information with access frequency not exceeding the preset access frequency as necessary data of the input/output path.
In one embodiment of the present application, the method further includes: and acquiring a message context identifier corresponding to the message context, and respectively associating the message context identifier with the necessary data of the input/output path and the unnecessary data of the input/output path.
The message context identifier is used for identifying the message context, and after the message context is classified to obtain necessary data of an input/output path and unnecessary data of the input/output path, the message context identifier is determined as a unique identifier between the necessary data and the unnecessary data of the input/output path to index. Specifically, the message context identifier may be associated with the input/output path necessary data and the input/output path unnecessary data, respectively, that is, the message context identifier may be bound with the input/output path necessary data and the input/output path unnecessary data, respectively. In this way, the message context is divided into two parts for storage and associated access, so that the space of a tightly coupled memory TCM can be saved, the number of available message contexts is increased, and the random reading performance of the solid state disk is improved on the premise of not reducing the access efficiency.
It should be understood that, although the steps in the above-described flowcharts are shown in order as indicated by the arrows, these steps are not necessarily performed in order as indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in the flowcharts described above may include a plurality of sub-steps or stages that are not necessarily performed at the same time, but may be performed at different times, and the order of execution of the sub-steps or stages is not necessarily sequential, but may be performed alternately or alternately with at least a part of the sub-steps or stages of other steps or other steps.
In one embodiment of the present application, as shown in fig. 2, a message context processing apparatus 200 is provided, where the message context processing apparatus 200 is applied to a solid state disk, and the solid state disk includes a tightly coupled memory and a dynamic random access memory, and includes: a receiving module 202, an obtaining module 204, a first writing module 206, and a second writing module 208, wherein:
The receiving module 202 is configured to receive a message context, where the message context includes input/output path necessary data and input/output path unnecessary data.
And the obtaining module 204 is configured to obtain the target idle context block from the idle context unidirectional linked list of the tightly coupled memory.
The first writing module 206 is configured to write the input/output path necessary data to the target idle context block when no exception occurs in the execution message context.
The second writing module 208 is configured to write unnecessary data of the input/output path to the dynamic random access memory when an exception occurs in the context of the execution message.
In one embodiment, the receiving module 202 receives a message command sent by a computer device, where the computer device is a terminal or a server, and parses the message command to obtain a corresponding message context, where the message context is command descriptive information corresponding to the message command.
In one embodiment of the present application, the message context processing apparatus 200 obtains a byte size corresponding to a message context, and establishes a free context list in the tightly coupled memory according to the byte size, where the free context list includes a plurality of free context blocks, and each free context block is associated with a corresponding address.
In one embodiment of the present application, the message context processing apparatus 200 performs blocking on the tightly coupled memory according to the byte size to obtain a plurality of idle context blocks, and stores each idle context block in a chained manner to obtain an idle context unidirectional link list.
In one embodiment of the present application, the acquisition module 204 acquires the target free context block from the free context list head.
In one embodiment of the present application, the first writing module 206 obtains a preset message format, and writes the input/output channel necessary data into the data field in the target idle context block according to the preset message format.
In one embodiment of the present application, the message context processing apparatus 200 deletes the written context block from the free context list, obtains the message type from the message context, and loads the written context block in the corresponding functional unit according to the message type.
In one embodiment of the present application, the message context processing apparatus 200 loads the functional unit in the channel linked list, and issues the written context block to the flash memory, so that the flash memory processes the written context block.
In one embodiment of the present application, the message context processing apparatus 200 receives a completion message returned by the flash memory, clears the written context block according to the completion message, and returns the cleared context block to the tail in the free context list.
In one embodiment of the present application, the second writing module 208 calculates a target address of the unnecessary data of the input/output channel in the dynamic random access memory according to the address corresponding to the target idle context block, and writes the unnecessary data of the input/output channel into the dynamic random access memory according to the target address.
In one embodiment of the present application, the second writing module 208 obtains a first starting address corresponding to the idle context unidirectional link list, obtains a block address corresponding to the target idle context block in the idle context unidirectional link list, obtains a second starting address corresponding to the dynamic random access memory, and calculates a target address according to the first starting address, the block address and the second starting address.
In one embodiment of the present application, the second writing module 208 calculates an address offset value according to the first starting address and the block address, and calculates a target address according to the address offset value and the second starting address.
In one embodiment of the present application, the second writing module 208 determines that the execution message context is abnormal when the execution message context exceeds a preset time; and/or determining that the execution message context is abnormal when the execution message context is abnormal in message state.
In one embodiment of the present application, the receiving module 202 classifies the message context according to the access frequency, so as to obtain the necessary data of the input/output channel and the unnecessary data of the input/output channel.
In one embodiment of the present application, the receiving module 202 obtains the access frequency corresponding to each data in the message context, determines that the data with the access frequency greater than the preset access frequency is the data necessary for the input/output channel, and determines that the data with the access frequency less than or equal to the preset access frequency is the data unnecessary for the input/output channel.
In one embodiment of the present application, the message context processing apparatus 200 obtains a message context identifier corresponding to a message context, and associates the message context identifier with the input/output path necessary data and the input/output path unnecessary data, respectively.
In one embodiment of the present application, the read/write rate of the tightly coupled memory is higher than the read/write rate of the dynamic random access memory.
For specific limitations of the message context processing apparatus, reference may be made to the limitations of the message context processing method in the above, and no further description is given here. The various modules in the message context processing apparatus described above may be implemented in whole or in part by software, hardware, or a combination thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
In one embodiment of the present application, a computer device is provided, which may be a server, and an internal structure diagram thereof may be as shown in fig. 3. The computer device includes a processor, a memory, a network interface, and a database connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The database of the computer device is for storing the message context. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to implement a message context processing method.
In one embodiment of the present application, a computer device is provided, which may be a terminal, and an internal structure diagram thereof may be as shown in fig. 4. The computer device includes a processor, a memory, a network interface, a display screen, and an input device connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to implement a message context processing method. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer equipment can be a touch layer covered on the display screen, can also be keys, a track ball or a touch pad arranged on the shell of the computer equipment, and can also be an external keyboard, a touch pad or a mouse and the like.
It will be appreciated by those skilled in the art that the structures shown in fig. 3 or 4 are merely block diagrams of portions of structures related to the aspects of the present application and are not intended to limit the computer devices to which the aspects of the present application may be applied, and that a particular computer device may include more or fewer components than shown, or may combine certain components, or may have a different arrangement of components.
In one embodiment of the present application, a computer device is provided, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the following steps when executing the computer program: receiving a message context, wherein the message context comprises input/output path necessary data and input/output path unnecessary data; acquiring a target idle context block from an idle context unidirectional link list of a tightly coupled memory; when the context of the execution message is not abnormal, writing the necessary data of the input/output channel into a target idle context block; when the context of the execution message is abnormal, unnecessary data of the input/output channel is written into the dynamic random access memory.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and receiving a message command sent by the computer equipment, wherein the computer equipment is a terminal or a server, and analyzing the message command to obtain a corresponding message context, and the message context is command descriptive information corresponding to the message command.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: acquiring the byte size corresponding to the message context, and establishing an idle context unidirectional link list in the tightly coupled memory according to the byte size, wherein the idle context unidirectional link list comprises a plurality of idle context blocks, and each idle context block is associated with a corresponding address.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and partitioning the tightly coupled memory according to the byte size to obtain a plurality of idle context blocks, and storing each idle context block in a chained mode to obtain an idle context unidirectional link list.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: the target idle context block is obtained from the idle context list header.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and acquiring a preset message format, and writing the necessary data of the input/output channel into a data field in the idle context block according to the preset message format.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: deleting the written context block from the idle context list, acquiring the message type from the message context, and loading the written context block into the corresponding functional unit according to the message type.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and loading the functional unit in a channel linked list, and issuing the written context blocks to the flash memory so that the flash memory processes the written context blocks.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and receiving a completion message returned by the flash memory, clearing the written context block according to the completion message, and returning the cleared context block to the tail part in the idle context unidirectional link list.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and calculating a target address of unnecessary data of the input/output channel in the dynamic random access memory according to the address corresponding to the target idle context block, and writing the unnecessary data of the input/output channel into the dynamic random access memory according to the target address.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: acquiring a first starting address corresponding to the idle context unidirectional link list, acquiring a block address corresponding to a target idle context block in the idle context unidirectional link list, acquiring a second starting address corresponding to the dynamic random access memory, and calculating according to the first starting address, the block address and the second starting address to obtain a target address.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and calculating an address offset value according to the first starting address and the block address, and calculating a target address according to the address offset value and the second starting address.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: when the context of the execution message exceeds the preset time, determining that the context of the execution message is abnormal; and/or determining that the execution message context is abnormal when the execution message context is abnormal in message state.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and classifying the message context according to the access frequency to obtain the necessary data of the input/output channel and the unnecessary data of the input/output channel.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: the method comprises the steps of acquiring access frequency corresponding to each data in a message context, determining data with access frequency greater than a preset access frequency as necessary data of an input/output channel, and determining data with access frequency less than or equal to the preset access frequency as unnecessary data of the input/output channel.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and acquiring a message context identifier corresponding to the message context, and respectively associating the message context identifier with the necessary data of the input/output path and the unnecessary data of the input/output path.
In one embodiment of the present application, the read/write rate of the tightly coupled memory is higher than the read/write rate of the dynamic random access memory.
In one embodiment of the present application, a computer readable storage medium is provided having a computer program stored thereon, which when executed by a processor, performs the steps of: receiving a message context, wherein the message context comprises input/output path necessary data and input/output path unnecessary data; acquiring a target idle context block from an idle context unidirectional link list of a tightly coupled memory; when the context of the execution message is not abnormal, writing the necessary data of the input/output channel into a target idle context block; when the context of the execution message is abnormal, unnecessary data of the input/output channel is written into the dynamic random access memory.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and receiving a message command sent by the computer equipment, wherein the computer equipment is a terminal or a server, and analyzing the message command to obtain a corresponding message context, and the message context is command descriptive information corresponding to the message command.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: acquiring the byte size corresponding to the message context, and establishing an idle context unidirectional link list in the tightly coupled memory according to the byte size, wherein the idle context unidirectional link list comprises a plurality of idle context blocks, and each idle context block is associated with a corresponding address.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and partitioning the tightly coupled memory according to the byte size to obtain a plurality of idle context blocks, and storing each idle context block in a chained mode to obtain an idle context unidirectional link list.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: the target idle context block is obtained from the idle context list header.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and acquiring a preset message format, and writing the necessary data of the input/output channel into a data field in the idle context block according to the preset message format.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: deleting the written context block from the idle context list, acquiring the message type from the message context, and loading the written context block into the corresponding functional unit according to the message type.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and loading the functional unit in a channel linked list, and issuing the written context blocks to the flash memory so that the flash memory processes the written context blocks.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and receiving a completion message returned by the flash memory, clearing the written context block according to the completion message, and returning the cleared context block to the tail part in the idle context unidirectional link list.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and calculating a target address of unnecessary data of the input/output channel in the dynamic random access memory according to the address corresponding to the target idle context block, and writing the unnecessary data of the input/output channel into the dynamic random access memory according to the target address.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: acquiring a first starting address corresponding to the idle context unidirectional link list, acquiring a block address corresponding to a target idle context block in the idle context unidirectional link list, acquiring a second starting address corresponding to the dynamic random access memory, and calculating according to the first starting address, the block address and the second starting address to obtain a target address.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and calculating an address offset value according to the first starting address and the block address, and calculating a target address according to the address offset value and the second starting address.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: when the context of the execution message exceeds the preset time, determining that the context of the execution message is abnormal; and/or determining that the execution message context is abnormal when the execution message context is abnormal in message state.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and classifying the message context according to the access frequency to obtain the necessary data of the input/output channel and the unnecessary data of the input/output channel.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: the method comprises the steps of acquiring access frequency corresponding to each data in a message context, determining data with access frequency greater than a preset access frequency as necessary data of an input/output channel, and determining data with access frequency less than or equal to the preset access frequency as unnecessary data of the input/output channel.
In one embodiment of the present application, the processor when executing the computer program further performs the steps of: and acquiring a message context identifier corresponding to the message context, and respectively associating the message context identifier with the necessary data of the input/output path and the unnecessary data of the input/output path.
In one embodiment of the present application, the read/write rate of the tightly coupled memory is higher than the read/write rate of the dynamic random access memory.
Those skilled in the art will appreciate that implementing all or part of the above described methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed, may comprise the steps of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the various embodiments provided herein may include non-volatile and/or volatile memory. The nonvolatile memory can include Read Only Memory (ROM), programmable ROM (PROM), electrically Programmable ROM (EPROM), electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), memory bus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), among others.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The above examples merely represent a few embodiments of the present application, which are described in more detail and are not to be construed as limiting the scope of the invention. It should be noted that it would be apparent to those skilled in the art that various modifications and improvements could be made without departing from the spirit of the present application, which would be within the scope of the present application. Accordingly, the scope of protection of the present application is to be determined by the claims appended hereto.

Claims (20)

1. A method for processing a message context, the method being applied to a solid state disk, the solid state disk including a tightly coupled memory and a dynamic random access memory, the method comprising:
receiving a message context, wherein the message context comprises input-output channel necessary data and input-output channel unnecessary data;
acquiring a target idle context block from the idle context unidirectional linked list of the tightly coupled memory;
When the message context is executed without abnormality, writing the necessary data of the input/output channel into the target idle context block;
when the message context is executed and abnormal occurs, the unnecessary data of the input/output channel is written into the dynamic random access memory.
2. The method of claim 1, wherein receiving the message context comprises:
receiving a message command sent by computer equipment, wherein the computer equipment is a terminal or a server;
and analyzing the message command to obtain a corresponding message context, wherein the message context is command descriptive information corresponding to the message command.
3. The method of claim 1, wherein prior to obtaining the target free context block from the free context list of the tightly coupled memory, further comprising:
acquiring the byte size corresponding to the message context;
and establishing an idle context unidirectional link list in the tightly coupled memory according to the byte size, wherein the idle context unidirectional link list comprises a plurality of idle context blocks, and each idle context block is associated with a corresponding address.
4. The method of claim 3, wherein the establishing a free context list in the tightly coupled memory based on the byte size comprises:
partitioning the tightly coupled memory according to the byte size to obtain a plurality of idle context blocks;
and storing each free context block in a chained mode to obtain a free context unidirectional linked list.
5. The method of claim 1, wherein the obtaining the target free context block from the free context list of the tightly coupled memory comprises:
and acquiring a target idle context block from the head of the idle context unidirectional linked list.
6. The method of claim 1, wherein the writing the input-output lane necessary data to the target free context block comprises:
acquiring a preset message format;
and writing the necessary data of the input/output channel into a data field in the target idle context block according to the preset message format.
7. The method of claim 1, wherein after writing the input-output path necessary data to the target idle context block, further comprising:
Deleting the written context block from the idle context list;
obtaining a message type from the message context;
and according to the message type, the written context block is mounted in the corresponding functional unit.
8. The method of claim 7, wherein the method further comprises:
the functional units are mounted in a channel linked list;
and issuing the written context block to a flash memory so that the flash memory processes the written context block.
9. The method of claim 8, wherein the method further comprises:
receiving a completion message returned by the flash memory;
clearing the written context block according to the completion message;
and returning the emptied context block to the tail part in the idle context unidirectional linked list.
10. The method of claim 1, wherein the writing the input-output path unnecessary data to the dynamic random access memory comprises:
calculating a target address of unnecessary data of the input/output channel in the dynamic random access memory according to the address corresponding to the target idle context block;
And writing the unnecessary data of the input/output channel into the dynamic random access memory according to the target address.
11. The method of claim 10, wherein the calculating the target address of the unnecessary data of the input/output path in the dynamic random access memory according to the address corresponding to the target idle context block comprises:
acquiring a first starting address corresponding to the idle context unidirectional linked list;
acquiring a block address corresponding to the target idle context block in the idle context unidirectional link list;
acquiring a second initial address corresponding to the dynamic random access memory;
and calculating according to the first starting address, the block address and the second starting address to obtain a target address.
12. The method of claim 11, wherein said calculating a target address from said first start address, said block address, and said second start address comprises:
calculating an address offset value according to the first starting address and the block address;
and calculating according to the address offset value and the second starting address to obtain the target address.
13. The method of claim 1, wherein when an exception occurs in executing the message context, comprising:
When the message context is executed for more than a preset time, determining that the message context is executed abnormally; and/or
And when the message context is executed and the message state is abnormal, determining that the message context is executed and the message state is abnormal.
14. The method of claim 1, wherein the receiving a message context, the message context including input-output path necessary data and input-output path unnecessary data, comprises:
and classifying the message context according to the access frequency to obtain the necessary data of the input/output path and the unnecessary data of the input/output path.
15. The method of claim 14, wherein classifying the message context according to the access frequency to obtain the input-output path necessary data and the input-output path unnecessary data comprises:
acquiring the access frequency corresponding to each data in the message context;
determining the data with the access frequency greater than the preset access frequency as the necessary data of the input/output path;
and determining the data with the access frequency smaller than or equal to the preset access frequency as unnecessary data of an input/output channel.
16. The method according to claim 14 or 15, characterized in that the method further comprises:
acquiring a message context identifier corresponding to the message context;
and respectively associating the message context identification with the input/output channel necessary data and the input/output channel unnecessary data.
17. The method of claim 1, wherein the read-write rate of the tightly coupled memory is higher than the read-write rate of the dynamic random access memory.
18. A message context processing apparatus, wherein the apparatus is applied to a solid state disk, the solid state disk including a tightly coupled memory and a dynamic random access memory, the apparatus comprising:
the receiving module is used for receiving a message context, wherein the message context comprises necessary data of an input/output channel and unnecessary data of the input/output channel;
the acquisition module is used for acquiring a target idle context block from the idle context unidirectional linked list of the tightly-coupled memory;
the first writing module is used for writing the necessary data of the input/output channel into the target idle context block when the message context is executed without exception;
And the second writing module is used for writing the unnecessary data of the input/output channel into the dynamic random access memory when the message context is executed and abnormal occurs.
19. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the method of any one of claims 1 to 17 when the computer program is executed.
20. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 17.
CN202310763801.2A 2023-06-27 2023-06-27 Message context processing method, device, computer equipment and storage medium Active CN116501266B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310763801.2A CN116501266B (en) 2023-06-27 2023-06-27 Message context processing method, device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310763801.2A CN116501266B (en) 2023-06-27 2023-06-27 Message context processing method, device, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN116501266A true CN116501266A (en) 2023-07-28
CN116501266B CN116501266B (en) 2023-09-12

Family

ID=87323472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310763801.2A Active CN116501266B (en) 2023-06-27 2023-06-27 Message context processing method, device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116501266B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908358A (en) * 2017-10-25 2018-04-13 记忆科技(深圳)有限公司 A kind of method of reduction NVMe solid state disk writes amplification
CN111324427A (en) * 2018-12-14 2020-06-23 深圳云天励飞技术有限公司 Task scheduling method and device based on DSP
CN112148690A (en) * 2019-06-26 2020-12-29 深圳市茁壮网络股份有限公司 File caching method, file access request processing method and device
CN114546295A (en) * 2022-04-25 2022-05-27 武汉麓谷科技有限公司 Intelligent write allocation method and device based on ZNS solid state disk
CN114936188A (en) * 2022-05-30 2022-08-23 重庆紫光华山智安科技有限公司 Data processing method and device, electronic equipment and storage medium
CN115562582A (en) * 2022-10-11 2023-01-03 上海震松科技有限公司 Data migration method based on blue-ray disc library, server and blue-ray disc library
CN115617733A (en) * 2022-12-19 2023-01-17 井芯微电子技术(天津)有限公司 RapidIO network message conversion method, system and equipment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908358A (en) * 2017-10-25 2018-04-13 记忆科技(深圳)有限公司 A kind of method of reduction NVMe solid state disk writes amplification
CN111324427A (en) * 2018-12-14 2020-06-23 深圳云天励飞技术有限公司 Task scheduling method and device based on DSP
CN112148690A (en) * 2019-06-26 2020-12-29 深圳市茁壮网络股份有限公司 File caching method, file access request processing method and device
CN114546295A (en) * 2022-04-25 2022-05-27 武汉麓谷科技有限公司 Intelligent write allocation method and device based on ZNS solid state disk
CN114936188A (en) * 2022-05-30 2022-08-23 重庆紫光华山智安科技有限公司 Data processing method and device, electronic equipment and storage medium
CN115562582A (en) * 2022-10-11 2023-01-03 上海震松科技有限公司 Data migration method based on blue-ray disc library, server and blue-ray disc library
CN115617733A (en) * 2022-12-19 2023-01-17 井芯微电子技术(天津)有限公司 RapidIO network message conversion method, system and equipment

Also Published As

Publication number Publication date
CN116501266B (en) 2023-09-12

Similar Documents

Publication Publication Date Title
CN108733306B (en) File merging method and device
CN108628542B (en) File merging method and controller
KR20140114515A (en) Nonvolatile memory device and deduplication method thereof
US20130198150A1 (en) File-type dependent data deduplication
TW201937361A (en) Storage device
CN111158602A (en) Data layered storage method, data reading method, storage host and storage system
US11681638B2 (en) Method of synchronizing time between host device and storage device and system performing the same
CN109582483B (en) Data storage device and operation method thereof
CN115079936A (en) Data writing method and device
US8046507B2 (en) Computer, external storage and method for processing data information in external storage
CN113687978A (en) Data processing method for storage array controller
CN115470235A (en) Data processing method, device and equipment
CN116501266B (en) Message context processing method, device, computer equipment and storage medium
WO2023020136A1 (en) Data storage method and apparatus in storage system
US20060200656A1 (en) Apparatus and method to capture data from an embedded device
CN113448487B (en) Computer readable storage medium, method and apparatus for writing flash memory management table
US20060277326A1 (en) Data transfer system and method
TWI749490B (en) Computer program product and method and apparatus for programming flash administration tables
CN115563021A (en) Method and device for improving repeated reading performance based on solid state disk and computer equipment
CN114816322A (en) External sorting method and device of SSD and SSD memory
KR20230037255A (en) Method for managing event log, controller and storage device
CN109445686B (en) Storage disk and data access method
US10719461B2 (en) Solid state device with distributed bit buckets
CN103064803B (en) A kind of data read-write method of NAND Flash storage device and device
CN109002265B (en) Data processing method and related device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant