Pour répondre à votre question spécifique sur les disques durs que personne ne semble avoir abordé.
SATA (et toutes les autres interfaces d'attachement de disque auxquelles je peux penser) fonctionne avec des blocs. Les commandes sont définies pour (parmi beaucoup d'autres choses) lire et écrire des blocs de stockage physique spécifiques, et les données sont fournies par le câblage de l'interface d'attachement. Cette commande doit être traitée quelque part, ce qui peut être fait soit dans un logiciel qui tourne sur un processeur embarqué, soit en utilisant une sorte de configuration matérielle pure qui devrait probablement faire à peu près la même chose.
Devinez ce qui est moins cher, physiquement plus petit, loin d'être improbable, plus facile à travailler et généralement beaucoup plus polyvalent ? C'est exact, un processeur, une petite quantité de mémoire de programme (flash, EPROM, ROM, ou tout ce qui correspond à vos besoins) et une petite quantité de RAM, les deux dernières pouvant même être incluses dans le processeur lui-même si vos besoins sont assez modestes (voir par exemple la famille de microcontrôleurs PIC ).
N'oubliez pas non plus que les plateaux de disques ne stockent pas réellement de bits. Ils stockent codage du flux magnétique des bits. Quelque chose doit traiter les lectures de flux provenant de la tête de lecture, ou traiter les données en transitions de flux à donner à la tête d'écriture. Si une lecture est imparfaite, les données de correction d'erreur (stockées avec les données) sont utilisées pour idéalement (c'est malheureusement pas toujours le cas ) corriger l'erreur et renvoyer de bonnes données plutôt que des déchets, ou renvoyer une erreur si le problème est trop grave pour être corrigé. Encore une fois, c'est le plus facile à mettre en œuvre dans un logiciel qui doit fonctionner sur quelque chose, et un processeur avec de la mémoire fait parfaitement l'affaire.
Le fait de disposer d'une grande puissance de traitement signifie que vous êtes en mesure d'utiliser des schémas de codage et de récupération des erreurs plus avancés, ce qui, dans le cas des disques durs, signifie que vous pouvez entasser davantage de données sur la même surface physique. Le résultat final est une capacité de stockage plus importante que ce qui serait possible autrement. La puissance de traitement du microcontrôleur du disque dur lui-même n'est toutefois pas d'une importance capitale pour l'utilisateur du disque.