Abstract:
Systems, methods and/or devices are used to enable prioritizing garbage collection and block allocation based on I/O history for logical address regions. In one aspect, the method includes (1) receiving, at a storage device, a plurality of input/output (I/O) requests from a host, the plurality of I/O requests including read requests and write requests to be performed in a plurality of regions in a logical address space of the host, (2) in accordance with the plurality of I/O requests over a predetermined time period, identifying an idle region of the plurality of regions in the logical address space of the host, and (3) in accordance with the identification of the idle region, enabling garbage collection of data storage blocks, in the storage device, that store data in the idle region.
Abstract:
Disclosed are systems, computer-readable mediums, and methods for reading a sequence number from regions of a solid state storage device. A latest region is determined based upon the sequence numbers and a checkpoint file is read within the latest region. A request for a block of data of a first branch is received. A first block of pointers associated with the first branch from the checkpoint file is read. A first pointer from the first block of pointers and a second block of pointers pointed to by the first pointer are read. A second pointer from the second block of pointers and a third block of pointers pointed to by the second pointer are read. A third pointer from the third block of pointers and data pointed to by the third pointer are read. The block of data of the first branch is determined based upon the read data. The block of data is returned.
Abstract:
The present invention aims at providing a storage subsystem capable of improving a backend-side I/O processing performance and enabling a single semiconductor memory adapter to be replaced at a time. Therefore, the present invention provides one or more semiconductor memory adapter boards mounting semiconductor memories each having smaller capacity than SSDs attached detachably to a drive canister, a wide port connection established to access the semiconductor memories, the semiconductor memories used as a read cache area of HDDs, and further adopts a wind direction control structure for ensuring a cooling wind path to the HDDs when an adapter board is attached.
Abstract:
A method includes receiving a signal indicating a loss of power, starting a timer, the timer configured to expire after a specific time period, copying, by a distributed storage system having volatile memory configured as a write cache, write cache data from the volatile memory to a solid state device, upon receiving the signal indicating the loss of power to the storage system, configuring, the solid state device as both a read cache and the write cache, performing a health test on the storage system upon receiving the signal indicating the loss of power, determining the loss of power as a false alarm if the timer expires and the storage system passes a health test on the storage system, and upon the timer expiring and the storage system passing the health test, copying the write cache data from the solid state device back to the volatile memory.
Abstract:
A storage system which is connected to a host computer, includes a storage device; a first controller which controls data transfers between the storage device and the host computer; a second controller connected to the first controller and controls data transfers between the storage device and the host computer; a non-volatile memory; and a battery device. The first controller includes a first volatile memory and the second controller comprising a second volatile memory. Upon a power outage, the battery device starts supplying electric power to the first controller and the second controller, and wherein the second controller copies data which is stored in the first volatile memory to the second volatile memory and, after copying is complete, stops operation of the first controller, stops the power supply from the battery device to the first controller, and copies data.
Abstract:
A power loss condition is detected that affects volatile data that is cached in preparation for storage in a non-volatile, solid-state memory device. The volatile cached data is stored in an over-provisioned portion of the non-volatile, solid-state memory device in response to the power loss condition.
Abstract:
A memory device includes first and second memory cell arrays, and a control circuit configured to output first information indicating whether the first memory cell array is in a ready state in which the control circuit is ready to receive a command to access the first memory cell array or a busy state in which the control circuit is not ready to receive the command to access the first memory cell array, and second information indicating whether the second memory cell array is in a ready state in which the control circuit is ready to receive a command to access the second memory cell array or a busy state in which the control circuit is not ready to receive the command to access the second memory cell array.
Abstract:
A storage system includes a Central Processing Unit (CPU) that has a physically-addressed solid state disk (SSD) and is addressable using physical addresses associated with user data that are provided by a host. The user data is to be stored in or retrieved from the physically-addressed SSD in blocks. Further, a non-volatile memory module is coupled to the CPU and includes flash tables used to manage blocks in the physically addressed SSD. The flash tables have tables that are used to map logical to physical blocks for identifying the location of the user data in the physically-addressed SSD. The flash tables are maintained in the non-volatile memory modules.
Abstract:
A data storage system having at least one cache and at least two processors balances the load of data access operations by directing certain processes in each data access operation to one of the processors. Each processor may be optimized for its specific processes. One processor may be dedicated to receiving and servicing data access requests; another processor may be dedicated to background tasks and cache management.
Abstract:
Systems and methods are disclosed for identifying and compressing rarely used data. A storage module may include a memory and a storage controller in operative communication with the memory. The storage controller is configured to identify an access of data stored at a first portion of the memory; determine, based on a first value of the access counter associated with the identified access and a second value of the access counter, that an age of the data stored at the first portion of the memory exceeds a threshold; identify data stored at a second portion of the memory that is associated with a third value of the access counter, where the third value of the access counter is within a range of the first value of the access counter; and compress together at least the data stored at the first and second portions of the memory.