Cache Flushing Patents (Class 711/135)
  • Publication number: 20150012693
    Abstract: For read based temporal locality compression by a processor device in a computing environment, read operations are monitored, traced, and/or analyzed to identify repetitions of read patterns of compressed data. The compressed data is rearranged based on the repetitions of read order of the compressed data that are in a read order.
    Type: Application
    Filed: July 2, 2013
    Publication date: January 8, 2015
    Inventors: Jonathan AMIT, Chaim KOIFMAN, Amir LIDOR, Sergey MARENKOV
  • Patent number: 8930619
    Abstract: A method for destaging write data from a storage controller to storage devices is provided. The method includes determining that a cache element should be transferred from a write cache of the storage controller to the storage devices, calculating that a dirty watermark is above a dirty watermark maximum value, identifying a first cache element to destage from the write cache to the storage devices, transferring a first data container including the first cache element to the storage devices, and incrementing an active destage count. The method also includes repeating determining, calculating, identifying, transferring, and incrementing if the active destage count is less than an active destage count maximum value. The active destage count is a current number of write requests issued to a virtual disk that have not yet been completed, and the virtual disk is a RAID group comprising one or more specific storage devices.
    Type: Grant
    Filed: August 21, 2014
    Date of Patent: January 6, 2015
    Assignee: Dot Hill Systems Corporation
    Inventors: Michael David Barrell, Zachary David Traut
  • Patent number: 8930615
    Abstract: A controller includes an identification information management table that manages identification information indicating, for each of addresses in second-management unit, whether one or more data in first management unit belonging to the addresses is stored in the second or the third storing area. When the controller executes a process of flushing data from the first storing area to the second storing area or the third storing area, the controller updates the identification information in the identification information management table. The controller executes a process of reading data from the second storing area or the third storing area by referring to the identification information. As a result, the speed of searches conducted in the management table is increased.
    Type: Grant
    Filed: March 25, 2013
    Date of Patent: January 6, 2015
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Junji Yano, Kosuke Hatsuda, Hidenori Matsuzaki
  • Publication number: 20150006823
    Abstract: A method and system for virtual cache memory extension in a data storage device are disclosed herein. The storage device may include a memory that serves as a cache to a primary memory. The method for the storage device may include maintaining mapping information of one or more logical block addresses associated with data stored in the cache memory and maintaining mapping information of one or more logical block addresses associated with data not stored in the cache memory. Data stored in the cache memory may be selected for eviction when the available capacity of the cache memory changes, e.g., due to storing resume data in a hibernate operation. Data selected for eviction may be transferred to the primary memory but still tracked as being part of a virtual extended cache, and thus can be quickly restored into the cache memory when the resume data is no longer needed.
    Type: Application
    Filed: June 26, 2013
    Publication date: January 1, 2015
    Inventor: Steven C. Smith, JR.
  • Publication number: 20150006783
    Abstract: A processor with coherency-leveraged support for low latency message signaled interrupt handling includes multiple execution cores and their associated cache memories. A first cache memory associated a first of the execution cores includes a plurality of cache lines. The first cache memory has a cache controller including hardware logic, microcode, or both to identify a first cache line as an interrupt reserved cache line and map the first cache line to a host physical memory address translated from a guest physical memory address in the address space of a virtual machine to which an I/O device has been assigned. The controller may set a coherency state of the first cache line to shared and, in response to detecting an I/O transaction including I/O data from the I/O device and containing a reference to the host physical memory address, emulate a first message signaled interrupt identifying the host physical memory address.
    Type: Application
    Filed: June 28, 2013
    Publication date: January 1, 2015
    Inventor: Yen Hsiang CHEW
  • Patent number: 8924652
    Abstract: Embodiments provide a method comprising receiving, at a cache associated with a central processing unit that is disposed on an integrated circuit, a request to perform a cache operation on the cache; in response to receiving and processing the request, determining that first data cached in a first cache line of the cache is to be written to a memory that is coupled to the integrated circuit; identifying a second cache line in the cache, the second cache line being complimentary to the first cache line; transmitting a single memory instruction from the cache to the memory to write to the memory (i) the first data from the first cache line and (ii) second data from the second cache line; and invalidating the first data in the first cache line, without invalidating the second data in the second cache line.
    Type: Grant
    Filed: April 4, 2012
    Date of Patent: December 30, 2014
    Assignee: Marvell Israel (M.I.S.L.) Ltd.
    Inventors: Adi Habusha, Eitan Joshua, Shaul Chapman
  • Publication number: 20140379992
    Abstract: Exemplary embodiments of the present invention disclose a method and system for selecting an eviction location of an item to evict and an insertion location for a new item in a circular buffer. In a step, an exemplary embodiment specifies an insertion location with an insertion pointer. In another step, an exemplary embodiment increments an access count of a first item. In another step, an exemplary embodiment moves an eviction pointer clockwise when specifying an insertion location for the new item and the circular buffer is in eviction mode. In another step, an exemplary embodiment decrements an access count of a second item. In another step, an exemplary embodiment moves the insertion pointer to maintain a constant clockwise distance to the eviction location. In another step, an exemplary embodiment evicts the second item with an access count of zero and inserts the new item counterclockwise to the insertion location.
    Type: Application
    Filed: June 25, 2013
    Publication date: December 25, 2014
    Inventor: Swapan Dey
  • Publication number: 20140379993
    Abstract: Methods and systems may provide for receiving, at a graphics processor, a workload from a host processor and using a kernel on the graphics processor to issue a thread group for execution of the workload on the graphics processor. Additionally, one or more coherency messages may be initiated, by the graphics processor, in response to a thread-related condition of one or more caches on the graphics processor. In one example, the thread-related condition is associated with the execution of the workload on the graphics processor and indicates that the one or more caches on the graphics processor are not coherent with a system memory associated with the host processor.
    Type: Application
    Filed: June 25, 2013
    Publication date: December 25, 2014
    Inventors: Niraj Gupta, Hong Jiang
  • Publication number: 20140379990
    Abstract: A technique for cache node processing that includes generating a cache node in response to a request to write data to storage devices. If logical block address (LBA) of the generated cache node is adjacent to LBA of cache nodes of a cache node list, then check if there are cache nodes that are sequential up to a predefined boundary. If there are cache nodes that are sequential up to the predefined boundary, then flush the data of the sequential cache nodes together as a group up to the predefined boundary.
    Type: Application
    Filed: June 21, 2013
    Publication date: December 25, 2014
    Inventor: Weimin Pan
  • Publication number: 20140379994
    Abstract: A local-memory side data transfer unit increments the number of addresses, reads out data from a local memory, and stores the data into a cache memory of a remote-memory side data transfer unit. For preventing data mismatching with the local memory from being stored into the cache memory, a cache clearing operation is executed in units of an elapse of a round trip time period for data transfer between the local memory and the remote memory. Alternatively, the cache clearing operation is executed upon receipt of a signal notifying data transfer of data stored at a specified address.
    Type: Application
    Filed: September 5, 2014
    Publication date: December 25, 2014
    Applicant: NEC CORPORATION
    Inventors: Takashi YOSHIKAWA, Jun Suzuki, Youichi Hidaka, Junichi Higuchi, Atsushi Iwata
  • Publication number: 20140379991
    Abstract: A data manager may include a data opaque interface configured to provide, to an arbitrarily selected page-oriented access method, interface access to page data storage that includes latch-free access to the page data storage. In another aspect, a swap operation may be initiated, of a portion of a first page in cache layer storage to a location in secondary storage, based on initiating a prepending of a partial swap delta record to a page state associated with the first page, the partial swap delta record including a main memory address indicating a storage location of a flush delta record that indicates a location in secondary storage of a missing part of the first page. In another aspect, a page manager may initiate a flush operation of a first page in cache layer storage to a location in secondary storage, based on atomic operations with flush delta records.
    Type: Application
    Filed: June 22, 2013
    Publication date: December 25, 2014
    Inventors: David B. Lomet, Justin Levandoski, Sudipta Sengupta
  • Publication number: 20140372707
    Abstract: Embodiments are disclosed for replacing one or more pages of a memory to level wear on the memory. In one embodiment, a system includes a page fault handling function and a memory address mapping function. Upon receipt of a page fault, the page fault handling function maps an evicted virtual memory address to a stressed page and maps a stressed virtual memory address to a free page using the memory address mapping function.
    Type: Application
    Filed: December 29, 2012
    Publication date: December 18, 2014
    Inventors: Trung Diep, Eric Linstadt
  • Publication number: 20140372708
    Abstract: Embodiments of the present invention provide a method, system and computer program product for dynamic caching module selection for optimized data deduplication. In an embodiment of the invention, a method for dynamic caching module selection for optimized data deduplication is provided. The method includes processing historically relevant byte streams in each of a multiplicity of byte caching modules to populate a table of associations between different classifications of the historically relevant byte streams and correspondingly optimal ones of the multiplicity of the byte caching modules. The method also includes receiving a request to retrieve data from a data source and classifying the request. The method yet further includes consulting the table to identify, from amongst the multiplicity of byte caching modules, a particular byte caching module associated with the classification of the request. Finally, the method includes deduplicating the data in the identified byte caching module.
    Type: Application
    Filed: September 4, 2014
    Publication date: December 18, 2014
    Inventors: Robert D. Callaway, Ioannis Papapanagiotou
  • Publication number: 20140372706
    Abstract: A system and method provide a unified cache in a Small Computer System Interface (SCSI) device which can be dynamically allocated to one or more Logical Units (LUs). A cache balancer module of the SCSI device can allocate the entire unified cache to a single LU, or divide the unified cache among multiple LUs. The cache entries for each LU can be further classified based on Quality of Service (QoS) traffic classes within each LU thereby improving the QoS performance. The system provides a cache allocation table that maintains a unified cache allocation status for each LU.
    Type: Application
    Filed: May 12, 2014
    Publication date: December 18, 2014
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventor: Imtiaz Ahmed Nawab Ali
  • Publication number: 20140372705
    Abstract: A technique for scheduling cache cleaning operations maintains a clean distance between a set of least-recently-used (LRU) clean lines and the LRU dirty (modified) line for each congruence class in the cache. The technique is generally employed at a victim cache at the highest-order level of the cache memory hierarchy, so that write-backs to system memory are scheduled to avoid having to generate a write-back in response to a cache miss in the next lower-order level of the cache memory hierarchy. The clean distance can be determined by counting all of the LRU clean lines in each congruence class that have a reference count that is less than or equal to the reference count of the LRU dirty line.
    Type: Application
    Filed: September 23, 2013
    Publication date: December 18, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Benjiman L. Goodman, Jody B. Joyner, Stephen J. Powell, Aaron C. Sawdey, Jeffrey A. Stuecheli
  • Publication number: 20140372704
    Abstract: A technique for scheduling cache cleaning operations maintains a clean distance between a set of least-recently-used (LRU) clean lines and the LRU dirty (modified) line for each congruence class in the cache. The technique is generally employed at a victim cache at the highest-order level of the cache memory hierarchy, so that write-backs to system memory are scheduled to avoid having to generate a write-back in response to a cache miss in the next lower-order level of the cache memory hierarchy. The clean distance can be determined by counting all of the LRU clean lines in each congruence class that have a reference count that is less than or equal to the reference count of the LRU dirty line.
    Type: Application
    Filed: June 18, 2013
    Publication date: December 18, 2014
    Inventors: Benjiman L. Goodman, Jody B. Joyner, Stephen J. Powell, Aaron C. Sawdey, Jeffrey A. Stuecheli
  • Publication number: 20140365718
    Abstract: Information on strides configured in the second cache includes information indicating a number of valid tracks in the strides, wherein a stride has at least one of valid tracks and free tracks not including valid data. A determination is made of tracks to demote from the first cache. A first stride is formed including the determined tracks to demote. The tracks from the first stride are added to a second stride in the second cache that has no valid tracks. A target stride in the second cache is selected based on a stride most recently used to consolidate strides from at least two strides into one stride. Data from the valid tracks is copied from at least two source strides in the second cache to the target stride.
    Type: Application
    Filed: August 21, 2014
    Publication date: December 11, 2014
    Inventors: Michael T. Benhase, Lokesh M. Gupta
  • Publication number: 20140359227
    Abstract: A computer system, comprising: a server; and a storage system, the server including an operating system, the storage system including a storage control part, wherein the operating system is configured to: transmit a read request for first data to the storage system in a case of receiving the read request for the first data not stored in a server cache from an application; store the first data received from the storage system into the server cache, and wherein the storage control part is configured to: read the first data from the storage cache, transmit the read first data to the server, and invalidate the first data stored in the storage cache.
    Type: Application
    Filed: May 27, 2014
    Publication date: December 4, 2014
    Applicant: HITACHI, LTD.
    Inventors: Yuusuke FUKUMURA, Ken SUGIMOTO, Nobukazu KONDO
  • Publication number: 20140359226
    Abstract: A technique for allocating a write cache allowed data size of a write cache from a plurality of write caches to each of a plurality of storage volumes, calculating a write cache utilization of the write cache for each of the respective storage volumes, wherein the write cache utilization is based on a write cache dirty data size of the write cache allocated to the respective storage volume divided by the write cache allowed data size of the write cache allocated to the respective storage volume, and adjusting the write cache allowed data size of the write cache allocated to storage volumes based on the write cache utilaztion of the write cache of the storage volumes.
    Type: Application
    Filed: May 30, 2013
    Publication date: December 4, 2014
    Inventor: Weimin Pan
  • Patent number: 8904090
    Abstract: A flash memory and a method of writing data to a flash memory during garbage collection of the flash memory is provided. First, a garbage collection process on a victim block of flash memory may be initiated. A garbage collection process may comprise a plurality of garbage collection operation. A program command and corresponding program data may be received. After a first garbage collection operation has finished and a portion of flash data from the victim block has been written to a free block, a portion of the program data may be written to that free block. If data remains in the victim block, a second garbage collection operation may be performed.
    Type: Grant
    Filed: November 4, 2011
    Date of Patent: December 2, 2014
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Sung Hoon Baek, Won Moon Cheon
  • Patent number: 8898392
    Abstract: The invention discloses a data storage system and managing method thereof. The data storage system according to the invention includes N storage devices, a backup memory and a controller where N is a natural number. Each storage device has a respective write cache. Once the data storage system suffers from power failure, the backup memory still reserves data stored therein. The controller receives data transmitted from an application I/O request unit, executes a predetermined operation for the received data to generate data to be written, transmits the data to be written to the write caches of the storage devices, duplicates the data to be written into the backup memory, and labels the duplicated data in the backup memory as being valid in response to a writing confirm message sent from the storage devices.
    Type: Grant
    Filed: February 17, 2012
    Date of Patent: November 25, 2014
    Assignee: Promise Technology, Inc.
    Inventors: Hung-Ming Chien, Che-Jen Wang, Yi-Hua Peng
  • Patent number: 8886716
    Abstract: Example apparatus, methods, and computers support cloud-based de-duplication with transport layer transparency. One example apparatus includes a processor, a memory, and an interface to connect the processor, memory, and a set of logics. The set of logics includes a hardware identification logic for identifying networking hardware used by or available to the apparatus to interact with a cloud-based computing environment and a protocol identification logic for identifying a protocol used by or available to the apparatus to communicate messages for the cloud-based computing environment through the networking hardware. The set of logics also includes a de-duplication preparation logic for preparing a message to carry data to be de-duplicated and metadata concerning the data to be de-duplicated. The message is to be provided to the cloud-based computing environment through the networking hardware according to the protocol.
    Type: Grant
    Filed: January 16, 2012
    Date of Patent: November 11, 2014
    Inventor: Jeffrey Vincent Tofano
  • Patent number: 8886880
    Abstract: A method for destaging data from a memory of a storage controller to a striped volume is provided. The method includes determining if a stripe should be destaged from a write cache of the storage controller to the striped volume, destaging a partial stripe if a full stripe write percentage is less than a full stripe write affinity value, and destaging a full stripe if the full stripe write percentage is greater than the full stripe write affinity value. The full stripe write percentage includes a full stripe count divided by the sum of the full stripe count and a partial stripe count. The full stripe count is the number of stripes in the write cache where all chunks of a stripe are dirty. The partial stripe count is the number of stripes where at least one chunk but less than all chunks of the stripe are dirty.
    Type: Grant
    Filed: May 29, 2012
    Date of Patent: November 11, 2014
    Assignee: Dot Hill Systems Corporation
    Inventors: Michael David Barrell, Zachary David Traut
  • Patent number: 8880652
    Abstract: A method and computer readable medium are disclosed for predictive caching of web pages for display through a screen of a mobile computing device. A load request is received at a mobile computing device, where the load request includes a current timestamp and an address. The address points to a remote server storing a current copy of the address content. The mobile computing device determines whether there is an existing copy of the address content is pre-cached on the mobile computing device. The mobile computing device determines whether a difference between the current timestamp and a pre-cache timestamp is greater than a heuristic timeliness value. If it is, the mobile computing device pre-caches the current copy of the address content from the remove server at the address on the mobile computing device. The mobile computing device then provides the current copy of the address content for display on its screen.
    Type: Grant
    Filed: September 14, 2011
    Date of Patent: November 4, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Yin Zin Mark Lam
  • Publication number: 20140325159
    Abstract: Methods and systems for improved control of traffic generated by a processor are described. In an embodiment, when a device generates a pre-fetch request for a piece of data or an instruction from a memory hierarchy, the device includes a pre-fetch identifier in the request. This identifier flags the request as a pre-fetch request rather than a non-pre-fetch request, such as a time-critical request. Based on this identifier, the memory hierarchy can then issue an abort response at times of high traffic which suppresses the pre-fetch traffic, as the pre-fetch traffic is not fulfilled by the memory hierarchy. On receipt of an abort response, the device deletes at least a part of any record of the pre-fetch request and if the data/instruction is later required, a new request is issued at a higher priority than the original pre-fetch request.
    Type: Application
    Filed: January 13, 2014
    Publication date: October 30, 2014
    Applicant: IMAGINATION TECHNOLOGIES, LTD.
    Inventor: Jason MEREDITH
  • Patent number: 8874826
    Abstract: Provided are a method and apparatus for programming a buffer cache in a Solid State Disk (SSD) system. The buffer cache programming apparatus in the SSD system may include a buffer cache unit to store pages, a memory unit including a plurality of memory chips, and a control unit to select at least one of the page as a victim page, based on a delay occurring when a page is stored in at least one target memory chip among the plurality of memory chips.
    Type: Grant
    Filed: November 30, 2009
    Date of Patent: October 28, 2014
    Assignee: OCZ Storage Solutions, Inc.
    Inventors: Jin-Ho Seol, Seung-Ryoul Maeng, Jin-Soo Kim, Jae-Geuk Kim, Hyo-Taek Shim, Han-Mook Park
  • Patent number: 8874535
    Abstract: A technique for improving the performance of RCU-based searches and updates to a shared data element group where readers must see consistent data with respect to the group as a whole. An updater creates one or more new group data elements and assigns each element a new generation number that is different than a global generation number associated with the data element group, allowing readers to track update versions. The updater links the new data elements into the data element group and then updates the global generation number so that referential integrity is maintained. This is done using a generation number element that is referenced by a header pointer for the data element group, and which in turn references or forms part of one of the data elements. After a grace period has elapsed, the any prior version of the generation number element may be freed.
    Type: Grant
    Filed: October 16, 2012
    Date of Patent: October 28, 2014
    Assignee: International Business Machines Corporation
    Inventor: Paul E. McKenney
  • Patent number: 8868842
    Abstract: A WC resource usage is compared with an auto flush (AU) threshold Caf that is smaller than an upper limit Clmt, and when the WC resource usage exceeds the AF threshold Caf, the organizing state of a NAND memory 10 is checked. When the organizing of the NAND memory 10 has proceeded sufficiently, data is flushed from a write cache (WC) 21 to the NAND memory 10 early, so that the response to the subsequent write command is improved.
    Type: Grant
    Filed: December 28, 2009
    Date of Patent: October 21, 2014
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Hirokuni Yano, Ryoichi Kato, Toshikatsu Hida
  • Publication number: 20140310468
    Abstract: Techniques are described for a multi-processor having two or more processors that increases the opportunity for a load-exclusive command to take a cache line in an Exclusive state, which results in increased performance when a store-exclusive is executed. A new bus operation read prefer exclusive is used as a hint to other caches that a requesting master is likely to store to the cache line, and, if possible, the other cache should give the line up. In most cases, this will result in the other master giving the line up and the requesting master taking the line Exclusive. In most cases, two or more processors are not performing a semaphore management sequence to the same address at the same time. Thus, a requesting master's load-exclusive is able to take a cache line in the Exclusive state an increased number of times.
    Type: Application
    Filed: July 2, 2013
    Publication date: October 16, 2014
    Inventors: Thomas Philip Speier, Eric F. Robinson, Jaya Prakash Subramaniam Ganasan, Thomas Andrew Sartorius, James Norris Dieffenderfer
  • Publication number: 20140304478
    Abstract: Disclosed herein are methods and structures for a computer cache that includes its own garbage collection component that reclaims space occupied by free objects in the cache such that the cache avoids retaining deleted objects thereby increasing cache hit ratios and further permits short-lived dirty objects to be deleted without requiring them to be written back to an underlying store.
    Type: Application
    Filed: April 7, 2014
    Publication date: October 9, 2014
    Applicant: NEC Laboratories America, Inc.
    Inventors: Cristian Ungureanu, Stephen Rago, Akshat Aranya
  • Publication number: 20140304475
    Abstract: A system and method are described for flushing a specified region of a memory side cache (MSC) within a multi-level memory hierarchy. For example, a computer system according to one embodiment comprises: a memory subsystem comprised of a non-volatile system memory and a volatile memory side cache (MSC) for caching portions of the non-volatile system memory; and a flush engine for flushing a specified region of the MSC to the non-volatile system memory in response to a deactivation condition associated with the specified region of the MSC.
    Type: Application
    Filed: December 20, 2011
    Publication date: October 9, 2014
    Inventors: Raj K Ramanujan, Glenn J Hinton, David J Zimmerman
  • Publication number: 20140297963
    Abstract: When an invalidation request is inputted from another processing device, a cache controller registers a set of an invalidation request address which the invalidation request has and an identifier of the other processing device which outputted the invalidation request in an invalidation history table. When a central processing unit attempts to read data at a first address not stored in a cache memory, if the first address is registered in the invalidation history table, the cache controller outputs a coherent read request containing the first address to the other processing device indicated by the identifier of the other processing device which outputted the invalidation request corresponding to the first address, or if the first address is not registered in the invalidation history table, the cache controller outputs a coherent read request containing the first address to all other processing devices.
    Type: Application
    Filed: February 17, 2014
    Publication date: October 2, 2014
    Applicant: FUJITSU LIMITED
    Inventors: Takatoshi FUKUDA, Kenjiro MORI, Shuji TAKADA
  • Publication number: 20140297962
    Abstract: Instructions and logic provide advanced paging capabilities for secure enclave page caches. Embodiments include multiple hardware threads or processing cores, a cache to store secure data for a shared page address allocated to a secure enclave accessible by the hardware threads. A decode stage decodes a first instruction specifying said shared page address as an operand, and execution units mark an entry corresponding to an enclave page cache mapping for the shared page address to block creation of a new translation for either of said first or second hardware threads to access the shared page. A second instruction is decoded for execution, the second instruction specifying said secure enclave as an operand, and execution units record hardware threads currently accessing secure data in the enclave page cache corresponding to the secure enclave, and decrement the recorded number of hardware threads when any of the hardware threads exits the secure enclave.
    Type: Application
    Filed: March 31, 2013
    Publication date: October 2, 2014
    Inventors: CARLOS V ROZAS, ILYA ALEXANDROVICH, ITTAI ANATI, ALEX BERENZON, MICHAEL A GOLDSMITH, BARRY E HUNTLEY, ANTON IVANOV, SIMON P JOHNSON, REBEKAH M. LESLIE-HURD, FRANCIS X. MCKEEN, GILBERT NEIGER, RINAT RAPPOPORT, SCOTT DION RODGERS, UDAY R. SAVAGAONKAR, VINCENT R. SCARLATA, VEDVYAS SHANBHOGUE, WESLEY H SMITH, WILLIAM COLIN WOOD
  • Publication number: 20140281261
    Abstract: A system, processor and method to reduce the overall detectable unrecoverable FIT rate of a cache by reducing the residency time of dirty lines in a cache. This is accomplished through selectively choosing different replacement policies during execution based on the DUE FIT target of the system. System performance and power is minimally affected while effectively reducing the DUE FIT rate.
    Type: Application
    Filed: March 16, 2013
    Publication date: September 18, 2014
    Applicant: Intel Corporation
    Inventors: Xavier Vera, Javier Carretero Casado, Enric Herrero Abellanas, Daniel Sanchez, Nicholas Axelos, Tanausu Ramirez
  • Publication number: 20140281263
    Abstract: One embodiment of the present invention is a parallel processing unit (PPU) that includes one or more streaming multiprocessors (SMs) and implements a replay unit per SM. Upon detecting a page fault associated with a memory transaction issued by a particular SM, the corresponding replay unit causes the SM, but not any unaffected SMs, to cease issuing new memory transactions. The replay unit then stores the faulting memory transaction and any faulting in-flight memory transaction in a replay buffer. As page faults are resolved, the replay unit replays the memory transactions in the replay buffer—removing successful memory transactions from the replay buffer—until all of the stored memory transactions have successfully executed. Advantageously, the overall performance of the PPU is improved compared to conventional PPUs that, upon detecting a page fault, stop performing memory transactions across all SMs included in the PPU until the fault is resolved.
    Type: Application
    Filed: December 17, 2013
    Publication date: September 18, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: James Leroy DEMING, Jerome F. DULUK, Jr., John MASHEY, Mark HAIRGROVE, Lucien DUNNING, Jonathon Stuart Ramsay EVANS, Samuel H. DUNCAN, Cameron BUSCHARDT, Brian FAHS
  • Publication number: 20140281110
    Abstract: Techniques are disclosed for tracking memory page accesses in a unified virtual memory system. An access tracking unit detects a memory page access generated by a first processor for accessing a memory page in a memory system of a second processor. The access tracking unit determines whether a cache memory includes an entry for the memory page. If so, then the access tracking unit increments an associated access counter. Otherwise, the access tracking unit attempts to find an unused entry in the cache memory that is available for allocation. If so, then the access tracking unit associates the second entry with the memory page, and sets an access counter associated with the second entry to an initial value. Otherwise, the access tracking unit selects a valid entry in the cache memory; clears an associated valid bit; associates the entry with the memory page; and initializes an associated access counter.
    Type: Application
    Filed: December 9, 2013
    Publication date: September 18, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: Jerome F. DULUK, Jr., Cameron BUSCHARDT, James Leroy DEMING, Brian FAHS, Mark HAIRGROVE, John MASHEY
  • Publication number: 20140281262
    Abstract: Embodiments of the invention provide a method, system and computer program product for dynamic caching module selection for optimized data deduplication. In an embodiment of the invention, a method for dynamic caching module selection for optimized data deduplication is provided. The method includes receiving a request to retrieve data and classifying the request. The method also includes identifying from amongst multiple different caching modules each with a different configuration a particular caching module associated with the classification of the request. Finally, the method includes deduplicating the data in the identified caching module.
    Type: Application
    Filed: October 22, 2013
    Publication date: September 18, 2014
    Applicant: Inernational Business Machines Corporation
    Inventors: Robert D. Callaway, Ioannis Papapanagiotou
  • Publication number: 20140281257
    Abstract: A mechanism is provided for caching backed-up data locally until successful replication of the backed-up data. Responsive to an indication to back up one or more pieces of identified data from a local storage device, a determination is made as to whether a primary storage device is available. Responsive to the primary storage device being available, the one or more pieces of identified data are backed up to the primary storage device and a local replication cache. Responsive to the backed-up data being replicated from the primary storage device to a secondary storage device, the backed-up data is removed from the local replication cache.
    Type: Application
    Filed: March 13, 2013
    Publication date: September 18, 2014
    Applicant: International Business Machines Corporation
    Inventors: Avishai H. Hochberg, Kevin P. Hoyt, Howard N. Martin
  • Publication number: 20140281260
    Abstract: Techniques are disclosed relating to determining statistics associated with the storage of data on a medium. In one embodiment, a computing system maintains a management statistic for a storage device, and uses the management statistic as a proxy for a workload statistic for a storage block within the storage device. In some embodiments, the storage block is a first storage block included within a second storage block of the storage device. In one embodiment, the management statistic is a timestamp indicative of when a write operation was performed for the second storage block; the workload statistic is a write frequency of the first storage block. In one embodiment, the management statistic is a number of read operations performed for the second storage block; the using includes deriving, based on the number of read operation, a read frequency for the first storage block as the workload statistic.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: FUSION-IO, INC.
    Inventors: James G. Peterson, Swaminathan Sundararaman
  • Publication number: 20140281240
    Abstract: A processor in described having an interface to non volatile random access memory and logic circuitry. The logic circuitry is to identify cache lines modified by a transaction which views the volatile random access memory as the transaction's persistence storage. The logic circuitry is also to identify cache lines modified by a software process other than a transaction that also views said non volatile random access memory as persistence storage.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 18, 2014
    Inventor: Thomas WILLHALM
  • Publication number: 20140281258
    Abstract: Embodiments of the invention provide a method, system and computer program product for dynamic caching module selection for optimized data deduplication. In an embodiment of the invention, a method for dynamic caching module selection for optimized data deduplication is provided. The method includes receiving a request to retrieve data and classifying the request. The method also includes identifying from amongst multiple different caching modules each with a different configuration a particular caching module associated with the classification of the request. Finally, the method includes deduplicating the data in the identified caching module.
    Type: Application
    Filed: March 13, 2013
    Publication date: September 18, 2014
    Applicant: International Business Machines Corporation
    Inventors: Robert D. Callaway, Ioannis Papapanagiotou
  • Publication number: 20140281259
    Abstract: Presented systems and methods can facilitate efficient information storage and tracking operations, including translation look aside buffer operations. In one embodiment, the systems and methods effectively allow the caching of invalid entries (with the attendant benefits e.g., regarding power, resource usage, stalls, etc), while maintaining the illusion that the TLBs do not in fact cache invalid entries (e.g., act in compliance with architectural rules). In one exemplary implementation, an “unreal” TLB entry effectively serves as a hint that the linear address in question currently has no valid mapping. In one exemplary implementation, speculative operations that hit an unreal entry are discarded; architectural operations that hit an unreal entry discard the entry and perform a normal page walk, either obtaining a valid entry, or raising an architectural fault.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: Alexander Klaiber, William Rozas
  • Publication number: 20140281264
    Abstract: Embodiments of the approaches disclosed herein include a subsystem that includes an access tracking mechanism configured to monitor access operations directed to a first memory and a second memory. The access tracking mechanism detects an access operation generated by a processor for accessing a first memory page residing on the second memory. The access tracking mechanism further determines that the first memory page is included in a first subset of memory pages residing on the second memory. The access tracking mechanism further locates, within a reference vector, a reference bit that corresponds to the first memory page, and sets the reference bit. One advantage of the present invention is that memory pages in a hybrid system migrate as needed to increase overall memory performance.
    Type: Application
    Filed: December 18, 2013
    Publication date: September 18, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: Jerome F. DULUK, JR., Cameron BUSCHARDT, James Leroy DEMING, Brian FAHS
  • Patent number: 8838906
    Abstract: In a multiprocessor system with at least two levels of cache, a speculative thread may run on a core processor in parallel with other threads. When the thread seeks to do a write to main memory, this access is to be written through the first level cache to the second level cache. After the write though, the corresponding line is deleted from the first level cache and/or prefetch unit, so that any further accesses to the same location in main memory have to be retrieved from the second level cache. The second level cache keeps track of multiple versions of data, where more than one speculative thread is running in parallel, while the first level cache does not have any of the versions during speculation. A switch allows choosing between modes of operation of a speculation blind first level cache.
    Type: Grant
    Filed: January 4, 2011
    Date of Patent: September 16, 2014
    Assignee: International Business Machines Corporation
    Inventors: Alan Gara, Martin Ohmacht
  • Patent number: 8838901
    Abstract: A data processing system includes a processor core and a cache memory hierarchy coupled to the processor core. The cache memory hierarchy includes at least one upper level cache and a lowest level cache. A memory controller is coupled to the lowest level cache and to a system memory and includes a physical write queue from which the memory controller writes data to the system memory. The memory controller initiates accesses to the lowest level cache to place into the physical write queue selected cachelines having spatial locality with data present in the physical write queue.
    Type: Grant
    Filed: May 7, 2010
    Date of Patent: September 16, 2014
    Assignee: International Business Machines Corporation
    Inventors: David M. Daly, Benjiman L. Goodman, Hillery C. Hunter, William J. Starke, Jeffrey A. Stuecheli
  • Patent number: 8838905
    Abstract: A storage controller that includes a cache, receives a command from a host, wherein a set of criteria corresponding to read response times for executing the command have to be satisfied. A destage application that destages tracks based at least on recency of usage and spatial location of the tracks is executed, wherein a spatial ordering of the tracks is maintained in a data structure, and the destage application traverses the spatial ordering of the tracks. Tracks are destaged from at least inside or outside diameters of disks at periodic intervals, while traversing the spatial ordering of the tracks, wherein the set of criteria corresponding to the read response times for executing the command are satisfied.
    Type: Grant
    Filed: November 17, 2011
    Date of Patent: September 16, 2014
    Assignee: International Business Machines Corporation
    Inventors: Michael T. Benhase, Lokesh M. Gupta, Christopher J. Strauss, Will A. Wright
  • Publication number: 20140258637
    Abstract: Techniques are provided for performing a flush operation in a non-coherent cache. In response to determining to perform a flush operation, a cache unit flushes certain data items. The flush operation may be performed in response to a lapse of a particular amount of time, such as a number of cycles, or an explicit flush instruction that does not indicate any cache entry or data item. The cache unit may store change data that indicates which entry stores a data item that has been modified but not yet been flushed. The change data may be used to identify the entries that need to be flushed. In one technique, a dirty cache entry that is associated with one or more relatively recent changes is not flushed during a flush operation.
    Type: Application
    Filed: March 8, 2013
    Publication date: September 11, 2014
    Applicant: Oracle International Corporation
    Inventors: Sungpack Hong, Hassan Chafi, Eric Sedlar
  • Publication number: 20140258638
    Abstract: A method for providing efficient use of a read cache by a storage controller is provided. The method includes the storage controller receiving a read request from a host computer and determining if a host stream size is larger than a read cache size. The host stream size is a current cumulative size of all read requests in the host stream. If the host stream size is larger than the read cache size then migrating data to a first area of the read cache containing data that has been in the read cache for the longest time. If the host stream size is not larger than the read cache size then migrating data to a second area of the read cache containing data that has been in the read cache for the shortest time. The host stream is a consecutive group of sequential read requests from the host computer.
    Type: Application
    Filed: July 29, 2013
    Publication date: September 11, 2014
    Applicant: DOT HILL SYSTEMS CORPORATION
    Inventors: Zachary David Traut, Michael David Barrell
  • Patent number: 8832381
    Abstract: A processor is provided. The processor including a cache, the cache having a plurality of entries, each of the plurality of entries having a tag array and a data array, and a remapper configured to create at least one identifier, each identifier being unique to a process of the processor, and to assign a respective identifier to the tag array for the entries related to a respective process, the remapper further configured to determine a replacement value for the entries related to each identifier.
    Type: Grant
    Filed: February 21, 2011
    Date of Patent: September 9, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Douglas B. Hunt
  • Publication number: 20140244902
    Abstract: An apparatus having a cache and a circuit is disclosed. The cache includes a plurality of cache lines. The cache is configured to (i) store a plurality of data items in the cache lines and (ii) generate a map that indicates a dirty state or a clean state of each of the cache lines. The cache also has a write-back policy to a memory. The circuit is configured to (i) check a location in the map corresponding to a read address of a read request and (ii) obtain read data directly from the memory by bypassing the cache in response to the location having the clean state.
    Type: Application
    Filed: March 15, 2013
    Publication date: August 28, 2014
    Applicant: LSI CORPORATION
    Inventors: Horia Simionescu, Siddartha Kumar Panda, Kunal Sablok, Veera Kumar Reddy Oleti