WO2021134628A1 - 一种存储器的失效修复方法及装置 - Google Patents

一种存储器的失效修复方法及装置 Download PDF

Info

Publication number
WO2021134628A1
WO2021134628A1 PCT/CN2019/130840 CN2019130840W WO2021134628A1 WO 2021134628 A1 WO2021134628 A1 WO 2021134628A1 CN 2019130840 W CN2019130840 W CN 2019130840W WO 2021134628 A1 WO2021134628 A1 WO 2021134628A1
Authority
WO
WIPO (PCT)
Prior art keywords
repair
address
information table
failure
read
Prior art date
Application number
PCT/CN2019/130840
Other languages
English (en)
French (fr)
Inventor
沈国明
王正波
刘荣斌
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201980103189.8A priority Critical patent/CN114830241A/zh
Priority to PCT/CN2019/130840 priority patent/WO2021134628A1/zh
Publication of WO2021134628A1 publication Critical patent/WO2021134628A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair

Definitions

  • the embodiments of the present application relate to the field of chip technology, and in particular, to a method and device for repairing a failure of a memory.
  • Dynamic random access memory is a common random access memory, which has a wide range of applications in the storage field. As the scale of DRAM chips becomes larger and larger, and the operating frequency becomes higher and higher, there are varying degrees of local failure probability for the chips no matter in the chip production process or in the working state of the chip.
  • An existing method for repairing the failed unit of a DRAM chip is to equip each Bank in the DRAM chip with redundant storage resources.
  • the redundant storage resources are usually equipped with 16 redundant rows per 2K rows, and the minimum granularity of redundant replacement is Row.
  • the redundant row storage resources of this method are uniformly deployed in each Bank at the ratio of 16 redundant rows per 2K rows, the repair ability for non-uniformly distributed failure scenarios is limited. For example, when a group of 2K rows sharing 16 redundant row resources has data unit failures in 17 rows, even if the other banks of the chip have no failed units at all, the chip cannot be completely repaired. Therefore, the repair capability of this method is limited, and the utilization rate of redundant storage resources is low.
  • the embodiments of the present application provide a memory failure repair method and device, which can improve the utilization rate of repair resources and improve the yield rate of the memory.
  • the first aspect of the embodiments of the present application provides a method for repairing a memory failure, which is applied to a device.
  • the device includes a logic die, and the logic die includes repairing storage resources.
  • the above method includes: obtaining an access request, The access request includes the read and write instructions and the destination address of the data unit requested to access; based on the destination address, the invalidation repair information table is queried, and if the destination address has an entry in the invalidation repair information table, it will be sent to the hit entry
  • the corresponding repair storage resource executes the read and write instructions in the aforementioned access request, and the aforementioned failure repair information table is used to indicate the failed address in the memory and the repair storage resource corresponding to the failed address.
  • repair storage resources are centrally deployed in the logic die, it is possible to execute the read and write instructions in the access request through the repair storage resources when it is determined that the access destination address is invalid. Therefore, when the failed data units in the memory are evenly or non-uniformly distributed, the centrally deployed repair storage resources can be used to execute the read and write instructions in the access request, thereby improving the utilization rate of the repair storage resources.
  • the above-mentioned repair storage resource may be a redundant storage resource in a memory
  • the above-mentioned failure repair information table may be implemented by one table or two tables, which is not limited in this solution.
  • the execution of the read and write instructions in the access request to the repair storage resource corresponding to the hit entry includes: The repair module sends a first repair instruction, the first repair instruction includes the above-mentioned destination address and the above-mentioned write instruction; receives the write data from the above-mentioned read-write data repair module and the above-mentioned destination address; The above write data is stored in. Based on this solution, the write data can be stored in the repair storage resource corresponding to the hit entry.
  • the read and write instructions when the read and write instructions are read instructions, the read and write instructions in the access request are executed to the repair storage resource corresponding to the hit entry. , Including: reading the read data stored in the repair storage resource corresponding to the above hit entry; sending a second repair instruction to the read-write data repair module, the second repair instruction including the above destination address, the above read data, and the above Read instructions. Based on this solution, it is possible to read the read data stored in the repair storage resource corresponding to the hit entry, and send the read data to the read-write data repair module, so that the read-write data repair module sends the read data to the external data Bus, complete the process of reading request.
  • the foregoing failure repair information table includes a first failure information table and a first repair data table, and the entries in the first failure information table are used To indicate the failed first address in the memory, the entry in the first repair data table is used to indicate the repair storage resource corresponding to the above-mentioned failed first address.
  • the failure information table can be implemented by two tables, where the first failure information table stores the failed first address, and the first repair data table stores the repair storage resource corresponding to the failed first address.
  • the above-mentioned first invalidation information table is stored in the content addressable memory CAM, and the above-mentioned first repair data table is stored in a static random memory. Take the memory SRAM. Based on this solution, the first failure information table and the first repair data table can be stored in different memories. It is understandable that when the first invalidation information table is stored in the CAM, since the CAM is a content-addressable memory, the destination address can be directly searched in the CAM to determine whether the destination address has an entry hit in the CAM.
  • the entry in the CAM is used to store the invalid first address, and the location of the entry in the CAM is the same as that of the repair storage resource. Address information correspondence. Based on this solution, the position of the table entry in the CAM corresponds to the address information of the repaired storage resource in the first repaired data table.
  • the foregoing first failure information table and the foregoing first repair data table are stored in SRAM. Based on this solution, the first failure information table and the first repair data table can be stored in different SRAMs.
  • the foregoing querying the failure repair information table based on the foregoing destination address includes: using a preset algorithm to convert the destination address into a reference address, and the reference The address length of the address corresponds to the size of the first failure information table; based on the reference address, the first failure information table is queried; correspondingly, the destination address has an entry hit in the failure repair information table, including: The destination address has an entry hit in the above-mentioned first invalidation information table.
  • the destination address is converted into a reference address whose address length corresponds to the depth of the SRAM by address conversion of the destination address, and then the first failure information table is queried based on the reference address. Invalidation information table.
  • the foregoing preset algorithm is a hash algorithm, a double-hash algorithm, or a multi-hash bucket algorithm.
  • the destination address can be converted into a reference address through a hash algorithm, a double hash algorithm, or a multiple hash bucket algorithm. It is understandable that different invalid addresses may be converted to the same reference address by using a hash algorithm, that is, different invalid addresses may have hash conflicts during address conversion.
  • a double-hash algorithm or a multi-hash bucket algorithm can be used for address conversion.
  • the foregoing failure repair information table further includes a second failure information table and a second repair data table, and entries in the second failure information table It is used to indicate a failed second address in the memory, and an entry in the second repair data table is used to indicate a repair storage resource corresponding to the above-mentioned failed second address.
  • the failure repair information table may further include a second failure information table storing the failed second address, and a second repair data table storing the repair storage resource corresponding to the failed second address. It is understandable that the invalidated second address in the second invalidation information table is different from the invalidated first address in the first invalidation information table, and the invalidated second address may be the same as the invalidated first address that occurs during address conversion. The address of the hash conflict.
  • the foregoing second failure information table and the foregoing second repair data table are stored in a register. Based on this solution, the second failure information table and the second repair data table are stored in the register.
  • the foregoing querying the invalidation repair information table based on the foregoing destination address further includes: if the foregoing destination address is missed in the foregoing first invalidation information table Query the second failure information table based on the destination address; correspondingly, the destination address has an entry hit in the failure repair information table, including: the destination address has an entry hit in the second failure information table.
  • the second failure information table can be further based on the destination address to query the second failure information table to determine whether the destination address has an entry in the second failure information table Hit, so that when the address translation conflicts, it is possible to more accurately determine whether the destination address is invalid.
  • the repair granularity of the foregoing repair storage resource is less than or equal to twice the bit width DQ Width of the data bus, or N bytes , N is greater than or equal to 1. Based on this solution, the repair granularity of repair storage resources can be finer, so as to be suitable for different scenarios where failure units are discrete or non-discrete between rows. The refinement of repair granularity can further improve the utilization of repair storage resources.
  • an integrated circuit in a second aspect of the embodiments of the present application, includes a logic die.
  • the logic die includes a memory interface, a memory controller, and repair storage resources.
  • the memory controller is used to manage a failure repair information table.
  • the failure repair information table is used to indicate the failed address in the memory and the repair storage resource corresponding to the failed address; obtain an access request, the access request includes a read and write command and the destination address of the data unit requesting access; based on the above purpose Address, query the failure repair information table, if the destination address has a hit entry in the failure repair information table, execute the read and write command to the repair storage resource corresponding to the hit entry.
  • the memory controller is specifically configured to: send a first repair instruction to the read and write data repair module, where the first repair instruction includes The above-mentioned destination address and the above-mentioned writing instruction; receiving the writing data and the above-mentioned destination address from the above-mentioned reading and writing data repairing module; storing the above-mentioned writing data in the repairing storage resource corresponding to the above-mentioned hit entry.
  • the above-mentioned memory controller is specifically further used for: reading the entry corresponding to the above-mentioned hit Repair the read data stored in the storage resource; send a second repair instruction to the read-write data repair module, the second repair instruction includes the destination address, the read data, and the read instruction.
  • the foregoing failure repair information table includes a first failure information table and a first repair data table, and the entries in the first failure information table are used To indicate the failed first address in the memory, the entry in the first repair data table is used to indicate the repair storage resource corresponding to the above-mentioned failed first address.
  • the above-mentioned first invalidation information table is stored in the content addressable memory CAM, and the above-mentioned first repair data table is stored in a static random memory. Take the memory SRAM.
  • the entry in the CAM is used to store the invalid first address, and the location of the entry in the CAM is the same as that of the repair storage resource. Address information correspondence.
  • the foregoing first failure information table and the foregoing first repair data table are stored in SRAM.
  • the above-mentioned memory controller is specifically further used for: converting the above-mentioned destination address into a reference address using a preset algorithm, and the address length of the reference address Corresponding to the size of the first failure information table; based on the reference address, query the first failure information table; correspondingly, the destination address has an entry hit in the failure repair information table, including: the destination address is in the above There is an entry hit in the first failure information table.
  • the foregoing preset algorithm is a hash algorithm, a double-hash algorithm, or a multiple-hash bucket algorithm.
  • the foregoing failure repair information table further includes a second failure information table and a second repair data table, and the entries in the second failure information table It is used to indicate a failed second address in the memory, and an entry in the second repair data table is used to indicate a repair storage resource corresponding to the above-mentioned failed second address.
  • the foregoing second failure information table and the foregoing second repair data table are stored in a register.
  • the above-mentioned memory controller is specifically further configured to: if the above-mentioned destination address is missed in the above-mentioned first failure information table, based on the above-mentioned destination address , Query the above-mentioned second invalidation information table; correspondingly, the above-mentioned destination address has an entry hit in the above-mentioned invalidation repair information table, including: the above-mentioned destination address has an entry hit in the above-mentioned second invalidation information table.
  • the repair granularity of the foregoing repair storage resource is less than or equal to twice the bit width DQ Width of the data bus, or N bytes , N is greater than or equal to 1.
  • a memory failure repair device which is applied to a chip, the chip includes a logic die, the logic die includes repair storage resources, and the above-mentioned device includes: an acquisition unit, In order to obtain an access request, the access request includes the read and write instructions and the destination address of the data unit that is requested to access; the processing unit is used to query the failure repair information table based on the destination address, if the destination address is in the above failure repair information table If the entry is hit, the read and write instructions in the access request are executed to the repair storage resource corresponding to the hit entry, and the failure repair information table is used to indicate the failed address in the memory and the repair storage resource corresponding to the failed address.
  • the above-mentioned device when the above-mentioned read and write instruction is a write instruction, the above-mentioned device further includes a communication unit, and the communication unit is configured to send a first repair instruction to the read-write data repair module.
  • a repair instruction includes the above-mentioned destination address and the above-mentioned write instruction; receives the write data and the above-mentioned destination address from the above-mentioned read-write data repair module; the above-mentioned processing unit is specifically configured to store the above-mentioned repair storage resource corresponding to the above-mentioned hit entry Write data.
  • the above-mentioned device when the above-mentioned read and write instruction is a read instruction, the above-mentioned device further includes a communication unit, and the above-mentioned processing unit is also used to read the data that is hit by the above-mentioned Repair the read data stored in the storage resource corresponding to the entry; the communication unit is configured to send a second repair instruction to the read-write data repair module, and the second repair instruction includes the destination address, the read data, and the read instruction.
  • the foregoing failure repair information table includes a first failure information table and a first repair data table, and the entries in the first failure information table are used To indicate the failed first address in the memory, the entry in the first repair data table is used to indicate the repair storage resource corresponding to the above-mentioned failed first address.
  • the above-mentioned first invalidation information table is stored in the content addressable memory CAM, and the above-mentioned first repair data table is stored in a static random memory. Take the memory SRAM.
  • the entry in the CAM is used to store the invalid first address, and the location of the entry in the CAM is the same as that of the repair storage resource. Address information correspondence.
  • the foregoing first failure information table and the foregoing first repair data table are stored in SRAM.
  • the foregoing processing unit is specifically configured to: use a preset algorithm to convert the foregoing destination address into a reference address, and the address length of the reference address is the same as the foregoing The size of the first invalidation information table corresponds; based on the reference address, the above-mentioned first invalidation information table is queried.
  • the foregoing preset algorithm is a hash algorithm, a double-hash algorithm, or a multi-hash bucket algorithm.
  • the foregoing failure repair information table further includes a second failure information table and a second repair data table, and entries in the second failure information table It is used to indicate a failed second address in the memory, and an entry in the second repair data table is used to indicate a repair storage resource corresponding to the above-mentioned failed second address.
  • the foregoing second failure information table and the foregoing second repair data table are stored in a register.
  • the foregoing processing unit is further configured to: if the foregoing destination address is missed in the foregoing first invalidation information table, query based on the foregoing destination address The above-mentioned second invalidation information table.
  • the repair granularity of the foregoing repair storage resource is less than or equal to twice the bit width DQ Width of the data bus, or N bytes , N is greater than or equal to 1.
  • a device for repairing a failure of a memory includes a logic die, which includes a failure repair control module and a repair storage resource; the aforementioned failure repair control module is used for: Obtain an access request, the access request includes the read and write instructions and the destination address of the data unit requested to access; based on the destination address, query the invalidation repair information table, if the destination address has an entry in the above invalidation repair information table, then The repair storage resource corresponding to the hit entry executes the read and write instructions in the above access request, and the above failure repair information table is used to indicate the failed address in the memory and the repair storage resource corresponding to the above failed address.
  • the above-mentioned logic die further includes a read-write data repair module, and when the read-write command is a write command, the above-mentioned failure repair control module is specifically used to send the read-write data repair module to the above-mentioned read-write data repair module.
  • the first repair instruction includes the above-mentioned destination address and the above-mentioned write instruction;
  • the above-mentioned read-write data repair module is configured to receive the first repair instruction, and send the write data and the above-mentioned destination address to the above-mentioned failure repair control module
  • the failure repair control module is also specifically configured to receive the above-mentioned write data and the above-mentioned destination address from the above-mentioned read-write data repair module, and store the above-mentioned write data in the repair storage resource corresponding to the above-mentioned hit entry.
  • the above-mentioned logic die further includes a read and write data repair module, and when the above-mentioned read and write instructions are read instructions, the above-mentioned failure repair control module is specifically used When reading the read data stored in the repair storage resource corresponding to the hit entry, a second repair instruction is sent to the read and write data repair module, and the second repair instruction includes the destination address, the read data, and the read Instruction; the above-mentioned read-write data repair module for receiving the above-mentioned second repair instruction from the above-mentioned failure repair control module.
  • the foregoing failure repair information table includes a first failure information table and a first repair data table, and the entries in the first failure information table are used To indicate the failed first address in the memory, the entry in the first repair data table is used to indicate the repair storage resource corresponding to the above-mentioned failed first address.
  • the above-mentioned first invalidation information table is stored in the content addressable memory CAM, and the above-mentioned first repair data table is stored in a static random memory. Take the memory SRAM.
  • the entry in the CAM is used to store the invalid first address, and the location of the entry in the CAM is the same as that of the repair storage resource. Address information correspondence.
  • the foregoing first failure information table and the foregoing first repair data table are stored in SRAM.
  • the foregoing failure repair control module is specifically used to: convert the foregoing destination address into a reference address using a preset algorithm, and the address length of the reference address Corresponding to the size of the first failure information table; based on the reference address, query the first failure information table.
  • the foregoing preset algorithm is a hash algorithm, a double hash algorithm, or a multiple hash bucket algorithm.
  • the foregoing failure repair information table further includes a second failure information table and a second repair data table, and entries in the second failure information table It is used to indicate a failed second address in the memory, and an entry in the second repair data table is used to indicate a repair storage resource corresponding to the above-mentioned failed second address.
  • the foregoing second failure information table and the foregoing second repair data table are stored in a register.
  • the foregoing failure repair control module is specifically used to: if the foregoing destination address is missed in the foregoing first failure information table, based on the foregoing objective Address, query the above-mentioned second invalidation information table.
  • the repair granularity of the foregoing repair storage resource is less than or equal to twice the bit width DQ Width of the data bus, or N bytes , N is greater than or equal to 1.
  • the above-mentioned logic die further includes a self-checking module, a controller, and an address registering module.
  • the failure repair control module is connected; the above-mentioned self-check module is used to send a self-check request to the above-mentioned controller; the above-mentioned controller is used to receive the above-mentioned self-check request; the above-mentioned self-check module is also used to send a pending request to the above-mentioned address registration module Detected address; the above-mentioned self-checking module is also used to determine that the above-mentioned address to be checked is an invalid address based on a preset self-checking algorithm.
  • the above-mentioned self-checking module is also used to send the above-mentioned invalid address to the above-mentioned failure repair control module; the above-mentioned failure repair control module is also used to Receive the invalid address from the above-mentioned self-check module, and store the above-mentioned invalid address in the above-mentioned invalidation repair information table.
  • the fifth aspect of the embodiments of the present application provides a device that exists in the form of a chip product.
  • the structure of the device includes a processor, and the processor is configured to execute the above-mentioned memory failure repair method.
  • FIG. 1 is a schematic structural diagram of a memory failure repair solution provided by an embodiment of the application
  • FIG. 2 is a schematic structural diagram of another memory failure repair solution provided by an embodiment of the application.
  • FIG. 3 is a schematic flowchart of a method for repairing a failure of a memory provided by an embodiment of the application
  • FIG. 4 is a schematic flowchart of another memory failure repair method provided by an embodiment of the application.
  • FIG. 5 is an application schematic diagram 1 of a method for repairing a failure of a memory provided by an embodiment of the application;
  • FIG. 6 is a second schematic diagram of application of a method for repairing a failure of a memory provided by an embodiment of the application;
  • FIG. 7 is a schematic flowchart of another method for repairing a failure of a memory according to an embodiment of the application.
  • FIG. 8 is a schematic flowchart of another method for repairing a failure of a memory according to an embodiment of the application.
  • FIG. 9 is a schematic flowchart of another method for repairing a failure of a memory according to an embodiment of the application.
  • FIG. 10 is a schematic diagram of the composition of a failure repair control device provided by an embodiment of the application.
  • FIG. 11 is a schematic diagram of an integrated circuit provided by an embodiment of the application.
  • At least one of a, b, or c can mean: a, b, c, a and b, a and c, b and c or a and b and c, where a, b and c can be It can be single or multiple.
  • the chip has different degrees of local failure probability.
  • a method for repairing the failed units of the DRAM chip is shown in Figure 1.
  • the bank for example, B0 to Bn in Figure 1
  • SubBank is uniformly distributed for failure in the DRAM chip.
  • Repaired redundant storage resources The redundant storage resources are usually equipped with 16 redundant rows per 2K row. Since only simple control logic can be implemented in the DRAM die, the redundant repair of the DRAM die is the smallest The granularity is rows.
  • the self-check module can initiate a self-check operation according to a configurable algorithm.
  • the failed data unit is found through the Error Checking and Correction (ECC) mechanism, and the information record of the failed data unit is reported to the test software.
  • ECC Error Checking and Correction
  • the test software delivers the determined failure repair strategy to the redundancy control register or fuse control circuit of each Bank of the DRAM.
  • the entire row of memory cells corresponding to a failed data unit needs to be replaced by redundant rows as a whole.
  • DRAM can read and write the storage space of the redundant row, and the replacement operation of the redundant row is not perceived by the outside of the chip. .
  • the redundant row storage resources of this method are uniformly deployed in each Bank at the ratio of 16 redundant rows per 2K rows, the repair ability for non-uniformly distributed failure scenarios is limited. For example, when a data unit failure occurs in 17 rows in a group of 2K rows that share 16 redundant row resources, even if the other banks of the chip have no failed units at all, the chip cannot be completely repaired. Therefore, the repair capability of this method is limited, and the utilization rate of redundant storage resources is low. Moreover, since the repair granularity of this method is row (8Kbit), even if only 1 bit in a row fails, the entire row needs to be replaced with a redundant row. For scenarios where the failed units are discretely distributed among the rows, the repair capability is limited. For example, when a group of 2K rows sharing 16 redundant row resources has 17 single-bit data failures, and the 17 failed bits belong to 17 different rows, then the chip cannot be completely repaired.
  • an embodiment of the present application provides a memory failure repair method.
  • the memory failure repair method may be applied to a chip that includes a logic die (Logic die), the logic die includes repair storage resources, and the repair storage resources are redundant storage resources in the memory.
  • Logic die logic die
  • the repair storage resources are redundant storage resources in the memory.
  • the device includes multiple DRAM die and a logic die
  • DRAM die is a memory chip used to execute read and write instructions
  • Logic die is a processor chip used to implement More complicated control logic.
  • the logic die includes repair storage resources, the repair storage resources are redundant storage resources in the memory, and the repair storage resources are centrally deployed in the logic die. That is, when the data unit requested to access fails, the Bank, SubBank, or Channel where the failed data unit is located is not distinguished, and the read and write instructions in the access request can be executed through the repair storage resources centrally deployed in the logic die. Therefore, when the failed data units in the memory are evenly or non-uniformly distributed, the utilization rate of repairing storage resources can be improved.
  • Logic die may include hardware modules such as a failure repair control module, a read-write data repair module, a self-check module, a controller, and an address register module.
  • hardware modules such as a failure repair control module, a read-write data repair module, a self-check module, a controller, and an address register module.
  • the failure repair control module is used to obtain the access request, determine whether the destination address of the requested data unit is an invalid address, and when the destination address is determined to be an invalid address, execute an access request to the repair storage resource corresponding to the destination address Read and write instructions in.
  • Repair storage resources can be centrally deployed in the failure repair control module.
  • the failure repair control module may store a failure repair information table, and the entries in the failure repair information table are used to indicate the failed addresses in the memory and the repair storage resources corresponding to the failed addresses.
  • the failure repair information table may be implemented with one table or two tables, which is not limited in the embodiment of the present application.
  • the failure repair information table includes a failure information table and a repair data table.
  • the entry in the failure information table is used to indicate the failed address in the memory, and the entry in the repair data table is used to indicate the repair storage resource corresponding to the failed address.
  • the invalid address in the invalid information table can come from the self-checking module.
  • the aforementioned failure repair control module may be a memory controller.
  • Read and write data repair module used to read DRAM die data or write write data into DRAM.
  • the read-write data repair module is also used to receive the repair instruction sent by the failed repair control module, and send the read data to the external data bus based on the repair instruction, or write the data based on the repair instruction The data is sent to the failure repair control module, so that the failure repair control module writes the write data into the repair data table.
  • the self-checking module is used to detect invalid addresses in the memory.
  • the self-check module detects whether the data unit to be detected is invalid, it can send a self-check request to the controller, and send the address of the data unit to be detected (also called the self-check address) to the address registration module, and based on the ECC check
  • the error mechanism determines whether the data unit to be detected is invalid.
  • the memory carries an ECC check bit when writing data, and checks whether there is an ECC check error when reading data back.
  • the ECC verification can be completed in the read-write data repair module, and the self-check module only needs to collect ECC error detection information.
  • the ECC error detection information may include an error address and error data.
  • the self-inspection module determines that the data unit to be detected is invalid, it can send the invalid address to the failure repair control module.
  • the self-inspection module can perform self-inspection at regular intervals, or perform self-inspection when the memory is relatively idle, so as to update the addresses of failed data units in the memory.
  • the controller is used to process external read and write operations to the memory. In addition to handling external read and write operations, the controller can also process self-check requests sent by the self-check module.
  • the address register module is used to obtain the destination address of the data unit requested to be accessed and the self-check address sent by the self-check module.
  • the failure repair control module can also grab the address of the data unit requested to be accessed by the read and write operation from the address registration module.
  • the repair storage resources are centrally deployed in the logic die. Therefore, in a scenario where the failure units of the memory are not uniformly distributed, the non-uniform distribution of failure units can all pass through the centralized The deployed repair storage resources execute corresponding read and write instructions, thereby improving the utilization of repair storage resources and improving the yield of chips.
  • the repair storage resource in the embodiment of the present application is deployed in the failure repair control module in the logic die, and the failure repair control module can implement more complex control logic.
  • the repair granularity of repairing storage resources in the embodiments of the present application may be relatively fine.
  • the size of the repair granularity of repairing storage resources may be less than or equal to twice the bit width DQ Width of the data bus, or N bytes, and N is greater than or equal to 1.
  • the size of the DQ Width is determined by the design architecture of the DRAM.
  • the size of the DQ Width may be 64 bits, 128 bits, or other sizes, which is not limited in the embodiment of the present application. In the following embodiments, only the DQ Width of 128 bits is taken as an example for description.
  • the size of the smallest data unit requested by an access request may be twice the size of DQ Width, for example, 256 bits.
  • the repair granularity of repairing storage resources can be 2 times the DQ Width (256bit), or it can also be 8bit (1Byte).
  • the embodiment of the present application does not limit the size of the repair granularity of repairing storage resources. It is an illustrative description. It should be noted that the repair granularity in the embodiment of the present application may be finer than the redundant repair granularity.
  • repair granularity of the embodiment of this application is finer than the redundant repair granularity, it is suitable for different scenarios where the failure unit is discrete or non-discrete between rows.
  • the refinement of the repair granularity can make the utilization of repair storage resources Further improved.
  • a memory failure repair method provided by an embodiment of this application can be applied to the aforementioned logic die.
  • the method may include the steps S301-S303.
  • step S301 may be performed by the failure repair control module shown in FIG. 2, and the failure repair control module may be a memory controller.
  • the access request may include a read and write instruction and the destination address of the data unit requested to be accessed.
  • the destination address can be 26 bits.
  • the destination address can be composed of a 6-bit Bank address (Bank Address), a 14-bit row address (Row Address), and a 6-bit column address (Column Address).
  • the embodiment of the present application does not limit the address length of the destination address of the data unit requested to be accessed.
  • the address length is only 26 bits for illustration.
  • the read and write instructions in the aforementioned access request may be read instructions or write instructions, which is not limited in the embodiment of the present application.
  • the above-mentioned failure repair control module acquiring an access request may include: the failure repair control module acquiring an access request for each access to the memory. Each memory access request is visible to the failure repair control module.
  • S302 Query the failure repair information table based on the destination address, and determine that the destination address has an entry in the failure repair information table.
  • step S302 may be executed by the failure repair control module shown in FIG. 2, and the failure repair control module may be a memory controller.
  • the entry in the failure repair information table is used to indicate the failed address in the memory and the repair storage resource corresponding to the failed address.
  • the invalid address stored in the failure repair information table may be detected by the self-checking module.
  • the content indicated by the above invalidation repair information table can be realized by one table, or can be realized by two tables.
  • the failure recovery information table when the failure recovery information table is implemented by a table, the failure recovery information table may be stored in a static random access memory (SRAM).
  • SRAM static random access memory
  • the entry of the failure repair information table in the SRAM is used to indicate the failed address in the memory and the repair storage resource corresponding to the failed address.
  • the failure repair information table may include a first failure information table and a first repair data table, and the entries in the first failure information table are used to indicate the failure information in the memory.
  • the first address an entry in the first repair data table is used to indicate the repair storage resource corresponding to the failed first address.
  • the embodiment of the present application does not limit whether the failure repair information table is implemented by one table or by two tables.
  • the following embodiments only take the implementation of the failure repair information table with two tables as an example for description.
  • the first failure information table is stored in the first SRAM
  • the first repair data table is stored in the second SRAM.
  • the depth of the first SRAM and the second SRAM are the same, that is, the position of the failed first address in the first failure information table is the same as that of the repair storage resource corresponding to the failed first address in the first repair data table. The location corresponds.
  • the first invalidation information table is stored in content-addressable memory (CAM), and the first repair data table is stored in SRAM.
  • the entry in the CAM is used to store the first address that fails, and the location of the entry in the CAM corresponds to the address information of the repair storage resource.
  • step S302 when the first failure information table is stored in the first SRAM, as shown in FIG. 4, in step S302, based on the destination address, the failure repair information table is queried to determine that the destination address is in the failure repair. There is an entry hit in the information table, including steps S3021-S3023.
  • the address length of the reference address corresponds to the size of the first failure information table.
  • the address length of the reference address corresponds to the depth of the first failure information table.
  • the address length of the destination address is 26bit
  • a hash algorithm may be used to compress the address length of 26 bits into an address length of 10 bits.
  • a hash algorithm is used to compress a 26-bit address length into a 10-bit address length
  • both the 26bit address X and the 26bit address Y are the addresses of the invalid data unit, then during address compression, the address X can be compressed into a 10-bit address using a hash algorithm, and the address Y uses another type of hash The algorithm is compressed into a 10-bit address to reduce the probability of conflict between address X and address Y after compression.
  • the embodiment of the present application does not limit the specific algorithm for converting the destination address into the reference address, and it is only an exemplary description here.
  • a hash algorithm can be used to convert a 26-bit destination address into a 10-bit reference address, and the reference address is 0000000010.
  • the destination address needs to be converted into a reference address, and the address length of the reference address is the same as that of the first invalidation.
  • the size of the first SRAM of the information table matches.
  • the size of the first SRAM storing the first failure information table can also be 27bit*1K, where 1bit is an indicator bit, and the different value of the indicator bit is used to indicate the value indicated by a certain entry in the first SRAM Whether the address is invalid.
  • 1bit is an indicator bit
  • the different value of the indicator bit is used to indicate the value indicated by a certain entry in the first SRAM Whether the address is invalid.
  • the first invalidation information table is queried, and it is determined that the invalid address stored in the first invalidation information table is the address C. If the destination address is also address C, it is determined that the destination address has an entry hit in the first invalidation information table.
  • the destination address when the foregoing destination address has an entry in the first invalidation information table, it can be determined that the destination address is an invalid address. In other words, the data unit requested to be accessed is invalid.
  • step S3022 if the first invalidation information table is queried based on the reference address in step S3022, it is determined that the destination address has an entry in the first invalidation information table, and step S303 is continued. If the first invalidation information table is queried based on the reference address in step S3022, it is determined that no entry in the first invalidation information table is hit by the destination address, and step S3023 is continued.
  • step S3022 if the first invalidation information table is queried based on the reference address, and it is determined that the destination address does not have an entry in the first invalidation information table, it cannot be determined that the destination address must be an uninvalidated address. This is because it is possible that when the preset algorithm is used in step S3021 to convert the 26-bit address into the 10-bit address, there is still a hash conflict problem.
  • the 26-bit address X and the 26-bit address Y are compressed into a 10-bit address Z using a hash algorithm, and both the 26-bit address X and the 26-bit address Y are invalid addresses, then the first invalid information table matches the 10-bit address
  • the location corresponding to Z only stores the address X or the address Y, and for example, the location corresponding to the 10-bit address Z in the first invalidation information table only stores the address Y.
  • the address X does not have an entry in the first invalidation information table, but it is not certain that the destination address must not be invalidated.
  • the aforementioned failure repair information table may also include a second failure information table and a second repair data table.
  • the entries in the second failure information table are used to indicate the failed second address in the memory.
  • the tables in the second repair data table The item is used to indicate the repair storage resource corresponding to the invalid second address. It is understandable that the invalidated second address in the second invalidation information table is different from the invalidated first address in the first invalidation information table, and the invalidated second address may be the same as the invalidated first address that occurs during address conversion.
  • the address of the hash conflict is described in order to solve the above-mentioned step S3021 during the address conversion.
  • the 26-bit invalid address X and the 26-bit invalid address Y are converted into a 10-bit address Z during address conversion. Then the 26-bit invalid address X and the 26-bit invalid address Y can be stored in the first invalid information table. , The other one is stored in the second failure information table.
  • step S302 may further include step S3023.
  • the above-mentioned second failure information table and second repair data table may be stored in a register.
  • the second invalidation information table can be further queried to determine whether the destination address is invalid. If the destination address has an entry in the second invalidation information table, it is determined that the destination address is the invalid address, that is, the data unit requested to be accessed is invalid.
  • a 26-bit invalid address X and a 26-bit invalid address Y are converted into a 10-bit address Z during address conversion.
  • the first invalid information table includes the invalid address Y
  • the second invalid information table includes the invalid address. X as an example. If the destination address is address X, and the destination address X does not have an entry in the first invalidation information table, it can be further determined whether the destination address X has an entry in the second invalidation information table. If the destination address X has an entry in the second invalidation information table, it is determined that the destination address is an invalid address.
  • the first invalidation information table is queried, and if the destination address is not hit in the first invalidation information table, the second invalidation information table may be further queried based on the destination address to determine whether the destination address is in the second invalidation information table. There is a hit in the invalidation information table. Therefore, it is possible to more accurately determine whether the destination address is invalid when the address translation conflicts.
  • step S302 when the first failure information table is stored in the CAM, in step S302, based on the destination address, the failure repair information table is queried, and it is determined that the destination address has an entry hit in the failure repair information table, including : Based on the destination address, look up in the first invalidation information table whether the destination address has an entry hit in the first invalidation information table, and if there is an entry hit, determine that the destination address is the invalid address.
  • the size of the CAM is 26bit*1K, and 1K invalid addresses are stored in the CAM, and the address length of each invalid address is 26bit. Since the CAM is a content addressable memory, the destination address can be directly searched in the CAM. If the destination address has an entry in the CAM, the destination address is determined to be an invalid address, that is, the data unit requested to be accessed is invalid. For example, if the destination address is the same as the invalid address C stored in the CAM, that is, the destination address has an entry hit in the CAM, it is determined that the data unit requested to be accessed is invalid. For another example, if the destination address misses the entry in the CAM, it can be determined that the data unit requested to be accessed has not failed.
  • the CAM is a content addressable memory
  • the first invalidation information table when the first invalidation information table is stored in the CAM, it can be directly searched in the CAM based on the destination address to determine whether the destination address is an invalid address. Compared with the information table being stored in SRAM, there is no need to perform address conversion when the first invalid information table is stored in the CAM.
  • the size of the CAM storing the first invalidation information table can also be 27bit*1K, of which 1bit is an indicator bit, and the different value of the indicator bit is used to indicate whether the address indicated by an entry in the CAM is invalid. the address of.
  • the indicator bit indicates that the address indicated by a certain entry is an invalid address, and the destination address hits the entry, it can be determined that the destination address is an invalid address, that is, the data unit requested to be accessed is invalid.
  • the above step S303 executes the read/write instruction in the access request to the repaired storage resource corresponding to the hit entry, including: steps S3031-S3035.
  • the failure repair control module sends a first repair instruction to the read-write data repair module.
  • the first repair instruction includes a destination address and a write instruction.
  • the first repair instruction may also include the address of the repair storage resource corresponding to the destination address.
  • the read-write data repair module receives the first repair instruction.
  • the read-write data repair module receives the first repair instruction and learns that the data unit currently requested to be accessed is invalid.
  • the read-write data repair module sends the write data and the destination address to the failure repair control module.
  • the read-write data repair module may send the write data to the failure repair control module.
  • the failure repair control module receives the write data and the destination address.
  • the failure repair control module writes the write data in the repair storage resource corresponding to the hit entry.
  • the destination address in step S302 has an entry hit in the first invalidation information table.
  • the entry in the first repair data table in the failure repair control module is used to indicate the repair storage resource corresponding to the failed first address, and the first repair data table is stored in the SRAM.
  • the size of the repair storage resource indicated by each entry in the first repair data table is the repair granularity.
  • the size of the repair storage resource indicated by each entry in the SRAM is 256 bits.
  • the failure repair control module may write the above-mentioned write data in the repair storage resource corresponding to the entry in the failure information table in the first repair data table.
  • the depth of the first failure information table and the first repair data table may be the same. That is, the number of failed first addresses stored in the first failure information table is the same as the number of repair storage resources stored in the first repair data table, and the position of the failed first address in the first failure information table is The location of the corresponding repair storage resource in the first repair data table.
  • 1K failed addresses can be stored in the first failure information table, and 1K repair storage resources can be stored in the first repair data table.
  • the location of the failed first address in the first failure information table and the location of the corresponding repair storage resource in the first repair data table are the same.
  • the destination address C can be converted into a 10-bit reference address 0000000010, the destination address C is the same as the invalid first address C stored in the first invalidation information table at location 0000000010, and the destination address is determined to be the invalid address.
  • the repair storage resource corresponding to the destination address C in the first repair data table is the repair storage resource at location 0000000010.
  • the repair storage resource corresponding to the destination address C is the repair storage resource 3 in FIG. 5.
  • the failure repair control module writes the write data in the repair storage resource at the location of 0000000010 in FIG. 5.
  • the first failure information table when the first failure information table is stored in the CAM and the first repair data table is stored in the SRAM, 1K failed addresses can be stored in the CAM, and 1K repair memories can be stored in the SRAM Resources.
  • the location of the failed first address in the CAM is the same as the location of the corresponding repair storage resource in the SRAM.
  • the location of the failed address C in the CAM, and the location of the repair storage resource corresponding to the failed address in the SRAM are the same, that is, the repair storage resource corresponding to the failed address C is the repair storage resource 3.
  • the size of the SRAM storing the first repair data table in FIG. 5 may also be 257 bits*1K, that is, the size indicated by each entry in the SRAM may be 257 bits.
  • 256 bits are repair storage resources, and 1 bit is an indicator bit. The different values of the indicator bits are used to indicate whether the repair storage resource indicated by a certain entry has written data. If the 1-bit indicator bit indicates that the repair storage resource indicated by the entry has written data, when the destination address is an invalid address and the read command is a read command, the repair storage resource indicated by the entry can be read.
  • the failure repair control module may not read the repair indicated by the entry Storage resources, the data stored in the destination address of the DRAM die is read by the read-write data repair module.
  • the size of the SRAM storing the first repair data table in Figure 5 can also be 14bit*1K, that is, the size indicated by each entry in the SRAM can be 14bit.
  • 8bit is the repair storage resource
  • 1bit is the first indicator bit
  • 5bit is the repair indicator bit.
  • the different values of the first indicator bit are used to indicate whether the repair storage resource indicated by a certain table item has written data.
  • the repair The different values of the indicator bits are used to indicate the specific location of the Byte to be repaired on the 2*DQ Width of the data bus to be repaired for the repair storage resource indicated by a certain entry.
  • the execution of the read/write instruction in the access request to the repair storage resource corresponding to the hit entry in step S303 includes: steps S3036-S3038.
  • the failure repair control module reads the read data stored in the repair storage resource corresponding to the hit entry.
  • the failure repair control module determines that the destination address is invalid, it can read the read data stored in the repair storage resource corresponding to the entry hit by the first failure information table in the first repair data table.
  • the failure repair control module sends a second repair instruction to the read-write data repair module.
  • the second repair instruction includes a destination address, read data, and read instruction.
  • the failure repair control module may read the read data stored in the repair storage resource corresponding to the failed address, and send the read data, the destination address, and the read instruction to the read and write data repair module.
  • the read-write data repair module receives the second repair instruction.
  • the read-write data repair module receives the second repair instruction, obtains the read data, the destination address, and the read instruction.
  • the read-write data repair module can also send the read data to the external data bus to complete the process of the read request.
  • the memory failure repair method provided by the embodiment of the present application uses centralized deployment of repair storage resources in Logic die, so that when the failure repair control module determines that the destination address is invalid, the centrally deployed repair storage resources execute the read in the access request.
  • Write instructions the outside of the memory is not aware of the operation of repairing storage resources and replacing failed data units.
  • the solution in this embodiment does not distinguish which Bank or which Sub Bank or which Channel the data unit belongs to. Instead, it uses the repair storage resources in the failure repair module to execute the access request. Read and write instructions. Therefore, when the failed data units in the memory are not uniformly distributed, the utilization rate of repair storage resources can be improved, and the yield rate of the chip can be improved.
  • the repair granularity of repairing storage resources in the embodiment of the present application may be relatively fine. For example, the repair granularity may be Byte as the granularity, thereby further improving the utilization of repair resources.
  • an embodiment of the present application also provides a memory failure repair method. As shown in FIG. 9, the method may further include S901-S905 before step S301.
  • the self-inspection module sends a self-inspection request to the controller.
  • the self-checking module sends the address to be checked to the address registering module.
  • the self-check module determines that the address to be checked is an invalid address based on the preset self-check algorithm.
  • the self-check module can detect the invalid address in the memory based on the ECC error detection mechanism.
  • the self-checking module may detect the invalid address in the memory at regular intervals to update the invalid address.
  • the self-check module can detect invalid addresses in the memory when the memory is relatively idle.
  • the self-check module when it detects the invalid address in the memory in step S901, it may send a self-check request to the controller, and then combine with the read-write data repair module to detect the address to be detected and determine the invalid address.
  • the self-check module sends the invalid address to the failure repair control module.
  • the failure repair control module receives and stores the failed address.
  • the failure repair control module when the failure repair control module stores the failed address, the failed address may be stored in the SRAM. In this implementation manner, the failure repair control module may store the failed address in the first failure information table or the second failure information table. If two invalid addresses are used for address compression using the preset algorithm in step S3021, a hash conflict occurs. For example, when two 26-bit invalid addresses are compressed into the same 10-bit address, the failure repair control module can store one of the invalid addresses in the first invalid information table, and the other invalid address in the second invalid information. Table.
  • the failed address when the failure repair control module stores the failed address, the failed address may be stored in the CAM. Since the CAM is a content addressable memory, in this implementation, all invalid addresses can be stored in the CAM without considering the problem of address compression conflicts.
  • the failure repair control module may set the repair granularity of the repair storage resource to Byte, for example, set the repair granularity to 256bit or 8bit.
  • the solution in this embodiment can determine the failed address in the memory through the self-checking module, and send the failed address to the failure repair control module, and the failure repair control module stores the failed address, so as to request access to the memory for a certain purpose
  • the failure repair control module can determine whether the destination address is invalid based on the stored invalid address. And in the case that the destination address is invalid, the repair storage resource is used to execute the read and write instructions in the access request.
  • the repair storage resources can be centrally deployed on the logic die, so that the utilization rate of the repair storage resources can be increased when the failed data units are unevenly distributed, so as to increase the yield rate of the storage.
  • the failure repair control module in the embodiment of the present application can implement complex logic. For example, the repair granularity can be set to Byte, and the refinement of the repair granularity can further improve the utilization of redundant storage resources.
  • the embodiment of the present application may divide the failure repair control module into functional modules according to the foregoing method examples.
  • each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the above-mentioned integrated modules can be implemented in the form of hardware or software functional modules. It should be noted that the division of modules in the embodiments of the present application is illustrative, and is only a logical function division, and there may be other division methods in actual implementation.
  • FIG. 10 shows a failure repair control device, and the failure repair control device may be a chip.
  • the failure repair control device may be the failure repair control module involved in the foregoing embodiment, and the failure repair control device 1000 includes: an acquisition unit 1001, a processing unit 1002, and a communication unit 1003.
  • the acquiring unit 1001 can be used to support the failure repair control device 1000 to perform S301 in FIG. 3; the processing unit 1002 can be used to support the failure repair control device 1000 to perform S302 and S303 in FIG. 3, or S3021-S3023 in FIG. Or S3035 in FIG. 7 or S3036 in FIG. 8; the communication unit 1003 is used to support the failure repair control device 1000 to execute S3031 and S3034 in FIG. 3, or S3037 in FIG. 8, or S905 in FIG.
  • all relevant content of the steps involved in the above method embodiments can be cited in the functional description of the corresponding functional module, which will not be repeated here.
  • an embodiment of the present application further provides an integrated circuit.
  • the integrated circuit includes a logic die, and the logic die includes a memory interface, a memory controller, and repair storage resources.
  • the repair storage resource is a redundant storage resource in the memory.
  • the memory interface is used to communicate with other devices or equipment.
  • the memory controller is used to manage the failure repair information table, which is used to indicate the failed address in the memory and the repair storage resource corresponding to the failed address; obtain an access request, the access request includes a read and write command and the data requested to be accessed The destination address of the unit; based on the destination address, the failure repair information table is queried, and if the destination address has a hit entry in the failure repair information table, read and write commands are executed to the repair storage resource corresponding to the hit entry.
  • the memory controller is also used to perform the function of the failure repair control module in the failure repair method of the memory in any of the embodiments of FIG. 3, FIG. 4, FIG. 7, FIG. 8 or FIG. 9.
  • the embodiment of the present application also provides a device that exists in the form of a chip product.
  • the structure of the device includes a processor, and optionally, a memory; a memory for storing a failure repair information table; a processor, It is used to execute the memory failure repair method in any of the above-mentioned embodiments of FIG. 3, FIG. 4, FIG. 7, FIG. 8 or FIG. 9.
  • the device can be deployed in Logic die.
  • the embodiments of the present application also provide a device, which can exist in the form of a chip product.
  • the structure of the device includes a processor and an interface circuit.
  • the processor is used to communicate through the interface circuit so that the device executes the above-mentioned FIG. 3,
  • the memory failure repair method in any of the embodiments of FIG. 4, FIG. 7, FIG. 8 or FIG. 9.
  • the steps of the method or algorithm described in combination with the disclosure of the present application may be implemented in a hardware manner, or may be implemented in a manner in which a processor executes software instructions.
  • Software instructions can be composed of corresponding software modules, which can be stored in random access memory (RAM), flash memory, erasable programmable read-only memory (Erasable Programmable ROM, EPROM), and electrically erasable Programmable read-only memory (Electrically EPROM, EEPROM), register, hard disk, mobile hard disk, CD-ROM or any other form of storage medium known in the art.
  • An exemplary storage medium is coupled to the processor, so that the processor can read information from the storage medium and write information to the storage medium.
  • the storage medium may also be an integral part of the processor.
  • the processor and the storage medium may be located in the ASIC.
  • the ASIC may be located in the core network interface device.
  • the processor and the storage medium may also exist as discrete components in the core network interface device.
  • the functions described in this application can be implemented by hardware, software, firmware, or any combination thereof. When implemented by software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on the computer-readable medium.
  • the computer-readable medium includes a computer storage medium and a communication medium, where the communication medium includes any medium that facilitates the transfer of a computer program from one place to another.
  • the storage medium may be any available medium that can be accessed by a general-purpose or special-purpose computer.

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

