FreeBSD QandA 1951
Q. ATA66 に繋いだ DVD の転送速度が遅く
> acd0:READ_BIG - ABORTED COMMAND asc=48 ascq=00 error=00
という、メッセージが表示されます。
A. まず、IDE ケーブルが ATA66 対応のケーブルか確認してください。
対応していないケーブルでは、不具合があるとの報告があります。
BX440 + ATA66(Promise) の場合では、ATA66 のチップと DVD との相性も
あるようです。
技術的には /sys/dev/ata/ata-all.c の atapi_interrupt 関数内で、
このメッセージが出ています。
ATAPI コマンドの 28h READ(10) パケットが失敗しているようです。
(FreeBSD では READ_BIG と名前を付けているようです。)
何をするのかというと ATAPI デバイスから
LBA アドレッシングモードでデータを読み込みます。
で、デバイスからか ATA66 チップからかエラーが帰ってくるので
リトライを繰り返すなどで速度低下が起きたのだと思います。
また、 /usr/src/sys/dev/ata/ata-dma.c に
/* the Promise can only do DMA on ATA disks not on ATAPI devices */
(Promise では DMA が行えるのは ATA ディスクのみで ATAPI デバイスでは
DMA を行なえません。)というコメントが記されています。
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。