JPH11213692A - Memory device - Google Patents

Memory device

Info

Publication number
JPH11213692A
JPH11213692A JP995798A JP995798A JPH11213692A JP H11213692 A JPH11213692 A JP H11213692A JP 995798 A JP995798 A JP 995798A JP 995798 A JP995798 A JP 995798A JP H11213692 A JPH11213692 A JP H11213692A
Authority
JP
Japan
Prior art keywords
data
bit
memory
cell array
reed
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.)
Granted
Application number
JP995798A
Other languages
Japanese (ja)
Other versions
JP4099844B2 (en
Inventor
Toshiyuki Miyauchi
俊之 宮内
Masayuki Hattori
雅之 服部
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.)
Sony Corp
Original Assignee
Sony 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
Priority to JP00995798A priority Critical patent/JP4099844B2/en
Application filed by Sony Corp filed Critical Sony Corp
Priority to EP99901130A priority patent/EP0969480A4/en
Priority to CN99800053A priority patent/CN1256005A/en
Priority to DE69932962T priority patent/DE69932962T2/en
Priority to EP04023697A priority patent/EP1496519B1/en
Priority to US09/381,661 priority patent/US6732322B1/en
Priority to PCT/JP1999/000217 priority patent/WO1999038170A1/en
Priority to KR10-1999-7008621A priority patent/KR100535291B1/en
Publication of JPH11213692A publication Critical patent/JPH11213692A/en
Application granted granted Critical
Publication of JP4099844B2 publication Critical patent/JP4099844B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

PROBLEM TO BE SOLVED: To obtain sufficient efficiency with a small count of error corrections, decrease a circuit scale of an error-correcting circuit and reduce a count of memory cells to be used when a memory comprising memory cells storing multi-bit data is error corrected. SOLUTION: A flash memory 10 records in hexadecimal (four bits) with an error-correcting circuit using a 2 error correctable shortened read solomon code incorporated therein. At the write time, an input data Din is converted by an encoder 12 to the shortened read solomon code thereby obtaining a write data WD. The write data WD is converted by a converter 13 to four-bit parallel data and supplied to a cell array 11, where the data is sequentially written to each memory cell constituting the cell array. On the other hand, at the read time, a read data RD from the cell array 11 is converted by a converter 14 to one-byte (eight-bit) parallel data, supplied to a decoder 15 and error corrected in units of bytes, whereby an output data Dout is obtained.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、メモリ装置に関
する。詳しくは、多ビットのデータを記憶するメモリセ
ルからなるメモリに対する誤り訂正符号としてリード・
ソロモン符号を用いることによって、少ない誤り訂正数
で充分な性能を得、誤り訂正回路の回路規模を小さくす
ると共に、使用するメモリセルの数も少なくしようとし
たメモリ装置に係るものである。
The present invention relates to a memory device. More specifically, it is read as an error correction code for a memory comprising memory cells for storing multi-bit data.
The present invention relates to a memory device which obtains sufficient performance with a small number of error corrections by using a Solomon code, reduces the circuit scale of an error correction circuit, and reduces the number of memory cells used.

【0002】[0002]

【従来の技術】近年、メモリ装置として、フラッシュメ
モリ等の半導体メモリが広く使用されている。フラッシ
ュメモリでは、半導体基板上に積層形成された浮遊ゲー
ト(電荷蓄積層)および制御ゲートからなるメモリセル
を多数並べてなるセルアレイ(通常は6500万セル程
度)を用いてデータの記憶を行っている(図5参照)。
この場合、各セルアレイには、浮遊ゲートに蓄える電荷
量の大きさによってデータが記憶される。
2. Description of the Related Art In recent years, semiconductor memories such as flash memories have been widely used as memory devices. In a flash memory, data is stored using a cell array (typically, about 65 million cells) in which a large number of memory cells each including a floating gate (charge storage layer) and a control gate are formed on a semiconductor substrate. (See FIG. 5).
In this case, data is stored in each cell array according to the amount of charge stored in the floating gate.

【0003】図6A,Bは、フラッシュメモリに用いる
メモリセル100の構造を示している。すなわち、メモ
リセル100は、半導体基板101に電荷蓄積層(浮遊
ゲート)102および制御ゲート103が積層されて形
成されている。メモリセル100にデータを書き込む場
合には、浮遊ゲート102に蓄える電荷量を制御し、記
憶するデータ(“0”または“1”)に応じて、図7に
示した2値のしきい電圧のいずれかにする。一方、メモ
リセル100よりデータを読み出す場合には、2値のし
きい電圧の中間に設けた基準電圧を用い、メモリセル1
00のしきい電圧が基準電圧よりも高いか低いかによっ
て、そのメモリセル100のデータが“0”であるか
“1”であるかの判断をする。
FIGS. 6A and 6B show the structure of a memory cell 100 used for a flash memory. That is, the memory cell 100 is formed by stacking the charge storage layer (floating gate) 102 and the control gate 103 on the semiconductor substrate 101. When writing data to the memory cell 100, the amount of charge stored in the floating gate 102 is controlled, and the binary threshold voltage shown in FIG. 7 is changed according to the stored data ("0" or "1"). Choose one. On the other hand, when data is read from the memory cell 100, the reference voltage provided in the middle of the binary threshold voltage is used and the memory cell 1
It is determined whether the data of the memory cell 100 is “0” or “1” depending on whether the threshold voltage of 00 is higher or lower than the reference voltage.

【0004】半導体メモリでは、高集積度化、高密度化
に伴う種々の影響による信頼性低下を防ぐことが重要な
課題となっている。特に、書き込み/消去数の増加に伴
うセル不良のように経年変化によって起こる不良の防止
のために、例えばハミング符号のような誤り訂正符号を
用いた誤り訂正回路を半導体メモリの内部に組み込むこ
とがしばしばある。
[0004] In semiconductor memories, it is an important issue to prevent a decrease in reliability due to various effects accompanying higher integration and higher density. In particular, in order to prevent a failure caused by aging such as a cell failure due to an increase in the number of write / erase operations, it is necessary to incorporate an error correction circuit using an error correction code such as a Hamming code into the semiconductor memory. Often there.

【0005】誤り訂正符号は、情報データに対して検査
データと呼ばれる冗長なデータが付加されてなり、その
検査データを用いることで符号内の誤りの訂正が行われ
る。例えば、情報データが512ビットの短縮化ハミン
グ符号は、図8に示すように、10ビットの検査データ
が付加されてなり、522ビットの符号の中に1つの誤
りが生じても誤りを訂正することが可能になる。
An error correction code is obtained by adding redundant data called check data to information data, and an error in the code is corrected by using the check data. For example, as shown in FIG. 8, a shortened Hamming code of 512-bit information data is added with 10-bit check data, and corrects an error even if one error occurs in a 522-bit code. It becomes possible.

【0006】図9は、ハミング符号を用いた誤り訂正回
路を内部に組み込んだフラッシュメモリ110の構成を
示している。このフラッシュメモリ110は、複数のメ
モリセルを有するセルアレイ111と、入力データDin
を短縮化ハミング符号に変換し、セルアレイ111に書
き込むための書き込みデータWDを得る符号化器112
と、セルアレイ111より読み出される読み出しデータ
RDに誤り訂正処理を施して出力データDoutを得るハ
ミング符号復号器113とを有している。この場合、符
号化器112およびハミング符号復号器113は、誤り
訂正回路を構成している。そして、符号化器112で
は、入力データDinの512ビット毎に10ビットの検
査データが付加され、情報データが512ビットの短縮
化ハミング符号が生成される。
FIG. 9 shows a configuration of a flash memory 110 in which an error correction circuit using a Hamming code is incorporated. The flash memory 110 includes a cell array 111 having a plurality of memory cells and input data Din.
Is converted to a shortened Hamming code to obtain write data WD for writing to the cell array 111.
And a Hamming code decoder 113 that performs error correction processing on read data RD read from the cell array 111 to obtain output data Dout. In this case, the encoder 112 and the Hamming code decoder 113 constitute an error correction circuit. Then, the encoder 112 adds 10-bit check data to each 512 bits of the input data Din, and generates a shortened Hamming code of 512 bits of information data.

【0007】図9に示すフラッシュメモリ110におい
て、データの書き込みは、以下のように行われる。すな
わち、入力データDinは符号化器112に入力される。
そして、この符号化器112では、入力データDinが情
報データが512ビットの短縮化ハミング符号に変換さ
れて書き込みデータWDとされる。そして、符号化器1
12より出力される書き込みデータWDは、セルアレイ
111に供給されて書き込まれる。
In the flash memory 110 shown in FIG. 9, data writing is performed as follows. That is, the input data Din is input to the encoder 112.
Then, in the encoder 112, the input data Din is converted from the information data into the 512-bit shortened Hamming code to be the write data WD. And the encoder 1
The write data WD output from 12 is supplied to the cell array 111 and written.

【0008】一方、データの読み出しは、以下のように
行われる。セルアレイ111より読み出された読み出し
データRDはハミング符号復号器113に入力される。
ハミング符号復号器113では、読み出しデータRDの
1符号内に誤りがなければ情報データがそのまま出力デ
ータDoutとして出力され、また読み出しデータRDの
1符号内の誤りのビット数が1であるときは、誤りが訂
正された後に情報データが出力データDoutとして出力
される。
On the other hand, data reading is performed as follows. The read data RD read from the cell array 111 is input to the Hamming code decoder 113.
In the Hamming code decoder 113, if there is no error in one code of the read data RD, the information data is output as it is as the output data Dout. When the number of error bits in one code of the read data RD is 1, After the error is corrected, the information data is output as output data Dout.

【0009】次に、誤り訂正符号として2誤り訂正可能
な短縮化BCH符号(Bose-Chaudhuri-Hocquenghem cod
e)を使用する場合を取り上げる。なお、BCH符号お
よび符号の短縮化については、例えば今井秀樹著「符号
理論」(電子情報通信学会)等の文献に論じられてい
る。例えば、情報データが512ビットの短縮化BCH
符号は、図10に示すように、20ビットの検査データ
が付加されてなり、532ビットの符号の中に2つの誤
りが生じても誤りを訂正することが可能になる。
Next, a shortened BCH code (Bose-Chaudhuri-Hocquenghem cod) capable of correcting two errors is used as an error correction code.
e) when to use. The BCH code and the shortening of the code are discussed in literatures such as “Code Theory” by Hideki Imai (IEICE). For example, if the information data is a 512-bit shortened BCH
As shown in FIG. 10, the code has 20-bit check data added thereto, and even if two errors occur in the 532-bit code, the error can be corrected.

【0010】図11は、BCH符号を用いた誤り訂正回
路を内部に組み込んだフラッシュメモリ120の構成を
示している。このフラッシュメモリ120は、複数のメ
モリセルを有するセルアレイ121と、入力データDin
を短縮化BCH符号に変換し、セルアレイ121に書き
込むための書き込みデータWDを得る符号化器122
と、セルアレイ121より読み出される読み出しデータ
RDに誤り訂正処理を施して出力データDoutを得るB
CH符号復号器123とを有している。この場合、符号
化器122およびBCH符号復号器123は誤り訂正回
路を構成している。そして、符号化器122では、入力
データDinの512ビット毎に20ビットの検査データ
が付加され、情報データが512ビットの2誤り訂正可
能な短縮化BCH符号が生成される。
FIG. 11 shows a configuration of a flash memory 120 in which an error correction circuit using a BCH code is incorporated. The flash memory 120 includes a cell array 121 having a plurality of memory cells and input data Din.
Is converted to a shortened BCH code to obtain write data WD for writing to the cell array 121.
B that performs error correction processing on read data RD read from cell array 121 to obtain output data Dout
And a CH code decoder 123. In this case, the encoder 122 and the BCH code decoder 123 constitute an error correction circuit. In the encoder 122, 20-bit check data is added to each 512 bits of the input data Din, and a shortened BCH code in which the information data is 512 bits and which can correct two errors is generated.

【0011】図11に示すフラッシュメモリ120にお
いて、データの書き込みは以下のように行われる。すな
わち、入力データDinは符号化器122に入力される。
そして、この符号化器122では、入力データDinが情
報データが512ビットの短縮化BCH符号に変換され
て書き込みデータWDとされる。そして、符号化器12
2より出力される書き込みデータWDは、セルアレイ1
21に供給されて書き込まれる。
In the flash memory 120 shown in FIG. 11, data writing is performed as follows. That is, the input data Din is input to the encoder 122.
Then, in the encoder 122, the input data Din is converted from the information data into the 512-bit shortened BCH code to be the write data WD. And the encoder 12
2 is the write data WD output from the cell array 1
21 to be written.

【0012】一方、データの読み出しは以下のように行
われる。セルアレイ121より読み出された読み出しデ
ータRDはBCH符号復号器123に入力される。BC
H符号復号器123では、読み出しデータRDの1符号
内に誤りがなければ情報データがそのまま出力データD
outとして出力され、また読み出しデータRDの1符号
内の誤りのビット数が1または2であるときは、誤りが
訂正された後に情報データが出力データDoutとして出
力される。
On the other hand, data reading is performed as follows. The read data RD read from the cell array 121 is input to the BCH code decoder 123. BC
In the H code decoder 123, if there is no error in one code of the read data RD, the information data is directly output data D
When the number of error bits in one code of the read data RD is 1 or 2, the information data is output as output data Dout after the error is corrected.

【0013】図9、図11に示すように、フラッシュメ
モリ110,120の内部に誤り訂正回路を組み込むこ
とで、経年変化によってある程度のセル不良が起こって
も、書き込んだデータの読出エラーが起こらないように
することが可能になる。ただし、一般に誤り訂正符号で
は、多くの誤りを訂正するためには冗長なデータである
検査データを多く持つ必要があり、使用するメモリセル
の数が多くなると共に、誤り訂正回路の回路規模も大き
くなる。
As shown in FIGS. 9 and 11, by incorporating an error correction circuit inside the flash memories 110 and 120, even if some cell failure occurs due to aging, a read error of written data does not occur. It becomes possible to do so. However, in general, an error correction code needs to have a large number of redundant test data in order to correct many errors, so that the number of memory cells used increases and the circuit size of the error correction circuit increases. Become.

【0014】次に、複数のフラッシュメモリ(フラッシ
ュメモリチップ)を用いたメモリカードについて述べ
る。1チップのフラッシュメモリでは扱えない量のデー
タを記憶するためのメモリ装置として、複数個のフラッ
シュメモリとコントローラとからなるメモリカードがあ
る。
Next, a memory card using a plurality of flash memories (flash memory chips) will be described. As a memory device for storing an amount of data that cannot be handled by a single-chip flash memory, there is a memory card including a plurality of flash memories and a controller.

【0015】図12は、BCH符号を用いた誤り訂正回
路をコントローラに備えるメモリカード130の構成を
示している。このメモリカード130は、2個のフラッ
シュメモリ131,132と、これらフラッシュメモリ
131,132に対してデータの書き込みや読み出しを
行うためのコントローラ133とを備えている。
FIG. 12 shows a configuration of a memory card 130 provided with an error correction circuit using a BCH code in a controller. The memory card 130 includes two flash memories 131 and 132 and a controller 133 for writing and reading data to and from the flash memories 131 and 132.

【0016】そして、コントローラ133は、カード外
部とのデータのやり取りを行うためのカードインタフェ
ース134と、入力データDinを短縮化BCH符号に変
換し、フラッシュメモリ131,132に書き込むため
の書き込みデータWDを得る符号化器135と、フラッ
シュメモリ131,132より読み出される読み出しデ
ータRDに誤り訂正処理を施して出力データDoutを得
るBCH符号復号器136と、フラッシュメモリ13
1,132に対するデータの書き込み/読み出しをコン
トロールするフラッシュインタフェース137とを有し
て構成されている。
Then, the controller 133 converts the input data Din into the shortened BCH code and writes the write data WD for writing to the flash memories 131 and 132 with the card interface 134 for exchanging data with the outside of the card. Encoder 135, a BCH encoder / decoder 136 that performs error correction processing on read data RD read from the flash memories 131 and 132 to obtain output data Dout, and a flash memory 13
And a flash interface 137 for controlling writing / reading of data to / from the memory devices 1 and 132.

