JP2009199428A - ストレージ装置及びアクセス命令送信方法 - Google Patents

ストレージ装置及びアクセス命令送信方法 Download PDF

Info

Publication number
JP2009199428A
JP2009199428A JP2008041480A JP2008041480A JP2009199428A JP 2009199428 A JP2009199428 A JP 2009199428A JP 2008041480 A JP2008041480 A JP 2008041480A JP 2008041480 A JP2008041480 A JP 2008041480A JP 2009199428 A JP2009199428 A JP 2009199428A
Authority
JP
Japan
Prior art keywords
response
access command
access
control unit
storage
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
JP2008041480A
Other languages
English (en)
Other versions
JP5102917B2 (ja
Inventor
Masatomo Ono
正智 大野
Hideaki Fukuda
秀明 福田
Yasuhiro Igarashi
康弘 五十嵐
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 JP2008041480A priority Critical patent/JP5102917B2/ja
Priority to US12/081,902 priority patent/US8099563B2/en
Priority to EP09250034A priority patent/EP2093656B1/en
Priority to AT09250034T priority patent/ATE528711T1/de
Publication of JP2009199428A publication Critical patent/JP2009199428A/ja
Application granted granted Critical
Publication of JP5102917B2 publication Critical patent/JP5102917B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

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

Abstract

【課題】本発明は、効率的にデータ転送を実施してスループットを向上させ得るストレージ装置を提案する。
【解決手段】ホスト装置から送信されるデータを格納するストレージ装置であって、前記ホスト装置から送信される前記データの送受信に関するアクセス要求に基づいて、キャッシュメモリ制御部に対して前記データの送受信に関するアクセス命令を送信する複数のプロセッサと、前記複数のプロセッサにより送信される前記アクセス命令を排他的に前記キャッシュメモリ制御部に送信するアクセス命令送信部とを備え、前記アクセス命令送信部は、応答が必要なアクセス命令を格納する複数の格納部を備え、すべての前記格納部に前記応答が必要なアクセス命令が格納されたときに、応答の必要がないアクセス命令のみを前記キャッシュメモリ制御部に送信する。
【選択図】図2

Description

本発明は、ストレージ装置及びアクセス命令送信方法に関し、例えば、複数のプロセッサからのアクセスを調停して排他的にアクセスさせるアービタを有するストレージ装置に適用して好適なものである。
従来、バスに接続された複数のバスマスタ(プロセッサ)がバスを共有して動作する場合、バスマスタは、まずバスの使用権を要求し、バス権を獲得した後、バスを使用していた。バスの使用権は、バスアービタ(アービタ)が管理し、バスアービタは、バスマスタからのバス使用権要求に対し、適切な優先順位でバス使用権を与えるよう構成されている。
このような技術として、バスの使用効率を高めるために、スプリットトランザクションをサポートするバスを持つシステムにおいてバススレーブ側の受信バッファの段数に応じてバスマスタ内のDMAコマンドバッファの段数を最適化することでバスの有効利用を図るようにした例がある(例えば、特許文献1参照)。
特開平10−011387号公報
ところで、複数のプロセッサが共通バスを通じて共通資源メモリにライトアクセスしようとした場合、アービタは、ライトアクセスを調停して排他し、排他処理を実施した後に、共通資源メモリのメモリ制御回路にライトアクセス命令を転送する。
このとき、ライトアクセスが応答を待つライトアクセス(応答待ちライトアクセス)の仕様である場合、アービタは、応答を待つライト命令(応答待ちライト命令)の転送した分を、メモリ制御回路からの応答があるまで、バッファに記憶しておかなければならない。
この結果、アービタは、ある一定以上の応答待ちライト命令を受け付けることができず、この間に応答を待つ必要がないライト命令(応答不要ライトアクセス命令)が受け付けることができるとしても、ライトアクセス命令を調停して排他しているため、当該応答不要ライトアクセス命令を転送することができず、効率的にデータ転送することができないという問題がある。
本発明は以上の点を考慮してなされたもので、効率的にデータ転送を実施してスループットを向上させ得るストレージ装置及びアクセス命令送信方法を提案するものである。
かかる課題を解決するために本発明においては、ホスト装置から送信されるデータを格納するストレージ装置であって、前記ホスト装置から送信される前記データの送受信に関するアクセス要求に基づいて、キャッシュメモリ制御部に対して前記データの送受信に関するアクセス命令を送信する複数のプロセッサと、前記複数のプロセッサにより送信される前記アクセス命令を排他的に前記キャッシュメモリ制御部に送信するアクセス命令送信部とを備え、前記アクセス命令送信部は、応答が必要なアクセス命令を格納する複数の格納部を備え、すべての前記格納部に前記応答が必要なアクセス命令が格納されたときに、応答の必要がないアクセス命令のみを前記キャッシュメモリ制御部に送信する。
また、本発明においては、ホスト装置から送信されるデータを格納するストレージ装置のアクセス命令送信方法であって、複数のプロセッサが、前記ホスト装置から送信される前記データの送受信に関するアクセス要求に基づいて、キャッシュメモリ制御部に対して前記データの送受信に関するアクセス命令を送信する第1のステップと、アクセス命令送信部が、前記複数のプロセッサにより送信される前記アクセス命令を排他的に前記キャッシュメモリ制御部に送信する第2のステップとを備え、前記第2のステップでは、応答が必要なアクセス命令を格納する複数の格納部のすべての前記格納部に前記応答が必要なアクセス命令が格納されたときに、応答の必要がないアクセス命令のみを前記キャッシュメモリ制御部に送信する。
従って、すべての格納部に応答が必要なアクセス命令が格納された場合に、応答の必要がないアクセス命令の転送が停止するのを未然かつ有効に防止し、当該応答の必要がないアクセス命令に対応するデータのみを転送することができる。
本発明によれば、効率的にデータ転送を実施してスループットを向上させ得るストレージ装置及びアクセス命令送信方法を実現できる。
以下、本発明の一実施の形態を、図面を参照して詳細に説明する。なお、これにより本発明が限定されるものではない。
図1は、本実施の形態によるストレージシステム1の構成を示している。ストレージシステム1は、ホスト装置2及びストレージ装置3がSAN(Storage Area Network)4を介して接続されることにより構成されている。
ホスト装置2は、CPU(Central Processing Unit)、メモリ等の情報処理資源(図示せず)を備えたコンピュータ装置であり、例えば、パーソナルコンピュータや、ワークステーション、メインフレーム等から構成される。また、ホスト装置2は、SAN4と接続するためのホストバスアダプタ(FC HBA)(図示せず)を備えて構成される。さらに、ホスト装置2は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置(図示せず)と、モニタディスプレイやスピーカ等の情報出力装置(図示せず)とを備えて構成される。
SAN4は、ホスト装置2が提供する記憶資源におけるデータの管理単位であるブロックを単位として、ホスト装置2とストレージ装置3との間で、コマンドやデータ等の授受を行う。この場合、ホスト装置2とストレージ装置3との間で行われる通信プロトコルは、ファイバチャネルプロトコルである。
なお、ホスト装置2とストレージ装置3との間は、必ずしもSAN4を介して接続する必要はなく、LAN等を介して接続するようにしてもよい。例えば、LANを介して接続する場合には、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)に従ってコマンドやデータ等の授受を行う。また、LANを介して接続する場合には、ホストバスアダプタに代えて、例えば、LAN対応のネットワークカード等を適用することができる。
ストレージ装置3は、データを記憶するための複数のハードディスクドライブ(HDD :Hard Disk Drive)5及び当該ハードディスクドライブ5に対するデータの入出力を制御するストレージコントローラ6を備えて構成される。
ストレージコントローラ6は、複数のチャネル制御部11、複数のプロセッサ12が各々接続された複数のMPA(Microprocessor Adapter)13、キャッシュメモリ14が各々接続された複数のキャッシュメモリ制御部15、エクスパンダ(Expander)16が各々接続された複数のHDD制御部17及び管理装置18が相互結合部19を介して接続されることにより構成されている。また、ストレージコントローラ6は、ハードディスクドライブ5とエクスパンダ16を介して接続されている。
チャネル制御部11は、例えば、ホスト装置2から受信した要求(例えば、リードアクセス要求やライトアクセス要求)をプロセッサ13に通知して、プロセッサ12からの命令(例えば、リードアクセス(読み出し)命令やライトアクセス(書き込み)命令)により、キャッシュメモリ制御部15及びHDD制御部17を介して、ホスト装置2とキャッシュメモリ14との間のデータの転送を行う。
プロセッサ12は、ストレージコントローラ6全体を制御し、例えば、チャネル制御から通知された要求を解釈して、チャネル制御部11、キャッシュメモリ制御部15及びHDD制御部17に命令を通知する。また、プロセッサ12は、ハードディスクドライブ5に対して、RAID(Redundant Arrays of Independent Disks)制御を行うことにより、ストレージ装置3の信頼性、可用性及び性能を向上させることができる。
この場合、プロセッサ12は、ハードディスクドライブ5をRAID方式で運用する。プロセッサ12は、1又は複数のハードディスクドライブ5により提供される物理的な記憶領域(RAIDグループ)上に、1又は複数の論理的なボリューム(以下、これを論理ボリュームと呼ぶ)を設定する。そして、データは、この論理ボリューム内に所定の大きさのブロック(以下、これを論理ブロックと呼ぶ)単位で記憶される。
各論理ボリュームには、それぞれ固有の識別子(以下、これをLU(Logical Unit number)と呼ぶ)が付与される。本実施の形態の場合、データの入出力は、このLUと、各論理ブロックにそれぞれ付与されるその論理ブロックに固有の番号(LBA :Logical Block Address)とを組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
また、プロセッサ12には、例えば、キャッシュメモリ14の管理情報やストレージ装置3の構成情報等の情報を格納するためのメモリが内蔵されている。また、プロセッサ12のメモリには、種々の制御プログラムや管理テーブルが格納されている。
MPA13は、複数のプロセッサ12から転送されるリードアクセス命令又はライトアクセス命令を排他的にキャッシュメモリ14のキャッシュメモリ制御部15に転送する。
キャッシュメモリ制御部15は、キャッシュメモリ14を制御し、チャネル制御部11又はHDD制御部17から転送されたデータをキャッシュメモリ14に格納する。キャッシュメモリ14は、ハードディスクドライブ5に格納されるべきデータやホスト装置2に転送すべきデータを一時的に格納するためのメモリである。
HDD制御部17は、ハードディスクドライブ5を制御し、プロセッサ12からの命令により、エクスパンダ16を介して、ハードディスクドライブ5とキャッシュメモリ14との間のデータの転送を行う。また、HDD制御部17は、ハードディスクドライブ5に対して、RAID(Redundant Arrays of Independent Disks)制御を行うことにより、ストレージ装置3の信頼性、可用性及び性能を向上させることができる。
管理装置18は、ストレージ装置3全体の動作を操作する管理端末であり、例えば、ノート型のパーソナルコンピュータから構成される。管理装置18は、オペレータの操作に応じて各種処理の指令を行う。オペレータは、例えば、管理装置18を操作してストレージ装置3の各種状態を管理装置18の表示部に表示させることにより、ストレージ装置3の状態を確認することができる。
図2は、MPA13の構成を示している。MPA13は、転送要求制御部21、アービタ22、セレクタ23、応答待ち制御部24及びバッファ格納情報制御部24を備えて構成される。なお、この場合、MPA13は、プロセッサA(12)〜プロセッサD(12)に接続されている。
転送要求制御部21は、プロセッサA〜プロセッサDから転送されたリードアクセス命令又はライトアクセス命令を解析して、応答待ちありの命令であるか否かを判断し、応答待ちアクセス要求又は応答待ちなしアクセス要求をアービタ22に転送する。また、転送要求制御部21は、バッファ格納情報制御部24からバッファフル信号(後述)が送信されている場合には、その間、応答待ちアクセス要求の転送を停止し、応答待ちなしアクセス要求のみをアービタ22に転送する。
アービタ22は、転送要求制御部21から転送された応答待ちアクセス要求又は応答待ちなしアクセス要求に基づいて、ラウンドロビンによって優先順位順に、かつ排他的に、キャッシュメモリ制御部15に転送するリードアクセス命令又はライトアクセス命令を、セレクタ23に指示する。また、アービタ22は、バッファ格納情報制御部24からバッファフル信号(後述)が送信されている場合には、その間、応答待ちなしアクセス要求のみに基づいて、ラウンドロビンによって優先順位順に、かつ排他的に、キャッシュメモリ制御部15に転送するリードアクセス命令又はライトアクセス命令を、セレクタ23に指示する。
セレクタ23は、アービタ22からの転送指示に基づいて、プロセッサA〜プロセッサDから転送されたリードアクセス命令又はライトアクセス命令をキャッシュメモリ制御部15に転送する。
応答待ち制御部24は、キャッシュメモリ制御部15から転送されたリードアクセス完了応答又はライトアクセス完了応答を解析し、完了応答のあったバッファ格納情報制御部25内の格納部62のフラグ62B(後述)を「1」から「0」に変更するバッファBUSYクリア信号をバッファ格納情報制御部25に送信する。なお、この場合、バッファ格納情報制御部25内の格納部62のバッファ62A(後述)にリードアクセス命令又はライトアクセス命令が格納されている場合には、フラグ62Bが「1」となり、リードアクセス命令又はライトアクセス命令が格納されていない場合には、フラグ62Bが「0」となる。
バッファ格納情報制御部25は、プロセッサA〜プロセッサDから転送されたリードアクセス命令又はライトアクセス命令を当該バッファ格納情報制御部25内の格納部62のバッファ62Aに格納してフラグ62Bを「0」から「1」に変更する。そして、バッファ格納情報制御部25は、すべてのバッファ62Aにリードアクセス命令又はライトアクセス命令が格納され、すべてのフラグ62Bが「1」に変更されたときに、変更されている間、バッファ62Aにリードアクセス命令又はライトアクセス命令を格納することができない旨を通知するバッファフル信号を転送要求制御部21及びアービタ22に送信する。
図3は、転送要求制御部21の構成を示している。転送要求制御部21は、転送制御シーケンサ31A〜31D、データ解析シーケンサ32A〜32D、AND回路33A〜33D、AND回路34A〜34D及びインバータ35A〜35Dを備えて構成される。
転送制御シーケンサ31Aは、プロセッサAからリードアクセス命令又はライトアクセス命令を受信すると、当該リードアクセス命令又はライトアクセス命令の転送を要求する転送要求リクエストをAND回路33A及びAND回路34Aに送信する。
データ解析シーケンサ32Aは、プロセッサAからリードアクセス命令又はライトアクセス命令を受信すると、当該リードアクセス命令又はライトアクセス命令内のコマンドを解析し、応答ありのリードアクセス命令又はライトアクセス命令であるか、応答なしのリードアクセス命令又はライトアクセス命令であるかをチェックする。
そして、データ解析シーケンサ32Aは、応答ありのリードアクセス命令又はライトアクセス命令である場合には、応答待ちありである旨の信号をAND回路34Aに送信し、応答なしのリードアクセス命令又はライトアクセス命令である場合には、応答待ちなしである旨の信号をAND回路33Aに送信する。
AND回路33Aは、転送制御シーケンサ31Aから転送要求リクエストを受信すると共に、データ解析シーケンサ32Aから応答待ちなしである旨の信号を受信すると、応答待ちなしアクセス要求を応答あり/応答なしラウンドロビンシーケンサ41及び応答なしラウンドロビンシーケンサ42に転送する。
AND回路34Aは、転送制御シーケンサ31Aから転送要求リクエストを受信し、データ解析シーケンサ32Aから応答待ちありである旨の信号を受信すると共に、停止回路35Aからバッファレディ信号(後述)を受信すると、応答待ちアクセス要求をアービタ22の応答あり/応答なしラウンドロビンシーケンサ41に転送する。
インバータ35Aは、リードアクセス命令又はライトアクセス命令をまだバッファ62Aに格納することができる旨を通知するバッファレディ信号をAND回路34Aに送信し、バッファ格納情報制御部25のAND回路63(後述)からバッファフル信号が受信されている間、バッファレディ信号の送信を停止する。これにより、転送要求制御部21は、リードアクセス命令又はライトアクセス命令をバッファ62Aに格納することができない場合には、応答待ちアクセス要求の転送を停止することができる。
転送制御シーケンサ31B〜31D、データ解析シーケンサ32B〜32D、AND回路33B〜33D、AND回路34B〜34D及びインバータ35B〜35Dは、プロセッサB〜Dからリードアクセス命令又はライトアクセス命令を受信すると、上述の転送制御シーケンサ31A、データ解析シーケンサ32A、AND回路33A、AND回路34A及びインバータ35Aと同様の処理を行う。
図4は、アービタ22の構成を示している。アービタ22は、応答あり/応答なしラウンドロビンシーケンサ41、応答なしラウンドロビンシーケンサ42及びセレクタ43を備えて構成される。
応答あり/応答なしラウンドロビンシーケンサ41は、転送要求制御部21のAND回路33A〜33Dから転送される応答待ちなしアクセス要求及びAND回路34A〜34Dから転送される応答待ちアクセス要求により、ラウンドロビンによって優先順位順に、かつ排他的に、キャッシュメモリ制御部15に転送するリードアクセス命令又はライトアクセス命令を決定し、当該転送指示をセレクタ43に転送する。
応答なしラウンドロビンシーケンサ42は、転送要求制御部21のAND回路33A〜33Dから転送される応答待ちなしアクセス要求により、ラウンドロビンによって優先順位順に、かつ排他的に、キャッシュメモリ制御部15に転送するリードアクセス命令又はライトアクセス命令を決定し、転送指示をセレクタ43に転送する。
セレクタ43は、バッファ格納情報制御部25のAND回路63(後述)からバッファフル信号を受信している間、応答なしラウンドロビンシーケンサ42から転送される転送指示をセレクタ23に転送し、当該AND回路63からバッファフル信号の受信が停止すると、応答あり/応答なしラウンドロビンシーケンサ41から転送される転送指示をセレクタ23に転送する。これにより、アービタ22は、リードアクセス命令又はライトアクセス命令をバッファ62Aに格納することができない場合には、応答待ちアクセス要求の転送を再開することができると共に、応答あり/応答なしラウンドロビンシーケンサ41からの転送指示の転送を停止することができる。
図5は、応答待ち制御部24の構成を示している。応答待ち制御部24は、データ解析シーケンサ51及び応答制御シーケンサ52を備えて構成される。
データ解析シーケンサ51は、キャッシュメモリ制御部15からリードアクセス完了応答又はライトアクセス完了応答を受信すると、当該リードアクセス完了応答又はライトアクセス完了応答内のコマンドを解析し、応答ありのリードアクセス完了応答又はライトアクセス完了応答であるか、応答なしのリードアクセス完了応答又はライトアクセス完了応答であるかをチェックする。
そして、データ解析シーケンサ51は、応答ありのリードアクセス完了応答又はライトアクセス完了応答である場合には、応答待ちありである旨の信号を応答制御シーケンサ52に送信する。
応答制御シーケンサ52は、データ解析シーケンサ51から送信される応答待ちありである旨の信号を受信すると、当該応答待ちありである旨の信号のリードアクセス完了応答又はライトアクセス完了応答に対応するリードアクセス命令又はライトアクセス命令が格納されている格納部62にバッファBUSYクリア信号を送信する。
図6は、バッファ格納情報制御部25の構成を示している。バッファ格納情報制御部25は、転送制御シーケンサ61、格納部62並びにAND回路63を備えて構成される。また、バッファ格納情報制御部25は、「0」〜「n」の「n+1」個の格納部62を備えている。
転送制御シーケンサ61は、プロセッサA〜プロセッサDからセレクタ23を介して転送されたリードアクセス命令又はライトアクセス命令を受信すると、当該リードアクセス命令又はライトアクセス命令を空いている格納部62のバッファ62Aに転送すると共に、リードアクセス命令又はライトアクセス命令が格納された格納部62のフラグ62Bを「0」から「1」に変更するバッファBUSYセット信号をフラグ62Bに送信する。
格納部62は、リードアクセス命令又はライトアクセス命令を格納するバッファ62A及びバッファ62Aにリードアクセス命令又はライトアクセス命令が格納されているか否かを判断するためのフラグ62Bを備えて構成される。格納部62は、転送制御シーケンサ61からリードアクセス命令又はライトアクセス命令を受信すると、当該リードアクセス命令又はライトアクセス命令を指定されたバッファ62Aに格納し、転送制御シーケンサ61からバッファBUSYセット信号を受信すると、リードアクセス命令又はライトアクセス命令が格納された格納部62のフラグ62Bを「0」から「1」に変更する。
また、格納部62は、リードアクセス命令又はライトアクセス命令が格納された格納部62のフラグ62Bを「0」から「1」に変更すると、「1」に変更されている間、リードアクセス命令又はライトアクセス命令がバッファ62Aに格納された旨の信号であるバッファBUSY信号をAND回路63に送信する。
一方、格納部62は、応答待ち制御部24の応答制御シーケンサ52からバッファBUSYクリア信号が送信されると、リードアクセス命令又はライトアクセス命令が格納された格納部62のフラグ62Bを「1」から「0」に変更し、バッファ62Aに格納されているリードアクセス命令又はライトアクセス命令を削除する。
また、格納部62は、リードアクセス命令又はライトアクセス命令が格納された格納部62のフラグ62Bを「1」から「0」に変更すると、バッファBUSY信号のAND回路63への送信を停止する。
AND回路63は、「0」〜「n」のすべての格納部62からバッファBUSY信号を受信すると、当該すべてのバッファBUSY信号が受信されている間、バッファフル信号を転送要求制御部21及びアービタ22に送信する。また、AND回路63は、すべての格納部62からバッファBUSY信号を受信していないときには、バッファフル信号の送信を停止する。
これにより、バッファ格納情報制御部25は、リードアクセス命令又はライトアクセス命令をバッファ62Aに格納することができるようになった場合には、応答あり/応答なしラウンドロビンシーケンサ41から転送する転送指示を再開することができる。
次に、本実施の形態におけるストレージシステム1のストレージコントローラ6によるアクセス命令転送処理について説明する。
図7は、このストレージシステム1のストレージコントローラ6のアクセス命令転送処理に関する、ストレージコントローラ6のMPA13の具体的な処理手順を示したフローチャートの一例である。
MPA13は、プロセッサA〜D(12)からリードアクセス命令又はライトアクセス命令を受信すると、図7に示すアクセス命令転送処理手順RT1に従って、データ解析シーケンサ32A〜32Dにより当該リードアクセス命令又はライトアクセス命令内のコマンドを解析する(SP1)。
続いて、MPA13は、データ解析シーケンサ32A〜32Dにより解析したリードアクセス命令又はライトアクセス命令内のコマンドが応答ありのリードアクセス命令又はライトアクセス命令であるか否かをチェックする(SP2)。
そして、MPA13は、解析したリードアクセス命令又はライトアクセス命令内のコマンドが応答ありのリードアクセス命令又はライトアクセス命令でない場合(SP2:NO)には、ステップSP4に進む。
これに対して、MPA13は、解析したリードアクセス命令又はライトアクセス命令内のコマンドが応答ありのリードアクセス命令又はライトアクセス命令である場合(SP2:YES)には、インバータ35A〜35Dにより格納部62のバッファ62Aがフルであるか否か、すなわち、インバータ35A〜35Dにバッファフル信号が送信されているか否かをチェックする(SP3)。
そして、MPA13は、格納部62のバッファ62Aがフルである場合(SP3:YES)には、格納部62のバッファ62Aがフルでなくなるのを待機モードで待ち受ける(SP3)。
これに対して、MPA13は、格納部62のバッファ62Aがフルである格納部62のバッファ62Aがフルでない場合(SP3:NO)には、AND回路33A〜33D又はAND回路34A〜34Dにより応答待ちアクセス要求又は応答なしアクセス要求をアービタ22の応答あり/応答なしラウンドロビンシーケンサ41及び又は応答なしラウンドロビンシーケンサ42に転送する(SP4)。
続いて、MPA13は、応答あり/応答なしラウンドロビンシーケンサ41及び又は応答なしラウンドロビンシーケンサ42によりラウンドロビンによって優先順位順に、かつ排他的に、キャッシュメモリ制御部15に転送するリードアクセス命令又はライトアクセス命令を決定し、セレクタ43により転送指示をセレクタ23に転送する(SP5)。
続いて、MPA13は、転送指示が応答ありのリードアクセス命令又はライトアクセス命令である場合には、セレクタ23により転送された応答ありのリードアクセス命令又はライトアクセス命令を、転送制御シーケンサ61により格納部62のバッファ62Aに格納して、フラグ62Bを「0」から「1」に変更する(SP6)。
続いて、MPA13は、セレクタ23により転送指示のリードアクセス命令又はライトアクセス命令をキャッシュメモリ制御部15に転送する(SP7)。
やがて、MPA13は、この後、この図7に示すアクセス命令転送処理手順RT1を終了する(SP8)。
次に、本実施の形態におけるストレージシステム1のストレージコントローラ6によるアクセス完了応答転送処理について説明する。
図8は、このストレージシステム1のストレージコントローラ6のアクセス完了応答転送処理に関する、ストレージコントローラ6のMPA13の具体的な処理手順を示したフローチャートの一例である。
MPA13は、キャッシュメモリ制御部15からリードアクセス完了応答又はライトアクセス完了応答を受信すると、図8に示すアクセス完了応答転送処理手順RT2に従って、データ解析シーケンサ51により当該リードアクセス完了応答又はライトアクセス完了応答内のコマンドを解析する(SP11)。
続いて、MPA13は、データ解析シーケンサ51により解析したリードアクセス完了応答又はライトアクセス完了応答内のコマンドが応答ありのリードアクセス完了応答又はライトアクセス完了応答であるか否かをチェックする(SP12)。
そして、MPA13は、解析したリードアクセス完了応答又はライトアクセス完了応答内のコマンドが応答ありのリードアクセス完了応答又はライトアクセス完了応答でない場合(SP12:NO)には、ステップSP14に進む。
これに対して、MPA13は、解析したリードアクセス完了応答又はライトアクセス完了応答内のコマンドが応答ありのリードアクセス完了応答又はライトアクセス完了応答である場合(SP12:YES)には、格納部62によりフラグ62Bを「1」から「0」に変更して、当該リードアクセス完了応答又はライトアクセス完了応答に対応するリードアクセス命令又はライトアクセス命令を、格納されているバッファ62Aから削除する(SP13)。
続いて、MPA13は、AND回路63により格納部62のバッファ62Aがフルであったか否か、すなわち、AND回路63にすべての格納部62のバッファBUSY信号が送信されていたか否かをチェックする(SP14)。
そして、MPA13は、格納部62のバッファ62Aがフルでなかった場合(SP14:NO)には、この後、この図8に示すアクセス完了応答転送処理手順RT2を終了する(SP16)。
これに対して、MPA13は、格納部62のバッファ62Aがフルであった場合(SP14:YES)には、AND回路63により送信されているバッファフル信号の送信を停止し(SP15)、この後、この図8に示すアクセス完了応答転送処理手順RT2を終了する(SP16)。
なお、ストレージシステム1では、アクセス命令又はアクセス完了応答に基づいて、チャネル制御部11及びキャッシュメモリ制御部15間において、リードアクセス命令又はライトアクセス命令のデータの転送が行われるようになされている。
図9は、他の実施の形態によるストレージシステム1の構成を示している。本実施の形態におけるストレージシステム1は、バッファ格納情報制御部25がバッファフル信号を転送要求制御部21に送信し、転送要求制御部21が応答待ちアクセス要求の転送を停止した場合について述べたが、本発明はこれに限らず、図9のように、バッファ格納情報制御部25がバッファフル信号をアービタ22にのみ送信し、アービタにより応答待ちアクセス要求の転送を停止するようにしても良く、この他種々の形態に適用することができる。
図10は、他の実施の形態によるストレージシステム1における転送要求制御部71の構成を示している。転送要求制御部71は、例えば、インバータ35A〜35Dを備えていないことを除いて、本実施の形態による転送要求制御部21と同様に構成される。
図11は、他の実施の形態によるストレージシステム1におけるアービタ72の構成を示している。アービタ72は、応答あり/応答なしラウンドロビンシーケンサ73を備えて構成される。応答あり/応答なしラウンドロビンシーケンサ73は、バッファフル信号の送信の有無に基づいて、転送要求制御部71のAND回路33A〜33Dから転送される応答待ちなしアクセス要求及びAND回路34A〜34Dから転送される応答待ちアクセス要求により、ラウンドロビンによって優先順位順に、かつ排他的に、キャッシュメモリ制御部15に転送するリードアクセス命令又はライトアクセス命令を決定し、当該転送指示をセレクタ23に転送する。
このようにして、ストレージシステム1では、プロセッサA〜プロセッサDから転送されたリードアクセス命令又はライトアクセス命令を当該バッファ格納情報制御部25内の格納部62のバッファ62Aに格納し、すべてのバッファ62Aにリードアクセス命令又はライトアクセス命令が格納されたときに、応答待ちなしのリードアクセス命令又はライトアクセス命令のみをキャッシュメモリ制御部15に転送する。
従って、すべてのバッファ62Aに応答待ちありのリードアクセス命令又はライトアクセス命令が格納された場合に、応答待ちなしのリードアクセス命令又はライトアクセス命令の転送が停止するのを未然かつ有効に防止し、当該応答待ちなしのリードアクセス命令又はライトアクセス命令に対応するデータのみを転送することができる。
なお、本実施の形態においては、リードアクセス命令又はライトアクセス命令を送信した場合について述べたが、本発明はこれに限らず、例えば、この他種々の他のアクセス命令についても適用することができる。
また、本実施例においては、図2のMPA13を機能ブロック図として示した場合について述べたが、本発明はこれに限らず、より具体的には、一連の処理を、それぞれの機能を有するハードウェアによって実行することにより、各処理を実施するようにしても良く、MPA13の制御部等が制御プログラムを実行することにより各処理を実行するようにしても良く、この他種々の形態に適用することができる。
本発明は、複数のプロセッサからのアクセスを調停して排他的にアクセスさせるアービタを有するストレージ装置に広く適用することができる。
本実施の形態によるストレージシステムの概略的な構成を示すブロック図である。 MPAの概略的な構成を示すブロック図である。 転送要求制御部の概略的な構成を示すブロック図である。 アービタの概略的な構成を示すブロック図である。 応答待ち制御部の概略的な構成を示すブロック図である。 バッファ格納情報制御部の概略的な構成を示すブロック図である。 アクセス命令転送処理手順を示すフローチャートである。 アクセス完了応答転送処理手順を示すフローチャートである。 他の実施の形態によるストレージシステムの概略的な構成を示すブロック図である。 他の実施の形態による転送要求制御部の概略的な構成を示すブロック図である。 他の実施の形態によるアービタの概略的な構成を示すブロック図である。
符号の説明
1……ストレージシステム、2……ホスト装置、3……ストレージ装置、4……SAN、5……ハードディスクドライブ、6……ストレージコントローラ、11……チャネル制御部、12……プロセッサ、13……MPA、14……キャッシュメモリ、15……キャッシュメモリ制御部、17……HDD制御部、18……管理装置、21、71……転送要求制御部、22、72……アービタ、23、43……セレクタ、24……応答待ち制御部、25……バッファ格納情報制御部、31……転送要求シーケンサ、32、51……データ解析シーケンサ、33、34、63……AND回路、41……応答あり/応答なしラウンドロビンシーケンサ、42……応答なしラウンドロビンシーケンサ、52……応答制御シーケンサ、61……転送制御シーケンサ、62……格納部、62A……バッファ、62B……フラグ

Claims (10)

  1. ホスト装置から送信されるデータを格納するストレージ装置であって、
    前記ホスト装置から送信される前記データの送受信に関するアクセス要求に基づいて、キャッシュメモリ制御部に対して前記データの送受信に関するアクセス命令を送信する複数のプロセッサと、
    前記複数のプロセッサにより送信される前記アクセス命令を排他的に前記キャッシュメモリ制御部に送信するアクセス命令送信部と
    を備え、
    前記アクセス命令送信部は、
    応答が必要なアクセス命令を格納する複数の格納部
    を備え、
    すべての前記格納部に前記応答が必要なアクセス命令が格納されたときに、応答の必要がないアクセス命令のみを前記キャッシュメモリ制御部に送信する
    ことを特徴とするストレージ装置。
  2. 前記アクセス命令送信部は、
    すべての前記格納部に前記応答が必要なアクセス命令が格納されたときに、ラウンドロビンによって優先順位順に、かつ排他的に、前記応答の必要がないアクセス命令をキャッシュメモリ制御部に送信する
    ことを特徴とする請求項1に記載のストレージ装置。
  3. 前記アクセス命令送信部は、
    すべての前記格納部に前記応答が必要なアクセス命令が格納されていないときに、ラウンドロビンによって優先順位順に、かつ排他的に、前記応答が必要なアクセス命令及び前記応答の必要がないアクセス命令をキャッシュメモリ制御部に送信する
    ことを特徴とする請求項3に記載のストレージ装置。
  4. 前記アクセス命令送信部は、
    前記キャッシュメモリ制御部から前記応答が必要なアクセス命令に対応するアクセス完了応答を受信すると、当該応答が必要なアクセス命令を前記格納部から削除する
    ことを特徴とする請求項3に記載のストレージ装置。
  5. 前記アクセス命令送信部は、
    すべての前記格納部に前記応答が必要なアクセス命令が格納されていたときには、前記格納部からの前記アクセス命令の削除により、前記応答が必要なアクセス命令及び前記応答の必要がないアクセス命令のキャッシュメモリ制御部への送信を再開する
    ことを特徴とする請求項4に記載のストレージ装置。
  6. ホスト装置から送信されるデータを格納するストレージ装置のアクセス命令送信方法であって、
    複数のプロセッサが、前記ホスト装置から送信される前記データの送受信に関するアクセス要求に基づいて、キャッシュメモリ制御部に対して前記データの送受信に関するアクセス命令を送信する第1のステップと、
    アクセス命令送信部が、前記複数のプロセッサにより送信される前記アクセス命令を排他的に前記キャッシュメモリ制御部に送信する第2のステップと
    を備え、
    前記第2のステップでは、
    応答が必要なアクセス命令を格納する複数の格納部のすべての前記格納部に前記応答が必要なアクセス命令が格納されたときに、応答の必要がないアクセス命令のみを前記キャッシュメモリ制御部に送信する
    ことを特徴とするアクセス命令送信方法。
  7. 前記第2のステップでは、
    すべての前記格納部に前記応答が必要なアクセス命令が格納されたときに、ラウンドロビンによって優先順位順に、かつ排他的に、前記応答の必要がないアクセス命令をキャッシュメモリ制御部に送信する
    ことを特徴とする請求項6に記載のアクセス命令送信方法。
  8. 前記第2のステップでは、
    すべての前記格納部に前記応答が必要なアクセス命令が格納されていないときに、ラウンドロビンによって優先順位順に、かつ排他的に、前記応答が必要なアクセス命令及び前記応答の必要がないアクセス命令をキャッシュメモリ制御部に送信する
    ことを特徴とする請求項7に記載のアクセス命令送信方法。
  9. 前記第2のステップでは、
    前記キャッシュメモリ制御部から前記応答が必要なアクセス命令に対応するアクセス完了応答を受信すると、当該応答が必要なアクセス命令を前記格納部から削除する
    ことを特徴とする請求項8に記載のアクセス命令送信方法。
  10. 前記第2のステップでは、
    すべての前記格納部に前記応答が必要なアクセス命令が格納されていたときには、前記格納部からの前記アクセス命令の削除により、前記応答が必要なアクセス命令及び前記応答の必要がないアクセス命令のキャッシュメモリ制御部への送信を再開する
    ことを特徴とする請求項9に記載のアクセス命令送信方法。
