MRAM chip with dynamic redundancy function

文档序号:952838 发布日期:2020-10-30 浏览:8次 中文

阅读说明:本技术 具有动态冗余功能的mram芯片 (MRAM chip with dynamic redundancy function ) 是由 戴瑾 王春林 叶力 夏文斌 于 2019-04-29 设计创作,主要内容包括:具有动态冗余功能的MRAM芯片,ECC纠错单元在正常读操作时接收主存储区中被读取数据,将查到的出错信息上报;当该正常读操作完成时,纠错控制器判断收到的错误数量是否超过设定值,为是时判断被读取数据地址是否在寄存器的出错地址中,为是时则将该出错地址对应的计数器加一,判断该计数器的计数值是否达到设定值,为是时则标明该出错地址对应的替换标识为永久替换标识,并在冗余存储区中寻找空闲地址作为替换地址,将经过ECC纠错的数据写入替换地址中;在被读取数据地址不在寄存器的出错地址中时,查找到一组空闲的寄存器,将被读取数据地址写入查到的寄存器中,并将该出错地址对应计数器的计数设为1、对应的替换标识标记为非替换。(The ECC error correction unit receives read data in the main storage area during normal read operation of the MRAM chip with the dynamic redundancy function, and reports the checked error information; when the normal reading operation is finished, the error correction controller judges whether the number of received errors exceeds a set value or not, if so, judges whether the address of the read data is in the error address of the register or not, if so, adds one to a counter corresponding to the error address, judges whether the count value of the counter reaches the set value or not, if so, indicates that a replacement identifier corresponding to the error address is a permanent replacement identifier, searches a free address in a redundant storage area as a replacement address, and writes the data subjected to ECC error correction into the replacement address; when the read data address is not in the error address of the register, a group of idle registers are searched, the read data address is written into the searched registers, the count of a counter corresponding to the error address is set to be 1, and the corresponding replacement identification mark is marked as non-replacement.)

1. An MRAM chip with a dynamic redundancy function is characterized by comprising a main storage area, an ECC error correction unit, a redundancy storage area and an error correction controller, wherein the error correction controller comprises a plurality of groups of nonvolatile registers, and each group of registers comprises an error address, a replacement identifier and a counter;

the ECC error correction unit is used for receiving the read data in the main storage area when the MRAM chip performs normal reading operation, checking bit error information in the data, performing ECC error correction, and reporting the checked bit error information to the error correction controller;

the error correction controller is used for judging whether the number of bit errors in the received bit error information exceeds a set value or not when the normal reading operation is finished, judging whether the address of the read data is in the error address of a register of the error correction controller or not when the error address exceeds the set value, performing an operation on a counter corresponding to the error address when the error address exceeds the set value, further judging whether the count value of the counter reaches the set value, marking a replacement identifier corresponding to the error address as a permanent replacement identifier when the counter reaches the set value, searching an idle address in a redundant storage area as a replacement address, and writing the data subjected to ECC error correction into the replacement address; when the address of the read data is not in the error address of the register of the error correction controller, a group of idle registers are searched in the error correction controller, the address of the read data is written into the error address of the searched register, the count of a counter corresponding to the written error address is set to be 1, and the corresponding replacement identification mark is a non-replacement identification.

2. The MRAM chip with dynamic redundancy function according to claim 1, wherein the error correction controller is configured to determine whether an address in the read/write command is in the register whose replacement identifier is the permanent replacement identifier when the MRAM chip receives the read/write command, continue normal read/write operations when the address is not, return data in the replacement address corresponding to the address in the read command in the redundant memory area when the address is yes and the read/write command is the read command, and write the data in the address in the write command into the replacement address corresponding to the address in the write command in the redundant memory area when the address is yes and the read/write command is the write command.

3. The MRAM chip with dynamic redundancy function according to claim 1, wherein the error correction controller is configured to empty the contents of the register with the lowest count of the counter when there is no empty register in the error correction controller, and to use the empty register as a free register.

4. The MRAM chip with dynamic redundancy function according to claim 1, wherein each set of registers is further provided with a flag for marking whether the set of registers is free.

5. The MRAM chip with dynamic redundancy function according to claim 1, wherein the redundant memory area is provided independently from the main memory area or distributed within each memory array of the main memory area.

Technical Field

The present invention relates to the field of MRAM chip technology, and in particular, to an MRAM chip having a dynamic redundancy function.

Background

MRAM is a new memory and storage technology, can be read and written randomly as SRAM/DRAM, and can permanently retain data after power failure as Flash memory. The method has good economy, occupies small silicon chip area per unit volume, and has great advantages compared with SRAM; the number of additional photomasks required in the manufacturing process is small, and the cost advantage is larger than that of the embedded NOR Flash. Its performance is also quite good, the read-write time delay is close to SRAM, and the power consumption is much lower than that of flash memory. Also MRAM is not compatible with standard CMOS semiconductor processes like DRAM and Flash. The MRAM may be integrated with the logic circuit in one chip.

The principle of MRAM is based on a structure called MTJ (magnetic tunnel junction). It is composed of two layers of ferromagnetic material sandwiching a very thin layer of non-ferromagnetic insulating material. As shown in FIG. 1: the lower layer of ferromagnetic material is a reference layer with a fixed magnetization direction and the upper layer of ferromagnetic material is a memory layer with a variable magnetization direction, which may be parallel or anti-parallel to the fixed magnetization layer. Due to quantum physical effects, current can pass through the middle tunnel barrier layer, but the resistance of the MTJ is related to the magnetization direction of the variable magnetization layer. The former case has a low resistance and the latter case has a high resistance.

The process of reading the MRAM is to measure the resistance of the MTJ. Using the newer STT-MRAM technology, writing to MRAM is also simpler: write operations are performed through the MTJ using a stronger current than read. A bottom-up current places the variable magnetization layer in a direction parallel to the fixed layer, and a top-down circuit places it in an anti-parallel direction.

An MRAM chip is made up of one or more arrays of MRAM memory cells, each array having a number of external circuits, such as: a row address decoder: changing the received address into a Word Line selection; a column address decoder: changing the received address into a selection of Bit Line; a read-write controller: controlling a read (measure) write (add current) operation on the Bit Line; input and output control: and exchange data externally.

The read-out circuit of an MRAM needs to detect the resistance of the MRAM memory cell. Since the resistance of the MTJ may drift with temperature and the like, a general method is to use some memory cells on a chip that have been written into a high resistance state or a low resistance state as reference cells, and then compare the resistance of the memory cells and the reference cells using a Sense Amplifier (Sense Amplifier).

Since the process of the MRAM is not perfect, the MRAM chip under development currently has an ECC error correction function. This technique uses a method of adding a few bits to each word (usually 32 or 64 bits) that is read and written to achieve correction of no more than a certain number of errors. For example, a 64-bit word is encoded, and 14 error correction bits are added; during reading, if the error is not more than 2 bits, the error will be corrected during decoding.

For a memory chip, a small part of memory cells often fail due to imperfect manufacturing process, and a redundant cell is generally used for replacement. However, during the use of MRAM, a small amount of memory cell damage or resistance drift error may occur. There is a need for a method to automatically fix these failed units without losing data.

US20030133333 proposes to build an address translator to implement the replacement of the defective cell. US patent US8929167 proposes to add a BIST system to a chip to automatically test memory cells and to automatically repair failed memory cells with redundant cells. But both can not solve the problem of damage in the using process and can only be used on a production line.

US20150074474 is the closest technique. They propose to perform a test each time they are turned on, replacing the damaged cells. Modern computing systems last for a long time. This approach still provides immunity to data storage errors if damage to the memory cells occurs during use.

Disclosure of Invention

The invention provides an MRAM chip with a dynamic redundancy function, aiming at the problems and the defects in the prior art.

The invention solves the technical problems through the following technical scheme:

the invention provides an MRAM chip with a dynamic redundancy function, which is characterized by comprising a main storage area, an ECC error correction unit, a redundancy storage area and an error correction controller, wherein the error correction controller comprises a plurality of groups of nonvolatile registers, and each group of registers comprises an error address, a replacement identifier and a counter;

the ECC error correction unit is used for receiving the read data in the main storage area when the MRAM chip performs normal reading operation, checking bit error information in the data, performing ECC error correction, and reporting the checked bit error information to the error correction controller;

the error correction controller is used for judging whether the number of bit errors in the received bit error information exceeds a set value or not when the normal reading operation is finished, judging whether the address of the read data is in the error address of a register of the error correction controller or not when the error address exceeds the set value, performing an operation on a counter corresponding to the error address when the error address exceeds the set value, further judging whether the count value of the counter reaches the set value, marking a replacement identifier corresponding to the error address as a permanent replacement identifier when the counter reaches the set value, searching an idle address in a redundant storage area as a replacement address, and writing the data subjected to ECC error correction into the replacement address; when the address of the read data is not in the error address of the register of the error correction controller, a group of idle registers are searched in the error correction controller, the address of the read data is written into the error address of the searched register, the count of a counter corresponding to the written error address is set to be 1, and the corresponding replacement identification mark is a non-replacement identification.

Preferably, the error correction controller is configured to, when the MRAM chip receives the read-write instruction, determine whether an address in the read-write instruction is in the register whose replacement identifier is the permanent replacement identifier, continue normal read-write operation if the address is not in the register, return data in the replacement address corresponding to the address in the read instruction in the redundant storage area if the address is yes and the read-write instruction is the read instruction, and write the data in the address in the write instruction into the replacement address corresponding to the address in the write instruction in the redundant storage area if the address is yes and the read-write instruction is the write instruction.

Preferably, the error correction controller is configured to, when there is no free register in the error correction controller, clear the content in the register with the lowest count of the counter, and use the cleared register as a free register.

