Patent classifications
G06F3/0646
Transferring data between solid state drives (SSDs) via a connection between the SSDs
A first solid state drive (SSD) includes a first built-in network interface device configured to communicate via a network fabric, and a second SSD includes a second built-in network interface device configured to communicate via the network fabric. A connection is opened between the first SSD and the second SSD over the network fabric. Based on a non-volatile memory over fabric (NVMe-oF) communication protocol, an NVMe command to transfer data between the first SSD and the second SSD over the connection is encapsulated in a capsule. The capsule is sent from the first SSD to the second SSD over the connection via the network fabric. The second SSD executes the NVMe command in the capsule to transfer the data between the first SSD and the second SSD over the connection.
Read disturb scan consolidation
A processing device in a memory system maintains a counter to track a number of read operations performed on at least one of a physical block or a plurality of physical blocks of a memory device, wherein the counter is associated with the physical block or the plurality of physical blocks depending on an age of data stored on the physical block. The processing device further determines whether a value of the counter satisfies a first threshold criterion pertaining to the number of read operations performed, and responsive to the value of the counter satisfying the first threshold criterion, performs a data integrity scan to determine a first error rate.
Coordinated updating and searching a content-addressable memory including for packet processing operations
In one embodiment, updating and searching of entries in a hardware content-addressable memory is coordinated to provide more searching bandwidth (e.g., for determining packet processing information), including, but not limited to, when vectors are moved among entries to free up desired entry positions for insertion of other vectors. A lookup operation is performed in content-addressable memory entries in a hardware content-addressable memory based on a lookup word to generate a content-addressable memory lookup result. Typically overlapping in time, a matching operation is performed in one or more transitory entries to generate a transitory matching result based on the lookup word. These transitory entries are populated with transitory vectors and have an associated index within the content-addressable memory, with these transitory vectors are subsequently inserted in the content-addressable memory at their associated index positions. A matching result is determined from the content-addressable memory lookup result and the transitory matching result.
Regression-based calibration and scanning of data units
Read operations can be performed to read data stored at a data block. Parameters reflective of a separation between a pair of programming distributions associated with the data block can be determined based on the plurality of read operations. A read request to read the data stored at the data block can be received. In response to receiving the read request, a read operation can be performed to read the data stored at the data block based on the parameters that are reflective of the separation between the pair of programming distributions associated with the data block.
Enriching a storage provider with container orchestrator metadata in a virtualized computing system
An example method of enriching a storage provider of a virtualized computing system with metadata managed by a container orchestrator executing in the virtualized computing system is described. The method includes detecting, by a metadata sync service executing as an extension of the container orchestrator, metadata that is included in a persistent volume-based (PV-based) object managed by the container orchestrator, the PV-based object referencing a persistent volume; and pushing, by the metadata sync service, the metadata to the storage provider to augment a storage volume object managed by the storage provider, the storage volume object referencing a storage volume backing the persistent volume.
CACHING AND DATA PROMOTION TECHNIQUES
Techniques for performing data movements may include tracking sets of I/O statistics for a extents, wherein each of the sets of I/O statistics characterizes I/O operations directed to a corresponding one of the extents having data stored on a first storage tier of first non-volatile storage devices; determining, in accordance with the sets of I/O statistics, a list that includes one or more of the extents qualified for promotion from the first storage tier to a second storage tier, wherein the second storage tier includes second non-volatile storage devices have a higher performance ranking that the first non-volatile storage devices of the first storage tier; selecting, from the list, a first extent to be promoted from the first storage tier to the second storage tier; and performing first processing that promotes only cached data of the first extent from the first storage tier to the second storage tier.
Provisioning of clustered containerized applications
Clustered containerized applications are implemented with scalable provisioning. Methods include receiving a data storage request to store one or more data values in a storage volume implemented across a storage node cluster, the storage node cluster including a plurality of storage nodes including one or more storage devices having storage space allocated for storing data associated with the storage volume. Methods may further include identifying a cluster hierarchy associated with the storage node cluster, the cluster hierarchy identifying storage characteristics of the plurality of storage nodes, the cluster hierarchy also identifying physical location information for the plurality of storage nodes, the physical location information indicating node-to-node proximity on a network graph. Methods may also include selecting a storage node on which to store the data, the selecting being based, at least in part, on the identified storage characteristics and one or more data distribution parameters associated with the storage volume.
System and method to increase data center availability using rack-to-rack storage link cable
A first data storage rack has a first computing unit coupled to a first plurality of storage drives via a first storage controller. A second data storage rack has a second computing unit coupled to a second plurality of storage drives via a second storage controller. A first rack-to-rack storage link cable couples the first computing unit to the second storage controller such that the first computing unit can provide access to the second plurality of drives in response to a failure that prevents the second computing unit from providing access to the second plurality of drives via a system network.
TAPE LIBRARY EMULATION WITH AUTOMATIC CONFIGURATION AND DATA RETENTION
Disk based emulation of tape libraries is provided with features that allow easier management and administration of a backup system and also allow increased flexibility to both archive data on tape at a remote location and also have fast restore access to archived data files. Features include automatic emulation of physical libraries, and the retention and write protection of virtual tapes that correspond to exported physical tapes.
METHOD AND APPARATUS FOR CONTROLLING A COMPUTATIONAL STORAGE PROCESSOR
A computational storage processor (CSP) is provided that includes the CSP comprising a plurality of submission queues (SQs), a plurality of computational storage functions (CSFs), a CSF controller, and a CSP controller, and a method of controlling the CSP is provided that includes directing a first submission queue entry (SQE) that is written to a first one of the plurality of SQs to the CSF controller, generating, by the CSF controller, one or more secondary SQEs based on the first SQE, each of the one or more secondary SQEs is directed to a respective one of the CSFs, writing, by the CSF controller, the one or more secondary SQEs to a second one of the plurality of SQs, directing each of the one or more secondary SQEs to an associated respective one of the CSFs, and for each of the one or more secondary SQEs, performing, by the associated respective one of the CSFs, an operation associated with the secondary SQE.