In this paper, we give several new constructions of write-once-memory (WOM) codes. The novelty in our constructions is the use of the so-calledWozencraft ensemble of linear codes. Specifically, we obtain the following results. We give an explicit construction of a two-write WOM code that approaches capacity, over the binary alphabet. More formally, for every ε > 0,0 < p < 1, and n=(1/∈)O(1/pc), we give a construction of a two-write WOM code of length n and capacity H(p) +1-p-∈. Since the capacity of a two-write WOM code is maxp(H(p) +1-p), we get a code that is ∈-close to capacity. Furthermore, encoding and decoding can be done in time O(n 2· poly (logn)) and time O(n· poly (logn)), respectively, and in logarithmic space. In addition, we exhibit an explicit randomized encoding scheme of a two-write capacity-achieving WOM code of block length polynomial in 1/∈ (again, ∈ is the gap to capacity), with a polynomial time encoding and decoding. We obtain a new encoding scheme for three-writeWOM codes over the binary alphabet. Our scheme achieves rate 1.809-∈, when the block length is exp(1/∈. This gives a better rate than what could be achieved using previous techniques. We highlight a connection to linear seeded extractors for bit-fixing sources. In particular, we show that obtaining such an extractor with seed length O(log n) can lead to improved parameters for two-write WOM codes.We then give an application of existing constructions of extractors to the problem of designing encoding schemes for memory with defects.
- Coding theory
- Flash memories
- Memories with defect
- Wozencraft ensemble
- Write-once-memory (WOM) codes