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: 10216653Abstract: 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: GrantFiled: October 3, 2017Date of Patent: February 26, 2019Assignee: International Busiess Machines CorporationInventors: 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: 20180095905Abstract: 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: ApplicationFiled: October 3, 2017Publication date: April 5, 2018Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: 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: 8792332Abstract: 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: GrantFiled: September 17, 2010Date of Patent: July 29, 2014Assignee: International Business Machines CorporationInventors: Ryan Abel Heckendorf, Kerry Christopher Imming, John David Irish, Ibrahim Abdel-Rahman Ouda
-
Patent number: 8170024Abstract: 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: GrantFiled: November 5, 2007Date of Patent: May 1, 2012Assignee: International Business Machines CorporationInventors: Kerry Christopher Imming, John David Irish, Joseph Franklin Logan, Tolga Ozguner, Michael Steven Siegel
-
Publication number: 20120069729Abstract: 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: ApplicationFiled: September 17, 2010Publication date: March 22, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Ryan Abel Heckendorf, Kerry Christopher Imming, John David Irish, Ibrahim Abdel-Rahman Ouda
-
Patent number: 7961732Abstract: 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: GrantFiled: March 9, 2008Date of Patent: June 14, 2011Assignee: International Business Machines CorporationInventors: John David Irish, Ibrahim Abdel-Rahman Ouda, James A. Steenburgh, Jason Andrew Thompson
-
Patent number: 7917700Abstract: 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: GrantFiled: October 25, 2007Date of Patent: March 29, 2011Assignee: International Business Machines CorporationInventors: John David Irish, Chad B. McBride, Jack Chris Randolph
-
Patent number: 7840744Abstract: 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: GrantFiled: January 30, 2007Date of Patent: November 23, 2010Assignee: International Business Machines CorporationInventors: Mark David Bellows, Kent Harold Haselhorst, John David Irish, David Alan Norgaard
-
Patent number: 7809008Abstract: 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: GrantFiled: March 14, 2008Date of Patent: October 5, 2010Assignee: International Business Machines CorporationInventors: John David Irish, Ibrahim Abdel-Rahman Ouda, James A. Steenburgh, Jason Andrew Thompson
-
Patent number: 7757006Abstract: 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: GrantFiled: November 21, 2008Date of Patent: July 13, 2010Assignee: International Business Machines CorporationInventors: Kerry Christopher Imming, John David Irish, Tolga Ozguner, Andrew Henry Wottreng
-
Patent number: 7746777Abstract: 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: GrantFiled: September 30, 2003Date of Patent: June 29, 2010Assignee: International Business Machines CorporationInventors: Jeffrey Douglas Brown, Scott Douglas Clark, John David Irish
-
Patent number: 7660908Abstract: 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: GrantFiled: May 1, 2003Date of Patent: February 9, 2010Assignee: International Business Machines CorporationInventors: Kent Harold Haselhorst, Kerry Christopher Imming, John David Irish
-
Patent number: 7634591Abstract: 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: GrantFiled: January 26, 2006Date of Patent: December 15, 2009Assignee: International Business Machines CorporationInventors: John David Irish, Chad B. McBride
-
Patent number: 7617332Abstract: 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: GrantFiled: May 1, 2003Date of Patent: November 10, 2009Assignee: International Business Machines CorporationInventors: Paul Allen Ganfield, Kent Harold Haselhorst, Kerry Christopher Imming, John David Irish
-
Publication number: 20090144452Abstract: 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: ApplicationFiled: November 21, 2008Publication date: June 4, 2009Applicant: International Business Machines CorporationInventors: Kerry Christopher Imming, John David Irish, Tolga Ozguner, Andrew Henry Wottreng
-
Publication number: 20090113134Abstract: 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: ApplicationFiled: October 25, 2007Publication date: April 30, 2009Inventors: John David Irish, Chad B. McBride, Jack Chris Randolph
-
Patent number: 7475161Abstract: 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: GrantFiled: September 4, 2003Date of Patent: January 6, 2009Assignee: International Business Machines CorporationInventors: Kerry Christopher Imming, John David Irish, Tolga Ozguner, Andrew Henry Wottreng
-
Publication number: 20080198853Abstract: 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: ApplicationFiled: April 21, 2008Publication date: August 21, 2008Applicant: International Business Machines CorporationInventors: John David Irish, Ibrahim Abdel-Rahman Ouda, James A. Steenburgh, Jason Andrew Thompson
-
Patent number: 7411956Abstract: 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: GrantFiled: June 5, 2003Date of Patent: August 12, 2008Assignee: International Business Machines CorporationInventors: John David Irish, Ibrahim Abdel-Rahman Ouda, James A. Steenburgh, Jason Andrew Thompson
-
Publication number: 20080183916Abstract: 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: ApplicationFiled: January 30, 2007Publication date: July 31, 2008Inventors: Mark David Bellows, Paul Allen Ganfield, Ryan Abel Heckendorf, John David Irish, David Alan Norgaard, Ibrahim Abdel-Rahman Ouda, Tolga Ozguner