JP4667092B2 - 情報処理装置、情報処理装置におけるデータ制御方法 - Google Patents

情報処理装置、情報処理装置におけるデータ制御方法 Download PDF

Info

Publication number
JP4667092B2
JP4667092B2 JP2005076590A JP2005076590A JP4667092B2 JP 4667092 B2 JP4667092 B2 JP 4667092B2 JP 2005076590 A JP2005076590 A JP 2005076590A JP 2005076590 A JP2005076590 A JP 2005076590A JP 4667092 B2 JP4667092 B2 JP 4667092B2
Authority
JP
Japan
Prior art keywords
write
request
system controller
information processing
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005076590A
Other languages
English (en)
Other versions
JP2006260159A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005076590A priority Critical patent/JP4667092B2/ja
Priority to US11/169,858 priority patent/US7711899B2/en
Priority to EP05254128.1A priority patent/EP1703405B1/en
Priority to CNB2005100860403A priority patent/CN100445965C/zh
Priority to KR1020050065225A priority patent/KR100709541B1/ko
Publication of JP2006260159A publication Critical patent/JP2006260159A/ja
Application granted granted Critical
Publication of JP4667092B2 publication Critical patent/JP4667092B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0822Copy directories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

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

Description

本発明は、プロセッサ装置を複数備える情報処理装置及び情報処理装置におけるデータ制御方法に関する。
近年、サーバ等の情報処理装置が各種分野で広く利用されている。1日何百万ものアクセスを処理するWebサーバや、金融機関や通信会社などで使用されるトランザクションサーバが代表的なサーバである。
こうした情報処理装置においては、高い処理能力が要求されるため、1つの情報処理装置に複数のプロセッサ装置(CPU(Central Processing Unit)、MPU(Micro Processing Unit)等)を搭載するマルチプロセッサ構成が多い。マルチプロセッサ構成の情報処理装置では、各プロセッサ装置が主記憶に独自にアクセスするため、主記憶や各プロセッサ装置に備えられるキャッシュに格納されるデータの一貫性(メモリコンシステンシ、キャッシュコヒーレンシ)を保つ制御が必要になる。
マルチプロセッサ構成の情報処理装置においては、上記一貫性を、主記憶と各プロセッサ装置の仲介処理を行うシステムコントローラで制御することが多い。そして、一貫性を保つ制御として、例えば、システムコントローラが主記憶に書き込むデータ(ライトデータ)を持っている間に、同一アドレスに対する読み出し要求(リード要求)が発生した場合、システムコントローラは、ライトデータの主記憶への書き込みが完了するのを待った後にリード要求を処理する。
すると、リード要求の処理に要する実行時間が大きくなり、情報処理装置の処理性能を低下させてしまう。そこで、従来技術として、主記憶又はキャッシュメモリに書き込まれる直前のデータを一時的に格納するストアバッファを利用して、情報処理装置のリード要求に対する処理性能を向上させる技術が提案される(特許文献1、2)。
特開平6−301600号公報 特開平3−288245号公報
しかしながら、ストアバッファに格納されるデータは、その前段に備えられるリードキューかライトキューに格納される各プロセッサ装置からのリード要求とライト要求に対するアービトレーション(調停)の結果として格納されるものであるため、ストアバッファ(とそこに格納されるデータ)を利用するには、アービトレーションを待たなければならないという課題を有していた。
そこで、本発明の目的は、ストアバッファに対するアービトレーションを待つこと無くリード要求を処理可能なマルチプロセッサ構成の情報処理装置を提供することにある。
上記目的は、本発明の第一の側面として、複数のプロセッサ装置と、前記複数のプロセッサ装置がそれぞれ主記憶から読み出したデータを一時的に格納する、前記複数のプロセッサ装置に対応する複数のキャッシュメモリと、前記複数のプロセッサ装置による前記主記憶へのアクセスを制御するシステムコントローラとを有し、前記システムコントローラは、前記キャッシュメモリに含まれるタグ情報とデータとのうち、前記タグ情報を持つタグコピー部と、前記複数のプロセッサ装置がそれぞれ出力するライト要求を格納する、前記複数のプロセッサ装置に対応する複数のライトキューと、前記複数のライトキューに格納される複数のライト要求のアービトレーション結果が格納されるストアバッファとを備え、前記システムコントローラは、前記複数のプロセッサ装置のうち、一のプロセッサ装置によるリード要求が入力されるとき、前記キャッシュメモリに含まれる前記タグ情報と前記タグコピー部に含まれる前記タグ情報とが非同期である場合、前記一のプロセッサ装置と異なる他のプロセッサ装置により、前記リード要求に対応するアドレスに対するライト要求が入力されているかを前記複数のライトキューを検索し、前記複数のライトキューのいずれかに入力されていれば、前記リード要求に対応するアドレスに対するライト要求に含まれるデータを応答することを特徴とする情報処理装置。
を提供することにより達成される。
上記発明の側面においてより好ましい実施例によれば、前記システムコントローラは、前記リード要求に対応するアドレスに対する前記ライト要求を破棄する。
また、上記発明の側面においてより好ましい実施例によれば、前記複数のプロセッサは、複数のグループに分割され、前記システムコントローラは、前記グループ毎に存在しており、前記複数のグループのうち、一のグループに対応する第1のシステムコントローラは、前記第1のシステムコントローラと異なる第2のシステムコントローラによるリード参照要求が入力されるとき、前記第1のシステムコントローラのキャッシュメモリに含まれる前記タグ情報と前記第1のシステムコントローラのタグコピー部に含まれる前記タグ情報とが非同期である場合、前記リード参照要求に対応するアドレスに対するライト要求が入力されているかを前記第1のシステムコントローラに備えられる前記複数のライトキューを検索し、前記複数のライトキューのいずれかに入力されていれば、該対応するライト要求に含まれるデータを応答する。
また、上記発明の側面においてより好ましい実施例によれば、前記第1のシステムコントローラは、前記リード参照要求に対応するアドレスに対するライト要求を破棄する。
上記発明の側面においてより好ましい実施例によれば、前記第2のシステムコントローラは、前記リード参照要求に対応するアドレスに、該リード参照要求に対して応答されたデータを書き込むライト要求を、前記第2のシステムコントローラのライトキューに追加する。
上記発明の側面においてより好ましい実施例によれば、前記システムコントローラは、前記複数のライトキューに含まれるいずれかのライト要求に対応するアドレスに対して、別のライト要求が後続する場合、先行する前記ライト要求を破棄する。
また、上記目的は、第二の側面として、複数のプロセッサ装置と、前記複数のプロセッサ装置がそれぞれ主記憶から読み出したデータを一時的に格納する、前記複数のプロセッサ装置に対応する複数のキャッシュメモリと、前記複数のプロセッサ装置による前記主記憶へのアクセスを制御するシステムコントローラとを有し、前記システムコントローラは、前記キャッシュメモリに含まれるタグ情報とデータとのうち、前記タグ情報を持つタグコピー部と、前記複数のプロセッサ装置がそれぞれ出力するライト要求を格納する、前記複数のプロセッサ装置に対応する複数のライトキューと、前記複数のライトキューに格納される複数のライト要求のアービトレーション結果が格納されるストアバッファとを備える情報処理装置におけるデータ制御方法であって、前記情報処理装置は、前記複数のプロセッサ装置のうち、一のプロセッサ装置によるリード要求が入力されるとき、前記キャッシュメモリに含まれる前記タグ情報と前記タグコピー部に含まれる前記タグ情報とが非同期かを確認し、前記情報処理装置は、非同期である場合、前記一のプロセッサ装置と異なる他のプロセッサ装置により、前記リード要求に対応するアドレスに対するライト要求が入力されているかを前記複数のライトキューを検索し、前記情報処理装置は、前記リード要求に対応するアドレスに対するライト要求が前記複数のライトキューのいずれかに入力されていれば、前記リード要求に対応するアドレスに対するライト要求に含まれるデータを応答することを特徴とするデータ制御方法を提供することにより達成される。
本発明の実施形態によれば、アービトレーションを待つこと無く、リード要求に対する処理性能を一層向上可能なマルチプロセッサ構成の情報処理装置を実施することができる。
以下、本発明の実施の形態について図面に従って説明する。しかしながら、本発明の技術的範囲はかかる実施の形態に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
図1は、マルチプロセッサ構成のサーバ10を説明する図である。図1のサーバ10には、引き出し可能なトレイ形式で本体に収容可能な複数のボードが搭載される。例えば、CPUメモリボード11、ハードディスクが搭載されるディスクボード12、ネットワークインタフェースや、SCSI(Small Computer System Interface)、FC(Fiber Channel)等のインタフェースが搭載されるIOボード13がある。サーバ10に搭載される複数のボードは、図示省略されているが、本体内に備えられるクロスバーと呼ばれるバスを介して互いに接続可能である。
本実施形態のCPUメモリボード11は、複数のCPU1、主記憶3、複数のCPU1による主記憶3へのアクセスを制御するシステムコントローラ2、ボード間のデータ転送を制御するクロスバースイッチ4、クロスバーに接続するためのコネクタ60を含む。
図2は、本実施形態の情報処理装置の構成ブロック図である。CPU1a〜1nは、複数のプロセッサ装置であり、それぞれ、主記憶3から読み出されたデータが一時的に格納されるキャッシュメモリ5a〜5nを持つ。
図3は、キャッシュメモリに格納されるデータを示す図である。キャッシュメモリには、主記憶3における分割サイズに等しい所定長(例えば、図3では、64バイト)のデータ33が、1つのラインとして複数格納される。各ラインには、主記憶3におけるアドレスとマッピングするためのアドレスタグ31と、キャッシュの状態を示すステータスタグ32が対応付けられている。
マッピングの方式には、例えば、直接マッピング、完全連想マッピング、セット連想マッピング等が知られている。なお、本実施形態の情報処理装置は、マッピングの方式には依存せずに実現することができる。
キャッシュの状態を示すには、例えば、使用可能なデータであるかそうでないかを示す「有効/無効」、他のキャッシュメモリにコピーが含まれるか含まれないかを示す「共有/排他」、データが変更されていないか変更されたかを示す「クリーン/ダーティ」という指標により分類するMESI(Modified/Exclusive/Shred/Invalid)方式などがある。MESI方式において、「M」は、「有効」+「排他」+「ダーティ」であるModifiedを意味し、「E」は、「有効」+「排他」+「クリーン」であるExclusiveを意味し、「S」は、「有効」+「共有」+「クリーン」であるSharedを意味し、「I」は、「無効」であるInvalidを意味する。
図2に戻り、各CPUは、CPUバス51を介してシステムコントローラ2に接続される。システムコントローラ2は、アドレスタグ31とステータスタグ32(以下、タグ情報34と呼ぶ)のコピーを格納するタグコピー6a〜6nを含む。更に、システムコントローラ2は、複数のプロセッサ装置に対応して、各プロセッサ装置により入力されるリード要求を格納するリードキュー7a〜7n、各プロセッサ装置により入力されるライト要求を格納するライトキュー8a〜8n、キャッシュメモリに含まれる情報のうち、リードキュー7a〜7nとライトキュー8a〜8nに格納されるリード要求とライト要求に対するアービトレーションの結果として、例えば、主記憶3に書き込まれる直前のデータが格納されるストアバッファ42を含む。
システムコントローラ2に含まれるメモリアクセスコントローラ41は、アービトレーションの結果に応じてストアバッファ42に格納されたデータを主記憶3に書き込み、主記憶3から読み出したデータをストアバッファ42に格納する。こうして、システムコントローラ2は、複数のCPU1による主記憶3へのアクセスを制御する。なお、システムコントローラ2は、メモリバス52を介して主記憶3に接続されており、アドレス、コマンド、データが送受信されている。
本実施形態の情報処理装置は、ストアバッファではなくその前段に備えられるライトキュー8a〜8nを参照することにより、システムコントローラ2が主記憶3に書き込むデータを持っている間に、同一アドレスに対するリード要求が発生した場合の処理性能の低下を防止する。直接ライトキュー8a〜8nを参照することにより、本実施形態の情報処理装置は、アービトレーションを待つことなく、高速に処理を進めることができる。以下、その動作例を説明する。
図4は、本実施形態の情報処理装置の動作(その1)を説明する図である。前提として、CPU1bがキャッシュメモリ5bの2番目のラインに含まれるデータのライト要求を行った結果、キャッシュメモリ5bの2番目のラインのステータスが、「M」から「I」に変わっている。
しかし、CPU1bに対応するタグコピー6bには、それが反映されていない状態(キャッシュ5bとタグコピー6bの非同期状態)を示す。なお、タグコピー6bには、図2にて説明したように、アドレスタグ31とステータスタグ32からなるタグ情報34が含まれるが、図4においては、説明のため、データ33とステータスタグ32が、タグコピー6bの内容として描かれている。
ここで、CPU1aより、キャッシュメモリ5bの2番目のラインに対応するアドレスに対するリード要求がシステムコントローラ2に入力される(M1)。リード要求を受け、メモリアクセスコントローラ41は、タグコピー6a、6bを参照する(M2)。すると、CPU1bに対応するタグコピー6bが非同期であることから、リード要求に含まれるアドレスが、CPU1bのキャッシュにヒットし、メモリアクセスコントローラ41は、CPU1bに対しデータ要求を出力する(M3)。
ところが、キャッシュメモリ5bにおいて、2番目のラインのステータスは既に「I」であり、使用可能なデータがないため、CPU1bによりデータ不在通知がシステムコントローラ2に入力される(M4)。続いて、本実施形態の情報処理装置の特徴的な動作として、メモリアクセスコントローラ41は、CPU1bに対応するライトキュー8bを参照する(M5)。
そして、キャッシュメモリ5bの2番目のラインに対応するアドレスに対するライト要求を検索し、発見されたライト要求に含まれるライトデータをCPU1aに出力する(M6)。こうして、システムコントローラ2が主記憶3に書き込むデータを持っている間に、同一アドレスに対するリード要求が発生した場合でも、ライトキューよりデータが送信され、ストアバッファに対するアービトレーションを待つことなく情報処理装置の処理性能の低下が防止される。
図5は、本実施形態の情報処理装置の動作(その2)を説明する図である。図5は、2枚のCPUメモリボードがクロスバー70を介して接続されるとき、CPUメモリボード越しに図4に示す動作が生じる場合である。
前提として、図4と同様に、CPU1bがキャッシュメモリ5bの2番目のラインに含まれるデータのライト要求を行った結果、キャッシュメモリ5bの2番目のラインのステータスが、「M」から「I」に変わっている。しかし、CPU1bに対応するタグコピー6bには、それが反映されていない状態(キャッシュ5bとタグコピー6bの非同期状態)を示す。なお、タグコピー6bには、図2にて説明したように、アドレスタグ31とステータスタグ32からなるタグ情報34が含まれるが、図5においては、説明のため、データ33とステータスタグ32が、タグコピー6bの内容として描かれている。
ここで、CPU1cより、キャッシュメモリ5bの2番目のラインに対応するアドレスに対するリード要求がシステムコントローラ22に入力される(F1)。リード要求を受け、メモリアクセスコントローラ412は、タグコピー6c、6dを参照する(F2)。タグコピー6c、6dには、リード要求に含まれるアドレスにヒットするキャッシュはなく、データ不在通知がメモリアクセスコントローラ412に入力される(F3)。
すると、メモリアクセスコントローラ412は、他のCPUメモリボードにあるタグコピーを参照するためリード参照要求をクロスバー70に送信する(F4)。クロスバー70を介してリード参照要求を受信すると、システムコントローラ21のメモリアクセスコントローラ411は、タグコピー6a、6bを参照する(F5)。
すると、CPU1bに対応するタグコピー6bが非同期であることから、CPU1cにより入力されたリード要求に含まれるアドレスが、CPU1bのキャッシュにヒットし、メモリアクセスコントローラ411は、CPU1bに対しデータ要求を出力する(F6)。
ところが、キャッシュメモリ5bにおいて、2番目のラインのステータスは既に「I」であり、使用可能なデータがないため、CPU1bによりデータ不在通知がシステムコントローラ411に入力される(F7)。続いて、本実施形態の情報処理装置の特徴的な動作として、メモリアクセスコントローラ411は、CPU1bに対応するライトキュー8bを参照する(F8)。
そして、メモリアクセスコントローラ411は、キャッシュメモリ5bの2番目のラインに対応するアドレスに対するライト要求を検索し、発見されたライト要求に含まれるライトデータをリード参照要求に対する応答としてクロスバー70に送信する(F9)。クロスバー70を介してリード参照要求への応答を受信すると、システムコントローラ22のメモリアクセスコントローラ412は、リード参照要求への応答に含まれるライトデータをCPU1cに出力する(F10)。最終的に、CPU1cのキャッシュメモリ5cに、キャッシュメモリ5bの2番目のラインに含まれるデータがステータス「E」で追加される。
こうして、システムコントローラ2が主記憶3に書き込むデータを持っている間に、同一アドレスに対するリード要求がCPUメモリボード越しに発生した場合でも、ライトキューよりデータが送信され、ストアバッファに対するアービトレーションを待つことなく情報処理装置の処理性能の低下が防止される。
更に、図5に示す動作例において、次のような処理が追加されてもよい。1つは、メモリアクセスコントローラ411が、ステップF9の処理を行う際、ライトキュー8bから、キャッシュメモリ5bの2番目のラインに対応するアドレスに対するライト要求を破棄する処理(F11)である。もう1つは、メモリアクセスコントローラ412が、ステップF10の処理を行う際、システムコントローラ22におけるいずれかのライトキューに、システムコントローラ22の主記憶32に対し、リード参照要求への応答に含まれるライトデータを書き込むためのライト要求を生成する処理(F12)である。
ライト要求の破棄(F11)により、複数のシステムコントローラ21、22内にライトデータが重複して複数存在することがなく、一貫性保持のための制御(メモリコンシステンシ、キャッシュコヒーレンシ)が容易になるという効果がある。この場合であっても、CPU1cのキャッシュメモリ5cに最新データがコピーされており、制御上特に問題はない。
また、ライト要求の生成(F12)により、一貫性を保持しつつ、クロスバー70を介してリード参照要求に対する応答を受信するたび、それを受信したCPUメモリボードにおける主記憶に最新データが格納される。最新データが格納される主記憶が増えることにより、プロセッサバスの負荷を軽減し、情報処理装置の性能向上が見込める。
図6は、本実施形態の情報処理装置の動作(その3)を説明する図である。まず、CPU1bより、あるアドレスに対するライト要求がシステムコントローラ2に入力される(T1)。ライト要求を受け、メモリアクセスコントローラ41は、CPU1bに対応するライトキュー8bにライト要求を格納する(T2)。
続いて、CPU1aより、その同一アドレスに対するライト要求がシステムコントローラ2に入力される(T3)。ライト要求を受け、メモリアクセスコントローラ41は、CPU1aに対応するライトキュー8aにライト要求を格納する(T4)。
そして、同一アドレスに対するライト要求をライトキュー8aに格納する際、メモリアクセスコントローラ41は、ライトキュー8bに格納される、同一アドレスに対する先行ライト要求を破棄する(T5)。図6の処理は、図4、5の処理と合わせて実施される。
こうして、複数のシステムコントローラ21、22内にライトデータが重複して複数存在することがなく、一貫性保持のための制御(メモリコンシステンシ、キャッシュコヒーレンシ)が容易になるという効果がある。この場合であっても、後続する(最新の)ライト要求がライトキューに残るため、制御上特に問題はない。
以上に説明した実施形態によれば、システムコントローラ2が主記憶3に書き込むデータを持っている間に、同一アドレスに対するリード要求が発生した場合でも、ライトキューよりデータが送信され、ストアバッファに対するアービトレーションを待つことなく情報処理装置の処理性能の低下が防止される。また、複数のシステムコントローラ内にライトデータが重複して複数存在することがなく、一貫性保持のための制御(メモリコンシステンシ、キャッシュコヒーレンシ)が容易になるという効果がある。
以上まとめると付記のようになる。
(付記1)
複数のプロセッサ装置と、
前記複数のプロセッサ装置がそれぞれ主記憶から読み出したデータを、前記格納されるデータの状態を示すタグ情報と合わせて一時的に格納する、前記複数のプロセッサ装置に対応する複数のキャッシュメモリと、
前記複数のプロセッサ装置による前記主記憶へのアクセスを制御するシステムコントローラとを有し、
前記システムコントローラは、前記キャッシュメモリに格納されるタグ情報のコピーを持つタグコピー部と、前記複数のプロセッサ装置がそれぞれ出力するライト要求を格納する、前記複数のプロセッサ装置に対応する複数のライトキューと、前記複数のライトキューに格納される複数のライト要求のアービトレーション結果が格納されるストアバッファとを備え、
前記システムコントローラは、前記複数のプロセッサ装置のうち、一のプロセッサ装置によるリード要求が入力されるとき、前記キャッシュメモリに含まれる前記タグ情報と前記タグコピー部に含まれる前記タグ情報とが非同期である場合、前記一のプロセッサ装置と異なる他のプロセッサ装置により、前記リード要求に対応するアドレスに対するライト要求が入力されているかを前記複数のライトキューを検索し、前記複数のライトキューのいずれかに入力されていれば、前記リード要求に対応するアドレスに対するライト要求に含まれるデータを応答することを特徴とする情報処理装置。
(付記2)
付記1において、
前記システムコントローラは、前記リード要求に対応するアドレスに対する前記ライト要求を破棄することを特徴とする情報処理装置。
(付記3)
付記1において、
前記複数のプロセッサは、複数のグループに分割され、
前記システムコントローラは、前記グループ毎に存在しており、
前記複数のグループのうち、一のグループに対応する第1のシステムコントローラは、前記第1のシステムコントローラと異なる第2のシステムコントローラによるリード参照要求が入力されるとき、前記第1のシステムコントローラのキャッシュメモリに含まれる前記タグ情報と前記第1のシステムコントローラのタグコピー部に含まれる前記タグ情報とが非同期である場合、前記リード参照要求に対応するアドレスに対するライト要求が入力されているかを前記第1のシステムコントローラに備えられる前記複数のライトキューを検索し、前記複数のライトキューのいずれかに入力されていれば、該対応するライト要求に含まれるデータを応答することを特徴とする情報処理装置。
(付記4)
付記3において、
前記第1のシステムコントローラは、前記リード参照要求に対応するアドレスに対するライト要求を破棄することを特徴とする情報処理装置。
(付記5)
付記4において、
前記第2のシステムコントローラは、前記リード参照要求に対応するアドレスに、該リード参照要求に対して応答されたデータを書き込むライト要求を、前記第2のシステムコントローラのライトキューに追加することを特徴とする情報処理装置。
(付記6)
付記1において、
前記システムコントローラは、前記複数のライトキューに含まれるいずれかのライト要求に対応するアドレスに対して、別のライト要求が後続する場合、先行する前記ライト要求を破棄することを特徴とする情報処理装置。
(付記7)
複数のプロセッサ装置と、前記複数のプロセッサ装置がそれぞれ主記憶から読み出したデータを、前記格納されるデータの状態を示すタグ情報と合わせて一時的に格納する、前記複数のプロセッサ装置に対応する複数のキャッシュメモリと、前記複数のプロセッサ装置による前記主記憶へのアクセスを制御するシステムコントローラとを有し、前記システムコントローラは、前記キャッシュメモリに格納されるタグ情報のコピーを持つタグコピー部と、前記複数のプロセッサ装置がそれぞれ出力するライト要求を格納する、前記複数のプロセッサ装置に対応する複数のライトキューと、前記複数のライトキューに格納される複数のライト要求のアービトレーション結果が格納されるストアバッファとを備える情報処理装置におけるデータ制御方法であって、
前記情報処理装置は、前記複数のプロセッサ装置のうち、一のプロセッサ装置によるリード要求が入力されるとき、前記キャッシュメモリに含まれる前記タグ情報と前記タグコピー部に含まれる前記タグ情報とが非同期かを確認し、
前記情報処理装置は、非同期である場合、前記一のプロセッサ装置と異なる他のプロセッサ装置により、前記リード要求に対応するアドレスに対するライト要求が入力されているかを前記複数のライトキューを検索し、
前記情報処理装置は、前記リード要求に対応するアドレスに対するライト要求が前記複数のライトキューのいずれかに入力されていれば、前記リード要求に対応するアドレスに対するライト要求に含まれるデータを応答することを特徴とするデータ制御方法。
(付記8)
付記7において、
前記情報処理装置が、更に、前記リード要求に対応するアドレスに対する前記ライト要求を破棄することを特徴とするデータ制御方法。
(付記9)
付記7において、
前記複数のプロセッサは、複数のグループに分割され、
前記システムコントローラは、前記グループ毎に存在しており、
前記情報処理装置が、更に、前記複数のグループのうち、一のグループに対応する第1のシステムコントローラと異なる第2のシステムコントローラによるリード参照要求が入力されるとき、前記第1のシステムコントローラのキャッシュメモリに含まれる前記タグ情報と前記第1のシステムコントローラのタグコピー部に含まれる前記タグ情報とが非同期かを確認し、
前記情報処理装置が、非同期である場合、前記リード参照要求に対応するアドレスに対するライト要求が入力されているかを前記第1のシステムコントローラに備えられる前記複数のライトキューを検索し、
前記情報処理装置が、前記リード要求に対応するアドレスに対するライト要求が前記複数のライトキューのいずれかに入力されていれば、該対応するライト要求に含まれるデータを応答することを特徴とするデータ制御方法。
(付記10)
付記9において、
前記情報処理装置が、更に、前記リード参照要求に対応するアドレスに対するライト要求を前記第1のシステムコントローラの前記ライトキューから破棄することを特徴とするデータ制御方法。
(付記11)
付記10において、
前記情報処理装置が、更に、前記リード参照要求に対応するアドレスに、該リード参照要求に対して応答されたデータを書き込むライト要求を、前記第2のシステムコントローラのライトキューに追加することを特徴とするデータ制御方法。
(付記12)
付記7において、
前記情報処理装置が、更に、前記複数のライトキューに含まれるいずれかのライト要求に対応するアドレスに対して、別のライト要求が後続する場合、先行する前記ライト要求を破棄することを特徴とするデータ制御方法。
マルチプロセッサ構成のサーバを説明する図である。 本実施形態の情報処理装置の構成ブロック図である。 キャッシュメモリに格納されるデータを示す図である。 本実施形態の情報処理装置の動作(その1)を説明する図である。 本実施形態の情報処理装置の動作(その2)を説明する図である 本実施形態の情報処理装置の動作(その3)を説明する図である
符号の説明
1 CPU、2 システムコントローラ、3 メモリ、4 クロスバースイッチ、5 キャッシュ、6 タグコピー、7 リードキュー、8 ライトキュー、10 サーバ、11 CPUメモリボード、12 ディスクボード、13 IOボード、41 メモリアクセスコントローラ、42 ストアバッファ、31 アドレスタグ、32 ステータスタグ、33 データ、34 タグ情報、51 CPUバス、52 メモリバス、60 コネクタ

