JPH08314794A - 安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム - Google Patents

安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム

Info

Publication number
JPH08314794A
JPH08314794A JP8040157A JP4015796A JPH08314794A JP H08314794 A JPH08314794 A JP H08314794A JP 8040157 A JP8040157 A JP 8040157A JP 4015796 A JP4015796 A JP 4015796A JP H08314794 A JPH08314794 A JP H08314794A
Authority
JP
Japan
Prior art keywords
data
memory device
flash memory
main 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.)
Withdrawn
Application number
JP8040157A
Other languages
English (en)
Inventor
Kaseresu Ramon
カセレス ラモン
Baashiyado Buraian
バーシャド ブライアン
Deii Maashiyu Buraian
ディー.マーシュ ブライアン
Dagurisu Furederitsuku
ダグリス フレデリック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of JPH08314794A publication Critical patent/JPH08314794A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 安定記憶装置にフラッシュメモリを用いるシ
ステムにおいて、安定記憶装置へのアクセス待ち時間を
短縮する。 【解決手段】 データを格納するためのフラッシュメモ
リ装置(114)と、前記フラッシュメモリ装置から分離さ
れ、前記フラッシュメモリ装置よりも比較的速いアクセ
ス時間を有する、データを格納するためのメインメモリ
装置(112)と、データについてリクエストを生成するプ
ロセッサ手段(410)と、前記プロセッサ手段によるデー
タリクエストが前記メインメモリ装置に現在格納されて
いるデータについてのものではないときに、前記プロセ
ッサ手段から受け取られたリクエストに応じて、前記プ
ロセッサ手段による直接アクセスを前記フラッシュメモ
リに格納されているデータに対して行うメモリ管理ユニ
ット(420)とを備えた。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的に、中央処
理装置のデータ記憶装置アクセスに関する。より詳細に
は、本発明は、組み合わせられたメインメモリとフラッ
シュメモリとのアクセスに関する。
【0002】
【従来の技術】コンピュータシステムは、通常、CPUに
よる処理を行う前に、安定記憶装置からメインメモリへ
データのブロックを転送する。DRAMなどのメインメモリ
技術と磁気ディスクなどの安定記憶装置技術との間にな
かなか解消されない性能の不一致があるので、ブロック
ベースのI/O技術を行う動機付けがされ続けてきた。こ
れらの技術の例として、仮想記憶システムにおけるリク
エスト時ページング(Kilburnら、"One-level storage
system"、IEEE Transactions on Electronics Computer
s、1962年4月を参照)およびファイルシステムにおけ
るバッファキャッシュ(Bach、The Design of the UNIX
Operating System、1986年を参照)がある。
【0003】新しいタイプの不揮発性記憶装置技術であ
るフラッシュメモリが近年公表された。フラッシュメモ
リは、記憶装置へのランダムなビットレベルアクセスを
行い、電源が取り外されたときにもその内容を保持する
半導体集積回路技術である。この技術によって、磁気デ
ィスクの不揮発性、ダイナミックランダムアクセスメモ
リ(DRAM)のアクセスタイムに匹敵するアクセスタイ
ム、および磁気ディスクおよびDRAMのいずれよりも低い
消費電力が得られる。
【0004】フラッシュメモリ管理技術の現状の水準で
は、読み出し専用実行可能プログラムへの直接アクセス
あるいはデータ読み出し/書き込みへのブロックベース
のアクセスが可能である。
【0005】スラッシュメモリは、多くの大容量記憶装
置の適用において、特に、ラップトップ、パームトップ
およびより小さな移動式コンピュータに使用される際、
磁気ディスクの代用品としてみなされている。フラッシ
ュメモリを用いるシステムは、磁気ディスクを用いるア
ウトパフォームシステムよりも潜在的能力を有してい
る。なぜなら、フラッシュメモリチップは、磁気ディス
クドライブよりもより速いアクセス時間を提供するから
である。
【0006】
【発明が解決しようとする課題】しかし、フラッシュメ
モリはその性能の利点を無効にしてしまうようなやり方
で通常用いられている。最も重要なことに、取り外し可
能な記憶媒体のための工業規格に適合するために、多く
のフラッシュメモリ製品は二次I/Oバスを介してCPUに接
続している。取り外し可能なフラッシュメモリカード
は、フロッピーディスクの簡便性をより高い密度で提供
する。しかし、この2レベルの構成と関連づけられたオ
ーバーヘッドにより、フラッシュメモリアクセスにかな
りの待ち時間が生じる。例えば、現在のフラッシュメモ
リチップのアクセス時間は85ナノ秒であるが、PCMCIAフ
ラッシュメモリカードのアクセス時間は200ナノ秒であ
り、待ち時間が2倍以上に増加する。
【0007】2レベルバス構造において、フラッシュメ
モリは磁気ディスクよりも速いアクセスを行うが、フラ
ッシュメモリのアクセス時間はメインメモリのアクセス
時間よりも遅い。ディスクベースの安定記憶装置におけ
るように、データへのアクセスの大部分がCPUによって
リクエストされないうちに、安定記憶装置からメインメ
モリにデータを転送することが必要になる。さもなけれ
ば、システムの性能が低下する。従って、多くの動作に
わたる安定記憶装置へのアクセス待ち時間を制動するた
めに、フラッシュメモリは通常大きなブロック単位で読
み出しおよび書き込みされる。フラッシュメモリ製品が
ブロックI/Oインタフェースを提供する別の理由は、長
い間慣用されているディスク技術で動作するように書き
込まれた既存の記憶管理ソフトウエアと互換性を保ち続
けるためである。1ビットさえ処理しないような場合で
も記憶装置のブロック全体が転送されるまで待つ必要が
あることによって、フラッシュメモリアクセスにさらに
待ち時間が付加される。
【0008】従って、安定記憶装置にフラッシュメモリ
を用いて実行されているときでさえ、システムは安定記
憶装置へのアクセス待ち時間が長いという問題を有し続
けてきた。
【0009】
【課題を解決するための手段】本発明は、データ処理シ
ステムおよびデータ処理方法に具現化される。
【0010】本発明によるデータ処理システムは、デー
タを格納するためのフラッシュメモリ装置と、該フラッ
シュメモリ装置から分離され、該フラッシュメモリ装置
よりも比較的速いアクセス時間を有する、データを格納
するためのメインメモリ装置と、データについてリクエ
ストを生成するプロセッサ手段と、該プロセッサ手段に
よるデータリクエストが該メインメモリ装置に現在格納
されているデータについてのものではないときに、該プ
ロセッサ手段から受け取られた該リクエストに応じて、
該プロセッサ手段による直接アクセスを該フラッシュメ
モリに格納されているデータに対して行うメモリ管理ユ
ニットとを備え、そのことにより上記課題が解決され
る。
【0011】上記データ処理システムは、上記プロセッ
サ手段によるデータリクエストが上記メインメモリ装置
に現在格納されているデータについてのものではないと
きに、上記メモリ管理ユニットが、該プロセッサ手段に
よってリクエストされたデータを含むデータのブロック
を上記フラッシュメモリから該メインメモリ装置に同時
に転送してもよい。
【0012】上記メモリ管理ユニットが、上記プロセッ
サ手段によるデータリクエストが上記メインメモリ装置
に現在格納されているデータについてのものではないと
きに、該プロセッサ手段によってリクエストされた上記
データを含むデータのブロックを上記フラッシュメモリ
装置から上記メインメモリ装置に同時に転送する手段
と、該プロセッサから受け取られたデータについての各
リクエストと、該メインメモリ装置に転送された該デー
タとを比較することによって、該メインメモリ装置から
該リクエストされたデータを優先的に与える手段とを備
えていてもよい。
【0013】上記メモリ管理ユニットは、格納されたデ
ータの少なくとも第1のアクセスについて、データをリ
クエストするために上記プロセッサによって用いられる
仮想アドレスを、上記フラッシュメモリ装置の物理アド
レスに直接マップするアドレス変換手段をさらに備えて
いてもよい。
【0014】上記前記メモリ管理ユニットは、少なくと
も第1のアクセスについて、データをリクエストするた
めに上記プロセッサによって用いられる仮想アドレス
を、上記フラッシュメモリ装置の物理アドレスにマップ
し、該第1のアクセスの後に、該仮想アドレスを上記メ
インメモリの物理アドレスに直接マップするアドレス変
換テーブルを備えていてもよい。
【0015】本発明によるデータ処理方法は、中央処理
ユニット(CPU)と、フラッシュメモリ装置と、メイン
メモリ装置とを備えているデータ処理システムにおいて
データをアクセスする方法であって、該CPUによってデ
ータをリクエストするステップと、該リクエストされた
データが該メインメモリに格納されているかを決定する
ステップと、直接アクセスを行う該CPUに、該フラッシ
ュメモリ装置から該データを与えるステップと、該アク
セスされたデータを該CPUに与えるステップとを包含し
ており、そのことにより上記課題が解決される。
【0016】上記のデータ処理方法は、上記直接アクセ
スステップと同時に、上記フラッシュメモリ装置から上
記メインメモリ装置への上記リクエストされたデータを
含むデータのブロック転送を開始するステップをさらに
包含していてもよい。
【0017】上記のデータ処理方法は、上記メインメモ
リに格納されていないデータの仮想アドレスを上記フラ
ッシュメモリ装置の物理アドレスにメモリマップするス
テップをさらに包含していてもよい。
【0018】上記のデータ処理方法は、上記メインメモ
リに格納されていないデータの仮想アドレスを上記フラ
ッシュメモリ装置の物理アドレスにメモリマップするス
テップと、上記直接アクセスステップと同時に、該フラ
ッシュメモリ装置から該メインメモリ装置への該リクエ
ストされたデータを含むデータのブロック転送を開始す
るステップと、該ブロック転送が完了すると、該メイン
メモリに転送されたデータの該仮想アドレスが、該フラ
ッシュメモリ内の物理アドレスではなく、該メインメモ
リ内の物理アドレスに対応するように該メモリマップを
改変するステップとをさらに包含していてもよい。
【0019】上記のデータ処理方法は、上記仮想アドレ
スをアドレス変換テーブルと比較するステップと、上記
リクエストされたデータを上記メインメモリ装置からア
クセスするべきか、該リクエストされたデータを上記フ
ラッシュメモリ装置から直接アクセスすべきかを決定す
るステップとをさらに包含していてもよい。
【0020】本発明の局面、特徴および利点は、添付図
面と関連して読まれる以下の詳細な記載からより容易に
理解されるであろう。
【0021】
【発明の実施の形態】本発明は、フラッシュメモリなど
の安定記憶媒体に格納されたデータにアクセスする方法
およびシステムを含む。フラッシュメモリに格納された
データは、ディスク上の同一データよりもより短い待ち
時間でアクセスされ得るが、この待ち時間は従来の揮発
性RAMよりも長い。上述したように、取り外し可能な記
憶媒体のための工業規格に適合するために、多くのフラ
ッシュメモリ製品は二次I/Oバスを介してCPUに接続して
いる。この二次I/Oバスの使用によって、潜在的な性能
が低下する。本発明は、フラッシュメモリあるいは関連
づけられるメインメモリへの書き込みアクセスへの影響
を述べていないことに留意されたい。
【0022】本明細書においてフォールトトリクリング
(fault trickling)とも称される本発明は、フラッシュ
メモリのファイングレイン(fine-grained)アクセス能
力を利用し、失われた性能の一部を取り戻す。現状の水
準でのフラッシュメモリ管理技術は、読み出し専用実行
可能プログラムへの直接アクセスあるいは読み出し/書
き込みデータへのブロックベースアクセスを含むが、フ
ォールトトリクリング法におけるようにこれらの2つの
アクセス技術を統合して用いることは、現在まで知られ
ていない。
【0023】図1は、本発明と共に用いるのに適したシ
ステム構成のハイレベル図を示している。図1におい
て、中央処理装置(CPU)110は命令を実行し、メモリか
らデータをリクエストする。リクエストされたデータは
メインメモリ112あるいはフラッシュメモリ114に常駐し
得る。CPU110は、一次システムバス116(すなわち、単
一レイヤバス構造)によってメインメモリ112に結合さ
れている。他方、CPU110は一次バス116および二次バス1
18を介してフラッシュメモリ114に結合されている。本
発明の実施態様において、フラッシュメモリ114は、一
次システムバス116に直接接続されていない。図4を参
照して以下に詳細に記載されるメモリ管理ユニット(MM
U)(図1に図示せず)は、いずれかのメモリへのCPU11
0のアクセスを管理するため、かつ、メモリとメモリの
間のデータ転送を管理するために用いられ得る。
【0024】本発明において、CPU110は、メインメモリ
112およびフラッシュメモリ114への直接のファイングレ
インアクセスを備えている。フラッシュメモリ114への
直接アクセスは、フラッシュメモリのランダムアクセス
能力および公知のI/Oメモリマップ技術によって与えら
れるメモリマップされた入力/出力に対するサポートに
よって可能になる。
【0025】本発明によれば、データがリクエストされ
ると、MMU(図4に示す)はデータがメインメモリ112か
ら利用可能であるか、あるいはCPU110がフラッシュメモ
リ114にアクセスしてデータをフェッチすることが必要
であるかを決定する。データがメインメモリ112にない
場合、データはファイングレインアクセスによってフラ
ッシュメモリ114から個別にフェッチされ、それと同時
にあるいはその直後に、データの対応するブロックがフ
ラッシュメモリ114からメインメモリ112に転送される。
フラッシュメモリ114からメインメモリ112に転送された
データのユニットは、典型的には、フラッシュメモリ11
4から直接アクセスされたデータよりもさらに大きい
(例えば、数キロバイトに対して数バイト)ことに留意
されたい。
【0026】従来のキャッシュにおいて、データのブロ
ック全体は、データについてのCPU110によるリクエスト
が満たされないうちにメインメモリに格納される。しか
し、本発明においては、公知の直接メモリアクセス(DM
A)技術によってブロックがフェッチされる間に、ブロ
ック内のデータについてのフラッシュメモリ114に対す
る単一ワードアクセスが可能になり、かつ、満たされ
る。
【0027】データのブロックがフラッシュメモリ114
からメインメモリ112に転送された後は、メインメモリ1
12に転送されたデータについてのいかなる次のリクエス
トあるいは未処理のリクエストも、メインメモリ112に
おけるブロックのコピーによって満たされることに留意
されたい。フラッシュメモリ114からメインメモリ112へ
の転送は、メインメモリ112に既に転送された、データ
についての次のあるいは未処理のリクエストが、ブロッ
ク全体がメインメモリ112に転送される前にメインメモ
リ112から完了され得るように、各々が別々の開始アド
レスを有するより小さい個別ブロックのグループとして
行われ得ることも考えられる。
【0028】通常、本発明は、フラッシュメモリベース
の安定記憶装置に対しアクセス待ち時間を削減したこと
による有利な結果を与える。すなわち、本発明は、時間
内に2つの動作をオーバーラップあるいはインタリーブ
する。これらの2つの動作とは、安定記憶装置(例え
ば、フラッシュメモリ114)の個別ワードへの直接アク
セスおよび安定記憶装置(例えば、フラッシュメモリ11
4)からメインメモリ112へのデータの大きいブロックの
転送である。その結果、CPU110がブロック転送の完了を
待たなければならないよりも早く、処理のためにデータ
が利用可能になる。さらに、ブロック転送が完了する
と、ブロックはメインメモリにおいて利用可能になり、
そこではデータが安定記憶装置にある場合よりもより速
くアクセスされ得る。
【0029】図2は、本発明のステップを図示するフロ
ーチャートである。図2に示されるように、ステップ21
0で安定記憶装置のブロックにおけるデータについての
第1のリクエストをすると、ステップ212でメインメモ
リ112あるいはフラッシュメモリ114にデータが常駐して
いるかを決定する。本発明の実施態様において、この決
定は、データが格納されている(メインあるいはフラッ
シュ)メモリに基づいて、リクエストされた仮想アドレ
スをデータについての物理アドレスに変換する変換索引
バッファ(TLB)(図4に図示)などのようなアドレス変
換テーブル(ATT)を用いて行われる。
【0030】ステップ212において、データがフラッシ
ュメモリ114に格納されていることが分かれば、ステッ
プ214でリクエストされたデータはフラッシュメモリか
ら直接受け取られ、フラッシュメモリ114からメインメ
モリ112へのブロック転送が開始される。本発明の実施
態様において、ステップ214のブロック転送が進行して
いる間、データへの次のリクエストがフラッシュメモリ
114から直接受け取られる。ブロック転送が完了する
と、データについての別のリクエストが、メインメモリ
112における新しいコピーから受け取られる。
【0031】図3は、メインメモリ112およびフラッシ
ュメモリ114に格納されているデータがどのように仮想
メモリ空間310にマップされているかを示す機能ブロッ
ク図である。本発明は、フラッシュメモリ114とメイン
メモリ112との間のブロック転送を行うと同時に、デー
タをフラッシュメモリから仮想メモリに直接マップす
る。ブロック転送が完了するとメインメモリ112に現在
位置しているデータのコピーがアクセスされるように、
各ブロック転送後にメモリマップが更新されることに留
意されたい。
【0032】図4は、MMU420についてさらに詳細に示し
た、図1に類似の機能ブロック図である。図4に示され
るように、CPU110は、本質的に「補助メモリ記憶装置」
であるものに結合されるキャッシュ/コントローラ410
に結合されている。補助メモリ記憶装置は、メインメモ
リ112と、フラッシュメモリ114と、一次バス116と、二
次バス118とを備えている。さらに、補助メモリ記憶装
置は、アドレス変換テーブル430とDMAコントローラ450
とを用いるメモリ管理ユニット(MMU)420を備え、このメ
モリ管理ユニット(MMU)は一次バス116に結合されてい
る。MMU420は、CPU110を有するCPUモジュールの一部に
なることあるいは二次バス118に結合される可能性のあ
ることを含む動作の最適効率に基づいて、特定のアーキ
テクチャ内で構成され得ると考えられる。MMU420は、以
下の機能を含む幾つかの機能を行う。
【0033】1)データリクエストに基づく、アクセス
されるメモリ(すなわち、メモリおよび/あるいはフラ
ッシュ)の管理、 2)必要なメモリへの直接アクセスの制御、および 3)フラッシュメモリ114からメインメモリ112へのブロ
ック転送の実行。
【0034】アドレス変換テーブル(ATT)430からフラ
ッシュメモリ114へ引かれた実線によって示されるよう
に、第1のアクセスでは、ATT430のメモリマップは、CP
U110によって供給される仮想アドレス440をフラッシュ
メモリ114の物理アドレス432にマップする。
【0035】本発明の実施態様において、「第1のアク
セス」は、データがメインメモリ112にまだ格納されて
いない場合のデータについてのCPU110によるあらゆるリ
クエストと考えられることに留意されたい。
【0036】引き続き図4を参照すると、第1のアクセ
スでは、MMU420はリクエストされたデータの直接のファ
イングレインアクセスをフラッシュメモリ114からCPU11
0に導く。同時に、MMU420は、DMAコントローラ450およ
び公知のDMA転送技術を用いて、元のリクエストよりも
実質的に大きいデータのブロック転送を、フラッシュメ
モリ114からメインメモリ112に導く。当業者が理解する
ように、MMU420は第1のアクセス(あるいは最初のリク
エスト)のアドレスに基づき、アドレスのブロックに順
番付けを行い、同時に、チップイネーブル、読み出し/
書き込み、チップセレクトなどのメモリの各々について
制御入力信号(図示せず)の多くを制御する。例えば、
第1のアクセスのアドレスが0100hであれば、フラッシ
ュメモリ114からメインメモリ112へ転送されるブロック
はアドレス0000hから0200hである。
【0037】ブロック転送の完了時に、仮想アドレスを
メインメモリ内に位置させるために、ATT430はデータの
より都合のよい位置を反映するように改変される。実施
態様例において、ATT430を改変するのはMMU420であるこ
とに留意されたい。さらに、実施態様例において、 メ
インメモリ112のどの領域が有効なデータを含み、メイ
ンメモリ112のどの領域が上書きされてフラッシュメモ
リ114からのデータのブロック転送を受け取るために適
当であるかをトラックすることによって、 MMU420はメ
モリ管理をメインメモリ112について行う。
【0038】従って、ATT430からメインメモリ112に引
かれた点線によって示されるように、同一仮想アドレス
の第2のあるいは次のアクセスが行われると、ATT430に
おけるメモリマップは、例えば、仮想アドレス領域440
に位置する仮想アドレスを、物理アドレス領域432に位
置し、メインメモリ112に対応する適切な物理アドレス
にマップする共同メモリである。
【0039】本発明は本明細書においてある特定の実施
態様を参照して図示され、記載されているが、本発明は
詳細に示された実施態様に限定されるものではない。逆
に、本発明の精神から逸脱することなく、様々な改変を
詳細に、請求項と等価な範囲および領域内で行うことが
可能である。
【0040】
【発明の効果】本発明によれば、読み出し専用実行可能
プログラムへの直接アクセスおよび読み出し/書き込み
データへのブロックベースアクセスの2つのアクセス技
術を統合して用いることにより、システムの安定記憶装
置へのアクセス待ち時間を短縮することができる。
【0041】CPUがブロック転送の完了を待たなくて
も、処理のためのデータ利用が可能になる。さらに、ブ
ロック転送が完了すると、ブロックがメインメモリにお
いて利用可能になり、データが安定記憶装置にある場合
よりもより速くアクセスすることが可能になる。
【図面の簡単な説明】
【図1】本発明と共に用いられるのに適したシステムの
ハイレベルブロック図である。
【図2】本発明の一実施態様を用いている間に行われる
ステップを示すハイレベルフローチャートである。
【図3】図1のメインメモリおよびフラッシュメモリに
ついて、本発明によって用いられる仮想メモリマップの
一例を示すハイレベルブロック図である。
【図4】メモリ管理ユニットと共に図1のアーキテクチ
ャを示す機能ブロック図である。
【符号の説明】
110 CPU 112 メインメモリ 114 フラッシュメモリ 116 一次バス 118 二次バス 310 仮想メモリ 420 メモリ管理ユニット 430 アドレス変換テーブル 432 物理アドレス 440 仮想アドレス 450 DMAコントローラ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ブライアン ディー.マーシュ アメリカ合衆国 ニューヨーク 10024, ニューヨーク,ウェスト 77ティーエイチ ストリート ナンバー9 308 (72)発明者 フレデリック ダグリス アメリカ合衆国 ニュージャージー 08873,ソマーセット,ハーリック ウェ イ 248

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 データを格納するためのフラッシュメモ
    リ装置と、 該フラッシュメモリ装置から分離され、該フラッシュメ
    モリ装置よりも比較的速いアクセス時間を有する、デー
    タを格納するためのメインメモリ装置と、 データについてリクエストを生成するプロセッサ手段
    と、 該プロセッサ手段によるデータリクエストが該メインメ
    モリ装置に現在格納されているデータについてのもので
    はないときに、該プロセッサ手段から受け取られた該リ
    クエストに応じて、該プロセッサ手段による直接アクセ
    スを該フラッシュメモリに格納されているデータに対し
    て行うメモリ管理ユニットとを備えた、データ処理シス
    テム。
  2. 【請求項2】 前記プロセッサ手段によるデータリクエ
    ストが前記メインメモリ装置に現在格納されているデー
    タについてのものではないときに、前記メモリ管理ユニ
    ットが、該プロセッサ手段によってリクエストされたデ
    ータを含むデータのブロックを前記フラッシュメモリか
    ら該メインメモリ装置に同時に転送する、請求項1に記
    載のデータ処理システム。
  3. 【請求項3】 前記メモリ管理ユニットが、 前記プロセッサ手段によるデータリクエストが前記メイ
    ンメモリ装置に現在格納されているデータについてのも
    のではないときに、該プロセッサ手段によってリクエス
    トされた前記データを含むデータのブロックを前記フラ
    ッシュメモリ装置から前記メインメモリ装置に同時に転
    送する手段と、 該プロセッサから受け取られたデータについての各リク
    エストと、該メインメモリ装置に転送された該データと
    を比較することによって、該メインメモリ装置から該リ
    クエストされたデータを優先的に与える手段とを備え
    た、請求項1に記載のデータ処理システム。
  4. 【請求項4】 前記メモリ管理ユニットが、 格納されたデータの少なくとも第1のアクセスについ
    て、データをリクエストするために前記プロセッサによ
    って用いられる仮想アドレスを、前記フラッシュメモリ
    装置の物理アドレスに直接マップするアドレス変換手段
    をさらに備えている、請求項3に記載のデータ処理シス
    テム。
  5. 【請求項5】 前記メモリ管理ユニットが、少なくとも
    第1のアクセスについて、データをリクエストするため
    に前記プロセッサによって用いられる仮想アドレスを、
    前記フラッシュメモリ装置の物理アドレスにマップし、
    該第1のアクセスの後に、該仮想アドレスを前記メイン
    メモリの物理アドレスに直接マップするアドレス変換テ
    ーブルを備えている、請求項3に記載のデータ処理シス
    テム。
  6. 【請求項6】 中央処理ユニット(CPU)と、フラッシ
    ュメモリ装置と、メインメモリ装置とを備えているデー
    タ処理システムにおいてデータをアクセスする方法であ
    って、該方法は、 該CPUによってデータをリクエストするステップと、 該リクエストされたデータが該メインメモリに格納され
    ているかを決定するステップと、 直接アクセスを行う該CPUに、該フラッシュメモリ装置
    から該データを与えるステップと、 該アクセスされたデータを該CPUに与えるステップとを
    包含する、方法。
  7. 【請求項7】 前記直接アクセスステップと同時に、 前記フラッシュメモリ装置から前記メインメモリ装置へ
    の前記リクエストされたデータを含むデータのブロック
    転送を開始するステップをさらに包含する、請求項6に
    記載の方法。
  8. 【請求項8】 前記メインメモリに格納されていないデ
    ータの仮想アドレスを前記フラッシュメモリ装置の物理
    アドレスにメモリマップするステップをさらに包含す
    る、請求項6に記載の方法。
  9. 【請求項9】 前記メインメモリに格納されていないデ
    ータの仮想アドレスを前記フラッシュメモリ装置の物理
    アドレスにメモリマップするステップと、 前記直接アクセスステップと同時に、該フラッシュメモ
    リ装置から該メインメモリ装置への該リクエストされた
    データを含むデータのブロック転送を開始するステップ
    と、 該ブロック転送が完了すると、該メインメモリに転送さ
    れたデータの該仮想アドレスが、該フラッシュメモリ内
    の物理アドレスではなく、該メインメモリ内の物理アド
    レスに対応するように該メモリマップを改変するステッ
    プとをさらに包含する、請求項6に記載の方法。
  10. 【請求項10】 前記仮想アドレスをアドレス変換テー
    ブルと比較するステップと、 前記リクエストされたデータを前記メインメモリ装置か
    らアクセスするべきか、該リクエストされたデータを前
    記フラッシュメモリ装置から直接アクセスすべきかを決
    定するステップとをさらに包含する、請求項6に記載の
    方法。
JP8040157A 1995-02-28 1996-02-27 安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム Withdrawn JPH08314794A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US39596595A 1995-02-28 1995-02-28
US08/395,965 1995-02-28

Publications (1)

Publication Number Publication Date
JPH08314794A true JPH08314794A (ja) 1996-11-29

Family

ID=23565295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8040157A Withdrawn JPH08314794A (ja) 1995-02-28 1996-02-27 安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム

Country Status (2)

Country Link
US (1) US5802554A (ja)
JP (1) JPH08314794A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149491A (ja) * 2000-08-17 2002-05-24 Koninkl Philips Electronics Nv プロセッサメモリシステム
JP2010066914A (ja) * 2008-09-09 2010-03-25 Toshiba Corp 統合メモリ管理装置及びメモリ管理方法
JP2010186411A (ja) * 2009-02-13 2010-08-26 Toshiba Corp プログラム実行装置、プログラム実行方法、及びプログラム

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7190617B1 (en) * 1989-04-13 2007-03-13 Sandisk Corporation Flash EEprom system
EP0617363B1 (en) * 1989-04-13 2000-01-26 SanDisk Corporation Defective cell substitution in EEprom array
GB2317722B (en) * 1996-09-30 2001-07-18 Nokia Mobile Phones Ltd Memory device
US7441254B1 (en) * 1997-07-09 2008-10-21 International Business Machines Corporation Simulation of memory-mapped I/O
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
JP3732637B2 (ja) * 1997-12-26 2006-01-05 株式会社ルネサステクノロジ 記憶装置、記憶装置のアクセス方法及び半導体装置
US6256683B1 (en) 1998-12-23 2001-07-03 Bops, Inc. Methods and apparatus for providing direct memory access control
JP3807582B2 (ja) * 1999-02-18 2006-08-09 株式会社ルネサステクノロジ 情報処理装置及び半導体装置
US6347346B1 (en) * 1999-06-30 2002-02-12 Chameleon Systems, Inc. Local memory unit system with global access for use on reconfigurable chips
JP2001134486A (ja) * 1999-11-04 2001-05-18 Fujitsu Ltd マイクロプロセッサおよび記憶装置
US7389374B1 (en) 2000-05-17 2008-06-17 Marvell International Ltd. High latency interface between hardware components
US6871251B1 (en) * 2000-05-17 2005-03-22 Marvell International Ltd. High latency interface between hardware components
US7281065B1 (en) 2000-08-17 2007-10-09 Marvell International Ltd. Long latency interface protocol
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US7409685B2 (en) 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
KR100389867B1 (ko) 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US7169155B2 (en) * 2001-12-14 2007-01-30 Scimed Life Systems, Inc. Methods and apparatus for guiding a needle
US6976120B2 (en) * 2002-01-28 2005-12-13 Intel Corporation Apparatus and method to track flag transitions for DRAM data transfer
US6976121B2 (en) * 2002-01-28 2005-12-13 Intel Corporation Apparatus and method to track command signal occurrence for DRAM data transfer
EP1499961A2 (en) * 2002-04-30 2005-01-26 Koninklijke Philips Electronics N.V. Apparatus and method for fetching data from memory
ATE503229T1 (de) * 2002-04-30 2011-04-15 Dsp Group Switzerland Ag Verfahren zur ausholung von daten aus einem nichtflüchtigen speicher in einer integrierten schaltung und integrierte schaltung hierfür
EP1514176B1 (en) * 2002-06-06 2007-10-10 Nxp B.V. Method and apparatus for writing data to a non-volatile memory
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
US7496690B2 (en) * 2003-10-09 2009-02-24 Intel Corporation Method, system, and program for managing memory for data transmission through a network
US7171526B2 (en) * 2003-11-07 2007-01-30 Freescale Semiconductor, Inc. Memory controller useable in a data processing system
JP3977803B2 (ja) * 2003-12-17 2007-09-19 株式会社日立製作所 バックアップシステム及び方法並びにプログラム
WO2005088448A1 (en) * 2004-03-15 2005-09-22 Red Bend Ltd. Method and apparatus for reliable in-place update
US20050262322A1 (en) * 2004-05-21 2005-11-24 Kenneth Ma System and method of replacing a data storage drive
US20050235283A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Automatic setup of parameters in networked devices
US20050235336A1 (en) * 2004-04-15 2005-10-20 Kenneth Ma Data storage system and method that supports personal video recorder functionality
US20050235063A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Automatic discovery of a networked device
US7555613B2 (en) * 2004-05-11 2009-06-30 Broadcom Corporation Storage access prioritization using a data storage device
US20050231849A1 (en) * 2004-04-15 2005-10-20 Viresh Rustagi Graphical user interface for hard disk drive management in a data storage system
US7681007B2 (en) * 2004-04-15 2010-03-16 Broadcom Corporation Automatic expansion of hard disk drive capacity in a storage device
US8543737B2 (en) * 2004-05-12 2013-09-24 Broadcom Corporation System and method to control access to data stored in a data storage device
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US7657886B1 (en) * 2004-06-03 2010-02-02 Hewlett-Packard Development Company, L.P. Mobile device with a MMU for faster firmware updates in a wireless network
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US7882299B2 (en) * 2004-12-21 2011-02-01 Sandisk Corporation System and method for use of on-chip non-volatile memory write cache
JP2008538432A (ja) * 2005-04-08 2008-10-23 ビーアイエイピー・インコーポレーテッド アプリケーションをメモリ制約システムにダウンロードする方法およびシステム
US20060230136A1 (en) * 2005-04-12 2006-10-12 Kenneth Ma Intelligent auto-archiving
US20070204102A1 (en) * 2006-02-28 2007-08-30 Nokia Corporation Cache feature in electronic devices
WO2007146710A2 (en) 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
EP2047420A4 (en) 2006-07-27 2009-11-18 Hewlett Packard Development Co USER EXPERIENCE AND DEPENDENCE MANAGEMENT IN A MOBILE DEVICE
KR101498673B1 (ko) 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
JP2009087028A (ja) * 2007-09-28 2009-04-23 Toshiba Corp メモリシステム及びメモリの読出し方法並びにプログラム
WO2009048707A1 (en) * 2007-10-12 2009-04-16 Rambus Inc. Managing flash memory in computer systems
US8959307B1 (en) 2007-11-16 2015-02-17 Bitmicro Networks, Inc. Reduced latency memory read transactions in storage devices
US8665601B1 (en) 2009-09-04 2014-03-04 Bitmicro Networks, Inc. Solid state drive with improved enclosure assembly
US9135190B1 (en) 2009-09-04 2015-09-15 Bitmicro Networks, Inc. Multi-profile memory controller for computing devices
US8447908B2 (en) 2009-09-07 2013-05-21 Bitmicro Networks, Inc. Multilevel memory bus system for solid-state mass storage
US8560804B2 (en) 2009-09-14 2013-10-15 Bitmicro Networks, Inc. Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device
US8266369B2 (en) * 2009-12-18 2012-09-11 Nxp B.V. Flash memory interface
US9372755B1 (en) 2011-10-05 2016-06-21 Bitmicro Networks, Inc. Adaptive power cycle sequences for data recovery
US9043669B1 (en) 2012-05-18 2015-05-26 Bitmicro Networks, Inc. Distributed ECC engine for storage media
US9423457B2 (en) 2013-03-14 2016-08-23 Bitmicro Networks, Inc. Self-test solution for delay locked loops
US9430386B2 (en) 2013-03-15 2016-08-30 Bitmicro Networks, Inc. Multi-leveled cache management in a hybrid storage system
US9400617B2 (en) 2013-03-15 2016-07-26 Bitmicro Networks, Inc. Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained
US9734067B1 (en) 2013-03-15 2017-08-15 Bitmicro Networks, Inc. Write buffering
US10489318B1 (en) 2013-03-15 2019-11-26 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9875205B1 (en) 2013-03-15 2018-01-23 Bitmicro Networks, Inc. Network of memory systems
US9858084B2 (en) 2013-03-15 2018-01-02 Bitmicro Networks, Inc. Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory
US9720603B1 (en) 2013-03-15 2017-08-01 Bitmicro Networks, Inc. IOC to IOC distributed caching architecture
US9971524B1 (en) 2013-03-15 2018-05-15 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9842024B1 (en) 2013-03-15 2017-12-12 Bitmicro Networks, Inc. Flash electronic disk with RAID controller
US9501436B1 (en) 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
US9672178B1 (en) 2013-03-15 2017-06-06 Bitmicro Networks, Inc. Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system
US9934045B1 (en) 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9916213B1 (en) 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US10209904B2 (en) * 2013-04-09 2019-02-19 EMC IP Holding Company LLC Multiprocessor system with independent direct access to bulk solid state memory resources
CN104216837A (zh) * 2013-05-31 2014-12-17 华为技术有限公司 一种内存***、内存访问请求的处理方法和计算机***
US10078604B1 (en) 2014-04-17 2018-09-18 Bitmicro Networks, Inc. Interrupt coalescing
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
US10055150B1 (en) 2014-04-17 2018-08-21 Bitmicro Networks, Inc. Writing volatile scattered memory metadata to flash device
US9811461B1 (en) 2014-04-17 2017-11-07 Bitmicro Networks, Inc. Data storage system
US10042792B1 (en) 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
US9817753B2 (en) 2015-11-02 2017-11-14 International Business Machines Corporation Flash memory management
US10552050B1 (en) 2017-04-07 2020-02-04 Bitmicro Llc Multi-dimensional computer storage system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3896419A (en) * 1974-01-17 1975-07-22 Honeywell Inf Systems Cache memory store in a processor of a data processing system
US4056845A (en) * 1975-04-25 1977-11-01 Data General Corporation Memory access technique
US4169284A (en) * 1978-03-07 1979-09-25 International Business Machines Corporation Cache control for concurrent access
JPS57105879A (en) * 1980-12-23 1982-07-01 Hitachi Ltd Control system for storage device
EP0189944B1 (en) * 1985-02-01 1993-05-12 Nec Corporation Cache memory circuit capable of processing a read request during transfer of a data block
US5293597A (en) * 1987-03-09 1994-03-08 At&T Bell Laboratories Concurrent context memory management unit
US4912636A (en) * 1987-03-13 1990-03-27 Magar Surendar S Data processing device with multiple on chip memory buses
US4933846A (en) * 1987-04-24 1990-06-12 Network Systems Corporation Network communications adapter with dual interleaved memory banks servicing multiple processors
US5276845A (en) * 1988-08-25 1994-01-04 Yamaha Corporation Apparatus with multiple buses for permitting concurrent access to a first memory by a processor while a DMA transfer is occurring between a second memory and a communications buffer
US5185875A (en) * 1989-01-27 1993-02-09 Digital Equipment Corporation Method and apparatus for reducing memory read latency in a shared memory system with multiple processors
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
US5073851A (en) * 1990-02-21 1991-12-17 Apple Computer, Inc. Apparatus and method for improved caching in a computer system
DE4028080C2 (de) * 1990-09-05 2000-09-21 Hofmann Maschinen Und Anlagenbau Gmbh Vorrichtung zum Aufziehen von Kraftfahrzeugreifen auf Felgen von Scheibenrädern
US5293609A (en) * 1991-04-19 1994-03-08 International Business Machines Corporation Hit-density-based replacement for data cache with prefetching
US5293603A (en) * 1991-06-04 1994-03-08 Intel Corporation Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path
US5283883A (en) * 1991-10-17 1994-02-01 Sun Microsystems, Inc. Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput
JPH06236284A (ja) * 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
US5311462A (en) * 1991-12-19 1994-05-10 Intel Corporation Physical placement of content addressable memories
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US5353256A (en) * 1993-06-30 1994-10-04 Intel Corporation Block specific status information in a memory device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149491A (ja) * 2000-08-17 2002-05-24 Koninkl Philips Electronics Nv プロセッサメモリシステム
JP2010066914A (ja) * 2008-09-09 2010-03-25 Toshiba Corp 統合メモリ管理装置及びメモリ管理方法
JP2010186411A (ja) * 2009-02-13 2010-08-26 Toshiba Corp プログラム実行装置、プログラム実行方法、及びプログラム

Also Published As

Publication number Publication date
US5802554A (en) 1998-09-01

Similar Documents

Publication Publication Date Title
JPH08314794A (ja) 安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム
US8041871B2 (en) System and method for providing address decode and virtual function (VF) migration support in a peripheral component interconnect express (PCEI) multi-root input/output virtualization (IOV) environment
RU2442211C2 (ru) Гибридное запоминающее устройство с единым интерфейсом
US5864876A (en) DMA device with local page table
US7519754B2 (en) Hard disk drive cache memory and playback device
JP4562919B2 (ja) ダイナミック・ディスプレイ・メモリを実装するための方法および装置
US9208084B2 (en) Extended main memory hierarchy having flash memory for page fault handling
US6202125B1 (en) Processor-cache protocol using simple commands to implement a range of cache configurations
TWI302707B (en) Mass storage device having both xip function and storage function
US20070147115A1 (en) Unified memory and controller
US20040117587A1 (en) Hardware managed virtual-to-physical address translation mechanism
KR20090026941A (ko) 복수개의 비휘발성 데이터 저장매체를 구비한 저장장치의가상 파일 시스템에서 어드레스 맵핑을 수행하는 방법 및그 장치
US20040117591A1 (en) Data processing system having no system memory
US20040117590A1 (en) Aliasing support for a data processing system having no system memory
US20050055528A1 (en) Data processing system having a physically addressed cache of disk memory
CN115168317B (zh) 一种lsm树存储引擎构建方法和***
WO2007049850A1 (en) A mass storage device having both xip function and storage function
JP3583844B2 (ja) キャッシュメモリ方式
JPH1091527A (ja) 記憶装置および記録媒体
JP3940701B2 (ja) ディスクアレイ装置及び同装置に適用されるキャッシュ一致化制御方法
JPS6261135A (ja) キヤツシユメモリ
JP2001229074A (ja) メモリ制御装置と情報処理装置及びメモリ制御チップ
CN118349485A (zh) 一种基于bios pci链路实现物理内存共享的方法
JPS59135684A (ja) バツフアメモリ間のデ−タバイパス方式
CN118331512A (zh) 一种基于存储控制卡的处理方法和装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030506