【0017】この場合、符号化器135およびBCH符
号復号器136は誤り訂正回路を構成している。そし
て、符号化器135では、入力データDinの512ビッ
ト毎に20ビットの検査データが付加され、情報データ
が512ビットの2誤り訂正可能な短縮化BCH符号が
生成される。
In this case, the encoder 135 and the BCH code decoder 136 constitute an error correction circuit. Then, in the encoder 135, 20-bit check data is added for every 512 bits of the input data Din, and a shortened BCH code in which the information data is 512 bits and which can correct two errors is generated.

【0018】図12に示すメモリカード130におい
て、データの書き込みは以下のように行われる。すなわ
ち、入力データDinはカードインタフェース134によ
ってカード内部に取り込まれて符号化器135に供給さ
れる。そして、この符号化器135では、入力データD
inが情報データが512ビットの短縮化BCH符号に変
換されて書き込みデータWDとされる。そして、符号化
器135より出力される書き込みデータWDは、フラッ
シュインタフェース137のコントロールに従ってフラ
ッシュメモリ131またはフラッシュメモリ132に書
き込まれる。
In the memory card 130 shown in FIG. 12, data writing is performed as follows. That is, the input data Din is taken into the card by the card interface 134 and supplied to the encoder 135. Then, in the encoder 135, the input data D
In is converted into the 512-bit shortened BCH code of the information data to be the write data WD. Then, the write data WD output from the encoder 135 is written to the flash memory 131 or 132 under the control of the flash interface 137.

【0019】一方、データの読み出しは以下のように行
われる。フラッシュインタフェース137のコントロー
ルに従ってフラッシュメモリ131またはフラッシュメ
モリ132より読み出された読み出しデータRDはBC
H符号復号器136に入力される。BCH符号復号器1
36では、読み出しデータRDの1符号内に誤りがなけ
れば情報データがそのまま出力データDoutとして出力
され、また読み出しデータRDの1符号内の誤りのビッ
ト数が1または2であるときは、誤りが訂正された後に
情報データが出力データDoutとして出力される。この
ようにBCH符号復号器136より出力される出力デー
タDoutはカードインタフェース234を介してカード
外部に出力される。
On the other hand, data reading is performed as follows. The read data RD read from the flash memory 131 or 132 under the control of the flash interface 137 is BC
It is input to the H code decoder 136. BCH code decoder 1
In 36, if there is no error in one code of the read data RD, the information data is output as it is as the output data Dout. If the number of error bits in one code of the read data RD is 1 or 2, the error is After the correction, the information data is output as output data Dout. Thus, the output data Dout output from the BCH code decoder 136 is output to the outside of the card via the card interface 234.

【0020】以上述べたように、複数個のフラッシュメ
モリを用いたメモリカードにおいても誤り訂正符号を用
いることができる。コントローラで誤り訂正を行う場
合、フラッシュメモリに内蔵する場合に比べて、より大
きな誤り訂正回路を持つことができるため、より多くの
誤りを訂正できるという特徴がある。
As described above, the error correction code can be used in a memory card using a plurality of flash memories. When error correction is performed by a controller, a larger error correction circuit can be provided as compared with the case where the error correction is incorporated in a flash memory, so that there is a feature that more errors can be corrected.

【0021】次に、フラッシュメモリの多値記録につい
て述べる。近年、フラッシュメモリの記憶容量の増大を
目的として、1つのセルに多ビットを記憶するフラッシ
ュメモリが提案されている。例えば、4値の多値記録を
行うフラッシュメモリのメモリセル100では、図13
A〜Dに示すように、浮遊ゲート102に蓄える電荷量
を制御して、記憶するデータ(“11”,“10”,
“01”または“00”)に応じて、図14に示した4
値のしきい電圧のいずれかにする。データを読み出すに
は、各しきい電圧の間にそれぞれ設けた3値の基準電圧
を用いる。メモリセル100のしきい電圧と各基準電圧
とを比較することによって、メモリセル100のデータ
を読み取る。これによって1つのメモリセル100で2
ビットの情報を記憶できる。
Next, multi-value recording in the flash memory will be described. In recent years, flash memories that store multiple bits in one cell have been proposed for the purpose of increasing the storage capacity of the flash memory. For example, in a memory cell 100 of a flash memory that performs quaternary multi-level recording, FIG.
As shown in A to D, the amount of charge stored in the floating gate 102 is controlled to store data (“11”, “10”,
14 according to “01” or “00”).
To one of the threshold voltages. To read data, a ternary reference voltage provided between each threshold voltage is used. The data of the memory cell 100 is read by comparing the threshold voltage of the memory cell 100 with each reference voltage. Thus, one memory cell 100 has 2
Bit information can be stored.

【0022】多値記録のフラッシュメモリに対しても2
値記録の場合と同様に誤り訂正回路を用いることができ
る。図15は、BCH符号を用いた誤り訂正回路を内部
に組み込んだ16値(4ビット)記録を行うフラッシュ
メモリ140の構成を示している。このフラッシュメモ
リ140は、複数のメモリセルを有するセルアレイ14
1と、入力データDinを短縮化BCH符号に変換し、セ
ルアレイ141に書き込むための書き込みデータWDを
得る符号化器142と、この符号化器142より出力さ
れる書き込みデータWDをシリアルデータから4ビット
のパラレルデータに変換してセルアレイ141に供給す
る1ビット/4ビット変換器143とを有している。
The same applies to multi-level recording flash memory.
An error correction circuit can be used as in the case of value recording. FIG. 15 shows a configuration of a flash memory 140 for performing 16-level (4-bit) recording in which an error correction circuit using a BCH code is incorporated. This flash memory 140 has a cell array 14 having a plurality of memory cells.
1, an encoder 142 for converting the input data Din into a shortened BCH code to obtain write data WD for writing to the cell array 141, and converting the write data WD output from the encoder 142 into 4 bits from serial data. And a 1-bit / 4-bit converter 143 which converts the data into parallel data and supplies the parallel data to the cell array 141.

【0023】また、フラッシュメモリ140は、セルア
レイ111より読み出される読み出しデータRDを4ビ
ットのパラレルデータからシリアルデータに変換する4
ビット/1ビット変換器144と、この4ビット/1ビ
ット変換器144でシリアルデータに変換された読み出
しデータRDに誤り訂正処理を施して出力データDout
を得るBCH符号復号器145とを有している。この場
合、符号化器142およびBCH符号復号器145は誤
り訂正回路を構成している。そして、符号化器142で
は、入力データDinの512ビット毎に20ビットの検
査データが付加され、情報データが512ビットの2誤
り訂正可能な短縮化BCH符号が生成される。
The flash memory 140 converts read data RD read from the cell array 111 from 4-bit parallel data to serial data.
The bit / bit converter 144 and the read data RD converted into serial data by the 4-bit / 1 bit converter 144 are subjected to error correction processing to output data Dout.
And a BCH code decoder 145 that obtains In this case, the encoder 142 and the BCH code decoder 145 constitute an error correction circuit. Then, in the encoder 142, 20-bit check data is added for every 512 bits of the input data Din, and a shortened BCH code in which the information data is 512 bits and which can correct two errors is generated.

【0024】図15に示すフラッシュメモリ140にお
いて、データの書き込みは以下のように行われる。すな
わち、入力データDinは符号化器142に入力される。
そして、この符号化器142では、入力データDinが情
報データが512ビットの短縮化BCH符号に変換され
て書き込みデータWDとされる。そして、符号化器14
2より出力される書き込みデータWDは、1ビット/4
ビット変換器143でシリアルデータより4ビットのパ
ラレルデータ(メモリセルに記憶するための4ビットデ
ータ)に変換されてセルアレイ141に供給され、セル
アレイ141を構成する各メモリセルに順次書き込まれ
る。
In the flash memory 140 shown in FIG. 15, data is written as follows. That is, the input data Din is input to the encoder 142.
Then, in the encoder 142, the input data Din is converted from the information data into the 512-bit shortened BCH code to be the write data WD. And the encoder 14
2 is 1 bit / 4
The bit converter 143 converts the serial data into 4-bit parallel data (4-bit data to be stored in a memory cell), supplies the converted data to the cell array 141, and sequentially writes the data into each memory cell constituting the cell array 141.

