Creo que hay explicaciones de esto en la web.
Puede obtener una buena comprensión al leer el código y mirar el cableado de un proyecto real, por ejemplo. la biblioteca de tarjetas de memoria SD de Arduino, que puede leer un sistema de archivos FAT. Utiliza una interfaz de hardware muy simple.
Las hojas de datos para la memoria SD explicarán cómo se leen y escriben, o podrías leer un tutorial, por ejemplo. Tutorial de SD de Adafruit
La tarjeta SD se puede leer y escribir usando SPI, que usa solo tres cables más energía, y una señal de habilitación o 'chip chip' (CS) para que varias tarjetas SD puedan compartir un bus común de tres hilos. SPI tiene una señal de datos en cada dirección (DI, DO) y un reloj (SCLK) para sincronizar e identificar datos válidos. La SD se controla mediante comandos, se envía a través de la interfaz SPI, así que observe el conjunto de comandos para una tarjeta SD. Los comandos estarán orientados a bytes, ya que, por defecto, SPI está orientado a bytes.
La E / S en serie para la mayoría de los dispositivos host, desde el microcontrolador al microprocesador, generalmente se maneja mediante una interfaz periférica orientada a bytes, pero todo se puede hacer en el software mediante datos serializados de 'bit banging' sobre I / O de propósito general individual (GPIO) pines. Usaría tres para SPI, uno para cada uno de SCLK, DI y DI, y otro para cada tarjeta de memoria SD con chip select (CS).
Para un mayor rendimiento, las tarjetas de memoria SD pueden transferir múltiples bits en un solo ciclo, por lo que al usar 4 señales de datos, se pueden leer o escribir 4 veces más rápido. Cuando se inicia la comunicación por primera vez, comienza con las tres señales SPI, luego un sistema host (por ejemplo, una computadora, una cámara) podría negociar rápidamente para activar la interfaz con más señales.