Configurable USB interface with virtual register architecture

Patent No. US6959350 (titled "Configurable USB interface with virtual register architecture") on Jun 28, 2002. The application was issued on Oct 25, 2005.

What is this patent about?

'350 is related to the field of interface controllers, specifically those used in Universal Serial Bus (USB) devices. Traditionally, USB interface controllers were hard-coded for specific endpoint configurations, requiring different hardware designs and HDL code for each device type. This led to increased development time, maintenance overhead, and limited flexibility in adapting to new USB devices or protocols.

The underlying idea behind '350 is to create a configurable interface controller where the endpoint configurations are not hard-coded but are instead generated from a configuration package. This package contains the parameters needed to define the characteristics of different endpoints. The key insight is to use this configuration package during the hardware description language (HDL) compilation process to generate the necessary logic and registers for the interface controller.

The claims of '350 focus on an interface controller with configuration circuitry derived from a configuration package. This circuitry is used to configure the interface controller for different endpoint characteristics. Claim 1 specifically covers the configuration circuitry being generated during HDL compiling to operate with different endpoint characteristics or structures. Claim 21 emphasizes using substantially the same HDL version of the interface controller for generating different logic and register configurations by varying the configuration parameters in the configuration package.

In practice, the configuration package acts as a blueprint for the interface controller. During HDL compilation, the parameters within the package are used to generate the necessary registers, comparators, and multiplexers that define the behavior of each endpoint. This allows the same hardware design to be adapted to different USB devices simply by changing the contents of the configuration package. The interface controller can then dynamically select the appropriate configuration based on the endpoint number received from the host.

This approach differs significantly from prior art by eliminating the need for hard-coded endpoint configurations. Instead of creating separate HDL codebases for each device, a single, generalized HDL codebase is used in conjunction with the configuration package. This significantly reduces development time, simplifies maintenance, and provides greater flexibility in supporting new USB devices or protocols. The use of combinational logic further allows for configuration in non-processor based USB devices.

How does this patent fit in bigger picture?

Technical Landscape

In the early 2000s when ’350 was filed, interface controllers for peripheral communication were typically implemented using hard-coded configuration values and endpoint parameters. At a time when systems commonly relied on fixed hardware logic for specific device classes, modifying endpoint configurations often required the fabrication of different controller versions or the manual maintenance of distinct Hardware Description Language (HDL) codebases. Hardware constraints of the era made the dynamic reconfiguration of interface logic non-trivial, as existing methods for generating configuration-specific HDL frequently relied on external scripting tools that were disconnected from the primary logic circuitry.

Prosecution Position

Following the filing of this application, the examiner issued a non-final Office action rejecting all pending claims. Rejections were maintained under 35 U.S.C. § 112 for indefiniteness, 35 U.S.C. § 102 for anticipation by prior art, and 35 U.S.C. § 103 for obviousness, alongside a non-statutory double patenting rejection. While the application later proceeded to allowance, the provided prosecution record does not describe the specific technical reasoning or claim changes that led to that outcome.

Claims

This patent contains 28 claims, with independent claims numbered 1, 10, 18, and 21. The independent claims are generally directed to an interface controller and methods for configuring it, using configuration packages and hardware description language to adapt to different endpoint characteristics, particularly in a USB context. The dependent claims generally elaborate on specific implementations and variations of the interface controller and configuration methods described in the independent claims, such as the use of configuration registers, combinational logic, and specific signaling mechanisms.

Key Claim Terms New

Definitions of key terms used in the patent claims.

Term (Source)Support for SpecificationInterpretation
Configuration circuitry
(Claim 1, Claim 21)
An interface controller includes configuration circuitry generated from a configuration package associated with endpoint configuration parameters. The configuration circuitry is used for configuring logic circuitry in the interface controller for different endpoint configurations.Circuitry within an interface controller that is generated from a configuration package and used to configure the interface controller for different endpoint characteristics or structures.
Configuration package
(Claim 1, Claim 18, Claim 21)
An interface controller includes configuration circuitry generated from a configuration package associated with endpoint configuration parameters. The configuration circuitry is used for configuring logic circuitry in the interface controller for different endpoint configurations.A package containing configuration parameters for different endpoints, used to generate configuration circuitry.
Configuration parameters
(Claim 1, Claim 21)
An interface controller includes configuration circuitry generated from a configuration package associated with endpoint configuration parameters. The configuration circuitry is used for configuring logic circuitry in the interface controller for different endpoint configurations.Values associated with different endpoints that are used to configure the interface controller.
Endpoint characteristics or structures
(Claim 1, Claim 21)
An interface controller includes configuration circuitry generated from a configuration package associated with endpoint configuration parameters. The configuration circuitry is used for configuring logic circuitry in the interface controller for different endpoint configurations.The specific attributes or organization of endpoints that the configuration circuitry is designed to accommodate.
Hardware description language (HDL)
(Claim 1, Claim 18, Claim 21)
Because the endpoint configurations are hard coded, the USB device cannot reconfigure the USB interface controller (using software or other means) for different endpoint configurations. This means that different versions of the USB interface controller have to be fabricated for different endpoint configurations in the USB devices. This requires writing and maintaining different Hardware Description Language (HDL) code for each different version of the USB interface controller.A language used to describe and generate the configuration circuitry and logic within the interface controller.

Litigation Cases New

US Latest litigation cases involving this patent.

Case NumberFiling DateTitle
1:25-cv-00323Mar 14, 2025Riddell, Inc. V. Certor Sports, Llc

Patent Family

Patent Family

File Wrapper

The dossier documents provide a comprehensive record of the patent's prosecution history - including filings, correspondence, and decisions made by patent offices - and are crucial for understanding the patent's legal journey and any challenges it may have faced during examination.

  • Get instant alerts for new documents

US6959350

Application Number
US10186465A
Filing Date
Jun 28, 2002
Publication Date
Oct 25, 2005
External Links
Slate, USPTO, Google Patents