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