JP5962260B2 - ストレージ装置および書込完了通知方法 - Google Patents
ストレージ装置および書込完了通知方法 Download PDFInfo
- Publication number
- JP5962260B2 JP5962260B2 JP2012147930A JP2012147930A JP5962260B2 JP 5962260 B2 JP5962260 B2 JP 5962260B2 JP 2012147930 A JP2012147930 A JP 2012147930A JP 2012147930 A JP2012147930 A JP 2012147930A JP 5962260 B2 JP5962260 B2 JP 5962260B2
- Authority
- JP
- Japan
- Prior art keywords
- notification
- control device
- data
- dma
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Description
図1は、実施例1に係るストレージ装置のハードウェア構成を示す図である。図1に示すように、ストレージ装置9は、複数のCM(Controller Module)1〜4とディスク5、6とPCIeスイッチ7とを有する。CM1〜4は、PCIeスイッチ7を介して互いに接続されている。CM1、2は、ディスク5と接続し、データを冗長化する。CM3、4は、ディスク6と接続し、データを冗長化する。さらに、CM4は、サーバなどのホストコンピュータを示すホスト8と接続する。以下では、CM4が、ホスト8からCM1、2が管轄するディスク5へのデータの書き込み命令を受け取る場合の動作を中心に説明する。なお、CM4が、「第2の制御装置」の一例であり、CM1、2が、「第1の制御装置」の一例である。
次に、実施例1に係るストレージ装置のCM間のシーケンスを、図2を参照して説明する。図2は、実施例1に係るストレージ装置のCM間のシーケンスを示す図である。なお、図2では、CM1をCM#0とし、CM2をCM#1とし、CM3をCM#2とし、CM4をCM#3として説明するものとする。なお、ホスト8は、CM#3と接続されているとする。また、図2で示すアラートとは、例えばアラート信号を意味する。
上記実施例1によれば、CM1では、メモリコントローラ12が、キュー12aを用いてDIMM11へのデータの書き込みを制御する。そして、PCIeスイッチ16が、メモリコントローラ12内のキュー12aが満杯であるか否かを判定し、メモリコントローラ12内のキュー12aが満杯であると判定した場合、満杯である旨をCM4へ通知する。CM4では、ホスト8からCM1が管轄するディスク5へのデータの書込み命令が受け付けられた場合、CPU48が、CM1からキュー12aが満杯である旨が通知されたか否かを判定する。そして、CM1から満杯である旨が通知されたと判定された場合、CPU48が、書き込み命令のデータを他のCMに退避する。さらに、退避が完了した後、CPU48が、CA43を介して、書き込みが完了したことをホスト8へ通知する。かかる構成によれば、CM4は、ホスト8からキュー12aが満杯であるCM1のデータの書き込み命令を受けても、データを退避したうえでホスト8にデータの書き込みが完了したことを通知するので、ホスト8のライト性能の低下を抑制できる。
図3は、実施例2に係るストレージ装置のハードウェア構成を示す図である。なお、図1に示すストレージ装置9と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。実施例1と実施例2とが異なるところは、PCIeスイッチ16をPCIeスイッチ16Aに変更した点にある。また、実施例1と実施例2とが異なるところは、CPU18をCPU18Aに変更した点にある。さらに、実施例1と実施例2とが異なるところは、CPU48をCPU48Aに変更した点にある。
実施例2に係るストレージ装置のCM間のシーケンスについては、実施例1と同様であるので、その説明については省略する。
上記実施例2によれば、CM1では、CPU18Aが、メモリコントローラ12内のキュー12aが満杯である旨(アラート)をPCIeスイッチ16Aからの通知を受けて、PCIeスイッチ7を介してCM4へ通知する。そして、CM4では、CPU48Aが、CM1からキュー12aが満杯である旨が通知されたか否かを判定する。かかる構成によれば、CM4は、CM1のメモリコントローラ12内のキュー12aが枯渇していることを新たな装置を追加しないでも容易にCM1に知ることができる。この結果、ホスト8から同じCM1に対してライト命令が集中した場合であっても、ホスト8のライト性能の低下を抑制することが可能となる。
図4は、実施例3に係るストレージ装置のハードウェア構成を示す図である。なお、図1に示すストレージ装置9と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。実施例1と実施例3とが異なるところは、ストレージ装置9Bにバックエンドインタフェーススイッチ10を追加した点にある。また、実施例1と実施例3とが異なるところは、CPU48をCPU48Bに変更した点にある。
次に、実施例3に係るストレージ装置のCM間のシーケンスを、図5A〜図5Cを参照して説明する。図5A〜図5Cは、実施例3に係るストレージ装置のCM間のシーケンスを示す図である。なお、図5A〜図5Cでは、CM1をCM#0とし、CM2をCM#1とし、CM3をCM#2とし、CM4をCM#3として説明するものとする。なお、ホスト8は、CM#3と接続されているとする。また、図5A〜図5Cで示すアラートとは、例えばアラート信号を意味する。
上記実施例によれば、CM4では、CPU48Bが、CM1およびCM2が管轄するディスクへのデータの書き込み命令が受け付けられた場合、CM1またはCM2からメモリコントローラ内のキューが満杯である旨が通知されたか否かを判定する。そして、CM1またはCM2から満杯である旨が通知されたと判定された場合、CPU48Bが、さらに、自CMと冗長化されたCM3からメモリコントローラ内のキューが満杯である旨が通知されたか否かを判定する。そして、CM3から満杯である旨が通知されたと判定された場合、CPU48Bは、書き込み命令のデータを自CMと冗長化されたCM3と異なるCMであって満杯である旨が通知されなかったCMに退避する。かかる構成によれば、CM4は、自CMと冗長化されたCM3から満杯である旨が通知されても、満杯である旨が通知されなかった他のCMに書き込み命令のデータを退避できる。この結果、CM4は、自CMの万一の故障に備えてデータを退避することができ、データの喪失を確実に防ぐことができる。
なお、実施例1、3では、PCH47が、他のCMからアラート信号を入力するようにした。しかしながら、アラート信号を入力するデバイスは、PCH47に限定されず、他のCMからアラート信号を入力できるCM間の接続装置であれば良い。
前記メモリコントローラにより管理されているキューの状態を判定する第1の判定部と、
前記第1の判定部によって前記メモリコントローラ内のキューが所定の状態であると判定された場合、前記所定の状態である旨を示す状態通知を出力する第1の通知部と、を有する第1の制御装置と、
上位装置から前記第1の制御装置が管轄するストレージへのデータの書込み命令を受信した場合、前記第1の制御装置から出力された前記状態通知が受信済みか否かを判定する第2の判定部と、
前記第2の判定部によって前記第1の制御装置から出力された前記状態通知が受信済みであると判定された場合、前記書込み命令のデータを他の制御装置に退避する退避部と、
前記退避部によって前記書込み命令のデータの退避が完了した後、前記上位装置へ書き込みが完了した旨を示す完了通知を出力する第2の通知部と、を有する第2の制御装置と、
を備えることを特徴とするストレージ装置。
前記第2の判定部は、前記第1の通知部から出力された前記状態通知が受信済みか否かを判定する
ことを特徴とする付記1に記載のストレージ装置。
前記第2の判定部は、前記第1の通知部から出力された前記状態通知が受信済みか否かを判定する
ことを特徴とする付記1に記載のストレージ装置。
前記第2の判定部は、前記第1の通知部から出力された前記状態通知が受信済みか否かを判定する
ことを特徴とする付記1に記載のストレージ装置。
前記退避部は、前記第2の判定部によって前記第1の制御装置から出力された前記状態通知が受信済みであると判定され、且つ自制御装置と冗長化された制御装置から出力された前記状態通知が受信済みであると判定された場合、前記書込み命令のデータを自制御装置と冗長化された制御装置と異なる制御装置であって前記状態通知が受信されなかった制御装置に退避する
ことを特徴とする付記1から付記4のいずれか1つに記載のストレージ装置。
ことを特徴とする付記5に記載のストレージ装置。
前記第1の制御装置からデータの書き込みが完了した旨の通知を受け取ると、前記退避部によって退避されたデータを破棄する破棄部をさらに有する
ことを特徴とする付記1から付記6のいずれか1つに記載のストレージ装置。
前記第1の制御装置が、
データの書き込みを制御するメモリコントローラにより管理されているキューの状態を判定し、
当該判定する処理によって前記メモリコントローラ内のキューが所定の状態であると判定された場合、前記所定の状態である旨を示す状態通知を前記第2の制御装置へ出力し、
前記第2の制御装置が、
上位装置から前記第1の制御装置が管轄するストレージへのデータの書込み命令を受信した場合、前記第1の制御装置から出力された前記状態通知が受信済みか否かを判定し、
当該判定する処理によって前記第1の制御装置から出力された前記状態通知が受信済みであると判定された場合、前記書込み命令のデータを他の制御装置に退避し、
当該退避する処理によって前記書込み命令のデータの退避が完了した後、前記上位装置へ書き込みが完了した旨を示す完了通知を出力する
各処理を実行することを特徴とする書込完了通知方法。
5、6 ディスク
7 PCIeスイッチ
8 ホスト
11、41 DIMM
12、42 メモリコントローラ
13、43 CA
14、44 DI
15、45 DMAコントローラ
16、16A、26、36、46 PCIeスイッチ
17、27、37、47 PCH
18、18A、48、48A、48B CPU
9、9A、9B ストレージ装置
Claims (7)
- データの書き込みを制御するメモリコントローラと、
前記メモリコントローラにより管理されているキューの状態を判定する第1の判定部と、
前記第1の判定部によって前記メモリコントローラ内のキューが、空きがない状態であると判定された場合、前記空きがない状態である旨を示す状態通知を出力する第1の通知部と、を有する第1の制御装置と、
上位装置から前記第1の制御装置が管轄するストレージへのデータの書込み命令を受信した場合、前記第1の制御装置から出力された前記状態通知が、前記空きがない状態である旨の通知であるか否かを判定する第2の判定部と、
前記第2の判定部によって前記第1の制御装置から出力された前記状態通知が、前記空きがない状態である旨の通知であると判定された場合、前記書込み命令のデータを前記第1の制御装置と異なる他の制御装置に退避する退避部と、
前記退避部によって前記書込み命令のデータの退避が完了した後、前記上位装置へ書き込みが完了した旨を示す完了通知を出力する第2の通知部と、を有する第2の制御装置と、
を備えることを特徴とするストレージ装置。 - 前記第1の通知部は、前記状態通知を前記第2の制御装置へ直接出力し、
前記第2の判定部は、前記第1の通知部から出力された前記状態通知が、前記空きがない状態である旨の通知であるか否かを判定する
ことを特徴とする請求項1に記載のストレージ装置。 - 前記第1の通知部は、第1の判定部からの前記状態通知を受けて、前記状態通知を、前記入出力インタフェースを介して前記第2の制御装置へ出力し、
前記第2の判定部は、前記第1の通知部から出力された前記状態通知が、前記空きがない状態である旨の通知であるか否かを判定する
ことを特徴とする請求項1に記載のストレージ装置。 - 前記第1の通知部は、前記状態通知を第1の判定部に問い合わせることによって検出し、検出した前記状態通知を、前記入出力インタフェースを介して前記第2の制御装置へ出力し、
前記第2の判定部は、前記第1の通知部から出力された前記状態通知が、前記空きがない状態である旨の通知であるか否かを判定する
ことを特徴とする請求項1に記載のストレージ装置。 - 前記第2の判定部は、さらに、自制御装置と冗長化された制御装置から出力された前記状態通知が、前記空きがない状態である旨の通知であるか否かを判定し、
前記退避部は、前記第2の判定部によって前記第1の制御装置から出力された前記状態通知が、前記空きがない状態である旨の通知であると判定され、且つ自制御装置と冗長化された制御装置から出力された前記状態通知が、前記空きがない状態である旨の通知であると判定された場合、前記書込み命令のデータを自制御装置と冗長化された制御装置と異なる制御装置であって前記状態通知がされなかった制御装置に退避する
ことを特徴とする請求項1から請求項4のいずれか1つに記載のストレージ装置。 - 前記退避部は、前記第1の制御装置と冗長化された制御装置に退避する
ことを特徴とする請求項5に記載のストレージ装置。 - 第1の制御装置と第2の制御装置を備えるストレージ装置の書込完了通知方法において、
前記第1の制御装置が、
データの書き込みを制御するメモリコントローラにより管理されているキューの状態を判定し、
当該判定する処理によって前記メモリコントローラ内のキューが、空きがない状態であると判定された場合、前記空きがない状態である旨を示す状態通知を前記第2の制御装置へ出力し、
前記第2の制御装置が、
上位装置から前記第1の制御装置が管轄するストレージへのデータの書込み命令を受信した場合、前記第1の制御装置から出力された前記状態通知が、前記空きがない状態である旨の通知であるか否かを判定し、
当該判定する処理によって前記第1の制御装置から出力された前記状態通知が、前記空きがない状態である旨の通知であると判定された場合、前記書込み命令のデータを前記第1の制御装置と異なる他の制御装置に退避し、
当該退避する処理によって前記書込み命令のデータの退避が完了した後、前記上位装置へ書き込みが完了した旨を示す完了通知を出力する
各処理を実行することを特徴とする書込完了通知方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012147930A JP5962260B2 (ja) | 2012-06-29 | 2012-06-29 | ストレージ装置および書込完了通知方法 |
US13/926,434 US20140006742A1 (en) | 2012-06-29 | 2013-06-25 | Storage device and write completion notification method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012147930A JP5962260B2 (ja) | 2012-06-29 | 2012-06-29 | ストレージ装置および書込完了通知方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014010713A JP2014010713A (ja) | 2014-01-20 |
JP5962260B2 true JP5962260B2 (ja) | 2016-08-03 |
Family
ID=49779466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012147930A Expired - Fee Related JP5962260B2 (ja) | 2012-06-29 | 2012-06-29 | ストレージ装置および書込完了通知方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20140006742A1 (ja) |
JP (1) | JP5962260B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9587605B2 (en) | 2012-07-10 | 2017-03-07 | Robert Bosch Gmbh | Holding fixture for an injection device for injecting a medium into a combustion chamber of an internal combustion engine |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377161A (zh) * | 2012-04-24 | 2013-10-30 | 鸿富锦精密工业(深圳)有限公司 | 主板及应用于该主板的数据处理方法 |
US10083035B2 (en) * | 2013-07-15 | 2018-09-25 | Texas Instruments Incorporated | Dual data streams sharing dual level two cache access ports to maximize bandwidth utilization |
US10467157B2 (en) | 2015-12-16 | 2019-11-05 | Rambus Inc. | Deterministic operation of storage class memory |
US10445018B2 (en) * | 2016-09-09 | 2019-10-15 | Toshiba Memory Corporation | Switch and memory device |
CN108121496B (zh) * | 2016-11-28 | 2021-01-29 | 成都华为技术有限公司 | 数据的存储方法、装置和系统 |
KR102392844B1 (ko) * | 2017-03-10 | 2022-05-03 | 삼성전자주식회사 | 메모리 컨트롤러 및 그것을 포함하는 저장 장치 |
CN110073323B (zh) * | 2017-03-24 | 2022-10-25 | 西部数据技术公司 | 使用控制器存储器缓冲区进行推测性执行命令的系统和方法 |
CN111433749B (zh) | 2017-10-12 | 2023-12-08 | 拉姆伯斯公司 | 具有dram高速缓存的非易失性物理存储器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6073205A (en) * | 1997-07-10 | 2000-06-06 | National Instruments Corporation | System and method of write posting in a universal serial bus system |
US5948081A (en) * | 1997-12-22 | 1999-09-07 | Compaq Computer Corporation | System for flushing queued memory write request corresponding to a queued read request and all prior write requests with counter indicating requests to be flushed |
EP1193962A1 (en) * | 2000-09-21 | 2002-04-03 | Siemens Aktiengesellschaft | Transmission of real-time data from a network element to an application server with recovery method for link failure |
US8706968B2 (en) * | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
JP5403665B2 (ja) * | 2009-03-30 | 2014-01-29 | エヌイーシーコンピュータテクノ株式会社 | データ転送方法 |
-
2012
- 2012-06-29 JP JP2012147930A patent/JP5962260B2/ja not_active Expired - Fee Related
-
2013
- 2013-06-25 US US13/926,434 patent/US20140006742A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9587605B2 (en) | 2012-07-10 | 2017-03-07 | Robert Bosch Gmbh | Holding fixture for an injection device for injecting a medium into a combustion chamber of an internal combustion engine |
Also Published As
Publication number | Publication date |
---|---|
JP2014010713A (ja) | 2014-01-20 |
US20140006742A1 (en) | 2014-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5962260B2 (ja) | ストレージ装置および書込完了通知方法 | |
US7526592B2 (en) | Interrupt control system and storage control system using the same | |
US8924606B2 (en) | Storage system and data transfer control method | |
US8572342B2 (en) | Data transfer device with confirmation of write completion and method of controlling the same | |
US7849235B2 (en) | DMA controller, node, data transfer control method and storage medium | |
JP5204195B2 (ja) | データ送信システムおよびデータ送信プログラム | |
JP2003208267A5 (ja) | ||
US9128633B2 (en) | Semiconductor memory device and method of operating the semiconductor memory device | |
JP2013020284A (ja) | デバイスコントローラ、usbデバイスコントローラ及び電力制御方法 | |
US20110289243A1 (en) | Communication control device, data communication method and program | |
JP2009266119A (ja) | ストレージ装置及びデータ転送方法 | |
JP2013025692A (ja) | ストレージ装置及びその負荷状態低減方法 | |
JP2019095971A (ja) | ストレージシステム、ストレージ制御装置およびプログラム | |
JP2013041403A (ja) | 情報処理装置および情報処理方法 | |
US7590765B2 (en) | Bulk data transfer and buffer control device and electronic instrument | |
JP3988146B2 (ja) | マルチノードシステム、ノード間クロスバスイッチ、ノード、スイッチプログラム及びノードプログラム | |
JP2012168635A (ja) | 二重化制御装置 | |
JP5316502B2 (ja) | I/oブリッジ装置、応答通知方法、及びプログラム | |
JP2009237872A (ja) | メモリ制御装置,メモリ制御方法および情報処理装置 | |
US7757016B2 (en) | Data transfer device, semiconductor integrated circuit, and processing status notification method | |
KR20160005646A (ko) | 메모리 네트워크 메카니즘을 가지는 전자 시스템 및 그 동작 방법 | |
WO1998028679A1 (en) | Data transfer with mirroring | |
US20060129714A1 (en) | Method and apparatus for transferring data | |
JP2013505616A (ja) | エラー検出に応答するためのシステム及び方法 | |
JP2006243890A (ja) | バスブリッジおよびデータ転送方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150319 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160308 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160428 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160531 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160613 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5962260 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |