i was getting some data off an NVMe drive when i noticed some test points labeled T, R, and G. you know what had to be done. đź§µ
when you power the drive on, it tells you a lot of things already! that it has a boot loader, 2 GB of DRAM, a multicore SoC, and an RTOS. but then it gets better!
first it dumps what i assume is the complete FTL state and a remap table. you could probably use this for data recovery, if you had it logged somewhere persistent?
second it tells you a bunch of information about itself and the NVMe link! you could probably use this to debug annoying power saving issues (coincidentally, I've observed annoying power saving issues with this SSD once in the past...)
third... it has a shell! "monitor", as it calls that. with a *massive* amount of available commands. it's reminiscent of U-boot, though it seems to be custom-made for NVMe drives
honestly i'm not sure what could one use the monitor for as an end user; many of the commands are broken, and most others are potentially immensely destructive

you can ask it which flash it uses, i guess? without removing the sticker
in fact i'm going to upgrade that to "just don't touch the monitor, period" because i did something that looked non-destructive and it seems to have immediately and permanently erased its bootloader without warning (???)
i have no idea what the fuck happened, but this is a controller that has A/B firmware updates and it somehow seems to have just went and wiped both of the slots without ever hinting that it's going to do so https://twitter.com/whitequark/status/1340274283164123136
ok well it looks like it didn't like some of what i entered and vengefully wiped the entire firmware flash cuz it's Oops! All 0xFF

thanks to a friend i have an original firmware image, let's flash that and try to restart the drive!
the moment of truth...
and... IT'S ALIVE AHAHAHAHAHA

it no longer has a serial number, and it erased all of the data since the key was in SPI flash (that's ok, we have a backup), and it wiped all of the erase counters (kinda unfortunate) but

IT WORKS. enumerates on PCIe. reads and wries just fine
You can follow @whitequark.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.