Predicting, Look-ahead Patents (Class 711/204)
  • Patent number: 7454590
    Abstract: 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: Grant
    Filed: September 9, 2005
    Date of Patent: November 18, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Paul J. Jordan, Manish K. Shah, Gregory F. Grohoski
  • Publication number: 20080276066
    Abstract: 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: Application
    Filed: May 1, 2007
    Publication date: November 6, 2008
    Applicant: GiQuila Corporation
    Inventors: Keith Lee, Frido Garritsen
  • Patent number: 7444494
    Abstract: 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: Grant
    Filed: May 31, 2005
    Date of Patent: October 28, 2008
    Assignee: International Business Machines Corporation
    Inventors: Benjiman L. Goodman, Guy L. Guthrie, William J. Starke, Jeffrey A. Stuecheli, Derek E. Williams
  • Publication number: 20080263313
    Abstract: 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: Application
    Filed: July 9, 2008
    Publication date: October 23, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: David Alan Hepkin
  • Patent number: 7434005
    Abstract: 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: Grant
    Filed: June 14, 2005
    Date of Patent: October 7, 2008
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Seiji Maeda, Yusuke Shirota
  • Patent number: 7434004
    Abstract: 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: Grant
    Filed: June 17, 2004
    Date of Patent: October 7, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Lawrence A. Spracklen, Santosh G. Abraham, Stevan Vlaovic, Darryl J. Gove
  • Patent number: 7426625
    Abstract: 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: Grant
    Filed: March 31, 2004
    Date of Patent: September 16, 2008
    Assignee: International Business Machines Corporation
    Inventor: Van Hoa Lee
  • Patent number: 7421694
    Abstract: 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: Grant
    Filed: January 22, 2004
    Date of Patent: September 2, 2008
    Assignee: Microsoft Corporation
    Inventors: Anuj B. Gosalia, Steve Pronovost
  • Patent number: 7418572
    Abstract: 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: Grant
    Filed: August 18, 2004
    Date of Patent: August 26, 2008
    Assignee: International Business Machines Corporation
    Inventor: David Alan Hepkin
  • Publication number: 20080201552
    Abstract: 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: Application
    Filed: August 2, 2007
    Publication date: August 21, 2008
    Applicant: FUJI XEROX CO., LTD.
    Inventor: Katsuji Tokie
  • Patent number: 7409472
    Abstract: 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: Grant
    Filed: August 10, 2004
    Date of Patent: August 5, 2008
    Assignee: Fujitsu Limited
    Inventors: Sawao Iwatani, Sanae Kamakura
  • Patent number: 7406569
    Abstract: 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: Grant
    Filed: August 12, 2002
    Date of Patent: July 29, 2008
    Assignee: NXP B.V.
    Inventor: Jan-Willem van de Waerdt
  • Patent number: 7398377
    Abstract: 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: Grant
    Filed: November 1, 2004
    Date of Patent: July 8, 2008
    Assignee: IP-First, LLC
    Inventors: Thomas C. McDonald, Terry Parks
  • Patent number: 7389385
    Abstract: 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: Grant
    Filed: December 19, 2003
    Date of Patent: June 17, 2008
    Assignee: Intel Corporation
    Inventors: Mauricio J. Serrano, Sreenivas Subramoney, Richard L. Hudson, Ali-Reza Adl-Tabatabai
  • Patent number: 7386701
    Abstract: 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: Grant
    Filed: February 28, 2006
    Date of Patent: June 10, 2008
    Assignee: MIPS Technology, Inc.
    Inventor: Todd C. Mowry
  • Publication number: 20080133873
    Abstract: 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: Application
    Filed: January 17, 2008
    Publication date: June 5, 2008
    Inventors: Vaijayanthimala K. Anand, Sandra K. Johnson
  • Publication number: 20080133872
    Abstract: 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: Application
    Filed: February 6, 2008
    Publication date: June 5, 2008
    Applicant: NETWORK APPLIANCE, INC.
    Inventor: Robert L. Fair
  • Patent number: 7383415
    Abstract: 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: Grant
    Filed: September 9, 2005
    Date of Patent: June 3, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Paul J. Jordan, Manish K. Shah, Gregory F. Grohoski
  • Patent number: 7360058
    Abstract: 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: Grant
    Filed: February 9, 2005
    Date of Patent: April 15, 2008
    Assignee: International Business Machines Corporation
    Inventors: Rachel Marie Flood, Scott Bruce Frommer, David Allen Hrusecky, Sheldon B. Levenstein, Michael Thomas Vaden
  • Patent number: 7346755
    Abstract: 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: Grant
    Filed: September 16, 2003
    Date of Patent: March 18, 2008
    Assignee: Hewlett-Packard Development, L.P.
    Inventors: Ken Gary Pomaranski, Andy Harvey Barr, Dale John Shidla
  • Patent number: 7340584
    Abstract: 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: Grant
    Filed: April 20, 2006
    Date of Patent: March 4, 2008
    Assignee: Micron Technology, Inc.
    Inventor: Jeffery W. Janzen
  • Publication number: 20080046678
    Abstract: 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: Application
    Filed: April 25, 2007
    Publication date: February 21, 2008
    Applicant: Fujitsu Limited
    Inventor: Jin Takahashi
  • Patent number: 7334088
    Abstract: 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: Grant
    Filed: December 20, 2002
    Date of Patent: February 19, 2008
    Assignee: International Business Machines Corporation
    Inventor: Peter Franaszek
  • Patent number: 7328433
    Abstract: 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: Grant
    Filed: October 2, 2003
    Date of Patent: February 5, 2008
    Assignee: Intel Corporation
    Inventors: 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: 7318142
    Abstract: 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: Grant
    Filed: August 8, 2006
    Date of Patent: January 8, 2008
    Assignee: International Business Machines Corporation
    Inventors: Jos Manuel Accapadi, Andrew Dunshea, Li Li, Grover Herbert Neuman, Mysore Sathyanarayana Srinivas, David Alan Hepkin
  • Patent number: 7305526
    Abstract: 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: Grant
    Filed: November 5, 2004
    Date of Patent: December 4, 2007
    Assignee: International Business Machines Corporation
    Inventors: Michael Thomas Benhase, Robert Alan Cargnoni, James Stephen Fields, Jr., Michael John Mayfield, Bruce Mealey
  • Patent number: 7302527
    Abstract: 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: Grant
    Filed: November 12, 2004
    Date of Patent: November 27, 2007
    Assignee: International Business Machines Corporation
    Inventors: Brian David Barrick, Kimberly Marie Fernsler, Dwain A. Hicks, Takeki Osanai, David Scott Ray
  • Patent number: 7296140
    Abstract: 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: Grant
    Filed: January 12, 2006
    Date of Patent: November 13, 2007
    Assignee: Intel Corporation
    Inventors: Eric A. Sprangle, Anwar Q. Rohillah
  • Patent number: 7284112
    Abstract: 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: Grant
    Filed: January 14, 2005
    Date of Patent: October 16, 2007
    Assignee: International Business Machines Corporation
    Inventors: Jeffrey Powers Bradford, Jason Nathaniel Dale, Kimberly Marie Fernsler, Timothy Hume Heil, James Allen Rose
  • Patent number: 7240163
    Abstract: 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: Grant
    Filed: August 8, 2005
    Date of Patent: July 3, 2007
    Assignee: IP-First, LLC
    Inventors: Glenn Henry, Rodney Hooker
  • Patent number: 7238218
    Abstract: 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: Grant
    Filed: April 6, 2004
    Date of Patent: July 3, 2007
    Assignee: International Business Machines Corporation
    Inventors: David Frank Hepner, Andrew Moy, Andrew Dale Wall
  • Patent number: 7240161
    Abstract: 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: Grant
    Filed: July 31, 2003
    Date of Patent: July 3, 2007
    Assignee: Western Digital Technologies, Inc.
    Inventor: William B. Boyle
  • Patent number: 7222219
    Abstract: 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: Grant
    Filed: June 8, 2004
    Date of Patent: May 22, 2007
    Assignee: DENSO Corporation
    Inventor: Takayuki Matsuda
  • Patent number: 7181583
    Abstract: 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: Grant
    Filed: November 3, 2004
    Date of Patent: February 20, 2007
    Assignee: Hitachi, Ltd.
    Inventor: Nobuyuki Saika
  • Patent number: 7177985
    Abstract: 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: Grant
    Filed: May 30, 2003
    Date of Patent: February 13, 2007
    Assignee: MIPS Technologies, Inc.
    Inventor: Keith E. Diefendorff
  • Patent number: 7165165
    Abstract: 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: Grant
    Filed: March 16, 2004
    Date of Patent: January 16, 2007
    Assignee: Intel Corporation
    Inventors: Nancy G. Woodbridge, Vasu J. Bibikar
  • Patent number: 7159074
    Abstract: 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: Grant
    Filed: July 2, 2004
    Date of Patent: January 2, 2007
    Assignee: Hitachi, Ltd.
    Inventors: Kenichi Kihara, Toshihiko Fukuda, Masahide Sato
  • Patent number: 7133995
    Abstract: 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: Grant
    Filed: December 16, 2002
    Date of Patent: November 7, 2006
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Roger Isaac, Benjamin T. Sander
  • Patent number: 7133973
    Abstract: 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: Grant
    Filed: January 31, 2003
    Date of Patent: November 7, 2006
    Assignee: Fujitsu Limited
    Inventors: Fumihiko Hayakawa, Hiroshi Okano
  • Patent number: 7127586
    Abstract: 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: Grant
    Filed: March 12, 2001
    Date of Patent: October 24, 2006
    Assignee: MIPS Technologies, Inc.
    Inventor: Todd C. Mowry
  • Patent number: 7120753
    Abstract: 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: Grant
    Filed: April 20, 2004
    Date of Patent: October 10, 2006
    Assignee: International Business Machines Corporation
    Inventors: Jos Manuel Accapadi, Andrew Dunshea, Li Li, Grover Herbert Neuman, Mysore Sathyanarayana Srinivas, David Alan Hepkin
  • Patent number: 7117309
    Abstract: 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: Grant
    Filed: April 14, 2003
    Date of Patent: October 3, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Brian S. Bearden
  • Patent number: 7099913
    Abstract: 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: Grant
    Filed: August 31, 2000
    Date of Patent: August 29, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Michael S. Bertone, Richard E. Kessler
  • Patent number: 7093077
    Abstract: 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: Grant
    Filed: June 5, 2002
    Date of Patent: August 15, 2006
    Assignee: Intel Corporation
    Inventors: Robert N. Cooksey, Stephan J. Jourdan
  • Patent number: 7085912
    Abstract: 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: Grant
    Filed: February 13, 2004
    Date of Patent: August 1, 2006
    Assignee: Micron Technology, Inc.
    Inventor: Jeffery W. Janzen
  • Patent number: 7058786
    Abstract: 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: Grant
    Filed: January 17, 2002
    Date of Patent: June 6, 2006
    Assignee: Hewlett-Packard Development Company
    Inventor: Richard Oliveri
  • Patent number: 7039788
    Abstract: 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: Grant
    Filed: October 28, 2002
    Date of Patent: May 2, 2006
    Assignee: SanDisk Corporation
    Inventors: Robert C. Chang, Bahman Qawami, Farshid Sabet-Sharghi
  • Patent number: 7039768
    Abstract: 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: Grant
    Filed: April 25, 2003
    Date of Patent: May 2, 2006
    Assignee: International Business Machines Corporation
    Inventors: Gregory William Alexander, David Stephen Levitan, Balaram Sinharoy
  • Patent number: 7024537
    Abstract: 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: Grant
    Filed: January 21, 2003
    Date of Patent: April 4, 2006
    Assignee: Advanced Micro Devices, Inc.
    Inventors: James K. Pickett, Benjamin Thomas Sander, Kevin Michael Lepak
  • Patent number: 7020749
    Abstract: 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: Grant
    Filed: June 4, 2003
    Date of Patent: March 28, 2006
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Tetsuhiko Azuma