JPH0954726A - 記憶装置 - Google Patents

記憶装置

Info

Publication number
JPH0954726A
JPH0954726A JP21059295A JP21059295A JPH0954726A JP H0954726 A JPH0954726 A JP H0954726A JP 21059295 A JP21059295 A JP 21059295A JP 21059295 A JP21059295 A JP 21059295A JP H0954726 A JPH0954726 A JP H0954726A
Authority
JP
Japan
Prior art keywords
sector
data
address
written
flash memory
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.)
Pending
Application number
JP21059295A
Other languages
English (en)
Inventor
Shinichi Mizoguchi
慎一 溝口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP21059295A priority Critical patent/JPH0954726A/ja
Priority to DE19608713A priority patent/DE19608713A1/de
Priority to GB9605873A priority patent/GB2304428A/en
Priority to CN96104987A priority patent/CN1143812A/zh
Publication of JPH0954726A publication Critical patent/JPH0954726A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • G11C29/765Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Abstract

(57)【要約】 【課題】 より有効にメモリを使用する記憶装置を提供
する。 【解決手段】 本発明の記憶装置は、複数のセクタ及び
予備のセクタを備えるフラッシュメモリと、論理アドレ
スに対応するセクタのアドレスを記憶するテーブルと、
データの書き込みコマンドにより指定される論理アドレ
スに対応するセクタのアドレスをテーブルに基づいて特
定し、特定されたアドレスにあるセクタにデータの書き
込みを行い、上記セクタにデータの書き込みができない
場合には、予備のセクタを使用可能な状態にすると共
に、特定手段により特定されたセクタの代わりに書き込
み可能な他のセクタにデータの書き込みを行うデータ書
き込み手段と、データ書き込み手段によりデータの書き
込みを行うセクタが変更された場合、テーブルの論理ア
ドレスに対するセクタのアドレスを、データの書き込み
を行ったセクタのアドレスに変更する手段とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、JEIDAのPC
カードATA仕様に準拠する半導体ディスクカードに適
用することのできる記憶装置に関する。
【0002】
【従来の技術】フラッシュメモリは、書き込み可能な不
揮発性記憶媒体として半導体ディスクカード(以下、単
にPCカードという)に用いられる。PCカードは、接
続されるホストの記憶媒体として機能する。フラッシュ
メモリを用いたPCカードには、JEIDAのPCカー
ドATA仕様に基づくものがある。PCカードATA仕
様は、パソコンのハードディスク駆動装置用のインター
フェースとして用いられていて、PCカードATA仕様
を用いることにより、ハードディスク駆動装置と比べて
アクセススピードが高速化できると共に、メモリ容量の
制限や専用ドライバが不要となるなどの長所が得られ
る。
【0003】
【発明が解決しようとする課題】PCカードATA仕様
では、フラッシュメモリは、ハードディスクと同様に、
メモリ空間をセクタID領域とセクタ領域とに分け、セ
クタ領域の各セクタは、セクタID領域により管理され
る。PCカードにフラッシュメモリが使用される場合、
フラッシュメモリへのデータの書き換え回数の制限が問
題となる。ホスト側からのデータの書き込みや書き換え
がPCカード内のフラッシュメモリの特定のセクタに対
して繰り返し行われると、当該セクタの寿命は、他のセ
クタよりも短くなる。セクタへの書き込み不良が発生し
た場合、PCカードは、ホスト側に書き込みエラーの発
生を連絡する。PCカード内でのデータの書き込み不良
を認知したホストは、当該PCカードが使用不可能であ
ると判断して、データの書き込み及び書き換えを禁止し
たり、別のセクタへの書き込みを実施するなど、その後
の処理は、ホストにまかされていた。
【0004】本発明の目的は、PCカードATA仕様の
PCカードに適用可能な記憶装置であって、より有効に
メモリを使用することのできる記憶装置を提供すること
である。
【0005】
【課題を解決するための手段】本発明の第1の記憶装置
は、複数のセクタからなるフラッシュメモリと、論理ア
ドレスに対応するフラッシュメモリ内のセクタのアドレ
スを記憶するアドレス変換テーブルと、データの書き込
みコマンドにより指定される論理アドレスに対応するフ
ラッシュメモリ内のセクタのアドレスをアドレス変換テ
ーブルに基づいて特定し、特定されたアドレスにあるセ
クタにデータの書き込みを行い、上記セクタにデータの
書き込みができない場合には、書き込み可能な他のセク
タに対してデータの書き込みを行うデータ書き込み手段
と、データ書き込み手段によりデータの書き込みを行う
セクタが変更された場合、アドレス変換テーブルの論理
アドレスに対するフラッシュメモリ内のセクタのアドレ
スを、データの書き込みを行ったセクタのアドレスに変
更する書換手段とを備える。
【0006】また、本発明の第2の記憶装置は、複数の
セクタ及び予備のセクタを備えるフラッシュメモリと、
論理アドレスに対応するフラッシュメモリ内のセクタの
アドレスを記憶するアドレス変換テーブルと、データの
書き込みコマンドにより指定される論理アドレスに対応
するフラッシュメモリ内のセクタのアドレスを、アドレ
ス変換テーブルに基づいて特定し、特定されたアドレス
にあるセクタにデータの書き込みを行い、上記セクタに
データの書き込みができない場合には、フラッシュメモ
リの予備のセクタを使用可能な状態にすると共に、特定
手段により特定されたセクタの代わりに書き込み可能な
他のセクタにデータの書き込みを行うデータ書き込み手
段と、データ書き込み手段によりデータの書き込みを行
うセクタが変更された場合、アドレス変換テーブルの論
理アドレスに対するフラッシュメモリのセクタのアドレ
スを、データの書き込みを行ったセクタのアドレスに変
更する書換手段とを備える。
【0007】上記の第1又は第2の記憶装置では、更
に、フラッシュメモリ内のデータの消去を行うコマンド
に応答して、書き込み手段によりデータの書き込みので
きなかったセクタを除く各セクタのデータを消去し、完
全にデータが消去されたセクタの数に基づいて使用可能
なメモリ空間についての情報を書き換えるデータ消去手
段を備えることが好ましい。
【0008】また、本発明の第3の記憶装置は、複数の
セクタからなるブロック単位でデータの消去を行うフラ
ッシュメモリであって、各ブロック毎に予備のセクタを
備えるフラッシュメモリと、論理アドレスに対応するフ
ラッシュメモリ内のセクタのアドレスを記憶するアドレ
ス変換テーブルと、データを格納するデータバッファ
と、データの書き込みコマンドにより指定される論理ア
ドレスに対応するフラッシュメモリ内のセクタのアドレ
スを、アドレス変換テーブルに基づいて特定し、フラッ
シュメモリ内の上記特定されたアドレスにあるセクタに
データの書き込みを行い、当該セクタにデータの書き込
みができない場合には、特定されたセクタのアドレスを
含むブロックの予備のセクタを使用可能な状態にすると
共に、書き込み可能な他のセクタにデータの書き込みを
行い、ブロック内の予備のセクタが全て使用されている
場合には、未使用のブロックにデータの書き込みを行う
と共に、予備のセクタが全て使用されている上記ブロッ
クのデータをフラッシュメモリより読み出してデータバ
ッファに格納し、データバッファに格納されているブロ
ック内においてデータの書き込まれているセクタのデー
タを上記未使用のブロック内のセクタに連続的に書き込
むデータ書き込み手段と、データ書き込み手段によりデ
ータの書き込みを行うセクタが変更された場合、アドレ
ス変換テーブルの論理アドレスに対するフラッシュメモ
リ内のセクタのアドレスを、データの書き込みを行った
セクタのアドレスに変更する書換手段とを備える。
【0009】上記第3の記憶装置では、フラッシュメモ
リ内のデータの消去を行うコマンドに応答して、各ブロ
ック単位に、書き込み手段によりデータの書き込みので
きなかったセクタを除く各セクタのデータを消去し、完
全にデータの消去されたセクタの数に基づいて、使用可
能なメモリ空間についての情報を書き換えるデータ消去
手段を備えることが好ましい。また、発光部又はスピー
カを備え、データ書き込み手段により、予備のセクタが
全て使用されている場合における未使用のブロックへの
データの書き込みが行われた場合、発光部を発光させ、
又は、スピーカを鳴らす通知手段を備えることが好まし
い。
【0010】また、本発明の第4の記憶装置は、セクタ
領域と、各セクタについて、使用、未使用、又は、使用
不可能のいずれの状態であるのかを意味するデータと、
セクタが対応する論理アドレスのデータとを記憶するセ
クタIDからなるセクタID領域と、予備のセクタから
なる予備セクタ領域とで構成されるメモリ空間を持つフ
ラッシュメモリと、論理アドレスの入力に対してフラッ
シュメモリ内のセクタのアドレスを出力するアドレス変
換回路と、データの書き込みコマンドにより指定される
論理アドレスに対して、アドレス変換回路により出力さ
れるフラッシュメモリ内のアドレスにあるセクタのセク
タIDに、使用、又は、未使用の状態であることを意味
するデータが書き込まれている場合は、データの書き込
みを行い、当該セクタに対してデータの書き込みができ
ない場合には、当該セクタのセクタIDに使用不可能の
状態を意味するデータを書き込み、予備のセクタを使用
可能な状態に初期化し、未使用の他のセクタにデータを
書き込むと共に、上記セクタのセクタIDが記憶してい
る論理アドレスのデータの代わりに、上記他のセクタの
アドレスのデータを書き込むデータ書き込み手段と、デ
ータの読み出しコマンドにより指定される論理アドレス
に対して、アドレス変換回路により出力されるフラッシ
ュメモリ内のアドレスにあるセクタのセクタIDに、当
該セクタが使用不可能な状態であることを意味するデー
タが書き込まれている場合には、論理アドレスの代わり
に記憶しているアドレスにあるセクタのデータを読み出
すデータ読み出し手段とを備える。
【0011】また、本発明の第5の記憶装置は、セクタ
単位でデータの書き込みを行い、各セクタについて、使
用、未使用、又は、使用不可能のいずれの状態であるの
かを意味するデータと、セクタの対応する論理アドレス
のデータとを記憶するセクタIDと、予備のセクタとを
備えるフラッシュメモリと、論理アドレスの入力に対し
て、対応するフラッシュメモリ内のセクタのアドレスを
出力するアドレス変換回路と、データの書き込みコマン
ドにより指定される論理アドレスに対して、アドレス変
換回路により出力されるフラッシュメモリ内のアドレス
にあるセクタのセクタIDに、当該セクタが使用、又
は、未使用の状態を意味するデータが書き込まれている
場合には、データの書き込みを行い、当該セクタにデー
タの書き込みができない場合には、当該セクタのセクタ
IDに使用不可能な状態であることを意味するデータを
書き込み、予備のセクタを使用可能な状態に初期化し、
未使用の他のセクタにデータを書き込むと共に、当該デ
ータの書き込みを行ったセクタのセクタIDに上記書き
込みのできなかったセクタのセクタIDに記憶されてい
る論理アドレスのデータを書き込むデータ書き込み手段
と、データの読み出しコマンドにより指定される論理ア
ドレスに対して、アドレス変換回路により出力されるフ
ラッシュメモリ内のアドレスにあるセクタのセクタID
に、当該セクタが使用不可能な状態であることを意味す
るデータが書き込まれている場合には、使用可能な状態
の予備のセクタであって、上記使用不可能なセクタのセ
クタIDに記憶されている論理アドレスと同じ論理アド
レスのデータを記憶しているセクタIDのセクタのデー
タを読み出すデータ読み出し手段とを備える。
【0012】上記第4又は第5の記憶装置では、フラッ
シュメモリ内のデータの消去を行うコマンドに応答し
て、セクタIDに使用中の状態を意味するデータが書き
込まれているセクタのデータを消去し、データの消去が
正常に終了したセクタのセクタIDに未使用を意味する
データを書き込み、データを正常に消去できなかったセ
クタのセクタIDに対して、使用不可能な状態であるこ
とを意味するデータを書き込み、セクタIDに未使用を
意味するデータの書き込まれているセクタの数に基づい
て、使用可能なメモリ空間についての情報を書き換える
データ消去手段を備えることが好ましい。また、発光部
又はスピーカと、フラッシュメモリ内の代替セクタの残
りが所定値以下になった場合に、発光部を発光させ、又
は、スピーカを鳴らす通知手段を備えることが好まし
い。
【0013】
【発明の実施の形態】フラッシュメモリには、データ転
送単位(512byte/セクタ)以上のサイズ、例えば、
64kbyte単位のサイズでデータの消去を行うブロック
型フラッシュメモリとデータ転送単位でデータの消去を
行うフラッシュメモリとがある。本発明の記憶装置の実
施の形態として、64kbyte単位のサイズでデータの消
去を行うブロック型フラッシュメモリを用いるPCカー
ドと、データ転送単位でデータの消去を行うフラッシュ
メモリを用いるPCカードについて説明する。以下、ブ
ロック型フラッシュメモリを用いるタイプのPCカード
を64kbyte型カード1aといい、データ転送単位でデ
ータの消去を行うタイプのPCカードを512byte型カ
ード1bという。以下、64Kbyte型カード1aと51
2byte型カード1bについて、以下の順に説明する。 (1)64Kbyte型カード (1−1)メモリを用いた場合のデータ書き込み処理 (1−2)メモリの初期化 (1−3)メモリを用いた場合のデータ書き込み処理 (1−4)メモリの初期化 (2)512byte型カード (2−1)書き換え処理の第1例 (2−2)書き換え処理の第2例 (2−3)メモリの初期化
【0014】(1)64Kbyte型カード 図1は、ホスト100と、64kbyte型カード1aを示
す。64kbyte型カード1aは、書き込み、又は、書き
換えエラーが発生したことを使用者に知らせるための手
段として、LED2とスピーカ3を備える。図2は、6
4kbyte型カード1aの回路を示す。64kbyte型カー
ド1a内部にホスト100から入力されるコマンドは、
I/Fコントロール部5、PCカードコンフィグレーシ
ョン部6、レジスタ部7を介してCPU4に入力され
る。64kbyte型カード1aの備えるメモリ10は、デ
ータの消去を、64kbyte(1ブロック)単位のサイズ
で行うフラッシュメモリである。メモリ10には、2つ
のタイプのメモリ10a及びメモリ10bがある。前者
のメモリ10aは、そのメモリ空間内にセクタID領域
とセクタ領域とを備える。後者のメモリ10bは、その
メモリ空間にセクタID領域とセクタ領域の他に、デー
タの書き込み不良が発生した場合に使用する予備の記憶
エリアとして複数の代替セクタを備える。ホスト100
から、ある論理アドレスへのデータの書き込みコマンド
を受け取った場合、CPU4は、アドレス管理テーブル
8から上記論理アドレスに対応する物理セクタを特定
し、特定した物理セクタのセクタIDに書き込まれてい
る情報を読み出す。セクタIDに物理セクタが書き込み
可能な状態にあることを意味するデータが書き込まれて
いる場合は、ホスト100からのデータを当該セクタに
書き込む、ここで書き込みエラーが発生した場合には、
データを書き込む物理セクタを変更する所定の書き換え
処理を実行する。データの書き込み、又は、書き換え処
理が終了した後、データの書き込みを行った物理セクタ
のセクタIDの更新を行う。
【0015】(1−1)メモリを用いた場合のデータ書
き込み処理 図3は、メモリ10aのメモリ空間を示す。このメモリ
10aのメモリ空間は、大きく分けて、複数のセクタ2
1からなるセクタ領域21と、各セクタに対応するセク
タID23を記憶するセクタID領域20との2つのパ
ートからなる。セクタID領域20には、斜線で示す領
域にブロックID22が記憶されている。メモリ10a
は、データの消去を64kbyte(1ブロック)単位のサ
イズで行う。ブロックID22には、ブロック情報エリ
アが設けられている。ブロック情報エリアには、ブロッ
クが未使用の状態であるのか、又は、データが書き込ま
れている状態であるのかといったブロック内部の使用状
況を表すデータが書き込まれている。また、ブロックI
D除く領域に記憶される複数のセクタID23には、論
理アドレスエリアと、セクタ情報エリアと、ECC(Er
ror Correcting Code)エリアとが設けられている。論
理アドレスエリアには、物理セクタに対応する論理アド
レスが書き込まれている。セクタ情報エリアには、対応
するセクタが使用中のセクタであるのか、未使用のセク
タであるのか、又は、書き込み不良を起こした無効セク
タであるのかを意味するデータが書き込まれている。
【0016】図4は、データの書き込み、又は、書き換
え時にCPU4の実行する処理のフローチャートであ
る。まず、64kbyte型カード1aがホスト100から
の書き込み、又は書き換え等の要求の受け入れ準備がで
きていることをホスト100に伝えるために、カード内
部のステータスレジスタのD3(データ要求信号である
DRQ信号)を”L”にセットする(ステップS10
0)。これに対して、ホスト100から、ある論理アド
レスに対する書き込み、又は、書き換えコマンドを受け
取った後(ステップS101)、カード内部でのコマン
ドの処理を実施するためにステータスレジスタのD7
(ビジー信号であるBSY信号)を”H”にする(ステ
ップS102)。ホスト100からの論理アドレスに対
応するカード内部の物理セクタへのデータの書き込み、
又は、書き換えを実行する(ステップS103)。ここ
で、書き込み、又は、書き換えを行う物理セクタに書き
込みエラーが発生した場合(ステップS104でYE
S)、所定の書き換え処理を実行する(ステップS10
5)。この書き換え処理については、後に説明する。ス
テップS105の書き換え処理が終了した場合、又は、
書き込みエラーが発生しなかった場合(ステップS10
4でNO)には、カード内部の処理の終了を意味するス
テータスフラグD3(DRQ信号)を”H”にセットし
(ステップS106)、ステータスレジスタのD7(B
SY信号)を”L”にセットした後に(ステップS10
7)、ホスト100に対して割り込みを要求する割り込
み要求信号であるIREQ信号を”L”にセットする
(ステップS108)。IREQ信号を”L”にセット
することで、ホスト100によるチェックが実行される
(ステップS109)。
【0017】次に、書き換え処理(ステップS105)
について説明する。この書き換え処理において、CPU
4は、データの書き込み処理の失敗したセクタの代わり
に未使用のセクタに対してデータを書き込む。これによ
り、メモリ10aの利用寿命をのばす。書き込みの失敗
したセクタのセクタIDのセクタ情報エリアには、無効
セクタを意味するデータを書き込んでホスト100から
のアクセスを禁止する。上記代わりにデータの書き込み
を行ったセクタのセクタIDのセクタ情報エリアに、使
用中のセクタを意味するデータを書き込むと共に、アド
レス変換テーブルを変更して、ホストから指定された論
理アドレスに対応する物理セクタを、上記代わりにデー
タの書き込みを行ったセクタにする。これにより、デー
タの書き込み不良が発生した場合であっても、引き続き
ホスト100から64kbyte型カード1aへのアクセス
を可能にする。図5は、メモリ10aを使用する場合の
書き換え処理(図4、ステップS105)のフローチャ
ートである。書き込みの失敗したセクタのセクタIDの
セクタ情報エリアに”無効セクタ”を意味するデータを
書き込む(ステップS110)。セクタIDの内、その
セクタ情報エリアに未使用のセクタを意味するデータが
書き込まれているセクタを検索し(ステップS11
1)、検索した未使用のセクタへデータの書き込みを行
うと共に、セクタIDのセクタ情報エリアに使用中のセ
クタを意味するデータを書き込む(ステップS11
2)。アドレス変換テーブル8を書き換え、論理アドレ
スに対応する物理セクタを上記データの書き込みを行っ
たセクタに変更する(ステップS113)。
【0018】(1−2)メモリの初期化 64kbyte型カード1aは、ホスト100とのアクセス
を、必要な制御機能や状態情報を提供するATAコマン
ドブロックを使って行う。このコマンドブロックは7つ
のレジスタの総称であり、レジスタ部7(図2)の一部
に設けられている。このATAコマンドブロックにおい
てサポートされているコマンドに、メモリ10a内のデ
ータを初期化するオプショナルコマンドを追加する。メ
モリ10aを使用する場合、64kbyte型カード1a
は、オプショナルコマンドの入力に対応して、書き込み
不良を起こしたセクタを除く各セクタの初期化(データ
の消去)を行う。ここで、データの消去不良を起こした
セクタのセクタIDのセクタ情報エリアに無効セクタで
あること意味するデータを書き込む。各セクタの初期化
の後、使用可能なセクタの数に基づいてホスト100に
出力するメモリ容量に関する情報を書き換える。ホスト
100は、この情報に基づいてデータの書き込み、又
は、書き換え処理を実行することで、不良セクタへのア
クセスを回避することが可能になる。
【0019】図6は、ホスト100より上記オプショナ
ルコマンドが入力された場合に、CPU4が実行する処
理のフローチャートである。なお、処理に用いる変数m
の初期値は、メモリ10a内の全ブロック数である。オ
プショナルコマンドの要求を受けた後(ステップS15
0)、変数mの値を判断する。ここで、変数mの値が0
以外である場合(ステップS151でNO)、まず、ブ
ロック内に、無効セクタを意味するデータが書き込まれ
ているセクタIDが存在するか否かを調べる(ステップ
S152)。ここで、ブロック内に、無効セクタを意味
するデータの書き込まれているセクタIDが存在する場
合(ステップS153でYES)、当該セクタIDを除
くデータの消去を実行する(ステップ154)。また、
ブロック内に、無効セクタを意味するデータの書き込ま
れたセクタIDがない場合には(ステップS153でN
O)、メモリ10a内の全データの消去を行う(ステッ
プS155)。消去動作が正常に終了した場合(ステッ
プS156でYES)、データの消去されたセクタのセ
クタIDのセクタ情報エリアに、未使用のセクタである
ことを意味するデータを書き込む(ステップS15
7)。一方、ブロック内のセクタでデータの消去不良が
発生した場合には(ステップS156でNO)、正常に
データの消去することのできたセクタのセクタIDのセ
クタ情報エリアに、未使用のセクタであることを意味す
るデータを書き込むと共に、データの消去不良を起こし
たセクタのセクタIDのセクタ情報エリアに、無効セク
タを意味するデータを書き込む(ステップS158)。
ブロックIDには、当該ブロックが未使用であるのか、
又はデータが書き込まれているのかといった情報を書き
込むブロック情報エリアの他に、当該ブロックが初期化
された回数について記憶する消去回数エリアが設けられ
ている。ステップS157又はS158の処理終了後、
データ消去を行ったブロックのブロックID16の消去
回数エリアに記憶されている消去回数に1を加算し、ブ
ロック情報エリアに、未使用のブロックであることを意
味するデータを書き込む(ステップS159)。変数m
の値から1を引いた後に(ステップS160)、ステッ
プS151に戻る。全てのブロックに対して消去が完了
するまでステップS152〜S160の処理を繰り返し
実行する。全てのブロックに対する消去処理が終了した
場合、即ち、変数mの値が0になった場合(ステップS
151でYES)、未使用のセクタの数をカウントし、
Identify Drive コマンドに応じてホストに与える情報
(シリンダ数、ヘッド数、セクタ数)を書き換える(ス
テップS161)。カード内部の処理の終了を意味する
ステータスフラグD3(DRQ信号)を”H”にセット
し(ステップS162)、ステータスレジスタのD7
(BSY信号)を”L”にセットした後に(ステップS
163)、ホスト100に対して割り込みを要求するI
REQ信号を”L”にセットする(ステップS16
4)。IREQ信号を”L”にセットすることでホスト
100によるメモリ10aの状態のチェックが行われる
(ステップS165)。CPU4は、ホスト100から
のIdentify Drive コマンドの入力に対して、メモリ1
0a内で実際に使用可能なメモリ空間についての情報
(シリンダ数、ヘッド数、セクタ数)を出力し、ホスト
100は、使用可能なメモリ空間の情報を得ることがで
きる。
【0020】(1−3)メモリを用いた場合のデータ書
き込み処理 図7は、メモリ10b内のブロック33のメモリ空間を
示す。ブロック33のメモリ空間は、大きく分けて3つ
のパートから構成されている。第1のパートは、セクタ
ID領域30である。セクタID領域中、斜線で示す領
域には、ブロックID37が記憶されている。ブロック
ID37には、ブロック情報エリアが設けられる。ブロ
ック情報エリアには、ブロックが未使用の状態であるの
か、又は、データが書き込まれている状態であるのかと
いったブロック内部の使用状況を表すデータが書き込ま
れている。セクタID領域30中、斜線及びクロスハッ
チングの付されていない領域には、セクタID34が記
憶されている。セクタID34は、各セクタに一対一に
設けられている。セクタID34には、論理アドレスエ
リアと、セクタ情報エリアと、ECCエリアとが設けら
れている。論理アドレスエリアには、物理セクタに対応
する論理アドレスが書き込まれている。セクタ情報エリ
アには、対応するセクタが使用中のセクタであるのか、
未使用のセクタであるのか、又は、書き込み不良を起こ
した無効セクタであるのかを意味するデータが書き込ま
れる。第2のパートは、各セクタIDに対応するセクタ
35からなるセクタ領域31である。第3のパートは、
代替セクタ領域32である。図3に示すメモリ10aの
メモリ空間との相違は、この代替セクタ領域32を設け
たことである。代替セクタ領域32は、書き込み不良を
発生したセクタの代わりに使用することを目的として設
けられた複数の代替セクタ36からなる領域である。な
お、セクタID領域30のクロスハッチングを施した領
域には、代替セクタに対応する代替セクタID38が設
けられている。
【0021】図8は、データの書き込み、又は、書き換
え時にCPU4の実行する処理のフローチャートであ
る。まず、64kbyte型カード1aがホスト100から
の書き込み、又は書き換え等の要求の受け入れ準備がで
きていることをホスト100に伝えるために、カード内
部のステータスレジスタのD3(DRQ信号)を”L”
にセットする(ステップS200)。これに対して、ホ
スト100からある論理アドレスに対する書き込み、又
は、書き換えコマンドを受け取った後(ステップS20
1)、カード内部でのコマンドの処理を実施するために
ステータスレジスタのD7(BSY信号)を”H”にす
る(ステップS202)。ホスト100により指定され
た論理アドレスに対応するカード内部の物理セクタへの
データの書き込み、又は、書き換えを実行する(ステッ
プS203)。ここで、書き込み、又は書き換えを行う
物理セクタに書き込みエラーが発生した場合(ステップ
S204でYES)、所定の書き換え処理を実行する
(ステップS205)。書き換え処理については、後に
説明する。ステップS205の書き換え処理が終了した
場合、又は、書き込みエラーが発生しなかった場合(ス
テップS204でNO)には、カード内部の処理の終了
を意味するステータスフラグD3(DRQ信号)を”
H”にセットし(ステップS206)、ステータスレジ
スタのD7(BSY信号)を”L”にセットした後に
(ステップS207)、ホスト100に対して割り込み
を要求する−IREQ信号を”L”にセットする(ステ
ップS208)。−IREQ信号を”L”にセットする
ことでホスト100がエラーチェックを行う(ステップ
S209)。このフローは、メモリ10aについてのフ
ロー(図4)に比べて、書き換え処理(ステップS20
5)の内容が異なる。
【0022】既に説明したように、メモリ10aを使用
した場合には、書き込み不良を起こしたセクタに代え
て、未使用セクタに対してデータを書き込んだ。これに
対して、メモリ10bを使用する場合には、書き換え処
理(ステップS205)に置いて、予め用意されている
代替セクタを使用可能な状態に変更した後に、未使用の
セクタに対してデータの書き込みを行う。これにより、
メモリ10bの利用寿命を延ばすと共に、使用可能なメ
モリ容量を一定に維持することが可能となる。また、デ
ータの書き込み不良が、ある程度多く発生した場合に
は、付属するLED2を発光させたり、スピーカ3を鳴
らしたりして使用者に対して書き込みエラーが発生した
ことを通知する。図9は、書き換え処理(図8、ステッ
プS205)のフローチャートである。まず、書き込み
の失敗したセクタのセクタIDのセクタ情報エリアに無
効セクタを意味するデータを書き込む(ステップS22
0)。セクタID領域30内に、セクタ情報エリアに代
替セクタであることを意味するデータの書き込まれてい
る代替セクタIDが存在するか否かを検索する(ステッ
プS221)。ここで、代替セクタであることを意味す
るデータの書き込まれた代替セクタIDがある場合(ス
テップS222でYES)、代替セクタのセクタIDの
セクタ情報エリアに、未使用のセクタを意味するデータ
を書き込み、初期化する(ステップS223)。代替セ
クタIDの初期化が終了した後に、書き込み不良を起こ
したセクタの次にある未使用のセクタにデータを書き込
むと共に、書き込みを行ったセクタに対応するセクタI
Dのセクタ情報エリアに、使用中のセクタを意味するデ
ータを書き込む(ステップS224)。アドレス変換テ
ーブルを書き換え、ホスト100より指定される論理ア
ドレスに対応する物理セクタを上記ステップS224に
おいてデータを書き込んだセクタにする(ステップS2
25)。上記ステップS221において、代替セクタI
Dのセクタ情報エリアに、代替セクタを意味するデータ
の書き込まれているものが検索されない場合(ステップ
S222でNO)、ブロック33内に備える代替セクタ
を使いきったと判断して、以下の処理を実行する。ブロ
ックID43のブロック情報エリアに、未使用のブロッ
クを意味するデータの書き込まれているブロック(以
下、代替ブロックという)の所定のセクタに対して、デ
ータの書き込みを行うと共に、データの書き込みを行っ
たセクタのセクタIDに、使用中のセクタであることを
意味するデータを書き込む(ステップS226)。代替
セクタのなくなったブロック33内のデータの内、セク
タ情報エリアに使用中のセクタを意味するデータの書き
込まれているセクタIDに対応するセクタのデータを、
代替ブロックのセクタに連続してコピーする(ステップ
S227)。ステップS227で代替ブロックにコピー
されたブロック33内のセクタのセクタIDのセクタ情
報エリアに無効セクタを意味するデータを書き込む(ス
テップS228)。代替ブロックの各セクタIDのセク
タ情報エリアの内容を使用中のセクタを示すデータに書
き換えると共に、論理アドレスエリアのデータを書き換
える(ステップS229)。アドレス変換テーブルの内
容を変更する(ステップS230)。カード本体に備え
るLED2を発光させると共に、スピーカ3を鳴らし、
カード内部で書き込み不良が発生し、カードの容量が減
少していることを通知する(ステップS231)。な
お、使用者への通知は、LED2とスピーカ3の何れか
一方のみを用いて行っても良い。
【0023】(1−4)メモリの初期化 上に説明したように、LED2とスピーカ3とを用いて
使用者に対して書き込みエラーが発生したことを通知す
る。これに応答して、使用者の操作によってホスト10
0が、64kbyte型カード1aの初期化を行うオプショ
ナルコマンドを出力した場合、CPU4は、無効セクタ
を意味するデータの書き込まれているセクタIDを検索
し、このセクタを除くセクタに対して初期化を行うと共
に、実際に使用可能なメモリの容量を認識する。そして
ホスト100側からのIdentify Driveコマンドに対応し
て出力するメモリの容量についての情報を書き換える。
図10は、ホスト100より上記オプショナルコマンド
が入力された場合にCPU4の実行する処理のフローチ
ャートである。なお、フローチャートに示す変数mの初
期値は、カード内の全ブロック数である。オプショナル
コマンドを受けた後(ステップS250)、変数mの値
を調べる。ここで、変数mの値が0以外である場合(ス
テップS251でNO)、まず、ブロック内のセクタI
Dに、無効セクタを意味するデータが書き込まれている
か否かを調べる(ステップS252)。ここで、ブロッ
ク内に、無効セクタを意味するデータの書き込まれてい
るセクタIDが存在する場合(ステップS253でYE
S)、当該セクタIDを除くデータの消去を行う(ステ
ップS254)。また、ブロック内に、無効セクタを意
味するデータの書き込まれたセクタIDがない場合には
(ステップS253でNO)、メモリ10a内の全デー
タの消去を行う(ステップS255)。データの消去が
正常に終了した場合(ステップS256でYES)、代
替セクタIDのセクタ情報エリアに、代替セクタを意味
するデータを書き込む(ステップS257)と共にセク
タIDのセクタ情報エリアに、未使用のセクタを意味す
るデータを書き込む(ステップS258)。一方、消去
実施中にブロック内のあるセクタで消去不良が発生した
場合には(ステップS256でNO)、正常に消去する
ことのできた代替セクタIDのセクタ情報エリアに、代
替セクタを意味するデータを書き込み、セクタIDのセ
クタ情報エリアに、未使用セクタを意味するデータを書
き込む。データの消去不良を起こしたセクタのセクタI
D、又は代替セクタIDに、無効セクタを意味するデー
タを書き込む(ステップS259)。ブロックIDに
は、当該ブロックが未使用であるのか、又はデータが書
き込まれているのかといった情報を書き込むブロック情
報エリアの他に、当該ブロックが初期化された回数につ
いて記憶する消去回数エリアが設けられている。ステッ
プS258又はS259の処理終了後、データ消去を行
ったブロックのブロックIDの消去回数エリアに記憶さ
れている消去回数に1を加算し、ブロック情報エリア
に、未使用ブロックを意味するデータを書き込む(ステ
ップS260)。変数mの値から1を引き算し(ステッ
プS261)、ステップS251に戻る。全てのブロッ
クに対して消去が完了するまでステップS252〜S2
61の処理を繰り返し実行する。全てのブロックに対す
る消去処理が終了した場合(ステップS251でYE
S)、未使用のセクタの数をカウントし、Identify Dri
ve コマンドの入力に応じてホスト100へ与える情報
(シリンダ数、ヘッド数、セクタ数)を書き換える(ス
テップS262)。カード内部の処理の終了を意味する
ステータスフラグD3(DRQ信号)を”H”にセット
し(ステップS263)、ステータスレジスタのD7
(BSY信号)を”L”にセットした後に(ステップS
264)、ホスト100に対して割り込みを要求するI
REQ信号を”L”にセットする(ステップS26
5)。IREQ信号を”L”にセットすることでホスト
100によるチェックが行われる(ステップS26
6)。CPU4は、ホスト100からのIdentify Drive
コマンドの入力に対応して、メモリ10b内で実際に
使用可能なメモリ空間に関する情報(シリンダ数、ヘッ
ド数、セクタ数)を出力する。これにより、ホスト10
0は、使用可能なメモリ空間の情報を得ることができ
る。
【0024】(2)512byte型カード 先に説明した図1において、かっこ内に示す番号は、5
12kbyte型カード1bについてのものである。ホスト
100に接続される512kbyte型カード1bも、書き
込み、又は、書き換えエラーが発生したことを使用者に
知らせるための手段として、LED12とスピーカ13
を備える。図11は、512byte型カード1bの構成を
示す。512byte型カード1b内部にホスト100より
入力されるコマンドは、I/Fコントロール部15、P
Cカードコンフィグレーション部16、レジスタ部17
を介してCPU14に入力される。512byte型カード
1bの備えるメモリ19は、1セクタ(512byte)単
位でデータの書き込み、又は、書き換えを行う。CPU
14は、ホスト100からの論理アドレスに対応して、
アドレス変換回路により定められる物理セクタのセクタ
IDに書き込まれている情報を読み出す。ここで、上記
物理セクタが使用可能なセクタである場合には、当該物
理セクタにデータの書き込みを行う。データの書き込み
の後に、書き込みを行ったセクタのセクタIDの内容を
更新する。また、CPU14は、書き込みを行う物理セ
クタが使用不可能な無効セクタである場合、後に説明す
る2つの書き換え処理の内の何れか一方を実行する。メ
モリ19内の代替セクタの数が、基準値q以下になった
場合、LED12を発光させると共に、スピーカ13を
鳴らして、書き込みエラーの発生を使用者に知らせる。
【0025】図12は、メモリ19のメモリ空間を示
す。メモリ19は、データ転送単位(512byte/セク
タ)にて消去可能なフラッシュメモリである。メモリ1
9のメモリ空間は、大きく分けて3つのパートから構成
される。第1のパートは、複数のセクタID54を記憶
するセクタID領域51である。セクタID54は、各
セクタに一対一に設けられており、各セクタIDには、
論理アドレスエリアと、セクタ情報エリアと、ECCエ
リアとがある。セクタ情報エリアには、対応するセクタ
が使用中のセクタであるのか、未使用のセクタであるの
か、又は、書き込み不良を起こした無効セクタであるの
かを意味するデータが書き込まれる。第2のパートは、
セクタを記憶するセクタ領域52である。セクタ領域5
2内の各セクタ55は、512byteを単位として書き込
み、書き換えを行うことができる。第3のパートは、代
替セクタ領域53である。代替セクタ領域53は、書き
込み不良を起こしたセクタの代わりに使用することを目
的とする複数の代替セクタ56からなる領域である。な
お、セクタID領域51のクロスハッチングで示す領域
には、代替セクタに対応する代替セクタID57が記憶
されている。
【0026】図13は、データの書き込み、又は、書き
換え時にCPU14の実行する処理のフローチャートで
ある。まず、512byte型カード1bがホスト100か
らの書き込み、又は書き換え等の要求の受け入れ準備が
できていることをホスト100に伝えるために、カード
内部のステータスレジスタのD3(DRQ信号)を”
L”にセットする(ステップS300)。これに対し
て、ホスト100から、ある論理アドレスに対する書き
込み、又は書き換えコマンドを受け取った後(ステップ
S301)、カード内部でのコマンドの処理を実施する
ためにステータスレジスタのD7(BSY信号)を”
H”にする(ステップS302)。ホスト100からの
論理アドレスに対応するカード内部の物理セクタへのデ
ータの書き込み、又は、書き換えを実行する(ステップ
S303)。ここで、書き込み、又は書き換えを行う物
理セクタに書き込みエラーが発生した場合(ステップS
304でYES)、所定の書き換え処理を実行する(ス
テップS305)。書き換え処理については、後に説明
する。ステップS305の書き換え処理が終了した場
合、又は、書き込みエラーが発生しなかった場合(ステ
ップS304でNO)には、カード内部の処理の終了を
意味するステータスフラグD3(DRQ信号)を”H”
にセットし(ステップS306)、ステータスレジスタ
のD7(BSY信号)を”L”にセットした後に(ステ
ップS307)、ホスト100に対して割り込みを要求
するIREQ信号を”L”にセットする(ステップS3
08)。IREQ信号を”L”にセットすることでホス
ト100によるチェックが行われる(ステップS30
9)。
【0027】(2−1)書き換え処理の第1例 書き換え処理(ステップS305)の第1例では、CP
U14は、書き込み不良を起こしたセクタの代わりに未
使用の代替セクタにデータを書き込み、ホスト100か
らアクセス可能なセクタ数を維持する。これによりメモ
リ19の利用寿命を延ばす。また、残りの代替セクタの
数が所定の基準値q以下となった場合、カード1bに備
えるLED12を発光させると共に、スピーカ13を鳴
らして使用者に知らせる。書き込み不良を起こしたセク
タのセクタIDのセクタ情報エリアに無効セクタを意味
するデータを書き込むと共に、論理アドレスエリアに、
代替セクタのアドレスを書き込む。この後、CPU14
は、アクセスしたセクタのセクタIDのセクタ情報エリ
アに、無効セクタを意味するデータが書き込まれている
場合には、このセクタIDの論理アドレスエリアに書き
込まれている代替セクタのアドレスを読み出し、読み出
したアドレスの代替セクタに対してデータの書き込み、
又は、読み出しを行う。
【0028】図14は、書き換え処理(図13、ステッ
プS305)の第1例のフローチャートである。まず、
代替セクタであることを意味するデータの書き込まれた
代替セクタIDを検索する(ステップS350)。ここ
で、代替セクタであることを意味するデータの書き込ま
れた代替セクタIDが検索された場合(ステップS35
1でYES)、この代替セクタIDのセクタ情報エリア
に、未使用のセクタを意味するデータを書き込み初期化
した後に、対応する代替セクタにデータを書き込む(ス
テップS352)。この代替セクタIDのセクタ情報エ
リアに、使用中のセクタを意味するデータを書き込む
(ステップS353)。書き込み不良を起こしたセクタ
のセクタIDのセクタ情報エリアに無効セクタを意味す
るデータを書き込むと共に、論理アドレスエリアに代替
セクタの物理アドレスを書き込む(ステップS35
4)。CPU14は、例えば、ホスト100により読み
出し要求のなされた論理アドレスに対応するセクタが無
効セクタであることを確認すると、そのセクタIDの論
理アドレスエリアに書き込まれているアドレスにある代
替セクタからデータを読み出し、読み出したデータをホ
スト100の転送する。ここで、残りの代替セクタの数
が所定の基準値q以下となった場合(ステップS355
でYES)、カード1bに備えるLED12を発光させ
ると共に、スピーカ13を鳴らして使用者に知らせる
(ステップS356)。セクタ情報エリアに”代替セク
タ”を意味するデータの書き込まれている代替セクタI
Dがない場合(ステップS351でNO)、エラーレジ
スタのD7(BAD BLOCK REGISTER)を1にセットし(ス
テップS357)、ステータスレジスタのD0(ERR)
を1にセットする(ステップS358)。
【0029】図15は、読み出し処理のフローチャート
である。所定の論理アドレスに対する読み出しコマンド
の受け付けを行う(ステップS401)。アドレス変換
回路18により特定される物理アドレスにあるセクタの
セクタIDのセクタ情報エリアに、無効セクタを意味す
るデータが書き込まれている場合(ステップS402で
YES)、セクタIDの論理アドレスエリアに書き込ま
れているアドレスを読み出す(ステップS403)。読
み出したアドレスにある代替セクタのデータを読み出す
(ステップS404)。また、読み出そうとするセクタ
のセクタIDのセクタ情報エリアに無効セクタを意味す
るデータが書き込まれていない場合には(ステップS4
02でNO)、当該セクタのデータを読み出す(ステッ
プS405)。
【0030】(2−2)書き換え処理の第2例 書き換え処理(ステップS305)の第2例では、CP
U14は、書き込み不良を起こしたセクタのセクタID
のセクタ情報エリアに無効セクタを意味するデータを書
き込む。この後、未使用の代替セクタにデータの書き込
みを行うと共に、当該代替セクタのセクタIDの論理ア
ドレスエリアに、上記書き込み不良を起こしたセクタの
セクタIDの論理アドレスエリアに書き込まれている論
理アドレスのデータを書き込む。これにより、メモリ1
9内で使用可能なセクタの数を維持したまま、メモリ1
9の利用寿命を延ばす。また、残りの代替セクタの数が
所定の基準値q以下となった場合、カード1bに備える
LED12を発光させると共に、スピーカ13を鳴らし
て使用者に知らせる。この後、CPU14は、アクセス
したセクタが無効セクタである場合に、使用中の代替セ
クタの内、代替セクタIDの論理アドレスエリアに、上
記アクセスしたセクタのセクタIDの論理アドレスエリ
アに書き込まれているアドレスと同じアドレスのデータ
が書き込まれているものを検索し、検索した代替セクタ
に対してデータの書き込み、又は、読み出しを行う。
【0031】図16は、書き換え処理(図13、ステッ
プS305)の第2例のフローチャートである。書き込
み不良を起こしたセクタIDのセクタ情報エリアに、無
効セクタを意味するデータを書き込む(ステップS50
0)。セクタ情報エリアに、代替セクタを意味するデー
タの書き込まれた代替セクタIDを検索する(ステップ
S501)。ここで、代替セクタを意味するデータの書
き込まれた代替セクタIDがある場合(ステップS50
2でYES)、この代替セクタIDのセクタ情報エリア
に、未使用のセクタを意味するデータを書き込んで初期
化した後に、対応する代替セクタにデータを書き込む
(ステップS503)。代替セクタIDのセクタ情報エ
リアに、使用中のセクタを意味するデータを書き込むと
共に、論理アドレスエリアに、書き込み不良を起こした
セクタIDの論理アドレスエリアに書き込まれている論
理アドレスと同じアドレスのデータを書き込む(ステッ
プS504)。残りの代替セクタの数が所定の基準値q
以下になった場合(ステップS505でYES)、カー
ド1bに備えるLED12を発光させると共に、スピー
カ13を鳴らして使用者に知らせる(ステップS50
6)。セクタ情報エリアに”代替セクタ”を意味するデ
ータの書き込まれている代替セクタIDがない場合(ス
テップS505でNO)、エラーレジスタのD7(BAD
BLOCK REGISTER)を1にセットし(ステップS50
7)、ステータスレジスタのD0(ERR)を1にセット
する(ステップS508)。
【0032】図17は、読み出し処理のフローチャート
である。所定の論理アドレスに対応する読み出しコマン
ドの受け付けを行う(ステップS551)。アドレス変
換回路18により特定される物理アドレスにあるセクタ
のセクタIDのセクタ情報エリアに、無効セクタを意味
するデータが書き込まれている場合(ステップS552
でYES)、セクタIDの論理アドレスエリアに書き込
まれているアドレスの読み出しを行う(ステップS55
3)。代替セクタIDの論理アドレスエリアに上記ステ
ップS553に置いて読み出したアドレスと同じアドレ
スの書き込まれている代替セクタを検索する(ステップ
S554)。検索した代替セクタのデータを読み出す
(ステップS555)。また、読み出そうとするセクタ
のセクタIDのセクタ情報エリアに無効セクタを意味す
るデータが書き込まれていない場合には(ステップS5
52でNO)、当該セクタのデータを読み出す(ステッ
プS556)。
【0033】(2−3)メモリの初期化 上記説明するように、512byte型カード1bは、LE
D12を発光すると共に、スピーカ13から警告音を鳴
らすことで、使用者に対して複数のセクタで書き込みエ
ラーが発生したことを通知する。これに対して、使用者
がホスト100を操作して、512byte型カード1bの
初期化を行う所定のオプショナルコマンドを出力した場
合、CPU14は、セクタIDのセクタ情報エリアに無
効セクタを意味するデータの書き込まれているセクタを
除くセクタに対して初期化を行うと共に、実際に使用可
能なメモリの容量を認識する。そしてホスト100側か
らのIdentify Driveコマンドの入力に対応して、出力す
るメモリの容量についての情報を書き換える。ホスト1
00は、使用可能なメモリ空間の情報を得ることができ
る。
【0034】図18は、ホスト100より上記オプショ
ナルコマンドが入力された場合にCPU14の実行する
処理のフローチャートである。なお、フローチャートに
示す変数nの初期値は、カード内の全セクタ数である。
コマンドの要求を受けた後(ステップS601)、変数
nの値を判断する。ここで、変数nの値が0以外である
場合(ステップS602でNO)、セクタIDに無効セ
クタを意味するデータが書き込まれているか否かを調べ
る(ステップS603)。ここで、セクタIDのセクタ
情報エリアに無効セクタを意味するデータが書き込まれ
ていない場合には(ステップS603でNO)、当該セ
クタのデータの消去を行う(ステップS604)。セク
タのデータ消去が正常に終了した場合(ステップS60
5でYES)、当該セクタの初期化を行う(ステップS
606)。即ち、当該セクタが代替セクタの場合には、
代替セクタIDのセクタ情報エリアに、代替セクタを意
味するデータを書き込み、当該セクタが通常のセクタで
ある場合には、セクタIDのセクタ情報エリアに、未使
用のセクタであることを意味するデータを書き込む。一
方、消去実施中のブロック内のセクタでデータ消去の不
良が発生した場合には(ステップS605でNO)、デ
ータ消去の不良を起こしたセクタの代替セクタID、又
はセクタIDに、無効セクタを意味するデータを書き込
む(ステップS607)。変数nの値から1を引き算し
(ステップS608)、ステップS602に戻る。メモ
リ19内の全セクタに対してデータの消去が完了するま
でステップS603〜S608の処理を繰り返し実行す
る。メモリ19内の全セクタに対するデータ消去が終了
した場合(ステップS602でYES)、セクタIDに
未使用のセクタであることを意味するデータの書き込ま
れているセクタの数をカウントし、ホスト100からの
Identify Drive コマンドの入力に応じてホストへ与え
る情報(シリンダ数、ヘッド数、セクタ数)を書き換え
る(ステップS609)。カード内部の処理の終了を意
味するステータスフラグD3(DRQ信号)を”H”に
セットし(ステップS610)、ステータスレジスタの
D7(BSY信号)を”L”にセットした後に(ステッ
プS611)、ホスト100に対して割り込みを要求す
るIREQ信号を”L”にセットする(ステップS61
2)。IREQ信号を”L”にセットすることでホスト
100によるチェックを受ける(ステップS613)。
CPU14は、ホスト100からのIdentify Drive コ
マンドの入力に対応してメモリ19内で実際に使用可能
なメモリ空間に関する情報(シリンダ数、ヘッド数、セ
クタ数)を出力する。メモリ19内で書き込み及び消去
不良を起こしたセクタについては、セクタIDのセクタ
情報エリアに、無効セクタを意味するデータが書き込ま
れている。ホスト100は、使用可能なメモリ空間の情
報を得ることができる。
【0035】以上、512byte型カード1bにおいて、
データの書き込み不良が発生した場合に、CPU14の
実行する書き換え処理について説明したが、アドレス変
換回路18の代わりにアドレス変換テーブルを備え、書
き込み不良を起こしたセクタの代わりに未使用のセクタ
に対してデータの書き込みを行うこととしても良い。ま
たは、予め備えている代替セクタの一つを使用可能な状
態にして、使用可能なメモリの容量を一定に維持すると
共に、書き込み不良を起こしたセクタの代わりに未使用
のセクタに対してデータの書き込みを行うこととしても
良い。この場合、アドレス変換テーブルの内容を変更
し、ホスト100により指定される論理アドレスに対応
する物理セクタを、上記代わりにデータの書き込みを行
ったセクタにする。また、メモリの初期化については、
図18を用いて説明した処理と同じである。
【0036】
【発明の効果】本発明の第1の記憶装置は、所定の論理
アドレスに対するデータの書き込みコマンドを受け取っ
た際に、この論理アドレスに対応するフラッシュメモリ
内のセクタが書き込み不良を起こした場合であっても、
未使用の他のセクタに対してデータの書き込みを行う。
これにより、フラッシュメモリ内の一部のセクタが書き
込みできなくともエラー終了せずにデータの書き込みを
行うことが可能となり、フラッシュメモリの利用寿命を
延ばすことができる。また、データ書き込み手段により
データの書き込みを行うセクタが変更された場合、アド
レス変換テーブルの論理アドレスに対するフラッシュメ
モリ内のセクタのアドレスを、データの書き込みを行っ
たセクタのアドレスに変更する制御部を備えるため、デ
ータの書き込みコマンドを出力するホスト側での特別な
処理が不要となる。
【0037】また、本発明の第2の記憶装置では、所定
の論理アドレスに対するデータの書き込みコマンドを受
け取った際に、この論理アドレスに対応するフラッシュ
メモリ内のセクタが書き込み不良を起こした場合であっ
ても、未使用の他のセクタに対してデータの書き込みを
行うと共に、代替セクタを使用可能にする。これによ
り、フラッシュメモリ内の一部のセクタが書き込みでき
なくともエラー終了せずにデータの書き込みを行うこと
ができ、メモリの利用寿命を延ばすことが可能になると
共に、フラッシュメモリ内で使用できるセクタの数を一
定に維持することができる。また、データ書き込み手段
によりデータの書き込みを行うセクタが変更された場
合、アドレス変換テーブルの論理アドレスに対するフラ
ッシュメモリのセクタのアドレスを、データの書き込み
を行ったセクタのアドレスに変更する制御部を備えるた
め、データの書き込みコマンドを出力するホスト側での
特別な処理が不要となる。
【0038】また、より好ましい構成の第1又は第2の
記憶装置では、データの消去を行うコマンドを受け付け
た際に、完全にデータが消去されたセクタの数に基づい
て使用可能なメモリ空間についての情報を書き換える。
PCカードに接続されるホストは、この情報により、ホ
スト100は、使用可能なメモリ空間の情報を得ること
ができる。
【0039】本発明の第3の記憶装置では、ブロック内
に備える予備のセクタを全て使用した場合には、未使用
の他のブロックにデータを書き込む。これにより、フラ
ッシュメモリの利用寿命を延ばす。また、データ書き込
み手段によりデータを書き込みを行うセクタが変更され
た場合、アドレス変換テーブルの論理アドレスに対する
フラッシュメモリ内のセクタのアドレスを、データの書
き込みを行ったセクタのアドレスに変更する制御部を備
えるため、データの書き込みコマンドを出力するホスト
側での特別な処理が不要となる。
【0040】また、本発明のより好ましい構成の第3の
記憶装置では、データ消去手段が、書き込み手段により
データの書き込みのできなかったセクタを除く各セクタ
のデータを消去し、完全にデータの消去されたセクタの
数に基づいて、使用可能なメモリ空間についての情報を
書き換える。PCカードに接続されるホストは、この情
報により、書き込み不良やデータの消去不良を起こすセ
クタに対するアクセスを回避することが可能となる。ま
た、発光部又は、スピーカと、データ書き込み手段によ
り、未使用のブロックへのデータの書き込みが行われた
場合、発光部を発光させ、又は、スピーカを鳴らすこと
で、使用者に書き込みエラーが発生したことを通知する
ことができる。
【0041】本発明の第4及び第5の記憶装置では、書
き込み不良を起こしたセクタの代わりに予備のセクタに
対してデータの書き込みを行い、外部よりアクセス可能
なセクタ数を維持する。これにより、フラッシュメモリ
の利用寿命を延ばすことができる。また、本発明の第4
及び第5の記憶装置では、論理アドレスの入力に対し
て、対応するフラッシュメモリ内のセクタのアドレスを
出力するアドレス変換回路を用いる場合であっても、そ
れぞれデータ読み出し手段を備えることで、データの書
き込みコマンドを出力するホスト側での特別な処理が不
要となる。
【0042】より好ましくは、第4又は第5の記憶装置
では、データの消去を行うコマンドを受け付けた場合
に、データ消去手段がセクタIDに使用中の状態を意味
するデータが書き込まれているセクタのデータを消去
し、データの消去が正常に終了したセクタのセクタID
に未使用を意味するデータを書き込み、データを正常に
消去できなかったセクタのセクタIDに対して、使用不
可能な状態であることを意味するデータを書き込み、セ
クタIDに未使用を意味するデータの書き込まれている
セクタの数に基づいて、使用可能なメモリ空間について
の情報を書き換える。PCカードに接続されるホスト
は、書き換えられた情報に基づいて、不良セクタに対す
るアクセスを回避することができる。また、通知手段
が、フラッシュメモリ内の代替セクタの残りが所定値以
下になった場合に、発光部を発光させ、又は、スピーカ
を鳴らすことで、使用者に対して、複数のセクタで書き
込みエラーが発生していることを知らせることができ
る。
【図面の簡単な説明】
【図1】 ホスト100と、PCカード1a(1b)を
示す図である。
【図2】 64kbyte型カード1aの構成を示す図であ
る。
【図3】 メモリ10aのメモリマップである。
【図4】 メモリ10aを用いる場合に、データの書き
込み、又は、書き換え時のフローチャートである。
【図5】 書き換え処理(図4、ステップS105)の
フローチャートである。
【図6】 メモリ10aを用いる64kbyte型カード1
aの初期化のフローチャートである。
【図7】 メモリ10bのメモリマップである。
【図8】 メモリ10bを用いる場合に、データの書き
込み、又は、書き換え時のフローチャートである。
【図9】 書き換え処理(図8、ステップS205)の
フローチャートである。
【図10】 メモリ10bを用いる64kbyte型カード
1aの初期化のフローチャートである。
【図11】 512byte型カード1bの構成を示す図で
ある。
【図12】 メモリ19のメモリマップである。
【図13】 メモリ19を用いる場合に、データの書き
込み、又は、書き換え時のフローチャートである。
【図14】 書き換え処理(図13、ステップS30
5)の第1例のフローチャートである。
【図15】 読み出し処理のフローチャートである。
【図16】 書き換え処理(図13、ステップS30
5)の第2例のフローチャートである。
【図17】 読み出し処理のフローチャートである。
【図18】 メモリ19を用いる512byte型カード1
bの初期化のフローチャートである。
【符号の説明】
1a…64kbyte型カード、1b…512byte型カー
ド、2,12…LED、3,13…スピーカ、4,14
…CPU、5,15…I/Fコントロール部、6,16
…PCカードコンフィグレーション部、7,17…レジ
スタ部、8…アドレス変換テーブル、18…アドレス変
換回路、10,10a,10b,19…メモリ、23,
34,54…セクタID、20,30,51…セクタI
D領域、24,35,41,55…セクタ、21,3
1,52…セクタ領域、36,42,56…代替セク
タ、32,53…代替セクタ領域、100…ホスト

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 複数のセクタからなるフラッシュメモリ
    と、 論理アドレスに対応するフラッシュメモリ内のセクタの
    アドレスを記憶するアドレス変換テーブルと、 データの書き込みコマンドにより指定される論理アドレ
    スに対応するフラッシュメモリ内のセクタのアドレスを
    アドレス変換テーブルに基づいて特定し、特定されたア
    ドレスにあるセクタにデータの書き込みを行い、上記セ
    クタにデータの書き込みができない場合には、書き込み
    可能な他のセクタに対してデータの書き込みを行うデー
    タ書き込み手段と、 データ書き込み手段によりデータの書き込みを行うセク
    タが変更された場合、アドレス変換テーブルの論理アド
    レスに対するフラッシュメモリ内のセクタのアドレス
    を、データの書き込みを行ったセクタのアドレスに変更
    する書換手段とを備えることを特徴とする記憶装置。
  2. 【請求項2】 複数のセクタ及び予備のセクタを備える
    フラッシュメモリと、 論理アドレスに対応するフラッシュメモリ内のセクタの
    アドレスを記憶するアドレス変換テーブルと、 データの書き込みコマンドにより指定される論理アドレ
    スに対応するフラッシュメモリ内のセクタのアドレス
    を、アドレス変換テーブルに基づいて特定し、特定され
    たアドレスにあるセクタにデータの書き込みを行い、上
    記セクタにデータの書き込みができない場合には、フラ
    ッシュメモリの予備のセクタを使用可能な状態にすると
    共に、特定手段により特定されたセクタの代わりに書き
    込み可能な他のセクタにデータの書き込みを行うデータ
    書き込み手段と、 データ書き込み手段によりデータの書き込みを行うセク
    タが変更された場合、アドレス変換テーブルの論理アド
    レスに対するフラッシュメモリのセクタのアドレスを、
    データの書き込みを行ったセクタのアドレスに変更する
    書換手段とを備えることを特徴とする記憶装置。
  3. 【請求項3】 請求項1又は請求項2に記載された記憶
    装置であって、 更に、フラッシュメモリ内のデータの消去を行うコマン
    ドに応答して、書き込み手段によりデータの書き込みの
    できなかったセクタを除く各セクタのデータを消去し、
    完全にデータが消去されたセクタの数に基づいて使用可
    能なメモリ空間についての情報を書き換えるデータ消去
    手段を備えることを特徴とする記憶装置。
  4. 【請求項4】 複数のセクタからなるブロック単位でデ
    ータの消去を行うフラッシュメモリであって、各ブロッ
    ク毎に予備のセクタを備えるフラッシュメモリと、 論理アドレスに対応するフラッシュメモリ内のセクタの
    アドレスを記憶するアドレス変換テーブルと、 データを格納するデータバッファと、 データの書き込みコマンドにより指定される論理アドレ
    スに対応するフラッシュメモリ内のセクタのアドレス
    を、アドレス変換テーブルに基づいて特定し、フラッシ
    ュメモリ内の上記特定されたアドレスにあるセクタにデ
    ータの書き込みを行い、当該セクタにデータの書き込み
    ができない場合には、特定されたセクタのアドレスを含
    むブロックの予備のセクタを使用可能な状態にすると共
    に、書き込み可能な他のセクタにデータの書き込みを行
    い、ブロック内の予備のセクタが全て使用されている場
    合には、未使用のブロックにデータの書き込みを行うと
    共に、予備のセクタが全て使用されている上記ブロック
    のデータをフラッシュメモリより読み出してデータバッ
    ファに格納し、データバッファに格納されているブロッ
    ク内においてデータの書き込まれているセクタのデータ
    を上記未使用のブロック内のセクタに連続的に書き込む
    データ書き込み手段と、 データ書き込み手段によりデータの書き込みを行うセク
    タが変更された場合、アドレス変換テーブルの論理アド
    レスに対するフラッシュメモリ内のセクタのアドレス
    を、データの書き込みを行ったセクタのアドレスに変更
    する書換手段とを備えることを特徴とする記憶装置。
  5. 【請求項5】 請求項4に記載された記憶装置であっ
    て、 更に、フラッシュメモリ内のデータの消去を行うコマン
    ドに応答して、各ブロック単位に、書き込み手段により
    データの書き込みのできなかったセクタを除く各セクタ
    のデータを消去し、完全にデータの消去されたセクタの
    数に基づいて、使用可能なメモリ空間についての情報を
    書き換えるデータ消去手段を備えることを特徴とする記
    憶装置。
  6. 【請求項6】 請求項5に記載された記憶装置であっ
    て、 更に、発光部と、 データ書き込み手段により、未使用のブロックへのデー
    タの書き込みが行われた場合、発光部を発光させる通知
    手段を備えることを特徴とする記憶装置。
  7. 【請求項7】 請求項5に記載された記憶装置であっ
    て、 更に、スピーカと、 データ書き込み手段により、未使用のブロックへのデー
    タの書き込みが行われた場合、スピーカを鳴らす通知手
    段とを備えることを特徴とする記憶装置。
  8. 【請求項8】 セクタ領域と、各セクタについて、使
    用、未使用、又は、使用不可能のいずれの状態であるの
    かを意味するデータと、セクタが対応する論理アドレス
    のデータとを記憶するセクタIDからなるセクタID領
    域と、予備のセクタからなる予備セクタ領域とで構成さ
    れるメモリ空間を持つフラッシュメモリと、 論理アドレスの入力に対してフラッシュメモリ内のセク
    タのアドレスを出力するアドレス変換回路と、 データの書き込みコマンドにより指定される論理アドレ
    スに対して、アドレス変換回路により出力されるフラッ
    シュメモリ内のアドレスにあるセクタのセクタIDに、
    使用、又は、未使用の状態であることを意味するデータ
    が書き込まれている場合は、データの書き込みを行い、
    当該セクタに対してデータの書き込みができない場合に
    は、当該セクタのセクタIDに使用不可能の状態を意味
    するデータを書き込み、予備のセクタを使用可能な状態
    に初期化し、未使用の他のセクタにデータを書き込むと
    共に、上記セクタのセクタIDが記憶している論理アド
    レスのデータの代わりに、上記他のセクタのアドレスの
    データを書き込むデータ書き込み手段と、 データの読み出しコマンドにより指定される論理アドレ
    スに対して、アドレス変換回路により出力されるフラッ
    シュメモリ内のアドレスにあるセクタのセクタIDに、
    当該セクタが使用不可能な状態であることを意味するデ
    ータが書き込まれている場合には、論理アドレスの代わ
    りに記憶しているアドレスにあるセクタのデータを読み
    出すデータ読み出し手段とを備えることを特徴とする記
    憶装置。
  9. 【請求項9】 セクタ単位でデータの書き込みを行い、
    各セクタについて、使用、未使用、又は、使用不可能の
    いずれの状態であるのかを意味するデータと、セクタの
    対応する論理アドレスのデータとを記憶するセクタID
    と、予備のセクタとを備えるフラッシュメモリと、 論理アドレスの入力に対して、対応するフラッシュメモ
    リ内のセクタのアドレスを出力するアドレス変換回路
    と、 データの書き込みコマンドにより指定される論理アドレ
    スに対して、アドレス変換回路により出力されるフラッ
    シュメモリ内のアドレスにあるセクタのセクタIDに、
    当該セクタが使用、又は、未使用の状態を意味するデー
    タが書き込まれている場合には、データの書き込みを行
    い、当該セクタにデータの書き込みができない場合に
    は、当該セクタのセクタIDに使用不可能な状態である
    ことを意味するデータを書き込み、予備のセクタを使用
    可能な状態に初期化し、未使用の他のセクタにデータを
    書き込むと共に、当該データの書き込みを行ったセクタ
    のセクタIDに上記書き込みのできなかったセクタのセ
    クタIDに記憶されている論理アドレスのデータを書き
    込むデータ書き込み手段と、 データの読み出しコマンドにより指定される論理アドレ
    スに対して、アドレス変換回路により出力されるフラッ
    シュメモリ内のアドレスにあるセクタのセクタIDに、
    当該セクタが使用不可能な状態であることを意味するデ
    ータが書き込まれている場合には、使用可能な状態の予
    備のセクタであって、上記使用不可能なセクタのセクタ
    IDに記憶されている論理アドレスと同じ論理アドレス
    のデータを記憶しているセクタIDのセクタのデータを
    読み出すデータ読み出し手段とを備えることを特徴とす
    る記憶装置。
  10. 【請求項10】 請求項8又は請求項9に記載されてい
    る記憶装置であって、 更に、フラッシュメモリ内のデータの消去を行うコマン
    ドに応答して、セクタIDに使用中の状態を意味するデ
    ータが書き込まれているセクタのデータを消去し、デー
    タの消去が正常に終了したセクタのセクタIDに未使用
    を意味するデータを書き込み、データを正常に消去でき
    なかったセクタのセクタIDに対して、使用不可能な状
    態であることを意味するデータを書き込み、セクタID
    に未使用を意味するデータの書き込まれているセクタの
    数に基づいて、使用可能なメモリ空間についての情報を
    書き換えるデータ消去手段を備えることを特徴とする記
    憶装置。
  11. 【請求項11】 請求項10に記載された記憶装置であ
    って、 更に、発光部と、 フラッシュメモリ内の代替セクタの残りが所定値以下に
    なった場合に、発光部を発光させる通知手段を備えるこ
    とを特徴とする記憶装置。
  12. 【請求項12】 請求項10に記載された記憶装置であ
    って、 更に、スピーカと、 フラッシュメモリ内の代替セクタの残りが所定値以下に
    なった場合に、スピーカを鳴らす通知手段を備えること
    を特徴とする記憶装置。
