JPH11502656A - メモリへの書込みを結合する方法および装置 - Google Patents

メモリへの書込みを結合する方法および装置

Info

Publication number
JPH11502656A
JPH11502656A JP9504626A JP50462697A JPH11502656A JP H11502656 A JPH11502656 A JP H11502656A JP 9504626 A JP9504626 A JP 9504626A JP 50462697 A JP50462697 A JP 50462697A JP H11502656 A JPH11502656 A JP H11502656A
Authority
JP
Japan
Prior art keywords
data
memory
storage
new
valid
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
Application number
JP9504626A
Other languages
English (en)
Inventor
ランゲンドルフ,ブライアン・ケイ
デル,マイケル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JPH11502656A publication Critical patent/JPH11502656A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/1056Updating check bits on partial write, i.e. read/modify/write
    • 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/0215Addressing or allocation; Relocation with look ahead addressing means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 メモリへの各書込みを検査して、処理を待っているメモリへの他の書込みと同じアドレスにアドレス指定されているか否かを判断し、メモリ書込みが行われるまで同じアドレスへの後続の書込みにおける有効データを統合する装置および方法。

Description

【発明の詳細な説明】 メモリへの書込みを結合する方法および装置 発明の背景発明の分野 本発明はパーソナル・コンピュータ・システムに関し、具体的には、メモリ内 の同じアドレスに書き込まれる異なるデータの増分を統合して、書込み操作に要 するステップ数を少なくし、書込み操作をより迅速に行えるようにする方法およ び装置に係わる。従来の技術の歴史 パーソナル・コンピュータ・システムの動作速度を速くするために、中央演算 処理装置の動作速度が絶えず高速化されてきた。一般に、最新のプロセッサはパ ーソナル・コンピュータ・システムの他の部分で行われる転送よりも高速に稼働 する。中央演算処理装置からメイン・メモリへの書込みはきわめて低速な場合が 多い。そのため、多くの従来技術のシステムは、中央演算処理装置とメイン・メ モリの間のメモリ・バス上で書込みバッファを使用している。このような書込み バッファには、プロセッサがメイン・メモリに書き込むデータが、メイン・メモ リがそれを受入れ可能になるまで格納される。書込みバッファは、バーストでデ ータを転送するように設計されたプロセッサおよびその他の回路と共に使用する と特に有利である。その場合、各バーストの個々の要素は最大メモリ・バス幅ま でのサイズの増分の個別にアドレスされたデータを含む。バースト転送は、プロ セッサがメモリ・バスまたはローカル・バスで書き込むいくつかのデータの増分 を、1回のバス・アクセスで1組の制御信号のみを使用して転送するため高速で ある。複数のデータの増分を書込みバッファに転送することによって、プロセッ サはプロセッサのキャッシュに入っているデータと命令を使用してその他の操作 を遂行することができ、より低速のメモリ操作が完了するのを待たなくても済む 。 しかし、データをメモリに書き込むことができるよりもプロセッサの方が速く 機能している期間がある程度長くなると、最後には、書き込まれる様々なデータ の増分をすべて保持するだけの十分なスペースが書込みバッファになくなる。こ れは、信頼性向上のためにデータと共に誤り訂正コード(ECC)をメモリに格 納するシステムでは特にそうであり、その理由は、そのようなシステムは誤り訂 正コードを使用しないシステムよりもメモリにデータを書き込む速度がかなり遅 くなるためである。 誤り訂正コードは、誤り訂正プロセスの一部として生成され、メモリ・アレイ 内の記憶誤りを検出してそれらの誤りの一部を修正する。誤り訂正プロセスは、 データ記憶中に数学関数を使用して、記憶されるデータ固有の誤り訂正コード( 本明細書では検査値またはECCと呼ぶ)を計算する。検査値はデータに関連さ せてメモリに記憶される。そのデータを後でメモリから読み取るとき、読み取っ たデータがそのデータと共に記憶された検査値を生成するかどうかが判定される 。データが記憶された検査値を生成しない場合、最初に記憶されてからデータま たは検査値に何らかの変化が発生しており、そのデータは信頼できない。値が変 わっている場合、メモリから読み取ったデータおよび検査値は、誤りのタイプに 応じてデータの訂正を行うために使用されることがある。 ECC値に割り当てるメモリ量は常に1つの兼ね合いであり、割り当てる量が 多ければそれだけ正確な検査を行うことができるが、データ用に残されるスペー スが少なくなる。メイン・メモリに記憶される64ビット・バス幅データの増分 の典型的なECC値は8ビットである。このような値によって、1ビットおよび 2ビットのすべての誤りの検出と、ある種のメモリ内の連続4ビット内の誤りの 検出と、すべての1ビット誤りの訂正とを行うことができる。コンピュータ・シ ステム設計者は通常、メモリ信頼性にこの割合の空間より多くの空間を割り当て たがらない。その結果、誤り訂正コードを使用するシステムは一般に、個別に記 憶される各バイト、ワード、またはダブルワードごとにはECC値を計算せず、 バス幅単位のデータ全体についてのみ計算する。しかし、どのような長さのどの ようなデータがメモリに書き込まれても、ECC値を計算する元になるデータが 変更されるため、メモリにどのような長さのデータが書き込まれる場合もそのた びにバス幅データの増分について新しいECC値を計算しなければならない。 メモリへのバス幅増分の書込みは、書込み速度にはほとんど影響を与えない。 しかし、メモリ・バスの幅より小さいデータ(たとえばダブルワード幅バスの1 バイトまたは1ワード)のメモリへの書込みを実現するには、メモリ・コントロ ーラは一般に、ECC値の計算に使用する全バス幅のデータを使用しなければな らない。バス幅より小さいメモリ書込みにバス幅のデータを使用するには、メモ リ・コントローラはメモリ内の当該アドレスにあるデータを読み取り、そのデー タを記憶されているECC値と照合してデータが正しいことを確認し、メモリか ら読み取ったデータを新しい書込みデータで変更し、新しいECC値を生成し、 変更したデータを新しいECC値と共にバス幅増分でメモリに書き戻さなければ ならない。これは、時間のかかるプロセスである。 たとえば、誤り訂正コードを使用するシステムでは、プロセッサが、それぞれ が1ワードの長さの4つの別々のデータ増分をメモリに書き込み、その4回の書 込みがメモリ内の同じカッド・ワード空間の順次の4つのワード・アドレスに個 別にアドレス指定され、その結果、メモリへの各書込みが別々に行われる場合、 各書込みで時間のかかる読取り/ECC検査/変更/ECC生成/書込みのプロ セスが必要になる。一方、同じ4つのワードを同じメモリ空間に単一のカッド・ ワードとして書き込む場合、1回の書込み操作で済む。この操作によって、メモ リ内のカッド・ワードを置き換える1つの有効なカッド・ワード全体が書き込ま れ、したがってその書込みには読取りステップも変更ステップも含まれず、1回 のECC値生成があるだけである。 データを4つの個別ワードとして転送するのに要する合計時間は、単一のカッ ド・ワードを書き込むのに要する時間の少なくとも8倍である。各カッド・ワー ドについて1回の書込み操作しか必要でないため、4つのカッド・ワードを書き 込む場合でさえも、カッド・ワード・メモリ・バスを使用して4つの個別ワード よりもはるかに速い。したがって、誤り訂正コードを使用するシステムでバス幅 よりも小さいデータの増分を書き込むと、書込みバッファからデータを出す速度 が遅くなり、最終的にはコンピュータの動作が遅くなる。 書込みバッファを使用し、誤り訂正コードと共に記憶されるデータについてバ ースト書込み操作を行うパーソナル・コンピュータ・システムにおけるメモリへ の書込み速度を速くすることが望ましい。発明の概要 したがって、本発明の目的は、パーソナル・コンピュータ・システムにおいて 書込みバッファからメモリ・アレイにデータを書き込む速度を速くする装置およ び方法を提供することである。 本発明の上記およびその他の目的は、各記憶域が供給源からのバス幅書込みに 含まれるすべての有効データをそのデータのアドレスおよび状況と共に記憶する ことができる、複数の記憶域を有する書込みバッファを備えるパーソナル・コン ピュータで達成される。記憶域の1つに記憶された有効データには、メモリ・コ ントローラがその記憶域内のデータをメモリに書き込むことができるようになる まで、同じメモリ・アドレスへの後続の書込みに含まれる新しい有効データが追 加される。メモリ・コントローラが記憶域のデータをメモリに書き込めるように なると、メモリ・コントローラはデータを検査してすべてのデータが有効かどう かを調べる。データがすべて有効な場合は、アドレス指定されたメモリ空間に書 き込まれる。書込みバッファの記憶域内のデータの一部が無効な場合、データの アドレス指定先であるメモリ空間が読み取られ、そのメモリ空間に記憶されてい る有効データが書き込む有効データと統合され、アドレス指定されたメモリ空間 への有効データの全バス幅が形成される。書込みバッファ内の後続書込みからの 有効データを統合することによって、読取り/変更/書込み操作および関連する ECC値の検査および計算を必要とする全バス幅より小さい書込みの数が減少し 、それによってコンピュータ・システムの動作が高速化する。 本発明の上記およびその他の目的および特徴は、図面を参照しながら以下の詳 細な説明を読めばよりよく理解できよう。図面ではいくつかの図を通して同様の 要素は同様の符号で示されている。図面の簡単な説明 第1図は、本発明により設計されたパーソナル・コンピュータ・システムのブ ロック図である。 第2図は、第1図のシステムに組み込まれた本発明により設計されたブリッジ 回路のブロック図である。 第3図は、第2図のブリッジ回路の一部である書込みバッファをより詳細に示 すブロック図である。 第4図は、第3図に示す書込みバッファの一実施形態におけるデータの記憶を 示す図である。 第5図は、第4図に示す記憶を供給する本発明の一実施形態の実施態様を詳細 に示すブロック図である。表記および用語 以下の詳細な説明の一部は、コンピュータ・メモリ内のデータ・ビットに対す る操作の記号表現を使用して記載されている。これらの説明および表現は、デー タ処理技術業者が作業の内容を他のデータ処理技術業者に最も効果的に伝えるた めに使用する手段である。操作とは物理量の物理的操作を必要とする操作である 。これらの物理量は、記憶、転送、結合、比較、およびその他の操作が可能な電 気信号または磁気信号の形態をとるのが普通であるが、必ずしもそうとは限らな い。主として一般的用法であるという理由から、これらの信号をビット、値、要 素、記号、文字、項、数値などと呼ぶと好都合であることがわかっている。しか し、これらおよび同様の用語は該当する物理量に関連づけられるべきものであり 、これらの物理量に付される便利な符号に過ぎないことに留意されたい。 さらに、行われる操作を、人間の操作者によって行われる知的操作に一般に関 連づけられる追加や比較などの用語で呼ぶことが多い。本発明の一部を形成する 本明細書に記載のいずれの操作においても、人間の操作者のそのような能力は、 ほとんどの場合必要でも望ましくもなく、それらの操作は機械による操作である 。本発明の操作を行うのに役立つ機械としては、汎用ディジタル・コンピュータ またはその他の同様の装置がある。いかなる場合も、コンピュータを操作する際 の方法操作と計算自体の方法との区別に留意されたい。本発明は、電気信号また は その他の(たとえば機械的、化学的)物理信号を処理して他の所望の物理信号を 生成する際にコンピュータを操作する方法および装置に関する。詳細な説明 第1図を参照すると、本発明の一実施形態により構成されたコンピュータ・シ ステム10が図示されている。図のシステム10は、システム10の動作を制御 するために供給される様々な命令を実行する中央演算処理装置11を備える。中 央演算処理装置11は典型的にはプロセッサ・バスによってブリッジ回路14に 結合され、ブリッジ回路14はシステム10の様々な構成要素間で情報を伝達す るように調整されたローカル・バス12へのアクセスを制御する。第1図で、バ ス12は周辺構成要素インタフェース(PCI)バスまたは特に高速なデータ転 送を行うように調整されたその他のローカル・バスであることが好ましい。典型 的なシステム10では、バス12には様々な入出力装置がバス・マスタ回路およ びバス・スレーブ回路として接続されている。本発明では、スレーブ回路として たとえば長期メモリ15をPCIバス12に結合することができる。バス12は 、サウンド・ボード、フレーム・バッファ、および同様のものなどその他の入出 力装置も結合することができる。 ブリッジ回路14はメモリ・バスによってメイン・メモリ13にも結合されて いる。メイン・メモリ13は典型的には、システム10に電力が供給されている 期間のあいだ情報を記憶するように従来技術の当業者には周知の方式で構成され たダイナミック・ランダム・アクセス・メモリ(DRAM)から成る。特定の構 成に応じて、ブリッジ回路14は典型的には、プロセッサとメイン・メモリとロ ーカル・バスの間でのデータ転送中にデータを格納するように、二次キャッシュ ・コントローラと、二次キャッシュ(しばしばL2キャッシュと呼ぶ)と、メモ リ・コントローラと、いくつかのバッファとを備える。これらの構成要素は、ブ リッジ回路14の組込み部分とするか、または回路基板上で他の構成要素に結合 することもできる。 第2図に、本発明に関係するブリッジ回路14の主要構成要素とメイン・メモ リ13の構成を詳細に図示する。第2図からわかるように、ブリッジ回路14は 中央演算処理装置11をブリッジ回路に結合するホスト・インタフェース20を 備える。ホスト・インタフェース20は中央演算処理装置との間で制御信号を送 受信する。また、ホスト−メイン・メモリ間バッファ・コントローラ21および ホスト−バス間バッファ・コントローラ22など、ブリッジ回路14の様々な他 の構成要素との間でも制御信号を送受信する。典型的にはブリッジ回路14の一 部ではないバス・アービタ回路23が、ローカル・バス12へのアクセスを制御 する。ホスト−メイン・メモリ間バッファ・コントローラ21、ホスト−バス間 バッファ・コントローラ22、バス・アービタ回路23はすべて、回路28に制 御信号を発生し、回路28は制御信号を発生してバス・アービタ回路23に戻し 、ブリッジ回路14内のバス・アクセスに関する操作の状態を通知する。 ブリッジ回路14の一部として、ホスト−メイン・メモリ間バッファ25とホ スト−バス間バッファ26も含まれる。ホスト−メイン・メモリ間バッファ25 とホスト−バス間バッファ26は、ホスト−メイン・メモリ間バッファ・コント ローラ21とホスト−バス間バッファ・コントローラ22からの制御信号に応答 してそれぞれの操作を行う。ホスト−メイン・メモリ間バッファ25は、メモリ ・バスでメイン・メモリ13に転送するために中央演算処理装置11から(また はより一般的には、本発明の他の実施態様における任意のプロセッサから)ホス ト・バスで供給される書込みデータの転送をバッファリングする書込みバッファ を備える。ホスト−バス間バッファ・コントローラ22は、ホスト−バス間バッ ファ27の動作を制御する。ホスト−バス間バッファ27は、ホスト・バス上で 中央演算処理装置11とローカル・バス12との間のデータ書込みの転送をバッ ファリングする書込みバッファを備える。 第3図に、第2図に示すホスト−メイン・メモリ間バッファ25の一部である 本発明による回路30を図示する。回路30は、メモリ13に書き込まれる個別 のデータの増分を(典型的にはプロセッサから)受け取る書込みバッファ33を 備える。カッド・ワード・メモリ・バスを有するシステムでは、書込みバッファ 33は、各記憶域が最大でバス幅のサイズのデータの増分を格納することができ る部分と、そのデータのメモリ・アドレスを格納する部分と、場合によってはい くつかの状況ビットを格納する部分とに分かれた複数の個々の記憶域(典型的に はハードウェア・レジスタ)を含む。第4図に、各記憶域が8個の順次バス幅書 込み項目に含まれるデータに割り当てることができる8バイトの記憶場所を備え る8個の個別の記憶域を含む書込みバッファ33の一実施形態を示す。図からわ かるように、図4のバッファ33内の各記憶域は、アドレス・ビットと状況ビッ トのための記憶場所も含む。その他の書込みバッファは、各記憶域がこれより少 ないかまたは多くの書込みデータを格納することができる、これより少ないかま たはより多い数の個別の記憶域を実施することもできる。したがって、他の特定 の書込みバッファは、バス幅書込みデータの4増分のためのデータ記憶場所しか なく、したがってその中にバーストで供給される4つの順次データ書込みを格納 することができる。 書込みバッファ33にデータが最初に書き込まれるとき、複数の記憶域のうち の1つが割り当てられ、データはその記憶域を指すそのアドレスと共に格納され る。第4図には、アドレス・ビットと状況ビットは各データの増分と共にバッフ ァの同じ物理記憶域に含まれているように図示されているが、アドレス・ビット と状況ビットは、データが中央演算処理装置によって特定のアドレスに書き込ま れるときに記憶内のデータを検出することができるようにしてその記憶域に関連 づけられている限り、実際にはデータとは別に格納することもできる。書込みに 、記憶域を満たすのに十分な有効データが含まれていると仮定して、そのデータ に関連づけられた状況ビットによってすべてのバイトが有効であると示されてい る。異なるアドレスへの後続の書込みにはそれぞれ個別の記憶域が割り当てられ 、関連するアドレス・ビットおよび状況ビットと共に同様にして格納される。 バッファ33からメモリへの書込みは、特定のメモリ・アドレスについて書込 みデータにバッファ33内の記憶域が割り振られている順序で行われる。ホスト −メイン・メモリ間制御回路21(「書込みコントローラ21」)がメイン・メ モリ13に次のデータの増分を書き込むことができるようになると、書込みバッ ファ33内で最も古い有効データを保持している記憶域内のデータが、次に書き 込まれるデータとして選択される。コントローラ21はバッファ33のその記憶 域に入っているすべてのバイトの有効性を検査する。メモリに書き込むデータが 有効データから成るカッド・ワード全体である場合、コントローラ21は、マル チプレクサ32がそのカッド・ワード全体とカッド・ワード・アドレスと状況ビ ットとをレジスタ31に転送することができるようにする。書込みバッファ33 内のデータがレジスタ31に書き込まれると、そのデータは書込みバッファ33 内では無効にされる。 データのすべてのバイトが有効であるとみなしたため、コントローラ21はイ ネーブル信号を発生し、それによってレジスタ31内のデータがメイン・メモリ 13内のアドレス指定された空間に書き込まれる。第3図で、データがメイン・ メモリ13のデータ記憶部分13aに書き込まれる様子が図示されている。それ と同時に、レジスタ31内のデータは検査値生成器34(これはたとえば、デー タを並列して受け入れるように構成された一連のゲートとすることができる)に も送られる。生成器34はそのデータに固有のECC検査値を生成し、メモリ1 3の検査値部分13bに書き込む。検査値部分13bは、データを格納するメモ リと物理的に一緒でも別でもよい。 メモリ13a内のデータを後で読み取るとき、検査値も読み取られる。データ は訂正回路38と検査回路35とに転送される。検査値は検査回路35に転送さ れ、検査回路によってデータと検査値からシンドロームと呼ばれる値が生成され る。シンドローム値は誤り回路37(これはルックアップ・テーブルまたは当業 者に周知のその他の訂正機構とすることができる)に転送される。読み取られた データ値が正しい場合、シンドロームの値の結果として誤り回路は訂正回路38 がメモリ・バスを変更せずにデータを転送することができるようにする。シンド ローム値が誤りを示している場合、誤り回路37によって信号が生成され、訂正 回路38がメモリ・バスに転送する前にデータの値が訂正されるか、またはデー タが不正であることが示される。一実施形態では、誤り回路37は、メモリ13 から読み取られた64ビットのデータのうちの1ビットを変更するビットのパタ ーンを生成する。 第3図の回路30を使用して、メイン・メモリ13に書込みを行うプロセスを 迅速化することができる。第4図は、書込みバッファ33の複数の記憶域へのい くつかの書込み操作を示す図である。各記憶域に影響を与える個々の書込み操作 について説明し、それらの書込み操作の結果を第4図に示す。ここではそれらの 操作のうちのいくつかについて検討する。 有効データが、書込みバッファ33に転送され、かつコントローラの前の操作 の終了後にメモリに書き込まれるのを待っており、すでに書込みバッファに入っ ている有効データと同じカッド・ワード・アドレスにアドレス指定された後の書 込み操作からの追加の有効データを書込みバッファ33の入力で受け取った場合 、この追加の有効データは同じアドレスに書き込まれる有効データにすでに割り 振られている記憶域に転送される。この追加の有効データは、その記憶域内の着 信有効データのビット位置にあるどのようなデータも(有効か否かを問わず)上 書きする(第4図のアドレスAへのデータを保持する記憶域を参照)。したがっ て、アドレス指定された記憶域内のすべてのデータが有効であって、その記憶域 内のデータによってアドレス指定されたカッド・ワードの一部のバイトまたはす べてのバイトに新しい有効データが書き込まれる場合、その記憶域に入っている データは新しいデータによって更新され、記憶域内のすべてのデータは有効なま まである。したがって、メモリ内の同じカッド・ワード・アドレス空間に対して 2つの書込みが発生し、その2つの書込みのうちの2番目の書込みが到着したと きに最初の書込みがまだメモリに書き込まれていない場合、両方の書込みの結果 が結合されてからメモリに書き込まれ、したがって、最新の有効データの1回の 書込みと検査値の1回の計算しか必要としない。 これと同じ結果は、2つの書込みが結合された後、コントローラがまだメモリ 13にデータを書き込むことができない場合にも生じる。そのアドレスにアドレ ス指定された追加の有効データが書込みバッファ33に供給された場合、そのデ ータは同じメモリ・アドレスにすでにアドレス指定されているデータが入ってい る記憶域に書き込まれる。この追加のデータが、記憶域内の有効データが現在格 納されているバイト位置にアドレス指定されている場合、記憶域内のデータは古 くなっており、この技法によって書込みバッファ33内で継続的に更新される( 第4図のアドレスEおよびFへのデータを保持する記憶域を参照)。書込みバッ ファ33に送られた追加のデータが、無効としてマークされたデータが現在格納 されているバイト位置にアドレス指定されている場合、アドレス指定された記憶 域内の有効データの量が新しいデータによって増加し、メモリへの書込み数が 減少する(第4図のアドレスCへのデータを保持する記憶域を参照)。このデー タ統合によって、誤り訂正コードを使用するシステムにおける各書込み統合につ いて少なくとも1回の書込み操作による書込みに要する時間が短縮され、しかも 、コントローラ21がメモリに書き込めるようになっているときに記憶域内のす べてのデータが有効な場合は、一連の読取り/変更/書込み操作となるはずの操 作が1回の単純な書込み操作に削減されることになる。これによって、メモリに データを書き込むのに要する時間が大幅に短縮される。誤り訂正コードを使用す るシステムにおける読取り/変更/書込みのすべての操作が単純な書込みに減る ことによって、それらの反復ステップがなくなるだけでなく、個々のワードのそ れぞれの読取り/変更/書込み操作中に古い検査値を検査し、新しい検査値を生 成する必要がなくなる。 上述の例のように、同じカッド・ワード内の順次ワード位置へのワードの4つ の書込みがバーストで行われる場合、書込みコントローラが十分に長い期間のあ いだ他の操作によって占有されていると仮定して、メモリに書き込む前にこれら のワードをすべて書込みバッファ33の記憶域のカッド・ワード空間に統合する ことができる(第4図のアドレスDへのデータを保持する記憶域を参照)。した がって、カッド・ワードの順次アドレスへの個々のワードの4つの書込みのバー ストが、1つの書込みとそれに付随する1つのチェック値の生成に削減される。 コントローラがメモリ13に書込みを行うことができるときに書込みバッファ 33内に任意の長さの有効データが入っている場合は待たずに操作が開始される 。コントローラが記憶域のカッド・ワード空間のすべてのバイトに有効バイトが 含まれていると判断した場合、操作は検査値の生成とメモリへの書込みと共にデ ータをメモリに単純に書き込むだけである。書込みが行われると、そこからデー タを取り出して書き込んだ書込みバッファの記憶域内のデータが無効化される。 誤り訂正コードを使用するシステムにおいて記憶域のカッド・ワード空間の全部 より少ない空間に有効データが含まれている場合は、コントローラ21はそのデ ータをその状況ビットと共にレジスタ31に転送し、メモリ内のアドレス指定さ れたカッド・ワード空間に格納されているデータの読取りを開始する。メモリか ら読み取られたデータの有効バイトは、無効としてマークされたデータを保持し て いるレジスタ31のバイト位置に格納され、マルチプレクサ32がレジスタ31 に供給した有効バイトと統合される。これらの読取り操作と変更操作に続いて、 現在は全部に有効バイトが入っているレジスタ31内のカッド・ワードがメモリ 内のアドレス指定されたカッド・ワード空間に書き込まれ、その書込みデータか ら検査値が生成されてメモリに格納される。 データをバーストで書き込む場合、個々の書込みのデータはメイン・メモリの 単一のカッド・ワード空間(またはその他のサイズのメモリ・アドレス)の隣接 するワードまたはダブルワードにアドレス指定される確率が高い。これによって 、かなりの量の統合を行うことができる。このような場合、書込みを実施する際 にきわめて多くの時間が節約される。 このようにして同じアドレスへの書込みの統合を実現する書込みバッファを実 施するために、一実施形態ではデータ増分を格納することができる各記憶域につ いて個別のアドレス比較機構を使用する。書込みバッファ33への入力端にある 有効データは、各記憶域にある比較機構によって並列で検査されたアドレスを有 する。書込みバッファ33が空の場合、新しい記憶域が割り振られ、有効データ がそのアドレスと状況と共にその記憶域に格納される。記憶域が割り振られると 常に、すべての状況ビットが、書き込むデータの有効ビットと一致するように設 定される。しかし、アドレスがいずれかの記憶域にある有効データのアドレスと 一致する場合は、新しい有効データはその記憶域のそれらのバイトに書き込まれ る。新しい有効データが前にその記憶域に書き込まれた有効データと統合される と、その新しい有効データに関係する状況ビットのみが有効性を示すように更新 される。アドレスが書込みバッファのいずれの記憶域内の有効データのアドレス とも一致しない場合、新しい書込みにおける有効データは書込みバッファ内の新 たに割り振られた記憶域に格納され、すべての状況ビットが書き込まれるデータ の有効ビットと一致するように設定される。書込みバッファ33に有効データを 新たに書き込むたびに、アドレスが有効データ項目のアドレスと比較される。ア ドレスが同じ場合、新しい有効データがその項目と統合される。アドレスがすべ てのデータ項目のアドレスと異なる場合、そのデータには新しい記憶域が割り振 られる。項目がメモリに書き込まれた後は、その記憶域のグローバル状況ビット が無効としてマークされ、それによってその空間が解放されて再割振りできるよ うになる。記憶域が再び割り振られるときに新しいデータと一致するように更新 されるため、個々のバイト状況ビットを無効化する必要はない。 複数の記憶域を有する書込みバッファでは、先に割り振られた記憶域内の有効 データが先に書込みバッファからメモリに書き出される(すなわち先入れ先出し )。これを実現するために、一実施形態では、書込みバッファはレジスタに書き 込まれた最早データを示す項目を指すポインタを使用するリング・バッファであ る。この先入れ先出しプロセスを実施するもう一つの方法は、データの各増分を メモリに書き込むときに、バッファのステージからステージにデータをシフトす ることであろう。 本発明の他の実施形態では、データ項目に割り振る最後の記憶域内の有効デー タのみとの統合を可能にすることによって、データを書込みバッファ33内の有 効データに統合できるようにするのに要するハードウェア・オーバーヘッドを少 なくする。これによって、書込みバッファとの複数の比較機構が不要になり、割 り振られた最後の記憶域内の有効データが判断可能であればよい。最初に割り振 られた記憶域を指すポインタを使用する上記の実施形態では、最も最近に割り振 られた記憶域をそれによって判断することができるポインタを備えることもでき る。 第5図に、このような実施形態で、新たな書込みにおけるデータが記憶域の1 つにすでに記憶されているデータと同じアドレスに向けられていることを示す標 識を与えるために使用することができる比較回路50を図示する。図の回路50 は、各記憶域51〜54(この特定の実施形態では4つの記憶域しか図示されて いない)のうちの特定のアドレスに向けられたデータに割り振られた記憶域のア ドレスを格納するために使用される部分を少なくとも含む。各記憶域51〜54 は、新しい書込みのデータが最終的にその記憶域に格納される場合に新しい書込 みが送られるアドレスを受け取るように接続されている。これらの記憶域51〜 54のそれぞれは、現在保持しているアドレスをマルチプレクサ56に入力デー タとして供給するようにも接続されている。このアドレスの一部として、記憶域 内のデータの有効性状況を示すグローバル状況ビットが含まれる。マルチプレク サは、データが書き込まれた最後のアドレスを比較回路55に転送することがで きるようになっている。比較回路55は、(データが有効であることを示す状況 ビットと共に)着信した書込みのアドレスも受け取り、その着信アドレスを、書 込みバッファ内でデータが最後に書き込まれた記憶域に格納されているアドレス と比較する。(記憶域に有効データが存在することを示す状況ビットを含めて) アドレスが同じ場合はヒットがあり、そのデータは同じ記憶域に送られる。アド レスが同じでない場合は、ヒットはなく、データは書込みバッファ内の次の記憶 域に送られる。 第5図の実施形態では、レジスタ57には、新しいアドレスに書き込まれるデ ータに割振るために使用可能な次の記憶域を指すポインタが与えられ、それによ ってコントローラはアドレス一致がないデータをどの記憶域に格納するかを知る ことができる。たとえば第5図で記憶域53および54に有効書込みデータが含 まれている場合、割り振ることができる次の記憶域は記憶域52となり、レジス タ57からの点線はこの記憶域を指すポインタを示している。このポインタがレ ジスタ57に格納されていれば、ポインタ値を単純に増加させることによって、 有効データが書き込まれた最後の記憶域を示す値が供給され、その結果、レジス タ57内の値を使用して、マルチプレクサ56が記憶域53内のデータのアドレ スを比較回路55に転送することができるようにすることができる。 本発明のいずれの実施形態でも、同じ原則が適用される。書込みバッファの記 憶域からメモリへの書込みは、先入れ(割振り)先出し方式で行われる。割り振 られた記憶域内のデータとの統合、またはバッファに書き込まれる新しいデータ のための新しい記憶域の割振りは、同じアドレスを有する項目に有効バイトが存 在するかどうかによって決まる。書込みを行う前に統合を行うことができるよう に、メモリへの書込みが遅らされることはない。 しかし、本発明のある種の実施形態では、書込みバッファへの格納とメモリへ の書込みの他の規則が実施される。したがって、たとえばそこからデータを取り 出してメモリに書き込む記憶域に、それを統合するのと同じクロック・サイクル で新しい有効データを書き込む場合、いくつかの境界条件と速度経路条件が生じ る。たとえば、データをメモリに書き込む前にコントローラ21によって単純な 書込みと読取り/変更/書込みのどちらを行うかを決定しなければならない。す でに決定が行われ、その後で書込みの前に記憶域で新しいデータを統合する場合 、その決定の結果が変わる可能性がある。このような境界条件および速度経路条 件をなくすために、そこからデータがメモリに書き出される記憶域には有効デー タを、その有効データが統合されることになる同じクロック・サイクルでは書き 込まない。この規則を実施する結果、単一の比較回路を含む実施態様において、 データは書込みバッファ内の有効データのみを含む記憶域内の有効データと統合 することができない。この条件が存在するか否かは次にメモリに書き込むデータ と次に書き込む記憶域とを指すポインタの条件を検査することによって判断する ことができる。 本発明の一実施形態では、書込みバッファの記憶域内の各データ項目ごとにグ ローバル有効ビットと各バイトの有効ビットを提供する。次に、メモリへの書込 みを行うとき、グロバール有効ビットのみを無効化する。後の書込みでその記憶 域をデータに再割振りするとき、その入力中に格納するデータの各バイトに従っ て個々の状況ビットを設定する。 本発明について好ましい実施形態によって説明したが、本発明の精神および範 囲から逸脱することなく当業者によって様々な修正および変更を加えることがで きることがわかるであろう。したがって、本発明は特許請求の範囲によって判断 されるべきである。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(KE,LS,MW,SD,S Z,UG),UA(AM,AZ,BY,KG,KZ,MD ,RU,TJ,TM),AL,AM,AT,AT,AU ,AZ,BB,BG,BR,BY,CA,CH,CN, CU,CZ,CZ,DE,DE,DK,DK,EE,E E,ES,FI,FI,GB,GE,HU,IL,IS ,JP,KE,KG,KP,KR,KZ,LK,LR, LS,LT,LU,LV,MD,MG,MK,MN,M W,MX,NO,NZ,PL,PT,RO,RU,SD ,SE,SG,SI,SK,SK,TJ,TM,TR, TT,UA,UG,US,UZ,VN

