Patents by Inventor John David Irish

John David Irish has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10216653
    Abstract: A serial communication system includes a transmitting circuit for serially transmitting data via a serial communication link including N channels where N is an integer greater than 1. The transmitting circuit includes an input buffer having storage for input data frames each including M bytes forming N segments of M/N contiguous bytes. The transmitting circuit additionally includes a reordering circuit coupled to the input buffer. The reordering circuit includes a reorder buffer including multiple entries. The reordering circuit buffers, in each of multiple entries of the reorder buffer, a byte in a common byte position in each of the N segments of an input data frame. The reordering circuit sequentially outputs the contents of the entries of the reorder buffer via the N channels of the serial communication link.
    Type: Grant
    Filed: October 3, 2017
    Date of Patent: February 26, 2019
    Assignee: International Busiess Machines Corporation
    Inventors: Lakshminarayana Baba Arimilli, Yiftach Benjamini, Bartholomew Blaner, Daniel M. Dreps, John David Irish, David J. Krolak, Lonny Lambrecht, Michael S. Siegel, William J. Starke, Jeffrey A. Stuecheli, Kenneth M. Valk, Curtis C. Wollbrink
  • Publication number: 20180095905
    Abstract: A serial communication system includes a transmitting circuit for serially transmitting data via a serial communication link including N channels where N is an integer greater than 1. The transmitting circuit includes an input buffer having storage for input data frames each including M bytes forming N segments of M/N contiguous bytes. The transmitting circuit additionally includes a reordering circuit coupled to the input buffer. The reordering circuit includes a reorder buffer including multiple entries. The reordering circuit buffers, in each of multiple entries of the reorder buffer, a byte in a common byte position in each of the N segments of an input data frame. The reordering circuit sequentially outputs the contents of the entries of the reorder buffer via the N channels of the serial communication link.
    Type: Application
    Filed: October 3, 2017
    Publication date: April 5, 2018
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: LAKSHMINARAYANA BABA ARIMILLI, YIFTACH BENJAMINI, BARTHOLOMEW BLANER, DANIEL M. DREPS, JOHN DAVID IRISH, DAVID J. KROLAK, LONNY LAMBRECHT, MICHAEL S. SIEGEL, WILLIAM J. STARKE, JEFFREY A. STUECHELI, KENNETH M. VALK, CURTIS C. WOLLBRINK
  • Patent number: 8792332
    Abstract: A method and circuit for implementing lane shuffle for fault-tolerant communication links, and a design structure on which the subject circuit resides are provided. Shuffle hardware logic steers a set of virtual data lanes onto a set of physical optical lanes, steering around all lanes that are detected as bad during link initialization training. A mask status register is loaded with a mask of lane fail information during link training, which flags the bad lanes, if any. The shuffle hardware logic uses a shift template, where each position in the starting template is a value representing the corresponding lane position. The shift template is cascaded through a set of shifters controlled by the fail mask.
    Type: Grant
    Filed: September 17, 2010
    Date of Patent: July 29, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ryan Abel Heckendorf, Kerry Christopher Imming, John David Irish, Ibrahim Abdel-Rahman Ouda
  • Patent number: 8170024
    Abstract: A method, apparatus and computer program product are provided for implementing a pointer and stake model for frame alteration code in a network processor. A current pointer and a stake are provided for a packet selected for transmit. The current pointer is maintained for tracking a current position for frame alteration operations in the packet. The stake is maintained for tracking a start of a current header for frame alteration operations in the packet. The current pointer is used by frame alteration code instructions to specify a sequence of operations relative to the current pointer. The specified frame alteration sequence is compact in terms of code size to operate on data within a small window of bytes. Advance pointer instructions allow the current and stake pointers to be advanced an arbitrary number of bytes into the packet.
    Type: Grant
    Filed: November 5, 2007
    Date of Patent: May 1, 2012
    Assignee: International Business Machines Corporation
    Inventors: Kerry Christopher Imming, John David Irish, Joseph Franklin Logan, Tolga Ozguner, Michael Steven Siegel
  • Publication number: 20120069729
    Abstract: A method and circuit for implementing lane shuffle for fault-tolerant communication links, and a design structure on which the subject circuit resides are provided. Shuffle hardware logic steers a set of virtual data lanes onto a set of physical optical lanes, steering around all lanes that are detected as bad during link initialization training. A mask status register is loaded with a mask of lane fail information during link training, which flags the bad lanes, if any. The shuffle hardware logic uses a shift template, where each position in the starting template is a value representing the corresponding lane position. The shift template is cascaded through a set of shifters controlled by the fail mask.
    Type: Application
    Filed: September 17, 2010
    Publication date: March 22, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ryan Abel Heckendorf, Kerry Christopher Imming, John David Irish, Ibrahim Abdel-Rahman Ouda
  • Patent number: 7961732
    Abstract: A method and apparatus are provided for implementing frame alteration commands in a communications network processor. A set of frame alteration instruction templates is defined. A frame alteration instruction template is identified based upon the packet type recognition result of a received packet. A frame alteration instruction stream is generated utilizing the frame alteration instruction template. Each of the frame alteration instruction templates includes different frame alteration commands to be performed on a packet. Pointers to indirect data bytes to be inserted in a packet are stored in the frame alteration instruction templates. The generated frame alteration instruction stream is used by hardware to provide frame alterations.
    Type: Grant
    Filed: March 9, 2008
    Date of Patent: June 14, 2011
    Assignee: International Business Machines Corporation
    Inventors: John David Irish, Ibrahim Abdel-Rahman Ouda, James A. Steenburgh, Jason Andrew Thompson
  • Patent number: 7917700
    Abstract: A method and a cache control circuit for replacing a cache line using an alternate pseudo least-recently-used (PLRU) algorithm with a victim cache coherency state, and a design structure on which the subject cache control circuit resides are provided. When a requirement for replacement in a congruence class is identified, a first PLRU cache line for replacement and an alternate PLRU cache line for replacement in the congruence class are calculated. When the first PLRU cache line for replacement is in the victim cache coherency state, the alternate PLRU cache line is picked for use.
    Type: Grant
    Filed: October 25, 2007
    Date of Patent: March 29, 2011
    Assignee: International Business Machines Corporation
    Inventors: John David Irish, Chad B. McBride, Jack Chris Randolph
  • Patent number: 7840744
    Abstract: In an aspect, a first method of interfacing a processor and memory is provided. The first method includes the steps of (1) generating a first command and associated address of a first type that does not indicate a rank of memory targeted by the first command; (2) determining whether the memory includes a plurality of ranks; (3) if the memory includes a plurality of ranks, employing the processor to update the address associated with the first command to indicate a memory rank targeted by the first command; (4) if the memory does not include a plurality of ranks, employing the processor to update the address associated with the first command to indicate the memory does not include a plurality of ranks; and (5) converting the first command and associated updated address to a second command and associated address that are employed to access the memory. Numerous other aspects are provided.
    Type: Grant
    Filed: January 30, 2007
    Date of Patent: November 23, 2010
    Assignee: International Business Machines Corporation
    Inventors: Mark David Bellows, Kent Harold Haselhorst, John David Irish, David Alan Norgaard
  • Patent number: 7809008
    Abstract: In a first aspect, a first method is provided that includes the steps of (1) providing a pointer that includes a first keytype field and a second keytype field; and (2) assigning a value to the second keytype field of the pointer based on a tabletype field of an updated table. The updated table is an updated version of a first table written in a memory, and the first keytype field of the pointer has a value assigned based on a tabletype field of the first table. The first method further includes the step of employing the second keytype field of the pointer to point to the updated table. Numerous other aspects are provided.
    Type: Grant
    Filed: March 14, 2008
    Date of Patent: October 5, 2010
    Assignee: International Business Machines Corporation
    Inventors: John David Irish, Ibrahim Abdel-Rahman Ouda, James A. Steenburgh, Jason Andrew Thompson
  • Patent number: 7757006
    Abstract: A method, apparatus and computer program product are provided for implementing conditional packet alterations based upon a transmit port. A selection mechanism is provided for implementing packet alterations. A sequence of frame alteration instructions and transmit port numbers associated with a packet being transmitted is applied to the selection mechanism. The selection mechanism performs alterations on the packet being transmitted responsive to the applied sequence of frame alteration instructions and port numbers associated with the packet. The selection mechanism includes a multiplexer that sequentially receives frame alteration instructions and port numbers associated with a packet being transmitted, and an indirect data array for providing packet alteration data from the indirect data array.
    Type: Grant
    Filed: November 21, 2008
    Date of Patent: July 13, 2010
    Assignee: International Business Machines Corporation
    Inventors: Kerry Christopher Imming, John David Irish, Tolga Ozguner, Andrew Henry Wottreng
  • Patent number: 7746777
    Abstract: Disclosed is an apparatus and method for granting guaranteed bandwidth between one or more data transmission priority requesting sources and one or more resources upon request. Data sources that do not request an assigned bandwidth are served on a “best efforts” basis. The system allows additional bandwidth to priority requesting sources when it is determined that the resource and/or the communication path to the resource is under-utilized. The system further allows the granted bandwidth to be shared by more than one source in a multiprocessor system.
    Type: Grant
    Filed: September 30, 2003
    Date of Patent: June 29, 2010
    Assignee: International Business Machines Corporation
    Inventors: Jeffrey Douglas Brown, Scott Douglas Clark, John David Irish
  • Patent number: 7660908
    Abstract: A method, apparatus and computer program product are provided for implementing virtual packet storage via packet work area (PWA) in a network processor system. A mapping area including a packet work area and a corresponding set of packet segment registers (PSRs) are provided. A PSR is loaded with a Packet ID (PID) and a packet translation unit maps the packet data into the corresponding PWA. The PWA address defining an offset into the packet is translated into a physical address. The packet translation unit redirects loads and stores of the PWA into the correct data buffer or buffers in system memory. Packets include one or more data buffers that are chained together, using a buffer descriptor providing the packet physical address. The buffer descriptor points to a data buffer for the packet and to a next buffer descriptor.
    Type: Grant
    Filed: May 1, 2003
    Date of Patent: February 9, 2010
    Assignee: International Business Machines Corporation
    Inventors: Kent Harold Haselhorst, Kerry Christopher Imming, John David Irish
  • Patent number: 7634591
    Abstract: Methods and apparatus for tracking dependencies of commands to be executed by a command processor are provided. By determining the dependency of incoming commands against all commands awaiting execution, dependency information can be stored in a dependency scoreboard. Such a dependency scoreboard may be used to determine if a command is ready to be issued by the command processor. The dependency scoreboard can also be updated with information relating to the issuance of commands, for example, as commands complete.
    Type: Grant
    Filed: January 26, 2006
    Date of Patent: December 15, 2009
    Assignee: International Business Machines Corporation
    Inventors: John David Irish, Chad B. McBride
  • Patent number: 7617332
    Abstract: A method, apparatus and computer program product are provided for implementing packet command instructions for network processing. A set of packet commands is provided. Each packet command defines a corresponding packet operation. A command from the set of packet commands is issued to perform the defined corresponding packet operation. A packet buffer structure hardware is provided for performing one or more predefined packet manipulation functions responsive to the issued command.
    Type: Grant
    Filed: May 1, 2003
    Date of Patent: November 10, 2009
    Assignee: International Business Machines Corporation
    Inventors: Paul Allen Ganfield, Kent Harold Haselhorst, Kerry Christopher Imming, John David Irish
  • Publication number: 20090144452
    Abstract: A method, apparatus and computer program product are provided for implementing conditional packet alterations based upon a transmit port. A selection mechanism is provided for implementing packet alterations. A sequence of frame alteration instructions and transmit port numbers associated with a packet being transmitted is applied to the selection mechanism. The selection mechanism performs alterations on the packet being transmitted responsive to the applied sequence of frame alteration instructions and port numbers associated with the packet. The selection mechanism includes a multiplexer that sequentially receives frame alteration instructions and port numbers associated with a packet being transmitted, and an indirect data array for providing packet alteration data from the indirect data array.
    Type: Application
    Filed: November 21, 2008
    Publication date: June 4, 2009
    Applicant: International Business Machines Corporation
    Inventors: Kerry Christopher Imming, John David Irish, Tolga Ozguner, Andrew Henry Wottreng
  • Publication number: 20090113134
    Abstract: A method and a cache control circuit for replacing a cache line using an alternate pseudo least-recently-used (PLRU) algorithm with a victim cache coherency state, and a design structure on which the subject cache control circuit resides are provided. When a requirement for replacement in a congruence class is identified, a first PLRU cache line for replacement and an alternate PLRU cache line for replacement in the congruence class are calculated. When the first PLRU cache line for replacement is in the victim cache coherency state, the alternate PLRU cache line is picked for use.
    Type: Application
    Filed: October 25, 2007
    Publication date: April 30, 2009
    Inventors: John David Irish, Chad B. McBride, Jack Chris Randolph
  • Patent number: 7475161
    Abstract: A method, apparatus and computer program product are provided for implementing conditional packet alterations based upon a transmit port. A selection mechanism is provided for implementing packet alterations. A sequence of frame alteration instructions and transmit port numbers associated with a packet being transmitted is applied to the selection mechanism. The selection mechanism performs alterations on the packet being transmitted responsive to the applied sequence of frame alteration instructions and port numbers associated with the packet. The selection mechanism includes a multiplexer that sequentially receives frame alteration instructions and port numbers associated with a packet being transmitted, and an indirect data array for providing packet alteration data from the indirect data array.
    Type: Grant
    Filed: September 4, 2003
    Date of Patent: January 6, 2009
    Assignee: International Business Machines Corporation
    Inventors: Kerry Christopher Imming, John David Irish, Tolga Ozguner, Andrew Henry Wottreng
  • Publication number: 20080198853
    Abstract: A method and apparatus are provided for implementing predefined actions based upon packet classification and lookup results in a communications network processor. A plurality of sets of rules is defined. Each rule set includes at least one rule and each rule has a set of masked compares for comparing results of hits and misses of table lookups. Each masked compare set has an associated field for selecting an action. The action defines a set of one or more commands and each command defines a processing operation. One rule set is identified based upon the packet classification result for a received packet. When one of the rules is identified having a match of the masked compares, then the action of associated with the identified rule is selected. Otherwise a default action is provided responsive to no rule of the identified rule set having a match of the masked compares.
    Type: Application
    Filed: April 21, 2008
    Publication date: August 21, 2008
    Applicant: International Business Machines Corporation
    Inventors: John David Irish, Ibrahim Abdel-Rahman Ouda, James A. Steenburgh, Jason Andrew Thompson
  • Patent number: 7411956
    Abstract: In a first aspect, a first method is provided that includes the steps of (1) providing a pointer that includes a first keytype field and a second keytype field; and (2) assigning a value to the second keytype field of the pointer based on a tabletype field of an updated table. The updated table is an updated version of a first table written in a memory, and the first keytype field of the pointer has a value assigned based on a tabletype field of the first table. The first method further includes the step of employing the second keytype field of the pointer to point to the updated table. Numerous other aspects are provided.
    Type: Grant
    Filed: June 5, 2003
    Date of Patent: August 12, 2008
    Assignee: International Business Machines Corporation
    Inventors: John David Irish, Ibrahim Abdel-Rahman Ouda, James A. Steenburgh, Jason Andrew Thompson
  • Publication number: 20080183916
    Abstract: In a first aspect, a first method of interfacing a processor and memory is provided. The first method includes the steps of (1) providing a processor adapted to issue a command complying with a first protocol; (2) providing a memory coupled to the processor and accessible by a command complying with a second protocol; (3) employing a plurality of scrub commands complying with the second protocol to check respective portions of the memory for errors, wherein each scrub command complying with the second protocol is a converted version of a scrub command complying with the first protocol issued by the processor and the respective portions are non-sequential; and (4) refreshing bits stored in the entire memory within a predetermined time period. Numerous other aspects are provided.
    Type: Application
    Filed: January 30, 2007
    Publication date: July 31, 2008
    Inventors: Mark David Bellows, Paul Allen Ganfield, Ryan Abel Heckendorf, John David Irish, David Alan Norgaard, Ibrahim Abdel-Rahman Ouda, Tolga Ozguner