摘要:
A virtual storage layer (VSL) for a non-volatile storage device presents a large, logical address space having a logical capacity that may exceed the storage capacity of the non-volatile storage device. The VSL implements persistent storage operations within the logical address space; storage operations performed within the logical address space may be persisted on the non-volatile storage device. The VSL maintains storage metadata to allocate ranges of the logical address space to storage entities. The VSL provides for allocation of contiguous logical address ranges, which may be implemented by segmenting logical identifiers into a first portion referencing storage entities, and a second portion referencing storage entity offsets. The VSL persists data on the non-volatile storage device in a sequential, log-based format. Accordingly, storage clients, such as file systems, databases, and other applications, may delegate logical allocations, physical storage bindings, and/or crash-recovery to the VSL.
摘要:
An apparatus, system, and method are disclosed for a shared, front-end, distributed redundant array of independent drives (“RAID”). A multiple storage request receiver module receives at least two storage requests from at least two clients to store file or object data in one or more storage devices of a storage device set. The storage requests are concurrent and have at least a portion of the data in common. The storage device set includes autonomous storage devices forming a RAID group. Each storage device is capable of independently receiving storage requests from a client over a network. A striping module calculates a stripe pattern and writes N data segments per stripe to N storage devices. A parity-mirror module writes a set of N data segments to parity-mirror storage devices. A sequencer module ensures completion of a first storage request prior to executing a second storage request.
摘要:
An apparatus, system, and method are disclosed for caching data on a solid-state storage device. The solid-state storage device maintains metadata pertaining to cache operations performed on the solid-state storage device, as well as storage operations of the solid-state storage device. The metadata indicates what data in the cache is valid, as well as information about what data in the nonvolatile cache has been stored in a backing store. A backup engine works through units in the nonvolatile cache device and backs up the valid data to the backing store. During grooming operations, the groomer determines whether the data is valid and whether the data is discardable. Data that is both valid and discardable may be removed during the grooming operation. The groomer may also determine whether the data is cold in determining whether to remove the data from the cache device. The cache device may present to clients a logical space that is the same size as the backing store. The cache device may be transparent to the clients.
摘要:
An apparatus, system, and method are disclosed for power loss management in a nonvolatile data storage device. A monitor module initiates a power loss mode in the nonvolatile data storage device in response to a primary power source failing to supply electric power above a predefined threshold to the nonvolatile data storage device. A secondary power source supplies electric power to the nonvolatile data storage device for at least a power hold-up time during the power loss mode. A power loss module adjusts execution of in-process operations on the nonvolatile data storage device during the power loss mode so that essential in-process operations execute within the power hold-up time.
摘要:
Methods, program products, and systems for monitoring extrinsic processes are described. A monitoring process can monitor one or more target processes. The target processes can be extrinsic, e.g., not spawned by the monitoring process. The monitoring process reads a process registry to identify which processes among multiple processes to monitor. The monitoring process can send status requests to the identified target processes periodically to check whether the target processes are healthy. If a target process is terminated, the monitoring process determines whether the termination is normal (e.g., by a user), or abnormal (e.g., the target process crashed). The monitoring process can restart the abnormally terminated or hung target process.
摘要:
An apparatus, system, and method are disclosed for a scalable, composite, reconfigurable backplane. The backplane is made up of one or more blade aggregation modules which provide switching for attached devices. The blade aggregation module connects to transition cards that then connect with blade modules. The blade aggregation module provides connectivity to the connected modules, which may connect to a second blade aggregation module through the transition cards. The transition cards may additionally connect with unit aggregation modules to connect rows of blade modules together. Transition cards can also provide outside connectivity. The backplane, made up of blade aggregation modules, transition cards, and unit aggregation modules, is highly scalable and versatile, and also provides an unblocked airflow path to facilitate cooling the blades.
摘要:
An apparatus, system, and method are disclosed for efficiently mapping virtual and physical addresses. A forward mapping module uses a forward map to identify physical addresses of data of a data segment from a virtual address. The data segment is identified in a storage request. The virtual addresses include discrete addresses within a virtual address space where the virtual addresses sparsely populate the virtual address space. A reverse mapping module uses a reverse map to determine a virtual address of a data segment from a physical address. The reverse map maps the data storage device into erase regions such that a portion of the reverse map spans an erase region of the data storage device erased together during a storage space recovery operation. A storage space recovery module uses the reverse map to identify valid data in an erase region prior to an operation to recover the erase region.
摘要:
An apparatus, system, and method are disclosed for storage space recovery after reaching a read count limit. A read module reads data in a storage division of solid-state storage. A read counter module then increments a read counter corresponding to the storage division. A read counter limit module determines if the read count exceeds a maximum read threshold, and if so, a storage division selection module selects the corresponding storage division for recovery. A data recovery module reads valid data packets from the selected storage division, stores the valid data packets in another storage division of the solid-state storage, and updates a logical index with a new physical address of the valid data.
摘要:
An apparatus, system, and method are disclosed for sharing a device between multiple hosts. The apparatus, system, and method include an RDMA setup module and an RDMA execution module. The RDMA setup module prepares a solid-state storage controller for an RDMA operation to transfer data of a file or of an object between the solid-state storage controller and a requesting device in response to a storage request. The storage request may be substantially free of the data, and the solid-state storage controller may control a solid-state storage via a storage input/output (“I/O”) bus. The solid-state controller controls storage of data in the solid-state storage, and the requesting device is connected to the solid-state controller through a computer network. The RDMA execution module executes the RDMA operation to transfer the data between the requesting device and the solid-state storage controller.
摘要:
The invention includes a proxy request receiver module and a proxy request command module. The proxy request receiver module executes on a designated command proxy host and receives a proxy request from a requesting host. The requesting host is one of two or more hosts. Each of the hosts executes an operating system independent from the other hosts and a shared device. One of the hosts is designated as the command proxy host. A system bus connects the hosts and shared device. The proxy request includes a control request to be executed by the shared device sufficient to configure the shared device for a data transfer between the requesting host and shared device independent of the command proxy host. The control request is free of data. The proxy request command module transmits the control request to the shared device.