Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6439463B2 - Semiconductor memory device and method for controlling semiconductor memory device - Google Patents
[go: Go Back, main page]

JP6439463B2 - Semiconductor memory device and method for controlling semiconductor memory device - Google Patents

Semiconductor memory device and method for controlling semiconductor memory device Download PDF

Info

Publication number
JP6439463B2
JP6439463B2 JP2015015702A JP2015015702A JP6439463B2 JP 6439463 B2 JP6439463 B2 JP 6439463B2 JP 2015015702 A JP2015015702 A JP 2015015702A JP 2015015702 A JP2015015702 A JP 2015015702A JP 6439463 B2 JP6439463 B2 JP 6439463B2
Authority
JP
Japan
Prior art keywords
data
data group
parity
circuit
write
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
JP2015015702A
Other languages
Japanese (ja)
Other versions
JP2016143068A (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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2015015702A priority Critical patent/JP6439463B2/en
Publication of JP2016143068A publication Critical patent/JP2016143068A/en
Application granted granted Critical
Publication of JP6439463B2 publication Critical patent/JP6439463B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、半導体記憶装置および半導体記憶装置の制御方法に関する。   The present invention relates to a semiconductor memory device and a method for controlling the semiconductor memory device.

半導体記憶装置内にデータとともにパリティデータを記憶し、パリティデータを用いて半導体記憶装置から読み出されるデータの誤りを検出または訂正する手法が知られている。例えば、複数ビットのデータをそれぞれ記憶する複数のメモリ素子のビット位置に対応して複数の誤り検出回路を設けることで、バースト誤りを発生させたメモリ素子が検出される(例えば、特許文献1参照)。また、メモリセルアレイから読み出す2つのデータ群の一方を選択的に出力する半導体記憶装置において、データ群の選択後、データ群に共通のパリティデータを用いて誤りを訂正することで、誤り訂正回路の回路規模は削減される(例えば、特許文献2参照)。   There is known a technique of storing parity data together with data in a semiconductor memory device, and detecting or correcting an error in data read from the semiconductor memory device using the parity data. For example, by providing a plurality of error detection circuits corresponding to the bit positions of a plurality of memory elements that respectively store a plurality of bits of data, a memory element that has caused a burst error is detected (see, for example, Patent Document 1). ). Further, in a semiconductor memory device that selectively outputs one of two data groups read from the memory cell array, the error correction circuit can be configured to correct errors using parity data common to the data groups after the data groups are selected. The circuit scale is reduced (see, for example, Patent Document 2).

特開平11−65944号公報Japanese Patent Laid-Open No. 11-65944 特開平5−2898号公報JP-A-5-2898

メモリセルアレイから読み出されるデータの誤りを訂正する場合、誤りの訂正時間は、データの読み出し要求を受けてからデータを出力するまでのデータ読み出し時間に含まれる。このため、誤り訂正回路を有する半導体記憶装置のデータの読み出し時間は、誤り訂正回路を持たない半導体記憶装置のデータの読み出し時間に比べて長くなる。   When correcting an error in data read from the memory cell array, the error correction time is included in the data read time from when the data read request is received until the data is output. For this reason, the data read time of the semiconductor memory device having the error correction circuit is longer than the data read time of the semiconductor memory device having no error correction circuit.

また、メモリセルアレイから読み出される並列データを直列データに変換して出力するシリアルメモリに誤り訂正回路が搭載される場合、並列データの誤り訂正が実行された後、先頭データが出力端子から出力される。したがって、先頭データの出力タイミングは、誤り訂正回路による誤り訂正時間に依存して変化する。   Further, when an error correction circuit is mounted on a serial memory that converts parallel data read from the memory cell array into serial data and outputs the data, the head data is output from the output terminal after error correction of the parallel data is executed. . Therefore, the output timing of the head data changes depending on the error correction time by the error correction circuit.

1つの側面では、本件開示の半導体記憶装置および半導体記憶装置の制御方法は、誤り訂正回路を有し、データを直列に出力する半導体記憶装置におけるデータの読み出し時間を短縮することを目的とする。   In one aspect, a semiconductor memory device and a method for controlling the semiconductor memory device disclosed herein are intended to shorten a data read time in a semiconductor memory device that includes an error correction circuit and outputs data in series.

一つの観点によれば、半導体記憶装置は、第1のデータ群と、第1のデータ群に対応する第1のパリティデータ群と、第1のデータ群と異なる第2のデータ群と、第2のデータ群に対応する第2のパリティデータ群とを並列に出力するメモリ部と、第1のパリティデータ群を用いて第1のデータ群の誤りを訂正して第1の訂正データ群を生成する第1の誤り訂正回路と、第2のパリティデータ群を用いて第2のデータ群の誤りを訂正して第2の訂正データ群を生成する第2の誤り訂正回路と、第1の訂正データ群に含まれるデータと、第2の訂正データ群に含まれるデータとを順次に出力する出力回路とを有し、第1のデータ群のビット数は、第2のデータ群のビット数より少ない
別の観点によれば、半導体記憶装置は、第1のデータ群と、第1のデータ群に対応する第1のパリティデータ群と、第1のデータ群と異なる第2のデータ群と、第2のデータ群に対応する第2のパリティデータ群とを並列に出力するメモリ部と、第1のパリティデータ群を用いて第1のデータ群の誤りを訂正して第1の訂正データ群を生成する第1の誤り訂正回路と、第2のパリティデータ群を用いて第2のデータ群の誤りを訂正して第2の訂正データ群を生成する第2の誤り訂正回路と、第1の訂正データ群に含まれるデータと、第2の訂正データ群に含まれるデータとを順次に出力する出力回路とを有し、第1の誤り訂正回路による第1のデータ群の誤り訂正時間は、第2の誤り訂正回路による第2のデータ群の誤り訂正時間より短い
According to one aspect, the semiconductor memory device includes a first data group, a first parity data group corresponding to the first data group, a second data group different from the first data group, A memory unit that outputs in parallel a second parity data group corresponding to two data groups, and correcting the error in the first data group using the first parity data group, A first error correction circuit for generating, a second error correction circuit for correcting a second data group error using the second parity data group to generate a second correction data group, and data contained in the correction data group, possess an output circuit for outputting the data included in the second correction data group sequentially, the number of bits of the first data group, the number of bits of the second data group Less .
According to another aspect, the semiconductor memory device includes a first data group, a first parity data group corresponding to the first data group, a second data group different from the first data group, A memory unit that outputs in parallel a second parity data group corresponding to two data groups, and correcting the error in the first data group using the first parity data group, A first error correction circuit for generating, a second error correction circuit for correcting a second data group error using the second parity data group to generate a second correction data group, An output circuit that sequentially outputs data included in the correction data group and data included in the second correction data group, and the error correction time of the first data group by the first error correction circuit is: It is shorter than the error correction time of the second data group by the second error correction circuit .

別の観点によれば、半導体記憶装置の制御方法は、第1のデータ群と、前記第1のデータ群に対応する第1のパリティデータ群と、前記第1のデータ群と異なる第2のデータ群と、前記第2のデータ群に対応する第2のパリティデータ群とをメモリ部から並列に出力し、前記第1のパリティデータ群を用いて前記第1のデータ群の誤りを訂正して第1の訂正データ群を生成し、前記第2のパリティデータ群を用いて前記第2のデータ群の誤りを訂正して第2の訂正データ群を生成し、前記第1の訂正データ群に含まれるデータと、前記第2の訂正データ群に含まれるデータとを順次に出力し、前記第1のデータ群のビット数は、前記第2のデータ群のビット数より少ない
別の観点によれば、半導体記憶装置の制御方法は、第1のデータ群と、前記第1のデータ群に対応する第1のパリティデータ群と、前記第1のデータ群と異なる第2のデータ群と、前記第2のデータ群に対応する第2のパリティデータ群とをメモリ部から並列に出力し、前記第1のパリティデータ群を用いて前記第1のデータ群の誤りを訂正して第1の訂正データ群を生成し、前記第2のパリティデータ群を用いて前記第2のデータ群の誤りを訂正して第2の訂正データ群を生成し、前記第1の訂正データ群に含まれるデータと、前記第2の訂正データ群に含まれるデータとを順次に出力し、前記第1のデータ群の誤り訂正時間は、前記第2のデータ群の誤り訂正時間より短い。
According to another aspect, a method for controlling a semiconductor memory device includes a first data group, a first parity data group corresponding to the first data group, and a second data different from the first data group. A data group and a second parity data group corresponding to the second data group are output in parallel from the memory unit, and an error in the first data group is corrected using the first parity data group. The first correction data group is generated, the second parity data group is used to correct the error of the second data group, and the second correction data group is generated. The first correction data group And the data included in the second correction data group are sequentially output, and the number of bits of the first data group is smaller than the number of bits of the second data group .
According to another aspect, a method for controlling a semiconductor memory device includes a first data group, a first parity data group corresponding to the first data group, and a second data different from the first data group. A data group and a second parity data group corresponding to the second data group are output in parallel from the memory unit, and an error in the first data group is corrected using the first parity data group. The first correction data group is generated, the second parity data group is used to correct the error of the second data group, and the second correction data group is generated. The first correction data group And the data included in the second correction data group are sequentially output, and the error correction time of the first data group is shorter than the error correction time of the second data group.

本件開示の半導体記憶装置および半導体記憶装置の制御方法は、誤り訂正回路を有し、データを直列に出力する半導体記憶装置におけるデータの読み出し時間を短縮することができる。   The semiconductor memory device and the method for controlling the semiconductor memory device disclosed herein have an error correction circuit, and can shorten the data read time in the semiconductor memory device that outputs data in series.

半導体記憶装置および半導体記憶装置の制御方法の一実施形態を示す図である。It is a figure which shows one Embodiment of the control method of a semiconductor memory device and a semiconductor memory device. 図1に示す半導体記憶装置の読み出し動作の一例を示す図である。FIG. 3 is a diagram illustrating an example of a read operation of the semiconductor memory device illustrated in FIG. 1. 半導体記憶装置および半導体記憶装置の別の実施形態を示す図である。It is a figure which shows another embodiment of a semiconductor memory device and a semiconductor memory device. 図3に示す入出力制御回路の一例を示す図である。FIG. 4 is a diagram illustrating an example of an input / output control circuit illustrated in FIG. 3. 図3に示すパリティ制御回路40の一例を示す図である。It is a figure which shows an example of the parity control circuit 40 shown in FIG. 図5に示す読み出しパリティ生成回路、書き込みパリティ生成回路、シンドローム生成回路およびシンドロームデコーダで使用されるパリティ検査行列の一例を示す図である。FIG. 6 is a diagram illustrating an example of a parity check matrix used in the read parity generation circuit, the write parity generation circuit, the syndrome generation circuit, and the syndrome decoder illustrated in FIG. 5. 図5に示す読み出しパリティ生成回路、シンドローム生成回路、シンドロームデコーダおよび誤り訂正回路の一例を示す図である。FIG. 6 is a diagram illustrating an example of a read parity generation circuit, a syndrome generation circuit, a syndrome decoder, and an error correction circuit illustrated in FIG. 5. 図7に示す読み出しパリティ生成回路およびシンドローム生成回路を融合し、排他的論理和ゲートを並列に配置した場合の一例を示す図である。FIG. 8 is a diagram illustrating an example in which the read parity generation circuit and the syndrome generation circuit illustrated in FIG. 7 are merged and exclusive OR gates are arranged in parallel. 図5に示す置き換え回路および書き込みパリティ生成回路の一例を示す図である。FIG. 6 is a diagram illustrating an example of a replacement circuit and a write parity generation circuit illustrated in FIG. 5. 図3に示すパリティ制御回路50の一例を示す図である。FIG. 4 is a diagram illustrating an example of a parity control circuit 50 illustrated in FIG. 3. 図10に示す読み出しパリティ生成回路、書き込みパリティ生成回路、シンドローム生成回路およびシンドロームデコーダで使用されるパリティ検査行列の一例を示す図である。FIG. 11 is a diagram illustrating an example of a parity check matrix used in the read parity generation circuit, the write parity generation circuit, the syndrome generation circuit, and the syndrome decoder illustrated in FIG. 10. 図10に示す誤り訂正回路の一例を示す図である。It is a figure which shows an example of the error correction circuit shown in FIG. 図10に示す置き換え回路の一例を示す図である。It is a figure which shows an example of the replacement circuit shown in FIG. 図3に示す半導体記憶装置の読み出し動作の一例を示す図である。FIG. 4 is a diagram illustrating an example of a read operation of the semiconductor memory device illustrated in FIG. 3. 図14に示す読み出し動作の要部の一例を示す図である。It is a figure which shows an example of the principal part of the read-out operation | movement shown in FIG. 図3に示す半導体記憶装置の書き込み動作の一例を示す図である。FIG. 4 is a diagram showing an example of a write operation of the semiconductor memory device shown in FIG. 3. 半導体記憶装置および半導体記憶装置の制御方法の別の実施形態を示す図である。It is a figure which shows another embodiment of the control method of a semiconductor memory device and a semiconductor memory device. 図17に示す入出力制御回路の一例を示す図である。FIG. 18 is a diagram illustrating an example of an input / output control circuit illustrated in FIG. 17. 図17に示す半導体記憶装置の読み出し動作の一例を示す図である。FIG. 18 is a diagram illustrating an example of a read operation of the semiconductor memory device illustrated in FIG. 17. 図17に示す半導体記憶装置の書き込み動作の一例を示す図である。FIG. 18 is a diagram showing an example of a write operation of the semiconductor memory device shown in FIG. 17.

以下、図面を用いて実施形態を説明する。信号が伝達される信号線には、信号名と同じ符号を使用する。先頭に”/”の付いている信号は、負論理を示す。図中の二重の四角印は、外部端子を示す。外部端子は、例えば、半導体チップ上のパッド、あるいは半導体チップが収納されるパッケージのリードである。外部端子を介して供給される信号には、端子名と同じ符号を使用する。   Hereinafter, embodiments will be described with reference to the drawings. The same reference numerals as the signal names are used for signal lines through which signals are transmitted. A signal prefixed with “/” indicates negative logic. Double square marks in the figure indicate external terminals. The external terminal is, for example, a pad on a semiconductor chip or a lead of a package in which the semiconductor chip is stored. For the signal supplied via the external terminal, the same symbol as the terminal name is used.

図1は、半導体記憶装置および半導体記憶装置の制御方法の一実施形態を示す図である。図1に示す半導体記憶装置MEM1は、メモリ部1、誤り訂正回路2、3および出力回路4を有する。図1では、メモリ部1からデータを読み出すための要素を示し、メモリ部1にデータを書き込む要素の記載は省略している。   FIG. 1 is a diagram illustrating an embodiment of a semiconductor memory device and a method for controlling the semiconductor memory device. A semiconductor memory device MEM1 illustrated in FIG. 1 includes a memory unit 1, error correction circuits 2, 3 and an output circuit 4. In FIG. 1, elements for reading data from the memory unit 1 are shown, and elements for writing data to the memory unit 1 are not shown.

メモリ部1は、データ群RDG1と、データ群RDG1に対応するパリティデータ群RPG1と、データ群RDG1と異なるデータ群RDG2と、データ群RDG2に対応するパリティデータ群RPG2とを記憶する複数のメモリセルを有する。例えば、データ群RDG1は、m+1ビット(mは0以上の整数)であり、データ群RDG2は、n+1ビット(nは0以上の整数)である。   The memory unit 1 includes a plurality of memory cells that store a data group RDG1, a parity data group RPG1 corresponding to the data group RDG1, a data group RDG2 different from the data group RDG1, and a parity data group RPG2 corresponding to the data group RDG2. Have For example, the data group RDG1 has m + 1 bits (m is an integer of 0 or more), and the data group RDG2 has n + 1 bits (n is an integer of 0 or more).

メモリ部1は、読み出し要求に応じて、データ群RDG1、RDG2およびパリティデータ群RPG1、RPG2を並列に出力する。例えば、メモリ部1は、データ群RDG1、RDG2およびパリティデータ群RPG1、RPG2をそれぞれ含む複数のデータブロックを記憶する。メモリ部1が複数のデータブロックを記憶する場合、各データブロックは、半導体記憶装置MEM1の外部から供給されるアドレスにより識別される。   The memory unit 1 outputs the data groups RDG1, RDG2 and the parity data groups RPG1, RPG2 in parallel in response to the read request. For example, the memory unit 1 stores a plurality of data blocks each including data groups RDG1, RDG2 and parity data groups RPG1, RPG2. When the memory unit 1 stores a plurality of data blocks, each data block is identified by an address supplied from the outside of the semiconductor memory device MEM1.

誤り訂正回路2は、読み出し要求に基づく読み出し動作において、パリティデータ群RPG1を用いてデータ群RDG1の誤りを訂正し、訂正データ群CRDG1を生成する。誤り訂正回路3は、パリティデータ群RPG2を用いてデータ群RDG2の誤りを訂正し、訂正データ群CRDG2を生成する。メモリ部1に記憶されるデータの誤りを、データ群RDG1、RDG2毎に訂正することで、データ群RDG1、RDG2の誤りをまとめて訂正する場合に比べて、訂正時間を短縮することができる。   In the read operation based on the read request, the error correction circuit 2 corrects the error of the data group RDG1 using the parity data group RPG1, and generates a corrected data group CRDG1. The error correction circuit 3 corrects an error in the data group RDG2 using the parity data group RPG2, and generates a corrected data group CRDG2. By correcting errors in the data stored in the memory unit 1 for each of the data groups RDG1 and RDG2, the correction time can be shortened compared to correcting errors in the data groups RDG1 and RDG2 collectively.

