Weird READ_DMA errors in dmesg
Arto Pekkanen
isoa at kapsi.fi
Wed Jul 10 00:56:10 UTC 2013
I have the following device in my BSD box
# camcontrol identify ada0
pass0: <KINGSTON SVP200S360G 502ABBF0> ATA-8 SATA 3.x device
pass0: 150.000MB/s transfers (SATA 1.x, UDMA5, PIO 8192bytes)
protocol ATA/ATAPI-8 SATA 3.x
device model KINGSTON SVP200S360G
firmware revision 502ABBF0
serial number 50026B7227002AA4
WWN 50026b7227002aa4
cylinders 16383
heads 16
sectors/track 63
sector size logical 512, physical 512, offset 0
LBA supported 117231408 sectors
LBA48 supported 117231408 sectors
PIO supported PIO4
DMA supported WDMA2 UDMA6
media RPM non-rotating
Feature Support Enabled Value Vendor
read ahead yes yes
write cache yes yes
flush cache yes yes
overlap no
Tagged Command Queuing (TCQ) no no
Native Command Queuing (NCQ) yes 32 tags
SMART yes yes
microcode download yes yes
security yes no
power management yes yes
advanced power management yes yes 254/0xFE
automatic acoustic management no no
media status notification no no
power-up in Standby yes no
write-read-verify yes no 0/0x0
unload yes yes
free-fall no no
data set management (TRIM) yes
I get a sometimes the following types of dmesg output on my Kingston V+200 SSD hd:
(ada0:ata3:0:0:0): READ_DMA. ACB: c8 00 bf fa 39 40 00 00 00 00 08 00
(ada0:ata3:0:0:0): CAM status: ATA Status Error
(ada0:ata3:0:0:0): ATA status: 51 (DRDY SERV ERR), error: 84 (ICRC ABRT )
(ada0:ata3:0:0:0): RES: 51 84 bf fa 39 00 00 00 00 08 00
(ada0:ata3:0:0:0): Retrying command
(ada0:ata3:0:0:0): READ_DMA. ACB: c8 00 0f 75 d7 41 00 00 00 00 40 00
(ada0:ata3:0:0:0): CAM status: ATA Status Error
(ada0:ata3:0:0:0): ATA status: 51 (DRDY SERV ERR), error: 84 (ICRC ABRT )
(ada0:ata3:0:0:0): RES: 51 84 0f 75 d7 01 01 00 00 40 00
(ada0:ata3:0:0:0): Retrying command
(ada0:ata3:0:0:0): READ_DMA. ACB: c8 00 4f bc e9 44 00 00 00 00 40 00
(ada0:ata3:0:0:0): CAM status: ATA Status Error
(ada0:ata3:0:0:0): ATA status: 51 (DRDY SERV ERR), error: 84 (ICRC ABRT )
(ada0:ata3:0:0:0): RES: 51 84 4f bc e9 04 04 00 00 40 00
(ada0:ata3:0:0:0): Retrying command
(ada0:ata3:0:0:0): READ_DMA. ACB: c8 00 27 1a 95 40 00 00 00 00 08 00
(ada0:ata3:0:0:0): CAM status: ATA Status Error
(ada0:ata3:0:0:0): ATA status: 51 (DRDY SERV ERR), error: 84 (ICRC ABRT )
(ada0:ata3:0:0:0): RES: 51 84 27 1a 95 00 00 00 00 08 00
(ada0:ata3:0:0:0): Retrying command
(ada0:ata3:0:0:0): READ_DMA. ACB: c8 00 cf d8 35 45 00 00 00 00 08 00
(ada0:ata3:0:0:0): CAM status: ATA Status Error
(ada0:ata3:0:0:0): ATA status: 51 (DRDY SERV ERR), error: 84 (ICRC ABRT )
(ada0:ata3:0:0:0): RES: 51 84 cf d8 35 05 05 00 00 08 00
(ada0:ata3:0:0:0): Retrying command
(ada0:ata3:0:0:0): READ_DMA. ACB: c8 00 2f 5b ab 40 00 00 00 00 08 00
(ada0:ata3:0:0:0): CAM status: ATA Status Error
(ada0:ata3:0:0:0): ATA status: 51 (DRDY SERV ERR), error: 84 (ICRC ABRT )
(ada0:ata3:0:0:0): RES: 51 84 2f 5b ab 00 00 00 00 08 00
(ada0:ata3:0:0:0): Retrying command
(ada0:ata3:0:0:0): READ_DMA. ACB: c8 00 9f 08 22 40 00 00 00 00 08 00
(ada0:ata3:0:0:0): CAM status: ATA Status Error
(ada0:ata3:0:0:0): ATA status: 51 (DRDY SERV ERR), error: 84 (ICRC ABRT )
(ada0:ata3:0:0:0): RES: 51 84 9f 08 22 00 00 00 00 08 00
(ada0:ata3:0:0:0): Retrying command
(ada0:ata3:0:0:0): READ_DMA. ACB: c8 00 67 3b 3a 40 00 00 00 00 08 00
(ada0:ata3:0:0:0): CAM status: ATA Status Error
(ada0:ata3:0:0:0): ATA status: 51 (DRDY SERV ERR), error: 84 (ICRC ABRT )
(ada0:ata3:0:0:0): RES: 51 84 67 3b 3a 00 00 00 00 08 00
(ada0:ata3:0:0:0): Retrying command
(ada0:ata3:0:0:0): READ_DMA. ACB: c8 00 4f 27 8d 44 00 00 00 00 40 00
(ada0:ata3:0:0:0): CAM status: ATA Status Error
(ada0:ata3:0:0:0): ATA status: 51 (DRDY SERV ERR), error: 84 (ICRC ABRT )
(ada0:ata3:0:0:0): RES: 51 84 4f 27 8d 04 04 00 00 40 00
(ada0:ata3:0:0:0): Retrying command
This is just a sample of the output. ACB and RES parameters seem to vary.
I have a geli-encrypted root partition on it, and data set management (wear
leveling) enabled on the UFS2 filesystem. The encryption (AES-256-CBC) is
assisted by padlock and the padlock.ko kernel module. The motherboard on the box
is some 1.2 Ghz VIA C7 CPU based EPIA, cannot remember which ...
The disk seems to work just fine, I have never gotten any errors while writing
or reading stuff from the disk, as far as I know. The commands are retried, and
maybe they succeed after all?
Are the above errors dangerous? Any idea what causes them?
Also, I would like to know if BIO_DELETE (ssd trim) commands are passed thru the
geli layer to the actual block device.
Thanks beforehand.
--
Arto Pekkanen, säätäjä
ksym at IRCnet
More information about the freebsd-hardware
mailing list