JP2001318766A - Disk array device and cache memory control method - Google Patents

Disk array device and cache memory control method

Info

Publication number
JP2001318766A
JP2001318766A JP2000135013A JP2000135013A JP2001318766A JP 2001318766 A JP2001318766 A JP 2001318766A JP 2000135013 A JP2000135013 A JP 2000135013A JP 2000135013 A JP2000135013 A JP 2000135013A JP 2001318766 A JP2001318766 A JP 2001318766A
Authority
JP
Japan
Prior art keywords
controllers
cache
write
bitmap
controller
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
JP2000135013A
Other languages
Japanese (ja)
Inventor
Kazuya Shiraishi
和也 白石
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.)
NEC Software Shikoku Ltd
Original Assignee
NEC Software Shikoku 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 NEC Software Shikoku Ltd filed Critical NEC Software Shikoku Ltd
Priority to JP2000135013A priority Critical patent/JP2001318766A/en
Publication of JP2001318766A publication Critical patent/JP2001318766A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a disk array device and a cache memory control method for executing second and succeeding pieces of write command processing without putting loads on the processor of a main controller. SOLUTION: This disk array device is composed of two controllers and executes the double write of write data in the two controllers without using the hardware of a shared memory. The write data are held in both of the two controllers and a means is provided for making the write data held in the other one of the two controllers mutually referable when a fault is generated in one of the controllers.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、2コントローラ構
成でかつ共有メモリのハードウェアを持たないディスク
アレイ装置のキャッシュメモリ制御技術に係り、特にメ
イトコントローラのセグメントをシーズしてそのキャッ
シュアドレスとビットマップを保持することにより、2
回目以降のライトコマンド処理においてメイトコントロ
ーラのプロセッサに負荷をかけることなく実行できるよ
うになるディスクアレイ装置およびキャッシュメモリ制
御方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cache memory control technique for a disk array device having a two-controller structure and having no shared memory hardware. By holding
The present invention relates to a disk array device and a cache memory control method that can be executed in a subsequent write command process without imposing a load on a processor of a mate controller.

【0002】[0002]

【従来の技術】従来、ライトデータの2重書き技術とし
ては、例えば、キャッシュメモリを2つのコントローラ
から独立させて設け当該両コントローラからアクセス可
能な共有メモリ構成とする方式と、コントローラ内にキ
ャッシュメモリを配置し何らかの方法でキャッシュデー
タをメイトコントローラに送信する方式等が開示されて
いる。
2. Description of the Related Art Conventionally, as a technique of double writing of write data, for example, a cache memory is provided independently of two controllers to form a shared memory structure which can be accessed from both controllers, and a cache memory in a controller is used. And a method of transmitting cache data to a mate controller by some method is disclosed.

【0003】このような先行技術としては、例えば、特
開平10−222423号公報(第1従来技術)に記載
のキャッシュメモリ制御方式がある。図5は、第1従来
技術のキャッシュメモリ制御方式を説明するための機能
ブロック図である。図5を参照すると、第1従来技術の
キャッシュメモリ制御方式は、プロセッサ100、プロ
セッサ200、共有メモリ300、および入出力制御装
置400が共有バス10に接続されたMPシステムであ
る。
As such a prior art, there is, for example, a cache memory control system described in Japanese Patent Application Laid-Open No. 10-222423 (first prior art). FIG. 5 is a functional block diagram for explaining a cache memory control method according to the first related art. Referring to FIG. 5, the cache memory control method according to the first related art is an MP system in which a processor 100, a processor 200, a shared memory 300, and an input / output control device 400 are connected to a shared bus 10.

【0004】プロセッサ100は、ライトバック方式で
制御されるキャッシュメモリ110と、キャッシュメモ
リ110に入出力されるアドレス信号線、データ信号
線、制御信号線などを制御するキャッシュメモリ制御回
路120と、キャッシュメモリ110のアドレス部と状
態部の写しを格納するコピータグ130と、コピータグ
130に入出力されるアドレス信号線、データ信号線、
制御信号線などを制御するコピータグ制御回路140
と、演算処理やプログラムの実行制御を行う演算制御回
路150と、演算制御回路150と共有バス10とのイ
ンターフェースを制御するバスインターフェース回路1
60と、共有バス10上のアクセス要求を検出しコピー
タグ制御回路140やバスインターフェース回路160
への指示を行うバス監視回路170とで構成される。キ
ャッシュメモリ110は、格納している各ブロックの上
位アドレスを記憶するアドレス部111と、各ブロック
の状態値を格納する状態部112と、各ブロックのデー
タを記憶するデータ部113とから構成される。ここで
いう上位アドレスとは、アドレスをビット列としてみた
場合に、ブロック内のバイト位置を指定するビット列お
よびキャッシュメモリ内のブロック位置を指定するビッ
ト列を除いた上位ビット列を指す。アドレス部111と
状態部112とを合わせて、タグ部と呼ぶ。コピータグ
130は、キャッシュメモリ110のタグ部の写しを格
納するものであり、キャッシュメモリ110のアドレス
部111の写しを格納するアドレス部131と、キャッ
シュメモリ110の状態部112の写しを格納する状態
部132とから構成される。キャッシュメモリ110の
状態部112とコピータグ130の状態部132とはそ
れぞれ、ブロックごとに4つの状態値を格納することが
できる。4つの状態値とは、無効状態、共有状態、排他
一致状態、および排他変更状態である。キャッシュメモ
リ制御回路120は、キャッシュメモリ110の任意の
ブロックの排他変更状態への遷移とそのブロック位置を
コピータグ130に通知する信号を信号線121を通し
て出力する。
The processor 100 includes a cache memory 110 controlled by a write-back method, a cache memory control circuit 120 for controlling an address signal line, a data signal line, a control signal line, and the like input / output to / from the cache memory 110; A copy tag 130 for storing a copy of the address part and the state part of the memory 110; address signal lines and data signal lines input / output to / from the copy tag 130;
Copy tag control circuit 140 for controlling control signal lines and the like
An arithmetic control circuit 150 for controlling arithmetic processing and program execution; and a bus interface circuit 1 for controlling an interface between the arithmetic control circuit 150 and the shared bus 10
60, a copy tag control circuit 140 and a bus interface circuit 160 which detect an access request on the shared bus 10 and
And a bus monitoring circuit 170 for instructing the bus. The cache memory 110 includes an address section 111 for storing an upper address of each stored block, a state section 112 for storing a state value of each block, and a data section 113 for storing data of each block. . The upper address here refers to an upper bit string excluding a bit string specifying a byte position in a block and a bit string specifying a block position in a cache memory when the address is viewed as a bit string. The address part 111 and the state part 112 are collectively called a tag part. The copy tag 130 stores a copy of the tag portion of the cache memory 110, and stores a copy of the address portion 111 of the cache memory 110 and a state of storing a copy of the status portion 112 of the cache memory 110. And a section 132. The status section 112 of the cache memory 110 and the status section 132 of the copy tag 130 can store four status values for each block. The four status values are an invalid status, a shared status, an exclusive match status, and an exclusive change status. The cache memory control circuit 120 outputs a signal for notifying the copy tag 130 of the transition of an arbitrary block of the cache memory 110 to the exclusive change state and the position of the block via the signal line 121.

【0005】プロセッサ200は、プロセッサ100と
同様に構成されており、プロセッサ200の構成要素も
それぞれプロセッサ100の相当する構成要素と同様で
ある。すなわち、プロセッサ200は、アドレス部21
1、状態部212、およびデータ部213を備えるキャ
ッシュメモリ210と、キャッシュメモリ制御回路22
0と、アドレス部231および状態部232を備えるコ
ピータグ230と、コピータグ制御回路240と、演算
制御回路250と、バスインターフェース回路260
と、バス監視回路270とで構成される。
[0005] The processor 200 has the same configuration as the processor 100, and the components of the processor 200 are also the same as the corresponding components of the processor 100. That is, the processor 200 includes the address unit 21
1. A cache memory 210 including a state unit 212 and a data unit 213, and a cache memory control circuit 22.
0, a copy tag 230 including an address section 231 and a state section 232, a copy tag control circuit 240, an arithmetic control circuit 250, and a bus interface circuit 260.
And a bus monitoring circuit 270.

【0006】共有メモリ300は、共有バス10に接続
され、プロセッサ100、プロセッサ200、および入
出力制御装置400から共有バス10上に要求されたメ
モリリードアクセスやメモリライトアクセスに対して応
答可能な記憶装置である。
[0006] The shared memory 300 is connected to the shared bus 10 and can respond to a memory read access or a memory write access requested on the shared bus 10 from the processor 100, the processor 200, and the input / output control device 400. Device.

【0007】入出力制御装置400は、特定の入出力装
置、例えば磁気ディスク装置(図示せず)とのインター
フェースを持ち、共有バス10を介して共有メモリ30
0にリード/ライト可能な装置である。
The input / output control device 400 has an interface with a specific input / output device, for example, a magnetic disk device (not shown), and the shared memory 30 via the shared bus 10.
It is a device that can read / write to 0.

【0008】共有バス10は、接続された各装置が相互
にアクセス可能なためのアドレス信号線、データ信号
線、その他リードライトコマンド信号線、バス調停信号
線、タイミング信号線などの制御信号線を含むバスであ
る。共有バス10は、特に、リード要求に対する応答デ
ータがプロセッサにより変更されているか否かを通知す
る変更信号線511と、リード要求に対する応答データ
が複数のプロセッサで共有されるか否かを通知する共有
信号線512とを含む。
The shared bus 10 includes control signal lines such as an address signal line, a data signal line, a read / write command signal line, a bus arbitration signal line, a timing signal line, and the like, which enable each connected device to access each other. It is a bus including. In particular, the shared bus 10 has a change signal line 511 for notifying whether the response data to the read request has been changed by the processor and a shared signal for notifying whether the response data to the read request is shared by a plurality of processors. And a signal line 512.

