Burning method, device and system, storage and calculation device and electronic equipment

By separating the physical execution and control of the burning process in the integrated storage and computing architecture, and using the server to burning control, the problems of data transmission delay and energy consumption in the traditional computing model are solved, and lower complexity and cost and higher flexibility are achieved.

CN119938073APending Publication Date: 2025-05-06BEIJING ZHICUN (WITIN) TECH CORP LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411998339.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-05-06

AI Technical Summary

Technical Problem

In the traditional computing model, the physical separation of storage and computing leads to increased data transmission delay and energy consumption, which is difficult to meet the processing power requirements of technologies such as big data and artificial intelligence.

Method used

By separating the physical execution and control of the burning process in the integrated storage and computing architecture, burning is performed using the server to control it, burning instructions are generated, and burning operations are performed on the storage and computing device.

Benefits of technology

The burn control requirements for the calculation device are reduced, the computing power requirements for the burn control part of the calculation device are reduced, the complexity and cost are reduced, and the flexibility of the burn method is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119938073A_ABST
    Figure CN119938073A_ABST
Patent Text Reader

Abstract

The invention discloses a burning method, device and system, a storage and calculation device and electronic equipment. The method is executed by a storage and calculation device, and the storage and calculation device comprises a storage circuit. The method comprises the following steps: receiving a first burning instruction from a server, wherein the first burning instruction comprises a first burning parameter; according to the first burning parameter, first write-in is controlled, and the first write-in is used for writing first weight data into the storage circuit; obtaining a first result of the first write-in; sending a first indication message to the server, wherein the first indication message is used for indicating the first result; a second burning instruction is received from the server side, and the second burning instruction is generated based on the first result and comprises a second burning parameter; according to the second burning parameter, second write-in is controlled, and the second write-in is used for adjusting the first weight data written into the storage circuit. According to the scheme, physical execution and control of burning can be separated, the burning control requirement on the storage and calculation device is reduced, the calculation power requirement of a burning control part of the storage and calculation device is further reduced, and the complexity and the cost of the storage and calculation device are reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of electronic technology, and in particular to a burning method, device and system, a storage and computing device and an electronic device. Background Art

[0002] In traditional computing models, such as the von Neumann architecture, storage and computing are physically separated. When using this computing model for data processing, data is frequently transmitted between storage devices and computing devices, resulting in data transmission delays and energy consumption. With the development of technologies such as big data and artificial intelligence, the amount of data processing has increased rapidly, and the demand for data transmission has also increased rapidly. The resulting transmission delays and energy consumption have become increasingly prominent, restricting the development of data processing capabilities, making it difficult for traditional computing models to meet the needs of processing capabilities.

[0003] The storage-computing integrated architecture can physically integrate storage and computing. This physical integration includes, for example, the close integration of storage and computing parts through packaging and other processes; for another example, integrating a processing circuit with processing capabilities in the memory to achieve the integration of processing functions in the memory; for another example, using a storage device to implement computing or storing data in a computing device to achieve close integration of storage and computing. The storage-computing integrated architecture can reduce the demand for data transmission, reduce transmission latency and energy consumption, and greatly improve data processing efficiency. However, the storage-computing integrated architecture still faces challenges. For example, in the application of the storage-computing integrated architecture, the weight data needs to be written into the storage circuit. This writing process can be called a burning process. The burning process has high control requirements for the storage and computing device. Summary of the invention

[0004] The present application provides a burning method, device and system, as well as a storage and computing device and an electronic device, so as to reduce the control requirements of the burning process on the storage and computing device.

[0005] In a first aspect, an embodiment of the present application provides a burning method, which is executed by a storage and computing device, the storage and computing device includes a storage circuit, and the method includes: receiving a first burning instruction from a server, the first burning instruction including a first burning parameter; controlling a first write according to the first burning parameter, the first write being used to write first weight data to the storage circuit; obtaining a first result of the first write; sending a first indication message to the server, the first indication message being used to indicate the first result; receiving a second burning instruction from the server, the second burning instruction being generated based on the first result and including a second burning parameter; controlling a second write according to the second burning parameter, the second write being used to adjust the first weight data written to the storage circuit.

[0006] Optionally, the first burning instruction and the second burning instruction include address information, and the address information is used to indicate the storage unit or storage unit set to be burned in the storage circuit; or, the first burning instruction and the second burning instruction include address information and identification information, the address information and the identification information are set correspondingly, the address information is used to indicate the storage unit or storage unit set in the storage circuit, and the identification information is used to indicate the state to be burned of the corresponding storage unit or storage unit set.

[0007] Optionally, the first indication message includes first indication information and second indication information, the first indication information is used to indicate the first result, and the second indication information is used to indicate a storage unit or a storage unit set corresponding to the first result.

[0008] Optionally, the method further includes: receiving a burning start instruction from the server; and erasing all or part of the storage area of ​​the storage circuit according to the burning start instruction.

[0009] Optionally, the method further includes: obtaining a second result of the second writing; sending a second indication message to the server, the second indication message is used to indicate the second result; receiving a burning end instruction from the server, the burning end instruction is generated based on the second result.

[0010] Optionally, the storage circuit includes a plurality of storage cell sets, the plurality of storage cell sets include a first storage cell set and a second storage cell set, the first storage cell set and the second storage cell set have different start times for programming cycles, and there is an overlapping time period.

[0011] Optionally, the storage units in the same storage unit set have the same programming parameter settings; and / or the storage units in the same storage unit set have independent signal terminals.

[0012] Optionally, the division of the plurality of storage unit sets is determined based on one or more of the following factors: physical locations of storage units of the storage circuit, connection modes of storage units of the storage circuit, transmission delays, and interference between storage units.

[0013] Optionally, the first burning instruction and the second burning instruction are used to write the first weight data to the first storage unit set, and the method also includes: receiving a third burning instruction from the server, the third burning instruction including a third burning parameter; controlling a third write according to the third burning parameter, the third write being used to write the second weight data to the second storage unit set; obtaining a third result of the third write; sending a third indication message to the server, the third indication message being used to indicate the third result; receiving a fourth burning instruction from the server, the fourth burning instruction being generated based on the third result and including a fourth burning parameter; controlling a fourth write according to the fourth burning parameter, the fourth write being used to adjust the second weight data written to the second storage unit set.

[0014] In a second aspect, an embodiment of the present application provides another burning method, which is executed by a server, and the method includes: sending a first burning instruction to a storage and computing device, the first burning instruction including a first burning parameter, the first burning parameter is used to control a first write, and the first write is used to write first weight data to a storage circuit; receiving a first indication message from the storage and computing device, the first indication message is used to indicate a first result of the first write; generating a second burning instruction based on the first result, the second burning instruction including a second burning parameter; and sending the second burning instruction to the storage and computing device.

[0015] Optionally, the first burning instruction and the second burning instruction include address information, and the address information is used to indicate the storage unit or storage unit set to be burned in the storage circuit; or, the first burning instruction and the second burning instruction include address information and identification information, the address information and the identification information are set correspondingly, the address information is used to indicate the storage unit or storage unit set in the storage circuit, and the identification information is used to indicate the state to be burned of the corresponding storage unit or storage unit set.

[0016] Optionally, the first indication message includes first indication information and second indication information, the first indication information is used to indicate the first result, and the second indication information is used to indicate a storage unit or a storage unit set corresponding to the first result.

[0017] Optionally, the method further includes: sending a burning start instruction to the storage and computing device.

[0018] Optionally, the method also includes: receiving a second indication message from the storage and computing device, the second indication message is used to indicate a second result of the second write, the second write is used to adjust the first weight data written to the storage circuit; generating a burning end instruction based on the second result, and sending the burning end instruction to the storage and computing device.

[0019] Optionally, the method also includes: based on the current burning state of the storage circuit, dividing the multiple storage cells that have not completed burning into at least two storage cell sets, the at least two storage cell sets include a first storage cell set and a second storage cell set, the starting time of the burning cycle of the first storage cell set and the second storage cell set are different, and there is an overlapping time period.

[0020] Optionally, the storage units in the same storage unit set have the same programming parameter settings; and / or the storage units in the same storage unit set have independent signal terminals.

[0021] Optionally, based on the current burning state of the storage circuit, multiple storage cells that have not completed burning are divided into at least two storage cell sets, including: based on the current burning state of the storage circuit, determining multiple storage cells that have not completed burning; and dividing the multiple storage cells into at least two storage cell sets according to one or more of the following factors of the multiple storage cells that have not completed burning: physical locations of storage cells of the storage circuit, connection methods of storage cells of the storage circuit, transmission delays, and interference between storage cells.

[0022] Optionally, the first burning instruction and the second burning instruction are used to write the first weight data to the first storage unit set, and the method also includes: sending a third burning instruction to the storage and computing device, the third burning instruction includes a third burning parameter, the third burning parameter is used to control the third write, and the third write is used to write the second weight data to the second storage unit set; receiving a third indication message from the storage and computing device, the third indication message is used to indicate a third result of the third write; generating a fourth burning instruction based on the third result, the fourth burning instruction includes a fourth burning parameter, the fourth burning parameter is used to control the fourth write, and the fourth write is used to adjust the second weight data written to the second storage unit set; sending the fourth burning instruction to the storage and computing device.

[0023] In a third aspect, an embodiment of the present application further provides a burning device, comprising an interface circuit and at least one processing circuit, the interface circuit being used to communicate with a server, and the at least one processing circuit being used to execute any one of the burning methods of the first aspect above.

[0024] In a fourth aspect, an embodiment of the present application further provides a burning device, comprising an interface circuit and at least one processing circuit, wherein the interface circuit is used to communicate with the storage and computing device, and the at least one processing circuit is used to execute any one of the burning methods of the second aspect above.

[0025] In a fifth aspect, an embodiment of the present application further provides a burning system, which includes a storage and computing device and a server, wherein the storage and computing device is used to execute any one of the burning methods of the first aspect above; and the server is used to execute any one of the burning methods of the second aspect above.

[0026] In a sixth aspect, an embodiment of the present application further provides a storage and computing device, comprising a burning device and a storage circuit as in any one of the third aspects above.

[0027] In a seventh aspect, an embodiment of the present application further provides an electronic device, comprising a storage and computing device as described in any one of the sixth aspects above.

[0028] Through the technical solution of the present application, the physical execution and control calculation of burning are separated and completed on different devices. The physical execution part of burning can be run on a storage and computing device, and the burning control part can be run on a server device different from the storage and computing device. The burning result can be sent to the server device for calculation of the next burning iteration to generate a burning instruction. In this way, the physical execution and control of burning can be separated, reducing the burning control requirements for the storage and computing device, and then reducing the computing power requirements of the burning control part of the storage and computing device, so that the complexity and cost of the storage and computing device are reduced. In addition, the burning method has high flexibility, which can reduce the customization requirements for the burning control part of the storage and computing device, so that the storage and computing device can meet the flexibility requirements of writing different weight data when used for calculations in different business scenarios. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 A schematic diagram of a storage and computing system according to an exemplary embodiment of the present application is shown.

[0030] Figure 2 A schematic diagram of another storage and computing system according to an exemplary embodiment of the present application is shown.

[0031] Figure 3 The figure shows an architecture diagram of a burning system according to an exemplary embodiment of the present application.

[0032] Figure 4 A flow chart of a burning method according to an exemplary embodiment of the present application is shown.

[0033] Figure 5 A flow chart of another burning method according to an exemplary embodiment of the present application is shown.

[0034] Figure 6 A schematic diagram of a process of parallel programming of a storage unit set according to an exemplary embodiment of the present application is shown.

[0035] Figure 7 A schematic structural diagram of a burning device according to an exemplary embodiment of the present application is shown.

[0036] Figure 8 A schematic structural diagram of a burning device according to an exemplary embodiment of the present application is shown.

[0037] Fig. 9 A schematic diagram of an electronic device according to an exemplary embodiment of the present application is shown. DETAILED DESCRIPTION

[0038] The technical solutions in the embodiments of the present application will be described below in conjunction with the accompanying drawings.

[0039] In order to simplify the drawings, the drawings in the embodiments of the present application only schematically show the parts related to the corresponding embodiments, and they do not represent the actual structure of the product. In addition, in order to simplify the drawings and facilitate understanding, in some drawings, only some structures or components are schematically depicted, and there may be more or less identical or similar structures or components in reality.

[0040] The business scenarios described in the embodiments of the present application are intended to illustrate the technical solutions of the embodiments of the present application and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Those skilled in the art will appreciate that with the evolution of technology and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are equally applicable to similar technical problems.

[0041] In this application, unless otherwise expressly specified and limited, "connection" includes direct connection or indirect connection between objects: the connected objects can be directly connected through a medium (e.g., wires, traces, etc.), or can be indirectly connected through other elements, or can be internally connected. "Coupling" includes signal connection between objects, which can be achieved directly through a medium (e.g., wires, traces, etc.), or can be achieved through other elements. "Grounding" includes direct grounding or indirect grounding, and indirect grounding includes, for example, grounding through other elements.

[0042] In this application, unless otherwise clearly specified and limited, ordinal numbers, such as "first", "second", etc., are only used to distinguish the objects described, and cannot be understood as indicating or implying the relative importance or order between the described objects. In addition, ordinal numbers do not represent the number of the described objects. "Multiple" includes two or more, and other quantifiers are similar. "Or", "and / or" are used to describe the relationship between objects, which represents non-exclusive inclusion. For example, "A and / or B", "A or B" can include: "A alone", "B alone", or "A and B". For another example, "A, B and / or C", "A, B or C" can include: "A alone", "B alone", "C alone", "A and B", "A and C", "B and C", or "A, B and C". In addition, " / " in this application is used to represent the "or" relationship between the front and back objects. "One or more of A and B" or "at least one of A and B" in this application have the same meaning as the above "A and / or B", "A or B". “One or more of A, B and C” or “at least one of A, B and C” has the same meaning as “A, B and / or C”, “A, B or C” above.

[0043] In the storage-computing integrated technology, storage and computing (or operation) are physically integrated, and the physical integration includes, for example, integrating the storage and computing parts in close proximity through packaging and other processes; for another example, integrating a processing circuit with processing capabilities in the memory to realize the integration of processing functions in the memory; for another example, computing is realized through a storage device or data is stored in a computing device to realize the close integration of storage and computing. According to some embodiments, the storage-computing system may include a storage circuit and a processing circuit (or control circuit); the storage circuit is used to store data; the processing circuit (or control circuit) is used to control the operation of the storage circuit, such as controlling the writing, reading, calculation, or perception of the calculation results of the data. For example, the processing circuit can call the data stored in the storage circuit and perform calculations based on the called data; for another example, the processing circuit can control the calculation of the storage circuit; for another example, the processing circuit can be used to read or perceive the calculation results of the storage circuit and process the calculation results. The present application does not limit the type of memory, and the memory may include, but is not limited to: non-volatile memory (NVM) or volatile memory (VM). Volatile memory may include, but is not limited to, static random access memory (SRAM); non-volatile memory may include, but is not limited to, flash memory, resistive random access memory (RRAM), magnetic random access memory (MRAM), or phase change memory (PCM).

[0044] For ease of understanding, Figure 1 A schematic diagram of a storage and computing system according to an exemplary embodiment of the present application is shown. The storage and computing system is described by taking a memory as a carrier to implement in-memory computing as an example.

[0045] like Figure 1As shown, the storage and computing system 100 may include a storage circuit (or storage and computing circuit) 110 and a control circuit 120. The storage circuit 110 may be used to store weight data (also referred to as weight); the control circuit 120 may be used to control the working state of the storage circuit 110. The working state of the storage circuit 110 includes, for example, a programming state and a computing state. In the programming state, the weight data is written into the storage circuit 110. In the computing state, the storage circuit 110 receives an input signal Sin and converts the input signal Sin into an output signal Sout based on the weight data. The storage circuit 110 may store a plurality of weight data, which may be equivalent to at least one vector (or matrix). The storage circuit 110 may store weight data in units of storage cells (cells), which may also be referred to as storage units or storage structures. For example, the storage circuit 110 includes a storage cell array, which includes a plurality of storage cells arranged in an array.

[0046] The storage unit can utilize the conduction capability of the semiconductor device, such as conductance or transconductance, to achieve storage of the weight data. For example, the storage unit may include a resistive memory device or a transistor memory device. For example, the storage of the weight data may be achieved by controlling the conductance of the resistive memory device, or by controlling the transconductance of the transistor memory device.

[0047] The storage circuit 110 can perform calculations in groups. For example, the storage cell array includes at least one storage cell group, and the storage cell group includes multiple storage cells, which can store multiple weight data. The multiple weight data can be equivalent to a first data vector (or a first data matrix). In the programming state, the weight data is written into the storage cell, which is equivalent to writing the first data vector (or the first data matrix) into the storage cell group in the storage cell array. In the calculation state, the storage circuit 110 receives an input signal, and the conduction capability of the storage cell can change the input signal to obtain an output signal. Accumulating and outputting the output signals in the storage cell group can achieve an equivalent multiplication operation. The storage cell array includes a one-dimensional array, a two-dimensional array, or a three-dimensional array, etc. The storage cell group includes multiple storage cells in the storage cell array located in the same row or the same column, or multiple storage cells located in multiple rows or columns, etc. The multiple storage cells can output their output signals in a colinear manner.

[0048] In some possible embodiments, the storage and computing system 100 may further include an input circuit 130 and an output circuit 140. The input circuit 130 may convert the input data D1 into at least one input signal Sin and provide it to the storage circuit 110; the storage circuit 110 converts the received input signal Sin into an output signal Sout based on the weight data; the output circuit 140 may convert the output signal Sout into output data D2 for output. The at least one input signal may be equivalent to a second data vector (or a second data matrix), and the output data D2 may be equivalent to the product of the first data vector (or the first data matrix) and the second data vector (or the second data matrix).

[0049] As an example, Figure 2 A schematic diagram of another storage and computing system according to an exemplary embodiment of the present application is shown.

[0050] like Figure 2 As shown, the storage computing system 200 includes one or more storage cell arrays 210. The storage cell array 210 includes a plurality of storage cells S ij , where i∈[1,m], j∈[1,n], m is the number of rows in the storage cell array, and n is the number of columns in the storage cell array. ij Can store weight data W ij When the memory cell array 210 is in a programming state, the memory cell S ij The conduction capacity of the storage cell array 210 can be controlled based on the weight data to achieve the target state, thereby achieving the storage of the weight data. ij The input terminal IN is connected to the storage unit S ij Provide an input signal, such as an input voltage V i ; Storage unit S ij The output signal, such as output current, is output at the output terminal OUT. 1j -S mj ) can be outputted in a collinear manner. According to Kirchhoff's law, the output signals of multiple storage units are accumulated, and the output signal I j Satisfies the following formula:

[0051]

[0052] In some possible embodiments, the input data includes a digital input signal, and the input signal Vi of the storage cell array 210 may include an analog signal. The input circuit 230 may include, for example, a digital to analog converter (DAC) to convert the digital signal into an analog signal and provide it to the storage cell array 210. In some possible embodiments, the input signal of the storage cell array 210 may include a digital signal, which is represented by the waveform characteristics of the signal, such as the pulse width, amplitude or area of ​​the signal. The input circuit 230 may adjust the waveform of the signal based on the input data to obtain the input signal and provide it to the storage cell array 210.

