Since SSD (solid-state drive) is pronounced es-es-dee, I'm wondering whether one should write "an SSD" or "a SSD".
Saying "a SSD" out loud feels a bit off...
Definitely an SSD.
The use of a vs. an is always determined by pronunciation, not by spelling. You don’t even need to find acronyms to give examples where they disagree: one would always say/write a European, not *an European, and an honest man, not *a honest man.
The only case where there’s doubt is when pronunciation varies. For instance, with the acronym SCSI, computer professionals usually say “scuzzy”, but non-techies meeting it for the first time usually say “ess see ess eye”. So one might reasonably encounter either a SCSI cable or an SCSI cable, depending on the writer.
However, as you say, SSD is (as far as I know!) always pronounced letter-by-letter; so it’s definitely an SSD.
The rule is actually about using an 'a' before a consonant sound and 'an' before a vowel sound. Now the rule is generalised to the one that you've stated, i.e. using 'a' before a word that starts with a consonant and 'an' before a word that starts with a vowel. The generalisation is true in most of the cases and this is precisely the reason why the rule is stated in its diluted form. But if we follow the rule we find that the exceptions vanish. SOA, as John has mentioned starts with an 'ES' sound which is a vowel sound. Hence the 'an'.
Read more here
Whether to choose "A" or "An" is an absolutely phonetic relationship. It is not correct to say "A hour" even though its first letter is a consonant. It begins with a vowel sound, so you should say "An hour."
The same rule applies to abbreviations. The only case for not using "An" is if the reader is likely to say "Solid State Drive" instead of "Ess Ess Dee" even though you have not written it that way.
Current convention for your particular example indicates you should write "An SSD" based on this Google Ngrams:
The rule is that if the word (in its pronunciation) starts with a vowel, you use "an". In other words, if the phonetic transcription of an English word begins with a vowel, you use "an". Examples: an orange (/o/), an apple (/æ/).
If it starts with a consonant, you use "a". Remember that /w/ and /j/ are considered consonants, which explains "a union" (/juːnjən/) and "a one-legged man" (/wən legd mæn/).
I think the intent of the rule is the sound of the following word, not strictly if it begins with a consonant. I believe it is entirely dependent on pronunciation, not classification of the letter. Consider these two examples:
He is a solid choice for class president.
The next district superintendent is an S. A. Wilson High School graduate.
(The initials 'S' and 'A' are pronounced as the letters themselves.)
Here is some supporting information from the Purdue Online Writing Lab. https://owl.english.purdue.edu/owl/resource/540/1/