[go: up one dir, main page]

JP2000227871A - 不揮発性記憶装置、その制御方法、および、情報記録媒体 - Google Patents

不揮発性記憶装置、その制御方法、および、情報記録媒体

Info

Publication number
JP2000227871A
JP2000227871A JP2867399A JP2867399A JP2000227871A JP 2000227871 A JP2000227871 A JP 2000227871A JP 2867399 A JP2867399 A JP 2867399A JP 2867399 A JP2867399 A JP 2867399A JP 2000227871 A JP2000227871 A JP 2000227871A
Authority
JP
Japan
Prior art keywords
management information
physical address
storing
area
stored
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.)
Withdrawn
Application number
JP2867399A
Other languages
English (en)
Inventor
Yoshimasa Kondo
嘉政 近藤
Tsunenori Kimura
恒範 木村
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2867399A priority Critical patent/JP2000227871A/ja
Priority to US09/497,476 priority patent/US6347355B1/en
Publication of JP2000227871A publication Critical patent/JP2000227871A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】 不揮発性記憶装置、その制御方法、および、
情報記録媒体を提供する。 【解決手段】 データとその管理情報とを記憶する記憶
手段と、データを論理アドレスが示す場所に書き込む旨
の要求を受け付ける要求受付手段と、論理アドレスに対
応する物理アドレスを管理情報により取得し、その場所
が使用ずみである場合、これを管理する第1管理情報と
使用ずみでない場所を管理する第2管理情報とを取得す
る書込前情報取得手段と、記憶手段から使用ずみでない
領域を第3管理情報および第4管理情報を記憶する領域
として取得する新規領域取得手段と、第1管理情報中の
第1物理アドレスを第2物理アドレスに置き替え、第4
管理情報を記憶する領域と対応付けた管理情報を、第3
管理情報として記憶する第3管理情報記憶手段と、第2
管理情報中の第2物理アドレスを第1物理アドレスに置
き替え、これを新規領域取得手段により取得された第4
管理情報として記憶する第4管理情報記憶手段を備える
ように構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、不揮発性記憶装
置、不揮発性記憶装置の制御方法、および、不揮発性記
憶装置を実現する情報記録媒体に関し、特に、論理アド
レスを物理アドレスに変換してデータを書き込むことが
でき、この作業が中断した場合に、データの管理情報を
修復することができる不揮発性記憶装置、当該不揮発性
記憶装置の制御方法、および、当該不揮発性記憶装置を
制御するプログラムを記録した情報記録媒体に関する。
【0002】また、本発明は、ハードディスクやフロッ
ピー(登録商標)ディスクと同様の指定方法によりデー
タの記憶場所を指定することができるATA(AT Attac
hment )カードやSSFDC(Solid State Floppy Dis
k Card Forum)カードなどのメモリカード、これらのカ
ードの制御方法、および、これらのカードを制御するプ
ログラムを記録した情報記録媒体に関する。
【0003】また、本発明は、フラッシュEEPROM
(Electrically Erasable Programmable Read Only Mem
ory ;電気的消去可能プログラム可能読み出し専用メモ
リ)、および、RAM(Random Access Memory;ランダ
ムアクセスメモリ)を備え、データの読み出し、およ
び、書き込みの要求の際に指定される論理アドレスをフ
ラッシュEEPROM内の物理アドレスに変換するため
の変換テーブルをフラッシュEEPROM、および、R
AMに分割して記憶し、フラッシュEEPROMに記憶
された変換テーブルのデータに基づいてRAMに変換テ
ーブルを構築する不揮発性記憶装置、当該不揮発性記憶
装置の制御方法、および、当該不揮発性記憶装置を制御
するプログラムを記録した情報記録媒体に関する。
【0004】
【従来の技術】不揮発性記憶装置として実現されるAT
AカードやSSFDCカードなどのメモリカードは、コ
ンピュータの外部記憶装置として普及しつつあり、ま
た、その規格の標準化が進められている。
【0005】特に、PC(Personal Computer )カード
標準、もしくは、PCMCIA(Personal Computer Me
mory Card International Association )標準にしたが
ったメモリカードは、ホストコンピュータと接続した場
合は外部記憶装置として動作し、ホストコンピュータと
の接続を解除した場合は記憶したデータを保持したまま
単独で移動や運搬が可能であり、ホストコンピュータの
電源が投入されている場合であっても活線接続、およ
び、活線接続解除が可能である。このような利点を有す
るため、ATAカードなどのメモリカードは、たとえ
ば、ディジタルカメラなどによって撮影されたデータを
記録し、そのデータをホストコンピュータへ移送するた
めの手段として広く使用されている。
【0006】ATAカードやSSFDCカードなどのメ
モリカードに対して、これらが接続されたホストコンピ
ュータからデータの書き込み、および、読み出しの要求
をする場合には、そのデータの記録場所を指定する必要
がある。この記録場所を指定する際に、論理アドレスと
呼ばれる整数を用いる。論理アドレスは、ハードディス
クやフロッピーディスクに対する書き込みや読み出しの
際にも、記録場所を指定するために使用される。また、
論理アドレスのことを論理ブロックアドレスと呼ぶこと
もある。
【0007】たとえば、ハードディスクに対するアクセ
スは、ある程度のデータ、たとえば512バイトのデー
タをまとめて処理した方が高速な処理ができるため51
2バイトを1セクタとして、セクタ単位で書き込みや読
み出しを行う。現実のハードディスクにおける記憶場所
の指定はシリンダ番号、ヘッド番号、セクタ番号などに
よって行われるが、読み出しや書き込みの処理を統一化
するため、仮想的に、ハードディスクの記憶領域を一列
に並べて先頭からセクタ単位で区切り、番号を振る。こ
の番号が論理アドレスである。フロッピーディスクの場
合も同様に論理アドレスを定義することができる。
【0008】ホストコンピュータでは、ハードディスク
などにアクセスする場合に論理アドレスを使用するが、
このような記憶場所の指定方法をATAカードやSSF
DCカードなどのメモリカードでも使用できるようにす
ると、アプリケーション開発やデータ管理の上で便利で
ある。このため、このようなメモリカードでは、論理ア
ドレスを使用した記憶場所の指定ができるような制御を
行う必要がある。
【0009】また、上述のようなディジタルカメラにメ
モリカードを接続した場合においても、ディジタルカメ
ラがメモリカードに対してデータの書き込みや読み出し
を行う場合は、論理アドレスを使用して記憶場所を指定
する。すなわち、ディジタルカメラが上述の「ホストコ
ンピュータ」として動作するのである。
【0010】さて、このようなメモリカードは、内部に
不揮発性メモリ、特にフラッシュEEPROMを備える
ことによって実現されている。フラッシュEEPROM
の記憶領域は、1つまたは複数のブロックに分割され、
各ブロックは1つまたは複数のページに分割され、各ペ
ージはハードディスクなどの書き込みや読み出しの単位
と同じ容量、たとえば512バイトを記憶することが可
能な記憶領域として構成されている。また、各ページ
に、さらに冗長領域として、たとえば16バイトの記憶
領域を追加する形態も広くとられている。前者の場合は
1ページは512バイトであり、後者の場合は1ページ
は528バイトとなるが、いずれも、ホストコンピュー
タによる読み出しや書き込みの単位である512バイト
のデータを記憶できるという点で共通する。
【0011】フラッシュEEPROM内の記憶領域の場
所は、チップ番号、そのチップにおけるブロック番号、
および、そのブロックにおけるページ番号を指定すれば
一義的に決めることができる。そこで仮想的に、フラッ
シュEEPROM内の記憶領域を一列に並べ、先頭から
順にページ単位で番号を振る。この番号を物理アドレス
と呼ぶ。すなわち、物理アドレスによってフラッシュE
EPROM内の記憶領域の場所を指定することができ
る。
【0012】フラッシュEEPROMは、電気的に消去
が可能な読み出し専用メモリである。すなわち、原則と
して、電気的に消去されたページに対して1度だけデー
タの書き込みができる。したがって、あるページに記憶
にされているデータを変更したい場合には、そのページ
をまず消去し、それから新たなデータを書き込む必要が
ある。さらに、フラッシュEEPROMでは、素子数を
おさえ、処理の高速化を図るため、上記の消去の処理
は、ブロック単位で行われるという点に技術的な特徴が
ある。
【0013】また、フラッシュEEPROMによって
は、すでにデータが書き込まれているページ、特にその
冗長部に対する上書き機能を備えたものもある。しか
し、このような上書き機能では、上書きの回数が制限さ
れている場合がほとんどである。また、上書き機能自体
を備えないフラッシュEEPROMも多い。
【0014】このようなメモリカードでは、ホストコン
ピュータから指定される論理アドレスを物理アドレスに
変換して、当該物理アドレスに配置されたページに対す
る書き込みや読み出しを行う。しかし、上記のような書
き込みの制限があるため、論理アドレスと物理アドレス
との対応は頻繁に変更される可能性が高い。
【0015】従来から、論理アドレスと物理アドレスと
を対応付けるための管理情報もフラッシュEEPROM
に記憶する手法が提案されている。さらに、読み書きの
高速化を図るために、フラッシュEEPROMのほかに
RAMを備え、このRAMに論理アドレスを物理アドレ
スに変換するためのアドレス変換テーブルを記憶し、論
理アドレスと物理アドレスの対応が更新された場合に
は、RAMに記憶されたアドレス変換テーブルも更新す
る手法が提案されている。
【0016】
【発明が解決しようとする課題】このようなメモリカー
ド、特に、PCカード標準にしたがったメモリカードで
は、書き込み処理が行われていないときに限り活線抜き
出しが可能であるが、ユーザの誤処理によって書き込み
処理の途中でメモリカードが抜き出されてしまう場合が
ある。また、ディジタルカメラなどの記憶装置としてメ
モリカードを使用した場合、電池切れなどにより書き込
みの途中で電源が切断されてしまう場合がある。このよ
うな場合に、論理アドレスと物理アドレスとの対応付け
を管理する管理情報の整合性をできるだけとって、メモ
リカードの使用に支障ができるだけ発生しないようにし
たいという要望は大きい。
【0017】本発明は、以上の課題を解決するためにな
されたもので、論理アドレスを物理アドレスに変換して
データを書き込むことができ、この作業が中断した場合
に、データの管理情報を修復することができる不揮発性
記憶装置、当該不揮発性記憶装置の制御方法、および、
当該不揮発性記憶装置を制御するプログラムを記録した
情報記録媒体を提供することを課題とする。
【0018】また、本発明は、ハードディスクやフロッ
ピーディスクと同様の指定方法によりデータの記憶場所
を指定することができるATAカードやSSFDCカー
ドなどのメモリカード、これらのカードの制御方法、お
よび、これらのカードを制御するプログラムを記録した
情報記録媒体を提供することを課題とする。
【0019】また、本発明は、フラッシュEEPRO
M、および、RAMを備え、データの読み出し、およ
び、書き込みの要求の際に指定される論理アドレスをフ
ラッシュEEPROM内の物理アドレスに変換するため
の変換テーブルをフラッシュEEPROM、および、R
AMに分割して記憶し、フラッシュEEPROMに記憶
された変換テーブルのデータに基づいてRAMに変換テ
ーブルを構築する不揮発性記憶装置、当該不揮発性記憶
装置の制御方法、および、当該不揮発性記憶装置を制御
するプログラムを記録した情報記録媒体を提供すること
を課題とする。
【0020】
【課題を解決するための手段】以上の課題を達成するた
めの発明は下記の発明である。
【0021】第1の発明は、以下の手段を備えることを
特徴とする不揮発性記憶装置である。
【0022】(a)データと、当該データを記憶する領
域の場所の論理アドレスと物理アドレスとを対応付ける
管理情報と、を記憶する記憶手段と、(b)データを任
意の論理アドレスが示す場所に書き込む旨の要求を受け
付ける要求受付手段と、(c)要求受付手段により受け
付けられた論理アドレスに対応する物理アドレスを記憶
手段に記憶された管理情報により取得し、当該第1物理
アドレスが示す場所が使用ずみである場合、当該物理ア
ドレスを管理する管理情報を記憶する第1管理情報と、
使用ずみでない場所の第2物理アドレスを管理する管理
情報を記憶する第2管理情報と、を取得する書込前情報
取得手段と、(d)記憶手段から使用ずみでない領域を
第3管理情報および第4管理情報を記憶する領域として
取得する新規領域取得手段と、(e)書込前情報取得手
段により取得された第1管理情報に含まれる第1物理ア
ドレスを第2物理アドレスに置き替え、新規領域取得手
段により取得された第4管理情報を記憶する領域と対応
付けた管理情報を、新規領域取得手段により取得された
第3管理情報を記憶する領域に記憶する第3管理情報記
憶手段と、(f)書込前情報取得手段により取得された
第2管理情報に含まれる第2物理アドレスを第1物理ア
ドレスに置き替え、これを新規領域取得手段により取得
された第4管理情報を記憶する領域に記憶する第4管理
情報記憶手段。
【0023】なお、「使用ずみ」とは、現在その場所が
使用中である場合と、その場所が過去に使用され、現在
はすでに古くなったデータを記憶しているにすぎないた
め、その場所がフラッシュEEPROMの「消去可能」
である場合と、の両方の場合を含む。以下同様である。
【0024】図1に、第1の発明の概要を表すブロック
構成図を示す。第1の発明に係る不揮発性記憶装置10
において、記憶手段11は、データと、当該データを記
憶する領域の場所の論理アドレスと物理アドレスとを対
応付ける管理情報と、を記憶し、要求受付手段12は、
データを任意の論理アドレスが示す場所に書き込む旨の
要求を受け付け、書込前情報取得手段13は、要求受付
手段12により受け付けられた論理アドレスに対応する
物理アドレスを記憶手段11に記憶された管理情報によ
り取得し、当該第1物理アドレスが示す場所が使用ずみ
である場合、当該物理アドレスを管理する管理情報を記
憶する第1管理情報と、使用ずみでない場所の第2物理
アドレスを管理する管理情報を記憶する第2管理情報
と、を取得し、新規領域取得手段14は、記憶手段11
から使用ずみでない領域を第3管理情報および第4管理
情報を記憶する領域として取得し、第3管理情報記憶手
段15は、書込前情報取得手段13により取得された第
1管理情報に含まれる第1物理アドレスを第2物理アド
レスに置き替え、新規領域取得手段14により取得され
た第4管理情報を記憶する領域と対応付けた管理情報
を、新規領域取得手段により取得された第3管理情報を
記憶する領域に記憶し、第4管理情報記憶手段16は、
書込前情報取得手段13により取得された第2管理情報
に含まれる第2物理アドレスを第1物理アドレスに置き
替え、これを新規領域取得手段14により取得された第
4管理情報を記憶する領域に記憶する。
【0025】第1の発明により、論理アドレスを物理ア
ドレスに変換してデータを書き込むことができる不揮発
性記憶装置を提供することができる。
【0026】また、ハードディスクやフロッピーディス
クと同様の指定方法によりデータの記憶場所を指定する
ことができるATAカードやSSFDCカードなどのメ
モリカードを提供することができる。
【0027】第2の発明は、第1の発明において、さら
に、以下の手段を備えることを特徴とする不揮発性記憶
装置である。
【0028】(g)第3管理情報記憶手段により記憶さ
れた第3管理情報に対応付けられた第4管理情報を記憶
する領域に、第4管理情報記憶手段により記憶されるべ
き第4管理情報が記憶されているか否かを判断する書込
完了判断手段と、(h)書込完了判断手段により、第4
管理情報が記憶されていないと判断した場合、記憶手段
に記憶される第1管理情報と第2管理情報とに基づい
て、第2管理情報に含まれる第2物理アドレスを第1物
理アドレスに置き替え、第3管理情報記憶手段により記
憶された第3管理情報に対応付けられた領域に、第4管
理情報として記憶して修復する第4管理情報修復手段。
【0029】図2は、第2の発明の概略を表すブロック
構成図を示す。なお、図2において、図1と同様の機能
を有する要素には同じ符号を付している。
【0030】第2の発明では、書込完了判断手段17
は、第3管理情報記憶手段15により記憶された第3管
理情報に対応付けられた第4管理情報を記憶する領域
に、第4管理情報記憶手段16により記憶されるべき第
4管理情報が記憶されているか否かを判断し、第4管理
情報修復手段18は、書込完了判断手段17により、第
4管理情報が記憶されていないと判断した場合、記憶手
段11に記憶される第1管理情報と第2管理情報とに基
づいて、第2管理情報に含まれる第2物理アドレスを第
1物理アドレスに置き替え、第3管理情報記憶手段によ
り記憶された第3管理情報に対応付けられた領域に、第
4管理情報として記憶して修復する。
【0031】第2の発明により、論理アドレスを物理ア
ドレスに変換してデータを書き込む作業が中断した場合
に、データの管理情報を修復することができる不揮発性
記憶装置を提供することができる。
【0032】第3の発明は、第1または第2の発明にお
いて、記憶手段は、不揮発性記憶装置、もしくは、これ
と揮発性記憶装置との組合せにより構成されることを特
徴とする不揮発性記憶装置である。
【0033】第3の発明により、フラッシュEEPRO
M、および、RAMを備え、データの読み出し、およ
び、書き込みの要求の際に指定される論理アドレスをフ
ラッシュEEPROM内の物理アドレスに変換するため
の変換テーブルをフラッシュEEPROM、および、R
AMに分割して記憶し、フラッシュEEPROMに記憶
された変換テーブルのデータに基づいてRAMに変換テ
ーブルを構築する不揮発性記憶装置を提供することがで
きる。
【0034】第4の発明は、以下のステップを備えるこ
とを特徴とし、データと、当該データを記憶する領域の
場所の論理アドレスと物理アドレスとを対応付ける管理
情報と、を記憶する記憶手段を備える不揮発性記憶装置
の制御方法である。
【0035】(a)データを任意の論理アドレスが示す
場所に書き込む旨の要求を受け付ける要求受付ステップ
と、(b)要求受付ステップにおいて受け付けられた論
理アドレスに対応する物理アドレスを記憶手段に記憶さ
れた管理情報により取得し、当該第1物理アドレスが示
す場所が使用ずみである場合、当該物理アドレスを管理
する管理情報を記憶する第1管理情報と、使用ずみでな
い場所の第2物理アドレスを管理する管理情報を記憶す
る第2管理情報と、を取得する書込前情報取得ステップ
と、(c)記憶手段から使用ずみでない領域を第3管理
情報および第4管理情報を記憶する領域として取得する
新規領域取得ステップと、(d)書込前情報取得ステッ
プにおいて取得された第1管理情報に含まれる第1物理
アドレスを第2物理アドレスに置き替え、新規領域取得
ステップにおいて取得された第4管理情報を記憶する領
域と対応付けた管理情報を、新規領域取得ステップにお
いて取得された第3管理情報を記憶する領域に記憶する
第3管理情報記憶ステップと、(e)書込前情報取得ス
テップにおいて取得された第2管理情報に含まれる第2
物理アドレスを第1物理アドレスに置き替え、これを新
規領域取得ステップにおいて取得された第4管理情報を
記憶する領域に記憶する第4管理情報記憶ステップ。
【0036】第5の発明は、さらに、以下のステップを
備えることを特徴とする請求項4記載の不揮発性記憶装
置の制御方法である。
【0037】(f)第3管理情報記憶ステップにおいて
記憶された第3管理情報に対応付けられた第4管理情報
を記憶する領域に、第4管理情報記憶手段により記憶さ
れるべき第4管理情報が記憶されているか否かを判断す
る書込完了判断ステップと、(g)書込完了判断ステッ
プにおいて第4管理情報が記憶されていないと判断した
場合、記憶手段に記憶される第1管理情報と第2管理情
報とに基づいて、第2管理情報に含まれる第2物理アド
レスを第1物理アドレスに置き替え、第3管理情報記憶
手段により記憶された第3管理情報に対応付けられた領
域に、第4管理情報として記憶して修復する第4管理情
報修復ステップ。
【0038】第4および第5の発明に係る方法を不揮発
性記憶装置で実行することにより、第1から第3の発明
に係る不揮発性記憶装置を実現することができる。これ
により、第1から第3の発明と同様の効果を奏する。
【0039】第6の発明は、以下のステップを備えるこ
とを特徴とし、データと、当該データを記憶する領域の
場所の論理アドレスと物理アドレスとを対応付ける管理
情報と、を記憶する記憶手段を備える不揮発性記憶装置
を制御するプログラムを記録した情報記録媒体である。
【0040】(a)データを任意の論理アドレスが示す
場所に書き込む旨の要求を受け付ける要求受付ステップ
と、(b)要求受付ステップにおいて受け付けられた論
理アドレスに対応する物理アドレスを記憶手段に記憶さ
れた管理情報により取得し、当該第1物理アドレスが示
す場所が使用ずみである場合、当該物理アドレスを管理
する管理情報を記憶する第1管理情報と、使用ずみでな
い場所の第2物理アドレスを管理する管理情報を記憶す
る第2管理情報と、を取得する書込前情報取得ステップ
と、(c)記憶手段から使用ずみでない領域を第3管理
情報および第4管理情報を記憶する領域として取得する
新規領域取得ステップと、(d)書込前情報取得ステッ
プにおいて取得された第1管理情報に含まれる第1物理
アドレスを第2物理アドレスに置き替え、新規領域取得
ステップにおいて取得された第4管理情報を記憶する領
域と対応付けた管理情報を、新規領域取得ステップにお
いて取得された第3管理情報を記憶する領域に記憶する
第3管理情報記憶ステップと、(e)書込前情報取得ス
テップにおいて取得された第2管理情報に含まれる第2
物理アドレスを第1物理アドレスに置き替え、これを新
規領域取得ステップにおいて取得された第4管理情報を
記憶する領域に記憶する第4管理情報記憶ステップ。
【0041】第7の発明は、さらに、以下のステップを
備えることを特徴とする請求項5記載の不揮発性記憶装
置を制御するプログラムを記録する情報記録媒体であ
る。
【0042】(f)第3管理情報記憶ステップにおいて
記憶された第3管理情報に対応付けられた第4管理情報
を記憶する領域に、第4管理情報記憶手段により記憶さ
れるべき第4管理情報が記憶されているか否かを判断す
る書込完了判断ステップと、(g)書込完了判断ステッ
プにおいて第4管理情報が記憶されていないと判断した
場合、記憶手段に記憶される第1管理情報と第2管理情
報とに基づいて、第2管理情報に含まれる第2物理アド
レスを第1物理アドレスに置き替え、第3管理情報記憶
手段により記憶された第3管理情報に対応付けられた領
域に、第4管理情報として記憶して修復する第4管理情
報修復ステップ。
【0043】第6および第7の発明によれば、これらの
プログラムを記録した情報記録媒体により、これをソフ
トウェア商品として不揮発性記憶装置と独立して容易に
配布したり販売したりすることができるようになる。ま
た、本発明の情報記録媒体に記録されたプログラムを不
揮発性記憶装置で実行すれば、第1から第3の発明に係
る不揮発性記憶装置、および、第4または第5の発明に
係る不揮発性記憶装置の制御方法が実現でき、これらの
発明と同様の効果を奏する。
【0044】
【発明の実施の形態】以下に本発明の一実施形態を説明
する。なお、本実施形態は、本発明の説明のためのもの
であり、本発明の範囲を制限するものではない。したが
って、当業者であれば、各要素をこれと均等なものに置
換した実施形態を採用することが可能であり、これらの
実施形態も本発明の範囲に含まれる。
【0045】また、論理アドレスや物理アドレスは、1
セクタ(512バイト)、セクタグループ(複数のセク
タ)、1ページ(512バイト、冗長部を含めて528
バイト)、1ブロック(複数のページ)など、任意のデ
ータ・サイズを単位として管理することが可能であり、
論理アドレスの単位と物理アドレスの単位とが異なって
いてもよい。これらの実施形態も本発明の範囲に含まれ
る。
【0046】図3は、本発明に係る不揮発性記憶装置
(メモリカード)の基本的な構成を示すブロック構成図
である。メモリカード101は、インターフェース10
2、CPU 103、フラッシュEEPROM 10
4、RAM 105を備え、これらはバス106を介し
て接続されている。
【0047】インターフェース102はホストコンピュ
ータが送信するデータの書き込みおよび読み出しの要求
を受信し、これらの要求に対する応答をホストコンピュ
ータへ送信する。さらに、ホストコンピュータからイン
ターフェース102を介して電源を供給することも可能
である。また、メモリカード101がATAカードであ
る場合には、インターフェース102は、PCカード
(PCMCIA)標準にしたがった形状および構成とす
る。
【0048】メモリカード101がホストコンピュータ
へ接続され、電源の供給が開始されると、CPU 10
3はフラッシュEEPROM 104に記憶された第2
アドレス変換テーブルに基づいて、第1アドレス変換テ
ーブルを構築し、RAM 105内にこの第1アドレス
変換テーブルを記憶させる。
【0049】また、ホストコンピュータとの間でデータ
の書き込みや読み出しの処理が行われる場合に、RAM
105を用いて転送されるデータをバッファリングし
て、データ転送の高速化を図ることができる。
【0050】また、CPU 103は、フラッシュEE
PROM 104の各ページに実際に書き込まれるデー
タのイメージ、たとえば528バイトのイメージをRA
M105内に作成してから、これをまとめてフラッシュ
EEPROM 104の所望のページに書き込む。この
際に、CPU 103が有するDMA(Direct Memory
Access;直接メモリアクセス)転送装置(図示せず)に
よってバス106を介した高速なデータ転送を実現する
ことができる。
【0051】なお、データ転送のバッファリングに使用
するRAMを別途用意してバス106に接続して、第1
アドレス変換テーブルを記憶するRAM 105とは異
なるチップとすることも可能である。
【0052】フラッシュEEPROM 104の各ペー
ジは、主としてホストコンピュータが書き込んだデータ
を記憶するページと、第2アドレス変換テーブルを記憶
するページと、に分類することができる。
【0053】また、CPU 103は、プログラムRO
M(図示せず)を備える。このプログラムROMにメモ
リカードを制御するプログラムが記録され、電源が投入
されたときにCPU 103はプログラムROMに記録
されたプログラムをロードして、それ以降はこのメモリ
カード制御プログラムを実行し続ける。プログラムRO
MをEEPROMとすれば、別途配布されたメモリカー
ド制御プログラムを新たに記憶させることによって、新
たなメモリカード制御プログラムに更新することができ
る。
【0054】また、CPU 103は、レジスタや、キ
ャッシュ、メモリなどのRAM(図示せず)を内部に備
え、一時的な記憶領域として使用することができる。こ
れらの記憶領域に対する読み出しや書き込み作業はバス
106を介する必要がないため、さらに高速な処理が実
行できる。
【0055】ここで、フラッシュEEPROM 104
およびRAM 105は、第1アドレス変換テーブルお
よび第2アドレス変換テーブルを記憶するとともに、こ
れらのテーブルにより管理される領域にデータを記憶す
ることにより、記憶手段11として機能する。
【0056】インターフェース102は、要求受付手段
12として機能する。
【0057】CPU 103は、フラッシュEEPRO
M 104およびRAM 105と共働して、書込前情
報取得手段13、新規領域取得手段14、第3管理情報
記憶手段15、第4管理情報記憶手段16、書込完了判
断手段17、第4管理情報修復手段18として機能す
る。
【0058】図4は、本発明に係る不揮発性記憶装置
(メモリカード)の実施形態の論理アドレスと物理アド
レスとの対応を記憶するテーブルの構成図である。
【0059】RAM 105は、第1アドレス変換テー
ブル401を記憶し、フラッシュEEPROM 104
は、第1アドレス変換テーブルの各項目が参照する第2
アドレス変換テーブル402を記憶する。
【0060】本実施形態では、アドレス変換テーブルを
2段階に分けているため、論理アドレス403をこの段
階と同じ数、すなわち、2個のビット列に分ける。この
ビット列をたとえば、上位から下位へ順に、i、jとす
る。
【0061】第1アドレス変換テーブル401を配列
(要素数x)の形式でRAM 105に記憶した場合、
ビット列iは、要素数xを表現できるビット数が必要で
ある。すなわち、i≧log xでなければならない。
なお、対数の底は2である。
【0062】第2アドレス変換テーブル402のそれぞ
れを配列(要素数y)の形式でフラッシュEEPROM
104に記憶した場合、ビット列jは、要素数yを表
現できるビット数が必要である。すなわち、j≧log
yでなければならない。第2アドレス変換テーブル4
02のそれぞれは、フラッシュEEPROM 104の
1ページに入る大きさに設定することができる。なお、
この1ページのことを便宜上「管理ページ」と呼ぶが、
管理ページの大きさは、フラッシュEEPROMの1ペ
ージに限られず、複数バイトでも、複数ページでも、ブ
ロックでも複数ブロックでもかまわない。
【0063】図5は、管理ページの様子を示す説明図で
ある。管理ページ501はフラッシュEEPROM 1
04の1ページ分からなり、要素数yの配列502を記
憶する。配列の各要素503は、以下のデータを含む。
【0064】・論理アドレス403に対応する物理アド
レス404を格納する物理アドレス領域504・物理ア
ドレス404がすでに書き込み済みで現在有効なデータ
を格納している「使用中」か、書き込み済みだがもはや
古いデータになっている「消去可」か、以前に消去され
ており「使用可」か、を示すフラグを格納するステータ
ス領域505このほか、管理ページ501は、その管理
ページが管理する論理アドレス403の上位の値iを記
憶する自己番号領域506を有する。この自己番号領域
506は、冗長部に設けることができる。なお、上位の
値iを「自己番号」と呼ぶ。
【0065】さらに、管理ページ501は、その管理ペ
ージに対応する管理ページの自己番号を記憶する対応番
号領域507を有する。
【0066】なお、物理アドレス404の単位は、前述
の通り、バイト、ページ、ブロック、複数ブロックなど
が考えられ、いずれを採用しても本願発明の効果を得る
ことができる。
【0067】以下、図6を参照して論理アドレス403
を物理アドレス404に変換するアドレス変換処理につ
いて説明する。図7は、アドレス変換処理の手順を表す
フローチャートである。なお、論理アドレス403は、
インターフェース102が書き込み要求や読み出し要求
にともなう形で受信したものである場合が多いが、これ
に限るものではない。
【0068】まず、CPU 103は、論理アドレス4
03の上位のビット列の値iを取得する(ステップS6
01)。
【0069】次に、CPU 103は、RAM 105
に記憶された第1アドレス変換テーブル401の配列の
i番目の要素を取得する(ステップS602)。これ
は、第2アドレス変換テーブル402、すなわち、管理
ページpの物理アドレスaである。なお、この物理アド
レスaの単位は、上記のようにバイト、ページ、ブロッ
ク、複数ブロックのいずれでも本願発明の効果を得るこ
とができる。また、物理アドレスaの単位は、管理ペー
ジ501の物理アドレス領域504に記憶される物理ア
ドレスの単位と異なっていてもよい。
【0070】さらに、CPU 103は、論理アドレス
403の下位のビット列の値jを取得する(ステップS
603)。
【0071】そして、CPU 103は、取得した管理
ページ501の配列のj番目の要素を取得する(ステッ
プS606)。
【0072】こうして、CPU 103は、取得した要
素の物理アドレス領域504から、結果となる物理アド
レスの値を得ることができ(ステップS607)、本処
理は終了する。なお、取得した要素のステータス領域5
05を見れば、当該物理アドレスに記憶されたデータが
有効なものか否かが判明する。
【0073】論理アドレスを指定してデータを不揮発性
メモリから読み出す場合には、アドレス変換処理により
得た物理アドレスに配置されたバイト、バイト列、ペー
ジ、ブロック、複数ブロックなどに記憶されたデータ
を、その単位に応じて読み出せばよい。
【0074】好適実施形態の一つとしてなお、論理アド
レスをフラッシュEEPROMのページと同じサイズで
与える場合がある。この場合は、論理アドレスをこれを
1ブロック当りのページ数で割り算して得られた値を新
たな「論理アドレス」とする。この「論理アドレス」に
対して上記アドレス変換処理を行った場合、得られる
「物理アドレス」は、ブロック単位となる。また、所望
の場所(ページ単位)は、得られた「物理アドレス」で
示されるブロックを構成するページのうち、「論理アド
レスを1ブロック当りのページ数で割り算した場合の余
りの値」番目のページである。この手法により、管理ペ
ージに記憶される配列の各要素の大きさ(ビット数)を
少なくすることができる。
【0075】以下では、論理アドレスを指定してデータ
を不揮発性メモリに書き込む書き込み処理について、図
7を参照して説明する。図7は、書き込み処理を表すフ
ローチャートである。
【0076】まず、CPU 103は、前述したアドレ
ス変換処理により、論理アドレスに対応するデータを記
憶する領域を管理する管理ページpと、その管理ページ
pの配列のk番目の要素p[k]と、その要素p[k]の物
理アドレス領域p[k].addrと、ステータス領域p
[k].statとの値を得る(ステップS701)。
【0077】次に、CPU 103は、p[k].sta
tの値が「使用可」であるか否かを判断する(ステップ
S702)。
【0078】「使用可」である場合(ステップS70
2;Yes)、p[k].statの値を「使用中」に上
書きして、p[k].addrの値で示される物理アドレ
スにデータを書き込み(ステップS703)、本処理を
終了する。ここで、上書きにはフラッシュEEPROM
の上書き機能を用いることができる。上書きには回数制
限がある場合が多いが、本手法では高々1回しか上書き
がされないため、問題は生じない。
【0079】なお、ステップS703において、未だ使
用されていないページを1ページ取得し、このページに
対して、p[k].statの値を「使用中」とし他の情
報はコピーした内容を書き込めば、上書き機能を使用し
なくとも同様の機能を果たすことができる。
【0080】一方、「使用可」でない場合(ステップS
702;No)、配列のいずれかの要素のステータス領
域の情報が「使用可」になっている管理ページqを、い
ずれかの第2アドレス変換テーブルの中から探す(ステ
ップS704)。この要素はh番目の要素であるとする
と、q[h].statの値が「使用可」であり、q[h].
addrの値で示される物理アドレスは、以前に消去さ
れてから未だ書き込みがされていないフラッシュEEP
ROM 104のバイト、ページ、ブロック、複数ブロ
ックなどを参照することになる。
【0081】ここで、管理ページpが第1管理情報を記
憶する管理ページであり、管理ページqが第2管理情報
を記憶する管理ページである。
【0082】さらに、CPU 103は、未だ使用され
ていないページを2ページ分取得する(ステップS70
5)。これらはぞれぞれ、第3管理情報を記憶する管理
ページsと、第4管理情報を記憶する管理ページtとし
て使用される。
【0083】管理ページ用の領域を新規に取得する際に
は、物理アドレスを上位から下位へ、あるいは下位から
上位へ、のいずれか一つの方向へ取得することが望まし
い。このような形態をとることにより、管理ページ用の
領域が不足していることが用意に判明するからである。
なお、領域が不足した場合にはガーベージコレクション
を行う。たとえばステータスが「使用済」になっている
ブロックを消去し、管理ページを再配置する。これによ
って、必要な新規の管理ページの領域を取得する。
【0084】管理ページのための領域を固定領域とし、
そのアドレス端から順に新たな管理ページを取得する場
合、「もっとも最近に取得した」管理ページの物理アド
レスが得られれば、すべての管理ページを参照すること
ができる。「もっとも最近に取得した」管理ページの物
理アドレスは、フラッシュEEPROM 104内のリ
ンク領域に記憶され、電源投入時に、RAM 105に
第1管理テーブルを構築するために使用されるが、これ
については後述する。
【0085】ついで、CPU 103は、管理ページs
に、以下のような情報を書き込む(ステップS70
6)。
【0086】管理ページsの配列の0番目の要素からy
−1番目の要素s[u]の領域には、 ・u≠kの場合、s[u].addr の値として p
[u].addr を、s[u].stat の値として p
[u].stat を、それぞれ記憶する。
【0087】・u=kの場合、s[u].addr の値
として q[h].addr を、s[u].stat の値
として「使用中」を、それぞれ記憶する。管理ページs
の自己番号領域506には、管理ページpの自己番号を
記憶する。
【0088】管理ページsの対応番号領域507には、
管理ページqの自己番号を記憶する。
【0089】なお、これらの情報は、フラッシュEEP
ROMの性質により、一括して不可分に書き込まれる。
【0090】さらに、CPU 103は、q[h].ad
drの物理アドレスで示される領域にデータを書き込む
(ステップS707)。
【0091】次に、CPU 103は、管理ページt
に、以下のような情報を書き込む(ステップS70
8)。
【0092】管理ページtの配列の0番目の要素からy
−1番目の要素t[v]の領域には、 ・v≠hの場合、t[v].addr の値として q
[v].addr を、t[v].stat の値として q
[v].stat を、それぞれ記憶する。
【0093】・v=hの場合、t[v].addr の値
として p[k].addr を、t[v].stat の値
として「使用済」を、それぞれ記憶する。管理ページt
の自己番号領域506には、管理ページqの自己番号を
記憶する。
【0094】なお、これらの情報も、フラッシュEEP
ROMの性質により、一括して不可分に書き込まれる。
【0095】図8に、管理ページp,q,s,tの概略を
示す。管理ページs,tの配列には、管理ページp,qの
配列のうち、注目する要素p[k]とq[h]を交換したよ
うな値が記憶される。
【0096】管理ページsに記憶された対応番号を管理
ページtの自己番号と同じ値にすることにより、第3管
理情報と第4管理情報を対応付けている。
【0097】また、管理ページpと管理ページs、管理
ページqと管理ページt、のそれぞれは、同じ自己番号
を持つ。これにより、第3管理情報から第1管理情報
を、第4管理情報から第2管理情報を、それぞれ得るこ
とができる。
【0098】これらにより、管理ページsに記憶された
対応番号は、管理ページtの自己番号でもあるので、第
3管理情報から第2管理情報を、得ることができる。こ
れらの性質を利用して、後述する修復処理を行う。
【0099】最後に、CPU 103は、RAM 10
5に記憶された第1管理テーブルの配列のi番目の要素
の値を管理ページsの物理アドレスに更新し、かつて管
理ページqを参照していた配列の要素の値を管理ページ
tの物理アドレスに更新する(ステップS709)。
【0100】このように、第3管理情報は、「データの
書き込みを開始したことを示す情報」として機能し、第
4管理情報は、「データの書き込みが完了したことを示
す情報」として機能する。
【0101】図9は、本発明の不揮発性記憶装置(メモ
リカード)の第1アドレス変換テーブル構築処理の手順
を示すフローチャートである。電源が投入されたり、ホ
ストコンピュータからリセット信号が送信されたりした
ことを契機として、第1アドレス変換テーブルの構築処
理が開始される。
【0102】まず、メモリカードのCPU 103は、
RAM 105に配置された第1アドレス変換テーブル
の配列の各要素の値を物理アドレスとしてありえない
値、たとえば、−1に設定する(ステップS901)。
−1でないか、−1であるかによって、第1アドレス変
換テーブルの当該要素が構築済みか否かが反転できる。
【0103】次に、メモリカードのCPU 103は、
フラッシュEEPROM 104の所定のリンク領域に
記憶された物理アドレスの値を読み込む(ステップS9
02)。この値により、第2アドレス変換テーブルを記
憶している管理ページの最下位物理アドレスと最上位物
理アドレスとの値が得られる。このアドレスの一方から
他方へ、管理ページを走査していくことにより、第1ア
ドレス変換テーブルが構築できる。
【0104】次に、調べる管理ページのアドレスをたと
えば、ステップS901によって得られた最上位物理ア
ドレスに設定する(ステップS903)。この場合、次
に処理すべき管理ページのアドレスは、物理アドレスを
デクリメントすることにより得られる。
【0105】さらに、CPU 103は、その管理ペー
ジに記憶されている情報のうち、自己番号領域に記憶さ
れた自己番号を得る(ステップS904)。
【0106】ついで、CPU 103は、第1アドレス
変換テーブルの配列のうち、ステップS904で得た
「自己番号」番目の要素に記憶された値を調べ、それが
−1か否かを調べる(ステップS905)。
【0107】−1ではないの場合(ステップS905;
No)、その管理ページが記憶する管理情報は古いもの
であり、すでに新たな管理ページによって管理されてい
ることになる。そこで、次に処理すべき管理ページのア
ドレスをデクリメントし(ステップS906)、そのア
ドレスが管理ページの物理アドレスとして有効か否かを
判断し(ステップS907)、有効な場合(ステップS
907;Yes)、ステップS904に戻る。有効でな
い場合(ステップS907;No)は、第1アドレス変
換テーブルの構築処理を終了する。
【0108】一方、−1である場合(ステップS90
5;Yes)、当該管理ページが、その自己番号を管理
する管理ページのうち、最新のものであることになる。
そこで、第1アドレス変換テーブルの配列のステップS
904で得た「自己番号」番目の要素に、この管理ペー
ジの物理アドレスを記憶する(ステップS908)。
【0109】さらに、当該管理ページの対応番号領域に
記憶された対応番号を得てその値が自己番号として有効
なものか否かを調べる(ステップS909)。
【0110】対応番号の値が自己番号として有効なもの
でない場合(ステップS909;No)、この管理ペー
ジは第4管理情報を記憶していたことになる。そこで、
この管理ページの処理を終わり、ステップS906に戻
る。
【0111】一方、対応番号の値が自己番号として有効
な場合(ステップS909;Yes)、この管理ページ
は、第3管理情報を記憶していたことになる。その場
合、RAM 105の第1アドレス変換テーブルの配列
の「対応番号」番目の要素の値を得る(ステップS91
0)。さらに、これが管理ページの物理アドレスとして
有効か否かを調べる(ステップS911)。有効でない
場合(ステップS911;No)、第4管理情報が記憶
されていないことになるため、修復処理を行い(ステッ
プS912)、この管理ページの処理を終わり、ステッ
プS906に戻る。なお、修復処理の詳細については後
述する。
【0112】一方、有効である場合(ステップS91
1;Yes)、フラッシュEEPROM 104から、
当該物理アドレスの管理情報を取得する。これは、第4
管理情報に相当する。さらに、第3管理情報と、第4管
理情報のそれぞれの自己番号から、フラッシュEEPR
OM 104内に記憶された第1管理情報と第2管理情
報とを得る(ステップS913)。
【0113】さらに、この4つの管理情報を比較し、第
4管理情報が有効か否かを調べる(ステップS91
4)。
【0114】前述した通り、有効である場合、 ・第1管理情報と第3管理情報の大部分は共通する。
【0115】・第2管理情報と第4管理情報の大部分は
共通する。
【0116】・上記2つの共通しない情報部分は、互い
に値を交換した関係になっている。
【0117】この様子は、図8に示した通りである。
【0118】第4管理情報が有効である場合(ステップ
S914;Yes)、ステップS906に戻る。
【0119】第4管理情報が有効でない場合(ステップ
S914;No)、修復処理を行い(ステップS91
2)、ステップS906に戻る。修復処理については後
述する。
【0120】図10は、本発明の不揮発性記憶装置(メ
モリカード)の第2アドレス変換テーブルの修正処理の
手順を示すフローチャートである。
【0121】まず、CPU 103は、第1〜第3管理
情報を元に、RAM 105に第4管理情報を作成する
(ステップS1001)。図8に示すように、第1〜第
3管理情報から第4管理情報を作成することができる。
【0122】次に、新たな管理ページを取得し(ステッ
プS1002)、第4管理情報をそのページに格納する
(ステップS1003)。
【0123】さらに、そのページの物理アドレスを、対
応するRAM 105内の配列の要素として記憶し(ス
テップS1004)、本処理を終了する。
【0124】なお、上記実施形態では、修復処理を開始
するか否かについての判断を各「自己番号」の最新ペー
ジを取得したときに行うこととしているが、以下の実施
形態をとることもできる。
【0125】すなわち、すべてがリンクされた管理用に
使用される複数ブロックで、リンク領域に記憶された物
理アドレス値での最新ページのみを対象とし、このペー
ジについてだけ判断を行う。このような実施形態をとる
ことができるのは、電源のOFFなどの中断がどの時点
で発生しても、中断が起きたかどうかは、その時の最新
の第2アドレス変換テーブルを記憶している管理ページ
にのみ反映されるからである。
【0126】したがって、この実施形態では、メモリカ
ードの起動時に行われる第1アドレス変換テーブルの構
築処理の先頭で、1回だけ判断と修復が行われることに
なる。
【0127】
【発明の効果】第1に、論理アドレスを物理アドレスに
変換してデータを書き込むことができる不揮発性記憶装
置、および、その制御方法を提供することができる。
【0128】また、ハードディスクやフロッピーディス
クと同様の指定方法によりデータの記憶場所を指定する
ことができるATAカードやSSFDCカードなどのメ
モリカード、および、その制御方法を提供することがで
きる。
【0129】第2に、論理アドレスを物理アドレスに変
換してデータを書き込む作業が中断した場合に、データ
の管理情報を修復することができる不揮発性記憶装置、
および、その制御方法を提供することができる。
【0130】第3に、フラッシュEEPROM、およ
び、RAMを備え、データの読み出し、および、書き込
みの要求の際に指定される論理アドレスをフラッシュE
EPROM内の物理アドレスに変換するための変換テー
ブルをフラッシュEEPROM、および、RAMに分割
して記憶し、フラッシュEEPROMに記憶された変換
テーブルのデータに基づいてRAMに変換テーブルを構
築する不揮発性記憶装置、および、その制御方法を提供
することができる。
【0131】第4に、これらの制御を実現するプログラ
ムを記録した情報記録媒体により、これをソフトウェア
商品として不揮発性記憶装置と独立して容易に配布した
り販売したりすることができるようになる。本発明の情
報記録媒体に記録されたプログラムを不揮発性記憶装置
で実行すれば、上記の発明に係る不揮発性記憶装置、お
よび、上記の発明に係る不揮発性記憶装置の制御方法が
実現でき、同様に、上記効果を奏する。
【図面の簡単な説明】
【図1】第1の発明の不揮発性記憶装置の概要を表すブ
ロック構成図である。
【図2】第2の発明の不揮発性記憶装置の概要を表すブ
ロック構成図である。
【図3】本発明の不揮発性記憶装置(メモリカード)の
基本構成を示すブロック構成図である。
【図4】本発明の不揮発性記憶装置(メモリカード)の
管理情報の格納の様子を示す説明図である。
【図5】本発明の不揮発性記憶装置(メモリカード)の
管理ページの様子を示す説明図である。
【図6】本発明の不揮発性記憶装置(メモリカード)の
アドレス変換処理の手順を示すフローチャートである。
【図7】本発明の不揮発性記憶装置(メモリカード)の
書き込み処理の手順を示すフローチャートである。
【図8】本発明の不揮発性記憶装置(メモリカード)の
書き込み処理により処理される管理ページの様子を示す
説明図である。
【図9】本発明の不揮発性記憶装置(メモリカード)の
第1アドレス変換テーブル構築処理の手順を示すフロー
チャートである。
【図10】本発明の不揮発性記憶装置(メモリカード)
の第2アドレス変換テーブルの修正処理の手順を示すフ
ローチャートである。
【符号の説明】
10 不揮発性記憶装置 11 記憶手段 12 要求受付手段 13 書込前情報取得手段 14 新規領域取得手段 15 第3管理情報記憶手段 16 第4管理情報記憶手段 17 書込完了判断手段 18 第4管理情報修復手段 101 メモリカード 102 インターフェース 103 CPU 104 フラッシュEEPROM 105 RAM 106 バス 401 第1アドレス変換テーブル 402 第2アドレス変換テーブル 403 論理アドレス 404 物理アドレス 501 管理ページ 502 管理ページの配列 503 管理ページの配列の要素 504 物理アドレス領域 505 ステータス領域 506 自己番号領域 507 対応番号領域
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B025 AD00 AD01 AE00 5B060 AA08 AA09 AB26 AC11 5B065 BA05 CC03 CE12 EA24 5B082 CA08 EA01 FA05 GA15

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】以下の手段を備えることを特徴とする不揮
    発性記憶装置。 (a)データと、当該データを記憶する領域の場所の論
    理アドレスと物理アドレスとを対応付ける管理情報と、
    を記憶する記憶手段と、 (b)データを任意の論理アドレスが示す場所に書き込
    む旨の要求を受け付ける要求受付手段と、 (c)前記要求受付手段により受け付けられた論理アド
    レスに対応する物理アドレスを前記記憶手段に記憶され
    た管理情報により取得し、当該第1物理アドレスが示す
    場所が使用ずみである場合、当該物理アドレスを管理す
    る管理情報を記憶する第1管理情報と、使用ずみでない
    場所の第2物理アドレスを管理する管理情報を記憶する
    第2管理情報と、を取得する書込前情報取得手段と、 (d)前記記憶手段から使用ずみでない領域を第3管理
    情報および第4管理情報を記憶する領域として取得する
    新規領域取得手段と、 (e)前記書込前情報取得手段により取得された第1管
    理情報に含まれる第1物理アドレスを第2物理アドレス
    に置き替え、前記新規領域取得手段により取得された第
    4管理情報を記憶する領域と対応付けた管理情報を、前
    記新規領域取得手段により取得された第3管理情報を記
    憶する領域に記憶する第3管理情報記憶手段と、 (f)前記書込前情報取得手段により取得された第2管
    理情報に含まれる第2物理アドレスを第1物理アドレス
    に置き替え、これを前記新規領域取得手段により取得さ
    れた第4管理情報を記憶する領域に記憶する第4管理情
    報記憶手段。
  2. 【請求項2】さらに、以下の手段を備えることを特徴と
    する請求項1記載の不揮発性記憶装置。 (g)前記第3管理情報記憶手段により記憶された第3
    管理情報に対応付けられた第4管理情報を記憶する領域
    に、前記第4管理情報記憶手段により記憶されるべき第
    4管理情報が記憶されているか否かを判断する書込完了
    判断手段と、 (h)前記書込完了判断手段により、第4管理情報が記
    憶されていないと判断した場合、前記記憶手段に記憶さ
    れる第1管理情報と第2管理情報とに基づいて、第2管
    理情報に含まれる第2物理アドレスを第1物理アドレス
    に置き替え、前記第3管理情報記憶手段により記憶され
    た第3管理情報に対応付けられた領域に、第4管理情報
    として記憶して修復する第4管理情報修復手段。
  3. 【請求項3】前記記憶手段は、不揮発性記憶装置、もし
    くは、これと揮発性記憶装置との組合せにより構成され
    ることを特徴とする請求項1または2記載の不揮発性記
    憶装置。
  4. 【請求項4】以下のステップを備えることを特徴とし、
    データと、当該データを記憶する領域の場所の論理アド
    レスと物理アドレスとを対応付ける管理情報と、を記憶
    する記憶手段を備える不揮発性記憶装置の制御方法。 (a)データを任意の論理アドレスが示す場所に書き込
    む旨の要求を受け付ける要求受付ステップと、 (b)前記要求受付ステップにおいて受け付けられた論
    理アドレスに対応する物理アドレスを前記記憶手段に記
    憶された管理情報により取得し、当該第1物理アドレス
    が示す場所が使用ずみである場合、当該物理アドレスを
    管理する管理情報を記憶する第1管理情報と、使用ずみ
    でない場所の第2物理アドレスを管理する管理情報を記
    憶する第2管理情報と、を取得する書込前情報取得ステ
    ップと、 (c)前記記憶手段から使用ずみでない領域を第3管理
    情報および第4管理情報を記憶する領域として取得する
    新規領域取得ステップと、 (d)前記書込前情報取得ステップにおいて取得された
    第1管理情報に含まれる第1物理アドレスを第2物理ア
    ドレスに置き替え、前記新規領域取得ステップにおいて
    取得された第4管理情報を記憶する領域と対応付けた管
    理情報を、前記新規領域取得ステップにおいて取得され
    た第3管理情報を記憶する領域に記憶する第3管理情報
    記憶ステップと、 (e)前記書込前情報取得ステップにおいて取得された
    第2管理情報に含まれる第2物理アドレスを第1物理ア
    ドレスに置き替え、これを前記新規領域取得ステップに
    おいて取得された第4管理情報を記憶する領域に記憶す
    る第4管理情報記憶ステップ。
  5. 【請求項5】さらに、以下のステップを備えることを特
    徴とする請求項4記載の不揮発性記憶装置の制御方法。 (f)前記第3管理情報記憶ステップにおいて記憶され
    た第3管理情報に対応付けられた第4管理情報を記憶す
    る領域に、前記第4管理情報記憶手段により記憶される
    べき第4管理情報が記憶されているか否かを判断する書
    込完了判断ステップと、 (g)前記書込完了判断ステップにおいて第4管理情報
    が記憶されていないと判断した場合、前記記憶手段に記
    憶される第1管理情報と第2管理情報とに基づいて、第
    2管理情報に含まれる第2物理アドレスを第1物理アド
    レスに置き替え、前記第3管理情報記憶手段により記憶
    された第3管理情報に対応付けられた領域に、第4管理
    情報として記憶して修復する第4管理情報修復ステッ
    プ。
  6. 【請求項6】以下のステップを備えることを特徴とし、
    データと、当該データを記憶する領域の場所の論理アド
    レスと物理アドレスとを対応付ける管理情報と、を記憶
    する記憶手段を備える不揮発性記憶装置を制御するプロ
    グラムを記録した情報記録媒体。 (a)データを任意の論理アドレスが示す場所に書き込
    む旨の要求を受け付ける要求受付ステップと、 (b)前記要求受付ステップにおいて受け付けられた論
    理アドレスに対応する物理アドレスを前記記憶手段に記
    憶された管理情報により取得し、当該第1物理アドレス
    が示す場所が使用ずみである場合、当該物理アドレスを
    管理する管理情報を記憶する第1管理情報と、使用ずみ
    でない場所の第2物理アドレスを管理する管理情報を記
    憶する第2管理情報と、を取得する書込前情報取得ステ
    ップと、 (c)前記記憶手段から使用ずみでない領域を第3管理
    情報および第4管理情報を記憶する領域として取得する
    新規領域取得ステップと、 (d)前記書込前情報取得ステップにおいて取得された
    第1管理情報に含まれる第1物理アドレスを第2物理ア
    ドレスに置き替え、前記新規領域取得ステップにおいて
    取得された第4管理情報を記憶する領域と対応付けた管
    理情報を、前記新規領域取得ステップにおいて取得され
    た第3管理情報を記憶する領域に記憶する第3管理情報
    記憶ステップと、 (e)前記書込前情報取得ステップにおいて取得された
    第2管理情報に含まれる第2物理アドレスを第1物理ア
    ドレスに置き替え、これを前記新規領域取得ステップに
    おいて取得された第4管理情報を記憶する領域に記憶す
    る第4管理情報記憶ステップ。
  7. 【請求項7】さらに、以下のステップを備えることを特
    徴とする請求項5記載の不揮発性記憶装置を制御するプ
    ログラムを記録する情報記録媒体。 (f)前記第3管理情報記憶ステップにおいて記憶され
    た第3管理情報に対応付けられた第4管理情報を記憶す
    る領域に、前記第4管理情報記憶手段により記憶される
    べき第4管理情報が記憶されているか否かを判断する書
    込完了判断ステップと、 (g)前記書込完了判断ステップにおいて第4管理情報
    が記憶されていないと判断した場合、前記記憶手段に記
    憶される第1管理情報と第2管理情報とに基づいて、第
    2管理情報に含まれる第2物理アドレスを第1物理アド
    レスに置き替え、前記第3管理情報記憶手段により記憶
    された第3管理情報に対応付けられた領域に、第4管理
    情報として記憶して修復する第4管理情報修復ステッ
    プ。
