Embodiments of the invention provide a method, system, and computer program product for managing a computer memory system including a channel controller and a memory area. In one embodiment, the method comprises the channel controller receiving a request including a header and a payload, and separating said memory area into a working memory area and an auxiliary memory area. A copy of the header is deposited in the working memory area; and a full copy of the request, including a copy of the header and a copy of the payload, is deposited in the auxiliary memory area. The copy of the request in the auxiliary memory area is used to perform hardware operations; and the copy of the header in the working memory area is used to perform software operations.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of managing a computer memory system including a channel controller and a memory area, the method comprising: the channel controller receiving a request including a header and a payload; separating the memory area into a working memory area and an auxiliary memory area; depositing a copy of the header in the working memory area; depositing a full copy of the request, including a copy of the header and a copy of the payload, in the auxiliary memory area; using the copy of the request in the auxiliary memory area to perform hardware operations, driven indirectly by software; and using the copy of the header in the working memory area to perform software operations; wherein the hardware operations are associated with at least one cryptographic operation.
2. The method according to claim 1 , wherein the working memory area is directly accessible by a central processor unit associated with a software application to perform said software operations.
3. The method according to claim 1 , wherein the working memory area is in virtual memory.
4. The method according to claim 3 , wherein the auxiliary memory area is not represented in the virtual memory.
5. The method according to claim 1 , wherein the auxiliary memory area is addressable through hardware level addresses.
6. The method according to claim 1 , wherein: the request is received from a request dispatcher; and the channel receiving the request includes the request dispatcher registering an expected maximum header size with the channel.
7. The method according to claim 6 , wherein the request dispatcher registering the expected maximum header size includes the request dispatcher registering the expected maximum header size before sending the request to the channel.
8. The method according to claim 1 , wherein the depositing a copy of the header in the working memory area comprises including a nonce with the copy of the header.
9. The method according to claim 8 , wherein the depositing a copy of the header in the working memory area further comprises including a handle with the copy of the header to allow software to designate an auxiliary memory area-resident region for a direct memory access (DMA) operation.
10. The method according to claim 9 , wherein the depositing a full copy of the request in the auxiliary memory area comprises including the nonce and the handle with the copy of the payload.
11. A computer memory system, comprising: a channel controller; and a memory area separated into a working memory area and an auxiliary memory area; wherein: the channel controller includes an input for receiving a request including a header and a payload; the channel controller operates to deposit a copy of the header in the working memory area, to deposit a full copy of the request, including a copy of the header and a copy of the payload, in the auxiliary memory area, to use the copy of the request in the auxiliary memory area for hardware operations, and to use the copy of the header in the working memory area for software operations; and the hardware operations are associated with at least one cryptographic operation.
12. The computer memory system according to claim 11 , wherein the working memory area is directly accessible by a central processor unit associated with a software application to perform said software operations.
13. The computer memory system according to claim 11 , wherein the working memory area is a virtual memory, and the auxiliary memory area is not represented in the virtual memory.
14. The computer memory system according to claim 11 , wherein the auxiliary memory area is addressable through hardware level addresses.
15. The computer memory system according to claim 11 , wherein: the channel controller deposits a nonce and a handle with the copy of the header in the working memory area, said handle being used to allow software to designate an auxiliary memory area-resident region for a direct memory access (DMA) operation; and the channel controller deposits the nonce and the handle with the full copy of the request in the auxiliary memory area.
16. An article of manufacture, comprising: at least one computer usable medium having computer readable program code logic to execute a machine instruction in a processing unit for managing a computer memory system including a channel controller and a memory area, wherein the channel controller receives a request including a header and a payload, and said computer readable program code logic, when executing, performing the following: separating the memory area into a working memory area and an auxiliary memory area; depositing a copy of the header in the working memory area; depositing a full copy of the request, including a copy of the header and a copy of the payload, in the auxiliary memory area; using the copy of the request in the auxiliary memory area to perform hardware operations; and using the copy of the header in the working memory area to perform software operations; wherein the hardware operations are associated with at least one cryptographic operation.
17. The article of manufacture according to claim 16 , wherein the working memory area is directly accessible by a central processor unit associated with a software application to perform said software operations.
18. The article of manufacture according to claim 16 , wherein the working memory area is a virtual memory, and the auxiliary memory area is not represented in the virtual memory.
19. The article of manufacture according to claim 16 , wherein the auxiliary memory area is addressable through hardware level addresses.
20. The article of manufacture according to claim 16 , wherein: the request is received from a request dispatcher; and the request dispatcher registers an expected maximum header size with the channel controller before the request is received from the request dispatcher.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
February 25, 2009
March 20, 2012
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.