JP2016528634A - ハードウェア自動デバイス・オペレーション・イニシエータの実装するための方法およびコントローラ - Google Patents
ハードウェア自動デバイス・オペレーション・イニシエータの実装するための方法およびコントローラ Download PDFInfo
- Publication number
- JP2016528634A JP2016528634A JP2016533802A JP2016533802A JP2016528634A JP 2016528634 A JP2016528634 A JP 2016528634A JP 2016533802 A JP2016533802 A JP 2016533802A JP 2016533802 A JP2016533802 A JP 2016533802A JP 2016528634 A JP2016528634 A JP 2016528634A
- Authority
- JP
- Japan
- Prior art keywords
- hardware
- controller
- command
- inline
- hardware engine
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- 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
-
- 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/0658—Controller construction arrangements
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
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)
- Hardware Redundancy (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims (20)
- コンピュータ・システム中に、ハードウェア自動デバイス・オペレーション・イニシエータを実装するためのコントローラであって、
ホスト・コマンドを受信するためのインライン・ハードウェア・エンジンを含み、
前記インライン・ハードウェア・エンジンは、ファームウェアの関与なしに開始するため受信されたコマンドを精査し、
前記インライン・ハードウェア・エンジンは、前記受信されたコマンドを実施するために、ハードウェア・コマンド・ブロックの一つ以上の連鎖を構築し、
前記インライン・ハードウェア・エンジンは、前記受信されたコマンドに対する前記一つ以上の連鎖の実行を開始する、
コントローラ。 - 前記インライン・ハードウェア・エンジンが、ファームウェアにホスト・システムへの成功裏の完了応答の送信を開始させるため、前記受信されたコマンドに対する前記一つ以上の連鎖の実行を完了する、請求項1に記載のコントローラ。
- 前記受信されたコマンドに対するハードウェア・コマンド・ブロックの完了をファームウェアに通知するイベントを生成する、前記インライン・ハードウェア・エンジンを含む、請求項2に記載のコントローラ。
- 前記インライン・ハードウェア・エンジンが、各ホスト・リソースに対し自動実行コマンドを有効化および無効化することを可能にするため、各論理ホスト・リソースに対する所定のレジスタを含む、請求項1に記載のコントローラ。
- 前記インライン・ハードウェア・エンジンが、各ホスト・リソースを物理デバイスに直接リンクするため、各論理ホスト・リソースに対する所定のレジスタを含む、請求項1に記載のコントローラ。
- 前記物理デバイスに向けて前記レジスタ中の情報内に記述されたデバイス・オペレーションを生成する、前記インライン・ハードウェア・エンジンを含む、請求項5に記載のコントローラ。
- 前記インライン・ハードウェア・エンジンが、ファームウェアの関与なしに開始するため受信されたコマンドを精査するステップは、前記インライン・ハードウェア・エンジンが、命令要件なしの読み取り要求または書き込み要求であることを識別するためチェックするステップを含む、請求項1に記載のコントローラ。
- 前記受信されたコマンドに対するハードウェア・コマンド・ブロックの前記連鎖内のハードウェア・コマンド・ブロックのエラー終了を取り扱うための、エラーおよびイベント取り扱いコードを含む、請求項1に記載のコントローラ。
- 前記エラーおよびイベント取り扱いコードが、同期化および併合オペレーションを取り扱う、請求項8に記載のコントローラ。
- 前記インライン・ハードウェア・エンジンが、前記受信されたコマンドを実施するためにハードウェア・コマンド・ブロックの一つ以上の連鎖を構築するステップは、前記インライン・ハードウェア・エンジンが、受信されたコマンドに対し事前割り当てされた1ページ以下のリソースの所定のセットを用いてハードウェア・コマンド・ブロックの連鎖を構築するための、直接インデックス・モードを有するステップを含む、請求項1に記載のコントローラ。
- 前記インライン・ハードウェア・エンジンが、前記受信されたコマンドを実施するためにハードウェア・コマンド・ブロックの一つ以上の連鎖を構築するステップは、前記インライン・ハードウェア・エンジンが、読み取りコマンドを実施するためにハードウェア・コマンド・ブロックの連鎖を構築するステップと、前記インライン・ハードウェア・エンジンが、書き込みコマンドを実施するためにハードウェア・コマンド・ブロックの連鎖を構築するステップと、を含む、請求項1に記載のコントローラ。
- 読み取りコマンドを実施するためのハードウェア・コマンド・ブロックの前記連鎖が、バッファ・ページを割り当てるための割り当て制御ブロックと、データを前記割り当てバッファ・ページ中に読み取るためのシリアル接続SCSI(SAS)デバイス・オペレーション制御ブロックと、データ転送のためのホスト直接メモリ・アクセス(HDMA)制御ブロックと、割り当てられたバッファ・ページを解放するための割り当て解除制御ブロックとを含む、請求項1に記載のコントローラ。
- コンピュータ・システム中に、ハードウェア自動デバイス・オペレーション・イニシエータを実装する方法であって、
ホスト・コマンドを受信するためのインライン・ハードウェア・エンジンを設けるステップを含み、
前記インライン・ハードウェア・エンジンは、
ファームウェアの関与なしに開始するため受信されたコマンドを精査するステップと、
前記受信されたコマンドを実施するために、ハードウェア・コマンド・ブロックの一つ以上のストリングを構築するステップと、
前記受信されたコマンドに対する前記一つ以上のストリングの実行を開始するステップと、
を含む、方法。 - ファームウェアにホスト・システムへの成功裏の完了応答の送信を開始させるため、前記受信されたコマンドに対する前記一つ以上の連鎖の実行を完了する、前記インライン・ハードウェア・エンジンを含む、請求項13に記載の方法。
- 前記インライン・ハードウェア・エンジンを設けるステップは、各ホスト・リソースに対し自動実行コマンドを有効化および無効化することを可能にするため、各論理ホスト・リソースに対する所定のレジスタを設けるステップ含む、請求項13に記載の方法。
- 前記インライン・ハードウェア・エンジンを設けるステップは、各ホスト・リソースを物理デバイスに直接リンクするため、各論理ホスト・リソースに対する所定のレジスタを設けるステップを含む、請求項13に記載の方法。
- 前記受信されたコマンドに対するハードウェア・コマンド・ブロックの前記連鎖内のハードウェア・コマンド・ブロックのエラー終了を取り扱うためのエラーおよびイベント取り扱いコードを設けるステップ含む、請求項13に記載の方法。
- 同期化および併合オペレーションを取り扱うためのエラーおよびイベント取り扱いコードを設けるステップを含む、請求項13に記載の方法。
- コンピュータ・システム中に、ハードウェア自動デバイス・オペレーション・イニシエータを実装するためのコントローラであって、
ホスト・コマンドを受信するためのインライン・ハードウェア・エンジンを含み、
前記インライン・ハードウェア・エンジンは、各ホスト・リソースに対し自動実行コマンドを有効化および無効化することを可能にするため、各論理ホスト・リソースに対する所定のレジスタを含み、
前記インライン・ハードウェア・エンジンは、ファームウェアの関与なしに開始するため受信されたコマンドを精査し、
前記インライン・ハードウェア・エンジンは、前記受信されたコマンドを実施するためにハードウェア・コマンド・ブロックの一つ以上の連鎖を構築し、
前記インライン・ハードウェア・エンジンは、前記受信されたコマンドに対する前記一つ以上の連鎖の実行を開始する、
コントローラ。 - 前記インライン・ハードウェア・エンジンが、各ホスト・リソースを物理デバイスに直接リンクするため、各論理ホスト・リソースに対する所定のレジスタをさらに含む、請求項19に記載のコントローラ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/967,693 | 2013-08-15 | ||
US13/967,693 US9122413B2 (en) | 2013-08-15 | 2013-08-15 | Implementing hardware auto device operations initiator |
PCT/CN2014/084076 WO2015021896A1 (en) | 2013-08-15 | 2014-08-11 | Implementing hardware auto device operations initiator |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016528634A true JP2016528634A (ja) | 2016-09-15 |
JP6537510B2 JP6537510B2 (ja) | 2019-07-03 |
Family
ID=52467646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016533802A Active JP6537510B2 (ja) | 2013-08-15 | 2014-08-11 | ハードウェア自動デバイス・オペレーション・イニシエータの実装するための方法およびコントローラ |
Country Status (5)
Country | Link |
---|---|
US (1) | US9122413B2 (ja) |
EP (1) | EP3033686B1 (ja) |
JP (1) | JP6537510B2 (ja) |
CN (1) | CN105453062B (ja) |
WO (1) | WO2015021896A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113918101B (zh) * | 2021-12-09 | 2022-03-15 | 苏州浪潮智能科技有限公司 | 一种写数据高速缓存的方法、系统、设备和存储介质 |
CN117420968B (zh) * | 2023-12-19 | 2024-03-12 | 苏州元脑智能科技有限公司 | 存储控制器、存储设备的访问控制方法和存储系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020108003A1 (en) * | 1998-10-30 | 2002-08-08 | Jackson L. Ellis | Command queueing engine |
JP2004326782A (ja) * | 2003-04-25 | 2004-11-18 | Internatl Business Mach Corp <Ibm> | 暗黙の通知を伴うデータ転送 |
US20100306420A1 (en) * | 2009-06-01 | 2010-12-02 | Lsi Corporation | Fast path scsi io |
WO2012016931A1 (en) * | 2010-08-04 | 2012-02-09 | International Business Machines Corporation | Determination of one or more partitionable endpoints affected by an i/o message |
US20120303855A1 (en) * | 2011-05-24 | 2012-11-29 | International Business Machines Corporation | Implementing storage adapter performance optimization with hardware accelerators offloading firmware for buffer allocation and automatically dma |
US20120304198A1 (en) * | 2011-05-24 | 2012-11-29 | International Business Machines Corporation | Implementing storage adapter performance optimization with chained hardware operations minimizing hardware/firmware interactions |
US20120304001A1 (en) * | 2011-05-24 | 2012-11-29 | International Business Machines Corporation | Implementing storage adapter performance optimization with chained hardware operations and error recovery firmware path |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006086379A2 (en) * | 2005-02-07 | 2006-08-17 | Dot Hill Systems Corporation | Command-coalescing raid controller |
US7805543B2 (en) | 2005-06-30 | 2010-09-28 | Intel Corporation | Hardware oriented host-side native command queuing tag management |
WO2009039222A2 (en) | 2007-09-19 | 2009-03-26 | Marvell World Trade Ltd. | Flexible sequencer design architecture for solid state memory controller |
US8151037B1 (en) | 2008-05-28 | 2012-04-03 | Marvell International Ltd. | Interface for solid-state memory |
US20100235834A1 (en) | 2009-03-16 | 2010-09-16 | Faasse Scott P | Providing a management communication channel between a software layer and platform layer for hardware management control |
US8495259B2 (en) | 2011-05-24 | 2013-07-23 | International Business Machines Corporation | Implementing storage adapter performance optimization with hardware chains to select performance path |
US9003102B2 (en) | 2011-08-26 | 2015-04-07 | Sandisk Technologies Inc. | Controller with extended status register and method of use therewith |
-
2013
- 2013-08-15 US US13/967,693 patent/US9122413B2/en not_active Expired - Fee Related
-
2014
- 2014-08-11 EP EP14836867.3A patent/EP3033686B1/en active Active
- 2014-08-11 WO PCT/CN2014/084076 patent/WO2015021896A1/en active Application Filing
- 2014-08-11 JP JP2016533802A patent/JP6537510B2/ja active Active
- 2014-08-11 CN CN201480044467.4A patent/CN105453062B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020108003A1 (en) * | 1998-10-30 | 2002-08-08 | Jackson L. Ellis | Command queueing engine |
JP2004326782A (ja) * | 2003-04-25 | 2004-11-18 | Internatl Business Mach Corp <Ibm> | 暗黙の通知を伴うデータ転送 |
US20100306420A1 (en) * | 2009-06-01 | 2010-12-02 | Lsi Corporation | Fast path scsi io |
WO2012016931A1 (en) * | 2010-08-04 | 2012-02-09 | International Business Machines Corporation | Determination of one or more partitionable endpoints affected by an i/o message |
US20120303855A1 (en) * | 2011-05-24 | 2012-11-29 | International Business Machines Corporation | Implementing storage adapter performance optimization with hardware accelerators offloading firmware for buffer allocation and automatically dma |
US20120304198A1 (en) * | 2011-05-24 | 2012-11-29 | International Business Machines Corporation | Implementing storage adapter performance optimization with chained hardware operations minimizing hardware/firmware interactions |
US20120304001A1 (en) * | 2011-05-24 | 2012-11-29 | International Business Machines Corporation | Implementing storage adapter performance optimization with chained hardware operations and error recovery firmware path |
Also Published As
Publication number | Publication date |
---|---|
WO2015021896A1 (en) | 2015-02-19 |
EP3033686A4 (en) | 2016-08-17 |
US9122413B2 (en) | 2015-09-01 |
EP3033686B1 (en) | 2021-04-28 |
CN105453062A (zh) | 2016-03-30 |
EP3033686A1 (en) | 2016-06-22 |
CN105453062B (zh) | 2018-07-03 |
JP6537510B2 (ja) | 2019-07-03 |
US20150052265A1 (en) | 2015-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8544029B2 (en) | Implementing storage adapter performance optimization with chained hardware operations minimizing hardware/firmware interactions | |
US8495258B2 (en) | Implementing storage adapter performance optimization with hardware accelerators offloading firmware for buffer allocation and automatically DMA | |
JP7247213B2 (ja) | デバッグコントローラ回路 | |
JP2012133405A (ja) | ストレージ装置及びそのデータ転送制御方法 | |
JP2007094994A (ja) | Raidシステム及びそのリビルド/コピーバック処理方法 | |
US8495259B2 (en) | Implementing storage adapter performance optimization with hardware chains to select performance path | |
US8656213B2 (en) | Implementing storage adapter performance optimization with chained hardware operations and error recovery firmware path | |
US8856479B2 (en) | Implementing storage adapter performance optimization with hardware operations completion coalescence | |
CN115495389A (zh) | 存储控制器、计算存储装置以及计算存储装置的操作方法 | |
US8516164B2 (en) | Implementing storage adapter performance optimization with enhanced hardware and software interface | |
US8793462B2 (en) | Implementing storage adapter performance optimization with enhanced resource pool allocation | |
US20060265523A1 (en) | Data transfer circuit and data transfer method | |
JP6537510B2 (ja) | ハードウェア自動デバイス・オペレーション・イニシエータの実装するための方法およびコントローラ | |
US9092364B2 (en) | Implementing storage adapter performance control | |
JP5896328B2 (ja) | 高性能ahciインターフェイス | |
US8868828B2 (en) | Implementing storage adapter performance optimization with cache data/directory mirroring | |
US8886881B2 (en) | Implementing storage adapter performance optimization with parity update footprint mirroring | |
KR101569049B1 (ko) | 패스 스루 스토리지 디바이스들 | |
US10719391B2 (en) | Storage system and storage control apparatus | |
JP6825263B2 (ja) | ストレージ制御装置、およびストレージシステム | |
US10846020B2 (en) | Drive assisted storage controller system and method | |
US9195410B2 (en) | Storage system and access arbitration method | |
Galbraith et al. | Highly automated hardware and firmware RAID SoC design optimized for memory class storage devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170706 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180605 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180802 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190419 |
|
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: 20190514 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190604 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6537510 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |