G06F11/1004

Heterogeneous erase blocks

A method of using flash storage devices with different sized erase blocks is provided. The method includes allocating a plurality of erase blocks of heterogeneous erase block sizes to a RAID stripe, to form a tile pattern having the heterogeneous erase block sizes in the RAID stripe. The method includes writing the RAID stripe across the flash storage devices in accordance with the allocating, and stopping the writing the RAID stripe, responsive to contents of the RAID stripe reaching a threshold.

High-reliability non-volatile memory using a voting mechanism
11704204 · 2023-07-18 · ·

A memory system includes a processing device (e.g., a controller implemented using a CPU, FPGA, and/or logic circuitry) and memory regions (e.g., in a flash memory or other non-volatile memory) storing data. The processing device receives an access request from a host system that is requesting to read the stored data. In one approach, the memory system is configured to: receive, from the host system over a bus, a read command to access data associated with an address in a non-volatile memory; in response to receiving the read command, access, by the processing device, multiple copies of data stored in at least one memory region of the non-volatile memory; match, by the processing device, data from the copies with each other; select, based on matching data from the copies with each other, first data from a first copy of the copies; and provide, to the host system over the bus, the first data as output data.

Data integrity for persistent memory systems and the like

A data processor includes provides memory commands to a memory channel according to predetermined criteria. The data processor includes a first error code generation circuit, a second error code generation circuit, and a queue. The first error code generation circuit generates a first type of error code in response to data of a write request. The second error code generation circuit generates a second type of error code for the write request, the second type of error code different from the first type of error code. The queue is coupled to the first error code generation circuit and to the second error code generation circuit, for provides write commands to an interface, the write commands including the data, the first type of error code, and the second type of error code.

TAG READING APPARATUS AND TAG READING CONTROL METHOD
20230018731 · 2023-01-19 ·

According to an embodiment, a tag reading apparatus acquires tag data of a wireless tag to be learned without transmission from the wireless tag to be learned. The tag reading apparatus extracts a data signal from a reception signal output from an antenna that has received a radio wave from the wireless tag to be learned. The tag reading apparatus learns the extracted data signal in association with correct answer data of the wireless tag to be learned.

TECHNIQUES FOR CONTROLLING SMALL ANGLE MØLMER-SØRENSEN GATES AND FOR HANDLING ASYMMETRIC SPAM ERRORS
20230222373 · 2023-07-13 ·

The disclosure describes various techniques to control of small angle Mølmer-Sørensen (MS) gates and to handle asymmetric errors. A technique is described that implements a two-qubit calibration circuit with two MS gates, where a parameter θ represents an amount of entanglement of the MS gate. The calibration circuit is run for several values of θ to measure observed parity signals that are direct measurements of the values of θ. Calibration information is generated that describes the relationship between θ and the parity signals, and such calibration information is then provided to arbitrarily calibrate one or more MS gates in a quantum simulation. Another technique is described for using the calibration information in quantum simulations, including for quantum chemistry simulations. Yet another technique is described for handling system-based asymmetric errors in the measurements of different qubit states in different types of quantum circuits, including, for example, the calibration circuit mentioned above.

Object-Oriented Memory for Client-to-Client Communications
20230221991 · 2023-07-13 ·

Systems and corresponding methods employ an object-oriented (OO) memory (OOM) to effect inter-hardware-client (IHC) communication among a plurality of hardware clients included in same. A system comprises a centralized OOM and the plurality of hardware clients communicate, directly, to the centralized OOM device via OO message transactions. The centralized OOM device effects IHC communication among the plurality of hardware clients based on the OO message transactions. Another system comprises a plurality of OO memories (OOMs) capable of inter-object-oriented-memory-device communication. A hardware client communicates, directly, to a respective OOM device via OO message transactions. The inter-object-oriented-memory-device communication effects IHC communication among the plurality of hardware clients based on the OO message transactions.

Processing of data

A method and associated apparatus is disclosed for processing data by means of an error code, wherein the error code has an H-matrix with n columns and m rows, wherein the columns of the H-matrix are different, wherein component-by-component XOR sums of adjacent columns of the H-matrix are different from one another and from all columns of the H-matrix and wherein component-by-component XOR sums of nonadjacent columns of the H-matrix are different from all columns of the H-matrix and from all component-by-component XOR sums of adjacent columns of the H-matrix.

PARITY PROTECTION OF CONTROL REGISTERS
20230222026 · 2023-07-13 ·

An integrated circuit (IC) device for detecting errors within a register, the IC device includes registers and parity checking circuitry. The parity checking circuitry is coupled to the registers and comprises a first parity circuitry, a second parity circuit, and error detection circuitry. The first parity circuit receives first register values from the registers and determine a first value from the first register values. The second parity circuit is receives second register values from the registers and determines a second value from the second register values. The error detection circuitry compares the first value and the second value to detect a first error within the registers, and output an error signal indicating the first error.

COMPUTATIONAL ACCELERATION FOR DISTRIBUTED CACHE
20230221867 · 2023-07-13 ·

A client device includes at least one memory configured to be used at least in part as a shared cache in a distributed cache. A network interface of the client device is configured to communicate with one or more other devices on a network each configured to provide a respective shared cache for the distributed cache. A Non-Volatile Memory express (NVMe) controller of the client device receives a command from a processor to access data in the shared cache and executes a program to use data read from the shared cache or data to be written to the shared cache to perform at least one computational operation. In another aspect, data is accessed in the shared cache using a kernel and data read from the shared cache or data to be written to the shared cache is used to perform at least one computational operation by the kernel.

Semiconductor memory

A semiconductor memory includes storage arrays, at least one verification module and gating circuits. Each verification module corresponds to multiple storage arrays. The verification module is configured to verify whether an error occurs in data information of the corresponding storage arrays. Each verification module is connected to a group of global data buses. The gating circuits are respectively connected to the storage arrays and the global data buses, and the gating circuits are configured to control on and off of a data transmission path connecting the global data buses to the storage arrays.