JPH0527924A - 半導体メモリを用いた外部記憶システム及びその制御方法 - Google Patents
半導体メモリを用いた外部記憶システム及びその制御方法Info
- Publication number
- JPH0527924A JPH0527924A JP3197318A JP19731891A JPH0527924A JP H0527924 A JPH0527924 A JP H0527924A JP 3197318 A JP3197318 A JP 3197318A JP 19731891 A JP19731891 A JP 19731891A JP H0527924 A JPH0527924 A JP H0527924A
- Authority
- JP
- Japan
- Prior art keywords
- sector
- memory
- block
- memory block
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】
【目的】 ホストCPUとの間のデータの読出し、書込
みを従来の磁気ディスクよりも高速に処理でき、かつ特
定のセクタだけが頻繁に書込み消去されることがなく全
メモリが長期間有効に使用される、半導体メモリを用い
た外部記憶システムを提供する。 【構成】 ホストCPUと外部記憶装置のアドレス関係
に柔軟性を与え、ホストCPUのコマンドの持つ論理ア
ドレスによって半導体メモリの物理アドレスが一方的に
決定されることのないようなアドレス制御方式を導入し
た。コマンド処理部34は、ホストCPUのコマンド処
理に備えて、書き込みあるいは消去、複写用のメモリ・
ブロックやセクタを常に準備し、この選ばれたメモリ・
ブロック32iやセクタの物理アドレスとホストCPU
のコマンドとの対応関係を、アドレス変換表36に記
録、保持する。メモリ・ブロックやセクタの状況は夫々
の管理表35,60に記録され、ホストCPUのコマン
ドに備えたあるいは応答した書込み、消去、複写等の処
理の制御に利用される。
みを従来の磁気ディスクよりも高速に処理でき、かつ特
定のセクタだけが頻繁に書込み消去されることがなく全
メモリが長期間有効に使用される、半導体メモリを用い
た外部記憶システムを提供する。 【構成】 ホストCPUと外部記憶装置のアドレス関係
に柔軟性を与え、ホストCPUのコマンドの持つ論理ア
ドレスによって半導体メモリの物理アドレスが一方的に
決定されることのないようなアドレス制御方式を導入し
た。コマンド処理部34は、ホストCPUのコマンド処
理に備えて、書き込みあるいは消去、複写用のメモリ・
ブロックやセクタを常に準備し、この選ばれたメモリ・
ブロック32iやセクタの物理アドレスとホストCPU
のコマンドとの対応関係を、アドレス変換表36に記
録、保持する。メモリ・ブロックやセクタの状況は夫々
の管理表35,60に記録され、ホストCPUのコマン
ドに備えたあるいは応答した書込み、消去、複写等の処
理の制御に利用される。
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(024KフラッシュEPROM)は、メモ
リ・チップの全ビットを消去(論理1に変更)するチッ
プ消去のほかに、その中の特定のセクタだけを消去する
セクタ消去が可能である。この方式では消去対象外の余
分なセクタの退避や書き戻しが避けられる。しかし、セ
クタ書込み時に古いセクタの消去も併せて行うため、数
十ミリ秒単位の時間がかかり、磁気ディスクと同程度か
それ以下の性能しか得られない。また、特定のセクタが
ホスト・コンピュータによって非常に頻繁に書込まれて
他のセクタよりかなり早く許容消去回数に達してしま
い、フラッシュ・メモリ全体としてセクタの有効な利用
が出来ないという問題は、解決されない。更に、セクタ
消去型は記憶素子やチップ構造が一括消去型よりも複雑
で、コストおよび消去回数の面でも解決すべき問題があ
るとされている。
去型のフラッシュ・メモリの開発が進められている。例
えば、シーク・テクノロジー(SEEQ TECHNOLOGY)社の2
7F010(024Kフラッシュ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とし(7
30)、セクタ管理表及びブロック管理表35の記録を
更新する。すなわち、メモリ・ブロックi内の空白セク
タの数B(i,1)をMとし、有効セクタの数B(i,
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とし(7
30)、セクタ管理表及びブロック管理表35の記録を
更新する。すなわち、メモリ・ブロックi内の空白セク
タの数B(i,1)をMとし、有効セクタの数B(i,
2)を0とする(732,734)。
【0030】ただし、一括消去すべきあるメモリ・ブロ
ックiの消去回数が消去候補のメモリ・ブロックieの
消去回数より或る値以上に小さい時には、「有効」セク
タの数の大小に関係なく、このメモリ・ブロックiを優
先的に消去候補のメモリ・ブロックieとして選んで、
消去回数の均一化を図る(736)。全てのメモリ・ブ
ロックにもはや消去すべきメモリ・ブロックieがな
く、かつ空白セクタiwも存在しなければ、CRT25
(図1)にメモリ交換の表示を行う(738,74
0)。この表示は、余裕をもたせるべく、早めに行うよ
うにしてもよい。
ックiの消去回数が消去候補のメモリ・ブロックieの
消去回数より或る値以上に小さい時には、「有効」セク
タの数の大小に関係なく、このメモリ・ブロックiを優
先的に消去候補のメモリ・ブロックieとして選んで、
消去回数の均一化を図る(736)。全てのメモリ・ブ
ロックにもはや消去すべきメモリ・ブロックieがな
く、かつ空白セクタiwも存在しなければ、CRT25
(図1)にメモリ交換の表示を行う(738,74
0)。この表示は、余裕をもたせるべく、早めに行うよ
うにしてもよい。
【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,消去コマンドを受け取ったとき消
去する候補ブロックの番号ie,消去時にデータの退避
を行うべき空白ブロックの番号ibを決定する(92
6)。
詳細について述べる。最初はブロック管理表とアドレス
変換表の初期化(図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,消去コマンドを受け取ったとき消
去する候補ブロックの番号ie,消去時にデータの退避
を行うべき空白ブロックの番号ibを決定する(92
6)。
【0033】次に、ファイルの回復(図7A、ステップ
706)について述べる。 従来の磁気ディスク・シス
テムでは、セクタ書替え時、データがセクタ上に上書き
されるので、例えばファイル(ブロック管理表とアドレ
ス変換表を含む)の書き込みの途中で電源に事故が生じ
ると、古いファイル、新しいファイルの両方とも失われ
てしまう。これに対して、本発明では、セクタ書替え
時、古いセクタに上書きすることなく新しいセクタを見
つけるため古いデータはそれを含むブロックが消去され
るまでの間、有効であり続ける(ただし、セクタの状況
フラグはすでに無効に書替えられている)。そこで、フ
ァイルの書き込みに失敗したときには、状況フラグ64
に関係なく、S(i,j)中のLの値から古いセクタ6
6を見つけ出しフアイルを再生することが、殆どの場合
可能である。
706)について述べる。 従来の磁気ディスク・シス
テムでは、セクタ書替え時、データがセクタ上に上書き
されるので、例えばファイル(ブロック管理表とアドレ
ス変換表を含む)の書き込みの途中で電源に事故が生じ
ると、古いファイル、新しいファイルの両方とも失われ
てしまう。これに対して、本発明では、セクタ書替え
時、古いセクタに上書きすることなく新しいセクタを見
つけるため古いデータはそれを含むブロックが消去され
るまでの間、有効であり続ける(ただし、セクタの状況
フラグはすでに無効に書替えられている)。そこで、フ
ァイルの書き込みに失敗したときには、状況フラグ64
に関係なく、S(i,j)中のLの値から古いセクタ6
6を見つけ出しフアイルを再生することが、殆どの場合
可能である。
【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として選定する(1516)。
プ718)を図14〜図15により詳細に説明する。図
15において、コマンド処理部34は、あるメモリ・ブ
ロックiのセクタの状況フラグが「有効]から「無効」
になるたびに、ポインタの値S(i,j)を無効とし
(1508)、ブロック管理表のメモリ・ブロックi内
の「有効」セクタの数B(i,2)を1つ減らす(15
10)。これは、セクタ・データを論理的には消去し、
物理的には有効のまま保持するものである。、そして、
アドレス変換表の物理アドレスA(L)をゼロとし、残
りの「有効」セクタの数を消去候補のメモリ・ブロック
ieと比較し、所定値よりり少なくなると、このメモリ
・ブロックiを次に消去すべきメモリ・ブロックの候補
ieとして選定する(1516)。
【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)の比
較を行う(1606)。メモリ・ブロックiが消去候補
のメモリ・ブロックieよりも少ない有効セクタB
(i,2)しか持っていない時は、メモリ・ブロックi
を新たに次の消去候補のメモリ・ブロックieとして置
き替える(1608)。なお、メモリ・ブロック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)の比
較を行う(1606)。メモリ・ブロックiが消去候補
のメモリ・ブロックieよりも少ない有効セクタB
(i,2)しか持っていない時は、メモリ・ブロックi
を新たに次の消去候補のメモリ・ブロックieとして置
き替える(1608)。なお、メモリ・ブロック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 バッファ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成3年10月16日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正内容】
【0007】これらの問題を解決するために、セクタ消
去型のフラッシュ・メモリの開発が進められている。例
えば、シーク・テクノロジー(SEEQ TECHNOLOGY)社の2
7F010(1024KフラッシュEPROM)は、メ
モリ・チップの全ビットを消去(論理1に変更)するチ
ップ消去のほかに、その中の特定のセクタだけを消去す
るセクタ消去が可能である。この方式では消去対象外の
余分なセクタの退避や書き戻しが避けられる。しかし、
セクタ書込み時に古いセクタの消去も併せて行うため、
数十ミリ秒単位の時間がかかり、磁気ディスクと同程度
かそれ以下の性能しか得られない。また、特定のセクタ
がホスト・コンピュータによって非常に頻繁に書込まれ
て他のセクタよりかなり早く許容消去回数に達してしま
い、フラッシュ・メモリ全体としてセクタの有効な利用
が出来ないという問題は、解決されない。更に、セクタ
消去型は記憶素子やチップ構造が一括消去型よりも複雑
で、コストおよび消去回数の面でも解決すべき問題があ
るとされている。
去型のフラッシュ・メモリの開発が進められている。例
えば、シーク・テクノロジー(SEEQ TECHNOLOGY)社の2
7F010(1024KフラッシュEPROM)は、メ
モリ・チップの全ビットを消去(論理1に変更)するチ
ップ消去のほかに、その中の特定のセクタだけを消去す
るセクタ消去が可能である。この方式では消去対象外の
余分なセクタの退避や書き戻しが避けられる。しかし、
セクタ書込み時に古いセクタの消去も併せて行うため、
数十ミリ秒単位の時間がかかり、磁気ディスクと同程度
かそれ以下の性能しか得られない。また、特定のセクタ
がホスト・コンピュータによって非常に頻繁に書込まれ
て他のセクタよりかなり早く許容消去回数に達してしま
い、フラッシュ・メモリ全体としてセクタの有効な利用
が出来ないという問題は、解決されない。更に、セクタ
消去型は記憶素子やチップ構造が一括消去型よりも複雑
で、コストおよび消去回数の面でも解決すべき問題があ
るとされている。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0029
【補正方法】変更
【補正内容】
【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)。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0030
【補正方法】変更
【補正内容】
【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)。この表示は、余裕をもたせるべく、早め
に行うようにしてもよい。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0032
【補正方法】変更
【補正内容】
【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)。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0033
【補正方法】変更
【補正内容】
【0033】次に、ファイルの回復(図7A、ステップ
706)について述べる。 従来の磁気ディスク・シス
テムでは、セクタ書替え時、データがセクタ上に上書き
されるので、例えばファイルの書き込みの途中で電源に
事故が生じると、古いファイル、新しいファイルの両方
とも失われてしまう。これに対して、本発明では、セク
タ書替え時、古いセクタに上書きすることなく新しいセ
クタを見つけるため古いデータはそれを含むブロックが
消去されるまでの間、有効であり続ける(ただし、セク
タの状況フラグはすでに無効に書替えられている)。そ
こで、ファイルの書き込みに失敗したときには、状況フ
ラグ64に関係なく、S(i,j)中のLの値から古い
セクタ66を見つけ出しファイルを再生することが、殆
どの場合可能である。
706)について述べる。 従来の磁気ディスク・シス
テムでは、セクタ書替え時、データがセクタ上に上書き
されるので、例えばファイルの書き込みの途中で電源に
事故が生じると、古いファイル、新しいファイルの両方
とも失われてしまう。これに対して、本発明では、セク
タ書替え時、古いセクタに上書きすることなく新しいセ
クタを見つけるため古いデータはそれを含むブロックが
消去されるまでの間、有効であり続ける(ただし、セク
タの状況フラグはすでに無効に書替えられている)。そ
こで、ファイルの書き込みに失敗したときには、状況フ
ラグ64に関係なく、S(i,j)中のLの値から古い
セクタ66を見つけ出しファイルを再生することが、殆
どの場合可能である。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0038
【補正方法】変更
【補正内容】
【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)。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0041
【補正方法】変更
【補正内容】
【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の比較は有効セクタ数の代
りに、無効セクタの数で行ってもよいことは言うまでも
ない。
Claims (20)
- 【請求項1】フラッシュ・メモリで構成され、それぞれ
が少なくとも1つのセクタを含む複数のメモリ・ブロッ
クから成る外部記憶装置としての半導体メモリと、前記
メモリ・ブロックに対する制御を行う制御部とを備え、
データおよびコマンドを転送するバスを介してホスト・
プロセッサに接続された外部記憶システムにおいて、 前記制御部が、 各メモリ・ブロックの消去回数及び各メモリ・ブロック
と各セクタの状況を記録したブロック管理手段の記録に
基づき、データの書込みや消去を行うメモリ・ブロック
を選定し、 前記ホスト・プロセッサの前記コマンドに含まれる論理
アドレスをアドレス変換手段によって特定のメモリ・ブ
ロック内のセクタを示す物理アドレスに変換し、 前記コマンドに応答して、該当するセクタに対するデー
タの書込み、読出しあるいはメモリ・ブロックの消去の
処理を行い、 これらの処理による各セクタやメモリ・ブロックの状況
変化を前記ブロック管理手段に逐次記録しもしくは更新
し、 前記処理がなされたメモリ・ブロックやセクタについて
それらの物理アドレスと論理アドレスとの関係を前記ア
ドレス変換手段に記憶しもしくは更新する、 ことを特徴とする外部記憶システムの制御方法。 - 【請求項2】請求項1において、前記制御部は、 前記ホスト・プロセッサのコマンドを割り込みによって
受付け、前記コマンドがデータ読出しコマンドであると
きこれに応答して該コマンドの論理アドレスに相当する
前記メモリ・ブロックの該当するセクタのデータ読出し
の処理を実行し、 前記コマンドが書込みもしくは消去コマンドであると
き、これらのコマンド及びデータをバッファに保持し、
前記ホスト・プロセッサからの割り込みコマンドがない
ときに前記選定されたメモリ・ブロックまたはセクタに
対し前記書込みもしくは消去の処理を実行する、 ことを特徴とする外部記憶システムの制御方法。 - 【請求項3】請求項1において、前記制御部は、 前記メモリ・ブロックの中の特定のメモリ・ブロックの
消去回数が他のいずれのメモリ・ブロックの消去回数よ
りも所定値だけ小さいときは、該メモリ・ブロックを優
先的に選んで消去対象として選定する、 ことを特徴とする外部記憶システムの制御方法 。 - 【請求項4】請求項1において、前記制御部は、 前記ブロック管理手段の記録に基づき、前記消去される
メモリ・ブロックの有効なセクタのデータを複写するた
めの空白セクタを持つメモリ・ブロックを選定し、 前記メモリ・ブロックの消去に先立ち、該選定されたメ
モリ・ブロックに前記データを複写する、 ことを特徴とする外部記憶システムの制御方法 。 - 【請求項5】ホスト・プロセッサと、フラッシュ・メモ
リで構成されそれぞれが少なくとも1つのセクタを含む
複数のメモリ・ブロックから成る外部記憶装置としての
半導体メモリと、前記メモリ・ブロックに対する制御を
行う制御部とを備えたコンピュータ・システムにおい
て、 前記制御部が、 前記ホスト・プロセッサの前記コマンドに含まれる論理
アドレスをアドレス変換手段によって特定のメモリ・ブ
ロック内のセクタを示す物理アドレスに変換し、 各メモリ・ブロックの消去回数及び各セクタとメモリ・
ブロックの状況を逐次記録したブロック管理手段の記録
に基づき、データの書込み用メモリ・ブロック、該デー
タ書込み用メモリ・ブロックを確保するために次に消去
する消去用メモリ・ブロックを各々選定し、 前記ホスト・プロセッサから受け取った書き込みデータ
を前記書込み用メモリ・ブロックに書き込み、 前記選定された消去用メモリ・ブロックを消去する、 ことを特徴とするコンピュータ・システムの外部記憶装
置制御方法。 - 【請求項6】請求項5において、前記制御部が、 前記メモリ・ブロックの中の特定のメモリ・ブロックの
消去回数が他のいずれのメモリ・ブロックの消去回数よ
りも所定値だけ小さいときは、該メモリ・ブロックを優
先的に選んで消去用メモリ・ブロックとして選定する、
ことを特徴とするコンピュータ・システムの外部記憶装
置制御方法。 - 【請求項7】請求項5において、前記制御部は、 前記ホスト・プロセッサのコマンドを割り込みによって
受付け、 前記コマンドがデータ読出しコマンドであるときこれに
応答して該コマンドの論理アドレスに相当する前記メモ
リ・ブロックの該当するセクタのデータ読出しの処理を
実行し、 前記コマンドが書込みもしくは消去コマンドであると
き、これらのコマンド及びデータをバッファに保持し、
前記ホスト・プロセッサからの割り込みコマンドがない
ときに該当するメモリ・ブロックまたはセクタに対し前
記書込みもしくは消去の処理を実行する、 ことを特徴とするコンピュータ・システムの外部記憶装
置制御方法。 - 【請求項8】請求項5において、前記制御部は、 前記メモリ・ブロックの該当するセクタからのデータ読
出しの処理と、前記メモリ・ブロックまたはセクタに対
しする前記書込みもしくは消去の処理とを時分割処理に
よって実行する、 ことを特徴とするコンピュータ・システムの外部記憶装
置制御方法。 - 【請求項9】請求項5において、前記制御部は、 前記ホスト・プロセッサからのセクタ書込みコマンドに
応答して前記選定されたメモリ・ブロックの空白セクタ
に前記データを書込むと共に、前記セクタ書込みコマン
ドの論理アドレスが書込み済みの有効セクタの論理アド
レスと同じときは該有効セクタのデータは消去せず、ブ
ロック管理手段の該有効セクタに関する状況の記録だけ
を無効に書換え、前記空白セクタの物理アドレスを前記
アドレス変換手段に書き込む、 ことを特徴とするコンピュータ・システムの外部記憶装
置制御方法。 - 【請求項10】請求項5において、前記制御部は、 前記メモリ・ブロックの消去に先立ち、該メモリ・ブロ
ックの消去回数に関する記録を退避し、該メモリ・ブロ
ックの消去の後、該メモリ・ブロックに書き戻す、 ことを特徴とするコンピュータ・システムの外部記憶装
置制御方法。 - 【請求項11】請求項5において、前記制御部は、 前記ホスト・プロセッサ側で保有する新しいファイル配
置情報と外部記憶システム側で保有する古いファイル配
置情報との比較によって前記メモリ・ブロックの消去に
関する前記ブロック管理手段の記録を更新する、 ことを特徴とするコンピュータ・システムの外部記憶装
置制御方法。 - 【請求項12】データおよびコマンドを転送するホスト
・バスを介してホスト・プロセッサに接続される外部記
憶システムあって、 前記外部記憶システムは、 フラッシュ・メモリで構成され、それぞれが少なくとも
1つのセクタを含む複数のメモリ・ブロックから成る外
部記憶装置としての半導体メモリと、 前記ホスト・プロセッサから受け取った論理アドレスを
特定のセクタの物理アドレスに変換するアドレス変換手
段と、 各メモリ・ブロックとセクタの状況を記録するブロック
管理手段及び、 前記ブロック管理手段の記録を用い、前記コマンドに応
じて前記半導体メモリの各セクタに対するデータの読出
し、書込みもしくはメモリ・ブロックの消去を制御する
コマンド処理部とを備えている、 ことを特徴とする外部記憶システム。 - 【請求項13】請求項12において、前記制御部は、 該コマンド処理部の処理に基づいて前記半導体メモリの
該当メモリ・ブロックやセクタに対するデータの書込
み、読出しもしくは消去の処理を行う、データ書込み
部、データ読出し部、ブロック消去部及び消去されるメ
モリ・ブロックの有効セクタを他のメモリ・ブロックに
複写するセクタ複写部とを備えている、 ことを特徴とする外部記憶システム。 - 【請求項14】請求項12において、前記制御部は、 マイクロ・プロセッサによって構成されるコマンド処理
部、データ書込み部、データ読出し部、ブロック消去部
及び消去されるメモリ・ブロックの有効セクタを他のメ
モリ・ブロックに複写するセクタ複写部と、 RAM上に構成されるブロック管理表、アドレス変換表
及びバッファと、 各メモリ・ブロック上に設けられ前記ブロック管理表と
共に前記ブロック管理手段を構成するセクタ管理表とを
備えた、 ことを特徴とする外部記憶システム。 - 【請求項15】請求項12において、前記制御部は、 ホスト・プロセッサ上構成されるコマンド処理部と、 主記憶装置のRAM上に構成されるブロック管理表とア
ドレス変換表と、 バッファを含むメモリ・コントローラと、 前記各メモリ・ブロック上に設けられ前記ブロック管理
表と共に前記ブロック管理手段を構成するセクタ管理表
とを備えた、 ことを特徴とする外部記憶システム。 - 【請求項16】ホスト・プロセッサと、フラッシュ・メ
モリで構成され、それぞれが少なくとも1つのセクタを
含む複数のメモリ・ブロックから成る半導体メモリを備
えた外部記憶システムと、該外部記憶システムと前記ホ
スト・プロセッサ間でデータおよびコマンドを転送する
ためのホスト・バスとを含むコンピュータ・システムに
おいて、 前記ホスト・プロセッサからのアドレスを特定のセクタ
の物理アドレスに変換するアドレス変換手段及び各メモ
リ・ブロックとその中の各セクタの状況を記録するブロ
ック管理手段を用いて、前記コマンドに応じて前記半導
体メモリの各セクタに対するデータの読出し、書込みお
よびメモリ・ブロックの消去を制御する制御手段とを具
備し、 該制御手段は、前記ホスト・プロセッサからのコマンド
に応答して前記半導体メモリの該当セクタに対するデー
タの書込み、読出しもしくはメモリ・ブロックの消去の
処理を実行すると共に、これらの処理に伴って前記ブロ
ック管理手段の各メモリ・ブロック及び各セクタの状況
の記録を更新する手段を有する、 ことを特徴とするコンピュータ・システム。 - 【請求項17】請求16において、前記コンピュータ・
システムは、ホスト・バスを介してホスト・プロセッサ
及び外部記憶システムに接続された表示手段を有し、 前記制御手段は、 前記メモリ・ブロックのいずれにも空白セクタが無く、
かつ消去すべきメモリ・ブロックも無くなったときに、
前記半導体メモリが交換すべき状態にあることを前記表
示手段に出力する、 ことを特徴とするコンピュータ・システム 。 - 【請求項18】請求16において、前記コンピュータ・
システムは、ホスト・バスを介してホスト・プロセッサ
及び外部記憶システムに接続された対話型の表示手段を
有し、 前記制御装置は、 前記表示手段を介した対話によってユーザからフアィル
回復の要否の情報を受取り、 フアィルの回復が必要な
とき、コンピュータ・システムが保有するフアィル配置
情報を参照してフアィルの内容を表示し、ユーザの確認
を得て前記フアィルの回復を行う、 ことを特徴とするコンピュータ・システム 。 - 【請求項19】フラッシュ・メモリで構成され、それぞ
れが少なくとも1つのセクタを含む複数のメモリ・ブロ
ックから成る半導体メモリにおいて、 前記各メモリ・ブロックに、該メモリ・ブロックの消去
回数及び各セクタの状況を表す記録を格納する特定の領
域を設けた、 ことを特徴とする半導体メモリ。 - 【請求項20】請求項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 true JPH0527924A (ja) | 1993-02-05 |
| JP2582487B2 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 (91)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05282889A (ja) * | 1992-03-31 | 1993-10-29 | Toshiba Corp | 不揮発性半導体メモリ装置 |
| JPH064399A (ja) * | 1992-06-22 | 1994-01-14 | Hitachi Ltd | 半導体記憶装置 |
| JPH0670119A (ja) * | 1992-06-12 | 1994-03-11 | Ricoh Co Ltd | ファクシミリ装置 |
| JPH06124596A (ja) * | 1991-11-28 | 1994-05-06 | Hitachi Ltd | フラッシュメモリを使用した記憶装置 |
| JPH06202821A (ja) * | 1992-10-30 | 1994-07-22 | Intel Corp | 固体メモリディスク並びにそれを制御する方法及び装置 |
| JPH06223591A (ja) * | 1992-10-30 | 1994-08-12 | Intel Corp | フラッシュeepromアレイのクリーン・アップ方法 |
| JPH06250799A (ja) * | 1993-02-26 | 1994-09-09 | Toshiba Corp | 半導体ディスク装置およびその半導体ディスク装置を使用したコンピュータシステム |
| JPH06266587A (ja) * | 1993-03-16 | 1994-09-22 | Nec Corp | フラッシュメモリのファイル管理方式 |
| JPH06274409A (ja) * | 1993-03-11 | 1994-09-30 | Internatl Business Mach Corp <Ibm> | 一括消去型不揮発性メモリ |
| JPH06282484A (ja) * | 1993-03-29 | 1994-10-07 | Sharp Corp | 不揮発性半導体メモリ用データ書込管理装置 |
| JPH0757481A (ja) * | 1993-08-06 | 1995-03-03 | Brother Ind Ltd | 記憶装置 |
| JPH0772989A (ja) * | 1992-10-30 | 1995-03-17 | Intel Corp | 浮動セクタデータを記憶する固体メモリディスクをクリーンアップする方法 |
| JPH07153285A (ja) * | 1993-11-29 | 1995-06-16 | Sansei Denshi Japan Kk | 不揮発性フラッシュメモリの制御方法とその装置 |
| JPH07191892A (ja) * | 1992-01-29 | 1995-07-28 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
| JPH07219720A (ja) * | 1993-10-01 | 1995-08-18 | Hitachi Maxell Ltd | 半導体メモリ装置ならびにその制御方法 |
| JPH07244992A (ja) * | 1994-03-02 | 1995-09-19 | Oki Electric Ind Co Ltd | 半導体記憶装置とメモリ制御方法 |
| JPH07271645A (ja) * | 1994-03-30 | 1995-10-20 | Oki Electric Ind Co Ltd | 半導体記憶装置 |
| JPH07281842A (ja) * | 1994-04-11 | 1995-10-27 | Hitachi Ltd | 半導体記憶装置 |
| JPH07295763A (ja) * | 1994-04-22 | 1995-11-10 | Internatl Business Mach Corp <Ibm> | ディスク・アレイ装置およびデータの格納方法 |
| JPH07319744A (ja) * | 1994-05-24 | 1995-12-08 | Nec Corp | フラッシュメモリを用いたファイルシステム |
| JPH0816482A (ja) * | 1994-06-29 | 1996-01-19 | Hitachi Ltd | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
| JPH08115175A (ja) * | 1994-10-18 | 1996-05-07 | Oki Electric Ind Co Ltd | 不揮発性半導体ディスク装置およびその制御方法 |
| JPH08137634A (ja) * | 1994-11-09 | 1996-05-31 | Mitsubishi Electric Corp | フラッシュディスクカード |
| JPH08137763A (ja) * | 1994-11-04 | 1996-05-31 | Fujitsu Ltd | フラッシュメモリ制御装置 |
| US5530673A (en) * | 1993-04-08 | 1996-06-25 | Hitachi, Ltd. | Flash memory control method and information processing system therewith |
| JPH08221223A (ja) * | 1995-02-16 | 1996-08-30 | Mitsubishi Electric Corp | 半導体ディスク装置 |
| JPH08510072A (ja) * | 1993-03-08 | 1996-10-22 | エム−システムズ・リミテッド | フラッシュファイルシステム |
| JPH0993523A (ja) * | 1995-09-28 | 1997-04-04 | Canon Inc | 電子カメラ |
| JPH0997139A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
| JPH0997217A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
| JPH0997314A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | Icカード装置 |
| JPH0997205A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
| JPH0997207A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
| JPH0997206A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
| JPH0997218A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
| JPH0997199A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
| US5627783A (en) * | 1995-01-31 | 1997-05-06 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor disk device |
| US5640349A (en) * | 1994-08-31 | 1997-06-17 | Tdk Corporation | Flash memory system |
| US5644539A (en) * | 1991-11-26 | 1997-07-01 | Hitachi, Ltd. | Storage device employing a flash memory |
| JPH09204355A (ja) * | 1996-01-25 | 1997-08-05 | Tokyo Electron Ltd | メモリ読出し方法及びメモリ制御装置 |
| JPH10134559A (ja) * | 1996-10-31 | 1998-05-22 | Sony Corp | 半導体記憶装置 |
| JPH10320296A (ja) * | 1997-05-16 | 1998-12-04 | Nec Corp | 記憶装置 |
| JPH11126488A (ja) * | 1997-10-21 | 1999-05-11 | Hitachi Ltd | フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置 |
| JPH11512544A (ja) * | 1995-09-13 | 1999-10-26 | レクサー・マイクロシステムズ・インコーポレーテッド | 半導体不揮発性大容量記憶メモリ内の自動摩耗レベリングによるシステム・データ制御の方法およびアーキテクチャ |
| US5978941A (en) * | 1995-03-15 | 1999-11-02 | Hitachi, Ltd. | Semiconductor memory device having deterioration determining function |
| JPH11306767A (ja) * | 1998-04-17 | 1999-11-05 | Sharp Corp | 一括消去型メモリの記録再生装置 |
| JP2000020252A (ja) * | 1998-06-29 | 2000-01-21 | Hitachi Ltd | 不揮発性半導体メモリを用いた記憶装置 |
| JP2000067587A (ja) * | 1998-08-18 | 2000-03-03 | Sharp Corp | 一括消去型メモリを用いた情報記録再生装置 |
| JP2000148583A (ja) * | 1992-06-22 | 2000-05-30 | Hitachi Ltd | 半導体記憶装置 |
| JP2000148569A (ja) * | 1998-11-17 | 2000-05-30 | Matsushita Electric Ind Co Ltd | 記録再生装置 |
| JP2000163314A (ja) * | 1992-06-22 | 2000-06-16 | Hitachi Ltd | 半導体記憶装置 |
| US6078520A (en) * | 1993-04-08 | 2000-06-20 | Hitachi, Ltd. | Flash memory control method and information processing system therewith |
| US6081447A (en) * | 1991-09-13 | 2000-06-27 | Western Digital Corporation | Wear leveling techniques for flash EEPROM systems |
| US6223311B1 (en) | 1995-03-15 | 2001-04-24 | Hitachi, Ltd. | Semiconductor memory device having deterioration determining function |
| JP2001195889A (ja) * | 2000-11-15 | 2001-07-19 | Fujitsu Ltd | 記憶装置の書き込み/消去方法 |
| US6347051B2 (en) | 1991-11-26 | 2002-02-12 | Hitachi, Ltd. | Storage device employing a flash memory |
| WO2002046929A1 (fr) * | 2000-12-06 | 2002-06-13 | Tdk Corporation | Contrôle de mémoire flash |
| JP2002236612A (ja) * | 2002-01-21 | 2002-08-23 | Hitachi Ltd | 半導体記憶装置 |
| JP2003513357A (ja) * | 1999-10-26 | 2003-04-08 | テラブス オーワイ | 論理フラッシュメモリ装置を用いて原子的更新を実行する方法および装置 |
| 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 |
| JP2003203016A (ja) * | 1991-11-28 | 2003-07-18 | Hitachi Ltd | 記憶装置 |
| JP2003234000A (ja) * | 2002-02-08 | 2003-08-22 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置、icカードおよび検査装置 |
| JP2003242788A (ja) * | 2003-02-10 | 2003-08-29 | Toshiba Corp | 不揮発性半導体メモリ装置及びその制御方法 |
| US6694460B2 (en) | 1997-09-11 | 2004-02-17 | Renesas Technology Corporation | Semiconductor memory device having deterioration determining function |
| US6725322B1 (en) | 1999-02-22 | 2004-04-20 | Renesas Technology Corp. | Memory card, method for allotting logical address, and method for writing data |
| JP2004240993A (ja) * | 2004-04-12 | 2004-08-26 | Hitachi Ltd | 半導体記憶装置 |
| JP2005100470A (ja) * | 2004-12-28 | 2005-04-14 | Hitachi Ltd | 半導体記憶装置 |
| JP3680142B2 (ja) * | 1997-12-05 | 2005-08-10 | 東京エレクトロンデバイス株式会社 | 記憶装置及びアクセス方法 |
| JP2005339581A (ja) * | 2005-08-08 | 2005-12-08 | Hitachi Ltd | 半導体記憶装置 |
| JP2006039983A (ja) * | 2004-07-28 | 2006-02-09 | Renesas Technology Corp | メモリカード |
| US7054990B1 (en) | 1999-08-11 | 2006-05-30 | Renesas Technology Corp. | External storage device using non-volatile semiconductor memory |
| US7120729B2 (en) | 2002-10-28 | 2006-10-10 | Sandisk Corporation | Automated wear leveling in non-volatile storage systems |
| US7134738B2 (en) | 1998-11-26 | 2006-11-14 | Seiko Epson Corporation | Printer and ink cartridge attached thereto |
| EP1739565A1 (en) | 2005-06-21 | 2007-01-03 | Hitachi, Ltd. | Storage system using flash memory |
| US7190617B1 (en) | 1989-04-13 | 2007-03-13 | Sandisk Corporation | Flash EEprom system |
| JP2007172650A (ja) * | 1991-11-28 | 2007-07-05 | Hitachi Ltd | フラッシュメモリを備えた情報機器 |
| JP2007179546A (ja) * | 2005-12-27 | 2007-07-12 | Samsung Electronics Co Ltd | 不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法 |
| WO2007105688A1 (ja) * | 2006-03-16 | 2007-09-20 | Matsushita Electric Industrial Co., Ltd. | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |
| JP2007317224A (ja) * | 1995-09-27 | 2007-12-06 | Lexar Media Inc | メモリシステム |
| EP1876519A2 (en) | 2006-07-05 | 2008-01-09 | Hitachi, Ltd. | Storage system and write distribution method |
| JP2008108281A (ja) * | 2008-01-10 | 2008-05-08 | Renesas Technology Corp | 半導体ディスク装置 |
| JP2008159013A (ja) * | 2006-11-28 | 2008-07-10 | Hitachi Ltd | 半導体記憶装置 |
| JP2008198049A (ja) * | 2007-02-15 | 2008-08-28 | Hitachi Ltd | ストレージシステム |
| USRE40547E1 (en) | 1994-08-10 | 2008-10-21 | Fujitsu Limited | Software reproduction apparatus |
| US7475185B2 (en) | 2004-04-20 | 2009-01-06 | Panasonic Corporation | Nonvolatile memory system, nonvolatile memory device, memory controller, access device, and method for controlling nonvolatile memory device |
| US7702846B2 (en) | 2005-03-15 | 2010-04-20 | Panasonic Corporation | Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method |
| US7831764B2 (en) | 2007-02-19 | 2010-11-09 | Hitachi, Ltd | Storage system having plural flash memory drives and method for controlling data storage |
| WO2011068109A1 (ja) * | 2009-12-03 | 2011-06-09 | 株式会社日立製作所 | 記憶装置、およびメモリコントローラ |
| US9026734B2 (en) | 2010-12-07 | 2015-05-05 | Kabushiki Kaisha Toshiba | Memory system and data deleting method |
| JP2016133874A (ja) * | 2015-01-16 | 2016-07-25 | ルネサスエレクトロニクス株式会社 | 情報処理装置及びフラッシュメモリ制御方法 |
| JP2016525240A (ja) * | 2013-07-16 | 2016-08-22 | インテル・コーポレーション | メモリシステムにおける消去管理 |
Families Citing this family (124)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7447069B1 (en) | 1989-04-13 | 2008-11-04 | Sandisk Corporation | Flash EEprom system |
| JPH05151097A (ja) * | 1991-11-28 | 1993-06-18 | Fujitsu Ltd | 書換回数制限型メモリのデータ管理方式 |
| JPH05233426A (ja) * | 1992-02-20 | 1993-09-10 | Fujitsu Ltd | フラッシュ・メモリ使用方法 |
| US5740349A (en) * | 1993-02-19 | 1998-04-14 | Intel Corporation | Method and apparatus for reliably storing defect information in flash disk memories |
| 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 |
| 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 |
| US5479638A (en) * | 1993-03-26 | 1995-12-26 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporation wear leveling technique |
| JP3215237B2 (ja) * | 1993-10-01 | 2001-10-02 | 富士通株式会社 | 記憶装置および記憶装置の書き込み/消去方法 |
| GB2283342B (en) * | 1993-10-26 | 1998-08-12 | Intel Corp | Programmable code store circuitry for a nonvolatile semiconductor memory device |
| 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 | 株式会社東芝 | 記憶システム |
| JP3464836B2 (ja) * | 1995-01-19 | 2003-11-10 | 富士通株式会社 | 記憶装置のメモリ管理装置 |
| US5724592A (en) * | 1995-03-31 | 1998-03-03 | Intel Corporation | Method and apparatus for managing active power consumption in a microprocessor controlled storage device |
| US5889795A (en) * | 1995-04-21 | 1999-03-30 | 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 |
| EP0745995B1 (en) * | 1995-05-05 | 2001-04-11 | STMicroelectronics S.r.l. | Nonvolatile, in particular flash-EEPROM, memory device |
| DE69514502T2 (de) * | 1995-05-05 | 2000-08-03 | Stmicroelectronics S.R.L., Agrate Brianza | Nichtflüchtige Speicheranordnung mit Sektoren, deren Grösse und Anzahl bestimmbar sind |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| US5845313A (en) | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing 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 |
| US8171203B2 (en) | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
| US6801979B1 (en) | 1995-07-31 | 2004-10-05 | Lexar Media, Inc. | Method and apparatus for memory control circuit |
| DE29512593U1 (de) * | 1995-08-04 | 1995-10-12 | Franck, Peter Heinz, 81669 München | Hybriddatenspeicher |
| JPH0954726A (ja) * | 1995-08-18 | 1997-02-25 | Mitsubishi Electric Corp | 記憶装置 |
| 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 |
| JP3604466B2 (ja) * | 1995-09-13 | 2004-12-22 | 株式会社ルネサステクノロジ | フラッシュディスクカード |
| US5933847A (en) * | 1995-09-28 | 1999-08-03 | Canon Kabushiki Kaisha | Selecting erase method based on type of power supply for flash EEPROM |
| 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 | 동경 엘렉트론 디바이스 주식회사 | 데이타독출/기록방법및그를이용한메모리제어장치및시스템 |
| 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., Yokohama | Halbleiterspeicheranordnung mit fehlerdetektion und -korrektur |
| JPH10124381A (ja) * | 1996-10-21 | 1998-05-15 | Mitsubishi Electric 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 |
| 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 |
| US6034897A (en) * | 1999-04-01 | 2000-03-07 | Lexar Media, Inc. | Space management for managing high capacity nonvolatile memory |
| JP3721725B2 (ja) * | 1997-07-09 | 2005-11-30 | ソニー株式会社 | 情報処理方法および情報処理装置 |
| JP3898305B2 (ja) * | 1997-10-31 | 2007-03-28 | 富士通株式会社 | 半導体記憶装置、半導体記憶装置の制御装置及び制御方法 |
| JPH11203191A (ja) * | 1997-11-13 | 1999-07-30 | Seiko Epson Corp | 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体 |
| US6076137A (en) * | 1997-12-11 | 2000-06-13 | Lexar Media, Inc. | Method and apparatus for storing location identification information within non-volatile memory devices |
| WO1999031592A1 (fr) | 1997-12-16 | 1999-06-24 | Tdk Corporation | Systeme de memoire flash |
| CN1249586C (zh) | 1997-12-22 | 2006-04-05 | Tdk株式会社 | 闪速存储器系统 |
| GB9801373D0 (en) | 1998-01-22 | 1998-03-18 | Memory Corp Plc | Memory system |
| JP3544476B2 (ja) * | 1998-09-11 | 2004-07-21 | 富士通株式会社 | メモリ管理テーブル作成方法 |
| JP4146006B2 (ja) * | 1998-09-28 | 2008-09-03 | 富士通株式会社 | フラッシュメモリを有する電子機器 |
| US6374337B1 (en) | 1998-11-17 | 2002-04-16 | Lexar Media, Inc. | Data pipelining method and apparatus for memory control circuit |
| GB9903490D0 (en) * | 1999-02-17 | 1999-04-07 | Memory Corp Plc | Memory system |
| DE60030876T2 (de) | 1999-04-01 | 2007-05-03 | Lexar Media, Inc., Fremont | Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität |
| 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 |
| 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 |
| 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 |
| US7102671B1 (en) | 2000-02-08 | 2006-09-05 | Lexar Media, Inc. | Enhanced compact flash memory card |
| 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 |
| US6567307B1 (en) | 2000-07-21 | 2003-05-20 | Lexar Media, Inc. | Block management for mass storage |
| US7167944B1 (en) | 2000-07-21 | 2007-01-23 | 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 |
| JP3692313B2 (ja) * | 2001-06-28 | 2005-09-07 | 松下電器産業株式会社 | 不揮発性メモリの制御方法 |
| GB0123421D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Power management system |
| GB0123417D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Improved data processing |
| GB0123410D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
| GB0123412D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system sectors |
| GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
| GB0123419D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Data handling system |
| GB0123415D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
| 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 |
| US6950918B1 (en) | 2002-01-18 | 2005-09-27 | Lexar Media, Inc. | File management of one-time-programmable nonvolatile memory devices |
| US6957295B1 (en) | 2002-01-18 | 2005-10-18 | Lexar Media, Inc. | File management of one-time-programmable nonvolatile memory devices |
| 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 |
| CN101231618B (zh) * | 2002-10-02 | 2012-06-13 | 松下电器产业株式会社 | 非易失性存储器装置的控制方法 |
| 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 |
| EP1695304A4 (en) | 2003-12-17 | 2011-09-28 | Lexar Media Inc | POINT-OF-SALE ACTIVATION OF ELECTRONIC DEVICES TO AVOID THEFT |
| 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 |
| JP4653747B2 (ja) | 2004-07-23 | 2011-03-16 | スパンション エルエルシー | コントローラ、データ記憶システム、データ書き換え方法及びコンピュータプログラムプロダクト |
| 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 |
| 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 |
| 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 |
| US7689807B2 (en) * | 2006-02-09 | 2010-03-30 | Sigmatel, Inc. | Mass storage device, mass storage controller and methods for use therewith |
| FR2915829A1 (fr) * | 2007-05-02 | 2008-11-07 | St Microelectronics Sa | Memoire non volatile a ecriture rapide |
| DE602008003150D1 (de) * | 2007-05-02 | 2010-12-09 | St Microelectronics Sa | Nicht flüchtiger Speicher mit partieller Löschung |
| 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 |
| US20090198952A1 (en) * | 2008-02-04 | 2009-08-06 | Apple Inc | Memory Mapping Architecture |
| 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 |
| US8032707B2 (en) | 2008-09-15 | 2011-10-04 | Microsoft Corporation | Managing cache data and metadata |
| US7953774B2 (en) | 2008-09-19 | 2011-05-31 | Microsoft Corporation | Aggregation of write traffic to a data store |
| 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. |
| US9733907B2 (en) | 2012-10-30 | 2017-08-15 | Oracle International Corporation | System and method for testing compiler implementation using dynamic combinatorial test generation |
| 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 |
| CN110580228B (zh) * | 2018-06-11 | 2025-06-03 | 北京忆恒创源科技股份有限公司 | 去分配命令处理方法及其存储设备 |
| CN111078122B (zh) * | 2018-10-18 | 2024-01-12 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和设备 |
| FR3101974B1 (fr) * | 2019-10-15 | 2021-09-10 | Continental Automotive | Procédé d’aide à l’identification de secteurs vierges d’une mémoire non-volatile d’un microcontrôleur |
| CN112347002B (zh) * | 2020-11-13 | 2023-07-28 | 杭州芯炬视人工智能科技有限公司 | flash数据的保存方法、系统、计算机设备及存储介质 |
| CN121922180A (zh) * | 2025-03-10 | 2026-04-24 | Oppo广东移动通信有限公司 | 存储器管理方法和装置、存储器的预擦除方法和装置、存储器及存储系统 |
Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5971179A (ja) * | 1982-10-16 | 1984-04-21 | Dainippon Printing Co Ltd | Icカ−ドにおける編集処理方法 |
| JPS6166204A (ja) * | 1984-09-07 | 1986-04-05 | Canon Inc | 情報記録再生装置 |
| JPS61113102A (ja) * | 1984-11-07 | 1986-05-31 | Canon Inc | 情報記録再生装置 |
| JPS61283097A (ja) * | 1985-06-07 | 1986-12-13 | Matsushita Electric Ind Co Ltd | 不揮発性メモリ装置 |
| JPS62283497A (ja) * | 1986-05-31 | 1987-12-09 | Canon Inc | メモリ書き込み制御方法 |
| JPS62283496A (ja) * | 1986-05-31 | 1987-12-09 | Canon Inc | プログラマブルリ−ドオンリメモリの書き込み回数管理方式 |
| 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 | 不揮発性半導体メモリ |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3200872A1 (de) * | 1982-01-14 | 1983-07-21 | Sartorius GmbH, 3400 Göttingen | Elektronische waage |
| 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 | 半導体記憶装置 |
| 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 DE DE69223287T patent/DE69223287T2/de not_active Expired - Fee Related
- 1992-07-01 EP EP92306064A patent/EP0522780B1/en not_active Expired - Lifetime
-
1995
- 1995-03-27 US US08/410,589 patent/US5524230A/en not_active Expired - Fee Related
Patent Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5971179A (ja) * | 1982-10-16 | 1984-04-21 | Dainippon Printing Co Ltd | Icカ−ドにおける編集処理方法 |
| JPS6166204A (ja) * | 1984-09-07 | 1986-04-05 | Canon Inc | 情報記録再生装置 |
| JPS61113102A (ja) * | 1984-11-07 | 1986-05-31 | Canon Inc | 情報記録再生装置 |
| JPS61283097A (ja) * | 1985-06-07 | 1986-12-13 | Matsushita Electric Ind Co Ltd | 不揮発性メモリ装置 |
| JPS62283497A (ja) * | 1986-05-31 | 1987-12-09 | Canon Inc | メモリ書き込み制御方法 |
| JPS62283496A (ja) * | 1986-05-31 | 1987-12-09 | Canon Inc | プログラマブルリ−ドオンリメモリの書き込み回数管理方式 |
| 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 | 不揮発性半導体メモリ |
Cited By (135)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7190617B1 (en) | 1989-04-13 | 2007-03-13 | Sandisk Corporation | Flash EEprom system |
| US6594183B1 (en) | 1991-09-13 | 2003-07-15 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
| US6850443B2 (en) | 1991-09-13 | 2005-02-01 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
| US6081447A (en) * | 1991-09-13 | 2000-06-27 | Western Digital Corporation | Wear leveling techniques for flash EEPROM systems |
| US7353325B2 (en) | 1991-09-13 | 2008-04-01 | 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 |
| US7154805B2 (en) | 1991-11-26 | 2006-12-26 | Renesas Technology Corp. | Storage device employing a flash memory |
| US7006386B2 (en) | 1991-11-26 | 2006-02-28 | Renesas Technology Corp. | Storage device employing a flash memory |
| US6341085B1 (en) | 1991-11-26 | 2002-01-22 | Hitachi, Ltd. | Storage device employing a flash memory |
| US7082510B2 (en) | 1991-11-26 | 2006-07-25 | Renesas Technology Corp. | Storage device employing a flash memory |
| US6567334B2 (en) | 1991-11-26 | 2003-05-20 | Hitachi, Ltd. | Storage device employing a flash memory |
| US7064995B2 (en) | 1991-11-26 | 2006-06-20 | Renesas Technology Corp. | Storage device employing a flash memory |
| US6130837A (en) * | 1991-11-26 | 2000-10-10 | Hitachi, Ltd. | Storage device employing a flash memory |
| US6925012B2 (en) | 1991-11-26 | 2005-08-02 | Renesas Technology Corp. | Storage device employing a flash memory |
| US7002851B2 (en) | 1991-11-26 | 2006-02-21 | Renesas Technology Corp. | Storage device employing a flash memory |
| US6788609B2 (en) | 1991-11-26 | 2004-09-07 | Renesas Technology Corp. | Storage device employing a flash memory |
| US7123519B2 (en) | 1991-11-26 | 2006-10-17 | Renesas Technology Corp. | Storage device employing a flash memory |
| US7184320B2 (en) | 1991-11-26 | 2007-02-27 | Renesas Technology Corp. | Storage device employing a flash memory |
| US5644539A (en) * | 1991-11-26 | 1997-07-01 | Hitachi, Ltd. | Storage device employing a flash memory |
| JPH06124596A (ja) * | 1991-11-28 | 1994-05-06 | Hitachi Ltd | フラッシュメモリを使用した記憶装置 |
| JP2003203016A (ja) * | 1991-11-28 | 2003-07-18 | Hitachi Ltd | 記憶装置 |
| JP2007172650A (ja) * | 1991-11-28 | 2007-07-05 | Hitachi Ltd | フラッシュメモリを備えた情報機器 |
| JP2009146458A (ja) * | 1992-01-29 | 2009-07-02 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
| JP2010049714A (ja) * | 1992-01-29 | 2010-03-04 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
| JP2008282429A (ja) * | 1992-01-29 | 2008-11-20 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
| JPH07191892A (ja) * | 1992-01-29 | 1995-07-28 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
| JP2010049713A (ja) * | 1992-01-29 | 2010-03-04 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
| JP2011103137A (ja) * | 1992-01-29 | 2011-05-26 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
| JP2011222051A (ja) * | 1992-01-29 | 2011-11-04 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
| JP2010049712A (ja) * | 1992-01-29 | 2010-03-04 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
| JPH05282889A (ja) * | 1992-03-31 | 1993-10-29 | Toshiba Corp | 不揮発性半導体メモリ装置 |
| JPH0670119A (ja) * | 1992-06-12 | 1994-03-11 | Ricoh Co Ltd | ファクシミリ装置 |
| US5809515A (en) * | 1992-06-22 | 1998-09-15 | Hitachi, Ltd. | Semiconductor storage device in which instructions are sequentially fed to a plurality of flash memories to continuously write and erase data |
| US8001319B2 (en) | 1992-06-22 | 2011-08-16 | Solid State Storage Solutions, Inc. | Semiconductor storage device |
| US6728826B2 (en) | 1992-06-22 | 2004-04-27 | Renesas Technology Corp. | Semiconductor storage device in which commands are sequentially fed to a plurality of flash memories to continuously write data |
| JP2000148583A (ja) * | 1992-06-22 | 2000-05-30 | Hitachi Ltd | 半導体記憶装置 |
| JP2000163314A (ja) * | 1992-06-22 | 2000-06-16 | Hitachi Ltd | 半導体記憶装置 |
| JPH064399A (ja) * | 1992-06-22 | 1994-01-14 | Hitachi Ltd | 半導体記憶装置 |
| US5530828A (en) * | 1992-06-22 | 1996-06-25 | Hitachi, Ltd. | Semiconductor storage device including a controller for continuously writing data to and erasing data from a plurality of flash memories |
| US6457092B1 (en) | 1992-06-22 | 2002-09-24 | Hitachi, Ltd. | Semiconductor disk storage apparatus including a plurality of flash memories and a buffer memory to continuously write data responsive to first and second write commands |
| US6145050A (en) * | 1992-06-22 | 2000-11-07 | Hitachi, Ltd. | Semiconductor disk storage apparatus including a write buffer memory in which instructions are sequentially fed to a plurality of flash memories to continuously write sectors of data in an overlapped manner into the flash memories |
| 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 |
| US6598115B2 (en) | 1992-06-22 | 2003-07-22 | Hitachi, Ltd. | Semiconductor storage apparatus including a plurality of nonvolatile flash memories and utilizing logical to physical sector conversion |
| JPH06202821A (ja) * | 1992-10-30 | 1994-07-22 | Intel Corp | 固体メモリディスク並びにそれを制御する方法及び装置 |
| JPH06223591A (ja) * | 1992-10-30 | 1994-08-12 | Intel Corp | フラッシュeepromアレイのクリーン・アップ方法 |
| JPH0772989A (ja) * | 1992-10-30 | 1995-03-17 | Intel Corp | 浮動セクタデータを記憶する固体メモリディスクをクリーンアップする方法 |
| JPH06250799A (ja) * | 1993-02-26 | 1994-09-09 | Toshiba Corp | 半導体ディスク装置およびその半導体ディスク装置を使用したコンピュータシステム |
| JP2003085037A (ja) * | 1993-03-08 | 2003-03-20 | M-Systems Ltd | メモリ管理方法 |
| JPH08510072A (ja) * | 1993-03-08 | 1996-10-22 | エム−システムズ・リミテッド | フラッシュファイルシステム |
| JPH06274409A (ja) * | 1993-03-11 | 1994-09-30 | Internatl Business Mach Corp <Ibm> | 一括消去型不揮発性メモリ |
| JPH06266587A (ja) * | 1993-03-16 | 1994-09-22 | Nec Corp | フラッシュメモリのファイル管理方式 |
| JPH06282484A (ja) * | 1993-03-29 | 1994-10-07 | Sharp Corp | 不揮発性半導体メモリ用データ書込管理装置 |
| US6275436B1 (en) | 1993-04-08 | 2001-08-14 | Hitachi, Ltd | Flash memory control method and apparatus processing system therewith |
| US5530673A (en) * | 1993-04-08 | 1996-06-25 | Hitachi, Ltd. | Flash memory control method and information processing system therewith |
| US6421279B1 (en) | 1993-04-08 | 2002-07-16 | Hitachi, Ltd. | Flash memory control method and apparatus processing system therewith |
| US5973964A (en) * | 1993-04-08 | 1999-10-26 | Hitachi, Ltd. | Flash memory control method and information processing system therewith |
| US5862083A (en) * | 1993-04-08 | 1999-01-19 | Hitachi, Ltd. | Information processing system |
| 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 | 記憶装置 |
| JPH07219720A (ja) * | 1993-10-01 | 1995-08-18 | Hitachi Maxell Ltd | 半導体メモリ装置ならびにその制御方法 |
| JPH07153285A (ja) * | 1993-11-29 | 1995-06-16 | Sansei Denshi Japan Kk | 不揮発性フラッシュメモリの制御方法とその装置 |
| JPH07244992A (ja) * | 1994-03-02 | 1995-09-19 | Oki Electric Ind Co Ltd | 半導体記憶装置とメモリ制御方法 |
| JPH07271645A (ja) * | 1994-03-30 | 1995-10-20 | Oki Electric Ind Co Ltd | 半導体記憶装置 |
| JPH07281842A (ja) * | 1994-04-11 | 1995-10-27 | Hitachi Ltd | 半導体記憶装置 |
| JPH07295763A (ja) * | 1994-04-22 | 1995-11-10 | Internatl Business Mach Corp <Ibm> | ディスク・アレイ装置およびデータの格納方法 |
| JPH07319744A (ja) * | 1994-05-24 | 1995-12-08 | Nec Corp | フラッシュメモリを用いたファイルシステム |
| JPH0816482A (ja) * | 1994-06-29 | 1996-01-19 | Hitachi Ltd | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
| US5930193A (en) * | 1994-06-29 | 1999-07-27 | Hitachi, Ltd. | Memory system using a flash memory and method of controlling the memory system |
| US5737742A (en) * | 1994-06-29 | 1998-04-07 | Hitachi, Ltd. | Memory system using flash memory and method of controlling the memory system |
| USRE40547E1 (en) | 1994-08-10 | 2008-10-21 | Fujitsu Limited | Software reproduction apparatus |
| US5640349A (en) * | 1994-08-31 | 1997-06-17 | Tdk Corporation | Flash memory system |
| JPH08115175A (ja) * | 1994-10-18 | 1996-05-07 | Oki Electric Ind Co Ltd | 不揮発性半導体ディスク装置およびその制御方法 |
| JPH08137763A (ja) * | 1994-11-04 | 1996-05-31 | Fujitsu Ltd | フラッシュメモリ制御装置 |
| JPH08137634A (ja) * | 1994-11-09 | 1996-05-31 | Mitsubishi Electric Corp | フラッシュディスクカード |
| US5627783A (en) * | 1995-01-31 | 1997-05-06 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor disk device |
| JPH08221223A (ja) * | 1995-02-16 | 1996-08-30 | Mitsubishi Electric Corp | 半導体ディスク装置 |
| 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 |
| JPH11512544A (ja) * | 1995-09-13 | 1999-10-26 | レクサー・マイクロシステムズ・インコーポレーテッド | 半導体不揮発性大容量記憶メモリ内の自動摩耗レベリングによるシステム・データ制御の方法およびアーキテクチャ |
| JP2007317224A (ja) * | 1995-09-27 | 2007-12-06 | Lexar Media Inc | メモリシステム |
| JPH0997207A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
| JPH0997205A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
| JPH0997199A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
| JPH0993523A (ja) * | 1995-09-28 | 1997-04-04 | Canon Inc | 電子カメラ |
| JPH0997218A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
| JPH0997139A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
| JPH0997217A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
| JPH0997314A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | Icカード装置 |
| JPH0997206A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
| JPH09204355A (ja) * | 1996-01-25 | 1997-08-05 | Tokyo Electron Ltd | メモリ読出し方法及びメモリ制御装置 |
| JPH10134559A (ja) * | 1996-10-31 | 1998-05-22 | Sony Corp | 半導体記憶装置 |
| JPH10320296A (ja) * | 1997-05-16 | 1998-12-04 | Nec Corp | 記憶装置 |
| US6694460B2 (en) | 1997-09-11 | 2004-02-17 | Renesas Technology Corporation | Semiconductor memory device having deterioration determining function |
| JPH11126488A (ja) * | 1997-10-21 | 1999-05-11 | Hitachi Ltd | フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置 |
| JP3680142B2 (ja) * | 1997-12-05 | 2005-08-10 | 東京エレクトロンデバイス株式会社 | 記憶装置及びアクセス方法 |
| JPH11306767A (ja) * | 1998-04-17 | 1999-11-05 | Sharp Corp | 一括消去型メモリの記録再生装置 |
| US6629191B1 (en) | 1998-06-29 | 2003-09-30 | Hitachi, Ltd. | Nonvolatile memory apparatus for storing data from a host |
| JP2000020252A (ja) * | 1998-06-29 | 2000-01-21 | Hitachi Ltd | 不揮発性半導体メモリを用いた記憶装置 |
| JP2000067587A (ja) * | 1998-08-18 | 2000-03-03 | Sharp Corp | 一括消去型メモリを用いた情報記録再生装置 |
| JP2000148569A (ja) * | 1998-11-17 | 2000-05-30 | Matsushita Electric Ind Co Ltd | 記録再生装置 |
| US7267415B2 (en) | 1998-11-26 | 2007-09-11 | Seiko Epson Corporation | Printer and ink cartridge attached thereto |
| US7134738B2 (en) | 1998-11-26 | 2006-11-14 | Seiko Epson Corporation | Printer and ink cartridge attached thereto |
| US6725322B1 (en) | 1999-02-22 | 2004-04-20 | Renesas Technology Corp. | Memory card, method for allotting logical address, and method for writing data |
| US7054990B1 (en) | 1999-08-11 | 2006-05-30 | Renesas Technology Corp. | External storage device using non-volatile semiconductor memory |
| JP2003513357A (ja) * | 1999-10-26 | 2003-04-08 | テラブス オーワイ | 論理フラッシュメモリ装置を用いて原子的更新を実行する方法および装置 |
| JP2001195889A (ja) * | 2000-11-15 | 2001-07-19 | Fujitsu Ltd | 記憶装置の書き込み/消去方法 |
| WO2002046929A1 (fr) * | 2000-12-06 | 2002-06-13 | Tdk Corporation | Contrôle de mémoire flash |
| JP2002236612A (ja) * | 2002-01-21 | 2002-08-23 | Hitachi Ltd | 半導体記憶装置 |
| JP2003234000A (ja) * | 2002-02-08 | 2003-08-22 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置、icカードおよび検査装置 |
| US7120729B2 (en) | 2002-10-28 | 2006-10-10 | Sandisk Corporation | Automated wear leveling in non-volatile storage systems |
| JP2003242788A (ja) * | 2003-02-10 | 2003-08-29 | Toshiba Corp | 不揮発性半導体メモリ装置及びその制御方法 |
| JP2004240993A (ja) * | 2004-04-12 | 2004-08-26 | Hitachi Ltd | 半導体記憶装置 |
| US7475185B2 (en) | 2004-04-20 | 2009-01-06 | Panasonic Corporation | Nonvolatile memory system, nonvolatile memory device, memory controller, access device, and method for controlling nonvolatile memory device |
| JP2006039983A (ja) * | 2004-07-28 | 2006-02-09 | Renesas Technology Corp | メモリカード |
| JP2005100470A (ja) * | 2004-12-28 | 2005-04-14 | Hitachi Ltd | 半導体記憶装置 |
| US7702846B2 (en) | 2005-03-15 | 2010-04-20 | Panasonic Corporation | Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method |
| US7613871B2 (en) | 2005-06-21 | 2009-11-03 | Hitachi, Ltd. | Storage system using a flash memory partitioned with write-once and rewritable blocks |
| EP1739565A1 (en) | 2005-06-21 | 2007-01-03 | Hitachi, Ltd. | Storage system using flash memory |
| JP2005339581A (ja) * | 2005-08-08 | 2005-12-08 | Hitachi Ltd | 半導体記憶装置 |
| JP2007179546A (ja) * | 2005-12-27 | 2007-07-12 | Samsung Electronics Co Ltd | 不揮発性メモリをキャッシュとして用いる保存装置及びその動作方法 |
| WO2007105688A1 (ja) * | 2006-03-16 | 2007-09-20 | Matsushita Electric Industrial Co., Ltd. | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |
| US7650480B2 (en) | 2006-07-05 | 2010-01-19 | Hitachi, Ltd. | Storage system and write distribution method |
| EP1876519A2 (en) | 2006-07-05 | 2008-01-09 | Hitachi, Ltd. | Storage system and write distribution method |
| JP2008159013A (ja) * | 2006-11-28 | 2008-07-10 | Hitachi Ltd | 半導体記憶装置 |
| JP2008198049A (ja) * | 2007-02-15 | 2008-08-28 | Hitachi Ltd | ストレージシステム |
| US7831764B2 (en) | 2007-02-19 | 2010-11-09 | Hitachi, Ltd | Storage system having plural flash memory drives and method for controlling data storage |
| JP2008108281A (ja) * | 2008-01-10 | 2008-05-08 | Renesas Technology Corp | 半導体ディスク装置 |
| WO2011068109A1 (ja) * | 2009-12-03 | 2011-06-09 | 株式会社日立製作所 | 記憶装置、およびメモリコントローラ |
| GB2488480A (en) * | 2009-12-03 | 2012-08-29 | Hitachi Ltd | Storage device and memory controller |
| JP5480913B2 (ja) * | 2009-12-03 | 2014-04-23 | 株式会社日立製作所 | 記憶装置、およびメモリコントローラ |
| US8949515B2 (en) | 2009-12-03 | 2015-02-03 | Hitachi, Ltd. | Storage device and memory controller |
| GB2488480B (en) * | 2009-12-03 | 2017-07-19 | Hitachi Ltd | Storage device and memory controller |
| US9026734B2 (en) | 2010-12-07 | 2015-05-05 | Kabushiki Kaisha Toshiba | Memory system and data deleting method |
| JP2016525240A (ja) * | 2013-07-16 | 2016-08-22 | インテル・コーポレーション | メモリシステムにおける消去管理 |
| JP2016133874A (ja) * | 2015-01-16 | 2016-07-25 | ルネサスエレクトロニクス株式会社 | 情報処理装置及びフラッシュメモリ制御方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0522780A2 (en) | 1993-01-13 |
| JP2582487B2 (ja) | 1997-02-19 |
| DE69223287D1 (de) | 1998-01-08 |
| DE69223287T2 (de) | 1998-05-28 |
| EP0522780A3 (en) | 1993-07-28 |
| EP0522780B1 (en) | 1997-11-26 |
| US5524230A (en) | 1996-06-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2582487B2 (ja) | 半導体メモリを用いた外部記憶システム及びその制御方法 | |
| US11868618B2 (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 | |
| US5953737A (en) | Method and apparatus for performing erase operations transparent to a solid state storage system | |
| JP4044067B2 (ja) | シリアルフラッシュメモリにおけるxipのための優先順位に基づくフラッシュメモリ制御装置及びこれを用いたメモリ管理方法、これによるフラッシュメモリチップ | |
| KR100771519B1 (ko) | 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법 | |
| US7937523B2 (en) | Memory system with nonvolatile semiconductor memory | |
| US5787493A (en) | Control method and apparatus for direct execution of a program on an external apparatus using a randomly accessible and rewritable memory | |
| JP2856621B2 (ja) | 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置 | |
| US7529879B2 (en) | Incremental merge methods and memory systems using the same | |
| US5717886A (en) | Semiconductor disk device and memory management method | |
| US8051258B2 (en) | Apparatus and methods using invalidity indicators for buffered memory | |
| US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
| CN111897743B (zh) | 数据储存装置及逻辑至物理地址映射表的载入方法 | |
| US20070016719A1 (en) | Memory device including nonvolatile memory and memory controller | |
| US20080016267A1 (en) | Memory controller, flash memory system having memory controller, and method for controlling flash memory | |
| JPH06111588A (ja) | 一括消去型不揮発性メモリ | |
| JP2003044351A (ja) | フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法 | |
| JP2006216036A (ja) | フラッシュメモリを含んだデータ貯蔵装置及びそれのマージ方法 | |
| WO1995018407A1 (en) | Solid state memory system | |
| JP3421581B2 (ja) | 不揮発性半導体メモリを用いた記憶装置 | |
| US8185687B2 (en) | Semiconductor storage device and method of controlling semiconductor storage device | |
| JP2006243780A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
| US7996598B2 (en) | Memory management module | |
| JP2582487C (ja) | ||
| JPH08241247A (ja) | コンピュータ機器及びそのメモリアクセス方法及び回路 |