Patents by Inventor Dean A. Mulla
Dean A. Mulla 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: 6874116Abstract: A method, and a corresponding apparatus, mask error detection and correction latency during multilevel cache transfers. The method includes the steps of transferring error protection encoded data lines from a first cache, checking the error protection encoded data lines for errors, wherein the checking is completed after the transferring begins, receiving the error protection encoded data lines in a second cache, and upon detecting an error in a data line, preventing further transfer of the data line from the second cache.Type: GrantFiled: May 22, 2003Date of Patent: March 29, 2005Assignee: Hewlett-Packard Development Company, L.P.Inventors: Shawn Kenneth Walker, Dean A. Mulla, Donald Charles Soltis, Jr., Terry L Lyon
-
Patent number: 6832308Abstract: An apparatus is described comprising a signal indicative of which of a plurality of data structures stored in a queue desire to issue from the queue. The apparatus also has a content addressable memory having a plurality of cells, where each of the cells is configured to store one of the data structures. The apparatus also has an output from at least one of the cells that is indicative of whether the data structure within the at least one of the cells has issued from the queue. The apparatus also has an input to the at least one of the cells coupled to the signal.Type: GrantFiled: February 15, 2000Date of Patent: December 14, 2004Assignees: Intel Corporation, Hewlett Packard CorporationInventors: William G. Sicaras, Joe R. Butler, Don R. Weiss, Lakshmikant Mamileti, Reid J. Reidlinger, Dean A. Mulla
-
Patent number: 6826573Abstract: A method of generating an issue pointer for issuing data structures from a queue, comprising generating a signal that indicates where one or more of the data structures within the queue that desire to issue are located within the queue. Then, checking the signal at a queue location pointed to by an issue pointer. Then, incrementing the position of the issue pointer if a data structure has not shifted into the queue location since the previous issue and if the issue pointer is pointing to the location having issued on the previous queue issue or holding the issue pointer position if a data structure has shifted into the location since the previous issue and if the issue pointer is pointing to the location having issued on the previous queue issue.Type: GrantFiled: February 15, 2000Date of Patent: November 30, 2004Assignee: Intel CorporationInventors: William G. Sicaras, Dean A. Mulla
-
Patent number: 6704820Abstract: A method and apparatus consolidate ports on a unified cache. The apparatus uses plurality of access connections with a single port of a memory. The apparatus comprises multiplexor and a logic circuit. The multiplexor is connected to the plurality of access connections. The multiplexor has a control input and a memory connection. The logic circuit produces an output signal tied to the control input. In another form, the apparatus comprises means for selectively coupling a single one of the plurality of access connections to the memory, and a means for controlling the means for coupling. Preferably, the plurality of access connections comprise a data connection and an instruction connection, and the memory is cache memory. The method uses a single memory access connection for a plurality of access types. The method accepts one or more memory access requests on one or more respective ones of a plurality of connections.Type: GrantFiled: February 18, 2000Date of Patent: March 9, 2004Assignee: Hewlett-Packard Development Company, L.P.Inventors: Shawn Kenneth Walker, Dean A. Mulla, Terry L Lyon
-
Publication number: 20040025094Abstract: A method, and a corresponding apparatus, mask error detection and correction latency during multilevel cache transfers. The method includes the steps of transferring error protection encoded data lines from a first cache, checking the error protection encoded data lines for errors, wherein the checking is completed after the transferring begins, receiving the error protection encoded data lines in a second cache, and upon detecting an error in a data line, preventing further transfer of the data line from the second cache.Type: ApplicationFiled: May 22, 2003Publication date: February 5, 2004Inventors: Shawn Kenneth Walker, Dean A. Mulla, Donald Charles Soltis, Terry L. Lyon
-
Patent number: 6687262Abstract: The inventive control logic provides the selection signals for a bi-endian rotator MUX. The logic determines the starting point for the data transfer by determining which input register byte is going to Byte 0 of the output register. The control logic passes the starting point to single decoder. The decoded value is then sent to a plurality of MUXs, one for each of the output register bytes. Each of the MUXs is prewired to receive a portion of bits of the decoded value, and the portion is arranged in a particular order. The MUXs then send their respective outputs to the rotator MUX as selection control signals.Type: GrantFiled: February 21, 2000Date of Patent: February 3, 2004Assignees: Hewlett-Packard Development Company, L.P., Intel CorporationInventors: Daming Jin, Dean A. Mulla, Douglas J Cutter, Thomas Grutkowski
-
Patent number: 6647464Abstract: A system and method are disclosed which provide a cache structure that allows early access to the cache structure's data. A cache design is disclosed that, in response to receiving a memory access request, begins an access to a cache level's data before a determination has been made as to whether a true hit has been achieved for such cache level. That is, a cache design is disclosed that enables cache data to be speculatively accessed before a determination is made as to whether a memory address required to satisfy a received memory access request is truly present in the cache. In a preferred embodiment, the cache is implemented to make a determination as to whether a memory address required to satisfy a received memory access request is truly present in the cache structure (i.e., whether a “true” cache hit is achieved). Although, such a determination is not made before the cache data begins to be accessed.Type: GrantFiled: February 18, 2000Date of Patent: November 11, 2003Assignee: Hewlett-Packard Development Company, L.P.Inventors: Reid James Riedlinger, Dean A. Mulla, Tom Grutkowski
-
Publication number: 20030163643Abstract: A system and method are disclosed which enable resolution of conflicts between memory access requests in a manner that allows for efficient usage of cache memory. In one embodiment, a circuit comprises a cache memory structure comprising multiple banks, and a plurality of access ports communicatively coupled to such cache memory structure. The circuit further comprises circuitry operable to determine a bank conflict for pending access requests for the cache memory structure, and circuitry operable to issue at least one access request to the cache memory structure out of the order in which it was requested, responsive to determination of a bank conflict.Type: ApplicationFiled: February 22, 2002Publication date: August 28, 2003Inventors: Reid James Riedlinger, Dean A. Mulla, Tom Grutkowski
-
Patent number: 6591393Abstract: Methods and apparatus mask the latency of error detection and/or error correction applied to data transferred between a first memory and a second memory. The method comprises determining whether there is an error in a data unit in the first memory; transferring data based on the data unit from the first memory to a second memory, wherein the transferring step commences before completion of the determining step; and disabling at least part of the second memory if the determining step detects an error in the data unit. The disabling step may be accomplished, for example, by disabling the buffering of an address of the data unit or stalling the second memory.Type: GrantFiled: February 18, 2000Date of Patent: July 8, 2003Assignee: Hewlett-Packard Development Company, L.P.Inventors: Shawn Kenneth Walker, Dean A. Mulla, Donald Charles Soltis, Jr., Terry L Lyon
-
Patent number: 6557078Abstract: The inventive cache uses a queuing structure which provides out-of-order cache memory access support for multiple accesses, as well as support for managing bank conflicts and address conflicts. The inventive cache can support four data accesses that are hits per clocks, support one access that misses the L1 cache every clock, and support one instruction access every clock. The responses are interspersed in the pipeline, so that conflicts in the queue are minimized. Non-conflicting accesses are not inhibited, however, conflicting accesses are held up until the conflict clears. The inventive cache provides out-of-order support after the retirement stage of a pipeline.Type: GrantFiled: February 21, 2000Date of Patent: April 29, 2003Assignees: Hewlett Packard Development Company, L.P., Intel CorporationInventors: Dean A. Mulla, Terry L Lyon, Reid James Riedlinger, Thomas Grutkowski
-
Patent number: 6539457Abstract: The inventive cache manages address conflicts and maintains program order without using a store buffer. The cache utilizes an issue algorithm to insure that accesses issued in the same clock are actually issued in an order that is consistent with program order. This is enabled by performing address comparisons prior to insertion of the accesses into the queue. Additionally, when accesses are separated by one or more clocks, address comparisons are performed, and accesses that would get data from the cache memory array before a prior update has actually updated the cache memory in the array are canceled. This provides a guarantee that program order is maintained, as an access is not allowed to complete until it is assured that the most recent data will be received upon access of the array.Type: GrantFiled: February 21, 2000Date of Patent: March 25, 2003Assignee: Hewlett-Packard CompanyInventors: Dean A. Mulla, Reid James Riedlinger, Thomas Grutkowski
-
Patent number: 6507892Abstract: The inventive cache processes multiple access requests simultaneously by using separate queuing structures for data and instructions. The inventive cache uses ordering mechanisms that guarantee program order when there are address conflicts and architectural ordering requirements. The queuing structures are snoopable by other processors of a multiprocessor system. The inventive cache has a tag access bypass around the queuing structures, to allow for speculative checking by other levels of cache and for lower latency if the queues are empty. The inventive cache allows for at least four accesses to be processed simultaneously. The results of the access can be sent to multiple consumers. The multiported nature of the inventive cache allows for a very high bandwidth to be processed through this cache with a low latency.Type: GrantFiled: February 21, 2000Date of Patent: January 14, 2003Assignees: Hewlett-Packard Company, Intel CorporationInventors: Dean A. Mulla, Terry L Lyon, Reid James Riedlinger, Tom Grutkowski
-
Publication number: 20020169929Abstract: A system and method are disclosed which provide a cache structure that allows early access to the cache structure's data. A cache design is disclosed that, in response to receiving a memory access request, begins an access to a cache level's data before a determination has been made as to whether a true hit has been achieved for such cache level. That is, a cache design is disclosed that enables cache data to be speculatively accessed before a determination is made as to whether a memory address required to satisfy a received memory access request is truly present in the cache. In a preferred embodiment, the cache is implemented to make a determination as to whether a memory address required to satisfy a received memory access request is truly present in the cache structure (i.e., whether a “true” cache hit is achieved). Although, such a determination is not made before the cache data begins to be accessed.Type: ApplicationFiled: February 18, 2000Publication date: November 14, 2002Inventors: Reid James Riedlinger, Dean A. Mulla, Tom Grutkowski
-
Patent number: 6470374Abstract: The inventive adder can perform carry look-ahead calculations for a bi-endian adder in a cache memory system. The adder can add one of +/−1, 4, 8, or 16 to a loaded value from memory, and the operation can be a 4 or 8 byte add. The inventive adder comprises a plurality of byte adder cells and carry look-ahead (CLA) logic. The adder cells determine which of themselves is the least significant bit (LSB) byte adder cell. The LSB cell then adds one of the increment values to its loaded value. The other cells add 0x00 or 0xFF, depending upon the sign of the increment value, to a loaded value from memory. Each adder performs two adds, one for a carry-in of 0, and the other for a carry in of 1. Both results are sent to a MUX. The CLA logic determines each of the carries, and provides a selection control signal to each MUX. of the different cells.Type: GrantFiled: February 21, 2000Date of Patent: October 22, 2002Assignees: Hewlett-Packard Company, Intel CorporationInventors: Daming Jin, Dean A. Mulla, Tom Grutkowski
-
Patent number: 6453427Abstract: An uncorrectable error is detected in the data of a computer system. The erroneous data is allowed to be stored in first and second caches of the computer system while the system runs first and second processes, the first process being associated with the data. The first process is terminated when an attempt is made to load the data from the cache. Meanwhile, the second process continues to run.Type: GrantFiled: December 31, 1998Date of Patent: September 17, 2002Assignee: Intel CorporationInventors: Nhon T. Quach, John W. C. Fu, James O. Hays, Valentin Anders, Sorin Iacobovici, Alberto J. Munoz, Dean A. Mulla
-
Patent number: 6427188Abstract: A system and method are disclosed which determine in parallel for multiple levels of a multi-level cache whether any one of such multiple levels is capable of satisfying a memory access request. Tags for multiple levels of a multi-level cache are accessed in parallel to determine whether the address for a memory access request is contained within any of the multiple levels. For instance, in a preferred embodiment, the tags for the first level of cache and the tags for the second level of cache are accessed in parallel. Also, additional levels of cache tags up to N levels may be accessed in parallel with the first-level cache tags. Thus, by the end of the access of the first-level cache tags it is known whether a memory access request can be satisfied by the first-level, second-level, or any additional N-levels of cache that are accessed in parallel.Type: GrantFiled: February 9, 2000Date of Patent: July 30, 2002Assignee: Hewlett-Packard CompanyInventors: Terry L Lyon, Eric R DeLano, Dean A. Mulla
-
Patent number: 6427189Abstract: A multi-level cache structure and associated method of operating the cache structure are disclosed. The cache structure uses a queue for holding address information for a plurality of memory access requests as a plurality of entries. The queue includes issuing logic for determining which entries should be issued. The issuing logic further comprises find first logic for determining which entries meet a predetermined criteria and selecting a plurality of those entries as issuing entries. The issuing logic also comprises lost logic that delays the issuing of a selected entry for a predetermined time period based upon a delay criteria. The delay criteria may, for example, comprise a conflict between issuing resources, such as ports. Thus, in response to an issuing entry being oversubscribed, the issuing of such entry may be delayed for a predetermined time period (e.g., one clock cycle) to allow the resource conflict to clear.Type: GrantFiled: February 21, 2000Date of Patent: July 30, 2002Assignees: Hewlett-Packard Company, Intel CorporationInventors: Dean A. Mulla, Reid James Riedlinger, Tom Grutkowski
-
Patent number: 6427191Abstract: A novel on-chip cache memory and method of operation are provided which increase microprocessor performance. The cache design allows two cache requests to be processed simultaneously (dual-ported) and concurrent cache requests to be in-flight (pipelined). The design of the cache allocates a first clock cycle to cache tag and data access and a second cycle is allocated to data manipulation. The memory array circuit design is simplified because the circuits are synchronized to the main processor clock and do not need to use self-timed circuits. The overall logic control scheme is simplified because distinct cycles are allocated to the cache functions.Type: GrantFiled: December 31, 1998Date of Patent: July 30, 2002Assignee: Intel CorporationInventors: John Wai Cheong Fu, Dean A. Mulla, Gregory S. Mathews
-
Patent number: 6418521Abstract: A fully-associative translation lookaside buffer structure for a computer system includes a first-level TLB0 memory having a plurality of entries and a second-level TLB1 memory operatively coupled to the first level TLB0 memory. The second-level TLB1 memory also has a plurality of entries. Entries are placed in the TLB0 and TLB1 structure as a result of software controlled translation register operations and hardware controlled translation cache operations. Logic controlling TLB0 treats both operations the same way and uses a hardware replacement algorithm to determine the entry index. Logic controlling TLB1 uses a hardware replacement algorithm to determine the entry index for translation cache entries, and use an index provided within the insertion instruction to determine the entry index for translation register operations.Type: GrantFiled: December 23, 1998Date of Patent: July 9, 2002Assignee: Intel CorporationInventors: Gregory S. Mathews, Dean A. Mulla, John Wai Cheong Fu, Stuart E. Sailer
-
Patent number: 6408380Abstract: Method and apparatus for storing and executing an instruction to load two independent registers with two values is disclosed. In one embodiment, a computer-readable medium is encoded with an instruction including an opcode field specifying that the instruction is an instruction to load two independent registers with a first value and a second value, a source field specifying the first value and the second value, a first target register field specifying a first target register to load with the first value; a second target register field specifying a second target register to load with the second value. A system to execute the instruction is also disclosed.Type: GrantFiled: May 21, 1999Date of Patent: June 18, 2002Assignee: Institute for the Development of Emerging Architectures, L.L.C.Inventors: Jerome C. Huck, Glenn T. Colon-Bonet, Alan H. Karp, David A. Fotland, Dean A. Mulla