Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Processor and Direct Memory Access Synchronization Method

IP.com Disclosure Number: IPCOM000116390D
Original Publication Date: 1995-Sep-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 2 page(s) / 53K

Publishing Venue

IBM

Related People

Swanberg, RC: AUTHOR

Abstract

Disclosed is a method to preserve the programming semantics of a cache inconsistent architecture across a cache consistent architecture.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 60% of the total text.

Processor and Direct Memory Access Synchronization Method

      Disclosed is a method to preserve the programming semantics of
a cache inconsistent architecture across a cache consistent
architecture.

      On cache inconsistent machine architectures, it is necessary
for the operating system to serialize access to memory pages involved
in a Direct Memory Access (DMA) transfer.  Commonly, this is
accomplished by "hiding" memory pages involved in a DMA transfer from
the processor until the DMA operation is complete.  When a page is
hidden from the processor, load or store access to that page results
in a page fault and the faulting process is put to sleep until the
DMA transfer is complete.  This behavior results in a programming
model that allows an application to continue to execute until it
attempts to touch a page of memory involved in the DMA.  At this
point,
the process is put to sleep and no risk of data inconsistency exists.

      The problem arises when the same application and programming
model are attempted on a cache consistent architecture.  On this
platform, the operating system has no need to hide memory pages
involved in a DMA.  Therefore, when the application continues to
execute and successfully perform loads and stores to the page or
pages involved in the DMA without the implied serialization of the
above mentioned cache inconsistent architecture, the application
could received stale data from a load or lose modifications made with
a sto...