Partitioned Cache Patents (Class 711/129)
  • Patent number: 8510491
    Abstract: A method and apparatus for efficient interrupt event notification for a scalable input/output device in a network system. A network interface unit is operably connected to a plurality of processing entities and associated memory units. At least one status register in the network interface unit contains information relating to a process to be performed by at least one processing entity communicated to the processing entity by an interrupt event notification. Shared memory space comprises a mailbox storage register operable to store an image of the interrupt information stored in the status register of the network interface unit. A processing entity can directly access the process information stored in the mailbox status register thereby reducing system latency associated with reading information in the status register. Updated process status information in the network interface status register may be read by the processing entity on an interleaved basis while executing a process.
    Type: Grant
    Filed: April 5, 2005
    Date of Patent: August 13, 2013
    Assignee: Oracle America, Inc.
    Inventors: Ariel Hendel, Yatin Gajjar, May Lin, Rahoul Pun, Michael Wong
  • Patent number: 8504773
    Abstract: A system and method for buffering intermediate data in a processing pipeline architecture stores the intermediate data in a shared cache that is coupled between one or more pipeline processing units and an external memory. The shared cache provides storage that is used by multiple pipeline processing units. The storage capacity of the shared cache is dynamically allocated to the different pipeline processing units as needed, to avoid stalling the upstream units, thereby improving overall system throughput.
    Type: Grant
    Filed: December 2, 2008
    Date of Patent: August 6, 2013
    Assignee: Nvidia Corporation
    Inventors: David B. Glasco, Peter B. Holmqvist, George R. Lynch, Patrick R. Marchand, James Roberts
  • Patent number: 8499128
    Abstract: According to the disclosure, a unique and novel archiving system that provides one or more application layer partitions to archive data is disclosed. Embodiments include an active archive including a fixed storage. The active archive can create application layer partitions that associate the application layer partitions with portions of the fixed storage. Each application layer partition, in embodiments, has a separate set of controls that allow for customized storage of different data within a single archiving system. Further, embodiments of methods for ensuring storage capacity in the active archive and the application layer partitions within the active archive is also disclosed.
    Type: Grant
    Filed: February 9, 2012
    Date of Patent: July 30, 2013
    Assignee: Imation Corp.
    Inventors: Matthew D. Bondurant, S. Christopher Alaimo, Randy Kerns
  • Patent number: 8495302
    Abstract: In an embodiment, a target number of discretionary pages is calculated for a first partition. If the target number of discretionary pages for the first partition is less than a number of the discretionary pages that are allocated to the first partition, a result page is found that is allocated to the first partition and the result page is deallocated from the first partition. If the target number of discretionary pages for the first partition is greater than the number of the discretionary pages that are allocated to the first partition, a free page is allocated to the first partition.
    Type: Grant
    Filed: November 30, 2011
    Date of Patent: July 23, 2013
    Assignee: International Business Machines Corporation
    Inventors: Wade B. Ouren, Edward C. Prosser, Kenneth C. Vossen
  • Patent number: 8484417
    Abstract: Version indicators within an existing range can be associated with a data partition in a distributed data store. A partition reconfiguration can be associated with one of multiple partitions in the data store, and a new version indicator that is outside the existing range can be assigned to the reconfigured partition. Additionally, a broadcast message can be sent to multiple nodes, which can include storage nodes and/or client nodes that are configured to communicate with storage nodes to access data in a distributed data store. The broadcast message can include updated location information for data in the data store. In addition, a response message can be sent to a requesting node of the multiple nodes in response to receiving from that node a message that requests updated location information for the data. The response message can include the requested updated location information.
    Type: Grant
    Filed: December 24, 2011
    Date of Patent: July 9, 2013
    Assignee: Microsoft Corporation
    Inventors: Lu Xun, Hua-Jun Zeng, Muralidhar Krishnaprasad, Radhakrishnan Srikanth, Ankur Agrawal, Balachandar Pavadaisamy
  • Publication number: 20130166847
    Abstract: According to one embodiment, an apparatus includes a storage module, a cache module, and a changing module. The cache module is configured to use a first cache data storage region in a storage region of a first storage device as a cache of the storage module, and to manage cache management information includes position information indicating a position of the first cache data storage region. The changing module is configured to store cache data stored in the first cache data storage region in a second cache data storage region in a storage region of a second storage device when it is requested to use the second cache data storage region as the cache of the storage module, and to update the position information.
    Type: Application
    Filed: September 7, 2012
    Publication date: June 27, 2013
    Inventor: Kazunari Kawamura
  • Publication number: 20130138889
    Abstract: Systems and methods for cache optimization, the method comprising monitoring cache access rate for one or more cache tenants in a computing environment, wherein a first cache tenant is allocated a first cache having a first cache size which may be adjusted; determining a cache profile for at least the first cache over one or more time intervals according to data collected during the monitoring, analyzing the cache profile for the first cache to determine an expected cache usage model for the first cache; and analyzing the cache usage model and factors related to cache efficiency for the one or more cache tenants to dictate one or more constraints that define boundaries for the first cache size.
    Type: Application
    Filed: November 30, 2011
    Publication date: May 30, 2013
    Applicant: International Business Machines Corporation
    Inventors: Gregory Chockler, Guy Laden, Ýmir Vigfússon
  • Publication number: 20130138890
    Abstract: A method for performing dynamic configuration includes: freezing a bus between a dynamic configurable cache and a plurality of cores/processors by rejecting a request from any of the cores/processors during a bus freeze period, wherein the dynamic configurable cache is implemented with an on-chip memory; and adjusting a size of a portion of the dynamic configurable cache, wherein the portion of the dynamic configurable cache is capable of caching/storing information for one of the cores/processors. An associated apparatus is also provided. In particular, the apparatus includes the plurality of cores/processors, the dynamic configurable cache, and a dynamic configurable cache controller, and can operate according to the method.
    Type: Application
    Filed: February 24, 2012
    Publication date: May 30, 2013
    Inventor: You-Ming Tsao
  • Patent number: 8447874
    Abstract: A system generates a web page that includes a plurality of embedded data windows. The system receives a request for the web page from a browser and in response generates and displays a frame for the web page on the browser. The frame includes holes for the embedded data windows. The system also receives a data streaming request for each of the embedded data windows and determines if the data streaming requests are thread-safe. For all the data streaming requests that are thread-safe, the system generates a parallel thread to fetch the data for each corresponding data streaming requests. When the data has been fetched for a particular data streaming requests, the data is rendered and streamed to the browser where it is displayed in place of the hole by the browser.
    Type: Grant
    Filed: February 4, 2008
    Date of Patent: May 21, 2013
    Assignee: Oracle International Corporation
    Inventors: Blake Sullivan, Max Starets, Edward J. Farrell
  • Patent number: 8447948
    Abstract: Management of a data cache having a compressed portion and an uncompressed portion by adaptively and dynamically allocating the relative amount space each portion receives. The relative sizes are defined based on one or more cost metrics and benefit metrics. The metrics are selected based on the performance of an application utilizing the cache. An optimized benefit relative to the cost is defined. Application operations on the cache are sampled and the relative cost and benefit is determined for different ratios of uncompressed to compressed cache sizes. The size of the uncompressed portion relative to the compressed portion is then re-adjusted based on an optimal cost-to-benefit ratio for the application.
    Type: Grant
    Filed: April 25, 2008
    Date of Patent: May 21, 2013
    Assignee: Amazon Technologies, Inc
    Inventors: Ozgun A. Erdogan, Giuseppe deCandia, Tobias L. Holgers, Vishal Parakh, Benjamin WS Redman
  • Patent number: 8438338
    Abstract: An approach is provided to identifying cache extension sizes that correspond to different partitions that are running on a computer system. The approach extends a first hardware cache associated with a first processing core that is included in the processor's silicon substrate with a first memory allocation from a system memory area, with the system memory area being external to the silicon substrate and the first memory allocation corresponding to one of the plurality of cache extension sizes that corresponds to one of the partitions that is running on the computer system. The approach further extends a second hardware cache associated with a second processing core also included in the processor's silicon substrate with a second memory allocation from the system memory area with the second memory allocation corresponding to another of the cache extension sizes that corresponds to a different partitions that is being executed by the second processing core.
    Type: Grant
    Filed: August 15, 2010
    Date of Patent: May 7, 2013
    Assignee: International Business Machines Corporation
    Inventors: Diane Garza Flemming, William A. Maron, Ram Raghavan, Mysore Sathyanarayana Srinivas, Basu Vaidyanathan
  • Patent number: 8438359
    Abstract: Provided is a method for managing a memory storage region used by a processor. The processor is connected to the memory that stores data accessed while a task is being executed. The memory management method including the steps of: dividing the memory area of the memory into blocks having a plurality of different sizes; selecting a block having a size matching a size of the data accessed while the task is being executed; and storing the data accessed while the task is being executed in the selected block.
    Type: Grant
    Filed: February 27, 2008
    Date of Patent: May 7, 2013
    Assignee: Waseda University
    Inventors: Hironori Kasahara, Keiji Kimura, Hirofumi Nakano, Takumi Nito, Takanori Maruyama, Tsuyoshi Miura, Tomohiro Tagawa
  • Publication number: 20130111121
    Abstract: In one embodiment, the present invention is directed to a processor having a plurality of cores and a cache memory coupled to the cores and including a plurality of partitions. The processor can further include a logic to dynamically vary a size of the cache memory based on a memory boundedness of a workload executed on at least one of the cores. Other embodiments are described and claimed.
    Type: Application
    Filed: October 31, 2011
    Publication date: May 2, 2013
    Inventors: Avinash N. Ananthakrishnan, Efraim Rotem, Eliezer Wiessman, Doron Rajwan, Nadav Shulman, Alon Naveh, Hisham Abu-Salah
  • Publication number: 20130097387
    Abstract: Aspects of various embodiments are directed to memory circuits, such as cache memory circuits. In accordance with one or more embodiments, cache-access to data blocks in memory is controlled as follows. In response to a cache miss for a data block having an associated address on a memory access path, data is fetched for storage in the cache (and serving the request), while one or more additional lookups are executed to identify candidate locations to store data. An existing set of data is moved from a target location in the cache to one of the candidate locations, and the address of the one of the candidate locations is associated with the existing set of data. Data in this candidate location may, for example, thus be evicted. The fetched data is stored in the target location and the address of the target location is associated with the fetched data.
    Type: Application
    Filed: October 15, 2012
    Publication date: April 18, 2013
    Applicant: The Board of Trustees of the Leland Stanford Junior University
    Inventor: The Board of Trustees of the Leland Stanford Juni
  • Patent number: 8423717
    Abstract: A multi-core processor chip comprises at least one shared cache having a plurality of ports and a plurality of address spaces and a plurality of processor cores. Each processor core is coupled to one of the plurality of ports such that each processor core is able to access the at least one shared cache simultaneously with another of the plurality of processor cores. Each processor core is assigned one of a unique application or a unique application task and the multi-core processor is operable to execute a partitioning operating system that temporally and spatially isolates each unique application and each unique application task such that each of the plurality of processor cores does not attempt to write to the same address space of the at least one shared cache at the same time as another of the plurality of processor cores.
    Type: Grant
    Filed: December 2, 2009
    Date of Patent: April 16, 2013
    Assignee: Honeywell International Inc.
    Inventors: Scott Gray, Nicholas Wilt
  • Patent number: 8412677
    Abstract: Described in detail herein are systems and methods for deduplicating data using byte-level or quasi byte-level techniques. In some embodiments, a file is divided into multiple blocks. A block includes multiple bytes. Multiple rolling hashes of the file are generated. For each byte in the file, a searchable data structure is accessed to determine if the data structure already includes an entry matching a hash of a minimum sequence length. If so, this indicates that the corresponding bytes are already stored. If one or more bytes in the file are already stored, then the one or more bytes in the file are replaced with a reference to the already stored bytes. The systems and methods described herein may be used for file systems, databases, storing backup data, or any other use case where it may be useful to reduce the amount of data being stored.
    Type: Grant
    Filed: November 27, 2009
    Date of Patent: April 2, 2013
    Assignee: CommVault Systems, Inc.
    Inventor: Michael F. Klose
  • Patent number: 8412884
    Abstract: It is provided a storage system for storing data requested by a host computer to be written, the storage system comprising: at least one processor, a cache memory and a cache controller. The cache memory includes a first memory which can be accessed by way of either access that can specify an access range by a line or access that continuously performs a read and a write. The cache controller includes a second memory which has a higher flexibility than the first memory in specifying an access range. The cache controller determines an address of an access destination upon reception of a request for an access to the cache memory from the at least one processor, and switches a request for an access to a specific address into an access to a corresponding address in the second memory.
    Type: Grant
    Filed: October 13, 2011
    Date of Patent: April 2, 2013
    Assignee: Hitachi, Ltd.
    Inventors: Kyohei Ide, Sumihiro Miura, Naoki Moritoki
  • Patent number: 8397026
    Abstract: An access control system (10) is disclosed for controlling access to data stored on at least one data storage medium (14) of a computing system. The access control system (10) comprises authentication means (25) to authenticate users permitted to access data stored in the at least one data storage medium (14) and database means (29) arranged to store data access profiles. Each data access profile is associated with a user permitted to access data stored in the at least one data storage medium (14), each data access profile includes information indicative of the degree of access permitted by a user to data stored in the at least one data storage medium (14), and each data access profile includes a master data access profile (M) and a current data access profile (C). The current data access profile (C) is modifiable within parameters defined by the master data access profile (M).
    Type: Grant
    Filed: March 4, 2005
    Date of Patent: March 12, 2013
    Assignee: Secure Systems Limited
    Inventors: Michael J. Wynne, Michael R. Geddes
  • Patent number: 8392660
    Abstract: A cache system includes processing units operative to access a main memory device, caches coupled in one-to-one correspondence to the processing units, and a controller coupled to the caches to control data transfer between the caches and data transfer between the main memory and the caches, wherein the controller includes a memory configured to store first information and second information separately for each index, the first information indicating an order of oldness of entries in each one of the caches, and the second information indicating an order of oldness of entries for the plurality of the caches, and a logic circuit configured to select an entry to be evicted and its destination in response to the first and second information when an entry of an index corresponding to an accessed address is to be evicted from a cache corresponding to the processing unit that accesses the main memory device.
    Type: Grant
    Filed: May 21, 2009
    Date of Patent: March 5, 2013
    Assignee: Fujitsu Limited
    Inventors: Yi Ge, Shinichiro Tago
  • Patent number: 8386721
    Abstract: A storage includes: host interface units; file control processors which receives a file input/output request and translates the file input/output request into a data input/output request; file control memories which store translation control data; groups of disk drives; disk control processors; disk interface units which connect the groups of disk drives and the disk control processors; cache memories; and inter-processor communication units. The storage logically partitions these devices to cause the partitioned devices to operate as two or more virtual NASs.
    Type: Grant
    Filed: November 21, 2008
    Date of Patent: February 26, 2013
    Assignee: Hitachi, Ltd.
    Inventors: Kentaro Shimada, Akiyoshi Hashimoto
  • Patent number: 8386714
    Abstract: Embodiments of the invention are directed to reducing write amplification in a cache with flash memory used as a write cache. An embodiment of the invention includes partitioning at least one flash memory device in the cache into a plurality of logical partitions. Each of the plurality of logical partitions is a logical subdivision of one of the at least one flash memory device and comprises a plurality of memory pages. Data are buffered in a buffer. The data includes data to be cached, and data to be destaged from the cache to a storage subsystem. Data to be cached are written from the buffer to the at least one flash memory device. A processor coupled to the buffer is provided with access to the data written to the at least one flash memory device from the buffer, and a location of the data written to the at least one flash memory device within the plurality of logical partitions. The data written to the at least one flash memory device are destaged from the buffer to the storage subsystem.
    Type: Grant
    Filed: June 29, 2010
    Date of Patent: February 26, 2013
    Assignee: International Business Machines Corporation
    Inventors: Wendy A. Belluomini, Binny S. Gill, Michael A. Ko
  • Patent number: 8370850
    Abstract: A number of applications can be run by the computing system. Such applications can execute independently from each other and can also each independently manage a corresponding set of content stored on a local storage device (LSD). One of the advantages presented by the invention is the ability of the LSD to inform one application of the content made available on the LSD by another one of the applications even though the applications have no relationship to each other. In this way, a synergy between the independent applications can be achieved providing a co-operative environment that can result in, for example, improved operation of the computing system, improved resource (i.e., memory, bandwidth, processing) allocation and use, and other factors.
    Type: Grant
    Filed: February 25, 2008
    Date of Patent: February 5, 2013
    Assignee: SanDisk IL Ltd.
    Inventors: Alain Nochimowski, Amir Mosek
  • Patent number: 8370599
    Abstract: A controlling system is used in a storage system. The storage system includes a host and at least one storage device connected to the host in series. The controlling system includes a detecting unit and a partitioning unit. The detecting unit is operable to detect the number of the at least one storage device. The partitioning unit is operable to partition the at least one storage device and generate a partition table and at least one partition information table. The partition table records partition information of the at least one storage device. Each partition information table is stored in a corresponding storage device and records storage information of the corresponding storage device.
    Type: Grant
    Filed: July 16, 2009
    Date of Patent: February 5, 2013
    Assignee: Hon Hai Precision Industry Co., Ltd.
    Inventor: Wei-Lung Lin
  • Patent number: 8370585
    Abstract: A data processing system is provided. The data processing system includes a plurality of processors, a cache memory shared by the plurality of processors, in which memory a cache line is divided into a plurality of partial writable regions. The plurality of processors are given exclusive access rights to the partial writable region waits.
    Type: Grant
    Filed: December 8, 2009
    Date of Patent: February 5, 2013
    Assignee: Fujitsu Limited
    Inventor: Masaki Ukai
  • Publication number: 20130031310
    Abstract: A computer system includes: a main storage unit, a processing executing unit sequentially executing processing to be executed on virtual processors; a level-1 cache memory shared among the virtual processors; a level-2 cache memory including storage areas partitioned based on the number of the virtual processors, the storage areas each (i) corresponding to one of the virtual processors and (ii) holding the data to be used by the corresponding one of the virtual processors; a context memory holding a context item corresponding to the virtual processor; a virtual processor control unit saving and restoring a context item of one of the virtual processors; a level-1 cache control unit; and a level-2 cache control unit.
    Type: Application
    Filed: October 4, 2012
    Publication date: January 31, 2013
    Applicant: PANASONIC CORPORATION
    Inventor: Panasonic Corporation
  • Patent number: 8364896
    Abstract: A method of configuring a unified cache includes identifying unified cache way assignment combinations for an application unit. Each combination has an associated error rate. A combination is selected based at least in part on the associated error rate. The unified cache is configured in accordance with the selected combination for execution of the application-unit.
    Type: Grant
    Filed: September 20, 2008
    Date of Patent: January 29, 2013
    Assignee: Freescale Semiconductor, Inc.
    Inventor: William C. Moyer
  • Patent number: 8364898
    Abstract: A method and a system for utilizing less recently used (LRU) bits and presence bits in selecting cache-lines for eviction from a lower level cache in a processor-memory sub-system. A cache back invalidation (CBI) logic utilizes LRU bits to evict only cache-lines within a LRU group, following a cache miss in the lower level cache. In addition, the CBI logic uses presence bits to (a) indicate whether a cache-line in a lower level cache is also present in a higher level cache and (b) evict only cache-lines in the lower level cache that are not present in a corresponding higher level cache. However, when the lower level cache-line selected for eviction is also present in any higher level cache, CBI logic invalidates the cache-line in the higher level cache. The CBI logic appropriately updates the values of presence bits and LRU bits, following evictions and invalidations.
    Type: Grant
    Filed: January 23, 2009
    Date of Patent: January 29, 2013
    Assignee: International Business Machines Corporation
    Inventors: Ganesh Balakrishnan, Anil Krishna
  • Publication number: 20130024621
    Abstract: The present invention relates to a coarse-grained reconfigurable array, comprising: at least one processor; a processing element array including a plurality of processing elements, and a configuration cache where commands being executed by the processing elements are saved; and a plurality of memory units forming a one-to-one mapping with the processor and the processing element array. The coarse-grained reconfigurable array further comprises a central memory performing data communications between the processor and the processing element array by switching the one-to-one mapping such that when the processor transfers data from/to a main memory to/from a frame buffer, a significant bottleneck phenomenon that may occur due to the limited bandwidth and latency of a system bus can be improved.
    Type: Application
    Filed: June 1, 2010
    Publication date: January 24, 2013
    Applicant: SNU R & DB Foundation
    Inventors: Ki Young Choi, Kyung Wook Chang, Jong Kyung Paek
  • Publication number: 20130007370
    Abstract: Implementations of the present disclosure involve an apparatus and/or method for allocating, dividing and accessing memory of a multi-threaded computing system based at least in part on the structural hierarchy of the components of the computing system. Allocating partitions of memory based on the hierarchy structure of the computing system may isolate the threads of the computing system such that cache-memory contention by a plurality of executing threads may be reduced. In general, the apparatus and/or method may analyze the hierarchal structure of the components of the computing system utilized in the execution of applications and divide the available memory of the system between the various components. This division of the system memory creates exclusive partitions in the caches of the computing system based on the processor and cache hierarchy. The partitions may be used by different applications or by different sections of the same application to store accessed memory in cache for quick retrieval.
    Type: Application
    Filed: July 1, 2011
    Publication date: January 3, 2013
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Alok Parikh, Amandeep Singh
  • Publication number: 20130007341
    Abstract: In some embodiments, a non-volatile cache memory may include a segmented non-volatile cache memory configured to be located between a system memory and a mass storage device of an electronic system and a controller coupled to the segmented non-volatile cache memory, wherein the controller is configured to control utilization of the segmented non-volatile cache memory. The segmented non-volatile cache memory may include a file cache segment, the file cache segment to store complete files in accordance with a file cache policy, and a block cache segment, the block cache segment to store one or more blocks of one or more files in accordance with a block cache policy, wherein the block cache policy is different from the file cache policy.
    Type: Application
    Filed: June 26, 2012
    Publication date: January 3, 2013
    Inventors: Dale Juenemann, R. Scott Tetrick, Oscar Pinto
  • Patent number: 8341265
    Abstract: Described are methods and apparatuses, including computer program products, for controlling server resources. An occupancy value of a buffer and a first utilization value of a first processor are measured. The buffer is configured to store one or more requests for service from at least a first client. The first processor is configured to receive and process the one or more requests from the buffer. A buffer size value is determined based on a processor throughput calculation, and a first service request limit for the first client is determined based on the occupancy value, the first utilization value, and the buffer size value.
    Type: Grant
    Filed: January 9, 2009
    Date of Patent: December 25, 2012
    Assignee: Sonus Networks, Inc.
    Inventors: Ahmed Abdelal, Wassim Matragi, Oliver C. Ibe, Rohinton Gonda
  • Publication number: 20120324168
    Abstract: A method for protecting an operation sequence executed by a portable data carrier from spying out, wherein the data carrier has at least a processor core, a main memory and a cache memory with a plurality of cache lines. The processor core is able to access, upon executing the operation sequence, at least two data values, with the data values occupying at least one cache line in the cache memory and being respectively divided into several portions so that the occurrence of a cache miss or a cache hit is independent of which data value is accessed. A computer program product and a device have corresponding features. The invention serves to thwart attacks based on an evaluation of the cache accesses during the execution of the operation sequence.
    Type: Application
    Filed: March 3, 2011
    Publication date: December 20, 2012
    Applicant: Giesecke & Devrient GmbH
    Inventor: Christof Rempel
  • Patent number: 8316186
    Abstract: A method of configuring a cache includes identifying a plurality of cache configurations of a configurable cache for a processor-executable application unit. Each configuration has an associated error rate. A selected configuration is selected based at least in part on the associated error rate. The configurable cache is configured in accordance with the selected configuration for execution of the application-unit.
    Type: Grant
    Filed: September 20, 2008
    Date of Patent: November 20, 2012
    Assignee: Freescale Semiconductor, Inc.
    Inventor: William C. Moyer
  • Patent number: 8312221
    Abstract: To provide a cache system that can dynamically change a cache capacity by memory areas divided into plural. The cache system includes a line counter that counts the number of effective lines for each memory area. The effective line is a cache line in which effective cache data is stored. Cache data to be invalidated at the time of changing the cache capacity is selected based on the number of effective lines counted by the line counter.
    Type: Grant
    Filed: May 20, 2009
    Date of Patent: November 13, 2012
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Hiroyuki Usui
  • Patent number: 8312213
    Abstract: A method to speed up access to an external storage device for accessing to the external storage device comprises the steps of: (a) during startup of a computer, setting up part of a physical memory of the computer as a cache memory for use by the external storage device, in the form of a continuous physical memory area outside the physical memory area that is managed by an operating system of the computer; (b) upon detection of a request to write data to the external storage device, writing the data to the cache memory; and (c) sending the data written in the cache memory to the external storage device to be saved therein.
    Type: Grant
    Filed: July 26, 2010
    Date of Patent: November 13, 2012
    Assignee: Buffalo Inc.
    Inventor: Noriaki Sugahara
  • Patent number: 8312219
    Abstract: Hybrid caching techniques and garbage collection using hybrid caching techniques are provided. A determination of a measure of a characteristic of a data object is performed, the characteristic being indicative of an access pattern associated with the data object. A selection of one caching structure, from a plurality of caching structures, is performed in which to store the data object based on the measure of the characteristic. Each individual caching structure in the plurality of caching structures stores data objects has a similar measure of the characteristic with regard to each of the other data objects in that individual caching structure. The data object is stored in the selected caching structure and at least one processing operation is performed on the data object stored in the selected caching structure.
    Type: Grant
    Filed: March 2, 2009
    Date of Patent: November 13, 2012
    Assignee: International Business Machines Corporation
    Inventors: Chen-Yong Cher, Michael K. Gschwind
  • Publication number: 20120278557
    Abstract: In one embodiment, a memory that is delineated into transparent and non-transparent portions. The transparent portion may be controlled by a control unit coupled to the memory, along with a corresponding tag memory. The non-transparent portion may be software controlled by directly accessing the non-transparent portion via an input address. In an embodiment, the memory may include a decoder configured to decode the address and select a location in either the transparent or non-transparent portion. Each request may include a non-transparent attribute identifying the request as either transparent or non-transparent. In an embodiment, the size of the transparent portion may be programmable. Based on the non-transparent attribute indicating transparent, the decoder may selectively mask bits of the address based on the size to ensure that the decoder only selects a location in the transparent portion.
    Type: Application
    Filed: July 10, 2012
    Publication date: November 1, 2012
    Inventors: James Wang, Zongjian Chen, James B. Keller, Timothy J. Millet
  • Publication number: 20120278556
    Abstract: Optimizing cache-resident area where cache residence control in units of LUs is employed to a storage apparatus that virtualizes the capacity by acquiring only a cache area of a size that is the same as the physical capacity assigned to the LU. An LU is a logical space resident in cache memory is configured by a set of pages acquired by dividing a pool volume as a physical space created by using a plurality of storage devices in a predetermined size. When the LU to be resident in the cache memory is created, a capacity corresponding to the size of the LU is not initially acquired in the cache memory, a cache capacity that is the same as the physical capacity allocated to a new page is acquired in the cache memory each time when the page is newly allocated, and the new page is resident in the cache memory.
    Type: Application
    Filed: July 5, 2012
    Publication date: November 1, 2012
    Inventor: Hideyuki KOSEKI
  • Patent number: 8301716
    Abstract: An interface for a multi-processor gateway apparatus and method for using the same. A user device communicates with a multi-processor gateway apparatus over a wired or wireless path. A first processor within the multi-processor gateway apparatus provides the user device a user interface. The user interface allows the user to select a function that is managed by one of the multiple processors. If the selected function is assigned to the first processor, the function is performed by the first. However, if the selected function is performed by one of the other processors, the first processor executes calls to an API layer associated with the processor assigned to perform the requested function. The requested function is performed by the processor to which it is assigned and the results reported to the first processor. The first processor then provides the results of the request to the user device via the path.
    Type: Grant
    Filed: November 20, 2009
    Date of Patent: October 30, 2012
    Assignee: Time Warner Cable Inc.
    Inventor: Jeffrey Paul Markley
  • Patent number: 8301838
    Abstract: An approach is provided for providing an application-level cache. A caching application configures at least one memory of a mobile terminal into an application-level cache with a locked region and a floating region. The caching application then causes, at least in part, actions that result in caching, into each of the locked region and the floating region, of data items that are anticipated to be requested via an application of the mobile terminal.
    Type: Grant
    Filed: November 4, 2009
    Date of Patent: October 30, 2012
    Assignee: Nokia Corporation
    Inventors: Nikolai Grigoriev, Sylvain Legault
  • Publication number: 20120272008
    Abstract: A cache memory is utilized effectively because data redundancy elimination is executed. A controller manages the cache memory by dividing it into a first area and a second area. When receiving a write access request from an access requestor, the controller divides a data block, which is an access target, into a plurality of chunks and searches the first area first and then the storage apparatus based on each chunk. If chunk storage information, indicating that each chunk is stored in the storage apparatus, does not exist in the first area or the storage apparatus, the controller executes chunk storage processing and creates and stores the chunk storage information. If the chunk storage information exists, the controller eliminates the chunk storage processing for storing the chunks. If the chunk storage information does not exist in the first area, the controller stages the chunk storage information from the storage apparatus to the first area on condition that the first area has an unused area.
    Type: Application
    Filed: April 22, 2011
    Publication date: October 25, 2012
    Applicants: HITACHI COMPUTER PERIPHERALS CO., LTD., HITACHI, LTD.
    Inventor: Naomitsu Tashiro
  • Publication number: 20120272007
    Abstract: Cache storage may be partitioned in a manner that dedicates a first portion of the cache to lockstep mode execution, while providing a second (or remaining) portion for non-lockstep execution mode(s). For example, in embodiments that employ cache storage organized as a set associative cache, partition may be achieved by reserving a subset of the ways in the cache for use when operating in lockstep mode. Some or all of the remaining ways are available for use when operating in non-lockstep execution mode(s). In some embodiments, a subset of the cache sets, rather than cache ways, may be reserved in a like manner, though for concreteness, much of the description that follows emphasizes way-partitioned embodiments.
    Type: Application
    Filed: April 19, 2011
    Publication date: October 25, 2012
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventor: William C. Moyer
  • Patent number: 8296528
    Abstract: Methods and systems for performing microcode patching are presented. In one embodiment, a data processing system comprises a cache memory and a processor. The cache memory comprises a plurality of cache sections. The processor sequesters one or more cache sections of the cache memory and stores processor microcode therein. In one embodiment, the processor executes the microcode in the one or more cache sections.
    Type: Grant
    Filed: November 3, 2008
    Date of Patent: October 23, 2012
    Assignee: Intel Corporation
    Inventors: Vincent J. Zimmer, Scott H. Robinson
  • Patent number: 8296521
    Abstract: A system, method and machine-readable medium are provided to configure a non-volatile memory (NVM) including a plurality of NVM modules, in a system having a hard disk drive (HDD) and an operating system (O/S). In response to a user selection of a hybrid drive mode for the NVM, the plurality of NVM modules are ranked according to speed performance. Boot portions of the O/S are copied to a highly ranked NVM module, or a plurality of highly ranked NVM modules, and the HDD and the highly ranked NVM modules are assigned as a logical hybrid drive of the computer system. Ranking each of the plurality of NVM modules can include carrying out a speed performance test. This approach can provide hybrid disk performance using conventional hardware, or enhance performance of an existing hybrid drive, while taking into account relative performance of available NVM modules.
    Type: Grant
    Filed: June 30, 2010
    Date of Patent: October 23, 2012
    Assignee: MOSAID Technologies Incorporated
    Inventor: Hong Beom Pyeon
  • Publication number: 20120254544
    Abstract: A system includes a cache partitioned into multiple ranks configured to store multiple storage tracks and a processor coupled to the cache. The processor is configured to perform the following method. One method includes allocating an amount of storage space in the cache to each rank and monitoring a current amount of storage space used by each rank with respect to the amount of storage space allocated to each respective rank. The method further includes destaging storage tracks from each rank until the current amount of storage space used by each respective rank is equal to a predetermined minimum amount of storage space with respect to the amount of storage space allocated to each rank.
    Type: Application
    Filed: June 11, 2012
    Publication date: October 4, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Brent C. BEARDSLEY, Michael T. BENHASE, Binny S. GILL, Lokesh M. GUPTA, Sonny E. WILLIAMS
  • Publication number: 20120254545
    Abstract: A system includes a write cache configured to store a plurality of storage tracks and configured to be coupled to one or more hosts, and a processor coupled to the write cache. The processor includes code that, when executed by the processor, causes the processor to perform the method below. One method includes monitoring the write cache for write operations from the host(s) and determining if the host(s) is/are idle based on monitoring the write cache for write operations from the host(s). The storage tracks are destaged from the write cache if the host(s) is/are idle and are not destaged from the write cache if one or more of the hosts is/are not idle.
    Type: Application
    Filed: June 11, 2012
    Publication date: October 4, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Brent C. BEARDSLEY, Michael T. BENHASE, Binny S. GILL, Lokesh M. GUPTA, Sonny E. WILLIAMS
  • Patent number: 8281076
    Abstract: A storage system coupled to a host computer, including: a non-volatile medium that stores data; a disk cache that temporarily stores data stored in the non-volatile medium, where the disk cache is divided into a plurality of independent disk cache partitions; a control unit that controls an input and an output of data to and from the non-volatile medium; and a memory unit that stores information used by the control unit, including consistency control information setting respective commands permitted for each of the disk cache partitions, to guarantee consistency of the data; wherein the control unit is configured to determine whether or not to execute a requested command for a given disk cache partition, by referring to the consistency control information setting respective commands permitted for each of the disk cache partitions.
    Type: Grant
    Filed: July 9, 2010
    Date of Patent: October 2, 2012
    Assignee: Hitachi, Ltd.
    Inventors: Akiyoshi Hashimoto, Aki Tomita
  • Patent number: 8279885
    Abstract: A beltway mechanism that takes advantage of atomic locking mechanisms supported by certain classes of hardware processors to handle the tasks that require atomic access to data structures while also reducing the overhead associated with these atomic locking mechanisms. The beltway mechanisms described herein can be used to control access to software and hardware facilities in an efficient manner.
    Type: Grant
    Filed: September 25, 2007
    Date of Patent: October 2, 2012
    Assignee: Packeteer, Inc.
    Inventor: Guy Riddle
  • Patent number: 8275969
    Abstract: A data storage area of a data storage device is partitioned logically between a user storage area and a device storage area. Source data stored securely in the device storage area is copied as derivative data to the user storage area, or is used as a basis for creating derivative data stored in the user storage area, whenever the data storage device is initialized. In one embodiment, the data storage area is read-write and the device storage area has embodied thereon device system code, executed by a controller of the data storage device, for writing source data to the device storage area only if the source data satisfies a predetermined condition. Examples of derivative data include an autorun file, a volume label and user identification. Data from a host may be stored reversibly in the user storage area but must be stored securely in the device storage area.
    Type: Grant
    Filed: February 22, 2005
    Date of Patent: September 25, 2012
    Assignee: Sandisk IL Ltd.
    Inventors: Dov Moran, Eyal Bychkov
  • Patent number: RE43798
    Abstract: A virtual memory system including a local-to-global virtual address translator for translating local virtual addresses having associated task specific address spaces into global virtual addresses corresponding to an address space associated with multiple tasks, and a global virtual-to-physical address translator for translating global virtual addresses to physical addresses. Protection information is provided by each of the local virtual-to-global virtual address translator, the global virtual-to-physical address translator, the cache tag storage, or a protection information buffer depending on whether a cache bit or miss occurs during a given data or instruction access. The cache is configurable such that it can be configured into a buffer portion or a cache portion for faster cache accesses.
    Type: Grant
    Filed: November 30, 2006
    Date of Patent: November 6, 2012
    Assignee: Microunity Systems Engineering, Inc.
    Inventor: Craig C. Hansen