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