Patents by Inventor Hazim Shafi
Hazim Shafi 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: 20070083717Abstract: A method and data processing system for sequentially coupling successive, homogenous processor requests for a cache line in a chain before the data is received in the cache of a first processor within the chain. Chained intermediate coherency states are assigned to track the chain of processor requests and subsequent access permission provided, prior to receipt of the data at the first processor starting the chain. The chained intermediate coherency state assigned identifies the processor operation and a directional identifier identifies the processor to which the cache line is to be forwarded. When the data is received at the cache of the first processor within the chain, the first processor completes its operation on (or with) the data and then forwards the data to the next processor in the chain. The chain is immediately stopped when a non-homogenous operation is snooped by the last-in-chain processor.Type: ApplicationFiled: October 6, 2005Publication date: April 12, 2007Inventors: Ramakrishnan Rajamony, Hazim Shafi, Derek Williams, Kenneth Wright
-
Publication number: 20070067604Abstract: A method of assigning virtual memory to physical memory in a data processing system allocates a set of contiguous physical memory pages for a new page mapping, instructs the memory controller to move the virtual memory pages according to the new page mapping, and then allows access to the virtual memory pages using the new page mapping while the memory controller is still copying the virtual memory pages to the set of physical memory pages. The memory controller can use a mapping table which temporarily stores entries of the old and new page addresses, and releases the entries as copying for each entry is completed. The translation look aside buffer (TLB) entries in the processor cores are updated for the new page addresses prior to completion of copying of the memory pages by the memory controller. The invention can be extended to non-uniform memory array (NUMA) systems.Type: ApplicationFiled: October 19, 2006Publication date: March 22, 2007Inventors: Elmootazbellah Elnozahy, James Peterson, Ramakrishnan Rajamony, Hazim Shafi
-
Publication number: 20060277366Abstract: A system and method of managing cache hierarchies with adaptive mechanisms. A preferred embodiment of the present invention includes, in response to selecting a data block for eviction from a memory cache (the source cache) out of a collection of memory caches, examining a data structure to determine whether an entry exists that indicates that the data block has been evicted from the source memory cache, or another peer cache, to a slower cache or memory and subsequently retrieved from the slower cache or memory into the source memory cache or other peer cache. Also, a preferred embodiment of the present invention includes, in response to determining the entry exists in the data structure, selecting a peer memory cache out of the collection of memory caches at the same level in the hierarchy to receive the data block from the source memory cache upon eviction.Type: ApplicationFiled: June 2, 2005Publication date: December 7, 2006Inventors: Ramakrishnan Rajamony, Hazim Shafi, William Speight, Lixin Zhang
-
Publication number: 20060179236Abstract: A system and method for improving hardware-controlled pre-fetching within a data processing system. A collection of address translation entries are pre-fetched and placed in an address translation cache. This translation pre-fetch mechanism cooperates with the data and/or instruction hardware-controlled pre-fetch mechanism to avoid stalls at page boundaries, which improves the latter's effectiveness at hiding memory latency.Type: ApplicationFiled: January 13, 2005Publication date: August 10, 2006Inventor: Hazim Shafi
-
Patent number: 7082514Abstract: A method and memory controller for adaptive row management within a memory subsystem provides metrics for evaluating row access behavior and dynamically adjusting the row management policy of the memory subsystem in conformity with measured metrics to reduce the average latency of the memory subsystem. Counters provided within the memory controller track the number of consecutive row accesses and optionally the number of total accesses over a measurement interval. The number of counted consecutive row accesses can be used to control the closing of rows for subsequent accesses, reducing memory latency. The count may be validated using a second counter or storage for improved accuracy and alternatively the row close count may be set via program or logic control in conformity with a count of consecutive row hits in ratio with a total access count.Type: GrantFiled: September 18, 2003Date of Patent: July 25, 2006Assignee: International Business Machines CorporationInventors: Ramakrishnan Rajamony, Hazim Shafi, Robert B. Tremaine
-
Patent number: 7080214Abstract: A multiprocessor system includes a plurality of data processing nodes. Each node has a processor coupled to a system memory, a cache memory, and a cache directory. The cache directory contains cache coherency information for a predetermined range of system memory addresses. An interconnection enables the nodes to exchange messages. A node initiating a function shipping request identifies an intermediate destination directory based on a list of the function's operands and sends a message indicating the function and its corresponding operands to the identified destination directory. The destination cache directory determines a target node based, at least in part, on its cache coherency status information to reduce memory access latency by selecting a target node where all or some of the operands are valid in the local cache memory. The destination directory then ships the function to the target node over the interconnection.Type: GrantFiled: October 16, 2003Date of Patent: July 18, 2006Assignee: International Business Machines CorporationInventors: James Lyle Peterson, Ramakrishnan Rajamony, Hazim Shafi
-
Publication number: 20060155963Abstract: A data processing system includes a microprocessor having access to multiple levels of cache memories. The microprocessor executes a main thread compiled from a source code object. The system includes a processor for executing an assist thread also derived from the source code object. The assist thread includes memory reference instructions of the main thread and only those arithmetic instructions required to resolve the memory reference instructions. A scheduler configured to schedule the assist thread in conjunction with the corresponding execution thread is configured to execute the assist thread ahead of the execution thread by a determinable threshold such as the number of main processor cycles or the number of code instructions. The assist thread may execute in the main processor or in a dedicated assist processor that makes direct memory accesses to one of the lower level cache memory elements.Type: ApplicationFiled: January 13, 2005Publication date: July 13, 2006Inventors: Patrick Bohrer, Orran Krieger, Ramakrishnan Rajamony, Michael Rosenfield, Hazim Shafi, Balaram Sinharoy, Robert Tremaine
-
Publication number: 20060155886Abstract: Methods, systems, and media for reducing memory latency seen by processors by providing a measure of control over on-chip memory (OCM) management to software applications, implicitly and/or explicitly, via an operating system are contemplated. Many embodiments allow part of the OCM to be managed by software applications via an application program interface (API), and part managed by hardware. Thus, the software applications can provide guidance regarding address ranges to maintain close to the processor to reduce unnecessary latencies typically encountered when dependent upon cache controller policies. Several embodiments utilize a memory internal to the processor or on a processor node so the memory block used for this technique is referred to as OCM.Type: ApplicationFiled: January 11, 2005Publication date: July 13, 2006Inventors: Dilma da Silva, Elmootazbellah Elnozahy, Orran Krieger, Hazim Shafi, Xiaowei Shen, Balaram Sinharoy, Robert Tremaine
-
Publication number: 20060155934Abstract: A system and method for cache management in a data processing system. The data processing system includes a processor and a memory hierarchy. The memory hierarchy includes at least an upper memory cache, at least a lower memory cache, and a write-back data structure. In response to replacing data from the upper memory cache, the upper memory cache examines the write-back data structure to determine whether or not the data is present in the lower memory cache. If the data is present in the lower memory cache, the data is replaced in the upper memory cache without casting out the data to the lower memory cache.Type: ApplicationFiled: January 11, 2005Publication date: July 13, 2006Inventors: Ramakrishnan Rajamony, Hazim Shafi, William Speight, Lixin Zhang
-
Publication number: 20060064518Abstract: A method and apparatus for managing cache injection in a multiprocessor system reduces processing time associated with direct memory access transfers in a symmetrical multiprocessor (SMP) or a non-uniform memory access (NUMA) multiprocessor environment. The method and apparatus either detect the target processor for DMA completion or direct processing of DMA completion to a particular processor, thereby enabling cache injection to a cache that is coupled with processor that executes the DMA completion routine processing the data injected into the cache. The target processor may be identified by determining the processor handling the interrupt that occurs on completion of the DMA transfer. Alternatively or in conjunction with target processor identification, an interrupt handler may queue a deferred procedure call to the target processor to process the transferred data.Type: ApplicationFiled: September 23, 2004Publication date: March 23, 2006Applicant: International Business Machines CorporationInventors: Patrick Bohrer, Ahmed Gheith, Peter Hochschild, Ramakrishnan Rajamony, Hazim Shafi, Balaram Sinharoy
-
Patent number: 6938146Abstract: A system and method for improving memory performance and decreasing memory power requirements is described. To accomplish the improvements, a prefetch buffer is added to a memory controller with accompanying prefetch logic. The memory controller first attempts to satisfy memory requests from the prefetch buffer allowing the main memory to stay in a reduced power state until accessing it is required. If the memory controller is unable to satisfy a memory request from the prefetch buffer, the main memory is changed to an active power state and the prefetch logic is invoked. The prefetch logic loads the requested memory, returns the request memory to the requester, and loads memory likely to be requested in the near future into the prefetch buffer. Concurrent with the execution of the prefetch logic, the memory controller returns the requested data.Type: GrantFiled: December 19, 2002Date of Patent: August 30, 2005Assignee: International Business Machines CorporationInventors: Hazim Shafi, Sivakumar Velusamy
-
Publication number: 20050108496Abstract: A method of assigning virtual memory to physical memory in a data processing system allocates a set of contiguous physical memory pages for a new page mapping, instructs the memory controller to move the virtual memory pages according to the new page mapping, and then allows access to the virtual memory pages using the new page mapping while the memory controller is still copying the virtual memory pages to the set of physical memory pages. The memory controller can use a mapping table which temporarily stores entries of the old and new page addresses, and releases the entries as copying for each entry is completed. The translation lookaside buffer (TLB) entries in the processor cores are updated for the new page addresses prior to completion of copying of the memory pages by the memory controller. The invention can be extended to non-uniform memory array (NUMA) systems.Type: ApplicationFiled: November 13, 2003Publication date: May 19, 2005Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Elmootazbellah Elnozahy, James Peterson, Ramakrishnan Rajamony, Hazim Shafi
-
Publication number: 20050086438Abstract: A multiprocessor system includes a plurality of data processing nodes. Each node has a processor coupled to a system memory, a cache memory, and a cache directory. The cache directory contains cache coherency information for a predetermined range of system memory addresses. An interconnection enables the nodes to exchange messages. A node initiating a function shipping request identifies an intermediate destination directory based on a list of the function's operands and sends a message indicating the function and its corresponding operands to the identified destination directory. The destination cache directory determines a target node based, at least in part, on its cache coherency status information to reduce memory access latency by selecting a target node where all or some of the operands are valid in the local cache memory. The destination directory then ships the function to the target node over the interconnection.Type: ApplicationFiled: October 16, 2003Publication date: April 21, 2005Applicant: International Business Machines CorporationInventors: James Peterson, Ramakrishnan Rajamony, Hazim Shafi
-
Publication number: 20050066113Abstract: A method and memory controller for adaptive row management within a memory subsystem provides metrics for evaluating row access behavior and dynamically adjusting the row management policy of the memory subsystem in conformity with measured metrics to reduce the average latency of the memory subsystem. Counters provided within the memory controller track the number of consecutive row accesses and optionally the number of total accesses over a measurement interval. The number of counted consecutive row accesses can be used to control the closing of rows for subsequent accesses, reducing memory latency. The count may be validated using a second counter or storage for improved accuracy and alternatively the row close count may be set via program or logic control in conformity with a count of consecutive row hits in ratio with a total access count.Type: ApplicationFiled: September 18, 2003Publication date: March 24, 2005Applicant: International Business Machines CorporationInventors: Ramakrishnan Rajamony, Hazim Shafi, Robert Tremaine
-
Publication number: 20040123042Abstract: A system and method for improving memory performance and decreasing memory power requirements is described. To accomplish the improvements, a prefetch buffer is added to a memory controller with accompanying prefetch logic. The memory controller first attempts to satisfy memory requests from the prefetch buffer allowing the main memory to stay in a reduced power state until accessing it is required. If the memory controller is unable to satisfy a memory request from the prefetch buffer, the main memory is changed to an active power state and the prefetch logic is invoked. The prefetch logic loads the requested memory, returns the request memory to the requester, and loads memory likely to be requested in the near future into the prefetch buffer. Concurrent with the execution of the prefetch logic, the memory controller returns the requested data.Type: ApplicationFiled: December 19, 2002Publication date: June 24, 2004Applicant: International Business Machines Corp.Inventors: Hazim Shafi, Sivakumar Velusamy
-
Patent number: 6711650Abstract: A method for accelerating input/output operations within a data processing system is disclosed. Initially, a determination is initially made in a cache controller as to whether or not a bus operation is a data transfer from a first memory to a second memory without intervening communications through a processor, such as a direct memory access (DMA) transfer. If the bus operation is such data transfer, a determination is made in a cache memory as to whether or not the cache memory includes a copy of data from the data transfer. If the cache memory does not include a copy of data from the data transfer, a cache line is allocated within the cache memory to store a copy of data from the data transfer.Type: GrantFiled: November 7, 2002Date of Patent: March 23, 2004Assignee: International Business Machines CorporationInventors: Patrick Joseph Bohrer, Ramakrishnan Rajamony, Hazim Shafi
-
Publication number: 20040039855Abstract: A networked device and system are disclosed wherein the networked device includes a network communication adapter and location information means. The adapter is configured to communicate with an external agent via a network to which the networked device is connected. The location information means is a part of or accessible to the network communication adapter and is configured to provide location information to the adapter where the location information is indicative of the adapter's geographic location. The adapter responds to a predetermined request from the external agent by providing the location information to the external agent. The location information means may include a global positioning system (GPS) receiver that is able to receive GPS signals and determine geographic information from the signals. In another embodiment, the location information means includes an ultra wideband (UWB) receiver that is able receive UWB signals.Type: ApplicationFiled: August 22, 2002Publication date: February 26, 2004Applicant: International Business Machines CorporationInventors: Patrick Joseph Bohrer, Ramakrishnan Rajamony, Hazim Shafi