# SD card speed class specifies "minimum sequential write speed" but not the "maximum sequential write speed", why?

A speed rating for any memory device is usually how fast it can work. However, the speed class of SD cards actually specifies the "minimum sequential write speed". Please see here for evidence under "SD Speed Class".

1. Shouldn't speed rating be about the maximum rate at which we can write to a memory?

2. Also, since the SD card speed class is about the lower bound, does that mean that if we write to it at a slower rate, the card will not function and the data shall become corrupt?

Finally, what exactly is the minimum data rate for SPI mode? The "SD Specifications Part 1 Physical Layer Simplified Specification Version 2.00 September 25, 2006" section 7.2.15 "Speed Class Specification" states:

As opposed to SD mode, the card cannot guarantee its Speed Class. In SPI mode, host shall treat the card as Class 0 no matter what Class is indicated in SD Status.

1. This implies that the minimum rate at which we need to read/write the card in SPI mode is actually 0 MB/sec? This implies that when using the SPI bus, the actual speed class of the card does not matter? But is this really the case?

2. As far as I am aware, after SD card power up, when we want to enter the SPI mode, we communicate with the card using a very low clock frequency which is in range of a few 100KHz at most. Is this true for SD card of any speed class?

• I'm not putting this as an answer because I'm too lazy to check, but a stat like this normally means "it will go at least this fast". The minimum is the lower bound on its maximum rate. Like specifying a motor car as being reliably capable of going at at least 100 miles per hour. It may be able to go at 120mph, but it'll definitely run at 100. Commented Jul 4, 2018 at 22:55
• The card's minimum speed specifies the maximum speed you can reliably transfer data to it. If $$f_{yourdesign} \leq f_{min} \leq f_{card}$$, it is guaranteed that $$f_{yourdesign} \leq f_{card}$$ and therefore no data is lost. Commented Jul 5, 2018 at 0:22

## 2 Answers

To be considered to meet the requirements of the relevant class the card must support writing at a given minimum speed (eg. 6MB/s for class 6). If they are faster, that is okay. It's like saying you must have a minimum income of \$150K to qualify for this credit card, if you have more that's okay.

Class 0 is not rated under this system so you would have to check the manufacturer's specifications if you want to use SPI.

And you should not necessarily expect that the average write rate of the card means that you can write every byte at that rate. You may have to have a sizable buffer to account for the card going off on its own from time to time.

When you have for example a camera and take a video then you have to store data at a rate of X MiB/s or data would get lost. So you go and buy a card with the class that has the appropriate minimum speed.

There is never a case where you say: Well, I can't generate data any faster than X MiB/s. So I must not buy a card that will exceed X MiB/s because then the card will be idle and self destruct out of boredom.

Nobody cares about the cards feelings. :) If the card stores data twice as fast as you generate it and then is idle nothing bad happens.

• What confused me is that when I buy hard disk it gives the maximum read/write speed that it can achieve, a bit like "hey look how fast this can run". So it being other way around for SD card for me was confusing. Commented Jul 7, 2018 at 10:10