Cache Status Data Bit Patents (Class 711/144)
-
Patent number: 8924652Abstract: 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: GrantFiled: April 4, 2012Date of Patent: December 30, 2014Assignee: Marvell Israel (M.I.S.L.) Ltd.Inventors: Adi Habusha, Eitan Joshua, Shaul Chapman
-
Patent number: 8924817Abstract: The present invention provides a method and apparatus for selectively updating error correction code bits. One embodiment of the method includes determining a first subset of a plurality of error correction code bits formed from a plurality of data bits in response to changes in a first subset of the data bits. The first subset of the plurality of error correction code bits is less than all of the plurality of error correction code bits.Type: GrantFiled: September 29, 2010Date of Patent: December 30, 2014Assignee: Advanced Micro Devices, Inc.Inventor: Robert Krick
-
Patent number: 8918582Abstract: A virtual EEPROM driver is simulated for a virtual switch. A write function may be written to a shared memory device and designated as a virtual EEPROM driver. The virtual EEPROM driver may be duplicated into a non-volatile memory providing availability during a boot process.Type: GrantFiled: September 11, 2012Date of Patent: December 23, 2014Assignee: International Business Machines CorporationInventor: John I. Buswell
-
Publication number: 20140365734Abstract: Systems and methods for reliably using data storage media. Multiple processors are configured to access a persistent memory. For a given data block corresponding to a write access request from a first processor to the persistent memory, a cache controller prevents any read access of a copy of the given data block in an associated cache. The cache controller prevents any read access while detecting an acknowledgment that the given data block is stored in the persistent memory is not yet received. Until the acknowledgment is received, the cache controller allows write access of the copy of the given data block in the associated cache only for a thread in the first processor that originally sent the write access request. The cache controller invalidates any copy of the given data block in any cache levels below the associated cache.Type: ApplicationFiled: June 10, 2013Publication date: December 11, 2014Inventors: William H. Bridge, JR., Paul Loewenstein, Mark A. Luttrell
-
Publication number: 20140365735Abstract: A computing apparatus computes a performance value of a program which includes a specific code which is executed multiple times by the processor and an access instruction for instructing the processor to access a memory area. The computing apparatus includes: a determining unit that determines, whether or not a cache memory is available for use at a time of execution of the access instruction in a simulation of an operation in which the processor executes the program; a generating unit that generates, in a case where the first determining unit has determined that the cache memory is not available, a computational code for computing the performance value of the specific code for a case where the processor executes the specific code, based on performance values of individual instructions within the specific code for a case where the cache memory is not used, without depending on an attribute of the memory area.Type: ApplicationFiled: May 29, 2014Publication date: December 11, 2014Applicant: FUJITSU LIMITEDInventor: Shinya Kuwamura
-
Patent number: 8909872Abstract: A computer system is provided including a central processing unit having an internal cache, a memory controller is coupled to the central processing unit, and a closely coupled peripheral is coupled to the central processing unit. A coherent interconnection may exist between the internal cache and both the memory controller and the closely coupled peripheral, wherein the coherent interconnection is a bus.Type: GrantFiled: October 31, 2006Date of Patent: December 9, 2014Assignee: Hewlett-Packard Development Company, L. P.Inventors: Michael S. Schlansker, Boon Ang, Erwin Oertli
-
Patent number: 8904109Abstract: A data processor is disclosed that definitively determines an effective address being calculated and decoded will be associated with an address range that includes a memory local to a data processor unit, and will disable a cache access based upon a comparison between a portion of a base address and a corresponding portion of an effective address input operand. Access to the local memory can be accomplished through a first port of the local memory when it is definitively determined that the effective address will be associated with an address range. Access to the local memory cannot be accomplished through the first port of the local memory when it is not definitively determined that the effective address will be associated with the address range.Type: GrantFiled: January 28, 2011Date of Patent: December 2, 2014Assignee: Freescale Semiconductor, Inc.Inventor: William C. Moyer
-
Patent number: 8904117Abstract: Various systems and methods for performing write-back caching in a cluster. For example, one method can involve a first node detecting that no failover nodes are available. A determination is made whether the first node should use write-back caching or not. If the first node is to continue using write-back caching, a first local cache identifier and a global cache identifier are both updated.Type: GrantFiled: December 21, 2012Date of Patent: December 2, 2014Assignee: Symantec CorporationInventors: Santosh Kalekar, Niranjan S. Pendarkar, Vipul Jain, Shailesh Marathe, Anindya Banerjee, Rishikesh Bhagwandas Jethwani
-
Patent number: 8898388Abstract: In one embodiment, non-volatile random access memory (NVRAM) caching and logging delivers low latency acknowledgements of input/output (I/O) requests, such as write requests, while avoiding loss of data. Write data may be stored in a portion of an NVRAM configured as, e.g., a persistent write-back cache, while parameters of the request may be stored in another portion of the NVRAM configured as one or more logs, e.g., NVLogs. The write data may be organized into separate variable length blocks or extents and “written back” out-of-order from the write back cache to storage devices, such as solid state drives (SSDs). The write data may be preserved in the write-back cache until each extent is safely and successfully stored on SSD (i.e., in the event of power loss), or operations associated with the write request are sufficiently logged on NVLog.Type: GrantFiled: January 23, 2014Date of Patent: November 25, 2014Assignee: NetApp, Inc.Inventor: Jeffrey S. Kimmel
-
Patent number: 8898430Abstract: A data processing apparatus having a memory configured to store tables having virtual to physical address translations, a cache configured to store a subset of the virtual to physical address translations and cache management circuitry configured to control transactions received from the processor requesting virtual address to physical address translations. The data processing apparatus identifies where a faulting transaction has occurred during execution of a context and whether the faulting transaction has a transaction stall or transaction terminate fault. The cache management circuitry is responsive to identification of the faulting transaction having a transaction terminate fault to invalidate all address translations in the cache that relate to the context of the faulting transaction such that a valid bit associated with each entry in the cache is set to invalid for the address translations.Type: GrantFiled: December 5, 2012Date of Patent: November 25, 2014Assignee: ARM LimitedInventors: Viswanath Chakrala, Timothy Nicholas Hay, Stuart David Biles
-
Patent number: 8898395Abstract: Methods and systems for maintaining cache consistency are described. A group of instructions is executed. The group of instructions can include multiple memory operations, and also includes an instruction that when executed causes a cache line to be accessed. In response to execution of that instruction, an indicator associated with the group of instructions is updated to indicate that the cache line has been accessed. The cache line is indicated as having been accessed until execution of the group of instructions is ended.Type: GrantFiled: May 15, 2008Date of Patent: November 25, 2014Inventor: Guillermo J. Rozas
-
Publication number: 20140344522Abstract: The present invention provides a dynamic set associative cache apparatus for a processor. When read access occurs, the apparatus first determines a valid/invalid bit of each cache block in a cache set to be accessed, and sets, according to the valid/invalid bit of each cache block, an enable/disable bit of a cache way in which the cache block is located; then, reads valid cache blocks, compares a tag section in a memory address with a tag block in each cache block that is read, and if there is a hit, reads data from a data block in a hit cache block according to an offset section of the memory address.Type: ApplicationFiled: July 10, 2014Publication date: November 20, 2014Inventors: Lingjun Fan, Shibin Tang, Da Wang, Hao Zhang, Dongrui Fan
-
Patent number: 8886888Abstract: In order to enhance the accuracy of problem analysis in a disk subsystem, the present invention suspends system trace and writing of system trace information to a storage area at the timing of occurrence of a problem. The suspension of system trace and the writing of system trace information to the storage area is executed not only in the disk subsystem where the problem failure has occurred, but also in all the other connected disk subsystems. Then, a maintenance terminal is used to collect dump information including the system trace information.Type: GrantFiled: January 29, 2013Date of Patent: November 11, 2014Assignee: Hitachi, Ltd.Inventor: Kazuhiro Yasuhara
-
Patent number: 8880805Abstract: Computer system having cache subsystem wherein demote requests are performed by the cache subsystem. Software indicates to hardware of a processing system that its storage modification to a particular cache line is done, and will not be doing any modification for the time being. With this indication, the processor actively releases its exclusive ownership by updating its line ownership from exclusive to read-only (or shared) in its own cache directory and in the storage controller (SC). By actively giving up the exclusive rights, another processor can immediately be given exclusive ownership to that said cache line without waiting on any processor's explicit cross invalidate acknowledgement. This invention also describes the hardware design needed to provide this support.Type: GrantFiled: May 11, 2011Date of Patent: November 4, 2014Assignee: International Business Machines CorporationInventors: Chung-Lung Kevin Shum, Kathryn Marie Jackson, Charles Franklin Webb
-
Patent number: 8874934Abstract: Disclosed is an operating method of a non-volatile memory device which comprises randomizing data to store the randomized data; erasing the randomized data; and outputting erase data according to information of a flag cell of the non-volatile memory device at a read operation.Type: GrantFiled: February 24, 2010Date of Patent: October 28, 2014Assignee: Samsung Electronics Co., Ltd.Inventors: Jung Hoon Park, Sung Soo Lee
-
Patent number: 8874877Abstract: Methods and systems to intelligently cache content in a virtualization environment using virtualization software such as VMWare ESX or Citrix XenServer or Microsoft HyperV or Redhat KVM or their variants are disclosed. Storage IO operations (reads from and writes to disk) are analyzed (or characterized) for their overall value and pinned to cache if their value exceeds a certain defined threshold based on criteria specific to the New Technology File System (NTFS) file-system. Analysis/characterization of NTFS file systems for intelligent dynamic caching include analyzing storage block data associated with a Virtual Machine of interest in accordance with a pre-determined data model to determine the value of the block under analysis for long term or short term caching. Integer values assigned to different types of NTFS objects in a white list data structure called a catalog that can be used to analyze the storage block data.Type: GrantFiled: April 25, 2014Date of Patent: October 28, 2014Assignee: Atlantis Computing, Inc.Inventors: Chetan Venkatesh, Sagar Shyam Dixit
-
Patent number: 8874852Abstract: In response to executing a deallocate instruction, a deallocation request specifying a target address of a target cache line is sent from a processor core to a lower level cache. In response, a determination is made if the target address hits in the lower level cache. If so, the target cache line is retained in a data array of the lower level cache, and a replacement order field of the lower level cache is updated such that the target cache line is more likely to be evicted in response to a subsequent cache miss in a congruence class including the target cache line. In response to the subsequent cache miss, the target cache line is cast out to the lower level cache with an indication that the target cache line was a target of a previous deallocation request of the processor core.Type: GrantFiled: March 28, 2012Date of Patent: October 28, 2014Assignee: International Business Machines CorporationInventors: Sanjeev Ghai, Guy L. Guthrie, William J. Starke, Jeff A. Stuecheli, Derek E. Williams, Phillip G. Williams
-
Patent number: 8874851Abstract: Methods and systems to intelligently cache content in a virtualization environment using virtualization software such as VMWare ESX or Citrix XenServer or Microsoft HyperV or Redhat KVM or their variants are disclosed. Storage IO operations (reads from and writes to disk) are analyzed (or characterized) for their overall value and pinned to cache if their value exceeds a certain defined threshold based on criteria specific to the New Technology File System (NTFS) file-system. Analysis/characterization of NTFS file systems for intelligent dynamic caching include analyzing storage block data associated with a Virtual Machine of interest in accordance with a pre-determined data model to determine the value of the block under analysis for long term or short term caching. Integer values assigned to different types of NTFS objects in a white list data structure called a catalog that can be used to analyze the storage block data.Type: GrantFiled: April 25, 2014Date of Patent: October 28, 2014Assignee: Atlantis Computing, Inc.Inventors: Chetan Venkatesh, Sagar Shyam Dixit
-
Patent number: 8868884Abstract: Methods and systems to intelligently cache content in a virtualization environment using virtualization software such as VMWare ESX or Citrix XenServer or Microsoft HyperV or Redhat KVM or their variants are disclosed. Storage IO operations (reads from and writes to disk) are analyzed (or characterized) for their overall value and pinned to cache if their value exceeds a certain defined threshold based on criteria specific to the New Technology File System (NTFS) file-system. Analysis/characterization of NTFS file systems for intelligent dynamic caching include analyzing storage block data associated with a Virtual Machine of interest in accordance with a pre-determined data model to determine the value of the block under analysis for long term or short term caching. Integer values assigned to different types of NTFS objects in a white list data structure called a catalog that can be used to analyze the storage block data.Type: GrantFiled: April 25, 2014Date of Patent: October 21, 2014Assignee: Atlantis Computing, Inc.Inventors: Chetan Venkatesh, Sagar Shyam Dixit
-
Patent number: 8868834Abstract: Some embodiments provide systems and methods for validating cached content based on changes in the content instead of an expiration interval. One method involves caching content and a first checksum in response to a first request for that content. The caching produces a cached instance of the content representative of a form of the content at the time of caching. The first checksum identifies the cached instance. In response to receiving a second request for the content, the method submits a request for a second checksum representing a current instance of the content and a request for the current instance. Upon receiving the second checksum, the method serves the cached instance of the content when the first checksum matches the second checksum and serves the current instance of the content upon completion of the transfer of the current instance when the first checksum does not match the second checksum.Type: GrantFiled: October 1, 2012Date of Patent: October 21, 2014Assignee: Edgecast Networks, Inc.Inventor: Andrew Lientz
-
Patent number: 8862830Abstract: Provided are a computer implemented method, computer program product, and system for caching a data object. A copy of an original data object to a specified depth is obtained. The copy of the original data object to the specified depth is cached with reference to the original data object in a prototype chain. A change to a value of a property of the cached copy is received. A new property entry is created for the changed value of the property under the cached copy. A change flag is set to indicate that there is a changed value for the property.Type: GrantFiled: February 17, 2012Date of Patent: October 14, 2014Assignee: International Business Machines CorporationInventors: Philip A. Archdeacon, Chris Perkins, Xuebing Qing, Sabrina Tang
-
Patent number: 8856455Abstract: A data processing system includes a processor core supported by upper and lower level caches. In response to executing a deallocate instruction in the processor core, a deallocation request is sent from the processor core to the lower level cache, the deallocation request specifying a target address associated with a target cache line. In response to receipt of the deallocation request at the lower level cache, a determination is made if the target address hits in the lower level cache. In response to determining that the target address hits in the lower level cache, the target cache line is retained in a data array of the lower level cache and a replacement order field in a directory of the lower level cache is updated such that the target cache line is more likely to be evicted from the lower level cache in response to a subsequent cache miss.Type: GrantFiled: March 28, 2012Date of Patent: October 7, 2014Assignee: International Business Machines CorporationInventors: Sanjeev Ghai, Guy L. Guthrie, William J. Starke, Jeff A. Stuecheli, Derek E. Williams, Phillip G. Williams
-
Patent number: 8856478Abstract: A processor holds, in a plurality of respective cache lines, part of data held in a main memory unit. The processor also holds, in the plurality of respective cache lines, a tag address used to search for the data held in the cache lines and a flag indicating the validity of the data held in the cache lines. The processor executes a cache line fill instruction on a cache line corresponding to a specified address. Upon execution of the cache line fill instruction, the processor registers predetermined data in the cache line of the cache memory unit which has a tag address corresponding to the specified address and validates a flag in the cache line having the tag address corresponding to the specified address.Type: GrantFiled: December 22, 2010Date of Patent: October 7, 2014Assignee: Fujitsu LimitedInventors: Takahito Hirano, Iwao Yamazaki
-
Publication number: 20140281272Abstract: No-loss rapid recovery performs resynchronization efficiently while concurrently allowing availability to mirrored data on the storage device. No-loss rapid recovery has two stages and involves storage devices that have both a non-volatile cache and primary storage and that operate as mirror buddies. The first stage is referred to herein as the buddy-retention stage. During the buddy-retention stage, writes to mirrored data are not performed on the offline mirror buddy but are performed on the online mirror buddy. The mirrored data changed in the online mirrored buddy is retained in the non-volatile cache of the retention buddy. The next stage is referred to herein as the rapid resynchronization stage. In this stage, the changed mirrored data retained by the retention buddy for no-loss rapid recovery is used to resynchronize the offline buddy. The storage device is resynchronized using the changed mirrored data retained in the cache of the mirror buddy.Type: ApplicationFiled: March 13, 2013Publication date: September 18, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Juan R. Loaiza, Kothanda Umamageswaran, David Friedman, Jia Shi, Zuoyu Tao, Alex Tsukerman
-
Publication number: 20140281273Abstract: Multiple nodes of a cluster have associated non-shared, local caches, used to cache shared storage content. Each local cache is accessible only to the node with which it is associated, whereas the cluster-level shared storage is accessible by any of the nodes. Attempts to access the shared storage by the nodes of the cluster are monitored. Information is tracked concerning the current statuses of the local caches of the nodes of the cluster. Current tracked local cache status information is maintained, and stored such that it is accessible by the multiple nodes of the cluster. The current tracked local cache status information is used in conjunction with the caching functionality to determine whether specific nodes of the cluster are to access their local caches or the shared storage to obtain data corresponding to specific regions of the shared storage.Type: ApplicationFiled: March 15, 2013Publication date: September 18, 2014Applicant: SYMANTEC CORPORATIONInventor: SYMANTEC CORPORATION
-
Patent number: 8838932Abstract: An approach to power economization in a spoke and hub environment is presented. When a hub receives a data set from a first spoke, the hub writes the data set to a first partition that is associated with the first spoke. After the data transfer is complete, the hub powers down the first partition. If the first spoke sends additional data transfers to the hub while the first partition is powered down, the hub stores the additional data transfers in a second partition. When the first partition is powered up again, the hub moves the data intended for the first partition and that was stored in the second partition. The data is moved from the second partition to the first partition. The hub may monitor the size of the addition data transfers. If the data transfer is large, the hub may power up the first partition, write the data in the first partition, and move to the first partition any data that was intended for the first partition but written to the second partition while the first partition was powered down.Type: GrantFiled: November 9, 2010Date of Patent: September 16, 2014Assignee: International Business Machines CorporationInventors: Allen K. Bates, Yun Mou, Stephen L. Schwartz, Pankaj Tandon, Daniel J. Winarski
-
Patent number: 8838906Abstract: 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: GrantFiled: January 4, 2011Date of Patent: September 16, 2014Assignee: International Business Machines CorporationInventors: Alan Gara, Martin Ohmacht
-
Patent number: 8832378Abstract: A method for selecting a cache way, the method includes: selecting an initially selected cache way out of multiple cache ways of a cache module for receiving a data unit; the method being characterized by including: searching, if the initially selected cache way is locked, for an unlocked cache way, out of at least one group of cache ways that are located at predefined offsets from the first cache way.Type: GrantFiled: April 11, 2008Date of Patent: September 9, 2014Assignee: Freescale Semiconductor, Inc.Inventors: Rotem Porat, Moshe Anschel, Alon Eldar, Amit Gur, Shai Koren, Itay Peled
-
Patent number: 8825955Abstract: A data processing apparatus has a cache with a data array and a tag array. The tag array stores address tag portions associated with the data values in the data array. The cache performs a tag lookup, comparing a tag portion of a received address with a set of tag entries in the tag array. The data array includes a partial tag store storing a partial tag value in association with each data entry. In parallel with the tag lookup, a partial tag value of the received address is compared with partial tag values stored in association with a set of data entries in said data array. A data value is read out if a match condition occurs. Exclusivity circuitry ensures that at most one partial tag value of said partial tag values stored in association with said set of data entries can generate said match condition.Type: GrantFiled: March 19, 2012Date of Patent: September 2, 2014Assignee: The Regents of the University of MichiganInventors: Faissal Mohamad Sleiman, Ronald George Dreslinski, Jr., Thomas Friedrich Wenisch
-
Patent number: 8819357Abstract: Metadata of a shared file in a clustered file system is changed in a way that ensures cache coherence amongst servers that can simultaneously access the shared file. Before a server changes the metadata of the shared file, it waits until no other server is attempting to access the shared file, and all I/O operations to the shared file are blocked. After writing the metadata changes to the shared file, local caches of the other servers are updated, as needed, and I/O operations to the shared file are unblocked.Type: GrantFiled: July 12, 2011Date of Patent: August 26, 2014Assignee: VMware, Inc.Inventors: Murali Vilayannur, Jinyuan Li, Satyam B. Vaghani
-
Patent number: 8819392Abstract: In one embodiment, the present invention includes a translation lookaside buffer (TLB) to store entries each having a translation portion to store a virtual address (VA)-to-physical address (PA) translation and a second portion to store bits for a memory page associated with the VA-to-PA translation, where the bits indicate attributes of information in the memory page. Other embodiments are described and claimed.Type: GrantFiled: July 17, 2012Date of Patent: August 26, 2014Assignee: Intel CorporationInventors: David Champagne, Abhishek Tiwari, Wei Wu, Christopher J. Hughes, Sanjeev Kumar, Shih-Lien Lu
-
Patent number: 8812817Abstract: A cache controller in a computer system is configured to manage a cache such that the use of bus bandwidth is reduced. The cache controller receives commands from a processor. In response, a cache mapping maintaining information for each block in the cache is modified. The cache mapping may include an address, a dirty bit, a zero bit, and a priority for each cache block. The address indicates an address in main memory for which the cache block caches data. The dirty bit indicates whether the data in the cache block is consistent with data in main memory at the address. The zero bit indicates whether data at the address should be read as a default value, and the priority specifies a priority for evicting the cache block. By manipulating this mapping information, commands such as move, copy swap, zero, deprioritize and deactivate may be implemented.Type: GrantFiled: June 28, 2013Date of Patent: August 19, 2014Assignee: Microsoft CorporationInventors: Jeffrey C. Fuller, Thomas J. Ootjers, Bruce L. Worthington
-
Patent number: 8812796Abstract: Private or shared read-only memory regions. One embodiment may be practiced in a computing environment including a plurality of agents. A method includes acts for declaring one or more memory regions private to a particular agent or shared read only amongst agents by having software utilize processor level instructions to specify to hardware the private or shared read only memory address regions. The method includes an agent executing a processor level instruction to specify one or more memory regions as private to the agent or shared read-only amongst a plurality of agents. As a result of an agent executing a processor level instruction to specify one or more memory regions as private to the agent or shared read-only amongst a plurality of agents, a hardware component monitoring the one or more memory regions for conflicting accesses or prevents conflicting accesses on the one or more memory regions.Type: GrantFiled: June 26, 2009Date of Patent: August 19, 2014Assignee: Microsoft CorporationInventors: Jan Gray, David Callahan, Burton Jordan Smith, Gad Sheaffer, Ali-Reza Adl-Tabatabai
-
Patent number: 8812792Abstract: A technique for using memory attributes to relay information to a program or other agent. More particularly, embodiments of the invention relate to using memory attribute bits to check various memory properties in an efficient manner.Type: GrantFiled: September 21, 2013Date of Patent: August 19, 2014Assignee: Intel CorporationInventors: Quinn A. Jacobson, Anne W. Bracy, Hong Wang, John P. Shen, Per Hammarlund, Matthew C. Merten, Suresh Srinivas, Kshitij A. Doshi, Gautham Shinya, Bratin Saha, Ali-Reza Adi-Tabatabai, Gad Sheaffer
-
Publication number: 20140229683Abstract: A method to monitor the behavior of a working set cache of a full data set at run time and determine whether it provides a performance benefit is disclosed. An effectiveness metric of the working set cache is tracked over a period of time by efficiently computing the amount of physical memory consumption the cache saves and comparing this to a straightforward measure of its overhead. If the effectiveness metric is determined to be on an ineffective side of a selected threshold amount, the working set cache is disabled. The working set cache can be re-enabled in response to a predetermined event.Type: ApplicationFiled: April 15, 2014Publication date: August 14, 2014Applicant: Microsoft CorporationInventor: David J. Hiniker-Roosa
-
Patent number: 8806143Abstract: A method and apparatus for queuing FBNs of received write blocks for a file to a queuing data structure for assigning LBNs to the FBNs is described herein. A queuing data structure may comprise a modified binary search tree, such as a modified red-black search tree. Each node of a queuing data structure may comprise a base field for storing a base FBN and a range field for storing a range value comprising X bits. The range field of a single node may represent a range of two or more FBNs (“FBN range”), the FBN range being based on the base FBN. Each FBN in the FBN range may have a corresponding bit in the range field, the base FBN corresponding to a “base bit” in the range field. The value of the corresponding bit in the range field may indicate whether the FBN has been received.Type: GrantFiled: October 9, 2009Date of Patent: August 12, 2014Assignee: NetApp, Inc.Inventor: Shiow-wen Wendy Cheng
-
Patent number: 8806153Abstract: A cache within a computer system receives a partial write request and identifies a cache hit of a cache line. The cache line corresponds to the partial write request and includes existing data. In turn, the cache receives partial write data and merges the partial write data with the existing data into the cache line. In one embodiment, the existing data is “modified” or “dirty.” In another embodiment, the existing data is “shared.” In this embodiment, the cache changes the state of the cache line to indicate the storing of the partial write data into the cache line.Type: GrantFiled: February 22, 2011Date of Patent: August 12, 2014Assignee: International Business Machines CorporationInventors: Robert H. Bell, Jr., Herman Dietrich Dierks, Hong Lam Hua, Mysore Sathyanarayana Srinivas
-
Patent number: 8806138Abstract: Data values are cached by dynamically determining the dependencies of computation nodes on input parameters and on other results of computation nodes. Cache data structures are maintained for computation nodes. When a node accesses a parameter, the parameter and its current value are added to the node's cache data structure. The cache data structure stores the result value of the computation node. When one computation node calls another node, the parameters and parameter values accessed by the second computation node may be added to the first and second computation nodes' cache data structures. When a computation node is called with parameter values, the cache data structure of the computation node is searched for a cached result value corresponding to at least a portion of the parameter values. If a cached result value is not found, the computation node is executed to determine and optionally cache the result value.Type: GrantFiled: March 30, 2012Date of Patent: August 12, 2014Assignee: PixarInventor: Christopher Colby
-
Patent number: 8806101Abstract: A method and apparatus for metaphysical address space for holding lossy metadata is herein described. An explicit or implicit metadata access operation referencing data address of a data item is encountered. Hardware modifies the data address to a metadata address including a metaphysical extension. The metaphysical extension overlays one or more metaphysical address space(s) on the data address space. A portion of the metadata address including the metaphysical extension is utilized to search a tag array of the cache memory holding the data item. As a result, metadata access operations only hit metadata entries of the cache based on the metadata address extension. However, as the metadata is held within the cache, the metadata potentially competes with data for space within the cache.Type: GrantFiled: December 30, 2008Date of Patent: August 12, 2014Assignee: Intel CorporationInventors: Gad Sheaffer, Shlomo Raikin, Vadim Bassin, Raanan Sade, Ehud Cohen, Oleg Margulis
-
Patent number: 8806122Abstract: Provided are a computer program product, system, and method for caching data in a storage system having multiple caches. A sequential access storage device includes a sequential access storage medium and a non-volatile storage device integrated in the sequential access storage device, received modified tracks are cached in the non-volatile storage device, wherein the non-volatile storage device is a faster access device than the sequential access storage medium. A spatial index indicates the modified tracks in the non-volatile storage device in an ordering based on their physical location in the sequential access storage medium. The modified tracks are destaged from the non-volatile storage device by comparing a current position of a write head to physical locations of the modified tracks on the sequential access storage medium indicated in the spatial index to select a modified track to destage from the non-volatile storage device to the storage device.Type: GrantFiled: May 23, 2011Date of Patent: August 12, 2014Assignee: International Business Machines CorporationInventors: Michael T. Benhase, Lokesh M. Gupta
-
Patent number: 8806147Abstract: A system comprises a first node operative to provide a source broadcast requesting data. The first node associates an F-state with a copy of the data in response to receiving the copy of the data from memory and receiving non-data responses from other nodes in the system. The non-data responses include an indication that at least a second node includes a shared copy of the data. The F-state enabling the first node to serve as an ordering point in the system capable of responding to requests from other nodes in the system with a shared copy of the data.Type: GrantFiled: December 28, 2011Date of Patent: August 12, 2014Assignee: Hewlett-Packard Development Company, L.P.Inventors: Gregory Edward Tierney, St phen R. Van Doren, Simon C. Steely, Jr.
-
Patent number: 8806144Abstract: A flash storage device includes a first memory, a flash memory comprising a plurality of physical blocks, each of the plurality of physical blocks comprising a plurality of physical pages, and a controller. The controller is configured to store, in the first memory, copies of data read from the flash memory, map a logical address in a read request received from a host system to a virtual unit address and a virtual page address, and check a virtual unit cache tag table stored in the first memory based on the virtual unit address. If a hit is found in the virtual unit cache tag table, a virtual page cache tag sub-table stored in the first memory is checked based on the virtual page address, wherein the virtual page cache tag sub-table is associated with the virtual unit address. If a hit is found in the virtual page cache tag sub-table, data stored in the first memory mapped to the hit in the virtual page cache tag sub-table is read in response to the read request received from the host system.Type: GrantFiled: May 12, 2010Date of Patent: August 12, 2014Assignee: STEC, Inc.Inventors: Po-Jen Hsueh, Richard A. Mataya, Mark Moshayedi
-
Patent number: 8799582Abstract: A method and apparatus for extending cache coherency to hold buffered data to support transactional execution is herein described. A transactional store operation referencing an address associated with a data item is performed in a buffered manner. Here, the coherency state associated with cache lines to hold the data item are transitioned to a buffered state. In response to local requests for the buffered data item, the data item is provided to ensure internal transactional sequential ordering. However, in response to external access requests, a miss response is provided to ensure the transactionally updated data item is not made globally visible until commit. Upon commit, the buffered lines are transitioned to a modified state to make the data item globally visible.Type: GrantFiled: December 30, 2008Date of Patent: August 5, 2014Assignee: Intel CorporationInventors: Gad Sheaffer, Shlomo Raikin, Vadim Bassin, Raanan Sade, Ehud Cohen, Oleg Margulis
-
Patent number: 8799586Abstract: Methods and apparatus relating to memory mirroring and migration at a Home Agent (HA) are described. In one embodiment, a home agent may mirror its data at a slave agent. In some embodiments, a bit in a directory may indicate status of cache lines. Other embodiments are also disclosed.Type: GrantFiled: September 30, 2009Date of Patent: August 5, 2014Assignee: Intel CorporationInventors: Ganesh Kumar, Dheemanth Nagaraj, Vincent R. Freytag, Eric Delano, Gregory S. Averill
-
Patent number: 8799396Abstract: Network cache systems are used to improve network performance and reduce network traffic. An improved network cache system that uses a centralized shared cache system is disclosed. Each cache device that shares the centralized shared cache system maintains its own catalog, database or metadata index of the content stored on the centralized shared cache system. When one of the cache devices that shares the centralized shared cache system stores a new content resource to the centralized shared cache system, that cache device transmits a broadcast message to all of the peer cache devices. The other cache devices that receive the broadcast message will then update their own local catalog, database or metadata index of the centralized share cache system with the information about the new content resource.Type: GrantFiled: February 4, 2008Date of Patent: August 5, 2014Assignee: Cisco Technology, Inc.Inventor: Theodore Robert Grevers, Jr.
-
Patent number: 8799578Abstract: Provided are a computer program product, system, and method for managing unmodified tracks maintained in both a first cache and a second cache. The first cache has unmodified tracks in the storage subject to Input/Output (I/O) requests. Unmodified tracks are demoted from the first cache to a second cache. An inclusive list indicates unmodified tracks maintained in both the first cache and a second cache. An exclusive list indicates unmodified tracks maintained in the second cache but not the first cache. The inclusive list and the exclusive list are used to determine whether to promote to the second cache an unmodified track demoted from the first cache.Type: GrantFiled: May 23, 2011Date of Patent: August 5, 2014Assignee: International Business Machines CorporationInventors: Kevin J. Ash, Michael T. Benhase, Lokesh M. Gupta, Matthew J. Kalos, Keneth W. Todd
-
Patent number: 8799581Abstract: Color-based caching allows each cache line to be distinguished by a specific color, and enables the manipulation of cache behavior based upon the colors of the cache lines. When multiple threads are able to share a cache, effective cache management is critical to overall performance. Color-based caching provides an effective method to better utilize caches and avoid unnecessary cache thrashing and pollution. Hardware maintains color-based counters relative to the cache lines to monitor and obtain feedback on cache line events. These counters are utilized for cache coherence transactions in multiple processor systems.Type: GrantFiled: January 5, 2007Date of Patent: August 5, 2014Assignee: International Business Machines CorporationInventors: Xiaowei Shen, David F. Bacon, Robert W. Wisniewski, Orran Krieger
-
Patent number: 8793438Abstract: A microcontroller system may include a microcontroller having a processor and a first memory, a memory bus and a second memory in communication with the microcontroller via the memory bus. The first memory may include instructions for accessing a first data set from a contiguous memory block in the second memory. The first data set may include a first word having a first value and a plurality of first other words. The first memory may include instructions for receiving a write instruction including a second data set to be written to the contiguous memory block. The first memory may include instructions for determining whether the first value equals the second value. If so, the first memory may include instructions for writing the second data set to the contiguous memory block and updating the first value.Type: GrantFiled: October 15, 2009Date of Patent: July 29, 2014Assignee: Netronome Systems, IncorporatedInventors: Derek McAuley, Gavin Stark
-
Patent number: 8793327Abstract: A method and apparatus for using a tree-structured cluster as a library for a computing grid. In one embodiment, a request for computation is received at a cache node of the cluster. The computation requires data from an other cache node of the cluster, and not present in the cache node receiving the request. The other cache nodes of the cluster are polled for the required data. An instance of the required data stored in the other cache node of the cluster is replicated to the cache node receiving the computation request.Type: GrantFiled: August 30, 2007Date of Patent: July 29, 2014Assignee: Red Hat, Inc.Inventor: Manik Ram Surtani
-
Patent number: 8793436Abstract: 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: GrantFiled: May 23, 2011Date of Patent: July 29, 2014Assignee: International Business Machines CorporationInventors: Michael T. Benhase, Binny S. Gill, Lokesh M. Gupta, Matthew J. Kalos