CS 3343/3341 Analysis of Algorithms Weird Topic |
Simulating
Write-Twice-Memory |
Using
Write-Once-Memory |
Joke: The "teaser" for this item said:
For another example, consider ROM memory, "ROM" for "Read Only Memory." Everybody knows about this. Suppose you had WOM memory. What? "Write Only Memory"? You can write to it but you can't read it? What use would that be?Ha! The joke's on you: "WOM" stands for "Write Once Memory", not "Write Only Memory". True "Write Only Memory" would be totally worthless. |
Scheme devised by Rivest and Shamir | ||
---|---|---|
Information | First Generation Burn |
Second Generation Burn |
00 | 000 | 000 or 111 |
01 | 001 | 001 or 110 |
10 | 010 | 010 or 101 |
11 | 100 | 100 or 011 |
Details of the scheme | |||
---|---|---|---|
Old Data | First Write |
New Data | Second Write |
00 | 000 | 00 01 10 11 |
000 or 111 110 101 011 |
01 | 001 | 00 01 10 11 |
111 001 (same) 101 011 |
10 | 010 | 00 01 10 11 |
111 110 010 (same) 011 |
11 | 100 | 00 01 10 11 |
111 110 101 100 (same) |
The 3-bit stored value
< a , b , c >
represents the 2-bit value < a ⊕ b , a ⊕ c >, where ⊕ is exclusive-or. |