Patents by Inventor Donald DeSota

Donald DeSota 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: 8347124
    Abstract: The projected power consumption for an application program running on a future IHS is determined by generating a power proxy for the application program, and power proxies for a plurality of standard benchmarks. An algorithm correlates the power proxy for the application program, and the power proxies for the standard benchmarks to generate weighted surrogates that are combined with power proxies derived from running the benchmark surrogates on the future IHS to generate the projected power consumption.
    Type: Grant
    Filed: December 31, 2009
    Date of Patent: January 1, 2013
    Assignee: International Business Machines Corporation
    Inventors: Robert Bell, Jr., Donald DeSota, Rajendra Panda, Joseph Robichaux, Venkat Indukuru, Sameh Sharkawi
  • Publication number: 20110154067
    Abstract: The projected power consumption for an application program running on a future IHS is determined by generating a power proxy for the application program, and power proxies for a plurality of standard benchmarks. An algorithm correlates the power proxy for the application program, and the power proxies for the standard benchmarks to generate weighted surrogates that are combined with power proxies derived from running the benchmark surrogates on the future IHS to generate the projected power consumption.
    Type: Application
    Filed: December 31, 2009
    Publication date: June 23, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert Bell, JR., Donald DeSota, Rajendra Panda, Joseph Robichaux, Venkat Indukuru, Sameh Sharkawi
  • Publication number: 20070286327
    Abstract: An implementation-efficient, multiple-counter value hardware performance counter is disclosed. A hardware counter of one embodiment includes a memory array and a hardware incrementer. The array stores counter values that are indexable by an index constructed based at least on the number of events to which the counter values correspond. The index may be constructed as a concatenation of a number of bits binarily representing the number of events, and a number of bits binarily representing the number of qualifiers to the events. The incrementer reads the counter values from the array, increments the counter values, and writes the resulting counter values back into the array. The array may be divided into banks over which the counter values are stored, where each bank has a separate instance of the incrementer. Each bank may have a separate instance of the index that indexes only those counters stored in the bank.
    Type: Application
    Filed: April 22, 2007
    Publication date: December 13, 2007
    Inventors: Carl Love, Donald DeSota, Jaeheon Jeong, Russell Clapp
  • Publication number: 20060129739
    Abstract: A memory controller includes ports and corresponding tables. Each port is receptive to one or more memory modules. Each table includes entries mapping memory addresses to the memory modules. Each entry corresponds to no more than one of the memory modules. The tables support asymmetric population of the memory modules within the ports; each port is capable of having a different number of memory modules relative to the other ports. The tables impose no restrictions on where the memory modules are to be inserted within the ports, both number-wise and position-wise. The tables are independently configurable; the configuration of each table is modifiable independently of the configurations of the other tables. Each table is dynamically configurable. The entries of a table are modifiable to reflect changes in the number and type of the memory modules connected, without restarting or temporarily halting the computer system containing the memory controller.
    Type: Application
    Filed: December 11, 2004
    Publication date: June 15, 2006
    Inventors: Eric Lais, Donald DeSota, Michael Grassi, Bruce Gilbert
  • Publication number: 20060101209
    Abstract: A system, method and article of manufacture for reducing latencies associated with cache coherence directory misses on external caches in a shared distributed memory data processing system. A cache coherence directory is evaluated for possible prefetching of a directory entry into a directory cache. A prefetch miss indicator is set if the prefetch evaluated results in a directory miss. The prefetch miss indicator is consulted during subsequent processing of a memory block request corresponding to the directory entry. An accelerated snoop response action is taken if the prefetch miss indicator is set. The latency of a second lookup into the cache coherence directory, which would otherwise be required, is thereby avoided.
    Type: Application
    Filed: November 8, 2004
    Publication date: May 11, 2006
    Inventors: Eric Lais, Donald DeSota, Rob Joersz
  • Publication number: 20050283783
    Abstract: A value tracking memory region within system memory is created to manage select locks and threads waiting for access to one or more of the select locks. When a thread requests access to an unavailable select lock, the thread will be stalled in the value tracking memory region. The stall process optimizes pipeline use by eliminating the process of a thread spinning on a lock, which utilizes pipeline resources.
    Type: Application
    Filed: June 22, 2004
    Publication date: December 22, 2005
    Inventor: Donald DeSota
  • Publication number: 20050273669
    Abstract: Determining an error-correcting code (ECC) for a cache entry based at least on the data stored in the cache entry and the memory address at which the data is permanently stored is disclosed. A cache entry for a desired memory address is retrieved. The cache entry includes data and a stored ECC based on the data and a memory address. An ECC is determined based at least on the data of the cache entry and the desired memory address. If the ECC at least based on the cache entry data and the desired memory address equals the stored ECC, then the cache entry caches the desired memory address without error.
    Type: Application
    Filed: August 13, 2005
    Publication date: December 8, 2005
    Inventor: Donald DeSota
  • Publication number: 20050149603
    Abstract: A method of queuing of received transactions that have a resource conflict is disclosed. A first node receives a first transaction from a second node, where the first transaction relates to a resource of the first node. The transaction may be a request relating to a memory line of the first node, for instance. It is determined that a second transaction that relates to this resource of the first node is already being processed by the first node. Therefore, the first transaction is enqueued in a conflict queue within the first node. The queuing may be a linked list, a priority queue, or another type of queue. Once the second transaction has been processed, the first transaction is restarted for processing by the first node. The first transaction is then processed by the first node.
    Type: Application
    Filed: December 18, 2003
    Publication date: July 7, 2005
    Inventors: Donald DeSota, Robert Joersz, Davis Miller, Maged Michael
  • Publication number: 20050138299
    Abstract: The management of transactions received by a coherency controller is disclosed. A method of an embodiment of the invention is performed by a coherency controller of a plurality of coherency controllers of a node that has a plurality of sub-nodes. The coherency controller receives a transaction from one of the sub-nodes of the node. The transaction may relate to another sub-node of the node. However, the coherency controller nevertheless processes the transaction without having to send the transaction to another coherency controller of the node, even though the sub-node from which the transaction was received is different than the sub-node to which the transaction relates. The plurality of coherency controllers is thus shared by all of the plurality of sub-nodes of the node.
    Type: Application
    Filed: December 18, 2003
    Publication date: June 23, 2005
    Inventors: Wayne Downer, Donald DeSota, Thomas Lovett
  • Publication number: 20050125695
    Abstract: Non-inline transaction error correction is disclosed. Where a transaction being processed in a pipeline is determined to include a correctable error, it is output, or drained, from the pipeline into an error queue. The pipeline is switched from a normal mode of operation to a correction mode of operation. In the correction mode, a correction command is inserted into and processed within the pipeline to correct the error within the transaction. The pipeline is switched from the correction mode of operation to a restart mode of operation. In the restart mode, the transaction is reprocessed within the pipeline. The pipeline is then switched from the restart mode of operation back to the normal mode of operation.
    Type: Application
    Filed: December 8, 2003
    Publication date: June 9, 2005
    Inventors: Bruce Gilbert, Donald DeSota, Robert Joersz
  • Publication number: 20050120183
    Abstract: The local storage of information regarding memory access by other nodes within a coherency controller of a node is disclosed. The coherency controller receives a transaction relating a line of local memory of the node. In response to locally determining that the line of the local memory is not being cached by another node and/or has not been modified by another node, the coherency controller processes the transaction without accessing tag directory information regarding the line. A table within the controller may store entries corresponding to local memory sections. Each entry includes a count value tracking a number of lines of the section being cached by other nodes, and a count value tracking a number of lines of the section that have been modified by other nodes. The table may also include flags corresponding to the sections, each flag indicating the validity of the section's contents.
    Type: Application
    Filed: December 1, 2003
    Publication date: June 2, 2005
    Inventors: Donald DeSota, William Durr, Robert Joersz, Davis Miller
  • Publication number: 20050081101
    Abstract: An implementation-efficient, multiple-counter value hardware performance counter is disclosed. A hardware counter of one embodiment includes a memory array and a hardware incrementer. The array stores counter values that are indexable by an index constructed based at least on the number of events to which the counter values correspond. The index may be constructed as a concatenation of a number of bits binarily representing the number of events, and a number of bits binarily representing the number of qualifiers to the events. The incrementer reads the counter values from the array, increments the counter values, and writes the resulting counter values back into the array. The array may be divided into banks over which the counter values are stored, where each bank has a separate instance of the incrementer. Each bank may have a separate instance of the index that indexes only those counters stored in the bank.
    Type: Application
    Filed: September 27, 2003
    Publication date: April 14, 2005
    Inventors: Carl Love, Donald DeSota, Jaeheon Jeong, Russell Clapp
  • Publication number: 20050060383
    Abstract: The temporary storage of a memory line to be stored in a cache while waiting for another memory line to be evicted from the cache is disclosed. A method includes evicting a first memory line currently stored in the cache and storing a second memory line not currently stored in the cache in its place. While the first memory line is being evicted, such as by first being inserted into an eviction queue, the second memory line is temporarily stored in a buffer. The buffer may be a data transfer buffer (DTB). Upon eviction of the first memory line, the second memory line is moved from the buffer into the cache.
    Type: Application
    Filed: September 12, 2003
    Publication date: March 17, 2005
    Inventors: Thomas Lovett, Maged Michael, Robert Joersz, Donald DeSota