G06F13/1642

Priority reversing data traffic for latency sensitive peripherals

Priority reversing data traffic for latency sensitive peripherals, including receiving a connection notification and parameters of a peripheral; identifying, from the parameters, that an interface type associated with the peripheral is a bulk interface, the bulk interface associated with a first communication channel between the IHS and the peripheral and having a first latency; determining, based on the bulk interface type and a data traffic priority associated with the peripheral, that the data traffic associated with the peripheral is priority-inversed; in response to a communication request by an application executing on the IHS for communication with the peripheral, determining that the data traffic associated with the peripheral is priority-inversed, and in response, placing the data traffic in a queue associated with a second communication channel defined between the IHS and the peripheral, the second communication channel having a second latency, wherein the first latency is greater than the second latency.

WRITE REQUEST THRESHOLDING

A method includes receiving a write request to a write queue of a host having the write queue and a read queue; initiating a write queue timer upon receiving the write request to the write queue of the host, wherein the write queue timer has a write queue timer expiry threshold value; and executing one or more write requests when the write queue timer reaches the write queue timer expiry threshold value.

MEMORY SUB-SYSTEM FOR SUPPORTING DETERMINISTIC AND NON-DETERMINISTIC COMMANDS BASED ON COMMAND EXPIRATION AND THE STATE OF THE INTERMEDIATE COMMAND QUEUE
20230161507 · 2023-05-25 ·

Commands in a command queue are received and scheduled. For each of the commands, scheduling includes determining an age of a command based on an entrance time of the command in the command queue. When the age of the command satisfies a first threshold, marking all other commands in the command queue as not issuable when the command is a deterministic command, and marking all other commands in the command queue as not issuable when the command is a non-deterministic command and the intermediate command queue is not empty. Scheduling the command further includes determining whether the command is a read command and marking the command as not issuable when the command is a non-deterministic read command and the intermediate command queue is empty.

STORAGE DEVICES INCLUDING A CONTROLLER AND METHODS OPERATING THE SAME
20230161501 · 2023-05-25 ·

The present invention provides a storage device including a controller and methods for operating the storage device and the controller. A controller of a storage device may comprise: an interface controller; a memory controller; a processor configured to transmit downstream commands and upstream commands to the memory controller. The memory controller may be coupled between the interface controller and the processor and may comprise: a first command queue; a second command queue; and a tag generator. The memory controller may be configured to: store a first command received from the processor in the first command queue; store a second command received from the processor in the second command queue; and in response to a first access region of the first command overlapping a second access region of the second command in the second queue, assign an order tag for the second command based on a first serial number of the first command by the tag generator.

METHODS, SYSTEMS AND COMPUTER READABLE MEDIA FOR IMPROVING REMOTE DIRECT MEMORY ACCESS PERFORMANCE

The subject matter described herein includes methods, systems, and computer readable media for improving remote direct memory access (RDMA) performance. A method for improving RDMA performance occurs at an RDMA node utilizing a user space and a kernel space for executing software. The method includes posting, by an application executing in the user space, an RDMA work request including a data element indicating a plurality of RDMA requests associated with the RDMA work request to be generated by software executing in the kernel space; and generating and sending, by the software executing in the kernel space, the plurality of RDMA requests to or via a system under test (SUT).

DYNAMIC QUEUE DEPTH ADJUSTMENT

A method includes determining a traffic pattern of access requests within a queue or a system, or both and dynamically adjusting, within a particular range, a queue depth of the queue based on the determined traffic pattern of access requests to balance bandwidth and latency associated with executing the access requests.

Memory controller for selective rank or subrank access
11467986 · 2022-10-11 · ·

A memory module having reduced access granularity. The memory module includes a substrate having signal lines thereon that form a control path and first and second data paths, and further includes first and second memory devices coupled in common to the control path and coupled respectively to the first and second data paths. The first and second memory devices include control circuitry to receive respective first and second memory access commands via the control path and to effect concurrent data transfer on the first and second data paths in response to the first and second memory access commands.

System and method for modem stabilization when waiting for AP-driven link recovery
11606316 · 2023-03-14 · ·

Various embodiments of methods and systems for a modem-directed application processor boot flow in a portable computing device (“PCD”) are disclosed. An exemplary method includes an application processor that transitions into an idle state, such as a WFI state, for durations of time during a boot sequence that coincide with processing by a DMA engine and/or crypto engine. That is, the application processor may “sleep” while the DMA engine and/or crypto engine process workloads in response to instructions they received from the application processor.

Apparatus and method for improving input/output throughput of memory system
11468926 · 2022-10-11 · ·

A memory system includes: a plurality of memory dies, and a controller selects a second read request, including at least a portion of a plurality of first read requests, so that the memory dies interleave and output data corresponding to the first read requests, and performs a correlation operation for the selected second read request, when the second read request is selected, the controller determines whether the correlation operation is performed or not before a time at which the second read request is selected, determines whether the correlation operation is successful or not, determines a pending credit in response to an operation state of the memory dies at the time at which the second read request is selected, and determines whether to perform the correlation operation or not for the second read request that is selected at the time at which the second read request is selected based on the pending credit.

Narrow DRAM channel systems and methods

The systems and methods are configured to efficiently and effectively access memory. In one embodiment, a memory controller comprises a request queue, a buffer, a control component, and a data path system. The request queue receives memory access requests. The control component is configured to process information associated with access requests via a first narrow memory channel and a second narrow memory channel. The first narrow memory channel and the second narrow memory channel can have a portion of command/control communication lines and address communication lines that are included in and shared between the first narrow memory channel and the second narrow memory channel. The data path system can include a first data module and one set of unshared data lines associated with the first memory channel and a second data module and another set of unshared data lines associated with second memory channel.