本申请实施例公开了一种存储器的失效修复方法及装置,涉及芯片技术领域,能够提高修复资源的利用率,提高存储器的良品率。具体方案为:应用于一种装置,装置包括逻辑裸片Logic die,逻辑裸片包括修复存储资源,方法包括:获取访问请求,访问请求包括读写指令和请求访问的数据单元的目的地址;基于目的地址,查询失效修复信息表,若目的地址在失效修复信息表中有表项命中,则向命中的表项对应的修复存储资源执行访问请求中的读写指令,失效修复信息表用于指示存储器中失效的地址,以及失效的地址对应的修复存储资源。

Description

一种存储器的失效修复方法及装置 技术领域
本申请实施例涉及芯片技术领域,尤其涉及一种存储器的失效修复方法及装置。
背景技术
动态随机存取存储器(dynamic random access memory,DRAM)是一种常见的随机存取存储器,在存储领域有广泛的应用。随着DRAM芯片的规模越来越大,工作频率越来越高,无论是在芯片生产过程中还是芯片工作状态下,芯片均存在不同程度的局部失效概率。
现有的一种修复DRAM芯片的失效单元的方法是在DRAM芯片中的各个Bank配备冗余存储资源,该冗余存储资源通常每2K行配16个冗余行,冗余替换的最小粒度为行。但是,该方法由于冗余行存储资源是按每2K行配16个冗余的比例均匀部署在各个Bank中,对于非均匀分布的失效场景的修复能力受限。例如,当一组共享16个冗余行资源的2K行中有17个行出现了数据单元失效的情况,即使芯片其他Bank完全没有失效单元,此芯片仍无法完全修复。因此,该方法的修复能力有限,冗余存储资源的利用率较低。
发明内容
本申请实施例提供一种存储器的失效修复方法及装置,能够提高修复资源的利用率,提高存储器的良品率。
为达到上述目的,本申请实施例采用如下技术方案:
本申请实施例的第一方面,提供一种存储器的失效修复方法,应用于一种装置,该装置包括逻辑裸片Logic die,该逻辑裸片包括修复存储资源,上述方法包括:获取访问请求,该访问请求包括读写指令和请求访问的数据单元的目的地址;基于该目的地址,查询失效修复信息表,若该目的地址在该失效修复信息表中有表项命中,则向命中的表项对应的修复存储资源执行上述访问请求中的读写指令,上述失效修复信息表用于指示存储器中失效的地址,以及该失效的地址对应的修复存储资源。基于本方案,由于修复存储资源集中部署在Logic die中,能够在确定访问的目的地址失效时,通过该修复存储资源执行访问请求中的读写指令。因此,在存储器中失效的数据单元均匀或非均匀分布时,均可以通过该集中部署的修复存储资源执行访问请求中的读写指令,因此提升了修复存储资源的利用率。可以理解的,上述修复存储资源可以为存储器中的冗余存储资源,上述失效修复信息表可以通过一张表实现,也可以通过两张表实现,本方案对此不进行限定。
结合第一方面,在一种可能的实现方式中,上述读写指令为写指令时,上述向命中的表项对应的修复存储资源执行上述访问请求中的读写指令,包括:向读写数据修复模块发送第一修复指令,该第一修复指令包括上述目的地址以及上述写指令;接收来自上述读写数据修复模块的写数据以及上述目的地址;在与上述命中的表项对应的 修复存储资源中存储上述写数据。基于本方案,能够在与命中的表项对应的修复存储资源中存储写数据。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述读写指令为读指令时,上述向命中的表项对应的修复存储资源执行上述访问请求中的读写指令,包括:读取与上述命中的表项对应的修复存储资源中存储的读数据;向读写数据修复模块发送第二修复指令,该第二修复指令包括上述目的地址、上述读数据,以及上述读指令。基于本方案,能够读取与命中的表项对应的修复存储资源中存储的读数据,并向读写数据修复模块发送该读数据,以使得读写数据修复模块将该读数据发送到外部数据总线,完成读请求的过程。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述失效修复信息表包括第一失效信息表和第一修复数据表,该第一失效信息表中的表项用于指示存储器中失效的第一地址,该第一修复数据表中的表项用于指示上述失效的第一地址对应的修复存储资源。基于本方案,失效信息表可以通过两张表实现,其中,第一失效信息表中存储失效的第一地址,第一修复数据表中存储失效的第一地址对应的修复存储资源。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述第一失效信息表被保存在内容可寻址存储器CAM中,上述第一修复数据表被保存在静态随机存取存储器SRAM中。基于本方案,第一失效信息表和第一修复数据表可以存储在不同的存储器中。可以理解的,第一失效信息表存储在CAM中时,由于CAM是内容可寻址存储器,因此,可以在CAM中直接查找目的地址,确定目的地址是否在CAM中有表项命中。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述CAM中的表项用于保存失效的第一地址,上述CAM中的表项的位置与上述修复存储资源的地址信息对应。基于本方案,CAM中的表项的位置与第一修复数据表中修复存储资源的地址信息相对应。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述第一失效信息表和上述第一修复数据表被保存在SRAM中。基于本方案,第一失效信息表和第一修复数据表可以保存在不同的SRAM中。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述基于上述目的地址,查询失效修复信息表,包括:将该目的地址采用预设算法转换为参考地址,该参考地址的地址长度与上述第一失效信息表的大小相对应;基于该参考地址,查询上述第一失效信息表;相应的,上述目的地址在上述失效修复信息表中有表项命中,包括:上述目的地址在上述第一失效信息表中有表项命中。基于本方案,当第一失效信息表被保存在SRAM中时,通过对目的地址进行地址转换,将目的地址转换为地址长度与SRAM的深度相对应的参考地址,再基于该参考地址查询第一失效信息表。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述预设算法为哈希算法、双哈希算法或多哈希桶算法。基于本方案,可以通过哈希算法、双哈希算法或多哈希桶算法将目的地址转换为参考地址。可以理解的,不同的失效地址采用哈希算法可能会转换为同一个参考地址,即不同的失效地址在进行地址转换时有可 能发生哈希冲突。为了降低哈希冲突发生的概率,可以采用双哈希算法或多哈希桶算法进行地址转换。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述失效修复信息表还包括第二失效信息表和第二修复数据表,该第二失效信息表中的表项用于指示存储器中失效的第二地址,该第二修复数据表中的表项用于指示上述失效的第二地址对应的修复存储资源。基于本方案,失效修复信息表还可以包括存储失效的第二地址的第二失效信息表,以及存储与失效的第二地址对应的修复存储资源的第二修复数据表。可以理解的,该第二失效信息表中失效的第二地址与第一失效信息表中失效的第一地址不同,该失效的第二地址可以为与失效的第一地址在进行地址转换时发生哈希冲突的地址。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述第二失效信息表和上述第二修复数据表被保存在寄存器中。基于本方案,第二失效信息表和第二修复数据表被保存在寄存器中。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述基于上述目的地址,查询失效修复信息表,还包括:若上述目的地址在上述第一失效信息表中未命中,基于上述目的地址,查询上述第二失效信息表;相应的,上述目的地址在上述失效修复信息表中有表项命中,包括:上述目的地址在上述第二失效信息表中有表项命中。基于本方案,在目的地址未在第一失效信息表中有表项命中的情况下,可以进一步基于目的地址,查询第二失效信息表,确定目的地址是否在第二失效信息表中有表项命中,从而能够在地址转换发生冲突时,较为准确的确定目的地址是否失效。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述修复存储资源的修复粒度为小于或等于2倍的数据总线的位宽DQ Width的大小,或N个字节,N大于或等于1。基于本方案,修复存储资源的修复粒度可以较为精细,以适用于失效单元在行间离散或非离散的不同场景,修复粒度的细化可以使得修复存储资源的利用率进一步得到提升。
本申请实施例的第二方面,提供一种集成电路,该集成电路包括逻辑裸片,该逻辑裸片包括存储器接口,存储器控制器和修复存储资源,该存储器控制器用于:管理失效修复信息表,该失效修复信息表用于指示存储器中失效的地址,以及该失效的地址对应的修复存储资源;获取访问请求,该访问请求包括读写命令和请求访问的数据单元的目的地址;基于上述目的地址,查询上述失效修复信息表,若上述目的地址在上述失效修复信息表中有命中的表项,则向上述命中的表项对应的修复存储资源执行上述读写命令。
结合第二方面,在一种可能的实现方式中,上述读写指令为写指令时,上述存储器控制器,具体用于:向读写数据修复模块发送第一修复指令,该第一修复指令包括上述目的地址以及上述写指令;接收来自上述读写数据修复模块的写数据以及上述目的地址;在与上述命中的表项对应的修复存储资源中存储上述写数据。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述读写指令为读指令时,上述存储器控制器,具体还用于:读取与上述命中的表项对应的修复存储资源中存储的读数据;向读写数据修复模块发送第二修复指令,该第二修复指令 包括上述目的地址、上述读数据,以及上述读指令。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述失效修复信息表包括第一失效信息表和第一修复数据表,该第一失效信息表中的表项用于指示存储器中失效的第一地址,该第一修复数据表中的表项用于指示上述失效的第一地址对应的修复存储资源。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述第一失效信息表被保存在内容可寻址存储器CAM中,上述第一修复数据表被保存在静态随机存取存储器SRAM中。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述CAM中的表项用于保存失效的第一地址,上述CAM中的表项的位置与上述修复存储资源的地址信息对应。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述第一失效信息表和上述第一修复数据表被保存在SRAM中。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述存储器控制器,具体还用于:将上述目的地址采用预设算法转换为参考地址,该参考地址的地址长度与上述第一失效信息表的大小相对应;基于该参考地址,查询上述第一失效信息表;相应的,上述目的地址在上述失效修复信息表中有表项命中,包括:上述目的地址在上述第一失效信息表中有表项命中。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述预设算法为哈希算法、双哈希算法或多哈希桶算法。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述失效修复信息表还包括第二失效信息表和第二修复数据表,该第二失效信息表中的表项用于指示存储器中失效的第二地址,该第二修复数据表中的表项用于指示上述失效的第二地址对应的修复存储资源。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述第二失效信息表和上述第二修复数据表被保存在寄存器中。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述存储器控制器,具体还用于:若上述目的地址在上述第一失效信息表中未命中,基于上述目的地址,查询上述第二失效信息表;相应的,上述目的地址在上述失效修复信息表中有表项命中,包括:上述目的地址在上述第二失效信息表中有表项命中。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述修复存储资源的修复粒度为小于或等于2倍的数据总线的位宽DQ Width的大小,或N个字节,N大于或等于1。
本申请实施例的第三方面,提供一种存储器的失效修复装置,应用于一种芯片,该芯片包括逻辑裸片Logic die,该逻辑裸片包括修复存储资源,上述装置包括:获取单元,用于获取访问请求,该访问请求包括读写指令和请求访问的数据单元的目的地址;处理单元,用于基于该目的地址,查询失效修复信息表,若该目的地址在上述失效修复信息表中有表项命中,则向命中的表项对应的修复存储资源执行上述访问请求中的读写指令,上述失效修复信息表用于指示存储器中失效的地址,以及上述失效的 地址对应的修复存储资源。
结合第三方面,在一种可能的实现方式中,上述读写指令为写指令时,上述装置还包括通信单元,该通信单元,用于向读写数据修复模块发送第一修复指令,该第一修复指令包括上述目的地址以及上述写指令;接收来自上述读写数据修复模块的写数据以及上述目的地址;上述处理单元,具体用于在与上述命中的表项对应的修复存储资源中存储上述写数据。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,上述读写指令为读指令时,上述装置还包括通信单元,上述处理单元,还用于读取与上述命中的表项对应的修复存储资源中存储的读数据;上述通信单元,用于向读写数据修复模块发送第二修复指令,该第二修复指令包括上述目的地址、上述读数据,以及上述读指令。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,上述失效修复信息表包括第一失效信息表和第一修复数据表,该第一失效信息表中的表项用于指示存储器中失效的第一地址,该第一修复数据表中的表项用于指示上述失效的第一地址对应的修复存储资源。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,上述第一失效信息表被保存在内容可寻址存储器CAM中,上述第一修复数据表被保存在静态随机存取存储器SRAM中。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,上述CAM中的表项用于保存失效的第一地址,上述CAM中的表项的位置与上述修复存储资源的地址信息对应。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,上述第一失效信息表和上述第一修复数据表被保存在SRAM中。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,上述处理单元,具体用于:将上述目的地址采用预设算法转换为参考地址,该参考地址的地址长度与上述第一失效信息表的大小相对应;基于该参考地址,查询上述第一失效信息表。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,上述预设算法为哈希算法、双哈希算法或多哈希桶算法。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,上述失效修复信息表还包括第二失效信息表和第二修复数据表,该第二失效信息表中的表项用于指示存储器中失效的第二地址,该第二修复数据表中的表项用于指示上述失效的第二地址对应的修复存储资源。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,上述第二失效信息表和上述第二修复数据表被保存在寄存器中。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,上述处理单元,还用于:若上述目的地址在上述第一失效信息表中未命中,基于上述目的地址,查询上述第二失效信息表。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,上述修复存储资源的修复粒度为小于或等于2倍的数据总线的位宽DQ Width的大小,或N个字 节,N大于或等于1。
本申请实施例的第四方面,提供一种存储器的失效修复装置,该装置包括逻辑裸片Logic die,该逻辑裸片包括失效修复控制模块和修复存储资源;上述失效修复控制模块,用于:获取访问请求,该访问请求包括读写指令和请求访问的数据单元的目的地址;基于该目的地址,查询失效修复信息表,若该目的地址在上述失效修复信息表中有表项命中,则向命中的表项对应的修复存储资源执行上述访问请求中的读写指令,上述失效修复信息表用于指示存储器中失效的地址,以及上述失效的地址对应的修复存储资源。
结合第四方面,在一种可能的实现方式中,上述逻辑裸片还包括读写数据修复模块,读写指令为写指令时,上述失效修复控制模块,具体用于向上述读写数据修复模块发送第一修复指令,该第一修复指令包括上述目的地址以及上述写指令;上述读写数据修复模块,用于接收该第一修复指令,并向上述失效修复控制模块发送写数据以及上述目的地址;该失效修复控制模块,具体还用于接收来自上述读写数据修复模块的上述写数据以及上述目的地址,在与上述命中的表项对应的修复存储资源中存储上述写数据。
结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,上述逻辑裸片还包括读写数据修复模块,上述读写指令为读指令时,上述失效修复控制模块,具体用于读取与上述命中的表项对应的修复存储资源中存储的读数据,向上述读写数据修复模块发送第二修复指令,该第二修复指令包括上述目的地址、上述读数据,以及上述读指令;上述读写数据修复模块,用于接收来自上述失效修复控制模块的上述第二修复指令。
结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,上述失效修复信息表包括第一失效信息表和第一修复数据表,该第一失效信息表中的表项用于指示存储器中失效的第一地址,该第一修复数据表中的表项用于指示上述失效的第一地址对应的修复存储资源。
结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,上述第一失效信息表被保存在内容可寻址存储器CAM中,上述第一修复数据表被保存在静态随机存取存储器SRAM中。
结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,上述CAM中的表项用于保存失效的第一地址,上述CAM中的表项的位置与上述修复存储资源的地址信息对应。
结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,上述第一失效信息表和上述第一修复数据表被保存在SRAM中。
结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,上述失效修复控制模块,具体用于:将上述目的地址采用预设算法转换为参考地址,该参考地址的地址长度与上述第一失效信息表的大小相对应;基于该参考地址,查询上述第一失效信息表。
结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,上述预设算法为哈希算法、双哈希算法或多哈希桶算法。
结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,上述失效修复信息表还包括第二失效信息表和第二修复数据表,该第二失效信息表中的表项用于指示存储器中失效的第二地址,该第二修复数据表中的表项用于指示上述失效的第二地址对应的修复存储资源。
结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,上述第二失效信息表和上述第二修复数据表被保存在寄存器中。
结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,上述失效修复控制模块,具体还用于:若上述目的地址在上述第一失效信息表中未命中,基于上述目的地址,查询上述第二失效信息表。
结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,上述修复存储资源的修复粒度为小于或等于2倍的数据总线的位宽DQ Width的大小,或N个字节,N大于或等于1。
结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,上述Logic die还包括自检模块、控制器和地址寄存模块,上述自检模块分别与上述控制器、地址寄存模块以及失效修复控制模块连接;上述自检模块,用于向上述控制器发送自检请求;上述控制器,用于接收上述自检请求;上述自检模块,还用于向上述地址寄存模块发送待检测的地址;上述自检模块,还用于基于预设自检算法,确定上述待检测的地址为失效的地址。
结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,上述自检模块,还用于向上述失效修复控制模块发送上述失效的地址;上述失效修复控制模块,还用于接收来自上述自检模块的失效的地址,并将上述失效的地址存储在上述失效修复信息表中。
上述第二方面至第四方面的各种实现方式的效果描述可以参考第一方面的各种实现方式的相应效果的描述,在此不再赘述。
本申请实施例的第五方面,提供了一种装置,该装置以芯片的产品形态存在,该装置的结构中包括处理器,该处理器用于执行上述存储器的失效修复方法。
附图说明
图1为本申请实施例提供的一种存储器的失效修复方案的结构示意图;
图2为本申请实施例提供的另一种存储器的失效修复方案的结构示意图;
图3为本申请实施例提供的一种存储器的失效修复方法的流程示意图;
图4为本申请实施例提供的另一种存储器的失效修复方法的流程示意图;
图5为本申请实施例提供的一种存储器的失效修复方法的应用示意图一;
图6为本申请实施例提供的一种存储器的失效修复方法的应用示意图二;
图7为本申请实施例提供的另一种存储器的失效修复方法的流程示意图;
图8为本申请实施例提供的另一种存储器的失效修复方法的流程示意图;
图9为本申请实施例提供的另一种存储器的失效修复方法的流程示意图;
图10为本申请实施例提供的一种失效修复控制装置的组成示意图;
图11为本申请实施例提供的一种集成电路的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。在本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a、b和c可以是单个,也可以是多个。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
示例性的,由于DRAM芯片的规模越来越大,工作频率越来越高,无论是在芯片生产过程中还是芯片工作状态下,芯片均存在不同程度的局部失效概率。为了提升芯片的良品率,一种修复DRAM芯片的失效单元的方法如图1所示,通过在DRAM芯片中的各个Bank(例如,图1中的B0至Bn)或者Sub Bank均匀分布用于失效修复的冗余存储资源,该冗余存储资源通常每2K行配16个冗余行,由于DRAM裸片(DRAM die)中仅能实现简单的控制逻辑,因此该DRAM die中冗余修复的最小粒度为行。
如图1所示,在芯片测试模式下,可以由自检模块按可配置的算法发起自检操作。在DRAM自检过程中通过错误校验与校正(Error Checking and Correction,ECC)机制发现失效的数据单元,并将失效的数据单元的信息记录上报测试软件。由测试软件将确定的失效修复策略下发到DRAM各个Bank的冗余控制寄存器或者熔断控制电路。一个失效的数据单元对应的整行存储单元需要由冗余行进行整体替换。芯片在正常工作模式下,当读写操作到某个Bank的某个失效行地址时,DRAM可以对该冗余行的存储空间进行读写操作,芯片外部对冗余行的替换操作并不感知。
但是,该方法由于冗余行存储资源是按每2K行配16个冗余的比例均匀部署在各个Bank中,对于非均匀分布的失效场景的修复能力受限。例如,当一组共享16个冗余行资源的2K行中有17个行出现了数据单元失效的情况,即使芯片的其他Bank完全没有失效单元,此芯片仍无法完全修复。因此,该方法的修复能力有限,冗余存储资源的利用率较低。而且由于该方法的修复粒度为行(8Kbit),即使一行中仅有1bit失效,也需要将整行替换为冗余行。对于失效单元在行间离散分布的场景,修复能力受限。例如,当一组共享16个冗余行资源的2K行中有17个单bit数据失效,且该17个失效bit属于17个不同的行,那么该芯片将无法完全修复。
为了适应失效单元在Bank间均匀或非均匀分布的不同场景,提高修复资源的利用率,提升芯片的修复能力,进一步提高芯片的良品率,本申请实施例提供一种存储器的失效修复方法。
示例性的,该存储器的失效修复方法可以应用于一种芯片,该芯片包括逻辑裸片(Logic die),该Logic die包括修复存储资源,该修复存储资源为存储器中的冗余存 储资源。当存储器中有数据单元失效时,可以通过该修复存储资源执行相应的读写指令。
如图2所示的一种装置,该装置包括多个DRAM裸片(DRAM die)和一个Logic die,DRAM die为存储器芯片,用于执行读写指令,Logic die为处理器芯片,用于实现较为复杂的控制逻辑。
示例性的,该Logic die包括修复存储资源,该修复存储资源为存储器中的冗余存储资源,该修复存储资源集中部署在Logic die中。即请求访问的数据单元失效时,并不会区分该失效的数据单元所在的Bank或者Sub Bank或者Channel,均可以通过该Logic die中集中部署的修复存储资源执行访问请求中的读写指令。因此能够在存储器中失效的数据单元均匀或非均匀分布时,提升修复存储资源的利用率。
如图2所示,Logic die可以包括失效修复控制模块、读写数据修复模块、自检模块、控制器、地址寄存模块等硬件模块。
其中,失效修复控制模块,用于获取访问请求,确定请求访问的数据单元的目的地址是否为失效的地址,并在确定目的地址为失效地址时,向该目的地址对应的修复存储资源执行访问请求中的读写指令。修复存储资源可以集中部署在失效修复控制模块中。该失效修复控制模块中可以存储失效修复信息表,该失效修复信息表中的表项用于指示存储器中失效的地址,以及所述失效的地址对应的修复存储资源。
示例性的,该失效修复信息表可以用一个表实现,也可以用两个表实现,本申请实施例对此并不进行限定。当失效修复信息用两个表实现时,该失效修复信息表包括失效信息表和修复数据表。其中,失效信息表中的表项用于指示存储器中失效的地址,修复数据表中的表项用于指示失效的地址对应的修复存储资源。该失效信息表中失效的地址可以来自于自检模块。
示例性的,上述失效修复控制模块可以为存储器控制器。
读写数据修复模块,用于读取DRAM die的数据或者将写数据写入DRAM中。在目的地址为失效地址的情况下,该读写数据修复模块还用于接收失效修复控制模块发送的修复指令,并基于该修复指令将读数据发送到外部数据总线,或者,基于修复指令将写数据发送给失效修复控制模块,以使得失效修复控制模块将写数据写入修复数据表中。
自检模块,用于检测存储器中失效的地址。该自检模块在检测待检测的数据单元是否失效时,可以向控制器发送自检请求,向地址寄存模块发送待检测的数据单元的地址(也可以称为自检地址),并基于ECC检错机制确定待检测的数据单元是否失效。例如,存储器在写入数据时携带ECC校验位,在回读数据时检是否存在ECC校验错误。该ECC校验可以在读写数据修复模块中完成,自检模块只需要收集ECC检错信息即可。该ECC检错信息可以包括错误地址和错误数据。自检模块确定待检测的数据单元失效时,可以向失效修复控制模块发送该失效的地址。可选的,自检模块可以每隔一段时间进行一次自检,也可以在存储器较为空闲的时候进行自检,以更新存储器中失效的数据单元的地址。
控制器,用于处理外部对存储器的读写操作。该控制器除了处理外部的读写操作外,还可以处理自检模块发送的自检请求。
地址寄存模块,用于获取请求访问的数据单元的目的地址,以及自检模块发送的自检地址。失效修复控制模块还可以从该地址寄存模块抓取读写操作请求访问的数据单元的地址。
可以理解的,本申请实施例提供的装置中由于将修复存储资源集中部署在Logic die中,因此,在存储器的失效单元非均匀分布的场景下时,该非均匀分布的失效单元均可以通过集中部署的修复存储资源执行相应的读写指令,从而提高了修复存储资源的利用率,提升了芯片的良品率。
示例性的,本申请实施例中修复存储资源部署在Logic die中的失效修复控制模块中,该失效修复控制模块可以实现较为复杂的控制逻辑。本申请实施例中的修复存储资源的修复粒度可以较为精细。示例性的,修复存储资源的修复粒度的大小可以为小于或等于2倍的数据总线的位宽DQ Width的大小,或N个字节,N大于或等于1。该DQ Width的大小由DRAM的设计架构决定,该DQ Width的大小可以为64bit,也可以为128bit,还可以为其他大小,本申请实施例对此并不限定。下述实施例中仅以DQ Width的大小为128bit为例进行说明。例如,一个访问请求所请求访问的最小的数据单元的大小可以为2倍的DQ Width的大小,比如,256bit。
例如,修复存储资源的修复粒度可以为2倍的DQ Width(256bit),或者,也可以为8bit(1Byte),本申请实施例对于修复存储资源的修复粒度的大小并不进行限定,在此仅是示例性说明。需要说明的是,本申请实施例中的修复粒度可以较行冗余的修复粒度精细。
可以理解的,由于本申请实施例的修复粒度较行冗余的修复粒度精细,因此适用于失效单元在行间离散或非离散的不同场景,修复粒度的细化可以使得修复存储资源的利用率进一步得到提升。
示例性的,结合图2,如图3所示,为本申请实施例提供的一种存储器的失效修复方法,该方法可以应用于上述Logic die中,如图3所示,该方法可以包括步骤S301-S303。
S301、获取访问请求。
可以理解的,上述步骤S301可以由图2所示的失效修复控制模块执行,该失效修复控制模块可以为存储器控制器。
示例性的,访问请求可以包括读写指令和请求访问的数据单元的目的地址。该目的地址可以为26bit。例如,目的地址可以由6bit的Bank地址(Bank Address)、14bit的行地址(Row Address),以及6bit的列地址(Column Address)组成。本申请实施例对于请求访问的数据单元的目的地址的地址长度并不进行限定,在此仅以地址长度为26bit进行举例说明。
示例性的,上述访问请求中的读写指令可以为读指令,也可以为写指令,本申请实施例对此并不限定。
示例性的,上述失效修复控制模块获取访问请求,可以包括:失效修复控制模块获取每次访问存储器的访问请求。存储器的每个访问请求对于失效修复控制模块来说都是可见的。
S302、基于目的地址,查询失效修复信息表,确定目的地址在失效修复信息表中 有表项命中。
可以理解的,上述步骤S302可以由图2所示的失效修复控制模块执行,该失效修复控制模块可以为存储器控制器。
上述失效修复信息表中的表项用于指示存储器中失效的地址,以及失效的地址对应的修复存储资源。该失效修复信息表中存储的失效的地址可以是自检模块检测的。
示例性的,上述失效修复信息表指示的内容可以通过一张表实现,也可以通过两张表实现。
例如,当失效修复信息表通过一张表实现时,该失效修复信息表可以被保存在静态随机存取存储器(static random access memory,SRAM)中。SRAM中的失效修复信息表的表项用于指示存储器中失效的地址,以及失效的地址对应的修复存储资源。
再例如,当失效修复信息表通过两张表实现时,该失效修复信息表可以包括第一失效信息表和第一修复数据表,第一失效信息表中的表项用于指示存储器中失效的第一地址,第一修复数据表中的表项用于指示失效的第一地址对应的修复存储资源。
本申请实施例对于上述失效修复信息表用一个表实现还是用两个表实现并不做限定。下述实施例仅以失效修复信息表用两个表实现为例进行说明。
第一种实现方式,第一失效信息表被保存在第一SRAM中,第一修复数据表被保存在第二SRAM中。该第一SRAM和第二SRAM的深度(depth)相同,即第一失效信息表中失效的第一地址的位置与第一修复数据表中的与该失效的第一地址对应的修复存储资源的位置相对应。
第二种实现方式,第一失效信息表被保存在内容可寻址存储器(content-addressable memory,CAM)中,第一修复数据表被保存在SRAM中。CAM中的表项用于保存失效的第一地址,CAM中的表项的位置与修复存储资源的地址信息对应。
对应于上述第一种实现方式中,当第一失效信息表存储在第一SRAM中时,如图4所示,上述步骤S302中基于目的地址,查询失效修复信息表,确定目的地址在失效修复信息表中有表项命中,包括步骤S3021-S3023。
S3021、将目的地址采用预设算法转换为参考地址。
该参考地址的地址长度与第一失效信息表的大小相对应。例如,该参考地址的地址长度与第一失效信息表的深度(depth)相对应。
示例性的,以目的地址的地址长度为26bit,第一SRAM的大小为26bit*1K为例,即第一SRAM中可以存储1K(1K=1024)个失效的地址,每个失效的地址的地址长度为26bit。如果要在第一失效信息表中确定目的地址是否为失效的地址,需要将26bit的地址长度压缩为10bit的地址长度,由于10bit的地址长度与SRAM的深度相匹配,因此可以基于10bit的地址长度在第一失效信息表中进行查找。
示例性的,步骤S3021中可以采用哈希算法将26bit的地址长度压缩为10bit的地址长度。但是,在采用哈希算法将26bit的地址长度压缩为10bit的地址长度时,有可能将不同的26bit的地址长度压缩为同一个10bit的地址长度,即存在一定概率的哈希冲突问题。因此,上述预设算法可以采用双哈希算法或多哈希桶算法降低哈希冲突发生的概率。例如,26bit的地址X采用哈希算法压缩为10bit的地址Z,26bit的地址Y采用哈希算法也压缩为10bit的地址Z。若26bit的地址X和26bit的地址Y均为失效 的数据单元的地址,那么在进行地址压缩时,可以将地址X采用一种哈希算法压缩为10bit的地址,地址Y采用另一种哈希算法压缩为10bit的地址,以降低地址X和地址Y压缩以后发生冲突的概率。本申请实施例对于目的地址转换为参考地址的具体算法并不进行限定,在此仅是示例性说明。
例如,如图5所示,可以采用哈希算法将26bit的目的地址转换为10bit的参考地址,该参考地址为0000000010。
需要说明的是,在目的地址的地址长度与存储第一失效信息表的第一SRAM的大小不匹配的情况下,需要将目的地址转换为参考地址,该参考地址的地址长度与存储第一失效信息表的第一SRAM的大小匹配。
可选的,上述存储第一失效信息表的第一SRAM的大小也可以为27bit*1K,其中1bit为指示位,该指示位的不同取值用于指示第一SRAM中某一表项指示的地址是否为失效的地址。当该指示位指示某一表项指示的地址为失效的地址,且,目的地址命中该表项时,可以确定目的地址为失效的地址,即请求访问的数据单元失效。
S3022、基于参考地址,查询第一失效信息表。
例如,如图5所示,基于参考地址0000000010,查询第一失效信息表,确定第一失效信息表中存储的失效的地址为地址C。若目的地址也为地址C,确定目的地址在该第一失效信息表中有表项命中。
示例性的,上述目的地址在第一失效信息表中有表项命中时,可以确定目的地址为失效的地址。也就是说,请求访问的数据单元失效。
示例性的,若步骤S3022中基于参考地址,查询第一失效信息表,确定目的地址在第一失效信息表中有表项命中,继续执行步骤S303。若步骤S3022中基于参考地址,查询第一失效信息表,确定目的地址在第一失效信息表中未有表项命中,继续执行步骤S3023。
示例性的,上述步骤S3022中,如果基于参考地址,查询第一失效信息表,确定目的地址在第一失效信息表中未有表项命中,并不能确定该目的地址一定是未失效的地址。因为有可能步骤S3021中采用预设算法在将26bit的地址转换为10bit的地址时,仍存在哈希冲突问题。
例如,26bit的地址X和26bit的地址Y采用哈希算法均压缩为10bit的地址Z,而且26bit的地址X和26bit的地址Y均为失效的地址,那么第一失效信息表中与10bit的地址Z对应的位置仅存储了地址X或地址Y,以第一失效信息表中与10bit的地址Z对应的位置仅存储了地址Y为例。在将目的地址X压缩成10bit的地址Z以后,该地址X在第一失效信息表中未有表项命中,但不能确定该目的地址一定未失效。
为了解决上述步骤S3021在进行地址转换时,有可能仍然存在哈希冲突的问题。上述失效修复信息表还可以包括第二失效信息表和第二修复数据表,该第二失效信息表中的表项用于指示存储器中失效的第二地址,该第二修复数据表中的表项用于指示失效的第二地址对应的修复存储资源。可以理解的,该第二失效信息表中失效的第二地址与第一失效信息表中失效的第一地址不同,该失效的第二地址可以为与失效的第一地址在进行地址转换时发生哈希冲突的地址。例如,26bit的失效地址X和26bit的失效地址Y在进行地址转换时,均转换成10bit的地址Z,那么可以将26bit的失效地 址X和26bit的失效地址Y,一个存储在第一失效信息表中,另一个存储在第二失效信息表中。
可选的,若基于目的地址,查询第一失效信息表,确定目的地址在第一失效信息表中未命中,上述步骤S302还可以包括步骤S3023。
S3023、若目的地址在第一失效信息表中未命中,基于目的地址,查询第二失效信息表,确定目的地址在第二失效信息表中有表项命中。
示例性的,上述第二失效信息表和第二修复数据表可以被保存在寄存器中。
示例性的,若目的地址在第一失效信息表中未命中,可以进一步查询第二失效信息表,确定目的地址是否失效。若目的地址在第二失效信息表中有表项命中,确定目的地址为失效的地址,即请求访问的数据单元失效。
例如,以26bit的失效地址X和26bit的失效地址Y在进行地址转换时,均转换成10bit的地址Z,第一失效信息表中包括失效的地址Y,第二失效信息表中包括失效的地址X为例。若目的地址为地址X,该目的地址X在第一失效信息表中未有表项命中,可以进一步确定该目的地址X是否在第二失效信息表中有表项命中。若目的地址X在第二失效信息表中有表项命中,确定该目的地址为失效的地址。
本实施例在基于目的地址,查询第一失效信息表,确定目的地址未在第一失效信息表命中的情况下,可以进一步基于目的地址,查询第二失效信息表,确定目的地址是否在第二失效信息表中有表项命中。从而能够在地址转换发生冲突时,较为准确的确定目的地址是否失效。
对应于上述第二种实现方式,当第一失效信息表存储在CAM中时,上述步骤S302中基于目的地址,查询失效修复信息表,确定目的地址在失效修复信息表中有表项命中,包括:基于目的地址,在第一失效信息表中查找目的地址是否在第一失效信息表中有表项命中,若有表项命中,确定目的地址为失效的地址。
例如,如图6所示,CAM的大小为26bit*1K,CAM中存储了1K个失效的地址,每个失效的地址的地址长度为26bit。由于CAM是内容可寻址存储器,因此,可以在CAM中直接查找目的地址,如果目的地址在CAM中有表项命中,确定目的地址为失效的地址,即请求访问的数据单元失效。例如,若目的地址与CAM中存储的失效地址C相同,即目的地址在CAM中有表项命中,确定请求访问的数据单元失效。再例如,若目的地址未命中CAM中的表项,可以确定请求访问的数据单元未失效。
可以理解的,由于CAM为内容可寻址存储器,因此当第一失效信息表存储在CAM中时,可以直接基于目的地址在CAM中进行查找,确定目的地址是否为失效的地址,与第一失效信息表被保存在SRAM中相比,当第一失效信息表被保存在CAM中时无需进行地址转换。
可选的,上述存储第一失效信息表的CAM的大小也可以为27bit*1K,其中1bit为指示位,该指示位的不同取值用于指示CAM中某一表项指示的地址是否为失效的地址。当该指示位指示某一表项指示的地址为失效的地址,且,目的地址命中该表项时,可以确定目的地址为失效的地址,即请求访问的数据单元失效。
S303、向命中的表项对应的修复存储资源执行访问请求中的读写指令。
示例性的,若读写指令为写指令,如图7所示,上述步骤S303中向命中的表项对 应的修复存储资源执行访问请求中的读写指令包括:步骤S3031-S3035。
S3031、失效修复控制模块向读写数据修复模块发送第一修复指令。
该第一修复指令包括目的地址以及写指令。
可选的,第一修复指令还可以包括与目的地址对应的修复存储资源的地址。
S3032、读写数据修复模块接收第一修复指令。
示例性的,读写数据修复模块接收第一修复指令,获知当前请求访问的数据单元失效。
S3033、读写数据修复模块向失效修复控制模块发送写数据以及目的地址。
示例性的,读写数据修复模块可以将写数据发送给失效修复控制模块。
S3034、失效修复控制模块接收写数据以及目的地址。
S3035、失效修复控制模块在命中的表项对应的修复存储资源中写入写数据。
示例性的,以步骤S302中目的地址在第一失效信息表中有表项命中为例。失效修复控制模块中的第一修复数据表中的表项用于指示失效的第一地址对应的修复存储资源,该第一修复数据表被保存在SRAM中。
示例性的,第一修复数据表中每个表项指示的修复存储资源的大小为修复粒度。例如,如图5和图6所示,以修复粒度为256bit为例,SRAM中每个表项指示的修复存储资源的大小为256bit。
示例性的,失效修复控制模块可以在第一修复数据表中与失效信息表中命中的表项对应的修复存储资源中写入上述写数据。
示例性的,第一失效信息表与第一修复数据表的深度(depth)可以相同。也就是说,第一失效信息表中存储的失效的第一地址的数目与第一修复数据表中存储的修复存储资源的数目相同,失效的第一地址在第一失效信息表中的位置即为其对应的修复存储资源在第一修复数据表中的位置。
例如,如图5所示,第一失效信息表中可以存储1K个失效的地址,第一修复数据表中可以存储1K个修复存储资源。第一失效信息表中失效的第一地址的位置与其对应的修复存储资源在第一修复数据表中的位置相同。例如,目的地址C可以转换成10bit的参考地址0000000010,该目的地址C与第一失效信息表中0000000010位置存储的失效的第一地址C相同,确定目的地址为失效的地址。该目的地址C在第一修复数据表中对应的修复存储资源即为0000000010位置的修复存储资源。如图5所示,与该目的地址C对应的修复存储资源为图5中修复存储资源3。当读写指令为写指令时,失效修复控制模块在图5中0000000010位置的修复存储资源中写入写数据。
再例如,如图6所示,第一失效信息表被保存在CAM中,第一修复数据表被保存在SRAM中时,CAM中可以存储1K个失效的地址,SRAM中可以存储1K个修复存储资源。失效的第一地址在CAM中的位置与其对应的修复存储资源在SRAM中的位置相同。如图6所示,失效的地址C在CAM中的位置,与该失效的地址对应的修复存储资源在SRAM中的位置相同,即与失效地址C对应的修复存储资源为修复存储资源3。
可选的,若修复存储资源的修复粒度为256bit,图5中保存第一修复数据表的SRAM的大小也可以为257bit*1K,即SRAM中每个表项指示的大小可以为257bit。 其中,256比特为修复存储资源,1bit为指示位,该指示位的不同取值用于指示某一表项指示的修复存储资源是否已写入数据。若1bit的指示位指示该表项指示的修复存储资源已写入数据,在目的地址为失效的地址,且读写指令为读指令时,可以读取该表项指示的修复存储资源。若1bit的指示位指示该表项指示的修复存储资源未写入数据,在目的地址为失效的地址,且读写指令为读指令时,失效修复控制模块可以不读取该表项指示的修复存储资源,由读写数据修复模块读取DRAM die的目的地址中存储的数据。
可选的,若修复存储资源的修复粒度为1Byte(8bit),图5中保存第一修复数据表的SRAM的大小也可以为14bit*1K,即该SRAM中每个表项指示的大小可以为14bit。其中,8bit为修复存储资源,1bit为第一指示位,5bit为修复指示位,该第一指示位的不同取值用于指示某一表项指示的修复存储资源是否已写入数据,该修复指示位的不同取值用于指示某一表项指示的修复存储资源修复的是2*DQ Width的数据总线上需要修复的Byte的具体位置。
示例性的,若读写指令为读指令,如图8所示,上述步骤S303中向命中的表项对应的修复存储资源执行访问请求中的读写指令包括:步骤S3036-S3038。
S3036、失效修复控制模块读取命中的表项对应的修复存储资源中存储的读数据。
示例性的,以步骤S302中目的地址在第一失效信息表中有表项命中为例。失效修复控制模块确定目的地址失效时,可以在第一修复数据表中,读取与第一失效信息表命中的表项对应的修复存储资源中存储的读数据。
S3037、失效修复控制模块向读写数据修复模块发送第二修复指令。
该第二修复指令包括目的地址、读数据,以及读指令。
示例性的,失效修复控制模块可以将其读取的与失效的地址对应的修复存储资源中存储的读数据,并将该读数据、目的地址,以及读指令发送给读写数据修复模块。
S3038、读写数据修复模块接收第二修复指令。
示例性,读写数据修复模块接收第二修复指令,获取读数据、目的地址,以及读指令。可选的,读写数据修复模块还可以将该读数据发送到外部数据总线,完成读请求的过程。
需要说明的是,本申请实施例中在请求访问的数据单元失效(目的地址失效),通过修复存储资源执行访问请求中的读写指令时,存储器外部对失效的数据单元的修复和替换操作并不感知。
本申请实施例提供的存储器的失效修复方法,通过在Logic die中集中部署修复存储资源,从而能够在失效修复控制模块确定目的地址失效时,通过该集中部署的修复存储资源执行访问请求中的读写指令,存储器外部对于修复存储资源替换失效的数据单元的操作并不感知。本实施例中的方案在确定请求访问的数据单元失效时,并不会区分该数据单元属于哪个Bank或者哪个Sub Bank或者哪个Channel,而是统一采用失效修复模块中的修复存储资源执行访问请求中的读写指令。因此能够在存储器中失效的数据单元分布不均匀时,提高修复存储资源的利用率,提高了芯片的良品率。而且本申请实施例中修复存储资源的修复粒度可以较为精细,例如修复粒度可以以Byte为粒度,从而能够进一步提高修复资源的利用率。
可选的,本申请实施例还提供一种存储器的失效修复方法,如图9所示,该方法在上述步骤S301之前,还可以包括S901-S905。
S901、自检模块向控制器发送自检请求。
S902、自检模块向地址寄存模块发送待检测的地址。
S903、自检模块基于预设自检算法,确定待检测的地址为失效的地址。
示例性的,自检模块可以基于ECC检错机制,检测存储器中失效的地址。可选的,由于存储器在运行过程中可能会有数据单元发生失效,因此,自检模块可以每隔一段时间检测一次存储器中失效的地址以对失效的地址进行更新。或者,自检模块可以在存储器较为空闲的时候检测存储器中失效的地址。
可选的,步骤S901中自检模块检测存储器中失效的地址时,可以向控制器发送自检请求,再结合读写数据修复模块,对待检测的地址进行检测,确定失效的地址。
S904、自检模块向失效修复控制模块发送失效的地址。
S905、失效修复控制模块接收并存储失效的地址。
示例性的,失效修复控制模块存储失效的地址时,可以将失效的地址存储在SRAM中。在该实现方式中,失效修复控制模块可以将失效的地址存储在上述第一失效信息表或第二失效信息表中。若两个失效的地址在采用步骤S3021中的预设算法进行地址压缩时,发生哈希冲突。例如,两个26bit的失效的地址压缩为同一个10bit的地址时,失效修复控制模块可以将其中一个失效的地址存储在第一失效信息表中,将另一个失效的地址存储在第二失效信息表中。
示例性的,失效修复控制模块存储失效的地址时,可以将失效的地址存储在CAM中。由于CAM为内容可寻址存储器,因此,在该实现方式中,可以将所有失效的地址存储在CAM中,而无需考虑地址压缩冲突的问题。
示例性的,失效修复控制模块可以将修复存储资源的修复粒度设置为Byte,例如,将修复的粒度设置为256bit或8bit。
本实施例中的方案通过自检模块可以确定存储器中失效的地址,并将该失效的地址发给失效修复控制模块,失效修复控制模块存储该失效的地址,从而在请求访问存储器的某个目的地址时,失效修复控制模块可以基于其存储的失效的地址确定该目的地址是否失效。并在目的地址失效的情况下,采用修复存储资源执行访问请求中的读写指令。由于本申请实施例的方案中,可以将修复存储资源集中部署在Logic die上,从而能够在失效的数据单元分布不均匀的情况下,提升修复存储资源的利用率,以提高存储器的良品率。而且,本申请实施例中的失效修复控制模块可以实现复杂逻辑,例如,可以将修复的粒度设置为Byte,修复粒度的细化可以进一步提高冗余存储资源的利用率。
上述主要从方法步骤的角度对本申请实施例提供的方案进行了介绍。可以理解的是,计算机为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请能够以硬件和计算机软件的结合形式来实现。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对失效修复控制模块进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图10示出了一种失效修复控制装置,该失效修复控制装置可以为芯片。该失效修复控制装置可以为上述实施例中所涉及的失效修复控制模块,该失效修复控制装置1000包括:获取单元1001、处理单元1002、通信单元1003。
其中,获取单元1001可以用于支持失效修复控制装置1000执行图3中的S301;处理单元1002可以用于支持失效修复控制装置1000执行图3中的S302和S303、或图4中的S3021-S3023、或图7中的S3035、或图8中的S3036;通信单元1003用于支持失效修复控制装置1000执行图3中的S3031和S3034、或图8中的S3037、或图9中的S905。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
示例性的,本申请实施例还提供一种集成电路,如图11所示,该集成电路包括逻辑裸片Logic die,逻辑裸片包括存储器接口,存储器控制器和修复存储资源。该修复存储资源为存储器中的冗余存储资源。
其中,存储器接口,用于与其他装置或设备通信。存储器控制器用于管理失效修复信息表,该失效修复信息表用于指示存储器中失效的地址,以及失效的地址对应的修复存储资源;获取访问请求,该访问请求包括读写命令和请求访问的数据单元的目的地址;基于该目的地址,查询失效修复信息表,若目的地址在失效修复信息表中有命中的表项,则向命中的表项对应的修复存储资源执行读写命令。该存储器控制器还用于执行图3、图4、图7、图8或图9中任一实施例中的存储器的失效修复方法中的失效修复控制模块的功能。
本申请实施例还提供一种装置,该装置以芯片的产品形态存在,该装置的结构中包括处理器,可选的,还可以包括存储器;存储器,用于存储失效修复信息表;处理器,用于执行上述图3、图4、图7、图8或图9中任一实施例中的存储器的失效修复方法。示例性的,该装置可以部署在Logic die中。
本申请实施例还提供了一种装置,该装置可以以芯片的产品形态存在,该装置的结构中包括处理器和接口电路,该处理器用于通过接口电路通信,使得该装置执行上述图3、图4、图7、图8或图9中任一实施例中的存储器的失效修复方法。
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储 介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。

Claims (54)

  1. 一种存储器的失效修复方法,其特征在于,应用于一种装置,所述装置包括逻辑裸片Logic die,所述逻辑裸片包括修复存储资源,所述方法包括:
    获取访问请求,所述访问请求包括读写指令和请求访问的数据单元的目的地址;
    基于所述目的地址,查询失效修复信息表,若所述目的地址在所述失效修复信息表中有表项命中,则向命中的表项对应的修复存储资源执行所述访问请求中的读写指令,所述失效修复信息表用于指示存储器中失效的地址,以及所述失效的地址对应的修复存储资源。
  2. 根据权利要求1所述的方法,其特征在于,所述读写指令为写指令时,所述向命中的表项对应的修复存储资源执行所述访问请求中的读写指令,包括:
    向读写数据修复模块发送第一修复指令,所述第一修复指令包括所述目的地址以及所述写指令;
    接收来自所述读写数据修复模块的写数据以及所述目的地址;
    在与所述命中的表项对应的修复存储资源中存储所述写数据。
  3. 根据权利要求1所述的方法,其特征在于,所述读写指令为读指令时,所述向命中的表项对应的修复存储资源执行所述访问请求中的读写指令,包括:
    读取与所述命中的表项对应的修复存储资源中存储的读数据;
    向读写数据修复模块发送第二修复指令,所述第二修复指令包括所述目的地址、所述读数据,以及所述读指令。
  4. 根据权利要求1-3中任一项所述的方法,其特征在于,所述失效修复信息表包括第一失效信息表和第一修复数据表,所述第一失效信息表中的表项用于指示存储器中失效的第一地址,所述第一修复数据表中的表项用于指示所述失效的第一地址对应的修复存储资源。
  5. 根据权利要求4所述的方法,其特征在于,所述第一失效信息表被保存在内容可寻址存储器CAM中,所述第一修复数据表被保存在静态随机存取存储器SRAM中。
  6. 根据权利要求5所述的方法,其特征在于,所述CAM中的表项用于保存失效的第一地址,所述CAM中的表项的位置与所述修复存储资源的地址信息对应。
  7. 根据权利要求4所述的方法,其特征在于,所述第一失效信息表和所述第一修复数据表被保存在SRAM中。
  8. 根据权利要求7所述的方法,其特征在于,所述基于所述目的地址,查询失效修复信息表,包括:
    将所述目的地址采用预设算法转换为参考地址,所述参考地址的地址长度与所述第一失效信息表的大小相对应;
    基于所述参考地址,查询所述第一失效信息表;
    相应的,所述目的地址在所述失效修复信息表中有表项命中,包括:所述目的地址在所述第一失效信息表中有表项命中。
  9. 根据权利要求8所述的方法,其特征在于,所述预设算法为哈希算法、双哈希算法或多哈希桶算法。
  10. 根据权利要求7-9中任一项所述的方法,其特征在于,所述失效修复信息表 还包括第二失效信息表和第二修复数据表,所述第二失效信息表中的表项用于指示存储器中失效的第二地址,所述第二修复数据表中的表项用于指示所述失效的第二地址对应的修复存储资源。
  11. 根据权利要求10所述的方法,其特征在于,所述第二失效信息表和所述第二修复数据表被保存在寄存器中。
  12. 根据权利要求10或11所述的方法,其特征在于,所述基于所述目的地址,查询失效修复信息表,还包括:
    若所述目的地址在所述第一失效信息表中未命中,基于所述目的地址,查询所述第二失效信息表;
    相应的,所述目的地址在所述失效修复信息表中有表项命中,包括:所述目的地址在所述第二失效信息表中有表项命中。
  13. 根据权利要求1-12中任一项所述的方法,其特征在于,所述修复存储资源的修复粒度为小于或等于2倍的数据总线的位宽DQ Width的大小,或N个字节,所述N大于或等于1。
  14. 一种集成电路,其特征在于,所述集成电路包括逻辑裸片,所述逻辑裸片包括存储器接口,存储器控制器和修复存储资源,
    所述存储器控制器用于:
    管理失效修复信息表,所述失效修复信息表用于指示存储器中失效的地址,以及所述失效的地址对应的修复存储资源;
    获取访问请求,所述访问请求包括读写命令和请求访问的数据单元的目的地址;
    基于所述目的地址,查询所述失效修复信息表,若所述目的地址在所述失效修复信息表中有命中的表项,则向所述命中的表项对应的修复存储资源执行所述读写命令。
  15. 根据权利要求14所述的集成电路,其特征在于,所述读写指令为写指令时,所述存储器控制器,具体用于:
    向读写数据修复模块发送第一修复指令,所述第一修复指令包括所述目的地址以及所述写指令;
    接收来自所述读写数据修复模块的写数据以及所述目的地址;
    在与所述命中的表项对应的修复存储资源中存储所述写数据。
  16. 根据权利要求14所述的集成电路,其特征在于,所述读写指令为读指令时,所述存储器控制器,具体还用于:
    读取与所述命中的表项对应的修复存储资源中存储的读数据;
    向读写数据修复模块发送第二修复指令,所述第二修复指令包括所述目的地址、所述读数据,以及所述读指令。
  17. 根据权利要求14-16中任一项所述的集成电路,其特征在于,所述失效修复信息表包括第一失效信息表和第一修复数据表,所述第一失效信息表中的表项用于指示存储器中失效的第一地址,所述第一修复数据表中的表项用于指示所述失效的第一地址对应的修复存储资源。
  18. 根据权利要求17所述的集成电路,其特征在于,所述第一失效信息表被保存在内容可寻址存储器CAM中,所述第一修复数据表被保存在静态随机存取存储器 SRAM中。
  19. 根据权利要求18所述的集成电路,其特征在于,所述CAM中的表项用于保存失效的第一地址,所述CAM中的表项的位置与所述修复存储资源的地址信息对应。
  20. 根据权利要求17所述的集成电路,其特征在于,所述第一失效信息表和所述第一修复数据表被保存在SRAM中。
  21. 根据权利要求20所述的集成电路,其特征在于,所述存储器控制器,具体还用于:
    将所述目的地址采用预设算法转换为参考地址,所述参考地址的地址长度与所述第一失效信息表的大小相对应;
    基于所述参考地址,查询所述第一失效信息表;
    相应的,所述目的地址在所述失效修复信息表中有表项命中,包括:所述目的地址在所述第一失效信息表中有表项命中。
  22. 根据权利要求21所述的集成电路,其特征在于,所述预设算法为哈希算法、双哈希算法或多哈希桶算法。
  23. 根据权利要求20-22中任一项所述的集成电路,其特征在于,所述失效修复信息表还包括第二失效信息表和第二修复数据表,所述第二失效信息表中的表项用于指示存储器中失效的第二地址,所述第二修复数据表中的表项用于指示所述失效的第二地址对应的修复存储资源。
  24. 根据权利要求23所述的集成电路,其特征在于,所述第二失效信息表和所述第二修复数据表被保存在寄存器中。
  25. 根据权利要求23或24所述的集成电路,其特征在于,所述存储器控制器,具体还用于:
    若所述目的地址在所述第一失效信息表中未命中,基于所述目的地址,查询所述第二失效信息表;
    相应的,所述目的地址在所述失效修复信息表中有表项命中,包括:所述目的地址在所述第二失效信息表中有表项命中。
  26. 根据权利要求14-25中任一项所述的集成电路,其特征在于,所述修复存储资源的修复粒度为小于或等于2倍的数据总线的位宽DQ Width的大小,或N个字节,所述N大于或等于1。
  27. 一种存储器的失效修复装置,其特征在于,应用于一种芯片,所述芯片包括逻辑裸片Logic die,所述逻辑裸片包括修复存储资源,所述装置包括:
    获取单元,用于获取访问请求,所述访问请求包括读写指令和请求访问的数据单元的目的地址;
    处理单元,用于基于所述目的地址,查询失效修复信息表,若所述目的地址在所述失效修复信息表中有表项命中,则向命中的表项对应的修复存储资源执行所述访问请求中的读写指令,所述失效修复信息表用于指示存储器中失效的地址,以及所述失效的地址对应的修复存储资源。
  28. 根据权利要求27所述的装置,其特征在于,所述读写指令为写指令时,所述装置还包括通信单元,
    所述通信单元,用于向读写数据修复模块发送第一修复指令,所述第一修复指令包括所述目的地址以及所述写指令;接收来自所述读写数据修复模块的写数据以及所述目的地址;
    所述处理单元,具体用于在与所述命中的表项对应的修复存储资源中存储所述写数据。
  29. 根据权利要求27所述的装置,其特征在于,所述读写指令为读指令时,所述装置还包括通信单元,
    所述处理单元,还用于读取与所述命中的表项对应的修复存储资源中存储的读数据;
    所述通信单元,用于向读写数据修复模块发送第二修复指令,所述第二修复指令包括所述目的地址、所述读数据,以及所述读指令。
  30. 根据权利要求27-29中任一项所述的装置,其特征在于,所述失效修复信息表包括第一失效信息表和第一修复数据表,所述第一失效信息表中的表项用于指示存储器中失效的第一地址,所述第一修复数据表中的表项用于指示所述失效的第一地址对应的修复存储资源。
  31. 根据权利要求30所述的装置,其特征在于,所述第一失效信息表被保存在内容可寻址存储器CAM中,所述第一修复数据表被保存在静态随机存取存储器SRAM中。
  32. 根据权利要求31所述的装置,其特征在于,所述CAM中的表项用于保存失效的第一地址,所述CAM中的表项的位置与所述修复存储资源的地址信息对应。
  33. 根据权利要求30所述的装置,其特征在于,所述第一失效信息表和所述第一修复数据表被保存在SRAM中。
  34. 根据权利要求33所述的装置,其特征在于,所述处理单元,具体用于:
    将所述目的地址采用预设算法转换为参考地址,所述参考地址的地址长度与所述第一失效信息表的大小相对应;
    基于所述参考地址,查询所述第一失效信息表。
  35. 根据权利要求34所述的装置,其特征在于,所述预设算法为哈希算法、双哈希算法或多哈希桶算法。
  36. 根据权利要求33-35中任一项所述的装置,其特征在于,所述失效修复信息表还包括第二失效信息表和第二修复数据表,所述第二失效信息表中的表项用于指示存储器中失效的第二地址,所述第二修复数据表中的表项用于指示所述失效的第二地址对应的修复存储资源。
  37. 根据权利要求36所述的装置,其特征在于,所述第二失效信息表和所述第二修复数据表被保存在寄存器中。
  38. 根据权利要求36或37所述的装置,其特征在于,所述处理单元,还用于:
    若所述目的地址在所述第一失效信息表中未命中,基于所述目的地址,查询所述第二失效信息表。
  39. 根据权利要求27-38中任一项所述的装置,其特征在于,所述修复存储资源的修复粒度为小于或等于2倍的数据总线的位宽DQ Width的大小,或N个字节,所 述N大于或等于1。
  40. 一种存储器的失效修复装置,其特征在于,所述装置包括逻辑裸片Logic die,所述逻辑裸片包括失效修复控制模块和修复存储资源;
    所述失效修复控制模块,用于:
    获取访问请求,所述访问请求包括读写指令和请求访问的数据单元的目的地址;
    基于所述目的地址,查询失效修复信息表,若所述目的地址在所述失效修复信息表中有表项命中,则向命中的表项对应的修复存储资源执行所述访问请求中的读写指令,所述失效修复信息表用于指示存储器中失效的地址,以及所述失效的地址对应的修复存储资源。
  41. 根据权利要求40所述的装置,其特征在于,所述逻辑裸片还包括读写数据修复模块,读写指令为写指令时,
    所述失效修复控制模块,具体用于向所述读写数据修复模块发送第一修复指令,所述第一修复指令包括所述目的地址以及所述写指令;
    所述读写数据修复模块,用于接收所述第一修复指令,并向所述失效修复控制模块发送写数据以及所述目的地址;
    所述失效修复控制模块,具体还用于接收来自所述读写数据修复模块的所述写数据以及所述目的地址,在与所述命中的表项对应的修复存储资源中存储所述写数据。
  42. 根据权利要求40所述的装置,其特征在于,所述逻辑裸片还包括读写数据修复模块,所述读写指令为读指令时,
    所述失效修复控制模块,具体用于读取与所述命中的表项对应的修复存储资源中存储的读数据,向所述读写数据修复模块发送第二修复指令,所述第二修复指令包括所述目的地址、所述读数据,以及所述读指令;
    所述读写数据修复模块,用于接收来自所述失效修复控制模块的所述第二修复指令。
  43. 根据权利要求40-42中任一项所述的装置,其特征在于,所述失效修复信息表包括第一失效信息表和第一修复数据表,所述第一失效信息表中的表项用于指示存储器中失效的第一地址,所述第一修复数据表中的表项用于指示所述失效的第一地址对应的修复存储资源。
  44. 根据权利要求43所述的装置,其特征在于,所述第一失效信息表被保存在内容可寻址存储器CAM中,所述第一修复数据表被保存在静态随机存取存储器SRAM中。
  45. 根据权利要求44所述的装置,其特征在于,所述CAM中的表项用于保存失效的第一地址,所述CAM中的表项的位置与所述修复存储资源的地址信息对应。
  46. 根据权利要求43所述的装置,其特征在于,所述第一失效信息表和所述第一修复数据表被保存在SRAM中。
  47. 根据权利要求46所述的装置,其特征在于,所述失效修复控制模块,具体用于:
    将所述目的地址采用预设算法转换为参考地址,所述参考地址的地址长度与所述第一失效信息表的大小相对应;
    基于所述参考地址,查询所述第一失效信息表。
  48. 根据权利要求47所述的装置,其特征在于,所述预设算法为哈希算法、双哈希算法或多哈希桶算法。
  49. 根据权利要求46-48中任一项所述的装置,其特征在于,所述失效修复信息表还包括第二失效信息表和第二修复数据表,所述第二失效信息表中的表项用于指示存储器中失效的第二地址,所述第二修复数据表中的表项用于指示所述失效的第二地址对应的修复存储资源。
  50. 根据权利要求49所述的装置,其特征在于,所述第二失效信息表和所述第二修复数据表被保存在寄存器中。
  51. 根据权利要求49或50所述的装置,其特征在于,所述失效修复控制模块,具体还用于:
    若所述目的地址在所述第一失效信息表中未命中,基于所述目的地址,查询所述第二失效信息表。
  52. 根据权利要求40-51中任一项所述的装置,其特征在于,所述修复存储资源的修复粒度为小于或等于2倍的数据总线的位宽DQ Width的大小,或N个字节,所述N大于或等于1。
  53. 根据权利要求40-52中任一项所述的装置,其特征在于,所述Logic die还包括自检模块、控制器和地址寄存模块,所述自检模块分别与所述控制器、地址寄存模块以及失效修复控制模块连接;
    所述自检模块,用于向所述控制器发送自检请求;
    所述控制器,用于接收所述自检请求;
    所述自检模块,还用于向所述地址寄存模块发送待检测的地址;
    所述自检模块,还用于基于预设自检算法,确定所述待检测的地址为失效的地址。
  54. 根据权利要求53所述的装置,其特征在于,
    所述自检模块,还用于向所述失效修复控制模块发送所述失效的地址;
    所述失效修复控制模块,还用于接收来自所述自检模块的失效的地址,并将所述失效的地址存储在所述失效修复信息表中。
