Entries |
Document | Title | Date |
20080201548 | SYSTEM HAVING ONE OR MORE MEMORY DEVICES - A system having serially connected memory devices in a ring topology organization to realize high speed performance. The memory devices have dynamically configurable data widths such that the system can operate with up to a maximum common number of active data pads to maximize performance, or to operate with a single active data pad to minimize power consumption. Therefore the system can include a mix of memory devices having different data widths. The memory devices are dynamically configurable through the issuance of a single command propagated serially through all the memory devices from the memory controller in a broadcast operation. Robust operation of the system is ensured by implementing a data output inhibit algorithm, which prevents valid data from being provided to the memory controller when read output control signal is received out of its proper sequence. | 08-21-2008 |
20080229048 | Method and apparatus for chunk allocation in a thin provisioning storage system - Physical storage space in a storage system is not allocated to a segment of a targeted volume until the segment of the volume is first targeted for storing write data. When write data is received, the storage system determines whether the targeted volume is designated for storing a first data type that is accessed frequently by I/O operations or designated for storing a second data type that is accessed less frequently than the first data type. Physical storage space for storing the write data is allocated from a first logical partition of the physical storage designated for storing the first data type when the targeted volume is of the first data type and from a second logical partition of the physical storage designated for storing the second data type when the targeted volume is of the second data type. Allocation of frequently accessed data is controlled and performance bottlenecking avoided. | 09-18-2008 |
20080235481 | Managing memory in a system that includes a shared memory area and a private memory area - A method and apparatus for auto-tuning memory is provided. Memory on a computer system comprises at least one shared memory area and at least one private memory area. Addresses in the shared memory area are accessible to multiple processes. Addresses in the private memory area are dedicated to individual processes. Initially, a division in the amount of memory is established between the shared and private memory areas. Subsequently, a new division is determined. Consequently, memory from one memory area is “given” to the other memory area. In one approach, such sharing is achieved by causing the shared and private memory areas to be physically separate from each other both before and after a change in the division. The division of the amount of memory may be changed to a new division by deallocating memory from one of the memory areas and allocating that memory to the other of the memory areas. | 09-25-2008 |
20080263307 | INFORMATION PROCESSING APPARATUS AND METHOD, AND PROGRAM - Disclosed herein is an information processing apparatus, including: setting means for setting, a maximum transfer size; calculation means for subtracting a second data amount from a first data amount to calculate a third data amount; boundary determination means for determining whether this transfer will involve a page boundary being extended across; buffer boundary determination means for determining whether this transfer will involve a buffer size being exceeded; transfer size determination means for determining whether or not the third data amount is equal to or less than the maximum transfer size; and determination means for determining a data amount of data to be transferred within limits of the third data amount, based on a first determination made by the boundary determination means, a second determination made by the buffer boundary determination means, and a third determination made by the transfer size determination means. | 10-23-2008 |
20080276063 | DYNAMIC STACK ALLOCATING METHOD IN MULTI-THREADED OPERATING SYSTEMS - Provided is a method of dynamically reallocating a thread stack in a multi-threaded operating system, and more particularly, a method of dynamically allocating a thread stack of a multi-threaded operating system in an embedded system for wireless sensor nodes. The method includes the steps of: measuring sizes of data and non-data sections of a stack with respect to each thread; determining a new size of the non-data section of each stack based on the size of the data section of the stack measured with respect to each thread; and adjusting the size of the non-data section of each stack to the determined new size. According to the method, even without the source code analysis, an amount of memory spaces to be used can be reduced compared to that of a conventional static stack allocation method. | 11-06-2008 |
20080288738 | SYSTEMS AND METHODS OF DATA STORAGE MANAGEMENT, SUCH AS PRE-ALLOCATION OF STORAGE SPACE - A system and method for pre-allocating space on a storage medium is described. In some cases, the system receives two or more data items to be stored on a storage medium, pre-allocates a single, contiguous block of space on the medium, and stores the two or more data items within the single, contiguous block of space. | 11-20-2008 |
20080307187 | ARRANGEMENTS FOR MEMORY ALLOCATION - In one embodiment a method is disclosed for allocating memory for a processor unit in a group of processing units. The method can include receiving a memory allocation request where the request can indicate a number of binary segments to be stored. The method can determine if the number indicates a nonstandard allocation, and locate an unallocated memory address based on a multiple of the number if the number indicates a nonstandard allocation. The method can also include locating an unallocated memory address from a pool of memory addresses, where the pool of addresses includes the integer multiples of the binary segments and excludes addresses that are two times the number of binary segments such that the address can be utilized to determine the allocation. | 12-11-2008 |
20080307188 | Management of Guest OS Memory Compression In Virtualized Systems - The present invention provides a system and method for managing compression memory in a computer system. This system includes a hypervisor having means for identifying a operating system having a plurality of memory pages allocated, means for counting the number of a plurality of memory pages allocated, and means for counting a number of free space pages in the compressed memory. The hypervisor further includes means for determining if the number of free space pages is less than a predetermined threshold, and means for increasing the number of free space pages if less than a predetermined threshold. | 12-11-2008 |
20090019251 | DYNAMIC STORAGE POOLS WITH THIN PROVISIONING - A method for data storage, including configuring in a data storage system a volume storage pool as data storage resources available for allocation of volumes in the data storage system. The method also includes defining a threshold value for the volume storage pool. When the allocation of the volumes causes the threshold value to be crossed, the method includes performing an action for managing the volume storage pool. | 01-15-2009 |
20090024821 | Device for storing data and method for dividing space for data storing - A device for data storing with logically separated areas has a partition divided into logically separated blocks ( | 01-22-2009 |
20090031100 | MEMORY REALLOCATION IN A COMPUTING ENVIRONMENT - Systems and methods for reallocating memory in a computing environment are provided. The method comprises deallocating first memory space allocated to a first software application in a first execution context, in response to determining that a first page size associated with the first memory space allocation is inappropriate for said first software application within a second execution context; and reallocating second memory space to the first software application responsive to the second execution context, such that a second page size associated with the second memory space allocation is appropriate for the first software application in the second execution context. | 01-29-2009 |
20090037685 | FAIR MEMORY RESOURCE CONTROL FOR MAPPED MEMORY - A method system and computer program product for managing memory allocation among plural virtual application environments supported by a common operating system. The technique may include establishing a mapping between a virtual application environment (or processes therein) and a mapping proxy that is reachable via a reverse mapping pathway adapted to facilitate identification of virtual addresses associated with a memory page frame. The virtual application environment (or processes therein) may be identified as an allocation recipient of the memory page frame by traversing the reversing mapping pathway to the mapping proxy. The memory page frame may be reclaimed for allocation to another virtual application environment by invalidating data therein or transferring the data to a storage resource based upon memory usage by the identified virtual application environment. | 02-05-2009 |
20090055616 | MAINTAINING RESERVED FREE SPACE FOR SEGMENTED LOGICAL VOLUMES - A storage manager application implemented in a first computational device maintains a virtual logical volume having a plurality of segments created by the storage manager application, wherein space is reserved at the end of a physical volume corresponding to the virtual logical volume, and wherein the physical volume comprises a linear storage medium. A request is received to write data, at the first computational device, from a second computational device. The data is written to the reserved space, wherein the writing of the data causes new segments to be created in the reserved space. | 02-26-2009 |
20090055617 | Apparatus, System, and Method for Dynamically Allocating Main Memory Among A Plurality of Applications - A method is disclosed for dynamically allocating main memory among applications. The method includes maintaining a first list and a second list, each list having a plurality of pages, maintaining a cache memory module having a selected size, and resizing the selected size by adaptively selecting the first or second list and adding pages to the selected list to increase the selected size and subtracting pages from the selected list to decrease the selected size. | 02-26-2009 |
20090077340 | STORAGE AREA NETWORK (SAN) FORECASTING IN A HETEROGENEOUS ENVIRONMENT - The present invention provides an approach for SAN forecasting in a heterogeneous environment. Specifically, under the present invention capacity data on the heterogeneous environment is gathered. Capacity management techniques will then be used to analyze the SAN utilization, identify growth trends and patterns. Proactively, plans are made to account for these changes. Thereafter, a Capacity Planning Margin (CPM) will be applied to the forecast to reflect actual customer usage. The CPM adjusted forecasts will then be reviewed. Then, the SAN environment can be monitored by comparing actual vs. planned and return to adjust the forecast accordingly. | 03-19-2009 |
20090077341 | Method and System for Automated Memory Reallocating and Optimization Between Logical Partitions - A method and system for reallocating memory in a logically partitioned environment. The invention comprises a Performance Enhancement Program (PEP) and a Reallocation Program (RP). The PEP allows an administrator to designate several parameters and identify donor and recipient candidates. The RP compiles the performance data for the memory and calculates a composite parameter. For each memory block in the donor candidate pool, the RP compares the composite parameter to the donor load threshold to determine if the memory is a donor. For each memory block in the recipient candidate pool, the RP compares the composite parameter to the recipient load threshold to determine if the memory is a recipient. The RP calculates the recipient workload ratio and allocates the memory from the donors to the recipients. The RP monitors and update the workload statistics based on either a moving window or a discrete window sampling system. | 03-19-2009 |
20090089533 | Image Forming Apparatus and Computer-Readable Medium - Disclosed is an image forming apparatus including a communication section connected to a data processing apparatus through a communication line to perform image formation on the basis of data transmitted from the data processing apparatus through the communication section, the apparatus including: a plurality of storage sections each of which has a different free storage capacity and a different access speed; and a control section to obtain data size information of an XPS file from the XPS file including the data size information thereof in a head of a file data, frame, the XPS file being received from the data processing apparatus through the communication section, to select a storage section to store the XPS file from the plurality of storage sections on the basis of the data size information, and to allow the selected storage section to store the XPS file. | 04-02-2009 |
20090113162 | METHODS, SYSTEMS, AND DEVICES FOR MANAGEMENT OF A MEMORY SYSTEM - Methods, devices, and systems for a memory management system within an electronic device are disclosed, such as those wherein the memory management system is external to and compatible with the architecture of currently existing operating systems. One such memory management system may include a power savings manager configured to be invoked by a memory allocation manager. The power savings manager may also be configured to determine whether physical memory blocks should be active or inactive. Furthermore, the memory management system may include a driver configured to activate of deactivate a memory block in response to a system call from the power savings manager. | 04-30-2009 |
20090113163 | Method and apparatus for managing a memory for storing potentially configurable entries in a list - A method and apparatus for managing a memory for storing potentially configurable entries in a list, associated with a resource coupled to a central resource manager, is provided. A number of potentially configurable entries in the list are determined. A block of memory for storing data associated with each potentially configurable entry is allocated from the memory. If the block of memory is insufficient for storing the data, at least one extended block of memory is allocated from the memory, for storing the data. | 04-30-2009 |
20090125696 | METHOD FOR PROCESSING A FILE, STORAGE MEDIUM AND PROCESSING ARRANGEMENT - A method for processing a file, a storage medium, and a processing arrangement. The method includes processing a file, the file being stored in a plurality of memory clusters of a storage medium, a portion of the file being modified and stored in a modification memory cluster, and the modified initial clusters being replaced by the respective modification memory clusters. | 05-14-2009 |
20090125697 | METHOD AND APPARATUS FOR ALLOCATION OF BUFFER - Provided are a method and apparatus for allocating a storage space that is to be used by a plurality of modules sequentially processing data. The method includes acquiring first capacity information regarding the capacity of a storage space needed for data processing of a first module and second capacity information regarding the capacity of a storage space needed for data processing of a second module that processes data consecutively to the first module, and allocating a first storage space to be used by both the first module and the second module based on at least one of the first capacity information and the second capacity information. | 05-14-2009 |
20090125698 | MEMORY CONTROLLER INCLUDING A HARDWARE COMPRESSION AND DECOMPRESSION ENGINE FOR MANAGING SYSTEM MEMORY AND GRAPHICAL OPERATIONS - An integrated memory controller (IMC) which includes data compression and decompression engines for improved performance. The memory controller (IMC) of the present invention preferably sits on the main CPU bus or a high speed system peripheral bus such as the PCI bus and couples to system memory. The IMC preferably uses a lossless data compression and decompression scheme. Data transfers to and from the integrated memory controller of the present invention can thus be in either two formats, these being compressed or normal (non-compressed). The IMC also preferably includes microcode for specific decompression of particular data formats such as digital video and digital audio. Compressed data from system I/O peripherals such as the hard drive, floppy drive, or local area network (LAN) are decompressed in the IMC and stored into system memory or saved in the system memory in compressed format. Thus, data can be saved in either a normal or compressed format, retrieved from the system memory for CPU usage in a normal or compressed format, or transmitted and stored on a medium in a normal or compressed format. Internal memory mapping allows for format definition spaces which define the format of the data and the data type to be read or written. Software overrides may be placed in applications software in systems that desire to control data decompression at the software application level. The integrated data compression and decompression capabilities of the IMC remove system bottle-necks and increase performance. This allows lower cost systems due to smaller data storage requirements and reduced bandwidth requirements. This also increases system bandwidth and hence increases system performance. Thus the IMC of the present invention is a significant advance over the operation of current memory controllers. | 05-14-2009 |
20090138672 | Storage controller and storage controller control method - A storage controller of the present invention can input and output data even when the track size, which is the host management unit, is not consistent with the block size of the storage device. A boundary correction unit adds gap data corresponding to a gap size to data in a buffer memory so that the boundary of the track and boundary of the block inside the storage device match. A guarantee code is added to each logical block received from the host, and these guarantee code-appended blocks are stored in a cache memory. By providing a gap in the storage device every 116 extended logical blocks, the start position of the lead block of a track matches up with the start position of the logical blocks of the storage device. | 05-28-2009 |
20090144518 | SYSTEM AND METHOD FOR STORAGE MANAGEMENT - A system and method for monitoring the storage estate of an organization using an interactive website that is configured to produce and display a novel set of key performance indicators (KPIs) related to the storage estate, including KPIs related to data collected from at least one of storage area network data and network attached storage data. In one embodiment, the novel set of KPIs includes one or more of protection efficiency, application efficiency, and snapshot overhead, where protection efficiency is calculated as a ratio of logical addressable data storage volume to total physical volume of data storage for storage area network data of the organization, application efficiency is calculated as a fraction of disk storage allocated to end user devices that is actually used by the end user devices for storage area network data, and snapshot overhead is calculated as a ratio of a volume of storage allocated for replicated copies of data to allocated storage for network attached storage data. | 06-04-2009 |
20090157997 | USING IN-LEAF MULTIPLE TRIANGLE PACKING FOR KD-TREES SIZE REDUCTION - Embodiments of a binary layout and packing scheme are disclosed for storing kd-tree information. Information about triangles belonging to the tree leaf may be stored inside the leaf structure itself. Multiple triangles in a corresponding leaf may be stored in the leaf of the kd-tree structure. | 06-18-2009 |
20090157998 | Policy based storage appliance virtualization - An embodiment of the invention provides an apparatus and method for a policy-based storage appliance virtualization that identifies the storage space based on a desired storage management operation type. One example of a storage management operation type is the allocation of storage space from a storage appliance(s) to a host(s). The requested storage space amount to be allocated to a host is first specified in a management console. The management console checks one or more policies and compares the policies with the requested storage space amount and identity of the host, so that the management console identifies the storage space(s) that are available for allocation from a storage appliance(s) to the host. The management console may generate a candidate virtualized storage pool identification that identifies the storage space(s) that are available for allocation from the storage appliance(s) to the host. The server administrator then selects the storage space(s) to be allocated to the host. The policies may also be used as constraints to other storage management operation types besides the above-mentioned storage allocation to hosts. | 06-18-2009 |
20090187725 | Method and Data Processing System for Generating and Applying Patches to a Computer Program Code Concurrently with its Execution - A method and data processing system are disclosed for concurrently loading a plurality of new modules while code of a plurality of modules of an original (i.e., currently running) computer program is loaded and executed on a computer system. The method may comprise allocating a module TLS block for each thread within an initial computer program, wherein the allocated module TLS blocks are large enough to hold all module thread variables that are loaded or to be loaded. The method further may comprise providing constant offsets between module TLS block pointers corresponding to the module TLS blocks and the module thread variables for all of the threads. The disclosed method may be used to add modules to the original computer program and/or to apply a concurrent patch by replacing one or more of the plurality of original computer program modules. | 07-23-2009 |
20090193220 | MEMORY MANAGEMENT DEVICE APPLIED TO SHARED-MEMORY MULTIPROCESSOR - A plurality of processors are capable of parallel operation. A memory is shared by the plurality of processors. The memory has an allocated memory size indicating the size of an area allocated to an allocatable area in the memory at the request of one of the plurality of processors and a deallocated memory size indicating the size of a deallocated area in the allocated area. One of the plurality of processors compares the allocated memory size with the deallocated memory size, thereby determining whether the memory is reusable. | 07-30-2009 |
20090198944 | SEMICONDUCTOR MEMORY DEVICE - An adaptive semiconductor memory device is used for being inserted into a host for storage. The semiconductor memory device comprises a non-volatile memory and a switch. The switch can be a logical switch or a physical switch that controls the semiconductor memory device to be in compliance with either a first specification version or a second specification version of the semiconductor memory device. The second specification version in comparison with the first specification version is used for higher capacity applications. | 08-06-2009 |
20090198945 | System and Method For Configuring Storage Resources For Database Storage - A system and method for configuring storage resources for database storage are disclosed. A method may include mapping at least one first tablespace having a first block size to at least one first logical unit. The method may also include mapping the at least one first tablespace and the at least one first logical unit to a first cache having a size equal to the first block size. In addition, the method may include mapping at least one second tablespace having a second block size to at least one second logical unit. The method may further include mapping the at least one second tablespace and the at least one second logical unit to a second cache having a size equal to the second block size. | 08-06-2009 |
20090198946 | Computer system and garbage collection method of disk space - A processor of a management computer acquires the free disk space amount of a disk pool, acquires the invalid disk space amount from a plurality of host computers, determines a host computer to which the instruction for the physical disk space collection is issued on the basis of the invalid disk space amount, and judges that the free disk space amount is smaller than a predetermined threshold value before transmitting a GC control request to the determined host computer; another processor generates and transmits invalid disk space position information indicating the position of the invalid disk space in a virtual volume in cases where a host investigation request is received; and the other processor collects the physical disk space of a physical disk allocated to the storage disk space of the virtual volume in the disk pool. | 08-06-2009 |
20090216987 | METHOD AND APPARATUS FOR ALLOCATING HOST MEMORY FOR A MEMORY-LESS ADD-ON DEVICES - Methods and apparatus for allocating host memory for use by a host channel adapter (HCA) with insufficient on-board memory are disclosed. In one embodiment, a method includes determining when a host memory arrangement which has a host memory updates a system address map associated with the host memory, and obtaining control from a system basic-input-output-system (BIOS) associated with an operating system (OS) of the host memory arrangement when the system address map is updated. The method also includes allocating a first memory block in the host memory using an add-on device after obtaining control from the host memory arrangement. The system address map is updated by the add-on device to indicate that the first memory block has been allocated to the add-on device. Finally, the method includes returning the control to the system BIOS after updating the system address map. | 08-27-2009 |
20090216988 | LOW OVERHEAD MEMORY MANAGEMENT SYSTEM AND METHOD - A block of contiguous data storage locations of a memory is divided into pools of memory chunks. The memory chunks in same ones of the pools have equal chunk sizes. The memory chunks in different ones of the pools have different chunk sizes. In each of the pools, the memory chunks are addressable by respective chunk base physical addresses in a respective linear contiguous sequence that starts from a respective pool base physical address. The physical addresses of the memory chunks are translated into corresponding internal handles and vice versa, where each of the internal handles is smaller in size than its corresponding physical address. For each of the pools, an associated pool queue comprising respective ones of the internal handles to allocatable ones of the memory chunks in the pool is maintained. | 08-27-2009 |
20090216989 | Storage apparatus and storage area allocation method - A storage apparatus is provided with a storage area for storing data sent from a host computer, and a virtual/logical volume to which a dynamically variable storage area is allocated from within the storage area, the volume being provided to the host computer, and this storage apparatus is configured to include: a pool area generation unit for generating a plurality of pool areas composed from the storage area; a setting unit for setting, for each of the plurality of pool areas generated by the pool area generation unit, an allocation unit size for allocating a storage area from within the storage area provided by the pool area to the virtual/logical volume; a selecting unit for selecting, when data to be stored in the storage area is sent from the host computer, a pool area from among the plurality of pool areas having the allocation unit size set by the setting unit, in accordance with the size of the sent data; and an allocation unit for allocating a storage area from within the storage area provided by the pool area selected by the selecting unit to the virtual/logical volume. | 08-27-2009 |
20090240910 | Storage system, volume allocation method and management apparatus - This storage system includes a virtual storage selection unit for selecting a virtual storage unit to be allocated to a virtual server unit according to a virtual storage search policy table for searching the virtual storage unit based on a parameter input by a user when a command is issued for allocating the volume to the virtual server unit, a volume selection unit for selecting the type of volume to be allocated to the virtual storage unit allocated to the virtual server unit with the virtual storage allocation unit according to a volume type search policy table for searching the type of volume based on the parameter, and a volume allocation unit for creating the volume selected with the volume selection unit based on the parameter and allocating the created volume to the virtual storage unit allocated to the virtual server unit with the virtual storage allocation unit. | 09-24-2009 |
20090240911 | Information processing apparatus and informaiton processing method - An information processing apparatus and an information processing method capable of assigning, to an application, a volume having a performance required by the application while simplifying administration are proposed. A performance and a capacity of each first storage area respectively provided by each storage device as well as a performance and a capacity required for a volume respectively assigned to each application running on a host system are managed, and based on the performance and the capacity of each first storage area and the performance and the capacity required for the volume to be respectively assigned to each application, the volume having the performance and the capacity required by the application is assigned to the application, and when a plurality of the volumes are assigned to one of the applications, the volumes provided in the same storage device are preferentially assigned. | 09-24-2009 |
20090249019 | METHOD OF ALLOCATING PHYSICAL MEMORY IN SPECIFIED ADDRESS RANGE UNDER LINUX SYSTEM PLATFORM - A method of allocating a physical memory in a specified address range under a Linux system platform is applied in a testing process of a physical memory under a Linux operating system. In this method, according to a specified address range and a size of a memory to be allocated, a large amount of physical memories in the system are allocated in a specified address range, and then the information about the allocated memories is transmitted, so as to map, inspect, and release the memories, thereby effectively supporting the test for physical memories under the Linux operating system. | 10-01-2009 |
20090254731 | SYSTEM AND METHOD FOR MEMORY ALLOCATION IN EMBEDDED OR WIRELESS COMMUNICATION SYSTEMS - Systems and methods for an improved memory allocation service in embedded or wireless devices. Memory is allocated using a combination of container memory items and referencing memory items. | 10-08-2009 |
20090265526 | Memory Allocation and Access Method and Device Using the Same - A memory allocation method for a direct memory access controller (DMAC) in a limited-memory-size computer system includes the steps of allocating a memory space having continuous memory addresses to form a buffer of the DMAC; dividing the memory space successively into a plurality of first memory blocks and a second memory block, wherein the size of the second memory block is equal to a maximum frame size possibly accessed by the DMAC; and assigning the plurality of first memory blocks and the second memory block to a plurality of descriptors in order, wherein each of the plurality of descriptors is utilized for recording a memory address of a corresponding memory block as a pointers for the corresponding memory block. | 10-22-2009 |
20090276602 | MEMORY MANAGEMENT SYSTEM FOR REDUCING MEMORY FRAGMENTATION - A memory management system for a process formulated in the C/C++ language in a processing unit includes an allocator which processes memory blocks of predetermined size, for example 64 Kb. Large objects are defined as being objects having a size of between 256 and 64 Kb. For such objects, 64 Kb memory block is considered to be a memory region (“chunk”) able to accommodate several large objects of different sizes. When an object is no longer used by the process, the space freed can be returned to the operating system. Before this, this free space is merged with adjacent free spaces. To search for adjacent free spaces, the Bruijn sequence algorithm is used, applied to the bit field disposed in each predetermined memory region. | 11-05-2009 |
20090313451 | METHOD OF MEMORY MANAGEMENT FOR SERVER-SIDE SCRIPTING LANGUAGE RUNTIME SYSTEM - A method of operating a memory system includes allocating a portion of a memory unit in a computing system as a memory heap. The heap includes a metadata section and a plurality of segments, each segment having a segment size. The method also includes creating a free list array and class-size array in the metadata section, the class-size array being created such that each element of the size-class array is related a particular one of the plurality of segments and the free list array being created such that each element of the free list array is related to a particular size class, receiving a first memory allocation request for a first object, determining that the first object is a small object, assigning a class to the first object, identifying a first segment to place the first object in by examining the size-class array, subdividing the first segment into multiple portions, determining a first head portion of the first segment, the first head portion representing the first open portion of the segment and being determined by examining the free list array, allocating the first head portion for the first object, receiving a command indicating that a transaction is complete, and clearing the free list array and the size-class array upon receipt of the command. | 12-17-2009 |
20090319751 | STORAGE AREA DYNAMIC ASSIGNMENT METHOD - A storage system allocates a data storage area in response to an access request from a first computer if the capacity of a first physical storage device configuring a first logical storage area, provided to the first computer, is equal to or lower than a predetermined threshold. The storage system associates the first logical storage area with another physical storage device, which is different from the first physical storage device associated with a second logical storage area provided to the first computer and a second computer, and allocates a data storage area from the another physical storage device if the capacity of the first physical storage device associated with the first logical storage area exceeds the predetermined threshold. | 12-24-2009 |
20100017578 | Storing Compressed Data - A method of processing data for storage in a storage medium coupled to a processing unit adapted to access data stored in the storage medium as one or more pages of data, each page having a predetermined page size and a corresponding virtual memory address, the method comprising: obtaining a compressed data item including compressed data corresponding to a first memory page of uncompressed data; dividing the compressed data item into an initial part and a supplementary part, the initial part having an initial part size; determining respective second memory locations for the supplementary parts so as to reduce the number of sectors occupied by the supplementary parts; allocating the initial part together with an index data item at a first memory location associated with the first memory page, the index data item being indicative of a second memory location; allocating the supplementary part at the second memory location. | 01-21-2010 |
20100023724 | Network Based Virtualization Performance - The disclosed embodiments support improvements in network performance in networks such as storage area networks. This is particularly important in networks such as those implementing virtualization. These improvements, therefore, support improved mechanisms for performing processing in network devices such as switches, routers, or hosts. These improvements include various different mechanisms which may be used separately or in combination with one another. These mechanisms include methods and apparatus for processing traffic in an arbitrated loop, performing striping to support fairness and/or loop tenancy, performing configuration of network devices such as switches to enable virtualization to be performed closest to the storage device (e.g., disk), ascertaining a CPU efficiency that quantifies the impact of virtualization on a processor, and configuring or accessing a striped volume to account for metadata stored in each storage partition. | 01-28-2010 |
20100042801 | Apparatus and method for reallocation of memory in a mobile communication terminal - A mobile terminal includes an apparatus for reallocating memory. The apparatus is configured to determine whether an available memory capacity is less than a threshold value. The apparatus further generates a memory reallocation scenario based on a terminal usage history for each application if the available memory capacity is less than the threshold value. | 02-18-2010 |
20100058021 | Storage system and control method for the same - An externally-connected volume of a main storage is correlated to an AOU volume inside of an external storage. The AOU volume is allocated with a not-yet-used page in a pool in accordance with data writing. When a command is issued to the externally-connected volume for formatting or others, a first controller in the main storage converts the command into a format command or an area deallocation command with respect to the AOU volume in the external storage. As such, the external AOU volume is subjected to a write process in its entirety, thereby being able to prevent any unnecessary page allocation. With such a configuration, the storage system of the present invention can use pages in the pool with good efficiency. | 03-04-2010 |
20100070733 | SYSTEM AND METHOD OF ALLOCATING MEMORY LOCATIONS - In a particular embodiment, a controller is adapted to allocate each memory segment location of a plurality of memory segment locations of a storage media to store data blocks having a particular data block size. Each memory segment location includes one or more storage blocks of the particular data block size. The controller is adapted to write a data block to one or more selected storage blocks of a selected memory segment location based on a size of the data block and an allocated data block size associated with the selected memory segment location. | 03-18-2010 |
20100070734 | Resource Reclamation in Data Storage - Managing resource reclamation in data storage systems is provided. A volume deletion metadata recorder records metadata for one or more deleted volumes. A policy engine, responsive to a predetermined policy rule, applies the policy rule to the metadata. The policy engine initiates policy-controlled data storage space reclamation for the one or more deleted volumes. A volume reclaimer, responsive to the policy engine, reclaims data storage space from the one or more deleted volumes. A resource allocator allocates the data storage space to satisfy a minimum requirement for available zeroed extents that comprise a minimum requirement to satisfy needs of late allocated storage volumes. | 03-18-2010 |
20100077174 | Memory allocation to store broadcast information - Methods and systems for allocating memory of user terminals are disclosed. A user terminal may determine a weight for one or more categories, each category being associated with Internet information to be broadcast. The user terminal also may determine an available memory size of memory and may allocate memory to the one or more categories for storing the Internet information based on the weights and the available memory size. | 03-25-2010 |
20100082935 | COMPUTER SYSTEM AND CAPACITY MANAGEMENT METHOD OF COMPUTER SYSTEM - It is necessary to install a program called an agent in order to keep track of how much a file system on a computer uses a disk. On this account, loads might be applied to a server due to installation work or the agent program to increase primary costs. In addition, software inside a storage device determines and records a target block for data input/output and keeps track of capacity utilization, which might degrade the input/output performance of the storage device. A computer system is provided in which configuration information and operating information are acquired from a storage device, when data input/output is made from a computer to a logical unit, it is determined that the computer uses the logical unit to which input/output is made, and capacity used by the computer is computed. | 04-01-2010 |
20100095081 | EARLY DETECTION OF AN ACCESS TO DE-ALLOCATED MEMORY - Disclosed is a a method of detecting an access to de-allocated memory, comprising: creating a pool of fixed size memory blocks that are a non-zero integer multiple of a page size of a processor; receiving a request for an allocation of a block of memory; recording a set of allocation context information in a fixed size memory block; returning a pointer to an allocation of memory within said fixed size memory block; receiving a request to de-allocate said block of memory; recording a set of de-allocation context information in said fixed size memory block; and, setting an indicator in a page table entry associated with said fixed size memory block to a first value that indicates access to said fixed size memory block is not allowed. | 04-15-2010 |
20100095082 | INTERACTING WITH DATA IN HIDDEN STORAGE - Unused storage space within a data storage is utilized to store data while effectively making it appear to the operating system, other programs, and the user that the space is still available or unused. The space used to store the hidden data remains available for use by the operating system, other programs and uses upon a request. File system requests are monitored such that the hidden storage area remains hidden from unauthorized processes as well as to restrict operations within the hidden storage area that are attempted by unauthorized processes. | 04-15-2010 |
20100100699 | Method for Controlling Performance Aspects of a Data Storage and Access Routine - A method for improving the performance of a computerized data storage and access system includes the steps (a) providing a virtual representation of an existing data storage controller accessible to a computing system, (b) providing a configuration interface executable by an operator of the computing system, (c) using the configuration interface, reserving an amount available memory for dedicated use as a data cache and or additional storage space for storing data written to one or more disk drives representing data storage disks of the data storage and access system, (d) intercepting read and write requests to the data storage controller from the central processing unit of the computing system via the virtual representation of the controller, and (e) writing data into the reserved memory or serving data from the reserved memory in lieu of accessing a data storage disk represented by the one or more disk drives. | 04-22-2010 |
20100106933 | METHOD AND SYSTEM FOR MANAGING STORAGE CAPACITY IN A STORAGE NETWORK - A system for managing configuration of a storage network having multiple storage resources is disclosed. The system uses a storage management policy to set parameters for detecting storage resource problems in the storage network. The system monitors the storage resources in the storage network based on the storage management policy. Based on the monitoring, the system detects limited storage resource conditions, and identifies one or more potential solutions to the condition. After identifying potential solutions, the system simulates effects on the storage resources of implementing individual solutions. Based on the simulations, the system then implements one or more selected solutions. These solutions may be selected automatically or by a user. | 04-29-2010 |
20100115224 | MEMORY APPARATUSES WITH LOW SUPPLY VOLTAGES - Low supply voltage memory apparatuses are presented. In one embodiment, a memory apparatus comprises a memory and a memory controller. The memory controller includes a read controller. The read controller prevents a read operation to a memory location from being completed, for at least N clock cycles after a write operation to the memory location, where N is the number of clock cycles for the memory location to stabilize after the write operation. | 05-06-2010 |
20100138627 | EFFICIENT ALERT MECHANISM FOR OVERUTILIZATION OF STORAGE RESOURCES - Disclosed is a method of issuing volume level alerts to provide a warning that indicates overutilization of storage resources in a computer system. Volume level checking is performed without the necessity of checking all the volumes, but only upon the occurrence of certain changes so that the only the most problematic volumes are checked. Hence, only a small number of volumes must be checked and only in response to certain identified changes. The method is applicable to any criterion for overutilization of storage resources which satisfies basic persistency rules. The method is also applicable to assessing risk for the use of other resources, such as communication bandwidth, that are supplied by resource providers, or pools of providers, to users of bandwidth. The principles disclosed can be utilized to check resources on an asset by asset basis, using the free space ratio definition provided to assess risk of overutilization of resources. | 06-03-2010 |
20100138628 | SYSTEM 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. | 06-03-2010 |
20100138629 | STORAGE APPARATUS AND STORAGE AREA ALLOCATION METHOD - A storage apparatus is provided with a storage area for storing data sent from a host computer, and a virtual/logical volume to which a dynamically variable storage area is allocated from within the storage area, the volume being provided to the host computer, and this storage apparatus is configured to include: a pool area generation unit for generating a plurality of pool areas composed from the storage area; a setting unit for setting, for each of the plurality of pool areas generated by the pool area generation unit, an allocation unit size for allocating a storage area from within the storage area provided by the pool area to the virtual/logical volume; a selecting unit for selecting, when data to be stored in the storage area is sent from the host computer, a pool area from among the plurality of pool areas having the allocation unit size set by the setting unit, in accordance with the size of the sent data; and an allocation unit for allocating a storage area from within the storage area provided by the pool area selected by the selecting unit to the virtual/logical volume. | 06-03-2010 |
20100169605 | ARBITRARY PRECISION FLOATING NUMBER PROCESSING - Techniques for providing arbitrary precision floating number (APFN) processing are disclosed. In some aspects, an APFN store may be used to store a large number (i.e., an APFN) having many significant digits, which in turn may enable a high degree of precision in mathematical operations. An APFN module may be used to create and define the APFN store. The APFN module may enable a user to define a precision (significant digits) for the large number that corresponds to the size of an array of bytes in the APFN store that are allocated for storing the large number. In further aspects, the APFN store may be used to store additional intermediary data and a resultant. | 07-01-2010 |
20100185829 | EXTENT CONSOLIDATION AND STORAGE GROUP ALLOCATION - Data is added to a data set to cause a growth in size of the data set, wherein the data set belongs to a storage group, and wherein the data set is comprised of extents. The data set is included into a new storage group, in response to determining that the growth in the size of the data set has caused a predetermined threshold for a size limit of the storage group to be exceeded. The extents of the data set are restructured to satisfy a predetermined condition on the extents of the data set, in response to determining that the growth in the size of the data set has caused the predetermined condition on the extents included in the data set to be not satisfied. | 07-22-2010 |
20100199058 | Data Set Size Tracking and Management - Specified data sets may be tracked from creation to end-of-life (e.g., deletion). Between creation and end-of-life, data set storage changes may be recorded (i.e., when additional storage is allocated or when some storage is released). During a subsequent allocation cycle, this information may be used in conjunction with user-specified allocation rules to manage or control the data set's initial allocation. | 08-05-2010 |
20100199059 | MOBILE COMMUNICATION DEVICE AND METHOD FOR DEFRAGGING MIFARE MEMORY - A mobile communication device ( | 08-05-2010 |
20100205396 | FORMATTING DEVICE - A formatting device ( | 08-12-2010 |
20100217948 | Methods and systems for data storage - In one general aspect, various embodiments are directed to a method of writing a data block to a memory comprising receiving an electronic write request from an application. A content address of a first data block considering the value for the first data block. A mapping of the first data block to the content address may be written to a logical end of the local block map. The mapping may also be written to a remote block map. If the content address is not present at a local data storage, the value of the first data block may be written to the local data storage at a first location and metadata associating the content address with the first location may be written to the local data storage. | 08-26-2010 |
20100228941 | Configurable Cache and Method to Configure Same - In a particular embodiment, a cache is disclosed that includes a tag state array that includes a tag area addressable by a set index. The tag state array also includes a state area addressable by a state address, where the set index and the state address include at least one common bit. | 09-09-2010 |
20100250891 | METHOD AND SYSTEM FOR TRANSFORMATION OF LOGICAL DATA OBJECTS FOR STORAGE - There is provided a system capable of transformation of logical data objects for storage and method of operating thereof. The method comprises: a) identifying among a plurality of requests addressed to the storage device two or more “write” requests addressed to the same logical data object; b) deriving data chunks corresponding to identified “write” requests and transforming the derived data chunks; c) grouping the transformed data chunks in accordance with the order the requests have been received and in accordance with a predefined criteria; d) generating a grouped “write” request to the storage device; and e) providing mapping in a manner facilitating one-to-one relationship between the data in the obtained data chunks and the data to be read from the transformed logical object. The method further comprises obtaining an acknowledging response from the storage device; multiplying the obtained acknowledging response, and sending respective acknowledgements to each source which initiated respective “write” request. | 09-30-2010 |
20100287354 | VSAM SMART REORGANIZATION - Various embodiments for adaptive reorganization of a virtual storage access method (VSAM) data set are provided. In one exemplary embodiment, upon each control interval (CI) split of a plurality of CI splits occurring over a period of time, historical data including a key value for a record causing each CI split is recorded in a data repository. The historical data is analyzed with a predictive algorithm to determine an amount of free space to be allocated to each of a plurality of control intervals generated pursuant to the adaptive reorganization. The predictive algorithm allocates a greater percentage of the free space to a first location of the VVDS having a larger proportion of historically placed key values than a second location of the VVDS having a smaller proportion of the historically placed key values. | 11-11-2010 |
20100293354 | APPARATUS AND METHOD FOR MINIMIZING DATA STORAGE MEDIA FRAGMENTATION - A method of minimizing data storage medium fragmentation, wherein the method provides a data storage library comprising (N) data storage media, wherein (N) is greater than or equal to 1. The method establishes a threshold fragmentation index, and determines, for each value of (i), an actual fragmentation index for an (i)th data storage medium, wherein (i) is greater than or equal to 1 and less than or equal to (N). The method receives a data set from a host computer in communication with the data storage library, and writes the data set to an (i)th data storage medium based upon an (i)th actual fragmentation index. | 11-18-2010 |
20100318759 | DISTRIBUTED RDC CHUNK STORE - The claimed subject matter provides a system and/or a method that facilitates differential transfer and storage of data for network-based backup architectures. A differential compression component can segment a portion of backup information into one or more blocks. In addition, signatures can be generated for each of the one or more blocks. The differential compression component can identify unique blocks from the one or more blocks based upon the generated signatures and signatures of chunks stored in a distributed chunk store. Moreover, a storage component can transfer the unique blocks of the portion of backup information to the distributed chunk store once identified. | 12-16-2010 |
20100325382 | TRIANGULATED IRREGULAR NETWORK - Methods and other embodiments associated with performing an in-memory triangulation of a large data set are described. One example method for performing in-memory triangulation of a large data set includes partitioning a large geographical information data set into a set of stripes and generating, in-memory, a set of local triangulated irregular networks (TINs) corresponding to members of the set of stripes. Information associated with triangles associated with the set of local TINs are stored. | 12-23-2010 |
20100332785 | MEMORY MANAGEMENT SYSTEM AND METHOD THEREOF - A system for managing memory of an electronic device includes a storage unit, a calculation unit, a determination unit, and an allocation unit. The storage unit stores a dynamic allocation list. The calculation calculates a real time usage status of the memory and stores the real time usage status in the storage unit. The determination unit determines whether the electronic device is turned on for the first time. The allocation unit adjusts a partition of the memory according to the dynamic allocation list if the electronic device is not turned on for the first time. | 12-30-2010 |
20110010520 | Block-Based Non-Transparent Cache - In an embodiment, a non-transparent memory unit is provided which includes a non-transparent memory and a control circuit. The control circuit may manage the non-transparent memory as a set of non-transparent memory blocks. Software executing on one or more processors may request a non-transparent memory block in which to process data. The control circuit may allocate a first block, and may return an address (or other indication) of the allocated block so that the software can access the block. The control circuit may also provide automatic data movement between the non-transparent memory and a main memory system to which the non-transparent memory unit is coupled. For example, the automatic data movement may include filling data from the main memory system to the allocated block, or flushing the data in the allocated block to the main memory system after the processing of the allocated block is complete. | 01-13-2011 |
20110016287 | METHOD FOR IMPLEMENTING ON DEMAND CONFIGURATION CHANGES - A method for implementing on-demand configuration of a logical volume, wherein the method monitors the amount of available storage capacity of the logical storage volume and determines whether the available storage capacity exceeds a predetermined threshold, such as a percentage of available logical storage space. If the method determines that the storage capacity of the logical storage volume is nearing full capacity, the method determines whether configured physical storage space is available. If the method determines that configured physical storage space is available, the method then reconfigures the logical storage volume to include the configured physical storage space. If configured physical storage space is not available, the method locates unconfigured physical storage space, configures the available physical storage space, and reconfigures the logical volume using the configured physical storage space. | 01-20-2011 |
20110022815 | STORAGE ALLOCATION - Techniques for storage allocation of a data record are provided. The techniques include attempting to identify a first location for storing a data record, wherein the data record comprises one or more data record attributes, if the first location is identified, selecting the first location for storing the data record, and if the first location is not identified, identifying a second location for storing the data record using a cost penalty function and selecting the second location for storing the data record based on the cost penalty function. | 01-27-2011 |
20110040947 | Apparatus and Method for Memory Management and Efficient Data Processing - Multiple memory pools are defined in hardware for operating on data. At least one memory pool has a lower latency that the other memory pools. Hardware components operate directly on data in the lower latency memory pool. | 02-17-2011 |
20110040948 | Apparatus and Method for Efficient Memory Allocation - Incoming data frames are parsed by a hardware component. Headers are extracted and stored in a first location along with a pointer to the associated payload. Payloads are stored in a single, contiguous memory location. | 02-17-2011 |
20110047344 | STORAGE SYSTEM FOR A STORAGE POOL AND VIRTUAL VOLUMES - This invention provides a storage system to store data used by computers. A storage system coupled to a computer and a management apparatus, includes storage devices accessed by the computer and a control unit that controls the storage devices, in which the control unit performs the following operations: setting, in the storage devices, a first virtual device including a first logical device; setting a second virtual device which including a second logical device, which is a virtual volume accessed by the computer; allocating an address of the first logical device to the second logical device; and changing the allocation to change storage areas of the virtual volume. | 02-24-2011 |
20110060886 | Systems and Methods for Selecting Bit Per Cell Density of a Memory Cell Based on Data Typing - Various embodiments of the present invention provide systems and methods for selecting data encoding. As an example, some embodiments of the present invention provide methods that include receiving a data set to be written to a plurality of multi-bit memory cells that are each operable to hold at least two bits. In addition, the methods include determining a characteristic of the data set, and encoding the data set. The level of encoding is selected based at least in part on the characteristic of the data set. In some instances of the aforementioned embodiments, the characteristic of the data set indicates an expected frequency of access of the data set from the plurality of multi-bit memory cells. | 03-10-2011 |
20110060887 | APPARATUS, SYSTEM, AND METHOD FOR ALLOCATING STORAGE - An apparatus, system, and method are disclosed for allocating non-volatile storage. The storage device may present a logical address, which may exceed a physical storage capacity of the device. The storage device may allocate logical capacity in the logical address space. An allocation request may be allowed when there is sufficient unassigned and/or unallocated logical capacity to satisfy the request. Data may be stored on the non-volatile storage device by requesting physical storage capacity. A physical storage request, such as a storage request or physical storage reservation, when there is sufficient available physical storage capacity to satisfy the request. The device may maintain an index to associate logical identifiers (LIDs) in the logical address space with storage locations on the storage device. This index may be used to make logical capacity allocations and/or to manage physical storage space. | 03-10-2011 |
20110066823 | COMPUTER SYSTEM PERFORMING CAPACITY VIRTUALIZATION BASED ON THIN PROVISIONING TECHNOLOGY IN BOTH STORAGE SYSTEM AND SERVER COMPUTER - The management system identifies a server level virtual volume corresponding to a storage level pool on the basis of storage management information and server management information, and displays information relating to the correspondence between the storage level pool and the server level virtual volume. The storage management information represents correspondence between a storage level virtual volume to which a portion of an area is allocated from the storage level pool by thin provisioning technology at the storage level, and the storage level pool. The server management information represents correspondence between a server level virtual volume to which a portion of an area is allocated from the storage level virtual volume belonging to a server level pool by thin provisioning technology at the server level, and the storage level virtual volume. | 03-17-2011 |
20110082997 | VIRTUALIZED STORAGE SYSTEM AND METHOD OF OPERATING THEREOF - There are provided a storage system and a method of operating thereof. The method comprises: a) representing to a plurality of hosts an available logical address space divided into one or more logical groups (e.g. logical volumes, virtual partitions, snapshots, combinations of a given logical volume and its respective snapshot(s), etc.), and b) mapping between one or more contiguous ranges of addresses related to the logical address space and one or more contiguous ranges of addresses related to the physical address space, wherein said mapping is provided with the help of one or more mapping trees, each tree assigned to a separate logical group in the logical address space. Mapping between contiguous ranges of addresses related to the logical address space and contiguous ranges of addresses related to the physical address space can be a) mapping between LBA and DBA addresses; b) mapping between VUA and VDA addresses; c) mapping between LBA and VDA addresses; and d) mapping between VUA and DBA addresses, wherein virtual unit addresses (VUA) characterize a first virtual layer operable to represent the logical address space, and virtual disk addresses (VDA) characterize a second virtual layer operable to represent the physical storage space. | 04-07-2011 |
20110107052 | Virtual Disk Mapping - A storage area network can include a storage virtualization entity—intelligent storage application resource (iSAR)—either as a separate device in the fabric, or as an integrated module in one or more switches within the fabric. All I/O operations can be re-directed to iSAR for processing. iSAR can segment virtual storage and physical storage into units, where each unit of the virtual storage is mapped to a single unit in physical storage. Data associated with incoming I/O operation can be compressed before being stored in physical storage. iSAR includes overflow reserve storage at the block, sub-page and page level to accommodate changes in compressed data size on subsequent I/O operations. These measures can improve I/O performance and reduce fragmentation. iSAR can also employ deduplication of incoming data stored on physical storage to improve storage efficiency. | 05-05-2011 |
20110107053 | Allocating Storage Memory Based on Future Use Estimates - A method for allocating storage memory space is provided. The method involves receiving a request for storage memory allocation for a file of a current size; estimating a future size of the file, different than the current size of the file, based at least on a particular attribute associated with the file; and causing allocation of storage memory space for storage of the file based on the future size of the file. | 05-05-2011 |
20110119464 | DATA STORAGE SYSTEM COMPRISING A MAPPING BRIDGE FOR ALIGNING HOST BLOCK SIZE WITH PHYSICAL BLOCK SIZE OF A DATA STORAGE DEVICE - A data storage system is disclosed comprising a non-volatile memory and a first interface operable to receive a write command from a host, the write command comprising a host write data block having a host logical block size. A block mapping bridge divides the host write data block into a plurality of transfer data blocks, wherein each transfer data block having a device logical block size smaller than the host logical block size. The transfer data blocks are transmitted through a second interface to control circuitry that accumulates the transfer data blocks into a physical data block having a device physical block size equal to a first integer multiple of the device logical block size, wherein the host logical block size is a second integer multiple of the device physical block size. The physical data block is then written to the non-volatile memory. | 05-19-2011 |
20110119465 | DATA PROCESSING SYSTEM - The data processing system including: a memory block; a data-processing control block; a demultiplex-processing block; a multiplex-processing block; a decode-processing block; and an encode-processing block. In the system, the demultiplex-processing block, multiplex-processing block, decode-processing block, and encode-processing block each execute a process using memory regions in the memory block. During the execution, the data-processing control block changes a memory region to assign to the processing in response to a processing request based on results of processing which the block concerned executed in response to the preceding processing request. With the data processing system, a memory region can be used effectively even if a memory region size required for processing cannot be determined in advance. | 05-19-2011 |
20110131387 | MANAGING UNALLOCATED STORAGE SPACE USING EXTENTS AND BITMAPS - A computing device executing a file system maintains a search tree that includes extents for managing first regions of unallocated storage space and bitmaps for managing second regions of unallocated storage space. For each region of unallocated storage space, the file system determines whether to manage that region using an extent or a bitmap based on one or more space management criteria. | 06-02-2011 |
20110145536 | MEMORY LEAK DETECTION DURING DYNAMIC MEMORY ALLOCATION - A method to detect memory leaks during dynamic memory allocation comprises generating statistical information regarding allocated chunks in a memory heap during a dynamic memory allocation process, with the statistical information including same-sized chunk information related to the number of allocated chunks being identical in size. The statistical information is monitored to identify a potential memory leak based at least in part on the same-sized chunk information, in response to which an alert signal is generated. | 06-16-2011 |
20110145537 | Data Storage Management in Heterogeneous Memory Systems - A data storage management system is provided, which includes multiple storage entities with differing storage characteristics. A controller is communicatively coupled to each of the multiple storage entities. The controller is configured to associate one or more storage attributes of a received object with one or more of the different storage characteristics, and to store the received object in one or more of the multiple storage entities based on the association of the one or more of the storage attributes of the received object with the one or more of the different storage characteristics. | 06-16-2011 |
20110145538 | Storage region management method, storage region allocation method and program - A storage area management method for a data storage apparatus partitions an acquired storage area into storage areas with differing power-of-2 sizes and manages each of them. Also, a storage area allocation method receives an allocation request for a storage area that includes a requested allocation size, and acquires an available storage area whose size is the smallest power-of-2 size encompassing the requested allocation size, and obtains a binary expression of the requested allocation size, and in response to the received allocation request, allocates a contiguous storage area comprised of storage areas each of whose size is a power of 2 of a value of a bit position wherein a 1 is set in the binary expression. | 06-16-2011 |
20110145539 | Memory Allocation 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. | 06-16-2011 |
20110153977 | STORAGE SYSTEMS AND METHODS - Systems and methods for information storage replication are presented. In one embodiment a storage flow control method includes receiving a memory operation indication; performing a pre-reserve allocation process before proceeding with the memory operation, wherein the pre-reserve allocation process includes converting available unallocated memory space to allocated memory space if there is sufficient available unallocated memory space to perform the memory operation; executing the memory operation if the pre-reserve allocation process returns an indication there is sufficient memory space allocated to perform the memory operation; and aborting the memory operation if the pre-reserve allocation process returns an indication there is sufficient memory space allocated to perform the memory operation. In one embodiment, the memory operation is a write operation. The memory operation can be a write operation. | 06-23-2011 |
20110153978 | Predictive Page Allocation for Virtual Memory System - A virtual memory method for allocating physical memory space required by an application by tracking the page space used in each of a sequence of invocations by an application requesting memory space; keeping count of the number of said invocations; and determining the average page space used for each of said invocations from the count and previous average. Then, this average page space is recorded as a predicted allocation for the next invocation. This recorded average space is used for the next invocation. If there is any additional page space required by said next invocation, this additional page space may be accessed through any conventional default page space allocation. | 06-23-2011 |
20110167239 | METHODS AND APPARATUSES FOR USAGE BASED ALLOCATION BLOCK SIZE TUNING - Methods and apparatuses that maintain an access history of a file allocated with allocation blocks in storage devices are described. In response to receiving a usage request to allocate additional space for the file, an allocation block size may be adjusted or adapted based on the access history. The storage devices may be allocated with one or more allocation blocks using the adapted allocation block size to provide requested space for the file. | 07-07-2011 |
20110179247 | STORAGE SYSTEM AND UTILIZATION MANAGEMENT METHOD FOR STORAGE SYSTEM - A storage system | 07-21-2011 |
20110179248 | ADAPTIVE BANDWIDTH ALLOCATION FOR MEMORY - A device and methods are provided for adaptive bandwidth allocation for memory of a device are disclosed and claimed. In one embodiment, a method includes receiving, by a memory interface of the device, a memory access request from a first client of the memory interface, and detecting available bandwidth associated with a second client of the memory interface based on the received memory access request. The method may further include loading a counter, by the memory interface, for fulfilling the access request, wherein the counter is loaded to include bandwidth associated with the first client and the available bandwidth associated with the second client, and granting the memory access request for the first client based on bandwidth allocated for the counter. | 07-21-2011 |
20110191565 | EXTENT SIZE OPTIMIZATION - A method for automatically optimizing an allocation amount for a data set includes receiving an extend request, specifying an allocation amount, for a data set in a storage pool. The method increments a counter in response to receiving the extend request. In the event the counter has reached a threshold value, the method automatically increases the allocation amount of the extend request, such as by multiplying the allocation amount by a multiplier. In the event the allocation amount is larger than a largest free extent in the storage pool, the method automatically decreases the allocation amount of the extend request to correspond to the largest available free extent. Such a method reduces or eliminates the chance that an extend request will fail, and reduces overhead associated with extending and consolidating extents. A corresponding apparatus and computer program product are also disclosed herein. | 08-04-2011 |
20110197046 | STORAGE APPLICATION PERFORMANCE MATCHING - A method for matching storage application performance in a multiple tier storage system is disclosed. Input/output (I/O) activity in the multiple tier storage system is monitored to collect statistical information. The statistical information is recurrently transformed into an exponential moving average (EMA) of the I/O activity having a predefined smoothing factor. Data portions in the multiple tier storage system are sorted into buckets of varying temperatures corresponding to the EMA. At least one data migration plan is recurrently generated for matching the sorted data portions to at least one of an available plurality of storage device classes. One data portion sorted into a higher temperature bucket is matched with a higher performance storage device class of the available plurality of storage device classes than another data portion sorted into a lower temperature bucket. | 08-11-2011 |
20110231628 | SYSTEM FOR MEMORY INSTANTIATION AND MANAGEMENT - A system for memory instantiation in a programmable logic device (PLD) includes a computing device having a processor and memory coupled with the PLD. The processor is configured to receive memory parameters including at least a data width and a data depth. The processor is also configured to determine a number and sizes of block random access memory (BRAM) primitives required for data storage based on the memory parameters and based on one or more sizes of BRAM primitives available on the programmable logic device. In one example, the processor minimizes a size of the total number of BRAMs required for instantiation on the PLD. The processor is also configured to instantiate the determined number and corresponding sizes of the BRAM primitives in logic for configuration of the programmable logic device to include a device memory within the available BRAM primitives thereof corresponding to the determined number and sizes of the BRAM primitives. | 09-22-2011 |
20110238945 | APPARATUS AND METHOD FOR GENERATING CODE OVERLAY - Provided is an apparatus and method for generating code overlay capable of minimizing the number of memory copies. A static temporal relationship graph (STRG) is generated in which each of functions of a program corresponds to a node of the STRG and a conflict miss value corresponds to an edge of the STRG. The conflict miss value is the maximum number of possible conflict misses between functions. Overlay is generated by selecting at least one function from the STRG, calculating an allocation cost for each region of a memory to be given when the at least one selected function is allocated, and allocating the at least one selected function to a region that has the smallest allocation cost. | 09-29-2011 |
20110276776 | Addressing for Huge Direct-Mapped Object Systems - A method, computing system, and computer program product are provided for quickly and space-efficiently mapping an object's address to its home node in a computing system with a very large (possibly multi-petabyte) data set. The addresses of objects comprise three fields: a chunk number, a region sub-index within the chunk, and an offset within the region, with chunks being used to achieve good compromise between small lookup tables and reducing waste of usable virtual address space. | 11-10-2011 |
20110296133 | APPARATUS, SYSTEM, AND METHOD FOR CONDITIONAL AND ATOMIC STORAGE OPERATIONS - An apparatus, system, and method are disclosed for implementing conditional storage operations. Storage clients access and allocate portions of an address space of a non-volatile storage device. A conditional storage request is provided, which causes data to be stored to the non-volatile storage device on the condition that the address space of the device can satisfy the entire request. If only a portion of the request can be satisfied, the conditional storage request may be deferred or fail. An atomic storage request is provided, which may comprise one or more storage operations. The atomic storage request succeeds if all of the one or more storage operations are complete successfully. If one or more of the storage operations fails, the atomic storage request is invalidated, which may comprise deallocating logical identifiers of the request and/or invalidating data on the non-volatile storage device pertaining to the request. | 12-01-2011 |
20110302388 | Hierarchical Scalable Memory Allocator - Aspects of the subject matter described herein relate to memory management. In aspects, a hierarchical, customized memory allocator may be created that allocates memory to memory consumers. The memory allocator may use a data structure to classify blocks of memory at each level in the hierarchy according to fill factors of the blocks of memory. Allocations may be based on lifetime characteristics, proximity to consumer, fill factor, and other factors. An allocator may use one or more active blocks to allocate memory to consumers. The number of active blocks for an allocator may depend on contention. | 12-08-2011 |
20110302389 | MEMORY MANAGEMENT METHODS IN A COMPUTER SYSTEM WITH SHARED MEMORY MAPPINGS - A memory management sub-system includes code executable by a processor fir performing selecting a plurality of contexts, and selecting a sample of the separately allocable portions of an address space for each of the contexts. For each of the selected allocable portions, a corresponding portion of the host memory to which the selected allocable portion is mapped is determined, and a count corresponding to a number of separately allocable portions of any context that are commonly mapped to the corresponding portion of the host memory. For each context, a metric is computed that is a function of the counts for that context. Host memory is allocated among the contexts at least in part based on their respective metrics. | 12-08-2011 |
20120005448 | Demand-Based Memory Management of Non-pagable Data Storage - Management of a UNIX-style storage pools is enhanced by specially managing one or more memory management inodes associated with pinned and allocated pages of data storage by providing indirect access to the pinned and allocated pages by one or more user processes via a handle, while preventing direct access of the pinned and allocated pages by the user processes without use of the handles; scanning periodically hardware status bits in the inodes to determine which of the pinned and allocated pages have been recently accessed within a pre-determined period of time; requesting via a callback communication to each user process to determine which of the least-recently accessed pinned and allocated pages can be either deallocated or defragmented and compacted; and responsive to receiving one or more page indicators of pages unpinned by the user processes, compacting or deallocating one or more pages corresponding to the page indicators. | 01-05-2012 |
20120005449 | ON-ACCESS PREDICTIVE DATA ALLOCATION AND REALLOCATION SYSTEM AND METHOD - A method for predictively allocating space in a database system includes detecting an access request for a data set, evaluating a growth rate of the data set to determine a predicted increase in size of the data set, and in response dynamically altering an attribute of an allocation for the data set. Attributes altered include the size of volumes and the number of volumes comprising the data set. The method may include setting a flag indicating an instruction to rewrite the data set if the evaluation indicates that rewriting is needed to accommodate the predicted increase in size. The method may include rewriting the data set from a lower address space of a volume to a higher address space of the volume if the size of the data set is equal to or greater than an allocation increment of the upper address space. A corresponding apparatus and computer program product are also disclosed herein. | 01-05-2012 |
20120005450 | USER CONTROL OF FILE DATA AND METADATA BLOCKS - A method enables a user to control the allocation in a file system of file data and metadata blocks by determining ranges of unallocated contiguous blocks in the file system. The method allocates to the user a metadata storage range of contiguous blocks within one of ranges of unallocated contiguous blocks. The method further allocates to the user a data storage range of contiguous blocks within the range of unallocated contiguous blocks. The method may then allocate to the user ranges of contiguous blocks within the allocated data storage range for storage of respective files. | 01-05-2012 |
20120011339 | STORAGE CONTROL APPARATUS AND CONTROL METHOD FOR VIRTUAL LOGICAL VOLUME - A controller | 01-12-2012 |
20120011340 | Apparatus, System, and Method for a Virtual Storage Layer - A virtual storage layer (VSL) for a non-volatile storage device presents a large, logical address space having a logical capacity that may exceed the storage capacity of the non-volatile storage device. The VSL implements persistent storage operations within the logical address space; storage operations performed within the logical address space may be persisted on the non-volatile storage device. The VSL maintains storage metadata to allocate ranges of the logical address space to storage entities. The VSL provides for allocation of contiguous logical address ranges, which may be implemented by segmenting logical identifiers into a first portion referencing storage entities, and a second portion referencing storage entity offsets. The VSL persists data on the non-volatile storage device in a sequential, log-based format. Accordingly, storage clients, such as file systems, databases, and other applications, may delegate logical allocations, physical storage bindings, and/or crash-recovery to the VSL. | 01-12-2012 |
20120060012 | MANAGEMENT OF LOW-PAGING SPACE CONDITIONS IN AN OPERATING SYSTEM - A virtual memory management unit can implement various techniques for managing paging space. The virtual memory management unit can monitor a number of unallocated large sized pages and can determine when the number of unallocated large sized pages drops below a page threshold. Unallocated contiguous smaller-sized pages can be aggregated to obtain unallocated larger-sized pages, which can then be allocated to processes as required to improve efficiency of disk I/O operations. Allocated smaller-sized pages can also be reorganized to obtain the unallocated contiguous smaller-sized pages that can then be aggregated to yield the larger-sized pages. Furthermore, content can also be compressed before being written to the paging space to reduce the number of pages that are to be allocated to processes. This can enable efficient management of the paging space without terminating processes. | 03-08-2012 |
20120066470 | METHOD AND SYSTEM FOR ALLOCATING MEMORY TO A PIPELINE - A method, and associated system, for allocating memory to a first pipeline that includes a sequence of filters. Each filter is configured to execute a process specific to each filter, receive input data, and generate output data. The output data from each filter, except the last filter in the sequence, serves as the input data to the next filter in the sequence. An optimum memory capacity is allocated to the first pipeline if possible. Otherwise, a guaranteed memory bandwidth is allocated to the first pipeline if possible. Otherwise, extra memory currently allocated to a second pipeline is currently released if the second pipeline not currently performing processing or subsequently released when the second pipeline subsequently completes performing processing that is currently being performed, followed by allocating the extra memory to the first pipeline. | 03-15-2012 |
20120084531 | ADJUSTING MEMORY ALLOCATION OF A PARTITION USING COMPRESSED MEMORY PAGING STATISTICS - Acceptable memory allocation for a partition is determined during and with minimal impact on normal operation of the partitioned system. The approach includes: collecting, by a processor, statistics on a rate at which pages are transferred between uncompressed and compressed memory spaces of the partition's memory; adjusting size of the uncompressed memory space; and subsequent to the adjusting, continuing with collecting of the statistics, and referencing the resultant statistics in determining an acceptable memory allocation for the partition. In one implementation, the adjusting includes stepwise decreasing size of the uncompressed memory space by reallocating uncompressed memory space to compressed memory space, and repeating the collecting of statistics for a defined measurement period for each adjusted uncompressed memory space size until performance of the partition is negatively impacted by the reallocation of uncompressed memory space to compressed memory space. | 04-05-2012 |
20120089803 | CACHE INDEX COLORING FOR VIRTUAL-ADDRESS DYNAMIC ALLOCATORS - A method for managing a memory, including obtaining a number of indices and a cache line size of a cache memory, computing a cache page size by multiplying the number of indices by the cache line size, calculating a greatest common denominator (GCD) of the cache page size and a first size class, incrementing, in response to the GCD of the cache page size and the first size class exceeding the cache line size, the first size class to generate an updated first size class, calculating a GCD of the cache page size and the updated first size class, creating, in response to the GCD of the cache page size and the updated first size class being less than the cache line size, a first superblock in the memory including a first plurality of blocks of the updated first size class, and creating a second superblock in the memory. | 04-12-2012 |
20120089804 | VOLUME ALLOCATING METHOD FOR VIRTUAL COMPUTERS AND COMPUTER SYSTEM USING THE METHOD - Allocation of virtual disk volumes of a size designated by the computer manager to a virtual computer and accessibility from the virtual computer to the virtual disk volumes without requiring intervention by a hypervisor are to be achieved. In a computer, at least one virtual computer to be in execution on the computer, and a computer system in which the virtual computer has volumes for holding data, a virtualization mechanism has a virtual volume allocating unit and a virtual volume information supplying unit, and the virtual computer has a virtual volume driver for converting positional information on virtual volumes. Additionally, the virtualization mechanism holds the virtual volume information together with defining information for the virtual computer to which the virtual volumes have been allocated. | 04-12-2012 |
20120096235 | Allocation of Storage Space for Critical Data Sets - Described are embodiments of an invention for allocating storage space in a storage system for critical data sets. The computing environment includes at least one server including a processor and memory. The server is coupled to storage. The memory further includes a storage manager including an allocation module and an alert module. The storage manager defines a common area for storing non-critical data sets and critical data sets in the storage group. The storage manager also defines a critical reserve area for storing only critical data sets in the first storage group. A predefined percentage of available storage space is reserved for the critical reserve area. The predefined percentage of available space is determined by comparing the available storage space within the critical reserve area to the storage space in the storage group. Upon allocating additional storage to the storage group, the allocation module allocates an amount of the additional storage space to the critical reserve area such that the predefined percentage of available storage space is maintained in the critical reserve area. | 04-19-2012 |
20120096236 | USING AN ALIAS VOLUME NAME FOR A VOLUME TO ALLOCATE SPACE TO A DATA SET - Provided are a computer program product, system, and method for using an alias volume name for a volume to allocate space to a data set. An assignment of a plurality of volumes to a data set is maintained, wherein the volumes are configured in a storage system. A request is received to extend the data set. A determination is made as to whether one of the volumes previously assigned to the data set has an allocation amount of available space in the storage system in response to the request to extend the data set. An alias volume name is assigned to the data set for the previously assigned volume determined to have the allocation amount of available space, wherein the alias volume name provides an alternative name for the previously assigned volume. The allocation amount of available space is assigned to the data set for the alias volume name. | 04-19-2012 |
20120110294 | METHOD OF MEMORY MANAGEMENT FOR SERVER-SIDE SCRIPTING LANGUAGE RUNTIME SYSTEM - A method of memory management includes allocating a portion of a memory as a memory heap including a plurality of segments, each segment having a segment size; performing one or more memory allocations for objects in the memory heap; creating a free list array and class-size array in a metadata section of the memory heap, the class-size array being created such that each element of the size-class array is related a particular one of the plurality of segments and the free list array being created such that each element of the free list array is related to a different size class; and initializing the heap when it is determined that the heap may be destroyed, initializing including clearing the free list array. | 05-03-2012 |
20120124321 | COMPUTER SYSTEM AND CONTROL METHOD THEREFOR - A physical storage area that is allocated to an unused area of a virtual volume is removed. A management unit sends a request to a server computer to make every piece of data stored in a first logical volume migrate to a second logical volume. The server reads all the data out of the first logical volume and writes the data in the second logical volume. A storage system that includes the first logical volume and the second logical volume allocates a physical storage area to an area of the second logical volume where the data is to be written, and writes the data in the allocated physical storage area. The storage system then deletes the first logical volume. | 05-17-2012 |
20120131301 | ACCESS APPARATUS AND AVAILABLE STORAGE SPACE CALCULATION METHOD - A method used in an access module that uses a file system to manage a nonvolatile memory of an information recording module enables an available storage space to be calculated in a short time before file data is recorded, and shortens the time required from initialization of the file system to recording. An access module ( | 05-24-2012 |
20120131302 | CONTROL METHOD OF VIRTUAL VOLUMES AND STORAGE APPARATUS - Multiple types of storage devices which have different performance are appropriately allocated to multiple virtual volumes in accordance with the performance requirements of the respective virtual volumes. In cases where, among virtual volumes | 05-24-2012 |
20120131303 | Thin Provisioned Space Allocation - A storage monitoring system may reside between a file system and a storage system in a thin provisioned storage system. The storage monitoring system may create space holder files within a volume, where the space holder files contain an address space not backed up with physical storage. As requests for storage space are received from a file system, the storage monitoring system may allocate physical space to the volume by provisioning portions of the physical storage device to the volume and by removing one of the space holder files. The storage monitoring system may present alerts when physical storage space is low, as well as return an amount of physical space available to a volume size request. | 05-24-2012 |
20120137103 | AUTOMATED PAGING DEVICE MANAGEMENT IN A SHARED MEMORY PARTITION DATA PROCESSING SYSTEM - Automated paging device management is provided for a shared memory partition data processing system. The automated approach includes managing a paging storage pool defined within one or more storage devices for holding logical memory pages external to physical memory managed by a hypervisor of the processing system. The managing includes: responsive to creation of a logical partition within the processing system, automatically defining a logical volume in the paging storage pool for use as a paging device for the new logical partition, the automatically defining occurring absent use of a filesystem, with the resultant paging device being other than a file in a filesystem; and automatically specifying the logical volume as a paging space device for the new logical partition and binding the paging space device to the new logical partition, wherein the logical volume is sized to accommodate a defined maximum memory size of the new logical partition. | 05-31-2012 |
20120144149 | CAPACITY MANAGEMENT IN DEDUPLICATION STORAGE SYSTEMS - Various embodiments for capacity management in a deduplication computing storage environment by a processor device are provided. A deduplication storage capacity is estimated as a function of an expected deduplication ratio, the expected deduplication ratio being a combined average of a current deduplication ratio and a configured deduplication ratio, the current deduplication ratio depending on the data currently stored in the deduplication storage, and the configured deduplication ratio being an estimate made at a configuration stage of the deduplication computing storage environment. | 06-07-2012 |
20120144150 | DATA PROCESSING APPARATUS - A data processing apparatus may include a data acquisition unit, a plurality of buffer units including a storage capacity and an additional storage capacity, a valid data amount calculation unit that calculates an amount of valid data and outputs valid data information indicating whether or not the data is valid, and a data write control unit that controls writing of the data to one of the plurality of buffer units. The valid data amount calculation unit may determine the number of the units based on the calculated amount of valid data and the additional storage capacity. The data acquisition unit may acquire data included in the units, the number of which is determined by the valid data amount calculation unit. The data write control unit may control whether or not to write the data to one of the plurality of buffer units based on the valid data information. | 06-07-2012 |
20120151174 | COMPUTER SYSTEM, MANAGEMENT METHOD OF THE COMPUTER SYSTEM, AND PROGRAM - Provided is a pool capacity monitoring technique capable of appropriately predicting timing of pool capacity depletion even if there is a change in the external environment, such as an addition of a new application and a characteristic change in an existing application. In the present invention, consumption of each medium comprising a pool is predicted every time there is a change in the external environment, such as an addition of an application, to predict the capacity depletion timing of the pool, and the prediction of the capacity depletion period is recalculated. A predicted value of I/O consumption patterns of each application using a virtual volume is calculated for each medium from past consumption patterns stored in a storage. | 06-14-2012 |
20120151175 | MEMORY APPARATUS FOR COLLECTIVE VOLUME MEMORY AND METHOD FOR MANAGING METADATA THEREOF - Disclosed are a memory apparatus for a collective volume memory and a method for managing metadata thereof. The memory apparatus for a collective volume memory includes a CVM (Collective Volume Memory) command tool configured to provide a command tool for CVM operation and translate a command input by a user to control the CVM operation; and a CVM engine configured to perform at least one of CVM configuration and initialization, and CVM allocation and access according to data transmitted from the CVM command tool. | 06-14-2012 |
20120159112 | COMPUTER SYSTEM MANAGEMENT APPARATUS AND MANAGEMENT METHOD - The present invention makes it possible for different types of application programs to efficiently use a virtual volume created on a basis of a hierarchized pool. A configuration management part P | 06-21-2012 |
20120173839 | STORAGE AREA DYNAMIC ASSIGNMENT METHOD - A storage system allocates a data storage area in response to an access request from a first computer if the capacity of a first physical storage device configuring a first logical storage area, provided to the first computer, is equal to or lower than a predetermined threshold. The storage system associates the first logical storage area with another physical storage device, which is different from the first physical storage device associated with a second logical storage area provided to the first computer and a second computer, and allocates a data storage area from the another physical storage device if the capacity of the first physical storage device associated with the first logical storage area exceeds the predetermined threshold. | 07-05-2012 |
20120185665 | WIRELESSLY CONFIGURABLE MEMORY DEVICE - A configurable memory includes an interface section, a plurality of memory modules, and an internal configuration section. The interface section includes a millimeter wave (MMW) transceiver and interfaces with one or more external components. Each the plurality of memory modules includes a memory MMW transceiver and a plurality of memory cells. The internal configuration section includes a memory management unit and a memory management MMW transceiver. The memory management unit is operable to determine configuration of at least some of the plurality of memory modules to form a memory block, identify an interface MMW transceiver to provide a wireless link to the memory block, and generate a configuration signal based on the determined configuration and the identified interface MMW transceiver. The memory management MMW transmits the MMW configuration signal to the identified interface MMW transceiver and the MMW transceivers of the memory modules. | 07-19-2012 |
20120198199 | Virtual Storage Mirror Configuration in Virtual Host - A method and a system 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. | 08-02-2012 |
20120198200 | METHOD 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. | 08-02-2012 |
20120210092 | DYNAMIC STORAGE REGIONS - A method or system for determining storage location of an isolation region based on a data region sizing specified by a host device. In one implementation, the isolation region comprises a set of storage locations required for isolation of or more data region of the storage device. | 08-16-2012 |
20120233437 | HIERARCHICAL 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. | 09-13-2012 |
20120239901 | DYNAMIC MEASUREMENT AND ADAPTATION OF A COPYING GARBAGE COLLECTOR - An illustrative embodiment of a computer-implemented process for dynamic measurement and adaptation of a parallel copying garbage collector initializes values and data structures, receives an evacuate set, determines whether a new copy block is required and responsive to a determination that a new copy block is required, calculates a size of the new copy block. The computer-implemented process further selects a survivor region from a list of survivor regions to form a selected survivor region, places a lock on the selected survivor region, identifies a number of threads enqueued on the selected survivor region, responsive to a determination that a contention value exceeds a predetermined value, increases a size of the list of survivor regions, evacuates blocks to the selected survivor region and responsive to a determination that more evacuate blocks do not exist, terminates. | 09-20-2012 |
20120254579 | ALLOCATION STRATEGIES FOR DATA STORAGE APPLICATIONS - A physical storage volume can be partitioned into a plurality of master blocks of an equal master block size. Each master block of the plurality of master blocks can be allocated for storage of a single storage page size of a plurality of predefined storage page sizes provided for storage of data by a data storage application. A received page size can be determined for a storage page designated by the data storage application for storage on the physical storage volume, and the storage page can be stored in a free block of a master block of the plurality of master blocks having the single page size equivalent to the received page size. Related methods, systems, and articles of manufacture are also disclosed. | 10-04-2012 |
20120260058 | MEMORY MANAGEMENT APPARATUS, MEMORY MANAGEMENT METHOD, AND CONTROL PROGRAM - A memory manager secures memory areas according to requests from programs and sets ranks designated by the programs to the secured memory areas. The memory manager selects a memory area released on the basis of the rank of each memory area, from the secured memory areas, when an available capacity of a main storage device is insufficient. The memory manager releases the selected memory area and secures a new memory area. The present disclosure can be applied to an embedded apparatus. | 10-11-2012 |
20120265960 | ELECTRONIC DEVICE, ELECTRONIC TIMEPIECE, AND PROGRAM - A CPU measures time. A memory unit stores the values of the times measured by the CPU as data groups for each measuring of time, and stores the data groups in association with protection information showing whether the data groups are in a protection state or an unprotected state. An input switch receives an instruction as an input. The CPU sets protection information stored in the memory unit on the basis of the instruction received by the input switch. Further, the CPU deletes the data of data groups in an unprotected state from the memory unit, on the basis of the protection information stored in the memory unit, when there is no capacity for storing the measured time values in the memory unit. | 10-18-2012 |
20120265961 | STORAGE SYSTEM AND UTILIZATION MANAGEMENT METHOD FOR STORAGE SYSTEM - A storage system | 10-18-2012 |
20120272033 | System and Method for Managing Space Allocation within a File System - A chassis management controller includes a root file system, a shared memory, a daemon process module, and an interposer library. The root file system includes a plurality of directories associated with firmware applications of the chassis management controller. The daemon process module is configured to read the parameters of the directories, and to create, in the shared memory, a table including parameters of the directories. The interposer library is configured to intercept an input/output library call for an operation associated with one of the firmware applications, to read table entries associated the one or the firmware applications, to determine whether the operation associated with the input/output library call would result in an over-allocation of a parameter in the entries of the table, and if the operation would not result in the over-allocation, pass the output operation to a standard system library, otherwise to return an out of space error message. | 10-25-2012 |
20120272034 | METHOD AND DEVICE FOR STORING AND READING/WRITING COMPOSITE DOCUMENT - A method and device for storing and reading/writing composite document are disclosed. The method includes: an initial storing area is pre-allocated for an inner controlling stream of the composite document and the initial storing area is continuous sectors or sector clusters; the inner controlling stream is stored in the initial storing area. The patches of a user data stream and the inner controlling stream in the composite document are reduced using the method or device. Correspondingly, pre-allocating storing area makes the probability of continuously storing the user data stream and the inner controlling stream in the composite document increased. The I/O can be optimized by introducing a strategy of reading cache and writing in a batch size, which can improve the efficiency of reading and writing. | 10-25-2012 |
20120284483 | MANAGING ALLOCATION OF MEMORY PAGES - Allocation of pages of memory is managed in computing environments that include multiple sized memory pools. Responsive to a request for a page of memory, one or more memory pools are searched for an available frame of memory to service the request. The search uses a predefined order of search, which includes multiple types of memory pools in a specific order based on the requested size of the page of memory. | 11-08-2012 |
20120303927 | MEMORY ALLOCATION USING POWER-OF-TWO BLOCK SIZES - Methods and systems for managing memory allocation requests are disclosed. Generally, the methods and systems relate to splitting and combining twin buffers for allocating memory of appropriate sizes in response to memory requests. One method disclosed is a method of allocating storage space in a memory of a computing system. The method includes receiving a memory allocation request, the memory allocation request defining a requested memory size, and the memory logically segmented into a plurality of blocks. The method also includes determining whether a block having a best-fit size is available from a buffer pool, the buffer pool selected from among the one or more buffer pools and defining a set of available blocks of a common size. The method includes, upon determining that no block having the best-fit size is available in the buffer pool, locating an available block from a second buffer pool from among the one or more buffer pools, the available block having a size twice the best-fit size. The method further includes splitting the available block into a pair of blocks of the best-fit size, and allocating a first of the pair of best-fit size blocks in response to the memory allocation request. | 11-29-2012 |
20120311293 | DYNAMIC MEMORY CACHE SIZE ADJUSTMENT IN A MEMORY DEVICE - Methods for dynamic memory cache size adjustment, enabling dynamic memory cache size adjustment, memory devices, and memory systems are disclosed. One such method for dynamic memory cache size adjustment determines available memory space in a memory array and adjusts a size of a memory cache in the memory array responsive to the available memory space. | 12-06-2012 |
20120311294 | STORAGE DEVICE - A storage device includes: a temporary buffer for sequentially storing data configuring a file requested to be written for every reception from outside; a data writing means for immediately separating the data in the temporary buffer into mutually corresponding data portion and marker portion classified by preset criteria and storing into a data storing means in an associated state, and deleting from the temporary buffer; an unseparated data writing means for storing the data that cannot be separated into the data portion and the marker portion among the data in the temporary buffer, into an unseparated data storing means; and a re-separation processing means for separating the data in the unseparated data storing means into the data portion and the marker portion by preset criteria and storing into the data storing means with the data portion and the marker portion associated, and deleting from the unseparated data storing means. | 12-06-2012 |
20120324201 | Effectively limitless apparent free space on storage device - A primary physical storage device has effectively limitless apparent free space. Responsive to receiving a request to dynamically allocate an amount of desired free space on the primary device to store new data on the primary device, and responsive to determining that an amount of actual free space on the primary device is insufficient to permit such allocation, existing data stored on the primary device is moved to a secondary storage device. The first existing data appears to still be stored on the primary device. Responsive to receiving a request to retrieve existing data from the primary device, and to determining that the existing data has been moved to the secondary device, the existing data is moved back to the primary device. The existing data was originally stored on the primary device, and is currently stored on the primary device or has been moved to the secondary device. | 12-20-2012 |
20120331258 | STORAGE SYSTEM GROUP - There is a journal area and one or more logical volumes comprising a first logical volume. The journal area is a storage area in which is stored a journal data element, which is a data element that is stored in any storage area of a plurality of storage areas configuring a logical volume, or a data element that is written to the storage area. A controller has a size receiver that receives a write unit size, which is the size of a write data element received from a computer, and a size setting unit that sets the received write unit size in a memory for one or more logical volumes. The size of a journal data element stored in a journal area based on the set write unit size is the write unit size. | 12-27-2012 |
20130007403 | DEBUGGING A DYNAMIC MEMORY ALLOCATION USING HEURISTICS RELIABILITY SCORES - A computing system determines whether memory data pertaining to a block of dynamically allocated memory within an inferior process memory space satisfies one or more criteria in heuristics data. The computing system identifies a category to assign to the block of dynamically allocated memory based on the determination of whether the memory data satisfies the criteria and generates a reliability score for the block of dynamically allocated memory indicating a level of reliability of the identified category. The computing system categorizes the block of dynamically allocated memory based on a comparison of the reliability score and a previous reliability score of the block of the dynamically allocated memory. | 01-03-2013 |
20130007404 | USING HEURISTICS FOR FIELD TYPES OF A STRUCTURE TO CATEGORIZE DYNAMIC MEMORY ALLOCATIONS - A programming and debugging system determines a block of dynamically allocated memory in an inferior process memory space corresponds to a structure and casts the block of memory as an instance of the structure. The programming and debugging system determines a field type of a field in the instance of the structure and determines whether memory data pertaining to the block of dynamically allocated memory satisfies one or more criteria in heuristics data associated with the field type. The programming and debugging system categorizes the block of dynamically allocated memory based on the determination of whether the memory data satisfies the one or more criteria of the field type. | 01-03-2013 |
20130013883 | SYSTEMS AND METHODS FOR PERFORMING MULTI-PATH STORAGE OPERATIONS - Systems and methods for allocating transmission resources within a computer network are provided. In some embodiments of the invention, communication links may be assigned based on predefined preferences or system configuration to facilitate the transfer of data from one point in the network to another. In other embodiments, system operation may be monitored and communication paths be assigned dynamically based on this information to improve system operation and provide improved failover response, load balancing and to promote robust data access via alternative routes. | 01-10-2013 |
20130024643 | STORAGE APPARATUS AND DATA MANAGEMENT METHOD - To efficiently manage data including control information. | 01-24-2013 |
20130042085 | Group-By Size Result Estimation - A method and system for accurately estimating a result size of a Group-By operation in a relational database. The estimate utilizes the probability of union of the columns involved in the operation, as well as the relative cardinality of each column with respect to the other columns in the operation. In addition, the estimate incorporates the use of table filters when indicated such that table filters are applied prior to determining the size of the tables in the operation, as well as including equivalent columns into the list of columns that are a part of the Group-By operation. Accordingly, the estimate of the result size of the operation includes influencing factors that provide an accurate estimation of system memory requirements. | 02-14-2013 |
20130046951 | PARALLEL DYNAMIC MEMORY ALLOCATION USING A NESTED HIERARCHICAL HEAP - One embodiment of the present invention sets forth a technique for dynamically allocating memory using a nested hierarchical heap. A lock-free mechanism is used to access to a hierarchical heap data structure for allocating and deallocating memory from the heap. The heap is organized as a series of levels of fixed-size blocks, where all blocks at given level are the same size. At each lower level of the hierarchy, a collection of N blocks in the lower level equals the size of a single block at the level above. When a thread requests an allocation, one or more blocks at only one level are allocated to the thread. When threads are finished using an allocation, each thread deallocates the respective allocated blocks. When all of the blocks for a level have been deallocated, defragmentation is performed at that level. | 02-21-2013 |
20130067190 | MEMORY ALLOCATION METHOD, PROGRAM AND SYSTEM - A method for creating a buffer of a special class for accessing a specified memory space. The method includes the steps of: creating, by a processor of the computer system, a buffer of a special class, the buffer including a memory space that the processor is not permitted to access; and creating, by the processor, an accessible buffer of the class in access-permitted memory space by slicing off a portion of a created buffer of the class in response to a designation of the access-permitted memory space and size, where the processor includes: the special class for the buffer for accessing a memory space specified by an absolute address; and a function to create the class by slicing off the portion of the memory space specified by the class. | 03-14-2013 |
20130091337 | RUNTIME TYPE IDENTIFICATION OF NATIVE HEAP ALLOCATIONS - During compilation, a table mapping relative virtual address of a memory-allocating instruction of a native language program to a user type of the instance is created. During execution of the program, a module injected into the process intercepts calls to memory allocating functions and records the virtual address of the instruction calling the memory allocating function and the virtual address of the instance created. When a snapshot of the process heap is requested, the user type of the corresponding compile time instruction is assigned to the created instance. User type and heap information can he used to compute sizes of memory allocations and to aggregate user type instance counts and sizes. Using the static debugging information, a reference graph that displays the nesting of objects in live instances can be computed and displayed. | 04-11-2013 |
20130103918 | Adaptive Concentrating Data Transmission Heap Buffer and Method - An apparatus includes a data container unloading circuit which frees a container either by discarding the contents or transmitting the contents to its destination. A data container loading circuit receives a plurality of submittals of various sizes and selects an appropriately sized free container. If no free container has sufficient capacity the loading circuit blocks all loading until a container of sufficient size becomes available. A container tailor circuit checks for available free space in the buffer and transfers capacity among free containers to resize one to fit an incoming submittal. The mix of container sizes can be adapted over time to reflect the changing sizes of the traffic. | 04-25-2013 |
20130117525 | METHOD FOR IMPLEMENTING PRE-EMPTIVE READ RECONSTRUCTION - The present invention is directed to a method for pre-emptive read reconstruction. In the method(s) disclosed herein, when a pre-emptive read reconstruction timer times out, if one or more drive read operations for providing requested stripe read data are still pending; and if stripe read data corresponding to the pending drive read operations may be constructed (ex.—reconstructed) based on the stripe read data received before the expiration of the timer, the pending drive read operations are classified as stale, but the pending drive read operations are still allowed to complete rather than being aborted, thereby promoting efficiency of the data storage system in situations when the data storage system includes an abnormal disk drive (ex.—a disk drive which endures random cycles of low read performance). | 05-09-2013 |
20130117526 | SHARED TEMPORARY STORAGE MANAGEMENT IN A SHARED DISK DATABASE CLUSTER - System, method, computer program product embodiments and combinations and sub-combinations thereof for temporary storage management in a shared disk database cluster are provided. Included is the reserving of units on-demand and of variable size from shared temporary storage space in the SDC. The utilization of the reserved units of the shared temporary storage space is tracked, and the shared temporary storage space is administered based on the tracking. | 05-09-2013 |
20130117527 | METHOD AND APPARATUS FOR THIN PROVISIONING - Embodiments of the present invention provide a method and an apparatus for thin provisioning. The method includes: receiving a write IO instruction sent by a host; when the write IO instruction is not allocated a logical space and a pre-allocated space in an LUN is insufficient to be allocated to the write IO instruction, requesting a PVG for a first logical space having first allocation granularity, and in the first logical space, adopting second allocation granularity to allocate a second logical space to the write IO instruction, where the first allocation granularity is larger than the second allocation granularity; and sending the write IO instruction to the PVG, so that the PVG allocates a corresponding physical space to the write IO instruction according to the second logical space and preconfigured correspondence between logical spaces and physical spaces. In the embodiments of the present invention, the storage performance can be provided. | 05-09-2013 |
20130151808 | ALLOCATION DEVICE, ALLOCATION METHOD AND STORAGE DEVICE - An allocation device includes a memory which stores a program, and a processor which executes, based on the program, a procedure including determining an allocation of partial memory spaces to physical memory spaces included in each of N number of physical memory devices when number of the physical memory devices is changed, the physical memory space allocation determined based on one or more sets of N partial memory spaces, each partial memory space in a set of N partial memory spaces allocated to each of the N physical memory devices. | 06-13-2013 |
20130166873 | MANAGEMENT OF LOW-PAGING SPACE CONDITIONS IN AN OPERATING SYSTEM - A virtual memory management unit can implement various techniques for managing paging space. The virtual memory management unit can monitor a number of unallocated large sized pages and can determine when the number of unallocated large sized pages drops below a page threshold. Unallocated contiguous smaller-sized pages can be aggregated to obtain unallocated larger-sized pages, which can then be allocated to processes as required to improve efficiency of disk I/O operations. Allocated smaller-sized pages can also be reorganized to obtain the unallocated contiguous smaller-sized pages that can then be aggregated to yield the larger-sized pages. Furthermore, content can also be compressed before being written to the paging space to reduce the number of pages that are to be allocated to processes. This can enable efficient management of the paging space without terminating processes. | 06-27-2013 |
20130191608 | METHOD FOR NON-VOLATILE MEMORY REALLOCATION FOR INFORMATION STORAGE - A set-top box includes a non-volatile memory for storing application code images. To enable the memory to store an application code image larger than a designated storage area associated therewith, the application code image undergoes separation into primary and secondary parts. The memory undergoes reallocation to create a separate storage area for storing the secondary part of the received information, whereas, while the primary part of the received information gets stored in the designated storage area. | 07-25-2013 |
20130198483 | IMAGE READING APPARATUS - An image reading apparatus includes an image data compression unit, an attribute data compression unit, and a memory. Of image data and attribute data generated by image reading, the image data compression unit compresses the image data. The attribute data compression unit compresses the attribute data. In the memory, a page memory region for storing the image data compressed by the image data compression unit and the attribute data compressed by the attribute data compression unit is secured. And, one of the compressed image data and the compressed attribute data is successively written from the beginning of the page memory region toward the end thereof, while the other of the compressed image data and the compressed attribute data is successively written from the end of the page memory region toward the beginning thereof. | 08-01-2013 |
20130227241 | ELECTRONIC APPARATUS - An electronic apparatus includes a memory control part that carries out allocation and deallocation of a memory area in a memory space; a memory reorganization part that carries out a reorganization process of moving the memory area allocated by the memory control part and creating a contiguous free space in the memory space; and a reorganization control part that causes the reorganization part to carry out the reorganization process in a case where a first predetermined condition is met, and does not cause the reorganization part to carry out the reorganization process in a case where a second predetermined condition different from the first predetermined condition is met. | 08-29-2013 |
20130254512 | MEMORY MANAGEMENT METHOD AND INFORMATION PROCESSING DEVICE - According to one embodiment, a memory management method implemented by a computer includes managing each block of a memory region included in the computer based on a buddy allocation algorithm. The method includes managing a correspondence relation between a virtual address and a physical address of one block using one entry of a page table. Each block has a size of a super page. The method includes allocating an empty first block to a process so that the number of empty blocks does not exceed the number of empty entries of a translation look-aside buffer (TLB). | 09-26-2013 |
20130262811 | METHOD AND APPARATUS OF MEMORY MANAGEMENT BY STORAGE SYSTEM - Exemplary embodiments provide high-speed memory devices such as high-speed DRAM resources in a storage system for external computers. In accordance with an aspect of the invention, a computer system comprises: a computer which includes an internal memory and an external memory, the external memory being provided by a storage system coupled to the computer; and a controller operable to manage a virtual memory space provided by the internal memory and the external memory. The controller is operable to add a logical unit provided by the storage system, to the external memory included in the virtual memory space, based on a usage level of the virtual memory space. The controller is operable to release a logical unit provided by the storage system, from the external memory included in the virtual memory space, based on the usage level of the virtual memory space. | 10-03-2013 |
20130262812 | Hardware Managed Allocation and Deallocation Evaluation Circuit - A system and method is provided for improving efficiency, power, and bandwidth consumption in parallel processing. Rather than using memory polling to ensure that enough space is available in memory locations for, for example, write instructions, the techniques disclosed herein provide a system and method to automate this evaluation mechanism in environments such as data-parallel processing to efficiently check available space in memory locations before instructions such as write threads are allowed. These operations are handled efficiently in hardware, but are flexible enough to be implemented in all manner of programming models. | 10-03-2013 |
20130262813 | STORAGE CONTROL APPARATUS, STORAGE SYSTEM, AND STORAGE CONTROL METHOD - In a storage control apparatus, an acquiring unit acquires first information indicating the frequency of random access to a first logical region and second information indicating the data size of random access, based on the content of access from the information processing apparatus. A controlling unit determines the size of storage areas to be allocated to a second logical region based on the second information indicating the data size of random access when the first information, indicates that the frequency of random access is equal to or greater than a threshold value. The controlling unit creates the second logical region using a plurality of storage devices. The controlling unit controls access from the information processing apparatus such that the access is made to the second logical region instead of the first logical region. | 10-03-2013 |
20130275712 | TIERED 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. | 10-17-2013 |
20130290665 | STORING LARGE OBJECTS ON DISK AND NOT IN MAIN MEMORY OF AN IN-MEMORY DATABASE SYSTEM - A method, computer program product and system are provided. The method, computer program product and system execute a process for determining a size of an object, the object having raw data that is operable upon by one or more physical operators. If the object is smaller than a threshold size, the object is stored in main memory of an in-memory database system. If the object is equal to or larger than the threshold size, the object is stored in a persistency of a disk storage, where storing the object in a disk storage further includes generating a global container identifier (ID) for the object, the global container ID referencing raw data of the object stored in the persistency of the disk storage. | 10-31-2013 |
20130290666 | Demand-Based Memory Management of Non-pagable Data Storage - Management of a UNIX-style storage pools is enhanced by specially managing one or more memory management inodes associated with pinned and allocated pages of data storage by providing indirect access to the pinned and allocated pages by one or more user processes via a handle, while preventing direct access of the pinned and allocated pages by the user processes without use of the handles; scanning periodically hardware status bits in the inodes to determine which of the pinned and allocated pages have been recently accessed within a pre-determined period of time; requesting via a callback communication to each user process to determine which of the least-recently accessed pinned and allocated pages can be either deallocated or defragmented and compacted; and responsive to receiving one or more page indicators of pages unpinned by the user processes, compacting or deallocating one or more pages corresponding to the page indicators. | 10-31-2013 |
20130311745 | STORAGE OF SEQUENTIALLY SENSITIVE DATA - A contiguous digital media storage system and method is disclosed. In one embodiment, the contiguous digital media storage system comprises a storage server, mass storage device, allocator subsystem, and metadata subsystem. Other embodiments may include additional storage servers or mass storage devices as well as one or more client devices. The system and method may be used with third party file systems. Generally, sequentially sensitive information is identified and stored contiguously based on its position within a sequence which substantially increases throughput. This position may be determined from information provided by client devices, file characteristics, or other ways. The system and method may store uniform and variable sized files contiguously. | 11-21-2013 |
20130326187 | STORAGE APPARATUS AND STORAGE AREA ALLOCATION METHOD - A storage system, method and program product, the system comprising: storage devices; and a controller configured to: provide virtual volumes to a host computer; manage logical units on the storage device and storage pools; allocate, in response to receiving a write request to a virtual volume, a storage region of the storage pools; and store data related to the write request in the storage region allocated, wherein the controller is further configured to: allocate first storage region in first storage pool to first virtual volume based on first size of the first storage region or the first virtual volume; allocate a second storage region in a second storage pool to a second virtual volume of the plurality of virtual volumes based on a second size of the second storage region or the second virtual volume. | 12-05-2013 |
20130332693 | ALLOCATING STORAGE MEMORY BASED ON FUTURE FILE SIZE OR USE ESTIMATES - A method for allocating storage memory space is provided. The method involves receiving a request for storage memory allocation for a file of a current size; estimating a future size of the file, different than the current size of the file, based at least on a particular attribute associated with the file; and causing allocation of storage memory space for storage of the file based on the future size of the file. | 12-12-2013 |
20140019706 | SYSTEM AND METHOD OF LOGICAL OBJECT MANAGEMENT - A virtual allocation unit is allocated in a virtual address space corresponding to a filesystem, in response to an allocation requirement, related to a logical object in the filesystem. The size of the virtual allocation unit is determined in accordance with the current physical size of the logical object. The size of the virtual allocation unit is substantially larger than a size required with respect to the allocation requirement. Physical block address ranges are allocated in a physical storage space, in response to subsequent write requests, related to the logical object. Each physical block address range is associated with a respective portion of the virtual allocation unit. | 01-16-2014 |
20140019707 | Automatically Preventing Large Block Writes from Starving Small Block Writes in a Storage Device - A mechanism is provided in a storage device for performing a write operation. The mechanism configures a write buffer memory with a plurality of write buffer portions. Each write buffer portion is dedicated to a predetermined block size category within a plurality of block size categories. For each write operation from an initiator, the mechanism determines a block size category of the write operation. The mechanism performs each write operation by writing to a write buffer portion within the plurality of write buffer portions corresponding to the block size category of the write operation. | 01-16-2014 |
20140040590 | METHOD AND SYSTEM FOR MANAGING LARGE WRITE-ONCE TABLES IN SHADOW PAGE DATABASES - Methods and systems for managing large write-once tables are described. In some embodiments, a relational database management system includes a space allocation module that utilizes both a logical space allocation scheme, as well as a physical space allocation scheme, to allocate space in units (e.g., pages) having two different sizes—small pages and big pages. For instance, small pages are logically allocated with a conventional converter module, which manages a converter table for mapping logical pages to physical pages, while big pages are physically allocated with an object directory manager, which manages big objects comprised of big pages. | 02-06-2014 |
20140040591 | Garbage Collection Based on Functional Block Size - An execution environment for functional code may treat application segments as individual programs for memory management. A larger program of application may be segmented into functional blocks that receive an input and return a value, but operate without changing state of other memory objects. The program segments may have memory pages allocated to the segments by the operating system as other full programs, and may deallocate memory pages when the segments finish operating. Functional programming languages and imperative programming languages may define program segments explicitly or implicitly, and the program segments may be identified at compile time or runtime. | 02-06-2014 |
20140059319 | RESOURCE ALLOCATION APPARATUS AND METHOD, AND STORAGE MEDIUM - There is provided with a resource allocation apparatus. An attribute indicating a requirement for a data storage resource to be allocated to a plurality of data flows to which the attribute is provided beforehand is acquired. A data flow relationship graph indicating a relationship between the plurality of data flows which potentially lead to access contention in the data storage resource is generated. Based on the attribute and the data flow relationship graph, allocation of the data storage resource to the plurality of data flows is determined such that no access contention occurs. | 02-27-2014 |
20140082317 | DEFRAGMENTATION OF STORAGE CLASS MEMORY MANAGED IN EXTENTS - Embodiments relate to methods, systems and computer program products for defragmenting storage class memory by comparing a utilization rate of the storage class memory to a threshold value. If the utilization rate of the storage class memory is greater than the threshold value, the potentially wasted storage space is then compared to the combined storage capacity of the unclaimed extents of the storage class memory. If the potentially wasted storage space is greater than the combined storage capacity of the unclaimed extents of the storage class memory, a determination is made whether a defragmentation was recently performed. Based on determining that the defragmentation was not recently performed, or that it was recently performed and was productive, performing a defragmentation of the storage class memory. | 03-20-2014 |
20140082318 | Apparatus and Method for Sharing Resources between Storage Devices - A method for allocating resources of a storage system including at least a first and second group of storage devices. The method identifies a first set of resources to be reserved for use by the first group of storage devices, identifies a second set of resources to be reserved for use by the second group of storage devices, and identifies a third set of resources The method then allocates resources from the third set of resources to the first group of storage devices or the second group of storage device according to an allocation algorithm, and restricts use of the first set of resources to the first group of devices and use of the second set of resources to the second group of devices. | 03-20-2014 |
20140082319 | FAST, DYNAMIC CACHE PACKING - A method for storing information may include determining whether a received data object fits inside a particular one of a plurality of free blocks in a memory bitmap. Each of the plurality of free blocks may include a column of the memory bitmap with a top margin, a bottom margin, and a predetermined width. If the received data object fits, the received data object may be stored in the particular one of the plurality of free blocks, starting at the margin of the particular one of the plurality of free blocks. The particular one of the plurality of data blocks may be resized by moving the margin to start below or next to the stored received data object. The determining may include, for each of the plurality of free blocks, a height of the received data object may be compared with a height of each of the free data blocks. | 03-20-2014 |
20140089628 | DATA STORAGE SPACE RECOVERY SYSTEM AND METHOD - A process of determining explicitly free data space in computer data storage systems with implicitly allocated data space through the use of information provided by a hosting computer system with knowledge of what space allocated is currently being used at the time of a query, is provided. In one embodiment, a File System (“FS”) is asked to identify clusters no longer in use which is then mapped to physical disks as visible to an Operating System (“OS”). The physical disks are mapped to simulated/virtualized volumes presented by a storage subsystem. By using server information regarding the FS, for those pages that are no longer in use, point in time copy (“PITC”) pages are marked for future PITC and will not be coalesced forward, thereby saving significant storage. | 03-27-2014 |
20140108764 | METHOD AND COMPUTER SYSTEM FOR MEMORY MANAGEMENT ON VIRTUAL MACHINE - A memory management method for a virtual machine system is provided. First, a first threshold value is set by a processor. A balloon target is then set to an allocated virtual memory size and decremented by a first decrement value stepwise by the processor according to a swapin/refault detecting result in a first adjustment state. The swapin/refault detecting result is generated by detecting at least one swapin or refault events by the processor. The balloon target stops being decremented by the processor according to the swapin/refault detecting result in a cool-down state. The balloon target is decremented by a second decrement value stepwise by the processor in a second adjustment state which is after the cool-down state. The second decrement value is less than the first decrement value, and the balloon target is not less than the first threshold value. | 04-17-2014 |
20140108765 | METHOD AND COMPUTER SYSTEM FOR MEMORY MANAGEMENT ON VIRTUAL MACHINE SYSTEM - A method and a computer system for memory management on a virtual machine system are provided. The memory management method includes the following steps. First, a working set size of each of a plurality of virtual machines on the virtual machine system is obtained by at least one processor, wherein the working set size is an amount of memory required to run applications on each of the virtual machines. Then, an amount of storage memory is allocated to each of the virtual machines by the at least one processor according to the working set size of each of the virtual machines and at least one swapin or refault event, wherein the storage memory is a part of memory available from the computer system. | 04-17-2014 |
20140143516 | OUT-OF-MEMORY AVOIDANCE IN DYNAMIC VIRTUAL MACHINE MEMORY ADJUSTMENT - An unused free memory shortage relative to an adjusted heap maximum size associated with a memory heap of application memory is detected. The adjusted heap maximum size is set to a heap size smaller than a maximum heap allocation size. An increase to the adjusted heap maximum size that resolves the unused free memory shortage is calculated. The adjusted heap maximum size is increased by the calculated increase to the adjusted heap maximum size. | 05-22-2014 |
20140143517 | STORAGE SYSTEM - The present invention relates to executing data compression based on the used capacities of real pools. The present storage subsystem stores a definition information regarding conditions of starting data compression and ending data compression defined via usage rates of a real pool as physical area, wherein if the usage rate of the real pool satisfies the condition for starting compression, the compression processing is started, and if the usage rate satisfies the condition for ending compression, the compression processing is ended. | 05-22-2014 |
20140156964 | SEMICONDUCTOR STORAGE DEVICE AND BUFFER OPERATION METHOD THEREOF - A method of operating a semiconductor storage device is provided. A memory space of a buffer memory is allocated into a data area for storing user data and a map area for storing map data. The user data and the map data are read from a nonvolatile memory. A size of the user data to be stored in the data are compared with a size of the data area. The size of the data area and the size of the map area are adaptively varied according to the comparison result. | 06-05-2014 |
20140164730 | SYSTEM AND METHODS FOR MANAGING STORAGE SPACE ALLOCATION - A request for obtaining a space allocation descriptor is received by a block control layer of a storage system. The space allocation descriptor is indicative of one or more logical blocks free for allocation within a range of logical addresses. The range of logical addresses is included within a logical address space related to an upper layer application which has issued the request. The space allocation descriptor is provided by using a data structure included in the block control layer and operative to map between the logical address space and allocated storage blocks within a physical storage space, managed by the block control layer. | 06-12-2014 |
20140181455 | CATEGORY BASED SPACE ALLOCATION FOR MULTIPLE STORAGE DEVICES - The invention provides a technique for carrying out a request to store data. The technique includes the steps of receiving, from an application, the request to store data, and determining a storage functionality associated with the request. The storage functionality represents a particular storage function (e.g., RAID-5) that can be implemented using space available in one or more storage devices that are associated with the storage functionality. Identifications of the one or more storage devices, as well as a size of the data, are transmitted to a space allocator. In turn, the space allocator analyzes various aspects of the one or more storage devices (e.g., amount of free space therein) and allocates space within at least one of the one more storage devices according to the analysis. Information about the space allocations is then used to issue In/Out (I/O) commands that cause the storage functionality to be implemented. | 06-26-2014 |
20140189281 | METHODS AND APPARATUS FOR COMPRESSED AND COMPACTED VIRTUAL MEMORY - A method and an apparatus for a memory device including a dynamically updated portion of compressed memory for a virtual memory are described. The memory device can include an uncompressed portion of memory separate from the compressed portion of memory. The virtual memory may be capable of mapping a memory address to the compressed portion of memory. A memory region allocated in the uncompressed portion of memory can be compressed into the compressed portion of memory. As a result, the memory region can become available (e.g. after being compressed) for future allocation requested in the memory device. The compressed portion of memory may be updated to store the compressed memory region. The compressed memory region may be decompressed back to the uncompressed portion in the memory device in response to a request to access data in the compressed memory region. | 07-03-2014 |
20140189282 | STORAGE SYSTEM AND METHOD OF ADJUSTING SPARE MEMORY SPACE IN STORAGE SYSTEM - A method includes determining a size of a recommended spare memory space of each of one or more storage nodes based on a state of the storage nodes, and adjusting a spare memory space of each of the storage nodes based on the size of the recommended spare memory space. | 07-03-2014 |
20140195768 | EXPANDING MEMORY SIZE - A system, and computer usable program product for expanding memory size are 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. | 07-10-2014 |
20140195769 | MANAGEMENT OF STORAGE IN A STORAGE NETWORK - A storage block may include a first portion allocated for storage of network data associated with a storage network. The storage network may include the storage block and one or more other storage blocks. The storage block may further include a second portion allocated for storage of local data. The local data may be associated with one or more programs of a device that includes the storage block. Additionally, the storage block may include a third portion as free space of the storage block. The third portion may be maintained at approximately a target size through adjustments made to an amount of network data stored on the first portion. | 07-10-2014 |
20140208055 | OUT-OF-MEMORY AVOIDANCE IN DYNAMIC VIRTUAL MACHINE MEMORY ADJUSTMENT - An unused free memory shortage relative to an adjusted heap maximum size associated with a memory heap of application memory is detected. The adjusted heap maximum size is set to a heap size smaller than a maximum heap allocation size. An increase to the adjusted heap maximum size that resolves the unused free memory shortage is calculated. The adjusted heap maximum size is increased by the calculated increase to the adjusted heap maximum size. | 07-24-2014 |
20140208056 | INTERACTIVE ELECTRONIC TELEVISION PROGRAM GUIDE WITH DATABASE CONFIGURABILITY - An interactive television program guide system is provided in which an interactive television program guide is implemented on user television equipment containing a memory. The system allocates the memory among different categories of program guide data used by the program guide. When new channels are added to the channel line-up, the program guide adjusts its memory allocation accordingly. When it is desired to install a new non-program-guide application on the user television equipment in addition to the program guide, memory can be reallocated to accommodate the new application. | 07-24-2014 |
20140215177 | Methods and Systems for Managing Heterogeneous Memories - A system includes a processor and first and second memories coupled to the processor. The first and second memories have a hardware attribute, such as bandwidth, latency and/or power consumption, wherein a first value of the hardware attribute of the first memory is different from a second value of the hardware attribute of the second memory. The system further includes a memory management module configured to receive a memory allocation request. The memory management module is configured to allocate memory space in the first memory or the second memory in response to the memory allocation request based on the values of the hardware attribute of the first memory and the second memory. | 07-31-2014 |
20140223133 | ALLOCATING ADDITIONAL REQUESTED STORAGE SPACE FOR A DATA SET IN A FIRST MANAGED SPACE IN A SECOND MANAGED SPACE - Provided are a computer program product, system, and method for allocating additional requested storage space for a data set in a first managed space in a second managed space. A request for additional storage space is received for a requested data set stored in a first managed space in the storage. A revised amount of storage space for the requested data set comprises at least an amount of space currently allocated to the requested data set in the first managed space and the requested additional storage space. If the revised amount of storage space exceeds a value, then allocation is made of the revised amount of storage space in allocated storage space in a second managed space of the storage. The data set is stored in the allocated storage space in the second managed space. | 08-07-2014 |
20140223134 | METHOD, APPARATUS AND TERMINAL FOR RELEASING MEMORY - A method is provided for memory releasing. The method includes obtaining a first memory space value of a terminal system, where the first memory space represents a size of current idle memory space on the terminal system. The method also includes requesting a memory space whose size equals to a second memory space value from the terminal system, where the second memory space value is greater than the first memory space value. Further, the method includes releasing occupied memory after the terminal system receives a memory space request and detects that the second memory space value is greater than the first memory space value. The method includes confirming allocation of the memory space whose size equals to the second memory space value. The method includes releasing the memory space whose size equals to the second memory space value as the idle memory space after receiving allocation confirmation of the memory space of the terminal system. | 08-07-2014 |
20140244961 | MANAGING AND STORING ELECTRONIC MESSAGES DURING RECIPIENT UNAVAILABILITY - A method for managing storage space for electronic messages. A computer receiving a selected time period in which a user of a messaging program will not be able to access electronic messages through the messaging program. The computer estimating, by one or more computer processors, an amount of storage space required to store electronic messages received during the selected time period. The computer determining, by one or more computer processors, that an unused portion of storage space allocated to the user is less than the estimated storage space required. The computer notifying the user that the unused portion of storage space allocated to the user is less than the estimated storage space required. | 08-28-2014 |
20140244962 | Multi-Level Memory Compression - According to one embodiment of the present disclosure, an approach is provided in which a processor selects a page of data that is compressed by a first compression algorithm and stored in a memory block. The processor identifies a utilization amount of the compressed page of data and determines whether the utilization amount meets a utilization threshold. When the utilization amount fails to meet the utilization threshold, the processor uses a second compression algorithm to recompresses the page of data. | 08-28-2014 |
20140244963 | METHOD AND APPARATUS FOR ALLOCATING MEMORY FOR IMMUTABLE DATA ON A COMPUTING DEVICE - A system that allocates memory for immutable data on a computing device. The system allocates a memory region on the computing device to store immutable data for an executing application. 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. 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. | 08-28-2014 |
20140258670 | SYSTEM AND METHOD FOR EFFICIENT SWAP SPACE ALLOCATION IN A VIRTUALIZED ENVIRONMENT - A technique for efficient swap space management creates a swap reservation file using thick provisioning to accommodate a maximum amount of memory reclamation from a set of one or more associated virtual machines (VMs). A VM swap file is created for each VM using thin provisioning. When a new block is needed to accommodate page swaps to a given VM swap file, a block is removed from the swap reservation file and a block is added to the VM swap file, thereby maintaining a net zero difference in overall swap storage. The removed block and the added block may be the same storage block if a block move operation is supported by a file system implementing the swap reservation file and VM swap files. The technique also accommodates swap space management of resource pools. | 09-11-2014 |
20140258671 | Heuristic Journal Reservations - Example apparatus and methods reserve space in a journal using an observation based approach instead of a fixed sized approach or a worst case scenario approach. One example method receives a request to allocate space in a journal to support a file system transaction. The example method reserves an amount of space in the journal based on a pre-existing reservation size estimate. Unlike conventional systems, the estimate is not based on a worst-case scenario. The example method observes the actual amount of storage used in the journal by the file system transaction and then selectively automatically adjusts the pre-existing reservation size estimate. The estimate may slowly shrink if no overflows are encountered but may quickly grow if an overflow is detected. | 09-11-2014 |
20140258672 | DEMAND DETERMINATION FOR DATA BLOCKS - The positioning a block of data within a storage hierarchy. For the given block of data, demand statistics are accumulated for each of multiple time periods by evaluating input/output operations on the block of data during the time period and assigning a resulting demand value to the time period for that time period. This is done for multiple time periods so that the accumulated demand for a given point of time may be calculated using the assigned demand values for the previous time periods. The accumulated demand may then be used to determine a level in the storage hierarchy that the block of data should be placed. This allows for the more in-demand memory blocks to be placed in higher in the storage hierarchy. Thus, the principles described herein allow for efficient use of computing resources. | 09-11-2014 |
20140281340 | MULTIDIMENSIONAL RESOURCE MANAGER/ALLOCATOR - An apparatus and method for multidimensional resource allocation and management are provided. The method includes receiving a request for allocation of a block of a multidimensional memory resource, selecting a grid for tracking spaces of the multidimensional memory resource according to the allocation request, determining whether a block of the multidimensional memory resource corresponding to the request for the allocation of the block of the multidimensional memory resource is unallocated, and allocating the unallocated block of the multidimensional memory resource. | 09-18-2014 |
20140281341 | MULTIPLE, PER SENSOR CONFIGURABLE FIFOS IN A SINGLE STATIC RANDOM ACCESS MEMORY (SRAM) STRUCTURE - A device includes one or more sensors, one or more processors, one or more sensors, and a memory. The memory has a first portion, a second portion, and a third portion. The first portion is allocated to storing instructions for execution by the one or more processors. The second portion is allocated to storing data generated by the one or more processor, and the third portion is allocated to storing data from the one or more sensors. The third portion being a first-in-first-out (FIFO) having one or more FIFO portions, The device further includes a control logic operable to allocate the first, second and third portions of the memory, wherein each of one or more FIFO portions is allocated to each of the one or more sensors. The size each of the FIFO portions depends on the bandwidth of the sensors and the number of sensors. | 09-18-2014 |
20140281342 | MIGRATING AND RETRIEVING QUEUED DATA IN BYTE-ADDRESSABLE STORAGE - In an exemplary embodiment of this disclosure, a computer-implemented method may include storing in a primary storage a plurality of list entries belonging to an ordered list. Free space in the primary storage may be monitored to determine whether a first predetermined condition related to the free space is met. In a secondary storage, a storage block of a predetermined size may be allocated for migration, when the first predetermined condition is met. A cursor may be provided pointing to a first list entry in the primary storage. One or more list entries may be selected at the cursor. The selected list entries may be migrated to the storage block while maintaining their order in the list. | 09-18-2014 |
20140281343 | INFORMATION PROCESSING APPARATUS, PROGRAM, AND MEMORY AREA ALLOCATION METHOD - A processing apparatus includes a plurality of memories and a plurality of processors coupled to the plurality of memories and configured to determine, in accordance with a demand for allocation of a memory area of a first size to store first data used by an operating system, whether or not a memory area of a third size may be secured for each of the plurality of memories, the third size being obtained by adding the memory area of the first size and a memory area of a second size to store data used by an application program, and to store the first data in a first memory among the plurality of memories in a case where the first memory is determined to be capable of securing the memory area of the third size. | 09-18-2014 |
20140281344 | DATA PROCESSING SYSTEM AND METHOD OF OPERATING THE SAME - A method of operating a data processing system includes compressing a first part of uncompressed data, and determining whether to compress a second part of the uncompressed data based on an expected data size of the compressed first part and an actual data size of the compressed first part. The method further includes transmitting one of first transmission data and second transmission data to an external memory device based on a result of the determining. The first transmission data includes the compressed first and second parts, and the second transmission data includes the first and second parts of the uncompressed data. | 09-18-2014 |
20140281345 | Distributed Storage Allocation for Heterogeneous Systems - Allocation of storage budget in a computer-based distributed storage system is described, where associated computer-based storage nodes have heterogeneous access probabilities. The problem is to allocate a given storage budget across the available computer-based nodes so as to store a unit-size data object (e.g. file) with a higher reliability (e.g. increased probability for the storage budget to be recovered). Efficient algorithms for optimizing over one or more classes of allocations are presented. A basic one-level symmetric allocation is presented, where the storage budget is spread evenly over an appropriately chosen subset of nodes. Furthermore, a two-level symmetric allocation is presented, where the budget is divided into two parts, each spread evenly over a different subset of computer-based storage nodes, such that the amount allocated to each node in the first subset is twice that of the second subset. Further expansion of the two-level symmetric allocation is provided with a three-level and a generic k-level symmetric allocation. | 09-18-2014 |
20140289493 | CONTROL DEVICE, STORAGE DEVICE, AND COMPUTER-READABLE RECORDING MEDIUM HAVING STORED THEREIN CONTROL PROGRAM - A control device including a processor. The processor configured to allocate a data area of a memory device to a plurality of memory areas of data blocks of a first size; allocate identical data blocks of the first size to a plurality of the data areas of the memory device; manage management information indicating a data storing state of the plurality of memory areas of data blocks of the first size in each data area; determine, based on the management information regarding a plurality of data areas allocated with respect to a data block to be written, one data area from the plurality of data areas; and generate write data of a second size, which is different from the first size, including data of the data block to be written and write the write data in the one data area. | 09-25-2014 |
20140297989 | INFORMATION PROCESSING APPARATUS AND MEMORY CONTROL METHOD - An information processing apparatus comprises a plurality of processor elements, and a memory having a plurality of banks. Statistical information representing an access frequency distribution to each memory area of the memory by the plurality of processor elements is obtained. An allocation process of allocating the banks to the memory areas is performed based on the statistical information. | 10-02-2014 |
20140310498 | ORGANIZATION OF A SMALL OBJECT AREA AND A LARGE OBJECT AREA IN A JAVA HEAP - A memory heap is allocated to a contiguous range of memory. One end of the heap is designated as a small object area. The other end of the heap is designated as a large object area. When the two object areas grow, the small object area grows inward within the heap toward the large object area, and the large object area grows inward within the heap toward the small object area. | 10-16-2014 |
20140331022 | SERVICE ASSOCIATED WITH PERSISTENT STORAGE - Examples are disclosed for allocating a block of persistent storage or accessing a block of persistent storage based on a storage service string that includes a universally unique identifier and associated metadata. | 11-06-2014 |
20140351549 | OFF-HEAP DIRECT-MEMORY DATA STORES, METHODS OF CREATING AND/OR MANAGING OFF-HEAP DIRECT-MEMORY DATA STORES, AND/OR SYSTEMS INCLUDING OFF-HEAP DIRECT-MEMORY DATA STORE - Certain example embodiments relate to a highly-concurrent, predictable, fast, self-managed, in-process space for storing data that is hidden away from the garbage collector and its related pauses. More particularly, certain example embodiments relate to improved memory management techniques for computer systems that leverage an off-heap direct-memory data store that is massively scalable and highly efficient. The off-heap store may be provided in connection with a Java-based environment, and garbage collection may be completely or nearly completely avoided for the off-heap store. The off-heap store may be integrated into a tiered storage solution in certain example embodiments. | 11-27-2014 |
20140359248 | MEMORY ALLOCATION IMPROVEMENTS - In one embodiment, a memory allocator of a memory manager can service memory allocation requests within a specific size-range from a section of pre-reserved virtual memory. The pre-reserved virtual memory allows allocation requests within a specific size range to be allocated in the pre-reserved region, such that the virtual memory address of a memory allocation serviced from the pre-reserved region can indicate elements of metadata associated with the allocations that would otherwise contribute to overhead for the allocation. | 12-04-2014 |
20140380016 | INFORMATION PROCESSING APPARATUS, CONTROL METHOD THEREOF, AND PROGRAM - An information processing apparatus of this invention calculates amounts of generated heat of respective areas of a plurality of areas of a SOC die when one or more function blocks required to execute an accepted job are operated, and preferentially allocates a memory area of a WideIO memory device stacked on a corresponding area to the function blocks to be operated in accordance with an order of areas corresponding to smaller calculated amounts of generated heat. | 12-25-2014 |
20140380017 | MEMORY MANAGEMENT AND METHOD FOR ALLOCATION USING FREE-LIST - A method of managing a memory of an apparatus includes maintaining a plurality of lists of identifiers that each has an associated size value, wherein each identifier identifies a corresponding region of the memory that had been allocated for a process but that is currently not required by any of the one or more processes. When a process requests allocation of a region of the memory: one of the lists is identified that has an associated size value suitable for the allocation request; and if that list is not empty, a region of the memory is identified to the process by one of the identifiers that identifier is removed from that list, and, otherwise, a region of the memory is allocated with a size of the identified associated size value and the allocated region of the memory is identified the process. | 12-25-2014 |
20150012719 | DATA STORE AND METHOD OF ALLOCATING DATA TO THE DATA STORE - A data store has a data array for storing data values and a tag array for storing tag values for tracking which data values are stored in the data array. The associativity of the data array is greater than the associativity of the tag array. This means that fewer tag entries need to be accessed on each data access than in a conventional data store, reducing power consumption. | 01-08-2015 |
20150012720 | MEMORY MANAGING APPARATUS AND IMAGE PROCESSING APPARATUS - The memory area managing unit | 01-08-2015 |
20150019833 | HIERARCHICAL CONTENT DEFINED SEGMENTATION OF DATA - A method, system, and computer program product for segmenting data into variable size blocks based on content defined positions. Segmenting probabilities and associated segmenting conditions are defined. The segmenting conditions are ordered in accordance with the associated segmenting probabilities to form a hierarchy of the segmenting conditions. A segmenting condition associated with a highest segmenting probability is defined to be a lowest level segmenting condition in the hierarchy of the segmenting conditions. The segmenting condition associated with a lowest segmenting probability is defined to be a highest level segmenting condition in the hierarchy of the segmenting conditions. Hash values are calculated for each seed block in each consecutive byte position in the data. Each one of the hash values is evaluated using the segmenting conditions. A segmenting position is determined in the data for each hash value that satisfies one of the segmenting conditions. | 01-15-2015 |
20150026429 | OPTIMIZING MEMORY USAGE ACROSS MULTIPLE GARBAGE COLLECTED COMPUTER ENVIRONMENTS - A method, information processing system, and computer readable storage medium, vary a maximum heap memory size for one application of a plurality of applications based on monitoring garbage collection activity levels for the plurality of applications, each application including a heap memory, and unused memory in the heap memory being reclaimed by a garbage collector. | 01-22-2015 |
20150026430 | VIRTUAL DATA STORAGE SERVICE WITH SPARSE PROVISIONING - Virtual data stores may be sparsely provisioned by virtual data storage services in a manner that controls risk of implementation resource shortages. Relationships between requested data storage space size, data storage server capacity, allocated data storage space size and/or allocated data storage space utilization may be tracked on a per data store, per customer, per data storage server, and/or a per virtual data storage service basis. For each such basis, a set of constraints may be specified to control the relationships. The set of constraints may be enforced during implementation resource allocation, and by migration of data storage space portions to different implementation resources as part of a sparse provisioning load balancing. Sparse provisioning details may be made explicit to virtual data storage service customers to varying degrees including explicit, aggregate on a per customer basis, and aggregate on a per virtual data storage service basis. | 01-22-2015 |
20150032986 | MEMORY BLOCK MANAGEMENT SYSTEMS AND METHODS - A system for real-time operating system memory block and message management is disclosed. The real-time operating system enables different processes to migrate an allocated memory block from one type of memory block to another type of memory block, and to reliably release the block back to its correct pool of origin. According to one aspect of the inventive subject matter, a memory management engine allocates memory in a basic type to a first process, and upon a migration request from a second process, convert the allocated memory from the basic type to a message type for the second process. Allocating memory in the basic type can be fast but does not ensure proper release of the memory block to its pool of origin. Converting the basic type to the message type enables the operating system to reliably release the block back to its correct pool of origin from any process. | 01-29-2015 |
20150032987 | COMPUTER PROGRAM INSTALLATION ACROSS MULTIPLE MEMORIES - Embodiments herein are directed to a method for installing a program across multiple memories. The method includes calculating a memory space requirement of the program. It may be determined that a first available memory space in a first memory of the first computer system is smaller than the memory space requirement. The first memory is a default memory for installing the program. Upon determining that the first available memory space in the first memory is smaller than the memory space requirement, the method may perform the step of identifying a second memory in communication with the first computer system that has a second available memory space. The first and second available memory spaces, when combined, are sufficient for the memory space requirement to install files of the program. The files of the program may be installed in the first and second memories. | 01-29-2015 |
20150067295 | STORAGE POOLS FOR A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module selecting storage pools within the DSN with available capacity for storing data of a storage group. The method continues by selecting one or more dispersed storage (DS) units within each of the selected storage pools based on a selection criteria and mapping the one or more DS units to the storage group. The method continues by receiving a write request to store a data object to the storage group and by storing the data object in at least one of the mapped one or more DS units. The method continues with the DS processing module issuing an indication unutilized storage space calculated on a proportionate basis based on storage utilized for the storage group as a percentage of total storage utilized and updating a write proportion value based on received storage utilization responses. | 03-05-2015 |
20150081997 | USING AN ALIAS VOLUME NAME FOR A VOLUME TO ALLOCATE SPACE TO A DATA SET - Provided are a computer program product, system, and method for using an alias volume name for a volume to allocate space to a data set. An assignment of a plurality of volumes to a data set is maintained, wherein the volumes are configured in a storage system. A request is received to extend the data set. An alias volume name is assigned to the data set for a previously assigned volume to the data to extend the data set in response to one of the previously assigned volumes having available space to extend the data set. A base volume name is assigned to the data set for a volume not assigned to the data set in response to one of the previously assigned volumes to the data set not having available space to extend the data set. | 03-19-2015 |
20150089181 | Use of wireless devices external storage - To meet the needs for storing larger volume personal information for user of wireless device, it is desire to provide extra storage space to the wireless device such as for cell phone etc due to the limited storage space that the wireless device has. Instant application disclosed a system and method for the wireless device to efficiently and effectively use remotely located storage space provided by a server. | 03-26-2015 |
20150100752 | Concurrent Garbage Collector Thread - An example method of managing memory for an application includes identifying a plurality of regions of a heap storing one or more objects of a first type and one or more objects of a second type. Each object of the second type stores a memory address of an object of the first type. The method also includes selecting a set of target collection regions of the heap. The method includes in a concurrent marking phase, marking one or more reachable objects of the first type as live data. The method further includes for each region of the plurality maintaining a calculation of live data in the respective region. The method also includes traversing the objects of the first type marked in the concurrent marking phase and evacuating a set of traversed objects from a target collection region to a destination region of the heap. | 04-09-2015 |
20150121031 | ADAPTIVE GUARD BAND FOR IMPROVED DATA STORAGE CAPACITY - An adaptive guard band for a ramp load/unload device is disclosed to provide extended data storage. In illustrated embodiments, an adaptive guard band algorithm is configured to format one or more discs or media having a lower capacity device with the adaptive guard band and extended data zone utilizing capacity measurements. The algorithm formats the media to provide a track zero at a first cylinder if the capacity is at or above the threshold capacity and a second cylinder if the capacity is below the threshold capacity to provide the extended data storage zone. A size or width of the extended data zone is variable to provide additional capacity to meet the threshold capacity. | 04-30-2015 |
20150324279 | HYBRID MEMORY TABLE CLUSTER SYSTEM - A memory cluster system includes a shared storage, a plurality of nodes configured to share the shared storage, and a controller configured to allocate data to be loaded by each node to each main memory of each of the plurality of nodes and used by using a memory pointer when a database management system (DBMS) is starting up, from among data in the shared storage, to a main memory of each of the plurality of nodes based on a capacity of each main memory of the plurality of nodes, wherein each main memory of the plurality of nodes includes: a local memory storage configured to load data from all memory tables and all memory indexes to the main memory of each of the plurality of nodes when the DBMS is starting up; and a remote memory storage configured to read needed data, if the needed data is not found in the local memory storage, from a remote node and store the needed data, wherein the remote node is one of the plurality of nodes. | 11-12-2015 |
20160026392 | OFF-HEAP DIRECT-MEMORY DATA STORES, METHODS OF CREATING AND/OR MANAGING OFF-HEAP DIRECT-MEMORY DATA STORES, AND/OR SYSTEMS INCLUDING OFF-HEAP DIRECT-MEMORY DATA STORE - Certain example embodiments relate to a highly-concurrent, predictable, fast, self-managed, in-process space for storing data that is hidden away from the garbage collector and its related pauses. More particularly, certain example embodiments relate to improved memory management techniques for computer systems that leverage an off-heap direct-memory data store that is massively scalable and highly efficient. The off-heap store may be provided in connection with a Java-based environment, and garbage collection may be completely or nearly completely avoided for the off-heap store. The off-heap store may be integrated into a tiered storage solution in certain example embodiments. | 01-28-2016 |
20160048355 | DEVICE AND METHOD FOR DETERMINING A NUMBER STORAGE DEVICES FOR EACH OF A PLURALITY OF STORAGE TIERS AND AN ASSIGNMENT OF DATA TO BE STORED IN THE PLURALITY OF STORAGE TIERS - A device and method for determining number of storage devices for each of plurality of storage tiers and assignment of data to be stored in the plurality of storage tiers. The device computes an optimized number of storage devices for each tier including a classifier, which receives units as input data to be stored in the system. Based on the characteristics of the storage devices, the device outputs a data-unit-to-storage tier assignment. An optimizer receives data-unit-to-storage tier assignment from the classifier and a cost budget for the system. Thereafter, an output for the number of storage devices for each storage tier is calculated. A method for determining number of storage devices for each of a plurality of storage tiers and assignment of data to be stored in the plurality of storage tiers are also provided. | 02-18-2016 |
20160062654 | METHOD AND APPARATUS FOR EMBEDDED SYSTEMS REPROGRAMMING - A reprogramming device is used for reprogramming embedded systems. The reprogramming device comprises a microprocessor, a memory programmed with software to accomplish the reprogramming of distinctly different embedded systems architectures, and one or more hardware devices that facilitate communication over multiple protocols contained in a portable package designed for both one-time and multi-occurrence use scenarios. In some embodiments, the reprogramming device is able to be used to enhance one or more attributes of performance of existing embedded systems through the reconfiguration of internally stored parameters. In some embodiments, the reprogramming device is also to be used to extract and receive information and instruction from existing embedded systems and enable useful presentation of this information. As a result, the reprogramming device is able to be used to adjust and/or monitor the parameters of the on-board diagnostics computer of a vehicle to ensure peak performance and detect errors. | 03-03-2016 |
20160070479 | VOLUME EXTENT ALLOCATION - A computer program product for processing an extend request for a data set in a storage facility is disclosed. The computer program product may include receiving the extend request. The extend request may include a new extent allocation amount for the data set. The data set may be associated with a number of volumes in the storage facility. The computer program product may include apportioning the new extent allocation amount among fractional amounts. The computer program product may include allocating the fractional amounts. | 03-10-2016 |
20160098224 | HIERARCHICAL 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. | 04-07-2016 |
20160117104 | RECONSTRUCT DRIVE FOR DYNAMIC RESIZING - A solid-state drive (SSD) is configured for dynamic resizing. When the SSD approaches the end of its useful life because the over-provisioning amount is nearing the minimum threshold as a result of an increasing number of bad blocks, the SSD is reformatted with a reduced logical capacity so that the over-provisioning amount may be maintained above the minimum threshold. | 04-28-2016 |
20160124652 | Methods and Systems for Determining Hardware Sizing for Storage Array Systems - Methods and systems for enabling sizing of storage array resources are provided. Resources of a storage array can include, for example, cache, memory, SSD cache, central processing unit (CPU), storage capacity, number of hard disk drives (HDD), etc. Generally, methods and systems are provided that enable efficient predictability of sizing needs for said storage resources using historical storage array use and configuration metadata, which is gathered over time from an install base of storage arrays. This metadata is processed to produce models that are used to predict resource sizing needs to be implemented in storage arrays with certainty that takes into account customer-to-customer needs and variability. The efficiency in which the sizing assessment is made further provides significant value because it enables streamlining and acceleration of the provisioning process for storage arrays. | 05-05-2016 |
20160132247 | STORAGE MANAGEMENT SYSTEM, MANAGEMENT DEVICE AND METHOD THEREFOR - A storage management method includes the following steps: detecting sizes of shared storage spaces of terminal devices joined in a sharing system; classifying the terminal devices joined in a sharing system to a number of kinds of terminal devices according to a size of the shared storage space of each terminal device; mapping the shared storage spaces of each kind of terminal devices of each device group to virtual disks with corresponding storage capacities of a virtual disk array card one by one; receiving a storing request to store a file to a cloud, and determining a size of the file to be stored and selecting one virtual disk whose storage capacity is nearest and greater than or equal to the size of the file, and storing the file to the shared storage spaces of the terminal devices mapping to the selected virtual disk. | 05-12-2016 |
20160132267 | STORAGE NETWORK DATA ALLOCATION - A method of allocating data to a storage block included in a storage network may include determining a plurality of characteristics associated with a storage block included in a storage network. The plurality of characteristics may include storage capacity of the storage block, available storage space of the storage block, likelihood of loss of data stored on the storage block, availability of the storage block with respect to the storage network, and use of the storage block. The method may further include allocating data to the storage block based on the plurality of characteristics. | 05-12-2016 |
20160132428 | ASSIGNING HOME MEMORY ADDRESSES TO FUNCTION CALL PARAMETERS - Embodiments are directed to assigning a home memory location for a function call parameter. A method may include determining whether a caller is configured to allocate a memory location for a parameter passed to a callee. The caller is a module that includes a function call to the callee and the callee is a function. The method may include inserting instructions in the callee to allocate a home memory location for the parameter in response to determining that the caller is not configured to allocate a memory location for the parameter. In addition, the method may include inserting instructions in the callee to set the memory location as a home location for the parameter in response to determining that the caller is configured to allocate a memory location for the parameter. | 05-12-2016 |
20160140034 | DEVICES AND METHODS FOR LINKED LIST ARRAY HARDWARE IMPLEMENTATION - A device includes at least one memory including plurality of storage nodes arranged into a plurality of rows. Each of the rows has a known row width. The device includes a controller configured to determine size information regarding a size of at least a first sequence of data elements, and determine location information regarding a location of unused storage nodes in the at least one memory. The controller is configured to write the first sequence of data elements to the at least one memory based on the determined size information and the determined location information such that the first row contains no more than one pointer element for the first sequence of data elements. The pointer element links two sequential data elements. | 05-19-2016 |
20160147476 | STORAGE MANAGEMENT DEVICE, PERFORMANCE ADJUSTMENT METHOD, AND COMPUTER-READABLE RECORDING MEDIUM - A receiving unit receives an input of information of a performance level with respect to a volume that is allocated by using different types of disks. A target value calculating unit calculates, on the basis of a distribution ratio that is previously determined for each type of the disks, a target value of the performance of sending and receiving data to and from the volume. On the basis of the target value calculated by the target value calculating unit, a performance management unit determines a distribution ratio for each type of the disks allocated to the volume, determines a band distribution with respect to the volume, and instructs the storage device to re-allocate the volume by using the determined distribution ratio and adjust the bandwidth in accordance with the determined band distribution. | 05-26-2016 |
20160162400 | ALIGNMENT BASED BLOCK CONCURRENCY FOR ACCESSING MEMORY - Embodiments relate to accessing data in a memory. A method for accessing data in a memory coupled to a processor is provided. The method receives a memory reference instruction for accessing data of a first size at an address in the memory. The method determines an alignment size of the address in the memory. The method accesses the data of the first size in one or more groups of data by accessing each group of data block concurrently. The groups of data have sizes that are multiples of the alignment size. | 06-09-2016 |
20160170651 | METHOD, APPARATUS, AND SYSTEM FOR REDUCING MEMORY USAGE OF A BROWSER IN A PORTABLE TERMINAL DEVICE | 06-16-2016 |
20160188212 | DATA STORAGE SYSTEM SELECTIVELY EMPLOYING MULTIPLE DATA COMPRESSION TECHNIQUES - In a data storage system, a data set as compressed by a first compression technique (e.g., a hardware-based compression technique) is stored in non-volatile data storage in association with at least a particular address. In response to a subsequent garbage collection read of the particular address, control logic determines whether or not to compress the data set with a second compression technique (e.g., a software-based compression technique). In response to determining not to compress the data set with the second compression technique, the control logic writes the data set back to the non-volatile data storage as compressed by the first compression technique. In response to determining to compress the data set with the second compression technique, the control logic compresses the data set with the second compression technique and writes the data set back to the non-volatile data storage as compressed by the second compression technique. | 06-30-2016 |
20160188248 | METHOD AND SYSTEM FOR PREVENTING REUSE OF CYLINDER ID INDEXES IN A COMPUTER SYSTEM WITH MISSING STORAGE DRIVES - A system and method for allocating storage devices within a multi-node data storage system. The system maintains a data structure including a generation number indicating an incarnation of the data structure, a highest cylinder ID index value observed to be in use within the data storage system, and a safe index value indicating a lowest cylinder ID index value for use when allocating a new cylinder index. Following receipt of an allocation request, the system assigns a cylinder ID index to the allocation request, the cylinder ID index being greater than the safe index value. The assigned cylinder ID index is compared to the highest cylinder ID index value observed to be in use within said data storage system, and when the cylinder ID index is greater than the highest cylinder ID index value, increments the generation number and highest cylinder ID index value maintained within the data structure. | 06-30-2016 |
20160196206 | PROCESSOR AND MEMORY CONTROL METHOD | 07-07-2016 |
20160196208 | SEMICONDUCTOR STORAGE DEVICE AND BUFFER OPERATION METHOD THEREOF | 07-07-2016 |
20170235502 | DYNAMIC DRIVE SELECTION FOR MIGRATION OF FILES BASED ON FILE SIZE FOR A DATA STORAGE SYSTEM | 08-17-2017 |
20170235672 | RECLAIMING FREE SPACE IN A STORAGE SYSTEM | 08-17-2017 |
20180024765 | SHORT POINTER MODE APPLICATIONS IN LONG POINTER MODE ENVIRONMENTS | 01-25-2018 |
20190146681 | DATA WRITING AND READING METHOD AND APPARATUS, AND DISTRIBUTED OBJECT STORAGE CLUSTER | 05-16-2019 |
20190146699 | DYNAMIC CONFIGURATION OF COMPRESSED VIRTUAL MEMORY | 05-16-2019 |