Samsung EVO+ SDHC cards keep going read only after months

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



00:12.0 SD Host controller [0805]: Intel Corporation
Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SD
Controller [8086:2296] (rev 21) (prog-if 01)
    Subsystem: Intel Corporation Device [8086:2060]
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 18
    Region 0: Memory at 8141c000 (32-bit, non-prefetchable) [size=4K]
    Capabilities: [80] Power Management version 3
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold-)
        Status: D3 NoSoftRst+ PME-Enable+ DSel=0 DScale=0 PME-
    Kernel driver in use: sdhci-pci
    Kernel modules: sdhci_pci

Samsung EVO+ 32G SDHC
Model: MB-MC32D
https://www.samsung.com/uk/memory-storage/evo-plus-microsd-card/MB-MC32DEU/

$ uname -r
4.18.12-300.fc29.x86_64

$ cat /sys/block/mmcblk0/queue/scheduler
[mq-deadline] none

The problem:

Oct 09 20:57:04 fnuc.local kernel: mmc0: Timeout waiting for hardware interrupt.
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci: ============ SDHCI
REGISTER DUMP ===========
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci: Sys addr:  0x00000040
| Version:  0x00001002
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci: Blk size:  0x00007200
| Blk cnt:  0x00000040
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci: Argument:  0x00c8bc00
| Trn mode: 0x0000002b
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci: Present:   0x01ff0001
| Host ctl: 0x00000017
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci: Power:     0x0000000f
| Blk gap:  0x00000080
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci: Wake-up:   0x00000000
| Clock:    0x00000007
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci: Timeout:   0x0000000e
| Int stat: 0x00000000
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci: Int enab:  0x02ff008b
| Sig enab: 0x02ff008b
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci: AC12 err:  0x00000000
| Slot int: 0x00000000
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci: Caps:      0x0568c8b2
| Caps_1:   0x00000807
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci: Cmd:       0x0000193a
| Max curr: 0x00000000
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci: Resp[0]:   0x00000f00
| Resp[1]:  0x5730e8f9
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci: Resp[2]:   0x4542324d
| Resp[3]:  0x00000f00
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci: Host ctl2: 0x0000008b
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci: ADMA Err:  0x00000000
| ADMA Ptr: 0x74000200
Oct 09 20:57:04 fnuc.local kernel: mmc0: sdhci:
============================================
Oct 09 20:57:07 fnuc.local kernel: mmc0: Card stuck in wrong state!
mmcblk0 card_busy_detect status: 0xf00
Oct 09 20:57:07 fnuc.local kernel: mmcblk0: recovery failed!
Oct 09 20:57:07 fnuc.local kernel: print_req_error: I/O error, dev
mmcblk0, sector 13155328
Oct 09 20:57:07 fnuc.local kernel: BTRFS error (device mmcblk0p3):
bdev /dev/mmcblk0p3 errs: wr 6, rd 0, flush 0, corrupt 0, gen 0


For some reason, Samsung SDHC cards keep dying in an Intel NUC. When
they die, they go read only, and any attempt to write causes the
writing process to hang indefinitely, and they do not recover. I'd
like to know why this problem keeps happening.

The original card died after just under one year of usage, and the
replacement died after just 6 months of usage and similar workload. So
long as no writes happen (mount ro, and if necessary norecovery), the
file systems on the sd card are readable. There was no power failure
or card removal near the time when the failures happen.

Thanks,

-- 
Chris Murphy



[Index of Archives]     [Linux Memonry Technology]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux