Difference between revisions of "EMMC"

From Vita Development Wiki
Jump to navigation Jump to search
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
PSVita eMMC can be accessed using [[SceSdif]] module.
+
PS Vita eMMC can be accessed using [[SceSdif]] module.
  
== Size ==
+
== eMMC Controller ==
  
* DEM-3000G, DEM-3000H: 16GB (4GB as internal storage and 12GB as emulated memory card).
+
Running on ARM Cortex.
* DEM-3000L, DEM-3000K, DEM-3000P, PDEL-100x: 0xE3400000 bytes.
 
* PSVita Fat: 0xE1400000 or 0xE3400000 bytes.
 
* PSTV: 0xE3400000 bytes.
 
* PSVita Slim: 0xDE000000 bytes.
 
  
== Partitions ==
+
== memory mapping for Samsung's eMMC ==
  
PSVita eMMC embeds the following [[Partitions|partitions]]:
+
{| class="wikitable"
 +
! Address start !! Address end !! Description
 +
|-
 +
| 0x00000000 || 0x0000FFFF || fw
 +
|-
 +
| 0x00010000 || 0x0001FFFF || all zero
 +
|-
 +
| 0x00020000 || 0x0003FFFF || fw
 +
|-
 +
| 0x00040000 || 0x0004FFFF || unk. looks random data. maybe fw data segment.
 +
|-
 +
| 0x00050000 || 0x0005FFFF || stack/something
 +
|-
 +
| 0x40000000 || 0x40000FFF || some hw
 +
|-
 +
| 0x40001000 || 0x40001FFF || some hw
 +
|-
 +
| 0x40004000 || 0x40004FFF || some hw
 +
|}
 +
 
 +
== eMMC Size ==
 +
 
 +
* DEM-3000G, DEM-3000H: 0x3A3C00000 bytes (16GB: 4GB as internal storage and 12GB as emulated memory card)
 +
* DEM-3000K, DEM-3000JEC chassis K, DEM-3000L, DEM-3000JEC chassis L, CEM-3000NE2: 0xE1400000 bytes (3604 MiB)
 +
* DEM-3000P, DEM-3000JEC chassis P, PDEL-100x: 0xE3400000 bytes (3636 MiB)
 +
* PCH-1xxx, PTEL-1xxx: 0xE1400000 bytes (3604 MiB) or 0xE3400000 bytes (3636 MiB)
 +
* PSTV VTE-xxxx: 0xE3400000 bytes (3636 MiB)
 +
* PCH-2xxx, PTEL-2xxx: 0xDE000000 bytes (3552 MiB)
 +
 
 +
Maximum storage capacity supported by PS Vita is 2,199,023,255,040 bytes i.e. 2TiB (0x200 B * 0xFFFFFFFF sectors = 0x1FFFFFFFE00 B).
 +
 
 +
== eMMC Partitions ==
 +
 
 +
PS Vita eMMC embeds the following [[Partitions|partitions]]:
  
=== Playstation Vita 1XXX models ===
+
=== Playstation Vita 1xxx models ===
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 24: Line 53:
 
| 0x2 || raw || 0xC00000 || 0x400000 || active/inactive slb2 (not used by kernel) || [[SLB2]] [[Boot Sequence|Boot loaders]]
 
| 0x2 || raw || 0xC00000 || 0x400000 || active/inactive slb2 (not used by kernel) || [[SLB2]] [[Boot Sequence|Boot loaders]]
 
|-
 
