What is a program/erase cycle and why should I care?
The program/erase cycle is the term applied to the physics of how writes occur on NAND flash media. When data is written to NAND flash, it’s written in blocks and the entire block is written at the same time. If there is data already in that block, this data must be read, stored and merged with the new data and held temporarily while the block is erased. After the block is erased, the data can then be written to it.
For brand-new SSDs, writes occur quickly at first, because all of the blocks are empty and ready for writing. Over time, as blocks begin to fill, the flash controller must either write new data into new empty blocks, or perform the program/erase cycle for a given block, which takes longer than writing to already empty blocks.
Dig Deeper on Solid-state storage
Related Q&A from Dennis Martin
RDMA technology can help speed up I/O in storage environments by bypassing copy processes in the software stack when data is called up from a ... Continue Reading
Remote Direct Memory Access is a good way to reduce latency in flash environments and works with InfiniBand and some Ethernet connections. Continue Reading
Dennis Martin of Demartek discusses whether NAND flash wear-out is still a concern in this Expert Answer. Continue Reading