Abstract:
Providing coherent merging of committed store queue entries in unordered store queues of block-based computer processors is disclosed. In one aspect, a block-based computer processor provides a merging logic circuit communicatively coupled to an unordered store queue and cache memory.The merging logic circuit is configured to select a first store queue entry in the unordered store queue, and read its memory address, an age indicator, and a data value.The age indicator and the data value are stored in merged data bytes within a merged data buffer.The merging logic circuit then locates a remaining store queue entry having a memory address identical to the first selected store queue entry, and reads its age indicator and data value.Based on the age indicator and one or more age indicators of the merged data bytes within the merged data buffer, the data value is merged into the merged data buffer.
Abstract:
A method for caching includes determining a degree of relatedness for a database entry stored in a concept table (602). The concept table is stored in cache. The degree of relatedness is based on a comparison between a concept of data of the database entry and a concept of the concept table. The method includes determining an amount of data usage for the database entry where the data usage includes an amount of usage of the database entry while in cache (604). The method includes determining a cache flushing rating for the database entry (606). The cache flushing rating is determined from the degree of relatedness of the database entry and the amount of data usage of the database entry. The method includes flushing the database entry from the cache in response to the cache flushing rating of the database entry being below a cache flush threshold (610).
Abstract:
A system includes a memory buffer to cache a non-volatile memory. The non-volatile memory stores a plurality of valid and obsolete variables in a plurality of valid and obsolete regions, respectively. The system further includes a journal region to track movement of valid variables and valid regions within the memory buffer utilizing alternating pairs of structure pointers to indicate at least portions of the plurality of valid and obsolete regions indicative of from where and to where the valid variables move during a write event.
Abstract:
An invention is disclosed for data storage with progressive RAID. A storage request receiver module (1702) receives a request to store data. A striping module (1704) calculates a stripe pattern for the data and each stripe includes N data segments. The striping module (1704) writes the N data segments to N storage devices (150). Each data segment is written to a separate storage device (150) within a set of storage devices (1604) assigned to the stripe. A parity-mirror module (1706) writes a set of N data segments to one or more parity-mirror storage devices (1602) within the set of storage devices. A parity progression module (1708) calculates a parity data segment on each parity-mirror device (1602) in response to a storage consolidation operation, and stores the parity data segments. The storage consolidation operation is conducted to recover storage space and/or data on a parity-mirror storage device (1602).
Abstract:
A method and controller for implementing enhanced storage adapter write cache management, and a design structure on which the subject controller circuit resides are provided. The controller includes a hardware write cache engine implementing hardware acceleration for storage write cache management. The controller manages write cache data and metadata with minimum or no firmware involvement for greatly enhancing performance.
Abstract:
Security of information - both code and data - stored in a computer's system memory is provided by an agent (5100) loaded into and at run time resident in a CPU cache (5000). Memory writes from the CPU (1000) are encrypted by the agent before writing and reads into the CPU are decrypted by the agent before they reach the CPU. The cache-resident agent also optionally validates the encrypted information stored in the system memory. Support for I/O devices (6700) and cache protection from unsafe DMA of the cache by devices is also provided.
Abstract:
Disclosed is a front-end, distributed RAID. A storage request receiver module (2102) receives a storage request to store data in autonomous storage devices (150) forming a RAID group. The storage devices (150) independently receive storage requests from a client (114) over a network (116), and one or more of the storage devices (150) are designated as parity-mirror storage devices (1602) for a stripe. The striping association module (2104) calculates a stripe pattern for the data. Each stripe includes N data segments, each associated with N storage devices (150). The parity-mirror association module (2106) associates a set of the N data segments with one or more parity-mirror storage devices (1602). The storage request transmitter module (2108) transmits storage requests to each storage device (150, 1602). Each storage request is sufficient to store onto the storage device (150, 1602) associated data segments. The storage requests are substantially free of data.
Abstract:
An apparatus, system, and method for sharing a device between multiple hosts. The apparatus, system, and method include an RDMA setup module and an RDMA execution module. The RDMA setup module prepares a solid-state storage controller for an RDMA operation to transfer data of a file or of an object between the solid-state storage controller and a requesting device in response to a storage request. The storage request may be substantially free of the data, and the solid-state storage controller may control a solid-state storage via a storage input/output ("I/O") bus. The solid-state controller controls storage of data in the solid-state storage, and the requesting device is connected to the solid-state controller through a computer network. The RDMA execution module executes the RDMA operation to transfer the data between the requesting device and the solid-state storage controller.
Abstract:
An apparatus, system and method are disclosed for storage space recovery in solid-state storage 110. A sequential storage module 802 sequentially writes data packets in a storage division. The storage division includes a portion of a solid-state storage 110. The data packets are derived from an object. The data packets are sequentially stored by order of processing. A storage division.selection module 804 selects a storage division for recovery. A data recovery module 806 reads valid data packets from the storage division selected for recovery, queues the valid data packets with other data packets to be written sequentially, and updates an index with a new physical address of the valid data. The index includes a mapping of physical addresses of data packets to object identifiers. A storage division recovery module 808 marks the storage division selected for recovery as available for sequentially written data packets in response to completing copying valid data from the storage division.