referring to fig1 there is shown a preferred embodiment of a volatile memory write - protect ( write - enable ) circuit according to the present invention . in the preferred embodiment , the present invention is implemented using integrated circuits or other hardware circuitry rather than in cpu software or firmware . this minimizes the effect of a potential software or cpu malfunction which could result in the memory write - protect circuit being locked in an enabled state leaving the volatile memory unprotected and vulnerable to erroneous write commands . nonetheless , it is to be understood that the present invention could likewise be implemented in software or firmware in a straightforward manner without deviating from the scope or spirit of the present invention . the following description makes joint reference to fig1 and 2 . in fig1 the address , data , write and reset signals are provided by a program controlled data processing system , not shown , which utilizes the present invention . timer 100 is a well - known integrated circuit type monostable multivibrator arranged to provide an output pulse of about 1 millisecond ( ms ) on lead t1 , e . g ., t1 - t4 , in response to a first unlock signal u1 received on lead from decoder 101 . decoder 101 generates this first unlock signal u1 in response to decoding a first predetermined address word on memory address bus 102 . the output q of timer 100 outputs on lead t1 a 1 ms enable pulse beginning a time t1 to enable timer 103 . the operation of the present write - enable circuit requires a second unlock signal to occur during this 1 ms enable pulse . during this 1 ms pulse , the second unlock signal on lead u2 occurring at time t2 triggers timer 103 causing a 100 ms write - enable signal on lead t2 . the second unlock signal u2 is generated by decoder 105 which decodes a second predetermined address word on memory address bus 102 . this second predetermined address word is different from , and subsequent to the first predetermined address word . to provide additional security the address of the second predetermined address word should differ in more than one bit position from the first predetermined address word . only during the 100 ms write - enable pulse on lead t2 are write commands received over lead 106 gated through and gate 107 to enable data from bus 108 to be written into volatile memory 109 at the memory locations specified on memory address bus 102 . when timer 103 expires at time t8 , after about 100 ms , volatile memory 109 is again protected against erroneous write commands . the value of timer 103 is selected to enable sufficient time , e . g . t5 - t7 , to permit the desired number of write commands on lead 106 to be written into volatile memory 109 . if the second unlock signal u2 is not received during the 1 ms pulse from timer 100 , timer 103 is not triggered . thus , the first and second unlock signals u1 and u2 must be received within the 1 ms window to enable a 100 ms write - access interval to memory 109 . in the event that the memory write operation is aborted or completed prior to the expiration of 100 ms , t8 , the system generates a clear signal c1 , e . g . at time t3 - t6 , to timers 100 and 103 . clear signal c1 is generated via or gate 110 by either reset signal 111 or lock signal l1 from decoder 104 . clear signal c1 shown in fig2 is generated from a reset signal 111 which causes an abort in the memory write operation at time t3 . after the completion of a memory write operation , e . g . at time t7 , lock signal l1 is generated by decoder 104 , by decoding a particular address on memory address bus 102 . thus , as contemplated by the present invention , a write operation to a volatile memory is enabled for prescribed time period by two consecutive write - commands addressed to different predetermined locations of the volatile memory and is terminated by a write command to a third predetermined location of the volatile memory . note , unused memory locations or unused memory addresses can be utilized as the addresses to generate the two unlock signals u1 and u2 and lock signal l1 . it is to be understood that the time intervals of timers 100 and 103 can be set at any time value depending on the particular application . since timer 100 directly affects the vulnerability window of the memory , it should be set at the smallest time interval which would just enable the reception of unlock signal u2 . thus , in the preferred embodiment , unlock signals u1 and u2 could be two consecutive words on address bus 102 and hence , timer 100 would be set accordingly . the memory access time is set by timer t2 and is determined by the number of words to be written into the volatile memory . in the preferred embodiment , unlock signals u1 and u2 are generated from particular address ( key ) words on bus 102 . to reduce the likelihood that noise or system malfunctions could duplicate these key words , the words are selected so that the address differs from each other in several bit positions . thus , for example , a noise burst or a system malfunction which causes sequential address words on bus 102 will not likely be able to generate the particular address words within the time interval of timer 100 . it should be noted that unlock signals u1 and u2 could likewise be generated from other system control signals , other than particular memory write signals , which would precede write commands to the volatile memory . similarly , clear signal c1 can be generated from any system control signal . what has been described in merely illustrative of the application of the principles of the present invention . other circuits and embodiments can be implemented by those skilled in the art without departing from the spirit and scope of the present invention .