From The iPhone Wiki
Revision as of 11:40, 30 January 2020 by Xnudaemon (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

nvmefwupdater is a tool used by Apple to update the NAND firmware.


"NVMe (non-volatile memory express) is a host controller interface and storage protocol created to accelerate the transfer of data between enterprise and client systems and solid-state drives (SSDs) over a computer's high-speed Peripheral Component Interconnect Express (PCIe) bus." - [1]

The nvmefwupdater can be found on update ramdisks, however the nand firmware and bfh loader can only be found in certain OTA updates.

Update progress

1. The NVMe firmware updater talks to the AppleEmbeddedNVMeController kext

2. The AppleEmbeddedNVMeController userclient will try to place the NVMe in BFH mode

3. The BFH loader (Ex: /usr/standalone/firmware/BFH/s3e-bfh-loader.bin) is loaded into memory using DMA (Direct Memory Access) transfer commands

4. Now the firmware matching the nand model and revision is loaded, a .pak file in (/usr/standalone/firmware/)