First post, by retardware

User metadata
Rank Oldbie

Overprovisioning means to set the SSD/HDD size smaller than it actually is.
This is done for various reasons:
-Some OSes/BIOSes have limits. In this case the limit is the 28-bit-LBA limit of Windows 98.
-Overprovisioning results in free extra internal management space that the SSD firmware can use for garbage management etc., reducing the negative impact of write amplification.

However, in practice this is not as easy as it seems, because of an annoying "security feature".
Windows 10 seems to love setting the "security lock" of SSD drives, so the common method of just unplugging the SATA power cable for a moment to unlock it did not work for me, in contrary to what the Intel documentation and their IntelMAS software suggested. So IntelMAS turned out to be useless, at least in practice.

For this reason to me it seems the easiest way to do that generically using Linux.
I'll show how I did that, configuring a 160GB SSD to exactly 128/137GB for usage with Windows 98.

Personally I recommend doing this using a Knoppix Live DVD, as Knoppix has a lot of useful system hardware management tools.
First I look which drives are present. The Disks program is very nifty for this, (Start->Accessories->Disks) as you can do some other things like enabling SMART and examine its data as well with just a few clicks.

First step should be erasing the SSD, telling its internal management to discard any previous data, so it does not need to preserve/rearrange it, preventing write amplification from the old contents.
In a terminal, su to root and then follow the instructions in this good write-up.

The next step then would be the actual overprovisioning. A neat small article about this is here.
The only thing you need to do different is to use hdparm -Np268435455 to set to the maximum (2^28 minus 1) sectors for old LBA.
After doing that reboot to load the new values.

Finally, the last step would be to create a FAT32LBA partition and set it active.

su to root in from command line/terminal window and then call fdisk: fdisk /dev/sdX where X is the id of the SSD you want to set up.
Then enter "o" to set up a MBR partition table.
After that enter "n" to set up a partition. Then enter "p" to set up a primary partition. After that you only need to press Enter a few times now, as the defaults are what you probably will want.
Now, press "t" and then enter "c" to change the partition type to FAT32LBA.
Then, press "a" to toggle the bootable flag, resp. set that partition as "active".
Finally, press "w" to write the partition table.

Probably it wasn't strictly necessary, but I rebooted.
And then I lazily used the "Disks" utility mentioned above to format the partition.

Finally, I booted from a DOS hard disk, did the obligatory SYS <drive>: and ATTRIB -R -H -S <drive>:*.* commands (with "D" as <drive> in this case), and copied to the SSD all the stuff I need for proceeding (Windows 98 CD files, utilities and drivers).
The very last step was putting the boot code to the SSD (D:) using the fdisk /cmbr 2 command. (If you set up using a floppy, you might be able to use fdisk /mbr instead)

Now the SSD was configured as big as DOS7.1/Windows 98 allows, bootable and can be put into use.

My "instructions" are just an example how one can do this.
Probably there are easier, less retarded ways to do this.
Thus, other descriptions how to overprovision SSDs for retro systems are welcome 😀

Reply 1 of 2, by jakethompson1

User metadata
Rank Oldbie

You can do the same trick to limit a drive under that 32GB limit that freezes some versions of Award BIOS.
It would be neat to make a Linux boot floppy with essential utilities like hdparm, dd, lspci, lsusb, etc., some of which would be in busybox.

Reply 2 of 2, by retardware

User metadata
Rank Oldbie

After losing a day trying to find out what is wrong on my new computer and the Crucial SSD I bought recently, I had to make a disgusting finding.
Using hdparm -Np on various computers only yielded strange error messages about some SATA errors.
I originally suspected problems with my newly bought computer or the Linux distros I tried to do overprovision with.

Finally I tried using Crucials' proprietary "Executive Storage" SSD maintenance program.
It refused to overprovision and said it cannot overprovision unpartitioned SSDs.

Then I consulted the manual of this annoying piece of software.
On page 29, I then learned that on Crucial (and possibly also Micron?) SSDs overprovisioning only is possible if one uses NTFS filesystem.
Crucial SSDs apparently cannot be overprovisioned unless you are willing/able to block one slot in the partition table with sort of a dummy NTFS partition and always take care that it never never gets accessed by any software.

So Crucial SSDs are a no-go if you want true overprovisioning.
I feel angry because I thought, as a Micron subsidiary, they were a "good" brand.
But possibly they are a brand to avoid like Spectek:

rasz_pl wrote on 2021-11-02, 03:00:

Chuck [Peddle] was talking about https://www.spectek.com

SpecTek began at Micron in 1988 as a component-recovery group. In the two decades since its inception, the company has grown from an internal group to a manufacturing division

They used to fix easy cases inhouse and also sell leftover parts below their effort threshold.

Maybe Crucial is the "new Spectek"?