JP4516999B2 - データ通信制御装置、データ通信制御方法およびそのためのプログラム - Google Patents
データ通信制御装置、データ通信制御方法およびそのためのプログラム Download PDFInfo
- Publication number
- JP4516999B2 JP4516999B2 JP2008318822A JP2008318822A JP4516999B2 JP 4516999 B2 JP4516999 B2 JP 4516999B2 JP 2008318822 A JP2008318822 A JP 2008318822A JP 2008318822 A JP2008318822 A JP 2008318822A JP 4516999 B2 JP4516999 B2 JP 4516999B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- channel
- data
- storage unit
- data storage
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Description
図1は、本願のデータ通信制御装置と対比させる対象となるデータ通信制御装置の構成を示すブロック図であり、図2は、図1のデータ通信制御装置におけるDMAコントローラとハードウェアコマンドキュー(以下、HWコマンドキューと略記することもある)との関係を示すブロック図である。ただし、ここでは、複数のコントローラモジュールとして、7個のコントローラモジュール110−1〜110−7(CM♯0〜CM♯6)を代表して示す。
このデータ通信制御装置は、データ転送用のコマンドをデータの転送先に従って格納するように用意されるチャネルを複数有する第1のデータ保存部を含み、且つチャネルの先頭に格納されるデータ転送用のコマンドを実行してデータを転送するメモリアクセス制御部と、ある1つのチャネルに格納されるコマンドの数が予め定められた上限値を超えない場合、第1のデータ保存部のチャネルにコマンドを格納し、ある1つのチャネルのコマンドの数が上限値を超えた場合、第1のデータ保存部のチャネルにコマンドを格納することを停止し且つ第2のデータ保存部を生成し且つ第2のデータ保存部にコマンドを格納する統括制御部と、を有する。
コントローラでは、これらのチャネルとは別に、実際にダイレクトメモリアクセスを行うエンジンEG−1,EG−2が設けられている。これらのエンジンEG−1,EG−2の数はチャネルの数より少ない。エンジンEG−1,EG−2は全てのチャネルで共有されており、特定のチャネルに対して固定的に結合されていない。ここで、エンジンEG−1,EG−2は、ラウンドロビン形式で各チャネルからコマンドを取得して適切な処理を行う。このHWコマンドキュー内のコマンド(DC)は、エンジンEG−1又はEG−2によって先頭から順番に実行され、同一のHWコマンドキュー内の複数のコマンドが同時に実行されることはない。
処理(1):CPUは、HWコマンドキュー内のある1つのチャネルのコマンドの数が上限値ULに達するまで、従来の場合と同様にコントローラに処理依頼を行う。
処理(2):HWコマンドキュー内のある1つのチャネルのコマンドの数が上限値ULに達したら、新規コマンドをHWコマンドキュー格納せず且つコントローラへの新規コマンドに対する処理依頼を行わず、新規コマンドをFWコマンドキューに格納する。
処理(3):HWコマンドキュー内のある1つのチャネルのコマンドの数が下限値LLを下回るまでコントローラの処理が進んだら、前述の処理(1)に戻り通常の処理を行う。
処理(4):前述の処理(1)〜(3)による処理を繰り返す。
データ転送用のコマンドを前記データの転送先に従って格納するように用意されるチャネルを複数有する第1のデータ保存部を含み、且つ前記チャネルの先頭に格納される前記データ転送用のコマンドを実行して前記データを転送するメモリアクセス制御部と、
ある1つのチャネルに格納されるコマンドの数が予め定められた上限値を超えない場合、前記第1のデータ保存部のチャネルにコマンドを格納し、前記ある1つのチャネルのコマンドの数が前記上限値を超えた場合、前記第1のデータ保存部のチャネルにコマンドを格納することを停止し、第2のデータ保存部を設け且つ前記第2のデータ保存部にコマンドを格納する統括制御部と、
を有するデータ通信制御装置。
(付記2)
前記統括制御部は、前記第2のデータ保存部にコマンドが存在する場合、前記第1のデータ保存部のチャネルにコマンドを格納することを行わず、コマンドを前記第2のデータ保存部に格納する付記1に記載のデータ通信制御装置。
(付記3)
前記統括制御部は、前記第1のデータ保存部の各チャネルに格納されているコマンドの数が零になった場合、前記第2のデータ保存部に格納されているコマンドを先頭から取り出して前記第1のデータ保存部のチャネルに格納する付記1または2に記載のデータ通信制御装置。
(付記4)
前記統括制御部は、前記第1のデータ保存部の各チャネルに格納されているコマンドの数が前記上限値を下回った場合、前記第2のデータ保存部に格納されているコマンドを先頭から取り出して前記第1のデータ保存部のチャネルに格納する付記1または2に記載のデータ通信制御装置。
(付記5)
前記統括制御部は、前記第1のデータ保存部の各チャネルに格納されているコマンドの数が、予め定められた下限値を下回った場合、前記第2のデータ保存部に格納されているコマンドを先頭から取り出して前記第1のデータ保存部のチャネルに格納する付記1または2記載のデータ通信制御装置。
(付記6)
データ転送用のコマンドを前記データの転送先に従って格納するように用意されるチャネルを複数有する第1のデータ保存部を含み、且つ前記チャネルの先頭に格納される前記データ転送用のコマンドを実行して前記データを転送するメモリアクセス制御部と、統括制御部とを有するデータ通信制御装置を制御するためのデータ通信制御方法であって、
前記統括制御部は、ある1つのチャネルに格納されるコマンドの数が予め定められた上限値を超えない場合、前記第1のデータ保存部のチャネルにコマンドを格納するステップと、
前記統括制御部は、前記ある1つのチャネルのコマンドの数が前記上限値を超えた場合、前記第1のデータ保存部のチャネルにコマンドを格納することを停止し、第2のデータ保存部を設け且つ前記第2のデータ保存部にコマンドを格納するステップと
を有するデータ通信制御方法。
(付記7)
前記統括制御部は、前記第2のデータ保存部にコマンドが存在する場合、前記第1のデータ保存部のチャネルにコマンドを格納することを行わず、コマンドを前記第2のデータ保存部に格納するステップをさらに有する付記6に記載のデータ通信制御方法。
(付記8)
前記統括制御部は、前記第1のデータ保存部の各チャネルに格納されているコマンドの数が零になった場合、前記第2のデータ保存部に格納されているコマンドを先頭から取り出して前記第1のデータ保存部のチャネルに格納するステップをさらに有する付記6または7に記載のデータ通信制御方法。
(付記9)
前記統括制御部は、前記第1のデータ保存部の各チャネルに格納されているコマンドの数が前記上限値を下回った場合、前記第2のデータ保存部に格納されているコマンドを先頭から取り出して前記第1のデータ保存部のチャネルに格納するステップをさらに有する付記6または7に記載のデータ通信制御方法。
(付記10)
前記統括制御部は、前記第1のデータ保存部の各チャネルに格納されているコマンドの数が、予め定められた下限値を下回った場合、前記第2のデータ保存部に格納されているコマンドを先頭から取り出して前記第1のデータ保存部のチャネルに格納するステップをさらに有する付記6または7に記載のデータ通信制御方法。
2−2〜2〜7 コントローラ
3 スイッチ部
4−1〜4−7 CPU(ファームウェア)
5−1〜5−7 メモリコントローラハブ(MCH)
6−1〜6−7 記憶部
7−1〜7−7 ディスクインターフェース(DA)
8−1〜8−7 ホストインターフェース(CA)
10 データ通信制御装置
60−1 ハードウェアデータ保存部
61−1〜61−7 第1のデータ保存部
62−1〜62−7 第2のデータ保存部
70−1 ディスクドライブ(ディスク装置)
72−1 ディスク媒体
Claims (7)
- データ転送用のコマンドを前記データの転送先に従って格納するように用意されるチャネルを複数有する第1のデータ保存部を含み、且つ前記チャネルの先頭に格納される前記データ転送用のコマンドを実行して前記データを転送するメモリアクセス制御部と、
ある1つのチャネルに格納されるコマンドの数が予め定められた上限値を超えない場合、前記第1のデータ保存部のチャネルにコマンドを格納し、前記ある1つのチャネルのコマンドの数が前記上限値を超えた場合、前記第1のデータ保存部のチャネルにコマンドを格納することを停止し且つ第2のデータ保存部を生成し且つ前記第2のデータ保存部にコマンドを格納する統括制御部と、
を有するデータ通信制御装置。 - 前記統括制御部は、前記第2のデータ保存部にコマンドが存在する場合、前記第1のデータ保存部のチャネルにコマンドを格納することを行わず、コマンドを前記第2のデータ保存部に格納する請求項1に記載のデータ通信制御装置。
- 前記統括制御部は、前記第1のデータ保存部の各チャネルに格納されているコマンドの数が零になった場合、前記第2のデータ保存部に格納されているコマンドを先頭から取り出して前記第1のデータ保存部のチャネルに格納する請求項1または2に記載のデータ通信制御装置。
- 前記統括制御部は、前記第1のデータ保存部の各チャネルに格納されているコマンドの数が前記上限値を下回った場合、前記第2のデータ保存部に格納されているコマンドを先頭から取り出して前記第1のデータ保存部のチャネルに格納する請求項1または2に記載のデータ通信制御装置。
- 前記統括制御部は、前記第1のデータ保存部の各チャネルに格納されているコマンドの数が、予め定められた下限値を下回った場合、前記第2のデータ保存部に格納されているコマンドを先頭から取り出して前記第1のデータ保存部のチャネルに格納する請求項1または2に記載のデータ通信制御装置。
- データ転送用のコマンドを前記データの転送先に従って格納するように用意されるチャネルを複数有する第1のデータ保存部を含み、且つ前記チャネルの先頭に格納される前記データ転送用のコマンドを実行して前記データを転送するメモリアクセス制御部と、統括制御部とを有するデータ通信制御装置を制御するためのデータ通信制御方法であって、
前記統括制御部は、ある1つのチャネルに格納されるコマンドの数が予め定められた上限値を超えない場合、前記第1のデータ保存部のチャネルにコマンドを格納するステップと、
前記統括制御部は、前記ある1つのチャネルのコマンドの数が前記上限値を超えた場合、前記第1のデータ保存部のチャネルにコマンドを格納することを停止し、第2のデータ保存部を設け且つ前記第2のデータ保存部にコマンドを格納するステップと、
を有するデータ通信制御方法。 - 前記統括制御部は、前記第1のデータ保存部の各チャネルに格納されているコマンドの数が、予め定められた下限値を下回った場合、前記第2のデータ保存部に格納されているコマンドを先頭から取り出して前記第1のデータ保存部のチャネルに格納するステップを有する請求項6に記載のデータ通信制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008318822A JP4516999B2 (ja) | 2008-03-28 | 2008-12-15 | データ通信制御装置、データ通信制御方法およびそのためのプログラム |
US12/382,748 US8601182B2 (en) | 2008-03-28 | 2009-03-23 | Data communication control device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008088296 | 2008-03-28 | ||
JP2008318822A JP4516999B2 (ja) | 2008-03-28 | 2008-12-15 | データ通信制御装置、データ通信制御方法およびそのためのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009259209A JP2009259209A (ja) | 2009-11-05 |
JP4516999B2 true JP4516999B2 (ja) | 2010-08-04 |
Family
ID=41118823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008318822A Expired - Fee Related JP4516999B2 (ja) | 2008-03-28 | 2008-12-15 | データ通信制御装置、データ通信制御方法およびそのためのプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8601182B2 (ja) |
JP (1) | JP4516999B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101662729B1 (ko) * | 2009-05-08 | 2016-10-06 | 삼성전자주식회사 | 시리얼 인터페이스 프로토콜을 사용하여 호스트와 인터페이스하는 비휘발성 메모리 기반 저장 장치의 커맨드 처리 방법 및 상기 방법을 수행하기 위한 메모리 컨트롤러 |
FR2953307B1 (fr) * | 2009-12-01 | 2011-12-16 | Bull Sas | Controleur d'acces direct a une memoire pour le transfert direct de donnees entre memoires de plusieurs dispositifs peripheriques |
FR2953308B1 (fr) * | 2009-12-01 | 2011-12-09 | Bull Sas | Systeme autorisant des transferts directs de donnees entre des memoires de plusieurs elements de ce systeme |
US9170755B2 (en) | 2013-05-21 | 2015-10-27 | Sandisk Technologies Inc. | Command and data selection in storage controller systems |
JP6515457B2 (ja) * | 2014-07-31 | 2019-05-22 | 株式会社リコー | 情報処理システム、情報処理方法および情報処理装置 |
JP2016058033A (ja) * | 2014-09-12 | 2016-04-21 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
KR20190083150A (ko) * | 2018-01-03 | 2019-07-11 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10657087B2 (en) * | 2018-05-31 | 2020-05-19 | Toshiba Memory Corporation | Method of out of order processing of scatter gather lists |
CN113220608B (zh) * | 2021-06-09 | 2022-06-28 | 湖南国科微电子股份有限公司 | 一种NVMe命令处理器及其处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001249770A (ja) * | 2000-03-07 | 2001-09-14 | Hitachi Ltd | コマンドキューイングの機能を持つ記憶装置 |
JP2002163239A (ja) * | 2000-11-22 | 2002-06-07 | Toshiba Corp | マルチプロセッサシステムおよびその制御方法 |
JP2007249635A (ja) * | 2006-03-16 | 2007-09-27 | Nec Corp | データ転送装置及びデータ転送方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5388237A (en) * | 1991-12-30 | 1995-02-07 | Sun Microsystems, Inc. | Method of and apparatus for interleaving multiple-channel DMA operations |
US5386582A (en) * | 1993-03-12 | 1995-01-31 | Intel Corporation | High speed time base counter in a field programmable gate array (FPGA) |
GB2277816B (en) * | 1993-05-04 | 1997-09-03 | Motorola Inc | Data communication system |
US5664116A (en) * | 1995-07-07 | 1997-09-02 | Sun Microsystems, Inc. | Buffering of data for transmission in a computer communication system interface |
US5765032A (en) * | 1996-01-11 | 1998-06-09 | Cisco Technology, Inc. | Per channel frame queuing and servicing in the egress direction of a communications network |
US6246680B1 (en) * | 1997-06-30 | 2001-06-12 | Sun Microsystems, Inc. | Highly integrated multi-layer switch element architecture |
US6230219B1 (en) * | 1997-11-10 | 2001-05-08 | International Business Machines Corporation | High performance multichannel DMA controller for a PCI host bridge with a built-in cache |
US6912637B1 (en) * | 1998-07-08 | 2005-06-28 | Broadcom Corporation | Apparatus and method for managing memory in a network switch |
US6842457B1 (en) * | 1999-05-21 | 2005-01-11 | Broadcom Corporation | Flexible DMA descriptor support |
US6868461B1 (en) * | 2000-07-19 | 2005-03-15 | Mindspeed Technologies, Inc. | Link layer controller that provides a memory status signal to a network layer system in a communication device |
JP2002342252A (ja) | 2001-05-21 | 2002-11-29 | Hitachi Ltd | 入出力装置の起動方式 |
US8010751B2 (en) * | 2002-04-14 | 2011-08-30 | Bay Microsystems | Data forwarding engine |
US7206857B1 (en) * | 2002-05-10 | 2007-04-17 | Altera Corporation | Method and apparatus for a network processor having an architecture that supports burst writes and/or reads |
US7603488B1 (en) * | 2003-07-15 | 2009-10-13 | Alereon, Inc. | Systems and methods for efficient memory management |
US7337248B1 (en) * | 2004-03-19 | 2008-02-26 | Sun Microsystems, Inc. | Adaptive synchronization method for communication in storage systems |
WO2007003987A1 (en) * | 2005-06-30 | 2007-01-11 | Freescale Semiconductor, Inc. | Device and method for executing a dma task |
US7596644B2 (en) * | 2006-01-11 | 2009-09-29 | Solarflare Communications, Inc. | Transmit rate pacing system and method |
JP4883520B2 (ja) * | 2006-01-24 | 2012-02-22 | 株式会社メガチップス | メモリ制御装置およびメモリ制御方法 |
-
2008
- 2008-12-15 JP JP2008318822A patent/JP4516999B2/ja not_active Expired - Fee Related
-
2009
- 2009-03-23 US US12/382,748 patent/US8601182B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001249770A (ja) * | 2000-03-07 | 2001-09-14 | Hitachi Ltd | コマンドキューイングの機能を持つ記憶装置 |
JP2002163239A (ja) * | 2000-11-22 | 2002-06-07 | Toshiba Corp | マルチプロセッサシステムおよびその制御方法 |
JP2007249635A (ja) * | 2006-03-16 | 2007-09-27 | Nec Corp | データ転送装置及びデータ転送方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2009259209A (ja) | 2009-11-05 |
US20090248903A1 (en) | 2009-10-01 |
US8601182B2 (en) | 2013-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4516999B2 (ja) | データ通信制御装置、データ通信制御方法およびそのためのプログラム | |
JP5147584B2 (ja) | ストレージサブシステム及びコントローラによるコマンド実行方法 | |
JP2002269023A5 (ja) | ||
TWI694330B (zh) | 儲存裝置、電腦系統及儲存裝置之動作方法 | |
US10089266B2 (en) | Power saving feature for storage subsystems | |
US8843672B2 (en) | Access method, computer and recording medium | |
JP2010102458A (ja) | コマンドの起動を制御するストレージシステム及び方法 | |
JP2009054083A (ja) | プロセッサ、データ転送ユニット及びマルチコアプロセッサシステム | |
KR20180049340A (ko) | 스토리지 장치 및 그것의 링크 상태 제어 방법 | |
JP2011164750A (ja) | ストレージ装置、ストレージ装置制御プログラムおよびストレージ装置制御方法 | |
JP5377231B2 (ja) | ジョブネット制御プログラムおよびジョブネット制御装置 | |
US7908377B2 (en) | Computer system and data sharing method | |
JP6229733B2 (ja) | 情報処理装置、方法、プログラム及び記録媒体 | |
JP6019940B2 (ja) | 情報処理装置、コピー制御プログラム、およびコピー制御方法 | |
JP5091694B2 (ja) | 情報処理システム及び情報処理プログラム | |
JP2007188452A (ja) | 入出力制御装置、入出力制御方法および入出力制御プログラム | |
JP6046523B2 (ja) | インメモリ型分散データベース、データ分散方法及びプログラム | |
US8151028B2 (en) | Information processing apparatus and control method thereof | |
CN110928827B (zh) | 一种访问PCIe设备的优化的方法和设备 | |
US6968437B2 (en) | Read priority caching system and method | |
JP2010277422A (ja) | 割り込み処理装置 | |
JP5115122B2 (ja) | 処理性能調整機能を有するモジュール,処理性能調整方法および処理性能調整プログラム | |
JP5828287B2 (ja) | 仮想テープ装置およびテープマウント制御方法 | |
JP3257484B2 (ja) | コンピュータの通信フロー制御方式,方法および記録媒体 | |
JP5146272B2 (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100416 |
|
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: 20100511 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100517 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130521 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130521 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |