System and method for encrypting data using a plurality of processors
First Claim
1. A computer-implemented method for processing encryption requests, said method comprising:
- sending, in a computer system having a plurality of processors that share a common memory wherein at least two of the processors are dislike, an encryption request from a first processor to a second processor;
receiving, at the second processor, the encryption request;
reading data from the common memory into a local memory corresponding to the second processor, wherein the reading is performed by the second processor and wherein the second processor'"'"'s local memory is not shared with the first processor;
executing, at the second processor, an encryption process corresponding to the request, the encryption process adapted to transform the data; and
writing the transformed data from the second processor to the common memory.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and method are provided to dedicate one or more processors in a multiprocessing system to performing encryption functions. When the system initializes, one of the synergistic processing unit (SPU) processors is configured to run in a secure mode wherein the local memory included with the dedicated SPU is not shared with the other processors. One or more encryption keys are stored in the local memory during initialization. During initialization, the SPUs receive nonvolatile data, such as the encryption keys, from nonvolatile register space. This information is made available to the SPU during initialization before the SPUs local storage might be mapped to a common memory map. In one embodiment, the mapping is performed by another processing unit (PU) that maps the shared SPUs'"'"' local storage to a common memory map.
98 Citations
30 Claims
-
1. A computer-implemented method for processing encryption requests, said method comprising:
-
sending, in a computer system having a plurality of processors that share a common memory wherein at least two of the processors are dislike, an encryption request from a first processor to a second processor;
receiving, at the second processor, the encryption request;
reading data from the common memory into a local memory corresponding to the second processor, wherein the reading is performed by the second processor and wherein the second processor'"'"'s local memory is not shared with the first processor;
executing, at the second processor, an encryption process corresponding to the request, the encryption process adapted to transform the data; and
writing the transformed data from the second processor to the common memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An information handling system comprising:
-
a plurality of heterogeneous processors;
a common memory shared by the plurality of heterogeneous processors;
a first processor selected from the plurality of processors that sends an encryption request to a second processor, the second processor also being selected from the plurality of processors;
a local memory corresponding to the second processor, wherein the second processor'"'"'s local memory is not shared with other processors included in the plurality of processors; and
an encryption process running in the second processor, the encryption process effective to;
read data associated with the encryption request from the common memory to the second processor'"'"'s local memory;
transform the data based on the encryption request; and
write the transformed data from the second processor'"'"'s local memory to the common memory. - View Dependent Claims (12, 14, 15, 16, 17, 18, 19, 20)
-
-
13. The information handling system as described in claim wherein the sending of the encryption request further comprises software code effective to:
-
write the encryption request to a mailbox that corresponds to the second processor; and
read, from the second processor, the encryption request from second processor'"'"'s mailbox.
-
-
21. A computer program product stored on a computer operable media for processing encryption requests, said computer program product comprising:
-
means for sending, in a computer system having a plurality of processors that share a common memory wherein at least two of the processors are dislike, an encryption request from a first processor to a second processor;
means for receiving, at the second processor, the encryption request;
means for reading data from the common memory into a local memory corresponding to the second processor, wherein the means for reading is performed by the second processor and wherein the second processor'"'"'s local memory is not shared with the first processor;
means for executing, at the second processor, an encryption process corresponding to the request, the encryption process adapted to transform the data; and
means for writing the transformed data from the second processor to the common memory. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification