JP2582487B2 - 半導体メモリを用いた外部記憶システム及びその制御方法 - Google Patents

半導体メモリを用いた外部記憶システム及びその制御方法

Info

Publication number
JP2582487B2
JP2582487B2 JP19731891A JP19731891A JP2582487B2 JP 2582487 B2 JP2582487 B2 JP 2582487B2 JP 19731891 A JP19731891 A JP 19731891A JP 19731891 A JP19731891 A JP 19731891A JP 2582487 B2 JP2582487 B2 JP 2582487B2
Authority
JP
Japan
Prior art keywords
sector
memory block
memory
block
sectors
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.)
Expired - Lifetime
Application number
JP19731891A
Other languages
English (en)
Other versions
JPH0527924A (ja
Inventor
好功 坂上
秀人 新島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP19731891A priority Critical patent/JP2582487B2/ja
Priority to EP92306064A priority patent/EP0522780B1/en
Priority to DE69223287T priority patent/DE69223287T2/de
Publication of JPH0527924A publication Critical patent/JPH0527924A/ja
Priority to US08/410,589 priority patent/US5524230A/en
Application granted granted Critical
Publication of JP2582487B2 publication Critical patent/JP2582487B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、フラッシュEEPRO
Mまたはフラッシュ・メモリと呼ばれる消去型不揮発性
メモリを用いた半導体メモリに関するもので、特に、従
来のコンピュータ・システムにおける磁気ディスクと代
替可能な半導体外部記憶システムに係わるものである。
【0002】
【従来の技術】ノートブック等の携帯可能なパーソナル
・コンピュータの普及に伴って、コンピュータ・システ
ムの小型軽量化、低消費電力化に対する要求が強くなっ
てきている。半導体メモリを用いた外部記憶システム
は、磁気ディスクのように駆動系を持たないため、消費
電力が低く、高速動作が可能である。また、小さなメモ
リ・モジュールで構成されるため、磁気ディスクに比べ
て小型で軽く、形状に自由度が大きく、カード化も容易
である。
【0003】しかし、従来の半導体メモリにはコスト、
容量、電池バックアップなどの点でまだ問題が多い。メ
モリとしてSRAMを使うと電池によるバックアップの
時間は長くなるが、コストが高く、容量も小さくなって
しまう。コスト、容量に優れたDRAMでは、スタンバ
イ時の消費電力が大きく、バックアップの時間が一週間
程度に限られてしまう。電池系の事故によるデータ消失
の危険もある。EEPROMは電池を必要としないが、
コストが高すぎる。
【0004】これらの問題を解決するメモリとして一括
消去型のフラッシュ・メモリが開発されている。DRA
Mと同じくトランジスタ1つで記憶素子が構成され、高
密度化が可能で、将来の市場次第でDRAMと同等かそ
れ以下のビット単価(低コスト、大容量)になることが
期待されている。記憶素子は不揮発性であり、電池バッ
クアップの必要はない。Richard D. Pashley外の"Flash
memories: the bestof two worlds"、IEEE SPECTRUM 1
989年12月、30〜33頁は、このようなフラッシュ・メモ
リの概要を紹介している。また、特開平2−10598
号公報にも同様なフラッシュ・メモリが示されている。
【0005】しかし、フラッシュ・メモリにはSRAM
やDRAMにはない制限がある。まず、消去回数には上
限があって十万回程度が限度である。しかも、メモリ・
ビットのプログラミングは一方通行で、0から1または
1から0へしか変えることができない。逆方向へ変える
には、一括消去によってメモリ・ブロック全体を0また
は1にする必要がある。。消去には通常数十ミリ秒単位
の時間がかかり、また、一括消去にはベリファイなどの
特別な手順が必要とされるが、そのために更に数秒の時
間を要する。
【0006】
【発明が解決しようとする課題】このようなフラッシュ
・メモリで構成される半導体メモリを、従来の磁気ディ
スクに代えてホスト・コンピュータのバスに接続する
と、特定のセクタはホスト・コンピュータによって非常
に頻繁に書込まれて、他のセクタよりかなり早く消去回
数の上限に達してしまう。また、セクタ書込みに非常に
時間がかかる。これは、セクタ中の数バイトを変更する
のに、そのセクタを含むメモリ・ブロック内のデータ全
てをホスト・コンピュータのメモリ空間に一時的に退避
し、メモリ・ブロックを一括消去した後、空白のセクタ
に新しいデータを書き戻すからである。1メガビット以
上の容量を持つ半導体メモリではセクタ書込みに数秒か
かってしまう。また、半導体メモリをホスト・コンピュ
ータのバスに接続するためには、特別のプログラムが必
要となる。
【0007】これらの問題を解決するために、セクタ消
去型のフラッシュ・メモリの開発が進められている。例
えば、シーク・テクノロジー(SEEQ TECHNOLOGY)社の2
7F010(1024KフラッシュEPROM)は、メ
モリ・チップの全ビットを消去(論理1に変更)するチ
ップ消去のほかに、その中の特定のセクタだけを消去す
るセクタ消去が可能である。この方式では消去対象外の
余分なセクタの退避や書き戻しが避けられる。しかし、
セクタ書込み時に古いセクタの消去も併せて行うため、
数十ミリ秒単位の時間がかかり、磁気ディスクと同程度
かそれ以下の性能しか得られない。また、特定のセクタ
がホスト・コンピュータによって非常に頻繁に書込まれ
て他のセクタよりかなり早く許容消去回数に達してしま
い、フラッシュ・メモリ全体としてセクタの有効な利用
が出来ないという問題は、解決されない。更に、セクタ
消去型は記憶素子やチップ構造が一括消去型よりも複雑
で、コストおよび消去回数の面でも解決すべき問題があ
るとされている。
【0008】ところで、これらの問題の多くは、ホスト
・コンピュータによって外部記憶装置のブロックや、セ
クタのアドレスが支配される、即ちホスト・コンピュー
タのコマンドの持つ論理アドレスによって外部記憶装置
の物理アドレスが決定される制御方式に起因すると考え
られる。
【0009】本発明の目的は、ホスト・コンピュータと
の間のデータの読出し、書込みを従来の磁気ディスクよ
りも高速に処理できる半導体メモリを用いた外部記憶シ
ステムを提供することにある。
【0010】本発明の他の目的は、半導体メモリ内の特
定のセクタだけが頻繁に書込み、消去されることがな
く、全てのメモリが長期間有効に使用される半導体外部
記憶システムを提供することにある。
【0011】本発明の他の目的は、コンピュータ・シス
テムに接続する場合、従来の磁気ディスクと互換性のあ
る半導体外部記憶システムを提供することにある。
【0012】本発明の他の目的は、書込み中に電源が遮
断しても、容易にファイルを復旧できる半導体外部記憶
システムを提供することにある。
【0013】
【課題を解決するための手段】これらの目的は、ホスト
・コンピュータと外部記憶装置のアドレス関係に柔軟性
を与え、ホスト・コンピュータのコマンドの持つ論理ア
ドレスによって外部記憶装置の物理アドレスが一方的に
決定されることのないようなアドレス制御方式を導入す
ることによって解決される。外部記憶装置側では、ホス
トのコマンド処理に備えて、書き込みあるいは複写用の
メモリ・ブロックやセクタを常に準備し、この選ばれた
メモリ・ブロックやセクタの物理アドレスとホスト・コ
ンピュータのコマンドとの対応関係を、アドレス変換表
に記録、保持する。メモリ・ブロックやセクタの状況は
夫々の管理表に記録され、管理される。
【0014】外部記憶装置側では、ホスト・コンピュー
タの処理速度や、半導体メモリの利用効率を考慮して最
適のメモリ・ブロックやセクタを選択できる。しかもホ
ストのコマンドを待たずに、あるいは、ホストのコマン
ドと並行してコマンドの処理を行うことによって、ホス
ト・コンピュータの処理速度を向上させることが出来
る。つまり、ブロック管理手段の記録に基づき、データ
の書込みや消去の可能なメモリ・ブロックを予め準備し
て、ホスト・プロセッサのコマンドに応答した迅速な処
理を可能にしている。さらに、半導体メモリのメモリ・
ブロックやセクタを総合的に管理し、利用効率を考慮し
て自由に物理アドレスを選定することができるので、半
導体メモリ内の特定のメモリ・ブロックが不必要に頻繁
に消去されることがなくなり、全てのメモリが長期間有
効に使用される。ホスト・コンピュータは、物理アドレ
スを考慮することなく外部記憶装置にコマンドを与え、
処理結果を受け取る事ができるので、従来の磁気ディス
ク装置との互換性も確保される。また、ホスト・プロセ
ッサのコマンド・アドレスに直結した書替えをしないの
で、容易にファイルを復旧することもできる。
【0015】本発明のより具体的な特徴によれば、半導
体外部記憶システムは、フラッシュ・メモリで構成さ
れ、それぞれが少なくとも1つのセクタを含む複数のメ
モリ・ブロックから成る半導体メモリと、アドレス変換
表、ブロック管理手段及び、コマンド処理部を備え、前
記アドレス変換表は、セクタやメモリ・ブロックの物理
アドレスとホスト・コンピュータのコマンドとの対応関
係を記録するものであり、前記ブロック管理手段は、各
メモリ・ブロックの消去回数及び各メモリ・ブロックと
各セクタの状況を記録したものであり、前記コマンド処
理部が、前記ブロック管理手段の記録に基づき、データ
の書込みや消去を行うメモリ・ブロックを選定し、前記
コマンドに応答して、前記アドレス変換表から得られる
物理アドレスを持つメモリ・ブロックやセクタに対して
データの書込み、読出しあるいはの消去の処理を行い、
これらの処理による各セクタやメモリ・ブロックの状況
変化を前記ブロック管理手段に逐次記録、更新し、さら
に、これらのセクタやメモリ・ブロックの物理アドレス
とホスト・コンピュータのコマンドとの対応関係を、前
記アドレス変換表に記録、更新し、前記ブロック管理手
段の記録に基づき、次にデータの書込みもしくは消去を
行うメモリ・ブロックを選定する。
【0016】
【実施例】本発明の半導体外部記憶システムを組み込ん
だコンピュータ・システムの一例を図1に示す。CPU
10はシステム・バス13を介して、主記憶装置15、
バス制御装置16およびオプションの数値計算用コプロ
セッサ14と通信する。CPU10および関連する周辺
装置の間の通信はバス制御装置16を介して行われる。
そのため、バス制御装置16はファミリー・バス18に
よって周辺装置に接続されている。周辺装置としては、
本発明の実施例になるフラッシュ・メモリ製の外部記憶
システム20が接続され、さらに、通信装置21、ハー
ド・ファイル22、光ディスク23もファミリー・バス
18に接続されている。24は、ディスプレイ・コント
ローラ、25は、CRTである。勿論、他の周辺装置も
接続可能である。このようなコンピュータ・システム
は、例えば、IBM PS/2パーソナル・コンピュー
タによって構築することが出来る。
【0017】直接メモリ・アクセス制御装置(DMA
C)12は、これらの周辺装置の全部または選択された
何台かによるメモリ・アクセスを可能にすべく設けられ
る。そのため、ファミリー・バス18は、少なくともそ
の一部がDMAC12に分岐接続される。図には示して
いないが、DMAアクセスが可能な各周辺装置にはアー
ビトレーション回路が設けられ、アービトレーション・
レベル(優先順位)を割り当てられる。DMAC12の
側には、DMAアクセスを同時に要求している複数の周
辺装置の間で調停作業を行って、どの周辺装置がDMA
アクセスを許可されたかをDMAC12に知らせる中央
アービトレーション制御回路11が設けられる。DMA
C12および中央アービトレーション制御回路11によ
るDMA制御の詳細については米国特許第490123
4号公報を参照されたい。
【0018】図2に、半導体外部記憶システム20の機
能的な構成の詳細を示す。この半導体外部記憶システム
は、ファミリー・バス18に接続された制御装置30
と、半導体メモリ・バス31に続されたフラッシュ・メ
モリ32とを含む。制御装置30は、制御装置バス33
によって相互接続されたコマンド処理部34、ブロック
管理表35、アドレス変換表36およびバッファ37を
含む。フラッシュ・メモリ32は、それぞれ複数のセク
タを含む複数のメモリ・ブロック320(321〜32
i)から成っている。本実施例では、メモリ・ブロック
320として、1から0への変化だけが可能であり、一
括消去によってオール1に設定されるフラッシュ・メモ
リ・チップを仮定しているが、これらが逆のチップを使
うことも可能である。コマンド処理部34は、アービト
レーション回路を含み、DMA転送および入出力制御を
行う。アドレス変換表36は、CPU10からファミリ
ー・バス18を介して送られてきた論理アドレスをフラ
ッシュ・メモリ32の物理アドレスに変換するものであ
り、ランダム・アクセス・メモリで構成されている。こ
のランダム・アクセス・メモリにはバッファ37を含め
ることができる。
【0019】バス制御部38は、半導体メモリ・バス3
1と制御装置・バス33を相互接続するための周知のレ
シーバ/ドライバ構成を持っている。本実施例では、バ
ス制御部38はバス31および33間で16ビットの並
列転送を行うように構成されているが、勿論本発明はこ
のような並列転送に限定されるものではない。コマンド
処理部34は、データの読出し部40、書込み部41、
複写部42及びブロック消去部43を管理する。
【0020】フラッシュ・メモリ32はセクタの集まり
として管理される。本実施例では、フラッシュ・メモリ
32を構成する各メモリ・ブロック320は512のセ
クタから成り、かつ各セクタは512バイトを含んでい
る。これらのセクタ数およびバイト数は、メモリ・ブロ
ック320の記憶容量やアーキテクチャに応じて変えら
れる。
【0021】なお、本発明において、メモリ・ブロック
とは、ブロック消去部によって一括消去されるメモリ・
チップ上領域のを意味する。本実施例では、一つのメモ
リ・ブロックが、一つのメモリ・チップに対応している
が、一つのメモリ・チップに複数のメモリ・ブロックが
存在する場合もあり、また、後述するセクタ消去型の例
のように、一つのセクタが一つのメモリ・ブロックに相
当する場合もある。
【0022】図3は、図2の半導体外部記憶システム2
0のハード構成を示したものである。図において、コマ
ンド処理部34、データの読出し部40、書込み部4
1、複写部42及び消去部43の各機能部は、マイクロ
プロセッサ50で構成する。このマイクロプロセッサ5
0を制御するマイクロコードは、ROM52に格納され
る。ブロック管理表35及びアドレス変換表36は、頻
繁に書替えられ、非常に速いアクセスが要求されるた
め、RAM54上に実現する。マイクロプロセッサ50
は、I/Oレジスタ56を通じて随時ホストCPU10
と通信する。データ転送制御装置58は、I/Oバス1
8とローカルバス33を必要に応じてつなぎ、バッファ
37およびフラッシュメモリ(EEPROM)40との
間のデータ転送を可能にする。データ転送時以外には、
これらのバスは切りはなされており、マイクロプロセッ
サ50がホストCPU10と独立に機能することが出来
る。
【0023】図4に示すように、各メモリ・ブロック3
20の最初の数セクタはセクタ管理表60として使わ
れ、各セクタの状況64および論理アドレスL66が格
納される。各メモリ・ブロック320の残りのセクタ
は、データ領域70(70A〜70N)として使用され
る。セクタ管理表60の大きさは当該メモリ・ブロック
およびそれに含まれるセクタの容量によって決り、上述
したブロック当り512セクタ、セクタ当り512バイ
トの例では、セクタ管理表として4セクタが必要であ
る。各セクタ70A〜70Nには、後述するように物理
アドレスが割り当てられる。セクタ管理表60を含むこ
れらのセクタは、フォーマット・プログラムによりメモ
リ・チップ上にフォーマットされる。
【0024】セクタ管理表60は各4バイトの複数のエ
ントリを含み、その最初のエントリには、関連するメモ
リ・ブロック40の消去回数62が格納される。2番目
のエントリには、関連するメモリ・ブロックにおいてデ
ータ領域70Aとして使用される最初のセクタ(今の場
合はセクタ4)の状況64および論理アドレス66が格
納される。3番目のエントリには、その次のセクタ70
B、すなわちセクタ5の状況64および論理アドレス6
6が格納され、以下同様に、後続の各セクタの状況およ
び論理アドレスが順次に格納される。
【0025】セクタの状況64は、下記のように、4ビ
ットの状況フラグ゛で表される。状況フラグは、フラッ
シュ・メモリ上にあるため、ビットの変化が一方向に限
定される。
【0026】1111=空白 1110=有効 1100=無効 0000=消去中
【0027】セクタ管理表60の状況64に基づいてメ
モリ・ブロック毎の状況が、ブロック管理表35に記録
される。図6にブロック管理表35の一例を示し、メモ
リ・ブロックi毎の、空白セクタ数B(i,1)72、
有効セクタ数B(i,2)74及びメモリ・ブロック全
体の空白セクタ数B(,1)76が記録される。
【0028】再び図2、図3に戻って、コマンド処理部
34は、バッファ37を介してCPU10と通信する。
すなわち、CPUコマンドおよびデータはDMAC12
の制御のもとにバッファ37にDMA転送され、コマン
ド処理部34はバッファ37からコマンドを取り出して
実行する。フラッシュ・メモリ32は、CPU10から
はハード・ディスクやフロッピー・ディスクのように見
えるので、バッファ37に転送されるコマンドは、この
ようなディスクに対するコマンドと同じタイプであり、
OPコードの他にセクタ・アドレスLを含む。外部記憶
システム20において、このセクタ・アドレスLは論理
アドレス66として扱われる。このセクタ・アドレスL
(論理アドレス66)とメモリ・ブロック40の物理ア
ドレスA(L)68(ポインタ i,j)の関係を与え
るアドレス変換表36が、図5に示すような構成で、R
AM54上に保持される。
【0029】次に、外部記憶システム20の制御装置3
0の動作を説明する。コマンド処理部34は、通常、独
立してセクタの書き込み、ブロック消去等の処理を実行
する。そして、ホストCPU10からのコマンド及びデ
ータを割り込みによって受け取る。 図7〜図8に、こ
の通常の処理の概要を示す。まず、図7(図7A〜7
C)の最初のステップにおいて、ブロック管理表とアド
レス変換表の初期化を行う(702)。次に電源の遮断
等のためファイルの回復が必要か否か判断し、必要なら
ばその処理を行う(704,706)。次に、、ホスト
CPU10からバッファ37に送られて来たコマンドが
あるかチェックする(708)。もし書込みコマンドが
あれば、メモリ・ブロック40内の空白セクタの有無を
チェックし( 総数B(,1)>0 )、空白セクタが
あれば書込みを行う(710〜714)。セクタ消去コ
マンドであれば、該当セクタの消去処理を行う(71
6,718)。もし、メモリ・ブロックieを消去する
必要があると判定したときは、ブロック消去の処理(詳
細は後述する)を開始する。このブロックの消去処理に
際しては、後述するように、有効セクタを退避させるた
めに、他のメモリ・ブロックへのセクタ複写を行う。こ
のセクタ複写が終了すると、コマンド処理部はメモリ・
ブロックieの消去回数を保持した後、該当メモリ・ブ
ロックieの一括消去をブロック消去部43に命令する
(720〜724)。消去回数は、前に述べたように、
セクタ管理表の最初の4バイトに記憶、管理し、消去完
了後一つ増やして書戻す(728)。次に、消去したブ
ロックieを空白ブロックibとし(730)、セクタ
管理表及びブロック管理表35の記録を更新する。すな
わち、メモリ・ブロックib内の空白セクタの数B(i
b,1)をMとし、有効セクタの数B(ib,2)を0と
する(732,734)。
【0030】次に、消去するメモリ・ブロックの候補i
eを更新する。そして、「有効」セクタの数が最も少な
いメモリ・ブロックをieとして選ぶ。ただし、あるメ
モリ・ブロックiの消去回数が全てのメモリ・ブロック
の消去回数の中の最大値より或る値以上小さい時には、
「有効」セクタの数の大小に関係なく、このメモリ・ブ
ロックiを優先的に消去候補のメモリ・ブロックieと
して選んで、消去回数の均一化を図る(736)。全て
のメモリ・ブロックにもはや消去すべきメモリ・ブロッ
クieがなく、かつ空白セクタiwも存在しなければ、
CRT25(図1)にメモリ交換の表示を行う(73
8,740)。この表示は、余裕をもたせるべく、早め
に行うようにしてもよい。
【0031】ホストCPU10から外部記憶システム2
0に対する処理要求は前記した通常処理に対する割込み
によって受付けられる。図8に示すように、コマンド処
理部34はホストCPU10からのコマンドを受付けた
とき(802)、セクタ読出し(804,806)、セ
クタ書込みに必要な処理(808,810)あるいはセ
クタ消去に必要な処理(812,814)を実行する。
各コマンドを実行する場合、コマンド処理部34はその
コマンド中の論理(セクタ)アドレス66についてアド
レス変換表36を検索し、対応する物理アドレス68を
得る。物理アドレス68は、フラッシュ・メモリ32の
特定のメモリ・ブロック32iを指定するブロック・ア
ドレス(i)と、そのブロック内の特定のセクタjを指
定するセクタ・アドレス(j)とから成っている。
【0032】次に、上記コマンド処理部34の各処理の
詳細について述べる。最初はブロック管理表とアドレス
変換表の初期化(図7A、ステップ702)である。図
9(図9A,9B)は、このブロック管理表とアドレス
変換表の初期化の処理の詳細である。ブロックの番号
i,セクタ番号jを初期化し空白セクタ数B(i,
1)、有効セクタ数、有効セクタの数B(i,2)を共
にゼロにし(902,904)、セクタ管理表60から
ブロックi内のj番目のセクタの状況とポインタLのデ
ータS(i,j)を得る(906)。もし、セクタが空
白であればブロックi内の空白セクタの数B(i,1)
に1を加える。セクタが空白でなければ、次にセクタが
有効かチェックし、有効ならば、アドレス変換表36の
L番目のA(L)に物理アドレス68を格納し(91
4)、有効セクタの数B(i,2)に1を加える(91
6)。以下同様にセクタ番号jがブロックi内のセクタ
総数Mになるまで同様の処理を行う(920)。さら
に、全てのブロックNについて同様の処理を繰り返す
(922〜924)。そして次にセクタ書き込みを行う
ブロックの番号iw,消去する候補ブロックの番号i
e,消去時にデータの退避を行うべき空白ブロックの番
号ibを決定する(926)。
【0033】次に、ファイルの回復(図7A、ステップ
706)について述べる。 従来の磁気ディスク・シス
テムでは、セクタ書替え時、データがセクタ上に上書き
されるので、例えばファイルの書き込みの途中で電源に
事故が生じると、古いファイル、新しいファイルの両方
とも失われてしまう。これに対して、本発明では、セク
タ書替え時、古いセクタに上書きすることなく新しいセ
クタを見つけるため古いデータはそれを含むブロックが
消去されるまでの間、有効であり続ける(ただし、セク
タの状況フラグはすでに無効に書替えられている)。そ
こで、ファイルの書き込みに失敗したときには、状況フ
ラグ64に関係なく、S(i,j)中のLの値から古い
セクタ66を見つけ出しファイルを再生することが、殆
どの場合可能である。
【0034】図10は、このファイルの回復の詳細を示
す。事故等でファイルの書込み中に電源が遮断されると
RAM54上のバッファ37内のデータは消失する。そ
こで電源再投入時に古いファイルの回復を行う。まず、
ディレクトリ情報およびファイル配置情報を読出し、フ
ァイルの先頭セクタ番号Kを求める(1002,100
4)。電源が遮断されるまでに書替えられたセクタ番号
に対応するセクタとしては、古いデータを持つ無効セク
タと新しいデータを持つ有効セクタの両方が存在する。
そこで、セクタ番号Kを持つ無効セクタを探し、あれば
このセクタのデータをユーザの確認を得たうえで新しい
空白セクタに移し、これを有効にする。また既存の有効
セクタは無効にする(1010)。ユーザの確認を得る
のは、古いデータが複数のバージョンからなっていると
き、いずれを選択すべきか確認をとるためである。以下
同様にしてファイルを構成する全セクタに対する処理を
行う(1014)。このようにして、無効セクタのデー
タを集めていくことによって古いファイルを再構成す
る。
【0035】図11は、セクタ読出し(図8のステップ
806)の詳細フローであり、与えられた論理アドレス
L66に対応する物理アドレスA(L)68をアドレス
変換表36より得て、セクタ70A〜70Nの位置を知
り、データ(AL)をデータ読出し部40にセットし、
CPU10にDMA転送する。
【0036】次に、セクタ書込み処理(図7Aのステッ
プ714)について述べる。図2及び図12において、
コマンド処理部34は、まず、ハ゛ッファ37からホス
トCPU10により与えられた論理アドレスLを得て、
次にアドレス変換表36を検索し、物理アドレスA
(L)を得る。さらにブロック管理表35を調べて、デ
ータ領域70の空白セクタ70Nの位置を知る。そし
て、ホストCPU10から受け取ったテ゛ータをハ゛ッ
ファ37から読み出し、この新しいデータを空白セクタ
70Nに書き込んで、その状況フラグ64Nを「空白」
から「有効」に、古いセクタ70Aの状況フラグ64A
を「有効」から「無効」に書換える。そして、ホストC
PU 10から指定された、論理アドレス66と新しい
セクタ70Nの物理アドレスの対応をアドレス変換表3
6に記憶すると共に、空白セクタ(i,1)数、有効セ
クタ数(i,2)、空白セクタ総数B(,1)に関しブ
ロック管理表の記録を更新する。。なお、新しいセクタ
70Nが含まれるメモリ・ブロックiwは古いセクタ7
0Aと同じメモリ・ブロック320内であってもよく、
他のメモリ・ブロックにあってもよい。
【0037】図13(13A〜13C)に上記セクタ書
込み処理の詳細を示す。まず、ホストCPU10から与
えられたコマンドに含まれる論理アドレスLを得る(1
302)。そして、後述するファイル配置情報の処理が
必要なときはその処理を行い(1304,1306)、
次に、アドレス変換表36により物理アドレスA(L)
を得る(1308)。さらにこのA(L)について古い
メモリ・ブロック番号i,セクタ番号jを得る(131
4)。次に、書き込み先のメモリ・ブロックiw内の空
白セクタのメモリ・アドレスPを得て、このPをデータ
書込み部41にセットし、セクタ・データの書き込みを
行う(1316〜1320)。 さらに、Pから書き込
み先のセクタ番号kを得て、ポインタのデータS(i
w,k)を有効にしてLを格納しPを物理アドレスA
(L)とする(1322〜1326)。次に、同じ論理
アドレスの古いデータを論理的に消去するために、メモ
リ・ブロックの古いポインタLの値S(i,j)を無効
とし(1330)、有効セクタの数B(i,2)を一つ
減ずる(1332)。さらに、ブロックiが次に消去す
べきブロックか否かの判定を行い(1334)、空白セ
クタの数B(iw,1)を一つ減ずる(1336)。そ
して、もしこの空白セクタの数が0になれば、空白セク
タを持つメモリ・ブロックを次の書き込み先のメモリ・
ブロックiwとして更新する(1340)。但し、セク
タ・データ退避のために複写先メモリ・ブロックとして
選定された空白メモリ・ブロックは、除く。最後に、後
述する、ブロックの消去判定と処理を行う(134
2)。
【0038】次に、セクタ消去の手順(図7Bのステッ
プ718)を図14〜図15により詳細に説明する。図
15において、コマンド処理部34は、あるメモリ・ブ
ロックiのセクタの状況フラグが「有効]から「無効」
になるたびに、ポインタの値S(i,j)を無効とし
(1508)、ブロック管理表のメモリ・ブロックi内
の「有効」セクタの数B(i,2)を1つ減らす(15
10)。これは、セクタ・データを論理的には消去し、
物理的には有効のまま保持するものである。、そして、
アドレス変換表の物理アドレスA(L)をゼロとし、残
りの「有効」セクタの数を消去候補のメモリ・ブロック
ieと比較して、これより小さい時は、このメモリ・ブ
ロックiを次に消去すべきメモリ・ブロックの候補ie
として選定する。ただし、メモリ・ブロックieの消去
回数が全てのメモリ・ブロックの消去回数の中の最大値
より或る値以上小さい時には、ieの値を保持する(1
514)。
【0039】本実施例では、ブロック管理表やセクタ管
理表に基づくブロックの消去処理により、「空白」セク
タの数は常に一定の値以上確保される。この「空白」セ
クタは、書込み時や、消去時におけるデータの書込み
先、複写先として用いられる。図14に示すように、あ
るメモリ・ブロック321内には、当初、「空白」セク
タが多数存在しているが、漸次「有効」セクタそして
「無効」セクタが増加してゆく。そして、このメモリ・
ブロック321内に残る「有効」セクタ70の数が所定
値より少なくなると、その「有効」セクタ70を他のメ
モリ・ブロック322内の「空白」セクタに複写し、次
に、メモリ・ブロック321の内容を一括消去し、全て
を「空白」セクタとする。
【0040】CPU10からのコマンドは、セクタの複
写やメモリ・ブロックの消去の処理中にも、割り込みに
よって実行される。例えば、、CPU10のコマンドが
データ書込みの場合は、現在データを複写中のメモリ・
ブロック322とは別のメモリ・ブロック323を選ん
で、複写と並行して書込み処理を行う。従って、空白セ
クタが確保されているかぎり、割り込み(並行処理)の
機能が実行されるので、CPU10からのコマンドの実
行が待たされることはない。
【0041】ところで、ブロック消去に先立つ有効セク
タのデータ複写には時間を要するので、複写回数はなる
べく少ないほうがよい。そこで、 図13Cのステップ
1334や、図15のステップ1514では、消去する
メモリ・ブロックの有効セクタの数を最小にして、複写
回数を少なく抑えるための処理を行う。そのため、今、
あるセクタが無効になったときそのセクタを含むメモリ
・ブロックiの有効セクタの数と、消去候補のメモリ・
ブロックieの有効セクタの数の比較を行い、次の消去
候補の決定を行う。その詳細を図16に示す。まず 、
今セクタが無効になったあるメモリ・ブロックiの消去
回数E(i)をそのメモリの消去回数の上限の許容値X
と比較する。この上限値Xは、メモリ・ブロックの仕様
に応じて例えば一万回あるいは十万回に設定する。も
し、Xを越えているか、またはそのメモリ・ブロックi
に空白セクタB(i,j)が有れば、消去候補の変更の
必要が無くこれで判定は終了する(1602,161
0)。もし、E(i)が上限Xに達していなければ、次
に全メモリ・ブロックの中で最多の消去回数Qを持つメ
モリ・ブロックと消去候補のブロックieの消去回数E
(ie)との差が消去回数のばらつきの最大許容値R以
下か否かをチェックする(1604)。Rとしては、例
えば100〜1000の間の適当な値が選ばれる。も
し、ばらつきがRより大きければ、メモリ・ブロックi
についての検討は不要であり、判定は終了する。これに
より消去回数の均一化を図る。逆にRより小さければ次
に、有効セクタの数B(i,2)の比較を行う(160
6)。メモリ・ブロックiが消去候補のメモリ・ブロッ
クieよりも少ない有効セクタB(i,2)しか持って
いない時は、メモリ・ブロックiを新たに次の消去候補
のメモリ・ブロックieとして置き替える(160
8)。なお、メモリ・ブロックi内の総セクタ数が分か
っているので、このiとieの比較は有効セクタ数の代
りに、無効セクタの数で行ってもよいことは言うまでも
ない。
【0042】次に図17により、ブロック消去判定処理
(図13Cのステップ1342及び図15のステップ1
516)の詳細に述べる。まず、消去候補のメモリ・ブ
ロックieの有効セクタの数B(ie,2)を所定値S
と比較し(1702)、有効セクタの数が少なくなった
ときは、このブロックie内の有効セクタを複写先のメ
モリ・ブロックibに複写、退避することをセクタ複写
部42に命令する(1706)。有効セクタの数が多く
ても、全メモリ・ブロックに空白セクタの数数が少ない
と、次の書き込みや複写の処理に支障を来たす。そこ
で、空白セクタの総数B(,1)が所定値Tより少なけ
れば、消去のために、同様にセクタ複写の処理を行う
(1704、1706)。
【0043】空白セクタを効率よく再生するには、ホス
トCPUによって消去されたセクタをなるべく早く知る
必要がある。しかし、従来のファイル・システムは、C
PU10によってファイルが消されても、ファイル配置
情報を更新するだけであり、どのセクタが消されたかを
外部記憶装置には教えてくれない。本発明の実施例によ
れば、ファイル・システムが書換えられた時(図13A
ステップ 1304)には、ファイル・システムを書
換えず、図18,図19に示すように、ファイル配置情
報の比較を行うことによりこの問題を解決できる。すな
わち、コマンド処理部34が新旧のファイル配置情報F
ATを比較する機能を持つ。これには、CPU10が論
理アドレスLを管理しているファイル配置情報FATを
利用する。CPU10によってファイル・システムが書
換えられるとその情報はオペレーティング・システム
OSにより特定の論理アドレスLに格納される。そこ
で、外部記憶装置側の古いファイル配置情報FATOを
読み出し(1902)、CPU10側の新しいファイル
配置情報FATNの各項目Uと比較し(1908)、新
たに開放されたセクタ70Nがあれば、そのセクタ70
Nのセクタ消去処理を行う(1912)。以下全項目に
ついて同様の処理を行い外部記憶装置側のセクタ状況の
更新を行う。
【0044】以上説明した本発明の実施例によれば、す
べてのセクタがほぼ均一に使用されるとともに、高速の
セクタ書き込みが可能となる。図20は、従来の方式
(A)と本発明の方式(B)とにおけるセクタ書き込み
の処理時間の比較を示す。従来方式では、最初にブロッ
ク内の全データを主記憶装置やバッファ等に退避してか
ら、ブロックを消去し、その後新しく更新したデータと
ともにデータをメモリブロックにす書き戻す。通常、ブ
ロック内には、64〜256個程度のセクタがあり、そ
れら全部を読み出して書き戻すのに要する時間は、かな
りのものとなる。その間ホストCPUの処理は中断され
る。これに対して、本発明の方式(B)では、セクタ書
き込みのためのCPU10の処理として、単にセクタ一
つを書き込むだけで済み、従来必要とされていたデータ
の退避処理が不要となり、しかも、ブロックの消去はコ
マンド処理部34でCPU10の(他の)処理と並行に
独立して実行される。従って従来の方式に比べてかなり
高速のセクタ書き込み、換言するとCPU10の拘束時
間の短縮が可能となる。これは、本発明が、消去するメ
モリ・ブロック、セクタを書き込むブロック及び空白ブ
メモリ・ロックを常に別々に準備するようにメモリ・ブ
ロックやセクタの管理をしているためである。これによ
り、セクタ書き込みとメモリ・ブロックの消去、セクタ
読み出だしとメモリ・ブロックの消去とが並列に実行可
能である。
【0045】次に、図21は、本発明の他の実施例を示
すもので、図2の例と比較すると、コマンド処理の機能
34が、ホストCPU10によって提供される点で相違
する。また、ブロック管理表35、アドレス変換表36
は、主記記憶装置15上に置かれ(バッファを含めても
よい)、ホストCPUから参照される。ホストCPU1
0は、セクタ読み出しやセクタ書き込みの際には、I/
Oバス18を通じてメモリ・コントローラ80に命令を
送る。メモリ・コントローラは、ホストCPUとは独立
したシリコン基盤上の集積回路として実現され、バッフ
ァ37のほか、データ読み出し40、データ書き込み4
1、セクタ複写42、ブロック消去43の諸機能を提供
する。メモリ・コントローラ80はホストCPU10と
独立にフラッシュ・メモリ32にアクセスすることが出
来、I/Oバス18を通じて仕事の終わりをホストCP
Uに知らせる。その他の動作は、図2の実施例と同じな
ので、説明は省略する。
【0046】また、図22は、メモリ・ブロック32と
してセクタ消去型のフラッシュ・メモリを用いた、本発
明の他の実施例を示すものである。セクタ消去型は、メ
モリ・ブロック内で一括して消去されるメモリ・ブロッ
クの大きさとファイル・セクタの物理的大きさとが等し
いタイプである。この例では、セクタ毎の消去を行うた
め、図2の例と比較して、一括消去に先立つセクタ退避
の必要がなく、従って、セクタ複写部42がなく、また
ブロック消去部43の代わりにセクタ消去部82がマイ
クロプロセッサ上に構成され、セクタ消去回数の退避、
回復を行っている。さらに、セクタ管理表60がメモリ
・ブロック320の単位即ちセクタ70毎に設けられて
いる。セクタ管理表60には、セクタの状況や、消去回
数が記録され、全てのセクタの消去回数を考慮しなが
ら、書込み用の空白セクタを確保する。コマンド処理部
の通常処理は、図7の場合と同様に、バッファをチェッ
クし、コマンドがあれば、セクタ書込み、セクタ消去を
行うものである。但し、図23に示すように、セクタの
消去に先立ってセクタの複写を行う処理が不要であり、
直ちに無効なセクタの消去が実行される(727〜73
3)。また、図24に示すように、セクタの消去に先立
ってそのセクタの消去回数を他のセクタに退避させ、さ
らに書き戻す処理が必要である(1705〜170
7)。
【0047】この実施例も、図25に示すように、すべ
てのセクタがほぼ均一に使用されるとともに、高速のセ
クタ書き込みが可能となる。この例では、セクタ単位で
消去するので、データの退避や、セクタの複写は必要な
い。従来の方式(A)では、セクタ書き込みの都度セク
タの消去もホストCPUが併せ実行する必要があった。
本発明の方式(B)では、ホストCPUの処理は、セク
タを書き込むだけでよく、他の処理、例えばセクタの消
去はメモリ・コントローラが独自に処理するので、ホス
トCPUの処理時間が短くてよく、高速のセクタ書き込
みが可能となる。
【0048】なお、半導体メモリが大きな容量を有する
ときは、この半導体メモリをそれぞれ複数のメモリ・ブ
ロックを持つ複数の群に分割し、各群毎に、上記したブ
ロックやセクタの管理・制御を行うようにしてもよい。
【0049】
【発明の効果】本発明によれば、ホストCPUのコマン
ドに対応してデータの読み出し、書込みを高速で処理で
きる、フラッシュ・メモリを用いた半導体外部記憶シス
テムが得られる。また、ホストCPUのコマンドがフラ
ッシュ・メモリの特定のセクタを頻繁に書換えるもので
あっても、実際のフラッシュ・メモリ上ではセクタの消
去回数が偏らず全体を有効に利用出来る外部記憶システ
ムが得られる。
【図面の簡単な説明】
【図1】本発明の導体外部記憶システムを組み込んだコ
ンピュータ・システムの一例を示す図である。
【図2】本発明の導体外部記憶システムの一実施例の機
能の詳細を示す図である。
【図3】図2の導体外部記憶システムの機能を実現する
構成の詳細を示す図である。
【図4】メモリ・ブロックのセクタ構成例を示す図であ
る。
【図5】アドレス変換表の構成例を示す図である。
【図6】ブロック管理表の構成例を示す図である。
【図7A】コマンド処理部の通常処理を示す流れ図であ
る。
【図7B】コマンド処理部の通常処理を示す流れ図であ
る。
【図7C】コマンド処理部の通常処理を示す流れ図であ
る。
【図8】コマンド処理部の割込み処理を示す流れ図であ
る。
【図9A】図7Aにおける管理表と変換表の初期化の処
理を示す流れ図である。
【図9B】図7Aにおける管理表と変換表の初期化の処
理を示す流れ図である。
【図10】図7Aにおけるファイル回復処理の詳細を示
す流れ図である。
【図11】図8におけるセクタ読出し処理の詳細を示す
流れ図である。
【図12】セクタ書込み処理を説明する図である。
【図13A】図7Aにおけるセクタ書込み処理の詳細を
示す流れ図である。
【図13B】図7Aにおけるセクタ書込み処理の詳細を
示す流れ図である。
【図13C】図7Aにおけるセクタ書込み処理の詳細を
示す流れ図である。
【図14】図7Aにおけるセクタ消去処理を説明する図
である。
【図15】図7Aにおけるセクタ消去処理の詳細を示す
流れ図である。
【図16】図15におけるiとieの比較処理の詳細を
示す流れ図である。
【図17】図15におけるブロック消去判定、開始の処
理の詳細を示す流れ図である。
【図18】ファイル配置情報の比較によるセクタ消去の
例の説明図である。
【図19】図18のセクタ消去の処理の詳細を示す流れ
図である。
【図20】図2におけるコマンド処理部の通常処理及び
CPUの割込み処理の関係を示すタイム・チャート図で
ある。
【図21】本発明の他の実施例になる半導体外部記憶シ
ステムを組み込んだコンピュータ・システムの一例を示
す図である。
【図22】本発明のさらに他の実施例になる外部記憶シ
ステムを組み込んだコンピュータ・システムの一例を示
す図である。
【図23】図22におけるコマンド処理部の通常処理の
一部を示す流れ図である。
【図24】図22におけるセクタ消去判定、開始の処理
を示す流れ図である。
【図25】図22におけるコマンド処理部の通常処理及
びCPUの割込み処理の関係を示すタイム・チャート図
である。
【符号の説明】
20 半導体外部記憶システム 30 制御装置 31 半導体メモリ・バス 32 フラッシュ・メモリ 33 制御装置バス 34 コマンド処理部 35 ブロック管理表 36 アドレス変換表 37 バッファ
フロントページの続き (56)参考文献 特開 昭62−283497(JP,A) 特開 昭61−66204(JP,A) 特開 昭62−283496(JP,A) 特開 昭61−283097(JP,A) 特開 平1−220300(JP,A) 特開 平5−233426(JP,A) 実開 昭63−6600(JP,U)

