Direccionamiento de bloque lógico

De Wikipedia, la enciclopedia libre
(Redirigido desde «Logical block addressing»)
Saltar a: navegación, búsqueda

Direccionamiento de bloque lógico, en inglés: Logical Block Addressing (LBA), es un método muy común usado para especificar la localización de los bloques de datos en los sistemas de almacenamiento, principalmente secundario, de una computadora.

El término LBA puede referirse también a la dirección del bloque al que enlaza.

Los bloques lógicos en las computadoras modernas son normalmente de 512 ó 1024 bytes cada uno.

Funcionamiento[editar]

LBA es un método de direccionamiento particularmente simple. Los bloques son numerados según un índice, siendo el primer bloque: LBA 0, el segundo: LBA 1, y así sucesivamente. Este método sucede a otros sistemas anteriores que exponían los detalles físicos de las unidades de almacenamiento al software directamente, con los riesgos que ello conlleva. El pionero de estos sistemas fue Cylinder-Head-Sector (CHS), donde se les asignaba una dirección a cada bloque mediante una tupla que definía el cilindro, el cabezal y el sector en que se encontraba. Este sistema no funcionaba bien en dispositivos que no fueran discos duros, como las cintas magnéticas, por lo que no era muy usado en esos casos. El sistema CHS debutó en las unidades RLL y MFM, y éste y su sucesor, el Extended Cylinder-Head-Sector (ECHS), fueron usados en las primeras unidades ATA.

SCSI introdujo LBA como una abstracción. Aunque el controlador de la unidad todavía utiliza CHS para acceder a los bloques, esta información no es usada por el driver, el sistema operativo o cualquier otra aplicación que acceda al disco a bajo nivel. En los casos en los que sea imprescindible que el software necesite acceso a nivel de bloque, se utilizan direcciones LBA pasadas al driver de la unidad.

Para casos más complejos, como en unidades RAID y Storage Area Network (SAN), la unidad traduce directamente las direcciones LBA del modelo que use la aplicación de software, al modelo usado por la unidad.

LBA, dispositivos ATA y BIOS mejorado[editar]

La primera especificación de la interfaz ATA heredó el esquema CHS de anteriores estándares de unidades. Esto resultó ser un factor negativo para el crecimiento de las unidades. Originariamente, el sistema cilindro, cabeza y sector estaba limitado a 1024, 16, y 63 respectivamente. Más tarde, la aparición de BIOS más avanzados propició la virtualización del sistema CHS llamado LARGE, frecuentemente añadiendo cabezales "virtuales" a la unidad, lo que amplió los límites a 1024, 256 y 63 respectivamente, pero poco utilizado en la práctica. Por entonces, las particiones estaban limitadas a 7,875 GiB (1024 cilindros x 256 cabezas x 63 sectores x 512 bytes/sector).

El segundo estándar introdujo un modo de operación con LBA, que con el tiempo se ha convertido en el sistema más usado para comunicarse con unidades ATA y sus sucesores. El direccionamiento LBA en las unidades ATA puede ser de 28 bits o de 48 bits (introducido en ATA-6), lo que resulta en límites de 128 GiB (2^28 sectores x 512 bytes por sector) y 128 PiB (2^48 x 512 bytes por sector).

Las versiones de Microsoft Windows de 32 bits, solo utilizan 31 bits para el direccionamiento de un sector en el sistema LBA, para formatear y comprobar sectores en un disco duro, por lo que discos duros de más de 1088 GB, si se formatea la partición con comprobación de errores, da errores a partir de dicho sector. Aun así, es capaz de direccionar un mínimo de 2 terabytes, en discos duros con sectores de 512 bytes.

Enlaces externos[editar]