Nunca he visto ningún chip flash con capacidad no limitada a la potencia estricta (es decir, no como en los discos duros) de 2. Me pregunto qué impide a los fabricantes crear dichos chips: ¿es por alguna razón de ingeniería, o simplemente por el marketing? ¿O algo más?
Llegué a este pensamiento después de examinar algunas unidades de memoria flash: la memoria flash NAND que hay dentro es, por ejemplo, 8 GiB, y la unidad en sí tiene un tamaño de 8 GB. Parece que la diferencia se usa para compensar los errores que aparecen con bastante frecuencia en las NAND de MLC mediante la sustitución de bloques defectuosos por bloques de repuesto.
Por ejemplo, al insertar una tarjeta SD etiquetada como "512 MB" en mi caja de Linux, aparece el siguiente mensaje:
sd 12:0:0:0: [sdb] 996352 512-byte logical blocks: (510 MB/486 MiB)
No se trata de una sobrecarga de formato ni de partición: el tamaño completo del dispositivo en sí es mucho menor que 512 MiB.
También, soy consciente del espacio fuera de banda (OOB) presente en todos los flashes NAND (MLC). No lo considero como "extra" o algo así porque:
- Casi siempre se utiliza para almacenar los códigos ECC y no los datos reales; por lo tanto, la cantidad de información es igual con o sin OOB.
- El recuento de páginas y bloques en todo el flash sigue siendo la potencia de 2, y además, la cantidad de bytes en las áreas de datos y OOB de la página por sí sola también es la potencia de 2. Mientras que el último puede estar muy bien justificado al minimizar la sobrecarga de direccionamiento, el primero es desconcertante para mí. Ya tenemos RAS y CAS, con un espacio de direcciones más grande que el otro, y la matriz ya es asimétrica: ¿por qué hacerlo exactamente en el poder de 2?
Entonces, ¿qué impide que un proveedor agregue un poco más de filas o columnas? Estoy más interesado en los flashes NAND, ya que tienen un bus de datos / direcciones de 8 bits unificados, y el número de bits en la dirección no importa (a diferencia de los NOR).