[0053] In some possible embodiments, the output circuit 240 may include at least one conversion circuit for converting the output signal of the storage cell array 210 and outputting it to the subsequent circuit. The conversion, for example, includes one or more of the conversion of the signal type and the conversion of the signal size, such as one or more of current-voltage conversion, analog-digital conversion, amplification, etc. For example, the output circuit 240 may include a first conversion circuit 241 for performing a first conversion on the output signal of the storage cell array 210. For example, the input signal includes a voltage signal, the output signal includes a current signal, and the first conversion circuit 241 may convert the current signal into a voltage signal. For another example, the output circuit 240 may include a second conversion circuit 242. The second conversion may be implemented, for example, by a sampling circuit. The signal converted by the first conversion circuit 241 may be further provided to the second conversion circuit 242 for the second conversion. By way of example, the first conversion circuit 241 may include, for example, a transimpedance amplifier (TIA) to convert the current signal into a voltage signal; the second conversion circuit 242 may include, for example, an analog to digital converter (ADC) to convert the analog signal into a digital signal and provide it to the subsequent circuit. For another example, the output circuit may include a sense amplifier (SA), which may sense and amplify the signal obtained from the memory cell array 210 or the first conversion circuit 241. Figure 2 In the example, the storage computing system 200 may further include a control circuit 220, which may be used to control the storage cells S in the storage cell array 210. ij operating states, such as the programming state and computing state described above.

[0054] Figure 2 As an example only, a connection method of the memory cells in the memory cell array 210 is shown. Figure 2In addition to the connection methods shown, other connection methods can also be used. For example, the input ends of the storage cells are connected in columns, and the output ends of the storage cells are connected in rows. For another example, the input end of the storage cell may include the gate of a transistor storage device, or the input end of the storage cell may include the source or drain of a transistor storage device, which is not limited in the embodiments of the present application. The present application also does not limit the type of storage cell, for example, the storage cell includes a floating gate transistor (FGT), a memristor, a magnetic tunnel junction (MTJ) or a phase change structure, etc. For another example, the storage cell may include a plurality of transistors; for example, the storage cell may include a first transistor and a second transistor, wherein the gate of one transistor is connected to the source or drain of another transistor, and the charge stored at the gate can be used to characterize the weight data. Optionally, the gate may also be connected to a capacitor to increase the stability and duration of the stored charge.

[0055] Burning is the operation of writing weight data into the storage circuit, and is the main process for the storage circuit to realize in-memory calculation. Unlike the writing of storage data, the writing of weight data has more precise control requirements for the burning result. In order to achieve more precise burning control, the control circuit controls the writing of weight data through multiple iterations in the programming state of the storage circuit. Each iteration includes the physical execution control of the writing of weight data and the calculation of the next burning control instruction. In this way, the burning process consumes a lot of computing power of the storage and computing system for burning control.

[0056] In view of this, the embodiments of the present application provide a burning method, device and system, which can separate the physical execution and control of burning, reduce the burning control requirements for the storage and computing system, and reduce the computing power requirements of the burning control part of the storage and computing system, so as to reduce the complexity and cost of the storage and computing system. In addition, the burning method has high flexibility, which can reduce the customization requirements for the burning control part of the storage and computing system, so that the storage and computing system can meet the flexibility requirements of writing different weighted data when used for calculations in different business scenarios.

[0057] Figure 3 FIG. 2 shows an architecture diagram of a burning system according to an exemplary embodiment of the present application. Figure 3 As shown, the burning system 300 includes a storage and computing device 310 and a server 320. The storage and computing device 310 can be used for the physical execution of burning, and the server 320 can be used to generate burning control instructions; through the burning control calculation of the server 320, the control requirements for the storage and computing device 310 are reduced, so that the control part of the storage and computing device 310 can release more space or computing power for the control of business calculations.

[0058] like Figure 3 As shown, the server 320 is used to generate a burning instruction and send the burning instruction to the storage and calculation device 310. The storage and calculation device 310 performs a burning operation based on the received burning instruction and reads the burning result. The storage and calculation device 310 sends the burning result to the server 320. The server 320 determines the current burning state based on the obtained burning result, and performs burning calculation in combination with the burning target to obtain the burning instruction. The burning instruction is used to control the next burning operation so that the burning result tends to the burning target. The above process is repeated for many times. When the burning result shows that the current burning state reaches the burning target, the burning operation of the current storage unit can be realized, and the burning operation of other storage units can be continued. In one burning operation, the burning control of one or more storage units can be performed, and the embodiment of the present application is not limited.

[0059] The storage and computing device 310 and the server 320 can be connected to each other by wired or wireless communication. Wired communication methods include, but are not limited to, communication methods based on optical fiber or cable. Wireless communication methods include, but are not limited to, cellular communication (e.g., 3G, 4G, 5G, or 6G), wireless sensor communication (e.g., Bluetooth, Starflash, or ZigBee), wireless local area network communication (e.g., WLAN, or WiFi), short-range point-to-point communication, or near field communication (NFC), etc.

[0060] The application does not limit the form of the server 320, which may include a server, a cloud server, a cloud virtual machine, or a burning device, etc. Using the server 320 for burning control can utilize the rich resources of the server to achieve an optimized layout of the control algorithm. For example, a cloud server or a cloud virtual machine can provide more resources to support flexible control of burning.

[0061] Figure 4 FIG. 1 is a flowchart of a method for burning data according to an exemplary embodiment of the present application. The method may be executed by the storage and computing device 310. Figure 4 As shown, the method includes:

[0062] S410, receiving a first burning instruction from a server, where the first burning instruction includes a first burning parameter;

[0063] S420, controlling a first write according to a first programming parameter, the first write being used to write first weight data into a storage circuit;

[0064] S430, obtaining a first result of the first writing;

[0065] S440, sending a first indication message to the server, where the first indication message is used to indicate a first result;

[0066] S450, receiving a second burning instruction from the server, where the second burning instruction is generated based on the first result and includes a second burning parameter;

[0067] S460: Control a second writing according to the second programming parameter, where the second writing is used to adjust the first weight data written into the storage circuit.

[0068] Figure 5 FIG. 2 shows a flow chart of another burning method according to an exemplary embodiment of the present application. The method can be executed by the server 320. Figure 5 As shown, the method includes:

[0069] S510, sending a first burning instruction to the storage and computing device, the first burning instruction including a first burning parameter, the first burning parameter is used to control a first writing, the first writing is used to write first weight data into the storage circuit;

[0070] S520, receiving a first indication message from a storage and computing device, where the first indication message is used to indicate a first result of the first writing;

[0071] S530, generating a second burning instruction according to the first result, where the second burning instruction includes a second burning parameter;

[0072] S540: Send a second burning instruction to the storage and computing device.

[0073] In the above burning scheme, the physical execution and control calculation of burning are separated and completed on different devices. The physical execution part of burning can be run on the storage and computing device, and the burning control part can be run on a server device different from the storage and computing device. The burning result can be sent to the server device for calculation of the next burning iteration to generate a burning instruction. In this way, the physical execution and control of burning can be separated, the burning control requirements for the storage and computing device are reduced, and the computing power requirements of the burning control part of the storage and computing device are reduced, so that the complexity and cost of the storage and computing device are reduced. In addition, the burning method has high flexibility, which can reduce the customization requirements for the burning control part of the storage and computing device, so that the storage and computing device can meet the flexibility requirements of writing different weight data when used for calculations in different business scenarios.

