G06F12/0684

Computer program crash handling

A computer detects a crash of a computer program, the crash being caused by a faulting instruction. The computer determines, within concrete stack frame(s) of the computer program, memory position(s) and extent(s) of input. The computer maps, using the memory position(s) and the extent(s), inferred stack frame(s) onto concrete stack frame(s), the inferred stack frame(s) indicating positions of variables used in the computer program. The computer identifies, based on mapping the inferred stack frame(s) onto the concrete stack frame(s), at least one variable from among the variables that is within a stack overflow memory and within a dataflow path to the faulting instruction, wherein the dataflow path to the faulting instruction indicates the variables used in the computer program that are accessed by or contribute to the faulting instruction. The computer determines whether the stack overflow contributed to the crash of the computer program.

Resolving disruptions between storage systems replicating a dataset

Mediating between storage systems synchronously replicating a dataset, including: requesting, by a first storage system in response to detecting a triggering event, a lock for a shared resource from a mediation service; requesting, by a second storage system in response to detecting the triggering event, the lock for the shared resource from the mediation service; and responsive to acquiring the lock from the mediation service, the first storage system, instead of the second storage system, processing data storage requests directed to the dataset that is synchronously replicated across the first storage system and the second storage system.

Network storage systems having clustered RAIDs for improved redundancy and load balancing

A clustered network-based storage system includes a host server, multiple high availability system controller pairs, and multiple storage devices across multiple arrays. Two independent storage array subsystems each include a quorum drive copy and are each controlled by a HA pair, with remote volume mirroring links coupling the separate HA pairs. The host server includes a virtualization agent that identifies and prioritizes communication paths, and also determines capacity across all system nodes. A system storage management agent determines an overall storage profile across the system. The virtualization agent, storage management agent, quorum drive copies and remote volume mirroring link all operate to provide increased redundancy, load sharing, or both between the separate first and second arrays of storage devices.

Synchronously replicating a dataset across a plurality of storage systems

Servicing I/O operations directed to a dataset that is synchronized across a plurality of storage systems, including: receiving, by a follower storage system, a request to modify the dataset; sending, from the follower storage system to a leader storage system, a logical description of the modification to the dataset; receiving, from the leader storage system, information describing the modification to the dataset; processing, by the follower storage system, the request to modify the dataset; receiving, from the leader storage system, an indication that the leader storage system has processed the request to modify the dataset; and acknowledging, by the follower storage system, completion of the request to modify the dataset.

MEMORY CONTROLLER AND METHOD OF OPERATING THE SAME
20220179786 · 2022-06-09 ·

The present technology includes a memory controller that allocates a new buffer memory area in a buffer memory or stores temporarily stored data in the buffer memory into a memory device based on a state of an auxiliary power device that supplies power to the memory device and the memory controller, and a power state of a host.

Resilient Mediation Between Storage Systems Replicating A Dataset

Resilient mediation between storage systems replicating a dataset, including: receiving, by a mediation service from one or more storage systems that synchronously replicate a dataset, a request to resolve which storage system continues to service a dataset after the request; and sending, from the mediation service to at least one of the storage systems, a positive mediation result, wherein: the storage systems that received the positive mediation result continue to process data storage requests directed to the dataset, and the storage systems that did not receive a positive mediation result from the mediation service do not continue to process data storage requests directed to the dataset.

Memory controller based on flush operation and method of operating the same
11762769 · 2023-09-19 · ·

The present technology includes a memory controller that allocates a new buffer memory area in a buffer memory or stores temporarily stored data in the buffer memory into a memory device based on a state of an auxiliary power device that supplies power to the memory device and the memory controller, and a power state of a host.

Directing operations to synchronously replicated storage systems

Managing connectivity to synchronously replicated storage systems, including: identifying a plurality of storage systems across which a dataset is synchronously replicated; identifying a host that can issue I/O operations directed to the dataset; identifying a plurality of data communications paths between the host and the plurality of storage systems across which a dataset is synchronously replicated; identifying, from amongst the plurality of data communications paths between the host and the plurality of storage systems across which a dataset is synchronously replicated, one or more optimal paths; and issuing, to the host, an identification of the one or more optimal paths.

Managing Storage System Replication

Managing storage systems that are synchronously replicating a dataset, including: detecting a change in membership to the set of storage systems synchronously replicating the dataset; and applying one or more membership protocols to determine a new set of storage systems to synchronously replicate the dataset, wherein the one or more membership protocols include a quorum protocol, an external management protocol, or a racing protocol, and wherein one or more I/O operations directed to the dataset are applied to a new set of storage systems.

Continuing To Service A Dataset After Prevailing In Mediation

Continuing to service a dataset after prevailing in mediation, including: requesting, by a first storage system, mediation from a mediation service that is configured to resolve which storage system continues to service a dataset after the triggering event, wherein the dataset is synchronously replicated by a plurality of storage systems that includes the first storage system and a second storage system; and detaching the second storage system from a plurality of storage systems synchronously replicating the dataset.