Patents by Inventor David Alan Norgaard

David Alan Norgaard 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: 7929548
    Abstract: A data communication apparatus includes a plurality of output ports and a scheduler for assigning priorities for outbound data frames. The scheduler includes one or more scheduling queues. Each scheduling queue indicates an order in which data flows are to be serviced. At least one scheduling queue has a respective plurality of output ports assigned to the scheduling queue. That is, the scheduling queue is shared by two or more output ports.
    Type: Grant
    Filed: January 7, 2008
    Date of Patent: April 19, 2011
    Assignee: International Business Machines Corporation
    Inventors: William John Goetzinger, Glen Howard Handlogten, James Francis Mikos, David Alan Norgaard
  • 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: 7680043
    Abstract: In a first aspect, a network processor services a plurality of flows including a first flow and a discard flow. The first flow includes a first flow queue and the discard flow includes a discard queue that lists frames to be discarded. An indication is made that the first flow is to be disabled. In response to the indication, all frames included in the first flow queue are transferred to the discard queue. Because the first flow queue is now empty, reconfiguration of the first flow may proceed immediately.
    Type: Grant
    Filed: March 20, 2002
    Date of Patent: March 16, 2010
    Assignee: International Business Machines Corporation
    Inventors: William John Goetzinger, Glen Howard Handlogten, James Francis Mikos, David Alan Norgaard
  • Patent number: 7660251
    Abstract: A method and apparatus are provided for implementing hierarchical scheduling of oversubscribed virtual paths with underutilized bandwidth that works for both ATM (cell) and IP (frame) scheduling. A scheduler includes a first calendar for pipes and autonomous flows and a second calendar for pipe flows. A winner of a pipe or an autonomous flow is identified from the first calendar. Responsive to an identified winner pipe, a pipe queue is checked for an associated pipe flow for the winner pipe. Responsive to identifying an empty pipe queue for the winner pipe, a pipe win credit is assigned to the pipe without reattaching the winner pipe to the first calendar. Then a next winner is identified from the first calendar. When a winner pipe flow is identified from the second calendar and the pipe win credit is assigned to the pipe for the winner pipe flow, then the winner pipe flow is serviced without delay.
    Type: Grant
    Filed: March 9, 2008
    Date of Patent: February 9, 2010
    Assignee: International Business Machines Corporation
    Inventors: Lyle Edwin Grosbach, Glen Howard Handlogten, James Francis Mikos, David Alan Norgaard
  • 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
  • Publication number: 20080183985
    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: Application
    Filed: January 30, 2007
    Publication date: July 31, 2008
    Inventors: Mark David Bellows, Kent Harold Haselhorst, John David Irish, David Alan Norgaard
  • Publication number: 20080168298
    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 computer system including (a) a memory; (b) a processor adapted to issue a functional command to the memory; (c) a translation chip; (d) a first link adapted to couple the processor to the translation chip; and (e) a second link adapted to couple the translation chip to the memory; (2) calibrating the first link using the translation chip; and (3) while calibrating the first link, calibrating the second link using the translation chip. Numerous other aspects are provided.
    Type: Application
    Filed: January 5, 2007
    Publication date: July 10, 2008
    Inventors: Mark David Bellows, Paul Allen Ganfield, David Alan Norgaard, Ibrahim Abdel-Rahman Ouda, Tolga Ozguner
  • Publication number: 20080168262
    Abstract: In a first aspect, a first method of controlling a non-functional operation on a memory of a computer system using software is provided. The first method includes the steps of (1) employing a processor to write bits of data to at least one register external to the processor, wherein the bits of data serve as control bits for the memory; and (2) applying the bits of data to respective pins of the memory so as to cause the non-functional operation to be performed on the memory. Numerous other aspects are provided.
    Type: Application
    Filed: January 5, 2007
    Publication date: July 10, 2008
    Inventors: Mark David Bellows, John David Irish, David Alan Norgaard, Tolga Ozguner, Dorothy Marie Thelen
  • Publication number: 20080159297
    Abstract: A method and apparatus are provided for implementing hierarchical scheduling of oversubscribed virtual paths with underutilized bandwidth that works for both ATM (cell) and IP (frame) scheduling. A scheduler includes a first calendar for pipes and autonomous flows and a second calendar for pipe flows. A winner of a pipe or an autonomous flow is identified from the first calendar. Responsive to an identified winner pipe, a pipe queue is checked for an associated pipe flow for the winner pipe. Responsive to identifying an empty pipe queue for the winner pipe, a pipe win credit is assigned to the pipe without reattaching the winner pipe to the first calendar. Then a next winner is identified from the first calendar. When a winner pipe flow is identified from the second calendar and the pipe win credit is assigned to the pipe for the winner pipe flow, then the winner pipe flow is serviced without delay.
    Type: Application
    Filed: March 9, 2008
    Publication date: July 3, 2008
    Applicant: International Business Machines Corporation
    Inventors: Lyle Edwin Grosbach, Glen Howard Handlogten, James Francis Mikos, David Alan Norgaard
  • Patent number: 7362706
    Abstract: A method and apparatus are provided for implementing hierarchical scheduling of oversubscribed virtual paths with underutilized bandwidth that works for both ATM (cell) and IP (frame) scheduling. A scheduler includes a first calendar for pipes and autonomous flows and a second calendar for pipe flows. A winner of a pipe or an autonomous flow is identified from the first calendar. Responsive to an identified winner pipe, a pipe queue is checked for an associated pipe flow for the winner pipe. Responsive to identifying an empty pipe queue for the winner pipe, a pipe win credit is assigned to the pipe without reattaching the winner pipe to the first calendar. Then a next winner is identified from the first calendar. When a winner pipe flow is identified from the second calendar and the pipe win credit is assigned to the pipe for the winner pipe flow, then the winner pipe flow is serviced without delay.
    Type: Grant
    Filed: December 12, 2002
    Date of Patent: April 22, 2008
    Assignee: International Business Machines Corporation
    Inventors: Lyle Edwin Grosbach, Glen Howard Handlogten, James Francis Mikos, David Alan Norgaard
  • Patent number: 7317683
    Abstract: A data communication apparatus includes a plurality of output ports and a scheduler for assigning priorities for outbound data frames. The scheduler includes one or more scheduling queues. Each scheduling queue indicates an order in which data flows are to be serviced. At least one scheduling queue has a respective plurality of output ports assigned to the scheduling queue. That is, the scheduling queue is shared by two or more output ports.
    Type: Grant
    Filed: November 1, 2001
    Date of Patent: January 8, 2008
    Assignee: International Business Machines Corporation
    Inventors: William John Goetzinger, Glen Howard Handlogten, James Francis Mikos, David Alan Norgaard
  • Patent number: 7310345
    Abstract: A scheduler for a network processor includes one or more scheduling queues. Each scheduling queue defines a respective sequence in which flows are to be serviced. A respective empty indicator is associated with each scheduling queue to indicate whether the respective scheduling queue is empty. By referring to the empty indicators, it is possible to avoid wasting operating cycles of the scheduler on searching scheduling queues that are empty.
    Type: Grant
    Filed: November 1, 2001
    Date of Patent: December 18, 2007
    Assignee: International Business Machines Corporation
    Inventors: William John Goetzinger, Glen Howard Handlogten, James Francis Mikos, David Alan Norgaard, Daniel James Sucher
  • Patent number: 7280474
    Abstract: A scheduler for a network processor includes a scheduling queue in which weighted fair queuing is applied. The scheduling queue has a range R. Flows are attached to the scheduling queue at a distance D from a current pointer for the scheduling queue. The distance D is calculated for each flow according to the formula D=((WF×FS)/SF), where WF is a weighting factor applicable to a respective flow; FS is a frame size attributable to the respective flow; and SF is a scaling factor. The scaling factor SF is adjusted depending on a comparison of the distance D to the range R.
    Type: Grant
    Filed: November 1, 2001
    Date of Patent: October 9, 2007
    Assignee: International Business Machines Corporation
    Inventors: William John Goetzinger, Glen Howard Handlogten, James Francis Mikos, David Alan Norgaard
  • Patent number: 7257124
    Abstract: In a first aspect, a network processor includes a scheduler in which a scheduling queue is maintained. A last frame is dispatched from a flow queue maintained in the network processor, thereby emptying the flow queue. Data indicative of the size of the dispatched last frame is stored in association with the scheduler. A new frame corresponding to the emptied flow queue is received, and the flow corresponding to the emptied flow queue is attached to the scheduling queue. The flow is attached to the scheduling queue at a distance D from a current pointer for the scheduling queue. The distance D is determined based at least in part on the stored data indicative of the size of the dispatched last frame.
    Type: Grant
    Filed: March 20, 2002
    Date of Patent: August 14, 2007
    Assignee: International Business Machines Corporation
    Inventors: William John Goetzinger, Glen Howard Handlogten, James Francis Mikos, David Alan Norgaard
  • Patent number: 7187684
    Abstract: A scheduler for a network processor includes a scheduling queue in which weighted fair queuing is applied to define a sequence in which flows are to be serviced. The scheduling queue includes at least a first subqueue and a second subqueue. The first subqueue has a first range and a first resolution, and the second subqueue has an extended range that is greater than the first range and a lower resolution that is less than the first resolution. Flows that are to be enqueued within the range of highest precision to the current pointer of the scheduling queue are attached to the first subqueue. Flows that are to be enqueued outside the range of highest precision from the current pointer of the scheduling queue are attached to the second subqueue. Numerous other aspects are provided.
    Type: Grant
    Filed: November 1, 2001
    Date of Patent: March 6, 2007
    Assignee: International Business Machines Corporation
    Inventors: William John Goetzinger, Glen Howard Handlogten, James Francis Mikos, David Alan Norgaard
  • Patent number: 7130270
    Abstract: In a scheduler circuit for a network processor, bandwidth assigned to a virtual path is allocated among virtual channels associated with the virtual path. The allocation of bandwidth among the virtual channels is varied dynamically as virtual channels become active or inactive.
    Type: Grant
    Filed: July 26, 2002
    Date of Patent: October 31, 2006
    Assignee: International Business Machines Corporation
    Inventors: Merwin Herscher Alferness, Glen Howard Handlogten, James Francis Mikos, David Alan Norgaard
  • Patent number: 7103051
    Abstract: A scheduler, scheduling method, and computer program product are provided for implementing Quality-of-Service (QoS) scheduling of a plurality of flows with aging time stamps. Subsets of time stamp data stored in a time stamp aging memory array are sequentially accessed. Each time stamp data subset contains time stamp data for a subplurality of flows. Guaranteed aging processing steps are performed for each flow utilizing the time stamp data subsets to identify and mark invalid calendar next time values. When a new frame arrival for an empty flow is identified, flow queue control block (FQCB) time stamp data and the flow time stamp data in the time stamp aging memory array are accessed. Based on the calendar to which the new frame is directed or the target calendar for the new frame, the target calendar next time valid bit of the time stamp aging memory array data is checked.
    Type: Grant
    Filed: November 1, 2001
    Date of Patent: September 5, 2006
    Assignee: International Business Machines Corporation
    Inventors: William John Goetzinger, Glen Howard Handlogten, James Francis Mikos, David Alan Norgaard
  • Patent number: 7046676
    Abstract: A QoS scheduler, scheduling method, and computer program product are provided for implementing Quality-of-Service (QoS) scheduling with a cached status array. A plurality of calendars are provided for scheduling the flows. An active flow indicator is stored for each calendar entry in a calendar status array (CSA). A cache copy subset of the active flow indicators from the calendar status array (CSA) is stored in a cache. The calendar status array (CSA) is updated based upon a predefined calendar range and resolution. The cache copy subset of the active flow indicators from the calendar status array (CSA) is used to determine a given calendar for servicing.
    Type: Grant
    Filed: November 1, 2001
    Date of Patent: May 16, 2006
    Assignee: International Business Machines Corporation
    Inventors: William John Goetzinger, Glen Howard Handlogten, James Francis Mikos, David Alan Norgaard
  • Patent number: 6987760
    Abstract: A Network Processor (NP) is formed from a plurality of operatively coupled chips. The NP includes a Network Processor Complex (NPC) Chip coupled to a Data Flow Chip and Data Store Memory coupled to the Data Flow Chip. An optional Scheduler Chip is coupled to the Data Flow Chip. The named components are replicated to create a symmetric ingress and egress structure.
    Type: Grant
    Filed: April 19, 2001
    Date of Patent: January 17, 2006
    Assignee: International Business Machines Corporation
    Inventors: Jean Louis Calvignac, William John Goetzinger, Glen Howard Handlogten, Marco C. Heddes, Joseph Franklin Logan, James Francis Mikos, David Alan Norgaard, Fabrice Jean Verplanken
  • Patent number: 6982986
    Abstract: A QoS scheduler, scheduling method, and computer program product are provided for implementing Quality-of-Service (QoS) scheduling with detecting and anticipating the end of a chain of flows. A first indicator is provided for indicating a number of flows being chained to a physical entry. A second indicator is provided for indicating when the first indicator has saturated. The second indicator is set active for a flow whose chaining causes the first indicator to saturate. During de-chaining of the flows from the physical entry, the second indicator is used to determine when the first indicator becomes accurate to begin decrementing the first indicator. The first indicator is decremented for detecting the end of the chain of flows. Responsive to the first indicator being not saturated, the first indicator is used for anticipating the end of a chain of flows. The first indicator and the second indicator include a predefined number of bits or n-bits.
    Type: Grant
    Filed: November 1, 2001
    Date of Patent: January 3, 2006
    Assignee: International Business Machines Corporation
    Inventors: William John Goetzinger, Glen Howard Handlogten, James Francis Mikos, David Alan Norgaard