Browse Prior Art Database

Data structures designed for low overhead in computer systems using mapped addresses

IP.com Disclosure Number: IPCOM000020984D
Original Publication Date: 2003-Dec-16
Included in the Prior Art Database: 2003-Dec-16
Document File: 3 page(s) / 46K

Publishing Venue

IBM

Abstract

Disclosed is a Data structures designed for low overhead in computer systems using mapped addresses

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 55% of the total text.

Page 1 of 3

Data structures designed for low overhead in computer systems using mapped addresses

The host software normally uses descriptors to tell the I/O adapter where the transmit and receive data buffers are located. With this kind of I/O adapter design, the programmer would need to allocated a piece of memory for the transmit or receive descriptors and then allocate data buffers for each of these descriptors. The descriptor and the data buffer may reside in different memory segments or different memory pages. The structure would look like figure below.

data buffer

data buffer

data buffer

data pointer

D e scrip to r P o in te r

D e s c r ip to r P o in te r

D escriptor P ointer

d a ta p o in te r

data pointer

With this data structure, the descriptor and buffer are located in two different memory pages and it is possible it could be in different memory segments as well. The host software always needs to touch two different memory locations. First it needs to update the data in the data buffer, and then update the descriptor to inform that the data is ready. The overhead of touching these two memory locations in some Operating Systems can be very costly.

For the I/O adapter, it also has to pay the overhead of fetching from two different memory locations. There is a big increase in overhead in 32 bit I/O subsystem with more than 4GB of system memory, in that, it needs some kind of memory mapping

1

[This page contains 7 pictures or other non-text objects]

Page 2 of 3

to allow the I/O adapter to access system memory addresses that are higher than 4GB. The mapping methods normally use 4K bytes of memory (memory page) for each of the mapping u...