Shiftable memory and method of operating a shiftable memory - Patents.com
The shiftable memory system addresses inefficiencies in conventional memory designs by eliminating internal bit lines and using shift logic, achieving reduced complexity, power consumption, and enhanced dual-port/multi-port capabilities with simultaneous read/write and refresh operations.
Patent Information
- Application Number
- JP2021568299
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-05-16
- Filing Date
- 2020-05-14
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2040-05-14
AI Technical Summary
Conventional memory systems, such as SRAM and DRAM, face challenges in terms of complexity, area consumption, and power efficiency due to the need for internal bit lines and additional logic for shift functions, which are costly and inefficient for dual-port and multi-port memories.
A shiftable memory design that eliminates internal bit lines by interconnecting memory cells in chains, using shift logic elements like transistors, and controlling data movement with a controller to enable parallel reading and writing without the need for traditional bit lines, allowing simultaneous refresh operations.
This design reduces memory area and power consumption while enabling efficient dual-port and multi-port capabilities with reduced complexity, allowing simultaneous read/write operations and seamless refresh processes.
Smart Images

Figure 0007618245000010 
Figure 0007618245000011 
Figure 0007618245000012
Abstract
Description
[Technical field]
[0001] The present disclosure relates to shiftable memories, such as static random access memories or dynamic random access memories, and methods of operating shiftable memories. [Background technology]
[0002] In many modern advanced system-on-chip (SoC) designs, large memory subsystems (MSS) are necessary due to various requirements. Many applications require large memories in terms of the number of storage elements. For example, a computer usually includes a central processing unit (CPU) for providing arithmetic and logical operations as well as other operations, and typically some CPU operations involve reading data from or writing data to memory.
[0003] There are two types of RAM: static random access memory (SRAM) and dynamic random access memory (DRAM). A computer's main memory is typically a DRAM. Static random access memory is widely used in integrated circuits and can take up a significant portion of a circuit's area and power consumption. SRAM is faster and more expensive than DRAM and can be used for CPU caches, for example. SRAM is typically used when speed is more important than cost and area. A typical memory cell of an SRAM memory is a six-transistor (6T) memory cell made up of six MOSFETs. Each bit is stored in four transistors that form two cross-coupled inverters. In addition to the four transistors, the two cross-coupled inverters are connected to a bit line and an inverted bit line via two further access transistors controlled by a common word line in a standard single-port 6T SRAM cell.
[0004] DRAM stores each bit in a small capacitor that can either be charged or discharged. The advantage of DRAM is the small size and simplicity of the memory cells. However, DRAM must be periodically refreshed, which is a disadvantage in terms of complex timing and power consumption. DRAM is widely used in digital electronic devices where large amounts of memory are needed at low cost.
[0005] The memory cells of the memory are typically accessed by bit lines arranged in columns of the memory cell array that are connected to storage nodes through transistors. Access is controlled by word lines arranged in rows of the memory cell array. Control of individual bit lines and word lines is typically based on instructions or addresses on the memory ports. For dual-port (or multi-port) RAM, a type of memory that allows multiple reads or writes at the same time, additional bit lines and additional logic must be added to the memory, which is typically expensive in terms of area and power.
[0006] Attempts have been made to introduce shift functions into memories for various purposes. Such shift functions typically involve multiplexers and / or additional logic and often have the purpose of rearranging data, e.g., manipulating data in a data matrix, vector rearrangement, or data processing related tasks. Shift functions typically add functionality to memories, but also add complexity and size. Summary of the Invention
[0007] A first aspect of the present disclosure relates to a shiftable memory that aims to reduce complexity and thereby reduce area and power costs or overhead. In particular, in one embodiment, the shiftable memory of the present disclosure can be implemented completely without internal bit lines, which can significantly reduce power consumption. In a preferred embodiment, the shiftable memory is a plurality of memory cells arranged in rows and columns, the memory cells of a row being interconnected thereby forming a chain of memory cells; at least one first serial output data port, the output data logic being for connecting an output of any of the chains of memory cells to the first serial output data port, or to at least one first parallel output data port and to at least one read shift register configured to serially collect serial output data from the output of any of the chains of memory cells; and / or at least one first serial input data port, the input data logic being for connecting the first serial input data port to an input of any of the chains of memory cells, or to at least one parallel input data port, and at least one write shift register for serially shifting input data to the input of any of the chains of memory cells; a controller configured to control shifting of data within a chain of memory cells, the controller further configured to control output data logic and / or input data logic; Includes.
[0008] Thus, according to one embodiment, the shiftable memory can operate without the need for internal bit lines. For a read access, the controller is configured to shift the data of a row to either the serial output data port or the read shift register until the data is read sequentially and then can be accessed from the parallel output data port. For a write access, the controller is configured to connect the first serial input data port to the input of either of the chains of memory cells and shift the data sequentially, alternatively, to write data from the parallel input data port to the write shift register and then serially shift the data to the input of either of the chains of memory cells.
[0009] The inventors have found that shiftable memories can be very efficient, especially for dual-port and multi-port memories. By shifting several rows in parallel, reading and writing from / to several configurable ports is done at very low additional cost, in contrast to the dual and multi-port features of conventional memories. The output data logic can be configured to connect any output of the chain of memory cells to a second serial output data port, or to at least one second parallel output data port, and to at least one second read shift register configured to serially collect serial output data from any output of the chain of memory cells. This can be done for several rows, so that n chains of memory cells can be shifted in parallel to n serial output data ports or n shift registers. Similarly, the input data logic can be configured to connect a second serial input data port to any input of the chain of memory cells, or to a second parallel input data port, and to a second write shift register for serially shifting input data to any input of the chain of memory cells. This can be done for several rows so that m chains of memory cells can be shifted, and the controller is configured to shift data in parallel from m serial input data ports into the m chains of memory cells, and reading and writing can be done simultaneously.
[0010] The interconnection of the memory cells in a row can be implemented by a switch element. To keep the implementation simple and robust, the memory cells may be separated, for example, by a transistor. The enable signal can control the shifting, just as the word line signal controls the access of the storage node by the bit line in a conventional memory cell. To avoid the value being shifted in the wrong direction of the chain and the value being accidentally overridden, each memory cell of the present shiftable memory can include two serially connected memory elements, such as a bit cell, separated by a further switch element, such as a transistor. This means that each memory cell can have two memory elements and two switch elements. The shifting of the two serially connected memory elements can be controlled using two different control signals, which operate in two different phases. This can be, for example, a first clock signal and a second clock signal inverted or delayed with respect to the first clock.
[0011] A further use of the shiftable memory of the present disclosure includes a refresh process for dynamic random access memory. The inventors have realized that a parallel shift of all rows, or a sequence including a shift of all rows, results in all memory cells being rewritten and therefore refreshed with only one shift step.
[0012] The present disclosure further relates to a method for operating a shiftable memory, in a first embodiment, the method comprising: shifting data in at least one row of a shiftable memory having a plurality of memory cells arranged in rows and columns, the memory cells of the rows being interconnected, thereby forming a chain of memory cells; sequentially reading the shifted data from a first serial output data port of the shiftable memory connected to an output of one of the chains of memory cells, or sequentially shifting data into an internal read shift register and reading data from the internal read shift register via a parallel output data port, or sequentially writing data to a first serial input port of the shiftable memory connected to an input of one of the chains of memory cells, or writing data from the parallel input data port to the internal write shift register and sequentially shifting data from the internal write shift register to an input of one of the chains of memory cells. Includes.
[0013] An embodiment relates to the further step of shifting each row at least one step. The inventors have realized that this can be an efficient way of performing a refresh operation of a dynamic random access memory. The refresh process can also be performed seamlessly in parallel with memory read / write operations. For DRAM, typically, a refresh operation blocks memory access, i.e., part or all of the memory goes into a refresh state and normal read / write operations are blocked. The inventors have realized that memory refresh can be performed in parallel with read / write access. Thus, in one embodiment, the controller is configured to simultaneously perform a refresh operation and read and / or write data from / to the chain of memory cells. Furthermore, the refresh can be performed using a slower clock, which can also be configured based on retention time. [Brief description of the drawings]
[0014] [Figure 1] FIG. 2 is a conceptual top-level illustrative diagram of a shiftable memory of the present disclosure. [Diagram 2] 1A-1C illustrate examples of shift and read operations of a shiftable memory of the present disclosure. [Diagram 3]FIG. 2 illustrates an example of shift and read operations of a shiftable memory of the present disclosure for two read ports. [Figure 4] FIG. 13 illustrates an example of multiple parallel shift operations. [Diagram 5] FIG. 13 is a diagram showing an example of simultaneously reading and writing data of the same row. [Figure 6] FIG. 11 is a diagram illustrating an example of a reset operation. [Figure 7] FIG. 2 illustrates an embodiment of a chain of memory cells of a static random access memory. [Figure 8] FIG. 2 illustrates one embodiment of a memory cell or memory element of a chain of memory cells of a static random access memory. [Figure 9] FIG. 2 illustrates an embodiment of a chain of memory cells of a dynamic random access memory. [Figure 10] FIG. 13 illustrates an example of an improved configuration of control signals for shifting data in a shiftable memory. [Figure 11] FIG. 13 illustrates a further example of an improved configuration of control signals for shifting data in a shiftable memory. [Figure 12] FIG. 2 illustrates an example of a clocking scheme for a shiftable memory of the present disclosure in which data is shifted individually. [Figure 13] FIG. 2 illustrates an example of separate control signals for each memory cell in a row. [Figure 14] FIG. 2 illustrates an example of a shiftable memory of the present disclosure having output logic, such as arithmetic logic, for performing logical operations on data shifted out of a chain of memory cells. [Figure 15] FIG. 2 illustrates an example of a shiftable memory of the present disclosure having output logic that includes multiple arithmetic units. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0015] The present disclosure relates to a shiftable memory including a plurality of memory cells arranged in rows and columns, the memory cells of the rows being interconnected, thereby forming a chain of memory cells. The shiftable memory may further include at least one first serial output data port, and an output data logic for connecting any output of the chain of memory cells to the first serial output data port. The output data logic may be implemented as a multiplexer controlled by a controller, the output of the chain of memory cells being connectable to the first serial output data port via the multiplexer. Alternatively, the shiftable memory may have at least one internal read shift register for serially collecting serial output data from any output of the chain of memory cells. Once the read data is collected, the data can be read by the first parallel output data port. Preferably, the shiftable memory further includes at least one first serial input data port, and an input data logic for connecting the first serial input data port to any input of the chain of memory cells. The input data logic may be, for example, a switch on each input of the chain of memory cells controlled by the controller. Alternatively, data may be written from a parallel input data port to a write shift register and then serially shifted to either input of the chain of memory cells. The controller may be configured to control the shifting of data in the chain of memory cells. The controller may be further configured to control the output data logic and the input data logic. The controller may include a decoder for decoding the address and enable signals of the memory and forwarding them to the shift operation. As an example, a read operation of a particular address provided by, for example, a read enable signal and a read address may generate an internal enable signal to shift a particular row of the memory and route the output of the chain, optionally via an internal read shift register, to an output port.Preferably, during a read operation, the output of the last cell in the chain is routed back to the input of the first memory cell in the chain, unless there is a simultaneous write of the chain.
[0016] A shiftable memory may have word lines or other control lines for controlling access of data to the memory cells.
[0017] A shiftable memory may be a combination of parallel and serial memories in the sense that it can still perform parallel reads or writes using bit lines as a conventional memory. In this embodiment, the memory may include, for example, one port for conventional parallel reads and another port for shifted serial reads.
[0018] The shiftable memory of the present disclosure can be implemented and operated without internal bit lines in the columns, which can reduce both the area and power consumption of the memory. Instead of connecting bit lines to the memory cells in the columns, the memory cells can be connected to each other using shift logic elements. The shift logic elements can be gate elements, such as switches that can be implemented in the form of a single transistor, for example. Two-stage memory cell
[0019] As mentioned above, the memory cells may be separated by a switch, for example in the form of a transistor between each cell. An enable signal may control the shifting of the chain by closing the switch. Each memory cell of the present shiftable memory may include two serially connected memory cells, such as bit cells, separated by another switch element, such as a transistor. An example may be seen in FIG. 7D. Each memory cell (2) is implemented as two serially connected memory elements (3). Data is shifted in two steps, with a first enable signal (EN1, FIG. 7D; SHIFT EN1, FIG. 7B) controlling the shifting of the first memory element and a second enable signal (EN2, FIG. 7D; SHIFT EN2, FIG. 7B) controlling the shifting of the second memory element. Thus, each memory cell may include two memory elements and two switch elements. The shifting of the two serially connected memory elements may be controlled using two different control signals, which operate in two different phases. This can be, for example, a first clock signal and a second clock signal inverted or delayed with respect to the first clock, as shown in Figures 7B and 9B. The control signals (clock signals and / or enable signals) can be, for example, inverted or skewed with respect to each other. Thus, the control signals can control the shift logic elements. operation
[0020] One advantage of the shiftable memory of the present disclosure is that dual and multi-port memories can be obtained at relatively low additional cost by shifting several rows in parallel and adding any desired number of input and / or output and / or bidirectional ports. In conventional memories, the implementation of true dual-port functionality is costly, for example, due to the need for additional transistors and complex routing of bit lines. Additional ports are even more complex and may even be practically impossible due to congestion. The controller may then control the individual shifting of the chain based on accesses or instructions on the multiple memory ports. In addition, it may be possible to simultaneously read and write rows and / or freely combine combinations of reads and writes. Thus, the shiftable memory may be configured to simultaneously shift data in through a serial input data port and shift data out through a serial output data port. FIG. 3 shows an example of multiple parallel shift operations. In FIG. 3A, two rows are read and shifted out serially on two serial output ports. In FIG. 3B, two rows are shifted into two read shift registers and can then be accessed by the parallel data ports. FIG. 4 shows a further example of multiple parallel shift operations. The first row shift is utilized by both read and write operations. Similarly for the second row. The third row data is read. The fourth row data is written. The sixth row data is read and the last memory cell data is shifted back to the first cell as in a circular shift register. In one embodiment, the controller is further configured to shift data from the last memory cell in the row to the first memory cell in the row. The controller may be configured to perform a shift operation of one or some of the chains of memory cells based on an external command or based on a logic value on an input port of the shiftable memory.
[0021] The output data logic may be configured to connect any of the outputs of the chains of memory cells to a second serial output data port, or at least one second parallel output data port, and at least one second read shift register configured to serially collect serial output data from any of the outputs of the chains of memory cells. This may be done for several rows so that n chains of memory cells can be shifted in parallel. Thus, the shiftable memory may include at least one second serial output data port, and the output data logic is further configured to connect any of the outputs of the chains of memory cells to a second serial output data port, or at least one second parallel output data port, and at least one second read shift register configured to serially collect serial output data from any of the outputs of the chains of memory cells. Thus, the controller may be configured to shift two chains of memory cells in parallel to the first and second serial output data ports, respectively. In one embodiment, the shiftable memory further includes a configurable number of n serial output data ports, and the controller is configured to shift n chains of memory cells in parallel to the n serial output data ports. According to one embodiment, the controller is configured to shift the two chains of memory cells in parallel with an arbitrary configurable delay between the two chains of memory cells, which means that it may be useful to shift the chains of memory cells individually, for example, depending on what the data is used for and when it is needed.
[0022] Since several chains can be shifted and thereby read in parallel, adding output logic, such as arithmetic logic, connected between the output of the chains or the read shift register and the memory output port can be a further option. Preferably, the arithmetic logic is configurable to perform an operation on the read data. In this way, the memory can be used, for example, to read several rows in parallel and perform a logical operation on the read data during a read operation. The controller can be configured to use the output logic to perform a logical operation on the first serial data output, the second serial output data port, and the optionally configurable number of n serial output data ports. In an embodiment, the shiftable memory of the present disclosure further includes output logic, such as arithmetic logic, and the controller is configured to use the output logic to perform a logical operation on the first serial data output and / or the second serial output data port, and the optionally configurable number of n serial output data ports. Such an operation can be performed based on an external command or based on a logical value on the input port of the shiftable memory. The controller may be further configurable to connect the result of the logical operation to at least one first serial input data port and serially shift the result to any of the chains of memory cells. The output logic may include several arithmetic units, the output of each arithmetic unit may be connected to a memory output port, to another arithmetic unit, or back to at least one first serial input data port. The shiftable memory of the present disclosure may include "in-memory logic", i.e., reducing energy and latency by integrating logical operations within the memory. The inventors have realized that by combining these logical operations with the features of the present disclosure related to shiftable memory, considerable advantages can be achieved.
[0023] The shiftable memory may further include at least one second serial input data port, and the input data logic is further configured to connect the second serial input data port to an input of either of the chains of memory cells, or to at least one second parallel input data port and at least one second write shift register for serially shifting input data to either of the inputs of the chains of memory cells. In this manner, a dual-port memory may be implemented. The controller may be configured to shift data from the first and second serial input data ports in parallel into two of the chains of memory cells in parallel. This concept can be extended to any number of rows / chains. Thus, in one embodiment, the shiftable memory further includes a configurable number of m serial input data ports, and the controller is configured to shift data in parallel from the m serial input data ports into the m chains of memory cells.
[0024] Resetting a shiftable memory can be done by shifting all rows until all memory cells are written to a predefined reset value. Such an operation can be initiated manually by accessing the rows through a write process, preferably by writing all rows in parallel. Alternatively, the memory may have a reset port, which can trigger a reset command to shift all rows until all memory cells are written.
[0025] The present disclosure relates to a shiftable memory. A shiftable memory may be implemented without bit lines. In other embodiments, bit lines may still be used. In one embodiment without bit lines, data must be serially shifted in and out of a chain of memory cells during write and read operations. This means that the operation may take several clock cycles, i.e., for example, when data is read, the process or unit reading from the memory must wait several clock cycles until the data is ready on the output port. Depending on the application, this delay may be acceptable. Since the delay that may be acceptable typically varies between applications, the inventors realized that having an internal faster configurable clock signal (or enable signal for the shifting process) may provide a solution that has the power and area efficiency of a shiftable memory but still maintains an access speed appropriate for the application. In one embodiment, the shiftable memory includes an internal dynamically configurable enable signal for shifting data in the chain of memory cells, the internal dynamically configurable enable signal having a configurable frequency. The memory may receive such a signal from a port, such as a clock signal. The switch logic element may be controlled by an enable signal based on a clock on the port. In one embodiment, the shiftable memory receives a first clock signal or enable signal for shifting data in the chain of memory cells, and the shiftable memory includes a clock generation unit for generating a second clock signal or enable signal based on the first clock signal.
[0026] In one embodiment of the shiftable memory of the present disclosure, the controller is further configured to shift data toward the output data port, and only data in memory cells that do not have valid data in the next adjacent memory cell toward the output data port are shifted. This is illustrated in FIG. 12. In this embodiment, the data may be shifted individually one by one. In this example, data 1 is the data closest to the output port. In the first clock cycle, data 1 is shifted out. In the second clock cycle, data 2 is shifted one step toward the output port. In the third clock cycle, there is one memory cell between data 2 and data 3 that is not occupied, so both data 2 and data 3 can be shifted. In one embodiment, the shiftable memory further includes a separate control signal for each bit in the row.
[0027] The interconnection of the memory cells in a row can be implemented by switch elements. In one embodiment, the memory cells are separated by two serially connected switch elements, such as a first switch element, such as a first transistor, and a second switch element, such as a second transistor, as shown in Figures 10 and 11, where 20 and 21 denote the first and second switch elements.
[0028] Each row may be connected to a word line signal connected to all of the first switch elements of the row, as shown in FIG. 11. Each column may be connected to a select signal connected to all of the second switch elements of the column, as shown in FIG. 11. Alternatively, each row may be connected to at least two word line signals, which are alternately connected to the first switch elements of the row, as shown in FIG. 10. As can be seen, for the first row, there are two word line signals WLA0 and WLB0, WLA0 is connected to the first and third first switching elements, and WLB0 is connected to the second and fourth first switching elements. Also, in this case, each column may be connected to a select signal connected to all of the second switch elements of the column.
[0029] In one embodiment, a row of a shiftable memory is divided into multiple sections. Each section may be connected to an input and / or output data port, or to a read and / or write shift register, as described above. By shifting the sections in parallel, read and write operations can be performed faster compared to sequential shifting of the entire row.
[0030] The controller of the shiftable memory of the present disclosure may be further configured to control the supply voltage levels of rows and / or columns and / or individual memory cells of the shiftable memory. In one embodiment, during a write operation to a memory cell such as a 6T bitcell, the controller may be configured to reduce the voltage of the entire column to make the write easier. In one embodiment, during a read operation, the controller may be configured to increase the supply voltage of the bitcell being read so that it is easier / faster to read. Supply voltage adjustments can be viewed as temporarily boosting or lowering voltages row-wise, column-wise, or even at an individual cell level. Static Random Access Memory
[0031] In one embodiment, the shiftable memory is a static random access memory. Metal-Oxide-Semiconductor Field-Effect Transistors (MOSFETs) have an insulated gate whose voltage determines the conductivity of the device. This ability to change conductivity depending on the amount of applied voltage can be used to amplify or switch electronic signals. In one embodiment of the shiftable memory of the present disclosure, the memory cells are implemented using MOSFETs. MOSFET technology is used in digital complementary metal-oxide-semiconductor (CMOS) logic, which uses p-channel and n-channel MOSFETs as building blocks.
[0032] In one embodiment of the shiftable memory of the present disclosure, the memory cells are of the five-transistor (5T) or six-transistor (6T) CMOS static random access memory type, preferably without bit line connections and / or without bit line pass gates. In this example, the memory cells are: A first storage node (Q) and an inverted first storage node
number
number
number
[0033] Figure 8 shows an example of a 6T memory cell. In the shiftable memory of the present disclosure, instead of connecting the access nodes (10) to the bit lines of the memory, the nodes can be connected to adjacent columns of memory cells. An example of such a series connection is shown in Figure 7D. The control / shift enable signals for shifting data in the memory cells may be connected to the word lines (11) and / or supply lines of the memory cells.
[0034] The memory cells may also be actually implemented as latches (two back-to-back inverters) and switches. The memory cells may also be implemented as standard cell-based Latches and Flip-Flops It may be implemented as: Dynamic Random Access Memory
[0035] In one embodiment, the shiftable memory is a dynamic random access memory. DRAM stores each bit in a small capacitor that can either be charged or discharged. The advantage of DRAM is the small size and simplicity of the memory cell. In the DRAM embodiment of the shiftable memory of the present disclosure, the memory cell is implemented as a data restoration and amplification unit, such as an inverter. FIG. 9E shows an example of how the memory cell can be implemented. The restoration and amplification unit can be implemented as a pair of complementary transistors, in this example one NMOS gate and one PMOS gate. Each memory cell can include two serially connected memory elements. Alternatively, each memory cell may include a single memory element. Each memory element can include a serially connected data restoration and amplification unit and a switch element, and a capacitor for storing the bit value connected in parallel.
[0036] DRAM is very cheap per bit in terms of power and area compared to SRAM. However, one drawback of DRAM is that DRAM must be periodically refreshed. Thus, conventional DRAM requires external memory refresh circuitry. The inventors have realized that the shiftable memory of the present disclosure is very useful in one implementation as a dynamic random access memory since all bits can be refreshed by shifting all chains at least one bit. A one-bit shift of all rows has the result that all bits are updated. This process can be triggered by a special refresh instruction, for example, by enabling a special refresh port, or by reading from all rows, for example, in parallel, one by one, or in groups. In this embodiment, each row can be implemented as a circular shift register, with the last bit of the row being written to the first bit of the row as the row is shifted, so that the data read is maintained in the row after it has been read. In one embodiment, the controller of the shiftable memory is further configured to track the current position of the bit in the chain of memory cells. A refresh operation of the dynamic random access memory can be performed by shifting each row at least one step. All the rows can be shifted simultaneously. How to make shiftable memory work
[0037] The present disclosure further relates to a method of operating a shiftable memory, the method comprising: shifting data in at least one row of a shiftable memory having a plurality of memory cells arranged in rows and columns, the memory cells of the rows being interconnected, thereby forming a chain of memory cells; sequentially reading the shifted data from a first serial output data port of the shiftable memory connected to an output of one of the chains of memory cells, or sequentially shifting data into an internal read shift register and reading data from the internal read shift register via a parallel output data port, or sequentially writing data to a first serial input port of the shiftable memory connected to an input of one of the chains of memory cells, or writing data from the parallel input data port to the internal write shift register and sequentially shifting data from the internal write shift register to an input of one of the chains of memory cells. Includes.
[0038] As described above, each memory cell may include two serially connected memory elements, and the shifting of the two serially connected memory elements is controlled using two different control signals, and the two different control signals operate in two different phases. Thus, in one embodiment, the method further includes shifting at least one row of the shiftable memory by shifting a first memory element of the two memory elements using a first control signal, and shifting a second memory element of the two memory elements using a second control signal. The first and second control signals may operate in two different phases. For example, the first and second control signals may be inverted or skewed with respect to each other.
[0039] In one embodiment, at least two rows are shifted in parallel. In a dual-port configuration, for example, two rows can be shifted in parallel to read data from two different ports simultaneously in a dual-port memory configuration. Two rows, whether the same row or other rows, can be shifted in parallel to write data from two different ports simultaneously in a dual-port memory configuration. The method may further include shifting n rows in parallel to read data from n different ports simultaneously in a multi-port memory configuration, where n is 3 or more. Alternatively, or in combination, the method further includes shifting m rows in parallel to write data from m different ports simultaneously in a multi-port memory configuration, where m is 3 or more.
[0040] The method of operating a shiftable memory can also shift data of memory cells individually. In one embodiment, data is shifted towards the output data port, and only data in memory cells that do not have valid data in the next adjacent memory cell towards the output data port are shifted. This is illustrated in Figure 12. In this embodiment, data may be shifted individually, one by one.
[0041] The method of operating the shiftable memory may further include shifting each row at least one step, thereby performing a refresh operation of the shiftable memory. The step of shifting each row at least one step may be performed in parallel, i.e. shifting all rows at the same time, which can be triggered, for example, by enabling a special refresh port, or by a special refresh instruction, for example, by reading from all rows while routing the output of the last cell to the input of the first cell. This process can also be performed by shifting the rows one by one or in groups.
[0042] In one embodiment, a row of a shiftable memory is divided into multiple sections. Thus, a method of operating a shiftable memory may include shifting data in a section in parallel to input or output data to and / or from the multiple sections in parallel.
[0043] Those skilled in the art will recognize that this method may include steps of providing any variation of a shiftable memory as described in this disclosure. Detailed Description of the Drawings
[0044] The invention will now be described in more detail with reference to the accompanying drawings, which are exemplary and are intended to illustrate some of the features of the disclosed shiftable memory and methods of operating the same, and are not to be construed as limiting the disclosed invention.
[0045] FIG. 1 is a conceptual top-level exemplary diagram of a shiftable memory (1) of the present disclosure. The shiftable memory (1) has a number of memory cells (2) arranged in rows (4) and columns (12), where the memory cells of a row are interconnected, thereby forming a chain of memory cells. The shiftable memory (1) further includes a controller (5) configured to control the shifting of data in the chain of memory cells (4) and to control output data logic (7) and input data logic (8). The shiftable memory may have a standard interface, which also has, for example, address and data ports, write enable, read enable, and clock signals. The peripheral logic may include read and / or write decoders and / or sense amplifiers and / or control and / or timing logic and drivers and further logic. An enable and / or clock generation unit (9) may be configured to generate a shift enable signal to the chain.
[0046] Figure 2 shows examples of shift and read operations of the shiftable memory (1) of the present disclosure. In Figure 2A, data shifted out of row 2 is serially shifted to a data output port (13). In Figure 2B, data shifted out of row 2 is shifted into an internal read shift register (14) from where it can be read by a parallel data port.
[0047] Figure 3 shows an example of the shift and read operation of the shiftable memory (1) of the present disclosure for two read ports. In Figure 3A, data is shifted into two rows in parallel. The data is shifted out serially to two data output ports (13). In Figure 3B, the data shifted out of the rows is shifted into two internal read shift registers (14) from where it can be read by the parallel data ports.
[0048] FIG. 4 shows an example of multiple parallel shift operations. First data is read from and written to the first row (4a). Second data is read from and written to the second row (4b). Third data is read from the third row (4a). The shifting of data in the third row (4c) is configured such that, as in a circular shift register, data from the last cell is routed back to the first cell of the chain. Fourth data is written to the fourth row (4d). Fifth data is read from the fifth row (4f). The shifting of data in the fifth row (4f) is configured such that, as in a circular shift register, data from the last cell is routed back to the first cell of the chain.
[0049] Figure 6 shows an example of a reset operation for row (4). A row can be reset by shifting a 1 or a 0. By shifting all rows in parallel in this way, the entire memory can be reset.
[0050] FIG. 7 shows an embodiment of a chain of memory cells of a static random access memory. FIG. 7A shows a chain of memory cells separated by a shift logic element (15) in the form of a switch (15). FIG. 7B shows how the switch can be controlled by two different control signals (SHIFT EN1 and EN2). FIG. 7C shows an example in which the memory cells are implemented as cross-coupled inverters (16). In FIG. 7D, each memory cell (2) is implemented as two serially connected memory elements (3). The data is shifted in two steps, a first enable signal (EN1) controls the shifting of the first memory element and a second enable signal (EN2) controls the shifting of the second memory element. Each memory cell is capable of. The memory elements may be implemented as 5T or 6T memory cells, for example. In the example of FIG. 7D, the memory elements are implemented as 6T memory cells.
[0051] 8 shows an embodiment of a memory cell (2) or memory element (3) of a chain of memory cells of a static random access memory. The memory cell has a first storage node (Q) and an inverted first storage node (Q).
number
number
number
[0052] FIG. 9 shows an embodiment of a chain of memory cells of a dynamic random access memory. FIG. 9A shows a chain of memory cells (2) separated by a shift logic element (15) in the form of a switch (15). FIG. 9B shows how the switch can be controlled by two different control signals (SHIFT EN1 and EN2). FIG. 9C shows an example in which the memory cells are implemented as restore and amplify units (17). In FIG. 9D, each memory cell (2) is implemented as a restore and amplify unit (17) having a capacitor (19) for storing a bit value and a switch element (18) in the form of a transistor arranged between the restore and amplify unit (17) and the capacitor (19). The data is shifted in two steps, a first enable signal (EN1) controls the shifting of the first memory element and a second enable signal (EN2) controls the shifting of the second memory element. FIG. 9E shows an example of how the memory cells (2) can be implemented. The restore and amplify unit (17) may be implemented as a pair of complementary transistors, in this example one NMOS gate and one PMOS gate. Each memory cell (2) contains two serially connected memory elements (3).
[0053] FIG. 10 shows an example of an improved configuration of control signals for shifting data in a shiftable memory. Between each memory cell there is a first switching element 20 and a second switching element 21. For the first row there are two word line signals WLA0 and WLB0, WLA0 is connected to the first and third of the first switching elements, and WLB0 is connected to the second and fourth of the first switching elements. For the second row there are two word line signals WLA1 and WLB1, WLA1 is connected to the first and third of the first switching elements of the second row, and WLB1 is connected to the second and fourth of the first switching elements of the second row. The third and fourth rows are similarly controlled using WLA2 and WLB2 and WLA3 and WLB3, respectively. In this example, each column is connected to a selection signal (CS0, CS1, CS2, CS3) connected to all of the second switch elements (21) of the column.
[0054] FIG. 11 shows a further example of an improved configuration of control signals for shifting data in a shiftable memory. Between each memory cell there is a first switching element 20 and a second switching element 21. For each row there is a word line signal connected to all of the first switch elements (20) of that row. For the first row there is a word line signal WL0 connected to all of the first switch elements (20) of the first row. For the second row there is a word line signal WL1 connected to all of the first switch elements (20) of the second row, and so on. Each column is connected to a select signal (CS0, CS1, CS2, CS3) connected to all of the second switch elements (21) of the column.
[0055] FIG. 12 shows an example of a clocking scheme for a shiftable memory of the present disclosure, where data are shifted individually. In this example, data 1 is the data closest to the output port. In the first clock cycle, data 1 is shifted out. In the second clock cycle, data 2 is shifted one step toward the output port. In the third clock cycle, there is one memory cell between data 2 and data 3 that is unoccupied, so both data 2 and data 3 can be shifted. In the fourth clock cycle, data 3 and data 4 are shifted. In the fifth and sixth clock cycles, data 4 is shifted.
[0056] 13 shows an example of separate control signals (bit cntrl1, bit cntrl2, bit cntrl3 and bit cntrl4) for each memory cell in a row. The drawing shows how the control signals may be active during the first four clock cycles for each shift of data.
[0057] FIG. 14 illustrates an example of a shiftable memory (1) of the present disclosure having output logic (22), such as arithmetic logic, for performing logical operations on data shifted out of the chain of memory cells. The memory preferably includes output data logic for connecting any output of the chain of memory cells to a first serial output data port, or at least one first parallel output data port, and to at least one read shift register configured to serially collect serial output data from any output of the chain of memory cells. The output can then be used to perform a logical / arithmetic operation. The result of such an operation is then sent out through the memory read port or written back to the memory (1) (23). If there is no logical / arithmetic operation, the read data can bypass the output logic (22).
[0058] 15 shows an example of a shiftable memory (1) of the present disclosure having output logic (22) that includes multiple arithmetic units (24). The output of each arithmetic unit (24) can be connected to a memory output port, to another arithmetic unit (24), or back to at least one first serial input data port.
[0059] Further details of the invention 1. A shiftable memory, comprising: a plurality of memory cells arranged in rows and columns, the memory cells of the rows being interconnected to form a chain of memory cells; at least one first serial output data port, the output data logic being for connecting an output of any of said chains of memory cells to said first serial output data port, or to at least one first parallel output data port and to at least one read shift register configured to serially collect serial output data from said outputs of any of said chains of memory cells; and / or at least one first serial input data port, input data logic for connecting said first serial input data port to an input of any of said chains of memory cells, or to at least one parallel input data port and at least one write shift register for serially shifting input data to said input of any of said chains of memory cells; a controller configured to control the shifting of the data within the chain of memory cells, the controller being further configured to control the output data logic and / or the input data logic; A shiftable memory containing 2. The shiftable memory of item 1, wherein the shiftable memory is operable without bit lines interconnecting the memory cells in the columns. 3. A shiftable memory according to any one of items 1 to 2, wherein one of the input data port and the output data port is a parallel port. 4. A shiftable memory according to any of items 1 to 3, wherein the memory cells of the row are separated by shift logic elements such as switch elements and / or gate elements and / or transistors. 5. A shiftable memory according to any one of items 1 to 4, wherein each memory cell comprises two serially connected memory elements, such as bit cells. 6. The shiftable memory of item 5, wherein the shifting of the two serially connected memory elements is controlled using two different control signals, the two different control signals operating in two different phases. 7. A shiftable memory as in item 6, wherein the control signal is a clock signal and / or the two control signals are inverted or skewed with respect to each other. 8. The shiftable memory according to any one of items 6 to 7, wherein the control signal controls the shift logic element. 9. A shiftable memory according to any one of items 1 to 8, wherein the memory cells are made of MOSFETs. 10. A shiftable memory according to any of items 1 to 9, wherein the memory cells are of the five-transistor (5T) or six-transistor (6T) CMOS static random access memory type without bit line connections and / or without bit line pass gates. 11. Each memory cell is A first storage node (Q) and an inverted first storage node
number
number
number
Claims
1. 1. A shiftable memory, comprising: a plurality of memory cells arranged in rows and columns, the memory cells of the rows being interconnected thereby forming a chain of memory cells; at least one first serial output data port, where an output data logic connects an output of any of the chains of memory cells to the at least one first serial output data port, or where the output data logic connects an output of any of the chains of memory cells to at least one first parallel output data port via at least one read shift register configured to serially collect serial output data from the outputs of any of the chains of memory cells; and / or at least one first serial input data port connected by input data logic to an input of any of said chains of memory cells or connected by said input data logic to at least one parallel input data port via at least one write shift register for serially shifting input data to the input of any of said chains of memory cells; a controller configured to control the shifting of data within the chain of memory cells, the controller being further configured to control the output data logic and / or the input data logic; A shiftable memory comprising: the controller is configured to individually shift the chains of memory cells; the memory cells are separated by two series-connected switch elements; 1. A shiftable memory, wherein each row is connected to a word line signal connected to all of the first switch elements of the row and each column is connected to a select signal connected to all of the second switch elements of the column, or each row is connected to at least two word line signals, the at least two word line signals being alternately connected to the first switch elements of the row, and each column is connected to a select signal connected to all of the second switch elements of the column.
2. 2. The shiftable memory of claim 1, wherein said shiftable memory is operable without bit lines interconnecting memory cells in said columns.
3. A shiftable memory according to any one of claims 1 to 2, wherein each memory cell comprises two serially connected memory elements, such as bit cells.
4. 4. The shiftable memory of claim 3, wherein the shifting of the two serially connected memory elements is controlled using two different control signals, the two different control signals operating in two different phases.
5. The shiftable memory of any one of claims 1 to 4, further comprising at least one second serial output data port, and wherein the output data logic connects an output of any of the chains of memory cells to the at least one second serial output data port, or the output data logic connects an output of any of the chains of memory cells to at least one second parallel output data port via at least one second read shift register configured to serially collect serial output data from the outputs of any of the chains of memory cells.
6. 6. The shiftable memory of claim 5, wherein the controller is configured to shift two chains of memory cells in parallel to the first and second serial output data ports, respectively.
7. 7. A shiftable memory according to any one of claims 5 to 6, wherein the controller is configured to shift two chains of memory cells in parallel with an arbitrarily configurable delay between the two chains of memory cells.
8. The shiftable memory of claims 5 to 7, wherein the shiftable memory further includes output logic such as arithmetic logic, and the controller is configured to use the output logic to perform a logical operation(s) on the first serial data output and / or the second serial output data port, and an optionally configurable number of n serial output data ports.
9. 9. The shiftable memory of claim 8, wherein the controller is configured to perform operations based on an external command or based on a logic value on an input port of the shiftable memory.
10. 10. A shiftable memory as claimed in any one of claims 8 to 9, wherein the controller is further configurable to connect a result of the logical operation(s) to the at least one first serial input data port and serially shift the result into any of the chains of memory cells.
11. 11. The shiftable memory of claim 1, wherein the controller is further configured to shift data towards the output data port, and wherein only data in memory cells that do not have valid data in their next adjacent memory cells towards the output data port are shifted, and the shiftable memory further comprises a separate control signal for each bit in a row.
12. 12. A shiftable memory as claimed in any preceding claim, wherein the shiftable memory is configured to simultaneously shift data in via the serial input data port(s) and shift data out via the serial output data port(s).
13. A shiftable memory as claimed in any preceding claim, wherein the controller is arranged to shift multiple rows in parallel.
14. 14. The shiftable memory of claim 1, wherein the shiftable memory includes an internal dynamically configurable enable signal for shifting data in the chain of memory cells, the internal dynamically configurable enable signal having a configurable frequency.
15. 15. A shiftable memory according to any preceding claim, wherein the shiftable memory is arranged to decode a reset command into an operation to shift all rows until all memory cells have been written.
16. 1. A method of operating a shiftable memory, the method comprising: shifting data of at least one row of a shiftable memory having a plurality of memory cells arranged in rows and columns, the memory cells of the row being interconnected thereby to form a chain of memory cells, the chain of memory cells being shifted individually, the memory cells being separated by two series connected switch elements, each row being connected to a word line signal connected to all of the first switch elements of the row and each column being connected to a select signal connected to all of the second switch elements of the column, or each row being connected to at least two word line signals, the at least two word line signals being alternately connected to the first switch elements of the row, and each column being connected to a select signal connected to all of the second switch elements of the column; sequentially reading the shifted data from a first serial output data port of the shiftable memory connected to an output of one of the chains of memory cells, using a word line signal connected to all of the first switch elements of the row and a selection signal connected to all of the second switch elements of the column, or using at least two word line signals alternately connected to the first switch elements of the row and a selection signal connected to all of the second switch elements of the column, or sequentially shifting data into an internal read shift register and reading data from the internal read shift register via a parallel output data port, or sequentially writing data into a first serial input port of the shiftable memory connected to an input of one of the chains of memory cells, or writing data from a parallel input data port into an internal write shift register and sequentially shifting data from the internal write shift register to an input of one of the chains of memory cells; A method comprising:
17. A shiftable memory comprising: a plurality of memory cells arranged in rows and columns, the memory cells of the rows being interconnected thereby forming a chain of memory cells; at least one first serial output data port, where an output data logic connects an output of any of the chains of memory cells to the at least one first serial output data port, or where the output data logic connects an output of any of the chains of memory cells to at least one first parallel output data port via at least one read shift register configured to serially collect serial output data from the outputs of any of the chains of memory cells; and / or at least one first serial input data port connected by input data logic to an input of any of said chains of memory cells or connected by said input data logic to at least one parallel input data port via at least one write shift register for serially shifting input data to the input of any of said chains of memory cells; a controller configured to control the shifting of data within the chain of memory cells, the controller being further configured to control the output data logic and / or the input data logic; A shiftable memory comprising: the controller is configured to individually shift the chains of memory cells; The shiftable memory is a dynamic random access memory, and a refresh operation of the dynamic random access memory is performed by shifting each row at least one step.
18. 18. A shiftable memory as claimed in claim 17, wherein the controller is configured to simultaneously perform the refresh operation and read and / or write data from / to the chain of memory cells.
Citation Information
Patent Citations
JP1973014374B1
Shift register
JP1990260300A
Shift register
JP1991035500A
Shift register circuit and solid image pickup device using same
JP2000311494A