(57)【特許請求の範囲】
【請求項１】
複数の書込データ片をｋ個（ｋは２以上の整数）のページからなるブロックの単位でメモリセルに書き込む半導体メモリであって、
前記書込データ片各々の前記ブロック内での書込ビット位置を示すデータアドレスに基づき、前記書込データ片の各々が書き込まれる前記ページを示す書込ページアドレスを検出する書込ページアドレス検出部と、
前記ｋ個のページ各々に対応したｋ個のページデータ片のうちで前記書込ページアドレスにて示される前記ページデータ片の各々内に、少なくとも１の前記書込データ片を組み込み、前記書込データ片が組み込まれた前記ページデータ片を書込ページデータ片として出力する書込バッファと、
前記書込ページデータ片の各々に対して誤り訂正符号化処理を施して符号化書込データ片を得るＥＣＣ部と、
前記書込ページアドレスにて示される前記ページに属する前記メモリセルの各々に、前記符号化書込データ片に基づく書込電圧を印加するデコーダと、を有することを特徴とする半導体メモリ。
【請求項２】
前記半導体メモリは、ＮＯＲ型のフラッシュメモリであることを特徴とする請求項１記載の半導体メモリ。
【請求項３】
前記書込ページアドレス検出部は、
書込アドレス記憶部と、
前記書込データ片の各々毎に、前記データアドレスに基づき前記書込データ片が書き込まれる前記ブロック内の前記ページを示すページアドレスを判定し、判定した前記ページアドレスが前記書込アドレス記憶部に未記憶である場合に前記ページアドレスを前記書込アドレス記憶部に記憶させるページアドレス照合部と、
前記書込アドレス記憶部に記憶されている前記ページアドレスの各々を順次読み出して、前記読み出された前記ページアドレスを前記書込ページアドレスとして前記書込バッファに出力する出力部と、を有することを特徴とする請求項１又は２記載の半導体メモリ。
【請求項４】
前記ＥＣＣ部は、前記メモリセルアレイから読み出された前記ページ毎のデータ片に対して誤り訂正処理を施して得た誤り訂正データを読出データとして出力することを特徴とする請求項１〜３のいずれか１に記載の半導体メモリ。
【請求項５】
複数の書込データ片をｋ個（ｋは２以上の整数）のページからなるブロックの単位でメモリセルに書き込むデータ書込方法であって、
前記書込データ片各々の前記ブロック内での書込ビット位置を示すデータアドレスに基づき、前記書込データ片の各々が書き込まれる前記ページを示す書込ページアドレスを検出する第１ステップと、
前記ｋ個のページ各々に対応したｋ個のページデータ片のうちで前記書込ページアドレスにて示される前記ページデータ片の各々内に、少なくとも１の前記書込データ片を組み込み、前記書込データ片が組み込まれた前記ページデータ片を書込ページデータ片とする第２ステップと、
前記書込ページデータ片の各々に対して誤り訂正符号化処理を施して符号化書込データ片を得る第３ステップと、
前記書込ページアドレスにて示される前記ページに属する前記メモリセルの各々に前記符号化書込データ片に基づく書込電圧を印加する第４ステップと、を有することを特徴とするデータ書込方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリ、特に不揮発性の半導体メモリ及び半導体メモリにおけるデータの書き込み方法に関する。
【背景技術】
【０００２】
不揮発性の半導体メモリとして、ＮＡＮＤ型又はＮＯＲ型のフラッシュメモリが知られている。ＮＡＮＤ型フラッシュメモリには、データの信頼性を高める為に、書込及び読出データに対して誤り検出及び訂正を施す、いわゆるＥＣＣ（Error Checking and Correcting）機能が搭載されている（例えば、特許文献１参照）。ＥＣＣ機能を利用したデータ書き込みでは、各ワード線に接続されている複数のメモリセルに対応したページ単位にて、入力された書込データ片の系列に対して誤り訂正用の符号化処理を施す。そして、当該符号化処理によって得られたページ毎の符号化データを、メモリセルアレイに書き込む。尚、データ読み出し時には、ページ単位で読み出した符号化データに対して誤り訂正を施し、誤り訂正されたデータを読出データとして出力する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１３３８４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一方、ＮＯＲ型フラッシュメモリは、一般的にデータの信頼性が高い為、ＮＡＮＤ型フラッシュメモリにおいて必要となるＥＣＣが不要とされている。しかしながら、近年、メモリの高密度記録化及び高速化の要求に伴い、ＮＯＲ型フラッシュメモリにおいてもデータの信頼性が低下するという問題が生じた。
【０００５】
ところで、ＮＯＲ型フラッシュメモリでは、例えば１２８ビットからなるページ単位でデータ読み出しが為されるものの、データ書き込みは、例えば１００ページ分の複数ページからなるブロック単位で行われる。
【０００６】
よって、ＮＯＲ型フラッシュメモリでは、１回分の書き込みが上記したようなブロック単位となるので、誤り検出及び訂正の対象となるデータ長が長大となる。従って、誤り検出及び訂正処理に費やされる時間が大となり、データアクセス（書込、読出）速度の低下を招くことになる。
【０００７】
また、ＮＯＲ型フラッシュメモリでは、当該ブロック単位の書き込みを行う為に、先ず、入力された書込データ片の系列における各書込データ片を、１ブロック内の複数ページに夫々対応したページデータ内の各ビットのデータとして組み込む。そして、当該書込データ片の組み込みが為された１ブロック分の各ページデータをメモリセルアレイに書き込むようにしている。
【０００８】
この際、ＮＯＲ型フラッシュメモリでは、入力された書込データ片の系列が必ずしもその系列順に連続してページデータ内に組み込まれるわけではなく、例えば当該一連の書込データ片が複数のページデータに夫々分散して組み込まれる場合がある。
【０００９】
よって、ＮＯＲ型フラッシュメモリでは、入力された書込データ片の配列と、ページ毎に読み出された読出データ片の配列とが異なる場合があるので、ＮＡＮＤ型フラッシュメモリで採用されている方法で誤り訂正を行うことができなかった。
【００１０】
そこで、本発明は、入力された書込データ片の配列と読出データ片の配列とが異なる場合においても、アクセス時間の増大を招くことなくＥＣＣによる信頼性の高いメモリアクセスを行うことが可能な半導体メモリ及びデータの書き込み方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る半導体メモリは、複数の書込データ片をｋ個（ｋは２以上の整数）のページからなるブロックの単位でメモリセルに書き込む半導体メモリであって、前記書込データ片各々の前記ブロック内での書込ビット位置を示すデータアドレスに基づき、前記書込データ片の各々が書き込まれる前記ページを示す書込ページアドレスを検出する書込ページアドレス検出部と、前記ｋ個のページ各々に対応したｋ個のページデータ片のうちで前記書込ページアドレスにて示される前記ページデータ片の各々内に、少なくとも１の前記書込データ片を組み込み、前記書込データ片が組み込まれた前記ページデータ片を書込ページデータ片として出力する書込バッファと、前記書込ページデータ片の各々に対して誤り訂正符号化処理を施して符号化書込データ片を得るＥＣＣ部と、前記書込ページアドレスにて示される前記ページに属する前記メモリセルの各々に、前記符号化書込データ片に基づく書込電圧を印加するデコーダと、を有する。
【００１２】
また、本発明に係るデータ書込方法は、複数の書込データ片をｋ個（ｋは２以上の整数）のページからなるブロックの単位でメモリセルに書き込むデータ書込方法であって、前記書込データ片各々の前記ブロック内での書込ビット位置を示すデータアドレスに基づき、前記書込データ片の各々が書き込まれる前記ページを示す書込ページアドレスを検出する第１ステップと、前記ｋ個のページ各々に対応したｋ個のページデータ片のうちで前記書込ページアドレスにて示される前記ページデータ片の各々内に、少なくとも１の前記書込データ片を組み込み、前記書込データ片が組み込まれた前記ページデータ片を書込ページデータ片とする第２ステップと、前記書込ページデータ片の各々に対して誤り訂正符号化処理を施して符号化書込データ片を得る第３ステップと、前記書込ページアドレスにて示される前記ページに属する前記メモリセルの各々に前記符号化書込データ片に基づく書込電圧を印加する第４ステップと、を有する。
【発明の効果】
【００１３】
本発明においては、複数の書込データ片をｋ個のページからなるブロックの単位でメモリセルに書き込むにあたり、先ず、ブロック内での書込ビット位置を示すデータアドレスに基づき、書込データ片の各々が書き込まれるブロック内のページを示す書込ページアドレスを検出する。次に、各ページに対応したｋ個のページデータ片のうちで、書込ページアドレスにて示されるページデータ片内に、少なくとも１の書込データ片を組み込む。そして、この書込データ片が組み込まれたページデータ片の各々にだけ誤り訂正符号化処理を施し、この際得られた符号化書込データ片をメモリセルの各々に書き込むようにしている。
【００１４】
よって、本発明によれば、入力された書込データ片の配列と読出データ片の配列とが異なる場合においても、ＥＣＣを用いた信頼性の高いデータアクセスを行うことが可能となる。
【００１５】
更に、本発明によれば、書込データ片の各々が組み込まれたページデータのみに誤り訂正符号化処理を施すようにしているので、１ブロック内の全ページデータに誤り訂正符号化処理を施す場合に比して、その処理時間に伴うアクセス時間の増大を抑えることが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明に係る半導体メモリとしてのＮＯＲ型フラッシュメモリ２００の概略構成を示すブロック図である。
【００１７】
【図２】符号化書込データＰＤのデータフォーマットの一例を示す図である。
【００１８】
【図３】入力書込データＷＤのデータフォーマットの一例を示す図である。
【００１９】
【図４】１ブロック分のページデータＰＧＤ0〜ＰＧＤkへの書込データＤ0〜Ｄtの組み込みの一例を示す図である。
【００２０】
【図５】書込ページアドレス検出部１００の内部構成の一例を示すブロック図である。
【００２１】
【図６】書込ページアドレス検出部１００による書込ページアドレス検出処理を示すフロー図である。
【００２２】
【図７】ページアドレスレジスタＲ0〜Ｒkにおけるページアドレスの記憶状態の一例を示す図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
【００２４】
図１は、本発明に係る半導体メモリとしてのＮＯＲ型フラッシュメモリ２００の概略構成を示すブロック図である。図１において、メモリセルアレイ１０は、複数のワード線と複数のビット線とを含み、複数のワード線と複数のビット線との各交叉部にメモリセルが配置されている。尚、同一のワード線に接続されている複数のメモリセル、並びに１つのワード線に接続されているメモリセル群に格納されるデータの単位をページと称する。メモリセルアレイ１０では、複数のページ,例えば１００ページからなるブロック単位にてデータの書き込みが為される。
ロウデコーダ３０は、メモリセルアレイ１０のワード線各々のうちから、ブロックアドレスＡＤｂにて示されるブロックに対応したワード線を選択し、選択したワード線に対してデータ読出、データ書込及び消去に必要な電圧を印加する。
カラムデコーダ４０は、カラムアドレスＡＤｃにて示されるページアドレス、或いはブロック内でのビット位置を表すデータアドレスに対応したビット線又はビット線群に読出電圧を印加することによりデータの読出を行う。この際、カラムデコーダ３０は、各ビット線に読み出された読出信号の各々をセンスアンプ５０に供給する。
【００２５】
また、カラムデコーダ４０は、データ書き込み時には、センスアンプ５０を介して供給された符号化書込データＰＤに基づく書込電圧を、書込ページアドレスＡＤWにて示されるページに属するメモリセルの各々に接続されている各ビット線に印加する。これにより、カラムデコーダ４０は、符号化書込データＰＤをメモリセルアレイ１０に書き込む。
【００２６】
センスアンプ５０は、データの読み出し時において、各ビット線に読み出された読出信号の電位変動を検知及び増幅することにより２値又は多値のデータを判別し、判別されたデータを符号化読出データとしてＥＣＣ部６０に供給する。また、センスアンプ５０は、データの書き込み時には、ＥＣＣ部６０から供給された符号化書込データＰＤをそのままカラムデコーダ４０に供給する。
【００２７】
ＥＣＣ部６０は、センスアンプ５０から供給された符号化読出データに対して誤り検出及び誤り訂正処理を施すことにより、当該符号化読出データに生じているビット誤り又はバースト誤りを訂正したデータを読出データＲＤとして出力する。
【００２８】
また、ＥＣＣ部６０は、書込バッファ７０から供給された、ページ毎のページデータＰＧＤに対して誤り訂正符号化処理を施すことによりパリティビットが付加された符号化書込データＰＤを生成する。ＥＣＣ部６０は、例えば、図２に示すように１２８ビット長のページデータＰＧＤに対して誤り訂正符号化処理を施すことにより、８ビットのパリティビットＰＡが付加された符号化書込データＰＤを生成する。ＥＣＣ部６０は、符号化書込データＰＤをセンスアンプ５０を介してカラムデコーダ４０に供給する。
【００２９】
書込バッファ７０は、入力書込データＷＤとして、例えば図３に示すような一連の書込データＤ0〜Ｄt（ｔは２以上の整数）の系列を取り込む。尚、書込データＤ0〜Ｄtの各々は、例えば１６ビット長を有する。
【００３０】
書込バッファ７０は、先ず、１ブロック分のｋ個（ｋは２以上の整数）のページデータとして、夫々の全ビットが論理レベル０又は１に初期化されているページデータＰＧＤ0〜ＰＧＤkを想定する。次に、書込バッファ７０は、書込データＤ0〜Ｄtの各々を、書込ページアドレスＡＤWにて示されるページデータＰＧＤ内の指定のビット位置のデータとして組み込む。
【００３１】
例えば、書込データＤ0〜Ｄ2に夫々対応した書込ページアドレスＡＤWがページデータＰＧＤ0の第０ビット〜第４７ビットを示す場合には、書込バッファ７０は、例えば図４に示すように、書込データＤ0〜Ｄ2を、ページデータＰＧＤ0の第０ビット〜第４７ビットのデータとして組み込む。また、書込バッファ７０は、書込データＤ3〜Ｄ5に夫々対応した書込ページアドレスＡＤWがページデータＰＧＤ1の第８０ビット〜第１２７ビットを示す場合には、書込データＤ3〜Ｄ5を図４に示すようにページデータＰＧＤ1の第８０ビット〜第１２７ビットのデータとして組み込む。また、書込バッファ７０は、書込データＤ6及びＤ7に夫々対応した書込ページアドレスＡＤWがページデータＰＧＤ3の第４８ビット〜第７９ビットを示す場合には、書込データＤ6及びＤ7を図４に示すようにページデータＰＧＤ3の第４８ビット〜第７９ビットのデータとして組み込む。また、書込バッファ７０は、書込データＤ(t-2)〜Ｄtに夫々対応した書込ページアドレスＡＤWがページデータＰＧＤkの第０ビット〜第４７ビットを示す場合には、書込データＤ(t-2)〜Ｄtを図４に示すように、ページデータＰＧＤkの第０ビット〜第４７ビットのデータとして組み込む。
【００３２】
そして、書込バッファ７０は、１ブロック分のページデータＰＧＤ0〜ＰＧＤkのうちで、書込データＤ0〜Ｄtの組み込みが為されたページデータ、つまり書込ページアドレスＡＤWにて示されるページに対応したページデータＰＧＤのみをＥＣＣ部６０に供給する。例えば、図４に示す一例では、書込バッファ７０は、ページデータＰＧＤ0〜ＰＧＤkのうちで、書込ページアドレスＡＤWにて示されるページに対応した、少なくともＰＧＤ0、ＰＧＤ1、ＰＧＤ3及びＰＧＤkの各々をＥＣＣ部６０に供給する。しかしながら、書込ページアドレスＡＤWにて示されていないページに該当する、少なくともＰＧＤ2、ＰＧＤ4及びＰＧＤ(k-1)の各々については、書込バッファ７０は、ＥＣＣ部６０への供給を行わない。
【００３３】
制御部９０は、外部から供給されたチップイネーブル信号、書込信号、読出信号等の各種制御コマンドＣＭＤ、及びアドレスデータＡＤＤに応じて、ロウデコーダ３０及びカラムデコーダ４０に対して、上記したブロックアドレスＡＤｂ及びカラムアドレスＡＤｃを供給する。
【００３４】
尚、制御部９０は、データの書き込み時には、アドレスデータＡＤＤに応じて、入力書込データＷＤとしての書込データＤ0〜Ｄt各々のブロック内での書込ビット位置を示すデータアドレスＤＡを、書込ページアドレス検出部１００に供給する。
【００３５】
書込ページアドレス検出部１００は、書込データＤ0〜Ｄtの各々に対応したデータアドレスＤＡに基づき、１ブロック分の全てのページのうちから書込対象となるページを示すページアドレスを検出し、これを上記した書込ページアドレスＡＤWとして、カラムデコーダ４０及び書込バッファ７０に供給する。
【００３６】
図５は、書込ページアドレス検出部１００の内部構成を示すブロック図である。図５に示すように、書込ページアドレス検出部１００は、ページアドレス照合部１０１、書込ページアドレス記憶部１０２、入力カウンタ１０３、入力セレクタ１０４、出力カウンタ１０５、及び出力セレクタ１０６を含む。
【００３７】
ページアドレス照合部１０１は、データアドレスＤＡにて示される書込ビット位置を含むページを判定し、そのページを表すページアドレスＰＰＡを得る。ページアドレス照合部１０１は、当該ページアドレスＰＰＡにて示されるページが、書込ページアドレス記憶部１０２に記憶済みであるか否かを判定する。つまり、ページアドレス照合部１０１は、当該ページアドレスＰＰＡと、書込ページアドレス記憶部１０２に記憶されている記憶内容とを照合することにより、ページアドレスＰＰＡと同一のページアドレスが書込ページアドレス記憶部１０２に記憶済みであるか否かを判定する。この際、ページアドレス照合部１０１は、ページアドレスＰＰＡと同一のページアドレスが未記憶であると判定された場合にだけ、当該ページアドレスＰＰＡを入力セレクタ１０４に供給し、引き続き入力カウンタ１０３のカウント値に１を加算させる。
【００３８】
書込ページアドレス記憶部１０２は、１ブロック分の（ｋ＋１）個のページ各々に対応したページアドレスレジスタＲ0〜Ｒkを含む。これらページアドレスレジスタＲ0〜Ｒkのうちで、入力セレクタ１０４からページアドレスＰＰＡの供給が為された１つのページアドレスレジスタＲが、当該ページアドレスＰＰＡを記憶する。尚、ページアドレスレジスタＲ0〜Ｒkは、夫々に記憶されている記憶内容をページアドレス照合部１０１及び出力セレクタ１０６に供給する。
【００３９】
入力カウンタ１０３は、電源投入時、又はメモリセルアレイ１０への１ブロック分のデータ書き込みが終了する度にそのカウント値をゼロに初期化する。そして、入力カウンタ１０３は、ページアドレス照合部１０１においてページアドレスＰＰＡと同一のページアドレスが未記憶であると判定される度に、そのカウント値を１だけ増加する。
【００４０】
入力セレクタ１０４は、ページアドレスレジスタＲ0〜Ｒkのうちから、入力カウンタ１０３のカウント値に対応した１つを選択し、この選択したページアドレスレジスタＲにページアドレスＰＰＡを供給する。例えば、入力カウンタ１０３のカウント値がゼロである場合には、入力セレクタ１０４は、ページアドレスレジスタＲ0〜ＲkのうちのＲ0だけにページアドレスＰＰＡを供給する。これにより、ページアドレスレジスタＲ0は、入力セレクタ１０４から供給されたページアドレスＰＰＡを記憶する。また、入力カウンタ１０３のカウント値が「１」である場合には、入力セレクタ１０４は、ページアドレスレジスタＲ0〜ＲkのうちのＲ1だけにページアドレスＰＰＡを供給する。これにより、ページアドレスレジスタＲ1は、入力セレクタ１０４から供給されたページアドレスＰＰＡを記憶する。
【００４１】
出力カウンタ１０５は、電源投入時、又はメモリセルアレイ１０への１ブロック分のデータ書き込みが終了する度にそのカウント値をゼロに初期化する。そして、上記した入力書込データＷＤに基づく、書込ページアドレス記憶部１０２へのページアドレスの記憶処理が全て終了したら、出力カウンタ１０５は、カウント動作を開始する。この際、出力カウンタ１０５は、カウント値をゼロの状態から「１」ずつ増加して行き、そのカウント値が入力カウンタ１０３の現在のカウント値と一致したらカウント動作を停止する。
【００４２】
出力セレクタ１０６は、書込ページアドレス記憶部１０２のページアドレスレジスタＲ各々の記憶内容、つまり書込対象となるページを示すページアドレスを、出力カウンタ１０５のカウント値に基づき順次択一的に選択する。出力セレクタ１０６は、この選択した記憶内容を上記した書込ページアドレスＡＤWとして出力する。
以下に、図５に示す構成を有する書込ページアドレス検出部１００の動作について、図６に示す動作フローに沿って説明する。
【００４３】
先ず、ページアドレス照合部１０１が、入力書込データＷＤにおける書込データＤ0〜Ｄtのうちの１の書込データＤに対応したデータアドレスＤＡを取り込む（ステップＳ１）。次に、ページアドレス照合部１０１が、このデータアドレスＤＡにて示されるビット位置を含むページを判定し、当該ページを示すページアドレスＰＰＡと、書込ページアドレス記憶部１０２に記憶済みのページアドレスとを照合する（ステップＳ２）。次に、ページアドレス照合部１０１は、ステップＳ２での照合結果により、ページアドレスＰＰＡと同一のページアドレスが記憶済みであるか否かを判定する（ステップＳ３）。ステップＳ３においてページアドレスＰＰＡと同一のページアドレスが未記憶であると判定されると、ページアドレスレジスタＲ0〜Ｒkのうちで、入力カウンタ１０３のカウント値に対応した１のページアドレスレジスタＲが、当該ページアドレスＰＰＡを記憶する（ステップＳ４）。ステップＳ４の実行後、入力カウンタ１０３は、そのカウント値を「１」だけ増加する（ステップＳ５）。
【００４４】
かかるステップＳ５の実行後、又は上記ステップＳ３においてページアドレスＰＰＡと同一のページアドレスが記憶済みであると判定された場合、ページアドレス照合部１０１は、書き込みを行うデータ量を計数する書込回数カウンタ（図示せぬ）のカウント値が、所定の書込回数と同一であるか否かを判定する（ステップＳ６）。ステップＳ６において、書込回数カウンタのカウント値が所定の書込回数と同一ではないと判定された場合、つまり、そのカウント値が所定の書込回数未満である場合には、ページアドレス照合部１０１は、上記ステップＳ１の実行に戻り、次の書込データＤに対応したデータアドレスＤＡを取り込む。そして、引き続き上記ステップＳ２〜Ｓ６が実施される。
【００４５】
よって、上記ステップＳ１〜Ｓ６が繰り返し実施されることにより、書込データＤ0〜Ｄt各々のデータアドレスＤＡに基づき、１ブロック内において書込対象となるページを示すページアドレスが順次、書込ページアドレス記憶部１０２に記憶される。
【００４６】
この際、データアドレスＤＡに基づく１ブロック内での書込データＤ0〜Ｄtが例えば図４に示すように割り当てられている場合には、１ブロック分の（ｋ＋１）個の各ページに対応したページデータＰＧＤ0〜ＰＧＤkのうちのＰＧＤ0、ＰＧＤ1、ＰＧＤ3、ＰＧＤk等が書込対象ページデータとなる。よって、ページデータＰＧＤ0〜ＰＧＤkのうちで、書込データＤが含まれているＰＧＤ0、ＰＧＤ1、ＰＧＤ3、・・・、ＰＧＤkの各々に対応したページアドレスが、書込対象ページを示すページアドレスとして書込ページアドレス記憶部１０２に記憶される。尚、ＰＧＤ2には書込データＤが含まれていないので、当該ＰＧＤ2は書込対象ページから除外され、それ故、ＰＧＤ2に対応したページアドレスは書込ページアドレス記憶部１０２には記憶されない。
【００４７】
ところで、書込ページアドレス記憶部１０２には、書込対象となるページアドレスを記憶する為に、１ブロック分の（ｋ＋１）個の各ページに対応した（ｋ＋１）個のページアドレスレジスタＲ0〜Ｒkが設けられている。しかしながら、１ブロック内には、上記したように書込対象ページから除外されるページが存在する。よって、書込対象ページとしての最終ページに対応したページアドレスが例えば図７に示すようにページアドレスレジスタＲJ（Ｊはｋ未満の整数）に記憶された場合、残りのページアドレスレジスタＲ(J+1)〜Ｒkは初期状態のままとなる。
【００４８】
ここで、ステップＳ６において、上記した書込回数カウンタのカウント値が所定の書込回数と同一であると判定された場合、出力セレクタ１０６は、ページアドレスレジスタＲ0〜Ｒk各々の記憶内容のうちから、出力カウンタ１０５のカウント値に対応した１つを選択し、この選択した記憶内容を書込ページアドレスＡＤWとして出力する（ステップＳ７）。次に、出力カウンタ１０５はカウント値を「１」だけ増加し（ステップＳ８）、そのカウント値が入力カウンタ１０３のカウント値と同一であるか否かを判定する（ステップＳ９）。ステップＳ９において入力カウンタ１０３及び出力カウンタ１０５各々のカウント値が同一であると判定されるまで、上記ステップＳ７〜Ｓ９の動作が繰り返し実施される。
【００４９】
ステップＳ７〜Ｓ９が繰り返し実施されることにより、書込ページアドレス記憶部１０２に記憶されているページアドレスの各々が書込ページアドレスＡＤWとして、カラムデコーダ４０及び書込バッファ７０に供給される。つまり、１ブロック内の全ページのうちで、書込対象となるページを示すページアドレスだけが書込ページアドレスＡＤWとしてカラムデコーダ４０及び書込バッファ７０に供給されるのである。この際、書込バッファ７０は、１ブロック分のページデータＰＧＤ0〜ＰＧＤkのうちで、書込ページアドレスＡＤWにて示されるページに対応したページデータＰＧＤのみがＥＣＣ部６０に供給する。これにより、ＥＣＣ部６０は、書込ページアドレスＡＤWにて示されるページに対応したページデータＰＧＤの各々に誤り訂正符号化処理を施して得られた符号化書込データＰＤをカラムデコーダ４０に供給する。カラムデコーダ４０は、書込ページアドレスＡＤWにて示されるページに属するメモリセルの各々に接続されている各ビット線に、符号化書込データＰＤに基づく書込電圧を印加することにより、当該符号化書込データＰＤをメモリセルアレイ１０に書き込む。
【００５０】
要するに、ＮＯＲ型フラッシュメモリ２００は、以下のように、書込ページアドレス検出部（１００）、書込バッファ（７０）、ＥＣＣ部（６０）、及びデコーダ（４０）により、複数の書込データ片（Ｄ0〜Ｄt）をｋ個（ｋは２以上の整数）のページからなるブロックの単位でメモリセルアレイ（１０）に書き込む。つまり、書込ページアドレス検出部は、書込データ片各々のブロック内での書込ビット位置を示すデータアドレス（ＤＡ）に基づき、書込データ片の各々が書き込まれるブロック内のページを示す書込ページアドレス（ＡＤW）を検出する。書込バッファは、ｋ個のページ各々に対応したｋ個のページデータ片（ＰＧＤ）のうちで、上記した書込ページアドレスにて示されるページデータ片の各々内に、少なくとも１の書込データ片を組み込み、当該書込データ片が組み込まれたページデータ片を書込ページデータ片として出力する。ＥＣＣ部は、書込ページデータ片の各々に対して誤り訂正符号化処理を施して符号化書込データ片を得る。そして、デコーダが、書込ページアドレスにて示されるページに属するメモリセルの各々に、符号化書込データ片に基づく書込電圧を印加することにより、当該符号化書込データ片の各々をメモリセルアレイに書き込むのである。
【００５１】
これにより、ＥＣＣ部６０は、書込ページアドレスＡＤWにて示されるページに対応したページデータＰＧＤだけに誤り訂正符号化処理を施せば良いので、１ブロック分の全てのページデータＰＧＤ0〜ＰＧＤkに誤り訂正符号化処理を施す場合に比して、書込に費やされる処理時間を短縮することが可能となる。
【００５２】
更に、ＮＯＲ型フラッシュメモリ２００では、入力された書込データＤ0〜Ｄtを、図４に示すように各ページに対応したページデータＰＧＤの各々に組み込み、当該ページデータＰＧＤに対して誤り訂正符号化処理を施すようにしている。これにより、入力された書込データ片の配列の形態と、ページ毎に読み出された読出データ片の配列の形態とが異なる場合が生じるＮＯＲ型フラッシュメモリのような半導体メモリにおいても、ＥＣＣを用いた信頼性の高いデータアクセスを実現することが可能となる。
【符号の説明】
【００５３】
１０          メモリセルアレイ
６０          ＥＣＣ部
７０          書込バッファ
９０          制御部
１００        書込ページアドレス検出部
１０１        ページアドレス照合部
１０２        書込ページアドレス記憶部
２００        ＮＯＲ型フラッシュメモリ
【図１】
0006411282.tif 000002
【図２】
0006411282.tif 000003
【図３】
0006411282.tif 000004
【図４】
0006411282.tif 000005
【図５】
0006411282.tif 000006
【図６】
0006411282.tif 000007
【図７】
0006411282.tif 000008