Micron P400m - 520 byte to 512 byte - firmware lock?

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

TheGiolly

New Member
Oct 21, 2018
1
1
1
Hi, I have a Micron RealSSD P400m (MTFDDAK400MAN-2S1AA) that is factory formatted with 520 byte sectors.
(there is also a more "popular" model, the MTFDDAK400MAN-1S1AA, that is factory formatted with 512 byte sectors).
I tried formatting it to 512 byte sectors with sg_format (i noticed that it reports block size of 512 byte but I don't know why) and setblocksize with no luck (log below).
For this I used the internal SATA controller of my motherboard (MSI Z87-G43), is this a problem?
Is it possibile that the SSD is firmware locked to 520 byte?
I also dumped the content of the SPI flash memory (M25P80) that is present on the PCB that I think contains the firmware.

hdparm report:
Code:
ubuntu@ubuntu:~$ sudo hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
   Model Number:       P400m400-MTFDDAK400MAN         118032958
   Serial Number:      ############       
   Firmware Revision:  0222   
   Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Standards:
   Used: unknown (minor revision code 0x0110)
   Supported: 9 8 7 6 5
   Likely used: 9
Configuration:
   Logical      max   current
   cylinders   16383   16383
   heads      16   16
   sectors/track   63   63
   --
   CHS current addressable sectors:    16514064
   LBA    user addressable sectors:   268435455
   LBA48  user addressable sectors:   769230720
   Logical  Sector size:                   520 bytes
   Physical Sector size:                   520 bytes
   Logical Sector-0 offset:                  0 bytes
   device size with M = 1024*1024:      375600 MBytes
   device size with M = 1000*1000:      393846 MBytes (393 GB)
   cache/buffer size  = unknown
   Form Factor: 2.5 inch
   Nominal Media Rotation Rate: Solid State Device
Capabilities:
   LBA, IORDY(can be disabled)
   Queue depth: 32
   Standby timer values: spec'd by Standard, with device specific minimum
   R/W multiple sector transfer: Max = 8   Current = 8
   Advanced power management level: 254
   DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
        Cycle time: min=120ns recommended=120ns
   PIO: pio0 pio1 pio2 pio3 pio4
        Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
   Enabled   Supported:
      *   SMART feature set
          Security Mode feature set
      *   Power Management feature set
          Write cache
      *   Look-ahead
      *   Host Protected Area feature set
      *   WRITE_BUFFER command
      *   READ_BUFFER command
      *   NOP cmd
      *   DOWNLOAD_MICROCODE
      *   Advanced Power Management feature set
          SET_MAX security extension
      *   48-bit Address feature set
      *   Device Configuration Overlay feature set
      *   Mandatory FLUSH_CACHE
      *   FLUSH_CACHE_EXT
      *   SMART error logging
      *   SMART self-test
      *   General Purpose Logging feature set
      *   WRITE_{DMA|MULTIPLE}_FUA_EXT
      *   64-bit World wide name
      *   IDLE_IMMEDIATE with UNLOAD
      *   WRITE_UNCORRECTABLE_EXT command
      *   {READ,WRITE}_DMA_EXT_GPL commands
      *   Segmented DOWNLOAD_MICROCODE
      *   unknown 119[6]
      *   Gen1 signaling speed (1.5Gb/s)
      *   Gen2 signaling speed (3.0Gb/s)
      *   Gen3 signaling speed (6.0Gb/s)
      *   Native Command Queueing (NCQ)
      *   Host-initiated interface power management
      *   Phy event counters
      *   NCQ priority information
      *   DMA Setup Auto-Activate optimization
          Device-initiated interface power management
      *   Software settings preservation
      *   SMART Command Transport (SCT) feature set
      *   SCT Error Recovery Control (AC3)
      *   SCT Features Control (AC4)
      *   SCT Data Tables (AC5)
      *   SANITIZE feature set
      *   OVERWRITE_EXT command
      *   BLOCK_ERASE_EXT command
      *   Data Set Management TRIM supported (limit 8 blocks)
      *   Deterministic read ZEROs after TRIM
Security:
   Master password revision code = 65534
      supported
   not   enabled
   not   locked
   not   frozen
   not   expired: security count
      supported: enhanced erase
   2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: ################
   NAA      : 5
   IEEE OUI   : 00a075
   Unique ID   : #########
Checksum: correct
sg_scan report:
Code:
ubuntu@ubuntu:~$ sudo sg_scan -i
/dev/sg0: scsi3 channel=0 id=0 lun=0 [em]
    ATA       P400m400-MTFDDAK  0222 [rmb=0 cmdq=1 pqual=0 pdev=0x0]
/dev/sg1: scsi7 channel=0 id=0 lun=0 [em]
    Philips   USB Flash Drive   0.00 [rmb=1 cmdq=0 pqual=0 pdev=0x0]
/dev/sg2: scsi6 channel=0 id=0 lun=0 [em]
    General   USB Flash Disk    1100 [rmb=1 cmdq=0 pqual=0 pdev=0x0]
sg_format log:
Code:
ubuntu@ubuntu:~$ sudo sg_format -F -s 512 -v /dev/sg0
    ATA       P400m400-MTFDDAK  0222   peripheral_type: disk [0x0]
      PROTECT=0
      Unit serial number: ############       
      LU name: ################
    mode sense (10) cdb: 5a 00 01 00 00 00 00 00 fc 00
Mode Sense (block descriptor) data, prior to changes:
  Number of blocks=0 [0x0]
  Block size=512 [0x200]

A FORMAT UNIT will commence in 15 seconds
    ALL data on /dev/sg0 will be DESTROYED
        Press control-C to abort

A FORMAT UNIT will commence in 10 seconds
    ALL data on /dev/sg0 will be DESTROYED
        Press control-C to abort

A FORMAT UNIT will commence in 5 seconds
    ALL data on /dev/sg0 will be DESTROYED
        Press control-C to abort
    format unit cdb: 04 18 00 00 00 00
format unit:
Fixed format, current; Sense key: Illegal Request
Additional sense: Invalid command operation code
Format unit command: Illegal request, invalid opcode sense key
FORMAT UNIT failed
sg_format (with -6 flag) log:
Code:
ubuntu@ubuntu:~$ sudo sg_format -F -s 512 -6 -v /dev/sg0
    ATA       P400m400-MTFDDAK  0222   peripheral_type: disk [0x0]
      PROTECT=0
      Unit serial number: ############
      LU name: ################
    mode sense (6) cdb: 1a 00 01 00 fc 00
Mode Sense (block descriptor) data, prior to changes:
  Number of blocks=0 [0x0]
  Block size=512 [0x200]

A FORMAT UNIT will commence in 15 seconds
    ALL data on /dev/sg0 will be DESTROYED
        Press control-C to abort

A FORMAT UNIT will commence in 10 seconds
    ALL data on /dev/sg0 will be DESTROYED
        Press control-C to abort

A FORMAT UNIT will commence in 5 seconds
    ALL data on /dev/sg0 will be DESTROYED
        Press control-C to abort
    format unit cdb: 04 18 00 00 00 00
format unit:
Fixed format, current; Sense key: Illegal Request
Additional sense: Invalid command operation code
Format unit command: Illegal request, invalid opcode sense key
FORMAT UNIT failed
setblocksize log:
Code:
ubuntu@ubuntu:~/Desktop/sbs$ sudo ./setblocksize -b512 /dev/sg0

setblocksize V0.2

Checking parameters ...
   Blocksize specified.
   Done.
New blocksize: 512 Bytes
Format timeout: 120 minutes
Open device file ...
   Done.
Prepare command ...
   Done.
Send INQUIRY command ...
   Done.
Check status ...
   Command successful.
Check for LUN ...
   LUN present.

===============================================================================
SCSI ID     : 0
LUN         : 0
Connected to: Host3 / Channel0
Manufacturer: ATA     
Model       : P400m400-MTFDDAK
Device type : Disk
===============================================================================
Do you really want to reformat this device [y/n]? y

Prepare command ...
   Done.
Send MODE SELECT command ...
   Done.
Check status ...
   Error: Check Condition
[valid=0] Info fld=0x0, Current sense key: Illegal Request
Additional sense indicates: Invalid field in cdb
Raw sense data (in hex):
  70 00 05 00 00 00 00 12 00 00 00 00 24 00 00 c9
   plus...: Driver_status=0x08 (DRIVER_SENSE,SUGGEST_OK)
   Command NOT succesful!
 
  • Like
Reactions: arglebargle

arglebargle

H̸̖̅ȩ̸̐l̷̦͋l̴̰̈ỏ̶̱ ̸̢͋W̵͖̌ò̴͚r̴͇̀l̵̼͗d̷͕̈
Jul 15, 2018
657
245
43
Were you ever able to make progress on this? I may have an option to buy a few of these soon.

Also, and this may be a terrible idea - have you tried writing a -1S1AA firmware to the SPI and testing to see if you can bring the drive up? If they're otherwise identical models it might be worth attempting.

I see similar questions around from other people trying to reuse these EMC array drives, you could also hunt for other OEM branded versions of the same drive (I think Cisco UCS used these as well) as a source for firmware. They should be virtually the same hardware (if not actually identical), it's worth a shot at least.

(edit: Hey, I found you!)

Some further discussion for anyone else interested:

View topic - Micron P400m - 520 byte to 512 byte - firmware lock?
View topic - Micron P400m / Marvell 88SS9187 SSD
 
Last edited:

JackAss

New Member
Mar 24, 2020
11
2
3
Hi, I have some of these SSD, anyone has found the firmware of the 512b version? If someone has it and can send it to me I can try (if I cannot fix them they will go to trash so it's not a problem if i brick them trying).

Thanks!
 
  • Like
Reactions: eptesicus

eptesicus

Active Member
Jun 25, 2017
151
37
28
35
Hi, I have some of these SSD, anyone has found the firmware of the 512b version? If someone has it and can send it to me I can try (if I cannot fix them they will go to trash so it's not a problem if i brick them trying).

Thanks!
Were you able to find the firmware? I too am in need of it.