• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

How does windows decide if a drive is HDD or SSD ?

So I am wondering where does windows keeps track if drives are HDD or SSD , and how can I go about to maybe correct this.
My guess is that over years, various Windows utilities have been sourcing disk information from different queries and it has gotten messy.

The disk management tools will end up being the most accurate since those are actively altering or controlling storage devices.

One attribute I've noticed on my Mac over the years is whether a storage device is "rotational". This is probably something being reported by the drive controller. The rotational attribute might be one of the key factors.

For sure drive controllers have evolved over the years and old ones won't be reporting all of the same data that newer ones will. And yes, there is always the chance of buggy code that results in incorrect data being passed over. Remember than there may be a host controller as well. These migrated from separate ASICs to things like the controller chip (e.g., AMD B550). So that's another location for bad code to cause problems.

I've ever encountered a bug-free computer system, whether it be in hardware or software.
 
You have a PCIe using AHCI protocol, this is an legacy SATA SSD.

Legacy SATA
Used for SATA SSDs, and interfaced through the AHCI driver and legacy SATA 3.0 (6 Gbit/s) port exposed through the M.2 connector.

So this is not an PCIe SSD.

Samsung sells one that uses AHCI trough the PCIe, then it's called 860EVO PCIe M.2.
It's connected to a PCIe slot and uses up PCIe lanes. So yes, it is.

SATA is an interface that can talk AHCI or IDE protocols.
PCIe can talk many protocols, AHCI being one of them. A PCIe device talking the AHCI protocol is still a PCIe device. Not a SATA device.

Or of you prefer the short version: if you can't stick it into a SATA port, it's not a SATA device.
 
I read somewhere years ago the automated benchmark windows would run on a clean install would categorise the drives, however this benchmark no longer is ran automatically and wouldnt explain how drive swaps are handled.

I would guess either via the ID of the drive, or via performance metrics.
 
Those times seem perfectly normal for an SSD. I have to wonder if the low sequential speeds are keeping windows from classifying the drive as an SSD or if there's just some bug / variable we aren't seeing.

Make sure that you have the latest firmware installed for your drive and run chkdsk / dism. It may also be beneficial to ensure your windows version is up to date.
I am keeping this system on windows 10 22H2.

I have created a bootable CD with the SSD firmware upgrade utility but it fails during the scan for SSD's.

Thanks everyone for the input.
 
Last edited:
It's connected to a PCIe slot and uses up PCIe lanes. So yes, it is.

SATA is an interface that can talk AHCI or IDE protocols.
PCIe can talk many protocols, AHCI being one of them. A PCIe device talking the AHCI protocol is still a PCIe device. Not a SATA device.

Or of you prefer the short version: if you can't stick it into a SATA port, it's not a SATA device.
Nope it is not at any way connected to the PCIe slot or uses any lanes...
Again it only uses power from the slot, the data goes via a SATA cable to the mobo.

Yes they do have real PCIe sata drives that uses the AHCI protocol, they call this a PCIe sata drive.

On this 4x PCIe card i can fit one NVMe drive, and above that a SATA legacy M.2, on the upper right a SATA connection to connect it to the mobo with a cable. Power comes from the slot used.

IMG_20240224_001134.jpg


An M.2 SSD that has both an M key and a B key, as pictured, will be a SATA SSD.

When i remove the SATA cable, the drive is not seen any more on Bios or Windows. Only the NVMe drive stays visible.
 
Last edited:
Nope it is not at any way connected to the PCIe slot or uses any lanes...
Again it only uses power from the slot, the data goes via a SATA cable to the mobo.

Yes they do have real PCIe sata drives that uses the AHCI protocol, they call this a PCIe sata drive.

On this 4x PCIe card i can fit one NVMe drive, and above that a SATA legacy M.2, on the upper right a SATA connection to connect it to the mobo with a cable. Power comes from the slot used.

View attachment 336053

An M.2 SSD that has both an M key and a B key, as pictured, will be a SATA SSD.

When i remove the SATA cable, the drive is not seen any more on Bios or Windows. Only the NVMe drive stays visible.
Ah, I get what you're saying now. I stand corrected.
 
Oh well, that happens all the time on forums that you misunderstand each other! We are only human. You know what? We're going to drink one! :toast:
 
I am keeping this system on windows 10 22H2.

I have created a bootable CD with the SSD firmware upgrade utility but it fails during the scan for SSD's.

Thanks everyone for the input.

Samsung's Windows app for managing retail SSDs (including firmware update) - should be able to manage that within Windows. Especially since a big part of its functionality is automated - such as - pinpointing the right firmware for your SSD and same goes for the installation progress (newbie friendly - you just click on install and it does the rest). As in...

 
@Jacky_BEL
did you secure erase the drive/was it new?
usually running winsat did it on any machine i build/worked on in past +5y,
but if it didnt, wiping the drive (and restoring perf) did (re-run winsat).

@bug
except that virtually all boards with +4 slots will drop down to sata if both/last ports are populated,
cant tell for latest/hedt rigs, as i havent used those myself.

e.g. my x570 can run slot 5 (in pcie mode) OR 6 (sata mode), but using both slots, they will only run as "sata",
even with pcie/pcie drives (port/protocol) installed, and accordingly dropping R/W below 1GB/s.
 
@Jacky_BEL
did you secure erase the drive/was it new?
usually running winsat did it on any machine i build/worked on in past +5y,
but if it didnt, wiping the drive (and restoring perf) did (re-run winsat).

It was a repurposed drive. Ah, can't remember if I performed a full clean in diskpart.

