Browse Prior Art Database

Method to Provide Non-Word-Aligned Buffer Data Transfers

IP.com Disclosure Number: IPCOM000038939D
Original Publication Date: 1987-Mar-01
Included in the Prior Art Database: 2005-Feb-01
Document File: 2 page(s) / 52K

Publishing Venue

IBM

Related People

Chiang, DL: AUTHOR [+2]

Abstract

A method is described to permit any non-word-aligned buffer of an existing IBM PC program to perform I/O on the new hardware restriction that all disk I/O's must use word-aligned buffers. IBM PC existing application programs which perform fixed disk I/O's do not always execute on systems which require the buffer address to be word-aligned. Its successful execution was dependent on the I/O buffer's starting address. If the buffer address was word-aligned, the I/O would work. However, if the buffer address was not word-aligned, the I/O could NOT work. The new method establishes an internal data management, shown to handle the PC-fixed disk I/O's buffers which can be both word- and non-word-aligned.

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 99% of the total text.

Page 1 of 2

Method to Provide Non-Word-Aligned Buffer Data Transfers

A method is described to permit any non-word-aligned buffer of an existing IBM PC program to perform I/O on the new hardware restriction that all disk I/O's must use word-aligned buffers. IBM PC existing application programs which perform fixed disk I/O's do not always execute on systems which require the buffer address to be word-aligned. Its successful execution was dependent on the I/O buffer's starting address. If the buffer address was word-aligned, the I/O would work. However, if the buffer address was not word-aligned, the I/O could NOT work. The new method establishes an internal data management, shown to handle the PC-fixed disk I/O's buffers which can be both word- and non-word- aligned. For a non-word-aligned buffer (Buffer A in Flowchart), the solution is to break down the original buffer into smaller buffer(s) prior to the I/O completion. These new buffers are created as 1024 bytes each at a fixed word-aligned address and used internally. If the original buffer size is greater than 2K and less than 65K, at most two internal buffers are used at any moment and the optimized memory used for copying is 2K. Two internal buffers are switched around to copy data alternatively and to perform the actual minidisk I/O's asynchronously - which is faster than synchronous I/O's and is easier than a bigger original buffer to be activated from an I/O queue.

1

Page 2 of 2

2

[This page contains 3 pictures or oth...