【0025】一方、データの読み出しは以下のように行
われる。セルアレイ141より読み出された読み出しデ
ータRDは4ビット/1ビット変換器144で4ビット
のパラレルデータよりシリアルデータに変換されてBC
H符号復号器145に供給される。BCH符号復号器1
45では、読み出しデータRDの1符号内に誤りがなけ
れば情報データがそのまま出力データDoutとして出力
され、また読み出しデータRDの1符号内の誤りのビッ
ト数が1または2であるときは、誤りが訂正された後に
情報データが出力データDoutとして出力される。
On the other hand, data reading is performed as follows. The read data RD read from the cell array 141 is converted from 4-bit parallel data into serial data by a 4-bit / 1-bit converter 144, and is converted into a BC.
It is supplied to the H code decoder 145. BCH code decoder 1
In 45, if there is no error in one code of the read data RD, the information data is output as it is as the output data Dout. If the number of error bits in one code of the read data RD is 1 or 2, the error is After the correction, the information data is output as output data Dout.

【0026】[0026]

【発明が解決しようとする課題】図15に示すフラッシ
ュメモリ140のように多値記録を行うフラッシュメモ
リでは、1つのセル不良によって複数ビットが誤りにな
るという特徴がある。従来のフラッシュメモリでは1つ
のメモリセルに1ビットを記憶していたために、誤り訂
正符号としては、ビット誤りを訂正する符号が主に使わ
れてきたが、1つのメモリセルの不良によって複数ビッ
トが誤りになってしまうと、ビット単位の誤りを訂正す
る符号では効率が悪い。
A flash memory that performs multi-level recording, such as the flash memory 140 shown in FIG. 15, has a feature that a plurality of bits are erroneous due to one cell failure. In a conventional flash memory, one bit is stored in one memory cell, and therefore, a code for correcting a bit error has been mainly used as an error correction code. If an error occurs, a code that corrects an error in a bit unit is inefficient.

【0027】例えば、1メモリセルで4ビットのデータ
の記憶を行うフラッシュメモリでは、1つメモリセルに
アクセス不能になってしまうと、その誤りを訂正するた
めに4訂正の符号を用いなければならなくなるというこ
とが起こる。ここで、前述した通り、誤り訂正符号で多
くの誤りを訂正しようとすると誤り訂正回路が大きくな
るため、回路規模が増大するという問題が生じる。また
多くの誤りを訂正するためには、より多くの冗長データ
を付加する必要があるため、多くのメモリセルが必要に
なるという問題も生じる。
For example, in a flash memory that stores 4-bit data in one memory cell, if one memory cell becomes inaccessible, a four-correction code must be used to correct the error. It happens to disappear. Here, as described above, when trying to correct a large number of errors with the error correction code, the error correction circuit becomes large, so that there is a problem that the circuit scale increases. Also, in order to correct many errors, it is necessary to add more redundant data, so that a problem arises that many memory cells are required.

【0028】そこで、この発明では、少ない誤り訂正数
で充分な性能を得、誤り訂正回路の回路規模を小さくす
ると共に、使用するメモリセルの数も少なくし得るメモ
リ装置を提供することを目的とする。
Accordingly, an object of the present invention is to provide a memory device which can obtain sufficient performance with a small number of error corrections, reduce the circuit scale of the error correction circuit, and reduce the number of memory cells used. I do.

【0029】[0029]

【課題を解決するための手段】この発明に係るメモリ装
置は、複数のメモリセルを有し、それぞれのメモリセル
が多ビットの情報を記憶するセルアレイと、入力データ
をリード・ソロモン符号に変換してセルアレイに書き込
むための書き込みデータを得る符号化器と、セルアレイ
より読み出される読み出しデータに誤り訂正処理を施し
て出力データを得るリード・ソロモン符号復号器とを備
えるものである。
A memory device according to the present invention has a plurality of memory cells, each memory cell storing multi-bit information, and converting input data into a Reed-Solomon code. And a Reed-Solomon code decoder for performing error correction processing on read data read from the cell array to obtain output data.

【0030】また、この発明に係るメモリ装置は、複数
のメモリセルを有し、それぞれのメモリセルが多ビット
のデータを記憶するセルアレイを持つメモリ部と、この
メモリ部に対してデータの書き込みや読み出しを行うた
めのコントローラとを備え、コントローラは、入力デー
タをリード・ソロモン符号に変換してメモリ部に書き込
むための書き込みデータを得る符号化器と、メモリ部よ
り読み出される読み出しデータに誤り訂正処理を施して
出力データを得るリード・ソロモン符号復号器と有する
ものである。
Further, a memory device according to the present invention has a memory section having a plurality of memory cells, each of which has a cell array for storing multi-bit data, and a memory for writing data to the memory section. A controller for performing reading, wherein the controller converts input data into Reed-Solomon code to obtain write data for writing to the memory unit, and performs error correction processing on read data read from the memory unit. And a Reed-Solomon code decoder that obtains output data by performing

【0031】セルアレイの各メモリセルには、それぞれ
多ビットのデータが記憶される。書き込み時、入力デー
タは符号化器によって書き込みデータとしてのリード・
ソロモン符号に変換され、このリード・ソロモン符号が
セルアレイに書き込まれる。リード・ソロモン符号は、
複数ビットをまとめて1バイトとし、バイト単位で誤り
訂正を行う誤り訂正符号である。読み出し時、セルアレ
イの各メモリセルに記憶されていた多ビットのデータが
読み出され、この読み出しデータに対してリード・ソロ
モン符号復号器で誤り訂正処理が施されて出力データが
得られる。
Each memory cell of the cell array stores multi-bit data. At the time of writing, input data is read / written by the encoder as write data.
It is converted to a Solomon code, and this Reed-Solomon code is written to the cell array. The Reed-Solomon code is
This is an error correction code for correcting a plurality of bits into one byte and performing error correction in byte units. At the time of reading, multi-bit data stored in each memory cell of the cell array is read, and the read data is subjected to error correction by a Reed-Solomon code decoder to obtain output data.

【0032】このように、多ビットのデータを記憶する
メモリセルからなるメモリに対する誤り訂正符号として
バイト単位で誤り訂正を行うリード・ソロモン符号が用
いられることで、少ない誤り訂正数で充分な性能を得、
誤り訂正回路の回路規模を小さくすると共に、使用する
メモリセルの数も少なくすることが可能となる。
As described above, the use of the Reed-Solomon code for performing error correction on a byte-by-byte basis as an error correction code for a memory composed of memory cells for storing multi-bit data allows sufficient performance with a small number of error corrections. Get
The circuit scale of the error correction circuit can be reduced, and the number of memory cells used can be reduced.

【0033】[0033]

【発明の実施の形態】以下、図面を参照しながら、この
発明の実施の形態について説明する。図1は、第1の実
施の形態としてのフラッシュメモリ10の構成を示して
いる。このフラッシュメモリ10は、2誤り訂正可能な
短縮化リード・ソロモン符号(Reed-Solomon Code)を
用いた誤り訂正回路を組み込んだ16値(4ビット)記
録を行うフラッシュメモリである。リード・ソロモン符
号および短縮化リード・ソロモン符号は、複数ビットを
まとめて1バイトとし、バイト単位で誤り訂正を行う符
号である。なお、リード・ソロモン符号についても、そ
の内容に関しては前掲の今井秀樹著「符号理論」(電子
情報通信学会)等の文献で論じられている。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 shows a configuration of a flash memory 10 according to a first embodiment. The flash memory 10 is a flash memory that performs 16-level (4-bit) recording incorporating an error correction circuit using a shortened Reed-Solomon Code capable of correcting two errors. The Reed-Solomon code and the shortened Reed-Solomon code are codes in which a plurality of bits are combined into one byte and error correction is performed in byte units. The contents of the Reed-Solomon code are also discussed in the literature such as "Code Theory" by Hideki Imai (The Institute of Electronics, Information and Communication Engineers) mentioned above.

【0034】いま、8ビットを1バイトとし、情報デー
タ数を128バイトとして、2誤り訂正可能な短縮化リ
ード・ソロモン符号を例とする。この場合、図2に示す
ように、検査データは4バイトとなり、符号全体の長さ
は、132バイト=1056ビットとなる。
Now, assume that 8 bits are 1 byte and the number of information data is 128 bytes, and a shortened Reed-Solomon code capable of correcting two errors is taken as an example. In this case, as shown in FIG. 2, the inspection data is 4 bytes, and the total length of the code is 132 bytes = 1,056 bits.

【0035】図1において、フラッシュメモリ10は、
複数のメモリセルを有するセルアレイ11と、8ビット
のパラレルデータである入力データDinを短縮化リード
・ソロモン符号に変換し、セルアレイ11に書き込むた
めの書き込みデータWDを得る符号化器12と、この符
号化器12より出力される書き込みデータWDを、図3
に示すように、1バイト(8ビット)のパラレルデータ
から4ビットのパラレルデータ(メモリセルに記憶する
ための4ビットデータ)に変換してセルアレイ11に供
給する8ビット/4ビット変換器13とを有している。
In FIG. 1, the flash memory 10
A cell array 11 having a plurality of memory cells; an encoder 12 for converting input data Din, which is 8-bit parallel data, into a shortened Reed-Solomon code to obtain write data WD for writing to the cell array 11; The write data WD output from the converter 12 is shown in FIG.
As shown in FIG. 7, an 8-bit / 4-bit converter 13 which converts 1-byte (8-bit) parallel data into 4-bit parallel data (4-bit data to be stored in a memory cell) and supplies the same to the cell array 11 have.

【0036】また、フラッシュメモリ10は、セルアレ
イ11より読み出される読み出しデータRDを、図3に
示すように、4ビットのパラレルデータから1バイト
(8ビット)のパラレルデータに変換する4ビット/8
ビット変換器14と、この4ビット/8ビット変換器1
4で1バイトのパラレルデータに変換された読み出しデ
ータRDに誤り訂正処理を施して出力データDoutを得
るリード・ソロモン符号復号器15とを有している。こ
の場合、符号化器12およびリード・ソロモン符号復号
器15は誤り訂正回路を構成している。そして、符号化
器12では、入力データDinの128バイト毎に4バイ
トの検査データが付加され、情報データが128バイト
の2誤り訂正可能な短縮化リード・ソロモン符号が生成
される。
The flash memory 10 converts read data RD read from the cell array 11 from 4-bit parallel data to 1-byte (8-bit) parallel data as shown in FIG.
The bit converter 14 and the 4-bit / 8-bit converter 1
And a Reed-Solomon code decoder 15 for subjecting the read data RD converted to 1-byte parallel data to error correction processing to obtain output data Dout. In this case, the encoder 12 and the Reed-Solomon code decoder 15 constitute an error correction circuit. Then, the encoder 12 adds 4 bytes of check data for every 128 bytes of the input data Din, and generates a shortened Reed-Solomon code in which the information data is 128 bytes and which can correct two errors.

【0037】図1に示すフラッシュメモリ10におい
て、データの書き込みは以下のように行われる。すなわ
ち、8ビットのパラレルデータである入力データDinは
符号化器12に入力される。そして、この符号化器12
では、入力データDinが情報データが128バイトの短
縮化リード・ソロモン符号に変換されて書き込みデータ
WDとされる。そして、符号化器12より出力される書
き込みデータWDは、8ビット/4ビット変換器13で
1バイト(8ビット)のパラレルデータより4ビットの
パラレルデータに変換されてセルアレイ11に供給さ
れ、セルアレイ11を構成する各メモリセルに順次書き
込まれる。
In the flash memory 10 shown in FIG. 1, data writing is performed as follows. That is, the input data Din, which is 8-bit parallel data, is input to the encoder 12. Then, this encoder 12
Then, the input data Din is converted into the 128-byte shortened Reed-Solomon code of the information data to be the write data WD. Then, the write data WD output from the encoder 12 is converted from 1-byte (8-bit) parallel data into 4-bit parallel data by the 8-bit / 4-bit converter 13 and supplied to the cell array 11, where 11 is sequentially written into each memory cell.

【0038】一方、データの読み出しは以下のように行
われる。セルアレイ11より読み出された読み出しデー
タRDは4ビット/8ビット変換器14で4ビットのパ
ラレルデータより1バイト(8ビット)のパラレルデー
タに変換されてリード・ソロモン符号復号器15に供給
される。リード・ソロモン符号復号器15では、読み出
しデータRDの1符号内に誤りがなければ情報データが
そのまま出力データDoutとしてバイト単位で出力さ
れ、また読み出しデータRDの1符号内の誤りのバイト
数が1または2であるときは、誤りが訂正された後に情
報データが出力データDoutとしてバイト単位で出力さ
れる。
On the other hand, data reading is performed as follows. The read data RD read from the cell array 11 is converted from 4-bit parallel data into 1-byte (8-bit) parallel data by a 4-bit / 8-bit converter 14 and supplied to a Reed-Solomon code decoder 15. . In the Reed-Solomon code decoder 15, if there is no error in one code of the read data RD, the information data is output as it is as output data Dout in byte units, and the number of error bytes in one code of the read data RD is one. Otherwise, when the error is corrected, the information data is output in byte units as output data Dout after the error is corrected.

【0039】なお、入力データDinや出力データDout
が8ビットのパラレルデータでないときは、符号化器1
2の前段に入力データDinを8ビットのパラレルデータ
に変換するビット変換器が配置され、また、リード・ソ
ロモン符号復号器15の後段に8ビットパラレルデータ
を出力データDoutに対応したパラレルデータまたはシ
リアルデータに変換するビット変換器が配置されればよ
い。
The input data Din and the output data Dout
Is not 8-bit parallel data, the encoder 1
2, a bit converter for converting the input data Din into 8-bit parallel data is disposed at a stage preceding the Reed-Solomon code decoder 15, and a 8-bit parallel data is converted into parallel data or serial data corresponding to the output data Dout at a stage subsequent to the Reed-Solomon code decoder 15. A bit converter for converting data into data may be provided.

【0040】このように第1の実施の形態においては、
4ビットデータを記憶するメモリセルからなるセルアレ
イ11に対する誤り訂正符号としてバイト単位で誤り訂
正を行うリード・ソロモン符号が用いられるものであ
り、少ない誤り訂正数で充分な性能を得ることができ
る。したがって、誤り訂正回路の回路規模を小さくでき
ると共に、使用するメモリセルの数も少なくできる。
As described above, in the first embodiment,
A Reed-Solomon code that performs error correction on a byte-by-byte basis is used as an error correction code for a cell array 11 composed of memory cells storing 4-bit data, and sufficient performance can be obtained with a small number of error corrections. Therefore, the circuit scale of the error correction circuit can be reduced, and the number of memory cells used can be reduced.

【0041】この第1の実施の形態における効果を例を
あげて説明する。情報データ65536セル分を1ブロ
ックとし、セルアレイは1024ブロックで構成されて
いるとして、メモリに対する書き込み/読み出しはブロ
ック単位で行うものとする。いま、製造時に正常だった
セルが100万回の書き込み/消去後にアクセス不能な
不良セルとなる確率が0.001%であるとし、100
万回の書き込み/消去後にブロック不良が起こる確率を
比較する。
The effect of the first embodiment will be described with an example. Assuming that 65536 cells of information data are one block, and the cell array is composed of 1024 blocks, writing / reading to / from the memory is performed in block units. Now, it is assumed that the probability that a normal cell at the time of manufacturing becomes a defective cell that is inaccessible after 1 million writing / erasing is 0.001%.
The probability of a block failure occurring after 10,000 write / erase operations is compared.

【0042】128バイト、すなわち1024ビットの
情報データに対して8誤り訂正可能な短縮化BCH符号
を用いると、検査データは88ビットだけ必要になる。
ここで1セルの不良に対し、4ビット分の訂正が必要で
あることから、8誤り訂正可能な符号によって2セル分
までの不良を訂正することができる。また、1112ビ
ットは278セルで記憶ができ、1ブロック中には25
6符号が含まれることになるから、この場合の不良ブロ
ックの発生確率は、(1)式より、約0.000091
%である。
If a shortened BCH code capable of correcting eight errors is used for 128 bytes, that is, 1024 bits of information data, only 88 bits of test data are required.
Here, since a defect of one cell needs to be corrected for four bits, a defect of up to two cells can be corrected by a code capable of correcting eight errors. Also, 1112 bits can be stored in 278 cells, and 25 in one block.
Since six codes are included, the probability of occurrence of a bad block in this case is approximately 0.000091 according to equation (1).
%.

【0043】[0043]

【数1】 (Equation 1)