出力回路4は、読み出し動作において、まず、訂正データ群CRDG1から先頭データCRDG1[m]を選択し、選択した先頭データCRDG1[m]を外部端子を介して半導体記憶装置の外部に出力する。次に、出力回路4は、訂正データ群CRDG1のうち先頭データCRDG1「m」を除くデータCRDG1[m−1」、...、CRDG1[0]を順次に出力する。なお、訂正データ群CRDG1が1ビットの場合、出力回路4は、1ビットの訂正データ群CRDG1を先頭データとして出力し、先頭データを除くデータは存在しないため出力しない。   In the read operation, the output circuit 4 first selects the head data CRDG1 [m] from the correction data group CRDG1, and outputs the selected head data CRDG1 [m] to the outside of the semiconductor memory device via the external terminal. Next, the output circuit 4 sequentially outputs data CRDG1 [m−1],..., CRDG1 [0] excluding the head data CRDG1 “m” in the correction data group CRDG1. When the correction data group CRDG1 is 1 bit, the output circuit 4 outputs the 1-bit correction data group CRDG1 as the top data, and does not output because there is no data other than the top data.

出力回路4は、訂正データ群CRDG1の出力に続き、訂正データ群CRDG2に含まれるデータCRDG2[n」、CRDG2[n−1]、...、CRDG2[0]を順次に出力する。このように、出力回路4は、並列の訂正データ群CRDG1、CRDG2を、出力順が訂正データ群CRDG1、CRDG2の順になるように直列に変換し、変換した直列のデータを外部端子に順次に出力する。   The output circuit 4 sequentially outputs data CRDG2 [n], CRDG2 [n−1],..., CRDG2 [0] included in the correction data group CRDG2 following the output of the correction data group CRDG1. As described above, the output circuit 4 converts the parallel correction data groups CRDG1 and CRDG2 in series so that the output order is the order of the correction data groups CRDG1 and CRDG2, and sequentially outputs the converted serial data to the external terminal. To do.

図2は、図1に示す半導体記憶装置MEM1の読み出し動作の一例を示す。図2に示す矩形は、半導体記憶装置の各回路の動作を示す。図2(a)は、データ群RDG1が1ビットであり、データ群RDG2が7ビットである場合の動作を示す。ハミング符号方式を採用する場合、2ビットのパリティデータ群RPG1がデータ群RDG1の誤りの訂正に使用され、4ビットのパリティデータ群RPG2がデータ群RDG2の誤りの訂正に使用される。   FIG. 2 shows an example of the read operation of the semiconductor memory device MEM1 shown in FIG. The rectangle shown in FIG. 2 indicates the operation of each circuit of the semiconductor memory device. FIG. 2A shows the operation when the data group RDG1 is 1 bit and the data group RDG2 is 7 bits. When the Hamming code method is employed, the 2-bit parity data group RPG1 is used for error correction of the data group RDG1, and the 4-bit parity data group RPG2 is used for error correction of the data group RDG2.

図2(b)は、データ群RDG1、RDG2がそれぞれ4ビットである場合の動作を示す。ハミング符号方式を採用する場合、3ビットのパリティデータ群RPG1、RPG2が、データ群RDG1、RDG2の誤りの訂正にそれぞれ使用される。図2(c)は、8ビットのデータ群RDGを1つの誤り訂正回路で訂正し、訂正データ群CRDGを生成する場合の動作(比較例)を示す。ハミング符号方式を採用する場合、4ビットのパリティデータ群RPGが、データ群RDGの誤りの訂正に使用される。   FIG. 2B shows the operation when the data groups RDG1 and RDG2 each have 4 bits. When the Hamming code method is adopted, 3-bit parity data groups RPG1 and RPG2 are used for error correction of the data groups RDG1 and RDG2, respectively. FIG. 2C shows an operation (comparative example) when an 8-bit data group RDG is corrected by one error correction circuit to generate a corrected data group CRDG. When the Hamming code method is employed, a 4-bit parity data group RPG is used to correct an error in the data group RDG.

図2(a)および図2(b)において、半導体記憶装置MEM1は、読み出し要求RRQに基づいてメモリ部1を動作させる。メモリ部1は、データ群RDG1、RDG2およびパリティデータ群RPG1、RPG2を出力する。誤り訂正回路2は、パリティデータ群RPG1を用いてデータ群RDG1の誤りを訂正し、訂正データ群CRDG1(1ビット)を出力する。誤り訂正回路3は、パリティデータ群RPG2を用いてデータ群RDG2の誤りを訂正し、訂正データ群CRDG2(7ビット)を、訂正データ群CRDG1に続いて順次に出力する。   2A and 2B, the semiconductor memory device MEM1 operates the memory unit 1 based on the read request RRQ. The memory unit 1 outputs data groups RDG1 and RDG2 and parity data groups RPG1 and RPG2. The error correction circuit 2 corrects an error in the data group RDG1 using the parity data group RPG1, and outputs a corrected data group CRDG1 (1 bit). The error correction circuit 3 corrects the error of the data group RDG2 using the parity data group RPG2, and sequentially outputs the corrected data group CRDG2 (7 bits) following the correction data group CRDG1.

図2(a)において、誤り訂正回路2が処理する符号長(1+2ビット)は、誤り訂正回路3が処理する符号長(7+4ビット)より少ない。このため、誤り訂正回路2によるデータ群RDG1の誤り訂正時間は、誤り訂正回路3によるデータ群RDG2の誤り訂正時間に比べて短い。このため、出力回路4は、誤り訂正回路3が、データ群RDG2の誤りの訂正を実行中に、最初のデータの出力を開始することができる。すなわち、出力回路4から出力される先頭データを、訂正データ群CRDG1とすることで、読み出し要求RRQを受けてから最初のデータを出力するまでの時間である読み出しアクセス時間tRDを、図2(b)、図2(c)に比べて短くすることができる。なお、読み出しアクセス時間tRDを短縮は、訂正データ群CRDG1の生成時間の短縮により短縮されるが、訂正データ群CRDG2の生成時間の短縮によっては短縮されない。このため、先頭で出力される訂正データ群CRDG1の生成時間の短縮が、読み出しアクセス時間tRDを短縮するために重要である。   In FIG. 2A, the code length (1 + 2 bits) processed by the error correction circuit 2 is smaller than the code length (7 + 4 bits) processed by the error correction circuit 3. For this reason, the error correction time of the data group RDG1 by the error correction circuit 2 is shorter than the error correction time of the data group RDG2 by the error correction circuit 3. Therefore, the output circuit 4 can start outputting the first data while the error correction circuit 3 is executing the correction of the error of the data group RDG2. That is, by setting the head data output from the output circuit 4 as the correction data group CRDG1, the read access time tRD, which is the time from when the read request RRQ is received until the first data is output, is shown in FIG. ), Which can be shortened compared to FIG. Note that shortening the read access time tRD is shortened by shortening the generation time of the correction data group CRDG1, but not shortening by shortening the generation time of the correction data group CRDG2. For this reason, shortening the generation time of the correction data group CRDG1 output at the head is important for reducing the read access time tRD.

図2(b)において、誤り訂正回路2、3が処理する符号長(7ビット)は、互いに同じであるため、誤り訂正回路2によるデータ群RDG1の誤り訂正時間は、誤り訂正回路3によるデータ群RDG2の誤り訂正時間と同じである。しかしながら、メモリ部1から読み出される8ビットのデータを2つのデータ群RDG1、RDG2に分けて、誤り訂正回路2、3によりそれぞれの誤りを訂正することで、読み出しアクセス時間tRDを、図2(c)に比べて短くすることができる。   In FIG. 2B, since the code lengths (7 bits) processed by the error correction circuits 2 and 3 are the same, the error correction time of the data group RDG1 by the error correction circuit 2 is the data by the error correction circuit 3. It is the same as the error correction time of the group RDG2. However, the 8-bit data read from the memory unit 1 is divided into two data groups RDG1 and RDG2, and each error is corrected by the error correction circuits 2 and 3, so that the read access time tRD can be obtained as shown in FIG. ) Can be shortened.

以上、図1および図2に示す実施形態では、メモリ部1から並列に出力されるデータ群RDG1、RDG2の誤りを、誤り訂正回路2、3でそれぞれ訂正する。これにより、直列データのうちの先頭データを外部端子に出力する時間を、データ群RDG1、RDG2の誤りを1つの誤り訂正回路で訂正する場合に比べて早くすることができる。すなわち、読み出し要求を受けてから先頭データを出力するまでの読み出しアクセス時間tRDを、データ群RDG1、RDG2の誤りを1つの誤り訂正回路で訂正する場合に比べて短縮することができる。この結果、半導体記憶装置MEM1の性能を向上することができる。   As described above, in the embodiment shown in FIGS. 1 and 2, the error correction circuits 2 and 3 correct errors in the data groups RDG1 and RDG2 output in parallel from the memory unit 1, respectively. As a result, the time for outputting the head data of the serial data to the external terminal can be shortened compared with the case where the error of the data groups RDG1 and RDG2 is corrected by one error correction circuit. That is, the read access time tRD from when the read request is received until the head data is output can be shortened as compared with the case where the error of the data groups RDG1 and RDG2 is corrected by one error correction circuit. As a result, the performance of the semiconductor memory device MEM1 can be improved.

図3は、半導体記憶装置および半導体記憶装置の別の実施形態を示す図である。図3に示す半導体記憶装置MEM2は、SPI(Serial Peripheral Interface)方式のシリアルメモリであり、入力端子SIに直列に供給されるデータを記憶し、記憶しているデータを出力端子SOから直列に出力する。例えば、データの入力単位および出力単位は、8ビットであり、8ビットのデータは、アドレスA0−A1に応じて4つの8ビットの記憶領域(32ビット)のいずれかに記憶される。半導体記憶装置MEM2の読み出し動作および書き込み動作の例は、図14および図16で説明する。   FIG. 3 is a diagram illustrating another embodiment of the semiconductor memory device and the semiconductor memory device. The semiconductor memory device MEM2 shown in FIG. 3 is an SPI (Serial Peripheral Interface) type serial memory, stores data supplied in series to the input terminal SI, and outputs the stored data in series from the output terminal SO. To do. For example, the data input unit and output unit are 8 bits, and the 8-bit data is stored in one of four 8-bit storage areas (32 bits) according to the addresses A0 to A1. Examples of the read operation and the write operation of the semiconductor memory device MEM2 will be described with reference to FIGS.

半導体記憶装置MEM2は、メモリセルアレイ10、アドレスデコーダ20、読み書き制御回路30、パリティ制御回路40、50および入出力制御回路60を有する。   The semiconductor memory device MEM2 includes a memory cell array 10, an address decoder 20, a read / write control circuit 30, parity control circuits 40 and 50, and an input / output control circuit 60.

メモリセルアレイ10は、6ビットのアドレスIA0−IA5に応じて、64個のデータ群D0−D31(すなわち、2048ビット)を保持する複数のメモリセルを有する。メモリセルは、強誘電体メモリ、SRAM(Static Random Access Memory)、またはDRAM(Dynamic Random Access Memory)等のメモリセルである。メモリセルは、MRAM(Magnetoresistive Random Access Memory)のメモリセルでもよい。メモリセルアレイ10は、4ビットのデータD7、D15、D23、D31をアドレスIA0−IA5毎に保持する記憶領域M1を有する。メモリセルアレイ10は、28ビットのデータD0−D6、D8−D14、D16−D22、D24−D30をアドレスIA0−IA5毎に保持する記憶領域M2を有する。また、メモリセルアレイ10は、データD7、D15、D23、D31の誤りを訂正するための3ビットのパリティデータP0−P2をアドレスIA0−IA5毎に記憶する記憶領域MP1を有する。さらに、メモリセルアレイ10は、データD0−D6、D8−D14、D16−D22、D24−D30の誤りを訂正するための6ビットのパリティデータP3−P8をアドレスIA0−IA5毎に記憶する記憶領域MP2を有する。   The memory cell array 10 has a plurality of memory cells that hold 64 data groups D0 to D31 (that is, 2048 bits) according to 6-bit addresses IA0 to IA5. The memory cell is a memory cell such as a ferroelectric memory, SRAM (Static Random Access Memory), or DRAM (Dynamic Random Access Memory). The memory cell may be an MRAM (Magnetoresistive Random Access Memory) memory cell. The memory cell array 10 has a storage area M1 that holds 4-bit data D7, D15, D23, and D31 for each of the addresses IA0 to IA5. The memory cell array 10 has a storage area M2 for holding 28-bit data D0-D6, D8-D14, D16-D22, D24-D30 for each address IA0-IA5. The memory cell array 10 also has a storage area MP1 for storing 3-bit parity data P0-P2 for correcting errors in the data D7, D15, D23, D31 for each address IA0-IA5. Further, the memory cell array 10 stores a 6-bit parity data P3-P8 for correcting errors in the data D0-D6, D8-D14, D16-D22, D24-D30 for each address IA0-IA5. Have

なお、記憶領域M1、M2の各々は、物理的にまとめて設けられなくてもよい。例えば、メモリセルアレイ10は、データD0−D7、D8−D15、D16−D23、D24−D31の4つの記憶領域を有し、記憶領域M1、M2は、4つの記憶領域に分散して配置されてもよい。メモリセルアレイ10は、メモリ部の一例である。データD7、D15、D23、D31は、第1のデータ群の一例であり、データD0−D6、D8−D14、D16−D22、D24−D30は第2のデータ群の一例である。パリティデータP0−P2は、第1のパリティデータ群の一例であり、パリティデータP3−P8は、第2のパリティデータ群の一例である。   Note that each of the storage areas M1 and M2 may not be physically provided collectively. For example, the memory cell array 10 has four storage areas of data D0-D7, D8-D15, D16-D23, and D24-D31, and the storage areas M1 and M2 are distributed and arranged in the four storage areas. Also good. The memory cell array 10 is an example of a memory unit. Data D7, D15, D23, and D31 are examples of the first data group, and data D0-D6, D8-D14, D16-D22, and D24-D30 are examples of the second data group. Parity data P0-P2 is an example of a first parity data group, and parity data P3-P8 is an example of a second parity data group.

アドレスデコーダ20は、内部クロックICKに同期して、アドレスIA0−IA5をデコードし、アドレスIA0−IA5の値に応じて、64個のデータ群D0−D31のいずれかと、64個のパリティデータ群P0−P8のいずれかとを選択する。   The address decoder 20 decodes the addresses IA0 to IA5 in synchronization with the internal clock ICK, and depending on the value of the addresses IA0 to IA5, either of the 64 data groups D0 to D31 and the 64 parity data groups P0. -Select one of P8.

読み書き制御回路30は、メモリセルアレイ10からデータを読み出す読み出し動作時に、制御信号RCNTに基づいて動作する。そして、読み書き制御回路30は、アドレスデコーダ30により選択され、メモリセルアレイ10から並列に出力されるデータD0−D31およびパリティデータP0−P8を受信する。読み書き制御回路30は、メモリセルアレイ10からのデータD7、D15、D23、D31を読み出しデータRD7、RD15、RD23、RD31として、パリティ制御回路40に出力する。読み書き制御回路30は、メモリセルアレイ10からのパリティデータP0−P2を読み出しパリティデータRP0−RP2として、パリティ制御回路40に出力する。読み書き制御回路30は、メモリセルアレイ10からのデータD0−D6、D8−D14、D16−D22、D24−D30を読み出しデータRD0−RD6、RD8−RD14、RD16−RD22、RD24−RD30として、パリティ制御回路50に出力する。読み書き制御回路30は、メモリセルアレイ10からのパリティデータP3−P8を読み出しパリティデータRP3−RP8として、パリティ制御回路50に出力する。   The read / write control circuit 30 operates based on the control signal RCNT during a read operation for reading data from the memory cell array 10. The read / write control circuit 30 receives data D0-D31 and parity data P0-P8 selected by the address decoder 30 and output in parallel from the memory cell array 10. The read / write control circuit 30 outputs the data D7, D15, D23, D31 from the memory cell array 10 to the parity control circuit 40 as read data RD7, RD15, RD23, RD31. The read / write control circuit 30 reads the parity data P0-P2 from the memory cell array 10 and outputs the read parity data RP0-RP2 to the parity control circuit 40. The read / write control circuit 30 reads data D0-D6, D8-D14, D16-D22, D24-D30 from the memory cell array 10 as read data RD0-RD6, RD8-RD14, RD16-RD22, RD24-RD30. Output to 50. The read / write control circuit 30 reads the parity data P3-P8 from the memory cell array 10 and outputs it to the parity control circuit 50 as parity data RP3-RP8.

一方、読み書き制御回路30は、メモリセルアレイ10にデータを書き込む書き込み動作時に、制御信号WCNTに基づいて動作する。読み書き制御回路30は、パリティ制御回路40から書き込みデータWD7、WD15、WD23、WD31と書き込みパリティデータWP0−WP2とを受信する。また、読み書き制御回路30は、パリティ制御回路50から書き込みデータWD0−WD6、WD8−WD14、WD16−WD22、WD24−WD30と書き込みパリティデータWP3−WP8とを受信する。   On the other hand, the read / write control circuit 30 operates based on the control signal WCNT during a write operation for writing data into the memory cell array 10. The read / write control circuit 30 receives the write data WD7, WD15, WD23, WD31 and the write parity data WP0-WP2 from the parity control circuit 40. The read / write control circuit 30 receives write data WD0-WD6, WD8-WD14, WD16-WD22, WD24-WD30 and write parity data WP3-WP8 from the parity control circuit 50.

読み書き制御回路30は、書き込みデータWD0−WD31をデータD0−D31としてメモリセルアレイ10に出力し、書き込みパリティデータWP0−WP8をパリティデータP0−P8としてメモリセルアレイ10に出力する。メモリセルアレイ10にデータを書き込む読み書き制御回路30は、書き込み回路の一例である。書き込みデータWD7、WD15、WD23、WD31は、第1の書き込みデータ群の一例であり、書き込みデータWD0−WD6、WD8−WD14、WD16−WD22、WD24−WD30は、第2の書き込みデータ群の一例である。   The read / write control circuit 30 outputs the write data WD0-WD31 as data D0-D31 to the memory cell array 10, and outputs the write parity data WP0-WP8 as parity data P0-P8 to the memory cell array 10. The read / write control circuit 30 that writes data to the memory cell array 10 is an example of a write circuit. Write data WD7, WD15, WD23, and WD31 are examples of the first write data group, and write data WD0-WD6, WD8-WD14, WD16-WD22, and WD24-WD30 are examples of the second write data group. is there.

なお、図3では、説明を分かりやすくするために、読み出し動作を実行するための全ての制御信号は、制御信号RCNTとして示されるが、制御信号RCNTは、複数のタイミング信号を含む。読み書き制御回路30に供給される制御信号RCNTは、パリティ制御回路40、50に供給される制御信号RCNTとは異なる。同様に、書き込み動作を実行するための全ての制御信号は、制御信号WCNTとして示されるが、制御信号WCNTは、複数のタイミング信号を含む。読み書き制御回路30に供給される制御信号WCNTは、パリティ制御回路40、50に供給される制御信号WCNTとは異なる。   In FIG. 3, for the sake of easy understanding, all the control signals for executing the read operation are shown as the control signal RCNT, but the control signal RCNT includes a plurality of timing signals. The control signal RCNT supplied to the read / write control circuit 30 is different from the control signal RCNT supplied to the parity control circuits 40 and 50. Similarly, all the control signals for executing the write operation are shown as the control signal WCNT, but the control signal WCNT includes a plurality of timing signals. The control signal WCNT supplied to the read / write control circuit 30 is different from the control signal WCNT supplied to the parity control circuits 40 and 50.

パリティ制御回路40は、読み出し動作時および書き込み動作時に動作し、読み出しデータRD7、RD15、RD23、RD31の誤りを読み出しパリティデータRP0−RP2を用いて訂正する。パリティ制御回路40は、訂正した読み出しデータRD7、RD15、RD23、RD31を出力データDO7、DO15、DO23、DO31として出力する。出力データDO7、DO15、DO23、DO31は、第1の訂正データ群の一例であり、出力データDO7、DO15、DO23、DO31の各々は、第1の部分データ群の一例である。   The parity control circuit 40 operates during the read operation and the write operation, and corrects errors in the read data RD7, RD15, RD23, and RD31 using the read parity data RP0 to RP2. The parity control circuit 40 outputs the corrected read data RD7, RD15, RD23, RD31 as output data DO7, DO15, DO23, DO31. The output data DO7, DO15, DO23, and DO31 are an example of a first correction data group, and each of the output data DO7, DO15, DO23, and DO31 is an example of a first partial data group.

