WO2007046349A1 - Mram、及びその動作方法 - Google Patents
Mram、及びその動作方法 Download PDFInfo
- Publication number
- WO2007046349A1 WO2007046349A1 PCT/JP2006/320609 JP2006320609W WO2007046349A1 WO 2007046349 A1 WO2007046349 A1 WO 2007046349A1 JP 2006320609 W JP2006320609 W JP 2006320609W WO 2007046349 A1 WO2007046349 A1 WO 2007046349A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- read
- error
- cell
- reference cell
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012937 correction Methods 0.000 claims description 71
- 238000001514 detection method Methods 0.000 claims description 40
- 230000002093 peripheral effect Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 12
- 238000011017 operating method Methods 0.000 claims description 11
- 230000005291 magnetic effect Effects 0.000 description 40
- 238000010586 diagram Methods 0.000 description 19
- 230000007704 transition Effects 0.000 description 12
- 230000005415 magnetization Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000005294 ferromagnetic effect Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 208000011580 syndromic disease Diseases 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000005290 antiferromagnetic effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1653—Address circuits or decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1673—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1675—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Definitions
- the present invention relates to a magnetic random access memory (MRAM), and more particularly to an MRAM that supports toggle writing.
- MRAM magnetic random access memory
- MRAM is a non-volatile memory capable of high-speed writing and Z-reading, and research and development for practical use has been actively conducted in recent years! /
- an MRAM is a magnetoresistive element composed of a magnetization free layer that can be reversed in magnetization, a magnetization fixed layer in which a magnetic field is fixed, and a nonmagnetic layer interposed therebetween.
- the element is used as a memory cell. Data is stored as the orientation of the magnetic layer of the magnetic layer.
- the nonmagnetic layer is extremely thin and is made of an insulator, the magnetoresistive element exhibits a TMR (tunnel magnetoresistance) effect, and the magnetoresistive element thus constructed is often MTJ (magnetic tunnel junction). ) Called an element.
- the magnetoresistive element when the nonmagnetic layer is made of a nonmagnetic conductor, the magnetoresistive element exhibits a GMR (giant magnetoresistance) effect, and the thus configured magnetoresistive element is a CPP—GMR (current perpendicular). To-plane giant magnetoresistive) element.
- GMR giant magnetoresistance
- CPP—GMR current perpendicular
- Data writing is most commonly performed by applying a magnetic field to the magnetic free layer by flowing a write current through a word line and a bit line provided in the vicinity of the memory cell. This is done by reversing the magnetization of the free layer in the desired direction.
- the magnetoresistive effect exhibited by the magnetoresistive element is used for reading data.
- the resistance of the memory cell changes according to the direction of the magnetic layer of the magnetic layer. This change in resistance of the memory cell appears as a change in the current flowing through the memory cell or the voltage drop generated in the memory cell.
- the data in the memory cell is determined.
- a reference in which prescribed data is written in advance is often used.
- a cell is used.
- a cell actually used for storing data among the memory cells may be referred to as a data cell.
- data in the data cell is discriminated by generating a reference signal using the reference cell and comparing the data signal obtained by the data cell power with the reference signal.
- MRAM memory cells in which a write current flows only to one of the corresponding word lines and bit lines. Can be. This undesirably degrades the reliability of MRAM operation.
- toggle write (see US Pat. No. 6,545,906).
- the toggle write method is a technology that performs write operation with high selectivity by using SAF (synthetic antiferromagnet) in the magnetic free layer; where SAF is composed of multiple ferromagnetic layers A structure in which adjacent ferromagnetic layers are magnetically coupled antiferromagnetically.
- FIG. 1 is a plan view showing a typical configuration of an MRAM that employs a toggle writing method.
- a bit line 102 and a word line 103 orthogonal to the bit line 102 are extended.
- a magnetoresistive element 101 used as a memory cell intersects the bit line 102 and the word line 103. It is provided at each of the positions.
- the magnetoresistive element 101 is composed of a magnetoresistive element including an antiferromagnetic layer 111, a magnetic pinned layer 112, a noria layer 113, and a magnetic free layer 114. .
- FIG. 1 is a plan view showing a typical configuration of an MRAM that employs a toggle writing method.
- a bit line 102 and a word line 103 orthogonal to the bit line 102 are extended.
- a magnetoresistive element 101 used as a memory cell intersects the bit line 102 and the word line 103. It is provided at each of the positions.
- the magnetoresistive element 101 is composed of
- the magnetoresistive element 101 is arranged so that the easy axis of the magnetic pinned layer 112 and the magnetic pinned free layer 114 form an angle of 45 ° with the bit line 102 and the word line 103.
- the longitudinal direction of the magnetoresistive element 101 is arranged at an angle of 45 ° with the bit line 102 and the word line 103.
- the magnetic free layer 114 is composed of ferromagnetic layers 121 and 122 and a nonmagnetic layer 123 interposed therebetween.
- the overall remanent magnetization of the magnetic free layer 114 (that is, the overall magnetization of the magnetic free layer 114 in the case of external magnetic field force) is as close to 0 as possible. This is important for SAF to develop a spin flop. This The condition can be satisfied, for example, by forming the two ferromagnetic layers 121 and 122 with the same material and the same film thickness.
- FIG. 3 is a conceptual diagram for explaining the procedure of the toggle writing method.
- FIG. 4 shows the waveforms of currents flowing through the bit line 102 and the word line 103 when data writing is performed by toggle writing. It is a graph to show. Note that in FIG. 3, the magnetizations of the ferromagnetic layers 121 and 122 of the magnetic free layer 114 are referenced by the symbols M and M, respectively.
- the direction of the magnetic field applied to the magnetic free layer 114 is rotated in the plane, and the magnetic layers 121 and 122 constituting the magnetic free layer 114 are rotated by this magnetic field. This is done by reversing the magnetic field. Specifically, first, a write current is supplied to the word line 103, which generates a magnetic field H in a direction perpendicular to the word line 103.
- bit line 1 A magnetic field H + H is generated in the direction of 45 °. Subsequently, bit line 1
- the magnetic field applied to the magnetic free layer 114 is rotated, whereby the magnetic layers of the ferromagnetic layers 121 and 122 constituting the magnetic free layer 114 are rotated by 180 °. It can be rotated.
- magnetization can be reversed, that is, only data can be reversed.
- data “0” is to be written in a certain target memory cell
- the data is read from the target memory cell. Only when the read data power is 1 ", the target memory cell is toggled and data '0' is stored in the target memory cell; the read data is" 0 " In this case, writing to the target memory cell is not performed.
- the magnetic field of the SAF does not invert even when a write current is supplied to only one of the word line 103 or the bit line 102.
- the SAF magnetic field is reversed by the magnetic field generated by the write current flowing in the bit line and the word line.
- FIG. 5 which is a graph showing a region, when toggle writing is employed, a write current is supplied only to one of the corresponding word line 103 or bit line 102.
- the magnetic flux does not reverse undesirably in principle. This effectively improves MRAM memory cell selectivity.
- a general object of the present invention is to provide an error correction technique optimal for an MRAM that employs toggle writing. More specifically, an object of the present invention is to provide an MRAM that can correct data with high probability even if it is unclear whether a data error is caused by a data cell or a reference cell. .
- An MRAM operating method is an MRAM operating method in which data writing is performed by toggle writing.
- the operation method includes:
- steps (A) to (C) are performed in one read cycle of the plurality of read cycles, and the steps (D) to (I) are performed at the last of the plurality of read cycles. It is preferably performed after the lead cycle is completed.
- the steps (A) to (C) include the first of a plurality of read cycles.
- the steps (D) to (I) are performed in a second read cycle after the first read cycle of the plurality of read cycles, and the step (G) is performed in a read cycle.
- the third read cycle is preferably performed after the second read cycle.
- an MRAM operating method includes first to n-th data cells and first to n-th reference cells (n is an integer of 3 or more), and by toggle writing. This is the MRAM operation method in which data is written.
- the operation method is
- step (C 2) In the step (B-2), when an error is detected in the first re-read data, the second re-read data from the first data cell in the third read cycle.
- an MRAM operating method includes:
- an MRAM operating method includes:
- the reference cell address when the reference cell address is registered in the reference cell address storage means and no error is detected in the read data, the reference cell address is stored in the reference cell address storage.
- the method further comprises a step of eliminating the means force.
- the MRAM reads data from the data cell using a memory array including a data cell and a reference cell, and a reference signal generated using the reference cell, and And a peripheral circuit configured to write data into the data cell by toggle writing.
- the peripheral circuit (A) detects an error in the read data from which the data cell power is also read, and corrects the data stored in the data cell when an error is detected in the read data, and (B) Correction of the data cell After positive, the first reread data is read from the data cell, the error of the first reread data is detected, and (C) stored in the reference cell when an error is detected in the first reread data (D) after the correction of the reference cell, the second reread data is read from the data cell, the error of the second reread data is detected, and (E) the second reread data is detected.
- the data stored in the data cell (17) is corrected again.
- the MRAM includes first to nth data cells (n is an integer of 3 or more), first to nth reference cells, and first to nth ECC circuits. Circuit.
- the peripheral circuit uses (A-1) reference signals generated using the first to nth reference cells, respectively, from the first to nth data cells. 1st to nth read data is read, (A-2) the first to nth read data is detected using the first to nth ECC circuits, and (A-3) the first to nth read data is detected.
- the first output data out of the output data is output to the outside after performing error correction, and (A-4) when an error is detected in the first read data, It is configured to correct the stored data.
- the peripheral circuit performs error correction on the second output data of (B-1) the first to n-th read data in the second read cycle after the first read cycle.
- B-2 When an error is detected in the first read data, read the first reread data from the first data cell, and (B-3) the first reread.
- B-4) When an error is detected in the first reread data, the data stored in the first reference cell is corrected.
- the peripheral circuit performs error correction on (C-1) the third output data of the first to n-th read data. And (C 2) reading the first data cell force second re-read data when an error is detected in the first re-read data, and (C 3) reading the second re-read data.
- C-4) When an error is detected in the second reread data, the data stored in the first data cell is corrected again.
- C-4 When an error is detected in the second reread data, the data stored in the first data cell is corrected again.
- the MRAM includes a memo including a data cell and a reference cell. And a peripheral circuit including a reference cell address storage unit.
- the peripheral circuit selects (A) a selected reference cell from the reference cell in response to an externally designated address, and selects a selected data cell to be selected in response to the address. (B) Read out the selected data cell power read data using a reference signal generated using the selected reference cell, (C) detect an error in the read data, and (D) detect the selected reference cell. (E) The reference cell address is not registered in the reference cell address storage means, and the read data is stored in the reference cell address storage means.
- the error of the selected data cell is corrected and the reference cell address is registered in the reference cell address storage means, (F) the reference cell address It is registered in the reference cell address storage means, and, if an error is detected in the read data, and is configured to correct errors in the selected reference cell, Ru.
- FIG. 1 is a plan view showing a configuration of an MRAM memory cell corresponding to toggle writing.
- FIG. 2 is a cross-sectional view showing the configuration of an MRAM memory cell corresponding to toggle writing.
- FIG. 3 is a conceptual diagram showing a procedure for toggle writing.
- FIG. 4 is a graph showing waveforms of word line current and bit line current.
- FIG. 5 is a graph showing an area where a write operation is possible in MRAM adopting toggle write.
- FIG. 6 is a block diagram showing the configuration of the MRAM according to the first embodiment of the present invention.
- FIG. 7A is a diagram showing details of the configuration of the memory array.
- FIG. 7B is a conceptual diagram showing the operation of the MRAM when the reference cell holds erroneous data.
- FIG. 8 is a state transition diagram during a read operation of the MRAM according to the first exemplary embodiment.
- FIG. 9 is a flowchart showing a procedure of a read operation of the MRAM according to the first exemplary embodiment.
- FIG. 10 is a timing chart showing an example of the read operation of the MRAM according to the first exemplary embodiment.
- FIG. 11 is a state transition diagram during a write operation of the MRAM according to the first exemplary embodiment.
- FIG. 12 is a flowchart showing a procedure of a write operation according to the first embodiment.
- FIG. 13 is a block diagram showing a configuration of the MRAM according to the second exemplary embodiment.
- FIG. 14 is a diagram showing address assignment of the MRAM according to the second embodiment.
- FIG. 15 is a timing chart showing an example of the read operation of the MRAM according to the first exemplary embodiment.
- FIG. 16 is a block diagram showing a configuration of the MRAM according to the third exemplary embodiment.
- FIG. 17 is a conceptual diagram schematically explaining the operation of the MRAM according to the third exemplary embodiment.
- FIG. 18 is a flowchart for explaining the operation of the MRAM according to the third embodiment.
- FIG. 6 is a block diagram showing a configuration of the MRAM according to the first exemplary embodiment of the present invention.
- the MRAM according to this embodiment includes n banks 1 to 1 and a controller 2.
- Nonks 1 to 1 are associated with data input / output DQ [l] to DQ [n], respectively.
- Nodes 1 to 1 store the corresponding data input / output force received data.
- data stored in banks 1 to 1 is also output to the corresponding data input / output DQ [l] to DQ [n].
- the controller 2 functions as an interface between the data input / output DQ [l] to DQ [n] and the banks 1 to 1 and performs processing related to error correction.
- the nonks 1 to 1 and the controller 2 will be described in detail.
- Each of the nodes 1 to 1 includes a memory array 11, a row decoder 12, a column decoder 13, a write circuit 14, a sense amplifier 15, and a data buffer Z comparator 16.
- memory cells formed of magnetoresistive elements are arranged in a matrix.
- the row decoder 12 and the column decoder 13 are for selecting memory cells. Row decoder 12 is used to select a row of memory cells, and column decoder 13 is selected to select a column of memory cells.
- the write circuit 14 generates a write current for writing data to the selected memory cell during the write operation. As will be described later, data is written to the selected memory cell by the above-described toggle writing.
- the sense amplifier 15 discriminates the data in the selected memory cell and generates read data.
- the data buffer Z comparator 16 determines whether or not the data in the selected memory cell should be inverted, and generates a determination result signal indicating the determination result. More specifically, the data buffer Z comparator 16 receives the data written in the selected memory cell from the sense amplifier 15, and compares the received data with the input data to be written in the selected memory cell. If they do not match, the data buffer Z comparator 16 activates the determination result signal and allows the write circuit 14 to generate a write current. If they match, the data notifier Z comparator 16 deactivates the judgment result signal. In this case, the data in the selected memory cell is not inverted.
- the data buffer built in the data buffer / comparator 16 stores the read data output from the sense amplifier 15 and the write data to which an external force is also input in the temporary storage means.
- the comparator consists of an exclusive OR gate that compares the match Z mismatch between the output data of the data buffer and the write data input from the outside.
- FIG. 7 is a diagram showing the configuration of the memory array in detail.
- the memory array 11 includes a word line 19, a bit line 20, and memory cells provided at positions where they intersect.
- the structures of the data cell 17 and the reference cell 18 are both the same as the structure of the magnetoresistive element 101 shown in FIG. When data cell 17 and reference cell 18 are written In this case, a write current is supplied to the corresponding word line 19 and bit line 20.
- the data cell 17 is a memory cell in which data is actually stored.
- data subjected to error correction coding is stored.
- data cells 17 that store bits of the same error correction code are located in the same row.
- the error correction code for example, a block code such as a no, a ming code, a BCH code, or a Reed-Solomon code is preferably used.
- the reference cell 18 is a memory cell used for generating a reference signal used for reading data from the data cell 17.
- the reference cells 18 are arranged in two columns in the center of the memory array 11; that is, as shown in FIG. 7A, two reference cells 18 are provided in one memory cell row. Yes.
- Two reference cells 18 corresponding to the same row are hereinafter referred to as a reference cell pair 21. Initially, data “0” is written in one of the two reference cells 18 of the reference cell pair 21 and data “1” is written in the other.
- two reference cells 18 located in a memory cell row are used for reading data cells 17 in a certain memory cell row.
- the controller 2 includes an address Z mode control unit 31, a data control unit 32, and an ECC circuit 33.
- the address Z mode control unit 31 generates various internal control signals: for example, a row address signal, a column address signal, an internal write enable signal IWE, and a sense enable signal SE in response to an address input and a command input.
- Command inputs include, for example, a chip enable signal ZCE1, an output enable signal ZOE, and a write enable signal ZWE.
- the symbol “ ⁇ ” means that the signal is low active.
- the data control unit 32 functions as a data interface between the data input / output DQ [l] to DQ [n], the banks 1 to 1, and the ECC circuit 33.
- the ECC circuit 33 performs an operation for error correction.
- the ECC circuit 33 is an encoder 34 that performs error correction code input. And a decoder 35 for performing decoding and error detection.
- One feature of the read operation of the MRAM of this embodiment is that when an error is found in the read data, the data in the data cell 17 is first unconditionally corrected (that is, the data is inverted), and thereafter If the data error is not resolved, the data in the reference cell 18 is corrected and the data in the data cell 17 is re-inverted; in the MRAM of this embodiment, the data cell 17 is corrected before the data cell 17 is corrected. And which of the reference cells 18 has the cause of the read error.
- the data bit read from the data cell 17 is analyzed, it cannot be determined to some extent whether the read error is caused by the data cell 17 or the reference cell 18. For example, if a single bit error has occurred, there is a high possibility that the data cell 17 has an error. If a burst error has occurred, the reference cell 18 is likely to have an error. However, due to the characteristics of the reference cell 18, the possibility that an error has occurred in the reference cell 18 cannot be denied even if it is a single bit error.
- the error correction can be performed correctly under the condition that the data error is suppressed only to one memory cell of the cell 17 and the reference cell 18).
- the MRAM has the following two states: a data error only in the data cell 17 A Any one of the states B in which there is a data error only in the reference cell 18 is taken. Whether MRA M is in state A or state B is basically completely impossible to judge!
- the data in the data cell 17 is unconditionally corrected.
- a transition is made to the normal state (that is, the data in both the data cell 17 and the reference cell 18 is correct). And both of the reference cell 18 erroneously transition to state C.
- the data is read again from the data cell 17, and error detection of the data in the data cell 17 is performed. Data errors are not detected when the MRAM returns to normal.
- the MRAM regardless of whether the MRAM is in the state A or the state B (the memory of one of the data cell 17 and the reference cell 18 on which the read operation has been performed). If the data error exists only in the cell and is suppressed to a certain extent, the data can be finally returned to a normal state under the condition (1).
- step S01 data is read from the data cell 17 and error detection is performed.
- Data reading from the data cell 17 is performed as follows: An address input selects the data cell 17 corresponding to one error correction code. At the same time, the reference cell 18 in the same row as the selected data cell 17 is also selected. Subsequently, the data bit is read from the selected data cell 17.
- the ECC circuit 33 calculates a syndrome from the read data bits and performs error detection based on the syndrome.
- the read data of the target data cell force is output as output data (step S02).
- the ECC circuit 33 determines whether error correction is possible. (Step S03). If it is determined that error correction is impossible, the ECC circuit 33 outputs an error signal to the outside (step Sl l). The read operation is interrupted by this.
- the ECC circuit 33 If it is determined that error correction is possible, the ECC circuit 33 outputs correct data to the outside. Further, the data stored in the data cell 17 is corrected under the control of the ECC circuit 33 (step S04). That is, of the selected data cell 17, the data of the data cell 17 determined to have a data error is inverted. Data inversion is performed by the toggle writing described above.
- step S05 data is read again from the selected data cell 17, and error detection is further performed by the ECC circuit 33 (step S05). If no error is found (step S06), the read operation is complete.
- the MRAM according to the present embodiment is originally in the state A in FIG. 8 and has returned to the normal state by correcting the data.
- step S05 if an error is detected in step S05, the reference cell 18 is corrected.
- the detection of an error in step S05 means that the MRAM has transitioned to state C due to the data correction in step S04, and the MRAM transitions to state A due to correction of the reference cell 18.
- Correction of the reference cell 18 is performed by inverting the data in one of the reference cells 18 of the reference cell pair 21 related to the data error.
- the case where the reference cell 18 should be corrected is a case where the data power of the reference cell 18 of a reference cell pair 21 is all data “0”, or both are data “1”.
- the reference cell 18 in the reference cell pair 21 related to the data error can be returned to a usable state for reading data.
- step S08 After correction of the reference cell 18, data is read again from the selected data cell 17, and error detection is performed by the ECC circuit 33 (step S08). Since the MRAM should have transitioned to the state A due to the correction of the reference cell 18, an error should basically be found. If an error is found (step S09), the data cell 17 is corrected again (step S10), thereby returning the MRAM to a normal state. If no error is found for any reason, the read operation is completed. For example If there is a data error in both the data cell 17 and the reference cell 18, the data error may not be found in step S08!
- FIG. 10 is a timing chart showing an example of operation timing when a read operation for a series of addresses AO to A3 is performed in the above-described procedure.
- the output enable signal ZOE is activated.
- the external address is also sequentially input to the MRAM, and the chip enable signal ZCE1 is activated in synchronization with the input of the address.
- Data cell 17 is selected in response to the address input.
- the sense enable signal ZSE is activated in synchronization with the activation signal of the chip enable signal ZCE1.
- the sense amplifier 15 reads data from the selected data cell 17. The read data is sent to the ECC circuit 33 for error detection.
- the data read from the data cell 17 is output as output data as it is.
- the operation example in Fig. 10 shows the case where no error was detected in the data corresponding to addresses AO, A2, and A3. Note that in Figure 10, the output data corresponding to addresses AO, A2, and A3 are listed as QO, Q2, and Q3, respectively.
- Fig. 10 shows the case where an error is detected in the data corresponding to address A1.
- the output data corresponding to address A1 is labeled Q1 in Figure 10.
- the output data Q1 is data that has been subjected to error correction rather than the data read from the data cell 17 itself. If there is an error in the read data, the internal write enable signal IWE is activated and the error stored in the data cell 17 is corrected.
- step S05 Data re-reading and error detection performed after error correction of data in data cell 17 (step S05) and correction of reference cell 18 (step S07) are performed by data cells corresponding to a series of addresses AO to A3. This is done after the reading from 17 is completed. This is a burst It is important to support reading. If it is attempted to re-read data, detect an error, and subsequently correct the reference cell 18 in a read cycle in which data is read from the data cell 17 in which an error is found, the length of the read cycle is reduced. Need to be long. This is not preferable because it inhibits burst reading.
- the output enable signal ZOE is deactivated. Further, the ECC circuit 33 activates the busy signal ZBY in response to the fact that an error is found in the address A1, and prohibits external access. This is because the reference cell 18 is corrected when necessary, and the data cell 17 is corrected again. While the reference cell 18 is being corrected, access from the outside is not possible. If no error is found, the busy signal ZBY remains deactivated.
- the sense amplifier enable signal SE is activated, and data is read again from the data cell 17 corresponding to the address A1 where the error is found. Error detection is performed on the read data. If an error is found, the internal write enable signal IWE is activated again and the error in the reference cell 18 is corrected. Subsequently, the sense amplifier enable signal SE is activated again, and the data power is read again from the data cell 17 corresponding to the address A1 where the error is found. If an error is found (at this stage an error should be found), the data in data cell 17 is corrected. Thereafter, the busy signal ZBY is deactivated, and the read operation is completed.
- toggle writing data reading is performed before the writing operation. If the data in the data cell 17 is incorrect, the error in the data cell 17 can be automatically corrected by performing a write operation. However, if the data stored in the reference cell 18 is erroneously read, the incorrect data is read in the target memory cell in this data reading, and as a result, the incorrect data is written in the target memory cell. There is a possibility. Therefore, in toggle writing, it is important that data can be correctly written even if the data stored in the reference cell 18 is erroneously! /.
- One possible technique is to analyze the data stored in the data cell 17 and detect whether the reference cell 18 has a data error. However, as described above, depending on the characteristics of the reference cell 18, even if it is a single-bit error, the possibility that an error occurs in the reference cell 18 cannot be denied.
- the MRAM according to the present embodiment performs error detection in data reading before the write operation, and first performs the write operation without correcting the reference cell regardless of the result. Then, error detection is performed again after the write operation. If a data error is detected both before and after the write operation, the data in the reference cell 18 is corrected. In this case, since the data stored in the data cell 17 is also written in error, the data correction is performed for the data cell 17 as well.
- the MRAM has the following two states: a data error only in the data cell 17 A Any one of the states B in which there is a data error only in the reference cell 18 is taken. Whether MRA M is in state A or state B is basically completely impossible to judge!
- the data cell 17 is unconditionally written.
- the MRAM When the MRAM is in the state A by writing to the data cell 17, it changes to the normal state (that is, the data in both the data cell 17 and the reference cell 18 is correct), and when the state is in the state B. Transitions to state C where both data cell 17 and reference cell 18 are incorrect.
- the encoder of the ECC circuit 33 encodes input data (step S).
- the procedure for reading data and detecting errors is the same as the procedure performed in step 01 during the read operation.
- step S23 If no error is detected (step S23), the input data encoded in the selected data cell 17 is written (step S24).
- the ECC circuit 33 determines whether error correction is possible (step S25). If it is determined that error correction is impossible, the ECC circuit 33 outputs an error signal to the outside (step S33). The write operation is interrupted by this
- the ECC circuit 33 When it is determined that error correction is possible, the ECC circuit 33 outputs correct data to the outside. Further, input data is written into the selected data cell 17 (step S26). The input data is written by toggle writing.
- step S27 data is read again from the selected data cell 17, and error detection is performed by the ECC circuit 33 (step S27). If no error is found (step S28), the write operation is complete. This means that the MRAM of this embodiment is originally in the state A of FIG. 11 and has returned to the normal state by data writing.
- step S28 if an error is detected in step S28, the reference cell 18 is corrected.
- An error detected in step S28 means that the MRAM has transitioned to state C due to the data write in step S26, and the MRAM transitions to state A due to correction of reference cell 18. .
- step S30 After correction of the reference cell 18, data is read again from the selected data cell 17, and error detection is performed by the ECC circuit 33 (step S30). Reference cell 18 correction Since the MRAM should have transitioned to state A, basically an error should be found. If an error is found (step S31), the data cell 17 is written again (step S32), thereby returning the MRAM to a normal state. If an error is detected for some reason, the write operation is completed as it is. For example, if there was originally a data error in both the data cell 17 and the reference cell 18, there may be a case where no data error is found in step S30!
- any of the data cell 17 and the reference cell 18 is provided under the condition that the occurrence probability of a write error or a soft error is sufficiently suppressed. Even if it is unknown whether there is a data error, it can be written correctly.
- one problem with the configuration of the MRAM according to the first embodiment is that an external access is rejected during error correction of the reference cell 18 and recorrection of the data cell 17. That is what you need to do. This is undesirable because it reduces the compatibility of the MRAM with other memory devices.
- the reference cell 18 may be corrected at the refresh timing of the DRAM; in this case, in response to the DRAM outputting a refresh signal, The busy signal ZBY may be output.
- the ability to deny external access such as the SRAM standard, cannot be supported by the MRAM according to the first embodiment.
- the error correction power of a certain reference cell 18 The data of the data cell 17 in which data is read without using the reference cell 18 Is performed in a read cycle that is output to the outside. As a result, the data error in the reference cell 18 can be corrected without being prohibited from access from the outside.
- the MRAM according to the second embodiment will be described in detail below.
- FIG. 13 is a block diagram showing a configuration of the MRAM according to the second embodiment.
- the memory array 11 of each bank 1 is divided into a plurality of blocks 11 to 11, and each block
- each of the blocks 11 to 11 can be accessed independently of each other. More specific Specifically, each of the blocks 11 to 11 is provided with reference cells 18 to 18 arranged in two rows.
- each of the nonks 1-1 is provided with a plurality of column decoders 13-13, a plurality of write circuits 14-14, and a plurality of sense amplifiers 15-15.
- a column decoder 13, a write circuit 14, a sense amplifier 15, and a data buffer / comparator 16 are used to access the block 11.
- Controller 2 is provided with the same number of ECC circuits 33 to 33 as the number of blocks per bank.
- FIG. 14 is a diagram showing an address arrangement of the memory array 11 in the present embodiment. Four consecutive column address forces are assigned to separate blocks 11-11. For example, addresses AO to A3 are respectively blocks 11 to
- the read operation of the MRAM according to the present embodiment is performed for each address group including four consecutive address forces.
- the above-mentioned continuous addresses may correspond to the burst address and operate as a generally known burst operation.
- FIG. 15 is a timing chart showing an example of the procedure of the read operation of the MRAM according to the second embodiment. Specifically, a data error occurs in the reference cell 18 used for reading the data at the address A1. When there is a burst read operation for addresses AO to A3
- a data error in reference cell 18 means that the MRAM is initially in state B in FIG. In FIG. 15, it is noted that QO to Q3 are read data corresponding to addresses AO to A3, respectively.
- the chip enable signal ZCE1 and the output enable signal ZOE are activated, and the first read cycle is started.
- address AO is applied to the address input.
- the sense enable SE is activated, and data is read from the data cell 17 corresponding to each of the addresses AO to A3.
- Address AO only It should be noted that the data of the addresses AO to A3 belonging to the same address group is read out even if not given to the address input.
- the sense amplifiers 15 to 15 obtain data QO, El, Q2, and Q3, respectively.
- E1 is the data read from data cell 17 corresponding to address A1.
- the data QO corresponding to the address AO is output to the outside.
- the ECC circuit 33 detects that there is an error in the data E1 read from the address A1, and the error in the data cell 17 corresponding to the address A1
- address A1 is given to the address input.
- the sense enable signal SE is activated again, in response to the activation signal of the sense enable signal SE, data QO, E, 1, Q2, Q3 from the data cell 17 corresponding to the addresses AO to A3. Is obtained.
- Figure 15 shows the operation of reading data from addresses AO, Al, and A2 at the same time. The data is not read from the addresses AO, A2, and A3 that are not detected by a special design. It may be.
- the calculated correct data Q1 is output to the outside. Subsequently, the internal write enable signal IWE is activated and the data in the reference cell 18 is corrected.
- the address A2 is given to the address input.
- the sense enable signal SE is activated again, data is acquired again from the data cell 17 corresponding to the address A1 in response to the activation signal of the sense enable signal SE.
- Data QO, E “l, Q2, Q3 are obtained from data cell 17 corresponding to addresses AO to A3.
- data corresponding to address A2 is obtained.
- QO is output externally.
- the ECC circuit 33 performs error correction on the data E" l and adds the correct data Q1.
- the MRAM of this embodiment successfully corrects the error of the data cell 17 and returns to a normal state.
- address A3 is given to the address input.
- data QO to Q3 are acquired from the data cells 17 corresponding to the addresses AO to A3 in response to the activation of the sense enable signal SE.
- the data QO corresponding to address A3 is output to the outside.
- the data error of the data cell 17 and the reference cell 18 is corrected by a procedure different from that of the first and second embodiments.
- FIG. 16 is a block diagram showing a configuration of the MRAM according to the third exemplary embodiment of the present invention.
- the configuration of the MRAM of the third embodiment has almost the same configuration as the MRA M of the first embodiment shown in FIG. 6; the difference is in the read operation in which an error is detected.
- the reference cell address register (RCA register) for storing the designated reference cell address (row address in this embodiment) is provided in the ECC circuit 33.
- the data error in the data cell 17 and the reference cell 18 is corrected using the reference cell address stored in the RCA register 36.
- FIG. 17 is a diagram for explaining the concept of operation of the MRAM according to the present embodiment.
- the MRAM in this embodiment determines that there is a data error in the reference cell when a data error is detected in two read operations performed using the same reference cell, and corrects the data error in the reference cell. More specifically, when a data error is detected in a certain read operation, first, error correction is performed on the data cell 17. At this stage, the reference cell 18 is not corrected, and instead, the address of the reference cell 18 (reference cell address) used in the read operation is registered in the RCA register 36.
- the MRAM in this embodiment When it is detected from the reference cell address registered in the RCA register 36 that a data error has been detected in the two read operations performed using the same reference cell 18, the MRAM in this embodiment The reference cell 18 is corrected. This is because the fact that a data error is detected in both of the two read operations performed using the same reference cell 18 also means that there is a high probability that the reference cell 18 has an error. . After correction of the reference cell 18, data correction of the data cell 17 in which a read operation is performed using the reference cell 18 is performed.
- FIG. 18 is a flowchart showing a specific procedure of the read operation of the MRAM of this embodiment.
- the row operation and the column address are specified and the read operation is started, it is determined whether or not the reference cell address used for the read operation is registered in the RCA register 36 (step S41); The reference cell address matches the row address.
- step S50 If the reference cell address is not registered in the RCA register, data is read from the data cell 17, and error detection is performed on the read data (step S50). . If no error is detected (step S51), the read data is output to the outside and the read operation is completed. If an error is detected in step S50, the ECC circuit 33 further determines whether error correction is possible (step S51). If it is determined that error correction is impossible, an error signal is output and the read operation is stopped (step S55). If it is determined that error correction is possible, the data with the corrected error will be deleted. Further, the data in the data cell 17 is corrected (step S53). Further, it is registered in the reference cell address register eight register 36 used for the read operation (step S54).
- step S42 if the reference cell address is registered in the RCA register 36, data is read from the data cell 17, and error detection is further performed on the read data (step S42). ). If no error is detected (step S43), the reference cell address used in the read operation is erased from the RCA register 36. This is because a data error is detected only in one of the two read operations performed using the same reference cell 18 because there is a high probability that the reference cell 18 has no data error. Furthermore, the read data is output to the outside, and the read operation is completed.
- step S42 If an error is detected in step S42, the ECC circuit 33 further determines whether error correction is possible (step S45). If it is determined that error correction is not possible, an error signal is output and the read operation is stopped (step S55).
- step S46 data with the error corrected is output to the outside. Further, the data of the reference cell 18 designated by the reference cell address is corrected (step S46), and the reference cell address is erased from the RCA register 36 (step S47). Further, data is read from the data cell 17 to be read using the reference cell 18, and error detection is performed on the read data (step S48). If an error is detected, the data in the data cell 17 is corrected and the read operation is completed.
- the MRAM can be restored to a normal state with a high probability even if it is unknown which of the data cell 17 and the reference cell 18 has a data error.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mram Or Spin Memory Techniques (AREA)
- Hall/Mr Elements (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本発明によるMRAMの動作方法は、トグル書き込みによってデータ書き込みが行われるMRAMの動作方法である。本発明による動作方法は、(A)参照セルを用いて生成される参照信号を用いて、データセル17から読み出しデータを読み出すステップと、(B)前記読み出しデータの誤り検出を行うステップと、(C)前記読み出しデータに誤りが検出された場合、前記データセルに記憶されているデータを訂正するステップと、(D)前記読み出しデータに誤りが検出された場合、前記(C)ステップの後、前記データセルから第1再読み出しデータを読み出すステップと、(E)前記第1再読み出しデータの誤り検出を行うステップと、(F)前記第1再読み出しデータに誤りが検出された場合に、前記参照セルに記憶されているデータを訂正するステップと、(G)前記第1再読み出しデータに誤りが検出された場合に、前記(F)ステップの後、前記データセルから第2再読み出しデータを読み出すステップと、(H)前記第2再読み出しデータの誤り検出を行うステップと、(I)前記第2再読み出しデータに誤りが検出された場合に、前記データセルに記憶されているデータを再度に訂正するステップとを具備する。
Description
明 細 書
MRAM、及びその動作方法
技術分野
[0001] 本発明は、磁気ランダムアクセスメモリ(MRAM)に関しており、特に、トグル書き込 みに対応する MRAMに関する。
背景技術
[0002] MRAMは、高速書き込み Z読み出しが可能な不揮発性メモリであり、近年実用化 に向けた研究開発が盛んに行われて!/、る。
[0003] 最も典型的には、 MRAMは、磁化が反転可能な磁化自由層と、磁ィ匕が固定され た磁化固定層と、その間に介設された非磁性層とで構成された磁気抵抗素子を、メ モリセルとして利用する。データは、磁ィ匕自由層の磁ィ匕の向きとして記憶される。非 磁性層が極めて薄!、絶縁体で構成されて!、る場合、磁気抵抗素子は TMR (tunnel magnetoresistance)効果を示し、そのように構成された磁気抵抗素子は、しばしば、 MTJ (magnetic tunnel junction)素子と呼ばれる。一方、非磁性層が非磁性の導電体 で構成されている場合には、磁気抵抗素子は GMR (giant magnetoresistance)効果 を示し、そのように構成された磁気抵抗素子は、 CPP— GMR (current perpendicular to-plane giant magnetoresistive)素子と呼はれ 。
[0004] データの書き込みは、最も一般的には、メモリセルの近傍に設けられたワード線とビ ット線に書き込み電流を流すことによって磁ィ匕自由層に磁場を印加し、これにより磁 化自由層の磁化を所望の方向に反転することによって行われる。
[0005] 一方、データの読み出しには、磁気抵抗素子が示す磁気抵抗効果が利用される。
TMR効果、 GMR効果のいずれを利用する場合でも、メモリセルの抵抗は磁ィ匕自由 層の磁ィ匕の向きに応じて変化する。このメモリセルの抵抗の変化は、メモリセルを流 れる電流、又はメモリセルに発生する電圧降下の変化として現れる。このメモリセルを 流れる電流、又はメモリセルに発生する電圧降下の変化を検知することにより、メモリ セルのデータが判別される。
[0006] メモリセルのデータの判別には、しばしば、予め規定のデータが書き込まれた参照
セルが使用される。以下では、参照セルと区別するために、メモリセルのうちデータの 記憶に実際に使用されるセルを、データセルと呼ぶことがある。参照セルが設けられ た MRAMでは、データセルのデータの判別は、参照セルを用いて参照信号を生成 し、データセル力 得られたデータ信号をその参照信号と比較することによって行わ れる。
[0007] 当業者に広く知られて 、るように、 MRAMの一つの課題は書き込み動作における メモリセルの選択性である。伝統的な MRAMでは、メモリセルの特性のバラツキによ り、半選択メモリセル、即ち、対応するワード線とビット線との一方にしか書き込み電 流が流されていないメモリセルにもデータが書き込まれ得る。これは、 MRAMの動作 の信頼性を不所望に低下させる。
[0008] MRAMの書き込み動作の選択性を向上させるための一つの方法力 トグル書き込 みである(米国特許 6, 545, 906号公報参照)。トグル書き込み方式とは、磁ィ匕自由 層に SAF (synthetic antiferromagnet)を使用することにより、選択性が高い書き込み 動作を行う技術である;ここで SAFとは、複数の強磁性層から構成される、隣接する 強磁性層が磁気的に反強磁性的に結合された構造体である。
[0009] 図 1は、トグル書き込み方式を採用する MRAMの典型的な構成を示す平面図であ る。 MRAMのメモリアレイには、ビット線 102と、ビット線 102に直交するワード線 103 が延設されており、メモリセルとして使用される磁気抵抗素子 101は、ビット線 102と ワード線 103とが交差する位置のそれぞれに設けられる。図 2に示されているように、 磁気抵抗素子 101は、反強磁性層 111、磁ィ匕固定層 112、ノリア層 113、及び磁ィ匕 自由層 114を備える磁気抵抗素子で構成されている。図 1に示されているように、磁 気抵抗素子 101は、磁ィ匕固定層 112と磁ィ匕自由層 114の容易軸がビット線 102及び ワード線 103に 45° の角度をなすように、即ち、磁気抵抗素子 101の長手方向がビ ット線 102及びワード線 103と 45° の角度をなすように配置される。
[0010] 図 2を再度に参照して、磁ィ匕自由層 114は、強磁性層 121、 122と、その間に介設 された非磁性層 123とで構成される。磁ィ匕自由層 114の全体としての残留磁化 (即ち 、外部磁場力^である場合の磁ィ匕自由層 114の全体としての磁化)は、可能な限り 0 に近づけられる。これは、 SAFにスピンフロップを発現させるために重要である。この
条件は、例えば、 2つの強磁性層 121、 122を同一の材料で、同一の膜厚を有するよ うに形成することによって満足され得る。
[0011] 図 3は、トグル書き込み方法の手順を説明する概念図であり、図 4は、トグル書き込 みによるデータ書き込みが行われるときのビット線 102、ワード線 103に流される電流 の波形を示すグラフである。図 3において、磁ィ匕自由層 114の強磁性層 121、 122の 磁化が、それぞれ、記号 M、 Mによって参照されていることに留意されたい。
1 2
[0012] トグル書き込み方法によるデータ書き込みは、磁ィ匕自由層 114に印加される磁場の 方向を面内で回転させ、この磁場によって磁ィ匕自由層 114を構成する強磁性層 121 、 122の磁ィ匕を反転することによって行われる。具体的には、まず、ワード線 103に書 き込み電流が流され、これによつてワード線 103に垂直な方向に磁場 H が発生さ
WL
れる(時刻 t )0続いて、ワード線 103に書き込み電流が流されたまま、ビット線 102に 書き込み電流が流される(時刻 t )0これにより、ワード線 103とビット線 102との両方
2
に 45° の角度をなす方向に、磁場 H +H が発生される。更に続いて、ビット線 1
WL BL
02に書き込み電流が流されたままワード線 103への書き込み電流の供給が停止さ れる(時刻 t )0これにより、ビット線 102に垂直な方向(即ち、ワード線 103に平行な
3
方向)に磁場 H が発生される。このような手順でワード線 103及びビット線 102に書
Bし
き込み電流が流されることにより、磁ィ匕自由層 114に印加される磁場が回転され、こ れにより、磁ィ匕自由層 114を構成する強磁性層 121、 122の磁ィ匕を 180° 回転させ ることがでさる。
[0013] 注目すべきことは、トグル書き込み方法によるデータ書き込みでは、磁化を反転す る、即ち、データを反転することしかできないことである。例えば、ある対象メモリセル にデータ" 0"を書き込もうとする場合には、まず、当該対象メモリセルからデータが読 み出される。読み出されたデータ力 1"である場合にのみ、対象メモリセルにトグル書 き込みが行われ、対象メモリセルにデーダ '0"が保存される;読み出されたデータが" 0"である場合には、対象メモリセルへの書き込みは行われない。
[0014] 以上に説明されたトグル書き込みでは、原理的に、ワード線 103又はビット線 102 の一方にのみ書き込み電流が流されても SAFの磁ィ匕が反転しない。ビット線とワード 線に流される書き込み電流によって発生する磁場によって SAFの磁ィ匕が反転される
領域を示すグラフである図 5に示されて 、るように、トグル書き込みが採用される場合 、対応するワード線 103又はビット線 102の一方にのみ書き込み電流が流されている 半選択メモリセルの磁ィ匕は、原理的に不所望に反転しない。これは、 MRAMのメモ リセルの選択性を有効に向上させる。
[0015] しかし、トグル書き込みを採用する MRAMにおいても、書き込みエラーを完全に防 止することは現実的には困難である。図 5に示されている領域の内部に対応する書き 込み電流を流しても、極めて低 、確率ではあるが磁ィ匕が反転しな 、と!/、う事態が起こ り得る。
[0016] カロえて、トグル書き込みを採用する MRAMでも、熱擾乱を原因とするソフトエラー、 即ち、熱擾乱による磁ィ匕の不所望な反転が確率的に発生することは避けがたい。確 かに、 SAFは、全体としての磁ィ匕を小さく保ちながら、その体積を増カロさせることがで きるため、熱擾乱に対する耐性には優れている。し力しながら、極めて低い確率では あるが、熱擾乱によって磁ィ匕が不所望に反転することは避けがた 、。
[0017] 以上に説明された書き込みエラーやソフトエラーの発生に対処するためには、他の 多くのメモリデバイスと同様に、 MRAMにも誤り訂正を採用することが望ましい。例え ば、特開 2003— 68096号公報、特開 2003— 115195号公報、特開 2003— 1151 97号公報、特開 2005— 56556号公報、及び特開 2005— 85464号公報に開示さ れているように、誤り訂正が採用されている MRAMでは、データ書き込みの際に書 き込みデータに対して誤り訂正符号化が行われ、誤り訂正符号化されたデータがメ モリアレイに書き込まれる。データ読み出しの際には、メモリアレイ力も読み出された データ力 シンドロームが計算され、データ誤りが発見された場合には、その誤りが 訂正されたデータが外部に出力される。このとき、メモリアレイに記憶されているデー タも同時に訂正される。
[0018] し力し、トグル書き込みを採用する MRAMにおいては、 ECCを採用するにあたつ て考慮すべき事情が 2つある。 1つは、データ誤りが検出されても、その原因がデータ セルと参照セルのいずれにあるのかが不明なことである。熱擾乱により、参照セルに 書き込まれて 、るデータが低 、確率ではあっても不所望に反転することがある。した がって、データ誤りが検出されたからといって、単純にデータセルに記憶されている
データを訂正することは、データを誤って訂正する結果になるおそれがある。
[0019] し力しながら、データセルと参照セルのいずれに誤りがあるかは、基本的には完全 には判別することができない。確かに、データセルに誤りがある場合と参照セルに誤 りがある場合とで、誤りパターンに差異がある力もしれない。例えば、参照セルに誤り がある場合には、バースト誤りが発生しやすぐデータセルに誤りがある場合には単ビ ット誤りが発生しやすい。しかし、参照セルの特性によっては、参照セルに誤りがある 場合でも、それが単ビット誤りとして発現することがある。
[0020] もう 1つ考慮すべきことは、上述されているように、トグル書き込みではメモリセルの データを反転することしかできないことである。これは、参照セルの訂正において大き な影響を及ぼす。指定されたデータを書き込むことができる書き込み方式であれば、 参照セルに所望のデータを書き込んだ上で読み出しを行えば、そもそも参照セルの 訂正を行う必要がない。しかし、トグル書き込みにおいてこのような手法を採用する場 合には、参照セルの読み出しが必要であり、これは、リードサイクルタイムの増大を招 くため好ましくない。
[0021] このような背景から、トグル書き込みを採用する MRAMに最適な誤り訂正技術の提 供が望まれている。
発明の開示
[0022] したがって、本発明の概略的な目的は、トグル書き込みを採用する MRAMに最適 な誤り訂正技術を提供することにある。より具体的には、本発明の目的は、データ誤り の原因がデータセルと参照セルのいずれにあるのか不明であっても、高い確率でデ ータを正しく訂正できる MRAMを提供することにある。
[0023] 本発明による MRAMの動作方法は、トグル書き込みによってデータ書き込みが行 われる MRAMの動作方法である。本発明の一の観点において、当該動作方法は、
(A)参照セル (18)を用いて生成される参照信号を用いて、データセル ( 17)力も読 み出しデータを読み出すステップと、
(B)前記読み出しデータの誤り検出を行うステップと、
(C)前記読み出しデータに誤りが検出された場合、前記データセルに記憶されて V、るデータを訂正するステップと、
(D)前記読み出しデータに誤りが検出された場合、前記 (C)ステップの後、前記デ ータセル力 第 1再読み出しデータを読み出すステップと、
(E)前記第 1再読み出しデータの誤り検出を行うステップと、
(F)前記第 1再読み出しデータに誤りが検出された場合に、前記参照セルに記憶さ れて 、るデータを訂正するステップと、
(G)前記第 1再読み出しデータに誤りが検出された場合に、前記 (F)ステップの後 、前記データセル力 第 2再読み出しデータを読み出すステップと、
(H)前記第 2再読み出しデータの誤り検出を行うステップと、
(I)前記第 2再読み出しデータに誤りが検出された場合に、前記データセルに記憶 されて!/、るデータを再度に訂正するステップ
とを具備する。このような動作方法によれば、データ誤りの原因がデータセルと参照 セルの ヽずれにあるのか不明であっても、充分にデータ誤り率が低減されて ヽると!/ヽ う条件の下、高い確率でデータを正しく訂正できる。
[0024] 前記 (A)乃至(C)ステップは、複数のリードサイクルのうちの一のリードサイクルに おいて行われ、前記 (D)乃至 (I)ステップは、前記複数のリードサイクルの最後のリー ドサイクルが終了した後に行われることが好ましい。
[0025] 外部力ものアクセスを拒否せずに、上記の (A)乃至 (G)ステップを実行するために は、前記 (A)乃至 (C)ステップは、複数のリードサイクルのうちの第 1リードサイクルに おいて行われ、前記 (D)乃至 (I)ステップは、前記複数のリードサイクルのうちの、第 1リードサイクルの後の第 2リードサイクルで行われ、前記 (G)ステップは、前記複数 のリードサイクルのうちの、第 2リードサイクルの後の第 3リードサイクルで行われること が好ましい。
[0026] 本発明の他の観点において、 MRAMの動作方法は、第 1〜第 nデータセルと第 1 〜第 n参照セルとを備え (nは、 3以上の整数)、且つ、トグル書き込みによってデータ 書き込みが行われる MRAMの動作方法である。当該動作方法は、
(A—1)第 1〜第 n参照セルを用いて生成される参照信号を用いて、それぞれ、第 1〜第 nデータセルから第 1〜第 n読み出しデータを読み出すステップと、
( A— 2)前記第 1乃至第 n読み出しデータの誤り検出を行うステップと、
(A— 3)第 1リードサイクルにおいて、前記第 1乃至第 n読み出しデータのうちの第 1 出力データを、誤り訂正を行った上で外部に出力するステップと、
(A— 4)前記第 1リードサイクルにおいて、前記第 1読み出しデータに誤りが検出さ れた場合に前記第 1データセルに記憶されているデータを訂正するステップと、
(B—1)前記第 1リードサイクルの後の第 2リードサイクルにおいて、前記第 1乃至第 n読み出しデータのうちの第 2出力データを、誤り訂正を行った上で外部に出力する ステップと、
(B- 2)前記 ( A— 2)ステップにお 、て前記第 1読み出しデータに誤りが検出され た場合、前記第 2リードサイクルにおいて前記第 1データセル力も第 1再読み出しデ ータを読み出すステップと、
(B— 3)前記第 2リードサイクルにおいて、前記第 1再読み出しデータの誤り検出を 行うステップと、
(B— 4)前記第 1再読み出しデータに誤りが検出された場合に、前記第 2リードサイ クルにお 、て前記第 1参照セルに記憶されて!、るデータを訂正するステップと、
(C—1)前記第 2リードサイクルの後の第 3リードサイクルにおいて、前記第 1乃至第 3読み出しデータのうちの第 3出力データを、誤り訂正を行った上で外部に出力する ステップと、
(C 2)前記 (B— 2)ステップにお 、て前記第 1再読み出しデータに誤りが検出さ れた場合に、前記第 3リードサイクルにおいて前記第 1データセルから第 2再読み出 しデータを読み出すステップと、
(C— 3)前記第 2再読み出しデータに誤りが検出された場合に、前記第 3リードサイ クルにおいて、前記第 1データセルに記憶されているデータを再度に訂正するステツ プ
とを具備する。このような MRAMの動作方法では、ある参照セルの訂正、及び参照 セルの訂正の後に行われるデータセルの再訂正力 他の参照セルを用いて他のデ ータセル力 読み出されたデータが出力されている間に行われる。したがって、外部 からのアクセスを拒否せずに、参照セルの訂正及びデータセルの再訂正を行うことが できる。
[0027] 本発明の更に他の観点において、 MRAMの動作方法は、
(A)参照セルを用いて生成される参照信号を用いて、データセル力も読み出しデ ータを読み出すステップと、
(B)前記読み出しデータの誤り検出を行うステップと、
(C)前記データセルに入力データをトグル書き込みによって書き込むステップと、
(D)前記読み出しデータに誤りが検出された場合、前記 (C)ステップの後、前記デ ータセル力 第 1再読み出しデータを読み出すステップと、
(E)前記第 1再読み出しデータの誤り検出を行うステップと、
(F)前記第 1再読み出しデータに誤りが検出された場合に、前記参照セルに記憶さ れて 、るデータを訂正するステップと、
(G)前記第 1再読み出しデータに誤りが検出された場合に、前記 (F)ステップの後 、前記データセル力 第 2再読み出しデータを読み出すステップと、
(H)前記第 2再読み出しデータの誤り検出を行うステップと、
(I)前記第 2再読み出しデータに誤りが検出された場合に、前記データセルに記憶 されて 、るデータを訂正するステップ
とを具備する。このような動作方法によれば、データ誤りの原因がデータセルと参照 セルの ヽずれにあるのか不明であっても、充分にデータ誤り率が低減されて ヽると!/ヽ う条件の下、高い確率でデータを正しく書き込むことができる。
[0028] 本発明の更に他の観点において、 MRAMの動作方法は、
アドレスを指定するステップと、
前記アドレスによって選択される選択参照セルを用いて、前記アドレスによって選択 される選択データセルから読み出しデータを読み出すステップと、
前記読み出しデータの誤りを検出するステップと、
前記選択参照セルのアドレスである参照セルアドレス力 参照セルアドレス記憶手 段に登録されているかを調べるステップと、
前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されておらず、且つ 、前記読み出しデータに誤りが検出された場合、前記選択データセルの誤りを訂正 すると共に、前記参照セルアドレスを前記参照セルアドレス記憶手段に登録するステ
ップと、
前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されており、且つ、 前記読み出しデータに誤りが検出された場合、前記参照セルの誤りを訂正するステ ップ
とを具備する。このような動作方法によれば、データ誤りの原因がデータセルと参照 セルの ヽずれにあるのか不明であっても、充分にデータ誤り率が低減されて ヽると!/ヽ う条件の下、高い確率でデータを正しく訂正できる。
[0029] 当該動作方法は、前記参照セルアドレスが前記参照セルアドレス記憶手段に登録 されており、且つ、前記読み出しデータに誤りが検出されな力つた場合、前記参照セ ルアドレスを前記参照セルアドレス記憶手段力 消去するステップを更に具備するこ とが好ましい。
[0030] また、前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されており、 且つ、前記読み出しデータに誤りが検出された場合、前記参照セルの誤りを訂正す るステップに加え、下記ステップ:
(A)前記参照セルアドレスを前記参照セルアドレス記憶手段力 消去するステップ
(B)前記参照セルを用いてデータが読み出されるデータセル力 再読み出しデー タを読み出すステップ、
(C)前記再読み出しデータの誤りを検出するステップ、及び
(D)前記再読み出しデータに誤りが検出された場合、前記参照セルを用 、てデ一 タが読み出される前記データセルの誤りを訂正するステップ
が行われることが好ましい。
[0031] 本発明の更に他の観点において、 MRAMは、データセルと参照セルとを含むメモ リアレイと、前記参照セルを用いて生成される参照信号を用いて前記データセルから データを読み出し、且つ、トグル書き込みによって前記データセルにデータを書き込 むように構成された周辺回路とを具備する。周辺回路は、(A)前記データセル力も読 み出された読み出しデータの誤り検出を行い、前記読み出しデータに誤りを検出した 場合、前記データセルに記憶されているデータを訂正し、(B)前記データセルの訂
正の後、前記データセルから第 1再読み出しデータを読み出し、前記第 1再読み出し データの誤り検出を行い、(C)前記第 1再読み出しデータに誤りを検出したときに、 前記参照セルに記憶されているデータを訂正し、(D)前記参照セルの訂正の後、前 記データセルから第 2再読み出しデータを読み出し、前記第 2再読み出しデータの 誤り検出を行い、(E)前記第 2再読み出しデータに誤りを検出したとき、前記データ セル( 17)に記憶されて 、るデータを再度に訂正するように構成されて 、る。
[0032] 本発明の更に他の観点において、 MRAMは、第 1〜第 nデータセル(nは 3以上の 整数)と、第 1〜第 n参照セルと、第 1〜第 nECC回路を備える周辺回路とを備えてい る。前記周辺回路は、第 1リードサイクルにおいて、(A— 1)前記第 1〜第 n参照セル を用いて生成される参照信号を用いて、それぞれ、前記第 1〜第 nデータセルから前 記第 1〜第 n読み出しデータを読み出し、(A— 2)前記第 1〜第 nECC回路を用いて 前記第 1乃至第 n読み出しデータの誤り検出を行い、(A— 3)前記第 1乃至第 n読み 出しデータのうちの第 1出力データを、誤り訂正を行った上で外部に出力し、且つ、( A— 4)前記第 1読み出しデータに誤りが検出された場合に、前記第 1データセルに 記憶されているデータを訂正するように構成されている。更に、前記周辺回路は、前 記第 1リードサイクルの後の第 2リードサイクルにおいて、(B— 1)前記第 1乃至第 n読 み出しデータのうちの第 2出力データを、誤り訂正を行った上で外部に出力し、 (B- 2)前記第 1読み出しデータに誤りが検出された場合、前記第 1データセルから第 1再 読み出しデータを読み出し、(B— 3)前記第 1再読み出しデータの誤り検出を行い、 ( B— 4)前記第 1再読み出しデータに誤りが検出された場合に、前記第 1参照セルに 記憶されているデータを訂正するように構成されている。加えて、前記周辺回路は、 前記第 2リードサイクルの後の第 3リードサイクルにおいて、(C— 1)前記第 1乃至第 n 読み出しデータのうちの第 3出力データを、誤り訂正を行った上で外部に出力し、且 つ、(C 2)前記第 1再読み出しデータに誤りが検出された場合に、前記第 1データ セル力 第 2再読み出しデータを読み出し、(C 3)前記第 2再読み出しデータの誤 り検出を行い、(C— 4)前記第 2再読み出しデータに誤りが検出された場合に、前記 第 1データセルに記憶されて 、るデータを再度に訂正するように構成されて 、る。
[0033] 本発明の更に他の観点において、 MRAMは、データセルと参照セルとを含むメモ
リアレイと、参照セルアドレス記憶手段を備える周辺回路とを具備する。前記周辺回 路は、 (A)外部から指定されたアドレスに応答して前記参照セルから選択参照セル を選択し、且つ、前記アドレスに応答して前記データセル力 選択される選択データ セルを選択し、 (B)前記選択参照セルを用いて生成された参照信号を用いて前記選 択データセル力 読み出しデータを読み出し、 (C)前記読み出しデータの誤りを検 出し、(D)前記選択参照セルのアドレスである参照セルアドレス力 前記参照セルァ ドレス記憶手段に登録されて 、るかを調べ、(E)前記参照セルアドレスが前記参照セ ルアドレス記憶手段に登録されておらず、且つ、前記読み出しデータに誤りが検出さ れた場合、前記選択データセルの誤りを訂正すると共に前記参照セルアドレスを前 記参照セルアドレス記憶手段に登録し、 (F)前記参照セルアドレスが前記参照セル アドレス記憶手段に登録されており、且つ、前記読み出しデータに誤りが検出された 場合、前記選択参照セルの誤りを訂正するように構成されて 、る。
[0034] 本発明により、データ誤りの原因がデータセルと参照セルのいずれにあるのか不明 であっても、高 、確率でデータを正しく訂正できる MRAMを提供することができる。 図面の簡単な説明
[0035] [図 1]図 1は、トグル書き込みに対応する MRAMのメモリセルの構成を示す平面図で ある。
[図 2]図 2は、トグル書き込みに対応する MRAMのメモリセルの構成を示す断面図で ある。
[図 3]図 3は、トグル書き込みの手順を示す概念図である。
[図 4]図 4は、ワード線電流とビット線電流の波形を示すグラフである。
[図 5]図 5は、トグル書き込みが採用された MRAMの、書き込み動作が可能な領域を 示すグラフである。
[図 6]図 6は、本発明の第 1の実施形態に係る MRAMの構成を示すブロック図である [図 7A]図 7Aは、メモリアレイの構成の詳細を示す図である。
[図 7B]図 7Bは、参照セルが誤ったデータを保持している場合の MRAMの動作を示 す概念図である。
[図 8]図 8は、第 1の実施形態に係る MRAMのリード動作時の状態遷移図である。
[図 9]図 9は、第 1の実施形態に係る MRAMのリード動作の手順を示すフローチヤ一 トである。
[図 10]図 10は、第 1の実施形態に係る MRAMのリード動作の例を示すタイミングチ ヤートである。
[図 11]図 11は、第 1の実施形態に係る MRAMのライト動作時の状態遷移図である。
[図 12]図 12は、第 1の実施形態に係るライト動作の手順を示すフローチャートである
[図 13]図 13は、第 2の実施形態に係る MRAMの構成を示すブロック図である。
[図 14]図 14は、第 2の実施形態に係る MRAMのアドレス割り当てを示す図である。
[図 15]図 15は、第 1の実施形態に係る MRAMのリード動作の例を示すタイミングチ ヤートである。
[図 16]図 16は、第 3の実施形態に係る MRAMの構成を示すブロック図である。
[図 17]図 17は、第 3の実施形態に係る MRAMの動作を概略的に説明する概念図で ある。
[図 18]図 18は、第 3の実施形態に係る MRAMの動作を説明するフローチャートであ る。
発明を実施するための最良の形態
第 1の実施形態:
(全体構成)
図 6は、本発明の第 1の実施形態に係る MRAMの構成を示すブロック図である。 本実施形態に係る MRAMは、 n個のバンク 1 〜1と、コントローラ 2とを備えている。 ノンク 1 〜1は、それぞれデータ入出力 DQ[l]〜DQ [n]に対応付けられている。 ノ ンク 1 〜1は、対応するデータ入出力力 受け取ったデータを記憶する。加えて バンク 1 〜1に保存されているデータは、対応するデータ入出力 DQ [l]〜DQ [n] 力も外部に出力される。コントローラ 2は、データ入出力 DQ[l]〜DQ [n]とバンク 1 〜1とのインターフェースとして機能すると共に、誤り訂正に関する処理を行う。以下 、 ノンク 1 〜1とコントローラ 2について詳細に説明する。
[0037] ノ ンク 1〜1のそれぞれは、メモリアレイ 11と、ロウデコーダ 12と、カラムデコーダ 1 3と、書き込み回路 14と、センスアンプ 15と、データバッファ Zコンパレータ 16とを備 えている。メモリアレイ 11には、磁気抵抗素子で形成されたメモリセルが行列に配置 されている。ロウデコーダ 12及びカラムデコーダ 13は、メモリセルを選択するための ものである。ロウデコーダ 12は、メモリセルの行を選択するために使用され、カラムデ コーダ 13は、メモリセルの列を選択するために選択される。書き込み回路 14は、書き 込み動作時に選択メモリセルにデータを書き込むための書き込み電流を発生する。 後述されるように、選択メモリセルへのデータの書き込みは、上述のトグル書き込みに よって行われる。センスアンプ 15は、選択メモリセルのデータを判別して読み出しデ ータを生成する。
[0038] データバッファ Zコンパレータ 16は、トグル書き込み動作を行う際に、選択メモリセ ルのデータを反転すべきカゝ否かを判定し、判定の結果を示す判定結果信号を生成 する。より具体的には、データバッファ Zコンパレータ 16は、センスアンプ 15から選択 メモリセルに書き込まれていたデータを受け取り、受け取ったデータと当該選択メモリ セルに書き込むべき入力データとを比較する。一致していない場合、データバッファ Zコンパレータ 16は、判定結果信号を活性化して書き込み回路 14に書き込み電流 の発生を許可する。一致する場合には、データノ ッファ Zコンパレータ 16は判定結 果信号を非活性ィ匕する。この場合、選択メモリセルのデータは反転されない。より具 体的には、データバッファ/コンパレータ 16に内蔵されているデータバッファは、セ ンスアンプ 15から出力される読み出しデータと外部力も入力された書き込みデータと を一時記憶手段に格納する。コンパレータは、データバッファの出力データと外部か ら入力された書き込みデータの一致 Z不一致を比較する排他的論理和ゲートで構 成される。
[0039] 図 7は、メモリアレイの構成を詳細に示す図である。メモリアレイ 11は、ワード線 19と 、ビット線 20と、それらが交差する位置に設けられたメモリセルを備えている。メモリア レイ 11に配置されるメモリセルには、データセル 17と参照セル 18の 2種類がある。デ ータセル 17と参照セル 18の構造は、いずれも、図 2に示されている磁気抵抗素子 10 1の構造と同様である。データセル 17及び参照セル 18への書き込みが行われる場
合、対応するワード線 19とビット線 20に書き込み電流が流される。
[0040] データセル 17は、データが実際に格納されるメモリセルである。データセル 17には 、誤り訂正符号化されたデータが保存される。本実施形態では、同一の誤り訂正符 号のビットを記憶するデータセル 17は、同一の行に位置している。誤り訂正符号とし ては、例えば、ノ、ミング符号、 BCH符号、又はリードソロモン符号のようなブロック符 号が好適に使用される。
[0041] 一方、参照セル 18は、データセル 17からのデータの読み出しに使用される参照信 号を生成するために使用されるメモリセルである。参照セル 18は、メモリアレイ 11の 中央部に 2列に並べられている;即ち、図 7Aに示されているように、一のメモリセルの 行には、 2つの参照セル 18が設けられている。同一の行に対応する 2つの参照セル 18を、以下では、参照セル対 21と呼ぶこととする。参照セル対 21の 2つの参照セル 18の一方には、初期的には、デーダ '0"が書き込まれ、他方にはデーダ '1"が書き 込まれる。後述されるように、あるメモリセル行のデータセル 17の読み出しには、該メ モリセル行に位置する 2つの参照セル 18が使用される。
[0042] 参照セル対 21の 2つの参照セル 18の一方がデータ" 0"を保持し、他方がデータ" 1 "を保持することは、データセル 17からの読み出しを正しく行うために重要である。図 7Bに示されているように、ある対象セル対 21の参照セル 18の両方力 例えば、デー タ" 0"を保持していると、対応するデータセル 17に記憶されているデータは、データ" 1"と判別されやすくなる。
[0043] コントローラ 2は、アドレス Zモード制御部 31と、データ制御部 32と、 ECC回路 33と を備えている。アドレス Zモード制御部 31は、アドレス入力とコマンド入力に応答して 、様々な内部制御信号:例えば、ロウアドレス信号、カラムアドレス信号、内部ライトイ ネーブル信号 IWE、及びセンスィネーブル信号 SEを生成する。コマンド入力は、例 えば、チップィネーブル信号 ZCE1、アウトプットィネーブル信号 ZOE、ライトイネ一 ブル信号 ZWEを含んでいる。記号" Ζ"は、信号がローアクティブであることを意味 している。データ制御部 32は、データ入出力 DQ[l]〜DQ [n]と、バンク 1〜1と、 ECC回路 33との間のデータインターフェースとして機能する。 ECC回路 33は、誤り 訂正を行うための演算を行う。 ECC回路 33は、誤り訂正符号ィ匕を行うエンコーダ 34
と、復号ィ匕及び誤り検出を行うデコーダ 35とを備えている。
[0044] (リード動作時の誤り訂正)
本実施形態の MRAMのリード動作の一つの特徴は、読み出しデータに誤りが発 見された場合には、まず無条件にデータセル 17のデータを訂正し (即ち、データを 反転し)、その後もデータ誤りが解消されない場合には参照セル 18のデータの訂正 及びデータセル 17のデータの再反転を行う点にある;本実施形態の MRAMでは、 データセル 17のデータ訂正の前に、データセル 17と参照セル 18の何れに読み出し エラーの原因があるかの特定は行われない。確かに、データセル 17から読み出され たデータビットを解析すれば、読み出しエラーの原因がデータセル 17と参照セル 18 の何れにあるかをある程度は判断できる力もしれない。例えば、単ビット誤りが発生し ている場合にはデータセル 17に誤りがある可能性が高ぐバースト誤りが発生してい る場合には参照セル 18に誤りがある可能性が高い。しかし、参照セル 18の特性によ つては、単ビット誤りであったとしても参照セル 18に誤りが発生している可能性は否 定できない。
[0045] 上述された本実施形態の MRAMのリード動作によれば、書き込みエラーやソフト エラーの発生確率が充分に抑制されているという条件の下 (具体的には、読み出し 動作が行われたデータセル 17及び参照セル 18のうちの一つのメモリセルにしかデ ータ誤りが存在しない程度に抑制されているという条件の下)、誤り訂正を正しく行う ことができる。
[0046] このことは、図 8に示されている状態遷移図から理解される。読み出し動作が行わ れたデータセル 17及び参照セル 18のうちの一つのメモリセルのみしかデータ誤りが 存在しない場合には、 MRAMは、下記 2つの状態:データセル 17にのみデータ誤り がある状態 A、参照セル 18にのみデータ誤りがある状態 Bのいずれかを取る。 MRA Mが状態 A及び状態 Bの何れにあるかは、基本的には完全には判断できな!/、。
[0047] 本実施形態では、まず、データセル 17のデータが無条件に訂正される。これにより 、 MRAMが状態 Aにあった場合には正常な状態 (即ち、データセル 17と参照セル 1 8の両方のデータが正しい状態)に遷移し、状態 Bにあった場合にはデータセル 17と 参照セル 18の両方が誤つて 、る状態 Cに遷移する。
[0048] 続いて、データセル 17からデータが再度に読み出され、データセル 17のデータの 誤り検出が行われる。 MRAMが正常な状態に戻っている場合には、データ誤りは検 出されない。
[0049] 一方、 MRAMが不所望にも状態 Cに遷移してしまっている場合には、データ誤りが 検出される。この場合、参照セル 18のデータが訂正され、更に、データセル 17のデ ータが再度に訂正される。
[0050] このように、本実施形態の MRAMでは、 MRAMが状態 A及び状態 Bの何れにあ る場合でも、(読み出し動作が行われたデータセル 17及び参照セル 18のうちの一つ のメモリセルにしかデータ誤りが存在しな 、程度に抑制されて 、ると 、う条件の下)、 最終的に正常な状態にデータを復帰させることができる。
[0051] 以下では、本実施形態の MRAMのリード動作の具体的な手順を、図 9を参照しな 力 説明する。図 9に示されているように、本実施形態の MRAMのリード動作では、 まず、データセル 17からのデータの読み出しと、誤り検出が行われる (ステップ S01)
[0052] データセル 17からのデータ読み出しは、以下のようにして行われる:アドレス入力に より、一の誤り訂正符号に対応するデータセル 17が選択される。このとき同時に、選 択されたデータセル 17と同一の行にある参照セル 18も選択される。続いて、選択さ れたデータセル 17からデータビットが読み出される。
[0053] 選択されたデータセル 17からのデータビットの読み出し時には、当該データセル 1 7と同一の行に位置する 2つの参照セル 18が使用される。具体的には、該 2つの参 照セル 18に流れる電流の平均と、データセル 17を流れる電流がセンスアンプ 15に よって比較され、データセル 17のデータビットが判別される。このようにして読み出さ れたデータセル 17のデータビットは、デコーダ 35に送られて誤り検出が行われる。一 実施形態では、 ECC回路 33は、読み出されたデータビットからシンドロームを算出し 、そのシンドロームに基づいて誤り検出を行う。
[0054] 誤りが検出されな力つた場合には、対象データセル力も読み出されたデータが出力 データとして出力される (ステップ S02)。
[0055] 一方、誤りが検出された場合には、 ECC回路 33は、誤り訂正が可能であるかを判
断する (ステップ S03)。誤り訂正が不可能であると判断した場合、 ECC回路 33は、 エラー信号を外部に出力する (ステップ Sl l)。リード動作は、これによつて中断され る。
[0056] 誤り訂正が可能であると判断した場合、 ECC回路 33は、正しいデータを外部に出 力する。更に、 ECC回路 33による制御の下、データセル 17に記憶されているデータ が訂正される (ステップ S04)。即ち、選択されたデータセル 17のうち、データエラー があると判断されたデータセル 17のデータが反転される。データの反転は、上述され たトグル書き込みによって行われる。
[0057] 続いて、選択されたデータセル 17から再度にデータが読み出され、更に ECC回路 33によって誤り検出が行われる (ステップ S05)。誤りが発見されな力つた場合 (ステツ プ S06)、リード動作は完了する。これは、本実施形態の MRAMが、元々、図 8の状 態 Aにあり、データの訂正によって正常な状態に復帰したことを意味している。
[0058] 一方、ステップ S05において誤りが検出された場合には、参照セル 18の訂正が行 われる。ステップ S05において誤りが検出されるのは、ステップ S04のデータ訂正に よって MRAMが状態 Cに遷移したことを意味しており、参照セル 18の訂正により、 M RAMは、状態 Aに遷移する。
[0059] 参照セル 18の訂正は、データエラーに関連する参照セル対 21の参照セル 18の一 方のデータを反転することによって行われる。参照セル 18を訂正すべき場合とは、あ る参照セル対 21の参照セル 18のデータ力 いずれもデータ" 0"である、又はいずれ もデータ" 1"である場合であるから、任意に選択された一方の参照セル 18のデータ を反転することにより、データエラーに関連する参照セル対 21の参照セル 18を、デ ータ読み出しに使用可能な状態に戻すことができる。
[0060] 参照セル 18の訂正後、選択されたデータセル 17から再度にデータが読み出され、 更に ECC回路 33によって誤り検出が行われる(ステップ S08)。参照セル 18の訂正 によって MRAMは、状態 Aに遷移しているはずであるから、基本的には誤りが発見 されるはずである。誤りが発見された場合 (ステップ S09)、データセル 17の訂正が再 度に行われ (ステップ S10)、これにより、 MRAMは正常な状態に復帰する。何らか の原因で誤りが発見されなかった場合には、そのままリード動作が完了する。例えば
、元々データセル 17と参照セル 18との両方にデータ誤りがあった場合には、ステツ プ S08にお!/、てデータ誤りが発見されな!、ことがある。
[0061] 図 10は、上述されている手順で、一連のアドレス AO〜A3についてのリード動作が 行われるときの動作タイミングの一例を示すタイミングチャートである。ここで、本実施 例の MRAMでは、任意のアドレスグループ毎にアクセスされるのが前提であり、上記 アドレス A0〜A3は、一つのアドレスグループを形成している。まず、アウトプットイネ 一ブル信号 ZOEが活性ィ匕される。更に、アドレスが外部力も MRAMに順次に入力 され、更に、アドレスの入力と同期してチップィネーブル信号 ZCE1が活性ィ匕される 。アドレス入力に応答してデータセル 17が選択される。更に、チップィネーブル信号 ZCE1の活性ィ匕に同期して、センスイネ一ブル信号 ZSEが活性ィ匕される。センスィ ネーブル信号 ZSEの活性ィ匕に応答して、センスアンプ 15は、選択されたデータセ ル 17からデータを読み出す。読み出されたデータは、 ECC回路 33に送られて誤り 検出が行われる。
[0062] 誤りが検出されな力つた場合、データセル 17から読み出されたデータがそのまま出 力データとして出力される。図 10の動作例は、アドレス AO、 A2、 A3に対応するデー タには誤りが検出されなかった場合を示している。図 10において、アドレス AO、 A2、 A3に対応する出力データは、それぞれ、 QO、 Q2、 Q3と記載されていることに留意 されたい。
[0063] 読み出されたデータに誤りがある場合、読み出されたデータに誤り訂正が行われ、 誤り訂正されたデータが外部に出力される。図 10の動作例は、アドレス A1に対応す るデータに誤りが検出された場合を示している。アドレス A1に対応する出力データは 、図 10では Q1と記載されている。出力データ Q1は、データセル 17から読み出され たデータそのものではなぐ誤り訂正が行われたデータである。読み出されたデータ に誤りがある場合には、更に、内部ライトイネーブル信号 IWEが活性ィ匕され、データ セル 17に記憶されているデータの誤り訂正が行われる。
[0064] データセル 17のデータの誤り訂正の後に行われるデータの再読み出しと誤り検出( ステップ S05)、及び参照セル 18の訂正(ステップ S07)は、一連のアドレス AO〜A3 に対応するデータセル 17からの読み出しが完了して後に行われる。これは、バースト
読み出しに対応するために重要である。データの再読み出しと誤り検出、及び引き続 いて行われる参照セル 18の訂正を、誤りが発見されたデータセル 17のデータ読み 出しが行われるリードサイクルで行おうとすると、当該リードサイクルの長さを長くする 必要がある。これは、バースト読み出しを阻害するため好ましくない。
[0065] アドレス AO〜A3に対応するデータセル 17からのバースト読み出しが完了した後、 アウトプットィネーブル信号 ZOEが非活性ィ匕される。更に、 ECC回路 33は、アドレス A1に誤りが発見されたことに応答してビジー信号 ZBYを活性ィ匕し、外部からのァク セスを禁止する。これは、必要がある場合には参照セル 18を訂正し、更にデータセ ル 17の再訂正を行うためである。参照セル 18を訂正する動作が行われている間に は、外部からのアクセスはできない。誤りが発見されな力つた場合には、ビジー信号 ZBYは非活性ィ匕されたままである。
[0066] ビジー信号 ZBYが活性ィ匕されると、まず、センスアンプィネーブル信号 SEが活性 化され、誤りが発見されたアドレス A1に対応するデータセル 17からデータが再度に 読み出される。読み出されたデータに対して誤り検出が行われる。誤りが発見される と、内部ライトイネ一ブル信号 IWEが再度に活性ィ匕されて参照セル 18の誤りが訂正 される。続いて、センスアンプィネーブル信号 SEが再度に活性ィ匕され、誤りが発見さ れたアドレス A1に対応するデータセル 17からデータ力もう一度読み出される。誤りが 発見された場合には(この段階では、誤りが発見されるはずである)、データセル 17 のデータが訂正される。その後、ビジー信号 ZBYは非活性化され、リード動作が完 了する。
[0067] (書き込み動作時の誤り訂正)
上述されているように、トグル書き込みでは、書き込み動作の前にデータ読み出し が行われる。データセル 17のデータが誤っている場合には、書き込み動作を行うこと によってデータセル 17の誤りを自動的に訂正することができる。しかし、参照セル 18 に保存されて 、るデータが誤って 、ると、このデータ読み出しにお 、て対象メモリセ ルカ 誤ったデータが読み出され、その結果、対象メモリセルに誤ったデータが書き 込まれる可能性がある。したがって、トグル書き込みでは、参照セル 18に保存されて V、るデータが誤って!/、ても、正しくデータを書き込むことができることが重要である。
[0068] 一つの考えられる手法は、データセル 17に記憶されているデータを解析して、参照 セル 18にデータ誤りがある力否かを検出することである。しかし、上述のように、参照 セル 18の特性によっては、単ビット誤りであったとしても参照セル 18に誤りが発生し て 、る可能性は否定できな 、。
[0069] 本実施形態の MRAMは、書き込み動作前のデータ読み出しにおいて誤り検出を 行い、その結果に無関係に、まずは参照セルを訂正せずに書き込み動作を行う。そ して、書き込み動作後に再度に誤り検出が行われる。書き込み動作前と書き込み動 作後の両方でデータ誤りが検出された場合、参照セル 18のデータの訂正を行う。こ の場合、データセル 17に記憶されているデータも誤って書き込まれているので、デ ータセル 17についてもデータ訂正を行う。
[0070] このような動作によれば、書き込みエラーやソフトエラーの発生確率が充分に抑制 されているという条件の下 (具体的には、読み出し動作が行われたデータセル 17及 び参照セル 18のうちの一つのメモリセルにしかデータ誤りが存在しない程度に抑制 されているという条件の下)、データ書き込みを正しく行うことができる。
[0071] このことは、図 11に示されている状態遷移図から理解される。読み出し動作が行わ れたデータセル 17及び参照セル 18のうちの一つのメモリセルのみしかデータ誤りが 存在しない場合には、 MRAMは、下記 2つの状態:データセル 17にのみデータ誤り がある状態 A、参照セル 18にのみデータ誤りがある状態 Bのいずれかを取る。 MRA Mが状態 A及び状態 Bの何れにあるかは、基本的には完全には判断できな!/、。
[0072] 本実施の形態では、まず、無条件にデータセル 17への書き込みが行われる。デー タセル 17への書き込みにより、 MRAMが状態 Aにあった場合には正常な状態 (即ち 、データセル 17と参照セル 18の両方のデータが正しい状態)に遷移し、状態 Bにあ つた場合にはデータセル 17と参照セル 18の両方が誤っている状態 Cに遷移する。
[0073] 続いて、データセル 17からデータが再度に読み出され、データセル 17のデータの 誤り検出が行われる。 MRAMが正常な状態に戻っている場合には、データ誤りは検 出されない。
[0074] 一方、 MRAMが不所望にも状態 Cに遷移してしまっている場合には、データ誤りが 検出される。この場合、参照セル 18のデータが訂正され、更に、データセル 17への
データ書き込みが再度に行われる。これにより、 MRAMを正常な状態に復帰するこ とがでさる。
[0075] 以下では、本実施形態の MRAMのライト動作の具体的な手順を、図 12を参照しな 力 説明する。図 12に示されているように、本実施形態の MRAMのライト動作では、 まず、 ECC回路 33のエンコーダによって入力データの符号ィ匕が行われる (ステップ S
21)。
[0076] 続いて、データセル 17からのデータの読み出しと、誤り検出が行われる (ステップ S
22)。データの読み出しと誤り検出の手順は、リード動作時のステップ 01で行われる 手順と同じである。
[0077] 誤りが検出されな力つた場合 (ステップ S23)には、選択されたデータセル 17に符 号ィ匕された入力データが書き込まれる (ステップ S 24)。
[0078] 一方、誤りが検出された場合には、 ECC回路 33は、誤り訂正が可能であるかを判 断する (ステップ S25)。誤り訂正が不可能であると判断した場合、 ECC回路 33は、 エラー信号を外部に出力する (ステップ S33)。ライト動作は、これによつて中断される
[0079] 誤り訂正が可能であると判断した場合、 ECC回路 33は、正しいデータを外部に出 力する。更に、選択されたデータセル 17に入力データが書き込まれる (ステップ S26 )。入力データの書き込みは、トグル書き込みによって行われる。
[0080] 続いて、選択されたデータセル 17から再度にデータが読み出され、更に ECC回路 33によって誤り検出が行われる (ステップ S27)。誤りが発見されな力つた場合 (ステツ プ S28)、ライト動作は完了する。これは、本実施形態の MRAMが、元々、図 11の状 態 Aにあり、データ書き込みによって正常な状態に復帰したことを意味している。
[0081] 一方、ステップ S28において誤りが検出された場合には、参照セル 18の訂正が行 われる。ステップ S28において誤りが検出されるのは、ステップ S26のデータ書き込 みによって MRAMが状態 Cに遷移したことを意味しており、参照セル 18の訂正によ り、 MRAMは、状態 Aに遷移する。
[0082] 参照セル 18の訂正後、選択されたデータセル 17から再度にデータが読み出され、 更に ECC回路 33によって誤り検出が行われる (ステップ S30)。参照セル 18の訂正
によって MRAMは、状態 Aに遷移しているはずであるから、基本的には誤りが発見 されるはずである。誤りが発見された場合 (ステップ S31)、データセル 17への書き込 みが再度に行われ (ステップ S32)、これにより、 MRAMは正常な状態に復帰する。 何らかの原因で誤りが発見されな力つた場合には、そのままライト動作が完了する。 例えば、元々、データセル 17と参照セル 18との両方にデータ誤りがあった場合には 、ステップ S30にお!/、てデータ誤りが発見されな!、ことがある。
[0083] 以上に説明されているように、本実施形態の MRAMでは、書き込みエラーやソフト エラーの発生確率が、充分に抑制されているという条件の下、データセル 17及び参 照セル 18のいずれにデータ誤りがあるかが不明であっても書き込みを正しく行うこと ができる。
[0084] 第 2の実施形態:
第 1の実施形態に係る MRAMの構成の一つの問題は、図 10から理解されるように 、参照セル 18の誤り訂正及びデータセル 17の再訂正を行う間に、外部からのァクセ スを拒否する必要があることである。これは、当該 MRAMの、他のメモリデバイスとの 互換性を低下させるために好ましくない。例えば、当該 MRAMを DRAM互換メモリ として動作させる場合には、 DRAMのリフレッシュタイミングで参照セル 18の訂正を 行えばよい;この場合、 DRAMがリフレッシュ信号を出力することに対応して、当該 M RAMにビジー信号 ZBYを出力させればよい。し力し、 SRAMの規格のように、外 部アクセスを拒否する機能力 Sメモリデバイスに与えられないような規格には、第 1の実 施形態に係る MRAMは対応できな ヽ。
[0085] このような問題に対処するために、第 2の実施形態に係る MRAMでは、ある参照セ ル 18の誤り訂正力 その参照セル 18を用いずにデータ読み出しが行われるデータ セル 17のデータが外部に出力されるリードサイクルで行われる。これにより、外部から 見ればアクセスが禁止されずに参照セル 18のデータ誤りを訂正することができる。以 下、第 2の実施形態に係る MRAMを詳細に説明する。
[0086] 図 13は、第 2の実施形態に係る MRAMの構成を示すブロック図である。本実施形 態では、各バンク 1のメモリアレイ 11が複数のブロック 11〜11に分割され、各ブロッ
1 4
ク 11〜11に互いに独立にアクセスすることが可能であるように構成される。より具体
的には、ブロック 11〜11 のそれぞれに、 2列に配置された参照セル 18〜18が設
1 4 1 4 けられる;ブロック 11のデータセル 17の読み出しには、同一ブロック内の参照セル 1 8力 S使用される。更に、ノンク 1〜1のそれぞれに、複数のカラムデコーダ 13〜13 、複数の書き込み回路 14〜14、及び、複数のセンスアンプ 15〜15が設けられる
1 4 1 4
;ブロック 11へのアクセスには、カラムデコーダ 13、書き込み回路 14、センスアンプ 15、及びデータバッファ/コンパレータ 16が使用される。コントローラ 2には一バンク あたりのブロックの数と同数の ECC回路 33〜33が設けられる。 ECC回路 33〜33
1 4 1 は、それぞれ、ブロック 11〜11の誤り訂正を行うために使用される。
4 1 4
[0087] ある参照セル 18の誤り訂正を、その参照セル 18を用いずにデータ読み出しが行わ れるデータセル 17のデータ読み出しの間に行うために、本実施形態では、メモリァレ ィ 11に特別なアドレス割り当てが定義される。図 14は、本実施形態におけるメモリア レイ 11のアドレス配置を示す図である。連続する 4つの列アドレス力 別々のブロック 11〜11に割り当てられる。例えば、アドレス AO〜A3は、それぞれ、ブロック 11〜
1 4 1
11 〖こ害割り当てられる。アドレス A4〜A7についても同様である。
4
[0088] 後述されるように、本実施形態の MRAMの読み出し動作は、 4つの連続するァドレ ス力 構成されるアドレスグループ毎に行われる。また、上述の連続するアドレスがバ 一ストアドレスに対応し、一般的に知られているバースト動作として動作するものであ つても構わない。
[0089] 図 15は、第 2の実施形態に係る MRAMのリード動作の手順の例を示すタイミング チャートであり、具体的には、アドレス A1のデータの読み出しに使用される参照セル 18にデータ誤りがある場合のアドレス AO〜A3についてのバースト読み出し動作を
2
示している。参照セル 18にデータ誤りがあるということは、当該 MRAMが初期的に 図 8の状態 Bにあることを意味している。図 15において、 QO〜Q3は、それぞれ、アド レス AO〜A3に対応する読み出しデータであることに留意された!、。
[0090] チップィネーブル信号 ZCE1及びアウトプットィネーブル信号 ZOEが活性ィ匕され 、最初のリードサイクルが開始される。最初のリードサイクルでは、アドレス AOがァドレ ス入力に与えられる。続いて、センスィネーブル SEが活性化され、アドレス AO〜A3 のそれぞれに対応するデータセル 17からデータが読み出される。アドレス AOしかァ
ドレス入力に与えられて 、なくても、同一のアドレスグループに属するアドレス AO〜A 3のデータが読み出されることに留意されたい。アドレス A0〜A3がメモリアレイ 11の 別々のブロックに割り当てられ、更に、各ブロックが独立にアクセス可能である図 13 の構成によれば、アドレス AO〜A3のデータを同時に読み出すことが可能である。こ れにより、センスアンプ 15〜15は、それぞれ、データ QO、 El、 Q2、 Q3を取得する
1 4
。ここで E1は、アドレス A1に対応するデータセル 17力 読み出されたデータである
2
。このリードサイクルで得られたデータ QO、 El、 Q2、 Q3のうち、アドレス AOに対応 するデータ QOが外部に出力される。
[0091] データセル 17からデータが読み出されると、 ECC回路 33〜33は、読み出された
1 4
データについて誤り検出を行う。アドレス A1から読み出されたデータ E1に誤りがある ことが ECC回路 33によって検出され、アドレス A1に対応するデータセル 17の誤り
2 2 訂正が行われる。具体的には、内部ライトイネ一ブル信号 IWEが活性ィ匕され、ァドレ ス A1に対応するデータセル 17のデータが訂正される(即ち、反転される)。既述の
2
ように、実際には参照セル 18にデータ誤りがある場合であっても、データセル 17の
2 2 データが訂正されることに留意されたい。本実施形態では、初期的に状態 Bにあった 当該 MRAMが状態 Cに遷移することになる。
[0092] 次のリードサイクルでは、アドレス A1がアドレス入力に与えられる。センスイネーブ ル信号 SEが再度に活性ィ匕されると、センスィネーブル信号 SEの活性ィ匕に応答して 、アドレス AO〜A3に対応するデータセル 17からデータ QO、 E, 1、 Q2、 Q3が取得さ れる。図 15には、アドレス AO、 Al、 A2からもデータが同時に読み出される動作が図 示されている力 特別な設計によってデータ誤りが検出されな力つたアドレス AO、 A2 、 A3からデータ読み出されないようにしてもよい。
[0093] アドレス A1に対応するデータセル 17からデータが読み出されると、 ECC回路 33
2 は、読み出されたデータ E' 1について再度に誤り検出を行う。本実施形態では、元 来参照セル 18にデータ誤りがあるので、即ち、 MRAMが図 8の状態 Cに遷移して
2
いる。このため、アドレス A1から読み出されたデータ E' 1には誤りが検出される。デ ータ誤りを検出すると、 ECC回路 33は、データ E' 1に対して誤り訂正を行い、正し
2
いデータ Q1を算出する。算出された正しいデータ Q1が、外部に出力される。
[0094] 続いて内部ライトイネ一ブル信号 IWEが活性ィ匕され、参照セル 18のデータが訂正
2
される。これにより、 MRAMは、状態 Aに遷移する。
[0095] 次のリードサイクルでは、アドレス A2がアドレス入力に与えられる。センスイネーブ ル信号 SEが再度に活性ィ匕されると、センスィネーブル信号 SEの活性ィ匕に応答して 、アドレス A1に対応するデータセル 17からデータが再度に取得される。アドレス AO 〜A3に対応するデータセル 17からデータ QO、 E"l、 Q2、 Q3が取得される。このリ ードサイクルで得られたデータ QO、 El、 Q2、 Q3のうち、アドレス A2に対応するデー タ QOが外部に出力される。
[0096] アドレス A1に対応するデータセル 17からデータが読み出されると、 ECC回路 33
2 は、読み出されたデータ E"lについて再度に誤り検出を行う。データ誤りを検出する と、 ECC回路 33は、データ E"lに対して誤り訂正を行い、正しいデータ Q1をァドレ
2
ス A1に対応するデータセル 17に書き込む。これにより、本実施形態の MRAMはデ ータセル 17の誤り訂正に成功し、正常な状態に復帰する。
[0097] 次のリードサイクルでは、アドレス A3がアドレス入力に与えられる。センスイネーブ ル信号 SEが再度に活性ィ匕されると、センスィネーブル信号 SEの活性ィ匕に応答して 、アドレス AO〜A3に対応するデータセル 17からデータ QO〜Q3が取得される。この リードサイクルで得られたデータ QO〜Q3のうち、アドレス A3に対応するデータ QOが 外部に出力される。
[0098] このような手順によるリード動作では、読み出されたデータ QO〜Q3の出力後に、 参照セル 18を訂正するための期間を用意する必要がない。したがって、外部からの アクセスを拒否するための信号を生成する必要がなくなり、 MRAMの他のメモリデバ イスに対する互換性を有効に向上させることができる。
[0099] 第 3の実施形態:
第 3の実施形態では、第 1の実施形態及び第 2の実施形態とは異なる手順で、デー タセル 17及び参照セル 18のデータ誤りの訂正が行われる。
[0100] 図 16は、本発明の第 3の実施形態に係る MRAMの構成を示すブロック図である。
第 3の実施形態の MRAMの構成は、図 6に図示されている第 1の実施形態の MRA Mとほぼ同様の構成を有している;相違点は、誤りが検出されたリード動作において
指定されて!ヽた参照セルアドレス (本実施形態では行アドレス)を保存する参照セル アドレスレジスタ(RCAレジスタ) 36力 ECC回路 33に設けられていることである。本 実施形態では、 RC Aレジスタ 36に保存された参照セルアドレスを用いて、データセ ル 17及び参照セル 18のデータ誤りが訂正される。
[0101] 図 17は、本実施形態の MRAMの動作の概念を説明する図である。本実施形態の MRAMは、同一の参照セルを用いて行われる 2回のリード動作においてデータ誤り が検出されたときに参照セルにデータ誤りがあると判断し、参照セルのデータ誤りを 訂正する。より具体的には、あるリード動作においてデータ誤りが検出されると、まず はデータセル 17に対して誤り訂正を行う。この段階では、参照セル 18の訂正は行わ ず、その代わりに、そのリード動作において使用された参照セル 18のアドレス (参照 セルアドレス)を RC Aレジスタ 36に登録する。
[0102] RCAレジスタ 36に登録された参照セルアドレスから、同一の参照セル 18を用いて 行われた 2回のリード動作においてデータ誤りが検出されたことを検知すると、本実 施形態の MRAMは、参照セル 18の訂正を行う。これは、同一の参照セル 18を用い て行われた 2回のリード動作の両方でデータ誤りが検出されることは、参照セル 18に 誤りがある蓋然性が高いことを意味している力もである。参照セル 18の訂正の後、そ の参照セル 18を用いてリード動作が行われるデータセル 17のデータ訂正を行う。
[0103] 図 18は、本実施形態の MRAMのリード動作の具体的な手順を示すフローチャート である。行アドレス及び列アドレスが指定されてリード動作が開始されると、当該リード 動作に使用される参照セルアドレスが RCAレジスタ 36に登録されているかが判断さ れる (ステップ S41);本実施形態では、参照セルアドレスは、行アドレスに一致する。
[0104] 参照セルアドレスが RC Aレジスタに登録されていない場合には、データセル 17か らデータが読み出され、更に、読み出されたデータに対して誤り検出が行われる (ス テツプ S50)。誤りが検出されな力つた場合 (ステップ S51)、読み出されたデータが 外部に出力され、リード動作が完了する。ステップ S50において誤りが検出された場 合、更に、 ECC回路 33により、誤り訂正が可能であるかが判断される (ステップ S51) 。誤り訂正が不可能と判断されると、エラー信号が出力されてリード動作が中止される (ステップ S55)。誤り訂正が可能であると判断されると、誤りが訂正されたデータが外
部に出力され、更に、データセル 17のデータが訂正される (ステップ S53)。更に、当 該リード動作に使用された参照セルアドレスカ¾じ八レジスタ 36に登録される (ステツ プ S54)。
[0105] 一方、参照セルアドレスが RCAレジスタ 36に登録されている場合には、データセル 17からデータが読み出され、更に、読み出されたデータに対して誤り検出が行われ る (ステップ S42)。誤りが検出されな力つた場合 (ステップ S43)、当該リード動作に おいて使用された参照セルアドレス力 RCAレジスタ 36から消去される。これは、同 一の参照セル 18を用いて行われた 2回のリード動作の一方のみでデータ誤りが検出 されることは、参照セル 18にデータ誤りがない蓋然性が高いからである。更に、読み 出されたデータが外部に出力され、リード動作が完了する。
[0106] ステップ S42において誤りが検出された場合、更に、 ECC回路 33により、誤り訂正 が可能であるかが判断される (ステップ S45)。誤り訂正が不可能と判断されると、エラ 一信号が出力されリード動作が中止される (ステップ S55)。
[0107] 誤り訂正が可能であると判断されると、誤りが訂正されたデータが外部に出力される 。更に、当該参照セルアドレスによって指定された参照セル 18のデータが訂正され( ステップ S46)、当該参照セルアドレスが RC Aレジスタ 36から消去される(ステップ S4 7)。更に、該参照セル 18を用いて読み出しが行われるデータセル 17からデータが 読み出され、読み出されたデータに対して誤り検出が行われる (ステップ S48)。誤り が検出された場合には、データセル 17のデータが訂正され、リード動作が完了する。
[0108] このような動作によれば、データセル 17及び参照セル 18のいずれにデータ誤りが あるかが不明であっても、 MRAMを高い確率で正常な状態に復帰させることができ る。
Claims
(B—1)前記第 1リードサイクルの後の第 2リードサイクルにおいて、前記第 1乃至第 n読み出しデータのうちの第 2出力データを、誤り訂正を行った上で外部に出力する ステップと、
(B- 2)前記 ( A— 2)ステップにお 、て前記第 1読み出しデータに誤りが検出され た場合、前記第 2リードサイクルにおいて前記第 1データセル力も第 1再読み出しデ ータを読み出すステップと、
(B— 3)前記第 2リードサイクルにおいて、前記第 1再読み出しデータの誤り検出を 行うステップと、
(B— 4)前記第 1再読み出しデータに誤りが検出された場合に、前記第 2リードサイ クルにお 、て前記第 1参照セルに記憶されて!、るデータを訂正するステップと、
(C—1)前記第 2リードサイクルの後の第 3リードサイクルにおいて、前記第 1乃至第 3読み出しデータのうちの第 3出力データを、誤り訂正を行った上で外部に出力する ステップと、
(C 2)前記 (B— 2)ステップにお 、て前記第 1再読み出しデータに誤りが検出さ
れた場合に、前記第 3リードサイクルにおいて前記第 1データセルから第 2再読み出 しデータを読み出すステップと、
(C— 3)前記第 2再読み出しデータに誤りが検出された場合に、前記第 3リードサイ クルにおいて、前記第 1データセルに記憶されているデータを再度に訂正するステツ プ
とを具備する
MRAMの動作方法。
[5] トグル書き込みによってデータ書き込みが行われる MRAMの動作方法であって、
(A)参照セルを用いて生成される参照信号を用いて、データセル力も読み出しデ ータを読み出すステップと、
(B)前記読み出しデータの誤り検出を行うステップと、
(C)前記データセルに入力データをトグル書き込みによって書き込むステップと、
(D)前記 (B)ステップにおいて前記読み出しデータに誤りが検出された場合、前記 (C)ステップの後、前記データセルから第 1再読み出しデータを読み出すステップと
(E)前記第 1再読み出しデータの誤り検出を行うステップと、
(F)前記 (E)ステップにおいて前記第 1再読み出しデータに誤りが検出された場合 に、前記参照セルに記憶されて 、るデータを訂正するステップと、
(G)前記第 1再読み出しデータに誤りが検出された場合に、前記 (F)ステップの後 、前記データセル力 第 2再読み出しデータを読み出すステップと、
(H)前記第 2再読み出しデータの誤り検出を行うステップと、
(I)前記第 2再読み出しデータに誤りが検出された場合に、前記データセルに記憶 されて 、るデータを訂正するステップ
とを具備する
MRAMの動作方法。
[6] アドレスを指定するステップと、
前記アドレスによって選択される選択参照セルを用いて、前記アドレスによって選択 される選択データセルから読み出しデータを読み出すステップと、
前記読み出しデータの誤りを検出するステップと、
前記選択参照セルのアドレスである参照セルアドレス力 参照セルアドレス記憶手 段に登録されているかを調べるステップと、
前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されておらず、且つ 、前記読み出しデータに誤りが検出された場合、前記選択データセルの誤りを訂正 すると共に、前記参照セルアドレスを前記参照セルアドレス記憶手段に登録するステ ップと、
前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されており、且つ、 前記読み出しデータに誤りが検出された場合、前記参照セルの誤りを訂正するステ ップ
とを具備する
MRAMの動作方法。
[7] 請求の範囲 6に記載の MRAMの動作方法であって、
前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されており、且つ、 前記読み出しデータに誤りが検出されな力つた場合、前記参照セルアドレスを前記 参照セルアドレス記憶手段から消去するステップ
を更に具備する
MRAMの動作方法。
[8] 請求の範囲 6に記載の MRAMの動作方法であって、
前記参照セルアドレスが前記参照セルアドレス記憶手段に登録されており、且つ、 前記読み出しデータに誤りが検出された場合、前記参照セルの誤りを訂正するステ ップ〖こカロえ、下記ステップ:
(A)前記参照セルアドレスを前記参照セルアドレス記憶手段力 消去するステップ
(B)前記参照セルを用いてデータが読み出されるデータセル力 再読み出しデー タを読み出すステップ、
(C)前記再読み出しデータの誤りを検出するステップ、及び
(D)前記再読み出しデータに誤りが検出された場合、前記参照セルを用 、てデ一
タが読み出される前記データセルの誤りを訂正するステップ
とが行われる
MRAMの動作方法。
[9] データセルと参照セルとを含むメモリアレイと、
前記参照セルを用いて生成される参照信号を用いて前記データセル力 データを 読み出し、且つ、トグル書き込みによって前記データセルにデータを書き込むように 構成された周辺回路
とを具備し、
前記周辺回路は、 (A)前記データセル力 読み出された読み出しデータの誤り検 出を行い、前記読み出しデータに誤りを検出した場合、前記データセルに記憶され ているデータを訂正し、(B)前記データセルの訂正の後、前記データセル力 第 1再 読み出しデータを読み出し、前記第 1再読み出しデータの誤り検出を行い、(C)前記 第 1再読み出しデータに誤りを検出したときに、前記参照セルに記憶されているデー タを訂正し、(D)前記参照セルの訂正の後、前記データセル力 第 2再読み出しデ ータを読み出し、前記第 2再読み出しデータの誤り検出を行い、(E)前記第 2再読み 出しデータに誤りを検出したときに、前記データセルに記憶されているデータを再度 に訂正するように構成された
MRAM。
[10] 第 1〜第 nデータセル (nは 3以上の整数)と、
第 1〜第 n参照セルと、
第 1〜第 nECC回路を備える周辺回路
とを備え、
前記周辺回路は、第 1リードサイクルにおいて、(A— 1)前記第 1〜第 n参照セルを 用いて生成される参照信号を用いて、それぞれ、前記第 1〜第 nデータセルから前記 第 1〜第 n読み出しデータを読み出し、(A— 2)前記第 1〜第 nECC回路を用いて前 記第 1乃至第 n読み出しデータの誤り検出を行い、(A— 3)前記第 1乃至第 n読み出 しデータのうちの第 1出力データを、誤り訂正を行った上で外部に出力し、且つ、(A 4)前記第 1読み出しデータに誤りが検出された場合に、前記第 1データセルに記
憶されて 、るデータを訂正するように構成され、
前記周辺回路は、前記第 1リードサイクルの後の第 2リードサイクルにおいて、 (B- 1)前記第 1乃至第 n読み出しデータのうちの第 2出力データを、誤り訂正を行った上 で外部に出力し、(B— 2)前記第 1読み出しデータに誤りが検出された場合、前記第 1データセル力 第 1再読み出しデータを読み出し、(B— 3)前記第 1再読み出しデ ータの誤り検出を行い、(B— 4)前記第 1再読み出しデータに誤りが検出された場合 に、前記第 1参照セルに記憶されているデータを訂正するように構成され、且つ 前 記周辺回路は、前記第 2リードサイクルの後の第 3リードサイクルにおいて、 (C- 1) 前記第 1乃至第 n読み出しデータのうちの第 3出力データを、誤り訂正を行った上で 外部に出力し、(C 2)前記第 1再読み出しデータに誤りが検出された場合、前記第 1データセル力 第 2再読み出しデータを読み出し、(C 3)前記第 2再読み出しデ ータの誤り検出を行い、(C— 4)前記第 2再読み出しデータに誤りが検出された場合 に、前記第 1データセルに記憶されているデータを再度に訂正するように構成された
MRAM。
データセルと参照セルとを含むメモリアレイと、
参照セルアドレス記憶手段を備える周辺回路
とを具備し、
前記周辺回路は、 (A)外部力 指定されたアドレスに応答して前記参照セル力 選 択参照セルを選択し、且つ、前記アドレスに応答して前記データセル力 選択される 選択データセルを選択し、 (B)前記選択参照セルを用いて生成された参照信号を用 いて前記選択データセル力 読み出しデータを読み出し、(C)前記読み出しデータ の誤りを検出し、(D)前記選択参照セルのアドレスである参照セルアドレス力 前記 参照セルアドレス記憶手段に登録されて 、るかを調べ、(E)前記参照セルアドレスが 前記参照セルアドレス記憶手段に登録されておらず、且つ、前記読み出しデータに 誤りが検出された場合、前記選択データセルの誤りを訂正すると共に前記参照セル アドレスを前記参照セルアドレス記憶手段に登録し、 (F)前記参照セルアドレスが前 記参照セルアドレス記憶手段に登録されており、且つ、前記読み出しデータに誤りが 検出された場合、前記選択参照セルの誤りを訂正するように構成された
6090ZC/900Zdf/X3d P£ 6W9滅 OOZ OAV
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/083,692 US7688617B2 (en) | 2005-10-18 | 2006-10-17 | MRAM and operation method of the same |
JP2007540969A JP4853735B2 (ja) | 2005-10-18 | 2006-10-17 | Mram、及びその動作方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005-302933 | 2005-10-18 | ||
JP2005302933 | 2005-10-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2007046349A1 true WO2007046349A1 (ja) | 2007-04-26 |
Family
ID=37962442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2006/320609 WO2007046349A1 (ja) | 2005-10-18 | 2006-10-17 | Mram、及びその動作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7688617B2 (ja) |
JP (1) | JP4853735B2 (ja) |
WO (1) | WO2007046349A1 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008269671A (ja) * | 2007-04-17 | 2008-11-06 | Nec Corp | 半導体記憶装置及びその動作方法 |
JP4900879B2 (ja) * | 2005-10-20 | 2012-03-21 | 日本電気株式会社 | Mram及びその動作方法 |
JP4905839B2 (ja) * | 2005-10-18 | 2012-03-28 | 日本電気株式会社 | Mramの動作方法 |
JP2013516725A (ja) * | 2010-01-08 | 2013-05-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | スピン・トルク・ベースの記憶装置のためのリファレンス・セル |
US8510633B2 (en) | 2007-04-17 | 2013-08-13 | Nec Corporation | Semiconductor storage device and method of operating the same |
US11322221B2 (en) | 2020-09-30 | 2022-05-03 | Sharp Semiconductor Innovation Corporation | Memory device with pipelined access |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100907218B1 (ko) * | 2007-03-28 | 2009-07-10 | 삼성전자주식회사 | 읽기 레벨 제어 장치 및 그 방법 |
US7904793B2 (en) * | 2007-03-29 | 2011-03-08 | Sandisk Corporation | Method for decoding data in non-volatile storage using reliability metrics based on multiple reads |
JP2012068814A (ja) * | 2010-09-22 | 2012-04-05 | Toshiba Corp | 半導体記憶装置およびメモリ制御装置 |
US9658780B2 (en) * | 2011-09-16 | 2017-05-23 | Avalanche Technology, Inc. | Magnetic random access memory with dynamic random access memory (DRAM)-like interface |
JP6072449B2 (ja) * | 2012-07-09 | 2017-02-01 | ルネサスエレクトロニクス株式会社 | 半導体記憶回路及びその動作方法 |
KR102049258B1 (ko) * | 2013-03-15 | 2019-11-28 | 삼성전자주식회사 | 레퍼런스 셀을 포함하는 불휘발성 메모리 장치 및 그것의 데이터 관리 방법 및 |
JP2015053096A (ja) * | 2013-09-09 | 2015-03-19 | マイクロン テクノロジー, インク. | 半導体装置、及び誤り訂正方法 |
US9298549B2 (en) | 2013-12-11 | 2016-03-29 | International Business Machines Corporation | Read buffer architecture supporting integrated XOR-reconstructed and read-retry for non-volatile random access memory (NVRAM) systems |
US10381102B2 (en) | 2014-04-30 | 2019-08-13 | Micron Technology, Inc. | Memory devices having a read function of data stored in a plurality of reference cells |
WO2017058111A1 (en) * | 2015-09-28 | 2017-04-06 | Agency For Science, Technology And Research | Method of error detection in a toggle electric field magnetic random access memory (tef-ram) device and tef-ram device |
US9899082B2 (en) | 2016-03-03 | 2018-02-20 | Toshiba Memory Corporation | Semiconductor memory device |
US10008277B2 (en) * | 2016-09-12 | 2018-06-26 | Sandisk Technologies Llc | Block health monitoring using threshold voltage of dummy memory cells |
US10304550B1 (en) | 2017-11-29 | 2019-05-28 | Sandisk Technologies Llc | Sense amplifier with negative threshold sensing for non-volatile memory |
KR102445560B1 (ko) * | 2018-03-09 | 2022-09-22 | 에스케이하이닉스 주식회사 | 저항성 메모리 장치 및 그의 동작 방법 |
US10643695B1 (en) | 2019-01-10 | 2020-05-05 | Sandisk Technologies Llc | Concurrent multi-state program verify for non-volatile memory |
US11024392B1 (en) | 2019-12-23 | 2021-06-01 | Sandisk Technologies Llc | Sense amplifier for bidirectional sensing of memory cells of a non-volatile memory |
JP2022142319A (ja) | 2021-03-16 | 2022-09-30 | キオクシア株式会社 | 記憶装置 |
TWI813056B (zh) * | 2021-03-16 | 2023-08-21 | 日商鎧俠股份有限公司 | 儲存裝置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003115195A (ja) * | 2001-07-25 | 2003-04-18 | Hewlett Packard Co <Hp> | 耐障害性を有する磁気抵抗固体記憶装置 |
JP2006286047A (ja) * | 2005-03-31 | 2006-10-19 | Toshiba Corp | 磁気ランダムアクセスメモリ |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6055178A (en) * | 1998-12-18 | 2000-04-25 | Motorola, Inc. | Magnetic random access memory with a reference memory array |
US7036068B2 (en) | 2001-07-25 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | Error correction coding and decoding in a solid-state storage device |
US6981196B2 (en) * | 2001-07-25 | 2005-12-27 | Hewlett-Packard Development Company, L.P. | Data storage method for use in a magnetoresistive solid-state storage device |
US6545906B1 (en) * | 2001-10-16 | 2003-04-08 | Motorola, Inc. | Method of writing to scalable magnetoresistance random access memory element |
JP3821066B2 (ja) * | 2002-07-04 | 2006-09-13 | 日本電気株式会社 | 磁気ランダムアクセスメモリ |
JP4242117B2 (ja) * | 2002-07-11 | 2009-03-18 | 株式会社ルネサステクノロジ | 記憶装置 |
JP4170108B2 (ja) * | 2003-02-20 | 2008-10-22 | 株式会社ルネサステクノロジ | 磁気記憶装置 |
JP2004319923A (ja) | 2003-04-21 | 2004-11-11 | Hitachi Maxell Ltd | 窒化鉄系磁性粉末 |
US7240275B2 (en) * | 2003-08-05 | 2007-07-03 | Hewlett-Packard Development Company, L.P. | Logical data block, magnetic random access memory, memory module, computer system and method |
US7191379B2 (en) * | 2003-09-10 | 2007-03-13 | Hewlett-Packard Development Company, L.P. | Magnetic memory with error correction coding |
WO2007046350A1 (ja) | 2005-10-18 | 2007-04-26 | Nec Corporation | Mramの動作方法 |
US7286429B1 (en) * | 2006-04-24 | 2007-10-23 | Taiwan Semiconductor Manufacturing Company, Ltd. | High speed sensing amplifier for an MRAM cell |
-
2006
- 2006-10-17 WO PCT/JP2006/320609 patent/WO2007046349A1/ja active Application Filing
- 2006-10-17 US US12/083,692 patent/US7688617B2/en active Active
- 2006-10-17 JP JP2007540969A patent/JP4853735B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003115195A (ja) * | 2001-07-25 | 2003-04-18 | Hewlett Packard Co <Hp> | 耐障害性を有する磁気抵抗固体記憶装置 |
JP2006286047A (ja) * | 2005-03-31 | 2006-10-19 | Toshiba Corp | 磁気ランダムアクセスメモリ |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4905839B2 (ja) * | 2005-10-18 | 2012-03-28 | 日本電気株式会社 | Mramの動作方法 |
US8281221B2 (en) | 2005-10-18 | 2012-10-02 | Nec Corporation | Operation method of MRAM including correcting data for single-bit error and multi-bit error |
JP4900879B2 (ja) * | 2005-10-20 | 2012-03-21 | 日本電気株式会社 | Mram及びその動作方法 |
JP2008269671A (ja) * | 2007-04-17 | 2008-11-06 | Nec Corp | 半導体記憶装置及びその動作方法 |
US8510633B2 (en) | 2007-04-17 | 2013-08-13 | Nec Corporation | Semiconductor storage device and method of operating the same |
JP2013516725A (ja) * | 2010-01-08 | 2013-05-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | スピン・トルク・ベースの記憶装置のためのリファレンス・セル |
US11322221B2 (en) | 2020-09-30 | 2022-05-03 | Sharp Semiconductor Innovation Corporation | Memory device with pipelined access |
Also Published As
Publication number | Publication date |
---|---|
JP4853735B2 (ja) | 2012-01-11 |
US7688617B2 (en) | 2010-03-30 |
JPWO2007046349A1 (ja) | 2009-04-23 |
US20090141544A1 (en) | 2009-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4853735B2 (ja) | Mram、及びその動作方法 | |
JP4905839B2 (ja) | Mramの動作方法 | |
KR100646479B1 (ko) | 데이터 에러 감소 방법 및 자기저항 랜덤 액세스 메모리 | |
JP3821066B2 (ja) | 磁気ランダムアクセスメモリ | |
TWI670717B (zh) | 記憶裝置及記憶體系統 | |
JP4956640B2 (ja) | 磁気メモリ | |
JP2003208786A (ja) | 最適化された書込み電流をオンチップで自動的に判定する方法及び装置を備える磁気抵抗ランダムアクセスメモリ(mram) | |
US8929167B2 (en) | MRAM self-repair with BIST logic | |
JP2011008850A (ja) | メモリ及び情報処理方法 | |
TW201633300A (zh) | 半導體儲存裝置 | |
US10204700B1 (en) | Memory systems and methods of operating semiconductor memory devices | |
CN110993011B (zh) | 用于存储器测试的集成电路和方法 | |
Münch et al. | MBIST-based Trim-Search Test Time Reduction for STT-MRAM | |
JP4735948B2 (ja) | 磁気ランダムアクセスメモリ及びその動作方法 | |
JP4900879B2 (ja) | Mram及びその動作方法 | |
US20080080232A1 (en) | Active write current adjustment for magneto-resistive random access memory | |
US7266732B2 (en) | MRAM with controller | |
CN109712654B (zh) | 半导体存储装置 | |
JP2007026477A (ja) | 不揮発性記憶装置 | |
US20240321334A1 (en) | Storage device and driving method of storage device | |
US11804276B2 (en) | Built-in-self-test logic, memory device with same, and memory module testing method | |
JP4891092B2 (ja) | 磁気ランダムアクセスメモリ、その動作方法及びその製造方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
ENP | Entry into the national phase |
Ref document number: 2007540969 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12083692 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 06811864 Country of ref document: EP Kind code of ref document: A1 |