Patent ID: 11960747
Assignee: BLUESHIFT MEMORY LTD
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 0:
1. A memory circuit for a computer system, the memory circuit comprising:
physical memory cells arranged to implement a plurality of corresponding locations for storing respective data elements, the memory circuit defining a logical memory space including a plurality of said locations arranged in an array, the locations of the memory space having respective logical addresses in the array based on the respective index values of one or more index variables;
the memory circuit being operative to:
upon receiving a read command including a read address in the memory space, transmit out of the memory unit circuit, data stored at the read address;
upon receiving a write command including:
a write address in the memory space; and
one or more data elements, write the data elements to locations at the write address; and

upon receiving a shift command including shift data which indicates a source address in the memory space, perform a shift function comprising:
using the source address to identify a portion of the memory space; and
writing the data stored in the identified portion of memory space to a different location in the memory space;

wherein for one or more pairs of said locations, a respective data pipe is provided as circuitry between the memory cells implementing the pair of the locations, the shift function being performed by at least one step of copying data from first ones of said locations to second ones of said locations which are respectively connected to the first locations by the respective data pipes;
wherein the locations further include buffer locations which collectively constitute a buffer, each buffer location being associated with a respective group of the locations of the memory space and being connected by a respective said data pipe to at least one of the respective group of locations; and
wherein each location of the memory space sets the value stored in a corresponding buffer location, or alternately each location of the memory space stores the value in the corresponding buffer location.