Addressing Cache Memories Patents (Class 711/3)
  • Patent number: 9383943
    Abstract: An alignment data structure is used to map a logical data block start address to a physical data block start address dynamically, to service a client data access request. A separate alignment data structure can be provided for each data object managed by the storage system. Each such alignment data structure can be stored in, or referenced by a pointer in, the inode of the corresponding data object. A consequence of the mapping is that certain physical storage medium regions are not mapped to any logical data blocks. These unmapped regions may be visible only to the file system layer and layers that reside between the file system layer and the mass storage subsystem. They can be used, if desired, to store system information, i.e., information that is not visible to any storage client.
    Type: Grant
    Filed: October 1, 2013
    Date of Patent: July 5, 2016
    Assignee: NETAPP, INC.
    Inventors: Shravan Gaonkar, Rahul Narayan Iyer, Deepak Kenchammana-hosekote
  • Patent number: 9378128
    Abstract: What is provided is an enhanced dynamic address translation facility. In one embodiment, a virtual address to be translated is first obtained and an initial origin address of a translation table of the hierarchy of translation tables is obtained. Based on the obtained initial origin, a segment table entry is obtained. The segment table entry is configured to contain a format control and access validity fields. If the format control and access validity fields are enabled, the segment table entry further contains an access control field, a fetch protection field, and a segment-frame absolute address. Store operations are permitted only if the access control field matches a program access key provided by any one of a Program Status Word or an operand of a program instruction being emulated. Fetch operations are permitted if the program access key associated with the virtual address is equal to the segment access control field or the fetch protection field is not enabled.
    Type: Grant
    Filed: February 27, 2015
    Date of Patent: June 28, 2016
    Assignee: International Business Machines Corporation
    Inventors: Dan F. Greiner, Charles W. Gainey, Jr., Lisa C. Heller, Damian L. Osisek, Erwin Pfeffer, Timothy J. Slegel, Charles F. Webb
  • Patent number: 9348778
    Abstract: A transactional memory (TM) receives a lookup command across a bus from a processor. The command includes a memory address, a starting bit position, and a mask size. In response to the command, the TM pulls an input value (IV). The memory address is used to read a word containing multiple result values (RVs) and multiple key values from memory. Each key value indicates a single RV to be output by the TM. A selecting circuit within the TM uses the starting bit position and mask size to select a portion of the IV. The portion of the IV is a key selector value. A key value is selected based upon the key selector value. A RV is selected based upon the key value. The key value is selected by a key selection circuit. The RV is selected by a result value selection circuit.
    Type: Grant
    Filed: February 25, 2015
    Date of Patent: May 24, 2016
    Assignee: Netronome Systems, Inc.
    Inventor: Gavin J. Stark
  • Patent number: 9311004
    Abstract: A transactional memory (TM) receives a lookup command across a bus from a processor. The command includes a memory address. In response to the command, the TM pulls an input value (IV). The memory address is used to read a word containing multiple result values (RVs), multiple reference values, and multiple prefix values from memory. A selecting circuit within the TM uses a starting bit position and a mask size to select a portion of the IV. The portion of the IV is a lookup key value (LKV). Mask values are generated based on the prefix values. The LKV is masked by each mask value thereby generating multiple masked values that are compared to the reference values. Based on the comparison a lookup table generates a selector value that is used to select a result value. The selected result value is then communicated to the processor via the bus.
    Type: Grant
    Filed: December 31, 2014
    Date of Patent: April 12, 2016
    Assignee: Netronome Systems, Inc.
    Inventor: Gavin J. Stark
  • Patent number: 9298643
    Abstract: This invention optimizes DMA writes to directly addressable level two memory that is cached in level one and the line is valid and dirty. When the level two controller detects that a line is valid and dirty in level one, the level two memory need not update its copy of the data. Level one memory will replace the level two copy with a victim writeback at a future time. Thus the level two memory need not store write a copy. This limits the number of DMA writes to level two directly addressable memory and thus improves performance and minimizes dynamic power. This also frees the level two memory for other master/requestors.
    Type: Grant
    Filed: June 2, 2015
    Date of Patent: March 29, 2016
    Assignee: TEXAS INSTRUMENTS INCORPORATED
    Inventors: Jonathan (Son) Hung Tran, Raguram Damodaran, Abhijeet Ashok Chachad, Joseph Raymond Michael Zbiciak
  • Patent number: 9275003
    Abstract: A network interface controller atomic operation unit and a network interface control method comprising, in an atomic operation unit of a network interface controller, using a write-through cache and employing a rate-limiting functional unit.
    Type: Grant
    Filed: October 1, 2008
    Date of Patent: March 1, 2016
    Assignee: Sandia Corporation
    Inventors: Karl Scott Hemmert, Keith D. Underwood, Michael J. Levenhagen
  • Patent number: 9250913
    Abstract: Embodiments relate to collision-based alternate hashing. An aspect includes receiving an incoming instruction address. Another aspect includes determining whether an entry for the incoming instruction address exists in a history table based on a hash of the incoming instruction address. Another aspect includes based on determining that the entry for the incoming instruction address exists in the history table, determining whether the incoming instruction address matches an address tag in the determined entry. Another aspect includes based on determining that the incoming instruction address does not match the address tag in the determined entry, determining whether a collision exists for the incoming instruction address. Another aspect includes based on determining that the collision exists for the incoming instruction address, activating alternate hashing for the incoming instruction address using an alternate hash buffer.
    Type: Grant
    Filed: June 15, 2012
    Date of Patent: February 2, 2016
    Assignee: International Business Machines Corporation
    Inventors: Khary J. Alexander, Ilia Averbouch, Ariel J. Birnbaum, Jonathan T. Hsieh, Chung-Lung K. Shum
  • Patent number: 9235512
    Abstract: A system, method, and computer program product are provided for GPU demand paging. In operation, input data is addressed in terms of a virtual address space. Additionally, the input data is organized into one or more pages of data. Further, the input data organized as the one or more pages of data is at least temporarily stored in a physical cache. In addition, access to the input data in the physical cache is facilitated.
    Type: Grant
    Filed: January 9, 2014
    Date of Patent: January 12, 2016
    Assignee: NVIDIA Corporation
    Inventors: Andreas Dietrich, David K. McAllister, Heiko Friedrich, Konstantin Anatolievich Vostryakov, Steven Parker, James Lawrence Bigler, Russell Keith Morley
  • Patent number: 9208088
    Abstract: A shared virtual memory management apparatus for ensuring cache coherence. When two or more cores request write permission to the same virtual memory page, the shared virtual memory management apparatus allocates a physical memory page for the cores to change data in the allocated physical memory page. Thereafter, changed data is updated in an original physical memory page, and accordingly it is feasible to achieve data coherence in a multi-core hardware environment that does not provide cache coherence.
    Type: Grant
    Filed: January 3, 2013
    Date of Patent: December 8, 2015
    Assignee: Seoul National University R&DB Foundation
    Inventors: Jaejin Lee, Junghyun Kim
  • Patent number: 9201608
    Abstract: Systems, methods, and devices for dynamically mapping and remapping memory when a portion of memory is activated or deactivated are provided. In accordance with an embodiment, an electronic device may include several memory banks, one or more processors, and a memory controller. The memory banks may store data in hardware memory locations and may be independently deactivated. The processors may request the data using physical memory addresses, and the memory controller may translate the physical addresses to hardware memory locations. The memory controller may use a first memory mapping function when a first number of memory banks is active and a second memory mapping function when a second number is active. When one of the memory banks is to be deactivated, the memory controller may copy data from only the memory bank that is to be deactivated to the active remainder of memory banks.
    Type: Grant
    Filed: July 14, 2014
    Date of Patent: December 1, 2015
    Assignee: Apple Inc.
    Inventors: Ian C. Hendry, Rajabali Koduri, Jeffry E. Gonion
  • Patent number: 9189408
    Abstract: A system and method of offline annotation of future access are disclosed. According to one embodiment, a request is received at a storage system to read a portion of a file stored in the storage system. In response to the request, chunks of the file are cached in a cache memory of the storage system. In response to a request for cache space reclamation, the system then determines future request to the file based in part on a next access auxiliary table (NAAT) associated with the file, which was created prior to receiving the request to read and stored in a persistent storage location of the storage system. Based on the determination, the system evicts from the cache memory at least one chunk of a read unit (RU) whose next access is a furthest among the cached chunks.
    Type: Grant
    Filed: August 31, 2012
    Date of Patent: November 17, 2015
    Assignee: EMC Corporation
    Inventors: Frederick Douglis, Windsor W. Hsu, Xing Lin
  • Patent number: 9164904
    Abstract: A method of accessing remote memory comprising receiving a request for access to a page from a computing device, adding an address of the accessed page to a recent list memory on the remote memory, associating a recent list group identifier to a number of addresses of accessed pages, transferring the requested page to the computing device with the recent list group identifier and temporarily maintaining a copy of the transferred page on the remote memory.
    Type: Grant
    Filed: August 28, 2012
    Date of Patent: October 20, 2015
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kevin T. Lim, Naveen Muralimanohar, Norman Paul Jouppi, Robert Schreiber
  • Patent number: 9146869
    Abstract: A method and apparatus for state encoding of cache lines is described. Some embodiments of the method and apparatus support probing, in response to a first probe of a cache line in a first cache, a copy of the cache line in a second cache when the cache line is stale and the cache line is associated with a copy of the cache line stored in the second cache that can bypass notification of the first cache in response to modifying the copy of the cache line.
    Type: Grant
    Filed: December 5, 2012
    Date of Patent: September 29, 2015
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Robert Krick
  • Patent number: 9141544
    Abstract: In a particular embodiment, a method of managing a cache memory includes, responsive to a cache size change command, changing a mode of operation of the cache memory to a write through/no allocate mode. The method also includes processing instructions associated with the cache memory while executing a cache clean operation when the mode of operation of the cache memory is the write through/no allocate mode. The method further includes after completion of the cache clean operation, changing a size of the cache memory and changing the mode of operation of the cache to a mode other than the write through/no allocate mode.
    Type: Grant
    Filed: October 19, 2012
    Date of Patent: September 22, 2015
    Assignee: QUALCOMM Incorporated
    Inventors: Manojkumar Pyla, Lucian Codrescu
  • Patent number: 9128848
    Abstract: A system comprises a storage device, a cache coupled to the storage device and a metadata structure, coupled to the storage device and the cache, having metadata corresponding to each data location in the cache to control data promoted to the cache from the storage device.
    Type: Grant
    Filed: February 25, 2013
    Date of Patent: September 8, 2015
    Assignee: Intel Corporation
    Inventor: Rayan Zachariassen
  • Patent number: 9110832
    Abstract: The present disclosure includes methods, devices, and systems for object oriented memory in solid state devices. One embodiment of a method for object oriented memory in solid state devices includes accessing a defined set of data as a single object in an atomic operation manner, where the accessing is from a source other than a host. The embodiment also includes storing the defined set of data as the single object in a number of solid state memory blocks as formatted by a control component of a solid state device that includes the number of solid state memory blocks.
    Type: Grant
    Filed: May 5, 2014
    Date of Patent: August 18, 2015
    Assignee: Micron Technology, Inc.
    Inventors: Peter Feeley, Neal A. Galbo, James Cooke, Victor Y. Tsai, Robert N. Leibowitz, William H. Radke
  • Patent number: 9110816
    Abstract: Methods for accessing, storing and replacing data in a cache memory are provided, wherein a plurality of index bits and a plurality of tag bits at the cache memory are received. The plurality of index bits are processed to determine whether a matching index exists in the cache memory and the plurality of tag bits are processed to determine whether a matching tag exists in the cache memory, and a data line is retrieved from the cache memory if both a matching tag and a matching index exist in the cache memory. A random line in the cache memory can be replaced with a data line from a main memory, or evicted without replacement, based on the combination of index and tag misses, security contexts and protection bits. User-defined and/or vendor-defined replacement procedures can be utilized to replace data lines in the cache memory.
    Type: Grant
    Filed: September 27, 2013
    Date of Patent: August 18, 2015
    Assignee: Teleputers, LLC
    Inventors: Ruby B. Lee, Zhenghong Wang
  • Patent number: 9098284
    Abstract: A method and apparatus for disabling ways of a cache memory in response to history based usage patterns is herein described. Way predicting logic is to keep track of cache accesses to the ways and determine if an access to some ways are to be disabled to save power, based upon way power signals having a logical state representing a predicted miss to the way. One or more counters associated with the ways count accesses, wherein a power signal is set to the logical state representing a predicted miss when one of said one or more counters reaches a saturation value. Control logic adjusts said one or more counters associated with the ways according to the accesses.
    Type: Grant
    Filed: December 2, 2014
    Date of Patent: August 4, 2015
    Assignee: Intel Corporation
    Inventors: Martin Licht, Jonathan Combs, Andrew Huang
  • Patent number: 9092343
    Abstract: A virtual hint based data cache way prediction scheme, and applications thereof. In an embodiment, a processor retrieves data from a data cache based on a virtual hint value or an alias way prediction value and forwards the data to dependent instructions before a physical address for the data is available. After the physical address is available, the physical address is compared to a physical address tag value for the forwarded data to verify that the forwarded data is the correct data. If the forwarded data is the correct data, a hit signal is generated. If the forwarded data is not the correct data, a miss signal is generated. Any instructions that operate on incorrect data are invalidated and/or replayed.
    Type: Grant
    Filed: September 21, 2009
    Date of Patent: July 28, 2015
    Assignee: ARM Finance Overseas Limited
    Inventors: Meng-Bing Yu, Era K. Nangia, Michael Ni, Vidya Rajagopalan
  • Patent number: 9081711
    Abstract: An embodiment provides a virtual address cache memory including: a TLB virtual page memory configured to, when a rewrite to a TLB occurs, rewrite entry data; a data memory configured to hold cache data using a virtual page tag or a page offset as a cache index; a cache state memory configured to hold a cache state for the cache data stored in the data memory, in association with the cache index; a first physical address memory configured to, when the rewrite to the TLB occurs, rewrite a held physical address; and a second physical address memory configured to, when the cache data is written to the data memory after the occurrence of the rewrite to the TLB, rewrite a held physical address.
    Type: Grant
    Filed: November 26, 2013
    Date of Patent: July 14, 2015
    Assignee: KABUSHIKI KAISHA TOSHIBA
    Inventors: Kenta Yasufuku, Shigeaki Iwasa, Yasuhiko Kurosawa, Hiroo Hayashi, Seiji Maeda, Mitsuo Saito
  • Patent number: 9081661
    Abstract: According to one embodiment, a memory management device includes a history management unit, an address translation table, an address management unit, and a data management unit. The history management unit manages an access history for data stored in a nonvolatile semiconductor memory. The address translation table includes a translation table of a logical address and a physical address corresponding to the data. The address management unit specifies, based on the access history, second data to be accessed after access to first data being stored in the nonvolatile semiconductor memory, and registers a second physical address corresponding to the second data in the address translation table in association with a first logical address corresponding to the first data. The data management unit reads out the second data from the nonvolatile semiconductor memory to a buffer.
    Type: Grant
    Filed: September 16, 2011
    Date of Patent: July 14, 2015
    Assignee: KABUSHIKI KAISHA TOSHIBA
    Inventors: Tsutomu Unesaki, Yoshiyuki Endo
  • Patent number: 9075744
    Abstract: This invention optimizes DMA writes to directly addressable level two memory that is cached in level one and the line is valid and dirty. When the level two controller detects that a line is valid and dirty in level one, the level two memory need not update its copy of the data. Level one memory will replace the level two copy with a victim writeback at a future time. Thus the level two memory need not store write a copy. This limits the number of DMA writes to level two directly addressable memory and thus improves performance and minimizes dynamic power. This also frees the level two memory for other master/requestors.
    Type: Grant
    Filed: September 26, 2011
    Date of Patent: July 7, 2015
    Assignee: TEXAS INSTRUMENTS INCORPORATED
    Inventors: Jonathan (Son) Hung Tran, Raguram Damodaran, Abhijeet Ashok Chachad, Joseph Raymond Michael Zbiciak
  • Patent number: 9069545
    Abstract: Systems and methods are disclosed that allow atomic updates to global data to be at least partially eliminated to reduce synchronization overhead in parallel computing. A compiler analyzes the data to be processed to selectively permit unsynchronized data transfer for at least one type of data. A programmer may provide a hint to expressly identify the type of data that are candidates for unsynchronized data transfer. In one embodiment, the synchronization overhead is reducible by generating an application program that selectively substitutes codes for unsynchronized data transfer for a subset of codes for synchronized data transfer. In another embodiment, the synchronization overhead is reducible by employing a combination of software and hardware by using relaxation data registers and decoders that collectively convert a subset of commands for synchronized data transfer into commands for unsynchronized data transfer.
    Type: Grant
    Filed: July 18, 2011
    Date of Patent: June 30, 2015
    Assignee: International Business Machines Corporation
    Inventors: Lakshminarayanan Renganarayana, Vijayalakshmi Srinivasan
  • Patent number: 9053033
    Abstract: A method, computer program product, and computing system for defining a first assigned cache portion within a cache system, wherein the first assigned cache portion is associated with a first machine. At least one additional assigned cache portion within the cache system is defined. The at least one additional assigned cache portion is associated with at least one additional machine. Content received by the first machine is written to the first assigned cache portion. After the occurrence of a reclassifying event, the first assigned cache portion is reclassified as a public cache portion that is added to an initial cache portion within the cache system. The public cache portion is associated with the first machine and the at least one additional machine.
    Type: Grant
    Filed: December 30, 2011
    Date of Patent: June 9, 2015
    Assignee: EMC Corporation
    Inventors: Philip Derbeko, Anat Eyal, Roy E. Clark
  • Patent number: 9021401
    Abstract: A method comprises creating a first node, determining whether an indicator associated with a head node is present, and designating the first node as a head node, defining and associating a head node identifier with the first node, define a link from the first node to the first node, and create and save an indicator associated with the head node responsive to determining that the indicator associated with a head node is not present.
    Type: Grant
    Filed: September 21, 2009
    Date of Patent: April 28, 2015
    Assignee: International Business Machines Corporation
    Inventors: Anthony M. Cocuzza, Shayne Grant, Pu Liu
  • Publication number: 20150113199
    Abstract: In one embodiment of the present invention, a method includes switching between a first address space and a second address space, determining if the second address space exists in a list of address spaces; and maintaining entries of the first address space in a translation buffer after the switching. In such manner, overhead associated with such a context switch may be reduced.
    Type: Application
    Filed: December 22, 2014
    Publication date: April 23, 2015
    Applicant: Intel Corporation
    Inventors: Jason W. Brandt, Sanjoy K. Mondal, Richard A. Uhlig, Gilbert Neiger, Robert T. George
  • Publication number: 20150113200
    Abstract: In one embodiment of the present invention, a method includes switching between a first address space and a second address space, determining if the second address space exists in a list of address spaces; and maintaining entries of the first address space in a translation buffer after the switching. In such manner, overhead associated with such a context switch may be reduced.
    Type: Application
    Filed: December 22, 2014
    Publication date: April 23, 2015
    Applicant: Intel Corporation
    Inventors: Jason W. Brandt, Sanjoy K. Mondal, Richard A. Uhlig, Gilbert Neiger, Robert T. George
  • Publication number: 20150106545
    Abstract: A computer processing system with a hierarchical memory system having at least one cache and physical memory, and a processor having execution logic that generates memory requests that are supplied to the hierarchical memory system. The at least one cache stores a plurality of cache lines including at least one backless cache line.
    Type: Application
    Filed: October 15, 2014
    Publication date: April 16, 2015
    Applicant: Mill Computing, Inc.
    Inventors: Roger Rawson Godard, Arthur David Kahlich
  • Publication number: 20150095545
    Abstract: A method of controlling a cache memory includes receiving location information of one piece of data included in a data block and size information of the data block; mapping the data block onto cache memory by using the location information and the size information; and selecting at least one unit cache out of unit caches included in the cache memory based on the mapping result.
    Type: Application
    Filed: September 25, 2014
    Publication date: April 2, 2015
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Won-chang LEE, Do-hyung KIM, Si-hwa LEE
  • Publication number: 20150067230
    Abstract: Methods for read after write forwarding using a virtual address are disclosed. A method includes determining when a virtual address has been remapped from corresponding to a first physical address to a second physical address and determining if all stores occupying a store queue before the remapping have been retired from the store queue. Loads that are younger than the stores that occupied the store queue before the remapping are prevented from being dispatched and executed until the stores that occupied the store queue before the remapping have left the store queue and become globally visible.
    Type: Application
    Filed: August 30, 2013
    Publication date: March 5, 2015
    Applicant: Soft Machines, Inc.
    Inventors: Karthikeyan Avudaiyappan, Paul Chan
  • Publication number: 20150052286
    Abstract: Systems and methods are provided that facilitate retrieval of a hash index in an electronic device. The system contains an addressing component that generates a hash index as a function of an exclusive-or identity. The addressing component can retrieve the hash index as a function of a tag value. Accordingly, required storage area can be reduced and electronic devices can be more efficient.
    Type: Application
    Filed: August 15, 2013
    Publication date: February 19, 2015
    Applicant: APPLIED MICRO CIRCUITS CORPORATION
    Inventor: Kjeld Svendsen
  • Patent number: 8949572
    Abstract: An effective address cache memory includes a TLB effective page memory configured to retain entry data including an effective page tag of predetermined high-order bits of an effective address of a process, and output a hit signal when the effective page tag matches the effective page tag from a processor; a data memory configured to retain cache data with the effective page tag or a page offset as a cache index; and a cache state memory configured to retain a cache state of the cache data stored in the data memory, in a manner corresponding to the cache index.
    Type: Grant
    Filed: October 16, 2009
    Date of Patent: February 3, 2015
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Yasuhiko Kurosawa, Shigeaki Iwasa, Seiji Maeda, Nobuhiro Yoshida, Mitsuo Saito, Hiroo Hayashi
  • Patent number: 8924648
    Abstract: A method for caching attribute data for matching attributes with physical addresses. The method includes storing a plurality of attribute entries in a memory, wherein the memory is configured to provide at least one attribute entry when accessed with a physical address, and wherein the attribute entry provided describes characteristics of the physical address.
    Type: Grant
    Filed: September 20, 2013
    Date of Patent: December 30, 2014
    Inventors: H. Peter Anvin, Guillermo J. Rozas, Alexander Klaiber, John P. Banning
  • Patent number: 8924359
    Abstract: Various systems and methods for cooperative tiering between an application and a storage device. One method can include receiving information from the application where the information identifies a storage object and identifies a location in a storage device. The location identifies one or more tiers of a plurality of tiers included in the storage device, and the storage object is assigned to the one or more tiers. The method also involves detecting whether the storage object is stored in the one or more tiers. If not, the storage device copies the storage object to the identified location. The information can also include an instruction by the application to move the storage object from a first tier to a second tier.
    Type: Grant
    Filed: April 7, 2011
    Date of Patent: December 30, 2014
    Assignee: Symantec Corporation
    Inventors: Niranjan Pendharkar, Ashish Karnik
  • Patent number: 8898424
    Abstract: The present disclosure includes devices, systems, and methods for memory address translation. One or more embodiments include a memory array and a controller coupled to the array. The array includes a first table having a number of records, wherein each record includes a number of entries, wherein each entry includes a physical address corresponding to a data segment stored in the array and a logical address. The controller includes a second table having a number of records, wherein each record includes a number of entries, wherein each entry includes a physical address corresponding to a record in the first table and a logical address. The controller also includes a third table having a number of records, wherein each record includes a number of entries, wherein each entry includes a physical address corresponding to a record in the second table and a logical address.
    Type: Grant
    Filed: April 9, 2013
    Date of Patent: November 25, 2014
    Assignee: Micron Technology, Inc.
    Inventors: Troy A. Manning, Martin L. Culley, Troy D. Larsen
  • Patent number: 8862828
    Abstract: Method and apparatus to efficiently store and cache data. Cores of a processor and cache slices co-located with the cores may be grouped into a cluster. A memory space may be partitioned into address regions. The cluster may be associated with an address region from the address regions. Each memory address of the address region may be mapped to one or more of the cache slices grouped into the cluster. A cache access from one or more of the cores grouped into the cluster may be biased to the address region based on the association of the cluster with the address region.
    Type: Grant
    Filed: August 13, 2012
    Date of Patent: October 14, 2014
    Assignee: Intel Corporation
    Inventors: Ravindra P. Saraf, Rahul Pal, Ashok Jagannathan
  • Patent number: 8856454
    Abstract: Interaction between a client and a service in which the service responds to requests from the client. In addition to responding to specific client requests, the service also anticipates or speculates about what the client may request in the future. Rather than await the client request (that may or may not ultimately be made), the service provides the unrequested anticipatory data to the client in the same data stream as the response data that actual responds to the specific client requests. The client may then use the anticipatory data to fully or partially respond to future requests from the client, if the client does make the request anticipated by the service. Thus, in some cases, latency may be reduced when responding to requests in which anticipatory data has already been provided. The service may give priority to the actual requested data, and gives secondary priority to the anticipatory data.
    Type: Grant
    Filed: June 24, 2013
    Date of Patent: October 7, 2014
    Assignee: Microsoft Corporation
    Inventors: Nicholas Alexander Allen, Kenneth D. Wolf
  • Patent number: 8856474
    Abstract: An apparatus includes a nonvolatile memory, an interface that at least receives an erase command of the nonvolatile memory, a first controller that controls the nonvolatile memory to execute data erasing on the basis of the erase command output from the interface, an external input unit which is installed independently of the interface, a second controller that controls the nonvolatile memory to execute data erasing on the basis of an erase instruction signal output from the external input unit, and a change-over circuit that switches between connection of the first controller with the nonvolatile memory and connection of the second controller with the nonvolatile memory, wherein the second controller controls the nonvolatile memory to execute data erasing on the basis of the erase instruction when the connection of the second controller with the nonvolatile memory is established by the change-over circuit.
    Type: Grant
    Filed: September 2, 2011
    Date of Patent: October 7, 2014
    Assignee: Fujitsu Limited
    Inventors: Masahiro Ise, Michiyo Garbe, Jin Abe
  • Patent number: 8850118
    Abstract: A memory access determination circuit includes a counter that switches between a first reference value and a second reference value in accordance with a control signal to generate a count value based on the first reference value or the second reference value. A controller performs a cache determination based on an address that corresponds to the count value and outputs the control signal in accordance with the cache determination. A changing unit changes the second reference value in accordance with the cache determination.
    Type: Grant
    Filed: September 14, 2011
    Date of Patent: September 30, 2014
    Assignee: Fujitsu Semiconductor Limited
    Inventor: Kazuhiko Okada
  • Patent number: 8843690
    Abstract: An apparatus having a memory and circuit is disclosed. The memory may (i) assert a first signal in response to detecting a conflict between at least two addresses requesting access to a block at a first time, (ii) generate a second signal in response to a cache miss caused by an address requesting access to the block at a second time and (iii) store a line fetched in response to the cache miss in another block by adjusting the first address by an offset. The second time is generally after the first time. The circuit may (i) generate the offset in response to the assertion of the first signal and (ii) present the offset in a third signal to the memory in response to the assertion of the second signal corresponding to reception of the first address at the second time. The offset is generally associated with the first address.
    Type: Grant
    Filed: July 11, 2011
    Date of Patent: September 23, 2014
    Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
    Inventors: Dmitry Podvalny, Alex Shinkar, Assaf Rachlevski
  • Publication number: 20140281115
    Abstract: A technique for concurrently accessing a data set includes initializing a shared cache with a column data store configured to store an expected data set in columns and creating a memory map for accessing the physical memory location in the shared cache. Other operations include mapping the applications' data access requests to the shared cache with the memory map. One advantage of the disclosed technique is that only one instance of the expected data set is stored in memory, so each application is not required to create additional instances of the expected data set in the applications memory address space. Therefore, larger expected data sets may be entirely stored in memory without limiting the number of applications running concurrently.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Inventors: Punya BISWAL, Beyang LIU, Eugene MARINELLI, Nima GHAMSARI
  • Publication number: 20140281116
    Abstract: A microprocessor implemented method for processing a load instruction is disclosed. The method comprises computing a virtual address corresponding to the load instruction. Next, it comprises performing a lookup of a set associative translation lookaside buffer (TLB) and a set associative data cache memory in parallel using early calculated lower address bits of the virtual address. Subsequently, it comprises retrieving a set of entries from the TLB corresponding to a first group of lower address bits transmitted to the TLB, wherein the set of entries comprise a plurality of virtual addresses and corresponding physical addresses. Further, it comprises finding a matching entry for the virtual address in the set of entries using upper bits of the virtual address, wherein the matching entry comprises a physical address corresponding to the virtual address. Finally, it comprises finding a matching entry in the data cache memory using the physical address.
    Type: Application
    Filed: March 14, 2014
    Publication date: September 18, 2014
    Applicant: Soft Machines, Inc.
    Inventors: Mohammad A. ABDALLAH, Ravishankar Rao
  • Patent number: 8838936
    Abstract: A method of maintaining and updating a logical-to-physical (LtoP) table in a storage device including a processor, a volatile memory, and a non-volatile memory, the storage device being in communication with a host, the method including receiving, by the processor, data for storing at a physical address in the non-volatile memory, the data being associated with a logical address of the host, storing, by the processor, the physical address in a first LtoP zone of a plurality of LtoP zones of the LtoP table, the LtoP table being stored in the volatile memory, adding, by the processor, the first LtoP zone to a list of modified zones, and storing, by the processor, a second LtoP zone of the plurality of LtoP zones in the non-volatile memory when a size of the list of modified zones exceeds a threshold.
    Type: Grant
    Filed: November 27, 2013
    Date of Patent: September 16, 2014
    Assignee: NXGN Data, Inc.
    Inventors: Nader Salessi, Joao Alcantara
  • Patent number: 8831229
    Abstract: A key transport method for transporting a key from a buffer memory to an encryption/decryption unit is provided. The method includes logically dividing bits of the key into key segments, wherein each of the key segments has a start position and a segment length. The method also includes setting a transmission length belonging to each of key segments based on the start positions and the segment lengths of the key segments; assigning a transmission bit stream belonging to each of the key segments from the bits of the key according to the start positions and the transmission lengths of the key segments; determining a transmission sequence; and sending the start position, the segment length and the transmission bit stream belonging to each of the key segments to the encryption/decryption unit from the buffer memory based on the transmission sequence. Accordingly, the method can transport the key safely.
    Type: Grant
    Filed: December 1, 2011
    Date of Patent: September 9, 2014
    Assignee: Phison Electronics Corp.
    Inventor: Ching-Wen Chang
  • Patent number: 8819392
    Abstract: 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: Grant
    Filed: July 17, 2012
    Date of Patent: August 26, 2014
    Assignee: Intel Corporation
    Inventors: David Champagne, Abhishek Tiwari, Wei Wu, Christopher J. Hughes, Sanjeev Kumar, Shih-Lien Lu
  • Publication number: 20140237157
    Abstract: A system for interfacing with a co-processor or input/output device is disclosed. According to one embodiment, the system provides a one-hot address cache comprising a plurality of one-hot addresses and a host interface to a host memory controller of a host system. Each one-hot address of the plurality of one-hot addresses has a bit width. The plurality of one-hot addresses is configured to store the data associated with a corresponding memory address in an address space of a memory system and provide the data to the host memory controller during a memory map learning process. The plurality of one-hot addresses comprises a zero address of the bit width and a plurality of non-zero addresses of the bit width, and each one-hot address of the plurality of non-zero addresses of the one-hot address cache has only one non-zero address bit of the bit width.
    Type: Application
    Filed: April 29, 2014
    Publication date: August 21, 2014
    Applicant: Diablo Technologies Inc.
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Patent number: 8812789
    Abstract: A computer readable storage medium includes instructions that, when executed by a processor, cause the processor to receive an index value included in a cache invalidate by index instruction, an encoded way value, and an incrementer output value. The instructions further cause the processor to assign the index value as an identifier value in response to receiving the cache invalidate by index instruction. The identifier value indicates a cache line for replacement.
    Type: Grant
    Filed: May 15, 2013
    Date of Patent: August 19, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Ajay Anant Ingle, Erich James Plondke, Lucian Codrescu
  • Patent number: 8806102
    Abstract: A cache system includes a primary cache memory configured to input and output data between a computation unit, the primary cache memory includes multi-port memory units each including a storing unit that stores unit data having a first data size, a writing unit that simultaneously writes sequentially inputted plural unit data to consecutive locations of the storing unit, and an outputting unit that reads out and outputs unit data written in the storing unit, wherein when writing data having a second data size that is an arbitrary multiple of a first data size and is segmented into unit data to the primary cache memory, the data is stored in different multi-port memory units by writing the sequential unit data to a subset of the multi-port memory units, and writing the other sequential unit data to another subset of the multi-port memory units.
    Type: Grant
    Filed: January 25, 2011
    Date of Patent: August 12, 2014
    Assignee: Fujitsu Limited
    Inventor: Takahito Hirano
  • Patent number: 8806142
    Abstract: Interaction between a client and a service in which the service responds to requests from the client. In addition to responding to specific client requests, the service also anticipates or speculates about what the client may request in the future. Rather than await the client request (that may or may not ultimately be made), the service provides the unrequested anticipatory data to the client in the same data stream as the response data that actual responds to the specific client requests. The client may then use the anticipatory data to fully or partially respond to future requests from the client, if the client does make the request anticipated by the service. Thus, in some cases, latency may be reduced when responding to requests in which anticipatory data has already been provided. The service may give priority to the actual requested data, and gives secondary priority to the anticipatory data.
    Type: Grant
    Filed: June 24, 2013
    Date of Patent: August 12, 2014
    Assignee: Microsoft Corporation
    Inventors: Nicholas Alexander Allen, Kenneth D. Wolf
  • Patent number: 8806101
    Abstract: 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: Grant
    Filed: December 30, 2008
    Date of Patent: August 12, 2014
    Assignee: Intel Corporation
    Inventors: Gad Sheaffer, Shlomo Raikin, Vadim Bassin, Raanan Sade, Ehud Cohen, Oleg Margulis