JP2016529575A - ハードディスクおよびデータ処理方法 - Google Patents

ハードディスクおよびデータ処理方法 Download PDF

Info

Publication number
JP2016529575A
JP2016529575A JP2016514231A JP2016514231A JP2016529575A JP 2016529575 A JP2016529575 A JP 2016529575A JP 2016514231 A JP2016514231 A JP 2016514231A JP 2016514231 A JP2016514231 A JP 2016514231A JP 2016529575 A JP2016529575 A JP 2016529575A
Authority
JP
Japan
Prior art keywords
hard disk
enhanced ethernet
protocol
data
request
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
JP2016514231A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2016529575A publication Critical patent/JP2016529575A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer And Data Communications (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本発明の実施形態において、エンハンスド・イーサネット・インタフェースは、ハードディスクに追加され、エンハンスド・イーサネット・プロトコルに基づいてネットワークと通信する。エンハンスド・イーサネット・インタフェースは、エンハンスド・イーサネット・プロトコルに基づいてネットワークと通信し、および物理層およびリンク層プロトコルに従って、受信したメッセージパケットを処理するように構成され、第一プロセッサは、トランスポート層およびネットワーク層プロトコルに従って受信したメッセージパケットを処理し、第二プロセッサは、アプリケーション層サービスロジックに従って、受信したメッセージパケットを処理し、およびハード・ディスク・コントローラは、受信したメッセージパケットの命令に従って、ハード・ディスク・ドライブ上で動作を実行する。

Description

本発明は、記憶装置技術の分野に関し、特に、ハードディスクおよびデータ処理方法に関する。
クラウドコンピューティングおよびクラウドストレージが一般的になってきており、それに応じて大規模データストレージ、処理および解析に基づくビッグ・データ・アプリケーションが一般的になってきている。大規模データストレージおよび処理ユニット(例えばハードディスク)は、クラウドストレージおよびビッグ・データ・アプリケーションにとって必要不可欠である。従来型のハードディスクは、外部制御部を使用することによって、メディア・アクセス・コントロール(Media Access Control, MAC)アドレスインタフェースを提供し、および外部制御部内にメッセージパケットのアプリケーション層およびトランスポート層を提供し、ここで、外部制御部とシリアル接続SCSI(Serial Attached SCSI, SAS)またはシリアルATA(SATA, Serial Advanced Technology Attachment)ハードディスクとの間の接続は、ハードディスクのSASまたはSATAを介して通過する。
発明者は研究中、従来型のハードディスクは、外部制御部を含んでいないことを見出した。接続用のインタフェースを提供するために外部制御部を必要とするクラウド・ストレージ・システムにおいて、ローカル・エリア・ネットワーク相互接続を実行するために、多数のハードディスクは、例えばデータセンタ、またはキャビネット、またはサブラック内というように、同じデータセンタに設置され得る。ネットワーク帯域幅状態は良いが、従来型のハードディスクによってサポートされるトランスミッション制御プロトコル/インターネット・プロトコル(Transmission Control Protocol/Internet Protocol, TCP/IP)が広域伝送の通過に適しており、さらにローカル・エリア・ネットワークの良好な帯域幅状態は、効果的に使用されない。これによって、クラウドストレージにおけるローカル・エリア・ネットワークの有利な状態が使用されない。
本発明の実施形態は、ハードディスクおよびデータ処理方法を提供し、それによってより柔軟なデバイスを実現することが可能なハードディスクを提供し、かつローカル・エリア・ネットワークの有利な状態を効果的に利用する。
第1の態様に従った、本発明の実施形態は、
エンハンスド・イーサネット(登録商標、以下同じ)・プロトコルに基づいて、ネットワークと通信し、および物理層およびリンク層プロトコルに従って、受信したメッセージパケットを処理するように構成されたエンハンスド・イーサネット・インタフェースと、
エンハンスド・イーサネット・インタフェースと通信し、およびトランスポート層とネットワーク層プロトコルに従って、受信したメッセージパケットを処理するように構成された第一プロセッサと、
ハード・ディスク・コントローラおよび第一プロセッサと別々に通信し、およびアプリケーション層サービスロジックに従って、受信したメッセージパケットを処理するように構成された第二プロセッサと、
第二プロセッサ、第一プロセッサ、およびエンハンスド・イーサネット・インタフェースと、別々に通信し、および受信したメッセージパケットの命令に従って、ハード・ディスク・ドライブ上で動作を実行するように構成されたハード・ディスク・コントローラと、
を含むハードディスクを提供する。
第1の態様を参照した、第1の実施可能な実装方法において、第一プロセッサは、エンハンスド・イーサネット・インタフェース内に統合される。
第1の態様の第1の実施可能な方法を参照して、第2の実施可能な方法において、第一プロセッサが、エンハンスド・イーサネット・インタフェースと通信し、およびInfiniBandトランスポート層およびInfiniBandネットワーク層プロトコルに従って、受信したメッセージパケットに関するトランスポート層およびネットワーク層の処理を実行するように特に構成される。
第1の態様の第1の実施可能な方法を参照して、第3の実施可能な方法において、第一プロセッサが、エンハンスド・イーサネット・インタフェースと通信し、およびリモート・ダイレクト・メモリ・アクセス・プロトコル(RDMAP)+ダイレクト・データ・プレースメント(DDP)プロトコル+マーカ・プロトコル・データ・ユニット・アラインド(MPA)+トランスミッション制御プロトコル/インターネット・プロトコル(TCP/IP)に従って、受信したメッセージパケットに関するトランスポート層およびネットワーク層の処理を実行するように、特に構成される。
第1の態様の第2または第3の実施可能な方法を参照して、第4の実施可能な方法において、第一プロセッサが、リモート・ダイレクト・メモリ・アクセス(RDMA)エンジンと統合される。
第1の態様の第4の実施可能な方法を参照して、エンハンスド・イーサネット・インタフェースによって受信されたメッセージパケットが、第一書き込み要求であるとき、エンハンスド・イーサネット・インタフェースは、物理層およびリンク層プロトコルに従って、受信した第一書き込み要求を処理するように特に構成され、
第一プロセッサが、第一書き込み要求が第一書き込み要求に対応するデータをローカル・ハードディスク・メモリに直接書き込むように指示していることを判断し、第一書き込み要求のデータに従って、アドレスを書き込み、および第一書き込み要求に対応するデータをローカルメモリに直接書き込むために、RDMAエンジンを起動するようにさらに構成され、
エンハンスド・イーサネット・インタフェースによって受信されたメッセージパケットが、第一読み出し要求であるとき、エンハンスド・イーサネット・インタフェースは、物理層およびリンク層プロトコルに従って、受信した第一読み出し要求を処理するように特に構成され、および
第一プロセッサが、第一読み出し要求が第一読み出し要求に対応するデータをローカルメモリから直接読み出すように指示していることを判断し、第一読み出し要求のデータに従って、アドレスを読み出し、および第一読み出し要求に対応するデータをローカルメモリから直接読み込むために、RDMAエンジンを起動するようにさらに構成される。
第2の態様に従った、本発明の実施形態は、エンハンスド・イーサネット・インタフェースを備えたハードディスクに適用可能なデータ処理方法であって、ここで、エンハンスド・イーサネット・インタフェースは、エンハンスド・イーサネット・プロトコルに基づいてネットワークと通信し、およびハードディスクは、リモート・メモリ・ダイレクト・アクセス(RDMA)エンジンと統合される、データ処理方法である。方法は、
第一書き込み要求を受信するステップ、および物理層およびリンク層プロトコルに従って、受信した第一書き込み要求を処理するステップと、
第一書き込み要求が、第一書き込み要求に対応するデータをローカルメモリに直接書き込むように指示していることを判断するステップ、トランスポート層およびネットワーク層プロトコルに従って、受信した第一書き込み要求を処理するステップ、第一書き込み要求のデータに従って、アドレスを書き込むステップ、および第一書き込み要求に対応するデータをローカルメモリに直接書き込むためにRDMAエンジンを起動するステップと、を含む、
データ処理方法を提供する。
第2の態様を参照して、第1の実施可能な方法において、方法は、
第一読み出し要求を受信するステップ、および物理層およびリンク層プロトコルに従って、受信した第一読み出し要求を処理するステップと、
第一読み出し要求がローカルメモリからデータを直接読み出すことを指示していることを判断するステップ、トランスポート層およびネットワーク層プロトコルに従って、受信した第一読み出し要求を処理するステップ、第一読み出し要求のデータに従ってアドレスを読み出すステップ、および第一読み出し要求に対応するデータをローカルメモリから直接読み出すためにRDMAエンジンを起動するステップと、をさらに含む。
第2の態様の第1の実施可能な方法および第2の実施可能な方法を参照して、方法は、
リモート・ターゲット・デバイス・メモリにデータを直接書き込むための第二書き込み要求またはデータを直接読み出すための第二読み出し要求を生成するステップであって、ここで第二書き込み要求または第二読み出し要求は、リモート・ターゲット・デバイスの第二書き込み要求または第二読み出し要求に対応するデータのメモリアドレスを運ぶ、生成するステップ、およびアプリケーション層サービスロジックに従って、生成された第二書き込み要求または第二読み出し要求を処理するステップと、
アプリケーション層サービスロジックに従って処理された第二書き込み要求または第二読み出し要求を、トランスポート層およびネットワーク層プロトコルに従って処理するステップ、第二書き込み要求または第二読み出し要求を処理するためにRDMAエンジンを起動するステップ、および処理済み第二書き込み要求または第二読み出し要求をエンハンスド・イーサネット・インタフェースに送信するステップと、
エンハンスド・イーサネット・プロトコルに基づいて、受信された第二書き込み要求または第二読み出し要求をエンハンスド・イーサネット・インタフェースによって処理するステップ、および処理済み第二書き込み要求または第二読み出し要求をリモート・ターゲット・デバイスに送信するステップと、をさらに含む。
MACインタフェースを提供するための制御部と外部的に接続された従来型のハードディスクと異なり、本発明の実施形態において、エンハンスド・イーサネット・インタフェースは、ハードディスクに追加され、およびエンハンスド・イーサネット・プロトコルに基づいてネットワークと通信する。これは、フロー制御および時間遅延処理においてエンハンスド・イーサネット技術の利点を利用し、および有利なネットワーク状況の利用を支援するデバイス相互接続プロトコルをサポートすることができる。これによって、ハードディスク接続手法は、より柔軟となり、かつ良好なネットワーク帯域幅状態が利用される。
本発明の実施形態、または従来技術における技術的解決策をより明確に説明するために、以下の簡単な説明は、実施形態または従来技術を説明するために必要な添付図面を紹介する。明らかに、以下の説明における添付図面は、本発明のいくつかの実施形態しか示しておらず、当業者は、創造的努力なしにこれらの添付図面から他の図面を導き出すことができよう。
本発明の実施形態に従ったハードディスクの構造概要図である。 本発明の実施形態に従った別のハードディスクの構造概要図である。 本発明の実施形態に従った別のハードディスクの構造概要図である。 本発明の実施形態に従ったハードディスクのアプリケーションシナリオ図である。 本発明の実施形態に従ったデータ処理方法の構造流れ図である。
本発明の実施形態の目的、技術的解決策、および利点をより明確にするために、本発明の実施形態の添付図面を参照しながら、本発明の実施形態における技術的解決策を以下に明確かつ完全に記載する。説明する実施形態は明らかに、本発明の実施形態の全てではなく、一部である。本発明の実施形態に基づいて当業者によって創造的努力なしに得られる他の全ての実施形態は、本発明の保護範囲内に入るものである。
図1は、本発明の実施形態に従った、ハードディスクの構造図である。ハードディスクは、ハード・ディスク・ドライブ(Hard Disk Drive, HDD)100を含む。ハード・ディスク・ドライブ100は、エンハンスド・イーサネット・インタフェース(Enhanced Ethernet interface)101、第一プロセッサ104、第二プロセッサ103、およびハード・ディスク・コントローラ105を含む。ここでエンハンスド・イーサネット・インタフェース101は、エンハンスド・イーサネット・プロトコルに基づいて、ネットワークと通信し、および物理層およびリンク層プロトコルに従って、受信したメッセージパケットを処理するように構成される。
従来型のイーサネットインタフェースと比較して、エンハンスド・イーサネット・インタフェースは、より多くのプロトコルをサポートすることができ、例えば、優先順位ベースフロー制御優先順位ベースフロー制御、エンハンスド・トランスミッション・コントロールエンハンスド・トランスミッション・コントロール、およびデータ・センター・ブリッジング・ケーパビリティ・エクスチェンジデータ・センター・ブリッジング・ケーパビリティ・エクスチェンジ(Data Center Bridging Capabilities Exchange)といったプロトコルをサポートすることができる。従って、エンハンスド・イーサネット・インタフェースは、受信したメッセージパケットを処理するために、実際の要求に従って、優先順位ベースフロー制御プロトコル(Priority-based Flow Control、PFC)、エンハンスド・トランスミッション・コントロールエンハンスド・トランスミッション・コントロール(Enhanced Transmission Control)、またはデータ・センター・ブリッジング・ケーパビリティ・エクスチェンジデータ・センター・ブリッジング・ケーパビリティ・エクスチェンジプロトコルをさらに選択してもよい。本発明の本実施形態において、エンハンスド・イーサネット・インタフェースは、ハードディスクに統合され、それによって、ハードディスクは、エンハンスド・イーサネット・インタフェース・プロトコル系統に含まれるプロトコルをサポートすることができ、およびこれらのプロトコルに対応した機能を実行することができる。
エンハンスド・イーサネット・インタフェース101は、受信したメッセージパケットに関して、フレームカプセル化またはフレーム非カプセル化を実行し、およびエンハンスド・イーサネット・プロトコルの要求に従ったメッセージパケットの伝送および受信に関して、フロー制御および伝送制御の動作を実行する。エンハンスド・イーサネット・インタフェース101によって受信されたメッセージパケットは、ネットワークを使用することによって、エンハンスド・イーサネット・インタフェースによって受信されてもよく、ハードディスクの他の機能モジュールまたはハードウェアデバイスによって、エンハンスド・イーサネット・インタフェース101に送信されてもよいが、本発明の本実施形態はこれに限定されない。エンハンスド・イーサネット・インタフェースによって受信された全メッセージパケットは、エンハンスド・イーサネット・プロトコルに基づいて処理される。
第一プロセッサ103は、エンハンスド・イーサネット・インタフェース101と通信し、およびトランスポート層およびネットワーク層プロトコルに従って、受信したメッセージパケットを処理するように構成される。
第一プロセッサ103は、受信したメッセージパケットに関するトランスポート層およびネットワーク層の処理を通常実行する。例えば、第一プロセッサは、TCP/IP標準プロトコルに従って、受信したメッセージパケットに関するアンパケット化およびパケット再ソートの動作を実行する。また、第一プロセッサは、InfiniBandトランスポート層およびInfiniBandネットワーク層プロトコルの規定に従って、受信したメッセージパケットを処理する。
同様に、第一プロセッサ103によって受信されたメッセージパケットは、エンハンスド・イーサネット・インタフェース101によって処理されたメッセージパケットであってもよく、第二プロセッサ104によって生成されかつ処理されたメッセージパケットであってもよく、ハードディスクの他の機能モジュールまたはハードウェアデバイスによって第一プロセッサ103に送信されたメッセージパケットであってもよいが、本発明の本実施形態はこれに限定されない。第一プロセッサ103によって受信された全メッセージパケットは、トランスポート層およびネットワーク層プロトコルに基づいて処理される。
特定の実施形態において、第一プロセッサは、プロセッサコア(Core)の機能モジュールであってもよく、例えば専用プロトコルプロセッサを使用することによって実行されるような、プロセッサコア(Core)から独立している専用ハードウェア装置であってもよいことは、注目に値する。
図2を参照する。本発明の別の実施形態において、第一プロセッサ103は、機能モジュールとしてエンハンスド・イーサネット・インタフェースにさらに統合されてもよく、および、第一プロセッサ103は、エンハンスド・イーサネット・インタフェース101と共に、プロセッサコア(Core)から独立した専用ハードウェア装置として作動する。これによって、ハードディスクのプロセッサコア(Core)102は、サービスロジックをより確実に処理することができ、およびハードディスク汎用プロセッサのリソース消費量が減少する。
第二プロセッサ104は、ハード・ディスク・コントローラ105と通信し、アプリケーション層サービスロジックに従って、受信したメッセージパケットを処理するように構成される。
第二プロセッサ104は、受信されるかまたは生成されたメッセージパケットに関するネットワーク伝送とは無関係な、アプリケーション層メッセージ処理を実行し、これはHTTP、P2P、iSCSCI、および既定のサービスアプリケーションで処理することを含むが、これに限定するものではない。例としてビッグ・データ・アプリケーションを使用すると、第二プロセッサは、GoogleのMap-ReduceタスクおよびオープンソースHadoopアプリケーションを実行してもよい。
図1は、第二プロセッサ104および第一プロセッサが論理的に離れていること、およびエンティティ上で、上記2つが物理的に結合されているが論理的に離れており、2つの物理的に離れた機能モジュールであってもよいことを示している。
エンハンスド・イーサネット・インタフェース101によって受信されたメッセージパケットを処理した後、エンハンスド・イーサネット・インタフェース101は、実際の状況に従って、処理済みメッセージパケットを第一プロセッサ103に送信してもよい。エンハンスド・イーサネット・インタフェース101によって処理されたメッセージパケットが、第一プロセッサ103または第二プロセッサ104によって処理される必要がなければ、処理済みメッセージパケットは、ハード・ディスク・コントローラ105に直接送信されることができる。ハード・ディスク・コントローラ105は、受信したメッセージパケットの命令に従って、ハード・ディスク・ドライブ(hard disk drive、HDD)上で動作を実行する。同様に、第一プロセッサ103が、受信したメッセージパケットを処理した後、処理済みサービスパケットが第二プロセッサ104によって処理される必要がなければ、第一プロセッサ103は、ハード・ディスク・コントローラ105にサービスパケットを直接送信してもよい。ハード・ディスク・コントローラ105は、第一メッセージパケットの命令に従って、HDD上で動作を実行する。従って、ハード・ディスク・コントローラ105は、第二プロセッサ104、第一プロセッサ103、およびエンハンスド・イーサネット・インタフェース101と別々に通信し、および受信したメッセージパケットの命令に従って、HDD上で動作を実行するように構成される。
実際のアプリケーションにおいて、アプリケーション層メッセージパケットは、アプリケーション層で生成されてもよい。例えば、クラウド・ストレージ・アプリケーションにおいて、ローカル・ハード・ディスクは、スリーコピーメカニズム(three-copy mechanism)のオリジナルのコピー・ストレージ・ハードディスクであるが、他のハードディスク内に二つのコピーを保存する必要があり、従って、データのコピーに関するメッセージパケットは、アプリケーション層で生成される。また、巨大データアプリケーションにおいて、サブタスクを実行するローカル・ハード・ディスクは、実行が完了した後に処理を継続するために、生成されたデータを他のストレージノードに書き込む必要があるため、メッセージパケットは、アプリケーション層で生成される。従って、本発明の本実施形態において、第二プロセッサ104は、メッセージパケットを生成し、およびアプリケーションプロトコルに基づいたメッセージパケットを処理する必要がある。従って、第二プロセッサ104は、メッセージパケットを生成し、アプリケーション層サービスロジックに従って、生成されたメッセージパケットを処理し、および、アプリケーション層サービスロジックに従って処理されたメッセージパケットを第一プロセッサ103に送信するようにさらに構成される。
第一プロセッサ103は、トランスポート層およびネットワーク層プロトコルに従って、第二プロセッサ104によって生成されたメッセージパケットを処理し、次いで処理済みメッセージパケットをエンハンスド・イーサネット・インタフェース101に送信する。エンハンスド・イーサネット・インタフェース101は、エンハンスド・イーサネット・プロトコルに従って、メッセージパケットを処理し、次いでメッセージパケットの命令に従って、メッセージを送信する。
本発明の本実施形態において、エンハンスド・イーサネット・インタフェースは、ハードディスクに追加される。MACインタフェースを提供するために制御部と外部接続された従来型のハードディスクと異なり、エンハンスド・イーサネット・インタフェースは、より多くのプロトコルをサポートし、これらのプロトコルによってサポートされる機能を実行し、フロー制御および時間遅延処理においてエンハンスド・イーサネット・プロトコルの利点を使用することができる。また、ネットワーク状況に従って、従来型のハードディスクがサポートすることができないが、ローカル・エリア・ネットワークの利点の使用に役立つデバイス相互接続プロトコルを選択することができる。これによって、ハードディスク接続手法は、より柔軟となり、かつ良好なネットワーク帯域幅状態が利用される。
本発明の本実施形態によって提供されるハードディスクは、例えば、キャッシュ106、電気的にプログラム可能な読み出し専用メモリ107、磁気ヘッド・ボイス・コイル・モータ108、書き込みおよび読み出しチャネル109、変圧器110などの、従来型のハードディスクに類似する部分をさらに含み、および、それらの機能は、従来型のハードディスクの機能と類似している。
図3を参照する。本発明の実施形態は、リモート・メモリ・ダイレクト・アクセス(Remote Direct Memory Access、RDMA)エンジンがハードディスクの第一プロセッサに統合される、別のハードディスクをさらに提供する。もちろん、RDMAエンジンと統合される第一プロセッサは、例えば、専用プロセッサを使用することによって実行されるような、プロセッサコア(Core)から独立した専用ハードウェア装置として作動してもよい。
本発明の本実施形態において、第一プロセッサ103は、メッセージに関するトランスポート層およびアプリケーション層の処理を実行してもよい。第一プロセッサがRDMAエンジンと統合される場合、第一プロセッサ103は、メッセージパケットに関するトランスポート層およびネットワーク層の処理を実行する。このことは、例えば、メッセージパケットが、トランスポート層およびネットワーク層においてInfiniBandトランスポート層およびInfiniBandネットワーク層プロトコルに適合する場合、第一プロセッサ103は、InfiniBandトランスポート層およびInfiniBandネットワーク層プロトコルに従って、受信したメッセージパケットを処理してもよく、かつ、メッセージパケットが、トランスポート層およびネットワーク層でリモート・ダイレクト・メモリ・アクセス(Remote Direct Memory Access、RDMA)プロトコル+ダイレクト・データ・プレースメント(direct data placement、DDP)プロトコル+マーカ・プロトコル・データ・ユニット・アラインド(Marker Protocol data unit Aligned、MPA)+トランスミッション制御プロトコル/インターネット・プロトコル(Transmission Control Protocol/Internet、TCP/IP)プロトコル(RDMAP+DDP+MPA+TCP/IP)に適合する場合、第一プロセッサ103は、RDMAP+DDP+MPA+TCP/IPプロトコルに従って、受信したメッセージパケットを処理してもよいことである。
図3は、第一プロセッサ103が、機能モジュールとしてエンハンスド・イーサネット・インタフェースに統合されている例を用いている。第一プロセッサ103がRDMAエンジンと統合されることに基づいて、リモートデバイスから送信された読み出しおよび書き込みメッセージを受信するとき、ハードディスクは、従来型のハードディスクとは異なる方法で読み出しおよび書き込みメッセージを処理する。例えば、
エンハンスド・イーサネット・インタフェースによって受信されたメッセージパケットが、第一書き込み要求であった場合、エンハンスド・イーサネット・インタフェースは、エンハンスド・イーサネット・プロトコルに従って受信したメッセージパケットを処理し、
ネットワーク処理ユニット103は、第一書き込み要求がローカル・ハードディスク・メモリにデータを直接書き込むように指示していることを判断し、第一書き込み要求のデータに従って、アドレスを書き込み、および第一書き込み要求に対応するデータをローカルメモリに直接書き込むために、RDMAエンジンを起動するように、さらに構成される。
エンハンスド・イーサネット・インタフェースによって受信されたメッセージパケットが、第一読み出し要求であるとき、エンハンスド・イーサネット・インタフェースが、エンハンスド・イーサネット・プロトコルに従って、受信したメッセージパケットを処理した後、
第一プロセッサ103は、第一読み出し要求がローカル・ハードディスク・メモリからデータを直接読み出すように指示していることを判断し、第一読み出し要求のデータに従って、アドレスを読み出し、および第一読み出し要求に対応するデータをローカルメモリから直接読み出すために、RDMAエンジンを起動するように、さらに構成される。
任意で、第一プロセッサ103が、機能モジュールとしてエンハンスド・イーサネット・インタフェースに統合される、同じ例が使用される。第一プロセッサ103がRDMAエンジンと統合されることに基づいて、ハードディスクは、リモート・デバイス・メモリのデータを直接読み出しおよび書き込むために、要求を生成してもよく、従って、
第二プロセッサ104は、リモート・ターゲット・デバイスのメモリにデータを直接書き込むための第二書き込み要求、またはデータを直接読み出すための第二読み出し要求を含むメッセージパケットを生成するようにさらに構成され、ここで、第二書き込み要求または第二読み出し要求は、リモート・ターゲット・デバイスの、第二書き込み要求または第二読み出し要求に対応するデータのメモリアドレスを運び、および、第二プロセッサ104は、生成された第二書き込み要求または第二読み出し要求に関するアプリケーション層の処理を実行し、処理済み第二書き込み要求または第二読み出し要求を第一プロセッサ103に送信するように構成され、第一プロセッサ103が、
第二書き込み要求または第二読み出し要求がリモート・ターゲット・デバイスのメモリ内の対応するデータを直接書き込みまたは読み出すことを指示していることを判断し、第二書き込み要求または第二読み出し要求を処理するためにRDMAエンジンを起動し、処理済み第二書き込み要求または第二読み出し要求をエンハンスド・イーサネット・インタフェース101に送信するようにさらに構成され、エンハンスド・イーサネット・インタフェース101が、エンハンスド・イーサネット・プロトコルに基づいて、ネットワークと通信し、エンハンスド・イーサネット・プロトコルに基づいて、受信した第二書き込み要求または第二読み出し要求を処理し、および処理済み第二書き込み要求または第二読み出し要求をリモート・ターゲット・デバイスに送信するように特に構成される。
本発明の本実施形態において、ハードディスクの第一プロセッサ103は、RDMAエンジンと統合され、リモート・ダイレクト・メモリ・アクセスのためのRDMA技術は、データ転送を実行するために、二つのハードディスク間のソケット通信を確立せずにハードディスクに共通して適用されてもよい。その結果、時間遅延が減少し、かつ伝送パフォーマンスが向上する。
さらに、本発明の本実施形態において、第一プロセッサは、RDMAエンジンと統合され、トランスポート層およびネットワーク層は、RDMAオーバ・コンバージド・イーサネット(RDMA over Converged Ethernet、RoCE)技術であるInfiniBandトランスポート層およびInfiniBandネットワーク層プロトコルを適用してもよい。あるいは、トランスポート層およびネットワーク層は、例えば、上述したRDMAP+DDP+MPA+TCP/IPプロトコルといった、改善されたTCP/IPプロトコルを適用してもよい。従って、RDMA技術が適用された後、ハードディスクから成るストレージサブシステムにおいて、トランスポート層およびネットワーク層は、ハードディスクIPアドレスを使用することによってアドレッシングを実行することを必要とする、従来型のTCP/IPプロトコルを適用しなくともよく、元のワンレイヤIP(Flat IP)アドレス手法は、例えば、リンク層アドレスMAC、またはInfiniBandによって必要とされるデバイスIDといった、第二レベルアドレスフォームに変換される。加えて、ストレージサブシステムは、TCP/IPプロトコル、InfiniBand、またはPCI Expressといった、従来型の相互接続手法を使用することによって相互接続されてもよい。ハードディスクは、エンハンスド・イーサネット・プロトコルを使用することによって、ストレージサブシステムに集約され、次いでストレージサブシステムは、エンハンスド・イーサネット・プロトコルを使用することによって、ストレージシステムに集約される。例えば、一つまたは複数のストレージサブシステムは、スイッチがレイヤ2スイッチ、InfiniBandスイッチ、またはPCI Expressスイッチに基づき得る、クラウド・ストレージ・システムを構成してもよい。各クラウド・ストレージ・サブシステムがスイッチに接続されるアドレス指定アドレスは、InfiniBandまたはPCI Expressデバイスの識別子によって必要とされるデバイス識別子であってもよい。ストレージシステムのIPアドレスは、実質的に削減される。
図4を参照する。図4は、本発明の別の実施形態によって提供されるハードディスクのアプリケーションシナリオを提供する。本発明の実施形態におけるエンハンスド・イーサネット・インタフェースを提供するハードディスクは、一時的に「エンハンスド・イーサネット・ディスク」として参照される。図4に示すように、アプリケーションサーバは、エンハンスド・イーサネット・スイッチと相互接続され、およびエンハンスド・イーサネット・ディスクは、エンハンスド・イーサネット・プロトコルに基づいて、エンハンスド・イーサネット・スイッチと相互接続される。エンハンスド・イーサネット・ディスクは、RDMAエンジンと統合される。ハードディスクに統合されるRDMAエンジンが、ハードディスクの第一プロセッサに特に統合されることは、上記の実施形態の記述から確認することができる。
特定のアプリケーションサーバが、エンハンスド・イーサネット・ディスク2にデータを書き込むことを必要とするとき、アプリケーションサーバは、RDMA技術を適用させることによって、アプリケーションサーバのRDMAユニットからエンハンスド・イーサネット・ディスク2の対応するメモリ位置に書き込まれる必要があるデータを書き込んでもよい。データがハードディスクのメモリに書き込まれた後、エンハンスド・イーサネット・ディスク2の第二プロセッサは、例えば、データをスライスし、ローカル・ハード・ディスク・データ配置アルゴリズムに従って、ハードディスクのプラッタにデータがどのように配置されているかを計算し、次いで、プラッタにデータを書き込むようにハード・ディスク・コントローラに命令する、などのように、データが書き込まれたメモリセグメントのデータを処理する。逆もまた真である。エンハンスド・イーサネット・ディスク2がアプリケーションサーバのメモリにデータを書き込むとき、エンハンスド・イーサネット・ディスク2の第二プロセッサは、ハード・ディスク・コントローラに、ハードディスクのプラッタからキャッシュにデータを読み出すように命令し、データを処理し、エンハンスド・イーサネット・ディスクのエンハンスド・イーサネット・インタフェースに処理済みデータを提供し、エンハンスド・イーサネット・インタフェースの第一プロセッサは、処理するためのアプリケーションサーバ1のメモリセクションにデータを配信するために、RDMAエンジンを起動する。
エンハンスド・イーサネット・ディスクは、RDMA技術を適用させることによって、リモートデバイスに送信される必要があるデータを、リモートデバイスの対応するメモリセクションに直接書き込み、およびリモートデバイスは、次のサービス処理を実行するために、メモリセグメントのデータを読み出す。同様の手法は、エンハンスド・イーサネット・ディスクに共通して適用させてもよい。
本発明の本実施形態によって提供されるハードディスクは、エンハンスド・イーサネット・インタフェースを備え、フロー制御および時間遅延処理において、エンハンスド・イーサネット・プロトコルの利点を使用し、ネットワーク状況に従って、ローカル・エリア・ネットワークの利点の使用に役立つデバイス相互接続プロトコルを選択することができる。加えて、本発明の本実施形態において、RDMAエンジンは、ハードディスクの間でリモート・ダイレクト・メモリ・アクセスを実行するために、エンハンスド・イーサネット・インタフェースにさらに統合されてもよい。その結果、時間遅延が減少し、かつ伝送パフォーマンスが向上する。
図5を参照する。本発明の実施形態は、本発明の本実施形態によって提供されるエンハンスド・イーサネット・インタフェースを備えるハードディスクに適用可能なデータ処理方法をさらに提供する。エンハンスド・イーサネット・インタフェースは、エンハンスド・イーサネット・プロトコルに基づいて、ネットワークと通信し、およびハードディスクは、リモート・メモリ・ダイレクト・アクセス(RDMA)エンジンと統合される。本発明の本実施形態において、ハードディスクのメモリは直接アクセスされるか、またはダイレクト・メモリ・アクセス要求が送信される。この方法は、以下を含む。
ステップ51:第一書き込み要求を受信し、および受信した第一書き込み要求を物理層およびリンク層プロトコルに従って、処理する。
ステップ52:第一書き込み要求が第一書き込み要求に対応するデータをローカルメモリに直接書き込むように指示していることを判断し、トランスポート層およびネットワーク層プロトコルに従って、受信した書き込み要求を処理し、第一書き込み要求のデータに従って、アドレスを書き込み、および第一書き込み要求に対応するデータをローカルメモリに直接書き込むために、RDMAエンジンを起動する。
第一書き込み要求を受信したとき、ハードディスクのエンハンスド・イーサネット・インタフェースは、物理層およびリンク層プロトコルに従って、受信した第一書き込み要求を処理してもよい。第一書き込み要求が、第一書き込み要求に対応するデータをローカルメモリに直接書き込むように指示していることを判断したとき、ハードディスクのプロセッサは、第一書き込み要求に対応したデータをローカルメモリに直接書き込むために、RDMAエンジンを起動する。
本発明の本実施形態によって提供されるデータ処理方法は、エンハンスド・イーサネット・インタフェースを備えたハードディスクに適用可能であり、RDMAエンジンは、例えば、ハードディスクのコプロセッサに統合されてもよい、ハードディスクに統合される。これによって、ハードディスクは、メモリに直接アクセスすることができ、その結果、データ書き込みの時間遅延が減少し、かつ書き込みデータ効率が向上する。
ハードディスクが、データを直接読み出すコマンドをハードディスクメモリから受信した状況において、方法の実装方法は、以下をさらに含む。
ステップ53:第一読み出し要求を受信し、物理層およびリンク層プロトコルに従って、受信した第一読み出し要求を処理する。
ステップ54:第一読み出し要求が、ローカルメモリからデータを直接読み出すことを指示していることを判断し、トランスポート層およびネットワーク層プロトコルに従って、受信した第一読み出し要求を処理し、第一読み出し要求のデータに従って、アドレスを読み出し、および第一読み出し要求に対応したデータをローカルメモリから直接読み出すために、RDMAエンジンを起動する。
さらに、図2に対応する装置の実施形態における説明と同様に、クラウド・ストレージ・アプリケーションにおいて、ローカル・ハード・ディスクは、スリーコピーメカニズムのオリジナルのコピー・ストレージ・ハードディスクであるが、他のハードディスクに二つのコピーを保存する必要がある。従って、ハードディスクのプロセッサは、データのコピーに関するメッセージパケットを生成してもよい。従って、本発明の実施形態によって提供されるデータ処理方法は、以下をさらに含む。
ステップ55:リモート・ターゲット・デバイスのメモリにデータを直接書き込むための第二書き込み要求、またはデータを直接読み出すための第二読み出し要求を生成し、ここで、第二書き込み要求または第二読み出し要求は、リモート・ターゲット・デバイスの第二書き込み要求または第二読み出し要求に対応するデータのメモリアドレスを運び、およびアプリケーション層サービスロジックに従って、生成された第二書き込み要求または第二読み出し要求を処理する。
ステップ56:アプリケーション層サービスロジックに従って処理された第二書き込み要求または第二読み出し要求を、トランスポート層およびネットワーク層プロトコルに従って処理し、第二書き込み要求または第二読み出し要求を処理するためにRDMAエンジンを起動し、および処理済み第二書き込み要求または第二読み出し要求をエンハンスド・イーサネット・インタフェースに送信する。
ステップ57:エンハンスド・イーサネット・インタフェースが、エンハンスド・イーサネット・プロトコルに基づいて、受信した第二書き込み要求または第二読み出し要求を処理し、および処理済み第二書き込み要求または読み出し要求をリモート・ターゲット・デバイスに送信する。
本発明の実施形態によって提供されるデータ処理方法において、RDMAエンジンは、ハードディスク間でリモート・ダイレクト・メモリ・アクセスを実行するために、エンハンスド・イーサネット・インタフェースを備えたハードディスクに統合される。その結果、時間遅延が減少し、かつ伝送パフォーマンスが向上する。
当業者は、実施形態の手法におけるステップの全部または一部が、プログラムによる命令を受けるハードウェアによって実行できることを理解できよう。プログラムは、コンピュータ読み取り可能なストレージメディアに保存できる。プログラムを実行するとき、実施形態の方法のステップが、実行される。上述のストレージメディアは、ROM、RAM、フラッシュメモリ、磁気ディスク、または光学ディスクといった、プログラムコードを格納できる任意のメディアを含む。
最後に、実施形態は、本発明を限定するのではなく、本発明の技術的な解決策を説明するように意図されているに過ぎないことに留意されたい。本発明が実施形態に関連して詳細に説明されているが、当業者は、当業者が、本発明の実施形態の技術的な解決策の発想および範囲を逸脱することなく、実施形態で説明された技術的な解決策に対する修正をやはり行うことができ、またはそれらの技術的な解決策の一部の技術的な特徴に対して均等な置換えを行うことができることを理解するはずである。
100 ハード・ディスク・ドライブ
101 エンハンスド・イーサネット・インタフェース
103 第一プロセッサ
104 第二プロセッサ
105 ハード・ディスク・コントローラ
106 キャッシュ
107 読み出し専用メモリ
108 磁気ヘッド・ボイス・コイル・モータ
109 書き込み/読み出しチャネル
110 変圧器
本発明は、記憶装置技術の分野に関し、特に、ハードディスクおよびデータ処理方法に関する。
クラウドコンピューティングおよびクラウドストレージが一般的になってきており、それに応じて大規模データストレージ、処理および解析に基づくビッグ・データ・アプリケーションが一般的になってきている。大規模データストレージおよび処理ユニット(例えばハードディスク)は、クラウドストレージおよびビッグ・データ・アプリケーションにとって必要不可欠である。従来型のハードディスクは、外部制御部を使用することによって、メディア・アクセス・コントロール(Media Access Control, MAC)アドレスインタフェースを提供し、および外部制御部内にメッセージパケットのアプリケーション層およびトランスポート層を提供し、ここで、外部制御部とシリアル接続SCSI(Serial Attached SCSI, SAS)またはシリアルATA(SATA, Serial Advanced Technology Attachment)ハードディスクとの間の接続は、ハードディスクのSASまたはSATAを介して通過する。
発明者は研究中、従来型のハードディスクは、外部制御部を含んでいないことを見出した。接続用のインタフェースを提供するために外部制御部を必要とするクラウド・ストレージ・システムにおいて、ローカル・エリア・ネットワーク相互接続を実行するために、多数のハードディスクは、例えばデータセンタ、またはキャビネット、またはサブラック内というように、同じデータセンタに設置され得る。ネットワーク帯域幅状態は良いが、従来型のハードディスクによってサポートされるトランスミッション制御プロトコル/インターネット・プロトコル(Transmission Control Protocol/Internet Protocol, TCP/IP)が広域伝送の通過に適しており、さらにローカル・エリア・ネットワークの良好な帯域幅状態は、効果的に使用されない。これによって、クラウドストレージにおけるローカル・エリア・ネットワークの有利な状態が使用されない。
本発明の実施形態は、ハードディスクおよびデータ処理方法を提供し、それによってより柔軟なデバイスを実現することが可能なハードディスクを提供し、かつローカル・エリア・ネットワークの有利な状態を効果的に利用する。
第1の態様に従った、本発明の実施形態は、
エンハンスド・イーサネット(登録商標、以下同じ)・プロトコルに基づいて、ネットワークと通信し、および物理層およびリンク層プロトコルに従って、受信したメッセージパケットを処理するように構成されたエンハンスド・イーサネット・インタフェースと、
エンハンスド・イーサネット・インタフェースと通信し、およびトランスポート層とネットワーク層プロトコルに従って、受信したメッセージパケットを処理するように構成された第一プロセッサと、
ハード・ディスク・コントローラおよび第一プロセッサと別々に通信し、およびアプリケーション層サービスロジックに従って、受信したメッセージパケットを処理するように構成された第二プロセッサと、
第二プロセッサ、第一プロセッサ、およびエンハンスド・イーサネット・インタフェースと、別々に通信し、および受信したメッセージパケットの命令に従って、ハード・ディスク・ドライブ上で動作を実行するように構成されたハード・ディスク・コントローラと、
を含むハードディスクを提供する。
第1の態様を参照した、第1の実施可能な実装方法において、第一プロセッサは、エンハンスド・イーサネット・インタフェース内に統合される。
第1の態様の第1の実施可能な方法を参照して、第2の実施可能な方法において、第一プロセッサが、エンハンスド・イーサネット・インタフェースと通信し、およびInfiniBandトランスポート層およびInfiniBandネットワーク層プロトコルに従って、受信したメッセージパケットに関するトランスポート層およびネットワーク層の処理を実行するように特に構成される。
第1の態様の第1の実施可能な方法を参照して、第3の実施可能な方法において、第一プロセッサが、エンハンスド・イーサネット・インタフェースと通信し、およびリモート・ダイレクト・メモリ・アクセス・プロトコル(RDMAP)+ダイレクト・データ・プレースメント(DDP)プロトコル+マーカ・プロトコル・データ・ユニット・アラインド(MPA)+トランスミッション制御プロトコル/インターネット・プロトコル(TCP/IP)に従って、受信したメッセージパケットに関するトランスポート層およびネットワーク層の処理を実行するように、特に構成される。
第1の態様の第2または第3の実施可能な方法を参照して、第4の実施可能な方法において、第一プロセッサが、リモート・ダイレクト・メモリ・アクセス(RDMA)エンジンと統合される。
第1の態様の第4の実施可能な方法を参照して、エンハンスド・イーサネット・インタフェースによって受信されたメッセージパケットが、第一書き込み要求であるとき、エンハンスド・イーサネット・インタフェースは、物理層およびリンク層プロトコルに従って、受信した第一書き込み要求を処理するように特に構成され、
第一プロセッサが、第一書き込み要求が第一書き込み要求に対応するデータをローカル・ハードディスク・メモリに直接書き込むように指示していることを判断し、第一書き込み要求のデータに従って、アドレスを書き込み、および第一書き込み要求に対応するデータをローカルメモリに直接書き込むために、RDMAエンジンを起動するようにさらに構成され、
エンハンスド・イーサネット・インタフェースによって受信されたメッセージパケットが、第一読み出し要求であるとき、エンハンスド・イーサネット・インタフェースは、物理層およびリンク層プロトコルに従って、受信した第一読み出し要求を処理するように特に構成され、および
第一プロセッサが、第一読み出し要求が第一読み出し要求に対応するデータをローカルメモリから直接読み出すように指示していることを判断し、第一読み出し要求のデータに従って、アドレスを読み出し、および第一読み出し要求に対応するデータをローカルメモリから直接読み込むために、RDMAエンジンを起動するようにさらに構成される。
第2の態様に従った、本発明の実施形態は、エンハンスド・イーサネット・インタフェースを備えたハードディスクに適用可能なデータ処理方法であって、ここで、エンハンスド・イーサネット・インタフェースは、エンハンスド・イーサネット・プロトコルに基づいてネットワークと通信し、およびハードディスクは、リモート・ダイレクト・メモリ・アクセス(RDMA)エンジンと統合される、データ処理方法である。方法は、
第一書き込み要求を受信するステップ、および物理層およびリンク層プロトコルに従って、受信した第一書き込み要求を処理するステップと、
第一書き込み要求が、第一書き込み要求に対応するデータをローカルメモリに直接書き込むように指示していることを判断するステップ、トランスポート層およびネットワーク層プロトコルに従って、受信した第一書き込み要求を処理するステップ、第一書き込み要求のデータに従って、アドレスを書き込むステップ、および第一書き込み要求に対応するデータをローカルメモリに直接書き込むためにRDMAエンジンを起動するステップと、を含む、
データ処理方法を提供する。
第2の態様を参照して、第1の実施可能な方法において、方法は、
第一読み出し要求を受信するステップ、および物理層およびリンク層プロトコルに従って、受信した第一読み出し要求を処理するステップと、
第一読み出し要求がローカルメモリからデータを直接読み出すことを指示していることを判断するステップ、トランスポート層およびネットワーク層プロトコルに従って、受信した第一読み出し要求を処理するステップ、第一読み出し要求のデータに従ってアドレスを読み出すステップ、および第一読み出し要求に対応するデータをローカルメモリから直接読み出すためにRDMAエンジンを起動するステップと、をさらに含む。
第2の態様の第1の実施可能な方法および第2の実施可能な方法を参照して、方法は、
リモート・ターゲット・デバイス・メモリにデータを直接書き込むための第二書き込み要求またはデータを直接読み出すための第二読み出し要求を生成するステップであって、ここで第二書き込み要求または第二読み出し要求は、リモート・ターゲット・デバイスの第二書き込み要求または第二読み出し要求に対応するデータのメモリアドレスを運ぶ、生成するステップ、およびアプリケーション層サービスロジックに従って、生成された第二書き込み要求または第二読み出し要求を処理するステップと、
アプリケーション層サービスロジックに従って処理された第二書き込み要求または第二読み出し要求を、トランスポート層およびネットワーク層プロトコルに従って処理するステップ、第二書き込み要求または第二読み出し要求を処理するためにRDMAエンジンを起動するステップ、および処理済み第二書き込み要求または第二読み出し要求をエンハンスド・イーサネット・インタフェースに送信するステップと、
エンハンスド・イーサネット・プロトコルに基づいて、受信された第二書き込み要求または第二読み出し要求をエンハンスド・イーサネット・インタフェースによって処理するステップ、および処理済み第二書き込み要求または第二読み出し要求をリモート・ターゲット・デバイスに送信するステップと、をさらに含む。
MACインタフェースを提供するための制御部と外部的に接続された従来型のハードディスクと異なり、本発明の実施形態において、エンハンスド・イーサネット・インタフェースは、ハードディスクに追加され、およびエンハンスド・イーサネット・プロトコルに基づいてネットワークと通信する。これは、フロー制御および時間遅延処理においてエンハンスド・イーサネット技術の利点を利用し、および有利なネットワーク状況の利用を支援するデバイス相互接続プロトコルをサポートすることができる。これによって、ハードディスク接続手法は、より柔軟となり、かつ良好なネットワーク帯域幅状態が利用される。
本発明の実施形態、または従来技術における技術的解決策をより明確に説明するために、以下の簡単な説明は、実施形態または従来技術を説明するために必要な添付図面を紹介する。明らかに、以下の説明における添付図面は、本発明のいくつかの実施形態しか示しておらず、当業者は、創造的努力なしにこれらの添付図面から他の図面を導き出すことができよう。
本発明の実施形態に従ったハードディスクの構造概要図である。 本発明の実施形態に従った別のハードディスクの構造概要図である。 本発明の実施形態に従った別のハードディスクの構造概要図である。 本発明の実施形態に従ったハードディスクのアプリケーションシナリオ図である。 本発明の実施形態に従ったデータ処理方法の構造流れ図である。
本発明の実施形態の目的、技術的解決策、および利点をより明確にするために、本発明の実施形態の添付図面を参照しながら、本発明の実施形態における技術的解決策を以下に明確かつ完全に記載する。説明する実施形態は明らかに、本発明の実施形態の全てではなく、一部である。本発明の実施形態に基づいて当業者によって創造的努力なしに得られる他の全ての実施形態は、本発明の保護範囲内に入るものである。
図1は、本発明の実施形態に従った、ハードディスクの構造図である。ハードディスクは、ハード・ディスク・ドライブ(Hard Disk Drive, HDD)100を含む。ハード・ディスク・ドライブ100は、エンハンスド・イーサネット・インタフェース(Enhanced Ethernet interface)101、第一プロセッサ103、第二プロセッサ104、およびハード・ディスク・コントローラ105を含む。ここでエンハンスド・イーサネット・インタフェース101は、エンハンスド・イーサネット・プロトコルに基づいて、ネットワークと通信し、および物理層およびリンク層プロトコルに従って、受信したメッセージパケットを処理するように構成される。
従来型のイーサネットインタフェースと比較して、エンハンスド・イーサネット・インタフェースは、より多くのプロトコルをサポートすることができ、例えば、優先順位ベースフロー制御、エンハンスド・トランスミッション・コントロール、およびデータ・センター・ブリッジング・ケーパビリティ・エクスチェンジ(Data Center Bridging Capabilities Exchange)といったプロトコルをサポートすることができる。従って、エンハンスド・イーサネット・インタフェースは、受信したメッセージパケットを処理するために、実際の要求に従って、優先順位ベースフロー制御(Priority-based Flow Control、PFC)プロトコル、エンハンスド・トランスミッション・コントロール(Enhanced Transmission Control)プロトコル、またはデータ・センター・ブリッジング・ケーパビリティ・エクスチェンジ(Data Center Bridging Capabilities Exchange、DCBX)プロトコルをさらに選択してもよい。本発明の本実施形態において、エンハンスド・イーサネット・インタフェースは、ハードディスクに統合され、それによって、ハードディスクは、エンハンスド・イーサネット・インタフェース・プロトコル系統に含まれるプロトコルをサポートすることができ、およびこれらのプロトコルに対応した機能を実行することができる。
エンハンスド・イーサネット・インタフェース101は、受信したメッセージパケットに関して、フレームカプセル化またはフレーム非カプセル化を実行し、およびエンハンスド・イーサネット・プロトコルの要求に従ったメッセージパケットの伝送および受信に関して、フロー制御および伝送制御の動作を実行する。エンハンスド・イーサネット・インタフェース101によって受信されたメッセージパケットは、ネットワークを使用することによって、エンハンスド・イーサネット・インタフェースによって受信されてもよく、ハードディスクの他の機能モジュールまたはハードウェアデバイスによって、エンハンスド・イーサネット・インタフェース101に送信されてもよいが、本発明の本実施形態はこれに限定されない。エンハンスド・イーサネット・インタフェースによって受信された全メッセージパケットは、エンハンスド・イーサネット・プロトコルに基づいて処理される。
第一プロセッサ103は、エンハンスド・イーサネット・インタフェース101と通信し、およびトランスポート層およびネットワーク層プロトコルに従って、受信したメッセージパケットを処理するように構成される。
第一プロセッサ103は、受信したメッセージパケットに関するトランスポート層およびネットワーク層の処理を通常実行する。例えば、第一プロセッサは、TCP/IP標準プロトコルに従って、受信したメッセージパケットに関するアンパケット化およびパケット再ソートの動作を実行する。また、第一プロセッサは、InfiniBandトランスポート層およびInfiniBandネットワーク層プロトコルの規定に従って、受信したメッセージパケットを処理する。
同様に、第一プロセッサ103によって受信されたメッセージパケットは、エンハンスド・イーサネット・インタフェース101によって処理されたメッセージパケットであってもよく、第二プロセッサ104によって生成されかつ処理されたメッセージパケットであってもよく、ハードディスクの他の機能モジュールまたはハードウェアデバイスによって第一プロセッサ103に送信されたメッセージパケットであってもよいが、本発明の本実施形態はこれに限定されない。第一プロセッサ103によって受信された全メッセージパケットは、トランスポート層およびネットワーク層プロトコルに基づいて処理される。
特定の実施形態において、第一プロセッサは、プロセッサコアの機能モジュールであってもよく、例えば専用プロトコルプロセッサを使用することによって実行されるような、プロセッサコアから独立している専用ハードウェア装置であってもよいことは、注目に値する。
図2を参照する。本発明の別の実施形態において、第一プロセッサ103は、機能モジュールとしてエンハンスド・イーサネット・インタフェースにさらに統合されてもよく、および、第一プロセッサ103は、エンハンスド・イーサネット・インタフェース101と共に、プロセッサコア(Core)から独立した専用ハードウェア装置として作動する。これによって、ハードディスクのプロセッサコア(Core)102は、サービスロジックをより確実に処理することができ、およびハードディスク汎用プロセッサのリソース消費量が減少する。
第二プロセッサ104は、ハード・ディスク・コントローラ105と通信し、アプリケーション層サービスロジックに従って、受信したメッセージパケットを処理するように構成される。
第二プロセッサ104は、受信されるかまたは生成されたメッセージパケットに関するネットワーク伝送とは無関係な、アプリケーション層メッセージ処理を実行し、これはHTTP、P2P、iSCSI、および既定のサービスアプリケーションで処理することを含むが、これに限定するものではない。例としてビッグ・データ・アプリケーションを使用すると、第二プロセッサは、GoogleのMap-ReduceタスクおよびオープンソースHadoopアプリケーションを実行してもよい。
図1は、第二プロセッサ104および第一プロセッサが論理的に離れていること、およびエンティティ上で、上記2つが物理的に結合されているが論理的に離れており、2つの物理的に離れた機能モジュールであってもよいことを示している。
エンハンスド・イーサネット・インタフェース101によって受信されたメッセージパケットを処理した後、エンハンスド・イーサネット・インタフェース101は、実際の状況に従って、処理済みメッセージパケットを第一プロセッサ103に送信してもよい。エンハンスド・イーサネット・インタフェース101によって処理されたメッセージパケットが、第一プロセッサ103または第二プロセッサ104によって処理される必要がなければ、処理済みメッセージパケットは、ハード・ディスク・コントローラ105に直接送信されることができる。ハード・ディスク・コントローラ105は、受信したメッセージパケットの命令に従って、ハード・ディスク・ドライブ(hard disk drive、HDD)上で動作を実行する。同様に、第一プロセッサ103が、受信したメッセージパケットを処理した後、処理済みサービスパケットが第二プロセッサ104によって処理される必要がなければ、第一プロセッサ103は、ハード・ディスク・コントローラ105にサービスパケットを直接送信してもよい。ハード・ディスク・コントローラ105は、第一メッセージパケットの命令に従って、HDD上で動作を実行する。従って、ハード・ディスク・コントローラ105は、第二プロセッサ104、第一プロセッサ103、およびエンハンスド・イーサネット・インタフェース101と別々に通信し、および受信したメッセージパケットの命令に従って、HDD上で動作を実行するように構成される。
実際のアプリケーションにおいて、アプリケーション層メッセージパケットは、アプリケーション層で生成されてもよい。例えば、クラウド・ストレージ・アプリケーションにおいて、ローカル・ハード・ディスクは、スリーコピーメカニズム(three-copy mechanism)のオリジナルのコピー・ストレージ・ハードディスクであるが、他のハードディスク内に二つのコピーを保存する必要があり、従って、データのコピーに関するメッセージパケットは、アプリケーション層で生成される。また、巨大データアプリケーションにおいて、サブタスクを実行するローカル・ハード・ディスクは、実行が完了した後に処理を継続するために、生成されたデータを他のストレージノードに書き込む必要があるため、メッセージパケットは、アプリケーション層で生成される。従って、本発明の本実施形態において、第二プロセッサ104は、メッセージパケットを生成し、およびアプリケーションプロトコルに基づいたメッセージパケットを処理する必要がある。従って、第二プロセッサ104は、メッセージパケットを生成し、アプリケーション層サービスロジックに従って、生成されたメッセージパケットを処理し、および、アプリケーション層サービスロジックに従って処理されたメッセージパケットを第一プロセッサ103に送信するようにさらに構成される。
第一プロセッサ103は、トランスポート層およびネットワーク層プロトコルに従って、第二プロセッサ104によって生成されたメッセージパケットを処理し、次いで処理済みメッセージパケットをエンハンスド・イーサネット・インタフェース101に送信する。エンハンスド・イーサネット・インタフェース101は、エンハンスド・イーサネット・プロトコルに従って、メッセージパケットを処理し、次いでメッセージパケットの命令に従って、メッセージを送信する。
本発明の本実施形態において、エンハンスド・イーサネット・インタフェースは、ハードディスクに追加される。MACインタフェースを提供するために制御部と外部接続された従来型のハードディスクと異なり、エンハンスド・イーサネット・インタフェースは、より多くのプロトコルをサポートし、これらのプロトコルによってサポートされる機能を実行し、フロー制御および時間遅延処理においてエンハンスド・イーサネット・プロトコルの利点を使用することができる。また、ネットワーク状況に従って、従来型のハードディスクがサポートすることができないが、ローカル・エリア・ネットワークの利点の使用に役立つデバイス相互接続プロトコルを選択することができる。これによって、ハードディスク接続手法は、より柔軟となり、かつ良好なネットワーク帯域幅状態が利用される。
本発明の本実施形態によって提供されるハードディスクは、例えば、キャッシュ106、電気的にプログラム可能な読み出し専用メモリ107、磁気ヘッド・ボイス・コイル・モータ108、書き込みおよび読み出しチャネル109、変圧器110などの、従来型のハードディスクに類似する部分をさらに含み、および、それらの機能は、従来型のハードディスクの機能と類似している。
図3を参照する。本発明の実施形態は、リモート・ダイレクト・メモリ・アクセス(Remote Direct Memory Access、RDMA)エンジンがハードディスクの第一プロセッサに統合される、別のハードディスクをさらに提供する。もちろん、RDMAエンジンと統合される第一プロセッサは、例えば、専用プロセッサを使用することによって実行されるような、プロセッサコア(Core)から独立した専用ハードウェア装置として作動してもよい。
本発明の本実施形態において、第一プロセッサ103は、メッセージに関するトランスポート層およびアプリケーション層の処理を実行してもよい。第一プロセッサがRDMAエンジンと統合される場合、第一プロセッサ103は、メッセージパケットに関するトランスポート層およびネットワーク層の処理を実行する。このことは、例えば、メッセージパケットが、トランスポート層およびネットワーク層においてInfiniBandトランスポート層およびInfiniBandネットワーク層プロトコルに適合する場合、第一プロセッサ103は、InfiniBandトランスポート層およびInfiniBandネットワーク層プロトコルに従って、受信したメッセージパケットを処理してもよく、かつ、メッセージパケットが、トランスポート層およびネットワーク層でリモート・ダイレクト・メモリ・アクセス(Remote Direct Memory Access、RDMA)プロトコル+ダイレクト・データ・プレースメント(direct data placement、DDP)プロトコル+マーカ・プロトコル・データ・ユニット・アラインド(Marker Protocol data unit Aligned、MPA)+トランスミッション制御プロトコル/インターネット・プロトコル(Transmission Control Protocol/Internet、TCP/IP)(RDMAP+DDP+MPA+TCP/IP)に適合する場合、第一プロセッサ103は、RDMAP+DDP+MPA+TCP/IPプロトコルに従って、受信したメッセージパケットを処理してもよいことである。
図3は、第一プロセッサ103が、機能モジュールとしてエンハンスド・イーサネット・インタフェースに統合されている例を用いている。第一プロセッサ103がRDMAエンジンと統合されることに基づいて、リモートデバイスから送信された読み出しおよび書き込みメッセージを受信するとき、ハードディスクは、従来型のハードディスクとは異なる方法で読み出しおよび書き込みメッセージを処理する。例えば、
エンハンスド・イーサネット・インタフェースによって受信されたメッセージパケットが、第一書き込み要求であった場合、エンハンスド・イーサネット・インタフェースは、エンハンスド・イーサネット・プロトコルに従って受信したメッセージパケットを処理し、
第一プロセッサ103は、第一書き込み要求がローカル・ハードディスク・メモリにデータを直接書き込むように指示していることを判断し、第一書き込み要求のデータに従って、アドレスを書き込み、および第一書き込み要求に対応するデータをローカルメモリに直接書き込むために、RDMAエンジンを起動するように、さらに構成される。
エンハンスド・イーサネット・インタフェースによって受信されたメッセージパケットが、第一読み出し要求であるとき、エンハンスド・イーサネット・インタフェースが、エンハンスド・イーサネット・プロトコルに従って、受信したメッセージパケットを処理した後、
第一プロセッサ103は、第一読み出し要求がローカル・ハードディスク・メモリからデータを直接読み出すように指示していることを判断し、第一読み出し要求のデータに従って、アドレスを読み出し、および第一読み出し要求に対応するデータをローカルメモリから直接読み出すために、RDMAエンジンを起動するように、さらに構成される。
任意で、第一プロセッサ103が、機能モジュールとしてエンハンスド・イーサネット・インタフェースに統合される、同じ例が使用される。第一プロセッサ103がRDMAエンジンと統合されることに基づいて、ハードディスクは、リモート・デバイス・メモリのデータを直接読み出しおよび書き込むために、要求を生成してもよく、従って、
第二プロセッサ104は、リモート・ターゲット・デバイスのメモリにデータを直接書き込むための第二書き込み要求、またはデータを直接読み出すための第二読み出し要求を含むメッセージパケットを生成するようにさらに構成され、ここで、第二書き込み要求または第二読み出し要求は、リモート・ターゲット・デバイスの、第二書き込み要求または第二読み出し要求に対応するデータのメモリアドレスを運び、および、第二プロセッサ104は、生成された第二書き込み要求または第二読み出し要求に関するアプリケーション層の処理を実行し、処理済み第二書き込み要求または第二読み出し要求を第一プロセッサ103に送信するように構成され、第一プロセッサ103が、
第二書き込み要求または第二読み出し要求がリモート・ターゲット・デバイスのメモリ内の対応するデータを直接書き込みまたは読み出すことを指示していることを判断し、第二書き込み要求または第二読み出し要求を処理するためにRDMAエンジンを起動し、処理済み第二書き込み要求または第二読み出し要求をエンハンスド・イーサネット・インタフェース101に送信するようにさらに構成され、エンハンスド・イーサネット・インタフェース101が、エンハンスド・イーサネット・プロトコルに基づいて、ネットワークと通信し、エンハンスド・イーサネット・プロトコルに基づいて、受信した第二書き込み要求または第二読み出し要求を処理し、および処理済み第二書き込み要求または第二読み出し要求をリモート・ターゲット・デバイスに送信するように特に構成される。
本発明の本実施形態において、ハードディスクの第一プロセッサ103は、RDMAエンジンと統合され、リモート・ダイレクト・メモリ・アクセスのためのRDMA技術は、データ転送を実行するために、二つのハードディスク間のソケット通信を確立せずにハードディスクに共通して適用されてもよい。その結果、時間遅延が減少し、かつ伝送パフォーマンスが向上する。
さらに、本発明の本実施形態において、第一プロセッサは、RDMAエンジンと統合され、トランスポート層およびネットワーク層は、RDMAオーバ・コンバージド・イーサネット(RDMA over Converged Ethernet、RoCE)技術であるInfiniBandトランスポート層およびInfiniBandネットワーク層プロトコルを適用してもよい。あるいは、トランスポート層およびネットワーク層は、例えば、上述したRDMAP+DDP+MPA+TCP/IPプロトコルといった、改善されたTCP/IPプロトコルを適用してもよい。従って、RDMA技術が適用された後、ハードディスクから成るストレージサブシステムにおいて、トランスポート層およびネットワーク層は、ハードディスクIPアドレスを使用することによってアドレッシングを実行することを必要とする、従来型のTCP/IPプロトコルを適用しなくともよく、元のワンレイヤIP(Flat IP)アドレス手法は、例えば、リンク層アドレスMAC、またはInfiniBandによって必要とされるデバイスIDといった、第二レベルアドレスフォームに変換される。加えて、ストレージサブシステムは、TCP/IPプロトコル、InfiniBand、またはPCI Expressといった、従来型の相互接続手法を使用することによって相互接続されてもよい。ハードディスクは、エンハンスド・イーサネット・プロトコルを使用することによって、ストレージサブシステムに集約され、次いでストレージサブシステムは、エンハンスド・イーサネット・プロトコルを使用することによって、ストレージシステムに集約される。例えば、一つまたは複数のストレージサブシステムは、スイッチがレイヤ2スイッチ、InfiniBandスイッチ、またはPCI Expressスイッチに基づき得る、クラウド・ストレージ・システムを構成してもよい。各クラウド・ストレージ・サブシステムがスイッチに接続されるアドレス指定アドレスは、InfiniBandまたはPCI Expressデバイスの識別子によって必要とされるデバイス識別子であってもよい。ストレージシステムのIPアドレスは、実質的に削減される。
図4を参照する。図4は、本発明の別の実施形態によって提供されるハードディスクのアプリケーションシナリオを提供する。本発明の実施形態におけるエンハンスド・イーサネット・インタフェースを提供するハードディスクは、一時的に「エンハンスド・イーサネット・ディスク」として参照される。図4に示すように、アプリケーションサーバは、エンハンスド・イーサネット・スイッチと相互接続され、およびエンハンスド・イーサネット・ディスクは、エンハンスド・イーサネット・プロトコルに基づいて、エンハンスド・イーサネット・スイッチと相互接続される。エンハンスド・イーサネット・ディスクは、RDMAエンジンと統合される。ハードディスクに統合されるRDMAエンジンが、ハードディスクの第一プロセッサに特に統合されることは、上記の実施形態の記述から確認することができる。
特定のアプリケーションサーバが、エンハンスド・イーサネット・ディスク2にデータを書き込むことを必要とするとき、アプリケーションサーバは、RDMA技術を適用させることによって、アプリケーションサーバのRDMAユニットからエンハンスド・イーサネット・ディスク2の対応するメモリ位置に書き込まれる必要があるデータを書き込んでもよい。データがハードディスクのメモリに書き込まれた後、エンハンスド・イーサネット・ディスク2の第二プロセッサは、例えば、データをスライスし、ローカル・ハード・ディスク・データ配置アルゴリズムに従って、ハードディスクのプラッタにデータがどのように配置されているかを計算し、次いで、プラッタにデータを書き込むようにハード・ディスク・コントローラに命令する、などのように、データが書き込まれたメモリセグメントのデータを処理する。逆もまた真である。エンハンスド・イーサネット・ディスク2がアプリケーションサーバのメモリにデータを書き込むとき、エンハンスド・イーサネット・ディスク2の第二プロセッサは、ハード・ディスク・コントローラに、ハードディスクのプラッタからキャッシュにデータを読み出すように命令し、データを処理し、エンハンスド・イーサネット・ディスクのエンハンスド・イーサネット・インタフェースに処理済みデータを提供し、エンハンスド・イーサネット・インタフェースの第一プロセッサは、処理するためのアプリケーションサーバ1のメモリセクションにデータを配信するために、RDMAエンジンを起動する。
エンハンスド・イーサネット・ディスクは、RDMA技術を適用させることによって、リモートデバイスに送信される必要があるデータを、リモートデバイスの対応するメモリセクションに直接書き込み、およびリモートデバイスは、次のサービス処理を実行するために、メモリセグメントのデータを読み出す。同様の手法は、エンハンスド・イーサネット・ディスクに共通して適用させてもよい。
本発明の本実施形態によって提供されるハードディスクは、エンハンスド・イーサネット・インタフェースを備え、フロー制御および時間遅延処理において、エンハンスド・イーサネット・プロトコルの利点を使用し、ネットワーク状況に従って、ローカル・エリア・ネットワークの利点の使用に役立つデバイス相互接続プロトコルを選択することができる。加えて、本発明の本実施形態において、RDMAエンジンは、ハードディスクの間でリモート・ダイレクト・メモリ・アクセスを実行するために、エンハンスド・イーサネット・インタフェースにさらに統合されてもよい。その結果、時間遅延が減少し、かつ伝送パフォーマンスが向上する。
図5を参照する。本発明の実施形態は、本発明の本実施形態によって提供されるエンハンスド・イーサネット・インタフェースを備えるハードディスクに適用可能なデータ処理方法をさらに提供する。エンハンスド・イーサネット・インタフェースは、エンハンスド・イーサネット・プロトコルに基づいて、ネットワークと通信し、およびハードディスクは、リモート・ダイレクト・メモリ・アクセス(RDMA)エンジンと統合される。本発明の本実施形態において、ハードディスクのメモリは直接アクセスされるか、またはダイレクト・メモリ・アクセス要求が送信される。この方法は、以下を含む。
ステップ51:第一書き込み要求を受信し、および受信した第一書き込み要求を物理層およびリンク層プロトコルに従って、処理する。
ステップ52:第一書き込み要求が第一書き込み要求に対応するデータをローカルメモリに直接書き込むように指示していることを判断し、トランスポート層およびネットワーク層プロトコルに従って、受信した書き込み要求を処理し、第一書き込み要求のデータに従って、アドレスを書き込み、および第一書き込み要求に対応するデータをローカルメモリに直接書き込むために、RDMAエンジンを起動する。
第一書き込み要求を受信したとき、ハードディスクのエンハンスド・イーサネット・インタフェースは、物理層およびリンク層プロトコルに従って、受信した第一書き込み要求を処理してもよい。第一書き込み要求が、第一書き込み要求に対応するデータをローカルメモリに直接書き込むように指示していることを判断したとき、ハードディスクのプロセッサは、第一書き込み要求に対応したデータをローカルメモリに直接書き込むために、RDMAエンジンを起動する。
本発明の本実施形態によって提供されるデータ処理方法は、エンハンスド・イーサネット・インタフェースを備えたハードディスクに適用可能であり、RDMAエンジンは、例えば、ハードディスクのコプロセッサに統合されてもよい、ハードディスクに統合される。これによって、ハードディスクは、メモリに直接アクセスすることができ、その結果、データ書き込みの時間遅延が減少し、かつ書き込みデータ効率が向上する。
ハードディスクが、データを直接読み出すコマンドをハードディスクメモリから受信した状況において、方法の実装方法は、以下をさらに含む。
ステップ53:第一読み出し要求を受信し、物理層およびリンク層プロトコルに従って、受信した第一読み出し要求を処理する。
ステップ54:第一読み出し要求が、ローカルメモリからデータを直接読み出すことを指示していることを判断し、トランスポート層およびネットワーク層プロトコルに従って、受信した第一読み出し要求を処理し、第一読み出し要求のデータに従って、アドレスを読み出し、および第一読み出し要求に対応したデータをローカルメモリから直接読み出すために、RDMAエンジンを起動する。
さらに、図2に対応する装置の実施形態における説明と同様に、クラウド・ストレージ・アプリケーションにおいて、ローカル・ハード・ディスクは、スリーコピーメカニズムのオリジナルのコピー・ストレージ・ハードディスクであるが、他のハードディスクに二つのコピーを保存する必要がある。従って、ハードディスクのプロセッサは、データのコピーに関するメッセージパケットを生成してもよい。従って、本発明の実施形態によって提供されるデータ処理方法は、以下をさらに含む。
ステップ55:リモート・ターゲット・デバイスのメモリにデータを直接書き込むための第二書き込み要求、またはデータを直接読み出すための第二読み出し要求を生成し、ここで、第二書き込み要求または第二読み出し要求は、リモート・ターゲット・デバイスの第二書き込み要求または第二読み出し要求に対応するデータのメモリアドレスを運び、およびアプリケーション層サービスロジックに従って、生成された第二書き込み要求または第二読み出し要求を処理する。
ステップ56:アプリケーション層サービスロジックに従って処理された第二書き込み要求または第二読み出し要求を、トランスポート層およびネットワーク層プロトコルに従って処理し、第二書き込み要求または第二読み出し要求を処理するためにRDMAエンジンを起動し、および処理済み第二書き込み要求または第二読み出し要求をエンハンスド・イーサネット・インタフェースに送信する。
ステップ57:エンハンスド・イーサネット・インタフェースが、エンハンスド・イーサネット・プロトコルに基づいて、受信した第二書き込み要求または第二読み出し要求を処理し、および処理済み第二書き込み要求または読み出し要求をリモート・ターゲット・デバイスに送信する。
本発明の実施形態によって提供されるデータ処理方法において、RDMAエンジンは、ハードディスク間でリモート・ダイレクト・メモリ・アクセスを実行するために、エンハンスド・イーサネット・インタフェースを備えたハードディスクに統合される。その結果、時間遅延が減少し、かつ伝送パフォーマンスが向上する。
当業者は、実施形態の手法におけるステップの全部または一部が、プログラムによる命令を受けるハードウェアによって実行できることを理解できよう。プログラムは、コンピュータ読み取り可能なストレージメディアに保存できる。プログラムを実行するとき、実施形態の方法のステップが、実行される。上述のストレージメディアは、ROM、RAM、フラッシュメモリ、磁気ディスク、または光学ディスクといった、プログラムコードを格納できる任意のメディアを含む。
最後に、実施形態は、本発明を限定するのではなく、本発明の技術的な解決策を説明するように意図されているに過ぎないことに留意されたい。本発明が実施形態に関連して詳細に説明されているが、当業者は、当業者が、本発明の実施形態の技術的な解決策の発想および範囲を逸脱することなく、実施形態で説明された技術的な解決策に対する修正をやはり行うことができ、またはそれらの技術的な解決策の一部の技術的な特徴に対して均等な置換えを行うことができることを理解するはずである。
100 ハード・ディスク・ドライブ
101 エンハンスド・イーサネット・インタフェース
103 第一プロセッサ
104 第二プロセッサ
105 ハード・ディスク・コントローラ
106 キャッシュ
107 読み出し専用メモリ
108 磁気ヘッド・ボイス・コイル・モータ
109 書き込み/読み出しチャネル
110 変圧器

Claims (12)

  1. エンハンスド・イーサネット(登録商標、以下同じ)・プロトコルに基づいて、ネットワークと通信し、および物理層およびリンク層プロトコルに従って、受信したメッセージパケットを処理するように構成されたエンハンスド・イーサネットインタフェースと、
    前記エンハンスド・イーサネット・インタフェースと通信し、およびトランスポート層とネットワーク層プロトコルに従って、前記受信したメッセージパケットを処理するように構成された第一プロセッサと、
    ハード・ディスク・コントローラおよび前記第一プロセッサと別々に通信し、およびアプリケーション層サービスロジックに従って、前記受信したメッセージパケットを処理するように構成された第二プロセッサと、
    前記第二プロセッサ、前記第一プロセッサ、および前記エンハンスド・イーサネット・インタフェースと、別々に通信し、および前記受信したメッセージパケットの命令に従って、ハード・ディスク・ドライブ上で動作を実行するように構成された前記ハード・ディスク・コントローラと、
    を含むハードディスク。
  2. 前記エンハンスド・イーサネット・インタフェースが、優先順位ベースフロー制御(PFC)プロトコル、エンハンスド・トランスミッション・コントロール(ETC)プロトコル、およびデータ・センター・ブリッジング・ケーパビリティ・エクスチェンジ(DCBX)プロトコルをサポートする、請求項1に記載のハードディスク。
  3. 前記第一プロセッサが、前記エンハンスド・イーサネット・インタフェースに統合される、請求項1に記載のハードディスク。
  4. 前記第一プロセッサが、前記エンハンスド・イーサネット・インタフェースと通信し、およびInfiniBandトランスポート層およびInfiniBandネットワーク層プロトコルに従って、前記受信したメッセージパケットに関するトランスポート層およびネットワーク層の処理を実行するように特に構成された、請求項3に記載のハードディスク。
  5. 前記第一プロセッサが、前記エンハンスド・イーサネット・インタフェースと通信し、およびリモート・ダイレクト・メモリ・アクセス・プロトコル(RDMAP)+ダイレクト・データ・プレースメント(DDP)プロトコル+マーカ・プロトコル・データ・ユニット・アラインド(MPA)+トランスミッション制御プロトコル/インターネット・プロトコル(TCP/IP)プロトコルに従って、前記受信したメッセージパケットに関するトランスポート層およびネットワーク層の処理を実行するように特に構成された、請求項3に記載のハードディスク。
  6. 前記第一プロセッサが、リモート・メモリ・ダイレクト・アクセス(RDMA)エンジンと統合される、請求項3乃至5の何れか一項に記載のハードディスク。
  7. 前記エンハンスド・イーサネット・インタフェースによって受信された前記メッセージパケットが、第一書き込み要求であるとき、前記エンハンスド・イーサネット・インタフェースは、前記物理層およびリンク層プロトコルに従って、前記受信した第一書き込み要求を処理するように特に構成され、
    前記第一プロセッサが、前記第一書き込み要求が前記第一書き込み要求に対応するデータをローカル・ハードディスク・メモリに直接書き込むように指示していることを判断し、前記第一書き込み要求のデータに従って、アドレスを書き込み、および前記第一書き込み要求に対応する前記データを前記ローカルメモリに直接書き込むために、前記RDMAエンジンを起動するようにさらに構成され、
    前記エンハンスド・イーサネット・インタフェースによって受信された前記メッセージパケットが、第一読み出し要求であるとき、前記エンハンスド・イーサネット・インタフェースは、前記物理層およびリンク層プロトコルに従って、前記受信した第一読み出し要求を処理するように特に構成され、および
    前記第一プロセッサが、前記第一読み出し要求が前記第一読み出し要求に対応するデータを前記ローカルメモリから直接読み出すように指示していることを判断し、前記第一読み出し要求のデータに従って、アドレスを読み出し、および前記第一読み出し要求に対応する前記データを前記ローカルメモリから直接読み込むために、前記RDMAエンジンを起動するようにさらに構成された、
    請求項6に記載のハードディスク。
  8. 前記第二プロセッサが、リモート・ターゲット・デバイスのメモリにデータを直接書き込むための第二書き込み要求、またはデータを直接読み出すための第二読み出し要求を含むメッセージパケットを生成するように構成され、ここで、前記第二書き込み要求または第二読み出し要求は、前記リモート・ターゲット・デバイスの、前記第二書き込み要求または第二読み出し要求に対応するデータのメモリアドレスを運ぶ、前記第二プロセッサが、前記アプリケーション層サービスロジックに従って、前記生成された第二書き込み要求または第二読み出し要求を処理し、および前記処理済み第二書き込み要求または第二読み出し要求を前記第一プロセッサに送信するようにさらに構成され、
    前記第一プロセッサが、前記第二書き込み要求または第二読み出し要求が前記リモート・ターゲット・デバイスのメモリ内の対応するデータを直接書き込みまたは読み出すことを指示していることを判断し、前記第二書き込み要求または前記第二読み出し要求を処理するために前記RDMAエンジンを起動し、前記処理済み第二書き込み要求または第二読み出し要求を前記エンハンスド・イーサネット・インタフェースに送信するようにさらに構成され、
    前記エンハンスド・イーサネット・インタフェースが、前記エンハンスド・イーサネット・プロトコルに基づいて、前記ネットワークと通信し、前記エンハンスド・イーサネット・プロトコルに基づいて、前記受信した第二書き込み要求または第二読み出し要求を処理し、および前記処理済み第二書き込み要求または第二読み出し要求を前記リモート・ターゲット・デバイスに送信するように特に構成された、
    請求項6に記載のハードディスク。
  9. 前記ハードディスクが、エンハンスド・イーサネット・プロトコルに基づいて、エンハンスド・イーサネット・スイッチと相互接続する、
    請求項6に記載のハードディスク。
  10. エンハンスド・イーサネット(登録商標、以下同じ)・インタフェースを備えたハードディスクに適用可能なデータ処理方法であって、ここで、前記エンハンスド・イーサネット・インタフェースは、エンハンスド・イーサネット・プロトコルに基づいてネットワークと通信し、および前記ハードディスクは、リモート・メモリ・ダイレクト・アクセス(RDMA)エンジンと統合される、データ処理方法であって、前記方法は、
    第一書き込み要求を受信するステップ、および物理層およびリンク層プロトコルに従って、前記受信した第一書き込み要求を処理するステップと、
    前記第一書き込み要求が、前記第一書き込み要求に対応するデータをローカルメモリに直接書き込むように指示していることを判断するステップ、トランスポート層およびネットワーク層プロトコルに従って、前記受信した第一書き込み要求を処理するステップ、前記第一書き込み要求のデータに従って、アドレスを書き込むステップ、および前記第一書き込み要求に対応する前記データを前記ローカルメモリに直接書き込むために前記RDMAエンジンを起動するステップと、を含む、
    データ処理方法。
  11. 第一読み出し要求を受信するステップ、および前記物理層およびリンク層プロトコルに従って、前記受信した第一読み出し要求を処理するステップと、
    前記第一読み出し要求が前記ローカルメモリからデータを直接読み出すことを指示していることを判断するステップ、前記トランスポート層およびネットワーク層プロトコルに従って、前記受信した第一読み出し要求を処理するステップ、前記第一読み出し要求のデータに従ってアドレスを読み出すステップ、および前記第一読み出し要求に対応する前記データを前記ローカルメモリから直接読み出すために前記RDMAエンジンを起動するステップと、をさらに含む、
    請求項10に記載のデータ処理方法。
  12. リモート・ターゲット・デバイス・メモリにデータを直接書き込むための第二書き込み要求またはデータを直接読み出すための第二読み出し要求を生成するステップであって、ここで前記第二書き込み要求または第二読み出し要求は、前記リモート・ターゲット・デバイスの前記第二書き込み要求または第二読み出し要求に対応するデータのメモリアドレスを運ぶ、生成するステップ、およびアプリケーション層サービスロジックに従って、前記生成された第二書き込み要求または第二読み出し要求を処理するステップと、
    前記アプリケーション層サービスロジックに従って処理された前記第二書き込み要求または前記第二読み出し要求を、前記トランスポート層およびネットワーク層プロトコルに従って処理するステップ、前記第二書き込み要求または前記第二読み出し要求を処理するために前記RDMAエンジンを起動するステップ、および前記処理済み第二書き込み要求または第二読み出し要求を前記エンハンスド・イーサネット・インタフェースに送信するステップと、
    前記エンハンスド・イーサネット・プロトコルに基づいて、前記受信された第二書き込み要求または第二読み出し要求を前記エンハンスド・イーサネット・インタフェースによって処理するステップ、および前記処理済み第二書き込み要求または第二読み出し要求を前記リモート・ターゲット・デバイスに送信するステップと、をさらに含む、
    請求項10に記載のデータ処理方法。
JP2016514231A 2013-05-20 2013-05-20 ハードディスクおよびデータ処理方法 Pending JP2016529575A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/075928 WO2014186940A1 (zh) 2013-05-20 2013-05-20 一种硬盘和数据处理方法

Publications (1)

Publication Number Publication Date
JP2016529575A true JP2016529575A (ja) 2016-09-23

Family

ID=50363918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016514231A Pending JP2016529575A (ja) 2013-05-20 2013-05-20 ハードディスクおよびデータ処理方法

Country Status (5)

Country Link
US (1) US20150032837A1 (ja)
EP (1) EP2840576A4 (ja)
JP (1) JP2016529575A (ja)
CN (1) CN103703441B (ja)
WO (1) WO2014186940A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105247618B (zh) * 2014-04-30 2017-12-15 华为技术有限公司 一种硬盘执行应用代码的方法及装置
CN103995745B (zh) * 2014-05-22 2017-09-05 华为技术有限公司 一种ip硬盘任务执行方法以及ip硬盘
CN104023081B (zh) * 2014-06-19 2018-03-13 华为技术有限公司 网协ip硬盘的数据处理方法及ip硬盘
CN104077239B (zh) * 2014-06-24 2017-04-26 华为技术有限公司 Ip硬盘与存储系统,及其数据操作方法
CN104360819B (zh) * 2014-09-29 2018-04-27 华为技术有限公司 数据写入方法及装置
CN105407137B (zh) * 2015-10-22 2019-07-23 华为技术有限公司 一种数据迁移方法、ip硬盘、ip盘网关及存储系统
TWM526712U (zh) * 2016-05-06 2016-08-01 Portwell Inc 可支援並自動辨識ip硬碟與sata硬碟的伺服器
CN108255426B (zh) * 2017-12-29 2021-04-20 深圳忆联信息系统有限公司 一种ssd硬盘的数据处理方法和装置
CN108768669A (zh) * 2018-08-14 2018-11-06 杭州创谐信息技术股份有限公司 基于asic可信远程内存交换卡及其数据交换方法
CN109918172A (zh) * 2019-02-26 2019-06-21 烽火通信科技股份有限公司 一种虚拟机热迁移方法及系统
CN111988264A (zh) * 2019-05-22 2020-11-24 阿里巴巴集团控股有限公司 区块链与网络系统、数据接收与发送方法及设备
CN110888598B (zh) * 2019-10-09 2024-01-19 宜鼎国际股份有限公司 数据储存装置、电子设备及可远程控制电子设备的系统
CN112887227B (zh) * 2021-01-15 2022-05-13 苏州浪潮智能科技有限公司 一种固态硬盘中的报文接收方法、系统及相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005310130A (ja) * 2004-04-21 2005-11-04 Internatl Business Mach Corp <Ibm> データ転送要求を実行するための方法、システム、およびプログラム
JP2009529752A (ja) * 2006-03-09 2009-08-20 マーベル ワールド トレード リミテッド 集積ギガビットイサーネットインタフェースモジュールを持つハードディスクドライブ集積回路

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004515019A (ja) * 2000-08-23 2004-05-20 シーゲイト テクノロジー エルエルシー インテリジェントデータ記憶装置
US20060168091A1 (en) * 2005-01-21 2006-07-27 International Business Machines Corporation RNIC-BASED OFFLOAD OF iSCSI DATA MOVEMENT FUNCTION BY INITIATOR
US7596144B2 (en) * 2005-06-07 2009-09-29 Broadcom Corp. System-on-a-chip (SoC) device with integrated support for ethernet, TCP, iSCSI, RDMA, and network application acceleration
CN101409715B (zh) * 2008-10-22 2012-04-18 中国科学院计算技术研究所 一种利用InfiniBand网络进行通信的方法及系统
CN101442548B (zh) * 2008-12-17 2012-09-05 成都市华为赛门铁克科技有限公司 一种固态硬盘的操作方法和固态硬盘
US20100183024A1 (en) * 2009-01-21 2010-07-22 Brocade Communications Systems, Inc Simplified rdma over ethernet and fibre channel
CN101546601B (zh) * 2009-05-13 2011-06-08 杭州华三通信技术有限公司 固态硬盘及存储系统
US8942139B2 (en) * 2011-12-07 2015-01-27 International Business Machines Corporation Support for converged traffic over ethernet link aggregation (LAG)
US10275375B2 (en) * 2013-03-10 2019-04-30 Mellanox Technologies, Ltd. Network interface controller with compression capabilities
US9258185B2 (en) * 2013-04-10 2016-02-09 Cisco Technology, Inc. Fibre channel over Ethernet support in a trill network environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005310130A (ja) * 2004-04-21 2005-11-04 Internatl Business Mach Corp <Ibm> データ転送要求を実行するための方法、システム、およびプログラム
JP2009529752A (ja) * 2006-03-09 2009-08-20 マーベル ワールド トレード リミテッド 集積ギガビットイサーネットインタフェースモジュールを持つハードディスクドライブ集積回路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
COHEN, D. ET AL.: "Remote Direct Memory Access over the Converged Enhanced Ethernet Fabric: Evaluating the Options", 17TH IEEE SYMPOSIUM ON HIGH PERFORMANCE INTERCONNECTS, JPN6017007620, 2009, pages 123 - 130, XP031528528 *

Also Published As

Publication number Publication date
CN103703441B (zh) 2015-04-08
CN103703441A (zh) 2014-04-02
US20150032837A1 (en) 2015-01-29
EP2840576A4 (en) 2015-07-01
EP2840576A1 (en) 2015-02-25
WO2014186940A1 (zh) 2014-11-27

Similar Documents

Publication Publication Date Title
JP2016529575A (ja) ハードディスクおよびデータ処理方法
US10348830B1 (en) Virtual non-volatile memory express drive
US11640269B2 (en) Solid-state drive with initiator mode
KR102055535B1 (ko) 탄성 패브릭 어댑터 - 무접속의 신뢰할 수 있는 데이터그램
CN109471833B (zh) 用于最大化PCIe对等连接的带宽的系统和方法
JP6005835B2 (ja) マルチキャストdmaおよび統合されたアドレス空間を有するストレージシステム
US20180302327A1 (en) Load balancing for a virtual networking system
EP3025241B1 (en) Scalable direct inter-node communication over peripheral component interconnect-express (pcie)
WO2015197027A1 (zh) 一种访问NVMe存储设备的方法和NVMe存储设备
US10466935B2 (en) Methods for sharing NVM SSD across a cluster group and devices thereof
US10880204B1 (en) Low latency access for storage using multiple paths
JP2013538389A (ja) Xfr_rdyの動的なイネーブリングおよびディセーブリングのための方法、コンピュータ・プログラム、およびシステム(xfr_rdyの動的なイネーブリングおよびディセーブリング)
CN104811392A (zh) 用于处理网络中的资源访问请求的方法和系统
US20160299856A1 (en) Memory appliance couplings and operations
JP2017537404A (ja) メモリアクセス方法、スイッチ、およびマルチプロセッサシステム
US20210112029A1 (en) Intelligently routing a response packet along a same connection as a request packet
US20190140930A1 (en) Integrating a communication bridge into a data processing system
CN112306380A (zh) 一种存储管理方法、装置以及计算机存储介质
WO2014101502A1 (zh) 基于内存芯片互连的内存访问处理方法、内存芯片及系统
CN110471627B (zh) 一种共享存储的方法、系统及装置
US10523741B2 (en) System and method for avoiding proxy connection latency
US9921753B2 (en) Data replication across host systems via storage controller
WO2015055008A1 (zh) 一种存储控制芯片及磁盘报文传输方法
CN103036815B (zh) 一种信息技术和通信技术ict融合系统
US20210382847A1 (en) SYSTEM AND METHOD FOR PERFORMING TRANSACTION AGGREGATION IN A NETWORK-ON-CHIP (NoC)

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170912