System and method for delivering FPGA programming
AssigneeSun Microsystems, Inc.
InventorDavid Cheon
Life of this patent
Estimating the term…
Loading patent…
AssigneeSun Microsystems, Inc.
InventorDavid Cheon
Estimating the term…
A system and method for facilitating delivery of instructions for operating a controller (e.g., an FPGA—Field Programmable Gate Array) of a hardware device (e.g., a network interface circuit) of a computer system. A device driver for the hardware device comprises traditional device driver functionality (e.g., for managing operation of the device at a layer above the physical layer), plus a set of instructions for operating the controller. During attachment of the device driver to the hardware device, or during subsequent hardware initialization of the device, the set of instructions for operating the controller is downloaded to the controller from the device driver.
A method of delivering operating logic for operating a controller component of a communication device, to the controller component, the method comprising:
A method of delivering, to a controller component of a communication device, operating logic for operating the controller component, the method comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Bootstrapping: configuring for operating with peripheral devices; Loading of device drivers
Computing and data processing
Term ended 9 Jun 2024 (estimated)
This application is related to U.S. patent application Ser. No. 10/159,233, entitled “Attaching a Device Driver to Multiple Logical Devices of One Physical Device,” which was filed May 30, 2002 and issued Sep. 14, 2004 as U.S. Pat. No. 6,792,610.
This invention relates to the field of computer systems. More particularly, a system and methods are provided for delivering FPGA (Field Programmable Gate Array) programming (e.g., an FPGA binary) via a device driver.
Traditionally, a physical communication interface device, such as a Network Interface Circuit (NIC), hosts a single function for a computer system. Therefore, the operating system of the computer only needs to execute a module attachment (or detachment) procedure once for each physical device.
FIG. 1 is a block diagram of a network interface device hosting multiple logical devices, according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating one method of facilitating the attachment of multiple logical devices for a single physical communication interface device, according to an embodiment of the invention.
FIG. 3 is a flowchart illustrating one method of facilitating the detachment of multiple logical devices for a single physical communication interface device, according to an embodiment of the present invention.
The following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of particular applications of the invention and their requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art and the general principles defined herein may be applied to other embodiments and applications without departing from the scope of the present invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
The program environment in which a present embodiment of the invention is executed illustratively incorporates a general-purpose computer or a special purpose device such as a hand-held computer. Details of such devices (e.g., processor, memory, data storage, display) may be omitted for the sake of clarity.
It should also be understood that the techniques of the present invention may be implemented using a variety of technologies. For example, the methods described herein may be implemented in software executing on a computer system, or implemented in hardware utilizing either a combination of microprocessors or other specially designed application specific integrated circuits, programmable logic devices, or various combinations thereof. In particular, the methods described herein may be implemented by a series of computer-executable instructions residing on a suitable computer-readable medium. Suitable computer-readable media may include volatile (e.g., RAM) and/or non-volatile (e.g., ROM, disk) memory, carrier waves and transmission media (e.g., copper wire, coaxial cable, fiber optic media). Exemplary carrier waves may take the form of electrical, electromagnetic or optical signals conveying digital data streams along a local network, a publicly accessible network such as the Internet or some other communication link.