JPH10124384A - 不揮発性半導体メモリの制御方法 - Google Patents
不揮発性半導体メモリの制御方法Info
- Publication number
- JPH10124384A JPH10124384A JP9214561A JP21456197A JPH10124384A JP H10124384 A JPH10124384 A JP H10124384A JP 9214561 A JP9214561 A JP 9214561A JP 21456197 A JP21456197 A JP 21456197A JP H10124384 A JPH10124384 A JP H10124384A
- Authority
- JP
- Japan
- Prior art keywords
- block
- area
- data
- physical
- logical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
Abstract
(57)【要約】
【課題】 セルアレイが複数個の物理ブロックに分割さ
れ、各々の物理ブロックにシステムが管理する論理ブロ
ックとの対応付けの情報を記憶メモリシステムにおい
て、論理ブロックと物理ブロックとの対応関係を管理す
るためのテーブルに要するRAM領域の削減を目的とす
る。また、データ更新および消去後の書込みの高速化を
目的とする。 【解決手段】 論理ブロック/物理ブロック変換テーブ
ルにおいて、1個の論理ブロックに対して、複数個の物
理ブロックを含んだエリアを割り振り、メモリアクセス
時には、そのエリア中の複数個のブロックの記憶情報を
サーチし、該エリア中から真の対応ブロックを選択する
ことを特徴とするメモリシステムの制御方法を提供す
る。また、物理ブロック上でクラスタの区切れがブロッ
クの区切れをまたがない制御方法を提供する。また、消
去時に管理領域を開放すると同時にデータ領域の消去を
行う制御方法を提供する。
れ、各々の物理ブロックにシステムが管理する論理ブロ
ックとの対応付けの情報を記憶メモリシステムにおい
て、論理ブロックと物理ブロックとの対応関係を管理す
るためのテーブルに要するRAM領域の削減を目的とす
る。また、データ更新および消去後の書込みの高速化を
目的とする。 【解決手段】 論理ブロック/物理ブロック変換テーブ
ルにおいて、1個の論理ブロックに対して、複数個の物
理ブロックを含んだエリアを割り振り、メモリアクセス
時には、そのエリア中の複数個のブロックの記憶情報を
サーチし、該エリア中から真の対応ブロックを選択する
ことを特徴とするメモリシステムの制御方法を提供す
る。また、物理ブロック上でクラスタの区切れがブロッ
クの区切れをまたがない制御方法を提供する。また、消
去時に管理領域を開放すると同時にデータ領域の消去を
行う制御方法を提供する。
Description
【0001】
【発明の属する技術分野】本発明は、不揮発性半導体メ
モリの制御方法に関し、特に不揮発性半導体メモリカー
ドの制御に使用されるものである。
モリの制御方法に関し、特に不揮発性半導体メモリカー
ドの制御に使用されるものである。
【0002】
【従来の技術】近年図11に示すようなフラッシュメモ
リカードがデジタルスチールカメラやPDA等の携帯情
報機器の記憶媒体として注目されている。このメモリカ
ードは薄型のプラスチックパッケージ1にわずかな窪み
が設けられておりその窪みに22ピンの平面電極を有す
るフラッシュメモリ2が埋め込まれている。本フラッシ
ュメモリカードは専用のコネクタを介してホストシステ
ムに電気的に接続され、データの入出力を行う。
リカードがデジタルスチールカメラやPDA等の携帯情
報機器の記憶媒体として注目されている。このメモリカ
ードは薄型のプラスチックパッケージ1にわずかな窪み
が設けられておりその窪みに22ピンの平面電極を有す
るフラッシュメモリ2が埋め込まれている。本フラッシ
ュメモリカードは専用のコネクタを介してホストシステ
ムに電気的に接続され、データの入出力を行う。
【0003】フラッシュメモリとしてNAND型フラッ
シュメモリと呼ばれるフラッシュメモリが使用され販売
がなされている。16MビットのNAND型フラッシュ
メモリの場合を例に取るとフラッシュメモリは512個
の物理的なメモリブロックに分割されている。このブロ
ックは消去時の最小単位となっている。1ブロックはさ
らに16ページに分割される。1ページは書き込みおよ
び読み出しの基本的な単位となる。1ページは264バ
イトから構成され、うち256バイトはユーザーデータ
領域(データ部)、残りの8バイト(冗長部)はエラー
訂正符号および管理情報等の格納(冗長部)に使用され
る。
シュメモリと呼ばれるフラッシュメモリが使用され販売
がなされている。16MビットのNAND型フラッシュ
メモリの場合を例に取るとフラッシュメモリは512個
の物理的なメモリブロックに分割されている。このブロ
ックは消去時の最小単位となっている。1ブロックはさ
らに16ページに分割される。1ページは書き込みおよ
び読み出しの基本的な単位となる。1ページは264バ
イトから構成され、うち256バイトはユーザーデータ
領域(データ部)、残りの8バイト(冗長部)はエラー
訂正符号および管理情報等の格納(冗長部)に使用され
る。
【0004】通常パソコン等ではデータはセクタ(51
2バイト)単位で管理されるため、本メモリカードでも
512バイト単位でのデータ管理を基本とすべく2ペー
ジをペアとして取り扱う。
2バイト)単位で管理されるため、本メモリカードでも
512バイト単位でのデータ管理を基本とすべく2ペー
ジをペアとして取り扱う。
【0005】このようなメモリカードの制御では、デー
タ更新時は消去済み領域に更新データを書き込み、元の
データが存在する領域を消去するという、追加書き込み
方式を採用しているため、ある論理ブロックに対応する
データが存在する物理ブロックは、固定では無く、常に
メモリ内を移動している。したがって、上述のごとく物
理ブロックの冗長部には自分がどの論理ブロックに対応
するデータを保持しているかを示す論理ブロックアドレ
ス情報を記憶している。
タ更新時は消去済み領域に更新データを書き込み、元の
データが存在する領域を消去するという、追加書き込み
方式を採用しているため、ある論理ブロックに対応する
データが存在する物理ブロックは、固定では無く、常に
メモリ内を移動している。したがって、上述のごとく物
理ブロックの冗長部には自分がどの論理ブロックに対応
するデータを保持しているかを示す論理ブロックアドレ
ス情報を記憶している。
【0006】ゆえに、通常は電源投入時に、全物理ブロ
ックの該論理ブロックアドレス情報格納領域をサーチ
し、システムRAM上に、論理ブロックと物理ブロック
の変換テーブルを作る。一度テーブルを作成した後は、
該テーブルを参照すれば、論理ブロックに対応する物理
ブロックがすぐに判断可能なため、全ブロックのサーチ
動作は電源投入時に1回行われる。当然のことながら、
データの更新を行い、対応する物理ブロックの位置が変
化した場合、メモリシステムは、テーブルの更新作業を
行い、次のアクセスに備えることになる。
ックの該論理ブロックアドレス情報格納領域をサーチ
し、システムRAM上に、論理ブロックと物理ブロック
の変換テーブルを作る。一度テーブルを作成した後は、
該テーブルを参照すれば、論理ブロックに対応する物理
ブロックがすぐに判断可能なため、全ブロックのサーチ
動作は電源投入時に1回行われる。当然のことながら、
データの更新を行い、対応する物理ブロックの位置が変
化した場合、メモリシステムは、テーブルの更新作業を
行い、次のアクセスに備えることになる。
【0007】従来のテーブルを図12に示す。ここで
は、論理ブロックは500個設定されており、1個の論
理ブロックは連続した8セクタに相当する。すなわち論
理ブロック0は論理セクタ0〜7を意味する。この連続
した8セクタ分のデータは、メモリ中の512ブロック
のうちのいずれかの物理ブロックに存在する。512個
の物理ブロックから1個のブロックを選択するには、9
ビット必要となる。ソフトウェアの利便性に配慮してオ
フセットがそのまま物理ブロックを指し示す様にテーブ
ルを構成すると、1ブロックに対し2バイト、計1KB
のRAM領域が必要となる。例えば、論理ブロック5の
情報が格納されている物理ブロックの番地はテーブルの
先頭からオフセット5ワード(10バイト)目に格納さ
れる。
は、論理ブロックは500個設定されており、1個の論
理ブロックは連続した8セクタに相当する。すなわち論
理ブロック0は論理セクタ0〜7を意味する。この連続
した8セクタ分のデータは、メモリ中の512ブロック
のうちのいずれかの物理ブロックに存在する。512個
の物理ブロックから1個のブロックを選択するには、9
ビット必要となる。ソフトウェアの利便性に配慮してオ
フセットがそのまま物理ブロックを指し示す様にテーブ
ルを構成すると、1ブロックに対し2バイト、計1KB
のRAM領域が必要となる。例えば、論理ブロック5の
情報が格納されている物理ブロックの番地はテーブルの
先頭からオフセット5ワード(10バイト)目に格納さ
れる。
【0008】このように、従来用いられていた方法にお
いては、テーブルが必要とするRAM領域が非常に大き
いという問題点があった。通常よく用いられる、汎用C
PUでは内蔵RAMとして1KB程度のRAMを搭載し
ているのが一般的である。従って、従来は、テーブルだ
けで1KBを使用する必要があり、内蔵RAMのみでは
システム構成ができず、外づけのRAMをシステムとし
て有することが条件となりコストアップの大きな要因と
なっていた。
いては、テーブルが必要とするRAM領域が非常に大き
いという問題点があった。通常よく用いられる、汎用C
PUでは内蔵RAMとして1KB程度のRAMを搭載し
ているのが一般的である。従って、従来は、テーブルだ
けで1KBを使用する必要があり、内蔵RAMのみでは
システム構成ができず、外づけのRAMをシステムとし
て有することが条件となりコストアップの大きな要因と
なっていた。
【0009】次に、フラッシュメモリカードをパソコン
等で使用する場合の制御方法を64MビットNAND型
フラッシュメモリを例に説明する。フラッシュメモリは
1000個の物理的なメモリブロックに分割されてい
る。このブロックは消去時の最小単位となっている。1
ブロックはさらに16ページに分割される。1ページは
書き込みおよび読み出しの基本的な単位となる。1ペー
ジは528バイトから構成され、うち512バイトはユ
ーザーデータ領域(データ部)、残りの16バイト(冗
長部)はエラー訂正符号および管理情報等の格納(冗長
部)に使用される。この場合のテーブルの例を図13に
示す。論理ブロックは1000個に設定されており、1
個の論理ブロックは連続した16セクタに相当する。す
なわち論理ブロック0は論理セクタ0〜15を意味す
る。
等で使用する場合の制御方法を64MビットNAND型
フラッシュメモリを例に説明する。フラッシュメモリは
1000個の物理的なメモリブロックに分割されてい
る。このブロックは消去時の最小単位となっている。1
ブロックはさらに16ページに分割される。1ページは
書き込みおよび読み出しの基本的な単位となる。1ペー
ジは528バイトから構成され、うち512バイトはユ
ーザーデータ領域(データ部)、残りの16バイト(冗
長部)はエラー訂正符号および管理情報等の格納(冗長
部)に使用される。この場合のテーブルの例を図13に
示す。論理ブロックは1000個に設定されており、1
個の論理ブロックは連続した16セクタに相当する。す
なわち論理ブロック0は論理セクタ0〜15を意味す
る。
【0010】以下に、フラッシュメモリの書き込み、消
去について簡単に述べる。フラッシュメモリの書き込み
はページと呼ばれる単位で一括で実行される。64Mビ
ットNAND型EEPROMの場合は1ページ528バ
イトである。また消去はブロック単位で実行される。6
4MビットNAND型EEPROMは16ページで1ブ
ロックを構成する。このように64MビットNAND
EEPROMでは書き込みと消去の単位が異なる。従っ
てあるページのみを消去してデータを更新する事は出来
ない。
去について簡単に述べる。フラッシュメモリの書き込み
はページと呼ばれる単位で一括で実行される。64Mビ
ットNAND型EEPROMの場合は1ページ528バ
イトである。また消去はブロック単位で実行される。6
4MビットNAND型EEPROMは16ページで1ブ
ロックを構成する。このように64MビットNAND
EEPROMでは書き込みと消去の単位が異なる。従っ
てあるページのみを消去してデータを更新する事は出来
ない。
【0011】フラッシュメモリカードをパソコンで使用
する場合には一般的にDOS支配下のドライブとして取
り扱われる。図14に従来のDOSフォーマットパラメ
ータを示す。ここでは、図14(a)として、クラスタ
サイズ4KBの場合、図14(b)としてクラスタサイ
ズが8KBの場合を示している。クラスタとはDOSの
ファイル管理の基本最小単位で、ファイルサイズが非常
に小さくても1個のクラスタ分の容量は占有する。ファ
イルサイズが大きい場合は、複数個のクラスタのチェー
ンとして管理され、その管理情報はFAT(File Alloca
tion Table) に格納される。クラスタのサイズやFAT
の管理方法等はブートセクタと呼ばれるセクタ内で管理
される。1個のデバイスが複数個のドライブとして管理
される場合は、マスターブートセクタにその情報が格納
される。ファイルの書き込みとしては、OSからクラス
タ単位で書き込み命令が発行される。
する場合には一般的にDOS支配下のドライブとして取
り扱われる。図14に従来のDOSフォーマットパラメ
ータを示す。ここでは、図14(a)として、クラスタ
サイズ4KBの場合、図14(b)としてクラスタサイ
ズが8KBの場合を示している。クラスタとはDOSの
ファイル管理の基本最小単位で、ファイルサイズが非常
に小さくても1個のクラスタ分の容量は占有する。ファ
イルサイズが大きい場合は、複数個のクラスタのチェー
ンとして管理され、その管理情報はFAT(File Alloca
tion Table) に格納される。クラスタのサイズやFAT
の管理方法等はブートセクタと呼ばれるセクタ内で管理
される。1個のデバイスが複数個のドライブとして管理
される場合は、マスターブートセクタにその情報が格納
される。ファイルの書き込みとしては、OSからクラス
タ単位で書き込み命令が発行される。
【0012】図14(a)に示すように、クラスタサイ
ズが4KBの場合、論理セクタの0にマスターブートセ
クタ、論理セクタ16にブートセクタ、論理セクター1
7〜22にFAT、論理セクター23〜28にFATの
コピー、論理セクタ29〜44にディレクトリー、論理
セクター45以降にファイルデータ領域が配置されてい
る。
ズが4KBの場合、論理セクタの0にマスターブートセ
クタ、論理セクタ16にブートセクタ、論理セクター1
7〜22にFAT、論理セクター23〜28にFATの
コピー、論理セクタ29〜44にディレクトリー、論理
セクター45以降にファイルデータ領域が配置されてい
る。
【0013】図14(b)に示すように、クラスタサイ
ズが8KBの場合、論理セクタの0にマスターブートセ
クタ、論理セクタ16にブートセクタ、論理セクター1
7〜19にFAT、論理セクター20〜22にFATの
コピー、論理セクタ23〜38にディレクトリー、論理
セクター39以降にファイルデータ領域が配置されてい
る。
ズが8KBの場合、論理セクタの0にマスターブートセ
クタ、論理セクタ16にブートセクタ、論理セクター1
7〜19にFAT、論理セクター20〜22にFATの
コピー、論理セクタ23〜38にディレクトリー、論理
セクター39以降にファイルデータ領域が配置されてい
る。
【0014】まず、図15を用いて、クラスタサイズ4
KBの場合を例に従来の書き換えシーケンスを説明す
る。クラスタサイズは4KBなので、連続した8セクタ
分の書き込み命令がOSから発行される。このとき論理
セクタの45〜52(クラスタA)に対する書き込み
(データ更新)が発生し、論理セクタの77〜85(ク
ラスタA’)に書き換わる。 1) 消去済み新領域を探し、論理セクター32〜44
までを元ブロックから新領域にコピーする。 2) 論理セクター45〜47の新データを新領域に書
き込む。 3) 元ブロックを消去する。 4) アドレス変換テーブルの更新。 5) 消去済み新領域を探し、論理セクター48〜52
の新データを新領域に書き込む。 6) 元ブロックの論理セクター53〜63のデータを
新領域にコピーする。 7) 元ブロックを消去する。 8) アドレス変換テーブルの更新。 従って、外部からみて8セクタの書き換えを実施した場
合、実際デバイスとしては、合計32セクタ(32ペー
ジ)の書き込み動作と、2ブロックに対する消去動作が
実施されたことになる。
KBの場合を例に従来の書き換えシーケンスを説明す
る。クラスタサイズは4KBなので、連続した8セクタ
分の書き込み命令がOSから発行される。このとき論理
セクタの45〜52(クラスタA)に対する書き込み
(データ更新)が発生し、論理セクタの77〜85(ク
ラスタA’)に書き換わる。 1) 消去済み新領域を探し、論理セクター32〜44
までを元ブロックから新領域にコピーする。 2) 論理セクター45〜47の新データを新領域に書
き込む。 3) 元ブロックを消去する。 4) アドレス変換テーブルの更新。 5) 消去済み新領域を探し、論理セクター48〜52
の新データを新領域に書き込む。 6) 元ブロックの論理セクター53〜63のデータを
新領域にコピーする。 7) 元ブロックを消去する。 8) アドレス変換テーブルの更新。 従って、外部からみて8セクタの書き換えを実施した場
合、実際デバイスとしては、合計32セクタ(32ペー
ジ)の書き込み動作と、2ブロックに対する消去動作が
実施されたことになる。
【0015】次に、図16を用いて、クラスタBに対す
る書き込みシーケンスを説明する。この場合論理セクタ
の53〜60(クラスタB)に対する書き込み(データ
更新)が発生し、論理セクタの69〜76(クラスタ
B’)に書き換わる。 1) 消去済み新領域を探し、論理セクター48〜52
までを元ブロックから新領域にコピーする。 2) 論理セクター53〜60の新データを新領域に書
き込む。 3) 論理セクター61〜63までを元ブロックから新
領域にコピーする。 4) 元ブロックを消去する。 5) アドレス変換テーブルの更新。 従って、外部からみて8セクタの書き換えを実施した場
合、実際デバイスとしては、合計16セクタ(16ペー
ジ)の書き込み動作と、1ブロックに対する消去動作が
実施されたことになる。
る書き込みシーケンスを説明する。この場合論理セクタ
の53〜60(クラスタB)に対する書き込み(データ
更新)が発生し、論理セクタの69〜76(クラスタ
B’)に書き換わる。 1) 消去済み新領域を探し、論理セクター48〜52
までを元ブロックから新領域にコピーする。 2) 論理セクター53〜60の新データを新領域に書
き込む。 3) 論理セクター61〜63までを元ブロックから新
領域にコピーする。 4) 元ブロックを消去する。 5) アドレス変換テーブルの更新。 従って、外部からみて8セクタの書き換えを実施した場
合、実際デバイスとしては、合計16セクタ(16ペー
ジ)の書き込み動作と、1ブロックに対する消去動作が
実施されたことになる。
【0016】次に、図17を用いて、クラスタサイズ8
KBの場合を例に従来の書き込みシーケンスを説明す
る。クラスタサイズは8KBなので、連続した16セク
タ分の書き込み命令がOSから発行される。このとき論
理セクタの39〜54(クラスタA)に対する書き込み
(データ更新)が発生し、論理セクタの71〜86(ク
ラスタA’)に書き換わる。 1) 消去済み新領域を探し、論理セクター32〜38
までを元ブロックから新領域にコピーする。 2) 論理セクター39〜47の新データを新領域に書
き込む。 3) 元ブロックを消去する。 4) アドレス変換テーブルの更新。 5) 消去済み新領域を探し、論理セクター48〜54
の新データを新領域に書き込む。 6) 元ブロックの論理セクター55〜63のデータを
新領域にコピーする。 7) 元ブロックを消去する。 8) アドレス変換テーブルの更新。 従って、外部からみて16セクタの書き換えを実施した
場合、実際デバイスとしては、合計32セクタ(32ペ
ージ)の書き込み動作と、2ブロックに対する消去動作
が実施されたことになる。
KBの場合を例に従来の書き込みシーケンスを説明す
る。クラスタサイズは8KBなので、連続した16セク
タ分の書き込み命令がOSから発行される。このとき論
理セクタの39〜54(クラスタA)に対する書き込み
(データ更新)が発生し、論理セクタの71〜86(ク
ラスタA’)に書き換わる。 1) 消去済み新領域を探し、論理セクター32〜38
までを元ブロックから新領域にコピーする。 2) 論理セクター39〜47の新データを新領域に書
き込む。 3) 元ブロックを消去する。 4) アドレス変換テーブルの更新。 5) 消去済み新領域を探し、論理セクター48〜54
の新データを新領域に書き込む。 6) 元ブロックの論理セクター55〜63のデータを
新領域にコピーする。 7) 元ブロックを消去する。 8) アドレス変換テーブルの更新。 従って、外部からみて16セクタの書き換えを実施した
場合、実際デバイスとしては、合計32セクタ(32ペ
ージ)の書き込み動作と、2ブロックに対する消去動作
が実施されたことになる。
【0017】上記クラスタが4KBのものと8KBの場
合を同じ8KBのデータが書き込まれる場合を想定し比
較すると、クラスタサイズが4KBの場合は、2回の書
き込みに処理が分割され合計48セクタの書き込みおよ
び3ブロック分の消去動作が発生する。これに対し、ク
ラスタサイズが8KBの場合は、1回の書き込みに処理
が集約され合計32セクタの書き込みおよび2ブロック
分の消去動作が発生することになる。
合を同じ8KBのデータが書き込まれる場合を想定し比
較すると、クラスタサイズが4KBの場合は、2回の書
き込みに処理が分割され合計48セクタの書き込みおよ
び3ブロック分の消去動作が発生する。これに対し、ク
ラスタサイズが8KBの場合は、1回の書き込みに処理
が集約され合計32セクタの書き込みおよび2ブロック
分の消去動作が発生することになる。
【0018】このように従来は、外部から見て更新され
たセクタ数に比較し、実際にデバイス上で実行された書
き込み動作および消去動作がはるかに多くなるため、外
部からみた書き換え速度が遅くなると言う問題点があっ
た。
たセクタ数に比較し、実際にデバイス上で実行された書
き込み動作および消去動作がはるかに多くなるため、外
部からみた書き換え速度が遅くなると言う問題点があっ
た。
【0019】さらに、通常DOSのファイルシステムに
おいては、ファイル消去コマンド実行時に、ディレクト
リー上に該当ファイルが無効である旨のマーキングを行
い、該当ファイルが占有していたメモリ領域をFAT(F
ile Allocation Table) 上で開放する。従って、ファイ
ル本体のデータ部分はフラッシュメモリ上に消去されず
に残っている。消去コマンド実行時の管理領域とデータ
領域の関係を図22に示す。図22において、例えばF
ile−1とFile−4の消去コマンドを実行した場
合、管理領域のFile−1とFile−4が開放され
del.markがマーキングされる。このときデータ
領域においてはFile−1、File−4は消去され
ない。
おいては、ファイル消去コマンド実行時に、ディレクト
リー上に該当ファイルが無効である旨のマーキングを行
い、該当ファイルが占有していたメモリ領域をFAT(F
ile Allocation Table) 上で開放する。従って、ファイ
ル本体のデータ部分はフラッシュメモリ上に消去されず
に残っている。消去コマンド実行時の管理領域とデータ
領域の関係を図22に示す。図22において、例えばF
ile−1とFile−4の消去コマンドを実行した場
合、管理領域のFile−1とFile−4が開放され
del.markがマーキングされる。このときデータ
領域においてはFile−1、File−4は消去され
ない。
【0020】このため、その後の書込みコマンド実行時
に、前記開放された領域に対し新たなファイルのデータ
部分が書き込まれる際に、まずフラッシュメモリの消去
動作が必要となる。このため、ファイル書き込み時に必
ずフラッシュメモリの消去動作を伴い、ファイル書き込
み速度を劣化させるという問題点もあった。
に、前記開放された領域に対し新たなファイルのデータ
部分が書き込まれる際に、まずフラッシュメモリの消去
動作が必要となる。このため、ファイル書き込み時に必
ずフラッシュメモリの消去動作を伴い、ファイル書き込
み速度を劣化させるという問題点もあった。
【0021】
【発明が解決しようとする課題】本発明は上記問題を鑑
みてなされたものであり、論理番地と物理番地の変換テ
ーブルで必要となるRAMの容量を低減し、汎用CPU
の内蔵RAMのみでフラッシュメモリを制御する方法を
提供し、これにより従来必要であった外付けRAMを不
要となし、大幅なコストダウンを実現することを目的と
する。
みてなされたものであり、論理番地と物理番地の変換テ
ーブルで必要となるRAMの容量を低減し、汎用CPU
の内蔵RAMのみでフラッシュメモリを制御する方法を
提供し、これにより従来必要であった外付けRAMを不
要となし、大幅なコストダウンを実現することを目的と
する。
【0022】さらに、物理ブロックにおいて、DOS上
のファイル管理の基本単位であるクラスタの区切れが、
消去の単位となるブロックをまたがないようにする方法
を提供し、データの高速書込みを実現することを目的と
する。
のファイル管理の基本単位であるクラスタの区切れが、
消去の単位となるブロックをまたがないようにする方法
を提供し、データの高速書込みを実現することを目的と
する。
【0023】また、消去コマンド実行時に物理ブロック
の管理領域を開放すると同時に、そのデータ領域の消去
も行うことにより、その後の書込みコマンド実行時の処
理速度の向上を実現することを目的とする。
の管理領域を開放すると同時に、そのデータ領域の消去
も行うことにより、その後の書込みコマンド実行時の処
理速度の向上を実現することを目的とする。
【0024】
【課題を解決するための手段】上記目的を達成する手段
として、本発明では、システムが管理する論理ブロック
と、複数のメモリセルにより構成され、前記論理ブロッ
クに対応するデータを記憶する物理ブロックと、前記物
理ブロック中に含まれ、前記対応する論理ブロックのア
ドレスを記憶する冗長部と、前記物理ブロックが少なく
とも2以上で構成される物理ブロックエリアとを具備
し、前記論理ブロックと前記物理ブロックエリアとの対
応関係を管理するための論理番地/物理番地変換テーブ
ルを作成するメモリシステムの制御方法を提供する。
として、本発明では、システムが管理する論理ブロック
と、複数のメモリセルにより構成され、前記論理ブロッ
クに対応するデータを記憶する物理ブロックと、前記物
理ブロック中に含まれ、前記対応する論理ブロックのア
ドレスを記憶する冗長部と、前記物理ブロックが少なく
とも2以上で構成される物理ブロックエリアとを具備
し、前記論理ブロックと前記物理ブロックエリアとの対
応関係を管理するための論理番地/物理番地変換テーブ
ルを作成するメモリシステムの制御方法を提供する。
【0025】また、上記メモリシステムの制御方法にお
いて、メモリアクセス時に、前記論理番地/物理番地変
換テーブルを参照し前記論理ブロックに対応する物理ブ
ロックエリアのアドレスを読み出し、前記物理ブロック
エリアを構成する少なくとも2以上の物理ブロックの前
記冗長部に記憶される対応する論理ブロックのアドレス
を読み出すことにより、前記論理ブロックと対応する物
理ブロックを選択するメモリシステムの制御方法を提供
する。
いて、メモリアクセス時に、前記論理番地/物理番地変
換テーブルを参照し前記論理ブロックに対応する物理ブ
ロックエリアのアドレスを読み出し、前記物理ブロック
エリアを構成する少なくとも2以上の物理ブロックの前
記冗長部に記憶される対応する論理ブロックのアドレス
を読み出すことにより、前記論理ブロックと対応する物
理ブロックを選択するメモリシステムの制御方法を提供
する。
【0026】さらに、前記前記論理番地/物理番地変換
テーブルを電源投入時に、作成するメモリシステムの制
御方法を提供する。また、データの高速書き換えを実現
する手段として、本発明ではシステムが管理するファイ
ルと、少なくとも1以上の前記ファイルを記憶する複数
のブロックとを有し、前記ブロック内で、前記ファイル
の先頭が前記ブロックの先頭部と一致するよう配置され
ることを特徴とするメモリシステムの制御方法を提供す
る。
テーブルを電源投入時に、作成するメモリシステムの制
御方法を提供する。また、データの高速書き換えを実現
する手段として、本発明ではシステムが管理するファイ
ルと、少なくとも1以上の前記ファイルを記憶する複数
のブロックとを有し、前記ブロック内で、前記ファイル
の先頭が前記ブロックの先頭部と一致するよう配置され
ることを特徴とするメモリシステムの制御方法を提供す
る。
【0027】さらに、前記ブロックは消去時の最小単位
であることを特徴とするメモリシステムの制御方法を提
供する。また、消去エリアへのデータの高速書込みを実
現する手段として、本発明ではシステムが管理するファ
イルと、前記ファイルの内容を記憶するデータ領域と、
前記ファイルとデータ領域の対応関係を記憶する管理領
域とを有し、前記ファイルの消去を行う時に、前記管理
領域に対応するデータ領域が空き領域である旨をマーク
し、対応する前記データ領域の消去を行うことを特徴と
するメモリシステムの制御方法を提供する。また、消去
エリアへのデータの高速書込みを実現する第2の手段と
して、本発明ではシステムが管理するファイルと、前記
ファイルの内容を記憶するデータ領域と、前記ファイル
とデータ領域の対応関係を記憶する管理領域とを有し、
前記ファイルの消去を行う時に、前記管理領域に対応す
るデータ領域が空き領域である旨をマークしておき、メ
モリシステムに入力される信号に基づいて、前記管理領
域の内容を検知し対応するデータ領域の消去を行うこと
を特徴とするメモリシステムの制御方法を提供する。
であることを特徴とするメモリシステムの制御方法を提
供する。また、消去エリアへのデータの高速書込みを実
現する手段として、本発明ではシステムが管理するファ
イルと、前記ファイルの内容を記憶するデータ領域と、
前記ファイルとデータ領域の対応関係を記憶する管理領
域とを有し、前記ファイルの消去を行う時に、前記管理
領域に対応するデータ領域が空き領域である旨をマーク
し、対応する前記データ領域の消去を行うことを特徴と
するメモリシステムの制御方法を提供する。また、消去
エリアへのデータの高速書込みを実現する第2の手段と
して、本発明ではシステムが管理するファイルと、前記
ファイルの内容を記憶するデータ領域と、前記ファイル
とデータ領域の対応関係を記憶する管理領域とを有し、
前記ファイルの消去を行う時に、前記管理領域に対応す
るデータ領域が空き領域である旨をマークしておき、メ
モリシステムに入力される信号に基づいて、前記管理領
域の内容を検知し対応するデータ領域の消去を行うこと
を特徴とするメモリシステムの制御方法を提供する。
【0028】
【発明の実施の形態】図1に本フラッシュメモリカード
を使用するための制御に関するメインフローを示し、以
降各行程の動作について述べる。 (1−A)挿入検知について以下に述べる。
を使用するための制御に関するメインフローを示し、以
降各行程の動作について述べる。 (1−A)挿入検知について以下に述べる。
【0029】メモリカードに対する処理をスタートする
ためには、正常にコネクタに挿入されていることが前提
条件となる。不完全な挿入状態でメモリカードにアクセ
スを行うと物理的またはデータ的な破壊を引き起こす可
能性があるからである。従って、本発明のメモリシステ
ムの制御フローでは、メモリカードが正常に挿入されて
いるかを検出する手段を持っている。その手段として、
機構的なもの、電気的なもの等がある。
ためには、正常にコネクタに挿入されていることが前提
条件となる。不完全な挿入状態でメモリカードにアクセ
スを行うと物理的またはデータ的な破壊を引き起こす可
能性があるからである。従って、本発明のメモリシステ
ムの制御フローでは、メモリカードが正常に挿入されて
いるかを検出する手段を持っている。その手段として、
機構的なもの、電気的なもの等がある。
【0030】次に(1−B)電源電圧検知について以下
に述べる。本メモリカードには、5V電源電圧と3.3
V電源電圧の製品があるが、3.3V電源電圧動作のメ
モリカードに5Vの電源が印加されると、電圧破壊等の
問題が発生する可能性がある。これを回避するため、シ
ステムは電源電圧を検知している。検知方法として外観
で判断する方法と、電気的に判断する方法が考えられ
る。
に述べる。本メモリカードには、5V電源電圧と3.3
V電源電圧の製品があるが、3.3V電源電圧動作のメ
モリカードに5Vの電源が印加されると、電圧破壊等の
問題が発生する可能性がある。これを回避するため、シ
ステムは電源電圧を検知している。検知方法として外観
で判断する方法と、電気的に判断する方法が考えられ
る。
【0031】第3に(1−C)容量検知について述べ
る。フラッシュメモリカードには記憶容量またはインタ
フェース仕様の異なる複数種類のものがある。システム
にメモリカードが挿入された時には、デバイスのメーカ
ーコードおよびデバイスコード等を判別し、想定外のコ
ードの場合は新たなアクセスはしないようにする。ま
た、メーカーコード、デバイスコード等の読み出しには
正規の電源電圧を投入する。
る。フラッシュメモリカードには記憶容量またはインタ
フェース仕様の異なる複数種類のものがある。システム
にメモリカードが挿入された時には、デバイスのメーカ
ーコードおよびデバイスコード等を判別し、想定外のコ
ードの場合は新たなアクセスはしないようにする。ま
た、メーカーコード、デバイスコード等の読み出しには
正規の電源電圧を投入する。
【0032】第4に(1−D)物理フォーマット確認の
確認について述べる。メモリカードでは、データを記憶
するための物理フォーマットがなされており、メモリカ
ードがシステムに挿入された時はその物理フォーマット
を確認し、もしサポート外のフォーマットがなされてい
た場合には、データを破壊することなくリジェクトす
る。また、未知の物理フォーマット品が挿入された場合
に、システムが再度物理フォーマットを実行すること
は、フラッシュメモリの先天性、および後天性の不良ブ
ロックに対する処理が不完全になる危険性があるため、
注意が必要である。例えば16MビットのNAND型フ
ラッシュメモリを例に考えると、フラッシュメモリは5
12個の物理的なブロックに分割されており、先頭ブロ
ックには物理フォーマットの形式やカードの属性情報等
が書き込まれている。残りのブロックはデータ領域とし
て使用されるので、先頭ブロックのデータを判別する事
によって、サポート可能な物理フォーマットがなされて
いるかどうかを判断しても良い。
確認について述べる。メモリカードでは、データを記憶
するための物理フォーマットがなされており、メモリカ
ードがシステムに挿入された時はその物理フォーマット
を確認し、もしサポート外のフォーマットがなされてい
た場合には、データを破壊することなくリジェクトす
る。また、未知の物理フォーマット品が挿入された場合
に、システムが再度物理フォーマットを実行すること
は、フラッシュメモリの先天性、および後天性の不良ブ
ロックに対する処理が不完全になる危険性があるため、
注意が必要である。例えば16MビットのNAND型フ
ラッシュメモリを例に考えると、フラッシュメモリは5
12個の物理的なブロックに分割されており、先頭ブロ
ックには物理フォーマットの形式やカードの属性情報等
が書き込まれている。残りのブロックはデータ領域とし
て使用されるので、先頭ブロックのデータを判別する事
によって、サポート可能な物理フォーマットがなされて
いるかどうかを判断しても良い。
【0033】第5に(1−E)論理フォーマットはメモ
リカードをDOS上のデバイスとしてアクセス可能とす
るために行われる。DOSのクラスターの切れ目とNA
NDフラッシュメモリの物理的なブロックの区切れを一
致させると、より高速な動作が可能となる。
リカードをDOS上のデバイスとしてアクセス可能とす
るために行われる。DOSのクラスターの切れ目とNA
NDフラッシュメモリの物理的なブロックの区切れを一
致させると、より高速な動作が可能となる。
【0034】第6の(2−F)各動作は、システムのメ
モリアクセス動作を示し、読み出し、書込み、消去動作
のことである。第7の(2−G)抜去検知は前述した挿
入検知同様、抜去の検知も行うものである。抜去が検知
された場合、メモリシステムはその動作の終了する。
モリアクセス動作を示し、読み出し、書込み、消去動作
のことである。第7の(2−G)抜去検知は前述した挿
入検知同様、抜去の検知も行うものである。抜去が検知
された場合、メモリシステムはその動作の終了する。
【0035】次に、本発明のメモリシステムの、物理ブ
ロックの構造と論理ブロックの関係について説明する。
図2に16MビットNAND型フラッシュメモリの場合
の物理構造を示す。メモリは512個のブロックに分割
されている。このブロックは消去時の最小単位となって
いる。1ブロックックは16ページから構成される。1
ページは書き込み、読み出しの基本的な単位となる。1
ページは264バイトから構成され、うち256バイト
はユーザーデータ領域(データ部)、残りの8バイトは
エラー訂正符号および管理情報等の格納(冗長部)に使
用される。
ロックの構造と論理ブロックの関係について説明する。
図2に16MビットNAND型フラッシュメモリの場合
の物理構造を示す。メモリは512個のブロックに分割
されている。このブロックは消去時の最小単位となって
いる。1ブロックックは16ページから構成される。1
ページは書き込み、読み出しの基本的な単位となる。1
ページは264バイトから構成され、うち256バイト
はユーザーデータ領域(データ部)、残りの8バイトは
エラー訂正符号および管理情報等の格納(冗長部)に使
用される。
【0036】通常パソコン等ではデータはセクタ(51
2バイト)単位で管理されるため、本メモリカードでも
512バイト単位でのデータ管理を基本とし、2ページ
をペアとする。データ領域の内部データ構成を図3に示
す。未使用の正常ブロックは、データ部、冗長部とも
“FFh”に設定されている。下記に各々のバイトの意
味あいにつき説明する。Data Area−1は51
2バイトデータのうち、前半の0〜255バイトのデー
タが格納される。Data Area−2には512バ
イトデータのうち、後半の256〜511バイトのデー
タが格納される。User Data Areaのデー
タは、ユーザに解放されており使用方法はユーザに一任
される。Data Status Areaはデータが
正常か否かを示す。通常は“FFh”だが、正常でない
データが書き込まれている場合に“00h”が設定され
る。Block Status Areaはブロックが
良か不良かを示す。通常は“FFh”だが、不良ブロッ
クの場合、“00h”(初期不良ブロック)、“F0
h”(後発不良ブロック)が設定される。2ビット以上
“0”があった場合は、不良ブロックであると判断す
る。なお、本データは同一ブロック内では全て同じ値を
書き込む。はブロックの論理アドレス情報を示す。な
お、1論理ブロックを構成する8セクタには512の物
理ブロックのうち1物理ブロックが相当するので、本デ
ータは同一ブロック内では全て同じ値が書込まれること
になる。同様にして、Block Address A
rea−2はBlock Address Area-
1のデータと同じ内容が書かれている。ECC Are
a- 1は偶数ページデータ(256バイト) の3バイトEC
Cコードである。ECC Area- 2は、奇数ページ
データ(256バイト) の3バイトECCコードである。
2バイト)単位で管理されるため、本メモリカードでも
512バイト単位でのデータ管理を基本とし、2ページ
をペアとする。データ領域の内部データ構成を図3に示
す。未使用の正常ブロックは、データ部、冗長部とも
“FFh”に設定されている。下記に各々のバイトの意
味あいにつき説明する。Data Area−1は51
2バイトデータのうち、前半の0〜255バイトのデー
タが格納される。Data Area−2には512バ
イトデータのうち、後半の256〜511バイトのデー
タが格納される。User Data Areaのデー
タは、ユーザに解放されており使用方法はユーザに一任
される。Data Status Areaはデータが
正常か否かを示す。通常は“FFh”だが、正常でない
データが書き込まれている場合に“00h”が設定され
る。Block Status Areaはブロックが
良か不良かを示す。通常は“FFh”だが、不良ブロッ
クの場合、“00h”(初期不良ブロック)、“F0
h”(後発不良ブロック)が設定される。2ビット以上
“0”があった場合は、不良ブロックであると判断す
る。なお、本データは同一ブロック内では全て同じ値を
書き込む。はブロックの論理アドレス情報を示す。な
お、1論理ブロックを構成する8セクタには512の物
理ブロックのうち1物理ブロックが相当するので、本デ
ータは同一ブロック内では全て同じ値が書込まれること
になる。同様にして、Block Address A
rea−2はBlock Address Area-
1のデータと同じ内容が書かれている。ECC Are
a- 1は偶数ページデータ(256バイト) の3バイトEC
Cコードである。ECC Area- 2は、奇数ページ
データ(256バイト) の3バイトECCコードである。
【0037】ここで、ECCについて実例をもとに説明
する。本実施例では256バイト(2048ビット)単
位のデータに対しECC符号を生成する。1ビット訂正
の機能を持たせるために、256バイトに対して22ビ
ットのECCデータを使用している。256バイトは図
4に示すように、データに並べたものである。
する。本実施例では256バイト(2048ビット)単
位のデータに対しECC符号を生成する。1ビット訂正
の機能を持たせるために、256バイトに対して22ビ
ットのECCデータを使用している。256バイトは図
4に示すように、データに並べたものである。
【0038】即ち、1Byte 目の入力の bit0 が2048bit
の 1bit 目(アドレス;00000000 000)となり、256Byt
e 目の入力の bit7 が2048bit の 2048bit 目(アドレ
ス;11111111 111) となる。
の 1bit 目(アドレス;00000000 000)となり、256Byt
e 目の入力の bit7 が2048bit の 2048bit 目(アドレ
ス;11111111 111) となる。
【0039】ECCコード(ラインパリティ(LP)と
カラムパリティ(CP))は図5に示す条件を満足する
1024ビットの奇数パリティとして算出される。カラ
ムパリティーCP0〜CP5は1バイト(8ビット)の
データが入力される毎に更新される。ECC符号の生成
をソフトウェアで行う場合は、1バイトの入力(256
通り)に対してのカラムパリテイ計算結果を予めシステ
ム内のROM上に持つ方法が考えられる。こうすること
により、ビット単位の演算が不要になり、計算時間が大
幅に短縮できる。またバイトの入力(256通り)に対
してのカラムパリティ計算結果を電源投入時に一括で計
算し、RAM上に保持する方法も考えられる。前案に比
較しROMは無くて済むが、代わりにRAM領域が必要
となる。
カラムパリティ(CP))は図5に示す条件を満足する
1024ビットの奇数パリティとして算出される。カラ
ムパリティーCP0〜CP5は1バイト(8ビット)の
データが入力される毎に更新される。ECC符号の生成
をソフトウェアで行う場合は、1バイトの入力(256
通り)に対してのカラムパリテイ計算結果を予めシステ
ム内のROM上に持つ方法が考えられる。こうすること
により、ビット単位の演算が不要になり、計算時間が大
幅に短縮できる。またバイトの入力(256通り)に対
してのカラムパリティ計算結果を電源投入時に一括で計
算し、RAM上に保持する方法も考えられる。前案に比
較しROMは無くて済むが、代わりにRAM領域が必要
となる。
【0040】次に、実際のデータ転送に関して説明す
る。前述したように、Block Address A
rea- 1はブロックの論理アドレス情報を示してい
る。16MビットのNAND型フラッシュメモリの場
合、物理ブロックは連続した8論理セクタ分のデータを
有する。例えば、論理セクタ0〜7のデータは、メモリ
中のいずれかの物理ブロック内にそのデータを保持して
いる。論理セクタと物理番地を対応させるためのデータ
として上述のBlock Address Areaが
ある。論理セクタ0〜7のデータが格納された物理ブロ
ックの該当エリアには、自分が論理セクター0〜7の情
報を記憶している旨の論理アドレス情報が格納されてい
る。
る。前述したように、Block Address A
rea- 1はブロックの論理アドレス情報を示してい
る。16MビットのNAND型フラッシュメモリの場
合、物理ブロックは連続した8論理セクタ分のデータを
有する。例えば、論理セクタ0〜7のデータは、メモリ
中のいずれかの物理ブロック内にそのデータを保持して
いる。論理セクタと物理番地を対応させるためのデータ
として上述のBlock Address Areaが
ある。論理セクタ0〜7のデータが格納された物理ブロ
ックの該当エリアには、自分が論理セクター0〜7の情
報を記憶している旨の論理アドレス情報が格納されてい
る。
【0041】論理セクタ0〜7のデータが保持されてい
る物理ブロックの番地は固定ではない。例えば、ホスト
から論理セクター0〜7のデータの更新命令が来たとき
には、フラッシュメモリ上の消去済みのエリアに更新デ
ータを書き込み、元のデータの有ったブロックは消去す
る。従って、論理セクター0〜7のデータを格納してい
た物理番地は変更されることになる。すなわち、論理セ
クター0〜7のデータはメモリのどの領域に格納されて
いるかは、各物理ブロックのBlock Addres
s Area を参照して検索をする必要がある。アク
セスのたびに検索作業を行うことは、処理速度の面から
考えて妥当ではない。したがって、本発明では電源投入
時に全ブロックをサーチして、論理番地と物理番地との
変換テーブルを作ることになる。一度テーブルを作成し
た後は、該テーブルを参照すれば、論理ブロックに対応
する物理ブロックがすぐに判断可能なため、全ブロック
のサーチ動作は電源投入時1回で良い。当然のことなが
ら、データの更新を行い、対応する物理ブロックの位置
が変化した場合は、テーブルの更新作業を行い、次のア
クセスに備える。
る物理ブロックの番地は固定ではない。例えば、ホスト
から論理セクター0〜7のデータの更新命令が来たとき
には、フラッシュメモリ上の消去済みのエリアに更新デ
ータを書き込み、元のデータの有ったブロックは消去す
る。従って、論理セクター0〜7のデータを格納してい
た物理番地は変更されることになる。すなわち、論理セ
クター0〜7のデータはメモリのどの領域に格納されて
いるかは、各物理ブロックのBlock Addres
s Area を参照して検索をする必要がある。アク
セスのたびに検索作業を行うことは、処理速度の面から
考えて妥当ではない。したがって、本発明では電源投入
時に全ブロックをサーチして、論理番地と物理番地との
変換テーブルを作ることになる。一度テーブルを作成し
た後は、該テーブルを参照すれば、論理ブロックに対応
する物理ブロックがすぐに判断可能なため、全ブロック
のサーチ動作は電源投入時1回で良い。当然のことなが
ら、データの更新を行い、対応する物理ブロックの位置
が変化した場合は、テーブルの更新作業を行い、次のア
クセスに備える。
【0042】次に、上述したメモリカードの制御フロー
において、(1−F)のメモリカードの各動作について
図面を参照に説明する。図6に電源投入時の制御フロー
チャートを示す。以下にフローに従い説明を加える。 (6−1) コネクタにメモリカードが挿入されたこと
を受けて、電源電圧の検知を行う。 (6−2) メモリカードのIDコードを読み出し、記
憶容量を読みとる (6−3) もしシステムがサポートしていないIDコ
ードが読み出されたらリジェクトする。 (6−4) 物理フォーマットの確認を行う。物理番地
の先頭ブロックの情報を読む。 (6−5) もしシステムがサポートしていないフォー
マットがなされていればリジェクトする。 (6−6) 論理番地と物理番地の変換テーブルを作る
とともに、次の書き込み動作で書き込みを行うための消
去済み領域を選択する。
において、(1−F)のメモリカードの各動作について
図面を参照に説明する。図6に電源投入時の制御フロー
チャートを示す。以下にフローに従い説明を加える。 (6−1) コネクタにメモリカードが挿入されたこと
を受けて、電源電圧の検知を行う。 (6−2) メモリカードのIDコードを読み出し、記
憶容量を読みとる (6−3) もしシステムがサポートしていないIDコ
ードが読み出されたらリジェクトする。 (6−4) 物理フォーマットの確認を行う。物理番地
の先頭ブロックの情報を読む。 (6−5) もしシステムがサポートしていないフォー
マットがなされていればリジェクトする。 (6−6) 論理番地と物理番地の変換テーブルを作る
とともに、次の書き込み動作で書き込みを行うための消
去済み領域を選択する。
【0043】図7に上記(6−6)に示した電源投入時
に作成する論理番地と物理番地の変換テーブルの作成の
フローを示す。このフローにしたがって作成された論理
番地/物理番地変換テーブルを図8に示す。図8に示す
物理ブロックエリア(Physical Block Area )とは、連
続した2個の物理ブロックの集合体を意味する。例え
ば、物理ブロックエリア0とは、物理ブロック0と物理
ブロック1を示す。 本テーブルでは1個の論理ブロッ
クに対して1個の物理ブロックエリアを割り付けてい
る。例えば、論理ブロック0に対し、物理ブロックエリ
ア5が割り振られている場合、物理ブロックの10もし
くは11が実際の論理ブロック0のデータを記憶してい
ることになる。従って、実際にアクセスする時には、物
理ブロック10および11の冗長部の論理アドレスとの
関連を示すデータ領域を検索し、どちらが論理ブロック
0のデータを本当に格納しているのかを判断する必要が
ある。しかし、極めて限定された領域をリードするのみ
で済むため、メモリアクセスの性能に及ぼす影響はほと
んどない。
に作成する論理番地と物理番地の変換テーブルの作成の
フローを示す。このフローにしたがって作成された論理
番地/物理番地変換テーブルを図8に示す。図8に示す
物理ブロックエリア(Physical Block Area )とは、連
続した2個の物理ブロックの集合体を意味する。例え
ば、物理ブロックエリア0とは、物理ブロック0と物理
ブロック1を示す。 本テーブルでは1個の論理ブロッ
クに対して1個の物理ブロックエリアを割り付けてい
る。例えば、論理ブロック0に対し、物理ブロックエリ
ア5が割り振られている場合、物理ブロックの10もし
くは11が実際の論理ブロック0のデータを記憶してい
ることになる。従って、実際にアクセスする時には、物
理ブロック10および11の冗長部の論理アドレスとの
関連を示すデータ領域を検索し、どちらが論理ブロック
0のデータを本当に格納しているのかを判断する必要が
ある。しかし、極めて限定された領域をリードするのみ
で済むため、メモリアクセスの性能に及ぼす影響はほと
んどない。
【0044】このとき、物理ブロックエリアは全体で2
56個(512/2)存在し、8ビットのデータによっ
て記述する事が可能となる。ソフトウェアの利便性に配
慮してオフセットがそのまま物理ブロックを指し示す様
にテーブルを構成すると、1ブロックに対して1バイ
ト、計0。5KBのRAM領域が必要となる。例えば、
論理ブロック5の情報が格納されている物理ブロックエ
リアの番地はテーブルの先頭からオフセットバイト目に
格納される。
56個(512/2)存在し、8ビットのデータによっ
て記述する事が可能となる。ソフトウェアの利便性に配
慮してオフセットがそのまま物理ブロックを指し示す様
にテーブルを構成すると、1ブロックに対して1バイ
ト、計0。5KBのRAM領域が必要となる。例えば、
論理ブロック5の情報が格納されている物理ブロックエ
リアの番地はテーブルの先頭からオフセットバイト目に
格納される。
【0045】この0.5KBのRAM容量は、従来必要
であった1KBのRAM容量に対し半分となる。汎用C
PUは通常1KB程度のRAM領域をもっているが、本
実施例によって得られた0.5KBのRAM領域の削減
は非常に大きな割合をしめる。
であった1KBのRAM容量に対し半分となる。汎用C
PUは通常1KB程度のRAM領域をもっているが、本
実施例によって得られた0.5KBのRAM領域の削減
は非常に大きな割合をしめる。
【0046】すなわちコストアップを招く外付けRAM
を設けなくても、本実施例によって得られた0.5KB
の空き領域を使用する事によってシステムを構成する事
が可能となりコストダウンをはかることができる。
を設けなくても、本実施例によって得られた0.5KB
の空き領域を使用する事によってシステムを構成する事
が可能となりコストダウンをはかることができる。
【0047】また、上記実施形態に限ず、物理ブロック
エリアとして4物理ブロックを定義しても良いし、さら
に大きなブロック数を想定しても構わない。以下に、図
7にに示した電源投入時に作成する論理番地/物理番地
の変換テーブルの作成のフローについて説明する。 (7−1) 論理ブロック/物理ブロック変換テーブル
が入るRAM領域をリセットする。 (7−2) 次のデータ書き込みに使用される消去済み
のブロックを記憶するテーブル領域をリセットする。 (7−2) 物理ブロックの1からサーチを開始する。 (7−3) ブロックの冗長部を読み出す。 (7−4) 所定領域のデータを元に該ブロックが正常
なブロックか否かを判断する。不良ブロックの場合以下
に続く処理は不要となり、次のブロックのサーチに移行
する。 (7−5) 消去済みのエリアかどうかを判断する。 (7−6) 消去済みのブロックであれば次の書き込み
の際に使用するブロックの候補としてテーブル上に格納
する。 (7−8) 消去済みのエリアで無ければ、論理アドレ
ス情報領域を抽出する。このとき、パリティチェックを
行い妥当性を確認する。 (7−9) 上記内容をもとに論理アドレスと物理アド
レスの変換テーブルを作成する。 (7−10) 物理ブロック番号のカウントアップ。 (7−11) 512ブロックサーチしたら終了。
エリアとして4物理ブロックを定義しても良いし、さら
に大きなブロック数を想定しても構わない。以下に、図
7にに示した電源投入時に作成する論理番地/物理番地
の変換テーブルの作成のフローについて説明する。 (7−1) 論理ブロック/物理ブロック変換テーブル
が入るRAM領域をリセットする。 (7−2) 次のデータ書き込みに使用される消去済み
のブロックを記憶するテーブル領域をリセットする。 (7−2) 物理ブロックの1からサーチを開始する。 (7−3) ブロックの冗長部を読み出す。 (7−4) 所定領域のデータを元に該ブロックが正常
なブロックか否かを判断する。不良ブロックの場合以下
に続く処理は不要となり、次のブロックのサーチに移行
する。 (7−5) 消去済みのエリアかどうかを判断する。 (7−6) 消去済みのブロックであれば次の書き込み
の際に使用するブロックの候補としてテーブル上に格納
する。 (7−8) 消去済みのエリアで無ければ、論理アドレ
ス情報領域を抽出する。このとき、パリティチェックを
行い妥当性を確認する。 (7−9) 上記内容をもとに論理アドレスと物理アド
レスの変換テーブルを作成する。 (7−10) 物理ブロック番号のカウントアップ。 (7−11) 512ブロックサーチしたら終了。
【0048】次に、読み出し時の動作フローを図9を参
照に説明する。 (9−1) 読み出しを行う先頭セクタアドレスと転送
セクタ数をホストから受け取る。 (9−2) 読み出し範囲が、妥当な範囲か検証する。 (9−3) セクタを論理ブロックに変換。16Mビッ
ト品の場合は1ブロック8セクタ構成なので8で割るこ
とになる。 (9−4) 論理アドレス/物理アドレス変換テーブル
を参照し、該当論理ブロックが存在する物理ブロックエ
リアを得る。 (9−5) ブロックエリアにある2個の物理ブロック
の論理アドレス情報領域を調べ、いずれがホストの指定
した論理ブロックのデータを格納しているかを調べる。 (9−5) 特定された物理ブロックから1セクタ分デ
ータを読み出す。例えばセクター番号が0の時は、物理
ブロックの先頭2ページのデータを読み、例えばセクタ
ー番号が7の時は、物理ブロックの最終2ページのデー
タを読む。1個の物理ブロックの中では、8個のセクタ
のデータが順番に並んでいる。 (9−8) 読み出したデータに対しエラーチェックを
行い、エラーが無いか確認する。 (9−8) エラーが検出されたら、訂正可能か否かを
判断する。 (9−9) エラーが検出され、なおかつ訂正可能な場
合データを訂正する。 (9−10) ホストが要求したセクタ数を読み出した
ら終了する。 (9−11) 次の読み出しセクターが物理ブロックの
境界を越えるかどうかを判断する。例えば、セクター7
から8に移行する場合、データは各々異なる物理ブロッ
クに存在するため、新たに論理アドレス/物理アドレス
変換テーブルを再度参照する。 (9−12) 同一ブロック内で読み出しを継続する場
合は、読み出すページのカウントアップする。 (9−3) 別のブロックの移動する場合は、論理ブロ
ックをカウントアップし、ページのカウントもリセット
する。
照に説明する。 (9−1) 読み出しを行う先頭セクタアドレスと転送
セクタ数をホストから受け取る。 (9−2) 読み出し範囲が、妥当な範囲か検証する。 (9−3) セクタを論理ブロックに変換。16Mビッ
ト品の場合は1ブロック8セクタ構成なので8で割るこ
とになる。 (9−4) 論理アドレス/物理アドレス変換テーブル
を参照し、該当論理ブロックが存在する物理ブロックエ
リアを得る。 (9−5) ブロックエリアにある2個の物理ブロック
の論理アドレス情報領域を調べ、いずれがホストの指定
した論理ブロックのデータを格納しているかを調べる。 (9−5) 特定された物理ブロックから1セクタ分デ
ータを読み出す。例えばセクター番号が0の時は、物理
ブロックの先頭2ページのデータを読み、例えばセクタ
ー番号が7の時は、物理ブロックの最終2ページのデー
タを読む。1個の物理ブロックの中では、8個のセクタ
のデータが順番に並んでいる。 (9−8) 読み出したデータに対しエラーチェックを
行い、エラーが無いか確認する。 (9−8) エラーが検出されたら、訂正可能か否かを
判断する。 (9−9) エラーが検出され、なおかつ訂正可能な場
合データを訂正する。 (9−10) ホストが要求したセクタ数を読み出した
ら終了する。 (9−11) 次の読み出しセクターが物理ブロックの
境界を越えるかどうかを判断する。例えば、セクター7
から8に移行する場合、データは各々異なる物理ブロッ
クに存在するため、新たに論理アドレス/物理アドレス
変換テーブルを再度参照する。 (9−12) 同一ブロック内で読み出しを継続する場
合は、読み出すページのカウントアップする。 (9−3) 別のブロックの移動する場合は、論理ブロ
ックをカウントアップし、ページのカウントもリセット
する。
【0049】次に、書込み時の動作について説明する。
書き込みは基本的に次の3部分の処理に大別される。例
えば、論理セクタ3を書き換える場合例に説明する。更
新はセクタ3のみだが、セクタ0から7の8セクタ分の
データは同一ブロック上に存在するので、1ブロックに
対する処理が必要になる。
書き込みは基本的に次の3部分の処理に大別される。例
えば、論理セクタ3を書き換える場合例に説明する。更
新はセクタ3のみだが、セクタ0から7の8セクタ分の
データは同一ブロック上に存在するので、1ブロックに
対する処理が必要になる。
【0050】第1に、論理セクタ0、1及び2に関して
は、データの更新は無ので、論理セクタ0、1及び2の
データは、元々格納されていた物理ブロックから新しく
書き込みを行う物理ブロックへコピーされる。
は、データの更新は無ので、論理セクタ0、1及び2の
データは、元々格納されていた物理ブロックから新しく
書き込みを行う物理ブロックへコピーされる。
【0051】第2に、論理セクタ3は更新するので、元
のデータをコピーする必要はなく、ホストから与えられ
たデータを新たに書込みを行うブロックへ書き込む。第
3に、論理セクタ4〜7はデータの更新はないので、論
理セクタ4〜7のデータは、元々格納されていた物理ブ
ロックから新しく書き込みを行う物理ブロックへコピー
する。以上のように、1ブロックに対して、コピー/更
新データ書き込み/コピーの動作が基本となる。勿論、
書き込みがセクタ0〜7の様な場合は、1ブロック分全
てのデータが更新されるのでコピー動作は不要となるこ
とは自明である。以下に示すフローチャートの分岐は主
にこれから書き込むセクタが更新データか、もしくはコ
ピー動作なのかを判断しながら進行することになる。
のデータをコピーする必要はなく、ホストから与えられ
たデータを新たに書込みを行うブロックへ書き込む。第
3に、論理セクタ4〜7はデータの更新はないので、論
理セクタ4〜7のデータは、元々格納されていた物理ブ
ロックから新しく書き込みを行う物理ブロックへコピー
する。以上のように、1ブロックに対して、コピー/更
新データ書き込み/コピーの動作が基本となる。勿論、
書き込みがセクタ0〜7の様な場合は、1ブロック分全
てのデータが更新されるのでコピー動作は不要となるこ
とは自明である。以下に示すフローチャートの分岐は主
にこれから書き込むセクタが更新データか、もしくはコ
ピー動作なのかを判断しながら進行することになる。
【0052】次に、書込み時の動作について図10を参
照に説明する。 (10−1) ホストからデータの更新を行う先頭セク
タ番地と転送セクタ数を受け取る。 (10−2) 論理ブロック番号に変換し、論理番地と
物理番地の変換テーブルを参照する。読み出し動作と同
様に物理ブロックエリアの2個のブロックから本当の物
理ブロックを選択する。ここで選択したブロックからコ
ピーすべきデータを吸い上げることになる。 (10−3) 物理ブロックの先頭から処理を開始す
る。 (10−4) ブロック前半のコピー動作かもしくはデ
ータの更新かを判断する。 (10−5) コピーであれば、元ブロックからデータ
を読み出し、新ブロックに書き込みを実行する。 (10−6) 次のセクタの処理に移行する。 (10−7) (10−4)で更新領域と判断された
ら、ホストから受け取った更新データを基に書き込みを
行う。 (10−8) 次のセクタの処理に移行する。 (10−9) ホストが要求するセクタ数書き込んだか
確認する。 (10−10) (10−9)で要求数の書き込みが終
了したと判断された場合、ブロックの境界か否かを判断
する。未書き込みの領域が残っていれば、ブロック後半
のコピー動作に移行。ブロック境界であれば、これ以上
コピー動作を実行する必要はない。 (10−11) 元のブロックからデータを読み出し、
新ブロックに書き込む。 (10−12) 次のセクタの処理に移行する。 (10−13) (10−4)でホストの要求するセク
タ数の書き込みが終了していない場合は更なる書き込み
が必要だが、ブロック境界であれば、次の物理ブロック
に対する処理に移行する。 (10−14) 次にブロック処理に移行または、処理
を終了する前に、書き込みを行った結果をもとに論理ア
ドレス/物理アドレス変換テーブルの更新を行い、さら
に元データが存在した物理ブロックを消去し、次の処理
での新たな書き込み領域としての候補領域として登録す
る。 (10−15) 次のブロックの処理に移行する。
照に説明する。 (10−1) ホストからデータの更新を行う先頭セク
タ番地と転送セクタ数を受け取る。 (10−2) 論理ブロック番号に変換し、論理番地と
物理番地の変換テーブルを参照する。読み出し動作と同
様に物理ブロックエリアの2個のブロックから本当の物
理ブロックを選択する。ここで選択したブロックからコ
ピーすべきデータを吸い上げることになる。 (10−3) 物理ブロックの先頭から処理を開始す
る。 (10−4) ブロック前半のコピー動作かもしくはデ
ータの更新かを判断する。 (10−5) コピーであれば、元ブロックからデータ
を読み出し、新ブロックに書き込みを実行する。 (10−6) 次のセクタの処理に移行する。 (10−7) (10−4)で更新領域と判断された
ら、ホストから受け取った更新データを基に書き込みを
行う。 (10−8) 次のセクタの処理に移行する。 (10−9) ホストが要求するセクタ数書き込んだか
確認する。 (10−10) (10−9)で要求数の書き込みが終
了したと判断された場合、ブロックの境界か否かを判断
する。未書き込みの領域が残っていれば、ブロック後半
のコピー動作に移行。ブロック境界であれば、これ以上
コピー動作を実行する必要はない。 (10−11) 元のブロックからデータを読み出し、
新ブロックに書き込む。 (10−12) 次のセクタの処理に移行する。 (10−13) (10−4)でホストの要求するセク
タ数の書き込みが終了していない場合は更なる書き込み
が必要だが、ブロック境界であれば、次の物理ブロック
に対する処理に移行する。 (10−14) 次にブロック処理に移行または、処理
を終了する前に、書き込みを行った結果をもとに論理ア
ドレス/物理アドレス変換テーブルの更新を行い、さら
に元データが存在した物理ブロックを消去し、次の処理
での新たな書き込み領域としての候補領域として登録す
る。 (10−15) 次のブロックの処理に移行する。
【0053】次に、本願発明のフラッシュメモリカード
をDOSフォーマット形式で用いた場合に、データの書
き換え動作を高速化するための実施例を説明する。図1
8に本発明によるDOSフォーマットパラメータを示
す。クラスタサイズが4KBおよび8KBの場合とも、
クラスタの区切れが物理的なブロックの区切れをまたが
ないようパラメータが設定されていることにある。これ
は、DOSフォーマットパラメータの内、ブートセクタ
の配置される場所を調整することにより実現できる。
をDOSフォーマット形式で用いた場合に、データの書
き換え動作を高速化するための実施例を説明する。図1
8に本発明によるDOSフォーマットパラメータを示
す。クラスタサイズが4KBおよび8KBの場合とも、
クラスタの区切れが物理的なブロックの区切れをまたが
ないようパラメータが設定されていることにある。これ
は、DOSフォーマットパラメータの内、ブートセクタ
の配置される場所を調整することにより実現できる。
【0054】まず、図19を用いて、クラスタサイズ4
KBの場合を例に書き込みシーケンスを説明する。クラ
スタサイズは4KBなので、連続した8セクタ分の書き
込み命令がOSから発行される。このとき論理セクタの
48〜55(クラスタA)に対する書き込み(データ更
新)が発生し、論理セクタの64〜71(クラスタ
A’)に書き換わる。 1) 消去済み新領域を探し、論理セクタ−48〜55
までの新データを新領域に書き込む 2) 論理セクター56〜63の元データを新領域にコ
ピーする。 3) 元ブロックを消去する。 4) アドレス変換テーブルの更新。
KBの場合を例に書き込みシーケンスを説明する。クラ
スタサイズは4KBなので、連続した8セクタ分の書き
込み命令がOSから発行される。このとき論理セクタの
48〜55(クラスタA)に対する書き込み(データ更
新)が発生し、論理セクタの64〜71(クラスタ
A’)に書き換わる。 1) 消去済み新領域を探し、論理セクタ−48〜55
までの新データを新領域に書き込む 2) 論理セクター56〜63の元データを新領域にコ
ピーする。 3) 元ブロックを消去する。 4) アドレス変換テーブルの更新。
【0055】従って、外部からみて8セクタの書き換え
を実施した場合、実際デバイスとしては、合計16セク
タ(16ページ)の書き込み動作と、1ブロックに対す
る消去動作が実施されたことになる。
を実施した場合、実際デバイスとしては、合計16セク
タ(16ページ)の書き込み動作と、1ブロックに対す
る消去動作が実施されたことになる。
【0056】次に、図20を用いて、またクラスタBに
対する書き込みシーケンスを説明する。この場合論理セ
クタの56〜63(クラスタB)に対する書き込み(デ
ータ更新)が発生し、論理セクタの72〜79(クラス
タB’)に書き換わる。 1) 消去済み新領域を探し、論理セクター48〜55
までの元データを新領域にコピーする。 2) 論理セクター56〜63の新データを新領域に書
き込む。 3) 元ブロックを消去する。 4) アドレス変換テーブルの更新。 従って、外部からみて8セクタの書き換えを実施した場
合、実際デバイスとしては、合計16セクタ(16ペー
ジ)の書き込み動作と、1ブロックに対する消去動作が
実施されたことになる。
対する書き込みシーケンスを説明する。この場合論理セ
クタの56〜63(クラスタB)に対する書き込み(デ
ータ更新)が発生し、論理セクタの72〜79(クラス
タB’)に書き換わる。 1) 消去済み新領域を探し、論理セクター48〜55
までの元データを新領域にコピーする。 2) 論理セクター56〜63の新データを新領域に書
き込む。 3) 元ブロックを消去する。 4) アドレス変換テーブルの更新。 従って、外部からみて8セクタの書き換えを実施した場
合、実際デバイスとしては、合計16セクタ(16ペー
ジ)の書き込み動作と、1ブロックに対する消去動作が
実施されたことになる。
【0057】次に、図21を用いて、クラスタサイズ8
KBの場合を例に書き込みシーケンスを説明する。クラ
スタサイズは8KBなので、連続した16セクタ分の書
込み命令がOSから発行される。このとき論理セクタの
48〜63(クラスタA)に対する書き込み(データ更
新)が発生し、論理セクタの64〜79(クラスタ
A’)に書き換わる。 1) 消去済み新領域を探し、論理セクター48〜63
の新データを新領域に書き込む。 2) 元ブロックを消去する。 3) アドレス変換テーブルの更新。 従って、外部からみて16セクタの書き換えを実施した
場合、実際デバイスとしては、合計16セクタ(16ペ
ージ)の書き込み動作と、1ブロックに対する消去動作
が実施されたことになる。
KBの場合を例に書き込みシーケンスを説明する。クラ
スタサイズは8KBなので、連続した16セクタ分の書
込み命令がOSから発行される。このとき論理セクタの
48〜63(クラスタA)に対する書き込み(データ更
新)が発生し、論理セクタの64〜79(クラスタ
A’)に書き換わる。 1) 消去済み新領域を探し、論理セクター48〜63
の新データを新領域に書き込む。 2) 元ブロックを消去する。 3) アドレス変換テーブルの更新。 従って、外部からみて16セクタの書き換えを実施した
場合、実際デバイスとしては、合計16セクタ(16ペ
ージ)の書き込み動作と、1ブロックに対する消去動作
が実施されたことになる。
【0058】上記クラスタが4KBのものと8KBの場
合を同じ8KBのデータが書き込まれる場合を想定し比
較すると、クラスタサイズが4KBの場合は、2回の書
き込みに処理が分割され合計32セクタの書き込みおよ
び2ブロック分の消去動作が発生する。これに対し、ク
ラスタサイズが8KBの場合は、1回の書き込みに処理
が集約され合計16セクタの書き込みおよび1ブロック
分の消去動作が発生することになる。
合を同じ8KBのデータが書き込まれる場合を想定し比
較すると、クラスタサイズが4KBの場合は、2回の書
き込みに処理が分割され合計32セクタの書き込みおよ
び2ブロック分の消去動作が発生する。これに対し、ク
ラスタサイズが8KBの場合は、1回の書き込みに処理
が集約され合計16セクタの書き込みおよび1ブロック
分の消去動作が発生することになる。
【0059】従来のメモリシステムの書き換え速度と比
較すると、クラスタが4KBの場合では、8KBのデー
タを更新するのに48セクタの書き込みおよび3ブロッ
ク分の消去動作が発生していたものが、32セクタの書
き込みおよび2ブロック分の消去動作となり、時間的に
2/3に短縮されたことになる。また、クラスタが8K
Bの場合では、8KBのデータを更新するのに32セク
タの書き込みおよび2ブロック分の消去動作が発生して
いたものが、16セクタの書き込みおよび1ブロック分
の消去動作となり、時間的に1/2に短縮されたことに
なる。
較すると、クラスタが4KBの場合では、8KBのデー
タを更新するのに48セクタの書き込みおよび3ブロッ
ク分の消去動作が発生していたものが、32セクタの書
き込みおよび2ブロック分の消去動作となり、時間的に
2/3に短縮されたことになる。また、クラスタが8K
Bの場合では、8KBのデータを更新するのに32セク
タの書き込みおよび2ブロック分の消去動作が発生して
いたものが、16セクタの書き込みおよび1ブロック分
の消去動作となり、時間的に1/2に短縮されたことに
なる。
【0060】このように、DOSのファイル管理の単位
であるクラスタの区切れが、フラッシュメモリの物理的
なブロックの境界をまたがないことにより、書き換え速
度の高速化がはかれる。
であるクラスタの区切れが、フラッシュメモリの物理的
なブロックの境界をまたがないことにより、書き換え速
度の高速化がはかれる。
【0061】また、クラスタのサイズに着目するとクラ
スタが4KBの場合では、8KBのデータを更新するの
に32セクタの書き込みおよび2ブロック分の消去動作
が発生していたものが、クラスタが8KBの場合では1
6セクタの書き込みおよび1ブロック分の消去動作とな
り、時間的に1/2になる。すなわち、クラスタのサイ
ズをフラッシュメモリの物理ブロックのサイズと同じに
することによってより高速な書き込みが可能となる。勿
論、クラスタのサイズがフラッシュメモリの物理ブロッ
クのサイズの整数倍の場合も同様の効果が得られること
が可能である。
スタが4KBの場合では、8KBのデータを更新するの
に32セクタの書き込みおよび2ブロック分の消去動作
が発生していたものが、クラスタが8KBの場合では1
6セクタの書き込みおよび1ブロック分の消去動作とな
り、時間的に1/2になる。すなわち、クラスタのサイ
ズをフラッシュメモリの物理ブロックのサイズと同じに
することによってより高速な書き込みが可能となる。勿
論、クラスタのサイズがフラッシュメモリの物理ブロッ
クのサイズの整数倍の場合も同様の効果が得られること
が可能である。
【0062】次に、本願発明のフラッシュメモリカード
の書き込み性能を向上させる実施例を説明する。本願発
明のフラッシュメモリカードシステムは、通常DOSの
ファイルシステムにおけるファイル消去と異なり、ディ
レクトリー上に該当ファイルが無効である旨のマーキン
グを行い、該当ファイルが占有していたメモリ領域をF
AT(File Allocation Table) 上で開放するのみなら
ず、ファイル本体のデータ部分をフラッシュメモリ上で
消去することを特徴とする。すなわちファイルの消去命
令時に、開放されたクラスタの領域に対する消去動作を
実施する。消去コマンド実行時の管理領域とデータ領域
の関係を図23に示す。図23において、例えばFil
e−1とFile−4の消去コマンドを実行した場合、
管理領域のFile−1とFile−4が開放されde
l.markがマーキングされ、さらにデータ領域にお
いてFile−1とFile−4が記憶されていた領域
は消去される。
の書き込み性能を向上させる実施例を説明する。本願発
明のフラッシュメモリカードシステムは、通常DOSの
ファイルシステムにおけるファイル消去と異なり、ディ
レクトリー上に該当ファイルが無効である旨のマーキン
グを行い、該当ファイルが占有していたメモリ領域をF
AT(File Allocation Table) 上で開放するのみなら
ず、ファイル本体のデータ部分をフラッシュメモリ上で
消去することを特徴とする。すなわちファイルの消去命
令時に、開放されたクラスタの領域に対する消去動作を
実施する。消去コマンド実行時の管理領域とデータ領域
の関係を図23に示す。図23において、例えばFil
e−1とFile−4の消去コマンドを実行した場合、
管理領域のFile−1とFile−4が開放されde
l.markがマーキングされ、さらにデータ領域にお
いてFile−1とFile−4が記憶されていた領域
は消去される。
【0063】従って、次に新たなファイル書き込み命令
が発生したときに選択されるクラスタは既に消去済みで
あるので、即座に書き込みが可能となり、ファイル書き
込み速度が向上する。一般にフラッシュメモリにおいて
は書き込みより消去の方が時間がかかるため、本実施例
によって達成されるファイル書き込み速度の向上効果は
顕著である。
が発生したときに選択されるクラスタは既に消去済みで
あるので、即座に書き込みが可能となり、ファイル書き
込み速度が向上する。一般にフラッシュメモリにおいて
は書き込みより消去の方が時間がかかるため、本実施例
によって達成されるファイル書き込み速度の向上効果は
顕著である。
【0064】また本実施例における効果が最も顕著に現
れる条件は実施例1から分かる様に、クラスタサイズと
フラッシュメモリのブロックサイズを一致させた場合で
ある。クラスタサイズがフラッシュメモリのブロックサ
イズより小さい場合は、ブロックの一部分を消去するこ
とになるが、処理が煩雑であることに加え、仕様上ブロ
ックの一部分のみが消去されている状態を許さない場合
もある。クラスタサイズとブロックサイズが一致してい
れば、単純にブロックを消去する事によってクラスタを
開放できる。勿論クラスタサイズが物理ブロックサイズ
の整数倍の場合も同様の効果が得られる。
れる条件は実施例1から分かる様に、クラスタサイズと
フラッシュメモリのブロックサイズを一致させた場合で
ある。クラスタサイズがフラッシュメモリのブロックサ
イズより小さい場合は、ブロックの一部分を消去するこ
とになるが、処理が煩雑であることに加え、仕様上ブロ
ックの一部分のみが消去されている状態を許さない場合
もある。クラスタサイズとブロックサイズが一致してい
れば、単純にブロックを消去する事によってクラスタを
開放できる。勿論クラスタサイズが物理ブロックサイズ
の整数倍の場合も同様の効果が得られる。
【0065】また、本発明はその主旨を変えない範囲で
様々拡張が可能である。例えば、上記実施例では、ファ
イル消去時にデータ領域の該当するクラスタへの消去動
作を実行したが、消去動作の実行タイミングはそれに限
られない。例えば、フォーマット動作を実行する時点で
全クラスタの消去動作を実行しても良い。勿論メモリカ
ードの出荷時点でデータ領域のクラスタを消去済みの状
態で出荷すると良い。通常メモリカードの出荷時にはメ
モリカードの出荷試験を実施する。このテスト終了時に
ディレクトリーおよびFATの書き換えによって、ファ
イルが無い状態にするだけでなく、本実施例のようにデ
ータ領域の消去動作を実行しておくと、エンドユーザー
の手に渡った時点で、ユーザーが手を加えることなく高
速なファイル書き込みが期待できる。さらに例えばデジ
タルスチルカメラ等で使用する場合を考えると、カメラ
上でのファイルの消去、再フォーマット等の画像ファイ
ルの消去を伴う動作時において、FAT等の書換のみな
らず、ファイル本体が格納されていたクラスタ領域の消
去を同時に実行すれば、その後の画像書き込みシーケン
スにおいて、高速書き込みが可能となり、連写や動画の
取り込み等が可能となる。この際には、クラスタサイズ
がデバイスのブロックサイズの正数倍で、クラスタの区
切れがブロックサイズの区切れと一致しているとファイ
ル本体部分の消去が容易となる。またデジタルカメラ等
で電源の投入時等に自動的に不要なファイル部分を消去
するようにしても良い。こうすれば、パソコン上で単純
にFAT等の更新によってファイル消去がなされていた
メモリカードに対しても、ユーザーの手も煩わせること
なく書き込み高速化が計れる。またそのタイミングは電
源投入時にのみならずいつでもかまわない。また、本発
明はコンピュータシステム上等で本メモリカードを使用
する場合も同様の手段により書き込みの高速化が計れ
る。
様々拡張が可能である。例えば、上記実施例では、ファ
イル消去時にデータ領域の該当するクラスタへの消去動
作を実行したが、消去動作の実行タイミングはそれに限
られない。例えば、フォーマット動作を実行する時点で
全クラスタの消去動作を実行しても良い。勿論メモリカ
ードの出荷時点でデータ領域のクラスタを消去済みの状
態で出荷すると良い。通常メモリカードの出荷時にはメ
モリカードの出荷試験を実施する。このテスト終了時に
ディレクトリーおよびFATの書き換えによって、ファ
イルが無い状態にするだけでなく、本実施例のようにデ
ータ領域の消去動作を実行しておくと、エンドユーザー
の手に渡った時点で、ユーザーが手を加えることなく高
速なファイル書き込みが期待できる。さらに例えばデジ
タルスチルカメラ等で使用する場合を考えると、カメラ
上でのファイルの消去、再フォーマット等の画像ファイ
ルの消去を伴う動作時において、FAT等の書換のみな
らず、ファイル本体が格納されていたクラスタ領域の消
去を同時に実行すれば、その後の画像書き込みシーケン
スにおいて、高速書き込みが可能となり、連写や動画の
取り込み等が可能となる。この際には、クラスタサイズ
がデバイスのブロックサイズの正数倍で、クラスタの区
切れがブロックサイズの区切れと一致しているとファイ
ル本体部分の消去が容易となる。またデジタルカメラ等
で電源の投入時等に自動的に不要なファイル部分を消去
するようにしても良い。こうすれば、パソコン上で単純
にFAT等の更新によってファイル消去がなされていた
メモリカードに対しても、ユーザーの手も煩わせること
なく書き込み高速化が計れる。またそのタイミングは電
源投入時にのみならずいつでもかまわない。また、本発
明はコンピュータシステム上等で本メモリカードを使用
する場合も同様の手段により書き込みの高速化が計れ
る。
【0066】また、最後に本発明によれば、データの書
換時に発生する、消去および書き込み回数を減らすこと
が可能なため、一般的に書換回数に制限のあるフラッシ
ュメモリを使用する場合には、メモリの寿命をのばす効
果が書換の高速化と共に含まれていることを述べてお
く。
換時に発生する、消去および書き込み回数を減らすこと
が可能なため、一般的に書換回数に制限のあるフラッシ
ュメモリを使用する場合には、メモリの寿命をのばす効
果が書換の高速化と共に含まれていることを述べてお
く。
【0067】
【発明の効果】以上、説明して来たように、本発明のメ
モリシステムの制御方法を用いることにより、RAM領
域の大幅な削減が実現できる。これは、従来のメモリカ
ードシステムは論理アドレス/物理アドレス変換テーブ
ルで必要なRAM容量が大きく、汎用CPUの内蔵RA
Mのみではシステム構成ができず、外づけのRAMを設
けることが条件となっていたに対して、本発明のメモリ
カードシステムは論理番地と物理番地の変換テーブルと
して必要なRAMの容量を低減し、汎用CPUの内蔵R
AMのみ制御可能とたフラッシュメモリを制御する方法
を用いるからである。このことにより、従来必要であっ
た外付けRAMを不要とし、大幅なコストダウンを実現
することをが可能となる。
モリシステムの制御方法を用いることにより、RAM領
域の大幅な削減が実現できる。これは、従来のメモリカ
ードシステムは論理アドレス/物理アドレス変換テーブ
ルで必要なRAM容量が大きく、汎用CPUの内蔵RA
Mのみではシステム構成ができず、外づけのRAMを設
けることが条件となっていたに対して、本発明のメモリ
カードシステムは論理番地と物理番地の変換テーブルと
して必要なRAMの容量を低減し、汎用CPUの内蔵R
AMのみ制御可能とたフラッシュメモリを制御する方法
を用いるからである。このことにより、従来必要であっ
た外付けRAMを不要とし、大幅なコストダウンを実現
することをが可能となる。
【0068】また、本発明のフラッシュメモリカード
は、DOSのファイル管理の単位であるクラスタの区切
れが、フラッシュメモリの物理的なブロックの境界をま
たがないことにより、データの書換時に発生する消去お
よび書き込み回数を減らすことが可能なため、書き換え
速度の高速化が可能となる。さらに、一般的に書換回数
に制限のあるフラッシュメモリを使用する場合には、メ
モリの寿命をのばすことも可能となる。
は、DOSのファイル管理の単位であるクラスタの区切
れが、フラッシュメモリの物理的なブロックの境界をま
たがないことにより、データの書換時に発生する消去お
よび書き込み回数を減らすことが可能なため、書き換え
速度の高速化が可能となる。さらに、一般的に書換回数
に制限のあるフラッシュメモリを使用する場合には、メ
モリの寿命をのばすことも可能となる。
【図1】本発明のメモリシステムの制御方法を用いたメ
モリシステムのメインフローチャートを示す図である。
モリシステムのメインフローチャートを示す図である。
【図2】本発明のメモリシステムにおける物理ブロック
構成を示す図である。
構成を示す図である。
【図3】本発明のメモリシステムにおけるページ構成を
示す図である。
示す図である。
【図4】本発明のメモリシステムにおけるECCデータ
構成を示す図である。
構成を示す図である。
【図5】本発明のメモリシステムにおけるECCコード
を算出するための条件を示した図である。
を算出するための条件を示した図である。
【図6】本発明のメモリシステムにおける電源投入時の
制御フローチャートである。
制御フローチャートである。
【図7】本発明のメモリシステムにおける論理アドレス
/物理アドレス変換テーブル作成のフローチャートであ
る。
/物理アドレス変換テーブル作成のフローチャートであ
る。
【図8】本発明のメモリシステムにおける論理アドレス
と物理アドレスの変換テーブル構成を示す図である。
と物理アドレスの変換テーブル構成を示す図である。
【図9】本発明のメモリシステムにおける読み出し時の
フローチャートである。
フローチャートである。
【図10】発明のメモリシステムにおける書込み時のフ
ローチャートである。
ローチャートである。
【図11】メモリカード外観図である。
【図12】従来のメモリシステムにおける論理アドレス
と物理アドレスの変換テーブル構成を示す図である。
と物理アドレスの変換テーブル構成を示す図である。
【図13】64MビットNAND型フラッシュメモリシ
ステムのにおける論理アドレスと物理アドレスの変換テ
ーブル構成を示す図である。
ステムのにおける論理アドレスと物理アドレスの変換テ
ーブル構成を示す図である。
【図14】従来のDOSフォーマットのパラメータを示
す図である。
す図である。
【図15】従来の書き換えシーケンスを示す図である。
【図16】従来の書き換えシーケンスを示す図である。
【図17】従来の書き換えシーケンスを示す図である。
【図18】本発明のDOSフォーマットのパラメータを
示す図である。
示す図である。
【図19】本発明の書き換えシーケンスを示す図であ
る。
る。
【図20】本発明の書き換えシーケンスを示す図であ
る。
る。
【図21】本発明の書き換えシーケンスを示す図であ
る。
る。
【図22】従来の消去コマンド実行時の管理領域とデー
タ領域の関係を示した図である。
タ領域の関係を示した図である。
【図23】本発明の消去コマンド実行時の管理領域とデ
ータ領域の関係を示した図である。
ータ領域の関係を示した図である。
1 メモリカードのプラスチックパッケージ 2 フラッシュメモリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 河本 和也 神奈川県川崎市幸区堀川町580番1号 株 式会社東芝半導体システム技術センタ−内
Claims (7)
- 【請求項1】 システムが管理する論理ブロックと、 複数のメモリセルにより構成され、前記論理ブロックに
対応するデータを記憶する物理ブロックと、 前記物理ブロック中に含まれ、前記対応する論理ブロッ
クのアドレスを記憶する冗長部と、 前記物理ブロックが少なくとも2以上で構成される物理
ブロックエリアとを具備し、前記論理ブロックと前記物
理ブロックエリアとの対応関係を管理するための論理番
地/物理番地変換テーブルを作成することを特徴とする
メモリシステムの制御方法。 - 【請求項2】 メモリアクセス時に、前記論理番地/物
理番地変換テーブルを参照し前記論理ブロックに対応す
る物理ブロックエリアのアドレスを読み出し、前記物理
ブロックエリアを構成する少なくとも2以上の物理ブロ
ックの前記冗長部に記憶される対応する論理ブロックの
アドレスを読み出すことにより、前記論理ブロックと対
応する物理ブロックを選択することを特徴とする請求項
1記載のメモリシステムの制御方法。 - 【請求項3】 電源投入時に、前記論理番地/物理番地
変換テーブルを作成することを特徴とする請求1記載の
メモリシステムの制御方法。 - 【請求項4】 第1の所定単位によって管理されるファ
イルを、第二の所定単位に分割された記憶領域において
記憶する半導体記憶装置において、 前記第1の所定単位の境界が、前記第2の所定単位の境
界上に配置されるよう制御することを特徴とするメモリ
システムの制御方法。 - 【請求項5】 前記第2の所定単位は消去単位であるこ
とを特徴とする請求項4記載のメモリシステムの制御方
法。 - 【請求項6】 システムが管理するファイルと、 前記ファイルの内容を記憶するデータ領域と、 前記ファイルとデータ領域の対応関係を記憶する管理領
域とを有し、 前記ファイルの消去を行う時に、前記管理領域に対応す
るデータ領域が空き領域である旨をマークし、対応する
前記データ領域の消去を行うことを特徴とするメモリシ
ステムの制御方法。 - 【請求項7】 システムが管理するファイルと、 前記ファイルの内容を記憶するデータ領域と、 前記ファイルとデータ領域の対応関係を記憶する管理領
域とを有し、 前記ファイルの消去を行う時に、前記管理領域に対応す
るデータ領域が空き領域である旨をマークしておき、メ
モリシステムに入力される信号に基づいて、前記管理領
域の内容を検知し対応するデータ領域の消去を行うこと
を特徴とするメモリシステムの制御方法。
Priority Applications (15)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9214561A JPH10124384A (ja) | 1996-08-28 | 1997-08-08 | 不揮発性半導体メモリの制御方法 |
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 |
TW87113055A TW392173B (en) | 1997-08-08 | 1998-08-07 | Method for controlling non volatile semiconductor memory |
CA 2245271 CA2245271C (en) | 1997-08-08 | 1998-08-07 | Method for controlling non-volatile semiconductor memory system |
KR10-1998-0032271A KR100365385B1 (ko) | 1997-08-08 | 1998-08-08 | 불휘발성반도체메모리의제어방법 |
EP19980114979 EP0896280A3 (en) | 1997-08-08 | 1998-08-10 | Method for controlling nonvolatile semiconductor memory system |
EP20050003250 EP1533703A3 (en) | 1997-08-08 | 1998-08-10 | Method for controlling non-volatile 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 |
JP2007199962A JP2007293917A (ja) | 1997-08-08 | 2007-07-31 | メモリシステムの制御方法 |
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 |
---|---|---|---|
JP22691396 | 1996-08-28 | ||
JP8-226913 | 1996-08-28 | ||
JP9214561A JPH10124384A (ja) | 1996-08-28 | 1997-08-08 | 不揮発性半導体メモリの制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10124384A true JPH10124384A (ja) | 1998-05-15 |
Family
ID=26520387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9214561A Pending JPH10124384A (ja) | 1996-08-28 | 1997-08-08 | 不揮発性半導体メモリの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10124384A (ja) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1153248A (ja) * | 1997-08-04 | 1999-02-26 | Tokyo Electron Ltd | データ処理システム、ブロック消去型記憶媒体、及びプログラム記録媒体 |
JP2001043143A (ja) * | 1997-09-30 | 2001-02-16 | Sony Corp | 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法 |
US6459644B2 (en) | 2000-06-06 | 2002-10-01 | Hitachi, Ltd. | Semiconductor memory device with block alignment function |
WO2003012647A1 (fr) * | 2001-07-27 | 2003-02-13 | Matsushita Electric Industrial Co., Ltd. | Appareil a memoire flash et procede de fusion de donnees stockees dans celle-ci |
JP2003167795A (ja) * | 2001-11-16 | 2003-06-13 | Samsung Electronics Co Ltd | フラッシュメモリの管理方法 |
JP2004516536A (ja) * | 2000-11-22 | 2004-06-03 | サンディスク コーポレイション | メモリのページサイズおよび/またはブロックサイズとは異なるサイズを有するデータセクタを備えた不揮発性メモリシステムの処理技法 |
JP2005338897A (ja) * | 2004-05-24 | 2005-12-08 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置および不揮発性メモリの消去方法と書込み方法 |
JP2006146505A (ja) * | 2004-11-18 | 2006-06-08 | Canon Inc | 記憶管理装置及び記憶管理方法 |
US7143261B2 (en) | 1999-10-21 | 2006-11-28 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
JP2007026097A (ja) * | 2005-07-15 | 2007-02-01 | Matsushita Electric Ind Co Ltd | データ記録制御方法及びデータ記録システム |
KR100742849B1 (ko) * | 1998-06-30 | 2007-07-25 | 소니 가부시끼 가이샤 | 데이타 기억 장치, 데이타 처리 시스템, 데이타 처리 방법 및 데이타 처리 장치 |
CN100356400C (zh) * | 2003-11-07 | 2007-12-19 | 希旺科技股份有限公司 | 可使用任何非挥发性储存器的模拟SmartMedia/xD-Picture储存卡 |
JP2008047155A (ja) * | 2007-10-26 | 2008-02-28 | Renesas Technology Corp | 一括消去型不揮発性メモリおよび携帯電話 |
US7353324B2 (en) | 2003-09-29 | 2008-04-01 | Kabushiki Kaisha Toshiba | Semiconductor storage device and method of controlling the same |
JP2008090870A (ja) * | 2007-12-27 | 2008-04-17 | Sony Corp | 記憶媒体及び電子機器システム |
US7369454B2 (en) | 2005-03-11 | 2008-05-06 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit device |
JP2008530709A (ja) * | 2005-02-16 | 2008-08-07 | サンディスク コーポレイション | フラッシュメモリにおける直接ファイルデータプログラミングおよび削除 |
US7426333B2 (en) | 2002-04-03 | 2008-09-16 | Sony Corporation | Recording apparatus and method, recording medium and program |
JP2013521588A (ja) * | 2010-03-05 | 2013-06-10 | アイファイ インコーポレイテッド | エンドレスメモリ |
JP2013525886A (ja) * | 2010-04-16 | 2013-06-20 | マイクロン テクノロジー, インク. | メモリデバイスおよびシステム中のブートパーティション |
US8671330B2 (en) | 2010-09-14 | 2014-03-11 | Kabushiki Kaisha Toshiba | Storage device, electronic device, and data error correction method |
US8745312B2 (en) | 2007-02-22 | 2014-06-03 | Samsung Electronics Co., Ltd. | Storage device and method of mapping a nonvolatile memory based on a map history |
US9448918B2 (en) | 2005-09-15 | 2016-09-20 | Eye-Fi, Inc. | Content-aware digital media storage device and methods of using the same |
-
1997
- 1997-08-08 JP JP9214561A patent/JPH10124384A/ja active Pending
Cited By (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1153248A (ja) * | 1997-08-04 | 1999-02-26 | Tokyo Electron Ltd | データ処理システム、ブロック消去型記憶媒体、及びプログラム記録媒体 |
JP2001043143A (ja) * | 1997-09-30 | 2001-02-16 | Sony Corp | 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法 |
KR100742849B1 (ko) * | 1998-06-30 | 2007-07-25 | 소니 가부시끼 가이샤 | 데이타 기억 장치, 데이타 처리 시스템, 데이타 처리 방법 및 데이타 처리 장치 |
US8176239B2 (en) | 1999-10-21 | 2012-05-08 | Panasonic Corporation | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
US7143261B2 (en) | 1999-10-21 | 2006-11-28 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
US7734864B2 (en) | 1999-10-21 | 2010-06-08 | Panasonic Corporation | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
US7899982B2 (en) | 1999-10-21 | 2011-03-01 | Panasonic Corporation | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
US8015349B2 (en) | 1999-10-21 | 2011-09-06 | Panasonic Corporation | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
US8990487B2 (en) | 1999-10-21 | 2015-03-24 | Panasonic Corporation | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
US7398353B2 (en) | 1999-10-21 | 2008-07-08 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
US8751734B2 (en) | 1999-10-21 | 2014-06-10 | Panasonic Corporation | Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
US8473671B2 (en) | 1999-10-21 | 2013-06-25 | Panasonic Corporation | Semiconductor memory card access apparatus, a computer-readable medium, an initialization method, and a semiconductor memory card |
KR100441587B1 (ko) * | 2000-06-06 | 2004-07-23 | 가부시키가이샤 히타치세이사쿠쇼 | 블록 얼라인먼트 기능을 갖는 반도체 기억 장치 |
US6459644B2 (en) | 2000-06-06 | 2002-10-01 | Hitachi, Ltd. | Semiconductor memory device with block alignment function |
JP2004516536A (ja) * | 2000-11-22 | 2004-06-03 | サンディスク コーポレイション | メモリのページサイズおよび/またはブロックサイズとは異なるサイズを有するデータセクタを備えた不揮発性メモリシステムの処理技法 |
JP2003044351A (ja) * | 2001-07-27 | 2003-02-14 | Matsushita Electric Ind Co Ltd | フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法 |
WO2003012647A1 (fr) * | 2001-07-27 | 2003-02-13 | Matsushita Electric Industrial Co., Ltd. | Appareil a memoire flash et procede de fusion de donnees stockees dans celle-ci |
US7039781B2 (en) | 2001-07-27 | 2006-05-02 | Matsushtia Electric Industrial Co., Ltd. | Flash memory apparatus and method for merging stored data items |
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 | フラッシュメモリの管理方法 |
US7426333B2 (en) | 2002-04-03 | 2008-09-16 | Sony Corporation | Recording apparatus and method, recording medium and program |
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 |
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 |
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 |
US7353324B2 (en) | 2003-09-29 | 2008-04-01 | Kabushiki Kaisha Toshiba | Semiconductor storage device and method of controlling the same |
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 |
US7958287B2 (en) | 2003-09-29 | 2011-06-07 | 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 |
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 |
CN100356400C (zh) * | 2003-11-07 | 2007-12-19 | 希旺科技股份有限公司 | 可使用任何非挥发性储存器的模拟SmartMedia/xD-Picture储存卡 |
JP2005338897A (ja) * | 2004-05-24 | 2005-12-08 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置および不揮発性メモリの消去方法と書込み方法 |
JP4661086B2 (ja) * | 2004-05-24 | 2011-03-30 | パナソニック株式会社 | 不揮発性記憶装置および不揮発性メモリの消去方法と書込み方法 |
JP4667014B2 (ja) * | 2004-11-18 | 2011-04-06 | キヤノン株式会社 | 記憶管理装置及びその制御方法 |
JP2006146505A (ja) * | 2004-11-18 | 2006-06-08 | Canon Inc | 記憶管理装置及び記憶管理方法 |
JP2008530709A (ja) * | 2005-02-16 | 2008-08-07 | サンディスク コーポレイション | フラッシュメモリにおける直接ファイルデータプログラミングおよび削除 |
US8214583B2 (en) | 2005-02-16 | 2012-07-03 | Sandisk Technologies Inc. | Direct file data programming and deletion in flash memories |
US7369454B2 (en) | 2005-03-11 | 2008-05-06 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit device |
JP2007026097A (ja) * | 2005-07-15 | 2007-02-01 | Matsushita Electric Ind Co Ltd | データ記録制御方法及びデータ記録システム |
US9448918B2 (en) | 2005-09-15 | 2016-09-20 | Eye-Fi, Inc. | Content-aware digital media storage device and methods of using the same |
US8745312B2 (en) | 2007-02-22 | 2014-06-03 | Samsung Electronics Co., Ltd. | Storage device and method of mapping a nonvolatile memory based on a map history |
JP2008047155A (ja) * | 2007-10-26 | 2008-02-28 | Renesas Technology Corp | 一括消去型不揮発性メモリおよび携帯電話 |
JP2008090870A (ja) * | 2007-12-27 | 2008-04-17 | Sony Corp | 記憶媒体及び電子機器システム |
JP2013521588A (ja) * | 2010-03-05 | 2013-06-10 | アイファイ インコーポレイテッド | エンドレスメモリ |
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 |
US8671330B2 (en) | 2010-09-14 | 2014-03-11 | Kabushiki Kaisha Toshiba | Storage device, electronic device, and data error correction method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4079506B2 (ja) | 不揮発性半導体メモリシステムの制御方法 | |
JPH10124384A (ja) | 不揮発性半導体メモリの制御方法 | |
JP4238514B2 (ja) | データ記憶装置 | |
JP4852548B2 (ja) | 消去可能/書換え可能メモリ用に設計されたホスト装置で一回又は数回プログラム可能なメモリを使用する方法および装置 | |
KR101004876B1 (ko) | 비휘발성 메모리 시스템에서 사용하기 위한 전원 관리 블록 | |
US7039754B2 (en) | Detachably mounted removable data storage device | |
JP4037605B2 (ja) | 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法 | |
US6625713B2 (en) | Memory controller and method for managing a logical/physical address control table | |
JP5178514B2 (ja) | 記憶装置用デュアルモードアクセスのための方法およびシステム | |
US8291155B2 (en) | Data access method, memory controller and memory storage system | |
US7681008B2 (en) | Systems for managing file allocation table information | |
US7752412B2 (en) | Methods of managing file allocation table information | |
JP2008511072A5 (ja) | ||
KR100370893B1 (ko) | 일괄 소거형 비휘발성 메모리 장치 | |
WO2006098212A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法 | |
US20130290609A1 (en) | Memory formatting method, memory controller, and memory storage apparatus | |
JP4242245B2 (ja) | フラッシュrom制御装置 | |
JP2007293917A (ja) | メモリシステムの制御方法 | |
JP2005115562A (ja) | フラッシュrom制御装置 | |
JP2004326523A (ja) | 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050414 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050606 |