(57)【要約】【課題】ブロック単位でデータの読み出しを行う読み出し専用のマスクＲＯＭの不良品を救済して製造歩留まりを向上する。【解決手段】マスクＲＯＭ１０の論理フォーマットは、複数ブロックからなるユーザ領域と、複数ブロックからなるスペア領域と、複数ブロックからなるテーブル領域とにより構成されている。外部からのデータを、ＭＰＵ２４の制御によってマスクＲＯＭ１０に書き込む際に、ユーザ領域内のブロックに欠陥があれば、この欠陥ブロックをスペア領域内のスペアブロックに代替し、このスペアブロックに欠陥があれば、他のスペアブロックに代替し、これらの代替情報（アドレス等）をテーブル領域内のブロックに格納し、このブロックに欠陥があれば、他のブロックに格納する。そのため、マスクＲＯＭ１０内のブロックに欠陥があっても他のブロックに代替されるので、マスクＲＯＭ１０の不良品が救済される。【選択図】      図１
2005004504.tif 000002
【特許請求の範囲】
【請求項１】
外部とのデータの授受を行うインタフェースと、
前記データを一時的に格納するバッファと、
外部データを格納する複数ビットからなるブロックを複数有するユーザ領域と、前記ユーザ領域中の欠陥ブロックに替えて前記外部データを格納する複数ビットからなるスペアブロックを複数有するスペア領域とを備え、ブロック単位でデータの読み出しを行う読み出し専用メモリ部と、
前記欠陥ブロックから前記スペアブロックへの代替情報を格納する複数ビットからなるブロックを複数有する代替情報格納手段とを備え、
前記インタフェース、前記バッファ、前記メモリ部及び前記代替情報格納手段を制御する制御手段により、
前記外部データを前記メモリ部のユーザ領域に書き込む際に、前記ユーザ領域中のブロックにエラーが発生して使用不能の欠陥ブロックとなったときに、前記欠陥ブロックに替えて前記スペア領域中のスペアブロックへ前記外部データを書き込むと共に、前記欠陥ブロックから前記スペアブロックへの代替情報を前記代替情報格納手段中のブロックへ書き込み、前記スペア領域中のスペアブロックへ前記外部データを書き込む際に、前記スペアブロックが使用不能となったときには他のスペアブロックへ書き込むと共に該書き込み情報を前記代替情報格納手段中のブロックへ書き込み、前記代替情報又は前記書き込み情報を前記代替情報格納手段中のブロックへ書き込む際に該ブロックが使用不能となったときには他のブロックへ書き込む構成にしたことを特徴とする半導体記憶装置。
【請求項２】
前記代替情報格納手段は、前記メモリ部の内部又は外部に設けたことを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記制御手段は、制御信号を生成して前記インタフェース、前記バッファ、前記メモリ部及び前記代替情報格納手段をプログラム制御する制御部で構成したことを特徴とする請求項１又は２記載の半導体記憶装置。
【請求項４】
前記制御手段は、外部から前記インタフェースを介して入力される制御信号に基づき、前記バッファ、前記メモリ部及び前記代替情報格納手段をプログラム制御する構成にしたことを特徴とする請求項１又は２記載の半導体記憶装置。
【請求項５】
前記ユーザ領域中のブロックは、所定ビット数以上エラーが発生したときに前記欠陥ブロックと判定して前記スペア領域中のスペアブロックへ前記外部データを書き込み、前記エラー回数が所定回数を超えたときに前記メモリ部を不良品と判定することを特徴とする請求項１〜４のいずれか１項に記載の半導体記憶装置。
【請求項６】
前記スペア領域中のスペアブロックは、所定ビット数以上エラーが発生したときに使用不能と判定して他のスペアブロックへ前記外部データを書き込み、前記エラー回数が所定回数を超えたときに前記メモリ部を不良品と判定することを特徴とする請求項１〜５のいずれか１項に記載の半導体記憶装置。
【請求項７】
前記代替情報格納手段中のブロックは、所定ビット数以上エラーが発生したときに使用不能と判定して他のブロックへ前記代替情報又は前記書き込み情報を書き込み、前記エラー回数が所定回数を超えたときに前記メモリ部を不良品と判定することを特徴とする請求項１〜６のいずれか１項に記載の半導体記憶装置。
【請求項８】
半導体記憶装置は、メモリカードである請求項１〜７のいずれか１項に記載の半導体記憶装置。
【請求項９】
前記インタフェース、前記バッファ、前記メモリ部、前記代替情報格納手段、及び前記制御手段は、基板に搭載した請求項１〜３又は５〜７のいずれか１項に記載の半導体記憶装置。
【請求項１０】
前記インタフェース、前記バッファ、前記メモリ部、及び前記代替情報格納手段は、基板に搭載した請求項１、２、又は４〜７のいずれか１項に記載の半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、読み出し専用メモリ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ、以下「ＲＯＭ」という。）としてマスクＲＯＭ等を搭載したメモリカード等の半導体記憶装置、特にそのＲＯＭへの書き込み時に生じた欠陥部分を他の正常部分に置き換えて不良品の発生率を低減し、製造歩留まりを向上させた半導体記憶装置に関するものである。
【０００２】
【従来の技術】
従来、欠陥部分の救済手段を有する半導体記憶装置として、例えば、次のような文献に記載されるものがあった。
【０００３】
【特許文献１】
特開平８−１１５１７５号公報
【特許文献２】
特開２０００−１０８７０号公報
【０００４】
これらの特許文献１、２では、半導体記憶装置の一つである半導体ディスク装置の技術が記載されている。この半導体ディスク装置は、データの読み書きが可能な不揮発性のフラッシュメモリを有し、このフラッシュメモリに対するデータの書き込み時、或いは読み出し時に不良箇所が生じたときに、この欠陥部分を他の正常部分に置き換えて不良品の発生率を低減し、製造歩留まりを向上させている。
【０００５】
【発明が解決しようとする課題】
しかしながら、従来の半導体ディスク装置では、読み書き可能なフラッシュメモリを搭載し、このフラッシュメモリに対する不良救済技術に関するものであり、ＲＯＭを搭載した読み出し専用のメモリカード等の半導体記憶装置について、不良救済手段を搭載した適切な装置が無かった。特に、フラッシュメモリは、構造が複雑なため、記憶容量を増大するとコスト高になるので、構造が簡単なために低コストで記憶容量の増大が容易な読み出し専用の半導体記憶装置について、不要品救済が要望されていた。
【０００６】
【課題を解決するための手段】
前記課題を解決するために、本発明では、メモリカード等の半導体記憶装置において、外部とのデータの授受を行うインタフェースと、前記データを一時的に格納するバッファと、ブロック単位でデータの読み出しを行う読み出し専用メモリ部と、前記メモリ部の内部又は外部に設けられた代替情報格納手段と、内部で生成する制御信号又は外部から入力される制御信号に基づき前記インタフェース、前記バッファ、前記メモリ部及び前記代替情報格納手段を制御する制御手段とを備えている。
【０００７】
前記メモリ部は、外部データを格納する複数ビットからなるブロックを複数有するユーザ領域と、前記ユーザ領域中の欠陥ブロックに替えて前記外部データを格納する複数ビットからなるスペアブロックを複数有するスペア領域とを備えている。前記代替情報格納手段は、前記欠陥ブロックから前記スペアブロックへの代替情報を格納する複数ビットからなるブロックを複数有している。
【０００８】
そして、前記制御手段により、前記外部データを前記メモリ部のユーザ領域に書き込む際に、前記ユーザ領域中のブロックにエラーが発生して使用不能の欠陥ブロックとなったときに、前記欠陥ブロックに替えて前記スペア領域中のスペアブロックへ前記外部データを書き込むと共に、前記欠陥ブロックから前記スペアブロックへの代替情報を前記代替情報格納手段中のブロックへ書き込む。前記スペア領域中のスペアブロックへ前記外部データを書き込む際に、前記スペアブロックが使用不能となったときには他のスペアブロックへ書き込むと共に該書き込み情報を前記代替情報格納手段中のブロックへ書き込み、前記代替情報又は前記書き込み情報を前記代替情報格納手段中のブロックへ書き込む際に、該ブロックが使用不能となったときには他のブロックへ書き込む。これにより、不良品が救済されて製造歩留まりが向上する。
【０００９】
【発明の実施の形態】
（構成）
図１は、本発明の実施形態を示す半導体記憶装置の概略の構成図である。
【００１０】
この半導体記憶装置は、例えば、ＳＤカードやＭＭＣ（マルチメディア）カード等のメモリカードであり、カード状の基板１を有し、この基板１に、ブロック単位でデータの読み出しを行う読み出し専用メモリ部（例えば、１チップ（ｃｈｉｐ）で形成されたマスクＲＯＭ、以下「Ｐ２ＲＯＭ」という。）１０と、プログラムに従いＰ２ＲＯＭ１０をアクセス制御するカードコントローラ２０とが、内蔵されている。Ｐ２ＲＯＭ１０は、例えば、２５６Ｍｂ（メガビット）又は１２８Ｍｂの記憶容量を有し、これが信号線群（バス）を介してカードコントローラ２０に接続されている。
【００１１】
カードコントローラ２０は、上位装置（例えば、ホストコンピュータ）３０からの指示に従いＰ２ＲＯＭ１０をアクセス制御するものであり、ホストコンピュータ３０とのデータの授受を行うインタフェース２１を有し、このインタフェース２１にダブルバッファが接続されている。ダブルバッファは、前記データを一時的に格納するものであり、例えば、各記憶容量が５２２Ｂ（バイト）の２面の随時読み書き可能なメモリ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、以下「ＳＲＡＭ」という。）２２，２３で構成され、カードコントローラ２０からホストコンピュータ３０へのデータ転送と、Ｐ２ＲＯＭ１０からコードコントローラ２０へのデータ転送との、同時転送が可能な構成になっている。
【００１２】
インタフェース２１には更に、メモリカード全体をプログラム制御するマイクロプロセッサユニット（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ、以下「ＭＰＵ」という。）２４と、シーケンス制御及び初期設定を行うシーケンサ／フォーマッタ（Ｓｅｑｕｅｎｃｅｒ／Ｆｏｒｍａｔｅｒ、以下「ＳＭ部」という。）２５とが接続されている。ＭＰＵ２４には、これによりアクセスされるデータメモリ（例えば、２５６ＢのＳＲＡＭ）２６と、プログラムメモリ（例えば、１６ＫＢ（キロバイト）のＲＯＭ）２７とが接続されている。ＳＲＡＭ２６は、ＭＰＵ２４がプログラムを実行する際のワーキングデータを格納するメモリであり、ＲＯＭ２７は、アクセス用のプログラムを格納するメモリである。
【００１３】
ＳＦ部２５には、ＥＥＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  ａｎｄ  Ｃｏｒｒｅｃｔｉｏｎ）部２８、及びＰ２ＲＯＭコントロール部２９が接続されている。ＥＥＣ部２８は、Ｐ２ＲＯＭ１０からの読み出しデータのエラーチェックとその訂正、及び冗長データの生成を行うものである。Ｐ２ＲＯＭコントロール部２９は、Ｐ２ＲＯＭ１０に対するアクセス制御を行うものである。これらのＭＰＵ２４、ＳＦ部２５、ＥＣＣ部２８、及びＰ２コントロール部２９により、インタフェース２１、ＳＲＡＭ２２，２３、及びＰ２ＲＯＭ１０をプログラム制御する制御手段（例えば、制御部）を構成している。
【００１４】
図２は、図１中のＰ２ＲＯＭ１０の論理フォーマット例を示す構成図である。
【００１５】
Ｐ２ＲＯＭ１０の論理フォーマットは、例えば、記憶容量が２５６Ｍｂ又は１２８Ｍｂであり、外部データ（ユーザデータｄａｔａ）を格納するための複数のブロック（６２，６７３Ｂｌｏｃｋ又は３１，２７１Ｂｌｏｃｋ）を有するユーザ（ｕｓｅｒ）領域１１と、ユーザ領域１１中の欠陥ブロックに替えて外部データ（ユーザデータ）を格納するための複数のスペアブロック（１２８Ｂｌｏｃｋ）を有するスペア（ｓｐａｒｅ）領域１２と、欠陥ブロックからスペアブロックへの代替情報（欠陥ブロックに対応するスペアブロックのアドレス等）を格納するための複数のブロック（１，４７９Ｂｌｏｃｋ又は７４１Ｂｌｏｃｋ）を有する代替情報格納手段（例えば、テーブル（ｔａｂｌｅ，ＴＢＬ）領域）１３とから構成されている。
【００１６】
各領域１１，１２，１３における複数のブロック中の各ブロックは、例えば、２６４ｗｏｒｄ（ワード；半導体ディスク装置の「セクタ」に相当）で構成され、各ワードが１６ｂｉｔ（ビット）で構成されている。各ブロックは、有効性を示すコード（例えば、ＧＯＯＤ又はＢＡＤ）等を格納するための複数ビットからなるヘッダ部と、ホストコンピュータ３０からアクセスされるデータや、誤り検出及び訂正情報を格納するための複数ビットからなるデータ部とから構成されている。
【００１７】
（書き込み動作）
図３〜図５は、図１の半導体記憶装置の書き込み動作を示すフローチャートであり、同図３はＰ２ＲＯＭ１０中のユーザ（ｕｓｅｒ）領域１１のフローチャート、同図４はスペア（ｓｐａｒｅ）領域１２のフローチャート、及び同５はテーブル（ＴＢＬ）領域１３のフローチャートである。
【００１８】
以下、各領域１１，１２，１３の書き込み動作（１）〜（３）を説明する。
【００１９】
（１）  ユーザ（ｕｓｅｒ）領域１１の書き込み動作（図３）
ステップＳ１において、例えば、ホストコンピュータ３０等の書き込み装置を用いて、外部から図１の半導体記憶装置へクロック信号に同期してアドレス、書き込み制御信号、及び書き込みデータ等を供給すると、書き込み処理が開始される。書き込み装置から供給された信号等は、半導体記憶装置内のインタフェース２１を介して入力され、ＭＰＵ２４の制御により、入力された書き込みデータが一時的にＳＲＡＭ２２，２３に格納される。
【００２０】
ステップＳ２において、ＭＰＵ２４内の欠陥ブロック数計数用のレジスタ（ＥＣＲ）が０に初期設定され、ステップＳ３へ進む。ステップＳ３において、ＭＰＵ２４の制御により、入力された書き込み（Ｗｒｉｔｅ）アドレスがＳＦ部２５でフォーマット変換されると共に、該ＳＦ部２５でチップイネーブル信号、インプットイネーブル信号等の書き込み制御信号が生成され、これらのフォーマット変換されたアドレス及び書き込み制御信号が、Ｐ２ＲＯＭコントロール部２９を介してＰ２ＲＯＭ１０へ供給される。すると、Ｐ２ＲＯＭ１０において書き込みアドレスが指定され、このアドレスに、ＳＲＡＭ２２，２３に格納されたデータがブロック単位で書き込まれる。ＭＰＵ２４の制御により、書き込まれたデータはエラーチェックのために読み出され（Ｒｅａｄ）、ＥＣＣ部２８等で比較（Ｃｏｍｐａｒｅ）され、ステップＳ４へ進む。
【００２１】
ステップＳ４において、ステップＳ３での比較結果に基づき、１ブロック内に所定ビット（例えば、２ビット）以上のエラーがあるか否かが判定され、無し（Ｎｏ）のときにはステップＳ７へ進み、有り（Ｙｅｓ）のときにはステップＳ５へ進む。ステップＳ５において、欠陥ブロック数（ＥＲＣ）１がレジスタ（ＥＣＲ）に格納され、ステップＳ６で、ＭＰＵ２４によりレジスタ（ＥＲＣ）内の欠陥ブロック数が所定数（例えば、１００）以上か否かが判定される。判定結果がイエスのときには、Ｐ２ＲＯＭ１０が不良品（Ｃｈｉｐ  ｅｒｒｏｒ）と判定され、ノーのときには、良品と判定されてステップＳ７へ進む。
【００２２】
ステップＳ７において、ユーザ領域１１中の次のアドレスのブロックへ更新され（進み）、ステップＳ８で、そのブロックが最終ブロックか否かが判定される。ステップＳ８の判定結果がノーのときには、ステップＳ３へ戻って前記のステップＳ３〜Ｓ８の処理を繰り返し、ステップＳ８の判定結果がイエス（最終ブロック）のときには、書き込み処理を終了する。
【００２３】
（２）  スペア（ｓｐａｒｅ）領域１２の書き込み動作（図４）
図３のステップＳ４で、１ブロック中に所定ビット（例えば、２ビット）以上のエラーがあったときには、このブロックのデータをスペア領域１２へ書き込むために、ＭＰＵ２４の制御により、ステップＳ１０において、スペア領域１２の書き込み処理が開始される。ステップＳ１１で、ＭＰＵ２４内のレジスタ（ＥＣＲ）の値が欠陥ブロック数０に初期設定され、ステップＳ１２へ進む。ステップＳ１２において、前記データがスペア領域１２内のブロックに書き込まれ（Ｗｒｉｔｅ）、これが正しく書き込まれたか否かをチェックするために、書き込まれたデータが読み出されて（Ｒｅａｄ）、書き込みデータと比較（Ｃｏｍｐａｒｅ）され、ステップＳ１３へ進む。
【００２４】
ステップＳ１３において、１ブロック中に所定ビット（例えば、２ビット）以上のエラーがあるか否かが判定され、判定結果がノーのときには、正しく書き込まれているとみなしてステップＳ２２のスペア領域ブロック更新処理へ進み、ＳＦ部２５内のアドレスカウンタにより次のブロックのアドレスに更新され、ステップＳ２３を介してスペア領域１２での書き込み処理を終了する。
【００２５】
ステップＳ１３で判定結果がイエスのときには、次のアドレスのブロックへ書き込むために、ステップＳ１４で、レジスタ（ＥＣＲ）に欠陥ブロック数（ＥＲＣ）１が格納され、ステップＳ１５へ進む。ステップＳ１５において、レジスタ（ＥＣＲ）に格納された欠陥ブロック数（ＥＲＣ）が所定数（例えば、１２８）以上か否かが判定され、イエスのときには、Ｐ２ＲＯＭ１０が不良品（Ｃｈｉｐ  ｅｒｒｏｒ）と判定され、ノーのときには、ステップＳ１６で、ＳＦ部２５内のアドレスカウンタにより次のブロックのアドレスに更新され、ステップＳ１７へ進む。ステップＳ１７において、そのブロックが最終ブロックか否かが判定され、イエスのときには、Ｐ２ＲＯＭ１０が不良品（Ｃｈｉｐ  ｅｒｒｏｒ）と判定され、ノーのときには、ステップＳ１８で、データが書き込まれ、これが読み出されて書き込みデータと比較され、ステップＳ１９へ進む。
【００２６】
ステップＳ１９において、１ブロック中に所定ビット（例えば、２ビット）以上のエラーがあるか否かが判定され、判定結果がノーのときには、正しく書き込まれているとみなしてステップＳ２２のスペア領域ブロック更新処理へ進み、ＳＦ部２５内のアドレスカウンタにより次のブロックのアドレスに更新され、ステップＳ２３を介してスペア領域１２での書き込み処理を終了する。
【００２７】
ステップＳ１９で判定結果がイエスのときには、次のアドレスのブロックへ書き込むために、ステップＳ２０で、レジスタ（ＥＣＲ）に欠陥ブロック数（ＥＲＣ）１が加算され、ステップＳ２１へ進む。ステップＳ２１において、レジスタ（ＥＣＲ）に格納された欠陥ブロック数（ＥＲＣ）が所定数（例えば、１２８）以上か否かが判定され、イエスのときには、Ｐ２ＲＯＭ１０が不良品（Ｃｈｉｐ  ｅｒｒｏｒ）と判定し、ノーのときには、ステップＳ２２で、ＳＦ部２５内のアドレスカウンタにより次のブロックのアドレスに更新され、ステップＳ２３へ進む。ステップＳ２３において、そのブロックが最終ブロックか否かが判定され、イエスのときには、スペア領域１２での書き込み処理を終了し、ノーのときには、ステップＳ１２へ戻り、前記のステップＳ１２〜Ｓ２３の処理を繰り返す。
【００２８】
（３）  テーブル（ＴＢＬ）領域１３の書き込み動作（図５）
図４の書き込み処理において、データがスペアブロックに書き込まれると、この代替情報（例えば、スペアブロックのアドレス）をテーブル領域１３へ書き込むために、ＭＰＵ２４の制御により、ステップＳ３０において、テーブル領域１３の書き込み処理が開始される。ステップＳ３１で、ＭＰＵ２４内のレジスタ（ＥＣＲ）の値が欠陥ブロック数０に初期設定され、ステップＳ３２へ進む。ステップＳ３２において、前記代替情報がテーブル領域１３内のブロックに書き込まれ（Ｗｒｉｔｅ）、これが正しく書き込まれたか否かをチェックするために、書き込まれた情報が読み出されて（Ｒｅａｄ）、書き込み情報と比較（Ｃｏｍｐａｒｅ）され、ステップＳ３３へ進む。
【００２９】
ステップＳ３３において、１ブロック中に所定ビット（例えば、２ビット）以上のエラーがあるか否かが判定され、判定結果がノーのときには、正しく書き込まれているとみなしてステップＳ３９のテーブル領域ブロック更新処理へ進み、ＳＦ部２５内のアドレスカウンタにより次のブロックのアドレスに更新され、ステップＳ４０を介してステップＳ４１で、書き込み処理を完了する。
【００３０】
ステップＳ３３で判定結果がイエスのときには、ステップＳ３４において、その欠陥ブロックを使用不能にするために例えば“０”を上書きした後、次のアドレスのブロックへ書き込むために、ステップＳ３５で、レジスタ（ＥＣＲ）に欠陥ブロック数（ＥＲＣ）１が格納され、ステップＳ３６へ進む。ステップＳ３６において、レジスタ（ＥＣＲ）に格納された欠陥ブロック数（ＥＲＣ）が所定数（例えば、３）以上か否かが判定され、イエスのときには、Ｐ２ＲＯＭ１０が不良品（Ｃｈｉｐ  ｅｒｒｏｒ）と判定され、ノーのときには、ステップＳ３７のテーブル領域空間更新処理で、ＳＦ部２５内のアドレスカウンタにより次のブロックのアドレスに更新され、ステップＳ３８へ進む。ステップＳ３８において、そのブロックが最終ブロックか否かが判定され、イエスのときには、Ｐ２ＲＯＭ１０が不良品（Ｃｈｉｐ  ｅｒｒｏｒ）と判定され、ノーのときには、ステップＳ３２へ戻り、前記のステップＳ３２及びＳ３３の処理を行う。
【００３１】
ステップＳ３３の判定結果がノーで、書き込みが正常とみなせるときは、ステップＳ３９のテーブル領域ブロック更新処理へ進み、ＳＦ部２５内のアドレスカウンタにより次のブロックのアドレスに更新され、ステップＳ４０へ進む。ステップＳ４０３において、そのブロックが最終ブロックか否かが判定され、イエスのときには、ステップＳ４１で書き込み処理を完了し、ノーのときには、ステップＳ３２へ戻り、前記のステップＳ３２〜Ｓ４０の処理を繰り返す。
【００３２】
（読み出し動作）
外部のホストコンピュータ３０から図１の半導体記憶装置へ、クロック信号に同期してアドレス、及び読み出し制御信号等を供給すると、ＭＰＵ２４の制御により、ＳＦ部２５でチップイネーブル信号、アウトプットイネーブル信号等の読み出し制御信号が生成されると共に、フォーマット変換されたアドレスが生成され、これらのアドレス及び読み出し制御信号が、Ｐ２ＲＯＭコントロール部２９を介してＰ２ＲＯＭ１０へ供給される。
【００３３】
すると、Ｐ２ＲＯＭ１０において読み出しアドレスが指定され（ユーザ領域１１内の欠陥ブロックに対応するスペア領域１２内のブロックのアドレスは、テーブル領域内のブロックに格納されているので、そのアドレスが指定され）、該アドレスに格納されたデータがブロック単位で読み出される。読み出されたデータは、ＥＣＣ部２８でエラーチェックが行われ、エラーがあれば、そのエラー箇所が訂正された後、一時的にＳＲＡＭ２２，２３に格納される。この際、ＳＲＡＭ２２，２３がダブルバッファ構造になっているので、Ｐ２ＲＯＭ１０から読み出されたデータが一方のＳＲＡＭ（例えば、２２）に格納されていくと同時に、既に他方のＳＲＡＭ２３に格納された読み出しデータがインタフェース２１を介してホストコンピュータ３０へ転送されていく。そのため、高速でデータの読み出しが行える。
【００３４】
（効果）
この実施形態では、次の（ａ）、（ｂ）のような効果がある。
【００３５】
（ａ）  Ｐ２ＲＯＭ１０の論理フォーマットをユーザ領域１１、スペア領域１２及びテーブル領域１３により構成し、データ書き込みの際に、ユーザ領域１１内のブロックに欠陥があれば、この欠陥ブロックをスペア領域１２内のスペアブロックに代替し、このスペアブロックに欠陥があれば、他のスペアブロックに代替し、これらの代替情報（アドレス等）をテーブル領域１３内のブロックに格納し、このブロックに欠陥があれば、他のブロックに格納する構成にしている。そのため、Ｐ２ＲＯＭ１０内のブロックに欠陥があっても他のブロックに代替されるので、Ｐ２ＲＯＭ１０の不良品が救済されて不良品発生率が大幅に減少し、製造歩留まりを向上できる。従って、低コストで大容量の読み出し専用の半導体記憶装置を提供できる。
【００３６】
（ｂ）  ＳＲＡＭ２２，２３がダブルバッファ構造になっているので、例えば、データ読み出し時において、ＳＲＡＭ２３からホストコンピュータ３０への読み出しデータの転送と、Ｐ２ＲＯＭ１０からＳＲＡＭ２２への読み出しデータの転送とを、同時に行うことが可能になり、これによって読み出し動作の高速が図れる。
【００３７】
［利用形態］
本発明は、上記実施形態に限定されず、種々の変形や利用形態が可能である。この変形や利用形態としては、例えば、次の（ａ）〜（ｄ）のようなものがある。
【００３８】
（ａ）  図１のＳＲＡＭ２２，２３，２６及びＲＯＭ２７の容量、或いは図２のＰ２ＲＯＭ１０の容量や論理フォーマット等は、図示以外の容量やフォーマット形式等に変更してもよい。又、Ｐ２ＲＯＭ１０に代えて他の不揮発性メモリでメモリ部を構成したり、或いはＰ２ＲＯＭ１０に設けられるテーブル領域１３の情報ををこのＰ２ＲＯＭ外部のＳＲＡＭ２６等の代替情報格納手段に格納するようにしてもよく、これによりＰ２ＲＯＭ容量の小型化等を図ることも可能である。
【００３９】
（ｂ）  図１のカードコントローラ２０は、図示以外の構成に変更してもよい。例えば、ＭＰＵ２４は、ロジック回路等で構成してもよい。又、半導体記憶装置の構成の簡単化等を図るために、それらのＭＰＵ２４或いはロジック回路等を省略し、外部のホストコンピュータ３０等からインタフェース２１を介して入力される制御信号をＳＲＡＭ２６等の制御手段に格納し、この制御手段により、Ｐ２ＲＯＭ１０のアクセス制御を行ったり、半導体記憶装置全体を制御する構成にしてもよい。
【００４０】
（ｃ）  図３〜図５の動作フローは、重複するステップ内容を省略や簡略化したり、或いは他のステップ内容を付加する等して、図示以外の内容に変更してもよい。
【００４１】
（ｄ）  実施形態では、半導体記憶装置としてメモリカードの例を説明したが、これに限定されない。例えば、図１のＰ２ＲＯＭ１０及びカードコントローラ２０をプリント基板等に搭載して、他の装置に実装するような構造にしても、実施形態とほぼ同様の作用、効果が得られる。
【００４２】
【発明の効果】
以上詳細に説明したように、本発明によれば、ユーザ領域、スペア領域及び代替情報格納手段を設けたので、データ書き込みの際に、ユーザ領域内のブロックに欠陥があれば、この欠陥ブロックをスペア領域内のスペアブロックに代替し、このスペアブロックに欠陥があれば、他のスペアブロックに代替し、これらの代替情報を代替情報格納手段内のブロックに格納し、このブロックに欠陥があれば、他のブロックに格納する構成にしている。そのため、メモリ部及び代替情報格納手段内のブロックに欠陥があっても他のブロックに代替されるので、メモリ部及び代替情報格納手段の不良品が救済されて不良品発生率が大幅に減少し、製造歩留まりを向上できる。従って、低コストで大容量の読み出し専用の半導体記憶装置を提供できる。
【図面の簡単な説明】
【図１】本発明の実施形態を示す半導体記憶装置の概略の構成図である。
【図２】図１中のＰ２ＲＯＭ１０の論理フォーマット例を示す構成図である。
【図３】図１の半導体記憶装置の書き込み動作を示すフローチャートである。
【図４】図１の半導体記憶装置の書き込み動作を示すフローチャートである。
【図５】図１の半導体記憶装置の書き込み動作を示すフローチャートである。
【符号の説明】
１０    Ｐ２ＲＯＭ
１１    ユーザ領域
１２    スペア領域
１３    テーブル領域
２０    カードコントローラ
２２，２３    ＳＲＡＭ
２４    ＭＰＵ
２５    ＳＦ部
２６    ＳＲＡＭ
２７    ＲＯＭ
２８    ＥＣＣ部
２９    Ｐ２ＲＯＭコントロール部
【図１】
2005004504.tif 000003
【図２】
2005004504.tif 000004
【図３】
2005004504.tif 000005
【図４】
2005004504.tif 000006
【図５】
2005004504.tif 000007