JP2008041480A 2008-02-22 2008-02-22 ストレージ装置及びアクセス命令送信方法 Expired - Fee Related JP5102917B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008041480A JP5102917B2 (ja) 2008-02-22 2008-02-22 ストレージ装置及びアクセス命令送信方法
US12/081,902 US8099563B2 (en) 2008-02-22 2008-04-23 Storage device and access instruction sending method
EP09250034A EP2093656B1 (en) 2008-02-22 2009-01-08 Storage system and access instruction sending method
AT09250034T ATE528711T1 (de) 2008-02-22 2009-01-08 Speichersystem und verfahren zum senden von zugriffsanleitungen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008041480A JP5102917B2 (ja) 2008-02-22 2008-02-22 ストレージ装置及びアクセス命令送信方法

Publications (2)

Publication Number Publication Date
JP2009199428A true JP2009199428A (ja) 2009-09-03
JP5102917B2 JP5102917B2 (ja) 2012-12-19

Family

ID=40740035

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008041480A Expired - Fee Related JP5102917B2 (ja) 2008-02-22 2008-02-22 ストレージ装置及びアクセス命令送信方法

Country Status (4)

Country Link
US (1) US8099563B2 (ja)
EP (1) EP2093656B1 (ja)
JP (1) JP5102917B2 (ja)
AT (1) ATE528711T1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012063971A (ja) * 2010-09-16 2012-03-29 Nec Corp I/oブリッジ装置、応答通知方法、及びプログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10198358B2 (en) * 2014-04-02 2019-02-05 Advanced Micro Devices, Inc. System and method of testing processor units using cache resident testing
KR20190130831A (ko) * 2018-05-15 2019-11-25 에스케이하이닉스 주식회사 컨트롤러 및 이를 포함하는 메모리 시스템
CN114116553B (zh) * 2021-11-30 2023-01-20 海光信息技术股份有限公司 数据处理装置、方法以及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096698A (ja) * 1995-06-21 1997-01-10 Sanyo Electric Co Ltd 通信方法及び通信装置
JPH09251351A (ja) * 1996-03-15 1997-09-22 Mitsubishi Electric Corp 共有外部記憶装置
JP2007233834A (ja) * 2006-03-02 2007-09-13 Hitachi Ltd I/oコマンドをキューイングするストレージシステム及びその制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1011387A (ja) 1996-06-19 1998-01-16 Fujitsu Ltd 情報処理装置
US6564271B2 (en) * 1999-06-09 2003-05-13 Qlogic Corporation Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter
US7287649B2 (en) 2001-05-18 2007-10-30 Broadcom Corporation System on a chip for packet processing
JP4794194B2 (ja) 2005-04-01 2011-10-19 株式会社日立製作所 ストレージシステム及び記憶制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096698A (ja) * 1995-06-21 1997-01-10 Sanyo Electric Co Ltd 通信方法及び通信装置
JPH09251351A (ja) * 1996-03-15 1997-09-22 Mitsubishi Electric Corp 共有外部記憶装置
JP2007233834A (ja) * 2006-03-02 2007-09-13 Hitachi Ltd I/oコマンドをキューイングするストレージシステム及びその制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012063971A (ja) * 2010-09-16 2012-03-29 Nec Corp I/oブリッジ装置、応答通知方法、及びプログラム
US8799548B2 (en) 2010-09-16 2014-08-05 Nec Corporation I/O bridge device, response-reporting method, and program

