JP2010049596A - 複数の集積回路を備えたストレージシステム - Google Patents

複数の集積回路を備えたストレージシステム Download PDF

Info

Publication number
JP2010049596A
JP2010049596A JP2008215003A JP2008215003A JP2010049596A JP 2010049596 A JP2010049596 A JP 2010049596A JP 2008215003 A JP2008215003 A JP 2008215003A JP 2008215003 A JP2008215003 A JP 2008215003A JP 2010049596 A JP2010049596 A JP 2010049596A
Authority
JP
Japan
Prior art keywords
packet
circuit unit
transmission
type
posted
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
JP2008215003A
Other languages
English (en)
Other versions
JP4802229B2 (ja
Inventor
Hiroshi Iwaoka
洋 岩岡
Naoki Moritoki
直樹 守時
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 JP2008215003A priority Critical patent/JP4802229B2/ja
Priority to US12/267,886 priority patent/US8010720B2/en
Publication of JP2010049596A publication Critical patent/JP2010049596A/ja
Application granted granted Critical
Publication of JP4802229B2 publication Critical patent/JP4802229B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】送信及び/又は受信に関わる回路の実装面積を抑え且つバッファの利用効率が改善される送受信技術を提供する。
【解決手段】送信側回路に、要求に従う第一パケットを生成する送信側第一回路部と、送信側第一回路部の下位の回路部であり、送信バッファを有し、第一パケットを含んだ第二パケットを送信バッファに一時格納してから送信する送信側第二回路部が備えられる。第二パケットは、第二ヘッダ部と第二データ部とを有する。送信側第二回路部から送信される第二パケットが有する第二データ部に、第一パケットが含まれ、且つ、第二ヘッダ部に、第二パケットのタイプを表すパラメータ値として、所定の値が含まれる。所定の値は、複数の第二パケットタイプのうちの所定の一つの第二パケットタイプを表す値である。
【選択図】図6

Description

本発明は、複数の集積回路を備えたストレージシステムに関する。
ストレージシステムは、複数の記憶装置と、上位装置からのアクセス要求に従い複数の記憶装置のうちのいずれか一以上の記憶装置にアクセスするコントローラと備える。コントローラは、例えば、記憶装置に書き込まれる又は記憶装置から読み出されるデータを一時的に記憶するキャッシュメモリと、記憶装置に対するデータの読み書きを制御するマイクロプロセッサと、上位装置(例えばホスト計算機又は他のストレージシステム)とのインタフェース回路(上位アダプタ)と、記憶装置とのインタフェース回路(下位アダプタ)と、キャッシュメモリに対するインタフェース回路(CMアダプタ)と、マイクロプロセッサに対するインタフェース回路(MPアダプタ)と、上位アダプタ、下位アダプタ、CMアダプタ及びMPアダプタに接続されるスイッチ回路とを備える。前述の各アダプタ及びスイッチ回路は、LSI(Large Scale Integration)であり、LSI間で、送受信が行われる。LSI間での送受信のインタフェースとして、PCI-Expressを採用することができる。
LSIには、例えば、図1に示す送信側LSI部101と、図2に示す受信側LSI部201とが備えられる。
送信側LSI部101(受信側LSI部201)には、ユーザ論理102(202)と、それよりも下位に存在するPCI-Expressインタフェース回路部106(206)とが備えられる。PCI-Expressインタフェース回路部106(206)には、複数の論理回路が備えられる。それらの論理回路は、上位側から下位に側にかけて、TL(Transaction Layer)での処理を行うTL送信論理103(TL受信論理203)、DLL(Data Link Layer)での処理を行うDLL送信論理104(DLL受信論理204)、及び、PL(Physical Layer)での処理を行うPL送信論理105(PL受信論理205)である。
PCI-Expressでは、TLで扱われるパケット(以下、TLP(Transaction Layer Packet))として、応答が必要無いタイプ(Posted)のTLPであるPosted-TLPと、応答が必要なタイプ(Non-Posted)のTLPであるNon-Posted-TLPと、応答を表すタイプ(Completion)のTLPであるCompletion-TLPとがある。
TL送信論理103(TL受信論理203)には、Posted、Non-Posted及びCompletionの3つのTLPタイプに対応した3つの送信バッファ1032、1033及び1034(3つの受信バッファ2023、2033及び2034)が備えられ、それらの上位に、デマルチプレクサ(以下、DEMUX)1031(2031)が備えられる。また、TL送信論理103には、3つの送信バッファ1032、1033及び1034の下位に、MUX1035が備えられる。
送信元のLSIにおいて、TL送信論理103は、下記の(3−1)乃至(3−3)、
(3−1)送信するTLPがPosted-TLPならば、そのTLPをPosted送信バッファ1032に一時格納し、そのバッファ1032からTLPを送信する(図3のS302、S303,S306);
(3−2)送信するTLPがNon-Posted-TLPならば、そのTLPをNon-Posted送信バッファ1033に一時格納し、そのバッファ1033からTLPを送信する(図3のS302、S304,S306);
(3−3)送信するTLPがCompletion-TLPならば、そのTLPをCompletion送信バッファ1034に一時格納し、そのバッファ1034からTLPを送信する(図3のS302、S305,S306);
を行う。
受信元のLSIにおいて、TL受信論理203は、下記の(4−1)乃至(4−3)、
(4−1)受信したTLPがPosted-TLPならば、そのTLPをPosted受信バッファ2032に一時格納する(図4のS401、S402,S403);
(4−2)受信したTLPがNon-Posted-TLPならば、そのTLPをNon-Posted受信バッファ2033に一時格納する(図4のS401、S402,S404);
(4−3)受信したTLPがCompletion-TLPならば、そのTLPをCompletion受信バッファ2034に一時格納する(図4のS401、S402,S405);
を行う。
PCI-Expressでの送受信に関する技術として、例えば特許文献1に開示の技術が知られている。特許文献1によれば、バッファから、TLPタイプに応じたバッファ領域が、必要なタイミングで割り当てられる。
特開2006−189937号公報
図1及び図2に示したように、複数のTLPタイプにそれぞれ対応した複数のバッファを用意すると、バッファの利用効率が悪くなる場合がある。例えば、図18に示すように、Non-Posted-TLPに対応したバッファが満杯であれば、Posted又はCompletionに対応したバッファに空き領域があっても、Non-Posted-TLPをこれ以上格納できない。
また、PCI-Expressの限界性能(転送速度)で、Posted-TLP、NonPosted-TLP及びCompletion-TLPのいずれが転送されても、バッファにTLPを格納できずに性能が劣化してしまうといったことを抑えるためには、各TLPタイプに対応した各バッファの容量を、そのタイプのTLPが限界性能で転送されても滞りなく処理できるような容量とする必要がある。具体的には、例えば、図19に示すように、Posted-TLP、NonPosted-TLP及びCompletion-TLPのいずれがPCI-Expressの限界性能で転送されても滞りなく処理が行われるようなバッファ容量とする必要がある(図19において、それぞれ縦に並んだ3つのセルが、各タイプのTLPがPCI-Expressの限界性能で転送されても滞りなく処理が行われるようなバッファ容量に相当する)。しかし、各バッファの容量を上記のような容量とすると、PCI-Expressインタフェース回路部の論理ゲート規模(実装面積)が大きくなってしまう。これは、ストレージシステムでは特に問題である。なぜなら、ストレージシステムでは、LSI間のパス(PCI-Expressレーン)が冗長化されていることが望ましく、このために、各アダプタ及びスイッチ回路に複数のPCI-Expressインタフェース回路部が必要になるが、上記のように、PCI-Expressインタフェース回路部の実装面積が大きくなってしまうと、アダプタ及びスイッチ回路に搭載可能なPCI-Expressインタフェース回路部の数が少ない数となってしまい、それ故、LSI間のパスを冗長化することが困難になり得るからである。
しかし、バッファを大容量とすると、PCI-Expressインタフェース回路部の論理ゲート規模が大きくなってしまうという問題と、PCI-Expressの限界性能で或るタイプのTLPが流れていても利用されない無駄な領域がバッファに存在するという、利用効率が悪いという問題の両方が生じることになる。
以上の問題は、PCI-Express以外のインタフェースを利用した送受信でも有り得る問題である。
また、特許文献1に開示の技術を用いると、3種類のTLPで一つの受信バッファを共有できるので、バッファを効率的に利用できるようになるが、これは、TL(Transaction Layer)とDLL(Data Link Layer)の内部のアルゴリズムの変更を要する。PCI-Expressのような汎用的なインタフェースは、ハードウェアとして実装するにあたり、ハードIP(Intellectual Property)や汎用チップを用いることが一般的だが、これらは通常、中身の論理が変更できない。よって、特許文献1に開示の技術を用いるためには、PL(Physical Layer)まで動作するハードIPを用いて、TL、DLLに関しては自前で開発する、などの方法をとらなければならず、インタフェース部の開発量が膨大になってしまう、といった問題が生じる。
従って、本発明の目的は、送信及び/又は受信に関わる回路の実装面積を抑え且つバッファの利用効率が改善される送受信技術を提供することにある。
また、本発明の別の目的は、インタフェース部内のレイヤ(例えば、前述のPL、DLL、TL)のアルゴリズムを変更しないで、上記の目的を達成することにある。
ることにある。
送信側回路に、要求に従う第一パケットを生成する送信側第一回路部と、送信側第一回路部の下位の回路部であり、第一パケットを含んだ第二パケットを送信バッファに一時格納して送信する送信側第二回路部が備えられる。第一パケットには、送信側第二回路部が行う通信のインタフェースでサポートされている複数の第二パケットタイプにそれぞれ対応した複数の第一パケットタイプのうち、上記要求に従う第一パケットタイプを表すパラメータ値が含まれる。第二パケットは、第二ヘッダ部と第二データ部とを有する。送信側第二回路部から送信される第二パケットが有する第二データ部に、第一パケットが含まれ、且つ、第二ヘッダ部に、第二パケットのタイプを表すパラメータ値として、所定の値が含まれる。所定の値は、複数の第二パケットタイプのうちの所定の一つの第二パケットタイプを表す値である。第二パケットは、送信側第一回路部と送信側第二回路部のどちらで生成されても良い。
以下、図面を参照して、本発明の一実施形態を説明する。
図5Aは、本発明の一実施形態に係るストレージシステムの構成を示す。
ストレージシステムは、例えばRAID(Redundant Array of Independent Disks)のようなディスクアレイ装置である。ストレージシステムは、例えば、ストレージシステムが行う処理を制御するディスクコントローラ(以下、DKC)501と、複数のハードディスクドライブ(HDD)5021を有するディスクユニット(以下、DKU)502とを備える。HDD5021に代えて、他種の記憶装置(例えばフラッシュメモリデバイス)が備えられても良い。
DKC501は、LR(LocaLRouter)5011、5012と、SW(SWitch)5013と、CMA(Cache Memory Adapter)5014と、CM(Cache Memory)5015と、MPA(Micro Processor Adapter)5016と、MCH(Memory Controller Hub)5017と、MP(Micro Processor)5018と、LM(LocaLMemory)5019とを備える。
「LR」は、ローカルルータの略であり、入出力(IO)を制御するLSIである。LRには、ホストに接続される上位のLRであるCHA(チャネルアダプタ)5011と、DKU502内のHDD5021に接続される下位のLRであるDKA(ディスクアダプタ)5012とがある。
SW5013は、CHA5011、DKA5012、CHA5014及びMPA5016にHSN(Hierarchical Star Net)で接続されたLSIである。SW5013は、LSI5011、5012、5014及び5016からのTLP(Transaction Layer Packet)の転送を制御する。
CMA5014は、CM5015の制御を行うLSIである。
CM5015は、ホストから受信しHDD5021に書き込まれるデータ、又は、HDD5021から読み出されてホストに送信されるデータを一時的に記憶するメモリである。
MPA5016は、MCH5017とPCI-Expressで接続されたLSIであり、MCH5017からのパケットを基にTLPを生成する。
MCH5017は、MPA5016、MP5017及びLM5019間の通信を制御するチップセットである。
MP5018は、ホストからのIOコマンド(ライトコマンド又はリードコマンド)を制御する。
LM5019は、MP5018が参照するデータなどを記憶するメモリである。
前述した構成要素5011〜5019のうちの少なくとも一つが、複数存在する。また、前述した構成要素5011〜5019のうち、図5Aに太線で示したLSI5011、5012、5013、5014及び5016が、改良されたLSIである。それらのLSI5011、5012、5013、5014及び5016間を結ぶパスは、図5Bに示すように冗長化されており、それ故、それらのLSI5011、5012、5013、5014及び5016は、複数のPCI-Expressインタフェース回路5020を備える。各LSI5011、5012、5013、5014及び5016は、図6に示す送信側LSI部601と図7に示す受信側LSI部701とのセット(以下、LSI部セット)を備える。PCI-Expressインタフェース回路5020は、図6に示すPCI-Expressインタフェース回路部606と、図7に示すPCI-Expressインタフェース回路部706とで構成されている。各LSI5011、5012、5013、5014及び5016には、複数のLSI部セットが存在しても良いし、或いは、複数のPCI-Expressインタフェース回路5020に対してユーザ論理602(702)は共通であっても良い。
図6は、送信側LSI部601の構成図である。
送信側LSI部601には、ユーザ論理602と、それよりも下位に存在するPCI-Expressインタフェース回路部606とが備えられる。PCI-Expressインタフェース回路部606には、複数の論理回路が備えられる。それらの論理回路は、上位側から下位に側にかけて、TL(Transaction Layer)での処理を行うTL送信論理603、DLL(Data Link Layer)での処理を行うDLL送信論理104、及び、PL(Physical Layer)での処理を行うPL送信論理105である。DLL送信論理104及びPL送信論理105は、図1に示したそれと同様であり、ユーザ論理602及びTL送信論理603が、図1に示したユーザ論理102及びTL送信論理103と異なる。
ユーザ論理602は、論理回路であり、HSNL(Hierarchical Star Net Layer)送信論理6021を有する。HSNLは、TLの上位の層、例えばアプリケーション層である。HSNL送信論理6021は、HSNパケット(以下、HSNP)を生成するHSNP生成部602112と、HSNP生成部60212から3タイプのHSNPのうちのいずれかを受けて出力するマルチプレクサ(MUX)60211と、出力されたHSNPを含んだTLP(Transaction Layer Packet)を生成するTLP生成部60213とを有する。TLP生成部60213は、HSNP生成部60212よりも下流にあってPosted送信バッファ6032よりも上流にあれば、どこに存在しても良い。従って、例えば、図6に点線で示すように、TLP生成部60213は、TL送信論理603に存在しても良い。
この実施形態では、TLP生成部60213では、Posted-TLPのみが生成される。このため、TL送信論理603では、上流側のMUX1031及び下流側のMUX1035の間に介在する送信バッファは、Posted送信バッファ6032のみであり、Non-Posted送信バッファ及びCompletion送信バッファは無い。Posted送信バッファ6032の容量は、例えば図20に示すように、Posted-TLPがPCI-Expressの限界性能(例えば2.5Gps)で転送されても滞りなく処理が行われるような容量である。
なお、上記のように、3つのタイプに対応した3つの送信バッファ(又はバッファ領域)のうちの2つの送信バッファ(又はバッファ領域)を不要にするためには、Posted-TLPのみが生成されることに代えて、Non-Posted-TLPのみ或いはCompletion-TLPのみが生成されることが考えられるが、下記理由(6−1)及び(6−2)、
(6−1)Completionは、Non-Posted-TLPに対する応答であるため、Non-Posted-TLPがないと発生することはない;
(6−2)Non-Postedは、応答を必要とするタイプであるため、Non-Posted-TLPが送信先に到達すると、送信先がCompletion-TLPを返してきてしまうが、そのような応答を必要としない通信もある;
から、Posted-TLPのみが生成されることとするのが好ましいと考えられる。
図7は、受信側LSI部701の構成図である。
ユーザ論理702と、それよりも下位に存在するPCI-Expressインタフェース回路部706とが備えられる。PCI-Expressインタフェース回路部706には、複数の論理回路が備えられる。それらの論理回路は、上位側から下位に側にかけて、TLでの処理を行うTL受信論理703、DLLでの処理を行うDLL受信論理204、及び、PLでの処理を行うPL受信論理205である。DLL受信論理204及びPL受信論理205は、図2に示したそれと同様であり、ユーザ論理702及びTL受信論理703が、図2に示したユーザ論理202及びTL受信論理203と異なる。
ユーザ論理702は、論理回路であり、HSNL受信論理7021を有する。HSNL受信論理7021は、3タイプのHSNPのうちのいずれかを受けて出力するDEMUX70211を有し、出力されたHSNPを処理する。
この実施形態では、Posted-TLPのみが受信される。このため、TL受信論理703では、MUX2031の下流に存在する受信バッファは、Posted受信バッファ7032のみであり、Non-Posted受信バッファ及びCompletion受信バッファは無い。Posted受信バッファ7032の容量は、例えば図20に示すように、Posted-TLPがPCI-Expressの限界性能(例えば2.5Gps)で転送されても滞りなく処理が行われるような容量である。
以上の説明によれば、送信バッファ及び受信バッファの両方について、Postedに対応したバッファのみがあり、Non-Posted及びCompletionに対応したバッファ(又はバッファ領域)が無い。また、それ故、PCI-Expressの限界性能(例えば2.5Gps)で転送されても滞りなく処理が行われるようなバッファ容量は、Postedに対応したバッファについてのみ確保されれば良い。このため、バッファの利用効率が悪くなることが無く、PCI-Expressインタフェース回路5020(図5B参照)の実装面積(論理ゲート規模)を抑えることができる。
また、以上の説明によれば、PCI-Expressインタフェース回路部606、706内のレイヤ(例えば、前述のPL、DLL、TL)のアルゴリズムを実質的に変更しないで済む。このため、PCI-Expressインタフェース回路部606、706内の汎用のハードIPなどをそのまま用いることができるため、開発量を抑えた上で、バッファの利用効率を改善することができる。
以下、本実施形態についてより詳細に説明する。
図17は、TLPの構成図である。
TLP1703は、TLPヘッダ部1701と、TLPデータ部1702とを有する。TLPデータ部1702に、HSNP17023がセットされる。
HSNP17023は、HSNヘッダ部17021と、HSNデータ部17022とを有する。HSNデータ部17022には、例えば、TLP1703の送信先のLSIが有するレジスタに書き込まれる制御情報(例えば、TLP1703の送信先のLSIに対する命令の内容を表す情報)や、ホストからのIOコマンドに従ってHDD5021に対して読み書きされるデータ(以下、ユーザデータ)がセットされる。
図10は、TLPヘッダ部1701の構成図である。
TLPヘッダ部1701は、例えば、4バイト×4ワード=16バイトで構成される。1ワード目(0DW)の2〜3ビット目のFmtフィールドと、4〜8ビット目のTypeフィールドに、TLPタイプを表す値が設定される。TLPタイプとしては、既に説明してあるように、Posted、Non-Posted及びCompletionの3タイプがあるが、本実施形態でやり取りされるTLPは、Posted-TLPのみとされる。具体的には、Fmtフィールド及びTypeフィールドに設定される値は、固定値であり、Postedを表す値が設定される。また、TLPヘッダ部1701には、例えば、TLPの送信先を表す情報が設定される。
図11は、HSNヘッダ部17021の構成図である。
HSNヘッダ部17021は、TLPデータ部1702の先頭に位置し、故に、TLPヘッダ部1701に連続することになる。HSNヘッダ部17021も、例えば、4バイト×4ワード=16バイトで構成される。1ワード目の上位3バイトが、CMDフィールドになっている。
CMDフィールドの上位4ビットに、HSNPタイプを表す値が設定される。HSNPタイプとしては、PCI-ExpressでサポートされているPosted、Non-Posted及びCompletionにそれぞれ対応したHSN-Posted、HSN-Non-Posted及びHSN-Completionがある。HSN-Postedは、応答が必要無いタイプである。HSN-Non-Postedは、応答が必要なタイプである。HSN-Completionは、応答を意味するタイプである。
図8は、送信側LSI部601で行われる処理の流れを示す。
HSNL送信論理6021内のHSNP生成部60212が、パケット送信要求を、例えばユーザ論理602内の上位モジュール(HSNP生成部60212よりも上位のモジュール)から受ける(S801)。
HSNP生成部60212が、要求されたタイプに対応するHSNPタイプを表す値をHSNヘッダ部17021のCMDフィールドに設定したHSNPを生成する(S802、S803、S804、S805)。そのHSNP内のHSNデータ部17022には、例えば、前述した制御情報又はユーザデータが設定される。
次に、TLP生成部60213が、生成されたHSNPのHSNPタイプに関わらずにPosted-TLPを生成する(S806)。具体的には、TLP生成部60213が、生成されたHSNPをTLPデータ部1702に設定しTLPヘッダ部1703内にPostedを表す値を設定したPosted-TLPを生成する。生成されたPosted-TLPは、HSNL送信論理6021から送信される(S807)。Posted-TLPのTLPヘッダ部1703には、TLP生成部60213によって、このPosted-TLPの送信先を表す送信先情報(例えばLSI番号)が設定されている。
HSNL送信論理6021からPosted-TLPを受領したTL送信論理603では、MUX1031により、受領したTLPがPosted-TLPであることが判別されて(S808)、そのPosted-TLPがPosted送信バッファ6032に格納される(S809)。Posted送信バッファ6032に格納されたPosted-TLPが、TL送信論理603から送信される(S810)。
TL送信論理603から送信されたPosted-TLPは、DLL送信論理104及びPL送信論理105を流れて、最終的に外部(PCI-Expressレーン)に出力される。
図6に示したTL送信論理603と、図1に示したTL送信論理103とを比較し、図8に示した流れと、図3に示した流れとを比較すると、TL送信論理103の論理それ自体については変更しなくても(言い換えれば、Non-Posted送信バッファ及びCompletion送信バッファを除くことで)、TL送信論理603を実現することが期待できる。なお、図6において、TL送信論理603に、MUX1031及び1035が無くても良い。MUX1031及び1035が無ければ、PCI-Expressインタフェース回路部606の実装面積をより抑えることが期待できる。
図9は、送信側LSI部601で行われる処理の流れを示す。
或るLSI(例えばCHA5011)内の送信側LSI部601から送信されたPosted-TLPは、SW5013を介して、そのPosted-TLPの送信先LSI(例えばCMA5014)内の受信側LSI部701に受領される。受領されたPosted-TLPは、PL受信論理205及びDLL受信論理204を経由して、TL受信論理703で受領される(S901)。
TL受信論理703内のMUX2031により、受領したTLPがPosted-TLPであることが判別されて(S902)、そのPosted-TLPがPosted受信バッファ7032に格納される(S903)。その後、HSNL受信論理7021に、Posted-TLPを受信したことが通知される(例えば、Posted受信バッファ7032に格納されたPosted-TLPが、HSNL受信論理7021に送信される)。
HSNL送信論理7021において、そのPosted-TLPのTLPデータ部1702に含まれているHSNP内のCMDフィールドが解釈され(S904)、その解釈の結果を基に、そのHSNPが処理される。具体的には、例えば、そのCMDフィールドに、HSN-Postedを表す値が設定されていれば、応答が返されない処理が実行され(S905)、HSN-Non-Postedを表す値が設定されていれば、上記送信先LSIの送信側LSI部601からHSN-Completionを含んだHSNPが返されることに関わる処理が実行され(S906)、HSN-Completionを表す値が設定されていれば、応答としての処理が実行される(S907)。
図7に示したTL受信論理703と、図2に示したTL受信論理203とを比較し、図9に示した流れと、図4に示した流れとを比較すると、TL受信論理203の論理それ自体については変更しなくても(言い換えれば、Non-Posted受信バッファ及びCompletion受信バッファを除くことで)、TL受信論理703を実現することが期待できる。なお、図7において、TL受信論理703に、MUX2031が無くても良い。MUX2031が無ければ、PCI-Expressインタフェース回路部706の実装面積をより抑えることが期待できる。
ところで、図11に示したCMDフィールドには、その上位4ビットに、HSNPタイプを表す値が設定されるが、CMDフィールドの上位4ビット以外の場所には、他種の情報、例えば、CMDの定義情報が設定される。CMDの定義情報としては、例えば、レジスタライト、データリード、データライト、レジスタリード及びHSNP応答がある。レジスタライトとは、例えば、制御情報のレジスタへのライトである。データリードとは、ユーザデータのリードである。データライトとは、ユーザデータのライトである。レジスタリードとは、例えば、制御情報のレジスタからのリードである。HSNP応答とは、HSN-Non-Posted-HSNPに対する応答である。
図12は、HSNPタイプとCMD定義情報との関係を示す。
レジスタリード及びデータリードの場合は、応答として制御情報或いはユーザデータを受領する必要があるため、HSNPタイプとして、応答が必要なタイプであるHSN-Non-Postedが採用される。また、HSNP応答の場合は、応答を意味するタイプであるHSN-Completionが採用される。
レジスタライト及びデータライトの場合は、HSN-Postedを採用することができるが、データライトの場合は、信頼性確保のために応答を受領した方が好ましいと考えられるので、レジスタライトについてはHSN-Postedが採用され、レジスタライトよりも信頼性が求められるデータライトについては、HSN-Non-Postedが採用される。
以下、レジスタライト処理、データリード処理及びデータライト処理の流れを説明する。
図13は、レジスタライト処理の流れを示す。
例えば、CHA5011でIOコマンドを受けた場合、IOコマンドを受けたことがCHA5011からMP5018に通知され、MP5018が、そのIOコマンドに従う命令を表す制御情報とライトを意味する値とを含んだPosted-TLPを、MPA5016に送信する(S1301)。
MPA5016は、Posted-TLPを受信したため、MPA5016内のHSNP生成部60212が、それに対応するHSNPとしてPosted-HSNPを生成する。このHSNPのHSNデータ部17022に、前述の制御情報が設定される。TLP生成部60213が、そのPosted-HSNPを含んだPosted-TLPを生成し(S1302)、そのMPA5016、前述の制御情報の書込み先のレジスタを有するLR5011(又は5012)に送信する(S1303)。HSNPの生成の際に、HSNPのシーケンス番号が、例えばHSNヘッダ部17021に設定される。また、送信されるPosted-TLPのTLPヘッダ部1701に、例えば、送信先LR5011(又は5012)を表す送信先情報が設定される。
MPA5016から送信されたPosted-TLPを、SW5013が受信する。SW5013は、そのPosted-TLP内の送信先情報が表す送信先LR5011(又は5012)に、そのPosted-TLPを転送する(S1304)。
SW5013から転送されたPosted-TLPを、送信先LR5011(又は5012)が受信する。送信先LR5011では、受信したPosted-TLP内のPosted-HSNPに含まれているシーケンス番号が、予測シーケンス番号と同じかどうか判断される(S1305)。例えば、直前回のシーケンス番号がK−1(例えばK=3)であれば、今回の予測シーケンス番号はKであり、Posted-HSNPに含まれているシーケンス番号もKであれば、予測シーケンス番号と一致したということになる。
次に、前述のS1301乃至S1305が行われる場合(S1311乃至S1315)、HSNPに設定されるシーケンス番号はK+1(=4)となり、同様に、予測シーケンス番号もK+1となる。
以上のように、レジスタライトでは、応答が不要のPosed-HSNPが生成され、それ故、図13に示したように、Posted-HSNPが送信先LR5011(又は5012)で処理されても、応答は、送信先LR5011からMPA5016に送られない。
図14は、データリード処理の流れを示す。
LR5011(又は5012)内のHSNP生成部60212は、例えば、MP5018からの制御情報がデータリードを表す場合、その制御情報を含んだNon-Posted-HSNPを生成する。そのNon-Posted-HSNPを含んだPosted-TLPが、LR5011(又は5012)から、SW5013を経由して、そのTLPの送信先であるCMA5014に送信される(S1401、S1402)。
CMA5014は、そのPosted-TLP内のNon-Posted-HSNPに従って、CM5015からユーザデータをリードする。CMA5014内のHSNP生成部60212は、リードしたユーザデータを含んだCompletion-HSNPを生成する。そのCompletion-HSNPを含んだPosted-TLPが、CMA5014から、SW5013を経由して、前述のNon-Posted-HSNPの送信元であるLR5011(又は5012)に送信される(S1403、S1404)。
図15は、一重データライト処理の流れを示す。
一重データライト処理では、例えば二重化されているCMA5014、5014のうちの一方のCMA5014に対してのみTLPが送信される。第一のデータライト処理が行われるケースとしては、例えば、二重化されているCMA5014、5014のうちの他方に障害が発生しているケースがある。MP5018が、例えば、他方のCMA5014の障害を検出した場合に、一重データライトを表す制御情報を、LR5011(又は5012)に発行する。
LR5011(又は5012)が、一重データライトを表す制御情報を含んだPosted-HSNPをMPA5016から受領した場合(具体的には、LR5011(又は5012)内のHSNL受信論理7021で、一重データライトを表す制御情報が特定された場合)、そのLR5011(又は5012)内のHSNP生成部60212が、一重データライトを表す制御情報を含んだNon-Posted-HSNPを生成する。Non-Posted-HSNPとするのは、前述したように、信頼性確保のためである。そのNon-Posted-HSNPを含んだPosted-TLPが生成されて、LR5011(又は5012)からSW5013を介して一方のCMA5014に送信される(S1501、S1502)。
CMA5014は、そのPosted-TLP内のNon-Posted-HSNPに従って、そのNon-Posted-HSNP内のユーザデータをCM5015にライトする。CMA5014内のHSNP生成部60212は、ユーザデータのライトの完了を意味する情報を含んだCompletion-HSNPを生成する。そのCompletion-HSNPを含んだPosted-TLPが、CMA5014から、SW5013を経由して、前述のNon-Posted-HSNPの送信元であるLR5011(又は5012)に送信される(S1503、S1504)。
図16は、二重データライト処理の流れを示す。
二重データライト処理では、例えば二重化されているCMA5014、5014のうちの双方のCMA5014に対してTLPが送信される。本実施形態では、基本的に二重データライト処理が行われ、いずれかのCMA5014に障害が生じた場合に、一重データライトが行われる。
LR5011(又は5012)が、二重データライトを表す制御情報を含んだPosted-HSNPをMPA5016から受領した場合(具体的には、LR5011(又は5012)内のHSNL受信論理7021で、二重データライトを表す制御情報が特定された場合)、そのLR5011(又は5012)内のHSNP生成部60212が、二重データライトを表す制御情報を含んだNon-Posted-HSNPを生成する。そのNon-Posted-HSNPを含んだPosted-TLPが生成されて、LR5011(又は5012)からSW5013に送信される(S1601)。
SW5013は、二重データライトを表す制御情報を含んだNon-Posted-HSNPを特定した場合に、受信したPosted-TLPの複製を作成する(S1602)。SW5013は、一方のPosted-TLPを一方のCMA5014(CMA2)に転送し(S1603A)、他方のPosted-TLPを他方のCMA5014(CMA2)に転送する(S1603B)。
一方のCMA5014(CMA2)は、そのPosted-TLP内のNon-Posted-HSNPに従って、そのNon-Posted-HSNP内のユーザデータをCM5015にライトする。一方のCMA5014(CMA2)内のHSNP生成部60212は、ユーザデータのライトの完了を意味する情報を含んだCompletion-HSNPを生成する。そのCompletion-HSNPを含んだPosted-TLPが、CMA5014から、SW5013を経由して、前述のNon-Posted-HSNPの送信元であるLR5011(又は5012)に送信される(S1604A、S1605A)。他方のCMA5014(CMA1)についても、同様の処理が行われる(S1603B、S1604B、1605B)。
送信元のLR5011(又は5012)は、送信したPosted-TLPは1つであっても、そのTLPに、二重データライトを表す制御情報を含んだNon-Posted-HSNPが含まれている場合には、2つの応答(Completion-HSNPを含んだPosted-TLP)を待つ(S1611)。2つの応答を送信元のLR5011(又は5012)が受信した場合に、二重データライト処理が正常に終了する。
以上、本発明の好適な実施形態を説明したが、本発明は、この実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
従来の送信側LSI部の構成図。 従来の受信側LSI部の構成図。 従来の送信側LSI部で行われる処理の流れを示す。 従来の受信側LSI部で行われる処理の流れを示す。 図5Aは、本発明の一実施形態に係るストレージシステムの構成を示す。図5Bは、LSIの結線図である。 本発明の一実施形態に係る送信側LSI部の構成図。 本発明の一実施形態に係る受信側LSI部の構成図。 図6の送信側LSI部で行われる処理の流れを示す。 図7の受信側LSI部で行われる処理の流れを示す。 TLPヘッダ部の構成図である。 HSNヘッダ部の構成図である。 HSNPタイプとCMD定義情報との関係を示す。 レジスタライト処理の流れを示す。 データリード処理の流れを示す。 一重データライト処理の流れを示す。 二重データライト処理の流れを示す。 TLPの構成図。 バッファの利用効率が悪くなる一つの例を示す図。 どのTLPタイプのTLPをPCI-Expressの限界性能で受信しても滞りなく処理が行われるようにするためのバッファの容量の概念を示す。 本発明の一実施形態においてTLPをPCI-Expressの限界性能で受信しても滞りなく処理が行われるようにするためのバッファの容量の概念を示す。
符号の説明
104…DLL(Data Link Layer)送信論理 105…PL(Physical Layer)送信論理 601…送信側LSI部 602…ユーザ論理 603…TL(Transaction Layer)送信論理 6021…HSN(Hierarchical Star Net)送信論理 6032…Posted送信バッファ 60212…HSNP(HSN-Packet)生成部 60213…TLP(Transport Layer Packet)生成部

Claims (13)

  1. 上位装置に接続されたストレージシステムであって、
    複数の記憶装置と、
    前記上位装置からアクセス要求を受信し前記アクセス要求に従い前記複数の記憶装置のうちのいずれか一以上の記憶装置にアクセスするコントローラと
    を備え、
    前記コントローラが、送信側集積回路部と受信側集積回路部とを有した複数の集積回路を有し、
    前記送信側集積回路部が、
    要求に従う第一パケットを生成する送信側第一回路部と
    前記送信側第一回路部の下位の回路部であり、送信バッファを有し、前記第一パケットを含んだ第二パケットを前記送信バッファに一時格納して送信する送信側第二回路部と
    を有し、
    前記受信側集積回路部が、
    受信バッファを有し、前記第二パケットを前記送信側第二回路部から受信して前記受信バッファに格納する受信側第二回路部と、
    前記受信側第二回路部の上位の回路部であり、前記受信側第二回路部が受信した前記第二パケット内に含まれている前記第一パケットを処理する受信側第一回路部と
    を有し、
    前記第一パケットには、複数の第二パケットタイプにそれぞれ対応した複数の第一パケットタイプのうち、前記要求に従う第一パケットタイプを表すパラメータ値が含まれ、
    前記第二パケットは、第二ヘッダ部と第二データ部とを有し、
    前記送信側第二回路部から送信される前記第二パケットが有する前記第二データ部に、前記第一パケットが含まれ、且つ、前記第二ヘッダ部に、前記第二パケットのタイプを表すパラメータ値として、所定の値が含まれ、
    前記所定の値は、前記複数の第二パケットタイプのうちの所定の一つの第二パケットタイプを表す値である、
    ストレージシステム。
  2. 前記コントローラが、前記アクセス要求を処理するマイクロプロセッサと、前記アクセス要求に従って前記一以上の記憶装置に書き込まれる又は前記一以上の記憶装置から読み出されたデータを一時的に記憶するキャッシュメモリと、前記上位装置に接続される一以上のインタフェース回路である一以上の上位アダプタと、前記複数の記憶装置のうちの一以上の記憶装置に接続される一以上の下位アダプタとを備え、
    前記一以上の上位アダプタ及び前記一以上の下位アダプタは、それぞれ、前記集積回路であり、
    それぞれの前記集積回路が、前記送信側集積回路部と前記受信側集積回路部とを有し、
    前記送信側第一回路部及び前記受信側第一回路部は、アプリケーション層の回路部であり、
    前記送信側第二回路部及び前記受信側第二回路部は、PCI-Expressインタフェース回路部に含まれるトランザクション層の回路部、データリンク層の回路部及び物理層の回路部のうちの前記トランザクション層の回路部である、
    請求項1記載のストレージシステム。
  3. 前記複数の第二パケットタイプが、Posted、Non-Posted及びCompletionであり、
    前記所定の値は、Postedを表す値である、
    請求項2記載のストレージシステム。
  4. 前記複数の第一パケットタイプは、前記Postedに対応した第一パケットタイプであるアプリケーションPostedと、前記Non-Postedに対応した第一パケットタイプであるアプリケーションNon-Postedと、前記Completionに対応した第一パケットタイプであるアプリケーションCompletionとを含んだ種類であり、
    前記コントローラが、前記キャッシュメモリに対するインタフェース回路であるCMアダプタと、前記マイクロプロセッサに対するインタフェース回路であるMPアダプタとを備え、
    前記CMアダプタ及び前記MPアダプタが、それぞれ、前記集積回路であり、
    前記上位アダプタが、メモリを有し、
    前記第一パケットは、第一データ部と第一ヘッダ部とを有し、
    前記マイクロプロセッサが前記上位アダプタの前記メモリに前記上位アダプタの制御に関する制御情報を書き込む場合、前記MPアダプタ内の前記送信側第一回路部が、下記の(4−1)及び(4−2)に従う第一パケットを生成し、
    (4−1)前記第一データ部が、前記制御情報を有する、
    (4−2)前記第一ヘッダ部が、前記第一パケットのタイプを表すパラメータ値として、前記アプリケーションPostedを表すパラメータ値を有し、且つ、コマンド種類として、ライトコマンドを表すパラメータ値を有する、
    前記上位アダプタ内の前記送信側第二回路部が、前記(4−1)及び(4−2)に従う第一パケットを含んだ前記第二パケットを前記上位アダプタに送信する、
    請求項3記載のストレージシステム。
  5. 前記MPアダプタから前記上位アダプタに送信された前記第二パケットに含まれる、前記(4−1)及び(4−2)に従う第一パケット内の前記制御情報が、前記アクセス要求に従うライト対象データを前記キャッシュメモリに書き込むことを表す情報である場合、前記上位アダプタ内の前記送信側第一回路部が、下記の(6−1)及び(6−2)に従う第一パケットを生成し、
    (5−1)前記第一データ部が、前記ライト対象データを有する、
    (5−2)前記第一ヘッダ部が、前記第一パケットのタイプを表すパラメータ値として、前記アプリケーションNon-Postedを表すパラメータ値を有し、且つ、コマンド種類として、ライトコマンドを表すパラメータ値を有する、
    前記上位アダプタ内の前記送信側第二回路部が、前記(5−1)及び(5−2)に従う第一パケットを含んだ前記第二パケットを前記CMアダプタに送信し、
    前記第二パケットを受信した前記CMアダプタによって、前記ライト対象データが前記キャッシュメモリに書き込まれた場合に、前記CMアダプタ内の前記送信側第一回路部が、下記の(5−3)に従う第一パケットを生成し、
    (5−3)前記第一ヘッダ部が、前記第一パケットのタイプを表すパラメータ値として、前記アプリケーションCompletionを表すパラメータ値を有する、
    前記CMアダプタ内の前記送信側第二回路部が、前記(5−3)に従う第一パケットを含んだ前記第二パケットを前記上位アダプタに送信する、
    請求項4記載のストレージシステム。
  6. 前記送信側第一回路部及び前記受信側第一回路部は、アプリケーション層の回路部であり、
    前記送信側第二回路部及び前記受信側第二回路部は、PCI-Expressインタフェース回路部に含まれるトランザクション層の回路部、データリンク層の回路部及び物理層の回路部のうちの前記トランザクション層の回路部である、
    請求項1記載のストレージシステム。
  7. 前記複数の第二パケットタイプが、Posted、Non-Posted及びCompletionであり、
    前記所定の値は、Postedを表す値である、
    請求項6記載のストレージシステム。
  8. 前記送信側第一回路部は、制御情報の書き込みの場合、下記の(8−1)及び(8−2)に従う第一パケットを生成し、ユーザデータの書き込みの場合、下記の(8−3)及び(8−4)に従う第一パケットを生成する、
    (8−1)前記第一データ部が、前記制御情報を有する、
    (8−2)前記第一ヘッダ部が、前記第一パケットのタイプを表すパラメータ値として、前記Postedに対応した第一パケットタイプを表すパラメータ値を有する、
    (8−3)前記第一データ部が、前記ユーザデータを有する、
    (8−4)前記第一ヘッダ部が、前記第一パケットのタイプを表すパラメータ値として、前記Non-Postedに対応した第一パケットタイプを表すパラメータ値を有する、
    請求項7記載のストレージシステム。
  9. 前記複数の第二パケットタイプが、応答が必要無い第二パケットタイプ、応答が必要な第二パケットタイプ、及び応答を表す第二パケットタイプであり、
    前記所定の値は、応答が必要無い第二パケットタイプを表す値である、
    請求項1記載のストレージシステム。
  10. 前記送信側第一回路部は、第一種のデータの書き込みの場合、下記の(10−1)及び(10−2)に従う第一パケットを生成し、前記第二種のデータの書き込みの場合、下記の(10−3)及び(10−4)に従う第一パケットを生成する、
    (10−1)前記第一データ部が、前記第一種のデータを有する、
    (10−2)前記第一ヘッダ部が、前記第一パケットのタイプを表すパラメータ値として、応答が必要無い第二パケットタイプに対応した第一パケットタイプを表すパラメータ値を有する、
    (10−3)前記第一データ部が、前記第二種のデータを有する、
    (10−4)前記第一ヘッダ部が、前記第一パケットのタイプを表すパラメータ値として、応答が必要な第二パケットタイプに対応した第一パケットタイプを表すパラメータ値を有する、
    請求項9記載のストレージシステム。
  11. 要求に従う第一パケットを生成する第一回路部と
    前記第一回路部の下位の回路部であり、送信バッファを有し、前記第一パケットを含んだ第二パケットを前記送信バッファに一時格納して送信する第二回路部と
    を備え、
    前記第一パケットには、複数の第二パケットタイプにそれぞれ対応した複数の第一パケットタイプのうち、前記要求に従う第一パケットタイプを表すパラメータ値が含まれ、
    前記第二パケットは、第二ヘッダ部と第二データ部とを有し、
    前記第二回路部から送信される前記第二パケット内の前記第二データ部に、前記第一パケットが含まれ、且つ、前記第二ヘッダ部に、前記第二パケットのタイプを表すパラメータ値として所定の値が含まれ、
    前記所定の値は、前記複数の第二パケットタイプのうちの所定の一つの第二パケットタイプを表す値である、
    送信装置。
  12. 要求に従う第一パケットを生成する送信側第一回路部と
    前記第一回路部の下位の回路部であり、送信バッファを有し、前記第一パケットを含んだ第二パケットを前記送信バッファに一時格納して送信する送信側第二回路部と
    受信バッファを有し、外部の装置から第二パケットを受信して前記受信バッファに格納する受信側第二回路部と、
    前記受信側第二回路部の上位の回路部であり、前記受信側第二回路部が受信した前記第二パケットに含まれている第一パケットを処理する受信側第一回路部と
    を備え、
    前記第一パケットには、複数の第二パケットタイプにそれぞれ対応した複数の第一パケットタイプのうち、前記要求に従う第一パケットタイプを表すパラメータ値が含まれ、
    前記第二パケットは、第二ヘッダ部と第二データ部とを有し、
    前記送信側第二回路部から送信される前記第二パケット内の前記第二データ部に、前記第一パケットが含まれ、且つ、前記第二ヘッダ部に、前記第二パケットのタイプを表すパラメータ値として所定の値が含まれ、
    前記所定の値は、前記複数の第二パケットタイプのうちの所定の一つの第二パケットタイプを表す値である、
    送受信装置。
  13. 受信バッファを有し、送信装置から第二パケットを受信して前記受信バッファに格納する第二回路部と、
    前記第二回路部の上位の回路部であり、前記第二回路部が受信した前記第二パケット内のデータ部に含まれている第一パケットを処理する第一回路部と
    を有し、
    前記第二パケットは、第二ヘッダ部と前記第二データ部を有しており、
    前記第二データ部には、第一パケットが含まれており、
    前記第一パケットには、複数の第二パケットタイプにそれぞれ対応した複数の第一パケットタイプのうちのいずれかを表すパラメータ値が含まれており、
    前記第二パケット内の前記第二ヘッダ部には、前記第二パケットのタイプを表すパラメータ値として、前記第一パケットに含まれている前記第一パケットタイプを表すパラメータ値に関わらず所定の値が含まれており、
    前記所定の値は、前記複数の第二パケットタイプのうちの所定の一つの第二パケットタイプを表す値である、
    受信装置。
JP2008215003A 2008-08-25 2008-08-25 複数の集積回路を備えたストレージシステム Expired - Fee Related JP4802229B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008215003A JP4802229B2 (ja) 2008-08-25 2008-08-25 複数の集積回路を備えたストレージシステム
US12/267,886 US8010720B2 (en) 2008-08-25 2008-11-10 Storage system disposed with plural integrated circuits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008215003A JP4802229B2 (ja) 2008-08-25 2008-08-25 複数の集積回路を備えたストレージシステム

Publications (2)

Publication Number Publication Date
JP2010049596A true JP2010049596A (ja) 2010-03-04
JP4802229B2 JP4802229B2 (ja) 2011-10-26

Family

ID=41697362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008215003A Expired - Fee Related JP4802229B2 (ja) 2008-08-25 2008-08-25 複数の集積回路を備えたストレージシステム

Country Status (2)

Country Link
US (1) US8010720B2 (ja)
JP (1) JP4802229B2 (ja)

Families Citing this family (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100312928A1 (en) * 2009-06-09 2010-12-09 Brownell Paul V System and method for operating a communication link
US8788737B2 (en) * 2011-12-26 2014-07-22 Qualcomm Technologies, Inc. Transport of PCI-ordered traffic over independent networks
US10706447B2 (en) 2016-04-01 2020-07-07 OneTrust, LLC Data processing systems and communication systems and methods for the efficient generation of privacy risk assessments
US11004125B2 (en) 2016-04-01 2021-05-11 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US11244367B2 (en) 2016-04-01 2022-02-08 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US20220164840A1 (en) 2016-04-01 2022-05-26 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US11651106B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10606916B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing user interface monitoring systems and related methods
US11144622B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Privacy management systems and methods
US11343284B2 (en) 2016-06-10 2022-05-24 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
US10873606B2 (en) 2016-06-10 2020-12-22 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11210420B2 (en) * 2016-06-10 2021-12-28 OneTrust, LLC Data subject access request processing systems and related methods
US10510031B2 (en) 2016-06-10 2019-12-17 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US11544667B2 (en) 2016-06-10 2023-01-03 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11023842B2 (en) 2016-06-10 2021-06-01 OneTrust, LLC Data processing systems and methods for bundled privacy policies
US10896394B2 (en) 2016-06-10 2021-01-19 OneTrust, LLC Privacy management systems and methods
US11100444B2 (en) 2016-06-10 2021-08-24 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US11200341B2 (en) 2016-06-10 2021-12-14 OneTrust, LLC Consent receipt management systems and related methods
US10839102B2 (en) 2016-06-10 2020-11-17 OneTrust, LLC Data processing systems for identifying and modifying processes that are subject to data subject access requests
US11227247B2 (en) 2016-06-10 2022-01-18 OneTrust, LLC Data processing systems and methods for bundled privacy policies
US11366786B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing systems for processing data subject access requests
US11277448B2 (en) 2016-06-10 2022-03-15 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11138299B2 (en) 2016-06-10 2021-10-05 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11416798B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US10592648B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Consent receipt management systems and related methods
US10678945B2 (en) 2016-06-10 2020-06-09 OneTrust, LLC Consent receipt management systems and related methods
US10282700B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10585968B2 (en) 2016-06-10 2020-03-10 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10607028B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing systems for data testing to confirm data deletion and related methods
US11328092B2 (en) 2016-06-10 2022-05-10 OneTrust, LLC Data processing systems for processing and managing data subject access in a distributed environment
US11146566B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11727141B2 (en) 2016-06-10 2023-08-15 OneTrust, LLC Data processing systems and methods for synching privacy-related user consent across multiple computing devices
US10997318B2 (en) 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for generating and populating a data inventory for processing data access requests
US10284604B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing and scanning systems for generating and populating a data inventory
US11403377B2 (en) 2016-06-10 2022-08-02 OneTrust, LLC Privacy management systems and methods
US10467432B2 (en) 2016-06-10 2019-11-05 OneTrust, LLC Data processing systems for use in automatically generating, populating, and submitting data subject access requests
US10796260B2 (en) 2016-06-10 2020-10-06 OneTrust, LLC Privacy management systems and methods
US10878127B2 (en) * 2016-06-10 2020-12-29 OneTrust, LLC Data subject access request processing systems and related methods
US11636171B2 (en) 2016-06-10 2023-04-25 OneTrust, LLC Data processing user interface monitoring systems and related methods
US10242228B2 (en) 2016-06-10 2019-03-26 OneTrust, LLC Data processing systems for measuring privacy maturity within an organization
US11057356B2 (en) 2016-06-10 2021-07-06 OneTrust, LLC Automated data processing systems and methods for automatically processing data subject access requests using a chatbot
US10853501B2 (en) 2016-06-10 2020-12-01 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10503926B2 (en) 2016-06-10 2019-12-10 OneTrust, LLC Consent receipt management systems and related methods
US11336697B2 (en) 2016-06-10 2022-05-17 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10169609B1 (en) 2016-06-10 2019-01-01 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11562097B2 (en) 2016-06-10 2023-01-24 OneTrust, LLC Data processing systems for central consent repository and related methods
US11301796B2 (en) 2016-06-10 2022-04-12 OneTrust, LLC Data processing systems and methods for customizing privacy training
US11341447B2 (en) 2016-06-10 2022-05-24 OneTrust, LLC Privacy management systems and methods
US11025675B2 (en) 2016-06-10 2021-06-01 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
US11222139B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems and methods for automatic discovery and assessment of mobile software development kits
US11157600B2 (en) 2016-06-10 2021-10-26 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11188862B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Privacy management systems and methods
US11087260B2 (en) 2016-06-10 2021-08-10 OneTrust, LLC Data processing systems and methods for customizing privacy training
US11354435B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for data testing to confirm data deletion and related methods
US10848523B2 (en) 2016-06-10 2020-11-24 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10949565B2 (en) 2016-06-10 2021-03-16 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10565161B2 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for processing data subject access requests
US11222309B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10685140B2 (en) 2016-06-10 2020-06-16 OneTrust, LLC Consent receipt management systems and related methods
US10318761B2 (en) 2016-06-10 2019-06-11 OneTrust, LLC Data processing systems and methods for auditing data request compliance
US10803200B2 (en) 2016-06-10 2020-10-13 OneTrust, LLC Data processing systems for processing and managing data subject access in a distributed environment
US11188615B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Data processing consent capture systems and related methods
US11138242B2 (en) 2016-06-10 2021-10-05 OneTrust, LLC Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US11675929B2 (en) 2016-06-10 2023-06-13 OneTrust, LLC Data processing consent sharing systems and related methods
US11366909B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10909488B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Data processing systems for assessing readiness for responding to privacy-related incidents
US11438386B2 (en) 2016-06-10 2022-09-06 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11354434B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US11134086B2 (en) 2016-06-10 2021-09-28 OneTrust, LLC Consent conversion optimization systems and related methods
US11295316B2 (en) 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems for identity validation for consumer rights requests and related methods
US11416589B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11228620B2 (en) 2016-06-10 2022-01-18 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10565236B1 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11475136B2 (en) 2016-06-10 2022-10-18 OneTrust, LLC Data processing systems for data transfer risk identification and related methods
US11238390B2 (en) 2016-06-10 2022-02-01 OneTrust, LLC Privacy management systems and methods
US11392720B2 (en) 2016-06-10 2022-07-19 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US11625502B2 (en) 2016-06-10 2023-04-11 OneTrust, LLC Data processing systems for identifying and modifying processes that are subject to data subject access requests
US11151233B2 (en) 2016-06-10 2021-10-19 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10740487B2 (en) 2016-06-10 2020-08-11 OneTrust, LLC Data processing systems and methods for populating and maintaining a centralized database of personal data
US10592692B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Data processing systems for central consent repository and related methods
US10846433B2 (en) 2016-06-10 2020-11-24 OneTrust, LLC Data processing consent management systems and related methods
US10949170B2 (en) 2016-06-10 2021-03-16 OneTrust, LLC Data processing systems for integration of consumer feedback with data subject access requests and related methods
US10944725B2 (en) 2016-06-10 2021-03-09 OneTrust, LLC Data processing systems and methods for using a data model to select a target data asset in a data migration
US10282559B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US10783256B2 (en) 2016-06-10 2020-09-22 OneTrust, LLC Data processing systems for data transfer risk identification and related methods
US11461500B2 (en) 2016-06-10 2022-10-04 OneTrust, LLC Data processing systems for cookie compliance testing with website scanning and related methods
US11038925B2 (en) 2016-06-10 2021-06-15 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11651104B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Consent receipt management systems and related methods
US11418492B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing systems and methods for using a data model to select a target data asset in a data migration
US11481710B2 (en) 2016-06-10 2022-10-25 OneTrust, LLC Privacy management systems and methods
US11520928B2 (en) 2016-06-10 2022-12-06 OneTrust, LLC Data processing systems for generating personal data receipts and related methods
US11074367B2 (en) 2016-06-10 2021-07-27 OneTrust, LLC Data processing systems for identity validation for consumer rights requests and related methods
US10885485B2 (en) 2016-06-10 2021-01-05 OneTrust, LLC Privacy management systems and methods
US11294939B2 (en) 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US11586700B2 (en) 2016-06-10 2023-02-21 OneTrust, LLC Data processing systems and methods for automatically blocking the use of tracking tools
US11222142B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems for validating authorization for personal data collection, storage, and processing
US10997315B2 (en) 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11416109B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Automated data processing systems and methods for automatically processing data subject access requests using a chatbot
US11416590B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10909265B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Application privacy scanning systems and related methods
US10013577B1 (en) 2017-06-16 2018-07-03 OneTrust, LLC Data processing systems for identifying whether cookies contain personally identifying information
US11144675B2 (en) 2018-09-07 2021-10-12 OneTrust, LLC Data processing systems and methods for automatically protecting sensitive data within privacy management systems
US10803202B2 (en) 2018-09-07 2020-10-13 OneTrust, LLC Data processing systems for orphaned data identification and deletion and related methods
US11544409B2 (en) 2018-09-07 2023-01-03 OneTrust, LLC Data processing systems and methods for automatically protecting sensitive data within privacy management systems
WO2022011142A1 (en) 2020-07-08 2022-01-13 OneTrust, LLC Systems and methods for targeted data discovery
WO2022026564A1 (en) 2020-07-28 2022-02-03 OneTrust, LLC Systems and methods for automatically blocking the use of tracking tools
WO2022032072A1 (en) 2020-08-06 2022-02-10 OneTrust, LLC Data processing systems and methods for automatically redacting unstructured data from a data subject access request
WO2022060860A1 (en) 2020-09-15 2022-03-24 OneTrust, LLC Data processing systems and methods for detecting tools for the automatic blocking of consent requests
US11526624B2 (en) 2020-09-21 2022-12-13 OneTrust, LLC Data processing systems and methods for automatically detecting target data transfers and target data processing
EP4241173A1 (en) 2020-11-06 2023-09-13 OneTrust LLC Systems and methods for identifying data processing activities based on data discovery results
US11687528B2 (en) 2021-01-25 2023-06-27 OneTrust, LLC Systems and methods for discovery, classification, and indexing of data in a native computing system
WO2022170047A1 (en) 2021-02-04 2022-08-11 OneTrust, LLC Managing custom attributes for domain objects defined within microservices
US11494515B2 (en) 2021-02-08 2022-11-08 OneTrust, LLC Data processing systems and methods for anonymizing data samples in classification analysis
US20240098109A1 (en) 2021-02-10 2024-03-21 OneTrust, LLC Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system
US11775348B2 (en) 2021-02-17 2023-10-03 OneTrust, LLC Managing custom workflows for domain objects defined within microservices
WO2022178219A1 (en) 2021-02-18 2022-08-25 OneTrust, LLC Selective redaction of media content
US11533315B2 (en) 2021-03-08 2022-12-20 OneTrust, LLC Data transfer discovery and analysis systems and related methods
US11562078B2 (en) 2021-04-16 2023-01-24 OneTrust, LLC Assessing and managing computational risk involved with integrating third party computing functionality within a computing system
US11620142B1 (en) 2022-06-03 2023-04-04 OneTrust, LLC Generating and customizing user interfaces for demonstrating functions of interactive user environments

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10285241A (ja) * 1997-04-01 1998-10-23 Sony Corp 信号処理回路
JP2006189937A (ja) * 2004-12-28 2006-07-20 Toshiba Corp 受信装置、送受信装置、受信方法及び送受信方法
JP2006195871A (ja) * 2005-01-17 2006-07-27 Ricoh Co Ltd 通信装置、電子機器、及び画像形成装置
JP2006285378A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd データ転送装置
WO2007002219A2 (en) * 2005-06-27 2007-01-04 Dot Hill Systems Corporation Certified memory-to-memory data transfer between active-active raid controllers
JP2007109141A (ja) * 2005-10-17 2007-04-26 Hitachi Ltd ストレージシステム
JP2007226711A (ja) * 2006-02-27 2007-09-06 Hitachi Ltd 集積回路装置、集積回路装置の診断方法、および診断回路
JP2008511911A (ja) * 2004-09-03 2008-04-17 インテル コーポレイション アドバンスト・スイッチング(as)アーキテクチャにおけるバーチャルチャネルのフローコントロールクレジットアップデート

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757755B2 (en) * 2001-10-15 2004-06-29 Advanced Micro Devices, Inc. Peripheral interface circuit for handling graphics responses in an I/O node of a computer system
US8249097B2 (en) * 2003-07-14 2012-08-21 Broadcom Corporation Method and system for an integrated host PCI I/O bridge and dual port gigabit Ethernet controller
US7443869B2 (en) * 2003-08-04 2008-10-28 Intel Corporation Deadlock avoidance queuing mechanism
US7555570B2 (en) * 2006-02-17 2009-06-30 Avocent Huntsville Corporation Device and method for configuring a target device
WO2008156257A2 (en) * 2007-06-18 2008-12-24 Samsung Electronics Co., Ltd. Method and apparatus for transporting mobile broadcasting service, and method and apparatus for receiving mobile broadcasting service
US8019910B2 (en) * 2007-07-31 2011-09-13 Hewlett-Packard Development Company, L.P. Transaction flow control in PCI express fabric

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10285241A (ja) * 1997-04-01 1998-10-23 Sony Corp 信号処理回路
JP2008511911A (ja) * 2004-09-03 2008-04-17 インテル コーポレイション アドバンスト・スイッチング(as)アーキテクチャにおけるバーチャルチャネルのフローコントロールクレジットアップデート
JP2006189937A (ja) * 2004-12-28 2006-07-20 Toshiba Corp 受信装置、送受信装置、受信方法及び送受信方法
JP2006195871A (ja) * 2005-01-17 2006-07-27 Ricoh Co Ltd 通信装置、電子機器、及び画像形成装置
JP2006285378A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd データ転送装置
WO2007002219A2 (en) * 2005-06-27 2007-01-04 Dot Hill Systems Corporation Certified memory-to-memory data transfer between active-active raid controllers
JP2007109141A (ja) * 2005-10-17 2007-04-26 Hitachi Ltd ストレージシステム
JP2007226711A (ja) * 2006-02-27 2007-09-06 Hitachi Ltd 集積回路装置、集積回路装置の診断方法、および診断回路

Also Published As

Publication number Publication date
US8010720B2 (en) 2011-08-30
JP4802229B2 (ja) 2011-10-26
US20100049886A1 (en) 2010-02-25

Similar Documents

Publication Publication Date Title
JP4802229B2 (ja) 複数の集積回路を備えたストレージシステム
KR101744465B1 (ko) 데이터를 저장하기 위한 방법 및 장치
US7143227B2 (en) Broadcast bridge apparatus for transferring data to redundant memory subsystems in a storage controller
US7817626B2 (en) Storage subsystem
EP3274861B1 (en) Reliability, availability, and serviceability in multi-node systems with disaggregated memory
JP5546635B2 (ja) データ転送装置およびその制御方法
JP7420484B2 (ja) 第1のクロックドメインと第2のクロックドメインとの間で伝送される主信号のためのエラーチェック
US6996659B2 (en) Generic bridge core
JP2005151562A (ja) 直列アタッチドscsi記憶ネットワークにおける通信のためのシステムおよび方法
CN107113084A (zh) 首标奇偶错误处理
JP2012527036A (ja) PCIExpressでのIDベースストリームを可能にする方法及び装置
US9015380B2 (en) Exchanging message data in a distributed computer system
TW201044174A (en) Simultaneous intermediate proxy direct memory access
US8140724B1 (en) SATA pass through port
KR20190134481A (ko) 집적회로용 상호연결 네트워크
US10938622B2 (en) Interconnection network for integrated circuit with fault detection circuitry provided locally to an upstream location
US10275388B2 (en) Simultaneous inbound multi-packet processing
US7225274B2 (en) Method and apparatus for transferring data across a protocol bridge
JP2014167818A (ja) データ転送装置およびデータ転送方法
US10938904B2 (en) Multi-processor/endpoint data splitting system
US6857033B1 (en) I/O node for a computer system including an integrated graphics engine and an integrated I/O hub
JP2007226494A (ja) データ転送システム
JP5321782B2 (ja) 二重化システム及びメモリコピー方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110113

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

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

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

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4802229

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees