Kioxia NVMe SSD (KBG40ZNT256G) not recognized in older systems

Hi everyone; long time lurker, first time poster :sweat_smile:

I bought a Toshiba/Kioxia KBG40ZNT256G 256GB NVMe SSD for my work laptop, a Broadwell based HP EliteBook 840 G2 which only has a 2242/2260 2x PCIe slot, but itā€™s not recognized by the system.

This is the subject:

So, yesterday I started banging my head on a brick wall:

  • tried the SSD on my desktop, on an MSI Z97 Gaming 7 with an i7-4790K, both on the integrated M.2 PCIe 2x slot, and on a PCIe 16x slot using two different adapters; no dice.
  • tried on an Asrock 960GM-GS3 FX with a prehistoric Sempron 140, on two different PCIe adapters; same as before.
  • finally tried on my newest PC, with an Aorus B450 M and a R5 2600X IIRC, recognized it right away!

To check if the laptop and previous PCs had M.2 slots compatible with PCIe drives I took my other Sabrent Rocket NVMe M.2 drive and tested all of them: all PCs recognized the PCIe drive, even the EliteBook (!) while holding it at an angle because the Sabrent is a 2280 and the slot is a 2260/2242.

I then started scouring the internet, and saw a couple of post regarding a possible firmware update for the Dell branded BG4, altough those are the 2230 and not 2242 (respectively KBG40ZNS and KBG40ZNT), which supposedly mitigated those compatibility issues.
Upon further research I found the Lenovo update package which included my SSD part number, however it didnā€™t like the OEM FW which came on my drive: AELA0105. After digging a little more in the Lenovo package there was a list of ā€œapprovedā€ base fws, so I tried adding mine, and lo and behold:

I had to fiddle a little bit with the executable as it wouldnā€™t let me update the firmware without a battery. In a desktop computer.
Found an older executable, from the Lenovo chinese website (package name FWNVA40, for anyone interested), and added my drive to the list of supported drives.
Fingers crossed (since I was doing an unsupported upgradeā€¦) aaaand here we are with 0109AELA:

Did it make any difference? No. Still not recognized in any of the ā€œoldā€ PCs :dotted_line_face:

The only odd thing I noticed is even after the FW update itā€™s still recognized as a PCIe 2x device, while on the PCB there are 4 lines which suggest it could run at 4x:

Also, some online benchmarks quote way faster speeds that a PCIe 2x couldnā€™t do; mine on the AMD board does this on the last firmware:

Am I missing something here? Why on earth does this SSD work only on one motherboard (the newer, BTW) and not on the other three?
All of them recognize PCIe NVMe drives, just not this Toshiba/Kioxia.

TL;DR: bough a cheap ass NVMe SSD, canā€™t get it recognized on older PC which supports NVMe drives even after fw updates. Speculation it may also be software limited to PCIe 2x?

+1 for software locked:


Same identical ssd (& fw) mounted in the original Lenovo IdeaPad Slim5-15IIL, WAY different results :man_facepalming:t2:

As proved that is not a FW issue of the drive itself then all that remainsā€¦(Internal LENOVO lock!!!)

Its hardware generation chipset (8 Series Haswell) limitation and/or also the design of the laptop motherboard in internal bus links/speeds.
Its the same for users of Intel 6/7/8 and some 9 desktop motherboards (NVMe mod), only achieve full PCI3.0 x4 on their NVMe when using the 1rst PCIex16 slot and iGPU, other than that, due the hardware generation design, their all limited to PCIe2.0 x4 because they use the 2nd or following ones slots and have a GPU in use.

A final test only on a desktop motherboard (NOT Z97, higher than this) on a M.2 PCIe slot or in a PCIe3.0 Adaptor/Slot link 3.0 x4

EDIT: My friend this is only my opinion, i also buy some OEM drives but we are all in the same boat, its their own (LENOVO) custom hardware not a retail product. Iā€™ve seen your issue plenty of times and most of them stays as it comes, some persistent users and some luck can mod of find FWs or mod mb bios but only a very very tiny percentage, so sell it and be more carefull next time you buy used NVme.

I had (SOLD it asap) a more recent HP notebook (KabyLake) that the M.2 only accepted PCIe SATA not NVMe, and was confirmed by HP and so much more examples around the webā€¦ its their own machines design, you buy it cause you want, the same applies when we take a used OEM drive to skip some $ā€¦ we take the risks, but again this is only my point of view and opinion. Good luck.

Oh i forgotā€¦ i have now another HP CofeeLake that came with HDD and empty NVme M.2 slot, bougth a used Intel HP branded 660p (Part of their HW upgrade options)ā€¦ only runs at PCI3.0 x2ā€¦another to sellā€¦lol

1 Like

PCIe2.0 x4 would be sufficient, here Iā€™m limited to PCIe2.0 x2 with the Toshiba on the AMD system!
Also, under Haswell/Broadwell itā€™s not recognized.
With another drive I can obtain PCIe2.0 x4, as it should be on the second PCIe slot:

Bandwidth aside, the Toshiba is not getting recognized in my Haswell desktop and in my Broadwell work laptop. And itā€™s this that is driving me nuts.

EDIT: swapped the two NVMe drives in the AMD system, Kingston that was on the integrated M.2 slot recognized at PCIe3.0 x4 now on the 2.0 x16 (x4 electrically, using adapter) slot and the Toshiba now is in the integrated M.2 slot.
Now the Toshiba is not getting recognized. WTAF is going on :face_with_symbols_over_mouth:

Btw, I confirmed for the second time that the adapter and slot works at PCIe2.0 x4 with another SSD:

@Conti
Welcome to the Win-RAID Forum!
By the way - your SSD detection issue has much more to do with the Device Management than with the topic of the Sub-Forum ā€œNVMe Driversā€, where you posted it. The NVMe driver is only needed and usable for the management of the NVMe Controller, which is inside the SSD. The detection of the SSD itself is the task of the Disk Management of the OS and its in-box MS driver named disk.sys.
Enjoy the Forum!
Dieter (alias Fernando)

1 Like

Sorry for the necro. Maybe this will help someone else trying to run this nvme on an older boardā€¦

I have a dell with one of these kioxia bg4 drives (512gb). Wanted to put an nvme in an old gigabyte z97, so figured Iā€™d do some drive swapping. Got a wd sn570 that works just fine with the z97, but it wonā€™t boot with the bg4. Adding NvmExpressDxe_5.ffs (from [HowTo] Get full NVMe Support for all Systems with an AMI UEFI BIOS ) to the bios resolved the issue. Using it with a pcie adapter gets the full pcie2.0 x4 supported by the z97 (vs pcie2.0 x2 via m2). Havenā€™t tested bifurcating the cpuā€™s pcie3.0 but imagine itā€™d be fine too.

Tested the sn570 and it still works fine with the bios having both oem nvme support and the added dxe driver. Would it make sense to try streamlining by updating the existing dxe drivers with ones from a newer board-bios (z170 perhaps) instead?

@Conti @ziddey @MeatWar
Since the reported problems are BIOS related and cannot be solved by an NVMe storage driver, I have moved this thread into the much better matching Forum Category ā€œNVMe Support for old systemsā€.

@ziddey
I do not recommend to touch or replace any natively existing NVMe EFI module of the BIOS as long as you are able to boot off the NVMe SSD.