G06F13/423

METHOD FOR ARBITRATING ACCESS TO A SHARED MEMORY, AND CORRESPONDING ELECTRONIC DEVICE
20200272584 · 2020-08-27 · ·

Access to a memory shared between a first interface and a second interface is arbitrated. Following a request to access the memory emanating from the second interface, while current access to the memory is granted to the first interface, a count is triggered having a maximum count time. A access to the memory is authorized for the second interface at the end of occupation of the access granted to the first interface if the end of occupation finishes before the end of the maximum count time, or otherwise at the end of the maximum count time.

Robust peripheral component interconnect surprise removal detection
10698784 · 2020-06-30 · ·

A system includes a device, a device driver associated with the device, and an operating system (OS). The OS is configured to receive, from the device driver, a testing address to a register, obtain a testing value associated with the testing address, receive a memory read request, read device memory associated with the memory read request to obtain a value, and compare the value to an error pattern to determine a first status of the memory read as one of matching and mismatching the error pattern. Responsive to determining the first status as matching, the operating system is further configured to read the testing address to determine a second status of the testing value as one of matching and mismatching the error pattern. Responsive to determining the second status as matching, the operating system is configured to return an error to the device driver.

ROBUST PERIPHERAL COMPONENT INTERCONNECT SURPRISE REMOVAL DETECTION
20200167308 · 2020-05-28 ·

A system includes a device, a device driver associated with the device, and an operating system (OS). The OS is configured to receive, from the device driver, a testing address to a register, obtain a testing value associated with the testing address, receive a memory read request, read device memory associated with the memory read request to obtain a value, and compare the value to an error pattern to determine a first status of the memory read as one of matching and mismatching the error pattern. Responsive to determining the first status as matching, the operating system is further configured to read the testing address to determine a second status of the testing value as one of matching and mismatching the error pattern. Responsive to determining the second status as matching, the operating system is configured to return an error to the device driver.

Size reduction of completion notifications

A computer peripheral device includes a host interface, which is configured to communicate over a bus with a host processor and with a system memory of the host processor. Processing circuitry in the peripheral device is configured to receive and execute work items submitted to the peripheral device by client processes running on the host processor, and responsively to completing execution of the work items, to write completion reports to the system memory, including first completion reports of a first data size and second completion reports of a second data size, which is smaller than the first data size.

High Availability Industrial Automation System Having Primary and Secondary Industrial Automation Controllers and Method of Communicating Information Over the Same
20200103861 · 2020-04-02 ·

A high availability industrial automation system in disclosed. The system has a primary industrial automation controller, a secondary industrial automation controller, and a communication network connected to the primary industrial automation controller and the secondary industrial automation controller. The primary industrial automation controller includes a processor and a memory configured to store a plurality of instructions, a plurality of automation tasks, input/output (I/O) data, and internal storage data. The processor is operative to execute the plurality of instructions to cross load information from the primary industrial automation controller to the secondary industrial automation controller. The cross loading of information can be less than the maximum amount of communicable information capable of being cross loaded. Also disclosed are methods of communicating over the high availability industrial automation system.

Interconnection of peripheral devices on different electronic devices
10599588 · 2020-03-24 · ·

A method and apparatus of performing a data transmission from an electronic device or a peripheral device of an electronic device to a peripheral device of a remote electronic device is disclosed. One example method of performing the data transmission may include transmitting data designated for the remote peripheral device to a local virtual device object. The data that is received by the local virtual device object is transmitted via at least one communication interface or peripheral device of the electronic device to at least one remote communication interface or peripheral device of the remote electronic device. The data arriving at the least one remote communication interface or peripheral device of the remote electronic device is received by a remote virtual device object and transmitted to the designated remote peripheral device.

Reconfigurable interconnected programmable processors

A plurality of software programmable processors is disclosed. The software programmable processors are controlled by rotating circular buffers. A first processor and a second processor within the plurality of software programmable processors are individually programmable. The first processor within the plurality of software programmable processors is coupled to neighbor processors within the plurality of software programmable processors. The first processor sends and receives data from the neighbor processors. The first processor and the second processor are configured to operate on a common instruction cycle. An output of the first processor from a first instruction cycle is an input to the second processor on a subsequent instruction cycle.

Operation method of host system including storage device and operation method of storage device controller
10585822 · 2020-03-10 · ·

A method of operating a storage device controller which controls a storage device includes receiving a debugging data request command through a peripheral component interconnect express (PCIe) interface of the storage device controller from outside of the storage device controller, and storing debugging data in a register included in the PCIe interface.

RECONFIGURABLE SERVER AND SERVER RACK WITH SAME

A reconfigurable server includes improved bandwidth connection to adjacent servers and allows for improved access to near-memory storage and for an improved ability to provision resources for an adjacent server. The server includes processor array and a near-memory accelerator module that includes near-memory and the near-memory accelerator module helps provide sufficient bandwidth between the processor array and near-memory. A hardware plane module can be used to provide additional bandwidth and interconnectivity between adjacent servers and/or adjacent switches.

NETWORKING SYSTEMS USING MULTIPLE PERIPHERAL COMPONENT CARDS
20200065287 · 2020-02-27 ·

A multi-card system is provided. The multi-card system includes a first peripheral component card comprising a first communication extension port and a second communication extension port. The multi-card system also includes a second peripheral component card comprising a first communication extension port and a second communication extension port. The multi-card system also includes a first adapter board coupled to the first peripheral component card at the first communication extension port of the first peripheral component card. The first adapter board is also coupled to the second peripheral component card at the first communication extension port of the second peripheral component card. The first peripheral component card is coupled to a motherboard and is configured to transmit data to the second peripheral component card via the first adapter board.