An example method for device access control in a distributed storage system comprises receiving, by a driver of a device, a command from a process to open the device; and denying, by the driver of the device, access to the device for the process at least until an input/output (I/O) control command comprising a token is received. When the I/O control command comprising the token is received, the driver may determine, based on the token, that the process is authorized to access the device and grant access to the device for the process.
A method of providing block-based storage is described. The method comprises: creating a virtual storage system for storing a dataset, the virtual storage system including a virtual drive layer that includes a plurality of virtual drives for storing at least a portion of the dataset as block data; and a block storage backend layer for storing at least the portion of the dataset as block data, the block storage backend layer including one or more block-based storage devices; receiving an I/O operation with respect to the dataset; and based on the received I/O operation, storing, in the block storage backend layer, an update to the dataset.
A storage system is provided. The system includes a primary node having a processor and memory storing scheduling logic and a plurality of secondary nodes each of the secondary nodes having a processor and removable storage memory, wherein the processor of the primary node when executing the scheduling logic is configured to assign a priority to tasks executed by the storage system, monitor a processing load of the storage system, and monitor a capacity of the storage system. The processor is further configured to adjust power consumption of a processor of at least one of the plurality of secondary nodes based on the priority of tasks being executed by the storage system and the processing load and the capacity of the storage system.
G06F 1/3221 - Surveillance de dispositifs périphériques de lecteurs de disques
G06F 1/3225 - Surveillance de dispositifs périphériques de mémoires
G06F 1/3234 - Économie d’énergie caractérisée par l'action entreprise
G06F 1/3287 - Économie d’énergie caractérisée par l'action entreprise par la mise hors tension d’une unité fonctionnelle individuelle dans un ordinateur
G06F 3/06 - Entrée numérique à partir de, ou sortie numérique vers des supports d'enregistrement
A storage system is provided. The storage system includes a plurality of storage nodes configured to provide storage services for the storage system. A respective storage node comprises a processing device, a memory, network interfaces, and a plurality of device interfaces supporting hot-pluggable managed flash storage devices. A respective managed flash storage device comprises flash memory and a storage device controller supporting a set of commands for the respective storage node to access and optimize use of the flash memory for use in the storage system, wherein at least a subset of the managed flash storage devices further comprise memory and energy storage for staging writes, and for storing metadata for the storage system.
An illustrative method may include receiving, by a container storage interface (CSI) filter driver, a request by way of a node agent to perform a control plane operation with respect to a storage system, the CSI filter driver and the node agent both executing on a node of a cluster managed by a container orchestrator, the storage system configured to store data associated with one or more containerized applications executing on the node; generating, by the CSI filter driver based on one or more attributes of the request, a command configured to direct a CSI driver executing on the node and associated with the storage system to perform the control plane operation; and transmitting, by the CSI filter driver, the command to the CSI driver, the CSI driver configured to perform the control plane operation in accordance with the command.
G06F 3/06 - Entrée numérique à partir de, ou sortie numérique vers des supports d'enregistrement
G06F 9/455 - ÉmulationInterprétationSimulation de logiciel, p. ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
A storage system is provided. The storage system includes a plurality of non-volatile memory modules; a storage controller operatively coupled to the plurality of non-volatile memory modules, the storage controller comprising a processor. The process is to receive a set of data blocks to be stored in the plurality of non-volatile memory modules. The processor is further to program the set of data blocks at a first location of the plurality of non-volatile memory modules. The processor is further to determine whether a failure occurred while programming the set of data blocks in the plurality of non-volatile memory modules. The processor is further to reprogram a subset of the data blocks at a second location of the plurality of non-volatile memory modules, a number of blocks in the subset of data blocks based on durabilities of the set of data blocks, in response to determining that a failure occurred while programming the set of data blocks at the first location.
An example method includes a file system receiving a request from a program or command, the request including a specially formatted filename comprising a query to the file system for selecting files within a directory tree for subsequent read requests by the program or command. The method further includes the file system instantiating a pseudo file based on the specially formatted filename. Using the pseudo file, the file system may generate and provide results of the query to the program or command.
An exemplary method includes a data protection system detecting one or more delete requests to delete one or more recovery datasets of a storage system, determining that the one or more delete requests are inconsistent with a recovery dataset deletion pattern associated with the storage system, and determining, based on the determining that the one or more delete requests are inconsistent with the recovery dataset deletion pattern, that data stored by the storage system is possibly being targeted by a security threat.
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p. ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
9.
CONVERTING STORAGE RESOURCES TO DISTRIBUTED PERSISTENT STORAGE FOR CONTAINERIZED APPLICATIONS
An illustrative storage system provides distributed storage for use by containerized applications running in a container system. In some implementations, this includes converting data blocks of storage resources to distributed persistent storage such as thin-provisioned volumes for use by the containerized applications. In some implementations, the conversion includes using a device mapper to virtualize the data blocks of the storage resources to create a virtual storage pool backing datastore in which the thin-provisioned volumes are created. In some implementations, the system resizes on online volume that is included in the thin-provisioned volumes and that provides persistent storage for one or more of the containerized applications running in the container system. The resizing of the online volume may include resizing the virtual block device without interruption to the one or more containerized applications running in the container system.
A read request with a high priority indication is received. A determination as to whether an in progress flash programming operation would delay processing the read request for a threshold amount of time is made. In response to determining that the in progress flash programming operation delays processing the read request for the threshold amount of time, the in progress flash programming operation is interrupted.
A storage system has NVRAM (nonvolatile random-access memory), storage memory that includes SLC (single level cell) flash memory and QLC (quad level cell) flash memory, and a processor. The processor performs a method that includes determining that a size of a buffer of a storage system should be adjusted. The storage system comprises a non-volatile random-access memory (NVRAM), single level cell (SLC) flash memory, and quad level cell (QLC) flash memory. The buffer of the storage system comprises one or more of the NVRAM and a portion of the SLC flash memory. The method also includes adjusting the size of the buffer of the storage system to a first size.
G06F 21/79 - Protection de composants spécifiques internes ou périphériques, où la protection d'un composant mène à la protection de tout le calculateur pour assurer la sécurité du stockage de données dans les supports de stockage à semi-conducteurs, p. ex. les mémoires adressables directement
Coordinated snapshots among storage systems implementing a promotion/demotion model, including monitoring a set of two or more target storage systems, wherein the two or more target storage systems are replication targets for respective portions of a source dataset; associating a first coordinated tracking dataset with two or more local tracking datasets maintained on the two or more target storage systems, wherein each local tracking dataset is a tracking copy for one portion of the source dataset; and advancing, in dependence upon a first coordinated target checkpoint, the first coordinated tracking dataset.
An illustrative method of container recovery using layer prioritization includes identifying a set of immutable layers of container images included in a dataset used by a container system to run containerized applications on a first cluster; copying the set of immutable layers of container images to a second cluster in preparation for a recovery event; receiving, after the set of immutable layers of container images are copied to the second cluster, a recovery request to recover the containerized applications; and copying, in response to the recovery request, a set of mutable layers included in the dataset to the second cluster, the second cluster configured to use the copied set of immutable layers and the copied set of mutable layers to recover the containerized applications on the second cluster.
G06F 3/06 - Entrée numérique à partir de, ou sortie numérique vers des supports d'enregistrement
G06F 11/07 - Réaction à l'apparition d'un défaut, p. ex. tolérance de certains défauts
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p. ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
An edge accelerator card has a first interface, a second interface, a memory and a processor. The first interface is to couple to a server. The second interface is to couple to a storage system. The processor is to handle communication between the server and the storage system through the first interface and the second interface. The processor is to perform at least one task as directed by the storage system, using the memory and communication through at least the second interface.
Restoring lost data including detecting that a portion of the dataset stored in a first storage system has become unavailable, obtaining an identifier for the portion of the dataset, locating, using the identifier, a replacement portion of the dataset that is stored at one or more other storage systems, and writing, to the dataset that is stored in the first storage system, the replacement portion of the dataset as a replacement of the portion of the dataset that has become unavailable, where the writing occurs automatically, without user intervention.
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p. ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 3/06 - Entrée numérique à partir de, ou sortie numérique vers des supports d'enregistrement
A storage system determines a size of a portion of data to be written as a RAID stripe across storage devices. The storage system determines aspects of the RAID stripe. Aspects of the RAID stripe include a data segment size for shards of the RAID stripe, a type of RAID, a width of the RAID stripe, a level of redundancy of the RAID stripe, and a selection of members of the storage devices. All of the determining for the aspects of the RAID stripe are on a dynamic basis and based at least on the size of the portion of data. The storage system writes the portion of data according to the determined aspects of the RAID stripe across the selected members of the storage devices.
G06F 11/10 - Détection ou correction d'erreur par introduction de redondance dans la représentation des données, p. ex. en utilisant des codes de contrôle en ajoutant des chiffres binaires ou des symboles particuliers aux données exprimées suivant un code, p. ex. contrôle de parité, exclusion des 9 ou des 11
17.
CONTAINERS AS VOLUMES IN A CONTAINER-AWARE STORAGE SYSTEM
A container-aware storage system may be configured to store, manage, and provide immutable container images and optionally persistent storage to a container system for use by the container system to run container instances of the container images. The storage system may use volumes to store, manage, and provide immutable container images and optionally persistent storage to the container system for use by the container system to run container instances of the container images. In some embodiments, the storage system receives an immutable container image and stores the immutable container image as a volume. The storage system subsequently detects a request from a container system, such as a request to run a container instance of the immutable container image in the container system and, in response to the request, provides the volume to the container system.
A storage system has a first memory, a second memory that include solid-state storage memory, and a processing device. The processing device is to select a mode for each portion of data to be written. Selection of the mode is based at least on size of the portion of data. Selection of the mode is from among modes that include a first mode of writing the portion of data in mirrored RAID form to the first memory for later transfer from the first memory to the second memory, a second mode of writing the portion of data in parity -based RAID form to the first memory for later transfer from the first memory to the second memory, and a third mode of writing the portion of data to the second memory, bypassing the first memory. The processing device is to handle portions of data to be written according to such selection.
Establishing a guarantee for maintaining a replication relationship between object stores during a communications outage, an embodiment including identifying, by a first storage system, respective local clock values of one or more second storage systems, wherein the first storage system and the one or more second storage systems are among a plurality of storage systems replicating an object store, wherein the plurality of storage systems are configured to receive requests directed to the replicated object store; determining, by the first storage system in dependence upon the respective local clock values, respective clock differences of the one or more second storage systems relative to the first storage system; and ordering, by the first storage system, one or more updates to the replicated object store in dependence upon the respective clock differences.
H04L 67/1095 - Réplication ou mise en miroir des données, p. ex. l’ordonnancement ou le transport pour la synchronisation des données entre les nœuds du réseau
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuéesArchitectures de systèmes de bases de données distribuées à cet effet
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p. ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
G06F 1/14 - Dispositions pour le contrôle du temps, p. ex. horloge temps réel
An apparatus includes a body with an opening through the body, the opening corresponding to dimensions of a cable to be connected to a circuit board and a flat surface to abut the circuit board. The apparatus further includes one or more attachment mechanisms to attach the body to the circuit board.
Enabling communication between multiple storage controllers and a single-ported storage device, including determining, by an arbiter, that a first storage system controller of a plurality of storage system controllers has gained exclusive access to a single-ported storage device having a plurality of lanes; and in response to the determination, enabling communication between the first storage system controller and the storage device; and preventing communication between the storage device and at least one other storage system controller of the plurality of storage system controllers.
In some embodiments, storage operation routing in a container system may include receiving, by a container storage system executing on a node within a container system, a storage operation configured to be performed with respect to a storage resource; determining whether the storage resource is locally accessible at the node; and routing the storage operation based on the determining of whether the storage resource is locally accessible at the node. For example, the routing may be performed such that when the storage resource is not locally accessible at the node, the routing is by way of both a kernel space and a user space of the node, and when the storage resource is locally accessible at the node, the routing is contained within the kernel space of the node. Corresponding methods and systems are also disclosed.
Coordinated checkpoints among storage systems implementing checkpoint-based replication, including orchestrating one or more coordinated lightweight checkpoints for a source dataset stored across two or more source storage systems; and coordinating a replication of the one or more coordinated lightweight checkpoints from the two or more source storage systems to two or more target storage systems.
H04L 67/1095 - Réplication ou mise en miroir des données, p. ex. l’ordonnancement ou le transport pour la synchronisation des données entre les nœuds du réseau
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuéesArchitectures de systèmes de bases de données distribuées à cet effet
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p. ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
G06F 1/14 - Dispositions pour le contrôle du temps, p. ex. horloge temps réel
A system may include a plurality of storage systems each configured to operate in accordance with a synchronous replication configuration in which a dataset is synchronously replicated to each of the plurality of storage systems such that each of the plurality of storage systems stores and continually updates a different copy of the dataset. Each of the storage systems may be configured to independently monitor, while operating in accordance with the synchronous replication configuration, for security threats against one of the copies of the dataset; and perform, when the monitoring indicates that the one of the copies of the dataset is possibly being targeted by a security threat, a remedial action with respect to the security threat.
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p. ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 21/55 - Détection d’intrusion locale ou mise en œuvre de contre-mesures
25.
PROFILING USER ACTIVITY TO ACHIEVE SOCIAL AND GOVERNANCE OBJECTIVES
A dynamic, personality-driven user experience that includes: receiving, from a user account, a request to access a system interface for a system; identifying, based on personality indicators for the user account, a user account personality from a plurality of user account personalities, wherein each of the personality indicators is associated with at least one of the plurality of user account personalities; reconfiguring the system interface based on the identified user account personality; and granting, to the user account, access to the reconfigured system interface, including presenting the reconfigured system interface to a user of the user account.
G06F 3/06 - Entrée numérique à partir de, ou sortie numérique vers des supports d'enregistrement
G06F 3/048 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI]
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p. ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
Context driven user interfaces for storage systems including receiving, from a user account, a request to access a system interface for a system; identifying at least one critical system characteristic that describes a current aspect of the system; reconfiguring the system interface based on the at least one critical system characteristic; and presenting the reconfigured system interface to a user of the user account.
G06F 3/06 - Entrée numérique à partir de, ou sortie numérique vers des supports d'enregistrement
H04L 41/22 - Dispositions pour la maintenance, l’administration ou la gestion des réseaux de commutation de données, p. ex. des réseaux de commutation de paquets comprenant des interfaces utilisateur graphiques spécialement adaptées [GUI]
Declarative provisioning of storage, including: identifying one or more policies associated with a storage object; determining, in dependence upon at least the one or more policies, a storage configuration for the storage object; and provisioning, in accordance with the storage configuration, storage that implements the storage object.
A storage system with storage drives and a processing device establishes resiliency groups of storage system resources. The storage system determines an explicit trade-off between data survivability over resource failures and data capacity efficiency, for the resiliency groups. Responsive to adding at least one storage drive, the storage system establishes re-formed resiliency groups according to the explicit trade-off, without decreasing data survivability. The storage system may bias to have more and narrower resiliency groups to increase mean time to data loss.
A method of operating a storage system, and related storage system, are provided. The storage system establishes resiliency groups, each having a defined level of redundancy of resources of the storage system. The resiliency groups include at least one compute resources resiliency group and at least one storage resources resiliency group. The storage system supports capability of configurations that have multiples of each of the resiliency groups. Blades of the storage system perform distributed data and metadata storage across modular storage devices, in accordance with the resiliency groups.
Generating datasets using approximate baselines including receiving, by a source storage system, an instruction to create, on a target storage system, a current snapshot for a source dataset stored on the source storage system, wherein no snapshots for the source dataset exist on the target storage system; selecting, as a baseline dataset, a similar dataset from a plurality of datasets on the source storage system with an existing snapshot on the target storage system, wherein the similar dataset comprises at least a portion of the source dataset; instructing the target storage system to generate a baseline snapshot for the source dataset using a copy of the existing snapshot of the baseline dataset; and transferring, from the source storage system to the target storage system, only a difference between the baseline dataset and the source dataset.
G06F 3/06 - Entrée numérique à partir de, ou sortie numérique vers des supports d'enregistrement
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p. ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 16/11 - Administration des systèmes de fichiers, p. ex. détails de l’archivage ou d’instantanés
31.
EFFICIENTLY WRITING DATA IN A ZONED DRIVE STORAGE SYSTEM
A list of a available zones across respective SSD storage portions of a plurality of zoned storage devices of a storage system is maintained. Data is received from multiple sources, wherein the data is associated with processing a dataset, the dataset including multiple volumes and associated metadata. Shards of the data are determined such that each shard is capable of being written in parallel with the remaining shards. The shards are mapped to a subset of the available zones, respectively. The shards are written to the subset of the available zones in parallel.
Storage bandwidth for a storage system process is adjusted responsive to an input output (I/O) write request to write data to a zoned storage device. The storage bandwidth is adjusted by calculating an allocation share for the storage system process requesting to write the data and opening a new zone for the storage system process upon determining that an open zone usage by the storage system process is under the allocation share for the storage system process.
Role enforcement for storage-as-a-service including managing, for a storage system, a plurality of roles including a storage consumer role and a storage provider role, wherein the storage consumer role is associated with data management instructions that are enabled for the storage consumer role and disabled for the storage provider role, and wherein the storage provider role is associated with storage management instructions that are enabled for the storage provider role and disabled for the storage consumer role; servicing a data management instruction from a first client associated with storage consumer role, wherein the data management instruction is an instruction to manipulate data on the storage system; and servicing a storage management instruction from a second client associated the storage provider role, wherein the storage management instruction is an instruction to manage the storage system.
Rebalancing in a fleet of storage systems using data science including generating, by the cloud-based rebalancing system, a plurality of workload migration scenarios to address a detected workload imbalance among a plurality of workloads in a fleet of storage systems; determining, by the cloud-based rebalancing system, a plurality of movement vectors for each workload migration scenario, wherein each of the plurality of movement vectors describes a consideration factor for migrating a workload of the plurality of workloads within the fleet of storage systems; and generating, by the cloud-based rebalancing system, at least one rebalancing proposal based on the plurality of movement vectors for each workload migration scenario.
Monitoring gateways to a storage environment including accessing, by a cloud-based monitoring system, a management gateway for a fleet of storage systems in a storage environment; determining, by the cloud-based monitoring system via the management gateway, a location for each storage system in the fleet of storage systems; monitoring, by the cloud-based monitoring system via the management gateway, the fleet of storage systems using the location of each storage system by crawling each storage system to retrieve storage system characteristics; and generating, by the cloud-based monitoring system, a fleet alteration proposal based on the storage system characteristics from each storage system in the fleet of storage systems.
An illustrative data storage system is configured to replicate, from a source storage system to a target storage system, a pod that includes a file system constructed of block objects. The pod may be a storage system construct that groups storage entities within a namespace and supports operations on the storage entities as a group. The block objects may store metadata for individual files and directories of the file system and may support random read-write access to blocks of data associated with the files and directories of the file system.
Methods, apparatuses, and systems for ensuring timely restoration of an application, including: determining, based on a plurality of factors, a projected time to complete an application recovery operation from a first execution environment to a second execution environment and generating a report based on the projected time to complete the application recovery operation.
A first set of physical units of a storage device of a storage system is selected for performance of low latency access operations, wherein other access operations are performed by remaining physical units of the storage device. A determination as to whether a triggering event has occurred that causes a selection of a new set of physical units of the storage device for the performance of low latency access operations is made. A second set of physical units of the storage device is selected for the performance of low latency access operations upon determining that the triggering event has occurred.
G11C 16/34 - Détermination de l'état de programmation, p. ex. de la tension de seuil, de la surprogrammation ou de la sousprogrammation, de la rétention
39.
USING DATA SIMILARITY TO SELECT SEGMENTS FOR GARBAGE COLLECTION
A storage system performs garbage collection, with data compression, in storage memory. The system obtains hash results from data segments. The system determines similarity of content of data segments, based on the hash results. The system performs data compression of live data of two or more data segments that have similarity of content meeting a similarity threshold. The system writes the compressed live data of the two or more data segments into the storage memory.
In a particular embodiment, a dataset that is synchronously replicated across a plurality of storage systems is stored on a particular storage system. The storage system identifies input/output (I/O) requests directed to the dataset. The one or more I/O requests are initiated by an application hosted on a platform of the first storage system. The storage system services the one or more I/O requests directed to the dataset.
Systems and methods for view filtering for a file storage system are described. An illustrative method includes receiving a request to access content of a managed directory of a file system; filtering, without regard to how the content of the managed directory is being accessed, the content of the managed directory based on a visibility filter policy attached to the managed directory; and providing, responsive to the request, the filtered content of the managed directory.
Preserving data in a storage system operating in a reduced power mode, including: detecting that the storage system should enter the reduced power mode; and entering the reduced power mode, including performing, while in the reduced power mode, one or more maintenance operations on one or more storage devices in the storage system.
Creating a virtual storage system, including: instantiating one or more virtual storage controllers; instantiating one or more virtual storage devices each including multiple storage tiers; and constructing a virtual storage system in which the one or more virtual storage devices are coupled to each of the one or more virtual storage controllers.
In a particular embodiment, a virtual namespace identifier is mapped to one or more volumes stored among a pool of storage resources, wherein at least a first storage system and a second storage system are utilized to provide the storage resources. The virtual namespace identifier is migrated among the pool of storage resources to virtualize a data path for the one or more volumes.
A storage system stores objects in a bucket at a storage device of the storage system. Each of the objects has a corresponding version. A processing device generates a snapshot of the bucket. The snapshot captures the corresponding version of each of the objects at a time associated with the generation of the snapshot.
Providing data management as-a-service, including: presenting one or more available data services to a user; receiving a selection of one or more selected data services; and applying, in dependence upon the one or more selected data services, one or more data services policies to a dataset associated with the user.
An illustrative data storage system establishes a file system constructed of block objects. The block objects store metadata for individual files and directories of the file system and support random read-write access to blocks of data associated with the files and directories of the file system. In certain implementations, the data storage system establishes path sets that represent relationships between the files and directories and the block objects and uses the path sets to coordinate operations on the block objects. In certain implementations, the data storage system establishes a pod that includes the file system and uses the pod to perform operations on storage entities as a group, such as on the files, directories, and block objects of the file system.
A method of managing host mappings for replication endpoints, the method including: identifying a target storage system replicating a source dataset of a source storage system, wherein a first host is mapped to the source dataset on the source storage system; providing, to the target storage system and in dependence upon a mapping of the first host to the source dataset, configuration information for connecting to a second host; and implementing, in response to a triggering event, a mapping of the second host to a replica dataset on the target storage system.
G06F 16/27 - Réplication, distribution ou synchronisation de données entre bases de données ou dans un système de bases de données distribuéesArchitectures de systèmes de bases de données distribuées à cet effet
49.
ENSURING COMPLIANCE WITH GEOGRAPHY-BASED DATA MOVEMENT RESTRICTIONS
Ensuring compliance with geography-based data movement restrictions, including: identifying a physical location of a source storage system on which a dataset is stored; identifying a physical location of a target storage system upon which the dataset could be stored; and determining, in dependence upon one or more policies, whether to permit the dataset to be migrated from the source storage system to the target storage system.
Creating a replica of a storage system, including: receiving, by a first storage system from a computing device, data to be stored on the first storage system; reducing, by the first storage system, the data using one or more data reduction techniques; sending, from the first storage system to the second storage system, the reduced data, wherein the reduced data is encrypted; and sending, from the second storage system to a third storage system, the reduced data, wherein the reduced data is encrypted.
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p. ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p. ex. par clés ou règles de contrôle de l’accès
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
G06F 11/20 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel en utilisant un masquage actif du défaut, p. ex. en déconnectant les éléments défaillants ou en insérant des éléments de rechange
Continuous data protection, including sending, to a target data repository from a source data repository, metadata describing one or more updates to one or more datasets stored within the source data repository; generating, based on the metadata describing the one or more updates to the one or more datasets, an ordered log of metadata describing an ordered application of the one or more updates to the one or more datasets; and generating, on the source data repository and based on the ordered log of metadata, the one or more datasets in accordance with the one or more updates corresponding to a specified point in time.
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p. ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
G06F 11/20 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel en utilisant un masquage actif du défaut, p. ex. en déconnectant les éléments défaillants ou en insérant des éléments de rechange
Servicing I/O operations in a virtual storage system, including: receiving, by the virtual storage system, a request to write data to the virtual storage system; storing, within staging memory provided by one or more virtual drives of the virtual storage system, the data; and migrating, from the staging memory to more durable data storage provided by a cloud services provider, at least a portion of data stored within the staging memory.
Data deduplication across storage systems, including: identifying data duplicated within a plurality of storage systems that utilize shared object storage resources, responsive to identifying data duplicated within the plurality of storage systems, deduplicating the data from the shared object storage resources, including deleting one or more instances of the data from the shared object storage resources or preventing a duplicated copy of the data from being written to the shared object storage resources.
Data recovery in a virtual storage system, including: detecting, within storage provided by a first tier of storage of the virtual storage system, data loss within a dataset, wherein recovery data for the dataset is stored in a second tier of storage; determining a recovery point for the dataset up to which a consistent version of the dataset is recoverable from the recovery data stored in the second tier of storage; and restoring, within the storage provided by the first tier of storage of the virtual storage system, the consistent version of the dataset.
A storage system includes solid-state storage devices and a storage controller (610), the storage controller including a processing device to store sets of data (640) at one or more solid-state storage devices. The processing device may also generate tags (630) for each of the sets of data based on one or more metadata items associated with each set of data. The processing device may also determine an expected lifespan for each set of data based on the one or more tags generated for the respective set of data. The processing device may also group each of the one or more sets of data into respective ones of a plurality of memory blocks (650) based on the expected lifespan for each set of data, wherein each memory block corresponds to sets of data of a particular expected lifespan.
A system for cloud-based file services, comprising: a plurality of single-tenant file system nodes configured to provide file system access to an object store via a plurality of multitenant storage nodes; the plurality of multitenant storage nodes sharing access to the object store; and one or more management nodes configured to provision resources for the plurality of single-tenant file system nodes and the plurality of multitenant storage nodes.
A cloud-based storage system contained in a cloud computing environment, the cloud-based storage system including: determining, at the cloud-based storage system and in response to a request for data, that the data previously stored within one or more virtual instances of a virtual instance layer is no longer stored within the one or more virtual instances; generating, within the virtual instance layer, a quantity of virtual instances to receive data restored from a cloud-based storage layer of the cloud-based storage system; and restoring, into the quantity of virtual instances at the virtual instance layer, data from the cloud-based storage layer of the cloud-based storage system.
G06F 3/06 - Entrée numérique à partir de, ou sortie numérique vers des supports d'enregistrement
G06F 11/20 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel en utilisant un masquage actif du défaut, p. ex. en déconnectant les éléments défaillants ou en insérant des éléments de rechange
A distributed cloud-based storage system, where the distributed cloud-based storage system includes: receiving, by one or more storage controller applications of the cloud-based storage system, one or more storage operations; storing, among one or more cloud computing instances of the cloud-based storage system, the one or more storage operations; and distributing, among one or more cloud computing instances within respective one or more cloud computing environments within distinct geographic regions, one or more of the one or more storage operations.
The embodiments provide for a method of expanding a clustered service. The method includes inserting a network layer, comprising multiple switch devices, between switch devices of a network and switch devices of a clustered service, rearranging connections of the switch devices of the network and the switch devices of the clustered service to form a multi-chassis link aggregation group (MC-LAG), and maintaining data traffic during the rearranging the connections.
H04L 12/801 - Commande de flux ou commande de congestion
H04L 12/709 - Prévention ou récupération du défaut de routage, p.ex. reroutage, redondance de route "virtual router redundancy protocol" [VRRP] ou "hot standby router protocol" [HSRP] par redondance des chemins d’accès par chemins actifs parallèles M + N
H04L 12/933 - Cœur de commutateur, p.ex. barres croisées, mémoire partagée ou support partagé
60.
MECHANISM FOR UPDATING HOST FILE SYSTEM AND FLASH TRANSLATION LAYER BASED ON UNDERLYING NAND TECHNOLOGY
A method of operating a storage system is provided. The method includes executing an operating system on one or more processors of a compute device that is coupled to one or more solid-state drives and executing a file system on the one or more processors of the compute device. The method includes configuring the compute device with one or more replaceable plug-ins that are specific to the one or more solid-state drives, and executing a flash translation layer on the one or more processors of the compute device, with assistance through the one or more replaceable plug-ins for reading and writing the one or more solid-state drives.
A storage system switching between mediation models within a storage system, where the switching between mediation models includes: determining, among one or more of the plurality of storage systems, a change in availability of a mediator service, wherein one or more of the plurality of storage systems are configured to request mediation from the mediator service in response to a fault; and communicating, among the plurality of storage systems and responsive to determining the change in availability of the mediator service, a fault response model to be used as an alternate to the mediator service among one or more of the plurality of storage systems.
A storage system switching mediators within a storage system synchronously replicating data, where the switching between mediators includes: determining, among one or more of the plurality of storage systems, a change in availability of a first mediator service, wherein one or more of the plurality of storage systems are configured to request mediation from the first mediator service; communicating, among the plurality of storage systems and responsive to determining the change in availability of the first mediator service, a second mediator service to use in response to a fault; and switching, in dependence upon the change in availability of the first mediator service, from the first mediator service to the second mediator service.
A storage system asynchronously replicating a synchronously replicated dataset, where the asynchronous replication of the asynchronously replicated dataset includes: determining, at a target storage system, multiple work items corresponding to a dataset stored among multiple source storage systems, wherein each respective work item corresponds to a respective subset of the dataset; and for each session from among a plurality of sessions operating on the target storage system: determining one or more computing environment factors affecting performance of replication of data from one or more of the multiple source storage systems to the target storage system; identifying, for a given session and based on the one or more computing environment factors, a respective source storage system and a quantity of work items; and replicating, from the respective storage system, one or more subsets of data corresponding to the quantity of work items.
A integrated storage manager that includes: receiving, at an integrated storage manager from one or more storage systems from among a plurality of storage systems, one or more storage system metrics; receiving a management request from an operating system level virtualization service; and determining, based at least upon the one or more storage system metrics for the one or more storage systems, an implementation of the management request that is modified to improve one or more metrics corresponding to the one or more storage system metrics.
Automatically creating a data analytics pipeline, including: receiving, from a user, information describing a plurality of components to include in a data analytics pipeline; receiving, from the user, information describing a manner in which the plurality of components in the data analytics pipeline should be connected; and creating the data analytics pipeline in dependence upon the information describing the plurality of components to include in the data analytics pipeline and the information describing the manner in which the plurality of components in the data analytics pipeline should be connected.
Hybrid data tiering, including: replicating multiple data objects from a first storage location on a first computer system to a second storage location at a second computer system; identifying, in accordance with a retention policy, some of the multiple data objects to continue storing at the first storage location, wherein all of the multiple data objects remain stored at the second storage location; and selecting the identified some of the multiple data objects to remain stored at the first storage location.
Servicing I/O operations in a cloud-based storage system, including: receiving, by the cloud-based storage system, a request to write data to the cloud-based storage system; storing, in solid-state storage of the cloud-based storage system, the data; storing, in object storage of the cloud-based storage system, the data; detecting that at least some portion of the solid-state storage of the cloud-based storage system has become unavailable; identifying data that was stored in the portion of the solid-state storage of the cloud-based storage system that has become unavailable; retrieving, from object storage of the cloud-based storage system, the data that was stored in the portion of the solid-state storage of the cloud-based storage system that has become unavailable; and storing, in solid-state storage of the cloud-based storage system, the retrieved data.
Storage layer data security, including: receiving, at a computer system from a client computing device among one or more client computing devices, a dataset; deconstructing the dataset to identify portions of the dataset corresponding to metadata and portions of the dataset corresponding to storage data; determining that the metadata or the storage data are not in compliance with a security policy.
A method of using boot-time metadata in a storage system is provided. The method includes writing a fragmentation stride to a solid-state storage device of the storage system, the fragmentation stride defining a granularity on which fragmentation of erase blocks of the solid-state storage device occurs. The method includes allocating portions of erase blocks for at least one process in the storage system, in accordance with the fragmentation stride and writing boot up metadata at offsets that are based on the fragmentation stride, in the solid-state storage device.
A method of encryption management with host-side data reduction includes identifying data to be written to a storage array and compressing the data to generate compressed data. The method further includes encrypting the compressed data to generate an encrypted data packet. The method further includes adding, by a processing device of a host, a padding bit pattern to the encrypted data packet to generate a data block for storage. The method further includes sending the data block to the storage array.
Protecting data stored on a storage system through the use of different storage levels, including: creating a snapshot of a dataset stored on a storage system, wherein the snapshot includes user data and metadata, and wherein the metadata describes the storage layout of the dataset, offloading the snapshot to a first storage level storage system, and migrating, in accordance with a lifecycle policy, the snapshot from the first storage level storage system onto a second storage level storage system.
Performing data storage operations on a storage element integrating fast durable storage and bulk durable storage, including: receiving, at the storage element integrating fast durable storage and bulk durable storage, a data storage operation from a host computer; determining, in dependence upon the data storage operation, a selection of fast durable storage and bulk durable storage for performing the data storage operation; and performing, using the determined selection of fast durable storage and bulk durable storage, the data storage operation.
Ensuring reproducibility in an artificial intelligence infrastructure that includes one or more storage systems and one or more graphical processing unit ('GPU') servers, including: identifying, by a unified management plane, one or more transformations applied to a dataset by the artificial intelligence infrastructure, wherein applying the one or more transformations to the dataset causes the artificial intelligence infrastructure to generate a transformed dataset; storing, within the one or more storage systems, information describing the dataset, the one or more transformations applied to the dataset, and the transformed dataset; identifying, by the unified management plane, one or more machine learning models executed by the artificial intelligence infrastructure using the transformed dataset as input; and storing, within the one or more storage systems, information describing one or more machine learning models executed using the transformed dataset as input.
A pod, the pod including the dataset, a set of managed objects and management operations, a set of access operations to modify or read the dataset, and a plurality of storage systems, where: management operations can modify or query managed objects equivalently through any of the storage systems, access operations to read or modify the dataset operate equivalently through any of the storage systems, each storage system stores a separate copy of the dataset as a proper subset of the datasets stored and advertised for use by the storage system, and operations to modify managed objects or the dataset performed and completed through any one storage system are reflected in subsequent management objects to query the pod or subsequent access operations to read the dataset.
A method of operating a solid-state storage drive is provided. The method includes encrypting, in the solid-state storage drive, first data by a first key, and writing the encrypted first data into solid-state storage memory of the solid-state storage drive. The method includes encrypting, in the solid-state storage drive, second data by a second key, and writing the encrypted second data into the solid-state storage memory of the solid-state storage drive, wherein at least one of the first key or the second key is supplied from a source external to the solid-state storage drive.
G06F 21/79 - Protection de composants spécifiques internes ou périphériques, où la protection d'un composant mène à la protection de tout le calculateur pour assurer la sécurité du stockage de données dans les supports de stockage à semi-conducteurs, p. ex. les mémoires adressables directement
76.
DYNAMICALLY ADJUSTING AN AMOUNT OF LOG DATA GENERATED FOR A STORAGE SYSTEM
Dynamically adjusting an amount of log data generated for a storage system that includes a plurality of storage devices, including: setting, for a component within the storage system, a logging level for the component, the logging level specifying the extent to which log data should be generated for a particular component; determining, in dependence upon one or more measured operating characteristics of the storage system, whether the logging level for the component should be changed; and responsive to determining that the logging level for the component should be changed, changing the logging level associated with the component.
An indication to perform a garbage collection process for multiple erase blocks at a storage array that includes multiple storage devices may be received. Characteristics for each of the erase blocks may further be received. Valid data at each of the erase blocks may be identified. Furthermore, valid data from different erase blocks of the multiple erase blocks may be grouped based on a similarity of the plurality of characteristics between the valid data from the different erase blocks. The valid data from the different erase blocks may subsequently be stored at another erase block at the storage array.
A method for processing blocks of flash memory to decrease raw bit errors from the flash memory is provided. The method includes identifying one or more blocks of the flash memory for a refresh operation and writing information regarding the identified blocks, to a data structure. The method includes issuing background reads to the identified blocks, according to the data structure, as the refresh operation. The method may be embodied on a computer readable medium. In some embodiments the background reads may be based on a time based refresh responsive to an increase in raw bit error count in the flash memory over time.
G11C 16/34 - Détermination de l'état de programmation, p. ex. de la tension de seuil, de la surprogrammation ou de la sousprogrammation, de la rétention
79.
PERIODICALLY RE-ENCRYPTING USER DATA STORED ON A STORAGE DEVICE
Periodically re-encrypting user data stored on a storage device, including: reading user data stored on the storage device, wherein the user data is associated with a user-visible identifier; determining, from metadata associated with the user data, whether the user data is encrypted utilizing an expiring data encryption key; responsive to determining that the user data is encrypted utilizing the expiring data encryption key, re-encrypting the user data utilizing a current data encryption key; and writing the user data that is encrypted with the current data encryption key to the storage device, wherein the user data remains associated with the user-visible identifier.
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p. ex. par clés ou règles de contrôle de l’accès
G06F 12/14 - Protection contre l'utilisation non autorisée de mémoire
G06F 21/80 - Protection de composants spécifiques internes ou périphériques, où la protection d'un composant mène à la protection de tout le calculateur pour assurer la sécurité du stockage de données dans les supports de stockage magnétique ou optique, p. ex. disques avec secteurs
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
A storage controller coupled to a storage array comprising one or more storage devices receives a request to write encrypted data to a volume resident on a storage array, where the encrypted data comprises data encrypted by a first encryption key that is associated with at least one property of the data. The storage controller determines a decryption key to decrypt the encrypted data, decrypts the encrypted data using the decryption key, performs at least one data reduction operation on the decrypted data, encrypts the reduced data using a second encryption key to generate a second encrypted data, and storing the second encrypted data on the storage array.
In one implementation, a method includes maintaining a list of available allocation units across a plurality of flash devices of a flash storage system, wherein the flash devices map erase blocks as directly addressable storage, and wherein erase blocks are categorized by the flash storage system as available for use, in use, or unusable, and wherein at least a portion of an erase block can be assigned as an allocation unit. The method further includes receiving data from a plurality of sources, wherein the data is associated with processing a dataset, the dataset comprising multiple file systems and associated metadata. The method further includes determining a plurality of subsets of the data such that each subset is capable of being written in parallel with the remaining subsets, mapping each subset of the plurality of subsets to an available allocation unit, and writing the plurality of subsets in parallel.
Accumulating application-level statistics in a storage system that includes a plurality of block storage devices, including: identifying, from data stored on a block storage device, one or more sub-regions of the data stored on the block storage device that are associated with an application; and compiling, from statistics maintained for each of the one or more sub-regions of the stored data associated with the application, cumulative statistics for the application.
Stems and methods of deduplication aware scalable content placement are described. A method may include receiving data to be stored on one or more nodes of a storage array and calculating a plurality of hashes corresponding to the data. The method further includes determining a first subset of the plurality of hashes, determining a second subset of the plurality of hashes of the first subset, and generating a node candidate placement list. The method may further include sending the first subset to one or more nodes represented on the node candidate placement list and receiving, from the nodes represented on the node candidate placement list, characteristics corresponding to the nodes represented on the candidate placement list. The method may further include identifying one of the one or more nodes represented on the candidate placement list in view of the characteristic and sending the data to the identified node.
A storage controller coupled to a storage array comprising one or more storage devices receive a request to write data to one of the storage devices. The storage controller determines a first data block on the storage device comprising a list of deallocated data blocks on the storage device, the list comprising a block number of each deallocated data block and an access operation count value at which each deallocated data block was deallocated. The storage controller identifies a second data block from the list of deallocated data blocks on the storage device based on a corresponding access operation count value from the list and writes the data to the second data block.
Performance tuning in a storage system that includes one or more storage devices, including: storing, by a primary controller of the storage system, data corresponding to one or more computer processes into one or more of the one or more storage devices, determining, by a secondary controller that is configured similarly to the primary controller, one or more utilization patterns of the data, and initiating, in dependence upon the one or more utilization patterns of the data, a modification to a manner in which the one or more computer processes access the data stored in the one or more storage devices.
Apparatus and methods of operating solid-state drives in a storage system are described. A method includes adjusting, by a host controller of a storage system during run-time, storage bandwidth for a storage system process responsive to an input output (I/O) write request to write data to the storage system that includes multiple solid-state storage drives by determining an allocation share for the storage system process requesting to write the data, and responsive to determining an open segment usage by the storage system process is under the allocation share for the storage system process, opening a new segment for the storage system process.
A method includes receiving, by a storage drive and from a storage controller, a modified first reservation command including a first logical unit identifier. The first reservation command includes a first host identifier to identify a first host controller was previously received by the storage controller from the first host controller. The first reservation command was modified by the storage controller to replace the first host identifier with the first logical unit identifier. The method also includes responsive to receiving the modified first reservation command, identifying, by the storage drive, a first logical unit of storage based on the first logical unit identifier of the modified reservation command. The method includes granting, by the storage drive, a reservation for access to the storage drive on behalf of the first host controller by associating the reservation for the first logical unit with a second logical unit of storage.
A storage controller coupled to a storage array comprising one or more storage devices initiates a transformation of data from a block-based storage system resident on the storage array to a file-based storage system resident on a storage array. The storage controller identifies a plurality of data blocks to be transformed from the block-based storage system and generates metadata for a file in the file-based storage system, the metadata to associate the plurality of data blocks with the file.
An indication of a power-up of a storage device may be received. In response to receiving the indications, a first data structure that is stored at a volatile memory of the storage device may be retrieved. The first data structure may include first information associated with characteristics of a plurality of data blocks of the storage device. A second data structure stored at a non-volatile memory of the storage device may be retrieved where the second data structure includes second information associated with the characteristics of the plurality of data blocks of the storage device. A new data structure may be created based on the first information and the second information and a rule where an entry of the new data structure is provided a value from one of the first information or the second information based on the rule.
G06F 11/10 - Détection ou correction d'erreur par introduction de redondance dans la représentation des données, p. ex. en utilisant des codes de contrôle en ajoutant des chiffres binaires ou des symboles particuliers aux données exprimées suivant un code, p. ex. contrôle de parité, exclusion des 9 ou des 11
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p. ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
A system may include embedded storage devices, each including: a first solid state drive (SSD) storage portion and a second non-volatile random-access memory (NVRAM) portion. The NVRAM portion includes a random access memory (RAM) device, a processing device, and an energy source, where the first SSD portion and the second NVRAM portion are separately addressable. The system further includes a storage system controller, operatively coupled to the embedded storage devices via a network. The storage system controller may be to: determine that data is to be stored in the first SSD storage portion of a first embedded storage device of the plurality of embedded storage devices; and buffer the data in the second NVRAM portion of a second embedded storage device of the plurality of embedded storage devices.
A method for adaptive concurrency for write persistence in a storage system, performed by the storage system, is provided. The method includes selecting a write process from among a plurality of write processes, responsive to receiving a write request for writing data into the storage system, and writing the data into the storage system in accordance with the selected write process. One of the plurality of write processes includes transferring the data into the storage system, locking an inode associated with file information of the data in memory, updating the file information in the inode while the inode is locked, committing the data while the inode is locked, and unlocking the inode.
A method of distributed file deletion, performed by a storage system, is provided. The method includes receiving, at the storage system, a request to delete a directory and contents of the directory and adding the directory to a first set, listed in a memory in the storage system. The method includes operating on the first set, by examining each directory in the first set to identify subdirectories, adding each identified subdirectory to the first set as a directory, and adding each examined directory to a second set listed in the memory. The method includes deleting in a distributed manner across the storage system without concern for order, contents of directories, and the directories, listed in the second set.
Ensuring the fair utilization of system resources using workload based, time-independent scheduling, including: receiving an I/O request associated with an entity; determining whether an amount of system resources required to service the I/O request is greater than an amount of available system resources in a storage system; responsive to determining that the amount of system resources required to service the I/O request is greater than the amount of available system resources in the storage system: queueing the I/O request in an entity-specific queue for the entity; detecting that additional system resources in the storage system have become available; and responsive to detecting that additional system resources in the storage system have become available, issuing an I/O request from an entity-specific queue for an entity that has a highest priority among entities with non-empty entity-specific queues.
Migrating data in a storage array that includes a plurality of storage devices, including: detecting, by the storage array, an occurrence of a storage device evacuation event associated with one or more source storage devices; responsive to detecting the occurrence of the storage device evacuation event, identifying, by the storage array, one or more target storage devices for receiving data stored on the one or more source storage devices; reducing, by the storage array, write access to the one or more source storage devices; and migrating the data stored on the one or more source storage devices to the one or more target storage devices.
G06F 3/06 - Entrée numérique à partir de, ou sortie numérique vers des supports d'enregistrement
G06F 11/10 - Détection ou correction d'erreur par introduction de redondance dans la représentation des données, p. ex. en utilisant des codes de contrôle en ajoutant des chiffres binaires ou des symboles particuliers aux données exprimées suivant un code, p. ex. contrôle de parité, exclusion des 9 ou des 11
95.
GEOMETRY BASED, SPACE AWARE SHELF/WRITEGROUP EVACUATION
A method for migration of data is provided. The method includes triggering a rebuild of data according to a first migration mechanism from a first storage drive to a second storage drive. Monitoring space utilization associated with the second storage drive, and adaptively switching the migration of the data from the first migration mechanism to a second migration mechanism based on the monitoring.
Evacuating blades in a storage array that includes a plurality of blades, including: detecting an occurrence of a blade evacuation event associated with one or more blades; iteratively until migration has completed for each of the blades associated with the blade evacuation event: selecting, in dependence upon a blade redundancy policy, one or more next blades to be evacuated from the storage array; migrating, from the one or more next blades to one or more blades in the storage array that are not associated with the blade evacuation event, data stored on the next blade; and migrating, from the one or more next blades to one or more blades in the storage array that are not associated with the blade evacuation event, storage array computational workloads executing on the one or more next blades.
G06F 3/06 - Entrée numérique à partir de, ou sortie numérique vers des supports d'enregistrement
G06F 11/00 - Détection d'erreursCorrection d'erreursContrôle de fonctionnement
G06F 11/20 - Détection ou correction d'erreur dans une donnée par redondance dans le matériel en utilisant un masquage actif du défaut, p. ex. en déconnectant les éléments défaillants ou en insérant des éléments de rechange
97.
EVACUATING BLADES IN A STORAGE ARRAY THAT INCLUDES A PLURALITY OF BLADES
Evacuating blades in a storage array that includes a plurality of blades, including: detecting an occurrence of a blade evacuation event associated with one or more blades; iteratively until migration has completed for each of the blades associated with the blade evacuation event: selecting, in dependence upon a blade redundancy policy, one or more next blades to be evacuated from the storage array; migrating, from the one or more next blades to one or more blades in the storage array that are not associated with the blade evacuation event, data stored on the next blade; and migrating, from the one or more next blades to one or more blades in the storage array that are not associated with the blade evacuation event, storage array computational workloads executing on the one or more next blades.
A method for non-disruptive upgrade of a storage system is provided. The method includes disabling, by an interlock, access by one or more processors of the storage system to the first memory, responsive to a request. The method includes persisting configuration information in the first memory to the solid-state memory, with the access to the first memory disabled by the interlock, wherein the persisting, the first memory and the solid-state memory are supported by an energy reserve. The method includes enabling, by the interlock, access by the one or more processors to the first memory, responsive to completing the persisting, and writing, by the one or more processors of the storage system, to the first memory, to perform the upgrade with further configuration information, with the access enabled by the interlock and wherein at least the persisting is accomplished without power cycling.
A method for storing data in a storage system having solid-state memory is provided. The method includes determining portions of the solid-state memory that have a faster access rate and portions of the solid-state memory that have a slower access rate, relative to each other or to a threshold. The method includes writing data bits of erasure coded data to the portions of the solid-state memory having the faster access rate, and writing one or more parity bits of the erasure coded data to the portions of the solid-state memory having the slower access rate. A storage system is also provided.
G06F 11/10 - Détection ou correction d'erreur par introduction de redondance dans la représentation des données, p. ex. en utilisant des codes de contrôle en ajoutant des chiffres binaires ou des symboles particuliers aux données exprimées suivant un code, p. ex. contrôle de parité, exclusion des 9 ou des 11
G06F 3/06 - Entrée numérique à partir de, ou sortie numérique vers des supports d'enregistrement
100.
INDEPENDENT SCALING OF COMPUTE RESOURCES AND STORAGE RESOURCES IN A STORAGE SYSTEM
A storage system that supports independent scaling of compute resources and storage resources, the storage system including: one or more chassis, wherein each chassis includes a plurality of slots, each slot configured to receive a blade; a plurality of compute resources; a plurality of storage resources; a plurality of blades, where each blade includes at least one compute resource or at least one storage resource and each of the storage resources may be directly accessed by each of the compute resources without utilizing an intermediate compute resource; a first power domain configured to deliver power to one or more of the compute resources; and a second power domain configured to deliver power to the storage resources, wherein the first power domain and the second power domain can be independently operated.