Electrical computers and digital data processing systems: input/ – Input/output data processing – Peripheral configuration
Reexamination Certificate
1999-08-26
2003-05-06
Gaffin, Jeffrey (Department: 2182)
Electrical computers and digital data processing systems: input/
Input/output data processing
Peripheral configuration
C710S010000, C710S063000
Reexamination Certificate
active
06560659
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention generally relates to a method of and apparatus for interfacing peripheral devices to different computing system hardware implementations and, more particularly, to an apparatus that enables peripheral devices to work on a variety of computing system hardware platforms using standard software drivers by abstracting register sets of similar but potentially incompatible peripheral devices to a common register set.
2. Description of the Related Art
Communication between a computing system and a peripheral device has long required compatibility between a software driver and the register set of the peripheral device. To support peripheral devices, a computing system has provided multiple software drivers to ensure that each device register set is matched to a compatible software driver. Certain peripheral devices, which are similar in setup parameter requirements, have incompatible register interfaces so as to require different software drivers. Since even related peripheral devices commonly have incompatible register sets, providing a single software driver has not been an option for computing systems supporting multiple peripheral devices. Likewise, a standard input/output interface between software drivers and peripheral devices has not been possible due to register set compatibility requirements. Because of register set compatibility concerns, adding a new peripheral device to a computing system has typically required adding a new software driver, even though the new software driver likely duplicates some of the code found in the supported software drivers. Computing systems have been unable to leverage their supported software drivers to provide driver support for similar but potentially incompatible peripheral devices.
SUMMARY OF THE INVENTION
Briefly, in accordance with the present invention, an operating system running on a computing system employs a unicode driver to access and control peripheral devices. For the purposes of the present invention, a unicode is an abstraction of typical commands and status messages that are employed by similar but potentially incompatible peripheral devices. A unicode driver, an abstraction of multiple device drivers, generates command unicodes to and interprets status unicodes from the peripheral devices. The method and apparatus according to the present invention enable an operating system to communicate with multiple peripheral devices by use of a standardized input/output interface. Many device drivers contain duplicate code because a portion of their functions are identical. The duplication of driver code is even more pronounced among peripheral devices of a similar type. The method and apparatus according to the present invention abstract similar but potentially incompatible peripheral devices into “device classes” and enable the creation of unicode drivers that eliminate duplicate driver code and simplify the configuration of a computing system. This removes the need for a separate device driver for each peripheral device in a computing system, thus reducing programming effort. New peripheral devices of a similar device type can be added to a computing system without adding device drivers and, as is necessary in some operating systems such as UNIX, without rebuilding the operating system.
The unicode driver or the operating system generates a command unicode for transmission to a peripheral device. The command unicode is passed by the unicode driver to a device configuration interface. The device configuration interface determines the appropriate target peripheral device for the command unicode and routes the command unicode to a command decoder within the target peripheral device. The selected command decoder then maps the data of the command unicode stored in master registers to the appropriate registers of the target peripheral device. The command decoder basically converts the command unicode to a device-specific instruction that the target peripheral device can process. Device-specific status information from the target peripheral device is converted into a status unicode, preferably an understandable ASCII text string, by the command decoder and is transmitted to the unicode driver or operating system either directly or through the device configuration interface.
New peripheral devices for a computing system that are similar to supported peripheral devices can be supported by sending a human-readable ASCII text string to the device configuration interface through a configuration port. The ASCII text string represents configuration parameters of the new device and is written to the configuration port and interpreted by the configuration decoder of the device configuration interface. The configuration decoder maps the ASCII text string to a device class, determines whether the device class corresponds to a new or existing unicode driver and updates the device configuration interface so that the unicodes are routed to the appropriate device. If necessary, a new unicode driver is loaded into the computing system prior to updating the device configuration interface.
REFERENCES:
patent: 5604843 (1997-02-01), Shaw et al.
patent: 5604904 (1997-02-01), Kini
patent: 6230118 (2001-05-01), Bader et al.
patent: 6269481 (2001-07-01), Perlman et al.
patent: 6301252 (2001-10-01), Rangachar
Platform Solutions: ACPI,Phoenix Technologies Ltd., http://www.ptltd.com/platform/acpi.html, Nov. 11, 1999, 8 pages.
Techniques for Mobile Implementation of ACPI, Intel®, Sep. 1998, 8 pages.
Why Do I Need a 16550/16650?,http://www.byterunner.com/why.html, Jan. 29, 1999, pp. 1 and 2, pp. 1 through 9.
Extended AT Command Sets, © 1995 modems.com; http://www.modems.com/general/extendat.html; Nov. 4, 1999, 24 pages.
Advanced Configuration and Power Interface Specification, Rev. 1.0, © Intel®, Microsoft®, Toshiba®, pp. i, ii, 1-1 through 1-7, and 5-75 through 5-108.
Advanced Configuration and Power Interface Specification, Intel/Microsoft/Toshiba Revision 1.0, Dec. 22, 1996, 2 cover pages, pp. 1-1 through 1-7, pp. 5-75 though 5-108.
Intel Corporation et al., “PC98 System Design Guide, A Technical Reference for Designing PCs and Peripherals for the Microsoft Windows Family of Operating Systems,” cover page, pp. ii-viii, x, 17, 371-385 (1997).
Godfrey Gary M.
Tobias David F.
Advanced Micro Devices , Inc.
Akin Gump Strauss Hauer & Feld & LLP
Gaffin Jeffrey
Kim Harold
LandOfFree
Unicode-based drivers, device configuration interface and... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Unicode-based drivers, device configuration interface and..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Unicode-based drivers, device configuration interface and... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3005715