JP2000122909A - 不揮発性メモリを使用した外部記憶装置 - Google Patents
不揮発性メモリを使用した外部記憶装置Info
- Publication number
- JP2000122909A JP2000122909A JP10296604A JP29660498A JP2000122909A JP 2000122909 A JP2000122909 A JP 2000122909A JP 10296604 A JP10296604 A JP 10296604A JP 29660498 A JP29660498 A JP 29660498A JP 2000122909 A JP2000122909 A JP 2000122909A
- Authority
- JP
- Japan
- Prior art keywords
- address
- physical sector
- host computer
- data
- physical
- 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.)
- Granted
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
を必要とすること無く、マッピングテーブルの信頼性を
向上させ、データの信頼性を維持することが可能な、不
揮発性メモリを使用した外部記憶装置を実現する。 【解決手段】RAM3は二重化したマッピングテーブル
が備える。ホストコンピュータ200からのデータの読
み出し時に制御回路4はRAM3のアドレスR2に格納
されている物理セクタアドレスとR2+xに格納されて
いる物理セクタアドレスとを比較する。比較した物理セ
クタアドレスが一致しないと制御回路4が判断した場合
は各々のマッピングテーブルから読み出された物理セク
タアドレスの物理セクタの管理領域にアクセスし、ホス
トコンピュータ200からのアクセスアドレスと同じ論
理セクタアドレスを持つ物理セクタ20が存在するかど
うか確認して存在すれば、それに基づきマッピングテー
ブルの内容を修正する。
Description
して、例えばフラッシュメモリを用いたコンピュータの
外部記憶装置に関する。
磁気ディスクドライブ(ハードディスクドライブ、以下
H/Dと記す)がある。このH/Dは、大容量であるが
機械部品を使用しているため、衝撃や振動に弱い欠点が
ある。この欠点を解消するためにフラッシュメモリを記
憶媒体に使用する外部記憶装置が開発された。
込みのアクセスが行われ、セクタのサイズとしては51
2バイトがよく使用されている。
ら、書込みを行う前に消去が行われる必要がある。ま
た、フラッシュメモリは、読み出しアクセス時間は速い
が、消去時間と書込み時間とが長い。さらに、フラッシ
ュメモリは、現状では書込み回数に105回という制限
がある。このため、フラッシュメモリ内の一定個所が、
書込みの集中により、上述した書込み回数の制限に達し
た場合には、フラッシュメモリのその他の領域が使用可
能であっても、外部記憶装置としては、使用不可能とな
ってしまう。
メモリはセクタサイズのデータを格納する複数の物理セ
クタに分割され、ホストコンピュータからの書込みデー
タを書込み回数の少ない物理セクタに書き込むように制
御することにより、フラッシュメモリ内の一定個所への
書込みの集中が回避され、フラッシュメモリの寿命を延
ばし、フラッシュメモリを用いた外部記憶装置の長寿命
化を図っていた。
においては、フラッシュメモリ内の物理セクタは、ホス
トコンピュータからの書込みデータを保持するデータ領
域と管理領域とに分けられ、この管理領域にはホストコ
ンピュータのアクセスアドレスである論理セクタアドレ
スを格納していた。
時は、ホストコンピュータからの書込みデータをフラッ
シュメモリの物理セクタのデータ領域に書込んだ後に物
理セクタの管理領域にホストコンピュータのアクセスア
ドレスである論理セクタアドレスを書込む。
装置では、ホストコンピュータからのアクセスアドレス
である論理セクタアドレスをフラッシュメモリ内の物理
セクタアドレスに変換するマッピングテーブルが備えら
れている。そして、マッピングテーブルとポインタと
は、特定の書き込み領域のみが繰り返し書き込まれるの
を避けるため、特定ホストコンピュータからの書込みの
たびに更新される。このため、マピングテーブルとポイ
ンタとはRAM上に作成される。
しく進展している。各種メモリ素子では、この微細化技
術の進展により、メモリ素子1個あたりの記憶容量は増
大される反面、記憶セル1個の占める体積の縮小による
蓄積電荷量の減少、微小欠陥の発生確率の上昇や、動作
の高速化に伴う電気的なノイズの印加等の外部要因によ
り、データ中のエラービットの発生確率が高くなる。
信頼性確保のために、セクタ毎に、フラッシュメモリに
格納されるデータに対し、ECC(Error Che
cking and Correcting feat
ure)に代表される誤り訂正可能な冗長化機構(以下
ECCと記す)のチェックビットを用いていた。
ては、ECCは用いられていなかった。これは、マッピ
ングテーブルにECCを用いるためには、マッピングテ
ーブル用に別個のECC用RAMが余分に必要となり、
コストアップ、大型化、電力需要が大となるためであ
る。
ているRAMにおいてエラービットが発生すると、論理
セクタアドレスから物理セクタアドレスへの変換が誤っ
て行われ、ホストコンピュータに対し、要求した論理セ
クタアドレスのデータとは異なったデータを送ることに
なる。
ピングテーブルを格納するRAM内でエラービットが生
じた場合、フラッシュメモリを使用した外部記憶装置内
のデータが破壊されるという問題点があった。
別個のECC用RAMを必要とすること無く、マッピン
グテーブルの信頼性を向上させ、マッピングテーブルを
格納するRAM内でエラービットが生じた場合でも、デ
ータの信頼性を維持することが可能な、不揮発性メモリ
を使用した外部記憶装置を実現することである。
成するため、次のように構成される。 (1)不揮発性メモリを使用した外部記憶装置におい
て、不揮発性メモリを記憶媒体とし、この記憶媒体の内
部をデータの読み書きの単位である物理セクタに分割
し、物理セクタをホストコンピュータからの書込みデー
タを保持するデータ領域と管理領域とに分割し、管理領
域にはホストコンピュータのアクセスアドレスである論
理セクタアドレスを格納すると共に、論理セクタアドレ
スとこの論理セクタアドレスのデータが格納されている
上記記憶媒体内の物理セクタアドレスの対応表を少なく
とも二重化してマッピングテーブルに格納し、ホストコ
ンピュータからのデータ読み出し時は、ホストコンピュ
ータからの論理セクタアドレスに対応する物理セクタア
ドレスを上記二重化した各々のマッピングテーブルから
読み出し、読み出した値が互いに一致している場合は、
上記マッピングテーブルの内容が正しいと判断し、上記
マッピングテーブルから得られたフラッシュメモリの物
理セクタアドレスのデータをホストコンピュータに送
り、上記二重化した各々のマッピングテーブルから読み
出した物理セクタアドレスの値が互いに異なる場合は、
各々のマッピングテーブルから読み出された物理セクタ
アドレスの物理セクタの管理領域にアクセスし、ホスト
コンピュータからのアクセスアドレスと同じ論理セクタ
アドレスを持つ物理セクタが存在する場合、この物理セ
クタに格納されたデータを、ホストコンピュータに送る
と共にマッピングテーブルの内容を、上記ホストコンピ
ュータからのアクセスアドレスと同じ論理セクタアドレ
スに修正する。
れているので、二重化されたマッピングテーブルのそれ
ぞれに記憶された値を互いに比較すれば、マッピングテ
ーブル内でエラービットが生じたことを判断することが
できる。そして、マッピングテーブル内でエラービット
が生じた場合は、各々のマッピングテーブルから読み出
された物理セクタアドレスの物理セクタの管理領域にア
クセスし、ホストコンピュータからのアクセスアドレス
と同じ論理セクタアドレスを持つ物理セクタに格納され
たデータを、ホストコンピュータに送ると共にマッピン
グテーブルの内容を、上記ホストコンピュータからのア
クセスアドレスと同じ論理セクタアドレスに修正する。
したがって、データの信頼性を維持することが可能な、
不揮発性メモリを使用した外部記憶装置を実現すること
ができる。
ホストコンピュータからこの外部記憶装置へのデータ読
み出し時に、二重化した各々のマッピングテーブルから
読み出した物理セクタアドレスの値が互いに異なり、各
々のマッピングテーブルから読み出された物理セクタア
ドレスの物理セクタで、管理領域にホストコンピュータ
からのアクセスアドレスと同じ論理セクタアドレスを持
つ物理セクタが存在しない場合には、上記二重化した各
々のマッピングテーブルから読み出された物理アドレス
の互いに値の異なるビットの値を変化させた物理セクタ
アドレスの物理セクタの管理領域をアクセスしていき、
ホストコンピュータからのアクセスアドレスと同じ論理
セクタアドレスを持つ物理セクタが存在する場合、この
物理セクタに格納されたデータをホストコンピュータに
送ると共にマッピングテーブルの内容を修正する。
ドレスが格納されていない場合でも、各々のマッピング
テーブルから読み出された物理アドレスの互いに値の異
なるビットの値を変化させた物理セクタアドレスの物理
セクタの管理領域をアクセスしていくので、さらに、デ
ータの信頼性を維持することが可能な、不揮発性メモリ
を使用した外部記憶装置を実現することができる。 (3)また、好ましくは、上記(2)において、ホスト
コンピュータからこの外部記憶装置へのデータ読み出し
時に、二重化した各々のマッピングテーブルから読み出
した物理セクタアドレスの値が互いに異なり、各々のマ
ッピングテーブルから読み出された物理セクタアドレス
の物理セクタで、管理領域にホストコンピュータからの
アクセスアドレスと同じ論理セクタアドレスを持つ物理
セクタが存在せず、上記二重化した各々のマッピングテ
ーブルから読み出された物理アドレスの値の互いに異な
るビットの値を変化させた物理セクタアドレスの物理セ
クタで、管理領域にホストコンピュータからのアクセス
アドレスと同じ論理セクタアドレスを持つ物理セクタが
存在しない場合には、上記二重化した各々のマッピング
テーブルから読み出された物理アドレスの値が互いに同
じビットの値を変化させ、変化させた物理セクタアドレ
スの物理セクタの管理領域にアクセスしていき、ホスト
コンピュータからのアクセスアドレスと同じ論理セクタ
アドレスを持つ物理セクタが存在するときには、この物
理セクタに格納されたデータをホストコンピュータに送
ると共にマッピングテーブルの内容を修正する。
た物理アドレスの値が互いに同じビットの値を変化さ
せ、変化させた物理セクタアドレスの物理セクタの管理
領域にアクセスしていくので、さらに、データの信頼性
を維持することが可能な、不揮発性メモリを使用した外
部記憶装置を実現することができる。
(2)又は(3)において、上記マッピングテーブルを
三重化以上に多重化する。
いて、多重化した各々のマッピングテーブルから読み出
した物理セクタアドレスの値が互いに異なる場合であっ
て、多重化した各々のマッピングテーブルから読み出し
た物理セクタアドレスの値の多数決を取れるときには、
多数となる物理セクタアドレスの物理セクタのデータを
ホストコンピュータに送ると共に、マッピングテーブル
のホストコンピュータからの論理アドレスに対応する物
理セクタアドレスの値を上記多数となる物理セクタアド
レスに書き換えて処理を終了させる。
物理セクタアドレスの値の多数決を取れるときには、ア
ドレスの物理セクタの管理領域からの読み出しを省略で
き、ホストコンピュータに対する不揮発性メモリを使用
した外部記憶装置のアクセス速度を高速化することが可
能となる。
形態を説明する。図1は、本発明の第1の実施形態であ
る外部記憶装置の概略構成を示す図である。図1におい
て、100はフラッシュメモリを使用した外部記憶装置
であり、この外部記憶装置100はホストコンピュータ
200と接続される。
ースであり、2は本発明の記憶媒体として使われるフラ
ッシュメモリ(記憶媒体)である。そして、3はマッピ
ングテーブルを格納するRAMである。
4は、ホストインタフェース1、フラッシュメモリ2、
RAM3を制御する。さらに、制御回路4は、ホストイ
ンタフェースバス5、ホストインタフェース制御線6を
介してホストインタフェース1を制御する。そして、フ
ラッシュメモリ2と、RAM3のメモリアドレスバス7
と、メモリデータバス8とは、メモリ制御線9を介して
制御回路4により制御される。
の構成図である。図2において、フラッシュメモリ2の
内部は、データの読み書きの単位である物理セクタ20
に分けられる。この物理セクタ20のデータのサイズと
しては、1物理セクタで、512バイトがよく使用され
ている。
成図である。図3において、物理セクタ20はホストコ
ンピュータ200からの書込みデータを格納するデータ
領域21と、物理セクタ20の管理情報を格納する管理
領域22とから構成される。この管理領域22にはデー
タ領域21に書込まれたデータに対するホストコンピュ
ータ200のアクセスアドレスである論理セクタアドレ
ス23が格納される。
アドレスとこの論理セクタアドレスのデータが格納され
ている記憶媒体内の物理セクタアドレスの対応表)を格
納するRAM3の構成図である。本発明では、RAM3
内にマッピングテーブルを多重化してもち、この図4の
例は、マッピングテーブルを二重化した場合の構成例で
ある{(アドレス0〜n)、(0+x〜n+x)}。
ータを格納する物理セクタのアドレスは、RAM3のア
ドレス0及びアドレス0+xに格納される。同様に、論
理セクタアドレス1のデータを格納する物理セクタのア
ドレスは、RAM3のアドレス1及びアドレス1+xに
格納される。
ば、論理セクタアドレスaのデータを格納する物理セク
タのアドレスは、RAM3のアドレスa及びアドレスa
+xに格納される。
外部記憶装置100の論理セクタ数である。RAM3に
必要な容量はマッピングテーブルの多重度をm、物理セ
クタアドレスを格納するために必要なバイト数をbとす
ると、m×x×bとなる。
ピュータ200からフラッシュメモリ2を使用した外部
記憶装置100への書込み動作について説明する。図5
は、ホストコンピュータ200からフラッシュメモリ2
を使用した外部記憶装置100にデータの書込みがあっ
た際のフラッシュメモリ2へのデータの書込み動作を示
す。
みを行うセクタのアドレスと書込みデータとをホストイ
ンタフェース1に送る。次に、制御回路4は、ホストイ
ンタフェースバス5を介して、書込みを行う論理セクタ
アドレスと書込みデータとホストインターフェース1か
ら受け取る。
ス7を介して、フラッシュメモリ2の書込みが行われる
物理セクタ20のアドレスを指定して、書込みデータ及
び論理セクタアドレスをメモリデータバス8に乗せ、フ
ラッシュメモリ2に書込む。この際、制御回路4は、ア
ルゴリズムにより、ホストコンピュータ200からの書
込みデータを格納するために、書き換え回数の少ない物
理セクタ20を選定する。
構造から書込みを行う前に消去を行う必要があるため、
フラッシュメモリ2の書込みを行う物理アドレスセクタ
の消去が行われていない場合は、データの書込み前にそ
の消去を行う。ホストコンピュータ200からの書込み
データは、物理セクタ20のデータ領域21に書き込ま
れ、ホストコンピュータ200からの論理セクタアドレ
スは管理領域22に書き込まれる。
のフラッシュメモリ2を使用した外部記憶装置100の
マッピングテーブルの更新動作を示す図である。図6に
おいて、制御回路4は、メモリアドレスバス7を介して
RAM3の書込みが行われるアドレスを指定して、書込
みが行われたフラッシュメモリ2の物理セクタアドレス
をメモリデータバス8に乗せ、RAM3に書込む。
00からの論理セクタアドレスをR1、制御回路4によ
り選定された物理セクタの物理セクタアドレスをP1と
すると、図4に示されるRAM3の構造では、RAM3
のアドレスR1とR1+xとに、書込みが行われたフラ
ッシュメモリ2の物理セクタアドレスP1が書き込まれ
る。
納するRAM3にエラービットが生じてない場合の、ホ
ストコンピュータ200のフラッシュメモリ2を使用し
た外部記憶装置100への読み出しアクセス時の動作を
示す図である。
は、読み出しをおこなう論理セクタアドレスをホストイ
ンタフェース1に送る。制御回路4はホストインタフェ
ースバス5を介して読み出しを行う論理セクタアドレス
を受け取る。
モリアドレスバス7を介して、RAM3のホストコンピ
ュータ200からの読み出しを行う論理セクタアドレス
に対応するフラッシュメモリ2の物理セクタアドレスを
格納するアドレスを指定して、メモリデータバス8を介
してRAM3から物理セクタアドレスを読み出す。
ュータ200からの論理セクタアドレスをR2とし、論
理セクタアドレスR2のデータが格納されているフラッ
シュメモリ2の物理セクタのアドレスP2とすると、制
御回路4は、RAM3のアドレスR2に格納されている
物理セクタアドレスと、R2+xに格納されている物理
セクタアドレスとを比較する。この場合、図4に示され
るRAM3の構造では、RAM3のアドレスR2とR2
+xとから、物理セクタアドレスP2が読み出され、両
者は一致することとなる。
ュータ200からの論理セクタアドレスのデータを格納
する物理セクタ20のアドレスが得られたら、制御回路
4は、メモリアドレスバス7を介して、RAM3から得
られた物理セクタ20のアドレスを指定して、メモリデ
ータバス8を介してフラッシュメモリ2からデータを読
み出す。
ースバス5を介して、読み出したデータをホストインタ
フェース1に送り、更に、ホストインタフェース1から
ホストコンピュータ200に読み出したデータを送る。
読み出した物理セクタアドレスが一致しないと、制御回
路4が判断した場合は、上記図8から図9の動作の間に
各々のマッピングテーブルから読み出された物理セクタ
アドレスの物理セクタ20の管理領域22にアクセス
し、ホストコンピュータ200からのアクセスアドレス
と同じ論理セクタアドレスを持つ物理セクタ20が存在
するかどうか確認する動作とマッピングテーブルの内容
の修正動作とが加わる。
する。図10において、制御回路4は、メモリアドレス
バス7により、RAM3の各々のマッピングテーブルか
ら得られた物理セクタ20のアドレスを指定して、メモ
リデータバス8を介して物理セクタ20の管理領域22
に格納されている、上記物理セクタ20のデータ格納領
域21に格納されたデータの論理アドレスを読み出す。
0と0+xとに格納されている、論理セクタアドレス0
のデータを格納する物理セクタアドレスが、それぞれ、
100000と100001とであり、互いに異なって
いる場合は、図10に示した動作のように、アドレスが
100000と100001の物理セクタ20の管理領
域22のデータを読み出す。
の管理領域22から論理セクタアドレスの読み出しを行
ったら、それらがホストコンピュータ200からの論理
セクタアドレスと一致するかどうかを確認する。
00と100001の物理セクタ20の管理領域22の
データが、それぞれ、5、0となっているとすると、ア
ドレス100001の物理セクタ20が論理セクタアド
レス0のデータを格納しており、アドレス100001
が正しいアドレスであるということが判断されることと
なる。
トコンピュータ200からのアクセスアドレスと同じ論
理セクタアドレスを持つ物理セクタ20が存在す場合
は、図6に示した動作により、RAM3のマッピングテ
ーブルを修正する。
示すように、RAM3のアドレス0に格納されている論
理セクタアドレス0に対応する物理セクタアドレスの値
が100000から100001に書き換えられる。
ったら、図9に示した動作により、ホストコンピュータ
200からの論理セクタアドレスに対応する物理セクタ
20のデータをホストコンピュータ200に送る。
ンピュータ200からの論理セクタアドレス0のデータ
を格納している物理セクタ20のアドレスは、1000
01であるため、アドレス100001の物理セクタ2
0のデータ領域21に格納されているデータをホストコ
ンピュータ200に送る。
アドレス0でエラービットが生じた場合、従来の技術に
おいては、マッピングテーブルが一つしかないので、R
AM3のアドレス0に格納された100000を論理セ
クタアドレス0のデータを格納する物理セクタのアドレ
スとみなす。
クタは、論理セクタアドレス5のデータを格納している
にも拘わらず、フラッシュメモリ2を使用した外部記憶
装置100は、アドレス100000の物理セクタに格
納されたデータを論理セクタアドレス0のセクタのデー
タとして、ホストコンピュータ200に送ってしまう。
この結果、従来の技術においては、RAM3にエラービ
ットが生じた場合は、フラッシュメモリ2を使用した外
部記憶装置100のデータの信頼性が損なわれてしまっ
ていた。
よれば、RAM3にエラーが生じても上述した動作によ
り、フラッシュメモリ2を使用した外部記憶装置100
のデータの信頼性を確保できる。
ば、マッピングテーブル用に別個のECC用RAMを必
要とすること無く、マッピングテーブルの信頼性を向上
させ、マッピングテーブルを格納するRAM内でエラー
ビットが生じた場合でも、データの信頼性を維持するこ
とが可能な、不揮発性メモリを使用した外部記憶装置を
実現することができる。
Mの容量が増大しているため、RAMの素子数を増やさ
ずに、マッピングテーブルを多重化でき、コストアップ
無しに、フラッシュメモリを使用した外部記憶装置10
0のデータの信頼性を向上させることが出来る。
AM3にエラービットが生じた場合であって、エラービ
ットの数が1ビットのときには、図11、図12に示し
た例のようにして、フラッシュメモリ2を使用した外部
記憶装置100のデータの信頼性を確保することができ
るが、エラービットの数が複数になると、図11、図1
2の例に示した方法では、フラッシュメモリを使用した
外部記憶装置100のデータの信頼性を確保できない場
合がある。
の例が、本発明の第2の実施形態である。この第2の実
施形態を図14及び図15を用いて説明する。
1+xに格納されている、論理セクタアドレス1のデー
タを格納する物理セクタアドレスは、それぞれ1001
00と100111とである。そこで、制御回路4は、
図10に示した動作のように、。アドレスが10010
0と100111の物理セクタ20の管理領域22のデ
ータを読み出す。
100100と100111の物理セクタ20の管理領
域22のデータは、それぞれ、4、6となっているとす
ると、それらは、ホストコンピュータ200からの論理
セクタアドレス1とは一致しない。
ス1と1+xに格納されている、物理セクタアドレス
は、下位の2ビットが異なっているため、RAM3のア
ドレス1と1+xに格納されている、物理セクタアドレ
スの下位2ビットの値を変化させた、100101と1
00110の物理セクタ20の管理領域22のデータを
読み出し、制御回路4にて、ホストコンピュータ200
からの論理セクタアドレス1と一致するかどうか確認す
る。
01と100110の物理セクタ20の管理領域22の
データがそれぞれ、2、1となっているとすると、アド
レス100110の物理セクタ20が論理セクタアドレ
ス1のデータを格納していることとなる。
に示すように、RAM3のアドレス1、1+xに格納さ
れている論理セクタアドレス1に対応する物理セクタア
ドレスの値を、それぞれ100100、100111か
ら100110に書き換えて、マッピングテーブルを修
正する。
ったら、図9に示したの動作により、ホストコンピュー
タ200からの論理セクタアドレス1に対応するアドレ
ス100110の物理セクタ20のデータをホストコン
ピュータ200に送る。
ービットが複数の場合でもフラッシュメモリ2を使用し
た外部記憶装置100のデータの信頼性を確保すること
ができる。
ように、管理領域22に、ホストコンピュータ200か
らの論理セクタアドレスと同じ論理セクタアドレスを持
つ物理セクタ20が存在しない場合は、各々のマッピン
グテーブルから読み出された物理アドレスの値が同じビ
ットの値を変化させて、図15及び図16を用いて説明
した動作と同様の動作を行うことにより、フラッシュメ
モリ2を使用した外部記憶装置100のデータの信頼性
を確保することができる。
ば、エラービットの数が複数であっても、マッピングテ
ーブル用に別個のECC用RAMを必要とすること無
く、マッピングテーブルの信頼性を向上させ、マッピン
グテーブルを格納するRAM内でエラービットが生じた
場合でも、フラッシュメモリを使用した外部記憶装置の
データの信頼性を維持することが可能な、不揮発性メモ
リを使用した外部記憶装置を実現することができる。
ルを二重化した場合のフラッシュメモリ2を使用した外
部記憶装置100のデータの信頼性の向上について述べ
たが、マッピングテーブルを三重化以上に多重化した場
合には、さらに、フラッシュメモリ2を使用した外部記
憶装置100のデータの信頼性の向上を図ることができ
る。
場合、論理セクタアドレスaに対応する物理セクタアド
レスを格納するRAM3のアドレスはaとa+xとなる
が、RAM3のアドレスaとa+xの同じビットにエラ
ービットが生じた場合は、RAM3のエラービットの発
生を検出できず、ホストコンピュータ200からの論理
セクタアドレスaに対する読み出しアクセス時に、誤っ
たデータを送ってしまう。
に多重化した場合は、エラービットが生じていないマッ
ピングテーブルが、少なくとも一つ以上存在する可能性
が非常に高いために、各々のマッピングテーブルから読
み出された物理セクタアドレスの比較時に、RAM3の
エラービット発生をほぼ確実に検出でき、フラッシュメ
モリ2を使用した外部記憶装置100のデータの信頼性
を確保することができる。
多重化し、各々のマッピングテーブルから読み出された
物理セクタアドレスを比較して一致しない場合、各々の
マッピングテーブルから読み出された物理セクタアドレ
スの多数決によりホストコンピュータ200からの論理
セクタアドレスに対応する物理セクタアドレスを決定す
れば、各々のマッピングテーブルから読み出されたアド
レスの物理セクタ20の管理領域22からの読み出しを
省略でき、ホストコンピュータ200に対するフラッシ
ュメモリ2を使用した外部記憶装置100のアクセス速
度を高速化することが可能となる。
てフラッシュメモリを使用した場合の例であるが、不揮
発性メモリとしては、フラッシュメモリだけでなく、他
のメモリ、例えば、EEPROM、強誘電体メモリ等を
使用することも可能である。
マッピングテーブル用に別個のECC用RAMを必要と
すること無く、マッピングテーブルの信頼性を向上さ
せ、マッピングテーブルを格納するRAM内でエラービ
ットが生じた場合でも、データの信頼性を維持すること
が可能な、不揮発性メモリを使用した外部記憶装置を実
現することができる。
概略構成図である。
である。
る。
の書込みがあった際のフラッシュメモリへのデータの書
込み動作を示す図である。
ータの書込み動作を示す図である。
出しを行う論理セクタアドレスの送出動作を示す図であ
る。
み出しアクセス動作を示す図である。
読み出しアクセス時に、フラッシュメモリからのデータ
読み出し動作を示す図である。
らの読み出し動作を示す図である。
ータの例を示す図である。
データの例を示す図である。
示す図である。
テーブルを格納するRAM内のデータの例を示す図であ
る。
メモリの物理セクタの管理領域のデータの例を示す図で
ある。
示す図である。
Claims (5)
- 【請求項1】不揮発性メモリを使用した外部記憶装置に
おいて、 不揮発性メモリを記憶媒体とし、この記憶媒体の内部を
データの読み書きの単位である物理セクタに分割し、物
理セクタをホストコンピュータからの書込みデータを保
持するデータ領域と管理領域とに分割し、管理領域には
ホストコンピュータのアクセスアドレスである論理セク
タアドレスを格納すると共に、論理セクタアドレスとこ
の論理セクタアドレスのデータが格納されている上記記
憶媒体内の物理セクタアドレスの対応表を少なくとも二
重化してマッピングテーブルに格納し、ホストコンピュ
ータからのデータ読み出し時は、ホストコンピュータか
らの論理セクタアドレスに対応する物理セクタアドレス
を上記二重化した各々のマッピングテーブルから読み出
し、読み出した値が互いに一致している場合は、上記マ
ッピングテーブルの内容が正しいと判断し、上記マッピ
ングテーブルから得られたフラッシュメモリの物理セク
タアドレスのデータをホストコンピュータに送り、上記
二重化した各々のマッピングテーブルから読み出した物
理セクタアドレスの値が互いに異なる場合は、各々のマ
ッピングテーブルから読み出された物理セクタアドレス
の物理セクタの管理領域にアクセスし、ホストコンピュ
ータからのアクセスアドレスと同じ論理セクタアドレス
を持つ物理セクタが存在する場合、この物理セクタに格
納されたデータを、ホストコンピュータに送ると共にマ
ッピングテーブルの内容を、上記ホストコンピュータか
らのアクセスアドレスと同じ論理セクタアドレスに修正
することを特徴とする不揮発性メモリを使用した外部記
憶装置。 - 【請求項2】請求項1記載の不揮発性メモリを使用した
外部記憶装置において、ホストコンピュータからこの外
部記憶装置へのデータ読み出し時に、二重化した各々の
マッピングテーブルから読み出した物理セクタアドレス
の値が互いに異なり、各々のマッピングテーブルから読
み出された物理セクタアドレスの物理セクタで、管理領
域にホストコンピュータからのアクセスアドレスと同じ
論理セクタアドレスを持つ物理セクタが存在しない場合
には、上記二重化した各々のマッピングテーブルから読
み出された物理アドレスの互いに値の異なるビットの値
を変化させた物理セクタアドレスの物理セクタの管理領
域をアクセスしていき、ホストコンピュータからのアク
セスアドレスと同じ論理セクタアドレスを持つ物理セク
タが存在する場合、この物理セクタに格納されたデータ
をホストコンピュータに送ると共にマッピングテーブル
の内容を修正することを特徴とする不揮発性メモリを使
用した外部記憶装置。 - 【請求項3】請求項2記載の外部記憶装置において、ホ
ストコンピュータからこの外部記憶装置へのデータ読み
出し時に、二重化した各々のマッピングテーブルから読
み出した物理セクタアドレスの値が互いに異なり、各々
のマッピングテーブルから読み出された物理セクタアド
レスの物理セクタで、管理領域にホストコンピュータか
らのアクセスアドレスと同じ論理セクタアドレスを持つ
物理セクタが存在せず、上記二重化した各々のマッピン
グテーブルから読み出された物理アドレスの値の互いに
異なるビットの値を変化させた物理セクタアドレスの物
理セクタで、管理領域にホストコンピュータからのアク
セスアドレスと同じ論理セクタアドレスを持つ物理セク
タが存在しない場合には、上記二重化した各々のマッピ
ングテーブルから読み出された物理アドレスの値が互い
に同じビットの値を変化させ、変化させた物理セクタア
ドレスの物理セクタの管理領域にアクセスしていき、ホ
ストコンピュータからのアクセスアドレスと同じ論理セ
クタアドレスを持つ物理セクタが存在するときには、こ
の物理セクタに格納されたデータをホストコンピュータ
に送ると共にマッピングテーブルの内容を修正すること
を特徴とする不揮発性メモリを使用した外部記憶装置。 - 【請求項4】請求項1、2又は3記載の不揮発性メモリ
を使用した外部記憶装置において、上記マッピングテー
ブルを三重化以上に多重化したことを特徴とする不揮発
性メモリを使用した外部記憶装置。 - 【請求項5】請求項4記載の不揮発性メモリを使用した
外部記憶装置において、多重化した各々のマッピングテ
ーブルから読み出した物理セクタアドレスの値が互いに
異なる場合であって、多重化した各々のマッピングテー
ブルから読み出した物理セクタアドレスの値の多数決を
取れるときには、多数となる物理セクタアドレスの物理
セクタのデータをホストコンピュータに送ると共に、マ
ッピングテーブルのホストコンピュータからの論理アド
レスに対応する物理セクタアドレスの値を上記多数とな
る物理セクタアドレスに書き換えて処理を終了させるこ
とを特徴とする不揮発性メモリを使用した外部記憶装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29660498A JP3769395B2 (ja) | 1998-10-19 | 1998-10-19 | 不揮発性メモリを使用した外部記憶装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29660498A JP3769395B2 (ja) | 1998-10-19 | 1998-10-19 | 不揮発性メモリを使用した外部記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000122909A true JP2000122909A (ja) | 2000-04-28 |
JP3769395B2 JP3769395B2 (ja) | 2006-04-26 |
Family
ID=17835711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29660498A Expired - Fee Related JP3769395B2 (ja) | 1998-10-19 | 1998-10-19 | 不揮発性メモリを使用した外部記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3769395B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006092521A (ja) * | 2004-09-24 | 2006-04-06 | Samsung Electronics Co Ltd | インターフェース選択スイッチを含む不揮発性メモリ保存装置及びそれを利用した方法 |
KR100706242B1 (ko) | 2005-02-07 | 2007-04-11 | 삼성전자주식회사 | 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법 |
US7383431B2 (en) | 2002-06-11 | 2008-06-03 | Seiko Epson Corporation | Control system and method for rewriting data in a flash memory and a data storage medium in which a program is stored for rewriting data in a flash memory |
WO2009098777A1 (ja) * | 2008-02-08 | 2009-08-13 | Fujitsu Limited | バックアップ方法、格納方法、及びディスクアレイ装置 |
-
1998
- 1998-10-19 JP JP29660498A patent/JP3769395B2/ja not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383431B2 (en) | 2002-06-11 | 2008-06-03 | Seiko Epson Corporation | Control system and method for rewriting data in a flash memory and a data storage medium in which a program is stored for rewriting data in a flash memory |
JP2006092521A (ja) * | 2004-09-24 | 2006-04-06 | Samsung Electronics Co Ltd | インターフェース選択スイッチを含む不揮発性メモリ保存装置及びそれを利用した方法 |
KR100706242B1 (ko) | 2005-02-07 | 2007-04-11 | 삼성전자주식회사 | 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법 |
US7529880B2 (en) | 2005-02-07 | 2009-05-05 | Samsung Electronics Co., Ltd. | Address mapping table and method of storing mapping data in the same |
WO2009098777A1 (ja) * | 2008-02-08 | 2009-08-13 | Fujitsu Limited | バックアップ方法、格納方法、及びディスクアレイ装置 |
US8074104B2 (en) | 2008-02-08 | 2011-12-06 | Fujitsu Limited | Controlling apparatus and controlling method |
JP5398551B2 (ja) * | 2008-02-08 | 2014-01-29 | 富士通株式会社 | バックアップ方法、コントローラ、及びディスクアレイシステム |
Also Published As
Publication number | Publication date |
---|---|
JP3769395B2 (ja) | 2006-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9520992B2 (en) | Logical-to-physical address translation for a removable data storage device | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
KR100946286B1 (ko) | 플래시 파일 시스템에서 가상-물리 주소 변환 방법 및 시스템 | |
JP4486938B2 (ja) | メモリのページサイズおよび/またはブロックサイズとは異なるサイズを有するデータセクタを備えた不揮発性メモリシステムの処理技法 | |
US6865658B2 (en) | Nonvolatile data management system using data segments and link information | |
US7702844B2 (en) | Address mapping method and mapping information managing method for flash memory, and flash memory using the same | |
US8621139B2 (en) | Data writing method for writing data into block of multi-level cell NAND flash memory by skipping a portion of upper page addresses and storage system and controller using the same | |
US8327068B2 (en) | Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method | |
JPH11110283A (ja) | 不揮発性半導体メモリシステムの制御方法 | |
JP2008524705A (ja) | スクラッチパッドブロック | |
JPH08137634A (ja) | フラッシュディスクカード | |
US20100318760A1 (en) | Memory controller, nonvolatile storage device, and nonvolatile storage system | |
WO2005059966A2 (en) | Rotational use of memory to minimize write cycles | |
JP2012521033A (ja) | Dramバッファ管理装置および方法 | |
US11733895B2 (en) | Control method of flash memory controller and associated flash memory controller and storage device | |
US11809328B2 (en) | Control method of flash memory controller and associated flash memory controller and storage device | |
JP2010079856A (ja) | 記憶装置およびメモリ制御方法 | |
EP2264602A1 (en) | Memory device for managing the recovery of a non volatile memory | |
JP3808842B2 (ja) | 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法 | |
JP3769395B2 (ja) | 不揮発性メモリを使用した外部記憶装置 | |
JP2012068765A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US8832358B2 (en) | Data writing method, memory controller and memory storage apparatus | |
JP3976764B2 (ja) | 半導体ディスク装置 | |
US10922025B2 (en) | Nonvolatile memory bad row management | |
JP2012068764A (ja) | メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20060131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060206 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090210 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130210 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130210 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |