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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/312—In storage controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements 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またはフラッシュ・メモリと呼ばれる消去型不揮発性
メモリを用いた半導体メモリに関するもので、特に、従
来のコンピュータ・システムにおける磁気ディスクと代
替可能な半導体外部記憶システムに係わるものである。
Mまたはフラッシュ・メモリと呼ばれる消去型不揮発性
メモリを用いた半導体メモリに関するもので、特に、従
来のコンピュータ・システムにおける磁気ディスクと代
替可能な半導体外部記憶システムに係わるものである。
【0002】
【従来の技術】ノートブック等の携帯可能なパーソナル
・コンピュータの普及に伴って、コンピュータ・システ
ムの小型軽量化、低消費電力化に対する要求が強くなっ
てきている。半導体メモリを用いた外部記憶システム
は、磁気ディスクのように駆動系を持たないため、消費
電力が低く、高速動作が可能である。また、小さなメモ
リ・モジュールで構成されるため、磁気ディスクに比べ
て小型で軽く、形状に自由度が大きく、カード化も容易
である。
・コンピュータの普及に伴って、コンピュータ・システ
ムの小型軽量化、低消費電力化に対する要求が強くなっ
てきている。半導体メモリを用いた外部記憶システム
は、磁気ディスクのように駆動系を持たないため、消費
電力が低く、高速動作が可能である。また、小さなメモ
リ・モジュールで構成されるため、磁気ディスクに比べ
て小型で軽く、形状に自由度が大きく、カード化も容易
である。
【0003】しかし、従来の半導体メモリにはコスト、
容量、電池バックアップなどの点でまだ問題が多い。メ
モリとしてSRAMを使うと電池によるバックアップの
時間は長くなるが、コストが高く、容量も小さくなって
しまう。コスト、容量に優れたDRAMでは、スタンバ
イ時の消費電力が大きく、バックアップの時間が一週間
程度に限られてしまう。電池系の事故によるデータ消失
の危険もある。EEPROMは電池を必要としないが、
コストが高すぎる。
容量、電池バックアップなどの点でまだ問題が多い。メ
モリとして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
号公報にも同様なフラッシュ・メモリが示されている。
消去型のフラッシュ・メモリが開発されている。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にする必要がある。。消去には通常数十ミリ秒単位
の時間がかかり、また、一括消去にはベリファイなどの
特別な手順が必要とされるが、そのために更に数秒の時
間を要する。
やDRAMにはない制限がある。まず、消去回数には上
限があって十万回程度が限度である。しかも、メモリ・
ビットのプログラミングは一方通行で、0から1または
1から0へしか変えることができない。逆方向へ変える
には、一括消去によってメモリ・ブロック全体を0また
は1にする必要がある。。消去には通常数十ミリ秒単位
の時間がかかり、また、一括消去にはベリファイなどの
特別な手順が必要とされるが、そのために更に数秒の時
間を要する。
【0006】
【発明が解決しようとする課題】このようなフラッシュ
・メモリで構成される半導体メモリを、従来の磁気ディ
スクに代えてホスト・コンピュータのバスに接続する
と、特定のセクタはホスト・コンピュータによって非常
に頻繁に書込まれて、他のセクタよりかなり早く消去回
数の上限に達してしまう。また、セクタ書込みに非常に
時間がかかる。これは、セクタ中の数バイトを変更する
のに、そのセクタを含むメモリ・ブロック内のデータ全
てをホスト・コンピュータのメモリ空間に一時的に退避
し、メモリ・ブロックを一括消去した後、空白のセクタ
に新しいデータを書き戻すからである。1メガビット以
上の容量を持つ半導体メモリではセクタ書込みに数秒か
かってしまう。また、半導体メモリをホスト・コンピュ
ータのバスに接続するためには、特別のプログラムが必
要となる。
・メモリで構成される半導体メモリを、従来の磁気ディ
スクに代えてホスト・コンピュータのバスに接続する
と、特定のセクタはホスト・コンピュータによって非常
に頻繁に書込まれて、他のセクタよりかなり早く消去回
数の上限に達してしまう。また、セクタ書込みに非常に
時間がかかる。これは、セクタ中の数バイトを変更する
のに、そのセクタを含むメモリ・ブロック内のデータ全
てをホスト・コンピュータのメモリ空間に一時的に退避
し、メモリ・ブロックを一括消去した後、空白のセクタ
に新しいデータを書き戻すからである。1メガビット以
上の容量を持つ半導体メモリではセクタ書込みに数秒か
かってしまう。また、半導体メモリをホスト・コンピュ
ータのバスに接続するためには、特別のプログラムが必
要となる。
【0007】これらの問題を解決するために、セクタ消
去型のフラッシュ・メモリの開発が進められている。例
えば、シーク・テクノロジー(SEEQ TECHNOLOGY)社の2
7F010(1024KフラッシュEPROM)は、メ
モリ・チップの全ビットを消去(論理1に変更)するチ
ップ消去のほかに、その中の特定のセクタだけを消去す
るセクタ消去が可能である。この方式では消去対象外の
余分なセクタの退避や書き戻しが避けられる。しかし、
セクタ書込み時に古いセクタの消去も併せて行うため、
数十ミリ秒単位の時間がかかり、磁気ディスクと同程度
かそれ以下の性能しか得られない。また、特定のセクタ
がホスト・コンピュータによって非常に頻繁に書込まれ
て他のセクタよりかなり早く許容消去回数に達してしま
い、フラッシュ・メモリ全体としてセクタの有効な利用
が出来ないという問題は、解決されない。更に、セクタ
消去型は記憶素子やチップ構造が一括消去型よりも複雑
で、コストおよび消去回数の面でも解決すべき問題があ
るとされている。
去型のフラッシュ・メモリの開発が進められている。例
えば、シーク・テクノロジー(SEEQ TECHNOLOGY)社の2
7F010(1024KフラッシュEPROM)は、メ
モリ・チップの全ビットを消去(論理1に変更)するチ
ップ消去のほかに、その中の特定のセクタだけを消去す
るセクタ消去が可能である。この方式では消去対象外の
余分なセクタの退避や書き戻しが避けられる。しかし、
セクタ書込み時に古いセクタの消去も併せて行うため、
数十ミリ秒単位の時間がかかり、磁気ディスクと同程度
かそれ以下の性能しか得られない。また、特定のセクタ
がホスト・コンピュータによって非常に頻繁に書込まれ
て他のセクタよりかなり早く許容消去回数に達してしま
い、フラッシュ・メモリ全体としてセクタの有効な利用
が出来ないという問題は、解決されない。更に、セクタ
消去型は記憶素子やチップ構造が一括消去型よりも複雑
で、コストおよび消去回数の面でも解決すべき問題があ
るとされている。
【0008】ところで、これらの問題の多くは、ホスト
・コンピュータによって外部記憶装置のブロックや、セ
クタのアドレスが支配される、即ちホスト・コンピュー
タのコマンドの持つ論理アドレスによって外部記憶装置
の物理アドレスが決定される制御方式に起因すると考え
られる。
・コンピュータによって外部記憶装置のブロックや、セ
クタのアドレスが支配される、即ちホスト・コンピュー
タのコマンドの持つ論理アドレスによって外部記憶装置
の物理アドレスが決定される制御方式に起因すると考え
られる。
【0009】本発明の目的は、ホスト・コンピュータと
の間のデータの読出し、書込みを従来の磁気ディスクよ
りも高速に処理できる半導体メモリを用いた外部記憶シ
ステムを提供することにある。
の間のデータの読出し、書込みを従来の磁気ディスクよ
りも高速に処理できる半導体メモリを用いた外部記憶シ
ステムを提供することにある。
【0010】本発明の他の目的は、半導体メモリ内の特
定のセクタだけが頻繁に書込み、消去されることがな
く、全てのメモリが長期間有効に使用される半導体外部
記憶システムを提供することにある。
定のセクタだけが頻繁に書込み、消去されることがな
く、全てのメモリが長期間有効に使用される半導体外部
記憶システムを提供することにある。
【0011】本発明の他の目的は、コンピュータ・シス
テムに接続する場合、従来の磁気ディスクと互換性のあ
る半導体外部記憶システムを提供することにある。
テムに接続する場合、従来の磁気ディスクと互換性のあ
る半導体外部記憶システムを提供することにある。
【0012】本発明の他の目的は、書込み中に電源が遮
断しても、容易にファイルを復旧できる半導体外部記憶
システムを提供することにある。
断しても、容易にファイルを復旧できる半導体外部記憶
システムを提供することにある。
【0013】
【課題を解決するための手段】これらの目的は、ホスト
・コンピュータと外部記憶装置のアドレス関係に柔軟性
を与え、ホスト・コンピュータのコマンドの持つ論理ア
ドレスによって外部記憶装置の物理アドレスが一方的に
決定されることのないようなアドレス制御方式を導入す
ることによって解決される。外部記憶装置側では、ホス
トのコマンド処理に備えて、書き込みあるいは複写用の
メモリ・ブロックやセクタを常に準備し、この選ばれた
メモリ・ブロックやセクタの物理アドレスとホスト・コ
ンピュータのコマンドとの対応関係を、アドレス変換表
に記録、保持する。メモリ・ブロックやセクタの状況は
夫々の管理表に記録され、管理される。
・コンピュータと外部記憶装置のアドレス関係に柔軟性
を与え、ホスト・コンピュータのコマンドの持つ論理ア
ドレスによって外部記憶装置の物理アドレスが一方的に
決定されることのないようなアドレス制御方式を導入す
ることによって解決される。外部記憶装置側では、ホス
トのコマンド処理に備えて、書き込みあるいは複写用の
メモリ・ブロックやセクタを常に準備し、この選ばれた
メモリ・ブロックやセクタの物理アドレスとホスト・コ
ンピュータのコマンドとの対応関係を、アドレス変換表
に記録、保持する。メモリ・ブロックやセクタの状況は
夫々の管理表に記録され、管理される。
【0014】外部記憶装置側では、ホスト・コンピュー
タの処理速度や、半導体メモリの利用効率を考慮して最
適のメモリ・ブロックやセクタを選択できる。しかもホ
ストのコマンドを待たずに、あるいは、ホストのコマン
ドと並行してコマンドの処理を行うことによって、ホス
ト・コンピュータの処理速度を向上させることが出来
る。つまり、ブロック管理手段の記録に基づき、データ
の書込みや消去の可能なメモリ・ブロックを予め準備し
て、ホスト・プロセッサのコマンドに応答した迅速な処
理を可能にしている。さらに、半導体メモリのメモリ・
ブロックやセクタを総合的に管理し、利用効率を考慮し
て自由に物理アドレスを選定することができるので、半
導体メモリ内の特定のメモリ・ブロックが不必要に頻繁
に消去されることがなくなり、全てのメモリが長期間有
効に使用される。ホスト・コンピュータは、物理アドレ
スを考慮することなく外部記憶装置にコマンドを与え、
処理結果を受け取る事ができるので、従来の磁気ディス
ク装置との互換性も確保される。また、ホスト・プロセ
ッサのコマンド・アドレスに直結した書替えをしないの
で、容易にファイルを復旧することもできる。
タの処理速度や、半導体メモリの利用効率を考慮して最
適のメモリ・ブロックやセクタを選択できる。しかもホ
ストのコマンドを待たずに、あるいは、ホストのコマン
ドと並行してコマンドの処理を行うことによって、ホス
ト・コンピュータの処理速度を向上させることが出来
る。つまり、ブロック管理手段の記録に基づき、データ
の書込みや消去の可能なメモリ・ブロックを予め準備し
て、ホスト・プロセッサのコマンドに応答した迅速な処
理を可能にしている。さらに、半導体メモリのメモリ・
ブロックやセクタを総合的に管理し、利用効率を考慮し
て自由に物理アドレスを選定することができるので、半
導体メモリ内の特定のメモリ・ブロックが不必要に頻繁
に消去されることがなくなり、全てのメモリが長期間有
効に使用される。ホスト・コンピュータは、物理アドレ
スを考慮することなく外部記憶装置にコマンドを与え、
処理結果を受け取る事ができるので、従来の磁気ディス
ク装置との互換性も確保される。また、ホスト・プロセ
ッサのコマンド・アドレスに直結した書替えをしないの
で、容易にファイルを復旧することもできる。
【0015】本発明のより具体的な特徴によれば、半導
体外部記憶システムは、フラッシュ・メモリで構成さ
れ、それぞれが少なくとも1つのセクタを含む複数のメ
モリ・ブロックから成る半導体メモリと、アドレス変換
表、ブロック管理手段及び、コマンド処理部を備え、前
記アドレス変換表は、セクタやメモリ・ブロックの物理
アドレスとホスト・コンピュータのコマンドとの対応関
係を記録するものであり、前記ブロック管理手段は、各
メモリ・ブロックの消去回数及び各メモリ・ブロックと
各セクタの状況を記録したものであり、前記コマンド処
理部が、前記ブロック管理手段の記録に基づき、データ
の書込みや消去を行うメモリ・ブロックを選定し、前記
コマンドに応答して、前記アドレス変換表から得られる
物理アドレスを持つメモリ・ブロックやセクタに対して
データの書込み、読出しあるいはの消去の処理を行い、
これらの処理による各セクタやメモリ・ブロックの状況
変化を前記ブロック管理手段に逐次記録、更新し、さら
に、これらのセクタやメモリ・ブロックの物理アドレス
とホスト・コンピュータのコマンドとの対応関係を、前
記アドレス変換表に記録、更新し、前記ブロック管理手
段の記録に基づき、次にデータの書込みもしくは消去を
行うメモリ・ブロックを選定する。
体外部記憶システムは、フラッシュ・メモリで構成さ
れ、それぞれが少なくとも1つのセクタを含む複数のメ
モリ・ブロックから成る半導体メモリと、アドレス変換
表、ブロック管理手段及び、コマンド処理部を備え、前
記アドレス変換表は、セクタやメモリ・ブロックの物理
アドレスとホスト・コンピュータのコマンドとの対応関
係を記録するものであり、前記ブロック管理手段は、各
メモリ・ブロックの消去回数及び各メモリ・ブロックと
各セクタの状況を記録したものであり、前記コマンド処
理部が、前記ブロック管理手段の記録に基づき、データ
の書込みや消去を行うメモリ・ブロックを選定し、前記
コマンドに応答して、前記アドレス変換表から得られる
物理アドレスを持つメモリ・ブロックやセクタに対して
データの書込み、読出しあるいはの消去の処理を行い、
これらの処理による各セクタやメモリ・ブロックの状況
変化を前記ブロック管理手段に逐次記録、更新し、さら
に、これらのセクタやメモリ・ブロックの物理アドレス
とホスト・コンピュータのコマンドとの対応関係を、前
記アドレス変換表に記録、更新し、前記ブロック管理手
段の記録に基づき、次にデータの書込みもしくは消去を
行うメモリ・ブロックを選定する。
【0016】
【実施例】本発明の半導体外部記憶システムを組み込ん
だコンピュータ・システムの一例を図1に示す。CPU
10はシステム・バス13を介して、主記憶装置15、
バス制御装置16およびオプションの数値計算用コプロ
セッサ14と通信する。CPU10および関連する周辺
装置の間の通信はバス制御装置16を介して行われる。
そのため、バス制御装置16はファミリー・バス18に
よって周辺装置に接続されている。周辺装置としては、
本発明の実施例になるフラッシュ・メモリ製の外部記憶
システム20が接続され、さらに、通信装置21、ハー
ド・ファイル22、光ディスク23もファミリー・バス
18に接続されている。24は、ディスプレイ・コント
ローラ、25は、CRTである。勿論、他の周辺装置も
接続可能である。このようなコンピュータ・システム
は、例えば、IBM PS/2パーソナル・コンピュー
タによって構築することが出来る。
だコンピュータ・システムの一例を図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号公報を参照されたい。
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を含め
ることができる。
能的な構成の詳細を示す。この半導体外部記憶システム
は、ファミリー・バス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を管理する。
1と制御装置・バス33を相互接続するための周知のレ
シーバ/ドライバ構成を持っている。本実施例では、バ
ス制御部38はバス31および33間で16ビットの並
列転送を行うように構成されているが、勿論本発明はこ
のような並列転送に限定されるものではない。コマンド
処理部34は、データの読出し部40、書込み部41、
複写部42及びブロック消去部43を管理する。
【0020】フラッシュ・メモリ32はセクタの集まり
として管理される。本実施例では、フラッシュ・メモリ
32を構成する各メモリ・ブロック320は512のセ
クタから成り、かつ各セクタは512バイトを含んでい
る。これらのセクタ数およびバイト数は、メモリ・ブロ
ック320の記憶容量やアーキテクチャに応じて変えら
れる。
として管理される。本実施例では、フラッシュ・メモリ
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と独立に機能することが出来
る。
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を含むこ
れらのセクタは、フォーマット・プログラムによりメモ
リ・チップ上にフォーマットされる。
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が格納され、以下同様に、後続の各セクタの状況およ
び論理アドレスが順次に格納される。
ントリを含み、その最初のエントリには、関連するメモ
リ・ブロック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が記録される。
モリ・ブロック毎の状況が、ブロック管理表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上に保持される。
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)。
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)。この表示は、余裕をもたせるべく、早め
に行うようにしてもよい。
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)とから成っている。
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)。
詳細について述べる。最初はブロック管理表とアドレス
変換表の初期化(図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を見つけ出しファイルを再生することが、殆
どの場合可能である。
706)について述べる。 従来の磁気ディスク・シス
テムでは、セクタ書替え時、データがセクタ上に上書き
されるので、例えばファイルの書き込みの途中で電源に
事故が生じると、古いファイル、新しいファイルの両方
とも失われてしまう。これに対して、本発明では、セク
タ書替え時、古いセクタに上書きすることなく新しいセ
クタを見つけるため古いデータはそれを含むブロックが
消去されるまでの間、有効であり続ける(ただし、セク
タの状況フラグはすでに無効に書替えられている)。そ
こで、ファイルの書き込みに失敗したときには、状況フ
ラグ64に関係なく、S(i,j)中のLの値から古い
セクタ66を見つけ出しファイルを再生することが、殆
どの場合可能である。
【0034】図10は、このファイルの回復の詳細を示
す。事故等でファイルの書込み中に電源が遮断されると
RAM54上のバッファ37内のデータは消失する。そ
こで電源再投入時に古いファイルの回復を行う。まず、
ディレクトリ情報およびファイル配置情報を読出し、フ
ァイルの先頭セクタ番号Kを求める(1002,100
4)。電源が遮断されるまでに書替えられたセクタ番号
に対応するセクタとしては、古いデータを持つ無効セク
タと新しいデータを持つ有効セクタの両方が存在する。
そこで、セクタ番号Kを持つ無効セクタを探し、あれば
このセクタのデータをユーザの確認を得たうえで新しい
空白セクタに移し、これを有効にする。また既存の有効
セクタは無効にする(1010)。ユーザの確認を得る
のは、古いデータが複数のバージョンからなっていると
き、いずれを選択すべきか確認をとるためである。以下
同様にしてファイルを構成する全セクタに対する処理を
行う(1014)。このようにして、無効セクタのデー
タを集めていくことによって古いファイルを再構成す
る。
す。事故等でファイルの書込み中に電源が遮断されると
RAM54上のバッファ37内のデータは消失する。そ
こで電源再投入時に古いファイルの回復を行う。まず、
ディレクトリ情報およびファイル配置情報を読出し、フ
ァイルの先頭セクタ番号Kを求める(1002,100
4)。電源が遮断されるまでに書替えられたセクタ番号
に対応するセクタとしては、古いデータを持つ無効セク
タと新しいデータを持つ有効セクタの両方が存在する。
そこで、セクタ番号Kを持つ無効セクタを探し、あれば
このセクタのデータをユーザの確認を得たうえで新しい
空白セクタに移し、これを有効にする。また既存の有効
セクタは無効にする(1010)。ユーザの確認を得る
のは、古いデータが複数のバージョンからなっていると
き、いずれを選択すべきか確認をとるためである。以下
同様にしてファイルを構成する全セクタに対する処理を
行う(1014)。このようにして、無効セクタのデー
タを集めていくことによって古いファイルを再構成す
る。
【0035】図11は、セクタ読出し(図8のステップ
806)の詳細フローであり、与えられた論理アドレス
L66に対応する物理アドレスA(L)68をアドレス
変換表36より得て、セクタ70A〜70Nの位置を知
り、データ(AL)をデータ読出し部40にセットし、
CPU10にDMA転送する。
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内であってもよく、
他のメモリ・ブロックにあってもよい。
プ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)。
込み処理の詳細を示す。まず、ホスト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)。
プ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の内容を一括消去し、全て
を「空白」セクタとする。
理表に基づくブロックの消去処理により、「空白」セク
タの数は常に一定の値以上確保される。この「空白」セ
クタは、書込み時や、消去時におけるデータの書込み
先、複写先として用いられる。図14に示すように、あ
るメモリ・ブロック321内には、当初、「空白」セク
タが多数存在しているが、漸次「有効」セクタそして
「無効」セクタが増加してゆく。そして、このメモリ・
ブロック321内に残る「有効」セクタ70の数が所定
値より少なくなると、その「有効」セクタ70を他のメ
モリ・ブロック322内の「空白」セクタに複写し、次
に、メモリ・ブロック321の内容を一括消去し、全て
を「空白」セクタとする。
【0040】CPU10からのコマンドは、セクタの複
写やメモリ・ブロックの消去の処理中にも、割り込みに
よって実行される。例えば、、CPU10のコマンドが
データ書込みの場合は、現在データを複写中のメモリ・
ブロック322とは別のメモリ・ブロック323を選ん
で、複写と並行して書込み処理を行う。従って、空白セ
クタが確保されているかぎり、割り込み(並行処理)の
機能が実行されるので、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の比較は有効セクタ数の代
りに、無効セクタの数で行ってもよいことは言うまでも
ない。
タのデータ複写には時間を要するので、複写回数はなる
べく少ないほうがよい。そこで、 図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)。
(図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)。以下全項目に
ついて同様の処理を行い外部記憶装置側のセクタ状況の
更新を行う。
ト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の拘束時
間の短縮が可能となる。これは、本発明が、消去するメ
モリ・ブロック、セクタを書き込むブロック及び空白ブ
メモリ・ロックを常に別々に準備するようにメモリ・ブ
ロックやセクタの管理をしているためである。これによ
り、セクタ書き込みとメモリ・ブロックの消去、セクタ
読み出だしとメモリ・ブロックの消去とが並列に実行可
能である。
べてのセクタがほぼ均一に使用されるとともに、高速の
セクタ書き込みが可能となる。図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の実施例と同じな
ので、説明は省略する。
すもので、図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)。
してセクタ消去型のフラッシュ・メモリを用いた、本発
明の他の実施例を示すものである。セクタ消去型は、メ
モリ・ブロック内で一括して消去されるメモリ・ブロッ
クの大きさとファイル・セクタの物理的大きさとが等し
いタイプである。この例では、セクタ毎の消去を行うた
め、図2の例と比較して、一括消去に先立つセクタ退避
の必要がなく、従って、セクタ複写部42がなく、また
ブロック消去部43の代わりにセクタ消去部82がマイ
クロプロセッサ上に構成され、セクタ消去回数の退避、
回復を行っている。さらに、セクタ管理表60がメモリ
・ブロック320の単位即ちセクタ70毎に設けられて
いる。セクタ管理表60には、セクタの状況や、消去回
数が記録され、全てのセクタの消去回数を考慮しなが
ら、書込み用の空白セクタを確保する。コマンド処理部
の通常処理は、図7の場合と同様に、バッファをチェッ
クし、コマンドがあれば、セクタ書込み、セクタ消去を
行うものである。但し、図23に示すように、セクタの
消去に先立ってセクタの複写を行う処理が不要であり、
直ちに無効なセクタの消去が実行される(727〜73
3)。また、図24に示すように、セクタの消去に先立
ってそのセクタの消去回数を他のセクタに退避させ、さ
らに書き戻す処理が必要である(1705〜170
7)。
【0047】この実施例も、図25に示すように、すべ
てのセクタがほぼ均一に使用されるとともに、高速のセ
クタ書き込みが可能となる。この例では、セクタ単位で
消去するので、データの退避や、セクタの複写は必要な
い。従来の方式(A)では、セクタ書き込みの都度セク
タの消去もホストCPUが併せ実行する必要があった。
本発明の方式(B)では、ホストCPUの処理は、セク
タを書き込むだけでよく、他の処理、例えばセクタの消
去はメモリ・コントローラが独自に処理するので、ホス
トCPUの処理時間が短くてよく、高速のセクタ書き込
みが可能となる。
てのセクタがほぼ均一に使用されるとともに、高速のセ
クタ書き込みが可能となる。この例では、セクタ単位で
消去するので、データの退避や、セクタの複写は必要な
い。従来の方式(A)では、セクタ書き込みの都度セク
タの消去もホストCPUが併せ実行する必要があった。
本発明の方式(B)では、ホストCPUの処理は、セク
タを書き込むだけでよく、他の処理、例えばセクタの消
去はメモリ・コントローラが独自に処理するので、ホス
トCPUの処理時間が短くてよく、高速のセクタ書き込
みが可能となる。
【0048】なお、半導体メモリが大きな容量を有する
ときは、この半導体メモリをそれぞれ複数のメモリ・ブ
ロックを持つ複数の群に分割し、各群毎に、上記したブ
ロックやセクタの管理・制御を行うようにしてもよい。
ときは、この半導体メモリをそれぞれ複数のメモリ・ブ
ロックを持つ複数の群に分割し、各群毎に、上記したブ
ロックやセクタの管理・制御を行うようにしてもよい。
【0049】
【発明の効果】本発明によれば、ホストCPUのコマン
ドに対応してデータの読み出し、書込みを高速で処理で
きる、フラッシュ・メモリを用いた半導体外部記憶シス
テムが得られる。また、ホスト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の割込み処理の関係を示すタイム・チャート図で
ある。
CPUの割込み処理の関係を示すタイム・チャート図で
ある。
【図21】本発明の他の実施例になる半導体外部記憶シ
ステムを組み込んだコンピュータ・システムの一例を示
す図である。
ステムを組み込んだコンピュータ・システムの一例を示
す図である。
【図22】本発明のさらに他の実施例になる外部記憶シ
ステムを組み込んだコンピュータ・システムの一例を示
す図である。
ステムを組み込んだコンピュータ・システムの一例を示
す図である。
【図23】図22におけるコマンド処理部の通常処理の
一部を示す流れ図である。
一部を示す流れ図である。
【図24】図22におけるセクタ消去判定、開始の処理
を示す流れ図である。
を示す流れ図である。
【図25】図22におけるコマンド処理部の通常処理及
びCPUの割込み処理の関係を示すタイム・チャート図
である。
び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)
- 【請求項1】フラッシュ・メモリで構成され、それぞれ
が少なくとも1つのセクタを含む複数のメモリ・ブロッ
クから成る外部記憶装置としての半導体メモリを備え、
該半導体メモリが論理アドレスを含むコマンドによりア
クセスされて、書込み、読出しまたは消去が行われる外
部記憶システムを制御するための方法であって、 前記論理アドレスを特定のメモリ・ブロック内のセクタ
を示す物理アドレスに変換するためのアドレス変換手段
を準備し、 前記コマンドが書込みコマンドの場合に、空白セクタに
書込みを行い、 前記書込みコマンドの論理アドレスに対応する物理アド
レスを持っていたセクタを無効にすると共に、前記書込
みを行った空白セクタの物理アドレスで前記アドレス変
換手段を更新することを特徴とする外部記憶システムの
制御方法。 - 【請求項2】各メモリ・ブロックの消去回数及び有効セ
クタ数に基いて特定のメモリ・ブロックを消去候補とし
て予め選定しておく、請求項1に記載の制御方法。 - 【請求項3】空白セクタを含まないメモリ・ブロックの
うち、有効セクタ数が最小のメモリ・ブロック、または
全メモリ・ブロックにおける最大消去回数に比べて所定
値以上に小さい消去回数を有するメモリ・ブロックを前
記消去候補として選定する、請求項2に記載の制御方法
。 - 【請求項4】消去されるメモリ・ブロック中の有効セク
タのデータを複写するための空白セクタを持つ複写用メ
モリ・ブロックを予め選定しておき、 前記メモリ・ブロックの消去に先立ち、該選定されたメ
モリ・ブロックに前記データを複写する、請求項2また
は3に記載の制御方法 。 - 【請求項5】消去されたメモリ・ブロックを前記複写用
メモリ・ブロックとして選定する、請求項4に記載の制
御方法。 - 【請求項6】各メモリ・ブロックにおいて所定のセクタ
をセクタ管理表として使用し、当該メモリ・ブロックの
消去回数及び当該メモリ・ブロックに含まれる複数のセ
クタの状況を前記セクタ管理表に記憶させ、前記書込み
により古いセクタを無効にするときは、該セクタのデー
タをそのままにして前記セクタ管理表中の対応する状況
を無効にする、請求項1に記載の制御方法 - 【請求項7】前記セクタ管理表において前記状況が無効
になっているセクタのデータを利用してファイルを回復
する、請求項6に記載の制御方法。 - 【請求項8】各メモリ・ブロックの有効セクタ数を示す
ブロック管理表を設け、前記セクタ管理表中の消去回数
及び前記ブロック管理表中の有効セクタ数に基いて特定
のメモリ・ブロックを消去候補として予め選択してお
く、請求項6に記載の制御方法。 - 【請求項9】空白セクタを含まないメモリ・ブロックの
うち、有効セクタ数が最小のメモリ・ブロック、または
全メモリ・ブロックにおける最大消去回数に比べて所定
値以上に小さい消去回数を有するメモリ・ブロックを前
記消去候補として選定する、請求項8に記載の制御方法
。 - 【請求項10】消去されるメモリ・ブロック中の有効セ
クタのデータを複写するための空白セクタを持つ複写用
メモリ・ブロックを予め選定しておき、前記メモリ・ブ
ロックの消去に先立ち、該選定されたメモリ・ブロック
に前記データを複写する、請求項8または9に記載の制
御方法 。 - 【請求項11】消去されたメモリ・ブロックを前記複写
用メモリ・ブロックとして選定する、請求項10に記載
の制御方法。 - 【請求項12】ホスト・プロセッサからの論理アドレス
を含むコマンドに応答する外部記憶システムであって、 フラッシュ・メモリで構成され、それぞれが少なくとも
1つのセクタを含む複数のメモリ・ブロックから成る外
部記憶装置としての半導体メモリと、 前記論理アドレスを特定のセクタの物理アドレスに変換
するアドレス変換手段と、 各メモリ・ブロック及びセクタの状況を記録する管理手
段と、 前記コマンドに応答して必要な処理を行う制御手段とを
備え、 前記制御手段は、前記コマンドが書込みコマンドの場合
に空白セクタに書込みを行うと共に、前記書込みコマン
ドの論理アドレスに対応する物理アドレスを持っていた
セクタを無効にするよう前記管理手段を更新し、前記書
込みを行った空白セクタの物理アドレスで前記アドレス
変換手段を更新することを特徴とする外部記憶システ
ム。 - 【請求項13】前記制御部は、前記書込みを行うデータ
書込み部、前記アドレス変換手段を用いて前記半導体メ
モリからの読出しを行うデータ読出し部、特定のメモリ
ブロックを消去するブロック消去部、及び該ブロック消
去部によって消去されるメモリ・ブロックの有効セクタ
を他のメモリ・ブロックに複写するセクタ複写部を備え
ている、請求項12に記載の外部記憶システム。 - 【請求項14】前記管理手段は、各メモリ・ブロックの
所定のセクタに記録され当該メモリ・ブロックの消去回
数及び当該メモリ・ブロックに含まれる複数のセクタの
状況を示すセクタ管理表と、ランダム・アクセス・メモ
リに記録され各メモリ・ブロックの有効セクタ数を示す
ブロック管理表とを含む、請求項13に記載の外部記憶
システム。 - 【請求項15】前記制御部がマイクロプロセッサ及び前
記ランダム・アクセス・メモリで構成され、前記ランダ
ム・アクセス・メモリが前記アドレス変換手段として使
用されるアドレス変換表を含む、請求項14に記載の外
部記憶システム。 - 【請求項16】前記制御部は、書込みを行う空白セクタ
を含むメモリ・ブロック、消去するメモリブロック、及
びメモリ・ブロックの消去に先立って該メモリ・ブロッ
クの有効セクタを複写するメモリ・ブロックを予め選定
しておく、請求項12に記載の外部記憶システム。 - 【請求項17】ホスト・プロセッサと、該ホスト・プロ
セッサからバスを介してデータ及びコマンドを受け取る
外部記憶システムと、該外部記憶システムをアクセスす
るための表を記憶する記憶装置とを具備し、 前記外部記憶システムは、 フラッシュ・メモリで構成され、それぞれが少なくとも
1つのセクタを含む複数のメモリ・ブロックから成り、
各メモリブロックの所定のセクタに、当該メモリブロッ
クの消去回数及び当該メモリに含まれる複数のセクタの
状況を示すセクタ管理表を記憶する半導体メモリと、 前記コマンドに応答して必要な処理を行う制御手段とを
備え、 前記表は、 各メモリ・ブロックに含まれる有効セクタ及び空白セク
タの数を示すブロック管理表と、 前記ホスト・プロセッサが前記外部記憶システムをアク
セスするときの論理アドレスを前記半導体メモリ中の特
定のメモリ・ブロックのセクタの物理アドレスに変換す
るためのアドレス変換表とを含み、 書込みを行う空白セクタを含む書込み用メモリ・ブロッ
ク、消去候補のメモリ・ブロック、及びメモリ・ブロッ
クの消去に先立って該メモリ・ブロックの有効セクタを
複写する複写用メモリ・ブロックが予め選定されてお
り、書込み、消去または複写により前記セクタ管理表及
び前記ブロック管理表を更新し、書込みの場合は該書込
みを行った空白セクタの物理アドレスで前記アドレス変
換表も更新することを特徴とするコンピュータ・システ
ム。 - 【請求項18】前記消去候補のメモリ・ブロックに含ま
れる有効セクタの数が所定の値より小さくなるか、また
は全メモリ・ブロックに含まれる空白セクタの総数が所
定の値より小さくなると、前記消去候補のメモリ・ブロ
ックに含まれる有効セクタを前記複写用メモリ・ブロッ
クに複写した後前記消去候補のメモリ・ブロックを消去
する、請求項17に記載のコンピュータ・システム。 - 【請求項19】消去したメモリ・ブロックを前記複写用
メモリ・ブロックとして選定する、請求項18に記載の
コンピュータ・システム。 - 【請求項20】空白セクタがないメモリ・ブロックのう
ち、有効セクタ数が最小のメモリ・ブロック、または全
メモリ・ブロックにおける最大消去回数に比べて所定値
以上に小さい消去回数を有するメモリ・ブロックを前記
消去候補として選定する、請求項18または19に記載
のコンピュータ・システム。
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)
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)
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)
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 |
-
1991
- 1991-07-12 JP JP19731891A patent/JP2582487B2/ja not_active Expired - Lifetime
-
1992
- 1992-07-01 EP EP92306064A patent/EP0522780B1/en not_active Expired - Lifetime
- 1992-07-01 DE DE69223287T patent/DE69223287T2/de not_active Expired - Fee Related
-
1995
- 1995-03-27 US US08/410,589 patent/US5524230A/en not_active Expired - Fee Related
Cited By (1)
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) | データ処理システム、アクセス装置及び記録媒体 |