【0044】次に、2誤り訂正可能な短縮化リード・ソ
ロモン符号を用いた場合の不良ブロックの発生確率を求
める。この場合は2バイトまでの不良を訂正することが
できる。ここで、4ビット/8ビットの変換により、1
セルの誤りが複数バイトに影響を及ぼすことがないこと
に注意すると、2セル分の情報8ビットを1バイトとし
たときのバイト誤り率は、(2)式に示すようになる。
よって、不良ブロックの発生確率は、(3)式より、約
0.000077%となる。
Next, the occurrence probability of a bad block when the shortened Reed-Solomon code capable of correcting two errors is used is determined. In this case, a defect of up to 2 bytes can be corrected. Here, by the conversion of 4 bits / 8 bits, 1
When it is noted that a cell error does not affect a plurality of bytes, a byte error rate when 8 bits of information for 2 cells are 1 byte is as shown in Expression (2).
Therefore, the probability of occurrence of a bad block is approximately 0.000077% from equation (3).

【0045】[0045]

【数2】 (Equation 2)

【0046】したがって、8誤り訂正可能な短縮化BC
H符号と2誤り訂正可能な短縮化リード・ソロモン符号
は、ほぼ同等の誤り訂正能力を持っていることが分か
る。しかし、BCH符号と比べるとリード・ソロモン符
号を用いる方が、訂正数が8訂正に対し2訂正と大幅に
少ないために、誤り訂正回路の回路規模を小さくするこ
とができる。また、冗長データも88ビットに対し32
ビットと大幅に少ないために、使用するメモリセル数も
少なくできる。
Therefore, a shortened BC capable of 8 error corrections
It can be seen that the H code and the shortened Reed-Solomon code capable of correcting two errors have almost the same error correction capability. However, when the Reed-Solomon code is used as compared with the BCH code, the number of corrections is two, which is much smaller than eight, and the circuit size of the error correction circuit can be reduced. Also, redundant data is 32 bits for 88 bits.
Since the number of bits is significantly smaller, the number of memory cells used can be reduced.

【0047】次に、この発明の第2の実施の形態につい
て説明する。図4は第2の実施の形態としてのメモリカ
ード20の構成を示している。このメモリカード20
は、16値(4ビット)記録を行うフラッシュメモリを
2個使用すると共に、コントローラに2誤り訂正可能な
短縮化リード・ソロモン符号を用いた誤り訂正回路を組
み込んだメモリカードである。
Next, a second embodiment of the present invention will be described. FIG. 4 shows the configuration of a memory card 20 according to the second embodiment. This memory card 20
Is a memory card that uses two flash memories that record 16 values (4 bits) and incorporates an error correction circuit using a shortened Reed-Solomon code capable of correcting two errors in a controller.

【0048】図4において、メモリカード20は、2個
のフラッシュメモリ21,22と、これらフラッシュメ
モリ21,22に対してデータの書き込みや読み出しを
行うためのコントローラ23とを備えている。
In FIG. 4, the memory card 20 includes two flash memories 21 and 22 and a controller 23 for writing and reading data to and from these flash memories 21 and 22.

【0049】そして、コントローラ23は、カード外部
とのデータのやり取りを行うためのカードインタフェー
ス24と、8ビットのパラレルデータである入力データ
Dinを短縮化リード・ソロモン符号に変換し、フラッシ
ュメモリ21,22に書き込むための書き込みデータW
Dを得る符号化器25と、この符号化器25より出力さ
れる書き込みデータWDを、図3に示すように、1バイ
ト(8ビット)のパラレルデータから4ビットのパラレ
ルデータ(メモリセルに記憶するための4ビットデー
タ)に変換する8ビット/4ビット変換器26とを有し
ている。
The controller 23 converts the input data Din, which is 8-bit parallel data, into a shortened Reed-Solomon code by using a card interface 24 for exchanging data with the outside of the card. Write data W for writing to
As shown in FIG. 3, an encoder 25 for obtaining D and write data WD output from the encoder 25 are converted from 1-byte (8-bit) parallel data to 4-bit parallel data (stored in a memory cell). And an 8-bit / 4-bit converter 26 for converting the data into 4-bit data for conversion.

【0050】また、メモリカード20は、フラッシュメ
モリ21,22より読み出される読み出しデータRD
を、図3に示すように、4ビットのパラレルデータから
1バイト(8ビット)のパラレルデータに変換する4ビ
ット/8ビット変換器27と、この4ビット/8ビット
変換器27で1バイトのパラレルデータに変換された読
み出しデータRDに誤り訂正処理を施して出力データD
outを得るリード・ソロモン符号復号器28と、フラッ
シュメモリ21,22に対するデータの書き込み/読み
出しをコントロールするフラッシュインタフェース29
とを有して構成されている。
The memory card 20 stores read data RD read from the flash memories 21 and 22.
As shown in FIG. 3, a 4-bit / 8-bit converter 27 converts 4-bit parallel data into 1-byte (8-bit) parallel data, and the 4-bit / 8-bit converter 27 An error correction process is performed on the read data RD converted into the parallel data, and the output data D
out and a flash interface 29 for controlling writing / reading of data to / from the flash memories 21 and 22
And is configured.

【0051】この場合、符号化器25およびリード・ソ
ロモン符号復号器28は誤り訂正回路を構成している。
そして、符号化器25では、入力データDinの128バ
イト毎に4バイトの検査データが付加され、情報データ
が128バイトの2誤り訂正可能な短縮化リード・ソロ
モン符号が生成される。
In this case, the encoder 25 and the Reed-Solomon code decoder 28 constitute an error correction circuit.
Then, in the encoder 25, 4-byte check data is added for every 128 bytes of the input data Din, and a shortened Reed-Solomon code in which the information data is 128 bytes and which can correct two errors is generated.

【0052】図4に示すメモリカード20において、デ
ータの書き込みは以下のように行われる。すなわち、入
力データDinはカードインタフェース24によってカー
ド内部に取り込まれて符号化器25に供給される。この
符号化器25では、入力データDinが情報データが12
8バイトの短縮化リード・ソロモン符号に変換されて書
き込みデータWDとされる。そして、符号化器25より
出力される書き込みデータWDは、8ビット/4ビット
変換器26で1バイト(8ビット)のパラレルデータよ
り4ビットのパラレルデータに変換され、フラッシュイ
ンタフェース29のコントロールに従ってフラッシュメ
モリ21またはフラッシュメモリ22に書き込まれる。
In the memory card 20 shown in FIG. 4, data writing is performed as follows. That is, the input data Din is taken into the card by the card interface 24 and supplied to the encoder 25. In this encoder 25, the input data Din is
The data is converted into an 8-byte shortened Reed-Solomon code and is used as write data WD. Then, the write data WD output from the encoder 25 is converted from 1-byte (8-bit) parallel data into 4-bit parallel data by an 8-bit / 4-bit converter 26, and is flashed according to the control of the flash interface 29. The data is written to the memory 21 or the flash memory 22.

【0053】一方、データの読み出しは以下のように行
われる。フラッシュインタフェース29のコントロール
に従ってフラッシュメモリ21またはフラッシュメモリ
22より読み出された読み出しデータRDは、4ビット
/8ビット変換器27で4ビットのパラレルデータより
1バイト(8ビット)のパラレルデータに変換されてリ
ード・ソロモン符号復号器28に供給される。リード・
ソロモン符号復号器28では、読み出しデータRDの1
符号内に誤りがなければ情報データがそのまま出力デー
タDoutとしてバイト単位で出力され、また読み出しデ
ータRDの1符号内の誤りのバイト数が1または2であ
るときは、誤りが訂正された後に情報データが出力デー
タDoutとしてバイト単位で出力される。このようにリ
ード・ソロモン符号復号器28より出力される出力デー
タDoutはカードインタフェース24を介してカード外
部に出力される。
On the other hand, data reading is performed as follows. The read data RD read from the flash memory 21 or the flash memory 22 under the control of the flash interface 29 is converted by the 4-bit / 8-bit converter 27 from 4-bit parallel data to 1-byte (8-bit) parallel data. And supplied to the Reed-Solomon decoder 28. Lead
In the Solomon code decoder 28, 1 of the read data RD
If there is no error in the code, the information data is output as it is as the output data Dout in byte units. If the number of error bytes in one code of the read data RD is 1 or 2, the information data is output after the error is corrected. The data is output as output data Dout in byte units. As described above, the output data Dout output from the Reed-Solomon code decoder 28 is output to the outside of the card via the card interface 24.

