System and method for detecting DMA-generated memory corruption in a PCI express bus system
First Claim
1. A direct memory access memory corruption detection system comprising:
- an access data store that stores access information associated with memory; and
, a memory controller that employs the access information to determine whether a requested direct memory access is permitted and rejects the requested direct memory access if it is not permitted.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method that facilitate detection of direct memory access (DMA) corruption is provided. The system can mitigate DMA memory corruption in computer system(s) employing transaction-based DMA bus system(s) (e.g., PCI Express). DMA transaction(s) cannot normally be traced; however, in accordance with an aspect of the present invention, the system is extended to include an interface to specify “allowed” and/or “disallowed” memory range(s) for a DMA transaction. If a DMA transaction occurs in a disallowed range, then it is rejected and, optionally, an error is raised. Thus, the system of the present invention can facilitate detection of direct memory access transaction(s) that can, if permitted, cause memory corruption. The system includes an access information data store (e.g., access table) and a memory controller. The access information can include, for example, a source identifier, a memory range (e.g., one or more contiguous memory address(es)) and access attribute(s) (e.g., read access, read and write access, write access, no access permitted, etc.).
-
Citations
22 Claims
-
1. A direct memory access memory corruption detection system comprising:
-
an access data store that stores access information associated with memory; and
,a memory controller that employs the access information to determine whether a requested direct memory access is permitted and rejects the requested direct memory access if it is not permitted. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A direct memory access memory corruption detection system comprising:
-
a memory controller that includes an access table store that stores access information associated with memory, the memory controller employs the access information to determine whether a requested direct memory access is permitted and rejects the requested direct memory access if it is not permitted; and
,a device driver that programs a device for a direct memory access operation, and, provides the access information to the memory controller via a direct memory access application interface. - View Dependent Claims (15, 16)
-
-
17. A method that facilitates detection of direct memory access memory corruption comprising:
-
receiving a request for a direct memory access transaction, the request comprising a source identifier, at least one memory address, and a transaction access attribute; and
,determining whether the request is permitted based, at least in part, stored access information and the request. - View Dependent Claims (18, 19, 20)
-
-
21. A data packet transmitted between two or more computer components that facilitates detection of direct memory access memory corruption, the data packet comprising:
a data field comprising a corrected platform error event, the corrected platform error event being based, at least in part, upon a determination that a requested direct memory access is not permitted, the determination being based, at least in part, upon access information stored in an access table and the requested direct memory access.
-
22. A direct memory access memory corruption detection system comprising:
-
means for storing access information associated with memory;
means for receiving a request for a direct memory access;
means for determining whether a requested direct memory access is permitted based, at least in part, upon the stored access information and the request; and
,means for rejecting the requested direct memory access if it is not permitted.
-
Specification