Based On Data Size Patents (Class 711/171)
-
Patent number: 8995070Abstract: 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: GrantFiled: October 8, 2013Date of Patent: March 31, 2015Assignee: Concurix CorporationInventor: Alexander G. Gounares
-
Patent number: 8996834Abstract: 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: GrantFiled: May 21, 2007Date of Patent: March 31, 2015Assignee: International Business Machines CorporationInventors: Larry Bert Brenner, Michael Edward Lyons, Bruce G. Mealey, James Bernard Moody
-
Publication number: 20150089181Abstract: 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: ApplicationFiled: September 25, 2013Publication date: March 26, 2015Inventor: Sheng Tai (Ted) Tsao
-
Patent number: 8990527Abstract: 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: GrantFiled: June 29, 2007Date of Patent: March 24, 2015Assignee: EMC CorporationInventor: Paul Linstead
-
Patent number: 8990477Abstract: 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: GrantFiled: April 19, 2012Date of Patent: March 24, 2015Assignee: SanDisk Technologies Inc.Inventors: Liam M. Parker, Sergey A. Gorobets
-
Publication number: 20150081997Abstract: 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: ApplicationFiled: November 21, 2014Publication date: March 19, 2015Inventors: Herman Aranguren, Franklin E. McCune, David C. Reed, Max D. Smith
-
Patent number: 8984203Abstract: 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: GrantFiled: October 9, 2012Date of Patent: March 17, 2015Assignee: SanDisk Technologies Inc.Inventors: Baojing Liu, Matt Davidson, Aruna Gutta
-
Patent number: 8977834Abstract: 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: GrantFiled: February 14, 2011Date of Patent: March 10, 2015Assignee: Seagate Technology LLCInventor: Timothy Richard Feldman
-
Publication number: 20150067295Abstract: 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: ApplicationFiled: July 11, 2014Publication date: March 5, 2015Applicant: CLEVERSAFE, INC.Inventors: Michael Colin Storm, Manish Motwani, Wesley Leggette
-
Patent number: 8972690Abstract: 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: GrantFiled: January 5, 2010Date of Patent: March 3, 2015Inventors: Deric Horn, Donald James Brady, David Alexander Majnemer, Eric Brandon Tamura
-
Patent number: 8972693Abstract: 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: GrantFiled: March 29, 2012Date of Patent: March 3, 2015Assignees: Advanced Micro Devices, Inc., ATI Technologies ULCInventors: Laurent Lefebvre, Michael Mantor
-
Patent number: 8972691Abstract: 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: GrantFiled: November 3, 2011Date of Patent: March 3, 2015Assignee: International Business Machines CorporationInventors: Kalyan C. Gunda, Srikanth Srinivasan
-
Publication number: 20150058523Abstract: 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: ApplicationFiled: October 24, 2014Publication date: February 26, 2015Inventors: Satyam B. VAGHANI, Tejasvi ASWATHANARAYANA
-
Patent number: 8966196Abstract: 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: GrantFiled: February 25, 2013Date of Patent: February 24, 2015Assignee: International Business Machines CorporationInventors: Al Chakra, John A. Feller, Trudy L. Hewitt, Francesco C. Schembari
-
Patent number: 8966218Abstract: 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: GrantFiled: July 1, 2010Date of Patent: February 24, 2015Assignee: International Business Machines CorporationInventors: David C. Reed, Max D. Smith
-
Patent number: 8959310Abstract: 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: GrantFiled: July 28, 2012Date of Patent: February 17, 2015Assignee: International Business Machines CorporationInventors: Omar Cardona, Vinit Jain, Jayakrishna Kidambi, Renato J. Recio
-
Patent number: 8954695Abstract: 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: GrantFiled: June 13, 2012Date of Patent: February 10, 2015Assignee: Juniper Networks, Inc.Inventors: Timothy Noel Thathapudi, Srinivasa Dharwad Satyanarayana, Siddharth Arun Tuli
-
Patent number: 8954704Abstract: 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: GrantFiled: August 12, 2011Date of Patent: February 10, 2015Assignee: International Business Machines CorporationInventors: Omar Cardona, Vinit Jain, Jayakrishna Kidambi, Renato J. Recio
-
Patent number: 8949519Abstract: 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: GrantFiled: July 22, 2009Date of Patent: February 3, 2015Assignee: Google Inc.Inventors: Suresh Natarajan Rajan, Keith R. Schakel, Michael John Sebastian Smith, David T. Wang, Frederick Daniel Weber
-
Patent number: 8949556Abstract: 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: GrantFiled: December 10, 2012Date of Patent: February 3, 2015Assignee: International Business Machines CorporationInventors: Al Chakra, John A. Feller, Trudy L. Hewitt, Francesco C. Schembari
-
Publication number: 20150032986Abstract: 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: ApplicationFiled: July 29, 2014Publication date: January 29, 2015Inventor: Ralph Moore
-
Publication number: 20150032987Abstract: 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: ApplicationFiled: September 12, 2014Publication date: January 29, 2015Inventors: Rohan A. Ambasta, Bharath Ganesh, Aniket A. Kulkarni, Umesh S. Wani
-
Patent number: 8943266Abstract: 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: GrantFiled: March 13, 2013Date of Patent: January 27, 2015Assignee: Hitachi, Ltd.Inventor: Hideyuki Koseki
-
Publication number: 20150026429Abstract: 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: ApplicationFiled: July 18, 2013Publication date: January 22, 2015Inventors: Norman BOBROFF, Arun IYENGAR, Peter WESTERINK
-
Publication number: 20150026430Abstract: 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: ApplicationFiled: October 6, 2014Publication date: January 22, 2015Inventors: Roland Paterson-Jones, Sachin Jain, Tate Andrew Certain
-
Publication number: 20150019833Abstract: 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: ApplicationFiled: July 15, 2013Publication date: January 15, 2015Inventor: Lior ARONOVICH
-
Patent number: 8935500Abstract: 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: GrantFiled: November 10, 2011Date of Patent: January 13, 2015Assignee: VMware, Inc.Inventors: Ajay Gulati, Irfan Ahmad, Carl A. Waldspurger, Chethan Kumar
-
Publication number: 20150012719Abstract: 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: ApplicationFiled: July 8, 2013Publication date: January 8, 2015Inventor: Andrew David TUNE
-
Publication number: 20150012720Abstract: 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: ApplicationFiled: January 23, 2013Publication date: January 8, 2015Inventors: Masato Tanba, Takashi Toyoda
-
Patent number: 8930669Abstract: 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: GrantFiled: June 7, 2013Date of Patent: January 6, 2015Assignee: Inetco Systems LimitedInventors: Thomas Bryan Rushworth, Angus Richard Telfer
-
Patent number: 8930645Abstract: 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: GrantFiled: December 4, 2008Date of Patent: January 6, 2015Assignee: Micron Technology, Inc.Inventors: Frank Chen, Yuan Rong
-
Publication number: 20150006828Abstract: 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: ApplicationFiled: September 19, 2014Publication date: January 1, 2015Applicant: HUAWEI.TECHNOLOGIES CO., LTD.Inventor: Shlomo RECHES
-
Patent number: 8924682Abstract: 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: GrantFiled: April 11, 2012Date of Patent: December 30, 2014Assignee: EMC CorporationInventors: Larry W. McCloskey, Thomas McCafferty
-
Patent number: 8924683Abstract: 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: GrantFiled: April 21, 2011Date of Patent: December 30, 2014Assignee: Hitachi, Ltd.Inventor: Shuntaro Seno
-
Publication number: 20140380016Abstract: 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: ApplicationFiled: November 19, 2013Publication date: December 25, 2014Inventor: Daisuke Matsunaga
-
Publication number: 20140380017Abstract: 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: ApplicationFiled: September 12, 2014Publication date: December 25, 2014Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: JEAN-LUC ROBIN, JOSE MENDES-CARVALHO
-
Patent number: 8918588Abstract: 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: GrantFiled: April 7, 2009Date of Patent: December 23, 2014Assignee: International Business Machines CorporationInventors: Brian Bass, Giora Biran, Hubertus Franke, Amit Golander, Hao Yu
-
Patent number: 8918617Abstract: 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: GrantFiled: September 14, 2012Date of Patent: December 23, 2014Assignee: International Business Machines CorporationInventors: 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: 8909859Abstract: 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: GrantFiled: March 1, 2012Date of Patent: December 9, 2014Assignee: HGST Netherlands B.V.Inventors: Zvonimir Z. Bandic, Cyril Guyot, Tomohiro Harayama, Hitoshi Kamei, Takaki Nakamura, Timothy Tsai
-
Patent number: 8907964Abstract: 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: GrantFiled: April 10, 2007Date of Patent: December 9, 2014Assignee: Vivante CorporationInventors: Keith Lee, Mike M. Cai
-
Publication number: 20140359238Abstract: 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: ApplicationFiled: August 14, 2014Publication date: December 4, 2014Applicant: Hitachi, Ltd.Inventors: Miho IMAZAKI, Yusuke NONAKA
-
Publication number: 20140359248Abstract: 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: ApplicationFiled: September 6, 2013Publication date: December 4, 2014Applicant: Apple Inc.Inventors: Stephen C. Peters, Joseph Sokol, JR.
-
Patent number: 8904145Abstract: 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: GrantFiled: September 30, 2010Date of Patent: December 2, 2014Assignee: International Business Machines CorporationInventors: Mark R. Funk, Vernon R. Pahl, Ronald D. Young
-
Patent number: 8904098Abstract: 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: GrantFiled: September 24, 2012Date of Patent: December 2, 2014Assignee: Netlist, Inc.Inventors: Mike Hossein Amidi, Chi-She Chen, Jeffrey C. Solomon, Scott H. Milton, Jayesh Bhakta
-
Patent number: 8904067Abstract: 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: GrantFiled: March 13, 2012Date of Patent: December 2, 2014Assignee: Microsoft CorporationInventor: Erwien Saputra
-
Patent number: 8904099Abstract: 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: GrantFiled: February 5, 2014Date of Patent: December 2, 2014Assignee: Netlist, Inc.Inventors: Chi-She Chen, Jeffrey C. Solomon, Scott H. Milton, Jayesh Bhakta
-
Patent number: 8904143Abstract: 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: GrantFiled: September 30, 2011Date of Patent: December 2, 2014Assignee: International Business Machines CorporationInventors: Juan Alonso Coronado, Sara Megan Coronado, Jennifer Shinobu Shioya, Xavier Edgar Somoza
-
Publication number: 20140351549Abstract: 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: ApplicationFiled: August 7, 2014Publication date: November 27, 2014Inventors: Steven T. HARRIS, Christopher DENNIS, Saravanan SUBBIAH
-
Publication number: 20140351540Abstract: 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: ApplicationFiled: August 13, 2014Publication date: November 27, 2014Inventors: Ai SATOYAMA, Yoshiaki EGUCHI
-
Patent number: 8892843Abstract: 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: GrantFiled: December 27, 2013Date of Patent: November 18, 2014Assignee: International Business Machines CorporationInventors: Jorge D. Acuna, Fahad Mahmood, Dhaval K. Shah