Inventors list

Assignees list

Classification tree browser

Top 100 Inventors

Top 100 Assignees


Memory configuring

Subclass of:

711 - Electrical computers and digital processing systems: memory

711100000 - STORAGE ACCESSING AND CONTROL

Patent class list (only not empty are listed)

Deeper subclasses:

Class / Patent application numberDescriptionNumber of patent applications / Date published
711171000 Based on data size 156
711173000 Memory partitioning 150
711172000 Based on component size 37
Entries
DocumentTitleDate
20110185148Data Management Method in Storage Pool and Virtual Volume in DKC - A storage system connected to a computer and a management computer, includes storage devices accessed by the computer, and a control unit for controlling the storage devices. A first-type logical device corresponding to a storage area set in at least one of the storage devices and a second-type logical device that is a virtual storage area are provided. The control unit sets at least two of the first-type logical devices different in a characteristic as storage areas included in a storage pool through mapping. The first-type logical device stores data by allocating a storage area of the second-type logical device to a storage area of the first-type logical device mapped to the storage pool. The characteristic of the second-type logical device can be changed by changing the allocated storage area of the second-type logical device to a storage area of another first-type logical device.07-28-2011
20120173838DATA STORAGE SYSTEM AND METHOD - Various embodiments storing volumes of data in a data storage system, including one or more data storage containers, the data storage containers being thin-provisioned to provide virtual data storage capacity which is greater than a real data storage capacity of the data storage hardware are provided. In one embodiment, by way of example only, a real data storage capacity of the data storage system for accommodating new volumes is determined. Over-allocation information relating to one or more data storage containers is determined. Extrapolated future anticipated use of one or more containers of the data storage system from historical data storage use information is determined. One or more candidate data storage containers on the basis of information from the determining the real data storage capacity, over-allocation information, and the extrapolated future anticipated use is selected. Additional system and computer program product embodiments are disclosed and provide related advantages.07-05-2012
20090193219STORAGE SUBSYSTEM - There is provided a storage subsystem having a virtual volume and a page volume which has a page physical area allocated to the virtual volume. The storage subsystem divides an address space of the virtual volume into a plurality of pages, classifies each of the pages into one of a plurality of states including at least a first state and a second state, and further divide a page which is classified into the second state into a plurality of segments to managed the page classified into the second state. The first state is a state in which a page physical area is allocated to the page from the page volume, and the write data is stored in the page physical area. The second state is a state in which the predetermined pattern data and the segment are managed, in the memory, by correlating with each other.07-30-2009
20090193218STORAGE APPARATUS AND DATA WRITING METHOD - A storage apparatus includes: a management unit for managing mapping, to a logical volume, of a second dynamically allocated storage area volume in an external storage apparatus, and also managing a management unit for a storage area in the second dynamically allocated storage area volume for storing data sent from the host computer; a volume creation unit for creating, when creating the first dynamically allocated storage area volume in accordance with an externally given command the first dynamically allocated storage area volume by setting the management unit for the first dynamically allocated storage area volume based on a management unit for a storage area in the second dynamically allocated storage area volume; and a write data writing unit for writing, in accordance with a command from the host computer, the write data sent from the host computer to a storage area in a relevant second dynamically allocated storage area volume.07-30-2009
20100011183METHOD AND DEVICE FOR ESTABLISHING AN INITIAL STATE FOR A COMPUTER SYSTEM HAVING AT LEAST TWO EXECUTION UNITS BY MARKING REGISTERS - A method for establishing an initial state in a computer system having at least two execution units, a switchover between a performance mode and a compare mode being performed, and during the switchover from the performance mode to the compare mode, an initial state for the compare mode being generated, wherein memories or memory areas that are potentially to be adapted for the initial state are provided with an identifier that indicates whether or not the data and/or instructions in these memories or memory areas must be modified for the initial state.01-14-2010
20110202743METHOD AND INTERFACE FOR ALLOCATING STORAGE CAPACITIES TO PLURAL POOLS - Exemplary embodiments of the invention provide protocols and interfaces for avoiding waste capacity allocation from the storage apparatus to plural pools. In one embodiment, a storage system comprises a processor; a memory; and a storage controller. The storage controller is configured to: receive a declare chunk size command with a pool identifier for a pool among a plurality of pools, the declare chunk size command specifying a desired chunk size at the pool; receive an allocate chunk command with a pool identifier for allocating a chunk to a logical volume; and provide chunks of different chunk sizes to different pools with different pool identifiers, according to the desired chunk sizes of different declare chunk size commands and in response to different allocate chunk commands.08-18-2011
20120246437METHOD AND APPARATUS FOR USING UNUSED BITS IN A MEMORY POINTER - The disclosed embodiments provide a system that uses unused bits in a memory pointer. During operation, the system determines a set of address bits in a address space that will not be needed for addressing purposes during program operation. Subsequently, the system stores data associated with the memory pointer in this set of address bits. The system masks this set of address bits when using the memory pointer to access the memory address associated with the memory pointer. Storing additional data in unused pointer bits can reduce the number of memory accesses for a program and improve program performance and/or reliability.09-27-2012
20120246436COMBINING MEMORY PAGES HAVING IDENTICAL CONTENT - In a device having a memory accessed as multiple pages, two or more pages of the multiple pages having identical content are identified. While the two or more pages are being identified, other processes running in the device are allowed to use the two or more pages, including being allowed to change cache attributes of each of the two or more pages. The two or more pages are combined into a single combined page (e.g., a newly allocated page of the multiple pages), and a process page record having multiple entries pointing to the multiple pages is updated so that entries that previously pointed to one of the two or more pages instead point to the single page.09-27-2012
20100077173Linear space allocation mechanisms in data space - An indication to allocate storage is received, where the storage is to be used to store previous version data associated with a protected data set. One or more storage groups are allocated of at least a prescribed allocation group size and comprising a set of physically contiguous storage locations.03-25-2010
20100077172HYBRID FRAGMENTING REAL TIME GARBAGE COLLECTION - A method of managing memory, and a system implementing the method, are disclosed herein. In one embodiment according to the invention, the method comprises the step of allocating a first space, a first semi-space and a second semi-space of a memory unit. The first space has a first space size, and the first and second semi-spaces have a semi-space size. The first object is transformed into a plurality of elements and a spine containing pointers to the plurality of elements. The plurality of elements are stored in the first space and the spine in one of the first semi-space and the second semi-space. First memory portions of the first space are reclaimed using a mark-sweep policy and second memory portions of one of the first semi-space and the second semi-space are reclaimed using a moving policy.03-25-2010
20100115222HIERARCHICAL STORAGE SYSTEM - Pools of a plurality of types of storage devices are configured and are included in different layers. Based on at least one storage device of the same type, the pools of types corresponding to the type are configured. The controller in the storage system carries out storage location change processing in which the storage location of targeted data that has been stored into the targeted first real page allocated to a virtual page in a virtual volume is changed to the second real page that has not been allocated in a pool of the second type different from a pool of the first type including the targeted first real page in the case in which the controller conforms to the prescribed storage location change conditions. A size of a real page is different depending on a type of a pool.05-06-2010
20130086352DYNAMICALLY CONFIGURABLE STORAGE DEVICE - A method dynamically configures resources in a storage device. The method includes determining a requirement for supplementary resources for processing upcoming storage specific commands associated with at least one of a plurality of logical unit in the storage device. The method also includes identifying type of supplementary resources required for the logical unit. Furthermore, the method includes determining whether unused resources of the identified resource type present in a common pool of resources shared between a plurality of logical units, and dynamically configuring the common pool of resources among the plurality of logical units such that the unused resources of the identified resource type present in the common pool of resources are allocated to the logical unit as supplementary resources for processing the upcoming storage specific commands.04-04-2013
20130086351OBTAINING ADDITIONAL DATA STORAGE FROM ANOTHER DATA STORAGE SYSTEM - 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.04-04-2013
20130031327SYSTEM AND METHOD FOR ALLOCATING CACHE MEMORY - Different processor elements in multi-task/multi-core system on chip may have different memory requirements at runtime. The method for adaptively allocating cache memory re-allocates the cache resource by updating the bank assignment table. According to the associativity-based partitioning scheme, centralized memory is separated into several groups of SRAM banks which are numbered differently. These groups are assigned to different processor elements to be L2 caches. The bank assignment information is recoded in bank assignment table, and is updated by system profiling engine. By changing the information in bank assignment table, the cache resource re-allocation for processor elements is achieved.01-31-2013
20130080729PILOT PLACEMENT FOR NON-VOLATILE MEMORY - A memory control module includes a format module that communicates with a memory array that includes B memory blocks each including P physical pages and Q logical pages. The format module selects X predetermined locations to write pilot data and read-back pilot signals in each of the B memory blocks. B, P, Q and X are integers greater than or equal to 1. The memory control module also includes a signal processing module that compares the written pilot data to the read-back pilot signals and that determines variations between the written pilot data and the read-back pilot signals based on the comparison.03-28-2013
20130080728AUTOMATED SELECTION OF FUNCTIONS TO REDUCE STORAGE CAPACITY BASED ON PERFORMANCE REQUIREMENTS - A plurality of functions to configure a unit of a storage volume is maintained, wherein each of the plurality of functions, in response to being applied to the unit of the storage volume, configures the unit of the storage volume differently. Statistics are computed on growth rate of data and access characteristics of the data stored in the unit of the storage volume. A determination is made as to which of the plurality of functions to apply to the unit of the storage volume, based on the computed statistics.03-28-2013
20130036288METHOD AND APPARATUS FOR ASSIGNING RESOURCES USED TO MANAGE TRANSPORT OPERATIONS BETWEEN CLUSTERS WITHIN A PROCESSOR - A method, and corresponding apparatus, of assigning processing resources used to manage transport operations between a first memory cluster and one or more other memory clusters, include receiving information indicative of allocation of a subset of processing resources in each of the one or more other memory clusters to the first memory cluster, storing, in the first memory cluster, the information indicative of resources allocated to the first memory cluster, and facilitating management of transport operations between the first memory cluster and the one or more other memory clusters based at least in part on the information indicative of resources allocated to the first memory cluster.02-07-2013
20130036287METHOD FOR ALLOCATING ADDRESSES TO DATA BUFFERS IN DISTRIBUTED BUFFER CHIPSET - The present invention relates to a method for allocating addresses to data buffers in a distributed buffer chipset, in which a memory controller informs a central buffer of the beginning of address allocation through a Command/Address channel (CA), and then the central buffer informs through a data control channel all the data buffers of preparing for receiving address parameters through respective data channels, and in this way, each data buffer receives and latches the respective address parameter from the memory controller through the respective data, thus avoiding the defect in the prior art that the size of the data buffer and the size of the entire distributed buffer chipset is bigger as several address pins need to be additionally configured in each data buffer to allocate the respective address parameter.02-07-2013
20130036286FIRST STORAGE CONTROL APPARATUS AND FIRST STORAGE CONTROL APPARATUS CONTROL METHOD - The present invention creates a pool comprising tiers corresponding to the performance of logical volumes.02-07-2013
20090119473STORAGE SYSTEM - When a computer 05-07-2009
20100042800Method and System for Managing Heap Across Process Replication - A method and system for dynamically allocating memory, the method comprising maintaining a record of allocated memory that should be considered free in a child process, and designating as free any copy of memory identified by the record and created in a forking process.02-18-2010
20100042799EFFICIENT OBJECT PINNING IN A MULTI-THREADED ENVIRONMENT - Improvements to apparatus, methods, and computer program products are disclosed to improve the efficiency of pinning objects in a heap memory that is subject to a garbage collection system.02-18-2010
20090157996Method, System and Program Product for Allocating a Global Shared Memory - A method of operating a data processing system includes each of multiple tasks within a parallel job executing on multiple nodes of the data processing system issuing a system call to request allocation of backing storage in physical memory for global shared memory accessible to all of the multiple tasks within the parallel job, where the global shared memory is in a global address space defined by a range of effective addresses. Each task among the multiple tasks receives an indication that the allocation requested by the system call was successful only if the global address space for that task was previously reserved and backing storage for the global shared memory has not already been allocated.06-18-2009
20090132780CACHE LINE RESERVATIONS - Illustrative embodiments provide a computer implemented method, an apparatus in the form of a data processing system and a computer program product for cache line reservations. In one embodiment, the computer implemented method comprises, dividing a memory into an unreserved section and a set of reserved sections. The method performs selected allocations of the memory only from the set of reserved sections, and performing un-selected allocations of the memory from the unreserved section. The method further mapping a specified selected allocation of the memory to a same corresponding line of cache memory each time the mapping for the specified selected allocation of the memory occurs, thereby maintaining locality.05-21-2009
20090125695Thermal Control of Memory Modules Using Proximity Information - An information handling system includes a processor having access to a system memory. The system is operable to detect a thermal alert and identify an associated portion of system memory. The system may then modify memory allocation information used by an operating system to allocate system memory. When the thermal alert indicates a rising memory module temperature that exceeds a specified threshold, the modification of the memory allocation information causes the memory to appear to be more “distant” from the system processor(s) and thereby allocated less preferentially than other memory. If the temperature continues to rise beyond a higher threshold, a second modification of the memory allocation information is performed to simulate a “hot eject” of the memory module. As the memory module cools, the memory allocation information can be restored to simulate a hot add of the memory module and to restore the proximity of the memory module.05-14-2009
20090125694STORAGE CONTROL APPARATUS, STORAGE SYSTEM, AND VIRTUAL VOLUME CONTROL METHOD - The storage control apparatus of the present invention saves a table for managing a virtual volume in a pool and keeps the state of the table in the latest state. A first dynamic mapping table (DMT) that manages a first virtual volume is saved in a first pool. Upon receipt of a write command relating to an unused virtual slot from a write command issuing device, a first virtual volume control unit assigns an unused real slot in the first pool to the virtual slot and updates the first DMT. The first virtual volume control unit discriminates the validity of the received data and, in cases where “0” data are received, releases the assigned real slot, updates the first DMT once again, and discards the received data. In cases where the received data are valid data, de-staging is performed following a DMT update.05-14-2009
20090125693TECHNIQUES FOR MORE EFFICIENT GENERATION OF XML EVENTS FROM XML DATA SOURCES - One may increase the efficiency of an XML event-generating process by reducing the number of requests to allocate or deallocate system memory. Such reduction may occur as the result of pre-allocating a memory chunk of sufficient size to contain all of the memory buffers required by a particular event-generating process. Instead of allocating new memory chunks for new memory buffers, an application may store any required buffers within the pre-allocated memory chunk. A sufficient memory size may be estimated by performing the event-generating process on a training set of XML documents. Also, an application may re-use buffers during the process or between different iterations of the process, thus avoiding the need to deallocate and reallocate memory that is essentially being used for the same purpose.05-14-2009
20130046949MAPPING IN A STORAGE SYSTEM - A system and method for maintaining a mapping table in a data storage subsystem. A data storage subsystem supports multiple mapping tables. Records within a mapping table are arranged in multiple levels which may be logically ordered by time. Each level stores pairs of a key value and a pointer value. New records are inserted in a created new (youngest) level. All levels other than the youngest may be read only. In response to detecting a flattening condition, a data storage controller is configured to identify a group of two or more adjacent levels of the plurality of levels for flattening which are logically adjacent in time. A new level is created and one or more records stored within the group are stored in the new level, in response to detecting each of the one or more records stores a unique key among keys stored within the group.02-21-2013
20130046950PRIORITY BASED DEPOPULATION OF STORAGE RANKS - Exemplary method, system, and computer program product embodiments for priority based depopulation of ranks in a computing storage environment are provided. In one embodiment, by way of example only, multiple ranks selected for depopulation are prioritized. The highest priority rank of the multiple ranks is depopulated to a target rank. Additional system and computer program product embodiments are disclosed and provide related advantages.02-21-2013
20090043983METHOD AND APPARATUS FOR REDUCING THE AMOUNT OF DATA IN A STORAGE SYSTEM - Groups of volumes having a certain amount of commonality of data are identified within a storage system. For each group, the process defines a base volume, such as the volume containing the most commonality with the other volumes. For each volume in the group, the process extracts differential data between the base volume and each other volume, saves the differential data in a pool volume, and updates a mapping table. Commonality between volumes in the group is managed in the base volume, the pool volume, and the mapping table. Then the original volumes except the base volume and the pool volume may be deleted, and the original volumes are replaced with virtual volumes accessible through the mapping table. As a result, the amount of data in a storage system can be reduced while maintaining data integrity and accessibility.02-12-2009
20090327639Optimized Memory Allocation Via Feature Extraction - A method and system for recovering embedded system memory contained within an embedded system includes a software image in embedded system memory and identifying unneeded software features in the software image; identifying memory portions containing the unneeded software features; and reallocating the memory portions containing the unneeded features.12-31-2009
20090307455METHOD AND APPARATUS FOR ALLOCATING MEMORY FOR IMMUTABLE DATA ON A COMPUTING DEVICE - One embodiment of the present invention provides a system that allocates memory for immutable data on a computing device. During operation, the system receives an application to be executed on the computing device. Next, the system allocates a memory region on the computing device to store immutable data for the application. Note that this memory region is smaller than the immutable data for the application. When the system subsequently receives a request to access a block of immutable data for the application, the system allocates space in this memory region for the block, and proceeds to load the block into the memory region. However, if at a later time the space occupied by this first block is needed for another block, the system unloads and discards the first block. If a subsequent operation needs to use information in the first block, the system regenerates the block by transforming raw data associated with the block into a form that can be directly accessed by the application, and then reloads the block into the memory region.12-10-2009
20090307454Method and device for switching over in a memory for a control device - A method and device for switching over in a memory for a control device, a first storage area in the control unit being overlaid by a second storage area; the second storage area including at least one memory page, and each of the memory pages being able to overlay the first storage area; switching over being able to be performed between the memory pages and the overlaying being able to be switched on/switched off, and the switching over of the memory pages and the switching on/switching off of the overlaying of the second storage area being automatically carried out and/or triggered by the software of the control unit.12-10-2009
20120191939MEMORY MANAGEMENT METHOD - According to one aspect of the present disclosure a method and technique for managing memory access is disclosed. The method includes setting a memory databus utilization threshold for each of a plurality of processors of a data processing system to maintain memory databus utilization of the data processing system at or below a system threshold. The method also includes monitoring memory databus utilization for the plurality of processors and, in response to determining that memory databus utilization for at least one of the processors is below its threshold, reallocating at least a portion of unused databus utilization from the at least one processor to at least one of the other processors.07-26-2012
20120191938INFORMATION PROCESSING APPARATUS AND WRITE CONTROL METHOD - According to one exemplary embodiment, an information processing apparatus includes: a first memory having plural management areas managed in units of a first memory capacity; a second memory to which data is written in units of a second memory capacity larger than the first memory capacity; a selector which selects one first management area of the plural management areas; and a writing module which writes data of a number, corresponding to the second memory capacity, of management areas to the second memory, the data including data of the first management area and data of different management areas from the first management area. If after data of the first management area and the different management areas are written to the second memory the selector selects one second management area of the different management areas, the writing module refrains from writing data of the second management area to the second memory.07-26-2012
20120191937GARBAGE COLLECTION MANAGEMENT IN MEMORIES - The disclosure is related to systems and methods of managing a memory. In a particular embodiment, a memory channel is disclosed that includes multiple memory units, with each memory unit comprising multiple garbage collection units. The memory channel also includes a controller that is communicatively coupled to the multiple memory units. The controller selects a memory unit of the multiple memory units for garbage collection based on a calculated number of memory units, of the multiple memory units, to garbage collect.07-26-2012
20120191936JUST IN TIME GARBAGE COLLECTION - The disclosure is related to systems and methods of managing a memory. In a particular embodiment, a memory is disclosed that includes multiple garbage collection units. The memory also includes a controller that determines whether to select a garbage collection unit of the multiple garbage collection units for garbage collection based on a variable threshold number of the multiple garbage collection units to garbage collect.07-26-2012
20130073828METHOD AND SYSTEM FOR MEMORY MANAGEMENT - A device, comprising a single-ported first memory slice accessible only to a plurality of clients and including a plurality of blocks configured for storing information on behalf of the plurality of clients. The device further comprises a dual-ported second memory slice having a plurality of blocks for storing links and accessible to the plurality of clients and to a list manager that maintains a data structure for allocating memory blocks from the first memory slice and the second memory slice to the plurality of clients. In response to a client request, the list manager allocates a block of the first memory slice and a block of the second memory slice to the client, and stores a link for a next available memory block at the second memory slice.03-21-2013
20130073830COMPOSITION OF DATA OBJECTS - An embodiment of a data-processing-system for storing and modifying data-objects in a computing device, wherein a data-object is modified by direct insertion or removal of data within the data-object's storage-space. Data-objects may be of fixed, or variable-lengths. Data-objects may be nested. The length, name, data-type, value, and composition of a data-object may be modified. Other embodiments are described and shown.03-21-2013
20130073829Memory Usage Configuration Based on Observations - A computer software execution system may have a configurable memory allocation and management system. A configuration file or other definition may be created by analyzing a running application and determining an optimized set of settings for the application on the fly. The settings may include memory allocated to individual processes, memory allocation and deallocation schemes, garbage collection policies, and other settings. The optimization analysis may be performed offline from the execution system. The execution environment may capture processes during creation, then allocate memory and configure memory management settings for each individual process.03-21-2013
20090271589STORAGE VIRTUALIZATION SYSTEM - Storage virtualization systems and methods that allow customers to manage storage as a utility rather than as islands of storage which are independent of each other. A demand mapped virtual disk image of up to an arbitrarily large size is presented to a host system. The virtualization system allocates physical storage from a storage pool dynamically in response to host IO requests, e.g., SCSI I/O requests, allowing for the amortization of storage resources-through a disk subsystem while maintaining coherency amongst I/O RAID traffic. In one embodiment, the virtualization functionality is implemented in a controller device, such as a controller card residing in a switch device or other network device, coupled to a storage system on a storage area network (SAN). The resulting virtual disk image that is observed by the host computer is larger than the amount of physical storage actually consumed.10-29-2009
20090271588Migrating Program Objects in a Multi-Node Computer System - Embodiments of the invention enable application programs running across multiple compute nodes of a highly-parallel system to selectively migrate objects from one node to another. For example, when an object becomes too large, a node containing the object may migrate the object to another node, thereby freeing memory space. Whether a large object is migrated can be dependent on how frequently the object is used by the application. Because the memory used by such an object is freed for other uses by the application, overall application performance may be improved. On large parallel systems with thousands of compute nodes, even relatively small improvements in application performance an individual compute node may be magnified many times, resulting in dramatic improvements in overall application performance.10-29-2009
20090070543DATA COMPRESSION/DECOMPRESSION APPARATUS AND METHOD - A data compression/decompression apparatus and method is provided for improving memory utilization. A data compression/decompression apparatus of the present invention includes a compressor for calculating costs of domain blocks to a range block through forward searching in a search range, for selecting the domain block having the lowest cost to the range block as a reference domain block through backward searching, for generating distance and difference information of the reference domain block, and for encoding the distance and difference information into compressed data of the range block and a decompressor for finding the reference domain block on the basis of the distance and for decoding the compressed data into original data of the range block with reference to the difference information.03-12-2009
20120226885COMPUTER SYSTEM AND CONTROL METHOD THEREFOR - To reduce the number of data copies between volume pools by preventing occurrence of unevenness of resource usage between the pools, provided is a computer system including: storage apparatus; and host computer coupled to the storage apparatus, the storage apparatus including physical storage device, the storage apparatus holding information associating virtual volumes and pools each including real storage areas of the physical storage device, the storage apparatus allocating, to the virtual volume of a write destination designated by the host computer, the real storage areas included in each of the plurality of pools corresponding to the virtual volume of the write destination, and storing the data therein, the computer system being configured to: determine, based on the information held by the storage apparatus, orders of priority of the volumes of the write destination by the host computers; and hold the determined orders of priority.09-06-2012
20130067187ALLOCATION STRATEGIES FOR STORAGE DEVICE SETS - A storage device set may allocate capacity for spaces (e.g., logical volumes) according to an allocation strategy, e.g., allocating capacity from the storage device having the greatest available capacity, or maximizing the distribution of allocated capacity across the storage devices. However, such allocation strategies may be inefficient (e.g., limiting the capability of the storage device set to satisfy subsequent requests with constraints such as a minimum distribution of capacity across several storage devices). The techniques presented herein achieve efficient allocation by first allocating capacity on storage devices having ample available capacity using a round-robin technique, and if such storage devices do not satisfy the capacity request, allocating capacity on storage devices having limited available capacity. Additionally, the techniques presented herein facilitate thin provisioning through capacity reservations, wherein storage devices withhold unallocated storage for particular spaces that may be utilized as a reserve if unreserved capacity is exhausted.03-14-2013
20130067186MEMORY MANAGEMENT TECHNIQUES - Memory management techniques that permit an executing process to store content in memory and later retrieve that content from the memory, but that also permit a memory manager to discard that content to address memory pressure. A process executing on a computing device may notify a memory manager of the computing device that first memory space allocated to the process contains first content that is available for discard. If the memory manager detects the computing device is experiencing memory pressure, the memory manager may address the memory pressure by selecting memory space available for discard and discarding the content of the memory space. Before a process reuses content made available for discard, the process may notify the memory manager of the intent to reuse and, in response, receive empty memory and an indication that the content was discarded or receive an indication that the content is still available for use.03-14-2013
20130067189INITIALIZING A MEMORY SUBSYSTEM OF A MANAGEMENT CONTROLLER - A method for initializing a memory subsystem (03-14-2013
20130067188STORAGE DEVICE DRIVERS AND CLUSTER PARTICIPATION - The representation of storage devices on computers (e.g., as logical volumes) may be complicated by the pooling of multiple storage devices in order to apply redundancy plans such as mirroring and checksumming. Presented herein is a storage device driver configured to operate as a storage device interface generating representations of the storage regions of the storage devices; to claim those regions as a storage controller; and to expose pooled storage regions as logical disks. Additionally, the storage device driver may support the inclusion of storage devices in a cluster, comprising nodes that may be appointed as managers of the storage pool configuration; as managers of the storage devices; as owners having exclusive read/write access to the storage pool or cluster resources; and as cluster resource writers having excusive write access to a cluster resource. The nodes of the cluster may interoperate to share the storage devices while avoiding write conflicts.03-14-2013
20110022814METHODS AND SYSTEM OF POOLING STORAGE DEVICES - A system and method are provided for pooling storage devices in a virtual library for performing a storage operation. A storage management device determines a storage characteristic of a plurality of storage devices with respect to performing a storage operation. Based on a storage characteristic relating to performing the storage operation, the storage management device associates at least two storage devices in a virtual library. The storage management device may continuously monitor the virtual library and detect a change in storage characteristics of the storage devices. When changes in storage characteristics are detected, the storage management device may change associations of the storage device in the virtual library.01-27-2011
20090024817DEVICE, SYSTEM, AND METHOD OF PUBLISHING INFORMATION TO MULTIPLE SUBSCRIBERS - Device, system, and method of publishing information to multiple subscribers. For example, a data publisher capable of communication with one or more subscribers includes: a memory allocator to allocate a memory area of a local memory unit of the data publisher for storing data to be accessible for Remote Direct Memory Access (RDMA) read operations by one or more of said subscribers.01-22-2009
20090013146METHOD TO CREATE A UNIFORMLY DISTRIBUTED MULTI-LEVEL CELL (MLC) BITSTREAM FROM A NON-UNIFORM MLC BITSTREAM - A method, system, and computer software product for operating a collection of memory cells. Each memory cell in the collection of memory cells is configured to store a binary multi-bit value delimited by characteristic parameter bands. In one embodiment, a transforming unit transforms an original collection of data to a transformed collection of data using a reversible mathematical operator. The original collection of data has binary multi-bit values arbitrarily distributed across the binary multi-bit values assigned to the characteristic parameter bands and the transformed collection of data has binary multi-bit values substantially uniformly distributed across the binary multi-bit values assigned to the characteristic parameter bands.01-08-2009
20090006801SYSTEM, METHOD AND PROGRAM TO MANAGE MEMORY OF A VIRTUAL MACHINE - Management of virtual memory allocated by a virtual machine control program to a plurality of virtual machines. Each of the virtual machines has an allocation of virtual private memory divided into working memory, cache memory and swap memory. The virtual machine control program determines that it needs additional virtual memory allocation, and in response, makes respective requests to the virtual machines to convert some of their respective working memory and/or cache memory to swap memory. At another time, the virtual machine control program determines that it needs less virtual memory allocation, and in response, makes respective requests to the virtual machines to convert some of their respective swap memory to working memory and/or cache memory.01-01-2009
20090006800CONFIGURABLE MEMORY SYSTEM AND METHOD FOR PROVIDING ATOMIC COUNTING OPERATIONS IN A MEMORY DEVICE - A memory system and method for providing atomic memory-based counter operations to operating systems and applications that make most efficient use of counter-backing memory and virtual and physical address space, while simplifying operating system memory management, and enabling the counter-backing memory to be used for purposes other than counter-backing storage when desired. The encoding and address decoding enabled by the invention provides all this functionality through a combination of software and hardware.01-01-2009
20090006799HANDLING MULTI-RANK POOLS AND VARYING DEGREES OF CONTROL IN VOLUME ALLOCATION ON STORAGE CONTROLLERS - Techniques are disclosed for optimizing volume allocation on storage controllers that may have varying degrees of control over directing storage on ranks of pools attached storage components. A performance-based volume allocation algorithm can optimize allocation for such various controllers in a smooth, uniform manner allowing changes from one degree of control to another without incurring costly code changes and re-architecting costs. Where control is not available a surrogate set of possible ranks where the allocation could be made is developed and employed to calculate an adjusted utilization cost. In turn, the adjusted utilization cost is used to calculate a space limit value limited by a target performance threshold.01-01-2009
20130166871MEMORY CONTROL METHOD FOR A COMPUTER SYSTEM - A memory control method for a computer system is provided. The method includes the steps of: (a) calculating an operation cost of each of given M memory objects in each of N memory regions, M being an integer larger than 0, wherein the operation cost is a quantifiable parameter of a said memory region with respect to a said memory object operating therein; (b) determining an optimized allocation of the M memory objects in the N memory regions according to the calculated operation cost of each of the M memory objects in each of the N memory regions.06-27-2013
20130166872METHODS AND APPARATUS FOR MIGRATING THIN PROVISIONING VOLUMES BETWEEN STORAGE SYSTEMS - Multiple storage systems have capability to provide thin provisioning volumes to host computers and capability to transfer (import/export) management information regarding thin provisioning between storage systems. Moreover, at least one of the storage systems posses capability to provide storage area of other storage system as own storage area virtually via connection to the other storage system (i.e. external storage). Target storage system achieves efficient migration and unifying storage resource pool by importing or referring the management information obtained from source storage system and by utilizing the source storage system as external storage. One implementation involves method and process for migration of thin provisioning volumes using chunks having same length between source storage system and destination storage system. In this implementation, storage resource pool is unified by importing management information from the source storage system, and automated page-based relocation is performed to adjust actual location of data.06-27-2013
20080294863Block compression of tables with repeated values - Methods and apparatus, including computer program products, for block compression of tables with repeated values. In general, value identifiers representing a compressed column of data may be sorted to render repeated values contiguous, and block dictionaries may be generated. A block dictionary may be generated for each block of value identifiers. Each block dictionary may include a list of block identifiers, where each block identifier is associated with a value identifier and there is a block identifier for each unique value in a block. Blocks may have standard sizes and block dictionaries may be reused for multiple blocks.11-27-2008
20090132781MEMORY HUB WITH INTEGRATED NON-VOLATILE MEMORY - A memory hub having an integrated non-volatile memory for storing configuration information is provided. The memory hub includes a high-speed interface for receiving memory access requests, a non-volatile memory having memory configuration information stored therein, and a memory controller coupled to the high-speed interface and the non-volatile memory. The memory controller includes registers into which the memory configuration information is loaded and is operable to output memory requests in response to receiving memory access requests from the high-speed interface and in accordance with the memory configuration information loaded in the registers. A method for initializing a memory sub-system is also provided. The method includes loading configuration registers of a plurality of memory hubs with the configuration information provided by a respective one of a plurality of embedded non-volatile memories integrated in the respective memory hub.05-21-2009
20090024820Memory Allocation For Crash Dump - A method and module for performing a crash dump in a data processing apparatus in which memory for running the crash dump routine is allocated at the time of the crash. The method comprises running a first routine to identify memory locations of data for use by a second routine; allocating memory for performing the second routine from a memory range that does not contain the identified memory locations; and running the second routine using the allocated memory, wherein the first routine comprises a dummy crash dump routine and the second routine comprises a crash dump routine. The dummy crash dump may use smaller data sizes and does not perform any input or output to non-volatile storage of the data to be dumped. When a memory range that is safe to be reused has been identified, the data stored therein can be dumped and then memory for performing the actual crash dump routine can be allocated from the memory range and be reused for performing the actual crash dump routine.01-22-2009
20110283077PRESERVING AN EXISTING VOLUME MAP IN RE-INITIALIZING A DATA STORAGE VOLUME - A method, system and computer-program product for re-initializing a storage volume with an previously created volume map being preserved to allow access to previously stored data sets. The invention includes creating a new volume map in an unused volume area where the new volume map has pointers to new data sets. One of the new data sets contains the previously created volume map that points to previously created data sets. Each volume map is referenced by a volume label and includes a VTOC and an optional VTOC index. The pointers in the VTOC are data set control block (DSCB) records.11-17-2011
20110283080APPARATUS AND METHOD FOR MANAGING MEMORY - Provided is a memory management method, and an apparatus to perform the method, which achieves a shortened user waiting time in consideration of system performance. The method includes acquiring a deallocation unit used to deallocate an allocated memory area according to at least one attribute, and deallocating the allocated memory area using the deallocation unit.11-17-2011
20110283079DATA PROCESSING DEVICE APPLYING FOR STORAGE DEVICE, DATA ACCESSING SYSTEM AND RELATED METHOD - A data processing device applying for a storage device includes: a first interface circuit coupled to the storage device; a processing circuit coupled to the first interface circuit for reading a control code from a divided storage area in the storage device, and executing the control code to generate a storage capacity of the storage device; and a second interface circuit coupled to the processing circuit for feeding the storage capacity back to an operating system such that the operating system regards the storage capacity as a usable capacity of the storage device.11-17-2011
20090150638Apparatus for supporting creation of access path from host to logical volume - A path creation support apparatus acquires beforehand, from a storage system or a host, either a portion of the parameters required for path creation or parameter decision information which is information for deciding this portion of the parameters. The path creation support apparatus decides the portion of the parameters based on the parameter decision information. Upon receipt of an access path creation start request, the path creation support apparatus sends to the host and the storage system an access path creation indication which specifies the parameters specified together with the access path creation start request, and either the parameters acquired beforehand or the parameters decided based on the parameter decision information acquired beforehand.06-11-2009
20110302387METHOD FOR MANAGING STORAGE, PROGRAM AND SYSTEM FOR THE SAME - A system including plural storage devices provides a technique for controlling storage devices in which files are located by a file system, and turning on or off the storage devices based on prediction of the start or end of access to the files. A program that manages power to the storage devices and data access to the storage devices via the files includes means or functions for allocating a storage device as an area in which a file is located, for selecting a storage device in which a file is located, for predicting that access to a file is started for commanding turning on power to a storage device based on the prediction that access to a file is started, for predicting that access to a file terminates, and for commanding turning off power to a storage device based on the prediction that access to a file terminates.12-08-2011
20130024640Virtual Logical Volume for Overflow Storage of Special Data Sets - Method and system embodiments for facilitating overflow storage of special data sets that reside on a single logical volume are provided. A virtual logical volume is created from unallocated memory units across a plurality of logical volumes in a volume group. The virtual logical volume appears the same as any one of the logical volumes in the volume group to an external client. Upon receipt of a special data set that must reside in a single logical volume, an attempt is first made to allocate the special data set to one of the logical volumes in the volume group. If that allocation attempt fails, the special data set is allocated to the virtual logical volume. The virtual logical volume may be created only upon the failure to allocate the special data set to one of the logical volumes, and may be destroyed if sufficient space in one of the logical volumes is freed up to transfer the special data set. Creation of the virtual logical volume may be reserved for only critical special data sets whose failure would result in a storage system outage.01-24-2013
20090276599CONFIGURABLE TRANSACTIONAL MEMORY FOR SYNCHRONIZING TRANSACTIONS - A configurable transactional memory synchronizes transactions from clients. The configurable transactional memory includes a memory buffer and a transactional buffer. The memory buffer includes allocation control and storage, and the allocation control is configurable to selectively allocate the storage between a transactional buffer and a data buffer for the data words. The transactional buffer stores state indicating each combination of a data word and a client for which the data word is referenced by a write access in the transaction in progress from the client. The transactional arbiter generates the completion status for the transaction in progress from each client. The completion status is either committed for no collision or aborted for a collision. A collision is an access that references a data word of the transaction from the client following a write access that references the data word of another transaction in progress from another client.11-05-2009
20110302386METHOD AND APPARATUS TO MANAGE SPECIAL REARRANGEMENT IN AUTOMATED TIER MANAGEMENT - A storage controller performs automated page-based tier management of storing data in tiered storage using pool groups, which includes evaluating the pool groups based on a preset rule in order to determine an evaluation result for each pool group, and using the evaluation results among the pool groups to determine which pool group is to be selected for allocation against portions of one storage volume of a plurality storage volumes. In response to receiving an instruction for rearrangement of data in the tiered storage, the instruction including a requirement to be satisfied in selecting the plurality of tiers within a pool group based on access characteristics for allocation against portions of the one storage volume, the storage controller analyzes the pool groups according to the requirement to determine whether any of the pool groups is appropriate to possess the one storage volume for storing the data.12-08-2011
20100082934COMPUTER SYSTEM AND STORAGE SYSTEM - In order to manage and operate Pool created in storage system A and a virtual volume using Pool in storage system B, it is required to copy the virtual volume of storage system A into a virtual volume of storage system B and new storage regions for copy of virtual volume into storage system B are needed. Storage system B acquires configuration information of Pool and a virtual volume of storage system A and inputs a logical volume included in Pool of storage system A to storage system B based on the acquired configuration information. Storage system B transforms the acquired configuration information for use in storage system B and creates Pool and a virtual volume from the input logical volume based on the transformed configuration information.04-01-2010
20100169604HYBRID MEMORY DEVICE - A method is provided. The method includes receiving data and classifying received data in one of several tiers of data. The method also includes storing each tier of data on a different non-volatile memory device.07-01-2010
20100115223 Storage Area Allocation Method and a Management Server - An object is to allocate a storage area to a business application by taking a security evaluation of the storage area and a security evaluation value of the business application into consideration. A management server includes a business management table to store a calculated security evaluation value of a business application to be executed in a host in association with information concerning the business application, and a management table to store a calculated encryption level of a virtual pool in a storage device in association with information concerning the virtual pool. The management server retrieves a virtual pool having an encryption level which is the same in value as the evaluation value, and allocates the retrieved virtual pool to the business application.05-06-2010
20100268908DATA STORAGE METHOD, DEVICE AND SYSTEM AND MANAGEMENT SERVER - The present invention relates to a data storage method, device and system and a management server. The data storage method includes: constituting a data pool from all of n data storage devices; when there is data for storage, polling all the devices in the data pool to select a group of m devices, and storing the data onto each of the selected group of m devices, where m is larger than one and smaller than n. The embodiments of the invention can address the problems of an existing data storage approach that a failing node causes an increased load on and instability of another node and that each node in the existing data storage approach has a low utilization ratio and poor predictability, so as to achieve uniform loads on the devices and high reliability of the nodes despite any failing node and improve the resource utilization ratio and predictability of the nodes.10-21-2010
20100268907Selecting A Target Number of Pages for Allocation to a Partition - In an embodiment, a target number of discretionary pages for a first partition is calculated as a function of a number of physical page table faults, a number of sampled page faults, a number of shared physical page pool faults, a number of re-page-ins, and a ratio of pages. 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.10-21-2010
20120239900MEMORY CONTROLLER ADDRESS AND DATA PIN MULTIPLEXING - A system and a method for configuring a memory controller that communicates with a memory device muxes selected pins for the data transfer. The memory controller includes a set of pins where each pin of the set is associated with a data bit and an address bit. A programmable logic block is connected to the set of pins and uses a subset of the set of pins to enable data transfer between the memory device and the memory controller depending on the size of the memory device such that the pins not included in the subset are available for other applications.09-20-2012
20120110293METHOD AND SYSTEM FOR MANAGING VIRTUAL MACHINE STORAGE SPACE AND PHYSICAL HOST - A method for managing Virtual Machine (VM) storage space is provided. In the method, a Storage Balloon Agent (SBA) module deployed in a VM is adopted to directly acquire virtual storage free block information and deliver the acquired virtual storage free block information to a Storage Balloon Daemon (SBD) module deployed in a Virtual Machine Monitor (VMM) layer; and the SBD module releases a part or all of physical storage space corresponding to the virtual storage free block information, and marks virtual storage blocks corresponding to the released physical storage space as unavailable. A corresponding system and a physical host are further provided in the present invention. Through the method of an embodiment of the present invention, use condition of virtual storage space can be acquired in real time, and a large number of read and write operations of a storage system can be avoided.05-03-2012
20110225385CONTROLLING CONFIGURABLE VARIABLE DATA REDUCTION - Example apparatus, methods, and computers control configurable, variable data reduction. One example method includes identifying data reduction controlling attributes in an object to be data reduced by a configurable variable data reducer. The attributes provide information upon which decisions concerning whether and/or how to data reduce the object can be based. The example method also includes controlling a configurable variable data reducer to selectively data reduce the object based, at least in part, on the data reduction controlling attributes. The control exercised can determine whether, where, when, and/or how data reduction will proceed.09-15-2011
20100125715Storage System and Operation Method Thereof - To efficiently assign storage resources to storage areas in a well-balanced manner in terms of performance and capacity, provided is a storage system in which, for a storage apparatus including a disk array group providing a logical volume to be assigned to an application, a storage management unit holds the throughput, response time, and storage capacity of the array group; receives performance density being a ratio between a throughput and a storage capacity, and a requirement on a storage capacity required for the logical volume; and assigns the throughput to the logical volume on the basis of the received performance density and the capacity requirement with the throughput of the array group set as an upper limit, and assigns, to the logical volume, a storage area determined on the basis of the assigned throughput and the received capacity requirement.05-20-2010
20120239899Leasing Fragmented Storage Between Processes - A mechanism is provided for leasing fragmented storage between processes. The mechanism comprises a fragmented memory manager associated with instances of virtual memory managers to provide a pool of memory that may lease from the owners of the memory and in turn sub-let the memory for use by other processes or owners. The mechanism allows programs to operate under normal conditions until fragmentation sets. A different memory manager leases those fragmented memory blocks from processes to create a virtually contiguous block of memory that it can sub-lease to processes in need of temporary expansion beyond the memory available for the processes under normal circumstances.09-20-2012
20100293353TASK QUEUING IN A NETWORK COMMUNICATIONS PROCESSOR ARCHITECTURE - Described embodiments provide a method of assigning tasks to queues of a processing core. Tasks are assigned to a queue by sending, by a source processing core, a new task having a task identifier. A destination processing core receives the new task and determines whether another task having the same identifier exists in any of the queues corresponding to the destination processing core. If another task with the same identifier as the new task exists, the destination processing core assigns the new task to the queue containing a task with the same identifier as the new task. If no task with the same identifier as the new task exists in the queues, the destination processing core assigns the new task to the queue having the fewest tasks. The source processing core writes the new task to the assigned queue. The destination processing core executes the tasks in its queues.11-18-2010
20130024641APPARATUS, SYSTEM, AND METHOD FOR MANAGING STORAGE CAPACITY RECOVERY - An apparatus, system, and method are disclosed for managing storage capacity recovery. A monitor module determines a workload write bandwidth for a sequential log-based data storage device. The workload write bandwidth includes a rate at which workload write operations generate reclaimable storage capacity on the data storage device. A target module determines a target reclamation write bandwidth for the data storage device. A capacity reclaim rate is associated with the target reclamation write bandwidth. The capacity reclaim rate satisfies the workload write bandwidth for the data storage device. A reclaim rate module determines a prospective reclamation write bandwidth for the data storage device, based on the workload write bandwidth, to correspond to the capacity reclaim rate associated with the target reclamation write bandwidth.01-24-2013
20100082933AUTOMATED METHOD TO CONFIGURE A DATA STORAGE SYSTEM - An automated, computer-implemented method to configure a data storage system comprising a host computer, a storage controller in communication with said host computer, and a plurality of data storage media in communication with said storage controller, wherein the method provides a configuration algorithm encoded as computer readable program code, and executes that computer readable program code. The configuration algorithm creates a command procedure comprising a plurality of physical configuration commands to establish a physical configuration for the data storage system. The configuration algorithm further creates a command procedure comprising a plurality of logical configuration commands to establish a logical configuration for the data storage system.04-01-2010
20110173410EXECUTION OF DATAFLOW JOBS - A method, system and computer program product for storing data in memory. An example system includes at least one multistage application configured to generate intermediate data in a generating stage of the application and consume the intermediate data in a subsequent consuming stage of the application. A runtime profiler is configured to monitor the application's execution and dynamically allocate memory to the application from an in-memory data grid.07-14-2011
20090138671SYSTEM, METHOD, AND COMPUTER PROGRAM PRODUCT FOR INCREASING SPARE SPACE IN MEMORY TO EXTEND A LIFETIME OF THE MEMORY - A system, method, and computer program product are provided for extending a lifetime of memory. In operation, spare space in memory is increased. Additionally, a lifetime of the memory is extended, as a result of increasing the spare space in the memory.05-28-2009
20090049266MEMORY SYSTEM WITH SECTOR BUFFERS - The invention relates to a memory system which is connected to a host system by means of a host bus (HB). Said system contains a memory controller (FC) having an internal memory (IR) and flash memory chips (F02-19-2009
20090254730Memory Pacing - A method, system, and program for managing memory page requests in a multi-processor data processing system determines a threshold value of available memory, and dynamically adjusts an allocation time to fulfill a page request if the available memory is below a threshold value. The allocation time to fulfill the page request is based upon a percentage of available memory pages once a page stealer commences a scan for pages. An allocation wait time is inversely proportionally adjusted depending upon the percentage of available memory. The allocation wait time has a duration that increases in time as the percentage of available memory decreases and decreases in time as the percentage of available memory increases. More specifically, an average time per page to allocate a page including a scan time for the scan in computing the average time is determined. Then a tunable value is applied to the average time to determine a wait time. In a preferred embodiment, user defined values are received that would control the allocation wait time before fulfilling a page request.10-08-2009
20090249017Systems and Methods for Memory Management for Rasterization - Methods for managing a single memory pool comprising frame buffer memory and display list memory are presented. The single memory pool can comprise sub-pools including: a super-block pool comprising a plurality of super-block objects; a node pool comprising a plurality of node objects; and a block-pool comprising a plurality of blocks. The method may comprise: receiving a memory allocation request directed to at least one of the sub-pools; allocating an object local to the sub-pool identified in the memory request, if local sub-pool objects are available to satisfy the memory request; allocating an object from super-block pool, if the memory request is directed to the node-pool or block-pool and there are no available local objects in the respective sub-pools to satisfy the memory request; and applying at least one of a plurality of memory freeing strategies, if the sub-pools lack available free objects.10-01-2009
20090157995DYNAMIC MEMORY MANAGEMENT IN AN RDMA CONTEXT - A method for dynamically managing memory to support one or more processes executing in a remote direct memory access (RDMA) environment is provided. The method includes inserting a descriptor in a shared descriptor table, the descriptor corresponding to a block of memory allocated to a heap by an operating system. The method further includes, in response to allocating a portion of the block of memory from the heap to a process, determining whether the process has an existing registration with an application program interface for the block of memory. If the process has no existing registration, registering the process the process is registered with the application program interface and a registration corresponding to the block of memory is stored in a private registration table of the process. Additionally, the method includes, in response to the process releasing the allocated portion of the block of memory to the operating system, de-registering with the application program interface and removing the registration from the registration table. When the block of memory is released to the operating system, other registrations corresponding to the block of memory in other private registration tables of other processes remain in the other registration tables.06-18-2009
20090089532Serial Buffer Supporting Virtual Queue To Physical Memory Mapping - A serial buffer having a plurality of virtual queues, which can be allocated to include various combinations of on-chip dual-port memory blocks, on-chip internal memory blocks and/or off-chip external memory blocks. The virtual queues are allocated and accessed in response to configuration bits and size bits stored on the serial buffer. Relatively large external memory blocks can be allocated to virtual queues used for data intensive operations, while relatively small and fast dual-port memory blocks can advantageously be allocated to virtual queues used for passing command and status information. The serial buffer provides an efficient and flexible manner for utilizing available memory, which not only minimizes the access latency but also provides a large amount of buffer space to meet different application needs.04-02-2009
20090089531METHOD AND SYSTEM FOR MEMORY MANAGEMENT - A method for memory management that includes receiving a request for memory space, identifying a first memory module from a plurality of memory modules based on a first memory power management policy, wherein the first memory power management policy specifies how to allocate memory space in the plurality of memory modules to satisfy a power consumption criteria, and allocating the memory space on the first memory module.04-02-2009
20100088485FAILURE MANAGEMENT METHOD IN THIN PROVISIONING TECHNOLOGY FOR STORAGE - A pool is replicated in the unit of volume providing the pool, and when a physical device is blocked, any volume blocked in the pool is changed to the replicated volume so that the pool and a virtual volume can be recovered. With such a configuration, when any pool or virtual volume is blocked due to blockage of any volume providing the thin provisioning function, volume recovery can be swiftly performed without changing the virtual volume used by a host computer, and consumption of storage resources needed therefor can be suppressed.04-08-2010
20080209155METHOD FOR CONFIGURING A MEMORY SPACE DIVIDED INTO MEMORY BANKS - A method for configuring a memory space, the method including reading a piece of configuration information in the memory space, determining a division of at least one part of the memory space into memory banks according to the configuration information read; and allocating to each of the memory banks an access number to be used to access a data location in the memory bank, in combination with a logic address of the location in the memory bank.08-28-2008
20080209156METHODS AND APPARATUS FOR MANAGING A SHARED MEMORY IN A MULTI-PROCESSOR SYSTEM - Methods and apparatus provide for associating memory allocation table (MAT) entries with nodes in a binary tree such that the nodes and the entries are grouped into hierarchical levels, each entry including status information; associating the nodes and the entries with segments of a shared memory of a multi-processor system such that higher level nodes and entries are associated with larger numbers of segments of the shared memory and lower level nodes and entries are associated with smaller numbers of segments of the shared memory; initializing the MAT such that the status information of at least a plurality of entries indicates that the associated segment or segments of the shared memory are available for reservation; and selecting one entry in a group of entries in the MAT at a level corresponding to a desired size of the shared memory to be reserved.08-28-2008
20090276601VIRTUAL MEMORY MAPPING FOR EFFICIENT MEMORY USAGE - A processor (e.g. utilizing an operating system and/or circuitry) may access physical memory by paging, where a page is the smallest partition of memory mapped by the processor from a virtual address to a physical address. An application program executing on the processor addresses a virtual address space so that the application program may be unaware of physical memory paging mechanisms. A memory control layer manages physical memory space in units of sub-blocks, wherein a sub-blocks is smaller than a size of the page. Multiple virtual address blocks may be mapped to the same physical page in memory. A sub-block can be moved from a page (e.g. from one physical memory to a second physical memory) without moving other sub-blocks within the page in a manner that is transparent to the application program.11-05-2009
20090276600METHOD AND APPARATUS FOR DETERMINING MEMORY USAGE FOR A COMPUTING DEVICE - One embodiment of the present invention provides a system that determines memory usage for a computing device. Within the computing device, an operating system manages memory allocation, and speculatively allocates otherwise-unused memory in an attempt to improve performance. During operation, the system receives a request to estimate the memory usage for the computing device. In response, the system determines an active subset of the computing device's memory, for instance by determining the set of memory pages that have been accessed within a specified recent timeframe. The system then uses this active subset to produce an estimate of actively-used memory for the computing device. By producing an estimate of actively-used memory, which does not include inactive program memory and inactive memory speculatively-allocated for the operating system, the system facilitates determining the actual amount of additional memory available for programs on the computing device.11-05-2009
20090276598METHOD AND SYSTEM FOR CAPACITY-BALANCING CELLS OF A STORAGE SYSTEM - A plurality of cells forming at least a portion of a hive of a data storage system may be capacity balanced by fragmenting a portion of at least one non-empty tile of one of the plurality of cells and moving the fragmented portion to another one of the plurality of cells. A plurality of cells forming at least a portion of a hive of a fixed content storage system may be capacity balanced by identifying at least one of the plurality of cells from which objects are to be moved, and for each of the at least one of the plurality of cells identified, determining a number of objects to be moved to another one of the plurality of cells, identifying one or more tiles that collectively have approximately the number of objects to be moved, and moving the one or more tiles to the another one of the plurality of cells.11-05-2009
20090282208SIMPLE STACK TYPES - Embodiments that facilitate type checking of assembly language instructions are disclosed. In one embodiment, a method includes receiving a low level language instruction in a memory. The instruction includes a word having a first type. The memory includes either a stack or a heap. Each of the stack or heap includes a plurality of positions. The method also includes labeling the plurality of positions in one of the stack or the heap as one or more specified positions and one or more unspecified positions. The method further includes assigning a second type to the memory, the second type including the first type of the word. The word is stored in a specified position or an unspecified position. The method additionally includes determining whether the instruction is well-typed by applying one or more rules to the instruction and to the second type.11-12-2009
20090282207SYSTEM & METHOD FOR STORING A SPARSE MATRIX - A system and method for storing and retrieving a sparse matrix from memory of a computing device while minimizing the amount of data stored and costly jumps in memory. The computing device may be an FPGA having memory and processing elements. The method comprises storing non-zero data elements of the matrix in a data array and storing their corresponding column address values in a column index array. To read this stored data from memory, each preceding value of the column index array may be compared with each current value of the column index array to determine if the data array value corresponding with the current column index array value belongs on the next row of the matrix. The method may include pre-ordering the matrix with zero-pad placeholders or creating a row increment pointer array which typically stores fewer values than the number of rows in the matrix.11-12-2009
20090287898Method and apparatus for I/O priority control in storage systems - In exemplary embodiments a storage control unit is able to provide and track priority control among virtual ports created for corresponding physical ports and/or volume groups made up of one or more volumes, and thereby ensure application of priority settings. According to exemplary embodiments, when a virtual port created for a physical port on a first storage control unit is transferred to another physical port, such as in the same storage control unit or on another storage control unit, priority settings on the first physical port and storage control unit are checked and transferred with the virtual port to the other physical port to prevent competition for priority by virtual ports at the destination physical port. Similarly, priority settings assigned to volume groups may also be transferred when a volume group is transferred to another physical port within a storage control unit or to a different storage control unit.11-19-2009
20080320266Allocating Disk Space On A Disk Drive - Allocating disk space on a disk drive, the disk drive controlled by a device driver and a volume manager, including receiving in the volume manager a request to allocate disk space for semi-sequential data access of structured data; retrieving, from non-volatile memory by the volume manager, information describing access times for storage locations on the disk drive; and allocating, by the volume manager in dependence upon the retrieved information, disk space for the structured data.12-25-2008
20100138626Use of reservation concepts in managing maintenance actions in a storage control system - A computationally implemented method, system, and product for managing maintenance activities in a storage control system are disclosed. A disk drive has a reservation status that is monitored. A reservation ID is assigned to a successful reservation request. The reservation ID of a drive request is compared to the reservation ID of a disk drive.06-03-2010
20090150637Method and system for dynamically allocating read and write sequence randomizer - A data formatting system and method to improve data efficiency and integrity in a hard disk are disclosed. One embodiment provides a disk drive system having a plurality of lookup tables which store a plurality of randomizer seeds which may be dynamically encoded into the preamble field of a customer data block if the customer data is deemed marginal. Encoding the randomizer seed into the preamble field prevents adjacent data track mis-writes and mis-reads.06-11-2009
20080215843STORAGE AREA MANAGEMENT METHOD FOR A STORAGE SYSTEM - The load of managing a storage system is lessened. In a storage system where multiple logical volumes are included in a logical volume group and a copy of the logical volume group is made in a pool area different from the one to which the logical volume group belongs, a management computer adds to the pool area capacity when the capacity of a pool area exceeds a predetermined threshold. When the pool area includes multiple logical volume groups, the management computer requests the storage system to create a pool area for each of the logical volume groups and to create the logical volume groups respectively for the created pool areas. When the pool area includes one logical volume group, the management computer requests the storage system to make the capacity of the pool area coincide with the capacity of a pool area to which the logical volume group is copied.09-04-2008
20080215844AUTOMATIC MAINTENANCE OF CONFIGURATION INFORMATION IN A REPLACEABLE ELECTRONIC MODULE - The present invention provides methods and systems to automatically manage hardware and software capabilities of replaceable electronic modules as the modules are replaced or reassigned to different tasks. Each such module stores configuration information in a persistent memory. This configuration information enables the module to use only selected hardware and to execute only selected software. A replaceable electronic module manager stores copies of each module's configure information in a separate persistent memory. When a module is replaced, a copy of the configuration information is fetched from the module manager's persistent memory and sent to a replacement module, thereby making the replacement module functionally equivalent (from a point of view of which hardware can be used by the module or which software can be executed by the module) to the replaced module. In addition, when a module is assigned to a different task, appropriate configuration information can be sent to the module, so the module can appropriately perform the assigned task, such as use selected hardware or execute selected software.09-04-2008
20080215845Methods, Systems, and Media for Managing Dynamic Storage - Methods, systems, and media for managing dynamic memory are disclosed. Embodiments may disclose identifying nodes with having memory for dynamic storage, and reserving a portion of the memory from the identified nodes for a heap pool. After generating a heap pool, embodiments may allocate dynamic storage from the heap pool to tasks received that are associated with one of the identified nodes. More specifically, embodiments identify the node or home node associated with the task, the amount of dynamic storage requested by the task, and create a heap object in the node associated with the task to provide the requested dynamic storage. Some embodiments involve de-allocating the dynamic storage assigned to the task upon receipt of an indication that the task is complete and the dynamic storage is no longer needed for the task. Several of such embodiments return the de-allocated dynamic storage to the heap pool for reuse.09-04-2008
20100287353Multipage Preparation Commands for Non-Volatile Memory Systems - Multipage preparation commands for non-volatile memory systems are disclosed. The multipage preparation commands supply data that can be used to prepare a non-volatile memory device for forthcoming multipage program operations. A host controller can use the commands ahead of a multipage program operation to optimize usage of a multipage program command. The non-volatile memory device can use the commands to configure the non-volatile memory in preparation for a subsequent operation, such as changing a command order or using the most optimized command set for the subsequent operation.11-11-2010
20100299495METHOD TO SUPPORT SPARSE VOLUMES OR THIN PROVISIONED VOLUMES IN REAL TIME - A storage pool is shared by multiple host computers in a cluster that runs virtual machines. In one embodiment, one of the host computers in the cluster is designated to include a storage pool manager. Each host computer in the cluster monitors its storage consumption and notifies the storage pool manager of its storage consumption. Thus, storage space in the storage pool can be dynamically allocated on demand.11-25-2010
20090037684MEMORY MANAGEMENT METHOD AND COMPUTER USING THE METHOD - Memory management by garbage collection involves a memory area that is allocated in a computer. Data is created in the memory area in accordance with a program executed by a processor of the computer, and it is checked whether or not data necessary to execute the program exists in the memory area to be released, in response to an explicit instruction to release the memory area. As a result of the check, if data necessary to execute the program does not exist in the memory area, the memory area is released. As a result of the check, if data necessary to execute the program exists in the memory area, the data is moved to a memory area different from the memory area to be released.02-05-2009
20090013145SYSTEM AND METHOD FOR FINDING KERNEL MEMORY LEAKS - The invention provides a system and method for tracking memory information associated with dynamically loaded kernel modules with the help of a tracking system. The tracking system defines its own kernel memory allocation functions. Whenever, a dynamic kernel module is loaded/unloaded into/from the kernel space, these newly defined functions are called in response to kernel memory allocation/de-allocation requests from the kernel module. The newly defined functions are responsible for allocating and de-allocating kernel memory, as well as, keeping track of information relating to the kernel memory allocations/de-allocations. The tracked information may be used to identify the source of kernel memory leaks.01-08-2009
20080250218PERMANENT POOL MEMORY MANAGEMENT METHOD AND SYSTEM - A method, system, and computer program manager for a computing system memory in the operation of a computing process. At least one memory segment provides memory resources for the computing process, which includes a plurality of memory objects, each of the memory objects includes an equal number of bytes and has a predetermined order that associates the address of the memory object in the memory segment to the addresses of the remainder of the plurality of memory objects. A pointer identifies a first memory object from the plurality of memory objects. The first memory object occupies a first ordered position according to the predetermined order. The process allocates the first memory objects from the memory segment during the operation of the computing process. The pointer increments to a second memory object having a second ordered position relative to the first memory object. The process continues the allocating and incrementing steps on subsequently ordered memory objects within the memory segment as required by the computing process. The process deconstructs the at least one memory segment only upon the completion of the computing process.10-09-2008
20080276062MEMORY MANAGEMENT FOR A MOBILE MULTIMEDIA PROCESSOR - Certain embodiments of the invention may be found in a method for memory management for a mobile multimedia processor. The method may comprise receiving within a mobile multimedia processor chip a plurality of memory requests. The plurality of memory requests may be handled by allocating memory from at least one on-chip memory block and/or at least one off-chip memory block. The memory may be allocated based on a priority level of each of the plurality of memory requests and at least one dynamically settable global memory allocation priority threshold. A new dynamically settable memory allocation priority threshold may be dynamically determined based on a new application and/or by monitoring at least one software process in at least one present application. Additionally, new memory request priority level may be dynamically determined for each memory request in at least one software process in a new application.11-06-2008
20080276061METHOD AND COMPUTER FOR DETERMINING STORAGE DEVICE - A computer specifies the configuration of a first storage device by referencing first configuration information relating to the configuration of a first storage system including the first storage devices, specifies one or more storage medium access performances corresponding to the first storage device by referencing the storage medium performance information, and calculates a first access performance index of the first storage device based on one or more specified storage medium access performances. The computer then references storage medium performance information and second configuration information relating to the configuration of a second storage system including a second storage device, and determines a second storage device having an access performance index that is at least equal to the calculated first storage access performance index.11-06-2008
20090265525DETERMINING MEMORY UPGRADE OPTIONS - A method to determine memory/upgrade options retrieves memory configuration data from a non-volatile storage element associated with system memory modules, determine the total memory capacity of the computer system, determines a residual memory capacity based on the prior obtained information, and presents the user with a series of options to upgrade existing system memory or replace one or more currently installed memory modules.10-22-2009
20090265524Method and apparatus for arranging multiple processors on a semiconductor chip - A method and apparatus for connecting multiple cores to form a multi core processor. Each processor is connected to at least two other processors, each of which is a mirror image of the first processor. The processors are connected to form a two dimensional matrix connected by one drop busses.10-22-2009
20080313419METHOD AND SYSTEM FOR BUFFERING DATA FILE TO BUFFER MEMORY - This invention provides a method and a system to read and buffer an audio data file from an optical storage medium into a buffer memory. The data file comprises blocks sequentially stored in the medium. Each block comprises a subcode block with encoded subcodes and a corresponding main data block with encoded audio data. The method first designates a starting block where buffering starts and searches for the starting block in the blocks. After the starting block is searched, trigger a main data block decoding procedure to decode the starting block and main data blocks in later blocks. According to the timing when the main data block decoding procedure is triggered, decide the timing to trigger buffering the decoded subcodes to the buffer memory. Therefore, the subcodes and corresponding audio data belonging to the same block before decoding can be buffered into the same buffer unit after decoding.12-18-2008
20080209154Page oriented memory management - A method and apparatus for managing memory allocation using memory pages. An arena is designated within one or more memory pages. The arena is divided into one or more memory blocks of the same size. Metadata is generated for the memory blocks at a location other than between the memory blocks, which is used when allocating memory to satisfy an allocation request of approximately the size of the memory blocks.08-28-2008
20080270729Cluster storage using subsegmenting - Cluster storage is disclosed. A data stream or a data block is received. The data stream or the data block is broken into segments. For each segment, a cluster node is selected, and a portion of the segment smaller than the segment is identified that is a duplicate of a portion of a segment already managed by the cluster node.10-30-2008
20080209153Page oriented memory management - A method and apparatus for managing memory allocation using memory pages. One or more arenas are designated within a memory page. Each of the arenas are divided into one or more memory blocks of the same size. Metadata is generated for the memory blocks at a location other than between the memory blocks, which is used when allocating memory to satisfy an allocation request of the size of the memory blocks.08-28-2008
20080270730METHOD FOR EFFICIENT STORAGE OF METADATA IN FLASH MEMORY - User data are stored in a memory that includes one or more blocks of pages by, for one of the blocks, and optionally for all of the blocks, whenever writing any of the user data to that block, writing the block according to a predefined plan for specifying, with respect to each page of that block, a portion of the user data that is to be written to that page. Alternatively or additionally, each page that stores user data has associated therewith a metadatum related to the age of the user data stored therein; and, for one of the blocks, at any time that two or more of the pages of that block store user data, a common value of the metadatum is associated with all such pages.10-30-2008
20080270728BURST STRUCTURE ALLOCATION FOR PARALLEL CACHE PRE-LOADING - A method of allocating memory and a memory allocation apparatus are described. The method comprises allocating a set of memory locations for at least a portion of a data structure, wherein the allocated set comprises memory space storing a counter corresponding to each memory location in the set. A method of traversing a data structure is described. The method comprises incrementing, by a predetermined value, a reference address of a pointer to a first data structure of a portion of a set of allocated memory locations to obtain a reference address to a second data structure in the portion of the set. The portion of the set of allocated memory locations comprises a counter for each allocated memory location.10-30-2008
20110208940Storage system and method for operating storage system - In a storage system 08-25-2011
20120198197TRANSFERRING DATA IN RESPONSE TO DETECTION OF A MEMORY SYSTEM IMBALANCE - A method begins by a processing module determining an imbalance between inode utilization and data storage utilization. When the imbalance compares unfavorably to an imbalance threshold, the method continues with the processing module determining whether utilization of another inode memory and utilization of another corresponding data storage memory are not imbalanced. When the utilization of the other inode memory and the utilization of the other corresponding data storage memory are not imbalanced, determining whether the inode utilization is out of balance with respect to the data storage utilization. When the inode utilization is out of balance, the method continues with the processing module transferring data objects from a data storage memory to the other corresponding data storage memory and transferring mapping information of data objects from a inode memory to the other inode memory.08-02-2012
20110208942INFORMATION PROCESSING APPARATUS, CONTROL METHOD THEREOF, AND STORAGE MEDIUM - An information processing apparatus able to normally unmount a memory and disconnect communication with a first external apparatus when receiving a processing request from a second external apparatus in a state that the first external apparatus mounts the memory connected to the apparatus. A multi-function peripheral as the processing apparatus (08-25-2011
20110208941SCALABLE PERFORMANCE-BASED VOLUME ALLOCATION FOR TIME-BASED STORAGE ACCESS SERVICES - A scalable, performance-based, volume allocation technique that can be applied in large storage controller collections is disclosed. A global resource tree of multiple nodes representing interconnected components of a storage system is analyzed to yield gap values for each node for a specific time period. The gap value for each node is an estimate of the amount of the additional or increased workload that can be allocated in the subtree of that node without exceeding the performance and space bounds at any of the nodes in that subtree for the specific time period. The gap values of the global resource tree are further analyzed to generate an ordered allocation list of the volumes of the storage system.08-25-2011
20090164745System and Method for Controlling an Amount of Unprogrammed Capacity in Memory Blocks of a Mass Storage System - Systems and methods for allocating blocks at a reprogrammable non-volatile mass storage system are disclosed. Generally, a controller identifies a group of data to be written to a block at the mass storage system, and allocates one of a new block or a partial block to the identified group of data based on whether a total unprogrammed capacity in partial blocks of the mass storage system exceeds an amount of valid data in obsolete blocks of the mass storage system. In one implementation, the identifier group of data may be associated with a single file.06-25-2009
20080320267Memory Element, Data Processing System, Method for Setting Operating Parameters of a Memory and Computer Program - A memory element includes a memory which is operable according to operating parameters from at least two sets of operating parameter values and an operating parameter control which is implemented to receive operating state information and to select a set of operating parameter values for the operation of the memory based on the operating state information.12-25-2008
20090049268PORTABLE STORAGE DEVICE AND METHOD OF MANAGING RESOURCE OF THE PORTABLE STORAGE DEVICE - Provided are a portable storage device and a method of managing a resource of the portable storage device. The method includes converting a first DRM application into a ready status from an idle status if task processing of the first DRM application is required, and converting the first DRM application into a pending status and a second DRM application into the ready status from the idle status if task processing of the second DRM application is required.02-19-2009
20120198196NONVOLATILE MEMORY SYSTEM AND BLOCK MANAGEMENT METHOD - A nonvolatile memory system includes a memory area including a nonvolatile memory apparatus divided into a plurality of blocks, and a controller configured to control the memory area. The controller groups the plurality of blocks of the memory area according to wear level and whether each of the plurality of blocks is in use, and manages the blocks of each group in wear level order.08-02-2012
20090177859METHOD, SYSTEM, AND PROGRAM FOR WRITE PROCESS MANAGEMENT - Provided are a method, system, and program for managing write processes in which a list of destination location identifiers for pending write operations is maintained in an array having an array pointer which identifies the next available entry of the array. In one embodiment, the array includes a stack of variable size. Adding a destination location identifier of a pending write operation increases the size of the stack. Removing a destination location identifier of a completed write operation reduces the size of the stack. A stack index may be incremented as write operation destination location identifiers are added and may be decremented as write operation destination location identifiers are removed from the stack.07-09-2009
20090055615MEMORY TUNING FOR GARBAGE COLLECTION AND CENTRAL PROCESSING UNIT (CPU) UTILIZATION OPTIMIZATION - A method, system and computer program product for garbage collection sensitive load balancing is disclosed. The method for memory tuning for garbage collection and CPU utilization optimization can include benchmarking an application across multiple different heap sizes to accumulate garbage collection metrics and utilizing the garbage collection metrics accumulated during benchmarking to compute both CPU utilization and garbage collection time for each of a selection of candidate heap sizes. One of the candidate heap sizes can be matched to a desired CPU utilization and garbage collection time, and the matched one of the candidate heap sizes can be applied to a host environment.02-26-2009
20090024819ADAPTIVE MEMORY SYSTEM FOR ENHANCING THE PERFORMANCE OF AN EXTERNAL COMPUTING DEVICE - An adaptive memory system is provided for improving the performance of an external computing device. The adaptive memory system includes a single controller, a first memory type (e.g., Static Random Access Memory or SRAM), a second memory type (e.g., Dynamic Random Access Memory or DRAM), a third memory type (e.g., Flash), an internal bus system, and an external bus interface. The single controller is configured to: (i) communicate with all three memory types using the internal bus system; (ii) communicate with the external computing device using the external bus interface; and (iii) allocate cache-data storage assignment to a storage space within the first memory type, and after the storage space within the first memory type is determined to be full, allocate cache-data storage assignment to a storage space within the second memory type.01-22-2009
20090024818MEMORY MANAGEMENT METHOD, INFORMATION PROCESSING APPARATUS, AND MEMORY MANAGEMENT PROGRAM - In a computer including a processor for executing a program and a storage that includes a first storage area and a second storage area for storing objects generated by the executed program, the processor stores objects generated by executing the program in the first storage area. If an object stored in the first storage area is accessed, the processor records access information of the accessed object. The processor extracts a leak object having a high possibility of memory leak on the basis of the recorded access information, and moves the extracted leak object to the second storage area.01-22-2009
20090198943Semiconductor Exposure Apparatus, Control Method, and Computer-Readable Storage Medium - A semiconductor exposure apparatus which executes a plurality of jobs each including at least one application program is provided. The apparatus includes a memory configured to be used to execute the application program, an application program execution management unit configured to manage execution of the application program included in the job; and a memory access management unit configured to manage a memory area to be allocated to the application program using a table in which the job including the application program, the application program, and memory area information to specify the allocated memory area are registered in association with each other, wherein the memory access management unit deletes, from the table, the memory area information of the application program included in the job registered in the table when the job is completed.08-06-2009
20090198942STORAGE SYSTEM PROVIDED WITH A PLURALITY OF CONTROLLER MODULES - A plurality of global LDEV managed by a plurality of controller modules are provided above local LDEV under the control of each controller module. Each global LDEV is correlated to any of the plurality of local LDEV. The controller modules judge whether or not a local LDEV correlated to a global LDEV specified by an I/O request received from a host device or a first other controller module is a management target itself, and if the result of that judgment is affirmative, the controller modules access the local LDEV correlated to the specified global LDEV, while if the result of the judgment is negative, the controller modules transfer the received I/O request to a second other controller module.08-06-2009
20090049267Buffer circuit for a memory module - The invention provides a buffer circuit for a memory module comprising at least one configuration register bank for storing configuration data of said memory module, an error check logic for performing an error check of input signals applied to the memory module via input pins of said memory module to generate a signature output by said memory module via at least one output pin of said memory module, and a controller which depending on an output request setting stored in a configuration register of said configuration register bank reads out information data said buffer circuit via said output pin of said memory module.02-19-2009
20110145535METHOD FOR REARRANGING LOGICAL VOLUME - A method for rearranging a logical volume including arranging a logical volume rearranging program on a particular server and using the logical volume rearranging program to acquire server/storage mapping information from each server and performance information from each storage subsystem. Moreover, the logical volume rearranging program acquires request I/O performance and a rearranging rule for each application set by a user. Furthermore, the logical volume rearranging program determines a destination by using the logical volume rearranging destination parity group specified by the user according to the aforementioned information, and rearranges the logical volume according to the storage subsystem performance and the request I/O performance of each application.06-16-2011
20120144148METHOD AND DEVICE OF JUDGING COMPRESSED DATA AND DATA STORAGE DEVICE INCLUDING THE SAME - A write method of a data storage device including a storage media includes receiving data to be stored in the storage media; judging whether the received data is compressed data, without externally provided additional information; and selectively compressing the received data according to the judgment result, wherein the judging whether the received data is compressed data is made based on a distribution of actual symbols included in at least part of the received data.06-07-2012
20120198195DATA STORAGE SYSTEM AND METHOD - A data storage system including a storage device. The storage device may include a plurality of data storage drives that may be logically divided into a plurality of groups and arranged in a plurality of rows and a plurality of columns such that each column contains only data storage drives from distinct groups. Furthermore, the storage device may include a plurality of parity storage drives that correspond to the rows and columns of data storage drives.08-02-2012
20120079229DATA STORAGE OPTIMIZATION FOR A VIRTUAL PLATFORM - A method for storing data in virtual system is described. The method includes selecting virtual blocks in the virtual disk for storage of data based on contiguous logical blocks, in a disk file residing on physical storage media, that are mapped to the virtual blocks.03-29-2012
20090083509Memory Management Using Garbage Collection of Scoped Memory - Mechanisms for memory management in a scoped memory system are provided. The scoped memory system includes a scoped memory area for the allocation of objects therein for access by one or more software threads in execution. The scoped memory area has an associated thread count for indicating that the scoped memory area is discardable. The mechanisms identify a set of root references for objects allocated in the scoped memory area and recursively traverses and marks objects that are referenced from the set of root references and that are allocated in the scoped memory area. The mechanisms further identify objects in the scoped memory area that are not so marked and discards the identified objects.03-26-2009
20090083508SYSTEM AS WELL AS METHOD FOR MANAGING MEMORY SPACE - In order to provide a system (03-26-2009
20090063805DATA ACQUISITION MESSAGING USING SPECIAL PURPOSE REGISTERS - A method provides a data acquisition message of a data processing system to an external port thereof. Configuration information is written to a configuration register. It is determined if the configuration information identifies a data acquisition operation. If the data acquisition operation has been identified, data corresponding to the configuration information is written to a data register. The data in the data register and the configuration information in the configuration register are formatted into the data acquisition message. The data acquisition message is sent to the external port of the data processing system.03-05-2009
20080263305REMOVE-ON-DELETE TECHNOLOGIES FOR SOLID STATE DRIVE OPTIMIZATION - Technologies for identifying data stored on a solid state drive (“SSD”) device that correspond to data associated with a delete event, and marking the deleted data stored on the SSD as invalid such that the SSD can avoid unnecessary operations on the invalid data. Included are interfaces operable to communicate invalid data information and providing a remove-on-delete command that provides invalid data information sufficient to identify the SSD data to be marked as invalid.10-23-2008
20080263306Information processing apparatus having virtualization function, method of virtualization, and computer-readable recording medium - An information processing apparatus having a virtualization function for creating a virtual disk based on a logical volume selected from a plurality of storage areas comprises a host device for performing information processing on a storage device, and a virtualization switch for connecting the host device to the storage device via a path. The host device includes a controller which computes information necessary for virtualization by acquiring information concerning the physical configuration of the storage device and information concerning the path from an information storing unit provided in a virtualization switch, selects specific logical volumes that match a pre-specified logical volume selection criterion, registers the selected logical volumes into a virtual storage pool, and creates the virtual disk by selecting a logical volume from the virtual storage pool. There is provided a method of virtualization which is implemented using the information processing apparatus, etc.10-23-2008
20080263304LATENCY ALIGNED VOLUME PROVISIONING METHODS FOR INTERCONNECTED MULTIPLE STORAGE CONTROLLER CONFIGURATION - A system is composed of multiple storage control modules, which are connected to each other via interconnects. The aforesaid interconnects connecting the storage control modules may cause certain extra latency. Each storage control module may have data preservation module, which can preserve data stored by host computers. The system incorporates a latency table and provides a volume according to the latency table in accordance with a request from a host computer or an administrator. The latency table is dynamically created or statically stored in the inventive system.10-23-2008
20110231627MEMORY MANAGING APPARATUS AND METHOD - A memory managing apparatus and method are provided. The memory managing apparatus may determine, based on a pointer indicator bit, the target memory area on which garbage collection is to be performed, and may perform the garbage collection on the target memory area. The memory managing apparatus may generate the pointer indicator bit and store the generated pointer indicator bit in a pointer field.09-22-2011
20090100243High Performance, Lock-Free Virtual Storage Manager - A virtual storage technique is provided to manage a cell pool or a set of cell pools which can be used to satisfy variable-size storage requests. The algorithm uses no locks and relies on an atomic compare-and-swap instruction to serialize updates to the fields that can be simultaneously requested by multiple threads or processes. A free chain is used to manage cells which have already been obtained and freed, while there is an active extent that is used to hand out cells which have not previously been obtained. The algorithm is based on all cell pool extents being the same size, which allows the control information for the extent to be easily located on the extent boundary (e.g. at a 1 MB boundary). Control information for each cell is stored independently of the cell storage in a control array that resides at the head of the extent, along with other control information. This avoids cell overrun from damaging the cell pool control information. The result is a high performance storage manager with good serviceability characteristics.04-16-2009
20110145534EFFICIENT LOADING OF DATA INTO MEMORY OF A COMPUTING SYSTEM - A method for deploying one or more virtual machines on a host computing system is provided. The method comprises receiving mapping information from a data storage system. The mapping information associates a first data chunk stored in the data storage system with a unique identifier to support deployment of a first virtual machine on a host computing system. Once the mapping information is received, the mapping information is utilized to determine whether any copies of the first data chunk have already been loaded into a memory of the host computing system in association with deployment of the first virtual machine or a second virtual machine on the host computing system. If no copies of the first data chunk have already been loaded into the memory, the first data chunk is retrieved from the data storage system, loaded into the memory, and utilized to deploy the first virtual machine on the host computing system.06-16-2011
20090249016APPARATUS AND METHOD TO ESTABLISH A LOGICAL CONFIGURATION FOR A DATA STORAGE LIBRARY - A method to configure a storage library, comprising the steps of establishing a logical configuration for said storage library comprising a plurality of physical objects, by configuring a plurality of logical objects using a plurality of logical configuration commands, and adding that plurality of logical objects to the logical configuration. The method further adds the plurality of logical configuration commands to a Configuration Library, and saves that Configuration Library for later use.10-01-2009
20090210648SYSTEM AND COMPUTER PROGRAM PRODUCT FOR DYNAMICALLY RESIZING FILE SYSTEMS08-20-2009
20090210647METHOD FOR DYNAMICALLY RESIZING FILE SYSTEMS08-20-2009
20120198198Managing Line Items in a Computer-Based Modular Planning Tool - A computer-implemented modular planning tool and method are provided which allow a line item (08-02-2012
20090222639EXTENDED UTILIZATION AREA FOR A MEMORY DEVICE - Methods, systems and devices for configuring access to a memory device are disclosed. The configuration of the memory device may be carried out by creating a plurality of access profiles that are adapted to optimize access to the memory device in accordance with the type of access. Accordingly, when an application with specific memory access needs is initiated, the memory access profile that is most optimized for that particular access need is utilized to configure access to the memory device. The configuration may be effected for a portion of the memory device, a partition of the memory device, or even one single access location on the memory device.09-03-2009
20090222638MEMORY REGISTRATION CACHING - A method for memory registration caching comprising enumerating a first process for a first process, in response to a memory registration cache being activated; finding an import table for the first module, wherein one or more pointers, in the import table, refer to memory management routines in a first library; changing the pointers so that the pointers refer to memory management routines in a second library; overloading routines that refer to the memory management routines in the first library so that the routines refer to the memory management routines in the second library; intercepting memory allocation requests, wherein the size of the request is forwarded to the memory registration cache; and de-registering freed memory from the memory registration cache.09-03-2009
20090240909System and Method for Auditing Memory - According to one embodiment of the invention, a method of auditing memory in a system comprises receiving a request for memory from an application and populating a memory tag with a stack depth component and a traceback stack component. The traceback stack component contains a pointer to a traceback stack. The stack depth component defines a size of the traceback stack. The traceback stack contains information from a program stack associated with the application. The embodiment may further comprise determining if a memory pool has enough free memory to satisfy the request and allocating, from the memory pool, a memory allocation unit if the memory pool has enough free memory to satisfy the request. The memory allocation unit may include a data area and a footer. The data area defines an area to which the application may write data and the footer bounds the data area with a special code.09-24-2009
20120131300DETERMINING SUITABLE NETWORK INTERFACE FOR PARTITION DEPLOYMENT/RE-DEPLOYMENT IN A CLOUD ENVIRONMENT - Migrating a logical partition (LPAR) from a first physical port to a first target physical port, includes determining a configuration of an LPAR having allocated resources residing on a computer and assigned to the first physical port of the computer. The configuration includes a label that specifies a network topology that is provided by the first physical port and the first target physical port has a port label that matches the label included in the configuration of the LPAR. The first target physical port with available capacity to service the LPAR is identified and the LPAR is migrated from the first physical port to the target physical port by reassigning the LPAR to the first target physical port.05-24-2012
20090254729METHOD OF WEAR LEVELING FOR A NON-VOLATILE MEMORY - According to the method of wear leveling for a non-volatile memory of the present invention, the non-volatile memory is divided into a plurality of windows, and a mapping table is built in which the logical block addresses having frequently accessed data are allocated equally to the plurality of windows. The logical block addresses may store a File Allocation Table (FAT) or a directory table; therefore the windows they locate will be written or erased more frequently. In an embodiment, the logical block addresses having frequently accessed data are allocated on a one-to-one basis to the plurality of windows. For example, the plurality of windows may comprise Windows 10-08-2009
20090254728Memory allocation to minimize translation lookaside buffer faults - In one embodiment, a method includes identifying first and second memory segments associated with a process in virtual memory, allocating memory for the first memory segment from a first contiguous physical memory space, allocating memory for the second memory segment from a second contiguous physical memory space, and mapping the first and second memory segments to the first and second contiguous physical memory spaces in a translation lookaside buffer. Apparatus and logic for memory allocation to minimize translation lookaside buffer faults are also disclosed.10-08-2009
20100153676SEMICONDUCTOR DEVICE - A semiconductor device disclosed herein is provided with a plurality of function reconfigurable cells, each comprising a memory circuit and a control circuit, for realizing variable logical functions. A function reconfigurable cell autonomously controls a read address in the memory circuit storing true value data by itself. For example, the control circuit takes feedback input of information that has been read from the data field and control field of the memory circuit synchronously and uses feedback input information from the data field or another information as address information for next synchronous reading of the data field and control field, based on feedback input information from the control field. Because each function reconfigurable cell is capable of autonomous control of reading of the memory circuit storing true value data by itself, it is possible to handle the memory circuit for realizing variable logical functions as a circuit equivalent to a logic circuit. It is thus possible to provide flexibility of logical configurations and scalability that can be realized. Further, it becomes possible to realize variable logical functions that can accommodate a large logical element in a limited chip area occupied for memory.06-17-2010
20080307186CONFORMAL ROLLING BUFFER APPARATUS, SYSTEMS, AND METHODS - Methods, apparatus, and systems may operate to more efficiently utilize data stored in an array of storage blocks organized as rows and columns of contiguous blocks, where non-linearity is present in the data. Activities may include organizing data to discard useless elements from storage blocks when transferring the data to a memory buffer, and perhaps compressing the data for increased memory density utilization. Additional activities may include reconstructing data stored in the memory buffer and using an image distortion formula to display a linear representation of the non-linear data.12-11-2008
20100153678MEMORY MANAGEMENT APPARATUS AND METHOD - Disclosed is a memory management apparatus and method. The memory management apparatus includes a memory, an asymmetrical multi-core processor in which a core having a memory management unit and a core not having a memory management unit exist together, and a memory allocation processing unit. The memory allocation processing unit collects memory fragments dispersed in the memory into one consecutive area in response to the memory allocation request from the core not having the memory management unit and then allocates the one collected consecutive area to the corresponding cores. The one consecutive area is formed by moving the memory areas that are being used by the core having the memory management unit.06-17-2010
20100153677METHOD FOR STATICALLY ALLOCATING STACK BASED ON MULTI THREAD - Provided is a method for statically allocating a stack based on multi thread. The method includes arbitrarily dividing a heap area and a stack area; allocating a stack space of each thread to the heap area at a predetermined size before executing the thread; swapping the stack of each thread in a stack area and measuring a stack size during executing the corresponding thread; and varying the heap area according to the measured stack size and reallocating the stack space of each thread allocated to the heap area. The provided executes programs without analyzing a complicated source code to expect the proper stack size of the thread while effectively using the stack memory during execution time as maximally as possible and statically allocates a stack memory based on the used amount of the measured stack to remove an overhead that moves the stack.06-17-2010
20100161931METHOD OF MANAGING SECTORS OF A NON-VOLATILE MEMORY - Machine-readable media, methods, apparatus and system for managing sectors of a non-volatile memory are described. In some embodiments, a plurality of file segments may be written to a plurality of memory sectors (06-24-2010
20100161930STATISTICS COLLECTION USING PATH-VALUE PAIRS FOR RELATIONAL DATABASES - A method, system, and computer readable medium for collecting statistics associated with data in a database are disclosed. The method comprises determining an amount of memory needed to collect statistics for data associated with a defined data type in a relational database. The defined data type is based upon a mark-up language using a tree structure with one or more root-to-node paths therein. The amount of memory is allocated as determined for collecting the statistics for the data of the defined data type. A statistics collection is performed for the data of the defined data type in a single pass through the database and within the amount of memory which has been allocated. The performing includes at least determining a total number of instances of at least one path-identifier associated with a given value within a given set of documents.06-24-2010
20120303924Stochastic Processing - A system, method, and device for stochastically processing data. There is an architect module operating on a processor configured to manage and control stochastic processing of data, a non-deterministic data pool module configured to provide a stream of non-deterministic values that are not derived from a function, a plurality of functionally equivalent data processing modules each configured to stochastically process data as called upon by the architect module, a data feed configured to feed a data set desired to be stochastically processed, and a structure memory module including a memory storage device and configured to provide sufficient information for the architect module to duplicate a predefined processing architecture and to record a utilized processing architecture.11-29-2012
20100191929SYSTEM AND METHOD FOR RECLAIMING ALLOCATED MEMORY TO REDUCE POWER IN A DATA PROCESSING SYSTEM - A method of managing power in a data processing system includes monitoring a system parameter indicative of power consumption. Responsive to determining that the parameter differs from a specified threshold, a system guest, such as an operating system, is forced to release a portion of its allocated system memory. The portion of system memory released by the guest is then reclaimed by the system. The reclaimed system memory and the resulting decrease in allocated memory may enable the system to reduce system memory power consumption. The operating system may de-allocate a portion of system memory when a balloon code device driver executing under the operating system requests the operating system to allocate memory to it. The system memory allocated to the balloon device driver is then reclaimed by supervisory code such as a hypervisor.07-29-2010
20100191931METHOD OF PROGRAMMING NONVOLATILE MEMORY DEVICE - A method of programming a nonvolatile memory device includes performing a first LSB program operation on memory cells coupled to a selected word line in order to store least significant bit (LSB) data in the memory cells, performing a first most significant bit (MSB) program operation on the memory cells coupled to the selected word line, such that threshold voltages of the memory cells rise up to a temporary target voltage less than a target voltage, performing a second most significant bit (MSB) program operation on memory cells coupled to a neighboring word line neighboring the selected word line in order to store most significant bit (MSB) data in the corresponding memory cells, and performing a third most significant bit (MSB) program operation, after performing the second most significant bit (MSB) program operation, on the memory cells on which the first most significant bit (MSB) program operation has been performed, such that the threshold voltages of the memory cells coupled to the selected word line become higher than the target voltage.07-29-2010
20100191930TRANSACTIONAL MEMORY COMPATIBILITY MANAGEMENT - Transactional memory compatibility type attributes are associated with intermediate language code to specify, for example, that intermediate language code must be run within a transaction, or must not be run within a transaction, or may be run within a transaction. Attributes are automatically produced while generating intermediate language code from annotated source code. Default rules also generate attributes. Tools use attributes to statically or dynamically check for incompatibility between intermediate language code and a transactional memory implementation.07-29-2010
20090300315Reserve Pool Management in Virtualized Storage Systems - An apparatus for managing pooled real storage having a usable real storage pool and a reserve real storage pool in a virtualized storage system, comprises an extent controller for allocating and freeing storage extents in said usable real storage pool; a storage use monitor for monitoring storage use in said usable real storage pool; and a reserve pool manager responsive to said storage use monitor for transferring storage extents between said usable real storage pool and said reserve real storage pool.12-03-2009
20090077339OBJECT BASED CONFLICT DETECTION IN A SOFTWARE TRANSACTIONAL MEMORY - Object-based conflict detection is described in the context of software transactional memory. In one example, a pointer is received for a block of instructions, the block of instructions having allocated objects. The lower bits of the pointer are masked if the pointer is in a small object space to obtain a block header for the block, and a size of the allocated objects is determined using the block header.03-19-2009
20090077338Apparatus and Method for Managing Storage Systems - An apparatus for controlling a configuration change in a storage system having a plurality of storage appliances with an I/O handler local to each storage appliance for transmitting and receiving I/O requests. A local volume mapper local to each storage appliance maps storage local to the storage appliance; a remote volume mapper local to each storage appliance maps storage remote from the or each storage appliance; and a spanning host interface layer responsive to detection of the configuration change receives and redirects I/O requests among the plurality of storage appliances.03-19-2009
20100153675Management of Native Memory Usage - Described is a technology in a managed code/native code framework in which native code monitors memory usage (e.g., every fifty frames) to determine when memory usage has increased beyond a threshold. If so, the native memory requests that the managed code perform a garbage collection operation. The managed code may only perform the garbage collection when a sufficient number of objects are ready to be collected. The native code requests additional garbage collection passes be performed in a loop until the managed code decides not to further perform garbage collection, e.g., when not enough objects remain or the number to be collected does not change between collection passes.06-17-2010
20100228940MEMORY BLOCK MANAGEMENT - Various embodiments include one or more memory devices having at least two planes of physical blocks organized into super blocks, with each super block including a physical block from each of the at least two planes. Embodiments include determining defective blocks within the planes. If none of the blocks at a particular block position are determined to be defective, embodiments include assigning the blocks at the particular block position to a super block, and if one or more of the blocks at a particular block position are determined to be defective, embodiments include: assigning the blocks at the particular block position determined to be defective to a super block; and assigning a respective replacement block to the super block for each of the one or more blocks at the particular block position determined to be defective. The respective replacement block is selected from a number of blocks within a respective one of the planes that includes the respective block determined to be defective.09-09-2010
20100250889CONTROL OF ON-DIE SYSTEM FABRIC BLOCKS - Methods and apparatus for control of On-Die System Fabric (OSF) blocks are described. In one embodiment, a shadow address corresponding to a physical address may be stored in response to a user-level request and a logic circuitry (e.g., present in an OSF) may determine the physical address from the shadow address. Other embodiments are also disclosed.09-30-2010
20100250890MANAGING WORKING SET USE OF A CACHE VIA PAGE COLORING - A processor cache is indexed by a group of distinct page colors. The use of this cache by different working sets is controlled using page coloring. Translations of virtual addresses of the instructions and/or data of a working set are constrained to physical addresses the page colors of which are in a subgroup of the group of distinct page colors.09-30-2010
20100250888APPARATUS, SYSTEM, AND METHOD FOR MEMORY UPGRADE PATH OPTIMIZATION - An apparatus, system, and method are disclosed for memory upgrade optimization. A requirements module 09-30-2010
20100241819CONTROLLER AND MEMORY SYSTEM - A controller includes a storage for a translation table showing logical and physical addresses in a flash memory in correspondence with one another; another storage storing FAT information indicating the state of data stored in each of pages contained in each of blocks and FAT information identifiers each identifying a block to which pages each storing therein the data in the state indicated by the FAT information belong, while keeping them in correspondence with one another; yet another storage for a block management table showing block identifiers, use-state judging information indicating whether the corresponding block is used/unused, and the FAT information identifiers corresponding to all the blocks indicated as being used by the use-state judging information, while keeping them in correspondence with one another; and a controller controlling unit managing data stored in the flash memory by using the translation table, the FAT information, and the block management table.09-23-2010
20100235605ENHANCEMENT OF STORAGE LIFE EXPECTANCY BY BAD BLOCK MANAGEMENT - A method and system are disclosed that permit a storage device to remain fully functional despite running out of a sufficient supply of spare blocks in memory. The storage device includes a non-volatile memory and a controller, where the controller is configured to detect an insufficiency of spare blocks and convert operative blocks to spare blocks. The method includes techniques for selecting certain operative blocks for conversion to spare blocks using the storage manager on the storage device and a file system manager that may or may not be part of the storage device.09-16-2010
20100235603ADAPTIVE MEMORY ALLOCATION - In one embodiment, a memory manager may identify allocators as either transient in nature or static in nature based on a length of time each one of the allocators held, holds, or both, onto requested memory blocks. The memory manager may also allocate memory blocks requested by allocators identified as transient in nature from one memory pool and allocate memory blocks requested by allocators identified as static in nature from another memory pool. In one example, the memory manager may also use a deferred splitting strategy to optimize allocation of free memory next to memory blocks reserved by the most transient allocators by not splitting such free memory if the free bytes are less than a maximum block size threshold.09-16-2010
20100235602APPLICATION INDEPENDENT STORAGE ARRAY PERFORMANCE OPTIMIZER - A system comprising a performance module and an application. The performance module may be configured to (i) monitor a LUN for a predetermined amount of time, (ii) capture information relating to the LUN, and (iii) store the information. The application may be configured to (i) retrieve the information, (ii) analyze the information, (iii) generate a configuration based on the analysis of the information and (iv) send the configuration to the performance module. The performance module may reconfigure the LUN based on the configuration.09-16-2010
20100241820RECLAIMING STORAGE ON A THIN-PROVISIONING STORAGE DEVICE - A method, medium and apparatus for managing storage in a thin-provisioning storage device. The method includes ceasing to use storage on thinly provisioned storage delivered by a thin-provisioning storage device and notifying the thin-provisioning storage device of the unused storage. The method may further include reclaiming the unused storage in response to the notification. Alternatively, the notification may include recognizing the storage being freed and communicating the recognition to the storage device. In another form, the invention is a method, medium and apparatus for managing storage in a thin-provisioning storage device. This method includes delivering thinly provisioned storage and receiving notification that part of the thinly provisioned storage is no longer in use. The method may further include reclaiming that part of the thinly provisioned storage in response to the notification. Between receiving and reclaiming, the method may wait for a time to pass.09-23-2010
20110238943MODELING MEMORY COMPRESSION - A method, system, and computer usable program product for modeling memory compression are provided in the illustrative embodiments. A subset of candidate pages is received. The subset of candidate pages is a subset of a set of candidate pages used in executing a workload in a data processing system. A candidate page is compressible uncompressed data in a memory associated with the data processing system. The subset of candidate pages is compressed in a scratch space. A compressibility of the workload is computed based on the compression of the subset of candidate pages. Page reference information of the subset of candidate pages is received. A memory reference rate of the workload is determined. A recommendation is presented about a memory compression model for the workload in the data processing system.09-29-2011
20100042798Methods and Apparatus for Passing Information to a Host System to Suggest Logical Locations to Allocate to a File - Methods and apparatus for passing information to a host system to suggest logical locations to allocate to a file are disclosed. Generally, when a host system determines a need to allocate a logical location to a file, the host system sends a non-data command to a memory system. In response, the memory system sends information to the host system that includes one or more logical locations to allocate to the file. By suggesting one or more logical locations to allocate to a file, the memory system may reduce a number of data consolidation or garbage collection operations that will need to be performed in the future, thereby improving performance of the memory system.02-18-2010
20120144146MEMORY MANAGEMENT USING BOTH FULL HARDWARE COMPRESSION AND HARDWARE-ASSISTED SOFTWARE COMPRESSION - Systems and methods to manage memory are provided. A particular method may include selecting one of a plurality of compression modes to perform memory compression operations at a server computer. The plurality of compression modes may include a first memory compression mode configured to perform a first memory compression operation using a compression engine, and a second compression mode configured to perform a second memory compression operation using the compression engine. At least one of the first compression operation and the second compression operation may be performed according to the selected compression mode.06-07-2012
20090327641Dynamic Allocation of a Buffer Across Multiple Clients in a Threaded Processor - A method may include distributing ranges of addresses in a memory among a first set of functions in a first pipeline. The first set of the functions in the first pipeline may operate on data using the ranges of addresses. Different ranges of addresses in the memory may be redistributed among a second set of functions in a second pipeline without waiting for the first set of functions to be flushed of data.12-31-2009
20090249018Storage management method, storage management program, storage management apparatus, and storage management system - A storage management method for allocating a dynamic allocation pool so as to avoid throughput reduction. An operation management server determines the dynamic allocation pool managing allocation of a real volume in a storage device to a virtual volume. The operation management server acquires an I/O characteristic of an application being executed in a business server, records I/O characteristic information indicative of a linkage between the application and the I/O characteristic of the application for the each application in an application management table, creates an application group on the basis of the I/O characteristics of the application management table for the each application, and links the created application group to the dynamic allocation pool.10-01-2009
20090327640METHOD FOR EXPANDING LOGICAL VOLUME STORAGE SPACE - A method for expanding a logical volume (LV) storage space includes creating an LV by using an LV manager, and allocating a storage space for the LV according to a certain proportion; reserving a continuous expanding space behind the allocated storage space; determining in real time whether the LV storage space needs to be expanded or not during a data writing process till the data has been completely written; if the LV storage space needs to be expanded, obtaining a size of a new expanding space required to be reserved by calculating an increment coefficient of space expansion according to a using situation of the previously reserved expanding space, thereby further reserving a continuous expanding space within a space scope managed by the LV manager; and if the LV storage space does not need to be expanded, directly writing the data.12-31-2009
20090182969DYNAMIC ALLOCATION OF DMA BUFFERS IN INPUT/OUTPUT ADAPTORS - A method and apparatus for dynamic allocation of DMA buffers in the DRAM banks of an I/O adaptor. The method and apparatus determine the functional status of the adaptor, allocate critical, volatile DMA buffers in non-critical DRAM banks if the adaptor is fully functional, and allocate critical, volatile DMA buffers in critical DRAM banks if the adaptor is partially functional.07-16-2009
20090319748MEMORY SYSTEM AND MEMORY DEVICE - According to one embodiment, a first memory device is configured to receive write data from a controller and transmit read data to the controller via a first data pin included in the first memory device. The second memory device is configured to receive write data from the controller and transmit read data to the controller via a second data pin included in the second memory device. A redelivery module within the first memory device is configured to receive an address and a command output from the controller via a predetermined signal line, and output the address and the command to the second memory device via remaining first data pin.12-24-2009
20090319750MEMORY HUB ARCHITECTURE HAVING PROGRAMMABLE LANE WIDTHS - A processor-based system includes a processor coupled to a system controller through a processor bus. The system controller is used to couple at least one input device, at least one output device, and at least one data storage device to the processor. Also coupled to the processor bus is a memory hub controller coupled to a memory hub of at least one memory module having a plurality of memory devices coupled to the memory hub. The memory hub is coupled to the memory hub controller through a downstream bus and an upstream bus. The downstream bus has a width of M bits, and the upstream bus has a width of N bits. Although the sum of M and N is fixed, the individual values of M and N can be adjusted during the operation of the processor-based system to adjust the bandwidths of the downstream bus and the upstream bus.12-24-2009
20090319749PROGRAM, APPARATUS AND METHOD FOR STORAGE MANAGEMENT - In a computer for executing processing based on a storage management program, a management information storing unit designates, from the data blocks having the same content, main-data used as an access destination and sub-data used as a backup, and stores management information that registers storage nodes as allocation destinations of the respective main-data and sub-data; a load information collecting unit continuously collects load information on the storage nodes; a replacement object detecting unit detects a pair of the main-data and the sub-data having the same content and having a predetermined condition such that a load difference between the allocation destination of the main-data and that of the sub-data exceeds a predetermined allowable value; and a management information updating unit replaces roles of the main-data and the sub-data between the detected pair of data blocks.12-24-2009
20090319746SELECTIVELY RETAINING A TOPMOST SUBPOOL EXPANSION TO PREVENT THRASHING - The present invention discloses a solution to selectively retain or discard subpool expansions. In the solution, when a subpool has been tuned to its limit (a maximum extension size is established), then a subsequent expansion allocation of this tuned limited is queued on top of a memory subpool. Otherwise, expansions are queued on bottom of the subpool. All expansions other than the topmost one, which is retained by the system, are rapidly returned to the system when their storage is no longer needed by the various processes that have finished. The topmost expansion is retained as long as the subpool remains tuned to the maximum extension size. By permitting the topmost expansion to remain available to the subpool for storage allocation, the topmost expansion is retained beyond a short term period typical of expansions, which allows the topmost expansion to stay around for a sufficient time to prevent subpool thrashing.12-24-2009
20090319747System for automatically configuring a storage array - A method for configuring a storage array, comprising the steps of (A) checking a syntax of an input file, (B) generating an error if a particular syntax is not met, (C) determining whether a physical hardware configuration matches a desired set of design parameters, (D) generating a script file containing a plurality of symbol commands, (E) sending the script file containing the symbol commands to the storage array and (F) verifying whether the physical hardware configuration is valid.12-24-2009
20090113161METHOD, APPARATUS AND PROGRAM PRODUCT FOR MANAGING MEMORY IN A VIRTUAL COMPUTING SYSTEM - A method for managing memory in a virtual computing system is provided. The method comprises providing updated monitor data for a plurality of data domains in the virtual computing system and determining based upon the updated monitor data provided whether there is a memory constraint in a memory of the virtual computing system. Further, the method comprises calculating based upon the updated monitor data, when the memory constraint is determined, a total release-amount of the memory that is to be released by the virtual computing system in order to relieve the memory constraint and issuing a notification to release the total release-amount of the memory in order to relieve the memory constraint. The method further comprises assessing based upon the updated monitor data, when the memory constraint is ended, a reuse-amount that can be reused by the plurality of virtual guests.04-30-2009
20090113160Method and System for Reorganizing a Storage Device - A method and system for reorganizing a storage device such as a disk drive or partition thereof represents the storage device as a set of concentric circles, with each circle containing blocks of storage with the concentric circles having a differing numbers of blocks of storage resulting in differing radii of the concentric circles. More frequently used files are moved towards the outer circles with larger radii, and less frequently used, often archival, files are moved to the inner circles of lesser radius, all under user control. Additionally, the storage device is represented similarly as concentric circles of blocks of storage, with the blocks displayed potentially containing parts of multiple files, and files being contained in multiple blocks. Users can zoom in or out, with more or fewer blocks displayed.04-30-2009
20090106521MULTIVALUE STATISTICAL COMPRESSION OF TELEMETRIC TIME SERIES DATA IN A BOUNDED STORAGE FOOTPRINT - Some embodiments of the present invention provide a system that stores telemetry data from a computer system. The system includes a first buffer, a second buffer, and a third buffer. During operation, the system periodically obtains the telemetry data from the computer system and stores the telemetry data in the first buffer, second buffer, and third buffer. The system also compresses the telemetry data in the first and second buffers. To compress the data, the system creates a first set of summary statistics from the telemetry data in the first buffer and the second buffer and stores the first set of summary statistics in the first buffer, which becomes a historical data buffer.04-23-2009
20120144147STORAGE APPARATUS TO WHICH THIN PROVISIONING IS APPLIED - A storage control apparatus includes a first logical volume in which data has been stored in a pool that includes at least one of one or a plurality of logical volumes based on a plurality of physical storage devices as a pool volume, and divides the first logical volume into at least two real areas. The storage control apparatus allocates the first logical volume to a second logical volume that is a virtual logical volume that has been divided into at least two virtual areas. The storage control apparatus executes a first data movement processing for moving all data of the first logical volume to at least one pool volume other than the first logical volume, and allocates a real area of a movement destination of the data to a virtual area of an allocated destination of a real area of a movement source of the data as substitute for the real area in the first data movement processing.06-07-2012
20100306494DYNAMICALLY ALLOCATING LIMITED SYSTEM MEMORY FOR DMA AMONG MULTIPLE ADAPTERS - A method, apparatus, and computer program product dynamically allocate limited system memory for direct memory access (DMA) among a plurality of input/output (I/O) adapters in a system partition. Initially a minimum entitlement of I/O entitled memory capacity is allocated to each of the respective multiple I/O adapters. The minimum entitlement enables operation of an I/O adapter driver. Additional entitlement of I/O entitled memory capacity is selectively allocated based upon I/O demands of each I/O adapter.12-02-2010
20110107050ADAPTIVE TRIGGERING OF GARBAGE COLLECTION - Methods and apparatus are provided for adaptively triggering garbage collection. During relatively steady or decreasing rates of allocation of free memory, a threshold for triggering garbage collection is dynamically and adaptively determined on the basis of memory drops (i.e., decreases in free memory) during garbage collection. If a significant increase in the rate of allocation of memory is observed (e.g., two consecutive measurements that exceed a mean rate plus two standard deviations), the threshold is modified based on a memory drop previously observed in conjunction with the current memory allocation rate, or a memory drop estimated to be possible for the current allocation rate.05-05-2011
20090070542METHOD TO DIVIDE A FILE OR MERGE FILES USING FILE ALLOCATION TABLE (FAT) - A method to divide a file or merge files using a file allocation table (FAT) in which the method to divide a file includes storing data of a first cluster, among data intended to be separated from the file, into a second cluster, and generating a first cluster chain and a second cluster chain using a file allocation table (FAT), the first cluster chain containing data remaining in the first cluster, and the second cluster containing data existing in the second cluster. As a result, time delay due to a file copy process and shortening of a lifespan of NAND flash are prevented, and a reserve capacity for editing purposes is minimized.03-12-2009
20100281232MEMORY CONTROLLING DEVICE AND MEMORY CONTROLLING METHOD - Disclosed herein is a memory controlling device including: an address converting section configured to convert a logical address included in a request issued from a plurality of clients into a physical address of a memory; a request dividing section configured to divide a converted request converted by the address converting section by a command unit for the memory on a basis of the physical address of the converted request; and an arbitrating section configured to perform arbitration on a basis of the physical address indicated in a divided request output from the request dividing section.11-04-2010
20130138911MEMORY CONTROLLER WITH RECONFIGURABLE HARDWARE - Memory controller concepts are disclosed in which hardware resources of a memory controller can be re-used or re-configured to accommodate various different memory configurations. The memory configuration may be stored in mode register bits (05-30-2013
20130138912SCHEDULING REQUESTS IN A SOLID STATE MEMORY DEVICE - An apparatus and method for a memory controller for managing scheduling requests in a solid state memory device. The memory includes a set of units wherein a unit within the set of units is erasable as a whole by a unit reclaiming process resulting in a free unit available for writing data to. The memory controller further includes a first queue for queuing user requests for reading and/or writing data from/to the memory, and a second queue for queuing unit reclaiming requests for executing the unit reclaiming process. A scheduler is provided for selecting user requests from the first queue and unit reclaiming requests from the second queue for execution according to a defined ratio. The defined ratio is a variable ratio, is dependent on the current number of free units, and permits the memory controller to select requests from both the first queue and the second queue.05-30-2013
20130138914INFORMATION PROCESSING APPARATUS AND PROGRAM AND METHOD FOR ADJUSTING INITIAL ARRAY SIZE - An adjustment apparatus includes a storage device, an execution target program, an execution unit, a first API, a second API, a profiler, and a dynamic compiler. The execution unit interprets the program, and calls and executes a function of an API in response to the API description. The first and second API are callable by the execution unit, to respectively allocate an array of a predetermined size, and extend the array. The first and second APIs are converted into code to store an array allocation call context of the pre-extension array into a profile information storage area of the allocated array. The profiler profiles access to arrays. The dynamic compiler inline-expands an array allocation call context included in a code part to be dynamically compiled and embeds an array size determined based on context based access information, as an allocation initial size of the array, into the code part.05-30-2013
20100325381AUTOMATICALLY ADJUSTING MEMORY OF A VM ON A POWER CLIENT - Techniques for launching a VM with memory automatically adjusted based on a memory configuration of a client hosting the VM are described herein. According to one embodiment, a control server dynamically determines an amount of memory in view of a memory configuration of a client at the point in time, in response to a request for launching a VM for the client over a network. The amount of memory is allocated to be associated with the VM. Thereafter, the control server launches the VM for the client having the determined amount of memory allocated to the VM, where the VM is to be hosted by the client. Other methods and apparatuses are also described.12-23-2010
20120303926STORAGE SUBSYSTEM - There is provided a storage subsystem having a virtual volume and a page volume which has a page physical area allocated to the virtual volume. The storage subsystem divides an address space of the virtual volume into a plurality of pages, classifies each of the pages into one of a plurality of states including at least a first state and a second state, and further divide a page which is classified into the second state into a plurality of segments to managed the page classified into the second state. The first state is a state in which a page physical area is allocated to the page from the page volume, and the write data is stored in the page physical area. The second state is a state in which the predetermined pattern data and the segment are managed, in the memory, by correlating with each other.11-29-2012
20120303925METHOD AND DEVICE FOR CONFIGURING MEMORY CAPACITY - The present invention discloses a method and a device for configuring memory capacity, which relates to the field of computer technologies, so as to solve the problem of complex operations of a method for configuring memory capacity in the prior art. A technical solution provided in an embodiment of the present invention includes: performing a first read/write operation on data in a first memory space; if a system status does not change during the first read/write operation, performing a second read/write operation on data in a second memory space obtained by updating the first memory space; if the system status changes during the first/second read/write operation, obtaining a memory address when the system status changes; and configuring the memory capacity according to the memory address. Embodiments of the present invention may be applied in an embedded system or a computer.11-29-2012
20120303923CAPACITY AND LOAD ANALYSIS USING STORAGE ATTRIBUTES - A method includes determining a capacity model that configures computing resource capacity for a capacity container. The computing resource capacity includes a first storage attribute for an amount of storage in a storage component. A load model is determined that configures load for the capacity container. The load includes a second storage attribute for a storage requirement for a virtual machine. A profile of a virtual machine unit is determined for estimating available capacity in a capacity container. The profile is determined using virtual machine attributes for a set of virtual machines, wherein the virtual machine unit includes a storage requirement based on storage requirements for the set of virtual machines. The profile of the virtual machine unit is fit into available capacity. A number of virtual machine units is determined based on the fitting, the number of virtual machine units being a measure of available capacity.11-29-2012
20110016283METHOD AND SYSTEM FOR CONFIGURING A STORAGE ARRAY - There is provided a system and method of configuring a storage array. An exemplary method includes generating information within a storage array controller, the information corresponding to a menu of user options. The exemplary method also includes sending the information from the array controller to a user interface module. The exemplary method also includes sending user instructions comprising a selected menu option from the user interface module to the array controller. The exemplary method also includes executing a configuration task associated with the selected menu option.01-20-2011
20110010519MEMORY MANAGEMENT FOR A MOBILE MULTIMEDIA PROCESSOR - Certain embodiments of the invention may be found in a method for memory management for a mobile multimedia processor. The method may comprise receiving within a mobile multimedia processor chip a plurality of memory requests, and setting a priority level for each of the plurality of received memory requests. Memory from one or both of at least one on-chip memory block and at least one off-chip memory block may be allocated, and one or more of the plurality of received memory requests may be handled, using the allocated memory, based on a corresponding set priority level and at least one dynamically settable memory allocation priority threshold. The priority level may be set based on an expected number of memory accesses and/or a total number of memory accesses per unit time. The off-chip memory block may be placed into a power-saving mode.01-13-2011
20110016285Apparatus and method for scratch pad memory management - Disclosed is a scratch pad memory management device and a method thereof. The scratch pad memory management device divides a scratch pad memory into a plurality of unit blocks, maintains a memory allocation table corresponding to indices of the plurality of unit blocks in a main memory, and manages the scratch pad memory.01-20-2011
20110113214INFORMATION HANDLING SYSTEM MEMORY MANAGEMENT - An information handling system (IHS) loads an application that may include startup code and steady state operation code. The IHS allocates one region of system memory to the startup code and another region of system memory to the steady state operation code. A programmer inserts a memory release call command at a location that marks the end of execution of the startup code. After executing the startup code, the operation system receives the memory release call command. In response to the memory release call command, the operating system releases or de-allocates the region of memory to which the IHS previously assigned to the startup code. This enables the released memory for use by code other than the startup code, such as other code pages, library pages and other code.05-12-2011
20110029754MULTI-BIT-PER-CELL FLASH MEMORY DEVICE WITH NON-BIJECTIVE MAPPING - To store a plurality of input bits, the bits are mapped to a corresponding programmed state of one or more memory cells and the cell(s) is/are programmed to that corresponding programmed state. The mapping may be many-to-one or may be an “into” generalized Gray mapping. The cell(s) is/are read to provide a read state value that is transformed into a plurality of output bits, for example by maximum likelihood decoding or by mapping the read state value into a plurality of soft bits and then decoding the soft bits.02-03-2011
20110035565Storage System Condition Indicator and Method - A storage system condition indicator and method provides a visual display representing the operating condition of a set of storage devices. Various operating conditions may be defined based on available storage capacity and capacity to store data redundantly. One or more indicators may be used to represent the operating condition of the set of storage devices. The indicator(s) may be used to indicate whether additional storage capacity is recommended and, in a storage array, which slot in the array should be updated with additional storage capacity.02-10-2011
20110087854TIERED DATA MANAGEMENT METHOD AND SYSTEM FOR HIGH PERFORMANCE DATA MONITORING - 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.04-14-2011
20090210649MULTIPROCESSOR COMPUTING SYSTEM WITH MULTI-MODE MEMORY CONSISTENCY PROTECTION - Disclosed are a method and apparatus for protecting memory consistency in a multiprocessor computing system, relating to program code conversion such as dynamic binary translation. The exemplary multiprocessor computing system provides memory and multiple processors, and a set of controller/translator units TX08-20-2009
20090327642Storage management program, storage management method, and storage management apparatus - In a computer executing processes based on a storage management program, an attribute collection unit collects attributes of storage nodes. A group creation unit creates at least two groups that include the storage nodes, in accordance with the attributes of the storage nodes collected by the attribute collection unit. A data allocation unit allocates distributed data and redundant distributed data to the groups created by the group creation unit in such a manner that the distributed data and the redundant distributed data having the same content as the distributed data are placed in different groups.12-31-2009
20100131735SYSTEM AND METHOD FOR MANAGING A MEMORY SYSTEM OF A MOBILE DEVICE - A memory management system and method for a memory system of a mobile device includes initializing memory blocks of the memory system, obtaining a peak utilization rate and an average fragmentation rate of each memory block, adjusting configuration of each memory block P05-27-2010
20100131734System and method for optimal dynamic resource allocation in a storage system - An apparatus and method to allocate memory in a storage system. Firmware running the method uses an iterative approach to find the best optimal memory configuration for a particular storage system given a variety of configuration data parameters stored as persistent data in non-volatile flash memory. The configuration data relates to resources in the environment that the storage system is found in, such as the number of virtual ports, targets and initiators supported by a storage system IOC. The configuration data is alterable, to allow flexibility in updating and changing parameters, and is employed at runtime when the storage system powers on, to enable the most flexible resource allocation. In a preferred method of determining the most optimal memory configuration for a given set of parameters corresponding to a given set of resources, an iterative method is employed to decrement parameter values from their maximum values, taking into account the minimums, and then testing the configuration by performing a memory allocation. If the allocation fails, because for example the wrong type memory or size of memory for any of the resources found, then the firmware resets the memory areas back to predetermined Start of Day (SOD) parameter values, decrements the values until a successful configuration of memory is found for the given set of parameters, and tries again, or until the firmware is caused to fault, whichever comes first.05-27-2010
20100131733Identification and containment of performance hot-spots in virtual volumes - A method includes provisioning a virtual volume from at least one storage pool of a storage array, designating at least one virtual volume segment of the virtual volume for mapping a virtual volume range to a virtual drive range, organizing the virtual volume range into a plurality of clusters, measuring a data load on each of the plurality of clusters and comparing the data load on each of the plurality of clusters to activity of the virtual volume, and reconfiguring the at least one virtual volume segment to contain a hot-spot.05-27-2010
20090210646Cross Adapter Shared Address Translation Tables - A method, computer program product and computer system for allocating shared address translation tables for memory regions of multiple I/O adaptors, which includes allocating an address translation table to be shared between the memory regions, creating a hardware context for each memory region, and sharing the address translation table across multiple adaptors.08-20-2009
20090043982AUTOMATED ON-LINE CAPACITY EXPANSION METHOD FOR STORAGE DEVICE - A volume provider unit in a computer system that detects a logical block address of a read or write I/O accessing a logical volume of a storage device from a host. According to the logical block address fetched, a storage domain of the logical volume is dynamically expanded. Moreover, the storage domain of the logical volume is reduced or expanded according to an instruction of logical volume capacity reduction or expansion from a host commander part to a volume server.02-12-2009
20090313450Memory control device and information processing apparatus - An information processing apparatus includes a memory configured such that structural data areas holding therein structural data, each being constituted by a plurality of pieces of element data, are allocated to a plurality of memory banks, an address area detecting unit configured to detect whether an address value used to access the memory is included in a specific address area including an address used to access the plurality of pieces of element data and an address converting unit configured to convert the address value to an address value for the structural data area in the case that it has been detected that the address value is included in the specific address area.12-17-2009
20100070732APPARATUS AND METHOD FOR PROVISIONING STORAGE TO A SHARED FILE SYSTEM IN A STORAGE AREA NETWORK - A provisioning apparatus for provisioning a storage volume to a shared file system in a storage area network, wherein the storage area network comprises a plurality of server nodes and a plurality of storage devices, wherein each server node comprises a shared file system operable for sharing by each of the plurality of server nodes and each server node is operable for communicating with each of the plurality of storage devices, the apparatus comprising: a creator component creates a new storage volume; a messenger component instructs the server nodes to detect the new storage volume and to allocate a device name; an instructor component instructs the shared file system to assign the storage volume to the shared file system; an instructor component associates the device name with the shared file system; a receiver component receives a unique identifier for the storage volume and the device name; and a builder component for determines a relationship between the unique identifier and the device name, storing the relationship in the provisioning apparatus.03-18-2010
20100037032Multi-Level Storage Algorithm To Emphasize Disturb Conditions - Providing systems and methods that reduce memory device read errors and improve memory device reliability by intelligently disturbing the memory cells during storage of their characteristic states. A specification component can determine a desired characteristic state for each cell of a plurality of multi-cell memory devices. A storage component can, alternatively, successively store an equivalent characteristic state in each cell of the plurality of multi-cell memory devices in stages, based on a cell's current characteristic state, or directly store the desired characteristic state of each cell of the plurality of multi-cell memory devices, based on an ordering of desired characteristic states of cells of the multi-cell memory devices. Further, a step component can gradate the equivalent characteristic state between successive storage stages. In this way, the overlap of distributions of electrical characteristics associated with different bits of one or more memory cells can be reduced.02-11-2010
20090216986APPARATUS AND METHOD FOR MANAGING LOGICAL VOLUME IN DISTRIBUTED STORAGE SYSTEMS - A logical volume management apparatus includes a first storage unit that stores configuration information on a first stage logical volume, and a second storage unit that stores configuration information on a second stage logical volume. An access unit finds a storage area in the second stage logical volume that corresponds to the first stage logical volume, and accesses a storage area in a storage device that corresponds to the determined storage area. A logical volume generation unit generates a new second stage logical volume, and a storage area extension unit extends a storage area of the first stage logical volume stored in the configuration information on the first stage logical volume to a desired storage capacity, and makes the new second stage logical volume generated by the logical volume generation unit correspond to the first stage logical volume.08-27-2009
20090216985METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTS FOR DYNAMIC SELECTIVE MEMORY MIRRORING - Methods, systems, and computer program products are provided for dynamic selective memory mirroring in solid state devices. An amount of memory is reserved. Sections of the memory to select for mirroring in the reserved memory are dynamically determined. The selected sections of the memory contain critical areas. The selected sections of the memory are mirrored in the reserved memory.08-27-2009
20100070731STORAGE SYSTEM HAVING ALLOCATION-ON-USE VOLUME AND POWER SAVING FUNCTION - A storage system includes physical memory devices, pool volumes, including real areas, an allocation-on-use (AOU) volume including virtual areas, and a controller allocating a non-allocated real area in a pool including the pool volumes to a virtual area corresponding to an address specified by a writing command when no real area is allocated to the virtual area, and writing data corresponding to the received writing command to the allocated real area. The controller moves data stored in all the real areas in a first pool volume allocated to the AOU volume to a second pool volume, and changes a power consuming status of the physical memory device constituting the first pool volume to a power saving mode after the data has been moved.03-18-2010
20100058020MOBILE PHONE AND METHOD FOR MANAGING MEMORY OF THE MOBILE PHONE - A method for managing memory of a mobile phone provides a memory allocation table for images captured by a camera module of the mobile phone. The memory allocation table records memory allocation information of the images. All application programs of the mobile phone can load the image in one memory space allocated for the image according to the memory allocation information in the memory allocation table.03-04-2010
20110078405COMPUTER SYSTEM MANAGEMENT APPARATUS AND MANAGEMENT METHOD FOR THE COMPUTER SYSTEM - Provided is a computer system including a plurality of storage apparatuses, in which, if the storage apparatuses employ an external mapping/connection system, the plurality of storage apparatuses can efficiently use each other's storage resources. The computer system includes a plurality of storage apparatuses and a management computer for managing the storage apparatuses. The management computer determines whether or not it is possible to perform external connection between the plurality of storage apparatuses and whether or not it is possible to divert the use of a storage device in one storage apparatus to another storage apparatus, on the basis of a criteria table, and if it is possible to perform external connection between the plurality of storage apparatuses, it is carried out and, if it is not possible, the management computer diverts the use of a storage device in one storage apparatus to another storage apparatus.03-31-2011
20120303922IMPLEMENTING STORAGE ADAPTER PERFORMANCE OPTIMIZATION WITH ENHANCED RESOURCE POOL ALLOCATION - A method and controller for implementing storage adapter performance optimization with enhanced resource pool allocation, and a design structure on which the subject controller circuit resides are provided. The controller includes a plurality of hardware engines; a processor, and a plurality of resource pools. A plurality of work queues is associated with the resource pools. The processor initializes a list of types, and the associated amount of pages for each allocate type. The hardware engines maintain a count of allocate types, specifying a type on each allocation and deallocation, and performing allocation from the resource pools for deadlock avoidance.11-29-2012
20110078404DYNAMIC MEMORY ALLOCATION FOR APPLICATIONS - Some embodiments of a system and a method to dynamically allocate memory to applications have been presented. For instance, an application interface executing on a processing device running in a computing system receives a request from an application running on the processing device for a predetermined capacity of memory. A kernel running on the processing device may allocate one or more consecutive heaps of memory to the application in response to the request. A total capacity of the heaps allocated is at least the predetermined capacity requested.03-31-2011
20110252214MANAGEMENT SYSTEM CALCULATING STORAGE CAPACITY TO BE INSTALLED/REMOVED - A storage apparatus coupled to a host device comprises a virtual volume which is a virtual logical volume configured of multiple virtual areas and a pool configured of multiple actual area groups of different performances. A controller manages pool status information which is the information showing which actual area is allocated to which virtual area and access load related to the virtual areas. A management system of the storage apparatus, with reference to the pool status information at multiple points of time from past to present and an access load threshold which is equal to or larger than 1, estimates the used capacity of each actual area group at points of time in the future, calculates the installed/removed amount of each actual area group which is the difference between the estimated used capacity and the current storage capacity, and performs the processing based on the calculated result.10-13-2011
20110060885COMPUTING SYSTEM AND CONTROLLING METHODS FOR THE SAME - Provided is a computer system capable equalizing the storage capacity immediately and reliably to multiple real logical areas dynamically providing storage capacity to virtual logical areas.03-10-2011
20110016286INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD AND COMPUTER READABLE MEDIUM - An information processing apparatus includes: a memory that stores a process identifier for identifying a process uniquely, a virtual address which is an address of a memory space available in the process, a physical address corresponding to the virtual address, and a continuous memory capacity assigned to the process so as to be associated with each other; and a memory capacity setting section that, when changing a process to an executable state, sets the continuous memory capacity to be stored in the memory. The memory capacity setting section determines the continuous memory capacity based on a memory capacity that the process requires; a memory capacity of an unused continuous region in a physical memory; and a memory capacity based on restriction of memory size dependent on a central processing unit in a computer.01-20-2011
20100306495RECORDING MEDIUM STORING MANAGEMENT PROGRAM, MANAGEMENT DEVICE AND MANAGEMENT METHOD - A management device obtains, from the plurality of storage nodes, information of accesses which are made to the actual storage areas included in the storage nodes, generating load information of the actual storage areas based on the access information, and storing the generated load information in a load information storage unit. The device changes, based on the load information stored in the load information storage unit, the assignment relations of the actual storage areas with respect to the virtual storage areas such that loads of the storage nodes are leveled. The device instructs the plurality of storage nodes to move the data in the actual storage areas depending on change in the assignment of the actual storage areas to the virtual storage areas.12-02-2010
20110252216Thread-local hash table based write barrier buffers - A write barrier is implemented using thread-local hash table based write barrier buffers. The write barrier, executed by mutator threads, stores addresses of written memory locations or objects in the thread-local hash tables, and during garbage collection, an explicit or implicit union of the addresses in each hash table is used in a manner that is tolerant to an address appearing in more than one hash table.10-13-2011
20110029753DISPERSED STORAGE NETWORK VIRTUAL ADDRESS GENERATIONS - A dispersed storage device within a dispersed storage network includes a processing module for determining whether to add a new generation for a vault, in which the vault identifies at least one user having data to be stored. When the new generation is to be added to the vault, the processing module further assigns a vault generation identifier to the new generation, assigns a virtual address range of a virtual memory associated with the dispersed storage network to the new generation and maps the virtual address range to a physical memory for storage of the data therein.02-03-2011
20110016284Memory Management in Network Processors - System and method for storing information units is provided. The system includes a memory comprising a plurality of contiguous memory segments, a local memory storing a plurality of pointers, each pointer pointing to one contiguous memory segment, a receiving unit configured to arrange incoming information units into queues and memory control logic configured to allocate pointers to the queues and configured to cause the incoming information units to be written into contiguous memory segments. The incoming information units form at least one queue and wherein pointers form a linked list of pointers if the information units are written into more than one contiguous memory segment.01-20-2011
20130159658DYNAMIC RECORD MANAGEMENT FOR SYSTEMS UTILIZING VIRTUAL STORAGE ACCESS METHOD (VSAM) - When using virtually stored data sets, such as virtual storage access method (VSAM) data sets, while the data set is open (referred to as an open time) static data set characteristics and/or job parameters have been defined for the VSAM data set. In one approach, a method for modifying a virtual storage access method (VSAM) data set includes opening a VSAM data set; and modifying a VSAM control block structure for the VSAM data set.06-20-2013
20100122060SYSTEM AND METHOD FOR ALLOCATING AND DEALLOCATING MEMORY WITHIN TRANSACTIONAL CODE - Methods and systems are provided for managing memory allocations and deallocations while in transactional code, including nested transactional code. The methods and systems manage transactional memory operations by using identifiers, such as sequence numbers, to handle memory management in transactions. The methods and systems also maintain lists of deferred actions to be performed at transaction abort and commit times. A number of memory management routines associated with one or more transactions examine the transaction sequence number of the current transaction, manipulate commit and/or undo logs, and set/use the transaction sequence number of an associated object, but are not so limited. The methods and systems provide for memory allocation and deallocations within transactional code while preserving transactional semantics. Other embodiments are described and claimed.05-13-2010
20110252215COMPUTER MEMORY WITH DYNAMIC CELL DENSITY - A computer memory with dynamic cell density including a method that obtains a target size for a first memory region. The first memory region includes first memory units operating at a first density. The first memory units are includes in a memory in a memory system. The memory is operable at the first density and a second density. The method also includes: determining that a current size of the first memory region is not within a threshold of the target size and that the first memory region is smaller than the target size; identifying a second memory unit currently operating at the second density in a second memory region, the second memory unit included in the memory; and dynamically reassigning, during normal system operation, the second memory unit into the first memory region, the second memory unit operating at the first density after being reassigned to the first memory region.10-13-2011
20120203997INTEGRITY MONITORING - Systems and methods are described here to provide a degree or level of certification to a resident application such as an operating system, e.g., Linux®. In a Linux® implementation, the operating system provides a robust environment including many seasoned communication stacks, e.g., TCP/IP, USB, and the like. However, Linux® is not certified to the level necessary to be a part of many avionics applications. To eliminate the need to certify all of such an operating system, such certification being highly costly, the avionics application itself may be protected so that the operating system cannot alter the application's operating environment, e.g., application code and data, once the application is loaded and running. In this case, only the application requires certification at the highest level, and not the operating system such as Linux®.08-09-2012
20100058019DATA TRANSFER BETWEEN WIRELESS UNIVERSAL SERIAL BUS (USB) HOST CONTROLLER DRIVER AND WIRELESS USB HOST CONTROLLER IN A WIRELESS USB HOST - A wireless Universal Serial Bus (USB) host that optimizes the data transfer between the Wireless Host Controller Driver (WHCD) and the Wireless Host Controller (WHC). The data transfer between the WHCD and the WHC is optimized by reducing the overhead of data fragmentation. Higher performance without sacrificing memory and computation power is achieved with the optimization of the data transfer.03-04-2010
20120203998ON DEMAND CONVERSION OF STANDARD LOGICAL VOLUMES TO THIN-PROVISIONED LOGICAL VOLUMES - A method for concurrently converting a standard volume to a thin-provisioned volume includes initially establishing metadata for a thin-provisioned volume. The method then updates the metadata for the thin-provisioned volume to point to extents residing in a standard volume. The method then suspends I/O to metadata for the standard volume. Upon suspending the I/O, the method migrates control of the extents in the standard volume from a standard-volume control algorithm to a thin-provisioned-volume control algorithm. The method then resumes the I/O to the metadata for the thin-provisioned volume. Using this technique, standard volumes may be rapidly converted to thin-provisioned volumes while minimally disrupting I/O to the volumes. A corresponding apparatus and computer program product are also disclosed and claimed herein.08-09-2012
20090282209Storage System, Storage Extent Release Method and Storage Apparatus - This storage system has an allocation unit for allocating a storage extent in prescribed units to the dynamic logical volume upon storing the data sent from the host computer in the dynamic logical volume; a management unit for managing the storage extent recognized as being currently used by the file system among the storage extents allocated to the dynamic logical volume by the allocation unit; and a release unit for releasing the storage extent that is not being managed by the management unit from the dynamic logical volume.11-12-2009
20110153976METHODS AND APPARATUSES TO ALLOCATE FILE STORAGE VIA TREE REPRESENTATIONS OF A BITMAP - Methods and apparatuses that search tree representations of a bitmap for available blocks to allocate in storage devices are described. An allocation request for a file may be received to initiate the search. In one embodiment, the bitmap may include an array of bits corresponding to blocks in the storage devices. Each bit may indicate whether one of the blocks is available. The tree representations may include at least one red-black tree having nodes corresponding to one or more consecutive bits in the bitmap indicating an extent of available blocks. One of the tree representations may be selected according to a file associated with an allocation request to identify an extent of available block matching the allocation request. The tree representations may be synchronized as the bitmap is updated with changes of block allocations in the storage devices.06-23-2011
20110153975METHOD FOR PRIORITIZING VIRTUAL REAL MEMORY PAGING BASED ON DISK CAPABILITIES - A method manages memory paging operations. Responsive to a request to page out a memory page from a shared memory pool, the method identifies whether a physical space within one of a number of paging space devices has been allocated for the memory page. If physical space within the paging space device has not been allocated for the memory page, a page priority indicator for the memory page is identified. The memory page is then allocated to one of a number of memory pools within one of the number of paging space devices. The memory page is allocated one of the memory pools according to the page priority indicator of the memory page. The memory page is then written to the allocated memory pools.06-23-2011
20080229046Unified support for solid state storage - In a method for providing unified support for solid state storage, a solid state storage class driver is provided to enable uniform operating system access to a plurality of dissimilar solid state storage devices. A common functionality of the plurality of dissimilar solid state storage devices is abstracted via a solid state storage port driver. A solid state storage bus driver is utilized to expose an interface feature of a solid state storage device, wherein the solid state storage device is selected from the plurality of dissimilar solid state storage devices such that the interface feature is accommodated while simultaneously enabling the operating system to support access to the plurality of dissimilar solid state storage devices in a unified manner.09-18-2008
20080229047Disk Space Allocation - A method and system for allocating blocks of disk in persistent storage to requesting threads. A primary data structure is provided for organizing and categorizing blocks of disk space. In addition, a secondary data structure is provided for maintaining a list of all active file system processes and blocks of disk space used by those processes. Blocks of disk space are assigned to pages. At such time as a thread may request allocation of disk space, both data structures are reviewed to determine if the requested disk space is available and to limit access of available disk space to a single page of memory to a single thread at any one time.09-18-2008
20080229045STORAGE SYSTEM PROVISIONING ARCHITECTURE - In some embodiments, a storage controller comprises a first input/output port that provides an interface to a host computer, a second input/output port that provides an interface a storage device, a processor that receives input/output requests generated by the host computer and, in response to the input/output requests, generates and transmits input/output requests to the storage device, and a memory module communicatively connected to the processor. The memory module comprises logic instructions stored in a computer-readable medium which, when executed by the processor, configure the processor to receive, from the host computer, a write input/output request that identifies a logical volume; compare an amount of storage space available in the logical volume with an amount of storage space required to complete the write operation, and allocate additional storage space to the logical volume if the amount of storage space available in the logical volume is insufficient to complete the write operation. Other embodiments may be described.09-18-2008
20080256319Memory controller - A memory controller includes a page configure module that communicates with a memory array comprising B memory blocks each including P pages. The page configure module selectively configures memory cells in the P pages of each of the B memory blocks to store from 1 to T bits per cell. The page configure module also generates a memory map based on the configuration. B, P, and T are integers greater than 1. At least one of a write module selectively writes data to the memory array based on the memory map or a read module selectively reads data from the memory array based on the memory map.10-16-2008
20130198480Parallel Dynamic Memory Allocation Using A Lock-Free FIFO - One embodiment of the present invention sets forth a technique for dynamically allocating memory using one or more lock-free FIFOs. One or more lock-free FIFOs are populated with FIFO nodes, where each FIFO node represents a memory allocation of a predetermined size. Each particular lock-free FIFO includes memory allocations of a single size. Different lock-free FIFOs may include memory allocations for different sizes to service allocation requests for different size memory allocations. A lock-free mechanism is used to pop FIFO nodes from the FIFO. The use of the lock-free FIFO allows multiple consumers to simultaneously attempt to pop the head FIFO node without first obtaining a lock to ensure exclusive access of the FIFO.08-01-2013
20110055512TAPE FEEDER, REMOVABLE UNIT FOR ELECTRONIC COMPONENT MOUNTING, AND ELECTRONIC COMPONENT MOUNTING APPARATUS - To provide a tape feeder and an electronic component mounting apparatus that enables easy, reliable recognition of a model of an individual subjected to a specification change after factory shipment.03-03-2011
20110055511Interlocked Increment Memory Allocation and Access - A method of allocating a memory to a plurality of concurrent threads is presented. The method includes dynamically determining writer threads each having at least one pending write to the memory; and dynamically allocating respective contiguous blocks in the memory for each of the writer threads. Another method of allocating a memory to a plurality of concurrent threads includes launching the plurality of threads as a plurality of wavefronts, dynamically determining a group of wavefronts each having at least one thread requiring a write to the memory, and dynamically allocating respective contiguous blocks in the memory for each wavefront from the group of wavefronts. A corresponding method of assigning a memory to a plurality of reader threads includes determining a first number corresponding to a number of writer threads having a block allocated in said memory, launching a first number of reader threads, entering a first wavefront of said reader threads from said group of wavefronts to an atomic operation, and assigning a first block in the memory to the first wavefront during the corresponding atomic operation, where the first block is contiguous to a previously allocated block dynamically allocated to another wavefront from said group of wavefronts. Corresponding system embodiments and computer program product embodiments are also presented.03-03-2011
20080201547STRUCTURE FOR STORAGE ALLOCATION MANAGEMENT IN SWITCHES UTILIZING FLOW CONTROL - A design structure embodied in a machine readable storage medium for designing, manufacturing, and/or testing a design for managing allocation of storage in a switch utilizing flow control is provided. The design structure includes a switch having a plurality of ports and an internal storage divided into a plurality of storage units. The design structure provides for monitoring an average number of storage units used by each of the plurality of ports over a predetermined time period, setting a threshold for the average number of storage units used by each of the plurality of ports, and allocating one or more available storage units assigned to a first port to a second port in response to storage allocation management being enabled for the second port and the average number of storage units used by the second port exceeding the threshold for the second port.08-21-2008
20110264884DATA STORAGE DEVICE AND METHOD OF OPERATING THE SAME - A data storage device includes a storage media storing data and a controller that receives a de-allocation command and performs the de-allocation command according to a size of a de-allocation region. When a size of the de-allocation region is larger than a minimum erase unit of the storage media, the controller performs a first de-allocation operation to erase a part of the de-allocation region, an operation to notify the host of a completion of the de-allocation command after the first de-allocation operation, and a second de-allocation operation to erase the rest of the de-allocation region.10-27-2011
20110179246APPARATUS AND METHOD FOR PROCESSING DATA IN A MASSIVELY PARALLEL PROCESSOR ARRAY SYSTEM - An apparatus and method for processing data in a Massively Parallel Process Array (MPPA) system are provided, in which a scheduling processor determines an array processor and an initial memory, and requests halt release to the array processor, which requests allocation of an additional memory or return of used memory to an address conversion controller, if allocation of additional memory or return of used memory is needed during program execution. The address conversion controller controls, upon receipt of the request for allocation of additional memory, conversion of a base address of additional memory to a physical address and, upon receipt of the request for return of used memory, deletes registered information from the address conversion table. The array processor requests return of additional memory to the address conversion table and transmits a terminal signal to the scheduling controller, upon completion of the program.07-21-2011
20120151173INHERITANCE OF GROWTH PATTERNS FOR DERIVED TABLES - Systems and methods are disclosed in which a derived table can inherit a growth pattern from a template table. A growth pattern is used to define how memory is allocated to a table as the table grows. The derived table can inherit the growth pattern defined by its template table or it can provide an override growth pattern. Inheritance of the growth pattern can be performed by explicit copying or by reference or link. Growth patterns can be edited, and the edits can be applied universally or locally.06-14-2012
20120311292STORAGE MANAGING SYSTEM, COMPUTER SYSTEM, AND STORAGE MANAGING METHOD - The present invention provides a technique for arranging a virtual logical volume group for satisfying target response performance and realizing a cost reduction. For this purpose, in the present invention, in a storage managing system which manages a storage subsystem comprising in a pool using plural storage devices (hierarchies) having different performances and provides plural virtual logical volumes from the pool, the plural virtual logical volumes are classified into plural groups on the basis of information concerning target response performance concerning each of the plural virtual logical volumes such that each of the plural virtual logical volumes satisfies the target response performance. A new pool is allocated to each of the plural groups of the virtual logical volumes. Further, information indicating a correspondence relation between the pool and the virtual logical volumes included in the groups is generated and the information is output.12-06-2012
20120311291SPACE RECLAMATION IN MULTI-LAYERED AND THIN PROVISIONED STORAGE SYSTEMS - An approach to efficient space reclamation in multi-layered thinly provisioned systems. A parent storage volume is thinly provisioned, and uses one or more child storage volumes that are also thinly provisioned for storage. A reclamation command sent to the device providing the parent thinly provisioned storage volume identifies that data has been released, and that the physical storage storing that data can be placed in a free pool and used to satisfy future write requests in the parent storage volume. An identify module identifies which child storage volumes supporting the parent storage volume are thinly provisioned. The data is released at the level of the parent storage volume, and the reclamation command is sent to the child storage volumes supporting the parent storage volume and that are themselves thinly provisioned. The storage is thus released by all affected thinly provisioned storage volumes, and not just the parent storage volume that received the reclamation command.12-06-2012
20120311290SYSTEMS AND METHODS FOR EXECUTING DEVICE CONTROL - A constrained computing device is provided. The constrained computing device includes a memory, a processor coupled to the memory, and a journaling component executed by the processor in kernel mode. The journaling component is configured to receive information descriptive of a device control, allocate, in the memory, a variable record structured according to a variable definition associated with the device control, store the information within the variable record, receive updated information descriptive of the device control, allocate, in the memory, an update record structured according to an update variable definition, store the updated information within the update record, and link the variable record to the update record.12-06-2012
20120311289PERSISTENT DATA STORAGE - A persistent data storage system comprising a code development system for defining a plurality of memory storage device identifiers. A configuration database system for associating a tag with a database storage address and with one of the memory storage device identifiers. The code development system for recovering data stored in a persistent electronic data memory associated with each of the memory storage device identifiers during initialization of a database. The configuration database for causing code developed by the code development system to cause data stored at the database storage address to be stored in the persistent electronic data memory if the data stored at the database storage address is changed.12-06-2012
20110072231Device, method and computer-readable medium relocating remote procedure call data in heterogeneous multiprocessor system on chip - Disclosed is a device, method and computer-readable medium relocating Remote Procedure Call (RPC) data in a heterogeneous multiprocessor System-on-Chip (MPSoC). The method, for example, includes determining a memory where data is to be stored based on a use of a parameter of a function, and data access patterns of a function caller and a function callee, and storing the data in the determined memory.03-24-2011
20110082996Systems And Methods For Managing Databases - Embodiments of systems and methods for managing databases are disclosed. One disclosed embodiment is a system that includes a processor-addressable physical memory and a processor in communication with said processor-addressable physical memory and configured to execute an environment and to allocate an environment memory to said environment. In such an embodiment, said environment is configured to maintain a database of objects in a database memory within said environment memory. The environment executes an application in an application memory within said environment memory, and upon instantiation of a database object, allocates memory in said database for said database object, the database providing master storage for said database object. Upon an instruction to obtain said database object from said application, the environment provides to said application a reference to said database object; and upon an access operation on said database object by said application, provides to said application direct access to data of said database object.04-07-2011
20110093679Identifying Dynamically Changing Virtual Storage Devices - Mechanisms are provided for detecting changes in virtual storage device configurations. The mechanisms detect an event corresponding to a change in configuration of a virtual storage device. The virtual storage device is comprised of a plurality of portions of a plurality of physical storage devices. The mechanisms further, in response to detecting the event, determine if the change in configuration of the virtual storage device results in a change in the types of physical storage devices that are part of the virtual storage device. Moreover, the mechanisms further transmit a notification, in response to a determination that the change in configuration of the virtual storage device results in a change in the types of physical storage devices that are part of the virtual storage device, of the results of the change in configuration of the virtual storage device to one or more registered recipients registered to receive such notifications.04-21-2011
20110138147DYNAMIC REALLOCATION OF PHYSICAL MEMORY RESPONSIVE TO VIRTUAL MACHINE EVENTS - Described are methods and systems for dynamically reallocating memory amongst virtual machines executing within a virtualization environment. A computer can execute a virtualization environment that can include one or more virtual machines and that can include a memory manager. The memory manager can dynamically reallocate memory by identifying a maximum and minimum memory value for each virtual machine, determining a target memory value for each virtual machine using the maximum and minimum memory value, and identifying one or more virtual machines that have an actual memory usage value that is less than the target memory value calculated for those virtual machines. To re-allocate the memory, the memory manager can allocate additional memory to the identified virtual machines by inflating a balloon driver, then de-allocate the additional memory, and reallocate the de-allocated, additional memory to other virtual machines within the virtualization environment.06-09-2011
20110138146KERNEL SUBSYSTEM FOR HANDLING PERFORMANCE COUNTERS AND EVENTS - A system for handling performance counters and events includes an operating system that receives a request of a first application for performance data associated with a type of event to be performed by a second application, causes a hardware counter pertaining to the event type to be activated, and provides a file descriptor corresponding to the hardware counter to the first application. The operating system then receives a second request of the first application for a value of the hardware counter, where the second request includes the file descriptor, and provides the value of the hardware counter to the first application.06-09-2011
20090300316COMPUTER SYSTEM, MANAGEMENT COMPUTER AND STORAGE SYSTEM, AND STORAGE AREA ALLOCATION AMOUNT CONTROLLING METHOD - To provide a computer system, a management computer and a storage system, and a storage area allocation amount controlling method for improving I/O performance of the host computer. In a computer system comprising a storage system comprising one or more storage devices with storage areas, a host computer which uses a storage area of the storage device, and a management computer for dynamically allocating the storage area in response to an input/output request from the host computer; wherein the management computer monitors dynamic allocation of a real storage area to a storage area in the storage system, and calculates allocation increment amount to the allocated storage area based on the allocation frequency and the total amount of allocation.12-03-2009
20090292896INFORMATION MANAGEMENT METHOD, RECORDING/PLAYBACK APPARATUS, AND INFORMATION STORAGE MEDIUM - In an information management method according to an embodiment of the invention, one or more freely installable memory cards are used. A suitable information management can be made even if a part or all of the memory cards is/are optionally attached or detached. Digital AV information of which recording may be distributed over the one or more memory cards is managed according to a prescribed format (which is common to all of the memory cards). Identification information for identifying the card is recorded on each of the memory cards. Allocation information (FAT) indicating where is allocated a portion of the digital AV information is also recorded on each of the memory cards. The allocation information of each of the memory cards identified by the identification information is acquired, and the acquired allocation information is integrated. The acquisition and integration are performed each time the memory card is attached or detached.11-26-2009
20090292895MANAGING SERVER, POOL ADDING METHOD AND COMPUTER SYSTEM - In a computer system, even when the virtual storage capacity of pools is increased, it is possible to keep the availability of each pool at least at a desired level. The managing server compares a reference value beforehand stored therein with an evaluation value of availability which represents a degree of resistivity against destruction, the degree being derived by use of physical configuration information which is obtained from the controller and which is associated with the pool; and determines necessity of addition of an element to the pool if the availability evaluation value exceeds the reference value and indicates the addition of the element to the pool to the storage apparatus.11-26-2009
20100023723Paging Memory Contents Between A Plurality Of Compute Nodes In A Parallel Computer - Methods, apparatus, and products are disclosed for paging memory contents between a plurality of compute nodes in a parallel computer that includes: identifying, by a master node, a memory allocation request for an application executing on the master node, the memory allocation request requesting additional computer memory for use by the application during execution; requesting, by the master node from a slave node, an available memory notification specifying to the master node the computer memory available for allocation on the slave node; allocating, by the master node, at least a portion of the computer memory available for allocation on the slave node in dependence upon the memory allocation request and the available memory notification; and transferring, by the master node, contents of a portion of the computer memory on the master node to the allocated portion of the computer memory on the slave node.01-28-2010
20100023722STORAGE DEVICE FOR USE IN A SHARED COMMUNITY STORAGE NETWORK - A storage device configured to join a shared community storage network. All or a portion of the storage device is registered with the community storage network as a storage node. Once registered with the network, third party data may be stored on the storage node and remotely accessed by third parties. In addition, data stored on the storage device by a user may be stored in the shared community storage network by encrypting the data, adding redundancy, and distributing it to other storage nodes within the storage network. Data that is stored in the storage network is accessible to the user even if their storage device is inaccessible or fails. The user may receive economic or non-economic incentives for allowing the storage device to join the shared community storage network.01-28-2010
20110307679MANAGING WEAR ON INDEPENDENT STORAGE DEVICES - In a method of managing wear on a plurality of independent storage devices having respective sets of memory cells, access characteristics of the memory cells in the plurality of independent storage devices are monitored. In addition, an instruction to access data on at least one of the memory cells is received and an independent storage device of the plurality of independent storage devices is selected to access data on at least one of the memory cells of the selected independent storage device based upon one or more predetermined selection policies and the monitored access characteristics of the memory cells in the plurality of independent storage devices. Moreover, the selected independent storage device is assigned to access data on at least one of the memory cells of the selected independent storage device according to the received instruction.12-15-2011
20120042147MEMORY ALLOCATION METHOD AND A METHOD FOR MANAGING DATA RELATED TO AN APPLICATION STORED IN A SECURITY MODULE ASSOCIATED WITH A TERMINAL, AN ASSOCIATED SECURITY MODULE AND AN ASSOCIATED TERMINAL - A method is provided for allocating memory associated with an application of a security module of a terminal, including the steps of receiving from said application a request for allocation of memory external to the security module, of sending a memory allocation command to the terminal, and of receiving and storing memory allocation information in association with an identifier of said application. A method is also provided for managing data for such application, including the steps of receiving a request to read or write in an external memory, and of determining and sending a read or write command as a function of said request and the memory allocation information associated with the application identifier in order to read or write data. A security module and a terminal including that security module are also provided.02-16-2012
20090172336Allocating Memory in a Broker System - Memory allocation in a Broker system for managing the communication between a plurality of clients and a plurality of servers. The method may include allocating memory for a plurality of memory pools; and dividing each memory pool into memory blocks of a size which is specific to the type of a resource. The resource may be related to the communication managed by the Broker.07-02-2009
20090172337COOPERATIVE MECHANISM FOR EFFICIENT APPLICATION MEMORY ALLOCATION - System, method and computer program product for allocating physical memory to processes. The method includes enabling a kernel to free memory in a physical memory space corresponding to arbitrarily sized memory allocations released by processes or applications in a virtual memory space. After freeing the memory, the system determines whether freed physical memory in the physical memory space spans one or more fixed size memory units (e.g., page frames). The method further includes designating a status of the one or more page frames as available for reuse; the freed page frames marked as available for reuse being available for backing a new process without requiring the kernel to delete data included in the freed memory released by the process. The kernel may organize pages marked as available for reuse in one or more local “pools” that is organized according to a variety of schemes which provide system efficiencies in that the kernel can eliminate the need for deleting of old data in those page frames without compromising data security.07-02-2009
20090063804DYNAMIC A-MSDU ENABLING - A dynamic A-MSDU enabling method is disclosed. The method enables the recipient of an aggregate MAC service data unit (A-MSDU) under a block ACK agreement to reject the A-MSDU. The method thus distinguishes between A-MSDU outside of the block ACK agreement, which is mandatory, from A-MSDU under the block ACK agreement, which is optional. The method thus complies with the 802.1103-05-2009
20120210090EXPANDING MEMORY SIZE - A method for expanding memory size is provided in the illustrative embodiments. A desired size of an expanded memory and a first information about a workload in the data processing system are received. A size of a compressed memory pool to use with the memory to make the desired size of the expanded memory available is computed. A representation of the memory is configured, the representation of the memory appearing to be of a size larger than the size of the memory, the representation of the memory being the expanded memory, and the size of the representation being the size of the expanded memory. The expanded memory is made available such that the memory in the data processing system is usable by addressing the expanded memory.08-16-2012
20120047347Generic Data Collection Plugin and Configuration File Language for SMI-S Based Agents - A system and method is provided for facilitating data collection from storage devices. A generic low level module may be provided that can handle data collection for devices that store data according to particular variants of a storage standard such as SMI-S storage standard, SNMP protocol, and/or other storage standard.02-23-2012
20120210091MODELING MEMORY COMPRESSION - A method for modeling memory compression is provided in the illustrative embodiments. A subset of candidate pages is received. The subset of candidate pages is a subset of a set of candidate pages used in executing a workload in a data processing system. A candidate page is compressible uncompressed data in a memory associated with the data processing system. The subset of candidate pages is compressed in a scratch space. A compressibility of the workload is computed based on the compression of the subset of candidate pages. Page reference information of the subset of candidate pages is received. A memory reference rate of the workload is determined. A recommendation is presented about a memory compression model for the workload in the data processing system.08-16-2012
20120005447APPARATUS FOR REALLOCATING LOGICAL TO PHYSICAL DISK DEVICES USING A STORAGE CONTROLLER AND METHOD OF THE SAME - A storage controller calculates an access frequency of each logical disk; that is selects a first logical disk device of which the access frequency exceeds a first predetermined value, the first logical disk device being allocated to a first physical disk device; selects a second logical disk device which has the access frequency equal to or less than a second predetermined value, the second logical disk device being allocated to a second physical disk device; and reallocates the first and second logical device; and reallocates the first and second logical devices to the second and the first physical disk device, respectively.01-05-2012
20120005445MEMORY ALLOCATION WITH IDENTIFICATION OF REQUESTING LOADABLE KERNEL MODULE - A technique that supports improved debugging of kernel loadable modules (KLMs) that involves allocating a first portion of a memory and detecting a first kernel loadable module (KLM) requesting an allocation of at least a portion of the memory. The first KLM is then loaded into the first portion of the memory and a first identifier is associated with the first KLM and the first portion. The access of a second portion of the memory by the first KLM, the second portion being distinct from the first portion is detected and an indication that the first KLM has accessed the second portion is generated.01-05-2012
20120005446STORAGE CONTROLLER - Provided is a storage controller that will not impair the operation of a storage control system even when a new storage area is added to a pool corresponding to an AOU volume. This storage controller includes a logical volume accessible by a host system; a pool associated with the logical volume and including one or more physical storage areas configuring a storage area of the logical volume; and a memory for storing attribute information showing an attribute of a physical storage area included in the pool; wherein the controller is configured to add a new physical storage area to the pool based on the attribute information.01-05-2012
20120179889ADAPTIVELY PREVENTING OUT OF MEMORY CONDITIONS - A computer-implemented method of preventing an out-of-memory condition can include evaluating usage of virtual memory of a process executing within a computer, detecting a low memory condition in the virtual memory for the process, and selecting at least one functional program component of the process according to a component selection technique. The method also can include sending a notification to each selected functional program component and, responsive to receiving the notification, each selected functional program component releasing at least a portion of a range of virtual memory reserved on behalf of the selected functional program component.07-12-2012
20080270731Memory Request/Grant Daemons in Virtual Nodes for Moving Subdivided Local Memory Space from VN to VN in Nodes of a Massively Parallel Computer System - A memory management mechanism a nodal having multiple processors in a massively parallel computer system dynamically configures nodal memory on demand. A respective variable-sized subdivision of nodal memory is associated with each processor in the node. A processor may request additional memory, and the other processor(s) may grant or veto the request. If granted, the requested memory is added to the subdivision of the requesting processor. A processor can only access memory within its own subdivision. Preferably, each subdivision contains a daemon which monitors memory usage and generates requests for additional memory.10-30-2008
20120017062Data Processing Using On-Chip Memory In Multiple Processing Units - Methods are disclosed for improving data processing performance in a processor using on-chip local memory in multiple processing units. According to an embodiment, a method of processing data elements in a processor using a plurality of processing units, includes: launching, in each of the processing units, a first wavefront having a first type of thread followed by a second wavefront having a second type of thread, where the first wavefront reads as input a portion of the data elements from an off-chip shared memory and generates a first output; writing the first output to an on-chip local memory of the respective processing unit; and writing to the on-chip local memory a second output generated by the second wavefront, where input to the second wavefront comprises a first plurality of data elements from the first output. Corresponding system and computer program product embodiments are also disclosed.01-19-2012
20120023306USING VERSIONED POINTERS TO FACILITATE REUSING MEMORY WITH A REDUCED NEED TO RECLAIM OBJECTS THROUGH GARBAGE COLLECTION - One embodiment of the present invention provides a system that uses versioned pointers to facilitate reusing memory without having to reclaim the objects solely through garbage collection. The system operates by first receiving a request to allocate an object. Next, the system obtains the object from a pool of free objects, and sets an allocated/free flag in the object to indicate that the object is allocated. The system also increments a version number in the object, and also encodes the version number into a pointer for the object. The system then returns the pointer, which includes the encoded version number. In this way, subsequent accesses to the object through the pointer can compare the version number encoded in the pointer with the version number in the object to determine whether the object has been reused since the pointer was generated.01-26-2012
20120023305COMPUTER SYSTEM AND STORAGE CONTROL METHOD OF THE SAME - 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 comprising the pool volumes. A control device sets the access target for the host computer to access, each time a write to the access target occurs from the host computer, from the pool assigned to the access target to the write area of the access target. The control device performs the processing of assigning the storage capacity from the logical volume in the pool. The control device defines the logical volumes in advance, compiles the same into a management group as a preliminary for the pool and, in accordance with the change of the pool status, adds the logical volumes from the management group to the pool.01-26-2012
20090172335FLASH DEVICES WITH RAID - Methods and apparatus of the present invention include multiple flash storage devices that are configured to form a single storage device that is flexible and scalable. Reliability and performance are improved while keeping the power consumption benefits compared to conventional hard disk drives.07-02-2009
20120060011ALLOCATING REGISTER HALVES INDEPENDENTLY - Register halves are allocated independently when performing register allocation during program compilation, thereby effectively doubling the number of registers which are available for allocation, which in turn may reduce spill code and improve run-time performance. When hardware registers are 64 bits wide, for example, an architecture supporting the present invention provides some number of separate hardware instructions that operate on the 32-bit high-word and/or the 32-bit low word of the hardware registers as if those 32-bit words are separate registers. Such hardware instructions are able to manipulate the register halves independently, leaving the other register half untouched. A register coloring algorithm using in the compilation process is invoked using the number of register halves, instead of the number of hardware registers.03-08-2012
20120159111METHOD FOR MEMORY MANAGEMENT - Exemplary embodiments of the present invention can reduce physical memory usage of programs executed in an operating system by immediately releasing an allocated memory region at the time of a request of unloading the memory region if it is determined that the memory region which is allocated by programs executed in the operating system becomes unnecessary. A method for memory management includes making a request of unloading a memory region from programs; reclaiming a physical memory region allocated to the programs; and maintaining a record of the memory region that the programs intend to use.06-21-2012
20120159110METHOD FOR ALLOCATING REGISTERS FOR A PROCESSOR BASED ON CYCLE INFORMATION - A method of allocating registers for a processor based on cycle information is disclosed. The processor comprises a first cluster and a second cluster. Each cluster comprises a first functional unit, a second functional unit, a first local register file connected to the first functional unit, a second local register file connected to the second register file, and a global register file having a ping-pong structure formed by a first register bank and a second register bank. After building a Component/Register Type Associated Data Dependency Graph (CRTA-DDG), a functional unit assignment, register file assignment, ping-pong register bank assignment, and cluster assignment are performed to take full advantage of the properties of a processor as well as cycle information.06-21-2012
20120159109METHOD AND APPARATUS FOR IMPROVING NON-UNIFORM MEMORY ACCESS - A method, computer readable medium and apparatus for improving non-uniform memory access are disclosed. For example, the method divides a plurality of stream processing jobs into a plurality of groups of stream processing jobs to match a topology of a non-uniform memory access platform. The method sets a parameter in an operating system kernel of the non-uniform memory access platform to favor an allocation of a local memory, and defines a plurality of processor sets. The method binds one of the plurality of groups to one of the plurality of processor sets, and run the one group of stream processing jobs on the one processor set.06-21-2012
20120072694VIRTUALIZED STORAGE SYSTEM AND METHOD OF OPERATING THEREOF - A storage system and method is provided including physical storage devices controlled by storage control devices constituting a storage control layer operatively coupled to the physical storage devices and hosts. The storage control layer includes a first virtual layer interfacing with the hosts, operable to represent a logical address space available to said hosts and characterized by an Internal Virtual Address Space (IVAS); a second virtual layer characterized by a Physical Virtual Address Space (PVAS), interfacing with the physical storage devices, and operable to represent an available storage space; and an allocation module operatively coupled to the first and second virtual layers and providing mapping between IVAP and PVAS. Each address in PVAS is configured to have a corresponding address in IVAS. The allocation module facilitates management of IVAS and PVAS, enabling separation of a process of deleting certain logical object into processes performing changes in IVAS and PVAS, respectively.03-22-2012
20110066822DATA TRANSFER APPARATUS, DATA TRANSFER DEVICE, AND DATA TRANSFER METHOD IN A DATA TRANSFER DEVICE - A data transfer apparatus includes: a first port and a second port that communicate data; a memory unit that stores the data; and a securing unit that secures, when a first time period starting from transmission of data up to reception of a response to transmitted data at the first port is longer than a second time period starting from transmission of data up to reception of a response to transmitted data at the second port, a first memory space that is used in data transfer in the first port so as for the first memory space to have a larger size than a size of a second memory space used in data transfer in the second port.03-17-2011
20110107051SEMICONDUCTOR MEMORY, MEMORY SYSTEM, AND METHOD OF CONTROLLING THE SAME - Various embodiments of a semiconductor system, a semiconductor memory, and a method of controlling the same are disclosed. In one exemplary embodiment, the semiconductor memory may include a first circuit area configured to perform an operation corresponding to a general operation command and a second circuit area configured to provide the general operation command to the first circuit area. The second circuit area may be configured to determine whether the semiconductor memory is selected to perform the operation based on unique identification information and target identification information allocated to the semiconductor memory.05-05-2011
20120317388CONFIGURE STORAGE CLASS MEMORY COMMAND - An abstraction for storage class memory is provided that hides the details of the implementation of storage class memory from a program, and provides a standard channel programming interface for performing certain actions, such as controlling movement of data between main storage and storage class memory or managing storage class memory.12-13-2012
20110099349MEMORY SYSTEM - A controller executes first processing for writing a plurality of data in a sector unit in the first storing area; second processing for flushing the data stored in the first storing area to the first input buffer in a first management unit twice or larger natural number times as large as the sector unit; third processing for flushing the data stored in the first storing area to the second input buffer in a second management unit twice or larger natural number times as large as the first management unit; fourth processing for relocating a logical block in which all pages are written in the first input buffer to the second storing area; fifth processing for relocating a logical block in which all pages are written in the second input buffer to the third storing area; and sixth processing for flushing a plurality of data stored in the second storing area to the second input buffer in the second management unit.04-28-2011
20120124320MEMORY MANAGEMENT DEVICE, MEMORY MANAGEMENT METHOD, MEMORY MANAGEMENT PROGRAM, COMPUTER-READABLE RECORDING MEDIUM RECORDING MEMORY MANAGEMENT PROGRAM AND INTEGRATED CIRCUIT - Available capacity of a specific memory block is secured as much as possible. A termination candidate process selection unit (05-17-2012
20120124319METHODS AND STRUCTURE FOR TUNING STORAGE SYSTEM PERFORMANCE BASED ON DETECTED PATTERNS OF BLOCK LEVEL USAGE - Methods and structure within a storage system for tuning performance of the storage system based on monitored block level access within the storage system. Block level access, either in cache memory or on the storage devices of the storage system, is monitored to detect patterns of access and/or data that correspond to an identified host system program. Based on the identified host system program, a profile of desired storage device configuration information is selected by the storage system. The profile comprises information identifying optimal configuration of a logical volume used by the corresponding host system program. Reconfiguration options are identified from the profile information and used either to automatically reconfigure the logical volume or are presented to a user to permit the user to select desired options from the reconfiguration options.05-17-2012
20120124318Method and Apparatus for Optimal Cache Sizing and Configuration for Large Memory Systems - A method for configuring a large hybrid memory subsystem having a large cache size in a computing system where one or more performance metrics of the computing system are expressed as an explicit function of configuration parameters of the memory subsystem and workload parameters of the memory subsystem. The computing system hosts applications that utilize the memory subsystem, and the performance metrics cover the use of the memory subsystem by the applications. A performance goal containing values for the performance metric is identified for the computing system. These values for the performance metrics are used in the explicit function of performance metrics, configuration parameters and workload parameters to calculate values for the configuration parameters that achieve the identified performance goal. The calculated values of the configuration parameters are implemented in the memory subsystem.05-17-2012
20120317387FAST COPY USING FILE SYSTEM BLOCK MAPPINGS - Multiple target blocks on a first storage device are allocated to store a target object. The target blocks are arranged to be in a one-to-one correspondence with multiple source blocks of a source object. The target blocks are set to a non-populated state, and target blocks in the non-populated state are populated with data from corresponding source blocks. While the target blocks are being populated, if a request is received to retrieve data from one of the target blocks that is in the non-populated state, then the one of the target blocks is populated with the data from the corresponding source block and set to a populated state.12-13-2012
20130173880DEDICATED LARGE PAGE MEMORY POOLS - Dedicated large page memory pools are provided to, at least in part, facilitate access to large pages. The large page memory is managed by: establishing multiple large page memory pools, each large page memory pool of the multiple large page memory pools including a number of large pages; and dedicating each large page memory pool of the multiple large page memory pools to a respective processor of multiple processors of the computing environment, wherein processors of the multiple processors can concurrently access pages from the respective large page memory pools of the multiple large page memory pools.07-04-2013
20120221825NONVOLATILE MEMORY SYSTEM AND FEATURE INFORMATION SETTING METHOD - A nonvolatile memory system includes a controller and a nonvolatile memory apparatus, where the controller provides the nonvolatile memory apparatus with a first feature setting command or a second feature setting command according to device information of the nonvolatile memory apparatus in a mode change of the nonvolatile memory apparatus.08-30-2012
20120131299METHOD AND SYSTEM FOR REDUCING ENTRIES IN A CONTENT-ADDRESSABLE MEMORY - A method for reducing memory entries in a ternary content-addressable memory may include determining if a first entry and a second entry are associated with the same data value. The method may also include determining if the first entry can be masked such that searching the memory with the content value of either of the first entry or the second entry returns the same data value. The method may further include, in response to determining that the first entry and a second entry are associated with the same data value and determining that the first entry can be masked such that addressing the memory with the content value of either of the first entry or the second entry returns the same data value: (i) masking the first entry such that addressing the memory with the content value of either of the first entry or the second entry returns the same data value; and (ii) deleting the second entry.05-24-2012
20120166754Apparatus, Method and System for Registration Effecting Information Access - An apparatus, method and system to register and provide a persistent indentifier of information that may be located in multiple locations, formats, and accessible in variable fashions based on the context of use. The present disclosure further provides the ability to automatically make information available and associated with its identifier. The disclosure also details the ability to create identifier. The disclosure also details the ability to create identifiers from content authoring tools within and for documents and/or other information. The invention teaches how to associate a single identifier while making information available, and accessible under varying conditions, from varying locations, in varying formats, based on various contexts of access. The present disclosure further teaches an enhanced digital object identifier, an enhanced Handle system, and enhanced directory registry that facilitate the access, association, and instantiation of information over a communications network.06-28-2012
20120166753CONFIGURABLE MEMORY BANKS OF A MEMORY DEVICE - A memory device has a storage array having a plurality of accessible memory banks and a configurable first set of memory segments. The plurality of accessible memory banks include a second set of memory segments. During a first mode of operation, the first set of memory segments is configured to be an additional accessible memory bank. During a second mode of operation, a pair of memory segments in the first set of memory segments are configured to be an additional set of memory segments in each of the plurality of accessible memory banks.06-28-2012
20120166752DATA PROCESSING APPARATUS AND METHOD FOR RECORDING DATA - A data processing apparatus includes a calculating unit configured to calculate a compression ratio when a block selected from among the plurality of blocks is compressed; a determining unit configured to determine whether a block is to be compressed by comparing the calculated compression ratio with a threshold; a recording unit configured to record the block on the storage device in a compressed or uncompressed state on a basis of a result of the determination; a management information creating unit configured to create a management information in association with data identification information for identifying the data, state information indicating a compressed or uncompressed state is recorded to the management information in association with each block, when the each block is recorded on the storage device; and a storage processing unit configured to store the management information created by the management information creating unit on a memory.06-28-2012
20120166751STORAGE APPARATUS AND STORAGE MANAGEMENT METHOD - Capacity limitations on virtual volumes are set easily.06-28-2012
20100235604COMPUTER-READABLE RECORDING MEDIUM STORING MANAGEMENT PROGRAM, MANAGEMENT APPARATUS, AND MANAGEMENT METHOD - A management apparatus and method that manage a storage system, in which an access node and a storage node, with which the management apparatus is in communication via the network. The management apparatus includes a logical volume judging unit that acquires a plurality of processing requests to each of the plurality of storage areas, references a logical volume allocation information storage unit that stores a correspondence relationship between the plurality of storage areas and the plurality of logical volumes in the storage node, and judges a logical volume corresponding to a storage area to become a processing object of each processing request, and a processing request breakdown calculating unit that counts an acquisition count of each processing request for each logical volume based on a judgment result by the logical volume judgment unit, and calculates a proportion of each acquisition count to a total of respective acquisition counts.09-16-2010
20100211754MEMORY UTILIZATION ANALYSIS - An application records memory allocations and releases as they occur over time, and an analysis system presents characteristic memory utilization patterns to a user for review and analysis. A variety of sampling techniques are used to minimize the impact of this memory utilization monitoring on the performance of the application, and the analysis system is configured to estimate the overall memory utilization based on these samples. Because these samples of the memory allocations are taken continuously as the application is running, the analysis system can provide visualizations of the memory utilization patterns that allow a user to easily recognize anomalous behavior. The analysis system includes an interactive interface that allows the user to trace the cause of the presented memory utilization patterns, and provides statistics regarding memory allocation and release to guide the user in this analysis.08-19-2010
20100205395Optimal memory allocation for guested virtual machine(s) - Methods and apparatus allocate and adjust memory of a hardware platform hosting a plurality of guest virtual machines. One of the virtual machines is configured as a management domain that determines whether other virtual machines comply with a performance computing policy. If not, an initial amount of memory for the other virtual machines is adjusted higher or lower. In this manner, the guest machines are each outfitted with sufficient memory to accomplish their respective workloads, and such is adjusted over time as workloads vary per machine. This distributes throughput concerns throughout an entire platform to sufficiently guarantee a quality of service for each machine of the platform, regardless of its individual tasks. Other features contemplate specific computing policies regarding page fault rates and computer program products for assisting in the foregoing, to name a few.08-12-2010
20120137101OPTIMIZING MEMORY MANAGEMENT OF AN APPLICATION RUNNING ON A VIRTUAL MACHINE - A method, system and computer program product for optimizing memory usage of an application running on a virtual machine. A virtual machine memory block is pre-allocated and the average memory usage of the virtual machine is periodically computed using statistics collected from the virtual machine through an API. If the memory usage average becomes higher than a maximum threshold, then a recovery mode is entered by releasing the virtual machine memory block and forcing the running application to reduce its processing activity; optionally, a garbage collector cycle can be forced. If the computed memory usage average becomes lower than a minimum threshold value, which is lower than the maximum threshold value, then a normal mode is entered by re-allocating the virtual machine memory block and forcing the running application to resumes its normal processing activity. Optionally, when the virtual machine is idle, a deep garbage collection is forced.05-31-2012
20120137102CONSUMER APPROACH BASED MEMORY BUFFER OPTIMIZATION FOR MULTIMEDIA APPLICATIONS - A multimedia storage method is provided in which the memory allocations to applications are just the sufficient or right amount and do not over allocate or waste memory resources, thereby ensuring that other applications that need memory can operate properly and efficiently.05-31-2012
20110185147EXTENT ALLOCATION IN THINLY PROVISIONED STORAGE ENVIRONMENT - Method, apparatus, and computer program product embodiment for allocating a plurality of extents in a thinly provisioned computing storage environment are provided. In one such embodiment, subsequent to a write request and previous to entering a cache of the computing storage environment, a determination is made, for a logical extent, whether a real extent is available. Pursuant to determining the availability of the real extent, the logical extent is allocated to the real extent by updating system metadata associated with the logical extent.07-28-2011
20120272031CHANNEL DEPTH ADJUSTMENT IN MEMORY SYSTEMS - Memory devices, systems and methods are described, such as those including a dynamically configurable channel depth. Devices, systems and methods are described that adjust channel depth based on hardware and/or software requirements. One such device provides for virtual memory operations where a channel depth is adjusted for the same physical memory region responsive to requirements of different memory processes.10-25-2012
20120173837MEMORY SYSTEM - A memory system is described having a memory, at least one memory area of the memory being able to be configured as data memory or as buffer store as a function of a required memory processing rate.07-05-2012
20120317389Allocating Heaps in NUMA Systems - Processes may be assigned heap memory within locally accessible memory banks in a multiple processor NUMA architecture system. A process scheduler may deploy a process on a specific processor and may assign the process heap memory from a memory bank associated with the selected processor. The process may be a functional process that may not change state of other memory objects, other than the input or output memory objects defined in the functional process.12-13-2012
20120221826DATA MANAGEMENT IN A DATA STORAGE SYSTEM - An exemplary method includes receiving a command for storing data to a plurality of data storage resources, storing the data in a set of buffer storage locations, defining a plurality of jobs for the command, each of the plurality of jobs having an associated data operation with at least one of the data storage resources, and reallocating a subset of the buffer storage locations that stored the data for a completed job prior to completion of at least one other job.08-30-2012
20120226886METHODS AND SYSTEMS FOR RELEASING AND RE-ALLOCATING STORAGE SEGMENTS IN A STORAGE VOLUME - Storage segments in a storage volume coupled to a cache memory are released and re-allocated. A processor receives notice to release a segment allocated to the storage volume. A release pending status is assigned to the segment while preparing the segment for release. The storage volume is enabled to re-claim the segment while the segment includes the release pending status.09-06-2012
20100049937VOLUME RECORD DATA SET OPTIMIZATION APPARATUS AND METHOD - A method, apparatus, and computer program product for optimizing the organization of volume records stored in a volume record data set is disclosed herein. In certain embodiments, a method may include monitoring a volume comprising multiple data sets. Each data set may have associated therewith a volume record stored in a volume record data set. The method may further include tracking read and write operations to each of the data sets over a period of time. A count value may be stored in the volume record of each data set. The count value may be increased each time a read operation is performed to the associated data set. The count value may be decreased each time a write operation is performed to the associated data set. The volume records in the volume record data set may then be reorganized according to the size of the count values.02-25-2010
20100049938MEMORY MANAGEMENT METHOD, AND MEMORY MANAGEMENT APPARATUS - When a program execution unit of a computer executes a creation instruction of objects utilized by an execution target program in process of executing the execution target program, the program execution unit disposes a created object in an internal heap when a life period of the created object is not contained within life period of objects for root class and gets average value of life time corresponding to set of objects to which the created object belongs with reference to memory allocation information table to dispose the created object as a long-life object in an external heap when the gotten average value of life time is equal to or larger than a predetermined value. Accordingly, life time of objects is measured and long-life objects are not managed by GC, so that program utilizing objects can be executed at high speed.02-25-2010
20100011184MANAGEMENT METHOD AND A MANAGEMENT SYSTEM FOR VOLUME - It is made possible to update information registered in a database of iSNS, SLP and the like in response to a configurational change in a storage device, and for a host computer to discover a disk volume. In response to changes in contents of operation to alter a storage configuration such as in creating or deleting a volume or LUN, contents of the alteration are reflected in the database of iSNS or SLP. Also, in response to a change in setting of LUN masking, a discovery domain of iSNS or attribute values of SLP are updated so that the host computer can discover the disk volume. Also, objects and services are reregistered periodically according to a registration period of iSNS or lifetime of SLP to prevent registered contents from expiring.01-14-2010
20120233434Virtual Disk Storage Techniques - This document describes techniques for storing virtual disk payload data. In an exemplary configuration, each virtual disk extent can be associated with state information that indicates whether the virtual disk extent is described by a virtual disk file. Under certain conditions the space used to describe a virtual disk extent can be reclaimed and state information can be used to determine how read and/or write operations directed to the virtual disk extent are handled. In addition to the foregoing, other techniques are described in the claims, figures, and detailed description of this document.09-13-2012
20120233435DYNAMIC MEMORY MANAGEMENT IN A VIRTUALIZED COMPUTING ENVIRONMENT - A memory management method in a virtualized computing environment is provided, in which a hypervisor implements at least a virtual machine (VM) over a host machine, wherein a guest operating system (OS) is executed over the VM and an application supporting memory management capabilities is executed over the guest OS. The method comprises invoking a first memory manager (java balloon) implemented by the application to deallocate memory allocated to the application for use by the hypervisor, in response to a request submitted by the hypervisor; and invoking a second memory manager (guest balloon) implemented over the guest operating system to deallocate memory allocated to the guest OS, in response to a request submitted by the hypervisor.09-13-2012
20120233436Data Management Method in Storage Pool and Virtual Volume in DKC - A storage system connected to a computer and a management computer, includes storage devices accessed by the computer, and a control unit for controlling the storage devices. A first-type logical device corresponding to a storage area set in at least one of the storage devices and a second-type logical device that is a virtual storage area are provided. The control unit sets at least two of the first-type logical devices different in a characteristic as storage areas included in a storage pool through mapping. The first-type logical device stores data by allocating a storage area of the second-type logical device to a storage area of the first-type logical device mapped to the storage pool. The characteristic of the second-type logical device can be changed by changing the allocated storage area of the second-type logical device to a storage area of another first-type logical device.09-13-2012
20120233433SYSTEMS, DEVICES, MEMORY CONTROLLERS, AND METHODS FOR MEMORY INITIALIZATION - Systems, devices, memory controllers, and methods for initializing memory are described. Initializing memory can include configuring memory devices in parallel. The memory devices can receive a shared enable signal. A unique volume address can be assigned to each of the memory devices.09-13-2012
20120254578ZONE GROUP CONNECTIVITY INDICATOR - A method for allocating storage space is provided. The method includes receiving an assignment of an interconnect bay port to a zone group, wherein the interconnect bay port corresponds to a switch that operatively couples a storage controller to the zone group. The method also includes sending a command to the switch to determine whether the storage controller is operatively coupled to the interconnect bay port. The method also includes generating a display that indicates whether the storage controller is operatively coupled to the interconnect bay port.10-04-2012
20110119463COMPUTING SYSTEM AND METHOD CONTROLLING MEMORY OF COMPUTING SYSTEM - Provided is a computing system having a hierarchical memory structure. When a data structure is allocated with respect to a task processed in the computing system, the data structure is divided and a portion of the data structure is allocated to a high speed memory of the hierarchical memory structure and a remaining data structure is allocated to a low speed memory of the hierarchical memory.05-19-2011
20090019250WIRELESSLY CONFIGURABLE MEMORY DEVICE ADDRESSING - A memory device includes a plurality of memory modules and a memory management module. A memory module of the plurality of memory modules includes a plurality of memory cells and a memory millimeter wave (MMW) transceiver. The memory management module determines a main memory configuration for at least some of the plurality of memory modules. The memory management module also determines physical addresses for the main memory configuration and determines a MMW communication resource table that includes an allocation mapping of one or more MMW communication resources to one or more of the at least some of the plurality of memory modules.01-15-2009
20090019249Chunk-specific executable code for chunked java object heaps - A mechanism is disclosed for storing one or more chunk-specific sets of executable instructions at one or more predetermined offsets within chunks of a chunked heap. The mechanism provides for storing a chunk-specific set of executable instructions within a portion of a chunk, where the set of executable instructions begins at a predetermined offset within the range of virtual memory addresses allocated to the chunk. The set of executable instructions, when executed, is operable to perform one or more operations that are specific to the chunk.01-15-2009
20130019079INTELLIGENT COMPUTER MEMORY MANAGEMENT - A plurality of memory allocators are initialized within a computing system. At least a first memory allocator and a second memory allocator in the plurality of memory allocators are each customizable to efficiently handle a set of different memory request size distributions. The first memory allocator is configured to handle a first memory request size distribution. The second memory allocator is configured to handle a second memory request size distribution. The second memory request size distribution is different than the first memory request size distribution. At least the first memory allocator and the second memory allocator that have been configured are deployed within the computing system in support of at least one application. Deploying at least the first memory allocator and the second memory allocator within the computing system improves at least one of performance and memory utilization of the at least one application.01-17-2013
20120233432DYNAMIC GUARDING OF A STORAGE MEDIA - A fixed data region on a storage medium may be allocated with one of a variety of allocation schemes (e.g., a randomly writable allocation scheme, a non-randomly writeable allocation scheme with a first data isolator spacing, a non-randomly writeable allocation scheme with a second data isolator spacing, and a non-randomly writeable allocation scheme with no dynamic isolators). Dynamic sub-region spacing refers at least to the number of data tracks in a data region of a magnetic disc between dynamic isolators and the number of bits in a data region in flash memory between dynamic isolators. The presently disclosed technology adapts isolators on the storage medium to create dynamic sub-regions based on characteristics of the storage medium, characteristics of the data, and/or expected access patterns of data to be written to the storage medium.09-13-2012
20080301395SOFTWARE DEVELOPMENT FOR PARALLEL PROCESSING SYSTEMS - Within a data processing system, a user-entered data declaration within a program source file is inspected to determine whether a first qualifier is provided with or omitted from the user-entered data declaration. If the first qualifier is provided, an unreserved data storage location disposed within a data-processing integrated-circuit (IC) device is identified and allocated for storage of data associated with the user-entered data declaration.12-04-2008
20080301394 Method And A System To Determine Device Criticality During SAN Reconfigurations - A method, a system and a computer program for determining device criticality during SAN reconfiguration operations comprising the steps of building the SAN connectivity graph and mapping the reconfiguration on SAN connectivity graph; locating the affected host systems; and determining the device criticality for each of the affected host systems. The hosts systems may also be provided with impact analysis agents to generate device criticality on host systems and a central agent to aggregate the device criticality from impact analysis agent and provide feedback to data center administrator.12-04-2008
20080301393APPARATUS AND METHOD OF PROCESSING DATA OF NON-VOLATILE MEMORY - The invention relates to an apparatus and method of processing data of a non-volatile memory, and more particularly, to an apparatus and method of processing data of a non-volatile memory that is capable of applying a writing unit operation to a plurality of sectors.12-04-2008
20120324198MEMORY MANAGEMENT MODEL AND INTERFACE FOR NEW APPLICATIONS - A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory. Thus, the system provides a new model for managing memory that improves application host behavior and allows applications to use computing resources more efficiently.12-20-2012
20120324197MEMORY MANAGEMENT MODEL AND INTERFACE FOR UNMODIFIED APPLICATIONS - A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory. Thus, the system provides a new model for managing memory that improves application host behavior and allows applications to use computing resources more efficiently.12-20-2012
20120324196MEMORY MANAGER WITH ENHANCED APPLICATION METADATA - A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory. Thus, the system provides a new model for managing memory that improves application host behavior and allows applications to use computing resources more efficiently.12-20-2012
20120324195ALLOCATION OF PRESET CACHE LINES - An apparatus generally having a cache memory and a circuit is disclosed. The circuit may be configured to (i) parse a single first command received from a processor into a first address and a first value and (ii) allocate a first one of a plurality of lines in the cache memory to a buffer in response to the first command. The first line (a) is generally associated with the first address and (b) may have a plurality of first words. The circuit may be further configured to (iii) preset each of the first words in the first line to the first value.12-20-2012
20120324194ADJUSTING THE AMOUNT OF MEMORY ALLOCATED TO A CALL STACK - In an embodiment, a plurality of stack depths of a stack are sampled from all stack depths of the stack. An average of the plurality of stack depths is calculated. If a number of the plurality of stack depths is greater than a maximum sample threshold and the average of the plurality of stack depths is greater than or equal to a current depth of the stack, then pages are deallocated from the stack that are above the average of the plurality of stack depths. If the number of the plurality of stack depths is greater than the maximum sample threshold and the average of the plurality of stack depths is less than the current depth of the stack, then pages are deallocated from the stack that are above the current depth of the stack.12-20-2012
20120272032Dynamic Allocation of a Buffer Across Multiple Clients in a Threaded Processor - A method may include distributing ranges of addresses in a memory among a first set of functions in a first pipeline. The first set of the functions in the first pipeline may operate on data using the ranges of addresses. Different ranges of addresses in the memory may be redistributed among a second set of functions in a second pipeline without waiting for the first set of functions to be flushed of data.10-25-2012
20120324200METHOD AND APPARATUS OF MEMORY OVERLOAD CONTROL - A computer-implemented method, system, apparatus, and article of manufacture for memory overload management. The method includes: collecting memory application information of at least one node of a computer system that is implementing the method; predicting a memory overload period and an overload memory size of a first node where memory overload will occur based on the memory application information; and scheduling a memory space according to the memory overload period and the overload memory size.12-20-2012
20120324199MEMORY MANAGEMENT METHOD, COMPUTER SYSTEM AND PROGRAM - Disclosed is a computer system for reliably running a plurality of programs performing garbage collection with less physical memory than in the past. For this purpose, there is disclosed a memory management method that releases unneeded areas in a plurality of memory areas that have been used by each of a plurality of programs stored in memory and executed on a processing unit, the processing unit acquires an index for determining the start of releasing a memory area, compares the index with a predetermined threshold, and when the index exceeds the threshold, selects one of the plurality of programs, collects unneeded areas of the memory areas used by the selected program, and releases the collected areas.12-20-2012
20110238944DETERMINISTIC MEMORY MANAGEMENT IN A COMPUTING ENVIRONMENT - Systems and methods for memory management in a computing environment are provided. The method comprises monitoring instantiation of objects during a web session established between a client applet and a server over the world wide web, wherein the client applet submits requests to the server and one or more objects are instantiated by a servlet application running on the server to service the submitted requests, wherein server memory space is allocated to said one or more objects instantiated by the servlet; determining execution scope of a first object instantiated by a servlet, in response to the server receiving a request from the client applet, wherein the execution scope of the first object is determined according to a context in which the first object is instantiated.09-29-2011
20120278585OPTIMIZING HEAP MEMORY USAGE - This disclosure provides a computing system and method to profile a program for finding potential optimization in heap usage by reducing lag and drag in lifetimes of heap memory blocks. The process consists of three steps. First, an instrumentation engine analyzes a given program, and inserts additional code at interesting locations to collect needed information. Second, when the instrumented program is executed on a set of test cases, runtime data is collected. Third, since this data could be relatively large for a complex and long running program, data is processed to present it to a user in useful ways so that the programmer can improve the heap utilization in the program.11-01-2012
20120089802DATA ALLOCATION IN A DISTRIBUTED STORAGE SYSTEM - A method for data distribution, including distributing logical addresses among an initial set of devices so as provide balanced access, and transferring the data to the devices in accordance with the logical addresses. If a device is added to the initial set, forming an extended set, the logical addresses are redistributed among the extended set so as to cause some logical addresses to be transferred from the devices in the initial set to the additional device. There is substantially no transfer of the logical addresses among the initial set. If a surplus device is removed from the initial set, forming a depleted set, the logical addresses of the surplus device are redistributed among the depleted set. There is substantially no transfer of the logical addresses among the depleted set. In both cases the balanced access is maintained.04-12-2012
20120096234INFORMATION REPRESENTATION AND CODING FOR NONVOLATILE MEMORIES - A memory device having a plurality of cells, each of which stores a value, where the values of the cells are mapped to discrete levels and the discrete levels represent data, is programmed by determining a maximum number of cell levels in the memory device, and determining the set of values that are associated with each of the cell levels. The maximum number of cell levels for the memory device is determined by an adaptive programming system connected to the memory device, based on a plurality of cell values attained by at least one cell of the memory device, in response to voltage applied by the adaptive programming system to the cells of the memory device. The adaptive programming system associates, for each of the cell levels, a different set of cell values of the plurality of cell values attained by the cells to which voltage is applied. This technique increases the number of cell levels that can be configured in a memory device as compared with conventional techniques, and increases the number of data values that can be programmed into the cells of a memory device.04-19-2012
20120331257GEOMETRIC ARRAY DATA STRUCTURE - A method for implementing a geometric array in a computing environment is disclosed. In one embodiment, such a method includes providing an array of slots, where each slot is configured to store a pointer. Each pointer in the array points to a block of elements. Each pointer with the exception of the first pointer in the array points to a block of elements that is twice as large as the block of elements associated with the preceding pointer. Such a structure allows the geometric array to grow by simply adding a pointer to the array that points to a new block of elements that is twice as large as the block of elements associated with the preceding pointer in the array. A corresponding computer program product, as well as a method for accessing data in the geometric array, are also disclosed.12-27-2012
20110320755TRACKING DYNAMIC MEMORY REALLOCATION USING A SINGLE STORAGE ADDRESS CONFIGURATION TABLE - Tracking dynamic memory de-allocation using a single configuration table having a first register and a second register includes setting the first register as an active register, initiating a de-allocation of desired storage increments from a memory partition, setting the storage increments in the second register as invalid, purging all caches associated with the single configuration table, setting the second register as the active register and the first register as an inactive register, setting the desired storage increments in the first register as invalid, switching the active register from the second register to the first register to complete memory de-allocation using the single configuration table.12-29-2011
20120102292MEMORY MODULE WITH MEMORY STACK AND INTERFACE WITH ENHANCED CAPABILITIES - A memory module, which includes at least one memory stack, comprises a plurality of DRAM integrated circuits and an interface circuit. The interface circuit interfaces the memory stack to a host system so as to operate the memory stack as a single DRAM integrated circuit. In other embodiments, a memory module includes at least one memory stack and a buffer integrated circuit. The buffer integrated circuit, coupled to a host system, interfaces the memory stack to the host system so to operate the memory stack as at least two DRAM integrated circuits. In yet other embodiments, the buffer circuit interfaces the memory stack to the host system for transforming one or more physical parameters between the DRAM integrated circuits and the host system.04-26-2012
20120102291System and Method for Storage Allocation in a Cloud Environment - A system includes a host processing system that launches virtual machines, a switched fabric, a storage area network that provides storage capabilities to the virtual machines, and a virtualized cloud environment manager that receives workload service profiles. The manager includes a virtual machine allocation framework that directs the host to launch a virtual machine in response to receiving a service profile, a network allocation framework that directs the fabric to provide network connectivity to the virtual machine in response to receiving the service profile, and a storage allocation framework with a workload interface that receives a workload storage requirement from the service profile, a storage capabilities database that determines capabilities of the network, and a storage manager that determines a storage allocation from the capabilities and allocates storage to the workload.04-26-2012
20120102290Storage Scalability Management - Storage scalability management is provided by adding storage in a data processing environment. A new storage subsystem is added automatically to an available storage provider only if doing so will not reduce the performance of the storage provider to an unacceptable level. If no such storage provider is available, a new storage provider is added automatically. The new storage provider is added automatically to the server and operating system that is best able to handle the additional work. Thus, a new storage subsystem is added automatically in a data processing environment in a manner that provides for system scalability while minimizing any adverse impact on system performance.04-26-2012
20120102289ORGANIZATION OF A SMALL OBJECT AREA AND A LARGE OBJECT AREA IN A JAVA HEAP - Managing multiple object areas in a memory heap, comprises allocating a memory heap as a contiguous range of memory, allocating a small object area within the memory heap having an initial start at a first end of the memory heap and allocating a large object area within the memory heap having an initial start at a second end of the memory heap opposite the first end such that the small object area and the large object area grow in opposite directions inward within the memory heap. Further, allocations are performed into the memory heap based upon a predetermined allocation policy such that the large object area is reserved for the allocation of large objects.04-26-2012
20120102288METHOD FOR MEDIA ALLOCATION IN A PARTITIONED REMOVABLE MEDIA STORAGE LIBRARY - An open systems based media storage library system (04-26-2012
20090193217Occupancy analysis - The disclosed embodiments relate to transparent and/or non-disruptive systems and methods for monitoring and analyzing actual space utilization, and in particular, analyzing space utilization over time and/or in real time to accurately understand and report the utilization of the space. In particular, the disclosed embodiments analyze data representative of occupancy of the space, the data being autonomously determined based on the likelihood that occupants are present within the space. The data is periodically determined and automatically reported to an automated collection system which collects the data and forwards it to a central repository for analysis. The data is then analyzed to provide meaningful reports regarding occupancy of the space or otherwise contextualize the utilization of the space. Further, the data collected from different spaces may be anonymized, aggregated, or otherwise combined, and analyzed to contextualize a given space's utilization, provide utilization forecasts, etc.07-30-2009
20130013882CARD AND HOST DEVICE - A host device is configured to read and write information from and into a card and to supply a supply voltage that belongs to a first voltage range or a second voltage range which is lower than the first voltage range, and issues a voltage identification command to the card. The voltage identification command includes a voltage range identification section, an error detection section, and a check pattern section. The voltage range identification section includes information indicating which one of the first voltage range and the second voltage range the supply voltage belongs. The error detection section has a pattern configured to enable the card which has received the voltage identification command to detect errors in the voltage identification command. The check pattern section has a preset pattern.01-10-2013
20130013881MICROCONTROLLER AND ELECTRONIC CONTROL UNIT - A microcontroller in which respective CPUs execute different applications so as to improve processing performance, and the respective CPUs execute an application that requires safety and mutually compare the results thereof so as to enhance the reliability of write data is provided. The microcontroller has a plurality of processing systems made up of a first CPU, a second CPU, a first memory and a second memory, and for the instruction processing about specific processing set in advance, the write to peripheral modules which are not multiplexed is executed twice, and the write data of the first time and the second time are mutually collated.01-10-2013
20130013880STORAGE SYSTEM AND ITS DATA PROCESSING METHOD - The de-duplication effect is enhanced even when managing data blocks by dividing them into fixed-length data.01-10-2013
20100161929Flexible Memory Appliance and Methods for Using Such - Various embodiments of the present invention provide systems and methods for using providing memory access across multiple virtual machines. For example, various embodiments of the present invention provide methods for configuring a shared main memory region. The methods include providing a memory appliance that includes a randomly accessible bank of memory and a memory controller that is operable to maintain information in relation to a first virtual machine and a second virtual machine. The methods further include receiving a request to allocate a first portion of the bank of memory to the first virtual machine, and receiving a request to allocate a second portion of the bank of memory to the second virtual machine. The first portion of the bank of memory is identified as accessible to the first virtual machine, and the second portion of the bank of memory is identified as accessible to the second virtual machine.06-24-2010
20110161617SCALABLE PERFORMANCE-BASED VOLUME ALLOCATION IN LARGE STORAGE CONTROLLER COLLECTIONS - A scalable, performance-based, volume allocation technique that can be applied in large storage controller collections is disclosed. A global resource tree of multiple nodes representing interconnected components of a storage system in a plurality of component layers is analyzed to yield gap values for each node (e.g., a bottom-up estimation). The gap value for each node is an estimate of the amount in GB of the new workload that can be allocated in the subtree of that node without exceeding the performance and space bounds at any of the nodes in that subtree. The gap values of the global resource tree are further analyzed to generate an ordered allocation list of the volumes of the storage system (e.g., a top-down selection). The volumes may be applied to a storage workload in the order of the allocation list and the gap values and list are updated.06-30-2011
20110161616ON DEMAND REGISTER ALLOCATION AND DEALLOCATION FOR A MULTITHREADED PROCESSOR - A system for allocating and de-allocating registers of a processor. The system includes a register file having plurality of physical registers and a first table coupled to the register file for mapping virtual register IDs to physical register IDs. A second table is coupled to the register file for determining whether a virtual register ID has a physical register mapped to it in a cycle. The first table and the second table enable physical registers of the register file to be allocated and de-allocated on a cycle-by-cycle basis to support execution of instructions by the processor.06-30-2011
20130024642APPARATUS, SYSTEM, AND METHOD FOR IDENTIFYING DATA THAT IS NO LONGER IN USE - An apparatus, system, and method are disclosed for managing a non-volatile storage medium. A storage controller receives a message that identifies data that no longer needs to be retained on the non-volatile storage medium. The data may be identified using a logical identifier. The message may comprise a hint, directive, or other indication that the data has been erased and/or deleted. In response to the message, the storage controller records an indication that the contents of a physical storage location and/or physical address associated with the logical identifier do not need to be preserved on the non-volatile storage medium.01-24-2013
20080244210ELIMINATING FRAGMENTATION WITH BUDDY-TREE ALLOCATION - This disclosure describes solutions for reducing the amount of fragmentation on a computer memory device, such as a hard disk, random access memory device, and/or the like. In an aspect, this disclosure describes systems, methods and software for allocating storage space for variable-sized data chunks in a fashion that reduces or eliminates the need for periodic de-fragmentation of the memory device. In another aspect, this disclosure describes solutions that provide for the dynamic re-allocation of existing data blocks on the memory device to provide contiguous available space that can be allocated for new data blocks.10-02-2008
20080244211MEMORY DEVICE AND CONTROLLER - A memory device comprises a nonvolatile memory including memory areas that are defined in accordance with a security levels, and a controller configured to write to a first area that is part of the memory areas in an M-value mode and to a second area that is part of the memory areas and provides lower security level than the first area in an N-value mode (N>M).10-02-2008
20130173881CIRCUIT FOR SETTING A PLURALITY OF BLOCKS AS AN IN-SYSTEM PROGRAMMING AREA AND A DATA BUFFER AREA AND METHOD THEREFORE - A method for setting a plurality of blocks as an in-system programming area and a data buffer area includes generating a plurality of select signals; setting some blocks of the plurality of blocks as blocks of the in-system programming area and other blocks of the plurality of blocks as blocks of the data buffer area according to the plurality of select signals.07-04-2013
20110246743RECONFIGURABLE MEMORY MODULE AND METHOD - A computer system includes a controller coupled to a plurality of memory modules each of which includes a memory hub and a plurality of memory devices divided into a plurality of ranks. The memory hub is operable to configure the memory module to simultaneously address any number of ranks to operate in a high bandwidth mode, a high memory depth mode, or any combination of such modes.10-06-2011
20110246742MEMORY POOLING IN SEGMENTED MEMORY ARCHITECTURE - Methods and computing systems for managing memory are disclosed. One computing system implementing a memory management scheme includes a plurality of memory pools formed in a segment-addressable memory, each of the memory pools including one or more pool areas having a common size and a size class, wherein the size class defines a maximum amount of memory able to be allocated from the memory pool. The computing system includes a memory management system interfaced to the segment-addressable memory, the memory management system including one or more memory pool tracking lists configured to track usage of the plurality of memory pools.10-06-2011
20110246741DATA DEDUPLICATION DICTIONARY SYSTEM - A data deduplication method using a small hash digest dictionary in fast-access memory. The method includes receiving customer data, dividing the data into smaller chunks, and assigning hash values to each chunk. For each chunk, the method includes performing lookup for a duplicate chunk by accessing a small dictionary in memory with the chunk's hash value. When no entry, the small dictionary is updated to include the hash value to fill the dictionary with earliest received data. When an entry is found, the entry's hash value is compared with lookup value and if matched, reference data is returned and an entry counter is incremented. If not matched, additional accesses are attempted such as with additional indexes calculated using the hash value. Collisions may trigger an entry replacement such that some initially entered entries are replaced when determined to not be most repeating values such as based on their counter value.10-06-2011
20080222381STORAGE OPTIMIZATION METHOD - In a system and method for examining the configuration of a storage area network using a browser application, linking to the storage area network using a browser application, obtaining data from a device on the storage area network, parsing the data into records, eliminating redundancies in the records, storing the records in a database, and providing access to the database to a user through the browser.09-11-2008
20080222380SYSTEM AND METHOD FOR DYNAMIC MEMORY ALLOCATION - A method for managing the allocation of memory to one or more applications. The method includes allocating a variety of fixed size memory blocks to a requesting application, each of the fixed size memory blocks being free of header information to maximize memory usage. Free, or unused blocks of data of the same fixed size are maintained in a freelist having a number of block roots corresponding to the number of differently fixed size memory blocks. Each block root stores a root pointer to an unused memory block previously allocated to the application. To conserve memory, each unused memory block will store branch pointers to other identically sized unused memory blocks, thereby forming a sequential chain of unused memory blocks with the block root. Therefore, applications requesting the same sized memory block can re-use previously allocated fixed size memory blocks.09-11-2008
20110271073COMPUTER SYSTEM AND CONTROL METHOD OF THE SAME - Summary Problem11-03-2011
20130091336Systems and Methods for Internal Initialization of a Nonvolatile Memory - Methods and systems are provided that may include a memory device having a physical nonvolatile memory, a memory space, and a controller. At least a portion of a physical nonvolatile memory may permit a direct read operation of the physical nonvolatile memory and prohibit a direct write operation of the physical nonvolatile memory. A memory space may comprise at least open one write overlay window available after a reset operation. Such a memory space may be adapted to permit at least one read overlay window to be opened that is logically separate from at least one open write overlay window. A controller may be included to open at least one read overlay window.04-11-2013
20130179660Virtual Logical Volume for Overflow Storage of Special Data Sets - System embodiments for facilitating overflow storage of special data sets that reside on a single logical volume are provided. A virtual logical volume is created from unallocated memory units across a plurality of logical volumes in a volume group. The virtual logical volume appears the same as any one of the logical volumes in the volume group to an external client. Upon receipt of a special data set that must reside in a single logical volume, an attempt is first made to allocate the special data set to one of the logical volumes in the volume group. If that allocation attempt fails, the special data set is allocated to the virtual logical volume. The virtual logical volume may be created only upon the failure to allocate the special data set to one of the logical volumes, and may be destroyed if sufficient space in one of the logical volumes is freed up to transfer the special data set. Creation of the virtual logical volume may be reserved for only critical special data sets whose failure would result in a storage system outage.07-11-2013
20130124817INFORMATION PROCESSING APPARATUS - Performing data processing for data sets stored in each of a plurality of storage devices includes collecting access data indicating details of accesses to each of the plurality of storage devices and computing predicted changes in access frequency for each of the storage devices on the basis of the access data for each of the plurality of storage devices in response to a request to reserve a storage area for storing a new data set. A storage device in which the storage area for storing the new data set is to be reserved is selected from among the plurality of storage devices on the basis of the predicted changes for each storage device.05-16-2013
20130124815Bank-Based Memory Allocation To Optimize Memory Bandwidth - A method for optimizing memory bandwidth using bank-based memory allocation is described. The method includes receiving a request for an allocation of memory. In response to receiving the request, memory is allocated to the request based on a performance ranking of memory banks in a plurality of memory banks. A performance ranking of a particular memory bank may be based at least in part on both a busyness and a row hit ratio of the particular memory bank. Apparatus and computer readable media are also described.05-16-2013
20130124818SYSTEM AND METHOD FOR CONTROLLING AUTOMATED PAGE-BASED TIER MANAGEMENT IN STORAGE SYSTEMS - System and method for automated page-based management in storage systems. The system includes host computers, file servers and a storage system having automated page-based management means. The storage system interface receives instructions to change the condition for decision for migration regarding particular parts or the whole volume. The host computer can control execution of the migration performed by the storage system by specifying areas or volumes with the condition via the interface. Highly optimized, appropriate data placement and data relocation in computer system can be achieved when the application, host computer or management computer can recognize or predict the usage of the data or files. The storage system having automated page-based management may include compression/decompression and a control method for the compression and decompression process.05-16-2013
20130132701CONFIGURATION MAPPING USING A MULTI-DIMENSIONAL RULE SPACE AND RULE CONSOLIDATION - A configuration mapping system and method increase the effectiveness of mapping of information from an established product line to a new product offering. In at least one embodiment, the configuration mapping system herein uses configuration mapping rules to map individual product features and entire configurations from established products to a new product offering. The configuration mapping system also provides a way to appropriately map, for example, demand and sales information for the purpose of demand estimation and sales prediction. Conventionally, mapping can be ineffective because the configuration mapping rules usually focus on one part of the product at a time, and, if applied in isolation, the impact on other parts is missed. The systems and method herein provide a way to integrate configuration mapping rules across feature parts, time periods, and product lines into a unified, holistic view, allowing for new insights.05-23-2013
20130132700METHOD AND SYSTEM FOR DYNAMICALLY UPGRADING A CHIP AND BASEBOARD MANAGEMENT CONTROLLER - The present invention relates to the field of communications, and in particular, to a method and a system for dynamically upgrading a chip and a baseboard management controller. The method includes: obtaining an upgrade file that is used for upgrading a chip; upgrading, based on the upgrade file, data in a flash memory that is used for storing data of the chip, and not performing a reset operation on the chip at this time; and when it is acquired through detection that the state of a service system that is connected to the chip is a service idle state, replicating the upgraded data in the flash memory to a random access memory in the chip, and performing a reset operation on the chip. According to the present invention, the availability and maintainability of the system are improved.05-23-2013
20130132699METHOD FOR TRACKING MEMORY USAGES OF A DATA PROCESSING SYSTEM - Techniques for tracking memory usages of a data processing system are described herein. According to one embodiment, a memory manager is to perform a first lookup operation in a memory allocation table to identify an allocation entry based on a handle representing a memory address of a memory block allocated to a client and to retrieve a trace entry pointer from the allocation entry. The memory manager is then to perform a second lookup operation in a memory trace table to identify a trace entry based on the trace entry pointer and to increment a memory allocation count of the trace entry. The memory allocation count is utilized to indicate a likelihood of the client causing a memory leak.05-23-2013
20130132698HIGH-EFFICIENCY VIRTUAL DISK MANAGEMENT SYSTEM - A virtual disk management system used in a diskless PC network communication agent system consisting of storage media, storage servers and a user-end computer for creating virtual disks having a dynamic space allocation function at the storage media and storing data into and fetching data from the virtual disks. The virtual disk management system uses a physical block index table, a storage media group record table, a virtual disk physical block occupation table and a differential disk relation table for virtual disk control, allowing physical and virtual space address translation to be done at one time to improve virtual disk access performance.05-23-2013
20130179659DATA STORAGE DEVICE WITH SELECTIVE DATA COMPRESSION - A memory controller comprises a host interface block comprising a compression ratio calculator configured to determine whether a compression ratio of input data exceeds a predetermined compression ratio, and a compression block configured to compress the input data as a consequence of the host compression ratio calculator determining that the compression ratio exceeds the predetermined compression ratio.07-11-2013
20130145118Virtual Storage Mirror Configuration in Virtual Host - A method for configuring mirrors of virtual storage devices in a virtual host includes obtaining a topology connection relationship between the virtual storage devices to be configured with mirrors and the virtual host, where the topology connection relationship is a hierarchical relationship in a tree shape with the virtual host as a root node and the virtual storage devices to be configured with mirrors as leaf nodes, and configuring the mirrors of the virtual storage devices to be configured with mirrors in the virtual host according to the obtained topology connection relationship. The method and the system for configuring mirrors of virtual storage devices in a virtual host can increase reliability.06-06-2013
20080201546MEMORY SYSTEM, COMPUTER SYSTEM AND MEMORY - The correspondence between logical addresses and physical addresses is determined so that the logical addresses in ascending order may be assigned to the physical addresses in ascending order with the physical addresses of defective blocks in a memory skipped. Then, the physical addresses of the defective blocks in ascending order are sequentially stored into the second blocks in ascending order of the physical addresses of the second blocks, respectively. To obtain a physical address from a logical address, a target block is retrieved out of a plurality of second blocks on the basis of the logical address, and the physical address of the target block is added to the logical address to obtain the physical address. Thus, it is possible to reduce the required capacity of a reserve storage region used for conversion of logical addresses into physical addresses without deteriorating the access speed.08-21-2008
20080201545METHOD, SYSTEM AND PROGRAM PRODUCT FOR ASSOCIATING THREADS WITHIN NON-RELATED PROCESSES BASED ON MEMORY PAGING BEHAVIORS - A method of tying related process threads within non-related applications together in terms of memory paging behavior. In a data processing system, a first process thread is related to one or more “partner” threads within separate high latency storage locations. The kernel analyzes the memory “page-in” patterns of multiple threads and identifies one or more partner threads of the first thread based on user input, observed memory page-in patterns, and/or pre-defined identification information within the thread data structures. The kernel marks the first thread and its corresponding related partner threads with a unique thread identifier. When the first thread is subsequently paged into a lower latency memory, the kernel also pages-in the related partner threads that are marked with the unique thread identifier in lockstep. Tying related threads from non-related applications together in terms of memory paging behavior thus eliminates memory management delays.08-21-2008
20100287352VIRTUAL MACHINE TOOL INTERFACE FOR TRACKING OBJECTS - Disclosed is a method and computer program product to track allocation of a plurality of objects in a heap. A data processing system, during an object allocation, prevents an object from being moved to another place in memory or being deleted. The data processing system prevents such activity concurrently with garbage collection on a second object not currently being allocated. The data processing system notifies a profiler of object information based on the object allocation via a callback function, wherein object information is a one-to-one mapping of the object address. The data processing system revives garbage collector processing of the object.11-11-2010
20110238942SYSTEM AND METHOD FOR ROBUST AND EFFICIENT FREE CHAIN MANAGEMENT - Disclosed herein are systems, methods, and non-transitory computer-readable storage media for managing free chains of compute resources. A system configured to practice the method divides a free chain of compute resources into a usable part (UP) which contains resources available for immediate allocation and an unusable part (UUP) which contains resources not available for immediate allocation but which become available after a certain minimum number of allocations. The system sorts resources in the UP by block number, and maintains a last used object (LUO) vector, indexed by block number, which records a last object in the UP for each block. Each time the system frees a resource, the system adds the freed resource to a tail of the UUP and promotes an oldest resource in the UUP to the UP. This approach can manage free chains in a manner that is both flaw tolerant and has relatively high performance.09-29-2011
20120278584INFORMATION STORAGE SYSTEM AND STORAGE SYSTEM MANAGEMENT METHOD - An embodiment of this invention is an information storage system comprising a plurality of storage systems connected to be able to communicate. Each of the plurality of storage systems includes default storage system identification information which is the same to the plurality of storage systems, common volume identification information for uniquely identifying volumes provided by the plurality of storage systems to a host computer among the plurality of storage systems, and a controller configured to return the default storage system identification information to the host computer in response to a request from the host computer and to process a read or write request to a volume accompanying the common volume identification information from the host computer.11-01-2012
20130151804Controlling the Placement of Data in a Storage System - A method, computer readable storage medium and computer system for controlling the allocation of data to one of a plurality of storage units of a storage system, the method comprising: accessing a source storage unit comprising the data; gathering file system level (FS-level) metadata from the source storage unit; analyzing the gathered FS-level metadata for determining if the data should be moved to one of the other storage units, said other storage unit acting as a destination storage unit; and in case the data should be moved, displaying an indication of the destination storage unit and/or automatically moving the data to the determined destination storage unit.06-13-2013
20130151805REORGANIZATION OF SOFTWARE IMAGES BASED ON PREDICTED USE THEREOF - A solution for managing a software image being stored in a plurality of physical blocks of a storage system comprises monitoring each access to the physical blocks, calculating a predicted sequence of access to the physical blocks according to the monitored accesses, and reorganizing the physical blocks according to the predicted sequence. The monitoring may be performed as the physical blocks are accessed during the booting of virtual images on the software image.06-13-2013
20130151806TIERED STORAGE POOL MANAGEMENT AND CONTROL FOR LOOSELY COUPLED MULTIPLE STORAGE ENVIRONMENT - A system comprises a first storage system including a first storage controller, which receives input/output commands from host computers and provides first storage volumes to the host computers; and a second storage system including a second storage controller which receives input/output commands from host computers and provides second storage volumes to the host computers. A first data storing region of one of the first storage volumes is allocated from a first pool by the first storage controller. A second data storing region of another one of the first storage volumes is allocated from a second pool by the first storage controller. A third data storing region of one of the second storage volumes is allocated from the first pool by the second storage controller. A fourth data storing region of another one of the second storage volumes is allocated from the second pool by the second storage controller.06-13-2013
20130151807Storage Router and Method for Providing Virtual Local Storage - A storage router and method for providing virtual local storage on remote storage devices to devices are provided. Devices are connected to a first transport medium, and a plurality of storage devices are connected to a second transport medium. In one embodiment, the storage router maintains a map to allocate storage space on the remote storage devices to devices connected to the first transport medium by associating representations of the devices connected to the first transport medium with representations of storage space on the remote storage devices, wherein each representation of a device connected to the first transport medium is associated with one or more representations of storage space on the remote storage devices. The storage router can control access from the devices connected to the first transport medium to the storage space on the remote storage devices in accordance with the access controls.06-13-2013
20130138915DATA PROCESSING SYSTEM, DATA PROCESSING METHOD, AND PROGRAM - A data processing system (05-30-2013
20130138913Reconfigurable Integrated Circuit Architecture With On-Chip Configuration and Reconfiguration - The exemplary embodiments provide a reconfigurable integrated circuit capable of on-chip configuration and reconfiguration, comprising: a plurality of configurable composite circuit elements; a configuration and control bus; a memory; and a sequential processor. Each composite circuit element comprises: a configurable circuit; and an element interface and control circuit, the element interface and control circuit comprising an element controller and at least one configuration and control register to store one or more configuration and control words. The configuration and control bus is coupled to the plurality of configurable composite circuit elements, and comprises a plurality of address and control lines and a plurality of data lines. The sequential processor can write configurations to the configuration and control registers of an addressed configurable composite circuit element to configure or reconfigure the configurable circuit.05-30-2013
20100318758EFFICIENT TRANSFER OF MATRICES FOR MATRIX BASED OPERATIONS - Techniques for transferring a matrix for performing one or more operations are provided. The techniques include applying a permutation on at least one of one or more columns and one or more rows of a matrix to group each of at least one of one or more columns and one or more rows of the matrix with a same alignment, blocking at least one of the grouped columns and grouped rows, and performing one or more operations on each matrix block.12-16-2010
20120284482Label Reuse Method and System for Connected Component Labeling - Embodiments disclosed include methods and systems for reusing labels for connected component labeling including assigning one or more labels to one or more groups of raw data representing one or more regions by designating one or more data structures as containing information about the one or more regions; connecting the one or more labels determined to be related; choosing a root label for the connected one or more labels, the root label determined by locating an earliest data element from the one or more groups of raw data; altering a label list of the one or more labels, the label list altered by flagging the root label to include a region label index; and overwriting one or more region label indexes according to the root label.11-08-2012
20120284481WIRELESSLY CONFIGURABLE MEMORY DEVICE ADDRESSING - A memory device includes a plurality of memory modules and a memory management module. A memory module of the plurality of memory modules includes a plurality of memory cells and a memory millimeter wave (MMW) transceiver. The memory management module determines a main memory configuration for at least some of the plurality of memory modules. The memory management module also determines physical addresses for the main memory configuration and determines a MMW communication resource table that includes an allocation mapping of one or more MMW communication resources to one or more of the at least some of the plurality of memory modules.11-08-2012
20120284480MEMORY SYSTEMS, MEMORY CONTROLLERS, MEMORY MODULES AND METHODS FOR INTERFACING WITH MEMORY MODULES - A memory system includes a memory controller and a memory module coupled to the memory controller. One such memory module may include a memory package of a first type and a signal presence detect unit configured to provide configuration data associated with a memory package of a second type to the memory controller. The configuration data may be used to configure the memory controller to interface with the memory package of a first type.11-08-2012
20120284479MANAGING LARGE PAGE MEMORY POOLS - Large page memory pools are managed. Thresholds are used to determine if the number of pages in a large page memory pool is to be adjusted. If the number of pages is to be increased, a particular technique is provided for adding additional pages to the pool. Further, if there are too many pages in the pool, one or more pages may be removed.11-08-2012
20120284478MANAGING STORAGE EXTENTS AND THE OBTAINING OF STORAGE BLOCKS WITHIN THE EXTENTS - Auxiliary storage is segmented into different types of extents (i.e., ranges of storage), including extents with 4K blocks of storage, extents with 1M blocks of storage, empty extents, and mixed extents that include blocks of storage of various sizes (e.g., 4K blocks and 1M blocks). The auxiliary storage, and in particular, the extents and blocks of storage therein, are managed to reduce storage fragmentation and optimize system performance.11-08-2012
20110283078STORAGE APPARATUS TO WHICH THIN PROVISIONING IS APPLIED - At least two virtual volumes of a plurality of virtual volumes are associated with at least one pool. At least two pools of the plurality of pools are associated with each of virtual volumes. At least two pools that are associated with each of virtual volumes have a priority level. A storage control apparatus receives a write command and the write target data from a host apparatus. When a virtual area of a write destination specified by the write command is an unallocated virtual area, the storage control apparatus selects one pool based on the priority level of the pools that are associated with a virtual volume of a write destination specified by the write command. The storage control apparatus allocates an unallocated physical area in the selected pool to a virtual area of a write destination, and writes the write target data to the allocated physical area.11-17-2011
20130124816DEVICE REQUIRING ADDRESS ALLOCATION, DEVICE SYSTEM AND ADDRESS ALLOCATION METHOD - A device requiring address allocation, a device system, and an address allocation method. A control device in the device system transmits currently allocated address information and a contention start signal to each device requiring address allocation in the device system through a bus, and the devices requiring address allocation with address allocation flag information being that no address information is allocated output an address contention signal. When outputting the address contention signal, each device requiring address allocation determines whether the currently allocated address information is available according to whether the other devices requiring address allocation with address allocation flag information being that no address information is allocated already output address contention signals. When determining availability of currently allocated address information, the device requiring address allocation stores currently allocated address information, and modifies address allocation flag information to address information already allocated, thereby achieving address allocation for the devices.05-16-2013
20110314248STORING AND RETRIEVING BLOCKS OF DATA HAVING DIFFERENT DIMENSIONS IN/FROM BLOCK STORABE DEVICES - A method for storing and retrieving blocks of data having different dimensions is disclosed. The method can include receiving a first data segment to be stored in a block storage device where the first data segment has an address. The method can also include determining if the first data segment conforms to a standard dimension and sorting the first data segment according to the destination address if it does not have a standard dimension. The method can further include placing a non-standard data segment into a unfilled block allocation and placing a second non-standard data segment into the unfilled block allocation when the second data segment has the destination identifier. Other embodiments are also disclosed.12-22-2011
20110314247BROADCAST RECEIVING APPARATUS AND MEMORY MANAGING METHOD THEREOF - A broadcast receiving apparatus and memory managing method thereof are provided. The broadcast receiving apparatus includes a storage unit which includes a plurality of memory areas for each of a plurality of operating systems, a determination unit which periodically determines a retrievable memory area for each of the plurality of memory areas, and a controller which reallocates at least part of the retrievable memory area, if memory area reallocation is necessary.12-22-2011
20110314246HIERARCHICAL ALLOCATION FOR FILE SYSTEM STORAGE DEVICE - Aspects of the subject matter described herein relate to storage allocation. In aspects, a hierarchical data structure is used to track allocation data for storage managed by a file system. The hierarchical data structure may have multiple levels with each level having data regarding a different granularity of storage. Portions of the hierarchical data structure may be locked independently of other portions of the hierarchical data structure. The hierarchical data structure may indicate that one or more portions of storage are for exclusive use by a directory. Extra space may be reserved in allocated space in anticipation of subsequent operations. Allocation requestors may obtain storage allocation from regions associated with different levels of the hierarchical data structure.12-22-2011
20120023304FLOW CONTROL FOR RELIABLE MESSAGE PASSING - A message flow controller limits a process from passing a new message in a reliable message passing layer from a source node to at least one destination node while a total number of in-flight messages for the process meets a first level limit. The message flow controller limits the new message from passing from the source node to a particular destination node from among a plurality of destination nodes while a total number of in-flight messages to the particular destination node meets a second level limit. Responsive to the total number of in-flight messages to the particular destination node not meeting the second level limit, the message flow controller only sends a new packet from among at least one packet for the new message to the particular destination node while a total number of in-flight packets for the new message is less than a third level limit.01-26-2012
20130198482HIERARCHICAL MULTI-TENANCY SUPPORT FOR HOST ATTACHMENT CONFIGURATION THROUGH RESOURCE GROUPS - Exemplary method embodiments for hierarchy multi-tenancy support for configuration of a plurality of host attachment through a plurality of resource groups in a computing storage environment are provided. In one embodiment, multiple data storage subsystems are configured with multiple operators for configuration and management of multiple host attachments to multiple logical volumes. A logical operator is designated with the responsibility of designating authority to a host attachment operator and the ability to configure multiple logical volumes. Limited authority is provided for the host attachment operator to configure multiple volume groups and multiple host ports to a specific user.08-01-2013
20130198481USB Stick - A USB stick for connection to electronic devices that are provided with a USB interface, wherein the USB stick includes a memory. Suitable measures are used to allow the USB stick to be used in different electronic devices, with virtual USB sticks being set up on the memory of the USB stick and each virtual USB stick representing an independent USB stick for a device.08-01-2013
20130198478RESOURCES ALLOCATION IN A COMPUTER STORAGE SYSTEM - The presently disclosed subject matter includes a method, system and apparatus, for dynamically controlling resource allocation in a storage system, the storage system comprises at least one storage device and at least one processing unit, the resources being associated with the processing unit. Responsive to a request from a connection for processing data, information in respect of an Allocation state of the processing unit is obtained. The Allocation state is defined as a Limiting Allocation state if the quantity of free resources associated with the processing unit, is lower than a first threshold value. In case the Allocation state of the processing unit is Limiting Allocation state, information in respect of a Connection state of the connection is obtained. The required memory resources are dynamically allocated to the connection according to the current Allocation state of the processing unit and the current Connection state of the connection.08-01-2013
20130198479PARALLEL DYNAMIC MEMORY ALLOCATION USING A LOCK-FREE POP-ONLY FIFO - One embodiment of the present invention sets forth a technique for dynamically allocating memory using one or more lock-free pop-only FIFOs. One or more lock-free FIFOs are populated with FIFO nodes, where each FIFO node represents a memory allocation of a predetermined size. Each particular lock-free FIFO includes memory allocations of a single size. Different lock-free FIFOs may include memory allocations for different sizes to service allocation requests for different size memory allocations. A lock-free mechanism is used to pop FIFO nodes from the FIFO. The use of the lock-free FIFO allows multiple consumers to simultaneously attempt to pop the head FIFO node without first obtaining a lock to ensure exclusive access of the FIFO.08-01-2013
20120297160Surface Caching - Techniques for surface caching are described in which a cache for surfaces is provided to enable existing surfaces to be reused. Surfaces in the cache can be assigned to one of multiple surface lists used to service requests for surfaces. The multiple lists can include at least a main list and an auxiliary list configured to group existing surfaces according to corresponding surface constraints. When a surface is requested, the multiple lists can be searched to find an existing surface based on constraints including, for example, the type of surface and size requirements for the requested surface. If an existing surface is discovered, the existing surface can be returned to service the request. If a suitable surface is not found in the multiple lists, a new surface is created for the request and the new surface can be added to a corresponding one of the multiple surface lists.11-22-2012
20120066469VIRTUALIZED STORAGE SYSTEM AND METHOD OF OPERATING THEREOF - A storage system and method are provided including physical storage devices controlled by storage control devices constituting a storage control layer operatively coupled to the physical storage devices and hosts. The storage control layer includes: a first virtual layer interfacing with the hosts, operable to represent a logical address space characterized by logical block addresses, characterized by an Internal Virtual Address Space (IVAS) and operable, responsive to I/O requests addressed to logical block addresses, to provide protocol-dependent translation of said logical block addresses into IVAS addresses; and a second virtual layer interfacing with the physical storage space, and operable to represent available physical space to said hosts and characterized by a Physical Virtual Address Space (PVAS). Each address in PVAS having a corresponding address in IVAS. The second virtual layer is operable to translate PVAS addresses corresponding to IVAS addresses into addresses in physical address space in a protocol-independent manner.03-15-2012
20130205110Storage Device and Method for Selective Data Compression - A storage device and method for selective data compression are provided. In one embodiment, a storage device determines whether data stored in a storage area in the storage device's memory is suitable for compression. If the data is suitable for compression, the storage device compresses the data. The storage device then uses free memory space resulting from compressing the data for an internal storage device operation. Other embodiments are disclosed, and each of the embodiments can be used alone or together in combination.08-08-2013
20130205111VIRTUAL STORAGE DEVICE, CONTROLLER, AND COMPUTER-READABLE RECORDING MEDIUM HAVING STORED THEREIN A CONTROL PROGRAM - A virtual storage device including a releasable region decider that decides whether each of a plurality of management unit regions is a releasable region, being allocated a physical region and being a release candidate region, by referring to management data that associates allocation data representing a state of allocating a physical region to the management unit region and release candidate region data representing whether the management unit region is a release candidate region with each other; a determinator that determines whether the management unit region decided to be the releasable region by the releasable region decider is an all-zero region all data in which are zero; and a releaser that releases allocation of a physical region allocated to the management unit region determined to be the all-zero region by the determinator. This configuration makes it possible to efficiently use the storage region.08-08-2013
20130205112METHOD AND A DEVICE FOR CONTROLLING MEMORY ALLOCATION - The invention relates to allocating and releasing a memory organized to contain memory block groups each of which containing memory blocks. There is a first data entity (08-08-2013
20130205113METHOD OF ALLOCATING REFERENCED MEMORY PAGES FROM A FREE LIST - Memory pages that are allocated to a memory consumer and continue to be accessed by the memory consumer are included in a free list, so that they may be immediately allocated to another memory consumer as needed during the course of normal operation without preserving the original contents of the memory page. When a memory page in the free list is accessed to perform a read, a generation number associated with the memory page is compared with a stored copy. If the two match, the read is performed on the memory page. If the two do not match, the read is not performed on the memory page.08-08-2013
20130212350ABSTRACTING SCRATCH PAD MEMORIES AS DISTRIBUTED ARRAYS - In a computing system, memory may be managed by using a distributed array, which is a global set of local memory regions. A segment in the distributed array is allocated and is bound to a physical memory region. The segment is used by a workgroup in a dispatched data parallel kernel, wherein a workgroup includes one or more work items. When the distributed array is declared, parameters of the distributed array may be defined. The parameters may include an indication whether the distributed array is persistent (data written to the distributed array during one parallel dispatch is accessible by work items in a subsequent dispatch) or an indication whether the distributed array is shared (nested kernels may access the distributed array). The segment may be deallocated after it has been used.08-15-2013

Patent applications in class Memory configuring

Patent applications in all subclasses Memory configuring