A method and system for validating host bus adapters uses two processing passes. In the first pass, a snapshot of all configuration values of selected peripheral devices is taken. Then, the host bus adapter is powered down for a predefined period of time and powered up again. In the second pass, all the configuration values of the selected peripheral devices are reinitialized in a recursive manner.
|
1. A method for validating a Peripheral Component Interconnect (PCI) host bus adapter, comprising:
reading values of all configuration registers of select PCI devices;
storing the values in an .ini file;
creating a data pattern in memory of a redundant array of inexpensive disks (RAID) controller adapter using a command mailbox protocol;
switching off power to a raiser card using a general purpose input/output (IO) port;
waiting a predefined period of time;
switching on power to the raiser card using the general purpose IO port;
loading all the configuration registers of the select PCI devices with the values from the .ini file;
initializing all configuration registers of the select PCI devices from the loaded values; and
verifying the data pattern in the memory of the RAID controller adapter using the command mailbox protocol.
2. The method of
|
The present invention generally relates to the field of diagnostics of computer peripherals on a bus, and particularly to a method and system for validating a Peripheral Computer Interconnect (PCI) bus and associated peripheral devices, including Redundant Arrays of Independent Disks (RAIDs).
Redundant Array of Independent Disk (RAID) adapters have on-board battery back up to guarantee data retention. A manufacturing diagnostic utility, such as RAIDDIAG™, is used to check and verify on-board battery logic in a Disk Operating System (DOS) environment. In order to do this, during test time, adapters are mounted on ADEX raiser cards that in turn are mounted on add-on PCI-PCIX slots in host machine. RAIDDIAG™ writes down known data patterns on adapter memory that is backed up with battery logic. Subsequently, RAIDDIAG™ switches off the power supply to the adapter. After a delay, RAIDDIAG™ switches the power supply back on to the adapter. Data integrity is verified to determine whether battery logic is functioning. Power cycling to the adapter through the raiser card is via an IO port of the host machine.
When power is removed from the adapter and then reapplied, the host operating system (e.g., DOS) has no knowledge about the power removal event. Configuration registers of RAID PCI adapters are reset and un-initialized. In order to bring the adapter out of this reset state, configuration registers need to be reinitialized. This is done by a host based diagnostic program RAIDDIAG™. The value of each register is system topology specific and varies from motherboard to motherboard design. Traditionally, a software programmer used to hardcode these values in the diagnostic program. This necessitated different versions of the diagnostic program for every combination of motherboard design and adapter topology.
Therefore, it would be desirable to provide a single diagnostic program that is able to verify the functionality of RAID and other kinds of host bus adapters in which the motherboards have different adapter topologies.
Accordingly, the present invention is directed to a method and system for validating a host bus adapter.
In the present invention, several method steps are employed. In general, the method steps are a snapshot of the configuration registers of select bus devices coupled to the host bus adapter, power cycling of the host bus adapter, and reinitialization of the configuration registers of the host bus adapter.
In a particular embodiment, the following steps are performed. All configuration registers of select PCI devices are read. The read values are stored in an .ini file. A data pattern is created in a controller adapter memory using proprietary command mailbox protocol. Power to the ADEX™ raiser card is switched off using a general purpose IO port (e.g., printer port). After a certain period of time to allow for a complete power down, power is switched back on for the ADEX™ raiser card using the general purpose IO port (e.g., printer port). The configuration registers of select PCI devices are loaded from the .ini file. All configuration registers of the select PCI devices are initialized from the loaded values. The data pattern in the controller adapter memory is verified using a proprietary command mailbox protocol. The adapter is passed or failed depending upon the result of the verification (i.e., data integrity test).
The present invention offers several advantages. The main advantage of this approach is a diagnostic program that has become very generic in nature. With the present invention, it is now no longer necessary for software programs programmers to know a specific motherboard design. The present invention eliminates the need for redesigning the diagnostic program for adaptation to a different PCI or other bus topology. Any need to maintain a different version of diagnostic software for different motherboards is eliminated. Furthermore, support for new topologies can be added with minimal efforts.
It is to be understood that both the forgoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as claimed. The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate an embodiment of the invention and together with the general description, serve to explain the principles of the invention.
The numerous advantages of the present invention may be better understood by those skilled in the art by reference to the accompanying figures in which:
Reference will now be made in detail to the presently preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the invention to the particular forms disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims.
The present invention relates to a method and system for validating a Peripheral Component Interconnect (PCI) host bus adapter, in particular, and to a bus adapter, in general. The present invention relates to a diagnostic program that is useable with plural motherboard designs and topology. This flexibility is achieved through the recording of configuration register content of the bus's peripheral devices.
As illustrated in
The host bus adapter may be located in a variety of locations in a computer system.
Preferably, the host bus adapter 220 is a Peripheral Component Interconnect (PCI) host bus adapter. The PCI host bus adapter may be a PCI Extended (PCIX) or a PCI Express (PCIE) host bus adapter. Those of ordinary skill in the art will realize that other devices, such as, for example, a dual channel SCSI adapter or a SCSI/Ethernet adapter also may be attached to the computer system. A host bus adapter may contain one or more PCI bridges and one or more PCI devices.
It is believed that the present invention and many of its attendant advantages will be understood by the forgoing description. It is also believed that it will be apparent that various changes may be made in the form, construction and arrangement of the components thereof without departing from the scope and spirit of the invention or without sacrificing all of its material advantages, the form hereinbefore described being merely an explanatory embodiment thereof. It is the intention of the following claims to encompass and include such changes.
Patent | Priority | Assignee | Title |
7389196, | Oct 31 2005 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | Method and system for validating PCI/PCI-X adapters |
8020050, | Apr 23 2009 | International Business Machines Corporation | Validation of computer interconnects |
8229273, | Sep 29 2006 | Sony Corporation | Recording-and-reproducing apparatus and recording-and-reproducing method |
8588042, | Sep 29 2006 | Sony Corporation | Recording-and-reproducing apparatus and content-managing method |
8606079, | Jul 31 2006 | Sony Corporation | Recording apparatus, recording method, reproduction apparatus, reproduction method, recording and reproduction apparatus, recording and reproduction method, image capturing and recording apparatus, and image capturing and recording method |
Patent | Priority | Assignee | Title |
5705938, | May 02 1995 | XILINX, Inc. | Programmable switch for FPGA input/output signals |
5737235, | May 02 1995 | Xilinx, Inc | FPGA with parallel and serial user interfaces |
5754796, | May 07 1996 | Bus port transmission device | |
5890204, | Jun 03 1996 | EMC Corporation | User controlled storage configuration using graphical user interface |
6032271, | Jun 05 1996 | Hewlett Packard Enterprise Development LP | Method and apparatus for identifying faulty devices in a computer system |
6199178, | Sep 05 1997 | POWER MANAGEMENT ENTERPRISES, LLC | Method, software and apparatus for saving, using and recovering data |
6401220, | Aug 21 1998 | National Instruments Corporation | Test executive system and method including step types for improved configurability |
7007203, | Aug 02 2002 | Google Technology Holdings LLC | Error checking in a reconfigurable logic signal processor (RLSP) |
20020072391, | |||
20030005190, | |||
20030046371, | |||
20030182422, | |||
20030200290, | |||
20040049672, | |||
20040123027, | |||
20040158668, | |||
20050027702, | |||
20050149650, | |||
20060037000, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 11 2003 | LSI Logic Corporation | (assignment on the face of the patent) | / | |||
Dec 11 2003 | DAFTARDAR, JAYANT M | LSI Logic Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014810 | /0566 | |
Apr 06 2007 | LSI Logic Corporation | LSI Corporation | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 033102 | /0270 | |
May 06 2014 | LSI Corporation | DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 032856 | /0031 | |
May 06 2014 | Agere Systems LLC | DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 032856 | /0031 | |
Aug 14 2014 | LSI Corporation | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 035390 | /0388 | |
Feb 01 2016 | DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT | Agere Systems LLC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS RELEASES RF 032856-0031 | 037684 | /0039 | |
Feb 01 2016 | DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT | LSI Corporation | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS RELEASES RF 032856-0031 | 037684 | /0039 | |
Feb 01 2016 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | BANK OF AMERICA, N A , AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 037808 | /0001 | |
Jan 19 2017 | BANK OF AMERICA, N A , AS COLLATERAL AGENT | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS | 041710 | /0001 | |
May 09 2018 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | MERGER SEE DOCUMENT FOR DETAILS | 047642 | /0417 | |
Sep 05 2018 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER PREVIOUSLY RECORDED ON REEL 047642 FRAME 0417 ASSIGNOR S HEREBY CONFIRMS THE ASSIGNMENT, | 048521 | /0395 |
Date | Maintenance Fee Events |
Apr 02 2008 | ASPN: Payor Number Assigned. |
Oct 11 2010 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Sep 25 2014 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Dec 03 2018 | REM: Maintenance Fee Reminder Mailed. |
May 20 2019 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Apr 17 2010 | 4 years fee payment window open |
Oct 17 2010 | 6 months grace period start (w surcharge) |
Apr 17 2011 | patent expiry (for year 4) |
Apr 17 2013 | 2 years to revive unintentionally abandoned end. (for year 4) |
Apr 17 2014 | 8 years fee payment window open |
Oct 17 2014 | 6 months grace period start (w surcharge) |
Apr 17 2015 | patent expiry (for year 8) |
Apr 17 2017 | 2 years to revive unintentionally abandoned end. (for year 8) |
Apr 17 2018 | 12 years fee payment window open |
Oct 17 2018 | 6 months grace period start (w surcharge) |
Apr 17 2019 | patent expiry (for year 12) |
Apr 17 2021 | 2 years to revive unintentionally abandoned end. (for year 12) |