パリティ制御回路40は、書き込み動作時に、制御信号WCNTに基づいて動作し、入力データDI07を受ける。パリティ制御回路40は、誤りが訂正された出力データDO7、DO15、DO23、DO31のいずれかを、アドレスA0−A1の値に応じて入力データDI07に置き換え、書き込みデータWD7、WD15、WD23、WD31を生成する。すなわち、入力データDI07は、書き込みデータWD7、WD15、WD23、WD31のいずれかとして、メモリセルアレイ10に書き込まれる。   The parity control circuit 40 operates based on the control signal WCNT during the write operation, and receives the input data DI07. The parity control circuit 40 replaces any of the output data DO7, DO15, DO23, and DO31 whose error has been corrected with the input data DI07 according to the value of the address A0-A1, and replaces the write data WD7, WD15, WD23, and WD31. Generate. That is, the input data DI07 is written into the memory cell array 10 as any of the write data WD7, WD15, WD23, and WD31.

パリティ制御回路40は、生成した書き込みデータWD7、WD15、WD23、WD31を用いて、書き込みパリティデータWP0−WP2を生成する。そして、パリティ制御回路40は、書き込みデータWD7、WD15、WD23、WD31および書き込みパリティデータWP0−WP2を読み書き制御回路30に出力する。   The parity control circuit 40 generates write parity data WP0-WP2 by using the generated write data WD7, WD15, WD23, WD31. Then, the parity control circuit 40 outputs the write data WD7, WD15, WD23, WD31 and the write parity data WP0-WP2 to the read / write control circuit 30.

パリティ制御回路50は、読み出し動作時および書き込み動作時に動作し、読み出しデータRD0−RD6、RD8−RD14、RD16−RD22、RD24−RD30の誤りを読み出しパリティデータRP3−RP8を用いて訂正する。パリティ制御回路50は、訂正した読み出しデータRD0−RD6、RD8−RD14、RD16−RD22、RD24−RD30を出力データDO0−DO6、DO8−DO14、DO16−DO22、DO24−DO30として出力する。出力データDO0−DO6、DO8−DO14、DO16−DO22、DO24−DO30は、第2の訂正データ群の一例である。出力データDO0−DO6、DO8−DO14、DO16−DO22、DO24−DO30の各々は、第2の部分データ群の一例である。   The parity control circuit 50 operates during a read operation and a write operation, and corrects errors in the read data RD0-RD6, RD8-RD14, RD16-RD22, and RD24-RD30 using the read parity data RP3-RP8. The parity control circuit 50 outputs the corrected read data RD0-RD6, RD8-RD14, RD16-RD22, RD24-RD30 as output data DO0-DO6, DO8-DO14, DO16-DO22, DO24-DO30. The output data DO0-DO6, DO8-DO14, DO16-DO22, and DO24-DO30 are an example of the second correction data group. Each of the output data DO0-DO6, DO8-DO14, DO16-DO22, DO24-DO30 is an example of the second partial data group.

パリティ制御回路50は、書き込み動作時に、制御信号WCNTに基づいて動作し、7ビットの入力データDI00−DI06を受ける。パリティ制御回路50は、誤りが訂正された出力データDO0−DO6、DO8−DO14、DO16−DO22、DO24−DO30のいずれかの組を、アドレスA0−A1の値に応じて入力データDI00−DI06に置き換える。そして、パリティ制御回路50は、書き込みデータWD0−WD6、WD8−WD14、WD16−WD22、WD24−WD30を生成する。すなわち、入力データDI00−DI06は、書き込みデータWD0−WD6、WD8−WD14、WD16−WD22、WD24−WD30のいずれかとして、メモリセルアレイ10に書き込まれる。   The parity control circuit 50 operates based on the control signal WCNT during a write operation, and receives 7-bit input data DI00 to DI06. The parity control circuit 50 converts any one of the output data DO0-DO6, DO8-DO14, DO16-DO22, and DO24-DO30 in which the error is corrected into the input data DI00-DI06 according to the value of the address A0-A1. replace. Then, the parity control circuit 50 generates write data WD0 to WD6, WD8 to WD14, WD16 to WD22, and WD24 to WD30. That is, the input data DI00-DI06 is written into the memory cell array 10 as any of the write data WD0-WD6, WD8-WD14, WD16-WD22, WD24-WD30.

パリティ制御回路50は、生成した書き込みデータWD0−WD6、WD8−WD14、WD16−WD22、WD24−WD30を用いて、書き込みパリティデータWP3−WP8を生成する。そして、パリティ制御回路50は、WD0−WD6、WD8−WD14、WD16−WD22、WD24−WD30および書き込みパリティデータWP3−WP8を読み書き制御回路30に出力する。   The parity control circuit 50 generates write parity data WP3-WP8 using the generated write data WD0-WD6, WD8-WD14, WD16-WD22, WD24-WD30. Then, the parity control circuit 50 outputs WD0-WD6, WD8-WD14, WD16-WD22, WD24-WD30, and write parity data WP3-WP8 to the read / write control circuit 30.

入出力制御回路60は、チップセレクト/CSがロウレベルの期間に有効になり、クロックSCKに同期して動作する。入出力制御回路60は、入力端子SIを介してコマンド(読み出しコマンドまたは書き込みコマンド)と、アドレスとを受け、受けたアドレスの一部をアドレスIA0−IA5としてアドレスデコーダ20に出力する。入出力制御回路60は、読み出しコマンドを受けた場合、複数の制御信号RCNTを生成し、パリティ制御回路40、50から出力される32ビットの出力データDO0−DO31のうちの8ビットを2ビットのアドレスA0−A1に応じて選択する。入出力制御回路60は、選択したデータを直列に変換し、出力端子SOから順次に出力する。   The input / output control circuit 60 becomes valid during the period when the chip select / CS is at the low level, and operates in synchronization with the clock SCK. The input / output control circuit 60 receives a command (read command or write command) and an address via the input terminal SI, and outputs a part of the received address to the address decoder 20 as addresses IA0 to IA5. When receiving the read command, the input / output control circuit 60 generates a plurality of control signals RCNT, and converts the 8 bits of the 32-bit output data DO0 to DO31 output from the parity control circuits 40 and 50 to 2 bits. Selection is made according to addresses A0-A1. The input / output control circuit 60 converts the selected data into serial and sequentially outputs from the output terminal SO.

入出力制御回路60は、出力データDO0−DO7を選択した場合、出力データDO7、DO6、DO5、DO4、DO3、DO2、DO1、DO0の順に出力端子SOに出力する。入出力制御回路60は、出力データDO8−DO15を選択した場合、出力データDO15、DO14、DO13、DO12、DO11、DO10、DO9、DO8の順に出力端子SOに出力する。入出力制御回路60は、出力データDO16−23を選択した場合、出力データDO23、DO22、DO21、DO20、DO19、DO18、DO17、DO16の順に出力端子SOに出力する。入出力制御回路60は、出力データDO24−DO31を選択した場合、出力データDO31、DO30、DO29、DO28、DO27、DO26、DO25、DO24の順に出力端子SOに出力する。すなわち、入出力制御回路60は、パリティ制御回路40により誤りが訂正されたデータを、パリティ制御回路50により誤りが訂正されたデータよりも先に出力する。   When the output data DO0-DO7 is selected, the input / output control circuit 60 outputs the output data DO7, DO6, DO5, DO4, DO3, DO2, DO1, DO0 to the output terminal SO in this order. When the output data DO8-DO15 is selected, the input / output control circuit 60 outputs the output data DO15, DO14, DO13, DO12, DO11, DO10, DO9, DO8 to the output terminal SO in this order. When the output data DO16-23 is selected, the input / output control circuit 60 outputs the output data DO23, DO22, DO21, DO20, DO19, DO18, DO17, and DO16 to the output terminal SO in this order. When the output data DO24-DO31 is selected, the input / output control circuit 60 outputs the output data DO31, DO30, DO29, DO28, DO27, DO26, DO25, DO24 to the output terminal SO in this order. That is, the input / output control circuit 60 outputs the data whose error has been corrected by the parity control circuit 40 before the data whose error has been corrected by the parity control circuit 50.

入出力制御回路60は、書き込みコマンドを受けた場合、アドレスに続いて8ビットの直列データ(書き込みデータ)を、入力端子SIを介して順次に受け、複数の制御信号WCNTを生成する。入出力制御回路60は、入力端子SIを介して受けた先頭の1ビットのデータを入力データDI07としてパリティ制御回路40に出力し、残りの7ビットのデータを入力データDI06−DI00としてパリティ制御回路50に出力する。   When receiving a write command, the input / output control circuit 60 sequentially receives 8-bit serial data (write data) following the address via the input terminal SI and generates a plurality of control signals WCNT. The input / output control circuit 60 outputs the first 1-bit data received via the input terminal SI as the input data DI07 to the parity control circuit 40, and the remaining 7-bit data as the input data DI06-DI00. Output to 50.

なお、半導体記憶装置MEM2は、I2C(Inter-Integrated Circuit)等の他のシリアルインタフェース方式が採用されてもよい。I2C方式では、データを直列に入出力する双方向の入出力端子が、入力端子SIおよび出力端子SOの代わりに設けられる。また、I2C方式では、半導体記憶装置MEM2を識別するためのデバイスアドレスコードを受けるデバイスアドレス端子が、チップセレクト端子/CSの代わりに設けられる。そして、半導体記憶装置MEM2は、デバイスアドレスコードをデコードし、自身へのアクセスを認識するデコーダを有する。   The semiconductor memory device MEM2 may adopt another serial interface method such as I2C (Inter-Integrated Circuit). In the I2C method, bidirectional input / output terminals for inputting / outputting data in series are provided in place of the input terminal SI and the output terminal SO. In the I2C method, a device address terminal that receives a device address code for identifying the semiconductor memory device MEM2 is provided instead of the chip select terminal / CS. The semiconductor memory device MEM2 includes a decoder that decodes the device address code and recognizes access to itself.

図4は、図3に示す入出力制御回路60の一例を示す。入出力制御回路60は、入力制御回路62、内部クロック生成回路64、選択回路66および出力制御回路68を有する。入力制御回路62は、読み出し動作時および書き込み動作時に動作する。内部クロック生成回路64は、入力制御回路62からの制御に基づいて動作する。選択回路66および出力制御回路68は、読み出し動作時に動作する。   FIG. 4 shows an example of the input / output control circuit 60 shown in FIG. The input / output control circuit 60 includes an input control circuit 62, an internal clock generation circuit 64, a selection circuit 66 and an output control circuit 68. The input control circuit 62 operates during a read operation and a write operation. The internal clock generation circuit 64 operates based on control from the input control circuit 62. The selection circuit 66 and the output control circuit 68 operate during a read operation.

入力制御回路62は、チップセレクト/CSがロウレベルの期間に動作し、入力端子SIを介して供給される情報(コマンド、アドレス、データ等)をクロックSCKに同期して受ける。入力制御回路62は、シフトレジスタSFTRIおよびコマンドデコーダCDECを有する。シフトレジスタSFTRIは、入力端子SIに供給される情報を下位ビットLSB側から上位ビットMSB側に順次に保持する8ビットの記憶領域を有する。シフトレジスタSFTRIは、保持した情報をコマンドCMD、内部アドレスIA0−IA5、アドレスA0−A1および入力データDI00−DI07として出力する。入力制御回路62は、入力回路の一例である。   The input control circuit 62 operates during a period in which the chip select / CS is at a low level, and receives information (command, address, data, etc.) supplied via the input terminal SI in synchronization with the clock SCK. The input control circuit 62 has a shift register SFTRI and a command decoder CDEC. The shift register SFTRI has an 8-bit storage area for sequentially holding information supplied to the input terminal SI from the lower bit LSB side to the upper bit MSB side. The shift register SFTRI outputs the held information as a command CMD, internal addresses IA0 to IA5, addresses A0 to A1, and input data DI00 to DI07. The input control circuit 62 is an example of an input circuit.

コマンドデコーダCDECは、チップセレクト/CSがロウレベルになった後に最初にシフトレジスタSFTRIに保持された8ビットをコマンドCMD(オペコード)として受ける。コマンドデコーダCDECは、コマンドCMDが読み出しコマンド(読み出し要求)を示す場合、複数の制御信号RCNTを生成し、コマンドCMDが書き込みコマンド(書き込み要求)を示す場合、複数の制御信号WCNTを生成する。   The command decoder CDEC receives, as a command CMD (opcode), 8 bits held in the shift register SFTRI first after the chip select / CS becomes low level. The command decoder CDEC generates a plurality of control signals RCNT when the command CMD indicates a read command (read request), and generates a plurality of control signals WCNT when the command CMD indicates a write command (write request).

内部クロック生成回路64は、読み出しコマンドまたは書き込みコマンドを受けてから所定のクロックサイクル後に内部クロックICKを生成する。内部クロックICKが生成されるクロックサイクルは、制御信号RNCT、WNCTの受信タイミングに応じて設定される。図3で説明したように、内部クロックICKが生成されるクロックサイクルは、アドレスデコーダ20が動作を開始するタイミングを示す。   The internal clock generation circuit 64 generates the internal clock ICK after a predetermined clock cycle after receiving a read command or a write command. The clock cycle in which the internal clock ICK is generated is set according to the reception timing of the control signals RNCT and WNCT. As described with reference to FIG. 3, the clock cycle in which the internal clock ICK is generated indicates the timing at which the address decoder 20 starts its operation.

選択回路66は、読み出し動作において動作し、パリティ制御回路40、50から出力される出力データDO0−DO31のうちの8ビットをアドレスA0−A1に応じて選択し、選択したデータを出力データDOUTとして出力制御回路68に出力する。例えば、選択回路66は、アドレスA0−A1の値が”0”の場合、出力データDO0−DO7を選択し、アドレスA0−A1の値が”1”の場合、出力データDO8−DO15を選択する。選択回路66は、アドレスA0−A1の値が”2”の場合、出力データDO16−DO23を選択し、アドレスA0−A1の値が”3”の場合、出力データDO24−DO31を選択する。   The selection circuit 66 operates in the read operation, selects 8 bits of the output data DO0 to DO31 output from the parity control circuits 40 and 50 according to the addresses A0 to A1, and selects the selected data as the output data DOUT. Output to the output control circuit 68. For example, the selection circuit 66 selects the output data DO0-DO7 when the value of the address A0-A1 is “0”, and selects the output data DO8-DO15 when the value of the address A0-A1 is “1”. . The selection circuit 66 selects the output data DO16-DO23 when the value of the address A0-A1 is “2”, and selects the output data DO24-DO31 when the value of the address A0-A1 is “3”.

出力制御回路68は、8ビットの出力データDOUTを保持するシフトレジスタSFTROを有する。シフトレジスタSFTROは、保持した出力データDOUTを上位ビットMSBから下位ビットLSBの順に、クロックSCKに同期して出力端子SOに出力する。例えば、出力データDOUTが出力データDO0−DO7の場合、データDO7、DO6、DO5、DO4、DO3、DO2、DO1、DO0の順に出力端子SOに出力される。出力制御回路68は、出力回路の一例である。   The output control circuit 68 includes a shift register SFTR that holds 8-bit output data DOUT. The shift register SFTR outputs the held output data DOUT to the output terminal SO in synchronization with the clock SCK in the order from the upper bit MSB to the lower bit LSB. For example, when the output data DOUT is output data DO0 to DO7, the data DO7, DO6, DO5, DO4, DO3, DO2, DO1, and DO0 are output to the output terminal SO in this order. The output control circuit 68 is an example of an output circuit.

図5は、図3に示すパリティ制御回路40の一例を示す。パリティ制御回路40は、読み出しデータRD7、RD15、RD23、RD31のいずれか1ビットの誤りを検出し、検出した誤りを訂正する機能を有する。パリティ制御回路40は、読み出しパリティ生成回路41、シンドローム生成回路42、シンドロームデコーダ43、誤り訂正回路44、置き換え回路45および書き込みパリティ生成回路46を有する。読み出しパリティ生成回路41、シンドローム生成回路42、シンドロームデコーダ43および誤り訂正回路44は、第1の誤り訂正回路の一例である。   FIG. 5 shows an example of the parity control circuit 40 shown in FIG. The parity control circuit 40 has a function of detecting any one bit error of the read data RD7, RD15, RD23, and RD31 and correcting the detected error. The parity control circuit 40 includes a read parity generation circuit 41, a syndrome generation circuit 42, a syndrome decoder 43, an error correction circuit 44, a replacement circuit 45, and a write parity generation circuit 46. The read parity generation circuit 41, the syndrome generation circuit 42, the syndrome decoder 43, and the error correction circuit 44 are an example of a first error correction circuit.

読み出しパリティ生成回路41は、4ビットの読み出しデータRD7、RD15、RD23、RD31を用いて3ビットの読み出しパリティデータRP00−RP02を生成する。そして、読み出しパリティ生成回路41は、生成した読み出しパリティデータRP00−RP02をシンドローム生成回路42に出力する。シンドローム生成回路42は、読み書き制御回路30を介してメモリセルアレイ10から読み出される読み出しパリティデータRP0−RP2と読み出しパリティデータRP00−RP02との排他的論理和を演算し、シンドロームS0−S2を生成する。シンドローム生成回路42は、生成したシンドロームS0−S2をシンドロームデコーダ43に出力する。   The read parity generation circuit 41 generates 3-bit read parity data RP00 to RP02 using the 4-bit read data RD7, RD15, RD23, and RD31. Then, the read parity generation circuit 41 outputs the generated read parity data RP00 to RP02 to the syndrome generation circuit 42. The syndrome generation circuit 42 calculates an exclusive OR of the read parity data RP0-RP2 and the read parity data RP00-RP02 read from the memory cell array 10 via the read / write control circuit 30, and generates syndromes S0-S2. The syndrome generation circuit 42 outputs the generated syndromes S0 to S2 to the syndrome decoder 43.

シンドロームデコーダ43は、シンドロームS0−S2で示される論理値をデコードし、誤りが発生したビットを示す誤りビット情報E7、E15、E23、E31のいずれかを生成する。シンドロームデコーダ43は、生成した誤りビット情報E7、E15、E23、E31のいずれかを誤り訂正回路44に出力する。誤りビット情報E7、E15、E23、E31のそれぞれは、読み出しデータRD7、RD15、RD23、RD31のそれぞれに誤りがあることを示す。   The syndrome decoder 43 decodes the logical value indicated by the syndromes S0 to S2, and generates any one of error bit information E7, E15, E23, and E31 indicating the bit in which an error has occurred. The syndrome decoder 43 outputs any one of the generated error bit information E7, E15, E23, E31 to the error correction circuit 44. Each of the error bit information E7, E15, E23, E31 indicates that there is an error in each of the read data RD7, RD15, RD23, RD31.

誤り訂正回路44は、誤りビット情報E7、E15、E23、E31で示される読み出しデータRD7、RD15、RD23、RD31のいずれかの誤りを訂正し、訂正したデータを含む出力データDO7、DO15、DO23、DO31を出力する。   The error correction circuit 44 corrects any error of the read data RD7, RD15, RD23, RD31 indicated by the error bit information E7, E15, E23, E31, and outputs data DO7, DO15, DO23, including the corrected data. DO31 is output.

置き換え回路45は、書き込み動作において、アドレスA0−A1の値に対応する出力データDO7、DO15、DO23、DO31のいずれかを入力データDI07(書き込みデータ)に置き換える。そして、置き換え回路45は、置き換えたデータを含む書き込みデータWD7、WD15、WD23、WD31を出力する。書き込みデータWD7、WD15、WD23、WD31は、メモリセルアレイ10に書き込むために図3に示す読み書き制御回路30に出力される。   The replacement circuit 45 replaces any of the output data DO7, DO15, DO23, and DO31 corresponding to the value of the address A0-A1 with the input data DI07 (write data) in the write operation. Then, the replacement circuit 45 outputs write data WD7, WD15, WD23, and WD31 including the replaced data. The write data WD7, WD15, WD23, and WD31 are output to the read / write control circuit 30 shown in FIG.

置き換え回路45は、アドレスA0−A1の値が”0”の場合、出力データDO7を入力データDI07に置き換え、アドレスA0−A1の値が”1”の場合、出力データDO15を入力データDI07に置き換える。置き換え回路45は、アドレスA0−A1の値が”2”の場合、出力データDO23を入力データDI07に置き換え、アドレスA0−A1の値が”3”の場合、出力データDO31を入力データDI07に置き換える。   The replacement circuit 45 replaces the output data DO7 with the input data DI07 when the value of the address A0-A1 is “0”, and replaces the output data DO15 with the input data DI07 when the value of the address A0-A1 is “1”. . The replacement circuit 45 replaces the output data DO23 with the input data DI07 when the value of the address A0-A1 is “2”, and replaces the output data DO31 with the input data DI07 when the value of the address A0-A1 is “3”. .

書き込みパリティ生成回路46は、4ビットの書き込みデータWD7、WD15、WD23、WD31を用いて3ビットの書き込みパリティデータWP0−WP2を生成する。書き込みパリティ生成回路46は、生成した書き込みパリティデータWP0−WP2をメモリセルアレイ10に書き込むために図3に示す読み書き制御回路30に出力する。書き込みパリティ生成回路46は、書き込みパリティデータWP0−WP2を生成するパリティ生成回路の一例である。   The write parity generation circuit 46 generates 3-bit write parity data WP0-WP2 using the 4-bit write data WD7, WD15, WD23, and WD31. The write parity generation circuit 46 outputs the generated write parity data WP0-WP2 to the read / write control circuit 30 shown in FIG. The write parity generation circuit 46 is an example of a parity generation circuit that generates write parity data WP0 to WP2.

図6は、図5に示す読み出しパリティ生成回路41、書き込みパリティ生成回路46、シンドローム生成回路42およびシンドロームデコーダ43で使用されるパリティ検査行列の一例を示す。図6に示すパリティ検査行列は、ハミング符号方式によるパリティ検査に使用される。   FIG. 6 shows an example of a parity check matrix used in the read parity generation circuit 41, the write parity generation circuit 46, the syndrome generation circuit 42, and the syndrome decoder 43 shown in FIG. The parity check matrix shown in FIG. 6 is used for parity check by the Hamming code method.

読み出しパリティ生成回路41は、パリティ検査行列の(a)列から(d)列の論理を用いて、読み出しデータRD7、RD15、RD23、RD31の読み出しパリティデータRP00−RP02を生成する。書き込みパリティ生成回路46は、(a)列から(d)列の論理を用いて、書き込みデータWD7、WD15、WD23、WD31の書き込みパリティデータWP0−WP2を生成する。   The read parity generation circuit 41 generates the read parity data RP00 to RP02 of the read data RD7, RD15, RD23, and RD31 using the logic of columns (a) to (d) of the parity check matrix. The write parity generation circuit 46 generates write parity data WP0 to WP2 of the write data WD7, WD15, WD23, and WD31 using the logic of the columns (a) to (d).

シンドローム生成回路42は、(e)列から(g)列の論理を用いて、読み出しパリティデータRP00−RP02と読み出しパリティデータRP0−RP2とからシンドロームS0−S2を生成する。シンドロームデコーダ43は、(a)列から(d)列の論理を用いて、誤りが発生したビットをシンドロームS0−S2から特定する。   The syndrome generation circuit 42 generates syndromes S0 to S2 from the read parity data RP00 to RP02 and the read parity data RP0 to RP2, using the logic of the columns (e) to (g). The syndrome decoder 43 identifies the bit in which an error has occurred from the syndromes S0 to S2 using the logic of the columns (a) to (d).

図7は、図5に示す読み出しパリティ生成回路41、シンドローム生成回路42、シンドロームデコーダ43および誤り訂正回路44の一例を示す。   FIG. 7 shows an example of the read parity generation circuit 41, syndrome generation circuit 42, syndrome decoder 43, and error correction circuit 44 shown in FIG.

読み出しパリティ生成回路41は、図6に示す(a)列から(d)列のパリティ検査行列の論理に対応する排他的論理和ゲートを有する。読み出しデータRD7、RD15、RD23、RD31は、(a)列から(d)列のそれぞれに対応し、読み出しパリティデータRP00−RP02は、パリティ検査行の第1行から第3行に対応する。読み出しパリティ生成回路41は、各行において論理1で示される列に対応する読み出しデータ(RD7、RD15、RD23、RD31のいずれか3つ)の排他的論理和を演算する。そして、読み出しパリティ生成回路41は、得られた排他的論理和の論理を読み出しパリティデータRP00−RP02として出力する。   The read parity generation circuit 41 has an exclusive OR gate corresponding to the logic of the parity check matrix of columns (a) to (d) shown in FIG. The read data RD7, RD15, RD23, and RD31 correspond to the columns (a) to (d), respectively, and the read parity data RP00 to RP02 correspond to the first to third rows of the parity check rows. The read parity generation circuit 41 calculates an exclusive OR of read data (any three of RD7, RD15, RD23, and RD31) corresponding to the column indicated by logic 1 in each row. Then, the read parity generation circuit 41 outputs the obtained exclusive OR logic as read parity data RP00 to RP02.

シンドローム生成回路42は、図6に示す(e)列から(g)列のパリティ検査行列の論理に対応する排他的論理和ゲートを有する。読み出しパリティデータRP0、RP1、RP2は、(e)列から(g)列のそれぞれに対応し、読み出しパリティデータRP00、RP01、RP02は、パリティ検査行の第1行から第3行に対応する。シンドローム生成回路42は、(e)列から(g)列において、論理1に対応する読み出しパリティデータ(RP0−RP2のいずれか)と読み出しパリティデータ(RP00−RP02のいずれか)の排他的論理和を演算する。そして、シンドローム生成回路42は、得られた排他的論理和の論理をシンドロームS0−S2として出力する。   The syndrome generation circuit 42 has an exclusive OR gate corresponding to the logic of the parity check matrix of columns (e) to (g) shown in FIG. The read parity data RP0, RP1, and RP2 correspond to the columns (e) to (g), respectively, and the read parity data RP00, RP01, and RP02 correspond to the first to third rows of the parity check row. The syndrome generation circuit 42 performs an exclusive OR of the read parity data (any one of RP0 to RP2) and the read parity data (any one of RP00 to RP02) corresponding to the logic 1 in the columns (e) to (g). Is calculated. Then, the syndrome generation circuit 42 outputs the obtained exclusive OR logic as syndromes S0 to S2.

シンドロームデコーダ43は、図6に示す(a)列から(d)列のパリティ検査行列の論理に対応するデコード回路を有する。誤りビット情報E7、E15、E23、E31は、(a)列から(d)列のそれぞれに対応し、シンドロームS0、S1、S2は、パリティ検査行の第1行から第3行に対応する。シンドロームデコーダ43は、(a)列の論理を用いて誤りビット情報E7を生成し、(b)列の論理を用いて誤りビット情報E15を生成し、(c)列の論理を用いて誤りビット情報E23を生成し、(d)列の論理を用いて誤りビット情報E31を生成する。   The syndrome decoder 43 has a decoding circuit corresponding to the logic of the parity check matrix of columns (a) to (d) shown in FIG. The error bit information E7, E15, E23, E31 corresponds to each of the columns (a) to (d), and the syndromes S0, S1, S2 correspond to the first to third rows of the parity check row. The syndrome decoder 43 generates error bit information E7 using (a) column logic, (b) generates error bit information E15 using column logic, and (c) error bit using column logic. Information E23 is generated, and error bit information E31 is generated using the logic of (d) column.

誤り訂正回路44は、読み出しデータRD7、RD15、RD23、RD31と誤りビット情報E7、E15、E23、E31とのそれぞれを受ける4つの排他的論理和ゲートを有する。そして、誤り訂正回路44は、誤りビット情報E7(または、E15、E23、E31)が論理1の場合に、読み出しデータRD7(または、RD15、RD23、RD31)の論理を反転することで、誤りを訂正する。誤り訂正回路44は、誤りを訂正したデータを出力データDO7、DO15、DO23、DO31として出力する。   The error correction circuit 44 has four exclusive OR gates for receiving the read data RD7, RD15, RD23, RD31 and the error bit information E7, E15, E23, E31, respectively. Then, when the error bit information E7 (or E15, E23, E31) is logic 1, the error correction circuit 44 inverts the logic of the read data RD7 (or RD15, RD23, RD31) to correct the error. correct. The error correction circuit 44 outputs the corrected data as output data DO7, DO15, DO23, DO31.

なお、読み出し動作において、誤りを訂正したデータを出力データDO7、DO15、DO23、DO31をメモリセルアレイ10に書き戻す手法が、半導体記憶装置MEM2に適用される場合がある。この場合、読み出しパリティデータRP0−RP2の誤りも訂正され、メモリセルアレイ10に書き戻される。読み出しパリティデータRP0−RP2の誤りを訂正するために、図6に示す(a)列から(g)列のパリティ検査行列の論理に対応するデコード回路が、シンドロームデコーダ43に設けられる。また、シンドロームデコーダ43により誤りが検出された読み出しパリティデータRP0−RP2のいずれかのビットを反転する排他的論理和ゲートが、誤り訂正回路44に設けられる。出力データDO7、DO15、DO23、DO31および誤りが訂正された読み出しパリティデータRP0−RP2は、図5に示す置き換え回路45および書き込みパリティ生成回路46を介することなくメモリセルアレイ10に書き戻される。   In the read operation, there is a case in which a method of writing output data DO7, DO15, DO23, and DO31 back to the memory cell array 10 with corrected data is applied to the semiconductor memory device MEM2. In this case, errors in the read parity data RP0-RP2 are also corrected and written back to the memory cell array 10. In order to correct errors in the read parity data RP0 to RP2, a decode circuit corresponding to the logic of the parity check matrix of the columns (a) to (g) shown in FIG. In addition, an exclusive OR gate that inverts any bit of the read parity data RP0 to RP2 in which an error is detected by the syndrome decoder 43 is provided in the error correction circuit 44. The output data DO7, DO15, DO23, DO31 and the read parity data RP0-RP2 in which the error is corrected are written back to the memory cell array 10 without passing through the replacement circuit 45 and the write parity generation circuit 46 shown in FIG.

また、図7では、読み出しパリティ生成回路41およびシンドローム生成回路42は、図6に示すパリティ検査行列の論理に対応して排他的論理和ゲートを直列に配置しているが、排他的論理和ゲートは、並列に配置されてもよい。   In FIG. 7, the read parity generation circuit 41 and the syndrome generation circuit 42 have exclusive OR gates arranged in series corresponding to the logic of the parity check matrix shown in FIG. May be arranged in parallel.

図8は、図7に示す読み出しパリティ生成回路41およびシンドローム生成回路42を融合し、排他的論理和ゲートを並列に配置した場合の一例を示す。排他的論理和ゲートを並列に配置することで、シンドロームS0−S2の各々を生成するために直列に接続される排他的論理和ゲートの段数を、図7の3段から2段にすることができる。   FIG. 8 shows an example in which the read parity generation circuit 41 and the syndrome generation circuit 42 shown in FIG. 7 are merged and exclusive OR gates are arranged in parallel. By arranging the exclusive OR gates in parallel, the number of exclusive OR gates connected in series to generate each of the syndromes S0 to S2 can be changed from three to two in FIG. it can.

なお、32ビットの読み出しデータRD0−RD31の1ビットの誤りを、1つの誤り訂正回路を使用してハミング符号方式により訂正する場合を考える。この場合、誤り訂正回路に設けられる排他的論理和ゲートの最大の段数は、直列接続の場合で18段、並列接続の場合で5段になる。したがって、排他的論理和ゲートの最大の接続段数を、1つの誤り訂正回路を使用する場合に比べて、直列接続の場合に18段から3段に削減することができ、並列接続の場合に5段から2段に削減することができる。この結果、誤りの訂正時間の短縮効果は、排他的論理和ゲートの15段分または3段分に相当する時間になり、読み出しデータRD7、RD15、RD23、RD31の誤りの訂正時間を、1つの誤り訂正回路を使用する場合に比べて短縮することができる。   Consider a case where a 1-bit error in 32-bit read data RD0 to RD31 is corrected by a Hamming code method using one error correction circuit. In this case, the maximum number of exclusive OR gates provided in the error correction circuit is 18 in the case of serial connection and 5 in the case of parallel connection. Therefore, the maximum number of connection stages of exclusive OR gates can be reduced from 18 to 3 in the case of series connection compared to the case of using one error correction circuit, and 5 in the case of parallel connection. The number of stages can be reduced to two. As a result, the effect of shortening the error correction time becomes a time corresponding to 15 stages or 3 stages of the exclusive OR gate, and the error correction time of the read data RD7, RD15, RD23, RD31 is reduced to one. This can be shortened compared to the case of using an error correction circuit.

図9は、図5に示す置き換え回路45および書き込みパリティ生成回路46の一例を示す。置き換え回路45は、デコーダDECおよびセレクタSELを有する。デコーダDECは、アドレスA0−A1の論理に応じて、入力データDI07(書き込みデータ)を書き込むビット位置を求める。   FIG. 9 shows an example of the replacement circuit 45 and the write parity generation circuit 46 shown in FIG. The replacement circuit 45 includes a decoder DEC and a selector SEL. The decoder DEC obtains a bit position for writing the input data DI07 (write data) according to the logic of the addresses A0 to A1.

セレクタSELは、デコーダDECが求めたビット位置に基づいて、出力データDO7、DO15、DO23、DO31のいずれかを入力データDI07に置き換える4つのスイッチ回路を有する。例えば、各スイッチ回路は、一対のCMOS(Complementary Metal Oxide Semiconductor)伝達ゲートを有する。そして、セレクタSELは、置き換えた入力データDI07を含む書き込みデータWD7、WD15、WD23、WD31を書き込みパリティ生成回路46に出力する。   The selector SEL has four switch circuits that replace any of the output data DO7, DO15, DO23, and DO31 with the input data DI07 based on the bit position obtained by the decoder DEC. For example, each switch circuit has a pair of complementary metal oxide semiconductor (CMOS) transmission gates. Then, the selector SEL outputs the write data WD7, WD15, WD23, and WD31 including the replaced input data DI07 to the write parity generation circuit 46.

書き込みパリティ生成回路46は、図7に示す読み出しパリティ生成回路41と同じ論理を有する。書き込みデータWD7、WD15、WD23、WD31は、図6に示すパリティ検査行列の(a)列から(d)列のそれぞれに対応し、書き込みパリティデータWP0−WP2は、パリティ検査行の第1行から第3行に対応する。書き込みパリティ生成回路46は、各行において論理1で示される列に対応する書き込みデータ(WD7、WD15、WD23、WD31のいずれか3つ)の排他的論理和を演算する。そして、書き込みパリティ生成回路46は、得られた排他的論理和の論理を書き込みパリティデータWP0−WP2として出力する。   The write parity generation circuit 46 has the same logic as the read parity generation circuit 41 shown in FIG. Write data WD7, WD15, WD23, and WD31 correspond to columns (a) to (d) of the parity check matrix shown in FIG. 6, and write parity data WP0-WP2 are from the first row of the parity check rows. Corresponds to the third row. The write parity generation circuit 46 calculates an exclusive OR of write data (any three of WD7, WD15, WD23, and WD31) corresponding to the column indicated by logic 1 in each row. Then, the write parity generation circuit 46 outputs the obtained exclusive OR logic as write parity data WP0-WP2.

図10は、図3に示すパリティ制御回路50の一例を示す。パリティ制御回路50は、読み出しデータRD0−RD6、RD8−RD14、RD16−RD22、RD24−RD30のいずれか1ビットの誤りを検出し、検出した誤りを訂正する機能を有する。パリティ制御回路50は、図5に示すパリティ制御回路40と同様の回路を有する。すなわち、パリティ制御回路50は、読み出しパリティ生成回路51、シンドローム生成回路52、シンドロームデコーダ53、誤り訂正回路54、置き換え回路55および書き込みパリティ生成回路56を有する。読み出しパリティ生成回路51、シンドローム生成回路52、シンドロームデコーダ53および誤り訂正回路54は、第2の誤り訂正回路の一例である。   FIG. 10 shows an example of the parity control circuit 50 shown in FIG. The parity control circuit 50 has a function of detecting any one bit error of the read data RD0 to RD6, RD8 to RD14, RD16 to RD22, and RD24 to RD30, and correcting the detected error. The parity control circuit 50 has a circuit similar to the parity control circuit 40 shown in FIG. That is, the parity control circuit 50 includes a read parity generation circuit 51, a syndrome generation circuit 52, a syndrome decoder 53, an error correction circuit 54, a replacement circuit 55, and a write parity generation circuit 56. The read parity generation circuit 51, the syndrome generation circuit 52, the syndrome decoder 53, and the error correction circuit 54 are examples of a second error correction circuit.

読み出しパリティ生成回路51は、28ビットの読み出しデータRD0−RD6、RD8−RD14、RD16−RD22、RD24−RD30を用いて6ビットの読み出しパリティデータRP03−RP08を生成する。シンドローム生成回路52は、読み書き制御回路30を介してメモリセルアレイ10から読み出される読み出しパリティデータRP3−RP8と読み出しパリティデータRP03−RP08との排他的論理和を演算し、シンドロームS3−S8を生成する。   The read parity generation circuit 51 generates 6-bit read parity data RP03-RP08 using 28-bit read data RD0-RD6, RD8-RD14, RD16-RD22, and RD24-RD30. The syndrome generation circuit 52 calculates the exclusive OR of the read parity data RP3-RP8 and the read parity data RP03-RP08 read from the memory cell array 10 via the read / write control circuit 30, and generates syndromes S3-S8.

シンドロームデコーダ53は、シンドロームS3−S8で示される論理値をデコードし、誤りが発生したビットを示す誤りビット情報E0−E6、E8−E14、E16−E22、E24−E30のいずれかを生成する。誤りビット情報E0−E6、E8−E14、E16−E22、E24−E30のそれぞれは、読み出しデータRD0−RD6、RD8−RD14、RD16−RD22、RD24−RD30のそれぞれに誤りがあることを示す。   The syndrome decoder 53 decodes the logical value indicated by the syndromes S3-S8, and generates any one of error bit information E0-E6, E8-E14, E16-E22, E24-E30 indicating the bit in which an error has occurred. Each of the error bit information E0-E6, E8-E14, E16-E22, E24-E30 indicates that each of the read data RD0-RD6, RD8-RD14, RD16-RD22, RD24-RD30 has an error.

