JP2017130002A - ストレージ制御装置および制御プログラム - Google Patents
ストレージ制御装置および制御プログラム Download PDFInfo
- Publication number
- JP2017130002A JP2017130002A JP2016008394A JP2016008394A JP2017130002A JP 2017130002 A JP2017130002 A JP 2017130002A JP 2016008394 A JP2016008394 A JP 2016008394A JP 2016008394 A JP2016008394 A JP 2016008394A JP 2017130002 A JP2017130002 A JP 2017130002A
- Authority
- JP
- Japan
- Prior art keywords
- instruction set
- data
- storage unit
- descriptor
- write
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
Abstract
【解決手段】記憶部13は、記憶部20へのデータの送達状況を確認するための確認用データ2bを記憶部20上のあらかじめ決められた位置から読み出すための命令セット1cを記憶する。プロセッサ11は、書き込みデータ2aを記憶部20へ書き込む書き込み命令と、記憶部13における命令セット1cの位置を含む命令セット1bとを作成して出力する。転送制御部12は、書き込み命令に応じて記憶部20への書き込みデータ2aの書き込みを実行した後、命令セット1bに基づいて記憶部13から命令セット1cを読み出し、命令セット1cに基づいて記憶部20からの確認用データ2bの読み出しを実行し、その実行の成否を判定する。
【選択図】図1
Description
〔第1の実施の形態〕
図1は、第1の実施の形態に係るストレージ制御装置の構成例および処理例を示す図である。図1に示すストレージ制御装置10は、プロセッサ11、転送制御部12および記憶部13を有する。
まず、プロセッサ11は、書き込みデータ2aを記憶部13から記憶部20に書き込むように転送制御部12に指示する(ステップS1a)。この書き込み指示は、例えば、プロセッサ11が命令セット1aを作成して出力することで行われる。命令セット1aには、書き込みを指示する書き込み命令と、記憶部13における書き込みデータ2aの位置を示す転送元アドレスと、記憶部20における書き込みデータ2aの書き込み先を示す転送先アドレスとが含まれる。なお、書き込みデータ2aの転送元および転送先の位置は任意であるので、命令セット1aに含まれる転送元アドレスおよび転送先アドレスは可変である。
図2は、第2の実施の形態に係るストレージシステムの構成例を示す図である。図2に示すストレージシステム50は、CM(Controller Module)100,200、FRT(Frontend RouTer)310およびDE(Drive Enclosure)320を有する。また、CM100,200には、SAN(Storage Area Network)430を介してホスト装置410,420が接続されている。
CM100は、CPU101、RAM102、SSD103、PCIe(PCI express,PCI:Peripheral Component Interconnect)スイッチ(SW)104、CA(Channel Adapter)105、DI(Drive Interface)106およびDMAコントローラ110を有する。
以上の手順により、CPU101は、ディスクリプタ121の作成および格納と終了ポインタの更新によって、RAM102とRAM202との間のデータ転送処理をDMAコントローラ110に実行させることができる。DMAコントローラ110によってデータ転送処理が実行されている間、CPU101は他の処理を並行して実行することができる。
[ステップS21]CPU101のホストアクセス制御部101aは、例えばホスト装置410から、ホストライト要求を受信する。また、ホストアクセス制御部101aは、ホスト装置410からライトデータを受信し、RAM102のバッファ領域に格納する。
[ステップS23]ホストアクセス制御部101aは、CM間ライトの処理内容を記述したディスクリプタ122aと、ダミーリードの処理内容を記述したディスクリプタ122bを作成する。前者のCM間ライトとは、受信したライトデータをRAM102から読み出し、CM200のRAM202に書き込む処理である。ホストアクセス制御部101aは、作成したディスクリプタ122a,122bを、順にディスクリプタ領域120に書き込む。
続いて、図8の処理が実行される。
[ステップS32]ディスクリプタ読み出し部111は、ディスクリプタ122bに基づくダミーリードを転送制御部112に依頼する。転送制御部112は、依頼されたダミーリードを実行する。これにより、CM200のRAM202の所定領域からダミーデータが読み出され、RAM102の所定領域に書き込まれる。
[ステップS35]CPU101のホストアクセス制御部101aは、ステップS34の通知によりダミーリードが正常に実行されたことを認識し、ホスト装置410に対してホストライトが正常に完了したことを応答する。
[ステップS51]CPU101のホストアクセス制御部101aは、例えばホスト装置410から、ホストライト要求を受信する。また、ホストアクセス制御部101aは、ホスト装置410からライトデータを受信し、RAM102のバッファ領域に格納する。
[ステップS53]ホストアクセス制御部101aは、CM間ライトの処理内容を記述したディスクリプタ125aと、ポインタモードのディスクリプタ125bを作成する。ホストアクセス制御部101aは、作成したディスクリプタ125a,125bを、順にディスクリプタ領域120に書き込む。
続いて、図13の処理が実行される。
[ステップS62]ディスクリプタ読み出し部111は、ディスクリプタ125bに設定されたポインタが指し示すRAM102内の記憶領域から、共用ディスクリプタ131を読み出す。
[ステップS64]ディスクリプタ読み出し部111は、転送制御部112によるダミーリードが完了すると、開始ポインタレジスタ113内の開始ポインタを、ディスクリプタ1つ分だけ増加させる。これにより、図13の左側に示すように、開始ポインタと終了ポインタが同じ位置を示すようになる。
[ステップS66]CPU101のホストアクセス制御部101aは、ステップS65の通知によりダミーリードが正常に実行されたことを認識し、ホスト装置410に対してホストライトが正常に完了したことを応答する。
図14は、DMAコントローラの初期化処理の例を示すフローチャートである。図14の処理は、例えば、電源投入によってCM100が起動した際に実行される。
[ステップS102]CPU101は、ダミーリード実行のための共用ディスクリプタ131を作成し、RAM102内のあらかじめ決められた記憶領域に格納する。
[ステップS113]ホストアクセス制御部101aは、CM間ライトの処理内容を記述したディスクリプタを作成し、ディスクリプタ領域120に格納する。作成されるディスクリプタには、バッファ領域に格納したライトデータを読み出し、CM200のRAM202に書き込むという処理内容が記述される。
[ステップS115]ホストアクセス制御部101aは、終了ポインタレジスタ114内の終了ポインタを、ディスクリプタ2つ分だけ増加させる。
[ステップS120]ホストアクセス制御部101aは、ホスト装置410に応答する。エラーが発生していない場合、ホストアクセス制御部101aは、ホストライトが正常に完了したことをホスト装置410に通知する。一方、エラーが発生した場合、ホストアクセス制御部101aは、ホストライトが正常に完了しなかったことをホスト装置410に通知する。
[ステップS131]ディスクリプタ読み出し部111は、開始ポインタレジスタ113および終了ポインタレジスタ114から、それぞれ開始ポインタおよび終了ポインタを読み出す。
[ステップS134]ディスクリプタ読み出し部111は、読み出したディスクリプタのモードの領域に、ポインタモードが設定されているかを判定する。ポインタモードが設定されている場合、ディスクリプタ読み出し部111は、ステップS135の処理を実行する。ポインタモードが設定されていない場合、ディスクリプタ読み出し部111は、ステップS136の処理を実行する。
[ステップS139]ディスクリプタ読み出し部111は、データ転送処理の終了通知をCPU101に出力する。この出力は、例えば割り込みによって行われる。
以上説明した第2の実施の形態では、ダミーリードの実行を指示するためにCPU101が作成するディスクリプタのサイズを小さくすることができる。このため、ダミーリードの実行を指示するたびに共用ディスクリプタ131を作成する場合と比較して、ダミーリードの実行を指示するためのCPU101の処理時間を短縮でき、その処理負荷を低減できる。
2a 書き込みデータ
2b 確認用データ
10 ストレージ制御装置
11 プロセッサ
12 転送制御部
13,20 記憶部
S1a,S1b,S2a〜S2d ステップ
Claims (6)
- 第2の記憶部へのデータの送達状況を確認するための確認用データを前記第2の記憶部上のあらかじめ決められた位置から読み出すための第1の命令セットを記憶する第1の記憶部と、
書き込みデータを前記第2の記憶部へ書き込む書き込み命令と、前記第1の記憶部における前記第1の命令セットの位置を含む第2の命令セットとを作成して出力するプロセッサと、
前記書き込み命令に応じて前記第2の記憶部への前記書き込みデータの書き込みを実行した後、前記第2の命令セットに基づいて前記第1の記憶部から前記第1の命令セットを読み出し、前記第1の命令セットに基づいて前記第2の記憶部からの前記確認用データの読み出しを実行し、その実行の成否を判定する転送制御部と、
を有するストレージ制御装置。 - 前記第1の命令セットは、アドレス情報として、前記第2の記憶部における前記確認用データの位置を示す転送元アドレスと、前記確認用データの転送先アドレスとを含み、
前記第2の命令セットは、アドレス情報として、前記第1の記憶部における前記第1の命令セットの位置を示す単独のアドレスを含む、
請求項1記載のストレージ制御装置。 - 前記第1の記憶部は、前記プロセッサから出力された命令セットを一時的に記憶する一時記憶領域を有し、
前記プロセッサは、前記書き込みデータを前記第2の記憶部へ書き込むための第3の命令セットと、前記第2の命令セットとを作成して前記一時記憶領域に格納し、
前記転送制御部は、前記一時記憶領域から前記第3の命令セットを読み出し、前記第3の命令セットに基づいて前記第2の記憶部への前記書き込みデータの書き込みを実行し、次に前記一時記憶領域から前記第2の命令セットを読み出し、前記第2の命令セットに基づいて前記第1の記憶部から前記第1の命令セットを読み出す、
請求項1または2記載のストレージ制御装置。 - 前記第1の記憶部は、ホスト装置からの書き込み要求に応じた、前記ストレージ制御装置に接続された記憶装置に対する前記書き込みデータの書き込み処理を実行する際にキャッシュとして利用されるキャッシュ領域を含み、
前記第2の記憶部は、他のストレージ制御装置に搭載され、前記キャッシュ領域のデータのミラーデータを格納するためのミラーキャッシュ領域を含み、
前記プロセッサは、前記ホスト装置から前記書き込み要求と前記書き込みデータとを受信すると、前記書き込みデータを前記キャッシュ領域に書き込むとともに、前記ミラーキャッシュ領域を書き込み先とする前記書き込み命令と前記第2の命令セットとを出力し、前記キャッシュ領域への前記書き込みデータの書き込みに成功し、かつ、前記転送制御部により前記確認用データの読み出しに成功したと判定されると、前記書き込み要求に対する完了応答を前記ホスト装置に出力する、
請求項1乃至3のいずれか1項に記載のストレージ制御装置。 - 第2の記憶部へのデータの送達状況を確認するための確認用データについての前記第2の記憶部における位置を示す転送元アドレスと、転送先アドレスと、読み出し命令とを含む第1の命令セットを記憶する第1の記憶部と、
第2の命令セットを作成して出力するプロセッサであって、前記第2の命令セットは、転送元アドレスと、前記第2の記憶部における位置を示す転送先アドレスと、書き込み命令とを含む情報群、または、前記第1の記憶部における前記第1の命令セットの位置を示す参照先アドレスと、参照命令とを含む情報群を含む、前記プロセッサと、
前記プロセッサから出力された前記第2の命令セットが前記書き込み命令を含む場合には、前記第2の命令セットに含まれる転送元アドレスと転送先アドレスとに基づいて前記第2の記憶部へのデータの書き込みを実行し、前記プロセッサから出力された前記第2の命令セットが前記参照命令を含む場合には、前記第2の命令セットに含まれる参照先アドレスに基づいて前記第1の記憶部から前記第1の命令セットを読み出し、前記第1の命令セットに基づいて前記第2の記憶部から前記確認用データを読み出し、その成否を判定する転送制御部と、
を有するストレージ制御装置。 - コンピュータに、
第2の記憶部へのデータの送達状況を確認するための確認用データを前記第2の記憶部上のあらかじめ決められた位置から読み出すための第1の命令セットを第1の記憶部に格納し、
書き込みデータを前記第2の記憶部へ書き込む書き込み命令と、前記第1の記憶部における前記第1の命令セットの位置を示す位置情報、および前記位置情報に基づく前記第1の命令セットの読み出し命令を含む第2の命令セットとを作成し、前記第2の記憶部へのアクセス動作を実行する転送制御部に対して前記書き込み命令と前記第2の命令セットとを出力することで、前記第2の記憶部からの前記確認用データの読み出しを前記転送制御部に指示する、
処理を実行させる制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016008394A JP2017130002A (ja) | 2016-01-20 | 2016-01-20 | ストレージ制御装置および制御プログラム |
US15/359,798 US20170206178A1 (en) | 2016-01-20 | 2016-11-23 | Information processing apparatus, method of transferring data, and non-transitory computer-readable recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016008394A JP2017130002A (ja) | 2016-01-20 | 2016-01-20 | ストレージ制御装置および制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017130002A true JP2017130002A (ja) | 2017-07-27 |
Family
ID=59315182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016008394A Pending JP2017130002A (ja) | 2016-01-20 | 2016-01-20 | ストレージ制御装置および制御プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170206178A1 (ja) |
JP (1) | JP2017130002A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108388524A (zh) * | 2016-12-21 | 2018-08-10 | 伊姆西Ip控股有限责任公司 | 用于缓存数据的方法和设备 |
US11036650B2 (en) * | 2019-09-19 | 2021-06-15 | Intel Corporation | System, apparatus and method for processing remote direct memory access operations with a device-attached memory |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6657633B1 (en) * | 2000-09-19 | 2003-12-02 | Garmin International, Inc | DMA computer system for driving an LCD display in a GPS receiver |
US9405682B2 (en) * | 2012-06-23 | 2016-08-02 | Microsoft Technology Licensing, Llc | Storage device access using unprivileged software code |
JP5695126B2 (ja) * | 2013-05-14 | 2015-04-01 | 株式会社日立製作所 | 計算機システム、サーバモジュール及びストレージモジュール |
-
2016
- 2016-01-20 JP JP2016008394A patent/JP2017130002A/ja active Pending
- 2016-11-23 US US15/359,798 patent/US20170206178A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20170206178A1 (en) | 2017-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3616073B1 (en) | Apparatus and method for controlling data acceleration | |
US7631218B2 (en) | RAID system and Rebuild/Copy back processing method thereof | |
US8839030B2 (en) | Methods and structure for resuming background tasks in a clustered storage environment | |
US10027532B2 (en) | Storage control apparatus and storage control method | |
US20110246677A1 (en) | Systems and methods for controlling commands for target devices | |
US20080082713A1 (en) | Interrupt control system and storage control system using the same | |
US8924606B2 (en) | Storage system and data transfer control method | |
US11137918B1 (en) | Administration of control information in a storage system | |
JP2018190376A (ja) | 管理コントローラによるsas/sataハードディスクドライブ更新 | |
JP6652647B2 (ja) | ストレージシステム | |
JP4829370B1 (ja) | メモリ制御装置、メモリ装置および停止制御方法 | |
US20050044283A1 (en) | Apparatus having an inter-module data transfer confirming function, storage controlling apparatus, and interface module for the apparatus | |
JP5998884B2 (ja) | ストレージ装置、およびモジュール間データ転送方法 | |
JP2017130002A (ja) | ストレージ制御装置および制御プログラム | |
US20090049334A1 (en) | Method and Apparatus to Harden an Internal Non-Volatile Data Function for Sector Size Conversion | |
JP6944117B2 (ja) | 情報処理装置、転送制御方法および転送制御プログラム | |
US11010080B2 (en) | Layout based memory writes | |
WO2016059715A1 (ja) | 計算機システム | |
US20130031320A1 (en) | Control device, control method and storage apparatus | |
US20120017057A1 (en) | Data copying device, method for copying data and data storage device | |
US10719391B2 (en) | Storage system and storage control apparatus | |
US10503678B1 (en) | Fabric management system and method | |
US10235317B1 (en) | Fabric management system and method | |
KR101972535B1 (ko) | 반도체 저장 장치 | |
US10235316B1 (en) | Fabric management system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180912 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190426 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190514 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190712 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20190712 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190712 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20191217 |