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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
- G11C16/225—Preventing erasure, programming or reading when power supply voltages are outside the required ranges
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/143—Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking 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
と、複数のメモリセルにより構成され、前記論理ブロッ
クに対応するデータを記憶する物理ブロックと、前記物
理ブロック中に含まれ、前記対応する論理ブロックのア
ドレスを記憶する冗長部と、前記物理ブロックが少なく
とも2以上で構成される物理ブロックエリアとを具備
し、前記論理ブロックと前記物理ブロックエリアとの対
応関係を管理するための論理番地/物理番地変換テーブ
ルを作成する。
Description
モリシステムの制御方法に関し、特に不揮発性半導体メ
モリカードの制御に使用されるものである。
カードがデジタルスチールカメラやPDA等の携帯情報
機器の記憶媒体として注目されている。フラッシュメモ
リとしてNAND型フラッシュメモリと呼ばれるフラッ
シュメモリが使用され販売がなされている。
のプラスチックパッケージ1にわずかな窪みが設けられ
ておりその窪みに22ピンの平面電極を有するフラッシ
ュメモリ2が埋め込まれている。本フラッシュメモリカ
ードは専用のコネクタを介してホストシステムに電気的
に接続され、データの入出力を行うというものである。
信号のやり取りを行うので、メモリカードの各端子とコ
ネクタの端子との接触が不完全だった場合には、誤動作
する可能性が大きくなる。このため、メモリカードの各
端子と情報処理機器のコネクタの端子とが確実に接触し
ているかどうかを確認する方法が考案されてきた。
ステムでは、メモリカードの各端子とコネクタの対応す
る端子は同時に接続/切断されていたので、挿入/抜去
時において、接続/切断のタイミングの僅かなズレが生
じることがある。このため、例えば、電源が供給されて
いる状態で、コマンドラッチイネーブル信号等の制御信
号が不定になると、意図しない書込みまたは消去コマン
ド等が取り込まれデータを破壊する可能性があり、メモ
リカードとコネクタの挿抜制御には細心の注意が必要で
あった。
NAND型フラッシュメモリの場合を例に取ると、図2
に示すように、フラッシュメモリは512個の物理的な
メモリブロックに分割されている。このブロックは消去
時の最小単位となっている。1ブロックはさらに16ペ
ージに分割される。1ページは書き込みおよび読み出し
の基本的な単位となる。1ページは264バイトから構
成され、うち256バイトはユーザーデータ領域(デー
タ部)、残りの8バイト(冗長部)はエラー訂正符号お
よび管理情報等の格納(冗長部)に使用される。
3に示す論理ブロックによって管理される。論理ブロッ
ク(LBA:Logical Block Address )は500個設定
されており、1個の論理ブロックは連続した8セクタに
相当する。すなわち、論理ブロック0は論理セクタ0〜
7を意味する。
2バイト)単位で管理されるため、本メモリカードでも
512バイト単位でのデータ管理を基本とすべく物理ブ
ロックの2ページをペアとして論理ブロックの1セクタ
分のデータを記憶させる。データの具体的な格納方法を
図4に示す。
部とも“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に示すように、フラッシュメ
モリは1024個の物理的なメモリブロックに分割され
ている。このブロックは消去時の最小単位となってい
る。1ブロックはさらに16ページに分割される。1ペ
ージは書き込みおよび読み出しの基本的な単位となる。
1ページは528バイトから構成され、うち512バイ
トはユーザーデータ領域(データ部)、残りの16バイ
ト(冗長部)はエラー訂正符号および管理情報等の格納
(冗長部)に使用される。論理ブロックは図6に示すよ
うに、1000個に設定されており、1個の論理ブロッ
クは連続した16セクタに相当する。すなわち論理ブロ
ック0は論理セクタ0〜15を意味する。64Mビット
NAND型フラッシュメモリのデータ格納方法を図7に
示す。
タ更新時は消去済み領域に更新データを書き込み、元の
データが存在する領域を消去するという、追加書き込み
方式を採用しているため、ある論理ブロックに対応する
データが存在する物理ブロックは、固定では無く、常に
メモリ内を移動している。したがって、図8に示すよう
に物理ブロックの冗長部には自分がどの論理ブロックに
対応するデータを保持しているかを示す論理ブロックア
ドレス情報を記憶している。ここで、図4および図7中
のBlock Address Area−1及びBl
ock Address Area−2が、対応する論
理ブロックアドレスに相当する。
ックの該論理ブロックアドレス情報格納領域をサーチ
し、システムRAM上に、論理ブロックと物理ブロック
の変換テーブルを作る。一度テーブルを作成した後は、
該テーブルを参照すれば、論理ブロックに対応する物理
ブロックがすぐに判断可能なため、全ブロックのサーチ
動作は電源投入時に1回行われる。当然のことながら、
データの更新を行い、対応する物理ブロックの位置が変
化した場合、メモリシステムは、論理番地/物理番地変
換テーブルの更新作業を行い、次のアクセスに備えるこ
とになる。
は、前記論理番地/物理番地変換テーブルに要するRA
M領域が膨大になってしまうという第1の問題点があっ
た。以下にその内容を詳述する。
メモリの論理番地/物理番地変換テーブルを図9に示
す。上述したように、1論理ブロック分のデータ、すな
わち連続した8セクタ分のデータは、フラッシュメモリ
中の512ブロックのうちのいずれかの物理ブロックに
存在する。512個の物理ブロックから1個のブロック
を選択するには、9ビット必要となる。ソフトウェアの
利便性に配慮してオフセットがそのまま物理ブロックを
指し示す様にテーブルを構成すると、1論理ブロックに
対し2バイト、計1KBのRAM領域が必要となる。例
えば、論理ブロック5の情報が格納されている物理ブロ
ックの番地はテーブルの先頭からオフセット5ワード
(10バイト)目に格納される。
いては、論理番地/物理番地変換テーブルが必要とする
RAM領域が非常に大きいという問題点があった。通常
よく用いられる、汎用CPUでは内蔵RAMとして1K
B程度のRAMを搭載しているのが一般的である。従っ
て、従来は、論理番地/物理番地変換テーブルだけで1
KBを使用する必要があり、内蔵RAMのみではシステ
ム構成ができず、外づけのRAMをシステムとして有す
ることが条件となりコストアップの大きな要因となって
いた。
ラッシュメモリの論理番地/物理番地変換テーブルを示
す。この場合、1論理ブロック分のデータ、すなわち連
続した16セクタ分のデータはフラッシュメモリ中の1
024ブロックのうちのいずれかの物理ブロックに存在
する。1024個の物理ブロックから1個の物理ブロッ
クを選択するには、10ビット必要となることから、合
計2KBのRAM領域が必要となる。このため、16ビ
ットNAND型フラッシュメモリ同様膨大なRAM領域
が必要となる。
きくなるほど深刻になる。例えば、1Gビットの時代に
なるとブロック数は8192個になるため、16KBの
RAM容量が必要となる。
ラッシュメモリの物理ブロックの冗長部に論理アドレス
を格納できないという第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種類のプログラムを用意しない限り、広範囲の
容量のフラッシュメモリを制御できず、ホストシステム
のプログラム格納領域の容量を圧迫する問題が発生す
る。
について簡単に述べる。フラッシュメモリの書き込みは
ページ単位で一括で実行される。64MビットNAND
型EEPROMの場合は1ページ528バイトである。
また消去はブロック単位で実行される。64MビットN
AND型EEPROMは16ページで1ブロックを構成
する。このようにNAND EEPROMでは書き込み
と消去の単位が異なる。従ってあるページのみを消去し
てデータを更新する事は出来ない。
する場合には一般的にDOS支配下のドライブとして取
り扱われる。図12に従来のDOSフォーマットパラメ
ータを示す。ここでは、図12(a)として、クラスタ
サイズ4KBの場合、図12(b)としてクラスタサイ
ズが8KBの場合を示している。クラスタとはDOSの
ファイル管理の基本最小単位で、ファイルサイズが非常
に小さくても1個のクラスタ分の容量は占有する。ファ
イルサイズが大きい場合は、複数個のクラスタのチェー
ンとして管理され、その管理情報はFAT(File Alloc
ation Table)に格納される。クラスタのサイズやFAT
の管理方法等はブートセクタと呼ばれるセクタ内で管理
される。1個のデバイスが複数個のドライブとして管理
される場合は、マスターブートセクタにその情報が格納
される。ファイルの書き込みとしては、OSからクラス
タ単位で書き込み命令が発行される。
(a)に示す。論理セクタ0にマスターブートセクタ、
論理セクタ16にブートセクタ、論理セクタ17〜22
にFAT、論理セクタ23〜28にFATのコピー、論
理セクタ29〜44にディレクトリー、論理セクタ45
以降にファイルデータ領域が配置されている。
(b)に示す。論理セクタ0にマスターブートセクタ、
論理セクタ16にブートセクタ、論理セクタ17〜19
にFAT、論理セクタ20〜22にFATのコピー、論
理セクタ23〜38にディレクトリー、論理セクタ39
以降にファイルデータ領域が配置されている。
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ブロックに対する消去動
作が実施されたことになる。
る書き込みシーケンスを説明する。この場合論理セクタ
の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ブロックに対する消去動作が実施されたこ
とになる。
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ブロックに対する消去動作
が実施されたことになる。
合を同じ8KBのデータが書き込まれる場合を想定し比
較すると、クラスタサイズが4KBの場合は、2回の書
き込みに処理が分割され合計48セクタの書き込みおよ
び3ブロック分の消去動作が発生する。これに対し、ク
ラスタサイズが8KBの場合は、1回の書き込みに処理
が集約され合計32セクタの書き込みおよび2ブロック
分の消去動作が発生することになる。
から見て更新されたセクタ数に比較し、実際にデバイス
上で実行された書き込み動作および消去動作がはるかに
多くなるため、外部からみた書き換え速度が遅くなると
言う第2の問題点があった。
イル消去コマンド実行時の動作について説明する。通常
DOSのファイルシステムにおいては、ファイル消去コ
マンド実行時に、ディレクトリー上に該当ファイルが無
効である旨のマーキングを行い、該当ファイルが占有し
ていたメモリ領域をFAT(File Allocation Table)上
で開放する。従って、ファイル本体のデータ部分はフラ
ッシュメモリ上に消去されずに残っている。消去コマン
ド実行時の管理領域とデータ領域の関係を図16に示
す。図16において、例えばFile−1とFile−
4の消去コマンドを実行した場合、管理領域のFile
−1とFile−4が開放されdel.markがマー
キングされる。このときデータ領域においてはFile
−1、File−4は消去されない。
に、前記開放された領域に対し新たなファイルのデータ
部分が書き込まれる際に、まずフラッシュメモリの消去
動作が必要となる。このため、ファイル書き込み時に必
ずフラッシュメモリの消去動作を伴い、ファイル書き込
み速度を劣化させるという第3の問題点が生じる。
ページデータ(256バイト)の3バイトECCコード
である。ECC Area−2は、奇数ページデータ
(256バイト)の3バイトECCコードである。
はエラー訂正のための符号をさす。システムはこのエラ
ー訂正用の符号を利用し、読み出したデータにエラーが
あるか否かを判定し、エラーが存在する場合、エラーを
訂正することができる。必要なエラー訂正能力はフラッ
シュメモリ自身の信頼性、例えばメモリのセル構造に依
存する。フラッシュメモリには複数のデータ記憶方法が
あり、これらのフラッシュメモリを例えばデジタルスチ
ルカメラやPDA等のシステムに用いた場合のエラー訂
正について考える。
は、図17に示すようにメモリセルのしきい値に応じ
た、“0”と“1”の2値の値を保持し、1ページ(2
56バイト)に対して1ビットエラー訂正用の符号を持
たせている。また、第2のフラッシュメモリカードは、
図18に示すようにメモリセルのしきい値に応じた、
“00”と“01”と“10”と“11”の4値(2ビ
ット分)の値を保持し、1個のメモリセルが破壊される
と2ビット分のデータが破壊される可能性があるため、
1ページ(256バイト)に対して2ビットエラー訂正
用の符号を持たせている。1ビットエラー訂正用と2ビ
ットエラー訂正用では符号の生成、およびエラーの検
出、訂正に関してはアルゴリズムが異なる。
カメラや、PDA等)では図19に示すように1種類の
エラー訂正アルゴリズムのみ搭載していた。このため、
上記第1および第2のどちらかのフラッシュメモリカー
ドしか読めないという第4の問題点が生じ、フラッシュ
メモリの市場での汎用性を高める上での障害となってい
た。
第5の実施例に係る発明は、上記第1の問題点を鑑みて
なされ、論理番地/物理番地変換テーブルで必要となる
RAMの容量を低減し、汎用CPUの内蔵RAMのみで
フラッシュメモリを制御する方法を提供し、これにより
従来必要であった外付けRAMを不要となし、大幅なコ
ストダウンを実現することを目的とする。
は、上記第2の問題点を鑑みてなされ、物理ブロックに
おいて、DOS上のファイル管理の基本単位であるクラ
スタの区切れが、消去の単位となるブロックをまたがな
いようにする方法を提供し、データの高速書込みを実現
することを目的とする。
は、上記第3の問題点を鑑みてなされ、消去コマンド実
行時に物理ブロックの管理領域を解放すると同時に、そ
のデータ領域の消去も行うことにより、その後の書込み
コマンド実行時の処理速度の向上を実現することを目的
とする。
は、上記第4の問題点を鑑みてなされ、2値/多値等の
2種類のフラッシュメモリカードのいずれもまたは更に
複数のフラッシュメモリがサポート可能なシステムを提
供することにある。
として、本発明の第1の実施例に係る発明では、システ
ムが管理する論理ブロックと、複数のメモリセルにより
構成され、前記論理ブロックに対応するデータを記憶す
る物理ブロックと、前記物理ブロック中に含まれ、前記
対応する論理ブロックのアドレスを記憶する冗長部と、
前記物理ブロックが少なくとも2以上で構成される物理
ブロックエリアとを具備し、前記論理ブロックと前記物
理ブロックエリアとの対応関係を管理するための論理番
地/物理番地変換テーブルを作成するメモリシステムの
制御方法を提供する。
いて、メモリアクセス時に、前記論理番地/物理番地変
換テーブルを参照し前記論理ブロックに対応する物理ブ
ロックエリアのアドレスを読み出し、前記物理ブロック
エリアを構成する少なくとも2以上の物理ブロックの前
記冗長部に記憶される対応する論理ブロックのアドレス
を読み出すことにより、前記論理ブロックと対応する物
理ブロックを選択するメモリシステムの制御方法を提供
する。
ブルを電源投入時に、作成するメモリシステムの制御方
法を提供する。
発明の第2の実施例に係る発明では、データの高速書き
換えを実現する手段として、本発明ではシステムが管理
するファイルと、少なくとも1以上の前記ファイルを記
憶する複数のブロックとを有し、前記ブロック内で、前
記ファイルの先頭が前記ブロックの先頭部と一致するよ
う配置されることを特徴とするメモリシステムの制御方
法を提供する。
であることを特徴とするメモリシステムの制御方法を提
供する。
発明の第3の実施例に係る発明では、システムが管理す
るファイルと、前記ファイルの内容を記憶するデータ領
域と、前記ファイルとデータ領域の対応関係を記憶する
管理領域とを有し、前記ファイルの消去を行う時に、前
記管理領域に対応するデータ領域が空き領域である旨を
マークし、対応する前記データ領域の消去を行うことを
特徴とするメモリシステムの制御方法を提供する。ま
た、消去エリアへのデータの高速書込みを実現する第2
の手段として、本発明ではシステムが管理するファイル
と、前記ファイルの内容を記憶するデータ領域と、前記
ファイルとデータ領域の対応関係を記憶する管理領域と
を有し、前記ファイルの消去を行う時に、前記管理領域
に対応するデータ領域が空き領域である旨をマークして
おき、メモリシステムに入力される信号に基づいて、前
記管理領域の内容を検知し対応するデータ領域の消去を
行うことを特徴とするメモリシステムの制御方法を提供
する。
本発明の第4の実施例に係る発明では、不揮撥性半導体
メモリシステムの制御方法において、セルアレイを複数
個の物理ブロックに分割し、前記各物理ブロックにこの
システムが管理する前記論理ブロックとの対応付けの情
報を記憶させ、前記論理ブロックと前記物理ブロックと
の対応関係を管理するためのテーブルを前記システムの
RAM上に保持するに当り、前記論理ブロックと前記物
理ブロックの対応関係のうち、ホストからのアクセスに
応じて必要な領域のみの対応関係を前記システム内の前
記RAM上に逐次作成することを特徴とする不揮撥性半
導体メモリシステムの制御方法を提供する。
本発明の第5の実施例に係る発明では、不揮撥性半導体
メモリシステムの制御方法において、不揮撥性半導体メ
モリによるセルアレイを複数個の物理ブロックに分割
し、前記各物理ブロックに、このシステムが管理する論
理ブロックアドレスとの対応付けの情報を記憶させ、上
記物理ブロックと上記論理アドレスとの対応関係を管理
するためのアドレス変換テーブルをこのシステムのRA
M上に作成するに当り、少なくとも1個以上の上記物理
ブロックをそれぞれ集合することにより複数の領域が構
成し、所定の上記論理ブロックのアドレス範囲のデータ
は所定の上記領域内に格納されるように制御し、上記不
揮撥性半導体メモリに対するアクセス時に、該当する上
記論理ブロックアドレスのデータが格納されている上記
領域に対応する上記アドレス変換テーブルを、必要に応
じ作成することを特徴とする不揮撥性半導体メモリシス
テムの制御方法を提供する。また、不揮撥性半導体メモ
リシステムの制御方法において、不揮撥性メモリによる
セルアレイを複数個の物理ブロックに分割し、前記各物
理ブロックの記憶領域にこのシステムが管理する前記論
理ブロックとの対応付けの情報を記憶させ、前記論理ブ
ロックとフラッシュメモリの物理ブロックとの対応関係
を管理するためのテーブルをこのシステムのRAM上に
形成する制御方法であって、1個あるいは複数個の前記
物理ブロックから構成される領域を、前記フラッシュメ
モリのセルアレイ上に確保し、メモリアクセス時毎にア
クセス対象となる前記領域について、該領域を構成する
物理ブロックの記憶領域をサーチし論理ブロックと物理
ブロックとの対応関係を管理する前記テーブルをこのシ
ステムのRAM上に作成し、該テーブルを使用すること
により、論理ブロックに対応する物理ブロックを選択可
能としたことを特徴とする不揮発性半導体メモリシステ
ムの制御方法を提供する。
本発明の第6の実施例に係る発明では、本体に対して数
種類のメモリ装置が着脱により交換可能とされた不揮発
性半導体メモリシステムの制御方法において、前記本体
に装着された前記メモリ装置に応じて、前記本体が有す
る数種類のエラー訂正手段のうちの対応するものを選択
してエラー訂正を行わせることを特徴とする不揮発性半
導体メモリシステムの制御方法を提供する。
細に説明する。本実施例は、論理番地/物理番地変換テ
ーブルに必要なRAM領域の容量の削減を行ったフラッ
シュメモリカードについてである。
テムの、物理ブロックの構造と論理ブロックの関係につ
いて説明する。
造及び物理ブロック内のデータ構成は、従来技術の項で
説明したもの同様で、図2および図4に示される。以下
に、図4を用いて、本発明のメモリシステムにおける物
理ブロック内の各々のバイトの意味を説明する。
ータのうち、前半の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コードである。
例では256バイト(2048ビット)単位のデータに
対しECC符号を生成する。1ビット訂正の機能を持た
せるために、256バイトに対し22ビットのECCデ
ータを使用している。256バイトは図20に示すよう
に、データに並べたものである。
048bitの1bit目(アドレス;0000000
0 000)となり、256Byte目の入力のbit
7が2048bitの2048bit目(アドレス;1
1111111 111)となる。
カラムパリティ(CP))は図21に示す条件を満足す
る1024ビットの奇数パリティとして算出される。
ト(8ビット)でデータが入力される毎に更新される。
ECC符号の生成をソフトウェアで行う場合は、1バイ
トの入力(256通り)に対してのカラムパリティ計算
結果を予めシステム内のROM上に持つ方法が考えられ
る。この方法により、ビット単位の演算が不要になり、
計算時間が大幅に短縮できる。またバイトの入力(25
6通り)に対してのカラムパリティ計算結果を電源投入
時に一括で計算し、RAM上に保持する方法も考えられ
る。前案に比較しROMは無くて済むが、代わりにRA
M領域が必要となる。
ラッシュメモリカードの電源投入時の制御フローチャー
トである。以下にフローに従い説明する。 (ステップS1) コネクタにメモリカードが挿入され
たことを受けて、電源電圧の検知を行う。 (ステップS2) メモリカードのIDコードを読み出
し、記憶容量を読みとる。 (ステップS3) もしシステムがサポートしていない
IDコードが読み出されたらリジェクトする。 (ステップS4) 物理フォーマットの確認を行う。物
理番地の先頭ブロックの情報を読む。 (ステップS5) もしシステムがサポートしていない
フォーマットがなされていればリジェクトする。 (ステップS6) 論理番地/物理番地変換テーブルを
作るとともに、次の書き込み動作で書き込みを行うため
の消去済み領域を選択する。
入時に作成する論理番地/物理番地変換テーブルの作成
のフローチャートを示す。 (ステップS1) 論理番地/物理番地変換テーブルが
入るRAM領域をリセットする。 (ステップS2) 次のデータ書き込みに使用される消
去済みのブロックを記憶するテーブル領域をリセットす
る。 (ステップS3) 物理ブロックの1からサーチを開始
する。 (ステップS4) ブロックの冗長部を読み出す。 (ステップS5) 所定領域のデータを元に該ブロック
が正常なブロックか否かを判断する。不良ブロックの場
合以下に続く処理は不要となり、次のブロックのサーチ
に移行する。 (ステップS6) 消去済みのエリアかどうかを判断す
る。 (ステップS7) 消去済みのブロックであれば次の書
き込みの際に使用するブロックの候補としてテーブル上
に格納する。 (ステップS8) 消去済みのエリアで無ければ、論理
アドレス情報領域を抽出する。このとき、パリティチェ
ックを行い妥当性を確認する。 (ステップS9) 上記内容をもとに論理番地/物理番
地変換テーブルを作成する。 (ステップS10) 物理ブロック番号のカウントアッ
プ。 (ステップS11) 512ブロックサーチしたら終
了。
地/物理番地変換テーブルを図24に示す。図24に示
す物理ブロックエリア(Physical Block Area )とは、
連続した2個の物理ブロックの集合体を意味する。例え
ば、物理ブロックエリア0とは、物理ブロック0と物理
ブロック1を示す。本テーブルでは1個の論理ブロック
に対して1個の物理ブロックエリアを割り付けている。
例えば、論理ブロック0に対し、物理ブロックエリア5
が割り振られている場合、物理ブロックの10もしくは
11が実際の論理ブロック0のデータを記憶しているこ
とになる。従って、実際にアクセスする時には、物理ブ
ロック10および11の冗長部の論理アドレスとの関連
を示すデータ領域を検索し、どちらが論理ブロック0の
データを本当に格納しているのかを判断する必要があ
る。しかし、極めて限定された領域をリードするのみで
済むため、メモリアクセスの性能に及ぼす影響はほとん
どない。
56個(512/2)存在し、8ビットのデータによっ
て記述する事が可能となる。ソフトウェアの利便性に配
慮してオフセットがそのまま物理ブロックを指し示す様
にテーブルを構成すると、1ブロックに対して1バイ
ト、計0.5KBのRAM領域が必要となる。例えば、
論理ブロック5の情報が格納されている物理ブロックエ
リアの番地はテーブルの先頭からオフセット5バイト目
に格納される。
であった1KBのRAM容量に対し半分となる。汎用C
PUは通常1KB程度のRAM領域をもっているが、本
実施例によって得られた0.5KBのRAM領域の削減
は非常に大きな役割をしめる。
を設けなくても、本実施例によって得られた0.5KB
の空き領域を使用する事によってシステムを構成する事
が可能となりコストダウンをはかることができる。
クエリアとして4物理ブロックを定義しても良いし、さ
らに大きなブロック数を想定しても構わない。
カードの読み出し時の動作フローチャートである。以下
にフローに従い説明する。 (ステップ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) 別のブロックへ移動する場合は、
論理ブロックをカウントアップし、ページのカウントも
リセットする。
説明する。書き込みは基本的に次の3部分の処理に大別
される。例えば、論理セクタ3を書き換える場合例に説
明する。更新はセクタ3のみだが、セクタ0から7の8
セクタ分のデータは同一ブロック上に存在するので、1
ブロックに対する処理が必要になる。
は、データの更新は無ので、論理セクタ0、1及び2の
データは、元々格納されていた論理ブロックから新しく
書き込みを行う物理ブロックへコピーされる。
のデータをコピーする必要はなく、ホストから与えられ
たデータを新たに書込みを行うブロックへ書き込む。
はないので、論理セクタ4〜7のデータは、元々格納さ
れていた物理ブロックから新しく書き込みを行う物理ブ
ロックへコピーする。
ー/更新データ書き込み/コピーの動作が基本となる。
勿論、書き込みがセクタ0〜7の様な場合は、1ブロッ
ク分全てのデータが更新されるのでコピー動作は不要と
なることは自明である。以下に示すフローチャートの分
岐は主にこれから書き込むセクタが更新データか、もし
くはコピー動作なのかを判断しながら進行することにな
る。
カードの書き込み時の動作フローチャートである。以下
にフローに従い説明する。 (ステップS1) ホストからデータの更新を行う先頭
セクタ番地と転送セクタ数を受け取る。 (ステップS2) 論理ブロック番号に変換し、論理番
地/物理番地変換テーブルを参照する。読み出し動作と
同様に論理ブロックエリアの2個のブロックから本当の
物理ブロックを選択する。ここで選択したブロックから
コピーすべきデータを吸い上げることになる。 (ステップS3) 物理ブロックの先頭から処理を開始
する。 (ステップS4) ブロック前半のコピー動作かもしく
はデータの更新かを判断する。 (ステップS5) コピーであれば、元ブロックからデ
ータを読み出し、新ブロックに書き込みを実行する。 (ステップS6) 次のセクタの処理に移行する。 (ステップS7) (ステップS4)で更新領域と判断
されたら、ホストから受け取った更新データを基に書き
込みを行う。 (ステップS8) 次のセクタの処理に移行する。 (ステップS9) ホストが要求するセクタ数書き込ん
だか確認する。 (ステップS10) (ステップS9)で要求数の書き
込みが終了したと判断された場合、ブロックの境界か否
かを判断する。未書き込みの領域が残っていれば、ブロ
ック後半のコピー動作に移行。ブロック境界であれば、
これ以上コピー動作を実行する必要はない。 (ステップS11) 元のブロックからデータを読み出
し、新ブロックに書き込む。 (ステップS12) 次のセクタの処理に移行する。 (ステップS13) (ステップS4)でホストの要求
するセクタ数の書き込みが終了していない場合は更なる
書き込みが必要だが、ブロック境界であれば、次の物理
ブロックに対する処理に移行する。 (ステップS14) 次にブロック処理に移行または、
処理を終了する前に、書き込みを行った結果をもとに論
理番地/物理番地変換テーブルの更新を行い、さらに元
データが存在した物理ブロックを消去し、次の処理での
新たな書き込み領域としての候補領域として登録する。 (ステップS15) 次のブロックの処理に移行する。
ステムの制御方法によれば、RAM領域の大幅な削減が
実現できる。これは、従来のメモリカードシステムは論
理番地/物理番地変換テーブルで必要なRAM容量が大
きく、汎用CPUの内蔵RAMのみではシステム構成が
できず、外づけのRAMを設けることが条件となってい
たに対して、本発明のメモリカードシステムは論理番地
/物理番地変換テーブルとして必要なRAMの容量を低
減し、汎用CPUの内蔵RAMのみ制御可能としたフラ
ッシュメモリを制御する方法を用いるからである。この
ことにより、従来必要であった外付けRAMを不要と
し、大幅なコストダウンを実現することが可能となる。
に説明する。本実施例は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フォーマットパラメータの内、ブートセ
クタの配置される場所を調整することにより実現でき
る。
KBの場合を例に書き込みシーケンスを説明する。クラ
スタサイズは4KBなので、連続した8セクタ分の書き
込み命令がOSから発行される。このとき論理セクタの
48〜55(クラスタA)に対する書き込み(データ更
新)が発生する。 1) 消去済み新領域を探し、論理セクタ48〜55ま
での新データを新領域NAND BlockCに書き込む 2) 論理セクタ56〜63の元データを新領域NAND B
lockCにコピーする。 3) 元ブロックNAND BlockBを消去する。 4) 論理番地/物理番地変換テーブルの更新。
を実施した場合、実際デバイスとしては、論理セクタ4
8〜63の合計16セクタ(16ページ)の書き込み動
作と、NAND BlockBの1ブロックに対する消去動作が実
施されたことになる。
対する書き込みシーケンスを説明する。この場合論理セ
クタの56〜63(クラスタB)に対する書き込み(デ
ータ更新)が発生する。 1) 消去済み新領域を探し、論理セクタ48〜55ま
での元データを新領域NAND BlockCにコピーする。 2) 論理セクタ56〜63の新データを新領域NAND B
lockCに書き込む。 3) 元ブロックNAND BlockBを消去する。 4) 論理番地/物理番地変換テーブルの更新。
を実施した場合、実際デバイスとしては、論理セクタ4
8〜63の合計16セクタ(16ページ)の書き込み動
作と、NAND BlockBの1ブロックに対する消去動作が実
施されたことになる。
KBの場合を例に書き込みシーケンスを説明する。クラ
スタサイズは8KBなので、連続した16セクタ分の書
込み命令がOSから発行される。このとき論理セクタの
48〜63(クラスタA)に対する書き込み(データ更
新)が発生する。 1) 消去済み新領域を探し、論理セクタ48〜63ま
での新データを新領域NAND Block Cに書き込む。 2) 元ブロックNAND BlockBを消去する。 3) 論理番地/物理番地変換テーブルの更新。
えを実施した場合、実際デバイスとしては、論理セクタ
48〜63の合計16セクタ(16ページ)の書き込み
動作と、 NAND Block Bの1ブロックに対する消去動作
が実施されたことになる。
合を同じ8KBのデータが書き込まれる場合を想定し比
較すると、クラスタサイズが4KBの場合は、2回の書
き込みに処理が分割され合計32セクタの書き込みおよ
び2ブロック分の消去動作が発生する。これに対し、ク
ラスタサイズが8KBの場合は、1回の書き込みに処理
が集約され合計16セクタの書き込みおよび1ブロック
分の消去動作が発生することになる。
テムの書き換え速度と比較すると、クラスタが4KBの
場合では、8KBのデータを更新するのに48セクタの
書き込みおよび3ブロック分の消去動作が発生していた
ものが、32セクタの書き込みおよび2ブロック分の消
去動作となり、時間的に2/3に短縮されたことにな
る。また、クラスタが8KBの場合では、8KBのデー
タを更新するのに32セクタの書き込みおよび2ブロッ
ク分の消去動作が発生していたものが、16セクタの書
き込みおよび1ブロック分の消去動作となり、時間的に
1/2に短縮されたことになる。
であるクラスタの区切れが、フラッシュメモリの物理的
なブロックの境界をまたがないことにより、書き換え速
度の高速化がはかれる。
スタが4KBの場合では、8KBのデータを更新するの
に32セクタの書き込みおよび2ブロック分の消去動作
が発生していたものが、クラスタが8KBの場合では1
6セクタの書き込みおよび1ブロック分の消去動作とな
り、時間的に1/2になる。すなわち、クラスタのサイ
ズをフラッシュメモリの物理ブロックのサイズと同じに
することによってより高速な書き込みが可能となる。勿
論、クラスタのサイズがフラッシュメモリの物理ブロッ
クのサイズの整数倍の場合も同様の効果を得ることがで
きる。
に説明する。本実施例は消去後の書込みコマンド実行時
の処理速度を向上させたのフラッシュメモリカードにつ
いてである。
ムは、通常DOSのファイルシステムにおけるファイル
消去と異なり、ディレクトリ上に該当ファイルが無効で
ある旨のマーキングを行い、該当ファイルが占有してい
たメモリ領域をFAT(FileAllocation Table )上で
開放するのみならず、ファイル本体のデータ部分をフラ
ッシュメモリ上で消去することを特徴とする。すなわち
ファイルの消去命令時に、開放されたクラスタの領域に
対する消去動作を実施する。
データ領域の関係を示す。図31において、例えばFi
le−1とFile−4の消去コマンドを実行した場
合、管理領域のFile−1とFile−4が開放され
del.markがマーキングされ、さらにデータ領域
においてFile−1とFile−4が記憶されていた
領域は消去される。
が発生したときに選択されるクラスタは既に消去済みで
あるので、即座に書き込みが可能となり、ファイル書き
込み速度が向上する。一般にフラッシュメモリにおいて
は書き込みより消去の方が時間がかかるため、本実施例
によって達成されるファイル書き込み速度の向上効果は
顕著である。
れる条件は上述した第2の実施例から分かる様に、クラ
スタサイズとフラッシュメモリのブロックサイズを一致
させた場合である。クラスタサイズがフラッシュメモリ
のブロックサイズより小さい場合は、ブロックの一部分
を消去することになるが、処理が煩雑であることに加
え、仕様上ブロックの一部分のみが消去されている状態
を許さない場合もある。クラスタサイズとブロックサイ
ズが一致していれば、単純にブロックを消去する事によ
ってクラスタを開放できる。勿論クラスタサイズが物理
ブロックサイズの整数倍の場合も同様の効果が得られ
る。
で様々拡張が可能である。例えば、本実施例では、ファ
イル消去時にデータ領域の該当するクラスタへの消去動
作を実行したが、消去動作の実行タイミングはそれに限
られない。例えば、フォーマット動作を実行する時点で
全クラスタの消去動作を実行しても良い。勿論メモリカ
ードの出荷時点でデータ領域のクラスタを消去済みの状
態で出荷すると良い。通常メモリカードの出荷時にはメ
モリカードの出荷試験を実施する。このテスト終了時に
ディレクトリーおよびFATの書き換えによって、ファ
イルが無い状態にするだけでなく、本実施例のようにデ
ータ領域の消去動作を実行しておくと、エンドユーザー
の手に渡った時点で、ユーザーが手を加えることなく高
速なファイル書き込みが期待できる。
用する場合を考えると、カメラ上でのファイルの消去、
再フォーマット等の画像ファイルの消去を伴う動作時に
おいて、FAT等の書換のみならず、ファイル本体が格
納されていたクラスタ領域の消去を同時に実行すれば、
その後の画像書き込みシーケンスにおいて、高速書き込
みが可能となり、連写や動画の取り込み等が可能とな
る。この際には、クラスタサイズがデバイスのブロック
サイズの正数倍で、クラスタの区切れがブロックサイズ
の区切れと一致しているとファイル本体部分の消去が容
易となる。またデジタルカメラ等で電源の投入時等に自
動的に不要なファイル部分を消去するようにしても良
い。こうすれば、パソコン上で単純にFAT等の更新に
よってファイル消去がなされていたメモリカードに対し
ても、ユーザーの手を煩わせることなく書き込み高速化
が計れる。またそのタイミングは電源投入時にのみなら
ずいつでもかまわない。また、本発明はコンピュータシ
ステム上等で本メモリカードを使用する場合も同様の手
段により書き込みの高速化が計れる。
に発生する、消去および書き込み回数を減らすことが可
能なため、一般的に書換回数に制限のあるフラッシュメ
モリを使用する場合には、メモリの寿命をのばす効果も
有する。
ステムの制御方法によれば、DOSのファイル管理の単
位であるクラスタの区切れが、フラッシュメモリの物理
的なブロックの境界をまたがないことにより、データの
書換時に発生する消去および書き込み回数を減らすこと
が可能なため、書き換え速度の高速化が可能となる。さ
らに、一般的に書換回数に制限のあるフラッシュメモリ
を使用する場合には、メモリの寿命をのばすことも可能
となる。
に説明する。本実施例は、論理番地/物理番地変換テー
ブルに必要なRAM領域の容量の削減を行ったフラッシ
ュメモリカードについてである。
ーブル作成に際し、ホストからのアクセスを2種類に分
類する。例えば、ケース1は論理ブロック500個の
内、前半の250個の論理ブロックをアクセスしている
状態、ケース2は論理ブロック500個の内、後半の2
50個の論理ブロックをアクセスしている状態とする。
ケース1の場合は、論理番地/物理番地変換テーブルに
は前半250ブロック分のテーブルを保持させ、上記ケ
ース2の場合は、論理番地/物理番地変換テーブルは後
半250ブロック分のテーブルを保持させる。ケース1
の場合のテーブルの状態を図32(a)に示し、ケース
2の場合のテーブルの状態を図32(b)に示す。
半250個分のテーブルが存在していたとすると、ホス
トからのアクセス範囲が論理ブロックの後半0〜249
ならば、既存のテーブルを使用して論理ブロック−物理
ブロックの対応を検索することができる。
クの後半250個分のテーブルが存在していたとする
と、ホストからのアクセス範囲が論理ブロックの後半2
50〜499ならば、既存のテーブルを使用して論理ブ
ロック−物理ブロックの対応を検索することができる。
クの前半250個分のテーブルが存在していたとし、ホ
ストからのアクセス範囲が論理ブロックの後半250〜
499ならば、既存のテーブルを使用して論理ブロック
−物理ブロックの対応を検索することができない。従っ
てこの場合は、論理ブロックの後半250個分に相当す
る論理番地/物理番地変換テーブルを作り直す。これに
はフラッシュメモリの全領域の再度の参照が必要とな
る。
ックの後半250個分のテーブルが存在していたとし、
ホストからのアクセス範囲が論理ブロックの前半0〜2
49ならば、既存のテーブルを使用して論理ブロック−
物理ブロックの対応を検索することができない。従って
この場合は、論理ブロックの前半250個分に相当する
論理番地/物理番地変換テーブルを作り直す。これには
フラッシュメモリの再度の参照が必要となる。
に相当する論理番地/物理番地変換テーブルがRAM上
になければ再度フラッシュメモリの全領域を参照し必要
な論理番地/物理番地変換テーブルを作りなおす。
ル作成のフローチャートを図33に示す。 (ステップS0) アクセスの最初で既に必要な論理番
地/物理番地変換テーブルの有無を確認し必要であれば
テーブル作成ルーチンへ移行。 (ステップS1) 論理番地/物理番地変換テーブルが
入るRAM領域をリセットする。 (ステップS2) 物理ブロックの先頭からサーチを開
始する。 (ステップS3) ブロックの冗長部を読み出す。 (ステップS4) 所定領域のデータを元に該ブロック
が正常なブロックか否かを判断する。
となり、次のブロックのサーチに移行する。 (ステップS5) 消去済みのエリアかどうかを判断す
る。 (ステップS6) 消去済みのブロックであれば次の書
き込みの際に使用するブロックの候補としてテーブル上
に格納する。 (ステップS7) 消去済みのエリアで無ければ、論理
アドレス情報領域を抽出する。 (ステップS8) 上記内容をもとに論理番地/物理番
地変換テーブルを作成する。 (ステップS9) 物理ブロック番号のカウントアッ
プ。 全ブロックサーチしたら終了。
物理番地変換テーブルを作成する。
主旨を逸脱しない範囲で種々変更が可能である。
前半、後半の2分割したが、分割の数は2個に限定され
ず、任意の数に分割できる。
半、後半の等しい大きさに分割したが、本発明はこれに
限られない。このように分割の個数、また大きさは自由
度を有する。
みのテーブルを保持する必要はない。たとえば本フラッ
シュメモリカードがDOSのデバイスとして、画像ファ
イル等を格納する場合を考えてみる。通常デバイスの先
頭には、ファイルの管理領域、すなわちマスターブート
セクタ、パーティションブートセクタ、ファイル・アロ
ケーション・テーブル(FAT)、ディレクトリ領域が
存在する。これらのファイル管理領域はファイルの更新
が行われたり、アクセスされるたび頻繁にアクセスされ
る領域である。この場合このファイル管理領域に相当す
るエリアを1個の領域、その他のファイルデータ格納領
域を2分割する。ファイル管理領域に相当する領域の論
理番地/物理番地変換テーブルは、常に保持するように
しても良い。この場合、論理アドレスの後半部分にファ
イルを書き込む動作を行う際、ファイル管理領域と論理
アドレス後半のテーブルを交互に頻繁に作り直す必要は
なくなるので性能の劣化が防げる。ここでファイルの管
理領域と記述したが、ファイル管理領域以上の領域に対
しテーブルを常に保持すれば同様の効果が得られる。
理ブロックと物理ブロックの対応関係のすべてをRAM
上に常時保持するのではなく、ホストからのアクセスに
応じて必要な領域のみの対応関係をシステム内のRAM
上に逐次作成するので、全領域の対応関係を常時RAM
上に保持する場合に比べ、システムとして最低限必要な
RAM領域を低減でき、これまで不可能であった汎用C
PUの内蔵RAMのみでメモリを制御することが可能と
なり、外付けRAMを有していた従来のケースに対して
大幅なコスト削減が可能となる。
に説明する。本実施例は、論理番地/物理番地変換テー
ブルに必要なRAM領域の容量の削減を行ったフラッシ
ュメモリカードについてである。
ロックアドレスを複数の論理的な領域(以下ゾーンと呼
ぶ)に分割する。このとき各ゾーンに割り当てられる物
理ブロック数、すなわちゾーン毎の容量は均一であって
も、不均一であってもかまわない。またゾーンの数は1
個であっても複数個であってもかまわない。また偶数個
であっても奇数個であってもかまわない。
シュメモリを2つの均等な容量のゾーンに分割した場合
の物理ブロックの構造と論理アドレスと物理アドレスの
関係を示した図である。
合に、必要となる論理ブロック数は500個と定義さ
れ、論理ブロックアドレス0〜499の値をとる。物理
ブロックの冗長部には自分がどの論理ブロックに対応す
るデータを保持しているかを示す論理ブロックアドレス
情報が格納されるが、本実施例では、論理ブロックアド
レスは、ゾーン毎に0からシリーズに付与される。従っ
て、ゾーン1には論理ブロックアドレス0〜249が割
り当てられ、それぞれの論理ブロックは物理ブロックア
ドレス0〜255の256個の物理ブロックのいずれか
に対応する。また物理ブロックの冗長部に格納される論
理ブロックアドレスは0〜249のいずれかが格納され
る。また、ゾーン2には論理ブロックアドレス250〜
499が割り当てられ、それぞれの論理ブロックは物理
ブロックアドレス256〜511の256個の物理ブロ
ックのいずれかに対応する。また物理ブロックの冗長部
に格納される論理ブロックアドレスは0〜249のいず
れかが格納される。
対象となる論理ブロックアドレスを含むゾーン内で行わ
れ、ある論理ブロックに対応するデータが存在する物理
ブロックは、固定では無く、常に各ゾーン内で移動して
いる。
ン内の全物理ブロックの冗長部に格納された論理ブロッ
クアドレス情報をサーチし、システムRAM上に論理ブ
ロックと物理ブロックの変換テーブルを作成するが、R
AM上に作成するゾーンは、どのゾーンについて行って
もかまわない。通常、該フラッシュメモリがDOS管理
下で使用される場合、管理情報であるFATや、ディレ
クトリ領域等が最初のゾーンに置かれるため、先頭のゾ
ーンについてテーブルを作成すると効率が良い。またR
AM上に作成するテーブルは1ゾーンに制限されず、R
AM容量が許されるのであれば、複数ゾーン分作成して
もかまわない。
ブルの作成過程について以下に説明する。物理ブロック
アドレス0〜255を包括する領域を設定し、ゾーン1
と呼ぶ。また物理ブロックアドレス256〜511を包
括する領域を設定し、ゾーン2と呼ぶことにする。ホス
トは現在RAM上に作成されている変換テーブルがどの
ゾーンのものであるかを覚えている。
されており、論理ブロックアドレス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)書き換えが発生した場合は変換テーブルを更新
し、次のアクセスに備える。
が作成されており、論理ブロックアドレス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のテーブルが作
成されている場合も、同様の過程で容易に目的のアドレ
スにアクセスすることができる。
るときに、RAM上に論理ブロックと物理ブロックの変
換テーブルを作成するが、このとき、作成するゾーンN
O.が分かっているため、変換テーブル上の物理ブロッ
クアドレスは0〜255の値を取ればよい。実際に物理
ブロックにアクセスするときは、OFFSETとして、
変換テーブル上の物理アドレスに256×ゾーンNO.
を加える事で、容易にフラッシュメモリに入力すべき新
の物理ブロックアドレスを得る事ができる。
を用いた場合、従来制御方法では、物理ブロックアドレ
スを表すために9ビット必要であり、ソフトの利便性か
らは、2バイトを費やしていた。本実施例では、図35
に示すように、物理ブロックアドレスを表すには8ビッ
トあればよく、1バイトで済む。したがって、従来1k
バイト必要であったRAM容量は半分に節約できる。論
理ブロックアドレスが増加すると、当然、論理番地/物
理番地変換テーブルの容量はそれにともなって増加する
ため、本実施例の効果はフラッシュメモリの容量が大き
くなるほど、大きく貢献する。
物理ブロックの冗長部のBlockAddress A
reaに格納可能なブロックアドレスで、大容量のフラ
ッシュメモリシステムを制御可能とする。すなわち、1
つのゾーンを上記冗長部のBlock Address
Areaに格納可能なブロックアドレス値の物理ブロ
ックで構成されるように分割すれば、大容量の論理アド
レスに対応可能となる。
シュメモリを4つの均等な容量のゾーンに分割した場合
の物理ブロックの構造を示した図である。
合に、必要となる論理ブロック数は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個の物理
ブロックのいずれかに対応する。
込み要求の発生した論理ブロックが存在するゾーン内の
みで行われ、ある論理ブロックアドレスに対応するデー
タが格納された物理ブロックアドレスは、固定では無
く、常にゾーン内で移動している。それぞれの物理ブロ
ックの冗長部には自分がどの論理ブロックアドレスのデ
ータを保持しているかを示す論理ブロックアドレス情報
を格納している。
理ブロックが割り当てられ、また128個の物理ブロッ
クが割り当てられる。以上のように物理ブロックを4つ
のゾーンに分割した場合も、2つのゾーンに分割した時
同様の効果を有する。
いて、上記物理ブロック4つのゾーンに分割した場合を
例に説明する。
行わない従来のフラッシュメモリのリダンダンシー動作
について、16MビットNAND型フラッシュメモリを
例に説明する。図2に示すように、16MビットのNA
ND型フラッシュメモリは512個の物理ブロックを有
するが、図3に示すように、ホストから見た論理ブロッ
クは500個に規定される。またPCカードATAイン
ターフェースを容易に構築するための情報を格納するた
めに1ブロック、追加書き込み方式を採用しているため
に1ブロック必要となる。従って本フラッシュメモリを
制御する場合502個のブロックが必要となる。従って
16MビットのNAND型フラッシュメモリでは10個
までの不良ブロックの存在は許される。
数の上限が存在し、使用中に不良ブロックが発生するこ
とがあり、十分な記憶領域を確保するために、不良ブロ
ックが発生した場合の、置換先として、書き込み、消去
可能な有効ブロックを持っておく必要がある。また、1
0個以上の不良ブロックを有するフラッシュメモリにつ
いては、出荷時の容量が十分に無いことから出荷でき
ず、製品歩留まりを下げるという問題も発生する。
使用中の不良ブロックの発生に備えると共に、出荷時の
製品歩留まりを向上させるために、16MビットNAN
D型フラッシュメモリには、512個の本体ブロックの
他に複数の冗長ブロックが設けられている。この冗長ブ
ロックは出荷前に、冗長回路により、512個の本体ブ
ロック中に発生している、不良ブロックと、ハード的に
置き換えられる。冗長回路を使用すると、冗長ブロック
は、不良ブロックのアドレスに割り付けられる。ハード
的な置き換え後は、不良ブロックが存在したアドレスを
選択すると、置き換えられた冗長ブロックが選択される
ようになる。ここで、冗長ブロックは無限にあるわけで
はないため、出荷時に、置き換えきれなかった不良ブロ
ックは、先天性不良ブロックとして扱われる。また、ユ
ーザーの使用中に発生した不良ブロックは、後天性不良
ブロックとして扱われる。この先天性不良ブロックと後
天性不良ブロックは上記有効ブロックによって救済され
る。
き換えを行う場合、冗長回路を使用し、ハード的に置き
換えが行われるが、図37に示したように、置き換え作
業の利便性から、ブロックアドレスの小さい不良ブロッ
クから順に連続的に、あるいは、ブロックアドレスの大
きい不良ブロックから順に連続的に置き換えが行われ
る。従って、ブロックの置き換え後は、ブロックアドレ
スの小さい方から、あるいはブロックアドレスの大きい
方から連続的に書き込み、消去可能なブロックが存在し
ている。
御方法では、上述したように512個の物理ブロックに
対し、論理ブロックが500個、PCカードATAイン
ターフェースを容易に構築するための情報を格納するた
めに1ブロック、追加書き込み方式を採用しているため
に空き領域として1ブロック必要であったため、都合、
502個の書き換え可能なブロックがあれば制御可能で
あった。従って、従来の制御方法では、512個の物理
ブロックに対し、10個の不良ブロックが許されてい
た。
いて説明する。ゾーン1について考えると、PCカード
ATAインターフェースを容易に構築するための情報を
格納するために1ブロック、追加書き込み方式を採用し
ているために空き領域として1ブロック必要となる。従
って、125個の論理ブロックに対し、127個の書き
換え可能な物理ブロックが必要となり、ゾーン内で許さ
れる、書き換え不可能な不良ブロックは1個までとな
る。ゾーン2〜4については追加書き込み用の空きブロ
ックとして、1ブロック余分に必要であることから、1
26個の書き換え可能な物理ブロックが必要となり、ゾ
ーン内で許される、書き換え不可能な不良ブロックは2
個までとなる。以下、説明を容易にするため、1〜4ゾ
ーンに対し、許される不良ブロック数はそれぞれ1個と
する。従って、従来制御方法で許容された不良ブロック
数のスペックに対し、非常に厳しくなる。
ッシュメモリにおいて、例えば、ブロックアドレス2,
5,129,131,132,385,389の7ブロ
ックが不良ブロックであり、このフラッシュメモリは4
個の冗長ブロックを有しているとする。図36に示すよ
うに、冗長回路を使用し、従来のようにブロックアドレ
スの小さい不良ブロックから順に、冗長ブロックと置き
換えた場合、置き換え後の不良ブロックは物理ブロック
アドレス132、385、389の3個のブロックとな
り、これらは先天性ブロックとし、該ブロックの冗長部
に先天性不良ブロックのマークがつけられる。ここで従
来の制御方法では、先天性不良ブロックは10個まで許
されたため、該フラッシュメモリを制御する上で特に問
題はない。しかしゾーンに分割して制御することを前提
とした場合、ゾーン4には物理ブロックアドレス38
5、389の2個の不良ブロックが存在するため制御を
行えず、この製品は出荷できなくなる。
において、不良ブロックがあった場合、本体の不良ブロ
ックと冗長ブロックとの置き換えを、従来のフラッシュ
メモリ同様、単に置き換え作業の利便性から、ブロック
アドレスの小さい不良ブロックから順に連続的に、ある
いは、ブロックアドレスの大きい不良ブロックから順に
連続的に置き換えを行うと、必要な良ブロックが確保で
きず、使用できないゾーンが発生する可能性が高くな
る。
リがゾーンに分割され制御される場合、全てのゾーンが
有効ブロック数を満たすよう、各ゾーンに存在する不良
ブロックと冗長ブロックとの置き換えを行う。
クが、各ゾーンで許される不良ブロック数を越えないよ
うに、冗長ブロックとの置き換えを行った場合の物理ブ
ロックの状態を示す図である。図38のフラッシュメモ
リも、図36に示したもの同様、ブロックアドレス2,
5,129,131,132,385,389の7ブロ
ックが不良ブロックと、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)終了
き換え手順は種々考えられる。本実施例では4つのゾー
ンに分割された場合を例に説明したが、ゾーンが、2つ
あるいは、奇数に分割されるケースも考えられる。また
分割されたゾーンの容量(ブロック数)が異なる場合も
考えられる。いずれの場合においても、本実施例は、本
体ブロックと冗長ブロックを置き換える場合、置き換え
作業後の各ゾーンに存在する不良ブロックの個数が、そ
れぞれのゾーンで許される不良ブロック数を越えないよ
う、それぞれのゾーンに存在する不良ブロック数を監視
しながら、冗長ブロックとの置き換えを行うところであ
り、本実施例の趣旨を逸脱しない範囲で、置き換えの手
順は異なってもかまわない。
ブロックとフラッシュメモリの物理ブロックが1対1で
対応づけられているテーブルを使用する場合に比べ、ア
クセス対象となるゾーン単位でテーブルを作成するた
め、テーブルに必要とするRAM領域を低減することが
可能で、これまで不可能であった汎用CPUの内蔵RA
Mのみでメモリを制御することが可能となり、外付けR
AMを有していた従来のケースに対して大幅なコスト削
減が可能となり、特に物理ブロック数の多い不揮発性半
導体メモリの制御に効果が大きい。また、物理ブロック
の冗長部のBlock Address Ereaで決
められたビット数で、大容量の論理アドレスに対応でき
る。
ックを論理的な複数のゾーンに割り振り、ゾーン毎に論
理ブロックと物理ブロックの変換テーブルを作成し、メ
モリアクセスを行う制御方法を行うシステムに使用され
るフラッシュメモリにおいて、本体の不良ブロックと冗
長ブロックとを置き換える場合、従来アドレスの小さい
(大きい)方から連続的に置き換えていたのに対し、本
発明では、置き換え後の各ゾーンに存在する不良ブロッ
クの個数が、それぞれのゾーンで許される不良ブロック
数を越えないよう、それぞれのゾーンに存在する不良ブ
ロック数を監視しながら、置き換えを行うため、使用不
可能なゾーンを有するために出荷できなくなる製品が減
り、製品歩留りが向上する。
に説明する。本実施例は、2値/多値等のいずれのタイ
プにもサポート可能なフラッシュメモリカードについて
である。
適応した図である。フラッシュメモリカード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がある。
圧の製品があるが、3.3V電源電圧動作のメモリカー
ドに5Vの電源が印加されると、電圧破壊等の問題が発
生する可能性がある。これを回避するため、システムは
電源電圧を検知している。 (ステップS2、3)IDチェック フラッシュメモリカードには記憶容量またはインタフェ
ース仕様の異なる複数種類の物がある。システムにメモ
リカードが挿入された時には、デバイスのメーカーコー
ドおよびデバイスコード等を判別し、想定外のコードの
場合は新たなアクセスはしないようにする。またメーカ
ーコード、デバイスコード等の読み出しには正規の電源
電圧を投入する。 (ステップS4〜8)ECCのチェック ここではECCの方式についてのチェックを行う。
例を示す。第1の方法は、上記ステップS2、3と同様
にデバイスコードにより判別する方法がある。例えば、
同じ容量のフラッシュメモリであっても、メモリ構成に
よってデバイスコードを変えれば良い。
シュメモリのデータ部と冗長部の構成を示した図であ
る。図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”と定義し
ておく。
ーカードの場合、ECC Area−1には、偶数ペー
ジデータ(256バイト)の3バイトECCコードが、
ECC Area−2は、奇数ページデータ(256バ
イト)の3バイトECCコードが入り、ECC Are
a−3は空白である。ECC Area−1および2は
各々256バイトのデータの内、2ビットのエラーを訂
正できる。
ーカードの場合、ECC Area−1、ECC Ar
ea−2、ECC Area−3に512バイトに対す
るECC符号が分散して記憶される。この場合512バ
イトのデータの内、2ビットのエラーを訂正できる。
コントローラ103はフラッシュメモリカードがアダプ
ターに挿入されるとECC Flag Areaを読み
出し、ECC方式を判別する。
方式2それぞれに対応した符号生成、およびエラー検出
回路が選択される。コントローラ中のCPUはホストと
バッファ用RAMとフラッシュメモリ間のデータの流れ
を制御する。また図39中のECC回路は、必ずしもハ
ードウェアである必要性はない、ECC符号の生成等す
べてをソフトウェアで実行することも勿論可能である。
明の主旨を逸脱しない範囲で種々変更可能である。
在を仮定したが、方式は2種類には限られない。3種類
以上のECC方式を設定可能である。
用しないという選択も含まれる。信頼性の非常に高いフ
ラッシュメモリカードや、音声分野等のデーダで特に高
い信頼性が必要の無い分野等ではECCは必須ではな
い。その場合、上記ECC Flag Areaの内容
が“FFh”であればECCを使用していないと定義し
ても良い。
にECCの方式を定義してたが、本発明はそれにかぎら
れない。例えば、セクター単位、もしくはブロック単位
等、任意の単位でECCの方式を切り替えてもよい。こ
の場合、単純に電源投入時にECCの方式を判別するの
ではなく前述の所定単位にアクセスする都度ECCの方
式を切り替えてもよい。また例えば、ECCの方式1で
読み出されたデータを方式2に変換して再格納するよう
な動作も想定可能である。
ーを例に説明したが、本実施例ははPCカードアダプタ
ーに限られない。例えば、デジタルスチルカメラやPD
A、ワードプロセッサー、音声録音機等各種機器に対し
ても同様に議論可能である。このように本実施例を使用
すれば、非常に広い使用範囲のフラッシュメモリカード
を1つのシステムで使用可能となる。
エラー訂正アルゴリズムの異なる複数のフラッシュメモ
リカードを一つのシステムが取り扱い可能となるので、
飛躍的に汎用性が向上する。
対して記憶媒体を挿入/抜去する際に、両者のいわゆる
種々のピンの当接、離反に一定の順序をもたせるように
したので、動作の安定性の向上とデータの保護が確実に
行える。
物理アドレスとを変換テーブルで変換するに際し、1個
の論理ブロックに対して複数個の物理ブロックを割り振
るようにしたので、テーブルが必要とするRAM領域を
低減することが可能となる。
が消去単位となるブロックをまたがないようにしたの
で、データ書換え時に発生する消去同数及び書き込み同
数を減らすことができる。
行時に物理ブロックの管理領域を開放すると同時に、そ
のデータ領域の消去も行うことにしたので、その後の書
込みコマンド実行時の処理速度の向上することが可能と
なる。
理ブロックの対応関係のうちの必要な領域の対応関係の
みを逐次作成するようにしたので、最低限必要なRAM
領域を低減することができる。
冗長ブロックに置き換えるに際し、論理的なゾーンのそ
れぞれにおいて、置き換え後には、各ゾーンに存在する
不良ブロック数が所定値を越えないようにしたので、製
品の歩留りを向上させることができる。
の種別に応じてエラー訂正アルゴリズムを選択するよう
にしたので、各種の記憶媒体を使用でき、汎用性が向上
する。
である。
ある。
である。
である。
ある。
す図である。
物理アドレスの変換テーブル構成を示す図である。
ステムにおける論理アドレスと物理アドレスの変換テー
ブル構成を示す図である。
タ配置を示す図である。
す図である。
タ領域の関係を示した図である。
ある。
ある。
タ構成を示す図である。
ドを算出するための条件を示した図である。
の制御フローチャートである。
ス/物理アドレス変換テーブル作成のフローチャートで
ある。
スと物理アドレスの変換テーブル構成を示す図である。
のフローチャートである。
のフローチャートである。
示す図である。
る。
る。
る。
ータ領域の関係を示した図である。
変換テーブル例を示す図である。
変換テーブル作成例を示す図である。
示す図である。
を示す図である。
を行った場合の実施例を説明するための図である。
来例を説明するための図である。
ブロックの置き換えを行った場合の実施例を説明するた
めの図である。
である。
タに挿入したときの、フローチャートを示す図である。
リのDOSフォーマットのパラメータを示す図である。
部とも“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コードである。
ラッシュメモリの物理ブロックの冗長部に論理アドレス
を格納できないという第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種類のプログラム
を用意しない限り、広範囲の容量のフラッシュメモリを
制御できず、ホストシステムのプログラム格納領域の容
量を圧迫する問題が発生する。
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ブロックに対する消去動作が実施されたことになる。
合を同じ8KBのデータが書き込まれる場合を想定し比
較すると、クラスタサイズが4KBの場合は、2回の書
き込みに処理が分割され合計48セクタの書き込みおよ
び3ブロック分の消去動作が発生する。クラスタサイズ
が8KBの場合は、クラスタサイズが4KBの場合に比
べて1回の書き込みに処理が集約され合計32セクタの
書き込みおよび2ブロック分の消去動作が発生する。
4、第5の実施例に係る発明は、上記第1の問題点を鑑
みてなされ、論理番地/物理番地変換テーブルで必要と
なるRAMの容量を低減し、汎用CPUの内蔵RAMの
みでフラッシュメモリを制御する方法を提供し、これに
より従来必要であった外付けRAMを不要となし、大幅
なコストダウンを実現することを目的とする。
ータのうち、前半の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コードである。
説明する。書き込みは基本的に以下の3部分の処理に大
別される。論理セクタ3を書き換える場合を例に説明す
る。更新はセクタ3のみだが、セクタ0から7の8セク
タ分のデータは同一ブロック上に存在するので、1ブロ
ックに対する処理が必要になる。書き込みは基本的に以
下の3部分の処理に大別される。
に説明する。本実施例は消去後の書込みコマンド実行時
の処理速度を向上させるフラッシュメモリカードについ
てである。
が作成されており、論理ブロックアドレス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のテーブルが作
成されている場合も、同様の過程で容易に目的のアドレ
スにアクセスすることができる。
使用中の不良ブロックの発生に備えると共に、出荷時の
製品歩留まりを向上させるために、16MビットNAN
D型フラッシュメモリには、512個の本体ブロックの
他に複数の冗長ブロックが設けられている。この冗長ブ
ロックは出荷前に、冗長回路により、512個の本体ブ
ロック中に発生している不良ブロックと、ハード的に置
き換えられる。冗長回路を使用すると、冗長ブロック
は、不良ブロックのアドレスに割り付けられる。ハード
的な置き換え後は、不良ブロックが存在したアドレスを
選択すると、置き換えられた冗長ブロックが選択される
ようになる。ここで、冗長ブロックは無限にあるわけで
はないため、出荷時に、置き換えきれなかった不良ブロ
ックは、先天性不良ブロックとして扱われる。また、ユ
ーザーの使用中に発生した不良ブロックは、後天性不良
ブロックとして扱われる。この先天性不良ブロックと後
天性不良ブロックは上記有効ブロックによって救済され
る。
用しないという選択も含まれる。信頼性の非常に高いフ
ラッシュメモリカードや、音声分野等のデーダで特に高
い信頼性を必要としない分野等ではECCは必須ではな
い。その場合、上記ECCFlag Areaの内容が
“FFh”であればECCを使用していないと定義して
も良い。
Claims (14)
- 【請求項1】システムが管理する論理ブロックと、 複数のメモリセルにより構成され、前記論理ブロックに
対応するデータを記憶する物理ブロックと、 前記物理ブロック中に含まれ、前記対応する論理ブロッ
クのアドレスを記憶する冗長部と、 前記物理ブロックが少なくとも2以上で構成される物理
ブロックエリアとを具備し、前記論理ブロックと前記物
理ブロックエリアとの対応関係を管理するための論理番
地/物理番地変換テーブルを作成することを特徴とする
メモリシステムの制御方法。 - 【請求項2】メモリアクセス時に、前記論理番地/物理
番地変換テーブルを参照し前記論理ブロックに対応する
物理ブロックエリアのアドレスを読み出し、前記物理ブ
ロックエリアを構成する少なくとも2以上の物理ブロッ
クの前記冗長部に記憶される対応する論理ブロックのア
ドレスを読み出すことにより、前記論理ブロックと対応
する物理ブロックを選択することを特徴とする請求項1
記載のメモリシステムの制御方法。 - 【請求項3】電源投入時に、前記論理番地/物理番地変
換テーブルを作成することを特徴とする請求項1記載の
メモリシステムの制御方法。 - 【請求項4】第1の所定単位によって管理されるファイ
ルを、第2の所定単位に分割された記憶領域において記
憶する半導体記憶装置において、 前記第1の所定単位の境界が、前記第2の所定単位の境
界上に配置されるよう制御することを特徴とするメモリ
システムの制御方法。 - 【請求項5】前記第2の所定単位は消去単位であること
を特徴とする請求項4記載のメモリシステムの制御方
法。 - 【請求項6】システムが管理するファイルと、 前記ファイルの内容を記憶するデータ領域と、 前記ファイルとデータ領域の対応関係を記憶する管理領
域とを有し、 前記ファイルの消去を行う時に、前記管理領域に対応す
るデータ領域が空き領域である旨をマークし、対応する
前記データ領域の消去を行うことを特徴とするメモリシ
ステムの制御方法。 - 【請求項7】システムが管理するファイルと、 前記ファイルの内容を記憶するデータ領域と、 前記ファイルとデータ領域の対応関係を記憶する管理領
域とを有し、 前記ファイルの消去を行う時に、前記管理領域に対応す
るデータ領域が空き領域である旨をマークしておき、メ
モリシステムに入力される信号に基づいて、前記管理領
域の内容を検知し対応するデータ領域の消去を行うこと
を特徴とするメモリシステムの制御方法。 - 【請求項8】不揮撥性半導体メモリシステムの制御方法
において、セルアレイを複数個の物理ブロックに分割
し、前記各物理ブロックにこのシステムが管理する前記
論理ブロックとの対応付けの情報を記憶させ、 前記論理ブロックと前記物理ブロックとの、対応関係を
管理するためのテーブルを前記システムのRAM上に保
持するに当り、 前記論理ブロックと前記物理ブロックの対応関係のう
ち、ホストからのアクセスに応じて必要な領域のみの対
応関係を前記システム内の前記RAM上に逐次作成する
ことを特徴とする不揮撥性半導体メモリシステムの制御
方法。 - 【請求項9】不揮撥性半導体メモリシステムの制御方法
において、セルアレイを複数個の物理ブロックに分割
し、前記各物理ブロックにこのシステムが管理する前記
論理ブロックとの対応付けの情報を記憶させ、 前記論理ブロックと前記物理ブロックとの対応関係を管
理するためのテーブルを前記システムのRAM上に保持
するに当り、 前記論理ブロックと前記物理ブロックの対応関係のすべ
てを前記RAM上に常時保持することなく、ホストから
のアクセスに応じて必要な領域のみの対応関係をこのシ
ステム内の前記RAM上に逐次作成することを特徴とす
る不揮撥性半導体メモリの制御方法。 - 【請求項10】前記物理ブロックを構成する不揮撥性半
導体メモリはフラッシュメモリであることを特徴とする
請求項8又は9に記載の不揮撥性半導体メモリの制御方
法。 - 【請求項11】不揮撥性半導体メモリシステムの制御方
法において、不揮撥性半導体メモリによるセルアレイを
複数個の物理ブロックに分割し、 前記各物理ブロックに、このシステムが管理する論理ブ
ロックアドレスとの対応付けの情報を記憶させ、上記物
理ブロックと上記論理アドレスとの対応関係を管理する
ためのアドレス変換テーブルをこのシステムのRAM上
に作成するに当り、 少なくとも1個以上の上記物理ブロックをそれぞれ集合
することにより複数の領域が構成し、 所定の上記論理ブロックのアドレス範囲のデータは所定
の上記領域内に格納されるように制御し、上記不揮撥性
半導体メモリに対するアクセス時に、該当する上記論理
ブロックアドレスのデータが格納されている上記領域に
対応する上記アドレス変換テーブルを、必要に応じ作成
することを特徴とする不揮撥性半導体メモリシステムの
制御方法。 - 【請求項12】不揮発性半導体メモリスラムの制御方法
において、不揮発性メモリによるセルアレイを複数個の
物理ブロックに分割し、前記各物理ブロックの記憶領域
にこのシステムが管理する前記論理ブロックとの対応付
けの情報を記憶させ、前記論理ブロックとフラッシュメ
モリの物理ブロックとの対応関係を管理するためのテー
ブルをこのシステムのRAM上に形成する制御方法であ
って、1個あるいは複数個の前記物理ブロックから構成
される領域を、前記フラッシュメモリのセルアレイ上に
確保し、メモリアクセス時毎にアクセス対象となる前記
領域について、該領域を構成する物理ブロックの記憶領
域をサーチし論理ブロックと物理ブロックとの対応関係
を管理する前記テーブルをこのシステムのRAM上に作
成し、該テーブルを使用することにより、論理ブロック
に対応する物理ブロックを選択可能としたことを特徴と
する不揮発性半導体メモリシステムの制御方法。 - 【請求項13】欠陥セルを含む不良物理ブロックを、選
択的に冗長物理ブロックと置換する機能を有し、前記領
域の各々に対して、不良物理ブロック数が所定個数以下
となるよう前記置換作業を管理することを特徴とする、
請求項11又は12に記載の不揮発性半導体メモリシス
テムの制御方法。 - 【請求項14】本体に対して数種類のメモリ装置が着脱
により交換可能とされた不揮発性半導体メモリシステム
の制御方法において、前記本体に装着された前記メモリ
装置に応じて、前記本体が有する数種類のエラー訂正手
段のうちの対応するものを選択してエラー訂正を行わせ
ることを特徴とする不揮発性半導体メモリシステムの制
御方法。
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)
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)
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)
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 | パナソニック株式会社 | 情報記録媒体アクセス装置、及びデータ記録方法 |
-
1998
- 1998-04-28 JP JP11909998A patent/JP4079506B2/ja not_active Expired - Fee Related
- 1998-08-07 US US09/130,818 patent/US6845438B1/en not_active Expired - Fee Related
- 1998-08-07 CA CA 2245271 patent/CA2245271C/en not_active Expired - Fee Related
- 1998-08-07 TW TW87113055A patent/TW392173B/zh not_active IP Right Cessation
- 1998-08-08 KR KR10-1998-0032271A patent/KR100365385B1/ko not_active IP Right Cessation
- 1998-08-10 EP EP20050003250 patent/EP1533703A3/en not_active Withdrawn
- 1998-08-10 EP EP19980114979 patent/EP0896280A3/en not_active Withdrawn
-
2002
- 2002-06-20 KR KR10-2002-0034590A patent/KR100438012B1/ko not_active IP Right Cessation
-
2004
- 2004-02-25 US US10/786,960 patent/US7054991B2/en not_active Expired - Fee Related
- 2004-08-06 US US10/913,865 patent/US8756401B2/en not_active Expired - Fee Related
-
2007
- 2007-10-31 US US11/931,101 patent/US8230156B2/en not_active Expired - Fee Related
-
2009
- 2009-09-22 US US12/564,770 patent/US20100023680A1/en not_active Abandoned
-
2010
- 2010-02-08 US US12/702,134 patent/US9009387B2/en not_active Expired - Fee Related
Cited By (38)
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 |