I've noticed a bit of confusion in the discussions here with people's experiences with SDHC cards - people often mention the brand, the model, and often the 'Class', however none of that is enough to know the actual performance characteristics of a card (or even exactly which card they're using). This can lead to some significant confusion when people start making assumptions, such as when a new Class 10 card of Brand A is expected to be faster than an older Class 6 card of Brand B, and when it's not for someone, there's an implication or assumption that there's no point in getting any Class 10 card over a Class 6 card because the 'real world' differences were found to be contrary to expectation.
Wikipedia has a
decent description of what SDHC class means, saying it "...measures the minimum write speeds based on 'the best fragmented state where no memory unit is occupied.'" This indicates that the Speed Class is a kind of worst-case write performance measure determined when a card is empty (and implies that as a card is used and starts to fill up, it can slow down to below the Class speed).
There is an endnote on Wikipedia which references this
SD Association official web page on SD Speed Class. That page no longer has the exact line quoted in Wikipedia, but instead a more vague statement which isn't as clear about what the speed rating exactly means as it relates to fragmentation: "The memory of a card is divided into minimum memory units. The host writes data onto memory units where no data is already stored. As available memory becomes divided into smaller units through normal use, this leads to an increase in non-linear, or fragmented storage. The amount of fragmentation can reduce write speeds, so higher SD card speeds help compensate for fragmentation."
The best I can conclude from my research is that Speed Class reflects some aspect of flash performance, but can't really be used on it's own to tell which particular flash card is faster than another either in it's pristine out-of-box state or after extensive use. (Where I think Speed Class is useful is when a device performs a query on an SDHC card that's plugged in and the card tells what Class it is and then the device can warn a user that the card could be too slow to perform well in that device, i.e. it seems most useful to device makers, and helpful to consumers only as a guide of what flash devices they just shouldn't buy/use in a given device, not necessarily what card will perform better/best).
The vague value of SDHC Speed Classs is really brought into question when you find out that it's not uncommon for manufacturers to change the performance of a particular line of cards without changing the product name - just changing the product model. This is illustrated by this knowledge base article on the SanDisk website,
SanDisk memory cards read/write speed change .
Also, while you might be thinking that SanDisk's "speed rating" (mentioned in the KB article above) would be a handy way to tell card performance, since they often print the "speed rating" on the card packaging and sometimes on the card itself. I don't think it is, because all it tells you is the
"maximum transfer speed for writing and reading images to and from the card, expressed as megabytes per second." In other words, a best-case scenario that doesn't differentiate between read and write speeds, just one maximum. Reading flash memory is most always faster than writing, yet often the important metric is the write performance - so SanDisk's "speed rating" probably isn't telling you write performance at all!
From what I've been able to determine, one of the factors which may be significantly affecting real-world SDHC write performance between different brands/models is wear leveling algorithms. For SDHC, there is no established or universal standard for wear leveling (unlike for SATA SSD where there is the
TRIM command). This means that different SDHC flash controller makers implement different wear leveling algorithms to minimize the progressive performance degradation of write operations on flash storage, and differences/improvements in those algorithms could be affecting performance in a way completely separate from the raw write capability of the flash media.
So ultimately, I think the best information people can give when talking about card performance is to describe the brand, exact model number, method used to test read and write speeds (including specifics on the device used), how full the card was when the speeds were tested, and what the results were. Also, where the card was bought would be a very useful bit of information, since it could help anyone else reading estimate whether or not the card being testing is a counterfeit or not.
Flash card counterfeiting is a very big problem, the copycat cards are now nearly identical looking (but not performing) to the official cards, so where someone buys a flash card can make a big difference. You can read more about this issue here:
Fake Memory Cards - OCAU Wiki
For a very in-depth look at the problem, read this:
On MicroSD Problems
(My research into the counterfeit flash has resulted in me avoiding ebay, amazon/buy.com marketplace sellers, or any other smaller reseller, and buying my flash memory only from large, very established companies now.)
Hopefully this somewhat long post will provide some useful info to people, and help bring clarity to any future discussions of SDHC/flash storage.