誤り訂正回路54は、誤りビット情報E0−E6、E8−E14、E16−E22、E24−E30で示される読み出しデータRD0−RD6、RD8−RD14、RD16−RD22、RD24−RD30のいずれかの誤りを訂正する。そして、誤り訂正回路54は、訂正したデータを出力データDO0−DO6、DO8−DO14、DO16−DO22、DO24−DO30として出力する。   The error correction circuit 54 detects any error of the read data RD0-RD6, RD8-RD14, RD16-RD22, RD24-RD30 indicated by the error bit information E0-E6, E8-E14, E16-E22, E24-E30. correct. Then, the error correction circuit 54 outputs the corrected data as output data DO0-DO6, DO8-DO14, DO16-DO22, DO24-DO30.

置き換え回路55は、書き込み動作において、アドレスA0−A1の値に対応する出力データDO0−DO6、DO8−DO14、DO16−DO22、DO24−DO30のいずれかの組を入力データDI00−DI06(書き込みデータ)に置き換える。そして、置き換え回路45は、置き換えたデータを含む書き込みデータWD0−WD6、WD8−WD14、WD16−WD22、WD24−WD30を出力する。書き込みデータWD0−WD6、WD8−WD14、WD16−WD22、WD24−WD30は、メモリセルアレイ10に書き込むために図3に示す読み書き制御回路30に出力される。   In the write operation, the replacement circuit 55 converts any set of the output data DO0-DO6, DO8-DO14, DO16-DO22, DO24-DO30 corresponding to the value of the address A0-A1 to the input data DI00-DI06 (write data). Replace with Then, the replacement circuit 45 outputs write data WD0 to WD6, WD8 to WD14, WD16 to WD22, and WD24 to WD30 including the replaced data. Write data WD0 to WD6, WD8 to WD14, WD16 to WD22, and WD24 to WD30 are output to the read / write control circuit 30 shown in FIG.

置き換え回路55は、アドレスA0−A1の値が”0”の場合、出力データDO0−DO6を入力データDI00−DI06に置き換え、アドレスA0−A1の値が”1”の場合、出力データDO8−DO14を入力データDI00−DI06に置き換える。置き換え回路55は、アドレスA0−A1の値が”2”の場合、出力データDO16−DO22を入力データDI00−DI06に置き換え、アドレスA0−A1の値が”3”の場合、出力データWD24−WD30を入力データDI00−DI06に置き換える。   The replacement circuit 55 replaces the output data DO0-DO6 with the input data DI00-DI06 when the value of the address A0-A1 is “0”, and the output data DO8-DO14 when the value of the address A0-A1 is “1”. Is replaced with input data DI00-DI06. The replacement circuit 55 replaces the output data DO16-DO22 with the input data DI00-DI06 when the value of the address A0-A1 is “2”, and the output data WD24-WD30 when the value of the address A0-A1 is “3”. Is replaced with input data DI00-DI06.

書き込みパリティ生成回路56は、28ビットの書き込みデータWD0−WD6、WD8−WD14、WD16−WD22、WD24−WD30を用いて6ビットの書き込みパリティデータWP3−WP8を生成する。書き込みパリティ生成回路56は、生成した書き込みパリティデータWP3−WP8をメモリセルアレイ10に書き込むために図3に示す読み書き制御回路30に出力する。書き込みパリティ生成回路56は、書き込みパリティデータWP3−WP8を生成するパリティ生成回路の一例である。   The write parity generation circuit 56 generates 6-bit write parity data WP3-WP8 using 28-bit write data WD0-WD6, WD8-WD14, WD16-WD22, and WD24-WD30. The write parity generation circuit 56 outputs the generated write parity data WP3-WP8 to the read / write control circuit 30 shown in FIG. The write parity generation circuit 56 is an example of a parity generation circuit that generates the write parity data WP3-WP8.

図11は、図10に示す読み出しパリティ生成回路51、書き込みパリティ生成回路56、シンドローム生成回路52およびシンドロームデコーダ53で使用されるパリティ検査行列の一例を示す。図11に示すパリティ検査行列は、ハミング符号方式によるパリティ検査に使用される。   FIG. 11 shows an example of a parity check matrix used in the read parity generation circuit 51, the write parity generation circuit 56, the syndrome generation circuit 52, and the syndrome decoder 53 shown in FIG. The parity check matrix shown in FIG. 11 is used for parity check by the Hamming code method.

読み出しパリティ生成回路51は、パリティ検査行列の(a)列から(b1)列の28列の論理を用いて、読み出しデータRD0−RD6、RD8−RD14、RD16−RD22、RD24−RD30の読み出しパリティデータRP03−RP08を生成する。読み出しパリティ生成回路51は、図7に示す読み出しパリティ生成回路41と同様に、(a)列から(b1)列のパリティ検査行列の論理に対応する排他的論理和ゲートを有する。すなわち、読み出しデータRD0−RD6、RD8−RD14、RD16−RD22、RD24−RD30は、(a)列から(b1)列のそれぞれに対応し、読み出しパリティデータRP03−RP08は、パリティ検査行の第1行から第6行に対応する。読み出しパリティ生成回路51は、各行において論理1で示される列に対応する読み出しデータRD0−RD6、RD8−RD14、RD16−RD22、RD24−RD30の所定数の排他的論理和を演算する。そして、読み出しパリティ生成回路51は、得られた排他的論理和の論理を読み出しパリティデータRP03−RP08として出力する。   The read parity generation circuit 51 uses the logic of 28 columns from the (a) column to the (b1) column of the parity check matrix to read the read parity data of the read data RD0 to RD6, RD8 to RD14, RD16 to RD22, and RD24 to RD30. RP03-RP08 are generated. Similar to the read parity generation circuit 41 shown in FIG. 7, the read parity generation circuit 51 includes an exclusive OR gate corresponding to the logic of the parity check matrix from the (a) column to the (b1) column. That is, read data RD0-RD6, RD8-RD14, RD16-RD22, and RD24-RD30 correspond to columns (a) to (b1), respectively, and read parity data RP03-RP08 are the first in the parity check row. Corresponds to the sixth line. The read parity generation circuit 51 calculates a predetermined number of exclusive ORs of read data RD0 to RD6, RD8 to RD14, RD16 to RD22, and RD24 to RD30 corresponding to the column indicated by logic 1 in each row. Then, the read parity generation circuit 51 outputs the obtained exclusive OR logic as read parity data RP03 to RP08.

シンドローム生成回路52は、(c1)列から(h1)列の6列の論理を用いて、読み出しパリティデータRP3−RP8、RP03−RP08からシンドロームS3−S8を生成する。シンドローム生成回路52は、図7に示すシンドローム生成回路42と同様に、(c1)列から(h1)列のパリティ検査行列の論理に対応する排他的論理和ゲートを有する。すなわち、読み出しパリティデータRP3−RP8は、(c1)列から(h1)列のそれぞれに対応し、読み出しパリティデータRP03−RP08は、パリティ検査行の第1行から第6行に対応する。シンドローム生成回路52は、(c1)列から(h1)列において、論理1に対応する読み出しパリティデータ(RP3−RP8のいずれか)と読み出しパリティデータ(RP03−RP08のいずれか)の排他的論理和を演算する。そして、シンドローム生成回路52は、得られた排他的論理和の論理をシンドロームS3−S8として出力する。   The syndrome generation circuit 52 generates syndromes S3-S8 from the read parity data RP3-RP8 and RP03-RP08 using the logic of six columns from the (c1) column to the (h1) column. Similar to the syndrome generation circuit 42 shown in FIG. 7, the syndrome generation circuit 52 has an exclusive OR gate corresponding to the logic of the parity check matrix from the (c1) column to the (h1) column. That is, the read parity data RP3 to RP8 correspond to each of the columns (c1) to (h1), and the read parity data RP03 to RP08 correspond to the first to sixth rows of the parity check row. The syndrome generation circuit 52 performs exclusive OR of read parity data (any one of RP3 to RP8) and read parity data (any one of RP03 to RP08) corresponding to the logic 1 in the columns (c1) to (h1). Is calculated. Then, the syndrome generation circuit 52 outputs the obtained exclusive OR logic as syndromes S3 to S8.

シンドロームデコーダ53は、(a)列から(b1)列の28列の論理を用いて、シンドロームS3−S8から誤りが発生したビットを特定する。シンドロームデコーダ53の回路構成は、図7に示すシンドロームデコーダ43と同様である。すなわち、誤りビット情報E0−E6、E8−E14、E16−E22、E24−E30は、(a)列から(b1)列のそれぞれに対応し、シンドロームS3−S8は、パリティ検査行の第1行から第6行に対応する。シンドロームデコーダ53は、(a)列の論理を用いて誤りビット情報E0を生成し、(b)列の論理を用いて誤りビット情報E1を生成し、...、(b1)列の論理を用いて誤りビット情報E30を生成する。   The syndrome decoder 53 identifies the bit in which an error has occurred from the syndromes S3 to S8 using the logic of 28 columns from the (a) column to the (b1) column. The circuit configuration of the syndrome decoder 53 is the same as that of the syndrome decoder 43 shown in FIG. That is, error bit information E0-E6, E8-E14, E16-E22, E24-E30 corresponds to each of columns (a) to (b1), and syndromes S3-S8 are the first row of parity check rows. To 6th line. The syndrome decoder 53 generates (a) error bit information E0 using the column logic, (b) generates error bit information E1 using the column logic,. . . , (B1) The error bit information E30 is generated using the logic of the column.

書き込みパリティ生成回路56は、(a)列から(b1)列の28列の論理を用いて、書き込みデータWD0−WD6、WD8−WD14、WD16−WD22、WD24−WD30の書き込みパリティデータWP3−WP8を生成する。書き込みパリティ生成回路56の論理は、読み出しパリティ生成回路51の論理と同じである。書き込みデータWD0−WD6、WD8−WD14、WD16−WD22、WD24−WD30は、(a)列から(b1)列のそれぞれに対応し、書き込みパリティデータWP3−WP8は、パリティ検査行の第1行から第6行に対応する。   The write parity generation circuit 56 uses the logic of 28 columns from the (a) column to the (b1) column to write the write parity data WP3-WP8 of the write data WD0-WD6, WD8-WD14, WD16-WD22, WD24-WD30. Generate. The logic of the write parity generation circuit 56 is the same as the logic of the read parity generation circuit 51. Write data WD0-WD6, WD8-WD14, WD16-WD22, and WD24-WD30 correspond to columns (a) to (b1), respectively, and write parity data WP3-WP8 starts from the first row of the parity check row. Corresponds to the sixth line.

なお、図10に示すパリティ検査行列の論理にしたがって、図7と同様に、読み出しパリティ生成回路51およびシンドローム生成回路52の論理を設計する場合、直列に接続される排他的論理和ゲートの段数は、最大で17段になる。直列に接続される排他的論理和ゲートの段数は、パリティ検査行列の各行における論理1の個数から”1”を引いた数である。図8と同様に、読み出しパリティ生成回路51およびシンドローム生成回路52を融合し、排他的論理和ゲートを並列に配置する場合、排他的論理和ゲートの段数の最大値は、17段から5段に削減される。   When designing the logic of the read parity generation circuit 51 and the syndrome generation circuit 52 according to the logic of the parity check matrix shown in FIG. 10, the number of stages of exclusive OR gates connected in series is as follows. The maximum is 17 steps. The number of exclusive OR gates connected in series is the number obtained by subtracting “1” from the number of logic 1s in each row of the parity check matrix. Similarly to FIG. 8, when the read parity generation circuit 51 and the syndrome generation circuit 52 are merged and the exclusive OR gates are arranged in parallel, the maximum number of stages of the exclusive OR gate is changed from 17 to 5 stages. Reduced.

図12は、図10に示す誤り訂正回路54の一例を示す。誤り訂正回路54は、読み出しデータRD0−RD6、RD8−RD14、RD16−RD22、RD24−RD30とビット情報E0−E6、E8−E14、E16−E22、E24−E30とのそれぞれを受ける排他的論理和ゲートを有する。そして、誤り訂正回路54は、図7に示す誤り訂正回路44と同様に、誤りビット情報(例えば、E0)が論理1の場合に、読み出しデータ(例えば、RD0)の論理を反転することで、誤りを訂正する。誤り訂正回路54は、誤りを訂正したデータを出力データDO0−DO6、DO8−DO14、DO16−DO22、DO24−DO30として出力する。   FIG. 12 shows an example of the error correction circuit 54 shown in FIG. The error correction circuit 54 receives the read data RD0-RD6, RD8-RD14, RD16-RD22, RD24-RD30 and bit information E0-E6, E8-E14, E16-E22, E24-E30, respectively. Has a gate. Then, similarly to the error correction circuit 44 shown in FIG. 7, the error correction circuit 54 inverts the logic of the read data (for example, RD0) when the error bit information (for example, E0) is the logic 1, Correct the error. The error correction circuit 54 outputs the corrected data as output data DO0-DO6, DO8-DO14, DO16-DO22, DO24-DO30.

なお、読み出し動作において、誤りを訂正したデータを出力データDO0−DO6、DO8−DO14、DO16−DO22、DO24−DO30をメモリセルアレイ10に書き戻す手法が、半導体記憶装置MEM2に適用される場合がある。この場合、読み出しパリティデータRP3−RP8の誤りも訂正され、メモリセルアレイ10に書き戻される。読み出しパリティデータRP3−RP8の誤りを訂正するために、図11に示す(c1)列から(h1)列のパリティ検査行列の論理に対応するデコード回路が、シンドロームデコーダ53に設けられる。また、シンドロームデコーダ53により誤りが検出された読み出しパリティデータRP3−RP8のいずれかのビットを反転する排他的論理和ゲートが、誤り訂正回路54に設けられる。そして、出力データDO0−DO6、DO8−DO14、DO16−DO22、DO24−DO30および誤りが訂正された読み出しパリティデータRP3−RP8は、メモリセルアレイ10に書き戻される。この際、図10に示す置き換え回路55および書き込みパリティ生成回路56は、データの書き戻しに使用されない。   In the read operation, there is a case where a method of writing back the corrected data in the output data DO0-DO6, DO8-DO14, DO16-DO22, DO24-DO30 to the memory cell array 10 in the semiconductor memory device MEM2. . In this case, the error in the read parity data RP3-RP8 is also corrected and written back to the memory cell array 10. In order to correct errors in the read parity data RP3 to RP8, the syndrome decoder 53 is provided with a decode circuit corresponding to the logic of the parity check matrix of the columns (c1) to (h1) shown in FIG. In addition, an exclusive OR gate that inverts any bit of the read parity data RP <b> 3 to RP <b> 8 in which an error is detected by the syndrome decoder 53 is provided in the error correction circuit 54. Then, the output data DO0-DO6, DO8-DO14, DO16-DO22, DO24-DO30 and the read parity data RP3-RP8 in which the error is corrected are written back to the memory cell array 10. At this time, the replacement circuit 55 and the write parity generation circuit 56 shown in FIG. 10 are not used for data write-back.

図13は、図10に示す置き換え回路55の一例を示す。置き換え回路55は、図9に示す置き換え回路45と同様に、デコーダDECおよびセレクタSELを有する。デコーダDECは、図9に示すデコーダDECと同じである。   FIG. 13 shows an example of the replacement circuit 55 shown in FIG. The replacement circuit 55 includes a decoder DEC and a selector SEL similarly to the replacement circuit 45 shown in FIG. The decoder DEC is the same as the decoder DEC shown in FIG.

セレクタSELは、デコーダDECが求めたビット位置に基づいて、出力データDO0、DO8、DO16、DO24のいずれかを入力データDI00に置き換え、出力データDO1、DO9、DO17、DO25のいずれかを入力データDI01に置き換える。また、セレクタSELは、出力データDO2、DO10、DO18、DO26のいずれかを入力データDI02に置き換え、出力データDO3、DO11、DO19、DO27のいずれかを入力データDI03に置き換える。セレクタSELは、出力データDO4、DO12、DO20、DO28のいずれかを入力データDI04に置き換え、出力データDO5、DO13、DO21、DO29のいずれかを入力データDI05に置き換える。そして、セレクタSELは、出力データDO6、DO14、DO22、DO30のいずれかを入力データDI06に置き換える。   The selector SEL replaces any of the output data DO0, DO8, DO16, and DO24 with the input data DI00 based on the bit position obtained by the decoder DEC, and replaces any of the output data DO1, DO9, DO17, and DO25 with the input data DI01. Replace with The selector SEL replaces any of the output data DO2, DO10, DO18, and DO26 with the input data DI02, and replaces any of the output data DO3, DO11, DO19, and DO27 with the input data DI03. The selector SEL replaces any of the output data DO4, DO12, DO20, and DO28 with the input data DI04, and replaces any of the output data DO5, DO13, DO21, and DO29 with the input data DI05. Then, the selector SEL replaces any of the output data DO6, DO14, DO22, and DO30 with the input data DI06.

図14は、図3に示す半導体記憶装置MEM2の読み出し動作の一例を示す。まず、図4に示すコマンドデコーダCDECは、チップセレクト/CSがロウレベルに変化した後の最初の8クロックサイクルで入力端子SIを介して8ビットのデータ”00000011”を受ける(図14(a))。コマンドデコーダCDECは、データ”00000011”に基づいて読み出しコマンドを認識し、制御信号RCNTを出力する(図14(b))。   FIG. 14 shows an example of the read operation of the semiconductor memory device MEM2 shown in FIG. First, the command decoder CDEC shown in FIG. 4 receives 8-bit data “00000011” via the input terminal SI in the first 8 clock cycles after the chip select / CS changes to the low level (FIG. 14A). . The command decoder CDEC recognizes the read command based on the data “00000011” and outputs the control signal RCNT (FIG. 14B).

次に、図4に示すシフトレジスタSFTRIは、8番目から13番目のクロックサイクルで入力端子SIを介してアドレスA7−A2を受ける(図14(c))。図4に示す内部クロック生成回路64は、14番目のクロックサイクルで内部クロックICKを出力する(図14(d))。   Next, the shift register SFTRI shown in FIG. 4 receives the address A7-A2 via the input terminal SI in the eighth to thirteenth clock cycles (FIG. 14 (c)). The internal clock generation circuit 64 shown in FIG. 4 outputs the internal clock ICK in the 14th clock cycle (FIG. 14 (d)).

アドレスデコーダ20は、内部クロックICKに同期して、アドレスA7−A2を内部アドレスIA5−IA0として受け、デコード動作を開始する(図14(e))。メモリセルアレイ10は、アドレスデコーダ20によるデコードの結果に基づいて読み出し動作を開始する。そして、図3に示す読み書き制御回路30は、14番目のクロックサイクル中に、内部アドレスIA5−IA0が示す記憶領域から読み出した読み出しデータRD0−RD31と読み出しパリティデータRP0−RP8とを出力する(図14(f))。シフトレジスタSFTRIは、14番目と15番目のクロックサイクルで32ビットの読み出しデータRD0−RD31のうちの8ビットを選択するためのアドレスA1、A0を受ける(図14(g))。   The address decoder 20 receives the address A7-A2 as the internal address IA5-IA0 in synchronization with the internal clock ICK, and starts the decoding operation (FIG. 14 (e)). The memory cell array 10 starts a read operation based on the result of decoding by the address decoder 20. The read / write control circuit 30 shown in FIG. 3 outputs read data RD0-RD31 and read parity data RP0-RP8 read from the storage area indicated by the internal addresses IA5-IA0 during the fourteenth clock cycle (FIG. 3). 14 (f)). The shift register SFTRI receives addresses A1 and A0 for selecting 8 bits of 32-bit read data RD0 to RD31 in the 14th and 15th clock cycles (FIG. 14 (g)).

