Abstract:
A network storage server implements a method to limit simultaneous data transfers and efficient throttle management. The number of processes that can be simultaneously performed in the network storage server is limited. For the processes that do not exceed the limiting number, and are therefore allowed to be simultaneously performed, a throttle control is implemented on each of the processes to limit the amount of system resources that can be allocated to each of the processes. The processes are performed on the network storage server, and a total amount of system resources allocated to these processes does not exceed the available system resources of the network storage server.
Abstract:
A network storage server implements a method to perform transactional failover of data sets. Multiple storage objects are organized into primary and secondary data sets, and a disaster recovery policy is configured for failing-over a primary data set to a secondary data set. A failover operation is defined for the disaster recovery policy. The failover operation includes multiple failover actions. During a failover situation, the failover operation is invoked to fail-over the primary data set. The failover operation is transactionally processed to ensure that all failover actions of the failover operation are performed in a single transaction.
Abstract:
The data path in a network storage system is streamlined by sharing a memory among multiple functional modules (e.g., N-module and D-module) of a storage server that facilitates symmetric access to data from multiple clients. The shared memory stores data from clients or storage devices to facilitate communication of data between clients and storage devices and/or between functional modules, and reduces redundant copies necessary for data transport. It reduces latency and improves throughput efficiencies by minimizing data copies and using hardware assisted mechanisms such as DMA directly from host bus adapters over an interconnection, e.g. switched PCI-e "network". This scheme is well suited for a "SAN array" architecture, but also can be applied to NAS protocols or in a unified protocol-agnostic storage system. The storage system can provide a range of configurations ranging from dual module to many modules with redundant switched fabrics for I/O, CPU, memory, and disk connectivity.
Abstract:
A network storage controller uses a non-volatile solid-state memory (NVSSM) subsystem which includes raw flash memory as stable storage for data, and uses remote direct memory access (RDMA) to access the NVSSM subsystem, including to access the flash memory. Storage of data in the NVSSM subsystem is controlled by an external storage operating system in the storage controller. The storage operating system uses scatter-gather lists to specify the RDMA read and write operations. Multiple client-initiated reads or writes can be combined in the storage controller into a single RDMA read or write, respectively, which can then be decomposed and executed as multiple reads or writes, respectively, in the NVSSM subsystem. Memory accesses generated by a single RDMA read or write may be directed to different memory devices in the NVSSM subsystem, which may include different forms of non-volatile solid-state memory.
Abstract:
A computer storage system includes multiple disk trays, each disk tray holding two or more physical disks. The disks on a single tray are virtualized into a single logical disk. The single logical disk reports to the RAID (redundant array of inexpensive disks) subsystem, creating the impression that there is one large capacity disk. In one implementation, each disk in the tray is allocated to a different RAID group. By allocating the disks in a tray to different RAID groups, if the tray is removed, only a portion of several different RAID groups are removed. This arrangement permits a simple reconstruction of the RAID groups if a disk tray is removed from the system.
Abstract:
A network storage server implements a method to discard sensitive data from a Persistent Point-In-Time Image (PPI). The server first efficiently identifies a dataset containing the sensitive data from a plurality of datasets managed by the PPI. Each of the plurality of datasets is read-only and encrypted with a first encryption key. The server then decrypts each of the plurality of datasets, except the dataset containing the sensitive data, with the first encryption key. The decrypted datasets are re-encrypted with a second encryption key, and copied to a storage structure. Afterward, the first encryption key is shredded.
Abstract:
In an embodiment of the invention, an apparatus uses a LUN (logical unit number) data type for storage allocation. The apparatus includes a storage appliance that specifies a LUN data type for a LUN. The storage appliance then allocates data blocks in the LUN based on the LUN data type. The storage appliance allocates data blocks in the LUN as contiguous data blocks or as non-contiguous data blocks, based on the LUN data type. The LUN data type may be, for example, database data type, user data type, or binary data type.
Abstract:
Methods and systems for periodically analyzing and correcting storage load imbalances in a storage network environment including virtual machines are described. These methods and systems account for various resource types, logical access paths, and relationships among different storage environment components. Load balancing may be managed in terms of input/output (I/O) traffic and storage utilization. The aggregated information is stored, and may be used to identify and correct load imbalances in a virtual server environment in order to prevent primary congestion and bottlenecks.
Abstract:
Techniques are provided for implementing management requests associated with objects of an object store. A data connector component may be instantiated as a container for processing management requests associated with backup data stored within an object store as an object according to an object format. A management request associated with the backup data may be received by the data connector component. A structure associated with the object having the object format may be traversed by the data connector component to identify the backup data. The data connector component may be implemented upon the backup data stored within the object.
Abstract:
The disclosed technology relates to managing input-output operation in a zoned storage system includes identifying a first physical zone and a second physical zone within a zoned namespace solid-state drive associated with a logical zone to perform a received write operation. Data to be written in the received write operation is temporarily staged in a zone random write area associated with the identified second physical zone. Based a storage threshold of the zone random write area, a determination is made regarding when to transfer temporarily staged data to be written area to the identified second physical zone. When the storage threshold of the zone random write area determined to have exceeded, temporarily staged data to be written is transferred to the identified second physical zone.