Help with reformatting 528 byte IBM SSDs

A couple of friends have gotten some cheap 3.2TB IBM SSDs. These drives are formatted to 528 bytes.

I’ve tried setting the sector size to 512B from the guide here: https://forum.level1techs.com/t/how-to-reformat-520-byte-drives-to-512-bytes-usually/133021

Results of trying to format after zeroing with sg_format:

root@hpe:~# sg_format -v --format --size=512 /dev/sg1
    IBM-SSG   IBM-SSGSSVK3P2    6214   peripheral_type: disk [0x0]
      PROTECT=0
      Unit serial number: ZAM155MQ0000822150Z3
      LU name: 5000c50030209c8c
    mode sense(10) cdb: [5a 00 01 00 00 00 00 00 fc 00]
Mode Sense (block descriptor) data, prior to changes:
block count maxed out, set <<longlba>>
    mode sense(10) cdb: [5a 10 01 00 00 00 00 00 fc 00]
  <<< longlba flag set (64 bit lba) >>>
  Number of blocks=6061802635 [0x1694fc48b]
  Block size=528 [0x210]
    mode select(10) cdb: [55 11 00 00 00 00 00 00 24 00]
mode select(10):
Descriptor format, current; Sense key: Illegal Request
Additional sense: Invalid field in parameter list
  Descriptor type: Sense key specific: Field pointer:
        Error in Data parameters: byte 21 bit 7
  Descriptor type: Field replaceable unit code: 0x11
  Descriptor type: Vendor specific [0x80]
    00 00 05 26 00 11 ff ff ff ff 00 00 00 00
Try MODE SELECT again with SP=0 this time
    mode select(10) cdb: [55 10 00 00 00 00 00 00 24 00]
mode select(10):
Descriptor format, current; Sense key: Illegal Request
Additional sense: Invalid field in parameter list
  Descriptor type: Sense key specific: Field pointer:
        Error in Data parameters: byte 21 bit 7
  Descriptor type: Field replaceable unit code: 0x11
  Descriptor type: Vendor specific [0x80]
    00 00 05 26 00 11 ff ff ff ff 00 00 00 00
MODE SELECT command: Illegal request, type: sense key, apart from Invalid opcode

I’ve tried it with --six and I have also used the --wait

I’ve also tried openseachest:

root@hpe:~# openSeaChest_Format -d /dev/sg1 --showSupportedFormats
==========================================================================================
 openSeaChest_Format - openSeaChest drive utilities - NVMe Enabled
 Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 openSeaChest_Format Version: 3.0.0-4_1_1 X86_64
 Build Date: Mar 28 2023
 Today: Sun Mar  3 13:24:20 2024        User: root
==========================================================================================

/dev/sg1 - IBM-SSGSSVK3P2 - ZAM155MQ0000822150Z3 - 6214 - SCSI

WARNING: Customer unique firmware may have specific requirements that
         restrict sector sizes on some products. It may not be possible to format/
         fast format to common sizes like 4K or 512B due to these customer requirements.


Supported Logical Block Sizes and Protection Types:
---------------------------------------------------
  * - current device format
PI Key:
  Y - protection type supported at specified block size
  N - protection type not supported at specified block size
  ? - unable to determine support for protection type at specified block size
Relative performance key:
  N/A - relative performance not available.
  Best
  Better
  Good
  Degraded
--------------------------------------------------------------------------------
 Logical Block Size  PI-0  PI-1  PI-2  PI-3  Relative Performance  Metadata Size
--------------------------------------------------------------------------------
                512     Y     N     N     N                   N/A            N/A
                520     Y     N     N     N                   N/A            N/A
*               528     Y     N     N     N                   N/A            N/A
--------------------------------------------------------------------------------
NOTE: Device is not capable of showing all sizes it supports. Only common
      sizes are listed. Please consult the product manual for all supported
      combinations.

And when trying to set block size with seachests

root@hpe:~# openSeaChest_Format -d /dev/sg1 --setSectorSize 512 --confirm this-will-erase-data-and-may-render-the-drive-inoperable
==========================================================================================
 openSeaChest_Format - openSeaChest drive utilities - NVMe Enabled
 Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 openSeaChest_Format Version: 3.0.0-4_1_1 X86_64
 Build Date: Mar 28 2023
 Today: Sun Mar  3 13:26:17 2024        User: root
==========================================================================================

/dev/sg1 - IBM-SSGSSVK3P2 - ZAM155MQ0000822150Z3 - 6214 - SCSI
Set Sector Size to 512

WARNING: It is not recommended to do this on USB enclosures as not
         all USB adapters can handle a 4k sector size.
WARNING (SATA): Do not interrupt this operation once it has started or
         it may cause the drive to become unusable. Stop all possible background
         activity that would attempt to communicate with the device while this
         operation is in progress
Press CTRL-C to cancel this operation before the timer runs out.
  0
Setting sector size not supported on this device
For SCSI Drives, try a format unit operation
root@hpe:~# openSeaChest_Format -d /dev/sg1 --formatUnit 512 --confirm this-will-erase-data
==========================================================================================
 openSeaChest_Format - openSeaChest drive utilities - NVMe Enabled
 Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 openSeaChest_Format Version: 3.0.0-4_1_1 X86_64
 Build Date: Mar 28 2023
 Today: Sun Mar  3 13:28:09 2024        User: root
==========================================================================================

/dev/sg1 - IBM-SSGSSVK3P2 - ZAM155MQ0000822150Z3 - 6214 - SCSI
Format Unit
Format Unit Failed!

Any suggestions before I just put this drive away in to my cupboard to never be used since I can’t get them to work?

Did you try plain fdisk or if a GUI is desired, gparted on a Linux distro? As root, of course.

Having said that, here’s a warning:

So yes, you may have a sizeable paper weight on your hands here :crossed_fingers:

fdisk:

root@hpe:~# fdisk /dev/sg1

Welcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

fdisk: cannot open /dev/sg1: Illegal seek

The thing is… IBM has a tool that can work: https://forums.servethehome.com/index.php?threads/changing-block-size-ibm-branded-micron-s650dc-800-ssd.26945/page-2#:~:text=Of%20course%2C%20there%20is%20a%20large%20caveat%2C%20SMIT%20runs%20on%20IBM%27s%20operating%20system%20named%20AIX%2C%20which%20only%20runs%20on%20Power%20PC%20architecture.

With the significant caveat being it runs on AIX on Power

Here’s a post by a guy who did the same with FreeBSD:

Sorry, I guess I can’t post links because I’m new here. Hope it helps!

Updated your Trust level and fixed your Hyperlink, did not solve my issue