(57)【要約】【課題】ハードディスクドライブなどの大容量記憶装置の代替使用に際し、フラッシュメモリの課題を解決しつつ、記憶装置の意味づけを装置寿命かアクセス速度かの最適な状態に設定する。【解決手段】各種データを記憶する第１半導体メモリ領域３１および当該第１半導体メモリ領域３１内の不良ブロックを代替する第１不良ブロック代替領域３２を有するフラッシュメモリ２７と、ＦｅＲＡＭで構成され、フラッシュメモリ２７のデータの一部をキャッシュとして保持する第２半導体メモリ領域３３を有するキャッシュメモリ２８と、第２半導体メモリ領域３３の一部を、第１半導体メモリ領域３１内の不良ブロックを代替する第２不良ブロック代替領域３４として管理する。【選択図】図２
2009122826.tif 000002
【特許請求の範囲】
【請求項１】
各種データを記憶する第１半導体メモリ領域および当該第１半導体メモリ領域内の不良ブロックを代替する第１不良ブロック代替領域を有する第１記憶部と、
前記第１記憶部のデータの一部をキャッシュとして保持する第２半導体メモリ領域を有する第２記憶部と、
前記第２半導体メモリ領域の一部を、前記第１半導体メモリ領域内の不良ブロックを代替する第２不良ブロック代替領域として管理するメモリ管理部と、
を備えていることを特徴とする半導体記憶装置。
【請求項２】
請求項１記載の半導体記憶装置において、
前記メモリ管理部は、前記第１不良ブロック代替領域の未使用領域の容量が所定容量以下となった場合に、前記第２半導体メモリ領域の一部を前記第２不良ブロック代替領域とすることを特徴とする半導体記憶装置。
【請求項３】
請求項２記載の半導体記憶装置において、
前記メモリ管理部は、前記第２半導体メモリ領域の一部を前記第２不良ブロック代替領域とするに先だって、当該第２半導体メモリ領域に記憶しているデータを前記第１半導体メモリ領域あるいは第１不良ブロック代替領域に書き戻しを行うことを特徴とする半導体記憶装置。
【請求項４】
請求項２または請求項３に記載の半導体記憶装置において、
前記メモリ管理部は、所定のタイミングで、前記第１不良ブロック代替領域の消費ブロック数を検出する消費ブロック数検出部を備えたことを特徴とする半導体記憶装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の半導体記憶装置において、
前記第１記憶部は、フラッシュメモリとして構成され、
前記第２記憶部は、強誘電体メモリとして構成されている、
ことを特徴とする半導体記憶装置。
【請求項６】
各種データを記憶する第１半導体メモリ領域および当該第１半導体メモリ領域内の不良ブロックを代替する第１不良ブロック代替領域を有する第１記憶部と、前記第１記憶部のデータの一部をキャッシュとして保持する第２半導体メモリ領域を有する第２記憶部と、を備えた半導体記憶装置の制御方法であって、
前記第１不良ブロック代替領域の未使用領域の容量が所定容量以下となったか否かを判別する容量判別過程と、
前記容量判別過程において、前記第１不良ブロック代替領域の未使用領域の容量が所定容量以下となったと判別された場合に、前記第２半導体メモリ領域の一部を、前記第１半導体メモリ領域内の不良ブロックを代替する第２不良ブロック代替領域として管理するメモリ管理過程と、
を備えていることを特徴とする半導体記憶装置の制御方法。
【請求項７】
各種データを記憶する第１半導体メモリ領域および当該第１半導体メモリ領域内の不良ブロックを代替する第１不良ブロック代替領域を有する第１記憶部と、前記第１記憶部のデータの一部をキャッシュとして保持する第２半導体メモリ領域を有する第２記憶部と、を備えた半導体記憶装置をコンピュータにより制御するための制御プログラムであって、
前記第１不良ブロック代替領域の未使用領域の容量が所定容量以下となったか否かを判別させ、
前記第１不良ブロック代替領域の未使用領域の容量が所定容量以下となったと判別された場合に、前記第２半導体メモリ領域の一部を、前記第１半導体メモリ領域内の不良ブロックを代替する第２不良ブロック代替領域として管理させる、
ことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置、半導体記憶装置の制御方法および制御プログラムに係り、特にハードディスク装置などの大容量記憶装置を代替するためのフラッシュメモリを用いた半導体記憶装置、半導体記憶装置の制御方法および制御プログラムに関するものである。
【背景技術】
【０００２】
近年、ＮＡＮＤ型フラッシュメモリを代表とする不揮発性メモリを記憶媒体とした半導体記憶装置（例えば、シリコンディスク）は、ハードディスク装置の代替として注目されている。その理由としては、ハードディスク装置と比較して、回転機構等の故障要素がないこと、振動等に対する耐衝撃性があることなどが挙げられる。
しかしながら、この種の半導体記憶装置は、データの書換え回数に制限があり、通常数万回から数十万回程度で装置寿命となってしまうといった欠点がある。しかも、特定の領域（記憶素子）に書換えが集中すると、さらに寿命が短くなってしまう。このような問題を解消するため、不良ブロックを予め半導体記憶装置内に持たせた予備ブロックに代替することにより装置寿命を延ばす半導体記憶装置が提案されている。
【０００３】
この半導体記憶装置は、データを記憶するデータメモリ領域と、当該データメモリ領域内のエラー領域を代替する代替メモリ領域と、データメモリのエラー情報を記憶するエラーメモリ領域と、これらの読み出しおよび書き込みを行うメモリコントローラと、を備えている。
そして、メモリコントローラが、エラーメモリ領域のエラー情報を読み取り、データメモリ領域が正常なときはデータメモリ領域、異常なときは代替メモリ領域へ読み書きを行う。書き込み時においてエラーが発生した場合は、代替メモリ領域の空き領域を捜し、空き領域にデータを書き込むとともに、エラーのあったメモリ領域のエラー情報を更新することにより半導体記憶装置の延命を図る（特許文献１参照）。
【特許文献１】特開平０５−２０４５６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、半導体記憶装置においては、その利用方法において、アクセス速度よりも装置寿命を重要視する場合や、装置寿命よりもアクセス速度を重要視する場合などがあり、その重要視の度合いは半導体記憶装置のユーザにより、あるいは、利用態様毎に異なるものであり、一概にどのようなものが良いかは定めることができない。
一方、フラッシュメモリはある一定容量のデータのまとまりをページとして扱っているため、シーケンシャルアクセスを行う場合には、比較的処理が早いが、ランダムアクセスを行う場合には、ＳＲＡＭやＤＲＡＭなどと比較して比較にならないほど時間がかかる。
さらに書換寿命に関しては、ハードディスクドライブの代替使用を考えた場合には、大きな課題となってしまう。
そこで、本発明の目的は、ハードディスクドライブなどの大容量記憶装置の代替使用に際し、フラッシュメモリの課題を解決しつつ、記憶装置の意味づけを装置寿命かアクセス速度かの最適な状態に設定することができる半導体記憶装置、半導体記憶装置の制御方法および制御プログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、本発明の第１の態様は、各種データを記憶する第１半導体メモリ領域および当該第１半導体メモリ領域内の不良ブロックを代替する第１不良ブロック代替領域を有する第１記憶部と、前記第１記憶部のデータの一部をキャッシュとして保持する第２半導体メモリ領域を有する第２記憶部と、前記第２半導体メモリ領域の一部を、前記第１半導体メモリ領域内の不良ブロックを代替する第２不良ブロック代替領域として管理するメモリ管理部と、を備えていることを特徴としている。
上記構成によれば、メモリ管理部は、キャッシュとして機能している第２半導体メモリ領域の一部を第１半導体メモリ領域内の不良ブロックを代替する第２不良ブロック代替領域として管理するので、第２半導体メモリ領域の一部の容量を適宜設定することにより記憶装置の意味づけを装置寿命かアクセス速度かの最適な状態に設定することができる。
【０００６】
本発明の第２の態様は、第１の態様において、前記メモリ管理部は、前記第１不良ブロック代替領域の未使用領域の容量が所定容量以下となった場合に、前記第２半導体メモリ領域の一部を前記第２不良ブロック代替領域とするので、装置寿命が許す限り、アクセス速度を維持することができる。
【０００７】
また、本発明の第３の態様は、第２の態様において、前記メモリ管理部は、前記第２半導体メモリ領域の一部を前記第２不良ブロック代替領域とするに先だって、当該第２半導体メモリ領域に記憶しているデータを前記第１半導体メモリ領域あるいは第１不良ブロック代替領域に書き戻しを行うので、第２不良ブロック代替領域を利用するに際して、第２半導体メモリ領域に記憶されたデータのうち、第１半導体メモリ領域に記憶されたデータとの整合性が崩れることがない。
【０００８】
また、本発明の第４の態様は、第２の態様または第３の態様において、前記メモリ管理部は、所定のタイミングで、前記第１不良ブロック代替領域の消費ブロック数を検出する消費ブロック数検出部を備え、確実に第２不良ブロック代替領域の利用が行えるので、信頼性を向上することができる。
また、本発明の第５の態様は、第１ないし第４の態様のいずれかの態様において、前記第１記憶部は、フラッシュメモリとして構成され、前記第２記憶部は、強誘電体メモリとして構成されているので、アクセス速度の向上を図れるとともに、電源遮断時でもキャッシングされたデータが保持される。
【０００９】
また、本発明の第６の態様は、各種データを記憶する第１半導体メモリ領域および当該第１半導体メモリ領域内の不良ブロックを代替する第１不良ブロック代替領域を有する第１記憶部と、前記第１記憶部のデータの一部をキャッシュとして保持する第２半導体メモリ領域を有する第２記憶部と、を備えた半導体記憶装置の制御方法であって、前記第１不良ブロック代替領域の未使用領域の容量が所定容量以下となったか否かを判別する容量判別過程と、前記容量判別過程において、前記第１不良ブロック代替領域の未使用領域の容量が所定容量以下となったと判別された場合に、前記第２半導体メモリ領域の一部を、前記第１半導体メモリ領域内の不良ブロックを代替する第２不良ブロック代替領域として管理するメモリ管理過程と、を備えていることを特徴としている。
上記構成によれば、メモリ管理部は、キャッシュとして機能している第２半導体メモリ領域の一部を第１半導体メモリ領域内の不良ブロックを代替する第２不良ブロック代替領域として管理するので、第２半導体メモリ領域の一部の容量を適宜設定することにより記憶装置の意味づけを装置寿命かアクセス速度かの最適な状態に設定することができる。
【００１０】
また、本発明の第７の態様は、各種データを記憶する第１半導体メモリ領域および当該第１半導体メモリ領域内の不良ブロックを代替する第１不良ブロック代替領域を有する第１記憶部と、前記第１記憶部のデータの一部をキャッシュとして保持する第２半導体メモリ領域を有する第２記憶部と、を備えた半導体記憶装置をコンピュータにより制御するための制御プログラムであって、前記第１不良ブロック代替領域の未使用領域の容量が所定容量以下となったか否かを判別させ、前記第１不良ブロック代替領域の未使用領域の容量が所定容量以下となったと判別された場合に、前記第２半導体メモリ領域の一部を、前記第１半導体メモリ領域内の不良ブロックを代替する第２不良ブロック代替領域として管理させる、ことを特徴としている。
上記構成によれば、メモリ管理部は、キャッシュとして機能している第２半導体メモリ領域の一部を第１半導体メモリ領域内の不良ブロックを代替する第２不良ブロック代替領域として管理するので、第２半導体メモリ領域の一部の容量を適宜設定することにより記憶装置の意味づけを装置寿命かアクセス速度かの最適な状態に設定することができる。
【発明の効果】
【００１１】
本発明によれば、半導体記憶装置において、ハードディスクドライブなどの大容量記憶装置の代替使用に際し、ユーザあるいは使用環境に応じて、記憶装置の意味づけを装置寿命かアクセス速度かの最適な状態に設定することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の好適な実施の形態について図面を参照して説明する。
図１は、半導体記憶装置を有する情報処理装置の概要構成ブロック図である。
情報処理装置１０は、ハードディスク装置の代替として利用される半導体記憶装置１１と、半導体記憶装置１１が装着されるホスト装置１２と、ホスト装置１２の周辺機器である表示デバイス１３および入力デバイス１４と、により構成されている。
【００１３】
図２は、半導体記憶装置の概要構成ブロック図である。
半導体記憶装置１１は、ホストインターフェース２１、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２４、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２５、設定情報管理メモリ２６（不揮発性メモリ）、フラッシュメモリ２７（Ｆｌａｓｈ  Ｍｅｍｏｒｙ）およびＦｅＲＡＭで構成されたキャッシュメモリ（Ｃａｃｈｅ  Ｍｅｍｏｒｙ）２８を備え、これらは内部バス２９に接続されている。このキャッシュメモリ２８を構成するＦｅＲＡＭは、不揮発性メモリであるため、フラッシュメモリと同様の不揮発性メモリであり、電源が遮断されるような状況でもデータは保持されるため、フラッシュメモリ２７のキャッシュとして最適である。
【００１４】
また、フラッシュメモリ２７は、記憶媒体としてデータを記憶する第１半導体メモリ領域３１および当該第１半導体メモリ領域３１内の不良ブロックを代替する第１不良ブロック代替領域３２を有している。
さらにキャッシュメモリ２８は、記憶媒体としてキャッシュデータを記憶する第２半導体メモリ領域３３を有している。この第２半導体メモリ領域３３の一部は、フラッシュメモリ２７の第１不良ブロック代替領域３２の容量が所定容量未満となった場合に、フラッシュメモリ２７の第１半導体メモリ領域３１内の不良ブロックを代替する第２不良ブロック代替領域３４として用いられる。
【００１５】
ホストインターフェース２１は、ホスト装置１２とのデータ転送を行うものであり、そのデータ転送速度を高速化するため、ホスト装置１２からの読み出し／書き込みデータおよびコマンドをバッファリングするための図示しないバッファメモリを有している。なお、ホストインターフェース２１は、用途にあわせて、ＩＤＥ、ＳＣＳＩ、シリアルＡＴＡ等のデータ転送規格を採用することができる。
ＣＰＵ２２は、メモリ管理部として機能しており、半導体記憶装置１１が、ハードディスクの代替として用いられることから、ハードディスク用のコマンドを解析してフラッシュメモリ１７に読み出し／書き込みデータを割り当てるなどの処理を行う。
【００１６】
ＲＡＭ２４は、ＣＰＵ２２の処理時におけるワークエリアとして用いられ、各種コマンドやフラグ等を記憶する。例えば、ＣＰＵ２２がＲＡＭ２４上にアドレス変換テーブル３５を読出し、各ブロックの識別フラグを書き換える際に用いられる。
ＲＯＭ２５は、半導体記憶装置１１がハードディスクとして機能するためのファームウェアを記憶している。このファームウェアには、ＣＰＵ２２が上記の各処理を実現するための制御プログラムの他、通常処理（ホスト装置１２とのリード／ライトや、ホスト装置１２  からのコマンド送信に対するステータスの返信、電源投入時初期化、電源遮断時の退避処理など）を行うための制御プログラムが記憶されている。
【００１７】
設定情報管理メモリ２６は、アドレス変換テーブル３５を有している。アドレス変換テーブル３５は、半導体記憶装置１１内における実際の（物理的な）アクセス先となる物理ブロックアドレスと、ホスト装置１２が半導体記憶装置１１にアクセスするための論理ブロックアドレスと、各ブロックにおけるデータの書き換え回数をカウントしたカウント数と、各ブロックが第１半導体メモリ領域３１、第１不良ブロック代替領域３２あるいは第２不良ブロック代替領域３４のいずれかに属すことを示すための識別データと、各ブロックが不良ブロックであるか否かを示す不良ブロック情報と、を関連付けて記憶している。
また、フラッシュメモリ２７は、データの上書きができないため、データの書換えを行う場合、消去済みブロックに新規データを書き込み、書換え前のデータが書き込まれていたブロックを消去するといった処理を行う。
【００１８】
本実施形態においては、キャッシュメモリ２８を用いてライトバック方式でデータの書き込みをフラッシュメモリ２７に対して行っている。フラッシュメモリ２７に対する書込要求がなされると、ＣＰＵ２２は、当該データをキャッシュメモリ２８に書き込ませる。このとき、キャッシュメモリ２８は、ＦｅＲＡＭで構成されているため、見かけ上、ホスト装置１２からは、半導体記憶装置１１にＤＲＡＭ並の速度で書込処理を行うことができる。
この場合において、実際のフラッシュメモリ２７にはデータの書き込みは行われない。従って、ＣＰＵ２２は、例えば、フラッシュメモリ２７がアクセスされておらず、処理に余裕がある場合や、キャッシュメモリ２８に更新していないままのデータが多くなり、新たな書込データに対応できなくなるおそれが有る場合に、実際のフラッシュメモリ２７にデータの書き込みをライトバック方式で行うこととなる。なお、ライトバック方式に限らず、ライトスルー構成としたり、リードキャッシュとライトキャッシュとを分割して設けたり、それらを動的に変化させたりするように構成することも可能である。
【００１９】
次にフラッシュメモリ２７に対する書込動作を説明する。
図３は、データ書込処理の処理フローチャートである。
ＣＰＵ２２は、プログラムあるいは外部からの要求によりデータの書換要求がなされると（ステップＳ１１）、当該書換要求にしたがって、アドレス変換テーブル３５の内容にしたがって対応するブロックのデータを書換えるべく処理を行う。
具体的には、ＣＰＵ２２は、当該ブロック（物理ブロックアドレス）の書換回数をカウントする（ステップＳ１２）。
次にＣＰＵ２２は、対応するブロックにおいて書換回数が所定回数以上であるか否かを判別する（ステップＳ１３）。
ステップＳ１３の判別において、当該ブロックにおける書換回数が所定回数未満である場合には（ステップＳ１３；Ｎｏ）、当該ブロックに書換要求にしたがってデータを書き込む書込処理を行い（ステップＳ１４）、処理をステップＳ１６に移行する。
ステップＳ１３の判別において、当該ブロックにおける書換回数が所定回数以上である場合には（ステップＳ１３；Ｙｅｓ）、カウント数が少ないブロックを検索し、当該検索されたブロックへデータを書き込む平滑化処理を行い（ステップＳ１５）、処理をステップＳ１６に移行する。すなわち、第１半導体メモリ領域３１の各ブロックへの書換え回数が平滑化するように、ブロックのデータを別ブロックに移動させ、該当するアドレス変換テーブル３５を書き換える。
【００２０】
次にＣＰＵ２２は、書込処理（ステップＳ１４）あるいは平滑化処理（ステップＳ１５）においてデータを書き込んだブロックにおいて書込エラーが発生したか否かを判別する（ステップＳ１６）。
ステップＳ１６の判別において、書込エラーが発生した場合には（ステップＳ１６；Ｙｅｓ）、ＣＰＵ２２は、第１不良ブロック代替領域３２に当該書き込みエラーが発生したブロックを代替するための容量が残っているか否かを判別する（ステップＳ１７）。
具体的には、第１不良ブロック代替領域３２の使用済みブロック数に基づいてブロックを代替するための容量が残っているか否かを判別している。
【００２１】
ステップＳ１７の判別において、第１不良ブロック代替領域３２に当該書き込みエラーが発生したブロックを代替するための容量が残っている場合には（ステップＳ１７；Ｙｅｓ）、ＣＰＵ２２は、当該第１半導体メモリ領域３１内の不良ブロックのアドレスを、第１不良ブロック代替領域３２内の代替ブロックに割り当て、以降は第１不良ブロック代替領域３２にアクセスさせるべく第１不良ブロック割当処理を行い（ステップＳ１８）、処理を終了する。この場合においてＣＰＵ２２は、消費ブロック数検出部として機能し、第１不良ブロック代替領域３２の使用済みブロック数をカウントしておく。
【００２２】
一方、ステップＳ１７の判別において、第１不良ブロック代替領域３２に当該書き込みエラーが発生したブロックを代替するための容量が残っていない場合には（ステップＳ１７；Ｎｏ）、キャッシュメモリ２８の第２不良ブロック代替領域３４の一部を第２不良ブロック代替領域３４とし、第１半導体メモリ領域３１内の不良ブロックのアドレスを第２不良ブロック代替領域３４に割り当て、以降は第２不良ブロック代替領域３４にアクセスさせるべく第２不良ブロック割当処理を行い（ステップＳ１９）、処理を終了する。
【００２３】
この場合において、第２不良ブロック代替領域３４として割当可能なキャッシュメモリ２８の容量については、通常は、キャッシュメモリ２８がキャッシュとしての機能を損なわない程度の容量となるように設定されており、第２不良ブロック代替領域３４の容量が、この容量に至った後に、再度不良ブロックが発生した場合には、ホスト装置１２により装置寿命と判定されることとなる。なお、極端にフラッシュメモリ２７に対する書き込みが多い環境であるような場合には、キャッシュメモリ２８における第２半導体メモリ領域３３全体を第２不良ブロック代替領域３４とすることも可能である。このような環境においては、フラッシュメモリへのアクセス速度の向上を図るよりもメモリの寿命を延ばす方が適切であると判断できるからである。
この第２不良ブロック代替領域３４の容量は、ホスト装置１２のコントローラ１２Ａによりユーザ等が設定することが可能となっている。以下、第２不良ブロック代替領域３４の容量設定について具体的に説明する。
第２不良ブロック代替領域３４の容量設定を行う場合、コントローラ１２Ａは、半導体記憶装置１１が接続されたことを確認すると、半導体記憶装置１１に設定情報を読み出すためのコマンドを発行し、半導体記憶装置１１から設定情報を取得する。
【００２４】
取得した設定情報は、コントローラ１２Ａにより、表示デバイス１３にＧＵＩ表示される。
そして、ユーザがＧＵＩ表示画面上で設定情報を編集することにより第２不良ブロック代替領域３４の容量、ひいては、フラッシュメモリ２７の参照速度と、半導体記憶装置１１の装置寿命の優先度、すなわち、キャッシュメモリ２８における第２半導体メモリ領域３３の総ブロック数に対する第２不良ブロック代替領域３４の総ブロック数の割合を変更する。
なお、当該ブロックの書き替え回数をカウントする平滑化処理の例を述べたが、書換回数によらず、書き込みエラーが生じた場合のみ代替処理するという簡易的な処理であってもよい。
【００２５】
図４は、第２不良ブロック代替領域の容量設定画面の説明図である。
変更作業は、図４に示すような第２不良ブロック代替領域３４の容量設定画面５０において行う。
容量設定画面５０は、中央に記憶容量および装置寿命の優先度を変更するためのスライダバー５１を表示し、スライダバー５１の下方には、キャッシュメモリ２８における第２半導体メモリ領域３３の総ブロック数に対する第２不良ブロック代替領域３４の総ブロック数の割合を表示するための表示ボックス５２が設けられている。
スライダバー５１には、等間隔に目盛りがふられており、左側の目盛りは「速度最大化（キャッシュ容量大）」、中央の目盛りは「標準設定」、右側の目盛りは「寿命最大化（キャッシュ容量小）」をそれぞれ示している。つまり、各目盛りを目安にして、入力デバイス１４を用いてスライダバーを左右に操作し、キャッシュメモリ２８における第２半導体メモリ領域３３に対する第２不良ブロック代替領域３４の割合を変更する構成となっている。
【００２６】
スライダバー５１の操作により第２半導体メモリ領域３３に対する第２不良ブロック代替領域３４の割合が変更されると、スライダバー５１の変更値からコントローラ１２Ａがファームウェアに従って、第２半導体メモリ領域３３に対する第２不良ブロック代替領域３４の割合を表示ボックス５２に表示させ、ユーザは、表示ボックス５２に表示された値を視認しながら、スライダバー５１を微調整する。
【００２７】
また、表示ボックス５２の下方には、適用ボタン５３と、キャンセルボタン５４と、が設けられている。適用ボタン５３は、編集作業を確定し、半導体記憶装置１１に第２半導体メモリ領域３３に対する第２不良ブロック代替領域３４の割合の変更内容を反映させるものであり、適用ボタン５３を押すと設定値を半導体記憶装置１１に送信する。そして、半導体記憶装置１１において、取得した設定値に基づいて、ＣＰＵ２２がアドレス変換テーブル３５の識別データを書き換えることにより変更内容を反映する。
【００２８】
なお、設定画面は、ＧＵＩ画面に限らず、各領域の記憶容量を直接入力することで割合変更する構成としてもよい。
また、ＣＰＵ２２は、キャッシュメモリ２８の一部を第２不良ブロック代替領域３４とするに先だって、当該キャッシュメモリ２８にキャッシュし、記憶しているデータを対応する第１半導体メモリ領域３１あるいは第１不良ブロック代替領域３２に書き戻しを行い、データの不整合が生じないようにしている。
【００２９】
そして、通常使用時において書き込みエラーが発生した不良ブロックのアドレスは、そのアドレスが第１半導体メモリ領域３１、第１不良ブロック代替領域３２あるいは第２不良ブロック代替領域３４のいずれにおいて発生したとしても、アドレス変換テーブル３５に書き込み、以降の当該不良が発生したブロックへのアクセスを禁止する。これは、通常使用時ばかりでなく、工場出荷時に既に存在する不良ブロックの場合も同様である。
これらの結果、本実施形態によれば、書換速度が比較的低速であり、寿命が短いフラッシュメモリの欠点をＦｅＲＡＭで構成されたキャッシュメモリ２８によりカバーすることができる。さらにキャッシュメモリ２８における機能と、第２不良ブロック代替領域３４としての機能を記憶装置の意味づけに最適な状態、すなわち、アクセス速度の向上か、フラッシュメモリ２７の装置寿命の延命かを設定して、ユーザのシステムにとって最適な半導体記憶装置を提供することが可能となる。
【００３０】
以上の説明においては、第２半導体メモリ領域３３に対する第２不良ブロック代替領域３４の割合をユーザが設定する構成を採っていたが、第２不良ブロック代替領域３４の最小領域および最大領域を予めユーザが定めておき、コントローラ１２Ａが半導体記憶装置１１の使用状況に応じて、徐々に最小領域から最大領域に自動的に変更するように構成することも可能である。
また、以上の説明においては、フラッシュメモリ２７の寿命に対応する制御については詳細に触れなかったが、コントローラ１２Ａが装置余命を適宜のタイミングで装置余命を算出し、算出結果を１３に表示する構成としてもよい。また、第１不良ブロック代替領域３２あるいは第２不良ブロック代替領域３４の残容量を算出し、装置余命を報知して、ユーザに第２不良ブロック代替領域３４の容量変更を促すことができる。
また、視覚的に報知を行う構成に限らず、音声により報知する構成としてもよい。
【００３１】
また、半導体記憶装置１１を、ハードディスク互換の装置だけでなく、メモリカード、ＵＳＢメモリおよび基板に実装されているフラッシュメモリにより構成してもよい。
また、以上の説明では、予めＲＯＭに制御プログラムが格納されている場合について説明したが、プログラムを記録媒体（図示省略）に格納して提供したり、インターネットなどの通信ネットワークを介して提供するように構成したりすることも可能である。記録媒体としては、ＣＤ−ＲＯＭ、フラッシュＲＯＭ、メモリカード（コンパクトフラッシュ（登録商標）、スマートメディア、メモリースティック等）、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。
【図面の簡単な説明】
【００３２】
【図１】半導体記憶装置を有する情報処理装置の概要構成ブロック図である。
【図２】半導体記憶装置の概要構成ブロック図である。
【図３】データ書込処理の処理フローチャートである。
【図４】第２不良ブロック代替領域の容量設定画面の説明図である。
【符号の説明】
【００３３】
１０…情報処理装置、１１…半導体記憶装置、１２…ホスト装置、１２Ａ…コントローラ、１３…表示デバイス、１４…入力デバイス、１７…フラッシュメモリ、２１…ホストインターフェース、２２…ＣＰＵ、２４…ＲＡＭ、２５…ＲＯＭ、２６…設定情報管理メモリ、２７…フラッシュメモリ、２８…キャッシュメモリ、２９…内部バス、３１…第１半導体メモリ領域、３２…第１不良ブロック代替領域、３３…第２半導体メモリ領域、３４…第２不良ブロック代替領域、３５…アドレス変換テーブル、５０…容量設定画面、５１…スライダバー、５２…表示ボックス、５３…適用ボタン、５４…キャンセルボタン。
【図１】
2009122826.tif 000003
【図２】
2009122826.tif 000004
【図３】
2009122826.tif 000005
【図４】
2009122826.tif 000006