Claims (20)

    (57)【特許請求の範囲】
  1. 【請求項1】フラッシュ・メモリで構成され、それぞれ
    が少なくとも1つのセクタを含む複数のメモリ・ブロッ
    クから成る外部記憶装置としての半導体メモリを備え、
    該半導体メモリが論理アドレスを含むコマンドによりア
    クセスされて、書込み、読出しまたは消去が行われる外
    部記憶システムを制御するための方法であって、 前記論理アドレスを特定のメモリ・ブロック内のセクタ
    を示す物理アドレスに変換するためのアドレス変換手段
    を準備し、 前記コマンドが書込みコマンドの場合に、空白セクタに
    書込みを行い、 前記書込みコマンドの論理アドレスに対応する物理アド
    レスを持っていたセクタを無効にすると共に、前記書込
    みを行った空白セクタの物理アドレスで前記アドレス変
    換手段を更新することを特徴とする外部記憶システムの
    制御方法。
  2. 【請求項2】各メモリ・ブロックの消去回数及び有効セ
    クタ数に基いて特定のメモリ・ブロックを消去候補とし
    て予め選定しておく、請求項1に記載の制御方法。
  3. 【請求項3】空白セクタを含まないメモリ・ブロックの
    うち、有効セクタ数が最小のメモリ・ブロック、または
    全メモリ・ブロックにおける最大消去回数に比べて所定
    値以上に小さい消去回数を有するメモリ・ブロックを前
    記消去候補として選定する、請求項2に記載の制御方法
  4. 【請求項4】消去されるメモリ・ブロック中の有効セク
    タのデータを複写するための空白セクタを持つ複写用メ
    モリ・ブロックを予め選定しておき、 前記メモリ・ブロックの消去に先立ち、該選定されたメ
    モリ・ブロックに前記データを複写する、請求項2また
    は3に記載の制御方法 。
  5. 【請求項5】消去されたメモリ・ブロックを前記複写用
    メモリ・ブロックとして選定する、請求項4に記載の制
    御方法。
  6. 【請求項6】各メモリ・ブロックにおいて所定のセクタ
    をセクタ管理表として使用し、当該メモリ・ブロックの
    消去回数及び当該メモリ・ブロックに含まれる複数のセ
    クタの状況を前記セクタ管理表に記憶させ、前記書込み
    により古いセクタを無効にするときは、該セクタのデー
    タをそのままにして前記セクタ管理表中の対応する状況
    を無効にする、請求項1に記載の制御方法
  7. 【請求項7】前記セクタ管理表において前記状況が無効
    になっているセクタのデータを利用してファイルを回復
    する、請求項6に記載の制御方法。
  8. 【請求項8】各メモリ・ブロックの有効セクタ数を示す
    ブロック管理表を設け、前記セクタ管理表中の消去回数
    及び前記ブロック管理表中の有効セクタ数に基いて特定
    のメモリ・ブロックを消去候補として予め選択してお
    く、請求項6に記載の制御方法。
  9. 【請求項9】空白セクタを含まないメモリ・ブロックの
    うち、有効セクタ数が最小のメモリ・ブロック、または
    全メモリ・ブロックにおける最大消去回数に比べて所定
    値以上に小さい消去回数を有するメモリ・ブロックを前
    記消去候補として選定する、請求項8に記載の制御方法
  10. 【請求項10】消去されるメモリ・ブロック中の有効セ
    クタのデータを複写するための空白セクタを持つ複写用
    メモリ・ブロックを予め選定しておき、前記メモリ・ブ
    ロックの消去に先立ち、該選定されたメモリ・ブロック
    に前記データを複写する、請求項8または9に記載の制
    御方法 。
  11. 【請求項11】消去されたメモリ・ブロックを前記複写
    用メモリ・ブロックとして選定する、請求項10に記載
    の制御方法。
  12. 【請求項12】ホスト・プロセッサからの論理アドレス
    を含むコマンドに応答する外部記憶システムであって、 フラッシュ・メモリで構成され、それぞれが少なくとも
    1つのセクタを含む複数のメモリ・ブロックから成る外
    部記憶装置としての半導体メモリと、 前記論理アドレスを特定のセクタの物理アドレスに変換
    するアドレス変換手段と、 各メモリ・ブロック及びセクタの状況を記録する管理手
    段と、 前記コマンドに応答して必要な処理を行う制御手段とを
    備え、 前記制御手段は、前記コマンドが書込みコマンドの場合
    に空白セクタに書込みを行うと共に、前記書込みコマン
    ドの論理アドレスに対応する物理アドレスを持っていた
    セクタを無効にするよう前記管理手段を更新し、前記書
    込みを行った空白セクタの物理アドレスで前記アドレス
    変換手段を更新することを特徴とする外部記憶システ
    ム。
  13. 【請求項13】前記制御部は、前記書込みを行うデータ
    書込み部、前記アドレス変換手段を用いて前記半導体メ
    モリからの読出しを行うデータ読出し部、特定のメモリ
    ブロックを消去するブロック消去部、及び該ブロック消
    去部によって消去されるメモリ・ブロックの有効セクタ
    を他のメモリ・ブロックに複写するセクタ複写部を備え
    ている、請求項12に記載の外部記憶システム。
  14. 【請求項14】前記管理手段は、各メモリ・ブロックの
    所定のセクタに記録され当該メモリ・ブロックの消去回
    数及び当該メモリ・ブロックに含まれる複数のセクタの
    状況を示すセクタ管理表と、ランダム・アクセス・メモ
    リに記録され各メモリ・ブロックの有効セクタ数を示す
    ブロック管理表とを含む、請求項13に記載の外部記憶
    システム。
  15. 【請求項15】前記制御部がマイクロプロセッサ及び前
    記ランダム・アクセス・メモリで構成され、前記ランダ
    ム・アクセス・メモリが前記アドレス変換手段として使
    用されるアドレス変換表を含む、請求項14に記載の外
    部記憶システム。
  16. 【請求項16】前記制御部は、書込みを行う空白セクタ
    を含むメモリ・ブロック、消去するメモリブロック、及
    びメモリ・ブロックの消去に先立って該メモリ・ブロッ
    クの有効セクタを複写するメモリ・ブロックを予め選定
    しておく、請求項12に記載の外部記憶システム。
  17. 【請求項17】ホスト・プロセッサと、該ホスト・プロ
    セッサからバスを介してデータ及びコマンドを受け取る
    外部記憶システムと、該外部記憶システムをアクセスす
    るための表を記憶する記憶装置とを具備し、 前記外部記憶システムは、 フラッシュ・メモリで構成され、それぞれが少なくとも
    1つのセクタを含む複数のメモリ・ブロックから成り、
    各メモリブロックの所定のセクタに、当該メモリブロッ
    クの消去回数及び当該メモリに含まれる複数のセクタの
    状況を示すセクタ管理表を記憶する半導体メモリと、 前記コマンドに応答して必要な処理を行う制御手段とを
    備え、 前記表は、 各メモリ・ブロックに含まれる有効セクタ及び空白セク
    タの数を示すブロック管理表と、 前記ホスト・プロセッサが前記外部記憶システムをアク
    セスするときの論理アドレスを前記半導体メモリ中の特
    定のメモリ・ブロックのセクタの物理アドレスに変換す
    るためのアドレス変換表とを含み、 書込みを行う空白セクタを含む書込み用メモリ・ブロッ
    ク、消去候補のメモリ・ブロック、及びメモリ・ブロッ
    クの消去に先立って該メモリ・ブロックの有効セクタを
    複写する複写用メモリ・ブロックが予め選定されてお
    り、書込み、消去または複写により前記セクタ管理表及
    び前記ブロック管理表を更新し、書込みの場合は該書込
    みを行った空白セクタの物理アドレスで前記アドレス変
    換表も更新することを特徴とするコンピュータ・システ
    ム。
  18. 【請求項18】前記消去候補のメモリ・ブロックに含ま
    れる有効セクタの数が所定の値より小さくなるか、また
    は全メモリ・ブロックに含まれる空白セクタの総数が所
    定の値より小さくなると、前記消去候補のメモリ・ブロ
    ックに含まれる有効セクタを前記複写用メモリ・ブロッ
    クに複写した後前記消去候補のメモリ・ブロックを消去
    する、請求項17に記載のコンピュータ・システム。
  19. 【請求項19】消去したメモリ・ブロックを前記複写用
    メモリ・ブロックとして選定する、請求項18に記載の
    コンピュータ・システム。
  20. 【請求項20】空白セクタがないメモリ・ブロックのう
    ち、有効セクタ数が最小のメモリ・ブロック、または全
    メモリ・ブロックにおける最大消去回数に比べて所定値
    以上に小さい消去回数を有するメモリ・ブロックを前記
    消去候補として選定する、請求項18または19に記載
    のコンピュータ・システム。
JP19731891A 1991-07-12 1991-07-12 半導体メモリを用いた外部記憶システム及びその制御方法 Expired - Lifetime JP2582487B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP19731891A JP2582487B2 (ja) 1991-07-12 1991-07-12 半導体メモリを用いた外部記憶システム及びその制御方法
EP92306064A EP0522780B1 (en) 1991-07-12 1992-07-01 Control method for a computer memory device
DE69223287T DE69223287T2 (de) 1991-07-12 1992-07-01 Steuerungsverfahren für eine Computerspeichereinrichtung
US08/410,589 US5524230A (en) 1991-07-12 1995-03-27 External information storage system with a semiconductor memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19731891A JP2582487B2 (ja) 1991-07-12 1991-07-12 半導体メモリを用いた外部記憶システム及びその制御方法

Publications (2)

Publication Number Publication Date
JPH0527924A JPH0527924A (ja) 1993-02-05
JP2582487B2 true JP2582487B2 (ja) 1997-02-19

Family

ID=16372465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19731891A Expired - Lifetime JP2582487B2 (ja) 1991-07-12 1991-07-12 半導体メモリを用いた外部記憶システム及びその制御方法

Country Status (4)

Country Link
US (1) US5524230A (ja)
EP (1) EP0522780B1 (ja)
JP (1) JP2582487B2 (ja)
DE (1) DE69223287T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7558904B2 (en) 2004-07-23 2009-07-07 Spansion Llc Controller, data memory system, data rewriting method, and computer program product

