JP2008192206A - 半導体記憶装置 - Google Patents
半導体記憶装置 Download PDFInfo
- Publication number
- JP2008192206A JP2008192206A JP2007022878A JP2007022878A JP2008192206A JP 2008192206 A JP2008192206 A JP 2008192206A JP 2007022878 A JP2007022878 A JP 2007022878A JP 2007022878 A JP2007022878 A JP 2007022878A JP 2008192206 A JP2008192206 A JP 2008192206A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory cell
- cell array
- input
- memory device
- 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.)
- Pending
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
【課題】ECC回路を搭載した半導体記憶装置において、ユーザデータの入出力に際し、データの信頼性が高く、従来の装置とも互換性を備えかつユーザデータの記憶容量の高い半導体記憶装置を提供する。
【解決手段】ECC回路205に入力されるデータのビット数を、書き込みのため外部から入力されるデータのビット数よりも多くすることにより、メモリセルアレイ201に書き込まれるユーザデータに対するパリティビットの比率を低減させる。結果、従来装置に比べてメモリセルにおけるパリティビット用の記録領域の占める割合を低下させることで、集積密度が同一のメモリセルアレイにおいて、ユーザが利用可能な記憶容量を高くしている。
【選択図】図1
【解決手段】ECC回路205に入力されるデータのビット数を、書き込みのため外部から入力されるデータのビット数よりも多くすることにより、メモリセルアレイ201に書き込まれるユーザデータに対するパリティビットの比率を低減させる。結果、従来装置に比べてメモリセルにおけるパリティビット用の記録領域の占める割合を低下させることで、集積密度が同一のメモリセルアレイにおいて、ユーザが利用可能な記憶容量を高くしている。
【選択図】図1
Description
本発明は、誤り訂正回路を搭載した半導体記憶装置に関する。
近年、携帯端末機器やICカード等の記憶機能を備えた小型かつ高性能の電子機器類の普及に伴い、低い消費電力で高速に動作すると共に携帯性を備える記憶容量の大きな半導体記憶装置に対する要望が高まっている。このような半導体記憶装置として、フラッシュメモリや強誘電体メモリなどに代表される不揮発性メモリが挙げられる。さらに、低消費電力性および高速動作性の観点から強誘電体メモリが注目されている。
強誘電体メモリは、強誘電体膜を用いたキャパシタの分極方向の相違を利用して不揮発性データを記憶するように構成されている。強誘電体メモリにおいては、データの書き換えには分極方向を反転させるための電界をかけるだけでよい。つまり、強誘電体メモリは、低電圧、低消費電力、および高速動作という特徴を有する。このような不揮発性メモリはカード型にパッケージされ、メモリカードとして広く普及している。
電子機器類の小型化および高性能化のために、プログラムを含むより多くのユーザデータを記録できる半導体記録装置が必要とされている。そのために、半導体記憶装置の大記録容量化が要求されている。特に、メモリカードとしてパッケージされている半導体記憶装置では、そのサイズを増大させずに記憶容量を増大させる、つまり高記録密度化傾向にある。また、記憶領域の記憶素子(以下、「メモリセル」という)に記憶されるデータの信頼性を確保するため、半導体記憶装置には誤り訂正符号回路(Error Correct Code、以降「ECC回路」という)が搭載されている(特許文献1)。
なお、本明細書において、ユーザデータとはユーザが半導体記憶装置に外部から記憶させるデータを言い、当該ユーザデータを記憶するために半導体記憶装置或いは外部において別途生成して記憶される補助データとは区別される。
以下に、図13および図14を参照して、上述の半導体記憶装置について説明する。図13に示すように、半導体記憶装置140はメモリセルが高密度に集積化されたメモリセルアレイ141とECC回路142とを含む。外部データ入出力端子I/O[7:0]を介して、パーソナルコンピュータなどの外部のデータ源(不図示)と半導体記憶装置140との間で8ビット長のユーザデータが交換される。
外部データ入出力端子I/O[7:0]から8ビットのデータ長のユーザデータが入力されると、外部データ長と同じ8ビットのデータ長の内部データが内部データバスに入力される。この内部データはECC回路142に入力されて、ECC回路142でECC処理される。そして、ECC回路で1バイト(8ビット)の内部データに対して4ビットのパリティビットPD(4)がペアにして生成される。
そして、内部データとパリティビットPDは共にデータバスに出力され、半導体記憶装置のメモリセルアレイ141に書き込まれて記憶される。本明細書においては、説明の便宜上、外部データ入出力端子I/O[7:0]から入力されるユーザデータおよび当該ユーザデータに応答して内部データバスに入力される内部データを共にユーザデータUD(8)と呼称する。なお、ユーザデータUD(8)において、(8)は8ビットであることを意味する。今後同様に、各データ名に付与する接尾辞において()内の数字は当該データのビット数を表すものとする。
また、8ビットのユーザデータUD(8)とペアで生成される4ビットパリティビットPD(4)とを併せてペアデータDP(12)と呼称する。パリティビットPD(4)は、上述のように、外部から半導体記憶装置140に外部から入力されるユーザデータUD(8)の記憶のために生成されて記憶される補助データである。ペアデータDP(12)は次式(1)によって表現される。
DP(12)=UD(8)+PD(4)・・・・・(1)
DP(12)=UD(8)+PD(4)・・・・・(1)
読み出しの際には、メモリセルアレイ141からペアデータDP(12)であるユーザデータUD(8)とパリティピットPD(4)とが読み出される。そして、ECC回路142においては、メモリセルアレイ141から読み出されたパリティビットPD(4)に基づいて、ユーザデータUD(8)の誤り訂正処理が行われる。そして誤り訂正処理の後に、ユーザデータUD(8)はデータ入出力端子I/O[7:0]を介して外部に出力される。
図14(A)に外部データ入出力端子I/O[7:0]から入力されるユーザデータUD(8)を示す。図14(B)にECC回路142から出力されるペアデータDP(12)を示す。そして、図14(C)に、メモリセルアレイ141にユーザデータUD(8)およびパリディビットPD(4)がペアデータDP(12)として記録されている様子を示す。
図14(C)においては、ユーザデータUD(8)とペアのパリティビットPD(4)が互いに接する連続する領域に記憶されているように表されている。しかしながら、ユーザデータUD(8)が記憶される領域とペアのパリティビットPD(4)が記憶される領域とは、必ずしも連続あるいは互いに接していなくても良い。たとえば、ユーザデータUD(8)はユーザデータ用のメモリセルに、またパリティビットPD(4)はパリティビット用のメモリセルに記憶される。
メモリセルアレイ141からユーザデータUD(8)を読み出す場合には、ユーザデータUD(8)用のメモリセルおよびこのユーザデータUD(8)とパリティビットPD(4)用のメモリセルのそれぞれから、ユーザデータUD(8)とパリティビットPD(4)がペアで読み出される。そして、12ビット長のデータペアDP(12)がECC回路142に入力される。
ECC回路142は、パリティビットPD(4)に基づき、ユーザデータUD(8)の誤り訂正処理を行う。ECC回路142からは、データ入出力端子IO[7:0]を介して、誤り訂正処理が行われたユーザデータUD(8)が外部に出力される。
上述のように、ECC回路142を経て誤り訂正処理を行う場合、8ビットのユーザデータUD(8)は4ビットのパリティビットPD(4)がペアデータDP(12)としてメモリセルアレイ141に記憶されている。この場合、ユーザデータUD(8)のデータ長に対するパリティビットPD(4)のデータ長比は次式(2)のごとく表現できる。
UD(8):PD(4)=8:4=100:50 ・・・・ (2)
UD(8):PD(4)=8:4=100:50 ・・・・ (2)
このように、ユーザデータUD(8)の信頼性を確保するためにメモリセルアレイ141に記録されているパリティビットPD(4)は、容量比においてユーザデータUD(8)の50%に相当する。すなわち、メモリセルアレイ141の全容量の2/3(約67%)がユーザデータUD(8)の格納に使用され、1/3が補助データであるパリティビットPD(4)の格納に使用される。言い換えれば、ユーザが記憶させることができるユーザデータUD(8)は記憶半導体記憶装置の記憶容量の2/3に制限される。
上述のような半導体記憶措置において、高記憶容量化の要求を満たすには使用するメモリセルアレイ(メモリセル)の数を増やす必要がある。具体的には、メモリセルの間隔を狭める高密度集積によって同一面積(あるいは、同一体積)あたりのメモリセル数を増やす方法と、メモリセルの間隔自体は変えないで単に使用するメモリセルの数を増やす方法がある。
高密度集積方法においては、メモリセルアレイあるいは半導体記憶装置の大きさは増大させずに高記憶容量化を実現できる。つまり、記憶容量が同一であれば高密度集積方法によって、メモリセルアレイあるいは半導体記憶装置は小さくできる。しかし、高密度集積という高度な技術を必要とするために、多大なる技術的困難さやコスト増大を招き、さらに高密度集積技術の新たな開発が必要とされる。
一方、単に使用するメモリセルの数を増やす方法では、集積技術を初めとして既存の技術を用いることができるので、技術的困難さやコスト増大は比較的に軽微である。しかし、メモリセルアレイあるいは半導体記憶装置の大きさ(面積、体積)は高容量化に伴い増大する。これは、半導体記憶装置が用いられる電子機器などに対する軽量化あるいは小型化の要求を損なうものである。特に、パッケージ化されたメモリカードなどにおいては、サイズ的に従来品との互換性が失われることにもなる。
従って、本発明は、上述の問題を鑑みて集積密度が同一のメモリセルアレイにおいて、より多くのユーザデータを記録できる半導体記憶装置を提供することを目的とする。
上記目的を達成するため本発明の半導体記憶装置は、
第1のデータに対する誤り訂正用の第1のパリティビットを生成する誤り訂正回路と、
前記第1のデータおよび前記第1のパリティビットが書き込まれるメモリセルアレイとを備えた半導体記憶装置であって、
前記第1のデータのデータ長は、当該第1のデータの書き込みもしくは書き換えのため外部から入力される第2のデータのデータ長より大きいことを特徴とする。
第1のデータに対する誤り訂正用の第1のパリティビットを生成する誤り訂正回路と、
前記第1のデータおよび前記第1のパリティビットが書き込まれるメモリセルアレイとを備えた半導体記憶装置であって、
前記第1のデータのデータ長は、当該第1のデータの書き込みもしくは書き換えのため外部から入力される第2のデータのデータ長より大きいことを特徴とする。
前記第1のデータは前記第2のデータを少なくとも1つ含むことが好ましい。また前記第1のデータは、連続するn個(n≧2を満たす整数)の前記第2のデータを含むことが好ましい。更に、前記第1のデータのデータ長は8ビットであり、前記nは4であることが好ましい。
また前記誤り訂正回路は、更に、前記メモリセルアレイから読み出された前記第1のパリティビットに基づいて、前記メモリセルアレイから読み出された前記第1のデータの誤り訂正を行うことが好ましい。
本発明の半導体記憶装置は、前記第2のデータを含む前記第1のデータを保持可能な入力ラッチ回路を更に備えることが好ましい。また誤り訂正された前記第1のデータを保持する出力ラッチ回路を更に備えることが好ましい。
また本発明の半導体記憶装置は、前記メモリセルアレイには更に第1の冗長データが記憶されており、前記メモリセルアレイから読み出された前記第1のデータに含まれる不良データを、前記第1の冗長データで置換する第1の冗長切換回路を更に備えていても良い。前記第1の冗長データによる救済は、データ入出力端子に対応するIO単位で実施されることが好ましい。
また本発明の半導体記憶装置は、前記入力ラッチ回路から出力される前記第1のデータの一部を第2の冗長データとして選択する第2の冗長選択回路を更に備えていても良い。また前記誤り訂正回路から出力された前記第1のパリティビットおよび前記入力ラッチ回路から出力された前記第1のデータの一部のいずれかを選択するアクセス切換回路を更に備えていても良い。
上記目的を達成するため本発明の第1の半導体記憶装置のデータ書き込み方法は、
前記メモリセルアレイから書き換えの対象となるアドレスに記憶された第3のデータを含み、前記第1のデータとデータ長が等しく、かつアドレスが連続する第4のデータを読み出す第1のステップと、
前記第4のデータのうち前記第3のデータを前記第2のデータに置き換えて前記第1のデータを生成する第2のステップと、
前記第1のデータを入力として、前記誤り訂正回路で誤り訂正用の前記第1のパリティビットを生成する第3のステップと、
前記第1のデータおよび前記第1のパリティビットを前記メモリセルアレイに書き込む第4のステップとを含むことを特徴とする。
前記メモリセルアレイから書き換えの対象となるアドレスに記憶された第3のデータを含み、前記第1のデータとデータ長が等しく、かつアドレスが連続する第4のデータを読み出す第1のステップと、
前記第4のデータのうち前記第3のデータを前記第2のデータに置き換えて前記第1のデータを生成する第2のステップと、
前記第1のデータを入力として、前記誤り訂正回路で誤り訂正用の前記第1のパリティビットを生成する第3のステップと、
前記第1のデータおよび前記第1のパリティビットを前記メモリセルアレイに書き込む第4のステップとを含むことを特徴とする。
また本発明の第2の半導体記憶装置のデータ書き込み方法は、
外部から連続して入力されるn個の前記第2のデータに基づいて前記第1のデータを生成する第1のステップと、
前記第1のデータを入力として、前記誤り訂正回路で誤り訂正用の前記第1のパリティビットを生成する第2のステップと、
前記第1のデータおよび前記第1のパリティビットを前記メモリセルアレイに書き込む第3のステップとを含むことを特徴とする。
外部から連続して入力されるn個の前記第2のデータに基づいて前記第1のデータを生成する第1のステップと、
前記第1のデータを入力として、前記誤り訂正回路で誤り訂正用の前記第1のパリティビットを生成する第2のステップと、
前記第1のデータおよび前記第1のパリティビットを前記メモリセルアレイに書き込む第3のステップとを含むことを特徴とする。
また本発明の第3の半導体記憶装置のデータ書き込み方法は、
前記メモリセルアレイから書き換えの対象となるアドレスに記憶された第3のデータを含み、前記第1のデータとデータ長が等しく、かつアドレスが連続する第4のデータを読み出す第1のステップと、
前記第4のデータのうち前記第3のデータを前記第2のデータに置き換えて前記第1のデータを生成する第2のステップと、
前記第1のデータのうち、前記第2のデータの一部分を前記アクセス切換回路で選択し、前記第2のデータの他の部分を前記第2の冗長切換回路で選択する第3のステップと、
前記第1のデータおよび前記第2のデータの一部分および他の部分を前記メモリセルアレイに書き込む第4のステップとを含むことを特徴とする。
前記メモリセルアレイから書き換えの対象となるアドレスに記憶された第3のデータを含み、前記第1のデータとデータ長が等しく、かつアドレスが連続する第4のデータを読み出す第1のステップと、
前記第4のデータのうち前記第3のデータを前記第2のデータに置き換えて前記第1のデータを生成する第2のステップと、
前記第1のデータのうち、前記第2のデータの一部分を前記アクセス切換回路で選択し、前記第2のデータの他の部分を前記第2の冗長切換回路で選択する第3のステップと、
前記第1のデータおよび前記第2のデータの一部分および他の部分を前記メモリセルアレイに書き込む第4のステップとを含むことを特徴とする。
上記目的を達成するため本発明の半導体記憶装置のデータ読み出し方法は、
前記メモリセルアレイから読み出しの対象となるアドレスに記憶された前記第2のデータを含む前記第1のデータ、およびこの第1のデータに対応する前記第1のパリティビットを読み出す第1のステップと、
前記第1のパリティビットに基づいて前記第1のデータの誤り訂正を行う第2のステップと、
誤り訂正された前記第1のデータのうち前記第2のデータを外部に出力する第3のステップとを含むことを特徴とする。
前記メモリセルアレイから読み出しの対象となるアドレスに記憶された前記第2のデータを含む前記第1のデータ、およびこの第1のデータに対応する前記第1のパリティビットを読み出す第1のステップと、
前記第1のパリティビットに基づいて前記第1のデータの誤り訂正を行う第2のステップと、
誤り訂正された前記第1のデータのうち前記第2のデータを外部に出力する第3のステップとを含むことを特徴とする。
本発明は、従来の技術により実現でき、メモリセルの仕様を変えることなくかつ製造コストを上げることなく、半導体記憶装置に記憶させるユーザデータの信頼性を備える一方で、半導体記憶装置の総記憶容量に対するユーザデータの実質的な記憶容量を大きくすることを可能とした半導体記憶装置を提供する。
本発明の実施の形態について説明する前に、本発明の基本的な概念について説明する。図13および図14に示した従来の半導体記憶装置140においては、メモリセルアレイ141のメモリセルの2/3(約67%)がユーザデータU(8)の格納に用いられ、残りの1/3(約33%)はパリティビットPD(4)の格納に用いられている。パリティビットPD(4)の格納に使用されているメモリセルアレイ141の約33%を占める領域は、ユーザデータUD(8)の格納に用いられることはない。
これは、ユーザが記憶させたいデータの記憶には半導体記憶装置140の記憶容量の2/3しか利用できないことを意味している。つまり、ユーザから見れば、メモリセルアレイ141の本来の記憶容量が2/3に減じられている状態である。そして、この状態(比率)は、メモリセルを高密度集積化しても、単純に使用するメモリセルの数を増やしても変わらない。
本発明は、上述のメモリセルアレイにおいて、ユーザデータに対するパリティビットの比率を低下できれば、メモリセルを増加させずにメモリセルアレイに格納できるユーザデータ量を増加させることができる可能性に着目して考案されている。言い換えれば、メモリセルアレイにおけるパリティビット領域の占有率を低減させて、ユーザデータ領域の占有率を増加させることによって、ユーザからみた半導体記憶装置(メモリセルアレイ)の高記憶容量化を図ることができる。
そのために、本発明においては、従来の8ビットのユーザデータUD(8)に対して4ビットのパリティビットPD(4)を付与するECC処理手段とは異なるECC処理手段が新たに考案されている。このECC処理手段は、半導体記憶装置に入力される8ビットのユーザデータUD(8)の入力に対して、従来のECC処理手段と同様に正しくECC処理ができる。このようなECC処理手段を備えると共に、ユーザデータUD(8)の入出力において従来の半導体記憶装置と互換性を有する半導体記憶装置を考案している。
図1を参照して、本発明にかかる半導体記憶装置における、ECC処理について説明する。本発明においては、ECC回路に入力されるユーザデータUDのデータ長を4バイトとする。そして、ECC回路で4バイトのユーザデータUD(32)に対して6ビットのパリティビットPD(6)が生成されて、38ビットのペアデータDP(38)が出力される。ペアデータDP(38)は次式(3)によって表現される。
DP(38)=UD(32)+PD(6)・・・・・(3)
DP(38)=UD(32)+PD(6)・・・・・(3)
図1(A)に示すように、外部から半導体記憶装置に入力されるユーザデータUD(8)のデータ長は、従来と同様に8ビット(1バイト)である。これは、本発明においても、従来の半導体記憶装置および周辺機器との互換性を確保するために、1バイト(8ビット)を単位としてメモリセルアレイへのデータの書き込み、もしくはメモリセルアレイからのデータの読み出しが行われることを意味している。つまり、外部と交換されるデータもこれに対応して1バイト(8ビット)を単位としている。
図1(B)に示すように、ECC回路においては、8ビット×4(32ビット)のユーザデータUD(32)の入力に対して、6ビットのパリティビットPD(6)が生成される。一般に、ECC回路では、誤り訂正処理を行うために必要なパリティビットPDのビット数は、ユーザデータUDのビット数が多くなるほど増えるが、ペアデータDPにおける比率は小さくなることが知られている。本発明ではこの性質を利用して、誤り訂正処理に必要なパリティビットPDのビット数の低減を図っている。
つまり、本発明は、メモリセルアレイ201に記憶されるユーザデータUDは、上述したユーザデータUD(32)つまり、4バイトに限定されるものではなく、ECC処理により誤り訂正が保証される範囲内で、パリティビットPD(α)との容量比が所望の値になるように選択できる。つまり、本発明は、メモリセルアレイ201に格納されるペアデータDPは、ユーザデータUD(8×n)とパリティビットPD(α)になるようにして実施できる。nは2以上の任意の整数であり、αはユーザデータUD(8×n)に対して、パリティビットPD(α)のユーザデータUD(8×n)との容量比が所望の値になるように選択できるビット数である。つまり、本実施の形態においては、n=4、α=6として説明されている。
図1(C)に示すように、32ビットのユーザデータUD(32)と6ビットのパリティビットPD(6)は、メモリセルアレイに38ビットのペアデータDP(38)として記憶される。この場合、ユーザデータUD(32)のデータ長に対するパリティビットPD(6)のデータ長比は次式(4)のごとく表現できる。
UD(32):PD(6)=32:6=100:18.75 ・・・・ (4)
このように、ユーザデータUD(32)の信頼性を確保するためにメモリセルアレイに記録されているパリティビットPD(6)は、容量比においてユーザデータUD(32)の約19%に相当する。すなわち、メモリセルアレイの全容量の32/38(約84%)がユーザデータUD(32)の格納に使用される。これは、上述の従来の半導体記憶装置においてはユーザデータUD(8)の格納にはメモリセルアレイの約67%しか利用できないのに対して、本発明においてはユーザデータUD(32)の格納にメモリセルアレイの約84%が利用できることを示している。
つまり本発明にかかる半導体記憶装置においては、従来の半導体記憶装置におけるのと同一のメモリセルアレイを用いても、ユーザデータUDが約17%(=84%―67%)も多く記憶できることを意味している。これは、メモリセルアレイのユーザデータ領域を約17%拡張することであり、ユーザからみれば半導体記憶装置の記憶容量が約17%増加されたのと同様の状態である。このようにして、本発明においては、メモリセルの集積度を上げたり、メモリセルを増やしたりすることなく、メモリセルアレイのユーザデータ容量の増加を可能にしている。
以下に、図2を参照して、本発明の実施の形態にかかる半導体記憶装置の構成について説明する。半導体記憶装置200は、メモリセルアレイ201、リードアンプ202、出力冗長データ切換回路203、入力冗長データ切換回路207、出力アクセス切換回路204、入力アクセス切換回路208、ECC回路205、入力ラッチ回路206、ライトバッファ209および出力ラッチ回路210を含む。
図3に示すように、メモリセルアレイ201には、m個(mは任意の整数)のペアデータDP(38)が格納されている。これらは、ペアデータDP(38)_1〜DP(38)_mと接尾辞を附して識別される。なお、ペアデータDP(38)を構成するユーザデータUD(32)、ユーザデータUD(8)、パリティビットPD(6)も同様に、1〜mの接尾辞を附して識別される。ペアデータDP(38)およびユーザデータUD(32)の構成について、ペアデータDP(38)_o(1≦o≦mの任意の整数)を例に詳しく説明する。
ペアデータDP(38)_oは、32ビット(4バイト)のユーザデータUD(32)_oと6ビットのパリティビットPD(6)_oから成る。ユーザデータUD(32)_oは4つのユーザデータUD(8)_o_1〜o_4から成る。この意味において、メモリセルアレイ201に記憶されている任意のユーザデータUD(8)は、ユーザデータUD(8)_o_p(1≦p≦4の任意の整数)と表現される。
図2に戻って、I1、M1、N1〜N5、P1〜P3、R1〜R4およびS1〜S2は各々データバスを示す。データバスに添えられた数字はデータバスのビット幅を表す。ビット幅は転送されるデータのビット数に対応している。半導体記憶装置200の動作は、冗長切換信号CRED、データ入力ラッチ信号WCLK、ECCメモリセルアクセスイネーブル信号ECCDIR、ECC処理イネーブル信号ECCEN、およびデータ出力ラッチ信号RCLKを含む制御信号の論理電圧のレベル(LあるいはH)に基づいて、制御される。半導体記憶装置200においても、従来の半導体記憶装置140におけるのと同様に、外部データ入出力端子I/O[7:0]7を介して、8ビットのユーザデータUD(8)が入出力される。
外部から入力されるユーザデータUD(8)により、メモリセルアレイ201に記録されているユーザデータUD(32)が更新される際には、メモリセルアレイ201から40ビットのデータが読み出されて、データバスS1に出力される。具体的には、コラムアドレス信号COLADに基づいて、入力されたユーザデータUD(8)に対応するユーザデータUD(8)o_pが決定されて、当該ユーザデータUD(8)o_pを含むユーザデータUD(32)_oが決定される。そして、決定されたユーザデータUD(32)_oを含むペアデータDP(38)#oと対応する冗長データRD(2)とを含む40ビットのデータがメモリセルアレイ201からデータバスS1に出力される。
リードアンプ202は6つのアンプユニット202A、202B、202C、202D、202E、および202Fを含む。リードアンプ202は、データバスS1を介してメモリセルアレイ201から入力されるデータの電気信号を増幅する。詳しくは、メモリセルアレイ201から読み出されたユーザデータUD(32)_oのユーザデータUD(8)_o_1、UD(8)_o_2、UD(8)_o_3、およびUD(8)_o_4は、それぞれアンプユニット202A〜202Dにおいて増幅された後に、出力冗長データ切換回路203へと出力される。
6ビットのパリティビットPD(6)_oは、アンプユニット202Eで増幅された後に、出力アクセス切換回路へと出力される。冗長データRD(2)はアンプユニット202Fで増幅された後、データバスR1に出力される。
出力冗長データ切換回路203は、4つの出力切換器203A、203B、203C、および203Dを含む。出力切換器203A、203B、203C、および203Dのそれぞれは、冗長切換信号CREDの”L”から”H”に変化に応答して、アンプユニット202A〜200Dのそれぞれで増幅されたユーザデータUD(8)_o_1、UD(8)_o_2、UD(8)_o_3、およびUD(8)_o_4の32ビットのデータに含まれる2ビットの不良データを冗長データRD(2)で置換して、データバスN1に出力する。出力冗長データ切換回路203から出力されたユーザデータUD(32)_oのユーザデータUD(8)_o_1、UD(8)_o_2、UD(8)_o_3、およびUD(8)_o_4は、データバスN1において32ビットのユーザデータUD(32)_oとして統合される。
出力アクセス切換回路204は、アンプユニット202Eを介して入力されるパリティビットPD(6)_oをデータパスP1に出力する。
ECC回路205は、ECC処理イネーブル信号ECCENの”L”から”H”への変化に応答して作動する2つの機能を備えている。第1の機能は、データバスP2を介して入力される6ビットのパリティビットPD(6)_oに基づいて、出力冗長データ切換回路203で冗長データ置換されたユーザデータUD(32)_oに誤り訂正処理を施した後に、データバスN2およびN3を介して入力ラッチ回路206および出力ラッチ回路210のそれぞれ出力することである。
第2の機能は、データバスN4を介して入力ラッチ回路206から入力されるユーザデータUD(32)_o‘に対して誤り訂正用の6ビットのパリティビットPD(6)_o‘を新たに作成して、データバスP2に出力することである。なお、ユーザデータUD(32)_o‘は、データバスI1を介して入力されたユーザデータUD(8)によってユーザデータUD(8)_o_pが置き換えられたユーザデータUD(32)_oである。これについては、以下に詳述する。
入力ラッチ回路206は、データバスN2を介してECC回路205から入力される誤り訂正されたユーザデータUD(32)_oを保持する。さらに、入力ラッチ回路206においては、データ入力ラッチ信号WCLKの”L”から”H”への変化に応答して、コラムアドレス信号COLADにより指定されるユーザデータUD(8)_o_pはデータバスI1から入力された書き換え用のユーザデータUD(8)で置換されて、32ビットのユーザデータUD(32)_o‘が生成される。
ユーザデータUD(32)_o‘はデータバスN4、N5、およびR2を介して、それぞれ、ECC回路205、ライトバッファ209、および入力冗長データ切換回路207に出力される。なお、ユーザデータUD(32)_o‘において上述の置き換えられたユーザデータUD(8)o_pの下位6ビットだけが入力アクセス切換回路208に入力される。
そして、ECC回路205において、パリティビットPD(6)_o’が生成されることは上述の通りである。生成されたパリティビットPD(6)_o’は、データバスP2を介して入力アクセス切換回路208に入力される。
出力冗長データ切換回路207は冗長切換器207A、207B、207C、および207Dを含む。冗長切換器207A、207B、207C、および207Dは、入力ラッチ回路206から入力されたユーザデータUD(32)_o‘のユーザデータUD(8)_o’_1、UD(8)_o’_2、UD(8)_o’_3、およびUD(8)_o’_4を保持する。
そして、冗長切換信号CREDの”L”から”H”への変化に応答して、冗長切換器207A、207B、207C、および207Dは、保持しているユーザデータUD(8)_o’_1、UD(8)_o’_2、UD(8)_o’_3、およびUD(8)_o’_4の32ビットのデータから冗長データ(2)としてメモリセルアレイ201に格納する2ビットのデータを選択する。選択された2ビット冗長データRD(2)はデータバスR3を介してライトバッファ209に出力される。
入力アクセス切換回路208は、ECCメモリセルアクセスイネーブル信号ECCDIRに基づいて、入力ラッチ回路206から入力されている6ビットデータと、ECC回路205から入力されているパリティビットPD(6)_o‘の一方を選択して、データバスP3を介してライトバッファ209に出力する。具体的には、ECCメモリセルアクセスイネーブル信号ECCDIRが”L”である場合は、パリティビットPD(6)_o’が選択される。一方、ECCメモリセルアクセスイネーブル信号ECCDIRの論理電圧が”H”である場合は、データバスI1から入力されたユーザデータUD(8)の8ビット長のデータのうちの下位6ビットのデータが選択される。
ライトバッファ209は、ECC回路205から入力されたユーザデータUD(32)_o‘と、入力冗長データ切換回路207から入力された6ビットデータ(ユーザデータUD(8)の下位6ビットあるいはパリティビットPD(6)_o’)と、入力冗長データ切換回路207から入力された冗長データRD(2)とからなる40ビットのデータを保持する。
この40ビットのデータは、データバスS2を介してメモリセルアレイ201に出力される。40ビットデータのうち、ユーザデータUD(32)_o‘およびパリティビットPD(6)_o’は、図3に示したペアデータDP(38)_oとしてメモリセルアレイ201に記録される。そして、冗長データRD(2)もメモリセルアレイ201の然るべく領域に格納される。
出力ラッチ回路210は、ECC回路205から出力された誤り訂正済みのユーザデータUD(32)_oを保持する。さらに、出力ラッチ回路210は、データ出力ラッチ信号RCLKの”L”から”H”への変化に応答して、コラムアドレス信号COLADに基づいて規定されるユーザデータUD(8)o_pがデータバスM1を介して外部データ入出力端子I/O[7:0]に出力される。
上述のように、本実施の形態においては、メモリセルアレイに含まれる不良セル対策として、32ビットのユーザデータUDおよびパリティビットPDの他、2ビットの不良ビットを冗長救済するための構成が追加されている。これに対応してメモリセルアレイ201には、冗長救済に使用するデータRDを記憶する領域がユーザデータUDおよびパリティビットPDを記憶する領域とは別に設けられている。不良セルとは、製造工程上の欠陥によって全く動作しないメモリセル、例えば配線の断線やショート等が生じているメモリセルを指す。なお冗長救済の内容については広く知られているため、詳細な説明は省略する。
以下に、図4〜図10を参照して、上述の半導体記憶装置200の各種動作モードにおけるユーザデータの書込および読み出しについて説明する。なお、動作モードは、1バイトモード、ページモード、およびメモリセル不良検査モードに大別される。
1バイトモードとは、外部から入力されるユーザデータUD(8)の1バイト毎に、ペアデータDP(38)を更新して当該ユーザデータUD(8)をメモリセルアレイ201に記録する書込動作と、メモリセルアレイ201からペアデータDP(38)を読み出して1バイトのユーザデータUD(8)を出力する読み出し動作のことをいう。
ページモードとは、外部から入力されるユーザデータUD(8)の4バイト毎に、メモリセルアレイ201に記録されるペアデータDP(38)および冗長データRD(2)を更新して、当該4バイトのユーザデータUD(8)を記録する書込動作と、メリセルアレイ201からペアデータDP(38)を読み出し、4バイトのユーザデータUD(8)を出力する読み出し動作のことをいう。
メモリセル不良検査モードとは、ECC回路205による誤り訂正処理を働かせずにメモリセルアレイ201に含まれる複数のメモリセルに所定のデータを試験的に記録した後に、ECC回路205による誤り訂正処理を働かせずにメモリセルアレイ201からデータを読み出してメモリセルアレイ201に含まれる不良セルを検知する動作のことをいう。
<1バイトモード>
以下に、図4および図5を参照して、本発明の実施の形態にかかる半導体記憶装置200の1バイトモードにおける書込動作について説明する。その後に、図6を参照して1バイトモードにおける読み出し動作について説明する。
以下に、図4および図5を参照して、本発明の実施の形態にかかる半導体記憶装置200の1バイトモードにおける書込動作について説明する。その後に、図6を参照して1バイトモードにおける読み出し動作について説明する。
書込動作:
図4のタイミングチャートに示すように、時刻t0において、冗長切換信号CRED、ECC処理イネーブル信号ECCEN、データ入力ラッチ信号WCLK、およびECCメモリセルアクセスイネーブル信号ECCDIRは”L”である。
図4のタイミングチャートに示すように、時刻t0において、冗長切換信号CRED、ECC処理イネーブル信号ECCEN、データ入力ラッチ信号WCLK、およびECCメモリセルアクセスイネーブル信号ECCDIRは”L”である。
時刻t1において、コラムアドレス信号COLADに基づき、ユーザデータUD(32)_oとパリティビットPD(6)_oとを含むペアデータDP(38)_o、および冗長データRD(2)がメモリセルアレイ201からから読み出される。
そして、読みされた4バイトのユーザデータUD(32)は1バイト(8ビット)毎にアンプユニット202A〜202Dにそれぞれ入力されて増幅される。また、パリティビットPD(6)および冗長データRD(2)はそれぞれアンプユニット202Eおよび202Fに入力されて、増幅される。
出力冗長データ切換回路203を構成する4つの冗長切換器203A〜203Dのそれぞれに、ユーザデータUD(32)_oを構成する4つのユーザデータUD(8)が1つずつ入力される。データバスR1を介して冗長データRD(2)が冗長切換器203A〜203Dへ入力される。冗長切換信号CREDの”L”から”H”への変化に応答して、4バイトのユーザデータUD(32)_oは冗長置換されたのち、データバスN1を介して、ECC回路205へ入力される。
また、パリティビットPD(6)_oは出力アクセス切換回路204に入力されたのち、データバスP1を介して、ECC回路205に入力される。
時刻t2において、ECC処理イネーブル信号ECCENの”L”から”H”への変化に応答して、32ビットのユーザデータUD(32)_oは6ビットのパリティビットPD(6)_oに基づいて、ECC回路205において誤り訂正処理される。そして、誤り訂正されたユーザデータUD(32)_oはデータバスN2を介して、入力ラッチ回路206で保持される。
時刻t4において、データ入力ラッチ信号WCLKの”L”から”H”に変化し、その立ち上がりエッジで、データ入出力端子I/O[7:0]に入力された1バイト(8ビット)のユーザデータUD(8)がデータバスI1を介して入力ラッチ回路206に入力される。そしてコラムアドレス信号COLADに基づき、ユーザデータUD(32)の4つのユーザデータUD(8)_o_1〜UD(8)_o_4のうちで、入力ラッチ回路206に入力されたユーザデータUD(8)に対応する1バイトがユーザデータUD(8)で置き換えられてユーザデータUD(32)_o’としてデータバスN4、N5およびR2に出力される。ユーザデータUD(32)_o’は、データバスN5を介してライトバッファ209に入力され、データバスR2を介して入力冗長データ切換回路207に入力される。
時刻t5において、ECC処理イネーブル信号ECCENの”L”から”H”に変化し、ユーザデータUD(32)_o‘に基づき、ECC回路205でパリティビットPD(6)_o’が作成される。そして、パリティビットPD(6)_o‘はデータバスP2を介して入力アクセス切換回路208に入力される。
その後、ECCセルアクセスイネーブル信号ECCDIRが”L”であることに応答して、入力アクセス切換回路208では、入力されたパリティビットPD(6)_o’が選択される。そして、パリティビットPD(6)_o‘はデータバスP3を介して、ライトバッファ209に入力される。このようにして、ライトバッファ209において、ペアデータDP(38)は生成される。
時刻t6においては、冗長切換信号CREDの”L”から”H”への変化し、入力冗長データ切換器207A〜207Dのいずれかが選択される。そして、選択された入力冗長データ切換器(207A〜207Dのいずれか)から冗長データRD(2)が出力される。そして、冗長データRD(2)はデータバスR3を介してライトバッファ209に入力される。
そして、ライトバッファ209から、ユーザデータUD(32)_o’、パリティビットPD(6)_o’および冗長データRD(2)がデータバスS2を介してメモリセルアレイ201に入力される。このようにして、ユーザデータUD(32)_o’、およびパリティビットPD(6)_o’はペアデータDP(38)_o‘としてメモリセルアレイ201の所定の領域に書き込まれる。
すなわち、32ビットのユーザデータUD(32)_oは1バイトのユーザデータUD(8)_o_pを外部から入力される8ビットのユーザデータUD(8)と置き換えられる。つまり、ユーザデータUD(32)_oはユーザデータUD(8)で編集される。そして、ユーザデータUD(32)_o’は、新たに作成されたパリティビットPD(6)_o’とともに、ペアデータDP(38)_oとしてメモリセルアレイ201に記録される。
上述のように、1つのペアデータDP(38)_oは、連続して入力される4つのユーザデータUD(8)によって、最大4回に渡って編集される。つまり、最大4回に渡る編集の度に、ペアデータDP(38)_oはメモリセルアレイ201から読み出され、ユーザデータUD(8)で編集され、パリティビットPD(6)_o‘が生成され、ペアデータDP(38)_oとしてメモリセルアレイ201に記録される。そして、ペアデータDP(38)_oの4つのユーザデータUD(8)_o_1〜UD(8)_4の何れとも対応しないユーザデータUD(8)が入力された時点で、ユーザデータUD(8)_oは編集対象でなくなり、メモリセルアレイ201からは新たに編集対象となったペアデータDP(38)が読み出される。
図5を参照して、本発明の半導体記憶装置200の1バイトモードの書込動作におけるユーザデータUD(32)の編集過程を説明する。
まず、図5(A)に示すように、メモリセルアレイ201からデータバスS1へユーザデータUD(32)_oとパリティビットPD(6)_oからなるペアデータDP(38)_oおよび冗長データRD(2)が出力される。
次に、図5(B)に示すように、ECC回路205からデータバスN2へ、4バイトのユーザデータUD(32)_oがそれぞれ入力ラッチ回路206に入力される。なお、UD(32)_oは4つのユーザデータUD(8)_o_pからなる。
そして、図5(C)に示すように、外部からデータ入出力端子I/O[7:0]を介してデータバスI1に出力される1バイトのユーザデータUD(8)が入力ラッチ回路206に入力される。
そして、図5(D)に示すように、入力ラッチ回路206において、4バイトのユーザデータUD(32)_oの1バイト(UD(8)_o_p)がユーザデータUD(8)に編集される。すなわち、入力ラッチ回路206では4バイトのユーザデータUD(32)_o’として編集される。
そして、図5(E)に示すように、メモリセルアレイ201にはユーザデータUD(32)_o’を含むペアデータDP(38)_o’と冗長データRD(2)を含む40ビットのデータが書き込まれる。
1バイトモードの書込動作においては、4バイトのユーザデータUD(32)は1バイトのユーザデータUD(8)で編集される。つまり、1バイトのユーザデータの書込動作の際には、1バイトの入力データで4バイトのユーザデータが更新される。
読み出し動作:
図6のタイミングチャートに於いて、時刻t0〜時刻t2迄の動作は、上述の図5における時刻t0〜時刻t2迄の動作と同様である。つまり、時刻t3の直前では、ECC回路205で誤り訂正されたユーザデータUD(32)_oは出力ラッチ回路210に入力されている状態である。
図6のタイミングチャートに於いて、時刻t0〜時刻t2迄の動作は、上述の図5における時刻t0〜時刻t2迄の動作と同様である。つまり、時刻t3の直前では、ECC回路205で誤り訂正されたユーザデータUD(32)_oは出力ラッチ回路210に入力されている状態である。
時刻t3において、データ出力ラッチ信号RCLKの”L”から”H”へ変化し、出力ラッチ回路210ではデータバスN2を介して入力されたユーザデータUD(32)_oのうち8ビットのユーザデータUD(8)_o_pがコラムアドレス信号COLADに基づき選択される。選択されたユーザデータUD(8)_o_pはデータバスM1を介してデータ入出力端子I/O[7:0]に出力され、8ビットのユーザデータUD(8)として外部に出力される。
本発明の半導体記憶装置200の1バイトモードの読み込み動作においては、ユーザデータUD(32)_oがパリティビットPD(6)_oとともにメモリセルアレイ201から読み出され、4バイトのユーザデータUD(32)_oのうち1バイトのユーザデータUD(8)_o_pが選択されて外部に出力される。
上述の1バイトモードは、編集或いは書込のために入力される4つ以上のユーザデータUD(8)の連続性が確保されていない、不連続なユーザデータUD(8)が半導体記憶装置200に入力される場合に用いられる。つまり、入力されてくるユーザデータUD(8)の1バイト単位で、4バイトのユーザデータUD(32)を編集して、パリティビットPD(6)を更新するので、複数のユーザデータUD(8)が不連続で入力しても32ビットに対する6ビットの誤り訂正を行って、メモリセルアレイに適切に記録できる。
<ページモード>
以下に、図7および図8を参照して、本発明の実施の形態にかかる半導体記憶装置200のページモードにおける書込動作について説明する。その後に、図8を参照してページモードにおける読み出し動作について説明する。
以下に、図7および図8を参照して、本発明の実施の形態にかかる半導体記憶装置200のページモードにおける書込動作について説明する。その後に、図8を参照してページモードにおける読み出し動作について説明する。
書込動作:
ページモードにおいては、1バイトモードにおけるのとは異なり、外部から連続して入力されるユーザデータUD(8)が4バイト毎に、メモリセルアレイ201に記録される。つまり、1バイトモードにおけるように、ユーザデータUD(8)が1つ入力される度に、メモリセルアレイ201からペアデータDP(38)が読み出され、ペアデータDP(38)が編集されたり、パリティビットPD(6)が更新されることはない。
ページモードにおいては、1バイトモードにおけるのとは異なり、外部から連続して入力されるユーザデータUD(8)が4バイト毎に、メモリセルアレイ201に記録される。つまり、1バイトモードにおけるように、ユーザデータUD(8)が1つ入力される度に、メモリセルアレイ201からペアデータDP(38)が読み出され、ペアデータDP(38)が編集されたり、パリティビットPD(6)が更新されることはない。
つまり、ページモードにおいては、ペアデータDP(38)は連続する4バイトのユーザデータUD(8)が入力される度に、メモリセルアレイ201に連続的に書き込まれる。
まず、時刻t2と時刻t3との間に、データ入出力端子I/O[7:0]を介して、外部から連続するユーザデータUD(8)の入力が開始される。
時刻t3において、コラムアドレス信号COLADに基づいて、すでに入力されたユーザデータUD(8)がユーザデータUD(32)の最初4バイト(つまり、ユーザデータUD(32)_oにおける、ユーザデータUD(8)_o_1〜UD()8)_o_4)のどれであるかが判断される。本例においては、時刻t2と時刻t3との間に、最初のユーザデータUD(8)、つまりユーザデータUD(8)_o_1の入力が開始されている場合を例に説明する。
よって、時刻t3、t4、t5、およびt6のそれぞれにおいて、外部から連続して入力されるユーザデータUD(8)_o_1、UD(8)_o_2、UD(8)_o_3、およびUD(8)_o_4が、コラムアドレス信号COLADおよびデータ入力ラッチ信号WCLKに基づいて、入力ラッチ回路206に入力される。つまり、この時点で入力ラッチ回路206において、ユーザデータUD(32)_oが保持されている。
よって、時刻t6において、ECC処理イネーブル信号ECCENの“H”に応答して、ECC回路205は入力ラッチ回路206に保持されているユーザデータUD(32)_oに対して、パリティビットPD(6)_oを生成する。そして、ユーザデータUD(32)_oおよびパリティビットPD(6)_oがライトバッファ209に出力される。
時刻t7において、冗長切換信号CREDの”H”に応答して、冗長切換回路207A〜207Dのいずれかから冗長データRD(2)が出力される。このようにして、連続する4つのユーザデータUD(8)_o_1〜UD(8)_o_4で構成されるユーザデータUD(32)_oと、当該ユーザデータUD(32)_oに関するパリティビットPD(6)_o、および冗長データRD(2)がライトバッファ209で保持される。
そして、ライトバッファ209から、ユーザデータUD(32)_o、パリティビットPD(6)_oおよび冗長データRD(2)がデータバスS2を介してメモリセルアレイ201に入力される。つまり、入力ラッチ回路206において、ユーザデータUD(32)_oは連続する4つのユーザデータUD(8)によって生成されて、パリティビットPD(6)が生成される。このように、ページモードにおいては、ユーザデータUD(32)およびパリティビットPD(6)は、連続する4つのユーザデータUD(8)毎に生成されて、メモリセルアレイ201に格納される。
読み出し動作:
図8のタイミングチャートに於いて、時刻t0〜時刻t2迄の動作は、上述の図6における時刻t0〜時刻t2迄と同様に、時刻t3の直前では、ECC回路205で誤り訂正されたユーザデータUD(32)_oは出力ラッチ回路210に入力されている状態である。
図8のタイミングチャートに於いて、時刻t0〜時刻t2迄の動作は、上述の図6における時刻t0〜時刻t2迄と同様に、時刻t3の直前では、ECC回路205で誤り訂正されたユーザデータUD(32)_oは出力ラッチ回路210に入力されている状態である。
時刻t3において、データ出力ラッチ信号RCLKの”L”から”H”へ変化し、出力ラッチ回路210ではデータパスN2を介して入力されたユーザデータUD(32)_oを構成する4つのユーザデータUD(8)_o_1〜UD(8)_o_4の任意の1つであるユーザデータUD(8)_o_pがコラムアドレス信号COLADに基づき選択されて、外部データ入出力端子I/O[7:0]から外部に出力される。本例においては、最初のユーザデータUD(8)_o_1が時刻t3に出力される。
以降、時刻t4、t5、およびt6において、ユーザデータUD(8)_o_2、UD(8)o3、およびUD(8)_o_4がそれぞれ連続的に選択されて、出力ラッチ回路210から外部に出力される。
ページモードは、ページ単位でユーザデータを半導体記憶装置200に連続的に書き込みおよび読み出しが可能である。データ入出力端子I/O[7:0]より、データ書き込みラッチ信号WCLKの4サイクルで4バイト(32ビット)のユーザデータUD(32)_oを入力ラッチ回路206に保持した後に、ECC回路205で誤り訂正処理用のパリティビットを生成している。
このように、ページモードの書き込み動作では、ユーザデータUD(32)の4バイトが全て書き込まれた時点で、ユーザデータUD(32)に対するパリティビットPD(6)が作成されるため、書き込みの際に40ビットのデータ(ペアデータDP(38)および冗長データRD(2))をメモリセルアレイ201から読み出す必要はない。
また、ユーザデータUD(8)が外部から入力される度に、パリティビットPD(6)を作成して、40ビットのデータ(ペアデータDP(38)および冗長データRD(2))をメモリセルアレイ201で記憶する必要もない。結果、1バイトモードに比べて、読み出し動作および書き込み動作共に高速化される。
上述のようにページモードは、編集・書込のために入力される4つ以上のユーザデータUD(8)のユーザデータUD(32)分以上連続している場合に用いられる。例えば、32バイト以上の連続するユーザデータUDが半導体記憶装置200に記録される場合には、ユーザデータUD(8)が入力される毎のメモリセルアレイ201からの読み出し、パリティビットPD(6)生成、およびメモリセルアレイ201への格納という作業を、1バイトモードの場合に比べて約1/4に低減できる。
<メモリセル不良検査モード>
書込動作:
以下、図9および図10を参照して、本モードにおけるデータのメモリセルアレイ201に対する書込および読み出し動作について説明する。メモリセルアレイ201のうちユーザデータUD(32)が記憶されるメモリセルの検査については、データの書き込みおよび読み出しの動作は、ECC回路205による誤り訂正処理を無効にすることを除いて、図3〜図6を参照して説明した1バイトモードでのデータの書き込みおよび読み出しの動作と変わりがない。
書込動作:
以下、図9および図10を参照して、本モードにおけるデータのメモリセルアレイ201に対する書込および読み出し動作について説明する。メモリセルアレイ201のうちユーザデータUD(32)が記憶されるメモリセルの検査については、データの書き込みおよび読み出しの動作は、ECC回路205による誤り訂正処理を無効にすることを除いて、図3〜図6を参照して説明した1バイトモードでのデータの書き込みおよび読み出しの動作と変わりがない。
図9に、メモリセルアレイ201へデータを書き込む時のタイミングチャートを示す。図9のタイミングチャートは、1バイトモードで説明した図4のタイミングチャートと、ECCセルアクセスイネーブル信号ECCDIRが“H”に固定され、ECC処理イネーブル信号ECCENが“L”に固定されている点で相違している。
図9を参照して、メモリセルアレイ201のパリティビット用メモリセルおよび冗長データ用メモリセルに検査用データ(パリティビットおよび冗長データ)を書き込む際の動作について説明する
データ入出力端子IO[7:0]から入力された8ビットのユーザデータUD(8)が、入力ラッチ回路206に入力される。上述の1バイトモードにおいては、ECCセルアクセスイネーブル信号ECCDIRが“L”に固定されているため、入力アクセス切換回路208で、ECC回路205から出力された6ビットのパリティビットPD(6)が選択され、ライトバッファ209に入力される。
これに対し本モードでは、ECCメモリセルアクセスイネーブル信号ECCDIRが“H”に固定されているため、入力アクセス切換回路208では、外部から入力され入力ラッチ回路206に保持された8ビットのデータのうちの上位6ビットがパリティビットとして選択され、ライトバッファ209に入力される。
また、8ビットのユーザデータUD(8)のうちの残りの2ビットのデータが冗長切換器207A〜207Dで選択され冗長データとして出力される。そして、2ビットの冗長データがライトバッファ209に入力される。
また、8ビットのユーザデータUD(8)のうちの残りの2ビットのデータが冗長切換器207A〜207Dで選択され冗長データとして出力される。そして、2ビットの冗長データがライトバッファ209に入力される。
こうして、32ビットのユーザデータUD(32)、6ビットのパリティビット、および2ビットの冗長データを含む40ビットのデータはライトバッファ209に保持される。ライトバッファ209に保持された40ビットのデータは、その後メモリセルアレイ201に書き込まれ、それぞれユーザデータ用メモリセル、パリティビット用メモリセルおよび冗長データ用メモリセルに記憶される。このようにして、メモリセルアレイ201への検査用データの書き込みが終了する。
読み込み動作:
次に、図10のタイミングチャートを参照して、冗長データ用メモリセルとパリティビット用メモリセルから検査用データを読み出す際の動作について説明する。図10のタイミングチャートは、1バイトモードで説明した図6のタイミングチャートと、ECCセルアクセスイネーブル信号ECCDIRが“H”に固定され、ECC処理イネーブル信号ECCENが“L”に固定されている点で相違している。
次に、図10のタイミングチャートを参照して、冗長データ用メモリセルとパリティビット用メモリセルから検査用データを読み出す際の動作について説明する。図10のタイミングチャートは、1バイトモードで説明した図6のタイミングチャートと、ECCセルアクセスイネーブル信号ECCDIRが“H”に固定され、ECC処理イネーブル信号ECCENが“L”に固定されている点で相違している。
メモリセルアレイ201から40ビットのデータが読み出され、アンプユニット202A〜202Fに入力される。アンプユニット202Eに入力した6ビットのパリティビットは、出力アクセス切換回路204を介してECC回路205に入力される。また、アンプユニット202Fに入力した2ビットの冗長データは、冗長切換器203A〜203Dを介して、32ビットのユーザデータUD(32)の下位2ビットに現れる。
パリティビット用メモリセルから読み出された6ビットのパリティビットと冗長データ用メモリセルから読み出された2ビットの冗長データは、ECC回路205から出力される32ビットのユーザデータUD(32)の下位8ビットに現れる。ECC回路205から出力された32ビットのユーザデータUD(32)が出力ラッチ回路210に保持された後、ユーザデータの下位8ビットがデータ入出力端子IO[7:0]を介して外部に出力される。読み出された下位8ビットのデータの内容が書き込まれたデータの内容と同じであるか否かを確認することにより、各メモリセルが正常に動作するか否かを検査できる。
従来の半導体記憶装置(図14)では、上述のように8ビットのユーザデータに対してパリティビットは4ビットとなる。冗長データを2ビットとすると合計で6ビットとなるため、1バイト単位で検査を行う際に2ビットのデータが余り、効率が悪い。一方、本実施の形態では、メモリセルアレイ201に記憶された6ビットのパリティビットと2ビットの冗長データを同時にアクセスすることにより1バイト(8ビット)単位で検査用データを読み出すことができる。従って、メモリセルアレイのパリティビット用メモリセルと冗長データ用メモリセルを同時に検査する場合に、検査効率が向上する。
次に、図11を参照して、本実施の形態で採用している冗長救済の方法について説明する。図11は、書き込みのため外部から入力するデータを8ビット、ECC回路205に入力するデータのビット数を32ビットとする場合の、冗長方式による冗長救済単位と必要な冗長ビット数を比較したものである。
図11(A)に示すように、コラム冗長を使用する場合は、ECC回路にコラム0〜コラム3(各コラムは、I/O0〜7の8ビットのI/Oデータで構成)までの32ビットが入力され、この入力データをもとに、ECC回路でコラム_ECC(I/O0〜5の6ビットのデータ)のパリティビットが生成される。冗長置換を実施する場合、前記32ビットの入力データと前記パリティビットの合計38ビットの単位で置換する必要があるため、1つのコラム冗長で必要となる冗長ビット数は38ビットである。
一方、図11(B)に示すように、I/O冗長では、I/O0〜31(各I/Oは、コラム0〜7の8コラムで構成)のコラム0に相当する32ビットがECC回路に入力され、前記入力データをもとに、ECC回路で発生されるI/O_ECC0〜5(各I/O_ECCは、コラム0〜7の8コラムで構成)のコラム0に相当する6ビットのパリティビットとなる。従って、前記I/O0〜31とI/O_ECC0〜5がアクセス単位となり、冗長救済はそのアクセス単位内でのI/O置換になるので、1つのI/O冗長で必要となる冗長ビット数は8ビット(コラム0〜7)である。
このように、半導体記憶装置で入出力するデータ(ユーザデータUD(8))の書き換え単位のビット数よりもECC回路で誤り訂正処理を行うデータ(ユーザデータUD(32))のビット数が大きい場合には、コラム冗長よりもI/O冗長のほうが有効である。コラム冗長では、1つのコラムに対して38ビットが必要であるが、I/O冗長では、1つのI/O冗長に対して8ビットでユーザデータ(ユーザデータUD(32))用メモリセルおよびパリティビット(パリティビットPD(6))用メモリセルに対する冗長救済が可能となる。
以下に、図12を参照して、メモリセルアレイ201におけるデータの種類毎の記憶領域について説明せる。メモリセルアレイ201のワード線方向を縦方向とし、ビット線方向を横方向とした場合に、各領域は縦方向に所定の順番に配置されている。具体的には、第1のユーザデータ領域RU1、第2のユーザデータ領域RU2、第3のユーザデータ領域RU3、および第4ユーザデータ領域が離散して順番に配置されている。
第1のユーザデータ(UD(32)_1)領域RU1と第2のユーザデータ(UD(32_1))領域RU2との間には、第1のパリティビット(PD(6)_1)領域RP1と第2のパリティビット(PD(6)_2)領域RP2が配置されている。
第2のユーザデータ(UD(32)_2)領域RU2と第3のユーザデータUD(32)_3)領域RU3との間には、第3のパリティビット(PD(6)_3)領域RP3、第1の冗長データ(RD(2)_1)領域RR1、第2の冗長データ(RD(2)_2)領域RR2、および第4のパリティビット(PD(6)_4)領域RP4が順番に配置されている。
そして、第3のユーザデータ(UD(32)_3)領域RU3と第4のユーザデータ(UD(32)_4)領域RU4との間には、第5のパリティビット(PD(6)_5)領域RP5と第6のパリティビット領域RP6が順番に配置されている。
このように、パリティビット用領域RPおよび冗長データ用領域RRを端部に配置しないことで、パリティビットおよび冗長データ用のメモリセルの不良率を抑えている。
上述のように、本発明は、nバイトのユーザデータUD(n×8)に対して、ECC訂正処理を施して生成されるαビットのパリティビットPD(α)をペアに格納することによって、メモリセルアレイにおけるユーザデータUDの占有比率を増大させることができ、同一のサイズのメモリセルアレイ201により多くのユーザデータの記憶としている。つまり、メモリセルアレイの物理的記憶容量を増加させることなく、ユーザが直接記憶させるデータの記憶容量を増加させている。なお、nは2以上の任意の整数であり、αはnの値によって適宜決定される整数である。
本発明に係る半導体記憶装置は、軽量かつ小型化と共にデータ記憶の高容量化が要求される電子機器に用いることができる。
201 メモリセルアレイ
202 リードアンプ
203 出力冗長データ切換回路
204 出力アクセス切換回路
207 入力冗長データ切換回路
208 入力アクセス切換回路
205 ECC回路
206 入力ラッチ回路
209 ライトバッファ
210 出力ラッチ回路
CRED 冗長切換信号
WCLK データ入力ラッチ信号
COLAD コラムアドレス信号
ECCDIR ECCメモリセルアクセスイネーブル信号
ECCEN ECC処理イネーブル信号
RCLK データ出力ラッチ信号
I/O[7:0] データ入出力端子
I1、M1、N1〜N5、P1〜P3、R1〜R4、S1〜S2 データバス
202 リードアンプ
203 出力冗長データ切換回路
204 出力アクセス切換回路
207 入力冗長データ切換回路
208 入力アクセス切換回路
205 ECC回路
206 入力ラッチ回路
209 ライトバッファ
210 出力ラッチ回路
CRED 冗長切換信号
WCLK データ入力ラッチ信号
COLAD コラムアドレス信号
ECCDIR ECCメモリセルアクセスイネーブル信号
ECCEN ECC処理イネーブル信号
RCLK データ出力ラッチ信号
I/O[7:0] データ入出力端子
I1、M1、N1〜N5、P1〜P3、R1〜R4、S1〜S2 データバス
Claims (17)
- 第1のデータに対する誤り訂正用の第1のパリティビットを生成する誤り訂正回路と、
前記第1のデータおよび前記第1のパリティビットが書き込まれるメモリセルアレイとを備えた半導体記憶装置であって、
前記第1のデータのデータ長は、当該第1のデータの書き込みもしくは書き換えのため外部から入力される第2のデータのデータ長より大きいことを特徴とする半導体記憶装置。 - 前記第1のデータは前記第2のデータを少なくとも1つ含むことを特徴とする請求項1に記載の半導体記憶装置。
- 前記第1のデータは、連続するn個(n≧2を満たす整数)の前記第2のデータを含むことを特徴とする請求項2に記載の半導体記憶装置。
- 前記第1のデータのデータ長は8ビットであり、前記nは4であることを特徴とする請求項3に記載の半導体記憶装置。
- 前記誤り訂正回路は、更に、前記メモリセルアレイから読み出された前記第1のパリティビットに基づいて、前記メモリセルアレイから読み出された前記第1のデータの誤り訂正を行うことを特徴とする請求項1に記載の半導体記憶装置。
- 前記第2のデータを含む前記第1のデータを保持可能な入力ラッチ回路を更に備えたことを特徴とする請求項1に記載の半導体記憶装置。
- 誤り訂正された前記第1のデータを保持する出力ラッチ回路を更に備えたことを特徴とする請求項6に記載の半導体記憶装置。
- 前記メモリセルアレイには更に第1の冗長データが記憶されており、前記メモリセルアレイから読み出された前記第1のデータに含まれる不良データを、前記第1の冗長データで置換する第1の冗長切換回路を更に備えたことを特徴とする請求項1に記載の半導体記憶装置。
- 前記第1の冗長データによる救済は、データ入出力端子に対応するIO単位で実施されることを特徴とする請求項8に記載の半導体記憶装置。
- 前記入力ラッチ回路から出力される前記第1のデータの一部を第2の冗長データとして選択する第2の冗長選択回路を更に備えたことを特徴とする請求項8に記載の半導体記憶装置。
- 前記誤り訂正回路から出力された前記第1のパリティビットおよび前記入力ラッチ回路から出力された前記第1のデータの一部のいずれかを選択するアクセス切換回路を更に備えたことを特徴とする請求項8に記載の半導体記憶装置。
- 前記メモリセルアレイのうち前記第1の冗長データおよび前記第1のパリティビットが記憶される領域は、前記メモリセルアレイの端部以外の場所に配置されていることを特徴とする請求項1に記載の半導体記憶装置。
- 請求項2に記載の半導体記憶装置のデータ書き込み方法であって、
前記メモリセルアレイから書き換えの対象となるアドレスに記憶された第3のデータを含み、前記第1のデータとデータ長が等しく、かつアドレスが連続する第4のデータを読み出す第1のステップと、
前記第4のデータのうち前記第3のデータを前記第2のデータに置き換えて前記第1のデータを生成する第2のステップと、
前記第1のデータを入力として、前記誤り訂正回路で誤り訂正用の前記第1のパリティビットを生成する第3のステップと、
前記第1のデータおよび前記第1のパリティビットを前記メモリセルアレイに書き込む第4のステップとを含むことを特徴とする半導体記憶装置のデータ書き込み方法。 - 前記誤り訂正回路は、前記メモリセルアレイから読み出された前記第2のパリティビットに基づいて、前記第4のデータの誤り訂正を行う機能を備え、
前記第1のステップで読み出された前記第4のデータに対して誤り訂正を行うステップを更に含むことを特徴とする請求項13に記載の半導体記憶装置のデータ書き込み方法。 - 請求項3に記載の半導体記憶装置のデータ書き込み方法であって、
外部から連続して入力されるn個の前記第2のデータに基づいて前記第1のデータを生成する第1のステップと、
前記第1のデータを入力として、前記誤り訂正回路で誤り訂正用の前記第1のパリティビットを生成する第2のステップと、
前記第1のデータおよび前記第1のパリティビットを前記メモリセルアレイに書き込む第3のステップとを含むことを特徴とする半導体記憶装置のデータ書き込み方法。 - 請求項11に記載の半導体記憶装置のデータ書き込み方法であって、
前記メモリセルアレイから書き換えの対象となるアドレスに記憶された第3のデータを含み、前記第1のデータとデータ長が等しく、かつアドレスが連続する第4のデータを読み出す第1のステップと、
前記第4のデータのうち前記第3のデータを前記第2のデータに置き換えて前記第1のデータを生成する第2のステップと、
前記第1のデータのうち、前記第2のデータの一部分を前記アクセス切換回路で選択し、前記第2のデータの他の部分を前記第2の冗長切換回路で選択する第3のステップと、
前記第1のデータおよび前記第2のデータの一部分および他の部分を前記メモリセルアレイに書き込む第4のステップとを含むことを特徴とする半導体記憶装置のデータ書き込み方法。 - 請求項5に記載の半導体記憶装置のデータ読み出し方法であって、
前記メモリセルアレイから読み出しの対象となるアドレスに記憶された前記第2のデータを含む前記第1のデータ、およびこの第1のデータに対応する前記第1のパリティビットを読み出す第1のステップと、
前記第1のパリティビットに基づいて前記第1のデータの誤り訂正を行う第2のステップと、
誤り訂正された前記第1のデータのうち前記第2のデータを外部に出力する第3のステップとを含むことを特徴とする半導体記憶装置のデータ読み出し方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007022878A JP2008192206A (ja) | 2007-02-01 | 2007-02-01 | 半導体記憶装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007022878A JP2008192206A (ja) | 2007-02-01 | 2007-02-01 | 半導体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008192206A true JP2008192206A (ja) | 2008-08-21 |
Family
ID=39752177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007022878A Pending JP2008192206A (ja) | 2007-02-01 | 2007-02-01 | 半導体記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008192206A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559914A (zh) * | 2013-10-31 | 2014-02-05 | 西安华芯半导体有限公司 | Ecc存储器存储不同长度数据的方法 |
CN108364671A (zh) * | 2018-04-20 | 2018-08-03 | 睿力集成电路有限公司 | 半导体存储器的奇偶校验装置及半导体存储器 |
-
2007
- 2007-02-01 JP JP2007022878A patent/JP2008192206A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559914A (zh) * | 2013-10-31 | 2014-02-05 | 西安华芯半导体有限公司 | Ecc存储器存储不同长度数据的方法 |
CN108364671A (zh) * | 2018-04-20 | 2018-08-03 | 睿力集成电路有限公司 | 半导体存储器的奇偶校验装置及半导体存储器 |
CN108364671B (zh) * | 2018-04-20 | 2023-10-13 | 长鑫存储技术有限公司 | 半导体存储器的奇偶校验装置及半导体存储器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7275200B2 (en) | Transparent error correcting memory that supports partial-word write | |
US8555143B2 (en) | Flash memory controller and the method thereof | |
US6608784B2 (en) | Non-volatile semiconductor memory device | |
EP2199911B1 (en) | Flash memory controller, error correction code controller therein, and the methods and systems thereof | |
JP2006079811A (ja) | エラー検出用パリティー発生器を備えた半導体メモリ装置 | |
JP5403292B2 (ja) | 外部アドレスに応える不良メモリブロックの置き換え | |
JP2005025827A (ja) | 半導体集積回路装置およびそのエラー検知訂正方法 | |
CN114365225A (zh) | 具有系统ecc的存储器 | |
JP2005346887A (ja) | 半導体記憶装置 | |
US7310262B2 (en) | Ferroelectric memory capable of continuously fast transferring data words in a pipeline | |
JP2008021390A (ja) | 半導体記憶装置 | |
JP2010079856A (ja) | 記憶装置およびメモリ制御方法 | |
CN114556475A (zh) | 用于将数据写入到存储器的设备及方法 | |
US9467175B2 (en) | Decoding method, memory storage device and memory controlling circuit unit | |
JP4956230B2 (ja) | メモリコントローラ | |
JP2009157515A (ja) | 半導体メモリコントローラおよび半導体メモリ | |
KR20180031857A (ko) | 메모리 셀의 에러 확인 기능을 갖는 메모리 장치 및 이를 포함하는 메모리 모듈 | |
KR20220033975A (ko) | CbA 기술을 사용한 재배치 흐름 | |
JP2008192206A (ja) | 半導体記憶装置 | |
US20200034259A1 (en) | Memory module, memory system including the same and operation method thereof | |
JP2008107897A (ja) | 半導体記憶装置 | |
US20230168964A1 (en) | Centralized SRAM Error Location Detection and Recovery Mechanism | |
KR20180027655A (ko) | 테스트방법 및 이를 이용한 반도체시스템 | |
JP2005050442A (ja) | 冗長メモリ回路 | |
JP4387256B2 (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20081107 |