NAND: Difference between revisions

page creation
 
PoroCYon (talk | contribs)
No edit summary
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The DSi uses a 256MB Samsung moviNAND flash chip, which is a NAND flash chip with a built-in controller that implements a MMC (SDIO) interface.  In many ways, it's like an SD card in BGA packaging, and some people have successfully read it with modified SD card readers.
The DSi uses a 256MB Samsung moviNAND flash chip, which is a NAND flash chip with a built-in controller that implements a MMC (SDIO) interface.  In many ways, it's like an SD card in BGA packaging, and some people have successfully read it with modified SD card readers. The last 16MB is used for wear-leveling purposes (such as replacing bad blocks), while the first 240MB is used for storing actual data.


Addressing is done in terms of 512-bytes sectors.  All wear-levelling and bad-block-mapping is handled transparently inside the chip by the controller.  Most sectors are encrypted with a per-console key.
Addressing is done in terms of 512-bytes sectors.  All wear-levelling and bad-block-mapping is handled transparently inside the chip by the controller.  Most sectors are encrypted with a per-console key.
Line 8: Line 8:
! Offset  !!  Size !! Description
! Offset  !!  Size !! Description
|-
|-
| 0  || 0x200 || PC-style MBR, encrypted with a per-console key
| 0  || 0x200 || PC-style Master Boot Record (MBR), encrypted with a per-console key
|-
|-
| 0x200 || 0x200 || Stage 2 info block 1 (see below)
| 0x200 || 0x200 || Stage 2 info block 1 (see [[stage2]])
|-
|-
| 0x400 || 0x200 || Stage 2 info block 2
| 0x400 || 0x200 || Stage 2 info block 2
Line 22: Line 22:
| 0x4E800 || ? || Unused (all 00)
| 0x4E800 || ? || Unused (all 00)
|-
|-
| 0xffa00 || 0x400 || Factory test area (often contains build date of device in plaintext)
| 0xffa00 || 0x400 || Diagnostic area. (often contains build date of device in plaintext) Blank in never-before-booted DSi. Might be written to during firmware updates.
|-
|-
| 0x10ee00 || ? || start of per-console unique encrypted data
| 0x10ee00 || ? || First sector of main FAT32 partition
|-
| 0xcf09a00 || ? || First sector of photo FAT32 partition
|}
|}