Electrical computers and digital processing systems: memory – Storage accessing and control – Access timing
Reexamination Certificate
2002-07-11
2004-11-02
Padmanabhan, Mano (Department: 2186)
Electrical computers and digital processing systems: memory
Storage accessing and control
Access timing
C711S163000, C713S324000, C380S252000, C326S008000
Reexamination Certificate
active
06813695
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates to a method for accessing a memory by a microprocessor in which a cache memory is provided in which portions of the contents of the memory can be buffered. The microprocessor requests a stored data value. Then the system ascertains whether or not the requested stored data value is contained in the cache memory. If the data value is not contained in the cache memory, the data value is read from the memory. A control signal is generated which, if the data value is contained in the cache memory, reads the data value either from the cache memory or from the memory, in dependence upon the control signal.
The invention also relates to a circuit configuration for carrying out such a method.
Microprocessor systems require a memory in order to permanently or temporarily store data or programs that are to be processed. In the running of the program, the microprocessor accesses the memory in order to load currently required program components. The memory is typically arranged next to the microprocessor as a separate external circuit block in an integrated semiconductor chip. Accesses of the external memory are therefore relatively slow.
So-called cache memories are utilized to accelerate memory accesses. They serve for avoiding latency times when the external memory is accessed, in that frequently required data or instructions are buffered in the cache memory. The caches are smaller than the external memories and are wired so that they respond rapidly to a request. Cache memories can be integrated on the same chip with the microprocessor. Both read and write accesses are handled by the cache.
A read request to the memory by the microprocessor with the aid of the external memory and a cache memory proceeds as follows: First, whether the requested item of data is contained in the cache memory is checked. If it is ascertained that the data item is not buffered in the cache (known as a cache miss), the data item is loaded from the slower external memory into the cache and thereby made available to the microprocessor. If the data item is contained in the cache memory (known as a cache hit), it is immediately read to the microprocessor and processed by same.
Microprocessors are utilized in security systems such as chip cards, among other applications. There, the microprocessor serves, among other functions, for encrypting the data traffic between the chip card and a read device, so that sufficient security against fraudulent attacks aimed at spying out restricted information is guaranteed. One type of attack consists in measuring the characteristic of the power consumption of the microprocessor. Inferences about the program sequence can be drawn from the characteristic current profile. Cache miss and cache hit events can be pinpointed with the aid of the current profile. From these, it is possible to deduce the coding and decoding algorithm that is being utilized, on the basis of the number and position of utilized memory accesses; it would then be possible to draw further inferences about the specific program sequence, and thereby to determine, with the aid of the current profile, trigger points at which other measuring procedures attach.
The current profile differs for a cache hit and a cache miss. While data from the cache memory are read immediately to the microprocessor in a cache hit, in a cache miss some time passes while the cache memory is loaded from the external memory. The current consumption is therefore smaller in the initial phase in a cache miss than in a cache hit. The current consumption in a cache miss rises during the loading of the cache memory owing to the numerous switching processes in the chip during loading. The current consumption can be measured by way of the external terminal pins of the integrated circuit or the current supply terminals of the chip card.
A data access with a cache miss thus lasts relatively long, and the loading operation brings about a relatively large current consumption of the central unit of the microprocessor. The result of cache hit and cache miss events is that the central unit must wait for different lengths of time for the data to become available. The wait process has a characteristically low power consumption of the central unit. The total power consumption in a cache miss is greater than in a cache hit. From this it is possible, by means of statistical evaluation methods utilizing correlations with the activity pattern of the current profile, to draw inferences about the processing steps within the microprocessor and the data being processed. The application of such conventional microprocessors in systems which process secret, security-related information is therefore problematic.
U.S. Pat. No. 5,765,194 describes a cache memory in which a cache miss is signaled instead of a cache hit. This prevents possible access collisions with respect to the cache memory. Given a cache hit, a deterministic control switches over to a cache miss.
U.S. Pat. No. 0.4,932,053 describes a random access to dummy memory cells for the purpose of disguising the current profile. U.S. Pat. No. 5,500,601 generally relates to the problem of the detectability of the current profile by monitoring.
SUMMARY OF THE INVENTION
It is accordingly an object of the invention to provide a method for accessing a memory by a microprocessor with the aid of a cache memory which overcomes the above-mentioned disadvantages of the heretofore-known devices and methods of this general type and which further improves the security against monitoring. A further object is to lay out a circuit configuration which guarantees better security against monitoring.
With the foregoing and other objects in view there is provided, in accordance with the invention, a method of accessing a memory with a microprocessor and having a cache memory wherein portions of memory contents of the memory can be intermediately stored, the method which comprises:
upon receiving a request from the microprocessor for a stored data value, determining whether the requested stored data value is contained in the cache memory;
if the data value is not contained in the cache memory, reading the data value from the memory;
generating a control signal in random fashion and, if the data value is contained in the cache memory, reading the data value either from the cache memory or from the memory in dependence on the control signal.
In other words, the objects laid out in connection with the method are achieved by a method for the accessing of a memory by a microprocessor with a cache memory in which portions of the contents of the memory can be temporarily stored. The microprocessor requests a stored data value and, whether the requested value is contained in the cache memory is ascertained. It is it not, the data value is read from the memory. A control signal is generated, which, if the data value is contained in the cache, reads the value either from the cache memory or from the memory, depending on the control signal. The control signal is a random signal, which is randomly generated.
The object in connection with the circuit configuration is achieved by a circuit configuration comprising: a central processing unit, a memory, a cache memory, and a control device which is connected to the CPU and the cache memory; whereby the control device contains: a random generator for generating a random signal, a device for ascertaining whether or not a data value that has been requested by the CPU is contained in the cache memory, a terminal for releasing a signal indicating that the data value is not contained in the cache, and a changeover device, which is controllable by the random generator, and which is connected on the input side to the terminal and the device for making the determination and coupled on the output side with the CPU for the purpose of a read operation is controllable either from the memory or from the cache in dependence upon a signal at the changeover device on the output side.
One or more cache memories can be provided. The describ
Gammel Berndt
Smola Michael
Baker Paul A
Greenberg Laurence A.
Infineon - Technologies AG
Locher Ralph E.
Padmanabhan Mano
LandOfFree
Memory access method and circuit configuration does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Memory access method and circuit configuration, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Memory access method and circuit configuration will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3322816