Preferably, each set of registers is further provided with a flag for marking whether the set of registers is free.

Preferably, the redundant memory area is arranged independently from the primary memory area, or the redundant memory area is distributed in each memory array of the primary memory area.

On the basis of the common knowledge in the field, the above preferred conditions can be combined randomly to obtain the preferred embodiments of the invention.

The positive progress effects of the invention are as follows:

the invention can solve the problem of use damage, and can replace in advance when the whole word is not damaged to be uncorrectable by combining with ECC, so that no error occurs in the repair process.

The invention solves the problem of use damage, so that the writing voltage can be increased, and the speed is further improved.

Drawings

FIG. 1 is a schematic diagram of a conventional MTJ.

FIG. 2 is a block diagram of an MRAM chip with dynamic redundancy function according to a preferred embodiment of the invention.

Detailed Description

In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be obtained by a person skilled in the art without any inventive step based on the embodiments of the present invention, are within the scope of the present invention.

As shown in fig. 2, the present embodiment provides an MRAM chip with dynamic redundancy function, which includes a main storage area 1, an ECC error correction unit 2, a redundant storage area 3, and an error correction controller 4, where the error correction controller 4 includes a plurality of sets of nonvolatile registers, and each set of registers includes an error address, a replacement identifier, and a counter. The redundant memory area 3 is provided independently of the main memory area 1, or the redundant memory area 3 is distributed in each memory array of the main memory area 1.

The ECC error correction unit 2 is configured to receive data read in the main storage area 1 when the MRAM chip performs normal read operation, check bit error information in the data, perform ECC error correction, and report the checked bit error information to the error correction controller 4.

The error correction controller 4 is configured to, when the normal read operation is completed, determine whether the number of bit errors in the received bit error information exceeds a set value, if so, determine whether the address of the read data is in an error address of a register of the error correction controller 4, if so, perform an operation on a counter corresponding to the error address, further determine whether a count value of the counter reaches a count set value, if so, mark a replacement identifier corresponding to the error address as a permanent replacement identifier, search for an idle address in the redundant memory area 3 as a replacement address, and write the ECC-corrected data into the replacement address; when the address of the read data is not in the error address of the register of the error correction controller 4, a group of idle registers is searched in the error correction controller 4, the address of the read data is written into the error address of the searched register, the count of a counter corresponding to the written error address is set to be 1, and the corresponding replacement identifier is marked as a non-replacement identifier.

The error correction controller 4 is configured to, when the MRAM chip receives the read-write instruction, determine whether an address in the read-write instruction is in the register whose replacement identifier is the permanent replacement identifier, continue normal read-write operation if the address is not in the register, return data in the replacement address corresponding to the address in the read instruction in the redundant storage area 3 if the address is yes and the read-write instruction is the read instruction, and write the data in the address in the write instruction into the replacement address corresponding to the address in the write instruction in the redundant storage area 3 if the read-write instruction is yes and the read-write instruction is the write instruction.

The error correction controller 4 is configured to, when there is no free register in the error correction controller, clear the content in the register with the lowest count of the counter, and use the cleared register as a free register.

In addition, each group of registers is provided with a flag for marking whether the group of registers is free or not.

The present invention is described below with reference to a specific example so that those skilled in the art can better understand the technical solution of the present invention:

the MRAM chip performs normal reading operation, the ECC error correction unit 2 receives the read data in the main storage area 1, checks and corrects bit error information in the data, and reports the checked bit error information to the error correction controller 4.

When the normal reading operation is completed, the error correction controller 4 determines whether the number of bit errors in the received bit error information exceeds a set value (for example, 5), determines whether the address of the read data is in the error address of the register of the error correction controller 4 when the number of bit errors exceeds the set value, and if the address of the read data is in the error address 1 of the register of the error correction controller 4, the counter 1 corresponding to the error address 1 is actually operated, determines whether the count value of the counter 1 reaches the set value (for example, 3), and if so, the replacement identifier 1 corresponding to the error address 1 is indicated as a permanent replacement identifier, and a free address is searched in the redundant storage area 3 as the replacement address 1, and the data subjected to ECC error correction is written into the replacement address 1.

When the address of the read data is not in the error address of the register of the error correction controller 4, a set of idle registers (such as the error address 2, the replacement identifier 2, and the counter 2) is found in the error correction controller 4, the address of the read data is written into the error address 2 of the found register, the count of the counter 2 corresponding to the error address 2 is set to 1, and the corresponding replacement identifier 2 is marked as a non-replacement identifier.

While specific embodiments of the invention have been described above, it will be appreciated by those skilled in the art that these are by way of example only, and that the scope of the invention is defined by the appended claims. Various changes and modifications to these embodiments may be made by those skilled in the art without departing from the spirit and scope of the invention, and these changes and modifications are within the scope of the invention.

7页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:缓存器件及制作方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类