図3に示すパリティ制御回路40は、14番目のクロックサイクルで、読み出しデータRD7、RD15、RD23、RD31の誤りを読み出しパリティデータRP0−RP2を用いて訂正する。パリティ制御回路40は、誤りを訂正した読み出しデータRD7、RD15、RD23、RD31を出力データDO7、DO15、DO23、DO31として出力する(図14(h))。   The parity control circuit 40 shown in FIG. 3 corrects errors in the read data RD7, RD15, RD23, and RD31 using the read parity data RP0 to RP2 in the 14th clock cycle. The parity control circuit 40 outputs the read data RD7, RD15, RD23, and RD31 corrected for errors as output data DO7, DO15, DO23, and DO31 (FIG. 14 (h)).

図3に示すパリティ制御回路50は、14番目のクロックサイクルで、読み出しデータRD0−RD6、RD8−RD14、RD16−RD22、RD24−RD30の誤りを読み出しパリティデータRP3−RP8を用いて訂正する。パリティ制御回路50は、誤りを訂正した読み出しデータRD0−RD6、RD8−RD14、RD16−RD22、RD24−RD30を出力データDO0−DO6、DO8−DO14、DO16−DO22、DO24−DO30として出力する(図14(i))。ここで、パリティ制御回路40による誤りの訂正時間は、パリティ制御回路50による誤りの訂正時間より短い。このため、出力データDO7、DO15、DO23、DO31の出力時刻は、出力データDO0−DO6、DO8−DO14、DO16−DO22、DO24−DO30の出力時刻より早い。   The parity control circuit 50 shown in FIG. 3 corrects errors in the read data RD0-RD6, RD8-RD14, RD16-RD22, and RD24-RD30 using the read parity data RP3-RP8 in the 14th clock cycle. The parity control circuit 50 outputs the read data RD0 to RD6, RD8 to RD14, RD16 to RD22, and RD24 to RD30 whose errors are corrected as output data DO0 to DO6, DO8 to DO14, DO16 to DO22, and DO24 to DO30 (FIG. 14 (i)). Here, the error correction time by the parity control circuit 40 is shorter than the error correction time by the parity control circuit 50. For this reason, the output time of the output data DO7, DO15, DO23, DO31 is earlier than the output time of the output data DO0-DO6, DO8-DO14, DO16-DO22, DO24-DO30.

図4に示す選択回路66は、14番目から15番目のクロックサイクルにかけて、アドレスA1−A0に基づいて、誤りが訂正された読み出しデータRD0−RD31のうちの8ビットを選択し、シフトレジスタSFTROに転送する(図14(j))。図14に示す例では、選択回路66は、アドレスA1−A0=”00”に基づいて、読み出しデータRD0−RD7(データD0−D7)を選択する。   The selection circuit 66 shown in FIG. 4 selects 8 bits from the read data RD0 to RD31 in which the error is corrected based on the addresses A1 to A0 from the 14th to the 15th clock cycles, and stores them in the shift register SFTR. Transfer (FIG. 14 (j)). In the example shown in FIG. 14, the selection circuit 66 selects read data RD0-RD7 (data D0-D7) based on the address A1-A0 = "00".

例えば、選択回路66からシフトレジスタSFTROへの読み出しデータRD7−RD0の転送は、誤りの訂正時間に応じて変化する。読み出しデータRD7は、読み出しデータRD6−RD0に比べて誤りの訂正時間が短いため、シフトレジスタSFTROへの転送時刻は、読み出しデータRD6−RD0の転送時刻に比べて早い。図14では、読み出しデータRD6−RD0がシフトレジスタSFTROに転送されるタイミングを斜線の矩形で示す。   For example, the transfer of the read data RD7-RD0 from the selection circuit 66 to the shift register SFTR changes according to the error correction time. Since the read data RD7 has a shorter error correction time than the read data RD6-RD0, the transfer time to the shift register SFTR is earlier than the transfer time of the read data RD6-RD0. In FIG. 14, the timing at which the read data RD6-RD0 is transferred to the shift register SFTR is indicated by hatched rectangles.

シフトレジスタSFTR0は、16番目のクロックサイクルで、データD7を出力端子SOに出力する(図14(k))。この後、シフトレジスタSFTR0は、17番目から23番目のクロックサイクルで、データD6−D0を出力端子SOに順次に出力する(図14(l))。そして、クロックSCKが停止し、チップセレクト/CSがハイレベルに変化し、読み出し動作が完了する。   The shift register SFTR0 outputs the data D7 to the output terminal SO in the 16th clock cycle (FIG. 14 (k)). Thereafter, the shift register SFTR0 sequentially outputs data D6-D0 to the output terminal SO in the 17th to 23rd clock cycles (FIG. 14 (l)). Then, the clock SCK stops, the chip select / CS changes to high level, and the read operation is completed.

なお、読み出しデータRD6−RD0に対応するデータD6−D0は、データD7が出力端子SO7から出力されるタイミングで、シフトレジスタSFTROに格納されていなくてもよい。データD6−D0は、16番目のクロックSCKの立ち上がりエッジまでにシフトレジスタSFTROに格納されていればよい。   Note that the data D6-D0 corresponding to the read data RD6-RD0 may not be stored in the shift register SFTR at the timing when the data D7 is output from the output terminal SO7. The data D6-D0 only needs to be stored in the shift register SFTR by the rising edge of the 16th clock SCK.

例えば、データD6−D0のシフトレジスタSFTROへの格納タイミングが、16番目のクロックSCKの立ち上がりエッジまでに間に合わないことが予め分かっているとする。この場合、選択回路66は、シフトレジスタSFTROにおいて、最上位ビット側に1ビットずらした位置にデータD6−D0を格納してもよい。ビット位置をずらすために、図4において、例えば、データD6−D0に対応する出力データDOUTを、16番目のクロックSCKの立ち上がりエッジに同期して、最上位ビット側に1ビットずらす切り替え回路が設けられる。   For example, it is assumed in advance that the storage timing of the data D6-D0 in the shift register SFTR is not in time for the rising edge of the 16th clock SCK. In this case, the selection circuit 66 may store the data D6 to D0 at a position shifted by 1 bit on the most significant bit side in the shift register SFTR. In order to shift the bit position, in FIG. 4, for example, a switching circuit for shifting the output data DOUT corresponding to the data D6-D0 by one bit to the most significant bit side in synchronization with the rising edge of the 16th clock SCK is provided. It is done.

図15は、図14に示す読み出し動作の要部の一例を示す。図15の上側の波形は、図3に示す半導体記憶装置MEM2の動作(すなわち、図14の動作)を示し、図15の下側の波形は、読み出しデータRD0−RD31の誤りを1つの誤り検出回路で一度に訂正する半導体記憶装置の動作(比較例)を示す。   FIG. 15 shows an example of a main part of the read operation shown in FIG. The upper waveform in FIG. 15 shows the operation of the semiconductor memory device MEM2 shown in FIG. 3 (that is, the operation in FIG. 14), and the lower waveform in FIG. 15 detects errors in the read data RD0 to RD31 as one error detection. An operation (comparative example) of a semiconductor memory device in which correction is performed at once by a circuit will be described.

アドレスデコーダ20は、内部クロックICKの立ち上がりエッジに同期して、14番目のクロックサイクルでアドレスIA0−IA5をデコードする動作を開始する。また、最初のデータD7は、16番目のクロックサイクルで出力端子SOに出力される。このため、アドレスデコーダ20とメモリセルアレイ10との動作期間、読み出しデータRD7、RD15、RD23、RD31の誤り訂正期間およびデータD7の選択期間の合計が2クロックサイクル以下になるように、クロックSCKの周波数が設定される。以下、アドレスデコーダ20とメモリセルアレイ10との動作期間、読み出しデータRD7、RD15、RD23、RD31の誤り訂正期間およびデータD7の選択期間の合計は、内部動作期間と称される。   The address decoder 20 starts an operation of decoding the addresses IA0 to IA5 in the 14th clock cycle in synchronization with the rising edge of the internal clock ICK. The first data D7 is output to the output terminal SO in the 16th clock cycle. Therefore, the frequency of the clock SCK is set so that the total of the operation period of the address decoder 20 and the memory cell array 10, the error correction period of the read data RD7, RD15, RD23, and RD31 and the selection period of the data D7 is two clock cycles or less. Is set. Hereinafter, the total of the operation period of the address decoder 20 and the memory cell array 10, the error correction period of the read data RD7, RD15, RD23, and RD31 and the selection period of the data D7 is referred to as an internal operation period.

2クロックサイクルの周期は、クロックSCKの周波数を”f”とすると、”2/f”で表される。内部動作期間は周期2/f以下を満たすため(2/f≧内部動作期間)、半導体記憶装置MEM2のクロックSCKの最大周波数fmaxは、”2/内部動作期間”になる。例えば、内部動作期間が80ナノ秒の場合、クロックSCKの最大周波数fmaxは、25MHz(メガヘルツ)になる。   The period of two clock cycles is represented by “2 / f”, where the frequency of the clock SCK is “f”. Since the internal operation period satisfies the cycle 2 / f or less (2 / f ≧ internal operation period), the maximum frequency fmax of the clock SCK of the semiconductor memory device MEM2 becomes “2 / internal operation period”. For example, when the internal operation period is 80 nanoseconds, the maximum frequency fmax of the clock SCK is 25 MHz (megahertz).

一方、メモリセルアレイ10から出力される32ビットの読み出しデータRD0−RD31の誤りを1つの誤り検出回路で一度に訂正する場合、誤り検出回路の回路規模は、図5から図9に示すパリティ制御回路40の回路規模より大きくなる。例えば、誤り検出回路に設けられる読み出しパリティ生成回路およびシンドローム生成回路において、直列に接続される排他的論理和ゲートの数は増加する。これにより、読み出しデータRD0−RD31の誤り訂正期間は、図15の上側の波形に比べて長くなる。アドレスデコーダ、メモリセルアレイの動作期間、読み出しデータRD0−RD31の誤り訂正期間およびデータD7の選択期間の合計は、図15の上側の波形においても、2クロックサイクル以下に制限される。この結果、クロックSCKの周期は、図15の上側の波形に比べて長くなり、クロックSCKの周波数は、図15の上側の波形に比べて低くなる。換言すれば、図3に示す半導体記憶装置MEM2では、クロックSCKの周波数を従来に比べて高くすることができ、データの読み出し時間を短縮することができる。   On the other hand, when errors in 32-bit read data RD0-RD31 output from the memory cell array 10 are corrected at one time by one error detection circuit, the circuit scale of the error detection circuit is the parity control circuit shown in FIGS. More than 40 circuit scales. For example, in the read parity generation circuit and the syndrome generation circuit provided in the error detection circuit, the number of exclusive OR gates connected in series increases. As a result, the error correction period of the read data RD0 to RD31 becomes longer than the upper waveform in FIG. The total of the operation period of the address decoder, the memory cell array, the error correction period of the read data RD0 to RD31, and the selection period of the data D7 is also limited to 2 clock cycles or less in the upper waveform of FIG. As a result, the cycle of the clock SCK is longer than the upper waveform in FIG. 15, and the frequency of the clock SCK is lower than the upper waveform in FIG. In other words, in the semiconductor memory device MEM2 shown in FIG. 3, the frequency of the clock SCK can be increased as compared with the conventional case, and the data read time can be shortened.

なお、図3に示す半導体記憶装置MEM2では、出力端子SOから順次に出力される8ビットのデータD7−D0の4倍の読み出しデータRD0−RD31がメモリセルアレイ10から出力される。入力端子SIで順次に受けるアドレスA0−A1は、32ビットの読み出しデータRD0−RD31のうちの8ビットを選択するために使用され、アドレスデコーダ20では使用されない。このため、アドレスA0−A1が供給される2クロックサイクルは、内部動作期間に割り当てられる。   In the semiconductor memory device MEM2 shown in FIG. 3, read data RD0-RD31 that is four times the 8-bit data D7-D0 sequentially output from the output terminal SO is output from the memory cell array 10. Addresses A0-A1 received sequentially at input terminal SI are used to select 8 bits of 32-bit read data RD0-RD31, and are not used by address decoder 20. For this reason, the two clock cycles to which the addresses A0 to A1 are supplied are allocated to the internal operation period.

例えば、メモリセルアレイから出力される64ビットの読み出しデータRD0−RD63のうちの8ビットを選択して出力端子SOから出力する半導体記憶装置では、3クロックサイクルが内部動作期間に割り当て可能である。メモリセルアレイから出力される16ビットの読み出しデータRD0−RD15のうちの8ビットを選択して出力端子SOから出力する半導体記憶装置では、1クロックサイクルが内部動作期間に割り当て可能である。メモリセルアレイから出力される読み出しデータのビット数が”2のn乗(nは4以上の整数)であり、出力端子SOから8ビットのデータが順次に出力される場合、クロックSCKの最大周波数は、”(n−3)/内部動作期間”で表される。   For example, in a semiconductor memory device that selects 8 bits out of 64-bit read data RD0 to RD63 output from the memory cell array and outputs the selected data from the output terminal SO, 3 clock cycles can be assigned to the internal operation period. In a semiconductor memory device that selects 8 bits out of 16-bit read data RD0 to RD15 output from the memory cell array and outputs the selected data from the output terminal SO, one clock cycle can be allocated to the internal operation period. When the number of bits of read data output from the memory cell array is “2 to the power of n” (n is an integer of 4 or more) and 8-bit data is sequentially output from the output terminal SO, the maximum frequency of the clock SCK is , “(N−3) / internal operation period”.

図16は、図3に示す半導体記憶装置MEM2の書き込み動作の一例を示す。図14と同様の動作については、詳細な説明は省略する。   FIG. 16 shows an example of the write operation of the semiconductor memory device MEM2 shown in FIG. Detailed description of operations similar to those in FIG. 14 is omitted.

書き込み動作を実行する書き込みコマンドは、チップセレクト/CSがロウレベルに変化した後の最初の8クロックサイクルで入力端子SIを介して受ける8ビットのデータ”00000010”により認識される(図16(a))。コマンドデコーダCDECは、データ”00000010”に基づいて書き込みコマンドを認識し、制御信号WCNTを出力する(図16(b))。   The write command for executing the write operation is recognized by 8-bit data “00000010” received via the input terminal SI in the first 8 clock cycles after the chip select / CS changes to the low level (FIG. 16A). ). The command decoder CDEC recognizes the write command based on the data “00000010” and outputs the control signal WCNT (FIG. 16B).

次に、シフトレジスタSFTRIは、8番目から13番目のクロックサイクルで入力端子SIからアドレスA7−A2を受け、受けたアドレスA7−A2を内部アドレスIA5−IA0としてアドレスデコーダ20に出力する(図16(c))。内部クロック生成回路64は、14番目のクロックサイクルに内部クロックICKを出力する(図16(d))。   Next, the shift register SFTRI receives the address A7-A2 from the input terminal SI in the eighth to thirteenth clock cycles, and outputs the received address A7-A2 to the address decoder 20 as the internal address IA5-IA0 (FIG. 16). (C)). The internal clock generation circuit 64 outputs the internal clock ICK in the 14th clock cycle (FIG. 16 (d)).

アドレスデコーダ20は、内部クロックICKに同期してデコード動作を開始し、メモリセルアレイ10は、アドレスデコーダ20によるデコードの結果に基づいて書き込み動作を開始する(図16(e))。この後、図14と同様に、パリティ制御回路40、50により、読み出しデータRD7、RD15、RD23、RD31および読み出しデータRD0−RD6、RD8−RD14、RD16−RD22、RD24−RD30の誤りがそれぞれ訂正される。パリティ制御回路40、50は、誤りが訂正された出力データDO7、DO15、DO23、DO31および出力データDO0−DO6、DO8−DO14、DO16−DO22、DO24−DO30をそれぞれ出力する(図16(f)、(g))。   The address decoder 20 starts a decoding operation in synchronization with the internal clock ICK, and the memory cell array 10 starts a writing operation based on the decoding result by the address decoder 20 (FIG. 16 (e)). Thereafter, as in FIG. 14, the parity control circuits 40 and 50 correct the errors of the read data RD7, RD15, RD23, and RD31 and the read data RD0-RD6, RD8-RD14, RD16-RD22, and RD24-RD30, respectively. The The parity control circuits 40 and 50 output the output data DO7, DO15, DO23, and DO31 and the output data DO0-DO6, DO8-DO14, DO16-DO22, and DO24-DO30, respectively, in which errors are corrected (FIG. 16 (f)). (G)).

シフトレジスタSFTRIは、14番目と15番目のクロックサイクルで、8ビットの書き込みデータを32ビット中のいずれの8ビットの位置に書き込むかを示すアドレスA1、A0を受ける(図16(h))。   The shift register SFTRI receives addresses A1 and A0 indicating which 8-bit write data is written in 32 bits in the 14th and 15th clock cycles (FIG. 16 (h)).

この後、シフトレジスタSFTRIは、16番目から23番目のクロックサイクルで、8ビットの書き込みデータD7−D0を順次に受ける(図16(i))。図5に示す置き換え回路45は、出力データDO7、DO15、DO23、DO31のいずれかをシフトレジスタSFTRIから受けるデータDI00に置き換え、書き込みデータWD7、WD15、WD23、WD31を生成する(図16(j))。図5に示す書き込みパリティ回路46は、書き込みデータWD7、WD15、WD23、WD31の書き込みパリティデータWP0−WP2を生成する。   Thereafter, the shift register SFTRI sequentially receives 8-bit write data D7-D0 in the 16th to 23rd clock cycles (FIG. 16 (i)). The replacement circuit 45 shown in FIG. 5 replaces any of the output data DO7, DO15, DO23, and DO31 with data DI00 received from the shift register SFTRI, and generates write data WD7, WD15, WD23, and WD31 (FIG. 16 (j)). ). The write parity circuit 46 shown in FIG. 5 generates write parity data WP0 to WP2 of the write data WD7, WD15, WD23, and WD31.

一方、図10に示す置き換え回路55は、出力データDO0−DO6、DO8−DO14、DO16−DO22、DO24−DO30のいずれか7ビットをシフトレジスタSFTRIから受けるデータDI00−DI06で置き換える。そして、置き換え回路55は、書き込みデータWD0−WD6、WD8−WD14、WD16−WD22、WD24−WD30を生成する(図16(k))。図10に示す書き込みパリティ回路56は、書き込みデータWD0−WD6、WD8−WD14、WD16−WD22、WD24−WD30の書き込みパリティデータWP3−WP8を生成する。   On the other hand, replacement circuit 55 shown in FIG. 10 replaces any 7 bits of output data DO0-DO6, DO8-DO14, DO16-DO22, and DO24-DO30 with data DI00-DI06 received from shift register SFTRI. Then, the replacement circuit 55 generates write data WD0-WD6, WD8-WD14, WD16-WD22, and WD24-WD30 (FIG. 16 (k)). The write parity circuit 56 shown in FIG. 10 generates write parity data WP3-WP8 of the write data WD0-WD6, WD8-WD14, WD16-WD22, and WD24-WD30.

そして、書き込みデータWD0−WD31および書き込みパリティデータWP0−WP8がメモリセルアレイ10に書き込まれる。書き込みデータD0が入力端子SIに供給された後、クロックSCKが停止し、チップセレクト/CSがハイレベルに変化し、書き込み動作が完了する。なお、メモリセルアレイ10への書き込みデータWD0−WD31および書き込みパリティデータWP0−WP8の書き込みは、チップセレクト/CSがハイレベルに変化した後に完了されてもよい。   Then, write data WD 0 -WD 31 and write parity data WP 0 -WP 8 are written into the memory cell array 10. After the write data D0 is supplied to the input terminal SI, the clock SCK stops, the chip select / CS changes to high level, and the write operation is completed. Note that the writing of the write data WD0-WD31 and the write parity data WP0-WP8 to the memory cell array 10 may be completed after the chip select / CS changes to high level.

以上、図3から図16に示す実施形態においても、図1および図2に示す実施形態と同様に、読み出しコマンドを受けてから先頭データ(例えば、D7)を出力するまでの時間を従来に比べて短縮することができる。この結果、半導体記憶装置MEM2の性能を向上することができる。   As described above, in the embodiment shown in FIGS. 3 to 16 as well, in the same way as the embodiment shown in FIGS. Can be shortened. As a result, the performance of the semiconductor memory device MEM2 can be improved.

さらに、図3から図16に示す実施形態では、誤り訂正回路44は、出力端子SOから出力する先頭データとなる4ビットのデータ(D7、D15、D23、D31)の誤りを訂正し、誤り訂正回路54は、先頭データに続く28ビットのデータの誤りを訂正する。これにより、先頭データの誤りを訂正する誤り訂正回路44の回路規模を誤り訂正回路54の回路規模より小さくすることができ、誤り訂正回路44による誤りの訂正時間を、誤り訂正回路54による誤りの訂正時間より短くできる。この結果、出力端子SOから出力する最初のデータ(例えば、D7)の出力タイミングを、従来に比べて速くすることができる。   Further, in the embodiment shown in FIGS. 3 to 16, the error correction circuit 44 corrects an error of 4-bit data (D7, D15, D23, D31), which is the head data output from the output terminal SO, and corrects the error. The circuit 54 corrects an error in 28-bit data following the head data. Thereby, the circuit scale of the error correction circuit 44 for correcting the error of the head data can be made smaller than the circuit scale of the error correction circuit 54, and the error correction time by the error correction circuit 44 is reduced by the error correction circuit 54. Can be shorter than the correction time. As a result, the output timing of the first data (for example, D7) output from the output terminal SO can be made faster than before.

メモリセルアレイ10から出力される32ビットのデータのうちの8ビットを選択回路66により選択する半導体記憶装置MEM2においても、先頭データの出力端子SOからの出力タイミングを、従来に比べて早くすることができる。この際、誤り訂正回路44は、出力端子SOから出力する先頭データとなる読み出しデータRD7、RD15、RD23、RD31の誤りを訂正する。これにより、アドレスA0−A1により選択される先頭データに拘わらず、先頭データの出力タイミングを従来に比べて早くすることができる。   In the semiconductor memory device MEM2 that selects 8 bits of the 32-bit data output from the memory cell array 10 by the selection circuit 66, the output timing of the head data from the output terminal SO can be made earlier than before. it can. At this time, the error correction circuit 44 corrects errors in the read data RD7, RD15, RD23, and RD31 that are the head data output from the output terminal SO. Thereby, irrespective of the head data selected by the addresses A0 to A1, the output timing of the head data can be made earlier than in the prior art.

置き換え回路45、55は、誤りが訂正された読み出しデータの一部を入力端子SIで受けた書き込みデータで置き換える。これにより、入力端子SIで受ける書き込みデータよりビット幅が大きいデータD0−D31をメモリセルアレイ10に記憶する場合にも、書き込みデータとパリティデータとの整合性を保持することができる。   The replacement circuits 45 and 55 replace a part of the read data whose error is corrected with the write data received at the input terminal SI. Thereby, even when data D0-D31 having a bit width larger than the write data received at the input terminal SI is stored in the memory cell array 10, the consistency between the write data and the parity data can be maintained.

置き換え回路45および書き込みパリティ生成回路46は、先頭データに対応する書き込みデータWD7、WD15、WD23、WD31の書き込みパリティデータWP0−WP2を生成する。置き換え回路55および書き込みパリティ生成回路56は、先頭データに続く後続のデータに対応する書き込みデータWD0−WD6、WD8−WD14、WD16−WD22、WD24−WD30の書き込みパリティデータWP3−WP8を生成する。これにより、誤り訂正回路44、54による誤り訂正で使用するパリティデータP0−P2、P3−P8のそれぞれをメモリセルアレイ10に保持させることができ、誤り訂正回路44、54による誤り訂正を正常に実行することができる。   The replacement circuit 45 and the write parity generation circuit 46 generate write parity data WP0 to WP2 of the write data WD7, WD15, WD23, and WD31 corresponding to the head data. The replacement circuit 55 and the write parity generation circuit 56 generate write parity data WP3-WP8 of the write data WD0-WD6, WD8-WD14, WD16-WD22, WD24-WD30 corresponding to the subsequent data following the head data. Thereby, each of the parity data P0 to P2 and P3 to P8 used for error correction by the error correction circuits 44 and 54 can be held in the memory cell array 10, and the error correction by the error correction circuits 44 and 54 is normally executed. can do.

図17は、半導体記憶装置および半導体記憶装置の制御方法の別の実施形態を示す。図3から図16に示した実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。   FIG. 17 shows another embodiment of the semiconductor memory device and the method for controlling the semiconductor memory device. The same or similar elements as those described in the embodiment shown in FIGS. 3 to 16 are denoted by the same reference numerals, and detailed description thereof will be omitted.

この実施形態の半導体記憶装置MEM3は、8ビットのデータD0−D7と、データD7の誤りを訂正するためのパリティデータP0−P1と、データD0−D6の誤りを訂正するためのパリティデータP2−P5とを記憶するメモリセルアレイ10aを有する。例えば、メモリセルアレイ10aは、6ビットのアドレスIA0−IA5に応じて、64個のデータ群D0−D7(すなわち、512ビット)を保持する複数のメモリセルを有する。   The semiconductor memory device MEM3 of this embodiment includes 8-bit data D0-D7, parity data P0-P1 for correcting an error in the data D7, and parity data P2- for correcting an error in the data D0-D6. A memory cell array 10a for storing P5. For example, the memory cell array 10a includes a plurality of memory cells that hold 64 data groups D0 to D7 (that is, 512 bits) according to 6-bit addresses IA0 to IA5.

アドレスデコーダ20は、図3のアドレスデコーダ20と同じである。読み書き制御回路30aは、メモリセルアレイ10aに入出力するデータのビット幅が14ビットであることを除き、図3に示す読み書き制御回路30と同様の機能を有する。   The address decoder 20 is the same as the address decoder 20 of FIG. The read / write control circuit 30a has the same function as that of the read / write control circuit 30 shown in FIG. 3 except that the bit width of data input / output to / from the memory cell array 10a is 14 bits.

パリティ制御回路40aは、図5に示す置き換え回路45を持たないことを除き、図5に示すパリティ制御回路40と同様の回路である。パリティ制御回路50aは、図10に示す置き換え回路55を持たないことを除き、図10に示すパリティ制御回路50と同様の回路である。半導体記憶装置MEM3では、メモリセルアレイ10aに対して入出力されるデータD0−D7のビット数は、入力端子SIで受ける書き込みデータのビット数および出力端子SOに出力される読み出しデータのビット数と等しい。このため、パリティ制御回路40aは、図5に示す置き換え回路45を持たず、パリティ制御回路50aは、図10に示す置き換え回路55を持たない。パリティ制御回路40a、50aは、読み出しデータと書き込みデータとの合成をしないため、図3に示すアドレスA0−A1を受けない。   The parity control circuit 40a is a circuit similar to the parity control circuit 40 shown in FIG. 5 except that it does not have the replacement circuit 45 shown in FIG. The parity control circuit 50a is a circuit similar to the parity control circuit 50 shown in FIG. 10 except that the parity control circuit 50a does not have the replacement circuit 55 shown in FIG. In the semiconductor memory device MEM3, the number of bits of data D0 to D7 input / output to / from the memory cell array 10a is equal to the number of bits of write data received at the input terminal SI and the number of bits of read data output to the output terminal SO. . For this reason, the parity control circuit 40a does not have the replacement circuit 45 shown in FIG. 5, and the parity control circuit 50a does not have the replacement circuit 55 shown in FIG. Since the parity control circuits 40a and 50a do not synthesize read data and write data, they do not receive the addresses A0 to A1 shown in FIG.

パリティ制御回路40aは、読み出し動作時に、読み出しデータRD7の誤りを読み出しパリティデータRP0−RP1を用いて訂正して出力データDO7を生成し、先頭データとして出力端子SOに出力する。パリティ制御回路40aは、書き込み動作時に、入力端子SIを介して受ける先頭の入力データDI07の書き込みパリティデータWP0−WP1を生成し、入力データDI07と書き込みパリティデータWP0−WP1とをメモリセルアレイ10aに出力する。   During the read operation, the parity control circuit 40a corrects an error in the read data RD7 using the read parity data RP0 to RP1, generates output data DO7, and outputs it as output data to the output terminal SO. The parity control circuit 40a generates write parity data WP0-WP1 of the first input data DI07 received through the input terminal SI during the write operation, and outputs the input data DI07 and the write parity data WP0-WP1 to the memory cell array 10a. To do.

パリティ制御回路50aは、読み出し動作時に、読み出しデータRD0−RD6の誤りを読み出しパリティデータRP2−RP5を用いて訂正して出力データDO0−DO6を生成し、先頭データ(D7)に続いて出力端子SOに出力する。パリティ制御回路50aは、書き込み動作時に、入力端子SIを介して入力データDI07に続いて受ける入力データDI06−DI00の書き込みパリティデータWP2−WP5を生成する。そして、パリティ制御回路50aは、入力データDI06−DI00と書き込みパリティデータWP2−WP5とをメモリセルアレイ10aに出力する。   During the read operation, the parity control circuit 50a corrects errors in the read data RD0 to RD6 using the read parity data RP2 to RP5 to generate output data DO0 to DO6, and outputs the output data SO following the head data (D7). Output to. The parity control circuit 50a generates write parity data WP2-WP5 of the input data DI06-DI00 received following the input data DI07 via the input terminal SI during the write operation. Then, the parity control circuit 50a outputs the input data DI06-DI00 and the write parity data WP2-WP5 to the memory cell array 10a.

入出力制御回路60aは、図4に示す選択回路66を持たないことを除き、図4に示す選択回路66と同様の回路である。入出力制御回路60aの例は、図18に示す。   The input / output control circuit 60a is the same circuit as the selection circuit 66 shown in FIG. 4 except that it does not have the selection circuit 66 shown in FIG. An example of the input / output control circuit 60a is shown in FIG.

図18は、図17に示す入出力制御回路60aの一例を示す。入出力制御回路60aは、選択回路66を持たないことを除き、図4に示す入出力制御回路60と同様である。すなわち、シフトレジスタSFTROは、図17に示すパリティ制御回路50aから出力される出力データDO0−DO7を直接受ける。また、図4に示すアドレスA0−A1は、入力端子SIに供給されないため、シフトレジスタSFTRIは、アドレスA0−A1を出力しない。   FIG. 18 shows an example of the input / output control circuit 60a shown in FIG. The input / output control circuit 60a is the same as the input / output control circuit 60 shown in FIG. 4 except that the selection circuit 66 is not provided. That is, shift register SFTR directly receives output data DO0-DO7 output from parity control circuit 50a shown in FIG. Further, since the address A0-A1 shown in FIG. 4 is not supplied to the input terminal SI, the shift register SFTRI does not output the address A0-A1.

図19は、図17に示す半導体記憶装置MEM3の読み出し動作の一例を示す。図14と同様の動作については、詳細な説明は省略する。半導体記憶装置MEM3の読み出し動作は、アドレスA1−A0を受けるクロックサイクルが省略されることを除き、図14に示す読み出し動作と同様である。13番目のクロックサイクルまでの動作は、図14と同じである。   FIG. 19 shows an example of the read operation of the semiconductor memory device MEM3 shown in FIG. Detailed description of operations similar to those in FIG. 14 is omitted. The read operation of the semiconductor memory device MEM3 is the same as the read operation shown in FIG. 14 except that the clock cycle that receives the addresses A1-A0 is omitted. The operation up to the 13th clock cycle is the same as in FIG.

アドレスA1−A0を受けるクロックサイクルが省略されるため、メモリセルアレイ10aから出力される読み出しデータRD7(D7)の誤り訂正は、内部クロックICKが生成される14番目のクロックサイクルの終わりまでに実行される。そして、誤りが訂正された出力データDO7が生成される(図19(a))。出力データDO7に対応するデータD7は、15番目のクロックサイクルで出力端子SOに出力される(図19(b))。   Since the clock cycle for receiving the addresses A1-A0 is omitted, error correction of the read data RD7 (D7) output from the memory cell array 10a is executed by the end of the 14th clock cycle in which the internal clock ICK is generated. The Then, output data DO7 in which the error is corrected is generated (FIG. 19A). Data D7 corresponding to the output data DO7 is output to the output terminal SO in the fifteenth clock cycle (FIG. 19 (b)).

また、15番目のクロックサイクルの終わりまでに、読み出しデータRD0−RD6の誤りが訂正され、出力データDO0−DO6が生成される(図19(c))。そして、出力データDO6−DO0に対応するデータD6−D0は、16番目から22番目のクロックサイクルで出力端子SOに順次に出力される(図19(d))。すなわち、先頭データD7より後に出力されるデータD6−D0の誤り訂正に掛かる時間は、先頭データD7の誤り訂正に掛かる時間より長くてもよい。換言すれば、パリティ制御回路40aにより先頭データD7の誤りを訂正し、パリティ制御回路50aにより残りのデータD6−D0の誤りを訂正することで、先頭データD7を出力するまでの時間を従来に比べて短縮することができる。   Further, by the end of the fifteenth clock cycle, errors in the read data RD0-RD6 are corrected, and output data DO0-DO6 are generated (FIG. 19 (c)). The data D6-D0 corresponding to the output data DO6-DO0 are sequentially output to the output terminal SO in the 16th to 22nd clock cycles (FIG. 19 (d)). That is, the time required for error correction of data D6-D0 output after head data D7 may be longer than the time required for error correction of head data D7. In other words, by correcting the error of the head data D7 by the parity control circuit 40a and correcting the error of the remaining data D6-D0 by the parity control circuit 50a, the time until the head data D7 is output is compared with the conventional time. Can be shortened.

図20は、図17に示す半導体記憶装置MEM3の書き込み動作の一例を示す。図16と同様の動作については、詳細な説明は省略する。13番目のクロックサイクルまでの動作は、図16と同じである。   FIG. 20 shows an example of the write operation of the semiconductor memory device MEM3 shown in FIG. Detailed description of the same operations as those in FIG. 16 is omitted. The operation up to the 13th clock cycle is the same as in FIG.

半導体記憶装置MEM3は、書き込みデータによる読み出しデータの置き換えをしないため、書き込み動作時にメモリセルアレイ10aからデータを読み出さず、読み出しデータの誤りを訂正しない。このため、アドレスデコーダ20は、メモリセルアレイ10aへのデータの書き込みに合わせて動作すればよく、内部クロックICKは、21番目のクロックサイクルに生成される(図20(a))。13番目のクロックサイクルでシフトレジスタSFTRIから出力されるアドレスIA0−IA5は、21番目のクロックサイクルまでアドレスデコーダ20内で保持される(図20(b))。アドレスデコーダ20は、内部クロックICKに同期してデコード動作を開始し、メモリセルアレイ10aは、アドレスデコーダ20によるデコードの結果に基づいて書き込み動作を開始する(図20(c))。   Since the semiconductor memory device MEM3 does not replace the read data with the write data, it does not read data from the memory cell array 10a during the write operation, and does not correct errors in the read data. For this reason, the address decoder 20 only needs to operate in accordance with the data writing to the memory cell array 10a, and the internal clock ICK is generated in the 21st clock cycle (FIG. 20A). The addresses IA0 to IA5 output from the shift register SFTRI in the thirteenth clock cycle are held in the address decoder 20 until the twenty-first clock cycle (FIG. 20B). The address decoder 20 starts a decoding operation in synchronization with the internal clock ICK, and the memory cell array 10a starts a writing operation based on the decoding result by the address decoder 20 (FIG. 20 (c)).

なお、内部クロックICKは、図16と同様に、14番目のクロックサイクルで生成されてもよい。この場合、アドレスデコーダ20は、14番目のクロックサイクルでデコード動作を開始し、メモリセルアレイ10aは、アドレスデコーダ20によるデコードの結果に基づいて書き込み動作を開始する。しかしながら、メモリセルアレイ10aの消費電力を削減する観点から、内部クロックICKは、21番目のクロックサイクルに生成することが望ましい。   The internal clock ICK may be generated in the 14th clock cycle, as in FIG. In this case, the address decoder 20 starts the decoding operation at the 14th clock cycle, and the memory cell array 10a starts the writing operation based on the decoding result by the address decoder 20. However, from the viewpoint of reducing the power consumption of the memory cell array 10a, it is desirable to generate the internal clock ICK in the 21st clock cycle.

シフトレジスタSFTRIは、14番目から21番目のクロックサイクルで、8ビットの書き込みデータD7−D0を順次に受ける(図20(d))。図17に示すパリティ制御回路40aは、データD7に対応する書き込みデータWD7の書き込みパリティデータWP0−WP1を生成し、書き込みデータWD7および書き込みパリティデータWP0−WP1をメモリセルアレイ10aに出力する(図20(e))。図17に示すパリティ制御回路50aは、データD0−D6に対応する書き込みデータWD0−WD6の書き込みパリティデータWP2−WP5を生成する。パリティ制御回路50aは、書き込みデータWD0−WD6および書き込みパリティデータWP2−WP5をメモリセルアレイ10aに出力する(図20(f))。そして、書き込みデータWD0−WD7および書き込みパリティデータWP0−WP5がメモリセルアレイ10aに書き込まれる。なお、メモリセルアレイ10aへの書き込みデータWD0−WD7および書き込みパリティデータWP0−WP5の書き込みは、チップセレクト/CSがハイレベルに変化した後に完了されてもよい。   The shift register SFTRI sequentially receives 8-bit write data D7-D0 in the 14th to 21st clock cycles (FIG. 20 (d)). The parity control circuit 40a shown in FIG. 17 generates write parity data WP0-WP1 of the write data WD7 corresponding to the data D7, and outputs the write data WD7 and the write parity data WP0-WP1 to the memory cell array 10a (FIG. 20 ( e)). The parity control circuit 50a illustrated in FIG. 17 generates write parity data WP2-WP5 of the write data WD0-WD6 corresponding to the data D0-D6. The parity control circuit 50a outputs the write data WD0-WD6 and the write parity data WP2-WP5 to the memory cell array 10a (FIG. 20 (f)). Then, write data WD0-WD7 and write parity data WP0-WP5 are written into the memory cell array 10a. Note that the writing of the write data WD0 to WD7 and the write parity data WP0 to WP5 to the memory cell array 10a may be completed after the chip select / CS changes to high level.

以上、図17から図20に示す実施形態においても、図1から図16に示す実施形態と同様の効果を得ることができる。すなわち、読み出しコマンドを受けてから先頭データ(例えば、D7)を出力するまでの時間を従来に比べて短縮することができ、半導体記憶装置MEM3の性能を向上することができる。また、パリティ制御回路40aにより誤り訂正するビット数をパリティ制御回路50aにより誤り訂正するビット数より少なくすることで、出力端子SOから出力する最初のデータD7の出力タイミングを、従来に比べて早くすることができる。   As described above, also in the embodiment shown in FIGS. 17 to 20, the same effect as that of the embodiment shown in FIGS. 1 to 16 can be obtained. That is, the time from receiving the read command to outputting the leading data (for example, D7) can be shortened compared to the conventional case, and the performance of the semiconductor memory device MEM3 can be improved. Further, by reducing the number of bits for error correction by the parity control circuit 40a to be smaller than the number of bits for error correction by the parity control circuit 50a, the output timing of the first data D7 output from the output terminal SO is made earlier than before. be able to.

なお、図1から図20に示す実施形態は、読み出しデータを1つの端子から出力する半導体記憶装置(シリアルメモリ)の例を示している。しかしながら、例えば、図1に示す半導体記憶装置MEM1の構成を2つ組み合わせることで、2つの読み出しデータを2つの端子から出力する2ビットのシリアルメモリが設計されてもよい。同様に、図3に示す半導体記憶装置MEM2および半導体記憶装置MEM3の各々を、複数個組み合わせて、複数ビットのデータが出力されるシリアルメモリが設計されてもよい。   The embodiment shown in FIGS. 1 to 20 shows an example of a semiconductor memory device (serial memory) that outputs read data from one terminal. However, for example, a 2-bit serial memory that outputs two read data from two terminals may be designed by combining two configurations of the semiconductor memory device MEM1 illustrated in FIG. Similarly, a serial memory that outputs a plurality of bits of data may be designed by combining a plurality of semiconductor memory devices MEM2 and MEM3 shown in FIG.

さらに、図1から図20に示す実施形態は、コマンドおよびアドレスを入力することなくデータを連続して記憶部に格納するFIFO(First In First Out)メモリなどの半導体記憶装置に適用することができる。この場合、図17に示すパリティ制御回路40a、40b等のそれぞれに含まれる2つの書き込み回路を利用してデータの書き込みが実行あれる。例えば、入力端子SIにデータD7−D0が直列に入力される場合、一方の書き込み回路は、データD7−D1が入力されたことに基づいて、データD7−D1のパリティデータを生成し、データD7−D1とパリティデータとをメモリセルアレイに書き込む。他方の書き込み回路は、最後のデータD0が入力されたことに基づいて、データD0のパリティデータを生成し、データD0とパリティデータとをメモリセルアレイに書き込む。これにより、全てのデータD7−D0が入力されたことに基づいて、データD7−D0のパリティデータを生成し、データD7−D0とパリティデータとをメモリセルアレイに書き込む場合に比べて、書き込み時間を短縮することができる。   Further, the embodiment shown in FIGS. 1 to 20 can be applied to a semiconductor memory device such as a FIFO (First In First Out) memory that continuously stores data in a storage unit without inputting a command and an address. . In this case, data is written using two write circuits included in each of the parity control circuits 40a and 40b shown in FIG. For example, when data D7-D0 is input in series to the input terminal SI, one writing circuit generates parity data of data D7-D1 based on the input of data D7-D1, and data D7 Write D1 and parity data to the memory cell array. The other writing circuit generates parity data of the data D0 based on the input of the last data D0, and writes the data D0 and the parity data in the memory cell array. Thus, the parity time of the data D7-D0 is generated based on the input of all the data D7-D0, and the write time is reduced compared with the case where the data D7-D0 and the parity data are written to the memory cell array. It can be shortened.

以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。   From the above detailed description, features and advantages of the embodiments will become apparent. This is intended to cover the features and advantages of the embodiments described above without departing from the spirit and scope of the claims. Also, any improvement and modification should be readily conceivable by those having ordinary knowledge in the art. Therefore, there is no intention to limit the scope of the inventive embodiments to those described above, and appropriate modifications and equivalents included in the scope disclosed in the embodiments can be used.

1…メモリ部;2、3…誤り訂正回路;4…出力回路;10、10a…メモリセルアレイ;20…アドレスデコーダ;30、30a…読み書き制御回路;40、40a…パリティ制御回路;41…読み出しパリティ生成回路;42…シンドローム生成回路;43…シンドロームデコーダ;44…誤り訂正回路;45…置き換え回路;46…書き込みパリティ生成回路;50、50a…パリティ制御回路;51…読み出しパリティ生成回路;52…シンドローム生成回路;53…シンドロームデコーダ;54…誤り訂正回路;55…置き換え回路;56…書き込みパリティ生成回路;60、60a…入出力制御回路;62…入力制御回路;64…内部クロック生成回路;66…選択回路;68…出力制御回路;A0−A1…アドレス;CRDG1、CRDG2…訂正データ群;/CS…チップセレクト;D0−D31…データ;DEC…デコーダ;DI00−DI07…入力データ;DO0−DO31…出力データ;E0−E31…誤りビット情報;IA0−IA5…アドレス;ICK…内部クロック;MEM1、MEM2、MEM3…半導体記憶装置;P0−P8…パリティデータ;RCNT…制御信号;RD0−RD31…読み出しデータ;RP00−RP08…読み出しパリティデータ;RP0−RP8…読み出しパリティデータ;RPG1、RPG2…パリティデータ群;RDG1、RDG2…データ群;S0−S8…シンドローム;SCK…クロック;SEL…セレクタ;SI…入力端子;SO…出力端子;WCNT…制御信号;WD0−WD31…書き込みデータ;WP0−WP8…書き込みパリティデータ   DESCRIPTION OF SYMBOLS 1 ... Memory part; 2, 3 ... Error correction circuit; 4 ... Output circuit; 10, 10a ... Memory cell array; 20 ... Address decoder; 30, 30a ... Read / write control circuit; 40, 40a ... Parity control circuit; 42: Syndrome generation circuit; 43 ... Syndrome decoder; 44 ... Error correction circuit; 45 ... Replacement circuit; 46 ... Write parity generation circuit; 50, 50a ... Parity control circuit; 51 ... Read parity generation circuit; 53: Syndrome decoder; 54 ... Error correction circuit; 55 ... Replacement circuit; 56 ... Write parity generation circuit; 60, 60a ... Input / output control circuit; 62 ... Input control circuit; Selection circuit; 68 ... Output control circuit; A0-A1 ... Address; CRDG , CRDG2 ... correction data group; / CS ... chip select; D0-D31 ... data; DEC ... decoder; DI00-DI07 ... input data; DO0-DO31 ... output data; E0-E31 ... error bit information; IA0-IA5 ... address ICK: Internal clock; MEM1, MEM2, MEM3: Semiconductor memory device; P0-P8: Parity data; RCNT ... Control signal; RD0-RD31 ... Read data; RP00-RP08 ... Read parity data; RP0-RP8 ... Read parity data RPG1, RPG2 ... Parity data group; RDG1, RDG2 ... Data group; S0-S8 ... Syndrome; SCK ... Clock; SEL ... Selector; SI ... Input terminal; SO ... Output terminal; WCNT ... Control signal; WD0-WD31 ... Write Data; WP -WP8 ... writing parity data

Claims (7)

第1のデータ群と、前記第1のデータ群に対応する第1のパリティデータ群と、前記第1のデータ群と異なる第2のデータ群と、前記第2のデータ群に対応する第2のパリティデータ群とを並列に出力するメモリ部と、
前記第1のパリティデータ群を用いて前記第1のデータ群の誤りを訂正して第1の訂正データ群を生成する第1の誤り訂正回路と、
前記第2のパリティデータ群を用いて前記第2のデータ群の誤りを訂正して第2の訂正データ群を生成する第2の誤り訂正回路と、
前記第1の訂正データ群に含まれるデータと、前記第2の訂正データ群に含まれるデータとを順次に出力する出力回路と
を備え、
前記第1のデータ群のビット数は、前記第2のデータ群のビット数より少ないこと
を特徴とする半導体記憶装置。
A first data group; a first parity data group corresponding to the first data group; a second data group different from the first data group; and a second data group corresponding to the second data group. A memory unit that outputs a parity data group in parallel,
A first error correction circuit that corrects an error in the first data group using the first parity data group to generate a first corrected data group;
A second error correction circuit that corrects an error in the second data group using the second parity data group to generate a second corrected data group;
E Bei and data contained in the first correction data group, and an output circuit for outputting the data included in the second correction data group sequentially,
The number of bits of the first data group is smaller than the number of bits of the second data group .
第1のデータ群と、前記第1のデータ群に対応する第1のパリティデータ群と、前記第1のデータ群と異なる第2のデータ群と、前記第2のデータ群に対応する第2のパリティデータ群とを並列に出力するメモリ部と、
前記第1のパリティデータ群を用いて前記第1のデータ群の誤りを訂正して第1の訂正データ群を生成する第1の誤り訂正回路と、
前記第2のパリティデータ群を用いて前記第2のデータ群の誤りを訂正して第2の訂正データ群を生成する第2の誤り訂正回路と、
前記第1の訂正データ群に含まれるデータと、前記第2の訂正データ群に含まれるデータとを順次に出力する出力回路と
を備え
前記第1の誤り訂正回路による前記第1のデータ群の誤り訂正時間は、前記第2の誤り訂正回路による前記第2のデータ群の誤り訂正時間より短いこと
を特徴とする半導体記憶装置。
A first data group; a first parity data group corresponding to the first data group; a second data group different from the first data group; and a second data group corresponding to the second data group. A memory unit that outputs a parity data group in parallel,
A first error correction circuit that corrects an error in the first data group using the first parity data group to generate a first corrected data group;
A second error correction circuit that corrects an error in the second data group using the second parity data group to generate a second corrected data group;
An output circuit for sequentially outputting data included in the first correction data group and data included in the second correction data group ;
The semiconductor memory device , wherein an error correction time of the first data group by the first error correction circuit is shorter than an error correction time of the second data group by the second error correction circuit .
前記第1の誤り訂正回路は、前記出力回路が出力するデータのうち先頭データの誤りを訂正し、
前記第2の誤り訂正回路は、前記出力回路が出力するデータのうち前記先頭データを除く残りのデータの誤りを訂正すること
を特徴とする請求項1または請求項2記載の半導体記憶装置。
The first error correction circuit corrects an error of the head data among the data output from the output circuit,
3. The semiconductor memory device according to claim 1, wherein the second error correction circuit corrects an error in remaining data excluding the head data among data output from the output circuit. 4.
前記第1の訂正データ群に含まれる複数の第1の部分データ群のいずれかと、前記第2の訂正データ群に含まれる複数の第2の部分データ群のいずれかとを選択する選択回路を備え、
前記出力回路は、前記選択回路が選択した前記複数の第1の部分データ群の前記いずれかと前記複数の第2の部分データ群の前記いずれかとを順次に出力すること
を特徴とする請求項1ないし請求項3のいずれか1項記載の半導体記憶装置。
A selection circuit configured to select one of a plurality of first partial data groups included in the first correction data group and one of a plurality of second partial data groups included in the second correction data group; ,
The output circuit sequentially outputs the one of the plurality of first partial data groups selected by the selection circuit and the one of the plurality of second partial data groups. The semiconductor memory device according to claim 3.
前記メモリ部に書き込む書き込みデータ群に含まれるデータを順次に受ける入力回路と、
前記複数の第1の部分データ群の前記いずれかを、前記書き込みデータ群のうち前記第1のデータ群に対応するデータに置き換えて第1の書き込みデータ群を生成し、前記複数の第2の部分データ群の前記いずれかを、前記書き込みデータのうち前記第2のデータ群に対応するデータに置き換えて第2の書き込みデータ群を生成する置き換え回路と、
前記第1の書き込みデータ群に対応する前記第1のパリティデータ群を生成し、前記第2の書き込みデータ群に対応する前記第2のパリティデータ群を生成するパリティ生成回路と、
前記第1の書き込みデータ群と、前記第2の書き込みデータ群と、前記パリティ生成回路が生成した前記第1のパリティデータ群および前記第2のパリティデータ群とを前記メモリ部に書き込む書き込み回路と
を備えることを特徴とする請求項4記載の半導体記憶装置。
An input circuit for sequentially receiving data included in a write data group to be written to the memory unit;
The one of the plurality of first partial data groups is replaced with data corresponding to the first data group among the write data groups to generate a first write data group, and the plurality of second partial data groups A replacement circuit that generates a second write data group by replacing any one of the partial data groups with data corresponding to the second data group of the write data;
A parity generation circuit for generating the first parity data group corresponding to the first write data group and generating the second parity data group corresponding to the second write data group;
A write circuit for writing the first write data group, the second write data group, and the first parity data group and the second parity data group generated by the parity generation circuit to the memory unit; The semiconductor memory device according to claim 4, further comprising:
第1のデータ群と、前記第1のデータ群に対応する第1のパリティデータ群と、前記第1のデータ群と異なる第2のデータ群と、前記第2のデータ群に対応する第2のパリティデータ群とをメモリ部から並列に出力し、
前記第1のパリティデータ群を用いて前記第1のデータ群の誤りを訂正して第1の訂正データ群を生成し、
前記第2のパリティデータ群を用いて前記第2のデータ群の誤りを訂正して第2の訂正データ群を生成し、
前記第1の訂正データ群に含まれるデータと、前記第2の訂正データ群に含まれるデータとを順次に出力する半導体記憶装置の制御方法であって、
前記第1のデータ群のビット数は、前記第2のデータ群のビット数より少ないこと
を特徴とする半導体記憶装置の制御方法。
A first data group; a first parity data group corresponding to the first data group; a second data group different from the first data group; and a second data group corresponding to the second data group. Output the parity data group from the memory unit in parallel,
Correcting the error of the first data group using the first parity data group to generate a first corrected data group;
Correcting the error of the second data group using the second parity data group to generate a second corrected data group;
A method for controlling a semiconductor memory device, which sequentially outputs data included in the first correction data group and data included in the second correction data group ,
The number of bits of the first data group is smaller than the number of bits of the second data group .
第1のデータ群と、前記第1のデータ群に対応する第1のパリティデータ群と、前記第1のデータ群と異なる第2のデータ群と、前記第2のデータ群に対応する第2のパリティデータ群とをメモリ部から並列に出力し、
前記第1のパリティデータ群を用いて前記第1のデータ群の誤りを訂正して第1の訂正データ群を生成し、
前記第2のパリティデータ群を用いて前記第2のデータ群の誤りを訂正して第2の訂正データ群を生成し、
前記第1の訂正データ群に含まれるデータと、前記第2の訂正データ群に含まれるデータとを順次に出力する半導体記憶装置の制御方法であって、
前記第1のデータ群の誤り訂正時間は、前記第2のデータ群の誤り訂正時間より短いこと
を特徴とする半導体記憶装置の制御方法。
A first data group; a first parity data group corresponding to the first data group; a second data group different from the first data group; and a second data group corresponding to the second data group. Output the parity data group from the memory unit in parallel,
Correcting the error of the first data group using the first parity data group to generate a first corrected data group;
Correcting the error of the second data group using the second parity data group to generate a second corrected data group;
A method for controlling a semiconductor memory device, which sequentially outputs data included in the first correction data group and data included in the second correction data group ,
The method of controlling a semiconductor memory device , wherein an error correction time of the first data group is shorter than an error correction time of the second data group .
JP2015015702A 2015-01-29 2015-01-29 Semiconductor memory device and method for controlling semiconductor memory device Expired - Fee Related JP6439463B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015015702A JP6439463B2 (en) 2015-01-29 2015-01-29 Semiconductor memory device and method for controlling semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015015702A JP6439463B2 (en) 2015-01-29 2015-01-29 Semiconductor memory device and method for controlling semiconductor memory device

Publications (2)

Publication Number Publication Date
JP2016143068A JP2016143068A (en) 2016-08-08
JP6439463B2 true JP6439463B2 (en) 2018-12-19

Family

ID=56570495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015015702A Expired - Fee Related JP6439463B2 (en) 2015-01-29 2015-01-29 Semiconductor memory device and method for controlling semiconductor memory device

Country Status (1)

Country Link
JP (1) JP6439463B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7016332B2 (en) 2019-07-05 2022-02-04 華邦電子股▲ふん▼有限公司 Semiconductor memory device
US11210167B2 (en) * 2019-10-28 2021-12-28 Intel Corporation Memory wordline isolation for improvement in reliability, availability, and scalability (RAS)
JP2023032889A (en) * 2021-08-27 2023-03-09 ナノブリッジ・セミコンダクター株式会社 Semiconductor device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020409A (en) * 1998-07-07 2000-01-21 Seiko Epson Corp Semiconductor storage device
JP2001202792A (en) * 2000-01-17 2001-07-27 Sony Corp Error correction coding method for semiconductor memory device and semiconductor memory device
JP2012022422A (en) * 2010-07-13 2012-02-02 Panasonic Corp Semiconductor recording/reproducing device

Also Published As

Publication number Publication date
JP2016143068A (en) 2016-08-08

Similar Documents

Publication Publication Date Title
CN110389851B (en) Memory device with error correction function and operation method thereof
US6678860B1 (en) Integrated circuit memory devices having error checking and correction circuits therein and methods of operating same
US8806316B2 (en) Circuits, integrated circuits, and methods for interleaved parity computation
JP3272903B2 (en) Error correction detection circuit and semiconductor memory device
JP6542075B2 (en) Memory system
US20070226590A1 (en) Semiconductor memory in which error correction is performed by on-chip error correction circuit
US11755209B2 (en) Semiconductor memory device and error detection and correction method
JP5134569B2 (en) Memory device
JP6439463B2 (en) Semiconductor memory device and method for controlling semiconductor memory device
JP2014033364A (en) Error detection and correction circuit and memory device
CN101930799A (en) Non-volatile memory with error detection/correction circuit and method for reading and writing data
JP4102313B2 (en) Semiconductor integrated circuit device
US7075851B2 (en) Semiconductor memory device inputting/outputting data and parity data in burst operation
US8614920B2 (en) Method and apparatus for logic read in flash memory
JP4602246B2 (en) Semiconductor integrated circuit
JP5617776B2 (en) MEMORY CIRCUIT, MEMORY DEVICE, AND MEMORY DATA ERROR CORRECTION METHOD
US20110119563A1 (en) Semiconductor memory
JP4528087B2 (en) Semiconductor memory
CN118677466A (en) Error correction coding system and method applied to on-chip memory
JP2014137834A (en) Semiconductor storage device
JP2014071914A (en) Flash memory device and method for operating memory device
TWI812346B (en) Semiconductor storage device and reading method
US20120008423A1 (en) Setting circuit and integrated circuit including the same
CN115732014B (en) Semiconductor memory device with a memory cell having a memory cell with a memory cell having a memory cell
JP4549073B2 (en) Memory control circuit

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20170803

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20170803

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170804

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171002

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180928

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181105

R150 Certificate of patent or registration of utility model

Ref document number: 6439463

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees