Patents by Inventor Gordon T. Davis
Gordon T. Davis 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).
-
Publication number: 20080215804Abstract: A design structure embodied in a machine readable storage medium for at least one of designing, manufacturing, and testing a design for register renaming allows processor hardware to use a larger set of registers than the architected registers visible to the compiler. This larger set of registers is called the physical register file. Thus, dynamically renaming every compiler-suggested architected register to a microarchitecture-specific physical register, allows the processor to overcome name dependencies and the hazards (pipeline slowdowns) induced by name dependencies.Type: ApplicationFiled: May 12, 2008Publication date: September 4, 2008Inventors: Gordon T. Davis, Richard W. Doing, John D. Jabusch, MVV A. Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers
-
Patent number: 7412431Abstract: The present invention relates to a method for managing a plurality of multi-field classification rules. The method includes providing a first table that includes a plurality of entries corresponding to a plurality of rules relating to an ingress context and providing a second table that includes a plurality of entries corresponding to a plurality of rules relating to an egress context. The method also includes utilizing the first table and the second table to identify any rules relating to the ingress context and any rules relating to the egress context that match a search key.Type: GrantFiled: April 27, 2004Date of Patent: August 12, 2008Assignee: International Business Machines CorporationInventors: Everett A. Corl, Jr., Gordon T. Davis, Marco Heddes, Piyush C. Patel, Ravinder K. Sabhikhi
-
Patent number: 7412454Abstract: A procedure is used to provide data structures that handle large numbers of active data entries and a high rate of additions and deletions of active entries. The procedure utilizes one or more of the following modifications. Timers are removed from individual session table entries and are linked via pointers. Bilateral links are established between the session table and the timer structure. Aging/timer checks are applied to the timer control block (TCB). A chain of TCBs, optionally including an excess of blocks, may be used along with packing of multiple TCBs into a single memory location. This excess of blocks permits a terminated session to continue to occupy a TCB until the timer process progresses to that block location in the chain of blocks.Type: GrantFiled: September 3, 2003Date of Patent: August 12, 2008Assignee: International Business Machines CorporationInventors: Gordon T. Davis, Marco Heddes, Dongming Hwang
-
Patent number: 7406080Abstract: A method and structure is provided for buffering data packets having a header and a remainder in a network processor system. The network processor system has a processor on a chip and at least one buffer on the chip. Each buffer on the chip is configured to buffer the header of the packets in a preselected order before execution in the processor, and the remainder of the packet is stored in an external buffer apart from the chip. The method comprises utilizing the header information to identify the location and extent of the remainder of the packet. The entire selected packet is stored in the external buffer when the buffer of the stored header of the given packet is full, and moving only the header of a selected packet stored in the external buffer to the buffer on the chip when the buffer on the chip has space therefor.Type: GrantFiled: June 15, 2004Date of Patent: July 29, 2008Assignee: International Business Machines CorporationInventors: Claude Basso, Jean L. Calvignac, Chih-jen Chang, Gordon T. Davis, Fabrice J. Verplanken
-
Publication number: 20080168236Abstract: A method and system for improving the performance of a cache. The cache may include an array of tag entries where each tag entry includes an additional bit (“reused bit”) used to indicate whether its associated cache line has been reused, i.e., has been requested or referenced by the processor. By tracking whether a cache line has been reused, data (cache line) that may not be reused may be replaced with the new incoming cache line prior to replacing data (cache line) that may be reused. By replacing data in the cache memory that might not be reused prior to replacing data that might be reused, the cache hit may be improved thereby improving performance.Type: ApplicationFiled: March 19, 2008Publication date: July 10, 2008Applicant: International Business Machines CorporationInventors: Gordon T. Davis, Santiago A. Leon, Hans-Werner Tast
-
Publication number: 20080162525Abstract: Method for compressing search tree structures used in rule classification is provided. The method includes classifying packets based on filter rules, compressing a tree structure comprising multiple levels of single bit test nodes and leaf nodes, storing the compressed tree structure in a first memory structure of a storage such that the multiple levels of single bit test nodes and leaf nodes can be accessed from the first memory structure through a single memory access of the storage, collecting single bit test nodes of the tree structure that are in a lowest level of the tree structure, storing only the collected single bit test nodes within a second memory structure of the storage that is contiguous to the first memory structure, collecting leaf nodes of the tree structure, and storing only the collected leaf nodes within a third memory structure of the storage that is contiguous to second memory structure.Type: ApplicationFiled: March 14, 2008Publication date: July 3, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Everett A. CORL, Gordon T. Davis, Marco Heddes, Piyush C. Patel, Ravinder K. Sabhikhi
-
Publication number: 20080133467Abstract: A procedure is used to provide data structures that handle large numbers of active data entries and a high rate of additions and deletions of active entries. The procedure utilizes one or more of the following modifications. Timers are removed from individual session table entries and are linked via pointers. Bilateral links are established between the session table and the timer structure. Aging/timer checks are applied to the timer control block (TCB). A chain of TCBs, optionally including an excess of blocks, may be used along with packing of multiple TCBs into a single memory location. This excess of blocks permits a terminated session to continue to occupy a TCB until the timer process progresses to that block location in the chain of blocks.Type: ApplicationFiled: January 16, 2008Publication date: June 5, 2008Applicant: International Business Machines CorporationInventors: Gordon T. Davis, Marco Heddes, Dongming Hwang
-
Patent number: 7380065Abstract: A method and system for improving the performance of a cache. The cache may include an array of tag entries where each tag entry includes an additional bit (“reused bit”) used to indicate whether its associated cache line has been reused, i.e., has been requested or referenced by the processor. By tracking whether a cache line has been reused, data (cache line) that may not be reused may be replaced with the new incoming cache line prior to replacing data (cache line) that may be reused. By replacing data in the cache memory that might not be reused prior to replacing data that might be reused, the cache hit may be improved thereby improving performance.Type: GrantFiled: March 30, 2005Date of Patent: May 27, 2008Assignee: International Business Machines CorporationInventors: Gordon T. Davis, Santiago A. Leon, Hans-Werner Tast
-
Publication number: 20080120468Abstract: A single unified level one instruction cache in which some lines may contain traces and other lines in the same congruence class may contain blocks of instructions consistent with conventional cache lines. Instruction branches are predicted taken or not taken using a highly accurate branch history table (BHT). Branches that are predicted not taken are appended to a trace buffer and the next basic block is constructed from the remaining instructions in the fetch buffer. Branches that are predicted taken flush the remaining fetch buffer and the next address is determined using a Branch Target Address Register (BTAC).Type: ApplicationFiled: November 21, 2006Publication date: May 22, 2008Inventors: Gordon T. Davis, Richard W. Doing, John D. Jabusch, M V V Anil Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers
-
Publication number: 20080114964Abstract: A single unified level one instruction cache in which some lines may contain traces and other lines in the same congruence class may contain blocks of instructions consistent with conventional cache lines. Control is exercised over which lines are contained within the cache. This invention avoids inefficiencies in the cache by removing trace lines experiencing early exits from the cache, or trace lines that are short, by maintaining a few bits of information about the accuracy of the control flow in a trace cache line and using that information in addition to the LRU (Least Recently Used) bits that maintain the recency information of a cache line, in order to make a replacement decision.Type: ApplicationFiled: November 14, 2006Publication date: May 15, 2008Inventors: Gordon T. Davis, Richard W. Doing, John D. Jabusch, M V V Anil Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers
-
Patent number: 7366728Abstract: The present invention relates to a method and system for compressing a tree structure. The method of the present invention includes providing a compressed format block for representing a plurality of levels of the tree structure, where the plurality of levels comprises a set of nodes. The method also includes compressing each node in the set of nodes into the compressed format block, such that the plurality of levels is traversed in a single memory access.Type: GrantFiled: April 27, 2004Date of Patent: April 29, 2008Assignee: International Business Machines CorporationInventors: Everett A. Corl, Jr., Gordon T. Davis, Marco Heddes, Piyush C. Patel, Ravinder K. Sabhikhi
-
Publication number: 20080086596Abstract: A single unified level one instruction cache in which some lines may contain traces and other lines in the same congruence class may contain blocks of instructions consistent with conventional cache lines. A mechanism is described for indexing into the cache, and selecting the desired line. Control is exercised over which lines are contained within the cache. Provision is made for selection between a trace line and a conventional line when both match during a tag compare step.Type: ApplicationFiled: October 4, 2006Publication date: April 10, 2008Inventors: Gordon T. Davis, Richard W. Doing, John D. Jabusch, M. V. V. Anil Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers
-
Publication number: 20080086597Abstract: A single unified level one instruction(s) cache in which some lines may contain traces and other lines in the same congruence class may contain blocks of instruction(s) consistent with conventional cache lines. Formation of trace lines in the cache is delayed on initial operation of the system to assure quality of the trace lines stored.Type: ApplicationFiled: October 5, 2006Publication date: April 10, 2008Inventors: Gordon T. Davis, Richard W. Doing, John D. Jabusch, M. V. V. Anil Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers
-
Publication number: 20080086595Abstract: A single unified level one instruction cache in which some lines may contain traces and other lines in the same congruence class may contain blocks of instructions consistent with conventional cache lines. Power is conserved by guiding access to lines stored in the cache and lowering cache clock speed relative to the central processor clock speed.Type: ApplicationFiled: October 4, 2006Publication date: April 10, 2008Inventors: Gordon T. Davis, Richard W. Doing, John D. Jabusch, M. V. V. Anil Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaye, Jeffrey R. Summers
-
Publication number: 20080077778Abstract: Register renaming as contemplated by this invention allows processor hardware to use a larger set of registers than the architected registers visible to the compiler. This larger set of registers is called the physical register file. Thus, dynamically renaming every compiler-suggested architected register to a microarchitecture-specific physical register, allows the processor to overcome name dependencies and the hazards (pipeline slowdowns) induced by name dependencies. The invention here described differs from prior renaming techniques in that it extracts significant benefit from renaming with a fraction of the number of physical registers previously used for this process. The invention therefore also simplifies the logic involved in supporting the use of the physical registers.Type: ApplicationFiled: September 25, 2006Publication date: March 27, 2008Inventors: Gordon T. Davis, Richard W. Doing, John D. Jabusch, M V V Anil Krishna, Brett Olsson, Eric F. Robinson, Sumedh W. Sathaya, Jeffrey R. Summers
-
Patent number: 7286543Abstract: A memory subsystem includes Data Store 0 and Data Store 1. Each data store is partitioned into N buffers, N>1. An increment of memory is formed by a buffer pair, with each buffer of the buffer pair being in a different data store. Two buffer pair formats are used in forming memory increments. A first format selects a first buffer from Data Store 0 and a second buffer from Data Store 1, while a second format selects a first buffer from Data Store 1 and a second buffer from Data Store 0. A controller selects a buffer pair for storing data based upon the configuration of data in a delivery mechanism, such as switch cell.Type: GrantFiled: February 20, 2003Date of Patent: October 23, 2007Assignee: International Business Machines CorporationInventors: Brian M. Bass, Gordon T. Davis, Michael S. Siegel, Michael R. Trombley
-
Patent number: 7277982Abstract: Access arbiters are used to prioritize read and write access requests to individual memory banks in DRAM memory devices, particularly fast cycle DRAMs. This serves to optimize the memory bandwidth available for the read and the write operations by avoiding consecutive accesses to the same memory bank and by minimizing dead cycles. The arbiter first divides DRAM accesses into write accesses and read accesses. The access requests are divided into accesses per memory bank with a threshold limit imposed on the number of accesses to each memory bank. The write receive packets are rotated among the banks based on the write queue status. The status of the write queue for each memory bank may also be used for system flow control. The arbiter also typically includes the ability to determine access windows based on the status of the command queues, and to perform arbitration on each access window.Type: GrantFiled: July 27, 2004Date of Patent: October 2, 2007Assignee: International Business Machines CorporationInventors: Jean L. Calvignac, Chih-jen Chang, Gordon T. Davis, Fabrice J. Verplanken
-
Patent number: 7177313Abstract: A method and system for converting a plurality of ranges of values for a plurality of packet classification rules in a computer system is disclosed. The plurality of ranges exists in at least one dimension. The method and system include mapping each of the plurality of ranges to a plurality of nonoverlapping prefixes. The method and system also include mapping the plurality of nonoverlapping prefixes to a plurality of overlapping prefixes corresponding to the plurality of ranges. The plurality of overlapping prefixes include a plurality of shorter matching overlapping prefixes for a plurality of nonconflicting ranges.Type: GrantFiled: May 23, 2002Date of Patent: February 13, 2007Assignee: International Business Machines CorporationInventors: Gordon T. Davis, Clark D. Jeffries, Jan Van Lunteren
-
Patent number: 7149749Abstract: A technique is provided to either insert or delete a leaf in a Patricia tree having a direct table and a plurality of PSCB's which decode portions of the pattern of a leaf in the tree without shutting down the functioning of the tree. A leaf having a pattern is identified as either a leaf to be inserted or deleted. Using the pattern, the tree is walked once to identify the location of the leaf to be deleted or the location where the leaf is to be inserted. If it is a delete operation, the leaf to be deleted is identified and deleted, and any relevant PSCB modified, if necessary. If it is an insert operation, the tree is walked a second time to insert the leaf and reform or create any PSCB in the chain that needs to be reformed or created. The technique also is applicable to inserting or deleting a prefix of a prefix.Type: GrantFiled: June 3, 2003Date of Patent: December 12, 2006Assignee: International Business Machines CorporationInventors: Claude Basso, Jean L. Calvignac, Gordon T. Davis, Marco Heddes, Piyush C. Patel, Steven R. Perrin, Grayson W. Randall, Sonia K. Rovner
-
Patent number: 7089240Abstract: A method and apparatus are used for finding the longest prefix match in a variable length prefix search when searching a direct table within a routing table structure of a network processor. The search through the routing table structure is expedited by hashing a first segment of an internet protocol address with a virtual private network number followed by concatenating the unhashed bits of the IP address to the result of the hash operation to form an input key. Patterns are compared a bit at a time until an exact match or the best match is found. The search is conducted in a search tree that provides that the matching results will be the best possible match.Type: GrantFiled: June 29, 2004Date of Patent: August 8, 2006Assignee: International Business Machines CorporationInventors: Claude Basso, Jean L. Calvignac, Gordon T. Davis, Piyush C. Patel