JP2867399A 1999-02-05 1999-02-05 不揮発性記憶装置、その制御方法、および、情報記録媒体 Withdrawn JP2000227871A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2867399A JP2000227871A (ja) 1999-02-05 1999-02-05 不揮発性記憶装置、その制御方法、および、情報記録媒体
US09/497,476 US6347355B1 (en) 1999-02-05 2000-02-04 Non-volatile storage, the controlling method, and information memory medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2867399A JP2000227871A (ja) 1999-02-05 1999-02-05 不揮発性記憶装置、その制御方法、および、情報記録媒体

Publications (1)

Publication Number Publication Date
JP2000227871A true JP2000227871A (ja) 2000-08-15

Family

ID=12255030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2867399A Withdrawn JP2000227871A (ja) 1999-02-05 1999-02-05 不揮発性記憶装置、その制御方法、および、情報記録媒体

Country Status (2)

Country Link
US (1) US6347355B1 (ja)
JP (1) JP2000227871A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004151939A (ja) * 2002-10-30 2004-05-27 Matsushita Electric Ind Co Ltd 記憶装置
JP2007505415A (ja) * 2003-09-10 2007-03-08 ハイパーストーン・アクチエンゲゼルシヤフト フラッシュメモリにおける削除されたブロックの管理
WO2008038372A1 (fr) * 2006-09-28 2008-04-03 Fujitsu Microelectronics Limited Circuit de mémoire partagée et procédé de contrôle d'accès
US7653777B2 (en) 2004-01-19 2010-01-26 Trek Technology (Singapore) Pte Ltd. Portable data storage device using a memory address mapping table

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6565443B1 (en) 1999-09-14 2003-05-20 Innovative Gaming Corporation System and method for verifying the contents of a mass storage device before granting access to computer readable data stored on the device
FR2838536B1 (fr) * 2002-04-16 2005-06-24 A S K Procede de modification des donnees d'une carte a memoire lors d'une transaction
US20080147964A1 (en) * 2004-02-26 2008-06-19 Chow David Q Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
JP4547028B2 (ja) * 2005-08-03 2010-09-22 サンディスク コーポレイション ブロック管理を伴う不揮発性メモリ
US7552271B2 (en) * 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
JP4418439B2 (ja) * 2006-03-07 2010-02-17 パナソニック株式会社 不揮発性記憶装置およびそのデータ書込み方法
TWI386800B (zh) * 2008-10-03 2013-02-21 Silicon Motion Inc 快閃記憶體之更新資料的管理方法以及相關之記憶卡
KR20100055565A (ko) * 2008-11-18 2010-05-27 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법
TWI427476B (zh) * 2009-02-24 2014-02-21 Silicon Motion Inc 快閃記憶體的存取方法及快閃記憶體裝置
US8296506B2 (en) * 2009-11-09 2012-10-23 Lite-On It Corporation Method for managing a non-violate memory and computer readable medium thereof
JP2021005121A (ja) * 2019-06-25 2021-01-14 株式会社日立製作所 ストレージ装置、及び制御方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
JP3485938B2 (ja) * 1992-03-31 2004-01-13 株式会社東芝 不揮発性半導体メモリ装置
US5845313A (en) * 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
JP3604466B2 (ja) * 1995-09-13 2004-12-22 株式会社ルネサステクノロジ フラッシュディスクカード
US5860124A (en) * 1996-09-30 1999-01-12 Intel Corporation Method for performing a continuous over-write of a file in nonvolatile memory

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004151939A (ja) * 2002-10-30 2004-05-27 Matsushita Electric Ind Co Ltd 記憶装置
JP2007505415A (ja) * 2003-09-10 2007-03-08 ハイパーストーン・アクチエンゲゼルシヤフト フラッシュメモリにおける削除されたブロックの管理
US7653777B2 (en) 2004-01-19 2010-01-26 Trek Technology (Singapore) Pte Ltd. Portable data storage device using a memory address mapping table
WO2008038372A1 (fr) * 2006-09-28 2008-04-03 Fujitsu Microelectronics Limited Circuit de mémoire partagée et procédé de contrôle d'accès

