Flash Filesystem

From 3dbrew
Revision as of 05:02, 21 August 2012 by Yellows8 (talk | contribs)
Jump to navigation Jump to search

The Nintendo 3DS has a 1GB NAND Flash chip.

Format

The format of the Nintendo 3DS's flash filesystem is currently undocumented. Reading of the flash chip is possible through pinouts on the motherboard and has been performed successfully but the data is encrypted and can't be understood without first decrypting it.

Encryption

The NAND file system is encrypted using AES-CTR.

Partitions

Name Description
firm0 Firmware partition.
firm1 Firmware partition.
nand CTR-NAND FAT File System. (3DS)
twln TWL-NAND FAT File System. (DSi)
twlp TWL-NAND PHOTO FAT File System. (DSi)

None of the above physical NAND partitions are normally accessible from the ARM11, except for twlp. CTR/TWL NAND can only be accessed when the exheader access control descriptor for those are enabled. Normally the CTR/TWL NAND descriptors are never enabled for retail ARM11 CXI processes. The ARM11 can only access "nand:/rw/" mounted as the nandrw archive, and "nand:/ro/" mounted as the nandro archive below.

CTR partition

The structure of nand/title appears to be exactly the same as SD. The structure of nand/extdata appears to be exactly the same as SD and contains shared extdata.

The "nandrw" archive is mounted at "nand:/rw/", while the "nandro" archive is mounted at "nand:/ro/".

TWL partition

The structure of these TWL partitions appears to be identical to DSi, except tickets are stored in the CTR FAT FS.