La Galaxy Tab 7 (GT-P1000) tiene 3 sistemas de almacenamiento:
- Memoria flash interna
- Tarjeta SD interna
- Tarjeta SD externa (extraíble)
Desde el punto de vista del sistema operativo, estos dispositivos son visibles con los siguientes nombres respectivamente:
/dev/block/bml0 /dev/block/mmcblk0 /dev/block/mmcblk1
La memoria flash está dividida en áreas llamadas particiones. Algunas de ellas tienen sistemas de archivos y otras son para uso crudo. Las harramientas como ODIN o Heimdall, utilizadas para grabar custom ROMs o kernels graban en esta memoria.
La tabla de particiones de la memoria flash interna se organiza como sigue (se muestran los nombres de los dispositivos BML, así como el nombre del archivo que es grabado por ODIN en cada zona):
/dev/block/bml1 IBL+PBL:[boot.bin] # Initial Boot Loader + Primary Boot Loader /dev/block/bml2 PIT:[gt-p1000.pit] # Partition Information Table /dev/block/bml4 SBL:[sbl.bin] # Secondary Boot Loader /dev/block/bml5 SBL2:[sbl.bin] # Secondary Boot Loader 2 /dev/block/bml6 PARAM:[param.lfs] # param file system /dev/block/bml7 KERNEL:[zImage] # Kernel image /dev/block/bml8 RECOVERY:[zImage] # Kernel image for recovery /dev/block/bml9 FACTORYFS:[factoryfs.rfs] # Factory file system /dev/block/bml10 DBDATAFS:[dbdata.rfs] # dbdata file system /dev/block/bml11 CACHE:[cache.rfs] # cache file system /dev/block/bml12 MODEM:[modem.bin] # Modem firmware
Los dispositos BML (Block Management Layer) dan acceso crudo a la memoria flash, ya sea como un dispositivo único (bml0) o a por particion (bml1, bml2, etc.)
Debido a que la memoria flash se va dañando con el uso, existe una capa de software llamada STL (Sector Translation Layer) que gestiona la asignación de los bloques que “ven” los sistemas de archivos montados en la flash, y así poder balancear su uso. En los dispositivos llamados USB Drives, esta gestión se hace en la propia circuitería y no requiere intervención del sistema operativo.
Por lo anterior, el kernel expone algunas áreas de la flash como dispositivos STL (/dev/block/stlx), y sobre éstos van montados los sistemas de archivos de la siguiente manera:
/dev/block/stl3 /efs rfs /dev/block/stl6 /mnt/.lfs j4fs #(verificar) /dev/block/stl9 /system rfs /dev/block/stl10 /dbdata rfs /dev/block/stl11 /cache rfs
La tarjeta SD interna (/dev/block/mmcblk0) también está dividida en 3 particiones:
mmcblk0p1 /mnt/sdcard vfat mmcblk0p2 /data rfs mmcblk0p3 /preload vfat
La partición /mnt/sdcard es el área a la que el usuario tiene acceso desde las aplicaciones.
La tarjeta SD externa (/dev/block/mmcblk1) tiene una sola partición:
mmcblc1p1 /mnt/sdcard/external_sd