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.
This was first published in January 2012