Claims (1)

  1. 【特許請求の範囲】 1.メモリ・バス上でデータ源からメモリに転送されるデータをバッファリング する記憶装置であって、 それぞれがデータのメモリ・バス幅と、格納するデータのメモリ・アドレスと を格納することができる複数の記憶域と、 データ源から供給された新しい有効データを、新しい有効データのアドレス指 定先であるメモリ・アドレスに前に書き込まれたデータの代わりに記憶域に書き 込む入力回路と、 いずれかの記憶域に格納されたメモリ・アドレスとは異なるメモリ・アドレス に書き込む新しいデータを未使用記憶域に格納する割振り回路と、 バス幅増分で記憶域からメモリにデータを書き込み、記憶域から有効データの バス幅未満のデータを記憶域から書き込むメモリ・アドレスにある有効データを 読み取り、その読み取ったデータを、バス幅データの増分をメモリに書き込む前 に記憶域からの有効データを使用して変更するメモリ・コントローラと、 メモリに書き込む各バス幅データの増分に固有の誤り訂正値を生成してメモリ に格納する誤り訂正コード生成回路と を備える記憶装置。 2.データ源から供給された新しい有効データを新しい有効データのアドレス指 定先であるメモリ・アドレスに前に書き込まれたデータの代わりに記憶域に書き 込む入力回路が、新しいデータのメモリ・アドレスを記憶域に格納されているデ ータのメモリ・アドレスと比較する比較回路を備えることを特徴とする請求項1 に記載の記憶装置。 3.比較回路が新しいデータのメモリ・アドレスを、最後に割り振られた記憶域 に格納されているデータのメモリ・アドレスとのみ比較することを特徴とする請 求項2に記載の記憶装置。 4.メモリ・コントローラが、データに最も早く割り振られた記憶域からメモリ に有効データを書き込むことを特徴とする請求項1に記載の記憶装置。 5.メモリ・コントローラが、データに最も早く割り振られた記憶域を指すポイ ンタを維持することを特徴とする請求項4に記載の記憶装置。 6.データ源から供給された新しい有効データを新しい有効データのアドレス指 定先であるメモリ・アドレスに前に書き込まれたデータの代わりに記憶域に書き 込む入力回路が、メモリ・コントローラが記憶域からメモリにデータを書込み始 めるまで、記憶域への新しい有効データの書込みを続けることを特徴とする請求 項1に記載の記憶装置。 7.入力回路がデータ源から供給された新しい有効データを記憶域に書き込むこ とができるようにするために、メモリ・コントローラによる記憶域からメモリへ のデータの書込みが決して遅延されないことを特徴とする請求項6に記載の記憶 装置。 8.メモリ・バス上でデータ源からメモリに転送されるデータをバッファリング する記憶装置であって、 それぞれがメモリ・バス幅のデータと、格納するデータのメモリ・アドレスと を格納することができる複数の記憶域と、 新しいデータの有効ビットを新しいデータのメモリ・アドレスにアドレス指定 された有効データを含む記憶域に、すでに記憶域にあるデータのビットの代わり に書き込む手段と、 いずれかの記憶域に格納されたメモリ・アドレスとは異なるメモリ・アドレス に書き込まれる新しいデータを未使用の記憶域に書き込む手段と、 メモリがデータを書き込むことができる場合に記憶域内のすべての有効データ をメモリに書き込み、データを書き込むメモリ・アドレスにある各バス幅のデー タの誤り訂正値を生成する手段と を備える記憶装置。 9.新しいデータの有効ビットを新しいデータのメモリ・アドレスにアドレス指 定された有効データを含む記憶域にすでにその記憶域にあるデータのビットの代 わりに書き込む手段が、新しいデータのメモリ・アドレスを記憶域に格納されて いるデータのメモリ・アドレスと比較する比較回路を備えることを特徴とする請 求項8に記載の記憶装置。 10.比較回路が新しいデータのメモリ・アドレスを、最後に割り振られた記憶 機器に格納されているデータのメモリ・アドレスとのみ比較することを特徴とす る請求項9に記載の記憶装置。 11.記憶域内のすべての有効データをメモリに書き込む手段が、最も早くデー タに割り振られた記憶域から有効データをメモリに書き込むことを特徴とする請 求項8に記載の記憶装置。 12.記憶域内のすべての有効データをメモリに書き込む手段が、最も早くデー タに割り振られた記憶域を指すポインタを維持する手段を備えることを特徴とす る請求項11に記載の記憶装置。 13.新しいデータの有効ビットを新しいデータのメモリ・アドレスにアドレス 指定された有効データを含む記憶域にすでにその記憶域にあるデータのビットの 代わりに書き込む手段が、記憶域内のすべての有効データをメモリに書き込む手 段が記憶域からメモリにデータを書込み始めるまで、記憶域に新しいデータを書 込み続けることを特徴とする請求項8に記載の記憶装置。 14.新しいデータのメモリ・アドレスにアドレス指定された有効データを含む 記憶域に新しいデータの有効ビットを書き込む手段が、新しい有効データを記憶 域に書き込むことができるようにするために、記憶域内のすべての有効データを メモリに書き込む手段による記憶域からメモリへのデータの書込みが決して遅延 されないことを特徴とする請求項13に記載の記憶装置。 15.中央演算処理装置と、 メインメモリと、 中央演算処理装置からメイン・メモリにデータを転送するメモリ・バスと、 中央演算処理装置からメイン・メモリにメモリ・バスで転送されるデータをバ ッファリングする、メモリ・バス上の書込みバッファとを備えるコンピュータ・ システムであって、 前記書込みバッファは、 それぞれがメモリ・バス幅のデータと、格納するデータのメモリ・アドレ スとを格納することができる複数の記憶域と、 中央演算処理装置から供給された新しい有効データを、新しい有効データ のアドレス指定先であるメモリ・アドレスに前に書き込まれたデータの代わりに 記憶域に書き込む入力回路と、 いずれかの記憶域に格納されたメモリ・アドレスとは異なるメモリ・アド レスに書き込む新しいデータを未使用記憶域に格納する割振り回路と、 バス幅増分で記憶域からメモリにデータを書き込み、記憶域から有効デー タのバス幅未満のデータを書き込むメモリ・アドレスにある有効データを読み取 り、読み取ったデータを、バス幅データの増分をメモリに書き込む前に記憶域か らの有効データを使用してを変更するメモリ・コントローラと、 メモリに書き込む各バス幅データの増分に固有の誤り訂正値を生成してメモリ に格納する誤り訂正コード生成回路と を備えるコンピュータ・システム。 16.中央演算処理装置から供給された新しい有効データを新しい有効データの アドレス指定先であるメモリ・アドレスに前に書き込まれたデータの代わりに記 憶域に書き込む入力回路が、新しいデータのメモリ・アドレスを記憶域に格納さ れたデータのメモリ・アドレスと比較する比較回路を備えることを特徴とする請 求項15に記載のコンピュータ・システム。 17.メモリ・コントローラが、データに最も早く割り振られた記憶域からメモ リに有効データを書き込むことを特徴とする請求項15に記載のコンピュータ・ システム。 18.データ源から供給された新しい有効データを新しい有効データのアドレス 指定先であるメモリ・アドレスに前に書き込まれたデータの代わりに記憶域に書 き込む入力回路が、メモリ・コントローラが記憶域からメイン・メモリにデータ を書込み始めるまで、記憶域への新しい有効データの書込みを続けることを特徴 とする請求項15に記載のコンピュータ・システム。 19.メモリへのデータの各書込みが全メモリ・バス幅のデータの書込みであり 、全メモリ・バス幅のデータを使用して各書込みごとに誤り訂正コードが計算さ れ、メモリに格納されるシステムにおいてデータ源からメモリへのデータの書込 みをバッファリングする方法であって、 最初にメモリ・アドレスに書き込まれたデータ源からの新しいデータを、その メモリ・アドレスを有する書込みバッファ内の複数の記憶域のうちの未使用の記 憶域に格納するステップと、 データ源からの新しいデータを新しいデータのメモリ・アドレスの記憶域にす でに書き込まれているデータの代わりに記憶域に格納するステップと、 メモリがデータを格納することができる場合に記憶域内のすべての有効データ をメモリに書き込み、データを書き込むメモリ・アドレスにある各バス幅データ の誤り訂正値を生成するステップと を含む方法。 20.データ源からの新しいデータを新しいデータのメモリ・アドレスの記憶域 にすでに書き込まれているデータの代わりに記憶域に格納するステップが、記憶 域内のすべての有効データをメモリに書き込むステップが開始するまで続き、 記憶域内のすべての有効データをメモリに書き込むステップが、最も早くデー タに割り振られた記憶域からメモリに有効データを書き込むステップを含むこと を特徴とする請求項19に記載のデータ源からメモリへのデータの書込みをバッ ファリングする方法。
