G06F13/26

RTOS/OS architecture for context switching that solves the diminishing bandwidth problem and the RTOS response time problem using unsorted ready lists
11507524 · 2022-11-22 ·

The present invention is a novel RTOS/OS architecture that changes the fundamental way that context switching is performed. In all prior operating system implementations, context switching required disabling of interrupts. This opens the possibility that data can be lost. This novel approach consists of a context switching method in which interrupts are never disabled. Two implementations are presented. In the first implementation, the cost is a negligible amount of memory. In the second, the cost is only a minimal impact on the context switching time. This RTOS/OS architecture requires specialized hardware. Concretely, an advanced interrupt controller that supports nesting and tail chaining of prioritized interrupts is needed (e.g. the Nested Vectored Interrupt Controller (NVIC) found on many ARM processors). The novel RTOS/OS architecture redefines how task synchronization primitives such as semaphores and mutexes are released. Whereas previous architectures directly accessed internal structures, this architecture does so indirectly by saving information in shared buffers or setting flags, and then activating a low priority software interrupt that subsequently interprets this data and performs all context switching logic. The software interrupt must be set as the single lowest priority interrupt in the system.

Memory protocol with command priority
11586566 · 2023-02-21 · ·

The present disclosure includes apparatuses and methods related to a memory protocol with command priority. An example apparatus can execute a command that includes a read identification (RID) number based on a priority assigned to the RID number in a register. The apparatus can be a non-volatile dual in-line memory module (NVDIMM) device.

Memory protocol with command priority
11586566 · 2023-02-21 · ·

The present disclosure includes apparatuses and methods related to a memory protocol with command priority. An example apparatus can execute a command that includes a read identification (RID) number based on a priority assigned to the RID number in a register. The apparatus can be a non-volatile dual in-line memory module (NVDIMM) device.

Semiconductor devices including command priority policy management and related systems

Provided is a semiconductor device and a semiconductor system. A semiconductor device can include a command priority policy manager circuit which generates command priority policy information including a command priority compliance policy for a command directed to a device. A host interface circuit can be coupled to the command priority policy manager circuit to receive the command priority policy information from the command priority policy manager circuit, where the host interface circuit operable to transmit the command priority policy information via an electrical interface to the device.

Semiconductor devices including command priority policy management and related systems

Provided is a semiconductor device and a semiconductor system. A semiconductor device can include a command priority policy manager circuit which generates command priority policy information including a command priority compliance policy for a command directed to a device. A host interface circuit can be coupled to the command priority policy manager circuit to receive the command priority policy information from the command priority policy manager circuit, where the host interface circuit operable to transmit the command priority policy information via an electrical interface to the device.

INTERRUPT HANDLING BY MIGRATING INTERRUPTS BETWEEN PROCESSING CORES
20230100059 · 2023-03-30 ·

Systems or methods of the present disclosure may provide for interrupt migration using a processor and/or system on a chip. The system includes multiple processing cores and an interrupt controller. The interrupt controller includes an input terminal configured to receive an interrupt request and an interrupt controller timer. The interrupt controller also includes an output terminal configured to output an interrupt based on the interrupt request. Furthermore, the interrupt controller includes an interface configuration and status circuitry configured to track a period of time that the interrupt is transmitted to a first processing core of the multiple processing cores.

Probe filter retention based low power state

A data fabric routes requests between the plurality of requestors and the plurality of responders. The data fabric includes a crossbar router, a coherent slave controller coupled to the crossbar router, and a probe filter coupled to the coherent slave controller and tracking the state of cached lines of memory. Power state control circuitry operates, responsive to detecting any of a plurality of designated conditions, to cause the probe filter to enter a retention low power state in which a clock signal to the probe filter is gated while power is maintained to the probe filter. Entering the retention low power state is performed when all in-process probe filter lookups are complete.

Probe filter retention based low power state

A data fabric routes requests between the plurality of requestors and the plurality of responders. The data fabric includes a crossbar router, a coherent slave controller coupled to the crossbar router, and a probe filter coupled to the coherent slave controller and tracking the state of cached lines of memory. Power state control circuitry operates, responsive to detecting any of a plurality of designated conditions, to cause the probe filter to enter a retention low power state in which a clock signal to the probe filter is gated while power is maintained to the probe filter. Entering the retention low power state is performed when all in-process probe filter lookups are complete.

DEVICE VIRTUALIZATION TECHNIQUES

Device virtualization techniques can enable physical I/O devices (such as PCIe devices or other I/O devices) to appear as virtual I/O devices, while also enabling selective exposure of information regarding the physical I/O devices to enable the native drivers of the physical I/O devices to be run. In one example, one or more physical I/O devices associated with a virtual I/O device are locked, and an interface is monitored for requests to those physical I/O devices. The device can be unlocked in response to a request to a predetermined address. When a physical I/O device is locked, read requests to read an identifier of the physical device are blocked, and a value associated with the virtual I/O device is provided. When the physical I/O device is unlocked, read requests to read an identifier of the physical I/O device are forwarded to the physical I/O device.

DEVICE VIRTUALIZATION TECHNIQUES

Device virtualization techniques can enable physical I/O devices (such as PCIe devices or other I/O devices) to appear as virtual I/O devices, while also enabling selective exposure of information regarding the physical I/O devices to enable the native drivers of the physical I/O devices to be run. In one example, one or more physical I/O devices associated with a virtual I/O device are locked, and an interface is monitored for requests to those physical I/O devices. The device can be unlocked in response to a request to a predetermined address. When a physical I/O device is locked, read requests to read an identifier of the physical device are blocked, and a value associated with the virtual I/O device is provided. When the physical I/O device is unlocked, read requests to read an identifier of the physical I/O device are forwarded to the physical I/O device.