IP Library Granted Patent US 7,249,201
Granted Patent B1
US 7,249,201 · App. 10/850,203 · Granted Jul 24, 2007

Single driver for multifunctional SCSI chips

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,249,201
App. No.
10/850,203
Granted
Jul 24, 2007
Kind
B1
Abstract

A method is provided for managing multiple functions of a multi-channel SCSI chip. The method includes hiding a first function of a multi-channel SCSI chip from an operating system, wherein the first function corresponds to a first channel of the multi-channel SCSI chip. The method also includes unhiding a second function of the multi-channel SCSI chip from the operating system, wherein the second function corresponds to a second channel of the multi-channel SCSI chip. The method also includes managing the first function and the second function with a single driver.

Claims (35)

1. A method for managing multiple functions of a multi-channel SCSI chip, comprising:

exposing a first function of a multi-channel SCSI chip to an operating system, the first function corresponding to a first channel of the multi-channel SCSI chip;

hiding a second function of the multi-channel SCSI chip from the operating system, the second function corresponding to a second channel of the multi-channel SCSI chip; and

managing the first function and the second function with a single driver.

2. A method for managing multiple functions of a multi-channel SCSI chip as recited in claim 1 , wherein exposing the first function includes setting at least one bit in a first configuration space within the first channel, the first configuration space being configured to return device identification information when accessed by the operating system, the first channel and the first function being detected and managed by the operating system.

3. A method for managing multiple functions of a multi-channel SCSI chip as recited in claim 1 , wherein hiding the second function includes setting at least one bit in a second configuration space within the second channel, the second configuration space being configured to return data indicating that the second configuration space does not contain any device identification information when accessed by the operating system, the second channel and the second function being managed by a device processor.

4. A method for managing multiple functions of a multi-channel SCSI chip as recited in claim 2 , wherein the at least one bit in the first configuration space includes a first control bit, the first control bit being capable of identifying the first channel to the operating system.

5. A method for managing multiple functions of a multi-channel SCSI chip as recited in claim 2 , wherein the at least one bit in the second configuration space includes a second control bit, the second control bit signifying that the second channel is hidden from the operating system.

6. A method for managing multiple functions of a multi-channel SCSI chip as recited in claim 1 , wherein the single driver is a multifunction miniport driver (MMD) in communication with the operating system.

7. A method for managing multiple functions of a multi-channel SCSI chip as recited in claim 6 , further comprising:

allocating system resources for the first function and the second function, the system resources being allocated for the first function by a system BIOS, and the system resources being allocated for the second function by an option ROM BIOS in a host adapter.

8. A method for managing multiple functions of a multi-channel SCSI chip as recited in claim 7 , wherein the system resources for the first function include a first memory space and a first input/output (I/O) space in a system memory and the system resources for the second function include a second memory space and a second I/O space in the system memory.

9. A method for managing multiple functions of a multi-channel SCSI chip as recited in claim 1 , wherein managing the first function and the second function with the single driver includes utilizing the first function and the second function as one function.

10. A method for managing multiple functions of a multi-channel SCSI chip as recited in claim 1 , further comprising:

managing additional functions of the multi-channel SCSI chip with the single driver.

11. A method for managing multiple functions of a multi-channel SCSI chip, comprising:

assigning a first function to a first channel of the multi-channel SCSI chip;

assigning a second function to a second channel of the multi-channel SCSI chip; and

managing the first function and the second function with a single driver, the single driver knowing the existence of the first function and the second function,

wherein the first function and the second function are managed by an operating system through the single driver.

12. A method for managing multiple functions of a multi-channel SCSI chip as recited in claim 11 , wherein the second function is hidden from the operating system and detected by the single driver.

13. A method for managing multiple functions of a multi-channel SCSI chip as recited in claim 12 , further comprising:

exposing the first function to the operating system by setting at least one bit in a first configuration space within the first channel, the first configuration space being configured to return device identification information when accessed by the operating system, the first channel and the first function being detected and managed by the operating system; and

hiding the second function from the operating system by setting at least one bit in a second configuration space within the second channel, the second configuration space being configured to return data indicating that the second configuration space does not contain any device identification information when accessed by the operating system, the second channel and the second function being managed by a device processor.

14. A method for managing multiple functions of a multi-channel SCSI chip as recited in claim 11 , wherein the single driver is a multifunction miniport driver (MMD) in communication with the operating system.

15. A method for managing multiple functions of a multi-channel SCSI chip as recited in claim 11 , further comprising:

allocating system resources for the first function and the second function, the system resources being allocated for the first function by a system BIOS, and the system resources being allocated for the second function by an option ROM BIOS in a host adapter.

16. A method for managing multiple functions of a multi-channel SCSI chip as recited in claim 15 , wherein the system resources include a memory space and an input/output (I/O) space in a system memory.

17. An apparatus for managing multiple functions, comprising:

an operating system;

a multi-channel SCSI chip configured to communicate with the operating system, the multi-channel SCSI chip having multiple channels respectively associated with multiple functions; and

a multifunction miniport driver in communication with each of the multiple channels of the multi-channel SCSI chip, the multifunction miniport driver being configured to communicate with one or more peripheral devices through one or more communication links.

18. An apparatus for managing multiple functions as recited in claim 17 , wherein the multifunction miniport driver is further configured to direct instructions generated by each of the multiple functions from the respective one of the multiple channels to one or more appropriate peripheral devices.

19. An apparatus for managing multiple functions as recited in claim 17 , wherein the multi-channel SCSI chip further includes configuration spaces for each of the multiple channels, the configuration spaces being capable of storing data associated with the multiple channels and multiple functions.

20. An apparatus for managing multiple functions as recited in claim 19 , wherein one of the configuration spaces is configured to expose channel and function data to the operating system, a remaining number of the configuration spaces being configured to hide channel and function data from the operating system.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059333/0222 →
SECURITY INTEREST Recorded Sep 18, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 047103/0206 →
SECURITY INTEREST Recorded Jun 25, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 046426/0001 →
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.; MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 046251/0271 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI STORAGE SOLUTIONS, INC. (F/K/A PMC-SIERRA, INC.); MICROSEMI STORAGE SOLUTIONS (U.S.), INC. (F/K/A PMC-SIERRA US, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037689/0719 →
RELEASE OF SECURITY INTEREST Recorded Feb 1, 2016
From: BANK OF AMERICA, N.A.
To: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
Reel/Frame 037675/0129 →
SECURITY INTEREST IN PATENTS Recorded Aug 6, 2013
From: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 030947/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2013
From: ADAPTEC, INC.
To: PMC-SIERRA, INC.
Reel/Frame 030899/0567 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2004
From: MAHMOUD, FADI A.
To: ADAPTEC, INC.
Reel/Frame 015795/0914 →