Editing Talk:Harddrive

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 9: Line 9:


note: this seems untrue as there are several people posting pictures of their external to internal drive mod with a size of 2TB</pre>
note: this seems untrue as there are several people posting pictures of their external to internal drive mod with a size of 2TB</pre>
 
==== Personal experience ====
===== Using Normal Mode and Recovery - when trying to install a 1.5TB 3.5" drive as internal (using an eSATA cradle) =====
===== Using Normal Mode and Recovery - when trying to install a 1.5TB 3.5" drive as internal (using an eSATA cradle) =====
* Using Recovery it is possible to finish the format of the harddrive until 100%. The system however fails to reboot automaticly after that and halts. When enforced to reboot, it errors out with "Wrong Harddrive".
* Using Recovery it is possible to finish the format of the harddrive until 100%. The system however fails to reboot automaticly after that and halts. When enforced to reboot, it errors out with "Wrong Harddrive".
Line 15: Line 15:
* When trying to boot to XMB it also errors out with "Harddrive Error 0x8002F281".
* When trying to boot to XMB it also errors out with "Harddrive Error 0x8002F281".
* When replacing the drive for the previous tested 1TB harddrive, it boots without errors to XMB and reports : 827GB free/931GB total
* When replacing the drive for the previous tested 1TB harddrive, it boots without errors to XMB and reports : 827GB free/931GB total
;Conclusion: <span style="color:red!important;">&gt;1TB didn't work.</span>
;Conclusion: <span style="color:red; background-color:white;">&gt;1TB didn't not work.</span>


===== Using Factory Service Mode - when trying to install a 1.5TB 3.5" drive as internal (using an eSATA cradle) FSM =====
===== Using Factory Service Mode - when trying to install a 1.5TB 3.5" drive as internal (using an eSATA cradle) FSM =====
Line 35: Line 35:
** Preparing Update counts to 100% and then halts (does not reboot), just like in first trial.
** Preparing Update counts to 100% and then halts (does not reboot), just like in first trial.
* Manual poweroff and reboot just results in blank screen with no harddrive activity
* Manual poweroff and reboot just results in blank screen with no harddrive activity
;Conclusion: <span style="color:red!important;">&gt;1TB didn't work in normal or recovery mode only with FSM enabled.</span>
;Conclusion: <span style="color:red; background-color:white;">&gt;1TB didn't not work in normal or recovery mode only with FSM enabled.</span>
===== Going back to the 1TB and crosschecking =====  
===== Going back to the 1TB and crosschecking =====  
* Replacing drive back to the working 1TB (has 3.55 on it) gives prompt to reinstall 2.70, doing so errors out with "Harddrive Error 0x8002F281".
* Replacing drive back to the working 1TB (has 3.55 on it) gives prompt to reinstall 2.70, doing so errors out with "Harddrive Error 0x8002F281".
Line 51: Line 51:
  MAX Address      xx:xx:xx:xx:xx:xx
  MAX Address      xx:xx:xx:xx:xx:xx
  Free Space      827GB / 931GB
  Free Space      827GB / 931GB
;Conclusion: <span style="color:green;">&lt;=1TB works fine in all modi.</span>
;Conclusion: <span style="color:green; background-color:white;">&lt;=1TB works fine in all modi.</span>


=== maximum size external drive ===
=== maximum size external drive ===
Maximum size is 2TB.
PS3 can only read drives using MBR (Master Boot Record) partition table.
MBR maximum drive size is 2TB (with up to 4 partitions).
PS3 cannot read drives using GPT (GUID Partition Table).
GPT has maximum drive size around 256TB, although in practice it may get tricky beyond 15 TB.
<pre>External HDD : You can format it to any size up to 8TB
<pre>External HDD : You can format it to any size up to 8TB


Line 75: Line 66:
----
----


== Tests increasing the max HDD capacity supported by the firmware ==
== AES-256-CBC versus AES-256-XTS ==
Successful 2Tb installation confirmed personally. (warning: "restore filesystem" a.k.a. "filesystem check" was not tested. Without this function the hdd will cummulate filesystem errors up to a point where the PS3 will welcome you with a warning message telling "the hdd needs to be formatted" and you will lose all the contents of it)
*HDD was Toshiba MQ01ABB200 and PS3 was CECHK04
*Flashing to 4.46 OFW and reducing 2Tb hard drive to 3633537126 sectors via "hiding" rest via HPA on PC (formatted first to FAT format on MAC a whole device and GPT instead MBR) with HDAT2 so PS3 sees its as 1732.6GB Hard Drive and did succeed formatting.
*After 4.46 you can upgrade to latest 4.82 Firmware back and continue using it. 4.82 firmware says after HPA sector hiding that it is "unsupported" but 4.46 doesn't and can format it.
 
Pictures of some of this of my personal confession and proof:
[https://twitter.com/XantheFIN/status/1022873742538682368]
Original info i used to confirm:
[http://www.psx-place.com/threads/ps3-1-75-tb-internal-hdd-upgrade-formatting-utility.11989/#post-100471]
 
Note from another tester :
While the above seems to work, using 4.46 to allow 1.75tb leads to errors after saving a few games : the console stalls, then takes forever to recover (if it recovers). I tried reducing to 1.5Tb, and none of the errors show up.
What's misleading is that 1.5Tb is in fact recognized by 4.82+, even with HPA.
I think the safe way to get the max capacity is to use HPA, but stick to something between 1.5Tb and 1.75Tb and make sure it's recognized by 4.82+. It means downgrading to 4.46 is not necessary (and mostly misleading).


== AES-256-CBC versus AES-256-XTS ==
There is conflicting mention of sources for the algo/mode used for GameOS encryption.
There is conflicting mention of sources for the algo/mode used for GameOS encryption.


Line 104: Line 80:
*[http://en.wikipedia.org/wiki/Disk_encryption_theory#XTS XTS - XEX-based Tweaked CodeBook mode]
*[http://en.wikipedia.org/wiki/Disk_encryption_theory#XTS XTS - XEX-based Tweaked CodeBook mode]


== PS3 HDD reader for windows by 3141card ==
----
May 2018, added PS3 FAT NOR support: http://www.psx-place.com/threads/restoring-my-corrupted-hdd.17932/page-2#post-125398
----
----
==Experimental Tables==


Fat(NAND), 1. layer(ata)    -> aes-cbc-192, ata_key1 IV = 0
===HDD partitions===
            2. layer(vflash) no vflash
       
Fat(NOR),  1. layer(ata)    -> aes-cbc-192, ata_key1 IV = 0
            2. layer(vflash) -> aes-xts-128, encdec_key1 and encdec_key2, tweak = physical sector number on hdd
       
Slim(NOR), 1. layer(ata)    -> aes-xts-128, ata_key1 and ata_key2
            2. layer(vflash) -> aes-xts-128, encdec_key1 and encdec_key2, tweak = physical sector number on hdd


==Experimental Tables==
<small>
*Padding Notes:
**The thin horizontal grey lines without text are areas betwen regions with a size of 0 bytes (doesnt exists), are used in the table as a note to remember there is no padding out of the regions in this position
**7th region of vflash (ps3vflashg) ends at sector 0x77E00. vflash is 0x80000 sectors size, so the "not used area" after ps3vflashg has a size of: 0x80000 - 0x77E00 = 0x8200 sectors = 17039360 bytes (16,25 MB)
**The padding between regions defined in "HDD Partition Table" seems to be 0x8 sectors size (see [http://www.psdevwiki.com/ps3/Hypervisor_Reverse_Engineering#HDD_device graf notes]) but the padding can be different when using unnofficial rebuild methods ([http://gitorious.ps3dev.net/ps3otheros/scripts/blobs/master/create_hdd_region.sh create_hdd_region.sh] adds a padding of 0x8 before and another  0x8 after the new region, concatenating new regions with this script generates double padding). Or when modifying the "HDD Partition Table" manually is posible to remove all padding then let the system generate the new region by himself
**vflash displacement
***NAND: ps3db region starts at sector 0x20 ? (displaced 0x8 sectors by "HDD partition table" + 0x10 ??? + 0x8 ???)
***NOR: ps3db region starts at sector 0x80018 (displaced 0x8 sectors by "HDD partition table" + 0x80000 by vflash + 0x10 ???)


===HDD partitions===
*Encryption Notes: ?????
**Encryption is made "by sector" (data is accessed in chunks of 512 bytes and encrypted/decrypted individually), applyed "at write time" (only used sectors are encrypted), and "by device" (real and virtual devices). In the practise this means for PS3 NAND models all the HDD sectors are under 1 single encryption layer, but for PS3 NOR models (with a "virtual flash device" embedded inside "real hdd device") there is a "top" encryption layer over the whole HDD, and a "bottom" encryption layer over VFLASH (or in other words... in NOR models the sectors inside VFLASH are encrypted 2 times)
**HDD encryption layer (top), based in the '''ata-data-key''':
***FAT-NAND (no vflash): AES-CBC-192 (ata-data-key and zeroed IV)
***FAT-NOR (with vflash): AES-CBC-192 (ata-data-key and zeroed IV) ?
***SLIM-NOR (with vflash): XTS-AES-128 (ata-data-key and ata-tweak-key)
**VFLASH encryption layer (bottom), based in the '''encdec-key''':
***FAT-NOR (with vflash): AES-CBC-128 (encdec-key and zeroed IV)
***SLIM-NOR (with vflash): XTS-AES-128 (encdec-key and ata-tweak-key ?)
</small>


{| class="wikitable" style="font-size:xx-small;"
{| class="wikitable" style="font-size:x-small;"
|+PS3 Hard Disk Drive, partitions and storage regions
|+PS3 Hard Disk Drive, partitions and storage regions
! colspan=6 | Storage Region !! colspan=3 | Access Control List !! colspan=4 | File System !! colspan=5 | Size !! colspan=2 | Usage
! colspan=8 | Storage Region !! colspan=3 | File System !! colspan=5 | Size !! colspan=2 | Usage
|-
|-
! rowspan=3 colspan=5 | OtherOS !! rowspan=3 | GameOS !! colspan=2 | [[Secure Profile Loader | Secure Profile]] !! rowspan=3 | Unk !! colspan=3 | Encryption !! rowspan=3 | Type !! colspan=4 | Official !! rowspan=3 | Unnofficial<BR /><BR /><BR /><BR /> !! rowspan=3 | Official<BR /><BR /><BR /><BR /> !! rowspan=3 | Unnofficial<BR /><BR /><BR /><BR />
! rowspan=3 colspan=5 | OtherOS !! rowspan=3 | GameOS !! colspan=2 | Access Control List !! colspan=2 | Official !! Unnofficial !! colspan=4 | Official !! rowspan=3 | Unnofficial<BR /><BR /><BR /><BR /> !! rowspan=3 | Official<BR /><BR /><BR /><BR /> !! rowspan=3 | Unnofficial<BR /><BR /><BR /><BR />
|-
|-
! rowspan=2 | Name !! rowspan=2 | [[Authority ID|auth_id]] || colspan=2 | FAT !! SLIM !! colspan=2 | Decimal || colspan=2 | Hexadecimal
! rowspan=2 | [[Authentication_IDs | ACL's]] || rowspan=2 | unk? || rowspan=2 | Encryption !! rowspan=2 | Type !! rowspan=2 | Type !! colspan=2 | Decimal || colspan=2 | Hexadecimal
|-
|-
! NAND !! NOR !! NOR !! Bytes !! Sectors !! Bytes !! Sectors
! Bytes !! Sectors !! Bytes !! Sectors
|-
|-
! rowspan=21 | ps3d<BR />(3)
! rowspan=27 | ps3d<BR />(3)
|- {{cellcolors|#9999ff}}
|- {{cellcolors|#8888ff}}
| rowspan=20 | ps3da<BR />(3.0) || colspan=4 | || colspan=3 | || colspan=4 | || style="text-align:right;" | <abbr title="4.096 bytes">4 KB</abbr> || style="text-align:right;" | 8 || style="text-align:right;" | 0x1000 || style="text-align:right;" | 0x8 || Same || colspan=2 | [[Resizing_VFLASH_Storage_Device#Example_Of_An_Unmodified_HDD_Partition_Table | HDD Partition Table]] (Physical HDD Device)
| rowspan=26 | ps3da<BR />(3.0) || colspan=3 | || {{No}} ? || colspan=2 | || colspan=3 {{No}} || colspan=5 style="text-align:center;" | Any || colspan=2 | Physical HDD Device. Physical Partition
|- {{cellcolors|grey|white}}
| colspan=9 | || style="text-align:right;" | 4 KB (4.096) || style="text-align:right;" | 8 || style="text-align:right;" | 0x1000 || style="text-align:right;" | 0x8 || Same || colspan=2 | [[Resizing_VFLASH_Storage_Device#Example_Of_An_Unmodified_HDD_Partition_Table | HDD Partition Table]]
|-
|-
| rowspan=12 {{cellcolors|#ddddff}} ps3vflash<BR />(3.1) || colspan=2 {{cellcolors|#ddddff}} || {{cellcolors|#ddddff}} ? || SCE_CELLOS_PME<BR />PS3_LPAR || 1070000001000001<BR />1070000002000001 || 0B<BR />03 || ↑:No<BR />↓:No || ↑:AES-CBC-192 (ata_key1, IV=0)<BR />↓:AES-XTS-128 (encdec_key1, encdec_key2) || ↑:AES-XTS-128 (ata_key1, ata_key2)<BR />↓:AES-XTS-128 (encdec_key1, encdec_key2) || Raw access || style="text-align:right;" | <abbr title="268.435.456 bytes">256 MB</abbr> || style="text-align:right;" | 524.288 || style="text-align:right;" | 0x10000000 || style="text-align:right;" | 0x80000 || Any || colspan=2 | First region of HDD, contains VFLASH. (only NOR)
! rowspan=16 | ps3vflash<BR />(3.1)
|- {{cellcolors|#9999ff}}
|- {{cellcolors|#ff8833}}
| rowspan=11 | ps3vflasha<BR />(3.1(1.0)) || colspan=2 | || colspan=3 | || colspan=4 | || style="text-align:right;" | <abbr title="4.096 bytes">4 KB</abbr> || style="text-align:right;" | 8 || style="text-align:right;" | 0x1000 || style="text-align:right;" | 0x8 || Same || colspan=2 | [[Dev_Tools#flash_dumper | VFLASH Partition Table]] (Virtual FLASH Device, only NOR)
| rowspan=15 | ps3vflasha<BR />(3.1(1.0)) || || {{No}} ? || 1070000001000001<BR />1070000002000001 || 0B<BR />03 || colspan=3 {{No}} || style="text-align:right;" | 256 MB (268.435.456) || style="text-align:right;" | 524.288 || style="text-align:right;" | 0x10000000 || style="text-align:right;" | 0x80000 || Any || colspan=2 | Virtual VFLASH Device. Physical Partition (only NOR)
|- {{cellcolors|grey|white}}
| colspan=7 | || style="text-align:right;" | 4 KB (4.096) || style="text-align:right;" | 8 || style="text-align:right;" | 0x1000 || style="text-align:right;" | 0x8 || Same || colspan=2 | [[Dev_Tools#flash_dumper | VFLASH Partition Table]]
|-
|-
| {{cellcolors|#ddddff}} ps3vflashb<BR />(3.1(1.1)) || {{cellcolors|#ddddff}} ? || SCE_CELLOS_PME || 1070000001000001 || 03 || ↑:No<BR />↓:No || ↑:AES-CBC-192 (ata_key1, IV=0)<BR />↓:AES-XTS-128 (encdec_key1, encdec_key2) || ↑:AES-XTS-128 (ata_key1, ata_key2)<BR />↓:AES-XTS-128 (encdec_key1, encdec_key2) || Raw access ? || style="text-align:right;" | <abbr title="15.462.400 bytes">14,75 MB</abbr> || style="text-align:right;" | 30.200 || style="text-align:right;" | 0xEBF000 || style="text-align:right;" | 0x75F8 || Same || colspan=2 | "mirror" of real NOR second region: "ps3nflashb" ?
| {{cellcolors|#ffaa55}} ps3vflashb<BR />(3.1(1.1)) || ? || 1070000001000001 || 03 || ? || colspan=2 | Raw access ? || style="text-align:right;" | 14,75 MB (15.462.400) || style="text-align:right;" | 30.200 || style="text-align:right;" | 0xEBF000 || style="text-align:right;" | 0x75F8 || Same || colspan=2 | "mirror" of real NOR second region: "ps3nflashb" ?
|- {{cellcolors|lightgrey}}
|- {{cellcolors|lightgrey}}
| colspan=2 | || colspan=3 | || colspan=4 | || style="text-align:right;" | <abbr title="262.144 bytes">256 KB</abbr> || style="text-align:right;" | 512 || style="text-align:right;" | 0x40000 || style="text-align:right;" | 0x200 || Same || colspan=2 | ?
| colspan=7 | || style="text-align:right;" | 256 KB (262.144) || style="text-align:right;" | 512 || style="text-align:right;" | 0x40000 || style="text-align:right;" | 0x200 || Same || colspan=2 | ?
|-
|-
| {{cellcolors|#ddddff}} ps3vflashc<BR />(3.1(1.2)) || {{cellcolors|#ddddff}} CELL_FS_IOS:BUILTIN_FLSH1<BR />dev_flash || PS3_LPAR<BR />SCE_CELLOS_PME<BR />PS2_*LPAR || 1070000002000001<BR />1070000001000001<BR />1020000003000001 || 03<BR />03<BR />01 || ↑:No<BR />↓:No || ↑:AES-CBC-192 (ata_key1, IV=0)<BR />↓:AES-XTS-128 (encdec_key1, encdec_key2) || ↑:AES-XTS-128 (ata_key1, ata_key2)<BR />↓:AES-XTS-128 (encdec_key1, encdec_key2) || FAT16 || style="text-align:right;" | <abbr title="209.453.056 bytes">199,75 MB</abbr> || style="text-align:right;" | 409.088 || style="text-align:right;" | 0xC7C0000 || style="text-align:right;" | 0x63E00 || Same || colspan=2 | Firmware files
| {{cellcolors|#ffaa55}} ps3vflashc<BR />(3.1(1.2)) || dev_flash || 1070000002000001<BR />1070000001000001<BR />1020000003000001 || 03<BR />03<BR />01 || Yes || colspan=2 | FAT16 || style="text-align:right;" | 199,75 MB (209.453.056) || style="text-align:right;" | 409.088 || style="text-align:right;" | 0xC7C0000 || style="text-align:right;" | 0x63E00 || Same || colspan=2 | Firmware files
|- {{cellcolors|lightgrey}}
| colspan=14 |
|-
|-
| {{cellcolors|#ddddff}} ps3vflashd<BR />(3.1(1.3)) || {{cellcolors|#ddddff}} CELL_FS_IOS:BUILTIN_FLSH2<BR />dev_flash2 || PS3_LPAR<BR />SCE_CELLOS_PME || 1070000002000001<BR />1070000001000001 || 03<BR />03 || ↑:No<BR />↓:No || ↑:AES-CBC-192 (ata_key1, IV=0)<BR />↓:AES-XTS-128 (encdec_key1, encdec_key2) || ↑:AES-XTS-128 (ata_key1, ata_key2)<BR />↓:AES-XTS-128 (encdec_key1, encdec_key2) || FAT16 || style="text-align:right;" | <abbr title="16.777.216 bytes">16 MB</abbr> || style="text-align:right;" | 32.768 || style="text-align:right;" | 0x1000000 || style="text-align:right;" | 0x8000 || Same || colspan=2 | XRegistry (Console/User settings)
| {{cellcolors|#ffaa55}} ps3vflashd<BR />(3.1(1.3)) || dev_flash2 || 1070000002000001<BR />1070000001000001 || 03<BR />03 || ? || colspan=2 | FAT16 || style="text-align:right;" | 16 MB (16.777.216) || style="text-align:right;" | 32.768 || style="text-align:right;" | 0x1000000 || style="text-align:right;" | 0x8000 || Same || colspan=2 | XRegistry (Console/User settings)
|- {{cellcolors|lightgrey}}
| colspan=14 |
|-
|-
| {{cellcolors|#ddddff}} ps3vflashe<BR />(3.1(1.4)) || {{cellcolors|#ddddff}} CELL_FS_IOS:BUILTIN_FLSH3<BR />dev_flash3 || PS3_LPAR<BR />SCE_CELLOS_PME || 1070000002000001<BR />1070000001000001 || 03<BR />03 || ↑:No<BR />↓:No || ↑:AES-CBC-192 (ata_key1, IV=0)<BR />↓:AES-XTS-128 (encdec_key1, encdec_key2) || ↑:AES-XTS-128 (ata_key1, ata_key2)<BR />↓:AES-XTS-128 (encdec_key1, encdec_key2) || FAT12 || style="text-align:right;" | <abbr title="524.288 bytes">512 KB</abbr> || style="text-align:right;" | 1.024 || style="text-align:right;" | 0x80000 || style="text-align:right;" | 0x400 || Same || colspan=2 | CRL/DRL (Bluray revocation lists)
| {{cellcolors|#ffaa55}} ps3vflashe<BR />(3.1(1.4)) || dev_flash3 || 1070000002000001<BR />1070000001000001 || 03<BR />03 || ? || colspan=2 | FAT12 || style="text-align:right;" | 512 KB (524.288) || style="text-align:right;" | 1.024 || style="text-align:right;" | 0x80000 || style="text-align:right;" | 0x400 || Same || colspan=2 | CRL/DRL (Bluray revocation lists)
|- {{cellcolors|lightgrey}}
| colspan=14 |
|-
|-
| {{cellcolors|#ddddff}} ps3vflashf<BR />(3.1(1.5)) || {{cellcolors|#ddddff}} CELL_FS_IOS:BUILTIN_FLSH4<BR />dev_flash4 ? || PS3_LPAR<BR />SCE_CELLOS_PME<BR />LINUX_LPAR ||1070000002000001<BR />1070000001000001<BR />1080000004000001 || 03<BR />03<BR />03 || ↑:No<BR />↓:No || ↑:AES-CBC-192 (ata_key1, IV=0)<BR />↓:AES-XTS-128 (encdec_key1, encdec_key2) || ↑:AES-XTS-128 (ata_key1, ata_key2)<BR />↓:AES-XTS-128 (encdec_key1, encdec_key2) || Raw access || style="text-align:right;" | <abbr title="4.194.304 bytes">4 MB</abbr> || style="text-align:right;" | 8.192 || style="text-align:right;" | 0x400000 || style="text-align:right;" | 0x2000 || Any || cell_ext_os_area +<BR />OtherOS bootloader<BR /><small>(compressed: otheros.bld)</small> || cell_ext_os_area +<BR />OtherOS++ bootloader<BR /><small>(uncompressed: dtbImage.ps3.bin)</small>
| {{cellcolors|#ffaa55}} ps3vflashf<BR />(3.1(1.5)) || ? || 1070000002000001<BR />1070000001000001<BR />1080000004000001 || 03<BR />03<BR />03 || No ? || colspan=2 | Raw access || style="text-align:right;" | 4 MB (4.194.304) || style="text-align:right;" | 8.192 || style="text-align:right;" | 0x400000 || style="text-align:right;" | 0x2000 || Any || cell_ext_os_area +<BR />OtherOS bootloader<BR /><small>(compressed: otheros.bld)</small> || cell_ext_os_area +<BR />OtherOS++ bootloader<BR /><small>(uncompressed: dtbImage.ps3.bin)</small>
|- {{cellcolors|lightgrey}}
|- {{cellcolors|lightgrey}}
| colspan=2 | || colspan=3 | || colspan=4 | || style="text-align:right;" | <abbr title="4.456.448 bytes">4,25 MB</abbr> || style="text-align:right;" | 8.704 || style="text-align:right;" | 0x440000 || style="text-align:right;" | 0x2200 || Same || colspan=2 | ?
| colspan=7 | || style="text-align:right;" | 4,25 MB (4.456.448) || style="text-align:right;" | 8.704 || style="text-align:right;" | 0x440000 || style="text-align:right;" | 0x2200 || Same || colspan=2 | ?
|-
|-
| {{cellcolors|#ddddff}} ps3vflashg<BR />(3.1(1.6)) || {{cellcolors|#ddddff}} ? || SCE_CELLOS_PME || 1070000001000001 || 03 || ↑:No<BR />↓:No || ↑:AES-CBC-192 (ata_key1, IV=0)<BR />↓:AES-XTS-128 (encdec_key1, encdec_key2) || ↑:AES-XTS-128 (ata_key1, ata_key2)<BR />↓:AES-XTS-128 (encdec_key1, encdec_key2) || Raw access ? || style="text-align:right;" | <abbr title="262.144 bytes">256 KB</abbr> || style="text-align:right;" | 512 || style="text-align:right;" | 0x40000 || style="text-align:right;" | 0x200 || Same || colspan=2 | ?
| {{cellcolors|#ffaa55}} ps3vflashg<BR />(3.1(1.6)) || ? || 1070000001000001 || 03 || ? || colspan=2 | Raw access ? || style="text-align:right;" | 256 KB (262.144) || style="text-align:right;" | 512 || style="text-align:right;" | 0x40000 || style="text-align:right;" | 0x200 || Same || colspan=2 | ?
|- {{cellcolors|lightgrey}}
|- {{cellcolors|lightgrey}}
| colspan=2 | || colspan=3 | || colspan=4 | || rowspan=2 style="text-align:right;" | <abbr title="17.039.360 bytes">16,25 MB</abbr> || style="text-align:right;" rowspan=2 | 33.280 || style="text-align:right;" rowspan=2 | 0x1040000 || style="text-align:right;" rowspan=2 | 0x8200 || No ? || colspan=2 | Padding  
| colspan=7 | || rowspan=2 style="text-align:right;" | 16,25 MB (17.039.360) || style="text-align:right;" rowspan=2 | 33.280 || style="text-align:right;" rowspan=2 | 0x1040000 || style="text-align:right;" rowspan=2 | 0x8200 || No ? || colspan=2 | Padding  
|-
|-
| {{cellcolors|#ddddff}} ps3vflashh<BR />(3.1(1.7)) || {{cellcolors|#ddddff}} ? || No || No || No || ↑:No<BR />↓:No || ↑:AES-CBC-192 (ata_key1, IV=0)<BR />↓:AES-XTS-128 (encdec_key1, encdec_key2) || ↑:AES-XTS-128 (ata_key1, ata_key2)<BR />↓:AES-XTS-128 (encdec_key1, encdec_key2) || <small>All supported<BR />by linux</small> || Any || Not used || <small>Linux/FreeBSD for NOR PS3's<BR />Based on graf drivers (deprecated)</small>
| {{cellcolors|#ffaa55}} ps3vflashh<BR />(3.1(1.7)) || ? || ???????????????? || ?? || No || Not<BR />used || <small>All supported<BR />by linux kernel</small> || Any || Not used || <small>Linux/FreeBSD for NOR PS3's<BR />Based on graf drivers (deprecated)</small>
|- {{cellcolors|lightgrey}}
|- {{cellcolors|lightgrey}}
| colspan=4 | || colspan=3 | || colspan=4 | || style="text-align:right;" | <abbr title="8.192 bytes">8 KB</abbr> || style="text-align:right;" | 16 || style="text-align:right;" | 0x2000 || style="text-align:right;" | 0x10 || Same ? || colspan=2 | Padding ?
| colspan=10 | || style="text-align:right;" | 8 KB (8.192) || style="text-align:right;" | 16 || style="text-align:right;" | 0x2000 || style="text-align:right;" | 0x10 || Same ? || colspan=2 | Double Padding ?
|- {{cellcolors|lightgrey}}
| colspan=10 | || style="text-align:right;" | 4 KB (4.096) || style="text-align:right;" | 8 || style="text-align:right;" | 0x1000 || style="text-align:right;" | 0x8 || Same ? || colspan=2 | Only NAND: Padding ?
|-
|-
| colspan=3 {{cellcolors|#ddddff}} ps3db<BR />(3.2) || {{cellcolors|#ddddff}} CELL_FS_UTILITY:HDD0<BR />dev_hdd0 || SCE_CELLOS_PME<BR />PS3_LPAR<BR />PS2_*LPAR || 1070000001000001<BR />1070000002000001<BR />1020000003000001 || 03<BR />03<BR />03 || colspan=2 | AES-CBC-192 (ata_key1, IV=0) || AES-XTS-128 (ata_key1, ata_key2) || UFS2 || colspan=5 style="text-align:center;" | Any || colspan=2 | GameOS
| colspan=3 {{cellcolors|#aaaaff}} ps3db<BR />(3.2) || dev_hdd0 || 1070000001000001<BR />1070000002000001<BR />1020000003000001 || 03<BR />03<BR />03 || <small>NAND:aes-cbc-192<BR />NOR:aes-xts-128</small> || colspan=2 | UFS2 || colspan=5 style="text-align:center;" | Any || colspan=2 | GameOS
|- {{cellcolors|lightgrey}}
|- {{cellcolors|lightgrey}}
| colspan=4 | || colspan=3 | || colspan=4 | || style="text-align:right;" | <abbr title="4.096 bytes">4 KB</abbr> || style="text-align:right;" | 8 || style="text-align:right;" | 0x1000 || style="text-align:right;" | 0x8 || Same ? || colspan=2 | Padding
| colspan=10 | || style="text-align:right;" | 4 KB (4.096)) || style="text-align:right;" | 8 || style="text-align:right;" | 0x1000 || style="text-align:right;" | 0x8 || Same ? || colspan=2 | Padding
|-
|-
| colspan=3 {{cellcolors|#ddddff}} ps3dc<BR />(3.3) || {{cellcolors|#ddddff}} CELL_FS_UTILITY:HDD1<BR />dev_hdd1 || SCE_CELLOS_PME<BR />PS3_LPAR || 1070000001000001<BR />1070000002000001 || 03<BR />03 || colspan=2 | AES-CBC-192 (ata_key1, IV=0) || AES-XTS-128 (ata_key1, ata_key2) || FAT16 || style="text-align:right;" | <abbr title="2.147.479.552 bytes">2 GB</abbr> || style="text-align:right;" | 4.194.296 || style="text-align:right;" | 0x7FFFF000 || style="text-align:right;" | 0x3FFFF8 || Same || colspan=2 | GameOS Cache
| colspan=3 {{cellcolors|#aaaaff}} ps3dc<BR />(3.3) || dev_hdd1 || 1070000001000001<BR />1070000002000001 || 03<BR />03 || ? || colspan=2 | FAT16 || style="text-align:right;" | 2 GB (2.147.479.552) || style="text-align:right;" | 4.194.296 || style="text-align:right;" | 0x7FFFF000 || style="text-align:right;" | 0x3FFFF8 || Same || colspan=2 | GameOS Cache
|- {{cellcolors|lightgrey}}
|- {{cellcolors|lightgrey}}
| colspan=4 | || colspan=3 | || colspan=4 | || style="text-align:right;" | <abbr title="4.096 bytes">4 KB</abbr> || style="text-align:right;" | 8 || style="text-align:right;" | 0x1000 || style="text-align:right;" | 0x8 || Same ? || colspan=2 | Padding
| colspan=10 | || style="text-align:right;" | 4 KB (4.096) || style="text-align:right;" | 8 || style="text-align:right;" | 0x1000 || style="text-align:right;" | 0x8 || Same ? || colspan=2 | Padding
|-
|-
| colspan=3 {{cellcolors|#ddddff}} ps3dd<BR />(3.4) || {{cellcolors|#ddddff}} CELL_FS_UTILITY:HDD2<BR />dev_hdd2 ? || PS3_LPAR<BR />SCE_CELLOS_PME<BR />LINUX_LPAR || 1070000002000001<BR />1070000001000001<BR />1080000004000001 || 03<BR />03<BR />03 || colspan=2 | AES-CBC-192 (ata_key1, IV=0) || AES-XTS-128 (ata_key1, ata_key2) || <small>All supported<BR />by linux</small> || colspan=4 style="text-align:center;" | 10GB <small>(0x13FFFF8 sectors)</small><BR />All available - 10GB <small>(All - 0x13FFFF8 sectors)</small> || Any || OtherOS<BR /><small>(disabled in firmware 3.21)</small> || <small>Linux/FreeBSD for NAND/NOR PS3's<BR />Based on glevand drivers</small>
| colspan=3 {{cellcolors|#aaaaff}} ps3dd<BR />(3.4) || dev_hdd2 ? || ???????????????? || ?? || No || colspan=2 | <small>All supported<BR />by linux kernel</small> || colspan=4 style="text-align:center;" | 10GB <small>(0x13FFFF8 sectors)</small><BR />All available except 10GB <small>(All - 0x13FFFF8 sectors)</small> || Any || OtherOS<BR /><small>(disabled in firmware 3.21)</small> || <small>Linux/FreeBSD for NAND/NOR PS3's<BR />Based on glevand drivers</small>
|- {{cellcolors|lightgrey}}
|- {{cellcolors|lightgrey}}
| colspan=4 | || colspan=3 | || colspan=4 | || style="text-align:right;" | <abbr title="4.096 bytes">4 KB</abbr> || style="text-align:right;" | 8 || style="text-align:right;" | 0x1000 || style="text-align:right;" | 0x8 || Same ? || colspan=2 | Padding
| colspan=10 | || style="text-align:right;" | 4 KB (4.096) || style="text-align:right;" | 8 || style="text-align:right;" | 0x1000 || style="text-align:right;" | 0x8 || Same ? || colspan=2 | Padding
|-
|-
|}
|}


===HDD partitions table info ===
*This table (pretends to) show all the posible partition layouts in all PS3 models, even when there are 2 big differences that changes partition positions (and consequently region names in Otheros/linux)
*This table (pretends to) show all the posible partition layouts in all PS3 models, even when there are 2 big differences that changes partition positions (and consequently region names in Otheros/linux)
**Flash type
**Flash type
Line 190: Line 188:
*Physical partitions contains one or more logicall partitions
*Physical partitions contains one or more logicall partitions


*Padding Notes:
**7th region of vflash (ps3vflashg) ends at sector 0x77E00. vflash is 0x80000 sectors size, so the "not used area" after ps3vflashg has a size of: 0x80000 - 0x77E00 = 0x8200 sectors = 17039360 bytes (16,25 MB)
**The official padding between HDD regions defined in "HDD Partition Table" seems to be 0x8 sectors size (see [http://www.psdevwiki.com/ps3/Hypervisor_Reverse_Engineering#HDD_device graf notes] and the example below) but the padding can be different when using unnofficial rebuild methods ([http://gitorious.ps3dev.net/ps3otheros/scripts/blobs/master/create_hdd_region.sh create_hdd_region.sh] adds a padding of 0x8 sectors before and another 0x8 sectors after the new region, concatenating new regions with this script generates double padding). Or when modifying the "HDD Partition Table" manually is posible to remove all padding then let the system generate the new region by himself
**VFLASH displacement
***NAND: ps3db region starts at sector 0x18 (displaced 0x8 sectors by "HDD partition table" + 0x10 by ?)
***NOR: ps3db region starts at sector 0x80018 (displaced 0x8 sectors by "HDD partition table" + 0x80000 by VFLASH + 0x10 by ?)
*Sector backup/restore tips
**There are some specific sectors that contains criticall data or are prone to be lost, sectors can be regenerated by having the related keys, or can be overwritted from another hdd formatted in the same PS3 (all hdds formatted by the same PS3 shares the same encryption with the same keys)
**Some users lost the "HDD partition table" when connecting the HDD to a windows PC, because windows will try to "initialize" the HDD, and this initialization implyes to write an MBR of size 1 sector (so if the user accepts the initialization the first sector of the HDD will be lost). This can be solved by connecting another hdd to PS3 and allow PS3 to format it (this regenerates the HDD partition table), then is posible to connect the HDD to PC and "backup" the first sector with a hexeditor (like HxD)... this sector can be used to repair the other HDD. This process doesnt needs any key, is just a copy-paste of sectors from 2 HDD's
**When the "boot otheros" flag is used under GameOS, but the petitboot partition is damaged, or petitboot is not present, corrupted, etc... (or when failing at updating petitboot) the console enters is a loop/brick where the bootchain tryes to boot from petitboot, but the system is not able to find it. To fix this problem is needed to "regenerate" the contents of the petitboot region in PC as explained here: [[Mounting_HDD_on_PC#Making_Changes_to_cell_ext_os_area_VFLASH_Region | how to fix a corrupted petitboot region in PC]]. This process needs the keys
**Alternativelly, is posible to make backups of this criticall sectors in PC just in case some day are needed. Having the backuped sectors the fix consists simply in a copy-paste of them, no keys needed
*Encryption Notes: ?????
**Encryption is made "by sector" (data is accessed in chunks of 512 bytes and encrypted/decrypted individually), applyed "at write time" (only used sectors are encrypted), and "by device" (real and virtual devices). In the practise this means for PS3 NAND models all the HDD sectors are under 1 single encryption layer, but for PS3 NOR models (with a "virtual flash device" embedded inside "real hdd device") there is a "top" encryption layer over the whole HDD, and a "bottom" encryption layer over VFLASH (or in other words... in NOR models the sectors inside VFLASH are encrypted 2 times)
**HDD encryption layer (top), based in the '''ata-data-key''':
***FAT-NAND (no vflash): AES-CBC-192 (ata-data-key and zeroed IV)
***FAT-NOR (with vflash): AES-CBC-192 (ata-data-key and zeroed IV) ?
***SLIM-NOR (with vflash): XTS-AES-128 (ata-data-key and ata-tweak-key)
**VFLASH encryption layer (bottom), based in the '''encdec-key''':
***FAT-NOR (with vflash): AES-CBC-128 (encdec-key and zeroed IV)
***SLIM-NOR (with vflash): XTS-AES-128 (encdec-data-key and encdec-tweak-key)
----
*HDD Partition Table example from a PS3 DECHA00A (NAND flash) with official OtherOS installed under firmware 2.80 ---> http://www.mediafire.com/download/ou90bz0h0mw8tco/HDD_ptab_DECHA00A_OtherOS
----
Partition formatting in a service mode firmware installation for NOR flash. Google it: http://lmgtfy.com/?q=site%3Ahttp%3A%2F%2Fpastebin.com%2F+%22vflash+is+enabled...%22
Partition formatting in a service mode firmware installation for NOR flash. Google it: http://lmgtfy.com/?q=site%3Ahttp%3A%2F%2Fpastebin.com%2F+%22vflash+is+enabled...%22
  manufacturing updating start
  manufacturing updating start
Line 260: Line 232:


Other flash/hdd regions. Google it: http://lmgtfy.com/?q=site%3Ahttp%3A%2F%2Fpastebin.com%2F+%22CELL_FS_UTILITY%3AHDD2%22 and [[Files_on_the_PS3#Mountpoints|Mountpoints]]
Other flash/hdd regions. Google it: http://lmgtfy.com/?q=site%3Ahttp%3A%2F%2Fpastebin.com%2F+%22CELL_FS_UTILITY%3AHDD2%22 and [[Files_on_the_PS3#Mountpoints|Mountpoints]]
CELL_FS_IOS:BUILTIN_FLSH1
CELL_FS_IOS:BUILTIN_FLSH2
CELL_FS_IOS:BUILTIN_FLSH3
CELL_FS_IOS:BUILTIN_FLSH4
CELL_FS_UTILITY:HDD0
CELL_FS_UTILITY:HDD1
CELL_FS_UTILITY:HDD2


Experimental attempt to recover deleted files from gameos partition: http://playstationhax.it/forums/topic/826-recovering-deleted-save-games-eid-dumper-troubles-mounting-the-encrypted-ufs2-filesystem/
===Speed tests running in PS3 nativelly===
 
===Speed tests running in PS3 natively===


{| class="wikitable"
{| class="wikitable"
Line 362: Line 339:
|-
|-
|}
|}
==== HDD vs SSD ====
{{#ev:youtube|Jrcde4hyRY0}}
{{#ev:youtube|RbuKRH0aHRM}}


=== Phat NAND HDD Entropy Table (After zerofill,no vflash) ===
=== Phat NAND HDD Entropy Table (After zerofill,no vflash) ===
Line 499: Line 472:
  LOAD:0000000000030324                blr
  LOAD:0000000000030324                blr
  LOAD:0000000000030324 # End of function fsck_cfs_main
  LOAD:0000000000030324 # End of function fsck_cfs_main
=DECR (reference tool) and GECR (arcade)=
Uses 3.5" (size) hdd's
*DECR-1000 - 2x Seagate Barracuda ST3400820A6 (7200.10 400Gbytes [email protected] [email protected])
=Firmware Patches=
==emer_init==
Patch to increase acceptable HDD capacity for error "''The installed hard disk is not supported. You must install a hard disk that is compatible with this system''." Without patch recovery will throw this error when hdd capacity is above 1,649,267,441,664 bytes. With patch error will be shown for hdd above 2,130,303,778,816 bytes. 1,75TB limited drives should be accepted again. Untested on real hardware, use with caution (hw flasher required)! Sorry for short hex pattern, but it should be ok for manual patch (4.75 in this case).
*Search for:
38 00 01 80
Replace to:
38 00 01 F0
For full 2TB replace to (There are likely other factors which will fail):
38 00 02 01
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)

Template used on this page: