Changing block size IBM branded Micron S650DC-800 SSD

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

kdub

Member
May 20, 2019
34
9
8
Hey all,

Stumbled across this ebay listing for IBM 800Gb 2.5" SAS 12Gb/s SED Flash SSD Drive FC 6258 01ML202 - DS8000/DS8880

Seems like a great price but I see this note in description:
PLEASE NOTE: These drives are IBM formatted with 528K blocks. They will NOT work in a standard server and SG3_Utils does not work in re-formatting them. For use in storage systems that accept 528K blocks only!
Referencing model number MTFDJAK800MBS-2AN16ABBA shown in the photos, according to this data sheet these are IBM branded Micron S650DC-800 SED drives w/512b blocksize. I've messaged the seller for confirmation of the P/N.

Two questions:
1. If the part number is accurate indicating 512b block, how could IBM make them 528b without being able to change back to 512b?
2. Is the block size permanently fixed from the factory or can it be changed between listed sizes using Micron's Storage Executive or even Seagate's SeaChest, similar to how IBM 520b HDD can be reformatted to 512b?

Any experience with these? Appreciate any comments. Thanks.

And because it may assist in answering my question, according to this website S650DC-800 drives are the same as Seagate 1200.2 and cross-referencing here it seems equivalent Seagate P/N is ST800FM0183 or possibly ST800FM0213.
 
Last edited:

azev

Well-Known Member
Jan 18, 2013
768
251
63
hmmm this is the first time I see a drive posting stating that the drive block size are permanent and cannot be changed. I assume the reason they did this is because they have tried it them self and failed. I am personally very tempted to get one and see whether it trully cannot be re-formatted to 512 block size because the price is excellent if it can be done.

I think the one reason why the drive block size cannot be changed have to do with the firmware on the drive. Unfortunately I've had many different drive with custom firmware that I have given up on trying to flash back to the oem firmware :(
 

kdub

Member
May 20, 2019
34
9
8
hmmm this is the first time I see a drive posting stating that the drive block size are permanent and cannot be changed. I assume the reason they did this is because they have tried it them self and failed. I am personally very tempted to get one and see whether it trully cannot be re-formatted to 512 block size because the price is excellent if it can be done.
My sentiment as well. I wasn't sure if a third party firmware could prevent things like block size changes.
I think the one reason why the drive block size cannot be changed have to do with the firmware on the drive. Unfortunately I've had many different drive with custom firmware that I have given up on trying to flash back to the oem firmware :(
I feel your pain; I'm currently messing with 6 IBM branded seagate ST4000NM0043. Hoping it's possible to put them back to OEM.

Anyway, if it turns out 528b can be changed to 512b, please leave at least 4 of them for me ;)
 

Brick

New Member
Apr 19, 2019
8
1
3
I picked one up. Tried a few things but nothing worked. Let me know if you want me to try something else.
Here is what I tried:

sg_format -format --size=512 --fmtpinfo=0 /dev/sg4
resulting in:
bad argument to '--fmtpinfo', accepts 0 to 3 inclusive

./SeaChest_Format_140_11923_64 -d /dev/sg4 --stopOnListError --fastFormat 1 --formatUnit 512 --poll --confirm this-will-erase-data
resulting in: Erase functions are only allowed on Seagate products

msecli -U -i /micron_fw/M019/ -n /dev/sg4
resulting in:
This will update the Unsupported Model drive in the system
Are you sure you want to continue(Y|N):Y

Updating firmware on drive /dev/sg4 (Serial No. )
.Firmware Update on /dev/sg4 failed with status 17

Device Name : /dev/sg4
Firmware Update on /dev/sg4 Failed!
CMD_STATUS : Not a valid / supported drive
STATUS_CODE : 17

Copyright (C) 2019 Micron Technology, Inc.
 

kdub

Member
May 20, 2019
34
9
8
I picked one up. Tried a few things but nothing worked. Let me know if you want me to try something else.
Here is what I tried:

sg_format -format --size=512 --fmtpinfo=0 /dev/sg4
resulting in:
bad argument to '--fmtpinfo', accepts 0 to 3 inclusive

./SeaChest_Format_140_11923_64 -d /dev/sg4 --stopOnListError --fastFormat 1 --formatUnit 512 --poll --confirm this-will-erase-data
resulting in: Erase functions are only allowed on Seagate products

msecli -U -i /micron_fw/M019/ -n /dev/sg4
resulting in:
This will update the Unsupported Model drive in the system
Are you sure you want to continue(Y|N):Y

Updating firmware on drive /dev/sg4 (Serial No. )
.Firmware Update on /dev/sg4 failed with status 17

Device Name : /dev/sg4
Firmware Update on /dev/sg4 Failed!
CMD_STATUS : Not a valid / supported drive
STATUS_CODE : 17

Copyright (C) 2019 Micron Technology, Inc.
I appreciate your initiative. I'm much more familiar with SAS HDD and have actually never used micron storage executive so my apologies for some inevitable trial error.

How is this connected to your machine? HBA I'm hoping?

Could still be locked or frozen. Or even need to have SED initialized before it lets you do anything. Can you show me the output of the following commands:
Code:
smartctl -x /dev/sg4
./SeaChest_Format_140_11923_64 -d /dev/sg4 -i --showSupportedSectorSizes
sdparm -a /dev/sg4
Not sure if it's a typo but your sg_format command is missing a - in front of -format

You can try:
Code:
sg_format --format --size=512 -fmtpinfo=0 --six -v /dev/sg4
You could also try a PSID revert to reset the drive back to factory defaults. It requires TCG commands be enabled on your linux box. See page 24 in the micron storage executive manual:
https://www.micron.com/-/media/clie...ware/storageexecutive_user_guide_en.pdf?la=en

or page 35 in the cli manual:
https://www.micron.com/-/media/clie...li/storage_executive_cli_user_guide.pdf?la=en

Also, for future reference in case we have to restore full provision, max LBA at 512 is 1,562,824,367 according to:
https://www.micron.com/-/media/documents/products/data-sheet/ssd/s600dc_series_2_5_sas_ssd.pdf

After all this, we can try sedutil and if all else fails we can look into using camcontrol on ssds.
 

Brick

New Member
Apr 19, 2019
8
1
3
Thanks kdub. Now we have more info than before. Still stuck at 528. Have not tried the PSID revert, sedutil or camcontrol but can work on it more within the next few days. No RAID controller involved. The drive is in a disk shelf connected via QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)

Code:
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.15.0-72-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               IBM-SSG
Product:              IBM-SSGMSVW800
Revision:             7201
Compliance:           SPC-4
User Capacity:        800,166,073,344 bytes [800 GB]
Logical block size:   528 bytes
LU is resource provisioned, LBPRZ=1
Rotation Rate:        Solid State Device
Form Factor:          2.5 inches
Logical Unit id:      0x20000090fa6f010c
Serial number:        redacted
Device type:          disk
Transport protocol:   Fibre channel (FCP-2)
Local Time is:        Fri Jan 10 20:58:17 2020 EST
SMART support is:     Available - device has SMART capability.
SMART support is:     Enabled
Temperature Warning:  Enabled
Read Cache is:        Enabled
Writeback Cache is:   Disabled

=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK

Percentage used endurance indicator: 0%
Current Drive Temperature:     26 C
Drive Trip Temperature:        65 C

Elements in grown defect list: 0

Vendor (Seagate) cache information
  Blocks sent to initiator = 55
  Blocks received from initiator = 0
  Blocks read from cache and sent to initiator = 4
  Number of read and write commands whose size <= segment size = 0
  Number of read and write commands whose size > segment size = 0

Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 118.45
  number of minutes until next internal SMART test = 18

Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    Total
               ECC          rereads/    errors   algorithm      processed    uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:   251411357        0  16731278  251411357          0       6343.472           0
write:         0        0         0         0          0       4616.117           0
verify:        0        0         0         0          0       3200.664           0

Non-medium error count:        0

No self-tests have been logged

Background scan results log
  Status: waiting until BMS interval timer expires
    Accumulated power on time, hours:minutes 118:27 [7107 minutes]
    Number of background scans performed: 13,  scan progress: 0.00%
    Number of background medium scans performed: 0

Code:
    /dev/sg4: IBM-SSG   IBM-SSGMSVW800    7201
Read write error recovery mode page:
  AWRE        1  [cha: n, def:  1, sav:  1]
  ARRE        1  [cha: n, def:  1, sav:  1]
  TB          0  [cha: y, def:  0, sav:  0]
  RC          0  [cha: y, def:  0, sav:  0]
  EER         0  [cha: y, def:  0, sav:  0]
  PER         0  [cha: y, def:  0, sav:  0]
  DTE         0  [cha: y, def:  0, sav:  0]
  DCR         0  [cha: y, def:  0, sav:  0]
  RRC         1  [cha: n, def:  1, sav:  1]
  COR_S       0  [cha: n, def:  0, sav:  0]
  HOC         0  [cha: n, def:  0, sav:  0]
  DSOC        0  [cha: n, def:  0, sav:  0]
  LBPERE      0  [cha: n, def:  0, sav:  0]
  WRC         5  [cha: y, def:  5, sav:  5]
  RTL       7000  [cha: n, def:7000, sav:7000]
Disconnect-reconnect (SPC + transports) mode page:
  BFR         0  [cha: n, def:  0, sav:  0]
  BER         0  [cha: n, def:  0, sav:  0]
  BIL         0  [cha: y, def:  0, sav:  0]
  DTL         0  [cha: n, def:  0, sav:  0]
  CTL        15  [cha: y, def: 15, sav: 15]
  MBS       160  [cha: y, def:160, sav:160]
  EMDP        0  [cha: n, def:  0, sav:  0]
  FA          0  [cha: n, def:  0, sav:  0]
  DIMM        0  [cha: n, def:  0, sav:  0]
  DTDC        0  [cha: n, def:  0, sav:  0]
  FBS         0  [cha: n, def:  0, sav:  0]
Format (SBC) mode page:
  TPZ         0  [cha: n, def:  0, sav:  0]
  ASPZ        0  [cha: n, def:  0, sav:  0]
  ATPZ        0  [cha: n, def:  0, sav:  0]
  ATPLU       0  [cha: n, def:  0, sav:  0]
  SPT         0  [cha: n, def:  0, sav:  0]
  DBPPS     528  [cha: n, def:512, sav:528]
  INTLV       1  [cha: n, def:  1, sav:  1]
  TSF         0  [cha: n, def:  0, sav:  0]
  CSF         0  [cha: n, def:  0, sav:  0]
  SSEC        0  [cha: n, def:  0, sav:  0]
  HSEC        1  [cha: n, def:  1, sav:  1]
  RMB         0  [cha: n, def:  0, sav:  0]
  SURF        0  [cha: n, def:  0, sav:  0]
