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
Application number
JP10296604A
Other languages
English (en)
Other versions
JP3769395B2 (ja
Inventor
Yuji Sugaya
祐二 菅谷
Noriko Kubushiro
紀子 久布白
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP29660498A priority Critical patent/JP3769395B2/ja
Publication of JP2000122909A publication Critical patent/JP2000122909A/ja
Application granted granted Critical
Publication of JP3769395B2 publication Critical patent/JP3769395B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】マッピングテーブル用に別個のECC用RAM
を必要とすること無く、マッピングテーブルの信頼性を
向上させ、データの信頼性を維持することが可能な、不
揮発性メモリを使用した外部記憶装置を実現する。 【解決手段】RAM3は二重化したマッピングテーブル
が備える。ホストコンピュータ200からのデータの読
み出し時に制御回路4はRAM3のアドレスR2に格納
されている物理セクタアドレスとR2+xに格納されて
いる物理セクタアドレスとを比較する。比較した物理セ
クタアドレスが一致しないと制御回路4が判断した場合
は各々のマッピングテーブルから読み出された物理セク
タアドレスの物理セクタの管理領域にアクセスし、ホス
トコンピュータ200からのアクセスアドレスと同じ論
理セクタアドレスを持つ物理セクタ20が存在するかど
うか確認して存在すれば、それに基づきマッピングテー
ブルの内容を修正する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、不揮発性メモリと
して、例えばフラッシュメモリを用いたコンピュータの
外部記憶装置に関する。
【0002】
【従来の技術】コンピュータの外部記憶装置としては、
磁気ディスクドライブ(ハードディスクドライブ、以下
H/Dと記す)がある。このH/Dは、大容量であるが
機械部品を使用しているため、衝撃や振動に弱い欠点が
ある。この欠点を解消するためにフラッシュメモリを記
憶媒体に使用する外部記憶装置が開発された。
【0003】外部記憶装置はセクタ単位で読み出しや書
込みのアクセスが行われ、セクタのサイズとしては51
2バイトがよく使用されている。
【0004】フラッシュメモリは、その素子の構造か
ら、書込みを行う前に消去が行われる必要がある。ま
た、フラッシュメモリは、読み出しアクセス時間は速い
が、消去時間と書込み時間とが長い。さらに、フラッシ
ュメモリは、現状では書込み回数に105回という制限
がある。このため、フラッシュメモリ内の一定個所が、
書込みの集中により、上述した書込み回数の制限に達し
た場合には、フラッシュメモリのその他の領域が使用可
能であっても、外部記憶装置としては、使用不可能とな
ってしまう。
【0005】したがって、従来においては、フラッシュ
メモリはセクタサイズのデータを格納する複数の物理セ
クタに分割され、ホストコンピュータからの書込みデー
タを書込み回数の少ない物理セクタに書き込むように制
御することにより、フラッシュメモリ内の一定個所への
書込みの集中が回避され、フラッシュメモリの寿命を延
ばし、フラッシュメモリを用いた外部記憶装置の長寿命
化を図っていた。
【0006】
【発明が解決しようとする課題】ところで、従来の技術
においては、フラッシュメモリ内の物理セクタは、ホス
トコンピュータからの書込みデータを保持するデータ領
域と管理領域とに分けられ、この管理領域にはホストコ
ンピュータのアクセスアドレスである論理セクタアドレ
スを格納していた。
【0007】ホストコンピュータからのデータの書込み
時は、ホストコンピュータからの書込みデータをフラッ
シュメモリの物理セクタのデータ領域に書込んだ後に物
理セクタの管理領域にホストコンピュータのアクセスア
ドレスである論理セクタアドレスを書込む。
【0008】また、フラッシュメモリを用いた外部記憶
装置では、ホストコンピュータからのアクセスアドレス
である論理セクタアドレスをフラッシュメモリ内の物理
セクタアドレスに変換するマッピングテーブルが備えら
れている。そして、マッピングテーブルとポインタと
は、特定の書き込み領域のみが繰り返し書き込まれるの
を避けるため、特定ホストコンピュータからの書込みの
たびに更新される。このため、マピングテーブルとポイ
ンタとはRAM上に作成される。
【0009】一方、半導体の分野では、微細化技術が著
しく進展している。各種メモリ素子では、この微細化技
術の進展により、メモリ素子1個あたりの記憶容量は増
大される反面、記憶セル1個の占める体積の縮小による
蓄積電荷量の減少、微小欠陥の発生確率の上昇や、動作
の高速化に伴う電気的なノイズの印加等の外部要因によ
り、データ中のエラービットの発生確率が高くなる。
【0010】そこで、従来の技術においては、データの
信頼性確保のために、セクタ毎に、フラッシュメモリに
格納されるデータに対し、ECC(Error Che
cking and Correcting feat
ure)に代表される誤り訂正可能な冗長化機構(以下
ECCと記す)のチェックビットを用いていた。
【0011】しかしながら、マッピングテーブルに対し
ては、ECCは用いられていなかった。これは、マッピ
ングテーブルにECCを用いるためには、マッピングテ
ーブル用に別個のECC用RAMが余分に必要となり、
コストアップ、大型化、電力需要が大となるためであ
る。
【0012】このため、マッピングテーブルが格納され
ているRAMにおいてエラービットが発生すると、論理
セクタアドレスから物理セクタアドレスへの変換が誤っ
て行われ、ホストコンピュータに対し、要求した論理セ
クタアドレスのデータとは異なったデータを送ることに
なる。
【0013】以上述べたように、従来の技術では、マッ
ピングテーブルを格納するRAM内でエラービットが生
じた場合、フラッシュメモリを使用した外部記憶装置内
のデータが破壊されるという問題点があった。
【0014】本発明の目的は、マッピングテーブル用に
別個のECC用RAMを必要とすること無く、マッピン
グテーブルの信頼性を向上させ、マッピングテーブルを
格納するRAM内でエラービットが生じた場合でも、デ
ータの信頼性を維持することが可能な、不揮発性メモリ
を使用した外部記憶装置を実現することである。
【0015】
【課題を解決するための手段】本発明は、上記目的を達
成するため、次のように構成される。 (1)不揮発性メモリを使用した外部記憶装置におい
て、不揮発性メモリを記憶媒体とし、この記憶媒体の内
部をデータの読み書きの単位である物理セクタに分割
し、物理セクタをホストコンピュータからの書込みデー
タを保持するデータ領域と管理領域とに分割し、管理領
域にはホストコンピュータのアクセスアドレスである論
理セクタアドレスを格納すると共に、論理セクタアドレ
スとこの論理セクタアドレスのデータが格納されている
上記記憶媒体内の物理セクタアドレスの対応表を少なく
とも二重化してマッピングテーブルに格納し、ホストコ
ンピュータからのデータ読み出し時は、ホストコンピュ
ータからの論理セクタアドレスに対応する物理セクタア
ドレスを上記二重化した各々のマッピングテーブルから
読み出し、読み出した値が互いに一致している場合は、
上記マッピングテーブルの内容が正しいと判断し、上記
マッピングテーブルから得られたフラッシュメモリの物
理セクタアドレスのデータをホストコンピュータに送
り、上記二重化した各々のマッピングテーブルから読み
出した物理セクタアドレスの値が互いに異なる場合は、
各々のマッピングテーブルから読み出された物理セクタ
アドレスの物理セクタの管理領域にアクセスし、ホスト
コンピュータからのアクセスアドレスと同じ論理セクタ
アドレスを持つ物理セクタが存在する場合、この物理セ
クタに格納されたデータを、ホストコンピュータに送る
と共にマッピングテーブルの内容を、上記ホストコンピ
ュータからのアクセスアドレスと同じ論理セクタアドレ
スに修正する。
【0016】マッピングテーブルは少なくとも二重化さ
れているので、二重化されたマッピングテーブルのそれ
ぞれに記憶された値を互いに比較すれば、マッピングテ
ーブル内でエラービットが生じたことを判断することが
できる。そして、マッピングテーブル内でエラービット
が生じた場合は、各々のマッピングテーブルから読み出
された物理セクタアドレスの物理セクタの管理領域にア
クセスし、ホストコンピュータからのアクセスアドレス
と同じ論理セクタアドレスを持つ物理セクタに格納され
たデータを、ホストコンピュータに送ると共にマッピン
グテーブルの内容を、上記ホストコンピュータからのア
クセスアドレスと同じ論理セクタアドレスに修正する。
したがって、データの信頼性を維持することが可能な、
不揮発性メモリを使用した外部記憶装置を実現すること
ができる。
【0017】(2)好ましくは、上記(1)において、
ホストコンピュータからこの外部記憶装置へのデータ読
み出し時に、二重化した各々のマッピングテーブルから
読み出した物理セクタアドレスの値が互いに異なり、各
々のマッピングテーブルから読み出された物理セクタア
ドレスの物理セクタで、管理領域にホストコンピュータ
からのアクセスアドレスと同じ論理セクタアドレスを持
つ物理セクタが存在しない場合には、上記二重化した各
々のマッピングテーブルから読み出された物理アドレス
の互いに値の異なるビットの値を変化させた物理セクタ
アドレスの物理セクタの管理領域をアクセスしていき、
ホストコンピュータからのアクセスアドレスと同じ論理
セクタアドレスを持つ物理セクタが存在する場合、この
物理セクタに格納されたデータをホストコンピュータに
送ると共にマッピングテーブルの内容を修正する。
【0018】マッピングテーブルに正しい物理セクタア
ドレスが格納されていない場合でも、各々のマッピング
テーブルから読み出された物理アドレスの互いに値の異
なるビットの値を変化させた物理セクタアドレスの物理
セクタの管理領域をアクセスしていくので、さらに、デ
ータの信頼性を維持することが可能な、不揮発性メモリ
を使用した外部記憶装置を実現することができる。 (3)また、好ましくは、上記(2)において、ホスト
コンピュータからこの外部記憶装置へのデータ読み出し
時に、二重化した各々のマッピングテーブルから読み出
した物理セクタアドレスの値が互いに異なり、各々のマ
ッピングテーブルから読み出された物理セクタアドレス
の物理セクタで、管理領域にホストコンピュータからの
アクセスアドレスと同じ論理セクタアドレスを持つ物理
セクタが存在せず、上記二重化した各々のマッピングテ
ーブルから読み出された物理アドレスの値の互いに異な
るビットの値を変化させた物理セクタアドレスの物理セ
クタで、管理領域にホストコンピュータからのアクセス
アドレスと同じ論理セクタアドレスを持つ物理セクタが
存在しない場合には、上記二重化した各々のマッピング
テーブルから読み出された物理アドレスの値が互いに同
じビットの値を変化させ、変化させた物理セクタアドレ
スの物理セクタの管理領域にアクセスしていき、ホスト
コンピュータからのアクセスアドレスと同じ論理セクタ
アドレスを持つ物理セクタが存在するときには、この物
理セクタに格納されたデータをホストコンピュータに送
ると共にマッピングテーブルの内容を修正する。
【0019】各々のマッピングテーブルから読み出され
た物理アドレスの値が互いに同じビットの値を変化さ
せ、変化させた物理セクタアドレスの物理セクタの管理
領域にアクセスしていくので、さらに、データの信頼性
を維持することが可能な、不揮発性メモリを使用した外
部記憶装置を実現することができる。
【0020】(4)また、好ましくは、上記(1)、
(2)又は(3)において、上記マッピングテーブルを
三重化以上に多重化する。
【0021】(5)また、好ましくは、上記(4)にお
いて、多重化した各々のマッピングテーブルから読み出
した物理セクタアドレスの値が互いに異なる場合であっ
て、多重化した各々のマッピングテーブルから読み出し
た物理セクタアドレスの値の多数決を取れるときには、
多数となる物理セクタアドレスの物理セクタのデータを
ホストコンピュータに送ると共に、マッピングテーブル
のホストコンピュータからの論理アドレスに対応する物
理セクタアドレスの値を上記多数となる物理セクタアド
レスに書き換えて処理を終了させる。
【0022】各々のマッピングテーブルから読み出した
物理セクタアドレスの値の多数決を取れるときには、ア
ドレスの物理セクタの管理領域からの読み出しを省略で
き、ホストコンピュータに対する不揮発性メモリを使用
した外部記憶装置のアクセス速度を高速化することが可
能となる。
【0023】
【発明の実施の形態】以下、図面を用いて本発明の実施
形態を説明する。図1は、本発明の第1の実施形態であ
る外部記憶装置の概略構成を示す図である。図1におい
て、100はフラッシュメモリを使用した外部記憶装置
であり、この外部記憶装置100はホストコンピュータ
200と接続される。
【0024】また、1はホストコンピュータインタフェ
ースであり、2は本発明の記憶媒体として使われるフラ
ッシュメモリ(記憶媒体)である。そして、3はマッピ
ングテーブルを格納するRAMである。
【0025】また、4は制御回路であり、この制御回路
4は、ホストインタフェース1、フラッシュメモリ2、
RAM3を制御する。さらに、制御回路4は、ホストイ
ンタフェースバス5、ホストインタフェース制御線6を
介してホストインタフェース1を制御する。そして、フ
ラッシュメモリ2と、RAM3のメモリアドレスバス7
と、メモリデータバス8とは、メモリ制御線9を介して
制御回路4により制御される。
【0026】図2は、図1に示したフラッシュメモリ2
の構成図である。図2において、フラッシュメモリ2の
内部は、データの読み書きの単位である物理セクタ20
に分けられる。この物理セクタ20のデータのサイズと
しては、1物理セクタで、512バイトがよく使用され
ている。
【0027】図3は、図2に示した物理セクタ20の構
成図である。図3において、物理セクタ20はホストコ
ンピュータ200からの書込みデータを格納するデータ
領域21と、物理セクタ20の管理情報を格納する管理
領域22とから構成される。この管理領域22にはデー
タ領域21に書込まれたデータに対するホストコンピュ
ータ200のアクセスアドレスである論理セクタアドレ
ス23が格納される。
【0028】図4は、マッピングテーブル(論理セクタ
アドレスとこの論理セクタアドレスのデータが格納され
ている記憶媒体内の物理セクタアドレスの対応表)を格
納するRAM3の構成図である。本発明では、RAM3
内にマッピングテーブルを多重化してもち、この図4の
例は、マッピングテーブルを二重化した場合の構成例で
ある{(アドレス0〜n)、(0+x〜n+x)}。
【0029】図4において、論理セクタアドレス0のデ
ータを格納する物理セクタのアドレスは、RAM3のア
ドレス0及びアドレス0+xに格納される。同様に、論
理セクタアドレス1のデータを格納する物理セクタのア
ドレスは、RAM3のアドレス1及びアドレス1+xに
格納される。
【0030】つまり、aを任意のアドレス番号とすれ
ば、論理セクタアドレスaのデータを格納する物理セク
タのアドレスは、RAM3のアドレスa及びアドレスa
+xに格納される。
【0031】ここで、xはフラッシュメモリを使用した
外部記憶装置100の論理セクタ数である。RAM3に
必要な容量はマッピングテーブルの多重度をm、物理セ
クタアドレスを格納するために必要なバイト数をbとす
ると、m×x×bとなる。
【0032】次に、図5及び図6を用いて、ホストコン
ピュータ200からフラッシュメモリ2を使用した外部
記憶装置100への書込み動作について説明する。図5
は、ホストコンピュータ200からフラッシュメモリ2
を使用した外部記憶装置100にデータの書込みがあっ
た際のフラッシュメモリ2へのデータの書込み動作を示
す。
【0033】まず、ホストコンピュータ200は、書込
みを行うセクタのアドレスと書込みデータとをホストイ
ンタフェース1に送る。次に、制御回路4は、ホストイ
ンタフェースバス5を介して、書込みを行う論理セクタ
アドレスと書込みデータとホストインターフェース1か
ら受け取る。
【0034】そして、制御回路4は、メモリアドレスバ
ス7を介して、フラッシュメモリ2の書込みが行われる
物理セクタ20のアドレスを指定して、書込みデータ及
び論理セクタアドレスをメモリデータバス8に乗せ、フ
ラッシュメモリ2に書込む。この際、制御回路4は、ア
ルゴリズムにより、ホストコンピュータ200からの書
込みデータを格納するために、書き換え回数の少ない物
理セクタ20を選定する。
【0035】また、フラッシュメモリ2は、その素子の
構造から書込みを行う前に消去を行う必要があるため、
フラッシュメモリ2の書込みを行う物理アドレスセクタ
の消去が行われていない場合は、データの書込み前にそ
の消去を行う。ホストコンピュータ200からの書込み
データは、物理セクタ20のデータ領域21に書き込ま
れ、ホストコンピュータ200からの論理セクタアドレ
スは管理領域22に書き込まれる。
【0036】図6は、フラッシュメモリ2への書込み後
のフラッシュメモリ2を使用した外部記憶装置100の
マッピングテーブルの更新動作を示す図である。図6に
おいて、制御回路4は、メモリアドレスバス7を介して
RAM3の書込みが行われるアドレスを指定して、書込
みが行われたフラッシュメモリ2の物理セクタアドレス
をメモリデータバス8に乗せ、RAM3に書込む。
【0037】図5に示した動作でホストコンピュータ2
00からの論理セクタアドレスをR1、制御回路4によ
り選定された物理セクタの物理セクタアドレスをP1と
すると、図4に示されるRAM3の構造では、RAM3
のアドレスR1とR1+xとに、書込みが行われたフラ
ッシュメモリ2の物理セクタアドレスP1が書き込まれ
る。
【0038】図7から図9は、マッピングテーブルを格
納するRAM3にエラービットが生じてない場合の、ホ
ストコンピュータ200のフラッシュメモリ2を使用し
た外部記憶装置100への読み出しアクセス時の動作を
示す図である。
【0039】図7において、ホストコンピュータ200
は、読み出しをおこなう論理セクタアドレスをホストイ
ンタフェース1に送る。制御回路4はホストインタフェ
ースバス5を介して読み出しを行う論理セクタアドレス
を受け取る。
【0040】図8において、その後、制御回路4は、メ
モリアドレスバス7を介して、RAM3のホストコンピ
ュータ200からの読み出しを行う論理セクタアドレス
に対応するフラッシュメモリ2の物理セクタアドレスを
格納するアドレスを指定して、メモリデータバス8を介
してRAM3から物理セクタアドレスを読み出す。
【0041】図7に示した動作において、ホストコンピ
ュータ200からの論理セクタアドレスをR2とし、論
理セクタアドレスR2のデータが格納されているフラッ
シュメモリ2の物理セクタのアドレスP2とすると、制
御回路4は、RAM3のアドレスR2に格納されている
物理セクタアドレスと、R2+xに格納されている物理
セクタアドレスとを比較する。この場合、図4に示され
るRAM3の構造では、RAM3のアドレスR2とR2
+xとから、物理セクタアドレスP2が読み出され、両
者は一致することとなる。
【0042】図9において、RAM3からホストコンピ
ュータ200からの論理セクタアドレスのデータを格納
する物理セクタ20のアドレスが得られたら、制御回路
4は、メモリアドレスバス7を介して、RAM3から得
られた物理セクタ20のアドレスを指定して、メモリデ
ータバス8を介してフラッシュメモリ2からデータを読
み出す。
【0043】そして、制御回路4は、ホストインタフェ
ースバス5を介して、読み出したデータをホストインタ
フェース1に送り、更に、ホストインタフェース1から
ホストコンピュータ200に読み出したデータを送る。
【0044】二重化した各々のマッピングテーブルから
読み出した物理セクタアドレスが一致しないと、制御回
路4が判断した場合は、上記図8から図9の動作の間に
各々のマッピングテーブルから読み出された物理セクタ
アドレスの物理セクタ20の管理領域22にアクセス
し、ホストコンピュータ200からのアクセスアドレス
と同じ論理セクタアドレスを持つ物理セクタ20が存在
するかどうか確認する動作とマッピングテーブルの内容
の修正動作とが加わる。
【0045】この様子を図10から図13を用いて説明
する。図10において、制御回路4は、メモリアドレス
バス7により、RAM3の各々のマッピングテーブルか
ら得られた物理セクタ20のアドレスを指定して、メモ
リデータバス8を介して物理セクタ20の管理領域22
に格納されている、上記物理セクタ20のデータ格納領
域21に格納されたデータの論理アドレスを読み出す。
【0046】図11に示すように、RAM3のアドレス
0と0+xとに格納されている、論理セクタアドレス0
のデータを格納する物理セクタアドレスが、それぞれ、
100000と100001とであり、互いに異なって
いる場合は、図10に示した動作のように、アドレスが
100000と100001の物理セクタ20の管理領
域22のデータを読み出す。
【0047】そして、制御回路4は、各物理セクタ20
の管理領域22から論理セクタアドレスの読み出しを行
ったら、それらがホストコンピュータ200からの論理
セクタアドレスと一致するかどうかを確認する。
【0048】図12に示すように、アドレスが1000
00と100001の物理セクタ20の管理領域22の
データが、それぞれ、5、0となっているとすると、ア
ドレス100001の物理セクタ20が論理セクタアド
レス0のデータを格納しており、アドレス100001
が正しいアドレスであるということが判断されることと
なる。
【0049】図11、図12に示した例のように、ホス
トコンピュータ200からのアクセスアドレスと同じ論
理セクタアドレスを持つ物理セクタ20が存在す場合
は、図6に示した動作により、RAM3のマッピングテ
ーブルを修正する。
【0050】図11、図12に示した例では、図13に
示すように、RAM3のアドレス0に格納されている論
理セクタアドレス0に対応する物理セクタアドレスの値
が100000から100001に書き換えられる。
【0051】そして、マッピングテーブルの修正が終わ
ったら、図9に示した動作により、ホストコンピュータ
200からの論理セクタアドレスに対応する物理セクタ
20のデータをホストコンピュータ200に送る。
【0052】図11、図12に示した例では、ホストコ
ンピュータ200からの論理セクタアドレス0のデータ
を格納している物理セクタ20のアドレスは、1000
01であるため、アドレス100001の物理セクタ2
0のデータ領域21に格納されているデータをホストコ
ンピュータ200に送る。
【0053】図11、図12の例のように、RAM3の
アドレス0でエラービットが生じた場合、従来の技術に
おいては、マッピングテーブルが一つしかないので、R
AM3のアドレス0に格納された100000を論理セ
クタアドレス0のデータを格納する物理セクタのアドレ
スとみなす。
【0054】そのため、アドレス100000の物理セ
クタは、論理セクタアドレス5のデータを格納している
にも拘わらず、フラッシュメモリ2を使用した外部記憶
装置100は、アドレス100000の物理セクタに格
納されたデータを論理セクタアドレス0のセクタのデー
タとして、ホストコンピュータ200に送ってしまう。
この結果、従来の技術においては、RAM3にエラービ
ットが生じた場合は、フラッシュメモリ2を使用した外
部記憶装置100のデータの信頼性が損なわれてしまっ
ていた。
【0055】これに対して、本発明の第1の実施形態に
よれば、RAM3にエラーが生じても上述した動作によ
り、フラッシュメモリ2を使用した外部記憶装置100
のデータの信頼性を確保できる。
【0056】つまり、本発明の第1の実施形態によれ
ば、マッピングテーブル用に別個のECC用RAMを必
要とすること無く、マッピングテーブルの信頼性を向上
させ、マッピングテーブルを格納するRAM内でエラー
ビットが生じた場合でも、データの信頼性を維持するこ
とが可能な、不揮発性メモリを使用した外部記憶装置を
実現することができる。
【0057】なお、最近は、微細化の進行により、RA
Mの容量が増大しているため、RAMの素子数を増やさ
ずに、マッピングテーブルを多重化でき、コストアップ
無しに、フラッシュメモリを使用した外部記憶装置10
0のデータの信頼性を向上させることが出来る。
【0058】上述した本発明の第1の実施形態では、R
AM3にエラービットが生じた場合であって、エラービ
ットの数が1ビットのときには、図11、図12に示し
た例のようにして、フラッシュメモリ2を使用した外部
記憶装置100のデータの信頼性を確保することができ
るが、エラービットの数が複数になると、図11、図1
2の例に示した方法では、フラッシュメモリを使用した
外部記憶装置100のデータの信頼性を確保できない場
合がある。
【0059】その場合のデータの信頼性を確保する場合
の例が、本発明の第2の実施形態である。この第2の実
施形態を図14及び図15を用いて説明する。
【0060】図14において、RAM3のアドレス1と
1+xに格納されている、論理セクタアドレス1のデー
タを格納する物理セクタアドレスは、それぞれ1001
00と100111とである。そこで、制御回路4は、
図10に示した動作のように、。アドレスが10010
0と100111の物理セクタ20の管理領域22のデ
ータを読み出す。
【0061】しかし、図15に示すように、アドレスが
100100と100111の物理セクタ20の管理領
域22のデータは、それぞれ、4、6となっているとす
ると、それらは、ホストコンピュータ200からの論理
セクタアドレス1とは一致しない。
【0062】図14に示した例では、RAM3のアドレ
ス1と1+xに格納されている、物理セクタアドレス
は、下位の2ビットが異なっているため、RAM3のア
ドレス1と1+xに格納されている、物理セクタアドレ
スの下位2ビットの値を変化させた、100101と1
00110の物理セクタ20の管理領域22のデータを
読み出し、制御回路4にて、ホストコンピュータ200
からの論理セクタアドレス1と一致するかどうか確認す
る。
【0063】図15に示すように、アドレスが1001
01と100110の物理セクタ20の管理領域22の
データがそれぞれ、2、1となっているとすると、アド
レス100110の物理セクタ20が論理セクタアドレ
ス1のデータを格納していることとなる。
【0064】そこで、図6に示した動作により、図16
に示すように、RAM3のアドレス1、1+xに格納さ
れている論理セクタアドレス1に対応する物理セクタア
ドレスの値を、それぞれ100100、100111か
ら100110に書き換えて、マッピングテーブルを修
正する。
【0065】そして、マッピングテーブルの修正が終わ
ったら、図9に示したの動作により、ホストコンピュー
タ200からの論理セクタアドレス1に対応するアドレ
ス100110の物理セクタ20のデータをホストコン
ピュータ200に送る。
【0066】このようにして、RAM3に発生するエラ
ービットが複数の場合でもフラッシュメモリ2を使用し
た外部記憶装置100のデータの信頼性を確保すること
ができる。
【0067】図15及び図16を用いて説明した動作の
ように、管理領域22に、ホストコンピュータ200か
らの論理セクタアドレスと同じ論理セクタアドレスを持
つ物理セクタ20が存在しない場合は、各々のマッピン
グテーブルから読み出された物理アドレスの値が同じビ
ットの値を変化させて、図15及び図16を用いて説明
した動作と同様の動作を行うことにより、フラッシュメ
モリ2を使用した外部記憶装置100のデータの信頼性
を確保することができる。
【0068】つまり、本発明の第2の実施形態によれ
ば、エラービットの数が複数であっても、マッピングテ
ーブル用に別個のECC用RAMを必要とすること無
く、マッピングテーブルの信頼性を向上させ、マッピン
グテーブルを格納するRAM内でエラービットが生じた
場合でも、フラッシュメモリを使用した外部記憶装置の
データの信頼性を維持することが可能な、不揮発性メモ
リを使用した外部記憶装置を実現することができる。
【0069】以上、本発明において、マッピングテーブ
ルを二重化した場合のフラッシュメモリ2を使用した外
部記憶装置100のデータの信頼性の向上について述べ
たが、マッピングテーブルを三重化以上に多重化した場
合には、さらに、フラッシュメモリ2を使用した外部記
憶装置100のデータの信頼性の向上を図ることができ
る。
【0070】例えば、マッピングテーブルを二重化した
場合、論理セクタアドレスaに対応する物理セクタアド
レスを格納するRAM3のアドレスはaとa+xとなる
が、RAM3のアドレスaとa+xの同じビットにエラ
ービットが生じた場合は、RAM3のエラービットの発
生を検出できず、ホストコンピュータ200からの論理
セクタアドレスaに対する読み出しアクセス時に、誤っ
たデータを送ってしまう。
【0071】しかし、マッピングテーブルを三重化以上
に多重化した場合は、エラービットが生じていないマッ
ピングテーブルが、少なくとも一つ以上存在する可能性
が非常に高いために、各々のマッピングテーブルから読
み出された物理セクタアドレスの比較時に、RAM3の
エラービット発生をほぼ確実に検出でき、フラッシュメ
モリ2を使用した外部記憶装置100のデータの信頼性
を確保することができる。
【0072】また、マッピングテーブルを三重化以上に
多重化し、各々のマッピングテーブルから読み出された
物理セクタアドレスを比較して一致しない場合、各々の
マッピングテーブルから読み出された物理セクタアドレ
スの多数決によりホストコンピュータ200からの論理
セクタアドレスに対応する物理セクタアドレスを決定す
れば、各々のマッピングテーブルから読み出されたアド
レスの物理セクタ20の管理領域22からの読み出しを
省略でき、ホストコンピュータ200に対するフラッシ
ュメモリ2を使用した外部記憶装置100のアクセス速
度を高速化することが可能となる。
【0073】なお、上述した例は、不揮発性メモリとし
てフラッシュメモリを使用した場合の例であるが、不揮
発性メモリとしては、フラッシュメモリだけでなく、他
のメモリ、例えば、EEPROM、強誘電体メモリ等を
使用することも可能である。
【0074】
【発明の効果】以上説明したように、本発明によれば、
マッピングテーブル用に別個のECC用RAMを必要と
すること無く、マッピングテーブルの信頼性を向上さ
せ、マッピングテーブルを格納するRAM内でエラービ
ットが生じた場合でも、データの信頼性を維持すること
が可能な、不揮発性メモリを使用した外部記憶装置を実
現することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態である外部記憶装置の
概略構成図である。
【図2】図1に示したフラッシュメモリの構成を示す図
である。
【図3】図2に示した物理セクタの構成を示す図であ
る。
【図4】図1に示したRAMの構成を示す図である。
【図5】ホストコンピュータから外部記憶装置にデータ
の書込みがあった際のフラッシュメモリへのデータの書
込み動作を示す図である。
【図6】マッピングテーブル更新のためのRAMへのデ
ータの書込み動作を示す図である。
【図7】ホストコンピュータから外部記憶装置への読み
出しを行う論理セクタアドレスの送出動作を示す図であ
る。
【図8】RAMに格納されたマッピングテーブルへの読
み出しアクセス動作を示す図である。
【図9】ホストコンピュータのからの外部記憶装置への
読み出しアクセス時に、フラッシュメモリからのデータ
読み出し動作を示す図である。
【図10】フラッシュメモリの物理セクタの管理領域か
らの読み出し動作を示す図である。
【図11】マッピングテーブルを格納するRAM内のデ
ータの例を示す図である。
【図12】フラッシュメモリの物理セクタの管理領域の
データの例を示す図である。
【図13】RAM内のマッピングテーブルの更新動作を
示す図である。
【図14】本発明の第2の実施形態におけるマッピング
テーブルを格納するRAM内のデータの例を示す図であ
る。
【図15】本発明の第2の実施形態におけるフラッシュ
メモリの物理セクタの管理領域のデータの例を示す図で
ある。
【図16】RAM内のマッピングテーブルの更新動作を
示す図である。
【符号の説明】
1 ホストインタフェース 2 フラッシュメモリ 3 RAM 4 制御回路 5 ホストインタフェースバス 6 ホストインタフェース制御線 7 メモリアドレスバス 8 メモリデータバス 9 メモリ制御線 20 物理セクタ 21 データ領域 22 管理領域 100 フラッシュメモリを使用した外部記憶装置 200 ホストコンピュータ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B018 GA01 GA02 HA03 KA21 MA24 NA06 QA16 RA14 5B065 BA05 CC02 5B082 DE04 EA07 FA05 GA04 GA15 JA06

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】不揮発性メモリを使用した外部記憶装置に
    おいて、 不揮発性メモリを記憶媒体とし、この記憶媒体の内部を
    データの読み書きの単位である物理セクタに分割し、物
    理セクタをホストコンピュータからの書込みデータを保
    持するデータ領域と管理領域とに分割し、管理領域には
    ホストコンピュータのアクセスアドレスである論理セク
    タアドレスを格納すると共に、論理セクタアドレスとこ
    の論理セクタアドレスのデータが格納されている上記記
    憶媒体内の物理セクタアドレスの対応表を少なくとも二
    重化してマッピングテーブルに格納し、ホストコンピュ
    ータからのデータ読み出し時は、ホストコンピュータか
    らの論理セクタアドレスに対応する物理セクタアドレス
    を上記二重化した各々のマッピングテーブルから読み出
    し、読み出した値が互いに一致している場合は、上記マ
    ッピングテーブルの内容が正しいと判断し、上記マッピ
    ングテーブルから得られたフラッシュメモリの物理セク
    タアドレスのデータをホストコンピュータに送り、上記
    二重化した各々のマッピングテーブルから読み出した物
    理セクタアドレスの値が互いに異なる場合は、各々のマ
    ッピングテーブルから読み出された物理セクタアドレス
    の物理セクタの管理領域にアクセスし、ホストコンピュ
    ータからのアクセスアドレスと同じ論理セクタアドレス
    を持つ物理セクタが存在する場合、この物理セクタに格
    納されたデータを、ホストコンピュータに送ると共にマ
    ッピングテーブルの内容を、上記ホストコンピュータか
    らのアクセスアドレスと同じ論理セクタアドレスに修正
    することを特徴とする不揮発性メモリを使用した外部記
    憶装置。
  2. 【請求項2】請求項1記載の不揮発性メモリを使用した
    外部記憶装置において、ホストコンピュータからこの外
    部記憶装置へのデータ読み出し時に、二重化した各々の
    マッピングテーブルから読み出した物理セクタアドレス
    の値が互いに異なり、各々のマッピングテーブルから読
    み出された物理セクタアドレスの物理セクタで、管理領
    域にホストコンピュータからのアクセスアドレスと同じ
    論理セクタアドレスを持つ物理セクタが存在しない場合
    には、上記二重化した各々のマッピングテーブルから読
    み出された物理アドレスの互いに値の異なるビットの値
    を変化させた物理セクタアドレスの物理セクタの管理領
    域をアクセスしていき、ホストコンピュータからのアク
    セスアドレスと同じ論理セクタアドレスを持つ物理セク
    タが存在する場合、この物理セクタに格納されたデータ
    をホストコンピュータに送ると共にマッピングテーブル
    の内容を修正することを特徴とする不揮発性メモリを使
    用した外部記憶装置。
  3. 【請求項3】請求項2記載の外部記憶装置において、ホ
    ストコンピュータからこの外部記憶装置へのデータ読み
    出し時に、二重化した各々のマッピングテーブルから読
    み出した物理セクタアドレスの値が互いに異なり、各々
    のマッピングテーブルから読み出された物理セクタアド
    レスの物理セクタで、管理領域にホストコンピュータか
    らのアクセスアドレスと同じ論理セクタアドレスを持つ
    物理セクタが存在せず、上記二重化した各々のマッピン
    グテーブルから読み出された物理アドレスの値の互いに
    異なるビットの値を変化させた物理セクタアドレスの物
    理セクタで、管理領域にホストコンピュータからのアク
    セスアドレスと同じ論理セクタアドレスを持つ物理セク
    タが存在しない場合には、上記二重化した各々のマッピ
    ングテーブルから読み出された物理アドレスの値が互い
    に同じビットの値を変化させ、変化させた物理セクタア
    ドレスの物理セクタの管理領域にアクセスしていき、ホ
    ストコンピュータからのアクセスアドレスと同じ論理セ
    クタアドレスを持つ物理セクタが存在するときには、こ
    の物理セクタに格納されたデータをホストコンピュータ
    に送ると共にマッピングテーブルの内容を修正すること
    を特徴とする不揮発性メモリを使用した外部記憶装置。
  4. 【請求項4】請求項1、2又は3記載の不揮発性メモリ
    を使用した外部記憶装置において、上記マッピングテー
    ブルを三重化以上に多重化したことを特徴とする不揮発
    性メモリを使用した外部記憶装置。
  5. 【請求項5】請求項4記載の不揮発性メモリを使用した
    外部記憶装置において、多重化した各々のマッピングテ
    ーブルから読み出した物理セクタアドレスの値が互いに
    異なる場合であって、多重化した各々のマッピングテー
    ブルから読み出した物理セクタアドレスの値の多数決を
    取れるときには、多数となる物理セクタアドレスの物理
    セクタのデータをホストコンピュータに送ると共に、マ
    ッピングテーブルのホストコンピュータからの論理アド
    レスに対応する物理セクタアドレスの値を上記多数とな
    る物理セクタアドレスに書き換えて処理を終了させるこ
    とを特徴とする不揮発性メモリを使用した外部記憶装
    置。
JP29660498A 1998-10-19 1998-10-19 不揮発性メモリを使用した外部記憶装置 Expired - Fee Related JP3769395B2 (ja)

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)

* Cited by examiner, † Cited by third party
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 バックアップ方法、格納方法、及びディスクアレイ装置

Cited By (7)

* Cited by examiner, † Cited by third party
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