G06F11/201

SAS SYSTEM, SAS SYSTEM TRAVERSAL METHOD, AND APPARATUS
20170242815 · 2017-08-24 · ·

A SAS system includes an SAS controller, a first expansion card, a second expansion card, and a third expansion card. The first expansion card includes a first port and a second port. The second expansion card and the third expansion card establish a communication connection to the SAS controller by using the first expansion card. The first expansion card establishes a communication connection to the second expansion card through the first port. The first expansion card establishes a communication connection to the third expansion card through the second port. The second expansion card is connected to the third expansion card.

Control plane method and apparatus for providing erasure code protection across multiple storage devices

A system and method for providing erasure code protection across multiple storage devices. A data switch in a storage system connects a plurality of storage devices to a remote host. Each storage device is also connected to a controller, e.g., a baseboard management controller. During normal operation, read and write commands from the remote host are sent to respective storage devices through the data switch. When a write command is executed, the storage device executing the command sends a copy of the data to the controller, which generates and stores erasure codes, e.g., on a storage device that is dedicated to the storage of erasure codes, and invisible to the remote host. When a device fails or is removed, the controller reconfigures the data switch to redirect all traffic addressed to the failed or absent storage device to the controller, and the controller responds to host commands in its stead.

SELF-HEALING VIRTUALIZED FILE SERVER

In one embodiment, a system for managing a virtualization environment comprises a plurality of host machines, one or more virtual disks comprising a plurality of storage devices, a virtualized file server (VFS) comprising a plurality of file server virtual machines (FSVMs), wherein each of the FSVMs is running on one of the host machines and conducts I/O transactions with the one or more virtual disks, and a virtualized file server self-healing system configured to identify one or more corrupt units of stored data at one or more levels of a storage hierarchy associated with the storage devices, wherein the levels comprise one or more of file level, filesystem level, and storage level, and when data corruption is detected, cause each FSVM on which at least a portion of the unit of stored data is located to recover the unit of stored data.

Systems and Methods to Maintain Consistent High Availability and Performance in Storage Area Networks
20170220249 · 2017-08-03 ·

Embodiments of the present disclosure enable high availability and performance in view of storage controller failure. A storage system includes three or more controllers that may be distributed in a plurality of enclosures. The controllers are in high availability pairs on a per volume basis, with volumes and corresponding mirror targets distributed throughout the storage system. When a controller fails, other controllers in the system detect the failure and assess whether one or more volumes and/or mirror targets are affected. If no volumes/mirror targets are affected, then write-back caching continues. If volume ownership is affected, then a new volume owner is selected so that write-back caching may continue. If mirror target ownership is affected, then a new mirror target is selected so that write-back caching may continue. As a result, write-back caching availability is increased to provide low latency and high throughput in degraded mode as in other modes.

System and method of read/write control for dual channel memory modules for robust performance

A memory controller for dual-channel DDR DIMMs comprises a first memory channel configured to execute a first memory transaction with a first memory device of a dual-channel DDR DIMM, and a second memory channel configured to execute a second memory transaction with a second memory device of the dual-channel DDR DIMM. The memory controller is configured to determine that the first memory channel is experiencing a degraded performance level in executing the first memory transaction with the first device, and to prevent read-write memory transactions and write-read memory transactions on the first and second memory channels in response to determining that the first memory channel is experiencing the degraded performance level.

Memory controller and memory system
11249895 · 2022-02-15 · ·

A memory controller for preventing the storage area of a flash memory being reduced is provided. The memory controller controlling access to a flash memory based on a command provided from a host system, the memory controller includes: a processor, a RAM (random access memory), and a mask ROM (read only memory) in which a first firmware is written, wherein the memory controller is configured to: perform a search for a second firmware written in the flash memory based on the first firmware at a start-up time; and write a third firmware provided from the host system in the RAM when the second firmware is not found through the search and perform an initialization based on the third firmware written in the RAM.

ALERTING AND MANAGING DATA STORAGE SYSTEM PORT OVERLOAD DUE TO HOST PATH FAILURES

Techniques for detecting and managing target port overloads due to host initiator or path failures may include: receiving I/Os from initiators of a host at target ports of a data storage system; determining initiator workloads for the initiators; determining target workloads for the target ports; determining that a first of the initiators of the host is a failed initiator that has stopped sending I/Os to the data storage system, wherein the first initiator has a first of the initiator workloads; determining, in accordance with the first initiator workload, revised target workloads for the target ports; determining, in accordance with revised target workloads, whether any of the target ports is expected to be overloaded; and responsive to determining that at least one of the target ports is expected to be overloaded, performing a corrective action to alleviate or reduce an overloaded workload condition expected for the at least one target port.

Using mirror path statistics in recalling extents to a primary storage system and a secondary storage system from a third storage system

Provided are a computer program product, system, and method for using mirror path statistics in recalling extents to a primary storage system and a secondary storage system from a third storage system, A recall request is received to recall extents from the third storage that were migrated from the primary storage or the secondary storage to the third storage. A determination is made as to whether mirror paths used to migrate extents from the primary storage to the secondary storage exceed a degradation criteria. Commands are sent to cause the recall extents to be recalled from the third storage to both the primary storage and the secondary storage in response to determining that the mirror paths exceed the degradation criteria.

EFFICIENT PARTITIONING FOR STORAGE SYSTEM RESILIENCY GROUPS
20210382800 · 2021-12-09 ·

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.

Method and apparatus for performing node information exchange management of all flash array server
11194678 · 2021-12-07 · ·

A method and apparatus for performing node information exchange management of an all flash array (AFA) server are provided. The method may include: utilizing a hardware manager module among multiple program modules running on any node of multiple nodes of the AFA server to control multiple hardware components in a hardware layer of the any node, for establishing a Board Management Controller (BMC) path between the any node and a remote node among the multiple nodes; utilizing at least two communications paths to exchange respective node information of the any node and the remote node, to control a high availability (HA) architecture of the AFA server according to the respective node information of the any node and the remote node, for continuously providing a service to a user of the AFA server; and in response to malfunction of any communications path, utilizing remaining communications path(s) to exchange the node information.