【0009】また他の従来技術としては、例えば、特開
平6−67979号公報(第2従来技術)に記載の主記
憶装置の制御方式がある。図6は、第2従来技術の主記
憶装置の制御方式を説明するための機能ブロック図であ
る。
As another prior art, for example, there is a control method of a main storage device described in Japanese Patent Application Laid-Open No. 6-67979 (second prior art). FIG. 6 is a functional block diagram for explaining a control method of the main storage device according to the second conventional technique.

【0010】図6を参照すると、第2従来技術の主記憶
装置は、現用系情報処理システム(以下SYSA)61
1と、障害時に処理を引き継ぐ待機情報処理システム
(SYSB)612とから成っている。SYSA611
はプロセッサ(以下CPU)1aと、CPU1aにアド
レスバス5a,データバス6aで接続されたコピーバッ
ク・キャッシュメモリ(以下CBCM)2aと、CBC
M2aにアドレスバス7a,データバス8aで接続され
た主記憶装置(以下MEM)3aと、CPU1aにアド
レスバス5a,データバス6aで接続されたコピーバッ
ク・バッファ装置(以下CBBM)4aとを有して構成
している。
Referring to FIG. 6, a main storage device according to a second prior art includes an active information processing system (hereinafter referred to as SYSA) 61.
1 and a standby information processing system (SYSB) 612 that takes over the processing when a failure occurs. SYSA611
Denotes a processor (hereinafter referred to as CPU) 1a, a copy-back cache memory (hereinafter referred to as CBCM) 2a connected to the CPU 1a by an address bus 5a and a data bus 6a,
M2a has a main storage device (hereinafter MEM) 3a connected by an address bus 7a and a data bus 8a, and a copyback buffer device (hereinafter CBBM) 4a connected to the CPU 1a by an address bus 5a and a data bus 6a. It is composed.

【0011】また、SYSB612はプロセッサ(以下
CPU)1bと、CPU1bにアドレスバス5b,デー
タバス6bで接続されたコピーバック・キャッシュメモ
リ(以下CBCM)2bと、CBCM2bにアドレスバ
ス7b,データバス8bで接続された主記憶装置(以下
MEM)3bと、CPU1bにアドレスバス5b,デー
タバス6bで接続されたコピーバック・バッファ装置
(以下CBBM)4bとを有して構成している。
The SYSB 612 includes a processor (hereinafter, CPU) 1b, a copy-back cache memory (hereinafter, CBCM) 2b connected to the CPU 1b by an address bus 5b and a data bus 6b, and an address bus 7b and a data bus 8b to the CBCM 2b. It comprises a main storage device (hereinafter MEM) 3b connected thereto, and a copyback buffer device (hereinafter CBBM) 4b connected to the CPU 1b via an address bus 5b and a data bus 6b.

【0012】SYSA611のCBBM4aはSYSB
612のMEM3bにアドレスバス9aとデータバス1
0aとで接続され、SYSB612のCBBM4bはS
YSA611のMEM3aにアドレスバス9bとデータ
バス10bとで接続され、本適用例はSYSA611と
SYSB612とが互いに対称形に接続されたシステム
構成となっている。
CBBM 4a of SYSA 611 is SYSB
Address bus 9a and data bus 1
0a, and CBBM4b of SYSB612 is S
The address bus 9b and the data bus 10b are connected to the MEM 3a of the YSA 611 via the address bus 9b and the data bus 10b, and this application example has a system configuration in which the SYSA 611 and the SYSB 612 are symmetrically connected to each other.

【0013】このように、第2従来技術では、コントロ
ーラ内にキャッシュメモリを配置し、ハードウェアによ
ってメイトコントローラにライトデータを送信する仕組
みとして、CPUからコピーバック・キャッシュメモリ
(CBCM)に送信されるライトデータをCBBMで横
取りしてメイトコントローラに送信しているが、例え
ば、PCIバス(Peripheral Compon
ent Interconnect bus:システム
バス・ローカルバス)のような汎用バスを用いる場合に
おいては横取りという仕様は定義されていないため、内
部バスはオリジナルバスで構成することになる。
As described above, in the second prior art, a cache memory is arranged in a controller, and write data is transmitted from a CPU to a copy-back cache memory (CBCM) as a mechanism for transmitting write data to a mate controller by hardware. Although write data is intercepted by the CBBM and transmitted to the mate controller, for example, a PCI bus (Peripheral Compon
In the case where a general-purpose bus such as ent Interconnect bus (system bus / local bus) is used, since the specification of interception is not defined, the internal bus is constituted by the original bus.

【0014】また第3の従来技術として、例えば、図7
に示すようなディスクアレイ装置が開示されている。図
7は、第3従来技術のディスクアレイ装置を説明するた
めの機能ブロック図である。すなわち、第3従来技術の
ディスクアレイ装置は、ホストコンピュータ11とディ
スク15,…,18との間に2つのコントローラ21,
31を有するものである。ホストコンピュータ11とコ
ントローラ21,31は、例えば、SCSI(スカジ
ー:スモール・コンピュータ・システム・インタフェー
ス)バスのような汎用バス12,13で接続されてい
る。コントローラ21,31とディスク15,…,18
は、例えば、SCSIバスのような汎用バス14で接続
されている。
As a third prior art, for example, FIG.
A disk array device as shown in FIG. FIG. 7 is a functional block diagram for explaining a disk array device of the third related art. That is, the disk array device of the third prior art includes two controllers 21 between the host computer 11 and the disks 15,.
31. The host computer 11 and the controllers 21 and 31 are connected by general-purpose buses 12 and 13 such as a SCSI (small computer system interface) bus, for example. Controllers 21, 31 and disks 15,..., 18
Are connected by a general-purpose bus 14 such as a SCSI bus, for example.

【0015】コントローラ21は、マイクロプロセッサ
23と、リードまたはライトのデータをキャッシングし
かつプロセッサの制御情報を記憶するメモリ27と、ホ
ストコンピュータ11との通信を制御するインタフェー
スチップ22と、ディスク15,…,18との通信を制
御するインタフェースチップ26を有し、コントローラ
内の各チップは内部バス25で接続されている。
The controller 21 includes a microprocessor 23, a memory 27 for caching read or write data and storing processor control information, an interface chip 22 for controlling communication with the host computer 11, a disk 15,. , 18 are controlled, and each chip in the controller is connected by an internal bus 25.

【0016】同様に、コントローラ31は、マイクロプ
ロセッサ33と、リードまたはライトのデータをキャッ
シングしかつプロセッサの制御情報を記憶するメモリ3
7と、ホストコンピュータ11との通信を制御するイン
タフェースチップ32と、ディスク15,…,18との
通信を制御するインタフェースチップ36を有し、コン
トローラ内の各チップは内部バス35で接続されてい
る。
Similarly, the controller 31 includes a microprocessor 33 and a memory 3 for caching read or write data and storing control information of the processor.
7, an interface chip 32 for controlling the communication with the host computer 11, and an interface chip 36 for controlling the communication with the disks 15,..., 18, and each chip in the controller is connected by an internal bus 35. .

【0017】[0017]

【発明が解決しようとする課題】しかしながら、上記第
1従来技術には、共有メモリ300は、コントローラの
故障交換によって一緒に取り外されないように、独立し
た基板(パッケージ)で作成されているため、当該メモ
リの故障を考慮すると、共有メモリ300の2重化が必
要になり、回路構成が大きくコストが高くなるという欠
点があり、中小型システムでは採用することが難しいと
いう問題点があった。
However, according to the first prior art, the shared memory 300 is formed on an independent board (package) so as not to be removed together due to replacement of a controller by a fault. In consideration of the failure of the memory, the shared memory 300 needs to be duplicated, and there is a disadvantage that the circuit configuration is large and the cost is high, and there is a problem that it is difficult to adopt it in a small-sized system.

【0018】また、上記第2従来技術は、内部バスをオ
リジナルバスで構成することになるため、汎用バスを採
用できる場合はインタフェースチップなどを汎用品の中
から自由に選択でき高性能な装置を安価に入手できるメ
リットがあるものの、オリジナルバスではこのような構
成が難しいという問題点があった。
In the second prior art, since the internal bus is composed of an original bus, if a general-purpose bus can be adopted, an interface chip or the like can be freely selected from general-purpose products, and a high-performance device can be provided. Although there is an advantage that it can be obtained at a low price, there is a problem that such a configuration is difficult with an original bus.

【0019】そして、上記第3従来技術は、2重書きに
はディスク側の汎用バス14を使用するため、処理のオ
ーバーヘッドが大きいという問題点があり、また、メイ
トコントローラのプロセッサに負荷がかかるという問題
点もあった。
In the third prior art, since the dual-purpose writing uses the disk-side general-purpose bus 14, there is a problem that processing overhead is large, and a load is imposed on the processor of the mate controller. There were also problems.

【0020】本発明は斯かる問題点を鑑みてなされたも
のであり、その目的とするところは、メイトコントロー
ラのセグメントをシーズしてそのキャッシュアドレスと
ビットマップを保持することにより、2回目以降のライ
トコマンド処理においてメイトコントローラのプロセッ
サに負荷をかけることなく実行できるようになるディス
クアレイ装置およびキャッシュメモリ制御方法を提供す
る点にある。
The present invention has been made in view of such a problem, and an object of the present invention is to seed a mate controller segment and retain its cache address and bitmap to thereby execute the second and subsequent operations. It is an object of the present invention to provide a disk array device and a cache memory control method that can be executed without imposing a load on a processor of a mate controller in a write command process.

【0021】[0021]

【課題を解決するための手段】この発明の請求項1に記
載の発明の要旨は、2つのコントローラで構成されかつ
共有メモリのハードウェアを用いることなく当該2つの
コントローラでライトデータの2重書きを実行するディ
スクアレイ装置であって、ライトデータを前記2つのコ
ントローラの両方に保持するとともに、前記コントロー
ラの一方に故障が発生した際に前記2つのコントローラ
の他方に保持されているライトデータを相互参照可能と
する手段を有することを特徴とするディスクアレイ装置
に存する。また、この発明の請求項2に記載の発明の要
旨は、ホストコンピュータとディスクとの間に前記2つ
のコントローラの両方を有し、前記ホストコンピュータ
と前記2つのコントローラの両方が汎用バスで接続され
るとともに、前記2つのコントローラの両方と前記ディ
スクが汎用バスで接続されていることを特徴とする請求
項1に記載のディスクアレイ装置に存する。また、この
発明の請求項3に記載の発明の要旨は、前記2つのコン
トローラのそれぞれは、マイクロプロセッサと、リード
またはライトのデータをキャッシングしかつプロセッサ
の制御情報を記憶するメモリと、前記ホストコンピュー
タとの通信を制御する第1のインタフェースチップと、
前記ディスクとの通信を制御する第2のインタフェース
チップと、前記メモリの任意アドレスのデータを前記2
つのコントローラの他方の前記メモリの任意アドレスに
送信できるDMAコントローラを有していることを特徴
とする請求項1または2に記載のディスクアレイ装置に
存する。また、この発明の請求項4に記載の発明の要旨
は、セグメント単位でキャッシュを管理する前記メモリ
には、セグメント管理情報と、ビットマップと、ライト
キャッシュが定義されていることを特徴とする請求項3
に記載のディスクアレイ装置に存する。また、この発明
の請求項5に記載の発明の要旨は、前記セグメント管理
情報は各セグメントの状態を保持するものであって、シ
ーズの状態を示すシーズフラグと、ロジカルユニット番
号と、ロジカルブロックアドレスと、自コントローラの
両方のビットマップ格納位置を示す自ビットマップアド
レスと、自コントローラのキャッシュ位置を示す自キャ
ッシュアドレスと、前記2つのコントローラの他方のビ
ットマップ格納位置を示す他ビットマップアドレスと、
前記2つのコントローラの他方のキャッシュ位置を示す
他キャッシュアドレスを有することを特徴とする請求項
4に記載のディスクアレイ装置に存する。また、この発
明の請求項6に記載の発明の要旨は、前記ビットマップ
は、各セグメントに対応するキャッシュのどの位置に有
効なデータが存在するかを示すマップであることを特徴
とする請求項5に記載のディスクアレイ装置に存する。
また、この発明の請求項7に記載の発明の要旨は、前記
ライトキャッシュは、各セグメントに対応するキャッシ
ュメモリであることを特徴とする請求項6に記載のディ
スクアレイ装置に存する。また、この発明の請求項8に
記載の発明の要旨は、前記ホストコンピュータからライ
トコマンドを受信した際に前記コントローラの一方は、
自己の前記セグメント管理情報を参照して自身がシーズ
しているセグメントにヒットしているかを確認し、ヒッ
トしていなければ汎用バスを介して前記2つのコントロ
ーラの他方にシーズコマンドを送信してセグメントをシ
ーズし、前記ホストコンピュータからライトデータを受
信して自己の前記ライトキャッシュに格納し当該格納位
置に対応した自己の前記ビットマップを有効状態に更新
し、自己の前記ライトキャッシュのデータおよび自己の
前記ビットマップを前記2つのコントローラの他方の前
記DMAコントローラを介して前記2つのコントローラ
の他方側の前記ライトキャッシュおよび前記ビットマッ
プに送信してライトコマンドを受信し、前記コントロー
ラの一方がシーズしているセグメントにヒットした場合
に前記2つのコントローラの他方にシーズコマンドを送
信することなく、前記ホストコンピュータからライトデ
ータを受信して自己の前記ライトキャッシュに格納し当
該格納位置に対応した自己の前記ビットマップを有効状
態に更新し、自己の前記ライトキャッシュのデータおよ
び自己の前記ビットマップを前記2つのコントローラの
他方の前記DMAコントローラを介して前記2つのコン
トローラの他方の前記ライトキャッシュと前記ビットマ
ップに送信することを特徴とする請求項7に記載のディ
スクアレイ装置に存する。また、この発明の請求項9に
記載の発明の要旨は、2つのコントローラで構成されか
つ共有メモリのハードウェアを用いることなく当該2つ
のコントローラでライトデータの2重書きを実行するデ
ィスクアレイ装置に対して、ライトデータを前記2つの
コントローラの両方に保持するとともに、前記コントロ
ーラの一方に故障が発生した際に前記2つのコントロー
ラの他方に保持されているライトデータを相互参照可能
とする工程を有することを特徴とするキャッシュメモリ
制御方法に存する。また、この発明の請求項10に記載
の発明の要旨は、前記2つのコントローラのそれぞれに
設けられリードまたはライトのデータをセグメント単位
でキャッシングしかつプロセッサの制御情報を記憶する
メモリに、セグメント管理情報と、ビットマップと、ラ
イトキャッシュを定義する工程を有することを特徴とす
る請求項9に記載のキャッシュメモリ制御方法に存す
る。また、この発明の請求項11に記載の発明の要旨
は、前記セグメント管理情報は各セグメントの状態を保
持するものであって、シーズの状態を示すシーズフラグ
と、ロジカルユニット番号と、ロジカルブロックアドレ
スと、自コントローラの両方のビットマップ格納位置を
示す自ビットマップアドレスと、自コントローラのキャ
ッシュ位置を示す自キャッシュアドレスと、前記2つの
コントローラの他方のビットマップ格納位置を示す他ビ
ットマップアドレスと、前記2つのコントローラの他方
のキャッシュ位置を示す他キャッシュアドレスを有する
ことを特徴とする請求項10に記載のキャッシュメモリ
制御方法に存する。また、この発明の請求項12に記載
の発明の要旨は、前記ビットマップは、各セグメントに
対応するキャッシュのどの位置に有効なデータが存在す
るかを示すマップであることを特徴とする請求項11に
記載のキャッシュメモリ制御方法に存する。また、この
発明の請求項13に記載の発明の要旨は、前記ライトキ
ャッシュは、各セグメントに対応するキャッシュメモリ
であることを特徴とする請求項12に記載のキャッシュ
メモリ制御方法に存する。また、この発明の請求項14
に記載の発明の要旨は、前記ホストコンピュータからラ
イトコマンドを受信した際に前記コントローラの一方
は、自己の前記セグメント管理情報を参照して自身がシ
ーズしているセグメントにヒットしているかを確認する
工程と、ヒットしていなければ汎用バスを介して前記2
つのコントローラの他方にシーズコマンドを送信してセ
グメントをシーズする工程と、前記ホストコンピュータ
からライトデータを受信して自己の前記ライトキャッシ
ュに格納し当該格納位置に対応した自己の前記ビットマ
ップを有効状態に更新する工程と、自己の前記ライトキ
ャッシュのデータおよび自己の前記ビットマップを前記
2つのコントローラの他方のDMAコントローラを介し
て前記2つのコントローラの他方側の前記ライトキャッ
シュおよび前記ビットマップに送信してライトコマンド
を受信する工程と、前記コントローラの一方がシーズし
ているセグメントにヒットした場合に前記2つのコント
ローラの他方にシーズコマンドを送信することなく、前
記ホストコンピュータからライトデータを受信して自己
の前記ライトキャッシュに格納し当該格納位置に対応し
た自己の前記ビットマップを有効状態に更新する工程
と、自己の前記ライトキャッシュのデータおよび自己の
前記ビットマップを前記2つのコントローラの他方のD
MAコントローラを介して前記2つのコントローラの他
方の前記ライトキャッシュと前記ビットマップに送信す
る工程を有することを特徴とする請求項13に記載のキ
ャッシュメモリ制御方法に存する。
The gist of the present invention described in claim 1 of the present invention is that write data is double-written by two controllers without using hardware of a shared memory. A disk array device that holds write data in both of the two controllers and exchanges the write data held in the other of the two controllers when a failure occurs in one of the controllers. There is a disk array device having means for making it possible to refer to. The gist of the invention described in claim 2 of the present invention resides in that both the two controllers are provided between a host computer and a disk, and both the host computer and the two controllers are connected by a general-purpose bus. 2. The disk array device according to claim 1, wherein both the two controllers and the disk are connected by a general-purpose bus. According to a third aspect of the present invention, each of the two controllers includes a microprocessor, a memory for caching read or write data and storing control information of the processor, and the host computer. A first interface chip for controlling communication with the
A second interface chip for controlling communication with the disk;
3. The disk array device according to claim 1, further comprising a DMA controller capable of transmitting data to an arbitrary address of the memory of the other controller. The gist of the invention described in claim 4 of the present invention is that segment management information, a bitmap, and a write cache are defined in the memory that manages a cache in segment units. Item 3
Above. The gist of the invention according to claim 5 of the present invention is that the segment management information holds a state of each segment, and includes a seeds flag indicating a state of a seed, a logical unit number, and a logical block address. An own bitmap address indicating both bitmap storage positions of the own controller, an own cache address indicating a cache position of the own controller, and another bitmap address indicating the other bitmap storage position of the two controllers;
5. The disk array device according to claim 4, further comprising another cache address indicating the other cache position of said two controllers. The gist of the invention described in claim 6 of the present invention is that the bitmap is a map indicating at which position in the cache corresponding to each segment valid data exists. 5. The disk array device according to item 5.
The gist of the invention according to claim 7 of the present invention resides in the disk array device according to claim 6, wherein the write cache is a cache memory corresponding to each segment. The gist of the invention described in claim 8 of the present invention is that when one of the controllers receives a write command from the host computer,
Referring to the segment management information of the self, it is confirmed whether or not a hit has occurred in the segment which is itself seeded. If the hit has not been found, a seed command is transmitted to the other of the two controllers via the general-purpose bus to execute the segment. And receives write data from the host computer, stores the write data in its own write cache, updates its bitmap corresponding to the storage location to a valid state, and writes its own write cache data and its own Sending the bitmap to the write cache and the bitmap on the other side of the two controllers via the DMA controller of the other of the two controllers to receive a write command, and one of the controllers If two segments are hit, Without transmitting a seed command to the other of the rollers, it receives write data from the host computer, stores it in its own write cache, updates its bitmap corresponding to the storage location to a valid state, and updates its own bitmap. 8. The data of the write cache and the bitmap of its own are transmitted to the other write cache and the bitmap of the two controllers via the other DMA controller of the two controllers. Above. Further, the gist of the invention described in claim 9 of the present invention resides in a disk array device which is constituted by two controllers and executes double writing of write data by the two controllers without using hardware of a shared memory. On the other hand, the method includes a step of holding write data in both of the two controllers and enabling cross-reference of the write data held in the other of the two controllers when a failure occurs in one of the controllers. The present invention resides in a cache memory control method. The gist of the invention described in claim 10 of the present invention resides in that a memory provided in each of the two controllers for caching read or write data on a segment basis and storing control information of a processor has segment management information. And a step of defining a bitmap and a write cache. According to an eleventh aspect of the present invention, the segment management information holds a state of each segment, and includes a seeds flag indicating a state of a seed, a logical unit number, and a logical block address. An own bitmap address indicating both bitmap storage positions of the own controller, an own cache address indicating a cache position of the own controller, and another bitmap address indicating the other bitmap storage position of the two controllers; 11. The cache memory control method according to claim 10, further comprising another cache address indicating the other cache position of the two controllers. The gist of the invention described in claim 12 of the present invention is that the bitmap is a map indicating at which position in the cache corresponding to each segment valid data exists. 11 is a cache memory control method according to the present invention. The gist of the invention according to claim 13 of the present invention resides in the cache memory control method according to claim 12, wherein the write cache is a cache memory corresponding to each segment. Further, claim 14 of the present invention
The gist of the invention described in (1) is that, when a write command is received from the host computer, one of the controllers refers to the segment management information of the controller and checks whether a hit has occurred in a segment of its own Process and, if no hits are made, through the general-purpose bus.
Transmitting a seed command to the other controller to seed the segment; receiving write data from the host computer, storing the write data in its own write cache, and validating its bitmap corresponding to the storage location. And transmitting the data of its own write cache and its own bitmap to the write cache and the bitmap on the other side of the two controllers via the other DMA controller of the two controllers. Receiving a write command from the host computer without transmitting a seed command to the other of the two controllers when one of the controllers hits a segment that is being seeded. The light cap A step of updating the bit map of a self-enable state corresponding to the stored Shrewsbury the storage position, the other D of the data and its the bitmap own the write cache the two controllers
14. The cache memory control method according to claim 13, further comprising a step of transmitting the other of the two controllers to the write cache and the bitmap via an MA controller.

【0022】[0022]

【発明の実施の形態】本発明は、2コントローラ構成
で、かつ、共有メモリのハードウェアを持たないディス
クアレイ装置50において、ライトデータを障害から守
るための2重書きに関して、メイトコントローラ(換言
すれば、相手コントローラ)のプロセッサに負荷をかけ
ないことを特徴としている。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In the disk array device 50 having a two-controller configuration and having no hardware of a shared memory, the present invention relates to a mate controller (in other words, a double controller for protecting write data from a failure). For example, the processor of the partner controller is not loaded.

【0023】ライトデータはコントローラ内のメモリに
格納されるため、1コントローラ構成でライトキャッシ
ュを使用すると、コントローラの故障によってライトデ
ータを失ってしまう。一方、2コントローラ構成で、か
つ、ライトデータを両方のコントローラに持っておけ
ば、片方のコントローラが故障しても、ライトデータが
失われることがない。このようにライトデータを両方の
コントローラに保持する仕組みを2重書きと呼ぶ。以
下、本発明の実施の形態を図面に基づいて詳細に説明す
る。
Since the write data is stored in the memory in the controller, if the write cache is used in a one-controller configuration, the write data is lost due to the failure of the controller. On the other hand, if the write data is stored in both controllers in a two-controller configuration, the write data will not be lost even if one of the controllers fails. Such a mechanism for holding write data in both controllers is called double writing. Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

【0024】(第1の実施の形態)図1は、本発明の第
1の実施の形態に係るディスクアレイ装置50を説明す
るための機能ブロック図である。本実施の形態のディス
クアレイ装置50は、ホストコンピュータ11とディス
ク15,…,18との間に2つのコントローラ21,3
1を有するものである。
(First Embodiment) FIG. 1 is a functional block diagram for explaining a disk array device 50 according to a first embodiment of the present invention. The disk array device 50 of the present embodiment includes two controllers 21, 3 between the host computer 11 and the disks 15,.
1.

【0025】ホストコンピュータ11とコントローラ2
1,31は、例えば、SCSI(スカジー:スモール・
コンピュータ・システム・インタフェース)バスのよう
な汎用バス12,13で接続されている。
Host computer 11 and controller 2
1, 31 are, for example, SCSI (square: small
It is connected by general-purpose buses 12 and 13 such as a computer system interface bus.

【0026】コントローラ21,31とディスク15,
…,18は、例えば、SCSIバスのような汎用バス1
4で接続されている。
The controllers 21, 31 and the disk 15,
.., 18 are general-purpose buses 1 such as SCSI buses.
4 are connected.

【0027】コントローラ21は、マイクロプロセッサ
23と、リードまたはライトのデータをキャッシングし
かつプロセッサの制御情報を記憶するメモリ27と、ホ
ストコンピュータ11との通信を制御するインタフェー
スチップ22と、ディスク15,…,18との通信を制
御するインタフェースチップ26と、自身のコントロー
ラ21のメモリ27の任意アドレスのデータをメイトコ
ントローラのメモリ27の任意アドレスに送信できるD
MAコントローラ24を有し、コントローラ21内の各
チップは内部バス25で接続されている。
The controller 21 includes a microprocessor 23, a memory 27 for caching read or write data and storing processor control information, an interface chip 22 for controlling communication with the host computer 11, a disk 15,. , 18 that can transmit data to an arbitrary address in the memory 27 of the own controller 21 to an arbitrary address in the memory 27 of the mate controller.
It has an MA controller 24, and each chip in the controller 21 is connected by an internal bus 25.

【0028】同様に、コントローラ31は、マイクロプ
ロセッサ33と、リードまたはライトのデータをキャッ
シングしかつプロセッサの制御情報を記憶するメモリ3
7と、ホストコンピュータ11との通信を制御するイン
タフェースチップ32と、ディスク15,…,18との
通信を制御するインタフェースチップ36と、自身のコ
ントローラ31のメモリ37の任意アドレスのデータを
メイトコントローラのメモリ37の任意アドレスに送信
できるDMAコントローラ34を有し、コントローラ3
1内の各チップは内部バス35で接続されている。
Similarly, the controller 31 includes a microprocessor 33 and a memory 3 for caching read or write data and storing control information of the processor.
7, an interface chip 32 for controlling communication with the host computer 11, an interface chip 36 for controlling communication with the disks 15,..., 18, and data at an arbitrary address in the memory 37 of the controller 31 of the own controller. A DMA controller 34 capable of transmitting to an arbitrary address of the memory 37;
Each chip in 1 is connected by an internal bus 35.

【0029】図2は、図1のメモリ27,37に記憶す
る情報の定義図である。本発明ではセグメントと呼ばれ
る単位でキャッシュを管理しており、メモリ27,37
には、セグメント管理情報41,44と、ビットマップ
42,45と、ライトキャッシュ43,46が定義され
ている。セグメント管理情報41,44は、各セグメン
トの状態を保持するもので、シーズの状態を示すシーズ
フラグと、LUN(ロジカルユニット番号)と、LBA
(ロジカルブロックアドレス)と、自コントローラのビ
ットマップ格納位置を示す自ビットマップアドレスと、
自コントローラのキャッシュ位置を示す自キャッシュア
ドレスと、メイトコントローラのビットマップ格納位置
を示す他ビットマップアドレスと、メイトコントローラ
のキャッシュ位置を示す他キャッシュアドレスを有す
る。ビットマップ42,45は、各セグメントに対応す
るキャッシュのどの位置に有効なデータが存在するかを
示すマップで、0が無効、1が有効である。ライトキャ
ッシュ43,46は、各セグメントに対応するキャッシ
ュメモリ自体である。
FIG. 2 is a definition diagram of information stored in the memories 27 and 37 of FIG. In the present invention, the cache is managed in units called segments, and the memories 27 and 37 are used.
Defines segment management information 41 and 44, bitmaps 42 and 45, and write caches 43 and 46. The segment management information 41, 44 holds the state of each segment, and includes a seed flag indicating the state of the seed, a LUN (logical unit number), and an LBA.
(Logical block address), its own bitmap address indicating the bitmap storage position of its own controller,
It has its own cache address indicating the cache position of its own controller, another bitmap address indicating the bitmap storage position of its mate controller, and another cache address indicating the cache position of its mate controller. The bitmaps 42 and 45 are maps that indicate where valid data exists in the cache corresponding to each segment, where 0 is invalid and 1 is valid. The write caches 43 and 46 are the cache memories themselves corresponding to each segment.

【0030】コントローラ21がホストコンピュータ1
1からライトコマンドを受信すると、セグメント管理情
報41を参照して、自身がシーズしているセグメントに
ヒットしているかを確認し、ヒットしていなければ汎用
バス14を介してコントローラ31にシーズコマンドを
送信して、セグメントをシーズする。その後、ホストコ
ンピュータ11からライトデータを受信してライトキャ
ッシュ43に格納し、当該格納位置に対応したビットマ
ップ42を1に更新する。その後、ライトキャッシュ4
3のデータとビットマップ42をDMAコントローラ2
4,34を介してコントローラ31のメモリ37のライ
トキャッシュ46とビットマップ45に送信する。ここ
までの処理では、シーズコマンドの送受信によって、コ
ントローラ31のマイクロプロセッサ33が動作してい
る。
The controller 21 is the host computer 1
When a write command is received from the controller 1, it is checked whether or not the segment itself has been hit by referring to the segment management information 41. If not, a seed command is sent to the controller 31 via the general-purpose bus 14. Send and seed the segment. Thereafter, the write data is received from the host computer 11 and stored in the write cache 43, and the bitmap 42 corresponding to the storage location is updated to 1. Then, write cache 4
3 and the bit map 42 are transferred to the DMA controller 2
4 and 34 to the write cache 46 and the bitmap 45 of the memory 37 of the controller 31. In the processing so far, the microprocessor 33 of the controller 31 operates by transmitting and receiving the seed command.

【0031】続けて、ライトコマンドを受信し、自身が
シーズしているセグメントにヒットした場合、コントロ
ーラ31にシーズコマンドを送信することなく、ホスト
コンピュータ11からライトデータを受信してライトキ
ャッシュ43に格納し、当該格納位置に対応したビット
マップ42を1に更新する。その後、ライトキャッシュ
43のデータとビットマップ42をDMAコントローラ
24,34を介してコントローラ31のライトキャッシ
ュ46とビットマップ45に送信する。
Subsequently, when a write command is received and a segment hit by itself is hit, write data is received from the host computer 11 and stored in the write cache 43 without transmitting a seed command to the controller 31. Then, the bitmap 42 corresponding to the storage location is updated to 1. Thereafter, the data of the write cache 43 and the bit map 42 are transmitted to the write cache 46 and the bit map 45 of the controller 31 via the DMA controllers 24 and 34.

【0032】以上説明したように第1の実施の形態によ
れば、2回目以降のライトコマンドではコントローラ3
1のプロセッサ33に負荷をかけることなくライトコマ
ンド処理が実行できるため、装置全体の性能が向上す
る。
As described above, according to the first embodiment, in the second and subsequent write commands, the controller 3
Since the write command processing can be executed without imposing a load on one processor 33, the performance of the entire apparatus is improved.

【0033】次にディスクアレイ装置50の動作(キャ
ッシュメモリ制御方法)について説明する。なお、本実
施の形態の動作について、ホストコンピュータ11から
ライトコマンドを受信し、それを2重書きする例を示
す。また、本実施の形態では2回目以降のライトコマン
ド処理に効果が表れるため、ライトコマンドを連続して
2回受信する場合で説明する。
Next, the operation of the disk array device 50 (cache memory control method) will be described. In the operation of the present embodiment, an example is shown in which a write command is received from the host computer 11 and is double-written. Further, in the present embodiment, the effect is exerted in the second and subsequent write command processing, and therefore, a case where the write command is received twice consecutively will be described.

【0034】図3は、本発明の第1の実施の形態に係る
キャッシュメモリ制御方法におけるライト処理を説明す
るためのフローチャートであって、汎用バス14にSC
SIインタフェースを使用し、ライトコマンドを2回受
信した場合の処理の流れを示している。
FIG. 3 is a flowchart for explaining write processing in the cache memory control method according to the first embodiment of the present invention.
The flow of processing when a write command is received twice using the SI interface is shown.

【0035】コントローラ21は、ホストコンピュータ
11からライトコマンドを受信し(ステップS51:ラ
イトコマンド受信)、自身のセグメント管理情報41を
参照してセグメントのヒットミスの判定を行う(ステッ
プS52:ヒットミス判定)。1回目のコマンドなので
それがミスし、コントローラ31に汎用バス14を介し
てシーズコマンド発行し(ステップS53:SCSIで
シーズコマンド発行)、同時にそのパラメータとしてL
UNとLBAを送信する。
The controller 21 receives a write command from the host computer 11 (step S51: write command reception), and judges hit or miss of the segment with reference to its own segment management information 41 (step S52: hit / miss judgment). ). Since it is the first command, it is missed and a seed command is issued to the controller 31 via the general-purpose bus 14 (step S53: SCSI command is issued with SCSI), and at the same time, L is used as its parameter.
Send UN and LBA.

【0036】それを受信したコントローラ31は、自身
の空きセグメントをシーズして、セグメント管理情報4
4に、シーズ状態を示すフラグとLUNとLBAとシー
ズしたキャッシュのアドレスとそれに対応するビットマ
ップ42,45を格納するアドレスを登録して(ステッ
プS54:セグメント管理情報44に登録)、コントロ
ーラ21にシーズの完了報告を実行し(ステップS5
5:SCSIでシーズ完了報告)、同時にそのレスポン
ス情報としてキャッシュアドレスとビットマップ格納ア
ドレスを送信する。コントローラ21は自身のセグメン
ト管理情報41に、シーズ状態を示すフラグとLUNと
LBAと自身がシーズしたキャッシュのアドレスとそれ
に対応するビットマップ42,45を格納するアドレス
とメイトコントローラでシーズしたキャッシュのアドレ
スとそれに対応するビットマップ42,45を格納する
アドレスを登録する(ステップS56:セグメント管理
情報44に登録)。
The controller 31 that has received it seeds its own empty segment and enters the segment management information 4
4, a flag indicating a seed state, an LUN, an LBA, an address of the seeded cache, and an address for storing the corresponding bitmap 42, 45 are registered (step S54: registered in the segment management information 44). A seeds completion report is executed (step S5).
5: Seed completion report by SCSI), and at the same time, the cache address and the bitmap storage address are transmitted as the response information. The controller 21 stores, in its own segment management information 41, a flag indicating the seed state, the LUN and LBA, the address of the cache seeded by itself, the address for storing the corresponding bitmaps 42 and 45, and the address of the cache seeded by the mate controller. And the addresses for storing the corresponding bitmaps 42 and 45 are registered (step S56: registered in the segment management information 44).