Also Published As

Publication number Publication date
US6347355B1 (en) 2002-02-12

Similar Documents

Publication Publication Date Title
KR100468880B1 (ko) 불발성기억장치,불휘발성기억장치의제어방법및불휘발성기억장치를제어하는프로그램을기록한정보기록매체
US7890732B2 (en) Memory card and semiconductor device
US6477616B1 (en) Storage device, storage system, memory management method, recording medium, and computer data signal
JP2000227871A (ja) 不揮発性記憶装置、その制御方法、および、情報記録媒体
US7065608B2 (en) Apparatus for recording data and method for writing data to flash memory
US7898862B2 (en) Memory card, semiconductor device, and method of controlling memory card
JP4533956B2 (ja) フラッシュメモリシステムのデータ記憶容量の解放
TWI634424B (zh) 資料儲存裝置以及其操作方法
US7752412B2 (en) Methods of managing file allocation table information
KR100847506B1 (ko) 기억 장치, 메모리 관리 방법 및 프로그램
US7404031B2 (en) Memory card, nonvolatile semiconductor memory, and method of controlling semiconductor memory
JPH08137634A (ja) フラッシュディスクカード
US20080082773A1 (en) Systems for Managing File Allocation Table Information
JP2005516264A (ja) 不揮発性メモリ上で実行されるブロック書き込み動作時間を低減させる方法および装置
CN101176074A (zh) 非易失性存储器件,写入数据的方法,和读出数据的方法
KR100742849B1 (ko) 데이타 기억 장치, 데이타 처리 시스템, 데이타 처리 방법 및 데이타 처리 장치
TW201931366A (zh) 資料儲存裝置以及非揮發式記憶體操作方法
JP4253272B2 (ja) メモリカード、半導体装置、及び半導体メモリの制御方法
JP2009503743A (ja) データファイルを直接記憶するメモリブロックの管理
JP5558093B2 (ja) 半導体装置及びメモリシステム
JP2005115561A (ja) フラッシュrom制御装置
US20050281105A1 (en) Memory card, semiconductor device, and method of controlling semiconductor memory
US7519876B2 (en) Memory card using flash memory and method of controlling the same
JP4308780B2 (ja) 半導体メモリ装置、メモリコントローラ及びデータ記録方法
JP2006133923A (ja) データ記録再生装置、記録再生方法、プログラム並びにデータ記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070220