JP21059295A 1995-08-18 1995-08-18 記憶装置 Pending JPH0954726A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP21059295A JPH0954726A (ja) 1995-08-18 1995-08-18 記憶装置
DE19608713A DE19608713A1 (de) 1995-08-18 1996-03-06 Speichereinheit
GB9605873A GB2304428A (en) 1995-08-18 1996-03-20 Flash memory device
CN96104987A CN1143812A (zh) 1995-08-18 1996-04-16 存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21059295A JPH0954726A (ja) 1995-08-18 1995-08-18 記憶装置

Publications (1)

Publication Number Publication Date
JPH0954726A true JPH0954726A (ja) 1997-02-25

Family

ID=16591880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21059295A Pending JPH0954726A (ja) 1995-08-18 1995-08-18 記憶装置

Country Status (4)

Country Link
JP (1) JPH0954726A (ja)
CN (1) CN1143812A (ja)
DE (1) DE19608713A1 (ja)
GB (1) GB2304428A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446223B1 (en) 1998-09-09 2002-09-03 Hitachi, Ltd. Storage system and method for controlling the same
US6601132B2 (en) 2000-09-29 2003-07-29 Kabushiki Kaisha Toshiba Nonvolatile memory and method of writing data thereto

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6978342B1 (en) 1995-07-31 2005-12-20 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US8171203B2 (en) 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6148354A (en) 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
CN1088218C (zh) 1999-11-14 2002-07-24 邓国顺 用于数据处理系统的快闪电子式外存储方法及其装置
US7167944B1 (en) 2000-07-21 2007-01-23 Lexar Media, Inc. Block management for mass storage
US7155559B1 (en) 2000-08-25 2006-12-26 Lexar Media, Inc. Flash memory architecture with separate storage of overhead and user data
GB0123421D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Power management system
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
GB0123415D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
US7231643B1 (en) 2002-02-22 2007-06-12 Lexar Media, Inc. Image rescue system including direct communication between an application program and a device driver
US6891752B1 (en) * 2002-07-31 2005-05-10 Advanced Micro Devices System and method for erase voltage control during multiple sector erase of a flash memory device
US7725628B1 (en) 2004-04-20 2010-05-25 Lexar Media, Inc. Direct secondary device interface by a host
US7370166B1 (en) 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
US7594063B1 (en) 2004-08-27 2009-09-22 Lexar Media, Inc. Storage capacity status
US7464306B1 (en) 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
CN100345123C (zh) * 2004-11-27 2007-10-24 鸿富锦精密工业(深圳)有限公司 延长非易失性存储器使用寿命的装置及方法
KR100746289B1 (ko) 2005-07-11 2007-08-03 삼성전자주식회사 메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치및 방법
CN101425337B (zh) * 2007-10-29 2011-11-30 芯邦科技(深圳)有限公司 一种闪存数据存储方法和装置
CN100463492C (zh) * 2007-12-18 2009-02-18 中国电子科技集团公司第五十四研究所 安全接收芯片存储台名的方法
CN102306128B (zh) * 2011-09-16 2013-11-20 北京星网锐捷网络技术有限公司 磁盘管理方法、装置及网络设备
CN110908593B (zh) * 2018-09-17 2024-02-20 兆易创新科技集团股份有限公司 一种存储空间擦除方法、装置、存储设备及存储介质
CN111061649B (zh) * 2019-10-28 2023-09-29 宁波三星智能电气有限公司 一种存储器的存储空间自适应分配方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4896262A (en) * 1984-02-24 1990-01-23 Kabushiki Kaisha Meidensha Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory
DE3704213A1 (de) * 1986-02-20 1987-08-27 Sharp Kk Diskettenaufzeichnungsverfahren
DE69033438T2 (de) * 1989-04-13 2000-07-06 Sandisk Corp Austausch von fehlerhaften Speicherzellen einer EEprommatritze
JP2582487B2 (ja) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
JP2647312B2 (ja) * 1992-09-11 1997-08-27 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性半導体記憶装置
US5359570A (en) * 1992-11-13 1994-10-25 Silicon Storage Technology, Inc. Solid state peripheral storage device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446223B1 (en) 1998-09-09 2002-09-03 Hitachi, Ltd. Storage system and method for controlling the same
US6601132B2 (en) 2000-09-29 2003-07-29 Kabushiki Kaisha Toshiba Nonvolatile memory and method of writing data thereto

Also Published As

Publication number Publication date
GB9605873D0 (en) 1996-05-22
GB2304428A (en) 1997-03-19
CN1143812A (zh) 1997-02-26
DE19608713A1 (de) 1997-02-20

Similar Documents

Publication Publication Date Title
JPH0954726A (ja) 記憶装置
US8291155B2 (en) Data access method, memory controller and memory storage system
US8195872B2 (en) Method of controlling semiconductor memory card system
US6591328B1 (en) Non-volatile memory storing address control table data formed of logical addresses and physical addresses
JP4238514B2 (ja) データ記憶装置
US8239639B2 (en) Method and apparatus for providing data type and host file information to a mass storage system
US8775771B2 (en) Block management method for a flash memory and flash memory controller and storage system using the same
US8312554B2 (en) Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus
US7898862B2 (en) Memory card, semiconductor device, and method of controlling memory card
TWI408551B (zh) 快閃記憶體儲存系統及其控制器與資料處理方法
US20090089484A1 (en) Data protection method for power failure and controller using the same
US9785384B2 (en) Semiconductor storage device and method for controlling nonvolatile semiconductor memory
JP2003085054A (ja) フラッシュメモリを搭載した半導体記憶装置における装置寿命警告発生システムとその方法
JP2010152913A (ja) セクタ書き込み操作時間を効果的に減少させるための不揮発性メモリユニット内のブロックの構成
JP2003308241A (ja) データ記憶装置
JPH05151097A (ja) 書換回数制限型メモリのデータ管理方式
KR20110107857A (ko) 솔리드 스테이트 메모리 포멧팅
WO2006009322A2 (en) Memory card, nonvolatile semiconductor memory, and method of controlling semiconductor memory
US8352673B2 (en) Data writing method for a flash memory, and flash memory controller and flash memory storage system using the same
US20110145481A1 (en) Flash memory management method and flash memory controller and storage system using the same
US8156278B2 (en) Non-volatile data storage system and method thereof
WO2001008014A1 (en) Recording system, data recording device, memory device, and data recording method
US8255656B2 (en) Storage device, memory controller, and data protection method
JP2003242470A (ja) 外部接続機器及びホスト機器
US20200356491A1 (en) Data storage device and method for loading logical-to-physical mapping table thereof