Generating Prefetch, Look-ahead, Jump, Or Predictive Address Patents (Class 711/213)
-
Patent number: 7010626Abstract: A method and an apparatus are provided for prefetching data from a system memory to a cache for a direct memory access (DMA) mechanism in a computer system. A DMA mechanism is set up for a processor. A load access pattern of the DMA mechanism is detected. At least one potential load of data is predicted based on the load access pattern. In response to the prediction, the data is prefetched from a system memory to a cache before a DMA command requests the data.Type: GrantFiled: February 14, 2005Date of Patent: March 7, 2006Assignee: International Business Machines CorporationInventor: James Allan Kahle
-
Patent number: 7000077Abstract: A system including a data requester and a storage system. The storage system determines which prefetch data to include with demand data, without the data requester specifying the prefetch data, and provides information enabling the data requestor to discern the demand data from the prefetch data. The data requestor can be a disk drive driver which copies the demand data in fulfilling an operating system request, and then caches the prefetch data. The storage system can be a disk drive.Type: GrantFiled: March 14, 2002Date of Patent: February 14, 2006Assignee: Intel CorporationInventors: Knut S. Grimsrud, Amber D. Huffman
-
Patent number: 6993633Abstract: A cache data control system and method for a computer system in which in a memory read processing, a coherent controller issues an advanced speculative read request for (speculatively) reading data from a cache data section in advance to a cache data controller, before reading a cache tag from a cache tag section and conducting cache hit check. If a cache hit has occurred, the cache data controller returns the data subjected to speculative reading as response data, at the time when the cache data controller has received a read request issued by the coherent controller.Type: GrantFiled: July 28, 2000Date of Patent: January 31, 2006Assignee: Hitachi, Ltd.Inventors: Tadayuki Sakakibara, Isao Ohara, Hideya Akashi, Yuji Tsushima, Satoshi Muraoka
-
Patent number: 6986018Abstract: A cache server includes a media serving engine that is capable of distributing media content. A cache engine is coupled to the media serving engine and capable of caching media content. A set of cache policies is accessible by the cache engine to define the operation of the cache engine. The cache server can be configured to operate as either a cache server or an origin server. The cache server also includes a data communication interface coupled to the cache engine and the media serving engine to allow the cache engine to receive media content across a network and to allow the media serving engine to distribute media content across the network. The cache policies include policies for distributing media content from the media server, policies for handling cache misses, and policies for prefetching media content.Type: GrantFiled: June 26, 2001Date of Patent: January 10, 2006Assignee: Microsoft CorporationInventors: Bret P. O'Rourke, Dawson F. Dean, Chih-Kan Wang, Mark D. Van Antwerp, David J. Roth, Chadd B. Knowlton
-
Patent number: 6983356Abstract: A method of prefetching from a memory device includes determining a prefetch buffer hit rate (PBHR) and a memory bandwidth utilization (MBU) rate. Prefetches are inserted aggressively if the memory bandwidth utilization (MBU) rate is above a MBU threshold level and the prefetch buffer hit rate (PBHR) is above a PBHR threshold level. Prefetches are inserted conservatively if the memory bandwidth utilization (MBU) rate is above the MBU threshold level and the prefetch buffer hit rate (PBHR) is below the PBHR threshold level.Type: GrantFiled: December 19, 2002Date of Patent: January 3, 2006Assignee: Intel CorporationInventors: Hemant G. Rotithor, Randy B. Osborne, Donald W. McCauley
-
Patent number: 6981126Abstract: A system is described which uses a burst access memory and a memory controller to anticipate the memory address to be used in future data read operations as requested by a microprocessor. Either the memory controller or the memory device initiates a burst read operation starting at a memory address generated thereby. The microprocessor can, therefore, wait to initiate a data read without suffering a time delay.Type: GrantFiled: July 8, 2003Date of Patent: December 27, 2005Assignee: Micron Technology, Inc.Inventor: Greg A. Blodgett
-
Patent number: 6981017Abstract: The invention provides a method for predicting which network objects are likely to be requested by a web user from a web server, such as that used in conjunction with an internetworking environment. A request made by a web user for a web object is parsed and dynamic values contained therein normalized. A prediction is made based on the normalized request, statistical measures, and other factors about what other web objects the web user is likely to request. The predictive information is then made available to the web server and the predicted net objects are pre-downloaded to the Web client. A pre-download statistics server may be used to record and provide statistics to assist in the prediction process. Examples described herein relate to web pages, but the invention is broadly applicable to many different types of requests for information (such as, for example, database queries and other libraries of information.Type: GrantFiled: December 11, 2000Date of Patent: December 27, 2005Assignee: Digital River, Inc.Inventors: Stephane Kasriel, Xavier Casanova, Walter Mann
-
Patent number: 6965983Abstract: A pipelined CPU includes a pre-fetch (PF) stage for performing branch prediction, and an instruction fetch (IF) stage for fetching instructions that are to be later processed by an execution (EX) stage. The PF stage has a PF address (PFA) register for storing the address of an instruction being processed by the PF stage, and the IF stage has an IF address (IFA) register for storing the address of an instruction to be fetched for later execution. The CPU also includes address register control (ARC) circuitry for setting the contents of the PFA and the IFA. The ARC accepts branch-prediction results from the PF stage to determine the subsequent contents of the PFA and the IFA. If the PF stage predicts a branch, then the ARC sets the next address of the PFA to be sequentially after a predicted branch address, and simultaneously sets the next address of the IFA to be the predicted branch address.Type: GrantFiled: February 16, 2003Date of Patent: November 15, 2005Assignee: Faraday Technology Corp.Inventor: Hung-Yu Lin
-
Patent number: 6963954Abstract: Address based prefetch logic varies prefetching according to address values in read requests. The address based prefetch logic can vary how much data is initially read into a prefetch buffer or when a prefetch buffer is refilled to an initial prefetch amount. One advantage of the address based prefetch logic is that prefetching and prefetch buffer refill rates are tuned for particular application. This is important since the system controller ordinarily does not know how much data the master is requesting beyond the first data phase. The requested read address is used as a hint to determine how much prefetching needs to occur. Over prefetching wastes memory bandwidth, and potentially adds latency to other masters sharing common busses. Under prefetching may cause the system controller that is acting as a PCI target to terminate the master's read request, thus wasting PCI bandwidth, adding latency.Type: GrantFiled: September 19, 2001Date of Patent: November 8, 2005Assignee: Cisco Technology, Inc.Inventors: Eric Trehus, Kuan-Yuh Ko
-
Patent number: 6961837Abstract: An end of a queue or a page-crossing within a queue is detected. A virtual memory address for the head of the queue or for the next queue page is pre-translated into a physical memory address while the last entry in the queue or in the current queue page is being serviced.Type: GrantFiled: March 25, 2003Date of Patent: November 1, 2005Assignee: Intel CorporationInventors: Ken C. Haren, Lee Albion, Brian M. Leitner, Dominic J. Gasbarro
-
Patent number: 6961823Abstract: An apparatus and method for prefetching cache data in response to data requests. The prefetching uses the memory addresses of requested data to search for other data, from a related address, in a cache. This, or other data, may then be prefetched based on the result of the search.Type: GrantFiled: July 29, 2003Date of Patent: November 1, 2005Assignee: Intel CorporationInventors: Herbert Hing-Jing Hum, Zohar Bogin
-
Patent number: 6959374Abstract: A system including a memory controller conf figured to perform pre-fetch operations including dynamic pre-fetch control. The system includes a memory coupled to a memory controller. The memory controller may be configured to fetch data from the memory in response to memory read requests. Further, the memory controller may be configured to dynamically adjust pre-fetching of data from the system memory dependent upon a bandwidth utilization of the memory.Type: GrantFiled: January 29, 2003Date of Patent: October 25, 2005Assignee: Sun Microsystems, Inc.Inventor: Jurgen Schulz
-
Patent number: 6957304Abstract: A method and apparatus are described for protecting cache lines allocated to a cache by a run-ahead prefetcher from premature eviction, preventing thrashing. The invention also prevents premature eviction of cache lines still in use, such as lines allocated by the run-ahead prefetcher but not yet referenced by normal execution. A protection bit indicates whether its associated cache line has protected status in the cache or whether it may be evicted.Type: GrantFiled: December 20, 2000Date of Patent: October 18, 2005Assignee: Intel CorporationInventor: Christopher B. Wilkerson
-
Patent number: 6954836Abstract: A system and method are described for a memory management processor which, using a table of reference addresses embedded in the object code, can open the appropriate memory pages to expedite the retrieval of information from memory referenced by instructions in the execution pipeline. A suitable compiler parses the source code and collects references to branch addresses, calls to other routines, or data references, and creates reference tables listing the addresses for these references at the beginning of each routine. These tables are received by the memory management processor as the instructions of the routine are beginning to be loaded into the execution pipeline, so that the memory management processor can begin opening memory pages where the referenced information is stored. Opening the memory pages where the referenced information is located before the instructions reach the instruction processor helps lessen memory latency delays which can greatly impede processing performance.Type: GrantFiled: July 11, 2002Date of Patent: October 11, 2005Assignee: Micron Technology, Inc.Inventor: Dean A. Klein
-
Patent number: 6951015Abstract: Method and apparatus for inserting prefetch instructions in an executable computer program. Profile data are generated for executed load instructions and store instructions. The profile data include instruction addresses, target addresses, data loaded and stored, and execution counts. From the profile data, recurring patterns of instructions resulting in cache-miss conditions are identified. Prefetch instructions are inserted prior to the instructions that result in cache-miss conditions for patterns of instructions recurring more than a selected frequency.Type: GrantFiled: May 30, 2002Date of Patent: September 27, 2005Assignee: Hewlett-Packard Development Company, L.P.Inventor: Carol L. Thompson
-
Patent number: 6941545Abstract: A computer. An instruction pipeline and memory access unit execute instructions in a logical address space of a memory of the computer. An address translation circuit translates address references generated by the program from the program's logical address space to the computer's physical address space. Profile circuitry is cooperatively interconnected with the instruction pipeline and configured to detect, without compiler assistance for execution profiling, occurrence of profilable events occurring in the instruction pipeline, and is cooperatively interconnected with the memory access unit to record profile information describing physical memory addresses referenced during an execution interval of the program.Type: GrantFiled: May 28, 1999Date of Patent: September 6, 2005Assignee: ATI International SRLInventors: David L. Reese, John S. Yates, Jr., Paul H. Hohensee, Korbin S. Van Dyke, T. R. Ramesh, Shalesh Thusoo, Gurjeet Singh Saund, Niteen Aravind Patkar
-
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
-
Patent number: 6938125Abstract: A disk storage system has a control unit having a plurality of external ports connectable to a mirrored disk including two disks to which write data is written. When the control unit receives two read requests issued from a processor to the disk unit group, a first read operation is performed to read data requested by the first read request from one of the disks and a second read operation is performed to read data requested by the second read request from the other one of the disks. Also, a first transferring operation is performed to transfer data read by the first read operation to one external port of the control unit and a second transferring operation is performed to transfer data read by the second read operation to another external port of the control unit. Further, the data read by the two read operations is transferred to the processor via the external ports.Type: GrantFiled: August 6, 2003Date of Patent: August 30, 2005Assignee: Hitachi, Ltd.Inventors: Akira Yamamoto, Takao Satoh, Shigeo Honma, Yoshihiro Asaka, Yoshiaki Kuwahara, Hiroyuki Kitajima
-
Patent number: 6934828Abstract: A technique is described to reduce the complexity of floating point linear address (FLA) maintenance in a superscalar processor by coupling FLA updates when floating point data is stored instead of when floating point addresses are stored.Type: GrantFiled: September 17, 2002Date of Patent: August 23, 2005Assignee: Intel CorporationInventors: Rajesh S. Parthasarathy, Aravindh Bakthavathsalu
-
Patent number: 6931509Abstract: There is disclosed a method and apparatus for mapping between logical and physical addresses in a solid state data storage device, particularly but not exclusively a magnetic random access solid state data storage device, in which a list of mappings between ranges of logical addresses and ranges of physical addresses are stored in a data table, the mappings being operated on to look up a physical address from a logical address and vice versa, and being operated on by a data processor, to amend the data mappings by introduction of new ranges of logical and physical addresses, upon ranges of individual physical memory elements becoming defective.Type: GrantFiled: December 15, 2003Date of Patent: August 16, 2005Assignee: Hewlett-Packard Development Company, L.P.Inventor: Kevin Lloyd-Jones
-
Patent number: 6928530Abstract: A memory implementing an incremental address counter is sequentially read. An address jump includes detecting an address jump signal, incrementing the incremental address counter, and reading the content of the memory at the incremented address. The content read at the incremented address is transferred into the incremental address counter, and the content of the memory is read at the address contained in the incremental address counter.Type: GrantFiled: February 22, 2002Date of Patent: August 9, 2005Assignee: STMicroelectronics SAInventor: Yvon Bahout
-
Patent number: 6925591Abstract: A method and apparatus for providing full accessibility to on-chip instruction cache and microcode ROM are described. A dummy tag and a dummy instruction are written into a cache tag array and an instruction array, respectively, during a test mode. The dummy tag is concatenated with a predetermined set number and a predetermined word address to form a dummy address having a dummy tag field, a set field and a word address field. An instruction fetch is invoked using the dummy address. The instruction cache is accessed with the dummy address, and a cache miss is forced to occur. The dummy tag field of the dummy address is written into the tag array at a row specified by the predetermined set number, and the dummy instruction is written into the instruction array at the same row. Execution of the dummy instruction is suppressed. A read operation is performed in a similar manner, except in that case an instruction cache hit is forced to occur to cause data to be read from the instruction cache.Type: GrantFiled: May 21, 2004Date of Patent: August 2, 2005Assignee: Intel CorporationInventors: Chandrashekhar S. Patwardhan, James Earl White, Richard Brunner, Yan Xu, Kenneth Griesser
-
Patent number: 6922767Abstract: A computational circuit for generating a predicted address value includes an instruction field that contains an instruction value. A value immediate field is associated with the instruction field and includes a offset value and a first subset of lower-order bits. An effective address cache stores a plurality of higher-order bits of a plurality of recently-accessed memory addresses and reads out a value corresponding to a second subset of higher-order bits of a memory address that corresponds to the first subset of lower-order bits. A circuit concatenates the second subset, the first subset and the offset value, thereby generating the predicted address value.Type: GrantFiled: October 29, 2002Date of Patent: July 26, 2005Assignee: International Business Machines CorporationInventors: David A. Luick, Richard J. Eickemeyer
-
Patent number: 6918009Abstract: In the case that at the time of generation of a pre-fetch request following a read request from one of the processors the data stored in other cache devices cannot be read unless its state tag is changed, a cache controller carries out weak read operation for causing failure in the pre-fetch request as a fetch protocol. Alternatively, the cache controller reads pre-fetch data without changing state tags of other cache devices, sets a weak read state (W), and stores the data. The data in the weak read state (W) is invalided by synchronization operation of memory consistency by software. Furthermore, the pre-fetch data is stored in a passive preservation mode in the present cache device. Even if the pre-fetch data corresponds to a read request from some other cache device, the preservation of the data is not informed to the other cache device.Type: GrantFiled: December 18, 1998Date of Patent: July 12, 2005Assignee: Fujitsu LimitedInventors: Mitsuru Sato, Kouichi Kumon
-
Patent number: 6915404Abstract: A computer system includes a read ahead engine that receives a sequence of read requests and performs read ahead operations in accordance with various patterns detected within the sequence of read requests. The prefetch engine may implement the method of storing a first run value indicative of the run size of a first plurality of sequential read requests, and storing a first skip value indicative of a non-sequential skip associated with a subsequent read request. The method may further include determining whether a second run value indicative of the sequential run size of a second plurality of read requests equals the first run value, and whether a second skip value indicative of another non-sequential skip associated with an additional read request equals the first skip value. If the first run value equals the second run value, and the first skip value equals the second skip value, a stride pattern is indicated, and one or more read ahead operations according to the detected stride pattern may be initiated.Type: GrantFiled: July 1, 2004Date of Patent: July 5, 2005Assignee: VERITAS Operating CorporationInventors: Samir Desai, John Colgrove, Ganesh Varadarajan
-
Patent number: 6907511Abstract: An instruction-set-aware method for reducing transitions on an irredundant address bus comprises receiving a first address for communication to a memory on an irredundant address bus. The method retrieves an instruction from a memory location indicated by the first address, transmits the instruction on a data bus, and determines a category of the instruction. The method predicts a second address based, at least in part, on the first address, the instruction, and the category of the instruction.Type: GrantFiled: January 14, 2003Date of Patent: June 14, 2005Assignees: Fujitsu Limited, University of Southern CaliforniaInventors: Farzan Fallah, Yazdan Aghaghiri, Massoud Pedram
-
Patent number: 6907505Abstract: A hybrid LUN copy operation that ultimately produces a full LUN copy, but involves a transient snapshot-copy-like intermediate stage. In one embodiment, a statically pre-allocated copy LUN is initialized with references pointing back to the primary LUN. Over time, the sectors, blocks, or other data-storage units of the primary LUN are copied to the copy LUN, so that, in the end, a full copy LUN in completed. In a second, alternative embodiment, both the primary LUN and copy LUN are READ and WRITE accessible immediately following the nearly instantaneous initialization of the copy LUN. In both embodiments, the copy LUN may be statically allocated. The immediate-full-LUN-copy operations provided by the present invention further enable rotatable copy-LUN groups, each copy LUN within a copy-LUN group representing a full, robust copy LUN.Type: GrantFiled: July 31, 2002Date of Patent: June 14, 2005Assignee: Hewlett-Packard Development Company, L.P.Inventors: Robert A. Cochran, Titus E. Davis
-
Patent number: 6901500Abstract: A system for prefetching information from a computer storage includes a central processing unit operable to transmit to a transfer bus a memory transfer request containing a desired memory address. The system also includes a system controller operable to receive the memory transfer request from the transfer bus and to retrieve a prefetch block of data from the computer storage in response to determining that a stream buffer local to the system controller does not contain a copy of data stored at the desired memory address. The system controller is further operable to retrieve the data from the stream buffer and communicate the data to the central processing unit in response to determining that the stream buffer contains a copy of the data stored at the desired memory address.Type: GrantFiled: July 28, 2000Date of Patent: May 31, 2005Assignee: Silicon Graphics, Inc.Inventors: Zahid S. Hussain, Tim J. Millet
-
Patent number: 6898694Abstract: The present invention provides a mechanism for supporting high bandwidth instruction fetching in a multi-threaded processor. A multi-threaded processor includes an instruction cache (I-cache) and a temporary instruction cache (TIC). In response to an instruction pointer (IP) of a first thread hitting in the I-cache, a first block of instructions for the thread is provided to an instruction buffer and a second block of instructions for the thread are provided to the TIC. On a subsequent clock interval, the second block of instructions is provided to the instruction buffer, and first and second blocks of instructions from a second thread are loaded into a second instruction buffer and the TIC, respectively.Type: GrantFiled: June 28, 2001Date of Patent: May 24, 2005Assignee: Intel CorporationInventors: Sailesh Kottapalli, James S. Burns, Kenneth D. Shoemaker
-
Patent number: 6898671Abstract: The data processor has a set-associative cache memory capable of performing associative operation using tag information for an indexed cache line. The cache memory includes way prediction part for performing a selection of a way based on the prediction in parallel with the associative operation, generation part for generating way selection determining information based on the associative operation using the subsequent access address during a penalty cycle caused by a prediction miss of the way prediction part, and control part for making a way selected for the subsequent access address after the penalty cycle on the basis of the way selection determining information. Since a way to be hit at the subsequent cache access can be predetermined during the preceding penalty cycle, the cumulative number of penalty cycles can be reduced.Type: GrantFiled: February 27, 2002Date of Patent: May 24, 2005Assignee: Renesas Technology CorporationInventors: Masayuki Ito, Junichi Nishimoto
-
Patent number: 6895429Abstract: A technique enables a server, such as a filer, configured with a plurality of virtual servers, such as virtual filers (vfilers), to participate in a plurality of private network address spaces having potentially overlapping network addresses. The technique also enables selection of an appropriate vfiler to service requests within a private address space in a manner that is secure and distinct from other private address spaces supported by the filer. An IPspace refers to each distinct address space in which the filer and its storage operating system participate. An IPspace identifier is applied to translation procedures that enable the selection of a correct vfiler for processing an incoming request and an appropriate routing table for processing an outgoing request.Type: GrantFiled: December 28, 2001Date of Patent: May 17, 2005Assignee: Network Appliance, Inc.Inventors: Gaurav Banga, Mark Smith, Mark Muhlestein
-
Patent number: 6883077Abstract: In an information processsing unit with key controlled protection, since it takes a long time to fetch a storage key from key storage, an instruction and computation unit of a CPU receives data from a memory control unit of the CPU before a key is received, and then the transferred storage key is checked.Type: GrantFiled: February 27, 2002Date of Patent: April 19, 2005Assignee: Fujitsu LimitedInventors: Hiroaki Kimura, Yuji Shirahige, Iwao Yamazaki
-
Patent number: 6880063Abstract: A memory cache bank prediction unit is provided for use in a processor having a plurality of memory cache banks. The memory cache bank prediction unit has an input port that receives an instruction. The memory cache bank prediction unit also has an evaluation unit, coupled to the input port, that predicts which of the plurality of memory cache banks is associated with the instruction.Type: GrantFiled: January 9, 2004Date of Patent: April 12, 2005Assignee: Intel CorporationInventors: Adi Yoaz, Ronny Ronen, Lihu Rappoport, Mattan Erez, Stephan J. Jourdan, Bob Valentine
-
Patent number: 6877069Abstract: An address translation logic and method for generating an instruction's operand address. The address generation logic includes an address generation circuit having adders that perform partial sum additions of the instruction operand's base register value with a displacement value in the instruction. The address generation logic also includes a carry prediction history block associated with the instruction that provides predicted carry-in values to the adders during the partial sum addition operation. In a related embodiment, the carry prediction history block that, in an advantageous embodiment, is appended to the instruction includes a predicted row access select (RAS) carry-in value, a predicted column access select (CAS) carry-in value and a confirmation flag that indicates whether the previous carry-in predictions for the previous predicted RAS and CAS carry-in values for the instruction were correct.Type: GrantFiled: March 28, 2002Date of Patent: April 5, 2005Assignee: International Business Machines CorporationInventor: David Arnold Luick
-
Patent number: 6877070Abstract: A method and apparatus are provided for implementing command queue ordering with benefit determination of a prefetch operation. For each command in a hard disk drive command queue, a rotational position optimization (RPO) score is calculated. A prefetch benefit is calculated for each command in the hard disk drive command queue within a working partition. The RPO score is modified utilizing the calculated prefetch benefit for the commands in the hard disk drive command queue within the working partition. A best RPO score is identified to select a next command in the hard disk drive command queue to execute.Type: GrantFiled: July 23, 2002Date of Patent: April 5, 2005Assignee: Hitachi Global Storage Technologies Netherlands, B.V.Inventors: Adam Michael Espeseth, David Robison Hall
-
Patent number: 6874067Abstract: A multiprocessor computer system employs a number of levels of cache memories with each processor. A cache controller for a lower level cache memory receives a memory block pre-fetch request which requests a particular memory block. The cache controller determines a likelihood that the particular memory block will be invalidated prior to use of the memory block by a processor which issued the pre-fetch request. Based on that determination, the cache controller determines whether to honor the pre-fetch request.Type: GrantFiled: April 11, 2002Date of Patent: March 29, 2005Assignee: International Business Machines CorporationInventor: Farnaz Toussi
-
Patent number: 6871218Abstract: A method for a first computer to request documents from a second computer inacludes steps of sending a first request for a first document to the second computer responsive to a first user action, receiving the first document sent by the second computer responsive to the first request; identifying all references to second documents in the received first document; independently of any user action, automatically sending a second request for at least one of the second documents referred to by the identified references; receiving the second document(s) requested by the second request and storing the received second document(s) in a storage that is local to the first computer, and responsive to a user request for one or more of the second documents, attempting first to service the user request from the local storage and sending a third request to the second computer for second document(s) only when the second document(s) is not stored in the local storage.Type: GrantFiled: November 7, 2001Date of Patent: March 22, 2005Assignee: Oracle International CorporationInventors: Sachin Desai, Kiran Gurudutt Bellare, Max Schireson
-
Patent number: 6862657Abstract: Data is read from a storage medium in response to a command and stored in a region of memory. An interrupt is issued after a predetermined portion of the data has been stored in memory. A database, such as a scatter/gather list, may be consulted to determine when to issue the interrupt. A host processing device may read data from a first location on the storage medium in response to a command requesting data at a second location on the storage medium, and may read data from the second location on the storage medium in response to the command. The first location precedes the second location in a direction of movement of the storage medium during reading.Type: GrantFiled: December 21, 1999Date of Patent: March 1, 2005Assignee: Intel CorporationInventors: Knut S. Grimsrud, Amber D. Huffman
-
Patent number: 6851038Abstract: A computer system is provided with a memory management unit (MMU) utilizing a translation look-aside buffer (TLB) arrangement. The computer system includes a bus, a unified cache memory, a main memory, a processor, and a memory controller. The TLB is configured for storing code and/or data. The main memory is coupled to the bus. The main memory contains descriptor tables for mapping virtual-to-physical address translations within a virtual memory system. The processor is coupled to the bus and the unified cache memory. The processor is configured to communicate and sequentially move through the main memory to retrieve a line of information from the main memory for storage in the unified cache memory. The cache is configured for storing the most recently retrieved code and data from main memory. The memory controller is coupled between the bus and the main memory.Type: GrantFiled: May 26, 2000Date of Patent: February 1, 2005Assignee: Koninklijke Philips Electronics N.V.Inventors: Duane F. Krolski, James J. Jirgal
-
Patent number: 6851033Abstract: The present invention relates to techniques for predicting memory access in a data processing apparatus and particular to a technique for determining whether a data item to be accessed crosses an address boundary and will hence require multiple memory accesses. An earlier indication can be provided that at least two memory accesses may be required to access a data item by performing a prediction based upon one or more operands generated from a memory instruction instead of waiting for a memory access generation stage to generate the memory access. Prediction logic can generate a prediction signal to prevent the memory access generation stage from receiving signals from a preceding pipeline stage while at least two memory accesses are being generated.Type: GrantFiled: October 1, 2002Date of Patent: February 1, 2005Assignee: Arm LimitedInventor: Richard Roy Grisenthwaite
-
Patent number: 6848029Abstract: Computer systems are typically designed with multiple levels of memory hierarchy. Prefetching has been employed to overcome the latency of fetching data or instructions from or to memory. Prefetching works well for data structures with regular memory access patterns, but less so for data structures such as trees, hash tables, and other structures in which the datum that will be used is not known a priori. The present invention significantly increases the cache hit rates of many important data structure traversals, and thereby the potential throughput of the computer system and application in which it is employed. The invention is applicable to those data structure accesses in which the traversal path is dynamically determined. The invention does this by aggregating traversal requests and then pipelining the traversal of aggregated requests on the data structure.Type: GrantFiled: January 3, 2001Date of Patent: January 25, 2005Inventor: Dirk Coldewey
-
Patent number: 6845501Abstract: A method for reducing cache memory misses in a computer that performs context switches between at least a first context and a second context. A First logic identifies a first prefetch region in a first memory element and a second logic identifies critical memory references within the first prefetch region during compilation of a computer program. The critical memory references within the first prefetch region correspond to data in cache memory if a context switch occurs from a process or thread associated with the second context to a process or thread associated with the first context during program execution. Third logic prefetches data associated with the identified critical memory references and stores the prefetched data in cache memory prior to a process or thread associated with the first context being resumed when a switch from the second context to the first context occurs during program execution.Type: GrantFiled: July 27, 2001Date of Patent: January 18, 2005Assignee: Hewlett-Packard Development Company, L.P.Inventors: Carol L. Thompson, Michael L. Zi gler, Jerome C. Huck, Lawrence D. K. B. Dwyer
-
Publication number: 20040268085Abstract: Each prefetch buffer has a tag register for storing a branch address and a data register for storing instruction data. Each of the prefetch buffers is assigned to either a first prefetch buffer rewritable during a normal operation period and a second prefetch buffer to be disabled for rewrite during the normal operation period. The second prefetch buffer can thus be prevented from being rewritten even if a central processor outputs branch addresses frequently. This realizes an improvement in the instruction fetch efficiency of the central processor and an improvement in the entire system performance. The fetch efficiency can be improved particularly in such systems that branch addresses occur frequently and some of them occur repeatedly.Type: ApplicationFiled: March 11, 2004Publication date: December 30, 2004Applicant: FUJITSU LIMITEDInventors: Akio Hara, Masaaki Tani, Kenji Furuya
-
Publication number: 20040260884Abstract: A reconfigurable processor that includes a computational unit and a data prefetch unit coupled to the computational unit, where the data prefetch unit retrieves data from a memory and supplies the data to the computational unit through memory and a data access unit, and where the data prefetch unit, memory, and data access unit is configured by a program. Also, a reconfigurable hardware system that includes a common memory; and one or more reconfigurable processors coupled to the common memory, where at least one of the reconfigurable processors includes a data prefetch unit to read and write data between the unit and the common memory, and where the data prefetch unit is configured by a program executed on the system. In addition, a method of transferring data that includes transferring data between a memory and a data prefetch unit in a reconfigurable processor; and transferring the data between a computational unit and the data prefetch unit.Type: ApplicationFiled: June 16, 2004Publication date: December 23, 2004Inventors: Daniel Poznanovic, David E. Caliga, Jeffrey Hammes
-
Publication number: 20040260909Abstract: A memory module includes a memory hub coupled to several memory devices. The memory hub includes history logic that predicts on the basis of read memory requests which addresses in the memory devices from which date are likely to be subsequently read. The history logic applies prefetch suggestions corresponding to the predicted addresses to a memory sequencer, which uses the prefetch suggestions to generate prefetch requests that are coupled to the memory devices. Data read from the memory devices responsive to the prefetch suggestions are stored in a prefetch buffer. Tag logic stores prefetch addresses corresponding to addresses from which data have been prefetched. The tag logic compares the memory request addresses to the prefetch addresses to determine if the requested read data are stored in the prefetch buffer. If so, the requested data are read from the prefetch buffer. Otherwise, the requested data are read from the memory devices.Type: ApplicationFiled: June 20, 2003Publication date: December 23, 2004Inventors: Terry R. Lee, Joseph Jeddeloh
-
Publication number: 20040260908Abstract: A memory controller and method thereof configures a prefetch buffer dynamically for interfacing between multiple bus masters of different burst support and multiple memories having different characteristics. A line size of at least a portion of the prefetch buffer is modified based upon the memory controller receiving a read request from one of the bus masters. An adaptive method to optimally replace prefetch buffer lines uses prioritized status field information to determine which buffer line to replace.Type: ApplicationFiled: June 20, 2003Publication date: December 23, 2004Inventors: Afzal M. Malik, William C. Moyer
-
Patent number: 6834325Abstract: A client-directed pre-stage operation of a cache memory used to access data blocks from a mass data storage device attached to a host computer through a channel control processor is provided by a method and apparatus comprising a channel control processor for retrieving data blocks from the mass storage device to be pre-staged within the cache memory, a channel interface coupled between the channel control processor and the host computer, a mass storage device interface coupled between the channel control processor and the mass storage device, and a cache memory coupled between the channel interface and the mass storage interface; the cache memory is further coupled to the cache control processor to provide the cache control processor access to data stored within the cache memory. The cache control processor receives a cache bitmap from the host computer to specify the data blocks from the mass storage device to be pre-staged into the cache memory.Type: GrantFiled: July 16, 1999Date of Patent: December 21, 2004Assignee: Storage Technology CorporationInventors: Michael S. Milillo, Christopher J. West
-
Patent number: 6832296Abstract: A microprocessor that executes a repeat prefetch instruction (REP PREFETCH). The REP PREFETCH prefetches multiple cache lines, wherein the number of cache lines is specifiable in the instruction. The instruction is specified by the Pentium III PREFETCH opcode preceded by the REP string instruction prefix. The programmer specifies the count of cache lines to be prefetched in the ECX register, similarly to the repeat count of a REP string instruction. The effective address of the first cache line is specified similar to the conventional PREFETCH instruction. The REP PREFETCH instruction stops if the address of the current prefetch cache line misses in the TLB, or if the current processor level changes. Additionally, a line is prefetched only if the number of free response buffers is above a programmable threshold. The prefetches are performed at a lower priority than other activities needing access to the cache or TLB.Type: GrantFiled: April 9, 2002Date of Patent: December 14, 2004Assignee: IP-First, LLCInventor: Rodney E. Hooker
-
Patent number: 6832288Abstract: A disk device having a read/write processing device to improve the efficiency of operations between write commands that have overlapping data, and to prevent delays in execution processing of starting commands. A read command advance processor unit that processes in advance the read commands for which there are unprocessed write commands in the command queue and a write command overlap data processor overwrites the existing write command write data overlap part when the new write command write data overlaps the write data from an existing write command.Type: GrantFiled: January 29, 2001Date of Patent: December 14, 2004Assignee: Fujitsu LimitedInventors: Yoshiyuki Ohta, Katsuhiko Nishikawa
-
Publication number: 20040243786Abstract: A microprocessor includes a processing unit, an address bus connected to an addressable memory space, and executes instructions from an instruction set for accessing the addressable memory space. The addressable memory space is for a lower memory area and an extended memory area. The instruction set includes a first instruction group for accessing the lower memory area, and a second instruction group that is distinct from the first instruction group for accessing the extended memory area.Type: ApplicationFiled: March 31, 2004Publication date: December 2, 2004Applicant: STMicroelectronics SAInventors: Franck Roche, Philippe Basset