A channel repair method and related device
By identifying the faulty channel based on the transmission channel status in the HBM chip and using redundant channels for replacement transmission, the problems of instruction execution abnormality and data loss caused by transmission channel failure are solved, and fast and accurate channel repair is achieved.
Patent Information
- Application Number
- CN202210966128.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-12
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2042-08-12
AI Technical Summary
The data transmission channel of the HBM chip is susceptible to PVT environmental changes and crosstalk between signals, which can cause transmission channel failure or damage, affecting the reliability of instruction execution and data storage.
By determining the faulty channel based on the transmission channel status and using the redundant channel for replacement transmission, channel repair is achieved to ensure the accuracy and efficiency of instruction transmission.
Quickly repair transmission channel failures, ensure the accuracy and efficiency of instruction transmission, avoid permanent memory damage caused by misoperation, and ensure the correctness of the repair process.
Smart Images

Figure CN115346590B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of artificial intelligence technology and provides a channel repair method and related devices. Background Art
[0002] With the rapid development of electronic technology, the computing power of various electronic devices is also increasing rapidly, but their data transmission channels are also prone to failure or damage.
[0003] Taking High Bandwidth Memory (HBM) chips as an example, since HBM instruction words can operate at a maximum clock frequency of 1.8 GHz, during HBM operation, instruction word transmission is susceptible to environmental variations in PVT and crosstalk between signals, leading to failure or damage in the instruction word transmission channel. Furthermore, since HBM is based on dynamic random access memory (DRAM) and features high data read and write bandwidth and high data storage density, coupled with its complex production process, transmission channel damage can also occur during the HBM DRAM production and packaging process.
[0004] In the event of a failure or damage to the transmission channel, HBM will be unable to execute the corresponding instructions, resulting in abnormal operation and the data stored in HBM may be lost. Summary of the Invention
[0005] The embodiments of the present application provide a channel repair method and related devices for quickly repairing the transmission channel and ensuring the correctness of instruction transmission when the transmission channel fails or is damaged.
[0006] In a first aspect, an embodiment of the present application provides a channel repair method, applied to a memory, comprising:
[0007] Based on the channel status of each transmission channel, determining at least one faulty transmission channel from the transmission channels;
[0008] Determining, based on the configured at least one redundant channel and the corresponding channel type, a replacement transmission channel corresponding to each of the at least one failed transmission channels;
[0009] In response to the channel repair operation triggered by the target object, each time an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, the operation instruction is transmitted through a corresponding replacement transmission channel.
[0010] In a second aspect, an embodiment of the present application provides a channel repair device, which may be an artificial intelligence chip, including:
[0011] a channel determining unit, configured to determine at least one faulty transmission channel from among the transmission channels based on the channel status of the transmission channels;
[0012] a remapping configuration unit, configured to determine, based on the configured at least one redundant channel and the corresponding channel type, a replacement transmission channel corresponding to each of the at least one failed transmission channels;
[0013] The instruction sending unit is used to respond to the channel repair operation triggered by the target object, and each time an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, the instruction is transmitted through a corresponding replacement transmission channel.
[0014] As a possible implementation manner, when determining the channel repair operation triggered by the target object, the instruction sending unit is specifically configured to:
[0015] Get the field value stored in the confirmation register;
[0016] If the field value indicates that a channel repair operation is to be performed, determining that the target object triggers a channel repair operation;
[0017] If the field value indicates that channel repair is not to be performed, when the target object is set to a target value for the field value within a set time period, it is determined that the target object triggers a channel repair operation.
[0018] As a possible implementation, in response to the channel repair operation triggered by the target object, each time an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, when the operation instruction is transmitted through the corresponding replacement transmission channel, the instruction sending unit is specifically configured to:
[0019] In response to a channel repair operation triggered by a target object, sending a target instruction carrying a channel identifier of the at least one faulty channel to a memory in the memory through a target interface;
[0020] Whenever an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, the operation instruction is transmitted to the memory through a corresponding replacement transmission channel.
[0021] In a third aspect, an embodiment of the present application provides an electronic device, comprising a processor and a memory, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor performs the steps of the above-mentioned channel repair method.
[0022] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which includes a computer program. When the computer program is run on an electronic device, the computer program is used to enable the electronic device to perform the steps of the above-mentioned channel repair method.
[0023] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes a computer program stored in a computer-readable storage medium. The processor of an electronic device reads and executes the computer program from the computer-readable storage medium, so that the electronic device performs the steps of the above-mentioned channel repair method.
[0024] In an embodiment of the present application, based on the channel status of each transmission channel, at least one faulty transmission channel is determined from each transmission channel; based on the configured at least one redundant channel and the corresponding channel type, a replacement transmission channel corresponding to each of the at least one faulty transmission channels is determined; in response to the channel repair operation triggered by the target object, each time an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, the corresponding replacement transmission channel is used to transmit the operation instruction.
[0025] In this way, when certain transmission channels in the memory fail, they can be repaired quickly to ensure the accuracy and efficiency of instruction transmission. By confirming the channel repair operation triggered by the target object, permanent damage to the memory caused by misoperation can be avoided, ensuring the correctness of the repair process.
[0026] Other features and advantages of the present application will be described in the following description, and in part will become apparent from the description, or will be understood by practicing the present application. The purposes and other advantages of the present application can be realized and obtained by the structures particularly pointed out in the written description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0028] Figure 1 A schematic diagram of an application scenario provided in an embodiment of the present application;
[0029] Figure 2 A schematic flow chart of a channel repair method provided in an embodiment of the present application;
[0030] Figure 3 A timing diagram of a PRE instruction and a PREA instruction provided in an embodiment of the present application;
[0031] Figure 4 A schematic diagram of channel remapping when Rx0 fails provided in an embodiment of the present application;
[0032] Figure 5A A schematic diagram of channel remapping when a Cx0 failure is provided in an embodiment of the present application;
[0033] Figure 5B A schematic diagram of channel remapping when Cx1 fails provided in an embodiment of the present application;
[0034] Figure 6 A logical diagram of a configuration confirmation register provided in an embodiment of the present application;
[0035] Figure 7 A schematic diagram of a WDR register provided in an embodiment of the present application;
[0036] Figure 8 A schematic flow chart of another channel repair method provided in an embodiment of the present application;
[0037] Figure 9 A logic diagram of configuring the WDR register when R12 fails provided in an embodiment of the present application;
[0038] Figure 10 A schematic diagram of channel remapping when an R12 failure occurs provided in an embodiment of the present application;
[0039] Figure 11 This is a schematic structural diagram of a channel repair device provided in an embodiment of the present application;
[0040] Figure 12 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0041] To make the purpose, technical solutions, and advantages of the embodiments of this application more clear, the technical solutions of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are part of the embodiments of the technical solutions of this application, but not all of them. Based on the embodiments described in this application document, all other embodiments obtained by ordinary technicians in this field without making creative efforts shall fall within the scope of protection of the technical solutions of this application.
[0042] Artificial intelligence (AI) refers to the theories, methods, techniques, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, to perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that seeks to understand the essence of intelligence and produce new intelligent machines that can respond in a manner similar to human intelligence. AI also involves studying the design principles and implementation methods of various intelligent machines, enabling them to possess the capabilities of perception, reasoning, and decision-making.
[0043] Artificial intelligence (AI) technology is a comprehensive discipline encompassing a wide range of fields, encompassing both hardware and software technologies. Foundational AI technologies generally include sensors, specialized AI chips, cloud computing, distributed storage, big data processing, operating / interaction systems, and mechatronics. AI software technologies primarily encompass computer vision, speech processing, natural language processing, and machine learning / deep learning.
[0044] The solution provided in the embodiments of the present application relates to artificial intelligence chip technology for artificial intelligence. Specifically, the channel repair method in the embodiments of the present application can be applied to artificial intelligence chips. Exemplarily, the channel repair method can be applied to HBM chips. HBM is a new type of high-speed and high-bandwidth memory storage, which is mainly used in the field of artificial intelligence chips.
[0045] With the rapid development of electronic technology, the computing power of various electronic devices is also increasing rapidly, but their data transmission channels are also prone to failure or damage.
[0046] Take HBM, for example. HBM is a DRAM-based memory implementation. Because HBM instruction words can operate at a maximum clock frequency of 1.8 GHz, the transmission of instruction words during HBM operation is susceptible to environmental variations in PVT and crosstalk between signals, leading to failure or damage in the instruction word transmission channel. Furthermore, due to HBM DRAM's high data read and write bandwidth and high data storage density, coupled with its complex production process, transmission channel damage can also occur during the HBM DRAM production and packaging process.
[0047] In the event of a failure or damage to the transmission channel, HBM will be unable to execute the corresponding instructions, resulting in abnormal operation and the data stored in HBM may be lost.
[0048] In an embodiment of the present application, based on the channel status of each transmission channel, at least one faulty transmission channel is determined from each transmission channel; based on the configured at least one redundant channel and the corresponding channel type, a replacement transmission channel corresponding to each of the at least one faulty transmission channels is determined; in response to the channel repair operation triggered by the target object, each time an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, the corresponding replacement transmission channel is used to transmit the operation instruction.
[0049] In this way, when certain transmission channels in the memory fail, they can be repaired quickly to ensure the accuracy and efficiency of instruction transmission. By confirming the channel repair operation triggered by the target object, permanent damage to the memory caused by misoperation can be avoided, ensuring the correctness of the repair process.
[0050] Figure 1 This is a schematic diagram of an application scenario provided by an embodiment of the present application. The application scenario includes memory and a processor. In the present embodiment of the present application, HBM memory is used as an example. The memory can also be other storage devices that transmit instructions through a transmission channel, without limitation.
[0051] In the embodiments of the present application, a central processing unit (CPU) is used as an example for description. The processor may also be a graphics processing unit (GPU) or other processors, which is not limited to this.
[0052] The HBM stack provides several DRAM dies stacked on top of each other in a small area. The dies in the HBM stack can be connected to the processor through an interposer. Optionally, the HBM also contains a base logic die.
[0053] HBM can be HBM, HBM2 or HBM2e. Taking HBM2 as an example, Figure 1 An example stack of four DRAM chips is shown in FIG. 1 , where each chip supports two channels. Each channel provides access to an independent set of DRAM banks.
[0054] In some embodiments, the HBM internally includes eight channels, namely channel a, channel b, to channel h. Each channel group can use a corresponding transmission channel (lane) for command transmission. Each lane is a physical serial data line.
[0055] As a possible implementation method, the processor determines at least one faulty transmission channel from each transmission channel based on the channel status of each transmission channel in the HBM DRAM; determines a replacement transmission channel corresponding to each of the at least one faulty transmission channels based on at least one configured redundant channel and the corresponding channel type; and responds to a channel repair operation triggered by a target object. Whenever an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, the corresponding replacement transmission channel is used to transmit the operation instruction.
[0056] See Figure 2 As shown, it is a flow chart of a memory transmission channel repair method provided in an embodiment of the present application, which is applied to an electronic device. The electronic device may be an artificial intelligence chip, but is not limited thereto. Specifically, the method includes:
[0057] S201 : Based on the channel status of each transmission channel, determine at least one faulty transmission channel from each transmission channel.
[0058] In this application, the HBM is used as an example. The transmission channel in the HBM can be the transmission channel of the instruction word (AWORD). The HBM AWORD is responsible for completing the function of transmitting instructions to the HBM DRAM. The accurate transmission of the HBM AWORD ensures the correctness of each operation in the HBM.
[0059] HBM AWORD instructions are divided into two categories: row instructions and column instructions. Row instructions correspond to several row instruction transmission channels, and column instructions correspond to several column instruction transmission channels. For example, as shown in Table 1, in different HBM protocols, the data bit widths of row instructions and column instructions are different. The data bit width of column instructions supported by the HBM2 protocol is 8 bits, and each data bit corresponds to a column instruction transmission channel, that is, C[7:0], C[7:0] represents 8 column instruction transmission channels such as C0, C1, ..., C7. The data bit width of row instructions supported by the HBM2 protocol is 6 bits, and each data bit corresponds to a row instruction transmission channel, that is, R[5:0], R[5:0] represents 6 row instruction transmission channels such as R0, R1, ..., R5. The data bit width of the column instructions supported by the HBM2E protocol is 9 bits, that is, C[8:0], C[8:0] represents 9 row instruction transmission channels such as C0, C1, ..., C8, while the data bit width of the row instructions supported by the HBM2E protocol is 7 bits, that is, R[6:0], R[6:0] represents 7 row instruction transmission channels such as R0, R1, ..., R6.
[0060] Table 1 Data format of row instructions and class instructions
[0061] Function Data bit width Functional Description Column Command / Address 8 or 9 digits C[7:0]or C[8:0], column instruction word information Row Command / Address 6 or 7 digits R[5:0]or R[6:0], row instruction word information
[0062] Taking the HBM 2E protocol as an example, as shown in Table 2, the row instructions supported by the HBM 2E protocol include: RNOP instruction, ACT instruction, PRE instruction, PREA instruction, REFSB instruction, REF instruction, PDE instruction, SRE instruction, and PDX / SRX instruction.
[0063] Among them, the RNOP instruction is used to pass a blank row instruction (Row No Operation); the ACT instruction is used to activate (Active); the PRE instruction is used to precharge (Precharge) the specified data storage area (Bank); the PREA instruction is used to precharge (Precharge All) all banks; the REFSB instruction is used to refresh a single bank (SingleBank Refresh); the REF instruction is used to refresh (Refresh) all banks; the PDE instruction is used for power-down (Power-Down Entry); the SRE instruction is used for self-refresh (Self Refresh Entry); the PDX / SRX instruction is used to stop power-down and self-refresh (Power-Down & Self Refresh Exit).
[0064] Table 2 also gives the specific definitions of the RNOP instruction, ACT instruction, PRE instruction, PREA instruction, REFSB instruction, REF instruction, PDE instruction, SRE instruction, and PDX / SRX instruction, and only takes the PRE instruction and PREA instruction as examples for explanation.
[0065] Note that in Table 2, CLOCK CYCLE represents the clock cycle, CKE represents clock enable, H represents a high level, L represents a low level, V represents the valid bit, and V is either H or L. BA represents the bank address, SID represents the stack ID, PAR represents the parity signal, RA represents the row address, OP represents the mode register operation code, and N-1 and N represent adjacent times. The ACT instruction requires two cycles, while other instructions require one cycle.
[0066] See Figure 3 Figure 1 shows the waveforms of the PRE and PREA instructions over a continuous cycle. CK_c and CK_t represent differential clock inputs. Address and control information are sampled via the rising edge of CK_c and the falling edge of CK_t. CKE remains high. At time N-1, both the PRE and PREA instructions are sampled via R3, R4, R5, and R6. At time N, both are sampled via R0, R1, R2, R3, R5, and R6. The PRE and PREA instructions are distinguished by whether the falling edge value of R4 is high or low. If the falling edge value of R4 is low, the instruction is a PRE instruction. If the falling edge value of R4 is high, the instruction is a PRE instruction.
[0067] Table 2 row instructions
[0068]
[0069] Taking the HBM 2E protocol as an example, as shown in Table 3, the column instructions supported by the HBM 2E protocol include: CNOP, RD, RDA, WR, WRA, and MSR. The CNOP instruction transfers a column no operation (Column No Operation); the RD instruction is used to read data; the RDA instruction is used for automatic precharge after read (Read with AP), where AP stands for automatic precharge; the WR instruction is used to write data; the WRA instruction is used for automatic precharge after write (Write with AP); and the MSR instruction is used to configure the model register (Model Register Set). CA represents the column address.
[0070] Table 3 lists the instructions
[0071]
[0072] It can be seen that each row instruction needs to be transmitted using one or more row instruction transmission channels, and each column instruction needs to be transmitted using one or more column instruction transmission channels.
[0073] In the embodiment of the present application, when the channel status of a transmission channel indicates that the transmission channel is powered off, it is determined that the transmission channel has failed. The channel status of the transmission channel may be obtained after detecting the corresponding transmission channel.
[0074] In the embodiment of the present application, when the transmission of AWORD fails, it generally causes the following problems:
[0075] If the Active instruction is lost or sampled incorrectly, the subsequent read or write instructions after the Active instruction will work in the state where the row is not activated, and the read or write instructions will not be executed normally;
[0076] If the Precharge / Precharge All instruction is lost or sampled incorrectly, the currently active row cannot be correctly precharged and exited, which will cause subsequent read or write instructions to fail to execute normally;
[0077] If the Single Bank / Refresh instruction is lost or sampled incorrectly, the HBM DRAM will lose the current refresh instruction. If the refresh instruction cannot meet the refresh requirements of the HBM DRAM, the data stored in the HBM DRAM will be faulty or lost.
[0078] If the Power-Down Entry, Self Refresh Entry, or Power-Down & Self Refresh Exit instructions are lost or sampled incorrectly, it will cause an error in the HBM DRAM mode switch, causing HBM DRAM abnormalities;
[0079] If Read or Write instructions are lost or sampled incorrectly, HBM DRAM will experience read or write data errors, and may even pollute the data in the HBM DRAM.
[0080] S202: Determine a replacement transmission channel corresponding to each of the at least one failed transmission channels based on the configured at least one redundant channel and the corresponding channel type.
[0081] Specifically, when executing S202, the following steps are performed:
[0082] S2021. Based on the channel type corresponding to each of the at least one redundant channel, select a candidate channel that matches the at least one faulty transmission channel from the at least one redundant channel.
[0083] HBM DRAM provides redundant channels for remapping AWORD. The number of redundant channels configured varies in different HBM protocols. The HBM2 and HBM2E protocols provide two redundant channels: RR (Redundant Row) and RC (Redundant Column). RR is the redundant row instruction transmission channel, and RC is the redundant column instruction transmission channel. The data bit width of RR and RC is 1 bit. The HBM3 protocol provides one redundant channel, which can be used to transmit both column and row instructions.
[0084] Since the redundant channels configured in different protocols are different, in an embodiment of the present application, in order to be compatible with different protocols, during the execution of S2021, it is also possible to first determine the HBM protocol supported by the electronic device and determine the configured redundant channels based on the HBM protocol supported by the electronic device.
[0085] For example, when an electronic device supports the HBM2 protocol or the HBM2E protocol, the number of configured redundant channels is 2, and the two redundant channels include RR and RC. When an electronic device supports the HBM3 protocol, the number of configured redundant channels is 1, and the 1 redundant channel is both a column instruction transmission channel and a row instruction transmission channel.
[0086] Specifically, when executing S2021, the following two possible implementation methods may be adopted but are not limited to:
[0087] Mode 1: If the channel type of one of the at least one redundant channel is a row instruction transmission channel and a column instruction transmission channel, it is determined that the one redundant channel matches the at least one faulty transmission channel.
[0088] When an electronic device supports the HBM3 protocol, since the one redundant channel configured in the HBM3 protocol is both a column instruction transmission channel and a row instruction transmission channel, that is, the channel type of the redundant channel is a row instruction transmission channel and a column instruction transmission channel, it is determined that the one redundant channel matches each faulty transmission channel, that is, the one redundant channel can be used as a replacement transmission channel for the row instruction transmission channel, and can also be used as a replacement transmission channel for the column instruction transmission channel.
[0089] Through the above implementation, the HBM3 protocol can be supported, and the redundant channels configured in the HBM3 protocol can be used as replacement transmission channels for row instruction transmission channels and column instruction transmission channels, thereby improving fault recovery efficiency.
[0090] Method 2: If the channel type of one redundant channel in at least one redundant channel is a row instruction transmission channel or a column instruction transmission channel, then when the channel type of one redundant channel is the same as the channel type of one faulty transmission channel in at least one faulty transmission channel, it is determined that one redundant channel matches one faulty transmission channel.
[0091] When an electronic device supports the HBM2 protocol or the HBM2E protocol, the number of configured redundant channels is 2, and the two redundant channels include RR and RC, where RR is a redundant row instruction transmission channel and RC is a redundant column instruction transmission channel. Therefore, the channel type of RR is a row instruction transmission channel and the channel type of RC is a column instruction transmission channel.
[0092] The following description uses channel x as an example. Rxi represents the row instruction transmission channel i (Ri) in channel x. For example, Rx1 represents R1 corresponding to channel x. Cxi represents the column instruction transmission channel i (Ci) corresponding to channel x. For example, Cx1 represents C1 corresponding to channel x. RRx represents the RR corresponding to channel x, and RCx represents the RC corresponding to channel x.
[0093] For example, assuming that the fault transmission channel is Rx1, the channel type of Rx1 is a row instruction transmission channel, and among RRx and RCx, RRx and Rx1 have the same channel type, then RRx matches Rx1.
[0094] For another example, assuming that the faulty transmission channel is Cx0, the channel type of Cx0 is a column instruction transmission channel, and among RRx and RCx, RCx and Cx0 have the same channel type, then RCx and Cx0 match.
[0095] For another example, assuming that the faulty transmission channels are Rx0 and Cx0, among RRx and RCx, RRx and Rx0 have the same channel type, and RC and C0 have the same channel type. Therefore, RR matches R0, and RC matches C0.
[0096] Through the above implementation method, the HBM2 protocol and the HBM2E protocol can be supported, and the two redundant channels configured in the HBM2 protocol and the HBM2E protocol can be used as replacement transmission channels for the row instruction transmission channel and the column instruction transmission channel, respectively, to improve the accuracy of instruction transmission.
[0097] S2022: Determine, based on the selected candidate channels, a replacement transmission channel corresponding to at least one failed transmission channel.
[0098] Specifically, when executing S2021, the following two possible implementation methods may be adopted but are not limited to:
[0099] Mode A: When the number of the selected candidate channels is the same as the number of the at least one faulty transmission channel, based on the matching relationship between each candidate channel and the at least one faulty transmission channel, each candidate channel is used as a replacement transmission channel corresponding to the at least one faulty transmission channel.
[0100] For example, assume that the faulty transmission channel is Rx1 and RRx matches Rx1. At this time, the number of selected candidate channels and the number of faulty transmission channels are both 1, that is, the number of selected candidate channels is the same as the number of faulty transmission channels. Based on the matching relationship between RRx and Rx1, RRx is used as the replacement transmission channel corresponding to Rx1.
[0101] For another example, assume that the faulty transmission channel is Cx0 and RCx matches Cx0. At this time, the number of selected candidate channels and the number of faulty transmission channels are both 1, that is, the number of selected candidate channels is the same as the number of faulty transmission channels. Based on the matching relationship between RCx and Cx0, RCx is used as the replacement transmission channel corresponding to Cx0.
[0102] For another example, assume that the faulty transmission channels are Rx0 and Cx0, RRx matches Rx0, and RCx matches Cx0. At this time, the number of selected candidate channels and the number of faulty transmission channels are both 2, that is, the number of selected candidate channels is the same as the number of faulty transmission channels. Based on the matching relationship between RRx and Rx0, and the matching relationship between RCx and Cx0, RRx is used as the replacement transmission channel corresponding to Rx0, and RCx is used as the replacement transmission channel corresponding to Cx0.
[0103] Through the above implementation, the redundant channel is directly used as a replacement transmission channel corresponding to the faulty transmission channel, thereby improving fault recovery efficiency.
[0104] Mode B: When the number of the selected candidate channels is the same as the number of at least one faulty transmission channel, a replacement transmission channel corresponding to each of the at least one faulty transmission channels is determined from the candidate channels and the transmission channels other than the at least one faulty transmission channel.
[0105] Specifically, when executing method B, the following two possible implementation methods can be used:
[0106] A first possible implementation method is to obtain a remapping association relationship in response to a channel remapping configuration operation triggered by a target object, where the remapping association relationship includes a replacement transmission channel corresponding to each transmission channel, and each replacement transmission channel is a transmission channel between each candidate channel and each other transmission channel.
[0107] When the target object enters the remapping association relationship, the target object is determined to trigger the channel remapping configuration operation.
[0108] It should be noted that in an embodiment of the present application, if the faulty transmission channel is a row instruction transmission channel, then the obtained remapping association relationship includes the replacement transmission channels corresponding to each row instruction transmission channel; if the faulty transmission channel is a column instruction transmission channel, then the obtained remapping association relationship includes the replacement transmission channels corresponding to each column instruction transmission channel.
[0109] First, taking the HBM2E protocol as an example, the case where the faulty transmission channel is the row instruction transmission channel is described.
[0110] See Figure 4As shown, it is assumed that the faulty transmission channel is Rx0. In response to the channel remapping configuration operation triggered by the target object, the remapping association relationship is obtained. In the remapping association relationship, Rx6, Rx1, Rx2, Rx3, Rx4, Rx5, and RRx are used to transmit the instructions of Rx6, Rx0, Rx1, Rx2, Rx3, Rx4, and Rx5 respectively. The replacement transmission channels corresponding to Rx6, Rx0, Rx1, Rx2, Rx3, Rx4, and Rx5 are Rx6, Rx1, Rx2, Rx3, Rx4, Rx5, and RRx. Since the replacement transmission channel corresponding to Rx6 is itself, it can also be understood that Rx6 does not perform transmission channel remapping. The replacement transmission channels corresponding to Rx0, Rx1, Rx2, Rx3, Rx4, and Rx5 are Rx1, Rx2, Rx3, Rx4, Rx5, and RRx.
[0111] It should be noted that the remapping association relationship can also include the replacement transmission channel corresponding to each row instruction transmission channel in the event that each row instruction transmission channel fails. In this way, when a transmission channel fails, the corresponding replacement transmission channel can be quickly determined based on the remapping association relationship configured by the target object.
[0112] Table 4 shows a possible remapping relationship of the row instruction transmission channel, where RepairLane i indicates that the faulty transmission channel is Rxi, for example, Repair Lane 1 indicates that the faulty transmission channel is Rx1. XX indicates that the channel is remapped.
[0113] Table 4 Remapping association relationship of row instruction transmission channel
[0114] Fault transmission channel Register encoding Rx6 Rx0 Rx1 Rx2 Rx3 Rx4 Rx5 RRx Repair Lane 0 0000 Rx6 XX Rx0 Rx1 Rx2 Rx3 Rx4 Rx5 Repair Lane 1 0001 Rx6 Rx0 XX Rx1 Rx2 Rx3 Rx4 Rx5 Repair Lane 2 0010 Rx6 Rx0 Rx0 XX Rx2 Rx3 Rx4 Rx5 Repair Lane 3 0011 Rx6 Rx0 Rx0 Rx2 XX Rx3 Rx4 Rx5 Repair Lane 4 0100 Rx6 Rx0 Rx0 Rx2 Rx3 XX Rx4 Rx5 Repair Lane 5 0101 Rx6 Rx0 Rx0 Rx2 Rx3 Rx4 XX Rx5 Repair Lane 6 0110 XX Rx6 Rx0 Rx1 Rx2 Rx3 Rx4 Rx5 Reserved 0111 to 1110 Rx6 Rx0 Rx0 Rx2 Rx3 Rx4 Rx5 RFU Default 1111 Rx6 Rx0 Rx0 Rx2 Rx3 Rx4 Rx5 RFU
[0115] When the faulty transmission channel is Rx0, Rx6, Rx1, Rx2, Rx3, Rx4, Rx5, and RRx are used to transmit instructions of Rx6, Rx0, Rx1, Rx2, Rx3, Rx4, and Rx5, respectively. That is, Rx6 does not perform transmission channel remapping, and the corresponding replacement transmission channels of Rx0, Rx1, Rx2, Rx3, Rx4, and Rx5 are Rx1, Rx2, Rx3, Rx4, Rx5, and RRx, respectively.
[0116] When the faulty transmission channel is Rx1, Rx6, Rx0, Rx2, Rx3, Rx4, Rx5, and RRx are used to transmit instructions of Rx6, Rx0, Rx1, Rx2, Rx3, Rx4, and Rx5, respectively. That is, Rx6 and Rx0 do not perform transmission channel remapping, and the corresponding replacement transmission channels of Rx1, Rx2, Rx3, Rx4, and Rx5 are Rx2, Rx3, Rx4, Rx5, and RRx, respectively.
[0117] When the faulty transmission channel is Rx2, Rx6, Rx0, Rx1, Rx3, Rx4, Rx5, and RRx are used to transmit instructions of Rx6, Rx0, Rx1, Rx2, Rx3, Rx4, and Rx5, respectively. That is, Rx6, Rx0, and Rx1 do not perform transmission channel remapping, and the corresponding replacement transmission channels of Rx2, Rx3, Rx4, and Rx5 are Rx3, Rx4, Rx5, and RRx, respectively.
[0118] Similarly, when the faulty transmission channel is Rx3, the corresponding replacement transmission channels of Rx3, Rx4, and Rx5 are Rx4, Rx5, and RRx respectively; when the faulty transmission channel is Rx4, the corresponding replacement transmission channels of Rx4 and Rx5 are Rx5 and RRx respectively; when the faulty transmission channel is Rx5, the corresponding replacement transmission channel of Rx5 is RRx; when the faulty transmission channel is Rx6, the corresponding replacement transmission channels of Rx6, Rx0, Rx1, Rx2, Rx3, Rx4, and Rx5 are Rx0, Rx1, Rx2, Rx3, Rx4, Rx5, and RRx respectively.
[0119] Table 4 also includes the register codes corresponding to Repair Lane 0 through Repair Lane 6, which are binary numbers 0000 through 0110, respectively. Table 5 also includes a reserved field (Reserved) and a default field (Default). The register codes corresponding to the reserved field are binary numbers 0111 through 1110, and the register code corresponding to the default field is binary 1111. The reserved and default fields indicate that the RRx is not used (RFU) when no transmission channel remapping is performed.
[0120] Next, still taking the HBM2E protocol as an example, the case where the faulty transmission channel is a column instruction transmission channel is described.
[0121] See Figure 5A As shown, it is assumed that the faulty transmission channel is Cx0. In response to the channel remapping configuration operation triggered by the target object, the remapping association relationship is obtained. In the remapping association relationship, Cx8, Cx1, Cx2, Cx3, Cx4, Cx5, Cx6, Cx7, and RCx are used to transmit the instructions of Cx8, Cx0, Cx1, Cx2, Cx3, Cx4, Cx5, Cx6, and Cx7, respectively. That is to say, Cx8 does not perform transmission channel remapping, and the replacement transmission channels corresponding to Cx0, Cx1, Cx2, Cx3, Cx4, Cx5, Cx6, and Cx7 are Cx1, Cx2, Cx3, Cx4, Cx5, Cx6, Cx7, and RCx, respectively.
[0122] It should be noted that the remapping association relationship can also include the replacement transmission channel corresponding to each column instruction transmission channel in the event that each column instruction transmission channel fails. In this way, when a transmission channel fails, the corresponding replacement transmission channel can be quickly determined based on the remapping association relationship configured by the target object.
[0123] Refer to Table 5, which shows a possible remapping association relationship of column instruction transmission channels, wherein RepairLane i indicates that the faulty transmission channel is Cxi, for example, Repair Lane 1 indicates that the faulty transmission channel is Cx1.
[0124] Table 5 lists the remapping association relationships of the instruction transmission channel
[0125]
[0126] When the faulty transmission channel is Cx0, Cx8, Cx1, Cx2, Cx3, Cx4, Cx5, Cx6, Cx7, and RCx are used to transmit the instructions of Cx8, Cx0, Cx1, Cx2, Cx3, Cx4, Cx5, Cx6, and Cx7, respectively. That is, Cx8 does not perform transmission channel remapping, and the corresponding replacement transmission channels of Cx0, Cx1, Cx2, Cx3, Cx4, Cx5, Cx6, Cx7 are Cx1, Cx2, Cx3, Cx4, Cx5, Cx6, Cx7, and RCx, respectively.
[0127] See Figure 5B As shown in the figure, when the faulty transmission channel is Cx1, Cx8, Cx0, Cx2, Cx3, Cx4, Cx5, Cx6, Cx7, and RCx are used to transmit the instructions of Cx8, Cx0, Cx1, Cx2, Cx3, Cx4, Cx5, Cx6, and Cx7 respectively. That is to say, Cx8 and Cx0 do not perform transmission channel remapping, and the replacement transmission channels corresponding to Cx1, Cx2, Cx3, Cx4, Cx5, Cx6, Cx7 are Cx2, Cx3, Cx4, Cx5, Cx6, Cx7, and RCx respectively.
[0128] When the faulty transmission channel is Cx2, Cx8, Cx0, Cx2, Cx3, Cx4, Cx5, Cx6, Cx7, and RCx are used to transmit the instructions of Cx8, Cx0, Cx1, Cx2, Cx3, Cx4, Cx5, Cx6, and Cx7, respectively. That is, Cx8 and Cx0 do not perform transmission channel remapping, and the corresponding replacement transmission channels of Cx1, Cx2, Cx3, Cx4, Cx5, Cx6, Cx7 are Cx2, Cx3, Cx4, Cx5, Cx6, Cx7, and RCx, respectively.
[0129] Table 6 also includes the register codes corresponding to Repair Lane 0 through Repair Lane 8, where the corresponding register codes are binary numbers 0000 through 1000, respectively. Table 5 also includes reserved and default fields. The register codes corresponding to the reserved fields are binary numbers 1001 through 1110, and the register code corresponding to the default field is binary number 1111. The reserved and default fields indicate that RCx is not used (RFU) when no transmission channel remapping is performed.
[0130] Through the above implementation, when a transmission channel fails, a corresponding replacement transmission channel can be determined based on the remapping association relationship configured by the target object, thereby achieving rapid recovery of the channel.
[0131] In a second possible implementation, based on the channel arrangement order among the transmission channels, other transmission channels and candidate channels are used as replacement transmission channels corresponding to the transmission channels.
[0132] The channel arrangement order between the transmission channels may be a preset channel arrangement order, which may be determined according to the wiring method of each transmission channel. The channel arrangement order may also be specified by the target object, which is not limited.
[0133] It should be noted that, in the embodiment of the present application, if the faulty transmission channel is a row instruction transmission channel, then based on the channel arrangement order between the row instruction transmission channels, each other transmission channel and each candidate channel whose channel type is a row instruction transmission channel will be used as the replacement transmission channel corresponding to each row instruction transmission channel. If the faulty transmission channel is a column instruction transmission channel, then based on the channel arrangement order between the column instruction transmission channels, each other transmission channel and each candidate channel whose channel type is a column instruction transmission channel will be used as the replacement transmission channel corresponding to each column instruction transmission channel.
[0134] Taking the HBM2E protocol as an example, if the faulty transmission channel is the row instruction transmission channel, assuming that the channel arrangement order between the transmission channels is Rx6, Rx0, Rx1, Rx2, Rx3, Rx4, Rx5, and the faulty transmission channel is Rx0, then the replacement transmission channels corresponding to Rx6, Rx0, Rx1, Rx2, Rx3, Rx4, Rx5 are Rx6, Rx1, Rx2, Rx3, Rx4, Rx5, RRx respectively.
[0135] Taking the HBM2E protocol as an example, when the faulty transmission channel is the column instruction transmission channel, assuming that the channel arrangement order between the transmission channels is Cx8, Cx0, Cx2, Cx3, Cx4, Cx5, Cx6, Cx7, and the faulty transmission channel is Cx0, then the replacement transmission channels corresponding to Cx8, Cx0, Cx1, Cx2, Cx3, Cx4, Cx5, Cx6, and Cx7 are Cx8, Cx1, Cx2, Cx3, Cx4, Cx5, Cx6, Cx7, and RCx respectively.
[0136] Through the above implementation method, when a transmission channel fails, the corresponding replacement transmission channel can be quickly determined based on the remapping association relationship configured by the target object, thereby achieving rapid recovery of the channel. At the same time, it avoids to a certain extent the occurrence of channel mapping errors caused by erroneous operation of the target object.
[0137] S203 : In response to the channel repair operation triggered by the target object, whenever an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, the corresponding replacement transmission channel is used to transmit the operation instruction.
[0138] Specifically, when determining the channel repair operation triggered by the target object, the following operations may be used, but are not limited to:
[0139] Obtain the field value stored in the confirmation register; if the field value indicates that channel repair is to be performed, determine that the target object triggers the channel repair operation; if the field value indicates that channel repair is not to be performed, then when the target object is set to the target value for the field value within a set time period, determine that the target object triggers the channel repair operation.
[0140] In an embodiment of the present application, an electronic device is provided with a confirmation register, USER_CONFIRM_HARD_LANE_REPAIR, for determining whether a hard repair is to be performed. The field values of the confirmation register are initially default values. The confirmation register requires special configuration by the target object before the field values are changed to target values. When the field values of the confirmation register are the default values, the field values indicate that a lane repair is not to be performed. When the field values of the confirmation register are the target values, the field values indicate that a lane repair is to be performed.
[0141] For example, see Figure 6 As shown, the default value is 0, the target value is 1, and the field value stored in the confirmation register is obtained. If the field value is 1, the field value indicates that channel repair is to be performed, and the target object is determined to trigger the channel repair operation. If the field value is 0, the field value indicates that channel repair is not to be performed. When the target object is set to the target value for the field value within the set time, the target object is determined to trigger the channel repair operation.
[0142] Since HBM DRAM hard repair is completed by burning the hard repair mapping table inside the HBM DRAM, this burning process may only be performed once after leaving the factory. If an incorrect burning occurs, the HBM DRAM may be permanently damaged. Therefore, by confirming the register, the correctness of the hard repair process can be guaranteed.
[0143] It should be noted that, in the embodiment of the present application, only one confirmation process is used as an example for illustration. In actual application, multiple confirmations can also be performed. Since each confirmation process is the same as the process of determining the channel repair operation triggered by the target object mentioned above, it will not be repeated here that there is only one confirmation.
[0144] In the embodiment of the present application, a counting register USER_HARD_LANE_REPAIR_TIMER can also be set. The target object can configure the value of the register according to requirements, and the value of the counting register is used to indicate the set duration.
[0145] For example, the counter register is a 32-bit counter with a default configuration value of 0x10000h. The decimal number corresponding to 0x10000h is 65536. Taking a system clock of 900MHz as an example, the value of the counter register is approximately: 65536 / 900≈72.7us. In other words, if the setting duration is 72.7us, if the value of the USER_CONFIRM_HARD_LANE_REPAIR field is 0, then the channel repair process ends after approximately 72.7us. If the value of the USER_CONFIRM_HARD_LANE_REPAIR field is configured to 1 within approximately 72.7us, then the target object is determined to trigger the channel repair operation.
[0146] In some embodiments, in response to a channel repair operation triggered by a target object, each time an operation instruction that needs to be transmitted through a failed transmission channel is obtained, the operation instruction is transmitted through a corresponding replacement transmission channel, including:
[0147] In response to a channel repair operation triggered by a target object, a target instruction carrying a channel identifier of at least one faulty channel is sent to a memory in the memory through a target interface; through the memory, each time an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, the operation instruction is transmitted to the memory using a corresponding replacement transmission channel.
[0148] Exemplarily, the target interface is IEEE 1500. IEEE 1500 is an interface provided by HBM to the host for testing, boundary scan, and repair, enabling communication between the host and HBM DRAM. The target instructions can also be referred to as IEEE 1500 instructions. The memory is DRAM.
[0149] The configuration content of the IEEE1500 instruction is shown in Table 6 below. Among them, bits 11 to 8 of the instruction register WIR (i.e., WIR[11:8]) are used to identify the channel, the value of WIR[7:0] is 13h, where h represents hexadecimal. The IEEE1500 instruction can be called HARD_LANE_REPAIR, the register type is a readable and writable register, and the wide dynamic range (WDR) length is 72.
[0150] When the value of WIR[11:8] is 0h, the HARD_LANE_REPAIR instruction is used to indicate that a faulty transmission channel exists in channel a. Similarly, when the values of WIR[11:8] are 1h, 2h, 3h, 4h, 5h, 6h, and 7h, respectively, the HARD_LANE_REPAIR instruction is used to indicate that a faulty transmission channel exists in channel b, channel c, channel d, channel e, channel f, channel g, and channel h, respectively.
[0151] Table 6 IEEE1500 command configuration
[0152]
[0153] In an embodiment of the present application, a WDR register is used to indicate a faulty transmission channel. When the HBM host determines that at least one transmission channel has failed based on the channel status of each transmission channel, it can read the WDR register and configure the WDR register based on the channel identifier corresponding to the at least one faulty transmission channel. Furthermore, based on the configuration of the WDR register, the at least one faulty transmission channel is determined to have failed.
[0154] Exemplarily, when configuring the WDR register according to the channel identifier corresponding to at least one faulty transmission channel, the value of the corresponding field in the WDR register may be configured as the channel identifier corresponding to the faulty transmission channel.
[0155] See Figure 7 As shown in Figure 1, the length of the WDR register is 72 bits, of which bits 71 to 40 and bits 31 to 0 are reserved and have no restrictions on their use. Bits 39 to 36 indicate the row command transmission channel that has failed, and bits 35 to 32 indicate the column command transmission channel that has failed.
[0156] Bits 39 to 36 may also be referred to as AWORD_ROW[3:0]. When the value of AWORD_ROW[3:0] is 0h, the fault transmission channel is R0. Similarly, when the value of AWORD_ROW[3:0] is 1h, 2h, 3h, 4h, 5h, or 6h, the fault transmission channel is the corresponding one of R1, R2, R3, R4, R5, and R6. When the value of AWORD_ROW[3:0] is any one of 7h-Eh, it is used to implement the reserved word function. When the value of AWORD_ROW[3:0] is Fh, it indicates that the row instruction transmission channel does not perform hard repair.
[0157] Bits 35 to 32 can also be called AWORD_COL[3:0]. When the value of AWORD_COL[3:0] is 0h, the fault transmission channel is C0. Similarly, when the value of AWORD_COL[3:0] is any one of 1h to 8h, the fault transmission channel is the corresponding one of C1, C2, C3, C4, C5, C6, C7, and C8. When the value of AWORD_COL[3:0] is any one of 9h-Eh, it is used to implement the function of reserved words. When the value of AWORD_COL[3:0] is Fh, it indicates that the row instruction transmission channel does not perform hard repair.
[0158] Table 7 WDR register configuration
[0159]
[0160] For example, assuming that the fault transmission channel is Rx2, in the configured WDR register, the values of bits 71 to 40 are FFFFFFFFh, the values of bits 39 to 36 (i.e., AWORD_ROW[3:0]) are 2h, the values of bits 35 to 32 (i.e., AWORD_COL[3:0]) are Fh, and the values of bits 31 to 0 are FFFFFFFFh.
[0161] For another example, assume that the fault transmission channel is Cx8. In the configured WDR register, the values of bits 71 to 40 are FFFFFFFFh, the values of bits 39 to 36 (i.e., AWORD_ROW[3:0]) are Fh, the values of bits 35 to 32 (i.e., AWORD_COL[3:0]) are 8h, and the values of bits 31 to 0 are FFFFFFFFh.
[0162] For another example, assume that the fault transmission channels are Rx2 and Cx8. In the configured WDR register, the values of bits 71 to 40 are FFFFFFFFh, the values of bits 39 to 36 (i.e., AWORD_ROW[3:0]) are 2h, the values of bits 35 to 32 (i.e., AWORD_COL[3:0]) are 8h, and the values of bits 31 to 0 are FFFFFFFFh.
[0163] Through the above implementation, by sending IEEE1500 instructions to HBM DRAM, the HBM DRAM can know the transmission channel in the channel that has failed. Then, based on the remapping association relationship, the HBM DRAM can determine the replacement transmission channel corresponding to the transmission channel when the transmission channel fails, and then perform instruction transmission based on the corresponding replacement transmission channel.
[0164] It should be noted that after determining the channel repair operation triggered by the target object, the remapping association can also be burned. Burning refers to writing the remapping association to the HBM DRAM. In order to support different protocols simultaneously, for example, supporting the HBM2 protocol, HBM2E protocol, and HBM3 protocol, different remapping associations can be configured for different protocols. Then, when burning the configured remapping association, the corresponding remapping association can be selected according to the protocol version supported by the electronic device.
[0165] In some embodiments, the WDR register used for hard repair is associated with a configuration table provided by the HBM DRAM supplier. Therefore, if the configuration table provided by the HBM DRAM supplier changes, only the configuration of the WDR register needs to be updated.
[0166] See Figure 8 As shown, it is a schematic diagram of a channel repair method provided in an embodiment of the present application. The method is applied to a processor, and the specific process is as follows:
[0167] S801. Read the initial WDR register.
[0168] In the initial WDR register, bits 71 to 40 are FFFFFFFFh, bits 39 to 36 (i.e., AWORD_ROW[3:0]) are Fh, bits 35 to 32 (i.e., AWORD_COL[3:0]) are Fh, and bits 31 to 0 are FFFFFFFFh.
[0169] S802: Configure a new WDR register.
[0170] See Figure 9 As shown, based on the channel status of each transmission channel, the channel identifier of the faulty transmission channel is determined to be R12, R12 represents the row instruction transmission channel R2 of channel1, and then the new WDR register is configured as follows: the value of bits 71 to 40 is FFFFFFFFh, the value of bits 39 to 36 (ie, AWORD_ROW[3:0]) is 2h, the value of bits 35 to 32 (ie, AWORD_COL[3:0]) is Fh, and the value of bits 31 to 0 is FFFFFFFFh.
[0171] S803: Determine a faulty transmission channel according to the configuration of the new WDR register, and determine a replacement transmission channel corresponding to each of the at least one faulty transmission channels based on the configured at least one redundant channel and the corresponding channel type.
[0172] Based on the value of AWORD_ROW[3:0] in the new WDR register, the faulty transmission channel is determined to be R12. Assume that the HBM chip supports the HBM3 protocol, which has a redundant channel. The HBM3 protocol includes 10 row command transmission channels, R0 to R9, and 8 column command transmission channels, C0 to C7.
[0173] See Figure 10 As shown, since the redundant channel is both a row command redundant channel and a column command redundant channel, for the 10 row command transmission channels corresponding to channel1, the replacement transmission channels corresponding to R10, R11, R12, R13, R14, R15, R16, R17, R18, and R19 are R10, R11, R13, R14, R15, R16, R17, R18, and R19 respectively.
[0174] S804: Determine whether the target object triggers a channel repair operation. If so, execute S805; otherwise, execute S807.
[0175] S805 , sending the IEEE1500 instruction to the HBM DARM.
[0176] S806: Whenever an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, the operation instruction is transmitted through a corresponding replacement transmission channel.
[0177] S807: Determine whether the target object sets the field value stored in the confirmation register to the target value within the set time period. If so, execute S805; otherwise, end.
[0178] Based on the same inventive concept, the embodiment of the present application provides a channel repair device. Figure 11 As shown, it is a schematic diagram of the structure of the channel repair device 1100. For example, the channel repair device 1100 can be an artificial intelligence chip and can include:
[0179] The channel determining unit 1101 is configured to determine at least one faulty transmission channel from among the transmission channels based on the channel status of the transmission channels;
[0180] a remapping configuration unit 1102, configured to determine a replacement transmission channel corresponding to each of the at least one failed transmission channels based on the configured at least one redundant channel and the corresponding channel type;
[0181] The instruction sending unit 1103 is configured to respond to the channel repair operation triggered by the target object and, whenever an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, transmit the operation instruction through a corresponding replacement transmission channel.
[0182] As a possible implementation manner, when determining, based on the configured at least one redundant channel and the corresponding channel type, the replacement transmission channel corresponding to each of the at least one failed transmission channels, the remapping configuration unit 1102 is specifically configured to:
[0183] Selecting a candidate channel matching the at least one faulty transmission channel from the at least one redundant channel based on the channel type corresponding to each of the at least one redundant channel;
[0184] Based on the selected candidate channels, a replacement transmission channel corresponding to each of the at least one failed transmission channels is determined.
[0185] As a possible implementation, when selecting, from the at least one redundant channel based on the channel type corresponding to each of the at least one redundant channel, a candidate channel that matches the at least one failed transmission channel, the remapping configuration unit 1102 is specifically configured to:
[0186] If the channel type of one of the at least one redundant channel is a row instruction transmission channel and a column instruction transmission channel, then determining that the one redundant channel matches the at least one faulty transmission channel; or
[0187] If a channel type of one of the at least one redundant channel is a row instruction transmission channel or a column instruction transmission channel, then when the channel type of the one redundant channel is the same as the channel type of one of the at least one faulty transmission channel, it is determined that the one redundant channel matches the one faulty transmission channel.
[0188] As a possible implementation, when determining the replacement transmission channel corresponding to each of the at least one failed transmission channels based on the selected candidate channels, the remapping configuration unit 1102 is specifically configured to:
[0189] When the number of the selected candidate channels is the same as the number of the at least one faulty transmission channel, based on the matching relationship between the candidate channels and the at least one faulty transmission channel, the candidate channels are used as replacement transmission channels corresponding to the at least one faulty transmission channel; or
[0190] When the number of the selected candidate channels is the same as the number of the at least one faulty transmission channel, a replacement transmission channel corresponding to each of the at least one faulty transmission channels is determined from the candidate channels and the other transmission channels among the transmission channels except the at least one faulty transmission channel.
[0191] As a possible implementation manner, when determining, from the candidate channels and the other transmission channels among the transmission channels except the at least one faulty transmission channel, the replacement transmission channel corresponding to each of the at least one faulty transmission channels, the remapping configuration unit 1102 is specifically configured to:
[0192] In response to a channel remapping configuration operation triggered by a target object, obtaining a remapping association relationship, wherein the remapping association relationship includes replacement transmission channels corresponding to each of the transmission channels, each replacement transmission channel being a transmission channel between each candidate channel and each of the other transmission channels; or
[0193] Based on the channel arrangement order among the transmission channels, the other transmission channels and the candidate channels are respectively used as replacement transmission channels corresponding to the transmission channels.
[0194] As a possible implementation, when determining the channel repair operation triggered by the target object, the instruction sending unit 1103 is specifically configured to:
[0195] Get the field value stored in the confirmation register;
[0196] If the field value indicates that a channel repair operation is to be performed, determining that the target object triggers a channel repair operation;
[0197] If the field value indicates that channel repair is not to be performed, when the target object is set to a target value for the field value within a set time period, it is determined that the target object triggers a channel repair operation.
[0198] As a possible implementation, in response to the channel repair operation triggered by the target object, each time an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, when the operation instruction is transmitted through the corresponding replacement transmission channel, the instruction sending unit 1103 is specifically configured to:
[0199] In response to a channel repair operation triggered by a target object, sending a target instruction carrying a channel identifier of the at least one faulty channel to a memory in the memory through a target interface;
[0200] Whenever an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, the operation instruction is transmitted to the memory through a corresponding replacement transmission channel.
[0201] For the convenience of description, the above parts are divided into modules (or units) according to their functions and described separately. Of course, when implementing this application, the functions of each module (or unit) can be implemented in the same or multiple software or hardware.
[0202] Regarding the apparatus in the above embodiment, the specific manner in which each unit executes the request has been described in detail in the embodiment of the method, and will not be elaborated on here.
[0203] In an embodiment of the present application, based on the channel status of each transmission channel, at least one faulty transmission channel is determined from each transmission channel; based on the configured at least one redundant channel and the corresponding channel type, a replacement transmission channel corresponding to each of the at least one faulty transmission channels is determined; in response to the channel repair operation triggered by the target object, each time an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, the corresponding replacement transmission channel is used to transmit the operation instruction.
[0204] In this way, when certain transmission channels in the memory fail, they can be repaired quickly to ensure the accuracy and efficiency of instruction transmission. By confirming the channel repair operation triggered by the target object, permanent damage to the memory caused by misoperation can be avoided, ensuring the correctness of the repair process.
[0205] Those skilled in the art will appreciate that various aspects of the present application can be implemented as systems, methods, or program products. Therefore, various aspects of the present application can be specifically implemented in the following forms: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or an implementation that combines hardware and software aspects, which may be collectively referred to herein as a "circuit," "module," or "system."
[0206] Based on the same inventive concept, an embodiment of the present application further provides an electronic device. In one embodiment, the electronic device may be a server or a terminal device. Figure 12 , which is a schematic structural diagram of a possible electronic device provided in an embodiment of the present application, Figure 12 In the embodiment, the electronic device 1200 includes: a processor 1210 and a memory 1220.
[0207] The memory 1220 stores a computer program that can be executed by the processor 1210 , and the processor 1210 can perform the steps of the above-mentioned channel repair method by executing the instructions stored in the memory 1220 .
[0208] Memory 1220 may be a volatile memory, such as random-access memory (RAM); a non-volatile memory, such as read-only memory (ROM), flash memory, a hard disk drive (HDD), or a solid-state drive (SSD); or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto. Memory 1220 may also be a combination of the above memories.
[0209] The processor 1210 may include one or more central processing units (CPUs) or digital processing units, etc. The processor 1210 is configured to implement the above-mentioned channel repair method when executing the computer program stored in the memory 1220 .
[0210] In some embodiments, the processor 1210 and the memory 1220 may be implemented on the same chip. In some embodiments, they may also be implemented on separate chips.
[0211] In the embodiment of the present application, the specific connection medium between the processor 1210 and the memory 1220 is not limited. In the embodiment of the present application, the processor 1210 and the memory 1220 are connected via a bus as an example. Figure 12 The connections between the other components are shown in bold lines for illustration only and are not intended to be limiting. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of description, Figure 12 The diagram shows a single thick line, but this does not indicate that there is only one bus or one type of bus.
[0212] Based on the same inventive concept, an embodiment of the present application provides a computer-readable storage medium, which includes a computer program. When the computer program runs on an electronic device, the computer program is used to enable the electronic device to execute the steps of the above-mentioned channel repair method.
[0213] In some possible implementations, various aspects of the channel repair method provided in the present application may also be implemented in the form of a program product, which includes a computer program. When the program product is run on an electronic device, the computer program is used to enable the electronic device to perform the steps in the above-mentioned channel repair method. For example, the electronic device may perform the following steps: Figure 2 Follow the steps shown in .
[0214] The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection having one or more wires, a portable disk, a hard disk, RAM, ROM, an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0215] The program product of the embodiments of the present application may be a CD-ROM and include a computer program, and may be run on an electronic device. However, the program product of the present application is not limited thereto. In this document, a readable storage medium may be any tangible medium that contains or stores a computer program that can be used by or in conjunction with a command execution system, apparatus, or device.
[0216] A readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries a readable computer program. Such a propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a computer program for use by or in conjunction with a command execution system, apparatus, or device.
[0217] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the present application.
[0218] Obviously, those skilled in the art may make various changes and modifications to this application without departing from the spirit and scope of this application. Thus, if these modifications and variations of this application fall within the scope of the claims of this application and their equivalents, this application is intended to include these modifications and variations.
Claims
1. A channel repair method, characterized in that: Applied to memory, the method includes: Based on the channel status of each transmission channel, determining at least one faulty transmission channel from the transmission channels; Determining a replacement transmission channel corresponding to each of the at least one failed transmission channel based on at least one configured redundant channel and a corresponding channel type; the channel types include a row instruction transmission channel, a column instruction transmission channel, a row instruction transmission channel, and a column instruction transmission channel; In response to the channel repair operation triggered by the target object, whenever an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, the corresponding replacement transmission channel is used to transmit the operation instruction; The channel repair operation triggered by the target object is determined according to the following method: Get the field value stored in the confirmation register and the configuration value of the count register; Determining a set duration of the value indication of the counting register according to the configuration value of the counting register and the system clock; If the field value indicates that a channel repair operation is to be performed, determining that the target object triggers a channel repair operation; If the field value indicates that channel repair is not to be performed, when the target object is set to a target value for the field value within the set time period, it is determined that the target object triggers a channel repair operation.
2. The method according to claim 1, wherein The determining, based on the configured at least one redundant channel and the corresponding channel type, a replacement transmission channel corresponding to each of the at least one failed transmission channels includes: Selecting a candidate channel matching the at least one faulty transmission channel from the at least one redundant channel based on the channel type corresponding to each of the at least one redundant channel; Based on the selected candidate channels, a replacement transmission channel corresponding to each of the at least one failed transmission channels is determined.
3. The method according to claim 2, wherein The selecting, from the at least one redundant channel based on the channel type corresponding to each of the at least one redundant channel, a candidate channel that matches the at least one failed transmission channel, includes: If the channel type of one of the at least one redundant channel is a row instruction transmission channel and a column instruction transmission channel, then determining that the one redundant channel matches the at least one faulty transmission channel; or If a channel type of one of the at least one redundant channel is a row instruction transmission channel or a column instruction transmission channel, then when the channel type of the one redundant channel is the same as the channel type of one of the at least one faulty transmission channel, it is determined that the one redundant channel matches the one faulty transmission channel.
4. The method according to claim 2, wherein The determining, based on the selected candidate channels, a replacement transmission channel corresponding to each of the at least one failed transmission channels includes: When the number of the selected candidate channels is the same as the number of the at least one faulty transmission channel, based on the matching relationship between the candidate channels and the at least one faulty transmission channel, the candidate channels are used as replacement transmission channels corresponding to the at least one faulty transmission channel; or When the number of the selected candidate channels is the same as the number of the at least one faulty transmission channel, a replacement transmission channel corresponding to each of the at least one faulty transmission channels is determined from the candidate channels and the other transmission channels among the transmission channels except the at least one faulty transmission channel.
5. The method according to claim 4, wherein The determining, from the candidate channels and the other transmission channels among the transmission channels except the at least one faulty transmission channel, a replacement transmission channel corresponding to each of the at least one faulty transmission channels includes: In response to a channel remapping configuration operation triggered by a target object, obtaining a remapping association relationship, wherein the remapping association relationship includes replacement transmission channels corresponding to each of the transmission channels, each replacement transmission channel being a transmission channel between each candidate channel and each of the other transmission channels; or Based on the channel arrangement order among the transmission channels, the other transmission channels and the candidate channels are respectively used as replacement transmission channels corresponding to the transmission channels.
6. The method according to any one of claims 1 to 4, wherein The channel repair operation triggered by the target object, each time an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, uses a corresponding replacement transmission channel to transmit the operation instruction, including: In response to a channel repair operation triggered by a target object, sending a target instruction carrying a channel identifier of the at least one faulty channel to a memory in the memory through a target interface; Whenever an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, the operation instruction is transmitted to the memory through a corresponding replacement transmission channel.
7. A channel repair device, characterized in that: include: a channel determining unit, configured to determine at least one faulty transmission channel from among the transmission channels based on the channel status of the transmission channels; a remapping configuration unit, configured to determine a replacement transmission channel corresponding to each of the at least one failed transmission channels based on at least one configured redundant channel and a corresponding channel type; the channel types including a row instruction transmission channel, a column instruction transmission channel, or a row instruction transmission channel and a column instruction transmission channel; An instruction sending unit is used to respond to a channel repair operation triggered by a target object, and each time an operation instruction that needs to be transmitted through a faulty transmission channel is obtained, the corresponding replacement transmission channel is used to transmit the operation instruction; wherein, the channel repair operation triggered by the target object is determined by the instruction sending unit according to the following method: obtaining the field value stored in the confirmation register and the configuration value of the counting register; determining the set time length indicated by the value of the counting register according to the configuration value of the counting register and the system clock; if the field value indicates that channel repair is to be performed, determining that the target object triggers the channel repair operation; if the field value indicates that channel repair is not to be performed, then when the target object sets the field value to the target value within the set time length, determining that the target object triggers the channel repair operation.
8. The device according to claim 7, wherein When determining the replacement transmission channel corresponding to each of the at least one failed transmission channels based on the configured at least one redundant channel and the corresponding channel type, the remapping configuration unit is specifically configured to: Selecting a candidate channel matching the at least one faulty transmission channel from the at least one redundant channel based on the channel type corresponding to each of the at least one redundant channel; Based on the selected candidate channels, a replacement transmission channel corresponding to each of the at least one failed transmission channels is determined.
9. The device according to claim 8, wherein When selecting a candidate channel matching the at least one failed transmission channel from the at least one redundant channel based on the channel type corresponding to each of the at least one redundant channel, the remapping configuration unit is specifically configured to: If the channel type of one of the at least one redundant channel is a row instruction transmission channel and a column instruction transmission channel, determining that both the one redundant channel and the at least one faulty transmission channel match; or, If a channel type of one of the at least one redundant channel is a row instruction transmission channel or a column instruction transmission channel, then when the channel type of the one redundant channel is the same as the channel type of one of the at least one faulty transmission channel, it is determined that the one redundant channel matches the one faulty transmission channel.
10. The device according to claim 8, wherein When determining the replacement transmission channel corresponding to each of the at least one failed transmission channel based on the selected candidate channels, the remapping configuration unit is specifically configured to: When the number of the selected candidate channels is the same as the number of the at least one faulty transmission channel, based on a matching relationship between the candidate channels and the at least one faulty transmission channel, use the candidate channels as replacement transmission channels corresponding to the at least one faulty transmission channel; or, When the number of the selected candidate channels is the same as the number of the at least one faulty transmission channel, a replacement transmission channel corresponding to each of the at least one faulty transmission channels is determined from the candidate channels and the other transmission channels among the transmission channels except the at least one faulty transmission channel.
11. The device according to claim 10, wherein When determining, from the candidate channels and the other transmission channels among the transmission channels except the at least one faulty transmission channel, the replacement transmission channel corresponding to each of the at least one faulty transmission channels, the remapping configuration unit is specifically configured to: In response to a channel remapping configuration operation triggered by a target object, obtaining a remapping association relationship, wherein the remapping association relationship includes replacement transmission channels corresponding to each of the transmission channels, each replacement transmission channel being a transmission channel between each candidate channel and each of the other transmission channels; or Based on the channel arrangement order among the transmission channels, the other transmission channels and the candidate channels are respectively used as replacement transmission channels corresponding to the transmission channels.
12. An electronic device, characterized in that: The method comprises a processor and a memory, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor is enabled to perform the steps of any one of the methods of claims 1 to 6.
13. A computer-readable storage medium, characterized in that The method comprises a computer program. When the computer program is run on an electronic device, the computer program is used to enable the electronic device to execute the steps of any one of the methods of claims 1 to 6.
14. A computer program product, characterized in that The method comprises a computer program stored in a computer-readable storage medium. A processor of an electronic device reads and executes the computer program from the computer-readable storage medium, so that the electronic device executes the steps of any one of the methods of claims 1 to 6.
Citation Information
Patent Citations
Shared error detection and correction memory
US20180025789A1