JPH06266596A - フラッシュメモリファイル記憶装置および情報処理装置 - Google Patents
フラッシュメモリファイル記憶装置および情報処理装置Info
- Publication number
- JPH06266596A JPH06266596A JP5051041A JP5104193A JPH06266596A JP H06266596 A JPH06266596 A JP H06266596A JP 5051041 A JP5051041 A JP 5051041A JP 5104193 A JP5104193 A JP 5104193A JP H06266596 A JPH06266596 A JP H06266596A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- file
- flash memory
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- 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/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- 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
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)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
(57)【要約】 (修正有)
【構成】 Xビットのデータバスを介し最小消去単位が
Xビットより大きくデータアクセス幅がxビット(x=
X/p:pは2以上の整数)であるフラッシュメモリ素
子を用いるファイル記憶装置において、それぞれ同時に
アクセス可能なp組のフラッシュメモリ素子群により構
成したフラッシュメモリ装置5、データバス上のデータ
を少なくともp分割する分割手段51〜54、少なくと
も、p個のxビットデータをフラッシュメモリ素子群の
1組に対応付ける第1の機能、及びp個のxビットデー
タをそれぞれフラッシュメモリ素子群の別個の組に対応
付ける第2の機能とを有するデータ分配手段61、並び
にアクセス対象ファイルのファイル管理の記憶容量単位
の数に応じて、第1及び第2の機能を切替るようデータ
分配手段61を制御する制御手段56を備える。 【効果】 記憶エリアを有効に利用しながら複数バイト
並列同時書込みが可能になる。
Xビットより大きくデータアクセス幅がxビット(x=
X/p:pは2以上の整数)であるフラッシュメモリ素
子を用いるファイル記憶装置において、それぞれ同時に
アクセス可能なp組のフラッシュメモリ素子群により構
成したフラッシュメモリ装置5、データバス上のデータ
を少なくともp分割する分割手段51〜54、少なくと
も、p個のxビットデータをフラッシュメモリ素子群の
1組に対応付ける第1の機能、及びp個のxビットデー
タをそれぞれフラッシュメモリ素子群の別個の組に対応
付ける第2の機能とを有するデータ分配手段61、並び
にアクセス対象ファイルのファイル管理の記憶容量単位
の数に応じて、第1及び第2の機能を切替るようデータ
分配手段61を制御する制御手段56を備える。 【効果】 記憶エリアを有効に利用しながら複数バイト
並列同時書込みが可能になる。
Description
【0001】
【産業上の利用分野】本発明は、フラッシュメモリを記
憶媒体とするファイル記憶装置を搭載した情報機器に係
り、特に高速のファイルアクセスを要求する情報機器に
適したファイル記憶装置のファイルアクセス方式に関す
る。
憶媒体とするファイル記憶装置を搭載した情報機器に係
り、特に高速のファイルアクセスを要求する情報機器に
適したファイル記憶装置のファイルアクセス方式に関す
る。
【0002】
【従来の技術】パーソナルコンピュータを始めとする今
日の汎用の情報機器では補助記憶装置はほとんど必須と
いえる周辺機器である。しかも、補助記憶装置は、本体
の機器に内蔵されているのが一般的であり、ユーザは常
に大容量のファイルを扱うことができるようになってい
る。
日の汎用の情報機器では補助記憶装置はほとんど必須と
いえる周辺機器である。しかも、補助記憶装置は、本体
の機器に内蔵されているのが一般的であり、ユーザは常
に大容量のファイルを扱うことができるようになってい
る。
【0003】最近では、ノートサイズやパームトップ型
のパーソナルコンピュータが使われることが多くなって
きており、移動して使用する用途が重要視され始めてい
る。このため振動に弱く消費電力が大きい磁気ディスク
記憶装置のかわりに半導体を記憶媒体としたファイル記
憶装置が注目を浴びている。例えば、特開平2−292
798号公報には、記憶媒体としてフラッシュメモリを
使用した半導体ファイル記憶装置の技術が開示されてい
る。
のパーソナルコンピュータが使われることが多くなって
きており、移動して使用する用途が重要視され始めてい
る。このため振動に弱く消費電力が大きい磁気ディスク
記憶装置のかわりに半導体を記憶媒体としたファイル記
憶装置が注目を浴びている。例えば、特開平2−292
798号公報には、記憶媒体としてフラッシュメモリを
使用した半導体ファイル記憶装置の技術が開示されてい
る。
【0004】フラッシュメモリとは、電気的書換え可能
な不揮発性メモリであり、大容量低価格化が可能である
ため、半導体ファイル記憶装置の記憶媒体として最も有
効なメモリの一つである。先記の特開平公報技術は、こ
のメモリを使用してファイル記憶装置を構築する際に問
題となる点を解決し、使い勝手を向上させる工夫をして
いる。例えば書換えの頻発により素子が劣化するという
フラッシュメモリの欠点を救済する方法や、フラッシュ
メモリの書換えに必要な消去というフェーズにおける高
速化の手法などを提案している。また、ホストとなる情
報機器とのインタフェースとしては磁気ディスク装置と
同一であることを提案しており、磁気ディスク装置に代
替できるシステムの構築を目的としている。
な不揮発性メモリであり、大容量低価格化が可能である
ため、半導体ファイル記憶装置の記憶媒体として最も有
効なメモリの一つである。先記の特開平公報技術は、こ
のメモリを使用してファイル記憶装置を構築する際に問
題となる点を解決し、使い勝手を向上させる工夫をして
いる。例えば書換えの頻発により素子が劣化するという
フラッシュメモリの欠点を救済する方法や、フラッシュ
メモリの書換えに必要な消去というフェーズにおける高
速化の手法などを提案している。また、ホストとなる情
報機器とのインタフェースとしては磁気ディスク装置と
同一であることを提案しており、磁気ディスク装置に代
替できるシステムの構築を目的としている。
【0005】
【発明が解決しようとする課題】上記従来技術の半導体
ファイル記憶装置はホストとなる情報機器の既存のイン
タフェースバスを使用し、磁気ディスク装置とのコンパ
チビリティを重視している。これにより半導体ファイル
記憶装置をユーザに抵抗なく受け入れられるようにして
いるが、磁気ディスク装置との互換性を重視する反面、
半導体記憶素子の磁気ディスク装置に対する優位性の利
用に考慮がなされていない。
ファイル記憶装置はホストとなる情報機器の既存のイン
タフェースバスを使用し、磁気ディスク装置とのコンパ
チビリティを重視している。これにより半導体ファイル
記憶装置をユーザに抵抗なく受け入れられるようにして
いるが、磁気ディスク装置との互換性を重視する反面、
半導体記憶素子の磁気ディスク装置に対する優位性の利
用に考慮がなされていない。
【0006】すなわち、半導体記憶素子は、回転するデ
ィスクからデータを拾い上げ書き込みを行う磁気ディス
ク装置と異なり、静的な記録媒体なので非常に高速なデ
ータアクセスを可能とするが、磁気記憶装置と同一のイ
ンタフェースではこの高速アクセスの優位性を活かすこ
とができないという問題がある。
ィスクからデータを拾い上げ書き込みを行う磁気ディス
ク装置と異なり、静的な記録媒体なので非常に高速なデ
ータアクセスを可能とするが、磁気記憶装置と同一のイ
ンタフェースではこの高速アクセスの優位性を活かすこ
とができないという問題がある。
【0007】本発明は、半導体記憶素子を記憶媒体とす
ることにより、アクセスの高速性能を最大限に引き出す
インタフェースを構築し、磁気ディスク装置の欠点とい
えるアクセス性能の向上を新しい補助記憶装置を提供す
ることにある。
ることにより、アクセスの高速性能を最大限に引き出す
インタフェースを構築し、磁気ディスク装置の欠点とい
えるアクセス性能の向上を新しい補助記憶装置を提供す
ることにある。
【0008】
【課題を解決するための手段】本発明によるフラッシュ
メモリファイル記憶装置は、ファイルのデータをXビッ
トのデータバスを介して格納するファイル記憶装置であ
って、最小消去単位が前記Xビットより大きくデータア
クセス幅がxビット(x=X/p:pは2以上の整数)
であるフラッシュメモリ素子を用いるフラッシュメモリ
ファイル記憶装置において、それぞれ同時にアクセス可
能なp組のフラッシュメモリ素子群により構成したフラ
ッシュメモリ装置と、前記Xビットのデータバス上のデ
ータを少なくともp分割する分割手段と、少なくとも、
該分割により得られたp個のxビットデータを前記フラ
ッシュメモリ素子群の1組に対応付ける第1の機能と、
前記p個のxビットデータをそれぞれ前記フラッシュメ
モリ素子群の別個の組に対応付ける第2の機能とを有す
るデータ分配手段と、アクセス対象ファイルのファイル
管理の記憶容量単位の数に応じて、前記第1および第2
の機能を切替るよう前記データ分配手段を制御する制御
手段とを備えることを特徴とする。
メモリファイル記憶装置は、ファイルのデータをXビッ
トのデータバスを介して格納するファイル記憶装置であ
って、最小消去単位が前記Xビットより大きくデータア
クセス幅がxビット(x=X/p:pは2以上の整数)
であるフラッシュメモリ素子を用いるフラッシュメモリ
ファイル記憶装置において、それぞれ同時にアクセス可
能なp組のフラッシュメモリ素子群により構成したフラ
ッシュメモリ装置と、前記Xビットのデータバス上のデ
ータを少なくともp分割する分割手段と、少なくとも、
該分割により得られたp個のxビットデータを前記フラ
ッシュメモリ素子群の1組に対応付ける第1の機能と、
前記p個のxビットデータをそれぞれ前記フラッシュメ
モリ素子群の別個の組に対応付ける第2の機能とを有す
るデータ分配手段と、アクセス対象ファイルのファイル
管理の記憶容量単位の数に応じて、前記第1および第2
の機能を切替るよう前記データ分配手段を制御する制御
手段とを備えることを特徴とする。
【0009】
【作用】現状のパーソナルコンピュータに使用されてい
る磁気ディスク装置では、データアクセスがパーソナル
コンピュータのメモリアクセスに比較して遅く、パーソ
ナルコンピュータ内のCPUと同期して動作する必要は
ない。そのため磁気ディスク装置のデータの授受は非同
期のバス上で行われている。半導体を記憶媒体とした場
合にはCPUの動作に追随することができるため、同期
動作にすることが有意義となる。
る磁気ディスク装置では、データアクセスがパーソナル
コンピュータのメモリアクセスに比較して遅く、パーソ
ナルコンピュータ内のCPUと同期して動作する必要は
ない。そのため磁気ディスク装置のデータの授受は非同
期のバス上で行われている。半導体を記憶媒体とした場
合にはCPUの動作に追随することができるため、同期
動作にすることが有意義となる。
【0010】しかしながらこの時の問題点として、CP
Uの処理のバス幅とフラッシュメモリ1チップのデータ
アクセスのバス幅が異なるという点がある。DRAMな
どではこのバス幅の違いをメモリチップを並列して使用
することにより解決できるが、フラッシュメモリでは消
去単位が決まっており、最小の消去単位は例えば512
バイトである。この場合、複数チップを並列に利用する
と、一度に消去を行う消去単位の容量が(512×並列
チップ数)バイトとなってしまう。これでは、消去対象
容量が大きすぎて、消去対象以外のデータまで消去して
しまうことになる。
Uの処理のバス幅とフラッシュメモリ1チップのデータ
アクセスのバス幅が異なるという点がある。DRAMな
どではこのバス幅の違いをメモリチップを並列して使用
することにより解決できるが、フラッシュメモリでは消
去単位が決まっており、最小の消去単位は例えば512
バイトである。この場合、複数チップを並列に利用する
と、一度に消去を行う消去単位の容量が(512×並列
チップ数)バイトとなってしまう。これでは、消去対象
容量が大きすぎて、消去対象以外のデータまで消去して
しまうことになる。
【0011】一方、現在、パーソナルコンピュータのフ
ァイル管理はこの512バイト単位を一区切り(1セク
タ)としているため、このファイル管理の記憶容量単位
(以下、ファイル管理単位ともいう)を変更することは
避けるべきである。従って、ファイル管理単位である1
セクタのアクセスにおいて例えばフラッシュメモリ4チ
ップを並列に利用しようとすると、結果的に最小消去単
位が大きくなり、このセクタの書替時に前述のように1
セクタの4倍の容量を同時に消去することが必要にな
る。このような事態を避けるために、例えばCPUが3
2ビットバス、フラッシュメモリが8ビットバスであれ
ば、1チップを4回順次アクセスしてCPUの32ビッ
トバスに対応する必要がある。
ァイル管理はこの512バイト単位を一区切り(1セク
タ)としているため、このファイル管理の記憶容量単位
(以下、ファイル管理単位ともいう)を変更することは
避けるべきである。従って、ファイル管理単位である1
セクタのアクセスにおいて例えばフラッシュメモリ4チ
ップを並列に利用しようとすると、結果的に最小消去単
位が大きくなり、このセクタの書替時に前述のように1
セクタの4倍の容量を同時に消去することが必要にな
る。このような事態を避けるために、例えばCPUが3
2ビットバス、フラッシュメモリが8ビットバスであれ
ば、1チップを4回順次アクセスしてCPUの32ビッ
トバスに対応する必要がある。
【0012】しかし、4セクタ以上の連続アクセス時に
は、各4セクタのデータについて、4チップに並列に同
時アクセスして、1回のアクセスでCPUのデータバス
からの32ビットを同時アクセスするようにしても問題
ない。すなわち、最初に第1セクタの512バイトが3
2ビットずつ16回に分けて書き込むと、各チップに1
28(16×8)バイトが分散する。次に第2セクタの
512バイト32ビットずつ16回に分けて書き込む。
続いて、同様に、第3セクタの512バイトを、さらに
第4セクタの512バイトを書き込む。この時点で、4
チップの最小消去単位の容量がすべてデータで満たされ
ることになる。したがって、このファイルの書替時には
この4セクタ分の容量を一括して消去して問題ない。
は、各4セクタのデータについて、4チップに並列に同
時アクセスして、1回のアクセスでCPUのデータバス
からの32ビットを同時アクセスするようにしても問題
ない。すなわち、最初に第1セクタの512バイトが3
2ビットずつ16回に分けて書き込むと、各チップに1
28(16×8)バイトが分散する。次に第2セクタの
512バイト32ビットずつ16回に分けて書き込む。
続いて、同様に、第3セクタの512バイトを、さらに
第4セクタの512バイトを書き込む。この時点で、4
チップの最小消去単位の容量がすべてデータで満たされ
ることになる。したがって、このファイルの書替時には
この4セクタ分の容量を一括して消去して問題ない。
【0013】このようにして、ファイルを4セクタずつ
同時4チップ並列アクセスを繰返す。最後の4セクタに
満たないデータが残った場合には、別の対処が必要とな
る。
同時4チップ並列アクセスを繰返す。最後の4セクタに
満たないデータが残った場合には、別の対処が必要とな
る。
【0014】3セクタ残った場合には、CPUの32ビ
ットが3で割り切れないので、2セクタと1セクタに分
けて対処する。
ットが3で割り切れないので、2セクタと1セクタに分
けて対処する。
【0015】2セクタ残った場合、あるいは、初めから
2セクタのファイルである場合、CPUからの32ビッ
トのデータを2分割し、一度に16ビットずつ2チップ
に同時アクセスする。第1セクタの512バイトは、1
6ビットずつ32回に分けて2チップに書き込まれ、各
チップに256(32×8)バイトずつに分散すること
になる。次に、第2セクタの512バイトが同様に16
ビットずつ32回に分けて2チップに書き込まれる。
2セクタのファイルである場合、CPUからの32ビッ
トのデータを2分割し、一度に16ビットずつ2チップ
に同時アクセスする。第1セクタの512バイトは、1
6ビットずつ32回に分けて2チップに書き込まれ、各
チップに256(32×8)バイトずつに分散すること
になる。次に、第2セクタの512バイトが同様に16
ビットずつ32回に分けて2チップに書き込まれる。
【0016】1セクタ残った場合、あるいは初めから1
セクタのファイルの場合、CPUからの32ビットのデ
ータを4分割し、一度に8ビットずつ1チップにアクセ
スする。1セクタの512バイトは64回に分けてどの
チップの1セクタエリアに格納される。
セクタのファイルの場合、CPUからの32ビットのデ
ータを4分割し、一度に8ビットずつ1チップにアクセ
スする。1セクタの512バイトは64回に分けてどの
チップの1セクタエリアに格納される。
【0017】以上のように、連続アクセスするセクタ数
によりデータの格納方法を変え、アクセスの高速化に寄
与するとともにフラッシュメモリに伴う消去の問題を解
決できる。すなわち、いずれの格納方法においても、1
チップの最小消去エリア内には同一のファイルのデータ
のみが格納されることが保証されるので、フラッシュメ
モリの消去に伴う上述の問題が解消される。
によりデータの格納方法を変え、アクセスの高速化に寄
与するとともにフラッシュメモリに伴う消去の問題を解
決できる。すなわち、いずれの格納方法においても、1
チップの最小消去エリア内には同一のファイルのデータ
のみが格納されることが保証されるので、フラッシュメ
モリの消去に伴う上述の問題が解消される。
【0018】なお、本発明では、フラッシュメモリを同
期動作させるが、アクセス形式によって遅延が生じる。
この問題に対しては、CPUにレディ信号入力があるも
のを用いることにより、任意にCPUに待機状態を要求
できる。レディ信号入力のあるCPUは今日では一般的
である。例えば現在の汎用のパーソナルコンピュータに
搭載されているCPUとして最も一般的なINTEL社
の16ビット処理以上のCPUには全て備えられてい
る。このレディ信号をネゲートすることによりCPUは
処理サイクルを停止するため、アクセスデータの読み出
し、書き込みが終了していなければこの信号をネゲート
するだけで良く、アクセスが終了したらアサートすれば
CPUは処理の実行を再開する。これらはファイル記憶
装置がCPUと同期動作をして初めて可能となる制御で
あるため、この時に同期したクロックを双方に入力して
同期動作させることは必須である。これらの制御により
一回の処理におけるデータ幅がCPUとフラッシュメモ
リで異なる場合にも、データ幅が揃うまでCPUを待機
させることにより容易に対応可能である。
期動作させるが、アクセス形式によって遅延が生じる。
この問題に対しては、CPUにレディ信号入力があるも
のを用いることにより、任意にCPUに待機状態を要求
できる。レディ信号入力のあるCPUは今日では一般的
である。例えば現在の汎用のパーソナルコンピュータに
搭載されているCPUとして最も一般的なINTEL社
の16ビット処理以上のCPUには全て備えられてい
る。このレディ信号をネゲートすることによりCPUは
処理サイクルを停止するため、アクセスデータの読み出
し、書き込みが終了していなければこの信号をネゲート
するだけで良く、アクセスが終了したらアサートすれば
CPUは処理の実行を再開する。これらはファイル記憶
装置がCPUと同期動作をして初めて可能となる制御で
あるため、この時に同期したクロックを双方に入力して
同期動作させることは必須である。これらの制御により
一回の処理におけるデータ幅がCPUとフラッシュメモ
リで異なる場合にも、データ幅が揃うまでCPUを待機
させることにより容易に対応可能である。
【0019】ファイル管理上一度連続セクタで扱ったも
のを後から分割することは通常あり得ない。すなわち、
ファイルシステムはファイル単位でしかアクセスされな
い。したがって、複数セクタの連続アクセスの場合は書
き込みの時点で複数チップを同時アクセスして複数セク
タを並列使用するようにすれば、読み出しの際に同様の
並列アクセスをすれば書き込んだままのファイルのデー
タを得ることができる。
のを後から分割することは通常あり得ない。すなわち、
ファイルシステムはファイル単位でしかアクセスされな
い。したがって、複数セクタの連続アクセスの場合は書
き込みの時点で複数チップを同時アクセスして複数セク
タを並列使用するようにすれば、読み出しの際に同様の
並列アクセスをすれば書き込んだままのファイルのデー
タを得ることができる。
【0020】以上のように、本発明によればフラッシュ
メモリを記憶媒体とするファイル記憶装置を搭載した情
報処理装置において、磁気ディスク装置と比較して優位
性が大きいアクセス性能において、最大限の性能を引き
出せるようシステムとの同期制御を行う。その際にシス
テムのCPUに入力するレディ信号により適宜CPUを
待機状態においてタイミングを合わせる。システムのデ
ータバス幅とフラッシュメモリ1チップのアクセスデー
タビット数が異なる場合でも、できるかぎり高速にアク
セスすることが可能になる。
メモリを記憶媒体とするファイル記憶装置を搭載した情
報処理装置において、磁気ディスク装置と比較して優位
性が大きいアクセス性能において、最大限の性能を引き
出せるようシステムとの同期制御を行う。その際にシス
テムのCPUに入力するレディ信号により適宜CPUを
待機状態においてタイミングを合わせる。システムのデ
ータバス幅とフラッシュメモリ1チップのアクセスデー
タビット数が異なる場合でも、できるかぎり高速にアク
セスすることが可能になる。
【0021】特にアクセス速度がユーザに認識されやす
い大容量のファイルのリードライトすなわち連続セクタ
アクセスにおいて効果が大きい。また、システムのデー
タバス幅とフラッシュメモリ1チップのアクセスデータ
ビット数は用途、性能、時代によって異なるが、様々な
ものに対応できる柔軟性の高い構成を可能とする。また
メモリをインタリーブアクセスして高速化する方法にも
応用できる。
い大容量のファイルのリードライトすなわち連続セクタ
アクセスにおいて効果が大きい。また、システムのデー
タバス幅とフラッシュメモリ1チップのアクセスデータ
ビット数は用途、性能、時代によって異なるが、様々な
ものに対応できる柔軟性の高い構成を可能とする。また
メモリをインタリーブアクセスして高速化する方法にも
応用できる。
【0022】連鎖情報を備える構成によれば、システム
からのアクセス手順を簡略化し高速アクセスを援助す
る。そしてファイル管理自体を簡略化でき、コントロー
ル回路や制御プログラムなどの簡素化が図れる。
からのアクセス手順を簡略化し高速アクセスを援助す
る。そしてファイル管理自体を簡略化でき、コントロー
ル回路や制御プログラムなどの簡素化が図れる。
【0023】また、メモリ素子の中にデータ分配機能を
備えることにより、周辺回路の削減、データ処理の高速
化が図れる。
備えることにより、周辺回路の削減、データ処理の高速
化が図れる。
【0024】
【実施例】以下、本発明における実施例を図を用いて詳
細に説明する。
細に説明する。
【0025】まず、図1に標準的なパーソナルコンピュ
ータの構成に本発明のフラッシュメモリファイル装置を
設置したものを示す。図中、1はデータやプログラムの
処理を司るCPUであり、そのデータバス幅は32ビッ
トであるものとする。2はシステム全体の同期クロック
を発生するクロック発生器である。3はシステム内部の
バスでデータバス、アドレスバス、メモリコマンド、I
Oコマンドなどを含む。4は本発明のフラッシュメモリ
ファイル装置のファイル管理やメモリ制御を行うファイ
ル制御回路である。5は、フラッシュメモリファイル装
置の記憶媒体となるフラッシュメモリアレイであり、1
チップのアクセスデータビット数は8ビットであるとす
る。6はシステムの主記憶を管理制御する主記憶制御回
路、7は主記憶であるDRAMである。8は周辺IOバ
スの制御回路であり、周辺IO装置の一つとして表示制
御回路9と表示装置10が接続されている。この他の周
辺IO装置として、通信装置11や外部大容量記憶装置
12などが挙げられる。
ータの構成に本発明のフラッシュメモリファイル装置を
設置したものを示す。図中、1はデータやプログラムの
処理を司るCPUであり、そのデータバス幅は32ビッ
トであるものとする。2はシステム全体の同期クロック
を発生するクロック発生器である。3はシステム内部の
バスでデータバス、アドレスバス、メモリコマンド、I
Oコマンドなどを含む。4は本発明のフラッシュメモリ
ファイル装置のファイル管理やメモリ制御を行うファイ
ル制御回路である。5は、フラッシュメモリファイル装
置の記憶媒体となるフラッシュメモリアレイであり、1
チップのアクセスデータビット数は8ビットであるとす
る。6はシステムの主記憶を管理制御する主記憶制御回
路、7は主記憶であるDRAMである。8は周辺IOバ
スの制御回路であり、周辺IO装置の一つとして表示制
御回路9と表示装置10が接続されている。この他の周
辺IO装置として、通信装置11や外部大容量記憶装置
12などが挙げられる。
【0026】通常、周辺IOバス制御回路8には別のク
ロック発生回路が内蔵されており、これら周辺IO装置
はそのクロックの周期に基づいて動作する。しかし高速
化のために内部システムバス3に直接接続して、CPU
1と同期動作するものも考えられる。13は、内部シス
テムバス3に接続された回路を同期させるためにCPU
1を含む各回路に供給されるクロック信号である。但
し、CPU1に与えられるクロックと全く同一である必
要はなく、回路によっては分周したものでも同期してい
れば良い。
ロック発生回路が内蔵されており、これら周辺IO装置
はそのクロックの周期に基づいて動作する。しかし高速
化のために内部システムバス3に直接接続して、CPU
1と同期動作するものも考えられる。13は、内部シス
テムバス3に接続された回路を同期させるためにCPU
1を含む各回路に供給されるクロック信号である。但
し、CPU1に与えられるクロックと全く同一である必
要はなく、回路によっては分周したものでも同期してい
れば良い。
【0027】14は、CPU1に入力されるレディ制御
信号であり、各回路より出力された状態提示信号をレデ
ィ制御回路15で統括してCPU1に入力される。16
は、本システムの使用者が所望の処理を指示するための
入力装置の制御回路であり、17は入力装置である。図
では入力装置17をキーボードとし、その制御回路16
はキーボードコントローラ(KBDC)としている。
信号であり、各回路より出力された状態提示信号をレデ
ィ制御回路15で統括してCPU1に入力される。16
は、本システムの使用者が所望の処理を指示するための
入力装置の制御回路であり、17は入力装置である。図
では入力装置17をキーボードとし、その制御回路16
はキーボードコントローラ(KBDC)としている。
【0028】次に、図1のシステムの動作を説明する。
通常の動作時は、使用者から入力装置17により指示さ
れた処理を実行すべく主記憶7に格納されているプログ
ラムやデータをCPU1が演算処理し、その結果を表示
装置10に表示する。また必要であれば通信装置11を
起動したり、大容量外部記憶装置12へ大容量データの
格納を行う。そして、ファイルを引き出したり格納した
りという動作の際にはファイル制御回路4とフラッシュ
メモリ5からなるフラッシュメモリファイル装置を動作
させる。システムの立ち上げ時もここからシステムプロ
グラムをロードすることになる。これらの動作の際に
は、クロック発生器2が発生するクロック13により同
期動作し、ある回路がCPU1に待機を要求する必要が
生じたら、その回路がレディ制御回路15にCPU待機
を要求し、レディ信号14のネゲートによりCPU1に
それが伝えられる。CPU1はレディ信号14が再度ア
サートされるまで待機を続けることになる。この時、フ
ァイル制御回路4はCPU1に要求されるファイル数に
よりCPU待機時間を増減する制御を行えるようになっ
ている。この仕組みを図2により説明する。
通常の動作時は、使用者から入力装置17により指示さ
れた処理を実行すべく主記憶7に格納されているプログ
ラムやデータをCPU1が演算処理し、その結果を表示
装置10に表示する。また必要であれば通信装置11を
起動したり、大容量外部記憶装置12へ大容量データの
格納を行う。そして、ファイルを引き出したり格納した
りという動作の際にはファイル制御回路4とフラッシュ
メモリ5からなるフラッシュメモリファイル装置を動作
させる。システムの立ち上げ時もここからシステムプロ
グラムをロードすることになる。これらの動作の際に
は、クロック発生器2が発生するクロック13により同
期動作し、ある回路がCPU1に待機を要求する必要が
生じたら、その回路がレディ制御回路15にCPU待機
を要求し、レディ信号14のネゲートによりCPU1に
それが伝えられる。CPU1はレディ信号14が再度ア
サートされるまで待機を続けることになる。この時、フ
ァイル制御回路4はCPU1に要求されるファイル数に
よりCPU待機時間を増減する制御を行えるようになっ
ている。この仕組みを図2により説明する。
【0029】図2は、フラッシュメモリファイル装置の
内部構成を説明する図である。図中、3、4、5、13
は図1と同様のものであり、以下はファイル制御回路4
内部の構成要素である。21は、システムバス3とイン
タフェースを行うレジスタ群であり、22はファイル制
御回路4の状態をCPU1に報告するためのステータス
レジスタ、23はアクセスするスタートセクタ番号の設
定レジスタ、24はアクセスする最後のセクタ番号の設
定レジスタ、25はCPU1が要求する処理をコマンド
コードとして指示するコマンドレジスタ、26はシステ
ムバスとのデータの授受を行う窓となるデータレジスタ
である。27は、ファイル制御回路4内部の制御を統括
するコントローラであり、ワンチップマイコンなどのプ
ログラム可能なインテリジェントなLSIが理想的であ
る。28は記憶媒体であるフラッシュメモリ5の制御を
行う制御回路、29はフラッシュメモリに書き込みある
いは読み出すデータの制御を行うデータ制御回路であ
る。30はメモリのアクセスを高速に行うためのDMA
制御回路であり、システムのクロック信号13は本回路
に入力される。31はレディ制御回路15に出力する状
態提示信号、32はこのフラッシュメモリファイル装置
内のローカルバス、33はフラッシュメモリをアクセス
するための制御信号及びアドレスである。
内部構成を説明する図である。図中、3、4、5、13
は図1と同様のものであり、以下はファイル制御回路4
内部の構成要素である。21は、システムバス3とイン
タフェースを行うレジスタ群であり、22はファイル制
御回路4の状態をCPU1に報告するためのステータス
レジスタ、23はアクセスするスタートセクタ番号の設
定レジスタ、24はアクセスする最後のセクタ番号の設
定レジスタ、25はCPU1が要求する処理をコマンド
コードとして指示するコマンドレジスタ、26はシステ
ムバスとのデータの授受を行う窓となるデータレジスタ
である。27は、ファイル制御回路4内部の制御を統括
するコントローラであり、ワンチップマイコンなどのプ
ログラム可能なインテリジェントなLSIが理想的であ
る。28は記憶媒体であるフラッシュメモリ5の制御を
行う制御回路、29はフラッシュメモリに書き込みある
いは読み出すデータの制御を行うデータ制御回路であ
る。30はメモリのアクセスを高速に行うためのDMA
制御回路であり、システムのクロック信号13は本回路
に入力される。31はレディ制御回路15に出力する状
態提示信号、32はこのフラッシュメモリファイル装置
内のローカルバス、33はフラッシュメモリをアクセス
するための制御信号及びアドレスである。
【0030】次に図2のフラッシュメモリファイル装置
の動作を説明する。CPU1はフラッシュメモリファイ
ル装置へのアクセスの必要性が生じたら、システムバス
3を通してアクセスを行う。それにはまずステータスレ
ジスタ22の内容を読み出してアクセス可能な状況か確
認する。そして次にアクセスするセクタをスタートセク
タレジスタ23とエンドセクタレジスタ24に設定す
る。そして要求するアクセスのコマンドコード(リード
またはライト)をコマンドレジスタ25に書き込む。そ
して再びステータスレジスタ22を読み出し、アクセス
可能であればデータレジスタ26へのデータの書き込み
あるいは読み出しを行う。
の動作を説明する。CPU1はフラッシュメモリファイ
ル装置へのアクセスの必要性が生じたら、システムバス
3を通してアクセスを行う。それにはまずステータスレ
ジスタ22の内容を読み出してアクセス可能な状況か確
認する。そして次にアクセスするセクタをスタートセク
タレジスタ23とエンドセクタレジスタ24に設定す
る。そして要求するアクセスのコマンドコード(リード
またはライト)をコマンドレジスタ25に書き込む。そ
して再びステータスレジスタ22を読み出し、アクセス
可能であればデータレジスタ26へのデータの書き込み
あるいは読み出しを行う。
【0031】この際、コントローラ27はこれらインタ
フェースレジスタ21の管理を行い、CPU1からの要
求に応えるようにする。つまりスタートセクタレジスタ
23やエンドセクタレジスタ24、コマンドレジスタ2
5を読み取ってフラッシュメモリ5のアクセス内容を把
握し、現在の状態を示すコードをステータスレジスタ2
2に書き込んでCPU1に報告する。
フェースレジスタ21の管理を行い、CPU1からの要
求に応えるようにする。つまりスタートセクタレジスタ
23やエンドセクタレジスタ24、コマンドレジスタ2
5を読み取ってフラッシュメモリ5のアクセス内容を把
握し、現在の状態を示すコードをステータスレジスタ2
2に書き込んでCPU1に報告する。
【0032】コントローラ27はCPU1からのアクセ
ス要求に応えるためのフラッシュメモリアクセスを直接
行うには動作速度が遅いことが考えられるので、DMA
制御回路30により高速にフラッシュメモリアクセスを
行い、システムバス3とのデータの授受を行う構成とし
ている。そのためのDMA制御回路30やメモリ制御回
路28へのアクセス内容の設定やDMAの起動などをコ
ントローラ27が行うことになる。
ス要求に応えるためのフラッシュメモリアクセスを直接
行うには動作速度が遅いことが考えられるので、DMA
制御回路30により高速にフラッシュメモリアクセスを
行い、システムバス3とのデータの授受を行う構成とし
ている。そのためのDMA制御回路30やメモリ制御回
路28へのアクセス内容の設定やDMAの起動などをコ
ントローラ27が行うことになる。
【0033】DMA制御回路30はDMAを行うための
アドレス発生及びタイミング生成を行い、メモリ制御回
路28はそのタイミングに従いアクセス信号を発生す
る。フラッシュメモリ5はこれらの入力信号によりデー
タ制御回路29とデータの授受を行う。データ制御回路
29はアクセスのセクタ数に応じてデータの生成を行
う。
アドレス発生及びタイミング生成を行い、メモリ制御回
路28はそのタイミングに従いアクセス信号を発生す
る。フラッシュメモリ5はこれらの入力信号によりデー
タ制御回路29とデータの授受を行う。データ制御回路
29はアクセスのセクタ数に応じてデータの生成を行
う。
【0034】例えば、1セクタのライトアクセスであれ
ばシステムバス3からの1回のアクセスにより送られる
データをフラッシュメモリの1チップの書き込みビット
数に合致させる。本実施例では、システムバス3のデー
タバス幅を32ビットとしているため1回のアクセスに
よる転送で32ビットのデータが得られる。そしてフラ
ッシュメモリ1チップのデータ幅を8ビットとしている
ので送られたデータを4回に分けてフラッシュメモリ5
に書き込むことになる。そのために32ビットデータを
4つの8ビットデータへ分割する処理を、データ制御回
路29がラッチ回路を用いて行う。また逆に1セクタの
リードアクセスであれば、フラッシュメモリ5を4回リ
ードアクセスして32ビットデータを用意して、1回の
バス転送とする。この際に生ずるシステムバス3の待ち
時間はデータ制御回路29が発生する状態提示信号31
によるCPU1への待機要求で生じさせる。
ばシステムバス3からの1回のアクセスにより送られる
データをフラッシュメモリの1チップの書き込みビット
数に合致させる。本実施例では、システムバス3のデー
タバス幅を32ビットとしているため1回のアクセスに
よる転送で32ビットのデータが得られる。そしてフラ
ッシュメモリ1チップのデータ幅を8ビットとしている
ので送られたデータを4回に分けてフラッシュメモリ5
に書き込むことになる。そのために32ビットデータを
4つの8ビットデータへ分割する処理を、データ制御回
路29がラッチ回路を用いて行う。また逆に1セクタの
リードアクセスであれば、フラッシュメモリ5を4回リ
ードアクセスして32ビットデータを用意して、1回の
バス転送とする。この際に生ずるシステムバス3の待ち
時間はデータ制御回路29が発生する状態提示信号31
によるCPU1への待機要求で生じさせる。
【0035】一方、複数セクタのアクセスの場合は、デ
ータ制御回路29がラッチするデータを調節してアクセ
スを高速化して正常実行する。例えば4セクタの連続リ
ードアクセスであれば、8ビットアクセスのフラッシュ
メモリ5を4チップ同時にリードすることにより32ビ
ットのデータが完成するため、システムバス3の待ち時
間を大きく減らすことができる。ただしフラッシュメモ
リ5への書き込みの時点で4チップ同時ライトアクセス
を行っておく必要がある。そうしないとデータの順番が
異なってしまい正常なファイルデータではなくなる。た
だし、ファイル記憶装置を扱うシステムでは、ファイル
単位で管理を行うのが一般的であるため、書き込んだと
きのセクタ数と同じセクタ数をリードアクセスするのが
普通であり、セクタ数によるアクセスの形式をライトと
リードで全く等しくしていれば先述の情報を記録する必
要はない。つまり、例えば5セクタの連続ライトの際に
は最初の4セクタは4チップに並列に同時書き込みし、
残る1セクタは1チップに4分割する、というアクセス
形式をリードとライトのいずれにおいても採用すれば常
に正常なファイルデータをアクセスできる。なお、念の
ために、フラッシュメモリ5に格納されているセクタ単
位のデータに、データ格納形式の情報を記録しておいて
もよい。その記録場所としてはフラッシュメモリのデー
タ格納領域以外の冗長領域が存在すればそこに格納する
のが適当であり、冗長領域がない場合は別の記憶領域を
設置して記録する。
ータ制御回路29がラッチするデータを調節してアクセ
スを高速化して正常実行する。例えば4セクタの連続リ
ードアクセスであれば、8ビットアクセスのフラッシュ
メモリ5を4チップ同時にリードすることにより32ビ
ットのデータが完成するため、システムバス3の待ち時
間を大きく減らすことができる。ただしフラッシュメモ
リ5への書き込みの時点で4チップ同時ライトアクセス
を行っておく必要がある。そうしないとデータの順番が
異なってしまい正常なファイルデータではなくなる。た
だし、ファイル記憶装置を扱うシステムでは、ファイル
単位で管理を行うのが一般的であるため、書き込んだと
きのセクタ数と同じセクタ数をリードアクセスするのが
普通であり、セクタ数によるアクセスの形式をライトと
リードで全く等しくしていれば先述の情報を記録する必
要はない。つまり、例えば5セクタの連続ライトの際に
は最初の4セクタは4チップに並列に同時書き込みし、
残る1セクタは1チップに4分割する、というアクセス
形式をリードとライトのいずれにおいても採用すれば常
に正常なファイルデータをアクセスできる。なお、念の
ために、フラッシュメモリ5に格納されているセクタ単
位のデータに、データ格納形式の情報を記録しておいて
もよい。その記録場所としてはフラッシュメモリのデー
タ格納領域以外の冗長領域が存在すればそこに格納する
のが適当であり、冗長領域がない場合は別の記憶領域を
設置して記録する。
【0036】6セクタの連続アクセスに際しては、4セ
クタの並列アクセスと2セクタの並列アクセスにより処
理を行う。
クタの並列アクセスと2セクタの並列アクセスにより処
理を行う。
【0037】次に、これらのアクセス信号およびデータ
制御方法を図3によりさらに詳しく説明する。
制御方法を図3によりさらに詳しく説明する。
【0038】図3では、システムバスを32ビット、フ
ラッシュメモリを8ビットのビット幅としたときの構成
を示している。図中、既出の番号はこれまでに説明した
ものと同一のものである。新たに、41は、DMA制御
回路30のアドレス発生のためのカウンタであり、シス
テムクロック13やシステムバス3のIOアクセス(コ
マンド)信号あるいはメモリアクセス(コマンド)信号
を入力し、これに同期してカウントアップする。42
は、コントローラ27のローカルバス32が接続される
DMA制御の起動レジスタであり、このレジスタにコー
ドを書き込むことにより所望のDMA転送を開始するこ
とができる。43は、やはりローカルバス32に接続さ
れるセクタ番号レジスタであり、アクセスするセクタ番
号を書き込むことにより任意のセクタ番号のDMA転送
を行うことができる。実動作上は、このセクタ番号の書
き込み値をメモリ制御回路28に入力してフラッシュメ
モリの上位アドレスやチップセレクト信号の生成に使用
される。44は、DMA転送時に各制御回路で同期をと
るためのタイミング信号を発生するタイミング回路であ
る。45は、カウンタ41とセクタレジスタ43の値に
基づいてメモリ制御回路28が発生するメモリアドレス
である。46は、メモリアドレス45の発生に合わせて
生成するメモリ制御信号である。51、52、53、5
4は、各々1バイト(8ビット)のデータラッチであ
り、データ制御回路29内における32ビットデータと
8ビットデータとの間のデータ幅変換のための4バイト
(32ビット)のデータラッチを構成している。システ
ムバス3のデータをD0〜D31とすると、ラッチ51
はD0〜D7、ラッチ52はD8〜D15、ラッチ53
はD16〜D23、ラッチ54はD24〜D31をそれ
ぞれラッチする。55は、これらデータラッチのラッチ
信号発生回路である。56は、ローカルバス32と接続
されてデータ幅やデータの並び方を設定するデータ制御
設定レジスタである。本実施例では、このデータ制御設
定レジスタ56にリードアクセス時の連続アクセスセク
タ数として“1"、“2"、“4"のいずれかを設定する
ことによりラッチ信号の発生とそのタイミングをラッチ
信号発生回路55に指示する。そしてデータラッチ5
1、52、53、54のそれぞれに入力するラッチ信号
が57、58、59、60である。例えば“1"を設定
すれば、ラッチ信号57、58、59、60を順次一つ
ずつ出力し、1チップのフラッシュメモリからのデータ
を4回アクセスして32ビットのデータを生成してシス
テムバス3に出力する。また“2"を設定すれば、ラッ
チ信号57、58を同時に出力し、その後ラッチ信号5
9、60に同時に出力するということを交互に行い、2
チップのフラッシュメモリからのデータを2回ずつアク
セスして32ビットのデータを生成してシステムバス3
に出力する。また“4"を設定すればラッチ信号57、
58、59、60に同時に出力して、4チップのフラッ
シュメモリからのデータを1回だけアクセスして32ビ
ットのデータを生成してシステムバス3に出力する。
ラッシュメモリを8ビットのビット幅としたときの構成
を示している。図中、既出の番号はこれまでに説明した
ものと同一のものである。新たに、41は、DMA制御
回路30のアドレス発生のためのカウンタであり、シス
テムクロック13やシステムバス3のIOアクセス(コ
マンド)信号あるいはメモリアクセス(コマンド)信号
を入力し、これに同期してカウントアップする。42
は、コントローラ27のローカルバス32が接続される
DMA制御の起動レジスタであり、このレジスタにコー
ドを書き込むことにより所望のDMA転送を開始するこ
とができる。43は、やはりローカルバス32に接続さ
れるセクタ番号レジスタであり、アクセスするセクタ番
号を書き込むことにより任意のセクタ番号のDMA転送
を行うことができる。実動作上は、このセクタ番号の書
き込み値をメモリ制御回路28に入力してフラッシュメ
モリの上位アドレスやチップセレクト信号の生成に使用
される。44は、DMA転送時に各制御回路で同期をと
るためのタイミング信号を発生するタイミング回路であ
る。45は、カウンタ41とセクタレジスタ43の値に
基づいてメモリ制御回路28が発生するメモリアドレス
である。46は、メモリアドレス45の発生に合わせて
生成するメモリ制御信号である。51、52、53、5
4は、各々1バイト(8ビット)のデータラッチであ
り、データ制御回路29内における32ビットデータと
8ビットデータとの間のデータ幅変換のための4バイト
(32ビット)のデータラッチを構成している。システ
ムバス3のデータをD0〜D31とすると、ラッチ51
はD0〜D7、ラッチ52はD8〜D15、ラッチ53
はD16〜D23、ラッチ54はD24〜D31をそれ
ぞれラッチする。55は、これらデータラッチのラッチ
信号発生回路である。56は、ローカルバス32と接続
されてデータ幅やデータの並び方を設定するデータ制御
設定レジスタである。本実施例では、このデータ制御設
定レジスタ56にリードアクセス時の連続アクセスセク
タ数として“1"、“2"、“4"のいずれかを設定する
ことによりラッチ信号の発生とそのタイミングをラッチ
信号発生回路55に指示する。そしてデータラッチ5
1、52、53、54のそれぞれに入力するラッチ信号
が57、58、59、60である。例えば“1"を設定
すれば、ラッチ信号57、58、59、60を順次一つ
ずつ出力し、1チップのフラッシュメモリからのデータ
を4回アクセスして32ビットのデータを生成してシス
テムバス3に出力する。また“2"を設定すれば、ラッ
チ信号57、58を同時に出力し、その後ラッチ信号5
9、60に同時に出力するということを交互に行い、2
チップのフラッシュメモリからのデータを2回ずつアク
セスして32ビットのデータを生成してシステムバス3
に出力する。また“4"を設定すればラッチ信号57、
58、59、60に同時に出力して、4チップのフラッ
シュメモリからのデータを1回だけアクセスして32ビ
ットのデータを生成してシステムバス3に出力する。
【0039】一方、ライトアクセスの時は常にデータラ
ッチ51、52、53、54に同時にラッチ信号を送っ
てシステムからの32ビットデータを一度にラッチする
ことになる。61は、データラッチ51、52、53、
54に格納されたデータあるいはメモリ5からのデータ
を振り分けるデータ分配回路である。62は、フラッシ
ュメモリ5とデータ分配回路61を結ぶ32ビットのデ
ータバスである。63は、データ分配回路61のデータ
の方向を決定するためのリードライト信号であり、イン
タフェースレジスタ21のコマンドレジスタ25などか
ら供給を受けるのが良い。データ分配回路61は双方向
のバッファになっており、片側はデータラッチ51、5
2、53、54に接続され、もう一方はフラッシュメモ
リ5に接続されている。フラッシュメモリ5側では32
ビット分の入力となっており、フラッシュメモリ5の全
チップを4組に分けて1組ずつ別のビット群(ビット0
〜7)(ビット8〜15)(ビット16〜23)(ビッ
ト24〜31)に分け、計32ビットとして入力してい
る。そしてリードかライトかによって方向を定め、それ
ぞれのデータの振り分けをデータ制御設定レジスタ56
の設定内容によって決定する。
ッチ51、52、53、54に同時にラッチ信号を送っ
てシステムからの32ビットデータを一度にラッチする
ことになる。61は、データラッチ51、52、53、
54に格納されたデータあるいはメモリ5からのデータ
を振り分けるデータ分配回路である。62は、フラッシ
ュメモリ5とデータ分配回路61を結ぶ32ビットのデ
ータバスである。63は、データ分配回路61のデータ
の方向を決定するためのリードライト信号であり、イン
タフェースレジスタ21のコマンドレジスタ25などか
ら供給を受けるのが良い。データ分配回路61は双方向
のバッファになっており、片側はデータラッチ51、5
2、53、54に接続され、もう一方はフラッシュメモ
リ5に接続されている。フラッシュメモリ5側では32
ビット分の入力となっており、フラッシュメモリ5の全
チップを4組に分けて1組ずつ別のビット群(ビット0
〜7)(ビット8〜15)(ビット16〜23)(ビッ
ト24〜31)に分け、計32ビットとして入力してい
る。そしてリードかライトかによって方向を定め、それ
ぞれのデータの振り分けをデータ制御設定レジスタ56
の設定内容によって決定する。
【0040】このデータの分配について図12、図1
3、図14により具体的に説明する。これらの図は、デ
ータ分配回路61のデータ分配例をデータ制御設定レジ
スタ56の設定値別に示したものである。それぞれ、図
12は連続アクセスセクタ数が1、図13は連続アクセ
スセクタ数が2、図14は連続アクセスセクタ数が4、
である場合におけるデータ分配を示しており、各場合に
4つのメモリ群のどれにアクセスするかにより4種類の
データ分配がある。またリードライトも区別されてい
る。連続アクセスセクタ数が1の場合には4つのシステ
ムサイクルで1アクセスとなり、連続アクセスセクタ数
が2の場合には2つのシステムサイクルで1アクセス、
連続アクセスセクタ数が4の場合には1つのシステムサ
イクルで1アクセスとなる。
3、図14により具体的に説明する。これらの図は、デ
ータ分配回路61のデータ分配例をデータ制御設定レジ
スタ56の設定値別に示したものである。それぞれ、図
12は連続アクセスセクタ数が1、図13は連続アクセ
スセクタ数が2、図14は連続アクセスセクタ数が4、
である場合におけるデータ分配を示しており、各場合に
4つのメモリ群のどれにアクセスするかにより4種類の
データ分配がある。またリードライトも区別されてい
る。連続アクセスセクタ数が1の場合には4つのシステ
ムサイクルで1アクセスとなり、連続アクセスセクタ数
が2の場合には2つのシステムサイクルで1アクセス、
連続アクセスセクタ数が4の場合には1つのシステムサ
イクルで1アクセスとなる。
【0041】連続アクセスセクタ数が1の場合は4つに
分割したメモリのどこにアクセスするかにより4種類に
分けられるが、連続アクセス数が2及び4においては、
どのメモリ群を起点にするかによりやはり4種類に分か
れる。すなわちメモリの使われ方により起点を適宜決め
ることができ、このようにすることにより使用されるメ
モリ群が偏ることを防ぐことができる。例えば必ずメモ
リ群1を起点にするとデータの分配法は簡素化できる
が、メモリ群1が使用される比率が高くなり使用量、使
用頻度ともに偏りが生じることが予想できる。偏りが生
じると最終的には、一つのメモリ群が使用できなくな
り、連続セクタ数が4の高速書き込みアクセスができな
くなってしまうことになる。従って起点は全てのメモリ
群に設定可能とする。
分割したメモリのどこにアクセスするかにより4種類に
分けられるが、連続アクセス数が2及び4においては、
どのメモリ群を起点にするかによりやはり4種類に分か
れる。すなわちメモリの使われ方により起点を適宜決め
ることができ、このようにすることにより使用されるメ
モリ群が偏ることを防ぐことができる。例えば必ずメモ
リ群1を起点にするとデータの分配法は簡素化できる
が、メモリ群1が使用される比率が高くなり使用量、使
用頻度ともに偏りが生じることが予想できる。偏りが生
じると最終的には、一つのメモリ群が使用できなくな
り、連続セクタ数が4の高速書き込みアクセスができな
くなってしまうことになる。従って起点は全てのメモリ
群に設定可能とする。
【0042】なお、連続セクタ数が1または2のリード
においては、図では分配回路のデータ結線をそれぞれの
サイクルにおいて別々にしているが、ラッチ信号を目的
のラッチ以外には出力しないため、各サイクルで分ける
ことなく結線を一緒にしてもよい。つまり連続セクタ数
が1(図12)のAのリードにおいては、分配を順次の
サイクルで、ラッチ1−メモリ群1、ラッチ2−メモリ
群1、ラッチ3−メモリ群1、ラッチ4−メモリ群1と
しているが、全てのサイクルで全てのラッチへの結線を
メモリ群の1に接続しても構わない。これはデータの結
線をしていてもラッチ信号を出力しなければ影響がない
からである。
においては、図では分配回路のデータ結線をそれぞれの
サイクルにおいて別々にしているが、ラッチ信号を目的
のラッチ以外には出力しないため、各サイクルで分ける
ことなく結線を一緒にしてもよい。つまり連続セクタ数
が1(図12)のAのリードにおいては、分配を順次の
サイクルで、ラッチ1−メモリ群1、ラッチ2−メモリ
群1、ラッチ3−メモリ群1、ラッチ4−メモリ群1と
しているが、全てのサイクルで全てのラッチへの結線を
メモリ群の1に接続しても構わない。これはデータの結
線をしていてもラッチ信号を出力しなければ影響がない
からである。
【0043】さらに具体的な説明を加えれば、例えば1
セクタのライトアクセスでは図12を参照し、32ビッ
トのデータバス62のうちアクセス対象のフラッシュメ
モリ群の1つに接続された1バイトを、1回目ではデー
タラッチ51に、2回目ではデータラッチ52に、3回
目ではデータラッチ53に、4回目ではデータラッチ5
4に、以下51から順番に繰り返してフラッシュメモリ
への書き込みを行う。リードにおいては、ラッチ信号に
より1サイクルずつ各ラッチにデータを振り分ける。
セクタのライトアクセスでは図12を参照し、32ビッ
トのデータバス62のうちアクセス対象のフラッシュメ
モリ群の1つに接続された1バイトを、1回目ではデー
タラッチ51に、2回目ではデータラッチ52に、3回
目ではデータラッチ53に、4回目ではデータラッチ5
4に、以下51から順番に繰り返してフラッシュメモリ
への書き込みを行う。リードにおいては、ラッチ信号に
より1サイクルずつ各ラッチにデータを振り分ける。
【0044】2セクタのライトアクセスでは、すなわち
データ幅2バイトのライトであれば、図13より32ビ
ットのデータバス62のうち該当する2つのメモリ群に
接続されている2バイトのデータとして1回目のアクセ
スではデータラッチ51、52より、2回目のアクセス
では53、54よりデータを受け取り、以下交互に振り
分ける。一方、リードアクセスでは方向が逆になり、該
当する2つのメモリ群から1回目のアクセスではデータ
ラッチ51、52に、2回目のアクセスでは53、54
にデータを振り分け、これを繰り返す。
データ幅2バイトのライトであれば、図13より32ビ
ットのデータバス62のうち該当する2つのメモリ群に
接続されている2バイトのデータとして1回目のアクセ
スではデータラッチ51、52より、2回目のアクセス
では53、54よりデータを受け取り、以下交互に振り
分ける。一方、リードアクセスでは方向が逆になり、該
当する2つのメモリ群から1回目のアクセスではデータ
ラッチ51、52に、2回目のアクセスでは53、54
にデータを振り分け、これを繰り返す。
【0045】4セクタのライトアクセス、すなわちデー
タ幅4バイトのライトであればバッファの方向はデータ
ラッチからフラッシュメモリ5の方向となり、32ビッ
トのデータバス62は先頭に当たるメモリ群から順にデ
ータラッチ51、52、53、54に接続され、1サイ
クルのアクセスで32ビットのアクセスが完了する。リ
ードでは方向が逆になる。
タ幅4バイトのライトであればバッファの方向はデータ
ラッチからフラッシュメモリ5の方向となり、32ビッ
トのデータバス62は先頭に当たるメモリ群から順にデ
ータラッチ51、52、53、54に接続され、1サイ
クルのアクセスで32ビットのアクセスが完了する。リ
ードでは方向が逆になる。
【0046】以上の動作を行うためにコントローラ27
はDMA制御回路30に起動をかける前に、これまでに
説明したレジスタ類に適切な値を設定しておく必要があ
る。
はDMA制御回路30に起動をかける前に、これまでに
説明したレジスタ類に適切な値を設定しておく必要があ
る。
【0047】高速化のために、前述のように、複数のメ
モリ群に同時にアクセスを行う場合、各メモリ群に与え
るアドレスについて、以下、図5を参照して検討する。
モリ群に同時にアクセスを行う場合、各メモリ群に与え
るアドレスについて、以下、図5を参照して検討する。
【0048】図5において、81〜84は、それぞれメ
モリ群1〜4を示している。同図(1)は、ある程度の
ファイルの書込みが行われた状態を示し、同図(2)
は、その後、あるファイルについて更新されそのファイ
ル容量が増えた状態を示している。図示のデータ記号
(m−n)のmはファイル番号、nは各ファイル内のセ
クタ番号である。例えば、(3−2)は、ファイル番号
3番の2セクタめを示す。但し、この図は、各ファイル
の1以上のセクタに対して、どのメモリ群のエリア(1
セクタ分の容量を有する)がどのように利用されるかを
総体的に示したものであり、実際には、2以上のセクタ
の連続アクセス時には、各メモリ群の1セクタ容量エリ
ア内に単独のセクタ内容のみが格納されるのではなく、
複数のセクタの内容が分散して格納される。この点に関
しては、ファイル管理の説明において後に詳述する。
モリ群1〜4を示している。同図(1)は、ある程度の
ファイルの書込みが行われた状態を示し、同図(2)
は、その後、あるファイルについて更新されそのファイ
ル容量が増えた状態を示している。図示のデータ記号
(m−n)のmはファイル番号、nは各ファイル内のセ
クタ番号である。例えば、(3−2)は、ファイル番号
3番の2セクタめを示す。但し、この図は、各ファイル
の1以上のセクタに対して、どのメモリ群のエリア(1
セクタ分の容量を有する)がどのように利用されるかを
総体的に示したものであり、実際には、2以上のセクタ
の連続アクセス時には、各メモリ群の1セクタ容量エリ
ア内に単独のセクタ内容のみが格納されるのではなく、
複数のセクタの内容が分散して格納される。この点に関
しては、ファイル管理の説明において後に詳述する。
【0049】図5(1)において、ファイル番号1(1
−nと付されている全てのセクタ)のアクセスにおい
て、1−1から1−4までの同時アクセスにおいては、
これらが同じ列に並んでいるため、各メモリ群に同一の
アドレスを与えることができる。しかし、ファイル番号
2においては、2−1から2−4までを同時アクセス使
用とすると、メモリ群4には他のメモリ群とは異なるア
ドレスを与える必要がある。これは、アドレスバスをメ
モリの数だけ設ける必要があることを意味する。あるい
は、メモリ群に異なるアドレスを与えるなんらかの方法
が必要となる。従って、これを避けるためには、ファイ
ル番号2のアクセスにおいては、2−1は単独でアクセ
スし、2−2、2−3を同時アクセスし、さらに2−4
は再度単独でアクセスするというアクセス形式をとる必
要がある。しかし、これでは高速化においては無駄が生
じる。そこで、異なるアドレスを与える構成例を図9に
より説明する。
−nと付されている全てのセクタ)のアクセスにおい
て、1−1から1−4までの同時アクセスにおいては、
これらが同じ列に並んでいるため、各メモリ群に同一の
アドレスを与えることができる。しかし、ファイル番号
2においては、2−1から2−4までを同時アクセス使
用とすると、メモリ群4には他のメモリ群とは異なるア
ドレスを与える必要がある。これは、アドレスバスをメ
モリの数だけ設ける必要があることを意味する。あるい
は、メモリ群に異なるアドレスを与えるなんらかの方法
が必要となる。従って、これを避けるためには、ファイ
ル番号2のアクセスにおいては、2−1は単独でアクセ
スし、2−2、2−3を同時アクセスし、さらに2−4
は再度単独でアクセスするというアクセス形式をとる必
要がある。しかし、これでは高速化においては無駄が生
じる。そこで、異なるアドレスを与える構成例を図9に
より説明する。
【0050】図9は、メモリ群数を4としたときのメモ
リ制御回路28内のアドレス生成回路の構成例である。
図中、201〜204はフラッシュメモリ5を構成する
4つのメモリ群であり、201は第1のメモリ群a、2
02は第2のメモリ群b、203は第3のメモリ群c、
204は第4のメモリ群dである。205は、メモリ群
bに与える上位アドレスのラッチ回路b、206はメモ
リ群cに与えるラッチ回路c、207はメモリ群dに与
えるラッチ回路dである。208は、メモリ制御回路2
8のアドレスバス(図3の45に対応)、209はアド
レスバス208の下位アドレスである。そのアドレスビ
ット数は、フラッシュメモリチップのデータ消去最小単
位あるいはファイル管理の最小単位の記憶容量をアクセ
スするのに相当するアドレスビット数とする。例えば、
データ消去最小単位が512バイトであれば、9ビット
となる。フラッシュメモリチップのデータ消去最小単位
がファイル管理の最小単位よりも小さい場合に限り、フ
ァイル管理の最小単位に相当するアドレスビット数とす
ることが有効である。210は、アドレスバス208の
下位アドレス209を除いた上位アドレスである。但
し、メモリ群をアクセスするのに不要なさらに上位のア
ドレスは除くものとする。211は、メモリ群bをアク
セスするためにアドレスラッチbに記憶された上位アド
レス、212はメモリ群cをアクセスするためにアドレ
スラッチcに記憶された上位アドレス、213はメモリ
群dをアクセスするためにアドレスラッチdに記憶され
た上位アドレスである。214はメモリ群a201のメ
モリ制御信号、215はメモリ群b202のメモリ制御
信号、216はメモリ群c203のメモリ制御信号、2
17はメモリ群d204のメモリ制御信号である。
リ制御回路28内のアドレス生成回路の構成例である。
図中、201〜204はフラッシュメモリ5を構成する
4つのメモリ群であり、201は第1のメモリ群a、2
02は第2のメモリ群b、203は第3のメモリ群c、
204は第4のメモリ群dである。205は、メモリ群
bに与える上位アドレスのラッチ回路b、206はメモ
リ群cに与えるラッチ回路c、207はメモリ群dに与
えるラッチ回路dである。208は、メモリ制御回路2
8のアドレスバス(図3の45に対応)、209はアド
レスバス208の下位アドレスである。そのアドレスビ
ット数は、フラッシュメモリチップのデータ消去最小単
位あるいはファイル管理の最小単位の記憶容量をアクセ
スするのに相当するアドレスビット数とする。例えば、
データ消去最小単位が512バイトであれば、9ビット
となる。フラッシュメモリチップのデータ消去最小単位
がファイル管理の最小単位よりも小さい場合に限り、フ
ァイル管理の最小単位に相当するアドレスビット数とす
ることが有効である。210は、アドレスバス208の
下位アドレス209を除いた上位アドレスである。但
し、メモリ群をアクセスするのに不要なさらに上位のア
ドレスは除くものとする。211は、メモリ群bをアク
セスするためにアドレスラッチbに記憶された上位アド
レス、212はメモリ群cをアクセスするためにアドレ
スラッチcに記憶された上位アドレス、213はメモリ
群dをアクセスするためにアドレスラッチdに記憶され
た上位アドレスである。214はメモリ群a201のメ
モリ制御信号、215はメモリ群b202のメモリ制御
信号、216はメモリ群c203のメモリ制御信号、2
17はメモリ群d204のメモリ制御信号である。
【0051】図9の構成において、メモリ群aからメモ
リ群dまでを同時にアクセスする場合には予めアドレス
ラッチ205〜207にそれぞれのメモリ群をアクセス
する上位アドレスを書き込んでおく。そして、アクセス
を行う際には、下位アドレス210はすべてのメモリ群
に共通であるため、アドレスバスはメモリ群aだけをア
クセスするためのアドレスを供給し、メモリ群a以外の
メモリ群は対応するアドレスラッチ回路から上位アドレ
スによりアクセスを行う。なお、アクセスの制御はメモ
リ制御信号214〜217に委ねられ、例えば、メモリ
群aとメモリ群bだけのアクセスであれば、メモリ制御
信号214、215だけがアクティブになるようにす
る。また、例えばメモリ群dだけのアクセスにおいて
は、メモリ群aにはメモリ制御信号214をアクティブ
にしなければいかなるアドレスが与えられても問題な
い。以上により、各メモリ群に異なるアドレスを与える
ことが可能となり、メモリ群さえ4つに分散していれ
ば、物理的にアドレスの異なる箇所に格納されている同
一ファイルのデータを同時にアクセスすることができ、
高速化の貢献度を高めることができる。図9の構成で
は、メモリ群aのアドレスラッチを省略することができ
る。勿論、メモリ群aにもアドレスラッチを設けること
が有効であれば、そのようにしてもよい。
リ群dまでを同時にアクセスする場合には予めアドレス
ラッチ205〜207にそれぞれのメモリ群をアクセス
する上位アドレスを書き込んでおく。そして、アクセス
を行う際には、下位アドレス210はすべてのメモリ群
に共通であるため、アドレスバスはメモリ群aだけをア
クセスするためのアドレスを供給し、メモリ群a以外の
メモリ群は対応するアドレスラッチ回路から上位アドレ
スによりアクセスを行う。なお、アクセスの制御はメモ
リ制御信号214〜217に委ねられ、例えば、メモリ
群aとメモリ群bだけのアクセスであれば、メモリ制御
信号214、215だけがアクティブになるようにす
る。また、例えばメモリ群dだけのアクセスにおいて
は、メモリ群aにはメモリ制御信号214をアクティブ
にしなければいかなるアドレスが与えられても問題な
い。以上により、各メモリ群に異なるアドレスを与える
ことが可能となり、メモリ群さえ4つに分散していれ
ば、物理的にアドレスの異なる箇所に格納されている同
一ファイルのデータを同時にアクセスすることができ、
高速化の貢献度を高めることができる。図9の構成で
は、メモリ群aのアドレスラッチを省略することができ
る。勿論、メモリ群aにもアドレスラッチを設けること
が有効であれば、そのようにしてもよい。
【0052】以上の実施例によれば、CPU1は比較的
少ないレジスタに簡単な指定を行うことで、所望のセク
タのリードライトアクセスを高速にアクセスできる。ま
た、ファイルコントローラをワンチップマイコンとして
きめ細かい制御をソフトウェアにより指示することがで
き、DMA転送制御回路を搭載することによりワンチッ
プマイコンがシステムより遅い動作しかできなくてもデ
ータ転送を高速に行える。ただし、もしワンチップマイ
コンの動作速度がシステムに対して十分に高速な動作が
可能であるならば、DMA制御回路は必要なく全てのデ
ータ転送をワンチップマイコンが行う構成も考えられ
る。
少ないレジスタに簡単な指定を行うことで、所望のセク
タのリードライトアクセスを高速にアクセスできる。ま
た、ファイルコントローラをワンチップマイコンとして
きめ細かい制御をソフトウェアにより指示することがで
き、DMA転送制御回路を搭載することによりワンチッ
プマイコンがシステムより遅い動作しかできなくてもデ
ータ転送を高速に行える。ただし、もしワンチップマイ
コンの動作速度がシステムに対して十分に高速な動作が
可能であるならば、DMA制御回路は必要なく全てのデ
ータ転送をワンチップマイコンが行う構成も考えられ
る。
【0053】また、本実施例ではデータバスをシステム
32ビット、フラッシュメモリ8ビットとして説明を行
ってきたが、16ビット動作のCPU1や64ビット動
作のCPU、また16ビット入出力のフラッシュメモリ
などに対しても、データラッチの数やデータ制御設定レ
ジスタなどの構成やコントローラの制御プログラムなど
を変えることにより容易に他のデータ幅に対応できる。
その具体例を図15に示した。図15は各ビット幅の組
合せにおける、ハード構成の具体的数値を示している。
図の横の構成はフラッシュメモリのデータのビット数で
あり、4ビット、8ビット、16ビット、32ビットを
例に挙げている。縦の構成はシステムのデータ幅を示し
ており、簡単な情報機器の8ビットから、現在のパソコ
ンの主流である16ビット、32ビット、そして将来的
なパソコンや高性能コンピュータの64ビット、128
ビットの例を示している。またハード構成として挙げて
いるデータ分配回路は、実施例のデータ分配回路61で
説明すれば、図中の円一つのビット数×円の数で示して
いる。各円の接続は図12〜図14と同様の考え方で示
すことができる。ラッチ数は実施例におけるラッチ51
〜54の数の増減であるが、システムデータ幅よりメモ
リデータビット数の方が大きい場合にはラッチの位置は
データ分配回路メモリ側に構成されることになる。メモ
リ群数は実施例では4つに分けているメモリの分割数を
示している。
32ビット、フラッシュメモリ8ビットとして説明を行
ってきたが、16ビット動作のCPU1や64ビット動
作のCPU、また16ビット入出力のフラッシュメモリ
などに対しても、データラッチの数やデータ制御設定レ
ジスタなどの構成やコントローラの制御プログラムなど
を変えることにより容易に他のデータ幅に対応できる。
その具体例を図15に示した。図15は各ビット幅の組
合せにおける、ハード構成の具体的数値を示している。
図の横の構成はフラッシュメモリのデータのビット数で
あり、4ビット、8ビット、16ビット、32ビットを
例に挙げている。縦の構成はシステムのデータ幅を示し
ており、簡単な情報機器の8ビットから、現在のパソコ
ンの主流である16ビット、32ビット、そして将来的
なパソコンや高性能コンピュータの64ビット、128
ビットの例を示している。またハード構成として挙げて
いるデータ分配回路は、実施例のデータ分配回路61で
説明すれば、図中の円一つのビット数×円の数で示して
いる。各円の接続は図12〜図14と同様の考え方で示
すことができる。ラッチ数は実施例におけるラッチ51
〜54の数の増減であるが、システムデータ幅よりメモ
リデータビット数の方が大きい場合にはラッチの位置は
データ分配回路メモリ側に構成されることになる。メモ
リ群数は実施例では4つに分けているメモリの分割数を
示している。
【0054】ただし、本実施例を含めデータ分配回路の
分配数やラッチ数、メモリ群数は最低限度の数であり、
回路規模、端子数などに余裕があれば、増やすことによ
りさらに効果的なシステム構成となる。というのはメモ
リ群数を増やすことによりデータの格納メモリの選択に
余裕ができるため、先に述べたようなメモリの使用量、
使用頻度の偏りをさらに防ぐことができる。また並列ア
クセスするメモリ数を増やすことができるため、高速化
をさらに進めることができる。特にシステムデータ幅と
メモリデータビット数が等しいかあるいはメモリのデー
タビット数の方が多い場合には、実施例で述べてきたよ
うなデータバス幅を合わせるという効果は全くないが、
複数のメモリチップを同時アクセスしていわゆるインタ
リーブ方式による高速化を実現することができる。この
際にはメモリ群数を増やすことにより同時にデータ分配
回路におけるメモリのデータの分配数や、ラッチ数を同
時に増やす必要がある。
分配数やラッチ数、メモリ群数は最低限度の数であり、
回路規模、端子数などに余裕があれば、増やすことによ
りさらに効果的なシステム構成となる。というのはメモ
リ群数を増やすことによりデータの格納メモリの選択に
余裕ができるため、先に述べたようなメモリの使用量、
使用頻度の偏りをさらに防ぐことができる。また並列ア
クセスするメモリ数を増やすことができるため、高速化
をさらに進めることができる。特にシステムデータ幅と
メモリデータビット数が等しいかあるいはメモリのデー
タビット数の方が多い場合には、実施例で述べてきたよ
うなデータバス幅を合わせるという効果は全くないが、
複数のメモリチップを同時アクセスしていわゆるインタ
リーブ方式による高速化を実現することができる。この
際にはメモリ群数を増やすことにより同時にデータ分配
回路におけるメモリのデータの分配数や、ラッチ数を同
時に増やす必要がある。
【0055】なお、本実施例ではフラッシュメモリがシ
ステムからのデータ転送に追随できることとして説明し
ているが、そのためには、フラッシュメモリ内にライト
バッファを搭載することが望ましい。今後、高速に書き
込みを行えるフラッシュメモリが実現すれば、このよう
なライトバッファは必要なくなる。フラッシュメモリに
ライトバッファが内蔵されていない場合には、ライトバ
ッファをフラッシュメモリとデータ制御回路の間に設置
することができる。そしてライトアクセスの際には直接
フラッシュメモリに書き込まずライトバッファに書き込
みを行ってシステムからのデータ転送終了後にライトバ
ッファからフラッシュメモリへの書き込みを行うことに
なる。この場合の実施例の構成図を図4に示した。
ステムからのデータ転送に追随できることとして説明し
ているが、そのためには、フラッシュメモリ内にライト
バッファを搭載することが望ましい。今後、高速に書き
込みを行えるフラッシュメモリが実現すれば、このよう
なライトバッファは必要なくなる。フラッシュメモリに
ライトバッファが内蔵されていない場合には、ライトバ
ッファをフラッシュメモリとデータ制御回路の間に設置
することができる。そしてライトアクセスの際には直接
フラッシュメモリに書き込まずライトバッファに書き込
みを行ってシステムからのデータ転送終了後にライトバ
ッファからフラッシュメモリへの書き込みを行うことに
なる。この場合の実施例の構成図を図4に示した。
【0056】図4中、既出の番号はこれまでに説明した
ものと同一のものである。新出のものとして71はアク
セスがリードかライトかによってデータ分配回路61と
の接続を切り換えるデータセレクタ、72はライトデー
タを一時的に格納する32ビット幅のライトバッファ、
73はデータセレクタ71を切り換えるためのリードラ
イト信号であり、コマンドレジスタ25のデータの一部
を入力すると良い。もしアクセスがライトであればデー
タ分配回路61をライトバッファに接続し、ライトデー
タをライトバッファに格納してシステムからのデータ転
送後コントローラがフラッシュへの書き込みを行う。リ
ードであればデータ分配回路61がフラッシュメモリに
直接接続され前述の図3のリードアクセスと同様の動作
が実行される。以上の構成にすることにより、ライトバ
ッファを内蔵しておらず、書き込みの遅いフラッシュメ
モリを使用してもシステムから見れば高速なアクセスが
可能となる。
ものと同一のものである。新出のものとして71はアク
セスがリードかライトかによってデータ分配回路61と
の接続を切り換えるデータセレクタ、72はライトデー
タを一時的に格納する32ビット幅のライトバッファ、
73はデータセレクタ71を切り換えるためのリードラ
イト信号であり、コマンドレジスタ25のデータの一部
を入力すると良い。もしアクセスがライトであればデー
タ分配回路61をライトバッファに接続し、ライトデー
タをライトバッファに格納してシステムからのデータ転
送後コントローラがフラッシュへの書き込みを行う。リ
ードであればデータ分配回路61がフラッシュメモリに
直接接続され前述の図3のリードアクセスと同様の動作
が実行される。以上の構成にすることにより、ライトバ
ッファを内蔵しておらず、書き込みの遅いフラッシュメ
モリを使用してもシステムから見れば高速なアクセスが
可能となる。
【0057】次にファイル管理の実施例として図5を例
にして説明する。これまではハード構成の実施例を説明
してきたが、実際上、フラッシュメモリにどのように格
納するかについて以下に述べる。基本的にこの操作はシ
ステムのCPU及びシステムプログラムとフラッシュメ
モリファイルのコントローラが行うことになり、ソフト
ウェアによる操作が中心となる。図5による説明ではそ
のソフトウェア自体の内容ではなく、その操作の結果と
して、フラッシュメモリの各メモリ群の単位容量エリア
(1セクタ分)が総体的にどのようにファイルのセクタ
に割り当てられるかを示す。ファイルの各セクタに対し
て、順次のメモリ群に単位容量エリアが確保される。4
以上の連続セクタに対しては、4セクタ(例えば、図の
1−1〜1−4)に対して、順次メモリ群1〜4の1単
位容量エリアが割り付けられる。但し、実際にはこれら
の各セクタのデータは4つの単位容量エリア内に分散し
て格納される。2セクタ(例えば図の1−5〜1−6)
に対しては、2つのメモリ群の単位容量エリアが割り当
てられる。この場合も各セクタのデータは2つの単位容
量エリア内に分散して格納される。ファイル1の最後の
セクタ1−7には単独のメモリ群の単位容量エリアが割
り当てられる。
にして説明する。これまではハード構成の実施例を説明
してきたが、実際上、フラッシュメモリにどのように格
納するかについて以下に述べる。基本的にこの操作はシ
ステムのCPU及びシステムプログラムとフラッシュメ
モリファイルのコントローラが行うことになり、ソフト
ウェアによる操作が中心となる。図5による説明ではそ
のソフトウェア自体の内容ではなく、その操作の結果と
して、フラッシュメモリの各メモリ群の単位容量エリア
(1セクタ分)が総体的にどのようにファイルのセクタ
に割り当てられるかを示す。ファイルの各セクタに対し
て、順次のメモリ群に単位容量エリアが確保される。4
以上の連続セクタに対しては、4セクタ(例えば、図の
1−1〜1−4)に対して、順次メモリ群1〜4の1単
位容量エリアが割り付けられる。但し、実際にはこれら
の各セクタのデータは4つの単位容量エリア内に分散し
て格納される。2セクタ(例えば図の1−5〜1−6)
に対しては、2つのメモリ群の単位容量エリアが割り当
てられる。この場合も各セクタのデータは2つの単位容
量エリア内に分散して格納される。ファイル1の最後の
セクタ1−7には単独のメモリ群の単位容量エリアが割
り当てられる。
【0058】ここで、2セクタおよび4セクタの分散格
納の様子について、図10および図11によりさらに詳
細に説明する。図10は4バイト同時書込みの例を示
し、図11は2バイト同時書込みの例を示す。前述と同
様、ホストのシステムバスが32ビット、1メモリ群の
メモリアクセス幅が8ビットとする。
納の様子について、図10および図11によりさらに詳
細に説明する。図10は4バイト同時書込みの例を示
し、図11は2バイト同時書込みの例を示す。前述と同
様、ホストのシステムバスが32ビット、1メモリ群の
メモリアクセス幅が8ビットとする。
【0059】図10において、メモリ群a〜dへの4セ
クタ同時書込みの例を示す。図中、211は、、ホスト
のシステムバスからのデータを示し、32ビット(4バ
イト)を単位として送られてくる。222〜225は、
8ビット(1バイト)単位のデータの通し番号を示して
おり、222は1バイト目のデータ、223は2バイト
目のデータ、224は3バイト目、225は4バイト目
のデータである。以下、連続して4セクタ分として20
48バイト目までが送られてくる。実際には、32ビッ
トバスであるため、1バイト目から4バイト目までが同
時に受領され、以下も同様である。51〜54は図3で
示したデータ一時記憶のためのデータラッチである。
クタ同時書込みの例を示す。図中、211は、、ホスト
のシステムバスからのデータを示し、32ビット(4バ
イト)を単位として送られてくる。222〜225は、
8ビット(1バイト)単位のデータの通し番号を示して
おり、222は1バイト目のデータ、223は2バイト
目のデータ、224は3バイト目、225は4バイト目
のデータである。以下、連続して4セクタ分として20
48バイト目までが送られてくる。実際には、32ビッ
トバスであるため、1バイト目から4バイト目までが同
時に受領され、以下も同様である。51〜54は図3で
示したデータ一時記憶のためのデータラッチである。
【0060】4バイトずつの同時書込みであるため、3
2ビットデータつまり4バイトを同時にデータラッチ5
1〜54に格納した後、各バイトがメモリ群a〜dに分
散して1バイトずつ書き込まれる。次の32ビットデー
タについて各バイトがメモリ群a〜dの後続部分に書き
込まれる。このようにして、1セクタ分の512バイト
目までが書き込まれると、続いて第2のセクタについて
同様に4バイトずつメモリ群a〜dの後続部分に書き込
まれる。図5では、便宜上、各セクタを特定のメモリ群
に割り当てるように図示したが、以上の説明のように、
実際には、各セクタのデータは特定のメモリ群のみに格
納されるのではなく、メモリ群a〜dに分散して書き込
まれる。ただし、4セクタ全体のデータがメモリ群a〜
dの4セクタ分のエリアに格納されることは事実であ
る。
2ビットデータつまり4バイトを同時にデータラッチ5
1〜54に格納した後、各バイトがメモリ群a〜dに分
散して1バイトずつ書き込まれる。次の32ビットデー
タについて各バイトがメモリ群a〜dの後続部分に書き
込まれる。このようにして、1セクタ分の512バイト
目までが書き込まれると、続いて第2のセクタについて
同様に4バイトずつメモリ群a〜dの後続部分に書き込
まれる。図5では、便宜上、各セクタを特定のメモリ群
に割り当てるように図示したが、以上の説明のように、
実際には、各セクタのデータは特定のメモリ群のみに格
納されるのではなく、メモリ群a〜dに分散して書き込
まれる。ただし、4セクタ全体のデータがメモリ群a〜
dの4セクタ分のエリアに格納されることは事実であ
る。
【0061】図11においては、メモリ群aとメモリ群
bへの2バイト同時書込みの例を示す。
bへの2バイト同時書込みの例を示す。
【0062】2バイトずつの同時書込みであるため、3
2ビットデータつまり4バイトを同時にデータラッチ5
1〜54に格納した後、これが2バイトずつに二分さ
れ、前半の2バイトがまずメモリ群aとメモリ群bに1
バイトずつ書き込まれ、次に後半の2バイトがメモリ群
aとメモリ群bに1バイトずつ書き込まれる。このよう
にして、1セクタ分の512バイト目までが書き込まれ
ると、続いて第2のセクタの1バイト目から同様にして
メモリ群a,bの後続部分に書き込まれる。この場合
も、第1セクタは特定のメモリ群のみに格納されるので
はなく、メモリ群a,bに分散して書き込まれ、同様
に、第2セクタも第1セクタに続いてメモリ群a,bに
分散して書き込まれる。
2ビットデータつまり4バイトを同時にデータラッチ5
1〜54に格納した後、これが2バイトずつに二分さ
れ、前半の2バイトがまずメモリ群aとメモリ群bに1
バイトずつ書き込まれ、次に後半の2バイトがメモリ群
aとメモリ群bに1バイトずつ書き込まれる。このよう
にして、1セクタ分の512バイト目までが書き込まれ
ると、続いて第2のセクタの1バイト目から同様にして
メモリ群a,bの後続部分に書き込まれる。この場合
も、第1セクタは特定のメモリ群のみに格納されるので
はなく、メモリ群a,bに分散して書き込まれ、同様
に、第2セクタも第1セクタに続いてメモリ群a,bに
分散して書き込まれる。
【0063】単一セクタの書込みについては図示しない
が、この場合には、同時にデータラッチ51〜54の各
バイトデータが順次あるメモリ群に格納される。この場
合のみ1セクタのデータは分散されずに特定のメモリ群
内に格納される。
が、この場合には、同時にデータラッチ51〜54の各
バイトデータが順次あるメモリ群に格納される。この場
合のみ1セクタのデータは分散されずに特定のメモリ群
内に格納される。
【0064】以上から分かるように、重要なことは、以
上の動作の結果、フラッシュメモリ素子の最小消去単位
(ここでは1セクタ容量に相当する512バイト)のエ
リア内には異なるファイルのデータが混在しないことで
ある。これが保証されることにより、ファイル書替時に
別のファイルのデータを消去することなく、かつ、メモ
リの記憶エリアを有効に利用しながら複数バイト並列同
時書込みにより高速のファイルデータ格納を達成するこ
とが可能になる。
上の動作の結果、フラッシュメモリ素子の最小消去単位
(ここでは1セクタ容量に相当する512バイト)のエ
リア内には異なるファイルのデータが混在しないことで
ある。これが保証されることにより、ファイル書替時に
別のファイルのデータを消去することなく、かつ、メモ
リの記憶エリアを有効に利用しながら複数バイト並列同
時書込みにより高速のファイルデータ格納を達成するこ
とが可能になる。
【0065】前述のように、図5(1)はある程度のフ
ァイルの書き込みが行われた状態、図5(2)はその後
あるファイルについては更新されかつファイル容量が増
えてしまった状態を示している。図5(1)では格納さ
れるファイル番号順、セクタ番号順に異なるメモリが割
り当てられるように格納する。管理上無駄がないよう
に、原則として、詰めて空きがないようにする。
ァイルの書き込みが行われた状態、図5(2)はその後
あるファイルについては更新されかつファイル容量が増
えてしまった状態を示している。図5(1)では格納さ
れるファイル番号順、セクタ番号順に異なるメモリが割
り当てられるように格納する。管理上無駄がないよう
に、原則として、詰めて空きがないようにする。
【0066】図5(1)に示したように、メモリ群に空
きが生じないようにファイルのセクタを、順次、連続的
に詰めて格納するものとすると、ファイル更新によりフ
ァイル容量が増えた場合には図5(2)に示すように物
理的な格納位置としては連続的に格納することができな
い場合が生じる。このような場合であっても、メモリ群
の順番としては連続的になるように格納する。つまり、
ファイル番号4番のファイルを例にすると、(1)では
4−1から4−5までの5セクタが格納されているが、
(2)で2セクタ追加されると、4−1がメモリ群3か
ら開始されているため、4−6、4−7の増加分はメモ
リ群2、3のエリアが確保されることになる。セクタ数
が増加したファイルの書込み時には、この時には4−5
と4−6と2セクタ連続セクタとして扱われ、4−7は
単独セクタとして扱われることになる。つまり追加セク
タに対しても既格納セクタと合わせて連続セクタとして
の扱いを受けることになる。これらのファイル管理の格
納と読み出しをスムーズに行うためには、ハードウェア
構成としてシステムからのアクセスセクタの指定は開始
セクタとセクタ数にし、物理的な格納位置の把握はファ
イルシステム内部において行われた方が適当であると考
えられる。つまりシステムからのアクセスファイルの指
定は高速化のため極力簡略化すべきであるが、物理的な
位置が分散していると物理的な位置の指定が複雑化して
しまう。従って図2に示したエンドセクタ24はこの意
味からは取り去るべきである。そしてファイルの連鎖を
示す情報をメモリのデータ以外の情報を格納する冗長領
域があればそこに、なければ他の記憶手段に格納するこ
とにより、ファイルの開始番号が指定されればそれに続
くセクタ番号の物理的な位置が全て連鎖して明らかにな
るため、連続アクセスが可能となる。
きが生じないようにファイルのセクタを、順次、連続的
に詰めて格納するものとすると、ファイル更新によりフ
ァイル容量が増えた場合には図5(2)に示すように物
理的な格納位置としては連続的に格納することができな
い場合が生じる。このような場合であっても、メモリ群
の順番としては連続的になるように格納する。つまり、
ファイル番号4番のファイルを例にすると、(1)では
4−1から4−5までの5セクタが格納されているが、
(2)で2セクタ追加されると、4−1がメモリ群3か
ら開始されているため、4−6、4−7の増加分はメモ
リ群2、3のエリアが確保されることになる。セクタ数
が増加したファイルの書込み時には、この時には4−5
と4−6と2セクタ連続セクタとして扱われ、4−7は
単独セクタとして扱われることになる。つまり追加セク
タに対しても既格納セクタと合わせて連続セクタとして
の扱いを受けることになる。これらのファイル管理の格
納と読み出しをスムーズに行うためには、ハードウェア
構成としてシステムからのアクセスセクタの指定は開始
セクタとセクタ数にし、物理的な格納位置の把握はファ
イルシステム内部において行われた方が適当であると考
えられる。つまりシステムからのアクセスファイルの指
定は高速化のため極力簡略化すべきであるが、物理的な
位置が分散していると物理的な位置の指定が複雑化して
しまう。従って図2に示したエンドセクタ24はこの意
味からは取り去るべきである。そしてファイルの連鎖を
示す情報をメモリのデータ以外の情報を格納する冗長領
域があればそこに、なければ他の記憶手段に格納するこ
とにより、ファイルの開始番号が指定されればそれに続
くセクタ番号の物理的な位置が全て連鎖して明らかにな
るため、連続アクセスが可能となる。
【0067】図6には連鎖情報の例を示している。図
中、85はメモリに格納されているファイルデータであ
り、ファイル番号4、セクタ番号5のデータである。8
6はそれに続くファイル番号4、セクタ番号6のデータ
である。そして87はさらにそれに続くファイル番号
4、セクタ番号7のデータである。ただし、これらのデ
ータはセクタ番号を順番にしているが、実際の格納状態
としては混じり合っている場合がある。つまり、連続セ
クタアクセスにより複数チップ同時アクセスすることに
よりデータをスクランブルして格納している場合があ
る。もっともこのときにもバイトごとのデータ格納の順
番付けが必要であるため、セクタ番号は非常に重要であ
る。88はファイルデータ85が格納されているメモリ
上の物理的な位置を示す物理アドレスであり、左側の数
字"3"はメモリ群番号、右側の数字"5"はそのメモリ群
の中のアドレスである。89、90は同様にファイルデ
ータ86、ファイルデータ87の物理アドレスである。
91はファイルデータ85の次のセクタが格納されてい
る物理アドレスを示す連鎖情報であり、ファイルデータ
85がファイル番号4、セクタ番号5のデータであるた
め、連鎖情報91はファイル番号4、セクタ番号6のデ
ータが格納されている物理アドレスを示していることに
なる。左側の数字がメモリ群番号、右側がメモリ群の中
のアドレスである。同様にして、連鎖情報92はファイ
ル番号4、セクタ番号7のデータが格納されている物理
アドレスを示しており、連鎖情報93は次のセクタが存
在しない場合を示している。つまりファイル番号4のフ
ァイルは7セクタで終了することがわかる。この連鎖情
報がファイルデータに添付されていれば、システムのC
PUはファイル格納の物理的な位置を把握する必要はな
く単にファイル自体をアクセスする形式をとれる。そし
てファイル制御のコントローラが連鎖情報を参照しなが
らメモリの物理的なアクセスを行うことにより、一つの
ファイルでありながら物理的な格納位置が連続しておら
ず分散しているファイルでも連続的なアクセスが可能と
なる。その際、異なるメモリ群の同時アクセスのために
異なるアドレスを入力する構成が必要である。ただし、
図9で前述したように、1セクタアクセス分の下位アド
レスは共用でき、それ以上の上位アドレスに関してだけ
で十分である。以上、連鎖情報を用いる実施例によれば
システムからのアクセス指定を簡略化でき、少ない情報
量で実施可能である。
中、85はメモリに格納されているファイルデータであ
り、ファイル番号4、セクタ番号5のデータである。8
6はそれに続くファイル番号4、セクタ番号6のデータ
である。そして87はさらにそれに続くファイル番号
4、セクタ番号7のデータである。ただし、これらのデ
ータはセクタ番号を順番にしているが、実際の格納状態
としては混じり合っている場合がある。つまり、連続セ
クタアクセスにより複数チップ同時アクセスすることに
よりデータをスクランブルして格納している場合があ
る。もっともこのときにもバイトごとのデータ格納の順
番付けが必要であるため、セクタ番号は非常に重要であ
る。88はファイルデータ85が格納されているメモリ
上の物理的な位置を示す物理アドレスであり、左側の数
字"3"はメモリ群番号、右側の数字"5"はそのメモリ群
の中のアドレスである。89、90は同様にファイルデ
ータ86、ファイルデータ87の物理アドレスである。
91はファイルデータ85の次のセクタが格納されてい
る物理アドレスを示す連鎖情報であり、ファイルデータ
85がファイル番号4、セクタ番号5のデータであるた
め、連鎖情報91はファイル番号4、セクタ番号6のデ
ータが格納されている物理アドレスを示していることに
なる。左側の数字がメモリ群番号、右側がメモリ群の中
のアドレスである。同様にして、連鎖情報92はファイ
ル番号4、セクタ番号7のデータが格納されている物理
アドレスを示しており、連鎖情報93は次のセクタが存
在しない場合を示している。つまりファイル番号4のフ
ァイルは7セクタで終了することがわかる。この連鎖情
報がファイルデータに添付されていれば、システムのC
PUはファイル格納の物理的な位置を把握する必要はな
く単にファイル自体をアクセスする形式をとれる。そし
てファイル制御のコントローラが連鎖情報を参照しなが
らメモリの物理的なアクセスを行うことにより、一つの
ファイルでありながら物理的な格納位置が連続しておら
ず分散しているファイルでも連続的なアクセスが可能と
なる。その際、異なるメモリ群の同時アクセスのために
異なるアドレスを入力する構成が必要である。ただし、
図9で前述したように、1セクタアクセス分の下位アド
レスは共用でき、それ以上の上位アドレスに関してだけ
で十分である。以上、連鎖情報を用いる実施例によれば
システムからのアクセス指定を簡略化でき、少ない情報
量で実施可能である。
【0068】次にメモリ素子自体に各種機能を組み込む
実施例について説明する。
実施例について説明する。
【0069】図7は複数のメモリチップを1つのパッケ
ージに収め、それに付加回路を設けたメモリ素子の構成
図である。図中、101はメモリパッケージ、102か
ら105は同様の機能を持ったメモリチップ、106か
ら109はメモリパッケージ101の入出力データ端子
で、それぞれ一つで一つのメモリチップのデータ入出力
が可能である。例えばメモリチップ102が8ビットの
データ入出力であれば106から109まで全部で8ビ
ット×4=32ビットのデータ入出力端子を持つことに
なる。110はこれらのメモリチップと入出力端子を接
続する経路を指定する信号入力端子、111は指定信
号、112は接続経路設定回路である。本メモリ101
のユーザは、データ入出力端子106から109の設定
を信号入力端子110により行ってからアクセスを実行
する。この設定には先述の図12、図13、図14のよ
うな接続経路から選択するものが一例として考えられ
る。メモリ101では設定されたデータ接続を指定信号
111として接続経路設定回路112に送り、接続設定
回路112では設定に従ってメモリチップ102から1
05をデータ入出力端子106から109に接続し、所
望のデータバスにメモリチップのデータを接続すること
を実現する。
ージに収め、それに付加回路を設けたメモリ素子の構成
図である。図中、101はメモリパッケージ、102か
ら105は同様の機能を持ったメモリチップ、106か
ら109はメモリパッケージ101の入出力データ端子
で、それぞれ一つで一つのメモリチップのデータ入出力
が可能である。例えばメモリチップ102が8ビットの
データ入出力であれば106から109まで全部で8ビ
ット×4=32ビットのデータ入出力端子を持つことに
なる。110はこれらのメモリチップと入出力端子を接
続する経路を指定する信号入力端子、111は指定信
号、112は接続経路設定回路である。本メモリ101
のユーザは、データ入出力端子106から109の設定
を信号入力端子110により行ってからアクセスを実行
する。この設定には先述の図12、図13、図14のよ
うな接続経路から選択するものが一例として考えられ
る。メモリ101では設定されたデータ接続を指定信号
111として接続経路設定回路112に送り、接続設定
回路112では設定に従ってメモリチップ102から1
05をデータ入出力端子106から109に接続し、所
望のデータバスにメモリチップのデータを接続すること
を実現する。
【0070】図8は、ユーザからのデータ接続の設定を
コマンド入力により行うメモリ素子の構成例である。図
中、113はコマンド設定値のレジスタとその設定値か
ら指定信号111を作り出すコマンド制御回路である。
114はデータ入出力端子の一部を使用してユーザがコ
マンド設定値を設定するデータ線である。その他は図7
の同じ番号と同一のものである。ユーザはデータの接続
経路を図12、図13、図14を一例として選択し、コ
マンドコードとしてコマンド制御回路113にデータバ
スの一部114から設定し、コマンド制御回路113で
は設定されたコマンドコードから接続経路設定回路11
2に該当する指定信号111を送る。以下は、図7の説
明と同様である。図7、図8による本実施例によれば、
メモリ素子としてこれまでに説明した他の実施例を実現
することができ、周辺回路の削減を図ることができる効
果がある。なお本実施例ではメモリパッケージ内に複数
のチップと制御回路を搭載することとしているが、これ
らを一つにチップにまとめることにより小型化と高速化
を助長できる。
コマンド入力により行うメモリ素子の構成例である。図
中、113はコマンド設定値のレジスタとその設定値か
ら指定信号111を作り出すコマンド制御回路である。
114はデータ入出力端子の一部を使用してユーザがコ
マンド設定値を設定するデータ線である。その他は図7
の同じ番号と同一のものである。ユーザはデータの接続
経路を図12、図13、図14を一例として選択し、コ
マンドコードとしてコマンド制御回路113にデータバ
スの一部114から設定し、コマンド制御回路113で
は設定されたコマンドコードから接続経路設定回路11
2に該当する指定信号111を送る。以下は、図7の説
明と同様である。図7、図8による本実施例によれば、
メモリ素子としてこれまでに説明した他の実施例を実現
することができ、周辺回路の削減を図ることができる効
果がある。なお本実施例ではメモリパッケージ内に複数
のチップと制御回路を搭載することとしているが、これ
らを一つにチップにまとめることにより小型化と高速化
を助長できる。
【0071】
【発明の効果】本発明によれば、フラッシュメモリ装置
において、ファイル書替時に別のファイルのデータを消
去することなく、かつ、メモリの記憶エリアを有効に利
用しながら複数バイト並列同時書込みにより高速のファ
イルデータ格納を達成することが可能になる。
において、ファイル書替時に別のファイルのデータを消
去することなく、かつ、メモリの記憶エリアを有効に利
用しながら複数バイト並列同時書込みにより高速のファ
イルデータ格納を達成することが可能になる。
【図1】本発明を実現するシステム構成を示すブロック
図
図
【図2】フラッシュメモリファイル装置の実施例の構成
を示すブロック図
を示すブロック図
【図3】実施例の動作を説明するための主要部分のブロ
ック図
ック図
【図4】実施例における書き込みが遅いフラッシュメモ
リチップを使用した場合のデータ制御を示す説明図
リチップを使用した場合のデータ制御を示す説明図
【図5】実施例におけるメモリへのファイル格納の実行
例の説明図
例の説明図
【図6】本発明の他の実施例における連鎖情報格納の実
行例の説明図
行例の説明図
【図7】信号端子入力指定によるデータ分配機能をメモ
リ素子内に備えたメモリ構成例の説明図
リ素子内に備えたメモリ構成例の説明図
【図8】コマンド設定入力指定によるデータ分配機能を
メモリ素子内に備えたメモリ構成例の説明図
メモリ素子内に備えたメモリ構成例の説明図
【図9】実施例におけるメモリ群のアドレス接続の説明
図
図
【図10】実施例における4バイト同時書込み時の動作
の説明図
の説明図
【図11】実施例における2バイト同時書込み時の動作
の説明図システムバス32ビット、
の説明図システムバス32ビット、
【図12】実施例におけるメモリ1チップ同時アクセス
のデータ分配の説明図
のデータ分配の説明図
【図13】実施例におけるメモリ2チップ同時アクセス
のデータ分配の説明図
のデータ分配の説明図
【図14】実施例におけるメモリ4チップ同時アクセス
のデータ分配の説明図
のデータ分配の説明図
【図15】システムバスとメモリのデータバスの様々な
構成におけるハード構成の説明図
構成におけるハード構成の説明図
2…クロック発生回路、4…ファイル制御回路、5…フ
ラッシュメモリ、15…レディ制御回路、21…I/F
レジスタ、22…ステータスレジスタ、23…スタート
セクタレジスタ、24…エンドセクタレジスタ、25…
コマンドレジスタ、26…データレジスタ、27…コン
トローラ、28…メモリ制御回路、29…データ制御回
路、30…DMA制御回路、31…状態提示信号、51
…ラッチ回路、52…ラッチ回路、53…ラッチ回路、
54…ラッチ回路、55…ラッチ信号発生回路、56…
データ制御設定レジスタ、61…データ分配回路、71
…データ切り換え回路、72…ライトバッファ、91…
連鎖情報、101…メモリパッケージ、110…指定信
号入力端子、112…接続経路設定回路、113…コマ
ンド制御回路
ラッシュメモリ、15…レディ制御回路、21…I/F
レジスタ、22…ステータスレジスタ、23…スタート
セクタレジスタ、24…エンドセクタレジスタ、25…
コマンドレジスタ、26…データレジスタ、27…コン
トローラ、28…メモリ制御回路、29…データ制御回
路、30…DMA制御回路、31…状態提示信号、51
…ラッチ回路、52…ラッチ回路、53…ラッチ回路、
54…ラッチ回路、55…ラッチ信号発生回路、56…
データ制御設定レジスタ、61…データ分配回路、71
…データ切り換え回路、72…ライトバッファ、91…
連鎖情報、101…メモリパッケージ、110…指定信
号入力端子、112…接続経路設定回路、113…コマ
ンド制御回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 北原 潤 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 飛田 庸博 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 古沢 和則 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体設計開発センタ内
Claims (11)
- 【請求項1】ファイルのデータをXビットのデータバス
を介して格納するファイル記憶装置であって、最小消去
単位が前記Xビットより大きくデータアクセス幅がxビ
ット(x=X/p:pは2以上の整数)であるフラッシ
ュメモリ素子を用いるフラッシュメモリファイル記憶装
置において、 それぞれ同時にアクセス可能なp組のフラッシュメモリ
素子群により構成したフラッシュメモリ装置と、 前記Xビットのデータバス上のデータを少なくともp分
割する分割手段と、 少なくとも、該分割により得られたp個のxビットデー
タを前記フラッシュメモリ素子群の1組に対応付ける第
1の機能と、前記p個のxビットデータをそれぞれ前記
フラッシュメモリ素子群の別個の組に対応付ける第2の
機能とを有するデータ分配手段と、 アクセス対象ファイルのファイル管理の記憶容量単位の
数に応じて、前記第1および第2の機能を切替るよう前
記データ分配手段を制御する制御手段と、 を備えることを特徴とするフラッシュメモリファイル記
憶装置。 - 【請求項2】前記制御手段は、前記フラッシュメモリ素
子の最小消去単位のメモリエリア内には異なるファイル
のデータが混在しないよう、前記データ分配手段を制御
することを特徴とする請求項1記載のフラッシュメモリ
ファイル記憶装置。 - 【請求項3】前記制御手段は、前記ファイルの連続する
p個の記憶容量単位のデータに対して前記第2の機能を
選択し、1個の記憶容量単位のデータに対して前記第1
の機能を選択するよう、前記データ分配手段を制御する
ことを特徴とする請求項1または2記載のフラッシュメ
モリファイル記憶装置。 - 【請求項4】前記記憶容量単位と、前記フラッシュメモ
リ素子の最小消去単位が等しいことを特徴とする請求項
1または2記載のフラッシュメモリファイル記憶装置。 - 【請求項5】プログラムおよびデータを処理する中央演
算処理手段と、該中央演算処理手段を駆動するクロック
発振手段と、フラッシュメモリを記憶媒体としたファイ
ル記憶手段と、該ファイル記憶手段のフラッシュメモリ
のアクセスを制御するファイル記憶制御手段を構成要素
とする情報処理装置において、 前記クロック発振手段が発生するクロック信号と同一の
信号あるいは同期する信号を前記ファイル記憶制御手段
に入力し、前記中央演算処理手段と該ファイル記憶制御
手段が同期動作を行ってファイルデータを送受すること
を特徴としたフラッシュメモリファイル記憶装置を搭載
する情報処理装置。 - 【請求項6】前記中央演算処理手段と前記ファイル記憶
手段の1回のデータアクセス幅が異なる場合、前記ファ
イル記憶制御手段はファイルデータの処理中か処理完了
かを示す状態提示信号を出力する手段を備え、前記中央
演算処理手段は前記状態提示信号を受け、これが処理中
であることを示していれば処理終了までの期間、処理の
進行を停止する機能を有し、前記ファイル記憶制御手段
は前記ファイル記憶手段が扱うデータビット数を前記中
央演算処理装置の処理データビット幅に合わせるデータ
ビット幅制御手段を有し、該データビット幅制御手段は
データビット幅を一致させるために必要とする期間、前
記状態提示信号により処理中であることを前記中央演算
処理手段に示して待機させ、双方の処理データ幅を一致
させてデータのやり取りを行うことを特徴とした請求項
5記載の情報処理装置。 - 【請求項7】前記中央演算処理手段のデータアクセス幅
に等しいビット数のデータを生成するために必要な数の
フラッシュメモリ群により前記ファイル記憶手段を構成
し、それぞれのメモリ群にシーケンシャルな順序を規定
し、複数の記憶容量単位数に及ぶファイルの格納におい
てはこの規定されたメモリ群の順序に従うこととし、一
旦格納されたファイルを更新することにより記憶容量単
位数が増加する場合には該増加に対して、前回格納した
ときにファイルの最後のデータが格納されていたメモリ
群の次の順序に規定されているメモリ群から増加記憶容
量単位分の記憶エリアを確保することを特徴とする請求
項6記載の情報処理装置。 - 【請求項8】中央処理装置と、ファイル記憶装置を備え
る情報処理装置において、 前記ファイル記憶装置の記憶媒体として、複数のフラッ
シュメモリ素子を用い、該フラッシュメモリのデータの
最小消去単位をファイル管理の記憶容量単位と等しく
し、かつ、 前記中央処理装置がファイルアクセスを要求する際の記
憶容量単位数が複数である場合は前記複数のフラッシュ
メモリ素子を同時にアクセスし、記憶容量単位数が1で
ある場合には、前記複数のフラッシュメモリ素子の1個
をアクセスすることを特徴とした情報処理装置。 - 【請求項9】フラッシュメモリを記憶媒体とするファイ
ル記憶装置において、記憶するある1つのファイルの記
憶容量が複数の記憶容量単位に及ぶ場合には、各記憶容
量単位ごとに、次に続く記憶容量単位が格納されている
物理的な位置の情報を記憶する連鎖情報記憶手段を備え
たことを特徴とするフラッシュメモリファイル記憶装
置。 - 【請求項10】1つのパッケージに複数のメモリチップ
が組み込まれているメモリ素子において、 前記メモリパッケージが全メモリチップのデータ入出力
数の総計に相当する数の入出力データ端子を備え、また
各メモリチップの入出力データとデータの入出力端子を
切り換え接続制御するデータ制御手段と、該データ制御
手段に対するメモリ使用者からの指示のための制御信号
端子を備え、該制御信号端子の指示により前記複数のメ
モリチップのデータを切り換え接続して前記入出力デー
タ端子の任意の端子に任意のメモリチップの入出力デー
タを接続することを可能としたメモリ素子。 - 【請求項11】1つのパッケージに複数のメモリチップ
が組み込まれているメモリ素子において、 前記メモリパッケージが全メモリチップのデータ入出力
数の総計に相当する数の入出力データ端子を備え、また
各メモリチップの入出力データとデータの入出力端子を
切り換え接続制御するデータ制御手段と、該データ制御
手段に対するメモリ使用者からの指示のための制御コマ
ンド設定手段を備え、該制御コマンド設定手段の指示に
より前記複数のメモリチップのデータを切り換え接続し
て前記入出力データ端子の任意の端子に任意のメモリチ
ップの入出力データを接続することを可能としたメモリ
素子。
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5051041A JPH06266596A (ja) | 1993-03-11 | 1993-03-11 | フラッシュメモリファイル記憶装置および情報処理装置 |
| KR1019940004411A KR960016397B1 (ko) | 1993-03-11 | 1994-03-08 | 화일기억장치 및 그것을 사용한 정보처리장치 |
| US08/207,749 US6272610B1 (en) | 1993-03-11 | 1994-03-09 | File memory device using flash memories, and an information processing system using the same |
| US09/793,967 US6351787B2 (en) | 1993-03-11 | 2001-02-28 | File memory device and information processing apparatus using the same |
| US10/023,701 US6662264B2 (en) | 1993-03-11 | 2001-12-21 | File memory device and information processing apparatus using the same |
| US10/683,066 US6952752B2 (en) | 1993-03-11 | 2003-10-14 | File memory device and information processing apparatus using the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5051041A JPH06266596A (ja) | 1993-03-11 | 1993-03-11 | フラッシュメモリファイル記憶装置および情報処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06266596A true JPH06266596A (ja) | 1994-09-22 |
Family
ID=12875722
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5051041A Pending JPH06266596A (ja) | 1993-03-11 | 1993-03-11 | フラッシュメモリファイル記憶装置および情報処理装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (4) | US6272610B1 (ja) |
| JP (1) | JPH06266596A (ja) |
| KR (1) | KR960016397B1 (ja) |
Cited By (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6144607A (en) * | 1997-06-25 | 2000-11-07 | Sony Corporation | Memory management apparatus and memory management method |
| JP2002055878A (ja) * | 2000-08-09 | 2002-02-20 | Sony Corp | データ蓄積装置 |
| WO2004097650A1 (ja) * | 2003-04-25 | 2004-11-11 | Matsushita Electric Industrial Co., Ltd. | データ記録装置 |
| JP2005050324A (ja) * | 2003-07-08 | 2005-02-24 | Samsung Electronics Co Ltd | インタフェース変換システム及びその方法 |
| EP0983550A4 (en) * | 1998-02-25 | 2005-09-21 | Lexar Media Inc | PERFORMANCE IMPROVEMENT IN FLASH STORAGE THROUGH SIMULTANEOUS WRITE OPERATION IN MULTIPLE DEVICES |
| 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 |
| US6973519B1 (en) | 2003-06-03 | 2005-12-06 | Lexar Media, Inc. | Card identification compatibility |
| US7000064B2 (en) | 2001-09-28 | 2006-02-14 | Lexar Media, Inc. | Data handling system |
| US7102671B1 (en) | 2000-02-08 | 2006-09-05 | Lexar Media, Inc. | Enhanced compact flash memory card |
| US7111140B2 (en) | 1995-07-31 | 2006-09-19 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
| US7167944B1 (en) | 2000-07-21 | 2007-01-23 | Lexar Media, Inc. | Block management for mass storage |
| US7185208B2 (en) | 2001-09-28 | 2007-02-27 | Lexar Media, Inc. | Data processing |
| EP0923023A4 (en) * | 1997-04-16 | 2007-04-25 | Sony Corp | CONTROL ARRANGEMENT AND METHOD FOR A RECORDING MEDIUM |
| US7215580B2 (en) | 2001-09-28 | 2007-05-08 | Lexar Media, Inc. | Non-volatile memory control |
| 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 |
| US7254724B2 (en) | 2001-09-28 | 2007-08-07 | Lexar Media, Inc. | Power management system |
| US7275686B2 (en) | 2003-12-17 | 2007-10-02 | Lexar Media, Inc. | Electronic equipment point-of-sale activation to avoid theft |
| US7340581B2 (en) | 2001-09-28 | 2008-03-04 | Lexar Media, Inc. | Method of writing data to non-volatile memory |
| US7370166B1 (en) | 2004-04-30 | 2008-05-06 | Lexar Media, Inc. | Secure portable storage device |
| US7441090B2 (en) | 1995-07-31 | 2008-10-21 | Lexar Media, Inc. | System and method for updating data sectors in a non-volatile memory using logical block addressing |
| US7464306B1 (en) | 2004-08-27 | 2008-12-09 | Lexar Media, Inc. | Status of overall health of nonvolatile memory |
| US7523249B1 (en) | 1995-07-31 | 2009-04-21 | Lexar Media, Inc. | Direct logical block addressing flash memory mass storage architecture |
| US7594063B1 (en) | 2004-08-27 | 2009-09-22 | Lexar Media, Inc. | Storage capacity status |
| JP2014035786A (ja) * | 2012-08-08 | 2014-02-24 | Samsung Electronics Co Ltd | 不揮発性メモリ装置とプログラミング方法 |
| US9032134B2 (en) | 2001-09-28 | 2015-05-12 | Micron Technology, Inc. | Methods of operating a memory system that include outputting a data pattern from a sector allocation table to a host if a logical sector is indicated as being erased |
| JP2016051472A (ja) * | 2014-08-28 | 2016-04-11 | パナソニックIpマネジメント株式会社 | メモリカード |
Families Citing this family (56)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8171203B2 (en) | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
| 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 |
| GB9606928D0 (en) * | 1996-04-02 | 1996-06-05 | Memory Corp Plc | Memory devices |
| KR100544175B1 (ko) * | 1999-05-08 | 2006-01-23 | 삼성전자주식회사 | 링킹 타입 정보를 저장하는 기록 매체와 결함 영역 처리 방법 |
| US6708257B2 (en) * | 1999-07-12 | 2004-03-16 | Koninklijke Philips Electronics N.V. | Buffering system bus for external-memory access |
| US7671295B2 (en) | 2000-01-10 | 2010-03-02 | Electro Scientific Industries, Inc. | Processing a memory link with a set of at least two laser pulses |
| ATE293810T1 (de) * | 2000-06-27 | 2005-05-15 | Koninkl Philips Electronics Nv | Integrierte schaltung mit flash |
| JP4722305B2 (ja) * | 2001-02-27 | 2011-07-13 | 富士通セミコンダクター株式会社 | メモリシステム |
| TW539946B (en) * | 2001-08-07 | 2003-07-01 | Solid State System Company Ltd | Window-based flash memory storage system, and the management method and the access method thereof |
| US20040049627A1 (en) * | 2001-11-09 | 2004-03-11 | Flex-P Industries | Method and system for controlling compact flash memory |
| US7194563B2 (en) * | 2001-12-05 | 2007-03-20 | Scientific-Atlanta, Inc. | Disk driver cluster management of time shift buffer with file allocation table structure |
| US7962011B2 (en) | 2001-12-06 | 2011-06-14 | Plourde Jr Harold J | Controlling substantially constant buffer capacity for personal video recording with consistent user interface of available disk space |
| KR100445915B1 (ko) * | 2002-01-22 | 2004-08-25 | 한국전자통신연구원 | 메모리 시스템의 제어 장치 |
| US7454603B2 (en) * | 2002-02-11 | 2008-11-18 | Intel Corporation | Method and system for linking firmware modules in a pre-memory execution environment |
| US20030204675A1 (en) * | 2002-04-29 | 2003-10-30 | Dover Lance W. | Method and system to retrieve information from a storage device |
| US8181205B2 (en) | 2002-09-24 | 2012-05-15 | Russ Samuel H | PVR channel and PVR IPG information |
| US7515598B2 (en) * | 2002-10-29 | 2009-04-07 | Intel Corporation | Configurable transmit and receive system interfaces for a network device |
| US20060209196A1 (en) * | 2003-03-12 | 2006-09-21 | Takeshi Ohtsuka | Camera recorder and data recording medium |
| US6906961B2 (en) | 2003-06-24 | 2005-06-14 | Micron Technology, Inc. | Erase block data splitting |
| CN1886749B (zh) * | 2003-11-28 | 2012-06-13 | 松下电器产业株式会社 | 记录装置 |
| US7631138B2 (en) * | 2003-12-30 | 2009-12-08 | Sandisk Corporation | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
| US7433993B2 (en) * | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
| US8504798B2 (en) | 2003-12-30 | 2013-08-06 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
| US7383375B2 (en) * | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
| US20050144363A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
| US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
| JP3892851B2 (ja) * | 2004-02-04 | 2007-03-14 | 株式会社東芝 | メモリカード及び半導体装置 |
| US7725628B1 (en) | 2004-04-20 | 2010-05-25 | Lexar Media, Inc. | Direct secondary device interface by a host |
| US20060136668A1 (en) * | 2004-12-17 | 2006-06-22 | Rudelic John C | Allocating code objects between faster and slower memories |
| US9104315B2 (en) * | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
| US7516252B2 (en) * | 2005-06-08 | 2009-04-07 | Intel Corporation | Port binding scheme to create virtual host bus adapter in a virtualized multi-operating system platform environment |
| JP4969811B2 (ja) * | 2005-07-22 | 2012-07-04 | 株式会社東芝 | 情報処理システム及びメモリ制御装置 |
| US7765350B2 (en) * | 2005-09-14 | 2010-07-27 | Koninklijke Philips Electronics N.V. | Method and system for bus arbitration |
| US7509471B2 (en) * | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
| US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
| US7802064B2 (en) * | 2006-03-31 | 2010-09-21 | Mosaid Technologies Incorporated | Flash memory system control scheme |
| US7769942B2 (en) * | 2006-07-27 | 2010-08-03 | Rambus, Inc. | Cross-threaded memory system |
| KR100921748B1 (ko) * | 2007-06-04 | 2009-10-15 | 삼성전자주식회사 | Ecc 회로를 포함하는 메모리 시스템 및 그 구동 방법 |
| US20090113116A1 (en) * | 2007-10-30 | 2009-04-30 | Thompson E Earle | Digital content kiosk and methods for use therewith |
| JP2009211192A (ja) * | 2008-02-29 | 2009-09-17 | Toshiba Corp | メモリシステム |
| ITMI20082331A1 (it) * | 2008-12-29 | 2010-06-30 | Giovanni Lucchetta | Disco a stato solido, particolarmente per la memorizzazione di dati digitali. |
| US8495471B2 (en) * | 2009-11-30 | 2013-07-23 | International Business Machines Corporation | Solid-state storage system with parallel access of multiple flash/PCM devices |
| US8533407B2 (en) | 2010-12-01 | 2013-09-10 | International Business Machines Corporation | Capacity management in deduplication storage systems |
| CN102306124A (zh) * | 2011-08-01 | 2012-01-04 | 深圳市文鼎创数据科技有限公司 | Nand Flash芯片硬件驱动层的实现方法 |
| JP5914148B2 (ja) * | 2012-05-07 | 2016-05-11 | 株式会社バッファローメモリ | Ssd(ソリッドステートドライブ)装置 |
| CN102981965A (zh) * | 2012-11-07 | 2013-03-20 | 江苏乐买到网络科技有限公司 | 一种nand flash文件系统 |
| WO2015047284A1 (en) * | 2013-09-27 | 2015-04-02 | Empire Technology Development Llc | Flexible storage block for a solid state drive (ssd)-based file system |
| US10114562B2 (en) | 2014-09-16 | 2018-10-30 | Sandisk Technologies Llc | Adaptive block allocation in nonvolatile memory |
| CN104717557B (zh) * | 2014-11-25 | 2018-09-14 | 四川长虹电器股份有限公司 | 一种基于机顶盒读取Flash数据的方法 |
| CN104615546B (zh) * | 2015-02-13 | 2018-04-27 | 小米科技有限责任公司 | 文件数据管理方法及装置 |
| TWI562154B (en) * | 2015-02-17 | 2016-12-11 | Silicon Motion Inc | Methods for reading data from a storage unit of a flash memory and apparatuses using the same |
| US9817593B1 (en) | 2016-07-11 | 2017-11-14 | Sandisk Technologies Llc | Block management in non-volatile memory system with non-blocking control sync system |
| KR102299880B1 (ko) * | 2017-04-04 | 2021-09-09 | 에스케이하이닉스 주식회사 | 데이터 변환 장치 및 방법 |
| CN112074816B (zh) | 2018-03-16 | 2025-02-21 | 美光科技公司 | Nand数据放置模式的集群奇偶校验 |
| CN118444854A (zh) | 2018-03-16 | 2024-08-06 | 美光科技公司 | Nand数据放置模式 |
| WO2020129612A1 (ja) * | 2018-12-19 | 2020-06-25 | ソニー株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
Family Cites Families (32)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3753235A (en) * | 1971-08-18 | 1973-08-14 | Ibm | Monolithic memory module redundancy scheme using prewired substrates |
| US4051354A (en) * | 1975-07-03 | 1977-09-27 | Texas Instruments Incorporated | Fault-tolerant cell addressable array |
| US4162536A (en) * | 1976-01-02 | 1979-07-24 | Gould Inc., Modicon Div. | Digital input/output system and method |
| US4648064A (en) * | 1976-01-02 | 1987-03-03 | Morley Richard E | Parallel process controller |
| JPS5488242A (en) | 1977-12-21 | 1979-07-13 | Kyowa Hakko Kogyo Co Ltd | Novel derivative of fortimicin b and its preparation |
| US4310248A (en) | 1980-04-24 | 1982-01-12 | Meredith Nolan J | Color control system |
| US4483001A (en) * | 1982-06-16 | 1984-11-13 | International Business Machines Corporation | Online realignment of memory faults |
| JPS6161A (ja) | 1984-06-08 | 1986-01-06 | Ube Ind Ltd | 4,4′−アゾビス(4−シアノ吉草酸)の製造法 |
| JPS61245255A (ja) | 1985-04-23 | 1986-10-31 | Hitachi Ltd | 不揮発性メモリ装置 |
| JPS62217496A (ja) | 1986-03-18 | 1987-09-24 | Fujitsu Ltd | Eeprom書き込み方式 |
| JPS63244393A (ja) * | 1987-03-30 | 1988-10-11 | Nec Corp | 並列入出力回路を有する記憶装置 |
| JPS63296063A (ja) | 1987-05-28 | 1988-12-02 | Canon Inc | 画像形成装置 |
| US4961094A (en) | 1987-06-03 | 1990-10-02 | Sanyo Electric Co., Ltd. | Electrostatic recording apparatus and method for producing color images |
| US5066979A (en) | 1989-01-13 | 1991-11-19 | Canon Kabushiki Kaisha | Color image forming apparatus wherein plural colors can be formed through one printing cycle |
| DE69024086T2 (de) | 1989-04-13 | 1996-06-20 | Sundisk Corp | EEprom-System mit Blocklöschung |
| JP2808664B2 (ja) | 1989-05-12 | 1998-10-08 | ソニー株式会社 | 差動アンプ |
| EP0407697A1 (en) * | 1989-07-10 | 1991-01-16 | Seiko Epson Corporation | Memory apparatus |
| US5030996A (en) | 1989-08-31 | 1991-07-09 | Canon Kabushiki Kaisha | Image forming apparatus with AC bias voltages for preventing developer mixture |
| US5167024A (en) * | 1989-09-08 | 1992-11-24 | Apple Computer, Inc. | Power management for a laptop computer with slow and sleep modes |
| JPH087475B2 (ja) | 1990-01-29 | 1996-01-29 | 富士ゼロックス株式会社 | カラー画像形成装置及びその使用方法 |
| JPH0457295A (ja) | 1990-06-22 | 1992-02-25 | Nec Corp | 電気的書込消去可能メモリ回路 |
| JPH0484216A (ja) | 1990-07-26 | 1992-03-17 | Toshiba Corp | 半導体ディスク装置のデータ消去方法 |
| GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
| JP2979352B2 (ja) | 1991-05-30 | 1999-11-15 | コニカ株式会社 | 画像形成方法 |
| US5263003A (en) * | 1991-11-12 | 1993-11-16 | Allen-Bradley Company, Inc. | Flash memory circuit and method of operation |
| US5365325A (en) | 1992-08-10 | 1994-11-15 | Hitachi, Ltd. | Method of multi-color recording using electro-photography process and apparatus therefor wherein mixed colors generation is prevented |
| US5487133A (en) * | 1993-07-01 | 1996-01-23 | Intel Corporation | Distance calculating neural network classifier chip and system |
| US5828862A (en) * | 1994-05-04 | 1998-10-27 | International Business Machines Corporation | Game programming flash memory cartridge system including a programmer and a reprogrammable cartridge |
| US5613061A (en) * | 1994-09-12 | 1997-03-18 | Verilink Corporation | Network controller with reconfigurable program logic circuits capable of performing both channel service and testing functions |
| EP0807894A1 (en) * | 1995-01-31 | 1997-11-19 | Hitachi, Ltd. | Terminal for distributing electronic information |
| US5812755A (en) * | 1995-09-01 | 1998-09-22 | Adaptec, Incorporated | Logical and physical zones for management of defects in a headerless disk drive architecture |
| US5687114A (en) * | 1995-10-06 | 1997-11-11 | Agate Semiconductor, Inc. | Integrated circuit for storage and retrieval of multiple digital bits per nonvolatile memory cell |
-
1993
- 1993-03-11 JP JP5051041A patent/JPH06266596A/ja active Pending
-
1994
- 1994-03-08 KR KR1019940004411A patent/KR960016397B1/ko not_active Expired - Lifetime
- 1994-03-09 US US08/207,749 patent/US6272610B1/en not_active Expired - Lifetime
-
2001
- 2001-02-28 US US09/793,967 patent/US6351787B2/en not_active Expired - Fee Related
- 2001-12-21 US US10/023,701 patent/US6662264B2/en not_active Expired - Fee Related
-
2003
- 2003-10-14 US US10/683,066 patent/US6952752B2/en not_active Expired - Fee Related
Cited By (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7441090B2 (en) | 1995-07-31 | 2008-10-21 | Lexar Media, Inc. | System and method for updating data sectors in a non-volatile memory using logical block addressing |
| US9026721B2 (en) | 1995-07-31 | 2015-05-05 | Micron Technology, Inc. | Managing defective areas of memory |
| US7549013B2 (en) | 1995-07-31 | 2009-06-16 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
| US7523249B1 (en) | 1995-07-31 | 2009-04-21 | Lexar Media, Inc. | Direct logical block addressing flash memory mass storage architecture |
| US7424593B2 (en) | 1995-07-31 | 2008-09-09 | Micron Technology, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
| US7111140B2 (en) | 1995-07-31 | 2006-09-19 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
| US7263591B2 (en) | 1995-07-31 | 2007-08-28 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
| EP0923023A4 (en) * | 1997-04-16 | 2007-04-25 | Sony Corp | CONTROL ARRANGEMENT AND METHOD FOR A RECORDING MEDIUM |
| US6144607A (en) * | 1997-06-25 | 2000-11-07 | Sony Corporation | Memory management apparatus and memory management method |
| EP0983550A4 (en) * | 1998-02-25 | 2005-09-21 | Lexar Media Inc | PERFORMANCE IMPROVEMENT IN FLASH STORAGE THROUGH SIMULTANEOUS WRITE OPERATION IN MULTIPLE DEVICES |
| US7102671B1 (en) | 2000-02-08 | 2006-09-05 | Lexar Media, Inc. | Enhanced compact flash memory card |
| US7167944B1 (en) | 2000-07-21 | 2007-01-23 | Lexar Media, Inc. | Block management for mass storage |
| JP2002055878A (ja) * | 2000-08-09 | 2002-02-20 | Sony Corp | データ蓄積装置 |
| US7215580B2 (en) | 2001-09-28 | 2007-05-08 | Lexar Media, Inc. | Non-volatile memory control |
| US9489301B2 (en) | 2001-09-28 | 2016-11-08 | Micron Technology, Inc. | Memory systems |
| US9032134B2 (en) | 2001-09-28 | 2015-05-12 | Micron Technology, Inc. | Methods of operating a memory system that include outputting a data pattern from a sector allocation table to a host if a logical sector is indicated as being erased |
| US7254724B2 (en) | 2001-09-28 | 2007-08-07 | Lexar Media, Inc. | Power management system |
| US7185208B2 (en) | 2001-09-28 | 2007-02-27 | Lexar Media, Inc. | Data processing |
| US7000064B2 (en) | 2001-09-28 | 2006-02-14 | Lexar Media, Inc. | Data handling system |
| US7340581B2 (en) | 2001-09-28 | 2008-03-04 | Lexar Media, Inc. | Method of writing data to non-volatile memory |
| US8694722B2 (en) | 2001-09-28 | 2014-04-08 | Micron Technology, Inc. | Memory systems |
| US6957295B1 (en) | 2002-01-18 | 2005-10-18 | Lexar Media, Inc. | File management of one-time-programmable nonvolatile memory devices |
| US6950918B1 (en) | 2002-01-18 | 2005-09-27 | Lexar Media, Inc. | File management of one-time-programmable nonvolatile memory devices |
| US9213606B2 (en) | 2002-02-22 | 2015-12-15 | Micron Technology, Inc. | Image rescue |
| 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 |
| WO2004097650A1 (ja) * | 2003-04-25 | 2004-11-11 | Matsushita Electric Industrial Co., Ltd. | データ記録装置 |
| US6973519B1 (en) | 2003-06-03 | 2005-12-06 | Lexar Media, Inc. | Card identification compatibility |
| JP2005050324A (ja) * | 2003-07-08 | 2005-02-24 | Samsung Electronics Co Ltd | インタフェース変換システム及びその方法 |
| US7275686B2 (en) | 2003-12-17 | 2007-10-02 | Lexar Media, Inc. | Electronic equipment point-of-sale activation to avoid theft |
| US7370166B1 (en) | 2004-04-30 | 2008-05-06 | Lexar Media, Inc. | Secure portable storage device |
| US9576154B2 (en) | 2004-04-30 | 2017-02-21 | Micron Technology, Inc. | Methods of operating storage systems including using a key to determine whether a password can be changed |
| US10049207B2 (en) | 2004-04-30 | 2018-08-14 | Micron Technology, Inc. | Methods of operating storage systems including encrypting a key salt |
| US7594063B1 (en) | 2004-08-27 | 2009-09-22 | Lexar Media, Inc. | Storage capacity status |
| US7464306B1 (en) | 2004-08-27 | 2008-12-09 | Lexar Media, Inc. | Status of overall health of nonvolatile memory |
| JP2014035786A (ja) * | 2012-08-08 | 2014-02-24 | Samsung Electronics Co Ltd | 不揮発性メモリ装置とプログラミング方法 |
| JP2016051472A (ja) * | 2014-08-28 | 2016-04-11 | パナソニックIpマネジメント株式会社 | メモリカード |
Also Published As
| Publication number | Publication date |
|---|---|
| US6272610B1 (en) | 2001-08-07 |
| KR940022272A (ko) | 1994-10-20 |
| US6662264B2 (en) | 2003-12-09 |
| US6351787B2 (en) | 2002-02-26 |
| US20040078512A1 (en) | 2004-04-22 |
| US20030018847A1 (en) | 2003-01-23 |
| US6952752B2 (en) | 2005-10-04 |
| US20010007119A1 (en) | 2001-07-05 |
| KR960016397B1 (ko) | 1996-12-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH06266596A (ja) | フラッシュメモリファイル記憶装置および情報処理装置 | |
| US5920884A (en) | Nonvolatile memory interface protocol which selects a memory device, transmits an address, deselects the device, subsequently reselects the device and accesses data | |
| EP0343769B1 (en) | Apparatus and method for accessing a page mode memory in a computer system | |
| US6330626B1 (en) | Systems and methods for a disk controller memory architecture | |
| JP3590413B2 (ja) | メモリ制御装置 | |
| US6401149B1 (en) | Methods for context switching within a disk controller | |
| US5594877A (en) | System for transferring data onto buses having different widths | |
| US6467015B1 (en) | High speed bus interface for non-volatile integrated circuit memory supporting continuous transfer | |
| US4843544A (en) | Method and apparatus for controlling data transfers through multiple buffers | |
| US5379401A (en) | Flash memory card including circuitry for selectively providing masked and unmasked ready/busy output signals | |
| TWI547807B (zh) | 用於包含讀取資料選通訊號的減少接腳數(rpc)記憶體匯流排介面的裝置及方法 | |
| US5428579A (en) | Flash memory card with power control register and jumpers | |
| JPH06309267A (ja) | I/o装置と拡張記憶装置又は主記憶装置の間でデータを転送する方法 | |
| JPH07175783A (ja) | ディジタル信号処理プロセッサ | |
| JP3247075B2 (ja) | パリティブロックの生成装置 | |
| JPH0719426B2 (ja) | デイスク制御装置 | |
| US6742058B2 (en) | Memory controller having a multiplexer selecting either second set of input signals or converted signals from first set of input signals by a bus mode input | |
| EP1297416A1 (en) | Generation of memory addresses utilizing scheme registers | |
| CA2370596C (en) | Systems and methods for a disk controller memory architecture | |
| JP2981711B2 (ja) | ディスク記憶装置 | |
| US7075546B2 (en) | Intelligent wait methodology | |
| JPH04357519A (ja) | メモリ装置 | |
| JP2954988B2 (ja) | 情報処理装置 | |
| JPS6014435B2 (ja) | 記憶装置 | |
| JPH05120211A (ja) | データバス幅制御装置 |