JP2001134496A - 不揮発性半導体メモリを用いた記憶装置 - Google Patents
不揮発性半導体メモリを用いた記憶装置Info
- Publication number
- JP2001134496A JP2001134496A JP31409199A JP31409199A JP2001134496A JP 2001134496 A JP2001134496 A JP 2001134496A JP 31409199 A JP31409199 A JP 31409199A JP 31409199 A JP31409199 A JP 31409199A JP 2001134496 A JP2001134496 A JP 2001134496A
- Authority
- JP
- Japan
- Prior art keywords
- sector
- semiconductor memory
- management table
- flash memory
- 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.)
- Pending
Links
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
(57)【要約】
【課題】 フラッシュメモリなどの不揮発性半導体メモ
リを用いた外部記憶装置において、不良セクタの管理の
ために用いられるセクタ管理テーブルの読み出しを高速
化し、かつ読み出したセクタ管理テーブルを一時的に格
納するRAMの容量の増大を抑止する。 【解決手段】 各フラッシュメモリ17,18は、セク
タデータを格納するとともに、セクタ管理テーブル0,
1,2,3を格納する。セクタ管理テーブルは、不良フ
ラグと代替先アドレスとを1つのエントリとし、複数の
エントリを格納する。エントリは連続する論理アドレス
の順に配列されている。従ってホストコンピュータとフ
ラッシュメモリ17,18との間で連続して読み出し/
書き込みされるセクタ数分のエントリを一度にRAMに
読み出せばよく、セクタ管理テーブルを読み出す時間を
短縮できる。
リを用いた外部記憶装置において、不良セクタの管理の
ために用いられるセクタ管理テーブルの読み出しを高速
化し、かつ読み出したセクタ管理テーブルを一時的に格
納するRAMの容量の増大を抑止する。 【解決手段】 各フラッシュメモリ17,18は、セク
タデータを格納するとともに、セクタ管理テーブル0,
1,2,3を格納する。セクタ管理テーブルは、不良フ
ラグと代替先アドレスとを1つのエントリとし、複数の
エントリを格納する。エントリは連続する論理アドレス
の順に配列されている。従ってホストコンピュータとフ
ラッシュメモリ17,18との間で連続して読み出し/
書き込みされるセクタ数分のエントリを一度にRAMに
読み出せばよく、セクタ管理テーブルを読み出す時間を
短縮できる。
Description
【0001】
【発明の属する技術分野】本発明は、不揮発性半導体メ
モリを用いた記憶装置に関するもので、特に不揮発性半
導体メモリに格納するセクタデータに対するセクタ管理
方式に係わる。
モリを用いた記憶装置に関するもので、特に不揮発性半
導体メモリに格納するセクタデータに対するセクタ管理
方式に係わる。
【0002】
【従来の技術】不揮発性半導体メモリを用いた外部記憶
装置として、フラッシュメモリを用いた外部記憶装置が
ある。フラッシュメモリを用いた外部記憶装置の従来例
として、特開平5−27924号公報に示される「半導
体メモリを用いた外部記憶システム及びその制御方法」
がある。従来のフラッシュメモリを用いた外部記憶装置
では、ホストコンピュータが書き込むセクタアドレス
(論理アドレス)からフラッシュメモリの物理アドレス
に変換し、さらにホストコンピュータが発行したコマン
ドによってフラッシュメモリに対するセクタデータの読
み出しや書き込みを行う。フラッシュメモリには初期不
良セクタや使用中に使用不可になる不良セクタが存在す
る。この不良セクタのためにホストコンピュータの論理
アドレスを代替セクタの物理アドレスに変換する処理が
必要になる。
装置として、フラッシュメモリを用いた外部記憶装置が
ある。フラッシュメモリを用いた外部記憶装置の従来例
として、特開平5−27924号公報に示される「半導
体メモリを用いた外部記憶システム及びその制御方法」
がある。従来のフラッシュメモリを用いた外部記憶装置
では、ホストコンピュータが書き込むセクタアドレス
(論理アドレス)からフラッシュメモリの物理アドレス
に変換し、さらにホストコンピュータが発行したコマン
ドによってフラッシュメモリに対するセクタデータの読
み出しや書き込みを行う。フラッシュメモリには初期不
良セクタや使用中に使用不可になる不良セクタが存在す
る。この不良セクタのためにホストコンピュータの論理
アドレスを代替セクタの物理アドレスに変換する処理が
必要になる。
【0003】ここで物理アドレスへの変換は、各フラッ
シュメモリに格納されているセクタ管理テーブルを用い
て行われる。各フラッシュメモリはそれ自身のセクタ管
理テーブルを格納している。
シュメモリに格納されているセクタ管理テーブルを用い
て行われる。各フラッシュメモリはそれ自身のセクタ管
理テーブルを格納している。
【0004】またホストコンピュータが書き込む論理ア
ドレスとフラッシュメモリの物理アドレスを一対一の関
係でアクセスするような外部記憶装置では、各セクタに
不良フラグを設け、当該セクタが不良ならば、セクタ管
理テーブルを参照してその不良セクタの代替先アドレス
を得、正常なセクタデータのアクセスを行っている。
ドレスとフラッシュメモリの物理アドレスを一対一の関
係でアクセスするような外部記憶装置では、各セクタに
不良フラグを設け、当該セクタが不良ならば、セクタ管
理テーブルを参照してその不良セクタの代替先アドレス
を得、正常なセクタデータのアクセスを行っている。
【0005】
【発明が解決しようとする課題】上記従来技術では、ホ
ストコンピュータの論理アドレスをフラッシュメモリの
物理アドレスに変換するために、フラッシュメモリに格
納されているセクタ管理テーブルを全てRAMに読み出
す。あるいはセクタ管理テーブルが複数のフラッシュメ
モリに格納されている場合には、必要に応じてセクタ管
理テーブルのRAMへの読み出しを行う。前者の場合に
は、セクタデータ容量の増加に伴ってRAM容量が増大
し、フラッシュメモリカードのコスト増を引き起こす。
後者の場合には、ホストコンピュータが連続して複数の
セクタデータを読み出す場合にセクタ管理データを読み
出す頻度が増え、セクタ管理テーブルの読み出しに必要
な時間はオーバヘッドとなり、セクタデータの読み出し
および書き込みの性能向上を図る上で問題となる。
ストコンピュータの論理アドレスをフラッシュメモリの
物理アドレスに変換するために、フラッシュメモリに格
納されているセクタ管理テーブルを全てRAMに読み出
す。あるいはセクタ管理テーブルが複数のフラッシュメ
モリに格納されている場合には、必要に応じてセクタ管
理テーブルのRAMへの読み出しを行う。前者の場合に
は、セクタデータ容量の増加に伴ってRAM容量が増大
し、フラッシュメモリカードのコスト増を引き起こす。
後者の場合には、ホストコンピュータが連続して複数の
セクタデータを読み出す場合にセクタ管理データを読み
出す頻度が増え、セクタ管理テーブルの読み出しに必要
な時間はオーバヘッドとなり、セクタデータの読み出し
および書き込みの性能向上を図る上で問題となる。
【0006】さらに各セクタに不良フラグを持つ従来の
外部記憶装置においては、セクタデータへのアクセスの
たびに毎回各セクタに対する不良フラグを読み出し、こ
れをチェックする必要がある。さらに不良セクタが連続
して存在した場合には、不良セクタが存在するごとにセ
クタ管理テーブルを読み出さなければならない。
外部記憶装置においては、セクタデータへのアクセスの
たびに毎回各セクタに対する不良フラグを読み出し、こ
れをチェックする必要がある。さらに不良セクタが連続
して存在した場合には、不良セクタが存在するごとにセ
クタ管理テーブルを読み出さなければならない。
【0007】この場合、セクタ管理テーブルを読み出す
処理の回数が多くなり、セクタデータの読み出しおよび
書き込みの性能向上を図る上で問題となる。
処理の回数が多くなり、セクタデータの読み出しおよび
書き込みの性能向上を図る上で問題となる。
【0008】本発明の目的は、上記従来使用していたセ
クタ管理テーブルの読み出し回数を減少させ、ホストコ
ンピュータによるセクタデータの高速読み出しおよび高
速書き込みを図ることである。
クタ管理テーブルの読み出し回数を減少させ、ホストコ
ンピュータによるセクタデータの高速読み出しおよび高
速書き込みを図ることである。
【0009】本発明の他の目的は、セクタ管理テーブル
を読み出すために必要な揮発性メモリの容量を小さく
し、低コストかつホストコンピュータによるセクタデー
タの高速読み出しおよび高速書き込みを図ることであ
る。
を読み出すために必要な揮発性メモリの容量を小さく
し、低コストかつホストコンピュータによるセクタデー
タの高速読み出しおよび高速書き込みを図ることであ
る。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、セクタデータとセクタ管理テーブルとを
格納する少なくとも1つの不揮発性半導体メモリと、外
部とのインタフェース制御手段と、この不揮発性半導体
メモリに対するデータ読み書きを制御する手段と、外部
と不揮発性半導体メモリとの間で読み出しおよび書き込
みされるセクタデータとセクタ管理テーブルとを一時的
に格納する揮発性半導体メモリを有する記憶装置であっ
て、セクタ管理テーブルは、外部から送られるセクタの
論理アドレスを不揮発性半導体メモリの物理アドレスに
変換するときにその物理アドレスに対応するセクタが不
良セクタであるか否かのフラグと、不良セクタである場
合の代替先アドレスとを格納し、さらにそのフラグと対
応する代替先アドレスとの組は連続する論理アドレスの
順に配列されている記憶装置を特徴とする。
に、本発明は、セクタデータとセクタ管理テーブルとを
格納する少なくとも1つの不揮発性半導体メモリと、外
部とのインタフェース制御手段と、この不揮発性半導体
メモリに対するデータ読み書きを制御する手段と、外部
と不揮発性半導体メモリとの間で読み出しおよび書き込
みされるセクタデータとセクタ管理テーブルとを一時的
に格納する揮発性半導体メモリを有する記憶装置であっ
て、セクタ管理テーブルは、外部から送られるセクタの
論理アドレスを不揮発性半導体メモリの物理アドレスに
変換するときにその物理アドレスに対応するセクタが不
良セクタであるか否かのフラグと、不良セクタである場
合の代替先アドレスとを格納し、さらにそのフラグと対
応する代替先アドレスとの組は連続する論理アドレスの
順に配列されている記憶装置を特徴とする。
【0011】
【発明の実施の形態】以下、本発明に係る不揮発性半導
体メモリを用いた外部記憶装置の実施形態について説明
する。
体メモリを用いた外部記憶装置の実施形態について説明
する。
【0012】図1は、本発明の一実施形態であり、コン
ピュータの外部記憶装置に適用される外部記憶装置の構
成例を示す。
ピュータの外部記憶装置に適用される外部記憶装置の構
成例を示す。
【0013】図1において、1は不揮発性半導体メモリ
を用いた外部記憶装置であり、ホストコンピュータ2の
外部記憶装置であるフラッシュメモリカードである。ホ
ストコンピュータ2は、フラッシュメモリカード1に対
してセクタデータの書き込みや読み出しを行う。ホスト
コンピュータ2の例として、パーソナルコンピュータ
(PC)や、デジタルスチルカメラなどがある。
を用いた外部記憶装置であり、ホストコンピュータ2の
外部記憶装置であるフラッシュメモリカードである。ホ
ストコンピュータ2は、フラッシュメモリカード1に対
してセクタデータの書き込みや読み出しを行う。ホスト
コンピュータ2の例として、パーソナルコンピュータ
(PC)や、デジタルスチルカメラなどがある。
【0014】図1に示す外部記憶装置は、不揮発性半導
体メモリとしてフラッシュメモリを用いていることから
フラッシュメモリカードと呼ばれる。以下、この外部記
憶装置をフラッシュメモリカード1と称する。
体メモリとしてフラッシュメモリを用いていることから
フラッシュメモリカードと呼ばれる。以下、この外部記
憶装置をフラッシュメモリカード1と称する。
【0015】フラッシュメモリカード1は、PCMCI
Aバス21を介してホストコンピュータ2からのコマン
ドの受付やセクタデータの読み出し/書き込みを行う。
図1では、PCMCIAインタフェースに準拠したPC
MCIAバス21を例に説明する。PCMCIAバスの
他に、IDE(ATA)インタフェースやSCSIイン
タフェースなど様々なインタフェースがあり、外部記憶
装置を必要とするホストコンピュータ2との間のプロト
コルの取り決めを有するものであれば特に限定はない。
Aバス21を介してホストコンピュータ2からのコマン
ドの受付やセクタデータの読み出し/書き込みを行う。
図1では、PCMCIAインタフェースに準拠したPC
MCIAバス21を例に説明する。PCMCIAバスの
他に、IDE(ATA)インタフェースやSCSIイン
タフェースなど様々なインタフェースがあり、外部記憶
装置を必要とするホストコンピュータ2との間のプロト
コルの取り決めを有するものであれば特に限定はない。
【0016】フラッシュメモリカード1において、11
はホストコンピュータ2とのインタフェースを司るホス
トインタフェース部である。ホストインタフェース部1
1は、PCMCIAインタフェースに準拠した動作を行
う。またホストコンピュータ2が設定するセクタデータ
の論理アドレス、アクセスするセクタ数を記憶するレジ
スタを内蔵する。さらにホストコンピュータ2が発行す
るコマンドによってマイクロコンピュータ16に対する
割り込みを生成する。
はホストコンピュータ2とのインタフェースを司るホス
トインタフェース部である。ホストインタフェース部1
1は、PCMCIAインタフェースに準拠した動作を行
う。またホストコンピュータ2が設定するセクタデータ
の論理アドレス、アクセスするセクタ数を記憶するレジ
スタを内蔵する。さらにホストコンピュータ2が発行す
るコマンドによってマイクロコンピュータ16に対する
割り込みを生成する。
【0017】12はホストコンピュータ2とデータバッ
ファ13間およびデータバッファ13とフラッシュメモ
リ17,18間におけるセクタデータ転送を制御するデ
ータ転送制御部である。データ転送制御部12はマイク
ロコンピュータ16の指示に従って動作する。
ファ13間およびデータバッファ13とフラッシュメモ
リ17,18間におけるセクタデータ転送を制御するデ
ータ転送制御部である。データ転送制御部12はマイク
ロコンピュータ16の指示に従って動作する。
【0018】13はフラッシュメモリカード1とホスト
コンピュータ2との間でセクタデータの読み出し/書き
込みを行うとき、セクタデータを一時格納するためのデ
ータバッファである。またセクタ管理テーブルを一時的
に記憶するためのバッファメモリとしても使用される。
すなわちデータバッファ13は、少なくとも1セクタ分
のユーザデータ格納用領域と、後述するセクタ管理テー
ブル格納用領域とから構成される。
コンピュータ2との間でセクタデータの読み出し/書き
込みを行うとき、セクタデータを一時格納するためのデ
ータバッファである。またセクタ管理テーブルを一時的
に記憶するためのバッファメモリとしても使用される。
すなわちデータバッファ13は、少なくとも1セクタ分
のユーザデータ格納用領域と、後述するセクタ管理テー
ブル格納用領域とから構成される。
【0019】15はフラッシュメモリ17,18とのイ
ンタフェースを司るフラッシュインタフェース部であ
る。フラッシュインタフェース部15は、マイクロコン
ピュータ16の指示に従って動作する。
ンタフェースを司るフラッシュインタフェース部であ
る。フラッシュインタフェース部15は、マイクロコン
ピュータ16の指示に従って動作する。
【0020】16はマイクロコンピュータ(以下、マイ
コンと略す)であり、内蔵するROMの制御プログラム
により、ホストコンピュータ2が書き込むコマンドの解
析やコマンド処理を制御する。またホストコンピュータ
2が書き込むセクタデータの管理と、セクタ管理テーブ
ルを使用してフラッシュメモリ17,18の管理を行
う。マイクロコンピュータ16とホストインタフェース
部11、データ転送制御部12及びフラッシュインタフ
ェース部15との間はマイコンバス103によって接続
されている。
コンと略す)であり、内蔵するROMの制御プログラム
により、ホストコンピュータ2が書き込むコマンドの解
析やコマンド処理を制御する。またホストコンピュータ
2が書き込むセクタデータの管理と、セクタ管理テーブ
ルを使用してフラッシュメモリ17,18の管理を行
う。マイクロコンピュータ16とホストインタフェース
部11、データ転送制御部12及びフラッシュインタフ
ェース部15との間はマイコンバス103によって接続
されている。
【0021】17および18は、ホストコンピュータ2
が書き込むセクタデータを格納するためのフラッシュメ
モリであり、各々1つのチップを構成する。またフラッ
シュメモリ17およびフラッシュメモリ18は、ホスト
コンピュータ2が書き込みセクタデータを管理するため
のセクタ管理テーブル、フラッシュメモリ内の不良セク
タを代替するための代替領域、そしてフラッシュメモリ
カード1の各種情報を格納するカード管理データ領域で
構成される。フラッシュメモリ17およびフラッシュメ
モリ18は、1セクタ単位に消去および書き込みが可能
である。フラッシュメモリの各セクタは、512バイト
のデータ領域およびエラー検出のための冗長バイトから
構成される。
が書き込むセクタデータを格納するためのフラッシュメ
モリであり、各々1つのチップを構成する。またフラッ
シュメモリ17およびフラッシュメモリ18は、ホスト
コンピュータ2が書き込みセクタデータを管理するため
のセクタ管理テーブル、フラッシュメモリ内の不良セク
タを代替するための代替領域、そしてフラッシュメモリ
カード1の各種情報を格納するカード管理データ領域で
構成される。フラッシュメモリ17およびフラッシュメ
モリ18は、1セクタ単位に消去および書き込みが可能
である。フラッシュメモリの各セクタは、512バイト
のデータ領域およびエラー検出のための冗長バイトから
構成される。
【0022】図1の実施形態ではフラッシュメモリが2
個搭載されている場合を例に説明するが、フラッシュメ
モリの搭載数は2つ以上であれば特に限定はない。
個搭載されている場合を例に説明するが、フラッシュメ
モリの搭載数は2つ以上であれば特に限定はない。
【0023】フラッシュメモリ17およびフラッシュメ
モリ18は、フラッシュバス105によってフラッシュ
インタフェース部15に接続されている。
モリ18は、フラッシュバス105によってフラッシュ
インタフェース部15に接続されている。
【0024】図2は、フラッシュメモリ17およびフラ
ッシュメモリ18の内部構成を示す図である。フラッシ
ュメモリは、上記したように、ホストコンピュータ2が
書き込むセクタデータを格納するためのユーザデータ領
域、フラッシュメモリ内の不良セクタを代替するための
代替領域、ホストコンピュータ2が書き込みセクタデー
タを管理するためのセクタ管理テーブル、そしてフラッ
シュメモリカード1の各種情報を格納するカード管理デ
ータ領域で構成される。
ッシュメモリ18の内部構成を示す図である。フラッシ
ュメモリは、上記したように、ホストコンピュータ2が
書き込むセクタデータを格納するためのユーザデータ領
域、フラッシュメモリ内の不良セクタを代替するための
代替領域、ホストコンピュータ2が書き込みセクタデー
タを管理するためのセクタ管理テーブル、そしてフラッ
シュメモリカード1の各種情報を格納するカード管理デ
ータ領域で構成される。
【0025】ここでセクタ管理テーブルの各エントリ
は、図3に示すようにホストコンピュータ2が特定のセ
クタにアクセスするための論理アドレスに対応して不良
フラグと代替先オフセット(又は代替セクタの物理アド
レス)の組で構成されている。各エントリのサイズは2
バイトである。フラッシュメモリ17およびフラッシュ
メモリ18は、消去および書き込み単位が1セクタであ
るので、1つのセクタ管理テーブルは、フラッシュメモ
リ17またはフラッシュメモリ18の256セクタ分の
論理セクタに対する不良フラグと代替先オフセットのエ
ントリを格納できる。不良フラグは、”1”のとき当該
論理アドレスに対するフラッシュメモリの物理アドレス
のセクタが不良であることを示し、”0”(ゼロ)のと
き当該論理アドレスに対するフラッシュメモリの物理ア
ドレスのセクタは不良でないことを示している。不良フ
ラグが”0”のとき、つまり不良セクタでないとき、フ
ラッシュメモリは、論理アドレスから一対一に決定され
るフラッシュメモリの物理アドレスのセクタにアクセス
される。また不良フラグが”1”のとき、つまり不良セ
クタである場合には、フラッシュメモリは、代替先オフ
セットから決まる不良セクタが代替されたセクタの物理
アドレスのセクタデータにアクセスされる。セクタ管理
テーブル中のエントリが代替先オフセットの代わりに直
接代替セクタの物理アドレスを設定してもよい。
は、図3に示すようにホストコンピュータ2が特定のセ
クタにアクセスするための論理アドレスに対応して不良
フラグと代替先オフセット(又は代替セクタの物理アド
レス)の組で構成されている。各エントリのサイズは2
バイトである。フラッシュメモリ17およびフラッシュ
メモリ18は、消去および書き込み単位が1セクタであ
るので、1つのセクタ管理テーブルは、フラッシュメモ
リ17またはフラッシュメモリ18の256セクタ分の
論理セクタに対する不良フラグと代替先オフセットのエ
ントリを格納できる。不良フラグは、”1”のとき当該
論理アドレスに対するフラッシュメモリの物理アドレス
のセクタが不良であることを示し、”0”(ゼロ)のと
き当該論理アドレスに対するフラッシュメモリの物理ア
ドレスのセクタは不良でないことを示している。不良フ
ラグが”0”のとき、つまり不良セクタでないとき、フ
ラッシュメモリは、論理アドレスから一対一に決定され
るフラッシュメモリの物理アドレスのセクタにアクセス
される。また不良フラグが”1”のとき、つまり不良セ
クタである場合には、フラッシュメモリは、代替先オフ
セットから決まる不良セクタが代替されたセクタの物理
アドレスのセクタデータにアクセスされる。セクタ管理
テーブル中のエントリが代替先オフセットの代わりに直
接代替セクタの物理アドレスを設定してもよい。
【0026】以下、図4、図5および図6を例に、本発
明のセクタ管理テーブルを用いたホストコンピュータ2
によるフラッシュメモリカード1に対するセクタデータ
の読み出しおよび書き込み処理について説明する。
明のセクタ管理テーブルを用いたホストコンピュータ2
によるフラッシュメモリカード1に対するセクタデータ
の読み出しおよび書き込み処理について説明する。
【0027】フラッシュメモリ17およびフラッシュメ
モリ18の構成を図4に示す。
モリ18の構成を図4に示す。
【0028】図4において、フラッシュメモリ17およ
びフラッシュメモリ18は、物理アドレス”0”から物
理アドレス”499”までがユーザデータ領域、物理ア
ドレス”500”から物理アドレス”508”までが代
替領域、物理アドレス”509”がカード管理データ領
域、そして、物理アドレス”510”から物理アドレ
ス”511”までがセクタ管理テーブル領域として構成
されている。ただし図4では、フラッシュメモリ17の
物理アドレス”509”にカード管理データが格納され
ているので、フラッシュメモリ18の物理アドレス”5
09”にはカード管理データは格納されていないが、フ
ラッシュメモリ18の物理アドレス”509”にカード
管理データを格納しても問題ない。
びフラッシュメモリ18は、物理アドレス”0”から物
理アドレス”499”までがユーザデータ領域、物理ア
ドレス”500”から物理アドレス”508”までが代
替領域、物理アドレス”509”がカード管理データ領
域、そして、物理アドレス”510”から物理アドレ
ス”511”までがセクタ管理テーブル領域として構成
されている。ただし図4では、フラッシュメモリ17の
物理アドレス”509”にカード管理データが格納され
ているので、フラッシュメモリ18の物理アドレス”5
09”にはカード管理データは格納されていないが、フ
ラッシュメモリ18の物理アドレス”509”にカード
管理データを格納しても問題ない。
【0029】ユーザデータ領域は、フラッシュメモリ1
7およびフラッシュメモリ18のそれぞれにおいて、物
理アドレス”0”から物理アドレス”499”までなの
で、ホストコンピュータ2がフラッシュメモリカード1
に書き込むことができるセクタ数は、論理アドレス”L
BA(0)”から”LBA(999)”までの1000
セクタである。ここでLBA(Logical Block Addres
s)は論理ブロックアドレスである。
7およびフラッシュメモリ18のそれぞれにおいて、物
理アドレス”0”から物理アドレス”499”までなの
で、ホストコンピュータ2がフラッシュメモリカード1
に書き込むことができるセクタ数は、論理アドレス”L
BA(0)”から”LBA(999)”までの1000
セクタである。ここでLBA(Logical Block Addres
s)は論理ブロックアドレスである。
【0030】ユーザデータ領域において、フラッシュメ
モリ17の物理アドレス”0”には、ホストコンピュー
タ2の論理アドレス”LBA(0)”のセクタデータが
格納され、フラッシュメモリ18の物理アドレス”0”
には、ホストコンピュータ2の論理アドレス”LBA
(1)”のセクタデータが格納される。以下同様にフラ
ッシュメモリ17の各物理アドレスには”LBA(2
n)”が、フラッシュメモリ18の各物理アドレスに
は”LBA(2n+1)”が格納される。つまり論理ア
ドレスが偶数ならばフラッシュメモリ17、奇数ならば
フラッシュメモリ18に格納される。nは、”0”、”
1”、…、”499”の整数であり、フラッシュメモリ
17またはフラッシュメモリ18の物理アドレスを示し
ている。フラッシュメモリのチップが3個あるときに
は、第1のフラッシュメモリの各物理アドレスにはLB
A(3n)が、第2のフラッシュメモリの各物理アドレ
スにはLBA(3n+1)が、第3のフラッシュメモリ
の各物理アドレスにはLBA(3n+2)が格納され
る。このようにフラッシュメモリのチップが何個あって
も各フラッシュメモリの物理アドレスが一意に決定され
る。
モリ17の物理アドレス”0”には、ホストコンピュー
タ2の論理アドレス”LBA(0)”のセクタデータが
格納され、フラッシュメモリ18の物理アドレス”0”
には、ホストコンピュータ2の論理アドレス”LBA
(1)”のセクタデータが格納される。以下同様にフラ
ッシュメモリ17の各物理アドレスには”LBA(2
n)”が、フラッシュメモリ18の各物理アドレスに
は”LBA(2n+1)”が格納される。つまり論理ア
ドレスが偶数ならばフラッシュメモリ17、奇数ならば
フラッシュメモリ18に格納される。nは、”0”、”
1”、…、”499”の整数であり、フラッシュメモリ
17またはフラッシュメモリ18の物理アドレスを示し
ている。フラッシュメモリのチップが3個あるときに
は、第1のフラッシュメモリの各物理アドレスにはLB
A(3n)が、第2のフラッシュメモリの各物理アドレ
スにはLBA(3n+1)が、第3のフラッシュメモリ
の各物理アドレスにはLBA(3n+2)が格納され
る。このようにフラッシュメモリのチップが何個あって
も各フラッシュメモリの物理アドレスが一意に決定され
る。
【0031】ここで図4のユーザデータ領域において、
フラッシュメモリ17の物理アドレス”499”および
フラッシュメモリ18の物理アドレス”0”は不良セク
タとなっている。
フラッシュメモリ17の物理アドレス”499”および
フラッシュメモリ18の物理アドレス”0”は不良セク
タとなっている。
【0032】不良セクタはそれぞれのフラッシュメモリ
の代替領域に代替される。フラッシュメモリ17では、
物理アドレス”128”(=論理アドレス”LBA(2
56)”)および物理アドレス”499”(=論理アド
レス”LBA(998)”)がそれぞれ代替領域の物理
アドレス”500”および物理アドレス”501”に代
替されている。またフラッシュメモリ18では、物理ア
ドレス”0”(=論理アドレス”LBA(1)”)およ
び物理アドレス”127”(=論理アドレス”LBA
(255)”)がそれぞれ代替領域の物理アドレス”5
00”および物理アドレス”501”に代替されてい
る。
の代替領域に代替される。フラッシュメモリ17では、
物理アドレス”128”(=論理アドレス”LBA(2
56)”)および物理アドレス”499”(=論理アド
レス”LBA(998)”)がそれぞれ代替領域の物理
アドレス”500”および物理アドレス”501”に代
替されている。またフラッシュメモリ18では、物理ア
ドレス”0”(=論理アドレス”LBA(1)”)およ
び物理アドレス”127”(=論理アドレス”LBA
(255)”)がそれぞれ代替領域の物理アドレス”5
00”および物理アドレス”501”に代替されてい
る。
【0033】図4におけるフラッシュメモリ17および
フラッシュメモリ18のセクタ管理テーブル領域のセク
タ管理テーブル0、1、2そして3の内容を図5に示
す。それぞれセクタ管理テーブルのエントリは、ホスト
コンピュータ2からの論理アドレス(”LBA(0)”
から”LBA(999)”)に対応する2バイトで構成
される。1つの512バイトのセクタ管理テーブルに
は、256個の論理アドレスに関するエントリが格納さ
れる。またそれぞれのセクタ管理テーブル内のそれぞれ
のエントリは、不良フラグと代替先オフセットから成
る。
フラッシュメモリ18のセクタ管理テーブル領域のセク
タ管理テーブル0、1、2そして3の内容を図5に示
す。それぞれセクタ管理テーブルのエントリは、ホスト
コンピュータ2からの論理アドレス(”LBA(0)”
から”LBA(999)”)に対応する2バイトで構成
される。1つの512バイトのセクタ管理テーブルに
は、256個の論理アドレスに関するエントリが格納さ
れる。またそれぞれのセクタ管理テーブル内のそれぞれ
のエントリは、不良フラグと代替先オフセットから成
る。
【0034】セクタ管理テーブル0は、論理アドレス”
LBA(0)”から論理アドレス”LBA(255)”
に対応する不良フラグと代替先オフセットを連続する論
理アドレスの順番に格納する。セクタ管理テーブル1
は、論理アドレス”LBA(256)”から論理アドレ
ス”LBA(511)”に対応する不良フラグと代替先
オフセットを格納する。セクタ管理テーブル2は、論理
アドレス”LBA(512)”から論理アドレス”LB
A(767)”に対応する不良フラグと代替先オフセッ
トを格納する。セクタ管理テーブル3は、論理アドレ
ス”LBA(768)”から論理アドレス”LBA(9
99)”に対応する不良フラグと代替先オフセットを格
納する。
LBA(0)”から論理アドレス”LBA(255)”
に対応する不良フラグと代替先オフセットを連続する論
理アドレスの順番に格納する。セクタ管理テーブル1
は、論理アドレス”LBA(256)”から論理アドレ
ス”LBA(511)”に対応する不良フラグと代替先
オフセットを格納する。セクタ管理テーブル2は、論理
アドレス”LBA(512)”から論理アドレス”LB
A(767)”に対応する不良フラグと代替先オフセッ
トを格納する。セクタ管理テーブル3は、論理アドレ
ス”LBA(768)”から論理アドレス”LBA(9
99)”に対応する不良フラグと代替先オフセットを格
納する。
【0035】図4で説明したように、フラッシュメモリ
17のユーザデータ領域において、物理アドレス”12
8”(=論理アドレス”LBA(256)”)と物理ア
ドレス”499”(=論理アドレス”LBA(99
8)”)が不良セクタであり、フラッシュメモリ18の
ユーザデータ領域において、物理アドレス”0”(=論
理アドレス”LBA(1)”)と物理アドレス”12
7”(=論理アドレス”LBA(255)”)が不良セ
クタである。したがって論理アドレス”LBA
(1)”、論理アドレス”LBA(255)”、論理ア
ドレス”LBA(256)”、論理アドレス”LBA
(998)”に対応するセクタ管理テーブルの不良フラ
グは”1”となり、各論理アドレスに対応する物理アド
レスは不良セクタであるこを示している。
17のユーザデータ領域において、物理アドレス”12
8”(=論理アドレス”LBA(256)”)と物理ア
ドレス”499”(=論理アドレス”LBA(99
8)”)が不良セクタであり、フラッシュメモリ18の
ユーザデータ領域において、物理アドレス”0”(=論
理アドレス”LBA(1)”)と物理アドレス”12
7”(=論理アドレス”LBA(255)”)が不良セ
クタである。したがって論理アドレス”LBA
(1)”、論理アドレス”LBA(255)”、論理ア
ドレス”LBA(256)”、論理アドレス”LBA
(998)”に対応するセクタ管理テーブルの不良フラ
グは”1”となり、各論理アドレスに対応する物理アド
レスは不良セクタであるこを示している。
【0036】図5にはLBA(1)、LBA(25
5)、LBA(256)そしてLBA(998)に対応
するエントリの不良フラグが”1”となって示されてい
る。
5)、LBA(256)そしてLBA(998)に対応
するエントリの不良フラグが”1”となって示されてい
る。
【0037】図5において、セクタ管理テーブル0のL
BA(1)に対する代替先オフセットは”0”となって
いる。この場合、論理アドレスは奇数であり、代替先の
先頭物理アドレスが”500”なので、論理アドレス”
LBA(1)”にフラッシュメモリ18の物理アドレ
ス”500”が割り当てられていることになる。
BA(1)に対する代替先オフセットは”0”となって
いる。この場合、論理アドレスは奇数であり、代替先の
先頭物理アドレスが”500”なので、論理アドレス”
LBA(1)”にフラッシュメモリ18の物理アドレ
ス”500”が割り当てられていることになる。
【0038】同様に図5におけるセクタ管理テーブル0
の”LBA(255)”に対する代替先オフセットは”
1”、セクタ管理テーブル1の”LBA(256)”に
対する代替先オフセットは”0”、セクタ管理テーブル
3の”LBA(998)”に対する代替先オフセット
は”1”となっているので、フラッシュメモリ18の物
理アドレス”501”には”LBA(255)”が、フ
ラッシュメモリ17の物理アドレス”500”には”L
BA(256)”が、フラッシュメモリ17の物理アド
レス”501”には”LBA(998)”が割り当てら
れる。
の”LBA(255)”に対する代替先オフセットは”
1”、セクタ管理テーブル1の”LBA(256)”に
対する代替先オフセットは”0”、セクタ管理テーブル
3の”LBA(998)”に対する代替先オフセット
は”1”となっているので、フラッシュメモリ18の物
理アドレス”501”には”LBA(255)”が、フ
ラッシュメモリ17の物理アドレス”500”には”L
BA(256)”が、フラッシュメモリ17の物理アド
レス”501”には”LBA(998)”が割り当てら
れる。
【0039】次に図6のマイクロコンピュータ16の処
理・制御の手順を示すフローチャートを用いて、本発明
のセクタ管理テーブルを使用したフラッシュメモリ17
およびフラッシュメモリ18に対する読み出しおよび書
き込みの手順について説明する。
理・制御の手順を示すフローチャートを用いて、本発明
のセクタ管理テーブルを使用したフラッシュメモリ17
およびフラッシュメモリ18に対する読み出しおよび書
き込みの手順について説明する。
【0040】まずマイクロコンピュータ16は、割込み
の発生に伴ってホストインタフェース部11のレジスタ
を参照し、ホストコンピュータ2がコマンドを発行した
ことをステップS101で確認する。S102でホスト
コンピュータ2が発行したコマンドがセクタデータの読
み出しまたは書き込みのコマンドの場合、ステップS1
04に進み、これ以外のコマンドの場合にはステップS
103を実行し、コマンド処理を終了する。
の発生に伴ってホストインタフェース部11のレジスタ
を参照し、ホストコンピュータ2がコマンドを発行した
ことをステップS101で確認する。S102でホスト
コンピュータ2が発行したコマンドがセクタデータの読
み出しまたは書き込みのコマンドの場合、ステップS1
04に進み、これ以外のコマンドの場合にはステップS
103を実行し、コマンド処理を終了する。
【0041】ステップS104では、マイクロコンピュ
ータ16は、ホストインタフェース部11のレジスタを
参照し、ホストコンピュータ2がセクタデータの読み出
しまたは書き込みコマンドと同時に設定した論理アドレ
スおよび読み出しまたは書き込むセクタ数を読み出す。
次にステップS105において、マイクロコンピュータ
16は、ホストコンピュータ2が読み出すまたは書き込
むセクタデータの論理アドレスに対するセクタ管理テー
ブルがデータバッファ13に読み出されているかチェッ
クする。マイクロコンピュータ16は、ホストコンピュ
ータ2からセクタデータの読み出しまたは書き込みコマ
ンドを受け取り、最初のセクタデータを処理するとき、
データバッファ13のセクタ管理テーブル格納用領域に
はセクタ管理テーブルが格納されていないものとみな
し、セクタ管理テーブルの読み出しが必要と判定する。
2番目以後のセクタデータを処理するとき、データバッ
ファ13のセクタ管理テーブル格納用領域にはセクタ管
理テーブル上の必要なエントリが格納されているので、
セクタ管理テーブルの読み出し不要と判定する。セクタ
管理テーブルがデータバッファ13に読み出されていな
ければ、セクタ管理テーブルの読み出しを実行する(ス
テップS106)。既に目的のセクタ管理テーブルの要
求のあったセクタ数分のエントリがデータバッファ13
に存在すれば、ステップS107に進む。
ータ16は、ホストインタフェース部11のレジスタを
参照し、ホストコンピュータ2がセクタデータの読み出
しまたは書き込みコマンドと同時に設定した論理アドレ
スおよび読み出しまたは書き込むセクタ数を読み出す。
次にステップS105において、マイクロコンピュータ
16は、ホストコンピュータ2が読み出すまたは書き込
むセクタデータの論理アドレスに対するセクタ管理テー
ブルがデータバッファ13に読み出されているかチェッ
クする。マイクロコンピュータ16は、ホストコンピュ
ータ2からセクタデータの読み出しまたは書き込みコマ
ンドを受け取り、最初のセクタデータを処理するとき、
データバッファ13のセクタ管理テーブル格納用領域に
はセクタ管理テーブルが格納されていないものとみな
し、セクタ管理テーブルの読み出しが必要と判定する。
2番目以後のセクタデータを処理するとき、データバッ
ファ13のセクタ管理テーブル格納用領域にはセクタ管
理テーブル上の必要なエントリが格納されているので、
セクタ管理テーブルの読み出し不要と判定する。セクタ
管理テーブルがデータバッファ13に読み出されていな
ければ、セクタ管理テーブルの読み出しを実行する(ス
テップS106)。既に目的のセクタ管理テーブルの要
求のあったセクタ数分のエントリがデータバッファ13
に存在すれば、ステップS107に進む。
【0042】ステップS106において、マイクロコン
ピュータ16は、フラッシュインタフェース部15に目
的のセクタ管理テーブルの要求のあったセクタ数分のエ
ントリの読み出しを要求し、フラッシュインタフェース
部15及びデータ転送制御部12を介して読み出したエ
ントリをデータバッファ13のセクタ管理テーブル格納
用領域に格納する。本実施形態の場合には論理アドレス
の第9ビット目と第8ビット目の2ビットがセクタ管理
テーブルの番号(0〜3)を示しているので、このセク
タ管理テーブル番号からフラッシュメモリ17または1
8のチップ選択信号と目的のセクタ管理テーブルの物理
アドレス(510または511)に変換する。セクタ管
理テーブルの目的とする先頭エントリのバイトアドレス
は、論理アドレスを基にしてアドレス計算によって得ら
れる。
ピュータ16は、フラッシュインタフェース部15に目
的のセクタ管理テーブルの要求のあったセクタ数分のエ
ントリの読み出しを要求し、フラッシュインタフェース
部15及びデータ転送制御部12を介して読み出したエ
ントリをデータバッファ13のセクタ管理テーブル格納
用領域に格納する。本実施形態の場合には論理アドレス
の第9ビット目と第8ビット目の2ビットがセクタ管理
テーブルの番号(0〜3)を示しているので、このセク
タ管理テーブル番号からフラッシュメモリ17または1
8のチップ選択信号と目的のセクタ管理テーブルの物理
アドレス(510または511)に変換する。セクタ管
理テーブルの目的とする先頭エントリのバイトアドレス
は、論理アドレスを基にしてアドレス計算によって得ら
れる。
【0043】このようにマイクロコンピュータ16は、
特定のセクタ管理テーブルのうち要求されたセクタ数分
のエントリを読み出せばよいので、データバッファ13
のセクタ管理テーブル格納用領域は、ホストコンピュー
タ2が読み出し/書き込みするセクタ数×エントリサイ
ズ(ここでは2バイト)の記憶容量で足りる。ただしフ
ラッシュメモリ17,18にセクタ管理テーブルのエン
トリを書き込むか消去するときにはセクタ単位となるの
で、書き込み/消去を考慮してデータバッファ13のセ
クタ管理テーブル格納用領域を1セクタ分用意するか、
または書き込み/消去の場合にはユーザデータ格納用領
域を利用する。
特定のセクタ管理テーブルのうち要求されたセクタ数分
のエントリを読み出せばよいので、データバッファ13
のセクタ管理テーブル格納用領域は、ホストコンピュー
タ2が読み出し/書き込みするセクタ数×エントリサイ
ズ(ここでは2バイト)の記憶容量で足りる。ただしフ
ラッシュメモリ17,18にセクタ管理テーブルのエン
トリを書き込むか消去するときにはセクタ単位となるの
で、書き込み/消去を考慮してデータバッファ13のセ
クタ管理テーブル格納用領域を1セクタ分用意するか、
または書き込み/消去の場合にはユーザデータ格納用領
域を利用する。
【0044】ステップS107では、データ転送制御部
12を介してデータバッファ13のセクタ管理テーブル
の当該データセクタに対応する不良フラグを読み込みチ
ェックする。不良フラグが”0”のとき、つまり正常で
あるとき、論理アドレスを論理アドレスから一意に決ま
るフラッシュメモリの物理アドレスに変換する(ステッ
プS110)。すなわち本実施形態では論理アドレスの
最下位ビットがフラッシュメモリ17,18のチップ選
択番号を示し、論理アドレスの最下位を除く上位ビット
列がフラッシュメモリ17または18内セクタの物理ア
ドレスを示している。不良フラグが”1”のとき、つま
り不良セクタの場合には、データバッファ13のセクタ
管理テーブルの当該データセクタに対応する代替先オフ
セットを読み出し(ステップS108)、代替先の物理
アドレスに変換する(ステップS109)。代替先の物
理アドレスは、選択されたフラッシュメモリ17又は1
8の500+代替先オフセットである。代替先オフセッ
トの代わりに物理アドレスが設定されていれば、その物
理アドレスそのものである。
12を介してデータバッファ13のセクタ管理テーブル
の当該データセクタに対応する不良フラグを読み込みチ
ェックする。不良フラグが”0”のとき、つまり正常で
あるとき、論理アドレスを論理アドレスから一意に決ま
るフラッシュメモリの物理アドレスに変換する(ステッ
プS110)。すなわち本実施形態では論理アドレスの
最下位ビットがフラッシュメモリ17,18のチップ選
択番号を示し、論理アドレスの最下位を除く上位ビット
列がフラッシュメモリ17または18内セクタの物理ア
ドレスを示している。不良フラグが”1”のとき、つま
り不良セクタの場合には、データバッファ13のセクタ
管理テーブルの当該データセクタに対応する代替先オフ
セットを読み出し(ステップS108)、代替先の物理
アドレスに変換する(ステップS109)。代替先の物
理アドレスは、選択されたフラッシュメモリ17又は1
8の500+代替先オフセットである。代替先オフセッ
トの代わりに物理アドレスが設定されていれば、その物
理アドレスそのものである。
【0045】フラッシュメモリの物理アドレスへの変換
が終わった後(ステップS109またはステップS11
0)、ホストコンピュータ2が発行したコマンドに従っ
てセクタデータの読み出しまたは書き込み処理を実行す
る(ステップS111)。すなわちセクタデータの読み
出しの場合には、マイクロコンピュータ16はフラッシ
ュインタフェース部15に物理アドレスを伴う読み出し
要求を送る。フラッシュメモリ17又は18から読み出
されたセクタデータは、フラッシュインタフェース部1
5及びデータ転送制御部12を介して一旦データバッフ
ァ13のユーザデータ格納用領域に格納された後に、ホ
ストインタフェース部11からの要求に応じてデータバ
ッファ13から読み出され、データ転送制御部12、ホ
ストインタフェース部11を介してホストコンピュータ
2へ送られる。セクタデータの書き込みの場合には、ホ
ストコンピュータ2から送られ一旦データバッファ13
のユーザデータ格納用領域に格納されたセクタデータが
マイクロコンピュータ16の指令によって読み出され、
データ転送制御部12及びフラッシュインタフェース部
15を介してフラッシュメモリ17又は18に書き込ま
れる。
が終わった後(ステップS109またはステップS11
0)、ホストコンピュータ2が発行したコマンドに従っ
てセクタデータの読み出しまたは書き込み処理を実行す
る(ステップS111)。すなわちセクタデータの読み
出しの場合には、マイクロコンピュータ16はフラッシ
ュインタフェース部15に物理アドレスを伴う読み出し
要求を送る。フラッシュメモリ17又は18から読み出
されたセクタデータは、フラッシュインタフェース部1
5及びデータ転送制御部12を介して一旦データバッフ
ァ13のユーザデータ格納用領域に格納された後に、ホ
ストインタフェース部11からの要求に応じてデータバ
ッファ13から読み出され、データ転送制御部12、ホ
ストインタフェース部11を介してホストコンピュータ
2へ送られる。セクタデータの書き込みの場合には、ホ
ストコンピュータ2から送られ一旦データバッファ13
のユーザデータ格納用領域に格納されたセクタデータが
マイクロコンピュータ16の指令によって読み出され、
データ転送制御部12及びフラッシュインタフェース部
15を介してフラッシュメモリ17又は18に書き込ま
れる。
【0046】ステップS111の後、要求されたセクタ
数のセクタデータの読み出しまたは書き込みを終了した
かをチェックする(ステップS112)。読み出すまた
は書き込むセクタデータが残っている(終了していな
い)場合には、ステップS105から上記処理を繰り返
す。要求されたセクタ数のセクタデータの読み出しまた
は書き込みが終了した場合にはコマンド処理を終了す
る。
数のセクタデータの読み出しまたは書き込みを終了した
かをチェックする(ステップS112)。読み出すまた
は書き込むセクタデータが残っている(終了していな
い)場合には、ステップS105から上記処理を繰り返
す。要求されたセクタ数のセクタデータの読み出しまた
は書き込みが終了した場合にはコマンド処理を終了す
る。
【0047】図7は、フラッシュメモリカード1に内蔵
されているフラッシュメモリ17の物理アドレス”51
1”が不良セクタである場合を示している。フラッシュ
メモリ17の物理アドレス”511”はセクタ管理テー
ブルの領域であり、このセクタが不良のときにはセクタ
管理テーブルで代替先の物理アドレスを変換することが
できない。そこでフラッシュメモリ17の代替領域の最
後の物理アドレス(図7では、物理アドレス”50
8”)から、セクタ管理テーブルの代替先セクタとして
割り当てることにする。フラッシュメモリ17,18の
各セクタは図示しない管理フラグを備えており、正常セ
クタのとき管理フラグを0、不良セクタのとき管理フラ
グを1に設定する。マイクロコンピュータ16は、セク
タ管理テーブル0にアクセスするとき、物理アドレス”
511”の管理フラグが不良を示していれば物理アドレ
ス”511”の代わりに物理アドレス”508”に変換
し、同テーブルにアクセスする。
されているフラッシュメモリ17の物理アドレス”51
1”が不良セクタである場合を示している。フラッシュ
メモリ17の物理アドレス”511”はセクタ管理テー
ブルの領域であり、このセクタが不良のときにはセクタ
管理テーブルで代替先の物理アドレスを変換することが
できない。そこでフラッシュメモリ17の代替領域の最
後の物理アドレス(図7では、物理アドレス”50
8”)から、セクタ管理テーブルの代替先セクタとして
割り当てることにする。フラッシュメモリ17,18の
各セクタは図示しない管理フラグを備えており、正常セ
クタのとき管理フラグを0、不良セクタのとき管理フラ
グを1に設定する。マイクロコンピュータ16は、セク
タ管理テーブル0にアクセスするとき、物理アドレス”
511”の管理フラグが不良を示していれば物理アドレ
ス”511”の代わりに物理アドレス”508”に変換
し、同テーブルにアクセスする。
【0048】また図8は、フラッシュメモリカード1に
内蔵されているフラッシュメモリ17の物理アドレス”
509”および物理アドレス”511”が不良セクタで
ある場合を示している。フラッシュメモリ17の物理ア
ドレス”509”はカード管理データであり、物理アド
レス”511”はセクタ管理テーブルの領域である。こ
の場合には、まずカード管理データに対する代替先セク
タをフラッシュメモリ17の代替領域の最後の物理アド
レス(図7では、物理アドレス”508”)から割り当
てる。次いでセクタ管理テーブルの代替先セクタとして
割り当てることにする。この場合にはマイクロコンピュ
ータ16は、セクタ管理テーブル0を物理アドレス”5
11”の代わりに物理アドレス”507”に変換する。
内蔵されているフラッシュメモリ17の物理アドレス”
509”および物理アドレス”511”が不良セクタで
ある場合を示している。フラッシュメモリ17の物理ア
ドレス”509”はカード管理データであり、物理アド
レス”511”はセクタ管理テーブルの領域である。こ
の場合には、まずカード管理データに対する代替先セク
タをフラッシュメモリ17の代替領域の最後の物理アド
レス(図7では、物理アドレス”508”)から割り当
てる。次いでセクタ管理テーブルの代替先セクタとして
割り当てることにする。この場合にはマイクロコンピュ
ータ16は、セクタ管理テーブル0を物理アドレス”5
11”の代わりに物理アドレス”507”に変換する。
【0049】以上図7および図8により、本発明のセク
タ管理テーブルを用いたセクタデータの読み出しおよび
書き込み手法は、不良セクタの位置に係わらず、すべて
のフラッシュメモリ17,18に対して有効に動作可能
である。
タ管理テーブルを用いたセクタデータの読み出しおよび
書き込み手法は、不良セクタの位置に係わらず、すべて
のフラッシュメモリ17,18に対して有効に動作可能
である。
【0050】図9に本発明の他の実施例である外部記憶
装置の構成をコンピュータの外部記憶装置への適用を例
にとり示す。
装置の構成をコンピュータの外部記憶装置への適用を例
にとり示す。
【0051】図9において、3はフラッシュメモリを用
いた外部記憶装置であるフラッシュメモリカード、2は
ホストコンピュータ、21はPCMCIAバス、11は
ホストインタフェース部、12はデータ転送制御部、1
3はデータバッファ、15はフラッシュインタフェース
部、16はマイコン、17はフラッシュメモリ、18は
フラッシュメモリ、そして19はECC(Error Correc
tion Code)回路である。図1の同一番号の構成要素は
同一の機能を有する。
いた外部記憶装置であるフラッシュメモリカード、2は
ホストコンピュータ、21はPCMCIAバス、11は
ホストインタフェース部、12はデータ転送制御部、1
3はデータバッファ、15はフラッシュインタフェース
部、16はマイコン、17はフラッシュメモリ、18は
フラッシュメモリ、そして19はECC(Error Correc
tion Code)回路である。図1の同一番号の構成要素は
同一の機能を有する。
【0052】ここで図9におけるECC19は、フラッ
シュメモリ17およびフラッシュメモリ18に格納する
セクタデータに対するエラー検出のための冗長バイトを
生成し、またこの冗長バイトとセクタデータからエラー
の検出を行う。またセクタ管理テーブル領域に格納する
不良フラグと代替先アドレスに対する冗長バイトを生成
し、不良フラグと代替先アドレスについてエラー検出も
行う。
シュメモリ17およびフラッシュメモリ18に格納する
セクタデータに対するエラー検出のための冗長バイトを
生成し、またこの冗長バイトとセクタデータからエラー
の検出を行う。またセクタ管理テーブル領域に格納する
不良フラグと代替先アドレスに対する冗長バイトを生成
し、不良フラグと代替先アドレスについてエラー検出も
行う。
【0053】図10は、図9のフラッシュメモリカード
3におけるフラッシュメモリ17およびフラッシュメモ
リ18に格納されているセクタ管理テーブル0、セクタ
管理テーブル1、セクタ管理テーブル2及びセクタ管理
テーブル3の内容を示している。図10のセクタ管理テ
ーブルは、図5のセクタ管理テーブルと同様にホストコ
ンピュータ2が論理アドレスに対応する不良フラグと代
替先オフセットで構成される。さらに図10のセクタ管
理テーブルは、不良フラグと代替オフセットに対するエ
ラー検出を行うために冗長データ(ECC)を付加して
いる。ECCと不良フラグを合わせたサイズが1バイト
である。冗長データは、データバッファ13中のデータ
をフラッシュメモリ17またはフラッシュメモリ18に
書き込む時にECC回路19で生成されデータに付加さ
れる。またフラッシュメモリ17またはフラッシュメモ
リ18からデータをデータバッファ13に読み出す時に
は、ECC回路19でエラー検出が行われる。ECCエ
ラーが検出されたとき、マイクロコンピュータ16に報
告され、マイクロコンピュータ16がエラーの検出され
たセクタを不良セクタに設定し代替セクタを割り当て
る。
3におけるフラッシュメモリ17およびフラッシュメモ
リ18に格納されているセクタ管理テーブル0、セクタ
管理テーブル1、セクタ管理テーブル2及びセクタ管理
テーブル3の内容を示している。図10のセクタ管理テ
ーブルは、図5のセクタ管理テーブルと同様にホストコ
ンピュータ2が論理アドレスに対応する不良フラグと代
替先オフセットで構成される。さらに図10のセクタ管
理テーブルは、不良フラグと代替オフセットに対するエ
ラー検出を行うために冗長データ(ECC)を付加して
いる。ECCと不良フラグを合わせたサイズが1バイト
である。冗長データは、データバッファ13中のデータ
をフラッシュメモリ17またはフラッシュメモリ18に
書き込む時にECC回路19で生成されデータに付加さ
れる。またフラッシュメモリ17またはフラッシュメモ
リ18からデータをデータバッファ13に読み出す時に
は、ECC回路19でエラー検出が行われる。ECCエ
ラーが検出されたとき、マイクロコンピュータ16に報
告され、マイクロコンピュータ16がエラーの検出され
たセクタを不良セクタに設定し代替セクタを割り当て
る。
【0054】図10のフラッシュメモリカード3では、
セクタ管理テーブルを構成する不良フラグと代替先オフ
セットに対して、エラー検出のための冗長データ(EC
C)を付加することによって、セクタ管理テーブルの信
頼性向上を図っている。
セクタ管理テーブルを構成する不良フラグと代替先オフ
セットに対して、エラー検出のための冗長データ(EC
C)を付加することによって、セクタ管理テーブルの信
頼性向上を図っている。
【0055】
【発明の効果】以上説明したように本発明によれば、不
揮発性半導体メモリ上のセクタ管理テーブルのエントリ
を連続する論理アドレス順に配列したので、外部と不揮
発性半導体メモリとの間で連続して読み出し又は書き込
みされるセクタ数分のエントリを一度に揮発性半導体メ
モリに読み込めばよく、各セクタごとに読み込む必要が
ない。従って不揮発性半導体メモリからセクタ管理テー
ブルを読み出す時間を短縮することができる。また揮発
性半導体メモリ上のセクタ管理テーブルの格納領域は、
外部との間で連続して読み出し又は書き込みされる最大
セクタ数に対応するエントリ分の容量でよく、揮発性半
導体メモリの容量の増大を抑止することができ、低コス
トの記憶装置を実現できる。
揮発性半導体メモリ上のセクタ管理テーブルのエントリ
を連続する論理アドレス順に配列したので、外部と不揮
発性半導体メモリとの間で連続して読み出し又は書き込
みされるセクタ数分のエントリを一度に揮発性半導体メ
モリに読み込めばよく、各セクタごとに読み込む必要が
ない。従って不揮発性半導体メモリからセクタ管理テー
ブルを読み出す時間を短縮することができる。また揮発
性半導体メモリ上のセクタ管理テーブルの格納領域は、
外部との間で連続して読み出し又は書き込みされる最大
セクタ数に対応するエントリ分の容量でよく、揮発性半
導体メモリの容量の増大を抑止することができ、低コス
トの記憶装置を実現できる。
【図1】実施形態のフラッシュメモリカードのブロック
図である。
図である。
【図2】実施形態のフラッシュメモリカードに内蔵され
るフラッシュメモリ内部の構成図である。
るフラッシュメモリ内部の構成図である。
【図3】実施形態のフラッシュメモリ内部に書き込まれ
ているセクタ管理テーブルの構成図である。
ているセクタ管理テーブルの構成図である。
【図4】フラッシュメモリ17およびフラッシュメモリ
18内部の一構成例を示す図である。
18内部の一構成例を示す図である。
【図5】セクタ管理テーブルの一構成例を示す図であ
る。
る。
【図6】実施形態のマイクロコンピュータ16の処理・
制御の手順を示す図である。
制御の手順を示す図である。
【図7】フラッシュメモリ17およびフラッシュメモリ
18内部の他の構成例を示す図である。
18内部の他の構成例を示す図である。
【図8】フラッシュメモリ17およびフラッシュメモリ
18内部の他の構成例を示す図である。
18内部の他の構成例を示す図である。
【図9】本発明の他の実施形態であるフラッシュメモリ
カードのブロック図である。
カードのブロック図である。
【図10】セクタ管理テーブルの他の構成例を示す図で
ある。
ある。
1,13…フラッシュメモリカード、2…ホストコンピ
ュータ、11…ホストインタフェース部、12…データ
転送制御部、13…データバッファ、15…フラッシュ
インタフェース部、16…マイクロコンピュータ、17
…フラッシュメモリ、18…フラッシュメモリ、19…
ECC回路
ュータ、11…ホストインタフェース部、12…データ
転送制御部、13…データバッファ、15…フラッシュ
インタフェース部、16…マイクロコンピュータ、17
…フラッシュメモリ、18…フラッシュメモリ、19…
ECC回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 片山 国弘 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 Fターム(参考) 5B018 GA02 GA06 GA10 HA14 HA21 HA24 KA14 KA17 KA18 MA24 NA06 PA01 QA16 RA11 5B025 AD04 AD05 AD13 AE05
Claims (5)
- 【請求項1】セクタデータとセクタ管理テーブルとを格
納する少なくとも1つの不揮発性半導体メモリと、外部
とのインタフェース制御手段と、該不揮発性半導体メモ
リに対するデータ読み書きを制御する手段と、外部と該
不揮発性半導体メモリとの間で読み出しおよび書き込み
されるセクタデータと該セクタ管理テーブルとを一時的
に格納する揮発性半導体メモリとを有する記憶装置であ
って、 該セクタ管理テーブルは、外部から送られるセクタの論
理アドレスを該不揮発性半導体メモリの物理アドレスに
変換するときに該物理アドレスに対応するセクタが不良
セクタであるか否かのフラグと、不良セクタである場合
の代替先アドレスとを格納し、さらに該フラグと対応す
る代替先アドレスとの組は連続する論理アドレスの順に
配列されていることを特徴とする記憶装置。 - 【請求項2】請求項1に記載の記憶装置において、該不
揮発性半導体メモリは、外部との間で連続して読み出し
又は書き込みされるセクタ数分の該フラグと代替先アド
レスとの組を格納することを特徴とする記憶装置。 - 【請求項3】請求項1に記載の記憶装置において、該不
揮発性半導体メモリの該セクタ管理テーブルの格納領域
は、外部との間で連続して読み出し又は書き込みされる
最大セクタ数に対応する該フラグと代替先アドレスとの
組を格納することを特徴とする記憶装置。 - 【請求項4】請求項1に記載の記憶装置において、該記
憶装置は、さらに該不揮発性半導体メモリに格納したセ
クタデータおよびセクタ管理テーブルのエラー検出を行
うECC回路を有し、該セクタ管理テーブルは、該フラ
グと代替先アドレスとの組ごとにエラー検出用冗長デー
タを格納することを特徴とする記憶装置。 - 【請求項5】セクタデータを格納するとともに、不良セ
クタであるか否かのフラグと不良セクタである場合の代
替先アドレスとを1つのエントリとして複数エントリを
格納する少なくとも1つの不揮発性半導体メモリと、外
部と該不揮発性半導体メモリとの間で読み出しおよび書
き込みされるセクタデータと該セクタ管理テーブルとを
一時的に格納する揮発性半導体メモリと、該セクタデー
タの読み出しおよび書き込みに係わる処理を制御するコ
ンピュータ手段とを有する記憶装置であって、 該不揮発性半導体メモリ上の該エントリは連続する論理
アドレスの順に配列されており、該コンピュータ手段は
該不揮発性半導体メモリと外部との間で連続して読み出
し又は書き込みされるセクタ数分の該エントリを読み出
して該揮発性半導体メモリに格納するよう制御すること
を特徴とする記憶装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31409199A JP2001134496A (ja) | 1999-11-04 | 1999-11-04 | 不揮発性半導体メモリを用いた記憶装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31409199A JP2001134496A (ja) | 1999-11-04 | 1999-11-04 | 不揮発性半導体メモリを用いた記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001134496A true JP2001134496A (ja) | 2001-05-18 |
Family
ID=18049141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31409199A Pending JP2001134496A (ja) | 1999-11-04 | 1999-11-04 | 不揮発性半導体メモリを用いた記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001134496A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004102781A (ja) * | 2002-09-11 | 2004-04-02 | Hitachi Ltd | メモリシステム |
JP2007310915A (ja) * | 2007-08-31 | 2007-11-29 | Renesas Technology Corp | メモリカード及びメモリコントローラ |
JP2008040701A (ja) * | 2006-08-04 | 2008-02-21 | Sony Ericsson Mobilecommunications Japan Inc | メモリ管理方法および携帯端末装置 |
US7954039B2 (en) | 2001-08-09 | 2011-05-31 | Renesas Electronics Corporation | Memory card and memory controller |
WO2017158997A1 (ja) * | 2016-03-16 | 2017-09-21 | ソニー株式会社 | メモリコントローラ、メモリシステム、情報処理システム、メモリ制御方法およびプログラム |
CN112700814A (zh) * | 2021-01-05 | 2021-04-23 | 潍柴动力股份有限公司 | Eeprom数据的读取方法、装置、电控设备及介质 |
-
1999
- 1999-11-04 JP JP31409199A patent/JP2001134496A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7954039B2 (en) | 2001-08-09 | 2011-05-31 | Renesas Electronics Corporation | Memory card and memory controller |
US8042021B2 (en) | 2001-08-09 | 2011-10-18 | Renesas Electronics Corporation | Memory card and memory controller |
JP2004102781A (ja) * | 2002-09-11 | 2004-04-02 | Hitachi Ltd | メモリシステム |
JP4499982B2 (ja) * | 2002-09-11 | 2010-07-14 | 株式会社日立製作所 | メモリシステム |
JP2008040701A (ja) * | 2006-08-04 | 2008-02-21 | Sony Ericsson Mobilecommunications Japan Inc | メモリ管理方法および携帯端末装置 |
JP2007310915A (ja) * | 2007-08-31 | 2007-11-29 | Renesas Technology Corp | メモリカード及びメモリコントローラ |
WO2017158997A1 (ja) * | 2016-03-16 | 2017-09-21 | ソニー株式会社 | メモリコントローラ、メモリシステム、情報処理システム、メモリ制御方法およびプログラム |
CN112700814A (zh) * | 2021-01-05 | 2021-04-23 | 潍柴动力股份有限公司 | Eeprom数据的读取方法、装置、电控设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4563465B2 (ja) | 不揮発性半導体記憶装置 | |
JP4688584B2 (ja) | ストレージ装置 | |
US8166258B2 (en) | Skip operations for solid state disks | |
US5530673A (en) | Flash memory control method and information processing system therewith | |
US7549013B2 (en) | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices | |
US5956743A (en) | Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations | |
KR100881187B1 (ko) | 하이브리드 하드 디스크 드라이브, 하이브리드 하드 디스크드라이브를 내장하는 컴퓨터 시스템, 그리고 하이브리드하드 디스크 드라이브의 플래시 메모리 dma 회로 | |
JP2000067574A (ja) | 半導体記憶装置 | |
US7245539B2 (en) | Memory card, semiconductor device, and method of controlling semiconductor memory | |
US20150052329A1 (en) | Memory control device, host computer, information processing system and method of controlling memory control device | |
US20110320910A1 (en) | Storage management method and storage system | |
JP2000020252A (ja) | 不揮発性半導体メモリを用いた記憶装置 | |
JP4743174B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US8402199B2 (en) | Memory management system and method thereof | |
JP2012058770A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
CN113555057A (zh) | 一种扩大固态硬盘映射表单元的实现方法 | |
JP2005115561A (ja) | フラッシュrom制御装置 | |
JP2002109895A (ja) | 半導体記憶装置 | |
JP2001134496A (ja) | 不揮発性半導体メモリを用いた記憶装置 | |
TW201935232A (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
JP2005115562A (ja) | フラッシュrom制御装置 | |
JP4233213B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4171518B2 (ja) | 不揮発性半導体記憶装置 | |
WO2018040804A1 (zh) | 一种存储器块处理方法、装置和计算机存储介质 | |
US11200172B2 (en) | Storage system and method of controlling storage system |