JP9504626A 1995-12-27 1996-07-17 メモリへの書込みを結合する方法および装置 Pending JPH11502656A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/579,414 1995-12-27
US08/579,414 US5809228A (en) 1995-12-27 1995-12-27 Method and apparatus for combining multiple writes to a memory resource utilizing a write buffer
PCT/US1996/011840 WO1997024623A1 (en) 1995-12-27 1996-07-17 Method and apparatus for combining writes to memory

Publications (1)

Publication Number Publication Date
JPH11502656A true JPH11502656A (ja) 1999-03-02

Family

ID=24316802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9504626A Pending JPH11502656A (ja) 1995-12-27 1996-07-17 メモリへの書込みを結合する方法および装置

Country Status (6)

Country Link
US (1) US5809228A (ja)
EP (1) EP0812428A4 (ja)
JP (1) JPH11502656A (ja)
AU (1) AU6456896A (ja)
TW (1) TW378293B (ja)
WO (1) WO1997024623A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014759A (en) * 1997-06-13 2000-01-11 Micron Technology, Inc. Method and apparatus for transferring test data from a memory array
US6044429A (en) 1997-07-10 2000-03-28 Micron Technology, Inc. Method and apparatus for collision-free data transfers in a memory device with selectable data or address paths
US6438660B1 (en) * 1997-12-09 2002-08-20 Intel Corporation Method and apparatus for collapsing writebacks to a memory for resource efficiency
US6522335B2 (en) * 1999-05-10 2003-02-18 Autodesk Canada Inc. Supplying data to a double buffering process
US6286088B1 (en) 1999-06-28 2001-09-04 Hewlett-Packard Company Memory management system and method for relocating memory
US6678838B1 (en) 1999-08-23 2004-01-13 Advanced Micro Devices, Inc. Method to track master contribution information in a write buffer
US6701480B1 (en) * 2000-03-08 2004-03-02 Rockwell Automation Technologies, Inc. System and method for providing error check and correction in memory systems
US6715036B1 (en) * 2000-08-01 2004-03-30 International Business Machines Corporation Method, system, and data structures for transferring blocks of data from a storage device to a requesting application
US6784889B1 (en) * 2000-12-13 2004-08-31 Micron Technology, Inc. Memory system and method for improved utilization of read and write bandwidth of a graphics processing system
US6741253B2 (en) * 2001-10-09 2004-05-25 Micron Technology, Inc. Embedded memory system and method including data error correction
US6938142B2 (en) * 2002-08-28 2005-08-30 Micron Technology, Inc. Multi-bank memory accesses using posted writes
US8219745B2 (en) * 2004-12-02 2012-07-10 International Business Machines Corporation Memory controller to utilize DRAM write buffers
KR100903364B1 (ko) * 2007-05-14 2009-06-23 주식회사 하이닉스반도체 반도체 메모리장치
TWI396975B (zh) * 2008-08-06 2013-05-21 Realtek Semiconductor Corp 可調適緩衝裝置及其方法
JP5760556B2 (ja) * 2011-03-18 2015-08-12 富士通株式会社 ストレージ装置、制御装置およびストレージ装置制御方法
US10908841B2 (en) * 2018-09-24 2021-02-02 Cisco Technology, Inc. Increasing throughput of non-volatile memory express over fabric (NVMEoF) via peripheral component interconnect express (PCIe) interface
US11237916B2 (en) * 2019-11-22 2022-02-01 EMC IP Holding Company LLC Efficient cloning of logical storage devices
KR20210093610A (ko) * 2020-01-20 2021-07-28 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
US20220066681A1 (en) * 2020-08-27 2022-03-03 Micron Technology, Inc. Bubble break register in semiconductor device
TWI811151B (zh) * 2022-11-09 2023-08-01 金麗科技股份有限公司 快取裝置中管理記憶體寫入要求的方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4157586A (en) * 1977-05-05 1979-06-05 International Business Machines Corporation Technique for performing partial stores in store-thru memory configuration
US4959771A (en) * 1987-04-10 1990-09-25 Prime Computer, Inc. Write buffer for a digital processing system
US5235693A (en) * 1989-01-27 1993-08-10 Digital Equipment Corporation Method and apparatus for reducing buffer storage in a read-modify-write operation
US5214777A (en) * 1989-03-27 1993-05-25 Ncr Corporation High speed read/modify/write memory system and method
DE69031658T2 (de) * 1989-09-11 1998-05-20 Wang Laboratories Vorrichtung und verfahren für instandhaltung von cache/zentralspeicherkonsistenz
US5134619A (en) * 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
GB2255211B (en) * 1991-04-25 1995-05-17 Intel Corp LRU pointer updating in a controller for two-way set associative cache
US5459849A (en) * 1991-08-02 1995-10-17 International Business Machines Corporation Method and apparatus for compressing cacheable data
US5459842A (en) * 1992-06-26 1995-10-17 International Business Machines Corporation System for combining data from multiple CPU write requests via buffers and using read-modify-write operation to write the combined data to the memory
US5452429A (en) * 1993-11-17 1995-09-19 International Business Machines Corporation Error correction code on add-on cards for writing portions of data words
US5450422A (en) * 1994-01-28 1995-09-12 International Business Machines Corporation Method and structure for providing error correction code for each byte on SIMM'S
US5542065A (en) * 1995-02-10 1996-07-30 Hewlett-Packard Company Methods for using non-contiguously reserved storage space for data migration in a redundant hierarchic data storage system

