The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Nvmefwupdater
nvmefwupdater is a tool used by Apple to update the NAND firmware.
About
"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/)