Computer arrangement using non-refreshed DRAM
First Claim
1. A terminal provided with a terminal processor and a terminal communication interface connected to said terminal processor and arranged for communicating with a computer arrangement comprising a processor, a communication interface and at least one memory unit, said communication interface and said at least one memory unit being connected to said processor, said at least one memory unit comprising memory for storing a computer program with a predetermined sequence of instructions and dynamic random access memory, said computer arrangement being arranged to use but not to refresh at least part of said dynamic random access memory while running said program, wherein said terminal processor is arranged to carry out the following steps:
- (a) emulating said computer program;
(b) analyzing time period necessary for the processor of the computer arrangement to carry out each instruction of said sequence of instructions and determining all retention times necessary for the processor to temporarily store data in said at least part of said dynamic random access memory during carrying out said sequence of instructions;
(c) establishing sets of consecutive instructions for which said retention times are longer than a predetermined refresh time(d) adding additional instructions to said sets of consecutive instructions in order to obtain modified retention times of those sets of consecutive instructions which modified retention times are shorter than said predetermined refresh times.
0 Assignments
0 Petitions
Accused Products
Abstract
A computer arrangement with a processor (5) and at least one memory unit (7, 9, 11, 13) connected to the processor (5) and including dynamic random access memory (13), wherein the computer arrangement is arranged to use but not to refresh at least part of the dynamic random access memory (13) while running a program.
79 Citations
24 Claims
-
1. A terminal provided with a terminal processor and a terminal communication interface connected to said terminal processor and arranged for communicating with a computer arrangement comprising a processor, a communication interface and at least one memory unit, said communication interface and said at least one memory unit being connected to said processor, said at least one memory unit comprising memory for storing a computer program with a predetermined sequence of instructions and dynamic random access memory, said computer arrangement being arranged to use but not to refresh at least part of said dynamic random access memory while running said program, wherein said terminal processor is arranged to carry out the following steps:
-
(a) emulating said computer program; (b) analyzing time period necessary for the processor of the computer arrangement to carry out each instruction of said sequence of instructions and determining all retention times necessary for the processor to temporarily store data in said at least part of said dynamic random access memory during carrying out said sequence of instructions; (c) establishing sets of consecutive instructions for which said retention times are longer than a predetermined refresh time (d) adding additional instructions to said sets of consecutive instructions in order to obtain modified retention times of those sets of consecutive instructions which modified retention times are shorter than said predetermined refresh times. - View Dependent Claims (2)
-
-
3. A method for processing instructions using a Dynamic Random Access Memory (DRAM), comprising:
-
providing a DRAM having a word line of memory cells including a set of witness cells; running a program by a processor that writes data into the word line of the DRAM, the processor arranged to use but not to refresh at least part of the DRAM while running the program, writing a predetermined data pattern in the witness cells in response to the processor writing the data into the word line of the DRAM; reading data from the witness cells in response to a determination that the processor reads data from the word line; comparing the data read from the witness cells to the predetermined data pattern; and preventing execution of the program when the witness cell data does not match the predetermined data pattern. - View Dependent Claims (4, 5, 6)
-
-
7. A method for processing a software program including instructions for execution by a processor that uses a Dynamic Random Access Memory (DRAM), comprising:
-
determining a corresponding time period for the processor to execute each instruction of the software program; determining a corresponding time period between updates of data stored in the DRAM and used by the software program instructions when executed by the processor; determining a set of instructions in the software program that require data to be retained in the DRAM longer than a retention time of the DRAM, wherein the retention time is a period of time that data is retained in the DRAM when no refresh operation is used; and rearranging the determined set of instructions to ensure data stored in the DRAM is used the software program instructions before the end of the retention time of the DRAM. - View Dependent Claims (8, 9, 10)
-
-
11. A system for processing instructions using a Dynamic Random Access Memory (DRAM), comprising:
-
a DRAM having a word line of memory cells including a set of witness cells; a processor that executes a program that writes data into the word line of the DRAM, the processor arranged to use but not to refresh at least part of the DRAM while executing the program, and a logic component configured to compare data stored in the set of witness cells to a predetermined data pattern previously written into the set of witness cells, and provide an indication to the processor when the logic determines the stored witness cell data does not match the predetermined data pattern, wherein the processor is configured to prevent further execution of the program in response to receiving the indication. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23)
-
-
20. A system for processing a software program including instructions, comprising:
-
a first processor that executes the software program and uses a Dynamic Random Access Memory (DRAM); and a second processor configured to; determine a corresponding time period for the first processor to execute each instruction of the software program, determine a corresponding time period between updates of stored data in the DRAM used by the software program instructions when executed by the first processor, determine a set of instructions in the software program that require data to be retained in the DRAM longer than a retention time of the DRAM, wherein the retention time is a period of time that data is retained in the DRAM when no refresh operation is used, and rearrange the determined set of instructions to ensure data stored in the DRAM is used the software program instructions before the end of the retention time of the DRAM.
-
-
24. A terminal comprising:
-
a terminal processor; and a first interface that communicates with a second interface included on a separate computer arrangement including a DRAM having a word line of memory cells including a set of witness cells, a processor that executes a program that writes data into the word line of the DRAM, the processor arranged to use but not to refresh at least part of the DRAM while executing the program, and a logic component configured to compare data stored in the set of witness cells to a predetermined data pattern previously written into the set of witness cells, and provide an indication to the processor when the logic component determines the stored witness cell data does not match the predetermined data patter, wherein the processor prevents further execution of the program in response to receiving the indication.
-
Specification