Which SD is Best for Audio Projects?

The CANVAS Go! Plus 256GB vs 512GB Sandisk Extreme is interesting. In the range I expect to be important the CANVAS Go! seems to have a bit more read performance.

The Lexar 128GB is appealing for maxLat but speed is not best. Often max latency is the winner for time critical apps.

CANVAS Go! Plus 256GB
ns: 16 nf: 4 maxLat: 1336 total KB/sec: 11365.23 file KB/sec: 2841.31
ns: 16 nf: 8 maxLat: 1332 total KB/sec: 11384.14 file KB/sec: 1423.02
ns: 16 nf: 16 maxLat: 1333 total KB/sec: 11393.93 file KB/sec: 712.12
ns: 8 nf: 4 maxLat: 478 total KB/sec: 12056.34 file KB/sec: 3014.08
ns: 8 nf: 8 maxLat: 551 total KB/sec: 12039.59 file KB/sec: 1504.95
ns: 8 nf: 16 maxLat: 552 total KB/sec: 9964.97 file KB/sec: 622.81

Sandisk Extreme 512GB
ns: 16 nf: 4 maxLat: 1958 total KB/sec: 7711.56 file KB/sec: 1927.89
ns: 16 nf: 8 maxLat: 1960 total KB/sec: 7701.31 file KB/sec: 962.66
ns: 16 nf: 16 maxLat: 2135 total KB/sec: 6703.15 file KB/sec: 418.95
ns: 8 nf: 4 maxLat: 894 total KB/sec: 8204.96 file KB/sec: 2051.24
ns: 8 nf: 8 maxLat: 898 total KB/sec: 8213.02 file KB/sec: 1026.63
ns: 8 nf: 16 maxLat: 901 total KB/sec: 8216.21 file KB/sec: 513.51

More Cards:
Samsung EVO Select 512GB
ns: 16 nf: 4 maxLat: 818 total KB/sec: 10882.09 file KB/sec: 2720.52
ns: 16 nf: 8 maxLat: 834 total KB/sec: 11150.35 file KB/sec: 1393.79
ns: 16 nf: 16 maxLat: 833 total KB/sec: 11480.51 file KB/sec: 717.53
ns: 8 nf: 4 maxLat: 580 total KB/sec: 7514.75 file KB/sec: 1878.69
ns: 8 nf: 8 maxLat: 628 total KB/sec: 7748.92 file KB/sec: 968.61
ns: 8 nf: 16 maxLat: 628 total KB/sec: 8045.69 file KB/sec: 502.86

Samsung EVO Plus 128GB
ns: 16 nf: 4 maxLat: 2953 total KB/sec: 7478.90 file KB/sec: 1869.73
ns: 16 nf: 8 maxLat: 3783 total KB/sec: 7284.12 file KB/sec: 910.52
ns: 16 nf: 16 maxLat: 3822 total KB/sec: 7095.29 file KB/sec: 443.46
ns: 8 nf: 4 maxLat: 905 total KB/sec: 5612.42 file KB/sec: 1403.10
ns: 8 nf: 8 maxLat: 3255 total KB/sec: 5255.54 file KB/sec: 656.94
ns: 8 nf: 16 maxLat: 905 total KB/sec: 5106.80 file KB/sec: 319.18

SanDisk 512GB Ultra
ns: 16 nf: 4 maxLat: 1948 total KB/sec: 7727.69 file KB/sec: 1931.92
ns: 16 nf: 8 maxLat: 1949 total KB/sec: 7766.63 file KB/sec: 970.83
ns: 16 nf: 16 maxLat: 1949 total KB/sec: 7847.26 file KB/sec: 490.45
ns: 8 nf: 4 maxLat: 1145 total KB/sec: 7748.60 file KB/sec: 1937.15
ns: 8 nf: 8 maxLat: 1144 total KB/sec: 7848.20 file KB/sec: 981.02
ns: 8 nf: 16 maxLat: 1145 total KB/sec: 7979.28 file KB/sec: 498.71

Lexar 128GB 1066X
ns: 16 nf: 4 maxLat: 743 total KB/sec: 11975.14 file KB/sec: 2993.78
ns: 16 nf: 8 maxLat: 747 total KB/sec: 11928.73 file KB/sec: 1491.09
ns: 16 nf: 16 maxLat: 747 total KB/sec: 11900.44 file KB/sec: 743.78
ns: 8 nf: 4 maxLat: 519 total KB/sec: 8599.63 file KB/sec: 2149.91
ns: 8 nf: 8 maxLat: 524 total KB/sec: 8559.72 file KB/sec: 1069.96
ns: 8 nf: 16 maxLat: 524 total KB/sec: 8535.84 file KB/sec: 533.49
 
Last edited:
Going to rerun with preallocate of <<30 instead of 29 and see what happens. Was trying to compare it to some others that needed <<29 to work. Could that be the delta?
 
Going to rerun with preallocate of <<30 instead of 29 and see what happens

I used 30 to space files by 1GB. I named files so A.bin is 8 GB from B.bin and so forth. I suspect using 0.5 GB files won't make much difference.

Notice I added more cards above. I wish manufactures would reveal their buffer algorithms. There are some strange patterns.
 
Three Great MicroSD cards.

Here are Tests for three more cards. The PNY Elite-X is as good as the Canvas GO! Plus.

The PNY and Lexar beat the Canvas GO! Plus for shared SPI write performance.

I bought the PNY for $11.99.
https://www.amazon.com/gp/product/B07WW1H346/

PNY Elite-X 64GB
Begin Random Read Test
ns: 16 nf: 4 maxLat: 769 total KB/sec: 12766.53 file KB/sec: 3191.63
ns: 16 nf: 8 maxLat: 896 total KB/sec: 12640.05 file KB/sec: 1580.01
ns: 16 nf: 16 maxLat: 899 total KB/sec: 11519.81 file KB/sec: 719.99
ns: 8 nf: 4 maxLat: 383 total KB/sec: 12999.14 file KB/sec: 3249.79
ns: 8 nf: 8 maxLat: 382 total KB/sec: 13009.87 file KB/sec: 1626.23
ns: 8 nf: 16 maxLat: 396 total KB/sec: 10836.33 file KB/sec: 677.27
Begin Random Write Test
ns: 16 nf: 4 maxLat: 14261 total KB/sec: 8304.81 file KB/sec: 2076.20
ns: 16 nf: 8 maxLat: 13240 total KB/sec: 8502.03 file KB/sec: 1062.75
ns: 16 nf: 16 maxLat: 19970 total KB/sec: 8288.89 file KB/sec: 518.06
ns: 8 nf: 4 maxLat: 4281 total KB/sec: 6493.78 file KB/sec: 1623.44
ns: 8 nf: 8 maxLat: 15265 total KB/sec: 6299.04 file KB/sec: 787.38
ns: 8 nf: 16 maxLat: 15559 total KB/sec: 6395.75 file KB/sec: 399.73

Canvas GO! Plus 64GB
ns: 16 nf: 4 maxLat: 767 total KB/sec: 12728.68 file KB/sec: 3182.17
ns: 16 nf: 8 maxLat: 904 total KB/sec: 12591.56 file KB/sec: 1573.94
ns: 16 nf: 16 maxLat: 902 total KB/sec: 11483.10 file KB/sec: 717.69
ns: 8 nf: 4 maxLat: 385 total KB/sec: 12937.88 file KB/sec: 3234.47
ns: 8 nf: 8 maxLat: 384 total KB/sec: 12934.84 file KB/sec: 1616.86
ns: 8 nf: 16 maxLat: 398 total KB/sec: 10802.75 file KB/sec: 675.17
Begin Random Write Test
ns: 16 nf: 4 maxLat: 6042 total KB/sec: 8490.20 file KB/sec: 2122.55
ns: 16 nf: 8 maxLat: 14141 total KB/sec: 8413.98 file KB/sec: 1051.75
ns: 16 nf: 16 maxLat: 14426 total KB/sec: 8461.57 file KB/sec: 528.85
ns: 8 nf: 4 maxLat: 14285 total KB/sec: 6372.47 file KB/sec: 1593.12
ns: 8 nf: 8 maxLat: 14449 total KB/sec: 6366.77 file KB/sec: 795.85
ns: 8 nf: 16 maxLat: 15592 total KB/sec: 6359.72 file KB/sec: 397.48

Lexar 1066x 64GB
Begin Random Read Test
ns: 16 nf: 4 maxLat: 783 total KB/sec: 13028.14 file KB/sec: 3257.03
ns: 16 nf: 8 maxLat: 6822 total KB/sec: 13099.24 file KB/sec: 1637.40
ns: 16 nf: 16 maxLat: 8662 total KB/sec: 13047.74 file KB/sec: 815.48
ns: 8 nf: 4 maxLat: 6605 total KB/sec: 9255.86 file KB/sec: 2313.97
ns: 8 nf: 8 maxLat: 6497 total KB/sec: 9532.50 file KB/sec: 1191.56
ns: 8 nf: 16 maxLat: 6612 total KB/sec: 9608.31 file KB/sec: 600.52
Begin Random Write Test
ns - write size sectors, nf - number of files, maxLat - latency micros
ns: 16 nf: 4 maxLat: 10350 total KB/sec: 7914.53 file KB/sec: 1978.63
ns: 16 nf: 8 maxLat: 9568 total KB/sec: 7951.51 file KB/sec: 993.94
ns: 16 nf: 16 maxLat: 12320 total KB/sec: 7832.23 file KB/sec: 489.51
ns: 8 nf: 4 maxLat: 11220 total KB/sec: 4907.66 file KB/sec: 1226.92
ns: 8 nf: 8 maxLat: 8748 total KB/sec: 4948.69 file KB/sec: 618.59
ns: 8 nf: 16 maxLat: 14418 total KB/sec: 4895.94 file KB/sec: 306.00

Shared SPI performance 512 byte transfers,5 MB file. usec is max latency.

Four runs for each SD. Lexar is great for write but has poor max read latency.

Write ,Write,Read ,Read,CID,CID,CID,CID,CID, CID,CSD ,Card
KB/Sec,usec, KB/Sec,usec,MID,OID,PNM,PRV,MthYear,PSN,Size,Name
862.19,10291,2329.17,1406,0XAD,LS,LX64G,1.0,10/2021,897909880,63.28GB,Lexar 1066x
860.76,9375,2338.40,1071,0XAD,LS,LX64G,1.0,10/2021,897909880,63.28GB,Lexar 1066x
861.90,8938,2327.87,1729,0XAD,LS,LX64G,1.0,10/2021,897909880,63.28GB,Lexar 1066x
861.67,9283,2331.28,1678,0XAD,LS,LX64G,1.0,10/2021,897909880,63.28GB,Lexar 1066x
702.55,10459,2126.80,245,0X27,PH,SD64G,6.0,12/2020,3657498246,62.38GB,PNY Elite-X
706.91,8511,2120.84,246,0X27,PH,SD64G,6.0,12/2020,3657498246,62.38GB,PNY Elite-X
706.32,9089,2120.82,248,0X27,PH,SD64G,6.0,12/2020,3657498246,62.38GB,PNY Elite-X
707.51,8501,2114.29,247,0X27,PH,SD64G,6.0,12/2020,3657498246,62.38GB,PNY Elite-X
601.23,15489,1944.76,399,0X9F,TI,SD64G,6.1,8/2021,1703937617,62.23GB,Canvas Go! Plus
602.42,8584,1943.77,266,0X9F,TI,SD64G,6.1,8/2021,1703937617,62.23GB,Canvas Go! Plus
601.38,15031,1945.61,265,0X9F,TI,SD64G,6.1,8/2021,1703937617,62.23GB,Canvas Go! Plus
600.01,15102,1935.63,404,0X9F,TI,SD64G,6.1,8/2021,1703937617,62.23GB,Canvas Go! Plus
 
Last edited:
Old vs New models and UHS-I vs UHS-II

I have been doing benchmarks to select a set of SD cards for development tests. Here are some interesting results for shared SPI performance.

Many newer version of a card have quite different write performance. New SanDisk Ultra 32GB cards are much better than older cards. SanDisk Extreme cards are improved.

Here is a warning about UHS-II cards. Don't waste your money. UHS-II cards are designed for devices with an 8-bit bus and GBs of memory. See the Canvas Go! Plus vs the Canvas React Plus. The React Plus costs over four times as much as the Go! Plus.

Some really old card with SLC flash beat new cards. A 512MB Corsair 10/2005 whips all newer cards, often more than three times faster for write. New cards on Teensy 4.1 Corsair on a Due since it is not a microSD.

Here are the Shared SPI benchmarks:

