This article is for informational purposes only and no longer being updated by Seagate.

ATAハードディスク・ドライブにおけるバッファまたはキャッシュ・サイズの検出

 

ATAハードディスク・ドライブにおけるバッファまたはキャッシュ・サイズの検出

ATAディスク・ドライブは、T13委員会という産業共同体が作成した工業規格によって定義されています。この規格書は、ドライブのメーカー、システムやチップセットのメーカー、ホスト・アダプタのメーカー、オペレーティング・システムのメーカー、ソフトウェア・プログラマーなどの間の互換性を保証するためにコンピュータ業界が使用するものです。SATA、SCSI、USB、1394にも同様の規格や団体が存在します。

現行の規格はATA-8という名前になっています。最初の規格であるATA-1(1991年)では、ESDIインターフェイスに基づいてIdentify Device(デバイス識別)コマンドを含む最初のコマンドが定義されました。ATA規格のIdentify Deviceコマンド (ECh) は、ディスク・ドライブに関する512バイトのバイナリ情報を返します。この情報には、モデル番号、シリアル番号、容量などが含まれます。また、診断をサポートする機能や特定の速度を実行する能力なども含まれます。例えばコンピュータを起動すると、Identify Deviceコマンドを発行してドライブのサイズを自動検出します。

ATA-1(1991年)Identify Device応答のWord 21は以下の通り定義されていました。

「Buffer size in 512 byte increments (0000h=not specified)」(バッファ・サイズは512バイト・インクリメント(0000h=指定なし))

ATA-3(1997年)のWord 21では、応答は「Obsolete」(サポート外)に変更されました。

ATA-8(2006年)のWord 21では、応答は現在「Retired」(廃止)として定義されています。

多くのドライブメーカーは、ATA-3規格が変更され、必須ではないにもかかわらず、バッファ・サイズを示す手段として今でもWord 21を使用しています。長年にわたり、多くのハードディスク・ドライブ診断ツールやベンチマーク・ユーティリティが、Word 21のデータを前提に作成されています。例えば、Word 21が8,000hの場合、キャッシュ・サイズは16MBに相当します (8,000h = 32,768 x 512 = 16,777,216バイト)。

Seagateでは、ドライブのバッファ・サイズを示す診断ソフトウェアは提供していません。バッファ・サイズを含め、Seagateドライブモデルの仕様はすべて、本ウェブサイトのサポート検索ツールを使って確認することができます。

キャッシュ・サイズが0MBと表示される理由

ハードディスク・ドライブのベンチマークまたは診断ソフトウェアがバッファ・サイズを0MBと認識しても、ドライブのキャッシュ・サイズは実際には32MBであることがあります。これは、お使いのドライブの仕様書で確認することができます。Word 21に保存できる最大値は、FFFFhです。32MBのバッファを備えた最近のディスク・ドライブでは、バッファ・サイズを表すために、1バイト分追加して10,000hとする必要があります。10,000h (Word 21) の最初の2バイトは、0,000h、すなわちゼロです。

Identify Deviceコマンドによって取得される値や情報は、あくまでもメーカーが提供する単なるデータに過ぎないということを知っておくことが重要です。言い換えれば、バッファが8MBと示されていても、それはドライブの設計者が提供した読み取りデータに過ぎず、実際のメモリチップを自動検出したわけではないということです。ドライブのバッファ・サイズが0MBと表示されていても、それはサイズを自動検出したのではなく、単にWord 21に保存されているデータを読み取っただけです。

そのため、T13委員会がFFFFhを超えるキャッシュ・サイズの表示に対応するATA規格を新たに採用しない限り、バッファ・サイズはあくまでも仕様上のサイズであるということです。