Los SSD difieren en gran medida de los HDD porque almacenan datos en arreglos de semiconductores NAND. Un SSD normalmente tiene múltiples (4-16) chips flash NAND. Cada uno de estos chips se divide en bloques (alrededor de millones de celdas NAND) que se dividen en páginas (miles de celdas NAND). Las páginas se dividen en celdas individuales. Dependiendo de la tecnología, cada celda puede almacenar 1-3 bits de datos.


Debido a la estructura y la tecnología de los arreglos de celdas NAND, hay algunos factores que hacen que el manejo de datos en un SSD sea una tarea interesante:

  • Solo es posible escribir a nivel de página y borrar a nivel de bloque.
  • Antes de cada escritura la celda debe ser borrada.
  • Los ciclos de borrado de escritura degradan la celda y, finalmente, la celda ya no se puede usar de manera confiable para almacenar datos.
  • Los datos se escriben en segmentos en varias ubicaciones para garantizar tasas de transferencia más altas.


Todos estos factores hacen que sea necesario copiar, mover y duplicar los datos. Esto se suma a la complejidad de cómo se distribuyen los datos en las celdas NAND. Los datos se fragmentan y habrá grandes cantidades de datos obsoletos.


Los SSD tienen un controlador incorporado (Flash Controller Chip - Chip Controlador de Flash) que administra los datos y realiza un seguimiento de su ubicación física. Cuando el sistema operativo envía un comando de lectura o escritura, pasa por el controlador flash que luego traduce el comando. El sistema operativo no ve realmente los comandos del controlador flash. Como resultado, el sistema operativo no puede realizar un seguimiento de la ubicación física de los datos. Se ha demostrado que los comandos de borrado del sistema operativo (sobrescribir datos con algún patrón) en los SSD no eliminan necesariamente todos los datos porque el controlador flash puede traducir el comando de modo que no se aplique a todas las instancias de datos.


Enlaces relacionados: