Patents by Inventor Marco C. Heddes

Marco C. Heddes 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: 6701447
    Abstract: A method and structure for performing a delayed counter increment is provided. The method and structure allows a counter decision to be modified based upon what the computer system hardware does with the data packet. Subsequent to the generation of a counter command, the processing of the data packet may change: for example, the data packet may be discarded instead of forwarded. Accordingly, the counter increment instruction is changed. A delayed counter increment will perform the actual counter update after the processing of the data packet is completed. In one embodiment of the invention, the counter update action is modified depending upon whether the data packet is forwarded or discarded, and a different counter is selected to be updated. This solves a problem that sometimes the forwarding code is unable to determine if some independent action may later discard a data packet.
    Type: Grant
    Filed: September 6, 2000
    Date of Patent: March 2, 2004
    Assignee: International Business Machines Corporation
    Inventors: Brian Mitchell Bass, Gordon Taylor Davis, Marco C. Heddes
  • Patent number: 6681340
    Abstract: A method and system for efficiently implementing an error correction code scheme. In one embodiment of the present invention, a system comprises a processor configured to process frames of data. Each frame of data may be associated with a frame control block. The processor comprises a first queue configured to store one or more frame control blocks associated with one or more frames of data. The processor further comprises a second queue configured to store one or more frame control blocks not associated with a frame of data. The one or more frame control blocks associated with one or more frames of data in the first queue comprise a bit for storing a parity bit. The one or more frame control blocks in the second queue comprise a plurality of bits for storing a code of an error correction code scheme.
    Type: Grant
    Filed: February 23, 2001
    Date of Patent: January 20, 2004
    Assignee: International Business Machines Corporation
    Inventors: Jean Louis Calvignac, Marco C. Heddes, Joseph Franklin Logan, Fabrice Jean Verplanken
  • Patent number: 6674718
    Abstract: A method and system for controlling pipes in a computer network is disclosed. The network includes processor(s) having a switch and a queue used for transmitting traffic through the switch. Minimum and maximum flows are set for each pipe. The queue level, any excess bandwidth and offered rate of packets are determined for the queue. A global transmit fraction is controlled using the queue level and offered rate so that the global transmit fraction and queue level are critically damped if the queue level is between certain levels. A transmit fraction for a flow is set to the minimum of the global and differential transmit fractions. The differential transmit fraction linearly increases the flow based on the minimum or maximum flow if excess bandwidth exists and the flow is less than the maximum and exponentially decreases the flow based on the minimum or maximum flow if excess bandwidth does not exist and the flow exceeds the minimum.
    Type: Grant
    Filed: April 11, 2000
    Date of Patent: January 6, 2004
    Assignee: International Business Machines Corporation
    Inventors: Marco C. Heddes, Clark Debs Jeffries
  • Patent number: 6675163
    Abstract: Novel data structures, methods and apparatus for finding a full match between a search pattern and a pattern stored in a leaf of the search tree. A key is input, a hash function is performed on the key, a direct table (DT) is accessed, and a tree is walked through pattern search control blocks (PSCBs) until reaching a leaf. The search mechanism uses a set of data structures that can be located in a few registers and regular memory, and then used to build a Patricia tree structure that can be manipulated by a relatively simple hardware macro. Both keys and corresponding information needed for retrieval are stored in the Patricia tree structure. The hash function provides an n→n mapping of the bits of the key to the bits of the hash key. The data structure that is used to store the hash key and the related information in the tree is called a leaf. Each leaf corresponds to a single key that matches exactly with the input key. The leaf contains the key as well as additional information.
    Type: Grant
    Filed: April 6, 2000
    Date of Patent: January 6, 2004
    Assignee: International Business Machines Corporation
    Inventors: Brian Mitchell Bass, Jean Louis Calvignac, Marco C. Heddes, Antonios Maragkos, Piyush Chunilal Patel, Michael Steven Siegel, Fabrice Jean Verplanken
  • Patent number: 6671280
    Abstract: A method for integrating Asynchronous Transfer Mode (ATM) and frame-based traffic flows within a telecommunications network is disclosed. The telecommunications network includes a network processor having upside processing means for delivering an incoming flow from the telecommunications network to a switch and downside processing means for delivering outgoing network traffic from the switch to the telecommunications network. The incoming flow is initially received at the upside processing means as a frame-based flow. The incoming flow may be characterized as belonging to a group having frame-based flows and ATM flows. In response to the receipt of the incoming flow, the incoming flow is determined if it is destined for a legacy, ATM-only device. The incoming flow is then processed according to the determined routing requirements and the incoming flow characterization before delivering the incoming flow to the switch.
    Type: Grant
    Filed: March 29, 2000
    Date of Patent: December 30, 2003
    Assignee: International Business Machines Corporation
    Inventors: Brian Mitchell Bass, Jean Louis Calvignac, Anthony Matteo Gallo, Marco C. Heddes, Michael Steven Siegel, Fabrice Jean Verplanken
  • Patent number: 6658584
    Abstract: A method and structure for counting and storing the number of occurrences of each of a plurality of events occurring in a processor complex, which processor complex has at least one processor which processes multiple groups of data in a multiplicity of ways, is provided. The structure includes multiple storage devices, each of which includes a plurality of arrays of memory storage for storing count information of each event, which arrays are divided into a plurality of separately addressable groups of memory addresses in each memory array. At least one counter element is associated with each array of memory. A table is provided which contains information, including a point of reference in each array to uniquely define the structure and location of each memory array. At least one processor generates a plurality of parameters for each of the events to uniquely identify the event.
    Type: Grant
    Filed: September 6, 2000
    Date of Patent: December 2, 2003
    Assignee: International Business Machines Corporation
    Inventors: Brian Mitchell Bass, Gordon Taylor Davis, Marco C. Heddes
  • Patent number: 6657962
    Abstract: A system for minimizing congestion in a communication system is disclosed. The system comprises at least one ingress system for providing data. The ingress system includes a first free queue and a first flow queue. The system also includes a first congestion adjustment module for receiving congestion indications from the free queue and the flow queue. The first congestion adjustment module generates end stores transmit probabilities and performs per packet flow control actions. The system further includes a switch fabric for receiving data from the ingress system and for providing a congestion indication to the ingress system. The system further includes at least one egress system for receiving the data from the switch fabric. The egress system includes a second free queue and a second flow queue. The system also includes a second congestion adjustment module for receiving congestion indications from the second free queue and the second flow queue.
    Type: Grant
    Filed: April 10, 2000
    Date of Patent: December 2, 2003
    Assignees: International Business Machines Corporation, Alcatel
    Inventors: Peter Irma August Barri, Brian Mitchell Bass, Jean Louis Calvignac, Ivan Oscar Clemminck, Marco C. Heddes, Clark Debs Jeffries, Michael Steven Siegel, Fabrice Jean Verplanken, Miroslav Vrana
  • Patent number: 6658546
    Abstract: A method and system for reserving frame modification information in a data storage unit. In one embodiment of the present invention, a system comprises a processor configured to process frames of data. The processor may comprise a data flow unit configured to receive and transmit frames of data. The processor may further comprise a data storage unit coupled to the data flow unit where the data storage unit comprises a plurality of buffers. The plurality of buffers is configured to store frames of data. A first buffer may be accessed to store the ending frame data of a first frame. A first bank in the first buffer stores the end of the first frame. A second bank in a second buffer may be reserved for storing frame modification information where the second bank corresponds to the first bank in the first buffer that stores the end of the first frame.
    Type: Grant
    Filed: February 23, 2001
    Date of Patent: December 2, 2003
    Assignee: International Business Machines Corporation
    Inventors: Jean Louis Calvignac, Marco C. Heddes, Joseph Franklin Logan, Fabrice Jean Verplanken
  • Patent number: 6647004
    Abstract: A network switch apparatus, components for such an apparatus, and methods of operating such an apparatus in which data flow handling and flexibility is enhanced by the cooperation among a plurality of interface processors and a suite of peripheral elements formed on a semiconductor substrate. The interface processors and peripherals together form a network processor capable of cooperating with other elements including an optional switching fabric device in executing instructions directing the flow of data in a network.
    Type: Grant
    Filed: October 23, 2001
    Date of Patent: November 11, 2003
    Assignee: International Business Machines Corporation
    Inventors: James Johnson Allen, Jr., Brian Mitchell Bass, Jean Louis Calvignac, Santosh Prasad Gaur, Marco C. Heddes, Michael Steven Siegel, Fabrice Jean Verplanken
  • Patent number: 6633920
    Abstract: A system and method of data flow management, particularly in a multiple network processor architecture where a plurality of independent processing units are simultaneously processing information from different frames of input information. The present invention includes first-in-first-out files identifying the individual frames and correlating the frames with the processor to which the frames have been assigned for processing as well as a first-in-first-out file of processed frames for each processor to allow the frames to be processed independently, then reassembled into the same order as the frames had been received without communication between the independent processors.
    Type: Grant
    Filed: January 7, 2000
    Date of Patent: October 14, 2003
    Assignee: International Business Machines Corporation
    Inventors: Brian Mitchell Bass, Jean Louis Calvignac, Marco C. Heddes, Steven Kenneth Jenkins, Michael Steven Siegel, Fabrice Jean Verplanken
  • Patent number: 6588008
    Abstract: A central processor-coprocessor assembly comprising an assembler software tool for extending the base central processor tasks into at least one coprocessor. What is important is that the assembler software tool does not need to be rebuilt when changes are made to the coprocessor elements. The invention allows assembly time extension of a base core language processing (CLP) programming model, without the need to rebuild the assembler tool itself. The assembler tool comprises a set of commands which enable the central processor to manipulate the coprocessor registers, and a coprocessor execute instruction, which initiates command processing on the coprocessor. The present invention simplifies the maintenance of the assembler tool through multiple hardware revisions by enabling hardware designers to update their coprocessor definition files to reflect new or modified coprocessors.
    Type: Grant
    Filed: April 11, 2000
    Date of Patent: July 1, 2003
    Assignee: International Business Machines Corporation
    Inventors: Marco C. Heddes, Ross Boyd Leavens, Mark Anthony Rinaldi
  • Patent number: 6584518
    Abstract: A method and system for queueing data within a data storage device including a set of storage blocks each having an address, a pointer field, and a data field. This set of storage blocks comprises a linked list of associated storage blocks and also a free pool of available storage blocks. The storage device further includes a tail register for tracking an empty tail block from which a data object is enqueued into the linked list. A request to enqueue a data object into the linked list is received within the data storage system. In response to the data enqueue request, an available storage block from the free pool is selected and associated with the tail register. A single write operation is then required to write the data object into the data field of a current tail block and to write the address of the selected storage block into the pointer field of the current tail block, such that the selected storage block becomes a new tail block to which the tail register points.
    Type: Grant
    Filed: January 7, 2000
    Date of Patent: June 24, 2003
    Assignee: International Business Machines Corporation
    Inventors: Brian Mitchell Bass, Jean Louis Calvignac, Marco C. Heddes, Michael Steven Siegel, Michael Raymond Trombley, Fabrice Jean Verplanken
  • Patent number: 6557053
    Abstract: A bandwidth conserving queue manager for a FIFO buffer is provided, preferably on an ASIC chip and preferably including separate DRAM storage that maintains a FIFO queue which can extend beyond the data storage space of the FIFO buffer to provide additional data storage space as needed. FIFO buffers are used on the ASIC chip to store and retrieve multiple queue entries. As long as the total size of the queue does not exceed the storage available in the buffers, no additional data storage is needed. However, when some predetermined amount of the buffer storage space in the FIFO buffers is exceeded, data are written to and read from the additional data storage, and preferably in packets which are of optimum size for maintaining peak performance of the data storage device and which are written to the data storage device in such a way that they are queued in a first-in, first-out (FIFO) sequence of addresses. Preferably, the data are written to and are read from the DRAM in burst mode.
    Type: Grant
    Filed: January 4, 2000
    Date of Patent: April 29, 2003
    Assignee: International Business Machines Corporation
    Inventors: Brian Mitchell Bass, Jean Louis Calvignac, Marco C. Heddes, Michael Steven Siegel, Michael Raymond Trombley, Fabrice Jean Verplanken
  • Patent number: 6532185
    Abstract: Network processors commonly utilize DRAM chips for the storage of data. Each DRAM chip contains multiple banks for quick storage of data and access to that data. Latency in the transfer or the ‘write’ of data into memory can occur because of a phenomenon referred to as memory bank polarization. By a procedure called quadword rotation, this latency effect is effectively eliminated. Data frames received by the network processor are transferred to a receive queue (FIFO). The frames are divided into segments that are written into the memory of the DRAM in accordance with a formula that rotates the distribution of each segment into the memory banks of the DRAM.
    Type: Grant
    Filed: February 23, 2001
    Date of Patent: March 11, 2003
    Assignees: International Business Machines Corporation, Alcatel
    Inventors: Jean Louis Calvignac, Peter Irma August Barri, Ivan Oscar Clemminck, Kent Harold Haselhorst, Marco C. Heddes, Joseph Franklin Logan, Bart Joseph Gerard Pauwels, Fabrice Jean Verplanken, Miroslav Vrana
  • Publication number: 20030009453
    Abstract: A method and system for performing a pattern match search for a data string having a plurality of characters separated by delimiters. In accordance with the method of the present invention a search key is constructed by generating a full match search increment comprising the binary representation of a data string element, wherein the data string element comprises all characters between a pair of delimiters. The search key is completed by concatenating a pattern search prefix to the full match search increment, wherein the pattern search prefix is a cumulative pattern search result of each previous full match search increment. A full match search is then performed within a lookup table utilizing the search key. In response to finding a matching pattern within the lookup table, the process returns to constructing a next search key. In response to not finding a matching pattern, the previous full match search result is utilized to process the data string.
    Type: Application
    Filed: July 3, 2001
    Publication date: January 9, 2003
    Applicant: International Business Machines Corporation
    Inventors: Claude Basso, Jean Louis Calvignac, Philippe Damon, Gordon Taylor Davis, Marco C. Heddes, Clark Debs Jeffries
  • Patent number: 6498781
    Abstract: A data processing system and method in a computer network are disclosed for improving performance of a link aggregation system included in the network. Parameters are established which are utilized to determine performance criteria of the link aggregation system. A performance of the link aggregation system is determined by determining the performance criteria. The performance of the link aggregation system changes in response to a flow traffic burden on the link aggregation system changing. The link aggregation system dynamically modifies the parameters in response to the changing performance of the link aggregation system. The link aggregation system is self-tuning and capable of automatically adjusting to a changing flow traffic burden on the link aggregation system.
    Type: Grant
    Filed: August 13, 1999
    Date of Patent: December 24, 2002
    Assignee: International Business Machines Corporation
    Inventors: Brian Mitchell Bass, Jean Louis Calvignac, Marco C. Heddes, Clark Debs Jeffries, Loren Douglas Larsen, Jeffrey James Lynch, Mark Anthony Rinaldi, Michael Steven Siegel
  • Patent number: 6473838
    Abstract: The ability of network processors to move data to and from dynamic random access memory (DRAM) chips used in computer systems is enhanced in several respects. In one aspect of the invention, two double data rate DRAMS are used in parallel to double the bandwidth for increased throughput of data. The movement of data is further improved by setting 4 banks of full ‘read’ and 4 banks of full ‘write’ by the network processor for every repetition of the DRAM time clock. A scheme for randomized ‘read’ and ‘write’ access by the network processor is disclosed. This scheme is particularly applicable to networks such as Ethernet that utilize variable frame sizes.
    Type: Grant
    Filed: January 4, 2000
    Date of Patent: October 29, 2002
    Assignee: International Business Machines Corporation
    Inventors: Brian Mitchell Bass, Jean Louis Calvignac, Marco C. Heddes, Steven Kenneth Jenkins, Michael Steven Siegel, Michael Raymond Trombley, Fabrice Jean Verplanken
  • Publication number: 20020156908
    Abstract: Data structures, a method, and an associated transmission system for IP fragmentation and IP reassembly on network processors in order to minimize memory allocation requirements. Frame data for IP fragmentation or reassembly on a network processor is read into buffers to which are associated various control structures. The control structures permit IP fragmentation or reassembly to be accomplished without creating multiple copies of the frame or fragments.
    Type: Application
    Filed: April 20, 2001
    Publication date: October 24, 2002
    Applicant: International Business Machines Corporation
    Inventors: Claude Basso, Jean Louis Calvignac, Marco C. Heddes, Joseph Franklin Logan, Fabrice Jean Verplanken
  • Publication number: 20020154634
    Abstract: Data structures, a method, and an associated transmission system for multicast transmission on network processors in order both to minimize multicast transmission memory requirements and to account for port performance discrepancies. Frame data for multicast transmission on a network processor is read into buffers to which are associated various control structures and a reference frame. The reference frame and the associated control structures permit multicast targets to be serviced without creating multiple copies of the frame. Furthermore this same reference frame and control structures allow buffers allocated for each multicast target to be returned to the free buffer queue without waiting until all multicast transmissions are complete.
    Type: Application
    Filed: April 20, 2001
    Publication date: October 24, 2002
    Applicant: International Business Machines Corporation
    Inventors: Claude Basso, Jean Louis Calvignac, Marco C. Heddes, Joseph Franklin Logan, Fabrice Jean Verplanken
  • Publication number: 20020149989
    Abstract: Network processors commonly utilize DRAM chips for the storage of data. Each DRAM chip contains multiple banks for quick storage of data and access to that data. Latency in the transfer or the ‘write’ of data into memory can occur because of a phenomenon referred to as memory bank polarization. By a procedure called quadword rotation, this latency effect is effectively eliminated. Data frames received by the network processor are transferred to a receive queue (FIFO). The frames are divided into segments that are written into the memory of the DRAM in accordance with a formula that rotates the distribution of each segment into the memory banks of the DRAM.
    Type: Application
    Filed: February 23, 2001
    Publication date: October 17, 2002
    Applicant: International Business Machines Corporation
    Inventors: Jean Louis Calvignac, Peter Irma August Barri, Ivan Oscar Clemminck, Kent Harold Haselhorst, Marco C. Heddes, Joseph Franklin Logan, Bart Joseph Gerard Pauwels, Fabrice Jean Verplanken, Miroslav Vrana