JP5492329B2 - Memory access device - Google Patents

Memory access device Download PDF

Info

Publication number
JP5492329B2
JP5492329B2 JP2013111086A JP2013111086A JP5492329B2 JP 5492329 B2 JP5492329 B2 JP 5492329B2 JP 2013111086 A JP2013111086 A JP 2013111086A JP 2013111086 A JP2013111086 A JP 2013111086A JP 5492329 B2 JP5492329 B2 JP 5492329B2
Authority
JP
Japan
Prior art keywords
data
bit
output
memory
xor gate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013111086A
Other languages
Japanese (ja)
Other versions
JP2013191227A (en
Inventor
井 達 徳 金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013111086A priority Critical patent/JP5492329B2/en
Publication of JP2013191227A publication Critical patent/JP2013191227A/en
Application granted granted Critical
Publication of JP5492329B2 publication Critical patent/JP5492329B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、メモリアクセス装置に関するものである。   The present invention relates to a memory access device.

高集積度のメモリチップには、個々のメモリセル(1ビットの記憶素子)の製造時の加工精度のばらつきによって、所望の動作を行わない不良メモリセルが混在する。   In a highly integrated memory chip, defective memory cells that do not perform a desired operation are mixed due to variations in processing accuracy at the time of manufacturing individual memory cells (1-bit storage elements).

製造ばらつき対策として、例えば、実際に必要な容量よりも多くのメモリセルを予め作っておき、余裕分のメモリセルで不良メモリセルを代替することで歩留まりを向上させるということが行われている。また、誤り訂正符号(ECC)を使って不良メモリセルのビットを救済する方式も用いられる。   As a measure against manufacturing variation, for example, a memory cell having a capacity larger than that actually required is prepared in advance, and the yield is improved by substituting a defective memory cell with a surplus memory cell. In addition, a method of relieving a bit of a defective memory cell using an error correction code (ECC) is also used.

また、ROMやPROMのような読み出し専用メモリでは、ビット・シーケンスを記憶するメモリ・コンポーネントと追加メモリ・コンポーネントとを設け、0又は1のいずれか一方しか記憶できない不良メモリセルに対して、その不良メモリセルが記憶できない値を記憶させる場合、ビット・シーケンス内の各データ・ビットの値を反転して記憶させ、追加メモリ・コンポーネントにデータを反転させたことを示す値を記憶させる方式が提案されている(例えば特許文献1参照)。データ読み出し時は、追加メモリ・コンポーネントの値を参照し、データ記憶時に反転させたことが示されている場合は、読み出したデータを反転して使用する。   In addition, a read-only memory such as a ROM or PROM has a memory component for storing a bit sequence and an additional memory component, and a defective memory cell that can store only one of 0 and 1 is defective. When storing a value that cannot be stored by the memory cell, a method is proposed in which the value of each data bit in the bit sequence is inverted and stored, and the additional memory component stores a value indicating that the data has been inverted. (For example, refer to Patent Document 1). When data is read, the value of the additional memory component is referred to. When it is indicated that the data is inverted when data is stored, the read data is inverted and used.

MRAMやReRAMのように、異なる2つの抵抗値を持つことのできるメモリセルを用いる電気的に書き替え可能なメモリでは、メモリセルを低抵抗状態か高抵抗状態のいずれかにすることで、一方を論理値0に、もう一方を論理値1に対応させてデータを記憶する。データの読み出し時には、メモリセルの抵抗値が閾値より小さいか大きいかで論理値0か1(又は1か0)かを判断する。   In an electrically rewritable memory that uses memory cells that can have two different resistance values, such as MRAM and ReRAM, the memory cell can be placed in either a low resistance state or a high resistance state. The data is stored in correspondence with the logical value 0 and the other with the logical value 1. At the time of data reading, whether the logical value is 0 or 1 (or 1 or 0) is determined based on whether the resistance value of the memory cell is smaller or larger than the threshold value.

このようなメモリにおいて、製造時のばらつきが大きいと、低抵抗時でも高抵抗時でも抵抗値が閾値よりも小さいメモリセルや、逆に低抵抗時でも高抵抗時でも抵抗値が閾値よりも大きいメモリセルが存在しうる。このようなメモリセルは、0を書き込んでも1を書き込んでも、常に0又は1のいずれかが読み出されることになる。   In such a memory, if the variation at the time of manufacture is large, the resistance value is smaller than the threshold value at both low resistance and high resistance, and conversely, the resistance value is larger than the threshold value at both low resistance and high resistance. There may be memory cells. In such a memory cell, either 0 or 1 is always read, whether 0 or 1 is written.

MRAM等の製造時のばらつき対策として、自己参照読み出しと呼ばれる技術が用いられている。この技術は、メモリセルからデータを読み出した後、その値が0なのか1なのかを判断するために、同じメモリセルに1(又は0)を書き込み、そのメモリセルを再度読み出した値を最初に読み出した値と比較することで、最初に読み出した値が0か1かを決定し、メモリセルにはその値を再び書き込んでおくというものである。   A technique called self-reference reading is used as a countermeasure against variations in manufacturing MRAM or the like. In this technique, after reading data from a memory cell, in order to determine whether the value is 0 or 1, 1 (or 0) is written to the same memory cell, and the value read from the memory cell is read first. By comparing with the value read out in (1), it is determined whether the value read out first is 0 or 1, and the value is written again in the memory cell.

自己参照読み出しを用いることで、メモリセル毎に抵抗値のばらつきがあっても、0と1を正しく読み書きすることができる。しかし、メモリからデータを読み出すために、メモリセルに対して2回の読み出しと2回の書き込みが必要になり、アクセス時間が大きくなるという問題があった。   By using self-reference reading, 0 and 1 can be read and written correctly even if the resistance value varies among memory cells. However, in order to read data from the memory, it has been necessary to read twice and write twice with respect to the memory cell, which increases the access time.

特開2004−31904号公報JP 2004-31904 A

本発明はランダムアクセス可能な不揮発性メモリにおける不良メモリセルを救済し、かつアクセス時間を低減できるメモリアクセス装置を提供することを目的とする。   An object of the present invention is to provide a memory access device that can relieve a defective memory cell in a randomly accessible nonvolatile memory and reduce an access time.

本発明の一態様によるメモリアクセス装置は、書き込みデータの冗長化符号処理を行う冗長化符号回路と、前記冗長化符号回路により冗長化符号処理されたデータが与えられ、前記冗長化符号処理されたデータの各ビットの値を反転するインバータ回路と、前記冗長化符号処理されたデータ及び前記インバータ回路により反転されたデータが与えられ、選択信号に基づいていずれか一方を選択するセレクタと、前記セレクタで選択されたデータが記憶されているメモリから読み出されるデータと、前記冗長化符号処理されたデータ及び前記インバータ回路により反転されたデータのいずれか一方とを比較し、比較結果を示す比較結果信号を出力する比較器と、前記メモリの書き込み制御を行うと共に、前記比較結果信号が与えられ、前記比較結果信号に示される前記比較結果に基づいて前記選択信号を生成し出力する書き込み制御回路と、前記メモリから読み出されるデータを冗長化復号処理して出力する冗長化復号回路と、を備える。前記書き込みデータをnビット(nは1以上の整数)とすると、冗長化符号処理されたデータ及び前記メモリから読み出されるデータはn+1ビットとなり、前記冗長化復号処理されたデータはnビットとなり、前記冗長化符号回路は、n−1個のXORゲートを有し、第1のXORゲートには前記書き込みデータの1ビット目と2ビット目とが与えられ、第kのXORゲート(kは2≦k≦n−1を満たす整数)には第k−1のXORゲートの出力値と前記書き込みデータのk+1ビット目が与えられ、出力の1ビット目として0を出力し、2ビット目として前記書き込みデータの1ビット目と同じ値を出力し、3ビット目として前記第1のXORゲートの出力値を出力し、k+2ビット目として前記第kのXORゲートの出力値を出力することを特徴とする。   A memory access device according to an aspect of the present invention is provided with a redundant encoding circuit that performs redundant encoding processing of write data, and data that has been subjected to redundant encoding processing by the redundant encoding circuit, and the redundant encoding processing is performed. An inverter circuit that inverts the value of each bit of data, a selector that receives the redundantly coded data and the data inverted by the inverter circuit, and selects either one based on a selection signal; and the selector A comparison result signal indicating a comparison result by comparing the data read from the memory in which the data selected in (1) is stored with either the redundant code processed data or the data inverted by the inverter circuit And a write control of the memory, the comparison result signal is given, and the comparison Comprising a write control circuit which generates and outputs the selection signal based on the comparison results shown in result signal, and a redundant decoder circuit for outputting the redundancy decoding data read from said memory. If the write data is n bits (n is an integer equal to or greater than 1), the data subjected to redundant coding processing and the data read from the memory are n + 1 bits, the data subjected to the redundant decoding processing are n bits, The redundant encoding circuit has n-1 XOR gates, and the first and second bits of the write data are given to the first XOR gate, and the kth XOR gate (k is 2 ≦ 2). (an integer satisfying k ≦ n−1) is given the output value of the (k−1) -th XOR gate and the (k + 1) th bit of the write data, 0 is output as the first bit of the output, and the write is performed as the second bit The same value as the first bit of data is output, the output value of the first XOR gate is output as the third bit, and the output value of the kth XOR gate is output as the k + 2 bit. It is characterized in.

本発明によれば、ランダムアクセス可能な不揮発性メモリにおける不良メモリセルを救済し、かつアクセス時間を低減できる。   According to the present invention, it is possible to relieve a defective memory cell in a randomly accessible nonvolatile memory and reduce an access time.

以下、本発明の実施の形態を図面に基づいて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1に本発明の実施形態に係るメモリシステムの概略構成を示す。メモリシステムは、冗長化符号回路1、冗長化復号回路2、インバータ3、セレクタ4、比較器5、書き込み制御回路6、及びメモリ7を備える。   FIG. 1 shows a schematic configuration of a memory system according to an embodiment of the present invention. The memory system includes a redundant encoding circuit 1, a redundant decoding circuit 2, an inverter 3, a selector 4, a comparator 5, a write control circuit 6, and a memory 7.

冗長化符号回路1はnビット(nは1以上の整数)のデータDinが与えられ、冗長化符号処理を行い、n+1ビットのデータRDinに変換して出力する。冗長化符号処理については後述する。インバータ3は冗長化符号回路1の出力が与えられ、各ビットの値を反転して出力する。   The redundant encoding circuit 1 is provided with n-bit (n is an integer of 1 or more) data Din, performs redundant encoding processing, converts the data into n + 1-bit data RDin, and outputs the data. The redundant code process will be described later. The inverter 3 is supplied with the output of the redundant encoding circuit 1, and inverts the value of each bit and outputs it.

セレクタ4は、冗長化符号回路1の出力及びインバータ3の出力が与えられ、選択信号Selに基づいていずれか一方を選択してメモリ7へ出力する。   The selector 4 is supplied with the output of the redundant encoding circuit 1 and the output of the inverter 3, selects either one based on the selection signal Sel, and outputs it to the memory 7.

メモリ7はランダムアクセス可能な不揮発性メモリであり、書き込み又は読み出しを行うメモリの番地を指定する複数ビットのアドレス信号Addrと、書き込みのタイミングを指示する書き込み信号MWriteが与えられる。セレクタ4から出力されたデータMDinが、アドレス信号Addrで指定された番地に書き込み信号MWriteに基づくタイミングで書き込まれる。   The memory 7 is a non-volatile memory that can be accessed randomly, and is supplied with a multi-bit address signal Addr that specifies the address of the memory to be written or read and a write signal MWwrite that indicates the timing of writing. The data MDin output from the selector 4 is written into the address specified by the address signal Addr at a timing based on the write signal MWwrite.

比較器5は、メモリ7から読み出されたn+1ビットのデータRDoutと、冗長化符号回路1の出力RDinとを比較し、比較結果を示す比較結果信号Matchを書き込み制御回路6へ出力する。書き込み制御回路6は比較結果信号Matchの値に基づいて、選択信号Selを出力する。また、書き込み制御回路6は書き込み信号MWriteを出力する。   The comparator 5 compares the n + 1-bit data RDout read from the memory 7 with the output RDin of the redundant encoding circuit 1 and outputs a comparison result signal Match indicating the comparison result to the write control circuit 6. The write control circuit 6 outputs a selection signal Sel based on the value of the comparison result signal Match. Further, the write control circuit 6 outputs a write signal MWwrite.

冗長化復号回路2はメモリ7から読み出されたn+1ビットのデータRDoutが与えられ、冗長化復号処理を行い、nビットのデータDoutに変換して出力する。   The redundancy decoding circuit 2 is supplied with n + 1-bit data RDout read from the memory 7, performs redundancy decoding processing, converts the data into n-bit data Dout, and outputs it.

n=8を例として、冗長化符号処理及び冗長化復号処理について説明する。図2に示すように、冗長化符号回路1は8ビットのデータd、d、d、d、d、d、d、dが与えられ、冗長化符号処理を行い、9ビットのデータx、x、x、x、x、x、x、x、xを出力する。 The redundancy coding process and the redundancy decoding process will be described by taking n = 8 as an example. As shown in FIG. 2, the redundant encoding circuit 1 is provided with 8-bit data d 0 , d 1 , d 2 , d 3 , d 4 , d 5 , d 6 , d 7 and performs redundant encoding processing. , 9-bit data x 0 , x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 , x 8 are output.

冗長化符号処理は図3に示すような論理式で表すことができ、冗長化符号回路1は図4に示すようなXOR素子11〜18を有する論理回路で構成することができる。出力するデータのビットxとして0が出力される。XOR素子11には0とビットdが与えられ、その出力がビットxとなる。 The redundant code processing can be expressed by a logical expression as shown in FIG. 3, and the redundant code circuit 1 can be configured by a logical circuit having XOR elements 11 to 18 as shown in FIG. 0 is output as the bit x 0 of the data to be output. XOR element 11 is given 0 and bit d 0 , and its output is bit x 1 .

XOR素子12にはXOR素子11の出力とビットdとが与えられ、その出力がビットxとなる。以下同様に、XOR素子k(13≦k≦18)にはXOR素子k−1の出力とビットdk−11とが与えられ、その出力がビットxk−10となる。 The XOR element 12 is supplied with the output of the XOR element 11 and the bit d 1, and its output becomes the bit x 2 . Similarly, the output of the XOR element k-1 and the bit d k-11 are given to the XOR element k (13 ≦ k ≦ 18), and the output becomes the bit x k−10 .

図5に示すように、冗長化復号回路2はメモリ7から読み出された9ビットのデータx、x、x、x、x、x、x、x、xが与えられ、冗長化復号処理を行い、8ビットのデータd、d、d、d、d、d、d、dを出力する。 As shown in FIG. 5, the redundant decoding circuit 2 includes 9-bit data x 0 , x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 , x 8 read from the memory 7. Is performed, and redundancy decoding processing is performed, and 8-bit data d 0 , d 1 , d 2 , d 3 , d 4 , d 5 , d 6 , and d 7 are output.

冗長化復号処理は図6に示すような論理式で表すことができ、冗長化符号回路2は図7に示すようなXOR素子21〜28を有する論理回路で構成することができる。XOR素子21にはビットxとxとが与えられ、その出力がビットdとなる。 The redundant decoding process can be expressed by a logical expression as shown in FIG. 6, and the redundant encoding circuit 2 can be configured by a logical circuit having XOR elements 21 to 28 as shown in FIG. The XOR element 21 is given a bit x 0 and x 1, its output is the bit d 0.

以下同様に、XOR素子j(22≦j≦28)にはビットxj−21とxj−20とが与えられ、その出力がビットdj−21となる。 Similarly, the bits x j-21 and x j-20 are given to the XOR element j (22 ≦ j ≦ 28), and the output thereof is the bit d j-21 .

図3、図6に示す論理式から分かるように、8ビットのデータd、d、d、d、d、d、d、dに対して冗長化符号処理を行って得られる9ビットのデータx、x、x、x、x、x、x、x、xを冗長化復号処理すると、元の8ビットのデータd、d、d、d、d、d、d、dに戻すことが出来る。 As can be seen from the logical expressions shown in FIG. 3 and FIG. 6, redundant code processing is performed on 8-bit data d 0 , d 1 , d 2 , d 3 , d 4 , d 5 , d 6 , and d 7 . When the 9-bit data x 0 , x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 , x 8 obtained by the redundancy decoding process are obtained, the original 8-bit data d 0 , d 1 , d 2 , d 3 , d 4 , d 5 , d 6 , d 7 can be restored.

また、9ビットのデータx、x、x、x、x、x、x、x、xの各ビットの否定をとって(各ビットを反転して)から冗長化復号処理しても、元の8ビットのデータd、d、d、d、d、d、d、dに戻すことが出来る。 Also, 9 bits of data x 0 , x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 , x 8 are negated (inverted each bit) and then redundant Even if the decoding process is performed, the original 8-bit data d 0 , d 1 , d 2 , d 3 , d 4 , d 5 , d 6 , d 7 can be restored.

例えば8ビットのデータが01100011であったとする。この値を図4に示す冗長化符号回路に与えると、9ビットのデータ001000010が出力される。この001000010を図7に示す冗長化復号回路に与えると、その出力は01100011となり、元のデータに戻る。   For example, assume that 8-bit data is 01000011. When this value is given to the redundant encoding circuit shown in FIG. 4, 9-bit data 0010000010 is output. When this 001000010 is given to the redundant decoding circuit shown in FIG. 7, the output becomes 010000011, and the original data is restored.

また、9ビットのデータ001000010の各ビットの否定をとった110111101を図7に示す冗長化復号回路に与えても、その出力は01100011となり、元のデータに戻る。   Further, even if 110111101 obtained by negating each bit of the 9-bit data 0010000010 is given to the redundant decoding circuit shown in FIG. 7, the output becomes 010000011, and the original data is restored.

冗長化符号処理後の9ビットのデータx、x、x、x、x、x、x、x、xを記憶するメモリセルのうち、いずれか1つが常に0(又は1)しか読み出せない不良メモリセルであったとしても、その不良メモリセルに記憶させるビットの値が0(又は1)の場合はx、x、x、x、x、x、x、x、xを書き込み、不良メモリセルに記憶させるビットの値が1(又は0)の場合はx、x、x、x、x、x、x、x、xの各ビットの否定をとったものを書き込むようにすることで、不良メモリセルに記憶させる値と不良メモリセルから読み出せる値とを一致させることができる。 Any one of the memory cells storing 9-bit data x 0 , x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 , x 8 after the redundancy code processing is always 0. Even if it is a defective memory cell that can only be read (or 1), if the value of the bit stored in the defective memory cell is 0 (or 1), x 0 , x 1 , x 2 , x 3 , x 4 , X 5 , x 6 , x 7 , x 8 are written, and when the value of the bit stored in the defective memory cell is 1 (or 0), x 0 , x 1 , x 2 , x 3 , x 4 , x 5 , X 6 , x 7 , x 8 are negated so that the value stored in the defective memory cell and the value readable from the defective memory cell can be matched.

メモリから読み出されるデータがx、x、x、x、x、x、x、x、x、又はx、x、x、x、x、x、x、x、xの各ビットの否定をとったもののいずれであっても、冗長化復号処理により同一のデータd、d、d、d、d、d、d、dに戻すことができるため、正しいデータの読み出しが可能となる。 The data read from the memory is x 0 , x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 , x 8 , or x 0 , x 1 , x 2 , x 3 , x 4 , x The same data d 0 , d 1 , d 2 , d 3 , d 4 , d 5 is obtained by the redundant decoding process regardless of which of the negated bits of 5 , x 6 , x 7 , x 8. , D 6 , d 7 can be restored, so that correct data can be read out.

例えば、冗長化符号処理後の9ビットのデータ001000010を記憶するメモリセルのうち、左から3ビット目のメモリセルが0しか読み出せない不良メモリセルであった場合、メモリ7には各ビットの否定をとった110111101を書き込んでおけば、冗長化復号処理により、正しいデータを読み出すことができる。   For example, if the memory cell storing the 9-bit data 0010000010 after the redundancy coding process is a defective memory cell from which only 0 can be read, the memory 7 stores each bit. If the negative 110110101 is written, correct data can be read out by the redundant decoding process.

本発明の実施形態によるメモリシステムは、マイクロプロセッサ等のハードウェアに接続して、データの書き込みや読み出しを行う。このようなメモリシステムを用いたデータ書き込み方法を図8に示すフローチャートを用いて説明する。   The memory system according to the embodiment of the present invention is connected to hardware such as a microprocessor to write and read data. A data writing method using such a memory system will be described with reference to the flowchart shown in FIG.

ここでは、マイクロプロセッサがメモリシステムにデータを書き込む場合を例に説明するが、マイクロプロセッサ以外のハードウェアがデータを書き込む場合も同様である。マイクロプロセッサはメモリシステムにデータを書き込むために、書き込みたいアドレスをメモリシステムのアドレス信号Addrに出力し、書き込みたいデータをメモリシステムのデータ信号Dinに出力する。そして、マイクロプロセッサはメモリシステムの書き込み信号Writeに対する出力を論理値0から1に変化させることで、メモリシステムの書き込み処理を開始させる。   Here, a case where the microprocessor writes data to the memory system will be described as an example, but the same applies to a case where hardware other than the microprocessor writes data. In order to write data to the memory system, the microprocessor outputs an address to be written to the address signal Addr of the memory system and outputs data to be written to the data signal Din of the memory system. Then, the microprocessor changes the output for the write signal Write of the memory system from the logical value 0 to 1, thereby starting the write process of the memory system.

(ステップS100)マイクロプロセッサから、アドレス信号Addrにより、メモリ7へデータの書き込み先となるアドレスAが与えられる。また、マイクロプロセッサから、冗長化符号回路1へnビットのデータDinが与えられる。   (Step S100) From the microprocessor, an address A as a data write destination is given to the memory 7 by an address signal Addr. In addition, n-bit data Din is supplied from the microprocessor to the redundant encoding circuit 1.

(ステップS101)冗長化符号回路1により冗長化符号処理が行われ、n+1ビットのデータRDinが出力される。   (Step S101) Redundancy coding processing is performed by the redundancy coding circuit 1, and n + 1-bit data RDin is output.

(ステップS102)セレクタ4がデータRDinを選択するように、書き込み制御回路6から選択信号Selが出力される。さらに、書き込み制御回路6がメモリ7への書き込み信号MWriteを論理値0から1へ変化させてメモリ7へ書き込みを指示することで、メモリ7のアドレスAにデータRDinが書き込まれる。   (Step S102) The selection signal Sel is output from the write control circuit 6 so that the selector 4 selects the data RDin. Further, the write control circuit 6 changes the write signal MWwrite to the memory 7 from the logical value 0 to 1 and instructs the memory 7 to write, so that the data RDin is written to the address A of the memory 7.

(ステップS103)メモリ7のアドレスAからデータRDoutを読み出す。   (Step S103) Data RDout is read from address A of the memory 7.

(ステップS104)比較器5においてデータRDinとデータRDoutが比較され、比較結果を示す比較結果信号Matchが出力される。書き込み制御回路6は、比較結果信号Matchが真、すなわちデータRDinとデータRDoutが一致、の場合は、データがメモリ7へ正しく書き込めていると判定し、書き込み動作を終了する。   (Step S104) The comparator 5 compares the data RDin and the data RDout, and outputs a comparison result signal Match indicating the comparison result. If the comparison result signal Match is true, that is, the data RDin and the data RDout match, the write control circuit 6 determines that the data has been correctly written to the memory 7 and ends the write operation.

比較結果信号Matchが偽、すなわちデータRDinとデータRDoutが不一致、の場合は、ステップS105へ進む。   If the comparison result signal Match is false, that is, if the data RDin and the data RDout do not match, the process proceeds to step S105.

(ステップS105)セレクタ4がインバータ3の出力、すなわちデータRDinの各ビットの否定をとった値“〜RDin”、を選択するように、書き込み制御回路6から選択信号Selが出力される。さらに、書き込み制御回路6がメモリ7への書き込み信号MWriteを論理値0から1に変化させてメモリ7へ書き込みを指示することで、メモリ7のアドレスAにデータ“〜RDin”が書き込まれる。   (Step S105) The selection signal Sel is output from the write control circuit 6 so that the selector 4 selects the output of the inverter 3, that is, the value “˜RDin” obtained by negating each bit of the data RDin. Further, the write control circuit 6 changes the write signal MWwrite to the memory 7 from the logical value 0 to 1 and instructs the write to the memory 7, whereby the data “˜RDin” is written to the address A of the memory 7.

ステップS104で比較結果が一致している場合のタイミングチャートは図9に示すようなものとなり、比較結果が不一致である場合のタイミングチャートは図10に示すようなものとなる。   The timing chart when the comparison results match in step S104 is as shown in FIG. 9, and the timing chart when the comparison results do not match is as shown in FIG.

ステップS104で比較結果信号Matchが真の場合に、データがメモリ7へ正しく書き込めていると判断した場合、書き込み動作を終了せずに、データRDinを再度書き込むように実施することも可能である。   If it is determined in step S104 that the comparison result signal Match is true and the data is correctly written to the memory 7, the data RDin can be written again without ending the write operation.

また、比較器5はメモリ7から読み出されたデータRDoutと冗長化復号回路1の出力RDinとを比較するのではなく、メモリ7から読み出されたデータRDoutとインバータ3の出力〜RDinとを比較するようにしてもよい。この場合、ステップS102ではインバータ3の出力からRDinがメモリ7に書き込まれる。そしてステップS104でデータ〜RDinとデータRDoutが比較され、不一致の場合はステップS105でデータRDinがメモリ7に書き込まれる。   The comparator 5 does not compare the data RDout read from the memory 7 with the output RDin of the redundancy decoding circuit 1, but compares the data RDout read from the memory 7 with the output RDin of the inverter 3. You may make it compare. In this case, RDin is written in the memory 7 from the output of the inverter 3 in step S102. In step S104, data .about.RDin and data RDout are compared. If they do not match, the data RDin is written in the memory 7 in step S105.

次に、データ読み出し方法を図11に示すフローチャートを用いて説明する。マイクロプロセッサはメモリシステムからデータを読み出すために、読み出したいアドレスをメモリシステムのアドレス信号Addrに出力することで、メモリシステムの読み出し処理を開始させる。   Next, a data reading method will be described using the flowchart shown in FIG. In order to read data from the memory system, the microprocessor outputs an address to be read to the address signal Addr of the memory system, thereby starting the reading process of the memory system.

(ステップS200)マイクロプロセッサから、アドレス信号AddrによりアドレスAが与えられる。   (Step S200) The address A is given from the microprocessor by the address signal Addr.

(ステップS201)メモリ7のアドレスAからn+1ビットのデータRDoutが読み出される。   (Step S201) The n + 1-bit data RDout is read from the address A of the memory 7.

(ステップS202)データRDoutが冗長化復号回路2に与えられる。   (Step S202) Data RDout is provided to redundant decoding circuit 2.

(ステップS203)冗長化復号処理が行われ、nビットのデータDoutがメモリ7のアドレスAのデータとして出力される。   (Step S203) Redundant decoding processing is performed, and n-bit data Dout is output as data at address A in the memory 7.

冗長化符号処理、冗長化復号処理を用いることで、メモリ7のn+1ビット分のメモリセル中に1ビットの不良メモリセルが存在していても、データの読み書きを正しく行うことができる。ここで、nの値は、メモリ7内に不良メモリセルが多いときは小さな値に設定し、不良メモリセルが少ない場合は大きな値に設定することができる。   By using the redundant encoding process and the redundant decoding process, data can be read and written correctly even if a 1-bit defective memory cell exists in the memory cells of n + 1 bits of the memory 7. Here, the value of n can be set to a small value when there are many defective memory cells in the memory 7, and can be set to a large value when there are few defective memory cells.

上述のようなメモリアクセス方法により、通常のECCよりも高い効率で不良メモリセルを救済することができる。例えば、本実施形態によるメモリアクセス方法ではn=8とした場合、8ビットのデータに対して冗長化符号処理を行い9ビットとすることで、9ビット分のメモリセルのうち、1ビットの不良メモリセルを救済できる。つまり、8ビットのデータに1ビットの冗長ビットを付加することで1ビットの不良メモリセルを救済できる。   By the memory access method as described above, defective memory cells can be relieved with higher efficiency than normal ECC. For example, in the memory access method according to the present embodiment, when n = 8, redundancy coding processing is performed on 8-bit data to 9 bits, so that a 1-bit defect among 9-bit memory cells. The memory cell can be saved. That is, a 1-bit defective memory cell can be relieved by adding a 1-bit redundant bit to 8-bit data.

一方、データビットと冗長ビットの比率が上述の例と等しい、64ビットのデータに8ビットの冗長ビットを付加する1誤り訂正2誤り検出符号(SECDED:Single Error Correction Double Error Detection)を用いる場合は、72ビットのメモリセルのうち、1ビットの不良メモリセルしか救済することができない。   On the other hand, when using 1 error correction 2 error detection code (SECDED: Single Error Correction Double Error Detection) that adds 8 redundant bits to 64-bit data, the ratio of data bits to redundant bits is equal to the above example Of the 72-bit memory cells, only 1-bit defective memory cells can be relieved.

本実施形態ではメモリへの書き込み時に、メモリ7への最大2回の書き込みと1回の読み出しが必要となるため、書き込みが1回で済む自己参照読み出しと比較して、書き込みの速度は低下する。   In the present embodiment, when writing to the memory, writing to the memory 7 at the maximum and writing to the memory 7 are necessary, so that the writing speed is reduced as compared with the self-reference reading that requires only one writing. .

しかし、本実施形態ではメモリからの読み出し時に1回の読み出しだけで済むのに対し、自己参照読み出しは2回の読み出し及び2回の書き込みが必要になるので、読み出し速度を高速化できる。   However, in the present embodiment, only one reading is required when reading from the memory, whereas the self-reference reading requires two readings and two writings, so that the reading speed can be increased.

一般に、メモリの書き込みは読み出しよりも頻度が少なく、読み出しが高速である方が、メモリへの総アクセス時間を低減し、メモリを効率良く使用することができる。   In general, memory writing is performed less frequently than reading, and reading at a higher speed can reduce the total access time to the memory and use the memory more efficiently.

このように、本実施形態によるメモリシステムにより、電気的に書き替え可能なメモリの不良メモリセルを高効率に救済し、かつメモリへのアクセス時間を低減してメモリを効率良く使用することができる。   As described above, the memory system according to the present embodiment can efficiently repair defective memory cells of an electrically rewritable memory and can efficiently use the memory by reducing the access time to the memory. .

上記実施形態では、メモリ7の読み書きのデータ幅と、冗長化符号処理して記憶する単位が同じであったが、異なっていてもよい。例えば、読み書きのデータ幅が16ビットで、冗長化処理の単位が8ビットの場合は、図12に示すように、16ビットのデータを上位8ビットと下位8ビットに分割し、2つの冗長化処理ブロック10a、10bに与える。ブロック毎に冗長化符号回路1a、1bで冗長化符号処理を行い、メモリ7に書き込む。   In the above embodiment, the read / write data width of the memory 7 is the same as the unit to be stored after the redundant coding process, but it may be different. For example, when the read / write data width is 16 bits and the unit of redundancy processing is 8 bits, as shown in FIG. 12, the 16-bit data is divided into upper 8 bits and lower 8 bits and two redundancys are made. This is given to the processing blocks 10a and 10b. Redundant encoding processing is performed by the redundant encoding circuits 1a and 1b for each block and written to the memory 7.

そしてメモリ7に書き込んだデータと、メモリ7から読み出したデータとを比較器5a、5bで比較し、いずれのブロックにおいても一致していれば書き込み動作を終了する。いずれか一方のブロックで不一致の場合、不一致となったブロックはインバータ3の出力をセレクタ4で選択して出力し、メモリ7に書き込む。また、一致していた方のブロックは同じ値を再度メモリ7に書き込むようにする。   Then, the data written to the memory 7 and the data read from the memory 7 are compared by the comparators 5a and 5b, and if they match in any block, the write operation is terminated. If any one of the blocks does not match, the block that does not match selects the output of the inverter 3 by the selector 4, and writes it to the memory 7. Further, the same block is written again in the memory 7 in the matched block.

このように、メモリ7の読み書きのデータ幅と、冗長化処理の単位が異なる場合は、冗長化処理ブロックを複数設けることで、上記実施形態と同様の効果を得ることができる。   As described above, when the read / write data width of the memory 7 is different from the unit of redundancy processing, the same effect as in the above embodiment can be obtained by providing a plurality of redundancy processing blocks.

上記実施形態における冗長化符号回路は図4に示すような構成に限定されない。例えば、図4に示す構成から冗長な論理素子であるXOR素子11を省き、図13に示すような構成にしてもよい。   The redundant encoding circuit in the above embodiment is not limited to the configuration shown in FIG. For example, the XOR element 11 which is a redundant logic element may be omitted from the configuration shown in FIG.

また、冗長化符号回路では、図14に示すような論理式で表される冗長化符号処理を行ってもよい。このような処理を行う冗長化符号回路は図15(a)、(b)に示すような構成の論理回路で実現可能である。   Further, in the redundant code circuit, redundant code processing represented by a logical expression as shown in FIG. 14 may be performed. A redundant encoding circuit that performs such processing can be realized by a logic circuit having a configuration as shown in FIGS.

また、図16に示すような論理式で表される冗長化符号処理を行ってもよい。このような処理を行う冗長化符号回路は図17(a)、(b)に示すような構成の論理回路で実現可能である。また、図18に示すような論理式で表される冗長化符号処理を行ってもよい。このような処理を行う冗長化符号回路は図19(a)、(b)に示すような構成の論理回路で実現可能である。   Further, redundant code processing represented by a logical expression as shown in FIG. 16 may be performed. A redundant encoding circuit that performs such processing can be realized by a logic circuit having a configuration as shown in FIGS. Further, a redundant code process represented by a logical expression as shown in FIG. 18 may be performed. A redundant encoding circuit that performs such processing can be realized by a logic circuit having a configuration as shown in FIGS.

図17や図19に示す冗長化符号回路は、図13や図15に示す冗長化符号回路と比較して、XOR素子の段数が少ないため、高速に動作することができる。   The redundant encoding circuit shown in FIGS. 17 and 19 can operate at high speed because the number of XOR elements is smaller than that of the redundant encoding circuit shown in FIGS.

冗長化符号処理を行ったn+1ビットのデータのうち0又は1に固定する1ビットは1ビット目〜n+1ビット目のいずれでもよい。0又は1に固定するビットは、n+1ビットの中でより中央のビットである程、冗長化符号回路における論路素子の段数が少なくなり、高速動作が可能となる。   The 1 bit fixed to 0 or 1 among the n + 1 bit data subjected to the redundancy code processing may be any of the 1st bit to the (n + 1) th bit. As the bit fixed to 0 or 1 is the central bit among n + 1 bits, the number of stages of logic elements in the redundant coding circuit is reduced, and high-speed operation is possible.

上述した実施の形態は一例であって限定的なものではないと考えられるべきである。本発明の技術的範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The above-described embodiment is an example and should not be considered as limiting. The technical scope of the present invention is defined by the terms of the claims, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

本発明の実施形態によるメモリシステムの概略構成図である。1 is a schematic configuration diagram of a memory system according to an embodiment of the present invention. 冗長化符号回路の処理の一例を示す図である。It is a figure which shows an example of a process of a redundant encoding circuit. 冗長化符号処理の一例を示す論理式である。3 is a logical expression showing an example of redundant code processing. 冗長化符号回路の一例を示す回路図である。It is a circuit diagram which shows an example of a redundant encoding circuit. 冗長化復号回路の処理の一例を示す図である。It is a figure which shows an example of a process of a redundant decoding circuit. 冗長化復号処理の一例を示す論理式である。It is a logical formula showing an example of redundant decoding processing. 冗長化復号回路の一例を示す回路図である。It is a circuit diagram which shows an example of a redundancy decoding circuit. 同実施形態によるデータ書き込み方法のフローチャートである。4 is a flowchart of a data writing method according to the embodiment. 同実施形態によるデータ書き込み方法におけるタイミングチャートの一例である。It is an example of the timing chart in the data writing method by the embodiment. 同実施形態によるデータ書き込み方法におけるタイミングチャートの一例である。It is an example of the timing chart in the data writing method by the embodiment. 同実施形態によるデータ読み出し方法のフローチャートである。It is a flowchart of the data reading method by the embodiment. 変形例によるメモリシステムの概略構成図である。It is a schematic block diagram of the memory system by a modification. 変形例による冗長化符号回路の回路図である。It is a circuit diagram of the redundant encoding circuit by a modification. 変形例による冗長化符号処理を示す論理式である。It is a logical formula which shows the redundant coding process by a modification. 変形例による冗長化符号回路の回路図である。It is a circuit diagram of the redundant encoding circuit by a modification. 変形例による冗長化符号処理を示す論理式である。It is a logical formula which shows the redundant coding process by a modification. 変形例による冗長化符号回路の回路図である。It is a circuit diagram of the redundant encoding circuit by a modification. 変形例による冗長化符号処理を示す論理式である。It is a logical formula which shows the redundant coding process by a modification. 変形例による冗長化符号回路の回路図である。It is a circuit diagram of the redundant encoding circuit by a modification.

1 冗長化符号回路
2 冗長化復号回路
3 インバータ
4 セレクタ
5 比較器
6 書き込み制御回路
7 メモリ
DESCRIPTION OF SYMBOLS 1 Redundant encoding circuit 2 Redundant decoding circuit 3 Inverter 4 Selector 5 Comparator 6 Write control circuit 7 Memory

Claims (7)

書き込みデータの冗長化符号処理を行う冗長化符号回路と、
前記冗長化符号回路により冗長化符号処理されたデータが与えられ、前記冗長化符号処理されたデータの各ビットの値を反転するインバータ回路と、
前記冗長化符号処理されたデータ及び前記インバータ回路により反転されたデータが与えられ、選択信号に基づいていずれか一方を選択するセレクタと、
前記セレクタで選択されたデータが記憶されているメモリから読み出されるデータと、前記冗長化符号処理されたデータ及び前記インバータ回路により反転されたデータのいずれか一方とを比較し、比較結果を示す比較結果信号を出力する比較器と、
前記メモリの書き込み制御を行うと共に、前記比較結果信号が与えられ、前記比較結果信号に示される前記比較結果に基づいて前記選択信号を生成し出力する書き込み制御回路と、
前記メモリから読み出されるデータを冗長化復号処理して出力する冗長化復号回路と、
を備え、
前記書き込みデータをnビット(nは1以上の整数)とすると、冗長化符号処理されたデータ及び前記メモリから読み出されるデータはn+1ビットとなり、前記冗長化復号処理されたデータはnビットとなり、
前記冗長化符号回路は、n−1個のXORゲートを有し、
第1のXORゲートには前記書き込みデータの1ビット目と2ビット目とが与えられ、
第kのXORゲート(kは2≦k≦n−1を満たす整数)には第k−1のXORゲートの出力値と前記書き込みデータのk+1ビット目が与えられ、
出力の1ビット目として0を出力し、2ビット目として前記書き込みデータの1ビット目と同じ値を出力し、3ビット目として前記第1のXORゲートの出力値を出力し、k+2ビット目として前記第kのXORゲートの出力値を出力することを特徴とするメモリアクセス装置。
A redundant encoding circuit for performing redundant encoding processing of write data;
Inverter circuit which is provided with data subjected to redundancy code processing by the redundancy code circuit and inverts the value of each bit of the data subjected to redundancy code processing;
A selector that receives the data subjected to the redundancy code processing and the data inverted by the inverter circuit, and selects either one based on a selection signal;
A comparison indicating the comparison result by comparing the data read from the memory in which the data selected by the selector is stored with either the data subjected to the redundancy code processing or the data inverted by the inverter circuit A comparator that outputs a result signal;
A write control circuit that performs write control of the memory, is provided with the comparison result signal, and generates and outputs the selection signal based on the comparison result indicated in the comparison result signal;
A redundant decoding circuit that outputs the data read from the memory by performing a redundant decoding process;
With
When the write data is n bits (n is an integer equal to or greater than 1), the data subjected to the redundancy coding process and the data read from the memory are n + 1 bits, and the data subjected to the redundancy decoding process are n bits.
The redundant coding circuit has n-1 XOR gates,
The first XOR gate is given the first bit and the second bit of the write data,
The k-th XOR gate (k is an integer satisfying 2 ≦ k ≦ n−1) is given the output value of the (k−1) -th XOR gate and the (k + 1) th bit of the write data,
0 is output as the first bit of output, the same value as the first bit of the write data is output as the second bit, the output value of the first XOR gate is output as the third bit, and the k + 2th bit is output A memory access device for outputting an output value of the k-th XOR gate.
書き込みデータの冗長化符号処理を行う冗長化符号回路と、
前記冗長化符号回路により冗長化符号処理されたデータが与えられ、前記冗長化符号処理されたデータの各ビットの値を反転するインバータ回路と、
前記冗長化符号処理されたデータ及び前記インバータ回路により反転されたデータが与えられ、選択信号に基づいていずれか一方を選択するセレクタと、
前記セレクタで選択されたデータが記憶されているメモリから読み出されるデータと、前記冗長化符号処理されたデータ及び前記インバータ回路により反転されたデータのいずれか一方とを比較し、比較結果を示す比較結果信号を出力する比較器と、
前記メモリの書き込み制御を行うと共に、前記比較結果信号が与えられ、前記比較結果信号に示される前記比較結果に基づいて前記選択信号を生成し出力する書き込み制御回路と、
前記メモリから読み出されるデータを冗長化復号処理して出力する冗長化復号回路と、
を備え、
前記書き込みデータをnビット(nは1以上の整数)とすると、冗長化符号処理されたデータ及び前記メモリから読み出されるデータはn+1ビットとなり、前記冗長化復号処理されたデータはnビットとなり、
前記冗長化符号回路は、n個のXORゲートを有し、
第1のXORゲートには前記書き込みデータの1ビット目と1とが与えられ、
第kのXORゲート(kは2≦k≦nを満たす整数)には第k−1のXORゲートの出力値と前記書き込みデータのkビット目が与えられ、
出力の1ビット目として1を出力し、2ビット目として前記第1のXORゲートの出力値を出力し、k+1ビット目として前記第kのXORゲートの出力値を出力することを特徴とするメモリアクセス装置。
A redundant encoding circuit for performing redundant encoding processing of write data;
Inverter circuit which is provided with data subjected to redundancy code processing by the redundancy code circuit and inverts the value of each bit of the data subjected to redundancy code processing;
A selector that receives the data subjected to the redundancy code processing and the data inverted by the inverter circuit, and selects either one based on a selection signal;
A comparison indicating the comparison result by comparing the data read from the memory in which the data selected by the selector is stored with either the data subjected to the redundancy code processing or the data inverted by the inverter circuit A comparator that outputs a result signal;
A write control circuit that performs write control of the memory, is provided with the comparison result signal, and generates and outputs the selection signal based on the comparison result indicated in the comparison result signal;
A redundant decoding circuit that outputs the data read from the memory by performing a redundant decoding process;
With
When the write data is n bits (n is an integer equal to or greater than 1), the data subjected to the redundancy coding process and the data read from the memory are n + 1 bits, and the data subjected to the redundancy decoding process are n bits.
The redundant code circuit has n XOR gates,
The first XOR gate is given the first bit and 1 of the write data,
The k-th XOR gate (k is an integer satisfying 2 ≦ k ≦ n) is given the output value of the (k−1) -th XOR gate and the k-th bit of the write data,
1 is output as the first bit of output, the output value of the first XOR gate is output as the second bit, and the output value of the kth XOR gate is output as the k + 1 bit. Access device.
書き込みデータの冗長化符号処理を行う冗長化符号回路と、
前記冗長化符号回路により冗長化符号処理されたデータが与えられ、前記冗長化符号処理されたデータの各ビットの値を反転するインバータ回路と、
前記冗長化符号処理されたデータ及び前記インバータ回路により反転されたデータが与えられ、選択信号に基づいていずれか一方を選択するセレクタと、
前記セレクタで選択されたデータが記憶されているメモリから読み出されるデータと、前記冗長化符号処理されたデータ及び前記インバータ回路により反転されたデータのいずれか一方とを比較し、比較結果を示す比較結果信号を出力する比較器と、
前記メモリの書き込み制御を行うと共に、前記比較結果信号が与えられ、前記比較結果信号に示される前記比較結果に基づいて前記選択信号を生成し出力する書き込み制御回路と、
前記メモリから読み出されるデータを冗長化復号処理して出力する冗長化復号回路と、
を備え、
前記書き込みデータをnビット(nは1以上の整数)とすると、冗長化符号処理されたデータ及び前記メモリから読み出されるデータはn+1ビットとなり、前記冗長化復号処理されたデータはnビットとなり、
前記冗長化符号回路は、NOTゲートとn−1個のXORゲートを有し、
前記NOTゲートには前記書き込みデータの1ビット目が与えられ、
第1のXORゲートには前記NOTゲートの出力値と前記書き込みデータの2ビット目とが与えられ、
第kのXORゲート(kは2≦k≦n−1を満たす整数)には第k−1のXORゲートの出力値と前記書き込みデータのk+1ビット目が与えられ、
出力の1ビット目として1を出力し、2ビット目として前記NOTゲートの出力値を出力し、3ビット目として前記第1のXORゲートの出力値を出力し、k+2ビット目として前記第kのXORゲートの出力値を出力することを特徴とするメモリアクセス装置。
A redundant encoding circuit for performing redundant encoding processing of write data;
Inverter circuit which is provided with data subjected to redundancy code processing by the redundancy code circuit and inverts the value of each bit of the data subjected to redundancy code processing;
A selector that receives the data subjected to the redundancy code processing and the data inverted by the inverter circuit, and selects either one based on a selection signal;
A comparison indicating the comparison result by comparing the data read from the memory in which the data selected by the selector is stored with either the data subjected to the redundancy code processing or the data inverted by the inverter circuit A comparator that outputs a result signal;
A write control circuit that performs write control of the memory, is provided with the comparison result signal, and generates and outputs the selection signal based on the comparison result indicated in the comparison result signal;
A redundant decoding circuit that outputs the data read from the memory by performing a redundant decoding process;
With
When the write data is n bits (n is an integer equal to or greater than 1), the data subjected to the redundancy coding process and the data read from the memory are n + 1 bits, and the data subjected to the redundancy decoding process are n bits.
The redundant code circuit has a NOT gate and n-1 XOR gates,
The first gate of the write data is given to the NOT gate,
The first XOR gate is given the output value of the NOT gate and the second bit of the write data,
The k-th XOR gate (k is an integer satisfying 2 ≦ k ≦ n−1) is given the output value of the (k−1) -th XOR gate and the (k + 1) th bit of the write data,
1 is output as the first bit of output, the output value of the NOT gate is output as the second bit, the output value of the first XOR gate is output as the third bit, and the k-th bit is output as the k + 2 bit. A memory access device for outputting an output value of an XOR gate.
書き込みデータの冗長化符号処理を行う冗長化符号回路と、
前記冗長化符号回路により冗長化符号処理されたデータが与えられ、前記冗長化符号処理されたデータの各ビットの値を反転するインバータ回路と、
前記冗長化符号処理されたデータ及び前記インバータ回路により反転されたデータが与えられ、選択信号に基づいていずれか一方を選択するセレクタと、
前記セレクタで選択されたデータが記憶されているメモリから読み出されるデータと、前記冗長化符号処理されたデータ及び前記インバータ回路により反転されたデータのいずれか一方とを比較し、比較結果を示す比較結果信号を出力する比較器と、
前記メモリの書き込み制御を行うと共に、前記比較結果信号が与えられ、前記比較結果信号に示される前記比較結果に基づいて前記選択信号を生成し出力する書き込み制御回路と、
前記メモリから読み出されるデータを冗長化復号処理して出力する冗長化復号回路と、
を備え、
前記書き込みデータをnビット(nは1以上の整数)とすると、冗長化符号処理されたデータ及び前記メモリから読み出されるデータはn+1ビットとなり、前記冗長化復号処理されたデータはnビットとなり、
前記冗長化符号回路は、2m−2個(mは2m=nを満たす整数)のXORゲートを有し、
第1のXORゲートには前記書き込みデータのmビット目とm−1ビット目が与えられ、
第jのXORゲート(jは2≦j≦m−1を満たす整数)には第j−1のXORゲートの出力値と前記書き込みデータのm−jビット目が与えられ、
第mのXORゲートには前記書き込みデータのm+1ビット目とm+2ビット目が与えられ、
第kのXORゲート(kはm+1≦k≦2m−2を満たす整数)には第k−1のXORゲートの出力値と前記書き込みデータのk+2ビット目が与えられ、
出力のm−jビット目として前記第jのXORゲートの出力値を出力し、m−1ビット目として前記第1のXORゲートの出力値を出力し、mビット目として前記書き込みデータのmビット目と同じ値を出力し、m+1ビット目として0を出力し、m+2ビット目として前記書き込みデータのm+1ビット目と同じ値を出力し、m+3ビット目として前記第mのXORゲートの出力値を出力し、k+3ビット目の出力として前記第kのXORゲートの出力値を出力することを特徴とするメモリアクセス装置。
A redundant encoding circuit for performing redundant encoding processing of write data;
Inverter circuit which is provided with data subjected to redundancy code processing by the redundancy code circuit and inverts the value of each bit of the data subjected to redundancy code processing;
A selector that receives the data subjected to the redundancy code processing and the data inverted by the inverter circuit, and selects either one based on a selection signal;
A comparison indicating the comparison result by comparing the data read from the memory in which the data selected by the selector is stored with either the data subjected to the redundancy code processing or the data inverted by the inverter circuit A comparator that outputs a result signal;
A write control circuit that performs write control of the memory, is provided with the comparison result signal, and generates and outputs the selection signal based on the comparison result indicated in the comparison result signal;
A redundant decoding circuit that outputs the data read from the memory by performing a redundant decoding process;
With
When the write data is n bits (n is an integer equal to or greater than 1), the data subjected to the redundancy coding process and the data read from the memory are n + 1 bits, and the data subjected to the redundancy decoding process are n bits.
The redundant coding circuit has 2m−2 (m is an integer satisfying 2m = n) XOR gates,
The first XOR gate is provided with the mth bit and the m−1th bit of the write data,
The jth XOR gate (j is an integer satisfying 2 ≦ j ≦ m−1) is given the output value of the j−1 XOR gate and the m−jth bit of the write data,
The (m + 1) th bit and the (m + 2) th bit of the write data are given to the mth XOR gate,
The k-th XOR gate (k is an integer satisfying m + 1 ≦ k ≦ 2m−2) is given the output value of the (k−1) -th XOR gate and the k + 2th bit of the write data,
The output value of the jth XOR gate is output as the m-jth bit of the output, the output value of the first XOR gate is output as the m-1th bit, and the m bits of the write data as the mth bit Outputs the same value as the first, outputs 0 as the m + 1 bit, outputs the same value as the m + 1 bit of the write data as the m + 2 bit, and outputs the output value of the mth XOR gate as the m + 3 bit And outputting an output value of the kth XOR gate as an output of the (k + 3) th bit.
書き込みデータの冗長化符号処理を行う冗長化符号回路と、
前記冗長化符号回路により冗長化符号処理されたデータが与えられ、前記冗長化符号処理されたデータの各ビットの値を反転するインバータ回路と、
前記冗長化符号処理されたデータ及び前記インバータ回路により反転されたデータが与えられ、選択信号に基づいていずれか一方を選択するセレクタと、
前記セレクタで選択されたデータが記憶されているメモリから読み出されるデータと、前記冗長化符号処理されたデータ及び前記インバータ回路により反転されたデータのいずれか一方とを比較し、比較結果を示す比較結果信号を出力する比較器と、
前記メモリの書き込み制御を行うと共に、前記比較結果信号が与えられ、前記比較結果信号に示される前記比較結果に基づいて前記選択信号を生成し出力する書き込み制御回路と、
前記メモリから読み出されるデータを冗長化復号処理して出力する冗長化復号回路と、
を備え、
前記書き込みデータをnビット(nは1以上の整数)とすると、冗長化符号処理されたデータ及び前記メモリから読み出されるデータはn+1ビットとなり、前記冗長化復号処理されたデータはnビットとなり、
前記冗長化符号回路は、2m個(mは2m=nを満たす整数)のXORゲートを有し、
第1のXORゲートには前記書き込みデータのmビット目と1とが与えられ、
第jのXORゲート(jは2≦j≦mを満たす整数)には第j−1のXORゲートの出力値と前記書き込みデータのm−j+1ビット目が与えられ、
第m+1のXORゲートには前記書き込みデータのm+1ビット目と1とが与えられ、
第kのXORゲート(kはm+2≦k≦2mを満たす整数)には第k−1のXORゲートの出力値と前記書き込みデータのkビット目が与えられ、
出力のm−j+1ビット目として前記第jのXORゲートの出力値を出力し、mビット目として前記第1のXORゲートの出力値を出力し、m+1ビット目として1を出力し、m+2ビット目として前記第m+1のXORゲートの出力値を出力し、k+1ビット目の出力として前記第kのXORゲートの出力値を出力することを特徴とするメモリアクセス装置。
A redundant encoding circuit for performing redundant encoding processing of write data;
Inverter circuit which is provided with data subjected to redundancy code processing by the redundancy code circuit and inverts the value of each bit of the data subjected to redundancy code processing;
A selector that receives the data subjected to the redundancy code processing and the data inverted by the inverter circuit, and selects either one based on a selection signal;
A comparison indicating the comparison result by comparing the data read from the memory in which the data selected by the selector is stored with either the data subjected to the redundancy code processing or the data inverted by the inverter circuit A comparator that outputs a result signal;
A write control circuit that performs write control of the memory, is provided with the comparison result signal, and generates and outputs the selection signal based on the comparison result indicated in the comparison result signal;
A redundant decoding circuit that outputs the data read from the memory by performing a redundant decoding process;
With
When the write data is n bits (n is an integer equal to or greater than 1), the data subjected to the redundancy coding process and the data read from the memory are n + 1 bits, and the data subjected to the redundancy decoding process are n bits.
The redundant code circuit has 2m (m is an integer satisfying 2m = n) XOR gates,
The first XOR gate is given the m-th bit and 1 of the write data,
The jth XOR gate (j is an integer satisfying 2 ≦ j ≦ m) is given the output value of the (j−1) th XOR gate and the m−j + 1 bit of the write data,
The (m + 1) th XOR gate is given the (m + 1) th bit of the write data and 1;
The k-th XOR gate (k is an integer satisfying m + 2 ≦ k ≦ 2m) is given the output value of the (k−1) -th XOR gate and the k-th bit of the write data,
The output value of the jth XOR gate is output as the (m−j + 1) th bit of the output, the output value of the first XOR gate is output as the mth bit, 1 is output as the m + 1th bit, and the m + 2th bit The memory access device outputs the output value of the (m + 1) th XOR gate as the output and outputs the output value of the kth XOR gate as the (k + 1) th bit output.
書き込みデータの冗長化符号処理を行う冗長化符号回路と、
前記冗長化符号回路により冗長化符号処理されたデータが与えられ、前記冗長化符号処理されたデータの各ビットの値を反転するインバータ回路と、
前記冗長化符号処理されたデータ及び前記インバータ回路により反転されたデータが与えられ、選択信号に基づいていずれか一方を選択するセレクタと、
前記セレクタで選択されたデータが記憶されているメモリから読み出されるデータと、前記冗長化符号処理されたデータ及び前記インバータ回路により反転されたデータのいずれか一方とを比較し、比較結果を示す比較結果信号を出力する比較器と、
前記メモリの書き込み制御を行うと共に、前記比較結果信号が与えられ、前記比較結果信号に示される前記比較結果に基づいて前記選択信号を生成し出力する書き込み制御回路と、
前記メモリから読み出されるデータを冗長化復号処理して出力する冗長化復号回路と、
を備え、
前記書き込みデータをnビット(nは1以上の整数)とすると、冗長化符号処理されたデータ及び前記メモリから読み出されるデータはn+1ビットとなり、前記冗長化復号処理されたデータはnビットとなり、
前記冗長化符号回路は、2m−2個(mは2m=nを満たす整数)のXORゲート及び2個のNOTゲートを有し、
第1のNOTゲートには前記書き込みデータのmビット目が与えられ、
第2のNOTゲートには前記書き込みデータのm+1ビット目が与えられ、
第1のXORゲートには前記書き込みデータのm−1ビット目と前記第1のNOTゲートの出力値とが与えられ、
第jのXORゲート(jは2≦j≦m−1を満たす整数)には第j−1のXORゲートの出力値と前記書き込みデータのm−jビット目が与えられ、
第mのXORゲートには前記書き込みデータのm+2ビット目と前記第2のNOTゲートの出力値とが与えられ、
第kのXORゲート(kはm+1≦k≦2m−2を満たす整数)には第k−1のXORゲートの出力値と前記書き込みデータのk+2ビット目が与えられ、
出力のm−jビット目として前記第jのXORゲートの出力値を出力し、m−1ビット目として前記第1のXORゲートの出力値を出力し、mビット目として前記第1のNOTゲートの出力値を出力し、m+1ビット目として1を出力し、m+2ビット目として前記第2のNOTゲートの出力値を出力し、m+3ビット目として前記第mのXORゲートの出力値を出力し、k+3ビット目の出力として前記第kのXORゲートの出力値を出力することを特徴とするメモリアクセス装置。
A redundant encoding circuit for performing redundant encoding processing of write data;
Inverter circuit which is provided with data subjected to redundancy code processing by the redundancy code circuit and inverts the value of each bit of the data subjected to redundancy code processing;
A selector that receives the data subjected to the redundancy code processing and the data inverted by the inverter circuit, and selects either one based on a selection signal;
A comparison indicating the comparison result by comparing the data read from the memory in which the data selected by the selector is stored with either the data subjected to the redundancy code processing or the data inverted by the inverter circuit A comparator that outputs a result signal;
A write control circuit that performs write control of the memory, is provided with the comparison result signal, and generates and outputs the selection signal based on the comparison result indicated in the comparison result signal;
A redundant decoding circuit that outputs the data read from the memory by performing a redundant decoding process;
With
When the write data is n bits (n is an integer equal to or greater than 1), the data subjected to the redundancy coding process and the data read from the memory are n + 1 bits, and the data subjected to the redundancy decoding process are n bits.
The redundancy code circuit has 2m-2 (m is an integer satisfying 2m = n) XOR gates and two NOT gates,
The m-th bit of the write data is given to the first NOT gate,
The second NOT gate is given the (m + 1) th bit of the write data,
The first XOR gate is given the (m−1) th bit of the write data and the output value of the first NOT gate,
The jth XOR gate (j is an integer satisfying 2 ≦ j ≦ m−1) is given the output value of the j−1 XOR gate and the m−jth bit of the write data,
The m + 2th bit of the write data and the output value of the second NOT gate are given to the mth XOR gate,
The k-th XOR gate (k is an integer satisfying m + 1 ≦ k ≦ 2m−2) is given the output value of the (k−1) -th XOR gate and the k + 2th bit of the write data,
The output value of the jth XOR gate is output as the m-jth bit of the output, the output value of the first XOR gate is output as the m-1th bit, and the first NOT gate is output as the mth bit. , 1 is output as the m + 1 bit, the output value of the second NOT gate is output as the m + 2 bit, and the output value of the m th XOR gate is output as the m + 3 bit, The memory access device, wherein an output value of the kth XOR gate is output as an output of the (k + 3) th bit.
書き込みデータの冗長化符号処理を行う冗長化符号回路と、
前記冗長化符号回路により冗長化符号処理されたデータが与えられ、前記冗長化符号処理されたデータの各ビットの値を反転するインバータ回路と、
前記冗長化符号処理されたデータ及び前記インバータ回路により反転されたデータが与えられ、選択信号に基づいていずれか一方を選択するセレクタと、
前記セレクタで選択されたデータが記憶されているメモリから読み出されるデータと、前記冗長化符号処理されたデータ及び前記インバータ回路により反転されたデータのいずれか一方とを比較し、比較結果を示す比較結果信号を出力する比較器と、
前記メモリの書き込み制御を行うと共に、前記比較結果信号が与えられ、前記比較結果信号に示される前記比較結果に基づいて前記選択信号を生成し出力する書き込み制御回路と、
前記メモリから読み出されるデータを冗長化復号処理して出力する冗長化復号回路と、
を備え、
前記書き込みデータをnビット(nは1以上の整数)とすると、冗長化符号処理されたデータ及び前記メモリから読み出されるデータはn+1ビットとなり、前記冗長化復号処理されたデータはnビットとなり、
前記冗長化復号回路は、n個のXORゲートを有し、
第kのXORゲート(kは1≦k≦nを満たす整数)には前記メモリから読み出されるデータのkビット目とk+1ビット目が与えられ、
出力のkビット目として前記第kのXORゲートの出力値を出力することを特徴とするメモリアクセス装置。
A redundant encoding circuit for performing redundant encoding processing of write data;
Inverter circuit which is provided with data subjected to redundancy code processing by the redundancy code circuit and inverts the value of each bit of the data subjected to redundancy code processing;
A selector that receives the data subjected to the redundancy code processing and the data inverted by the inverter circuit, and selects either one based on a selection signal;
A comparison indicating the comparison result by comparing the data read from the memory in which the data selected by the selector is stored with either the data subjected to the redundancy code processing or the data inverted by the inverter circuit A comparator that outputs a result signal;
A write control circuit that performs write control of the memory, is provided with the comparison result signal, and generates and outputs the selection signal based on the comparison result indicated in the comparison result signal;
A redundant decoding circuit that outputs the data read from the memory by performing a redundant decoding process;
With
When the write data is n bits (n is an integer equal to or greater than 1), the data subjected to the redundancy coding process and the data read from the memory are n + 1 bits, and the data subjected to the redundancy decoding process are n bits.
The redundant decoding circuit has n XOR gates,
The k-th XOR gate (k is an integer satisfying 1 ≦ k ≦ n) is given the k-th and k + 1-th bits of the data read from the memory,
A memory access device that outputs an output value of the k-th XOR gate as a k-th output bit.
JP2013111086A 2013-05-27 2013-05-27 Memory access device Expired - Fee Related JP5492329B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013111086A JP5492329B2 (en) 2013-05-27 2013-05-27 Memory access device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013111086A JP5492329B2 (en) 2013-05-27 2013-05-27 Memory access device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008164205A Division JP5283989B2 (en) 2008-06-24 2008-06-24 Memory system and memory access method

Publications (2)

Publication Number Publication Date
JP2013191227A JP2013191227A (en) 2013-09-26
JP5492329B2 true JP5492329B2 (en) 2014-05-14

Family

ID=49391322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013111086A Expired - Fee Related JP5492329B2 (en) 2013-05-27 2013-05-27 Memory access device

Country Status (1)

Country Link
JP (1) JP5492329B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5580893A (en) * 1978-12-01 1980-06-18 Fujitsu Ltd Memory device
JPS5617000A (en) * 1979-07-16 1981-02-18 Nec Corp Failure detector
JPH01108655A (en) * 1987-10-22 1989-04-25 Hitachi Ltd System for detecting error or readout data in memory system
JPH01295349A (en) * 1988-05-23 1989-11-29 Seiko Instr Inc Semiconductor nonvolatile memory device
US5267204A (en) * 1991-10-18 1993-11-30 Texas Instruments Incorporated Method and circuitry for masking data in a memory device
US6570795B1 (en) * 2002-04-10 2003-05-27 Hewlett-Packard Development Company, L.P. Defective memory component of a memory device used to represent a data bit in a bit sequence

Also Published As

Publication number Publication date
JP2013191227A (en) 2013-09-26

Similar Documents

Publication Publication Date Title
TW201511016A (en) Updating read voltages
US8463985B2 (en) Constrained coding to reduce floating gate coupling in non-volatile memories
JP6602904B2 (en) Processing data in memory cells of memory
US11144388B2 (en) Nonvolatile memory device and memory system including nonvolatile memory device
US9547551B2 (en) Memory system having an encoding processing circuit for redundant encoding process
US10741212B2 (en) Error correction code (ECC) encoders, ECC encoding methods capable of encoding for one clock cycle, and memory controllers including the ECC encoders
JP5283989B2 (en) Memory system and memory access method
US20180276069A1 (en) Memory controller, memory system, and control method
US8351257B2 (en) Semiconductor memory device and method of reading the same
TW201320090A (en) Data modification based on matching bit patterns
JP6018508B2 (en) Nonvolatile semiconductor memory device and test method thereof
JP2017022651A (en) Error correction device, semiconductor storing device, and error correction method
US20210067178A1 (en) Method for selectively inverting words to be written to a memory and device for implementing same
JP2017107620A (en) Semiconductor device and nonvolatile memory
CN110716824A (en) Encoding method and memory storage device using the same
JP5492329B2 (en) Memory access device
JP6411282B2 (en) Semiconductor memory and data writing method
JP4099844B2 (en) Memory device
TWI537971B (en) Storage device and access method thereof
US12013754B2 (en) Nonvolatile memory device and memory system including nonvolatile memory device
JPH11212876A (en) Coding method and memory using the same
JP2014134843A (en) Memory system
JP5563125B2 (en) Memory access device
KR20090048142A (en) Ecc processing unit of non volatile memory device
JP2009163863A5 (en)

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140228

LAPS Cancellation because of no payment of annual fees