[0074] The above burning instructions (such as the first burning instruction or the second burning instruction) can be transmitted in encrypted form. When the storage and computing device is used for artificial intelligence calculations, the weight data can reflect the weight information of at least one network layer of the artificial intelligence model. By separating and controlling the burning process of the weight data, the artificial intelligence model can be protected from being obtained through reverse engineering and other means. In addition, through encrypted transmission, the security of the burning control can be further enhanced to prevent malicious attacks.

[0075] The present application does not limit the content of the programming parameters, as long as the storage and calculation device can determine the control signal based on the programming parameters, and the control signal is used to control the writing of the weight data. For example, the programming parameters may include one or more parameters such as the amplitude, pulse width, area, or duration of the control signal. The programming parameters may affect the charge injected into the storage unit, etc., which can be used to reflect the physical characteristics of the weight data, thereby controlling the writing of the weight data through the control signal input. According to some embodiments, the programming parameters (such as the first programming parameters or the second programming parameters) may include, but are not limited to, the above one or more parameters of the control signal. According to some embodiments, the programming parameters may include a control parameter, which may be used to indicate the adjustment range or adjustment size of the control signal parameter, and the control signal may be adjusted to a target range or size based on the control parameter.

[0076] The present application also does not limit the content of the result of writing. Depending on the type of storage circuit, the result may have different content. The result may include signal parameters related to weight data, such as threshold voltage, node voltage, or read current.

[0077] Combined with reference Figure 3 , the server 320 may generate a programming instruction according to the result of the current programming (e.g., the first result) and may include: determining a programming parameter (e.g., a second programming parameter) according to the result of the current programming and the programming target. The present application also does not limit the content of the programming target. The programming target may correspond to the result, for example, including a target range of a threshold voltage, a node voltage, or a read current. For example, the server may determine the gap between the result of the current programming and the target based on the result of the current programming and the programming target, convert the gap into a programming parameter, and provide it to the storage and calculation device 310. The storage and calculation device 310 may input a control signal to the storage circuit based on the programming parameter to control the writing of the weight data to approach the target.

[0078] The storage circuit may include multiple storage units, and the burning of the storage units may be performed independently, or the burning of some storage units may be performed in parallel. According to some embodiments, the server may indicate the storage unit or storage unit set to be burned in the burning instruction.

[0079] According to some embodiments, the storage unit or storage unit set to be programmed may be indicated by address information. For example, the above programming instruction (e.g., the first programming instruction or the second programming instruction) may include address information. The address information is used to indicate the storage unit or storage unit set to be programmed in the storage circuit.

[0080] In this way, the generation of burning instructions can be simplified, and the number of storage units to be burned can be flexibly supported. For example, an instruction template can be set, and the server can modify the address field in the burning instruction according to the address of the storage unit to be burned; according to the current written result, the burning parameter setting is modified. In addition, the burning instruction can realize the indication of the storage unit to be burned through a relatively simple field setting, saving communication resources.

[0081] According to some embodiments, the storage unit or storage unit set to be burned can be indicated by address information and identification information. The above burning instruction (for example, the first burning instruction or the second burning instruction) may include address information and identification information, and the address information and identification information are set accordingly. The address information is used to indicate the storage unit or storage unit set in the storage circuit; the identification information is used to indicate the state of the corresponding storage unit or storage unit set to be burned.

[0082] In this way, the identification information field of whether the storage unit in the range is to be programmed can be updated according to the range of parallel programmable storage units supported by the programming instruction and the address of the currently programmed storage unit, which can simplify the generation process of programming instructions within the range of parallel programmable storage units and improve programming efficiency.

[0083] According to some embodiments, the burning order of the storage unit or storage unit set in the storage circuit can be preset, and the storage and computing device and the server have the same setting for the burning order. When the storage and computing device receives a burning instruction or a burning start instruction, it can write based on the preset burning order. In this way, the transmission of address information or identification information can be omitted, saving transmission resources.

[0084] The above burning method can be applied to the initialization burning of the storage and computing device; it can also be applied to the update of weight data during the use of the storage and computing device, which can simplify the cost and efficiency of weight data update, and the weight data update can be achieved through remote control.

[0085] According to some embodiments, the above burning method may further include: the server sends a burning start instruction to the storage and computing device. Correspondingly, the storage and computing device receives the burning start instruction from the server; according to the burning start instruction, erases all or part of the storage area of ​​the storage circuit.

[0086] The burn start instruction can be used to instruct the storage and computing device to start the burning of the storage circuit. Optionally, the burn start instruction can be used only to start the burning of the storage circuit, so that the storage circuit is ready based on the burn start instruction, such as erasing all or part of the storage area. Optionally, the burn start instruction can be similar to the above burn instruction, carrying the burn parameters, and the storage and computing device can input the control signal for writing the weight data based on the burn instruction. Optionally, the burn start instruction can also include indication information of the storage area (for example, a storage unit or a storage unit set) to be burned in the storage circuit, such as address information, address information and identification information, etc.

[0087] After receiving the programming start instruction, the storage and computing device can erase the storage area to be programmed in the storage circuit indicated by the programming start instruction to prepare for the subsequent programming of the storage and computing unit.

[0088] After receiving the first burning instruction from the server, the storage and computing device can perform a first write according to the first burning parameter in the first burning instruction, and write the first weight data into the storage circuit. The storage and computing device can read or sense the first result of the first write, and indicate the first result to the server through an indication message.

[0089] According to some embodiments, the indication message (e.g., the first indication message) may include first indication information and second indication information, wherein the first indication information is used to indicate the first result, and the second indication information is used to indicate the storage unit or storage unit set corresponding to the first result. According to some other embodiments, the storage and computing device performs burning control according to a preset burning sequence, in which case the indication message may not carry the second indication information.

[0090] The first writing may include writing to all or part of the storage cells in the storage area to be burned in the storage and computing array, and the second indication information may indicate the storage cell or storage cell set corresponding to the first result of the first writing.

[0091] The server obtains the first indication message, and can determine the first result of the first writing based on the first indication message, and generate the second burning instruction based on the first result. The storage units indicated by the first burning instruction and the second burning instruction can be the same or different, for example, the address information in the first burning instruction and the second burning instruction can be the same or different, or the identification information in the first burning instruction and the second burning instruction can be the same or different. For example, none of the storage units in the current storage unit set to be burned has completed burning, the address information in the first burning instruction can be the same as the address information in the second burning instruction, or the address information in the first burning instruction can be the same as the address information and identification information in the second burning instruction; for another example, some of the storage units in the current storage unit set to be burned have completed burning, the address information in the first burning instruction can be different from the address information in the second burning instruction, for example, the second burning instruction may not include the address information of the storage unit that has completed burning; or the address information in the first burning instruction can be the same as the address information in the second burning instruction, and the identification information is different, for example, the identification information of the storage unit that has completed burning in the second burning instruction shows that burning is completed.

