JPH11110283A - 不揮発性半導体メモリシステムの制御方法 - Google Patents

不揮発性半導体メモリシステムの制御方法

Info

Publication number
JPH11110283A
JPH11110283A JP11909998A JP11909998A JPH11110283A JP H11110283 A JPH11110283 A JP H11110283A JP 11909998 A JP11909998 A JP 11909998A JP 11909998 A JP11909998 A JP 11909998A JP H11110283 A JPH11110283 A JP H11110283A
Authority
JP
Japan
Prior art keywords
block
logical
area
physical
address
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
JP11909998A
Other languages
English (en)
Other versions
JP4079506B2 (ja
Inventor
Yoshiyuki Tanaka
中 義 幸 田
Kazuya Kawamoto
本 和 也 河
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
Priority claimed from JP9214561A external-priority patent/JPH10124384A/ja
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP11909998A priority Critical patent/JP4079506B2/ja
Priority to US09/130,818 priority patent/US6845438B1/en
Priority to CA 2245271 priority patent/CA2245271C/en
Priority to TW87113055A priority patent/TW392173B/zh
Priority to KR10-1998-0032271A priority patent/KR100365385B1/ko
Priority to EP20050003250 priority patent/EP1533703A3/en
Priority to EP19980114979 priority patent/EP0896280A3/en
Publication of JPH11110283A publication Critical patent/JPH11110283A/ja
Priority to KR10-2002-0034590A priority patent/KR100438012B1/ko
Priority to US10/786,960 priority patent/US7054991B2/en
Priority to US10/913,865 priority patent/US8756401B2/en
Priority to US11/931,101 priority patent/US8230156B2/en
Publication of JP4079506B2 publication Critical patent/JP4079506B2/ja
Application granted granted Critical
Priority to US12/564,770 priority patent/US20100023680A1/en
Priority to US12/702,134 priority patent/US9009387B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • 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/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
    • 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]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • G11C16/225Preventing erasure, programming or reading when power supply voltages are outside the required ranges
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications

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)
  • Power Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Power Sources (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題と解決手段】 システムが管理する論理ブロック
と、複数のメモリセルにより構成され、前記論理ブロッ
クに対応するデータを記憶する物理ブロックと、前記物
理ブロック中に含まれ、前記対応する論理ブロックのア
ドレスを記憶する冗長部と、前記物理ブロックが少なく
とも2以上で構成される物理ブロックエリアとを具備
し、前記論理ブロックと前記物理ブロックエリアとの対
応関係を管理するための論理番地/物理番地変換テーブ
ルを作成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、不揮発性半導体メ
モリシステムの制御方法に関し、特に不揮発性半導体メ
モリカードの制御に使用されるものである。
【0002】
【従来の技術】近年図1に示すようなフラッシュメモリ
カードがデジタルスチールカメラやPDA等の携帯情報
機器の記憶媒体として注目されている。フラッシュメモ
リとしてNAND型フラッシュメモリと呼ばれるフラッ
シュメモリが使用され販売がなされている。
【0003】このメモリカードは図1に示すように薄型
のプラスチックパッケージ1にわずかな窪みが設けられ
ておりその窪みに22ピンの平面電極を有するフラッシ
ュメモリ2が埋め込まれている。本フラッシュメモリカ
ードは専用のコネクタを介してホストシステムに電気的
に接続され、データの入出力を行うというものである。
【0004】これらのメモリカードはコネクタを介して
信号のやり取りを行うので、メモリカードの各端子とコ
ネクタの端子との接触が不完全だった場合には、誤動作
する可能性が大きくなる。このため、メモリカードの各
端子と情報処理機器のコネクタの端子とが確実に接触し
ているかどうかを確認する方法が考案されてきた。
【0005】特に、従来のメモリカードを用いた制御シ
ステムでは、メモリカードの各端子とコネクタの対応す
る端子は同時に接続/切断されていたので、挿入/抜去
時において、接続/切断のタイミングの僅かなズレが生
じることがある。このため、例えば、電源が供給されて
いる状態で、コマンドラッチイネーブル信号等の制御信
号が不定になると、意図しない書込みまたは消去コマン
ド等が取り込まれデータを破壊する可能性があり、メモ
リカードとコネクタの挿抜制御には細心の注意が必要で
あった。
【0006】フラッシュメモリとして、16Mビットの
NAND型フラッシュメモリの場合を例に取ると、図2
に示すように、フラッシュメモリは512個の物理的な
メモリブロックに分割されている。このブロックは消去
時の最小単位となっている。1ブロックはさらに16ペ
ージに分割される。1ページは書き込みおよび読み出し
の基本的な単位となる。1ページは264バイトから構
成され、うち256バイトはユーザーデータ領域(デー
タ部)、残りの8バイト(冗長部)はエラー訂正符号お
よび管理情報等の格納(冗長部)に使用される。
【0007】これに対して、パソコン側ではデータは図
3に示す論理ブロックによって管理される。論理ブロッ
ク(LBA:Logical Block Address )は500個設定
されており、1個の論理ブロックは連続した8セクタに
相当する。すなわち、論理ブロック0は論理セクタ0〜
7を意味する。
【0008】通常パソコン等ではデータはセクタ(51
2バイト)単位で管理されるため、本メモリカードでも
512バイト単位でのデータ管理を基本とすべく物理ブ
ロックの2ページをペアとして論理ブロックの1セクタ
分のデータを記憶させる。データの具体的な格納方法を
図4に示す。
【0009】未使用の正常ブロックは、データ部、冗長
部とも“FFh”に設定されている。下記に各々のバイ
トの意味あいにつき説明する。Data Area−1
は512バイトデータのうち、前半の0〜255バイト
のデータが格納される。Data Area−2には5
12バイトデータのうち、後半の256〜511バイト
のデータが格納される。User Data Area
のデータは、ユーザに解放されており使用方法はユーザ
に一任される。Data Status Areaはデ
ータが正常か否かを示す。通常は“FFh”だが、正常
でないデータが書き込まれている場合に“00h”が設
定される。Block StatusAreaはブロッ
クが良か不良かを示す。通常は“FFh”だが、不良ブ
ロックの場合、“00h”(初期不良ブロック)、“F
0h”(後発不良ブロック)が設定される。2ビット以
上“0”であった場合は、不良ブロックであると判断す
る。なお、本データは同一ブロック内では全て同じ値を
書き込む。BlockAddress Area−1は
ブロックの論理アドレス情報を示す。なお、1論理ブロ
ックを構成する8セクタには512の物理ブロックのう
ち1物理ブロックが相当するので、本データは同一ブロ
ック内では全て同じ値が書込まれることになる。同様に
して、Block Address Area−2はB
lockAddress Area−1のデータと同じ
内容が書かれている。ECCArea−1は偶数ページ
データ(256バイト)の3バイトECCコードであ
る。ECC Area−2は、奇数ページデータ(25
6バイト)の3バイトECCコードである。
【0010】64MビットNAND型フラッシュメモリ
の場合を例に取ると、図5に示すように、フラッシュメ
モリは1024個の物理的なメモリブロックに分割され
ている。このブロックは消去時の最小単位となってい
る。1ブロックはさらに16ページに分割される。1ペ
ージは書き込みおよび読み出しの基本的な単位となる。
1ページは528バイトから構成され、うち512バイ
トはユーザーデータ領域(データ部)、残りの16バイ
ト(冗長部)はエラー訂正符号および管理情報等の格納
(冗長部)に使用される。論理ブロックは図6に示すよ
うに、1000個に設定されており、1個の論理ブロッ
クは連続した16セクタに相当する。すなわち論理ブロ
ック0は論理セクタ0〜15を意味する。64Mビット
NAND型フラッシュメモリのデータ格納方法を図7に
示す。
【0011】このようなメモリカードの制御では、デー
タ更新時は消去済み領域に更新データを書き込み、元の
データが存在する領域を消去するという、追加書き込み
方式を採用しているため、ある論理ブロックに対応する
データが存在する物理ブロックは、固定では無く、常に
メモリ内を移動している。したがって、図8に示すよう
に物理ブロックの冗長部には自分がどの論理ブロックに
対応するデータを保持しているかを示す論理ブロックア
ドレス情報を記憶している。ここで、図4および図7中
のBlock Address Area−1及びBl
ock Address Area−2が、対応する論
理ブロックアドレスに相当する。
【0012】ゆえに、通常は電源投入時に、全物理ブロ
ックの該論理ブロックアドレス情報格納領域をサーチ
し、システムRAM上に、論理ブロックと物理ブロック
の変換テーブルを作る。一度テーブルを作成した後は、
該テーブルを参照すれば、論理ブロックに対応する物理
ブロックがすぐに判断可能なため、全ブロックのサーチ
動作は電源投入時に1回行われる。当然のことながら、
データの更新を行い、対応する物理ブロックの位置が変
化した場合、メモリシステムは、論理番地/物理番地変
換テーブルの更新作業を行い、次のアクセスに備えるこ
とになる。
【0013】しかし、従来のメモリシステムにおいて
は、前記論理番地/物理番地変換テーブルに要するRA
M領域が膨大になってしまうという第1の問題点があっ
た。以下にその内容を詳述する。
【0014】従来の16MビットNAND型フラッシュ
メモリの論理番地/物理番地変換テーブルを図9に示
す。上述したように、1論理ブロック分のデータ、すな
わち連続した8セクタ分のデータは、フラッシュメモリ
中の512ブロックのうちのいずれかの物理ブロックに
存在する。512個の物理ブロックから1個のブロック
を選択するには、9ビット必要となる。ソフトウェアの
利便性に配慮してオフセットがそのまま物理ブロックを
指し示す様にテーブルを構成すると、1論理ブロックに
対し2バイト、計1KBのRAM領域が必要となる。例
えば、論理ブロック5の情報が格納されている物理ブロ
ックの番地はテーブルの先頭からオフセット5ワード
(10バイト)目に格納される。
【0015】このように、従来用いられていた方法にお
いては、論理番地/物理番地変換テーブルが必要とする
RAM領域が非常に大きいという問題点があった。通常
よく用いられる、汎用CPUでは内蔵RAMとして1K
B程度のRAMを搭載しているのが一般的である。従っ
て、従来は、論理番地/物理番地変換テーブルだけで1
KBを使用する必要があり、内蔵RAMのみではシステ
ム構成ができず、外づけのRAMをシステムとして有す
ることが条件となりコストアップの大きな要因となって
いた。
【0016】図10に従来の64MビットNAND型フ
ラッシュメモリの論理番地/物理番地変換テーブルを示
す。この場合、1論理ブロック分のデータ、すなわち連
続した16セクタ分のデータはフラッシュメモリ中の1
024ブロックのうちのいずれかの物理ブロックに存在
する。1024個の物理ブロックから1個の物理ブロッ
クを選択するには、10ビット必要となることから、合
計2KBのRAM領域が必要となる。このため、16ビ
ットNAND型フラッシュメモリ同様膨大なRAM領域
が必要となる。
【0017】この問題は、フラッシュメモリの容量が大
きくなるほど深刻になる。例えば、1Gビットの時代に
なるとブロック数は8192個になるため、16KBの
RAM容量が必要となる。
【0018】また、さらにメモリ容量が増加すると、フ
ラッシュメモリの物理ブロックの冗長部に論理アドレス
を格納できないという第2の問題が生じる。図7に示す
16M ビットNAND型フラッシュメモリの物理ブロッ
クの冗長部のBlock Address Areaに
は自分がどの論理ブロックに対応するデータを保持して
いるかを示す論理ブロックアドレス情報が格納される。
各物理ブロックの冗長部のBlock Address
Areaの構造を図11に示す。図11中で、偶数ペ
ージの262バイトおよび奇数ページの259バイト目
のD4〜D7の4ビットと、偶数ページの263バイト
および奇数ページの260バイト目のD0の1ビットは
“1”固定値となる。従って、格納可能なブロックアド
レスの最大値は、BA0〜BA10で表される、204
7である。512MビットのNAND型フラッシュメモ
リでは物理ブロックが4096個存在するため、Blo
ck Address Areaの記述方法を変更しな
い限り、アドレスを格納することはできない。従来のフ
ラッシュメモリと冗長部の制御方法を異にするため、ホ
ストが2種類のプログラムを用意しない限り、広範囲の
容量のフラッシュメモリを制御できず、ホストシステム
のプログラム格納領域の容量を圧迫する問題が発生す
る。
【0019】次に、フラッシュメモリの書き込み、消去
について簡単に述べる。フラッシュメモリの書き込みは
ページ単位で一括で実行される。64MビットNAND
型EEPROMの場合は1ページ528バイトである。
また消去はブロック単位で実行される。64MビットN
AND型EEPROMは16ページで1ブロックを構成
する。このようにNAND EEPROMでは書き込み
と消去の単位が異なる。従ってあるページのみを消去し
てデータを更新する事は出来ない。
【0020】フラッシュメモリカードをパソコンで使用
する場合には一般的にDOS支配下のドライブとして取
り扱われる。図12に従来のDOSフォーマットパラメ
ータを示す。ここでは、図12(a)として、クラスタ
サイズ4KBの場合、図12(b)としてクラスタサイ
ズが8KBの場合を示している。クラスタとはDOSの
ファイル管理の基本最小単位で、ファイルサイズが非常
に小さくても1個のクラスタ分の容量は占有する。ファ
イルサイズが大きい場合は、複数個のクラスタのチェー
ンとして管理され、その管理情報はFAT(File Alloc
ation Table)に格納される。クラスタのサイズやFAT
の管理方法等はブートセクタと呼ばれるセクタ内で管理
される。1個のデバイスが複数個のドライブとして管理
される場合は、マスターブートセクタにその情報が格納
される。ファイルの書き込みとしては、OSからクラス
タ単位で書き込み命令が発行される。
【0021】クラスタサイズが4KBの場合を図12
(a)に示す。論理セクタ0にマスターブートセクタ、
論理セクタ16にブートセクタ、論理セクタ17〜22
にFAT、論理セクタ23〜28にFATのコピー、論
理セクタ29〜44にディレクトリー、論理セクタ45
以降にファイルデータ領域が配置されている。
【0022】クラスタサイズが8KBの場合を図12
(b)に示す。論理セクタ0にマスターブートセクタ、
論理セクタ16にブートセクタ、論理セクタ17〜19
にFAT、論理セクタ20〜22にFATのコピー、論
理セクタ23〜38にディレクトリー、論理セクタ39
以降にファイルデータ領域が配置されている。
【0023】まず、図13を用いて、クラスタサイズ4
KBの場合を例に従来の書き換えシーケンスを説明す
る。クラスタサイズは4KBなので、連続した8セクタ
分の書き込み命令がOSから発行される。このとき論理
セクタの45〜52(クラスタA)に対する書き込み
(データ更新)が発生する。 1) 消去済み新領域を探し、論理セクタ32〜44ま
でを元ブロックから新領域NAND BlockCにコピーする。 2) 論理セクタ45〜47の新データを新領域NAND B
lockCに書き込む。 3) 元ブロックNAND BlockAを消去する。 4) 論理番地/物理番地変換テーブルの更新。 5) 消去済み新領域を探し、論理セクタ−48〜52
の新データを新領域NANDBlock Dに書き込む。 6) 元ブロックNAND Block Bの論理セクタ−53〜6
3のデータを新領域NANDBlock Dにコピーする。 7) 元ブロックNAND BlockAを消去する。 8) 論理番地/物理番地変換テーブルの更新。 従って、外部からみて8セクタの書き換えを実施した場
合、実際デバイスとしては、論理セクタ32〜63の合
計32セクタ(32ページ)の書き込み動作と、NAND B
lockA、NAND Block Bの合計2ブロックに対する消去動
作が実施されたことになる。
【0024】次に、図14を用いて、クラスタBに対す
る書き込みシーケンスを説明する。この場合論理セクタ
の53〜60(クラスタB)に対する書き込み(データ
更新)が発生する。 1) 消去済み新領域を探し、論理セクタ−48〜52
までを元ブロックNAND Block Bから新領域NAND Block C
にコピーする。 2) 論理セクタ−53〜60の新データを新領域NAND
Block Cに書き込む。 3) 論理セクタ−61〜63までを元ブロックNAND B
lock Bから新領域NAND Block Cにコピーする。 4) 元ブロックNAND Block Bを消去する。 5) 論理番地/物理番地変換テーブルの更新。 従って、外部からみて8セクタの書き換えを実施した場
合、実際デバイスとしては、論理セクタの48〜63の
合計16セクタ(16ページ)の書き込み動作と、NAND
Block Bの1ブロックに対する消去動作が実施されたこ
とになる。
【0025】次に、図15を用いて、クラスタサイズ8
KBの場合を例に従来の書き込みシーケンスを説明す
る。クラスタサイズは8KBなので、連続した16セク
タ分の書き込み命令がOSから発行される。このとき論
理セクタの39〜54(クラスタA)に対する書き込み
(データ更新)が発生する。 1) 消去済み新領域を探し、論理セクタ32〜38ま
でを元ブロックNAND Block Aから新領域NAND Block Cに
コピーする。 2) 論理セクタ39〜47の新データを新領域NAND B
lock Cに書き込む。 3) 元ブロックNAND Block Aを消去する。 4) 論理番地/物理番地変換テーブルの更新。 5) 消去済み新領域を探し、論理セクタ48〜54の
新データを新領域NAND Block Dに書き込む。 6) 元ブロックNAND Block Bの論理セクタ55〜63
のデータを新領域NAND Block Dにコピーする。 7) 元ブロックNAND Block Bを消去する。 8) 論理番地/物理番地変換テーブルの更新。 従って、外部からみて16セクタの書き換えを実施した
場合、実際デバイスとしては、セクタ32〜63の合計
32セクタ(32ページ)の書き込み動作と、NAND Blo
ck A、NAND BlockBの合計2ブロックに対する消去動作
が実施されたことになる。
【0026】上記クラスタが4KBのものと8KBの場
合を同じ8KBのデータが書き込まれる場合を想定し比
較すると、クラスタサイズが4KBの場合は、2回の書
き込みに処理が分割され合計48セクタの書き込みおよ
び3ブロック分の消去動作が発生する。これに対し、ク
ラスタサイズが8KBの場合は、1回の書き込みに処理
が集約され合計32セクタの書き込みおよび2ブロック
分の消去動作が発生することになる。
【0027】このように従来のメモリシステムは、外部
から見て更新されたセクタ数に比較し、実際にデバイス
上で実行された書き込み動作および消去動作がはるかに
多くなるため、外部からみた書き換え速度が遅くなると
言う第2の問題点があった。
【0028】次に、従来のメモリシステムにおけるファ
イル消去コマンド実行時の動作について説明する。通常
DOSのファイルシステムにおいては、ファイル消去コ
マンド実行時に、ディレクトリー上に該当ファイルが無
効である旨のマーキングを行い、該当ファイルが占有し
ていたメモリ領域をFAT(File Allocation Table)上
で開放する。従って、ファイル本体のデータ部分はフラ
ッシュメモリ上に消去されずに残っている。消去コマン
ド実行時の管理領域とデータ領域の関係を図16に示
す。図16において、例えばFile−1とFile−
4の消去コマンドを実行した場合、管理領域のFile
−1とFile−4が開放されdel.markがマー
キングされる。このときデータ領域においてはFile
−1、File−4は消去されない。
【0029】このため、その後の書込みコマンド実行時
に、前記開放された領域に対し新たなファイルのデータ
部分が書き込まれる際に、まずフラッシュメモリの消去
動作が必要となる。このため、ファイル書き込み時に必
ずフラッシュメモリの消去動作を伴い、ファイル書き込
み速度を劣化させるという第3の問題点が生じる。
【0030】図4に示す、ECC Area−1は偶数
ページデータ(256バイト)の3バイトECCコード
である。ECC Area−2は、奇数ページデータ
(256バイト)の3バイトECCコードである。
【0031】ここでECC(Error Correction Code)と
はエラー訂正のための符号をさす。システムはこのエラ
ー訂正用の符号を利用し、読み出したデータにエラーが
あるか否かを判定し、エラーが存在する場合、エラーを
訂正することができる。必要なエラー訂正能力はフラッ
シュメモリ自身の信頼性、例えばメモリのセル構造に依
存する。フラッシュメモリには複数のデータ記憶方法が
あり、これらのフラッシュメモリを例えばデジタルスチ
ルカメラやPDA等のシステムに用いた場合のエラー訂
正について考える。
【0032】例えば、第1のフラッシュメモリカード
は、図17に示すようにメモリセルのしきい値に応じ
た、“0”と“1”の2値の値を保持し、1ページ(2
56バイト)に対して1ビットエラー訂正用の符号を持
たせている。また、第2のフラッシュメモリカードは、
図18に示すようにメモリセルのしきい値に応じた、
“00”と“01”と“10”と“11”の4値(2ビ
ット分)の値を保持し、1個のメモリセルが破壊される
と2ビット分のデータが破壊される可能性があるため、
1ページ(256バイト)に対して2ビットエラー訂正
用の符号を持たせている。1ビットエラー訂正用と2ビ
ットエラー訂正用では符号の生成、およびエラーの検
出、訂正に関してはアルゴリズムが異なる。
【0033】従来のシステム(例えば、デジタルスチル
カメラや、PDA等)では図19に示すように1種類の
エラー訂正アルゴリズムのみ搭載していた。このため、
上記第1および第2のどちらかのフラッシュメモリカー
ドしか読めないという第4の問題点が生じ、フラッシュ
メモリの市場での汎用性を高める上での障害となってい
た。
【0034】
【発明が解決しようとする課題】さらに、第1、第4、
第5の実施例に係る発明は、上記第1の問題点を鑑みて
なされ、論理番地/物理番地変換テーブルで必要となる
RAMの容量を低減し、汎用CPUの内蔵RAMのみで
フラッシュメモリを制御する方法を提供し、これにより
従来必要であった外付けRAMを不要となし、大幅なコ
ストダウンを実現することを目的とする。
【0035】さらに、本発明の第2の実施例に係る発明
は、上記第2の問題点を鑑みてなされ、物理ブロックに
おいて、DOS上のファイル管理の基本単位であるクラ
スタの区切れが、消去の単位となるブロックをまたがな
いようにする方法を提供し、データの高速書込みを実現
することを目的とする。
【0036】また、本発明の第3の実施例に係る発明
は、上記第3の問題点を鑑みてなされ、消去コマンド実
行時に物理ブロックの管理領域を解放すると同時に、そ
のデータ領域の消去も行うことにより、その後の書込み
コマンド実行時の処理速度の向上を実現することを目的
とする。
【0037】さらに、本発明の第6の実施例に係る発明
は、上記第4の問題点を鑑みてなされ、2値/多値等の
2種類のフラッシュメモリカードのいずれもまたは更に
複数のフラッシュメモリがサポート可能なシステムを提
供することにある。
【0038】
【課題を解決するための手段】上記目的を達成する手段
として、本発明の第1の実施例に係る発明では、システ
ムが管理する論理ブロックと、複数のメモリセルにより
構成され、前記論理ブロックに対応するデータを記憶す
る物理ブロックと、前記物理ブロック中に含まれ、前記
対応する論理ブロックのアドレスを記憶する冗長部と、
前記物理ブロックが少なくとも2以上で構成される物理
ブロックエリアとを具備し、前記論理ブロックと前記物
理ブロックエリアとの対応関係を管理するための論理番
地/物理番地変換テーブルを作成するメモリシステムの
制御方法を提供する。
【0039】また、上記メモリシステムの制御方法にお
いて、メモリアクセス時に、前記論理番地/物理番地変
換テーブルを参照し前記論理ブロックに対応する物理ブ
ロックエリアのアドレスを読み出し、前記物理ブロック
エリアを構成する少なくとも2以上の物理ブロックの前
記冗長部に記憶される対応する論理ブロックのアドレス
を読み出すことにより、前記論理ブロックと対応する物
理ブロックを選択するメモリシステムの制御方法を提供
する。
【0040】さらに、前記論理番地/物理番地変換テー
ブルを電源投入時に、作成するメモリシステムの制御方
法を提供する。
【0041】また、上記目的を達成する手段として、本
発明の第2の実施例に係る発明では、データの高速書き
換えを実現する手段として、本発明ではシステムが管理
するファイルと、少なくとも1以上の前記ファイルを記
憶する複数のブロックとを有し、前記ブロック内で、前
記ファイルの先頭が前記ブロックの先頭部と一致するよ
う配置されることを特徴とするメモリシステムの制御方
法を提供する。
【0042】さらに、前記ブロックは消去時の最小単位
であることを特徴とするメモリシステムの制御方法を提
供する。
【0043】また、上記目的を達成する手段として、本
発明の第3の実施例に係る発明では、システムが管理す
るファイルと、前記ファイルの内容を記憶するデータ領
域と、前記ファイルとデータ領域の対応関係を記憶する
管理領域とを有し、前記ファイルの消去を行う時に、前
記管理領域に対応するデータ領域が空き領域である旨を
マークし、対応する前記データ領域の消去を行うことを
特徴とするメモリシステムの制御方法を提供する。ま
た、消去エリアへのデータの高速書込みを実現する第2
の手段として、本発明ではシステムが管理するファイル
と、前記ファイルの内容を記憶するデータ領域と、前記
ファイルとデータ領域の対応関係を記憶する管理領域と
を有し、前記ファイルの消去を行う時に、前記管理領域
に対応するデータ領域が空き領域である旨をマークして
おき、メモリシステムに入力される信号に基づいて、前
記管理領域の内容を検知し対応するデータ領域の消去を
行うことを特徴とするメモリシステムの制御方法を提供
する。
【0044】さらに、上記目的を達成する手段として、
本発明の第4の実施例に係る発明では、不揮撥性半導体
メモリシステムの制御方法において、セルアレイを複数
個の物理ブロックに分割し、前記各物理ブロックにこの
システムが管理する前記論理ブロックとの対応付けの情
報を記憶させ、前記論理ブロックと前記物理ブロックと
の対応関係を管理するためのテーブルを前記システムの
RAM上に保持するに当り、前記論理ブロックと前記物
理ブロックの対応関係のうち、ホストからのアクセスに
応じて必要な領域のみの対応関係を前記システム内の前
記RAM上に逐次作成することを特徴とする不揮撥性半
導体メモリシステムの制御方法を提供する。
【0045】さらに、上記目的を達成する手段として、
本発明の第5の実施例に係る発明では、不揮撥性半導体
メモリシステムの制御方法において、不揮撥性半導体メ
モリによるセルアレイを複数個の物理ブロックに分割
し、前記各物理ブロックに、このシステムが管理する論
理ブロックアドレスとの対応付けの情報を記憶させ、上
記物理ブロックと上記論理アドレスとの対応関係を管理
するためのアドレス変換テーブルをこのシステムのRA
M上に作成するに当り、少なくとも1個以上の上記物理
ブロックをそれぞれ集合することにより複数の領域が構
成し、所定の上記論理ブロックのアドレス範囲のデータ
は所定の上記領域内に格納されるように制御し、上記不
揮撥性半導体メモリに対するアクセス時に、該当する上
記論理ブロックアドレスのデータが格納されている上記
領域に対応する上記アドレス変換テーブルを、必要に応
じ作成することを特徴とする不揮撥性半導体メモリシス
テムの制御方法を提供する。また、不揮撥性半導体メモ
リシステムの制御方法において、不揮撥性メモリによる
セルアレイを複数個の物理ブロックに分割し、前記各物
理ブロックの記憶領域にこのシステムが管理する前記論
理ブロックとの対応付けの情報を記憶させ、前記論理ブ
ロックとフラッシュメモリの物理ブロックとの対応関係
を管理するためのテーブルをこのシステムのRAM上に
形成する制御方法であって、1個あるいは複数個の前記
物理ブロックから構成される領域を、前記フラッシュメ
モリのセルアレイ上に確保し、メモリアクセス時毎にア
クセス対象となる前記領域について、該領域を構成する
物理ブロックの記憶領域をサーチし論理ブロックと物理
ブロックとの対応関係を管理する前記テーブルをこのシ
ステムのRAM上に作成し、該テーブルを使用すること
により、論理ブロックに対応する物理ブロックを選択可
能としたことを特徴とする不揮発性半導体メモリシステ
ムの制御方法を提供する。
【0046】さらに、上記目的を達成する手段として、
本発明の第6の実施例に係る発明では、本体に対して数
種類のメモリ装置が着脱により交換可能とされた不揮発
性半導体メモリシステムの制御方法において、前記本体
に装着された前記メモリ装置に応じて、前記本体が有す
る数種類のエラー訂正手段のうちの対応するものを選択
してエラー訂正を行わせることを特徴とする不揮発性半
導体メモリシステムの制御方法を提供する。
【0047】
【発明の実施の形態】本発明の第1の実施例について詳
細に説明する。本実施例は、論理番地/物理番地変換テ
ーブルに必要なRAM領域の容量の削減を行ったフラッ
シュメモリカードについてである。
【0048】まず、繰返しになるが本発明のメモリシス
テムの、物理ブロックの構造と論理ブロックの関係につ
いて説明する。
【0049】本発明のメモリシステム物理ブロック構構
造及び物理ブロック内のデータ構成は、従来技術の項で
説明したもの同様で、図2および図4に示される。以下
に、図4を用いて、本発明のメモリシステムにおける物
理ブロック内の各々のバイトの意味を説明する。
【0050】Data Area−1は512バイトデ
ータのうち、前半の0〜255バイトでデータが格納さ
れる。Data Area−2には512バイトデータ
のうち、後半の256〜511バイトのデータが格納さ
れる。User DataAreaのデータは、ユーザ
に解放されており使用方法はユーザに一任される。Da
ta Status Areaはデータが正常か否かを
示す。通常は“FFh”だが、正常でないデータが書き
込まれている場合に“00h”が設定される。Bloc
k Status Areaはブロックが良か不良化を
示す。通常は“FFh”だが、不良ブロックの場合、
“00h”(初期不良ブロック)、“F0h”(後発不
良ブロック)が設定される。2ビット以上“0”であっ
た場合は、不良ブロックであると判断する。なお、本デ
ータは同一ブロック内では全て同じ値を書き込む。Bl
ock Address Area−1はブロックの論
理アドレス情報を示す。なお、1論理ブロックを構成す
る8セクタには512の物理ブロックのうち1物理ブロ
ックが相当するので、本データは同一ブロック内では全
て同じ値が書き込まれることになる。同様にして、Bl
ock Address Area−2はBlock
Address Area−1のデータと同じ内容が書
かれている。ECC Area−1は、偶数ページデー
タ(256バイト)の3バイトECCコードである。E
CC Area−2は、奇数ページデータ(256バイ
ト)の3バイトECCコードである。
【0051】ここで、ECCについて説明する。本実施
例では256バイト(2048ビット)単位のデータに
対しECC符号を生成する。1ビット訂正の機能を持た
せるために、256バイトに対し22ビットのECCデ
ータを使用している。256バイトは図20に示すよう
に、データに並べたものである。
【0052】即ち、1Byte目の入力のbit0が2
048bitの1bit目(アドレス;0000000
0 000)となり、256Byte目の入力のbit
7が2048bitの2048bit目(アドレス;1
1111111 111)となる。
【0053】ECCコード(ラインパリティ(LP)と
カラムパリティ(CP))は図21に示す条件を満足す
る1024ビットの奇数パリティとして算出される。
【0054】カラムパリティ−CP0〜CP5は1バイ
ト(8ビット)でデータが入力される毎に更新される。
ECC符号の生成をソフトウェアで行う場合は、1バイ
トの入力(256通り)に対してのカラムパリティ計算
結果を予めシステム内のROM上に持つ方法が考えられ
る。この方法により、ビット単位の演算が不要になり、
計算時間が大幅に短縮できる。またバイトの入力(25
6通り)に対してのカラムパリティ計算結果を電源投入
時に一括で計算し、RAM上に保持する方法も考えられ
る。前案に比較しROMは無くて済むが、代わりにRA
M領域が必要となる。
【0055】図22は、本発明の第2の実施例に係るフ
ラッシュメモリカードの電源投入時の制御フローチャー
トである。以下にフローに従い説明する。 (ステップS1) コネクタにメモリカードが挿入され
たことを受けて、電源電圧の検知を行う。 (ステップS2) メモリカードのIDコードを読み出
し、記憶容量を読みとる。 (ステップS3) もしシステムがサポートしていない
IDコードが読み出されたらリジェクトする。 (ステップS4) 物理フォーマットの確認を行う。物
理番地の先頭ブロックの情報を読む。 (ステップS5) もしシステムがサポートしていない
フォーマットがなされていればリジェクトする。 (ステップS6) 論理番地/物理番地変換テーブルを
作るとともに、次の書き込み動作で書き込みを行うため
の消去済み領域を選択する。
【0056】図23に上記ステップS6に示した電源投
入時に作成する論理番地/物理番地変換テーブルの作成
のフローチャートを示す。 (ステップS1) 論理番地/物理番地変換テーブルが
入るRAM領域をリセットする。 (ステップS2) 次のデータ書き込みに使用される消
去済みのブロックを記憶するテーブル領域をリセットす
る。 (ステップS3) 物理ブロックの1からサーチを開始
する。 (ステップS4) ブロックの冗長部を読み出す。 (ステップS5) 所定領域のデータを元に該ブロック
が正常なブロックか否かを判断する。不良ブロックの場
合以下に続く処理は不要となり、次のブロックのサーチ
に移行する。 (ステップS6) 消去済みのエリアかどうかを判断す
る。 (ステップS7) 消去済みのブロックであれば次の書
き込みの際に使用するブロックの候補としてテーブル上
に格納する。 (ステップS8) 消去済みのエリアで無ければ、論理
アドレス情報領域を抽出する。このとき、パリティチェ
ックを行い妥当性を確認する。 (ステップS9) 上記内容をもとに論理番地/物理番
地変換テーブルを作成する。 (ステップS10) 物理ブロック番号のカウントアッ
プ。 (ステップS11) 512ブロックサーチしたら終
了。
【0057】このフローにしたがって作成された論理番
地/物理番地変換テーブルを図24に示す。図24に示
す物理ブロックエリア(Physical Block Area )とは、
連続した2個の物理ブロックの集合体を意味する。例え
ば、物理ブロックエリア0とは、物理ブロック0と物理
ブロック1を示す。本テーブルでは1個の論理ブロック
に対して1個の物理ブロックエリアを割り付けている。
例えば、論理ブロック0に対し、物理ブロックエリア5
が割り振られている場合、物理ブロックの10もしくは
11が実際の論理ブロック0のデータを記憶しているこ
とになる。従って、実際にアクセスする時には、物理ブ
ロック10および11の冗長部の論理アドレスとの関連
を示すデータ領域を検索し、どちらが論理ブロック0の
データを本当に格納しているのかを判断する必要があ
る。しかし、極めて限定された領域をリードするのみで
済むため、メモリアクセスの性能に及ぼす影響はほとん
どない。
【0058】このとき、物理ブロックエリアは全体で2
56個(512/2)存在し、8ビットのデータによっ
て記述する事が可能となる。ソフトウェアの利便性に配
慮してオフセットがそのまま物理ブロックを指し示す様
にテーブルを構成すると、1ブロックに対して1バイ
ト、計0.5KBのRAM領域が必要となる。例えば、
論理ブロック5の情報が格納されている物理ブロックエ
リアの番地はテーブルの先頭からオフセット5バイト目
に格納される。
【0059】この0.5KBのRAM容量は、従来必要
であった1KBのRAM容量に対し半分となる。汎用C
PUは通常1KB程度のRAM領域をもっているが、本
実施例によって得られた0.5KBのRAM領域の削減
は非常に大きな役割をしめる。
【0060】すなわちコストアップを招く外付けRAM
を設けなくても、本実施例によって得られた0.5KB
の空き領域を使用する事によってシステムを構成する事
が可能となりコストダウンをはかることができる。
【0061】また、上記実施形態に限らず、物理ブロッ
クエリアとして4物理ブロックを定義しても良いし、さ
らに大きなブロック数を想定しても構わない。
【0062】図25は本実施例に係るフラッシュメモリ
カードの読み出し時の動作フローチャートである。以下
にフローに従い説明する。 (ステップS1) 読み出しを行う先頭セクタアドレス
と転送セクタ数をホストから受け取る。 (ステップS2) 読み出し範囲が、妥当な範囲か検証
する。 (ステップS3) セクタを論理ブロックに変換。16
Mビット品の場合は1ブロック8セクタ構成なので8で
割ることになる。 (ステップS4) 論理番地/物理番地変換テーブルを
参照し、該当論理ブロックが存在する物理ブロックエリ
アを得る。 (ステップS5) ブロックエリアにある2個の物理ブ
ロックの論理アドレス情報領域を調べ、いずれがホスト
の指定した論理ブロックのデータを格納しているかを調
べる。 (ステップS6) 特定された物理ブロックから1セク
タ分データを読み出す。例えばセクター番号が0の時
は、物理ブロックの先頭2ページのデータを読み、例え
ばセクター番号が7の時は、物理ブロックの最終2ペー
ジのデータを読む。1個の物理ブロックの中では、8個
のセクタのデータが順番に並んでいる。 (ステップS7) 読み出したデータに対しエラーチェ
ックを行い、エラーが無いか確認する。 (ステップS8) エラーが検出されたら、訂正可能か
否かを判断する。 (ステップS9) エラーが検出され、なおかつ訂正可
能な場合データを訂正する。 (ステップS10) ホストが要求したセクタ数を読み
出したら終了する。 (ステップS11) 次の読み出しセクターが物理ブロ
ックの境界を越えるかどうかを判断する。例えば、セク
ター7から8に移行する場合、データは各々異なる物理
ブロックに存在するため、新たに論理番地/物理番地変
換テーブルを再度参照する。 (ステップS12) 同一ブロック内で読み出しを継続
する場合は、読み出すページのカウントアップする。 (ステップS13) 別のブロックへ移動する場合は、
論理ブロックをカウントアップし、ページのカウントも
リセットする。
【0063】次に、本実施例の書込み時の動作について
説明する。書き込みは基本的に次の3部分の処理に大別
される。例えば、論理セクタ3を書き換える場合例に説
明する。更新はセクタ3のみだが、セクタ0から7の8
セクタ分のデータは同一ブロック上に存在するので、1
ブロックに対する処理が必要になる。
【0064】第1に、論理セクタ0.1及び2に関して
は、データの更新は無ので、論理セクタ0、1及び2の
データは、元々格納されていた論理ブロックから新しく
書き込みを行う物理ブロックへコピーされる。
【0065】第2に、論理セクタ3は更新するので、元
のデータをコピーする必要はなく、ホストから与えられ
たデータを新たに書込みを行うブロックへ書き込む。
【0066】第3に、論理セクタ4〜7はデータの更新
はないので、論理セクタ4〜7のデータは、元々格納さ
れていた物理ブロックから新しく書き込みを行う物理ブ
ロックへコピーする。
【0067】以上のように、1ブロックに対して、コピ
ー/更新データ書き込み/コピーの動作が基本となる。
勿論、書き込みがセクタ0〜7の様な場合は、1ブロッ
ク分全てのデータが更新されるのでコピー動作は不要と
なることは自明である。以下に示すフローチャートの分
岐は主にこれから書き込むセクタが更新データか、もし
くはコピー動作なのかを判断しながら進行することにな
る。
【0068】図26は本実施例に係るフラッシュメモリ
カードの書き込み時の動作フローチャートである。以下
にフローに従い説明する。 (ステップS1) ホストからデータの更新を行う先頭
セクタ番地と転送セクタ数を受け取る。 (ステップS2) 論理ブロック番号に変換し、論理番
地/物理番地変換テーブルを参照する。読み出し動作と
同様に論理ブロックエリアの2個のブロックから本当の
物理ブロックを選択する。ここで選択したブロックから
コピーすべきデータを吸い上げることになる。 (ステップS3) 物理ブロックの先頭から処理を開始
する。 (ステップS4) ブロック前半のコピー動作かもしく
はデータの更新かを判断する。 (ステップS5) コピーであれば、元ブロックからデ
ータを読み出し、新ブロックに書き込みを実行する。 (ステップS6) 次のセクタの処理に移行する。 (ステップS7) (ステップS4)で更新領域と判断
されたら、ホストから受け取った更新データを基に書き
込みを行う。 (ステップS8) 次のセクタの処理に移行する。 (ステップS9) ホストが要求するセクタ数書き込ん
だか確認する。 (ステップS10) (ステップS9)で要求数の書き
込みが終了したと判断された場合、ブロックの境界か否
かを判断する。未書き込みの領域が残っていれば、ブロ
ック後半のコピー動作に移行。ブロック境界であれば、
これ以上コピー動作を実行する必要はない。 (ステップS11) 元のブロックからデータを読み出
し、新ブロックに書き込む。 (ステップS12) 次のセクタの処理に移行する。 (ステップS13) (ステップS4)でホストの要求
するセクタ数の書き込みが終了していない場合は更なる
書き込みが必要だが、ブロック境界であれば、次の物理
ブロックに対する処理に移行する。 (ステップS14) 次にブロック処理に移行または、
処理を終了する前に、書き込みを行った結果をもとに論
理番地/物理番地変換テーブルの更新を行い、さらに元
データが存在した物理ブロックを消去し、次の処理での
新たな書き込み領域としての候補領域として登録する。 (ステップS15) 次のブロックの処理に移行する。
【0069】以上に述べたように、本実施例のメモリシ
ステムの制御方法によれば、RAM領域の大幅な削減が
実現できる。これは、従来のメモリカードシステムは論
理番地/物理番地変換テーブルで必要なRAM容量が大
きく、汎用CPUの内蔵RAMのみではシステム構成が
できず、外づけのRAMを設けることが条件となってい
たに対して、本発明のメモリカードシステムは論理番地
/物理番地変換テーブルとして必要なRAMの容量を低
減し、汎用CPUの内蔵RAMのみ制御可能としたフラ
ッシュメモリを制御する方法を用いるからである。この
ことにより、従来必要であった外付けRAMを不要と
し、大幅なコストダウンを実現することが可能となる。
【0070】次に、本発明の第2の実施例について詳細
に説明する。本実施例はDOSフォーマット形式で用い
た場合に、データの書き換え動作を高速化したフラッシ
ュメモリカードについてである。
【0071】図27に本実施例によるDOSフォーマッ
トパラメータを示す。ここでは、図27(a)として、
クラスタサイズ4KBの場合、図27(b)としてクラ
スタサイズが8KBの場合を示している。クラスタサイ
ズが4KBの場合、論理セクタ0にマスターブートセク
タ、論理セクタ19にブートセクタ、論理セクタ20〜
25にFAT、論理セクタ26〜31にFATのコピ
ー、論理セクタ32〜47にディレクトリー、論理セク
タ48以降にファイルデータ領域が配置されている。ク
ラスタサイズが8KBの場合、論理セクタ0にマスター
ブートセクタ、論理セクタ25にブートセクタ、論理セ
クタ26〜28にFAT、論理セクタ29〜31にFA
Tのコピー、論理セクタ32〜47にディレクトリー、
論理セクタ48以降にファイルデータ領域が配置されて
いる。このように、クラスタサイズが4KBおよび8K
Bの場合とも、クラスタの区切れが物理的なブロックの
区切れをまたがないようパラメータが設定されている。
これは、DOSフォーマットパラメータの内、ブートセ
クタの配置される場所を調整することにより実現でき
る。
【0072】まず、図28を用いて、クラスタサイズ4
KBの場合を例に書き込みシーケンスを説明する。クラ
スタサイズは4KBなので、連続した8セクタ分の書き
込み命令がOSから発行される。このとき論理セクタの
48〜55(クラスタA)に対する書き込み(データ更
新)が発生する。 1) 消去済み新領域を探し、論理セクタ48〜55ま
での新データを新領域NAND BlockCに書き込む 2) 論理セクタ56〜63の元データを新領域NAND B
lockCにコピーする。 3) 元ブロックNAND BlockBを消去する。 4) 論理番地/物理番地変換テーブルの更新。
【0073】従って、外部からみて8セクタの書き換え
を実施した場合、実際デバイスとしては、論理セクタ4
8〜63の合計16セクタ(16ページ)の書き込み動
作と、NAND BlockBの1ブロックに対する消去動作が実
施されたことになる。
【0074】次に、図29を用いて、またクラスタBに
対する書き込みシーケンスを説明する。この場合論理セ
クタの56〜63(クラスタB)に対する書き込み(デ
ータ更新)が発生する。 1) 消去済み新領域を探し、論理セクタ48〜55ま
での元データを新領域NAND BlockCにコピーする。 2) 論理セクタ56〜63の新データを新領域NAND B
lockCに書き込む。 3) 元ブロックNAND BlockBを消去する。 4) 論理番地/物理番地変換テーブルの更新。
【0075】従って、外部からみて8セクタの書き換え
を実施した場合、実際デバイスとしては、論理セクタ4
8〜63の合計16セクタ(16ページ)の書き込み動
作と、NAND BlockBの1ブロックに対する消去動作が実
施されたことになる。
【0076】次に、図30を用いて、クラスタサイズ8
KBの場合を例に書き込みシーケンスを説明する。クラ
スタサイズは8KBなので、連続した16セクタ分の書
込み命令がOSから発行される。このとき論理セクタの
48〜63(クラスタA)に対する書き込み(データ更
新)が発生する。 1) 消去済み新領域を探し、論理セクタ48〜63ま
での新データを新領域NAND Block Cに書き込む。 2) 元ブロックNAND BlockBを消去する。 3) 論理番地/物理番地変換テーブルの更新。
【0077】従って、外部からみて16セクタの書き換
えを実施した場合、実際デバイスとしては、論理セクタ
48〜63の合計16セクタ(16ページ)の書き込み
動作と、 NAND Block Bの1ブロックに対する消去動作
が実施されたことになる。
【0078】上記クラスタが4KBのものと8KBの場
合を同じ8KBのデータが書き込まれる場合を想定し比
較すると、クラスタサイズが4KBの場合は、2回の書
き込みに処理が分割され合計32セクタの書き込みおよ
び2ブロック分の消去動作が発生する。これに対し、ク
ラスタサイズが8KBの場合は、1回の書き込みに処理
が集約され合計16セクタの書き込みおよび1ブロック
分の消去動作が発生することになる。
【0079】図12〜図15に示した従来のメモリシス
テムの書き換え速度と比較すると、クラスタが4KBの
場合では、8KBのデータを更新するのに48セクタの
書き込みおよび3ブロック分の消去動作が発生していた
ものが、32セクタの書き込みおよび2ブロック分の消
去動作となり、時間的に2/3に短縮されたことにな
る。また、クラスタが8KBの場合では、8KBのデー
タを更新するのに32セクタの書き込みおよび2ブロッ
ク分の消去動作が発生していたものが、16セクタの書
き込みおよび1ブロック分の消去動作となり、時間的に
1/2に短縮されたことになる。
【0080】このように、DOSのファイル管理の単位
であるクラスタの区切れが、フラッシュメモリの物理的
なブロックの境界をまたがないことにより、書き換え速
度の高速化がはかれる。
【0081】また、クラスタのサイズに着目するとクラ
スタが4KBの場合では、8KBのデータを更新するの
に32セクタの書き込みおよび2ブロック分の消去動作
が発生していたものが、クラスタが8KBの場合では1
6セクタの書き込みおよび1ブロック分の消去動作とな
り、時間的に1/2になる。すなわち、クラスタのサイ
ズをフラッシュメモリの物理ブロックのサイズと同じに
することによってより高速な書き込みが可能となる。勿
論、クラスタのサイズがフラッシュメモリの物理ブロッ
クのサイズの整数倍の場合も同様の効果を得ることがで
きる。
【0082】次に、本発明の第3の実施例について詳細
に説明する。本実施例は消去後の書込みコマンド実行時
の処理速度を向上させたのフラッシュメモリカードにつ
いてである。
【0083】本実施例のフラッシュメモリカードシステ
ムは、通常DOSのファイルシステムにおけるファイル
消去と異なり、ディレクトリ上に該当ファイルが無効で
ある旨のマーキングを行い、該当ファイルが占有してい
たメモリ領域をFAT(FileAllocation Table )上で
開放するのみならず、ファイル本体のデータ部分をフラ
ッシュメモリ上で消去することを特徴とする。すなわち
ファイルの消去命令時に、開放されたクラスタの領域に
対する消去動作を実施する。
【0084】図31に消去コマンド実行時の管理領域と
データ領域の関係を示す。図31において、例えばFi
le−1とFile−4の消去コマンドを実行した場
合、管理領域のFile−1とFile−4が開放され
del.markがマーキングされ、さらにデータ領域
においてFile−1とFile−4が記憶されていた
領域は消去される。
【0085】従って、次に新たなファイル書き込み命令
が発生したときに選択されるクラスタは既に消去済みで
あるので、即座に書き込みが可能となり、ファイル書き
込み速度が向上する。一般にフラッシュメモリにおいて
は書き込みより消去の方が時間がかかるため、本実施例
によって達成されるファイル書き込み速度の向上効果は
顕著である。
【0086】また本実施例における効果が最も顕著に現
れる条件は上述した第2の実施例から分かる様に、クラ
スタサイズとフラッシュメモリのブロックサイズを一致
させた場合である。クラスタサイズがフラッシュメモリ
のブロックサイズより小さい場合は、ブロックの一部分
を消去することになるが、処理が煩雑であることに加
え、仕様上ブロックの一部分のみが消去されている状態
を許さない場合もある。クラスタサイズとブロックサイ
ズが一致していれば、単純にブロックを消去する事によ
ってクラスタを開放できる。勿論クラスタサイズが物理
ブロックサイズの整数倍の場合も同様の効果が得られ
る。
【0087】また、本実施例はその主旨を変えない範囲
で様々拡張が可能である。例えば、本実施例では、ファ
イル消去時にデータ領域の該当するクラスタへの消去動
作を実行したが、消去動作の実行タイミングはそれに限
られない。例えば、フォーマット動作を実行する時点で
全クラスタの消去動作を実行しても良い。勿論メモリカ
ードの出荷時点でデータ領域のクラスタを消去済みの状
態で出荷すると良い。通常メモリカードの出荷時にはメ
モリカードの出荷試験を実施する。このテスト終了時に
ディレクトリーおよびFATの書き換えによって、ファ
イルが無い状態にするだけでなく、本実施例のようにデ
ータ領域の消去動作を実行しておくと、エンドユーザー
の手に渡った時点で、ユーザーが手を加えることなく高
速なファイル書き込みが期待できる。
【0088】さらに例えばデジタルスチルカメラ等で使
用する場合を考えると、カメラ上でのファイルの消去、
再フォーマット等の画像ファイルの消去を伴う動作時に
おいて、FAT等の書換のみならず、ファイル本体が格
納されていたクラスタ領域の消去を同時に実行すれば、
その後の画像書き込みシーケンスにおいて、高速書き込
みが可能となり、連写や動画の取り込み等が可能とな
る。この際には、クラスタサイズがデバイスのブロック
サイズの正数倍で、クラスタの区切れがブロックサイズ
の区切れと一致しているとファイル本体部分の消去が容
易となる。またデジタルカメラ等で電源の投入時等に自
動的に不要なファイル部分を消去するようにしても良
い。こうすれば、パソコン上で単純にFAT等の更新に
よってファイル消去がなされていたメモリカードに対し
ても、ユーザーの手を煩わせることなく書き込み高速化
が計れる。またそのタイミングは電源投入時にのみなら
ずいつでもかまわない。また、本発明はコンピュータシ
ステム上等で本メモリカードを使用する場合も同様の手
段により書き込みの高速化が計れる。
【0089】また、本実施例によれば、データの書換時
に発生する、消去および書き込み回数を減らすことが可
能なため、一般的に書換回数に制限のあるフラッシュメ
モリを使用する場合には、メモリの寿命をのばす効果も
有する。
【0090】以上に述べたように、本実施例のメモリシ
ステムの制御方法によれば、DOSのファイル管理の単
位であるクラスタの区切れが、フラッシュメモリの物理
的なブロックの境界をまたがないことにより、データの
書換時に発生する消去および書き込み回数を減らすこと
が可能なため、書き換え速度の高速化が可能となる。さ
らに、一般的に書換回数に制限のあるフラッシュメモリ
を使用する場合には、メモリの寿命をのばすことも可能
となる。
【0091】次に、本発明の第4の実施例について詳細
に説明する。本実施例は、論理番地/物理番地変換テー
ブルに必要なRAM領域の容量の削減を行ったフラッシ
ュメモリカードについてである。
【0092】本実施例では、論理番地/物理番地変換テ
ーブル作成に際し、ホストからのアクセスを2種類に分
類する。例えば、ケース1は論理ブロック500個の
内、前半の250個の論理ブロックをアクセスしている
状態、ケース2は論理ブロック500個の内、後半の2
50個の論理ブロックをアクセスしている状態とする。
ケース1の場合は、論理番地/物理番地変換テーブルに
は前半250ブロック分のテーブルを保持させ、上記ケ
ース2の場合は、論理番地/物理番地変換テーブルは後
半250ブロック分のテーブルを保持させる。ケース1
の場合のテーブルの状態を図32(a)に示し、ケース
2の場合のテーブルの状態を図32(b)に示す。
【0093】ある瞬間、テーブル上に論理ブロックの前
半250個分のテーブルが存在していたとすると、ホス
トからのアクセス範囲が論理ブロックの後半0〜249
ならば、既存のテーブルを使用して論理ブロック−物理
ブロックの対応を検索することができる。
【0094】同様にある瞬間、テーブル上に論理ブロッ
クの後半250個分のテーブルが存在していたとする
と、ホストからのアクセス範囲が論理ブロックの後半2
50〜499ならば、既存のテーブルを使用して論理ブ
ロック−物理ブロックの対応を検索することができる。
【0095】次に、ある瞬間、テーブル上に論理ブロッ
クの前半250個分のテーブルが存在していたとし、ホ
ストからのアクセス範囲が論理ブロックの後半250〜
499ならば、既存のテーブルを使用して論理ブロック
−物理ブロックの対応を検索することができない。従っ
てこの場合は、論理ブロックの後半250個分に相当す
る論理番地/物理番地変換テーブルを作り直す。これに
はフラッシュメモリの全領域の再度の参照が必要とな
る。
【0096】同様に、ある瞬間、テーブル上に論理ブロ
ックの後半250個分のテーブルが存在していたとし、
ホストからのアクセス範囲が論理ブロックの前半0〜2
49ならば、既存のテーブルを使用して論理ブロック−
物理ブロックの対応を検索することができない。従って
この場合は、論理ブロックの前半250個分に相当する
論理番地/物理番地変換テーブルを作り直す。これには
フラッシュメモリの再度の参照が必要となる。
【0097】このように、ホストからアクセスした領域
に相当する論理番地/物理番地変換テーブルがRAM上
になければ再度フラッシュメモリの全領域を参照し必要
な論理番地/物理番地変換テーブルを作りなおす。
【0098】この場合の論理番地/物理番地変換テーブ
ル作成のフローチャートを図33に示す。 (ステップS0) アクセスの最初で既に必要な論理番
地/物理番地変換テーブルの有無を確認し必要であれば
テーブル作成ルーチンへ移行。 (ステップS1) 論理番地/物理番地変換テーブルが
入るRAM領域をリセットする。 (ステップS2) 物理ブロックの先頭からサーチを開
始する。 (ステップS3) ブロックの冗長部を読み出す。 (ステップS4) 所定領域のデータを元に該ブロック
が正常なブロックか否かを判断する。
【0099】不良ブロックの場合以下に続く処理は不要
となり、次のブロックのサーチに移行する。 (ステップS5) 消去済みのエリアかどうかを判断す
る。 (ステップS6) 消去済みのブロックであれば次の書
き込みの際に使用するブロックの候補としてテーブル上
に格納する。 (ステップS7) 消去済みのエリアで無ければ、論理
アドレス情報領域を抽出する。 (ステップS8) 上記内容をもとに論理番地/物理番
地変換テーブルを作成する。 (ステップS9) 物理ブロック番号のカウントアッ
プ。 全ブロックサーチしたら終了。
【0100】以上のような動作で必要に応じ論理番地/
物理番地変換テーブルを作成する。
【0101】また本発明は上記実施例にかぎられない。
主旨を逸脱しない範囲で種々変更が可能である。
【0102】例えば本実施例では、フラッシュメモリを
前半、後半の2分割したが、分割の数は2個に限定され
ず、任意の数に分割できる。
【0103】また本実施例ではフラッシュメモリを前
半、後半の等しい大きさに分割したが、本発明はこれに
限られない。このように分割の個数、また大きさは自由
度を有する。
【0104】3個以上の領域に分割した際、常に1個の
みのテーブルを保持する必要はない。たとえば本フラッ
シュメモリカードがDOSのデバイスとして、画像ファ
イル等を格納する場合を考えてみる。通常デバイスの先
頭には、ファイルの管理領域、すなわちマスターブート
セクタ、パーティションブートセクタ、ファイル・アロ
ケーション・テーブル(FAT)、ディレクトリ領域が
存在する。これらのファイル管理領域はファイルの更新
が行われたり、アクセスされるたび頻繁にアクセスされ
る領域である。この場合このファイル管理領域に相当す
るエリアを1個の領域、その他のファイルデータ格納領
域を2分割する。ファイル管理領域に相当する領域の論
理番地/物理番地変換テーブルは、常に保持するように
しても良い。この場合、論理アドレスの後半部分にファ
イルを書き込む動作を行う際、ファイル管理領域と論理
アドレス後半のテーブルを交互に頻繁に作り直す必要は
なくなるので性能の劣化が防げる。ここでファイルの管
理領域と記述したが、ファイル管理領域以上の領域に対
しテーブルを常に保持すれば同様の効果が得られる。
【0105】以上に述べたように本実施例によれば、論
理ブロックと物理ブロックの対応関係のすべてをRAM
上に常時保持するのではなく、ホストからのアクセスに
応じて必要な領域のみの対応関係をシステム内のRAM
上に逐次作成するので、全領域の対応関係を常時RAM
上に保持する場合に比べ、システムとして最低限必要な
RAM領域を低減でき、これまで不可能であった汎用C
PUの内蔵RAMのみでメモリを制御することが可能と
なり、外付けRAMを有していた従来のケースに対して
大幅なコスト削減が可能となる。
【0106】次に、本発明の第5の実施例について詳細
に説明する。本実施例は、論理番地/物理番地変換テー
ブルに必要なRAM領域の容量の削減を行ったフラッシ
ュメモリカードについてである。
【0107】本実施例では、フラッシュメモリの物理ブ
ロックアドレスを複数の論理的な領域(以下ゾーンと呼
ぶ)に分割する。このとき各ゾーンに割り当てられる物
理ブロック数、すなわちゾーン毎の容量は均一であって
も、不均一であってもかまわない。またゾーンの数は1
個であっても複数個であってもかまわない。また偶数個
であっても奇数個であってもかまわない。
【0108】図34は、16MビットNAND型フラッ
シュメモリを2つの均等な容量のゾーンに分割した場合
の物理ブロックの構造と論理アドレスと物理アドレスの
関係を示した図である。
【0109】ホストが該フラッシュメモリを制御する場
合に、必要となる論理ブロック数は500個と定義さ
れ、論理ブロックアドレス0〜499の値をとる。物理
ブロックの冗長部には自分がどの論理ブロックに対応す
るデータを保持しているかを示す論理ブロックアドレス
情報が格納されるが、本実施例では、論理ブロックアド
レスは、ゾーン毎に0からシリーズに付与される。従っ
て、ゾーン1には論理ブロックアドレス0〜249が割
り当てられ、それぞれの論理ブロックは物理ブロックア
ドレス0〜255の256個の物理ブロックのいずれか
に対応する。また物理ブロックの冗長部に格納される論
理ブロックアドレスは0〜249のいずれかが格納され
る。また、ゾーン2には論理ブロックアドレス250〜
499が割り当てられ、それぞれの論理ブロックは物理
ブロックアドレス256〜511の256個の物理ブロ
ックのいずれかに対応する。また物理ブロックの冗長部
に格納される論理ブロックアドレスは0〜249のいず
れかが格納される。
【0110】データ更新時の追加書き込み方式は、更新
対象となる論理ブロックアドレスを含むゾーン内で行わ
れ、ある論理ブロックに対応するデータが存在する物理
ブロックは、固定では無く、常に各ゾーン内で移動して
いる。
【0111】本実施例では、通常は電源投入時に、ゾー
ン内の全物理ブロックの冗長部に格納された論理ブロッ
クアドレス情報をサーチし、システムRAM上に論理ブ
ロックと物理ブロックの変換テーブルを作成するが、R
AM上に作成するゾーンは、どのゾーンについて行って
もかまわない。通常、該フラッシュメモリがDOS管理
下で使用される場合、管理情報であるFATや、ディレ
クトリ領域等が最初のゾーンに置かれるため、先頭のゾ
ーンについてテーブルを作成すると効率が良い。またR
AM上に作成するテーブルは1ゾーンに制限されず、R
AM容量が許されるのであれば、複数ゾーン分作成して
もかまわない。
【0112】ホストからアクセス要求に対する変換テー
ブルの作成過程について以下に説明する。物理ブロック
アドレス0〜255を包括する領域を設定し、ゾーン1
と呼ぶ。また物理ブロックアドレス256〜511を包
括する領域を設定し、ゾーン2と呼ぶことにする。ホス
トは現在RAM上に作成されている変換テーブルがどの
ゾーンのものであるかを覚えている。
【0113】RAM上にゾーン1の変換テーブルが作成
されており、論理ブロックアドレス128に対するアク
セス要求が来た場合の手順を以下に説明する。 (1)論理ブロックアドレス128−250×(n-1 )
<250となるようなnを求めるとn=1である事か
ら、ゾーン1の変換テーブルが必要であることが分か
る。 (2)RAM上にある変換テーブルがゾーン1である
為、テーブルの作成は行わない。 (3)変換テーブル上のアドレスは0〜249の値をと
るため、ホストが要求した論理ブロックアドレス128
から、変換テーブル上の参照すべきアドレスを求める。
128−250×(1-1 )=128より、変換テーブル
上のアドレス128に対応する物理ブロックアドレスに
対しアクセスすればよい。 (4)書き換えが発生した場合は変換テーブルを更新
し、次のアクセスに備える。
【0114】次に、RAM上にゾーン1の変換テーブル
が作成されており、論理ブロックアドレス324に対す
るアクセス要求がきた場合の手順を以下に説明する。 (1)論理ブロックアドレス324−250×(n-1 )
<250となるようなnを求めるとn2である事から、
ゾーン2の変換テーブルが必要であることが分かる。 (2)RAM上にある変換テーブルがゾーン1である
為、ゾーン2に包括された物理ブロックアドレス256
〜511の冗長部の論理ブロックアドレス情報をサーチ
し、RAM上にゾーン2の変換テーブルの作成を行う。 (3)変換テーブル上のアドレスは0〜249の値をと
るため、ホストが要求した論理ブロックアドレス324
から、変換テーブル上の参照すべきアドレスを求める。
324−250×(2-1 )=74より、変換テーブル上
のアドレス74に対応する物理ブロックアドレスに対し
アクセスすればよい。 (4)書き換えが発生した場合は変換テーブルを更新
し、次のアクセスに備える。以上のように、アクセスす
る論理ブロックに応じて、変換テーブルを作成すること
で、従来より、RAM領域を容易に小さくすることが可
能である。システムRAM上にゾーン2のテーブルが作
成されている場合も、同様の過程で容易に目的のアドレ
スにアクセスすることができる。
【0115】論理番地/物理番地変換テーブルを作成す
るときに、RAM上に論理ブロックと物理ブロックの変
換テーブルを作成するが、このとき、作成するゾーンN
O.が分かっているため、変換テーブル上の物理ブロッ
クアドレスは0〜255の値を取ればよい。実際に物理
ブロックにアクセスするときは、OFFSETとして、
変換テーブル上の物理アドレスに256×ゾーンNO.
を加える事で、容易にフラッシュメモリに入力すべき新
の物理ブロックアドレスを得る事ができる。
【0116】16MビットNAND型フラッシュメモリ
を用いた場合、従来制御方法では、物理ブロックアドレ
スを表すために9ビット必要であり、ソフトの利便性か
らは、2バイトを費やしていた。本実施例では、図35
に示すように、物理ブロックアドレスを表すには8ビッ
トあればよく、1バイトで済む。したがって、従来1k
バイト必要であったRAM容量は半分に節約できる。論
理ブロックアドレスが増加すると、当然、論理番地/物
理番地変換テーブルの容量はそれにともなって増加する
ため、本実施例の効果はフラッシュメモリの容量が大き
くなるほど、大きく貢献する。
【0117】また、本実施例によれば、図11に示した
物理ブロックの冗長部のBlockAddress A
reaに格納可能なブロックアドレスで、大容量のフラ
ッシュメモリシステムを制御可能とする。すなわち、1
つのゾーンを上記冗長部のBlock Address
Areaに格納可能なブロックアドレス値の物理ブロ
ックで構成されるように分割すれば、大容量の論理アド
レスに対応可能となる。
【0118】図36は、16MビットNAND型フラッ
シュメモリを4つの均等な容量のゾーンに分割した場合
の物理ブロックの構造を示した図である。
【0119】ホストが該フラッシュメモリを制御する場
合に、必要となる論理ブロック数は500個と定義さ
れ、論理ブロックアドレス0〜499の値をとる。物理
ブロックの冗長部には自分がどの論理ブロックに対応す
るデータを保持しているかを示す論理ブロックアドレス
情報が格納されるが、本実施例では、論理ブロックアド
レスは、ゾーン毎に0からシリーズに付与される。これ
らの論理ブロックアドレスに対応する物理ブロックアド
レスは下記のようになる。ゾーン1には論理ブロックア
ドレス0〜124が割り当てられ、それぞれの論理ブロ
ックは物理ブロックアドレス0〜127の128個の物
理ブロックのいずれかに対応する。ゾーン2には論理ブ
ロックアドレス125〜249が割り当てられ、それぞ
れの論理ブロックは物理ブロックアドレス128〜25
5の128個の物理ブロックのいずれかに対応する。ゾ
ーン3には論理ブロックアドレス126〜374が割り
当てられ、それぞれの論理ブロックは物理ブロックアド
レス256〜383の128個の物理ブロックのいずれ
かに対応する。ゾーン4には論理ブロックアドレス38
4〜499が割り当てられ、それぞれの論理ブロックは
物理ブロックアドレス384〜511の128個の物理
ブロックのいずれかに対応する。
【0120】データ更新時の追加書き込み方式は、書き
込み要求の発生した論理ブロックが存在するゾーン内の
みで行われ、ある論理ブロックアドレスに対応するデー
タが格納された物理ブロックアドレスは、固定では無
く、常にゾーン内で移動している。それぞれの物理ブロ
ックの冗長部には自分がどの論理ブロックアドレスのデ
ータを保持しているかを示す論理ブロックアドレス情報
を格納している。
【0121】上述のように、各ゾーンには125個の論
理ブロックが割り当てられ、また128個の物理ブロッ
クが割り当てられる。以上のように物理ブロックを4つ
のゾーンに分割した場合も、2つのゾーンに分割した時
同様の効果を有する。
【0122】次に、本実施例のリダンダンシー動作につ
いて、上記物理ブロック4つのゾーンに分割した場合を
例に説明する。
【0123】本実施例の説明に先立って、ゾーン分割を
行わない従来のフラッシュメモリのリダンダンシー動作
について、16MビットNAND型フラッシュメモリを
例に説明する。図2に示すように、16MビットのNA
ND型フラッシュメモリは512個の物理ブロックを有
するが、図3に示すように、ホストから見た論理ブロッ
クは500個に規定される。またPCカードATAイン
ターフェースを容易に構築するための情報を格納するた
めに1ブロック、追加書き込み方式を採用しているため
に1ブロック必要となる。従って本フラッシュメモリを
制御する場合502個のブロックが必要となる。従って
16MビットのNAND型フラッシュメモリでは10個
までの不良ブロックの存在は許される。
【0124】しかし、フラッシュメモリには書き換え回
数の上限が存在し、使用中に不良ブロックが発生するこ
とがあり、十分な記憶領域を確保するために、不良ブロ
ックが発生した場合の、置換先として、書き込み、消去
可能な有効ブロックを持っておく必要がある。また、1
0個以上の不良ブロックを有するフラッシュメモリにつ
いては、出荷時の容量が十分に無いことから出荷でき
ず、製品歩留まりを下げるという問題も発生する。
【0125】このため、有効ブロック数を多く確保し、
使用中の不良ブロックの発生に備えると共に、出荷時の
製品歩留まりを向上させるために、16MビットNAN
D型フラッシュメモリには、512個の本体ブロックの
他に複数の冗長ブロックが設けられている。この冗長ブ
ロックは出荷前に、冗長回路により、512個の本体ブ
ロック中に発生している、不良ブロックと、ハード的に
置き換えられる。冗長回路を使用すると、冗長ブロック
は、不良ブロックのアドレスに割り付けられる。ハード
的な置き換え後は、不良ブロックが存在したアドレスを
選択すると、置き換えられた冗長ブロックが選択される
ようになる。ここで、冗長ブロックは無限にあるわけで
はないため、出荷時に、置き換えきれなかった不良ブロ
ックは、先天性不良ブロックとして扱われる。また、ユ
ーザーの使用中に発生した不良ブロックは、後天性不良
ブロックとして扱われる。この先天性不良ブロックと後
天性不良ブロックは上記有効ブロックによって救済され
る。
【0126】通常、本体ブロックと冗長ブロックとの置
き換えを行う場合、冗長回路を使用し、ハード的に置き
換えが行われるが、図37に示したように、置き換え作
業の利便性から、ブロックアドレスの小さい不良ブロッ
クから順に連続的に、あるいは、ブロックアドレスの大
きい不良ブロックから順に連続的に置き換えが行われ
る。従って、ブロックの置き換え後は、ブロックアドレ
スの小さい方から、あるいはブロックアドレスの大きい
方から連続的に書き込み、消去可能なブロックが存在し
ている。
【0127】このように、従来のフラッシュメモリの制
御方法では、上述したように512個の物理ブロックに
対し、論理ブロックが500個、PCカードATAイン
ターフェースを容易に構築するための情報を格納するた
めに1ブロック、追加書き込み方式を採用しているため
に空き領域として1ブロック必要であったため、都合、
502個の書き換え可能なブロックがあれば制御可能で
あった。従って、従来の制御方法では、512個の物理
ブロックに対し、10個の不良ブロックが許されてい
た。
【0128】次に、本実施例のリダンダンシー動作につ
いて説明する。ゾーン1について考えると、PCカード
ATAインターフェースを容易に構築するための情報を
格納するために1ブロック、追加書き込み方式を採用し
ているために空き領域として1ブロック必要となる。従
って、125個の論理ブロックに対し、127個の書き
換え可能な物理ブロックが必要となり、ゾーン内で許さ
れる、書き換え不可能な不良ブロックは1個までとな
る。ゾーン2〜4については追加書き込み用の空きブロ
ックとして、1ブロック余分に必要であることから、1
26個の書き換え可能な物理ブロックが必要となり、ゾ
ーン内で許される、書き換え不可能な不良ブロックは2
個までとなる。以下、説明を容易にするため、1〜4ゾ
ーンに対し、許される不良ブロック数はそれぞれ1個と
する。従って、従来制御方法で許容された不良ブロック
数のスペックに対し、非常に厳しくなる。
【0129】図36に示す16MビットNAND型フラ
ッシュメモリにおいて、例えば、ブロックアドレス2,
5,129,131,132,385,389の7ブロ
ックが不良ブロックであり、このフラッシュメモリは4
個の冗長ブロックを有しているとする。図36に示すよ
うに、冗長回路を使用し、従来のようにブロックアドレ
スの小さい不良ブロックから順に、冗長ブロックと置き
換えた場合、置き換え後の不良ブロックは物理ブロック
アドレス132、385、389の3個のブロックとな
り、これらは先天性ブロックとし、該ブロックの冗長部
に先天性不良ブロックのマークがつけられる。ここで従
来の制御方法では、先天性不良ブロックは10個まで許
されたため、該フラッシュメモリを制御する上で特に問
題はない。しかしゾーンに分割して制御することを前提
とした場合、ゾーン4には物理ブロックアドレス38
5、389の2個の不良ブロックが存在するため制御を
行えず、この製品は出荷できなくなる。
【0130】このように、本実施例のフラッシュメモリ
において、不良ブロックがあった場合、本体の不良ブロ
ックと冗長ブロックとの置き換えを、従来のフラッシュ
メモリ同様、単に置き換え作業の利便性から、ブロック
アドレスの小さい不良ブロックから順に連続的に、ある
いは、ブロックアドレスの大きい不良ブロックから順に
連続的に置き換えを行うと、必要な良ブロックが確保で
きず、使用できないゾーンが発生する可能性が高くな
る。
【0131】このため、本実施例では、フラッシュメモ
リがゾーンに分割され制御される場合、全てのゾーンが
有効ブロック数を満たすよう、各ゾーンに存在する不良
ブロックと冗長ブロックとの置き換えを行う。
【0132】図38は、ゾーン毎に存在する不良ブロッ
クが、各ゾーンで許される不良ブロック数を越えないよ
うに、冗長ブロックとの置き換えを行った場合の物理ブ
ロックの状態を示す図である。図38のフラッシュメモ
リも、図36に示したもの同様、ブロックアドレス2,
5,129,131,132,385,389の7ブロ
ックが不良ブロックと、4個の冗長ブロックを有してい
る。従来の置き換え方法では出荷できなかったものが、
良品として出荷できることが分かる。置き換え手順の一
例を以下に説明する。
【0133】(1)ゾーン1〜ゾーン4までをサーチ
し、以下の変数の値を求める。 ・不良物理ブロックアドレスの抽出を行う。 Z(n) BA(m) (n=1〜4 、m=1 〜それぞれのゾーン
内の不良ブロック数) ・ゾーン毎の不良ブロック数を求める。 Z(n) BN (n=1 〜4 ) (2)Z(n) BNの n=1〜4 のうち、1つでも冗長ブロ
ックを全て使用しても、有効ブロック数を満たせないも
のがあれば、置換を行わず作業を終了する。 (3)Z(n) BAのn=1 〜4 のうち、最も値の大きなn
を抽出する。 (4)(3)で抽出されたnについて Z(n) BA(m) (m=1〜ゾーン内の不良ブロック数)の
内、ブロックアドレス情報が格納されている最も小さい
か、大きいmについてZ(n) BA(m) に格納された物理
ブロックアドレスに該当するブロックを冗長ブロックと
置き換える。 (5)Z(n) BN=Z(n) BN−1 (6)(3)で選択されたmについて Z(n) BA(m) のブロックアドレス情報を削除する。 (7)(3)〜(6)を繰り返す。冗長ブロックを使い
きれば、(9)の処理へ移る。 (8)Z(n) BN (n=1 〜4 )が等しければ最も小さ
いか、最も大きいnのゾーンについて(3)〜(7)を
繰り返す。 (9)Z(n) BN (n=1 〜4 )をチェックし、スペッ
クを越えるnが存在すれば、不良品とする。 (10)終了
【0134】当然、本体ブロックと冗長ブロックとの置
き換え手順は種々考えられる。本実施例では4つのゾー
ンに分割された場合を例に説明したが、ゾーンが、2つ
あるいは、奇数に分割されるケースも考えられる。また
分割されたゾーンの容量(ブロック数)が異なる場合も
考えられる。いずれの場合においても、本実施例は、本
体ブロックと冗長ブロックを置き換える場合、置き換え
作業後の各ゾーンに存在する不良ブロックの個数が、そ
れぞれのゾーンで許される不良ブロック数を越えないよ
う、それぞれのゾーンに存在する不良ブロック数を監視
しながら、冗長ブロックとの置き換えを行うところであ
り、本実施例の趣旨を逸脱しない範囲で、置き換えの手
順は異なってもかまわない。
【0135】以上に述べたように実施例によれば、論理
ブロックとフラッシュメモリの物理ブロックが1対1で
対応づけられているテーブルを使用する場合に比べ、ア
クセス対象となるゾーン単位でテーブルを作成するた
め、テーブルに必要とするRAM領域を低減することが
可能で、これまで不可能であった汎用CPUの内蔵RA
Mのみでメモリを制御することが可能となり、外付けR
AMを有していた従来のケースに対して大幅なコスト削
減が可能となり、特に物理ブロック数の多い不揮発性半
導体メモリの制御に効果が大きい。また、物理ブロック
の冗長部のBlock Address Ereaで決
められたビット数で、大容量の論理アドレスに対応でき
る。
【0136】また、本実施例によれば、複数の物理ブロ
ックを論理的な複数のゾーンに割り振り、ゾーン毎に論
理ブロックと物理ブロックの変換テーブルを作成し、メ
モリアクセスを行う制御方法を行うシステムに使用され
るフラッシュメモリにおいて、本体の不良ブロックと冗
長ブロックとを置き換える場合、従来アドレスの小さい
(大きい)方から連続的に置き換えていたのに対し、本
発明では、置き換え後の各ゾーンに存在する不良ブロッ
クの個数が、それぞれのゾーンで許される不良ブロック
数を越えないよう、それぞれのゾーンに存在する不良ブ
ロック数を監視しながら、置き換えを行うため、使用不
可能なゾーンを有するために出荷できなくなる製品が減
り、製品歩留りが向上する。
【0137】次に、本発明の第6の実施例について詳細
に説明する。本実施例は、2値/多値等のいずれのタイ
プにもサポート可能なフラッシュメモリカードについて
である。
【0138】図39は本実施例をPCカードアダプタに
適応した図である。フラッシュメモリカード101Aは
図17に示される2値対応のものであり、フラッシュメ
モリカード101Bは図18に示される4値対応のもの
である。PCカードアダプタ102は、フラッシュメモ
リカード101Aおよび101Bのデータをパソコンに
転送するためのものである。PCカードアダプター10
2は、PCカードスロット用の68ピンのコネクタおよ
びフラッシュメモリカード用のコネクタを具備してい
る。内部にはフラッシュメモリカードの制御およびPC
カードスロットとの電気的なインタフェースを取るため
のコントローラ103および、コントローラ内部のCP
U用の発振子104、バッファ用のRAM105等があ
る。コントローラ103中には、本発明に直接的に関係
する2種類のエラー訂正用の回路、ECC回路1および
ECC回路2がある。
【0139】図40に電源投入時の制御例を示す。 (ステップS1) 電源電圧検知 本メモリカードには、5V電源電圧と、3.3V電源電
圧の製品があるが、3.3V電源電圧動作のメモリカー
ドに5Vの電源が印加されると、電圧破壊等の問題が発
生する可能性がある。これを回避するため、システムは
電源電圧を検知している。 (ステップS2、3)IDチェック フラッシュメモリカードには記憶容量またはインタフェ
ース仕様の異なる複数種類の物がある。システムにメモ
リカードが挿入された時には、デバイスのメーカーコー
ドおよびデバイスコード等を判別し、想定外のコードの
場合は新たなアクセスはしないようにする。またメーカ
ーコード、デバイスコード等の読み出しには正規の電源
電圧を投入する。 (ステップS4〜8)ECCのチェック ここではECCの方式についてのチェックを行う。
【0140】以下に、ECC方式を認識させる方法の一
例を示す。第1の方法は、上記ステップS2、3と同様
にデバイスコードにより判別する方法がある。例えば、
同じ容量のフラッシュメモリであっても、メモリ構成に
よってデバイスコードを変えれば良い。
【0141】図41は、本実施例の16Mビットフラッ
シュメモリのデータ部と冗長部の構成を示した図であ
る。図4に示す従来のものと異なる点は、冗長部のUs
reData AreaがECC Flag Area
とECC Area−3とに割り当てられている点であ
る。図41に示すようにECCの符号を格納する領域と
してECC Area−1から3までの3個の領域を定
義している。上記3個の領域の使用方法を図42を用い
て説明する。ここでは、ECC Flag Areaバ
イト中にECCの方式に関する情報を記憶させておく。
例えば、ECC方式1の場合Flagデータとしては
“AAh”、ECC方式2の場合は“55h”と定義し
ておく。
【0142】ECC方式1に基づく、フラッシュメモリ
ーカードの場合、ECC Area−1には、偶数ペー
ジデータ(256バイト)の3バイトECCコードが、
ECC Area−2は、奇数ページデータ(256バ
イト)の3バイトECCコードが入り、ECC Are
a−3は空白である。ECC Area−1および2は
各々256バイトのデータの内、2ビットのエラーを訂
正できる。
【0143】ECC方式2に基づく、フラッシュメモリ
ーカードの場合、ECC Area−1、ECC Ar
ea−2、ECC Area−3に512バイトに対す
るECC符号が分散して記憶される。この場合512バ
イトのデータの内、2ビットのエラーを訂正できる。
【0144】図39のPCカードアダプター102内の
コントローラ103はフラッシュメモリカードがアダプ
ターに挿入されるとECC Flag Areaを読み
出し、ECC方式を判別する。
【0145】図39中では、ECC方式1およびECC
方式2それぞれに対応した符号生成、およびエラー検出
回路が選択される。コントローラ中のCPUはホストと
バッファ用RAMとフラッシュメモリ間のデータの流れ
を制御する。また図39中のECC回路は、必ずしもハ
ードウェアである必要性はない、ECC符号の生成等す
べてをソフトウェアで実行することも勿論可能である。
【0146】また本発明は上記実施例に限られない。発
明の主旨を逸脱しない範囲で種々変更可能である。
【0147】上記実施例では、2種類のECC方式の存
在を仮定したが、方式は2種類には限られない。3種類
以上のECC方式を設定可能である。
【0148】また、ECC方式の選択には、ECCを使
用しないという選択も含まれる。信頼性の非常に高いフ
ラッシュメモリカードや、音声分野等のデーダで特に高
い信頼性が必要の無い分野等ではECCは必須ではな
い。その場合、上記ECC Flag Areaの内容
が“FFh”であればECCを使用していないと定義し
ても良い。
【0149】また上記実施例では、フラッシュメモリ毎
にECCの方式を定義してたが、本発明はそれにかぎら
れない。例えば、セクター単位、もしくはブロック単位
等、任意の単位でECCの方式を切り替えてもよい。こ
の場合、単純に電源投入時にECCの方式を判別するの
ではなく前述の所定単位にアクセスする都度ECCの方
式を切り替えてもよい。また例えば、ECCの方式1で
読み出されたデータを方式2に変換して再格納するよう
な動作も想定可能である。
【0150】また上記実施例では、PCカードアダプタ
ーを例に説明したが、本実施例ははPCカードアダプタ
ーに限られない。例えば、デジタルスチルカメラやPD
A、ワードプロセッサー、音声録音機等各種機器に対し
ても同様に議論可能である。このように本実施例を使用
すれば、非常に広い使用範囲のフラッシュメモリカード
を1つのシステムで使用可能となる。
【0151】以上に述べたように、本実施例によれば、
エラー訂正アルゴリズムの異なる複数のフラッシュメモ
リカードを一つのシステムが取り扱い可能となるので、
飛躍的に汎用性が向上する。
【0152】
【発明の効果】本発明によれば、電子機器のコネクタに
対して記憶媒体を挿入/抜去する際に、両者のいわゆる
種々のピンの当接、離反に一定の順序をもたせるように
したので、動作の安定性の向上とデータの保護が確実に
行える。
【0153】さらに、本発明によれば、論理アドレスと
物理アドレスとを変換テーブルで変換するに際し、1個
の論理ブロックに対して複数個の物理ブロックを割り振
るようにしたので、テーブルが必要とするRAM領域を
低減することが可能となる。
【0154】さらに本発明によれば、クラスタの区切れ
が消去単位となるブロックをまたがないようにしたの
で、データ書換え時に発生する消去同数及び書き込み同
数を減らすことができる。
【0155】さらに、本発明によれば、消去コマンド実
行時に物理ブロックの管理領域を開放すると同時に、そ
のデータ領域の消去も行うことにしたので、その後の書
込みコマンド実行時の処理速度の向上することが可能と
なる。
【0156】さらに本発明によれば、論理ブロックと物
理ブロックの対応関係のうちの必要な領域の対応関係の
みを逐次作成するようにしたので、最低限必要なRAM
領域を低減することができる。
【0157】さらに、本発明によれば、不良ブロックを
冗長ブロックに置き換えるに際し、論理的なゾーンのそ
れぞれにおいて、置き換え後には、各ゾーンに存在する
不良ブロック数が所定値を越えないようにしたので、製
品の歩留りを向上させることができる。
【0158】さらに本発明によれば、使用する記憶媒体
の種別に応じてエラー訂正アルゴリズムを選択するよう
にしたので、各種の記憶媒体を使用でき、汎用性が向上
する。
【図面の簡単な説明】
【図1】メモリカード外観図である。
【図2】フラッシュメモリの物理ブロック構成を示す図
である。
【図3】パソコンにおけるデータを示す図である。
【図4】フラッシュメモリのデータ格納方法を示す図で
ある。
【図5】フラッシュメモリの物理ブロック構成を示す図
である。
【図6】フラッシュメモリの物理ブロック構成を示す図
である。
【図7】フラッシュメモリのデータ格納方法を示す図で
ある。
【図8】従来例の論理・物理ブロック変換テーブルを示
す図である。
【図9】従来のメモリシステムにおける論理アドレスと
物理アドレスの変換テーブル構成を示す図である。
【図10】64MビットNAND型非ラッシュメモリシ
ステムにおける論理アドレスと物理アドレスの変換テー
ブル構成を示す図である。
【図11】フラッシュメモリのブロックアドレスのデー
タ配置を示す図である。
【図12】従来のDOSフォーマットのパラメータを示
す図である。
【図13】従来の書き替えシーケンスを示す図である。
【図14】従来の書き替えシーケンスを示す図である。
【図15】従来の書き替えシーケンスを示す図である。
【図16】従来の消去コマンド実行時の管理領域とデー
タ領域の関係を示した図である。
【図17】フラッシュメモリの格納データ例を示す図で
ある。
【図18】フラッシュメモリの格納データ例を示す図で
ある。
【図19】従来のシステムを示す図である。
【図20】本発明のメモリシステムにおけるECCデー
タ構成を示す図である。
【図21】本発明のメモリシステムにおけるECCコー
ドを算出するための条件を示した図である。
【図22】本発明のメモリシステムにおける電源投入時
の制御フローチャートである。
【図23】本発明のメモリシステムにおける論理アドレ
ス/物理アドレス変換テーブル作成のフローチャートで
ある。
【図24】本発明のメモリシステムにおける論理アドレ
スと物理アドレスの変換テーブル構成を示す図である。
【図25】本発明のメモリシステムにおける読み出し時
のフローチャートである。
【図26】本発明のメモリシステムにおける書き込み時
のフローチャートである。
【図27】本発明のDOSフォーマットのパラメータを
示す図である。
【図28】本発明の書き換えシーケンスを示す図であ
る。
【図29】本発明の書き換えシーケンスを示す図であ
る。
【図30】本発明の書き換えシーケンスを示す図であ
る。
【図31】本発明の消去コマンド実行時の管理領域とデ
ータ領域の関係を示した図である。
【図32】本実施例による論理ブロック−物理ブロック
変換テーブル例を示す図である。
【図33】本実施例による論理ブロック−物理ブロック
変換テーブル作成例を示す図である。
【図34】実施例の論理・物理ブロック変換テーブルを
示す図である。
【図35】実施例での物理ブロックアドレスの表現方法
を示す図である。
【図36】従来の不良ブロックと冗長ブロックの置換え
を行った場合の実施例を説明するための図である。
【図37】不良ブロックと冗長ブロックの置き換えの従
来例を説明するための図である。
【図38】ゾーン分割制御を前提に不良ブロックと冗長
ブロックの置き換えを行った場合の実施例を説明するた
めの図である。
【図39】本発明のPCカードアダプタの構成を示す図
である。
【図40】フラッシュメモリカードをPCカードアダプ
タに挿入したときの、フローチャートを示す図である。
【図41】本発明の第7の実施例に係るフラッシュメモ
リのDOSフォーマットのパラメータを示す図である。
【図42】ECC符号領域の使用方法を示す図である。
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成10年5月15日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0004
【補正方法】削除
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0005
【補正方法】削除
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正内容】
【0009】未使用の正常ブロックは、データ部、冗長
部とも“FFh”に設定されている。下記に各々のバイ
トの意味あいにつき説明する。Data Area−1
は512バイトデータのうち、前半の0〜255バイト
のデータが格納される。Data Area−2には5
12バイトデータのうち、後半の256〜511バイト
のデータが格納される。User Data Area
のデータは、ユーザに解放されており使用方法はユーザ
に一任される。Data Status Areaはデ
ータが正常か否かを示す。通常は“FFh”だが、正常
でないデータが書き込まれている場合に“00h”が設
定される。Block StatusAreaはブロッ
クが良か不良かを示す。通常は“FFh”だが、不良ブ
ロックの場合、“00h”(初期不良ブロック)、“F
0h”(後発不良ブロック)が設定される。2ビット以
上“0”であった場合は、不良ブロックであると判断す
る。なお、本データは同一ブロック内では全て同じ値を
書き込む。BlockAddress Area−1は
ブロックの論理アドレス情報を示す。なお、1論理ブロ
ックを構成する8セクタには512の物理ブロックのう
ち1物理ブロックに相当するので、本データは同一ブロ
ック内では全て同じ値が書込まれることになる。同様に
して、Block Address Area−2はB
lockAddress Area−1のデータと同じ
内容が書かれている。ECCArea−1は偶数ページ
データ(256バイト)の3バイトECCコードであ
る。ECC Area−2は、奇数ページデータ(25
6バイト)の3バイトECCコードである。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0018
【補正方法】変更
【補正内容】
【0018】また、さらにメモリ容量が増加すると、フ
ラッシュメモリの物理ブロックの冗長部に論理アドレス
を格納できないという第2の問題が生じる。図7に示す
16MビットNAND型フラッシュメモリの物理ブロッ
クの冗長部のBlock Address Areaに
は自分がどの論理ブロックに対応するデータを保持して
いるかを示す論理ブロックアドレス情報が格納される。
各物理ブロックの冗長部のBlock Address
Areaの構造を図11に示す。図11中で、偶数ペ
ージの262バイトおよび奇数ページの259バイト目
のD4〜D7の4ビットは“0”“0”“0”“1”、
偶数ページの263バイトおよび奇数ページの260バ
イト目のD0の1ビットは“1”固定値となる。従っ
て、格納可能なブロックアドレスの最大値は、BA0〜
BA10で表される、2047である。512Mビット
のNAND型フラッシュメモリでは物理ブロックが40
96個存在するため、Block Address A
reaの記述方法を変更しない限り、アドレスを格納す
ることはできない。従来のフラッシュメモリと冗長部の
制御方法を異にするため、ホストが2種類のプログラム
を用意しない限り、広範囲の容量のフラッシュメモリを
制御できず、ホストシステムのプログラム格納領域の容
量を圧迫する問題が発生する。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0023
【補正方法】変更
【補正内容】
【0023】まず、図13を用いて、クラスタサイズ4
KBの場合を例に従来の書き換えシーケンスを説明す
る。クラスタサイズは4KBなので、連続した8セクタ
分の書き込み命令がOSから発行される。このとき論理
セクタの45〜52(クラスタA)に対する書き込み
(データ更新)が発生する。 1) 消去済み新領域を探し、論理セクタ32〜44ま
でを元ブロックから新領域NAND Block Cに
コピーする。 2) 論理セクタ45〜47の新データを新領域NAN
D Block Cに書き込む。 3) 元ブロックNAND Block Aを消去す
る。 4) 論理番地/物理番地変換テーブルの更新。 5) 消去済み新領域を探し、論理セクター48〜52
の新データを新領域NAND Block Dに書き込
む。 6) 元ブロックNAND Block Bの論理セク
ター53〜63のデータを新領域NAND Block
Dにコピーする。 7) 元ブロックNAND Block Bを消去す
る。 8) 論理番地/物理番地変換テーブルの更新。 従って、外部からみて8セクタの書き換えを実施した場
合、実際デバイスとしては、論理セクタ32〜63の合
計32セクタ(32ページ)の書き込み動作と、NAN
D Block A、NAND Block Bの合計
2ブロックに対する消去動作が実施されたことになる。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0026
【補正方法】変更
【補正内容】
【0026】上記クラスタが4KBのものと8KBの場
合を同じ8KBのデータが書き込まれる場合を想定し比
較すると、クラスタサイズが4KBの場合は、2回の書
き込みに処理が分割され合計48セクタの書き込みおよ
び3ブロック分の消去動作が発生する。クラスタサイズ
が8KBの場合は、クラスタサイズが4KBの場合に比
べて1回の書き込みに処理が集約され合計32セクタの
書き込みおよび2ブロック分の消去動作が発生する。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0034
【補正方法】変更
【補正内容】
【0034】
【発明が解決しようとする課題】本発明の、第1、第
4、第5の実施例に係る発明は、上記第1の問題点を鑑
みてなされ、論理番地/物理番地変換テーブルで必要と
なるRAMの容量を低減し、汎用CPUの内蔵RAMの
みでフラッシュメモリを制御する方法を提供し、これに
より従来必要であった外付けRAMを不要となし、大幅
なコストダウンを実現することを目的とする。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0050
【補正方法】変更
【補正内容】
【0050】Data Area−1は512バイトデ
ータのうち、前半の0〜255バイトでデータが格納さ
れる。Data Area−2には512バイトデータ
のうち、後半の256〜511バイトのデータが格納さ
れる。User DataAreaのデータは、ユーザ
に解放されており使用方法はユーザに一任される。Da
ta Status Areaはデータが正常か否かを
示す。通常は“FFh”だが、正常でないデータが書き
込まれている場合に“00h”が設定される。Bloc
k Status Areaはブロックが良か不良化を
示す。通常は“FFh”だが、不良ブロックの場合、
“00h”(初期不良ブロック)、“F0h”(後発不
良ブロック)が設定される。2ビット以上“0”であっ
た場合は、不良ブロックであると判断する。なお、本デ
ータは同一ブロック内では全て同じ値を書き込む。Bl
ock Address Area−1はブロックの論
理アドレス情報を示す。なお、1論理ブロックを構成す
る8セクタには512の物理ブロックのうち1物理ブロ
ックに相当するので、本データは同一ブロック内では全
て同じ値が書き込まれることになる。同様にして、Bl
ock Address Area−2はBlock
Address Area−1のデータと同じ内容が書
かれている。ECC Area−1は、偶数ページデー
タ(256バイト)の3バイトECCコードである。E
CC Area−2は、奇数ページデータ(256バイ
ト)の3バイトECCコードである。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】0063
【補正方法】変更
【補正内容】
【0063】次に、本実施例の書込み時の動作について
説明する。書き込みは基本的に以下の3部分の処理に大
別される。論理セクタ3を書き換える場合を例に説明す
る。更新はセクタ3のみだが、セクタ0から7の8セク
タ分のデータは同一ブロック上に存在するので、1ブロ
ックに対する処理が必要になる。書き込みは基本的に以
下の3部分の処理に大別される。
【手続補正11】
【補正対象書類名】明細書
【補正対象項目名】0082
【補正方法】変更
【補正内容】
【0082】次に、本発明の第3の実施例について詳細
に説明する。本実施例は消去後の書込みコマンド実行時
の処理速度を向上させるフラッシュメモリカードについ
てである。
【手続補正12】
【補正対象書類名】明細書
【補正対象項目名】0114
【補正方法】変更
【補正内容】
【0114】次に、RAM上にゾーン1の変換テーブル
が作成されており、論理ブロックアドレス324に対す
るアクセス要求がきた場合の手順を以下に説明する。 (1)論理ブロックアドレス324−250×(n−
1)<250となるようなnを求めるとn=2である事
から、ゾーン2の変換テーブルが必要であることが分か
る。 (2)RAM上にある変換テーブルがゾーン1である
為、ゾーン2に包括された物理ブロックアドレス256
〜511の冗長部の論理ブロックアドレス情報をサーチ
し、RAM上にゾーン2の変換テーブルの作成を行う。 (3)変換テーブル上のアドレスは0〜249の値をと
るため、ホストが要求した論理ブロックアドレス324
から、変換テーブル上の参照すべきアドレスを求める。
324−250×(2−1)=74より、変換テーブル
上のアドレス74に対応する物理ブロックアドレスに対
しアクセスすればよい。 (4)書き換えが発生した場合は変換テーブルを更新
し、次のアクセスに備える。以上のように、アクセスす
る論理ブロックに応じて、変換テーブルを作成すること
で、従来より、RAM領域を容易に小さくすることが可
能である。システムRAM上にゾーン2のテーブルが作
成されている場合も、同様の過程で容易に目的のアドレ
スにアクセスすることができる。
【手続補正13】
【補正対象書類名】明細書
【補正対象項目名】0125
【補正方法】変更
【補正内容】
【0125】このため、有効ブロック数を多く確保し、
使用中の不良ブロックの発生に備えると共に、出荷時の
製品歩留まりを向上させるために、16MビットNAN
D型フラッシュメモリには、512個の本体ブロックの
他に複数の冗長ブロックが設けられている。この冗長ブ
ロックは出荷前に、冗長回路により、512個の本体ブ
ロック中に発生している不良ブロックと、ハード的に置
き換えられる。冗長回路を使用すると、冗長ブロック
は、不良ブロックのアドレスに割り付けられる。ハード
的な置き換え後は、不良ブロックが存在したアドレスを
選択すると、置き換えられた冗長ブロックが選択される
ようになる。ここで、冗長ブロックは無限にあるわけで
はないため、出荷時に、置き換えきれなかった不良ブロ
ックは、先天性不良ブロックとして扱われる。また、ユ
ーザーの使用中に発生した不良ブロックは、後天性不良
ブロックとして扱われる。この先天性不良ブロックと後
天性不良ブロックは上記有効ブロックによって救済され
る。
【手続補正14】
【補正対象書類名】明細書
【補正対象項目名】0148
【補正方法】変更
【補正内容】
【0148】また、ECC方式の選択には、ECCを使
用しないという選択も含まれる。信頼性の非常に高いフ
ラッシュメモリカードや、音声分野等のデーダで特に高
い信頼性を必要としない分野等ではECCは必須ではな
い。その場合、上記ECCFlag Areaの内容が
“FFh”であればECCを使用していないと定義して
も良い。

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】システムが管理する論理ブロックと、 複数のメモリセルにより構成され、前記論理ブロックに
    対応するデータを記憶する物理ブロックと、 前記物理ブロック中に含まれ、前記対応する論理ブロッ
    クのアドレスを記憶する冗長部と、 前記物理ブロックが少なくとも2以上で構成される物理
    ブロックエリアとを具備し、前記論理ブロックと前記物
    理ブロックエリアとの対応関係を管理するための論理番
    地/物理番地変換テーブルを作成することを特徴とする
    メモリシステムの制御方法。
  2. 【請求項2】メモリアクセス時に、前記論理番地/物理
    番地変換テーブルを参照し前記論理ブロックに対応する
    物理ブロックエリアのアドレスを読み出し、前記物理ブ
    ロックエリアを構成する少なくとも2以上の物理ブロッ
    クの前記冗長部に記憶される対応する論理ブロックのア
    ドレスを読み出すことにより、前記論理ブロックと対応
    する物理ブロックを選択することを特徴とする請求項1
    記載のメモリシステムの制御方法。
  3. 【請求項3】電源投入時に、前記論理番地/物理番地変
    換テーブルを作成することを特徴とする請求項1記載の
    メモリシステムの制御方法。
  4. 【請求項4】第1の所定単位によって管理されるファイ
    ルを、第2の所定単位に分割された記憶領域において記
    憶する半導体記憶装置において、 前記第1の所定単位の境界が、前記第2の所定単位の境
    界上に配置されるよう制御することを特徴とするメモリ
    システムの制御方法。
  5. 【請求項5】前記第2の所定単位は消去単位であること
    を特徴とする請求項4記載のメモリシステムの制御方
    法。
  6. 【請求項6】システムが管理するファイルと、 前記ファイルの内容を記憶するデータ領域と、 前記ファイルとデータ領域の対応関係を記憶する管理領
    域とを有し、 前記ファイルの消去を行う時に、前記管理領域に対応す
    るデータ領域が空き領域である旨をマークし、対応する
    前記データ領域の消去を行うことを特徴とするメモリシ
    ステムの制御方法。
  7. 【請求項7】システムが管理するファイルと、 前記ファイルの内容を記憶するデータ領域と、 前記ファイルとデータ領域の対応関係を記憶する管理領
    域とを有し、 前記ファイルの消去を行う時に、前記管理領域に対応す
    るデータ領域が空き領域である旨をマークしておき、メ
    モリシステムに入力される信号に基づいて、前記管理領
    域の内容を検知し対応するデータ領域の消去を行うこと
    を特徴とするメモリシステムの制御方法。
  8. 【請求項8】不揮撥性半導体メモリシステムの制御方法
    において、セルアレイを複数個の物理ブロックに分割
    し、前記各物理ブロックにこのシステムが管理する前記
    論理ブロックとの対応付けの情報を記憶させ、 前記論理ブロックと前記物理ブロックとの、対応関係を
    管理するためのテーブルを前記システムのRAM上に保
    持するに当り、 前記論理ブロックと前記物理ブロックの対応関係のう
    ち、ホストからのアクセスに応じて必要な領域のみの対
    応関係を前記システム内の前記RAM上に逐次作成する
    ことを特徴とする不揮撥性半導体メモリシステムの制御
    方法。
  9. 【請求項9】不揮撥性半導体メモリシステムの制御方法
    において、セルアレイを複数個の物理ブロックに分割
    し、前記各物理ブロックにこのシステムが管理する前記
    論理ブロックとの対応付けの情報を記憶させ、 前記論理ブロックと前記物理ブロックとの対応関係を管
    理するためのテーブルを前記システムのRAM上に保持
    するに当り、 前記論理ブロックと前記物理ブロックの対応関係のすべ
    てを前記RAM上に常時保持することなく、ホストから
    のアクセスに応じて必要な領域のみの対応関係をこのシ
    ステム内の前記RAM上に逐次作成することを特徴とす
    る不揮撥性半導体メモリの制御方法。
  10. 【請求項10】前記物理ブロックを構成する不揮撥性半
    導体メモリはフラッシュメモリであることを特徴とする
    請求項8又は9に記載の不揮撥性半導体メモリの制御方
    法。
  11. 【請求項11】不揮撥性半導体メモリシステムの制御方
    法において、不揮撥性半導体メモリによるセルアレイを
    複数個の物理ブロックに分割し、 前記各物理ブロックに、このシステムが管理する論理ブ
    ロックアドレスとの対応付けの情報を記憶させ、上記物
    理ブロックと上記論理アドレスとの対応関係を管理する
    ためのアドレス変換テーブルをこのシステムのRAM上
    に作成するに当り、 少なくとも1個以上の上記物理ブロックをそれぞれ集合
    することにより複数の領域が構成し、 所定の上記論理ブロックのアドレス範囲のデータは所定
    の上記領域内に格納されるように制御し、上記不揮撥性
    半導体メモリに対するアクセス時に、該当する上記論理
    ブロックアドレスのデータが格納されている上記領域に
    対応する上記アドレス変換テーブルを、必要に応じ作成
    することを特徴とする不揮撥性半導体メモリシステムの
    制御方法。
  12. 【請求項12】不揮発性半導体メモリスラムの制御方法
    において、不揮発性メモリによるセルアレイを複数個の
    物理ブロックに分割し、前記各物理ブロックの記憶領域
    にこのシステムが管理する前記論理ブロックとの対応付
    けの情報を記憶させ、前記論理ブロックとフラッシュメ
    モリの物理ブロックとの対応関係を管理するためのテー
    ブルをこのシステムのRAM上に形成する制御方法であ
    って、1個あるいは複数個の前記物理ブロックから構成
    される領域を、前記フラッシュメモリのセルアレイ上に
    確保し、メモリアクセス時毎にアクセス対象となる前記
    領域について、該領域を構成する物理ブロックの記憶領
    域をサーチし論理ブロックと物理ブロックとの対応関係
    を管理する前記テーブルをこのシステムのRAM上に作
    成し、該テーブルを使用することにより、論理ブロック
    に対応する物理ブロックを選択可能としたことを特徴と
    する不揮発性半導体メモリシステムの制御方法。
  13. 【請求項13】欠陥セルを含む不良物理ブロックを、選
    択的に冗長物理ブロックと置換する機能を有し、前記領
    域の各々に対して、不良物理ブロック数が所定個数以下
    となるよう前記置換作業を管理することを特徴とする、
    請求項11又は12に記載の不揮発性半導体メモリシス
    テムの制御方法。
  14. 【請求項14】本体に対して数種類のメモリ装置が着脱
    により交換可能とされた不揮発性半導体メモリシステム
    の制御方法において、前記本体に装着された前記メモリ
    装置に応じて、前記本体が有する数種類のエラー訂正手
    段のうちの対応するものを選択してエラー訂正を行わせ
    ることを特徴とする不揮発性半導体メモリシステムの制
    御方法。
JP11909998A 1997-08-08 1998-04-28 不揮発性半導体メモリシステムの制御方法 Expired - Fee Related JP4079506B2 (ja)

Priority Applications (13)

Application Number Priority Date Filing Date Title
JP11909998A JP4079506B2 (ja) 1997-08-08 1998-04-28 不揮発性半導体メモリシステムの制御方法
US09/130,818 US6845438B1 (en) 1997-08-08 1998-08-07 Method for controlling non-volatile semiconductor memory system by using look up table
CA 2245271 CA2245271C (en) 1997-08-08 1998-08-07 Method for controlling non-volatile semiconductor memory system
TW87113055A TW392173B (en) 1997-08-08 1998-08-07 Method for controlling non volatile semiconductor memory
KR10-1998-0032271A KR100365385B1 (ko) 1997-08-08 1998-08-08 불휘발성반도체메모리의제어방법
EP20050003250 EP1533703A3 (en) 1997-08-08 1998-08-10 Method for controlling non-volatile semiconductor memory system
EP19980114979 EP0896280A3 (en) 1997-08-08 1998-08-10 Method for controlling nonvolatile semiconductor memory system
KR10-2002-0034590A KR100438012B1 (ko) 1997-08-08 2002-06-20 불휘발성 반도체 메모리 시스템의 제어방법
US10/786,960 US7054991B2 (en) 1997-08-08 2004-02-25 Method for controlling non-volatile semiconductor memory system
US10/913,865 US8756401B2 (en) 1997-08-08 2004-08-06 Method for controlling non-volatile semiconductor memory system
US11/931,101 US8230156B2 (en) 1997-08-08 2007-10-31 Method for controlling non-volatile semiconductor memory system
US12/564,770 US20100023680A1 (en) 1997-08-08 2009-09-22 Method for Controlling Non-Volatile Semiconductor Memory System
US12/702,134 US9009387B2 (en) 1997-08-08 2010-02-08 Method for controlling non-volatile semiconductor memory system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9214561A JPH10124384A (ja) 1996-08-28 1997-08-08 不揮発性半導体メモリの制御方法
JP9-214561 1997-08-08
JP11909998A JP4079506B2 (ja) 1997-08-08 1998-04-28 不揮発性半導体メモリシステムの制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007199962A Division JP2007293917A (ja) 1997-08-08 2007-07-31 メモリシステムの制御方法

Publications (2)

Publication Number Publication Date
JPH11110283A true JPH11110283A (ja) 1999-04-23
JP4079506B2 JP4079506B2 (ja) 2008-04-23

Family

ID=26456898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11909998A Expired - Fee Related JP4079506B2 (ja) 1997-08-08 1998-04-28 不揮発性半導体メモリシステムの制御方法

Country Status (6)

Country Link
US (6) US6845438B1 (ja)
EP (2) EP1533703A3 (ja)
JP (1) JP4079506B2 (ja)
KR (2) KR100365385B1 (ja)
CA (1) CA2245271C (ja)
TW (1) TW392173B (ja)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000016199A1 (fr) * 1998-09-11 2000-03-23 Fujitsu Limited Procede permettant de realiser une table de gestion de memoire et dispositif de memoire
JP2002091806A (ja) * 2000-09-20 2002-03-29 Olympus Optical Co Ltd ファイルシステム
US6377500B1 (en) 1999-11-11 2002-04-23 Kabushiki Kaisha Toshiba Memory system with a non-volatile memory, having address translating function
US6459644B2 (en) 2000-06-06 2002-10-01 Hitachi, Ltd. Semiconductor memory device with block alignment function
JP2003058419A (ja) * 2001-08-07 2003-02-28 ▲金▼創科技股▲ふん▼有限公司 ウィンドウベース・フラッシュメモリー記憶システムとその管理方法ならびにアクセス方法
JP2003167795A (ja) * 2001-11-16 2003-06-13 Samsung Electronics Co Ltd フラッシュメモリの管理方法
KR100437609B1 (ko) * 2001-09-20 2004-06-30 주식회사 하이닉스반도체 반도체 메모리 장치의 어드레스 변환 방법 및 그 장치
JP2006504201A (ja) * 2002-10-28 2006-02-02 サンディスク コーポレイション 不揮発性記憶システムにおける自動損耗均等化
JP2006048227A (ja) * 2004-08-02 2006-02-16 Sony Corp メモリ装置、メモリ装置の制御方法およびデータ処理システム
JP2006509304A (ja) * 2002-12-09 2006-03-16 サンディスク コーポレイション 不揮発性メモリにおける欠陥のためのゾーン境界調整
JP2006331378A (ja) * 2005-05-24 2006-12-07 Prolific Technology Inc フラッシュメモリ保存システム
JP2007272996A (ja) * 2006-03-31 2007-10-18 Ricoh Co Ltd フェードインメモリと情報記録方法および情報再生方法
JP2008047155A (ja) * 2007-10-26 2008-02-28 Renesas Technology Corp 一括消去型不揮発性メモリおよび携帯電話
KR100817087B1 (ko) 2007-02-13 2008-03-27 삼성전자주식회사 플래시 메모리를 구비하는 스토리지 장치에서의 버퍼 캐시운용 방법
US7353324B2 (en) 2003-09-29 2008-04-01 Kabushiki Kaisha Toshiba Semiconductor storage device and method of controlling the same
US7369454B2 (en) 2005-03-11 2008-05-06 Kabushiki Kaisha Toshiba Semiconductor integrated circuit device
US7996914B2 (en) 1999-04-27 2011-08-09 Panasonic Corporation Semiconductor memory card and data reading apparatus, and data reading/reproducing apparatus
JP2012203925A (ja) * 2011-03-23 2012-10-22 Toshiba Corp 半導体記憶装置
US8443144B2 (en) 2008-03-12 2013-05-14 Samsung Electronics Co., Ltd. Storage device reducing a memory management load and computing system using the storage device
JP2013525886A (ja) * 2010-04-16 2013-06-20 マイクロン テクノロジー, インク. メモリデバイスおよびシステム中のブートパーティション
US8924636B2 (en) 2012-02-23 2014-12-30 Kabushiki Kaisha Toshiba Management information generating method, logical block constructing method, and semiconductor memory device

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4079506B2 (ja) 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
JP3249959B2 (ja) * 1999-10-12 2002-01-28 株式会社ソニー・コンピュータエンタテインメント 可搬型記憶装置及びメモリカード
CN100442393C (zh) * 1999-10-21 2008-12-10 松下电器产业株式会社 半导体存储卡的访问装置、初始化方法和半导体存储卡
US8266367B2 (en) * 2003-12-02 2012-09-11 Super Talent Electronics, Inc. Multi-level striping and truncation channel-equalization for flash-memory system
US8037234B2 (en) * 2003-12-02 2011-10-11 Super Talent Electronics, Inc. Command queuing smart storage transfer manager for striping data to raw-NAND flash modules
US8341332B2 (en) * 2003-12-02 2012-12-25 Super Talent Electronics, Inc. Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
AU761064C (en) * 2000-02-21 2004-02-26 Trek 2000 International Ltd A portable data storage device
US6438638B1 (en) 2000-07-06 2002-08-20 Onspec Electronic, Inc. Flashtoaster for reading several types of flash-memory cards with or without a PC
US7295443B2 (en) 2000-07-06 2007-11-13 Onspec Electronic, Inc. Smartconnect universal flash media card adapters
JP2002132456A (ja) * 2000-10-20 2002-05-10 Sony Corp 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP4812192B2 (ja) * 2001-07-27 2011-11-09 パナソニック株式会社 フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法
US6948026B2 (en) * 2001-08-24 2005-09-20 Micron Technology, Inc. Erase block management
JP2004062328A (ja) * 2002-07-25 2004-02-26 Renesas Technology Corp Nand型フラッシュメモリを搭載したフラッシュストレージメディア
US7627229B2 (en) * 2002-07-26 2009-12-01 Fujifilm Corporation Moving image recording apparatus and method of recording moving image
US7234036B1 (en) * 2002-10-28 2007-06-19 Sandisk Corporation Method and apparatus for resolving physical blocks associated with a common logical block
US8176238B2 (en) * 2003-12-02 2012-05-08 Super Talent Electronics, Inc. Command queuing smart storage transfer manager for striping data to raw-NAND flash modules
US20090193184A1 (en) * 2003-12-02 2009-07-30 Super Talent Electronics Inc. Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System
US20090204872A1 (en) * 2003-12-02 2009-08-13 Super Talent Electronics Inc. Command Queuing Smart Storage Transfer Manager for Striping Data to Raw-NAND Flash Modules
JP3892851B2 (ja) * 2004-02-04 2007-03-14 株式会社東芝 メモリカード及び半導体装置
WO2005083573A1 (ja) * 2004-02-27 2005-09-09 Matsushita Electric Industrial Co., Ltd. 半導体メモリ装置
CN100576360C (zh) * 2004-05-06 2009-12-30 松下电器产业株式会社 半导体存储器装置
US20110029723A1 (en) * 2004-08-06 2011-02-03 Super Talent Electronics, Inc. Non-Volatile Memory Based Computer Systems
KR100876084B1 (ko) * 2007-02-13 2008-12-26 삼성전자주식회사 플래시 저장 장치로 삭제 정보를 전달할 수 있는 컴퓨팅시스템
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US7644092B2 (en) * 2005-05-03 2010-01-05 Kabushiki Kaisha Toshiba System for managing data on memory device using file system
US8429326B2 (en) * 2005-09-12 2013-04-23 Mediatek Inc. Method and system for NAND-flash identification without reading device ID table
US7702821B2 (en) 2005-09-15 2010-04-20 Eye-Fi, Inc. Content-aware digital media storage device and methods of using the same
US7681109B2 (en) 2005-10-13 2010-03-16 Ramot At Tel Aviv University Ltd. Method of error correction in MBC flash memory
US7644251B2 (en) * 2005-12-19 2010-01-05 Sigmatel, Inc. Non-volatile solid-state memory controller
TW200734875A (en) * 2006-03-08 2007-09-16 Quanta Comp Inc System and method for detecting peripheral device
JP2008009527A (ja) * 2006-06-27 2008-01-17 Toshiba Corp メモリシステム
JP4182993B2 (ja) * 2006-06-30 2008-11-19 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4956068B2 (ja) * 2006-06-30 2012-06-20 株式会社東芝 半導体記憶装置およびその制御方法
US20080148132A1 (en) * 2006-10-26 2008-06-19 Mavila Rajith K Error detection and correction scheme for multi-level cell NAND flash
CN101578587B (zh) * 2006-11-24 2015-02-25 Lsi公司 延迟缩减存储器寿命的操作
US7818701B1 (en) * 2006-12-22 2010-10-19 Cypress Semiconductor Corporation Memory controller with variable zone size
JP4978224B2 (ja) * 2007-02-08 2012-07-18 カシオ計算機株式会社 光電変換装置及びそれを備えた表示パネル
KR100882740B1 (ko) * 2007-02-22 2009-02-09 삼성전자주식회사 맵 히스토리 기반의 불휘발성 메모리의 매핑 방법 및 저장장치
TW200839620A (en) * 2007-03-16 2008-10-01 Realtek Semiconductor Corp Card reader controller and its method of detecting interferences
US7984173B2 (en) * 2007-05-30 2011-07-19 Red Hat, Inc. Channel bundling
US7637061B2 (en) * 2008-03-13 2009-12-29 Plinths And Caissons, Llc Grave marker grid support system
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
US7996736B2 (en) * 2008-10-26 2011-08-09 Sandisk 3D Llc Bad page marking strategy for fast readout in memory
US7899967B2 (en) * 2008-11-24 2011-03-01 Mediatek Inc. Systems for accessing memory card and methods for accessing memory card by a control unit
US8386736B2 (en) * 2008-12-18 2013-02-26 Spansion Llc Rapid memory buffer write storage system and method
US8392687B2 (en) 2009-01-21 2013-03-05 Micron Technology, Inc. Solid state memory formatting
US20100286962A1 (en) * 2009-05-05 2010-11-11 Cheng Uei Precision Industry Co., Ltd. System and method of recording measurement data
EP2542974B1 (en) * 2010-03-05 2016-07-20 Eye-Fi, Inc. Endless memory
JP5077385B2 (ja) 2010-04-15 2012-11-21 株式会社デンソー 車両用ナビゲーション装置
KR101936311B1 (ko) * 2010-12-03 2019-01-09 삼성전자주식회사 데이터 처리 방법
JP5451682B2 (ja) 2011-05-20 2014-03-26 株式会社東海理化電機製作所 フラッシュメモリ装置
JP5382084B2 (ja) 2011-10-07 2014-01-08 株式会社デンソー 車両用装置
US10048884B2 (en) 2011-12-29 2018-08-14 Memory Technologies Llc Method for erasing data entity in memory module
JP2013200584A (ja) * 2012-03-23 2013-10-03 Sony Corp 電子機器
TWI486767B (zh) * 2012-06-22 2015-06-01 Phison Electronics Corp 資料儲存方法、記憶體控制器與記憶體儲存裝置
US8914670B2 (en) 2012-11-07 2014-12-16 Apple Inc. Redundancy schemes for non-volatile memory using parity zones having new and old parity blocks
JP6300202B2 (ja) * 2014-03-03 2018-03-28 パナソニックIpマネジメント株式会社 メモリカード及びメモリカード制御装置
US9710199B2 (en) * 2014-11-07 2017-07-18 International Business Machines Corporation Non-volatile memory data storage with low read amplification
US10162700B2 (en) 2014-12-23 2018-12-25 International Business Machines Corporation Workload-adaptive data packing algorithm
US9712190B2 (en) 2015-09-24 2017-07-18 International Business Machines Corporation Data packing for compression-enabled storage systems
US9870285B2 (en) 2015-11-18 2018-01-16 International Business Machines Corporation Selectively de-straddling data pages in non-volatile memory
USD786878S1 (en) * 2015-12-04 2017-05-16 Capital One Services, Llc Payment card chip
CN109901956A (zh) * 2017-12-08 2019-06-18 英业达科技有限公司 内存整体测试的系统及其方法
US11593258B2 (en) * 2019-11-26 2023-02-28 Micron Technology, Inc. Enhanced filesystem support for zone namespace memory
CN114902337A (zh) * 2019-12-31 2022-08-12 美光科技公司 移动存储随机读取性能估计增强
CN112486854B (zh) * 2020-12-28 2022-08-23 潍柴动力股份有限公司 与非型闪存Nand Flash存储管理方法及装置
US11733927B2 (en) * 2021-11-30 2023-08-22 Microsoft Technology Licensing, Llc Hybrid solid-state drive

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3432795A (en) 1967-02-23 1969-03-11 Sylvania Electric Prod Electrical connector having facile engagement means
US3828327A (en) * 1973-04-30 1974-08-06 Ibm Simplified storage protection and address translation under system mode control in a data processing system
FR2553541B1 (fr) * 1983-10-17 1992-02-28 Inst Nat Rech Inf Automat Dispositif et procede pour le stockage rapide et stable d'informations
JPS60160491A (ja) * 1984-01-31 1985-08-22 Toshiba Corp Icカードとicカード発行装置
US4794524A (en) * 1984-07-03 1988-12-27 Zilog, Inc. Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit
JPS61148551A (ja) * 1984-12-24 1986-07-07 Hitachi Ltd アドレス変換方式
JPH0690872B2 (ja) 1986-08-18 1994-11-14 東京電気株式会社 メモリ−カ−ド装置
JP2511950B2 (ja) 1987-03-27 1996-07-03 三菱電機株式会社 インタ−フエイス回路
US4980816A (en) * 1987-12-18 1990-12-25 Nec Corporation Translation look-aside buffer control system with multiple prioritized buffers
JPH01296482A (ja) 1988-05-24 1989-11-29 Mitsubishi Electric Corp メモリカード
JPH0769759B2 (ja) 1988-09-08 1995-07-31 三菱電機株式会社 メモリカード用接続機構
US5404476A (en) * 1989-02-10 1995-04-04 Nec Corporation Multiprocessing system having a single translation lookaside buffer with reduced processor overhead
CA2014799A1 (en) * 1989-05-08 1990-11-08 John W. Whisler System and method for reading and writing disks formatted for an operating system foreign to the host computer
US5210855A (en) * 1989-06-09 1993-05-11 International Business Machines Corporation System for computer peripheral bus for allowing hot extraction on insertion without disrupting adjacent devices
JPH0484216A (ja) 1990-07-26 1992-03-17 Toshiba Corp 半導体ディスク装置のデータ消去方法
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
US5317697A (en) 1991-07-31 1994-05-31 Synernetics Inc. Method and apparatus for live insertion and removal of electronic sub-assemblies
DE69223099T2 (de) * 1991-08-09 1998-06-10 Toshiba Kawasaki Kk Aufzeichnungsgerät für eine Speicherkarte
US5438573A (en) 1991-09-13 1995-08-01 Sundisk Corporation Flash EEPROM array data and header file structure
US5471604A (en) * 1992-10-30 1995-11-28 Intel Corporation Method for locating sector data in a memory disk by examining a plurality of headers near an initial pointer
US5430857A (en) * 1993-01-04 1995-07-04 Intel Corporation Method and apparatus for translating logical addresses into physical addresses using odd/even translation tables
JP2856621B2 (ja) * 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
DE4339179A1 (de) 1993-04-06 1994-10-13 Hewlett Packard Co Verfahren und Vorrichtung zum Verhindern einer Signalverstümmelung auf einem gemeisamen Bus eines Computers
US5463772A (en) * 1993-04-23 1995-10-31 Hewlett-Packard Company Transparent peripheral file systems with on-board compression, decompression, and space management
WO1994027222A1 (de) * 1993-05-10 1994-11-24 Jochen Liedtke Verfahren zum umsetzen einer virtuellen speicheradresse mit einer ersten länge in eine realadresse mit einer zweiten länge
JP3085824B2 (ja) * 1993-05-20 2000-09-11 富士写真フイルム株式会社 メモリ制御装置
US5329491A (en) * 1993-06-30 1994-07-12 Intel Corporation Nonvolatile memory card with automatic power supply configuration
US5479628A (en) * 1993-10-12 1995-12-26 Wang Laboratories, Inc. Virtual address translation hardware assist circuit and method
US5386402A (en) * 1993-11-29 1995-01-31 Kabushiki Kaisha Toshiba Access control apparatus and address translation method for disk storage device
US5555391A (en) * 1993-12-23 1996-09-10 Unisys Corporation System and method for storing partial blocks of file data in a file cache system by merging partial updated blocks with file block to be written
JP2556285B2 (ja) 1994-02-15 1996-11-20 ダイソー株式会社 塩素化ポリエチレン系架橋組成物の製法
JP2609431B2 (ja) 1994-09-22 1997-05-14 山一電機株式会社 メモリカード
US5636347A (en) 1994-09-27 1997-06-03 Intel Corporation Computer card insertion detection circuit
JPH08137634A (ja) * 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
JPH08211973A (ja) 1995-01-26 1996-08-20 Mitsubishi Electric Corp Pcカード
JP3706167B2 (ja) 1995-02-16 2005-10-12 株式会社ルネサステクノロジ 半導体ディスク装置
US5644731A (en) 1995-07-07 1997-07-01 Sun Microsystems, Inc. Method and apparatus for hot plugging/unplugging a sub-system to an electrically powered system
US6081878A (en) * 1997-03-31 2000-06-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5717951A (en) * 1995-08-07 1998-02-10 Yabumoto; Kan W. Method for storing and retrieving information on a magnetic storage medium via data blocks of variable sizes
JP3604466B2 (ja) 1995-09-13 2004-12-22 株式会社ルネサステクノロジ フラッシュディスクカード
JPH0981459A (ja) * 1995-09-19 1997-03-28 Hitachi Ltd アドレス変換バッファ装置
JP3727982B2 (ja) 1995-09-28 2005-12-21 キヤノン株式会社 フラッシュrom管理方法及び装置
JPH09185551A (ja) * 1996-01-08 1997-07-15 Mitsubishi Electric Corp 半導体記憶装置
JPH09198201A (ja) 1996-01-16 1997-07-31 Toshiba Corp 半導体ディスク装置およびその書換回数管理方法
JPH09231339A (ja) * 1996-02-27 1997-09-05 Mitsubishi Electric Corp メモリカード
JP3197815B2 (ja) 1996-04-15 2001-08-13 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 半導体メモリ装置及びその制御方法
JPH09319645A (ja) 1996-05-24 1997-12-12 Nec Corp 不揮発性半導体記憶装置
US5832525A (en) * 1996-06-24 1998-11-03 Sun Microsystems, Inc. Disk fragmentation reduction using file allocation tables
JP2843306B2 (ja) * 1996-08-02 1999-01-06 山一電機株式会社 Icメモリーカードにおける保護装置
JPH1049257A (ja) 1996-08-05 1998-02-20 Yokogawa Electric Corp 情報処理装置
US5937423A (en) * 1996-12-26 1999-08-10 Intel Corporation Register interface for flash EEPROM memory arrays
JP3588231B2 (ja) 1997-08-04 2004-11-10 東京エレクトロンデバイス株式会社 データ処理システム及びブロック消去型記憶媒体
JP4079506B2 (ja) 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
US6278678B1 (en) * 1999-02-12 2001-08-21 Sony Corporation Editing apparatus, editing method, and recording medium
JP3524428B2 (ja) * 1999-04-20 2004-05-10 東京エレクトロンデバイス株式会社 記憶装置、記憶システム、メモリ管理方法及び記録媒体
US6301646B1 (en) * 1999-07-30 2001-10-09 Curl Corporation Pointer verification system and method
US7318117B2 (en) * 2004-02-26 2008-01-08 Super Talent Electronics, Inc. Managing flash memory including recycling obsolete sectors
CN100442393C (zh) * 1999-10-21 2008-12-10 松下电器产业株式会社 半导体存储卡的访问装置、初始化方法和半导体存储卡
US6377500B1 (en) * 1999-11-11 2002-04-23 Kabushiki Kaisha Toshiba Memory system with a non-volatile memory, having address translating function
US7003771B1 (en) * 2000-06-08 2006-02-21 International Business Machines Corporation Logically partitioned processing system having hypervisor for creating a new translation table in response to OS request to directly access the non-assignable resource
US6684289B1 (en) * 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
JP4037605B2 (ja) * 2000-12-04 2008-01-23 株式会社東芝 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法
JP3579389B2 (ja) * 2001-11-30 2004-10-20 株式会社東芝 ディスクアレイ装置及び同装置におけるデータ復旧方法
JP4206688B2 (ja) * 2002-04-15 2009-01-14 ソニー株式会社 データ処理装置及びデータ処理方法
US7076634B2 (en) * 2003-04-24 2006-07-11 International Business Machines Corporation Address translation manager and method for a logically partitioned computer system
US20050144363A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management
JP4859837B2 (ja) * 2005-09-22 2012-01-25 パナソニック株式会社 情報記録媒体アクセス装置、及びデータ記録方法

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000090004A (ja) * 1998-09-11 2000-03-31 Fujitsu Ltd メモリ管理テーブル作成方法及びメモリ装置
WO2000016199A1 (fr) * 1998-09-11 2000-03-23 Fujitsu Limited Procede permettant de realiser une table de gestion de memoire et dispositif de memoire
US6625712B2 (en) 1998-09-11 2003-09-23 Fujitsu Limited Memory management table producing method and memory device
US8661553B2 (en) 1999-04-27 2014-02-25 Panasonic Corporation Semiconductor memory card and data reading apparatus, and data reading/reproducing apparatus
US7996914B2 (en) 1999-04-27 2011-08-09 Panasonic Corporation Semiconductor memory card and data reading apparatus, and data reading/reproducing apparatus
US8127368B2 (en) 1999-04-27 2012-02-28 Panasonic Corporation Semiconductor memory card and data reading apparatus, and data reading/reproducing apparatus
US6377500B1 (en) 1999-11-11 2002-04-23 Kabushiki Kaisha Toshiba Memory system with a non-volatile memory, having address translating function
US6459644B2 (en) 2000-06-06 2002-10-01 Hitachi, Ltd. Semiconductor memory device with block alignment function
KR100441587B1 (ko) * 2000-06-06 2004-07-23 가부시키가이샤 히타치세이사쿠쇼 블록 얼라인먼트 기능을 갖는 반도체 기억 장치
JP2002091806A (ja) * 2000-09-20 2002-03-29 Olympus Optical Co Ltd ファイルシステム
JP2003058419A (ja) * 2001-08-07 2003-02-28 ▲金▼創科技股▲ふん▼有限公司 ウィンドウベース・フラッシュメモリー記憶システムとその管理方法ならびにアクセス方法
KR100437609B1 (ko) * 2001-09-20 2004-06-30 주식회사 하이닉스반도체 반도체 메모리 장치의 어드레스 변환 방법 및 그 장치
US7127551B2 (en) 2001-11-16 2006-10-24 Samsung Electronics Co., Ltd. Flash memory management method
JP2003167795A (ja) * 2001-11-16 2003-06-13 Samsung Electronics Co Ltd フラッシュメモリの管理方法
JP2006504201A (ja) * 2002-10-28 2006-02-02 サンディスク コーポレイション 不揮発性記憶システムにおける自動損耗均等化
JP2006509304A (ja) * 2002-12-09 2006-03-16 サンディスク コーポレイション 不揮発性メモリにおける欠陥のためのゾーン境界調整
US9665478B2 (en) 2002-12-09 2017-05-30 Innovative Memory Systems, Inc. Zone boundary adjustments for defects in non-volatile memories
KR100992583B1 (ko) * 2002-12-09 2010-11-05 쌘디스크 코포레이션 비휘발성 메모리 내의 결함에 대한 존 경계 조정
US8904142B2 (en) 2003-09-23 2014-12-02 Kabushiki Kaisha Toshiba Semiconductor memory system controlling writing of data to nonvolatile memories using consecutive logical addresses
US7353324B2 (en) 2003-09-29 2008-04-01 Kabushiki Kaisha Toshiba Semiconductor storage device and method of controlling the same
US7958288B2 (en) 2003-09-29 2011-06-07 Kabushiki Kaisha Toshiba Semiconductor storage device and method of controlling the same
US7958287B2 (en) 2003-09-29 2011-06-07 Kabushiki Kaisha Toshiba Semiconductor storage device and method of controlling the same
US7996634B2 (en) 2003-09-29 2011-08-09 Kabushiki Kaisha Toshiba Memory system with controller for managing management data and reverse flag for reversing write data
US8001337B2 (en) 2003-09-29 2011-08-16 Kabushiki Kaisha Toshiba Memory system with controller for managing management data and reverse flag for reversing write data
US8706978B2 (en) 2003-09-29 2014-04-22 Kabushiki Kaisha Toshiba Semiconductor storage device having nonvolatile flash and ram with simultaneous data copy and data receive
US8397035B2 (en) 2003-09-29 2013-03-12 Kabushiki Kaisha Toshiba Semiconductor memory system with first and second nonvolatile memories storing user and management data and a controller controlling read/write of the memories and having simultaneous data transfer in and out of one of the memories
JP2006048227A (ja) * 2004-08-02 2006-02-16 Sony Corp メモリ装置、メモリ装置の制御方法およびデータ処理システム
US7369454B2 (en) 2005-03-11 2008-05-06 Kabushiki Kaisha Toshiba Semiconductor integrated circuit device
JP2006331378A (ja) * 2005-05-24 2006-12-07 Prolific Technology Inc フラッシュメモリ保存システム
JP2007272996A (ja) * 2006-03-31 2007-10-18 Ricoh Co Ltd フェードインメモリと情報記録方法および情報再生方法
KR100817087B1 (ko) 2007-02-13 2008-03-27 삼성전자주식회사 플래시 메모리를 구비하는 스토리지 장치에서의 버퍼 캐시운용 방법
JP2008047155A (ja) * 2007-10-26 2008-02-28 Renesas Technology Corp 一括消去型不揮発性メモリおよび携帯電話
US8443144B2 (en) 2008-03-12 2013-05-14 Samsung Electronics Co., Ltd. Storage device reducing a memory management load and computing system using the storage device
JP2013525886A (ja) * 2010-04-16 2013-06-20 マイクロン テクノロジー, インク. メモリデバイスおよびシステム中のブートパーティション
US9342371B2 (en) 2010-04-16 2016-05-17 Micron Technology, Inc. Boot partitions in memory devices and systems
US8438454B2 (en) 2011-03-23 2013-05-07 Kabushiki Kaisha Toshiba Semiconductor memory device and controlling method
JP2012203925A (ja) * 2011-03-23 2012-10-22 Toshiba Corp 半導体記憶装置
US8924636B2 (en) 2012-02-23 2014-12-30 Kabushiki Kaisha Toshiba Management information generating method, logical block constructing method, and semiconductor memory device