Write ,Write,Read ,Read,CID,CID,CID,CID,CID, CID,CSD ,Card
KB/Sec,usec, KB/Sec,usec,MID,OID,PNM,PRV,MthYear,PSN,Size,Name
294.87,88032,1162.71,516,0X3,SD,SL32G,8.0,6/2014,233957058,31.91GB,SanDisk Ultra
509.40,18878,1195.87,559,0X3,SD,SD32G,8.5,10/2021,990200377,31.91GB,SanDisk Ultra
499.52,16779,1181.45,598,0X3,SD,SE32G,8.0,9/2015,703171971,31.91GB,SanDisk Extreme
629.52,5966,1397.65,905,0X3,SD,SE32G,8.0,7/2021,4192080785,31.91GB,SanDisk Extreme
340.89,9388,502.37,1012,0X27,PH,SD64G,6.1,4/2021,3668023661,64.04GB,Canvas React Pulus UHS-II
596.06,20193,1855.55,440,0X9F,TI,SD64G,6.1,8/2021,1703937617,62.23GB,Canvas Go! Plus
1599.91,77996,1979.61,271,0X1D,AD,SD ,1.0,10/2005,419441795,0.51GB,Corsair 60x

Here are multi-file write tests for old vs new SandDisk Ultra cards. A major improvement for the 7/2021 card vs the 9/2015 card.

9/2015 32GB SanDisk Extreme
Begin Random Write Test
ns - write size sectors, nf - number of files, maxLat - latency micros
ns: 64 nf: 4 maxLat: 15742 total KB/sec: 4664.35 file KB/sec: 1166.09
ns: 64 nf: 8 maxLat: 13166 total KB/sec: 4564.31 file KB/sec: 570.54
ns: 64 nf: 16 maxLat: 13648 total KB/sec: 4460.10 file KB/sec: 278.76
ns: 32 nf: 4 maxLat: 15633 total KB/sec: 2331.63 file KB/sec: 582.91
ns: 32 nf: 8 maxLat: 15960 total KB/sec: 2304.48 file KB/sec: 288.06
ns: 32 nf: 16 maxLat: 16219 total KB/sec: 2268.90 file KB/sec: 141.81
ns: 16 nf: 4 maxLat: 3914 total KB/sec: 5331.25 file KB/sec: 1332.81
ns: 16 nf: 8 maxLat: 11924 total KB/sec: 5758.26 file KB/sec: 719.78
ns: 16 nf: 16 maxLat: 111442 total KB/sec: 3866.34 file KB/sec: 241.65
ns: 8 nf: 4 maxLat: 4261 total KB/sec: 3060.21 file KB/sec: 765.05
ns: 8 nf: 8 maxLat: 84220 total KB/sec: 2709.24 file KB/sec: 338.65
ns: 8 nf: 16 maxLat: 132128 total KB/sec: 2578.28 file KB/sec: 161.14

7/2021 32GB SanDisk Extreme
Begin Random Write Test
ns - write size sectors, nf - number of files, maxLat - latency micros
ns: 64 nf: 4 maxLat: 8642 total KB/sec: 11757.61 file KB/sec: 2939.40
ns: 64 nf: 8 maxLat: 5423 total KB/sec: 12190.30 file KB/sec: 1523.79
ns: 64 nf: 16 maxLat: 7635 total KB/sec: 12129.80 file KB/sec: 758.11
ns: 32 nf: 4 maxLat: 4225 total KB/sec: 8506.75 file KB/sec: 2126.69
ns: 32 nf: 8 maxLat: 7165 total KB/sec: 8593.35 file KB/sec: 1074.17
ns: 32 nf: 16 maxLat: 7979 total KB/sec: 8647.59 file KB/sec: 540.47
ns: 16 nf: 4 maxLat: 3984 total KB/sec: 6115.47 file KB/sec: 1528.87
ns: 16 nf: 8 maxLat: 6500 total KB/sec: 6340.99 file KB/sec: 792.62
ns: 16 nf: 16 maxLat: 6256 total KB/sec: 6394.08 file KB/sec: 399.63
ns: 8 nf: 4 maxLat: 4280 total KB/sec: 3847.13 file KB/sec: 961.78
ns: 8 nf: 8 maxLat: 6134 total KB/sec: 4176.81 file KB/sec: 522.10
ns: 8 nf: 16 maxLat: 8869 total KB/sec: 4253.87 file KB/sec: 265.87
 
Watch Out for Old Cards on the Internet

Try to get cards with the highest Application Level, A2 or A1. Video level V30 if possible and U3 if possible and at least U1.

The Extreme below has about the best you will find for a UHS-I card. The Ultra below is Good but watch for older Ultra cards without the A1.

Here are two examples:

extreme.jpg

ultra.jpg

You may still get a counterfeit card so benchmark it. Counterfeits are really good - I recently got a Extreme Pro that looks great but does not perform and has a field in the CID register that gives it away.

I don't think there are new Extreme Pro UHS-I SD cards. Extreme Pro seems to be limited to UHS-II cards.
 
Last edited:
New generation Samsung vs Kingston Canvas Go! Plus

I bought cards to test the "new generation" of Samsung microSD cards. I compare these with the Kingston Canvas Go! Plus.

Shared SPI write is really poor for the new Samsung cards. They are clearly designed for phones with a huge file cache. I have the Samsung exFAT source for Android phones and these cards would perform well on phones.

Multi-file write performance is also poor compared to the Canvas Go! Plus.

Clearly the Samsung Pro Plus is not worth the price. It has 160MB/s Read and 120MB/s Write speed on phones but is a poor performer on micro-controllers.

Here are the full results for the new Samsung cards. usec is max latency.

Amazon prices 22 Nov 2021
Kingston Canvas Go Plus 64GB $12.99
Samsung EVO Select 64GB $9.99
Samsung EVO Plus 64GB $9.99
Samsung PRO Plus 128GB $22.99

Shared SPI performance 512 byte transfers. Teensy 4.1.

Write ,Write,Read ,Read,CID,CID,CID,CID,CID, CID,CSD ,Card
KB/Sec,usec, KB/Sec,usec,MID,OID,PNM,PRV,MthYear,PSN,Size,Name
602.25,14971,1949.19,266,0X9F,TI,SD64G,6.1,8/2021,1703937617,62.23GB,Canvas Go! Plus
174.43,19475,1362.88,397,0X1B,SM,EC1S5,3.0,8/2021,1539400480,64.09GB,Samsung Evo Plus
174.60,8310,1364.21,400,0X1B,SM,GC1S5,3.0,9/2021,872506221,64.09GB,Samsung Evo Select
170.72,8834,1397.17,412,0X1B,SM,FD4Q5,3.0,9/2021,2458342686,128.18GB,Samsung Pro Plus

A 2005 card I used to develop the first version of SdFat. Optimization was no problem on AVR Arduino with old cards. It's SPI write performance is nine times faster than new Samsung cards.
1599.91,77996,1979.61,271,0X1D,AD,SD ,1.0,10/2005,419441795,0.51GB,Corsair 60x

SDIO multi-file Performance Teensy 4.1.

64 GB Canvas Go! Plus
Create files
Create micros: 88448
Sequential Write: 21117.76 KB/sec
Begin Random Read Test
ns - read size sectors, nf - number of files, maxLat - latency micros
ns: 64 nf: 4 maxLat: 1784 total KB/sec: 19003.43 file KB/sec: 4750.86
ns: 64 nf: 8 maxLat: 1885 total KB/sec: 18737.66 file KB/sec: 2342.21
ns: 64 nf: 16 maxLat: 1893 total KB/sec: 18208.95 file KB/sec: 1138.06
ns: 32 nf: 4 maxLat: 1108 total KB/sec: 16007.02 file KB/sec: 4001.76
ns: 32 nf: 8 maxLat: 1226 total KB/sec: 15880.06 file KB/sec: 1985.01
ns: 32 nf: 16 maxLat: 1231 total KB/sec: 15048.17 file KB/sec: 940.51
ns: 16 nf: 4 maxLat: 778 total KB/sec: 12592.71 file KB/sec: 3148.18
ns: 16 nf: 8 maxLat: 910 total KB/sec: 12438.31 file KB/sec: 1554.79
ns: 16 nf: 16 maxLat: 889 total KB/sec: 11404.87 file KB/sec: 712.80
ns: 8 nf: 4 maxLat: 394 total KB/sec: 12614.83 file KB/sec: 3153.71
ns: 8 nf: 8 maxLat: 389 total KB/sec: 12621.79 file KB/sec: 1577.72
ns: 8 nf: 16 maxLat: 409 total KB/sec: 10927.73 file KB/sec: 682.98
End Random Read Test
Begin Random Write Test
ns - write size sectors, nf - number of files, maxLat - latency micros
ns: 64 nf: 4 maxLat: 17848 total KB/sec: 13116.42 file KB/sec: 3279.11
ns: 64 nf: 8 maxLat: 13246 total KB/sec: 13386.95 file KB/sec: 1673.37
ns: 64 nf: 16 maxLat: 14614 total KB/sec: 13339.05 file KB/sec: 833.69
ns: 32 nf: 4 maxLat: 13815 total KB/sec: 12162.09 file KB/sec: 3040.52
ns: 32 nf: 8 maxLat: 12849 total KB/sec: 12281.30 file KB/sec: 1535.16
ns: 32 nf: 16 maxLat: 14044 total KB/sec: 12231.26 file KB/sec: 764.45
ns: 16 nf: 4 maxLat: 4564 total KB/sec: 8507.41 file KB/sec: 2126.85
ns: 16 nf: 8 maxLat: 19950 total KB/sec: 8168.95 file KB/sec: 1021.12
ns: 16 nf: 16 maxLat: 14450 total KB/sec: 8448.30 file KB/sec: 528.02
ns: 8 nf: 4 maxLat: 14364 total KB/sec: 6340.91 file KB/sec: 1585.23
ns: 8 nf: 8 maxLat: 14262 total KB/sec: 6405.40 file KB/sec: 800.68
ns: 8 nf: 16 maxLat: 15690 total KB/sec: 6344.31 file KB/sec: 396.52
End Random Write Test
Type any character to remove files
Remove micros: 64474

64 GB Samsung Evo Plus
Create files
Create micros: 424480
Sequential Write: 20070.07 KB/sec
Begin Random Read Test
ns - read size sectors, nf - number of files, maxLat - latency micros
ns: 64 nf: 4 maxLat: 1824 total KB/sec: 18186.92 file KB/sec: 4546.73
ns: 64 nf: 8 maxLat: 1828 total KB/sec: 18462.71 file KB/sec: 2307.84
ns: 64 nf: 16 maxLat: 1826 total KB/sec: 18610.09 file KB/sec: 1163.13
ns: 32 nf: 4 maxLat: 1157 total KB/sec: 14806.27 file KB/sec: 3701.57
ns: 32 nf: 8 maxLat: 1173 total KB/sec: 15234.29 file KB/sec: 1904.29
ns: 32 nf: 16 maxLat: 1172 total KB/sec: 15455.91 file KB/sec: 965.99
ns: 16 nf: 4 maxLat: 809 total KB/sec: 11116.86 file KB/sec: 2779.22
ns: 16 nf: 8 maxLat: 826 total KB/sec: 11564.74 file KB/sec: 1445.59
ns: 16 nf: 16 maxLat: 827 total KB/sec: 11800.62 file KB/sec: 737.54
ns: 8 nf: 4 maxLat: 611 total KB/sec: 7198.82 file KB/sec: 1799.70
ns: 8 nf: 8 maxLat: 609 total KB/sec: 7594.32 file KB/sec: 949.29
ns: 8 nf: 16 maxLat: 609 total KB/sec: 7811.09 file KB/sec: 488.19
End Random Read Test
Begin Random Write Test
ns - write size sectors, nf - number of files, maxLat - latency micros
ns: 64 nf: 4 maxLat: 5608 total KB/sec: 6839.08 file KB/sec: 1709.77
ns: 64 nf: 8 maxLat: 36854 total KB/sec: 6662.56 file KB/sec: 832.82
ns: 64 nf: 16 maxLat: 5647 total KB/sec: 6766.16 file KB/sec: 422.89
ns: 32 nf: 4 maxLat: 40396 total KB/sec: 4241.73 file KB/sec: 1060.43
ns: 32 nf: 8 maxLat: 5185 total KB/sec: 4426.86 file KB/sec: 553.36
ns: 32 nf: 16 maxLat: 39883 total KB/sec: 4379.74 file KB/sec: 273.73
ns: 16 nf: 4 maxLat: 5587 total KB/sec: 2590.79 file KB/sec: 647.70
ns: 16 nf: 8 maxLat: 5496 total KB/sec: 2594.53 file KB/sec: 324.32
ns: 16 nf: 16 maxLat: 38997 total KB/sec: 2602.87 file KB/sec: 162.68
ns: 8 nf: 4 maxLat: 3697 total KB/sec: 1540.78 file KB/sec: 385.20
ns: 8 nf: 8 maxLat: 37640 total KB/sec: 1530.09 file KB/sec: 191.26
ns: 8 nf: 16 maxLat: 36897 total KB/sec: 1535.00 file KB/sec: 95.94
End Random Write Test
Type any character to remove files
Remove micros: 257624

64 GB Samsung Evo Select
Create files
Create micros: 449927
Sequential Write: 20175.42 KB/sec
Begin Random Read Test
ns - read size sectors, nf - number of files, maxLat - latency micros
ns: 64 nf: 4 maxLat: 1836 total KB/sec: 18108.79 file KB/sec: 4527.20
ns: 64 nf: 8 maxLat: 1845 total KB/sec: 18367.83 file KB/sec: 2295.98
ns: 64 nf: 16 maxLat: 1846 total KB/sec: 18509.13 file KB/sec: 1156.82
ns: 32 nf: 4 maxLat: 1191 total KB/sec: 14701.38 file KB/sec: 3675.35
ns: 32 nf: 8 maxLat: 1175 total KB/sec: 15139.10 file KB/sec: 1892.39
ns: 32 nf: 16 maxLat: 1175 total KB/sec: 15368.02 file KB/sec: 960.50
ns: 16 nf: 4 maxLat: 856 total KB/sec: 11074.42 file KB/sec: 2768.61
ns: 16 nf: 8 maxLat: 841 total KB/sec: 11493.24 file KB/sec: 1436.66
ns: 16 nf: 16 maxLat: 841 total KB/sec: 11714.80 file KB/sec: 732.17
ns: 8 nf: 4 maxLat: 619 total KB/sec: 7219.50 file KB/sec: 1804.87
ns: 8 nf: 8 maxLat: 622 total KB/sec: 7610.77 file KB/sec: 951.35
ns: 8 nf: 16 maxLat: 624 total KB/sec: 7825.15 file KB/sec: 489.07
End Random Read Test
Begin Random Write Test
ns - write size sectors, nf - number of files, maxLat - latency micros
ns: 64 nf: 4 maxLat: 5630 total KB/sec: 6801.75 file KB/sec: 1700.44
ns: 64 nf: 8 maxLat: 36915 total KB/sec: 6615.46 file KB/sec: 826.93
ns: 64 nf: 16 maxLat: 5669 total KB/sec: 6755.24 file KB/sec: 422.20
ns: 32 nf: 4 maxLat: 39677 total KB/sec: 4221.95 file KB/sec: 1055.49
ns: 32 nf: 8 maxLat: 5194 total KB/sec: 4421.57 file KB/sec: 552.70
ns: 32 nf: 16 maxLat: 39500 total KB/sec: 4378.07 file KB/sec: 273.63
ns: 16 nf: 4 maxLat: 5401 total KB/sec: 2586.90 file KB/sec: 646.73
ns: 16 nf: 8 maxLat: 5344 total KB/sec: 2596.93 file KB/sec: 324.62
ns: 16 nf: 16 maxLat: 39390 total KB/sec: 2602.11 file KB/sec: 162.63
ns: 8 nf: 4 maxLat: 3677 total KB/sec: 1535.32 file KB/sec: 383.83
ns: 8 nf: 8 maxLat: 36287 total KB/sec: 1521.36 file KB/sec: 190.17
ns: 8 nf: 16 maxLat: 37166 total KB/sec: 1526.88 file KB/sec: 95.43
End Random Write Test

128GB Samsung Pro Plus
Create files
Create micros: 435530
Sequential Write: 19956.74 KB/sec
Begin Random Read Test
ns - read size sectors, nf - number of files, maxLat - latency micros
ns: 64 nf: 4 maxLat: 1851 total KB/sec: 18821.62 file KB/sec: 4705.41
ns: 64 nf: 8 maxLat: 1851 total KB/sec: 18811.91 file KB/sec: 2351.49
ns: 64 nf: 16 maxLat: 1853 total KB/sec: 18866.41 file KB/sec: 1179.15
ns: 32 nf: 4 maxLat: 1136 total KB/sec: 15481.82 file KB/sec: 3870.46
ns: 32 nf: 8 maxLat: 1136 total KB/sec: 15473.68 file KB/sec: 1934.21
ns: 32 nf: 16 maxLat: 1135 total KB/sec: 15590.17 file KB/sec: 974.39
ns: 16 nf: 4 maxLat: 882 total KB/sec: 11256.95 file KB/sec: 2814.24
ns: 16 nf: 8 maxLat: 885 total KB/sec: 11261.00 file KB/sec: 1407.62
ns: 16 nf: 16 maxLat: 882 total KB/sec: 11386.98 file KB/sec: 711.69
ns: 8 nf: 4 maxLat: 610 total KB/sec: 8003.30 file KB/sec: 2000.82
ns: 8 nf: 8 maxLat: 611 total KB/sec: 8003.53 file KB/sec: 1000.44
ns: 8 nf: 16 maxLat: 610 total KB/sec: 8115.56 file KB/sec: 507.22
End Random Read Test
Begin Random Write Test
ns - write size sectors, nf - number of files, maxLat - latency micros
ns: 64 nf: 4 maxLat: 5779 total KB/sec: 6473.31 file KB/sec: 1618.33
ns: 64 nf: 8 maxLat: 40812 total KB/sec: 6292.39 file KB/sec: 786.55
ns: 64 nf: 16 maxLat: 40978 total KB/sec: 6299.77 file KB/sec: 393.74
ns: 32 nf: 4 maxLat: 4683 total KB/sec: 5013.36 file KB/sec: 1253.34
ns: 32 nf: 8 maxLat: 4688 total KB/sec: 5015.26 file KB/sec: 626.91
ns: 32 nf: 16 maxLat: 42483 total KB/sec: 4898.20 file KB/sec: 306.14
ns: 16 nf: 4 maxLat: 4085 total KB/sec: 2842.92 file KB/sec: 710.73
ns: 16 nf: 8 maxLat: 36934 total KB/sec: 2797.13 file KB/sec: 349.64
ns: 16 nf: 16 maxLat: 38488 total KB/sec: 2811.60 file KB/sec: 175.72
ns: 8 nf: 4 maxLat: 44884 total KB/sec: 1478.57 file KB/sec: 369.64
ns: 8 nf: 8 maxLat: 52042 total KB/sec: 1646.62 file KB/sec: 205.83
ns: 8 nf: 16 maxLat: 46708 total KB/sec: 1491.29 file KB/sec: 93.21
End Random Write Test
Type any character to remove files
Remove micros: 264845
 