【0037】その後、ホストコンピュータ11から自身
がシーズしているキャッシュアドレスにライトデータを
受信し(ステップS57:ライトデータ受信)、それに
対応するビットマップ42を更新する(ステップS5
8:ビットマップ更新)。
Thereafter, write data is received from the host computer 11 at the cache address of its own seed (step S57: write data reception), and the corresponding bit map 42 is updated (step S5).
8: Bitmap update).

【0038】同ライトデータを、DMAコントローラ2
4,34を介してコントローラ31がシーズしているキ
ャッシュアドレスにダイレクトに転送し(ステップS5
9:DMAでライトデータ転送)、同ビットマップ4
2,45を、同じくDMAコントローラ24,34を介
してコントローラ31のビットマップ45に転送し(ス
テップS60:DMAでビットマップ転送)、これによ
って2重書きが完了し同時に1回目のライトコマンドが
完了する。
The write data is transferred to the DMA controller 2
4 and 34, the data is directly transferred to the cache address of the controller 31 (step S5).
9: write data transfer by DMA), bit map 4
2 and 45 are transferred to the bitmap 45 of the controller 31 via the DMA controllers 24 and 34 (step S60: bitmap transfer by DMA), thereby completing the double writing and completing the first write command at the same time. I do.

【0039】続けて、2回目のライトコマンドを受信す
ると(ステップS61:ライトコマンド受信)、自身の
セグメント管理情報41を参照してセグメントのヒット
ミスの判定を行い(ステップS62:ヒットミス判
定)、それがヒットすると、1回目のようなシーズのや
り取り無しにホストコンピュータ11から自身がシーズ
しているキャッシュアドレスにライトデータを受信する
ことができる(ステップS63:ライトデータ受信)。
Subsequently, when a second write command is received (step S61: write command reception), a hit / miss determination of the segment is performed with reference to the own segment management information 41 (step S62: hit / miss determination). If it hits, the host computer 11 can receive the write data from the host computer 11 to the cache address being seeded without exchanging the seeds as in the first time (step S63: write data reception).

