G06F3/0671

SYSTEM AND METHOD FOR LOGICAL DELETION OF STORED DATA OBJECTS

Systems and methods for providing object versioning in a storage system may support the logical deletion of stored objects. In response to a delete operation specifying both a user key and a version identifier, the storage system may permanently delete the specified version of an object having the specified key. In response to a delete operation specifying a user key, but not a version identifier, the storage system may create a delete marker object that does not contain object data, and may generate a new version identifier for the delete marker. The delete marker may be stored as the latest object version of the user key, and may be addressable in the storage system using a composite key comprising the user key and the new version identifier. Subsequent attempts to retrieve the user key without specifying a version identifier may return an error, although the object was not actually deleted.

OPTIMAL METHOD FOR DELETING SUB-BLOCKS OF A POINTER BLOCK THAT DO NOT HAVE ON-DISK METADATA HEADERS FOR ADDRESSES

A method of deleting a first pointer block of a plurality of pointer blocks of a file system from a storage device used by a plurality of applications, wherein the plurality of pointer blocks are each subdivided into sub-blocks, includes the steps of: determining that a first sub-block of the first pointer block is marked as being empty of any addresses of the file system at which storage space is allocated to files of the applications; determining that a second sub-block of the first pointer block has not been marked as being empty; in response to the determining that the second sub-block has not been marked as being empty, determining that the second sub-block does not contain any addresses of the file system at which storage space is allocated to the files of the applications; and deleting the first pointer block from the storage device.

SYSTEMS, METHODS, AND DEVICES FOR ADAPTIVE NEAR STORAGE COMPUTATION

A method may include receiving a request at a storage apparatus, determining local performance information at the storage apparatus, and performing an operation at the storage apparatus based on the request and the local performance information. The method may further include receiving system performance information at the storage apparatus, wherein performing the operation at the storage apparatus may be further based on the system performance information. Performing the operation at the storage apparatus may be further based on a threshold. The method may further include receiving a status at the storage apparatus, wherein performing the operation at the storage apparatus may be further based on the status. Performing the operation at the storage apparatus may be further based on a change in the local performance information. The local performance information may be based on a queue at the storage apparatus.

Processing device configured for efficient generation of compression estimates for datasets
11609883 · 2023-03-21 · ·

An apparatus in one embodiment comprises at least one processing device comprising a processor coupled to a memory. The processing device is configured to identify a dataset to be scanned to generate a compression estimate for that dataset, to designate a scan criterion to be utilized in the scan, and for each of a plurality of pages of the dataset, to scan the page, where scanning the page includes performing a computation on the page to obtain a page result, determining whether or not the page result satisfies the designated scan criterion, and responsive to the page result satisfying the designated scan criterion, updating a corresponding entry of a compression estimate table for the dataset. The processing device generates the compression estimate for the dataset based at least in part on contents of the compression estimate table. The scan criterion may comprise, for example, a designated content-based signature prefix, or a designated subset inclusion characteristic defining a polynomial-based signature subspace.

Intelligent storage allocation based on workspace context in a ZFS environment

Storage can be allocated to workspaces in a ZFS-based environment. Workspaces can be associated with a workspace weightage. When a workspace is deployed on a client computing device, its workspace weightage can be used to determine an initial quota for a dataset to be created in a zpool for the workspace. The initial quota can be used to determine the size of the dataset. The workspace weightage may also be used to determine an expansion quota and a contraction quota that can be used to calculate the size of an expansion or contraction respectively. The use of workspace weightages and their associated quotas can ensure that the zpool is fairly shared by the various datasets that may be created therein for workspaces deployed on the client computing device.

ADAPTIVE COMPRESSION OF STORED DATA

Systems, devices and methods for adaptive compression of stored information includes a memory management computing device programmed to monitor a size of a plurality of data structures stored in a data repository. The computing device compares the size of each of a plurality of data structures to a predetermined threshold. When a size of an uncompressed data structure meets the threshold, the memory management computing device calculates a value of a first compression parameter based on a value of a first parameter and a value of a second parameter of each data element of the uncompressed data structure, calculates a value of a second compression parameter based the value of the first parameter of each data element of the uncompressed data structure, generates a compressed data structure based on the value of the first compression parameter and the second compression parameter; and replaces, in the data repository, the uncompressed data structure with the compressed data structure.

STORAGE BLOCK ADDRESS LIST ENTRY TRANSFORM ARCHITECTURE

Aspects include obtaining data to be transformed. A selected transformation to be applied to the data is determined based on a storage block address list entry (SBALE) in a storage block address list (SBAL). The SBALE includes at least one field that is used in determining the selected transformation to be applied. The selected transformation is applied on the data to generate transformed data and the transformed data is placed in a location specified by the SBAL.

Metadata track entry sorting in a data storage system

In one aspect of metadata track entry sorting in accordance with the present description, recovery logic sorts a list of metadata entries as a function of a source data track identification of each metadata entry to provide a second, sorted list of metadata entries, and generates a recovery volume which includes data tracks which are a function of one or more data target tracks identified by the sorted list of metadata entries. Because the metadata entry contents of the sorted list have been sorted as a function of source track identification number, the particular time version of a particular source track may be identified more quickly and more efficiently. As a result, recovery from data loss may be achieved more quickly and more efficiently thereby providing a significant improvement in computer technology. Other features and aspects may be realized, depending upon the particular application.

Performing an on demand refresh operation of a memory sub-system
11605414 · 2023-03-14 · ·

A method to perform an on demand refresh operation of a memory sub-system is disclosed. The method includes identifying a temporal attribute of user data stored in the memory component, upon determining that the identified temporal attribute satisfies a time condition, providing an indication whether a refresh operation of the user data improves performance of the memory component, receiving an indication to perform the refresh operation of the memory component, and responsive to a time between the refresh operation and a previously performed refresh operation not satisfying a threshold criterion, refraining from performing the refresh operation of the memory component.

METHOD FOR DATA TRANSMISSION AND DATA-PROCESSING CIRCUIT
20220334763 · 2022-10-20 ·

A method for data transmission and a data-processing circuit are provided. The data-processing circuit includes a memory that implements a buffer and a controller for controlling an operation of the data-processing circuit. When the data-processing circuit receives input data, data-hot-bits are used to address multiple data blocks of the input data. After analyzing the data-hot-bits, a starting address and a data length of each of the data blocks can be obtained. The input data is written to the buffer according to information analyzed from the data-hot-bits, and the data-hot-bits achieve an effect of masking the dummy data address. Further, data dependency among the data blocks can be confirmed by comparing the data-hot-bits with respect to each of the data blocks before the data blocks are written to the buffer.