Shop OBEX P1 Docs P2 Docs Learn Events
New SD mode P2 accessory board - Page 14 — Parallax Forums

New SD mode P2 accessory board

18910111214»

Comments

  • evanhevanh Posts: 15,620
    edited 2024-09-28 11:09

    Actually, the Single-block loop is even bigger now. Looking at it I'm a little surprised the Multi-block path is working as well as it does. Almost all of the logic is done in the assembly. The only part there still in C is the decision, and loop, on the block count fitting the buffer.

  • roglohrogloh Posts: 5,518

    So with your overheads and what gaps you've seen before with fast cards, what sort of sustained transfer rates do you expect will be achievable on reads (no-CRC check enabled) and writes (with CRC) ? Can we get 28MiB/s non-stop running on a 270MHz P2? That would allow 30fps video at 640x480x24 bits in pure RGB (no 4:2:2 subsampling) with audio. 30MiB/s would allow 24fps widescreen 858x480p or thereabouts.

  • evanhevanh Posts: 15,620
    edited 2024-09-28 12:55

    270 MHz sysclock, clock divider of 3, with CRC processing enabled, it can read data at 36 MiB/s. EDIT: Ah, well, still need to add filesystem overheads to that. Time to get back to integrating into the driver ...

    EDIT2: Oh, the 36 MB/s was with 8 kB buffer size, btw. A 64 kB buffer moves that up to 38 MB/s. And 16 kB gives a solid 37 MB/s.
    EDIT3: Disabling the CRC processing and using sysclock/2 divider takes that to 55 MB/s. Or even a little more, 58 MB/s, with the Sandisk cards.

    EDIT3: 270 MHz with sysclock/2 (135 MHz SD clock) is of course massively overclocking the SD bus for the 3.3 Volt High Speed interface. It does, however, fit within the upper limit of 1.8 Volt UHS-I interface (Which can operate in spec up to an insane 208 MHz SD clock). So I guess that's why newer cards just accept it and keep up.

  • evanhevanh Posts: 15,620
    edited 2024-09-28 13:11

    The Samsung EVO card has the strangest behaviour. I've hesitated to mention it before but it does seem to be persisting. Upon first run of the testing it performs exceptionally poorly at about half the expected speeds - Even on repeats of reading the same blocks over and over. One whole test run rereads the same sequential block list 15 times, with each loop halving the total number to read.

    After the first run it's fine. It's like the card needs a few seconds to warm up.

    The poor results of first time run:

    Read blocks speed test:
    32768 blocks = 16384 kiB   rate = 23.4 MiB/s   duration = 681427 us   zero-overhead = 248551 us   overheads = 63.5 %
    16384 blocks = 8192 kiB   rate = 21.2 MiB/s   duration = 375874 us   zero-overhead = 124276 us   overheads = 66.9 %
    8192 blocks = 4096 kiB   rate = 19.8 MiB/s   duration = 201299 us   zero-overhead = 62138 us   overheads = 69.1 %
    4096 blocks = 2048 kiB   rate = 17.3 MiB/s   duration = 115100 us   zero-overhead = 31069 us   overheads = 73.0 %
    2048 blocks = 1024 kiB   rate = 11.2 MiB/s   duration = 88680 us   zero-overhead = 15534 us   overheads = 82.4 %
    1024 blocks = 512 kiB   rate = 10.7 MiB/s   duration = 46359 us   zero-overhead = 7767 us   overheads = 83.2 %
    512 blocks = 256 kiB   rate = 5.9 MiB/s   duration = 42065 us   zero-overhead = 3884 us   overheads = 90.7 %
    256 blocks = 128 kiB   rate = 3.4 MiB/s   duration = 36679 us   zero-overhead = 1942 us   overheads = 94.7 %
    128 blocks = 64 kiB   rate = 1.6 MiB/s   duration = 37188 us   zero-overhead = 971 us   overheads = 97.3 %
    64 blocks = 32 kiB   rate = 0.9 MiB/s   duration = 34154 us   zero-overhead = 485 us   overheads = 98.5 %
    32 blocks = 16 kiB   rate = 0.4 MiB/s   duration = 35968 us   zero-overhead = 243 us   overheads = 99.3 %
    16 blocks = 8 kiB   rate = 0.2 MiB/s   duration = 33200 us   zero-overhead = 121 us   overheads = 99.6 %
    8 blocks = 4 kiB   rate = 0.1 MiB/s   duration = 36551 us   zero-overhead = 61 us   overheads = 99.8 %
    4 blocks = 2 kiB   rate = 0.0 MiB/s   duration = 33527 us   zero-overhead = 30 us   overheads = 99.9 %
    2 blocks = 1 kiB   rate = 0.0 MiB/s   duration = 33432 us   zero-overhead = 15 us   overheads = 99.9 %
    

    Then the very next run is this:

    Read blocks speed test:
    32768 blocks = 16384 kiB   rate = 38.3 MiB/s   duration = 417277 us   zero-overhead = 248551 us   overheads = 40.4 %
    16384 blocks = 8192 kiB   rate = 38.2 MiB/s   duration = 208896 us   zero-overhead = 124276 us   overheads = 40.5 %
    8192 blocks = 4096 kiB   rate = 38.2 MiB/s   duration = 104645 us   zero-overhead = 62138 us   overheads = 40.6 %
    4096 blocks = 2048 kiB   rate = 38.0 MiB/s   duration = 52518 us   zero-overhead = 31069 us   overheads = 40.8 %
    2048 blocks = 1024 kiB   rate = 37.8 MiB/s   duration = 26455 us   zero-overhead = 15534 us   overheads = 41.2 %
    1024 blocks = 512 kiB   rate = 37.5 MiB/s   duration = 13305 us   zero-overhead = 7767 us   overheads = 41.6 %
    512 blocks = 256 kiB   rate = 36.8 MiB/s   duration = 6790 us   zero-overhead = 3884 us   overheads = 42.7 %
    256 blocks = 128 kiB   rate = 35.4 MiB/s   duration = 3531 us   zero-overhead = 1942 us   overheads = 45.0 %
    128 blocks = 64 kiB   rate = 32.7 MiB/s   duration = 1906 us   zero-overhead = 971 us   overheads = 49.0 %
    64 blocks = 32 kiB   rate = 29.0 MiB/s   duration = 1074 us   zero-overhead = 485 us   overheads = 54.8 %
    32 blocks = 16 kiB   rate = 23.3 MiB/s   duration = 670 us   zero-overhead = 243 us   overheads = 63.7 %
    16 blocks = 8 kiB   rate = 16.7 MiB/s   duration = 467 us   zero-overhead = 121 us   overheads = 74.0 %
    8 blocks = 4 kiB   rate = 12.6 MiB/s   duration = 310 us   zero-overhead = 61 us   overheads = 80.3 %
    4 blocks = 2 kiB   rate = 7.5 MiB/s   duration = 260 us   zero-overhead = 30 us   overheads = 88.4 %
    2 blocks = 1 kiB   rate = 4.1 MiB/s   duration = 235 us   zero-overhead = 15 us   overheads = 93.6 %
    
  • roglohrogloh Posts: 5,518
    edited 2024-09-28 13:21

    Maybe it fits in some sort of internal cache? 16MB is not beyond the realm of fitting into a cache. If you try a much larger transfer range test that has no chance of fitting then maybe you won't see such a difference between runs 1 and 2.

  • evanhevanh Posts: 15,620

    It would be sorted after the first loop then. The second line of the first test run should show a dramatic up-tick in performance but it doesn't.

    And power cycling doesn't revert the performance either. It's still fine after swapping cards for a while and coming back to the Samsung. The problem only seems to show up after hours or days of no power.

  • evanhevanh Posts: 15,620
    edited 2024-09-28 13:39

    I'm guessing if I made a test that ran for say 30 seconds and graphed progress every 0.1 second I'd see it rise suddenly a few seconds into the run. But only when the card has been cold.

  • roglohrogloh Posts: 5,518

    What if you start with a warm card to begin with? Sit it next to a heat source for a bit then test it.

  • evanhevanh Posts: 15,620
    edited 2024-09-28 13:57

    Wow, I'm impressed. Even the older cards are performing at 135 MHz SD clock. Here's my oldest card, the Adata Silver (2013), at sysclock/2 without CRC processing. Note the first line has a, repeatable, latency spike:

    Read blocks speed test:
    32768 blocks = 16384 kiB   rate = 51.5 MiB/s   duration = 310387 us   zero-overhead = 248551 us   overheads = 19.9 %
    16384 blocks = 8192 kiB   rate = 59.1 MiB/s   duration = 135142 us   zero-overhead = 124276 us   overheads = 8.0 %
    8192 blocks = 4096 kiB   rate = 59.0 MiB/s   duration = 67693 us   zero-overhead = 62138 us   overheads = 8.2 %
    4096 blocks = 2048 kiB   rate = 58.5 MiB/s   duration = 34181 us   zero-overhead = 31069 us   overheads = 9.1 %
    2048 blocks = 1024 kiB   rate = 58.0 MiB/s   duration = 17237 us   zero-overhead = 15534 us   overheads = 9.8 %
    1024 blocks = 512 kiB   rate = 56.4 MiB/s   duration = 8859 us   zero-overhead = 7767 us   overheads = 12.3 %
    512 blocks = 256 kiB   rate = 53.5 MiB/s   duration = 4669 us   zero-overhead = 3884 us   overheads = 16.8 %
    256 blocks = 128 kiB   rate = 48.5 MiB/s   duration = 2575 us   zero-overhead = 1942 us   overheads = 24.5 %
    128 blocks = 64 kiB   rate = 40.8 MiB/s   duration = 1529 us   zero-overhead = 971 us   overheads = 36.4 %
    64 blocks = 32 kiB   rate = 31.0 MiB/s   duration = 1005 us   zero-overhead = 485 us   overheads = 51.7 %
    32 blocks = 16 kiB   rate = 21.0 MiB/s   duration = 743 us   zero-overhead = 243 us   overheads = 67.2 %
    16 blocks = 8 kiB   rate = 12.7 MiB/s   duration = 612 us   zero-overhead = 121 us   overheads = 80.2 %
    8 blocks = 4 kiB   rate = 7.1 MiB/s   duration = 547 us   zero-overhead = 61 us   overheads = 88.8 %
    4 blocks = 2 kiB   rate = 3.7 MiB/s   duration = 514 us   zero-overhead = 30 us   overheads = 94.1 %
    2 blocks = 1 kiB   rate = 1.9 MiB/s   duration = 498 us   zero-overhead = 15 us   overheads = 96.9 %
    

    The Apacer (2018) is clean though:

    Read blocks speed test:
    32768 blocks = 16384 kiB   rate = 59.5 MiB/s   duration = 268675 us   zero-overhead = 248551 us   overheads = 7.4 %
    16384 blocks = 8192 kiB   rate = 59.4 MiB/s   duration = 134555 us   zero-overhead = 124276 us   overheads = 7.6 %
    8192 blocks = 4096 kiB   rate = 59.3 MiB/s   duration = 67358 us   zero-overhead = 62138 us   overheads = 7.7 %
    4096 blocks = 2048 kiB   rate = 59.1 MiB/s   duration = 33831 us   zero-overhead = 31069 us   overheads = 8.1 %
    2048 blocks = 1024 kiB   rate = 58.5 MiB/s   duration = 17066 us   zero-overhead = 15534 us   overheads = 8.9 %
    1024 blocks = 512 kiB   rate = 57.5 MiB/s   duration = 8685 us   zero-overhead = 7767 us   overheads = 10.5 %
    512 blocks = 256 kiB   rate = 55.6 MiB/s   duration = 4496 us   zero-overhead = 3884 us   overheads = 13.6 %
    256 blocks = 128 kiB   rate = 52.0 MiB/s   duration = 2403 us   zero-overhead = 1942 us   overheads = 19.1 %
    128 blocks = 64 kiB   rate = 46.1 MiB/s   duration = 1354 us   zero-overhead = 971 us   overheads = 28.2 %
    64 blocks = 32 kiB   rate = 37.6 MiB/s   duration = 830 us   zero-overhead = 485 us   overheads = 41.5 %
    32 blocks = 16 kiB   rate = 27.5 MiB/s   duration = 568 us   zero-overhead = 243 us   overheads = 57.2 %
    16 blocks = 8 kiB   rate = 17.9 MiB/s   duration = 436 us   zero-overhead = 121 us   overheads = 72.2 %
    8 blocks = 4 kiB   rate = 10.5 MiB/s   duration = 371 us   zero-overhead = 61 us   overheads = 83.5 %
    4 blocks = 2 kiB   rate = 5.7 MiB/s   duration = 338 us   zero-overhead = 30 us   overheads = 91.1 %
    2 blocks = 1 kiB   rate = 3.0 MiB/s   duration = 322 us   zero-overhead = 15 us   overheads = 95.3 %
    
  • evanhevanh Posts: 15,620
    edited 2024-09-28 14:02

    @rogloh said:
    What if you start with a warm card to begin with? Sit it next to a heat source for a bit then test it.

    Yeah, no, that was a euphemistic use of cold. But, taking the hint, I've now tested it as an actual thermally cold card and it's still behaving perfectly fine first try. So cold in this case only seems to be when unpowered for days.

  • evanhevanh Posts: 15,620

    A 10 hour gap isn't enough. Samsung EVO worked first try. Although, the first line does indicate a minor latency extend there:

    Read blocks speed test:
    32768 blocks = 16384 kiB   rate = 37.7 MiB/s   duration = 423925 us   zero-overhead = 372827 us   overheads = 12.0 %
    16384 blocks = 8192 kiB   rate = 38.2 MiB/s   duration = 209397 us   zero-overhead = 186414 us   overheads = 10.9 %
    8192 blocks = 4096 kiB   rate = 38.1 MiB/s   duration = 104894 us   zero-overhead = 93207 us   overheads = 11.1 %
    4096 blocks = 2048 kiB   rate = 37.9 MiB/s   duration = 52647 us   zero-overhead = 46603 us   overheads = 11.4 %
    2048 blocks = 1024 kiB   rate = 37.7 MiB/s   duration = 26523 us   zero-overhead = 23302 us   overheads = 12.1 %
    1024 blocks = 512 kiB   rate = 37.4 MiB/s   duration = 13336 us   zero-overhead = 11651 us   overheads = 12.6 %
    512 blocks = 256 kiB   rate = 36.7 MiB/s   duration = 6807 us   zero-overhead = 5825 us   overheads = 14.4 %
    256 blocks = 128 kiB   rate = 35.3 MiB/s   duration = 3540 us   zero-overhead = 2913 us   overheads = 17.7 %
    128 blocks = 64 kiB   rate = 32.7 MiB/s   duration = 1906 us   zero-overhead = 1456 us   overheads = 23.6 %
    64 blocks = 32 kiB   rate = 29.0 MiB/s   duration = 1077 us   zero-overhead = 728 us   overheads = 32.4 %
    32 blocks = 16 kiB   rate = 23.3 MiB/s   duration = 670 us   zero-overhead = 364 us   overheads = 45.6 %
    16 blocks = 8 kiB   rate = 16.6 MiB/s   duration = 468 us   zero-overhead = 182 us   overheads = 61.1 %
    8 blocks = 4 kiB   rate = 12.4 MiB/s   duration = 315 us   zero-overhead = 91 us   overheads = 71.1 %
    4 blocks = 2 kiB   rate = 7.3 MiB/s   duration = 264 us   zero-overhead = 46 us   overheads = 82.5 %
    2 blocks = 1 kiB   rate = 4.0 MiB/s   duration = 239 us   zero-overhead = 23 us   overheads = 90.3 %
    

    Which vanishes again on subsequent runs:

    Read blocks speed test:
    32768 blocks = 16384 kiB   rate = 38.2 MiB/s   duration = 418271 us   zero-overhead = 372827 us   overheads = 10.8 %
    16384 blocks = 8192 kiB   rate = 38.2 MiB/s   duration = 209394 us   zero-overhead = 186414 us   overheads = 10.9 %
    8192 blocks = 4096 kiB   rate = 38.1 MiB/s   duration = 104892 us   zero-overhead = 93207 us   overheads = 11.1 %
    4096 blocks = 2048 kiB   rate = 37.9 MiB/s   duration = 52643 us   zero-overhead = 46603 us   overheads = 11.4 %
    2048 blocks = 1024 kiB   rate = 37.7 MiB/s   duration = 26520 us   zero-overhead = 23302 us   overheads = 12.1 %
    1024 blocks = 512 kiB   rate = 37.4 MiB/s   duration = 13336 us   zero-overhead = 11651 us   overheads = 12.6 %
    512 blocks = 256 kiB   rate = 36.7 MiB/s   duration = 6806 us   zero-overhead = 5825 us   overheads = 14.4 %
    256 blocks = 128 kiB   rate = 35.3 MiB/s   duration = 3540 us   zero-overhead = 2913 us   overheads = 17.7 %
    128 blocks = 64 kiB   rate = 32.7 MiB/s   duration = 1907 us   zero-overhead = 1456 us   overheads = 23.6 %
    64 blocks = 32 kiB   rate = 29.0 MiB/s   duration = 1077 us   zero-overhead = 728 us   overheads = 32.4 %
    32 blocks = 16 kiB   rate = 23.3 MiB/s   duration = 670 us   zero-overhead = 364 us   overheads = 45.6 %
    16 blocks = 8 kiB   rate = 16.6 MiB/s   duration = 468 us   zero-overhead = 182 us   overheads = 61.1 %
    8 blocks = 4 kiB   rate = 12.4 MiB/s   duration = 315 us   zero-overhead = 91 us   overheads = 71.1 %
    4 blocks = 2 kiB   rate = 7.3 MiB/s   duration = 265 us   zero-overhead = 46 us   overheads = 82.6 %
    2 blocks = 1 kiB   rate = 4.0 MiB/s   duration = 239 us   zero-overhead = 23 us   overheads = 90.3 %
    
  • roglohrogloh Posts: 5,518

    Seems weird. Charge leakage?

  • evanhevanh Posts: 15,620
    edited 2024-09-29 08:13

    Maybe. And I may have done damage now. I put it in an oven, possibly over 100 degC, for 5 hours.

    First run after:

    Read blocks speed test:
    32768 blocks = 16384 kiB   rate = 22.1 MiB/s   duration = 721074 us   zero-overhead = 372827 us   overheads = 48.2 %
    16384 blocks = 8192 kiB   rate = 16.9 MiB/s   duration = 470980 us   zero-overhead = 186414 us   overheads = 60.4 %
    8192 blocks = 4096 kiB   rate = 11.2 MiB/s   duration = 356398 us   zero-overhead = 93207 us   overheads = 73.8 %
    4096 blocks = 2048 kiB   rate = 6.6 MiB/s   duration = 302006 us   zero-overhead = 46603 us   overheads = 84.5 %
    2048 blocks = 1024 kiB   rate = 3.6 MiB/s   duration = 271768 us   zero-overhead = 23302 us   overheads = 91.4 %
    1024 blocks = 512 kiB   rate = 3.3 MiB/s   duration = 148580 us   zero-overhead = 11651 us   overheads = 92.1 %
    512 blocks = 256 kiB   rate = 3.4 MiB/s   duration = 72867 us   zero-overhead = 5825 us   overheads = 92.0 %
    256 blocks = 128 kiB   rate = 3.6 MiB/s   duration = 33802 us   zero-overhead = 2913 us   overheads = 91.3 %
    128 blocks = 64 kiB   rate = 4.6 MiB/s   duration = 13378 us   zero-overhead = 1456 us   overheads = 89.1 %
    64 blocks = 32 kiB   rate = 5.6 MiB/s   duration = 5543 us   zero-overhead = 728 us   overheads = 86.8 %
    32 blocks = 16 kiB   rate = 4.4 MiB/s   duration = 3487 us   zero-overhead = 364 us   overheads = 89.5 %
    16 blocks = 8 kiB   rate = 5.2 MiB/s   duration = 1485 us   zero-overhead = 182 us   overheads = 87.7 %
    8 blocks = 4 kiB   rate = 5.5 MiB/s   duration = 701 us   zero-overhead = 91 us   overheads = 87.0 %
    4 blocks = 2 kiB   rate = 2.8 MiB/s   duration = 684 us   zero-overhead = 46 us   overheads = 93.2 %
    2 blocks = 1 kiB   rate = 3.9 MiB/s   duration = 246 us   zero-overhead = 23 us   overheads = 90.6 %
    

    Seventh run after (5 minutes later):

    Read blocks speed test:
    32768 blocks = 16384 kiB   rate = 24.4 MiB/s   duration = 654095 us   zero-overhead = 372827 us   overheads = 43.0 %
    16384 blocks = 8192 kiB   rate = 18.5 MiB/s   duration = 432374 us   zero-overhead = 186414 us   overheads = 56.8 %
    8192 blocks = 4096 kiB   rate = 12.5 MiB/s   duration = 319853 us   zero-overhead = 93207 us   overheads = 70.8 %
    4096 blocks = 2048 kiB   rate = 7.4 MiB/s   duration = 266948 us   zero-overhead = 46603 us   overheads = 82.5 %
    2048 blocks = 1024 kiB   rate = 4.1 MiB/s   duration = 240554 us   zero-overhead = 23302 us   overheads = 90.3 %
    1024 blocks = 512 kiB   rate = 3.7 MiB/s   duration = 133101 us   zero-overhead = 11651 us   overheads = 91.2 %
    512 blocks = 256 kiB   rate = 3.8 MiB/s   duration = 64458 us   zero-overhead = 5825 us   overheads = 90.9 %
    256 blocks = 128 kiB   rate = 4.2 MiB/s   duration = 29343 us   zero-overhead = 2913 us   overheads = 90.0 %
    128 blocks = 64 kiB   rate = 6.5 MiB/s   duration = 9491 us   zero-overhead = 1456 us   overheads = 84.6 %
    64 blocks = 32 kiB   rate = 16.2 MiB/s   duration = 1923 us   zero-overhead = 728 us   overheads = 62.1 %
    32 blocks = 16 kiB   rate = 15.1 MiB/s   duration = 1034 us   zero-overhead = 364 us   overheads = 64.7 %
    16 blocks = 8 kiB   rate = 16.2 MiB/s   duration = 480 us   zero-overhead = 182 us   overheads = 62.0 %
    8 blocks = 4 kiB   rate = 12.2 MiB/s   duration = 318 us   zero-overhead = 91 us   overheads = 71.3 %
    4 blocks = 2 kiB   rate = 7.2 MiB/s   duration = 268 us   zero-overhead = 46 us   overheads = 82.8 %
    2 blocks = 1 kiB   rate = 4.0 MiB/s   duration = 243 us   zero-overhead = 23 us   overheads = 90.5 %
    

    Eleventh run after (10 minutes):

    Read blocks speed test:
    32768 blocks = 16384 kiB   rate = 24.6 MiB/s   duration = 647795 us   zero-overhead = 372827 us   overheads = 42.4 %
    16384 blocks = 8192 kiB   rate = 18.8 MiB/s   duration = 425308 us   zero-overhead = 186414 us   overheads = 56.1 %
    8192 blocks = 4096 kiB   rate = 12.6 MiB/s   duration = 315773 us   zero-overhead = 93207 us   overheads = 70.4 %
    4096 blocks = 2048 kiB   rate = 7.6 MiB/s   duration = 261738 us   zero-overhead = 46603 us   overheads = 82.1 %
    2048 blocks = 1024 kiB   rate = 4.2 MiB/s   duration = 236732 us   zero-overhead = 23302 us   overheads = 90.1 %
    1024 blocks = 512 kiB   rate = 3.8 MiB/s   duration = 130418 us   zero-overhead = 11651 us   overheads = 91.0 %
    512 blocks = 256 kiB   rate = 3.9 MiB/s   duration = 63736 us   zero-overhead = 5825 us   overheads = 90.8 %
    256 blocks = 128 kiB   rate = 4.3 MiB/s   duration = 28628 us   zero-overhead = 2913 us   overheads = 89.8 %
    128 blocks = 64 kiB   rate = 6.9 MiB/s   duration = 8942 us   zero-overhead = 1456 us   overheads = 83.7 %
    64 blocks = 32 kiB   rate = 26.5 MiB/s   duration = 1175 us   zero-overhead = 728 us   overheads = 38.0 %
    32 blocks = 16 kiB   rate = 22.1 MiB/s   duration = 705 us   zero-overhead = 364 us   overheads = 48.3 %
    16 blocks = 8 kiB   rate = 16.3 MiB/s   duration = 479 us   zero-overhead = 182 us   overheads = 62.0 %
    8 blocks = 4 kiB   rate = 12.3 MiB/s   duration = 317 us   zero-overhead = 91 us   overheads = 71.2 %
    4 blocks = 2 kiB   rate = 7.3 MiB/s   duration = 264 us   zero-overhead = 46 us   overheads = 82.5 %
    2 blocks = 1 kiB   rate = 4.0 MiB/s   duration = 239 us   zero-overhead = 23 us   overheads = 90.3 %
    
  • evanhevanh Posts: 15,620
    edited 2024-09-29 08:49

    30 minutes in the freezer:
    Run 1:

    Read blocks speed test:
    32768 blocks = 16384 kiB   rate = 24.9 MiB/s   duration = 640527 us   zero-overhead = 372827 us   overheads = 41.7 %
    16384 blocks = 8192 kiB   rate = 19.1 MiB/s   duration = 417223 us   zero-overhead = 186414 us   overheads = 55.3 %
    8192 blocks = 4096 kiB   rate = 12.8 MiB/s   duration = 311159 us   zero-overhead = 93207 us   overheads = 70.0 %
    4096 blocks = 2048 kiB   rate = 7.8 MiB/s   duration = 256325 us   zero-overhead = 46603 us   overheads = 81.8 %
    2048 blocks = 1024 kiB   rate = 4.3 MiB/s   duration = 227744 us   zero-overhead = 23302 us   overheads = 89.7 %
    1024 blocks = 512 kiB   rate = 3.9 MiB/s   duration = 127050 us   zero-overhead = 11651 us   overheads = 90.8 %
    512 blocks = 256 kiB   rate = 4.0 MiB/s   duration = 61168 us   zero-overhead = 5825 us   overheads = 90.4 %
    256 blocks = 128 kiB   rate = 4.5 MiB/s   duration = 27760 us   zero-overhead = 2913 us   overheads = 89.5 %
    128 blocks = 64 kiB   rate = 6.9 MiB/s   duration = 8937 us   zero-overhead = 1456 us   overheads = 83.7 %
    64 blocks = 32 kiB   rate = 26.6 MiB/s   duration = 1174 us   zero-overhead = 728 us   overheads = 37.9 %
    32 blocks = 16 kiB   rate = 15.5 MiB/s   duration = 1003 us   zero-overhead = 364 us   overheads = 63.7 %
    16 blocks = 8 kiB   rate = 16.1 MiB/s   duration = 485 us   zero-overhead = 182 us   overheads = 62.4 %
    8 blocks = 4 kiB   rate = 12.4 MiB/s   duration = 314 us   zero-overhead = 91 us   overheads = 71.0 %
    4 blocks = 2 kiB   rate = 7.3 MiB/s   duration = 267 us   zero-overhead = 46 us   overheads = 82.7 %
    2 blocks = 1 kiB   rate = 4.0 MiB/s   duration = 240 us   zero-overhead = 23 us   overheads = 90.4 %
    

    Run 12:

    Read blocks speed test:
    32768 blocks = 16384 kiB   rate = 24.7 MiB/s   duration = 645458 us   zero-overhead = 372827 us   overheads = 42.2 %
    16384 blocks = 8192 kiB   rate = 18.8 MiB/s   duration = 423661 us   zero-overhead = 186414 us   overheads = 55.9 %
    8192 blocks = 4096 kiB   rate = 12.8 MiB/s   duration = 311061 us   zero-overhead = 93207 us   overheads = 70.0 %
    4096 blocks = 2048 kiB   rate = 7.7 MiB/s   duration = 258025 us   zero-overhead = 46603 us   overheads = 81.9 %
    2048 blocks = 1024 kiB   rate = 4.3 MiB/s   duration = 230127 us   zero-overhead = 23302 us   overheads = 89.8 %
    1024 blocks = 512 kiB   rate = 3.8 MiB/s   duration = 128549 us   zero-overhead = 11651 us   overheads = 90.9 %
    512 blocks = 256 kiB   rate = 3.9 MiB/s   duration = 63045 us   zero-overhead = 5825 us   overheads = 90.7 %
    256 blocks = 128 kiB   rate = 4.4 MiB/s   duration = 28306 us   zero-overhead = 2913 us   overheads = 89.7 %
    128 blocks = 64 kiB   rate = 7.0 MiB/s   duration = 8928 us   zero-overhead = 1456 us   overheads = 83.6 %
    64 blocks = 32 kiB   rate = 27.5 MiB/s   duration = 1133 us   zero-overhead = 728 us   overheads = 35.7 %
    32 blocks = 16 kiB   rate = 21.6 MiB/s   duration = 722 us   zero-overhead = 364 us   overheads = 49.5 %
    16 blocks = 8 kiB   rate = 16.1 MiB/s   duration = 483 us   zero-overhead = 182 us   overheads = 62.3 %
    8 blocks = 4 kiB   rate = 12.1 MiB/s   duration = 321 us   zero-overhead = 91 us   overheads = 71.6 %
    4 blocks = 2 kiB   rate = 7.2 MiB/s   duration = 268 us   zero-overhead = 46 us   overheads = 82.8 %
    2 blocks = 1 kiB   rate = 4.0 MiB/s   duration = 240 us   zero-overhead = 23 us   overheads = 90.4 %
    
  • evanhevanh Posts: 15,620
    edited 2024-09-29 09:16

    I won't throw it out, but clearly it's not looking a happy SD card any longer. I'm gonna file it under it-was-already-faulty and I just sped it to the grave.

    EDIT: Huh, that latest pattern above, where the performance was consistently ok-poor-ok through the test sizes, I do now remember one of the cards did that before. Yeah, I'm concluding the Samsung card has always been sick.

    EDIT2: Reminds me of the days of the full spec'd Samsung 840 EVO SSD needing a firmware update for excessively slow read speeds with age of data. And even then it wasn't a perfect fix. https://www.anandtech.com/show/8617/samsung-releases-firmware-update-to-fix-the-ssd-840-evo-read-performance-bug

    EDIT3: Ha! Yep, writing fresh data fixes it.

    Read blocks speed test:
    32768 blocks = 16384 kiB   rate = 37.6 MiB/s   duration = 425349 us   zero-overhead = 372827 us   overheads = 12.3 %
    16384 blocks = 8192 kiB   rate = 37.5 MiB/s   duration = 212789 us   zero-overhead = 186414 us   overheads = 12.3 %
    8192 blocks = 4096 kiB   rate = 37.5 MiB/s   duration = 106510 us   zero-overhead = 93207 us   overheads = 12.4 %
    4096 blocks = 2048 kiB   rate = 37.4 MiB/s   duration = 53370 us   zero-overhead = 46603 us   overheads = 12.6 %
    2048 blocks = 1024 kiB   rate = 37.3 MiB/s   duration = 26800 us   zero-overhead = 23302 us   overheads = 13.0 %
    1024 blocks = 512 kiB   rate = 36.9 MiB/s   duration = 13515 us   zero-overhead = 11651 us   overheads = 13.7 %
    512 blocks = 256 kiB   rate = 36.3 MiB/s   duration = 6872 us   zero-overhead = 5825 us   overheads = 15.2 %
    256 blocks = 128 kiB   rate = 35.1 MiB/s   duration = 3552 us   zero-overhead = 2913 us   overheads = 17.9 %
    128 blocks = 64 kiB   rate = 33.0 MiB/s   duration = 1891 us   zero-overhead = 1456 us   overheads = 23.0 %
    64 blocks = 32 kiB   rate = 29.4 MiB/s   duration = 1061 us   zero-overhead = 728 us   overheads = 31.3 %
    32 blocks = 16 kiB   rate = 24.1 MiB/s   duration = 646 us   zero-overhead = 364 us   overheads = 43.6 %
    16 blocks = 8 kiB   rate = 17.8 MiB/s   duration = 438 us   zero-overhead = 182 us   overheads = 58.4 %
    8 blocks = 4 kiB   rate = 14.1 MiB/s   duration = 277 us   zero-overhead = 91 us   overheads = 67.1 %
    4 blocks = 2 kiB   rate = 8.5 MiB/s   duration = 228 us   zero-overhead = 46 us   overheads = 79.8 %
    2 blocks = 1 kiB   rate = 4.8 MiB/s   duration = 203 us   zero-overhead = 23 us   overheads = 88.6 %
    
  • evanhevanh Posts: 15,620

    Yeah, the cell charge, a cell level calibration thingy. QLC Flash will be the worst for this. Back in 840 EVO days was still TLC.
    Oddly, it has always seemed to be a Samsung exclusive issue though.

Sign In or Register to comment.