|-
| 0x3 || fat16 || 0x1000000 || 0x1000000 || active/inactive os0: || Main OS partition: [[Modules#3.60_Kernel_modules|kernel modules]], core usermode modules, SceSafemode, Secure Module SELFs, and on development units SceCuiSetUpper.
+
| 0x3 || fat16 || 0x1000000 || 0x1000000 || active/inactive os0: || Main OS partition: [[Modules#3.60_Kernel_modules|kernel modules]], core usermode modules, SceSafemode, Secure Module SELFs, and on development units [[SceCuiSetUpper]].
 
|-
 
|-
| 0x3 || fat16 || 0x2000000 || 0x1000000 || active/inactive os0: || Main OS partition: [[Modules#3.60_Kernel_modules|kernel modules]], core usermode modules, SceSafemode, Secure Module SELFs, and on development units SceCuiSetUpper.
+
| 0x3 || fat16 || 0x2000000 || 0x1000000 || active/inactive os0: || Main OS partition: [[Modules#3.60_Kernel_modules|kernel modules]], core usermode modules, SceSafemode, Secure Module SELFs, and on development units [[SceCuiSetUpper]].
 
|-
 
|-
 
| 0xC || fat16 || 0x3000000 || 0x6000000 || sa0: || Dictionary and font data
 
| 0xC || fat16 || 0x3000000 || 0x6000000 || sa0: || Dictionary and font data
Line 32: Line 61:
 
| 0x6 || fat16 || 0x9000000 || 0x2000000 || tm0: || Activation data i.e PSM, NPDRM, MARLIN, QA
 
| 0x6 || fat16 || 0x9000000 || 0x2000000 || tm0: || Activation data i.e PSM, NPDRM, MARLIN, QA
 
|-
 
|-
| 0x4 || fat16 || 0xB000000 || 0x10000000 || vs0: || [[Libraries#System Applications|system applications]] & libraries
+
| 0x4 || fat16 || 0xB000000 || 0x10000000 || vs0: || Shell vsh, System app/libraries.
 
|-
 
|-
 
| 0x5 || fat16 || 0x1B000000 || 0x2000000 || vd0: || [[Registry]] and error history
 
| 0x5 || fat16 || 0x1B000000 || 0x2000000 || vd0: || [[Registry]] and error history
Line 43: Line 72:
 
|}
 
|}
  
=== Playstation Vita 2XXX models ===
+
=== Playstation Vita 2xxx models ===
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 54: Line 83:
 
| 0x2 || raw || 0xC00000 || 0x400000 || active/inactive slb2 (not used by kernel) || [[SLB2]] [[Boot Sequence|Boot loaders]]
 
| 0x2 || raw || 0xC00000 || 0x400000 || active/inactive slb2 (not used by kernel) || [[SLB2]] [[Boot Sequence|Boot loaders]]
 
|-
 
|-
| 0x3 || fat16 || 0x1000000 || 0x1000000 || active/inactive os0: || Main OS partition: [[Modules#3.60_Kernel_modules|kernel modules]], core usermode modules, SceSafemode, Secure Module SELFs, and on development units SceCuiSetUpper.
+
| 0x3 || fat16 || 0x1000000 || 0x1000000 || active/inactive os0: || Main OS partition: [[Modules#3.60_Kernel_modules|kernel modules]], core usermode modules, SceSafemode, Secure Module SELFs, and on development units [[SceCuiSetUpper]].
 
|-
 
|-
| 0x3 || fat16 || 0x2000000 || 0x1000000 || active/inactive os0: || Main OS partition: [[Modules#3.60_Kernel_modules|kernel modules]], core usermode modules, SceSafemode, Secure Module SELFs, and on development units SceCuiSetUpper.
+
| 0x3 || fat16 || 0x2000000 || 0x1000000 || active/inactive os0: || Main OS partition: [[Modules#3.60_Kernel_modules|kernel modules]], core usermode modules, SceSafemode, Secure Module SELFs, and on development units [[SceCuiSetUpper]].
 
|-
 
|-
 
| 0xC || fat16 || 0x3000000 || 0x6000000 || sa0: || Dictionary and font data
 
| 0xC || fat16 || 0x3000000 || 0x6000000 || sa0: || Dictionary and font data
Line 62: Line 91:
 
| 0x6 || fat16 || 0x9000000 || 0x2000000 || tm0: || Activation data i.e PSM, NPDRM, MARLIN, QA
 
| 0x6 || fat16 || 0x9000000 || 0x2000000 || tm0: || Activation data i.e PSM, NPDRM, MARLIN, QA
 
|-
 
|-
| 0x4 || fat16 || 0xB000000 || 0x10000000 || vs0: || [[Libraries#System Applications|system applications]] & libraries
+
| 0x4 || fat16 || 0xB000000 || 0x10000000 || vs0: || Shell vsh, System app/libraries.
 
|-
 
|-
 
| 0x5 || fat16 || 0x1B000000 || 0x2000000 || vd0: || [[Registry]] and error history
 
| 0x5 || fat16 || 0x1B000000 || 0x2000000 || vd0: || [[Registry]] and error history
Line 76: Line 105:
  
 
=== Playstation TV models ===
 
=== Playstation TV models ===
 +
 
{| class="wikitable"
 
{| class="wikitable"
 
! Id !! Type !! Start LBA (byte) !! Size (byte) !! Name !! Description
 
! Id !! Type !! Start LBA (byte) !! Size (byte) !! Name !! Description
Line 85: Line 115:
 
| 0x2 || raw || 0xC00000 || 0x400000 || active/inactive slb2 (not used by kernel) || [[SLB2]] [[Boot Sequence|Boot loaders]]
 
| 0x2 || raw || 0xC00000 || 0x400000 || active/inactive slb2 (not used by kernel) || [[SLB2]] [[Boot Sequence|Boot loaders]]
 
|-
 
|-
| 0x3 || fat16 || 0x1000000 || 0x1000000 || active/inactive os0: || Main OS partition: [[Modules#3.60_Kernel_modules|kernel modules]], core usermode modules, SceSafemode, Secure Module SELFs, and on development units SceCuiSetUpper.
+
| 0x3 || fat16 || 0x1000000 || 0x1000000 || active/inactive os0: || Main OS partition: [[Modules#3.60_Kernel_modules|kernel modules]], core usermode modules, SceSafemode, Secure Module SELFs, and on development units [[SceCuiSetUpper]].
 
|-
 
|-
| 0x3 || fat16 || 0x2000000 || 0x1000000 || active/inactive os0: || Main OS partition: [[Modules#3.60_Kernel_modules|kernel modules]], core usermode modules, SceSafemode, Secure Module SELFs, and on development units SceCuiSetUpper.
+
| 0x3 || fat16 || 0x2000000 || 0x1000000 || active/inactive os0: || Main OS partition: [[Modules#3.60_Kernel_modules|kernel modules]], core usermode modules, SceSafemode, Secure Module SELFs, and on development units [[SceCuiSetUpper]].
 
|-
 
|-
 
| 0xC || fat16 || 0x3000000 || 0x6000000 || sa0: || Dictionary and font data
 
| 0xC || fat16 || 0x3000000 || 0x6000000 || sa0: || Dictionary and font data
Line 93: Line 123:
 
| 0x6 || fat16 || 0x9000000 || 0x2000000 || tm0: || Activation data i.e PSM, NPDRM, MARLIN, QA
 
| 0x6 || fat16 || 0x9000000 || 0x2000000 || tm0: || Activation data i.e PSM, NPDRM, MARLIN, QA
 
|-
 
|-
| 0x4 || fat16 || 0xB000000 || 0x10000000 || vs0: || [[Libraries#System Applications|system applications]] & libraries
+
| 0x4 || fat16 || 0xB000000 || 0x10000000 || vs0: || Shell vsh, System app/libraries.
 
|-
 
|-
 
| 0x5 || fat16 || 0x1B000000 || 0x2000000 || vd0: || [[Registry]] and error history
 
| 0x5 || fat16 || 0x1B000000 || 0x2000000 || vd0: || [[Registry]] and error history
Line 105: Line 135:
 
| 0x8 || exfat || 0xA0000000 || 0x43400000 || ux0: || Internal "memory card"
 
| 0x8 || exfat || 0xA0000000 || 0x43400000 || ux0: || Internal "memory card"
 
|}
 
|}
 +
 +
[[Category:Formats]]

Latest revision as of 01:13, 23 February 2024

PS Vita eMMC can be accessed using SceSdif module.

eMMC Controller

Running on ARM Cortex.

memory mapping for Samsung's eMMC

Address start Address end Description
0x00000000 0x0000FFFF fw
0x00010000 0x0001FFFF all zero
0x00020000 0x0003FFFF fw
0x00040000 0x0004FFFF unk. looks random data. maybe fw data segment.
0x00050000 0x0005FFFF stack/something
0x40000000 0x40000FFF some hw
0x40001000 0x40001FFF some hw
0x40004000 0x40004FFF some hw

eMMC Size

  • DEM-3000G, DEM-3000H: 0x3A3C00000 bytes (16GB: 4GB as internal storage and 12GB as emulated memory card)
  • DEM-3000K, DEM-3000JEC chassis K, DEM-3000L, DEM-3000JEC chassis L, CEM-3000NE2: 0xE1400000 bytes (3604 MiB)
  • DEM-3000P, DEM-3000JEC chassis P, PDEL-100x: 0xE3400000 bytes (3636 MiB)
  • PCH-1xxx, PTEL-1xxx: 0xE1400000 bytes (3604 MiB) or 0xE3400000 bytes (3636 MiB)
  • PSTV VTE-xxxx: 0xE3400000 bytes (3636 MiB)
  • PCH-2xxx, PTEL-2xxx: 0xDE000000 bytes (3552 MiB)

Maximum storage capacity supported by PS Vita is 2,199,023,255,040 bytes i.e. 2TiB (0x200 B * 0xFFFFFFFF sectors = 0x1FFFFFFFE00 B).

eMMC Partitions

PS Vita eMMC embeds the following partitions:

Playstation Vita 1xxx models

Id Type Start LBA (byte) Size (byte) Name Description
0x1 raw 0x40000 0x80000 idstor IdStorage
0x2 raw 0x800000 0x400000 active/inactive slb2 (not used by kernel) SLB2 Boot loaders
0x2 raw 0xC00000 0x400000 active/inactive slb2 (not used by kernel) SLB2 Boot loaders
0x3 fat16 0x1000000 0x1000000 active/inactive os0: Main OS partition: kernel modules, core usermode modules, SceSafemode, Secure Module SELFs, and on development units SceCuiSetUpper.
0x3 fat16 0x2000000 0x1000000 active/inactive os0: Main OS partition: kernel modules, core usermode modules, SceSafemode, Secure Module SELFs, and on development units SceCuiSetUpper.
0xC fat16 0x3000000 0x6000000 sa0: Dictionary and font data
0x6 fat16 0x9000000 0x2000000 tm0: Activation data i.e PSM, NPDRM, MARLIN, QA
0x4 fat16 0xB000000 0x10000000 vs0: Shell vsh, System app/libraries.
0x5 fat16 0x1B000000 0x2000000 vd0: Registry and error history
0xB fat16 0x1D000000 0x10000000 ud0: Updater and update packages are copied here.
0xE exfat 0x2D000000 0x13000000 pd0: Welcome Park and welcome video
0x7 exfat 0x40000000 0xA1400000 or 0xA3400000 ur0 User resources, LiveArea cache, database, & other stuff

Playstation Vita 2xxx models

Id Type Start LBA (byte) Size (byte) Name Description
0x1 raw 0x40000 0x80000 idstor IdStorage
0x2 raw 0x800000 0x400000 active/inactive slb2 (not used by kernel) SLB2 Boot loaders
0x2 raw 0xC00000 0x400000 active/inactive slb2 (not used by kernel) SLB2 Boot loaders
0x3 fat16 0x1000000 0x1000000 active/inactive os0: Main OS partition: kernel modules, core usermode modules, SceSafemode, Secure Module SELFs, and on development units SceCuiSetUpper.
0x3 fat16 0x2000000 0x1000000 active/inactive os0: Main OS partition: kernel modules, core usermode modules, SceSafemode, Secure Module SELFs, and on development units SceCuiSetUpper.
0xC fat16 0x3000000 0x6000000 sa0: Dictionary and font data
0x6 fat16 0x9000000 0x2000000 tm0: Activation data i.e PSM, NPDRM, MARLIN, QA
0x4 fat16 0xB000000 0x10000000 vs0: Shell vsh, System app/libraries.
0x5 fat16 0x1B000000 0x2000000 vd0: Registry and error history
0xB fat16 0x1D000000 0x10000000 ud0: Updater and update packages are copied here.
0xE exfat 0x2D000000 0x13000000 pd0: Welcome Park and welcome video
0x7 exfat 0x40000000 0x60000000 ur0: User resources, LiveArea cache, database, & other stuff
0x8 exfat 0xA0000000 0x3E000000 ux0: Internal "memory card"

Playstation TV models

Id Type Start LBA (byte) Size (byte) Name Description
0x1 raw 0x40000 0x80000 idstor IdStorage
0x2 raw 0x800000 0x400000 active/inactive slb2 (not used by kernel) SLB2 Boot loaders
0x2 raw 0xC00000 0x400000 active/inactive slb2 (not used by kernel) SLB2 Boot loaders
0x3 fat16 0x1000000 0x1000000 active/inactive os0: Main OS partition: kernel modules, core usermode modules, SceSafemode, Secure Module SELFs, and on development units SceCuiSetUpper.
0x3 fat16 0x2000000 0x1000000 active/inactive os0: Main OS partition: kernel modules, core usermode modules, SceSafemode, Secure Module SELFs, and on development units SceCuiSetUpper.
0xC fat16 0x3000000 0x6000000 sa0: Dictionary and font data
0x6 fat16 0x9000000 0x2000000 tm0: Activation data i.e PSM, NPDRM, MARLIN, QA
0x4 fat16 0xB000000 0x10000000 vs0: Shell vsh, System app/libraries.
0x5 fat16 0x1B000000 0x2000000 vd0: Registry and error history
0xB fat16 0x1D000000 0x10000000 ud0: Updater and update packages are copied here.
0xE exfat 0x2D000000 0x13000000 pd0: Welcome Park and welcome video
0x7 exfat 0x40000000 0x60000000 ur0: User resources, LiveArea cache, database, & other stuff
0x8 exfat 0xA0000000 0x43400000 ux0: Internal "memory card"