pub fn check_legal_flash(
t: &FlashTimings,
plan: &[TimedCmd],
) -> Result<(), String>Expand description
The INDEPENDENT legality checker — a total function over the plan, sharing no code with
the scheduler. Verifies per-die serialization (a die runs one op at a time, so a read is
never issued while its die is mid-erase — the collision the whole design avoids) and
per-channel data-bus disjointness. A die’s ops arrive in issue order, so a running
watermark is exact; a read’s data-out is DELAYED by tR (sense first), so its bus window
need not align with issue order — the channel is checked by interval disjointness, not a
watermark. First violation as Err(description).