PCT/CN2019/130840 2019-12-31 2019-12-31 一种存储器的失效修复方法及装置 WO2021134628A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201980103189.8A CN114830241A (zh) 2019-12-31 2019-12-31 一种存储器的失效修复方法及装置
PCT/CN2019/130840 WO2021134628A1 (zh) 2019-12-31 2019-12-31 一种存储器的失效修复方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/130840 WO2021134628A1 (zh) 2019-12-31 2019-12-31 一种存储器的失效修复方法及装置

Publications (1)

Publication Number Publication Date
WO2021134628A1 true WO2021134628A1 (zh) 2021-07-08

Family

ID=76685894

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/130840 WO2021134628A1 (zh) 2019-12-31 2019-12-31 一种存储器的失效修复方法及装置

Country Status (2)

Country Link
CN (1) CN114830241A (zh)
WO (1) WO2021134628A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115168087A (zh) * 2022-07-08 2022-10-11 超聚变数字技术有限公司 一种确定内存故障的修复资源粒度的方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115757196B (zh) * 2022-11-09 2023-09-01 超聚变数字技术有限公司 内存、访问内存方法及计算设备
CN115881202B (zh) * 2023-02-09 2023-05-12 长鑫存储技术有限公司 一种修复电路及方法、存储器和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9099165B1 (en) * 2012-05-02 2015-08-04 Inphi Corporation Single chip mixed memory for dynamic replacement of DRAM bad cell
CN106710635A (zh) * 2015-11-17 2017-05-24 旺宏电子股份有限公司 存储器装置及相应的写入方法
CN107544858A (zh) * 2016-06-28 2018-01-05 高丽大学校产学协力团 基于物理区域和虚拟区域应用故障修复的存储器设备及其控制方法
CN109308933A (zh) * 2017-07-27 2019-02-05 台湾积体电路制造股份有限公司 存储器修复方案
CN109698008A (zh) * 2017-10-23 2019-04-30 北京兆易创新科技股份有限公司 Nor型存储器位线故障的修复方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9099165B1 (en) * 2012-05-02 2015-08-04 Inphi Corporation Single chip mixed memory for dynamic replacement of DRAM bad cell
CN106710635A (zh) * 2015-11-17 2017-05-24 旺宏电子股份有限公司 存储器装置及相应的写入方法
CN107544858A (zh) * 2016-06-28 2018-01-05 高丽大学校产学协力团 基于物理区域和虚拟区域应用故障修复的存储器设备及其控制方法
CN109308933A (zh) * 2017-07-27 2019-02-05 台湾积体电路制造股份有限公司 存储器修复方案
CN109698008A (zh) * 2017-10-23 2019-04-30 北京兆易创新科技股份有限公司 Nor型存储器位线故障的修复方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115168087A (zh) * 2022-07-08 2022-10-11 超聚变数字技术有限公司 一种确定内存故障的修复资源粒度的方法及装置
CN115168087B (zh) * 2022-07-08 2024-03-19 超聚变数字技术有限公司 一种确定内存故障的修复资源粒度的方法及装置

Also Published As

Publication number Publication date
CN114830241A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
WO2021134628A1 (zh) 一种存储器的失效修复方法及装置
US8176360B2 (en) Method and apparatus for addressing actual or predicted failures in a FLASH-based storage system
EP2710472B1 (en) Memory with metadata stored in a portion of the memory pages
US10120750B2 (en) Cache memory, error correction circuitry, and processor system
JP2017151982A (ja) データストレージサブシステムにおけるキャッシングのための方法およびシステム
US10769013B1 (en) Caching error checking data for memory having inline storage configurations
US8799727B2 (en) Arithmetic processing apparatus and method of controlling arithmetic processing apparatus
KR20110001881A (ko) 비트 에러 임계값 및 메모리 장치의 리맵핑
US7428617B2 (en) Cache memory and method to maintain cache-coherence between cache memory units
US9424195B2 (en) Dynamic remapping of cache lines
US20190258543A1 (en) Memory device, semiconductor device, and semiconductor system
JP3989312B2 (ja) キャッシュメモリ装置およびメモリ割付方法
CN108665939B (zh) 为存储器提供ecc的方法与装置
US9496009B2 (en) Memory with bank-conflict-resolution (BCR) module including cache
US10698834B2 (en) Memory system
US11836089B2 (en) Cache memory, memory system including the same and operating method thereof
US8359528B2 (en) Parity look-ahead scheme for tag cache memory
CN115016981A (zh) 存储区域的设置方法、数据读取、写入方法及相关装置
JP2006039968A (ja) アドレス変換バッファ制御装置およびアドレス変換バッファ制御方法
US11010241B2 (en) Translation protection in a data processing apparatus
US20100251013A1 (en) Method for processing bad block in redundant array of independent disks
CN108694209B (zh) 基于对象的分布式索引方法和客户端
CN108664417B (zh) 一种目录更新方法及装置
US10140025B2 (en) Memory system including memory controller and operation method thereof
CN118132459A (zh) 硬件存储地址的重映射方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19958697

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19958697

Country of ref document: EP

Kind code of ref document: A1