The SSD power-cycle method, urban myth or ..
So all of a sudden your SSD does not longer show up after your PC ‘crashed’. You go online to search for a solution and people tell you to power-cycle the drive. The origine of the ‘trick’ appears to be a Crucial Support post:
- Find a computer that you can use for approximately 1 hour. We recommend that you try to perform this procedure on a desktop computer because it allows you to only connect the SATA power connection. This will improve the odds of the power cycle being successful. A USB enclosure with an external power source will also work.Apple desktop users please follow the same steps as Windows desktop users. If you don’t have a desktop, a laptop will work as well. With a laptop you will want to have the drive connected and navigate to the systems BIOS menu. Please refer to your system manufacture’s documentation on how to access the BIOS. Letting the drive sit in the BIOS will improve the odds that the power cycle will work. It is not recommended to use a USB enclosure that is powered via USB. Apple laptop users will want to boot the system to the open firmware.
- Once you have the drive connected and sitting idle for a desktop it is simply powering the computer and waiting. Laptop user will need to be in the BIOS menu, or open firmware as stated above. The computer will need to stay powered on for 20 min, and it is recommended that you don’t use the computer during this process.
- Power the computer down and disconnect the drive for 30 seconds.
- Repeat steps 2 and 3 one more time.
- Reconnect the drive normally, and boot the computer to your operating system.
- Update your firmware, if you are not already at the latest on your drive.
The post is in answer to a SATA SSD not being detected. If you’re dealing with a NVMe drive it’s not possible to connect only power. In that case try boot your PC and go into the BIOS and let it sit there. Key factor is to grant the SSD ‘idle time’ and let it not be disturbed by for example the OS with requests for ID and trying to read key sectors as the MBR, the GPT etc..
Before wasting time use for example a USB tester + an adapter that converts the SATA or NVMe drive to USB to determine if the drive is consuming power at all. So PC > USB Tester > USB/SATA or USB/NVMe Adapter > SSD. If the problems are result of a power issue, some diode that acts as a fuse may have ‘blown’, or a so called PMIC is broken and the SSD may not even power on. A more advanced USB tester even lets you plot power consumption and this can be very telling, but a dead SSD may virtually draw no power at all:
Does it work, and if so, how?
Dirty flags, chkdsk and safe mode ..
Chances are you may have heard from the file system ‘dirty-flag’. The dirty flag is a simple bit that the file system driver raises as soon as it mounts a file system, so set value to 1. Then once the file system is dismounted, because you shut down the PC for example, the flag is lowered, the value is set to 0. Now if the file system driver would mount the file system, say NTFS, and discovers the flag is not set to zero, it knows the file system is ‘dirty’ and was not gracefully dismounted. It will initiate a file system integrity check. The file system checker (chkdsk) will verify the file system is in a consistent state, and if not if not it will try to bring it into a consistent state.
An SSD maintains an internal file system, the FTL
Now, a SSD maintains it’s own file system at the firmware level. Think of the SSD as a computer, a specialized computer for providing storage. Just like a PC needs to locate a drive, a volume, file system boot blocks and files, the SSD needs to locate it’s firmware and so called ‘Flash Translation Layer’. This FTL can be thought of as a file system in which the SSD keeps track of bad blocks, allocated blocks, LBA to PBA mapping, etc.. IOW the SSD itself needs to boot up, and to gracefully shut down. If not gracefully shut down, due to for example a power failure, it may discover it’s internal file system is ‘dirty’, switch to a safe mode and run it’s internal chkdsk. For the duration of the safe mode it may not ID at all, or may ID as being in a safe mode (like SATAFIRM) with a reduced capacity.
Power-cycle = IDLE Time
Yes this can work, it’s not a myth. The power-cycle procedure may work.
All we try to accomplish with the power-cycle procedure is granting the SSD idle time, which the firmware can use to run the SSD’s internal chkdsk. Now, we see Crucial support recommends allowing the SSD 20 minutes of idle time. I can tell from experience that this may be too short and it may depend on different factors like drive size. Just like with chkdsk, it may need more time for a larger drive.
Similarities with chkdsk don’t end there! If there’s some more fundamental issue, chkdsk may not work, or chkdsk makes a mess of your drive, or chkdsk seems to run infinitely. A more fundamental issue is for example bad sectors or in case of the SSD degraded NAND memory cells. Also, the SSD itself has to at least boot to a point where it detects an issue and where it can initiate it’s integrity checking and correcting procedures. A PC with a corrupt partition table is likely to be unable to run chkdsk, a same sort of scenario may occur inside the SSD.
So although the power-cycle method is no myth and may work, there are plenty of reasons why it could not work. I that case, sending the drive to a data recovery may be a solution.