JP2008171103A - 半導体記憶装置管理システム、半導体記憶装置、半導体記憶装置管理システムの制御方法およびプログラム - Google Patents
半導体記憶装置管理システム、半導体記憶装置、半導体記憶装置管理システムの制御方法およびプログラム Download PDFInfo
- Publication number
- JP2008171103A JP2008171103A JP2007002044A JP2007002044A JP2008171103A JP 2008171103 A JP2008171103 A JP 2008171103A JP 2007002044 A JP2007002044 A JP 2007002044A JP 2007002044 A JP2007002044 A JP 2007002044A JP 2008171103 A JP2008171103 A JP 2008171103A
- Authority
- JP
- Japan
- Prior art keywords
- semiconductor memory
- area
- management system
- ratio
- memory device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 195
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000002950 deficient Effects 0.000 claims abstract description 72
- 230000008859 change Effects 0.000 claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000006467 substitution reaction Methods 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 32
- 238000006243 chemical reaction Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000013500 data storage Methods 0.000 description 7
- 230000007423 decrease Effects 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 206010010356 Congenital anomaly Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
- Non-Volatile Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
【課題】用途に応じて装置寿命と記憶容量との優先度を変更可能な半導体記憶装置管理システム、半導体記憶装置、半導体記憶装置管理システムの制御方法およびプログラムを提供すること。
【解決手段】データを記憶する半導体メモリ領域21と、当該半導体メモリ領域21内の不良ブロックを代替する不良ブロック代替領域22と、を有する半導体記憶装置2を管理する半導体記憶装置管理システム1であって、半導体メモリ領域21の総ブロック数と不良ブロック代替領域22の総ブロック数との割合を変更する割合変更手段と、割合変更手段による変更に基づいて、半導体メモリ領域21または不良ブロック代替領域22の内、消費されていない一部の未消費ブロックを他方の領域に割り当てる割当手段と、を備えた。
【選択図】図2
【解決手段】データを記憶する半導体メモリ領域21と、当該半導体メモリ領域21内の不良ブロックを代替する不良ブロック代替領域22と、を有する半導体記憶装置2を管理する半導体記憶装置管理システム1であって、半導体メモリ領域21の総ブロック数と不良ブロック代替領域22の総ブロック数との割合を変更する割合変更手段と、割合変更手段による変更に基づいて、半導体メモリ領域21または不良ブロック代替領域22の内、消費されていない一部の未消費ブロックを他方の領域に割り当てる割当手段と、を備えた。
【選択図】図2
Description
本発明は、装置寿命のある半導体記憶装置を管理する半導体記憶装置管理システム、半導体記憶装置、半導体記憶装置管理システムの制御方法およびプログラムに関するものである。
近年、NAND型フラッシュメモリを代表とする不揮発性メモリを記憶媒体とした半導体記憶装置(シリコンディスク)は、ハードディスク装置の代替として注目されている。その理由としては、ハードディスク装置と比較して、回転機構等の故障要素がないこと、振動等に対する耐衝撃性があることなどが挙げられる。しかしながら、この種の半導体記憶装置は、データの書換え回数に制限があり、通常数万回から数十万回程度で装置寿命となってしまうといった欠点がある。しかも、特定の領域(記憶素子)に書換えが集中すると、さらに寿命が短くなってしまう。このような問題を解消するため、不良ブロックを予め半導体記憶装置内に持たせた予備ブロックに代替することにより装置寿命を延ばす半導体記憶装置が発明されている。この半導体記憶装置は、データを記憶するデータメモリ領域と、当該データメモリ領域内のエラー領域を代替する代替メモリ領域と、データメモリのエラー情報を記憶するエラーメモリ領域と、これらの読み出しおよび書き込みを行うメモリコントローラと、を備えている。そして、メモリコントローラが、エラーメモリ領域のエラー情報を読み取り、データメモリ領域が正常なときはデータメモリ領域、異常なときは代替メモリ領域へ読み書きを行う。書き込み時においてエラーが発生した場合は、代替メモリ領域の空き領域を捜し、空き領域にデータを書き込むと共に、エラーのあったメモリ領域のエラー情報を更新することにより半導体記憶装置の延命を図る(特許文献1参照)。
特開平05−204561号公報
ところで、半導体記憶装置の用途として、記憶するデータ量に応じて、記憶容量よりも装置寿命を優先させたいという用途と、装置寿命よりも記憶容量を優先させたいという用途が考えられる。この場合、上記の半導体記憶装置では、書き込み時にエラーが発生した場合に、代替メモリ領域に書き込むことで、記憶容量よりも装置寿命を優先させたいという用途に対応することはできる。しかし、一般に半導体記憶装置のデータ記憶領域と代替記憶領域との記憶容量の割合は、製品によって個々に定められているため、記憶するデータ量が増加してデータ記憶領域の記憶容量が不足し、装置寿命よりも記憶容量を優先させたくなった場合に、対応させることが困難であるという問題があった。
そこで、用途に応じて装置寿命と記憶容量との優先度を変更可能な半導体記憶装置管理システム、半導体記憶装置、半導体記憶装置管理システムの制御方法およびプログラムを提供することをその課題としている。
本発明の半導体記憶装置管理システムは、データを記憶する半導体メモリ領域と、当該半導体メモリ領域内の不良ブロックを代替する不良ブロック代替領域と、を有する半導体記憶装置を管理する半導体記憶装置管理システムであって、半導体メモリ領域の総ブロック数と不良ブロック代替領域の総ブロック数との割合を変更する割合変更手段と、割合変更手段による変更に基づいて、半導体メモリ領域または不良ブロック代替領域の内、消費されていない一部の未消費ブロックを他方の領域に割り当てる割当手段と、を備えたことを特徴とする。
本発明の半導体記憶装置管理システムの制御方法は、データを記憶する半導体メモリ領域と、当該半導体メモリ領域内の不良ブロックを代替する不良ブロック代替領域と、を有する半導体記憶装置を管理する半導体記憶装置管理システムの制御方法であって、半導体メモリ領域の総ブロック数と不良ブロック代替領域の総ブロック数との割合を変更するステップと、変更された割合に基づいて、半導体メモリ領域または不良ブロック代替領域の内、消費されていない一部の未消費ブロックを他方の領域に割り当てるステップと、を実行することを特徴とする。
これらの構成によれば、半導体メモリ領域と不良ブロック代替領域との記憶容量の割合を変更することができるため、ユーザの用途に応じて記憶容量と装置寿命との優先度を変えることができる。例えば、半導体記憶装置に記憶させるデータ量が少ない場合には、半導体メモリ領域から一部のブロックを不良ブロック代替領域に割り当て、装置寿命を延ばすことができる。逆に、記憶させるデータ量が多い場合には、不良ブロック代替領域から一部のブロックを半導体メモリ領域に割り当て、データの記憶容量を増加することができる。また、消費ブロック(未消費ブロック以外のブロック)の割当領域が変更されることがないため、ユーザが消費ブロックにアクセスした場合に、アクセス不良となるのを確実に防止することができる。
これらの場合、割合変更手段は、入力操作により割合を変更することが、好ましい。
この構成によれば、ユーザの操作に基づいて割合を変更することができる。例えば、ユーザがGUI表示された管理ツールのスライダを操作することにより、割合を変更することや、入力された入力値に基づいて割合を変更することが想定できる。なお、半導体装置管理システムに表示部が無いなどのように、ユーザの操作に基づいて割合を変更することができないような場合には、ディップスイッチにより割合を変更する構成としてもよい。
これらの場合、定期的または所定のタイミングに、半導体メモリ領域の消費ブロック数を検出する消費ブロック数検出手段をさらに備え、割合変更手段は、検出された消費ブロック数に基づいて、割合を変更することが、好ましい。
この場合、基準ブロック数として、第1基準ブロック数と、第1基準ブロック数以上の第2基準ブロック数と、を記憶する基準ブロック数記憶手段をさらに備え、割合変更手段は、検出された消費ブロック数が、第1基準ブロック数より少ない場合、半導体メモリ領域の割合を多くし、消費ブロック数が、第2基準ブロック数以上の場合、不良ブロック代替領域の割合を多くすることが、好ましい。
これらの構成によれば、消費ブロック数に応じて、半導体装置管理システムが、ユーザの用途を把握し、割合を自動的に変更する。例えば、消費ブロック数が第1基準ブロック数より少ない場合には、半導体管理システムが記憶容量より装置寿命を優先していると分析して、半導体メモリ領域の一部のブロックを不良ブロック代替領域に割り当て、不良ブロック代替領域の割合を多くして装置寿命を延ばす。一方、第2基準ブロック数より消費ブロック数が多い場合には、半導体管理システムが装置寿命より記憶容量を優先していると分析して、不良ブロック代替領域の一部のブロックを半導体メモリ領域に割り当て、半導体記憶領域の割合を多くする。
これらの場合、半導体メモリ領域の書き換え回数をカウントするカウント手段をさらに備え、割合変更手段は、書き換え回数が所定の回数以上の場合、不良ブロック代替領域の割合を多くすることが、好ましい。
この構成によれば、書き換え回数に応じて、半導体装置管理システムが、割合を自動的に変更する。つまり、半導体メモリ領域への書き換え回数が所定の回数(例えば、10000回)を超えると、書き換え回数の増加により装置寿命が短くなると分析し、半導体メモリ領域の一部のブロックを不良ブロック代替領域に割り当て、不良ブロック代替領域の割合を多くして装置寿命を延ばす。なお、書き換えとは、消去済みブロックに新規データを書き込み、書換え前のデータが書き込まれていたブロックを消去するといった処理を行うことである。
これらの場合、割合および/または半導体記憶装置の装置寿命を算出する算出手段と、算出手段による算出結果を報知する報知手段と、をさらに備えたことが、好ましい。
この構成によれば、ユーザに半導体メモリ領域の残容量や、装置寿命を報知して、ユーザに割合変更を促すことができる。また、報知手段は、ディスプレイに表示するなど視覚的に報知を行う構成に限らず、音声により報知する構成としてもよい。
これらの場合、半導体記憶装置管理システムは、割当手段を有する半導体記憶装置と、半導体記憶装置にアクセスし、割合変更手段を有するホスト装置と、から成ることが、好ましい。
この構成によれば、半導体記憶装置は、割合変更などの複雑な制御を行うことなく、ホスト装置から取得した情報に基づいて半導体メモリ領域と不良ブロック代替領域との記憶容量の割合を変更することができる。これにより、半導体記憶装置の構成を簡易にすることができ、半導体記憶装置の小型化やコストダウンを実現することができる。
本発明の半導体記憶装置は、上記の半導体記憶装置管理システムに適用されることを特徴とする。
本発明のプログラムは、コンピュータに、上記の半導体記憶装置管理システムの制御方法における各ステップを実行させることを特徴とする。
これらの構成によれば、用途に応じて装置寿命と記憶容量との優先度を変更可能な半導体記憶装置およびプログラムを提供することができる。
以下、本発明の一実施形態に係る半導体記憶装置管理システム、半導体記憶装置、半導体記憶装置管理システムの制御方法およびプログラムについて説明する。本発明は、半導体記憶装置の装置寿命および記憶容量のいずれかを優先させたい場合に、ユーザの用途に適した設定に変更可能にしたものである。なお、設定変更する方法として、入力操作により設定変更する手動モードと、半導体記憶装置が自動的に設定変更する自動モードと、があるが、最初に手動モードによる設定変更について説明する。
図1は、半導体記憶装置管理システム1のシステム構成を示すブロック図である。半導体記憶装置管理システム1は、ハードディスク装置の代替として利用される半導体記憶装置2(例えば、シリコンディスク)と、半導体記憶装置2が装着されるホスト装置3(例えば、パーソナルコンピュータ)と、ホスト装置3の周辺機器である表示デバイス4および入力デバイス5と、により構成されている。
半導体記憶装置2は、ホストインターフェース11、CPU12(Central Processing Unit)、RAM13(Random Access Memory)、ROM14(Read Only Memory)、設定情報管理メモリ16(不揮発性メモリ)およびフラッシュメモリ17(Flash Memory)を備え、これらは内部バス15に接続されている。また、フラッシュメモリ17は、記憶媒体としてデータを記憶する半導体メモリ領域21および当該半導体メモリ領域21内の不良ブロックを代替する不良ブロック代替領域22を有している。
ホストインターフェース11は、ホスト装置3とのデータ転送を行うものであり、そのデータ転送速度を高速化するため、ホスト装置3からの読み出し/書き込みデータおよびコマンドをバッファリングするためのメモリ(バッファ、図示省略)を有している。なお、ホストインターフェース11は、用途にあわせて、IDE、SCSI、シリアルATA等のデータ転送規格を採用することができる。
設定情報管理メモリ16は、アドレス変換テーブル23を有している。アドレス変換テーブル23は、半導体記憶装置2内における実際の(物理的な)アクセス先となる物理ブロックアドレスと、ホスト装置3が半導体記憶装置2にアクセスするための論理ブロックアドレスと、各ブロックにおけるデータの書き換え回数をカウントしたカウント数と、各ブロックが半導体メモリ領域21および不良ブロック代替領域22のいずれかに属すことを示すための識別フラグと、各ブロックが不良ブロックであるか否かを示す情報と、を関連付けて記憶している。
また、フラッシュメモリ17は、データの上書きができないため、データの書換えを行う場合、書換え前のデータが書き込まれていたブロックを消去した後、新規データを書き込む処理を行う。
CPU12は、データの書換え毎に、アドレス変換テーブル23の内容にしたがって当該ブロックのデータを書換える。その際、CPU12は、ブロック(物理ブロックアドレス)毎に書換え回数をカウントし、それらがある設定数以上になると、カウント数の少ないブロックにデータを入れ替える。すなわち、半導体メモリ領域21の各ブロックへの書換え回数が平滑化するように、ブロックのデータを別ブロックに移動させ、該当するアドレス変換テーブル23を書き換える平滑化処理を行う。
そして、書換え回数の増加によって、半導体メモリ領域21に書き込みエラーが発生する場合があるが、そのようなエラーが生じた場合、CPU12は、該当する半導体メモリ領域21内の不良ブロックのアドレスを、不良ブロック代替領域22内の代替ブロックに割り当て、以降は不良ブロック代替領域22にアクセスするような処理を行う。このように、稼動時(通常使用時)において書き込みエラーが発生した不良ブロック(以降、「後天性不良ブロック」と称する)のアドレスは、アドレス変換テーブル23に書き込み、以降のアクセスを禁止する。また、工場出荷時に既に存在する不良ブロック(以降、「先天性不良ブロック」と称する)の場合も同様にアドレス変換テーブル23に書き込まれる。
さらに、CPU12は、ホスト装置3の命令(コマンド)により、半導体メモリ領域21および不良ブロック代替領域22のブロック数の割合を変更する(割合変更手段)。この場合、CPU12は、ROM14内の制御プログラムに従い、アドレス変換テーブル23の各ブロックの識別フラグを書き換えることで、割合を変更する。これにより、半導体メモリ領域21のブロック数を増加した場合には、データの記憶容量を増加させることができる。また、不良ブロック代替領域22は、ほぼ全領域を消費した時点でホスト装置3により装置寿命と判定されるため、不良ブロック代替領域22のブロック数を増加した場合には、装置寿命を延命させることができる。
ここで、図2を参照して、総ブロック数が「3000ブロック」のフラッシュメモリ17を、工場出荷時の「標準」設定から容量を優先した「容量最大化」設定または装置寿命を優先した「寿命最大化」設定、にそれぞれ設定変更する場合について説明する。標準設定では、半導体メモリ領域21の総ブロック数が「2475ブロック」、不良ブロック代替領域22の総ブロック数(総代替ブロック数)が「525ブロック」に設定されている。
そして「標準」設定から「寿命最大化」設定に変更する場合には、半導体メモリ領域21の総ブロック数のうち、アドレス変換テーブル23の未消費ブロックの475ブロックに相当する識別フラグを書き換える。これにより、半導体メモリ領域21の総ブロック数が「2000ブロック」、不良ブロック代替領域22の総ブロック数が「1000ブロック」となる。つまり、不良ブロック代替領域22の総ブロック数が増えたことにより、「寿命最大化」の設定になる。
一方、「標準」設定から「容量最大化」設定に変更する場合には、不良ブロック代替領域22の総ブロック数のうち、アドレス変換テーブル23の未消費ブロックの425ブロックに相当する識別フラグを書き換える。これにより、半導体メモリ領域21の総ブロック数が「2950ブロック」、不良ブロック代替領域22の総ブロック数が「50ブロック」となる。つまり、半導体メモリ領域21の総ブロック数が増えたことにより、フラッシュメモリ17の総記憶容量の増加するため「容量最大化」の設定になる。なお、割り当て対象が未消費ブロックに限られるため、消費ブロックの割当領域が変更されることがなく、ユーザが消費ブロックにアクセスした場合に、アクセス不良となるのを確実に防止することができる。
なお、「標準」、「寿命最大化」または「容量最大化」の3段階ではなく、さらに多数段階に設定可能である(詳細は後述する)。
なお、「標準」、「寿命最大化」または「容量最大化」の3段階ではなく、さらに多数段階に設定可能である(詳細は後述する)。
その他、CPU12は、本実施形態の半導体記憶装置2が、ハードディスクの代替として用いられることから、ハードディスク用のコマンドを解析してフラッシュメモリ17に割り当てるなどの処理を行う。
RAM13は、CPU12の処理時におけるワークエリアとして用いられ、各種コマンドやフラグ等を記憶する。例えば、CPU12がRAM13上にアドレス変換テーブル23を読出し、各ブロックの識別フラグを書き換える際に用いられる。
ROM14は、ファームウェア(図示省略)を有している。このファームウェアには、CPU12が上記の各処理を実現するための制御プログラムの他、通常処理(ホスト装置3とのリード/ライトや、ホスト装置3からのコマンド送信に対するステータスの返信、電源投入時初期化、電源遮断時の退避処理など)を行うための制御プログラムが記憶されている。
続いて、ホスト装置3の構成を説明する。ホスト装置3は、ホストインターフェース31、CPU32、RAM33、ROM34、および入出力インタフェース38を備え、これらは内部バス35に接続されている。ROM34には、半導体記憶装置2を管理するための管理プログラム25および半導体記憶装置2の製品ID(図示省略)を記憶している。
管理プログラム25は、CPU32が半導体記憶装置2との通常処理を行うための制御プログラムを記憶している。また、半導体記憶装置2の装置寿命およびデータの記憶容量や、これらに関する設定ツール41(図3参照)も管理プログラム25に含まれる。
管理プログラム25が起動すると、ホスト装置3が、装着された半導体記憶装置2が接続されているかを確認する。具体的には、CPU32が管理プログラム25に従い、半導体記憶装置2に製品IDの問い合わせ、半導体記憶装置2の応答情報がホスト装置3のROM34に予め記憶した製品IDと比較して、一致している場合に半導体記憶装置2が接続されたと認識する。CPU32は、半導体記憶装置2が接続されたことを確認すると、半導体記憶装置2に設定情報を読み出すためのコマンドを発行し、半導体記憶装置2から設定情報を取得する。
取得した設定情報は、GUI表示された設定ツール41に表示される。そして、ユーザが設定ツール41を用いて、設定情報を編集することにより半導体記憶装置2の記憶容量および装置寿命の優先度(半導体メモリ領域21の総ブロック数および不良ブロック代替領域22の総ブロック数の割合)を変更する(割合変更手段)。変更作業は、図3(a)に示すような編集画面42において行う。編集画面42は、中央に記憶容量および装置寿命の優先度を変更するためのスライダバー43を表示し、スライダバー43の下方には、変更された記憶容量および装置寿命を表示するための表示ボックス44が設けられている。スライダバー43には、等間隔に目盛りがふられており、左側の目盛りは「容量最大化」、中央の目盛りは「標準設定」、右側の目盛りは「寿命最大化」をそれぞれ示している。つまり、各目盛りを目安にして、入力デバイス5を用いてスライダバーを左右に操作し、半導体メモリ領域21と不良ブロック代替領域22との割合を変更する構成となっている。また、「容量最大化」、「標準設定」、「寿命最大化」の各目盛りに対応して、変更の目安となる記憶容量および装置寿命がそれぞれ表示されている。これらの値は、半導体記憶装置2から取得した設定情報に基づいて、CPU32が管理プログラム25に従って算出したものである。
スライダバー43の操作により半導体メモリ領域21と不良ブロック代替領域22との割合が変更されると、スライダバー43の変更値からCPU32が管理プログラム25に従って、記憶容量および装置寿命を算出し、表示ボックス44に表示させる。つまり、ユーザは、表示ボックス44に表示された値を視認しながら、スライダバー43を微調整する構成となっている。
また、表示ボックス44の下方には、適用ボタン45と、キャンセルボタン46と、が設けられている。適用ボタン45は、編集作業を確定し、半導体記憶装置2に割合の変更内容を反映させるものであり、適用ボタン45を押すと設定値を半導体記憶装置2に送信する。そして、半導体記憶装置2において、取得した設定値に基づいて、CPU12がアドレス変換テーブル23の識別フラグを書き換えることにより変更内容を反映する。
なお、図3(b)に示すように各領域の記憶容量を直接入力することで割合変更する構成としてもよい。この場合、左側の記憶容量用の入力ボックス47に任意の記憶容量を入力することにより、右側の装置寿命用の表示ボックス48に対応する装置寿命が表示される構成となっている。また、ホスト装置3に表示デバイス4が無い場合には、半導体記憶装置2にディップスイッチ(図示省略)を設け、ディップスイッチを操作することにより割合変更する構成としてもよい。
なお、CPU32が設定情報を取得した時(管理プログラム25起動時)に、設定情報から半導体記憶装置2のデータ記憶容量および装置寿命を算出し(算出手段)、算出結果を表示デバイス4に表示する構成としてもよい(報知手段)。これにより、ユーザに半導体メモリ領域21の残容量や、装置寿命を報知して、ユーザに割合変更を促すことができる。また、上記のように視覚的に報知を行う構成に限らず、音声により報知する構成としてもよい。
次に、手動モードにおける半導体記憶装置管理システム1の割合変更処理について、図4のフローチャートを参照して説明する。
半導体記憶装置2を、ホスト装置3に装着し、ホスト装置3の管理プログラム25を起動すると(S01)、ホスト装置3は、半導体記憶装置2に対して製品IDの問い合わせを行う(S02)。ホスト装置3は、取得した製品IDがROM14内に予め記憶している製品IDと一致するか否かを判定し(S03)、一致しないと判定すると(S03:No)、接続不良またはサポート外の製品と認定し、通信を停止する(S04)。一方、製品IDが一致すると判定すると(S03:Yes)、ホスト装置3は、半導体記憶装置2から設定情報を取得する(S05)。
ホスト装置3は、取得した設定情報を設定ツール41に表示し、ユーザが設定ツール41を操作することにより、設定情報の編集作業を実施する(S06)。編集作業が、終了すると、ホスト装置3は編集作業により変更された設定値を半導体記憶装置2に送信する(S07)。半導体記憶装置2は、受信した設定値に基づいて、アドレス変換テーブル23の識別フラグを書き換え、半導体メモリ領域21と不良ブロック代替領域22との割合を変更する(S08)。
次に、自動モードによる設定変更について説明する。自動モードは、半導体記憶装置2が、半導体メモリ領域21と不良ブロック代替領域22と割合を自動的に変更する構成である。この場合、予めユーザが基準ブロック数として、第1基準ブロック数N1、第1基準ブロック数N1以上の第2基準ブロック数N2を設定し、半導体記憶装置2のROM14内に記憶しておく。そして、半導体記憶装置2が半導体記憶装置2から定期的または所定のタイミングで、半導体メモリ領域21のデータが書き込まれた消費ブロック数を検出し(消費ブロック数検出手段)、検出した消費ブロック数が第1基準ブロック数N1以下の場合に、半導体メモリ領域21の割合を多くする。つまり、記憶しているデータ量が少ないため、記憶容量よりも装置寿命を優先しているとCPU12が分析し、半導体メモリ領域21の一部の未消費ブロックを不良ブロック代替領域22に割り当て、装置寿命を優先させる。一方、検出した消費ブロック数が第2基準ブロック数N2より多い場合に、不良ブロック代替領域22の割合を多くする。つまり、記憶しているデータ量が多いため、装置寿命よりも記憶容量を優先しているとCPU12が分析し、不良ブロック代替領域22の一部の未消費ブロックを半導体メモリ領域21に割り当て、記憶容量を優先させる。
次に、自動モードにおける半導体記憶装置管理システム1の割合変更処理について、図5のフローチャートを参照して説明する。ここでは、一例として第1基準ブロック数N1を「150ブロック」、第2基準ブロック数N2を「2000ブロック」、消費ブロックの検出のタイミングを30日単位、として説明する。
一定期間(30日)が経過すると(S11)、半導体記憶装置2は、半導体メモリ領域21から消費ブロック数を検出する(S12)。そして、検出した消費ブロック数が第1基準ブロック数N1である150ブロックより多いか否かを判定し(S13)、150ブロック以下の場合は(S13:No)、半導体メモリ領域21の75ブロックを不良ブロック代替領域22に割り当てる(S14)。150ブロックより多い場合は(S13:Yes)、検出した消費ブロック数が第2基準ブロック数N2である2000ブロックより多いか否かを判定する(S15)。2000ブロック以下の場合は(S15:No)、割合変更処理を停止する。2000ブロックより多い場合は(S15:Yes)、不良ブロック代替領域22の未消費ブロック数が200ブロックより多いか否かを判定する(S16)。未消費ブロック数が200ブロック以下の場合は(S16:No)、割合変更処理を停止する。代替ブロック数が200ブロックより多い場合は(S16:Yes)、不良ブロック代替領域22の75ブロックを半導体メモリ領域21に割り当てる(S17)。
なお、基準ブロック数を設ける構成に代えて、消費ブロック数の増減の割合に応じて、半導体メモリ領域21と不良ブロック代替領域22との割合を増減させる構成としてもよい。この場合、一定期間毎に消費ブロック数を検出し、例えば、短期間で急激に消費ブロック数が増減した場合には、それに合わせて半導体メモリ領域21と不良ブロック代替領域22との割合の変化量も大きくし、ブロック数が緩やかに増減している場合には、半導体メモリ領域21と不良ブロック代替領域22との割合の変化量も小さくする。
また、書き換え回数の増加に基づいて半導体メモリ領域21と不良ブロック代替領域22との割合を変更する構成としてもよい。この場合、基準の書き換え回数を半導体記憶装置2のROM14内に記憶しておく。そして、半導体メモリ領域21への書き換え回数をカウントし(カウント手段)、書き換え回数が基準の書き換え回数以上の場合に、不良ブロック代替領域22の割合を自動的に多くする。つまり、書き換え回数が基準の書き換え回数を超えると、書き換え回数の増加により半導体記憶装置2の装置寿命が短くなるとCPU12が分析し、半導体メモリ領域21の一部の未消費ブロックを不良ブロック代替領域22に割り当て、装置寿命を優先させる。
上記した手動モードと自動モードとのモード切替処理は、半導体記憶装置2の制御プログラムにより提供される設定ツールで切替える構成としてもよいし、ディップスイッチ、ジャンパピンの端子の状態等で物理的に切替える構成としてもよい。
以上、本実施形態に係る半導体記憶装置管理システム1では、半導体メモリ領域21と不良ブロック代替領域22との記憶容量の割合を変更することができるため、ユーザの用途に応じて記憶容量と装置寿命との優先度を変えることができる。例えば、半導体記憶装置2に記憶させるデータ量が少ない場合には、半導体メモリ領域21から一部のブロックを不良ブロック代替領域22に割り当て、装置寿命を延ばすことができる。逆に、記憶させるデータ量が多い場合には、不良ブロック代替領域22から一部のブロックを半導体メモリ領域21に割り当て、データの記憶容量を増加することができる。
なお、半導体記憶装置2を、ハードディスク互換の装置だけでなく、メモリカード、USBメモリおよび基板に実装されているフラッシュメモリ17により構成してもよい。なお、本実施形態ではフラッシュメモリ17などの不揮発性メモリを例にあげたが、揮発性メモリでもよい。
なお、本実施形態では、ホスト装置3の設定ツール41を操作することにより、手動モードの割合変更処理を行う構成としたが、半導体記憶装置2内に設定ツール41を記憶する構成としてもよい。これにより、ホスト装置3に半導体記憶装置2を取り付けるだけで済むため、初期導入が容易となる。
また、上記の例に示した、半導体記憶装置管理システム1の各部(各機能)をプログラムとして提供することも可能である。また、そのプログラムを記録媒体(図示省略)に格納して提供することも可能である。記録媒体としては、CD−ROM、フラッシュROM、メモリカード(コンパクトフラッシュ(登録商標)、スマートメディア、メモリースティック等)、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。
また、上記に示した実施例によらず、半導体記憶装置管理システム1の装置構成や処理工程等について、本発明の要旨を逸脱しない範囲で、適宜変更も可能である。
1…半導体記憶装置管理システム 2…半導体記憶装置 3…ホスト装置 21…半導体メモリ領域 22…不良ブロック代替領域 N1…第1基準ブロック数 N2…第2基準ブロック数
Claims (10)
- データを記憶する半導体メモリ領域と、当該半導体メモリ領域内の不良ブロックを代替する不良ブロック代替領域と、を有する半導体記憶装置を管理する半導体記憶装置管理システムであって、
前記半導体メモリ領域の総ブロック数と前記不良ブロック代替領域の総ブロック数との割合を変更する割合変更手段と、
前記割合変更手段による変更に基づいて、前記半導体メモリ領域または前記不良ブロック代替領域の内、消費されていない一部の未消費ブロックを他方の領域に割り当てる割当手段と、を備えたことを特徴とする半導体記憶装置管理システム。 - 前記割合変更手段は、
入力操作により前記割合を変更することを特徴とする請求項1に記載の半導体記憶装置管理システム。 - 定期的または所定のタイミングに、前記半導体メモリ領域の消費ブロック数を検出する消費ブロック数検出手段をさらに備え、
前記割合変更手段は、
検出された前記消費ブロック数に基づいて、前記割合を変更することを特徴とする請求項1または2に記載の半導体記憶装置管理システム。 - 基準ブロック数として、第1基準ブロック数と、前記第1基準ブロック数以上の第2基準ブロック数と、を記憶する基準ブロック数記憶手段をさらに備え、
前記割合変更手段は、
検出された前記消費ブロック数が、前記第1基準ブロック数より少ない場合、前記半導体メモリ領域の割合を多くし、前記消費ブロック数が、前記第2基準ブロック数以上の場合、前記不良ブロック代替領域の割合を多くすることを特徴とする請求項3に記載の半導体記憶装置管理システム。 - 前記半導体メモリ領域の書き換え回数をカウントするカウント手段をさらに備え、
前記割合変更手段は、
前記書き換え回数が所定の回数以上の場合、前記不良ブロック代替領域の割合を多くすることを特徴とする請求項1ないし4のいずれか1項に記載の半導体記憶装置管理システム。 - 前記割合および/または前記半導体記憶装置の装置寿命を算出する算出手段と、
前記算出手段による算出結果を報知する報知手段と、をさらに備えたことを特徴とする請求項1ないし5のいずれか1項に記載の半導体記憶装置管理システム。 - 前記半導体記憶装置管理システムは、
前記割当手段を有する前記半導体記憶装置と、
前記半導体記憶装置にアクセスし、前記割合変更手段を有するホスト装置と、から成ることを特徴とする請求項1ないし6のいずれか1項に記載の半導体記憶装置管理システム。 - 請求項1ないし7のいずれか1項に記載の半導体記憶装置管理システムに適用される半導体記憶装置。
- データを記憶する半導体メモリ領域と、当該半導体メモリ領域内の不良ブロックを代替する不良ブロック代替領域と、を有する半導体記憶装置を管理する半導体記憶装置管理システムの制御方法であって、
前記半導体メモリ領域の総ブロック数と前記不良ブロック代替領域の総ブロック数との割合を変更するステップと、
変更された前記割合に基づいて、前記半導体メモリ領域または前記不良ブロック代替領域の内、消費されていない一部の未消費ブロックを他方の領域に割り当てるステップと、を実行することを特徴とする半導体記憶装置管理システムの制御方法。 - コンピュータに、請求項9に記載の半導体記憶装置管理システムの制御方法における各ステップを実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007002044A JP2008171103A (ja) | 2007-01-10 | 2007-01-10 | 半導体記憶装置管理システム、半導体記憶装置、半導体記憶装置管理システムの制御方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007002044A JP2008171103A (ja) | 2007-01-10 | 2007-01-10 | 半導体記憶装置管理システム、半導体記憶装置、半導体記憶装置管理システムの制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008171103A true JP2008171103A (ja) | 2008-07-24 |
Family
ID=39699150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007002044A Withdrawn JP2008171103A (ja) | 2007-01-10 | 2007-01-10 | 半導体記憶装置管理システム、半導体記憶装置、半導体記憶装置管理システムの制御方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008171103A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009301525A (ja) * | 2008-05-14 | 2009-12-24 | Hitachi Ltd | フラッシュメモリを用いたストレージ装置 |
US8412909B2 (en) | 2009-04-08 | 2013-04-02 | Samsung Electronics Co., Ltd. | Defining and changing spare space and user space in a storage apparatus |
WO2014020749A1 (ja) * | 2012-08-02 | 2014-02-06 | 富士通株式会社 | データ処理装置、プロセッサ、及び動作履歴記録方法 |
US8904088B2 (en) | 2008-09-30 | 2014-12-02 | Samsung Electronics Co., Ltd. | Method of managing a solid state drive, associated systems and implementations |
US9715444B2 (en) | 2012-06-01 | 2017-07-25 | Samsung Electronics Co., Ltd. | Storage device having nonvolatile memory device and write method |
JP2018516410A (ja) * | 2015-12-17 | 2018-06-21 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | ストレージデバイスを管理するための方法および装置 |
US10089031B2 (en) | 2015-04-13 | 2018-10-02 | Samsung Electronics Co., Ltd. | Data storage and operating method thereof |
-
2007
- 2007-01-10 JP JP2007002044A patent/JP2008171103A/ja not_active Withdrawn
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009301525A (ja) * | 2008-05-14 | 2009-12-24 | Hitachi Ltd | フラッシュメモリを用いたストレージ装置 |
US8429372B2 (en) | 2008-05-14 | 2013-04-23 | Hitachi, Ltd. | Allocating substitute area capacity in a storage system using flash memory packages |
US8806170B2 (en) | 2008-05-14 | 2014-08-12 | Hitachi Ltd. | Accessing a hard disk drive and a flash memory with different formats in a storage system |
US8904088B2 (en) | 2008-09-30 | 2014-12-02 | Samsung Electronics Co., Ltd. | Method of managing a solid state drive, associated systems and implementations |
US9542199B2 (en) | 2008-09-30 | 2017-01-10 | Samsung Electronics Co., Ltd. | Method of managing a solid state drive, associated systems and implementations |
US8412909B2 (en) | 2009-04-08 | 2013-04-02 | Samsung Electronics Co., Ltd. | Defining and changing spare space and user space in a storage apparatus |
US9715444B2 (en) | 2012-06-01 | 2017-07-25 | Samsung Electronics Co., Ltd. | Storage device having nonvolatile memory device and write method |
WO2014020749A1 (ja) * | 2012-08-02 | 2014-02-06 | 富士通株式会社 | データ処理装置、プロセッサ、及び動作履歴記録方法 |
US10089031B2 (en) | 2015-04-13 | 2018-10-02 | Samsung Electronics Co., Ltd. | Data storage and operating method thereof |
JP2018516410A (ja) * | 2015-12-17 | 2018-06-21 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | ストレージデバイスを管理するための方法および装置 |
US10198180B2 (en) | 2015-12-17 | 2019-02-05 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for managing storage device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7979636B2 (en) | Method of controlling semiconductor memory card system | |
US7962807B2 (en) | Semiconductor storage apparatus managing system, semiconductor storage apparatus, host apparatus, program and method of managing semiconductor storage apparatus | |
US7246268B2 (en) | Method and apparatus for dynamic degradation detection | |
US9940021B2 (en) | Method and system for memory management and memory storage device thereof | |
US10198318B2 (en) | Storage apparatus having nonvolatile memory device, and nonvolatile memory device | |
US9933975B1 (en) | Data transmission method, memory storage device and memory control circuit unit | |
JP2008171103A (ja) | 半導体記憶装置管理システム、半導体記憶装置、半導体記憶装置管理システムの制御方法およびプログラム | |
US20140068158A1 (en) | Flash storage device and control method for flash memory | |
TWI436369B (zh) | 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統 | |
JP2006302255A (ja) | 異種の非揮発性メモリを持つデータ記憶装置とその駆動方法 | |
US10620874B2 (en) | Memory management method, memory control circuit unit and memory storage apparatus | |
US8667348B2 (en) | Data writing method for non-volatile memory module and memory controller and memory storage apparatus using the same | |
JP2016162397A (ja) | ストレージ制御装置、制御システム及び制御プログラム | |
TWI358021B (en) | Method for managing defect blocks in non-volatile | |
US20150278088A1 (en) | Memory control apparatus, information processing apparatus and control method thereof, and storage medium | |
US10310770B2 (en) | Nonvolatile memory device, and storage apparatus having nonvolatile memory device | |
JP4829370B1 (ja) | メモリ制御装置、メモリ装置および停止制御方法 | |
JP2009122826A (ja) | 半導体記憶装置、半導体記憶装置の制御方法および制御プログラム | |
JP2008305061A (ja) | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム | |
US20070168604A1 (en) | Information recording apparatus and method for controlling the same | |
JP2009032305A (ja) | 情報記録装置及びその制御方法 | |
US20120198186A1 (en) | Memory device and memory system | |
US20170160961A1 (en) | Memory management method, memory control circuit unit, and memory storage apparatus | |
US20110087828A1 (en) | Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof | |
US9058113B2 (en) | Storage region providing device, storage region providing method, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100406 |