How charge gets damaged by reading
To read one page, every other word line in the block must be raised to a pass voltage above all programmed states so unselected cells conduct. Holding that voltage injects a small number of electrons into the charge storage layer. One read is negligible; after tens of thousands of reads to the same block, the threshold voltage distributions of neighbouring pages — pages nobody has written — shift right, most visibly on the word lines closest to the page being read. The observable symptom is counter-intuitive: the data never changed, yet raw bit error rate creeps upward.
Counter granularity is a metadata budget problem
Protection starts with knowing which blocks are read hot. The simplest scheme is one read counter per block, migrating the whole block once a threshold trips. Finer schemes count per word-line group or sub-block and cut unnecessary migration substantially, at the cost of metadata volume and update overhead — those counters either occupy already-scarce DRAM or must be flushed periodically, and after power loss they have to recover to a deliberately conservative value. The practical answer is tiered: coarse counters resident, fine-grained detail expanded on demand only for candidate blocks.
Setting the threshold early or late both cost something
Set it low and migration runs often, so a read-intensive workload is penalised by write amplification it generated itself — a poor trade on a 1 DWPD part such as the J750. Set it high and page error rates cross the hard-decision capability boundary of the LDPC engine, dropping into the soft-decision path; read latency jumps well above the 65 µs class figure and P99.9 collapses first. The more robust criterion is not the counter alone: let the counter decide when to inspect, and let the error rate observed by background patrol decide whether to migrate now.
What this means for read-heavy workloads
CDN origin fetch, inference-side model weight loading and vector index lookup share one shape: a small hot set accessed with high concentration — precisely where read disturb accumulates fastest. Parts positioned for metadata, journal and cache tiers such as X7 and X9 sidestep part of the risk through high endurance and rapid data turnover, while capacity drives holding data for long residence times depend far more on read counting working together with background refresh. These policies are being validated during EVT with targeted read-stress scripts, against a data integrity target of UBER ≤1 sector per 10^18 bits read.