[0092] The above programming method can use the server to perform iterative programming control during the programming process of the storage circuit to accurately control the programming result.

[0093] According to some embodiments, the storage unit of the storage circuit can be divided into multiple storage unit sets that can be burned in parallel, thereby improving the burning efficiency. Moreover, during the burning control process, there is a certain transmission delay in the communication between the server and the storage and computing device. Parallel burning can be performed during the transmission waiting process of a storage unit set, thereby reducing the impact of the transmission delay and improving the burning efficiency.

[0094] For example, according to some embodiments, the storage circuit may include multiple storage unit sets, the start times of the programming cycles of the multiple storage unit sets are different, and there is an overlapping time period in the programming cycles. For example, the multiple storage unit sets include a first storage unit set and a second storage unit set, the start times of the programming cycles of the first storage unit set and the second storage unit set are different, and there is an overlapping time period.

[0095] The first storage unit set and the second storage unit set are only used to illustrate the division and set programming of the storage unit set, and do not mean that the storage unit set of the storage circuit can only be divided into two storage unit sets.

[0096] According to some embodiments, the storage units in the same storage unit set have the same programming parameter settings. Dividing the storage units with the same programming parameters into the same storage unit set can simplify the configuration of the programming parameters and improve the programming efficiency.

[0097] During the programming process, some storage units may disturb each other. Dividing the storage units that may disturb each other into different storage unit sets can prevent the programming of the next storage unit set from causing a large disturbance to the previous storage unit set when the previous storage unit set has reached the programming target and the programming is finished, causing the programming result of the previous storage unit set to deviate greatly from the target value.

[0098] For example, according to some embodiments, the storage units in the same storage unit set have independent signal terminals. The storage units with independent signal terminals are divided into the same storage unit set, which can reduce the influence of mutual interference between each other during the burning process. The signal terminal includes, for example, a signal terminal for inputting a control signal when writing weight data, or a signal terminal for inputting an input signal during calculation, or a signal terminal for reading an output signal, etc.

[0099] According to some embodiments, the division of the storage unit set can be determined based on one or more of the following factors: the physical location of the storage unit of the storage circuit, the connection mode of the storage unit of the storage circuit, the transmission delay, and the interference between the storage units. For example, the storage units whose physical locations are more than a preset range apart are divided into the same storage unit set, which can reduce the influence of the mutual disturbance between the storage units on the burning; for another example, according to the connection mode between the storage units, the storage units that are not co-linear or co-terminal connected are divided into the same storage unit set, which can reduce the influence of the mutual disturbance between the storage units on the burning; for another example, according to the interference between the storage units, the storage units whose interference is less than the preset range are divided into the same storage unit set, which can reduce the influence of the mutual disturbance between the storage units on the burning; for another example, based on the transmission delay, the number of storage unit sets that can be burned in parallel is determined. The transmission delay may include a two-way delay or a one-way delay for the communication between the storage and computing device and the server, which is not limited by the embodiments of the present application.

[0100] The division of the storage unit set of the storage circuit can be performed in a static or dynamic manner. In the static division method, the storage units of the storage unit set do not change due to the current burning state, and the storage units in the storage unit set that have completed or not completed the burning can be indicated by identification information; when the burning of all storage units in the storage unit set is completed, the burning of the storage unit set is completed. In the dynamic division method, the storage units in the storage unit set can change, for example, according to the current burning state of the storage circuit, the storage units that have not completed the burning are divided into multiple storage unit sets, and as the burning state of the storage circuit changes, the division of the storage unit set can be dynamically adjusted. In this way, the burning efficiency of the storage circuit can be further improved.

[0101] According to some embodiments, the server may divide the storage units that have not been programmed into at least two storage unit sets based on the current programming status of the storage circuit.

[0102] According to some embodiments, the server divides the storage units that have not been burned into at least two storage unit sets based on the current burning state of the storage circuit, including: determining the storage units that have not been burned based on the current burning state of the storage circuit; dividing the storage units that have not been burned into at least two storage unit sets according to one or more of the following factors of the storage units that have not been burned: the physical location of the storage units of the storage circuit, the connection method of the storage units of the storage circuit, the transmission delay, and the interference between the storage units, etc.

[0103] According to some embodiments, pipeline burning can be performed between storage unit sets to further improve burning efficiency and reduce the impact of transmission delay. For example, during the burning process of the first storage unit set, during the transmission time between the server and the storage and computing device, the second storage unit set can perform burning operations. For example, the server can generate calculations for the burning instructions for the second storage unit set, and the storage and computing device can perform physical execution control of the burning of the second storage unit set; in this way, the transmission delay during the burning process can be concealed, and within the macro time period, the storage and computing device can be kept in a burning state, thereby improving the burning efficiency.

