PC-3000 SSD. Apple SM0XXXG AHCI drive Samsung recovery process

Based on ACE Lab’s extensive experience in SSD research, the most common problem with non-functional SSDs is damage to the firmware, specifically critical parts like the translator or service area system blocks.

The surest solution for damaged SSDs is to connect them directly to the PC-3000 Portable III / PRO and perform recovery via a special utility designed for the specific controller. This utility can operate with the drive’s internal firmware to repair it in case of corruption.

While it is not feasible to develop a custom utility for every SSD controller on the market, ACE Lab is continually working to expand our coverage and support for as many controllers as possible.

As a result, we sometimes tried some alternative methods that allow us to achieve a disk Ready State that is not officially supported by PC-3000.

Below is a typical example of restoring a damaged Apple AHCI PCIe drive, which is based on a Samsung processor and does not have a typical solution in the PC-3000 SSD Extended Add-on, but still has a good chance of accessing all data!

The solution was found in the PC-3000 Portable PRO 7.7.19 software update.

Our guest today is an Apple SM0256G AHCI SSD from a 2015 MacBook Pro 13. This drive had been in use for a long time, but suddenly stopped working in the Mac and the customer lost his data.

The first time we try to analyze the drive, it is important to remember that all Apple PCIe-based SSD drives in Macbook Pro, AIR, Mini, 21″ and 27″ models released between 2013 and 2015 are based on the AHCI data transfer protocol – a kind of ‘outdated’ data transfer protocol that uses the PCIe bus but still contains some commands from the old ATA protocol. This means that when we connect such a drive to PC-3000 Portable III / PRO, we need to manually select the PCIe AHCI connection type. Otherwise, when using the standard NVMe protocol, the drive will not be detected at all. Apple switched to NVMe for its SSDs only in 2016, so the later MacBook Air 2017 and iMac 21″ and 27″ 2017-2019 still use the corresponding Apple interface, Samsung controllers and the new NVMe instead of AHCI.

Our drive was manufactured in 2015, so it’s AHCI. To properly connect this Apple SSD to PC-3000 Portable III/ PRO  you will need a special adapter called PCIe NVMe/AHCI Adapter for Apple Macbook SSD.

Our next step is to select the correct port connection (AHCI PCIe) in the PC-3000 Portable PRO:

As soon as we launch the PC-3000 interface, we see the common ATA registers that are typically used for PATA and SATA drives, but not for PCIe-based SSDs. This happened because, as mentioned above, the AHCI protocol uses outdated commands from ATA. Therefore, we should expect the same as from a regular SATA-based SSD – Ready state (DRD and DSC indicators) if everything is OK, and BSY if the drive contains corrupted Firmware.

As we can see, right after powering on, the drive goes into Ready State without any issues.

But as soon as we try to launch Universal Utility and read the Passport ID, the drive goes into BSY state. This happens if the SSD has deep damage to its internal service area and goes into BSY state after any command we send to the drive, whether it’s reading the ID, sector reading or anything else:

Now we have a problem – the drive is in BSY/READY state, it does not read ID/sector information and we cannot proceed to the next steps. Initially, the disk goes to DRD DSC (Ready) state, but then switches to BSY state as soon as we try to get the ID in Universal Utility.

In this case, we can try one curious trick. Let’s create a new task in DE based on port 0:

After that, let’s remove all the checkboxes, including ‘Read Drive ID’:

And, of course, let’s prepare a data copy and select the target drive:

Now Data Extractor will ask us to enter the LBA number manually, as DE needs to generate a MAP:

The number of LBAs on your drive can be calculated easily:

Multiply the drive capacity in GB by 1024 (to convert GB to MB), then multiply again by 1024 (to convert MB to KB), and finally multiply by 2 (to convert KB to LBA, where 1 LBA equals 512 bytes).

In our case, the drive capacity is 256 GB, so 256 * 1024 * 1024 * 2 = 536,870,912 LBAs.

When our task is ready, we can move to the map and read LBA 0, where the Master Boot Record should be located. And again, as soon as we try to read any LBA, the drive goes into BSY, DRD, DSC state:

And here we should use our trick: we need to restart the drive and at the same time update the data in the LBA by pressing CTRL+R! The drive does not have enough time for a full reinitialization, so we force it to start reading data before it tries to read the ID:

Now we get the Master Boot Record reading and green LBA 0. But for further reading without freezing, you need to set the correct DE settings:

  1. Remove Soft Reset and Hard Reset from Error handling and leave only Turn off/on drive’s power:

2. If readiness is lost, set the same settings and keep the jump size equal to 1 LBA + reduce the readiness timeouts:

This should be enough to keep copying the disk with power cycling every time the drive freezes. The process is fully automatic, so we just need to wait for the main partition metadata to be read, and then, based on the HFS+/APFS information, we can build a map of the used sectors and force reading only in those areas:

Later, using additional NAND chips heated to +80..+140C, we can reread even damaged sectors if we make enough attempts.

This approach can be applied not only to Samsung-Apple SSDs with AHCI interface, but also to any other drives that remain in BSY state. Combined with intelligent heating, you can access data even on an unsupported drive if you have a way to connect the SSD directly to PC-3000 Portable III / PRO which includes a Data Extractor!

Feel free to reach out to ACE Lab Technical Support with any questions you may have.

Good luck with your cases!

1 Star2 Stars3 Stars4 Stars5 Stars (5 votes, average: 5.00 out of 5)
Loading...

This entry was posted in Articles, Data Extractor, PC-3000 SSD. Bookmark the permalink.

One Response to PC-3000 SSD. Apple SM0XXXG AHCI drive Samsung recovery process

  1. Manual task creation is definitely a step that should be explored on drives that goes BSY on ID reading.

Leave a Reply

Your email address will not be published. Required fields are marked *