Protected address range in an electrically erasable programmable read only memory
First Claim
1. An apparatus for protecting writes to a programmable address range of a memory device, said programmable address range comprising an addressable area smaller than the total addressable area of said memory device, said memory device being readable and writable, said apparatus comprising:
- means for defining a protected address range of said memory device, said protected address range being of a predetermined selectable variable size and adapted to be physically configurable in hardware;
means responsive to said defining means for decoding the address range defined by said defining means to generate an address decode signal in response to an address signal that corresponds to the protected address range;
means responsive to said address decode signal for preventing writes to the protected address range in said memory device while enabling data in the protected address range in said memory device to be read; and
means for programmably disabling said preventing means, said disabling means including means for allowing reads and writes to said protected address range in said memory device.
6 Assignments
0 Petitions
Accused Products
Abstract
An interface between the host CPU and the programmably memory, providing an address, data and read/write control signals to create a non-volatile sector within the programmable memory. In an embodiment when the system reset is de-asserted immediately after power-on, the size of the protected EEPROM area is sensed on special strapping option pins and automatically configures the non-volatile sector. This allows the size of the protected area to be changed on the manufacturing line as needed for different applications. Once configured to protect a specific size and location in the non-volatile memory, the invention prevents the write control signal to the memory to be asserted when the address of the data access requested by the CPU is in the protected area of the memory. This has the effect of preventing modification of the protected area by a sector modification algorithm.
-
Citations
22 Claims
-
1. An apparatus for protecting writes to a programmable address range of a memory device, said programmable address range comprising an addressable area smaller than the total addressable area of said memory device, said memory device being readable and writable, said apparatus comprising:
-
means for defining a protected address range of said memory device, said protected address range being of a predetermined selectable variable size and adapted to be physically configurable in hardware; means responsive to said defining means for decoding the address range defined by said defining means to generate an address decode signal in response to an address signal that corresponds to the protected address range; means responsive to said address decode signal for preventing writes to the protected address range in said memory device while enabling data in the protected address range in said memory device to be read; and means for programmably disabling said preventing means, said disabling means including means for allowing reads and writes to said protected address range in said memory device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for protecting a predetermined readable and programmable address range comprising:
-
at least one processor; a memory device readable by said at least one processor;
said memory device being programmable by said at least one processor and responsive to a write enable strobe generated by said processor;means for defining a protected address range within said memory device, said protected address range being of a predetermined selectable variable size and adapted to be physically configurable in hardware; means for preventing software reconfiguration of said protected address range; means responsive to address signals generated by said at least one processor which correspond to said protected address range in said memory device for protected address range in said memory device while enabling data in the protected address range to be read; and means for disabling said preventing means, said disabling means allowing writes and reads to said protected address range in said memory device. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A system for protecting a predetermined readable and programmable address range comprising:
-
at least one processor; a memory device readable by said at least one processor;
said memory device being programmable by said at least one processor and responsive to a write enable strobe generated by said processor;means for defining a protected address range within said memory device, said protected address range being of a programmably selectable variable size and adapted to be configured by hardware; means responsive to address signals generated by said at least one processor which correspond to said protected address range in said memory device for preventing write commands to said memory at said protected address range in said memory device while enabling data in the protected address range to be read; and means for disabling said preventing means, said disabling means allowing writes and reads to said protected address range in said memory device; a main memory having more than one megabyte of addressable storage locations being selectable by at least 21 address lines A0-A20, wherein said computer includes a central processing unit (CPU) for processing data adapted to be coupled to at least one peripheral device by way of a predetermined keyboard interface, said CPU having at least two modes of operation, including a real mode of operation for accessing said main memory up to one megabyte and a protective mode of operation for accessing said main memory above one megabyte, said two modes of operation enabling said protected address to be configured at any address in said main memory, one of said two modes of operation adapted to be selected by one or more predetermined control signals, said CPU adapted to be reset by way of a predetermined reset signal, said main memory, said main memory and said CPU connected to a common bus, said system further comprising; means for enabling said A20 address line for memory accesses over one megabyte in response to a hardware based Gate A20 control signal; a system control processor (SCP) for communicating with said CPU and adapted to generate the reset signal for resetting said CPU under predetermined conditions; and interfacing means interconnected between said CPU and said SCP for interfacing said CPU and said SCP for controlling communication between said CPU and said SCP and for emulating said predetermined keyboard interface, said interfacing means including predetermined hardware for enabling switching the mode of operation of said CPU from said real mode of operation to said protected mode of operation and for generating the hardware based Gate A20 signal for enabling said CPU to access main memory above one megabyte by automatically enabling said A20 address line in response to said hardware based Gate A20 control signal to enable relatively faster access to said protected address range while maintaining IBM PC-AT compatibility, said interfacing means further including means for enabling either said SCP or said CPU to generate said reset signal.
-
-
17. A method of protecting a predetermined readable and programmable address range in a readable and programmable memory device, comprising the steps of:
-
defining a programmably selectable variable sized protected address range within said memory device by hardware configuration; preventing software reconfiguration of said protected address range; decoding the address range defined by said defining step and generating a memory protect signal corresponding to the predetermined protected address range; gating the memory protect signal of said decoding step with a write control signal associated with the programmable memory device to inhibit WRITES to said protected address range in said programmable memory device while enabling data in the protected address range to be read; and disabling said gating step to prevent said WRITE inhibit to said memory, said disabling step allowing data to be read and written to said memory device. - View Dependent Claims (18, 19, 20)
-
-
21. An apparatus for protecting a predetermined readable and programmable address range in a readable and programmable memory device, said apparatus comprising:
-
means for defining a predetermined protected address range in said memory device with hardware, said defining means corresponding to said predetermined readable and writable address range, wherein said predetermined readable and writable address range may be of a predetermined selectable variable size and adapted to be physically configurable in hardware; means for preventing software reconfiguration of said protected range; means responsive to said defining means for decoding addresses corresponding to said predetermined protected address range in said memory device and generating a decode signal when the address signal applied corresponds to said protected addresses; means responsive to said decoding means for preventing WRITES of said programmable memory device for addresses corresponding to said protected address range in said memory device while enabling data in said protected address range in said memory device to be read; means for intercepting and disabling erase commands to said memory device for preventing erasure of data in said programmable device; and means for programmably disabling said WRITES preventing means, said programmably disabling means including means for allowing reads and writes to said protected address range in said memorv device.
-
-
22. A computer system comprising:
-
an address bus, a data bus and a control bus for coupling predetermined devices in the computer system; a readable and programmable memory device coupled to said address bus having a predetermined amount of storage space defining a predetermined readable and programmable address range; means coupled to said address bus, said data bus and said control bus for selectively generating address signals and WRITE commands to said memory device; and means coupled to said address bus and said control bus for decoding addresses on said address bus and disabling WRITE commands for addresses which correspond to a predetermined portion of said predetermined address range in said memory device while enabling data in said predetermined portion of said predetermined address range in said memory device to be read, said disabling means including means for physically configuring in hardware said predetermined portion of said predetermined address range to be of a predetermined selectable variable size and for disabling software reconfiguration of said protected address range, said disabling means further including means for disabling predetermined erase commands to said memory device for preventing erasure of the contents of said memory device; and means for programmably disabling said decoding and disabling means for allowing reads and writes to said protected address range in said memory device.
-
Specification