(57)【要約】【課題】データの再書き込みを含む書き込み動作及び読み出し動作を、少ないクロック数のアドレスやデータの入出力で可能とする不揮発性半導体記憶装置及びその書き込み制御方法を提供すること。【解決手段】不揮発性メモリセルを有する第１〜第４メモリ領域１１〜１４を備える。第１メモリ領域１１は、入力されるアドレスに応じて選択される。第３メモリ領域１３は、第１メモリ領域１１と同じロウアドレスで選択される。第２メモリ領域１２は、第３メモリ領域１３から読み出される指標データＳに応じて第１メモリ領域１１に代えて選択される。この時、第２メモリ領域１２とロウアドレスが共通で同じ指標データＳに応じて選択される第４メモリ領域１４に格納される使用済みフラグＦに基づいて、第２メモリ領域１２が使用済みか否かが判断される。必要最小限の読み出し動作でデータの再書き込み動作及び再書き込みデータの読み出し動作を行うことができる。【選択図】図１
2014179143.tif 000002
【特許請求の範囲】
【請求項１】
入力されるアドレスに応じて選択される不揮発性メモリセルを有する通常メモリ部と、
前記通常メモリ部に対応づけて設けられ、前記アドレスに応じて選択される不揮発性メモリセルを有する第１制御メモリ部と、
前記第１制御メモリ部から読み出される指標データに応じて、前記通常メモリ部に代えて選択される不揮発性メモリセルを有する再書き込みメモリ部とを備えることを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記再書き込みメモリ部に対応づけて設けられ、該再書き込みメモリ部が未使用であるか使用済みであるかを示す使用済みフラグを格納する不揮発性メモリセルを有するフラグメモリ部を備えることを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記再書き込みメモリ部を（２のｎ乗−１）（ｎは自然数）備え、
前記第１制御メモリ部に格納されている前記指標データはｎビットのビット幅であり、
前記指標データは、前記第１制御メモリ部ごとに、データの格納先が前記通常メモリ部あるいは（２のｎ乗−１）の前記再書き込みメモリ部の何れであるかを識別することを特徴とする請求項１または２に記載の不揮発性半導体記憶装置。
【請求項４】
再書き込み動作を制御する再書き込み制御部を備え、
前記再書き込み制御部は、
入力される前記アドレスに対応する前記第１制御メモリ部から前記指標データを読み出し、
読みだされた前記指標データが前記通常メモリ部を指標している場合には、
前記アドレスに対応する前記通常メモリ部への書き込みが可能な場合に、該通常メモリ部へデータを書き込み、
前記アドレスに対応する前記通常メモリ部への書き込みが不可能な場合に、前記使用済みフラグを順次読み出して未使用を示すフラグに対応する前記再書き込みメモリ部を選択し、
選択された前記再書き込みメモリ部にデータを書き込み、
書き込みが行われた該再書き込みメモリ部に対応する前記フラグメモリ部に格納されている前記使用済みフラグを使用済みを示すフラグに書き換え、
前記アドレスに対応する前記第１制御メモリ部の前記指標データを選択された前記再書き込みメモリ部を指標するデータに書き換え、
読みだされた前記指標データが前記再書き込みメモリ部を指標している場合には、
前記指標データにより指標された前記再書き込みメモリ部への書き込みが可能な場合に、該再書き込みメモリ部へデータを書き込み、
前記指標データにより指標された前記再書き込みメモリ部への書き込みが不可能な場合に、書き込み不可能を報知することを特徴とする請求項２または３に記載の不揮発性半導体記憶装置。
【請求項５】
前記再書き込みメモリ部と同じデータ格納領域を有する第１レジスタと、
前記フラグメモリ部と同じデータ格納領域を有する第２レジスタとを備え、
前記第１および第２レジスタは、起動時、前記再書き込みメモリ部および前記フラグメモリ部からデータが各々転送され、書き込み動作時、前記再書き込みメモリ部および前記フラグメモリ部への書き込みに同期して同じデータが各々にコピーされ、
読み出し動作時、読み出された前記第１制御メモリ部の前記指標データに応じて、読み出しデータとして、前記通常メモリ部から読み出されたデータまたは前記第１レジスタに格納されているデータの何れか一方を選択するセレクタを備えることを特徴とする請求項１乃至４の何れか１項に記載の不揮発性半導体記憶装置。
【請求項６】
書き込み時に、アドレスにより選択される通常メモリ部と共に選択される第１制御メモリ部から、指標データを読み出し、
読みだされた前記指標データに応じて、前記通常メモリ部または前記通常メモリ部を代替する再書き込みメモリ部の何れかを指標し、
前記通常メモリ部を指標する場合に、
前記アドレスに対応する前記通常メモリ部への書き込みが可能な場合に、該通常メモリ部へデータを書き込み、
前記アドレスに対応する前記通常メモリ部への書き込みが不可能な場合に、前記再書き込みメモリ部が未だ未使用であるか既に書き込みが行われて使用済みであるかを示す使用済みフラグを順次読み出して、未使用を示すフラグに対応する前記再書き込みメモリ部を選択し、
選択された前記再書き込みメモリ部にデータを書き込み、
書き込みが行われた該再書き込みメモリ部に対応する前記使用済みフラグを使用済みを示すフラグに書き換え、
前記アドレスに対応する前記第１制御メモリ部の前記指標データを書き込みが行われた前記再書き込みメモリ部を指標するデータに書き換え、
前記再書き込みメモリ部を指標する場合に、
前記指標データにより指標された前記再書き込みメモリ部への書き込みが可能な場合に、該再書き込みメモリ部へデータを書き込み、
前記指標データにより指標された前記再書き込みメモリ部への書き込みが不可能な場合に、書き込み不可能を報知することを特徴とする不揮発性半導体記憶装置の書き込み制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願に開示の技術は、不揮発性半導体記憶装置へのデータの書き込みに関し、特に、データの再書き込みに対応する技術に関する。
【背景技術】
【０００２】
フローティングゲートへの電荷の有無によりメモリセルへのデータの記憶を行うものがある。いわゆるフラッシュメモリに代表される不揮発性メモリである。この場合、メモリセルへのデータの記憶は、消去動作と書き込み動作とにより行われることが一般的である。消去動作では、メモリセルアレイの全体、あるいはセクタなどに分割された分割メモリセルアレイを選択して、選択された領域にある全てのメモリセルのフローティングゲートから電荷を引き抜く。消去動作によりメモリセルに記憶されるデータは、例えば“１”となる。一方、書き込み動作では、アドレスにより選択された対象メモリセルに対してプログラム動作を行う。すなわち、対象メモリセルが備えるフローティングゲートに対して電荷の注入を行う。書き込み動作によりメモリセルに記憶されるデータは、例えば“０”となる。
【０００３】
フラッシュメモリに代表される不揮発性メモリに対する再書き込みを検討する。メモリセルごとに可能な再書き込みは、書き込み動作で行われる“０”書き込みに限定される。“１”書き込みについては、消去動作により対象となるメモリセルを含む所定の領域にある全てのメモリセルを一括して“１”にした後、対象外のメモリセルで消去動作前に“０”を保持していたメモリセルについて個別に書き込み動作を行い“０”を書き込むといった複雑な制御が必要となる。事前にデータを読み出し、読み出したデータを保持し、消去動作を行い、読み出したデータのうち“０”を保持していたメモリセルに対して個別に書き込み動作を行う、といった多段階の複雑な制御を経たうえでないと実現することはできない。大規模な制御回路や多大な制御時間を要することとなる。
【０００４】
従来より、こうしたフラッシュメモリの特性を考慮した書き込み動作に関する技術が開示されている。例えば、特許文献１では、メモリ領域として複数のブロックを有する非揮発性メモリへのデータの書き込みに関する技術が開示されている。書き込み命令が発せられると、データをレジスタに書き込むとともにアドレスがデコードされて論理書き込み目的アドレスが取得される。レジスタには、初期状態において複数のブロックのうちいずれか一つのブロックに関するマッピングコントロールフィールド（ＭＣＦ）表が格納されている。このＭＣＦ表を参照して、論理書き込み目的アドレスに対応したＭＣＦ値の一部内容を実体書き込みアドレスとする。この実体書き込みアドレスが示すブロック内のメモリでのデータの有無を判断する。データが存在すると判断されれば、このメモリには更に書き込むことはできないので、次のブロックを置換ブロックとして選択する。選択された置換ブロックに対応する新たなＭＣＦ表を参照して、置換ブロックのデータの有無が判断される。こうした処理を複数のブロックに対して順次行い、データを書き込むことができるブロックを見出してデータの書き込みが完了する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−６２８５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に例示される従来の技術では、データの書き込み先として、入力されるアドレスがデコードされて論理書き込み目的アドレスは確定するものの、論理書き込み目的アドレスに対応する実体書き込みアドレスを特定するために多大な時間を要してしまい問題である。ここで、データの書き込みが可能な特定のブロック内のメモリのアドレスが実体書き込みアドレスである。すなわち、論理書き込み目的アドレスに対応する各ブロック内のメモリに対して書き込みが可能であるか否かを、複数のブロックを順次選択してデータを読み出しながら確認しなければならない。最終的には全てのブロックに対してブロックごとに読み出し動作を含む確認を行う必要があり、実体書き込みアドレスの確定に多大な時間が必要となる。
【０００７】
また、特許文献１には、論理書き込み目的アドレスと書き込みが行われた実体書き込みアドレスとの対応付けに関しては何ら開示はない。このため、データの読み出し時においても、書き込み時と同様のシーケンスにより読み出しデータが格納されているブロックを特定することが必要となる。読み出し時おいても、入力されたデータに対応して実際にデータが格納されているブロック内のメモリを示す実体書き込みアドレスを特定するまでに多大な時間を要することとなる。
【０００８】
また、フラッシュメモリに代表される不揮発性メモリでは、書き込み動作および読み出し動作を少ないクロック数で実行することが好ましい。特許文献１の技術では、入力されたアドレスに対応する実体書き込みアドレスを特定するために、複数のブロックに対して順次読み出し動作を繰り返しながら書き込み可能なブロックを特定していくことが必要であり、到底、少ないクロック数での動作を行うことはできない。
【０００９】
本願に開示される技術は、上記の課題に鑑み提案されたものであって、データの再書き込みを含めた書き込み動作および読み出し動作を、少ないクロック数の外部とのアドレスやデータの入出力で可能とする不揮発性半導体記憶装置および不揮発性半導体記憶装置の書き込み制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願に開示される技術に係る不揮発性半導体記憶装置は、不揮発性メモリセルを有する通常メモリ部、第１制御メモリ部、および再書き込みメモリ部を備えている。通常メモリ部は、入力されるアドレスに応じて選択される。第１制御メモリ部は、通常メモリ部に対応づけて設けられ、通常メモリ部を選択するアドレスに応じて選択される。再書き込みメモリ部は、第１制御メモリ部から読み出される指標データに応じて、通常メモリ部に代えて選択される。
【００１１】
また、本願に開示される技術に係る不揮発性半導体記憶装置の書き込み制御方法は、書き込み時に、アドレスにより選択される通常メモリ部と共に選択される第１制御メモリ部から、指標データを読み出し、読みだされた指標データに応じて、通常メモリ部または通常メモリ部を代替する再書き込みメモリ部の何れかを指定する。指定の際は、通常メモリ部を指標する場合と、再書き込みメモリ部を指標する場合とで、各々異なる処理を有している。
通常メモリ部を指標する場合、アドレスに対応する通常メモリ部への書き込みが可能な場合には、その通常メモリ部へデータを書き込む。不可能な場合には、再書き込みメモリ部が未だ未使用であるか既に書き込みが行われて使用済みであるかを示す使用済みフラグを順次読み出して、未使用を示すフラグに対応する再書き込みメモリ部を選択し、選択された再書き込みメモリ部にデータを書き込み、書き込みが行われた再書き込みメモリ部に対応する使用済みフラグを使用済みを示すフラグに書き換え、およびアドレスに対応する第１制御メモリ部の指標データを書き込みが行われた再書き込みメモリ部を指標するデータに書き換える。
再書き込みメモリ部を指標する場合、指標データにより指標された再書き込みメモリ部への書き込みが可能な場合には、その再書き込みメモリ部へデータを書き込む。不可能な場合には、書き込み不可能を報知する。
【発明の効果】
【００１２】
本願に開示される技術に係る不揮発性半導体記憶装置および不揮発性半導体記憶装置の書き込み制御方法によれば、メモリ部への読み出し動作を必要最小限に留めて、データの再書き込み動作、および再書き込みされたデータの読み出し動作を行うことができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態のメモリセルアレイの論理的な配置を示す図である。
【図２】実施形態の書き込み動作を示すフロー図である。
【図３】実施形態の読み出し動作を示すフロー図である。
【図４】実施形態のメモリセルアレイについて、データの書き込み動作／読み出し動作を具定的に説明する図である（初期状態）。
【図５】実施形態のメモリセルアレイについて、データの書き込み動作／読み出し動作を具定的に説明する図である（ＷＬ３への書き込み状態）。
【図６】実施形態のメモリセルアレイについて、データの書き込み動作／読み出し動作を具定的に説明する図である（ＷＬ１への書き込み状態）。
【図７】実施形態のメモリセルアレイについて、データの書き込み動作／読み出し動作を具定的に説明する図である（ＷＬ２への書き込み状態）。
【図８】実施形態のメモリセルアレイについて、データの書き込み動作／読み出し動作を具定的に説明する図である（ＷＬ３への再書き込み状態）。
【図９】実施形態のメモリセルアレイについて、データの書き込み動作／読み出し動作を具定的に説明する図である（ＷＬ０への書き込み状態）。
【図１０】実施形態のメモリセルアレイについて、データの書き込み動作／読み出し動作を具定的に説明する図である（ＷＬ３への２度目の再書き込み状態）。
【図１１】実施形態のメモリセルアレイについて、データの書き込み動作／読み出し動作を具定的に説明する図である（ＷＬ１への再書き込み状態）。
【図１２】実施形態のメモリセルアレイについて、データの書き込み動作／読み出し動作を具定的に説明する図である（ＷＬ２への再書き込み状態）。
【発明を実施するための形態】
【００１４】
図１に示すメモリセルアレイ１は、本願の実施形態に係る不揮発性メモリのメモリセルアレイの論理的な一部配置を模式的に示すものである。データが格納される不揮発性メモリセルを有する領域は第１メモリ領域１１および第２メモリ領域１２である。第１メモリ領域１１は、通常のデータ書き込みが行われる領域であり、最初の書き込みはこの領域に配置されているメモリセルに対して行われる。一般的な不揮発性メモリが備える通常のメモリセルアレイに対応する。第２メモリ領域１２は、再書き込みの際に第１メモリ領域１１に代えてデータが書き込まれる領域である。この領域にあるメモリセルは、第１メモリ領域１１に配置されているメモリセル群への書き込みが不可能であると判断された場合に、第１メモリ領域１１のメモリセル群に代えて選択されるメモリセル群が配置されている。第１メモリ領域１１の再書き込み用の領域である。
【００１５】
第１、第２メモリ領域１１、１２のコラム方向のメモリセルの並びは両者で共通である。ともに１回のアクセス動作でデータの入出力が行われる入出力（Ｉ／Ｏ）端子に対応してメモリセル群が配置されている。ｙビットのビット幅を有するＩ／Ｏ端子ＩＯ０〜ＩＯ（ｙ−１）（不図示）の各々に選択的に接続されるｙビットのメモリセルである。
【００１６】
第１、第２メモリ領域１１、１２のロウ方向のメモリセルの並びは両者で異なっている。第１メモリ領域１１のロウ方向は、アドレス入力により選択されるｘ本のワード線ＷＬ０〜ＷＬ（ｘ−１）の各々により選択されるメモリセルが配置されている。ワード線の選択により、Ｉ／Ｏ端子ＩＯ０〜ＩＯ（ｙ−１）に入出力されるデータが格納されるアクセス対象のメモリセル群が選択される。第１メモリ領域１１は、ｘ×ｙのメモリセルがマトリクス状に配置されるメモリセルアレイである。
【００１７】
一方、第２メモリ領域１２のロウ方向は、後述する指標データＳにより指標される（２のｎ乗―１）（＝ｍ）本の拡張ワード線ｅＷＬ０〜ｅＷＬ（ｍ−１）の各々により選択されるメモリセル群が配置されている。拡張ワード線により、Ｉ／Ｏ端子ＩＯ０〜ＩＯ（ｙ−１）に入出力されるデータが格納されるアクセス対象のメモリセル群が選択される。第２メモリ領域１２は、ｍ×ｙのメモリセルがマトリクス状に配置されるメモリセルアレイである。ここで、拡張ワード線ｅＷＬ０〜ｅＷＬ（ｍ−１）は、指標データＳに応じて識別されるワード線であり、外部から入力されるアドレスは割り当てられておらず外部から直接にアクセスすることはできない。
【００１８】
メモリセルアレイ１には、データ格納領域である第１、第２メモリ領域１１、１２の他に、再書き込み動作および再書き込みされたデータの読み出し動作の制御用に備えられる第３、第４メモリ領域１３、１４が備えられている。第３メモリ領域１３は、再書き込み動作において、第１メモリ領域１１へのデータの書き込みが不可能である場合にデータの書き込み先として第２メモリ領域１２を選択する指標データＳを格納する領域である。第４メモリ領域１４は、第２メモリ領域１２が「未使用」であるか既に書き込みが行われて「使用済み」であるかを示す使用済みフラグＦを格納する領域である。
【００１９】
第３メモリ領域１３のロウ方向は、第１メモリ領域１１と共通である。ワード線ＷＬ０〜ＷＬ（ｘ−１）で共通に識別される。第３メモリ領域１３のコラム方向はｎビットのビット幅を有し、ｎビットの指標データＳが格納されている。ｎビットの指標データＳは、‘０’値から昇べきに順次、拡張ワード線ｅＷＬ０〜ｅＷＬ（ｍ−１）を指標して割り当てられ、更に、指標データＳの‘１’値は、指標データＳが読み出された第３メモリ領域１３のワード線を指標して割り当てられる。
【００２０】
ここで、フラッシュメモリ等の不揮発性メモリに備えられるメモリセルにおいて、データ‘１’値とは、フローティングゲートへの電荷の未注入の状態であり、データの書き込みが行われていない初期状態にあることを示す。したがって、指標データＳが‘１’値であるとは、第３メモリ領域１３の対応するメモリセル群への書き込みが未だ行われていない状態であり、第１メモリ領域１１のメモリセル群を指標することと整合する。
【００２１】
指標データＳは、拡張ワード線ｅＷＬ０〜ｅＷＬ（ｍ−１）で識別される第２メモリ領域１２のメモリセル群と、指標データＳが読み出された第３メモリ領域１３に対応する第１メモル領域１１のメモリセル群との、（ｍ＋１）（＝２のｎ乗）の何れかのメモリセル群を指標する。第３メモリ領域１３は、ｘ×ｎのメモリセルがマトリクス状に配置されるメモリセルアレイである。
【００２２】
第４メモリ領域１４のロウ方向は、第２メモリ領域１２と共通である。拡張ワード線ｅＷＬ０〜ｅＷＬ（ｘ−１）で共通に識別される。第４メモリ領域１４のコラム方向は、メモリセルアレイ１では、第３メモリ領域１３と共通である。ｎビットのビット幅を有する。ｎビットの使用済みフラグＦが格納されており、第４メモリ領域１４に対応する第２メモリ領域１２が「未使用」であるかに既にデータが書き込まれて「使用済み」であるか未だデータが書き込まれておらず「未使用」であるかの別を示すフラグである。使用済みフラグＦは、対応する第２メモリ領域１２のメモリセル群が「使用済み」であるか「未使用」であるかの２状態の何れかを識別すればよく、少なくとも１ビットを備えれば足りる。第４メモリ領域１４では、第２メモリ領域１２ごとにｎビットのビット幅を備える構成である。第４メモリ領域１４は、ｍ×ｎのメモリセルがマトリクス状に配置されるメモリセルアレイである。
【００２３】
ここで、フラッシュメモリ等の不揮発性メモリに備えられるメモリセルを前提とすれば、使用済みフラグＦにおいて、「未使用」を示すフラグは‘１’値を、「使用済み」を示すフラグは‘０’とすることが、指標データＳの場合と同様に整合的である。すなわち、書き込みが行われておらずメモリセルのフローティングゲートへの電荷が未注入の状態である‘１’値を「未使用」の状態とし、電荷が注入され書き込みが行われた状態である‘０’値を「使用済み」の状態とする。第２メモリ領域１２への書き込みが行われると同時に同じ拡張ワード線でアクセスされる第４メモリ領域１４に対して使用済みフラグＦの書き換えを行うことが効率よく書き込みを行う上で好都合である。このため、「未使用」のフラグを‘１’としておき「使用済み」の場合に‘０’を書き込むことが好都合である。
【００２４】
次に、メモリセルアレイ１に対する書き込み動作の動作フロー（図２）、および読み出し動作の動作フロー（図３）を説明する。図２に示す書き込み動作の動作フローは、第２メモリ領域１２に書き込みが行われる再書き込み動作を含む書き込み動作の動作フローである。また、図３に示す読み出し動作の動作フローは、第２メモリ領域１２に書き込まれた再書き込みデータの読み出しを含む読み出し動作の動作フローである。これらの動作フローは、不揮発性メモリに搭載されている不図示の制御部により実行される。
【００２５】
まず、図２を参照して書き込み動作の動作フローについて説明する。書き込み動作の開始に伴いアドレスが入力される（Ｓ１１）。入力されたアドレスはデコードされ、ワード線ＷＬ０〜ＷＬ（ｘ−１）のうちの何れかのワード線が選択される。ワード線の選択により、対応する第１メモリ領域１１のメモリセル群からデータが読み出されると共に、対応する第３メモリ領域１３から指標データＳが読み出される（Ｓ１３）。読み出された指標データＳが‘１’値を示し、第２メモリ領域１２が未だ「未使用」であると判断されれば（Ｓ１５：Ｙ）、書き込み対象のメモリセル群はアドレスにより選択される第１メモリ領域１１にある。第１メモリ領域１１のメモリセル群に格納されているデータ値と入力されるデータ値とを比較し、書き込みが可能か否かの判断をする（Ｓ１７）。また、読み出された指標データＳが‘１’ではなく拡張ワード線ｅＷＬ０〜ｅＷＬ（ｍ−１）（ｍ＝２のｎ乗―１）の何れかのワード線を指標する場合には（Ｓ１５：Ｎ）、既に指標される拡張ワード線により選択される第２メモリ領域１２のメモリセル群が使用されていることを示している。この場合には、ステップ（Ｓ２１）に移行して、指標されている第２メモリ領域１２のメモリセル群への書き込み処理に移行する。
【００２６】
ここで、フラッシュメモリ等を構成する不揮発性メモリセルでは、電荷の注入である書き込み動作はデータ‘０’値を書き込む動作であるが、この動作はセルごとに行うことができる。これに対して、電荷の放出である消去動作はデータ‘１’値を書き込む動作であるが、この動作はセクタ単位など複数のメモリセルに対して一括して行うものでありメモリセル単位で行うことはできない。
【００２７】
したがって、ステップ（Ｓ１７）において、‘０’値から‘１’値にデータ値が変更されるビットがなければ書き込みは可能と判断され（Ｓ１７：Ｙ）、第１メモリ領域１１の対応するメモリセル群に対して書き込みが実行される（Ｓ１９）。これは、一般的な書き込み動作である。一方、‘０’値から‘１’値にデータ値が変更されるビットがあれば、書き込みは不可能と判断される（Ｓ１７：Ｎ）。この場合は、ステップ（Ｓ２５）に移行して、第２メモリ領域１２のメモリセル群のうち未使用のメモリセル群を選択して書き込みを行う処理に移行する。
【００２８】
ステップ（Ｓ２１）では、指標データＳが指標している拡張ワード線に対応する第２メモリ領域１２のメモリセル群について書き込みが可能か否かの判断を行う。前述したように、‘０’値から‘１’値への変更をメモリセル単位で行うことができないので、書き換えデータの中に‘０’値から‘１’値への変更を要求するビットがあれば（Ｓ２１：Ｎ）、書き込みは不可能であることを報知して（Ｓ３９）処理を終了する。
【００２９】
書き換えデータの中に‘０’値から‘１’値への変更を要求するビットがなければ（Ｓ２１：Ｙ）、第２メモリ領域１２の対応するメモリセル群への書き込みを実行して（Ｓ２３）処理を終了する。
【００３０】
ステップ（Ｓ２５）以降では、第２メモリ領域１２内の「未使用」のメモリセル群の有無を検索する。ステップ（Ｓ２５）において、拡張ワード線を指標するカウンタを初期化する（ｉ＝０）。カウンタ値（ｉ）で指標される拡張ワード線に対応する第４メモリ領域１４に格納されている使用済みフラグFが「使用済み」（＝‘１’）であるか否かを判断する（Ｓ２７）。使用済みフラグＦが‘１’であり「未使用」を示せば（Ｓ２７：Y）、カウンタ値（ｉ）で指標される拡張ワード線に対応する第２メモリ領域１２のメモリセル群に対してデータの書き込みを行う（Ｓ２９）。合わせて、選択された第４メモリ領域１４に対応する第２メモリ領域１２に格納されている使用済みフラグＦを‘０’に書き換え「使用済み」とする（Ｓ３１）。更に、アドレス入力により選択された第３メモリ領域１３に格納されている指標データＳにカウンタ値（ｉ）を書き込む（Ｓ３３）。その後、処理を終了する。
【００３１】
カウンタ値（ｉ）に対応する第４メモリ領域１４の使用済みフラグＦが‘０’であり「使用済み」であれば（Ｓ２７：Ｎ）、カウンタ値（ｉ）インクリメントし（ｉ＝ｉ＋１）（Ｓ３５）、インクリメントされたカウント値（ｉ）が最大値（２のｎ乗−１）に満たないうちは（Ｓ３７：Ｎ）、ステップ（Ｓ２７）に戻って書き込み可能な第２メモリ領域１２の検索と書き込み動作を継続する。インクリメントされたカウント値（ｉ）が最大値（２のｎ乗−１）に等しくなれば（ｓ３７：Ｙ）、これ以上の第２メモリ領域１２はないので、書き込みは不可能であることを報知して（Ｓ３９）処理を終了する。
【００３２】
次に、図３を参照して読み出し動作の動作フローについて説明する。読み出し動作の開始に伴いアドレスが入力される（Ｓ５１）。入力されたアドレスはデコードされ、ワード線ＷＬ０〜ＷＬ（ｘ−１）のうちの何れかのワード線が選択される。ワード線の選択により、対応する第１メモリ領域１１のメモリセル群からデータが読み出されると共に、対応する第３メモリ領域１３から指標データＳが読み出される（Ｓ５３）。読み出された指標データＳが‘１’値を示し、未だ第２メモリ領域１２が「未使用」であることを示せば（Ｓ５５：Ｙ）、読み出し対象のメモリセル群はアドレスにより選択された第１メモリ領域１１にある。第１メモリ領域１１のメモリセル群に格納されているデータを読み出し（Ｓ５７）処理は終了する。また、読み出された指標データＳが‘１’ではなく拡張ワード線ｅＷＬ０〜ｅＷＬ（ｍ−１）（ｍ＝２のｎ乗―１）の何れかを指標する場合には（Ｓ５５：Ｎ）、指標される拡張ワード線により選択される第２メモリ領域１２のメモリセル群を選択し（Ｓ５９）、そこからデータを読み出して（Ｓ６１）処理を終了する。
【００３３】
図４〜図１２は、実施形態のメモリセルアレイ１に具体的な数値をあてはめ、実施形態における書き込み動作／読み出し動作を具体的に示した図である。
【００３４】
メモリセルアレイ１（図１）において、ｘ＝４、ｙ＝１６、ｎ＝２、ｍ＝（２の２乗−１）＝３とし多場合の例である。ここで、指標データＳおよび使用済みフラグＦはともに２ビットであるところ、下位ビットをＳ0，上位ビットをＳ１とする。また、データは４桁の１６進数表記で示す。
【００３５】
図４は、初期状態である。左側の表は、メモリセルアレイに格納されているデータの状態を示し、右側の表はワード線ＷＬ０〜ＷＬ３ごとに読み出した際の読み出しデータを示す。以下では、アドレスを指定してデータを書き込んだ場合の各メモリセルに格納されているデータの変化を示す。初期状態では、全てのメモリセルは未書き込みの状態、すなわち、データ‘１’にセットされているものとする。
【００３６】
図５は、初期状態（図４）に対して、ワード線ＷＬ３にデータ０ｘ００００を書き込んだ場合を示す。第１メモリ領域１１のワード線ＷＬ３で選択されるメモリセル群がデータ０ｘ００００に書き換えられる。この段階で読み出し動作が行われると、全て第１メモリ領域１１からデータが読みだされる。
【００３７】
図６は、図５の状態に対して、ワード線ＷＬ１にデータ０ｘＥＥＥＥを書き込んだ場合を示す。ワード線ＷＬ１により選択される第１メモリ領域１１のメモリセル群が書き換えられる。この段階で読み出し動作が行われると、全て第１メモリ領域１１からデータが読みだされる。図７は、図６の状態に対して、ワード線ＷＬ２にデータ０ｘ０Ｆ０Ｆを書き込んだ場合を示す。ワード線ＷＬ２により選択される第１メモリ領域１１のメモリセル群が書き換えられる。この段階で読み出し動作が行われると、全て第１メモリ領域１１からデータが読みだされる。
【００３８】
図８は、図７の状態に対して、ワード線ＷＬ３にデータ０ｘＦＦＦＥを書き込んだ場合を示す。ワード線ＷＬ３はすでにデータ０ｘ００００が書き込まれており、‘０’を‘１’に書き換える書き込み動作は困難である。そのため、第２メモリ領域１２のメモリセル群に書き込む。この段階では、第２メモリ領域１２は何れも未使用であるため、第２メモリ領域１２のうち最も下位に対応する拡張ワード線ｅＷＬ００が使用される。第２メモリ領域１２の拡張ワード線ｅＷＬ００に対応するメモリセル群に対してデータ０ｘＦＦＦＥが書き込まれる。そして、拡張ワード線ｅＷＬ００により選択される第４メモリ領域１４のメモリセル群に格納されている使用済みフラグＦを「使用済み」に書き換える（（Ｓ１、Ｓ０）＝（０，０））。さらに、アドレス入力により選択されたワード線ＷＬ３により選択される第３メモリ領域１３のメモリセル群に指標データＳ（Ｓ１、Ｓ０）=（０，０））を書き込む。これにより、拡張ワード線ｅＷＬ００が指標される。この段階で読み出し動作が行われると、アドレス入力によるワード線ＷＬ３の選択について第２メモリ領域１２の拡張ワード線ｅＷＬ００が選択され、ワード線ＷＬ３に対応するデータが再書き込みにより更新されることとなる。
【００３９】
図９は、図８の状態に対して、ワード線ＷＬ０にデータ０ｘ５５５５を書き込んだ場合を示す。ワード線ＷＬ０のデータが書き換えられる。図１０は、図９の状態に対して、ワード線ＷＬ３にデータ０ｘＥＥＥＥを書き込んだ場合を示す。ワード線ＷＬ３はすでに拡張ワード線ｅＷＬ００により選択される第２メモリ領域１２のメモリセル群に書き込みがなされているため、まずはこのメモリセル群への書き込みが可能か否かが判断される。この場合は、‘１’から‘０’への書き換えのみを含むため書き換えは可能である。これにより、拡張ワード線ｅＷＬ００により選択される第２メモリ領域１２の内容が書き換えられる。
【００４０】
図１１は、図１０の状態に対して、ワード線ＷＬ１にデータ０ｘ０ＦＥＦを書き込んだ場合を示す。ワード線ＷＬ１はすでにデータ０ｘＥＥＥＥが書き込まれている。データ０ｘ０ＦＥＦへの書き換えは‘０’を‘１’に書き換える書き込み動作を含むため書き込みはできないと判断される。そのため、第２メモリ領域１２において拡張アドレスをインクリメントして、未使用の領域を検索する。拡張ワード線ｅＷＬ０１により選択されるメモリセル群が未使用であることが判別され、ここにデータ０ｘ０ＦＥＦが書き込まれる。同時に、拡張ワード線ｅＷＬ０１により選択される第４メモリ領域１４に格納されている使用済みフラグＦを書き換える（（Ｓ１、Ｓ０）＝（０、０））。さらに、アドレス入力により選択されたワード線ＷＬ１により選択される第３メモリ領域１３のメモリセル群に指標データＳ（Ｓ１、Ｓ０）=（０，１））を書き込む。これにより、拡張ワード線ｅＷＬ０１が指標される。この段階で読み出し動作が行われると、アドレス入力によるワード線ＷＬ１、ＷＬ３の選択について、それぞれ、第２メモリ領域１２の拡張ワード線ｅＷＬ０１、ｅＷＬ００  が選択され、ワード線ＷＬ１、ＷＬ３に対応するデータが再書き込みにより更新されることとなる。
【００４１】
図１２は、図１１の状態に対して、ワード線ＷＬ２にデータ０ｘＡＡＡＡを書き込んだ場合を示す。ワード線ＷＬ２はすでにデータ０ｘ０Ｆ０Ｆが書き込まれている。データ０ｘ０Ｆ０Ｆ をデータ０ｘＡＡＡＡに書き換えるには‘０’から‘１’への書き換えを含むので、書き込み動作はできない。そのため、第２メモリ領域１２において拡張アドレスをインクリメントして、未使用の領域を検索する。拡張ワード線ｅＷＬ００、ｅＷＬ０１までは使用済みであり、次にインクリメントされた拡張ワード線ｅＷＬ１０により選択されるメモリセル群が未使用であることが判別される。ここにデータ０ｘＡＡＡＡが書き込まれる。同時に、第４メモリ領域１４に格納されている使用済みフラグＦを（（Ｓ１、Ｓ０）＝（０、０））に書き換え、ワード線ＷＬ２により選択される第３メモリ領域１３のメモリセル群に指標データＳとして（Ｓ１、Ｓ０）=（１，０））を書き込むことは、図１１の場合と同様である。これにより、拡張ワード線ｅＷＬ１０が指標され、読み出し動作が行われると、アドレス入力によるワード線ＷＬ１〜ＷＬ３の各々の選択について、それぞれ、第２メモリ領域１２の拡張ワード線ｅＷＬ０１、ｅＷＬ１０、ｅＷＬ００が選択され、ワード線ＷＬ１〜ＷＬ３に対応するデータが再書き込みにより更新されることとなる。
【００４２】
ここで、本願に係る実施形態の別例を示す。第１の別例は、拡張ワード線ｅＷＬ０〜eＷＬ（ｍ−１）により選択される第２、第４メモリ領域１２、１４に対応して第１、第２レジスタ（不図示）を備える構成である。第１レジスタは第２メモリ領域１２と同じ記憶領域を備えており、第２レジスタは第４メモリ領域１４と同じ記憶領域を備えている。第１、第２レジスタは、不揮発性メモリにおいて各種の論理回路を構成する一般的なＭＯＳトランジスタで形成されるものである。
【００４３】
不揮発性メモリの起動時に、第２、第４メモリ領域１２、１４の内容が、それぞれ、第１、第２レジスタにロードされる。不揮発性メモリの稼働中は、第２、第４メモリ領域１２、１４への書き換えに応じて第１、第２レジスタの内容も書き換えられ、第２、第４メモリ領域１２、１４の内容と第１、第２レジスタの内容とは一致した状態に維持される。これにより、読み出し動作において、第２、第４メモリ領域１２、１４にアクセスすべきところを第１、第２レジスタからの読み出しで代替することができる。
【００４４】
書き込み動作において、第１メモリ領域１１への書き込みが不可能であると判断され第１メモリ領域１１に代えて第２メモリ領域１２に書き込みを行う場合、使用できる第２メモリ領域１２を拡張ワード線ｅＷＬ０〜ｅＷＬ（ｍ−１）ごとに検索する必要がある。この場合に、拡張ワード線ｅＷＬ０〜ｅＷＬ（ｍ−１）ごとに第４メモリ領域１４に格納されている使用済みフラグＦを検索することは、都度、メモリセル群への追加の読み出し動作に当たり、多大な時間を要してしまう恐れがある。第１の別例では、第２レジスタに使用済みフラグＦが記憶されているので、第２レジスタから使用済みフラグＦを読み出せばよく、メモリセルアレイに対する追加の読み出し動作が発生することないため、順次の検索を迅速に行うことができる。書き込み動作を少ないクロック数で実行することができる。
また、読み出し動作において、アドレス入力に伴い選択された第３メモリ領域１３の指標データＳが第２メモリ領域１２を指標している場合、追加の読み出し動作を対応する第２メモリ領域１２のメモリセル群に対して行わなければならず、データの読み出しに多大な時間を要してしまう恐れがある。第１の別例では、第１レジスタに再書き込みされたデータが記憶されているので、第１レジスタからデータを読み出せばよく追加の読み出し動作を行うことがないため、遅延なくデータを読み出すことができる。読み出し動作を少ないクロック数で実行することができる。
【００４５】
第２の別例は、ワード線に対して拡張ワード線の割り当てを変更するものである。実施形態では、ワード線ＷＬ０〜ＷＬ（ｘ−１）で識別される第１メモリ領域１１のｘのメモリセル群を、拡張ワード線ｅＷＬ０〜ｅＷＬ（ｍ−１）で識別される第２メモリ領域１２のｍ（２のｎ乗―１）のメモリセル群で置き換える構成を示している。この場合、拡張ワード線ｅＷＬ０〜ｅＷＬ（ｍ−１）を識別するために、第３メモリ領域１３のコラム方向にｎビットのビット幅を確保しｎビットの指標データＳを格納する領域を確保している。
【００４６】
この構成において、ｘ、ｎの数値を選べば種々の書き換えの構成を実現することができる。たとえば、ｘの数値を小さくして書き換え対象の単位である第１メモリ領域１１のメモリセル群の数を小さくする場合を考える。この場合、書き換え対象の第１メモリ領域１１のメモリセル群の数の減少に応じて第２メモリ領域１２のメモリセル群の数を減らしても書き換え可能な割合を一定に保つことができる。これにより、第３メモリ領域１３に確保される指標データＳのビット幅ｎを小さくすることができ、第３メモリ領域１３のメモリセルアレイのサイズを圧縮することができる。また、指標データＳのビット幅ｎを一定に保てば、書き換え対象の第１メモリ領域１１のメモリセル群の数に対して第２メモリ領域１２のメモリセル群の数を多く確保することができる。これにより、書きかけ可能な回数を増大させることができる。
【００４７】
ここで、第１メモリ領域１１は通常メモリ部の一例であり、第２メモリ領域１２は第１制御メモリ部の一例であり、第３メモリ領域１３は再書き込みメモリ部の一例であり、第４メモリ領域１４はフラグメモリ部の一例である。また、制御部は再書き込み制御部の一例である。
【００４８】
以上、詳細に説明したように、本願に開示される技術に係る実施形態によれば、外部からのアドレス入力に対して選択されデータが格納される第１メモリ領域１１に加えて、再書き込みの際に第１メモリ領域１１に代えてデータが書き込まれる第２メモリ領域１２、再書き込み動作において、第１メモリ領域１１へのデータの書き込みが不可能である場合にデータの書き込み先として第２メモリ領域１２を選択する指標データＳを格納する第３メモリ領域１３、および第２メモリ領域１２が「未使用」であるか既に書き込みが行われて「使用済み」であるかを示す使用済みフラグＦを格納する第４メモリ領域１４を備えている。第３メモリ領域１３に格納されている指標データＳにより、対応する第１メモリ領域１１か第１メモリ領域１１に代えてデータが書き込まれている第２メモリ領域１２かの何れか一方が指標される。これにより、当初は第１メモリ領域１１にデータを書き込み、第１メモリ領域１１の書き換えが不可能となったら第２メモリ領域１２に代えてデータの再書き込みを行うことができる。アドレス入力に応じた最初のアクセスで再書き込みの場合も含めたデータの書き込み先が指標されるので、追加の読み出し動作を行うことなく再書き込みも含めたデータの書き込み動作を最小クロック数で実行することができる。
【００４９】
第１メモリ領域１１へのデータの書き込みが不可能であると判断された場合には、第２メモリ領域１２の書き込み先を特定することになるところ、第２メモリ領域１２を読み出すと同時にアクセスされる第４メモリ領域１４に格納されている使用済みフラグＦにより、対応する第２メモリ領域１２が未使用であるか否かが判別できる。使用済みフラグＦが「未使用」を示すフラグである第２メモリ領域１２のメモリセル群を書き換えの対象として選択することができる。
【００５０】
また、読み出し動作においても、アドレス入力により読み出される第３メモリ領域１３に格納されている指標データＳにより、データの格納先が指標されるので、再書き込み先も含めて必要最小限の追加の読み出し動作によりデータの読み出しを行うことができる。
【００５１】
書き込み動作および読み出し動作において、第１、第２メモリ領域１１、１２の何れのメモリセル群にアクセスすべきかは、第３メモリ領域１３の指標データＳにより指標されているため、メモリセル群へのアクセス先を直ちに特定することができ、迅速なアクセス動作を実現することができる。メモリ部への読み出し動作を必要最小限に留めて、データの再書き込み動作、および再書き込みされたデータの読み出し動作を行うことができる。書き込み動作および読み出し動作を少ないクロック数で実行することができる。
【００５２】
また、第１の別例によれば、第２、第４メモリ領域１２、１４と同じ記憶領域を備えて、それぞれ、第１、第２レジスタ（不図示）を備えておき、起動時に、第２、第４メモリ領域１２、１４の内容が、それぞれ、第１、第２レジスタにロードされる。稼働中は、第２、第４メモリ領域１２、１４への書き換えに応じて、同じデータが、それぞれ、第１、第２レジスタにも書き込まれ、両者は内容が一致した状態に維持される。これにより、読み出し動作において、第２、第４メモリ領域１２、１４へのアクセスに代えて第１、第２レジスタからの読み出しにより、迅速な読み出しを行うことができる。
また、書き込み動作において、第１メモリ領域１１への書き込みが不可能であると判断され第１メモリ領域１１に代えて第２メモリ領域１２に書き込みを行う場合に、使用済みフラグＦは、第４メモリ領域１４から読み出すことに代えて、第２レジスタから読み出すことができる。メモリセルアレイに対する追加の読み出し動作が発生することないため、順次の検索を迅速に行うことができ、書き込み動作を少ないクロック数で実行することができる。
また、読み出し動作において、データが第１メモリ領域１１から第２メモリ領域１２に書き換えられている場合、追加の読み出し動作で第２メモリ領域１２をアクセスすることなく、第１レジスタからデータを読み出すことができる。追加の読み出し動作を行うことなく遅延なくデータを読み出すことができる。読み出し動作を少ないクロック数で実行することができる。
【００５３】
尚、本願に開示される技術は前記実施形態に限定されるものではなく、趣旨を逸脱しない範囲内での種々の改良、変更が可能であることは言うまでもない。
例えば、実施形態では、第１の別例に示す第１、第２レジスタを備えないため、書き込み動作において、第４メモリ領域１４に格納されている使用済みフラグＦの検索に読み出し動作が繰り返される場合があり、読み出し動作において、第２メモリ領域１２にデータが書き込まれている場合には追加の読み出し動作が必要になることが考えられる。しかしながら、本願はこれに限定されるものではない。書き込み動作において、第４メモリ領域１４からの使用済みフラグＦの読み出しを、全ての拡張ワード線に対して一斉に行う構成とすれば、追加の読み出し動作に係る時間を圧縮することができる。
また、第４メモリ領域１４の全ての拡張ワード線に対して行う使用済みフラグＦの読み出しを、第１メモリ領域からのデータの読み出しと同時に行えば、追加の読み出し動作に係る新たな時間は要しない。
また、読み出し動作において、第２メモリ領域１１からのデータの読み出しを、第１メモリ領域からのデータの読み出しと同時に、全ての拡張ワード線に対して一斉に行う構成としてやれば、追加の読み出し動作に係る新たな時間は要しない。
また、実施形態においては、第４メモリ領域１４は、コラム方向において第３メモリ領域１３と同じｎビットのビット幅を有しており、第４メモリ領域１４に格納されている使用済みフラグＦはｎビットである場合について説明した。しかしながら、本願はこれに限定されるものではない。使用済みフラグＦは、対応する第２メモリ領域１２のメモリセル群が「未使用」か「使用済み」かの２状態の何れであるかを示すフラグであり、少なくとも１ビットを備えればよい。使用済みフラグＦは、１〜ｎビットの間で構成することができる。
【符号の説明】
【００５４】
１    メモリセルアレイ
１１    第１メモリ領域
１２    第２メモリ領域
１３    第３メモリ領域
１４    第４メモリ領域
ｅＷＬ０〜ｅＷＬ（ｍ−１）    拡張ワード線
ＩＯ０〜ＩＯ（ｙ−１）    Ｉ／Ｏ端子
ＷＬ０〜ＷＬ（ｘ−１）    ワード線
Ｆ    使用済みフラグ
Ｓ    指標データ
【図１】
2014179143.tif 000003
【図２】
2014179143.tif 000004
【図３】
2014179143.tif 000005
【図４】
2014179143.tif 000006
【図５】
2014179143.tif 000007
【図６】
2014179143.tif 000008
【図７】
2014179143.tif 000009
【図８】
2014179143.tif 000010
【図９】
2014179143.tif 000011
【図１０】
2014179143.tif 000012
【図１１】
2014179143.tif 000013
【図１２】
2014179143.tif 000014