WOM codes were originally proposed for write-once storage media such as punch cards and optical disk. However, they can be applied to flash memories, which impose similar constraints: the bit value of each cell can only increase, not decrease, unless the entire block is erased.
Nand Flash has a erase-before-write feature, which makes it hard to utilize. This paper introduce write-once memory (WOM) codes, designed to accommodate additional writes on write-once media, to NAND flash based SSDs. The WOM codes is designed to enable multiple write on media which can only transfer ‘0’ to ‘1’. One example is three-write WOM-code:
In each write, we only need to transfer the ‘0’ bit to ‘1’. Thus, we can write multiple times before erase. Then, the erase operation can be reduced. Because the erase operation is slow and can reduce the lifetime. In using WOM codes, we can not only improve the performance but also extend the lifetime of flash.