JP3609739B2 - 半導体記憶装置 - Google Patents
半導体記憶装置 Download PDFInfo
- Publication number
- JP3609739B2 JP3609739B2 JP2001088605A JP2001088605A JP3609739B2 JP 3609739 B2 JP3609739 B2 JP 3609739B2 JP 2001088605 A JP2001088605 A JP 2001088605A JP 2001088605 A JP2001088605 A JP 2001088605A JP 3609739 B2 JP3609739 B2 JP 3609739B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- block
- error
- memory area
- data
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
【産業上の利用分野】
フラッシュメモリを記憶媒体とした半導体ディスクに係り、特に、長寿命化を図る方法に関する。
【0002】
【従来の技術】
従来、半導体ディスクの媒体として、DRAM、SRAMが用いられている。DRAMまたはSRAMを用いた半導体ディスクは磁気ディスクに比べて高速であり、また小型化が容易である。しかしながら、DRAM、SRAMとも揮発メモリでありバッテリーバックアップが必要であること、DRAMはメモリリフレッシュが必要なため制御が複雑になること、またSRAMは低消費電力であるが高価であることから一般には普及していない。しかしながらフラッシュメモリを半導体ディスクの記憶媒体に使用した場合、不揮発メモリなのでバッテリーバックアップが不要であること、また構造が簡単なのでチップ面積がDRAMよりも小さくできるので大量生産に向き安価にできることから半導体ディスクの記憶媒体として期待されている。
【0003】
【発明が解決しようとする課題】
フラッシュメモリはデータの読み出しはDRAMやSRAMと同様にバイトやワード単位のように小さいデータ単位で読み出し可能であるが、書き込みは書換え回数に制限があるため、書換え単位を512バイトのようなブロック単位とし書換え回数の削減を行なっている。
【0004】
また、構造上書換えの前にデータの消去が必要である。そのためフラッシュメモリには消去などのコマンド処理機能を設けているものもある。
【0005】
しかし、フラッシュメモリを半導体ディスクの記憶媒体に用いる場合に最も問題となるのは書換え回数の制限である。例えば、ディレクトリーやFAT領域のような領域は他の領域に比べて書換え回数が多いので、ディレクトリーやFAT領域に使用されるフラッシュメモリの特定のブロックのみフラッシュメモリの書換え回数の制限を越える可能性が高い。従って、特定のブロックのみ異常となっただけで、半導体ディスク全てが使用できなくなり、信頼性が低い。
【0006】
本発明の目的はフラッシュメモリを記憶媒体とした半導体ディスクにおいて、半導体ディスクの寿命をのばすことにある。
【0007】
【課題を解決するための手段】
上記目的を達成するために、フラッシュメモリを記憶媒体とした半導体ディスクにおいて、上記フラッシュメモリは、データを記憶するデータメモリ領域と、上記データメモリのエラーとなった領域を代替する代替メモリ領域と、上記データメモリのうちエラーとなったデータメモリの代替メモリのアドレスをエラー情報として有するエラーメモリ領域とを有し、上記データメモリ領域と代替メモリ領域とエラーメモリ領域への読み出し及び書き込みを行なうメモリコントローラを有することとしたものである。
【0008】
【作用】
フラッシュメモリを記憶媒体とした半導体ディスクにおいて、メモリコントローラはエラーメモリ領域のエラー情報を読み取る。次に、エラー情報により、データメモリ領域が正常なときはデータメモリ領域、異常なときは代替メモリ領域へ読みだしまたは書き込みを行う。書き込み時において、エラーが発生した場合は、代替メモリ領域の空き領域を捜し、空き領域へデータを書き込むと共に、エラーの合ったメモリ領域のエラー情報を更新する。
【0009】
【実施例】
図1に本発明の一実施例の構成図を示す。図1において1は半導体ディスクでホストシステム2のホストバス3に接続する。半導体ディスク1はマイコン4、メモリコントローラ5、バッファメモリ6、エラーメモリ7、データメモリ8からなる。バッファメモリ6はデータメモリ8とエラーメモリ7に書き込むデータ、または読み出したデータを一時記憶しておくメモリで読み書きが容易なSRAMを用いる。データメモリ8は2Mバイトのフラッシュメモリを16個持ちいる。従って、半導体ディスクの記憶容量は32Mバイトである。エラーメモリ7は512kバイトのフラッシュメモリを用い、データメモリ8のエラー情報とエラーの発生したデータメモリ8のブロックのデータを記憶する。データメモリ8とエラーメモリ7はどちらも512バイト単位のブロックで書き込みを行なうものとする。マイコン4はホストバス3からの命令を受け取り、この命令に従ってメモリコントローラ5を制御する。メモリコントローラ5はバッファメモリ6、エラーメモリ7、データメモリ8の読み出し、書き込みをアドレス9、データ10、制御信号11を用いて制御する。また、エラーメモリ7とデータメモリ8は消去も必要なのでこれも制御する。
【0010】
図2にエラーメモリ7のメモリマップの例を示す。領域はエラー情報領域71、使用情報領域72、代替メモリ領域73の3つの領域からなる。これらの領域は書き込みのブロック境界に合わせて分ける必要がある。エラー情報領域71はデータメモリ8の各ブロックに対応するエラー情報を記憶する領域で、エラー情報はブロックにエラーがない場合はFFFFhで表し、エラーの場合は代替する代替メモリのブロック番号を表す。使用情報領域72は代替メモリ領域73の各代替ブロックに対応する使用情報を記憶する領域である。使用情報は各代替ブロックに対し、1ビット割り当てる。代替ブロックを代替として使用している場合は1、使用していない場合は0で表す。この領域の0のビットを捜すことにより代替メモリ領域73の空きブロックを見つけることができる。代替メモリ領域73はデータメモリ8のエラーとなったブロックを代替する領域で、データメモリ8と同様な512バイトのブロックで構成し、それぞれのブロックに対し20000h番地から順番に代替ブロックの番号をつけるものとする。
【0011】
次に本例の半導体ディスク1の動作について説明する。最初にホストバス3からファイルデータの読み出し命令を受けたとする。この場合、まずマイコン4はこの命令を処理するが命令の与えられ方によって制御内容も異なってくる。例えば、読み出しを行なうファイルデータのアロケーション情報を磁気ディスクなどと同様にセクタ番号やトラック番号で与えられた場合にはこれをデータメモリ8の物理アドレスに変換する必要がある。本例では簡単化のため、ホストバス3からのアロケーション情報はデータメモリ8のブロック番号とする。ブロック番号は物理アドレスの上位ビットに相当する。マイコン4の読み出し時の処理手順を図3に示す。まず100においてホストバス3から与えられたブロック番号のエラー情報をエラーメモリ7のエラー情報領域71から読みとる。例えばブロック1を読み出す場合はエラーメモリ7の00002h番地、ブロック2は00004h番地のエラー情報を読みとる。次に101において読みとったエラー情報からブロックが正常かどうかチェックする。ブロック1の読み出しの場合、エラー情報はFFFFhなのでブロック1は正常であり、ブロック2の場合エラー情報は0000hなので異常であることがわかる。ブロック1のように正常な場合は102においてデータメモリ8のブロック1から512バイトのデータを読みとり、ホストバス3へ転送する。ブロック2のように異常なブロックの場合は103においてエラー情報の0000hが表す代替メモリ領域73の代替ブロック0から512バイトのデータを読みとり、ホストバス3へ転送する。ここでエラーメモリ7とデータメモリ8の読み出し及びホストバス3へのデータ転送はメモリコントローラ5がマイコンの制御を受けて行なう。このようにファイルデータを読みとる動作は、目的のブロックを読み出す前にエラー情報を読みとり、目的のブロックが正常かどうかチェックする。正常な場合はデータメモリ8のブロック、異常な場合は代替メモリ領域73の代替ブロックを読みとる。
【0012】
次にホストバス3からファイルデータの書き込み命令を受けた場合について説明する。図4に書き込み時のマイコン4の処理手順を示す。まず、マイコン4は200においてホストバス3から与えられるファイルデータをバッファメモリ6へ転送する。これはフラッシュメモリへの書き込みが読み出しに比べ時間がかかるため、ホストシステム2の待ち時間を軽減させるために行なう。次に201において書き込みを行なうブロック番号のエラー情報をエラーメモリ7のエラー情報領域71から読みとる。読み出し時と同様に202においてエラー情報をチェックする。例えば、ブロック1のエラー情報はFFFFhなので正常のブロックであり、ブロック2のエラー情報は0000hなので異常なブロックである。ブロック1へファイルデータを書き込む場合は正常なブロックへの書き込みなので203においてデータメモリ8のブロック1のデータを消去し、204においてバッファメモリ6に記憶してあるファイルデータをデータメモリ8のブロック1へ書き込む。ブロック2への書き込みの場合はデータメモリ8のブロック2が異常なので205においてエラー情報の値0000hが表す代替メモリ領域73の代替ブロック0のデータを消去し、206においてバッファメモリ6のファイルデータを代替ブロック0へ書き込む。次に207においてデータメモリ8またはエラーメモリ7への書き込みが正常に行なわれたかどうかチェックする。フラッシュメモリにおいて書き込みのエラーが発生するのは特定のブロックにのみ書き込みが頻発し、フラッシュメモリの書換え回数の制限を越えた場合である。207のチェックにおいて正常な書き込みが行なわれていた場合はホストバス3からのファイルデータ書き込み命令の処理は終了する。一方、このチェックにおいて書き込みが正常にできなかった場合は208の手順によりエラー情報の更新、代替ブロックの割付けを行なう。
【0013】
図5にエラー処理の手順を示す。まず、209においてエラーメモリ7の使用情報領域72の使用情報を読みとり、210において使用情報から未使用の代替ブロックを捜す。図2では第0から3ビットが1で使用中であり、第4ビットすなわち代替ブロック4が未使用であることがわかる。従って、書き込みエラーの発生したブロックの代替は代替ブロック4で行なう。よって、211において代替ブロック4のデータを消去し、212においてバッファメモリ6のファイルデータを代替ブロック4に書き込む。次に213においてエラー情報領域71のうち書き込みエラーの発生したブロックのエラー情報を記憶してあるブロックをバッファメモリ6に転送する。そして、214においてバッファメモリ6に記憶したエラー情報を新しいエラー情報に書き換える。例えばブロック1の書き込みエラーの場合は00002h番地のFFFFhを代替ブロック4のブロック番号0004hに書き換える。そして、215においてエラー情報領域71の書換えが必要なブロックのデータを消去し、216においてバッファメモリ6のデータを元のエラー情報領域71のブロックへ書き込む。また、同様に217において使用情報領域72のブロックをバッファメモリ6に転送し、218において今回新たに代替として用いる代替ブロックのビットを1に書き換える。そして219において使用情報領域72のブロックのデータを消去した後、220においてバッファメモリ6のデータを使用情報領域72のブロックへ書き込む。以上のエラー処理手順でエラーブロックの代替ブロックへの置き換えと、エラー情報の更新を行なう。
【0014】
また、本例では207において書き込みのチェックのみ行なったが203及び205の消去の次の処理において消去が正常に行なわれたかどうかのチェックを加えてもよい。この場合も208のエラー処理を行なう。
【0015】
本例ではエラーメモリ7に代替メモリ領域73とエラー情報領域71を設けたが個別のメモリチップとしてもよい。またこれとは逆にデータメモリ8の中にエラー情報領域と代替メモリ領域を設けてもよい。この場合の構成図を図6に示す。図6では図1と異なりエラーメモリ7が不要となるのでチップ数の削減が行える。
【0016】
図6の実施例のデータメモリ8のメモリマップの例を図7に示す。図7に示すようにデータメモリ8を初期化情報領域81、エラー情報領域82、代替メモリ領域83、データ領域84の4つの領域に分ける。代替メモリ領域83はデータ領域84のエラーとなったブロックを代替する領域で、エラー情報領域82はデータ領域84の各ブロックのアドレス情報、あるいはデータ領域82のブロックがエラーの場合は代替ブロックのアドレス情報を記憶する。ここでアドレス情報はデータメモリ8の物理アドレスの上位ビットまたは物理ブロック番号を表す。初期化情報領域81は代替メモリ領域83、及びエラー情報領域82、データ領域84の開始アドレスと容量を記憶しておく領域で、未使用の代替メモリのアドレス情報も記憶しておく。ユーザは半導体ディスクを初期化するときにこの初期化情報領域81に設定することで代替メモリ領域83の大きさを自由に設定できる。
【0017】
次に本例の動作について説明する。まず、ホストバス3から読みだし命令を受けた場合のマイコン4の処理手順を図8に示す。ホストバス3からはデータ領域84のブロック番号を与えるものとする。最初に、マイコン4は300においてエラー情報領域82からエラー情報を読み取る。エラー情報のアドレスは初期化情報領域81のエラー情報開始アドレスとホストバス3から与えられるブロック番号から計算して得る。例えば読みだすブロック番号が0の場合、エラー情報のアドレスはエラー情報開始アドレス0001を512倍した200hの最初のアドレスである。次に301において300で読みだしたエラー情報に対応する物理ブロックを読みだす。読みだすブロック番号が0の場合はエラー情報が200hなので200hを512倍したデータ領域84の4000h番地から読みだす。また読みだすブロック番号が2の場合エラー情報は100hなので代替メモリ領域83の2000h番地から読みだす。このように本例ではエラー情報がそのままデータメモリの物理アドレスを表すので、図3の実施例と異なり101のエラーチェック処理が不要となるという利点がある。
【0018】
次にホストバス3から書き込み命令を受けた場合について説明する。図9に書き込み時の処理手順を示す。まず400においてバッファメモリ6にホストバス3から与えられるデータを書き込む。次に読みだし時と同様に書き込むブロックのエラー情報をエラー情報領域82から読みだす。そして402において読みだしたエラー情報から書き込むブロックの物理アドレスを計算し、その物理アドレスのブロックのデータを消去する。そして403においてバッファメモリ6に記憶した書き込みデータを402で計算した物理アドレスが表すデータメモリ8のブロックへ書き込む。次に書き込み404において403の書き込みが正常に行なわれたかチェックする。正常な書き込みの場合は書き込み処理は終了するが正常でなかった場合は405のエラー処理を行なう。エラー処理405では書き込みエラーとなったブロックの代替ブロックを確保し、その代替ブロックへ書き込みデータを転送すると共にエラー情報と初期化情報を更新する。まず406において初期化情報領域81から代替メモリ未使用アドレスを読み込む。代替メモリ未使用アドレスの値が新しい代替ブロックのアドレスを表す。次に407において代替メモリ未使用アドレスが表すブロックのデータを消去する。図7の例では104hを512倍した20800h番地のブロックを消去する。次に408においてバッファメモリ6の書き込みデータを208h番地のブロックへ書き込む。次に409において書き込みエラーとなったエラー情報のブロックのデータをエラー情報領域82から読み取ってバッファメモリ6へ転送する。転送したエラー情報は410において新しいエラー情報に更新する。更新は例えばブロック0への書き込みエラーの場合はブロック0のエラー情報200hを新しい代替ブロックのアドレス情報104hへ書き替える。次に411において書替えを行なうエラー情報領域82のブロックのデータを消去し、412においてバッファメモリ6の更新したエラー情報をエラー情報領域82の書換えを行なうブロックへ書き込む。次に初期化情報領域81の代替ブロック未使用アドレスの更新を行なうため、まず413において初期化情報領域81のデータをバッファメモリ6へ転送する。そして、414において転送した初期化情報のうち代替メモリ未使用アドレスの値を1加算する。この値は次回書き込みエラーが発生した場合に新しい代替ブロックのアドレス情報となる。次に415において初期化情報領域81のデータを消去し、416においてバッファメモリ6の更新した初期化情報を初期化情報領域81へ書き込む。以上の手順で書き込み及びエラー処理を行なう。
【0019】
また、本例では代替メモリ領域83とデータ領域84はそれぞれ1領域のみであるが、初期化情報領域に新たに他のアドレス情報と容量を加えることで複数の代替メモリ領域83とデータ領域84を設けても差し支えない。
【0020】
この様に、フラッシュメモリを記憶媒体とした半導体ディスクにおいて、フラッシュメモリの書替え回数の制限によるエラーを救済できるので半導体ディスクの寿命をのばすことができる。
【0021】
次に、図1、2、6、7の実施例における代替メモリ領域73、83とエラー情報領域71、82の容量の決定方法について説明する。
【0022】
まず、代替メモリ領域73、83の容量は、ホストシステム2がもっとも頻繁に書換えを行う領域、例えばFATやディレクトリー領域としてデータメモリ8のうちいくつのブロック数を用いるかによる。本例ではデータメモリ8は32MBのうち、FAT及びディレクトリー領域として128kB用いるとする。この場合、代替メモリ領域73、83に128kBの3倍、384kBの容量をとれば、FATとディレクトリー領域がすべてエラーとなっても3回置き替えが可能になるため、半導体ディスク1の寿命は4倍になる。
【0023】
従って、代替メモリ領域73、83はシリコンディスク1の寿命をn倍にしたい時、データメモリ8のうち頻繁に書換えを行う領域の容量のn−1倍の容量を持てばよい。図7の実施例の場合には代替メモリ領域83として128kB用いているので寿命は2倍となる。一般にはFAT及びディレクトリー領域のすべてにおいて書換えが頻繁に行われることはないので寿命は更に伸びると予想されるが、これは代替メモリ領域73、83の容量の目安と考える。
【0024】
次にエラー情報領域71、82の容量について説明する。図1の実施例の場合は代替メモリ領域73の各ブロック番号を記憶する領域をデータメモリ8のブロック数分必要である。すなわち、本例では代替メモリ領域73が768ブロック(384kB)、データメモリ8が64kブロック(32MB)あるので、768を表す10ビットのアドレス情報を64k個記憶する容量、80kBは少なくとも必要である。
【0025】
図7の実施例の場合はエラー情報領域82には代替メモリ領域83またはデータ領域84のブロック番号を記憶する領域をデータ領域84のブロック数分必要である。本例では代替メモリ領域83に256ブロック、データ領域84に65024ブロックを与えているので、ブロック番号を表す16ビットの情報を65024個分記憶する容量が必要である。
【0026】
使用情報領域72および初期化情報領域81は残りの容量を割り当てる。
【0027】
これら各領域を分けるときはフラッシュメモリの書替え単位であるブロック単位で分けると都合がよい。
【0028】
このように本発明によれば、フラッシュメモリの全容量に対し、2%以下の容量をエラー情報領域71、82や代替メモリ領域73、83に用いることで、半導体ディスク1の寿命を2倍以上にすることが可能である。また、寿命を更に延ばしたいときには代替メモリ領域73、83の容量を増やせば、その分だけ寿命が延びる。
【0029】
次に、ホストシステム2と半導体ディスク1のインターフェースについて補足説明する。ホストシステム2はパーソナルコンピューターやワードプロセッサ等の情報処理装置であり、ホストバス3はこれらのホストシステム2が通常、磁気ディスクなどのファイル装置を接続するバスである。一般的に、磁気ディスクを接続するホストバス3にはSCSIやIDEインターフェースがある。本発明の半導体ディスク1も磁気ディスクと同様にSCSIやIDEインターフェース等のホストバス3に接続すると磁気ディスクなどから半導体ディスク1への移行が行いやすい。
【0030】
半導体ディスク1をSCSIやIDEインターフェースへ接続するには磁気ディスクのインターフェースと同一にする必要がある。そのためにはまず、フラッシュメモリのブロックの大きさを磁気ディスクのセクタに対応させる必要がある。本実施例ではブロックサイズを512バイトとしたが、これは磁気ディスクのセクタサイズにあわせたものである。ブロックサイズが磁気ディスクのセクタサイズよりも小さい場合には複数のブロックを1セクタとして用いれば問題ないが、大きい場合にはブロックをいくつかのセクタサイズに分けて使用する必要がある。また、磁気ディスクのトラックやヘッドに相当するものはフラッシュメモリを論理的にトラックやヘッドに割り振ればよい。また、各制御レジスタや割込みなどのインターフェースを同一にし、ホストバス3から与えられる磁気ディスクの入出力命令で半導体ディスク1の制御を行うようにする。しかし、磁気ディスク特有の命令、例えばモーターの制御などの処理を別の処理に置き換える必要がある。
【0031】
下記の表1は磁気ディスクへの命令とその命令に対する磁気ディスクの処理、及び、磁気ディスクの命令をそのまま半導体ディスク1へ流用した場合の半導体ディスク1の処理の例を示したものである。
【0032】
【表1】
【0033】
これはIDEインターフェースの例である。表1においてNo.1およびNo.6はヘッドの移動命令であるが、半導体ディスク1にはヘッドがないのでこの処理は行わない。また、フラッシュメモリは磁気ディスクよりもエラー率が格段に低いためECCを設ける必要がない。そのため、Read Verify Sector命令は処理を行わない。その他の命令は表1に示す通りである。
【0034】
また、表1において処理を行わない場合でも、磁気ディスクで割込みなどを発生する場合は半導体ディスク1でも同様に割込みを発する。すなわち、ホストバス3から見れば磁気ディスクと半導体ディスク1の区別がないようにインターフェースを取る。
【0035】
以上のように磁気ディスクのインターフェースと半導体ディスク1のインターフェースを同一にすることにより、磁気ディスクから半導体ディスク1への置き換えが容易になる。
【0036】
SCSIインターフェースについてもIDEインターフェースと同様に磁気ディスクと同じインターフェースにすれば置き換えが容易に行える。しかし、SCSIインターフェースには磁気ディスク以外に光磁気ディスクなど他の装置の接続が可能なため、ファイル装置個別の命令体系を持っており、半導体ディスク1も専用の命令体系を組んだ方がむだな処理もなく、高速化が行える。但し、基本的には磁気ディスクと同じ命令体系で、モーター制御コマンドなどがないものである。この場合、フラッシュメモリのブロックサイズは何バイトでもよく、フラッシュメモリの1ブロックを1セクタとして処理すればよい。また、図1および図6の実施例で示したマイコン4の処理、図3、4、5、8、9のフローチャートの処理はホストシステム2で行ってもよい。
【0037】
また、標準のICカードインターフェース仕様としてJEIDAやPCMCIAがあるが、本発明の半導体ディスク1をICカード化し、インターフェースをJEIDAまたはPCMCIAに準拠させて半導体ファイル1を構築してもよい。この場合、半導体ディスク1はIO装置として扱う。
【0038】
磁気ディスクと比較して半導体ディスク1の有利な点は、表1に示したように半導体ディスク1の処理は磁気ディスクよりも少なくてすむため、高速化が行えること、モーターなどのメカ部分がないため、低消費電力であること、また、振動などに対する耐衝撃性があること、また、信頼性が高いのでECCが必要ないことなどがあげられる。
【0039】
また、記憶媒体としてフラッシュメモリを用いたのは、不揮発性なので電源オフ時にもデータを保持し、SRAMやDRAMのようにバッテリーによるバックアップが必要ないこと、EEPROMに比べて構造が簡単なので大容量化が容易で、大量生産に向き安価にできることなどの利点があるからである。
【0040】
また、本発明においては、フラッシュメモリは、複数の領域に分けられていて、データを記憶し上記の領域に対応して設けられた複数のデータメモリ領域と、エラーとなったデータメモリ領域を代替し上記の領域に対応して設けられた複数の代替メモリ領域と、データメモリ領域のエラー情報を記憶し上記の領域に対応して設けられた複数のエラーメモリ領域と、各領域の開始アドレスと容量とを記憶する初期化情報領域とを有することとしても良い。これによれば、あらたにフラッシュメモリを増設し記憶容量を拡張する場合、新規に3種のメモリ領域を増設すれば、今までのエラーメモリ領域やデータメモリ領域の記憶した内容を変更せずに、増設ができる。初期化情報領域に拡張したメモリの情報を記憶するようにすれば良い。
【0041】
また、本発明においては、エラーメモリ領域は、エラーの発生した代替メモリ領域のエラー情報をも有することとしても良い。こうすれば、データメモリ領域のエラーに限らず、一度データメモリ領域を置き換えた代替メモリ領域にエラーが発生した場合にもさらにエラーの救済を行うことができる。代替の仕方は、データメモリ領域にエラーが発生した場合と同じようにすれば良い。代替メモリ領域の代替を行うことで、寿命を伸ばすことができる。
【0042】
また、本発明においては、代替メモリ領域の容量は、上記データメモリ領域のうち予め定められた一部の領域であることとしても良い。領域の選択方法としては、最も頻繁に書替が行われる領域を選べば良い。そうすると、少ない代替領域があれば、寿命を飛躍的に伸ばすことができる。
【0043】
【発明の効果】
本発明により、フラッシュメモリを記憶媒体とした半導体ディスクにおいて、半導体ディスクの寿命をのばすことができる。
【図面の簡単な説明】
【図1】本発明の一実施例の半導体ディスクおよびホストシステムの構成図
【図2】エラーメモリ7のメモリマップの説明図
【図3】読みだし時のマイコン4のフローチャート
【図4】書き込み時のマイコン4のフローチャート
【図5】マイコン4のエラー時のフローチャート
【図6】本発明の他の一実施例の半導体ディスクおよびホストシステムの構成図
【図7】本発明の他の実施例のデータメモリ8のメモリマップの説明図
【図8】読みだし時の他の実施例のマイコン4のフローチャート
【図9】書き込み時の他の実施例のマイコン4のフローチャート
【符号の説明】
1...半導体ディスク
2...ホストシステム
3...ホストバス
4...マイコン
5...メモリコントローラ
6...バッファメモリ
7...エラーメモリ
8...データメモリ
71...エラー情報領域
72...使用情報領域
73...代替メモリ領域
81...初期化情報領域
82...エラー情報領域
83...代替メモリ領域
84...データ領域
Claims (9)
- データを記憶するデータメモリ領域と、上記データメモリ領域のエラーとなったブロックを代替する代替メモリ領域と、上記データメモリ領域のエラーとなったブロックに対応する上記代替メモリ領域のブロックのアドレスを記憶するエラーメモリ領域とを有するフラッシュメモリと、
上記エラーメモリ領域に記憶された上記代替メモリ領域のブロックのアドレスを参照して、上記代替メモリ領域をアクセスするメモリコントローラとを有し、
上記フラッシュメモリは、上記ブロック単位で書替え可能であり、
上記データメモリ領域と上記代替メモリ領域と上記エラーメモリ領域とは、それぞれ、上記フラッシュメモリ上の異なるブロックに割り当てられていること
を特徴とする半導体記憶装置。 - 請求項1記載の半導体記憶装置であって、
上記エラーメモリ領域は、上記データメモリ領域に含まれるブロックにエラーがない場合は、上記代替メモリ領域のブロックのアドレスの代わりに上記データメモリ領域に含まれるブロックにエラーがないことを示す情報を記憶し、
上記メモリコントローラは、上記エラーメモリ領域をアクセスして、上記代替メモリ領域のブロックにエラーがないか判別し、上記データメモリ領域にエラーがない場合は、データメモリ領域をアクセスし、上記データメモリ領域にエラーがある場合は、上記エラーメモリ領域に記憶された上記代替メモリ領域のブロックのアドレスを参照して上記代替メモリをアクセスすること
を特徴とする半導体記憶装置。 - 請求項1記載の半導体記憶装置であって、
上記フラッシュメモリへ書き込むべきデータおよび上記フラッシュメモリから読み出されたデータを記憶するバッファメモリを、さらに有すること
を特徴とする半導体記憶装置。 - 請求項1記載の半導体記憶装置であって、
外部のホストシステムからの命令に従って前記メモリコントローラを制御するマイコンを、さらに有すること
を特徴とする半導体記憶装置。 - 請求項1記載の半導体記憶装置であって、
磁気ディスクに対する操作のための電気信号と同一の電気信号を受付可能な、磁気ディスクと同一の電気的インタフェースを、さらに有すること
を特徴とする半導体記憶装置。 - 請求項5記載の半導体記憶装置であって、
前記電気的インタフェースは、外部のホストシステムからの磁気ディスク用の命令を受付け、受付けた上記磁気ディスク用の命令を上記半導体記憶装置用の命令に変換すること
を特徴とする半導体記憶装置。 - 請求項5記載の半導体記憶装置であって、
上記ブロックのサイズは、上記磁気ディスクのセクタサイズと同一であることを特徴とする半導体記憶装置。 - 請求項7記載の半導体記憶装置であって、
上記ブロックのサイズは、512バイトであること
を特徴とする半導体記憶装置。 - データを記憶するデータメモリ領域と、上記データメモリ領域のエラーとなったブロックを代替する代替メモリ領域と、上記データメモリ領域のエラーとなったブロックに対応する上記代替メモリ領域のブロックの第1のアドレスを記憶するエラーメモリ領域とを有するフラッシュメモリと、
上記データメモリ領域のブロックがエラーとなった場合に外部のホストシステムからのデータを書き込むべき上記代替メモリ領域のブロックの第2のアドレスを記憶するメモリと、
上記第1のアドレスを参照して、上記代替メモリ領域をアクセスするメモリコントローラとを有し、
上記フラッシュメモリは、上記ブロック単位で書替え可能であり、
上記データメモリ領域と上記代替メモリ領域と上記エラーメモリ領域とは、それぞれ、上記フラッシュメモリ上の異なるブロックに割り当てられ、
上記メモリコントローラは、上記ホストシステムからの書き込み命令に応答して、上記第2のアドレスを参照して、上記ホストシステムからのデータを上記代替メモリ領域へ書き込み、上記第2のアドレスを上記第1のアドレスとして上記エラーメモリ領域に記憶すると共に、上記第2のアドレスに1を加算すること
を特徴とする半導体記憶装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001088605A JP3609739B2 (ja) | 1991-11-26 | 2001-03-26 | 半導体記憶装置 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3-310848 | 1991-11-26 | ||
| JP31084891 | 1991-11-26 | ||
| JP2001088605A JP3609739B2 (ja) | 1991-11-26 | 2001-03-26 | 半導体記憶装置 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9989192A Division JP3231832B2 (ja) | 1991-11-26 | 1992-04-20 | フラッシュメモリを記憶媒体とした半導体ディスク |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001265664A JP2001265664A (ja) | 2001-09-28 |
| JP3609739B2 true JP3609739B2 (ja) | 2005-01-12 |
Family
ID=26566484
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001088605A Expired - Lifetime JP3609739B2 (ja) | 1991-11-26 | 2001-03-26 | 半導体記憶装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3609739B2 (ja) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4772214B2 (ja) * | 2001-06-08 | 2011-09-14 | ルネサスエレクトロニクス株式会社 | 不揮発性記憶装置及びその書き換え制御方法 |
| FR2880444B1 (fr) * | 2005-01-06 | 2007-03-09 | Gemplus Sa | Dispositif de stockage de donnees |
| JP4645538B2 (ja) * | 2006-06-29 | 2011-03-09 | ソニー株式会社 | 記録装置および寿命情報算出方法 |
| US8276043B2 (en) | 2008-03-01 | 2012-09-25 | Kabushiki Kaisha Toshiba | Memory system |
| JP2010165364A (ja) * | 2010-02-18 | 2010-07-29 | Sony Corp | 記録装置および寿命情報算出方法 |
-
2001
- 2001-03-26 JP JP2001088605A patent/JP3609739B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001265664A (ja) | 2001-09-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3231832B2 (ja) | フラッシュメモリを記憶媒体とした半導体ディスク | |
| KR960012360B1 (ko) | 플래시메모리를 사용한 기억장치 | |
| US8031536B2 (en) | Storage device employing a flash memory | |
| JPH08137634A (ja) | フラッシュディスクカード | |
| WO1993011491A1 (fr) | Carte a memoire | |
| JPH07253929A (ja) | 半導体記憶装置 | |
| JP3609739B2 (ja) | 半導体記憶装置 | |
| JPH05150913A (ja) | フラツシユメモリを記憶媒体としたシリコンデイスク | |
| US5479609A (en) | Solid state peripheral storage device having redundent mapping memory algorithm | |
| KR100490603B1 (ko) | 플래시 메모리 동작 제어 방법 및 장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040127 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040329 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041005 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041014 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071022 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081022 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091022 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091022 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101022 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111022 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121022 Year of fee payment: 8 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121022 Year of fee payment: 8 |
