JP2012507783A - ストレージコントローラのデータ再配分 - Google Patents

ストレージコントローラのデータ再配分 Download PDF

Info

Publication number
JP2012507783A
JP2012507783A JP2011534470A JP2011534470A JP2012507783A JP 2012507783 A JP2012507783 A JP 2012507783A JP 2011534470 A JP2011534470 A JP 2011534470A JP 2011534470 A JP2011534470 A JP 2011534470A JP 2012507783 A JP2012507783 A JP 2012507783A
Authority
JP
Japan
Prior art keywords
storage controller
data set
additional
module
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011534470A
Other languages
English (en)
Inventor
クロープナー,ジョン,アール.
エル−バタル,モハマド
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.)
LSI Corp
Original Assignee
LSI Logic Corp
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 LSI Logic Corp filed Critical LSI Logic Corp
Publication of JP2012507783A publication Critical patent/JP2012507783A/ja
Pending 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
    • 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/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • 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/14Handling requests for interconnection or transfer
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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

Abstract

ストレージコントローラのデータ再分配方法、装置およびシステムを開示する。一実施形態では、方法は、ストレージコントローラのデータセットを収得するステップと、ストレージコントローラメモリモジュールにデータセットを格納する前に1つの追加のデータセットを生成するステップと、ストレージコントローラメモリモジュールにデータセットを格納する前にその追加のデータセットを追加のストレージコントローラに通信するステップと、ストレージコントローラのメモリモジュールにデータセットを格納するステップと、追加のストレージコントローラメモリモジュールに追加のデータセットを格納するステップとを含む。追加のデータセットは、同一のデータペイロードを持った個別のメモリ書き込みパケットを作成することによって生成することができる。個別のメモリ書き込みパケットは、PCIeスイッチを使用して作成することができる。追加のストレージコントローラへの追加のデータセットによって、メモリ読み取り動作を回避することができる。
【選択図】図1

Description

この開示は、一般的には、企業方法、ソフトウェアおよび/またはハードウェアの技術分野に関連し、一実施形態においては、ストレージコントローラのデータの再分配に関連するものである。
ストレージコントローラは、1つの追加のストレージコントローラ(例えば、デュアルコントローラ、ミラードコントローラ)を併用してストレージデバイスを作動することができる。ストレージコントローラは、ホストシステムの情報 (例えば、データセット、I/O 書き込みなど) を取得できる。情報はストレージコントローラのメモリ(例えば、RAM、DRAM、SDRAMなど)に書き込まれ(例えば、格納され)、追加のストレージコントローラへ転送され得る。情報の転送は、ストレージコントローラメモリの情報の読み取り、追加のストレージコントローラへの通信、追加のストレージコントローラメモリへの格納を含むことができる。
ストレージコントローラの情報を読み取るためには、メモリ帯域幅の使用、電力の使用、および/またはストレージコントローラのシステムハードウェアを必要とすることがある。情報の読み取りは、熱を発生することがあり、これは電子機器の寿命を減らし、かつ/または追加の冷却機構(例えば、ファン、ヒートシンク、ヒートパイプ、水冷却システムなど)を必要とすることがある。追加の冷却機構は、機器のコストおよび/または電力コスト(例えば、ファンのための電気、電気の費用など)を追加することがある。ストレージコントローラの情報を読みこむのは、時間を消耗することがあり、これは以後のストレージコントローラのアクティビティ(例えば、追加の情報を受信および/または処理、書き込み完了信号をホストシステムに通信する、など)を遅延することがある。情報読み取りは、したがって、システムコストの増加、遅延および/またはその他の非能率を引き起こすことがある。
ストレージコントローラの性能を向上するひとつの方法は、ストレージコントローラメモリの量および/または速度を増加することを含み得る。しかし、ストレージコントローラメモリを追加することは、メモリコストの増加につながることがあり経済的利点を超えてしまう恐れがある。その結果、ストレージコントローラメモリを追加することは、コストの上で難しくなることがある。
ストレージコントローラのデータの再分配の方法、装置およびシステムを開示する。
一局面において、方法は、ストレージコントローラのデータセットを取得するステップと、ストレージコントローラメモリモジュールにデータセットを格納する前に、1つの追加のデータセットを生成するステップと、ストレージコントローラメモリモジュールにデータセットを格納する前に、その追加のデータセットを追加のストレージコントローラに通信するステップと、ストレージコントローラメモリモジュールにデータセットを格納するステップと、追加のストレージコントローラメモリモジュールに追加のデータセットを格納するステップとを含む。
同一のデータペイロードを持つ個別のメモリ書き込みパケットを作成することによって追加のデータセットが生成され得る。個別のメモリ書き込みパケットは、PCIeスイッチを使用して作成することができる。追加のストレージコントローラへの追加データセットにより、メモリ読み取り動作を回避することができる。ストレージコントローラのデータ再分配の方法は、メモリの読み取り動作を回避することによって、ストレージコントローラのメモリ帯域幅の負荷を削減するステップを含むことができる。任意の数の追加データセットを生成することができる。
転送モジュールを使用して追加のデータセットを追加のストレージコントローラに通信することができる。転送モジュールは、ストレージコントローラおよび追加のストレージコントローラに結合することができる。ストレージコントローラのデータ再分配方法は、ストレージコントローラメモリモジュールにデータセットの格納を完了する前に、追加データセットの格納を開始するステップを含むことができる。
さらに、この方法は、補足データセットを生成するステップと、補足データセットを補足ストレージコントローラに通信するステップと、補足ストレージコントローラメモリモジュールに補足データセットを格納するステップとを含むことができる。この方法は、ストレージコントローラメモリモジュールにデータセットを格納する前に、追加のストレージコントローラに追加のデータセットを通信することによって、ホスト コントローラへの初期書き込み信号を加速するステップを含むことができる。これらのデータセット(例えば、すなわち、データセットおよび追加のデータセット)は、加速された初期書き込み信号がホスト コントローラに送信される前に、2つ以上のストレージコントローラメモリに格納する必要がある場合がある。ストレージコントローラメモリの読み取り動作を排除することによって、追加ストレージコントローラメモリへの後続の書き込み動作を延期することを回避し、初期の書き込み信号を加速することができる。また、1つ以上のストレージコントローラメモリにメモリ書き込み動作を一時に実行し(これは最初の書き込み動作が完了した後に初めて、追加の書き込み動作を開始することができる場合には不可能になることがある)、初期の書き込み信号を加速することもできる。
初期の書き込み信号を加速することにより、書き込み状態の待機時間を減らし、ホストシステムがより効率的に作動するようにすることができる。書き込み状態の待機時間を減らすことにより、ホストシステムは通常の動作をより短い時間で続行することができる。
ストレージコントローラのデータセットは、ホストモジュールとストレージコントローラメモリとの間の再分配モジュールによって取得することができる。この方法は、再分配モジュールも含みうるストレージコントローラを含むことができる。
もう1つの局面では、ストレージコントローラのデータ再分配システムは、ストレージコントローラのデータセットを取得し、ストレージコントローラメモリモジュールにデータセットを格納する前に追加のデータセットを生成する再分配モジュールと、ストレージコントローラメモリモジュールにデータセットを格納する前に、追加のストレージコントローラに追加のデータセットを通信する通信モジュールと、データセットを格納するストレージコントローラメモリモジュールと、追加のデータセットを格納する追加のストレージコントローラメモリモジュールとを含む。
同一のデータペイロードを持つ個別のメモリ書き込みパケットを作成することによって、追加のデータセットを生成することができる。個別のメモリ書き込みパケットは、PCIeスイッチを使用して作成することができる。ストレージコントローラのデータ再分配システムは、追加のデータセットを追加のストレージコントローラに通信することを含むことができ、これによりメモリ読み取り動作を回避することができる。このシステムは、ストレージコントローラのメモリ帯域幅の負荷を減らし得るメモリ読み取り動作を含むことができる。追加のデータセットは、バスを使用して追加のストレージコントローラに通信することができる。バスは、ストレージコントローラおよび追加のストレージコントローラに結合することができる。
もう1つの局面において、この方法は、ストレージコントローラのデータセットを取得し、ストレージコントローラメモリモジュールにデータセットを格納する前に追加のデータセットを生成する、再分配モジュールを形成するステップと、再分配モジュールに結合され、ストレージコントローラメモリモジュールにデータセットを格納する前に、追加のデータセットを追加のストレージコントローラに通信する通信モジュールを作成するステップと、ストレージコントローラ内の再分配モジュールに結合され、データセットを格納するストレージコントローラメモリモジュールを配置するステップと、追加のストレージコントローラ内の通信モジュールに結合された追加のデータセットを格納する追加のストレージコントローラメモリモジュールを配置するステップと、を含むものである。
追加のデータセットは、同一のデータペイロードを持つ、少なくとも1つの個別のメモリ書き込みパケットを作成することによって生成することができる。個別のメモリ書き込みパケットは、PCIeスイッチを使用して作成することができる。
ここで開示される方法、システム、および機器は、さまざまな局面を達成するために、いかなる手段を使って実施してもよく、機器によって実行された時に機器がここに開示されている動作のいずれかを実行することを引き起こす一連の命令を具体化する機械可読の媒体の形態において実行することができる。その他の特徴については、付属の図面と以下の詳細な説明により明らかにされる。
実施形態は添付の図面において例として示され、限定としてではない。図面においては類似の参照符号は類似の要素を示すものである。
一実施形態に従う相互に通信するストレージコントローラ、ホストモジュールおよび複数のストレージデバイスのシステム図である。 一実施形態に従う、ストレージコントローラ、ホストモジュールおよび通信モジュールを拡大して示す図である。 一実施形態に従う、ホストモジュールおよび複数のストレージデバイスモジュールと通信する複数のストレージコントローラおよび通信モジュールのシステム図である。 一実施形態に従う、ストレージコントローラメモリモジュールにおけるデータセットの取得、生成、格納のプロセスフローである。 一実施形態に従う、追加のデータセットの追加動作を示す図4Aのプロセスフローの続きである。 一実施形態に従う、ストレージコントローラメモリモジュールにおいて追加のデータセットを取得、生成および格納するために、再分配モジュールその他のモジュールを形成する過程を示すプロセスフローである。
本実施形態におけるその他の特徴は、付属の図面と以下の詳細な説明から明らかとなる。
ストレージコントローラのデータの再分配の方法、装置およびシステムを開示する。本実施形態は特定の例によって記述されてはいるが、様々な実施形態のより広範な趣旨および範囲から逸脱することなく、様々な修正および変更をこれらの実施形態に行なうことができることは明らかであろう。
一実施形態では、I/O書き込みデータを2つのストレージコントローラ106A-Bにミラーすることができ、これによりストレージコントローラのメモリ読み取り動作の必要性を無くすことができる。再分配モジュール106A-Bは、ストレージコントローラと追加のストレージコントローラとの間で情報を再分配することによって、データセットを、最初のメモリ書き込みの前に2つの個別のメモリ書き込み動作に分割することができる。マルチキャスチング(例えば、デュアルキャスチング、フォーキング)を使用して、再分配を達成することができる。PCIeスイッチ212を各ストレージコントローラ106A-B上のホストI/Oデバイス(例えば、ホストモジュール208)とメモリモジュール104A-Bとの間に追加して、マルチキャスチングを実行することができる。
別の実施形態では、2つのストレージコントローラ106A-BをPCIeバスによって互いに接続することができる。PCIeバスは、各々が1つのストレージコントローラに含まれ得る2つのPCIeスイッチを接続することができる。I/O書き込みデータがPCIeスイッチ212をPCIeメモリ書き込みパケットの形で通過すると、PCI Express(PCIe)ベース2.0仕様のためのマルチキャスチングECNで定義されたマルチキャスチング機能が、パケットを同じデータペイロードを含む2つの別個のPCIeメモリ書き込みパケットに分割することを可能にすることができる。1つのパケットは、ストレージコントローラメモリモジュール104Aへのデータペイロードのメモリ書き込みを生成することができる。他のパケットは、2つのストレージコントローラ106A-Bを接続するPCIeバス214によって、ストレージコントローラ106Bに送られる。また他のパケットは、ストレージコントローラメモリモジュール104Bに書き込まれることができる。メモリ書き込みパケットを再分配(例えば、マルチキャスチング、ミラーリング)することによって、メモリモジュール104Bに情報を書き込む前に情報を取得するためにメモリモジュール104Aの読み取り動作を実行する必要をなくすことができる。読み取り動作を回避した結果として、ストレージコントローラ106A-Bのメモリ帯域幅負荷が削減され得る。
一実施形態では、方法は、ストレージコントローラ(例えば、図1のストレージコントローラ106A)のデータセット(例えば、メモリ書き込みパケット)を取得することを含む。さらに、この方法は、ストレージコントローラメモリモジュール(例えば、図1のメモリモジュール104A)にデータセットを格納する前に、1つ以上の追加のデータセットを生成することを含む。さらに、この方法は、ストレージコントローラメモリモジュール104Aおよび/または104Bにデータセットを格納する前に、追加のストレージコントローラ106Bに追加データセット(例えば、元のデータパケットと同一のペイロードを持つ個別のメモリ書き込みパケット)を通信することを含む。さらに、この方法は、ストレージコントローラメモリモジュール104Aにデータセットを格納することと、追加のストレージコントローラメモリモジュール104Bに追加のデータセットを格納することとを含む。
別の実施形態では、ストレージコントローラのデータ再分配システムは、ストレージコントローラ(例えば、106A-B、206、306A-Nのストレージコントローラ)のデータセットを取得し、ストレージコントローラメモリモジュール(例えば、メモリモジュール104A-B、204)にデータセットを格納する前に追加のデータセットを生成する再分配モジュール(例えば、再分配モジュール100A-B、200)を含む。このシステムはさらに、ストレージコントローラメモリモジュール(例えば、メモリモジュール104A-B、204)にデータセットを格納する前に、追加のストレージコントローラ(例えば、106A-B、206、306A-Nのストレージコントローラ)に追加のデータセットを通信するための通信モジュール(例えば、通信モジュール102、202、302 A-B)を含む。このシステムはさらに、データセットを格納するストレージコントローラメモリモジュール (例えば、メモリモジュール104A)と、追加のデータセットを格納する追加のストレージコントローラメモリモジュール(例えば、メモリモジュール104B)とを含む。
別の実施形態では、この方法は、ストレージコントローラ(例えば、図1のストレージコントローラ106A)のデータセットを取得し、ストレージコントローラメモリモジュール(例えば、図1のメモリモジュール104A)にデータセットを格納する前に、追加のデータセットを生成するために、再分配モジュール(例えば、図1の再分配モジュール100A-B)を形成すること、データセットをストレージコントローラメモリモジュール(例えば、図1のメモリモジュール104B)に保存する前に、追加のストレージコントローラ106Bに追加データセットを通信するために、再分配モジュール100A-Bに結合した通信モジュール102を作成すること、データセットを格納するためにストレージコントローラ106A内の再分配モジュール100Aに結合したストレージコントローラメモリモジュール104Aを設置すること、そして、追加のデータセットを格納するために追加のストレージコントローラ106B内の通信モジュール102に結合した追加のストレージコントローラメモリモジュール104Bを設置すること、を含む。
図1は、一実施形態に従う相互に通信するストレージコントローラ、ホストモジュールおよびストレージデバイスのアレイのシステム図である。具体的には、図1は、1つの実施形態に従う、再分配モジュール100A-B、通信モジュール102、メモリモジュール104A-B、ストレージコントローラ106A-B、ホストモジュール108、ストレージデバイスモジュール110A-Nを示す。
データセット(例えば、メモリ書き込みパケット)は、パケットモードコンピュータネットワークで転送されるフォーマット化されたデータユニットであり得る。伝統的なポイントツーポイント電話通信リンクなどのパケットをサポートしないコンピュータ通信リンクは、データを単に一連のバイト、文字、またはビットのみとして送信する可能性がある。追加データセット(例えば、追加のメモリ書き込みパケット)は、個別のメモリ書き込みパケットと、元のデータセットのデータペイロードと同一のデータペイロードを含むことができる。追加のデータセットはマルチキャスチング、ミラーリング、メモリ書き込みパケットの分割、および/またはメモリ書き込みパケットのコピーによって生成することができる。元のデータセットは送信および/または保存することができる。これに代えて、ストレージコントローラ(例えば、ストレージコントローラ106A-B)に格納するために2つ以上の新しいメモリ書き込みパケットを生成することができる。
再分配モジュール100A-Bは、ストレージコントローラ106A-Bのデータセットを取得するために、マルチキャスチング(例えば、デュアルキャスチング、フォーキング)を使用して、2つの個別のメモリ書き込み動作にデータセットを分割することができる。再分配モジュールは、ストレージコントローラメモリモジュール104A-Bにデータセットを格納する前に、追加のデータセットを生成することができる。再分配モジュール(例えば、図1の再分配モジュール100A-B)は、PCIeスイッチ(例えば、PCIeスイッチ212)を含むことができる。PCIeスイッチは、PCI Express(PCIe)ベース2.0仕様のためのマルチキャスチングECNで定義されているマルチキャスチング機能に従ってメモリ書き込みパケットを分割することができる。PCIeスイッチは、2つ以上のストレージコントローラを接続し得るPCIeバスと通信することができる。PCIeスイッチは、マルチキャストメモリ書き込みパケットを追加のストレージコントローラに通信することができる。
通信モジュール(例えば、通信モジュール102、202、302A-B)は、処理ユニット(例えば、ホストシステム、コンピュータのマザーボードなど)に周辺機器を取り付けるために使用され得るコンピュータバスを含むことができる。通信モジュール102は、ストレージコントローラメモリモジュール104Aおよび/または104B内にデータセットが保存される前に、追加のデータセットを追加のストレージコントローラに通信することができる。追加のデータセットは、メモリモジュール104Aおよび/または104B内のメモリ書き込みパケットの格納プロセスの開始および/または完了の前に、通信されることができる。
ホストコントローラへの初期書き込み信号は、ストレージコントローラメモリモジュールにデータセットを格納する前に、追加のストレージコントローラに追加のデータセットを通信することによって、加速することができる。これらのデータセット(例えば、データセットおよび追加のデータセット)は、加速された初期書き込み信号がホストコントローラに送信される前に2つ以上のストレージコントローラメモリに格納する必要がある場合がある。ストレージコントローラメモリの読み取り動作をなくすことによって、追加ストレージコントローラメモリ内への後続の書き込み動作を延期することを回避し、初期書き込み信号を加速することができる。1つ以上のストレージコントローラメモリにメモリ書き込み動作を一時に実行する―これは、最初の書き込み動作が完了した後初めて、追加の書き込み動作が開始することができる場合には可能でないことがある―ことによって、初期書き込み信号を加速することもできる。
初期書き込み信号を加速することによって、書き込み状態の待ち時間を減らし、ホストシステムがより効率的に作動できるようにすることができる。書き込み状態の待ち時間を減らすことによって、ホストシステムが従来より短時間に通常の動作を続行できるようにすることができる。書き込み状態の待ち時間を減らすことによって、ホストシステムが従来より短時間に動作を再試行かつ/またはシステムフォールトを生じさせるようにすることができる。
メモリモジュール104A-Bは磁気媒体(例えば、フラッシュメモリ、ハードドライブ)および/またはその他のメモリフォーマット(例えば、光学的、機械的、揮発性メモリ、不揮発性メモリ)でデータを保持することができる。追加のストレージコントローラメモリモジュールは追加データセット(例えば、ミラーされたデータ、マルチキャストデータ、再分配モジュールで生成されたデータセットなど)を格納することができる。メモリモジュール104A-Bは、ストレージコントローラ106A-B内の再分配モジュール100 A-Bと結合することができる。
ストレージコントローラ(例えば、106A-B、206、306A-Nのストレージコントローラ)は、データの損失を防ぐためにペアで冗長構成で使用することができる。1つのコントローラが故障した場合にも、ストレージコントローラに関連したホストシステム(例えば、ホストモジュール108)が依然として、すべてのストレージ デバイス(例えば、ストレージデバイスモジュール110A-N, 210A-B、310A-N)へアクセスすることができる。ホストモジュール108は、さまざまなデバイス(例えば、ストレージコントローラ106A-B、ストレージデバイスモジュール110A-N)と通信できる処理ユニットを含むことができる。ホストモジュールは、ストレージコントローラおよび/またはストレージデバイスモジュールとの動作に影響を与えるプログラムをダウンロードまたはアップロードすることができる。
ストレージデバイスモジュール110A-Nは、情報の保持および/または処理を行なうことができる。ストレージデバイスモジュール110A-Nは、情報を保持する記録媒体と情報を処理するデータストレージ機器とを含むことができる。ストレージデバイスモジュール110A-Nは別個のポータブル記録媒体および/または情報を保持および検索できる固定デバイスにアクセスすることができる。
一実施形態においては、ストレージコントローラ106A-Bは、再分配モジュール100A-Bおよびメモリモジュール104A-Bを含むことができる。メモリモジュール104A-Bおよびストレージコントローラ106A-Bは、通信モジュール102を介して通信することができる。ホストモジュール108は、ストレージコントローラ106A-Bを通じて、ストレージデバイスモジュール110A-Bと通信することができる。
図2は、一実施形態に従う、ストレージコントローラを示す拡大図であって、ホストモジュールおよび通信モジュールも示すものである。
特に、図2では、一実施形態に従う、再分配モジュール200、通信モジュール202、メモリモジュール204、ストレージコントローラ206、ホストモジュール208、ストレージデバイスモジュール210A-B、PCIeスイッチ212、PCIeバス 214、入力I/Oモジュール216、出力I/Oモジュール218、コントローラモジュール220、プロセッサモジュール222を示す。
再分配モジュール200は、マルチキャスチング(例えば、デュアルキャスチング、フォーキング)を使用して最初のメモリ書き込みを行う前に、データセットを2つの個別のメモリ書き込み動作に分割できるPCIeスイッチを含むことができる。マルチキャスチングは、各々のストレージコントローラ(例えば、ストレージコントローラモジュール106A-B)上において、PCIeスイッチ(例えば、PCIe212)をホストI/Oデバイス(例えば、入力I/Oモジュール216)と、コントローラコントローラメモリコントローラ (例えば、コントローラモジュール220)との間に追加することによって達成することができる。
通信モジュール202は、2つのストレージコントローラ206A-Bと2つのPCIeスイッチとを接続できるPCIeバス214を含むことができる。メモリモジュール204は、ストレージコントローラ206内の再分配モジュール200に接続することができ、メモリモジュール204はデータセットを格納することができる。ストレージコントローラ206は、ホストシステム(例えば、ホストモジュール208)に入出力を書き込みすることができる。ホストモジュール208は、ストレージデバイスモジュール210A-Bに情報を格納する、冗長構成システム内の制御処理ユニットであり得る。ホストモジュールは、安価ディスク冗長アレイ(RAID)を制御するサーバーを含むことができる。これに代えて、ホストモジュールは、一組のハードディスクおよび/または他の電子機器と動作を行う、プログラマブルロジックコントローラ(PLC)を制御するマイクロコンピュータを含むこともできる。
ストレージデバイスモジュール(例えば、ストレージデバイスモジュール110A-N、210A-B、310A-N)は、情報を保持することができる。ストレージデバイスモジュールは、他のストレージデバイスモジュールと通信することができる。ストレージデバイスモジュールはストレージコントローラ(例えば、ストレージコントローラ106A-B、206、306A-N)と通信することができる。ストレージデバイスモジュールは、出力I/Oモジュール(例えば、出力I/Oモジュール 218)、メモリモジュール104A-Bおよび/またはホストモジュール(例えば、ホストモジュール 108、208および/または308)と通信することができる。
PCIeスイッチ212は個別のメモリ書き込みパケットを作成することができる。I/O書き込みデータが、PCIeメモリ書き込みパケットの形でPCIeスイッチを通過する際に、PCI Express(PCIe)ベース2.0仕様のためのマルチキャスチングECNにおいて定義されたマルチキャスチング機能が、同じデータペイロードを含む2つの個別のPCIeメモリ書き込みパケットにパケットを分割することを可能にする。これらのパケットの1つは、ストレージコントローラ206へのデータペイロードのメモリ書き込みを生成することができる。
PCIeバス214は、通信モジュール202に含めることができ、また、2つのストレージコントローラ(例えば、ストレージコントローラ106A-B、206、306A-N)および/またはストレージコントローラ106A-BのPCIeスイッチ同士を接続することができる。PCIeバス214はPCIeスイッチ212、再分配モジュール200および/またはストレージコントローラ206と通信することができる。
入力I/Oモジュール216は、ストレージコントローラ206内に存在し得るホストI/Oデバイスであり得る。入力I/Oモジュール216は、ホストモジュール208と再分配モジュール200内のPCIeスイッチとの間で情報の通信を行うことができる。出力I/Oモジュール218は、ストレージコントローラ206内に存在することができ、コントローラモジュール220およびストレージデバイスモジュール210A-Bと通信することができる。コントローラモジュール220は、プロセッサモジュール222とメモリモジュール204との間のメモリ書き込み動作を制御することができる。プロセッサモジュール222は、ストレージデバイスモジュール210A-Bに格納されたデータセットを処理することができる。
一実施形態においては、ストレージコントローラ206は、入力I/Oモジュール216、再分配モジュール200、メモリモジュール204、コントローラモジュール220、プロセッサモジュール222、出力I/Oモジュール218を含むことができる。再分配モジュール200は、PCIeスイッチ212を含むことができる。通信モジュール202は、PCIeバス214を含むことができる。PCIeスイッチ212は、PCIeバス214に接続することができる。出力I/Oモジュール218は、ストレージデバイスモジュール210A-Bに接続することができる。この実施形態においては、各モジュールは相互に通信することができる。
図3は、一実施形態において、複数のストレージコントローラと通信モジュールが、ホストモジュールと複数のストレージデバイスモジュール通信するシステムを示す。特に、図3は一実施形態において、通信モジュール302A-N、ストレージコントローラ306A-N、ホストモジュール308およびストレージデバイスモジュール310A-Nを示す。
通信モジュール302A-Nは、ストレージコントローラ306A-N間で情報を通信することができる。通信モジュール302A-NはPCIeバス214を含むことができる。
ストレージコントローラ306A-Nはアレイ接続することができる。ストレージコントローラ306A-Nは、ホストモジュール308とストレージデバイスモジュール310A-Nとの間で情報を通信することができる。さらに、ストレージコントローラ306A-Nは、PCIeスイッチに接続され得る追加のPCIeバスによって、相互に接続することができる。I/O書き込みデータがメモリ書き込みパケットの形で、PCIeスイッチを通過する際に、PCI Express(PCIe)ベース2.0仕様のためのマルチキャスチングECNにおいて定義されたマルチキャスチング機能が、同じデータペイロードを含む2つの個別のPCIeメモリ書き込みパケットにパケットを分割することを可能にすることができる。1つのメモリ書き込みパケットはストレージコントローラメモリに送信することができ、2番目のメモリ書き込みパケットは追加のストレージコントローラに通信することができる。
ホストモジュール308は、データセットおよび/またはミラーデータを保持できるストレージデバイスモジュール310A-Nを使って、保存および検索されるべき情報を通信することができる。ストレージコントローラ306A-Nは、ストレージデバイスモジュール310A-Nに保存されるべき情報を処理することができ、また、このストレージコントローラは、追加のストレージコントローラへ、ホストモジュール308によって通信された情報に関して情報を再分配(例えば、マルチキャスト、ミラー)することができる。ストレージコントローラ306A-Nは、通信モジュール302A-N、ストレージデバイスモジュール310A-Nおよびホストモジュール308と通信することができる。
図4Aは、1つの実施形態において、ストレージコントローラメモリモジュールにおけるデータセットの取得、生成および格納を示すプロセスフローである。動作402において、ストレージコントローラ(例えば、図2のストレージコントローラ206)のデータセットが取得され得る(例えば、図2の再分配モジュール200を使用して)。動作404では、ストレージコントローラメモリモジュール(例えば、図2のストレージコントローラメモリモジュール204)にデータセットを格納する前に、追加のデータセットを生成することができる(例えば、図2の再分配モジュール200を使用して)。動作406では、この追加のデータセットは、ストレージコントローラメモリモジュールにデータセットを格納する前に、追加のストレージコントローラに通信することができる(例えば、図1の通信モジュール102を使用して)。
動作408で、ストレージコントローラメモリモジュール104A-Bにデータセットを格納する前に、追加のストレージコントローラ(例えば、図1のストレージコントローラ106A-B)に追加のデータセットを通信することによって、ホストコントローラへの初期書き込み信号を加速することができる。データセット(例えば、データセットおよび追加のデータセット)は、コントローラ加速された初期書き込み信号がホストコントローラに送られる前に、2つまたはそれ以上のストレージコントローラメモリ(例えば、図1のストレージコントローラメモリモジュール104A-B)に格納する必要がある場合がある。ストレージコントローラメモリの読み取り動作をなくし、追加ストレージコントローラメモリへの後続の書き込み動作を延期することを回避することで、初期書き込み信号を加速することができる。1つ以上のストレージコントローラメモリにメモリ書き込み動作を一時に実行し(これは最初の書き込み動作が完了した後に初めて追加の書き込み動作を開始することができる場合には不可能なこともある)、初期書き込み信号を加速することができる。動作410では、データセットはストレージコントローラメモリモジュール104A-Bに格納することができる。
図4Bは、一実施形態における図4Aのプロセスフローの続きで、追加のデータセットの追加の動作を示す。動作412においては、追加のデータセットの格納は、ストレージコントローラメモリモジュール104A-Bにおけるデータセットの保存の完了前に開始することができる。動作414においては、追加のデータセットを追加のストレージコントローラメモリモジュール104A-Bに格納することができる。追加のデータセットは、同一のデータペイロードを持った個別のメモリ書き込みパケットを作成することによって生成されることができる(例えば、図2の再分配モジュール200を使用して)。個別のメモリ書き込みパケットは、PCIeスイッチ212を使用して作成することができる。追加のデータセットは、メモリ読み取り動作を回避できる追加のストレージコントローラに通信することができる。動作416においては、ストレージコントローラ206のメモリ帯域幅の負荷を、メモリ読み取り動作を回避することによって減少することができる。追加のデータセットは、転送モジュールを使用して、追加のストレージコントローラ306A-Nに通信する(例えば、通信モジュール302A-Nを使用して)ことができる。さらに、転送モジュールは、ストレージコントローラ306A-Nおよび追加ストレージコントローラ306A-Nに接続することができる。
動作418においては、補足データセットを生成する(例えば、図1の再分配モジュール100A-Bを使用して)ことができ、これが補足のデータセットを補足ストレージコントローラ106A-Bに通信し、補足のストレージコントローラメモリモジュール106-Bに補足のデータセットを格納することができる。ストレージコントローラ106A-Bのデータセットは、ホストモジュール(例えば、図1のホストモジュール108)と、ストレージコントローラメモリモジュール(例えば、図1のストレージコントローラメモリモジュール104 A-B)との間の再分配モジュール(例えば、図1の再分配モジュール100A-B)によって取得することができる。ストレージコントローラ106A-Bは再分配モジュール100A-Bを含むことができる。
図5は、一実施形態に従う、ストレージコントローラメモリモジュールにおいて追加のデータセットを取得、生成、格納するために、再分配モジュールその他のモジュールを形成する過程を示すプロセスフローである。動作502では、ストレージコントローラのデータセットを取得し、ストレージコントローラメモリモジュール(たとえば図2のメモリモジュール204)にデータセットを格納する前に追加のデータセットを生成することのできる再分配モジュール(例えば、図2の再分配モジュール200)を形成することができる。動作504においては、ストレージコントローラメモリモジュール204にデータセットを格納する前に、追加のデータセットを追加のストレージコントローラに通信することのできる再分配モジュール 200と結合され得る通信モジュール202を形成することができる。
動作506においては、データセットを格納し得るストレージコントローラ206において、再分配モジュール200に結合され得るストレージコントローラメモリモジュール204を配置することができる。動作508においては、追加のデータセットを格納し得る追加のストレージコントローラ306A-N内の通信モジュール302A-Nと結合され得る、追加のストレージコントローラメモリモジュール(例えば、図2のメモリモジュール204)を配置することができる。この追加のデータセットは、同一のデータペイロードを持った個別のメモリ書き込みパケットを作成することによって生成することができる。この個別のメモリ書き込みパケットは、PCIeスイッチを使用して作成することができる。
本実施形態は特定の例によって記述されてはいるが、様々な実施形態のより広範な趣旨および範囲から逸脱することなく、様々な修正および変更をこれらの実施形態に行なうことができることが明らかであろう。例えば、ここに記述された様々なデバイス、モジュール、分析装置、発生装置などは、ハードウェア回路(例えば、CMOSベースの論理回路)、ファームウェア、ソフトウェアならびに/またはハードウェア、ファームウェアおよび/もしくはソフトウェアの任意の組み合わせ(例えば、機械読み取り可能なメディアで具体化)を用いて使用可能にして動作させることができる。例えば、種々の電気的構造および方法は、トランジスタ、論理ゲートおよび電気回路(例えば、アプリケーションに特定の統合(ASIC)回路および/またはデジタル信号プロセッサ(DSP) 回路)を使用して具体化されることができる。
特に、再配布モジュール100A-B、通信モジュール102、メモリモジュール104A-B、ストレージコントローラ106A-Bは、ホストモジュール108、図1のストレージデバイスモジュール110A-N、再配布モジュール200、通信モジュール202、メモリモジュール204、ストレージコントローラ206、ホストモジュール208、ストレージデバイスモジュール210A-B、PCIeスイッチ212、PCIeバス214、入力I/Oモジュール216、出力I/Oモジュール218、図2のコントローラモジュール220、および通信モジュール302A-N、ストレージコントローラ306A-N、ホストモジュール308、図3のストレージデバイスモジュール310A-Nは、再分配回路、通信回路、メモリ回路、ストレージコントローラ回路、ホスト回路、ストレージデバイス回路、PCIeスイッチ回路、入力I/O回路、出力I/O回路、コントローラ回路、およびその他の回路を使用して使用可能にすることができる。
さらに、ここで開示された様々な動作、プロセス、および方法は、データ処理システム(例えば、コンピュータシステム)と互換性のある機械可読媒体および/またはマシンアクセスアクセス可能な媒体において具体化することができ、また、任意の順序で実行することができる(たとえば様々な動作を実現するための手段を用いることを含む)ことが理解されるであろう。したがって、明細書及び図面は、限定的なものとしてではなく、例示的ものとしてみなされるべきである。

Claims (20)

  1. ストレージコントローラのデータ再分配方法であって、
    ストレージコントローラのデータセットを取得するステップと、
    ストレージコントローラメモリモジュールに前記データセットを格納する前に、少なくとも1つの追加のデータセットを生成するステップと、
    前記ストレージコントローラメモリモジュールに前記データセットを格納する前に、前記少なくとも1つの追加のデータセットを追加のストレージコントローラに通信するステップと、
    前記データセットを、前記ストレージコントローラメモリモジュールに格納するステップと、
    前記少なくとも1つの追加のデータセットを追加のストレージコントローラメモリモジュールに格納するステップとを備える方法。
  2. 請求項1の方法であって、
    前記少なくとも1つの追加のデータセットは、同一のデータペイロードを持った少なくとも1つの個別のメモリ書き込みパケットを作成することによって生成される、方法。
  3. 請求項2の方法であって、
    前記少なくとも1つの個別のメモリ書き込みパケットは、PCIeスイッチを使用して作成される、方法。
  4. 請求項1の方法であって、
    前記追加のデータセットを前記追加のストレージコントローラに通信することによって、メモリ読み取り動作を回避する、方法。
  5. 請求項4の方法であってさらに、
    メモリ読み取り動作を回避することによって前記ストレージコントローラのメモリ帯域幅の負荷を削減するステップを備える、方法。
  6. 請求項5の方法であって、
    前記追加のデータセットは、転送モジュールを使用して前記追加のストレージコントローラに通信され、前記転送モジュールは、前記ストレージコントローラおよび前記追加のストレージコントローラに結合される、方法。
  7. 請求項5の方法であってさらに、
    前記ストレージコントローラメモリモジュールに前記データセットの格納を完了する前に、前記追加データセットの格納を開始するステップを備える、方法。
  8. 請求項7の方法であってさらに、
    補足データセットを生成するステップと、前記補足データセットを補足ストレージコントローラに通信するステップと、補足ストレージコントローラメモリモジュールに前記補足データセットを格納するステップとを備える、方法。
  9. 請求項1の方法であってさらに、
    前記ストレージコントローラメモリモジュールに前記データセットを格納する前に、追加のストレージコントローラに前記追加のデータセットを通信することによって、ホストコントローラへの初期書き込み信号を加速するステップを備える、方法。
  10. 請求項1の方法であって、
    前記ストレージコントローラの前記データセットは、ホストモジュールとストレージコントローラメモリとの間の再分配モジュールによって取得される、方法。
  11. 請求項10の方法であって、
    前記ストレージコントローラは前記再分配モジュールで構成される、方法。
  12. ストレージコントローラのデータ再分配システムであって、
    ストレージコントローラのデータセットを取得し、ストレージコントローラメモリモジュールに前記データセットを格納する前に追加のデータセットを生成する再分配モジュールと、
    前記ストレージコントローラメモリモジュールにデータセットを格納する前に、追加のストレージコントローラに前記追加のデータセットを通信する通信モジュールと、
    前記データセットを格納するためのストレージコントローラメモリモジュールと、
    前記追加のデータセットを格納するための追加のストレージコントローラメモリモジュールとを備えるシステム。
  13. 請求項12のシステムであって、
    前記少なくとも1つの追加データセットは、同一のデータペイロードを持った少なくとも1つの個別のメモリ書き込みパケットを作成することによって生成される、システム。
  14. 請求項13のシステムであって、
    前記少なくとも1つの個別のメモリ書き込みパケットは、PCIeスイッチを使用して作成される、システム。
  15. 請求項12のシステムであって、
    前記追加のデータセットを追加のストレージコントローラに通信することによってメモリ読み取り動作を回避する、システム。
  16. 請求項15のシステムであって、
    メモリ読み取り動作を回避することによって、前記ストレージコントローラのメモリ帯域幅の負荷を削減する、システム。
  17. 請求項16の方法であって、
    前記追加のデータセットは、バスを使用して前記追加のストレージコントローラに通信され、前記バスは、前記ストレージコントローラおよび前記追加のストレージコントローラに結合される、方法。
  18. ストレージコントローラのデータセットを取得して、ストレージコントローラメモリモジュールに前記データセットを格納する前に少なくとも1つの追加のデータセットを生成する再分配モジュールを形成するステップと、
    前記再分配モジュールに結合され、ストレージコントローラメモリモジュールに前記データセットを格納する前に、追加のストレージコントローラに前記少なくとも1つの追加のデータセットを通信する通信モジュールを作成するステップと、
    前記ストレージコントローラにおける前記再分配モジュールに結合され、コントローラ前記データセットを格納するためのストレージコントローラメモリモジュールを配置するステップと、
    前記追加のストレージコントローラにおける前記通信モジュールに結合され、前記少なくとも1つの追加データセットを格納するコントローラ、追加のストレージコントローラメモリモジュールを配置するステップとを備える方法。
  19. 請求項18の方法であって、
    前記少なくとも1つの追加データセットは、同一のデータペイロードを持った少なくとも1つの個別のメモリ書き込みパケットを作成することによって生成される、方法。
  20. 請求項19の方法であって、
    前記少なくとも1つの個別のメモリ書き込みパケットは、PCIeスイッチを使用して作成される、方法。
JP2011534470A 2008-10-30 2008-10-30 ストレージコントローラのデータ再配分 Pending JP2012507783A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/081658 WO2010050942A1 (en) 2008-10-30 2008-10-30 Storage controller data redistribution

Publications (1)

Publication Number Publication Date
JP2012507783A true JP2012507783A (ja) 2012-03-29

Family

ID=42129099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011534470A Pending JP2012507783A (ja) 2008-10-30 2008-10-30 ストレージコントローラのデータ再配分

Country Status (7)

Country Link
US (1) US20110238938A1 (ja)
EP (1) EP2350830A4 (ja)
JP (1) JP2012507783A (ja)
KR (1) KR20110088538A (ja)
CN (1) CN102203744A (ja)
TW (1) TW201025018A (ja)
WO (1) WO2010050942A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8373709B2 (en) * 2008-10-03 2013-02-12 Ati Technologies Ulc Multi-processor architecture and method
US8892804B2 (en) * 2008-10-03 2014-11-18 Advanced Micro Devices, Inc. Internal BUS bridge architecture and method in multi-processor systems
US8688906B2 (en) * 2009-11-16 2014-04-01 Lenovo (Singapore) Pte. Ltd. Apparatus and method for distributing writes asymmetrically among drives
US20120051359A1 (en) * 2010-08-30 2012-03-01 O'brien John Apparatus and method to manage multicast data transfers in a multiple storage element system that contains data storage
US9189441B2 (en) * 2012-10-19 2015-11-17 Intel Corporation Dual casting PCIE inbound writes to memory and peer devices
US9304902B2 (en) 2013-03-15 2016-04-05 Saratoga Speed, Inc. Network storage system using flash storage
US9489151B2 (en) 2013-05-23 2016-11-08 Netapp, Inc. Systems and methods including an application server in an enclosure with a communication link to an external controller
US10313236B1 (en) 2013-12-31 2019-06-04 Sanmina Corporation Method of flow based services for flash storage
US9606944B2 (en) * 2014-03-20 2017-03-28 International Business Machines Corporation System and method for computer memory with linked paths
US9448742B2 (en) * 2014-03-27 2016-09-20 Western Digital Technologies, Inc. Communication between a host and a secondary storage device
US9608936B1 (en) 2014-07-03 2017-03-28 Sanmina Corporation Network system with offload services for flash storage
US9672180B1 (en) * 2014-08-06 2017-06-06 Sanmina Corporation Cache memory management system and method
US9715428B1 (en) 2014-09-24 2017-07-25 Sanmina Corporation System and method for cache data recovery
US20160092118A1 (en) * 2014-09-26 2016-03-31 Intel Corporation Memory write management in a computer system
CN107515723B (zh) * 2016-06-16 2020-04-24 伊姆西Ip控股有限责任公司 用于管理存储系统中的存储器的方法和系统
WO2021012179A1 (zh) * 2019-07-23 2021-01-28 华为技术有限公司 存储系统中实现存储业务连续性的方法、前端接口卡和存储系统
US11513699B2 (en) * 2019-08-01 2022-11-29 EMP IP Holding Company, LLC System and method for caching data in persistent memory of a non-volatile memory express storage array enclosure
JP7354355B1 (ja) * 2022-05-31 2023-10-02 株式会社日立製作所 ストレージシステムおよび暗号演算方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160432A (ja) * 1993-12-09 1995-06-23 Toshiba Corp 磁気ディスクコントロ−ラの二重化方式
US20080155133A1 (en) * 2006-12-22 2008-06-26 Fujitsu Limited Storage apparatus, storage apparatus control method, and recording medium of storage apparatus control program

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6189079B1 (en) * 1998-05-22 2001-02-13 International Business Machines Corporation Data copy between peer-to-peer controllers
US6819332B2 (en) * 2001-02-27 2004-11-16 3Dlabs Inc. Ltd. Antialias mask generation
US7536495B2 (en) * 2001-09-28 2009-05-19 Dot Hill Systems Corporation Certified memory-to-memory data transfer between active-active raid controllers
US7143227B2 (en) * 2003-02-18 2006-11-28 Dot Hill Systems Corporation Broadcast bridge apparatus for transferring data to redundant memory subsystems in a storage controller
US7609723B2 (en) * 2003-05-23 2009-10-27 Intel Corporation Packet combining on PCI express
US8185663B2 (en) * 2004-05-11 2012-05-22 Hewlett-Packard Development Company, L.P. Mirroring storage interface
US7389393B1 (en) * 2004-10-21 2008-06-17 Symantec Operating Corporation System and method for write forwarding in a storage environment employing distributed virtualization
US7549034B2 (en) * 2005-11-10 2009-06-16 International Business Machines Corporation Redistribution of memory to reduce computer system power consumption
WO2008070191A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a reconfigurable baseboard management controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160432A (ja) * 1993-12-09 1995-06-23 Toshiba Corp 磁気ディスクコントロ−ラの二重化方式
US20080155133A1 (en) * 2006-12-22 2008-06-26 Fujitsu Limited Storage apparatus, storage apparatus control method, and recording medium of storage apparatus control program
JP2008158799A (ja) * 2006-12-22 2008-07-10 Fujitsu Ltd ストレージ装置、ストレージ装置の制御方法、及びストレージ装置の制御プログラム

Also Published As

Publication number Publication date
WO2010050942A1 (en) 2010-05-06
US20110238938A1 (en) 2011-09-29
EP2350830A4 (en) 2013-05-22
KR20110088538A (ko) 2011-08-03
TW201025018A (en) 2010-07-01
CN102203744A (zh) 2011-09-28
EP2350830A1 (en) 2011-08-03

Similar Documents

Publication Publication Date Title
JP2012507783A (ja) ストレージコントローラのデータ再配分
US11294830B2 (en) Training and operations with a double buffered memory topology
US9773531B2 (en) Accessing memory
US9507529B2 (en) Apparatus and method for routing information in a non-volatile memory-based storage device
JP5788151B2 (ja) Dimmにおける相変化メモリ
US10203878B2 (en) Near memory accelerator
US9645940B2 (en) Apparatus and method for accessing a non-volatile memory blade using multiple controllers in a non-volatile memory based storage device
US7958299B2 (en) Hard disk system state monitoring method
KR20130142182A (ko) 데이터 중복 제거
US11561715B2 (en) Method and apparatus for presearching stored data
US11507298B2 (en) Computational storage systems and methods
WO2021098485A1 (zh) PCIe设备的上下电控制方法以及系统
CN106844249A (zh) 基于RapidIO总线的RAID存储系统及方法
JP2008009817A (ja) 半導体装置及びデータ転送方法
JP2006344220A5 (ja)
US20190114434A1 (en) Method and apparatus to prevent unauthorized operation of an integrated circuit in a computer system
TW201112130A (en) Controllers and methods for controlling data transfer, and electronic systems
TWI474254B (zh) 用於在一記憶體系統中執行命令的方法與裝置及資料儲存系統
US20090049334A1 (en) Method and Apparatus to Harden an Internal Non-Volatile Data Function for Sector Size Conversion
JP2006209773A (ja) ストレージ・デバイスを保守する装置、システム、プログラム、および方法(ストレージ・デバイスの保守を実行する装置、システム、および方法)
TW202011208A (zh) 儲存設備及儲存方法
JP2016539418A (ja) 不揮発性メモリベースの記憶装置において情報をルーティングする装置および方法
US11003391B2 (en) Data-transfer-based RAID data update system
KR100554541B1 (ko) 램기반의 스토리지 장치
US20230120600A1 (en) Data Storage Devices, Systems, and Related Methods for Grouping Commands of Doorbell Transactions from Host Devices

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130329

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150825

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160209