Samsung's Windows app for managing retail SSDs (including firmware update) - should be able to manage that within Windows. Especially since a big part of its functionality is automated - such as - pinpointing the right firmware for your SSD and same goes for the installation progress (newbie friendly - you just click on install and it does the rest). As in...

The Magician software seems unable to retrieve the serial number of the drive, so there is not much the app will do.
Actually it says INVALID SERIAL NUMBER ?
I might try to update the SSD firmware using a more recent PC.

Weird , in the System Details - Drive Summary of the Samsung app, it displays the serial number :confused:
 
Last edited:
Oh well, that happens all the time on forums that you misunderstand each other! We are only human. You know what? We're going to drink one! :toast:
It wasn't a misunderstanding, I totally forgot how motherboards make you choose between a SATA and an M.2 slot. In my mind, anything connected to M.2 was using PCIe.
 
I was able to check the firmware revision with Speccy , and the SSD firmware is up to date.
I vaguely remember using the samsung software on this PC before when installing the SSD and then removing it because I had no more use for it.

I also downloaded Defraggler and it correctly identifies the drive Mediatype as SSD.
But when letting it perform a drive analysis it uses the built-in windows services, so I am still not sure if the SSD will get trimmed or defragged.
 
Last edited:
I was able to check the firmware revision with Speccy , and the SSD firmware is up to date.
I vaguely remember using the samsung software on this PC before when installing the SSD and then removing it because I had no more use for it.

I also downloaded Defraggler and it correctly identifies the drive Mediatype as SSD.
But when letting it perform a drive analysis it uses the built-in windows services, so I am still not sure if the SSD will get trimmed or defragged.

To be fair, Samsung is quite famous for manufacturing capable hardware and mediocre at best (even infamous - to some extent) - when it comes to Windows Software (Android can be a different story - since it's also a different dev team). Can confirm this from personal experience - especially while using OEM SSDs (even newer/recent models) - for which Samsung refuses to offer support. Tho, since your SSD is retail - was hopping that's not the case (cause usually it isn't - maybe just with the oldest models).

Based on the way it works "Quick Optimize" from Deffragler seems to do the same thing as Windows Trim. Same can't be said about.... "Optimize" - which is a write intensive task (not as impactful as defragmenting - since all it does is writing 0s on the free space - thus, helping the SSD write functions at recognizing that space as ready to use - which can increase write speed). Another way to put it - every time you use it - is like installing/copying a really big file (the size of your SSD's free space). Doing this 10x in 2 months or so - can be the equivalent of an actual defrag (slightly shortening the SSD lifespan). So hey - i wouldn't use that to often. Or stick to "Quick Optimize" - which is same as using Windows SSD Optimize (TRIM).
 
@Jacky_BEL
NEVER do a "full" format on a non (rotating) disc drive, as its access is random, so it wont even do all areas, just puts more writes on the nand.

thats why you need to use a secure erase, which basically wipes/removes gpt/mbr info and partitions,
so the drives appears to be "new".
most newer boards have it included in the bios, or try using the samsung sw.
once wiped, i recommend installing the samsung nvme driver, or if you know how, just the inf file for the (nvme) samsung controler in device manager (thru "have disc").

samsung
 
@Jacky_BEL
NEVER do a "full" format on a non (rotating) disc drive, as its access is random, so it wont even do all areas, just puts more writes on the nand.

thats why you need to use a secure erase, which basically wipes/removes gpt/mbr info and partitions,
so the drives appears to be "new".
most newer boards have it included in the bios, or try using the samsung sw.
once wiped, i recommend installing the samsung nvme driver, or if you know how, just the inf file for the (nvme) samsung controler in device manager (thru "have disc").

samsung
Thanks , but I have the plain oldstyle 2.5" SATA drive.
The BIOS is set at native IDE and is greyed out so it can't be changed to AHCI.
But even in the IDE mode it should still have TRIM support no? I think it could well be an old driver issue.
I did change the storagecontroller drivers to the standard ones provided by microsoft, and now in the optimize window the drives are identified as SSD.

I did find a utilty that can actually check whether TRIM works on your SSD.
It has a github page, compiled versions are over here: Index of /trimcheck

The program will set up a test by creating and deleting a file with unique contents, then (on the second run, after you commanded to trim the drive) checks if the data is still accessible at the file's previous location.

This trimcheck did confirm TRIM now working on my SSD. :)
And Samsung Magician is now fully functional as well.
 
Last edited:
@chrcoluk
usually if win sat detects faster reads than 200MB/s it will be a non-hdd drive.

@Jacky_BEL
what bios are you using?
doubt its because its old, but still would try resetting to defaults, and reflash latest one after reboot.

could also be because win wasnt installed with the drive already "there"?

but more likely because its running thru an adapter, as i always had to use native connection
for anything related to FW updates/secure erase or the apps correctly IDing it.


get the free version, activate with (junk) email, use manual mode and optimize..
ssd fresh
 
Last edited:
It is a quite old packard-bell machine with AMI BIOS from early 2010.
This was my sisters machine that I updated with better components. In the mean time she got a laptop and decided to keep working on the laptop.

I searched for BIOS updates but couldn't find any.
The original driver uses nvidia Serial ATA , and when researching I found that these were lacking in SSD functionality.
These MS drivers do the job well , so I consider the problem solved.
 
maybe next time, would be good to initially include that info (different/2nd rig).
as i thought this was your rig you had trouble with, and looking at specs, couldnt see why..
 
Initially I was just trying to find out how windows classifies drives as HDD or SSD in general , hence the title.
Thinking it maybe was something that could be changed in the registry.
 
Last edited:
Back
Top