Rigid disk (SBC) mode page:
  NOC         0  [cha: n, def:  0, sav:  0]
  NOH         0  [cha: n, def:  0, sav:  0]
  SCWP        0  [cha: n, def:  0, sav:  0]
  SCRWC       0  [cha: n, def:  0, sav:  0]
  DSR         0  [cha: n, def:  0, sav:  0]
  LZC         0  [cha: n, def:  0, sav:  0]
  RPL         0  [cha: n, def:  0, sav:  0]
  ROTO        0  [cha: n, def:  0, sav:  0]
  MRR       65000  [cha: n, def:65000, sav:65000]
Verify error recovery (SBC) mode page:
  V_EER       0  [cha: y, def:  0, sav:  0]
  V_PER       0  [cha: y, def:  0, sav:  0]
  V_DTE       0  [cha: y, def:  0, sav:  0]
  V_DCR       0  [cha: n, def:  0, sav:  0]
  V_RC       11  [cha: n, def: 11, sav: 11]
  V_COR_S     0  [cha: n, def:  0, sav:  0]
  V_RTL     7000  [cha: y, def:7000, sav:7000]
Caching (SBC) mode page:
  IC          0  [cha: y, def:  0, sav:  0]
  ABPF        0  [cha: n, def:  0, sav:  0]
  CAP         0  [cha: y, def:  0, sav:  0]
  DISC        1  [cha: y, def:  1, sav:  1]
  SIZE        0  [cha: n, def:  0, sav:  0]
  WCE         0  [cha: y, def:  0, sav:  0]
  MF          0  [cha: n, def:  0, sav:  0]
  RCD         0  [cha: y, def:  0, sav:  0]
  DRRP        0  [cha: n, def:  0, sav:  0]
  WRP         0  [cha: n, def:  0, sav:  0]
  DPTL       -1  [cha: n, def: -1, sav: -1]
  MIPF        0  [cha: y, def:  0, sav:  0]
  MAPF       -1  [cha: y, def: -1, sav: -1]
  MAPFC      -1  [cha: n, def: -1, sav: -1]
  FSW         1  [cha: y, def:  1, sav:  1]
  LBCSS       0  [cha: n, def:  0, sav:  0]
  DRA         0  [cha: y, def:  0, sav:  0]
  SYNC_PROG   0  [cha: n, def:  0, sav:  0]
  NV_DIS      0  [cha: y, def:  0, sav:  0]
  NCS        10  [cha: y, def: 10, sav: 10]
  CSS         0  [cha: n, def:  0, sav:  0]
Control mode page:
  TST         1  [cha: y, def:  1, sav:  1]
  TMF_ONLY    1  [cha: y, def:  1, sav:  1]
  DPICZ       0  [cha: y, def:  0, sav:  0]
  D_SENSE     0  [cha: y, def:  0, sav:  0]
  GLTSD       0  [cha: y, def:  0, sav:  0]
  RLEC        0  [cha: y, def:  0, sav:  0]
  QAM         1  [cha: y, def:  1, sav:  1]
  NUAR        0  [cha: n, def:  0, sav:  0]
  QERR        1  [cha: y, def:  1, sav:  1]
  RAC         0  [cha: n, def:  0, sav:  0]
  UA_INTLCK   0  [cha: n, def:  0, sav:  0]
  SWP         0  [cha: n, def:  0, sav:  0]
  ATO         1  [cha: n, def:  1, sav:  1]
  TAS         0  [cha: n, def:  0, sav:  0]
  ATMPE       0  [cha: n, def:  0, sav:  0]
  RWWP        0  [cha: n, def:  0, sav:  0]
  AUTOLOAD    0  [cha: n, def:  0, sav:  0]
  BTP         0  [cha: n, def:  0, sav:  0]
  ESTCT     3097  [cha: n, def:3097, sav:3097]
Protocol specific logical unit mode page:
  LUPID       0  [cha: n, def:  0, sav:  0]
Protocol specific port mode page:
  PPID        0  [cha: n, def:  0, sav:  0]
Power condition mode page:
  PM_BG       0  [cha: n, def:  0, sav:  0]
  STANDBY_Y   0  [cha: n, def:  0, sav:  0]
  IDLE_C      0  [cha: n, def:  0, sav:  0]
  IDLE_B      0  [cha: y, def:  0, sav:  0]
  IDLE        0  [cha: y, def:  0, sav:  0]
  STANDBY     0  [cha: y, def:  0, sav:  0]
  ICT        10  [cha: y, def: 10, sav: 10]
  SCT       36000  [cha: y, def:36000, sav:36000]
  IBCT      6000  [cha: y, def:6000, sav:6000]
  ICCT        0  [cha: n, def:  0, sav:  0]
  SYCT        0  [cha: n, def:  0, sav:  0]
  CCF_IDLE    1  [cha: y, def:  1, sav:  1]
  CCF_STAND   1  [cha: y, def:  1, sav:  1]
  CCF_STOPP   2  [cha: y, def:  2, sav:  2]
Power consumption mode page:
  ps_id       0  [cha: y, def:  0, sav:  0]
Informational exceptions control mode page:
  PERF        1  [cha: y, def:  1, sav:  1]
  EBF         0  [cha: n, def:  0, sav:  0]
  EWASC       1  [cha: y, def:  1, sav:  1]
  DEXCPT      0  [cha: y, def:  0, sav:  0]
  TEST        0  [cha: y, def:  0, sav:  0]
  EBACKERR    0  [cha: n, def:  0, sav:  0]
  LOGERR      0  [cha: y, def:  0, sav:  0]
  MRIE        4  [cha: y, def:  4, sav:  4]
  INTT      144000  [cha: y, def:144000, sav:144000]
  REPC        0  [cha: n, def:  0, sav:  0]
