EN JA
TWE(4)
TWE(4) FreeBSD Kernel Interfaces Manual TWE(4)

名称

twe3ware 5000/6000/7000/8000 シリーズ PATA/SATA RAID アダプタドライバ

書式

このドライバをカーネルにコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:

device pci
device twe

もう一つの方法として、ブート時にモジュールとしてドライバをロードするためには、次の行を loader.conf(5) に置きます:

twe_load="YES"

解説

twe ドライバは AMCC の 3ware 5000/6000/7000/8000 シリーズ PATA/SATA RAID アダプタのサポートを行ないます。これらのアダプタは以前“3ware Escalade”として知られていました。

これらのデバイスは、2、4、8 または 12 ATA ディスクドライブをサポートして、 RAID0 (ストライピング) と RAID1 (ミラーリング) 機能を提供します。

ハードウェア

twe ドライバは次の PATA/SATA RAID コントローラをサポートします:

  • AMCC's 3ware 5000 series
  • AMCC's 3ware 6000 series
  • AMCC's 3ware 7000-2
  • AMCC's 3ware 7006-2
  • AMCC's 3ware 7500-4LP
  • AMCC's 3ware 7500-8
  • AMCC's 3ware 7500-12
  • AMCC's 3ware 7506-4LP
  • AMCC's 3ware 7506-8
  • AMCC's 3ware 7506-12
  • AMCC's 3ware 8006-2LP
  • AMCC's 3ware 8500-4LP
  • AMCC's 3ware 8500-8
  • AMCC's 3ware 8500-12
  • AMCC's 3ware 8506-4LP
  • AMCC's 3ware 8506-8
  • AMCC's 3ware 8506-8MI
  • AMCC's 3ware 8506-12
  • AMCC's 3ware 8506-12MI

診断

コントローラ初期化フェーズ

twe%d: microcontroller not ready

コントローラの搭載 CPU は、それが準備ができていると報告していません。これは基盤かシステム障害のどちらかのせいであるかもしれません。初期化は失敗しました。

twe%d: no attention interrupt
twe%d: can't drain AEN queue
twe%d: reset not reported
twe%d: controller errors detected
twe%d: can't drain response queue
twe%d: reset %d failed, trying again

コントローラはそれをリセットして初期化するドライバの試みに正しく応答していません。このプロセスは何度か再試行されます。

twe%d: can't initialise controller, giving up

コントローラをリセットして初期化するいくつかの試みは失敗しました。初期化は失敗し、ドライバはこのコントローラにアタッチ (取り付け) されません。

ドライバ初期化/シャットダウンフェーズ

twe%d: register window not available
twe%d: can't allocate register window
twe%d: can't allocate parent DMA tag
twe%d: can't allocate interrupt
twe%d: can't set up interrupt
twe%d: can't establish configuration hook

リソースの割り付けエラーがドライバを初期化している間に発生しました。初期化は失敗し、ドライバはこのコントローラにアタッチ (取り付け) されません。

twe%d: can't detect attached units

アタッチされたユニットのリストの取得に失敗しました。初期化は失敗しました。

twe%d: error fetching capacity for unit %d
twe%d: error fetching state for unit %d
twe%d: error fetching descriptor size for unit %d
twe%d: error fetching descriptor for unit %d
twe%d: device_add_child failed
twe%d: bus_generic_attach returned %d

ディスクデバイスの作成はアダプタに関する通信問題のためか、リソース不足のためのいずれかで失敗しました。 1 ユニット以上のアタッチは異常終了したかもしれません。

操作フェーズ

twe%d: command completed - %s

コマンドはコントローラによって警告で完了していると報告されました。警告は次の 1 であるかもしれません:

redundant/inconsequential request ignored
failed to write zeroes to LBA 0
failed to profile TwinStor zones
twe%d: command failed - %s

コマンドはコントローラによって失敗したと報告されました。失敗メッセージは次の 1 であるかもしれません:

aborted due to system command or reconfiguration
aborted
access error
access violation
device failure
controller error
timed out
invalid unit number
unit not available
undefined opcode
request incompatible with unit
invalid request
firmware error, reset requested

コマンドは致命的なエラーの後にオペレーティングシステムに返されます。

twe%d: command failed submission - controller wedged

コントローラが無反応であるので、コマンドはコントローラに配信することができませんでした。

twe%d: AEN: <%s>

コントローラは、AEN (Asynchronous Event Notification (非同期イベント通知)) を使用することで状態の変化を報告しました。次の AEN が報告されるかもしれません:

queue empty
soft reset
degraded mirror
controller error
rebuild fail
rebuild done
incomplete unit
initialisation done
unclean shutdown detected
drive timeout
drive error
rebuild started
aen queue full

AEN は管理ツールによって内部的に使用されるキューにも入れられます。

twe%d: error polling for signalled AENs

コントローラは、1 つ以上のステータスメッセージがドライバの準備ができていると報告しましたが、これらの 1 つを取得する試みはエラーを返しました。

twe%d: AEN queue overflow, lost AEN <%s>

ステータスメッセージはコントローラから検索して取り出されましたが、ドライバでそれをキューに入れるためのそれ以上の余地がありません。メッセージは失われています (が、しかし、コンソールに印刷されます)。

twe%d: missing expected status bits %s
twe%d: unexpected status bits %s

コントローラのステータスビットのチェックは予期されない状態を示しています。

twe%d: host interrupt

コントローラはホストの割り込みシグナルが起こりました。これは、未知の目的のために働き、無視されます。

twe%d: command interrupt

コントローラはコマンドの割り込みシグナルが起こりました。これは使用されず、無効となります。

twe%d: controller reset in progress...

コントローラはドライバによってリセットされています。通常、ドライバが、コントローラが修復しない状態であると決定したとき、これは行なわれます。

twe%d: can't reset controller, giving up

ドライバは、コントローラをリセットことをあきらめました。それ以上の I/O (入出力) は全く操作されません。

controller reset done, %d commands restarted

コントローラはリセットに成功し、未解決のコマンドは再開されました。

作者

twe ドライバとマニュアルページは、 Michael Smith <msmith@FreeBSD.org>によって書かれました。

ドライバの大規模な作業は、 Vinod Kashyap <vkashyap@FreeBSD.org>と Paul Saab <ps@FreeBSD.org>によって行われました。

バグ

コントローラは 512 バイトの境界に整列されない I/O (入出力) 転送を操作することができません。ユーザ空間から生のデバイスのアクセスをサポートするために、ドライバは整列されていないデータで整列を修復を実行します。このプロセスが効率が悪いので、したがって、最も良い性能を得るためにデバイスにアクセスするユーザ空間のアプリケーションは整列されたバッファでそのようにするべきです。
August 15, 2004 FreeBSD