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