Like all the desktop I own in the last decade, they are custom-built, on a budget. This PC I built in 2018 was based on the (then) new AMD Ryzen AM4 socket, B350 chipset can support up to Zen 2 CPU (7nm) which is a huge upgrade from the first generation of Zen (14nm) architecture. In short, this can run all first 3 generations of AMD Ryzen 1xxx up to 3xxx CPUs. With that put out of the way, this motherboard GA-AB350M-D3H is a budget motherboard you can get it for under $100 from most of the places that offer such hardware.
Despite the budget profile, it has everything you can ask for from a motherboard with future expansions. It offers four DDR4 RAM slots, two PCI-e slots, and one M.2 NVMe SSD support. The support for M.2 SSD caught my eye and I’ve built the PC to run Windows 10 off an HP M.2 SSD. For almost a year I’ve not questioned the issue of why I cannot find traditional HDD in the BIOS setting nor do I see them in Windows 10 when I have the machine boot from an M.2 SSD drive. Why disk does not appear under Computer Management > Disk Management.
This past week I took-a-stab try to figure out why I cannot run HDD when M.2 SSD is connected. Here is what I found:
Above is the layout of my Gigabyte motherboard, and such layout is fairly common to not only the B350 chipset motherboard but also applies to some of the other AMD’s newer chipset like X370, B450, X470, and B550 motherboards.
Note, if you read the motherboard manual, it stated the storage interface for this motherboard supports 1x M.2 connector (Socket 3, M key, type 2242/2260/2280/22110, SATA and PCIe x4/x2 SSD support). And in addition to that there are 6 SATA 6 Gb/s connectors, theoretically would allow me to connect up to 6 hard drive via the SATA interface.
However, what I failed to read is further down in the user manual of this motherboard. It has a chart table described a short come behaviour you’d normally not expect when you build and plug things with the motherboard. If you have SSD via the M.2 using PCIex4 connector, which is what I have. Your ASATA 0 and ASATA 1 port will not be detected. It says, due to the limited number of lanes provided by the Chipset, this motherboard will limit the SATA connection.
M2F_32G (M.2 Socket 3 Connector)
The M.2 connector supports M.2 SATA SSDs and M.2 PCIe SSDs and supports SATA RAID configuration through the AMD Chipset. Please note that an M.2 PCIe SSD cannot be used to create a RAID array. Refer to Chapter 3, “Configuring a RAID Set,” for instructions on configuring a RAID array.
That also means if you pay attention to the motherboard there are two groups of SATA ports, the two in the middle of the board named ASATA0 and ASTAT1 is effectively sharing the same bus as the M.2 SSD, and those two connectors will be disabled if you connect any hard drive to SATA SSD to them.
This also explained why no matter what version of BIOS I’ve upgraded this Gigabyte motherboard nothing would’ve worked as long as I use the first 2 SATA port.
The solution is simple, plug your hard drive’s SATA cable to the bottom of the motherboard use port 2-5 instead of ASTAT 0 and ASATA 1.
Mystery finally solved and turns out such limitation isn’t new, and it’s fairly common on some budget motherboards where the manufacture (Gigabyte in this case) would try to jam as much as features on the board but would be dynamically disabled or limit the speed based on the bus speed of the chipset. After all, how can you complain when you build a sub $400 dollar PC with all modern hardware and running M.2 SSD over 1000MB read and write speed, with speedy Windows 10, missing few HDD connectors to store for more data isn’t a big problem. The lesson here is to read the user manual! Even when you know and you’d expect how things work, they might not always work the way you think it will.
Happy building! Hope you won’t run into this problem again.