G06F3/0604

SHARED STRUCTURE FOR A LOGIC ANALYZER AND PROGRAMMABLE STATE MACHINE
20230023886 · 2023-01-26 ·

A processing unit can include a performance monitor for monitoring the performance of the processing unit and associated sub-units. The performance monitor includes a logic analyzer, and implements a state machine via state machine data entries stored in a memory associated with the performance monitor. A state machine data entry includes output signals associated with state transitions. The output signals include a next state and a trigger to the logic analyzer. The performance monitor implements logic circuits that determine, based on input signals and the state machine data entries, the next state to transition and associated output signals. If a state transition includes a trigger to the logic analyzer, the trigger is transmitted to the logic analyzer. In response to the trigger, the logic analyzer assembles and samples input signals and stores the sampled input signals into the memory associated with the performance monitor, overwriting the state machine data entries.

MEMORY COMMAND AGGREGATION TO IMPROVE SEQUENTIAL MEMORY COMMAND PERFORMANCE
20230025508 · 2023-01-26 ·

A method is described, which includes receiving, by a memory subsystem controller from a host system, a host read memory command that references a set of logical block addresses associated with a set of transfer units of a memory device. The controller converts the set of logical block addresses to a set of physical block addresses for the set of transfer units; generates a set of device read memory commands based on the physical block addresses, wherein each device read memory command references at least one physical block address; and generates a first aggregated device read memory command based on a first device read memory command and a second read memory command in response to determining that the first device read memory command is associated with the second device read memory command. The controller thereafter transmits the first aggregated device read memory command to the memory device.

Read threshold management and calibration

A system and method for read threshold calibration in a non-volatile memory are provided. Physical dies in the memory are divided into groups based on device-level parameters such as time and temperature parameters. An outlier die may be identified outside of the plurality of groups based on a comparison of a bit error rate (BER) indicator for each die to a threshold. For each group of dies, a read parameter is determined for at least one die, and applied to each of the plurality of dies of the group. The read parameter may be determined based on a threshold measurement of a representative one or more word lines.

Automatically processing storage system data and generating visualizations representing differential data comparisons

Methods, apparatus, and processor-readable storage media for automatically processing storage system data and generating visualizations representing differential data comparisons are provided herein. An example computer-implemented method includes obtaining current data from a first storage system and historical data from the first storage system and/or one or more additional storage systems; determining, for the first storage system, at least one current state value for at least one storage system parameter by processing the current data using a first hashing algorithm; determining, for the first storage system with respect to the first storage system and/or the additional storage systems, at least one differential state value for the at least one storage system parameter by processing the current data and the historical data using a second hashing algorithm; and generating data visualizations based on the current state value(s) and/or the differential state value(s).

INITIALIZING MEMORY SYSTEMS
20230025601 · 2023-01-26 ·

Methods, systems, and devices for initializing memory systems are described. A memory system may transmit, to a host system over a first channel, signaling indicative of a first set of values for a set of parameters associated with communicating information over a second channel between a storage device of the memory system and a memory device of the memory system. The host system may transmit, to the memory system, additional signaling associated with the first set of values for the set of parameters. For instance, the host system may transmit a second set of values for the set of parameters, an acknowledgement to use the first set of values, or a command to perform a training operation on the second channel to identify a second set of values for the set of parameters. The memory system may communicate the information over the second channel based on the additional signaling.

INCREASING PROVISIONED STORAGE CAPACITY BY MEANS OF GROWING UNDERLYING DISKS WITHIN A VIRTUAL STORAGE APPLIANCE

Systems and methods for supporting dynamic disk growth within a virtual storage appliance are provided. According to one embodiment, a portion of a logical size of respective hyperscale disks provided by a hyperscaler are provisioned for use by a virtual storage system as backing for respective file system disks. To accommodate growth, block numbers for the file system disks are pre-allocated within a sparse space of a contiguous sequence of block numbers corresponding to a number of blocks represented by the logical size. Metadata is maintained for the file system disks regarding a range of the pre-allocated block numbers that are available for use. Responsive to a triggering condition, the provisioned portion of a hyperscale disk is increased and subsequently, responsive to detecting a change in a size of the hyperscale disk by the virtual storage system, a size of the corresponding file system disk is updated within the metadata.

AUTONOMOUS STORAGE PROVISIONING
20230026185 · 2023-01-26 · ·

Techniques for provisioning storage may include: initially provisioning storage for a storage group of logical devices; tagging the storage group to enable autonomous storage provisioning; receiving a plurality of parameters used in connection with performing autonomous storage provisioning for the storage group, wherein the plurality of parameters includes a first parameter denoting a threshold amount of consumed storage of the storage group, a second parameter denoting a storage capacity expansion amount by which to expand the storage capacity of the storage group, and a third parameter denoting a system-wide threshold of consumed backend non-volatile storage; determining, in accordance with the plurality of parameters, whether to expand a current storage capacity of the storage group; and responsive to determining to expand the current storage capacity of the storage group, performing first processing to automatically expand the current storage capacity of the storage group in accordance with the second parameter.

DATA PROCESSING APPARATUS AND METHOD USING DIRECT MEMORY ACCESS

A data processing apparatus and method are disclosed. The data processing apparatus may include a host core configured to generate a control message to control a direct memory access (DMA), the DMA configured to generate a memory request based on the control message, a memory controller configured to generate a memory command based on the memory request, and a processor configured to perform an operation in a memory based on the memory command.

DATA RELAY DEVICE, RELAY CONTROL METHOD, AND STORAGE SYSTEM
20230028617 · 2023-01-26 · ·

A data relay device including: a storage circuit that stores, for each of storages, an upper limit number indicating a number of input/output (I/O) commands that are transmittable; a relay circuit that relays data transmitted and received between one or more control devices and the storages; and a control circuit that performs: counting, for each storage, a number of commands indicating a number of the I/O commands that have been transmitted via the relay circuit and for which no response has been returned from transmission destination storages among the storages; in response to a request to retry transmission of the I/O commands from one storage among the storages, registering a first number in the storage circuit as the upper limit number of commands that corresponds to the one storage, the first number being a number obtained by subtracting one from a counted value of the number of commands.

MANAGEMENT SYSTEM, QoS VIOLATION DETECTION METHOD, AND QoS VIOLATION DETECTION PROGRAM
20230022502 · 2023-01-26 ·

It is possible to reduce analysis cost of a management system.

The management system includes a CPU and manages one or more storage devices that provide, to a higher-level device, one or more volumes for inputting and outputting data. The CPU is configured to collect performance information of the volume from the storage device at a predetermined first time interval and detect a QoS violation of the performance information of the volume at a second time interval longer than the first time interval.