【0054】なお、入力データDinや出力データDout
が8ビットのパラレルデータでないときは、符号化器2
5の前段に入力データDinを8ビットのパラレルデータ
に変換するビット変換器が配置され、また、リード・ソ
ロモン符号復号器28の後段に8ビットパラレルデータ
を出力データDoutに対応したパラレルデータまたはシ
リアルデータに変換するビット変換器が配置されればよ
い。
The input data Din and the output data Dout
Is not 8-bit parallel data, the encoder 2
5, a bit converter for converting the input data Din into 8-bit parallel data is arranged at a stage preceding the Reed-Solomon code decoder 28. At the stage following the Reed-Solomon code decoder 28, the 8-bit parallel data is converted into parallel data or serial data corresponding to the output data Dout. A bit converter for converting data into data may be provided.

【0055】このように第2の実施の形態においても、
4ビットデータを記憶するメモリセルからなるセルアレ
イを持つメモリ部としてのフラッシュメモリ21,22
に対する誤り訂正符号としてバイト単位で誤り訂正を行
うリード・ソロモン符号が用いられるものであり、第1
の実施の形態と同様に、少ない誤り訂正数で充分な性能
を得ることができ、したがって誤り訂正回路の回路規模
を小さくできると共に、使用するメモリセルの数も少な
くできる。また、コントローラ23で誤り訂正を行うも
のであり、誤り訂正回路をフラッシュメモリ21,22
に内蔵する場合に比べて、より大きな誤り訂正回路を持
つことができる。そのため、多値記録の影響で多くの誤
りを発生するようになってもこれを訂正することが可能
になる。
As described above, also in the second embodiment,
Flash memories 21 and 22 as memory units having a cell array of memory cells for storing 4-bit data
The Reed-Solomon code that performs error correction in byte units is used as an error correction code for
As in the third embodiment, sufficient performance can be obtained with a small number of error corrections. Therefore, the circuit scale of the error correction circuit can be reduced, and the number of memory cells used can be reduced. The error correction is performed by the controller 23, and the error correction circuit is connected to the flash memories 21 and 22.
It is possible to have a larger error correction circuit as compared with a case where the error correction circuit is built in the device. Therefore, even if many errors occur due to the influence of multi-level recording, it is possible to correct them.

【0056】なお、上述実施の形態においては、2セル
分のデータを1バイトとしたが、バイト化するセル数は
2セルに限らず、例えば1セル分のデータを1バイトと
したり、あるいは3セル分のデータを1バイトとするな
ど種々の変形が考えられる。また、上述実施の形態にお
いては、記憶システムとしてフラッシュメモリを例とし
たが、この発明は、フラッシュメモリに限らず、他の半
導体メモリなど種々の記憶システムに対しても適用可能
である。
In the above-described embodiment, the data for two cells is one byte. However, the number of cells to be converted into bytes is not limited to two cells. For example, the data for one cell is one byte, or three bytes. Various modifications are conceivable, such as making the data for a cell one byte. Further, in the above-described embodiment, a flash memory is taken as an example of a storage system. However, the present invention is not limited to a flash memory but can be applied to various storage systems such as other semiconductor memories.

【0057】[0057]

【発明の効果】この発明によれば、多ビットのデータを
記憶するメモリセルからなるメモリに対する誤り訂正符
号としてバイト単位で誤り訂正を行うリード・ソロモン
符号が用いられるものであり、少ない誤り訂正数で充分
な性能を得、誤り訂正回路の回路規模を小さくすると共
に、使用するメモリセルの数も少なくできるという効果
がある。
According to the present invention, a Reed-Solomon code for performing error correction on a byte-by-byte basis is used as an error correction code for a memory composed of memory cells storing multi-bit data. In this case, sufficient performance can be obtained, the circuit scale of the error correction circuit can be reduced, and the number of memory cells used can be reduced.

【図面の簡単な説明】[Brief description of the drawings]

【図1】第1の実施の形態としてのフラッシュメモリの
構成を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration of a flash memory according to a first embodiment.

【図2】短縮化リード・ソロモン符号の例を示す図であ
る。
FIG. 2 is a diagram illustrating an example of a shortened Reed-Solomon code.

【図3】ビット変換の動作を説明するための図である。FIG. 3 is a diagram for explaining an operation of bit conversion.

【図4】第2の実施の形態としてのメモリカードの構成
を示すブロック図である。
FIG. 4 is a block diagram illustrating a configuration of a memory card according to a second embodiment.

【図5】セルアレイの構造を示す図である。FIG. 5 is a diagram showing a structure of a cell array.

【図6】メモリセルの構造を示す図である。FIG. 6 is a diagram showing a structure of a memory cell.

【図7】メモリセルの電圧分布を示す図である。FIG. 7 is a diagram showing a voltage distribution of a memory cell.

【図8】短縮化ハミング符号の例を示す図である。FIG. 8 is a diagram illustrating an example of a shortened Hamming code.

【図9】短縮化ハミング符号を用いた誤り訂正回路を組
み込んだフラッシュメモリの構成を示すブロック図であ
る。
FIG. 9 is a block diagram showing a configuration of a flash memory incorporating an error correction circuit using a shortened Hamming code.

【図10】短縮化BCH符号の例を示す図である。FIG. 10 is a diagram illustrating an example of a shortened BCH code.

【図11】BCH符号を用いた誤り訂正回路を組み込ん
だフラッシュメモリの構成を示すブロック図である。
FIG. 11 is a block diagram showing a configuration of a flash memory incorporating an error correction circuit using a BCH code.

【図12】短縮化BCH符号を用いた誤り訂正回路をコ
ントローラに備えるメモリカードの構成を示すブロック
図である。
FIG. 12 is a block diagram illustrating a configuration of a memory card including an error correction circuit using a shortened BCH code in a controller.

【図13】多値記録を行う場合にメモリセルに与える電
荷を示す図である。
FIG. 13 is a diagram showing electric charges applied to a memory cell when performing multi-level recording.

【図14】多値記録を行うメモリセルの電圧分布を示す
図である。
FIG. 14 is a diagram showing a voltage distribution of a memory cell for performing multi-level recording.

【図15】短縮化BCH符号を用いた誤り訂正回路を組
み込んだ多値記録フラッシュメモリの構成を示すブロッ
ク図である。
FIG. 15 is a block diagram showing a configuration of a multi-level recording flash memory incorporating an error correction circuit using a shortened BCH code.

【符号の説明】[Explanation of symbols]