Looks like the Samsung Evo Select is the same as the Samsung Evo Plus, just branding, Amazon had exclusive rights to the Select brands of Samsung cards.

Here are images of the "New Generation" cards. They appear to have very large "Record Units" so are optimized for recording a single stream of video on a phone or other device. Since a huge area of flash must be programmed for small random writes and shared SPI, they have poor performance for these cases.

EvoSelect.png

ProPlus.jpg

EvoPlus.jpg
 
Have you tried any non-SDHC (2GB or smaller) cards on SDIO?

No consumer cards "Standard SD" cards are being manufactured currently. I only have two microSD cards. I developed with full size cards. These are are not SLC cards.

Here is the problem with consumer cards after about 2008 they were no longer SLC. Here is the progression in card flash type:

SLC-PLC.png

Here are shared SPI results for the two consumer cards and multi-file results.

Write ,Write,Read ,Read,CID,CID,CID,CID,CID, CID,CSD ,Card
KB/Sec,usec, KB/Sec,usec,MID,OID,PNM,PRV,MthYear,PSN,Size,Name
290.23,154799,1070.25,504,0X0,,,SMISD,1.0,1/2009,28021,1.00GB,Kingston
773.64,47391,1710.45,319,0X0,0,APPSD,0.0,5/2018,1772,0.13GB,HanDisk

2009 1GB Kingston
Type any character to start
Create files
Create micros: 411027
Sequential Write: 3294.17 KB/sec
Begin Random Read Test
ns - read size sectors, nf - number of files, maxLat - latency micros
ns: 64 nf: 4 maxLat: 3034 total KB/sec: 12346.39 file KB/sec: 3086.60
ns: 64 nf: 8 maxLat: 3034 total KB/sec: 12344.68 file KB/sec: 1543.09
ns: 64 nf: 16 maxLat: 3035 total KB/sec: 12334.60 file KB/sec: 770.91
ns: 32 nf: 4 maxLat: 1812 total KB/sec: 9673.39 file KB/sec: 2418.35
ns: 32 nf: 8 maxLat: 1812 total KB/sec: 9671.78 file KB/sec: 1208.97
ns: 32 nf: 16 maxLat: 1822 total KB/sec: 9662.02 file KB/sec: 603.88
ns: 16 nf: 4 maxLat: 1307 total KB/sec: 8059.00 file KB/sec: 2014.75
ns: 16 nf: 8 maxLat: 1307 total KB/sec: 8057.94 file KB/sec: 1007.24
ns: 16 nf: 16 maxLat: 1356 total KB/sec: 8046.62 file KB/sec: 502.91
ns: 8 nf: 4 maxLat: 1047 total KB/sec: 5995.01 file KB/sec: 1498.75
ns: 8 nf: 8 maxLat: 1047 total KB/sec: 5993.29 file KB/sec: 749.16
ns: 8 nf: 16 maxLat: 1096 total KB/sec: 5982.61 file KB/sec: 373.91
End Random Read Test
Begin Random Write Test
ns - write size sectors, nf - number of files, maxLat - latency micros
ns: 64 nf: 4 maxLat: 164005 total KB/sec: 2724.96 file KB/sec: 681.24
ns: 64 nf: 8 maxLat: 163172 total KB/sec: 213.04 file KB/sec: 26.63
ns: 64 nf: 16 maxLat: 162763 total KB/sec: 212.43 file KB/sec: 13.28
ns: 32 nf: 4 maxLat: 154035 total KB/sec: 2142.97 file KB/sec: 535.74
ns: 32 nf: 8 maxLat: 158712 total KB/sec: 108.13 file KB/sec: 13.52
ns: 32 nf: 16 maxLat: 158010 total KB/sec: 107.64 file KB/sec: 6.73
ns: 16 nf: 4 maxLat: 153268 total KB/sec: 1685.75 file KB/sec: 421.44
ns: 16 nf: 8 maxLat: 155798 total KB/sec: 54.68 file KB/sec: 6.83
Gave up on ns: 8

2018 128MB HanDisk
Type any character to start
Create files
Create micros: 45819
Sequential Write: 4430.02 KB/sec
Begin Random Read Test
ns - read size sectors, nf - number of files, maxLat - latency micros
ns: 64 nf: 4 maxLat: 3741 total KB/sec: 14567.50 file KB/sec: 3641.88
ns: 64 nf: 8 maxLat: 3741 total KB/sec: 14828.07 file KB/sec: 1853.51
ns: 64 nf: 16 maxLat: 3741 total KB/sec: 14956.61 file KB/sec: 934.79
ns: 32 nf: 4 maxLat: 1994 total KB/sec: 12118.80 file KB/sec: 3029.70
ns: 32 nf: 8 maxLat: 1995 total KB/sec: 12293.47 file KB/sec: 1536.68
ns: 32 nf: 16 maxLat: 1994 total KB/sec: 12375.67 file KB/sec: 773.48
ns: 16 nf: 4 maxLat: 1230 total KB/sec: 10497.67 file KB/sec: 2624.42
ns: 16 nf: 8 maxLat: 1230 total KB/sec: 10631.37 file KB/sec: 1328.92
ns: 16 nf: 16 maxLat: 1230 total KB/sec: 10693.91 file KB/sec: 668.37
ns: 8 nf: 4 maxLat: 847 total KB/sec: 8282.93 file KB/sec: 2070.73
ns: 8 nf: 8 maxLat: 847 total KB/sec: 8370.26 file KB/sec: 1046.28
ns: 8 nf: 16 maxLat: 847 total KB/sec: 8410.90 file KB/sec: 525.68
End Random Read Test
Begin Random Write Test
ns - write size sectors, nf - number of files, maxLat - latency micros
ns: 64 nf: 4 maxLat: 66997 total KB/sec: 3299.12 file KB/sec: 824.78
ns: 64 nf: 8 maxLat: 53782 total KB/sec: 867.28 file KB/sec: 108.41
ns: 64 nf: 16 maxLat: 53785 total KB/sec: 820.42 file KB/sec: 51.28
ns: 32 nf: 4 maxLat: 5459 total KB/sec: 4318.30 file KB/sec: 1079.58
ns: 32 nf: 8 maxLat: 50719 total KB/sec: 385.90 file KB/sec: 48.24
ns: 32 nf: 16 maxLat: 50710 total KB/sec: 377.72 file KB/sec: 23.61
ns: 16 nf: 4 maxLat: 3864 total KB/sec: 4062.58 file KB/sec: 1015.64
ns: 16 nf: 8 maxLat: 49197 total KB/sec: 185.04 file KB/sec: 23.13
ns: 16 nf: 16 maxLat: 48945 total KB/sec: 184.96 file KB/sec: 11.56
Gave up on ns: 8
 
No consumer cards "Standard SD" cards are being manufactured currently. I only have two microSD cards. I developed with full size cards. These are are not SLC cards.

Even though these older cards aren't being manufactured, many people still have them laying around. I have several here. Would be happy to send you one.

Since switching from the old SD library to a thin wrapper around SdFat 2.0 (the change occurred in Teensyduino 1.54) we've had reports of older cards no longer working in the SDIO socket. Those cards definitely did work on SDIO with the old library.

I tried a couple here on Teensy 3.6 and 4.1. With SdFat 2.0 they're not detected at all in the SDIO socket. They do work fine on SPI.
 
I tried a couple here on Teensy 3.6 and 4.1. With SdFat 2.0 they're not detected at all in the SDIO socket. They do work fine on SPI.

Run the SdInfo example and post the error Info. It should be something like this:

SD errorCode: SD_CARD_ERROR_ACMD41 = 0X17
SD errorData = 0X0

Try editing SdFat/src/SdCard/SdioTeensy.cpp at line 36 and increase this timeout. It was as high as 5000000 at one time. This is mainly for the SD_CARD_ERROR_ACMD41 error.

const uint32_t BUSY_TIMEOUT_MICROS = 1000000;

You can also try increasing CMD8 retries at line 35. Really old V1.0 cards don't respond to CMD8 but if a V2.0 or newer does not have enough retries it will fail ACMD41.

const uint32_t CMD8_RETRIES = 3;

If the error is SD_CARD_ERROR_CMD0, it may be necessary to add a retry loop for CMD0 at about line 653.

The problem with increasing all these times and retries is that a bad card can take forever to finally return a failure.

Edit: I have a separate init timeout for ACMD41 with SPI cards. I assumed all microSD cards would respond faster since they are all newer than the oldest full size cards. If the timeout fixes the problem, I will add SD_INIT_TIMEOUT like in the SPI Case.
 
Last edited:
I'm not sure it somehow matters that these old cards work.... if you can afford a Teensy, you can buy a <$10 card.... ;)
Some of mine have long since ended up in the trash....

I have ONE Card that beats them all, and it still works. It is a noname 512MB Card.
 
Last edited:
I'm not sure it somehow matters that these old cards work.... if you can afford a Teensy, you can buy a <$10 card.... ;)
Some of mine have long since ended up in the trash....

I have ONE Card that beats them all, and it still works. It is a noname 512MB Card.

Well yes and no. I usually don't buy new cards for sound type projects, I just grab whatever cards I happen to have lying around. Typically, I might only have 1-2 files on the card. It can be frustrating if older cards just don't work. I also probably still have devices with card readers that does not handle either SD-HC or SD-XC cards, so I do keep a few of the older cards around to use in these devices. At one point, I still had older card readers, and I recall I needed to use a SDHC -> CF adapter to read the new SD-HC cards in it. Likewise, I have devices that only understand FAT32 filesystems, so I keep the old cards for them. Also, I have some devices that are cheap knock-off clones of things like the DFPlayer. While the DFPlayer from dfrobot.com does support SD-HC cards (but not SD-XC), who knows what the clone version with no name supports.

Though I haven't used it in a year, I still have one camera that only supports the old SmartMedia cards, that I bought in 2001 and I have a cache of SM cards to use with it and 2 card readers that still can do SM. I think I've given away the cameras that only used xD cards. I did remove the last vestiages of floppy support a few years ago. And all of my Linux systems now run recent versions that support exFat file systems, but in the past, I tended to run rather older versions rather than update things.

Basically, some of us are packrats and have older gear of unknown origins. Sometimes we even use it.

But hey, if the new Teensys only support the SD-HC and newer cards, I could probably live with it.
 
Last edited:
But hey, if the new Teensys only support the SD-HC and newer cards, I could probably live with it.

The break in support is not at 2GB, it's at the May 9, 2006 V2.00 SD standard. At this point A major change in the command structure and register structure was introduced to allow expansion to greater than 2GB. To support backward comparability the standard relied the failure of the new CMD8 to determine if you have an old card. Also failure of CMD8 can indicate the card does not support the desired operating voltage in the command argument or other failure. So you stumble on trying to support V1.xx cards after a failure of CMD8.

This is the other statement in the V2.00 statement that may cause older cards to fail. I suspect some old V2.00 cards do not init in one second.

The host repeatedly issues ACMD41 for at least 1 second or until the busy bit is set to 1.
 
Last edited:
Ran SdInfo with 4 old cards. The two SD2 cards work fine. Both SD1 don't seem to work with SDIO at all, even if I increase BUSY_TIMEOUT_MICROS to 5000000 and CMD8_RETRIES to 9, but those changes to make it take a lot longer to fail. They do work with SPI.

Card #1: Patriot 128MB

c1.jpg

With SDIO:
Code:
SD initialization failed.
Do not reformat the card!
Is the card correctly inserted?
Is there a wiring/soldering problem?
SD errorCode: SD_CARD_ERROR_ACMD41 = 0X17
SD errorData = 0X0

With SPI:
Code:
init time: 218 ms

Card type: SD1

Manufacturer ID: 0X6
OEM ID: RK
Product: SD
Version: 0.0
Serial number: 0X7CA00000
Manufacturing date: 11/2005

cardSize: 127.14 MB (MB = 1,000,000 bytes)
flashEraseSize: 128 blocks
eraseSingleBlock: true

OCR: 0X80FF8000

SD Partition Table
part,boot,bgnCHS[3],type,endCHS[3],start,length
1,0X0,0X3,0X2,0X0,0X6,0X7,0XE0,0XC8,97,247967
2,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0,0
3,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0,0
4,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0,0

Scanning FAT, please wait.

Volume is FAT16
sectorsPerCluster: 32
clusterCount:      7746
freeClusterCount:  5424
fatStartSector:    98
dataStartSector:   192
Data area is not aligned on flash erase boundary!
Download and use formatter from www.sdcard.org!


Card #2: Transcend 512MB

c2.jpg

With SDIO:
Code:
SD initialization failed.
Do not reformat the card!
Is the card correctly inserted?
Is there a wiring/soldering problem?
SD errorCode: SD_CARD_ERROR_ACMD41 = 0X17
SD errorData = 0X0

With SPI:
Code:
init time: 113 ms

Card type: SD1

Manufacturer ID: 0X1B
OEM ID: SM
Product: SMI
Version: 1.0
Serial number: 0XFA8F7605
Manufacturing date: 11/2007

cardSize: 510.13 MB (MB = 1,000,000 bytes)
flashEraseSize: 128 blocks
eraseSingleBlock: true

OCR: 0X80FF8000

SD Partition Table
part,boot,bgnCHS[3],type,endCHS[3],start,length
1,0X0,0X1,0X1,0X0,0X6,0X7,0XC7,0XFF,7,996345
2,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0,0
3,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0,0
4,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0,0

Scanning FAT, please wait.

Volume is FAT16
sectorsPerCluster: 16
clusterCount:      62236
freeClusterCount:  37043
fatStartSector:    23
dataStartSector:   567
Data area is not aligned on flash erase boundary!
Download and use formatter from www.sdcard.org!



Card #3: Kingston 2GB

c3.jpg

With SDIO:
Code:
init time: 0X177 ms

Card type: SD2

Manufacturer ID: 0X2
OEM ID: TM
Product: SA02G
Version: 0.4
Serial number: 0XD09B239C
Manufacturing date: 11/2009

cardSize: 1967.13 MB (MB = 1,000,000 bytes)
flashEraseSize: 128 blocks
eraseSingleBlock: true

OCR: 0X80FF8000

SD Partition Table
part,boot,bgnCHS[3],type,endCHS[3],start,length
1,0X0,0X2,0XC,0X0,0X6,0X38,0XF8,0XB8,137,3841911
2,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0,0
3,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0,0
4,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0,0

Scanning FAT, please wait.

Volume is FAT16
sectorsPerCluster: 64
clusterCount:      60022
freeClusterCount:  54298
fatStartSector:    138
dataStartSector:   640




Card #4: Muve Music

c4.jpg

With SDIO:
Code:
init time: 0X1BE ms

Card type: SD2

Manufacturer ID: 0X3
OEM ID: SD
Product: SDC1c
Version: 8.0
Serial number: 0X59369E71
Manufacturing date: 12/2011

cardSize: 990.64 MB (MB = 1,000,000 bytes)
flashEraseSize: 32 blocks
eraseSingleBlock: true

OCR: 0X80FF8000

SD Partition Table
part,boot,bgnCHS[3],type,endCHS[3],start,length
1,0X80,0XFF,0XFF,0XFF,0XC,0XFF,0XFF,0XFF,2048,1932800
2,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0,0
3,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0,0
4,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0,0

Scanning FAT, please wait.

Volume is FAT16
sectorsPerCluster: 32
clusterCount:      60384
freeClusterCount:  56101
fatStartSector:    2049
dataStartSector:   2553
Data area is not aligned on flash erase boundary!
Download and use formatter from www.sdcard.org!
 
Looks like none of my microSD cards are V1.xx. I have lots of full size V1.xx cards and a SD to microSD adapter somewhere. I will find it or make one with a microSD sniffer. It can be crude since SD init takes place at 400 kHz.

I suspect I see the problem with V1.xx cards but will test it when I find or make an adapter.

Only a few "microSD" cards are V1.xx. The official microSD spec evolved from transflash cards. Official microSD cards are V2.xx or greater.

Your Transcend card is probably one of the last V1.xx cards. The SD V2.00 spec was published May 9, 2006 but microSD V1.xx cards were manufactured for quite a while.
 
I found the SD-> microSD adapter and my SD1 cards work on Teensy 3.6. Here is a really old, 16MB card:
Code:
init time: 39 ms

Card type: SD1

Manufacturer ID: 0X3
OEM ID: SD
Product: SD016
Revision: 3.1
Serial number: 0XA30FA0
Manufacturing date: 8/2003

cardSize: 14.75 MB (MB = 1,000,000 bytes)
flashEraseSize: 32 blocks
eraseSingleBlock: true

OCR: 0X80FF8000

SD Partition Table
part,boot,bgnCHS[3],type,endCHS[3],start,length
1,0X0,0X1,0X10,0X3,0X4,0X1,0X60,0XC1,239,28561
2,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0,0
3,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0,0
4,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0X0,0,0

Scanning FAT, please wait.

Volume is FAT12
sectorsPerCluster: 2
clusterCount:      14208
freeClusterCount:  14200
fatStartSector:    240
dataStartSector:   384

I can't get any to init on Teensy 4.1. They all fail on ACMD41. I tried various argument for the command with no luck.

I am not sure the CMD0 reset works since there is no return status from the card with SDIO for CMD0, It is just assumed to work. The controller returns it sent the command but it does that for no card in the socket.

Could you try your cards on Teensy 3.6?

I will put a logic analyzer on Teensy 4.1 using a card sniffer and see if I get any more info.
 
Bill, would you like to have either of these SD1 cards? I'd be happy to send you one.

I have six cards in three sizes that fail with Teensy 4.1 but work with Teensy 3.6.

My worry now is that ACMD41 is so simple and well documented that finding the problem is a real puzzle.

The init for SD1 is send CMD0, which does not send a response then loop using ACMD41 to wait for the SD to initialize.

SD2 is the same with an additional CMD8 between CMD0 and ACMD41.
 
Bill, Paul,
not sure if I divert too much, but could it be similar to the following observation:
I fail to SPI 'mount' a 1 TB uSD on T4.1 if the disk is nearly full but I ' mount' the disks easily when empty.
I did not try on T3.6, but it seems that T4.1 does not give sufficient time to uSD cards to respond.
I full 1TB uSD card may need a lot of time, similar to very old smaller uSD cards.
This was noted also in on of the MTP threads, and consequently 'mounting' uSD cards were repeated multiple times until success.
Test: would repeating the begin(..) with say 1 s delay between solve the problem?
 
I have made progress on SD1 cards on Teensy 4.1. The problem is not ACMD41. It is CMD8 which is the way you detect a SD1 card. There is no response to CMD8 from SD1 cards. On Teensy 4.1 a controller reset seems to be required before the ACMD41 loop. Here is the init flow chart with SD1 on the left side.

Open in another window for larger view.

SdInit.png

Strange Teensy 3.6 does not have this problem.
 
Back
Top