Write-back Patents (Class 711/143)
  • Publication number: 20140181404
    Abstract: Systems and methods for coherency maintenance are presented. The systems and methods include utilization of multiple information state tracking approaches or protocols at different memory or storage levels. In one embodiment, a first coherency maintenance approach (e.g., similar to a MESI protocol, etc.) can be implemented at one storage level while a second coherency maintenance approach (e.g., similar to a MOESI protocol, etc.) can be implemented at another storage level. Information at a particular storage level or tier can be tracked by a set of local state indications and a set of essence state indications. The essence state indication can be tracked “externally” from a storage layer or tier directory (e.g., in a directory of another cache level, in a hub between cache levels, etc.). One storage level can control operations based upon the local state indications and another storage level can control operations based in least in part upon an essence state indication.
    Type: Application
    Filed: December 21, 2012
    Publication date: June 26, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: Anurag Chaudhary, Guillermo Juan Rozas
  • Publication number: 20140173221
    Abstract: The present disclosure provides techniques for cache management. A data block may be received from an IO interface. After receiving the data block, the occupancy level of a cache memory may be determined. The data block may be directed to a main memory if the occupancy level exceeds a threshold. The data block may be directed to a cache memory if the occupancy level is below a threshold.
    Type: Application
    Filed: December 14, 2012
    Publication date: June 19, 2014
    Inventors: Ahmad Samih, Ren Wang, Christian Maciocco, Sameh Gobriel, Tsung-Yuan Tai
  • Patent number: 8756378
    Abstract: A method for managing caches, including: broadcasting, by a first cache agent operatively connected to a first cache and using a first physical network, a first peer-to-peer (P2P) request for a memory address; issuing, by a second cache agent operatively connected to a second cache and using a second physical network, a first response to the first P2P request based on a type of the first P2P request and a state of a cacheline in the second cache corresponding to the memory address; issuing, by a third cache agent operatively connected to a third cache, a second response to the first P2P request; and upgrading, by the first cache agent and based on the first response and the second response, a state of a cacheline in the first cache corresponding to the memory address.
    Type: Grant
    Filed: February 17, 2011
    Date of Patent: June 17, 2014
    Assignee: Oracle International Corporation
    Inventor: Paul N. Loewenstein
  • Patent number: 8756377
    Abstract: An apparatus for storing data that is being processed is disclosed. The apparatus comprises: a cache associated with a processor and for storing a local copy of data items stored in a memory for use by the processor, monitoring circuitry associated with the cache for monitoring write transaction requests to the memory initiated by a further device, the further device being configured not to store data in the cache. The monitoring circuitry is responsive to detecting a write transaction request to write a data item, a local copy of which is stored in the cache, to block a write acknowledge signal transmitted from the memory to the further device indicating the write has completed and to invalidate the stored local copy in the cache and on completion of the invalidation to send the write acknowledge signal to the further device.
    Type: Grant
    Filed: February 2, 2010
    Date of Patent: June 17, 2014
    Assignee: ARM Limited
    Inventors: Simon John Craske, Antony John Penton, Loic Pierron, Andrew Christopher Rose
  • Publication number: 20140164715
    Abstract: Methods and structure within a storage controller for using region locks to efficiently divert an I/O request received from an attached host system to one of multiple processing stacks in the controller. A region lock module within the controller allows each processing stack to request a region lock for a range of block addresses of the storage devices. A divert-type lock request may be established to identify a range of block addresses for which I/O requests should be diverted to a particular one of the multiple processing stacks.
    Type: Application
    Filed: December 12, 2012
    Publication date: June 12, 2014
    Applicant: LSI Corporation
    Inventors: Adam Weiner, Robert L. Sheffield, JR., Naveen Krishnamurthy, Kapil Sundrani, Rajeev Srinivasa Murthy, Anand Narayanamurthy, Horia Cristian Simionescu, James A. Rizzo
  • Patent number: 8751750
    Abstract: A deleted cache determining part determines a cache data which is to be deleted from a data storing part in a case where a sum of a data amount of a data which is recorded to the data storing part and a data amount of a cache data which is stored to the data storing part and a data amount of a buffer data which is stored to the storing part is equal to or more than a predetermined threshold, and an accumulated data control part deletes the cache data which is determined by the deleted cache determining part from the data storing part.
    Type: Grant
    Filed: January 13, 2012
    Date of Patent: June 10, 2014
    Assignee: NEC Corporation
    Inventor: Toru Osuga
  • Publication number: 20140156948
    Abstract: Apparatuses and methods for a cache memory are described. In an example method, a transaction history associated with a cache block is referenced, and requested information is read from memory. Additional information is read from memory based on the transaction history, wherein the requested information and the additional information are read together from memory. The requested information is cached in a segment of a cache line of the cache block and the additional information in cached another segment of the cache line. In another example, the transaction history is also updated to reflect the caching of the requested information and the additional information. In another example, read masks associated with the cache tag are referenced for the transaction history, the read masks identifying segments of a cache line previously accessed.
    Type: Application
    Filed: December 3, 2012
    Publication date: June 5, 2014
    Applicant: MICRON TECHNOLOGY, INC.
    Inventors: David Roberts, J. Thomas Pawlowski
  • Patent number: 8745332
    Abstract: Provided a computer program product, system, and method for cache management of tracks in a first cache and a second cache for a storage. The first cache maintains modified and unmodified tracks in the storage subject to Input/Output (I/O) requests. Modified and unmodified tracks are demoted from the first cache. The modified and the unmodified tracks demoted from the first cache are promoted to the second cache. The unmodified tracks demoted from the second cache are discarded. The modified tracks in the second cache that are at proximate physical locations on the storage device are grouped and the grouped modified tracks are destaged from the second cache to the storage device.
    Type: Grant
    Filed: April 25, 2012
    Date of Patent: June 3, 2014
    Assignee: International Business Machines Corporation
    Inventors: Michael T. Benhase, Binny S. Gill, Lokesh M. Gupta, Matthew J. Kalos
  • Publication number: 20140143506
    Abstract: Systems, methods, and other embodiments associated with controlling when data blocks are cached at hosts from a shared storage are described. According to one embodiment, an apparatus includes a request logic configured to receive, from a first host of a plurality of hosts, a request to cache a data block at the first host. The data block is part of a plurality of data blocks that are stored in a network storage. The network storage is shared by the plurality of hosts. The apparatus also includes a lock logic configured to control access to the data block by issuing a lock for the data block identified by the request in response to determining that the data block is available. The lock provides exclusive access to the data block for the first host to permit the first host to cache the data block locally at the first host.
    Type: Application
    Filed: November 19, 2013
    Publication date: May 22, 2014
    Inventor: Abhijeet P. GOLE
  • Publication number: 20140143505
    Abstract: The described embodiments include a main memory and a cache memory (or “cache”) with a cache controller that includes a mode-setting mechanism. In some embodiments, the mode-setting mechanism is configured to dynamically determine an access pattern for the main memory. Based on the determined access pattern, the mode-setting mechanism configures at least one region of the main memory in a write-back mode and configures other regions of the main memory in a write-through mode.
    Type: Application
    Filed: January 7, 2013
    Publication date: May 22, 2014
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Jaewoong Sim, Mithuna S. Thottethodi, Gabriel H. Loh
  • Publication number: 20140143504
    Abstract: A management technique for input/output operations (JO) leverages a hypervisor's position as an intermediary between virtual machines (VMs) and storage devices servicing the VMs to facilitate improvements in overall I/O performance for the VMs. According to this new I/O management technique, the hypervisor sends write requests from VMs destined for storage devices to an I/O staging device that provides higher I/O performance than the storage devices, for caching in the I/O staging device in a write-back mode. Once the I/O staging device has received and acknowledged the write request, the hypervisor immediately provides an acknowledgement to the requesting VM. Later on and asynchronously with respect to the write requests from the VMs, the hypervisor reads the write data from the I/O staging device and sends it over to the storage devices for storage therein.
    Type: Application
    Filed: December 17, 2012
    Publication date: May 22, 2014
    Applicant: VMware, Inc.
    Inventor: Daniel James BEVERIDGE
  • Patent number: 8732409
    Abstract: A cache management policy is provided, comprising a method for writing back to a memory (104) a data element set (122) stored in a cache (110). The method reduces the time some items stay in the cache, and thereby improves the utilization of the cache for some applications, especially for video applications. The method comprises determining that each one of the multiple data elements has been updated through at least one write request; marking the data element set as a write-back candidate, in dependency on said determination; and writing the write-back candidate to the memory.
    Type: Grant
    Filed: November 16, 2009
    Date of Patent: May 20, 2014
    Assignee: Entropic Communications, Inc.
    Inventors: Pieter Van Der Wolf, Abraham Karel Riemens, Jan-Willem Van de Waerdt
  • Patent number: 8725954
    Abstract: A memory control apparatus, in a case of receiving from a processor, under a condition where the number of cache memories retaining a copy of data stored in a main storage device is one, a notification to the effect that data retained in the cache memory is purged, updates directory information on a directory cache without accessing the main storage device when the data is not modified by the processor, and the directory information on the directory cache and directory information on the main storage device is determined to be different and the directory information on the main storage device is determined to be in a state indicating that the copy of the data is not retained by any processor in the state of coherence.
    Type: Grant
    Filed: May 5, 2011
    Date of Patent: May 13, 2014
    Assignee: Fujitsu Limited
    Inventors: Koichi Maeda, Hiroyuki Wada
  • Patent number: 8719506
    Abstract: In an embodiment, a memory port controller (MPC) is coupled to a memory port and receives transactions from processors and a coherency port (ACP) used by one or more peripheral devices that may be cache coherent. The transactions include various quality of service (QoS) parameters. If a high priority QoS transaction is received on the ACP, the MPC may push previous (lower priority) transactions until the high priority transaction may be completed. The MPC may maintain a count of outstanding high priority QoS transactions. The L2 interface controller and ACP controller may push increment and decrement events based on processing the high priority QoS transactions, and the MPC may push the memory transactions when the count is non-zero. In an embodiment, the MPC may continue pushing transactions until the L2 interface controller informs the MPC that the earlier transactions have been completed.
    Type: Grant
    Filed: November 21, 2011
    Date of Patent: May 6, 2014
    Assignee: Apple Inc.
    Inventor: Jason M. Kassoff
  • Patent number: 8700861
    Abstract: A method is used in managing cache pages. A location pointer is maintained in a dynamic list of entries for cache page cleaning. The dynamic list includes a list of cache pages ordered from most recently used to least recently used. Based on flags associated with the cache pages, a count of the number of cache pages processed for cache page cleaning is maintained. In response to a change in the dynamic list, the location pointer and count are updated based on the processing status of an entry to which the change pertains.
    Type: Grant
    Filed: March 28, 2012
    Date of Patent: April 15, 2014
    Assignee: EMC Corporation
    Inventors: Dean D. Throop, Jason Taylor
  • Patent number: 8694736
    Abstract: A method and apparatus for preserving memory ordering in a cache coherent link based interconnect in light of partial and non-coherent memory accesses is herein described. In one embodiment, partial memory accesses, such as a partial read, is implemented utilizing a Read Invalidate and/or Snoop Invalidate message. When a peer node receives a Snoop Invalidate message referencing data from a requesting node, the peer node is to invalidate a cache line associated with the data and is not to directly forward the data to the requesting node. In one embodiment, when the peer node holds the referenced cache line in a Modified coherency state, in response to receiving the Snoop Invalidate message, the peer node is to writeback the data to a home node associated with the data.
    Type: Grant
    Filed: August 21, 2012
    Date of Patent: April 8, 2014
    Assignee: Intel Corporation
    Inventors: Robert H. Beers, Ching-Tsun Chou, Robert J. Safranek, James Vash
  • Publication number: 20140095803
    Abstract: A host configured to interact with a storage device comprises a write-back (WB) cache configured to write data to the storage device, a cache managing module configured to manage the WB cache, and a file system module configured to determine whether live blocks in victim segments among a plurality of segments stored in the storage device are stored in the WB cache, to read the live blocks from the storage device as a consequence of determining that the live blocks are not stored in the WB cache, to load the read live blocks to the WB cache, and to request the cache managing module to set dirty flags for the stored live blocks.
    Type: Application
    Filed: September 27, 2013
    Publication date: April 3, 2014
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: JAE-GEUK KIM, CHANG-MAN LEE, CHUL LEE, JOO-YOUNG HWANG
  • Patent number: 8683142
    Abstract: A memory apparatus having a cache memory including cache segments, and memorizing validity data indicative of whether or not each of the sectors contained in each cache segment is a valid sector inclusive of valid data; and a cache controlling component for controlling access to the cache memory. The cache controlling component includes a detecting component for detecting, when writing a cache segment back to the main memory, areas having consecutive invalid sectors by accessing validity data corresponding to the cache segment, and a write-back controlling component issuing a read command to the main memory, the read command being for reading data into each area detected, making the area a valid sector, and writing the data in the cache segment back to the main memory.
    Type: Grant
    Filed: August 21, 2012
    Date of Patent: March 25, 2014
    Assignee: International Business Machines Corporation
    Inventors: Nobuyuki Harada, Takeo Nakada, Nobuyuki Ohba
  • Patent number: 8671251
    Abstract: An information processing apparatus that is capable of preventing the overwriting of an incoming packet without disconnecting the network connection. The information processing apparatus receives incoming information via a network, stores it into a storage area, and executes a response process thereto. A response processing unit executes the response process to the incoming information. A first change unit switches so that the incoming information is stored into a second storage area after the incoming information, which is a factor to shift to a power mode from a power saving mode, is stored into a first storage area. A second change unit switches so that the incoming information is stored into the first storage area after the response processing unit executes the response process to the incoming information stored in the first storage area.
    Type: Grant
    Filed: January 4, 2012
    Date of Patent: March 11, 2014
    Assignee: Canon Kabushiki Kaisha
    Inventor: Hidenori Higashi
  • Publication number: 20140068199
    Abstract: A processor includes a first transmitting unit that transmits, when receiving from a second processor a transmission request indicating transmission of target data which is read from a main storage unit and stored in the first processor, a transfer instruction to the first processor, the transfer instruction indicating transfer of the target data and state information to the second processor, the state information indicating a state of the target data used when the second processor reads and stores the target data. The processor includes a second transmitting unit that transmits acquisition information indicating acquisition of the target data to the second processor before receiving a response to the transfer instruction transmitted by the first transmitting unit from the first processor.
    Type: Application
    Filed: June 21, 2013
    Publication date: March 6, 2014
    Inventors: Go SUGIZAKI, Naoya ISHIMURA
  • Publication number: 20140068194
    Abstract: A processor is includes cache memory; an arithmetic processing section that a load request loading an object data stored at a memory to the cache memory; a cache control part patent a process corresponding to the received load request; a memory management part which requests the object data corresponding to the request from the cache control part and header information containing information indicating whether or not the object data is a latest for the memory, and receives the header information responded by the memory; and a data management part that manages a write control of the data to the cache memory, and receives the object data responded by the memory based on the request. The requested data is transmitted from the memory to the data management part held by a CPU node without being intervened by the memory management part.
    Type: Application
    Filed: June 28, 2013
    Publication date: March 6, 2014
    Inventors: DAISUKE KARASHIMA, Toru Hikichi, NAOYA ISHIMURA
  • Patent number: 8667368
    Abstract: A page buffer for a NAND memory array has a data register and a cache register that are suitably organized and operated to eliminate gaps and discontinuities in the output data during a continuous page read. The cache register may be organized in two portions, and the page data in the cache may be output from the cache portions in alternation. ECC delay may be eliminated from the output by performing the ECC computation on one cache portion while the other is being output. The data register may also be organized in two portions corresponding to the cache portions, so that data may be transferred to one cache portion while the other is being output. In a variation, the continuous page read may be done without ECC.
    Type: Grant
    Filed: May 4, 2012
    Date of Patent: March 4, 2014
    Assignee: Winbond Electronics Corporation
    Inventors: Anil Gupta, Oron Michael, Robin John Jigour
  • Publication number: 20140059298
    Abstract: In one embodiment, a method performed by one or more computing devices includes receiving at a host cache, a first request to prepare a volume of the host cache for creating a snapshot of a cached logical unit number (LUN), the request indicating that a snapshot of the cached LUN will be taken, preparing, in response to the first request, the volume of the host cache for creating the snapshot of the cached LUN depending on a mode of the host cache, receiving, at the host cache, a second request to create the snapshot of the cached LUN, and in response to the second request, creating, at the host cache, the snapshot of the cached LUN.
    Type: Application
    Filed: August 24, 2012
    Publication date: February 27, 2014
    Applicant: DELL PRODUCTS L.P.
    Inventors: Marc David Olin, Michael James Klemm
  • Patent number: 8661198
    Abstract: A cache device interposed between a processor and a memory device, including: a cache memory storing data from the memory device; a buffer holding output data output from the processor; a control circuit determining, on the basis of a request to access the memory device, whether a cache hit has occurred or not and, if a cache miss has occurred, storing the output data in the buffer in response to the access request, outputting a read request for reading the data in a line containing data requested by the access request from the memory device, storing data output from the line of the memory device into the cache memory, and storing the output data from the buffer into the cache memory.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: February 25, 2014
    Assignee: Fujitsu Semiconductor Limited
    Inventor: Gen Tsukishiro
  • Publication number: 20140052931
    Abstract: A method for controlling a memory scrubbing rate based on content of the status bit of a tag array of a cache memory. More specifically, the tag array of a cache memory is scrubbed at smaller interval than the scrubbing rate of the storage arrays of the cache. This increased scrubbing rate is in appreciation for the importance of maintaining integrity of tag data. Based on the content of the status bit of the tag array which indicates modified, the corresponding data entry in the cache storage array is scrubbed accordingly. If the modified bit is set, then the entry in the storage array is scrubbed after processing the tag entry. If the modified bit is not set, then the storage array is scrubbed at a predetermined scrubbing interval.
    Type: Application
    Filed: August 17, 2012
    Publication date: February 20, 2014
    Inventors: Ravindraraj Ramaraju, William C. Moyer, Andrew C. Russell
  • Patent number: 8656112
    Abstract: A dual-mode prefetch system for implementing checkpoint tag prefetching includes: a data array for storing data fetched from cache memory; a set of cache tags identifying the data stored in the data array; a checkpoint tag array storing data identification information; and a cache controller with prefetch logic.
    Type: Grant
    Filed: September 11, 2012
    Date of Patent: February 18, 2014
    Assignee: International Business Machines Corporation
    Inventors: Harold Wade Cain, III, Jong-Deok Choi
  • Patent number: 8645627
    Abstract: A data processing system includes a multi-level cache hierarchy including a lowest level cache, a processor core coupled to the multi-level cache hierarchy, and a memory controller coupled to the lowest level cache and to a memory bus of a system memory. The memory controller includes a physical read queue that buffers data read from the system memory via the memory bus and a physical write queue that buffers data to be written to the system memory via the memory bus. The memory controller grants priority to write operations over read operations on the memory bus based upon a number of dirty cachelines in the lowest level cache memory.
    Type: Grant
    Filed: April 16, 2012
    Date of Patent: February 4, 2014
    Assignee: International Business Machines Corporation
    Inventors: David M. Daly, Benjiman L. Goodman, Hillery C. Hunter, William J. Starke, Jeffrey A. Stuecheli
  • Patent number: 8645796
    Abstract: Dynamic pipeline cache error correction includes receiving a request to perform an operation that requires a storage cache slot, the storage cache slot residing in a cache. The dynamic pipeline cache error correction also includes accessing the storage cache slot, determining a cache hit for the storage cache slot, identifying and correcting any correctable soft errors associated with the storage cache slot. The dynamic cache error correction further includes updating the cache with results of corrected data.
    Type: Grant
    Filed: June 24, 2010
    Date of Patent: February 4, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ekaterina M. Ambroladze, Michael Fee, Edward T. Gerchman, Arthur J. O'Neill, Jr.
  • Patent number: 8645404
    Abstract: A split data word including a portion of each of two word-aligned data words stored at two word-aligned address boundaries within a memory is read from a displaced-read memory address relative to the word-aligned address boundaries within the memory. The portions of each of the two word-aligned data words within the split data word are compared with corresponding portions of a word-aligned search pattern. A determination is made that a potential complete match for the word-aligned search pattern exists within at least one of the two word-aligned data words based upon an identified match of at least one of the portions of the two word-aligned data words within the split data word with a corresponding at least one portion of the word-aligned search pattern.
    Type: Grant
    Filed: October 21, 2011
    Date of Patent: February 4, 2014
    Assignee: International Business Machines Corporation
    Inventors: K. S. Sadananda Aithal, Ajay K. Sami
  • Publication number: 20140032856
    Abstract: A method for maintaining the coherency of a store coalescing cache and a load cache is disclosed. As a part of the method, responsive to a write-back of an entry from a level one store coalescing cache to a level two cache, the entry is written into the level two cache and into the level one load cache. The writing of the entry into the level two cache and into the level one load cache is executed at the speed of access of the level two cache.
    Type: Application
    Filed: July 30, 2012
    Publication date: January 30, 2014
    Applicant: SOFT MACHINES, INC.
    Inventors: Karthikeyan Avudaiyappan, Mohammad Abdallah
  • Patent number: 8639888
    Abstract: A system includes a cache and a processor. The processor is configured to utilize a first thread to continually determine a desired scan time for scanning the plurality of storage tracks in the cache and utilize a second thread to continually control an actual scan time of the plurality of storage tracks in the cache based on the continually determined desired scan time. One method includes utilizing a first thread to continually determine a desired scan time for scanning the plurality of storage tracks in the cache and utilizing a second thread to continually control an actual scan time of the plurality of storage tracks in the cache based on the continually determined desired scan time.
    Type: Grant
    Filed: December 10, 2010
    Date of Patent: January 28, 2014
    Assignee: International Business Machines Corporation
    Inventors: Brent C. Beardsley, Michael T. Benhase, Lokesh M. Gupta, Sonny E. Williams
  • Publication number: 20140019677
    Abstract: Storing data in persistent hybrid memory includes promoting a memory block from non-volatile memory to a cache based on a usage of said memory block according to a promotion policy, tracking modifications to the memory block while in the cache, and writing the memory block back into the non-volatile memory after the memory block is modified in the cache based on a writing policy that keeps a number of the memory blocks that are modified at or below a number threshold while maintaining the memory block in the cache.
    Type: Application
    Filed: July 16, 2012
    Publication date: January 16, 2014
    Inventors: Jichuan Chang, Parthasarathy Ranganathan
  • Publication number: 20130339626
    Abstract: According to an embodiment, a computer system for cache management includes a processor and a cache, the computer system configured to perform a method including receiving a first store request for a first address in the cache and receiving a first fetch request for the first address in the cache. The method also includes executing the first store request and the first fetch request, latching the first store request in a store write-back pipeline in the cache, detecting, in the processor, a conflict following execution of the first store request and the first fetch request and receiving the first store request from a recycle path including the store write-back pipeline and executing the first store request a second time.
    Type: Application
    Filed: June 13, 2012
    Publication date: December 19, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Khary J. Alexander, David A. Webber, Patrick M. West, JR.
  • Patent number: 8612692
    Abstract: According to one embodiment, an information processing device includes a first determination section and a setting section. The first determination section determines inconsistency between first data and second data. The first data is stored in a nonvolatile semiconductor memory. The second data is corresponding to the first data and stored in a semiconductor memory. The setting section sets execution timing of write back based on access frequency information associated with the second data.
    Type: Grant
    Filed: March 21, 2011
    Date of Patent: December 17, 2013
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Kenta Yasufuku, Masaki Miyagawa, Goh Uemura, Tsutomu Owa, Tsutomu Unesaki, Atsushi Kunimatsu
  • Publication number: 20130326155
    Abstract: A system and method of optimized user coherence for a cache block with sparse dirty lines is disclosed wherein valid and dirty bits of each set are logically AND'ed together and the result for multiple sets are logically OR'ed together resulting in an indication whether a particular block has any dirty lines. If the result indicates that a block does not have dirty lines, then that entire block can be skipped from being written back without affecting coherency.
    Type: Application
    Filed: May 30, 2012
    Publication date: December 5, 2013
    Applicant: Texas Instruments Incorporated
    Inventor: Abhijeet Ashok Chachad
  • Patent number: 8601214
    Abstract: The techniques introduced here provide for a write-back sparse volume cache in a storage system. The write-back sparse volume cache is implemented by a first storage server that is connected to communicate with a second storage server that hosts the origin storage volume. The first storage server receives a write request from a client to write data to the origin storage volume. In response to receiving the write request, the first storage server writes the data to the sparse volume cache maintained by the first storage server and acknowledges to the client a successful write operation. The data is maintained in the sparse volume cache such that the presence of the data in the sparse volume cache is transparent to the client and subsequent requests for the written data are serviced by the first storage server from the sparse volume cache. The data can later be flushed to the origin storage volume.
    Type: Grant
    Filed: January 6, 2011
    Date of Patent: December 3, 2013
    Assignee: NetApp, Inc.
    Inventors: Mardiros Z. Chakalian, Aswini S. Kumar, Darrell Suggs
  • Patent number: 8595433
    Abstract: A system includes a cache partitioned into multiple ranks configured to store multiple storage tracks and a processor coupled to the cache. The processor is configured to perform the following method. One method includes allocating an amount of storage space in the cache to each rank and monitoring a current amount of storage space used by each rank with respect to the amount of storage space allocated to each respective rank. The method further includes destaging storage tracks from each rank until the current amount of storage space used by each respective rank is equal to a predetermined minimum amount of storage space with respect to the amount of storage space allocated to each rank.
    Type: Grant
    Filed: June 11, 2012
    Date of Patent: November 26, 2013
    Assignee: International Business Machines Corporation
    Inventors: Brent C. Beardsley, Michael T. Benhase, Binny S. Gill, Lokesh M. Gupta, Sonny E. Williams
  • Patent number: 8589623
    Abstract: A system includes a cache and a processor. The processor is configured to utilize a first thread to continually determine a desired scan time for scanning the plurality of storage tracks in the cache and utilize a second thread to continually control an actual scan time of the plurality of storage tracks in the cache based on the continually determined desired scan time. One method includes utilizing a first thread to continually determine a desired scan time for scanning the plurality of storage tracks in the cache and utilizing a second thread to continually control an actual scan time of the plurality of storage tracks in the cache based on the continually determined desired scan time.
    Type: Grant
    Filed: June 11, 2012
    Date of Patent: November 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Brent C. Beardsley, Michael T. Benhase, Lokesh M. Gupta, Sonny E. Williams
  • Patent number: 8589624
    Abstract: A system includes a write cache configured to store a plurality of storage tracks and configured to be coupled to one or more hosts, and a processor coupled to the write cache. The processor includes code that, when executed by the processor, causes the processor to perform the method below. One method includes monitoring the write cache for write operations from the host(s) and determining if the host(s) is/are idle based on monitoring the write cache for write operations from the host(s). The storage tracks are destaged from the write cache if the host(s) is/are idle and are not destaged from the write cache if one or more of the hosts is/are not idle.
    Type: Grant
    Filed: June 11, 2012
    Date of Patent: November 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Brent C. Beardsley, Michael T. Benhase, Binny S. Gill, Lokesh M. Gupta, Sonny E. Williams
  • Patent number: 8589631
    Abstract: Interconnect circuitry configured to provide routes for interconnecting several initiator devices and at least one recipient device including a memory. At least one of the initiator devices has a cache for storing a local copy of a subset of data items stored in the memory. The interconnect circuitry includes: a plurality of input ports and at least one output port; a plurality of paths for transmitting the transaction requests between the inputs and the at least one output; coherency control circuitry for maintaining an order in which at least some of the transaction requests to a same data storage location proceed through the interconnect circuitry. The interconnect circuitry is configured not to control the writeback transaction requests with the coherency control circuitry, such that the writeback transaction requests proceed independently of transaction requests routed through the coherency control circuitry.
    Type: Grant
    Filed: September 12, 2011
    Date of Patent: November 19, 2013
    Assignee: ARM Limited
    Inventors: Christopher William Laycock, Antony John Harris, Bruce James Mathewson, Stuart David Biles
  • Patent number: 8578104
    Abstract: A multiprocessor system has a background memory and a plurality of processing elements, each comprising a processor core and a cache circuit. The processor cores execute programs of instructions and the cache circuits cache background memory data accessed by the programs. A write back monitor circuit is used to buffer write addresses used for writing data by at least part of the processor cores. The programs contain commands to read the buffered write back addresses from the write back monitor circuit and commands from the programs to invalidate cached data for the write back addresses read by the commands to read the buffered write back addresses. Thus cache management is performed partly by hardware and partly by the program that uses the cache. The processing core may be a VLIW core, in which case instruction slots that are not used by the program can be made useful to include instructions for cache management.
    Type: Grant
    Filed: June 9, 2009
    Date of Patent: November 5, 2013
    Assignee: NXP, B.V.
    Inventors: Jan Hoogerbrugge, Andrei Sergeevich Terechko
  • Patent number: 8578097
    Abstract: A scatter/gather technique optimizes unstructured streaming memory accesses, providing off-chip bandwidth efficiency by accessing only useful data at a fine granularity, and off-loading memory access overhead by supporting address calculation, data shuffling, and format conversion.
    Type: Grant
    Filed: October 24, 2011
    Date of Patent: November 5, 2013
    Assignee: Intel Corporation
    Inventors: Daehyun Kim, Christopher J. Hughes, Yen-Kuang Chen, Partha Kundu
  • Patent number: 8578100
    Abstract: A disk drive is disclosed comprising a head actuated over a disk, a volatile semiconductor memory (VSM), and a command queue. A plurality of write commands received from a host are stored in the command queue, and write data for the write commands is stored in the VSM. A flush time needed to flush the write data from the VSM to the disk is computed, and the write data is flushed from the VSM to a non-volatile memory (NVM) in response to the flush time.
    Type: Grant
    Filed: November 8, 2010
    Date of Patent: November 5, 2013
    Assignee: Western Digital Technologies, Inc.
    Inventors: Sang Huynh, Ayberk Ozturk
  • Patent number: 8566535
    Abstract: A system includes a cache and a processor coupled to the cache. The cache stores data in multiple storage tracks and each storage track includes an associated multi-bit counter. The processor is configured to perform the following method. One method includes writing data to the plurality of storage tracks and incrementing the multi-bit counter on each respective storage track a predetermined amount each time the processor writes to a respective storage track. The method further includes scan each of the storage tracks in each of multiple scan cycles, decrementing each multi-bit counter each scan cycle, and destaging each storage track including a zero count.
    Type: Grant
    Filed: June 11, 2012
    Date of Patent: October 22, 2013
    Assignee: International Business Machines Corporation
    Inventors: Brent C. Beardsley, Michael T. Benhase, Lokesh M. Gupta, Sonny E. Williams
  • Publication number: 20130268728
    Abstract: A system and method are described for integrating a memory and storage hierarchy including a non-volatile memory tier within a computer system. In one embodiment, PCMS memory devices are used as one tier in the hierarchy, sometimes referred to as “far memory.” Higher performance memory devices such as DRAM placed in front of the far memory and are used to mask some of the performance limitations of the far memory. These higher performance memory devices are referred to as “near memory.” In one embodiment, the “near memory” is configured to operate in a plurality of different modes of operation including (but not limited to) a first mode in which the near memory operates as a memory cache for the far memory and a second mode in which the near memory is allocated a first address range of a system address space with the far memory being allocated a second address range of the system address space, wherein the first range and second range represent the entire system address space.
    Type: Application
    Filed: September 30, 2011
    Publication date: October 10, 2013
    Inventors: Raj K. Ramanujan, Rajat Agarwal, Glenn J. Hinton
  • Publication number: 20130262781
    Abstract: Methods and apparatus relating to optimized ring protocols and techniques are described. In one embodiment, a first agent generates a request to write to a cache line of a cache over a first ring of a computing platform. A second agent that receives the write request forwards it to a third agent over the first ring of the computing platform. In turn, a third agent (e.g., a home agent) receives data corresponding to the write request over a second, different ring of the computing platform and writes the data to the cache. Other embodiments are also disclosed.
    Type: Application
    Filed: May 23, 2013
    Publication date: October 3, 2013
    Inventors: MEENAKSHISUNDARAM R. CHINTHAMANI, R. GURU PRASADH, HARI K. NAGPAL, PHANINDRA K. MANNAVA
  • Publication number: 20130254493
    Abstract: A cache memory includes a write-back determination unit and a burst length determination unit. The write-back determination unit determines whether a block is a write-back block based on an n-bit dirty value of the block. The burst length determination unit determines a burst length of write-back data included in the write-back block based on the n-bit dirty value and an minimum burst length, when the block is the write-back block.
    Type: Application
    Filed: May 14, 2013
    Publication date: September 26, 2013
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Kil Whan Lee, Young Jin Chung
  • Patent number: 8543766
    Abstract: A state indicator associated with a cache line is stored, wherein the cache line is one of a plurality of cache lines each associated with a corresponding unique section of a region of system memory. The state indicator comprises a dirty indication indicating that the cache line is a candidate for writing data stored in the cache line to the associated section of the region of system memory. The state indicator is one of a plurality of state indicators each associated with a corresponding cache line. For the region of system memory, a number of the plurality of state indicators that comprises the dirty indication is determined, and if a threshold is exceeded, data stored in a selected cache line is written to the associated section of the region of system memory, and a clean indication is stored in the state indicator corresponding to the cache line.
    Type: Grant
    Filed: June 10, 2011
    Date of Patent: September 24, 2013
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Brian C. Grayson, Wichaya T. Changwatchai
  • Publication number: 20130246690
    Abstract: In an information processing system, a processor requests a first transfer control circuit to transfer data to a first memory. In response to the request from the processor, the first transfer control circuit sends the data to a second transfer control circuit. The second transfer control circuit stores in a second memory the data received from the first transfer control circuit, and also stores the data in the first memory through the first transfer control circuit.
    Type: Application
    Filed: February 26, 2013
    Publication date: September 19, 2013
    Applicant: FUJITSU LIMITED
    Inventor: Terumasa HANEDA
  • Patent number: 8539159
    Abstract: Methods and apparatuses are disclosed for managing memory write back. In some embodiments, the method may include examining current and future instructions operating on a stack that exists in memory, determining stack trend information from the instructions, and utilizing the trend information to reduce data traffic between various levels of the memory. As stacked data are written to a cache line in a first level of memory, if future instructions indicate that additional cache lines are required for subsequent write operations within the stack, then the cache line may be written back to a second level of memory. If however, the future instructions indicate that no additional cache lines are required for subsequent write operations within the stack, then the first level of memory may avoid writing back the cache line and also may keep it marked as dirty.
    Type: Grant
    Filed: July 31, 2003
    Date of Patent: September 17, 2013
    Assignee: Texas Instruments Incorporated
    Inventors: Gerard Chauvel, Serge Lasserre, Dominique D'Inverno