JP2006524401A - 再構成可能なデータ経路を備えたディスクアレイコントローラ - Google Patents

再構成可能なデータ経路を備えたディスクアレイコントローラ Download PDF

Info

Publication number
JP2006524401A
JP2006524401A JP2006513232A JP2006513232A JP2006524401A JP 2006524401 A JP2006524401 A JP 2006524401A JP 2006513232 A JP2006513232 A JP 2006513232A JP 2006513232 A JP2006513232 A JP 2006513232A JP 2006524401 A JP2006524401 A JP 2006524401A
Authority
JP
Japan
Prior art keywords
data
port
logical
physical
ports
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.)
Withdrawn
Application number
JP2006513232A
Other languages
English (en)
Inventor
マイケル、 シー ストロウィッツ、
Original Assignee
ネットセル コーポレイション
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 ネットセル コーポレイション filed Critical ネットセル コーポレイション
Publication of JP2006524401A publication Critical patent/JP2006524401A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bus Control (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】デジタルデータ記憶および検索のためのディスクアレイコントローラ技術を改良する。
【解決手段】開示されるディスクアレイコントローラ装置(10)は、ホスト(12)とのインタフェースとして機能する少なくとも2つの論理ポート(論理ポート#0〜論理ポート#3)と、1つ以上の物理ポート(物理ポート#0〜物理ポート#4)と、スイッチ(26)を備えたコントローラとを有し、前記各物理ポートはそれぞれ少なくとも1つのディスクドライブをコントローラに取り付けるように配置されており、前記スイッチは、マッピングレジスタ(24)の内容に応じて、論理データポートと物理データポートとの間で動的に構成可能なデータ経路(30)を提供する。前記マッピングレジスタは、各論理ポートと前記物理ポートの1つとの関連付けを指定することによって所望のアレイディスクドライブアレイを定義する。マッピングレジスタは、論理マッピングレジスタとして編成することができる。当該論理マッピングレジスタは、コントローラの各論理ポートに対応したフィールドを有するとともに、RAID動作のための冗長アレイを指定する規定を含む。

Description

本発明は、デジタルデータ記憶システムに関し、特に、デジタルデータ記憶および検索のためのディスクアレイコントローラ技術の改良に関する。
関連出願
これは、2003年4月21日に出願された米国仮特許出願第60/464,892号を継続するものであり、かつ前記米国仮特許出願からの優先権を主張するものである。前記仮特許出願は、参考によってここに取り入れられる。
著作権情報
コピーライト2003-2004 Netcell Corporation. 本特許文献の開示の一部には、著作権保護の対象となる資料が含まれる。特許商標局の特許ファイルまたは記録に示されているとおり、著作権者は、特許文献または特許開示のいずれかによる複写に異存はないが、その他の点についてはすべての著作権権利を所有する。37 CFR §1.71(d)
マッピングレジスタ
小型コンピュータシステム用の代表的なRAIDコントローラは、ホストシステムとのインタフェースと、ドライブアレイとのインタフェースとを有する。図1は、ホストバス12とのやり取りを行うホストインタフェース16と、取り付けられた複数のディスクドライブ14とのやり取りを行うドライブインタフェース22とを提供するディスクアレイコントローラ10の簡略ブロック図である。前記ディスクアレイコントローラは、好ましくは制御プロセッサ20と、ホストバスとドライブとの間を移動するデータを一時的に格納するバッファメモリ18とを有する。
物理ポートは、ディスクドライブなどの大容量記憶装置をシステムに取り付けるために必要である。一部のインタフェースは複数の装置への同時データ転送をサポート可能であるが、物理ポートはボトルネックになる傾向がある。この理由から、図2Aに示すように、高性能なRAIDコントローラは、大容量記憶装置ごとに物理ポートを有する場合がある。図2Aには、マッピングレジスタ24の対応する内容も示されている。この内容については、図4を参照してさらに以下で説明する。
RAIDのパフォーマンス上のメリットの1つは、アレイの複数のドライブにわたるデータストライピングによってもたらされる。例えば、4つのドライブから同時にデータを読み取ることによって、単一ドライブの転送速度が4倍改善されたことになる。図2Aに示される例では、4つのドライブから到着した16ビットデータは、論理ドライブの順序でマージされて64ビットデータになり、バッファ(図1の符号18)に送出される。ユーザデータはストライプされた。すなわち、ユーザデータは、あらかじめ決められたシーケンスで、複数ドライブから成るアレイ全体にわたって一度にセグメントに分散された(例えば、16ビットワード)。論理ドライブ#0から開始して論理ドライブ#n-1に至るまでのシーケンスが特定される。ここで、nはアレイ内のドライブの数である。このストライプシーケンスは、ユーザデータのk番目のセグメントが論理ドライブと一致するように繰り返される(k mod n)。このようにして、論理ドライブの番号付けを使用してストライピング順序を反映する。従って、図では、4つの「論理ポート」のスタックは、単にストライプの4つのセグメントの順序集合を示す。各「論理ポート」はストライプの単一セグメントに相当し、スタック全体は4つのセグメントの順序集合に相当する。
各ドライブからの100MBPSの転送速度は、バッファへの400MBPSの転送速度になる。破線の四角形26は、詳細に後述されるデータ経路スイッチを概念的に表したものである。データ経路スイッチ26は、論理データポートと物理データポートとの間で動的に構成可能なデータ経路を提供する。
図2Aは、論理データポートと物理データポートとの間の直接接続を示す概念図である。実際の応用では、利用可能な物理データポートの数は論理データポートの数よりも大きい。「ホットスペア」として確保されるポートがあってもよく、または前記物理ポートは独立してアクセスされる種々のサブアレイにグループ化してもよい。図2Bに、4つの論理データポート(論理ポート#0から論理ポート#3)を、利用可能な5つの物理データポート(物理ポート#0から物理ポート#4)に割り当てる場合の可能な組み合わせの一例を示す。例えば、大きな矢印30は、単純に論理ポート#1の物理ポート#2に対する割り当てを示す。図2Bには、マッピングレジスタ24の対応する内容も示されている。ここで、矢印30によって示されるように、レジスタ内の右から2番目のフィールドは、論理ポート#1に対応し、物理ポート#2を示す値「2」を含む。下記に詳しく説明されるように、データ経路スイッチ26は、論理ポートから物理ポートへの割り当てを実現する。
図2Cは、2ドライブアレイの例を示す図である。ここで、各ドライブは、それぞれ5つの利用可能な物理ポートの1つ(すなわち、物理ポート#1および物理ポート#2)に割り当てられている。バッファ用に64ビットワードにするには、16ビットの各ドライブを2回読み取らなければならない。第1の読み取りでは、論理ポート#0、#1のデータはそれぞれ物理ポート#2、#1から得られる。第2の読み取りでは、論理ポート#2、#3はそれぞれ物理ポート#2、#1からデータを得る。上記の動作は、プロセッサ20によって取りまとめられる。また、マッピングレジスタは、物理ポート#1、#2に対する割り当てを示す。
図2Dは、物理ポート#3に接続された単一ドライブを有するアレイの例を示す図である。この構成の場合、論理ポート#0〜#3のデータは、同じ物理ポートを4回読み取ることによって得られる。
米国特許第6,018,778号に記述される同期冗長データ転送の特徴の1つは、米国特許第6,237,052号に記述されるように冗長データを「その場で」処理できることである。図3Aは、図2Aに示す4ドライブアレイにロジック36を追加して冗長データパターンを計算する構成にした図である。この冗長データパターンは、物理ポート#4に取り付けられたドライブに格納される。種々の算術演算および論理演算を使用して冗長パターンを生成するが、論理データポートから得られるデータの対応するビット間の論理的XORは、XOR演算は繰り上がりを伝達する必要はないという点で算術演算よりも有利である。XORを使用するため、第5のドライブは、しばしば「冗長」ドライブまたは「パリティ」ドライブと呼ばれる。
図示される16ビット長バスXORは、それぞれ4つの入力を有する16個のXORゲートに相当する。図3Bから分かるように、XOR関数の使用も、ディスク読み取り動作とディスク書き込み動作との間で非常に対称形である。FIG. 図3Bは、図3Bで定義されているのと同じ4ドライブアレイを示し、ディスク読み取り方向についてデータ経路40、42などが示されている。この場合、物理ポート#2に取り付けられたドライブは故障している。従って、それに対応するデータ経路44は機能せず、破線で示されている。XOR関数は、残りのデータドライブ(物理ポート#0、#1、#3)から得られるデータおよび冗長ドライブ(物理ポート#4)から得られるデータを合わせて計算される。この計算によって、故障したドライブに格納されているデータが復元される。また、その結果は、故障したドライブの現在利用できないデータの代わりに、データ経路46を経由して論理ポート#2に向けられる。
前節は、RAIDコントローラ内の一組の論理ポートと一組の物理デバイスポートとの間に存在する種々の関係のいくつかの例を論証したものである。一般に、高性能なRAIDコントローラは、その物理ポートに接続されている大容量記憶装置の種々のサブグループから成る複数のアレイに対処せざるを得ない。さらに以下で説明されるように、本発明の一形態においては、新規性のあるマッピングレジスタおよび関連するロジックを採用することによって、記憶装置アレイのソフトウェア構成を設定可能にして、パフォーマンスを改善している。
本発明の一実施例によると、マッピングレジスタ24(図4にその構造が示される)が、論理データポートと物理データポートとの間のデータ経路の構成を制御する。(マッピングレジスタによって、以下に論じられる他の特徴および利点も提供される。) 本実施例においては、マッピングレジスタは、それぞれ5つの論理データポート(本例では、L0〜L4)の各々に対応する5つのフィールドから成る。レジスタ内の各論理データポートの対応するフィールドには、接続先の物理データポートの番号が読み込まれる。論理データポート0に対するフィールド内のデータは、記号を用いてPP_L0として表される。PP_L0は、論理ポート0に対応した物理ポートであることを示している。次の4フィールド内の値は、それぞれPP_L1、 PP_L2、PP_L3、PP_L4として特定される。第5の論理データポートは、疑似ポートである。PP_L4の値は、パリティドライブに対して物理データポートを割り当てるのに使用される。
マッピングレジスタのフィールドのサイズは、ほぼいずれのサイズでも可能である。例えば、8ビットフィールドであれば、256個までの物理ポートのアレイをサポートするであろう。図示の実施例においては、5つの物理ポートのみであれば、3ビットフィールドで十分である。前記5フィールドは、1ビットをスペアにした状態で16ビットレジスタに上手く収めることができる。この1ビットは、図では「予約済」を表す「r」によって示される。マッピングレジスタ情報の格納には、いずれの種類の不揮発性メモリでも使用することができる。
マッピングレジスタの使用を論証するために、これまで説明した各構成について再度簡単に取り上げる。図2Aでは、マッピングレジスタ24が示されている点に注目する。PP_L0の値は0であり、論理データポート#0が物理ポート#0に接続されていることを示している。次の3つの値は1、2、3であり、これらは、次の3つの論理データポートが次の3つの物理データポートに接続されていることを示している。PP_L4の値は7である。この値は、この例では正当な物理ポート番号ではない。値「7」は、この構成にはパリティドライブがないことを示すのに使用される。ここで、選ばれる具体的な値は、実際の物理ポート番号ではない限り重要ではない。
再び図2Bを参照すると、マッピングレジスタに格納されている値が示すのは、物理データポート1、2、4、0がそれぞれ論理ポート0〜3をサポートすることである。もう一度繰り返すと、値「7」はパリティドライブが使用されないことを示す。
図2Cは、2ドライブアレイ用に構成されたマッピングレジスタを示す。ここで、論理データポート#2、#3は、論理ポート#0、#1と同じ物理ポートに対応していることに留意する必要がある。第1の2つの論理ポートは第1の物理ポートのサイクルでデータを転送するのに対して、第2の2つの論理ポートは第2の物理ポートのサイクルでデータを転送する。
図2Dは、単一ドライブ用に構成されたマッピングレジスタを示す。論理ポート#0〜#3は、物理ポート#3に連続したサイクルでデータを転送する。図2における変形例はすべて、冗長データロジックとは関係なく示されたデータ経路が違っている。
図3Aは、図2Aと同じデータドライブ構成に対する、ディスク書き込み方向におけるXORロジックを示す。XORは、4つのすべての論理データポートから得られるデータに基づいて計算される。結果は、マッピングレジスタの論理ポート#4フィールドによって指定される物理ポートに取り付けられたドライブに格納される。この例では、PP_L4は「7」の代わりに「4」の値を有している。これは、パリティドライブが存在しているとともに、そのパリティドライブがポート#4に取り付けられていることを示している。
図3Bは、物理ポート#2に取り付けられたドライブが故障しているという以外は、図2Aおよび図3Aと同じデータ経路でのディスク読み取り方向におけるXORロジックを示す。論理データポート#2のフィールド(PP_L2)の内容は、「5」と置き換えられている。正当な物理ポート番号は4から0までである。「5」は、ドライブが故障していることを示すのに使用される予約値である。疑似物理ポート番号5にアクセスするいずれの論理データポートも、XORの出力からそのデータを取り出す。
データ経路スイッチ
前述の解説においては、マッピングレジスタのフィールドに読み込まれる4つの値は、冗長ドライブの有無にかかわらず(冗長ドライブを有するアレイに関しては、故障ドライブの有無にかかわらず)、4つの論理データポートと、5つの物理ポートに取り付けられた1つ、2つまたは4つのドライブアレイとの間において可能なすべての構成を表すのに使用されることを論証した。以下、マッピングレジスタの内容を使用してハードウェアブロックおよびデータ経路を構成する方法について説明する。以下の説明は、言い換えれば、データ経路スイッチ26の現在の好ましい実装例の詳細、およびマッピングレジスタの内容による構成方法について紹介するものである。
ここで、図5Aを参照すると、4つの論理データポートの各々は、5つの物理データポートのいずれからでも、または、故障ドライブの場合は、ディスク読み取りXORからデータを受け取ることができなければならない。6つの可能なデータソースがあれば、各物理データポートは、16ビット幅の、6対1マルチプレクサ50を有する。ここでは論理ポート1に対応するマルチプレクサ50を図5Aに示すが、その他の論理ポート(論理ポート#0、#2、#3)についても全く同じである。マルチプレクサのセレクタすなわち「S」入力は、マッピングレジスタの論理ポート#1フィールドに接続されている(PP_L1)。0〜4のPP_L1値は、それぞれ物理ポート#0〜#4のデータを選択する。それに対して、値「5」はディスク読み取りXORの出力を選択する。
図5Bは、ディスク読み取りXORロジック52を示す。ディスク読み取りXOR 52は、好適な実施例においては16ビット幅の5入力XOR回路である(取り付けられたディスクドライブのデータ経路に対応する)。(これは、それぞれ5入力を有する16個のXORに相当する。) 5入力の各々は、やはり16ビット幅の対応するANDゲート(例えば、ANDゲート54)によって論理的にクオリファイされる、すなわち「ゲート制御」される。(これは、それぞれ2入力を有する16個のNANDゲートに相当する。) 5つのNANDゲートは、対応する5つの物理ポート選択信号(PP0_SELからPP4_SEL)によってクオリファイされる。これらの信号の生成について以下に説明する。
各物理ポートへのデータ経路は、4つの論理データポートのいずれかから、またはディスク書き込みXORから来るものである。図2A〜図2Dを参照して、いくつかの例を示す。各論理データポートのデータソースはマッピングレジスタのフィールドによって特定されるが、各物理ポートに対して対応するデータを提供するフィールドはない。この情報は、すでにあるフィールドから得ることができる。マッピングレジスタの3ビットバイナリ符号化フィールドの各々は、「8の1」デコーダによって復号化される。図6は、論理ポート#1フィールドに対するそのようなデコーダ66を示す図である。値PP_L1は、L1_P0、L1_P1、L1_P2、…、L1_P7に復号化される。ここで、これらの名前は、転送元から転送先までの経路を示す。L1_P2は、例えば、論理ポート#1から物理ポート#2までの経路を示す。
ここで、図7Aを参照すると、サンプル回路は、論理データポートから物理データポート(#0〜#4)へのデータ経路70のマルチプレクシングに関して示されている。図7Aでは物理ポート#2に対応するマルチプレクサ72を示しているが、その他の4つのポート(図示されていない)に対するマルチプレクサも全く同じである。各マルチプレクサ72は、すべて16ビット幅の5つのANDゲート74と、対応するORゲート76とを有するAND/ORアレイから成る。(前記各ANDゲートはそれぞれ2入力を有する16個のANDゲートに相当し、前記ORゲートはそれぞれ5入力を有する16個のORゲートに相当する。) 物理ポート#2マルチプレクサに関しては、論理データポートからのANDゲートは、5つのデコーダ(すなわち、図では、L0_P2、L1_P2、L2_P2、L3_P2、L4_P2)の対応する出力によってクオリファイされる。
現時点では、解決すべき2つの問題がある。2ドライブアレイにおいては、所定の物理ポートは、2つの異なる論理ポートから異なるサイクルでデータを受け取る。再び図6を参照すると、各デコーダ66は、その出力のすべてをクオリファイするイネーブル入力「EN」を有する。2ドライブ構成の場合、論理データポート#0、#1に対応したデコーダのみが第1のサイクルでイネーブルになり、論理データポート#2、#3に対応したデコーダのみが第2のサイクルでイネーブルになる。この理由から、図7Aに示されるANDゲートの1つのみが一回にクオリファイされる。言い換えれば、(マッピングレジスタに従って)割り当てられた論理ポートからのデータのみが、対応する物理ポートへ入力される。
単一の物理ポートが4つのすべての論理ポートからのデータを受信する単一ドライブアレイにおいては(図2Dを参照)、一回に1つのデコーダ66のみがイネーブルにされる。その結果、固有のデータソース(論理ポート)の選択毎に1つのANDゲート74のみがイネーブルになる。他の未解決の問題は、図5Bに示される「PPn_SEL」信号の転送元であった。図6は、5入力ORゲート68の使用を示す図である。この5入力ORゲート68は、対象の物理ポートといずれかの論理ポートとの間にデータ経路が存在する場合、物理ポート「n」に対するPPn_SEL信号をアサートする。このことは、物理ポートはアクティブであり、図5Bに示されるディスク読み取りXORに関与することを示す。
グローバル読み取りおよび書き込み
ATA/ATAPI仕様に従ってドライブに命令を送出するには、プログラムI/OモードすなわちPIOモードを使用する必要がある。このモードでは、PIOモード0のみをサポートする装置に対してはアクセスあたり600nSの低速であり、モード4をサポートする装置に対してはアクセスあたり120nSに過ぎない。単一の命令には、8回以上のアクセスが必要である。すべてのドライブがシーケンシャルに命令を受けなければならない場合、この回数はドライブの数だけ増加し、全体のプロセスにかなりの待ち時間を付加する。これらの命令は、ポートごとに独立したコントローラによって同時に発行することができるが、かなり複雑になってしまい費用がかさむことになる。
複数ドライブのアレイにわたってデータがストライプされるとき、所定のストライプの部分は各ドライブ上の同じ相対位置にある。これによって、データのアドレス、つまり、論理バッファアドレスまたはLBAは、各ドライブで同じになる。その結果、所定のストライプを読み取る命令は、アレイのすべてのドライブについて全く同じである。さらに、所定のストライプを書き込む命令も同様に同一である。これによってローカルプロセッサ(例えば、図1の符号20)は、単一ドライブに命令を送信する場合に必要な時間内で共通の命令を「送信」することができる。
前述のように、ドライブアレイは、取り付けられたドライブの部分集合から成る。(本発明の利点の1つは、適当な構成バイトをマッピングレジスタに単純に格納することによって、取り付けられたドライブの定義済みアレイへの編成を容易に構成および再構成できることである。) 取り付けられたドライブの部分集合からアレイが成る場合、命令(読み取り、書き込みなど)は、選択された部分集合に「送信」される。これらのドライブは一度に一つの命令を受信しなければならない。または、何らかの手段を設け、現在のアレイに関与していない物理データポートを「マスク」しなければならない。図8は、この問題に対処する一実装例を示す図である。
図8を参照すると、5つの物理ポートの最初の2つ(P0、P1)についてアドレス信号、ストローブ信号およびチップ選択信号CS0、CS1、DA0、DA1、DA2、DIOW、DIORが示されている。ここで、これらのアドレス信号およびストローブ信号は、5つのポートすべてに共通であることに留意する必要がある。所定のドライブの故障によってこれらの信号の他のドライブへの伝達が妨げられないように、これらの信号は個別にバッファに入れられる。ここで、バッファ80、82を参照する。所定のポートの2つのチップ選択信号CS0#、CS1#の出力ドライバは、そのポートに対するPn_SEL信号によってクオリファイされる(ゲート84、86を参照)。マッピングレジスタの現在の内容によって選択されていないいずれのポートも、アサートされたそのチップ選択のどちらも有せず、従って、該ポートは読み取りストローブおよび書き込みストローブを無視する。
「グローバル読み取り」は何の意味もなさないと思われるかもしれない。なぜならば、潜在的に矛盾するデータ値は、共通バス上に返されることを意味しているためである。現在説明している実施例においては、「グローバル読み取り」によって読み取りストローブ(図8のPn_DIOR#)が、すべての物理データポートに「送信」される。それらの取り付けられた記憶装置は、チップ選択(PnCS0#、PnCS1#)によってクオリファイされており、データを物理ポートに返す。当該物理ポートでは、Pn_DIOR#ストローブの立下がり縁でデータがラッチされる。この読み取りサイクルの結果としてデータ値をローカルプロセッサに返す試みはなされていない。
ローカルプロセッサは、その後、Pn_DIOR#ストローブサイクルの繰り返しを引き起こさない別のアドレスを使用して、ラッチされたデータのいずれも変更せずに各ポートを一度に一つ読み取る。これらのサイクルによって、ローカルプロセッサは、各データラッチに格納されている潜在的に固有の値を取り出すことができる。600nsまで要求されるPn_DIOR#サイクルは、一回実行されるだけである。各ポートにラッチされた値は、それぞれ15nsで取り出される。従って、Pn_DIOR#サイクルを5回繰り返すことに比べて有意な時間の節約になる。
「グローバル読み取り」装置および「グローバル書き込み」装置によって、ローカルプロセッサは、可能な最小限の時間で、現在選択されているアレイに命令を送信したり、当該アレイから制御ステータスを受信したりすることができる。新しい値をマッピングレジスタに読み込むことによって異なるサブアレイを選択するとき、制御インタフェースは、他のコードを変更せずに自動的に更新する。
ステータスオーダリング
前述の解説は、多数の物理ポート出力の生成について取り上げたものであり、マッピングレジスタによってそれらの物理ポート出力の方向を制御する方法について示した。これらのポートの各々は、同様にいくつかの入力信号を有する。もう一度繰り返すと、これらの信号を論理ドライブと関連付けることによって、ソフトウェアオーバーヘッドを最小限に抑えることができる。例えば、各ドライブは、コントローラからのサービス要求を信号で伝えるのに使用する割り込み出力を有する。図9は、マッピングレジスタからのPP_L0値によって制御されるマルチプレクサ90を使用して、論理データポート0に対応する物理ポートの割り込みを選択する場合の構成を示す図である。その他の論理データポートは、それぞれ同一のマルチプレクサを有する(図示されていない)。このマルチプレクサは、対応するPP_Ln値を使用してその割り込みの位置を特定する。図9では、バッファ92は、各論理データポートのマルチプレクサ(符号90など)から、選択された割り込みを取り出す。ローカルプロセッサ(図1の符号20)がこのバッファを通して割り込みステータスを読み取るとき、割り込みは、ビット0位置にある論理データポート0から開始する論理データポート順序に現れる。同じ技術を使用して、ドライブケーブルID信号、内部FIFOステータス信号などを含む、物理データポートからの内部信号と外部信号の両方をソートすることができる。この特徴によって、ローカルファームウェアは、異なる数の物理ポートを有する複数アレイに対して共通のコードシーケンスを使用することが可能になる。割り込みバッファ92に一度読み込めば、要求されるステータスビットは、常に、選択された任意のアレイに対する「ソート済み」レジスタの最下位ビットである。ビット数は、実際のポート数まで下げてマスクしてもよい。
割り込みANYおよび割り込みALL
図9に示すように、論理データポートからの選択された割り込みは、論理的にAND処理(論理積演算)94およびOR処理(論理和演算)96され、「割り込みALL」信号および「割り込みANY」信号が提供される。ローカルプロセッサが命令を発行したときで、かつ任意のデータが転送される前に、ローカルプロセッサは複数ドライブのいずれか(ANY)からの割り込みについて知っておく必要がある。なぜならば、1つ以上のドライブが命令を拒絶した場合や、または何らかのエラーが発生した場合があるためである。複数ドライブが一度データの転送を開始したら、ローカルプロセッサは、すべての(ALL)ドライブがいつそれらの割り込み信号をアサートしたかについて知っておく必要がある。なぜならば、これが命令の完了を示すからである。ここで留意すべきは、この種の実装例では、ドライブの数に依存せずにソフトウェアを作成できることである。(2ドライブアレイでは、各装置からの割り込み信号は2回現れる。一方、単一ドライブアレイでは、同じドライブは4回現れる。AND信号およびALL信号は、引き続き正しく機能する。)
論理アドレスマッピング
実行時ソフトウェアの大部分は上述のグローバルコマンドおよびステータスを利用する一方で、初期化および特定の装置内でのエラー処理を行うために、それでもなお個別の装置にアクセスする必要がある。この目的のために、各物理データポートは、ローカルプロセッサのアドレス空間の範囲内における固有のロケーションに現れる。これらのロケーションのいずれかに対するアクセスを復号化する場合、マッピングレジスタの内容にしたがって再マッピングされるならば、復号化されたアクセスが出力される。初期化中に、マッピングレジスタには「アイデンティティ」パターンが読み込まれる。すなわち、例えば、論理装置0は物理ポート0を指し、論理装置1は物理ポート1を指す。その結果、プロセッサのアドレス空間内における第1の物理ポートのロケーションから開始して、物理ポートが順に現れる。通常の動作では、マッピングレジスタには、物理的ドライブマップへロジックが読み込まれる。その後、論理ポート2から割り込みを受信した場合、ローカルプロセッサは、アイデンティティマップが読み込まれたときに物理ポート2にアクセスした固有のアドレス空間を通じて割り込みドライブにアクセスする。これによって、論理ドライブのサービスを、これらの論理ドライブが取り付けられていた物理データポートに依存しないようにすることができる。
図10は、論理アドレス指定機能の1つのハードウェア実装例を示す図である。プロセッサが、デバイスポート空間のためのアドレス領域にアクセスすると、8つのデコーダ100の1つが、プロセッサのアドレス線5〜7を復号化する。これらのアドレス線は、各装置に対して32バイトの空間を定義する。各空間の復号化によって、対応するポートNデコード信号(Pn_DEC)がアサートされる。仮想ポート番号7の復号化は、グローバルアクセス用の信号である。P7_DEC信号は、他のデコード信号102の各々とOR処理される。したがって、結果として出力されるポート選択信号Pn_SEL(n0〜4)が、そのポートの特定のアクセスとグローバルアクセスの両方に対してアサートされるようになる。
その後、各ポート選択信号は、マッピングレジスタからのPP_Ln値によって方向を制御される。8の1デコーダ104は、P2_SEL信号を取り込み、マッピングレジスタからのPP_L2値に従って当該P2_SEL信号の経路を定め、論理ポート2から物理ポート0へのチップ選択を示すL2_P0_CS形式の一組の信号を生成する。他の4つの論理ポートに対応する8の1デコーダも同一である(図示されていない)。
各物理ポートは、5入力ORゲート(例えば、符号106)を有する。物理ポート#2に使用されるORゲート106が図示されている。ORゲート106は、物理ポート#2に対するチップ選択のために5つの異なる転送元のOR処理を行う。ここで留意すべきは、シングルドライブサブアレイについては、チップ選択は4つのすべての論理装置によってアサートされるのに対して、デュアルドライブサブアレイについては、チップ選択は2つの論理装置によってアサートされることである。
上記の記述および図面においては、一種のマッピングレジスタのいくつかの例について説明したが、これは論理マッピングレジスタと呼ぶことができる。説明したように、論理マッピングレジスタによって、定義済みアレイ内の論理ドライブごとにフィールドが提供される。そのフィールド内で値は対応する物理ポート番号を示す。物理マッピングと呼ばれる別の実施例においては、レジスタによって、物理ポートまたは取り付けられたドライブごとにフィールドが提供される。各フィールド内で値は対応する論理ポート番号を示す。下記の例では、この別のマッピングレジスタについて説明する。
ここで、4つのドライブにわたってストライプされたデータに対してアレイを定義すると仮定する。ストライプ幅のブロックは、利用可能な各ドライブに特定のシーケンスで格納される。この後、このプロセスは繰り返される。例えば、(第5、第9のブロックなどと同様に)第1のデータブロックは、物理ポート#1に接続されたドライブに格納される。(第6、第10のブロックなどと同様に)第2のブロックは、物理ポート#2に接続されたドライブに格納される。(第7、第11のブロックなどと同様に)第3のデータブロックは、物理ポート#4に接続されたドライブに格納される。第1のデータブロックは論理ドライブ0に、第2のデータブロックは論理ドライブ1に、第3のデータブロックは論理ドライブ2に、第4のデータブロックは論理ドライブ3にそれぞれ格納される。この場合の2種類のマッピングレジスタを以下に示す。
論理マッピング
Figure 2006524401
物理マッピング
Figure 2006524401
本発明の基本的な原理から逸脱することなく、上記の実施例の細部に多くの変更を加えてもよいことは当業者にとって明らかであろう。したがって、本発明の範囲は、以下の特許請求の範囲のみによって決定されるべきである。
ホストバスとのやり取りを行うホストインタフェースと、取り付けられた複数のディスクドライブとのやり取りを行うドライブインタフェースとを提供するディスクアレイコントローラの簡略ブロック図である。 論理データポートと物理データポートとの間の直接接続を示す概念図であり、同図には、対応するマッピングレジスタの内容も示されている。 利用可能な5つの物理データポートに4つの論理ポートを割り当てる場合の一例を示す概念図であり、同図には、対応するマッピングレジスタの内容も示されている。 各ドライブがそれぞれ5つの利用可能な物理データポートの1つに割り当てられた2ドライブアレイを示す概念図であり、同図には、対応するマッピングレジスタの内容も示されている。 論理ポート0〜3が物理ポート#3に連続したサイクルでデータを転送する単一ドライブシステムを示す概念図であり、同図には、対応するマッピングレジスタの内容も示されている。 図2Aのドライブ構成におけるディスク書き込み方向のXOR(排他的論理和)ロジックを示す図であり、同図には、対応するマッピングレジスタの内容も示されている。 物理ポート2に取り付けられたドライブが故障しているという以外は、図2Aおよび図3Aと同じデータ経路に対するディスク読み取り方向のXORロジックを示す図であり、同図にもやはりマッピングレジスタの内容が示されている。 マッピングレジスタ構造の一例を示す図であり、当該マッピングレジスタは、アレイコントローラの一実施例における、論理データポートと物理データポート間のデータ経路の構成を制御する。 論理ポート#1の読み取りデータ経路におけるマルチプレクサ回路の概念図である。 アレイコントローラの一実施例におけるディスク読み取りXORロジックを示す図である。 アレイコントローラの一実施例における、マッピングレジスタの論理ポート#1(PP_L1)フィールドに対するデコーダロジックを示す図である。 アレイコントローラの一実施例における、論理ポートから物理ポートへのデータ経路ロジックを示す図である(物理ポート#2についてのみ図示)。 アレイコントローラの一実施例におけるディスク書き込みXORロジックを示す図である。 現在選択されているアレイに対するグローバルアクセスコマンドを可能にする、ディスクアドレス、ストローブおよびチップセレクトロジックを示す図である。 論理ドライブに関連付けるための割り込み信号ロジックを示す図である。 論理アドレス指定のハードウェア実装例を示す図である。
符号の説明
10 ホストバス
14 ドライブ
16 ホストインタフェース
18 バッファ
20 制御プロセッサ
22 ドライブインタフェース
24 マッピングレジスタ
26 スイッチ
30 データ経路

Claims (15)

  1. ホストシステムに接続するためのホストインタフェースと、
    読み取りデータおよび書き込みデータを格納するためのバッファと、
    ディスクドライブを取り付けるための複数の物理ポートを含むディスクインタフェースであって前記物理ポートと前記バッファとの間で選択可能なデータ経路を切り替えるスイッチを含む前記ディスクインタフェースと、
    マッピングデータを格納するためのマッピングレジスタとを含み、
    前記スイッチは、前記マッピングレジスタに格納された前記マッピングデータに応じて構成可能であり、これによって前記マッピングデータによって定義された複数の物理ポートから成るアレイにアクセスできることを特徴とするディスクアレイコントローラ。
  2. 前記マッピングデータは前記複数の物理ポート間のストライピング順序を反映しており、前記スイッチは前記複数の物理ポートからのデータセグメントを論理ポート順にソートすることを特徴とする、請求項1に記載のディスクアレイコントローラ。
  3. 前記マッピングデータによって、指定された物理ポートのシーケンスに基づくストライピング順序が定義されることを特徴とする、請求項2に記載のディスクアレイコントローラ。
  4. 前記ディスクインタフェースは一連の論理ポートを有し、各論理ポートは前記ディスクインタフェースと前記バッファとの間で対応するデータセグメントを転送し、
    前記マッピングデータは、各論理ポートと前記物理ポートの1つとの関連付けを指定することによって所望のディスクアレイおよびストライピング方式を定義する複数のフィールドを有することを特徴とする、請求項4に記載のディスクアレイコントローラ。
  5. 前記マッピングデータは、前記コントローラ内のメモリに格納されることを特徴とする、請求項3に記載のディスクアレイコントローラ。
  6. 前記マッピングデータは論理マッピングレジスタとして編成されており、該論理マッピングレジスタは論理ポートごとにフィールドを有し、該フィールドに格納される値は対応する物理ポートを示すことを特徴とする、請求項4に記載のディスクアレイコントローラ。
  7. 前記マッピングデータは物理マッピングレジスタとして編成されており、該物理マッピングレジスタは前記コントローラの物理ポートごとにフィールドを有し、該フィールドに格納される値は対応する論理ポートを示すことを特徴とする、請求項4に記載のディスクアレイコントローラ。
  8. 前記所望のディスクアレイは、前記論理ポートと前記利用可能な物理ポートの部分集合との関連付けによって定義されることを特徴とする、請求項4に記載のディスクアレイコントローラ。
  9. 前記マッピングレジスタは、冗長データを格納するために前記アレイ内で冗長ドライブを使用するかどうか示すフィールドを含むことを特徴とする、請求項4に記載のディスクアレイコントローラ。
  10. 前記マッピングデータは、前記ディスクインタフェースと前記バッファとの間のデータ転送に使用される論理ポートの数の半分に等しいいくつかの物理ポートを含むディスクアレイを定義し、
    前記スイッチは、動的に再構成可能であり、前記論理ポートの前半部分と第1のディスクアクセスのための割り当て済み物理ポートとの間における第1のデータ経路を提供し、次いで前記論理ポートの後半部分と第2のディスクアクセスのための割り当て済み物理ポートとの間における第2のデータ経路を提供することによってバッファ転送を完了することを特徴とする、請求項4に記載のディスクアレイコントローラ。
  11. 前記マッピングデータは、4つの論理ポートと、2つの物理ポートから成るディスクアレイとの関連付けを定義することを特徴とする、請求項10に記載のディスクアレイコントローラ。
  12. 前記マッピングデータは、前記ディスクインタフェースと前記バッファとの間におけるデータ転送に使用される論理ポートの数より少ないいくつかの物理ポートを含むディスクアレイを定義し、
    前記スイッチは、動的に再構成可能であり、前記論理ポートの第1の部分集合と前記割り当て済み物理ポートとの間における第1のデータ経路を提供し、次いで前記論理ポートの第2の部分集合と前記割り当て済み物理ポートとの間における第2のデータ経路を提供することを特徴とする、請求項4に記載のディスクアレイコントローラ。
  13. 前記スイッチは、ディスク書き込みデータセグメントを前記バッファから前記複数の物理ポートに指し向け、前記マッピングデータで指定された定義済みアレイ全体にわたって前記データがストライプされるようにすることを特徴とする、請求項4に記載のディスクアレイコントローラ。
  14. 複数のディスクドライブから成るアレイに命令を送信する方法であって、
    複数の物理ポートを特定することによってディスクアレイを定義するマッピングレジスタ内に索引を格納するステップと、
    前記特定された物理ポートの各々のデータバス上に前記命令のバイトをアサートするステップと、
    前記特定された物理ポートのすべてにグローバル書き込みストローブをアサートするステップと、
    マッピングレジスタの内容に応じ、前記定義済みアレイに含まれる前記物理ポートのみを選択して、前記命令のアサートされたバイトを受け入れることによって、前記選択されたポートのみが前記グローバル書き込みストローブに応答するようにしたステップとを含むことを特徴とする送信方法。
  15. ディスクアレイから制御ステータスをグローバルに読み取る方法であって、
    複数の物理ポートを特定することによってディスクアレイを定義するマッピングレジスタ内に索引を格納するステップと、
    単一グローバル読み取りストローブを、前記特定された物理ポートのすべてに送信するステップと、
    マッピングレジスタの内容に応じ、前記定義済みアレイに含まれる前記物理ポートのみを選択して、前記要求された制御ステータスを返すことによって、前記選択されたポートのみが前記グローバル読み取りストローブに応答するようにしたステップと、
    前記物理ポートにおいて前記返された制御ステータスをラッチするステップと、
    その後、前記複数の物理ポートの各々に別々にアクセスして、それぞれの制御ステータスを得るステップとを含むことを特徴とする読み取り方法。
JP2006513232A 2003-04-21 2004-04-21 再構成可能なデータ経路を備えたディスクアレイコントローラ Withdrawn JP2006524401A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US46489203P 2003-04-21 2003-04-21
PCT/US2004/012476 WO2004095255A2 (en) 2003-04-21 2004-04-21 Disk array controller with reconfigurable data path

Publications (1)

Publication Number Publication Date
JP2006524401A true JP2006524401A (ja) 2006-10-26

Family

ID=33310975

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006513232A Withdrawn JP2006524401A (ja) 2003-04-21 2004-04-21 再構成可能なデータ経路を備えたディスクアレイコントローラ

Country Status (7)

Country Link
US (1) US8281067B2 (ja)
EP (1) EP1625489A2 (ja)
JP (1) JP2006524401A (ja)
KR (1) KR20060025135A (ja)
CN (1) CN100371874C (ja)
CA (1) CA2522915A1 (ja)
WO (1) WO2004095255A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012018548A (ja) * 2010-07-08 2012-01-26 Kyocera Mita Corp ストレージ管理装置
JP2012174177A (ja) * 2011-02-24 2012-09-10 Yamaha Corp 端末装置及び通信システム
JP2015111452A (ja) * 2015-02-10 2015-06-18 ヤマハ株式会社 端末装置及び通信システム

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111101B1 (en) * 2003-05-07 2006-09-19 Ayago Technologies General Ip (Singapore) Ptd. Ltd. Method and system for port numbering in an interconnect device
US7694038B2 (en) * 2004-11-17 2010-04-06 International Business Machines Corporation Maintaining and using nexus information on a host, port and device connection
CN101305334B (zh) * 2004-12-29 2012-01-11 辉达公司 降低的本地总线通信量的磁盘驱动器操作的智能存储引擎
US20060194386A1 (en) * 2005-02-25 2006-08-31 Dell Products L.P. Method and apparatus for supporting port aggregation of serial attached SCSI wide ports via virtual ports
WO2007095255A2 (en) 2006-02-10 2007-08-23 Dupont Tate & Lyle Bio Products Company, Llc Biodegradable compositions comprising renewably-based, biodegradable 1.3-propanediol
US8892706B1 (en) 2010-06-21 2014-11-18 Vmware, Inc. Private ethernet overlay networks over a shared ethernet in a virtual environment
US8924524B2 (en) 2009-07-27 2014-12-30 Vmware, Inc. Automated network configuration of virtual machines in a virtual lab data environment
US8619771B2 (en) 2009-09-30 2013-12-31 Vmware, Inc. Private allocated networks over shared communications infrastructure
US7472211B2 (en) 2006-07-28 2008-12-30 International Business Machines Corporation Blade server switch module using out-of-band signaling to detect the physical location of an active drive enclosure device
US7584378B2 (en) * 2006-09-07 2009-09-01 International Business Machines Corporation Reconfigurable FC-AL storage loops in a data storage system
US8195774B2 (en) 2008-05-23 2012-06-05 Vmware, Inc. Distributed virtual switch for virtualized computer systems
US10103939B2 (en) 2010-07-06 2018-10-16 Nicira, Inc. Network control apparatus and method for populating logical datapath sets
US8717895B2 (en) 2010-07-06 2014-05-06 Nicira, Inc. Network virtualization apparatus and method with a table mapping engine
US9525647B2 (en) 2010-07-06 2016-12-20 Nicira, Inc. Network control apparatus and method for creating and modifying logical switching elements
JP5815717B2 (ja) * 2010-10-15 2015-11-17 コーヒレント・ロジックス・インコーポレーテッド マルチプロセッサシステムにおける通信の無効化
US8626994B2 (en) * 2011-11-30 2014-01-07 Apple Inc. Systems and methods for improved communications in a nonvolatile memory system
US9571386B2 (en) 2013-07-08 2017-02-14 Nicira, Inc. Hybrid packet processing
US9197529B2 (en) 2013-07-12 2015-11-24 Nicira, Inc. Tracing network packets through logical and physical networks
US9282019B2 (en) 2013-07-12 2016-03-08 Nicira, Inc. Tracing logical network packets through physical network
US9407580B2 (en) 2013-07-12 2016-08-02 Nicira, Inc. Maintaining data stored with a packet
CN103927126B (zh) * 2013-07-18 2016-10-12 詹明德 一种磁盘阵列设备的配置方法及组装及磁盘插入处理方法
US9336174B1 (en) * 2013-07-29 2016-05-10 Cisco Technology, Inc. Dynamic interface model
US9952885B2 (en) 2013-08-14 2018-04-24 Nicira, Inc. Generation of configuration files for a DHCP module executing within a virtualized container
US9887960B2 (en) 2013-08-14 2018-02-06 Nicira, Inc. Providing services for logical networks
US9577845B2 (en) 2013-09-04 2017-02-21 Nicira, Inc. Multiple active L3 gateways for logical networks
US9503371B2 (en) 2013-09-04 2016-11-22 Nicira, Inc. High availability L3 gateways for logical networks
US9674087B2 (en) 2013-09-15 2017-06-06 Nicira, Inc. Performing a multi-stage lookup to classify packets
US9602398B2 (en) 2013-09-15 2017-03-21 Nicira, Inc. Dynamically generating flows with wildcard fields
US10063458B2 (en) 2013-10-13 2018-08-28 Nicira, Inc. Asymmetric connection with external networks
US9910686B2 (en) 2013-10-13 2018-03-06 Nicira, Inc. Bridging between network segments with a logical router
US10158538B2 (en) 2013-12-09 2018-12-18 Nicira, Inc. Reporting elephant flows to a network controller
US9967199B2 (en) 2013-12-09 2018-05-08 Nicira, Inc. Inspecting operations of a machine to detect elephant flows
US9298549B2 (en) 2013-12-11 2016-03-29 International Business Machines Corporation Read buffer architecture supporting integrated XOR-reconstructed and read-retry for non-volatile random access memory (NVRAM) systems
US9996467B2 (en) 2013-12-13 2018-06-12 Nicira, Inc. Dynamically adjusting the number of flows allowed in a flow table cache
US9569368B2 (en) 2013-12-13 2017-02-14 Nicira, Inc. Installing and managing flows in a flow table cache
US9590901B2 (en) 2014-03-14 2017-03-07 Nicira, Inc. Route advertisement by managed gateways
US9225597B2 (en) 2014-03-14 2015-12-29 Nicira, Inc. Managed gateways peering with external router to attract ingress packets
US9313129B2 (en) 2014-03-14 2016-04-12 Nicira, Inc. Logical router processing by network controller
US9419855B2 (en) 2014-03-14 2016-08-16 Nicira, Inc. Static routes for logical routers
US9503321B2 (en) 2014-03-21 2016-11-22 Nicira, Inc. Dynamic routing for logical routers
US9647883B2 (en) 2014-03-21 2017-05-09 Nicria, Inc. Multiple levels of logical routers
US9893988B2 (en) 2014-03-27 2018-02-13 Nicira, Inc. Address resolution using multiple designated instances of a logical router
US9413644B2 (en) 2014-03-27 2016-08-09 Nicira, Inc. Ingress ECMP in virtual distributed routing environment
US9686200B2 (en) 2014-03-31 2017-06-20 Nicira, Inc. Flow cache hierarchy
US10193806B2 (en) 2014-03-31 2019-01-29 Nicira, Inc. Performing a finishing operation to improve the quality of a resulting hash
US9385954B2 (en) 2014-03-31 2016-07-05 Nicira, Inc. Hashing techniques for use in a network environment
US9742881B2 (en) 2014-06-30 2017-08-22 Nicira, Inc. Network virtualization using just-in-time distributed capability for classification encoding
CN104090986B (zh) * 2014-07-28 2018-06-01 福建三元达网络技术有限公司 一种无线控制器槽位控制方法、接入设备和无线控制器
US9768980B2 (en) 2014-09-30 2017-09-19 Nicira, Inc. Virtual distributed bridging
US10020960B2 (en) 2014-09-30 2018-07-10 Nicira, Inc. Virtual distributed bridging
US10511458B2 (en) 2014-09-30 2019-12-17 Nicira, Inc. Virtual distributed bridging
US11178051B2 (en) 2014-09-30 2021-11-16 Vmware, Inc. Packet key parser for flow-based forwarding elements
US10250443B2 (en) 2014-09-30 2019-04-02 Nicira, Inc. Using physical location to modify behavior of a distributed virtual network element
US10469342B2 (en) 2014-10-10 2019-11-05 Nicira, Inc. Logical network traffic analysis
US10079779B2 (en) 2015-01-30 2018-09-18 Nicira, Inc. Implementing logical router uplinks
US10038628B2 (en) 2015-04-04 2018-07-31 Nicira, Inc. Route server mode for dynamic routing between logical and physical networks
US10348625B2 (en) 2015-06-30 2019-07-09 Nicira, Inc. Sharing common L2 segment in a virtual distributed router environment
US10129142B2 (en) 2015-08-11 2018-11-13 Nicira, Inc. Route configuration for logical router
US10075363B2 (en) 2015-08-31 2018-09-11 Nicira, Inc. Authorization for advertised routes among logical routers
US10095535B2 (en) 2015-10-31 2018-10-09 Nicira, Inc. Static route types for logical routers
CN105760116B (zh) * 2016-03-10 2018-11-23 天津科技大学 一种多网盘下的增量纠删码存储方法及系统
US10333849B2 (en) 2016-04-28 2019-06-25 Nicira, Inc. Automatic configuration of logical routers on edge nodes
US10484515B2 (en) 2016-04-29 2019-11-19 Nicira, Inc. Implementing logical metadata proxy servers in logical networks
US10841273B2 (en) 2016-04-29 2020-11-17 Nicira, Inc. Implementing logical DHCP servers in logical networks
US10091161B2 (en) 2016-04-30 2018-10-02 Nicira, Inc. Assignment of router ID for logical routers
US10560320B2 (en) 2016-06-29 2020-02-11 Nicira, Inc. Ranking of gateways in cluster
US10153973B2 (en) 2016-06-29 2018-12-11 Nicira, Inc. Installation of routing tables for logical router in route server mode
US10454758B2 (en) 2016-08-31 2019-10-22 Nicira, Inc. Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP
US10341236B2 (en) 2016-09-30 2019-07-02 Nicira, Inc. Anycast edge service gateways
CN108462660B (zh) * 2016-12-12 2020-12-29 中国航空工业集团公司西安航空计算技术研究所 用于网络交换芯片的端口重映射电路及方法
US10212071B2 (en) 2016-12-21 2019-02-19 Nicira, Inc. Bypassing a load balancer in a return path of network traffic
US10237123B2 (en) 2016-12-21 2019-03-19 Nicira, Inc. Dynamic recovery from a split-brain failure in edge nodes
US10742746B2 (en) 2016-12-21 2020-08-11 Nicira, Inc. Bypassing a load balancer in a return path of network traffic
US10616045B2 (en) 2016-12-22 2020-04-07 Nicira, Inc. Migration of centralized routing components of logical router
US10200306B2 (en) 2017-03-07 2019-02-05 Nicira, Inc. Visualization of packet tracing operation results
US10681000B2 (en) 2017-06-30 2020-06-09 Nicira, Inc. Assignment of unique physical network addresses for logical network addresses
US10637800B2 (en) 2017-06-30 2020-04-28 Nicira, Inc Replacement of logical network addresses with physical network addresses
US10608887B2 (en) 2017-10-06 2020-03-31 Nicira, Inc. Using packet tracing tool to automatically execute packet capture operations
US10374827B2 (en) 2017-11-14 2019-08-06 Nicira, Inc. Identifier that maps to different networks at different datacenters
US10511459B2 (en) 2017-11-14 2019-12-17 Nicira, Inc. Selection of managed forwarding element for bridge spanning multiple datacenters
US10931560B2 (en) 2018-11-23 2021-02-23 Vmware, Inc. Using route type to determine routing protocol behavior
US10797998B2 (en) 2018-12-05 2020-10-06 Vmware, Inc. Route server for distributed routers using hierarchical routing protocol
CN109606380B (zh) * 2018-12-07 2020-08-07 英业达科技有限公司 网络控制装置、方法及车辆电控单元
US10938788B2 (en) 2018-12-12 2021-03-02 Vmware, Inc. Static routes for policy-based VPN
US11095480B2 (en) 2019-08-30 2021-08-17 Vmware, Inc. Traffic optimization using distributed edge services
US11283699B2 (en) 2020-01-17 2022-03-22 Vmware, Inc. Practical overlay network latency measurement in datacenter
US11606294B2 (en) 2020-07-16 2023-03-14 Vmware, Inc. Host computer configured to facilitate distributed SNAT service
US11616755B2 (en) 2020-07-16 2023-03-28 Vmware, Inc. Facilitating distributed SNAT service
US11611613B2 (en) 2020-07-24 2023-03-21 Vmware, Inc. Policy-based forwarding to a load balancer of a load balancing cluster
US11902050B2 (en) 2020-07-28 2024-02-13 VMware LLC Method for providing distributed gateway service at host computer
US11451413B2 (en) 2020-07-28 2022-09-20 Vmware, Inc. Method for advertising availability of distributed gateway service and machines at host computer
US11558426B2 (en) 2020-07-29 2023-01-17 Vmware, Inc. Connection tracking for container cluster
US11196628B1 (en) 2020-07-29 2021-12-07 Vmware, Inc. Monitoring container clusters
US11570090B2 (en) 2020-07-29 2023-01-31 Vmware, Inc. Flow tracing operation in container cluster
CN112416355A (zh) * 2020-11-12 2021-02-26 珠海格力电器股份有限公司 Plc组态软件的端口转换方法及系统
US11736436B2 (en) 2020-12-31 2023-08-22 Vmware, Inc. Identifying routes with indirect addressing in a datacenter
US11336533B1 (en) 2021-01-08 2022-05-17 Vmware, Inc. Network visualization of correlations between logical elements and associated physical elements
US11687210B2 (en) 2021-07-05 2023-06-27 Vmware, Inc. Criteria-based expansion of group nodes in a network topology visualization
US11711278B2 (en) 2021-07-24 2023-07-25 Vmware, Inc. Visualization of flow trace operation across multiple sites
US11706109B2 (en) 2021-09-17 2023-07-18 Vmware, Inc. Performance of traffic monitoring actions

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4514823A (en) 1982-01-15 1985-04-30 International Business Machines Corporation Apparatus and method for extending a parallel channel to a serial I/O device
US5038320A (en) 1987-03-13 1991-08-06 International Business Machines Corp. Computer system with automatic initialization of pluggable option cards
US5003558A (en) 1989-10-30 1991-03-26 International Business Machines Corporation Data synchronizing buffers for data processing channels
US5185862A (en) 1989-10-30 1993-02-09 International Business Machines Corp. Apparatus for constructing data frames for transmission over a data link
US5072378A (en) 1989-12-18 1991-12-10 Storage Technology Corporation Direct access storage device with independently stored parity
EP0433520B1 (en) 1989-12-22 1996-02-14 International Business Machines Corporation Elastic configurable buffer for buffering asynchronous data
US5151977A (en) 1990-08-31 1992-09-29 International Business Machines Corp. Managing a serial link in an input/output system which indicates link status by continuous sequences of characters between data frames
US5268592A (en) 1991-02-26 1993-12-07 International Business Machines Corporation Sequential connector
US5257391A (en) 1991-08-16 1993-10-26 Ncr Corporation Disk controller having host interface and bus switches for selecting buffer and drive busses respectively based on configuration control signals
US5392425A (en) 1991-08-30 1995-02-21 International Business Machines Corporation Channel-initiated retry and unit check for peripheral devices
US5483641A (en) 1991-12-17 1996-01-09 Dell Usa, L.P. System for scheduling readahead operations if new request is within a proximity of N last read requests wherein N is dependent on independent activities
JP3160106B2 (ja) * 1991-12-23 2001-04-23 ヒュンダイ エレクトロニクス アメリカ ディスクアレーの区分け方法
US5471640A (en) * 1992-07-06 1995-11-28 Hewlett-Packard Programmable disk array controller having n counters for n disk drives for stripping data where each counter addresses specific memory location by a count n
JP3181398B2 (ja) 1992-10-06 2001-07-03 三菱電機株式会社 アレイ型記録装置
GB2273584B (en) 1992-12-16 1997-04-16 Quantel Ltd A data storage apparatus
US5428649A (en) 1993-12-16 1995-06-27 International Business Machines Corporation Elastic buffer with bidirectional phase detector
US5537567A (en) * 1994-03-14 1996-07-16 International Business Machines Corporation Parity block configuration in an array of storage devices
US5581715A (en) 1994-06-22 1996-12-03 Oak Technologies, Inc. IDE/ATA CD drive controller having a digital signal processor interface, dynamic random access memory, data error detection and correction, and a host interface
JP3432063B2 (ja) 1994-12-28 2003-07-28 キヤノン株式会社 ネットワークシステム及びノード装置及び伝送制御方法
US5845319A (en) 1995-08-23 1998-12-01 Fujitsu Limited Disk array device which separates local and physical disks using striping and operation mode selection
US6098128A (en) 1995-09-18 2000-08-01 Cyberstorage Systems Corporation Universal storage management system
US5771372A (en) 1995-10-03 1998-06-23 International Business Machines Corp. Apparatus for delaying the output of data onto a system bus
US5794063A (en) 1996-01-26 1998-08-11 Advanced Micro Devices, Inc. Instruction decoder including emulation using indirect specifiers
US6018778A (en) 1996-05-03 2000-01-25 Netcell Corporation Disk array controller for reading/writing striped data using a single address counter for synchronously transferring data between data ports and buffer memory
US5890014A (en) 1996-08-05 1999-03-30 Micronet Technology, Inc. System for transparently identifying and matching an input/output profile to optimal input/output device parameters
US5964866A (en) 1996-10-24 1999-10-12 International Business Machines Corporation Elastic self-timed interface for data flow elements embodied as selective bypass of stages in an asynchronous microprocessor pipeline
US6161165A (en) 1996-11-14 2000-12-12 Emc Corporation High performance data path with XOR on the fly
US5864653A (en) 1996-12-31 1999-01-26 Compaq Computer Corporation PCI hot spare capability for failed components
US6151641A (en) 1997-09-30 2000-11-21 Lsi Logic Corporation DMA controller of a RAID storage controller with integrated XOR parity computation capability adapted to compute parity in parallel with the transfer of data segments
US6098114A (en) 1997-11-14 2000-08-01 3Ware Disk array system for processing and tracking the completion of I/O requests
US6138125A (en) * 1998-03-31 2000-10-24 Lsi Logic Corporation Block coding method and system for failure recovery in disk arrays
US6151685A (en) 1998-05-15 2000-11-21 International Business Machines Corporation System and method for recovering a segment directory for a log structured array
US6282207B1 (en) * 1999-03-30 2001-08-28 Diva Systems Corporation Method and apparatus for storing and accessing multiple constant bit rate data
US6772108B1 (en) 1999-09-22 2004-08-03 Netcell Corp. Raid controller system and method with ATA emulation host interface
US6996742B2 (en) 2000-11-28 2006-02-07 Sedna Patent Services, Llc Method for regenerating and streaming content from a video server using RAID 5 data striping
US6665773B1 (en) 2000-12-26 2003-12-16 Lsi Logic Corporation Simple and scalable RAID XOR assist logic with overlapped operations
US7418620B1 (en) 2001-02-16 2008-08-26 Swsoft Holdings, Ltd. Fault tolerant distributed storage method and controller using (N,K) algorithms
US6513098B2 (en) 2001-05-25 2003-01-28 Adaptec, Inc. Method and apparatus for scalable error correction code generation performance
US6883131B2 (en) 2001-09-28 2005-04-19 Sun Microsystems, Inc. XOR processing incorporating error correction code data protection
JP3590381B2 (ja) 2001-12-18 2004-11-17 株式会社東芝 ディスクアレイ装置及び同装置におけるデータ更新方法
US6971042B2 (en) 2002-04-18 2005-11-29 Huge Systems, Inc. Media server with single chip storage controller
TW200500857A (en) 2003-04-09 2005-01-01 Netcell Corp Method and apparatus for synchronizing data from asynchronous disk drive data transfers
US7913148B2 (en) 2004-03-12 2011-03-22 Nvidia Corporation Disk controller methods and apparatus with improved striping, redundancy operations and interfaces

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012018548A (ja) * 2010-07-08 2012-01-26 Kyocera Mita Corp ストレージ管理装置
JP2012174177A (ja) * 2011-02-24 2012-09-10 Yamaha Corp 端末装置及び通信システム
JP2015111452A (ja) * 2015-02-10 2015-06-18 ヤマハ株式会社 端末装置及び通信システム

Also Published As

Publication number Publication date
WO2004095255A3 (en) 2005-07-14
WO2004095255A2 (en) 2004-11-04
CN100371874C (zh) 2008-02-27
US8281067B2 (en) 2012-10-02
KR20060025135A (ko) 2006-03-20
US20040264309A1 (en) 2004-12-30
EP1625489A2 (en) 2006-02-15
CN1777861A (zh) 2006-05-24
CA2522915A1 (en) 2004-11-04

Similar Documents

Publication Publication Date Title
JP2006524401A (ja) 再構成可能なデータ経路を備えたディスクアレイコントローラ
US8074149B2 (en) Disk controller methods and apparatus with improved striping, redundancy operations and interfaces
US7770076B2 (en) Multi-platter disk drive controller and methods for synchronous redundant data operations
JP5272019B2 (ja) プロセッサを内部メモリに接続するクロスバー・スイッチを含むフラッシュメモリ用ストレージコントローラ
US9135167B2 (en) Controller, data storage device and data storage system having the controller, and data processing method
US6202138B1 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5155835A (en) Multilevel, hierarchical, dynamically mapped data storage subsystem
EP0485110B1 (en) Logical partitioning of a redundant array storage system
EP0639811B1 (en) Memory systems with data storage redundancy management
TWI699696B (zh) 具有介面控制機構之電子系統及其操作方法
US9723080B2 (en) Storage management computer and method for avoiding conflict by adjusting the task starting time and switching the order of task execution
US4811280A (en) Dual mode disk controller
US10152236B2 (en) Hybrid data storage device with partitioned local memory
JPH08185275A (ja) ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法
US6983355B2 (en) Virtualization of physical storage using size optimized hierarchical tables
JP3247075B2 (ja) パリティブロックの生成装置
US11036427B2 (en) Using content addressable memory to perform read-modify-write operations in non-volatile random access memory (NVRAM)
WO2005089339A2 (en) Disk controller methods and apparatus with improved striping redundancy operations and interfaces
JPH07200187A (ja) ディスクアレイ装置
JP3687111B2 (ja) 記憶装置システムおよび記憶装置の制御方法
US6898666B1 (en) Multiple memory system support through segment assignment
JPH0675707A (ja) アレイ型記憶装置システム
JP2733189B2 (ja) ディスクアレイ装置の入出力制御方法
TWI278752B (en) Disk array controller and fast method of executing stripped-data operations in disk array controller
KR100529278B1 (ko) 대용량 데이터에 대한 데이터 중복 저장 시스템

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070703