- Write-only memory
Write-only memory is the
antithesis ofread-only memory (ROM). By definition, a WOM is a memory device which can be written but never read. Since there seems to be no "obvious" utility for such a memory circuit, from which data cannot be retrieved, the concept is most often used as ajoke or ametaphor for a failed memory device.The Signetics original
Out of frustration with the long and seemingly useless chain of approvals required of component specifications, during which no actual checking seemed to occur, an engineer at
Signetics once created a specification for a write-only memory and included it with a bunch of other specifications to be approved. This inclusion came to the attention of Signetics management only when regular customers started calling and asking for pricing information. Signetics published a corrected edition of the data book and requested the return of the 'erroneous' ones.Later, in 1972, Signetics bought a double-page spread in the April issue of "Electronics" and used the spec as an
April Fool's Day joke. Instead of the more conventional characteristic curves, the 25120 "fully encoded, 9046 x N, Random Access, write-only-memory" data sheet included diagrams of "bit capacity vs. Temp.", "Iff vs. Vff", "Number of pins remaining vs. number of socket insertions", and "AQL [http://www.sixsigmaspc.com/dictionary/AQL-acceptablequalitylevel.html Acceptable Quality Level] [http://dictionary.reference.com/browse/AQL AQL] vs. selling price". The 25120 required a 6.3 VAC Vff (vacuum tube filament) supply, a +10V Vcc (double the Vcc of standard TTL logic of the day), and Vdd of 0V (ie. ground), ±2%. [http://www.catb.org/~esr/jargon/html/W/write-only-memory.html WOM in theJargon File v. 4.4.7]Practical uses
Just because data written to a device cannot be read back after it is written, does not mean that the data is lost or useless. In fact there are many real world applications of the WOM concept at the
register level:*
Trusted computing microcontrollers where the programmer does not want any one else to read the contents of the program on the microcontroller. An example is the feature found in certainmicrocontrollers where the FLASH ROM can be set to write-only mode so that the chip can be programmed and the program can run, but the program can not be read from the chip by an external programmer. To prevent a malicious user from blindly modifying the program to output the FLASH memory, these chips must be completely erased before the FLASH ROM can be written to again. This setup would however, allow internal reading of the memory.
* Controlflags inside aCPU or anI/O controller, such that the data written into a register controls the device (or process) in some way, without being explicitly read back, or even accessible to the device that wrote it.
* Inquantum computing some kinds of processing may involve systems processes that are completely reversible, i.e., where time can either go forward or backward without a change in theentropy of the system. In order to force a result, a quantum device might send unnecessary q-bits to an equivalent of /dev/null. This forces the selection of an eigenvalue. So if a quantum mechanical system could force losing chess positions into thebit bucket then the superposition of states would favor the selection of only the winning move or moves. The efficiency of a quantum computer therefore is determined by the number of q-bits that must be discarded in order for the overall entropy of the universe to increase (as it must) while allowing local entropy to decrease, effecting time reversal in the form of a quantum calculation.
* In garbage-collected programming environments, a reference may be written to memory to prevent its target from being collected. Although the program itself will treat this memory as write-only, the garbage collector will eventually read it.
* Overlaidcomplementary register pairs (or memory locations) which are mapped to the same physical address, such that one register is always READ only while the other register is always WRITE only. This was common practice in earlyI/O controllers andmicroprocessor memory mapping schemes, in order to save hardware and memory address space. The obvious problem with such a mapping scheme, is that the data-writer cannot verify, modify nor reuse the written data in any way, unless he keeps a backup copy of the register's contents within R/W memory. When two copies of the data are required for normal operation, hardware and memory address space are no longer saved. More importantly, the consequent "data write event" duplication means that register writes are no longer atomic (Atomicity ), which can lead to major headaches and status synchronization problems within interrupt driven applications.
* Some devices are naturally used as WOM in one context and ROM in another. Airplane black-boxes and other types of safety data recorders, for example, are typically write only during normal circumstances and read only after an accident. Another way of looking at this is WOM+ROM=R/W, where the reading and writing are done by different entities at different times. (This is NOT the same concept as the overlaid register pairs described in the previous paragraph.)
* Other devices are naturally WOM as far as a computer is concerned. They translate signals to a form that the writer cannot read (but usually either people or other machines can). A printer is an example of this type of device.
* Also see ROM, PROM,EPROM ,EEPROM (a.k.a. E²PROM), NOVRAM [http://www.intersil.com/data/an/AN1146.pdf INTEL, NOVRAM]See also
*
Write-only language
*FINO — First In, Never Out scheduling algorithm
*:/dev/null References
External links
* [http://www.microsoft.com/whdc/resources/MVP/xtremeMVP_hw.mspx#ETB Microsoft MVP: Write only registers]
* [http://www.writphotec.com/mano/Prob_Solutions/web_sol_ch13_ed3.pdf WriteOnly/ReadOnly Register pairs]
* [http://academics.vmi.edu/ee_js/Research/IC_Datasheets/digital_cmos/Write%20Only%20Memory.pdf Official Signetics 25120 Data Sheet]:"This article includes material from the
Jargon File ".
Wikimedia Foundation. 2010.