×

Detecting modification to computer memory by a DMA device

  • US 6,549,959 B1
  • Filed: 11/04/1999
  • Issued: 04/15/2003
  • Est. Priority Date: 08/30/1999
  • Status: Expired due to Term
First Claim
Patent Images

1. Computer circuitry, comprising:

  • a CPU programmed to execute first and second processes, the first process programmed to generate a second representation in a computer memory of information of the second process stored in the memory in a first representation;

    a main memory divided into pages for management by a virtual memory manager, the manager programmed to manage the pages using a table stored in the memory;

    DMA (direct memory access) monitoring circuitry and software designed;

    to monitor DMA memory write transactions to a main memory of a computer by a DMA device of the computer;

    to detect when the first representation is overwritten by a DMA memory write transaction initiated by the second process, without the second process informing the first process of the DMA memory write transaction, the detecting guaranteed to occur no later than the next access of the second representation following the DMA memory write transaction;

    to record an indication of a location in the main memory written by the DMA memory write transaction, the DMA monitoring circuitry designed to operate without being informed of the DMA memory write transaction by a CPU of the computer before initiation of the DMA memory write transaction, and to provide the indication to the CPU on request; and

    to report to the first process that the first representation is overwritten by a DMA memory write transaction;

    the DMA monitoring circuitry including a plurality of registers outside the address space of the main memory, each register including an address tag and a vector of memory cells control circuitry designed to establish an association between a one of the plurality of registers with a region of the memory when a modification to the region is detected by setting the address tag of the one register to an approximation of the address of the region, and to set the values of the memory cells of the vector to record a fine indication of the address of a memory location modified, the control circuitry being operable without continuing supervisory control of a CPU of the computer; and

    circuitry designed to record indications of modification to pages of the main memory into the registers; and

    read circuitry designed to respond to a read request from the CPU by providing an address of a modified memory location;

    wherein the virtual memory management tables do not provide backing store for the modification indications stored in the registers.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×