Predicting, Look-ahead Patents (Class 711/204)
-
Patent number: 7454590Abstract: In one embodiment, a processor comprises a plurality of processor cores and an interconnect to which the plurality of processor cores are coupled. Each of the plurality of processor cores comprises at least one translation lookaside buffer (TLB). A first processor core is configured to broadcast a demap command on the interconnect responsive to executing a demap operation. The demap command identifies one or more translations to be invalidated in the TLBs, and remaining processor cores are configured to invalidate the translations in the respective TLBs. The remaining processor cores transmit a response to the first processor core, and the first processor core is configured to delay continued processing subsequent to the demap operation until the responses are received from each of the remaining processor cores.Type: GrantFiled: September 9, 2005Date of Patent: November 18, 2008Assignee: Sun Microsystems, Inc.Inventors: Paul J. Jordan, Manish K. Shah, Gregory F. Grohoski
-
Publication number: 20080276066Abstract: A system to facilitate virtual page translation. An embodiment of the system includes a processing device, a front end unit, and address translation logic. The processing device is configured to process data of a current block of data. The front end unit is coupled to the processing device. The front end unit is configured to access the current block of data in an electronic memory device and to send the current block of data to the processor for processing. The address translation logic is coupled to the front end unit and the electronic memory device. The address translation logic is configured to pre-fetch a virtual address translation for a predicted virtual address based on a virtual address of the current block of data. Embodiments of the system increase address translation performance of computer systems including graphic rendering operations.Type: ApplicationFiled: May 1, 2007Publication date: November 6, 2008Applicant: GiQuila CorporationInventors: Keith Lee, Frido Garritsen
-
Patent number: 7444494Abstract: According to a method of data processing, a predictor is maintained that indicates a historical scope of broadcast for one or more previous operations transmitted on an interconnect of a data processing system. A scope of broadcast of a subsequent operation is predictively selected by reference to the predictor.Type: GrantFiled: May 31, 2005Date of Patent: October 28, 2008Assignee: International Business Machines CorporationInventors: Benjiman L. Goodman, Guy L. Guthrie, William J. Starke, Jeffrey A. Stuecheli, Derek E. Williams
-
Publication number: 20080263313Abstract: Pretranslating input/output buffers in environments with multiple page sizes that include determining a pretranslation page size for an input/output buffer under an operating system that supports more than one memory page size, identifying pretranslation page frame numbers for the buffer in dependence upon the pretranslation page size, pretranslating the pretranslation page frame numbers to physical page numbers, and storing the physical page numbers in association with the pretranslation page size. Typical embodiments also include accessing the buffer, including translating a virtual memory address in the buffer to a physical memory address in dependence upon the physical page numbers and the pretranslation page size and accessing the physical memory of the buffer at the physical memory address.Type: ApplicationFiled: July 9, 2008Publication date: October 23, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: David Alan Hepkin
-
Patent number: 7434005Abstract: A preload controller for controlling a bus access device that reads out data from a main memory via a bus and transfers the readout data to a temporary memory, including a first acquiring device to acquire access hint information which represents a data access interval to the main memory, a second acquiring device to acquire system information which represents a transfer delay time in transfer of data via the bus by the bus access device, a determining device to determine a preload unit count based on the data access interval represented by the access hint information and the transfer delay time represented by the system information, and a management device to instruct the bus access device to read out data for the preload unit count from the main memory and to transfer the readout data to the temporary memory ahead of a data access of the data.Type: GrantFiled: June 14, 2005Date of Patent: October 7, 2008Assignee: Kabushiki Kaisha ToshibaInventors: Seiji Maeda, Yusuke Shirota
-
Patent number: 7434004Abstract: Predicting prefetch data sources for runahead execution triggering read operations eliminates the latency penalties of missing read operations that typically are not addressed by runahead execution mechanisms. Read operations that most likely trigger runahead execution are identified. The code unit that includes those triggering read operations is modified so that the code unit branches to a prefetch predictor. The prefetch predictor observes sequence patterns of data sources of triggering read operations and develops prefetch predictions based on the observed data source sequence patterns. After a prefetch prediction gains reliability, the prefetch predictor supplies a predicted data source to a prefetcher coincident with triggering of runahead execution.Type: GrantFiled: June 17, 2004Date of Patent: October 7, 2008Assignee: Sun Microsystems, Inc.Inventors: Lawrence A. Spracklen, Santosh G. Abraham, Stevan Vlaovic, Darryl J. Gove
-
Patent number: 7426625Abstract: A method, computer program product, and a data processing system for supporting memory addresses with holes is provided. A first physical address range allocated for system memory for an operating system run by a processor configured to support logical partitioning is virtualized to produce a first logical address range. A second physical address range allocated for system memory for the operating system is virtualized to produce a second logical address range. The first physical address range and the second physical address range are non-contiguous. Virtualization of the first and second physical address ranges is had such that the first logical address range and the second logical address range are contiguous. A memory mapped input/output physical address range that is intermediate the first physical address range and the second physical address range is virtualized to produce a third logical address range.Type: GrantFiled: March 31, 2004Date of Patent: September 16, 2008Assignee: International Business Machines CorporationInventor: Van Hoa Lee
-
Patent number: 7421694Abstract: Techniques for minimizing coprocessor “starvation,” and for effectively scheduling processing in a coprocessor for greater efficiency and power. A run list is provided allowing a coprocessor to switch from one task to the next, without waiting for CPU intervention. A method called “surface faulting” allows a coprocessor to fault at the beginning of a large task rather than somewhere in the middle of the task. DMA control instructions, namely a “fence,” a “trap” and a “enable/disable context switching,” can be inserted into a processing stream to cause a coprocessor to perform tasks that enhance coprocessor efficiency and power. These instructions can also be used to build high-level synchronization objects. Finally, a “flip” technique is described that can switch a base reference for a display from one location to another, thereby changing the entire display surface.Type: GrantFiled: January 22, 2004Date of Patent: September 2, 2008Assignee: Microsoft CorporationInventors: Anuj B. Gosalia, Steve Pronovost
-
Patent number: 7418572Abstract: Pretranslating input/output buffers in environments with multiple page sizes that include determining a pretranslation page size for an input/output buffer under an operating system that supports more than one memory page size, identifying pretranslation page frame numbers for the buffer in dependence upon the pretranslation page size, pretranslating the pretranslation page frame numbers to physical page numbers, and storing the physical page numbers in association with the pretranslation page size. Typical embodiments also include accessing the buffer, including translating a virtual memory address in the buffer to a physical memory address in dependence upon the physical page numbers and the pretranslation page size and accessing the physical memory of the buffer at the physical memory address.Type: GrantFiled: August 18, 2004Date of Patent: August 26, 2008Assignee: International Business Machines CorporationInventor: David Alan Hepkin
-
Publication number: 20080201552Abstract: There is provided a computer-readable medium storing a program causing a computer to execute a process for controlling archiving of an electronic document, the program causing the computer to function as: a requirement memory that stores a document archive requirement for each rule; and an archive processor that judges, on the basis of the requirement memory, each document archive requirement corresponding to each rule to be applied to an electronic document to be archived, determines an archive mode which satisfies all of the judged document archive requirements, and executes a process to archive the electronic document in an archiving device in the determined archive mode.Type: ApplicationFiled: August 2, 2007Publication date: August 21, 2008Applicant: FUJI XEROX CO., LTD.Inventor: Katsuji Tokie
-
Patent number: 7409472Abstract: An input/output request sent from a host is once cued through a channel adapter and is then transferred to a resource manager and is cued, and the cuing is distributed. Even if sequential input/output requests of the host are separated through a distribution processing to a plurality of paths, they are recognized on the device controller side and a countermeasure is taken. In the case in which a path from the host to the device controller is caused to be redundant into an operation system and a standby system, a path confirmation command is issued to the device drivers of a standby system path in order to confirm that the standby system path is normally operated or not. When the issuance of the input/output request is transferred to another path, a command for releasing the reserve of a transfer path is issued from another path.Type: GrantFiled: August 10, 2004Date of Patent: August 5, 2008Assignee: Fujitsu LimitedInventors: Sawao Iwatani, Sanae Kamakura
-
Patent number: 7406569Abstract: Typical cache architecture provides a single cache way prediction memory for use in predicting a cache way for both sequential and non-sequential instructions contained within a program stream. Unfortunately, one of the drawbacks of the prior art cache way prediction scheme lies in its efficiency when dealing with instructions that vary the PC in a non-sequential manner, such as branch instructions including jump instructions. To facilitate caching of non-sequential instructions an additional cache way prediction memory is provided to deal with the non-sequential instructions. Thus during program execution a decision circuit determines whether to use a sequential cache way prediction array or a non sequential cache way prediction array in dependence upon the type of instruction. Advantageously the improved cache way prediction scheme provides an increased cache hit percentage when used with non-sequential instructions.Type: GrantFiled: August 12, 2002Date of Patent: July 29, 2008Assignee: NXP B.V.Inventor: Jan-Willem van de Waerdt
-
Patent number: 7398377Abstract: An apparatus and method in a pipelined microprocessor for replacing one of two target addresses in a branch target address cache (BTAC) line. If only one of the two entries is invalid, the invalid entry is replaced. If both entries are valid, the least recently used entry is replaced. If both entries are invalid, the entry is replaced corresponding to the side of the BTAC, indicated by a global status register, not last written to with an invalid entry. In one embodiment, the global status is updated only if a side is written when both entries are invalid. In another embodiment, the BTAC stores N entries per line, where N is greater than 1. The status register maintains information for determining which of the N sides is least recently written. The least recently written side is chosen for replacement.Type: GrantFiled: November 1, 2004Date of Patent: July 8, 2008Assignee: IP-First, LLCInventors: Thomas C. McDonald, Terry Parks
-
Patent number: 7389385Abstract: Methods and apparatus to insert prefetch instructions based on garbage collector analysis and compiler analysis are disclosed. In an example method, one or more batches of samples associated with cache misses from a performance monitoring unit in a processor system are received. One or more samples from the one or more batches of samples based on delinquent information are selected. A performance impact indicator associated with the one or more samples is generated. Based on the performance indicator, at least one of a garbage collector analysis and a compiler analysis is initiated to identify one or more delinquent paths. Based on the at least one of the garbage collector analysis and the compiler analysis, one or more prefetch points to insert prefetch instructions are identified.Type: GrantFiled: December 19, 2003Date of Patent: June 17, 2008Assignee: Intel CorporationInventors: Mauricio J. Serrano, Sreenivas Subramoney, Richard L. Hudson, Ali-Reza Adl-Tabatabai
-
Patent number: 7386701Abstract: A processor capable of executing prefetching instructions containing hint fields is provided. The hint fields contain a first portion which enables the selection of a destination indicator for refill operations, and a second portion which identifies a destination.Type: GrantFiled: February 28, 2006Date of Patent: June 10, 2008Assignee: MIPS Technology, Inc.Inventor: Todd C. Mowry
-
Publication number: 20080133873Abstract: A system and method of improved handling of large pages in a virtual memory system. A data memory management unit (DMMU) detects sequential access of a first sub-page and a second sub-page out of a set of sub-pages that comprise a same large page. Then, the DMMU receives a request for the first sub-page and in response to such a request, the DMMU instructs a pre-fetch engine to pre-fetch at least the second sub-page if the number of detected sequential accesses equals or exceeds a predetermined value.Type: ApplicationFiled: January 17, 2008Publication date: June 5, 2008Inventors: Vaijayanthimala K. Anand, Sandra K. Johnson
-
Publication number: 20080133872Abstract: A storage system implements a storage operating system configured to concurrently perform speculative readahead for a plurality of different read streams. Unlike previous implementations, the operating system manages a separate set of readahead metadata for each of the plurality of read streams. Consequently, the operating system can “match” a received client read request with a corresponding read stream, then perform readahead operations for the request in accordance with the read stream's associated set of metadata. Because received client read requests are matched to their corresponding read streams on a request-by-request basis, the operating system can concurrently perform readahead operations for multiple read streams, regardless of whether the read streams' file read requests are received by the storage system in sequential, nearly-sequential or random orders.Type: ApplicationFiled: February 6, 2008Publication date: June 5, 2008Applicant: NETWORK APPLIANCE, INC.Inventor: Robert L. Fair
-
Patent number: 7383415Abstract: In one embodiment, a processor comprising at least one translation lookaside buffer (TLB) and a control unit coupled to the TLB. The control unit is configured to track whether or not at least one update to the TLB is pending for at least one of a plurality of strands. Each strand comprises hardware to support a different thread of a plurality of concurrently activateable threads in the processor. The strands share the TLB, and the control unit is configured to delay a demap operation issued from one of the estrands responsive to the pending update, if any.Type: GrantFiled: September 9, 2005Date of Patent: June 3, 2008Assignee: Sun Microsystems, Inc.Inventors: Paul J. Jordan, Manish K. Shah, Gregory F. Grohoski
-
Patent number: 7360058Abstract: Method, system and computer program product for generating effective addresses in a data processing system. A method, in a data processing system, for generating an effective address includes generating a first portion of the effective address by calculating a first plurality of effective address bits of the effective address, and generating a second portion of the effective address by guessing a second plurality of effective address bits of the effective address. By intelligently guessing a plurality of the effective address bits that form the effective address, the effective address can be generated and sent to a translation unit more quickly than in a system in which all the effective address bits of the effective address are calculated. The method and system is particularly suitable for generating effective addresses in a CAM-based effective address translation design in a multi-threaded environment.Type: GrantFiled: February 9, 2005Date of Patent: April 15, 2008Assignee: International Business Machines CorporationInventors: Rachel Marie Flood, Scott Bruce Frommer, David Allen Hrusecky, Sheldon B. Levenstein, Michael Thomas Vaden
-
Patent number: 7346755Abstract: An example memory quality assuring system is provided. The system may include a memory mapping logic configured to facilitate accessing memory locations and redirecting memory accessing operations. The system may also include a memory quality assurance logic configured to logically replace a first memory location with a second memory location, to initiate testing logically isolated memory locations, and to selectively logically remove tested memory locations based on the testing. It is emphasized that this abstract is provided to comply with the rules requiring an abstract that will allow a searcher or other reader to quickly ascertain the subject matter of the application. It is submitted with the understanding that it will not be employed to interpret or limit the scope or meaning of the claims 37 CFR 1.72(b).Type: GrantFiled: September 16, 2003Date of Patent: March 18, 2008Assignee: Hewlett-Packard Development, L.P.Inventors: Ken Gary Pomaranski, Andy Harvey Barr, Dale John Shidla
-
Patent number: 7340584Abstract: A combination of circuits for use in a memory device is comprised of a decode circuit responsive to a first portion of address information for identifying a word to be read or written. The decode circuit is further responsive to a second portion of the address information for identifying an order in which one or more portions of the identified word are to be read or written. An address sequencer routes at least one bit of the address information. A sequencer circuit is responsive to the address sequencer for ordering the plurality of data bits within each portion of the identified word.Type: GrantFiled: April 20, 2006Date of Patent: March 4, 2008Assignee: Micron Technology, Inc.Inventor: Jeffery W. Janzen
-
Publication number: 20080046678Abstract: A system controller includes an address map storage unit that stores therein an address map that includes mapped areas for accessing FWH that are mounted inside the same data processor. An target determining unit compares, upon receiving an input output request from a CPU, an address included in the input output request with the address map, and transfers the input output request to other system controller mounted in the data processor if the address is included in an area corresponding to the FWH that is not locally connected to the system controller.Type: ApplicationFiled: April 25, 2007Publication date: February 21, 2008Applicant: Fujitsu LimitedInventor: Jin Takahashi
-
Patent number: 7334088Abstract: A computer system and a method for enhancing the cache prefetch behavior. A computer system including a processor, a main memory, a prefetch controller, a cache memory, a prefetch buffer, and a main memory, wherein each page in the main memory has associated with it a tag, which is used for controling the prefetching of a variable subset of lines from this page as well as lines from at least one other page. And, coupled to the processor is a prefetch controller, wherein the prefetch controller responds to the processor determining a fault (or miss) occurred to a line of data by fetching a corresponding line of data with the corresponding tag, with the corresponding tag to be stored in the prefetch buffer, and sending the corresponding line of data to the cache memory.Type: GrantFiled: December 20, 2002Date of Patent: February 19, 2008Assignee: International Business Machines CorporationInventor: Peter Franaszek
-
Patent number: 7328433Abstract: Methods and apparatus for reducing memory latency in a software application are disclosed. A disclosed system uses one or more helper threads to prefetch variables for a main thread to reduce performance bottlenecks due to memory latency and/or a cache miss. A performance analysis tool is used to profile the software application's resource usage and identifies areas in the software application experiencing performance bottlenecks. Compiler-runtime instructions are generated into the software application to create and manage the helper thread. The helper thread prefetches data in the identified areas of the software application experiencing performance bottlenecks. A counting mechanism is inserted into the helper thread and a counting mechanism is inserted into the main thread to coordinate the execution of the helper thread with the main thread and to help ensure the prefetched data is not removed from the cache before the main thread is able to take advantage of the prefetched data.Type: GrantFiled: October 2, 2003Date of Patent: February 5, 2008Assignee: Intel CorporationInventors: Xinmin Tian, Shih-wei Liao, Hong Wang, Milind Girkar, John Shen, Perry Wang, Grant Haab, Gerolf Hoflehner, Daniel Lavery, Hideki Saito, Sanjiv Shah, Dongkeun Kim
-
Patent number: 7318142Abstract: A system and method for dynamically altering a Virtual Memory Manager (VMM) Sequential-Access Read Ahead settings based upon current system memory conditions is provided. Normal VMM operations are performed using the Sequential-Access Read Ahead values set by the user. When low memory is detected, the system either turns off Sequential-Access Read Ahead operations or decreases the maximum page ahead (maxpgahead) value based upon whether the amount of free space is simply low or has reached a critically low level. The altered VMM Sequential-Access Read Ahead state remains in effect until enough free space is available so that normal VMM Sequential-Access Read Ahead operations can be performed (at which point the altered Sequential-Access Read Ahead values are reset to their original levels).Type: GrantFiled: August 8, 2006Date of Patent: January 8, 2008Assignee: International Business Machines CorporationInventors: Jos Manuel Accapadi, Andrew Dunshea, Li Li, Grover Herbert Neuman, Mysore Sathyanarayana Srinivas, David Alan Hepkin
-
Patent number: 7305526Abstract: Provided are a method, system, and program for transferring data directed to virtual memory addresses to a device memory. Indicator bits are set for ranges of device memory addresses in a device accessible over an Input/Output (I/O) bus indicating whether gathering is enabled for the device memory address ranges. Transfer operations are processed to transfer data to contiguous device memory addresses in the device. A determination is made as to whether the indicator bits for the contiguous device memory addresses indicate that gathering is enabled. A single bus I/O transaction is generated to transfer data for the contiguous device memory addresses over the I/O bus in response to determining that the indicator bits for the contiguous device memory addresses indicate that gathering is enabled.Type: GrantFiled: November 5, 2004Date of Patent: December 4, 2007Assignee: International Business Machines CorporationInventors: Michael Thomas Benhase, Robert Alan Cargnoni, James Stephen Fields, Jr., Michael John Mayfield, Bruce Mealey
-
Patent number: 7302527Abstract: Methods for executing load instructions are disclosed. In one method, a load instruction and corresponding thread information are received. Address information of the load instruction is used to generate an address of the needed data, and the address is used to search a cache memory for the needed data. If the needed data is found in the cache memory, a cache hit signal is generated. At least a portion of the address is used to search a queue for a previous load and/or store instruction specifying the same address. If such a previous load/store instruction is found, the thread information is used to determine if the previous load/store instruction is from the same thread. If the previous load/store instruction is from the same thread, the cache hit signal is ignored, and the load instruction is stored in the queue. A load/store unit is also described.Type: GrantFiled: November 12, 2004Date of Patent: November 27, 2007Assignee: International Business Machines CorporationInventors: Brian David Barrick, Kimberly Marie Fernsler, Dwain A. Hicks, Takeki Osanai, David Scott Ray
-
Patent number: 7296140Abstract: A method and apparatus to detect and filter out redundant cache line addresses in a prefetch input queue, and to adjust the detector window size dynamically according to the number of detector entries in the queue for the cache-to-memory controller bus. Detectors correspond to cache line addresses that may represent cache misses in various levels of cache memory.Type: GrantFiled: January 12, 2006Date of Patent: November 13, 2007Assignee: Intel CorporationInventors: Eric A. Sprangle, Anwar Q. Rohillah
-
Patent number: 7284112Abstract: Page size prediction is used to predict a page size for a page of memory being accessed by a memory access instruction such that the predicted page size can be used to access an address translation data structure. By doing so, an address translation data structure may support multiple page sizes in an efficient manner and with little additional circuitry disposed in the critical path for address translation, thereby increasing performance.Type: GrantFiled: January 14, 2005Date of Patent: October 16, 2007Assignee: International Business Machines CorporationInventors: Jeffrey Powers Bradford, Jason Nathaniel Dale, Kimberly Marie Fernsler, Timothy Hume Heil, James Allen Rose
-
Patent number: 7240163Abstract: An apparatus in a microprocessor for selectively retiring a prefetched cache line is disclosed. In a first embodiment, a first count of the number of accesses to the prefetched cache line and N second counts of the number of accesses to N lines of a replacement candidate set of the cache selected by the prefetched cache line address are maintained. When another prefetch is requested, if the first count is greater than the smaller of the N second counts, the candidate prefetched cache line is retired into the cache; otherwise the prefetched cache line is discarded. In a second embodiment, a count of accesses to the replacement candidate line is maintained. When another prefetch is requested, if the count is greater than a programmable threshold value, the candidate prefetched cache line is retired into the cache; otherwise the prefetched cache line is discarded.Type: GrantFiled: August 8, 2005Date of Patent: July 3, 2007Assignee: IP-First, LLCInventors: Glenn Henry, Rodney Hooker
-
Patent number: 7238218Abstract: Prefetching data and instructions from a hierarchical memory based upon trajectories and patterns of prior memory fetches. Portions of the data are stored in a slower main memory and are transferred to faster intermediate memory between a requester and the slower main memory. The selected data items are retrieved from the slower main memory into a prefetch read buffer as an intermediate memory prior to any request from the requester for the particular selected and prefetched data. The address and size of the prefetched data is derived from the history, pattern, or trajectory of prior memory reads.Type: GrantFiled: April 6, 2004Date of Patent: July 3, 2007Assignee: International Business Machines CorporationInventors: David Frank Hepner, Andrew Moy, Andrew Dale Wall
-
Patent number: 7240161Abstract: A disk drive control system comprising a micro-controller, a micro-controller cache system adapted to store micro-controller data for access by the micro-controller, a buffer manager adapted to provide the micro-controller cache system with micro-controller requested data stored in a remote memory, and a cache demand circuit adapted to: a) receive a memory address and a memory access signal, and b) cause the micro-controller cache system to fetch data from the remote memory via the buffer manager based on the received memory address and memory access signal prior to a micro-controller request.Type: GrantFiled: July 31, 2003Date of Patent: July 3, 2007Assignee: Western Digital Technologies, Inc.Inventor: William B. Boyle
-
Patent number: 7222219Abstract: A signal generator detects a stage in which a central processing unit (CPU) reads an interrupt vector number from an instruction controller based on an address on an address bus and generates an address of a ROM to which the CPU makes access subsequently. The generated address is defined as a pre-reading address and this pre-reading address is supplied to the ROM via a selector before the CPU starts accessing to the ROM. In this case, an output buffer is turned off. Thereafter, when the CPU starts accessing to the ROM, the selector is switched and the output buffer is simultaneously turned on so that the address on the address bus is supplied to the ROM.Type: GrantFiled: June 8, 2004Date of Patent: May 22, 2007Assignee: DENSO CorporationInventor: Takayuki Matsuda
-
Patent number: 7181583Abstract: This invention includes: a step (S1) of receiving a snapshot creation request from a client computer; a step (S3) of obtaining, upon reception of the snapshot creation request, a usage ratio of a second volume by the update differences; a step (S2) of obtaining a use history of the update differences in the second volume of the user; a step (S4, S5) of choosing, based on the usage ratio and the use history, one from differential snapshot in which the update differences of the first volume are written in the second volume and volume snapshot in which a third volume is synchronized with the first volume; and a step (S6, S7) of executing the chosen one of differential snapshot and volume snapshot. As a result, it is possible to economically use a differential volume by using differential snapshot in combination with volume snapshot.Type: GrantFiled: November 3, 2004Date of Patent: February 20, 2007Assignee: Hitachi, Ltd.Inventor: Nobuyuki Saika
-
Patent number: 7177985Abstract: A microprocessor with multiple stream prefetch engines each executing a stream prefetch instruction to prefetch a complex data stream specified by the instruction in a manner synchronized with program execution of loads from the stream is provided. The stream prefetch engine stays at least a fetch-ahead distance (specified in the instruction) ahead of the program loads, which may randomly access the stream. The instruction specifies a level in the cache hierarchy to prefetch into, a locality indicator to specify the urgency and ephemerality of the stream, a stream prefetch priority, a TLB miss policy, a page fault miss policy, a protection violation policy, and a hysteresis value, specifying a minimum number of bytes to prefetch when the stream prefetch engine resumes prefetching. The memory subsystem includes a separate TLB for stream prefetches; or a joint TLB backing the stream prefetch TLB and load/store TLB; or a separate TLB for each prefetch engine.Type: GrantFiled: May 30, 2003Date of Patent: February 13, 2007Assignee: MIPS Technologies, Inc.Inventor: Keith E. Diefendorff
-
Patent number: 7165165Abstract: In a system in which individual memory banks may be under individual power control, a subsequent need for a memory bank that is currently in a low power state may be anticipated, so that the memory bank may be powered up in advance of when it is needed, to reduce or eliminate delays caused by waiting for the memory bank to power up and become operational. The anticipation may be based on accessing a predetermined location in another memory bank.Type: GrantFiled: March 16, 2004Date of Patent: January 16, 2007Assignee: Intel CorporationInventors: Nancy G. Woodbridge, Vasu J. Bibikar
-
Patent number: 7159074Abstract: When replacing a disk device that has passed over a warranty expiration date with a new disk device, data necessary to be stored thereafter among the data that is recorded in the device must be transferred to another disk device, to thereby require a time for processing. A storage system includes: a storage device having a plurality of disk drives that stores data; and a data storage managing device which is connected to the storage device and has a data storage managing module that manages the storage of the data in the storage device, in which the data storage managing module compares a retention date of the data to be stored with a warranty expiration date of the disk drive, selects a disk drive that stores the data as the result of the comparison, and stores the data in the selected disk drive.Type: GrantFiled: July 2, 2004Date of Patent: January 2, 2007Assignee: Hitachi, Ltd.Inventors: Kenichi Kihara, Toshihiko Fukuda, Masahide Sato
-
Patent number: 7133995Abstract: A memory controller may be implemented using dynamic page conflict prediction to control the closure of memory pages. A memory controller may include a page history register configured to store a value indicating the pattern of page conflicts encountered by a memory device. The memory controller may include a global conflict predictor for storing probabilities of page conflicts associated with values of the page history register. In response to receiving a memory access request, a control unit may be configured to determine whether the memory access request causes a page conflict. The memory controller may be configured to update the global conflict predictor based on this determination. If a page conflict is predicted, the memory controller may automatically close the targeted page (e.g., by initiating the memory access in auto-precharge mode) upon completion of the memory access requested by the memory access request.Type: GrantFiled: December 16, 2002Date of Patent: November 7, 2006Assignee: Advanced Micro Devices, Inc.Inventors: Roger Isaac, Benjamin T. Sander
-
Patent number: 7133973Abstract: An an address generator generates a read address. It is detected whether the generated read address is continuous to the read address previously generated. A cache unit control circuit controls the read data to be directly output to a requester of the read data without passing the read data through a cache RAM, if a cache miss occurs, and if it has been detected that the two addresses are continuous. As a result, the subsequent operations can executed even if the present operation has not been completed.Type: GrantFiled: January 31, 2003Date of Patent: November 7, 2006Assignee: Fujitsu LimitedInventors: Fumihiko Hayakawa, Hiroshi Okano
-
Patent number: 7127586Abstract: A processor capable of executing prefetching instructions containing hint fields is provided. The hint fields contain a first portion which enables the selection of a destination indicator for refill operations, and a second portion which identifies a destination.Type: GrantFiled: March 12, 2001Date of Patent: October 24, 2006Assignee: MIPS Technologies, Inc.Inventor: Todd C. Mowry
-
Patent number: 7120753Abstract: A system and method for dynamically altering a Virtual Memory Manager (VMM) Sequential-Access Read Ahead settings based upon current system memory conditions is provided. Normal VMM operations are performed using the Sequential-Access Read Ahead values set by the user. When low memory is detected, the system either turns off Sequential-Access Read Ahead operations or decreases the maximum page ahead (maxpgahead) value based upon whether the amount of free space is simply low or has reached a critically low level. The altered VMM Sequential-Access Read Ahead state remains in effect until enough free space is available so that normal VMM Sequential-Access Read Ahead operations can be performed (at which point the altered Sequential-Access Read Ahead values are reset to their original levels).Type: GrantFiled: April 20, 2004Date of Patent: October 10, 2006Assignee: International Business Machines CorporationInventors: Jos Manuel Accapadi, Andrew Dunshea, Li Li, Grover Herbert Neuman, Mysore Sathyanarayana Srinivas, David Alan Hepkin
-
Patent number: 7117309Abstract: Exemplary systems and methods analyze cache data to detect a sequential workload to facilitate pre-fetching effectiveness. An exemplary address analysis module for sequential workload detection generates one or more addresses related to a host address. If the cache memory contains data corresponding to one or more of the related addresses, a sequential workload may be occurring, and a read pre-fetch operation may be triggered. An indexing module may be used to map host and related addresses to corresponding indices in cache memory.Type: GrantFiled: April 14, 2003Date of Patent: October 3, 2006Assignee: Hewlett-Packard Development Company, L.P.Inventor: Brian S. Bearden
-
Patent number: 7099913Abstract: A system and method is disclosed that reduces the latency of directory updates in a directory based Distributed Shared Memory computer system by speculating the next directory state. The distributed multiprocessing computer system contains a number of processor nodes each connected to main memory. Each main memory may store data that is shared between the processor nodes. A Home processor node for a memory block includes the original data block and a coherence directory for the data block in its main memory. An Owner processor node includes a copy of the original data block in its associated main memory, the copy of the data block residing exclusively in the main memory of the Owner processor node. A Requestor processor node may encounter a read or write miss of the original data block and request the data block from the Home processor node.Type: GrantFiled: August 31, 2000Date of Patent: August 29, 2006Assignee: Hewlett-Packard Development Company, L.P.Inventors: Michael S. Bertone, Richard E. Kessler
-
Patent number: 7093077Abstract: A method and apparatus for issuing one or more next-line prefetch requests from a predicted memory address. The first issued next-line prefetch request corresponds to a cache line having a memory address contiguous with the predicted memory address. Any subsequent next-line prefetch request corresponds to a cache line having a memory address contiguous with a memory address associated with a preceding next-line prefetch request.Type: GrantFiled: June 5, 2002Date of Patent: August 15, 2006Assignee: Intel CorporationInventors: Robert N. Cooksey, Stephan J. Jourdan
-
Patent number: 7085912Abstract: Methods of operating a memory device comprised of a plurality of arrays of memory cells and peripheral devices for reading and writing information to the memory cells. One method comprises outputting an n-bit word in two ½n bit prefetch steps from a plurality of memory arrays in response to an address bit. Another method comprises prefetching a first portion of a word from a memory array, and prefetching a second portion of the word from the memory array, the first and second portions being determined by an address bit. Another method comprises reading a word from a memory array in at least two prefetch operations, wherein the order of the prefetch operations is controlled by an address bit.Type: GrantFiled: February 13, 2004Date of Patent: August 1, 2006Assignee: Micron Technology, Inc.Inventor: Jeffery W. Janzen
-
Patent number: 7058786Abstract: In a computer system having different memory address spaces, for example, user space and kernel space, a method and system is provided for communicating data. A data structure is defined in the kernel space to store data. The data structure is virtually mapped to an application in user space such that the application can access the data structure through virtual memory addresses. By directly accessing the data structure, data transfers between the address spaces using system calls and/or interrupts can be reduced.Type: GrantFiled: January 17, 2002Date of Patent: June 6, 2006Assignee: Hewlett-Packard Development CompanyInventor: Richard Oliveri
-
Patent number: 7039788Abstract: Methods and apparatus for splitting a single logical block into two or more physical blocks are disclosed. According to one aspect of the present invention, a method for associating a plurality of physical blocks of a non-volatile memory with a logical block that includes of logical block elements involves grouping the logical block elements into at least a first logical set and a second logical set. Data associated with the first logical set is provided to a first physical block, and data associated with the second logical set is provided to a second physical block.Type: GrantFiled: October 28, 2002Date of Patent: May 2, 2006Assignee: SanDisk CorporationInventors: Robert C. Chang, Bahman Qawami, Farshid Sabet-Sharghi
-
Patent number: 7039768Abstract: A set-associative I-cache that enables early cache hit prediction and correct way selection when the processor is executing instructions of multiple threads having similar EAs. Each way of the I-cache comprises an EA Directory (EA Dir), which includes a series of thread valid bits that are individually assigned to one of the multiple threads. Particular ones of the thread valid bits are set in each EA Dir to indicate when an instruction block the thread is cached within the particular way with which the EA Dir is associated. When a cache line request for a particular thread is received, a cache hit is predicted when the EA of the request matches the EA in the EA Dir and the cache line is selected from the way associated with the EA Dir who has the thread valid bit for that thread set. Early way selection is thus achieved since the way selection only requires a check of the thread valid bits.Type: GrantFiled: April 25, 2003Date of Patent: May 2, 2006Assignee: International Business Machines CorporationInventors: Gregory William Alexander, David Stephen Levitan, Balaram Sinharoy
-
Patent number: 7024537Abstract: A system may include a memory file and an execution core. The memory file may include an entry configured to store an addressing pattern and a tag. If an addressing pattern of a memory operation matches the addressing pattern stored in the entry, the memory file may be configured to link a data value identified by the tag to a speculative result of the memory operation. The addressing pattern of the memory operation includes an identifier of a logical register, and the memory file may be configured to predict whether the logical register is being specified as a general purpose register or a stack frame pointer register in order to determine whether the addressing pattern of the memory operation matches the addressing pattern stored in the entry. The execution core may be configured to access the speculative result when executing another operation that is dependent on the memory operation.Type: GrantFiled: January 21, 2003Date of Patent: April 4, 2006Assignee: Advanced Micro Devices, Inc.Inventors: James K. Pickett, Benjamin Thomas Sander, Kevin Michael Lepak
-
Patent number: 7020749Abstract: A signal processor including a processor having a cache memory and a process execution unit executing a process by use of information temporarily stored in the cache memory and an external memory provided external to the processor. In the signal processor, the process execution unit automatically returns to a start point of a loop-type data at an end of the loop-type data and sequentially reads out the loop-type data from the external memory to the cache memory.Type: GrantFiled: June 4, 2003Date of Patent: March 28, 2006Assignee: Kabushiki Kaisha ToshibaInventor: Tetsuhiko Azuma