Also Published As

Publication number Publication date
TW378293B (en) 2000-01-01
EP0812428A1 (en) 1997-12-17
US5809228A (en) 1998-09-15
WO1997024623A1 (en) 1997-07-10
AU6456896A (en) 1997-07-28
EP0812428A4 (en) 2000-05-03

Similar Documents

Publication Publication Date Title
JPH11502656A (ja) メモリへの書込みを結合する方法および装置
US6460114B1 (en) Storing a flushed cache line in a memory buffer of a controller
JP3637054B2 (ja) キャッシュ/メインメモリのコンシステンシを維持するための装置及び方法
US5490261A (en) Interlock for controlling processor ownership of pipelined data for a store in cache
US4768148A (en) Read in process memory apparatus
US6961824B2 (en) Deterministic setting of replacement policy in a cache
US6366984B1 (en) Write combining buffer that supports snoop request
US5809280A (en) Adaptive ahead FIFO with LRU replacement
US6718444B1 (en) Read-modify-write for partial writes in a memory controller
US6353874B1 (en) Method and apparatus for controlling and caching memory read operations in a processing system
US8499123B1 (en) Multi-stage pipeline for cache access
US5966728A (en) Computer system and method for snooping date writes to cacheable memory locations in an expansion memory device
US7447844B2 (en) Data processing system, processor and method of data processing in which local memory access requests are serviced on a fixed schedule
US6253288B1 (en) Hybrid cache/SIRO buffer system
US5860112A (en) Method and apparatus for blending bus writes and cache write-backs to memory
US20080307169A1 (en) Method, Apparatus, System and Program Product Supporting Improved Access Latency for a Sectored Directory
EP0533427A1 (en) Computer memory control system
JP3407808B2 (ja) コンピュータシステム
JPH03225542A (ja) データ記憶方法及びビットエンコードデータの処理回路
US6842822B2 (en) System and method for cache external writing
US5920889A (en) Apparatus and method for write miss processing in a copy-back data cache with an allocating load buffer and a non-allocating store buffer
US5774697A (en) Data realignment method and apparatus
EP0943998B1 (en) Cache memory apparatus
JP3614946B2 (ja) メモリバッファ装置
JPS629945B2 (ja)