Memory transformation apparatus and method
First Claim
1. A transformed data and address storage and retrieval apparatus comprising:
- (a) address transformation means comprising;
(1) means for determining, for each virtual address, exactly one corresponding transformed address, each transformed address being determined by exactly one corresponding virtual address;
(b) virtual information manipulation means comprising;
(1) means for inputting, from a processing unit, a virtual word of data and exactly one corresponding virtual address to which the virtual data word is to be outputted from the processing unit;
(2) means for transforming the virtual data word to a transformed word of data, the virtual data word transformation means further comprising means for combining the virtual data word with the transformed address set out in element (a) or with a combination of the virtual address and the transformed address; and
(3) means for outputting, to a memory, the transformed data word and the transformed address; and
(c) transformed information manipulation means comprising;
(1) means for inputting, from the processing unit, a virtual address from which a virtual word of data is to be outputted from the processing unit;
(2) means for outputting, to the memory, a transformed address determined from the virtual address by the address transformation means;
(3) means for inputting, from the memory, a word of data from the transformed address, the data word being considered to be a transformed data word subject to being inverse transformed to a virtual data word;
(4) means for inverse transforming the data word described in element (c)(3) to a virtual data word, the inverse transformation means being the inverse of the transformation means set out in element (b)(2); and
(5) means for outputting, to the processing unit, the virtual data word.
10 Assignments
0 Petitions
Accused Products
Abstract
A computer memory is transformed such that a data word to be sent to an address is transformed into a transformed data word, and the address to which it is to be sent is transformed to a transformed address. Such transformations are by inversion and permutation of the memory lines (address or data). The data transformation process depends on the address. The data inverse transformation process also depends on the address, but there is no address inverse transformation process. The invention may be used whenever it is desired to more nearly equalize the use of all the bits of the memory, or to impede unauthorized persons from extracting the virtual addresses and data from the transformed addresses and data.
64 Citations
20 Claims
-
1. A transformed data and address storage and retrieval apparatus comprising:
-
(a) address transformation means comprising; (1) means for determining, for each virtual address, exactly one corresponding transformed address, each transformed address being determined by exactly one corresponding virtual address; (b) virtual information manipulation means comprising; (1) means for inputting, from a processing unit, a virtual word of data and exactly one corresponding virtual address to which the virtual data word is to be outputted from the processing unit; (2) means for transforming the virtual data word to a transformed word of data, the virtual data word transformation means further comprising means for combining the virtual data word with the transformed address set out in element (a) or with a combination of the virtual address and the transformed address; and (3) means for outputting, to a memory, the transformed data word and the transformed address; and (c) transformed information manipulation means comprising; (1) means for inputting, from the processing unit, a virtual address from which a virtual word of data is to be outputted from the processing unit; (2) means for outputting, to the memory, a transformed address determined from the virtual address by the address transformation means; (3) means for inputting, from the memory, a word of data from the transformed address, the data word being considered to be a transformed data word subject to being inverse transformed to a virtual data word; (4) means for inverse transforming the data word described in element (c)(3) to a virtual data word, the inverse transformation means being the inverse of the transformation means set out in element (b)(2); and (5) means for outputting, to the processing unit, the virtual data word. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A transformed memory data and address storage and retrieval apparatus comprising:
-
(a) address transformation means comprising; (1) means for determining, for each virtual address, exactly one corresponding transformed address, wherein each transformed address is determined by exactly one corresponding virtual address; (b) virtual information manipulation means comprising; (1) means for inputting, from a processing unit, a virtual word of data and exactly one corresponding virtual address to which the virtual data word is to be outputted from the processing unit; (2) means for determining, for each virtual data word, exactly one corresponding transformed data word, wherein each transformed data word is determined by exactly one corresponding virtual data word; (c) transformed information manipulation means comprising; (1) means for inputting, from the processing unit, a virtual address from which a virtual word of data is to be outputted from the processing unit; (2) means for outputting, to a memory, a transformed address determined from the virtual address by the address transformation means; (3) means for inputting, from the memory, a word of data from the transformed address, the data word being considered to be a transformed data word subject to being inverse transformed to a virtual data word; (4) means for inverse transforming the data word described in element (c)(3) to a virtual data word, the inverse transformation means being the inverse of the transformation means set out in element (b)(2); and (5) means for outputting, to the processing unit, the virtual data word; wherein; (i) each transformed address and corresponding virtual address comprise an equal number of bits and the address transformation means further comprises means for permuting the bits of the virtual address;
or(ii) each transformed data word and corresponding virtual data word comprise an equal number of bits and the virtual data transformation means further comprises means for permuting the bits of the virtual data word;
or(iii) each transformed address and corresponding virtual address comprise an equal number of bits and the address transformation means further comprises means for permuting the bits of the virtual address, and each transformed data word and corresponding virtual data word comprise an equal number of bits and the virtual data transformation means further comprises means for permuting the bits of the virtual data word. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A transformed memory data and address storage and retrieval method comprising:
-
(a) an address transformation step comprising; (1) the step of determining, for each virtual address, exactly one corresponding transformed address, each transformed address being determined by exactly one corresponding virtual address; (b) a virtual information manipulation step comprising; (1) the step of inputting, from a processing unit, a virtual word of data and exactly one corresponding virtual address to which the virtual data word is to be outputted from the processing unit; (2) the step of transforming the virtual data word to a transformed word of data, the virtual data word transformation step further comprising the step of combining the virtual data word with the transformed address set out in step (a) or with a combination of the virtual address and the transformed address; and (3) the step of outputting, to a memory, the transformed data word and the transformed address; and (c) a transformed information manipulation step comprising; (1) the step of inputting, from the processing unit, a virtual address from which a virtual word of data is to be outputted from the processing unit; (2) the step of outputting, to the memory, a transformed address determined from the virtual address by the address transformation step; (3) the step of inputting, from the memory, a word of data from the transformed address, the data word being considered to be a transformed data word subject to being inverse transformed to a virtual data word; (4) the step of inverse transforming the data word described in step (c)(3) to a virtual data word, the inverse transformation step being the inverse of the transformation step set out in step (b)(2); and (5) the step of outputting, to the processing unit, the virtual data word. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A transformed memory data and address storage and retrieval method comprising:
-
(a) an address transformation step comprising; (1) the step of determining, for each virtual address, exactly one corresponding transformed address, wherein each transformed address is determined by exactly one corresponding virtual address; (b) a virtual information manipulation step comprising; (1) the step of inputting, from a processing unit, a virtual word of data and exactly one corresponding virtual address to which the virtual data word is to be outputted from the processing unit; (2) the step of determining, for each virtual data word, exactly one corresponding transformed data word, wherein each transformed data word is determined by exactly one corresponding virtual data word; (c) a transformed information manipulation step comprising; (1) the step of inputting, from the processing unit, a virtual address from which a virtual word of data is to be outputted from the processing unit; (2) the step of outputting, to a memory, a transformed address determined from the virtual address by the address transformation step; (3) the step of inputting, from the memory, a word of data from the transformed address, the data word being considered to be a transformed data word subject to being inverse transformed to a virtual data word; (4) the step of inverse transforming the data word described in step (c)(3) to a virtual data word, the inverse transformation step being the inverse of the transformation step set out in step (b)(2); and (5) the step of outputting, to the processing unit, the virtual data word; wherein; (i) each transformed address and corresponding virtual address comprise an equal number of bits and the address transformation step further comprises the step of permuting the bits of the virtual address;
or(ii) each transformed data word and corresponding virtual data word comprise an equal number of bits and the virtual data transformation step further comprises the step of permuting the bits of the virtual data word;
or(iii) each transformed address and corresponding virtual address comprise an equal number of bits and the address transformation step further comprises the step of permuting the bits of the virtual address, and each transformed data word and corresponding virtual data word comprise an equal number of bits and the virtual data transformation step further comprises the step of permuting the bits of the virtual data word. - View Dependent Claims (17, 18, 19, 20)
-
Specification