Also Published As

Publication number Publication date
KR100365385B1 (ko) 2003-04-08
US8230156B2 (en) 2012-07-24
US20050007865A1 (en) 2005-01-13
CA2245271C (en) 2002-01-01
US20050005059A1 (en) 2005-01-06
US6845438B1 (en) 2005-01-18
US20100023680A1 (en) 2010-01-28
TW392173B (en) 2000-06-01
JP4079506B2 (ja) 2008-04-23
KR19990023469A (ko) 1999-03-25
EP0896280A2 (en) 1999-02-10
CA2245271A1 (en) 1999-02-08
EP1533703A3 (en) 2007-10-24
US20100138606A1 (en) 2010-06-03
US7054991B2 (en) 2006-05-30
US20080059695A1 (en) 2008-03-06
KR20020075310A (ko) 2002-10-04
KR100438012B1 (ko) 2004-07-02
EP0896280A3 (en) 2004-05-12
EP1533703A2 (en) 2005-05-25
US9009387B2 (en) 2015-04-14
US8756401B2 (en) 2014-06-17

Similar Documents

Publication Publication Date Title
JP4079506B2 (ja) 不揮発性半導体メモリシステムの制御方法
KR100622349B1 (ko) 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
CN105975399B (zh) 用来管理一记忆装置的方法以及其相关的记忆装置
US8259498B2 (en) Continuous address space in non-volatile-memories (NVM) using efficient management methods for array deficiencies
US7680977B2 (en) Page and block management algorithm for NAND flash
US6865658B2 (en) Nonvolatile data management system using data segments and link information
US7404031B2 (en) Memory card, nonvolatile semiconductor memory, and method of controlling semiconductor memory
US6687784B2 (en) Controller for controlling nonvolatile memory unit
US20100146239A1 (en) Continuous address space in non-volatile-memories (nvm) using efficient embedded management of array deficiencies
US20220317879A1 (en) Control method of flash memory controller and associated flash memory controller and storage device
JPH10124384A (ja) 不揮発性半導体メモリの制御方法
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
US7657697B2 (en) Method of controlling a semiconductor memory device applied to a memory card
US20220318133A1 (en) Control method of flash memory controller and associated flash memory controller and storage device
JP2007293917A (ja) メモリシステムの制御方法
JP3620478B2 (ja) 記憶装置、この記憶装置を用いたデータ処理システム及びデータ読み出し方法
JP3788205B2 (ja) 記憶装置、データ処理システム、データの書き込み及び読み出し方法並びにデータ処理装置
JP3769395B2 (ja) 不揮発性メモリを使用した外部記憶装置
JP2012037971A (ja) メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法
US20220317878A1 (en) Control method of flash memory controller and associated flash memory controller and storage device
CN106326131B (zh) 存储器管理方法、存储器控制电路单元及存储器存储装置
CN116027964A (zh) 存储装置及其操作方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071102

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071228

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: 20080125

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080205

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees