Patents by Inventor James A. Fields

James A. Fields 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: 20060190636
    Abstract: A method and apparatus for invalidating cache lines during direct memory access (DMA) write operations are disclosed. Initially, a multi-cache line DMA request is issued by a peripheral device. The multi-cache line DMA request is snooped by a cache memory. A determination is then made as to whether or not the cache memory includes a copy of data stored in the system memory locations to which the multi-cache line DMA request are directed. In response to a determination that the cache memory includes a copy of data stored in the system memory locations to which the multi-cache line DMA request are directed, multiple cache lines within the cache memory are consecutively invalidated.
    Type: Application
    Filed: February 9, 2005
    Publication date: August 24, 2006
    Applicant: International Business Machines Corporation
    Inventors: George Daly, James Fields
  • Publication number: 20060184706
    Abstract: The present invention, a multiprocessor chip pervasive command interface, collects different types of pervasive commands into individual queues for each command type. As permitted by various grouping rules, valid commands are grouped together into one single command and placed on a functional interchip communications bus. This grouping of commands maximizes pervasive command bandwidth while the use of the functional bus minimizes the number of interchip connections.
    Type: Application
    Filed: February 11, 2005
    Publication date: August 17, 2006
    Applicant: International Business Machines Corporation
    Inventors: James Fields, Michael Floyd, Paul Lecocq
  • Publication number: 20060184742
    Abstract: A method, system, and device for enabling intervention across same-level cache memories. In a preferred embodiment, responsive to a cache miss in a first cache memory a direct intervention request is sent from the first cache memory to a second cache memory requesting a direct intervention that satisfies the cache miss. In an alternate embodiment, direct intervention is utilized to access a same-level victim cache.
    Type: Application
    Filed: February 12, 2005
    Publication date: August 17, 2006
    Applicant: International Business Machines Corporation
    Inventors: Leo Clark, James Fields, Guy Guthrie, Bradley McCredie, William Starke
  • Publication number: 20060181942
    Abstract: A method, computer program product and system for switching a defective signal line with a spare signal line without shutting down the computer system. A service processor monitors error correction code (ECC) check units configured to detect an error in a signal line. If an ECC check unit detects an error rate that exceeds a threshold, then the signal line with such an error rate may be said to be “defective.” The service processor configures switch control units in the driver/receiver pair associated with the defective signal line to be able to switch the defective signal line with a spare line upon receipt of a command from a memory controller switch control unit. In this manner, the system is not deactivated in order to switch a defective signal line with a spare line thereby reducing the time that the processor cannot send information to the memory buffers.
    Type: Application
    Filed: February 11, 2005
    Publication date: August 17, 2006
    Inventors: Edgar Cordero, James Fields,, Kevin Gower, Eric Retter
  • Publication number: 20060179251
    Abstract: In a multiprocessor environment, by executing cache-inhibited reads or writes to registers, a scan communication is used to rapidly access registers inside and outside a chip originating the command. Cumbersome locking of the memory location may be thus avoided. Setting of busy latches at the outset virtually eliminates the chance of collisions, and status bits are set to inform the requesting core processor that a command is done and free of error, if that is the case.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: James Fields, Michael Floyd, Paul Lecocq, Larry Leitner, Kevin Reick
  • Publication number: 20060179184
    Abstract: In-band firmware executes instructions which cause commands to be sent on a coherency fabric. Fabric snoop logic monitors the coherency fabric for command packets that target a resource in one of the support chips attached via an FSI link. Conversion logic converts the information from the fabric packet into an FSI protocol. An FSI command is transmitted via the FSI transmit link to an FSI slave of the intended support chip. An FSI receive link receives response data from the FSI slave of the intended support chip. Conversion logic converts the information from the support chip received via the FSI receive link into the fabric protocol. Response packet generation logic generates the fabric response packet and returns it on the coherency fabric. An identical FSI link between a support processor and support chips allows direct access to the same resources on the support chips by out-of-band firmware.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: James Fields, Paul Lecocq, Brian Monwai, Thomas Pflueger, Kevin Reick, Timothy Skergan, Scott Swaney
  • Publication number: 20060179237
    Abstract: A method and apparatus for performing data prefetch in a multiprocessor system are disclosed. The multiprocessor system includes multiple processors, each having a cache memory. The cache memory is subdivided into multiple slices. A group of prefetch requests is initially issued by a requesting processor in the multiprocessor system. Each prefetch request is intended for one of the respective slices of the cache memory of the requesting processor. In response to the prefetch requests being missed in the cache memory of the requesting processor, the prefetch requests are merged into one combined prefetch request. The combined prefetch request is then sent to the cache memories of all the non-requesting processors within the multiprocessor system. In response to a combined clean response from the cache memories of all the non-requesting processors, data are then obtained for the combined prefetch request from a system memory.
    Type: Application
    Filed: February 9, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: James Fields, Benjiman Goodman, Guy Guthrie, Jeffrey Stuecheli
  • Publication number: 20060179246
    Abstract: In a cache coherent data processing system including at least first and second coherency domains, a memory block is stored in a system memory in association with a domain indicator indicating whether or not the memory block is cached, if at all, only within the first coherency domain. A master in the first coherency domain determines whether or not a scope of broadcast transmission of an operation should extend beyond the first coherency domain by reference to the domain indicator stored in the cache and then performs a broadcast of the operation within the cache coherent data processing system in accordance with the determination.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: James Fields, Guy Guthrie, William Starke, Jeffrey Stuecheli
  • Publication number: 20060179272
    Abstract: A data processing system includes a plurality of processing units each having a respective point-to-point communication link with each of multiple others of the plurality of processing units but fewer than all of the plurality of processing units. Each of the plurality of processing units includes interconnect logic, coupled to each point-to-point communication link of that processing unit, that broadcasts requests received from one of the multiple others of the plurality of processing units to one or more of the plurality of processing units. The interconnect logic includes a partial response data structure including a plurality of entries each associating a partial response field with a plurality of flags respectively associated with each processing unit containing a snooper from which that processing unit will receive a partial response.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: Leo Clark, James Fields, Guy Guthrie, William Starke, Jeffrey Stuecheli
  • Publication number: 20060179185
    Abstract: A method, system and computer program product for handling write requests in a data processing system is disclosed. The method comprises receiving on an interconnect bus a first write request targeted to a first address and receiving on the interconnect bus a subsequent second write request targeted to a subsequent second address. The subsequent second write request is completed prior to completing the first write request, and, responsive to receiving a read request targeting the second address before the first write request has completed, data associated with the second address of the second write request is supplied only after the first write request completes.
    Type: Application
    Filed: February 9, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: George Daly, James Fields, Paul Umbarger, Kenneth Wright
  • Publication number: 20060179334
    Abstract: A method and system for enabling directed temperature/power management at the DIMM-level and/or DRAM-level utilizing intelligent scheduling of memory access operations received at the memory controller. Hot spots within the memory subsystem, caused by operating the DIMMs/DRAMs above predetermined/preset threshold power/temperature values for operating a DIMM and/or a DRAM, are avoided/controlled by logic within the memory controller. The memory controller logic throttles the number/frequency at which commands (read/write operations) are issued to the specific DIMM/DRAM based on feedback data received from the specific DIMM/DRAM reaching the preset threshold power usage value.
    Type: Application
    Filed: February 9, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: Mark Brittain, Edgar Cordero, James Fields, Warren Maule, Eric Retter
  • Publication number: 20060176906
    Abstract: A data processing system includes a plurality of processing units coupled for communication by a communication link and a configuration register. The configuration register has a plurality of different settings each corresponding to a respective one of a plurality of different link information allocations. Information is communicated over the communication link in accordance with a particular link information allocation among the plurality of link information allocations determined by a respective setting of the configuration register.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: James Fields, Guy Guthrie, William Starke, Jeffrey Stuecheli
  • Publication number: 20060179230
    Abstract: A cache memory logically partitions a cache array into at least two slices each having a plurality of cache lines, with a given cache line spread across two or more cache ways of contiguous bytes and a given cache way shared between the two cache slices, and if one a cache way is defective that is part of a first cache line in the first cache slice and part of a second cache line in the second cache slice, it is disabled while continuing to use at least one other cache way which is also part of the first cache line and part of the second cache line. In the illustrative embodiment the cache array is set associative and at least two different cache ways for a given cache line contain different congruence classes for that cache line. The defective cache way can be disabled by preventing an eviction mechanism from allocating any congruence class in the defective way. For example, half of the cache line can be disabled (i.e., half of the congruence classes).
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Inventors: James Fields, Guy Guthrie, Kirk Livingston, William Starke
  • Publication number: 20060178764
    Abstract: A method, apparatus and computer instructions are provided to autonomically monitor and adjust system characteristics based on a customer optimization goal specified in a policy or profile. An autonomic management component is implemented in firmware comprising a set of control algorithms. Response to reading system characteristics from a plurality of sensors, the autononmic management component selects at least one control algorithm from the set and the control algorithm adjusts the parameters of the system characteristic to optimize performance according to the optimization goal specified by the customer.
    Type: Application
    Filed: February 9, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: Andreas Bieswanger, Lee Eisen, James Fields, Michael Floyd, Bradley McCredie, Naresh Nayar
  • Publication number: 20060179248
    Abstract: A cache coherent data processing system includes a plurality of processing units each having at least an associated cache, a system memory, and a memory controller that is coupled to and controls access to the system memory. The system memory includes a plurality of storage locations for storing a memory block of data, where each of the plurality of storage locations is sized to store a sub-block of data. The system memory further includes metadata storage for storing metadata, such as a domain indicator, describing the memory block. In response to a failure of a storage location for a particular sub-block among the plurality of sub-blocks, the memory controller overwrites at least a portion of the metadata in the metadata storage with the particular sub-block of data.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: James Fields, Sanjeev Ghai, Warren Maule, Jeffrey Stuecheli
  • Publication number: 20060179245
    Abstract: A cache coherent data processing system includes at least first and second coherency domains each including at least one processing unit. The first coherency domain includes a first cache memory and a second cache memory, and the second coherency domain includes a remote coherent cache memory. The first cache memory includes a cache controller, a data array including a data storage location for caching a memory block, and a cache directory. The cache directory includes a tag field for storing an address tag in association with the memory block and a coherency state field associated with the tag field and the data storage location. The coherency state field has a plurality of possible states including a state that indicates that the memory block is possibly shared with the second cache memory in the first coherency domain and cached only within the first coherency domain.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: James Fields, Benjiman Goodman, Guy Guthrie, William Starke, Derek Williams
  • Publication number: 20060176897
    Abstract: A method and apparatus are provided for a support interface for memory-mapped resources. A support processor sends a sequence of commands over and FSI interface to a memory-mapped support interface on a processor chip. The memory-mapped support interface updates memory, memory-mapped registers or memory-mapped resources. The interface uses fabric packet generation logic to generate a single command packet in a protocol for the coherency fabric which consists of an address, command and/or data. Fabric commands are converted to FSI protocol and forwarded to attached support chips to access the memory-mapped resource, and responses from the support chips are converted back to fabric response packets. Fabric snoop logic monitors the coherency fabric and decodes responses for packets previously sent by fabric packet generation logic. The fabric snoop logic updates status register and/or writes response data to a read data register. The system also reports any errors that are encountered.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: James Fields, Paul Lecocq, Brian Monwai, Thomas Pflueger, Kevin Reick, Timothy Skergan, Scott Swaney
  • Publication number: 20060179253
    Abstract: A data processing system includes a memory system, a plurality of masters that issue requests for access to memory blocks within the memory system, a plurality of snoopers that provide partial responses to requests by the masters, and response logic that generates combined responses for the requests in response to the partial responses provided by the plurality of snoopers. The plurality masters includes a winning master that issues a request for a particular memory block, and the plurality of snoopers includes a protecting snooper that, in response to receipt of the request, provides a partial response and protects a transfer of coherency ownership of the particular memory block to the winning master until expiration of a protection window extension following receipt from the response logic of a combined response for the request.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: James Fields, Guy Guthrie, William Starke, Derek Williams
  • Publication number: 20060179247
    Abstract: A cache coherent data processing system includes at least first and second coherency domains each including at least one processing unit and a cache memory. The cache memory includes a cache controller, a data array including a data storage location for caching a memory block, and a cache directory. The cache directory includes a tag field for storing an address tag in association with the memory block and a coherency state field associated with the tag field and the data storage location. The coherency state field has a plurality of possible states including a state that indicates that the address tag is valid, that the storage location does not contain valid data, and that the memory block is possibly cached outside of the first coherency domain.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: James Fields, Guy Guthrie, William Starke, Jeffrey Stuecheli
  • Publication number: 20060179243
    Abstract: In a cache coherent data processing system including at least first and second coherency domains, a master performs a first broadcast of an operation within the cache coherent data processing system that is limited in scope of transmission to the first coherency domain. The master receives a response of the first coherency domain to the first broadcast of the operation. If the response indicates the operation cannot be serviced in the first coherency domain alone, the master increases the scope of transmission by performing a second broadcast of the operation in both the first and second coherency domains. If the response indicates the operation can be serviced in the first coherency domain, the master refrains from performing the second broadcast, so that communication bandwidth utilized to service the operation is reduced.
    Type: Application
    Filed: February 10, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: James Fields, Guy Guthrie, William Starke, Jeffrey Stuecheli