JPH11312126A - 記憶制御装置 - Google Patents

記憶制御装置

Info

Publication number
JPH11312126A
JPH11312126A JP10132712A JP13271298A JPH11312126A JP H11312126 A JPH11312126 A JP H11312126A JP 10132712 A JP10132712 A JP 10132712A JP 13271298 A JP13271298 A JP 13271298A JP H11312126 A JPH11312126 A JP H11312126A
Authority
JP
Japan
Prior art keywords
address
shared memory
selector
access
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10132712A
Other languages
English (en)
Other versions
JP3657428B2 (ja
Inventor
Kenji Yamakami
憲司 山神
Kazuhisa Fujimoto
和久 藤本
Yasuo Kurosu
康雄 黒須
Hisao Honma
久雄 本間
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP13271298A priority Critical patent/JP3657428B2/ja
Priority to US09/298,967 priority patent/US6601134B1/en
Publication of JPH11312126A publication Critical patent/JPH11312126A/ja
Priority to US10/216,778 priority patent/US20020194435A1/en
Priority to US10/613,154 priority patent/US6963950B2/en
Application granted granted Critical
Publication of JP3657428B2 publication Critical patent/JP3657428B2/ja
Priority to US11/212,587 priority patent/US7167949B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • 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/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache

Abstract

(57)【要約】 【課題】 複数プロセッサと外部メモリを接続する場合
のLSIピンネックおよびパッケージのコネクタネック
の解消を図る。 【解決手段】 中央処理装置と記憶装置間でデータの入
出力を制御する記憶制御装置195は複数のセレクタグル
ープ190と、共有メモリ間パス165で接続された共有メモ
リ160a,160bと、キャッシュメモリ170a,170bからなり、
上記各190は、図の例では、4つのMP部110、2つのS
Mセレクタ140、2つのCMセレクタ150を有し、各MP
部110はプロセッサ、LM(ローカルメモリ)114、SMア
クセス回路113、CMアクセス回路112、バッファ115を
有する。そして、複数のMP部から各SMセレクタへの
パス数より各SMセレクタから共有メモリ160a,160bへ
のパス数の方を少なく、複数のMP部から各CMセレク
タへのパス数より各CMセレクタからキャッシュメモリ
170a,170bへのパス数の方を少なくしている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はメモリを共有するマ
ルチプロセッサシステムに関し、特にマルチプロセッサ
型の記憶制御装置に関する。
【0002】
【従来の技術】近年の記憶装置システムでは、より高い
性能を得るため、マルチプロセッサ構成をとるシステム
が主流になっている。例えば「HITAC H-6581-C3形ディ
スク制御装置」に示されている従来技術では、中央処理
装置と制御装置間のデータ転送を実行する複数のホスト
側プロセッサと、記憶装置と制御装置間のデータ転送を
実行する複数の記憶装置側プロセッサと、記憶装置のデ
ータを一時的に格納するキャッシュメモリと、複数プロ
セッサ間の制御情報を格納する共有メモリを備え、キャ
ッシュメモリおよび共有メモリは全プロセッサからアク
セス可能な構成となっている。この従来システムでは、
プロセッサと共有メモリ、およびプロセッサとキャッシ
ュメモリ間は1:1に接続されている。一方、「HIT
AC H6591形ディスク制御装置」に示されている
従来技術では、制御装置は複数のホスト側プロセッサ
と、複数の記憶装置側プロセッサと、キャッシュメモリ
と、共有メモリを備え、各プロセッサと共有メモリ間は
制御バスで接続され、各プロセッサとキャッシュメモリ
間はデータバスにより接続されている。さらに本従来技
術では、信頼性確保のため共有メモリは二重化されてい
て、一方が閉塞してもシステムは正常動作するようにな
っている。共有メモリの二重化状態を保持するために、
この従来システムでは、共有メモリに対するライトアク
セスが発生すると、両方の共有メモリ回路がアクセスを
受領して、同時に指定アドレスを更新する方式をとって
いる。一方、「HITAC H-6581-C3形ディスク制御装置」
に開示されている従来技術では、このような制御は行っ
ておらず、更新が発生した場合には、両方の共有メモリ
のアドレスを、プロセッサで稼動するプログラムによっ
て逐次的に更新していた。
【0003】
【発明が解決しようとする課題】記憶装置システムに対
する高性能化要求に対して、制御装置の大規模化や構成
要素の高速化、例えばプロセッサ数やキャッシュ容量の
増大、高性能プロセッサの適用、内部バス幅の拡大やバ
ス転送能力の向上などで対応してきた。しかしながら、
「HITAC H6591形ディスク制御装置」に開示
されている従来技術では、内部バスの転送能力がシステ
ムの大規模化および性能向上に追従するのが困難になり
つつある。特に制御バスなどは一度の転送量が少ないた
めに、プロトコルオーバヘッドに占有時間の大半が使用
されてしまい、バスの持つ転送能力が活かせない。
【0004】そこで高いメモリアクセス性能を得るため
に、「HITAC H-6581-C3形ディスク制御装置」で示した
従来システムのように、プロセッサとメモリ間を1:1
に接続する方法が考えられる。しかしながら、搭載する
プロセッサ数の増大に伴い、共有メモリおよびキャッシ
ュメモリに接続するアクセスパス数もそれに比例して増
えていく。現在のLSIのピン数は最大600ピン程度で
ある。一方で、アクセスパス幅を制御線もあわせて20
ビット程度、プロセッサ数を64プロセッサと仮定する
と、共有メモリおよびキャッシュメモリへは合計128
0ビットが入線するため、LSIのピン数が不足する。
また、パッケージの大きさに対する制限から、パッケー
ジ上のコネクタ数も上限があり、1280ビットの入線
は不可能である。以上から、本発明が解決しようとする
第一の課題は、LSIのピンネックおよびコネクタネッ
クを回避して、かつ必要十分な性能を確保する記憶制御
装置の内部構成とすることにある。
【0005】一方、二重化された共有メモリでは、各プ
ロセッサのアクセス順序を保証する必要がある。この問
題を例をあげて説明する。例えばプロセッサaとプロセ
ッサbが同時に共有メモリの内容をほとんど同時に更新
したものと仮定する。
【0006】もし、共有メモリAの内容が、まずプロセ
ッサaにより更新され、共有メモリBの内容が、まずプ
ロセッサbにより更新され、その後、共有メモリAの内
容がプロセッサbにより更新され、共有メモリBの内容
がプロセッサaにより更新されたものとすると、最終的
なメモリ内容は、共有メモリAはプロセッサbの更新内
容であり、共有メモリBはプロセッサaの更新内容とな
り、両面の状態が不一致となる。「HITAC H-6581-C3形
ディスク制御装置」では、上記アクセス順序を保証する
ための手段として、プログラム的に各プロセッサの排他
を取った後、両方の共有メモリの同一アドレスを順次更
新する方式が提示されている。しかし、この方式では、
一旦ロックをかけてからメモリを更新するために、性能
的に問題がある。以上から、本発明が解決しようとする
第二の課題は、共有メモリ間の二重状態を保持すること
にある。
【0007】
【課題を解決するための手段】上記課題を解決するた
め、本発明は、一つ以上の中央処理装置と一つ以上の記
憶装置間でデータの入出力を制御する記憶制御装置であ
り、一つ以上のプロセッサと、前記記憶装置のデータを
一時的に格納するキャッシュメモリと、前記キャッシュ
メモリおよび前記記憶装置に関する制御情報を格納して
いる共有メモリと、セレクタを備え、前記プロセッサは
前記共有メモリおよび前記キャッシュメモリに前記セレ
クタを介してアクセス可能であり、前記プロセッサと前
記セレクタ間と、前記セレクタと前記共有メモリ間と、
前記セレクタと前記キャッシュメモリ間はアクセスパス
により接続されており、前記セレクタと前記共有メモリ
を接続する前記アクセスパス数の合計、または前記セレ
クタと前記キャッシュメモリを接続する前記アクセスパ
ス数の合計は、前記プロセッサと前記セレクタとを接続
する前記アクセスパス数の合計よりも少ないようにして
いる。
【0008】また、前記プロセッサは、2つ以上の前記
セレクタに接続され、前記プロセッサから前記キャッシ
ュメモリへのアクセスルートおよび前記プロセッサから
前記共有メモリへのアクセスルートをそれぞれ複数有
し、通常は全ての前記アクセスルートを使用して負荷を
均衡させ、障害等により一部の前記アクセスルートが使
用不能になった場合は、残りの前記アクセスルートを使
用することにより処理を継続させるようにしている。ま
た、前記プロセッサは、アクセス対象となるキャッシュ
アドレス、および共有メモリアドレスに応じて、使用す
べき前記アクセスルートを決定する手段を有するように
している。
【0009】また、前記共有メモリはペアをなす2つの
共有メモリからなり、該各共有メモリは内部にアクセス
回路を有し、該ペアの共有メモリには共有メモリ間パス
が設けられ、一方の共有メモリはマスタ、他方の共有メ
モリはスレーブに定められ、前記セレクタは、前記プロ
セッサから前記共有メモリへのライト処理時に、前記プ
ロセッサからアドレスとライトコマンドとライトデータ
を受領し、ペアを形成する前記共有メモリの両方に対し
てアドレスとライトコマンドとライトデータを送信する
手段を有し、前記マスタ側の共有メモリのアクセス回路
は、ライトデータを指定のアドレスへ書き込む手段と、
前記スレーブ側の共有メモリに前記共有メモリ間パスを
介して前記アドレスを送信する手段を有し、前記スレー
ブ側の共有メモリのアクセス回路は、前記共有メモリ間
パスから受領したアドレスと前記セレクタから受領した
アドレスとを比較する手段と、該手段の一致出力に応じ
て前記ライトデータを指定のアドレスに書き込む手段を
有し、ライトデータのアクセス順を保証し、前記セレク
タは、前記プロセッサから前記共有メモリへのリード処
理時に、前記プロセッサからアドレスとリードコマンド
を受領し、ペアを形成する前記共有メモリの両方に対し
てアドレスとリードコマンドを送信する手段を有し、前
記マスタ側の共有メモリのアクセス回路は、リードデー
タを指定のアドレスから読み出し前記セレクタへ転送す
る手段と、前記スレーブ側の共有メモリに前記共有メモ
リ間パスを介して前記アドレスを送信する手段を有し、
前記スレーブ側の共有メモリのアクセス回路は、前記共
有メモリ間パスから受領したアドレスと前記セレクタか
ら受領したアドレスとを比較する手段と、該手段の一致
出力に応じてリードデータを指定のアドレスから読み出
し前記セレクタへ転送する手段を有し、前記セレクタ
は、前記マスタおよびスレーブの共有メモリから受領し
たリードデータを比較する手段と、該手段の一致出力に
応じて前記リードデータを前記プロセッサへ送信する手
段を有するようにしている。
【0010】また、前記共有メモリはペアをなす2つの
共有メモリからなり、該各共有メモリは内部にアクセス
回路を有し、該ペアの共有メモリには共有メモリ間パス
が設けられ、一方の共有メモリはマスタ、他方の共有メ
モリはスレーブに定められ、前記セレクタは、前記プロ
セッサから前記共有メモリへのライト処理時に、前記プ
ロセッサからアドレスとライトコマンドとライトデータ
を受領し、ペアを形成する前記共有メモリのうちのマス
タとなる共有メモリに対してアドレスとライトコマンド
とライトデータを送信する手段を有し、前記マスタ側の
共有メモリのアクセス回路は、ライトデータを指定のア
ドレスへ書き込む手段と、前記スレーブ側の共有メモリ
に前記共有メモリ間パスを介して前記アドレスとライト
コマンドとライトデータを送信する手段を有し、前記ス
レーブ側の共有メモリのアクセス回路は、前記共有メモ
リ間パスから受領したアドレスに前記ライトデータを書
き込む手段と、前記マスタ側の共有メモリに対して書き
込みの完了報告を送信する手段を有し、前記マスタ側の
共有メモリのアクセス回路は、前記スレーブ側の共有メ
モリから完了報告を受領したときライト完了とする手段
を有し、ライトデータのアクセス順を保証し、前記セレ
クタは、前記プロセッサから前記共有メモリへのリード
処理時に、前記プロセッサからアドレスとリードコマン
ドを受領し、ペアを形成する前記共有メモリのうちマス
タ側の共有メモリに対してアドレスとリードコマンドを
送信する手段を有し、前記マスタ側の共有メモリのアク
セス回路は、リードデータを指定のアドレスから読み出
す手段と、前記スレーブ側の共有メモリに前記共有メモ
リ間パスを介して前記アドレスとリードコマンドを送信
する手段を有し、前記スレーブ側の共有メモリのアクセ
ス回路は、前記共有メモリ間パスから受領したアドレス
からデータを読み出す手段と、前記マスタ側の共有メモ
リに該読み出したデータを転送する手段を有し、前記マ
スタ側の共有メモリのアクセス回路は、前記マスタ側の
共有メモリから読み出したリードデータと前記スレーブ
側の共有メモリから受領したリードデータを比較する手
段と、該手段の一致出力に応じて前記セレクタへ前記リ
ードデータの転送と終了報告の送信を行う手段を有する
ようにしている。
【0011】また、前記プロセッサは、前記中央処理装
置から受領したライトデータを前記キャッシュメモリに
二重化して格納するためのキャッシュアドレスaとキャ
ッシュアドレスbを決定する手段と、該キャッシュアド
レスa及びキャッシュアドレスbと、ライトコマンド
と、ライトデータを前記セレクタに送信する手段を有
し、前記セレクタは、前記キャッシュアドレスa及びキ
ャッシュアドレスbと、ライトコマンドと、ライトデー
タを受領し、前記キャッシュアドレスaに対応すキャッ
シュメモリAに対して前記キャッシュアドレスaとライ
トコマンドとライトデータを送信し、前記キャッシュア
ドレスbに対応すキャッシュメモリBに対して前記キャ
ッシュアドレスbとライトコマンドとライトデータを送
信する手段を有し、前記各キャッシュメモリは、指定さ
れたキャッシュアドレスにライトデータを格納するよう
にしている。
【0012】また、前記プロセッサは、キャッシュアド
レスaのデータをキャッシュアドレスbにコピーするキ
ャッシュ間コピーを実行するため、コピー元のキャッシ
ュアドレスaから前記セレクタを経由してデータを読み
出す手段と、該読み出したデータをコピー先のキャッシ
ュアドレスbに前記セレクタを経由して書き込む手段を
有するようにしている。
【0013】また、前記プロセッサは、キャッシュアド
レスaのデータをキャッシュアドレスbにコピーするキ
ャッシュ間コピーを実行するため、キャッシュアドレス
aからキャッシュアドレスbへのコピーを指示するコマ
ンドを前記セレクタに対して指示する手段を有し、前記
セレクタは、前記プロセッサからの指示に応じてキャッ
シュアドレスaからデータを読み出し該読み出したデー
タをキャッシュアドレスbへ転送する手段を有するよう
にしている。
【0014】
【発明の実施の形態】図1に本発明における記憶制御装
置の内部構成例を示す。制御装置195はMP(Mic
roProcessor)部110と共有メモリ(S
M)セレクタ140と、キャッシュ(CM)セレクタ1
50と、共有メモリ(SM)160と、キャッシュメモ
リ(CM)170から構成される。MP部110は、1
つ以上のプロセッサ(MP)111と、CMアクセス回
路112と、SMアクセス回路113を内部に持つ。M
P111は、記憶装置とCM170間のデータ転送、あ
るいはCM170と中央処理装置間のデータ転送を実行
する。
【0015】CMアクセス回路112は、MP111か
らの要求に応じてCM170と記憶装置、あるいはCM
170と中央処理装置間のデータ転送を実行するDMA
回路である。バッファ115は、CMアクセス回路11
2の指示により、データを一時的に格納するために用い
られる。LM114は、ローカルメモリであり、プロセ
ッサのワークで使用するメモリとして、また、リードデ
ータ、ライトデータを格納するメモリ等として使用され
る。SMアクセス回路113は、MP111からの要求
に応じてSM160からMP111へのデータ転送、あ
るいはMP111からSM160へのデータ転送を実行
する。
【0016】SMセレクタ140は、複数のMP111
からSM160へのアクセス要求のうち、一つを選択し
て実行する機能を持つ。CMセレクタ150は、複数の
MP111からCM170へのアクセス要求のうち、一
つを選択して実行する機能を持つ。本実施例ではセレク
タをSMセレクタとCMセレクタに分離した構成として
いるが、このような分離をせずに1つのセレクタとし、
1つのセレクタでSMセレクタとCMセレクタの機能を
兼ね備える構成としてもよいことは云うまでもない。
【0017】SM160は、キャッシュ管理情報や、シ
ステム管理情報などの制御情報を格納しており、2つの
SM160aおよびSM160bでペアを形成する。格
納データはペア間で二重化されていて、同一アドレスに
は同一のデータが格納されている。一方が閉塞した場合
でも、システムダウンに至ることはない。SM160a
とSM160b間を接続する共有メモリ間パス165に
よって、格納データの二重化を実現する。本実施例で
は、SM160をCM170とは独立したメモリモジュ
ールとして表現しているが、CM170の一部をSM1
60として使用する構成も考えられる。
【0018】一方、CM170は、記憶装置上のデータ
を一時的に格納するメモリである。ホストからのライト
データで、記憶装置に未反映のデータは、2つのCM1
70aとCM170bに二重化して格納されている。こ
こで、SM160の二重化と異なる点は、必ずしも同一
のキャッシュアドレスに同一データが格納されていない
点である。CM170の管理情報はSM160に格納さ
れていて、MP111はSM160にアクセスしてCM
170aとCM170bのデータ格納領域を確保し、当
該領域にライトデータを書込むことにより、二重化を実
現する。このため、SM間アクセスパス165のような
機構は不要である。
【0019】MP部110からは2本のSMアクセスパ
ス120によって相違なる2個のSMセレクタ140に
接続され、同様に2本のCMアクセスパス130によっ
て相違なる2個のCMセレクタ150に接続される。ま
た、一つのSMセレクタ140およびCMセレクタ15
0へは、4個のMP部が接続される。SMセレクタ14
0からはそれぞれ1本のSMアクセスパス125によっ
てSM160aとSM160bに接続され、CMセレク
タ150からはそれぞれ1本のCMアクセスパス135
によってCM170aとCM170bに接続される。こ
のような4つのMP部110と2つのSMセレクタ14
0と2つのCMセレクタ150で一つのグループを形成
し、セレクタグループ190と呼ぶ。制御装置195は
1個以上のセレクタグループ190を有する。
【0020】ここで、上記個数は一実施例に過ぎず、個
数を上記に制限するものではない。重要なことは、セレ
クタグループ190内ではMP部110の個数よりもS
Mセレクタ140の個数を少なくすることであり、これ
によってMP部110とSMセレクタ140とを接続す
るSMアクセスパス120の個数よりも、SMセレクタ
140とSM160間を接続するSMアクセスパス12
5の個数を少なくでき、SM160に搭載されたLSI
のピンネック、およびSM160のパッケージのコネク
タネックを解消することができる。このことは、CM1
70についても同様である。例えば、32個のMP部1
10からSM160a、160bに直接に独立したSM
アクセスパス120が2本ずつ(1本は交代パス用)存
在した場合、SM160に接続するSMアクセスパス1
20の個数は、合計32(MP)×2(path)=64本とな
る。仮に各SMアクセスパス120が16ビット幅とす
れば、1024ビットのピンがSM160に必要になる
が、現在このようなピン数を持つLSIは存在しない。
一方、本実施例によると、32個のMP部110に対し
ては8個のセレクタグループ190を有し、SM160
に接続するSMアクセスパス120の個数は、8(セレ
クタグループ)×2(SMセレクタ)=16本に押さえ
られ、ピン数は256本で済む。
【0021】次に、SMアクセスのための実施例である
実施例1について説明する。まず、図2から図6を使用
して、SMアクセス時の処理を説明する。図2は、本実
施例におけるSM160のアクセスシーケンス例を示
す。MP111からSMアクセス回路113へは、アク
セスするSM160のアドレスと、リードの場合はデー
タを格納するLM(ローカルメモリ)114のアドレ
ス、ライトの場合はライトデータを格納しているLM1
14のアドレスを渡す。SMアクセス回路113がMP
111よりリードアクセス要求を受領すると、SMセレ
クタ140に対してREQ信号を送信し、SMセレクタ1
40からACK信号が帰るまで待つ。その後、リードコマ
ンドとリードアドレスを送信する。SMセレクタ140
では、複数あるSMアクセス要求のうち、一つを選択し
て、ACK信号を返す。その後コマンドとアドレスを受信
すると、二重アクセスの場合には、SM160aおよび
SM160bに対して、コマンドとアドレスを送信す
る。SM160は、コマンドとアドレスを受信すると、
当該アドレスからデータを読み出し、SMセレクタにリ
ードデータを転送した後、終了報告をSMセレクタ14
0に送信する。SMセレクタ160は、最初のリードデ
ータと終了報告をSM160aまたはSM160bから
受信すると、当該データおよび終了報告をMP部110
へ送信する。この際、リードデータは、SMセレクタ1
40のバッファへ一時的に格納しておく。その後、他の
SM160aまたは160bからリードデータを受信す
ると、バッファへ格納しておいたリードデータとコンペ
アを実施して、一致していることを確認する。続いて受
信した終了報告をMP部110へ転送し、処理を完了す
る。
【0022】SMアクセス回路113は、リードデータ
を受信すると、MP111から指定されたLM114の
アドレスへ当該データを格納する。その後、二つの終了
報告を受信して、処理完了となる。ライト処理の場合も
ほぼ同様で、SMアクセス回路113は、コマンド、ア
ドレスに続いてライトデータを送信する。SMセレクタ
140もコマンド、アドレス、ライトデータをSM16
0aおよびSM160bに転送し、SM160aおよび
SM160bは、指定されたアドレスにライトデータを
格納した後、終了報告を行う。
【0023】図3はSMセレクタ140の内部構成図を
示す。各MP部110とSMセレクタ140を接続する
SMアクセスパス120毎にレジスタ310が対応して
いて、制御部300は、このレジスタ310をリード・
ライトすることによって、MP部からの情報を送受信で
きる。一方、SM160aおよびSM160bとSMセ
レクタ140を接続するSMアクセスパス125毎にレ
ジスタ340aおよびレジスタ340bが対応してい
て、このレジスタ340をリードライトすることによ
り、SM160と通信することが可能である。SM16
0からリードしたデータは、アクセス要求のあったMP
部110へ、レジスタ310経由で転送すると同時に、
バッファ330へ格納することが可能である。そして、
SM160aとSM160bの両方からデータをリード
した後、データコンペア部320で二重化のチェックを
行う。制御部300は、MP部110からのアクセス要
求を選択して実行する機能と、データコンペア部320
の制御機能などを有する。
【0024】図4は、SMアクセス回路113の処理フ
ローを示す。
【0025】SMアクセス回路113がプロセッサ11
1からSMアクセス要求を受領すると、ステップ400
でアクセスするアドレスのビット8が0かどうか調べ、
もし0であればステップ410でSMセレクタ140a
に対してリクエスト信号を送信する。もし1であればス
テップ420でSMセレクタ140bに対してリクエス
ト信号を送信する。MP部は2つのSMセレクタ140
aおよび140bの両方に対してSMアクセスパス12
0を持っているので、両方のパスを負荷分散させたほう
が効率がよい。このため本実施例では、SM上のアドレ
スを128バイト刻みでSMセレクタ140aと140
bを切り替える。よって、アクセスアドレスの8ビット
目を見て、どちらを選択するか決定すれば良い。一般的
には、第nビット目を見てアクセスパスを選択すること
により、2(n-1)バイト刻みでSMセレクタ140aと
140bを切り替えることになる。このnは、システム
のSMアクセスパターンなどを調査して決めるのが良
い。
【0026】送信したREQ信号に対して、ステップ41
1または421でSMセレクタ140からACK信号が返
されると、ステップ412、413または422、42
3で、SMセレクタ140に対してコマンド、アクセス
アドレスを送信する。続いてアクセスがリードの場合
は、ステップ414または424でSM160からデー
タを受領し、プロセッサから指定されたLM114のア
ドレスに当該データを格納する。もしアクセスがライト
の場合は、ステップ413、414またはステップ42
3、424に続いて、プロセッサ111から指定された
LM114のアドレスからライトデータを送信する。最
後にステップ415でSMセレクタ140からSM16
0aの終了報告とSM160bの終了報告を受信したら
処理を完了する。
【0027】ここで、ステップ410、411またはス
テップ420、421でREQ-ACKのやりとりを必要とす
る理由を説明する。SMセレクタ140は、後に詳しく
説明するが、複数のMPからのアクセス要求を順次実行
するために、アクセス要求がぶつかった場合は待たなく
てはならない。そこで、SMアクセス回路113はまず
リクエスト信号を送信し、これに対してSMセレクタか
らACK信号が返ると、処理開始となる。SMアクセス回
路113からSMセレクタ140へ送信されるコマンド
データには、リードあるいはライトを示す情報と、二重
アクセスか一重アクセスかを示すフラグと、一重アクセ
スの場合はSM160aかSM160bのいずれへアク
セスするかを示す情報を含む。
【0028】次に図5および図6を用いて制御部300
の処理を説明する。制御部300はステップ510およ
び511において、レジスタ310を0番から7番ま
で、REQ信号がオンになっているかどうかをラウンドロ
ビンで監視する。オンになっているレジスタ310を見
つけると、当該パスに対してACK信号を返し、処理可能
となったことを知らせる。これは当該レジスタ310の
ACKに対応するビットをオンにすることによって成され
る。続いてステップ512でSMアクセス回路113か
ら受信したコマンドとアドレスをSM A面とB面の両方
に転送する。
【0029】ここでコマンドをデコードして、もし二重
アクセスのリードコマンドであれば、ステップ514で
SM160から、リードデータが転送されてくるのを待
つ。二重アクセスの場合は、SM A面160aから読み
出されたデータと、SMB面160bから読み出されたデ
ータが一致することを確認する必要がある。また、SM
A面とB面のアクセス処理はそれぞれ独立して行われる
ので、データが読み出される順序は決まっていない。そ
こで、ステップ514でリードデータを受信すると、ス
テップ515で他の面からのデータが受信済みであるか
どうかをチェックする。受信済みであれば、ステップ5
16で、受信データをバッファ330へ格納する。ま
た、最初の受信データはMPへ転送する。もし今受信し
たデータがSM A面160aからのものであれば330a
へ、SM B面160bからのものであれば330bへ格納
した後、データコンペア部320に対してデータコンペ
アを指示する。もし、ステップ518でコンペア結果に
異常がなく、かつステップ517でSM160から正常
終了が報告されていればアクセス成功とし、ステップ5
19で正常終了をSMアクセス回路113に報告して、
処理を終了する。
【0030】次にステップ515で他の面からリードデ
ータを受信していなかった場合、つまり今受信したデー
タが最初にSM160から転送されたデータだった場合
は、ステップ520で、もしSM A面160aからのデー
タであればA面バッファ330aへ、B面160bからの
データであればB面バッファ330bへ、受信データを
格納する。また、バッファ330へ格納すると共に、当
該リードデータをSMアクセス回路113へも転送す
る。その後ステップ521および522で、SM160
から受信した終了報告をSMアクセス回路113へ転送
する。データをバッファ330へ格納しておくのは、後
のコンペアのためにデータを保持しておくためである。
また、最初のリードデータをSM160から受信した時
点で、データをSMアクセス回路113に転送し、後の
リードデータは転送しない。これは、データ転送を一回
にすることにより、無駄な転送オーバヘッドを削減する
ためである。ステップ517またはステップ521で、
SMより正常終了を受信しなかった場合には、ステップ
523で異常終了をMPに報告する。
【0031】ステップ513で、SMアクセス回路11
3からの要求がライトアクセスか、または一重リードア
クセス時の処理を図6に示す。ライトアクセス要求の場
合は、ステップ620でSMアクセス回路113から受
信したライトデータをSM A面160aおよびSM B面
160bへ転送し、ステップ621で両面から完了報告
を受領したら、それぞれをSMアクセス回路113へ転
送する。また、一重リード要求の場合は、ステップ61
1で指定された面からリードデータを受領すると、それ
をSMアクセス回路113へ転送し、その後ステップ6
12で指定された面からの完了報告を受領したら、それ
をSMアクセス回路113へ転送して処理を完了する。
一重リードもライトアクセスも、SM A面160a、S
M B面160bの両方へコマンドおよびアドレスを転
送しているが、SM160側ではコマンドをデコードし
た時に、自SM160に対するアクセスかどうかを判断
し、処理不要の場合は要求を無視する。こうすることに
よって、SMセレクタでは一重アクセスかどうか判断す
る必要がなく、負荷を低減することが可能である。
【0032】SM160へのアクセスは、ペアとなるS
M160の両方にアクセスする二重アクセスと、いずれ
か一方にアクセスする一重アクセスの二種類のアクセス
モードがある。これには、制御情報として、一重で格納
されている情報と二重で格納されている情報があるから
で、前者の例としては、キャッシュの管理情報、後者の
例としては、システム管理情報などがある。
【0033】SM160は、二重アクセスに対してはそ
のアクセス順を守る必要がある。まずその理由につい
て、例を用いて説明する。今、プロセッサ#1がSM1
60の内容をAに更新しようとしていて、同時にプロセ
ッサ#2が同一アドレスの内容をBに更新しようとして
いるとする。もしSM A面160aがプロセッサ#1、
プロセッサ#2の順にアクセスを実行し、SM B面16
0bがプロセッサ#2、 プロセッサ#1の順にアクセ
スを実行したとすると、最終的に当該アドレスの内容
は、SM A面160aはBに、SM B面160bはAに
更新され、データの不一致を引き起こす。さらに他の例
で説明する。今SM160の内容がAであるとし、プロ
セッサ#1がSM160の内容を読み出そうとしてい
て、同時にプロセッサ#2が同一アドレスの内容をBに
更新しようとしているとする。もしSM A面160aが
プロセッサ#1、プロセッサ#2の順にアクセスを実行
し、SM B面160bがプロセッサ#2、プロセッサ#
1の順にアクセスを実行したとすると、SM A面からは
更新前のデータ、すなわちAが読み出され、SM B面か
らは更新後のデータ、すなわちBが読み出され、データ
の不一致を検出する。以上の例からわかるように、SM
160の二重状態を保持するための制御が必要である。
【0034】上記二重状態を保持する制御の基本的考え
方は、SM160の一方をマスタ、他方をスレーブと定
めて、マスタ側がアクセス実行を許可するまでは、スレ
ーブ側は当該アクセスを実行しない、ということであ
る。マスタおよびスレーブの切り替えは、面単位、例え
ばSM160aを常にマスタとし、SM160bを常に
スレーブとして取り扱う方法や、アドレス領域毎に取り
扱う方法、例えばSM160aとSM160bを256
バイト毎にマスタおよびスレーブを切り替える方法など
が考えられる。本実施例では、後者、すなわちアドレス
単位毎にマスタとスレーブを切り替える方法を前提とす
る。この場合、例えばアドレス単位を保持するレジスタ
をSM160およびSMセレクタ140内部に保持して
いて、システム立ち上げ時にMPが設定するようにして
おき、SMアクセスが発生した場合に、SM160およ
びセレクタ140は、アクセスアドレスとレジスタに格
納されたアドレス単位を比較して、いずれがマスタにな
るかを調べれば良い。
【0035】図7はSM160の構成図を示す。SM1
60は、SMセレクタ140とSM間の情報の送受信を
行うMPインタフェース710、二重化の他面へ情報を
送信するSM送信インタフェース720、他面から情報
を受信するSM受信インタフェース730、データを格
納するメモリバンク750、メモリバンクからのリード
ライトを制御するメモリコントローラ740、MPイン
タフェース710とSM送信インタフェース720とS
M受信インタフェース730とメモリコントローラを制
御するSMコントローラ700から構成される。
【0036】図8にSMコントローラ700の処理フロ
ーを示す。まずステップ800で、SM受信インタフェ
ース730からアクセス対象となるアドレスを取得す
る。もしNULLアドレスであれば、ステップ810で
MP111からのアクセス要求が存在するかどうか、M
Pインタフェース710を順に調べていく。もしアクセ
ス要求があれば、MPインタフェース710はコマン
ド、アドレス、およびライトの場合はライトデータを保
持している。そこでまずアドレスを取得して、自面がマ
スタとなって処理すべきアドレスかどうかを調べる。自
面がマスタとなるべきアクセス要求が存在しなければ、
ステップ800に戻り、ポーリングを継続する。
【0037】自面がマスタとして処理するアクセス要求
が存在すれば、ステップ811でアクセス要求が二重ア
クセスかどうかをコマンドから調べる。もし二重アクセ
スであればステップ812でSM送信インタフェース7
20に当該アドレスを送信して、スレーブ面に対して当
該アクセスの処理を要求する。続いてステップ813
で、当該アドレスにアクセスする。もしリード要求であ
れば、メモリコントローラ740に対してリード要求と
アドレスを送信する。メモリコントローラ740がメモ
リバンク750にアクセスしてデータが読み出される
と、SMコントローラ700は当該データをMPインタフ
ェース710に転送して処理を完了する。もしライトア
クセスであれば、メモリコントローラ740に対してラ
イト要求を送信するとともにアドレスおよびライトデー
タを転送する。メモリコントローラ740は指定アドレ
スにデータを書き込み処理を完了する。
【0038】以上の処理が正常に完了すると、SMコン
トローラ700はMPインタフェース710を介してM
P111に正常終了を報告し、ステップ800に戻る。
【0039】次にステップ800でSM受信インタフェ
ース730に非ヌルアドレスが格納されていた場合、す
なわちマスタ面からの処理要求があった場合は、ステッ
プ820で指定アドレスと一致するアクセス要求がある
かどうかをMPインタフェース710を走査する。一致
するアドレスが存在した場合はステップ813で、当該
アドレスへのアクセスを実行する。もし一致するアドレ
スが存在しなかった場合は、ステップ830で同一のア
クセス要求があるまで、MPインタフェース710を順
に監視し続ける。もし、一定時間待ってもアクセス要求
がなかった場合は、タイムアウトエラーとしてMP11
1に報告する。
【0040】ステップ820では、SM受信インタフェ
ース730から受信したアドレスと一致するものを、M
Pインタフェース710を順に捜し回るのは、これは多
少効率が悪い。そこで、マスタ面から要求があったら、
どのMPインタフェース710に対応する要求か判断で
きると都合が良い。このため、例えばシステムに一意に
付けられているMP番号をコマンドに格納しておき、S
M送信インタフェース720にはMP番号を送信する。
さらに、各SMセレクタ140が接続する2つのMPイ
ンタフェース710を固定的に決めておき、セレクタは
MP番号と、対応するMPインタフェースの対応表を持
っておく。このようにすると、スレーブ側でSM受信イ
ンタフェース730から受信したMP番号から、MPイ
ンタフェース710の番号が一意に定まり、すぐさまス
テップ820からステップ813へ移行できる。
【0041】以上の方式によると、SM送信インタフェ
ース620およびSM受信インタフェース630を介し
た制御により、二重アクセスにおいては、マスタ面が処
理を開始しない限りはスレーブ面も当該アドレスの処理
は行わないために、アクセス順序は必ず守られ、前述し
たようなデータの不一致は起こり得ない。
【0042】次に、SMアクセスの実施例である実施例
2について説明する。実施例2では、SM160への二
重アクセスにおけるアクセス順序の保証方法として第2
の保証方法を用いている。実施例2について、図9から
図11を用いて説明する。図9はリードアクセスにおけ
るSMアクセスプロトコルの例を示す。実施例2の第二
の保証方法では、SMセレクタ140は、マスタとなる
SM160へのみ、アクセス要求を送信する。ここで
は、SM160aがマスタ、SM160bがスレーブに
なっているとする。リードアクセスの場合は、SM16
0aがアクセス要求を受領すると、SM間アクセスパス
165を介して、SM160bにコマンドとアドレスを
送信するとともに、メモリをアクセスしてデータを読み
出す。SM160bは、このアクセス要求に対してメモ
リからデータを読み出し、SM160aにデータを送信
した後、SM160aに対して終了報告を行う。SM1
60aはSM160bからデータおよび終了報告を受領
して、正常にデータが読み出されたことを確認した後、
自メモリから読み出したデータと、SM160bから受
信したデータをコンペアして、一致していればSMセレ
クタ140にデータを送信し、終了報告を行う。ライト
アクセスの場合は、SM160aはSMセレクタ140
からコマンド、アドレスに続いてライトデータを受信す
るが、SM160bに対しても、コマンド、アドレス、
データを送信するとともに、メモリの指定アドレスにデ
ータを格納する。一方、SM160bでは、SM160
aから指定されたアドレスにデータを格納した後、SM
160aに対して終了報告を行う。SM160aは、自
メモリへの書き込みが正常に終了し、かつSM160b
からの終了報告を受領するのを待って、SMセレクタ1
40に終了報告する。
【0043】SMセレクタ140は、MP部からアクセ
ス要求を受けると、マスタとなるSM160へのみアク
セス要求を転送すればよい。また、データコンペアや二
重アクセスの待ち合わせなどの処理はSM160側で行
う。
【0044】図10にSMコントローラ700の処理を
示す。SMコントローラ700は、ステップ1000で
マスタ面からのアクセス要求の有無をSM受信インタフ
ェース730をアクセスして調べる。もし、アクセス要
求があれば、SM受信インタフェース730には、コマ
ンド、アドレス、そしてライトの場合はライトデータが
格納されている。もしアクセス要求がなかった場合に
は、ステップ1010で、MPインタフェース710を
順にアクセスしてアドレスを取得し、自面がマスタとな
るべきアクセス要求があるかどうかを判定する。もしな
ければ、ステップ1000に戻り、ポーリングを繰り返
す。
【0045】もし自面がマスタとなるべきアクセス要求
があれば、ステップ1011でコマンドをデコードして
二重アクセスかどうかを調べ、もし二重アクセスであれ
ば、ステップ1012で、SM送信インタフェース72
0へ、アクセス要求、すなわちコマンド、アドレス、そ
してライトの場合はライトデータを転送する。さらにリ
ードアクセス要求であれば、ステップ1014で自メモ
リからデータを読み出した後、スレーブからのデータ転
送および終了報告を待つ。終了報告があると、ステップ
1015で、自メモリから読み出したリードデータと、
スレーブから転送されたリードデータをコンペアして、
一致していれば、MPインタフェース710ならびにS
Mセレクタ140経由でリードデータを転送し、その
後、終了報告を行う。もし、データ不一致となるか、あ
るいはマスタ面からのデータ読み出しに失敗した場合、
または、スレーブ面から異常終了が報告された場合は、
MP111に対して異常終了を報告する。
【0046】ステップ1013で、ライトアクセス要求
だった場合は、ステップ1030で自メモリの指定アド
レスへライトデータを格納した後、スレーブからの終了
報告を待つ。その後、ステップ1031で、自メモリへ
のアクセスが正常終了し、かつスレーブから正常終了の
報告があれば、MPインタフェース710およびSMセ
レクタ140経由で、MP111に対して終了報告を行
う。もし、自メモリへのアクセスが異常終了するか、あ
るいはスレーブから異常終了が報告された場合は、MP
111に対して、異常終了を報告し、処理を完了する。
【0047】ステップ1011で、一重アクセス要求の
場合は、上記で説明してきた二重アクセスのための制御
は必要ない。よって、自メモリへアクセスを実行して、
MP111に終了報告を行った後、処理を完了する。
【0048】ステップ1000において、マスタ面から
のアクセス要求が存在した場合、それがリードアクセス
であれば、図11のステップ1110で、自メモリから
データを読み出し、マスタへデータを転送し、終了報告
を行う。もし、ライトアクセスであれば、ステップ11
20で、自メモリへデータを格納した後、マスタへ終了
報告を行い処理を完了する。
【0049】上記実施例2の第二の保証方法によると、
スレーブは、マスタからのアクセス要求を受けてから当
該処理を実行する。このため、アクセスの順序は必ず保
証される。
【0050】実施例1では、マスタとスレーブのアクセ
ス完了の待ち合わせをSMセレクタ140で行ってい
て、SM160aとSM160bは、自メモリアクセス
が完了すると、メモリを解放することができた。一方、
実施例2では、マスタ側でスレーブのアクセス完了を待
つために、それだけ長時間SM160が占有されること
になる。このため、性能的には、実施例1のほうが優れ
ている。
【0051】次に本発明におけるキャッシュメモリ(C
M)170へのアクセス方法について説明する。CM1
70は、記憶装置上のデータを一時的に格納しておくた
めのメモリであり、ダーティデータ、すなわちホストか
らのライトデータで、CM170には格納しているが、
記憶装置へは未反映のデータは二重化されてCM170
に格納されている。この二重化データは、SM160の
二重化とは異なり、MP111で稼動するプログラム
が、CM170aおよびCM170bに領域を確保し
て、当該領域に対してデータを格納するために、相異な
る領域に二重化データを格納することになる。また、S
M160に対するリードアクセスのようなコンペアチェ
ックは行わない。
【0052】CMセレクタ150の構成は、図3で示し
たSMセレクタ140の構成とほぼ同じである。ただ
し、前述したように、キャッシュデータのコンペアは行
わないので、データコンペア部320、バッファ330
は持たない。また、CM170の構成は、図7で示した
SM160の構成とほぼ同じである。ただし、前述した
ように、同一アドレスに同一データを二重化することは
なく、アクセス順序を保証する必要もないため、SM送
信インタフェース720、SM受信インタフェース73
0に相当するものは持たない。
【0053】以下、CM170へのライトデータの格納
方法についての実施例である実施例3について説明す
る。なお、MP111は、ライトデータを格納すべきC
M領域はすでに取得済みであるとする。MP111は、
CMアクセス回路112に、コマンド、データを格納す
べきCMアドレスaおよびCMアドレスbを設定し、C
Mアクセス回路112を起動する。ここで、CMアドレ
スa、CMアドレスbは、それぞれCM170a、CM
170b上のアドレスである。CMアクセス回路112
が起動されると、データは一定の大きさのパケットに分
割されて、順次転送される。それぞれのパケットには、
コマンド、およびアドレスが付与され、データ転送の実
行に伴い、それぞれCMアクセス回路112にて更新さ
れる。例えば、アドレスaから24KBのデータを2KB
のパケットで転送する場合、最初のパケットには、ライ
トコマンドおよびアドレスaが、次のパケットにはライ
トコマンドおよびアドレスa+2048が、第n番目のパケッ
トには、ライトコマンドおよびアドレスa+2048*(n-1)が
付与され、合計12個のパケットにより全データがCM
170へ転送されることになる。
【0054】以下、図12を用いてキャッシュに対する
二重ライトについて説明する。本実施例では、まず片方
の面(図12の例ではCM170a)にライトした後、
他方の面(図12の例ではCM170b)へライトす
る。従って、MP111は、まずCM170aに対する
DMAリスト、すなわち、コマンド、アドレス、転送長
等から構成され、CMアクセス回路112の処理内容が
記述されているリストと、CM170bに対するDMA
リストを作成した後、CMアクセス回路を起動する。
【0055】CMアクセス回路112は、転送すべきア
ドレス毎にどのMP−CM間アクセスパス130を使用
するか選択する。選択方法は、SMアクセス回路113
で説明した方法と同様に、例えば32KB毎に、使用す
るMP−CM間アクセスパス130を切り替えれば良
い。MP−CM間パスを選択すると、CMセレクタ15
0に対して、REQ信号と最初のパケットのコマンドを送
信する。コマンドには、リード・ライト種別と、二重ア
クセスかどうかを示すフラグと、a面への転送を示すフ
ラグとb面への転送を示すフラグから成る。
【0056】CMセレクタ150はコマンドから、CM
170aへのライトであることがわかると、CM170
aに対してREQ信号とコマンドを送信する。CM170
aが処理可能になり、ACK信号を受信すると、CMア
クセス回路113にACKを送信する。
【0057】ここで、CM170に対してREQ-ACKのプ
ロトコルが必要な理由について説明しておく。もし、C
M170にデータを受信するのに十分な大きさのバッフ
ァを設けていれば、REQ-ACKプロトコルは必要でなく、
データをバッファにため込んでおき、後にCM170の
コントローラが処理可能になった時点でバッファからキ
ャッシュメモリへライトすれば良い。しかし、一般にキ
ャッシュアクセスの場合は転送するデータ長が大きく
(本実施例では2KBを仮定している)、各キャッシュ
アクセスパス130毎にこのようなバッファを準備する
のはコスト的に無駄がある。そこで、CM170が処理
可能になった時点で、CMセレクタ150に対してAC
Kを返し、転送されたデータをスルーでキャッシュメモ
リへ転送することにより、上記のようなバッファを不要
としている。SMアクセスの場合は、一回の転送が1ワ
ード程度と小さいため、SMアクセスパス120毎にバ
ッファを準備していても、たいした問題とならない。こ
のため、SMセレクタ140からSM160へはREQ-AC
Kプロトコルは必要とせず、レジスタ310にコマン
ド、アドレス、データを格納することとした。
【0058】さて、CMアクセス回路112のACK受
領すると、アドレス、データを転送して、終了報告を待
つ。CMセレクタ回路では、アドレス、コマンドをアク
セス対象となるCM170aへ転送し、CM170aが
データの書き込みを完了し、終了報告を受け取ると、こ
れをCMアクセス回路112へ転送して処理を完了す
る。その後CMアクセス回路112は、CM170bに
対してライト処理を実行するが、シーケンスについては
CM170aへのライト方法と同様なので省略する。以
上でCM170a、CM170bへの1パケット分の二
重ライトが完了するが、この処理を全パケット分繰り返
す。
【0059】上記実施例3では、CM170aとCM1
70b対応にコマンド、アドレス、データを転送してい
るため、MP−CM間アクセスパス130、135なら
びにCMセレクタ150の利用効率が悪い。そこで、こ
の問題を解決するための実施例である実施例4を以下に
説明する。図13は、CM170に対する二重ライトの
シーケンスを示す。CMアクセス回路112はCMセレ
クタ150に対して、REQ信号とともに、コマンドを転
送する。ここでコマンドは、ライトアクセスコマンドで
あり、二重アクセスフラグと、CM170aへのアクセ
スフラグと、CM170bへのアクセスフラグがオンに
なっている。CMセレクタ150は、コマンドを受領す
ると、CM170aとCM170bの両方に対してREQ
信号とコマンドを転送する。CM170aとCM170
bの両方が処理可能な状態となり、ACK信号が返され
ると、CMアクセス回路112へACK信号を送信す
る。その後、CMアクセス回路112はCM170aの
アドレス、CM170bのアドレス、ライトデータを転
送し、これを受けてCMセレクタ150は、CM170
aのアドレスはCM170aへ、CM170bのアドレ
スはCM170bへ転送する。そして、ライトデータ
は、CM170aとCM170bの両方へ転送する。C
M170は上記実施例3と同様に、指定アドレスへライ
トデータを格納した後、終了報告をCMセレクタ150
経由でCMアクセス回路112へ行う。上記実施例4に
よると、ライトデータの転送は1回でよく、その分MP
−CMセレクタ間アクセスパス130の占有時間は短く
て済む。また、CM170aとCM170bの処理は並
行に行われるので、レスポンスも短縮できる。
【0060】次に実施例5として、キャッシュ間でデー
タのコピーを行う方法について述べる。キャッシュ間コ
ピーでは、コピー元およびコピー先がそれぞれ、CM1
70aからCM170aへ、CM170bからCM17
0bへ、CM170aからCM170bへ、CM170
bからCM170aへ、の4通りが考えられる。まず最
初に、上記4通りの全てに適用可能な手法、すなわち、
MP部のバッファ115を使用して、コピー元のCM1
70からバッファ115へデータを読み出した後、バッ
ファ115からコピー先のCM170へデータをコピー
する方法を以下に説明する。
【0061】図14は、バッファ115介したキャッシ
ュ間コピー方法のシーケンスをまとめた図である。バッ
ファ115を介した場合は、バッファ115の大きさを
超えるコピーは一度にできないため、複数回に分ける必
要がある。この制御はMP111で行う。MP111
は、まず、コピー元のCM170(図14の場合はCM
170a)に対するリード要求のDMAリストと、コピ
ー先のCM170(図14の場合はCM170b)に対
するライト要求のDMAリストを作成し、CMアクセス
回路112を起動する。ここで、DMAリスト中の転送
サイズの上限はバッファサイズである。CMアクセス回
路は、これまで説明してきた方法により、まずコピー元
のCM170aからバッファ115へデータを読み出
す。これが完了すると、続いてコピー先のCM170b
へバッファ115からデータを書込み、処理を完了し、
MP111にコピー完了を通知する。コピー開始を指示
してから完了報告を受領するまで、MP111が介在す
ることはない。もし、バッファサイズの制限により、ま
だコピーすべきデータが残っている場合は、MP111
は引き続きDMAリストを作成し、コピー処理を続行す
る。
【0062】次に実施例6として、バッファ115を介
在しないキャッシュ間コピー方法について説明する。こ
の方法は、コピー元から読み出したデータをCMセレク
タ150で折り返してコピー先へ転送するものである。
データはCMセレクタ150を(バッファなどに格納さ
れず)スルーでコピー先へ流れていくので、コピー先と
コピー元のキャッシュは異なっていなくてはならない。
すなわち、本手法が適用できるのは、CM170aから
CM170bへ、またはCM170bからCM170a
へのいずれかである。
【0063】図15は、セレクタで折り返すキャッシュ
間コピー方法のシーケンスをまとめた図である。MP1
11は、キャッシュ間コピーを実行するDMAリストを
作成したのち、CMセレクタ150をREQ信号をアサー
トすることにより、起動する。ここで、リスト中には、
キャッシュ間コピーコマンド、コピー元アドレス、コピ
ー先アドレスを含む。CMセレクタ150が起動される
と、コピー元(図15の場合はCM170a)とコピー
先(図15の場合はCM170b)に対してリクエスト
要求を発行する。CM170aとCM170bの両方が
処理可能になり、ACKが返されると、CMアクセス回路
113に対してACKを返す。
【0064】これを受けてCMアクセス回路113は、
コマンド、CM170aのアドレス、CM170bのア
ドレスを送信する。
【0065】CMセレクタ150は、コマンドはCM1
70aとCM170bの両方に転送し、CM170aア
ドレスはCM170aに、CM170bアドレスはCM
170bに転送する。コピー元であるCM170aから
データが読み出されると、そのデータをコピー先である
CM170bへ転送する。CM170bの処理では、ラ
イト処理と同様であり、すでにデータを受け取る準備が
できているので、受領したライトデータを指定されたア
ドレスへ格納する。以上のCM170aからのリード処
理と、CM170bへのライト処理を、全データのコピ
ーを完了するまで繰り返す。
【0066】二つのキャッシュ間コピー方法の特徴を以
下にまとめる。CMセレクタ150で折り返すコピー方
法では、コピー元からのリードとコピー先へのライトを
並行して行える。また、コピー元から読み出したデータ
をバッファに溜めないため、どのようなデータサイズの
コピーでも、一度のコピー起動で完了する。よってバッ
ファ115を介してコピーする方法に比べて、コピーに
かかる時間が短い。一方、コピーデータをバッファに溜
めずにスルーでコピー先に転送するために、同一面、す
なわちCM170aからCM170aへ、またはCM1
70bからCM170bへのコピーはできないデメリッ
トがある。従って、同一面間のコピーはバッファ115
を介したコピー方法で、別面間のコピーはCMセレクタ
150で折り返すコピー方法で行うのが良い。
【0067】
【発明の効果】本発明によると、複数のプロセッサとメ
モリの間にセレクタを設置し、セレクタでメモリへのア
クセス要求を選択して実行することにより、パッケージ
当たりの配線数を削減し、LSIのピンネック、および
パッケージコネクタネックを解消できる。さらに本発明
によると、二重化された共有メモリの一方をマスタ、一
方をスレーブと定め、共有メモリ間を接続して、スレー
ブ側はマスタ側の処理要求があった時のみ、二重アクセ
ス要求を実行する機構を設けることにより、共有メモリ
間の二重状態を保つことができる。
【図面の簡単な説明】
【図1】本発明における記憶制御装置の構成を示す図で
ある。
【図2】実施例1のSMアクセスのシーケンスを示す図
である。
【図3】SMセレクタ回路の構成を示す図である。
【図4】SMアクセス回路の動作フローを示す図であ
る。
【図5】SMセレクタ回路の動作フローを示す図であ
る。
【図6】図5に続くSMセレクタ回路の動作フローを示
す図である。
【図7】共有メモリの構成を示す図である。
【図8】実施例1のSMコントローラの動作フローを示
す図である。
【図9】実施例2のSMアクセスのシーケンスを示す図
である。
【図10】実施例2のSMコントローラの動作フローを
示す図である。
【図11】図10に続くSMコントローラの動作フロー
を示す図である。
【図12】実施例3のCMアクセスのライトシーケンス
を示す図である。
【図13】実施例4のCMアクセスのライトシーケンス
を示す図である。
【図14】実施例5のCMアクセスのコピーシーケンス
を示す図である。
【図15】実施例6のCMアクセスのコピーシーケンス
を示す図である。
【符号の説明】
111 プロセッサ 112 CMアクセス回路 113 SMアクセス回路 114 ローカルメモリ 115 バッファ 120 SMアクセスパス 130 CMアクセスパス 125 SMアクセスパス 135 CMアクセスパス 140 SMセレクタ 150 CMセレクタ 160 共有メモリ 165 共有メモリ間パス 170 キャッシュメモリ 190 セレクタグループ 195 記憶制御装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 本間 久雄 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 一つ以上の中央処理装置と一つ以上の記
    憶装置間でデータの入出力を制御する記憶制御装置であ
    って、 一つ以上のプロセッサと、前記記憶装置のデータを一時
    的に格納するキャッシュメモリと、前記キャッシュメモ
    リおよび前記記憶装置に関する制御情報を格納している
    共有メモリと、セレクタを備え、前記プロセッサは前記
    共有メモリおよび前記キャッシュメモリに前記セレクタ
    を介してアクセス可能であり、 前記プロセッサと前記セレクタ間と、前記セレクタと前
    記共有メモリ間と、前記セレクタと前記キャッシュメモ
    リ間はアクセスパスにより接続されており、 前記セレクタと前記共有メモリを接続する前記アクセス
    パス数の合計、または前記セレクタと前記キャッシュメ
    モリを接続する前記アクセスパス数の合計は、前記プロ
    セッサと前記セレクタとを接続する前記アクセスパス数
    の合計よりも少ないことを特徴とする記憶制御装置。
  2. 【請求項2】 請求項1記載の記憶制御装置において、 前記プロセッサは、2つ以上の前記セレクタに接続さ
    れ、前記プロセッサから前記キャッシュメモリへのアク
    セスルートおよび前記プロセッサから前記共有メモリへ
    のアクセスルートをそれぞれ複数有し、通常は全ての前
    記アクセスルートを使用して負荷を均衡させ、障害等に
    より一部の前記アクセスルートが使用不能になった場合
    は、残りの前記アクセスルートを使用することにより処
    理を継続させることを特徴とする記憶制御装置。
  3. 【請求項3】 請求項1または請求項2記載の記憶制御
    装置において、 前記プロセッサは、アクセス対象となるキャッシュアド
    レス、および共有メモリアドレスに応じて、使用すべき
    前記アクセスルートを決定する手段を有することを特徴
    とする記憶制御装置。
  4. 【請求項4】 請求項1記載の記憶制御装置において、 前記共有メモリはペアをなす2つの共有メモリからな
    り、該各共有メモリは内部にアクセス回路を有し、該ペ
    アの共有メモリには共有メモリ間パスが設けられ、一方
    の共有メモリはマスタ、他方の共有メモリはスレーブに
    定められ、 前記セレクタは、前記プロセッサから前記共有メモリへ
    のライト処理時に、前記プロセッサからアドレスとライ
    トコマンドとライトデータを受領し、ペアを形成する前
    記共有メモリの両方に対してアドレスとライトコマンド
    とライトデータを送信する手段を有し、 前記マスタ側の共有メモリのアクセス回路は、ライトデ
    ータを指定のアドレスへ書き込む手段と、前記スレーブ
    側の共有メモリに前記共有メモリ間パスを介して前記ア
    ドレスを送信する手段を有し、 前記スレーブ側の共有メモリのアクセス回路は、前記共
    有メモリ間パスから受領したアドレスと前記セレクタか
    ら受領したアドレスとを比較する手段と、該手段の一致
    出力に応じて前記ライトデータを指定のアドレスに書き
    込む手段を有し、ライトデータのアクセス順を保証し、 前記セレクタは、前記プロセッサから前記共有メモリへ
    のリード処理時に、前記プロセッサからアドレスとリー
    ドコマンドを受領し、ペアを形成する前記共有メモリの
    両方に対してアドレスとリードコマンドを送信する手段
    を有し、 前記マスタ側の共有メモリのアクセス回路は、リードデ
    ータを指定のアドレスから読み出し前記セレクタへ転送
    する手段と、前記スレーブ側の共有メモリに前記共有メ
    モリ間パスを介して前記アドレスを送信する手段を有
    し、 前記スレーブ側の共有メモリのアクセス回路は、前記共
    有メモリ間パスから受領したアドレスと前記セレクタか
    ら受領したアドレスとを比較する手段と、該手段の一致
    出力に応じてリードデータを指定のアドレスから読み出
    し前記セレクタへ転送する手段を有し、 前記セレクタは、前記マスタおよびスレーブの共有メモ
    リから受領したリードデータを比較する手段と、該手段
    の一致出力に応じて前記リードデータを前記プロセッサ
    へ送信する手段を有することを特徴とする記憶制御装
    置。
  5. 【請求項5】 請求項1記載の記憶制御装置において、 前記共有メモリはペアをなす2つの共有メモリからな
    り、該各共有メモリは内部にアクセス回路を有し、該ペ
    アの共有メモリには共有メモリ間パスが設けられ、一方
    の共有メモリはマスタ、他方の共有メモリはスレーブに
    定められ、 前記セレクタは、前記プロセッサから前記共有メモリへ
    のライト処理時に、前記プロセッサからアドレスとライ
    トコマンドとライトデータを受領し、ペアを形成する前
    記共有メモリのうちのマスタとなる共有メモリに対して
    アドレスとライトコマンドとライトデータを送信する手
    段を有し、 前記マスタ側の共有メモリのアクセス回路は、ライトデ
    ータを指定のアドレスへ書き込む手段と、前記スレーブ
    側の共有メモリに前記共有メモリ間パスを介して前記ア
    ドレスとライトコマンドとライトデータを送信する手段
    を有し、 前記スレーブ側の共有メモリのアクセス回路は、前記共
    有メモリ間パスから受領したアドレスに前記ライトデー
    タを書き込む手段と、前記マスタ側の共有メモリに対し
    て書き込みの完了報告を送信する手段を有し、 前記マスタ側の共有メモリのアクセス回路は、前記スレ
    ーブ側の共有メモリから完了報告を受領したときライト
    完了とする手段を有し、ライトデータのアクセス順を保
    証し、 前記セレクタは、前記プロセッサから前記共有メモリへ
    のリード処理時に、前記プロセッサからアドレスとリー
    ドコマンドを受領し、ペアを形成する前記共有メモリの
    うちマスタ側の共有メモリに対してアドレスとリードコ
    マンドを送信する手段を有し、 前記マスタ側の共有メモリのアクセス回路は、リードデ
    ータを指定のアドレスから読み出す手段と、前記スレー
    ブ側の共有メモリに前記共有メモリ間パスを介して前記
    アドレスとリードコマンドを送信する手段を有し、 前記スレーブ側の共有メモリのアクセス回路は、前記共
    有メモリ間パスから受領したアドレスからデータを読み
    出す手段と、前記マスタ側の共有メモリに該読み出した
    データを転送する手段を有し、 前記マスタ側の共有メモリのアクセス回路は、前記マス
    タ側の共有メモリから読み出したリードデータと前記ス
    レーブ側の共有メモリから受領したリードデータを比較
    する手段と、該手段の一致出力に応じて前記セレクタへ
    前記リードデータの転送と終了報告の送信を行う手段を
    有することを特徴とする記憶制御装置。
  6. 【請求項6】 請求項1記載の記憶制御装置において、 前記プロセッサは、前記中央処理装置から受領したライ
    トデータを前記キャッシュメモリに二重化して格納する
    ためのキャッシュアドレスaとキャッシュアドレスbを
    決定する手段と、該キャッシュアドレスa及びキャッシ
    ュアドレスbと、ライトコマンドと、ライトデータを前
    記セレクタに送信する手段を有し、 前記セレクタは、前記キャッシュアドレスa及びキャッ
    シュアドレスbと、ライトコマンドと、ライトデータを
    受領し、前記キャッシュアドレスaに対応すキャッシュ
    メモリAに対して前記キャッシュアドレスaとライトコ
    マンドとライトデータを送信し、前記キャッシュアドレ
    スbに対応すキャッシュメモリBに対して前記キャッシ
    ュアドレスbとライトコマンドとライトデータを送信す
    る手段を有し、 前記各キャッシュメモリは、指定されたキャッシュアド
    レスにライトデータを格納することを特徴とする記憶制
    御装置。
  7. 【請求項7】 請求項1記載の記憶制御装置において、 前記プロセッサは、キャッシュアドレスaのデータをキ
    ャッシュアドレスbにコピーするキャッシュ間コピーを
    実行するため、コピー元のキャッシュアドレスaから前
    記セレクタを経由してデータを読み出す手段と、該読み
    出したデータをコピー先のキャッシュアドレスbに前記
    セレクタを経由して書き込む手段を有することを特徴と
    する記憶制御装置。
  8. 【請求項8】 請求項1記載の記憶制御装置において、 前記プロセッサは、キャッシュアドレスaのデータをキ
    ャッシュアドレスbにコピーするキャッシュ間コピーを
    実行するため、キャッシュアドレスaからキャッシュア
    ドレスbへのコピーを指示するコマンドを前記セレクタ
    に対して指示する手段を有し、 前記セレクタは、前記プロセッサからの指示に応じてキ
    ャッシュアドレスaからデータを読み出し該読み出した
    データをキャッシュアドレスbへ転送する手段を有する
    ことを特徴とする記憶制御装置。
JP13271298A 1998-04-27 1998-04-27 記憶制御装置 Expired - Fee Related JP3657428B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP13271298A JP3657428B2 (ja) 1998-04-27 1998-04-27 記憶制御装置
US09/298,967 US6601134B1 (en) 1998-04-27 1999-04-26 Multi-processor type storage control apparatus for performing access control through selector
US10/216,778 US20020194435A1 (en) 1998-04-27 2002-08-13 Multi-processor type storage control apparatus for performing access control through selector
US10/613,154 US6963950B2 (en) 1998-04-27 2003-07-07 Multi-processor type storage control apparatus for performing access control through selector
US11/212,587 US7167949B2 (en) 1998-04-27 2005-08-29 Multi-processor type storage control apparatus for performing access control through selector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13271298A JP3657428B2 (ja) 1998-04-27 1998-04-27 記憶制御装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004020685A Division JP4173110B2 (ja) 2004-01-29 2004-01-29 記憶装置システム

Publications (2)

Publication Number Publication Date
JPH11312126A true JPH11312126A (ja) 1999-11-09
JP3657428B2 JP3657428B2 (ja) 2005-06-08

Family

ID=15087818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13271298A Expired - Fee Related JP3657428B2 (ja) 1998-04-27 1998-04-27 記憶制御装置

Country Status (2)

Country Link
US (4) US6601134B1 (ja)
JP (1) JP3657428B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004502263A (ja) * 2000-06-29 2004-01-22 イーエムシー コーポレーション ポイント間構成を有するデータ記憶システム
US7103717B2 (en) 2004-04-07 2006-09-05 Hitachi, Ltd. Disk array device and data processing method thereof
JP2006285778A (ja) * 2005-04-01 2006-10-19 Hitachi Ltd ストレージシステム及び記憶制御方法
JP2010086211A (ja) * 2008-09-30 2010-04-15 Hitachi Ltd ストレージシステムおよび制御プログラムならびにストレージシステム制御方法
JP2012198940A (ja) * 2012-07-23 2012-10-18 Hitachi Ltd ストレージシステムおよびストレージシステム制御方法

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3657428B2 (ja) * 1998-04-27 2005-06-08 株式会社日立製作所 記憶制御装置
CN1592900A (zh) * 2001-07-05 2005-03-09 皇家菲利浦电子有限公司 处理器集群
US7085866B1 (en) * 2002-02-19 2006-08-01 Hobson Richard F Hierarchical bus structure and memory access protocol for multiprocessor systems
US6959372B1 (en) * 2002-02-19 2005-10-25 Cogent Chipware Inc. Processor cluster architecture and associated parallel processing methods
US7171525B1 (en) * 2002-07-31 2007-01-30 Silicon Image, Inc. Method and system for arbitrating priority bids sent over serial links to a multi-port storage device
JP4325843B2 (ja) * 2002-12-20 2009-09-02 株式会社日立製作所 論理ボリュームコピー先性能調整方法及び装置
JP4413518B2 (ja) * 2003-04-16 2010-02-10 株式会社日立製作所 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法
US7343457B1 (en) * 2003-08-01 2008-03-11 Unisys Corporation Dual active bank memory controller
JP4468666B2 (ja) * 2003-08-22 2010-05-26 富士通株式会社 二重書込機能を有する装置およびストレージ制御装置
JP2005149082A (ja) * 2003-11-14 2005-06-09 Hitachi Ltd ストレージ制御装置、及びストレージ制御装置の制御方法
JP4405277B2 (ja) * 2004-02-16 2010-01-27 株式会社日立製作所 ディスク制御装置
JP4441286B2 (ja) * 2004-02-10 2010-03-31 株式会社日立製作所 ストレージシステム
US7467238B2 (en) * 2004-02-10 2008-12-16 Hitachi, Ltd. Disk controller and storage system
JP2007109141A (ja) * 2005-10-17 2007-04-26 Hitachi Ltd ストレージシステム
JP4561800B2 (ja) * 2007-09-25 2010-10-13 沖電気工業株式会社 データ同期システム及び方法
US7743191B1 (en) 2007-12-20 2010-06-22 Pmc-Sierra, Inc. On-chip shared memory based device architecture
JP4936088B2 (ja) * 2010-03-15 2012-05-23 日本電気株式会社 ディスクアレイ装置、ディスクアレイシステム、及びキャッシュ制御方法
KR101863605B1 (ko) 2011-09-19 2018-07-06 삼성전자주식회사 스트림 데이터를 고속으로 처리하는 프로세서
US20140019678A1 (en) 2012-07-10 2014-01-16 Hitachi, Ltd. Disk subsystem and method for controlling memory access
CN111708717A (zh) * 2015-06-30 2020-09-25 华为技术有限公司 数据拷贝方法、直接内存访问控制器及计算机系统
US10559351B2 (en) * 2017-02-20 2020-02-11 Texas Instruments Incorporated Methods and apparatus for reduced area control register circuit
CN110830563A (zh) * 2019-10-31 2020-02-21 英业达科技有限公司 一种主从架构服务器及其信息读写方法
KR20220064230A (ko) * 2020-11-11 2022-05-18 삼성전자주식회사 다중 프로토콜에 기초하여 메모리에 액세스하기 위한 시스템, 장치 및 방법

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS564854A (en) * 1979-06-22 1981-01-19 Fanuc Ltd Control system for plural microprocessors
US4442142A (en) * 1980-05-08 1984-04-10 The United States Of America As Represented By The Secretary Of The Navy Nitrile elastomer treating solution and method of treating nitrile elastomer therewith
US4476526A (en) * 1981-11-27 1984-10-09 Storage Technology Corporation Cache buffered memory subsystem
US4698753A (en) * 1982-11-09 1987-10-06 Texas Instruments Incorporated Multiprocessor interface device
JP2637788B2 (ja) * 1988-09-02 1997-08-06 株式会社日立製作所 ディスクキャッシュ制御方式および情報処理システム
US5459857A (en) * 1992-05-15 1995-10-17 Storage Technology Corporation Fault tolerant disk array data storage subsystem
US5404361A (en) * 1992-07-27 1995-04-04 Storage Technology Corporation Method and apparatus for ensuring data integrity in a dynamically mapped data storage subsystem
US5640530A (en) * 1992-12-17 1997-06-17 International Business Machines Corporation Use of configuration registers to control access to multiple caches and nonvolatile stores
US5771367A (en) * 1992-12-17 1998-06-23 International Business Machines Corporation Storage controller and method for improved failure recovery using cross-coupled cache memories and nonvolatile stores
US5809525A (en) * 1993-09-17 1998-09-15 International Business Machines Corporation Multi-level computer cache system providing plural cache controllers associated with memory address ranges and having cache directories
JP3239669B2 (ja) * 1995-02-20 2001-12-17 株式会社日立製作所 記憶制御装置及びその制御方法
US5860110A (en) * 1995-08-22 1999-01-12 Canon Kabushiki Kaisha Conference maintenance method for cache memories in multi-processor system triggered by a predetermined synchronization point and a predetermined condition
US5875201A (en) * 1996-12-30 1999-02-23 Unisys Corporation Second level cache having instruction cache parity error control
US5960455A (en) * 1996-12-30 1999-09-28 Unisys Corporation Scalable cross bar type storage controller
US6311252B1 (en) * 1997-06-30 2001-10-30 Emc Corporation Method and apparatus for moving data between storage levels of a hierarchically arranged data storage system
US6065096A (en) * 1997-09-30 2000-05-16 Lsi Logic Corporation Integrated single chip dual mode raid controller
US6065077A (en) * 1997-12-07 2000-05-16 Hotrail, Inc. Apparatus and method for a cache coherent shared memory multiprocessing system
US6105103A (en) * 1997-12-19 2000-08-15 Lsi Logic Corporation Method for mapping in dynamically addressed storage subsystems
US5974058A (en) * 1998-03-16 1999-10-26 Storage Technology Corporation System and method for multiplexing serial links
US5943287A (en) * 1998-03-31 1999-08-24 Emc Corporation Fault tolerant memory system
JP3657428B2 (ja) * 1998-04-27 2005-06-08 株式会社日立製作所 記憶制御装置
US6134624A (en) * 1998-06-08 2000-10-17 Storage Technology Corporation High bandwidth cache system
US6389494B1 (en) * 1998-12-30 2002-05-14 Emc Corporation System for interfacing a data storage system to a host utilizing a plurality of busses for carrying end-user data and a separate bus for carrying interface state data

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004502263A (ja) * 2000-06-29 2004-01-22 イーエムシー コーポレーション ポイント間構成を有するデータ記憶システム
JP4885406B2 (ja) * 2000-06-29 2012-02-29 イーエムシー コーポレイション ポイント間構成を有するデータ記憶システム
US7103717B2 (en) 2004-04-07 2006-09-05 Hitachi, Ltd. Disk array device and data processing method thereof
US7269690B2 (en) 2004-04-07 2007-09-11 Hitachi, Ltd. Disk array device and data processing method thereof
US7360019B2 (en) 2004-04-07 2008-04-15 Hitachi, Ltd. Disk array device and data processing method thereof
JP2006285778A (ja) * 2005-04-01 2006-10-19 Hitachi Ltd ストレージシステム及び記憶制御方法
JP2010086211A (ja) * 2008-09-30 2010-04-15 Hitachi Ltd ストレージシステムおよび制御プログラムならびにストレージシステム制御方法
JP2012198940A (ja) * 2012-07-23 2012-10-18 Hitachi Ltd ストレージシステムおよびストレージシステム制御方法

Also Published As

Publication number Publication date
US20040073750A1 (en) 2004-04-15
US20020194435A1 (en) 2002-12-19
US6963950B2 (en) 2005-11-08
US6601134B1 (en) 2003-07-29
US20050283576A1 (en) 2005-12-22
US7167949B2 (en) 2007-01-23
JP3657428B2 (ja) 2005-06-08

Similar Documents

Publication Publication Date Title
JP3657428B2 (ja) 記憶制御装置
JP3716126B2 (ja) ディスクアレイ制御装置及びディスクアレイ
US7127567B2 (en) Performing memory RAS operations over a point-to-point interconnect
JP2802043B2 (ja) クロック故障検出回路
US5991797A (en) Method for directing I/O transactions between an I/O device and a memory
EP1606712B1 (en) System and method for dynamic mirror-bank addressing
JP2004199420A (ja) 計算機システム、磁気ディスク装置、および、ディスクキャッシュ制御方法
JP2000099281A (ja) ディスクアレイ制御装置
WO2003030006A9 (en) Controller data sharing using a modular dma architecture
JP3987241B2 (ja) 系間情報通信システム
JP3690295B2 (ja) ディスクアレイ制御装置
JPH05508506A (ja) 耐障害性回路網ファイルシステム
JP3195489B2 (ja) 外部記憶制御装置およびバス切り替え制御方法
JPH06131244A (ja) 共有メモリの非同期アクセス方式
JP3080552B2 (ja) 複合計算機システムのメモリ装置
JP4173110B2 (ja) 記憶装置システム
US7080198B1 (en) Method for snooping RAID 1 write transactions by a storage device
JP4179303B2 (ja) 記憶装置システム
JP3719976B2 (ja) 二重化コントローラ構成ディスク記憶システム向けコントローラ、及び同コントローラが二重化されたディスク記憶システム
US6988166B1 (en) Method for snooping raid 1 read transactions by a storage device
JPH0281255A (ja) マルチプロセッサコンピュータ複合装置
JP3141948B2 (ja) 計算機システム
JP3112280B2 (ja) 計算機システム
JP2003263279A (ja) ディスクアレイ制御装置
JPH08340348A (ja) 情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040129

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050117

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: 20050301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050309

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090318

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090318

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100318

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110318

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110318

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120318

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130318

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130318

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140318

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees