Data access method
Abstract
A data access method for use in a system driver of a computer system using direct memory access (DMA) for data transmission between the system driver, a device in the computer system, and random access memory (RAM) includes the steps of requesting the computer system for a predetermined number of logic memory blocks and corresponding DMA memory blocks during initialization of the system driver to form a predetermined number of storage units, loading data structures of the storage units with pointers of the logic memory blocks and corresponding DMA memory blocks, and creating a global pointer pointing to a data table stored with usage statuses of the storage units. Accordingly, the system driver transmits data by the storage units directly without having to wait for responses from the computer system, thus enabling the system driver to perform data access fast.
Claims
exact text as granted — not AI-modified1 . A data access method for use in a system driver of a computer system using direct memory access (DMA) for data transmission between the system driver, and a device and random access memory (RAM) in the computer system, the data access method comprising the steps of:
(1) requesting the computer system for a predetermined number of logic memory blocks and corresponding DMA memory blocks during initialization of the system driver such that each of the logic memory blocks and a corresponding one of the DMA memory blocks together form a storage unit; (2) loading a data structure of the storage unit with pointers of the logic memory block and the corresponding DMA memory block; and (3) creating a global pointer pointing to a data table stored with usage statuses of the storage unit.
2 . The data access method of claim 1 , further comprising the steps of:
(4) determining, before data transmission between the system driver and the device in the computer system starts, whether the storage units each having an unused status stored in the data table are enough for data transmission, proceeding to step (5) in response to an affirmative determination, and repeating the step (4) in response to a negative determination until the storage units are enough for data transmission; and (5) retrieving a sufficient amount of the storage units for data transmission, setting the usage statuses of the retrieved storage units to an in-use status, freeing the retrieved storage units upon completion of data transmission, and setting the usage statuses of the freed storage units to the unused status.
3 . The data access method of claim 2 , further comprising, before the step (1), the step of:
allowing the system driver to create beforehand a global variable space for recording the amount of the storage units, wherein the global variable space is disposed in the random access memory and removed therefrom when execution of the system driver ends.
4 . The data access method of claim 1 , further comprising, before the step (1), the step of:
allowing the system driver to create beforehand a global variable space for recording the amount of the storage units, wherein the global variable space is disposed in the random access memory and removed therefrom when execution of the system driver ends.
5 . The data access method of claim 1 , wherein a predetermined number of the logic memory blocks and the corresponding DMA memory blocks equals a maximum number of the logic memory blocks and the corresponding DMA memory blocks likely to be requested by the system driver corresponding to the device during the execution of the system driver.
6 . The data access method of claim 1 , wherein the data structures of the storage units are linked together by a double link list.Join the waitlist — get patent alerts
Track US2008140875A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.