Based On Data Size Patents (Class 711/171)
  • Patent number: 8995070
    Abstract: An execution environment for functional code may treat application segments as individual programs for memory management. A larger program of application may be segmented into functional blocks that receive an input and return a value, but operate without changing state of other memory objects. The program segments may have memory pages allocated to the segments by the operating system as other full programs, and may deallocate memory pages when the segments finish operating. Functional programming languages and imperative programming languages may define program segments explicitly or implicitly, and the program segments may be identified at compile time or runtime.
    Type: Grant
    Filed: October 8, 2013
    Date of Patent: March 31, 2015
    Assignee: Concurix Corporation
    Inventor: Alexander G. Gounares
  • Patent number: 8996834
    Abstract: The illustrative embodiments provide a computer implemented method, apparatus, and computer usable program code for managing a heap. The heap is partitioned into at least one sub heap based on a relationship to at least one memory class of a plurality of memory classes. A memory allocation request comprising a memory class is received from a requester. A unique heap handle based on the memory class and associated with a specific sub heap is generated. The unique heap handle is then returned to the requester.
    Type: Grant
    Filed: May 21, 2007
    Date of Patent: March 31, 2015
    Assignee: International Business Machines Corporation
    Inventors: Larry Bert Brenner, Michael Edward Lyons, Bruce G. Mealey, James Bernard Moody
  • Publication number: 20150089181
    Abstract: To meet the needs for storing larger volume personal information for user of wireless device, it is desire to provide extra storage space to the wireless device such as for cell phone etc due to the limited storage space that the wireless device has. Instant application disclosed a system and method for the wireless device to efficiently and effectively use remotely located storage space provided by a server.
    Type: Application
    Filed: September 25, 2013
    Publication date: March 26, 2015
    Inventor: Sheng Tai (Ted) Tsao
  • Patent number: 8990527
    Abstract: Releasing a data set at a source device in connection with migrating data from the source device to a target device includes mapping application address space to address space containing metadata for the target device and providing additional local metadata therefor, replacing within the application the address of metadata for the source device with the address of metadata for the target device, setting a diversion flag that is part of the additional local metadata, where the diversion flag indicates a remapping of extent, and closing and unallocating the data set at the source device. Releasing a data set at a source device in connection with migrating data from the source device to a target device may also include determining if an application uses standard I/O operations. The metadata may include UCB data.
    Type: Grant
    Filed: June 29, 2007
    Date of Patent: March 24, 2015
    Assignee: EMC Corporation
    Inventor: Paul Linstead
  • Patent number: 8990477
    Abstract: A method and system are disclosed for controlling the storage of data in a storage device to reduce fragmentation. The method may include a controller of a storage device receiving data for storage in non-volatile memory, proactively preventing fragmentation by only writing an amount of sequentially addressed logical groups of data into a main storage area of the storage device, such as multi-level cell (MLC) flash memory, and reactively defragmenting data previously written into the MLC memory when a trigger event is reached. The system may include a storage device with a controller configured to perform the method noted above, where the thresholds for minimum sequential writes into MLC, and for scanning the memory for fragmented data and removing fragmentation by re-writing the fragmented data already in MLC into new MLC blocks, may be fixed or variable.
    Type: Grant
    Filed: April 19, 2012
    Date of Patent: March 24, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Liam M. Parker, Sergey A. Gorobets
  • Publication number: 20150081997
    Abstract: Provided are a computer program product, system, and method for using an alias volume name for a volume to allocate space to a data set. An assignment of a plurality of volumes to a data set is maintained, wherein the volumes are configured in a storage system. A request is received to extend the data set. An alias volume name is assigned to the data set for a previously assigned volume to the data to extend the data set in response to one of the previously assigned volumes having available space to extend the data set. A base volume name is assigned to the data set for a volume not assigned to the data set in response to one of the previously assigned volumes to the data set not having available space to extend the data set.
    Type: Application
    Filed: November 21, 2014
    Publication date: March 19, 2015
    Inventors: Herman Aranguren, Franklin E. McCune, David C. Reed, Max D. Smith
  • Patent number: 8984203
    Abstract: First and second data interfaces provide data transfer to and from a plurality of memory banks. The first data interface uses a first bus size and a first clock frequency. The second data interface uses a second bus size and a second clock frequency. The second bus size is an integer multiple of the first bus size. The first clock frequency is an integer multiple of the second clock frequency. A channelizer module segments data from the second data interface into data segments of the first bus size and transmits them to addressed ones of the plurality of memory banks using the first clock frequency. The channelizer module also receives data in accordance with the first bus size and first clock frequency from the plurality of memory banks, combines this data into the second bus size, and transmits the data to the second data interface using the second clock frequency.
    Type: Grant
    Filed: October 9, 2012
    Date of Patent: March 17, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Baojing Liu, Matt Davidson, Aruna Gutta
  • Patent number: 8977834
    Abstract: A method or system for determining storage location of an isolation region based on a data region sizing specified by a host device. In one implementation, the isolation region comprises a set of storage locations required for isolation of or more data region of the storage device.
    Type: Grant
    Filed: February 14, 2011
    Date of Patent: March 10, 2015
    Assignee: Seagate Technology LLC
    Inventor: Timothy Richard Feldman
  • Publication number: 20150067295
    Abstract: A method begins by a dispersed storage (DS) processing module selecting storage pools within the DSN with available capacity for storing data of a storage group. The method continues by selecting one or more dispersed storage (DS) units within each of the selected storage pools based on a selection criteria and mapping the one or more DS units to the storage group. The method continues by receiving a write request to store a data object to the storage group and by storing the data object in at least one of the mapped one or more DS units. The method continues with the DS processing module issuing an indication unutilized storage space calculated on a proportionate basis based on storage utilized for the storage group as a percentage of total storage utilized and updating a write proportion value based on received storage utilization responses.
    Type: Application
    Filed: July 11, 2014
    Publication date: March 5, 2015
    Applicant: CLEVERSAFE, INC.
    Inventors: Michael Colin Storm, Manish Motwani, Wesley Leggette
  • Patent number: 8972690
    Abstract: Methods and apparatuses that maintain an access history of a file allocated with allocation blocks in storage devices are described. In response to receiving a usage request to allocate additional space for the file, an allocation block size may be adjusted or adapted based on the access history. The storage devices may be allocated with one or more allocation blocks using the adapted allocation block size to provide requested space for the file.
    Type: Grant
    Filed: January 5, 2010
    Date of Patent: March 3, 2015
    Inventors: Deric Horn, Donald James Brady, David Alexander Majnemer, Eric Brandon Tamura
  • Patent number: 8972693
    Abstract: A system and method is provided for improving efficiency, power, and bandwidth consumption in parallel processing. Rather than using memory polling to ensure that enough space is available in memory locations for, for example, write instructions, the techniques disclosed herein provide a system and method to automate this evaluation mechanism in environments such as data-parallel processing to efficiently check available space in memory locations before instructions such as write threads are allowed. These operations are handled efficiently in hardware, but are flexible enough to be implemented in all manner of programming models.
    Type: Grant
    Filed: March 29, 2012
    Date of Patent: March 3, 2015
    Assignees: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Laurent Lefebvre, Michael Mantor
  • Patent number: 8972691
    Abstract: A mechanism is provided for cross-allocated block repair in a mounted file system. A set of cross-allocated blocks are identified from a plurality of blocks within an inode of the mounted file system, based on a corresponding bit associated with each cross-allocated block in a duplicated block information bitmap being in a first identified state. The set of cross-allocated blocks are repaired using a user-defined repair process. Then one or more of the set of cross-allocated blocks are deallocated based on results of the user-defined repair process.
    Type: Grant
    Filed: November 3, 2011
    Date of Patent: March 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Kalyan C. Gunda, Srikanth Srinivasan
  • Publication number: 20150058523
    Abstract: Interfaces to storage devices that employ storage space optimization technologies, such as thin provisioning, are configured to enable the benefits gained from such technologies to be sustained. Such an interface may be provided in a hypervisor of a virtualized computer system to enable the hypervisor to discover features of a logical unit number (LUN), such as whether or not the LUN is thinly provisioned, and also in a virtual machine (VM) of the virtualized computer system to enable the VM to discover features of a virtual disk, such as whether or not the virtual disk is thinly provisioned. The discovery of these features enables the hypervisor or the VM to instruct the underlying storage device to carry out certain operations such as an operation to deallocate blocks previously allocated to a logical block device, so that the storage device can continue to benefit from storage space optimization technologies implemented therein.
    Type: Application
    Filed: October 24, 2014
    Publication date: February 26, 2015
    Inventors: Satyam B. VAGHANI, Tejasvi ASWATHANARAYANA
  • Patent number: 8966196
    Abstract: A method for managing memory of a device is disclosed. A computer system collects information about use, by the device, of data in the memory of the device. The information collected by the computer system includes a time and a location for which each portion of the data is used by the device. The computer system identifies patterns of use, by the device, of each portion of the data based on the information collected. The computer system then selects one or more portions of the data that are not needed in the memory of the device based on the patterns of use by the device.
    Type: Grant
    Filed: February 25, 2013
    Date of Patent: February 24, 2015
    Assignee: International Business Machines Corporation
    Inventors: Al Chakra, John A. Feller, Trudy L. Hewitt, Francesco C. Schembari
  • Patent number: 8966218
    Abstract: A method for predictively allocating space in a database system includes detecting an access request for a data set, evaluating a growth rate of the data set to determine a predicted increase in size of the data set, and in response dynamically altering an attribute of an allocation for the data set. Attributes altered include the size of volumes and the number of volumes comprising the data set. The method may include setting a flag indicating an instruction to rewrite the data set if the evaluation indicates that rewriting is needed to accommodate the predicted increase in size. The method may include rewriting the data set from a lower address space of a volume to a higher address space of the volume if the size of the data set is equal to or greater than an allocation increment of the upper address space. A corresponding apparatus and computer program product are also disclosed herein.
    Type: Grant
    Filed: July 1, 2010
    Date of Patent: February 24, 2015
    Assignee: International Business Machines Corporation
    Inventors: David C. Reed, Max D. Smith
  • Patent number: 8959310
    Abstract: An approach is provided which a system selects a first virtual function from a plurality of virtual functions executing on a network adapter that includes a memory area. Next, the system allocates, in the memory area, a memory corresponding to the first virtual function. The system then stores one or more translation entries in the allocated memory partition, which are utilized to send data traversing through the first virtual function. As such, the system sends, utilizing one or more of the translation entries, the data packets from the network adapter to one or more destinations. In turn, the system dynamically resizes the memory partition based upon an amount of the memory partition that is utilized to store the one or more translation entries.
    Type: Grant
    Filed: July 28, 2012
    Date of Patent: February 17, 2015
    Assignee: International Business Machines Corporation
    Inventors: Omar Cardona, Vinit Jain, Jayakrishna Kidambi, Renato J. Recio
  • Patent number: 8954695
    Abstract: In general, the invention is directed to techniques for identifying memory overruns. For example, as described herein, a device includes a main memory that enables an addressable memory space for the device. A plurality of memory pages each comprises a separate, contiguous block of addressable memory locations within the addressable memory space. The device also includes a memory manager comprising a secure pool allocator that assigns a secure pool size value to a first one of the plurality of memory pages. The secure pool size value defines a plurality of protected memory spaces in the first memory page that partition the first memory page into a plurality of secure objects. The device also includes a memory management unit comprising secure pool logic that determines, based on the secure pool size value, whether a memory address is an address of one of the protected memory spaces in the first memory page.
    Type: Grant
    Filed: June 13, 2012
    Date of Patent: February 10, 2015
    Assignee: Juniper Networks, Inc.
    Inventors: Timothy Noel Thathapudi, Srinivasa Dharwad Satyanarayana, Siddharth Arun Tuli
  • Patent number: 8954704
    Abstract: An approach is provided which a system selects a first virtual function from a plurality of virtual functions executing on a network adapter that includes a memory area. Next, the system allocates, in the memory area, a memory corresponding to the first virtual function. The system then stores one or more translation entries in the allocated memory partition, which are utilized to send data traversing through the first virtual function. As such, the system sends, utilizing one or more of the translation entries, the data packets from the network adapter to one or more destinations. In turn, the system dynamically resizes the memory partition based upon an amount of the memory partition that is utilized to store the one or more translation entries.
    Type: Grant
    Filed: August 12, 2011
    Date of Patent: February 10, 2015
    Assignee: International Business Machines Corporation
    Inventors: Omar Cardona, Vinit Jain, Jayakrishna Kidambi, Renato J. Recio
  • Patent number: 8949519
    Abstract: A system and method are provided for simulating an aspect of a memory circuit. Included is an interface circuit that is in communication with a plurality of memory circuits and a system. Such interface circuit is operable to interface the memory circuits and the system for simulating at least one memory circuit with at least one aspect that is different from at least one aspect of at least one of the plurality of memory circuits. In accordance with various embodiments, such aspect may include a signal, a capacity, a timing, and/or a logical interface.
    Type: Grant
    Filed: July 22, 2009
    Date of Patent: February 3, 2015
    Assignee: Google Inc.
    Inventors: Suresh Natarajan Rajan, Keith R. Schakel, Michael John Sebastian Smith, David T. Wang, Frederick Daniel Weber
  • Patent number: 8949556
    Abstract: An apparatus and computer program product for managing memory of a device is disclosed. A computer system collects information about use, by the device, of data in the memory of the device. The information collected by the computer system includes a time and a location for which each portion of the data is used by the device. The computer system identifies patterns of use, by the device, of each portion of the data based on the information collected. The computer system then selects one or more portions of the data that are not needed in the memory of the device based on the patterns of use by the device.
    Type: Grant
    Filed: December 10, 2012
    Date of Patent: February 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Al Chakra, John A. Feller, Trudy L. Hewitt, Francesco C. Schembari
  • Publication number: 20150032986
    Abstract: A system for real-time operating system memory block and message management is disclosed. The real-time operating system enables different processes to migrate an allocated memory block from one type of memory block to another type of memory block, and to reliably release the block back to its correct pool of origin. According to one aspect of the inventive subject matter, a memory management engine allocates memory in a basic type to a first process, and upon a migration request from a second process, convert the allocated memory from the basic type to a message type for the second process. Allocating memory in the basic type can be fast but does not ensure proper release of the memory block to its pool of origin. Converting the basic type to the message type enables the operating system to reliably release the block back to its correct pool of origin from any process.
    Type: Application
    Filed: July 29, 2014
    Publication date: January 29, 2015
    Inventor: Ralph Moore
  • Publication number: 20150032987
    Abstract: Embodiments herein are directed to a method for installing a program across multiple memories. The method includes calculating a memory space requirement of the program. It may be determined that a first available memory space in a first memory of the first computer system is smaller than the memory space requirement. The first memory is a default memory for installing the program. Upon determining that the first available memory space in the first memory is smaller than the memory space requirement, the method may perform the step of identifying a second memory in communication with the first computer system that has a second available memory space. The first and second available memory spaces, when combined, are sufficient for the memory space requirement to install files of the program. The files of the program may be installed in the first and second memories.
    Type: Application
    Filed: September 12, 2014
    Publication date: January 29, 2015
    Inventors: Rohan A. Ambasta, Bharath Ganesh, Aniket A. Kulkarni, Umesh S. Wani
  • Patent number: 8943266
    Abstract: The storage system includes a plurality of storage devices and a storage controller. The storage controller stores a data request quantity indicating the data quantity of write data written to the target area in a specific period, and estimates, based on the quantity of request data and relationship information received from storage devices, the estimated data quantity written to the nonvolatile semiconductor memory chips based on the write data written to the target area in the specific period. The storage controller selects a second logical storage area with an estimated data quantity less than an estimated data quantity for the first logical storage area and assigned to a storage device different from a storage device assigned to the first logical storage area, and migrates the first data stored in the first logical storage area to the second logical storage area.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: January 27, 2015
    Assignee: Hitachi, Ltd.
    Inventor: Hideyuki Koseki
  • Publication number: 20150026429
    Abstract: A method, information processing system, and computer readable storage medium, vary a maximum heap memory size for one application of a plurality of applications based on monitoring garbage collection activity levels for the plurality of applications, each application including a heap memory, and unused memory in the heap memory being reclaimed by a garbage collector.
    Type: Application
    Filed: July 18, 2013
    Publication date: January 22, 2015
    Inventors: Norman BOBROFF, Arun IYENGAR, Peter WESTERINK
  • Publication number: 20150026430
    Abstract: Virtual data stores may be sparsely provisioned by virtual data storage services in a manner that controls risk of implementation resource shortages. Relationships between requested data storage space size, data storage server capacity, allocated data storage space size and/or allocated data storage space utilization may be tracked on a per data store, per customer, per data storage server, and/or a per virtual data storage service basis. For each such basis, a set of constraints may be specified to control the relationships. The set of constraints may be enforced during implementation resource allocation, and by migration of data storage space portions to different implementation resources as part of a sparse provisioning load balancing. Sparse provisioning details may be made explicit to virtual data storage service customers to varying degrees including explicit, aggregate on a per customer basis, and aggregate on a per virtual data storage service basis.
    Type: Application
    Filed: October 6, 2014
    Publication date: January 22, 2015
    Inventors: Roland Paterson-Jones, Sachin Jain, Tate Andrew Certain
  • Publication number: 20150019833
    Abstract: A method, system, and computer program product for segmenting data into variable size blocks based on content defined positions. Segmenting probabilities and associated segmenting conditions are defined. The segmenting conditions are ordered in accordance with the associated segmenting probabilities to form a hierarchy of the segmenting conditions. A segmenting condition associated with a highest segmenting probability is defined to be a lowest level segmenting condition in the hierarchy of the segmenting conditions. The segmenting condition associated with a lowest segmenting probability is defined to be a highest level segmenting condition in the hierarchy of the segmenting conditions. Hash values are calculated for each seed block in each consecutive byte position in the data. Each one of the hash values is evaluated using the segmenting conditions. A segmenting position is determined in the data for each hash value that satisfies one of the segmenting conditions.
    Type: Application
    Filed: July 15, 2013
    Publication date: January 15, 2015
    Inventor: Lior ARONOVICH
  • Patent number: 8935500
    Abstract: Distributed storage resources having multiple storage units are managed based on data collected from online monitoring of workloads on the storage units and performance characteristics of the storage units. The collected data is sampled at discrete time intervals over a time period of interest, such as a congested time period. Normalized load metrics are computed for each storage unit based on time-correlated sums of the workloads running on the storage unit over the time period of interest and the performance characteristic of the storage unit. Workloads that are migration candidates and storage units that are migration destinations are determined from a representative value of the computed normalized load metrics, which may be the 90th percentile value or a weighted sum of two or more different percentile values.
    Type: Grant
    Filed: November 10, 2011
    Date of Patent: January 13, 2015
    Assignee: VMware, Inc.
    Inventors: Ajay Gulati, Irfan Ahmad, Carl A. Waldspurger, Chethan Kumar
  • Publication number: 20150012719
    Abstract: A data store has a data array for storing data values and a tag array for storing tag values for tracking which data values are stored in the data array. The associativity of the data array is greater than the associativity of the tag array. This means that fewer tag entries need to be accessed on each data access than in a conventional data store, reducing power consumption.
    Type: Application
    Filed: July 8, 2013
    Publication date: January 8, 2015
    Inventor: Andrew David TUNE
  • Publication number: 20150012720
    Abstract: The memory area managing unit 22 (a) sets a protect flag to each virtual area allocated in a virtual memory space, the protect flag indicating whether a use of the virtual area has been finished or not, and (b) when a part or all of a first virtual area would overlap another second virtual area due to expansion or movement of the first virtual area, allows the expansion or the movement of the first virtual area accompanying with overlapping the second virtual area, if the protect flag of the second virtual area indicates that a use of the second virtual area has been finished. If the expansion or the movement is allowed, the memory pool managing unit 23 adds a physical area in a physical memory space corresponding to an overlapping part of the first and second virtual areas into a memory pool to map to another virtual area.
    Type: Application
    Filed: January 23, 2013
    Publication date: January 8, 2015
    Inventors: Masato Tanba, Takashi Toyoda
  • Patent number: 8930669
    Abstract: A method for managing memory in a system for an application, comprising: assigning a first block (i.e., a big block) of the memory to the application when the application is initiated, the first block having a first size, the first block being assigned to the application until the application is terminated; dividing the first block into second blocks (i.e., intermediate blocks), each second block having a same second size, a second block of the second blocks for containing data for one or more components of a single data structure to be accessed by one thread of the application at a time; and, dividing the second block into third blocks (i.e., small blocks), each third block having a same third size, a third block of the third blocks for containing data for a single component of the single data structure.
    Type: Grant
    Filed: June 7, 2013
    Date of Patent: January 6, 2015
    Assignee: Inetco Systems Limited
    Inventors: Thomas Bryan Rushworth, Angus Richard Telfer
  • Patent number: 8930645
    Abstract: Methods and apparatus facilitate data streaming in bulk storage devices by generating linked lists containing entries for both user data and metadata. These linked lists containing mixed data types facilitate receiving and outputting user data, and to insert or ignore, respectively, metadata corresponding to that user data without interrupting flow of the user data.
    Type: Grant
    Filed: December 4, 2008
    Date of Patent: January 6, 2015
    Assignee: Micron Technology, Inc.
    Inventors: Frank Chen, Yuan Rong
  • Publication number: 20150006828
    Abstract: A memory architecture for storing information units, the memory architecture comprising a plurality of memory banks or a plurality of memory devices and a memory controller for initiating storage of an information unit and a number of replicas of the information unit in the memory banks or in the memory devices, the memory controller discriminating the replicas in dependence on a size of the information unit.
    Type: Application
    Filed: September 19, 2014
    Publication date: January 1, 2015
    Applicant: HUAWEI.TECHNOLOGIES CO., LTD.
    Inventor: Shlomo RECHES
  • Patent number: 8924682
    Abstract: In one embodiment, a system includes a main data system, a virtual tape volume coupled to receive a write request from the main data system, and an accidental loss protection system configured to receive the write request to the virtual tape volume, detect whether the write request overwrites a label of the virtual tape volume, and prevent the overwriting of the label.
    Type: Grant
    Filed: April 11, 2012
    Date of Patent: December 30, 2014
    Assignee: EMC Corporation
    Inventors: Larry W. McCloskey, Thomas McCafferty
  • Patent number: 8924683
    Abstract: The relay unit splits the storage area in the buffer into a plurality of partitioned areas, manages the same and, upon receiving a read request from the access request source, selects and allocates one or more from the plurality of partitioned areas and, on condition that the relevant partitioned areas are allocated, transmits the read request to the memory control unit, wherein the memory control unit reads the data requested in the received read request from the memory, splits the data which is read into a plurality of units, and transmits the same to the relay unit, wherein the relay unit stores each of the data transmitted from the memory control unit in each of the allocated partitioned areas sequentially, on condition that all of the data is stored, reads each of the data from each of the allocated partitioned areas, compiles each of the data which is read into one, transmits the same as read data to the access request source, and releases all of the respective allocated partitioned areas.
    Type: Grant
    Filed: April 21, 2011
    Date of Patent: December 30, 2014
    Assignee: Hitachi, Ltd.
    Inventor: Shuntaro Seno
  • Publication number: 20140380016
    Abstract: An information processing apparatus of this invention calculates amounts of generated heat of respective areas of a plurality of areas of a SOC die when one or more function blocks required to execute an accepted job are operated, and preferentially allocates a memory area of a WideIO memory device stacked on a corresponding area to the function blocks to be operated in accordance with an order of areas corresponding to smaller calculated amounts of generated heat.
    Type: Application
    Filed: November 19, 2013
    Publication date: December 25, 2014
    Inventor: Daisuke Matsunaga
  • Publication number: 20140380017
    Abstract: A method of managing a memory of an apparatus includes maintaining a plurality of lists of identifiers that each has an associated size value, wherein each identifier identifies a corresponding region of the memory that had been allocated for a process but that is currently not required by any of the one or more processes. When a process requests allocation of a region of the memory: one of the lists is identified that has an associated size value suitable for the allocation request; and if that list is not empty, a region of the memory is identified to the process by one of the identifiers that identifier is removed from that list, and, otherwise, a region of the memory is allocated with a size of the identified associated size value and the allocated region of the memory is identified the process.
    Type: Application
    Filed: September 12, 2014
    Publication date: December 25, 2014
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventors: JEAN-LUC ROBIN, JOSE MENDES-CARVALHO
  • Patent number: 8918588
    Abstract: Techniques for replacing one or more blocks in a cache, the one or more blocks being associated with a plurality of data streams, are provided. The one or more blocks in the cache are grouped into one or more groups, each corresponding to one of the plurality of data streams. One or more incoming blocks are received. To free space, the one or more blocks of the one or more groups in the cache are invalidated in accordance with at least one of an inactivity of a given data stream corresponding to the one or more groups and a length of the one or more groups. The one or more incoming blocks are stored in the cache. A number of data streams maintained within the cache is maximized.
    Type: Grant
    Filed: April 7, 2009
    Date of Patent: December 23, 2014
    Assignee: International Business Machines Corporation
    Inventors: Brian Bass, Giora Biran, Hubertus Franke, Amit Golander, Hao Yu
  • Patent number: 8918617
    Abstract: Embodiments relate to methods, systems and computer program products for defragmenting storage class memory by comparing a utilization rate of the storage class memory to a threshold value. If the utilization rate of the storage class memory is greater than the threshold value, the potentially wasted storage space is then compared to the combined storage capacity of the unclaimed extents of the storage class memory. If the potentially wasted storage space is greater than the combined storage capacity of the unclaimed extents of the storage class memory, a determination is made whether a defragmentation was recently performed. Based on determining that the defragmentation was not recently performed, or that it was recently performed and was productive, performing a defragmentation of the storage class memory.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: December 23, 2014
    Assignee: International Business Machines Corporation
    Inventors: Christopher G. Brooker, Alfred F. Foster, Charles E. Mari, Robert Miller, Jr., Harris M. Morgenstern, Walter W. Otto, Steven M. Partlow, Thomas F. Rankin, Scott B. Tuttle, Elpida Tzortzatos
  • Patent number: 8909859
    Abstract: A method and a storage system are provided for implementing a sustained large block random write performance mechanism for shingled magnetic recording (SMR) drives in a redundant array of inexpensive disks (RAID). A Solid State Drive (SSD) is provided with the SMR drives in the RAID. The SSD is used in a hot spare mode, which is activated when a large block random-write event is identified for a SMR drive in the RAID. In the hot spare mode, the SSD temporarily receives new incoming writes for the identified SMR drive. Then the identified SMR drive is updated from the SSD to restore the state of the identified SMR drive, and operations continue with normal writing only using the SMR drives in the RAID.
    Type: Grant
    Filed: March 1, 2012
    Date of Patent: December 9, 2014
    Assignee: HGST Netherlands B.V.
    Inventors: Zvonimir Z. Bandic, Cyril Guyot, Tomohiro Harayama, Hitoshi Kamei, Takaki Nakamura, Timothy Tsai
  • Patent number: 8907964
    Abstract: A system to process a plurality of vertices to model an object. An embodiment of the system includes a processor, a front end unit coupled to the processor, and cache configuration logic coupled to the front end unit and the processor. The processor is configured to process the plurality of vertices. The front end unit is configured to communicate vertex data to the processor. The cache configuration logic is configured to establish a cache line size of a vertex cache based on a vertex size of a drawing command.
    Type: Grant
    Filed: April 10, 2007
    Date of Patent: December 9, 2014
    Assignee: Vivante Corporation
    Inventors: Keith Lee, Mike M. Cai
  • Publication number: 20140359238
    Abstract: The storage apparatus comprises a storage unit storing data read/written by the host apparatus, and a control unit controlling writing of the data to the storage unit. The control unit configures one or more pools from the storage unit and divides one of the pools into first pages having an area of a first size and divides the first pages into second pages having the second area, and manages the pages, manages a data storage area of a first volume storing the data by using the first-size area and manages a data storage area of a second volume storing the data by using the second-size area, assigns the first page to the data storage area of the first volume, and assigns the first page in units of the second volume and assigns the second page obtained by dividing the first page to the data storage area of the second volume.
    Type: Application
    Filed: August 14, 2014
    Publication date: December 4, 2014
    Applicant: Hitachi, Ltd.
    Inventors: Miho IMAZAKI, Yusuke NONAKA
  • Publication number: 20140359248
    Abstract: In one embodiment, a memory allocator of a memory manager can service memory allocation requests within a specific size-range from a section of pre-reserved virtual memory. The pre-reserved virtual memory allows allocation requests within a specific size range to be allocated in the pre-reserved region, such that the virtual memory address of a memory allocation serviced from the pre-reserved region can indicate elements of metadata associated with the allocations that would otherwise contribute to overhead for the allocation.
    Type: Application
    Filed: September 6, 2013
    Publication date: December 4, 2014
    Applicant: Apple Inc.
    Inventors: Stephen C. Peters, Joseph Sokol, JR.
  • Patent number: 8904145
    Abstract: Acceptable memory allocation for a partition is determined during and with minimal impact on normal operation of the partitioned system. The approach includes: collecting, by a processor, statistics on a rate at which pages are transferred between uncompressed and compressed memory spaces of the partition's memory; adjusting size of the uncompressed memory space; and subsequent to the adjusting, continuing with collecting of the statistics, and referencing the resultant statistics in determining an acceptable memory allocation for the partition. In one implementation, the adjusting includes stepwise decreasing size of the uncompressed memory space by reallocating uncompressed memory space to compressed memory space, and repeating the collecting of statistics for a defined measurement period for each adjusted uncompressed memory space size until performance of the partition is negatively impacted by the reallocation of uncompressed memory space to compressed memory space.
    Type: Grant
    Filed: September 30, 2010
    Date of Patent: December 2, 2014
    Assignee: International Business Machines Corporation
    Inventors: Mark R. Funk, Vernon R. Pahl, Ronald D. Young
  • Patent number: 8904098
    Abstract: Data stored in a volatile memory subsystem is backed up redundantly into first and second channels of a non-volatile memory subsystem. The data is retrieved from the volatile memory subsystem upon detection of a trigger condition indicative of real or imminent power loss or reduction and multiple copies are stored in dedicated non-volatile memory channels. The stored copies may be error checked and corrected, and re-written if necessary. The redundantly backed up data can be subsequently retrieved from the non-volatile memory subsystem, error-corrected, and an error-free copy communicated to the volatile memory subsystem.
    Type: Grant
    Filed: September 24, 2012
    Date of Patent: December 2, 2014
    Assignee: Netlist, Inc.
    Inventors: Mike Hossein Amidi, Chi-She Chen, Jeffrey C. Solomon, Scott H. Milton, Jayesh Bhakta
  • Patent number: 8904067
    Abstract: An adaptive multi-thread buffer supports multiple writer process and reader processes simultaneously without blocking. Writer processes are assigned a reserved write slot using a writer index that is incremented for each write request. When a reserved write slot is not null, the buffer is resized to make room for new data. Reader processes are assigned a reserved read slot using a reader index that is incremented for each read request. When data is read out to the reader process, the read slot content is set to null. When a writer process attempts to write null data to a write slot, the buffer replaces the null write data with an empty value object so that content of the buffer is null only for empty slots. When an empty value object is read from a slot, the buffer replaces the content with null data to send to the reader process.
    Type: Grant
    Filed: March 13, 2012
    Date of Patent: December 2, 2014
    Assignee: Microsoft Corporation
    Inventor: Erwien Saputra
  • Patent number: 8904099
    Abstract: Certain embodiments described herein include a memory system having a volatile memory subsystem, a non-volatile memory subsystem, a controller coupled to the non-volatile memory subsystem, and a circuit coupled to the volatile memory subsystem, to the controller, and to a host system. In a first mode of operation, the circuit is operable to selectively isolate the controller from the volatile memory subsystem, and to selectively couple the volatile memory subsystem to the host system to allow data to be communicated between the volatile memory subsystem and the host system. In a second mode of operation, the circuit is operable to selectively couple the controller to the volatile memory subsystem to allow data to be communicated between the volatile memory subsystem and the nonvolatile memory subsystem using the controller, and the circuit is operable to selectively isolate the volatile memory subsystem from the host system.
    Type: Grant
    Filed: February 5, 2014
    Date of Patent: December 2, 2014
    Assignee: Netlist, Inc.
    Inventors: Chi-She Chen, Jeffrey C. Solomon, Scott H. Milton, Jayesh Bhakta
  • Patent number: 8904143
    Abstract: A main data storage system has a main storage control and data storage, and a user interface, the main storage control in communication with a local storage control of a local data storage system with local data storage. In response to a request to increase data storage from the user interface, the main control determines whether the main data storage is out of space. If so, the main control sends a command to the local control to create data space in local data storage. The local control creates the data space and associates the data space with the main control; and, in response to the local control creating data space in the local data storage and notifying the main control, the main control updates its metadata with respect to the data space, creating the impression that all the data is stored in the main data storage.
    Type: Grant
    Filed: September 30, 2011
    Date of Patent: December 2, 2014
    Assignee: International Business Machines Corporation
    Inventors: Juan Alonso Coronado, Sara Megan Coronado, Jennifer Shinobu Shioya, Xavier Edgar Somoza
  • Publication number: 20140351549
    Abstract: Certain example embodiments relate to a highly-concurrent, predictable, fast, self-managed, in-process space for storing data that is hidden away from the garbage collector and its related pauses. More particularly, certain example embodiments relate to improved memory management techniques for computer systems that leverage an off-heap direct-memory data store that is massively scalable and highly efficient. The off-heap store may be provided in connection with a Java-based environment, and garbage collection may be completely or nearly completely avoided for the off-heap store. The off-heap store may be integrated into a tiered storage solution in certain example embodiments.
    Type: Application
    Filed: August 7, 2014
    Publication date: November 27, 2014
    Inventors: Steven T. HARRIS, Christopher DENNIS, Saravanan SUBBIAH
  • Publication number: 20140351540
    Abstract: A computer system dynamically assigns the storage capacity from pool volumes to the access target in the higher-level system, and can immediately respond to the change of the status of the pool having the pool volumes. The control device provides a plurality of first pools, provides a second pool, allocates a storage area from one of the first pools to a logical area of the logical volume to store data to the logical area, and stores the data in the allocated storage area, adds at least one of the one or more pool volumes in the second pool to the first pool, according to the status of the first pool, and adds at least one pool volume provided by storage areas of at least one storage device to the second pool, according to the status of the second pool.
    Type: Application
    Filed: August 13, 2014
    Publication date: November 27, 2014
    Inventors: Ai SATOYAMA, Yoshiaki EGUCHI
  • Patent number: 8892843
    Abstract: A computational device receives a request to create a logical unit. In response to determining that adequate space is not available to create the logical unit in a first type of storage pool, a determination is made as to whether a first indicator is configured to allow borrowing of storage space from a second type of storage pool. In response to determining that the first indicator is configured to allow borrowing of storage space from the second type of storage pool, the logical unit is created in the second type of storage pool The logical unit is moved from the second type of storage pool to the first type of storage pool, in response to determining that free space that is adequate to store the logical unit has become available in the first type of storage pool.
    Type: Grant
    Filed: December 27, 2013
    Date of Patent: November 18, 2014
    Assignee: International Business Machines Corporation
    Inventors: Jorge D. Acuna, Fahad Mahmood, Dhaval K. Shah