Addressing Of Memory Level In Which Access To Desired Data Or Data Block Requires Associative Addressing Means, E.g., Cache, Etc. (epo) Patents (Class 711/E12.017)

  • Publication number: 20130111134
    Abstract: Various embodiments for movement of partial data segments within a computing storage environment having lower and higher levels of cache by a processor are provided. In one such embodiment, a whole data segment containing one of the partial data segments is promoted to both the lower and higher levels of cache. Requested data of the whole data segment is split and positioned at a Most Recently Used (MRU) portion of a demotion queue of the higher level of cache. Unrequested data of the whole data segment is split and positioned at a Least Recently Used (LRU) portion of the demotion queue of the higher level of cache. The unrequested data is pinned in place until a write of the whole data segment to the lower level of cache completes. Additional system and computer program product embodiments are disclosed and provide related advantages.
    Type: Application
    Filed: November 1, 2011
    Publication date: May 2, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael T. BENHASE, Stephen L. BLINICK, Evangelos S. ELEFTHERIOU, Lokesh M. GUPTA, Robert HAAS, Xiao-Yu HU, Matthew J. KALOS, Ioannis KOLTSIDAS, Roman A. PLETKA
  • Publication number: 20130111131
    Abstract: The population of data to be inserted into secondary data storage cache is controlled by determining a heat metric of candidate data; adjusting a heat metric threshold; rejecting candidate data provided to the secondary data storage cache whose heat metric is less than the threshold; and admitting candidate data whose heat metric is equal to or greater than the heat metric threshold. The adjustment of the heat metric threshold is determined by comparing a reference metric related to hits of data most recently inserted into the secondary data storage cache, to a reference metric related to hits of data most recently evicted from the secondary data storage cache; if the most recently inserted reference metric is greater than the most recently evicted reference metric, decrementing the threshold; and if the most recently inserted reference metric is less than the most recently evicted reference metric, incrementing the threshold.
    Type: Application
    Filed: April 26, 2012
    Publication date: May 2, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: MICHAEL T. BENHASE, STEPHEN L. BLINICK, EVANGELOS S. ELEFTHERIOU, LOKESH M. GUPTA, ROBERT HAAS, XIAO-YU HU, IOANNIS KOLTSIDAS, ROMAN A. PLETKA
  • Publication number: 20130111136
    Abstract: According to one aspect of the present disclosure, a method and technique for variable cache line size management is disclosed. The method includes: determining whether an eviction of a cache line from an upper level sectored cache to an unsectored lower level cache is to be performed, wherein the upper level cache includes a plurality of sub-sectors, each sub-sector having a cache line size corresponding to a cache line size of the lower level cache; responsive to determining that an eviction is to be performed, identifying referenced sub-sectors of the cache line to be evicted; invalidating unreferenced sub-sectors of the cache line to be evicted; and storing the referenced sub-sectors in the lower level cache.
    Type: Application
    Filed: April 20, 2012
    Publication date: May 2, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert H. Bell, JR., Wen-Tzer T. Chen, Diane G. Flemming, Hong L. Hua, William A. Maron, Mysore S. Srinivas
  • Publication number: 20130111181
    Abstract: A data processing system comprises a device and device access circuitry. The device is mapped to a first mapped address region and to a second mapped address region. The device access circuitry, in turn, is operative to access the device in accordance with a first set of memory attributes when addressing the device within the first mapped address region and to access the device in accordance with a second set of memory attributes when addressing the device within the second mapped address region. The first set of memory attributes is different from the second set of memory attributes.
    Type: Application
    Filed: October 31, 2011
    Publication date: May 2, 2013
    Applicant: LSI CORPORATION
    Inventors: Srinivasa Rao Kothamasu, George Wayne Nation, Krishna Venkanna Bhandi
  • Publication number: 20130111120
    Abstract: In one embodiment, the present invention includes a processor having multiple domains including at least a core domain and a non-core domain that is transparent to an operating system (OS). The non-core domain can be controlled by a driver. In turn, the processor further includes a memory interconnect to interconnect the core domain and the non-core domain to a memory coupled to the processor. Still further, a power controller, which may be within the processor, can control a frequency of the memory interconnect based on memory boundedness of a workload being executed on the non-core domain. Other embodiments are described and claimed.
    Type: Application
    Filed: October 27, 2011
    Publication date: May 2, 2013
    Inventors: Avinash N. Ananthakrishnan, Inder M. Sodhi, Efraim Rotem, Doron Rajwan, Eliezer Wiessman, Ryan Wells
  • Publication number: 20130103903
    Abstract: Methods and apparatus are provided for reusing prior tag search results in a cache controller. A cache controller is disclosed that receives an incoming request for an entry in the cache having a first tag; determines if there is an existing entry in a buffer associated with the cache having the first tag; and reuses a tag access result from the existing entry in the buffer having the first tag for the incoming request. An indicator can be maintained in the existing entry to indicate whether the tag access result should be retained. Tag access results can optionally be retained in the buffer after completion of a corresponding request. The tag access result can be reused by (i) reallocating the existing entry to the incoming request if the indicator in the existing entry indicates that the tag access result should be retained; and/or (ii) copying the tag access result from the existing entry to a buffer entry allocated to the incoming request if a hazard is detected.
    Type: Application
    Filed: October 20, 2011
    Publication date: April 25, 2013
    Inventors: Vidyalakshmi Rajagopalan, Archna Raj, Sharath Kashyap, Anuj Soni
  • Publication number: 20130097380
    Abstract: A system and method for managing multiple fingerprint tables in a deduplicating storage system. A computer system includes a storage medium, a first fingerprint table comprising a first plurality of entries, and a second fingerprint table comprising a second plurality of entries. Each of the first plurality of entries and the second plurality of entries are configured to store fingerprint related data corresponding to data stored in the storage medium. A storage controller is configured to select the first fingerprint table for storage of entries corresponding to data stored in the data storage medium that has been deemed more likely to be successfully deduplicated than other data stored in the data storage medium; and select the second fingerprint table for storage of entries corresponding to data stored in the data storage medium that has been deemed less likely to be successfully deduplicated than other data stored in the storage medium.
    Type: Application
    Filed: October 14, 2011
    Publication date: April 18, 2013
    Inventors: John Colgrove, John Hayes, Ethan Miller, Joseph S. Hasbani, Cary Sandvig
  • Publication number: 20130097381
    Abstract: There is provided a management apparatus including a management unit that manages, based on execution control information indicating an execution sequence of a plurality of applications, an execution area and a cache area of a recording medium which temporarily stores the applications when the applications are executed.
    Type: Application
    Filed: October 12, 2012
    Publication date: April 18, 2013
    Applicant: SONY CORPORATION
    Inventor: SONY CORPORATION
  • Patent number: 8423723
    Abstract: A method of declaring and using variables includes; determining whether variables are independent variables or common variables, declaring and storing the independent variables in a plurality of data structures respectively corresponding to the plurality of processors, declaring and storing the common variables in a shared memory area, allowing each one of the plurality of processors to simultaneously use the independent variables in a corresponding one of the plurality of data structures, and allowing only one of the plurality of processors at a time to use the common variables in the shared memory area.
    Type: Grant
    Filed: March 16, 2010
    Date of Patent: April 16, 2013
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Hye-ran Jeon, Woo-hyong Lee, Min-gyu Lee, Woon-gee Kim, Ji-seong Oh, Ja-gun Kwon, Taek-gyun Ko
  • Patent number: 8423720
    Abstract: A computer system having a main unit and an expansion unit connected by an interface arrangement. The expansion unit includes at least one connector for receiving an input/output component, so that additional input/output components can be added to the computer system. The interface arrangement includes at least one cache controller and at least one cache memory for monitoring and predicting requests exchanged between the main unit and the expansion unit. A method of caching and processing input/output requests and a storage medium is also provided.
    Type: Grant
    Filed: May 5, 2008
    Date of Patent: April 16, 2013
    Assignee: International Business Machines Corporation
    Inventor: Andreas Christian Döring
  • Publication number: 20130091328
    Abstract: A storage system in an embodiment of this invention comprises a non-volatile storage area for storing write data from a host, a cache area capable of temporarily storing the write data before storing the write data in the non-volatile storage area, and a controller that determines whether to store the write data in the cache area or to store the write data in the non-volatile storage area without storing the write data in the cache area, and stores the write data in the determined area.
    Type: Application
    Filed: October 7, 2011
    Publication date: April 11, 2013
    Inventors: Tomohiro Yoshihara, Akira Deguchi, Hiroaki Akutsu
  • Publication number: 20130091319
    Abstract: Embodiments of the present invention provide an adaptive cache system and an adaptive cache system for a hybrid storage system. Specifically, in a typical embodiment, an input/out (I/O) traffic analysis component is provided for monitoring data traffic and providing a traffic analysis based thereon. An adaptive cache algorithm component is coupled to the I/O traffic analysis component for applying a set of algorithms to determine a storage schema for handling the data traffic. Further, an adaptive cache policy component is coupled to the adaptive cache algorithm component.
    Type: Application
    Filed: October 5, 2011
    Publication date: April 11, 2013
    Inventor: Byungcheol Cho
  • Publication number: 20130091329
    Abstract: A memory column redundancy mechanism includes a memory having a number of data output ports each configured to output one data bit of a data element. The memory also includes a number of memory columns each connected to a corresponding respective data port. Each memory column includes a plurality of bit cells that are coupled to a corresponding sense amplifier that may differentially output a respective data bit from the plurality of bit cells on an output signal and a complemented output signal. The memory further includes an output selection unit that may select as the output data bit for a given data output port, one of the output signal of the sense amplifier associated with the given data output port or the complemented output signal of the sense amplifier associated with an adjacent data output port dependent upon a respective shift signal for each memory column.
    Type: Application
    Filed: October 11, 2011
    Publication date: April 11, 2013
    Inventor: Steven C. Sullivan
  • Patent number: 8417894
    Abstract: A processor (10) of processes data using a cache circuit (12). The processor (20) is coupled to a functionally detachable device (19) via the cache circuit (12). When a cache line is loaded into cache memory (120), it is tested whether the cache line has an address within a detachable device address range allocated to the detachable device (19). If so, identification of the cache line, or a range of addresses that includes the address of the cache line is stored. When a flush command is received that requires write back cached data to the detachable device, the identification is used to select the cache line for selective write back to the detachable device. Thus less cache data needs to be invalidated when a device is functionally detached from the circuit.
    Type: Grant
    Filed: October 12, 2009
    Date of Patent: April 9, 2013
    Assignee: NXP B.V.
    Inventor: Kranthi Lakshmi
  • Publication number: 20130086323
    Abstract: A content management system has at least two content server computers, a cache memory corresponding to each content server, the cache memory having a page cache to store cache objects for pages displayed by the content server, a dependency cache to store dependency information for the cache objects, and a notifier cache to replicate changes in dependency information to other caches.
    Type: Application
    Filed: June 4, 2012
    Publication date: April 4, 2013
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventor: Hareesh S. Kadlabalu
  • Publication number: 20130086320
    Abstract: Techniques for implementing a multicast write command are described. A data block may be destined for multiple targets. The targets may be included in a list. A multicast write command may include the list. Write commands may be sent to each target in the list.
    Type: Application
    Filed: September 30, 2011
    Publication date: April 4, 2013
    Inventors: Joseph David Black, Michael G. Myrah, Balaji Natrajan
  • Publication number: 20130080704
    Abstract: A storage controller receives a request to establish a point-in-time copy operation by placing a space efficient source volume in a point-in-time copy relationship with a space efficient target volume, wherein subsequent to being established the point-in-time copy operation is configurable to consistently copy the space efficient source volume to the space efficient target volume at a point in time. A determination is made as to whether any track of an extent is staging into a cache from the space efficient target volume or destaging from the cache to the space efficient target volume. In response to a determination that at least one track of the extent is staging into the cache from the space efficient target volume or destaging from the cache to the space efficient target volume, release of the extent from the space efficient target volume is avoided.
    Type: Application
    Filed: September 26, 2011
    Publication date: March 28, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Theresa M. Brown, Ellen Joanne Grusy, Lokesh M. Gupta, Brian D. Hatfield, Kurt A. Lovrien, Carol S. Mellgren, Raul E. Saba
  • Publication number: 20130080708
    Abstract: A method of providing requests to a cache pipeline includes receiving a plurality of requests from one or more state machines at an arbiter, selecting one of the plurality of requests as a selected request, the selected request having been provided by a first state machine, determining that the selected request includes a mode that requires a first step and a second step, the first step including an access to a location in a cache, determining that the location in the cache is unavailable, and replacing the mode with a modified mode that only includes the second step.
    Type: Application
    Filed: November 20, 2012
    Publication date: March 28, 2013
    Applicant: International Business Machines Corporation
    Inventor: International Business Machines Corporation
  • Publication number: 20130080701
    Abstract: In a satellite communication system comprising at least a hub and a plurality of terminals, at least one terminal may include a cache for storing data objects. The cache may be based on a detachable memory device that may be inserted to or removed from the terminal at any given time, including after the terminal is deployed. Aspects are directed to preventing a prefetching of objects already stored in a cache of a remote terminal. In some embodiments, an efficient multicasting of content to terminals over an adaptive link may occur in a manner which may benefit terminals comprising a cache while not affecting or minimally affecting the performance of terminals that may not include a cache.
    Type: Application
    Filed: March 1, 2012
    Publication date: March 28, 2013
    Applicant: GILAT SATELLITE NETWORKS, LTD.
    Inventors: Oren Markovitz, Yoseph Hecht, Nitay Argov, Zohar Kanfi
  • Patent number: 8402221
    Abstract: In an embodiment, an indicator is set to indicate that all of a plurality of most significant bytes of characters in a character array are zero. A first index and an input character are received. The input character comprises a first most significant byte and a first least significant byte. The first most significant byte is stored at a first storage location and the first least significant byte is stored at a second storage location, wherein the first storage location and the second storage location have non-contiguous addresses. If the first most significant byte does not equal zero, the indicator is set to indicate that at least one of a plurality of most significant bytes of the characters in the character array is non-zero. The character array comprises the first most significant byte and the first least significant byte.
    Type: Grant
    Filed: August 24, 2010
    Date of Patent: March 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Jeremy A. Arnold, Scott A. Moore, Gregory A. Olson, Eric J. Stec
  • Publication number: 20130067168
    Abstract: Aspects of the subject matter described herein relate to caching data for a file system. In aspects, in response to requests from applications and storage and cache conditions, cache components may adjust throughput of writes from cache to the storage, adjust priority of I/O requests in a disk queue, adjust cache available for dirty data, and/or throttle writes from the applications.
    Type: Application
    Filed: September 9, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Sarosh Cyrus Havewala, Apurva Ashwin Doshi, Neal R. Christiansen, Atul Pankaj Talesara
  • Publication number: 20130067289
    Abstract: A method includes, in a storage device that includes a non-volatile memory having a physical storage space, receiving data items associated with respective logical addresses assigned in a logical address space that is larger than the physical storage space. The logical addresses of the data items are translated into respective physical storage locations in the non-volatile memory. The data items are stored in the respective physical storage locations.
    Type: Application
    Filed: September 7, 2012
    Publication date: March 14, 2013
    Inventors: Ariel Maislos, Avraham (Poza) Meir
  • Publication number: 20130067171
    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: Application
    Filed: February 17, 2012
    Publication date: March 14, 2013
    Applicant: PROMISE TECHNOLOGY, INC.
    Inventors: Hung-Ming Chien, Che-Jen Wang, Yi-Hua Peng
  • Publication number: 20130060999
    Abstract: The present invention is to provide a system for increasing read and write speeds of a hybrid storage unit, which includes a cache controller connected to the hybrid storage unit and a computer respectively, and stores forward and backward mapping tables each including a plurality of fields. The hybrid storage unit is composed of at least one regular storage unit (e.g., an HDD) having a plurality of regular sections corresponding to forward fields respectively, and at least one high-speed storage unit (e.g., an SSD) having a plurality of high-speed storage sections corresponding to backward fields respectively with higher read and write speeds than the regular storage unit. The cache controller can make the high-speed storage section corresponding to each backward field correspond to the regular section corresponding to the forward field, thus allowing the computer to rapidly read and write data from and into the hybrid storage unit.
    Type: Application
    Filed: August 21, 2012
    Publication date: March 7, 2013
    Applicant: WareMax Electronics Corp.
    Inventors: Yu-Ting Chiu, Chih-Liang Yen, Cheng-Wei Yang
  • Publication number: 20130061001
    Abstract: System refresh in a cache memory that includes generating a refresh time period (RTIM) pulse at a centralized refresh controller of the cache memory and activating a refresh request at the centralized refresh controller based on generating the RTIM pulse. The refresh request is associated with a single cache memory bank of the cache memory. A refresh grant is received and transmitted to a bank controller. The bank controller is associated with and localized at the single cache memory bank of the cache memory.
    Type: Application
    Filed: October 18, 2012
    Publication date: March 7, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: International Business Machines Corporation
  • Publication number: 20130061000
    Abstract: A computer-implemented method for creating a threaded package of computer executable instructions from software compiler generated code includes allocating, through a computer processor, the computer executable instructions into a plurality of stacks, differentiating between different types of computer executable instructions for each computer executable instruction allocated to each stack of the plurality of stacks, creating switch points for each stack of the plurality of stacks based upon the differentiating, and inserting the switch points within each stack of the plurality of stacks.
    Type: Application
    Filed: September 1, 2011
    Publication date: March 7, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Raul E. Silvera, Guansong Zhang, Yue Zhao
  • Publication number: 20130054896
    Abstract: A memory controller including a cache can be implemented in a system-on-chip. A cache allocation policy may be determined on the fly by the source of each memory request. The operators on the SoC allowed to allocate in the cache can be maintained under program control. Cache and system memory may be accessed simultaneously. This can result in improved performance and reduced power dissipation. Optionally, memory protection can be implemented, where the source of a memory request can be used to determine the legality of an access. This can simplifies software development when solving bugs involving non protected illegal memory accesses and can improves the system's robustness to the occurrence of errant processes.
    Type: Application
    Filed: August 21, 2012
    Publication date: February 28, 2013
    Applicant: STMicroelectronica Inc.
    Inventor: Osvaldo M. Colavin
  • Publication number: 20130054937
    Abstract: Apparatuses and methods for providing data are disclosed. An example apparatus includes a plurality of memories coupled to a data bus. The memories are configured to provide data to the data bus responsive, at least in part, to a first address. The plurality of memories are further configured to provide at least a portion of the data corresponding to the first address to the data bus during a sense operation for a second address provided to the plurality of memories after the first address. Each of the plurality of memories provides data to the data bus corresponding to the first address at different times. Moreover, a plurality of memories may be configured to provide at least 2N bits of data to the data bus responsive, at least in part, to an address, each of the plurality of memories configured to provide N bits of data to the data bus at different times.
    Type: Application
    Filed: August 26, 2011
    Publication date: February 28, 2013
    Applicant: Micron Technology, Inc.
    Inventors: Yi Chen, Yihua Zhang, Keith E. Winters
  • Publication number: 20130054895
    Abstract: A computing device employs a cooperative memory management technique to dynamically balance memory resources between host and guest systems running therein. According to this cooperative memory management technique, memory that is allocated to the guest system is dynamically adjusted up and down according to a fairness policy that takes into account various factors including the relative amount of readily freeable memory resources in the host and guest systems and the relative amount of memory allocated to hidden applications in the host and guest systems.
    Type: Application
    Filed: August 23, 2011
    Publication date: February 28, 2013
    Applicant: VMWARE, INC.
    Inventors: Harvey TUCH, Craig NEWELL, Cyprien LAPLACE
  • Publication number: 20130046933
    Abstract: A memory controller containing one or more ports coupled to a buffer selection logic and a plurality of buffers. Each buffer is configured to store write data associated with a write request and each buffer is also coupled to the buffer selection logic. The buffer selection logic is configured to store write data associated with a write request from at least one of the ports in any of the buffers based on a priority of the buffers for each one of the ports.
    Type: Application
    Filed: June 22, 2010
    Publication date: February 21, 2013
    Inventors: Hung Q. Le, Theodore F. Emerson, David F. Heinrich, Robert L. Noonan
  • Publication number: 20130046934
    Abstract: A caching circuit includes tag memories for storing tagged addresses of a first cache. On-chip data memories are arranged in the same die as the tag memories, and the on-chip data memories form a first sub-hierarchy of the first cache. Off-chip data memories are arranged in a different die as the tag memories, and the off-chip data memories form a second sub-hierarchy of the first cache. Sources (such as processors) are arranged to use the tag memories to service first cache requests using the first and second sub-hierarchies of the first cache.
    Type: Application
    Filed: August 15, 2011
    Publication date: February 21, 2013
    Inventors: Robert Nychka, William Michael Johnson, Steven D. Krueger
  • Publication number: 20130042056
    Abstract: A method of caching data is performed by a respective computer having one or more processors storing one or more storage management programs for execution by the one or more processors, non-volatile secondary storage and non-volatile cache memory. The method includes receiving from the non-volatile cache memory information identifying an amount of available storage in the non-volatile cache memory, and identifying a size of the management units in the non-volatile cache memory. The method further includes identifying write requests to write data to the non-volatile cache memory, sequentially writing to the non-volatile cache memory the write data for the identified write requests, to sequentially arranged locations in an address space of the non-volatile cache memory, and storing in memory metadata that maps the addresses or storage offsets of the write data to respective locations in the address space of the non-volatile cache memory.
    Type: Application
    Filed: August 10, 2012
    Publication date: February 14, 2013
    Inventors: Serge Shats, Steven Ted Sanford
  • Publication number: 20130042068
    Abstract: A cache for use in a central processing unit (CPU) of a computer includes a data array; a tag array configured to hold a list of addresses corresponding to each data entry held in the data array; a least recently used (LRU) array configured to hold data indicating least recently used data entries in the data array; a line fill buffer configured to receive data from an address in main memory that is located external to the cache in the event of a cache miss; and a shadow register associated with the line fill buffer, wherein the shadow register is configured to hold LRU data indicating a current state of the LRU array.
    Type: Application
    Filed: August 11, 2011
    Publication date: February 14, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Thomas B. Chadwick, JR., Robert D. Herzl, Kenneth A. Lauricella, Arnold S. Tran
  • Publication number: 20130042066
    Abstract: The present disclosure provides a method for processing a storage operation in a system with an added level of storage caching. The method includes receiving, in a storage cache, a read request from a host processor that identifies requested data and determining whether the requested data is in a cache memory of the storage cache. If the requested data is in the cache memory of the storage cache, the requested data may be obtained from the storage cache and sent to the host processor. If the requested data is not in the cache memory of the storage cache, the read request may be sent to a host bus adapter operatively coupled to a storage system. The storage cache is transparent to the host processor and the host bus adapter.
    Type: Application
    Filed: June 8, 2011
    Publication date: February 14, 2013
    Inventor: Jeffrey A. Price
  • Publication number: 20130042064
    Abstract: The present disclosure is directed to a system for dynamically adaptive caching. The system includes a storage device having a physical capacity for storing data received from a host. The system may also include a control module for receiving data from the host and compressing the data to a compressed data size. Alternatively, the data may also be compressed by the storage device. The control module may be configured for determining an amount of available space on the storage device and also determining a reclaimed space, the reclaimed space being according to a difference between the size of the data received from the host and the compressed data size. The system may also include an interface module for presenting a logical capacity to the host. The logical capacity has a variable size and may include at least a portion of the reclaimed space.
    Type: Application
    Filed: August 3, 2012
    Publication date: February 14, 2013
    Applicant: LSI Corporation
    Inventors: Horia Simionescu, Mark Ish, Luca Bert, Robert Quinn, Earl T. Cohen, Timothy Canepa
  • Patent number: 8375166
    Abstract: Methods and structures for limiting the write portion of a local cache memory in one or more disk drives of a storage system such that a storage controller coupled to each may mirror the content and structure of the write portion of each disk drive. The size of the write portion of the local cache memory in a disk drive controller may be controlled by the storage controller or other host device. The size of the write portion may be controlled by switch settings to select among a plurality of predefined sizes or may be programmed by the storage controller or other host device. Programming such a size value may be by setting parameter values in a configuration page of a SCSI disk drive's local memory or may be by a vendor unique command sent by a host device to the disk drive.
    Type: Grant
    Filed: January 15, 2010
    Date of Patent: February 12, 2013
    Assignee: Seagate Technology LLC
    Inventors: Michael M. Lee, Maurice L. Schlumberger
  • Patent number: 8375171
    Abstract: A system provides a cache memory coherency mechanism within a multi-processor computing system utilizing a shared memory space across the multiple processors. The system possesses a store address list for storing cache line addresses corresponding to a cache line write request issued by one of the multiple processors, a fetch address list for storing cache line addresses corresponding to a cache line fetch request issued by one of the multiple processors, a priority and pipeline module, a request tracker module and a read/write address list. The store address list and the fetch address list are queues containing result in cache lookup requests being done by the priority and pipeline module; and each entry in the store address list and the fetch address list possess status bits which indicate the state of the request.
    Type: Grant
    Filed: April 8, 2010
    Date of Patent: February 12, 2013
    Assignee: Unisys Corporation
    Inventors: Daniel Heine, Eric Aho
  • Publication number: 20130036252
    Abstract: Methods and apparatus, including computer program products, are provided for providing value help. In one aspect, there is provided a computer-implemented method. The method may include receiving, at a code list provider, a request from a user interface for code list value help; determining, based on the request, whether to access at least one of a cache and a secondary storage; accessing, by the code list provider, a cache including at least a first code list, the cache implemented in memory, when the determination results in access to the cache; accessing a secondary storage including at least a second code list, when the determination results in access to the secondary storage; and sending, by the code list provider, at least one of the first code list and the second code list to a user interface to enable the user interface to provide code list value help. Related apparatus, systems, methods, and articles are also described.
    Type: Application
    Filed: August 2, 2011
    Publication date: February 7, 2013
    Inventors: Olaf Duevel, Udo Klein, Friedhelm Krebs, Steffen Riemann, Bernhard Thimmel
  • Publication number: 20130036267
    Abstract: A method, system and computer program product for placing data in shards on a storage device may include determining placement of a data set in one of a plurality of shards on the storage device. Each one of the shards may include a different at least one performance feature. Each different at least one performance feature may correspond to a different at least one predetermined characteristic associated with a particular set of data. The data set is cached in the one of the plurality of shards on the storage device that includes the at least one performance feature corresponding to the at least one predetermined characteristic associated with the data set being cached.
    Type: Application
    Filed: May 8, 2012
    Publication date: February 7, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Todd E. KAPLINGER, Nitin GAUR, Kulvir Singh BHOGAL, Christopher Douglas JOHNSON
  • Publication number: 20130036268
    Abstract: In one embodiment, the present invention includes an apparatus having a register file to store vector data, an address generator coupled to the register file to generate addresses for a vector memory operation, and a controller to generate an output slice from one or more slices each including multiple addresses, where the output slice includes addresses each corresponding to a separately addressable portion of a memory. Other embodiments are described and claimed.
    Type: Application
    Filed: October 12, 2012
    Publication date: February 7, 2013
    Inventors: Roger Espasa, Joel Emer, Geoff Lowney, Roger Gramunt, Santiago Galan, Toni Juan, Jesus Corbal, Federico Ardanaz, Isaac Hernandez
  • Publication number: 20130036271
    Abstract: Systems and methods are disclosed for improving the performance of cache memory in a computer system by dynamically selecting an index for caching main memory while an application is running. A disclosed example of a memory system includes a cache including a data array, a primary tag array, and at least one secondary tag array. A currently selected index is used to index data bits to the data array and tag bits to the primary tag array. The performance of at least one candidate index is evaluated by indexing tag bits to the secondary tag array, without caching any data using the candidate index while the candidate index is under evaluation. If the candidate index has a better hit rate than the currently selected index, the memory system switches to using the candidate index to cache data.
    Type: Application
    Filed: August 2, 2011
    Publication date: February 7, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: MVV A. Krishna, Shaul Yifrach
  • Publication number: 20130036265
    Abstract: The present invention is directed to a method for providing storage acceleration in a data storage system. In the data storage system described herein, multiple independent controllers may be utilized, such that a first storage controller may be connected to a first storage tier (ex.—a fast tier) which includes a solid-state drive, while a second storage controller may be connected to a second storage tier (ex.—a slower tier) which includes a hard disk drive. The accelerator functionality may be split between the host of the system and the first storage controller of the system (ex.—some of the accelerator functionality may be offloaded to the first storage controller) for promoting improved storage acceleration performance within the system.
    Type: Application
    Filed: August 3, 2011
    Publication date: February 7, 2013
    Applicant: LSI CORPORATION
    Inventors: Luca Bert, Mark Ish
  • Publication number: 20130031303
    Abstract: Memory requests for information from a processor are received in an interface device, and the interface device is coupled to a stack including two or more memory devices. The interface device is operated to select a memory device from a number of memory devices including the stack, and to retrieve some or all of the information from the selected memory device for the processor. Additional apparatus, systems and methods are disclosed.
    Type: Application
    Filed: October 1, 2012
    Publication date: January 31, 2013
    Applicant: Micron Technology, Inc.
    Inventor: Micron Technology, Inc.
  • Publication number: 20130031299
    Abstract: In general, embodiments of the present invention provide a disk an I/O layer architecture having a customized block-level device driver. In a typical embodiment, the architecture described herein comprises a file system layer being configured to handle user data; a buffer cache layer, adjacent the file system layer, the buffer cache layer being configured to handle page data; a block device driver layer adjacent the buffer cache layer, the block device driver layer being configured to handle block data, and the block device driver layer comprising an I/O scheduler layer and a device driver layer; and a storage unit layer adjacent the block device driver layer, the storage unit layer being configured to hand command data. Moreover, the storage unit layer can comprise a set (e.g., at least one) of semiconductor storage device (SSD) memory units, and the I/O scheduler layer can be configured to handle memory-based devices (e.g.
    Type: Application
    Filed: July 29, 2011
    Publication date: January 31, 2013
    Inventor: Byungcheol Cho
  • Patent number: 8364924
    Abstract: According to one embodiment, a method for using flash memory in a storage cache comprises receiving data to be cached in flash memory of a storage cache, at least some of the received data being received from at least one of a host system and a storage medium, selecting a block of the flash memory for receiving the data, buffering the received data until sufficient data has been received to fill the block, and overwriting existing data in the selected block with the buffered data. According to another embodiment, a method comprises receiving data, at least some of the data being from a host system and/or a storage medium, and sequentially overwriting sequential blocks of the flash memory with the received data. Other devices and methods for working with flash memory in a storage cache according to various embodiments are included and described herein.
    Type: Grant
    Filed: October 21, 2009
    Date of Patent: January 29, 2013
    Assignee: International Business Machines Corporation
    Inventors: Wendy A. Belluomini, Binny S. Gill, Michael A. Ko
  • Patent number: 8364897
    Abstract: A method and apparatus for an adjustable number of ways within a cache is herein described. A cache may comprise a plurality of lines addressably organized as a plurality of ways, wherein the plurality of ways may be addressably organized as groups. The cache may also have associated cache control logic to map a memory address to at least one way within each group based on a predetermined number of bits in the memory address.
    Type: Grant
    Filed: September 29, 2004
    Date of Patent: January 29, 2013
    Assignee: Intel Corporation
    Inventor: Kiran R. Desai
  • Publication number: 20130024623
    Abstract: An invention is provided for performing flush cache in a non-volatile memory. The invention includes maintaining a plurality of free memory blocks within a non-volatile memory. When a flush cache command is issued, a flush cache map is examined to obtain a memory address of a memory block in the plurality of free memory blocks within the non-volatile memory. The flush cache map includes a plurality of entries, each entry indicating a memory block of the plurality of free memory blocks. Then, a cache block is written to a memory block at the obtained memory address within the non-volatile memory. In this manner, when a flush cache command is received, the flush cache map allows cache blocks to be written to free memory blocks in the non-volatile memory without requiring a non-volatile memory search for free blocks or requiring erasing of memory blocks storing old data.
    Type: Application
    Filed: September 28, 2012
    Publication date: January 24, 2013
    Applicant: CADENCE DESIGN SYSTEMS, INC.
    Inventor: Cadence Design Systems, Inc.
  • Publication number: 20130024613
    Abstract: Provided are a computer program product, system, and method for prefetching data tracks and parity data to use for destaging updated tracks. A write request is received including at least one updated track to the group of tracks. The at least one updated track is stored in a first cache device. A prefetch request is sent to the at least one sequential access storage device to prefetch tracks in the group of tracks to a second cache device. A read request is generated to read the prefetch tracks following the sending of the prefetch request. The read prefetch tracks returned to the read request from the second cache device are stored in the first cache device. New parity data is calculated from the at least one updated track and the read prefetch tracks.
    Type: Application
    Filed: July 22, 2011
    Publication date: January 24, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael T. Benhase, Binny S. Gill, Lokesh M. Gupta, James L. Hafner
  • Publication number: 20130024597
    Abstract: A method is provided including recording, in a counter of a set of counters, a number of cache accesses for a page corresponding to a translation lookaside buffer (TLB) page table entry, where the counters are physically grouped together and physically separate from the TLB. The method also includes recording the number of cache accesses from the corresponding counter to a field of the page table responsive to an event. An apparatus is provided that includes a memory unit and a set of counters coupled to the one memory unit, the set of counters comprises one or more counters that are physically grouped together and are adapted to store a value indicative of a number of memory page accesses. The apparatus includes a cache coupled to the set of counters. Also provided is a computer readable storage device encoded with data for adapting a manufacturing facility to create the apparatus.
    Type: Application
    Filed: July 19, 2011
    Publication date: January 24, 2013
    Inventors: Gabriel H. Loh, Nuwan Jayasena
  • Publication number: 20130013862
    Abstract: A system and method for efficiently handling misaligned memory accesses within a processor. A processor comprises a load-store unit (LSU) with a banked data cache (d-cache) and a banked store queue. The processor generates a first address corresponding to a memory access instruction identifying a first cache line. The processor determines the memory access is misaligned which crosses over a cache line boundary. The processor generates a second address identifying a second cache line logically adjacent to the first cache line. If the instruction is a load instruction, the LSU simultaneously accesses the d-cache and store queue with the first and the second addresses. If there are two hits, the data from the two cache lines are simultaneously read out. If the access is a store instruction, the LSU separates associated write data into two subsets and simultaneously stores these subsets in separate cache lines in separate banks of the store queue.
    Type: Application
    Filed: July 6, 2011
    Publication date: January 10, 2013
    Inventors: Hari S. Kannan, Pradeep Kanapathipillai, Greg M. Hess