10・・・フラッシュメモリ、11・・・セルアレイ、
12・・・符号化器、13・・・8ビット/4ビット変
換器、14・・・4ビット/8ビット変換器、15・・
・リード・ソロモン符号復号器、20・・・メモリカー
ド、21,22・・・フラッシュメモリ、23・・・コ
ントローラ、24・・・カードインタフェース、25・
・・符号化器、26・・・8ビット/4ビット変換器、
27・・・4ビット/8ビット変換器、28・・・リー
ド・ソロモン符号復号器、29・・・フラッシュインタ
フェース
10: flash memory, 11: cell array,
12 ... encoder, 13 ... 8 bit / 4 bit converter, 14 ... 4 bit / 8 bit converter, 15 ...
・ Reed-Solomon code decoder, 20 ・ ・ ・ Memory card, 21,22 ・ ・ ・ Flash memory, 23 ・ ・ ・ Controller, 24 ・ ・ ・ Card interface, 25 ・
..Encoder, 26... 8 bit / 4 bit converter,
27: 4-bit / 8-bit converter, 28: Reed-Solomon code decoder, 29: Flash interface

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 複数のメモリセルを有し、それぞれのメ
モリセルが多ビットのデータを記憶するセルアレイと、 入力データをリード・ソロモン符号に変換して上記セル
アレイに書き込むための書き込みデータを得る符号化器
と、 上記セルアレイより読み出される読み出しデータに誤り
訂正処理を施して出力データを得るリード・ソロモン符
号復号器とを備えることを特徴とするメモリ装置。
1. A cell array having a plurality of memory cells, each memory cell storing multi-bit data, and a code for converting input data into a Reed-Solomon code to obtain write data for writing to the cell array. And a Reed-Solomon code decoder for performing error correction processing on read data read from the cell array to obtain output data.
【請求項2】 上記入力データおよび出力データは所定
ビットのパラレルデータまたはシリアルデータであっ
て、 上記符号化器の前段に、上記入力データを1バイトのパ
ラレルデータに変換する第1のビット変換器を設け、 上記リード・ソロモン符号復号器の後段に、この復号器
より出力される1バイトのパラレルデータを上記所定ビ
ットのパラレルデータまたはシリアルデータに変換する
第2のビット変換器を設けることを特徴とする請求項1
に記載のメモリ装置。
2. The input data and the output data are parallel data or serial data of a predetermined bit, and a first bit converter for converting the input data into 1-byte parallel data at a stage before the encoder. And a second bit converter for converting the one-byte parallel data output from the decoder into the parallel data or the serial data of the predetermined bit is provided at a subsequent stage of the Reed-Solomon code decoder. Claim 1
A memory device according to claim 1.
【請求項3】 上記セルアレイの複数のメモリセルは、
それぞれmビット(mは2以上の整数)のデータを記憶
するものであって、 上記符号化器と上記セルアレイとの間に、上記符号化器
より出力される1バイトのパラレルデータをmビットの
パラレルデータに変換する第3のビット変換器を設け、 上記セルアレイと上記リード・ソロモン符号復号器との
間に、上記セルアレイより出力されるmビットのパラレ
ルデータを1バイトのパラレルデータに変換する第4の
ビット変換器を設けることを特徴とする請求項1に記載
のメモリ装置。
3. The memory cell of the cell array,
Each of them stores m-bit data (m is an integer of 2 or more). Between the encoder and the cell array, 1-byte parallel data output from the encoder is m-bit data. A third bit converter for converting the data into parallel data; and a third bit converter for converting m-bit parallel data output from the cell array into 1-byte parallel data between the cell array and the Reed-Solomon code decoder. The memory device according to claim 1, further comprising four bit converters.
【請求項4】 上記リード・ソロモン符号は、上記セル
アレイの1個または複数個のメモリセルで記憶し得る複
数ビットを1バイトとすることを特徴とする請求項1に
記載のメモリ装置。
4. The memory device according to claim 1, wherein the Reed-Solomon code has a plurality of bits that can be stored in one or a plurality of memory cells of the cell array as one byte.
【請求項5】 複数のメモリセルを有し、それぞれのメ
モリセルが多ビットのデータを記憶するセルアレイを持
つメモリ部と、 上記メモリ部に対してデータの書き込みや読み出しを行
うためのコントローラとを備え、 上記コントローラは、入力データをリード・ソロモン符
号に変換して上記メモリ部に書き込むための書き込みデ
ータを得る符号化器と、上記メモリ部より読み出される
読み出しデータに誤り訂正処理を施して出力データを得
るリード・ソロモン符号復号器とを有することを特徴と
するメモリ装置。
5. A memory section having a plurality of memory cells, each memory cell having a cell array storing multi-bit data, and a controller for writing and reading data to and from the memory section. An encoder for converting input data into a Reed-Solomon code to obtain write data for writing to the memory unit; and performing an error correction process on read data read from the memory unit to output data. And a Reed-Solomon code decoder for obtaining:
【請求項6】 上記メモリ部は、1個または複数個のフ
ラッシュメモリで構成されることを特徴とする請求項5
に記載のメモリ装置。
6. The memory unit according to claim 5, wherein the memory unit comprises one or a plurality of flash memories.
A memory device according to claim 1.
JP00995798A 1998-01-21 1998-01-21 Memory device Expired - Lifetime JP4099844B2 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP00995798A JP4099844B2 (en) 1998-01-21 1998-01-21 Memory device
CN99800053A CN1256005A (en) 1998-01-21 1999-01-21 Encoding method and memory device
DE69932962T DE69932962T2 (en) 1998-01-21 1999-01-21 Coding method and memory arrangement
EP04023697A EP1496519B1 (en) 1998-01-21 1999-01-21 Encoding method and memory apparatus
EP99901130A EP0969480A4 (en) 1998-01-21 1999-01-21 Encoding method and memory device
US09/381,661 US6732322B1 (en) 1998-01-21 1999-01-21 Encoding method and memory device
PCT/JP1999/000217 WO1999038170A1 (en) 1998-01-21 1999-01-21 Encoding method and memory device
KR10-1999-7008621A KR100535291B1 (en) 1998-01-21 1999-01-21 Encoding method and memory apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00995798A JP4099844B2 (en) 1998-01-21 1998-01-21 Memory device

Publications (2)

Publication Number Publication Date
JPH11213692A true JPH11213692A (en) 1999-08-06
JP4099844B2 JP4099844B2 (en) 2008-06-11

Family

ID=11734437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00995798A Expired - Lifetime JP4099844B2 (en) 1998-01-21 1998-01-21 Memory device

Country Status (1)

Country Link
JP (1) JP4099844B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030019858A (en) * 2001-08-31 2003-03-07 미쓰비시덴키 가부시키가이샤 Memory circuit
JP2005056394A (en) * 2003-07-18 2005-03-03 Toshiba Corp Storage device and memory card
KR100764750B1 (en) 2006-10-16 2007-10-08 삼성전자주식회사 Flash memory device with flexible address mapping scheme
JP2009524152A (en) * 2006-01-20 2009-06-25 マーベル ワールド トレード リミテッド Flash memory having coding and signal processing functions
US9495518B2 (en) 2011-02-28 2016-11-15 Samsung Electronics Co., Ltd. Method of reliably reading data stored in multi-level cell (MLC) non-volatile memory
JP2018133087A (en) * 2017-02-17 2018-08-23 インフィネオン テクノロジーズ アクチエンゲゼルシャフトInfineon Technologies AG Processing data in memory cells of memory

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030019858A (en) * 2001-08-31 2003-03-07 미쓰비시덴키 가부시키가이샤 Memory circuit
JP2005056394A (en) * 2003-07-18 2005-03-03 Toshiba Corp Storage device and memory card
US7502970B2 (en) 2003-07-18 2009-03-10 Kabushiki Kaisha Toshiba Memory device and memory card
JP2009524152A (en) * 2006-01-20 2009-06-25 マーベル ワールド トレード リミテッド Flash memory having coding and signal processing functions
KR100764750B1 (en) 2006-10-16 2007-10-08 삼성전자주식회사 Flash memory device with flexible address mapping scheme
US9495518B2 (en) 2011-02-28 2016-11-15 Samsung Electronics Co., Ltd. Method of reliably reading data stored in multi-level cell (MLC) non-volatile memory
JP2018133087A (en) * 2017-02-17 2018-08-23 インフィネオン テクノロジーズ アクチエンゲゼルシャフトInfineon Technologies AG Processing data in memory cells of memory

Also Published As

Publication number Publication date
JP4099844B2 (en) 2008-06-11

Similar Documents

Publication Publication Date Title
KR100535291B1 (en) Encoding method and memory apparatus
US11038536B2 (en) Semiconductor memory device and method of controlling the same
USRE49253E1 (en) Semiconductor memory device
US8327230B2 (en) Data structure for flash memory and data reading/writing method thereof
US8001450B2 (en) Semiconductor memory device capable of changing ECC code length
US20040153902A1 (en) Serial flash integrated circuit having error detection and correction
US8635508B2 (en) Systems and methods for performing concatenated error correction
US20100251075A1 (en) Memory controller and semiconductor memory apparatus
US8234539B2 (en) Correction of errors in a memory array
JPH11283396A (en) Memory device
US8327218B2 (en) Storage device with improved read/write speed and corresponding data process method
US6990623B2 (en) Method for error detection/correction of multilevel cell memory and multilevel cell memory having error detection/correction function
US10191801B2 (en) Error correction code management of write-once memory codes
CN111540401A (en) Memory system and memory module
JPH11213692A (en) Memory device
US10810080B2 (en) Memory device selectively correcting an error in data during a read operation, memory system including the same, and operating method of memory system
JP2013131095A (en) Memory controller, memory device and memory control method
JPH11212876A (en) Coding method and memory using the same
US20020174397A1 (en) Method for error detection/correction of multilevel cell memory and multilevel cell memory having error detection/correction function
JPH11213693A (en) Memory device
KR20130077401A (en) Semiconductor memory device and operating method thereof
JPH1173797A (en) Storage device
JP3866674B2 (en) Storage system
CN116719666A (en) Semiconductor memory device and repair method thereof

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050114

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050114

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070803

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: 20080226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080310

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110328

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130328

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140328

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term