Table of Contents
A board that boots successfully once has not established that a replacement SPI NOR flash is compatible. The first boot can use a different command sequence from a warm reset, a field update, or recovery after interrupted programming. A device that works under the operating system can still fail before that software ever runs.
For boot-memory procurement, treat the approved combination as the flash ordering code, board revision, controller boot configuration, and software release. Capacity and package are screening fields; they are not the acceptance test.
Start with the First Reader of the Flash

Identify every stage that accesses the device: immutable boot ROM, first-stage loader, later bootloader, operating-system driver, production programmer, and recovery tool. Record what each stage assumes about the flash at power-up.
The boot ROM deserves particular attention because it may offer fewer configuration options than later software. Ask whether it uses fixed opcodes, expects a particular address width, recognizes only selected device identifiers, or reads a configuration header from a fixed location. A kernel driver update cannot repair a failure that prevents the kernel from loading.
| Stage | Compatibility question | Evidence to retain |
|---|---|---|
| Boot ROM | Can it read the initial image in the device’s reset state? | Controller documentation and cold-boot test record |
| Loader | Does it change bus mode, registers, or addressing? | Configuration and exact software revision |
| Runtime | Are erase, write, protection, and suspend operations supported? | Driver support and functional test results |
| Update and recovery | Can an interrupted update leave a recoverable image? | Fault-injection plan and observed recovery behavior |
| Factory programming | Does the programmer identify and configure this exact part? | Programmer algorithm and verification settings |
The resulting matrix is more useful than a generic statement that the flash is “SPI compatible.” It also shows which owner must approve a change.
Use SFDP as Evidence, Not a Universal Compatibility Promise

Serial Flash Discoverable Parameters describe device capabilities in standardized tables. The Linux SPI NOR documentation explains how the driver can discover supported parameters through SFDP, while also describing cases that need explicit device handling, such as unsupported protection settings or incorrect SFDP data.
For an alternate evaluation, save the device identification and SFDP output where the platform exposes them. Pair those records with the controller and software version. A table dump obtained on an evaluation board does not prove that the production boot ROM uses that information.
Review the transitions between modes. If runtime software enables quad operation, enters a different address mode, or changes a nonvolatile configuration bit, determine what happens when only the processor resets. The flash may not experience the same reset event. The board’s actual reset wiring and software recovery sequence decide whether the next boot begins in the expected state.
Compare Exact Ordering Codes and Register Behavior

Begin with the electrical interface. The Winbond product selection guide places W25Q128FV and W25Q64FW in different density and voltage groups. This is a useful warning against selecting by the shared W25Q prefix; the historical guide is not a current lifecycle or stock confirmation.
When reviewing the catalog entries for W25Q128FVSG and W25Q64FWSTIM, obtain the current datasheet and ordering information for each complete code. Do not treat these entries as a recommended replacement pair. The Winbond catalog provides a navigation path, not an engineering approval.
After voltage and pin assignment, compare the behaviors that software touches:
- Read commands, supported bus widths, dummy cycles, and timing at the intended clock.
- Address width and the mechanism for accessing the full array.
- Quad-enable location, write procedure, and reset persistence.
- Status-register layout, busy indication, and write-enable behavior.
- Erase geometry, protection granularity, and hardware write-protect interaction.
- Reset, deep-power-down, and recovery timing where used by the design.
Mark each item matched, adapted, not used, or unresolved. “Not used” requires confirmation from every relevant software stage; it should not mean that the reviewer did not search the code.
Validate Failure Paths Alongside Normal Operation

A useful qualification plan deliberately covers more than image readback. Run cold starts and warm resets across the specified operating conditions. Exercise the supported clock and bus modes, then test update and recovery behavior on non-production samples with a controlled procedure.
For read/write testing, use data patterns that can expose address or erase-boundary errors. Verify that the expected region changed and protected regions did not. Document the test address range so that a partial test is not reported as full-array validation.
For power interruption, define the permitted outcome before testing. The requirement may be recovery to a previous valid image, a service mode, or an explicitly detected invalid image. It should not be an informal expectation that the last update “usually survives.” Avoid destructive protection tests on production stock; some lock settings can be difficult or impossible to reverse.
Record failures with the exact part, lot, board, supply sequence, firmware, and operation in progress. These details let engineering distinguish an unsupported command from a signal-integrity problem or a programming-tool setting.
Keep Market Signals Separate from the Approved Alternate List
Winbond’s August 2026 second-quarter business update provides current manufacturer context, but a business-segment result does not establish a particular NOR part’s price, lead time, or interchangeability. Confirm those commercial fields for the actual ordering code and requested quantity.
Likewise, the NAND and enterprise SSD supply outlook concerns a different memory market. Do not translate NAND demand into an unsupported NOR shortage claim. For frequent small data writes rather than code storage, assess FRAM versus EEPROM for logging as a separate architectural decision.
Release a SPI NOR alternate only when the approved record names the required software adaptations and validation evidence. Procurement can then source against an executable specification: exact code, permitted revisions, programming requirements, and acceptance conditions. A substitution is controlled when the next build can reproduce the approved boot behavior.
Frequently Asked Questions (FAQ)
Does matching SPI NOR capacity make two parts interchangeable?
No. Voltage, package, command behavior, addressing, register layout, reset state, protection, and host support must also match the application's requirements. Validate the complete boot and update sequence.
Does SFDP guarantee that a flash device will boot on any controller?
No. SFDP exposes device parameters, but the boot ROM or loader must support the relevant discovery and commands. Some settings and device-specific behavior also require explicit handling.
Can serial NAND replace SPI NOR boot memory?
Not solely because both use a serial interface. Memory organization and software requirements differ. The controller's boot support and the full firmware architecture must explicitly support the chosen memory technology.