Families Citing this family (206)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7190617B1 (en) 1989-04-13 2007-03-13 Sandisk Corporation Flash EEprom system
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US6347051B2 (en) 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
TW261687B (ja) 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
JP3587204B2 (ja) * 1991-11-28 2004-11-10 株式会社日立製作所 記憶装置
JP3407317B2 (ja) * 1991-11-28 2003-05-19 株式会社日立製作所 フラッシュメモリを使用した記憶装置
JPH05151097A (ja) * 1991-11-28 1993-06-18 Fujitsu Ltd 書換回数制限型メモリのデータ管理方式
JP4086083B2 (ja) * 1991-11-28 2008-05-14 株式会社日立製作所 フラッシュメモリを備えた情報機器
US6256642B1 (en) * 1992-01-29 2001-07-03 Microsoft Corporation Method and system for file system management using a flash-erasable, programmable, read-only memory
JPH05233426A (ja) * 1992-02-20 1993-09-10 Fujitsu Ltd フラッシュ・メモリ使用方法
JP3485938B2 (ja) * 1992-03-31 2004-01-13 株式会社東芝 不揮発性半導体メモリ装置
JP3390482B2 (ja) * 1992-06-12 2003-03-24 株式会社リコー ファクシミリ装置
US6549974B2 (en) 1992-06-22 2003-04-15 Hitachi, Ltd. Semiconductor storage apparatus including a controller for sending first and second write commands to different nonvolatile memories in a parallel or time overlapped manner
JP3328605B2 (ja) * 1992-06-22 2002-09-30 株式会社日立製作所 半導体記憶装置
JP3328604B2 (ja) * 1992-06-22 2002-09-30 株式会社日立製作所 半導体記憶装置
JP3328321B2 (ja) 1992-06-22 2002-09-24 株式会社日立製作所 半導体記憶装置
US5740395A (en) * 1992-10-30 1998-04-14 Intel Corporation Method and apparatus for cleaning up a solid state memory disk storing floating sector data
US5341339A (en) * 1992-10-30 1994-08-23 Intel Corporation Method for wear leveling in a flash EEPROM memory
US5822781A (en) * 1992-10-30 1998-10-13 Intel Corporation Sector-based storage device emulator having variable-sized sector
US5835933A (en) * 1993-02-19 1998-11-10 Intel Corporation Method and apparatus for updating flash memory resident firmware through a standard disk drive interface
US5740349A (en) * 1993-02-19 1998-04-14 Intel Corporation Method and apparatus for reliably storing defect information in flash disk memories
JPH06250799A (ja) * 1993-02-26 1994-09-09 Toshiba Corp 半導体ディスク装置およびその半導体ディスク装置を使用したコンピュータシステム
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
JP3078946B2 (ja) * 1993-03-11 2000-08-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置
JPH06266587A (ja) * 1993-03-16 1994-09-22 Nec Corp フラッシュメモリのファイル管理方式
US5479638A (en) * 1993-03-26 1995-12-26 Cirrus Logic, Inc. Flash memory mass storage architecture incorporation wear leveling technique
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
US5388083A (en) * 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
JPH06282484A (ja) * 1993-03-29 1994-10-07 Sharp Corp 不揮発性半導体メモリ用データ書込管理装置
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US6078520A (en) * 1993-04-08 2000-06-20 Hitachi, Ltd. Flash memory control method and information processing system therewith
JPH0757481A (ja) * 1993-08-06 1995-03-03 Brother Ind Ltd 記憶装置
JP3215237B2 (ja) * 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
JPH07219720A (ja) * 1993-10-01 1995-08-18 Hitachi Maxell Ltd 半導体メモリ装置ならびにその制御方法
GB2283342B (en) * 1993-10-26 1998-08-12 Intel Corp Programmable code store circuitry for a nonvolatile semiconductor memory device
JPH07153285A (ja) * 1993-11-29 1995-06-16 Sansei Denshi Japan Kk 不揮発性フラッシュメモリの制御方法とその装置
GB9326499D0 (en) * 1993-12-24 1994-03-02 Deas Alexander R Flash memory system with arbitrary block size
JP3999822B2 (ja) * 1993-12-28 2007-10-31 株式会社東芝 記憶システム
JP3539752B2 (ja) * 1994-03-02 2004-07-07 沖電気工業株式会社 半導体記憶装置とメモリ制御方法
JP3784844B2 (ja) * 1994-03-30 2006-06-14 沖電気工業株式会社 半導体記憶装置
JPH07281842A (ja) * 1994-04-11 1995-10-27 Hitachi Ltd 半導体記憶装置
JP3065481B2 (ja) * 1994-04-22 2000-07-17 インターナショナル・ビジネス・マシーンズ・コーポレ−ション ディスク・アレイ装置およびデータの格納方法
JPH07319744A (ja) * 1994-05-24 1995-12-08 Nec Corp フラッシュメモリを用いたファイルシステム
JP3507132B2 (ja) * 1994-06-29 2004-03-15 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
JP3439838B2 (ja) 1994-08-10 2003-08-25 富士通株式会社 ソフトウエア従量課金・再生装置
JPH0877066A (ja) * 1994-08-31 1996-03-22 Tdk Corp フラッシュメモリコントローラ
JP3444988B2 (ja) * 1994-10-18 2003-09-08 沖電気工業株式会社 不揮発性半導体ディスク装置およびその制御方法
JPH08137763A (ja) * 1994-11-04 1996-05-31 Fujitsu Ltd フラッシュメモリ制御装置
JPH08137634A (ja) * 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
JP3464836B2 (ja) * 1995-01-19 2003-11-10 富士通株式会社 記憶装置のメモリ管理装置
JPH08212019A (ja) * 1995-01-31 1996-08-20 Mitsubishi Electric Corp 半導体ディスク装置
JP3706167B2 (ja) * 1995-02-16 2005-10-12 株式会社ルネサステクノロジ 半導体ディスク装置
US5978941A (en) * 1995-03-15 1999-11-02 Hitachi, Ltd. Semiconductor memory device having deterioration determining function
US6223311B1 (en) 1995-03-15 2001-04-24 Hitachi, Ltd. Semiconductor memory device having deterioration determining function
US5724592A (en) * 1995-03-31 1998-03-03 Intel Corporation Method and apparatus for managing active power consumption in a microprocessor controlled storage device
US5799140A (en) * 1995-04-21 1998-08-25 International Business Machines Corporation Disk array system and method for storing data
EP0741415A1 (en) * 1995-05-05 1996-11-06 STMicroelectronics S.r.l. Flash-EEPROM memory with contactless memory cells
EP0741387B1 (en) * 1995-05-05 2000-01-12 STMicroelectronics S.r.l. Nonvolatile memory device with sectors of preselectable size and number
DE69520665T2 (de) * 1995-05-05 2001-08-30 St Microelectronics Srl Anordnung von nichtflüchtigen EEPROM,insbesondere Flash-EEPROM
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
US5838614A (en) 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US5907856A (en) * 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US6757800B1 (en) 1995-07-31 2004-06-29 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5930815A (en) * 1995-07-31 1999-07-27 Lexar Media, Inc. Moving sequential sectors within a block of information in a flash memory mass storage architecture
US6978342B1 (en) 1995-07-31 2005-12-20 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5845313A (en) * 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US6801979B1 (en) 1995-07-31 2004-10-05 Lexar Media, Inc. Method and apparatus for memory control circuit
US8171203B2 (en) 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
DE29512593U1 (de) * 1995-08-04 1995-10-12 Franck Peter Heinz Hybriddatenspeicher
JPH0954726A (ja) * 1995-08-18 1997-02-25 Mitsubishi Electric Corp 記憶装置
US5835935A (en) * 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
JP3604466B2 (ja) * 1995-09-13 2004-12-22 株式会社ルネサステクノロジ フラッシュディスクカード
US6125435A (en) * 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
GB2291991A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
JPH0997199A (ja) * 1995-09-28 1997-04-08 Canon Inc フラッシュrom管理方法及び装置及びコンピュータ制御装置
JPH0997206A (ja) * 1995-09-28 1997-04-08 Canon Inc フラッシュrom管理方法及び装置及びコンピュータ制御装置
JP3727983B2 (ja) * 1995-09-28 2005-12-21 キヤノン株式会社 電子カメラ
JPH0997205A (ja) * 1995-09-28 1997-04-08 Canon Inc フラッシュrom管理方法及び装置及びコンピュータ制御装置
US5933847A (en) * 1995-09-28 1999-08-03 Canon Kabushiki Kaisha Selecting erase method based on type of power supply for flash EEPROM
JPH0997314A (ja) * 1995-09-28 1997-04-08 Canon Inc Icカード装置
JPH0997218A (ja) * 1995-09-28 1997-04-08 Canon Inc フラッシュrom管理方法及び装置及びコンピュータ制御装置
JP3727982B2 (ja) * 1995-09-28 2005-12-21 キヤノン株式会社 フラッシュrom管理方法及び装置
JPH0997207A (ja) * 1995-09-28 1997-04-08 Canon Inc フラッシュrom管理方法及び装置及びコンピュータ制御装置
JP3703181B2 (ja) * 1995-09-28 2005-10-05 キヤノン株式会社 フラッシュrom管理方法及び装置
US6170066B1 (en) * 1995-09-29 2001-01-02 Intel Corporation Power-off recovery management for sector based flash media managers
US6014724A (en) * 1995-10-27 2000-01-11 Scm Microsystems (U.S.) Inc. Flash translation layer block indication map revision system and method
US5987478A (en) * 1995-10-31 1999-11-16 Intel Corporation Virtual small block file manager for flash memory array
US5802553A (en) * 1995-12-19 1998-09-01 Intel Corporation File system configured to support variable density storage and data compression within a nonvolatile memory
KR100359414B1 (ko) * 1996-01-25 2003-01-24 동경 엘렉트론 디바이스 주식회사 데이타독출/기록방법및그를이용한메모리제어장치및시스템
JP3289101B2 (ja) * 1996-01-25 2002-06-04 東京エレクトロン株式会社 フラッシュ・ディスク・システムの初期化方法及び装置
JPH09212411A (ja) * 1996-02-06 1997-08-15 Tokyo Electron Ltd メモリシステム
JP3197815B2 (ja) * 1996-04-15 2001-08-13 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 半導体メモリ装置及びその制御方法
GB9613088D0 (en) * 1996-06-21 1996-08-28 Memory Corp Plc Memory device
KR980013092A (ko) 1996-07-29 1998-04-30 김광호 교환시스템의 화일관리장치 및 방법
KR100260028B1 (ko) * 1996-08-13 2000-06-15 윤종용 화일시스템의 정보 복구방법
DE69716233T2 (de) * 1996-08-16 2003-02-20 Tokyo Electron Device Ltd Halbleiterspeicheranordnung mit fehlerdetektion und -korrektur
JPH10124381A (ja) * 1996-10-21 1998-05-15 Mitsubishi Electric Corp 半導体記憶装置
JPH10134559A (ja) * 1996-10-31 1998-05-22 Sony Corp 半導体記憶装置
US5928370A (en) * 1997-02-05 1999-07-27 Lexar Media, Inc. Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure
US6034897A (en) * 1999-04-01 2000-03-07 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
US6122195A (en) * 1997-03-31 2000-09-19 Lexar Media, Inc. Method and apparatus for decreasing block write operation times performed on nonvolatile memory
US6411546B1 (en) 1997-03-31 2002-06-25 Lexar Media, Inc. Nonvolatile memory using flexible erasing methods and method and system for using same
JP3070524B2 (ja) * 1997-05-16 2000-07-31 日本電気株式会社 記憶装置
JP3721725B2 (ja) * 1997-07-09 2005-11-30 ソニー株式会社 情報処理方法および情報処理装置
US6694460B2 (en) 1997-09-11 2004-02-17 Renesas Technology Corporation Semiconductor memory device having deterioration determining function
JP3534585B2 (ja) * 1997-10-21 2004-06-07 株式会社日立製作所 フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置
JP3898305B2 (ja) * 1997-10-31 2007-03-28 富士通株式会社 半導体記憶装置、半導体記憶装置の制御装置及び制御方法
JPH11203191A (ja) * 1997-11-13 1999-07-30 Seiko Epson Corp 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体
KR100614469B1 (ko) * 1997-12-05 2006-08-25 동경 엘렉트론 디바이스 주식회사 기억장치
US6076137A (en) * 1997-12-11 2000-06-13 Lexar Media, Inc. Method and apparatus for storing location identification information within non-volatile memory devices
CN1249585C (zh) 1997-12-16 2006-04-05 Tdk株式会社 闪速存储器***
CN1249586C (zh) 1997-12-22 2006-04-05 Tdk株式会社 闪速存储器***
GB9801373D0 (en) 1998-01-22 1998-03-18 Memory Corp Plc Memory system
JP3600008B2 (ja) * 1998-04-17 2004-12-08 シャープ株式会社 一括消去型メモリの記録再生装置
JP3421581B2 (ja) * 1998-06-29 2003-06-30 株式会社日立製作所 不揮発性半導体メモリを用いた記憶装置
JP3616948B2 (ja) * 1998-08-18 2005-02-02 シャープ株式会社 一括消去型メモリを用いた情報記録再生装置
JP3544476B2 (ja) * 1998-09-11 2004-07-21 富士通株式会社 メモリ管理テーブル作成方法
JP4146006B2 (ja) * 1998-09-28 2008-09-03 富士通株式会社 フラッシュメモリを有する電子機器
JP3511916B2 (ja) * 1998-11-17 2004-03-29 松下電器産業株式会社 記録再生装置
US6374337B1 (en) 1998-11-17 2002-04-16 Lexar Media, Inc. Data pipelining method and apparatus for memory control circuit
JP4314702B2 (ja) 1998-11-26 2009-08-19 セイコーエプソン株式会社 印刷装置、書込方法およびプリンタ
GB9903490D0 (en) * 1999-02-17 1999-04-07 Memory Corp Plc Memory system
JP4173642B2 (ja) * 1999-02-22 2008-10-29 株式会社ルネサステクノロジ メモリカードのデータ書き込み方法
US6141249A (en) * 1999-04-01 2000-10-31 Lexar Media, Inc. Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time
EP1729304B1 (en) 1999-04-01 2012-10-17 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
US6148354A (en) 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
US6591327B1 (en) * 1999-06-22 2003-07-08 Silicon Storage Technology, Inc. Flash memory with alterable erase sector size
JP2001051904A (ja) 1999-08-11 2001-02-23 Hitachi Ltd 不揮発性半導体メモリを用いた外部記憶装置
FI109620B (fi) * 1999-10-26 2002-09-13 Tellabs Oy Menetelmä ja järjestely atomaaristen päivitysten toteuttamiseksi loogista flashmuistilaitetta käyttäen
CN1088218C (zh) * 1999-11-14 2002-07-24 邓国顺 用于数据处理***的快闪电子式外存储方法及其装置
US6532514B1 (en) * 1999-12-22 2003-03-11 Texas Instruments Incorporated System and method for handling a power supply interruption in a non-volatile memory
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
US6859399B1 (en) * 2000-05-17 2005-02-22 Marvell International, Ltd. Memory architecture and system and multiport interface protocol
US7167944B1 (en) 2000-07-21 2007-01-23 Lexar Media, Inc. Block management for mass storage
US6567307B1 (en) 2000-07-21 2003-05-20 Lexar Media, Inc. Block management for mass storage
US6715036B1 (en) 2000-08-01 2004-03-30 International Business Machines Corporation Method, system, and data structures for transferring blocks of data from a storage device to a requesting application
US7155559B1 (en) * 2000-08-25 2006-12-26 Lexar Media, Inc. Flash memory architecture with separate storage of overhead and user data
US6772274B1 (en) 2000-09-13 2004-08-03 Lexar Media, Inc. Flash memory system and method implementing LBA to PBA correlation within flash memory array
JP3573706B2 (ja) * 2000-11-15 2004-10-06 富士通株式会社 記憶装置の書き込み/消去方法
US7020739B2 (en) * 2000-12-06 2006-03-28 Tdk Corporation Memory controller, flash memory system having memory controller and method for controlling flash memory device
JP3692313B2 (ja) * 2001-06-28 2005-09-07 松下電器産業株式会社 不揮発性メモリの制御方法
GB0123417D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Improved data processing
GB0123412D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
GB0123421D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Power management system
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123415D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
US6711663B2 (en) * 2001-11-15 2004-03-23 Key Technology Corporation Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof
US6704852B2 (en) * 2001-11-16 2004-03-09 Key Technology Corporation Control device applicable to flash memory card and method for building partial lookup table
DE10163342A1 (de) * 2001-12-21 2003-07-10 Elektro Beckhoff Gmbh Unterneh Datenübertragungsverfahren, serielles Bussystem und Anschalteinheit für einen passiven Busteilnehmer
JP3793464B2 (ja) * 2002-01-21 2006-07-05 株式会社日立製作所 半導体記憶装置
JP2003234000A (ja) * 2002-02-08 2003-08-22 Matsushita Electric Ind Co Ltd 半導体集積回路装置、icカードおよび検査装置
US7231643B1 (en) 2002-02-22 2007-06-12 Lexar Media, Inc. Image rescue system including direct communication between an application program and a device driver
JP4560408B2 (ja) * 2002-10-02 2010-10-13 パナソニック株式会社 不揮発性記憶装置の制御方法
DE60316171T2 (de) 2002-10-28 2008-05-29 SanDisk Corp., Milpitas Automatischer abnutzungsausgleich in einem nicht-flüchtigen speichersystem
JP2003242788A (ja) * 2003-02-10 2003-08-29 Toshiba Corp 不揮発性半導体メモリ装置及びその制御方法
US7353323B2 (en) 2003-03-18 2008-04-01 American Megatrends, Inc. Method, system, and computer-readable medium for updating memory devices in a computer system
US6973519B1 (en) 2003-06-03 2005-12-06 Lexar Media, Inc. Card identification compatibility
US20050041453A1 (en) * 2003-08-22 2005-02-24 Brazis Paul W. Method and apparatus for reading and writing to solid-state memory
JP3793540B2 (ja) * 2004-04-12 2006-07-05 株式会社日立製作所 半導体記憶装置
EP1729218A4 (en) 2004-04-20 2007-07-18 Matsushita Electric Ind Co Ltd NON-VOLATILE STORAGE SYSTEM
US7725628B1 (en) 2004-04-20 2010-05-25 Lexar Media, Inc. Direct secondary device interface by a host
US7370166B1 (en) 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
JP4684587B2 (ja) * 2004-07-28 2011-05-18 ルネサスエレクトロニクス株式会社 メモリカード
US7464306B1 (en) 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
US7594063B1 (en) 2004-08-27 2009-09-22 Lexar Media, Inc. Storage capacity status
WO2006024328A1 (de) * 2004-09-02 2006-03-09 Hyperstone Ag Verfahren zur verwaltung von speicherinformationen
US7490197B2 (en) * 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
JP3793542B2 (ja) * 2004-12-28 2006-07-05 株式会社日立製作所 半導体記憶装置
US7702846B2 (en) 2005-03-15 2010-04-20 Panasonic Corporation Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method
US7692682B2 (en) 2005-04-28 2010-04-06 Apple Inc. Video encoding in a video conference
US20060277359A1 (en) * 2005-06-06 2006-12-07 Faber Robert W Blank memory location detection mechanism
JP4688584B2 (ja) 2005-06-21 2011-05-25 株式会社日立製作所 ストレージ装置
JP4158934B2 (ja) * 2005-08-08 2008-10-01 ソリッド ステート ストレージ ソリューションズ エルエルシー 半導体記憶媒体
JP4895262B2 (ja) * 2005-12-09 2012-03-14 株式会社メガチップス 情報処理装置、コントローラおよびファイル読み出し方法
US8914557B2 (en) * 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
KR100755702B1 (ko) * 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 동작방법
US7689807B2 (en) * 2006-02-09 2010-03-30 Sigmatel, Inc. Mass storage device, mass storage controller and methods for use therewith
JPWO2007105688A1 (ja) * 2006-03-16 2009-07-30 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JP2008015769A (ja) 2006-07-05 2008-01-24 Hitachi Ltd ストレージシステム及び書き込み分散方法
JP5137413B2 (ja) * 2006-11-28 2013-02-06 株式会社日立製作所 半導体記憶装置
JP5042660B2 (ja) * 2007-02-15 2012-10-03 株式会社日立製作所 ストレージシステム
JP2008204041A (ja) 2007-02-19 2008-09-04 Hitachi Ltd ストレージ装置及びデータ配置制御方法
DE602008002278D1 (de) * 2007-05-02 2010-10-07 St Microelectronics Sa Nicht flüchtiger Speicher mit drehbaren Hilfssegmenten
FR2915829A1 (fr) * 2007-05-02 2008-11-07 St Microelectronics Sa Memoire non volatile a ecriture rapide
KR101336258B1 (ko) * 2007-05-29 2013-12-03 삼성전자 주식회사 비휘발성 메모리의 데이터 처리 장치 및 방법
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
JP4382131B2 (ja) * 2008-01-10 2009-12-09 ソリッド ステート ストレージ ソリューションズ エルエルシー 半導体ディスク装置
US8397014B2 (en) 2008-02-04 2013-03-12 Apple Inc. Memory mapping restore and garbage collection operations
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
WO2011068109A1 (ja) * 2009-12-03 2011-06-09 株式会社日立製作所 記憶装置、およびメモリコントローラ
FR2954538B1 (fr) * 2009-12-23 2020-04-17 Thales Securisation de l'effacement d'une memoire de type flashprom.
FR2954572B1 (fr) * 2009-12-23 2020-04-17 Thales Procede de gestion de donnees tournantes.
JP2012123499A (ja) 2010-12-07 2012-06-28 Toshiba Corp メモリシステム
US9733907B2 (en) 2012-10-30 2017-08-15 Oracle International Corporation System and method for testing compiler implementation using dynamic combinatorial test generation
US9483397B2 (en) * 2013-07-16 2016-11-01 Intel Corporation Erase management in memory systems
JP6421042B2 (ja) * 2015-01-16 2018-11-07 ルネサスエレクトロニクス株式会社 情報処理装置
US9811276B1 (en) * 2015-09-24 2017-11-07 EMC IP Holding Company LLC Archiving memory in memory centric architecture
US10101925B2 (en) * 2015-12-23 2018-10-16 Toshiba Memory Corporation Data invalidation acceleration through approximation of valid data counts
CN110580228A (zh) * 2018-06-11 2019-12-17 北京忆恒创源科技有限公司 去分配命令处理方法及其存储设备
CN111078122B (zh) * 2018-10-18 2024-01-12 阿里巴巴集团控股有限公司 数据处理方法、装置和设备
CN112347002B (zh) * 2020-11-13 2023-07-28 杭州芯炬视人工智能科技有限公司 flash数据的保存方法、***、计算机设备及存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3200872A1 (de) * 1982-01-14 1983-07-21 Sartorius GmbH, 3400 Göttingen Elektronische waage
JPS5971179A (ja) * 1982-10-16 1984-04-21 Dainippon Printing Co Ltd Icカ−ドにおける編集処理方法
US4511964A (en) * 1982-11-12 1985-04-16 Hewlett-Packard Company Dynamic physical memory mapping and management of independent programming environments
JPS60177498A (ja) * 1984-02-23 1985-09-11 Fujitsu Ltd 半導体記憶装置
JPH065500B2 (ja) * 1984-09-07 1994-01-19 キヤノン株式会社 情報記録再生装置
JPS61113102A (ja) * 1984-11-07 1986-05-31 Canon Inc 情報記録再生装置
JPS61283097A (ja) * 1985-06-07 1986-12-13 Matsushita Electric Ind Co Ltd 不揮発性メモリ装置
JPH07109717B2 (ja) * 1986-05-31 1995-11-22 キヤノン株式会社 メモリ書き込み制御方法
JP2685173B2 (ja) * 1986-05-31 1997-12-03 キヤノン株式会社 メモリ書き込み制御方法
JPS636600U (ja) * 1986-06-30 1988-01-16
JPS6398889A (ja) * 1986-10-14 1988-04-30 Oki Electric Ind Co Ltd 光デイスクフアイル装置
JPS6460896A (en) * 1987-08-31 1989-03-07 Pfu Ltd System for controlling rewrite of data of non-volatile memory device
JPH01220300A (ja) * 1988-02-29 1989-09-01 Nec Corp 不揮発性半導体メモリ
US5268870A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5218691A (en) * 1988-07-26 1993-06-08 Disk Emulation Systems, Inc. Disk emulation system
EP1031992B1 (en) * 1989-04-13 2006-06-21 SanDisk Corporation Flash EEPROM system
US5226168A (en) * 1989-04-25 1993-07-06 Seiko Epson Corporation Semiconductor memory configured to emulate floppy and hard disk magnetic storage based upon a determined storage capacity of the semiconductor memory
JPH0748320B2 (ja) * 1989-07-24 1995-05-24 セイコー電子工業株式会社 半導体不揮発性メモリ
US5291584A (en) * 1991-07-23 1994-03-01 Nexcom Technology, Inc. Methods and apparatus for hard disk emulation
US5263003A (en) * 1991-11-12 1993-11-16 Allen-Bradley Company, Inc. Flash memory circuit and method of operation
US5224070A (en) * 1991-12-11 1993-06-29 Intel Corporation Apparatus for determining the conditions of programming circuitry used with flash EEPROM memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7558904B2 (en) 2004-07-23 2009-07-07 Spansion Llc Controller, data memory system, data rewriting method, and computer program product

Also Published As

Publication number Publication date
EP0522780A2 (en) 1993-01-13
EP0522780A3 (en) 1993-07-28
DE69223287D1 (de) 1998-01-08
US5524230A (en) 1996-06-04
DE69223287T2 (de) 1998-05-28
EP0522780B1 (en) 1997-11-26
JPH0527924A (ja) 1993-02-05

Similar Documents

Publication Publication Date Title
JP2582487B2 (ja) 半導体メモリを用いた外部記憶システム及びその制御方法
US11537291B2 (en) Data reading and writing processing from and to a semiconductor memory and a memory of a host device by using first and second interface circuits
JP4044067B2 (ja) シリアルフラッシュメモリにおけるxipのための優先順位に基づくフラッシュメモリ制御装置及びこれを用いたメモリ管理方法、これによるフラッシュメモリチップ
KR100771519B1 (ko) 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법
US5953737A (en) Method and apparatus for performing erase operations transparent to a solid state storage system
JP2856621B2 (ja) 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
US20070130442A1 (en) Apparatus and Methods Using Invalidity Indicators for Buffered Memory
JP4422652B2 (ja) 漸進的マージ方法及びそれを利用したメモリシステム
JP2669365B2 (ja) 書換え可能なromファイル装置
KR100823171B1 (ko) 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
USRE42263E1 (en) Address conversion unit for memory device
KR100526879B1 (ko) 플래쉬 파일 시스템
US5717886A (en) Semiconductor disk device and memory management method
EP1729218A1 (en) Nonvolatile storage system
JPH06111588A (ja) 一括消去型不揮発性メモリ
JPH0778766B2 (ja) ランダム・アクセス可能かつ書換え可能メモリを用いる外部記憶装置におけるプログラム直接実行の制御方法および装置
WO1995018407A1 (en) Solid state memory system
JP3421581B2 (ja) 不揮発性半導体メモリを用いた記憶装置
US7136986B2 (en) Apparatus and method for controlling flash memories
US8112589B2 (en) System for caching data from a main memory with a plurality of cache states
KR100388338B1 (ko) 캐시 메모리의 제어 방법, 컴퓨터 시스템, 하드 디스크드라이브 장치 및 하드 디스크 제어 장치
CN111897743A (zh) 数据储存装置及逻辑至物理地址映射表的载入方法
CN111813703A (zh) 数据储存装置及逻辑至物理地址映射表的更新方法
JP2000181784A (ja) 書き換え可能な不揮発性記憶装置
JP2000030375A (ja) データ処理システム、アクセス装置及び記録媒体