【0040】その後、それに対応するビットマップ42
を更新して(ステップS64:ビットマップ更新)、同
ライトデータと同ビットマップ42,45を上記1回目
と同様にしてコントローラ31に転送し(ステップS6
5:DMAでライトデータ転送、ステップS66:DM
Aでビットマップ転送)、これによって2重書きが完了
し同時に2回目のライトコマンドが完了する。
Thereafter, the corresponding bit map 42
Is updated (step S64: bitmap update), and the same write data and the same bitmaps 42 and 45 are transferred to the controller 31 as in the first time (step S6).
5: Write data transfer by DMA, step S66: DM
A, bitmap transfer), thereby completing the double writing and simultaneously completing the second write command.

【0041】これらの処理を比較すると、1回目のコマ
ンド処理(ステップS67)では、シーズコマンドのや
り取りが行われて処理に時間がかかっているのに対し、
2回目以降のコマンド処理(ステップS68)ではシー
ズコマンドのやり取りがなく、処理時間が短縮され、か
つ、コントローラ31のプロセッサに負荷がかかってい
ないことがわかる。
Comparing these processings, in the first command processing (step S67), while processing of the seed command is performed and it takes time,
In the second and subsequent command processing (step S68), there is no exchange of the seed command, the processing time is reduced, and it is understood that the processor of the controller 31 is not loaded.

【0042】図4は、本発明の第1の実施の形態に係る
ディスクアレイ装置50の各コントローラ21,31に
おけるライト処理を説明するためのフローチャートであ
って、コントローラ21とコントローラ31のライトコ
マンド処理のフローチャートを示している。
FIG. 4 is a flowchart for explaining write processing in each of the controllers 21 and 31 of the disk array device 50 according to the first embodiment of the present invention. Is shown.

【0043】図4を参照してそれぞれのプロセッサがど
のような処理を行うかを説明する。ステップS71(コ
ントローラ21の処理)の実行後、コントローラ21
は、ホストコンピュータ11からライトコマンドを受信
すると(ステップS72:ホストコンピュータ11から
ライトコマンド受信)、自身がシーズしているセグメン
トにヒットしているかどうかを判断する(ステップS7
3:シーズ中セグメントにヒット?)。
With reference to FIG. 4, what processing each processor performs will be described. After execution of step S71 (processing of the controller 21), the controller 21
Receives a write command from the host computer 11 (step S72: receives a write command from the host computer 11), and determines whether or not it has hit a segment being seeded (step S7).
3: Hit the segment during seeds? ).

【0044】ここで1回目ならミスするので(ステップ
S73のNo)、SCSIにてコントローラ31へセグ
メントシーズコマンドを発行する(ステップS74:S
CSIにてコントローラ31へセグメントシーズコマン
ド発行)。
Here, if it is the first time, a mistake is made (No in step S73), so a segment seed command is issued to the controller 31 by SCSI (step S74: S
The segment seed command is issued to the controller 31 by CSI.)

【0045】コントローラ31はそのシーズコマンドを
受信(ステップS82:コントローラ31の処理→ステ
ップS83:SCSIにてコントローラ21からセグメ
ントシーズコマンド受信)し、自身のセグメント管理情
報44を更新して(ステップS84:セグメント管理情
報44の更新)、コントローラ21にセグメントシーズ
成功の通知を送信する(ステップS85:SCSIにて
コントローラ21へセグメントシーズ成功の通知を送
信)。
The controller 31 receives the seed command (step S82: processing of the controller 31 → step S83: receives a segment seed command from the controller 21 by SCSI) and updates its own segment management information 44 (step S84: The segment management information 44 is updated), and a notification of the success of the segment seed is transmitted to the controller 21 (step S85: a notification of the success of the segment seed is transmitted to the controller 21 by SCSI).

【0046】コントローラ21はその通知を受信し(ス
テップS75:SCSIにてコントローラ31からセグ
メントシーズ成功の通知を受信)、自身のセグメント管
理情報41を更新して(ステップS76:セグメント管
理情報41の更新)、ホストコンピュータ11からライ
トデータを受信し(ステップS77:ホストコンピュー
タ11からライトデータ受信)、それに対応してビット
マップ42を更新する(ステップS78:ビットマップ
42の更新)。
The controller 21 receives the notification (step S75: receives a notification of the success of the segment seed from the controller 31 by SCSI) and updates its own segment management information 41 (step S76: updates the segment management information 41). The write data is received from the host computer 11 (step S77: write data is received from the host computer 11), and the bitmap 42 is updated accordingly (step S78: update of the bitmap 42).

【0047】その後、DMAにてコントローラ31にラ
イトデータを送信し(ステップS79:DMAにてコン
トローラ31へライトデータを送信)、続いてビットマ
ップ42を送信し(ステップS80:DMAにてコント
ローラ31へビットマップ42を送信)、これらの完了
をもってホストコンピュータ11へ完了報告を行う(ス
テップS81:ホストコンピュータ11へ完了報告)。
Thereafter, the write data is transmitted to the controller 31 by DMA (step S79: the write data is transmitted to the controller 31 by DMA), and then the bit map 42 is transmitted (step S80: to the controller 31 by DMA). The bitmap 42 is transmitted) and the completion is reported to the host computer 11 (step S81: completion report to the host computer 11).

【0048】2回目以降は、シーズ中セグメントのヒッ
ト判定(ステップS73:シーズ中セグメントにヒット
?)においてヒットとなり(ステップS73のYe
s)、シーズ関連の処理(ステップS74:SCSIに
てコントローラ31へセグメントシーズコマンド発行、
ステップS75:SCSIにてコントローラ31からセ
グメントシーズ成功の通知を受信、ステップS76:セ
グメント管理情報41の更新)をスキップする。これに
より、コントローラ31の処理(ステップS82)が行
われなくなるので、マイクロプロセッサ33の負荷がか
からない。
After the second time, a hit is determined in the hit determination of the seeding segment (step S73: hit in the seeding segment?) (Yes in step S73).
s), seeds-related processing (step S74: issue a segment seeds command to the controller 31 by SCSI,
Step S75: Receiving notification of the success of the segment seed from the controller 31 by the SCSI, and skipping the step S76: updating the segment management information 41). As a result, the processing of the controller 31 (step S82) is not performed, so that the load on the microprocessor 33 is not applied.

【0049】以上説明したように第1の実施の形態によ
れば、メイトコントローラのセグメントをシーズしてそ
のキャッシュアドレスとビットマップ42,45を保持
することにより、2回目以降のライトコマンド処理にお
いてはメイトコントローラのプロセッサに負荷をかける
ことなく実行できるようになり、その結果、装置全体の
性能の向上を図ることができるようになるといった効果
を奏する。
As described above, according to the first embodiment, the segment of the mate controller is seeded and its cache address and the bitmaps 42 and 45 are held, so that in the second and subsequent write command processing, This can be executed without imposing a load on the processor of the mate controller. As a result, there is an effect that the performance of the entire apparatus can be improved.

【0050】(第2の実施の形態)以下、本発明の第2
の実施の形態を説明する。なお、上記第1の実施の形態
において既に記述したものと同一の部分については、同
一符号を付し、重複した説明は省略する。
(Second Embodiment) Hereinafter, a second embodiment of the present invention will be described.
An embodiment will be described. The same parts as those already described in the first embodiment are denoted by the same reference numerals, and the duplicate description will be omitted.

【0051】本発明の第2の実施の形態は、上記第1の
実施の形態の基本構成に加えて、コントローラ21,3
1数を増やすこともできる構成を備えている点に特徴を
有している。具体的には、シーズコマンドを送信するた
めの、例えば、SCSIバスのような汎用バスと、自身
のメモリ27,37のデータを任意のコントローラ2
1,31のメモリ27,37にダイレクトに送信できる
DMAコントローラ(不図示)を有している。
The second embodiment of the present invention includes controllers 21 and 3 in addition to the basic configuration of the first embodiment.
It is characterized in that it has a configuration in which one can be increased. Specifically, a general-purpose bus such as a SCSI bus for transmitting a seed command and data in its own memories 27 and 37 are transmitted to an arbitrary controller 2.
A DMA controller (not shown) capable of directly transmitting data to the memories 27 and 37 of the first and third memories is provided.

【0052】処理の流れは、上記第1の実施の形態の2
コントローラ構成の場合と基本的に同じであり、2重書
きしようとするコントローラ21,31に対して1回目
はシーズコマンドを送信してセグメントをシーズし、2
回目以降はシーズ処理無しで2重書きを実行する。
The processing flow is the same as that of the first embodiment.
This is basically the same as the case of the controller configuration, and the first time, the controller transmits a seed command to the controllers 21 and 31 that are going to write twice to seed the segment and
After the first time, the double writing is executed without the seeding process.

【0053】なお、本発明が上記各実施の形態に限定さ
れず、本発明の技術思想の範囲内において、各実施の形
態は適宜変更され得ることは明らかである。また上記構
成部材の数、位置、形状等は上記実施の形態に限定され
ず、本発明を実施する上で好適な数、位置、形状等にす
ることができる。また、各図において、同一構成要素に
は同一符号を付している。
It should be noted that the present invention is not limited to the above embodiments, and it is clear that the embodiments can be appropriately modified within the scope of the technical idea of the present invention. Further, the number, position, shape, and the like of the constituent members are not limited to the above-described embodiment, and can be set to numbers, positions, shapes, and the like suitable for carrying out the present invention. In each drawing, the same components are denoted by the same reference numerals.

【0054】[0054]

【発明の効果】本発明は以上のように構成されているの
で、メイトコントローラのセグメントをシーズしてその
キャッシュアドレスとビットマップを保持することによ
り、2回目以降のライトコマンド処理においてはメイト
コントローラのプロセッサに負荷をかけることなく実行
できるようになり、その結果、装置全体の性能の向上を
図ることができるようになるといった効果を奏する。
Since the present invention is configured as described above, the segments of the mate controller are seeded and their cache addresses and bitmaps are retained, so that the mate controller can be used in the second and subsequent write command processing. This can be executed without imposing a load on the processor, and as a result, the performance of the entire apparatus can be improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施の形態に係るディスクアレ
イ装置を説明するための機能ブロック図である。
FIG. 1 is a functional block diagram for explaining a disk array device according to a first embodiment of the present invention.

【図2】図1のメモリに記憶する情報の定義図である。FIG. 2 is a definition diagram of information stored in a memory of FIG. 1;

【図3】本発明の第1の実施の形態に係るキャッシュメ
モリ制御方法におけるライト処理を説明するためのフロ
ーチャートである。
FIG. 3 is a flowchart illustrating a write process in the cache memory control method according to the first embodiment of the present invention.

【図4】本発明の第1の実施の形態に係るディスクアレ
イ装置の各コントローラにおけるライト処理を説明する
ためのフローチャートである。
FIG. 4 is a flowchart for explaining a write process in each controller of the disk array device according to the first embodiment of the present invention.

【図5】第1従来技術のキャッシュメモリ制御方式を説
明するための機能ブロック図である。
FIG. 5 is a functional block diagram for explaining a cache memory control method according to the first related art.

【図6】第2従来技術の主記憶装置の制御方式を説明す
るための機能ブロック図である。
FIG. 6 is a functional block diagram for explaining a control method of a main storage device according to a second conventional technique.

【図7】第3従来技術のディスクアレイ装置を説明する
ための機能ブロック図である。
FIG. 7 is a functional block diagram for explaining a disk array device of a third conventional technique.

【符号の説明】[Explanation of symbols]

11…ホストコンピュータ 12,13,14…汎用バス 15,…,18…ディスク 21,31…コントローラ 22,26,32,36…インタフェースチップ 23,33…マイクロプロセッサ 24,34…DMAコントローラ 25,35…内部バス 27,37…メモリ 41,44…セグメント管理情報 42,45…ビットマップ 43,46…ライトキャッシュ 50…ディスクアレイ装置 11: Host computer 12, 13, 14 ... General-purpose bus 15, ..., 18 ... Disk 21, 31 ... Controller 22, 26, 32, 36 ... Interface chip 23, 33 ... Microprocessor 24, 34 ... DMA controller 25, 35 ... Internal buses 27, 37 Memory 41, 44 Segment management information 42, 45 Bitmap 43, 46 Write cache 50 Disk array device

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/16 310 G06F 12/16 310J 320 320L G11B 19/02 501 G11B 19/02 501F ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification symbol FI Theme coat ゛ (Reference) G06F 12/16 310 G06F 12/16 310J 320 320L G11B 19/02 501 G11B 19/02 501F

Claims (14)

【特許請求の範囲】[Claims] 【請求項1】 2つのコントローラで構成されかつ共有
メモリのハードウェアを用いることなく当該2つのコン
トローラでライトデータの2重書きを実行するディスク
アレイ装置であって、 ライトデータを前記2つのコントローラの両方に保持す
るとともに、前記コントローラの一方に故障が発生した
際に前記2つのコントローラの他方に保持されているラ
イトデータを相互参照可能とする手段を有することを特
徴とするディスクアレイ装置。
1. A disk array device comprising two controllers and performing double writing of write data by the two controllers without using hardware of a shared memory, wherein the write data is written to the two controllers. A disk array device which has means for holding the data in both of them and making it possible to cross-reference write data held in the other of the two controllers when a failure occurs in one of the controllers.
【請求項2】 ホストコンピュータとディスクとの間に
前記2つのコントローラの両方を有し、 前記ホストコンピュータと前記2つのコントローラの両
方が汎用バスで接続されるとともに、前記2つのコント
ローラの両方と前記ディスクが汎用バスで接続されてい
ることを特徴とする請求項1に記載のディスクアレイ装
置。
2. The apparatus has both the two controllers between a host computer and a disk, wherein both the host computer and the two controllers are connected by a general-purpose bus, and both the two controllers are connected to the disk. 2. The disk array device according to claim 1, wherein the disks are connected by a general-purpose bus.
【請求項3】 前記2つのコントローラのそれぞれは、
マイクロプロセッサと、リードまたはライトのデータを
キャッシングしかつプロセッサの制御情報を記憶するメ
モリと、前記ホストコンピュータとの通信を制御する第
1のインタフェースチップと、前記ディスクとの通信を
制御する第2のインタフェースチップと、前記メモリの
任意アドレスのデータを前記2つのコントローラの他方
の前記メモリの任意アドレスに送信できるDMAコント
ローラを有していることを特徴とする請求項1または2
に記載のディスクアレイ装置。
3. Each of the two controllers includes:
A microprocessor, a memory for caching read or write data and storing control information of the processor, a first interface chip for controlling communication with the host computer, and a second interface chip for controlling communication with the disk 3. An interface chip and a DMA controller capable of transmitting data at an arbitrary address of the memory to an arbitrary address of the other one of the two controllers.
The disk array device according to item 1.
【請求項4】 セグメント単位でキャッシュを管理する
前記メモリには、セグメント管理情報と、ビットマップ
と、ライトキャッシュが定義されていることを特徴とす
る請求項3に記載のディスクアレイ装置。
4. The disk array device according to claim 3, wherein segment management information, a bitmap, and a write cache are defined in the memory that manages a cache in segment units.
【請求項5】 前記セグメント管理情報は各セグメント
の状態を保持するものであって、シーズの状態を示すシ
ーズフラグと、ロジカルユニット番号と、ロジカルブロ
ックアドレスと、自コントローラの両方のビットマップ
格納位置を示す自ビットマップアドレスと、自コントロ
ーラのキャッシュ位置を示す自キャッシュアドレスと、
前記2つのコントローラの他方のビットマップ格納位置
を示す他ビットマップアドレスと、前記2つのコントロ
ーラの他方のキャッシュ位置を示す他キャッシュアドレ
スを有することを特徴とする請求項4に記載のディスク
アレイ装置。
5. The segment management information holds a state of each segment, and includes a seeds flag indicating a state of a seed, a logical unit number, a logical block address, and a bitmap storage location of both the own controller. Its own bitmap address, its own cache address indicating its own cache position,
5. The disk array device according to claim 4, comprising another bitmap address indicating the other bitmap storage position of the two controllers, and another cache address indicating the other cache position of the two controllers.
【請求項6】 前記ビットマップは、各セグメントに対
応するキャッシュのどの位置に有効なデータが存在する
かを示すマップであることを特徴とする請求項5に記載
のディスクアレイ装置。
6. The disk array device according to claim 5, wherein the bit map is a map indicating in which position in the cache corresponding to each segment valid data exists.
【請求項7】 前記ライトキャッシュは、各セグメント
に対応するキャッシュメモリであることを特徴とする請
求項6に記載のディスクアレイ装置。
7. The disk array device according to claim 6, wherein said write cache is a cache memory corresponding to each segment.
【請求項8】 前記ホストコンピュータからライトコマ
ンドを受信した際に前記コントローラの一方は、自己の
前記セグメント管理情報を参照して自身がシーズしてい
るセグメントにヒットしているかを確認し、ヒットして
いなければ汎用バスを介して前記2つのコントローラの
他方にシーズコマンドを送信してセグメントをシーズ
し、前記ホストコンピュータからライトデータを受信し
て自己の前記ライトキャッシュに格納し当該格納位置に
対応した自己の前記ビットマップを有効状態に更新し、
自己の前記ライトキャッシュのデータおよび自己の前記
ビットマップを前記2つのコントローラの他方の前記D
MAコントローラを介して前記2つのコントローラの他
方側の前記ライトキャッシュおよび前記ビットマップに
送信してライトコマンドを受信し、前記コントローラの
一方がシーズしているセグメントにヒットした場合に前
記2つのコントローラの他方にシーズコマンドを送信す
ることなく、前記ホストコンピュータからライトデータ
を受信して自己の前記ライトキャッシュに格納し当該格
納位置に対応した自己の前記ビットマップを有効状態に
更新し、自己の前記ライトキャッシュのデータおよび自
己の前記ビットマップを前記2つのコントローラの他方
の前記DMAコントローラを介して前記2つのコントロ
ーラの他方の前記ライトキャッシュと前記ビットマップ
に送信することを特徴とする請求項7に記載のディスク
アレイ装置。
8. When one of the controllers receives a write command from the host computer, the one of the controllers refers to the segment management information of the controller to confirm whether or not the controller is hit by a segment of its own. If not, a seed command is transmitted to the other of the two controllers via the general-purpose bus to seed the segment, write data is received from the host computer and stored in the write cache of the host computer, and the corresponding write position is stored. Update its bitmap to a valid state,
The data of its own write cache and its bitmap are stored in the D of the other of the two controllers.
A write command is transmitted to the write cache and the bitmap on the other side of the two controllers via the MA controller, and a write command is received. Without transmitting a seed command to the other side, it receives write data from the host computer, stores it in its own write cache, updates its bitmap corresponding to the storage location to a valid state, and writes its write 8. The bitmap of claim 2, wherein the data of the cache and the bitmap of its own are transmitted to the write cache and the bitmap of the other of the two controllers via the DMA controller of the other of the two controllers. Disk array device.
【請求項9】 2つのコントローラで構成されかつ共有
メモリのハードウェアを用いることなく当該2つのコン
トローラでライトデータの2重書きを実行するディスク
アレイ装置に対して、ライトデータを前記2つのコント
ローラの両方に保持するとともに、前記コントローラの
一方に故障が発生した際に前記2つのコントローラの他
方に保持されているライトデータを相互参照可能とする
工程を有することを特徴とするキャッシュメモリ制御方
法。
9. A disk array device comprising two controllers and performing double writing of write data by the two controllers without using hardware of a shared memory, writes the write data to the two controllers. A cache memory control method, comprising the steps of: holding a write data held by both controllers; and enabling a write data held by the other of the two controllers to be cross-referenced when a failure occurs in one of the controllers.
【請求項10】 前記2つのコントローラのそれぞれに
設けられリードまたはライトのデータをセグメント単位
でキャッシングしかつプロセッサの制御情報を記憶する
メモリに、セグメント管理情報と、ビットマップと、ラ
イトキャッシュを定義する工程を有することを特徴とす
る請求項9に記載のキャッシュメモリ制御方法。
10. A segment management information, a bit map, and a write cache are defined in a memory provided in each of the two controllers for caching read or write data in segment units and storing control information of a processor. 10. The cache memory control method according to claim 9, comprising a step.
【請求項11】 前記セグメント管理情報は各セグメン
トの状態を保持するものであって、シーズの状態を示す
シーズフラグと、ロジカルユニット番号と、ロジカルブ
ロックアドレスと、自コントローラの両方のビットマッ
プ格納位置を示す自ビットマップアドレスと、自コント
ローラのキャッシュ位置を示す自キャッシュアドレス
と、前記2つのコントローラの他方のビットマップ格納
位置を示す他ビットマップアドレスと、前記2つのコン
トローラの他方のキャッシュ位置を示す他キャッシュア
ドレスを有することを特徴とする請求項10に記載のキ
ャッシュメモリ制御方法。
11. The segment management information holds a state of each segment, and includes a seeds flag indicating a state of a seed, a logical unit number, a logical block address, and a bitmap storage position of both the own controller. , The own cache address indicating the cache position of the own controller, the other bitmap address indicating the other bitmap storage position of the two controllers, and the other cache position of the two controllers. 11. The cache memory control method according to claim 10, further comprising another cache address.
【請求項12】 前記ビットマップは、各セグメントに
対応するキャッシュのどの位置に有効なデータが存在す
るかを示すマップであることを特徴とする請求項11に
記載のキャッシュメモリ制御方法。
12. The cache memory control method according to claim 11, wherein the bit map is a map indicating in which position in the cache corresponding to each segment valid data exists.
【請求項13】 前記ライトキャッシュは、各セグメン
トに対応するキャッシュメモリであることを特徴とする
請求項12に記載のキャッシュメモリ制御方法。
13. The cache memory control method according to claim 12, wherein said write cache is a cache memory corresponding to each segment.
【請求項14】 前記ホストコンピュータからライトコ
マンドを受信した際に前記コントローラの一方は、自己
の前記セグメント管理情報を参照して自身がシーズして
いるセグメントにヒットしているかを確認する工程と、
ヒットしていなければ汎用バスを介して前記2つのコン
トローラの他方にシーズコマンドを送信してセグメント
をシーズする工程と、前記ホストコンピュータからライ
トデータを受信して自己の前記ライトキャッシュに格納
し当該格納位置に対応した自己の前記ビットマップを有
効状態に更新する工程と、自己の前記ライトキャッシュ
のデータおよび自己の前記ビットマップを前記2つのコ
ントローラの他方のDMAコントローラを介して前記2
つのコントローラの他方側の前記ライトキャッシュおよ
び前記ビットマップに送信してライトコマンドを受信す
る工程と、前記コントローラの一方がシーズしているセ
グメントにヒットした場合に前記2つのコントローラの
他方にシーズコマンドを送信することなく、前記ホスト
コンピュータからライトデータを受信して自己の前記ラ
イトキャッシュに格納し当該格納位置に対応した自己の
前記ビットマップを有効状態に更新する工程と、自己の
前記ライトキャッシュのデータおよび自己の前記ビット
マップを前記2つのコントローラの他方のDMAコント
ローラを介して前記2つのコントローラの他方の前記ラ
イトキャッシュと前記ビットマップに送信する工程を有
することを特徴とする請求項13に記載のキャッシュメ
モリ制御方法。
14. Upon receiving a write command from the host computer, one of the controllers refers to the segment management information of the controller to confirm whether or not the controller has hit a segment being seeded;
Sending a seed command to the other of the two controllers via the general-purpose bus if the hit has not occurred, and receiving the write data from the host computer and storing the read data in its own write cache; Updating its bitmap corresponding to a position to a valid state; and updating the data of its write cache and its bitmap via the other DMA controller of the two controllers.
Receiving a write command by transmitting to the write cache and the bitmap on the other side of one controller; and transmitting a seed command to the other of the two controllers when one of the controllers hits a segment being seeded. Receiving the write data from the host computer without transmitting the data, storing the write data in the write cache of the host computer, and updating the bit map of the write cache corresponding to the storage location to a valid state; 14. The method of claim 13, further comprising transmitting the bitmap of the two controllers to the write cache and the bitmap of the other of the two controllers via a DMA controller of the other of the two controllers. Cache memory control method.
JP2000135013A 2000-05-08 2000-05-08 Disk array device and cache memory control method Pending JP2001318766A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000135013A JP2001318766A (en) 2000-05-08 2000-05-08 Disk array device and cache memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000135013A JP2001318766A (en) 2000-05-08 2000-05-08 Disk array device and cache memory control method

Publications (1)

Publication Number Publication Date
JP2001318766A true JP2001318766A (en) 2001-11-16

Family

ID=18643180

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000135013A Pending JP2001318766A (en) 2000-05-08 2000-05-08 Disk array device and cache memory control method

Country Status (1)

Country Link
JP (1) JP2001318766A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003090089A1 (en) * 2002-04-22 2003-10-30 Fujitsu Limited Cache device
KR100445425B1 (en) * 2001-12-24 2004-08-25 한국전자통신연구원 Method for balancing loads on a storage subsystem with distributed RAID controllers
US7124244B2 (en) 2003-07-24 2006-10-17 Hitachi, Ltd. Storage system and a method of speeding up writing data into the storage system
JP2007286946A (en) * 2006-04-18 2007-11-01 Hitachi Ltd Computer system, access control method and management computer
US7606971B2 (en) 2004-11-09 2009-10-20 Fujitsu Limited Storage control apparatus and external storage apparatus
US9146803B2 (en) 2011-03-18 2015-09-29 Fujitsu Limited Storage apparatus, control apparatus, and storage apparatus control method

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100445425B1 (en) * 2001-12-24 2004-08-25 한국전자통신연구원 Method for balancing loads on a storage subsystem with distributed RAID controllers
WO2003090089A1 (en) * 2002-04-22 2003-10-30 Fujitsu Limited Cache device
US7124244B2 (en) 2003-07-24 2006-10-17 Hitachi, Ltd. Storage system and a method of speeding up writing data into the storage system
US7606971B2 (en) 2004-11-09 2009-10-20 Fujitsu Limited Storage control apparatus and external storage apparatus
JP2007286946A (en) * 2006-04-18 2007-11-01 Hitachi Ltd Computer system, access control method and management computer
US8127097B2 (en) 2006-04-18 2012-02-28 Hitachi, Ltd. Dual writing device and its control method
US8332603B2 (en) 2006-04-18 2012-12-11 Hitachi, Ltd. Dual writing device and its control method
US9146803B2 (en) 2011-03-18 2015-09-29 Fujitsu Limited Storage apparatus, control apparatus, and storage apparatus control method

Similar Documents

Publication Publication Date Title
CN100592271C (en) Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine
US5249284A (en) Method and system for maintaining data coherency between main and cache memories
US9208091B2 (en) Coherent attached processor proxy having hybrid directory
US20050166086A1 (en) Storage control apparatus, storage control method, and computer product
JP5209461B2 (en) Data transfer between devices in an integrated circuit
CN1695124A (en) Method and system for controlling memory accesses to memory modules having a memory hub architecture
US11500797B2 (en) Computer memory expansion device and method of operation
JP2002373115A (en) Replacement control method for shared cache memory and device therefor
CN111414132A (en) Main storage device with heterogeneous memory, computer system and data management method
JP5505516B2 (en) Information processing system and information transmission method
JP2000020391A (en) Storage device, data processor and its method
US6412047B2 (en) Coherency protocol
JP2021131732A (en) Data transfer system
JP2001318766A (en) Disk array device and cache memory control method
CN114238184A (en) Multifunctional DMA transmission method, device and storage medium
CN107783909B (en) Memory address bus expansion method and device
US8131933B2 (en) Methods and systems for communication between storage controllers
JPH06348593A (en) Data transfer controller
CN114780460A (en) DMA controller and method
JP4936088B2 (en) Disk array device, disk array system, and cache control method
JP4327238B2 (en) System controller and cache control method
US9436613B2 (en) Central processing unit, method for controlling central processing unit, and information processing apparatus
JP2580263B2 (en) Buffer storage device
US6996675B2 (en) Retrieval of all tag entries of cache locations for memory address and determining ECC based on same
JPH0238968B2 (en)