JP2001142774A - メモリカード及び同カードに適用されるアドレス変換方法 - Google Patents

メモリカード及び同カードに適用されるアドレス変換方法

Info

Publication number
JP2001142774A
JP2001142774A JP32131099A JP32131099A JP2001142774A JP 2001142774 A JP2001142774 A JP 2001142774A JP 32131099 A JP32131099 A JP 32131099A JP 32131099 A JP32131099 A JP 32131099A JP 2001142774 A JP2001142774 A JP 2001142774A
Authority
JP
Japan
Prior art keywords
address
logical
rewritable nonvolatile
memory
nonvolatile 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
JP32131099A
Other languages
English (en)
Inventor
Teruhisa Fujimoto
曜久 藤本
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP32131099A priority Critical patent/JP2001142774A/ja
Priority to US09/708,423 priority patent/US6377500B1/en
Publication of JP2001142774A publication Critical patent/JP2001142774A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】書き換え可能な不揮発性メモリの記憶容量が増
加してもアドレス変換テーブル用の揮発性メモリ領域を
増加させずに済むようにする。 【解決手段】論理ブロックアドレスが割り当てられるブ
ロックの物理アドレスが登録されるエントリの群を有す
るLTPb152-iを、論理ブロックアドレスの所定フ
ィールドの内容が共通のブロック群を単位にフラッシュ
メモリ15に用意し、当該LTPb152-iの1つをR
AM14に格納する。マイクロプロセッサ121はホス
トシステムから論理アドレスが与えられると、対応する
LTPb152-iがRAM14上に存在するか否か調
べ、存在しないなら、LTPb152-iをフラッシュメ
モリ15からRAM14にコピーした後に、存在すると
きはそのまま、上記論理アドレス中の論理ブロックアド
レスによりRAM14上のLTPb152-iの対応エン
トリを参照することで物理アドレスへの変換を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、書き換え可能な不
揮発性メモリを搭載したメモリカードに係り、特に当該
不揮発性メモリをアクセスするために与えられた論理ア
ドレスを物理アドレスに変換するアドレス変換機構を備
えたメモリカード及び同カードに適用されるアドレス変
換方法に関する。
【0002】
【従来の技術】近年、画像データや音楽データに代表さ
れる種々のデジタル情報を保存する記憶装置として、電
源がオフされても保存情報が消失する虞のない書き換え
可能な不揮発性メモリを搭載したメモリカードが広まっ
てきている。
【0003】書き換え可能な不揮発性メモリの代表的な
ものにNAND型フフラッシュメモリがある。この種の
フラッシュメモリはブロック単位で管理される。つま
り、情報の消去(一般には、全ビットが“1”のデー
タ、つまりオール“1”データを書き込む動作)はブロ
ック単位で行われる。また、各ブロックには、論理ブロ
ックアドレスが割り当てられる。各ブロックは複数のセ
クタからなる。このセクタは、フラッシュメモリでの読
み出し/書き込みの最小単位であり、例えば512バイ
トからなる。各セクタはデータ部とは別に冗長部を有し
ている。この冗長部の所定フィールドには、対応するセ
クタが属するブロックに割り当てられている論理ブロッ
クアドレスが登録されている。
【0004】フラッシュメモリ(書き換え可能な不揮発
性メモリ)をアクセスするには、論理アドレスを当該メ
モリの物理アドレスに変換するためのアドレス変換テー
ブル(アドレス変換機構)が必要となる。このアドレス
変換が必要な理由は、フラッシュメモリに欠陥ブロック
が発生して、別の空きブロックに代替しても、そのこと
をホスト側で意識することなく、代替の有無に無関係に
同一の論理アドレスでアクセスできるようにするためで
ある。
【0005】上記アドレス変換テーブルのエントリ数は
フラッシュメモリのブロック数に一致し、1セクタが5
12バイト、つまり0.5KB(キロバイト)で、且つ
1ブロックが32セクタ、つまり16KBの16MB
(メガバイト)フラッシュメモリを用いた場合を例にと
ると、16MB/16KB=1K=1,024となる。
アドレス変換テーブルは一般に揮発性メモリとしてのR
AM上に確保された領域(RAM領域)に格納して用い
られる。したがって上記の例では、1エントリ2バイト
とすると、アドレス変換テーブルを格納するのに必要な
RAM領域は2KBとなる。
【0006】一方、最近は、半導体製造技術の進歩によ
りフラッシュメモリの記憶容量も増加しており、ブロッ
ク数が2,048、1ブロックが16KBの32MBフ
ラッシュメモリ、或いはブロック数が4,096、1ブ
ロックが16KBの64MBフラッシュメモリも出現し
ている。
【0007】ところが、フラッシュメモリの記憶容量が
増加すると、アドレス変換テーブルを保持するためのR
AM領域も大きくしなければならない。例えば、32M
Bフラッシュメモリの場合には4KB、64MBフラッ
シュメモリの場合には8KBのRAM領域がアドレス変
換テーブル用に必要となる。つまり、16MBフラッシ
ュメモリの場合のそれぞれ2倍、4倍といったRAM領
域を必要とする。
【0008】
【発明が解決しようとする課題】上記したように、フラ
ッシュメモリに代表される書き換え可能な不揮発性メモ
リを搭載した従来のメモリカードでは、当該メモリの記
憶容量が増加すると、当該メモリをアクセスするために
与えられる論理アドレスを当該ブロックの物理アドレス
に変換するためのアドレス変換テーブルを保持するのに
必要な、RAMに代表される揮発性メモリの領域も大き
くしなければならなかった。
【0009】本発明は上記事情を考慮してなされたもの
でその目的は、書き換え可能な不揮発性メモリの記憶容
量が増加してもアドレス変換テーブル用の揮発性メモリ
領域を増加させずに済むメモリカード及び同カードに適
用されるアドレス変換方法を提供することにある。
【0010】
【課題を解決するための手段】本発明は、書き換え可能
な不揮発性メモリを搭載したメモリカードにおいて、上
記書き換え可能不揮発性メモリをアクセスするために与
えられる論理アドレスを物理アドレスに変換するのに用
いられる、それぞれ異なる論理アドレス範囲に対応付け
られた複数のアドレス変換テーブルであって、上記書き
換え可能不揮発性メモリに保存される複数のアドレス変
換テーブルと、上記書き換え可能不揮発性メモリ上の複
数のアドレス変換テーブルの1つを格納するためのアド
レス変換テーブル領域が確保される揮発性メモリと、上
記書き換え可能不揮発性メモリをアクセスするための論
理アドレスが与えられた場合、上記揮発性メモリ上の前
記アドレス変換テーブルを利用して当該論理アドレスを
物理アドレスに変換するアドレス変換手段とを備えたこ
とを特徴とする。
【0011】このような構成においては、論理アドレス
を物理アドレスに変換するためのアドレス変換テーブル
がそれぞれ異なる論理アドレス範囲毎に分割され、複数
のアドレス変換テーブルとして書き換え可能不揮発性メ
モリ上に保存される一方、そのうちの1つが揮発性メモ
リ上のアドレス変換テーブル領域に置かれる。ここで
は、書き換え可能不揮発性メモリをアクセスするための
論理アドレスが与えられた場合、揮発性メモリ上のアド
レス変換テーブルを利用して当該論理アドレスを物理ア
ドレスに変換するアドレス変換が行われる。
【0012】このように、一部のアドレス変換テーブル
だけが揮発性メモリ上に置かれて論理アドレスから物理
アドレスへのアドレス変換に用いられるため、全アドレ
ス変換テーブルを揮発性メモリ上に置く場合と異なり、
書き換え可能不揮発性メモリの容量が大きくなっても、
書き換え可能不揮発性メモリの記憶容量の増加を抑える
ことが可能となる。
【0013】ここで、揮発性メモリ上に置かれているア
ドレス変換テーブルが、与えられた論理アドレスの属す
る論理アドレス範囲に対応したアドレス変換テーブルで
はない場合には、アドレス変換は行えない。
【0014】そこで、書き換え可能不揮発性メモリをア
クセスするための論理アドレスが与えられた場合、当該
論理アドレスが属する論理アドレス範囲に対応するアド
レス変換テーブルが揮発性メモリ上に存在するか否かを
判定するヒット/ミスヒット判定手段と、このヒット/
ミスヒット判定手段により上記対応するアドレス変換テ
ーブルが揮発性メモリ上に存在しないと判定された場
合、当該アドレス変換テーブルを書き換え可能不揮発性
メモリから揮発性メモリ上のアドレス変換テーブル領域
にコピーするコピー手段とを追加するとよい。
【0015】このようにすると、与えられた論理アドレ
スを物理アドレスに変換するのに必要なアドレス変換テ
ーブルが上記テーブル領域に存在しない(ミスヒット
の)場合でも、当該テーブルが書き換え可能不揮発性メ
モリから上記テーブル領域にコピーされるため、論理ア
ドレスから物理アドレスへの変換を速やかに行うことが
可能となる。
【0016】ここで、本発明の上記構成とは異なって、
上記各アドレス変換テーブルが書き換え可能不揮発性メ
モリに用意されておらず、いずれか1つのアドレス変換
テーブルだけが上記テーブル領域に作成・保持される構
成をとるとするならば、当該テーブル領域上のアドレス
変換テーブルがアドレス変換に必要なテーブルでないミ
スヒットの場合には、当該必要なテーブルを改めて作成
しなければならず、映像データや音声データの読み出し
(再生)の場合のようにリアルタイム性が要求される場
合には問題となる。つまり、テーブルミス時のペナルテ
ィが大きい。これを避けるため、全テーブルを上記テー
ブル領域に作成・保持することも考えられるが、書き換
え可能不揮発性メモリの記憶容量の大幅な増加を招く。
【0017】これに対して本発明では、全てのアドレス
変換テーブルが書き換え可能不揮発性メモリに用意され
ているため、テーブルミスが発生しても、必要なアドレ
ス変換テーブルを書き換え可能不揮発性メモリから揮発
性メモリの上記テーブル領域にコピーするだけで速やか
にアドレス変換処理を行うことができ、テーブルミス時
のペナルティが小さくて済む。したがって本発明におい
ては、小容量の書き換え可能不揮発性メモリを用いて
も、つまり十分な大きさのテーブル領域が確保できなく
ても、テーブルミス時のペナルティを小さくすることが
可能となり、リアルタイム用途に適用できる。
【0018】なお、本発明では、書き換え可能不揮発性
メモリ上に全てのアドレス変換テーブルを保存するため
の領域を確保する必要があるが、書き換え可能不揮発性
メモリの容量は揮発性メモリの容量に比べて極めて大き
いため、当該揮発性メモリ上に全テーブルを置く構成と
異なって問題とならない。
【0019】ここで、アドレス変換に必要なアドレス変
換テーブルを、より速やかに書き換え可能不揮発性メモ
リから上記テーブル領域にコピーできるように、各アド
レス変換テーブルがそれぞれ保存されている書き換え可
能不揮発性メモリ上の保存位置情報を、当該アドレス変
換テーブルに固有の論理アドレス範囲に対応付けて登録
したポインタテーブルを備えるとよい。
【0020】また、上記ポインタテーブルを上記揮発性
メモリ(に確保されるポインタテーブル領域)にも置く
ようにして、当該揮発性メモリ上のポインタテーブルを
用いて、必要とするアドレス変換テーブルの保存位置情
報を取得する構成とするならば、当該アドレス変換テー
ブルを一層速やかに書き換え可能不揮発性メモリから上
記テーブル領域にコピーすることが可能となる。
【0021】また、上記各アドレス変換テーブルのいず
れが上記揮発性メモリに格納されているかを指定するた
めの参照用テーブル指定手段を追加するならば、上記ヒ
ット/ミスヒット判定手段による判定(テーブルヒット
/ミスの判定)を速やかに行うことが可能となる。
【0022】また本発明のメモリカードは、上記書き換
え可能な不揮発性メモリが、一般に固有の論理ブロック
アドレスが割り当てられる複数のブロックからなること
を考慮して、論理アドレス中の論理ブロックアドレスに
より指定可能な、当該論理ブロックアドレスが割り当て
られるブロックの上記書き換え可能不揮発性メモリの物
理アドレスが登録されるエントリの群を有する複数のア
ドレス変換テーブルであって、論理ブロックアドレスの
所定フィールドの内容が共通のブロック群を単位に用意
されて上記書き換え可能不揮発性メモリに保存される複
数のアドレス変換テーブルと、上記書き換え可能不揮発
性メモリ上の複数のアドレス変換テーブルの1つを格納
するためのアドレス変換テーブル領域が確保される揮発
性メモリと、与えられた論理アドレスの上記所定フィー
ルドに対応するアドレス変換テーブルが上記揮発性メモ
リ上に存在するか否かを判定するヒット/ミスヒット判
定手段と、上記対応するアドレス変換テーブルが上記揮
発性メモリ上に存在しないと判定された場合、当該アド
レス変換テーブルを上記書き換え可能不揮発性メモリか
ら上記揮発性メモリ上のアドレス変換テーブル領域にコ
ピーするコピー手段と、上記対応するアドレス変換テー
ブルが揮発性メモリ上に存在すると判定された場合には
そのまま、存在しないと判定された場合には当該アドレ
ス変換テーブルが揮発性メモリにコピーされるのを待っ
て、上記与えられた論理アドレス中の論理ブロックアド
レスにより当該揮発性メモリ上のアドレス変換テーブル
の対応するエントリを参照することで、論理アドレスを
物理アドレスに変換するアドレス変換手段とを備えたこ
とをも特徴とする。
【0023】ここで、上記各アドレス変換テーブルの各
エントリの内容を予め設定することも可能であるが、最
初はテーブルの枠組みだけを用意し、上記アドレス変換
手段により参照されたアドレス変換テーブルのエントリ
に物理アドレス(または物理ブロックアドレス)が登録
されていない場合に、書き換え可能不揮発性メモリ上の
空きブロックを捜して当該ブロックに要求された論理ア
ドレス中の論理ブロックアドレスを割り当てて、当該ブ
ロックの物理アドレス(または物理ブロックアドレス)
を、上記参照エントリと、書き換え可能不揮発性メモリ
上の対応するアドレス変換テーブルのエントリとに、物
理アドレス登録手段により書き込む構成とすることも可
能である。これにより、使用される可能性の少ないブロ
ックに対応する、アドレス変換テーブル内エントリの情
報までも予め登録する無駄をなくすことができる。
【0024】また、上記アドレス変換手段により変換さ
れた物理アドレスを用いて書き換え可能不揮発性メモリ
に対する書き込みを行った結果ブロックエラーが発生し
た場合、書き換え可能不揮発性メモリ上の空きブロック
を捜して当該ブロックに、与えられた論理アドレス中の
論理ブロックアドレスを割り当てて、当該ブロックの物
理アドレス(または物理ブロックアドレス)で、参照エ
ントリと、書き換え可能不揮発性メモリ上の対応するア
ドレス変換テーブルのエントリを更新するブロック代替
手段を追加するとよい。このようなブロック代替手段を
設けることで、書き込み時にブロックエラーが発生して
も、確実にブロック代替処理を行うことが可能となる。
【0025】また、立ち上げ時に、書き換え可能不揮発
性メモリにアドレス変換テーブルが作成・保存されてい
るか否かを判定するテーブル作成判定手段を追加し、ア
ドレス変換テーブルが作成・保存されていると判定され
た場合、上記コピー手段により、いずれか1つのアドレ
ス変換テーブルが揮発性メモリ上のアドレス変換テーブ
ル領域にコピーされる構成とするとよい。このとき、ポ
インタテーブルも、揮発性メモリ上のポインタテーブル
領域にコピーされる構成とするとよい。
【0026】なお、以上の装置(メモリカード)に係る
本発明は方法(アドレス変換方法)に係る発明としても
成立する。
【0027】
【発明の実施の形態】以下、本発明の実施の形態につき
図面を参照して説明する。図1は本発明の一実施形態に
係るメモリカードの全体構成を示すブロック図である。
【0028】メモリカードは、パーソナルコンピュー
タ、電子カメラ、ゲーム機を始めとする各種電子機器に
装着して使用される。メモリカードは、図1に示すよう
に、当該カードが装着される電子機器本体(以下、ホス
トシステムと称する)とのインタフェース(ホストイン
タフェース)11、カード全体の制御を司る制御部12
と、読み出し専用の不揮発性メモリとしてのROM13
と、揮発性メモリとしてのRAM14と、書き換え可能
な不揮発性メモリとしてのフラッシュメモリ15とを備
えている。
【0029】制御部12は、ホストインタフェース11
を介して受信されるコマンドをROM13に格納されて
いる制御プログラム(ファームウェア)に従って解釈・
実行するマイクロプロセッサ(MPU)121、及び後
述するレジスタ(REG)122を有している。
【0030】ROM13は、制御プログラム、管理用の
固定データ等を予め格納するのに用いられる。RAM1
4は、制御部12(内のマイクロプロセッサ121)の
作業用領域(図示せず)の他、後述するLTPa151
を格納するためのLTPa領域141、及びLTPb1
52-iを格納するためのLTPb領域142等を提供す
る。ここではLTPb領域142のサイズは2KBであ
る。
【0031】フラッシュメモリ15は、例えばNAND
フラッシュメモリである、フラッシュメモリ15の領域
は、管理領域153と、画像データ、音楽データ等のデ
ジタルコンテンツを保存するためのデータ領域154と
に割り当てられる。
【0032】またフラッシュメモリ15は、図2に示す
ように複数のブロックから構成される。このブロックは
データ消去の単位であり、当該ブロックを単位に論理ア
ドレス(Logical Address;LA)中の論理ブロックア
ドレスが割り当てられる。つまり、フラッシュメモリ1
5はブロックを単位に管理される。
【0033】フラッシュメモリ15の各ブロックは、当
該メモリ15に対するデータの書き込み/読み出しの最
小単位である複数のセクタから構成される。したがっ
て、ホストシステムから要求されたデータ書き込みの対
象領域がセクタの一部の場合には、一旦当該セクタのデ
ータを読み出して該当部分を書き込みデータで置き換
え、その置き換え後のデータを当該セクタに書き込む動
作が行われる。同様に、ホストシステムから要求された
データ読み出しの対象領域がセクタの一部の場合には、
当該セクタのデータを読み出し、そこから該当部分のデ
ータを選択して要求元に送出する動作が行われる。
【0034】上記各セクタには、冗長部が設けられてい
る。この冗長部には、エラー検出符号ECCの他、当該
セクタが属するブロックに割り当てられた論理ブロック
アドレスが設定される。
【0035】本実施形態では、フラッシュメモリ15の
1ブロックは32セクタから構成され、1セクタは51
2バイトから構成されるものとする。つまり、本実施形
態では、1ブロックは16KBから構成される。この場
合、論理アドレス(LA)が32ビットで構成されるも
のとすると、図3に示すように、論理アドレスの下位側
の9ビットはセクタ内のバイトデータの位置を示すセク
タ内アドレスとなり、当該セクタ内アドレスの上位側に
続く5ビットは(ブロック内の)セクタ位置を示すセク
タアドレスとなる。また、残りの18ビットは論理ブロ
ック位置を示す論理ブロックアドレス(以下、18ビッ
ト論理ブロックアドレスと称する)となる。但し本実施
形態では、論理アドレスの最上位からの4ビットを除く
上位側の14ビット、つまり上記18ビット論理ブロッ
クアドレスの上位4ビットを除く残り14ビットを実質
的な論理ブロックアドレス(以下、14ビット論理ブロ
ックアドレス)として用いるようにしている。その理由
は次の通りである。
【0036】ます、本実施形態で適用可能なメモリカー
ドは、フラッシュメモリ15の最大容量を256MBに
制限している。この場合、フラッシュメモリ15をアク
セスするための32ビットの論理アドレス(18ビット
論理ブロックアドレス)の上位4ビットは常に“0”と
なる。したがって、この4ビットを除く残り14ビット
(の論理ブロックアドレス)だけで論理ブロックを指定
できる。
【0037】さて本実施形態では、フラッシュメモリ1
5に64MBフラッシュメモリを使用しているものとす
る。この場合、フラッシュメモリ15のブロック数は、
上記したように1ブロックが16KBであることから、
64MB/16KB=4K=4,096となる。
【0038】フラッシュメモリ15の管理領域153に
は、ポインタテーブルとしてのLTPa151及びアド
レス変換テーブルとしての複数のLTPb152-i(i
=0〜2m−1)が格納される。このLTPa151は
上記したようにRAM14のLTPa領域141にも格
納される。つまりLTPa151は、RAM14に常駐
する。また、複数のLTPb152-iのうちのいずれか
1つは、上記したようにRAM14のLTPb領域14
2にも格納される。
【0039】複数(2m個)のLTPb152-iの総エ
ントリ数は、フラッシュメモリ15のブロック数に一致
し、当該フラッシュメモリ15が64MBの例では4K
(4,096)である。また、1つのLTPb152-i
のサイズは、RAM14上に確保可能なLTPb領域1
42のサイズに等しい。ここでは、LTPb領域142
のサイズは2KBである。したがって、LTPb152
-iの1エントリのサイズを2バイトとすると、2KBの
LTPb領域142に格納可能なLTPb152-iのエ
ントリ数は、2KB/2バイト=1K(=1,024)
である。この場合、LTPb152-iの個数(2m
は、フラッシュメモリ15のブロック数が4K(=4,
096)の本実施形態では、4K/1K=4(m=2)
となる。つまり本実施形態では、図4に示すように、4
つのLTPb152-0〜152-3がフラッシュメモリ1
5の管理領域153に保存される。
【0040】ここでLTPb152-iのエントリ内容に
ついて述べる。LTPb152-iは、フラッシュメモリ
15の最大容量を256MBに制限している本実施形態
では、18ビット論理ブロックアドレスの上位8ビット
(14ビット論理ブロックアドレスの上位4ビット)の
値がiの210=1,24個のブロックについて、そのブ
ロックのフラッシュメモリ15上の物理アドレス(Phys
ical Address;PA)のうち、セクタアドレスとセクタ
内アドレスとを除くアドレス、つまり物理ブロックアド
レスが(ブロックポインタとして)、該当する論理ブロ
ックアドレスに対応付けて設定される1,24個のエン
トリ(エントリ0〜1023)からなる。
【0041】以上のLTPb152-iを用いることで、
論理アドレス(LA)を、当該論理アドレス(LA)に
対応するフラッシュメモリ15の物理アドレス(PA)
に変換すること(Logical address To Physical addres
s translation;LTP)ができる。具体的には、論理
アドレス(LA)中の14ビット論理ブロックアドレス
によりLTPb152-iを参照することで、図3に示す
ように、当該論理ブロックアドレスを対応するエントリ
に登録されている物理ブロックアドレスに変換する。そ
して、この物理ブロックアドレスの下位側に上記論理ア
ドレス(LA)中の下位14ビット(セクタアドレスと
セクタ内アドレスからなる14ビット)を連結すること
で、上記論理アドレス(LA)に対応する物理アドレス
(PA)を取得する。
【0042】次にLTPa15について述べる。LTP
a151は、複数のLTPb152-iの(開始位置の)
フラッシュメモリ15上の保存先を示す情報(保存位置
情報)としての格納先頭物理アドレス(Physical Addre
ss;PA)が(LTPbポインタとして)、該当するi
の値に対応付けて設定されるエントリ群からなる。この
LTPa151のエントリの数は、LTPb152-iの
個数が4の例では4である。したがって、LTPa15
1のエントリは、上記14ビット論理ブロックアドレス
の上位4ビット中の下位側の2ビットで参照(指定)可
能である。但し、フラッシュメモリ15の最大容量を2
56MBとし、LTPb領域142が2KBの本実施形
態では、LTPb152-iの個数が最大16となる場合
にも、フラッシュメモリ15の容量が64MBの場合と
同様の手続が可能なように、上記14ビット論理ブロッ
クアドレスの上位4ビットの値によりLTPa151の
エントリを参照するようにしている。このLTPa15
1を用いることで、論理アドレス(LA)を物理アドレ
ス(PA)に変換するのに必要なLTPb152-iの保
存位置の情報を取得できる。
【0043】フラッシュメモリ15の管理領域153の
所定位置、例えば先頭には、フラッシュメモリ15内に
おけるLTPa151の先頭物理アドレスPAaがLT
Paポインタとして設定される。
【0044】次に、図1の構成のメモリカードにおける
動作について、(1)立ち上げ時の処理と、(2)アク
セス要求受け付け時処理とについて順次説明する。
【0045】(1)立ち上げ時の処理 まず、図1のメモリカードの立ち上げ時、例えばパワー
オン時の処理について、図5のフローチャートを参照し
て説明する。
【0046】制御部12内のマイクロプロセッサ121
は、図1のメモリカードに例えばホストシステムの電源
が供給されると、LTPa151及びLTPb152-i
がフラッシュメモリ15上に作成・保存されているか否
かを判定する(ステップS1)。この判定処理は、フラ
ッシュメモリ15の例えば先頭アドレスにデータが書か
れているか否か(具体的には、オール“1”でないか否
か、つまり消去状態にないか否か)を調べることにより
行われる。
【0047】マイクロプロセッサ121は、LTPa1
51及びLTPb152-iが作成・保存されていないと
判定した場合には、LTPb152-iのエントリ数Aを
決定する(ステップS2)。このLTPb152-iのエ
ントリ数Aは、例えば予め定められているLTPb領域
142のサイズBと、LTPb152-iの1エントリの
サイズCとから、A=B/Cにより決定される。ここで
は、B=2KB、C=2バイトであるものとすると、A
=2KB/2バイト=1K=1,024となる。
【0048】次にマイクロプロセッサ121は、LTP
b152-iの数Dを決定する(ステップS3)。このL
TPb152-iの数D(=2m)は、フラッシュメモリ
15のブロック数EをLTPb152-iのエントリ数A
で除することにより、つまりD=E/Aにより求められ
る。また、フラッシュメモリ15のブロック数Eは、1
ブロックのセクタ数Fと1セクタのバイト数Gとから算
出される1ブロックのサイズH(=F×G)と、フラッ
シュメモリ15の容量Iとから、E=I/H=I/(F
×G)により算出される。ここでは、1ブロックのセク
タ数Fを32、1セクタのバイト数を512とすると、
1ブロックのサイズHは、32×512=16KBであ
り、したがってI=64MBのフラッシュメモリ15の
ブロック数Eは、E=I/H=64MB/16KB=4
K=4,096である。
【0049】マイクロプロセッサ121は、LTPb1
52-iの個数DとLTPb152-iのエントリ数Aとを
決定すると、決定したエントリ数Aのエントリを有する
LTPb152-iの枠組(フォーマット)を、決定した
個数Dだけフラッシュメモリ15の管理領域153上に
作成・保存する(ステップS4)。ここでは、A=1,
024、D=4であることから、図4に示すように、エ
ントリ数が1,024の4つのLTPb152-0〜15
2-3の枠組が作成されて、フラッシュメモリ15の管理
領域153に保存される。この時点において、LTPb
152-0〜152-3の各エントリには何も書き込まれて
いない。、次にマイクロプロセッサ121は、作成・保
存したD(=4)個のLTPb152-iのフラッシュメ
モリ15上の保存位置の情報(先頭物理アドレス)が登
録されたエントリの群を持つLTPa151を作成し
て、フラッシュメモリ15の管理領域153に保存する
(ステップS5)。この際、マイクロプロセッサ121
はLTPa151のフラッシュメモリ15上の保存位置
の情報(先頭物理アドレスPAa)を、当該フラッシュ
メモリ15の例えば先頭位置に登録する。これにより、
以後の立ち上げ時処理では、LTPa151及びLTP
b152-iが作成・保存されていると判定される。ま
た、マイクロプロセッサ121は上記ステップS5にお
いて、上記作成したLTPa151をRAM14のLT
Pa領域141に格納する。なお、LTPa151の作
成を当該LTPa領域141上で行うならば、この格納
動作は不要となる。
【0050】次に、上記ステップS1で、LTPa15
1及びLTPb152-iが作成・保存されていると判定
された場合の処理について説明する。この場合、マイク
ロプロセッサ121は、フラッシュメモリ15からRA
M14のLTPa領域141にLTPa151を、同じ
くフラッシュメモリ15からRAM14のLTPb領域
142にLTPb152-iの1つ(ここではLTPb1
52-0〜152-3の1つ、例えばLTPb152-0)
を、それぞれコピーする(ステップS6)。そしてマイ
クロプロセッサ121は、RAM14のLTPb領域1
42にコピーしたLTPb152-iを示す情報、つまり
RAM14上にLTPb152-iが存在することを示す
情報をレジスタ122に設定する(ステップS7)。本
実施形態において、レジスタ122は、フラッシュメモ
リ15の容量が最大の256MBの場合に生成・保存さ
れるLTPb152-iの個数を考慮して、16テーブル
数分の有効フラグV0〜V15が保持される構成を適用し
ている。したがって、RAM14のLTPb領域142
にコピーされたLTPb152-iに対応する有効フラグ
Viのみをオンすることで、RAM14上に存在するL
TPb152-iが識別可能となる。つまり本実施形態で
は、上記有効フラグViが、RAM14上に存在するL
TPb152-iを示す情報となる。
【0051】(2)アクセス要求受け付け時処理 次に、図1のメモリカードにおいて、ホストシステムか
らのフラッシュメモリ15に対するアクセス要求がホス
トインタフェース11で受け取られてマイクロプロセッ
サ121で受け付けられた場合の処理について、図6乃
至図8のフローチャートを参照して説明する。
【0052】まず、ホストシステムから送られるアクセ
ス要求には、書き込みまたは読み出しのいずれのアクセ
スであるかを示すコマンドと、論理アドレス空間上のア
クセス対象領域の先頭位置を示す論理アドレス(LA)
と、当該領域のサイズとが含まれている。
【0053】マイクロプロセッサ121は、ホストシス
テムからのアクセス要求中の論理アドレスが、フラッシ
ュメモリ15のデータ領域154に割り当てられている
論理アドレス空間の範囲内であるか否かをチェックする
(ステップS11)。
【0054】もし、上記範囲外であるときは、マイクロ
プロセッサ121はアクセス違反としてホストシステム
にエラーを通知する。これに対し、範囲内であるとき
は、マイクロプロセッサ121は、要求された論理アド
レスに対応するLTPb152-iがRAM14上に存在
するか否かを判定する(ステップS12)。なお、この
ステップS12の前に、上記要求された論理アドレスと
サイズとから、複数のブロックにまたがるアクセス要求
であるか否かをチェックして、そうであればアクセス違
反を返し、そうでない場合だけステップS12に進むよ
うにするとよい。この他、複数のブロックにまたがるア
クセス要求の場合に、当該アクセス要求を各ブロック毎
のアクセス要求に変換し、内部的に複数のアクセス要求
として処理するようにしてもよい。
【0055】ここで、上記ステップS12での判定方法
について述べる。まずマイクロプロセッサ121は、要
求された論理アドレス中の前記14ビット論理ブロック
アドレスの上位4ビットの値iで指定される、レジスタ
122中の有効フラグViを参照する。そしてマイクロ
プロセッサ121は、参照した有効フラグViがオン状
態にあるか否かにより、要求された論理アドレスに対応
するLTPb152-iがRAM14上に存在するか否か
を判定する。なお、14ビット論理ブロックアドレスの
上位4ビットの値iにより対応する有効フラグViを選
択するセレクタを用意し、このセレクタの出力の論理状
態に応じて、上記の判定を行うようにしてもよい。
【0056】さて、要求された論理アドレスに対応する
LTPb152-iがRAM14上に存在しないと判定さ
れた場合、マイクロプロセッサ121はフラッシュメモ
リ15からRAM14のLTPb領域142に当該LT
Pb152-iをコピーする(ステップS13)。このL
TPb152-iのフラッシュメモリ15上の保存位置の
情報(物理アドレス)は、上記論理アドレス中の14ビ
ット論理ブロックアドレスの上位4ビットの値iによ
り、RAM14のLTPa領域141上のLTPa15
1の対応エントリを参照することで取得できる。
【0057】そしてマイクロプロセッサ121は、上記
論理アドレス中の14ビット論理ブロックアドレスの上
位4ビットの値iで指定される、レジスタ122中の有
効フラグViをオンする(ステップS14)。このと
き、既にオン状態にある別の有効フラグが存在するとき
は、その有効フラグをオフする。
【0058】マイクロプロセッサ121は、要求された
論理アドレスに対応するLTPb152-iがRAM14
上に存在しないと判定された場合には上記ステップS1
3,S14の後に、存在すると判定された場合にはその
まま、ステップS15に進み、LTPb領域142上の
LTPb152-iを利用して、要求された論理アドレス
を物理アドレスに変換するアドレス変換処理を行う。
【0059】以下、ステップS15のアドレス変換処理
の詳細を、図8のフローチャートを参照して説明する。
まずマイクロプロセッサ121は、要求された論理アド
レス中の14ビット論理ブロックアドレスにより、RA
M14のLTPb領域142上に置かれているLTPb
152-iの対応エントリを参照する(ステップS3
1)。
【0060】次にマイクロプロセッサ121は、参照し
たエントリにデータが書かれているか否か(消去状態で
あるオール“1”であるか)により、14ビット論理ブ
ロックアドレスで指定されるブロックの物理アドレス
(PA)が設定されているか否かを判定する(ステップ
S32)。本実施形態において、LTPb152-iのエ
ントリに実際に登録されるのは、物理アドレスの下位1
4ビットを除く物理ブロックアドレスである。しかし、
物理ブロックアドレスの下位側に全ビットが“0”の1
4ビットのデータ、つまり14ビットのオール“0”デ
ータを連結すれば、該当するブロックの先頭物理アドレ
スを示すことから、当該物理アドレスが登録されている
のと実質的には同じである。
【0061】マイクロプロセッサ121は、参照エント
リに物理アドレス(物理ブロックアドレス)が設定され
ていない場合、フラッシュメモリ15のデータ領域15
4の中から空き領域、つまりブロック内の各セクタの冗
長部に論理ブロックアドレスが書かれてない空きブロッ
クを1つ確保し、当該空きブロックの各セクタの冗長部
に、上記要求された論理アドレス中の論理ブロックアド
レスを書き込む(ステップS33)。つまり、確保した
空きブロックに、要求された論理アドレス中の論理ブロ
ックアドレスを割り当てる。
【0062】次にマイクロプロセッサ121は、RAM
14のLTPb領域142上に置かれているLTPb1
52-iの上記参照エントリと、フラッシュメモリ15に
保存されている複数のLTPbのうちのLTPb152
-iの対応エントリ(要求された論理アドレス中の14ビ
ット論理ブロックアドレスにより指定されるエントリ)
とに、上記確保した(論理ブロックアドレスの割り当て
を行った)ブロックの先頭物理アドレス(中の14ビッ
ト物理ブロックアドレス)を書き込む(ステップS3
4)。
【0063】マイクロプロセッサ121は、上記参照し
たエントリに物理アドレス(物理ブロックアドレス)が
設定されている場合には、当該物理アドレス(物理ブロ
ックアドレス)を、設定されていない場合には、ステッ
プS34で新たに書き込んだ物理アドレス(物理ブロッ
クアドレス)を取得する(ステップS35)。本実施形
態のように、物理ブロックアドレスが取得される構成で
は、当該物理ブロックアドレスの下位側に、上記要求さ
れた論理アドレスの下位14ビット(つまり、5ビット
のセクタアドレスと9ビットのセクタ内アドレスとから
なる14ビット)を連結することで、目的の物理アドレ
スが得られる。また、下位14ビットがオール“0”の
物理アドレスが取得される構成を適用する場合には、当
該物理アドレスに上記要求された論理アドレスの下位1
4ビットを加算することでも、目的の物理アドレスが得
られる。以上により、ステップS15のアドレス変換処
理は終了となる。
【0064】さてマイクロプロセッサ121は、ステッ
プS15のアドレス変換終了処理で、要求された論理ア
ドレス(LA)に対応するフラッシュメモリ15の物理
アドレス(PA)を取得すると、当該物理アドレス(P
A)を用いてフラッシュメモリ15をアクセスし、当該
物理アドレス(PA)で指定される位置から始まる要求
されたサイズ分の領域を対象とする、要求された書き込
みまたは読み出しを行う(ステップS16)。ここで、
読み出しアクセス時には、読み出したデータがホストイ
ンタフェース11を介してホストシステムに転送され
る。
【0065】次にマイクロプロセッサ121は、書き込
みまたは読み出しのいずれのアクセスであるかをチェッ
クし(ステップS17)、読み出しアクセスの場合であ
れば、一連のアクセス要求受け付け時処理を終了する。
【0066】これに対し、書き込みアクセスの場合に
は、マイクロプロセッサ121は書き込みエラーの有無
を判定する(ステップS18)。この判定は、書き込ん
だデータを読み出し、その読み出したデータと元の書き
込みデータとを比較することで行われ、比較結果が不一
致を示している場合に書き込みエラーが判定される。
【0067】マイクロプロセッサ121は、書き込みエ
ラーがない場合には、一連のアクセス要求受け付け時処
理を終了する。これに対し、書き込みエラーがある場合
には、マイクロプロセッサ121は、書き込みエラーが
発生したセクタを含むブロック全体が欠陥であるものと
して、つまりブロックエラーであるものとして、ブロッ
ク全体を他の空きブロックに代替するための処理を次の
ように行う。
【0068】まずマイクロプロセッサ121は、フラッ
シュメモリ15のフラッシュメモリ15から代替先のブ
ロックとして空きブロックを1つ確保し、当該空きブロ
ックの各セクタの冗長部に、上記要求された論理アドレ
ス中の論理ブロックアドレスを書き込む、前記ステップ
S33と同様の処理を行う(ステップS19)。
【0069】次にマイクロプロセッサ121は、RAM
14のLTPb領域142上に置かれているLTPb1
52-iと、フラッシュメモリ15に保存されている複数
のLTPbのうちのLTPb152-iとにおける該当す
る両エントリ、即ち要求された論理アドレス中の14ビ
ット論理ブロックアドレスにより指定される両エントリ
の内容を、上記確保した(論理ブロックアドレスの割り
当てを行った)代替先ブロックの先頭物理アドレス(中
の14ビット物理ブロックアドレス)に更新する(ステ
ップS20)。
【0070】次にマイクロプロセッサ121は、ブロッ
クエラーと判定された旧ブロックのデータを、代替先ブ
ロックにコピーする(ステップS21)。そしてマイク
ロプロセッサ121は、上記ステップS20で更新した
物理ブロックアドレスから取得される物理アドレス(P
A)を用いて、フラッシュメモリ15を再アクセスし、
当該物理アドレス(PA)で指定される位置から始まる
要求されたサイズ分の領域を対象とする要求された書き
込みを行う(ステップS22)。
【0071】もし、この再アクセスにより書き込みが正
常に行われたならば、一連のアクセス要求受け付け時処
理は終了となる。これに対し、再び書き込みエラーとな
ったなら、上記ステップS19以降のブロック代替処理
と、代替先ブロックを対象とする再書き込み処理とが行
われる。以上の処理が所定回数繰り返されても、書き込
みが正常に行われない場合には、エラー終了となる。
【0072】なお、前記実施形態では、LTPb152
-iは初期状態において枠組だけが作成されるものとして
説明したが、最初からエントリ内容が登録されたLTP
b152-iが作成される構成であっても構わない。
【0073】
【発明の効果】以上詳述したように本発明によれば、論
理アドレスを物理アドレスに変換するためのアドレス変
換テーブルが複数のアドレス変換テーブルに分割されて
書き換え可能不揮発性メモリ上に保存される一方、その
うちの1つだけが揮発性メモリ上のアドレス変換テーブ
ル領域に置かれてアドレス変換に用いられる構成とした
ので、書き換え可能不揮発性メモリの記憶容量が増加し
ても揮発性メモリの容量が増加するのを抑えることがで
きる。
【0074】また、本発明によれば、書き換え可能不揮
発性メモリをアクセスするために与えられた論理アドレ
スに対応するアドレス変換テーブルが揮発性メモリ上に
存在しないテーブルミスの場合に、当該アドレス変換テ
ーブルを書き換え可能不揮発性メモリから揮発性メモリ
にコピーしてアドレス変換に供するようにしたので、書
き換え可能不揮発性メモリの記憶容量が増加しても揮発
性メモリの容量が増加するのを抑えながら、テーブルミ
ス時のペナルティを最小限に抑えてリアルタイム用途に
対応することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るメモリカードの全体
構成を示すブロック図。
【図2】図1中のフラッシュメモリ15の管理単位とし
てのブロックを説明するための図。
【図3】同実施形態で適用される論理アドレスと物理ア
ドレスとの対応関係を説明するための図。
【図4】同実施形態で適用されるLTPa151及びL
TPb152-iを説明するための図。
【図5】同実施形態における立ち上げ時処理を説明する
ためのフローチャート。
【図6】同実施形態におけるアクセス要求受け付け時処
理を説明するためのフローチャートの一部を示す図。
【図7】同実施形態におけるアクセス要求受け付け時処
理を説明するためのフローチャートの残りを示す図。
【図8】図6中のステップS15のアドレス変換処理の
詳細な手順を説明するためのフローチャート。
【符号の説明】
12…制御部 13…ROM 14…RAM(揮発性メモリ) 15…フラッシュメモリ(書き換え可能不揮発性メモ
リ) 121…マイクロプロセッサ(MPU、アドレス変換手
段、ヒット/ミスヒット判定手段、コピー手段、物理ア
ドレス登録手段、ブロック代替手段、テーブル作成判定
手段、テーブル作成手段) 122…レジスタ(REG、参照用テーブル指定手段) 141…LTPa領域(ポインタテーブル領域) 142…LTPb領域(アドレス変換テーブル領域) 151…LTPa(ポインタテーブル) 152-0〜152-3,152-i…LTPb(アドレス変
換テーブル) 153…管理領域 154…データ領域

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 書き換え可能な不揮発性メモリを搭載し
    たメモリカードにおいて、 前記書き換え可能不揮発性メモリをアクセスするために
    与えられる論理アドレスを物理アドレスに変換するのに
    用いられる、それぞれ異なる論理アドレス範囲に対応付
    けられた複数のアドレス変換テーブルであって、前記書
    き換え可能不揮発性メモリに保存される複数のアドレス
    変換テーブルと、 前記書き換え可能不揮発性メモリ上の前記複数のアドレ
    ス変換テーブルの1つを格納するためのアドレス変換テ
    ーブル領域が確保される揮発性メモリと、 前記書き換え可能不揮発性メモリをアクセスするための
    論理アドレスが与えられた場合、前記揮発性メモリ上の
    前記アドレス変換テーブルを利用して当該論理アドレス
    を物理アドレスに変換するアドレス変換手段とを具備す
    ることを特徴とするメモリカード。
  2. 【請求項2】 前記書き換え可能不揮発性メモリをアク
    セスするための論理アドレスが与えられた場合、当該論
    理アドレスが属する論理アドレス範囲に対応する前記ア
    ドレス変換テーブルが前記揮発性メモリ上に存在するか
    否かを判定するヒット/ミスヒット判定手段と、 前記ヒット/ミスヒット判定手段により前記対応するア
    ドレス変換テーブルが前記揮発性メモリ上に存在しない
    と判定された場合、当該アドレス変換テーブルを前記書
    き換え可能不揮発性メモリから前記揮発性メモリ上の前
    記アドレス変換テーブル領域にコピーするコピー手段と
    を更に具備することを特徴とする請求項1記載のメモリ
    カード。
  3. 【請求項3】 前記複数のアドレス変換テーブルがそれ
    ぞれ保存されている前記書き換え可能不揮発性メモリ上
    の保存位置情報を、当該アドレス変換テーブルに固有の
    論理アドレス範囲に対応付けて登録したポインタテーブ
    ルを更に具備し、 前記コピー手段は、前記ヒット/ミスヒット判定手段に
    より前記対応するアドレス変換テーブルが前記揮発性メ
    モリ上に存在しないと判定された場合、前記ポインタテ
    ーブルを参照して対応する保存位置情報を取得し、当該
    保存位置情報の示す前記書き換え可能不揮発性メモリ上
    の前記アドレス変換テーブルを前記揮発性メモリ上の前
    記アドレス変換テーブル領域にコピーすることを特徴と
    する請求項2記載のメモリカード。
  4. 【請求項4】 前記複数のアドレス変換テーブルのいず
    れが前記揮発性メモリに格納されているかを指定するた
    めの参照用テーブル指定手段を更に具備し、 前記ヒット/ミスヒット判定手段は、前記与えられた論
    理アドレスが属する論理アドレス範囲に対応する前記ア
    ドレス変換テーブルが前記揮発性メモリ上に存在するか
    否かを前記参照用テーブル指定手段の指定内容に基づい
    て判定することを特徴とする請求項2記載のメモリカー
    ド。
  5. 【請求項5】 固有の論理ブロックアドレスが割り当て
    られる複数のブロックからなる書き換え可能な不揮発性
    メモリを搭載したメモリカードにおいて、 論理アドレス中の論理ブロックアドレスにより指定可能
    な、当該論理ブロックアドレスが割り当てられるブロッ
    クの前記書き換え可能不揮発性メモリの物理アドレスが
    登録されるエントリの群を有する複数のアドレス変換テ
    ーブルであって、前記論理ブロックアドレスの所定フィ
    ールドの内容が共通のブロック群を単位に用意されて前
    記書き換え可能不揮発性メモリに保存される複数のアド
    レス変換テーブルと、 前記書き換え可能不揮発性メモリ上の前記複数のアドレ
    ス変換テーブルの1つを格納するためのアドレス変換テ
    ーブル領域が確保される揮発性メモリと、 前記書き換え可能不揮発性メモリをアクセスするための
    論理アドレスが与えられた場合、当該論理アドレスの前
    記所定フィールドに対応する前記アドレス変換テーブル
    が前記揮発性メモリ上に存在するか否かを判定するヒッ
    ト/ミスヒット判定手段と、 前記ヒット/ミスヒット判定手段により前記対応するア
    ドレス変換テーブルが前記揮発性メモリ上に存在しない
    と判定された場合、当該アドレス変換テーブルを前記書
    き換え可能不揮発性メモリから前記揮発性メモリ上の前
    記アドレス変換テーブル領域にコピーするコピー手段
    と、 前記ヒット/ミスヒット判定手段により前記対応するア
    ドレス変換テーブルが前記揮発性メモリ上に存在すると
    判定された場合にはそのまま、存在しないと判定された
    場合には当該アドレス変換テーブルが前記コピー手段に
    より前記揮発性メモリにコピーされるのを待って、前記
    与えられた論理アドレス中の論理ブロックアドレスによ
    り当該揮発性メモリ上の前記アドレス変換テーブルの対
    応するエントリを参照することで、前記与えられた論理
    アドレスを対応する物理アドレスに変換するアドレス変
    換手段とを具備することを特徴とするメモリカード。
  6. 【請求項6】 前記アドレス変換手段により参照された
    前記アドレス変換テーブルのエントリに前記物理アドレ
    スが登録されていない場合、前記書き換え可能不揮発性
    メモリ上の空きブロックを捜して当該ブロックに前記与
    えられた論理アドレス中の論理ブロックアドレスを割り
    当てて、当該ブロックの物理アドレスを、前記参照エン
    トリと、前記書き換え可能不揮発性メモリ上の対応する
    前記アドレス変換テーブルのエントリとに書き込む物理
    アドレス登録手段を更に具備することを特徴とする請求
    項5記載のメモリカード。
  7. 【請求項7】 前記アドレス変換手段により変換された
    物理アドレスを用いて前記書き換え可能不揮発性メモリ
    に対する書き込みを行った結果ブロックエラーが発生し
    た場合、前記書き換え可能不揮発性メモリ上の空きブロ
    ックを捜して当該ブロックに前記与えられた論理アドレ
    ス中の論理ブロックアドレスを割り当てて、当該ブロッ
    クの物理アドレスで、前記参照エントリと、前記書き換
    え可能不揮発性メモリ上の対応する前記アドレス変換テ
    ーブルのエントリを更新するブロック代替手段を更に具
    備することを特徴とする請求項5記載のメモリカード。
  8. 【請求項8】 立ち上げ時に、前記書き換え可能不揮発
    性メモリに前記アドレス変換テーブルが作成・保存され
    ているか否かを判定するテーブル作成判定手段を更に具
    備し、 前記コピー手段は、前記テーブル作成判定手段により前
    記複数のアドレス変換テーブルが前記書き換え可能不揮
    発性メモリに作成・保存されていると判定された場合、
    当該複数のアドレス変換テーブルの1つを前記揮発性メ
    モリ上の前記アドレス変換テーブル領域にコピーするこ
    とを特徴とする請求項5記載のメモリカード。
  9. 【請求項9】 前記テーブル作成判定手段により前記複
    数のアドレス変換テーブルが前記書き換え可能不揮発性
    メモリに作成・保存されていないと判定された場合、前
    記複数のアドレス変換テーブルの枠組と、前記ポインタ
    テーブルとを作成して前記書き換え可能不揮発性メモリ
    に保存することを特徴とするテーブル作成手段を更に具
    備することを特徴とする請求項8記載のメモリカード。
  10. 【請求項10】 書き換え可能な不揮発性メモリを搭載
    したメモリカードに適用されるアドレス変換方法におい
    て、 前記書き換え可能不揮発性メモリをアクセスするために
    与えられる論理アドレスを物理アドレスに変換するのに
    用いられる複数のアドレス変換テーブルであって、それ
    ぞれ異なる論理アドレス範囲に対応付けられた複数のア
    ドレス変換テーブルを前記書き換え可能不揮発性メモリ
    に保存する一方、当該アドレス変換テーブルの1つを揮
    発性メモリ上に確保したアドレス変換テーブル領域に格
    納し、 前記書き換え可能不揮発性メモリをアクセスするための
    論理アドレスが与えられた場合、前記揮発性メモリ上の
    前記アドレス変換テーブルを利用して当該論理アドレス
    を物理アドレスに変換することを特徴とするアドレス変
    換方法。
  11. 【請求項11】 固有の論理アドレスが割り当てられる
    複数のブロックからなる書き換え可能な不揮発性メモリ
    を搭載したメモリカードに適用されるアドレス変換方法
    において、 論理アドレス中の論理ブロックアドレスにより指定可能
    な、当該論理ブロックアドレスが割り当てられるブロッ
    クの前記書き換え可能不揮発性メモリの物理アドレスが
    登録されるエントリの群を有するアドレス変換テーブル
    を、前記論理ブロックアドレスの所定フィールドの内容
    が共通のブロック群を単位に用意して、前記書き換え可
    能不揮発性メモリに保存する一方、当該アドレス変換テ
    ーブルの1つを揮発性メモリ上に確保したアドレス変換
    テーブル領域に格納し、 前記書き換え可能不揮発性メモリをアクセスするための
    論理アドレスが与えられた場合に、当該論理アドレスの
    前記所定フィールドに対応する前記アドレス変換テーブ
    ルが前記揮発性メモリ上に存在するか否かを判定し、 前記対応するアドレス変換テーブルが前記揮発性メモリ
    上に存在しないと判定した場合、当該アドレス変換テー
    ブルを前記書き換え可能不揮発性メモリから前記揮発性
    メモリ上の前記アドレス変換テーブル領域にコピーし、 前記対応するアドレス変換テーブルが前記揮発性メモリ
    上に存在すると判定した場合にはそのまま、存在しない
    と判定した場合には当該アドレス変換テーブルを前記揮
    発性メモリにコピーした後に、前記与えられた論理アド
    レス中の論理ブロックアドレスにより当該揮発性メモリ
    上の前記アドレス変換テーブルの対応するエントリを参
    照することで、前記与えられた論理アドレスを対応する
    物理アドレスに変換することを特徴とするアドレス変換
    方法。
JP32131099A 1999-11-11 1999-11-11 メモリカード及び同カードに適用されるアドレス変換方法 Pending JP2001142774A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP32131099A JP2001142774A (ja) 1999-11-11 1999-11-11 メモリカード及び同カードに適用されるアドレス変換方法
US09/708,423 US6377500B1 (en) 1999-11-11 2000-11-09 Memory system with a non-volatile memory, having address translating function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32131099A JP2001142774A (ja) 1999-11-11 1999-11-11 メモリカード及び同カードに適用されるアドレス変換方法

Publications (1)

Publication Number Publication Date
JP2001142774A true JP2001142774A (ja) 2001-05-25

Family

ID=18131166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32131099A Pending JP2001142774A (ja) 1999-11-11 1999-11-11 メモリカード及び同カードに適用されるアドレス変換方法

Country Status (1)

Country Link
JP (1) JP2001142774A (ja)

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003056432A1 (fr) * 2001-12-25 2003-07-10 Sony Corporation Dispositif de memoire et appareil d'enregistrement/reproduction faisant appel a ce dispositif
US6646917B1 (en) 2002-10-10 2003-11-11 Mitsubishi Denki Kabushiki Kaisha Storage device managing nonvolatile memory by converting logical address to physical address of nonvolatile memory
JP2005092678A (ja) * 2003-09-19 2005-04-07 Matsushita Electric Ind Co Ltd 半導体メモリカード及び不揮発性メモリのデータ消去処理方法
US6901499B2 (en) * 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
JP2006011533A (ja) * 2004-06-22 2006-01-12 Toshiba Corp メモリカード、半導体装置、及び半導体メモリの制御方法
US7076599B2 (en) 2002-02-27 2006-07-11 Microsoft Corporation Transactional file system for flash memory
US7082512B2 (en) 2002-11-21 2006-07-25 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
US7085879B2 (en) 2002-02-27 2006-08-01 Microsoft Corporation Dynamic data structures for tracking data stored in a flash memory device
JP2006221627A (ja) * 2005-02-07 2006-08-24 Samsung Electronics Co Ltd 複数のマッピング技法を採用した適応型フラッシュメモリ制御装置及びそれを含むフラッシュメモリシステム
JP2006523882A (ja) 2003-04-14 2006-10-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ユニバーサルなドライブ装置のためのフォーマットマッピング方式
WO2006126445A1 (ja) * 2005-05-23 2006-11-30 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法
WO2007033614A1 (fr) * 2005-09-25 2007-03-29 Netac Technology Co., Ltd. Procede de gestion de donnees dans un support de memoire flash
JP2007519996A (ja) * 2003-12-30 2007-07-19 サンディスク コーポレイション 不揮発性メモリおよびフェーズ化されたプログラム障害処理を伴う方法
JP2007206957A (ja) * 2006-02-01 2007-08-16 Sony Corp Icカード,情報処理システム,集積回路チップ,およびデータ処理装置
CN100356400C (zh) * 2003-11-07 2007-12-19 希旺科技股份有限公司 可使用任何非挥发性储存器的模拟SmartMedia/xD-Picture储存卡
JP2008117299A (ja) * 2006-11-07 2008-05-22 Fuji Xerox Co Ltd 記憶媒体制御装置
US7516344B2 (en) 2005-01-28 2009-04-07 Panasonic Corporation Memory system
JP2009199242A (ja) * 2008-02-20 2009-09-03 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2009245163A (ja) * 2008-03-31 2009-10-22 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US7925821B2 (en) 2007-02-05 2011-04-12 Sony Corporation Nonvolatile semiconductor storage device and method of managing the same
JP2012505472A (ja) * 2008-10-13 2012-03-01 マイクロン テクノロジー, インク. ソリッドステート記憶装置におけるトランスレーションレイヤ
JP2012506093A (ja) * 2008-10-15 2012-03-08 マイクロン テクノロジー, インク. ソリッドステート記憶装置内のホットメモリブロックテーブル
WO2012104975A1 (ja) * 2011-01-31 2012-08-09 三菱電機株式会社 メモリコントローラ
JP2012174086A (ja) * 2011-02-23 2012-09-10 Hitachi Ltd 記憶装置およびそれを搭載した計算機
US8327068B2 (en) 2005-03-03 2012-12-04 Panasonic Corporation Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method
US8397017B2 (en) 2009-09-08 2013-03-12 Kabushiki Kaisha Toshiba Controller and data storage device
JP2013152676A (ja) * 2012-01-26 2013-08-08 Hitachi Ltd 不揮発性記憶装置
JP2013174972A (ja) * 2012-02-23 2013-09-05 Toshiba Corp メモリシステム、コントローラ、メモリシステムの制御方法
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
US9251055B2 (en) 2012-02-23 2016-02-02 Kabushiki Kaisha Toshiba Memory system and control method of memory system
JP2016212713A (ja) * 2015-05-12 2016-12-15 東芝情報システム株式会社 論理物理アドレス変換テーブルの制御方法及びメモリ装置
JPWO2014142337A1 (ja) * 2013-03-15 2017-02-16 日本電気株式会社 ストレージ装置と方法及びプログラム
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives
JP7408449B2 (ja) 2020-03-23 2024-01-05 キオクシア株式会社 記憶装置及び記憶方法

Cited By (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100388235C (zh) * 2001-12-25 2008-05-14 索尼公司 存储装置和使用该存储装置的记录再生装置
WO2003056431A1 (fr) * 2001-12-25 2003-07-10 Sony Corporation Dispositif de memoire et appareil d'enregistrement/reproduction faisant appel a ce dispositif
WO2003056433A1 (fr) * 2001-12-25 2003-07-10 Sony Corporation Dispositif a memoire et appareil d'enregistrement/reproduction utilisant ledit dispositif
JP2003196142A (ja) * 2001-12-25 2003-07-11 Sony Corp ライトワンス型メモリ装置及びファイル管理方法
CN100440165C (zh) * 2001-12-25 2008-12-03 索尼公司 存储器装置和使用该存储器装置的记录再现装置
KR101091311B1 (ko) 2001-12-25 2011-12-07 소니 주식회사 메모리 장치 및 그 메모리 장치를 이용한 기록 재생 장치
US7634613B2 (en) 2001-12-25 2009-12-15 Sony Corporation Memory device and recording and/or reproducing apparatus employing this memory device
KR101033068B1 (ko) * 2001-12-25 2011-05-06 소니 주식회사 메모리 장치 및 그 메모리 장치를 이용한 기록 재생 장치
US7039786B2 (en) 2001-12-25 2006-05-02 Sony Corporation Memory device and recording and/or reproducing apparatus employing this memory device
WO2003056432A1 (fr) * 2001-12-25 2003-07-10 Sony Corporation Dispositif de memoire et appareil d'enregistrement/reproduction faisant appel a ce dispositif
KR100987241B1 (ko) * 2001-12-25 2010-10-12 소니 주식회사 메모리 장치 및 그 메모리 장치를 이용한 기록 재생 장치
US7085879B2 (en) 2002-02-27 2006-08-01 Microsoft Corporation Dynamic data structures for tracking data stored in a flash memory device
US7178061B2 (en) 2002-02-27 2007-02-13 Microsoft Corporation Power failure detection and correction in a flash memory device
US7350105B2 (en) 2002-02-27 2008-03-25 Microsoft Corporation Power failure detection in a flash memory device
US7080232B2 (en) 2002-02-27 2006-07-18 Microsoft Corporation Free sector manager for data stored in flash memory devices
US7076599B2 (en) 2002-02-27 2006-07-11 Microsoft Corporation Transactional file system for flash memory
US7139883B2 (en) 2002-02-27 2006-11-21 Microsoft Corporation Transactional file system for flash memory
US6901499B2 (en) * 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
US7340647B2 (en) 2002-02-27 2008-03-04 Microsoft Corporation Power failure detection and correction in a flash memory device
US7620961B2 (en) 2002-02-27 2009-11-17 Microsoft Corporation Open-architecture file system
US7594064B2 (en) 2002-02-27 2009-09-22 Microsoft Corporation Free sector manager for data stored in flash memory devices
US7533214B2 (en) 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US6646917B1 (en) 2002-10-10 2003-11-11 Mitsubishi Denki Kabushiki Kaisha Storage device managing nonvolatile memory by converting logical address to physical address of nonvolatile memory
US7082512B2 (en) 2002-11-21 2006-07-25 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
US7093101B2 (en) 2002-11-21 2006-08-15 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
JP2006523882A (ja) 2003-04-14 2006-10-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ユニバーサルなドライブ装置のためのフォーマットマッピング方式
JP2005092678A (ja) * 2003-09-19 2005-04-07 Matsushita Electric Ind Co Ltd 半導体メモリカード及び不揮発性メモリのデータ消去処理方法
CN100356400C (zh) * 2003-11-07 2007-12-19 希旺科技股份有限公司 可使用任何非挥发性储存器的模拟SmartMedia/xD-Picture储存卡
JP2007519996A (ja) * 2003-12-30 2007-07-19 サンディスク コーポレイション 不揮発性メモリおよびフェーズ化されたプログラム障害処理を伴う方法
JP2006011533A (ja) * 2004-06-22 2006-01-12 Toshiba Corp メモリカード、半導体装置、及び半導体メモリの制御方法
US7516344B2 (en) 2005-01-28 2009-04-07 Panasonic Corporation Memory system
JP2006221627A (ja) * 2005-02-07 2006-08-24 Samsung Electronics Co Ltd 複数のマッピング技法を採用した適応型フラッシュメモリ制御装置及びそれを含むフラッシュメモリシステム
US8327068B2 (en) 2005-03-03 2012-12-04 Panasonic Corporation Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method
JP4884382B2 (ja) * 2005-05-23 2012-02-29 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法
WO2006126445A1 (ja) * 2005-05-23 2006-11-30 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法
JP4832521B2 (ja) * 2005-09-25 2011-12-07 深▲ちぇん▼市朗科科技股▲ふん▼有限公司 フラッシュメモリメディアにおけるデータ管理方法
US8185688B2 (en) 2005-09-25 2012-05-22 Netac Technology Co., Ltd. Method for managing the address mapping table in a flash memory
WO2007033614A1 (fr) * 2005-09-25 2007-03-29 Netac Technology Co., Ltd. Procede de gestion de donnees dans un support de memoire flash
JP2007206957A (ja) * 2006-02-01 2007-08-16 Sony Corp Icカード,情報処理システム,集積回路チップ,およびデータ処理装置
JP2008117299A (ja) * 2006-11-07 2008-05-22 Fuji Xerox Co Ltd 記憶媒体制御装置
US7925821B2 (en) 2007-02-05 2011-04-12 Sony Corporation Nonvolatile semiconductor storage device and method of managing the same
JP4710918B2 (ja) * 2008-02-20 2011-06-29 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2009199242A (ja) * 2008-02-20 2009-09-03 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4702387B2 (ja) * 2008-03-31 2011-06-15 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2009245163A (ja) * 2008-03-31 2009-10-22 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2012505472A (ja) * 2008-10-13 2012-03-01 マイクロン テクノロジー, インク. ソリッドステート記憶装置におけるトランスレーションレイヤ
JP2012506093A (ja) * 2008-10-15 2012-03-08 マイクロン テクノロジー, インク. ソリッドステート記憶装置内のホットメモリブロックテーブル
US8725927B2 (en) 2008-10-15 2014-05-13 Micron Technology, Inc. Hot memory block table in a solid state storage device
US9418017B2 (en) 2008-10-15 2016-08-16 Micron Technology, Inc. Hot memory block table in a solid state storage device
US8397017B2 (en) 2009-09-08 2013-03-12 Kabushiki Kaisha Toshiba Controller and data storage device
US9170929B2 (en) 2011-01-31 2015-10-27 Mitsubishi Electric Corporation Memory controller
WO2012104975A1 (ja) * 2011-01-31 2012-08-09 三菱電機株式会社 メモリコントローラ
JP5452736B2 (ja) * 2011-01-31 2014-03-26 三菱電機株式会社 メモリコントローラ及びメモリアクセス方法
JP2012174086A (ja) * 2011-02-23 2012-09-10 Hitachi Ltd 記憶装置およびそれを搭載した計算機
JP2013152676A (ja) * 2012-01-26 2013-08-08 Hitachi Ltd 不揮発性記憶装置
JP2013174972A (ja) * 2012-02-23 2013-09-05 Toshiba Corp メモリシステム、コントローラ、メモリシステムの制御方法
US9251055B2 (en) 2012-02-23 2016-02-02 Kabushiki Kaisha Toshiba Memory system and control method of memory system
US8990441B2 (en) 2013-03-14 2015-03-24 Microsoft Technology Licensing, Llc Assigning priorities to data for hybrid drives
US9323460B2 (en) 2013-03-14 2016-04-26 Microsoft Technology Licensing, Llc Assigning priorities to data for hybrid drives
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
JPWO2014142337A1 (ja) * 2013-03-15 2017-02-16 日本電気株式会社 ストレージ装置と方法及びプログラム
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives
JP2016212713A (ja) * 2015-05-12 2016-12-15 東芝情報システム株式会社 論理物理アドレス変換テーブルの制御方法及びメモリ装置
JP7408449B2 (ja) 2020-03-23 2024-01-05 キオクシア株式会社 記憶装置及び記憶方法

Similar Documents

Publication Publication Date Title
JP2001142774A (ja) メモリカード及び同カードに適用されるアドレス変換方法
US6377500B1 (en) Memory system with a non-volatile memory, having address translating function
US5721866A (en) Apparatus and method for discriminating among data to be stored in cache
US5588129A (en) Cache for optical storage device and method for implementing same
US7861028B2 (en) System and method for configuration and management of flash memory
USRE42263E1 (en) Address conversion unit for memory device
JP4439096B2 (ja) メモリカード及び同カードに適用されるアドレス変換方法
US6161163A (en) Method of writing, erasing, and controlling memory for memory device
US8041878B2 (en) Flash file system
TWI829251B (zh) 管理記憶裝置之方法與相關的記憶裝置
RU2427892C2 (ru) Способ и устройство для установки политики кэширования в процессоре
JPH10124381A (ja) 半導体記憶装置
US6374341B1 (en) Apparatus and a method for variable size pages using fixed size translation lookaside buffer entries
JP2009512022A (ja) フラッシュメモリの管理
GB2305272A (en) Flash solid state disk card
US20190236003A1 (en) Storage device that maintains a plurality of layers of address mapping
US5317704A (en) Storage relocating method and hierarchy storage system utilizing a cache memory
US11263147B2 (en) Memory system including logical-to-physical address translation table in a first cache and a compressed logical-to-physical address translation table in a second cache
JP2004139503A (ja) 記憶装置及びその制御方法
US20050281105A1 (en) Memory card, semiconductor device, and method of controlling semiconductor memory
US20060294339A1 (en) Abstracted dynamic addressing
JPH09198884A (ja) フラッシュメモリ管理方法
US6079004A (en) Method of indexing a TLB using a routing code in a virtual address
EP0667579A1 (en) Cache for optical storage device
JP3808842B2 (ja) 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法