Also Published As

Publication number Publication date
US8099563B2 (en) 2012-01-17
JP5102917B2 (ja) 2012-12-19
EP2093656A3 (en) 2010-07-28
US20090216965A1 (en) 2009-08-27
EP2093656A2 (en) 2009-08-26
ATE528711T1 (de) 2011-10-15
EP2093656B1 (en) 2011-10-12

Similar Documents

Publication Publication Date Title
US8762682B1 (en) Data storage apparatus providing host full duplex operations using half duplex storage devices
US10248610B2 (en) Enforcing transaction order in peer-to-peer interactions
US7761642B2 (en) Serial advanced technology attachment (SATA) and serial attached small computer system interface (SCSI) (SAS) bridging
US6393519B1 (en) Disk array controller with connection path formed on connection request queue basis
JP5546635B2 (ja) データ転送装置およびその制御方法
US6850998B2 (en) Disk array system and a method for controlling the disk array system
US7739432B1 (en) Command switching for multiple initiator access to a SATA drive
JP4477437B2 (ja) ストレージ装置、そのクラスタ間データ通信方法、及びそのクラスタ通信制御プログラム
JP2008299434A (ja) 記憶制御装置及びその制御方法
CN1972312A (zh) 用于选择存储群集以用来存取存储装置的方法和系统
US20110282963A1 (en) Storage device and method of controlling storage device
CN104965678A (zh) 一种固态存储的控制方法、装置及固态存储设备
JP5102917B2 (ja) ストレージ装置及びアクセス命令送信方法
US7340551B2 (en) Bridge permitting access by multiple hosts to a single ported storage drive
CN100583064C (zh) 用于从别名地址池中移除别名地址的方法和设备
CN101310262B (zh) 能使多个通信信道独立工作的集成电路
CN1979408B (zh) 管理设备访问的方法和系统
US7409486B2 (en) Storage system, and storage control method
US8489808B2 (en) Systems and methods of presenting virtual tape products to a client
CN100447731C (zh) 冗余存储虚拟化计算机系统
CN110515536B (zh) 数据存储系统
JP4936088B2 (ja) ディスクアレイ装置、ディスクアレイシステム、及びキャッシュ制御方法
US7743180B2 (en) Method, system, and program for managing path groups to an input/output (I/O) device
US7415555B2 (en) Bus bridge device
US20060036790A1 (en) Method, system, and program for returning attention to a processing system requesting a lock

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120410

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120930

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

Free format text: PAYMENT UNTIL: 20151005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5102917

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees