Memory die, data processing method, computer system
By adding a computing module inside the memory core, data reading, computing and storage is completed, the problems of chip interconnection interface bandwidth and power consumption pressure are solved, and data processing efficiency is improved.
Patent Information
- Application Number
- CN202311481882.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-08
- Publication Date
- 2025-06-24
- Estimated Expiration
- 2043-11-08
AI Technical Summary
The core interconnection interface of memory core particles faces large bandwidth pressure and power consumption pressure during data transmission and computing, and these pressures need to be reduced.
The memory chip is designed to add a calculation module inside the memory chip, and the module is used to complete the reading, computing and storing of the target data, so that the chip chip interconnection interface is only responsible for receiving and transmitting data processing commands.
By reducing the number of data transmission times of the core interconnection interface during the data calculation process, the bandwidth pressure and power consumption pressure are reduced, and the data processing efficiency of the memory core is improved.
Smart Images

Figure CN117472847B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present application relate to the technical field of chip design, and in particular, to a storage die, a data processing method, and a computer system. Background Art
[0002] A die is a unit chip that can implement certain functions and contains a die interconnection interface (referred to as an interconnection interface for short). Multiple dies can be interconnected through the interconnection interface to form a die system, and the die system can form chips such as a SOC (System On Chip). Inside the die, there is a die interconnection interface, and through the die interconnection interface, communication between dies can be realized to achieve the interconnection between dies.
[0003] As a die for storing data, when the storage die is interconnected with other dies, data needs to be transmitted through the die interconnection interface of the storage die. Therefore, there is a large bandwidth pressure on the die interconnection interface of the storage die. How to reduce the bandwidth pressure on the die interconnection interface of the storage die has become a technical problem that needs to be solved urgently by those skilled in the art. Summary of the Invention
[0004] In view of this, embodiments of the present invention provide a storage die, a data processing method, and a computer system to reduce the bandwidth pressure and power consumption pressure on the die interconnection interface of the storage die.
[0005] To achieve the above object, embodiments of the present invention provide the following technical solutions.
[0006] In a first aspect, embodiments of the present invention provide a storage die, including: a die interconnection interface, a computing module, and a storage module;
[0007] The die interconnection interface is configured to receive a data processing command sent to the storage die and pass the data processing command to the computing module;
[0008] The computing module is configured to read target data from the storage module based on the data processing command; perform an operation on the target data based on the data processing command to obtain an operation result; and store the operation result in the storage module based on the data processing command;
[0009] The storage module is configured to store data.
[0010] In a second aspect, embodiments of the present invention provide a data processing method applied to the storage die as described in the first aspect, including:
[0011] Obtain a data processing command;
[0012] Read target data based on the data processing command; perform an operation on the target data based on the data processing command to obtain an operation result; and store the operation result based on the data processing command.
[0013] In a third aspect, an embodiment of the present invention further provides a computer system, including:
[0014] A processor for sending a data processing command;
[0015] The storage die as described in the first aspect, configured to receive the data processing command sent by the processor, execute the data processing command, and store the operation result of the data processing command in the storage die.
[0016] An embodiment of the present invention provides a storage die, including: a die interconnection interface, a computing module, and a storage module; the die interconnection interface is configured to receive a data processing command sent to the storage die and pass the data processing command to the computing module; the computing module is configured to read target data from the storage module based on the data processing command; perform an operation on the target data based on the data processing command to obtain an operation result; and store the operation result in the storage module based on the data processing command; the storage module is configured to store data.
[0017] It can be seen that the storage die provided by the embodiment of the present invention adds a computing module internally, so that the reading of target data, the operation of target data, and the storage of the operation result of target data can be completed by using the computing module inside the storage die, enabling the die interconnection interface to only execute the receiving process of data processing commands sent by other chips (such as processors) outside the storage die, without the need to execute the operation of storing the operation result in the storage die after the external chip finishes executing the data processing command for data operation; therefore, the number of related data transmissions (reading the target data required in the data processing command for data operation and storing the operation result of the target data) that the die interconnection interface needs to perform for a data processing command for data operation can be reduced, thereby reducing the bandwidth pressure and power consumption pressure of the die interconnection interface. Description of the Drawings
[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only the embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained according to the provided drawings without creative efforts.
[0019] Figure 1It is a schematic structural diagram of an implementation for data interaction between a storage die and a processor;
[0020] Figure 2 It is a schematic structural diagram of a storage die provided by an embodiment of the present invention;
[0021] Figure 3 It is another schematic structural diagram of a storage die provided by an embodiment of the present invention;
[0022] Figure 4 It is a schematic structural diagram of a computing module in a storage die provided by an embodiment of the present invention;
[0023] Figure 5 It is a schematic flowchart of a data processing method provided by an embodiment of the present invention;
[0024] Figure 6 It is another schematic flowchart of a data processing method provided by an embodiment of the present invention;
[0025] Figure 7 It is a schematic structural diagram of a computer system provided by an embodiment of the present invention. Detailed implementation manners
[0026] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
[0027] In a computer system, there is an interconnection between a storage die and a processor (such as a CPU / GPU). For example, a storage die can be used to store data, and a processor is used for data operation processing. The storage die and the processor can be respectively provided with die interconnection interfaces, so that the storage die and the processor can be interconnected through the die interconnection interfaces to realize the interaction between the processor and the storage die. For example, when the processor needs to perform data operations, it can interact with the storage die through the die interconnection interface, so as to read the operands for data operations from the storage die and store the operation results in the storage die. For ease of understanding the data interaction between the storage die and the processor, please refer to Figure 1 , Figure 1 It is a schematic structural diagram of an implementation for data interaction between a storage die and a processor.
[0028] Such as Figure 1As shown in the figure, the structure includes a storage die 10 and a processor 20. The storage die 10 and the processor 20 are interconnected through a die interconnect interface to achieve data communication between the processor 20 and the storage die 10. The processor 20 can be a processor die or a processor chip, and it performs data interaction with the storage die.
[0029] Inside the storage die 10, there are a die interconnect interface, a storage controller (such as a memory controller), a storage module, and a data bus connecting the storage controller and the die interconnect interface to transfer data inside the storage die 10.
[0030] The storage controller is an important part of the internal control of the computer system's memory and enables the exchange of data between the memory and the processor through the storage controller.
[0031] The storage module can store the operation data required when the computer system executes commands.
[0032] The processor 20 is used for data operation. When data operation is required, it reads the operand in the storage module of the storage die 10 through the die interconnect interface as the target data for data operation; after the processor 20 completes the data operation and obtains the operation result, it then writes the operation result back to the storage module in the storage die 10 through the die interconnect interface.
[0033] With the continuous improvement of the data operation performance requirements of the computer system, the number of data reads and data storages that the die interconnect interface needs to execute is increasing. For example, when the processor 20 needs to read a certain operand for corresponding operation processing, the storage die 10 needs to transfer the operand to the processor 20 through the die interconnect interface; the processor 20 receives the operand through the die interconnect interface; after the processor 20 completes the operation processing based on the operand, it needs to store the processed operation result data back to the storage die 10. At this time, the processor 20 needs to transmit the operation result back to the storage die 10 through the die interconnect interface, and the storage die 10 receives the operation result through the die interconnect interface.
[0034] Therefore, in the scenario of data transmission requirements brought about by the improvement of data operation performance, the bandwidth pressure and power consumption pressure of the die interconnect interface of the storage die 10 will increase rapidly.
[0035] To solve the above problems, an embodiment of the present invention proposes a storage die that realizes the data operation function inside the storage die and can directly write the operation result back to the storage module inside the storage die, reducing the number of interactions between the storage die and the processor, and effectively reducing the bandwidth pressure and power consumption pressure of the die interconnect interface.
[0036] Please refer to Figure 2 , Figure 2It is a schematic structural diagram of a storage die provided by an embodiment of the present invention.
[0037] As Figure 2 shown, the storage die 10 may include: a die interconnection interface 100, a computing module 110, and a storage module 120;
[0038] The die interconnection interface 100 is used to receive a data processing command sent to the storage die 10 and transfer the data processing command to the computing module 110;
[0039] The computing module 110 is used to read target data from the storage module 120 based on the data processing command; perform an operation on the target data based on the data processing command to obtain an operation result; and store the operation result in the storage module 120 based on the data processing command.
[0040] The storage module 120 is used to store data.
[0041] The die interconnection interface 100 is a module for realizing data communication between the storage die 10 and other external dies, and realizes data communication and transmission through the protocol corresponding to the die interconnection interface 100.
[0042] The computing module 110 is a module for performing data operations. It can read target data, perform operations on the target data, and store the operation result of the target data based on the data processing command sent by the die interconnection interface 100; thus, it can realize the overall processing of a data operation inside the storage die 10.
[0043] The computing module 110 may correspond to a functional module in the processor for performing data operations.
[0044] The data processing command can enable the computing module 110 to complete the reading of target data, the operation of target data, and the storage of the operation result, and can completely realize the data processing command for performing data operations inside the storage die 10, that is, the acquisition of operands, the operation of operands, and the storage of the operation result.
[0045] It can be seen that for the storage die 10 provided in the embodiment of the present invention, a computing module 110 is additionally provided inside, so that the target data reading, the operation of the target data, and the storage of the operation result of the target data can be completed inside the storage die 10 by using the computing module 110. As a result, the die interconnect interface 100 only needs to execute the process of receiving the data processing commands sent by other chips (such as processors) outside the storage die 10, and does not need to execute the operation of storing the operation result in the storage die 10 after the external chip completes the data operation for the data processing command; therefore, the number of related data transmissions (reading the target data required in the data operation processing command and storing the operation result of the target data) that the die interconnect interface 100 needs to perform for a data operation data processing command can be reduced, thereby reducing the bandwidth pressure and power consumption pressure of the die interconnect interface 100.
[0046] Since in the storage die 10 described in the embodiment of the present invention, the received data processing command is a combined command that can completely execute the data operation inside the storage die 10. For example, when the data processing command is a data reading command, in one implementation, it includes: a reading address field, an operation field, and a storage address field; the reading address field indicates the reading address of the target data, the operation field indicates the operation type for operating on the target data, and the storage address field indicates the storage address of the operation result.
[0047] Including the reading address field, the operation field, and the storage address field in the data processing command can enable the computing module 110 to realize the reading of the target data, the operation of the read target data, and the storage of the operation result of the target data inside the storage die 10 after receiving the data processing command.
[0048] In order to enable the computing module 110 to successfully execute the data processing command inside the storage die 10, in one implementation, the computing module 110 is further configured to parse the data processing command, obtain the reading address from the reading address field, obtain the operation type from the operation field, and obtain the storage address from the storage address field.
[0049] In the process of implementing the data processing command for data operation by the processor, it includes several processes: reading the target data from the storage module 120 of the storage die 10 through the die interconnect interface 100, the processor operating on the target data read by the die interconnect interface 100, and the die interconnect interface 100 storing the operation result of the target data in the storage module 120 of the storage die 10.
[0050] Therefore, in order to reduce the number of data transmissions of the die interconnect interface 100 and achieve the purpose of reducing the bandwidth pressure and power consumption pressure of the die interconnect interface 100, in the embodiment of the present invention, the required command fields corresponding to each process involved in the implementation process of data operation are combined to obtain a data processing command; the read address field included in the above-mentioned data processing command corresponds to the read address required for the die interconnect interface 100 to obtain target data from the storage module 120 of the storage die 10. In the embodiment of the present invention, the command field (read address field) required for the die interconnect interface 100 to read the target data is added to the data processing command received by the calculation module 110, so that when the calculation module 110 is arranged inside the storage die 10, a read operation can be executed.
[0051] After adding the read address field to the data processing command, in order to enable the calculation module 110 to read the target data using the read address field, the calculation module 110 is further used to parse the read address field to obtain a read address that can be recognized by the calculation module 110, and then obtain the target data.
[0052] Please refer to Figure 2 and Figure 3 , Figure 3 which is another structural schematic diagram of the storage die provided by the embodiment of the present invention.
[0053] As shown in the figure, the storage die 10 further includes a storage controller 130 between the calculation module 110 and the storage module 120.
[0054] The storage controller 130 is used to control the reading of target data from the storage module 120 and the storage of the operation result of the target data. The storage controller 130 is connected to the storage module 120 of the storage die 10 and is used to access the storage module 120, obtain target data from the storage module 120 or write the operation result into the storage module 120 to implement the storage of the operation result. The storage controller 130 manages the memory address of the corresponding connected storage module 120.
[0055] After the calculation module 110 parses the data processing command, a command with an address that can be recognized and executed by the calculation module 110 can be obtained, such as a read command with a read address and a write-back command with a storage address; thus, the calculation module 110 can determine the storage controller 130 used to connect to the storage module 120 corresponding to the address (including the read address and the storage address) according to the read address or the storage address, and then can realize the access to the data inside the storage module 120 through the storage controller 130.
[0056] In one implementation, to meet the working characteristics of the storage die 10 and the computing module 110 itself, the computing module 110 is configured to read target data from the storage module based on the data processing command, including:
[0057] Generate a data read command based on the read address; the data read command is used to indicate reading target data from the read address of the storage module 120;
[0058] Transmit the data read command to the storage controller 130 so that the storage controller 130 reads the target data from the read address; and obtain the target data transmitted by the storage controller 130.
[0059] Since when the processor executes a data processing command for data operation, it will send a read command to the die interconnect interface 100, so that the die interconnect interface 100 reads the target data in the storage module 120 of the storage die 10 according to the received read command; in the present invention, in order to be able to completely implement the data processing command for data operation inside the storage die 10, the computing module 110 is added inside the storage die 10. Therefore, in order to enable the computing module 110 to smoothly execute the operation of reading data, further generate a data read command with a read address according to the command execution method of the computing module 110 for data reading, which conforms to the working characteristics of the computing module 110, and at the same time can read the target data inside the storage die 10 based on the read command.
[0060] In one implementation, to be able to read the target data at different read addresses inside the storage die 10, the number of the storage controllers 130 is multiple, the number of the storage modules 120 is multiple, and one storage controller 130 corresponds to controlling one storage module 120;
[0061] The computing module 110 is configured to transmit the data read command to the storage controller 130, including:
[0062] Determine the storage module 120 where the read address is located according to the read address;
[0063] Transmit the data read command to the storage controller 130 corresponding to the storage module 120 where the read address is located.
[0064] As Figure 3As shown, a storage controller 130 correspondingly controls a storage module 120, so that when the computing module 110 resolves different read addresses, it can determine the storage module 120 where the read address is located according to the read address, and then transfer the data read command to the storage controller 130 corresponding to the storage module 120 where the read address is located.
[0065] In order to be able to perform arithmetic operations on the target data, in one embodiment, the computing module 110 is used to perform arithmetic operations on the target data based on the data processing command to obtain an arithmetic result, including:
[0066] Perform arithmetic operations on the target data based on the arithmetic type to obtain an arithmetic result.
[0067] In the process of implementing the data processing command for data arithmetic operations by the processor, it includes the operation process of the processor performing arithmetic operations on the target data read by the die interconnect interface 100. Therefore, in order to enable the computing module 110 to perform data arithmetic operations based on the obtained data processing command, an arithmetic field is included in the above-mentioned data processing command, corresponding to the arithmetic type required for the processor to perform arithmetic operations on the target data read by the die interconnect interface 100; in the embodiments of the present invention, the command field (arithmetic field) required for performing arithmetic operations on the target data read by the die interconnect interface 100 is added to the data processing command received by the computing module 110, so that when the computing module 110 is set inside the storage die 10, it can perform data arithmetic operations.
[0068] After adding the arithmetic field to the data processing command, in order to enable the computing module 110 to perform arithmetic operations on the read target data using the arithmetic field, the computing module 110 is further used to parse the arithmetic field to obtain the arithmetic type recognizable by the computing module 110, and then perform arithmetic operations on the obtained target data.
[0069] In order to be able to perform the storage operation of the arithmetic result of the target data, in one embodiment, the computing module 110 is used to store the arithmetic result to the storage module 120 based on the data processing command, including:
[0070] Generate a data write-back command based on the storage address; the data write-back command is used to indicate storing the arithmetic result to the storage address of the storage module 120;
[0071] Transfer the data write-back command to the storage controller 130 so that the storage controller 130 can store the arithmetic result to the storage address of the storage module 120.
[0072] In the process of implementing a data processing command for the processor to perform data operations, it includes the operation of the die interconnect interface 100 writing back the operation result obtained by the processor to the storage module 120 of the storage die 10 for storage. Therefore, in order to enable the computing module 110 to store the operation result of the target data based on the obtained data processing command, a storage address field is included in the above-mentioned data processing command, corresponding to the storage address required when the die interconnect interface 100 writes back the operation result of the processor to the storage module 120 of the storage die 10; in the embodiment of the present invention, the command field (storage address field) required when the die interconnect interface 100 stores the operation result of the target data is added to the data processing command received by the computing module 110, so that when the computing module 110 is arranged inside the storage die 10, it can perform the storage operation of the operation result of the target data.
[0073] After adding the storage address field to the data processing command, in order to enable the computing module 110 to store the operation result of the target data using the storage address field, the computing module 110 is further used to parse the storage address field to obtain a storage address recognizable by the computing module 110, and then store the operation result of the target data.
[0074] Furthermore, since the processor can issue a data write-back command to the die interconnect interface 100 based on the operation result of the processor's operation on the target data when executing the data processing command for data operations, so that the die interconnect interface 100 receives the data write-back command and writes back the operation result to the storage module 120 of the storage die 10 for storage; in the present invention, in order to complete the full implementation of the data processing command for data operations inside the storage die 10, the computing module 110 is added inside the storage die 10. Therefore, in order to enable the computing module 110 to smoothly perform the storage operation of the operation result of the target data, a data write-back command with a storage address is further generated according to the command execution method of the computing module 110 for data storage, which conforms to the working characteristics of the computing module 110 and can complete the storage of the operation result of the target data inside the storage die 10 based on the write-back command.
[0075] When executing the data write-back command and storing the operation result to the corresponding storage address, the operation result is also stored to the storage module 120 corresponding to the storage address through the storage controller 130.
[0076] Please continue to refer to Figure 3 , the number of the storage controllers 130 is multiple, the number of the storage modules 120 is multiple, and one storage controller 130 corresponds to controlling one storage module 120;
[0077] The computing module 110 for passing the data write-back command to the storage controller 130 includes:
[0078] Determine the storage module 120 where the storage address is located according to the storage address;
[0079] Pass the data write-back command to the storage controller 130 corresponding to the storage module 120 where the storage address is located.
[0080] To meet the internal structure and data transmission of the storage die 10, in one implementation, the die interconnect interface 100 is interconnected with the external chip of the storage die 10 through an interconnect protocol. The computing module 110 communicates with the die interconnect interface 100 through a bus protocol, the computing module 110 communicates with the storage controller 130 through a bus protocol, and the storage controller 130 communicates with the storage module 120 through a bus protocol.
[0081] Wherein, the external chip can be a die or other types of chips.
[0082] When adding the computing module 110 to the inside of the storage die 10, in order to enable the computing module 110 to work properly inside the storage die 10, that is, to perform normal data communication with the storage controller 130 and the die interconnect interface 100 to successfully execute the data processing command, a data bus with the same bus protocol is used inside the storage die 10 to connect the computing module 110 and the die interconnect interface 100, and to connect the computing module 110 and the storage controller 130.
[0083] To improve the data operation ability inside the storage die 10 and enhance the overall data operation ability of the computer system, in one implementation, multiple computing modules 110 can also be set inside the storage die 10. Please continue to refer to Figure 3 .
[0084] As Figure 3 shown, the number of storage controllers 130 of the storage die 10 is multiple, the number of storage modules 120 of the storage die 10 is multiple, and the number of computing modules 110 is multiple; the die interconnect interface 100 is connected to multiple computing modules 110 through a data bus, and multiple computing modules 110 interact and communicate with multiple storage controllers 130 through a data bus, and one storage controller 130 controls one storage module 120.
[0085] Integrate multiple computing modules 110 into one die 10. Each computing module 110 can complete the processing of data commands and perform data operations. When multiple computing modules 110 are added, the overall data operation ability of the die 10 can be correspondingly increased, thereby enhancing the overall data operation ability of the computer system.
[0086] The die interconnection interface 100 is connected to each added computing module 110 through a data bus. The memory controller 130 is connected to the memory module 120 it controls, that is, the memory controller 130 and the memory module 120 are connected in a one-to-one correspondence.
[0087] In one embodiment, the die interconnection interface 100 for passing the data processing command to the computing module 110 includes:
[0088] Determine the computing module 110 in an idle state from multiple computing modules 110;
[0089] Pass the data processing command to the determined computing module 110 in an idle state.
[0090] The memory address range of the memory module 120 connected to each memory controller 130 is unique. The memory controller 130 and the computing module 110 are interconnected, so that the corresponding memory controller 130 can be accessed according to the read address or storage address parsed by the computing module 110, satisfying the execution of the data processing command.
[0091] In one embodiment, the die interconnection interface 100 for determining the computing module 110 in an idle state from multiple computing modules 110 includes:
[0092] Query the status of multiple computing modules 110 in a set order and determine the status of the currently queried computing module 110;
[0093] If the status of the currently queried computing module 110 is an idle state, stop the query;
[0094] If the status of the currently queried computing module 110 is a busy state, continue to query the next computing module 110 until the status of the queried computing module 110 is an idle state.
[0095] When multiple computing modules 110 are provided in a storage die 10, in order to enable the multiple computing modules 110 to execute data processing commands in an orderly manner and make rational use of the data processing resources of the multiple computing modules 110, when a data processing command is received at the die interconnection interface 100, first check whether the first computing module 110 is in a busy state. If so, query the next computing module 110. If not, send the data processing command to the first computing module 110 so that the first computing module 110 executes the data processing command. This way, the work of each computing module 110 will not be affected, nor will the execution of the data processing command be affected.
[0096] In one implementation, please refer to Figure 4 , Figure 4 which is a schematic structural diagram of a computing module in the storage die provided by an embodiment of the present invention.
[0097] As Figure 4 shown, the computing module 110 may include:
[0098] A parsing module 1101, configured to parse the data processing command sent by the die interconnection interface 100 to obtain a command parsing result, where the command parsing result includes a storage address, a read address, and an operation type;
[0099] A reading module 1102, configured to read target data using the read address parsed by the parsing module 1101;
[0100] An operation module 1103, configured to perform an operation on the target data read by the reading module 1102 using the operation type parsed by the parsing module 1101 to obtain an operation result;
[0101] A write-back module 1104, configured to write the operation result obtained by the operation module 1103 back to the storage module 120 using the storage address parsed by the parsing module 1101.
[0102] By parsing each command field in the data processing command through the parsing module 1101, a read address recognizable by the reading module 1102 is obtained, so that the reading module 1102 can read the target data in the storage module 120 according to the read address; further, according to the operation type parsed by the parsing module 1101, the operation module 1103 can perform an operation on the target data read by the reading module 1102; finally, the write-back module 1104 writes the operation result of the operation module 1103 back to the storage module 120 according to the storage address parsed by the parsing module 1101.
[0103] An embodiment of the present invention also provides a data processing method. Please refer toFigure 5 , Figure 5 is a schematic flowchart of the data processing method provided by an embodiment of the present invention. The method is applied to the storage die 10 as described in any of the foregoing embodiments.
[0104] As Figure 5 shown, the method includes:
[0105] Step S200, obtain a data processing command.
[0106] The data processing command is a command that can implement the complete process of data operation. The complete process of data operation may include reading of target data, operation of the read target data, and storage of the operation result of the target data.
[0107] In one implementation, the data processing command includes: a read address field, an operation field, and a storage address field; the read address field indicates the read address of the target data, the operation field indicates the operation type for operating on the target data, and the storage address field indicates the storage address of the operation result.
[0108] By means of the data processing command with a read address field, an operation field, and a storage address field, it is possible to completely execute the reading of the target data, the operation of the target data, and the storage of the operation result of the target data inside the storage die.
[0109] Step S201, based on the data processing command, read the target data; perform an operation on the target data based on the data processing command to obtain an operation result; and store the operation result based on the data processing command.
[0110] It can be seen that in the data processing method provided by the embodiment of the present invention, since the data processing command can implement the complete data operation process, it is possible to complete the reading of the target data, the operation of the target data, and the storage of the operation result of the target data, so that the die interconnection interface of the storage die only executes the receiving process of the data processing command sent by other chips (such as a processor) outside the storage die, and does not need to perform the operation of storing the operation result in the storage die after the external chip executes the data processing command for data operation; therefore, it is possible to reduce the number of related data transmissions (reading the target data required in the data processing command for data operation and storing the operation result of the target data) that the die interconnection interface needs to perform under a data processing command for data operation, thereby reducing the bandwidth pressure and power consumption pressure of the die interconnection interface.
[0111] In order to be able to complete the overall implementation of data operation based on the data processing command, in one implementation, the data processing command may at least include a read address field. Please refer toFigure 6 , Figure 6 is another schematic flowchart of the data processing method provided by the embodiments of the present invention.
[0112] As Figure 6 shown, the method may include the following steps:
[0113] Step S300, obtain a data processing command.
[0114] Step S301, parse the data processing command, obtain a read address by parsing the read address field, obtain an operation type by parsing the operation field, and obtain a storage address by parsing the storage address field.
[0115] Step S302, generate a data read command based on the read address; the data read command is used to indicate reading target data from the read address.
[0116] The read address field included in the data processing command corresponds to the read address required when the die interconnect interface of the storage die obtains target data from the storage module of the storage die. In the embodiments of the present invention, the command field (read address field) required when reading target data is added to the data processing command, so that the calculation module in the storage die can perform a read operation according to the parsed read address.
[0117] After reading the target data, perform an operation on the target data using the parsed operation type.
[0118] Please continue to refer to Figure 6 , the method may further include:
[0119] Step S303, perform an operation on the target data based on the operation type to obtain an operation result.
[0120] In the embodiments of the present invention, the command field (operation field) required when performing an operation on target data is added to the data processing command, so that when the calculation module is arranged inside the storage die, it can perform an operation on the data. After adding the operation field to the data processing command, in order to be able to perform an operation on the read target data using the operation field, the operation field is further parsed by the calculation module to obtain an operation type recognizable by the calculation module, and then an operation is performed on the obtained target data.
[0121] After the operation on the target data is completed, store the operation result of the target data using the parsed storage address.
[0122] Please continue to refer to Figure 6 , the method may further include:
[0123] Step S304: Generate a data write-back command based on the storage address; the data write-back command is used to indicate storing the operation result to the storage address.
[0124] In the implementation process of the data processing command for data operation by the processor, it includes the operation process that the die interconnect interface writes back and stores the operation result obtained by the processor operation to the storage module of the storage die. Therefore, in order to be able to store the operation result of the target data based on the obtained data processing command, the data processing command described above includes a storage address field, corresponding to the storage address required when the die interconnect interface writes back and stores the operation result of the processor to the storage module of the storage die; in the embodiment of the present invention, the command field (storage address field) required when storing the operation result of the target data is added to the data processing command, so that the storage operation of the operation result of the target data can be executed. After adding the storage address field to the data processing command, in order to be able to store the operation result of the target data using the storage address field, the calculation module is further used to parse the storage address field to obtain the storage address recognizable by the calculation module, and then store the operation result of the target data.
[0125] The embodiment of the present invention also provides a computer system. Please refer to Figure 7 , Figure 7 which is a schematic structural diagram of the computer system provided by the embodiment of the present invention.
[0126] As Figure 7 shown, the computer system may include:
[0127] A processor 20, configured to send a data processing command;
[0128] A storage die 10 as described in any of the foregoing embodiments, configured to receive the data processing command sent by the processor and execute the data processing command to store the operation result of the data processing command in the storage die.
[0129] As can be seen, the computer system provided by the embodiments of the present invention adds a computing module inside the storage die 10, so that the target data can be read, the target data can be calculated, and the calculation result of the target data can be stored inside the storage die 10 by using the computing module. This enables the die interconnect interface to only execute the process of receiving data processing commands sent by the external processor 20 of the storage die 10, without the need to execute the operation of storing the calculation result in the storage die 10 after the external processor 20 finishes executing the data processing command for data calculation. Therefore, the number of related data transmissions (reading the target data required in the data processing command for data calculation and storing the calculation result of the target data) that the die interconnect interface needs to perform for a data processing command for data calculation can be reduced, thereby reducing the bandwidth pressure and power consumption pressure on the die interconnect interface.
[0130] In one implementation, the data processing command sent by the processor 20 includes a read address field, an operation field, and a storage address field.
[0131] The read address field, the storage address field, and the operation field are combined to form a data processing command. After the storage die 10 receives the data processing command, the target data can be read, the target data can be calculated, and the calculation result of the target data can be stored inside the storage die 10, thereby avoiding the die interconnect interface of the storage die 10 from performing multiple data transmissions (the transmission of the target data during the reading process of the target data and the transmission of the calculation result during the storage process of the calculation result of the target data) for a data processing command for data calculation, and thus reducing the bandwidth pressure and power consumption pressure on the die interconnect interface.
[0132] The above text describes multiple embodiment solutions provided by the embodiments of the present invention. The various optional methods described in each embodiment solution can be combined and cross-referenced with each other without conflict, thereby extending a variety of possible embodiment solutions, all of which can be considered as the embodiment solutions disclosed and made public by the embodiments of the present invention.
[0133] Although the embodiments of the present invention are disclosed as above, the present invention is not limited thereto. Any person skilled in the art can make various changes and modifications without departing from the spirit and scope of the present invention. Therefore, the protection scope of the present invention should be subject to the scope defined by the claims.
Claims
1. A storage die, characterized in that, The storage die is a unit chip, including: a die interconnection interface, a computing module, and a storage module. Moreover, inside the storage die, the computing module is used to complete the reading of target data, the operation of the target data, and the storage of the operation result of the target data, so that the die interconnection interface of the storage die only executes the process of receiving data processing commands sent by other chips outside the storage die; The die interconnection interface is used to receive data processing commands sent by other chips outside the storage die to the storage die, and transfer the data processing commands to the computing module; The computing module is used to read target data from the storage module based on the data processing command; perform operations on the target data based on the data processing command to obtain an operation result; and store the operation result to the storage module based on the data processing command. The data processing command is a combined command for the complete execution of a data operation data processing command inside the storage die. The data processing command includes: a read address field, an operation field, and a storage address field. The read address field indicates the read address of the target data, the operation field indicates the operation type for performing operations on the target data, and the storage address field indicates the storage address of the operation result; The storage module is used to store data.
2. The memory die according to claim 1, wherein, The computing module is further used to parse the data processing command, parse the read address from the read address field, parse the operation type from the operation field, and parse the storage address from the storage address field.
3. The memory die according to claim 1 or 2, wherein It further includes: A storage controller between the computing module and the storage module.
4. The memory die according to claim 3, wherein, The computing module is used to read target data from the storage module based on the data processing command, including: Generating a data read command based on the read address; the data read command is used to indicate reading target data from the read address of the storage module; Transferring the data read command to the storage controller so that the storage controller reads the target data from the read address; and obtaining the target data transferred by the storage controller.
5. The memory die according to claim 4, wherein The number of storage controllers is multiple, the number of storage modules is multiple, and one storage controller corresponds to controlling one storage module; The computing module is used to transfer the data read command to the storage controller, including: Determining the storage module where the read address is located according to the read address; Transferring the data read command to the storage controller corresponding to the storage module where the read address is located.
6. The memory die according to claim 1 or 2, wherein The computing module is used to perform operations on the target data based on the data processing command to obtain an operation result, including: Performing operations on the target data based on the operation type to obtain an operation result.
7. The memory die according to claim 3, wherein The computing module is used to store the operation result to the storage module based on the data processing command, including: Generating a data write-back command based on the storage address; the data write-back command is used to indicate storing the operation result to the storage address of the storage module; Pass the data write-back command to the storage controller so that the storage controller stores the operation result at the storage address of the storage module.
8. The memory die according to claim 7, wherein The number of the storage controllers is multiple, the number of the storage modules is multiple, and one storage controller correspondingly controls one storage module; The computing module for passing the data write-back command to the storage controller includes: Determine the storage module where the storage address is located according to the storage address; Pass the data write-back command to the storage controller corresponding to the storage module where the storage address is located.
9. The memory die according to claim 3, wherein The die interconnect interface is interconnected with the external chip of the storage die through an interconnect protocol. The computing module communicates with the die interconnect interface through a bus protocol. The computing module communicates with the storage controller through a bus protocol. And the storage controller communicates with the storage module through a bus protocol.
10. The memory die according to claim 9, wherein, The number of the storage controllers of the storage die is multiple, the number of the storage modules of the storage die is multiple, and the number of the computing modules is multiple; The die interconnect interface is connected to multiple computing modules through a data bus, and multiple computing modules and multiple storage controllers are interactively connected through a data bus. One storage controller correspondingly controls one storage module.
11. The memory die according to claim 10, wherein, The die interconnect interface for passing the data processing command to the computing module includes: Determine the computing module in an idle state from multiple computing modules; Pass the data processing command to the determined computing module in an idle state.
12. The memory die according to claim 11, wherein The die interconnect interface for determining the computing module in an idle state from multiple computing modules includes: Query the states of multiple computing modules in a set order and determine the state of the currently queried computing module; If the state of the currently queried computing module is an idle state, stop the query; If the state of the currently queried computing module is a busy state, continue to query the next computing module until the state of the queried computing module is an idle state.
13. The memory die according to claim 12, wherein, The computing module includes: A parsing module for parsing the data processing command sent by the die interconnect interface to obtain a command parsing result. The command parsing result includes a storage address, a read address, and an operation type; A reading module for reading target data by using the read address parsed by the parsing module; An operation module for performing an operation on the target data read by the reading module by using the operation type parsed by the parsing module to obtain an operation result; A write-back module for writing back the operation result obtained by the operation module to the storage module by using the storage address parsed by the parsing module.
14. A data processing method, characterized in that, Applied to the storage die according to any one of claims 1-13, including: Obtain a data processing command; Read target data based on the data processing command; perform an operation on the target data based on the data processing command to obtain an operation result; and store the operation result based on the data processing command. The data processing command includes a read address field, an operation field, and a storage address field. The read address field indicates the read address of the target data, the operation field indicates the operation type for performing an operation on the target data, and the storage address field indicates the storage address of the operation result.
15. The data processing method according to claim 14, characterized in that, Further includes: Parse the data processing command to obtain the read address from the read address field, the operation type from the operation field, and the storage address from the storage address field.
16. The data processing method according to claim 14, wherein The step of reading target data from the storage module based on the data processing command includes: Generate a data read command based on the read address. The data read command is used to indicate reading target data from the read address.
17. The data processing method according to claim 14, wherein The step of performing an operation on the target data based on the data processing command to obtain an operation result includes: Perform an operation on the target data based on the operation type to obtain an operation result.
18. The data processing method according to claim 14, wherein The step of storing the operation result based on the data processing command includes: Generate a data write-back command based on the storage address. The data write-back command is used to indicate storing the operation result to the storage address.
19. A computer system, characterized in that, Includes: A processor for sending data processing commands. The storage die according to any one of claims 1-13, configured to receive the data processing command sent by the processor, execute the data processing command, and store the operation result of the data processing command in the storage die. The data processing command includes a read address field, an operation field, and a storage address field. The read address field indicates the read address of the target data, the operation field indicates the operation type for performing an operation on the target data, and the storage address field indicates the storage address of the operation result.
Citation Information
Patent Citations
Embedded processor of storage and calculation integrated chip, instruction set and data processing method
CN110990060A
Storage and calculation integrated core particle three-dimensional packaging structure with high shielding performance and method
CN116259617A
Storage and calculation integrated chip and chip control method
CN116670643A
Storage and calculation architecture FPGA supporting instruction broadcast
CN116775554A
Cited By
Storage chiplet, data processing method, and computer system
EP4715616A1
Storage chiplet, data processing method, and computer system
WO2025097749A1