[0104] For example, Figure 6 The schematic diagram of the process of parallel programming of a storage unit set in an exemplary embodiment of the present application is shown. The programming process of the storage unit set may include a physical writing process ( Figure 6 The communication process between the server and the storage device ( Figure 6 The server calculates the writing result and obtains the burning instruction process ( Figure 6 The communication process may include the transmission of a burning instruction or the transmission of an indication message, etc. Figure 6 It can be seen that during the transmission of the storage unit set 1, the storage unit set 2 can be programmed or calculated, thereby making full use of the transmission delay and improving the programming efficiency.

[0105] According to some embodiments, the size of the storage unit set may be determined according to the transmission delay, so that the storage unit set can fully utilize the transmission delay and further improve the burning efficiency.

[0106] Taking the burning process of the first storage unit set and the second storage unit set as an example, according to some embodiments, the above first burning instruction and the second burning instruction are used to write the first weight data to the first storage unit set. Figure 4The burning method shown may also include: receiving a third burning instruction from the server, the third burning instruction including a third burning parameter; controlling a third write according to the third burning parameter, the third write being used to write second weight data to the second storage unit set; obtaining a third result of the third write; sending a third indication message to the server, the third indication message being used to indicate the third result; receiving a fourth burning instruction from the server, the fourth burning instruction being generated based on the third result and including a fourth burning parameter; controlling a fourth write according to the fourth burning parameter, the fourth write being used to adjust the second weight data written to the second storage unit set.

[0107] Accordingly, the above Figure 5 The burning method shown also includes: sending a third burning instruction to the storage and computing device, the third burning instruction includes a third burning parameter, the third burning parameter is used to control the third writing, and the third writing is used to write the second weight data to the second storage unit set; receiving a third indication message from the storage and computing device, the third indication message is used to indicate a third result of the third writing; generating a fourth burning instruction based on the third result, the fourth burning instruction includes a fourth burning parameter, the fourth burning parameter is used to control the fourth writing, and the fourth writing is used to adjust the second weight data written to the second storage unit set; sending the fourth burning instruction to the storage and computing device.

[0108] According to some embodiments, the server may notify the storage and computing device that the burning is finished when the result of the writing reaches the burning target. For example, taking the second result of the second writing reaching the burning target as an example, the above burning method also includes: the storage and computing device obtains the second result of the second writing; sends a second indication message to the server, and the second indication message is used to indicate the second result; receives a burning end instruction from the server, and the burning end instruction is generated based on the second result. Correspondingly, the server receives the second indication message, generates a burning end instruction based on the second result in the second indication message, and sends the burning end instruction to the storage and computing device. For example, when the server determines that the current burning state has reached the burning target based on the second result, it generates a burning end instruction.

[0109] The burning process in this embodiment is an iterative process. The first burning instruction, the second burning instruction, the first burning parameter, the second burning parameter, the first writing, the second writing, the first result, the second result, etc. in this embodiment do not refer to the order and may include any two adjacent burning processes in the burning process.

[0110] During the iteration process, the server can determine whether the burning target is reached according to the current written result. If the burning target is reached, a burning end instruction is generated; if the burning target is not reached, the next round of burning process continues.

[0111] The embodiment of the present application also provides a burning device, which can be located in the storage and computing device, for example, integrated into the control circuit part of the storage and computing system or independent of the control circuit. The burning device may include a unit or means for executing the burning method executed by the above storage and computing device.

[0112] Figure 7 FIG. 2 shows a schematic diagram of a burn-in device according to an exemplary embodiment of the present application. Figure 7 As shown, the burning device 700 includes an interface circuit 710 and at least one processing circuit 720, the interface circuit 710 is used to communicate directly or indirectly with the server, and the at least one processing circuit 720 is used to execute the burning method executed by any storage and computing device in the embodiments of the present application.

[0113] Figure 8 FIG. 2 shows a schematic diagram of a burn-in device according to an exemplary embodiment of the present application. Figure 8 As shown, the burning device 800 includes an interface circuit 810 and at least one processing circuit 820, the interface circuit 810 is used to communicate with the storage and computing device, and the at least one processing circuit 820 is used to execute the burning method executed by any server in the embodiments of the present application.

[0114] According to some embodiments, the processing circuit is a circuit with signal processing capability, for example, the processing circuit may be a circuit with instruction reading and running capability; in other possible embodiments, the processing circuit may realize its function through the logical relationship of the hardware circuit, and the logical relationship of the hardware circuit is fixed or reconfigurable, for example, the processing circuit includes a hardware circuit implemented by ASIC or PLD, such as a field programmable gate array (FPGA). In a reconfigurable hardware circuit, the processing circuit loads a configuration document and implements the process of hardware circuit configuration, which can be understood as the process of loading instructions for the processing circuit to implement the functions of some or all of the above units. The present application does not limit the type of processing circuit, for example, including a central processing unit (CPU), a microcontroller unit (MCU), a graphics processing unit (GPU), or a digital signal processor (digital signal processor). Or it may be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as a neural network processing unit (NPU), a tensor processing unit (TPU), a deep learning processing unit (DPU), etc.

[0115] In some possible embodiments, all or part of the units in the above burning device can be integrated together, or can be implemented independently. In some embodiments, these units are integrated together and implemented in the form of a system on chip (SOC).

[0116] The embodiment of the present application also provides a burning system, which may include: a storage and computing device and a server.

[0117] The embodiment of the present application further provides a computer program product, which includes instructions. When the instructions are executed by a processor, any one of the burning methods in the above embodiments is executed.

[0118] The embodiment of the present application further provides a computer-readable medium, which stores instructions. When the instructions are executed by a processor, any one of the burning methods in the above embodiments is executed.

[0119] In the above method embodiments, the size of the sequence number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0120] An embodiment of the present application also provides a storage and computing device, including a burning device and a storage circuit, wherein the burning device is used to execute any of the burning methods executed by the above storage and computing device.

[0121] The present application also provides an electronic device, which can be seen in Fig. 9 . Fig. 9 FIG. 1 is a schematic diagram showing an electronic device according to an exemplary embodiment of the present application. Fig. 9 As shown, the electronic device 900 may include any of the above storage and computing devices 910 for processing data of the electronic device. The electronic device may also include an input / output device 920 for receiving user input or outputting processing results. The present application does not limit the input type and output type. For example, the input may include voice input, text input, image input, or video input, etc. The output may include text output, voice output, image output, or video output, etc. The electronic device may also include a processor 930, which may process data provided to the storage and computing device 910, or may process output data of the storage and computing device 910. The output of the above input / output device 920 may be based on the output of the processor 930 or based on the output of the storage and computing device 910. The embodiment of the present application does not limit the type of processor, for example, the above description of the processing circuit may be referred to.

[0122] The present application does not limit the type of electronic device. For example, according to some embodiments, the electronic device may include a wearable device. Wearable devices include, for example, but are not limited to: head-mounted devices (such as helmets or hats, etc.), devices that can be worn on the ears (such as headphones), devices that can be worn on the wrist (such as watches), devices that can be worn on other parts (for example, electronic necklaces, medical monitoring equipment, or glasses, etc.), etc. According to some embodiments, the electronic device may include a portable terminal. For example, the electronic device may include, but is not limited to, a mobile phone, a general-purpose computing device (such as a laptop computer, or a tablet computer, etc.), a personal digital assistant, and the like. According to some embodiments, the electronic device may include other types of end-side devices, such as a personal computer, a vehicle-mounted computer or a vehicle-mounted computing platform, or smart home electronic products, etc. According to some embodiments, the electronic device may also include devices such as servers.

[0123] In the above embodiments, the descriptions of different embodiments have different focuses. For parts that are not described or recorded in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments. And the above different embodiments can be freely combined as needed. And with the evolution of technology, the elements described in this application can be replaced by equivalent elements that appear after this application.

Claims

1. A burning method, characterized in that: The method is performed by a storage and computing device, wherein the storage and computing device includes a storage circuit, and the method includes: Receive a first burning instruction from the server, wherein the first burning instruction includes a first burning parameter; Controlling a first write according to the first programming parameter, wherein the first write is used to write first weight data into the storage circuit; Obtaining a first result of the first writing; Sending a first indication message to the server, where the first indication message is used to indicate the first result; receiving a second burning instruction from the server, where the second burning instruction is generated based on the first result and includes a second burning parameter; According to the second programming parameter, a second writing is controlled, where the second writing is used to adjust the first weight data written into the storage circuit.

2. The method according to claim 1, characterized in that: The first programming instruction and the second programming instruction include address information, and the address information is used to indicate the storage unit or storage unit set to be programmed in the storage circuit; or, The first programming instruction and the second programming instruction include address information and identification information, the address information and the identification information are set correspondingly, the address information is used to indicate a storage unit or a storage unit set in the storage circuit, and the identification information is used to indicate a state to be programmed of the corresponding storage unit or storage unit set.

3. The method according to claim 1 or 2, characterized in that: The first indication message includes first indication information and second indication information, the first indication information is used to indicate the first result, and the second indication information is used to indicate a storage unit or a storage unit set corresponding to the first result.

4. The method according to any one of claims 1 to 3, characterized in that: Also includes: Receive a burning start instruction from the server; According to the burn start instruction, all or part of the storage area of ​​the storage circuit is erased.

5. The method according to any one of claims 1 to 4, characterized in that: Also includes: Obtain a second result of the second writing; Sending a second indication message to the server, where the second indication message is used to indicate the second result; A burning end instruction is received from the server, where the burning end instruction is generated based on the second result.

6. The method according to any one of claims 1 to 5, characterized in that: The storage circuit includes a plurality of storage unit sets, the plurality of storage unit sets include a first storage unit set and a second storage unit set, the first storage unit set and the second storage unit set have different starting times of programming cycles and have overlapping time periods.

7. The method according to claim 6, characterized in that The storage units in the same storage unit set have the same programming parameter settings; and / or The storage cells in the same storage cell set have independent signal terminals.

8. The method according to claim 6 or 7, characterized in that: The division of the plurality of storage unit sets is determined based on one or more of the following factors: physical locations of storage units of the storage circuit, connection modes of storage units of the storage circuit, transmission delays, and interference between storage units.

9. The method according to any one of claims 6 to 8, characterized in that: The first burning instruction and the second burning instruction are used to write the first weight data into the first storage unit set, and the method further includes: Receive a third burning instruction from the server, wherein the third burning instruction includes a third burning parameter; Controlling a third write according to the third programming parameter, wherein the third write is used to write second weight data into the second storage unit set; Obtaining a third result of the third writing; Sending a third indication message to the server, where the third indication message is used to indicate the third result; receiving a fourth burning instruction from the server, wherein the fourth burning instruction is generated based on the third result and includes a fourth burning parameter; A fourth writing is controlled according to the fourth burning parameter, wherein the fourth writing is used to adjust the second weight data written to the second storage unit set.

10. A burning method, characterized in that: Executed by the server, the method includes: Sending a first burning instruction to the storage and computing device, wherein the first burning instruction includes a first burning parameter, the first burning parameter is used to control a first writing, and the first writing is used to write first weight data into the storage circuit; receiving a first indication message from the storage and computing device, wherein the first indication message is used to indicate a first result of the first writing; Generate a second burning instruction according to the first result, wherein the second burning instruction includes a second burning parameter; Send the second burning instruction to the storage and computing device.

11. The method according to claim 10, characterized in that The first programming instruction and the second programming instruction include address information, and the address information is used to indicate the storage unit or storage unit set to be programmed in the storage circuit; or, The first programming instruction and the second programming instruction include address information and identification information, the address information and the identification information are set correspondingly, the address information is used to indicate a storage unit or a storage unit set in the storage circuit, and the identification information is used to indicate a state to be programmed of the corresponding storage unit or storage unit set.

12. The method according to claim 10 or 11, characterized in that: The first indication message includes first indication information and second indication information, the first indication information is used to indicate the first result, and the second indication information is used to indicate a storage unit or a storage unit set corresponding to the first result.

13. The method according to any one of claims 10 to 12, characterized in that: Also includes: Send a burning start instruction to the storage and computing device.

14. The method according to any one of claims 10 to 13, characterized in that: Also includes: receiving a second indication message from the storage and calculation device, the second indication message being used to indicate a second result of a second write, the second write being used to adjust the first weight data written to the storage circuit; A burning end instruction is generated based on the second result, and the burning end instruction is sent to the storage and computing device.

15. The method according to any one of claims 10 to 14, characterized in that: Also includes: Based on the current burning state of the storage circuit, multiple storage cells that have not completed burning are divided into at least two storage cell sets, and the at least two storage cell sets include a first storage cell set and a second storage cell set. The starting time of the burning cycle of the first storage cell set and the second storage cell set is different, and there is an overlapping time period.

16. The method according to claim 15, characterized in that The storage units in the same storage unit set have the same programming parameter settings; and / or The storage cells in the same storage cell set have independent signal terminals.

17. The method according to claim 15 or 16, characterized in that Based on the current programming state of the storage circuit, a plurality of storage units that have not been programmed are divided into at least two storage unit sets, including: Based on the current programming state of the storage circuit, determining a plurality of storage units that have not completed programming; The multiple storage cells that have not completed burning are divided into at least two storage cell sets according to one or more of the following factors of the multiple storage cells: physical locations of the storage cells of the storage circuit, connection methods of the storage cells of the storage circuit, transmission delays, and interference between storage cells.

18. The method according to any one of claims 15 to 17, characterized in that: The first burning instruction and the second burning instruction are used to write the first weight data into the first storage unit set, and the method further includes: Sending a third burning instruction to the storage and computing device, wherein the third burning instruction includes a third burning parameter, and the third burning parameter is used to control a third writing, and the third writing is used to write second weight data into the second storage unit set; receiving a third indication message from the storage and computing device, wherein the third indication message is used to indicate a third result of the third writing; Generate a fourth programming instruction according to the third result, wherein the fourth programming instruction includes a fourth programming parameter, the fourth programming parameter is used to control a fourth writing, and the fourth writing is used to adjust the second weight data written to the second storage unit set; Send the fourth burning instruction to the storage and computing device.

19. A burning device, characterized in that: It comprises an interface circuit and at least one processing circuit, wherein the interface circuit is used to communicate with a server, and the at least one processing circuit is used to execute the burning method according to any one of claims 1 to 9.

20. A burning device, characterized in that: It comprises an interface circuit and at least one processing circuit, wherein the interface circuit is used to communicate with a storage and computing device, and the at least one processing circuit is used to execute the burning method as described in any one of claims 10-18.

21. A burning system, characterized in that: It includes storage and computing devices and a server; The storage and computing device is used to execute the burning method according to any one of claims 1 to 9; The server is used to execute the burning method according to any one of claims 10-18.

22. A storage and computing device, characterized in that: It comprises the burning device and storage circuit as claimed in claim 19.

23. An electronic device comprising the storage and computing device as claimed in claim 22.

Citation Information

Cited By

  • Programming method, apparatus and system, computing-in-memory apparatus, and electronic device

    WO2026145162A1