Claims (10)

  1. 複数のプロセッサ装置と、
    前記複数のプロセッサ装置がそれぞれ主記憶から読み出したデータを、格納されるデータの状態を示すタグ情報と合わせて一時的に格納する、前記複数のプロセッサ装置に対応する複数のキャッシュメモリと、
    前記複数のプロセッサ装置による前記主記憶へのアクセスを制御するシステムコントローラとを有し、
    前記システムコントローラは、前記複数のキャッシュメモリに夫々格納されるタグ情報のコピーを持つ、前記複数のキャッシュメモリに対応する複数のタグコピー部と、前記複数のプロセッサ装置がそれぞれ出力するライト要求を格納する、前記複数のプロセッサ装置に対応する複数のライトキューと、前記複数のライトキューに格納される複数のライト要求のアービトレーション結果が格納されるストアバッファとを備え、
    前記システムコントローラは、前記複数のプロセッサ装置のうち、一のプロセッサ装置によるリード要求が入力されるとき、前記キャッシュメモリにおける前記タグ情報の格納状態と前記タグコピー部における前記タグ情報の格納状態とが一致しない場合、前記一のプロセッサ装置と異なる他のプロセッサ装置により、前記リード要求に対応するアドレスに対するライト要求が入力されているかを前記複数のライトキューを検索し、前記複数のライトキューのいずれかに入力されていれば、前記リード要求に対応するアドレスに対するライト要求に含まれるデータを応答することを特徴とする情報処理装置。
  2. 請求項1において、
    前記システムコントローラは、前記リード要求に対応するアドレスに対する前記ライト要求を破棄することを特徴とする情報処理装置。
  3. 請求項1において、
    前記複数のプロセッサ装置は、複数のグループに分割され、
    前記システムコントローラは、前記グループ毎に存在しており、
    前記複数のグループのうち、一のグループに対応する第1のシステムコントローラは、前記第1のシステムコントローラと異なる第2のシステムコントローラによるリード参照要求が入力されるとき、前記第1のシステムコントローラのキャッシュメモリにおける前記タグ情報の格納状態と前記第1のシステムコントローラのタグコピー部における前記タグ情報の格納状態とが一致しない場合、前記リード参照要求に対応するアドレスに対するライト要求が入力されているかを前記第1のシステムコントローラに備えられる前記複数のライトキューを検索し、前記複数のライトキューのいずれかに入力されていれば、該対応するライト要求に含まれるデータを応答することを特徴とする情報処理装置。
  4. 請求項3において、
    前記第1のシステムコントローラは、前記リード参照要求に対応するアドレスに対するライト要求を破棄することを特徴とする情報処理装置。
  5. 請求項4において、
    前記第2のシステムコントローラは、前記リード参照要求に対応するアドレスに、該リード参照要求に対して応答されたデータを書き込むライト要求を、前記第2のシステムコントローラのライトキューに追加することを特徴とする情報処理装置。
  6. 請求項1において、
    前記システムコントローラは、前記複数のライトキューに含まれるいずれかのライト要求に対応するアドレスに対して、別のライト要求が後続する場合、先行する前記ライト要求を破棄することを特徴とする情報処理装置。
  7. 複数のプロセッサ装置と、前記複数のプロセッサ装置がそれぞれ主記憶から読み出したデータを、格納されるデータの状態を示すタグ情報と合わせて一時的に格納する、前記複数のプロセッサ装置に対応する複数のキャッシュメモリと、前記複数のプロセッサ装置による前記主記憶へのアクセスを制御するシステムコントローラとを有し、前記システムコントローラは、前記複数のキャッシュメモリに夫々格納されるタグ情報のコピーを持つ、前記複数のキャッシュメモリに対応する複数のタグコピー部と、前記複数のプロセッサ装置がそれぞれ出力するライト要求を格納する、前記複数のプロセッサ装置に対応する複数のライトキューと、前記複数のライトキューに格納される複数のライト要求のアービトレーション結果が格納されるストアバッファとを備える情報処理装置におけるデータ制御方法であって、
    前記情報処理装置は、前記複数のプロセッサ装置のうち、一のプロセッサ装置によるリード要求が入力されるとき、前記キャッシュメモリにおける前記タグ情報の第1の格納状態と前記タグコピー部における前記タグ情報の第2の格納状態とが一致するか否かを確認し、
    前記情報処理装置は、前記第1の格納状態と前記第2の格納状態とが一致しない場合、前記一のプロセッサ装置と異なる他のプロセッサ装置により、前記リード要求に対応するアドレスに対するライト要求が入力されているかを前記複数のライトキューを検索し、
    前記情報処理装置は、前記リード要求に対応するアドレスに対するライト要求が前記複数のライトキューのいずれかに入力されていれば、前記リード要求に対応するアドレスに対するライト要求に含まれるデータを応答することを特徴とするデータ制御方法。
  8. 請求項7において、
    前記情報処理装置が、更に、前記リード要求に対応するアドレスに対する前記ライト要求を破棄することを特徴とするデータ制御方法。
  9. 請求項7において、
    前記複数のプロセッサ装置は、複数のグループに分割され、
    前記システムコントローラは、前記グループ毎に存在しており、
    前記情報処理装置が、更に、前記複数のグループのうち、一のグループに対応する第1のシステムコントローラと異なる第2のシステムコントローラによるリード参照要求が入力されるとき、前記第1のシステムコントローラのキャッシュメモリにおける前記タグ情報の第1の格納状態と前記第1のシステムコントローラのタグコピー部における前記タグ情報の第2の格納状態とが一致するか否かを確認し、
    前記情報処理装置が、前記第1の格納状態と前記第2の格納状態とが一致しない場合、前記リード参照要求に対応するアドレスに対するライト要求が入力されているかを前記第1のシステムコントローラに備えられる前記複数のライトキューを検索し、
    前記情報処理装置が、前記リード要求に対応するアドレスに対するライト要求が前記複数のライトキューのいずれかに入力されていれば、該対応するライト要求に含まれるデータを応答することを特徴とするデータ制御方法。
  10. 請求項9において、
    前記情報処理装置が、更に、前記リード参照要求に対応するアドレスに対するライト要求を前記第1のシステムコントローラの前記ライトキューから破棄することを特徴とするデータ制御方法。
JP2005076590A 2005-03-17 2005-03-17 情報処理装置、情報処理装置におけるデータ制御方法 Expired - Fee Related JP4667092B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005076590A JP4667092B2 (ja) 2005-03-17 2005-03-17 情報処理装置、情報処理装置におけるデータ制御方法
US11/169,858 US7711899B2 (en) 2005-03-17 2005-06-30 Information processing device and data control method in information processing device
EP05254128.1A EP1703405B1 (en) 2005-03-17 2005-06-30 Information processing device and data control method in information processing device
CNB2005100860403A CN100445965C (zh) 2005-03-17 2005-07-19 信息处理设备和信息处理设备的数据控制方法
KR1020050065225A KR100709541B1 (ko) 2005-03-17 2005-07-19 정보 처리 장치, 정보 처리 장치에 있어서의 데이터 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005076590A JP4667092B2 (ja) 2005-03-17 2005-03-17 情報処理装置、情報処理装置におけるデータ制御方法

Publications (2)

Publication Number Publication Date
JP2006260159A JP2006260159A (ja) 2006-09-28
JP4667092B2 true JP4667092B2 (ja) 2011-04-06

Family

ID=36579166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005076590A Expired - Fee Related JP4667092B2 (ja) 2005-03-17 2005-03-17 情報処理装置、情報処理装置におけるデータ制御方法

Country Status (5)

Country Link
US (1) US7711899B2 (ja)
EP (1) EP1703405B1 (ja)
JP (1) JP4667092B2 (ja)
KR (1) KR100709541B1 (ja)
CN (1) CN100445965C (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008120352A1 (ja) * 2007-03-29 2008-10-09 Fujitsu Limited 情報処理装置、エラー処理方法
KR20090005921A (ko) 2007-07-10 2009-01-14 삼성전자주식회사 대칭적 다중 프로세서 시스템에서의 로드 밸런싱 방법 및장치
US8140909B2 (en) * 2008-02-22 2012-03-20 International Business Machines Corporation Efficient method to detect disk write errors
TW201015321A (en) * 2008-09-25 2010-04-16 Panasonic Corp Buffer memory device, memory system and data trnsfer method
CN102609240B (zh) * 2011-01-20 2016-04-06 瑞昱半导体股份有限公司 处理器电路及读取数据的方法
KR20140028618A (ko) 2012-08-29 2014-03-10 삼성전자주식회사 쓰기 페일을 줄이는 메모리 장치, 이를 포함하는 메모리 시스템 및 그 쓰기 방법
KR102098248B1 (ko) 2013-06-03 2020-04-07 삼성전자 주식회사 온도에 따라 완화된 타이밍 요건으로 사용되는 메모리 장치 및 이를 이용하는 메모리 콘트롤러
JP6196143B2 (ja) * 2013-12-13 2017-09-13 株式会社東芝 情報処理装置、情報処理方法およびプログラム
CN103778066B (zh) * 2014-01-24 2017-02-01 中国工商银行股份有限公司 数据处理方法和装置
KR102138467B1 (ko) * 2019-05-14 2020-07-28 한국과학기술원 통신 단절 상황에서의 식별자 기반 메시지 전송 방법 및 시스템

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03288245A (ja) * 1990-04-03 1991-12-18 Mitsubishi Electric Corp データ処理装置
JPH06301600A (ja) * 1993-04-19 1994-10-28 Hitachi Ltd 記憶装置
JPH0744459A (ja) * 1993-07-29 1995-02-14 Matsushita Electric Ind Co Ltd キャッシュ制御方法およびキャッシュ制御装置
US5649157A (en) * 1995-03-30 1997-07-15 Hewlett-Packard Co. Memory controller with priority queues
US6292705B1 (en) * 1998-09-29 2001-09-18 Conexant Systems, Inc. Method and apparatus for address transfers, system serialization, and centralized cache and transaction control, in a symetric multiprocessor system
US6438660B1 (en) * 1997-12-09 2002-08-20 Intel Corporation Method and apparatus for collapsing writebacks to a memory for resource efficiency
US20040068616A1 (en) * 2002-10-03 2004-04-08 Tierney Gregory E. System and method enabling efficient cache line reuse in a computer system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197619A (ja) * 1992-01-22 1993-08-06 Nec Corp マルチcpu用メモリ制御回路
JPH07115196A (ja) 1993-10-14 1995-05-02 Toshiba Corp 半導体装置及びその製造方法
KR950012493B1 (ko) * 1993-12-18 1995-10-18 엘지전자주식회사 멀티 프로세서 시스템의 캐쉬 메모리 제어장치
JPH11184695A (ja) * 1997-12-19 1999-07-09 Nec Corp キャッシュメモリ及びキャッシュメモリへのアクセス方法
US6438686B1 (en) 1999-04-20 2002-08-20 Intel Corporation Method and apparatus for eliminating contention with dual bus masters
JP2001216284A (ja) 1999-11-25 2001-08-10 Denso Corp 電子制御装置
WO2001053951A1 (fr) * 2000-01-19 2001-07-26 Fujitsu Limited Dispositif et procede de commande de memoire
JP2001282764A (ja) * 2000-03-30 2001-10-12 Hitachi Ltd マルチプロセッサシステム
US6654858B1 (en) * 2000-08-31 2003-11-25 Hewlett-Packard Development Company, L.P. Method for reducing directory writes and latency in a high performance, directory-based, coherency protocol
KR100460108B1 (ko) * 2000-12-29 2004-12-03 엘지전자 주식회사 듀얼 포트 메모리를 이용한 프로세서의 제어코드 운용방법
US6615322B2 (en) * 2001-06-21 2003-09-02 International Business Machines Corporation Two-stage request protocol for accessing remote memory data in a NUMA data processing system
JP3692313B2 (ja) * 2001-06-28 2005-09-07 松下電器産業株式会社 不揮発性メモリの制御方法
US6775748B2 (en) * 2002-01-24 2004-08-10 Intel Corporation Methods and apparatus for transferring cache block ownership
TW561349B (en) * 2002-03-01 2003-11-11 Via Tech Inc Scheduling method and device of read/write request in control chip

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03288245A (ja) * 1990-04-03 1991-12-18 Mitsubishi Electric Corp データ処理装置
JPH06301600A (ja) * 1993-04-19 1994-10-28 Hitachi Ltd 記憶装置
JPH0744459A (ja) * 1993-07-29 1995-02-14 Matsushita Electric Ind Co Ltd キャッシュ制御方法およびキャッシュ制御装置
US5649157A (en) * 1995-03-30 1997-07-15 Hewlett-Packard Co. Memory controller with priority queues
US6438660B1 (en) * 1997-12-09 2002-08-20 Intel Corporation Method and apparatus for collapsing writebacks to a memory for resource efficiency
US6292705B1 (en) * 1998-09-29 2001-09-18 Conexant Systems, Inc. Method and apparatus for address transfers, system serialization, and centralized cache and transaction control, in a symetric multiprocessor system
US20040068616A1 (en) * 2002-10-03 2004-04-08 Tierney Gregory E. System and method enabling efficient cache line reuse in a computer system

Also Published As

Publication number Publication date
EP1703405B1 (en) 2018-01-10
US7711899B2 (en) 2010-05-04
KR20060101155A (ko) 2006-09-22
US20060212652A1 (en) 2006-09-21
JP2006260159A (ja) 2006-09-28
CN1834942A (zh) 2006-09-20
KR100709541B1 (ko) 2007-04-20
EP1703405A3 (en) 2008-05-28
EP1703405A2 (en) 2006-09-20
CN100445965C (zh) 2008-12-24

Similar Documents

Publication Publication Date Title
JP4667092B2 (ja) 情報処理装置、情報処理装置におけるデータ制御方法
CN1575455B (zh) 优化输入/输出应用的分布式读写高速缓存实现方案
US8972662B2 (en) Dynamically adjusted threshold for population of secondary cache
US8015365B2 (en) Reducing back invalidation transactions from a snoop filter
US7305523B2 (en) Cache memory direct intervention
JP4085389B2 (ja) マルチプロセッサシステム、マルチプロセッサシステムにおける一貫性制御装置及び一貫性制御方法
US7624236B2 (en) Predictive early write-back of owned cache blocks in a shared memory computer system
TW542958B (en) A method and apparatus for pipelining ordered input/output transactions to coherent memory in a distributed memory, cache coherent, multi-processor system
US10169087B2 (en) Technique for preserving memory affinity in a non-uniform memory access data processing system
KR100925572B1 (ko) 상이한 길이의 캐시 위치 내의 캐시 코히어런시를 위한시스템, 방법, 프로세스 및 장치
US7913048B2 (en) Data subscribe-and-publish mechanisms and methods for producer-consumer pre-fetch communications
US8423720B2 (en) Computer system, method, cache controller and computer program for caching I/O requests
US10157129B2 (en) Mirroring a cache having a modified cache state
JP2002304328A (ja) マルチプロセッサシステム用コヒーレンスコントローラ、およびそのようなコントローラを内蔵するモジュールおよびマルチモジュールアーキテクチャマルチプロセッサシステム
CN109460183B (zh) 具有页位图的高效事务表
US20060053255A1 (en) Apparatus and method for retrieving data from a data storage system
KR20200017364A (ko) PCIe 메모리 요청들의 라우팅을 촉진하기 위해 NVMe 물리적 영역 페이지 목록 포인터들 및 데이터 포인터들을 수정
KR101087811B1 (ko) 캐시 라인 소유권 이전 방법 및 캐시 라인 소유권 이전 장치
CN100530141C (zh) 用于互连网络上高效的有序储存的方法和装置
US6950906B2 (en) System for and method of operating a cache
WO2001016737A2 (en) Cache-coherent shared-memory cluster
US20160217076A1 (en) Speculative cache reading using shared buffer
JP2001109662A (ja) キャッシュ装置及び制御方法
US7594080B2 (en) Temporary storage of memory line while waiting for cache eviction
US20050120183A1 (en) Local region table for storage of information regarding memory access by other nodes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110105

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4667092

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees