Abstract:
A control circuit to disable the operation of a semiconductor microprocessor memory device in the event of an unauthorized attempt to access the memory. A logic circuit generates a control signal in response to receiving a predetermined binary bit pattern of a plurality of chip select signals. The control signal enables the memory device for operation. If the binary bit pattern is not presented, the memory device is disabled for operation.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to a unique security control circuit for preventing the unauthorized use of a semiconductor memory incorporated within a microprocessor unit. Presently there is a need to protect programs and data stored in memory devices of data processing equipment from being read by unauthorized persons. With increasing emphasis towards software programs, the need to protect such programs also increases. Once a program or other data has been stored in a memory device, it is very easy for one to remove the memory device and copy the program from the memory device using well known circuits. Thus it is the primary object of this invention to provide a semiconductor memory unit which requires the entrance into the memory unit of a predetermined sequence of data characters before the memory unit can be accessed. It is a further object of this invention to provide a control circuit located within the semiconductor memory unit for enabling the memory unit upon receiving a predetermined sequence of data characters. It is another object of this invention to provide such a control circuit which is simple in construction and low in cost. 
     SUMMARY OF THE INVENTION 
     In order to fulfill these objects there is disclosed a read-only memory (ROM) unit which includes a control circuit coupled to the chip select lines of the memory unit. After a power-up condition has occurred, a plurality of AND gates located in the control circuit receives a predetermined binary bit pattern of the chip select signal enabling the AND gates to sequentially gate a first control signal to a plurality of serially connected flip-flops. Upon receiving the proper binary bit pattern, the flip-flops are enabled in successive operation to output a control signal which enables the memory unit to be operated by the chip select signals. If the proper bit pattern is not received, the flip-flops are reset disabling the memory unit for operation. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Additional advantages and features of the present invention will become apparent and fully understood from a reading of the following description, taken together with the annexed drawings. 
     FIG. 1 is a block diagram of a standard ROM memory unit showing the chip-select lines coupled to the input buffer and control logic unit in which is located the control circuit for enabling the operation of the memory unit; 
     FIG. 2 is a block diagram of an edge detect circuit for generating control signals used in controlling the operation of the ROM memory unit; 
     FIG. 3 is a block diagram of the control circuit located in the input buffer and control logic of the ROM memory unit for controlling the operation of the memory unit; 
     FIG. 4 is a diagram showing the chip select signals which enable the ROM memory unit for operation; 
     FIG. 5 is a block diagram of the sequential logic circuit of the control circuit of FIG. 3; 
     FIG. 6 is a diagram of the control signals generated in the operation of the sequential logic circuit. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring now to FIG. 1, there is shown a block diagram of a ROM memory unit generally indicated by the numeral 20 which includes the present invention. An example of a conventional ROM memory unit that is presently commercially available is the Intel 2316E manufactured by the Intel Corporation of Santa Clara, Calif. Included in the memory unit 20 is a 16384  bit cell matrix 22 to which is coupled a decoder 24 which decodes the address bits A 0  -A 6  inclusive transmitted over lines 28 and received from the address input buffer 26. The address bits A 7  -A 10  inclusive transmitted over the lines 28 are inputted into a decoder 30 which decodes the data read out of the matrix 22. The decoded data bits D 0  -D 7  are outputted to the output buffer 32 for transmission over lines 34 to a receiving unit. 
     Further included in the ROM memory unit 20 is an input buffer and control logic unit 36 which receives from a microprocessor 37 associated with the ROM memory unit the active low chip select signals CS 1 , CS 2  and the active high chip select signal CS 3  over lines 38, 40 and 42 for transmission to a chip select program unit 44 which selects the chip to be accessed in accordance with a program stored in the unit. A description of the INTEL 2316E ROM memory unit and the chip select signals CS 1 , CS 2  and CS 3  required to operate the ROM may be found in the publication &#34;INTEL Data Catalog 1977&#34; published by the INTEL Corporation, 1977. The chip select signals outputted from the program unit 44 are transferred to a chip select decoder 46 which controls the operation of the output buffer 32 to output the required data over lines 34 to the receiving unit. 
     Referring now to FIG. 3, there is shown a block diagram of the control logic circuit located in the input buffer unit 36 (FIG. 1) of the ROM memory unit 20, which will enable the memory unit upon receiving a predetermined bit pattern of the chip select signals CS 1 , CS 2  and CS 3 . Included in this circuit is a reset generator 48 which receives over line 50 the chip power supply voltage signal V CC . The generator 48 will output the signal RESET (FIG. 4b) upon the signal V CC  (FIG. 4a) going high over line 52 to a sequential logic circuit 54 which receives over the lines 38, 40 and 42 the chip select signals CS 1 , CS 2  and CS 3  respectively. 
     In accordance with the present invention, the chip select signals CS 1 , CS 2  and CS 3  are required to exhibit the predetermined bit pattern before the ROM memory unit 20 can be enabled. In the present example, the signals CS 1 , CS 2  and CS 3  are required to have a first predetermined bit pattern of 0, 0 and 1 respectively to enable the ROM memory unit for operation. Prior to the generation of this bit pattern, such chip select signals are required to exhibit a second predetermined bit pattern which in the present embodiment is a 8-bit sequence. As shown in FIG. 4c, the chip select signal CS 1  is required to exhibit the bit pattern 1, 1, 1, 0, 0, 0, 1 and 1. In a similar manner, the signal CS 2  (FIG. 4d) must exhibit the bit pattern 0, 0, 0, 0, 1, 1, 1 and 0 while the signal CS 3  (FIG. 4e) is required to exhibit the pattern 0, 1, 0, 0, 0, 1, 1 and 1. If the second predetermined bit pattern of the chip select signals has been generated, the sequential logic circuit 54 (FIG. 3) will output the active high signal I (FIG. 4f) over line 56 to an AND gate 58 enabling the AND gate to gate the next CS 3  signal appearing on line 42 over line 60 to the chip select program unit 44 enabling the decoder 46 to control the buffer 32 to output data over lines 34 upon the generation of the first predetermined bit pattern of the chip select signals CS 1 , CS 2  and CS 3  appearing on lines 38, 40 and 60 respectively (FIG. 3). 
     Referring now to FIG. 5, there is shown a block diagram of the sequential logic circuit 54 (FIG. 3) for checking the second predetermined bit pattern of the chip select signals. Included in the circuit is a plurality of D-type flip-flops 62-70 inclusive, the number of flip-flops corresponding to the number of binary bits in the bit pattern of each of the chip select signals plus one. Further included in the logic circuit is a plurality of AND gates 72-86 inclusive, each receiving the output signal S of one of the flip-flops 62-69 inclusive. The other input of each of the AND gates 72-86 inclusive receives one of the chip select signals CS 1 , CS 2  and CS 3 . The output signal S of the flip-flops 62-69 inclusive sequentially enables one of the AND gates 72-86 inclusive to gate one of the chip select signals which in turn enables the next flip-flop to clock the output signal S. If this selected pattern of the chip select signals is correct, the last flip-flop 70 will be clocked to output the high signal I (FIG. 4f) over line 56 enabling the AND gate 58 (FIG. 3) to output the chip select signal CS 3  over line 60 resulting in the ROM unit 20 entering an operating mode. An inverter gate 138 is employed to present the proper level of the chip select signals to the AND gates 72-81 inclusive. 
     As shown in FIG. 5, each of the AND gates 72-86 inclusive is connected over line 88 to an OR gate 90 whose output line 91 is connected to a delay circuit comprising a plurality of non-inverting gates 92. The output line 94 of the last gate 92 is connected to the clock input of the flip-flops 62-70 inclusive. The output line 94 of the gates 92 is also connected to one input of a NOR gate 96 which together with a second NOR gate 98 forms a latch circuit generally indicated by the numeral 99 for use in disabling the ROM memory unit 20 when the required bit pattern of the chip select signals is not presented. 
     The NOR gate 98 (FIG. 5) receives the signals CS 1E  (FIG. 6c), CS 2E  and CS 3E  (FIG. 6d) which are pulses generated by edge detector circuits 100 receiving the chip select signals CS 1 , CS 2  and CS 3 . The signals CS 1E  -CS 3E  inclusive appearing on lines 102, 104 and 106, respectively, are also inputted into an OR gate 108 whose output line 110 is connected to the clock input of a D-type flip-flop 112 which also receives at its D input the output signal of the NOR gate 98 over line 140. The output signal of the flip-flop 112 is inputted over line 116 to the clear input of the flip-flop 62 and to one input of an OR gate 118 which outputs a clear signal over line 120 to the clear inputs of the flip-flops 63-70 inclusive. The OR gate 118 also receives the signal RESET (FIG. 4b) over line 52. As will be described more fully hereinafter, the flip-flops 62-70 inclusive will be cleared whenever the chip select signals CS 1 , CS 2  and CS 3  do not present the proper bit patterns. 
     Referring to FIG. 2, there is shown a block diagram of the edge detector circuit 100 (FIG. 5) for chip select signal CS 1  which includes inverter circuit gates 122, 124 and 126 and an Exclusive OR gate 128 which receives the output signal of the inverter circuit 126 and the chip select signal CS 1  appearing on line 38. The output signal of the Exclusive OR gate 128 is inverted by the inverter circuit gate 130 whose output signal CS 1E  is inputted into the NOR gate 98 and the OR gate 108 (FIG. 5) as previously described. Similar circuit arrangements are provided for each of the chip select signals CS 2  and CS 3 . 
     In the operation of the memory unit 20, once the power signal V CC  reaches a power-up level (FIG. 4a), the reset generator 48 (FIG. 3) will output the high signal RESET (FIG. 4b) over line 52 which resets the latch circuit 99 and also clears the flip-flops 63-70 (FIG. 5) inclusive by the appearance of the signal RESET on the output line 120 of the OR gate 118. The RESET signal also sets the flip-flop 62 which outputs a high signal S1 (FIG. 6g) over line 132 conditioning the AND gate 72 to output the chip select signal CS 1  appearing on its other input line 38. If the proper bit sequence is presented, the chip select signal CS 1  (FIGS. 4c and 6a) will be high, which is gated by the AND gate 72 over line 88 through the OR gate 90 and the inverter gates 92 which will then appear on line 94 as the clock signal CLK (FIG. 6f). The signal CLK will be inputted into the clock inputs of the flip-flops 62-70 inclusive clocking the flip-flops. Since at this time the D input of the flip-flop 63 is receiving the high signal S1, the clocking of the flip-flop results in the appearance on the Q output of the flip-flop 63 the high signal S2 (FIG. 6h) which is inputted over line 136 into the next AND gate 74. Upon the inputting of the next set of chip select signals CS 1 , CS 2  and CS 3  (FIGS. 4c-4e), the chip select signal CS 3  is selected to be inputted into the AND gate 74. A second clock signal (FIG. 6f) is generated upon the signal CS 3  (FIGS. 4e and 6b) going high resulting in the clocking of the next flip-flop 64. It will be seen from this construction that if the proper bit pattern of the chip select signals are inputted into the circuit, each of the flip-flops 63-70 inclusive will be sequentially clocked by the signal CLK until the flip-flop 70 will output the signal I over line 56 enabling the AND gate 58 (FIG. 3) to output the next chip select signal CS 3  allowing the ROM memory unit 20 to be accessed by the address data bits A 0  -A 10  (FIG. 1) in a manner that is well-known in the art. 
     The signal CLK is also inputted into the NOR gate 96 of the latch 99 whose output signal is inputted into the NOR gate 98 (FIG. 5). When the signal RESET (FIG. 4b) goes high, the NOR gate 96 will output a low signal which is transmitted over line 114 to the NOR gate 98. Upon the changing of any of the chip select signals, the corresponding signals CS 1E  -CS 3E  inclusive will go high resulting in the output signal of the NOR gate 98 appearing at point A (FIGS. 5 and 6e) going low. This signal is transmitted over line 140 to the NOR gate 96. Upon the signal CLK going high, the NOR gate 96 will output a low signal over line 114 to the NOR gate 98 whose output signal appearing at point A will go high. If the signal CLK is low, indicating the bit pattern of the chip select signals is not valid, the signal appearing at point A (FIGS. 5 and 6e) will remain low until the chip select signals again change state. Any time the chip select signals CS 1 , CS 2  and CS 3  inclusive change state, the corresponding signals CS 1E  -CS 3E  inclusive (FIGS. 6c and 6d) inputted into the OR gate 108 (FIG. 5) will go high enabling the gate 108 to output a high signal over line 110 to the clock input of the flip-flop 112. It will be seen from this arrangement that the Q output signal of the flip-flop 112 remains low as long as the proper bit patterns are maintained on the chip select signals. If at any time the proper bit pattern is not presented, the Q output signal of the flip-flop 112 appearing on line 116 will go high resulting in the clearing of flip-flop 62 and in the OR gate 118 outputting a high signal over line 120 and thereby also clearing the flip-flops 63-70 inclusive. The flip-flops 63-70 inclusive will remain in this reset condition until the power signal V CC  goes from low to high during a power up condition which removes the reset condition of the circuit, thereby enabling the circuit to start another memory enabling operation. 
     While the invention has been particularly shown and described with reference to a preferred embodiment thereof, it will be understood by those skilled in the art that various changes in forms and details may be made therein without departing from the spirit and scope of the invention. Hence, applicants desire their invention to be not limited beyond the scope as required by the appended claims.