Background control (SBC) mode page:
  S_L_FULL    0  [cha: n, def:  0, sav:  0]
  LOWIR       0  [cha: n, def:  0, sav:  0]
  EN_BMS      1  [cha: n, def:  1, sav:  1]
  EN_PS       0  [cha: n, def:  0, sav:  0]
  BMS_I      72  [cha: n, def: 72, sav: 72]
  BPS_TL      0  [cha: n, def:  0, sav:  0]
  MIN_IDLE    0  [cha: n, def:  0, sav:  0]
  MAX_SUSP    0  [cha: n, def:  0, sav:  0]

Code:
==========================================================================================
 SeaChest_Format - Seagate drive utilities - NVMe Enabled
 Copyright (c) 2014-2019 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 SeaChest_Format Version: 1.4.0-1_19_23 X86_64
 Build Date: Jun 10 2019
 Today: Fri Jan 10 21:02:50 2020
==========================================================================================

/dev/sg4 - IBM-SSGMSVW800 - redacted - SCSI

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.
If I read that right, the IBM firmware allows 512 or at least SeaChest_Format thinks so.

Code:
    IBM-SSG   IBM-SSGMSVW800    7201   peripheral_type: disk [0x0]
      PROTECT=0
      Unit serial number: redacted
      LU name: 20000090fa6f010c
    mode sense (6) cdb: 1a 00 01 00 fc 00 
Mode Sense (block descriptor) data, prior to changes:
  Number of blocks=1515466048 [0x5a542d40]
  Block size=528 [0x210]
    mode select (6) cdb: 15 11 00 00 18 00 
mode select (6):
Fixed format, current; Sense key: Illegal Request
Additional sense: Invalid field in parameter list
  Field replaceable unit code: 17
  Sense Key Specific: Error in Data parameters: byte 9 bit 7
MODE SELECT command: Illegal request sense key, apart from Invalid opcode

And for good measure:
Code:
root@machine:/home/user/msecli -J -b 1562824367 -l 512 -n /dev/sg4
This command is not supported for the drive

Copyright (C) 2019 Micron Technology, Inc.
 

kdub

Member
May 20, 2019
34
9
8
I don't recall if any issues arise from using a fiber channel vs directly to the HBA. I'll have to read around. If it's not a total pain, it's probably best to try a direct connection.

sdparm shows drive sector size is set at 528 "DBPPS 528 [cha: n, def:512, sav:528]" DBPPS stands for 'data bytes per physical sector'. Default for this drive is 512 but currently it's set to 528. When a drive power cycles it always loads the value in sav. Pretty sure 'cha: n' means this is not a direct changeable value. I'm guessing this is set automatically upon formatting and can't be changed otherwise.

I don't think it will work but we can try this command to set the current size to 512 and also set the sav value to 512. FYI adding --long to the sdparm -x command will show you the full description for all the page attributes.

Code:
sdparm --set=DBPPS=512 --save /dev/sg4
I'd like to think a full psid revert would set the value back to 512. Somewhere another post suggested using sedutils to erase all the bands and using the MSI password. I'm not sure if that's relevant here.

What's the Micron model number on the drive?
 

Brick

New Member
Apr 19, 2019
8
1
3
S650DC, specifically the MTFDJAK800MBS. Sadly the PSID revert won't run.
Code:
msecli -X -P -p xxxxxxxxxxxxxxxxxxxxxxxxxxxx -n /dev/sg4
This command is not supported for the drive

Copyright (C) 2019 Micron Technology, Inc.
 

kdub

Member
May 20, 2019
34
9
8
S650DC, specifically the MTFDJAK800MBS. Sadly the PSID revert won't run.
Code:
msecli -X -P -p xxxxxxxxxxxxxxxxxxxxxxxxxxxx -n /dev/sg4
This command is not supported for the drive

Copyright (C) 2019 Micron Technology, Inc.
hmmm...what's the output from:

Code:
./SeaChest_Security -d /dev/sg4 --tcgInfo --showLockedRegions --showEraseSupport --deviceInfo
 
Last edited:

zack$

Well-Known Member
Aug 16, 2018
701
315
63
Looks like you'll need access to the IBM® SAS Disk Array Manager, but note you cannot change pdisks from an array to 512/4k: IBM Knowledge Center

If I were a betting man, I would estimate that these drives were likely in an array.
 

Brick

New Member
Apr 19, 2019
8
1
3
hmmm...what's the output from:

Code:
./SeaChest_Security -d /dev/sg4 --tcgInfo --showLockedRegions --showEraseSupport --deviceInfo
--showEraseSupport is not a parameter for any of the versions of SeaChest_Security that I have. Without that...
Code:
==========================================================================================
 SeaChest_Security - Seagate drive utilities - NVMe Enabled
 Copyright (c) 2014-2019 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 SeaChest_Security Version: 2.0.1-1_19_23 X86_64
 Build Date: Jun 10 2019
 Today: Sat Jan 11 06:56:59 2020
==========================================================================================

/dev/sg4 - IBM-SSGMSVW800 - redacted - SCSI
    Vendor ID: IBM-SSG
    Model Number: IBM-SSGMSVW800
    Serial Number: redacted
    Firmware Revision: 7201
    World Wide Name: 20000090FA6F010C
    Drive Capacity (GB/GiB): 800.17/745.21
    Temperature Data:
        Current Temperature (C): Not Reported
        Highest Temperature (C): Not Reported
        Lowest Temperature (C): Not Reported
    Power On Time: Not Reported
    Power On Hours: Not Reported
    MaxLBA: 1515466047
    Native MaxLBA: Not Reported
    Logical Sector Size (B): 528
    Physical Sector Size (B): 4224
    Sector Alignment: 0
    Rotation Rate (RPM): SSD
    Form Factor: 2.5"
    Last DST information:
        Not supported
    Long Drive Self Test Time:  51 minutes
    Interface speed:
        Not Reported
    Annualized Workload Rate (TB/yr): Not Reported
    Total Bytes Read (B): Not Reported
    Total Bytes Written (B): Not Reported
    Encryption Support: Self Encrypting
    Cache Size (MiB): Not Reported
    Percentage Used Endurance Indicator (%): Not Reported
    Read Look-Ahead: Not Supported
    Write Cache: Disabled
    SMART Status: Unknown or Not Supported
    ATA Security Information: Not Supported
    Firmware Download Support: Full, Segmented
    Specifications Supported:
        SPC-4
        ----
        ----
        ----
        ----
        ----
        ----
        ----
        ----
    Features Supported:
        Power Comsumption
        UNMAP
        TCG
        Automatic Write Reassignment [Enabled]
        Automatic Read Reassignment [Enabled]
        EPC
        Informational Exceptions [Mode 4]
TCG Device Information:
TCG Type: TCG Enterprise
Data Access: Unlocked
Supported TCG Features:
    TPER
    Locking
    Geometry
TCG Drive Locking Regions:
==========================
Name                   Common Name                         Range Start             Range Length            Read Status       Write Status    LockOnReset
Global_Range           Locking                             N/A                     N/A                     Disabled          Disabled      PowerCycle
Band1                  Locking                             N/A                     N/A                     Disabled          Disabled      PowerCycle
Band2                  Locking                             N/A                     N/A                     Disabled          Disabled      PowerCycle
Band3                  Locking                             N/A                     N/A                     Disabled          Disabled      PowerCycle
Band4                  Locking                             N/A                     N/A                     Disabled          Disabled      PowerCycle
Band5                  Locking                             N/A                     N/A                     Disabled          Disabled      PowerCycle
Band6                  Locking                             N/A                     N/A                     Disabled          Disabled      PowerCycle
Band7                  Locking                             N/A                     N/A                     Disabled          Disabled      PowerCycle
Band8                  Locking                             N/A                     N/A                     Disabled          Disabled      PowerCycle
Band9                  Locking                             N/A                     N/A                     Disabled          Disabled      PowerCycle
Band10                 Locking                             N/A                     N/A                     Disabled          Disabled      PowerCycle
Band11                 Locking                             N/A                     N/A                     Disabled          Disabled      PowerCycle
Band12                 Locking                             N/A                     N/A                     Disabled          Disabled      PowerCycle
Band13                 Locking                             N/A                     N/A                     Disabled          Disabled      PowerCycle
Band14                 Locking                             N/A                     N/A                     Disabled          Disabled      PowerCycle
Band15                 Locking                             N/A                     N/A                     Disabled          Disabled      PowerCycle

NOTE1: The Global Range encompases all LBAs not already assigned to a range or band.
NOTE2: All supported ranges or bands are shown.
       Not all bands will be used.
       Consult your security software to configure the different ranges or bands.
 

Brick

New Member
Apr 19, 2019
8
1
3
Switched to a SAS HBA away from the fibre channel setup. Ran the smartctl command and got some additional SAS info.
Code:
root@ubuntu:~# smartctl -x /dev/sg1
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-5.0.0-23-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               IBM-SSG
Product:              IBM-SSGMSVW800
Revision:             7201
Compliance:           SPC-4
User Capacity:        800,166,073,344 bytes [800 GB]
Logical block size:   528 bytes
LU is resource provisioned, LBPRZ=1
Rotation Rate:        Solid State Device
Form Factor:          2.5 inches
Logical Unit id:      0x5000c500ad704f6c
Serial number:        redacted
Device type:          disk
Transport protocol:   SAS (SPL-3)
Local Time is:        Sat Jan 11 15:05:57 2020 UTC
SMART support is:     Available - device has SMART capability.
SMART support is:     Enabled
Temperature Warning:  Enabled
Read Cache is:        Enabled
Writeback Cache is:   Disabled

=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK

Percentage used endurance indicator: 0%
Current Drive Temperature:     23 C
Drive Trip Temperature:        65 C

Elements in grown defect list: 0

Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 129.92
  number of minutes until next internal SMART test = 41

Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    Total
               ECC          rereads/    errors   algorithm      processed    uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:   251411359        0  16731278  251411359          0       6343.472           0
write:         0        0         0         0          0       4616.120           0
verify:        0        0         0         0          0       3200.664           0

Non-medium error count:        0

No self-tests have been logged

Background scan results log
  Status: waiting until BMS interval timer expires
    Accumulated power on time, hours:minutes 129:55 [7795 minutes]
    Number of background scans performed: 14,  scan progress: 0.00%
    Number of background medium scans performed: 0

Protocol Specific port log page for SAS SSP
relative target port id = 1
  generation code = 0
  number of phys = 1
  phy identifier = 0
    attached device type: expander device
    attached reason: SMP phy control function
    reason: power on
    negotiated logical link rate: phy enabled; 6 Gbps
    attached initiator port: ssp=0 stp=0 smp=0
    attached target port: ssp=0 stp=0 smp=1
    SAS address = 0x5000c500ad704f6d
    attached SAS address = 0x80e01d9d588000bf
    attached phy identifier = 8
    Invalid DWORD count = 0
    Running disparity error count = 0
    Loss of DWORD synchronization = 0
    Phy reset problem = 0
    Phy event descriptors:
     Invalid word count: 0
     Running disparity error count: 0
     Loss of dword synchronization count: 0
     Phy reset problem count: 0
relative target port id = 2
  generation code = 0
  number of phys = 1
  phy identifier = 1
    attached device type: no device attached
    attached reason: unknown
    reason: unknown
    negotiated logical link rate: phy enabled; unknown
    attached initiator port: ssp=0 stp=0 smp=0
    attached target port: ssp=0 stp=0 smp=0
    SAS address = 0x5000c500ad704f6e
    attached SAS address = 0x0
    attached phy identifier = 0
    Invalid DWORD count = 0
    Running disparity error count = 0
    Loss of DWORD synchronization = 0
    Phy reset problem = 0
    Phy event descriptors:
     Invalid word count: 0
     Running disparity error count: 0
     Loss of dword synchronization count: 0
     Phy reset problem count: 0

Connected to the SAS HBA, some additional info and features are reported by SeaChest_Security
Code:
./SeaChest_Security_201_11923_64 -d /dev/sg1 --tcgInfo --showLockedRegions --deviceInfo
==========================================================================================
 SeaChest_Security - Seagate drive utilities - NVMe Enabled
 Copyright (c) 2014-2019 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 SeaChest_Security Version: 2.0.1-1_19_23 X86_64
 Build Date: Jun 10 2019
 Today: Sat Jan 11 15:25:02 2020
==========================================================================================

/dev/sg1 - IBM-SSGMSVW800 - redacted - SCSI
    Vendor ID: IBM-SSG 
    Model Number: IBM-SSGMSVW800 
    Serial Number: redacted
    Firmware Revision: 7201
    World Wide Name: 5000C500AD704F6C
    Drive Capacity (GB/GiB): 800.17/745.21
    Temperature Data:
        Current Temperature (C): 23
        Highest Temperature (C): Not Reported
        Lowest Temperature (C): Not Reported
    Power On Time:  5 days 10 hours 14 minutes 
    Power On Hours: 130.23
    MaxLBA: 1515466047
    Native MaxLBA: Not Reported
    Logical Sector Size (B): 528
    Physical Sector Size (B): 4224
    Sector Alignment: 0
    Rotation Rate (RPM): SSD
    Form Factor: 2.5"
    Last DST information:
        DST has never been run
    Long Drive Self Test Time:  51 minutes 
    Interface speed:
        Port 0 (Current Port)
            Max Speed (GB/s): 6.0
            Negotiated Speed (Gb/s): 6.0
        Port 1
            Max Speed (GB/s): 6.0
            Negotiated Speed (Gb/s): Not Reported
    Annualized Workload Rate (TB/yr): 737.18
    Total Bytes Read (TB): 6.34
    Total Bytes Written (TB): 4.62
    Encryption Support: Self Encrypting
    Cache Size (MiB): Not Reported
    Percentage Used Endurance Indicator (%): 0.04980
    Read Look-Ahead: Not Supported
    Write Cache: Disabled
    SMART Status: Good
    ATA Security Information: Not Supported
    Firmware Download Support: Full, Segmented, Deferred
    Specifications Supported:
        SPC-4
        ----
        ----
        ----
        ----
        ----
        ----
        ----
        ----
    Features Supported:
        Power Comsumption
        UNMAP
        TCG
        Application Client Logging
        Self Test
        Automatic Write Reassignment [Enabled]
        Automatic Read Reassignment [Enabled]
        EPC
        Informational Exceptions [Mode 4]
        Format Unit
TCG Device Information:
TCG Type: TCG Enterprise
Data Access: Unlocked
Drive State: Use
Drive Ports:
    Firmware Download - Unlocked
    UDS - Locked
Security Operating Mode: 2 - TCG Security Active
Supported TCG Features:
    TPER
    Locking
    Geometry
TCG Drive Locking Regions:
==========================
Name                  Common Name                        Range Start            Range Length            Read Status      Write Status    LockOnReset
Global_Range          Locking                            N/A                    N/A                    Disabled          Disabled      PowerCycle 
Band1                  Locking                            N/A                    N/A                    Disabled          Disabled      PowerCycle 
Band2                  Locking                            N/A                    N/A                    Disabled          Disabled      PowerCycle 
Band3                  Locking                            N/A                    N/A                    Disabled          Disabled      PowerCycle 
Band4                  Locking                            N/A                    N/A                    Disabled          Disabled      PowerCycle 
Band5                  Locking                            N/A                    N/A                    Disabled          Disabled      PowerCycle 
Band6                  Locking                            N/A                    N/A                    Disabled          Disabled      PowerCycle 
Band7                  Locking                            N/A                    N/A                    Disabled          Disabled      PowerCycle 
Band8                  Locking                            N/A                    N/A                    Disabled          Disabled      PowerCycle 
Band9                  Locking                            N/A                    N/A                    Disabled          Disabled      PowerCycle 
Band10                Locking                            N/A                    N/A                    Disabled          Disabled      PowerCycle 
Band11                Locking                            N/A                    N/A                    Disabled          Disabled      PowerCycle 
Band12                Locking                            N/A                    N/A                    Disabled          Disabled      PowerCycle 
Band13                Locking                            N/A                    N/A                    Disabled          Disabled      PowerCycle 
Band14                Locking                            N/A                    N/A                    Disabled          Disabled      PowerCycle 
Band15                Locking                            N/A                    N/A                    Disabled          Disabled      PowerCycle 

NOTE1: The Global Range encompases all LBAs not already assigned to a range or band.
NOTE2: All supported ranges or bands are shown.
       Not all bands will be used.
       Consult your security software to configure the different ranges or bands.

The msecli psid reset command still reports "This command is not supported for the drive"
 

kdub

Member
May 20, 2019
34
9
8
I see "Security Operating Mode: 2 - TCG Security Active" in the output. Unless the firmware is preventing a revert then there must be something we're doing wrong. From the seagate secure documentation page 9
https://www.cryptsoft.com/fips140/vendors/140sp2695.pdf

Revert and Revert SP Methods In either ATA Enhanced Security Mode or TCG Opal Security Mode, the TCG Revert and Revert SP methods may be invoked by an appropriately authenticated Role to transition the CM into the uninitialized state (non-Approved) mode. This corresponds to the “Exit FIPS Mode” service and is akin to a “restore to factory defaults” operation. This operation also provides a means to zeroize keys and CSPs. Subsequently, the CM has to be reinitialized before it can return to a FIPS Approved mode of operation (i.e., ATA Enhanced Security Mode or TCG Opal Security Mode). These Revert and Revert SP methods may be invoked by the Drive Owner, Admin SP Admins, Locking SP Admins, or an unauthenticated role using the public PSID value.
Try
Code:
./Sea_Chest_Erase -d /dev/sg4 --revertSP --psid <32 character psid> --confirm <confirm message it requires>
If that doesn't work, try it with --revert instead of --revertSP

In order to use revert(SP) and other TCG related commands, you have to have TCG enabled on boot. On Ubuntu you can usually check using:
Code:
cat /sys/module/libata/parameters/allow_tpm

1 - enabled
0 - disabled
Not sure which OS your using but here's what the seachest docs have to say:
Abstract --------
The SeaChest_Erase --revert and --revertSP commands require specific support be enabled in the Linux kernel. This document describes the process to enable support for sending ATA Trusted Trusted Computing Group (TCG) commands in Linux. The focus is on how to do this through Ubuntu Linux 14.04LTS, however, the process should apply to other Linux’s as well although others may vary slightly.

Modifying The GRUB Configuration File (Ubuntu example used) -----
In order to make the change to allow TCG commands persist across reboots, you must modify the kernel boot parameters. In Ubuntu, this is accomplished by modifying the GRUB 2 configuration file. This section references the Grub2 configuration documentation from the Ubuntu Community: Grub2/Setup - Community Help Wiki Follow these steps to perform this modification in Ubuntu (other Linuxs may be similar).
1. You must modify the file /etc/default/grub. You can do this by running "sudo gedit /etc/default/grub"
2. Once this file is open in the editor of your choice, add "libata.allow_tpm=1" to the line that begins with "GRUB_CMDLINE_LINUX_DEFAULT" (or which ever line in grub is the one you use to boot your kernel, but this is the default).
3. Close your editor
4. Run the command "sudo update-grub" to apply your changes to the grub boot configuration (the file modified in these steps is a config file for the config file).
5. Restart your computer to make this active

Temporarily Enabling TCG Commands In Linux -----
You can temporarily enable TCG commands without modifying the kernel boot parameters. This can be accomplished by modifying the libata parameters file. Below is a sample script that can be run to do this. Sample Script: cd /sys/module/libata/parameters sudo chmod 644 allow_tpm echo 1 | sudo dd of=./allow_tpm sudo chmod 444 allow_tpm

Tiny Core - Enabling TCG Commands ------
Follow these steps to enable TCG commands on a Tiny Core bootable USB flash drive.
1. Leave the USB flash drive in after you run the Windows-based USB boot maker tool.
2. Using a (Windows) text editor go to USB:/boot/syslinux.cfg and in there, add libata.allow_tpm=1 on the append line with the other kernel boot parameters.
3. Using a (Windows) text editor go to USB:/EFI/boot/refind.conf and add libata.allow_tpm=1 on the options line with the other kernel boot parameters Alternate method: If Linux is already booted and you only want to temporarily enable TCG commands, you can change the contents of /sys/module/libata/parameters/allow_tpm from "0" to a "1".

Edit: forgot my response to zack$
Looks like you'll need access to the IBM® SAS Disk Array Manager, but note you cannot change pdisks from an array to 512/4k: IBM Knowledge Center

If I were a betting man, I would estimate that these drives were likely in an array.
I believe you're correct on the origin. I gather from a very brief review of the IBM documentation is that the manager won't allow you to change the block size of disks already configured to be in the array, which it refers to as pdisks with 528 block. To change to 512 block, the disk has to be removed from the array and set as an hdisk. I suppose it's possible that this can only be done inside IBM array manager, but I would think the drive would allow you to format outside of the IBM manager. Especially a full wipe.

It's probably too much to ask to find an IBM system to drop this drive in and test. I'm not sure if there's a way to set up the IBM manager on a standard linux box.
 
Last edited:

azev

Well-Known Member
Jan 18, 2013
768
251
63
hmm this is very unfortunate, was following this thread closely especially because the pricing of this ssd is great deal if it works out.
 

kdub

Member
May 20, 2019
34
9
8
hmm this is very unfortunate, was following this thread closely especially because the pricing of this ssd is great deal if it works out.
It's not over just yet. Still some things to try. The problem with SED drives is there's often a specific order of operations needed to make these kind of changes. Which I'm not too familiar with. We haven't even messed with sedutils yet. I'm not sure if this works on ssds, but with hdd the hail mary is using camcontrol on freeBSD. Give it a try if you can, and post the output of diskinfo even if it doesn't work:
Code:
#get the drive location
camcontrol devlist
# get drive info to verify
diskinfo -v <disk location, example: da1>
# magic incantation assuming drive is da1
camcontrol cmd da1 -v -c "15 10 0 0 v:i1 0" 12 -o 12 "0 0 0 8 0 0:i3 0 v:i3" 512
# then format drive
camcontrol format da1 -q -y
Reformatting NetApp Disks from 520 sector size to 512 sector size using FreeNAS (FreeBSD) — Henderson's Law
 

azev

Well-Known Member
Jan 18, 2013
768
251
63
Hmmmm just saw someone purchased 36 of the drives from Ebay. I guess someone either have the IBM array or have found the solutions to convert the block size.
 

kdub

Member
May 20, 2019
34
9
8
Hmmmm just saw someone purchased 36 of the drives from Ebay. I guess someone either have the IBM array or have found the solutions to convert the block size.
Looks like the same user tried to buy all 48 of them on a week ago. They have 1188 feedback so I'm assuming this is another seller looking to make some money. Still 10 remaining. Of course, someone will buy all of them as soon as they read a solution here, if it exists.
 

Brick

New Member
Apr 19, 2019
8
1
3
It's not over just yet. Still some things to try. The problem with SED drives is there's often a specific order of operations needed to make these kind of changes. Which I'm not too familiar with. We haven't even messed with sedutils yet. I'm not sure if this works on ssds, but with hdd the hail mary is using camcontrol on freeBSD. Give it a try if you can, and post the output of diskinfo even if it doesn't work:
Code:
#get the drive location
camcontrol devlist
# get drive info to verify
diskinfo -v <disk location, example: da1>
# magic incantation assuming drive is da1
camcontrol cmd da1 -v -c "15 10 0 0 v:i1 0" 12 -o 12 "0 0 0 8 0 0:i3 0 v:i3" 512
# then format drive
camcontrol format da1 -q -y
Reformatting NetApp Disks from 520 sector size to 512 sector size using FreeNAS (FreeBSD) — Henderson's Law
FYI
Code:
root@c240-bsd1:~ # diskinfo -v da0
da0
    528             # sectorsize
    800166073344    # mediasize in bytes (745G)
    1515466048      # mediasize in sectors
    4224            # stripesize
    0               # stripeoffset
    94333           # Cylinders according to firmware.
    255             # Heads according to firmware.
    63              # Sectors according to firmware.
    IBM-SSG IBM-SSGMSVW800    # Disk descr.
    redacted    # Disk ident.
    Yes             # TRIM/UNMAP support
    0               # Rotation rate in RPM
    Not_Zoned       # Zone Mode

root@c240-bsd1:~ # camcontrol cmd da0 -v -c "15 10 0 0 v:i1 0" 12 -o 12 "0 0 0 8 0 0:i3 0 v:i3" 512
camcontrol: error sending command
(pass1:mps0:0:25:0): MODE SELECT(6). CDB: 15 10 00 00 0c 00
(pass1:mps0:0:25:0): CAM status: SCSI Status Error
(pass1:mps0:0:25:0): SCSI status: Check Condition
(pass1:mps0:0:25:0): SCSI sense: ILLEGAL REQUEST asc:26,0 (Invalid field in parameter list)
(pass1:mps0:0:25:0): Field Replaceable Unit: 17
(pass1:mps0:0:25:0): Data byte 9 bit 7 is invalid
 

Brick

New Member
Apr 19, 2019
8
1
3
RevertSP failed. Revert is not supported.
Code:
cat /sys/module/libata/parameters/allow_tpm 
1
./SeaChest_Erase_201_11923_64 -d /dev/sg1 --revertSP --psid xxxxxxxxxxxxxxxxxxxxxxxxxxxx --confirm this-will-erase-data
==========================================================================================
 SeaChest_Erase - Seagate drive utilities - NVMe Enabled
 Copyright (c) 2014-2019 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 SeaChest_Erase Version: 2.0.1-1_19_23 X86_64
 Build Date: Jun 10 2019
 Today: Mon Jan 13 19:56:14 2020
==========================================================================================

/dev/sg1 - IBM-SSGMSVW800 - redacted - SCSI

RevertSP
RevertSP Failure!

Revert is not supported with or without the psid.
Code:
./SeaChest_Erase_201_11923_64 -d /dev/sg1 --revert --confirm this-will-erase-data
==========================================================================================
 SeaChest_Erase - Seagate drive utilities - NVMe Enabled
 Copyright (c) 2014-2019 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 SeaChest_Erase Version: 2.0.1-1_19_23 X86_64
 Build Date: Jun 10 2019
 Today: Mon Jan 13 19:58:23 2020
==========================================================================================

/dev/sg1 - IBM-SSGMSVW800 - redacted - SCSI

Revert
Revert is not supported on this device.

Tried sanitize blockerase and it failed.
Code:
./SeaChest_Erase_201_11923_64 -d /dev/sg1 --sanitize blockerase --confirm this-will-erase-data
==========================================================================================
 SeaChest_Erase - Seagate drive utilities - NVMe Enabled
 Copyright (c) 2014-2019 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 SeaChest_Erase Version: 2.0.1-1_19_23 X86_64
 Build Date: Jun 10 2019
 Today: Mon Jan 13 19:52:11 2020
==========================================================================================

/dev/sg1 - IBM-SSGMSVW800 - redacted - SCSI

Sanitize
Starting Sanitize Block Erase
Sanitize command failed!

No luck with sedutil either:
Code:
./sedutil-cli --scan
Scanning for Opal compliant disks
/dev/sda   No  VM0160EASRP                              HPG3   
/dev/sdb   No   
No more disks present ending scan

./sedutil-cli --query /dev/sdb
Invalid or unsupported disk /dev/sdb

 ./sedutil-cli --query /dev/sg1
Invalid or unsupported disk /dev/sg1
 

kdub

Member
May 20, 2019
34
9
8
Well shoot. This is very disappointing. Unless anyone else has a suggestion I'd probably send it back for a refund. Thank you for your effort.