US20210134371A1 - Sram memory having subarrays with common io block - Google Patents
Sram memory having subarrays with common io block Download PDFInfo
- Publication number
- US20210134371A1 US20210134371A1 US17/120,702 US202017120702A US2021134371A1 US 20210134371 A1 US20210134371 A1 US 20210134371A1 US 202017120702 A US202017120702 A US 202017120702A US 2021134371 A1 US2021134371 A1 US 2021134371A1
- Authority
- US
- United States
- Prior art keywords
- bit lines
- sub array
- array
- block
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000003068 static effect Effects 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 238000003491 array Methods 0.000 abstract description 39
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 6
- 230000000295 complement effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
- G11C11/417—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
- G11C11/419—Read-write [R-W] circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/412—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
- G11C11/417—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/025—Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1039—Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/106—Data output latches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/12—Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/18—Bit line organisation; Bit line lay-out
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B10/00—Static random access memory [SRAM] devices
Definitions
- a common type of integrated circuit memory is a static random access memory (SRAM) device.
- SRAM static random access memory
- a typical SRAM memory device has an array of memory cells. Each memory cell uses six transistors, for example, connected between an upper reference potential and a lower reference potential (typically ground) such that one of two storage nodes can be occupied by the information to be stored, with the complementary information stored at the other storage node.
- a central processing unit (CPU) cache is a hardware cache used by the CPU. CPUs access data from a main memory location, but this operation is time consuming and inefficient. A cache is used to provide faster access to frequently used data by storing that data locally. A cache provides a smaller memory capacity, but being located close to the CPU allows the CPU's request for frequented data to be significantly sped up. In some examples, caches are organized as a hierarchy of several levels (L 1 , L 2 , etc.). In a hierarchal cache, the L 1 level is located closest to the CPU. As such, the capacity of the L 1 cache is small but the access speed is the fastest. Since it provides words of data or instructions directly to the CPU, the L 1 cache typically operates at the same clock speed as the CPU.
- L 1 , L 2 , etc. the capacity of the L 1 cache is small but the access speed is the fastest. Since it provides words of data or instructions directly to the CPU, the L 1 cache typically operates at the same clock speed as the CPU.
- FIG. 1 is a block diagram illustrating aspects of an example memory device in accordance with some embodiments.
- FIG. 2 is a circuit diagram of an example of a static random access memory (SRAM) cell in accordance with some embodiments.
- SRAM static random access memory
- FIG. 3 is a bock diagram illustrating further aspects of an example of the memory shown in FIG. 1 in accordance with some embodiments.
- FIG. 4 is a block diagram illustrating further aspects of an example of the memory shown in FIG. 1 in accordance with some embodiments.
- FIG. 5 is a block diagram illustrating an example of a memory IO block in accordance with some embodiments.
- FIG. 6 is a block diagram illustrating another example of a memory device in accordance with some embodiments.
- FIG. 7 is a block diagram illustrating another example of a memory device in accordance with some embodiments.
- FIG. 8 is a block diagram illustrating another example of a memory input/output (IO) block in accordance with some embodiments.
- FIG. 9 is a block diagram illustrating a further example of a memory IO block in accordance with some embodiments.
- FIG. 10 is a block diagram illustrating a further example of a memory IO block in accordance with some embodiments.
- FIG. 11 is a circuit diagram illustrating a further example of a memory device in accordance with some embodiments.
- FIG. 12 is a flow diagram illustrating an example of a memory IO method in accordance with some embodiments.
- first and second features are formed in direct contact
- additional features may be formed between the first and second features, such that the first and second features may not be in direct contact
- present disclosure may repeat reference numerals and/or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed.
- spatially relative terms such as “beneath,” “below,” “lower,” “above,” “upper” and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures.
- the spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures.
- the apparatus may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein may likewise be interpreted accordingly.
- Memory devices such as static random access memory (SRAM) have memory cells arranged in an array of rows and columns.
- the memory cells are connected to a row decoder via word lines.
- the memory cell array contains bit lines connecting the columns of a plurality of individual memory cells to an Input/Output (IO) block.
- IO Input/Output
- the bit lines of each column are respectively coupled to a plurality of memory cells that are disposed in that column, and each memory cell in that column is arranged on a different row and coupled to a respective word line.
- the bit lines extend in one direction (parallel to a first axis) and the word lines extend in a second direction (parallel to a second axis) perpendicular to the first direction.
- the IO block is connected to a control which implements the control logic of the memory architecture.
- SRAM memory is often used implementing various cache memory arrangements, such as a L 1 , L 2 , etc. caches.
- L 1 , L 2 , etc. caches In a hierarchal cache, the L 1 level is located closest to the CPU. As such, the capacity of the L 1 cache is small but the access speed is the fastest. Since it provides words of data or instructions directly to the CPU, the L 1 cache typically operates at the same clock speed as the CPU.
- the L 1 cache sometimes is required use long bit lines and long word lines to achieve the smallest memory area. These long and heavily loaded bit lines may cause degradation in cache performance.
- the reason for this is that the resistance of each bit line, which increases with bit line length, causes a delay in the memory cell access time. Reducing the length and number of bits along the bit line will improve the performance of the memory.
- Some solutions attempt to reduce the length of the bit lines while maintaining the same total number of bits by creating sub-banks of smaller memory cell arrays, each with shorter bit lines.
- Local IO structures with multiplexers assemble information from the sub-banks, which is then transmitted to a global IO using global bit lines. Such structures may impart additional time delays, possibly reducing the benefit of shortening the bit line length.
- the area required to implement this design increases, thus decreasing the CPU's area, further hurting the CPU's performance.
- a “Folded Architecture” of the memory is employed.
- This “Folded Architecture” shortens the length of the bit lines, while eliminating the need for the global bit lines, thus increases the access speed of the memory while minimally impacting the CPU area in implementations such as an L 1 cache.
- the disclosed memory arrangement invention is described as being implemented as an SRAM on for an L 1 cache, but other embodiments are possible.
- FIG. 1 is a block diagram illustrating an example of a memory device 100 in accordance with aspects of the present disclosure.
- the memory device 100 includes a memory cell array 105 , an input/output (IO) block 130 , and a word line driver 120 .
- the memory cell array 105 is divided into two memory sub arrays 105 a , 105 b , positioned on opposite sides of the IO block 130 and directly connected thereto.
- the memory device 100 is an SRAM memory, and thus the memory array 105 is an array of SRAM memory cells.
- FIG. 2 illustrates an example of an SRAM memory cell 200 of the memory cell array 105 shown in FIG. 1 .
- the memory cell 200 is connected to a word line 202 and complementary bit lines BL 204 a and BLB 204 b .
- the sub arrays 105 a , 105 b are situated on either side of the IO block 130 , and the bit lines 204 a , 204 b are directly connected to the IO block 130 .
- the IO block 130 includes a data input terminal 102 and an output terminal 104 , which respectively receive data for writing to the memory sub arrays 105 a , 105 b , and output data read from the memory sub arrays 105 a , 105 b.
- the memory cell 200 includes PMOS transistors 208 a - b and NMOS transistors 206 a - d .
- the transistors 208 a and 206 c are coupled to one another and positioned between the supply voltage VDD and ground to form an inverter.
- the transistors 208 b and 206 d are coupled between VDD and ground to form a second inverter.
- the two inverters are cross-coupled to each other.
- An access transistor 206 a connects the output of the first inverter to the bit line BL 204 a .
- the access transistor 206 b connects the output of the second inverter to the bit line bar 204 b .
- the word line 202 is attached to the gate controls of the access transistors 206 a and 206 b to selectively couple the outputs of the inverters to the bit lines 204 a , 204 b during read/write operations in response to the word line driver 120 shown in FIG. 1 .
- the inverters drive the complementary voltage levels at the bit lines 204 a , 204 b.
- the cross coupled inverters of the memory cell 200 provide two stable voltage states denoting logic values 0 and 1.
- Metal-Oxide Semiconductor Field Effect Transistors MOSFETs are typically used as the transistors in the memory cell 200 . In some embodiments more or fewer than 6 transistors may be used to implement the memory cell 200 .
- FIG. 3 illustrates further aspects of the memory device 100 .
- the memory cell sub arrays 105 a , 105 b each include a plurality of the memory cells 200 arranged in a column-row configuration in which each column has a bit line 204 a and a bit line bar 204 b , and each row has a word line 202 .
- the bit lines 204 a , 204 b of each column are respectively coupled to a plurality of the memory cells 200 that are disposed in that column, and each memory cell 200 in that column is arranged on a different row and coupled to a respective (different) word line 202 .
- each memory cell 200 of the memory cell array 110 is coupled to a bit line 204 a of a column of the memory cell array 110 , a bit line bar 204 b of the column of the memory cell array 110 , and a word line 202 of a row of the memory cell array 110 .
- the bit lines 204 a and bit lines bar 204 b are arranged in parallel vertically and the word lines 202 are arranged in parallel horizontally (i.e., perpendicular to the bit lines 204 a , 204 b .
- the bit lines 204 a , 204 b of the memory cells 200 of the sub arrays 105 a , 105 b extend directly to the IO block 130 , which includes the data input terminal 102 and an output terminal 104 for respectively writing and reading data to and from the memory cells 200 .
- the memory device 100 includes an array of memory cells 105 , which includes a first sub array 105 a and a second sub array 105 b .
- a plurality of bit lines 204 are connected to the memory cells 105 , and an IO block 130 is situated between the first sub array 105 a and the second sub array 105 b .
- the bit lines 204 extend from the first and second memory sub arrays 105 a , 105 b of the memory device 100 directly to the IO block 130 .
- the IO block 130 includes a data input terminal 102 and an output terminal 104 , which output data from the bit lines 204 and input data to the bit lines 204 .
- the memory device 100 shown in FIGS. 1-4 provides a “folded” memory array arrangement, in that essentially a mirror image of the memory structure is created by the position of the IO block 130 extending horizontally across the memory array 105 so as to divide the array 105 into the first and second sub arrays 105 a , 105 b dividing the folded memory architecture 100 .
- bit lines from both memory sub arrays 105 a , 105 b allow the bit line 204 length to be reduced to roughly half that of a more conventional arrangement where the bit lines extend to an IO block at one end of the memory array.
- bit lines from memory sub arrays have local bit lines that extend to a centrally located local IO block.
- global bit lines are additionally required to send and receive data between the local IO block and a global IO block to communicate outside the memory array.
- the first and second sub arrays have respective first and second IO blocks situated between the two sub arrays.
- the first and second IO blocks may be dedicated respectively to the upper sub array and the lower sub array.
- first and second IO blocks are located next to one another between the sub arrays, for additional efficiency and space saving some components of the IO blocks may be dedicated to the upper sub array, some components may be dedicated to the lower sub array, and some components may be shared between the sub arrays.
- FIG. 5 is a block diagram illustrating further aspects of the IO block 130 .
- the IO block 130 has a first, or top side 131 and a second, or bottom side 132 opposite the first side 131 .
- the top side 131 receives a first plurality of the bit lines 204 from the first memory sub array 105 a
- the bottom side 132 receives a second plurality of the bit lines 204 from the second memory sub array 105 b.
- the IO block 130 includes various control blocks for reading and writing data to and from the memory array 105 .
- the bit lines 204 of both sub arrays 105 a , 105 b connect to the IO block 130 which may include, for example, a bit line pre-charge, multiplexer (MUX) and write driver block 210 , a sense amplifier 220 , a write control 230 , and an output latch 240 .
- the data-in terminal 102 and data-out terminal 104 receive and output data from the memory device 100 to components external thereto.
- FIG. 6 illustrates another example of the memory device 100 , depicting a “butterfly” type design where a row decoder 120 and control 140 extend generally parallel to the bit lines 204 (vertically in FIG. 6 ), and are centrally located between the memory cell array 105 so as to further divide the array 105 into a third sub array 105 c and a fourth sub array 105 d .
- FIG. 7 illustrates another example where the row decoders 120 and the controls 140 are positioned at one side of the memory array 105 .
- the bit lines 204 extend from the opposite sides (upper and lower sides) of the IO block 130 , such that the IO components are situated in the middle of the array 105 .
- Various periphery components may also be shared between the upper sub array(s) 105 a , 105 c , and the lower array(s) 105 b , 105 d.
- various periphery components of the IO block 130 may be shared between the memory cells of the sub arrays 105 a , 105 b . This can further reduce the macro area required to implement the memory device 100 disclosed herein. Positioning IO blocks for the sub arrays 105 a , 105 b next to each other between the sub arrays 105 a , 105 b allows sharing various components of the IO block 130 among the memory sub arrays 105 a , 105 b , which takes better advantage of the shortened bit lines 204 , without significantly impact macro area. This optimizes the performance of both the memory device and components connected thereto and can reduce redundancy of components of the IO blocks. As noted above, memory implementations such as an L 1 cache require fast access speed while minimizing space.
- the IO block 130 includes first and second IO blocks 130 a , 130 b , which are connected to the bit lines 204 of the respective first and second sub arrays 105 a , 105 b .
- FIG. 7 illustrates such an arrangement.
- corresponding third and fourth memory blocks 130 c , 130 d may be employed as shown in FIG. 6 . In the examples of FIG. 6 and FIG.
- all of the control blocks 130 are positioned between the upper and lower sub arrays 105 a , 105 b (and 105 c , 105 d ), and as such are centrally located to allow for shortened bit lines 204 received at the upper and lower sides 131 , 132 of the IO blocks 130 .
- some or all of the IO functions may be dedicated to the memory cells and bit lines 204 of the respective sub arrays. This may improve performance of the memory device 100 .
- FIG. 8 illustrates aspects of an example of the IO block 130 , where various components of the IO block 130 are provided in first and second IO blocks 130 a , 130 b , situated generally as mirror images of one another.
- each of the IO blocks 130 a , 130 b include a bit line pre-charge, read MUX and write driver block 210 , a sense amp 220 , write control 230 , and output latch 240 .
- a data IO layer including the Din 102 and Dout 104 terminals is situated between the upper and lower control blocks 130 a , 130 b.
- FIG. 9 depicts another example where the output latch 240 is shared by both IO blocks 130 a , 130 b .
- the single output latch block 240 functions to latch output signals received on the bit lines 204 from both the first and second sub arrays 105 a , 105 b .
- Other IO function blocks are repeated, such that the bit lines 204 of the first and second sub arrays 105 a , 105 b have a respective bit line pre-charge, read MUX and write driver block 210 , sense amp 220 , and write control 230 .
- the data IO layer including the Din 102 and Dout 104 terminals is situated between the upper and lower control blocks 130 a , 130 b.
- FIG. 10 illustrates yet another example where additional IO functions are shared between the first and second sub arrays 105 a . 105 b . More particularly, the output latch 240 and write control 230 functions are both shared by IO blocks 130 a , 130 b . In other words, the single output latch block 240 and single write control 230 directly receive signals on the bit lines 204 from both the first and second sub arrays 105 a , 105 b .
- IO function blocks are provided in both the upper and lower IO blocks 130 a , 130 b , such that the bit lines 204 of the first and second sub arrays 105 a , 105 b have a respective bit line pre-charge, read MUX and write driver block 210 , and sense amp 220 .
- the data IO layer including the Din 102 and Dout 104 terminals is situated between the upper and lower control blocks 130 a , 130 b.
- FIG. 11 is a circuit diagram illustrating aspects of another example memory device 100 , where IO blocks 130 a , 130 b are situated adjacent one another between first and second memory sub arrays 105 a , 105 b and share a common output latch 270 .
- FIG. 11 shows portions of a single column of memory cells 200 of the first and second memory cell arrays 105 a , 105 b , which are located between two bit lines 204 a , 204 b .
- the bit lines 204 b are bar bit lines, carrying signals complementary to those on the bit lines 204 a .
- the memory cells 200 connected to corresponding word lines, which extend in horizontal rows perpendicular to the bit lines 204 a , 204 b in the example shown in FIG. 11 .
- the word lines are activated in response to word line select signals output by the word line driver 120 shown in FIG. 1 .
- the word line driver 120 decodes the selected word line based on a received word line address.
- Column select signals ysel_u 320 and/or ysel_d 330 are received at respective gate terminals of transistors 310 and 312 to select the desired columns of the memory array 105 .
- data signals from the selected rows of memory cells 200 are output to respective sense amplifiers 220 of the first and second IO blocks 130 a , 130 b .
- the word line driver 120 is configured to select a row from only the upper array 105 a or the lower array 105 b , but not both, during a particular read operation.
- the sense amplifiers 220 which outputs the amplified data signals to the shared output latch 240 in response to the sense amplifier enable signals sae_u 322 or sae-d 332 .
- the data signals are output by the shared output latch 270 on the output pin Q 340 .
- the outputs of the sense amplifiers 220 are configured with tri-state logic, where the output of the sense amplifier 220 may assume a high impedance state in addition to the 0 and 1 logic levels. This allows the particular sense amplifier output to effectively be removed from the circuit until new data is available. In this way, the two sense amp outputs can be tied together without additional delay that would be caused by another level of multiplexors.
- FIG. 12 is a block diagram illustrating an IO method 400 corresponding to the various embodiments disclosed herein.
- an array of memory cells is provided, such as the array 105 shown in FIG. 4 .
- An IO block 130 is positioned so as to divide the array 105 of memory cells into a first sub array 105 a and a second sub array 105 b situated on opposite sides of the IO block 130 in block 412 .
- bit lines 204 connected to the memory cells of the first sub array 105 a are received at a first side 131 of the IO block 130
- bit lines 204 connected to the memory cells of the second sub array 105 b are received at a second side 132 of the IO block 130 .
- the IO block 130 is situated between the memory arrays 105 a , 105 b . Data signals are thus received directly from and output directly to the shortened bit lines that extend to the centrally located control block 130 , rather than requiring additional global bit lines to transmit the data signals to a global IO block.
- the IO block 130 is operated to read data from and write data to the memory cells of the first and second sub arrays, and output and receive the data via output and input terminals 104 , 102 of the centrally located IO block 130 as shown in block 418 .
- Various examples disclosed herein thus provide a memory array with shortened bit lines that are directly received by an IO block positioned between sub arrays of the memory array. In this manner, performance is improved via the shortened bit lines. Moreover, by the centrally located IO block being directly connected to the bit lines of the memory sub arrays, a global IO block is not necessary, which saves macro space and further improves performance.
- a memory device such as an SRAM memory
- a plurality of bit lines are connected to the memory cells, and an IO block is situated between the first sub array and the second sub array.
- the bit lines extend from the first and second memory sub arrays of the memory device directly to the IO block.
- the IO block further includes data input and output terminals configured to receive data to be written to the array of memory cells and output data read from the array of memory cells via the plurality of bit lines
- a memory IO includes an IO block having a first side and a second side opposite the first side.
- the first side is configured to receive a first plurality of bit lines from a first memory sub array
- the second side is configured to receive a second plurality of bit lines from a second memory sub array.
- the IO block has an output latch coupled to receive data read from the first plurality of bit lines and the second plurality of bit lines. Data input and output terminals are configured to receive and output data to and from the plurality of bit lines.
- a memory IO method includes providing an array of memory cells.
- An IO block is positioned so as to divide the array of memory cells into a first sub array and a second sub array situated on opposite sides of the IO block.
- a first plurality of bit lines connected to the memory cells of the first sub array is received at a first side of the IO block, and a second plurality of bit lines connected to the memory cells of the second sub array is received at a first side of the IO block.
- the IO block is operated to read data and write data to and from the memory cells of the first and second sub arrays.
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Static Random-Access Memory (AREA)
- Dram (AREA)
Abstract
Description
- This application is continuation of U.S. patent application Ser. No. 16/240,175, titled “SRAM MEMORY HAVING SUBARRAYS WITH COMMON IO BLOCK,” filed Jan. 4, 2019, which claims priority to U.S. Provisional Patent Application No. 62/647,422, titled “FOLDED MEMORY ARCHITECTURE,” filed Mar. 23, 2018, of which the entire disclosure of each is hereby incorporated by reference.
- A common type of integrated circuit memory is a static random access memory (SRAM) device. A typical SRAM memory device has an array of memory cells. Each memory cell uses six transistors, for example, connected between an upper reference potential and a lower reference potential (typically ground) such that one of two storage nodes can be occupied by the information to be stored, with the complementary information stored at the other storage node.
- SRAM memory is often used for computing applications, such as implementing a cache memory. A central processing unit (CPU) cache is a hardware cache used by the CPU. CPUs access data from a main memory location, but this operation is time consuming and inefficient. A cache is used to provide faster access to frequently used data by storing that data locally. A cache provides a smaller memory capacity, but being located close to the CPU allows the CPU's request for frequented data to be significantly sped up. In some examples, caches are organized as a hierarchy of several levels (L1, L2, etc.). In a hierarchal cache, the L1 level is located closest to the CPU. As such, the capacity of the L1 cache is small but the access speed is the fastest. Since it provides words of data or instructions directly to the CPU, the L1 cache typically operates at the same clock speed as the CPU.
- Aspects of the present disclosure are best understood from the following detailed description when read with the accompanying figures. It is noted that, in accordance with the standard practice in the industry, various features are not drawn to scale. In fact, the dimensions of the various features may be arbitrarily increased or reduced for clarity of discussion. In addition, the drawings are illustrative as examples of embodiments of the invention and are not intended to be limiting.
-
FIG. 1 is a block diagram illustrating aspects of an example memory device in accordance with some embodiments. -
FIG. 2 is a circuit diagram of an example of a static random access memory (SRAM) cell in accordance with some embodiments. -
FIG. 3 is a bock diagram illustrating further aspects of an example of the memory shown inFIG. 1 in accordance with some embodiments. -
FIG. 4 is a block diagram illustrating further aspects of an example of the memory shown inFIG. 1 in accordance with some embodiments. -
FIG. 5 is a block diagram illustrating an example of a memory IO block in accordance with some embodiments. -
FIG. 6 is a block diagram illustrating another example of a memory device in accordance with some embodiments. -
FIG. 7 is a block diagram illustrating another example of a memory device in accordance with some embodiments. -
FIG. 8 is a block diagram illustrating another example of a memory input/output (IO) block in accordance with some embodiments. -
FIG. 9 is a block diagram illustrating a further example of a memory IO block in accordance with some embodiments. -
FIG. 10 is a block diagram illustrating a further example of a memory IO block in accordance with some embodiments. -
FIG. 11 is a circuit diagram illustrating a further example of a memory device in accordance with some embodiments. -
FIG. 12 is a flow diagram illustrating an example of a memory IO method in accordance with some embodiments. - The following disclosure provides many different embodiments, or examples, for implementing different features of the provided subject matter. Specific examples of components and arrangements are described below to simplify the present disclosure. These are, of course, merely examples and are not intended to be limiting. For example, the formation of a first feature over or on a second feature in the description that follows may include embodiments in which the first and second features are formed in direct contact, and may also include embodiments in which additional features may be formed between the first and second features, such that the first and second features may not be in direct contact. In addition, the present disclosure may repeat reference numerals and/or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed.
- Further, spatially relative terms, such as “beneath,” “below,” “lower,” “above,” “upper” and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. The spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. The apparatus may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein may likewise be interpreted accordingly.
- Memory devices, such as static random access memory (SRAM), have memory cells arranged in an array of rows and columns. The memory cells are connected to a row decoder via word lines. Additionally, the memory cell array contains bit lines connecting the columns of a plurality of individual memory cells to an Input/Output (IO) block. Thus, the bit lines of each column are respectively coupled to a plurality of memory cells that are disposed in that column, and each memory cell in that column is arranged on a different row and coupled to a respective word line. Typically, the bit lines extend in one direction (parallel to a first axis) and the word lines extend in a second direction (parallel to a second axis) perpendicular to the first direction. The IO block is connected to a control which implements the control logic of the memory architecture.
- SRAM memory is often used implementing various cache memory arrangements, such as a L1, L2, etc. caches. In a hierarchal cache, the L1 level is located closest to the CPU. As such, the capacity of the L1 cache is small but the access speed is the fastest. Since it provides words of data or instructions directly to the CPU, the L1 cache typically operates at the same clock speed as the CPU.
- Area in the CPU is often a concern, so the L1 cache sometimes is required use long bit lines and long word lines to achieve the smallest memory area. These long and heavily loaded bit lines may cause degradation in cache performance. The reason for this is that the resistance of each bit line, which increases with bit line length, causes a delay in the memory cell access time. Reducing the length and number of bits along the bit line will improve the performance of the memory.
- Some solutions attempt to reduce the length of the bit lines while maintaining the same total number of bits by creating sub-banks of smaller memory cell arrays, each with shorter bit lines. Local IO structures with multiplexers assemble information from the sub-banks, which is then transmitted to a global IO using global bit lines. Such structures may impart additional time delays, possibly reducing the benefit of shortening the bit line length. In addition, the area required to implement this design increases, thus decreasing the CPU's area, further hurting the CPU's performance.
- In accordance with some disclosed examples, to improve the performance of the memory device, a “Folded Architecture” of the memory is employed. This “Folded Architecture” shortens the length of the bit lines, while eliminating the need for the global bit lines, thus increases the access speed of the memory while minimally impacting the CPU area in implementations such as an L1 cache. In some embodiments, the disclosed memory arrangement invention is described as being implemented as an SRAM on for an L1 cache, but other embodiments are possible.
-
FIG. 1 is a block diagram illustrating an example of amemory device 100 in accordance with aspects of the present disclosure. In the illustrated embodiment ofFIG. 1 , thememory device 100 includes amemory cell array 105, an input/output (IO) block 130, and aword line driver 120. Thememory cell array 105 is divided into twomemory sub arrays IO block 130 and directly connected thereto. - As noted above, in some embodiments the
memory device 100 is an SRAM memory, and thus thememory array 105 is an array of SRAM memory cells.FIG. 2 illustrates an example of anSRAM memory cell 200 of thememory cell array 105 shown inFIG. 1 . Thememory cell 200 is connected to aword line 202 and complementary bit lines BL 204 a andBLB 204 b. As will be discussed further below, thesub arrays IO block 130, and thebit lines IO block 130. TheIO block 130 includes adata input terminal 102 and anoutput terminal 104, which respectively receive data for writing to thememory sub arrays memory sub arrays - The
memory cell 200 includes PMOS transistors 208 a-b and NMOS transistors 206 a-d. Thetransistors transistors access transistor 206 a connects the output of the first inverter to thebit line BL 204 a. Similarly, theaccess transistor 206 b connects the output of the second inverter to thebit line bar 204 b. Theword line 202 is attached to the gate controls of theaccess transistors bit lines word line driver 120 shown inFIG. 1 . During a read operation the inverters drive the complementary voltage levels at thebit lines - The cross coupled inverters of the
memory cell 200 provide two stable voltage states denoting logic values 0 and 1. Metal-Oxide Semiconductor Field Effect Transistors (MOSFETs) are typically used as the transistors in thememory cell 200. In some embodiments more or fewer than 6 transistors may be used to implement thememory cell 200. -
FIG. 3 illustrates further aspects of thememory device 100. In some embodiments, the memorycell sub arrays memory cells 200 arranged in a column-row configuration in which each column has abit line 204 a and abit line bar 204 b, and each row has aword line 202. More specifically, thebit lines memory cells 200 that are disposed in that column, and eachmemory cell 200 in that column is arranged on a different row and coupled to a respective (different)word line 202. That is, eachmemory cell 200 of the memory cell array 110 is coupled to abit line 204 a of a column of the memory cell array 110, abit line bar 204 b of the column of the memory cell array 110, and aword line 202 of a row of the memory cell array 110. In some embodiments, thebit lines 204 a and bit lines bar 204 b are arranged in parallel vertically and the word lines 202 are arranged in parallel horizontally (i.e., perpendicular to thebit lines memory cells 200 of thesub arrays IO block 130, which includes thedata input terminal 102 and anoutput terminal 104 for respectively writing and reading data to and from thememory cells 200. - Referring now to
FIG. 4 , further aspects of thememory device 100 in accordance with disclosed embodiments are illustrated. Thememory device 100 includes an array ofmemory cells 105, which includes afirst sub array 105 a and asecond sub array 105 b. A plurality ofbit lines 204 are connected to thememory cells 105, and anIO block 130 is situated between thefirst sub array 105 a and thesecond sub array 105 b. As noted above, in certain memory applications such as for an L1 cache, high speed access to the memory array is desirable. To shorten the bit lines and improve performance, thebit lines 204 extend from the first and secondmemory sub arrays memory device 100 directly to theIO block 130. TheIO block 130 includes adata input terminal 102 and anoutput terminal 104, which output data from thebit lines 204 and input data to the bit lines 204. - The
memory device 100 shown inFIGS. 1-4 provides a “folded” memory array arrangement, in that essentially a mirror image of the memory structure is created by the position of the IO block 130 extending horizontally across thememory array 105 so as to divide thearray 105 into the first andsecond sub arrays memory architecture 100. - The illustrated “folded” arrangement where the IO block 130 directly receives the
bit lines 204 from bothmemory sub arrays bit line 204 length to be reduced to roughly half that of a more conventional arrangement where the bit lines extend to an IO block at one end of the memory array. In other conventional arrangements, bit lines from memory sub arrays have local bit lines that extend to a centrally located local IO block. However, global bit lines are additionally required to send and receive data between the local IO block and a global IO block to communicate outside the memory array. Since thebit lines 204 for theentire array 105, including the first andsecond sub arrays output terminals device 100 disclosed herein. As discussed further below, in some embodiments of the folded or mirror image arrangement shown inFIGS. 1-4 , the first and second sub arrays have respective first and second IO blocks situated between the two sub arrays. In some examples, the first and second IO blocks may be dedicated respectively to the upper sub array and the lower sub array. Moreover, since the first and second IO blocks are located next to one another between the sub arrays, for additional efficiency and space saving some components of the IO blocks may be dedicated to the upper sub array, some components may be dedicated to the lower sub array, and some components may be shared between the sub arrays. -
FIG. 5 is a block diagram illustrating further aspects of theIO block 130. TheIO block 130 has a first, ortop side 131 and a second, orbottom side 132 opposite thefirst side 131. Thetop side 131 receives a first plurality of thebit lines 204 from the firstmemory sub array 105 a, and thebottom side 132 receives a second plurality of thebit lines 204 from the secondmemory sub array 105 b. - The
IO block 130 includes various control blocks for reading and writing data to and from thememory array 105. The bit lines 204 of bothsub arrays driver block 210, asense amplifier 220, awrite control 230, and anoutput latch 240. The data-interminal 102 and data-out terminal 104 receive and output data from thememory device 100 to components external thereto. -
FIG. 6 illustrates another example of thememory device 100, depicting a “butterfly” type design where arow decoder 120 andcontrol 140 extend generally parallel to the bit lines 204 (vertically inFIG. 6 ), and are centrally located between thememory cell array 105 so as to further divide thearray 105 into athird sub array 105 c and afourth sub array 105 d.FIG. 7 illustrates another example where therow decoders 120 and thecontrols 140 are positioned at one side of thememory array 105. As with the example shown inFIG. 4 , thebit lines 204 extend from the opposite sides (upper and lower sides) of theIO block 130, such that the IO components are situated in the middle of thearray 105. Various periphery components may also be shared between the upper sub array(s) 105 a, 105 c, and the lower array(s) 105 b, 105 d. - As mentioned previously, various periphery components of the IO block 130 may be shared between the memory cells of the
sub arrays memory device 100 disclosed herein. Positioning IO blocks for thesub arrays sub arrays memory sub arrays bit lines 204, without significantly impact macro area. This optimizes the performance of both the memory device and components connected thereto and can reduce redundancy of components of the IO blocks. As noted above, memory implementations such as an L1 cache require fast access speed while minimizing space. - In some examples, the
IO block 130 includes first and second IO blocks 130 a, 130 b, which are connected to thebit lines 204 of the respective first andsecond sub arrays FIG. 7 illustrates such an arrangement. Moreover, in devices where therow decoders 120 further divide the memory array into the third andfourth sub arrays FIG. 6 . In the examples ofFIG. 6 andFIG. 7 , all of the control blocks 130 are positioned between the upper andlower sub arrays bit lines 204 received at the upper andlower sides - In this manner, some or all of the IO functions may be dedicated to the memory cells and bit
lines 204 of the respective sub arrays. This may improve performance of thememory device 100. -
FIG. 8 illustrates aspects of an example of theIO block 130, where various components of the IO block 130 are provided in first and second IO blocks 130 a, 130 b, situated generally as mirror images of one another. As shown inFIG. 8 , each of the IO blocks 130 a, 130 b include a bit line pre-charge, read MUX and writedriver block 210, asense amp 220, writecontrol 230, andoutput latch 240. A data IO layer including theDin 102 andDout 104 terminals is situated between the upper and lower control blocks 130 a, 130 b. -
FIG. 9 depicts another example where theoutput latch 240 is shared by both IO blocks 130 a, 130 b. In other words, the single output latch block 240 functions to latch output signals received on thebit lines 204 from both the first andsecond sub arrays bit lines 204 of the first andsecond sub arrays driver block 210,sense amp 220, and writecontrol 230. Again, the data IO layer including theDin 102 andDout 104 terminals is situated between the upper and lower control blocks 130 a, 130 b. -
FIG. 10 illustrates yet another example where additional IO functions are shared between the first andsecond sub arrays 105 a. 105 b. More particularly, theoutput latch 240 and writecontrol 230 functions are both shared byIO blocks output latch block 240 andsingle write control 230 directly receive signals on thebit lines 204 from both the first andsecond sub arrays bit lines 204 of the first andsecond sub arrays driver block 210, andsense amp 220. Again, the data IO layer including theDin 102 andDout 104 terminals is situated between the upper and lower control blocks 130 a, 130 b. -
FIG. 11 is a circuit diagram illustrating aspects of anotherexample memory device 100, where IO blocks 130 a, 130 b are situated adjacent one another between first and secondmemory sub arrays common output latch 270.FIG. 11 shows portions of a single column ofmemory cells 200 of the first and secondmemory cell arrays bit lines bit lines 204 a. Thememory cells 200 connected to corresponding word lines, which extend in horizontal rows perpendicular to thebit lines FIG. 11 . The word lines are activated in response to word line select signals output by theword line driver 120 shown inFIG. 1 . - In a read operation, the
word line driver 120 decodes the selected word line based on a received word line address. Column select signals ysel_u 320 and/orysel_d 330 are received at respective gate terminals oftransistors memory array 105. In response to the columnselect signals 320, 330, data signals from the selected rows ofmemory cells 200 are output torespective sense amplifiers 220 of the first and second IO blocks 130 a, 130 b. In some examples, theword line driver 120 is configured to select a row from only theupper array 105 a or thelower array 105 b, but not both, during a particular read operation. Accordingly, only a selected row from theupper array 105 a or thelower array 105 b is sending data along thebit lines memory cells 200 on thebit lines sense amplifiers 220, which outputs the amplified data signals to the sharedoutput latch 240 in response to the sense amplifier enable signals sae_u 322 or sae-d 332. The data signals are output by the sharedoutput latch 270 on theoutput pin Q 340. In some examples, the outputs of thesense amplifiers 220 are configured with tri-state logic, where the output of thesense amplifier 220 may assume a high impedance state in addition to the 0 and 1 logic levels. This allows the particular sense amplifier output to effectively be removed from the circuit until new data is available. In this way, the two sense amp outputs can be tied together without additional delay that would be caused by another level of multiplexors. -
FIG. 12 is a block diagram illustrating anIO method 400 corresponding to the various embodiments disclosed herein. Inoperation block 410, an array of memory cells is provided, such as thearray 105 shown inFIG. 4 . AnIO block 130 is positioned so as to divide thearray 105 of memory cells into afirst sub array 105 a and asecond sub array 105 b situated on opposite sides of theIO block 130 inblock 412. Inblock 414,bit lines 204 connected to the memory cells of thefirst sub array 105 a are received at afirst side 131 of theIO block 130, and inblock 416,bit lines 204 connected to the memory cells of thesecond sub array 105 b are received at asecond side 132 of theIO block 130. As such, theIO block 130 is situated between thememory arrays control block 130, rather than requiring additional global bit lines to transmit the data signals to a global IO block. TheIO block 130 is operated to read data from and write data to the memory cells of the first and second sub arrays, and output and receive the data via output andinput terminals block 418. - Various examples disclosed herein thus provide a memory array with shortened bit lines that are directly received by an IO block positioned between sub arrays of the memory array. In this manner, performance is improved via the shortened bit lines. Moreover, by the centrally located IO block being directly connected to the bit lines of the memory sub arrays, a global IO block is not necessary, which saves macro space and further improves performance.
- In accordance with some disclosed embodiments, a memory device, such as an SRAM memory, has an array of memory cells that includes a first sub array and a second sub array. A plurality of bit lines are connected to the memory cells, and an IO block is situated between the first sub array and the second sub array. The bit lines extend from the first and second memory sub arrays of the memory device directly to the IO block. The IO block further includes data input and output terminals configured to receive data to be written to the array of memory cells and output data read from the array of memory cells via the plurality of bit lines
- In accordance with further examples, a memory IO includes an IO block having a first side and a second side opposite the first side. The first side is configured to receive a first plurality of bit lines from a first memory sub array, and the second side is configured to receive a second plurality of bit lines from a second memory sub array. The IO block has an output latch coupled to receive data read from the first plurality of bit lines and the second plurality of bit lines. Data input and output terminals are configured to receive and output data to and from the plurality of bit lines.
- In accordance with other examples, a memory IO method includes providing an array of memory cells. An IO block is positioned so as to divide the array of memory cells into a first sub array and a second sub array situated on opposite sides of the IO block. A first plurality of bit lines connected to the memory cells of the first sub array is received at a first side of the IO block, and a second plurality of bit lines connected to the memory cells of the second sub array is received at a first side of the IO block. The IO block is operated to read data and write data to and from the memory cells of the first and second sub arrays.
- This disclosure outlines various embodiments so that those skilled in the art may better understand the aspects of the present disclosure. Those skilled in the art should appreciate that they may readily use the present disclosure as a basis for designing or modifying other processes and structures for carrying out the same purposes and/or achieving the same advantages of the embodiments introduced herein. Those skilled in the art should also realize that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that they may make various changes, substitutions, and alterations herein without departing from the spirit and scope of the present disclosure
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/120,702 US20210134371A1 (en) | 2018-03-23 | 2020-12-14 | Sram memory having subarrays with common io block |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862647422P | 2018-03-23 | 2018-03-23 | |
US16/240,175 US10867681B2 (en) | 2018-03-23 | 2019-01-04 | SRAM memory having subarrays with common IO block |
US17/120,702 US20210134371A1 (en) | 2018-03-23 | 2020-12-14 | Sram memory having subarrays with common io block |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/240,175 Continuation US10867681B2 (en) | 2018-03-23 | 2019-01-04 | SRAM memory having subarrays with common IO block |
Publications (1)
Publication Number | Publication Date |
---|---|
US20210134371A1 true US20210134371A1 (en) | 2021-05-06 |
Family
ID=67848336
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/240,175 Active US10867681B2 (en) | 2018-03-23 | 2019-01-04 | SRAM memory having subarrays with common IO block |
US17/120,702 Pending US20210134371A1 (en) | 2018-03-23 | 2020-12-14 | Sram memory having subarrays with common io block |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/240,175 Active US10867681B2 (en) | 2018-03-23 | 2019-01-04 | SRAM memory having subarrays with common IO block |
Country Status (5)
Country | Link |
---|---|
US (2) | US10867681B2 (en) |
KR (1) | KR102303159B1 (en) |
CN (1) | CN110299165B (en) |
DE (1) | DE102019100477A1 (en) |
TW (3) | TWI704572B (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10083973B1 (en) * | 2017-08-09 | 2018-09-25 | Micron Technology, Inc. | Apparatuses and methods for reading memory cells |
US11615837B2 (en) | 2020-09-22 | 2023-03-28 | Qualcomm Incorporated | Pseudo-triple-port SRAM datapaths |
US12080342B2 (en) * | 2021-06-18 | 2024-09-03 | Taiwan Semiconductor Manufacturing Company, Ltd. | Static random access memory (SRAM) with a pre- charge assist circuit |
US11942145B2 (en) * | 2021-07-16 | 2024-03-26 | Taiwan Semiconductor Manufacturing Co., Ltd. | Static random access memory layout |
US12040013B2 (en) | 2021-08-11 | 2024-07-16 | Stmicroelectronics International N.V. | Static random access memory supporting a single clock cycle read-modify-write operation |
US12046324B2 (en) | 2021-08-11 | 2024-07-23 | Stmicroelectronics International N.V. | Modular memory architecture with gated sub-array operation dependent on stored data content |
US12020766B2 (en) | 2022-03-10 | 2024-06-25 | Qualcomm Incorporated | Memory circuit architecture with multiplexing between memory banks |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080266928A1 (en) * | 2007-04-26 | 2008-10-30 | Renesas Technology Corp. | Semiconductor memory device |
US20130188435A1 (en) * | 2012-01-24 | 2013-07-25 | Edward M. McCombs | Memory having isolation units for isolating storage arrays from a shared i/o during retention mode operation |
US20140126314A1 (en) * | 2002-03-19 | 2014-05-08 | Broadcom Corporation | Memory Architecture With Local And Global Control Circuitry |
US20190096486A1 (en) * | 2017-09-22 | 2019-03-28 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
US20190147944A1 (en) * | 2017-11-15 | 2019-05-16 | Samsung Electronics Co., Ltd. | Static random-access memory with virtual banking architecture, and system and method including the same |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7110304B1 (en) | 2004-08-26 | 2006-09-19 | Altera Corporation | Dual port memory array using shared write drivers and read sense amplifiers |
US20080056041A1 (en) | 2006-09-01 | 2008-03-06 | Corvin Liaw | Memory circuit |
KR100935593B1 (en) * | 2008-02-12 | 2010-01-07 | 주식회사 하이닉스반도체 | Non Volatile Memory Appratus for Controlling Page Buffer |
JP5005713B2 (en) * | 2009-02-12 | 2012-08-22 | パナソニック株式会社 | Semiconductor memory device |
WO2012124063A1 (en) * | 2011-03-15 | 2012-09-20 | 富士通株式会社 | Semiconductor recording device and method for controlling semiconductor recording device |
JP5658082B2 (en) * | 2011-05-10 | 2015-01-21 | ルネサスエレクトロニクス株式会社 | Semiconductor device |
KR101854243B1 (en) * | 2011-05-16 | 2018-05-03 | 삼성전자주식회사 | Stacked memory device and memory system including the same |
US9750158B2 (en) | 2014-05-02 | 2017-08-29 | Honeywell International Inc. | Reduced thermal transfer to Peltier cooled FETs |
KR102172869B1 (en) | 2014-08-11 | 2020-11-03 | 삼성전자주식회사 | Memory device including reference voltage generator |
US10048888B2 (en) * | 2016-02-10 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for partitioned parallel data movement |
US9570158B1 (en) * | 2016-05-04 | 2017-02-14 | Qualcomm Incorporated | Output latch for accelerated memory access |
JP2019192321A (en) * | 2018-04-25 | 2019-10-31 | ルネサスエレクトロニクス株式会社 | Semiconductor device |
-
2019
- 2019-01-04 US US16/240,175 patent/US10867681B2/en active Active
- 2019-01-10 DE DE102019100477.2A patent/DE102019100477A1/en active Pending
- 2019-02-25 KR KR1020190021792A patent/KR102303159B1/en active IP Right Grant
- 2019-03-22 TW TW108109933A patent/TWI704572B/en active
- 2019-03-22 CN CN201910222199.5A patent/CN110299165B/en active Active
- 2019-03-22 TW TW110124369A patent/TWI771090B/en active
- 2019-03-22 TW TW109127641A patent/TWI734585B/en active
-
2020
- 2020-12-14 US US17/120,702 patent/US20210134371A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140126314A1 (en) * | 2002-03-19 | 2014-05-08 | Broadcom Corporation | Memory Architecture With Local And Global Control Circuitry |
US20080266928A1 (en) * | 2007-04-26 | 2008-10-30 | Renesas Technology Corp. | Semiconductor memory device |
US20130188435A1 (en) * | 2012-01-24 | 2013-07-25 | Edward M. McCombs | Memory having isolation units for isolating storage arrays from a shared i/o during retention mode operation |
US20190096486A1 (en) * | 2017-09-22 | 2019-03-28 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
US20190147944A1 (en) * | 2017-11-15 | 2019-05-16 | Samsung Electronics Co., Ltd. | Static random-access memory with virtual banking architecture, and system and method including the same |
Also Published As
Publication number | Publication date |
---|---|
CN110299165A (en) | 2019-10-01 |
TWI771090B (en) | 2022-07-11 |
TWI734585B (en) | 2021-07-21 |
CN110299165B (en) | 2022-04-19 |
TWI704572B (en) | 2020-09-11 |
KR102303159B1 (en) | 2021-09-23 |
DE102019100477A1 (en) | 2019-09-26 |
US10867681B2 (en) | 2020-12-15 |
KR20190111757A (en) | 2019-10-02 |
US20190295656A1 (en) | 2019-09-26 |
TW202101453A (en) | 2021-01-01 |
TW201941198A (en) | 2019-10-16 |
TW202205274A (en) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210134371A1 (en) | Sram memory having subarrays with common io block | |
US7630230B2 (en) | Static random access memory architecture | |
US7929329B2 (en) | Memory bank signal coupling buffer and method | |
JP4005535B2 (en) | Semiconductor memory device | |
JP3721035B2 (en) | Associative memory architecture with column multiplexing | |
US20110026311A1 (en) | Memory device using SRAM circuit | |
US11361818B2 (en) | Memory device with global and local latches | |
US20070041239A1 (en) | Semiconductor memory device | |
US10892008B2 (en) | Multi word line assertion | |
US20200243128A1 (en) | Semiconductor storage circuit | |
JP2008198242A (en) | Semiconductor memory device | |
JP4954954B2 (en) | Semiconductor memory device | |
US7433259B2 (en) | Semiconductor memory device having layered bit line structure | |
WO2022269492A1 (en) | Low-power static random access memory | |
JPWO2008032549A1 (en) | Semiconductor memory device | |
KR102398192B1 (en) | Systems and methods for memory operation using local word lines | |
US11322198B2 (en) | Multi word line assertion | |
JP2784271B2 (en) | Semiconductor storage device | |
CN112581998B (en) | Memory device and method of operating the same | |
JP6578655B2 (en) | Semiconductor device | |
JP2008065863A (en) | Semiconductor memory device | |
JPH08221976A (en) | Semiconductor memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY, LTD., TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CLINTON, MICHAEL;SHEFFIELD, BRYAN DAVID;TSAI, MARTY;AND OTHERS;REEL/FRAME:054637/0365 Effective date: 20190110 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCV | Information on status: appeal procedure |
Free format text: NOTICE OF APPEAL FILED |
|
STCV | Information on status: appeal procedure |
Free format text: NOTICE OF APPEAL FILED |
|
STCV | Information on status: appeal procedure |
Free format text: APPEAL BRIEF (OR SUPPLEMENTAL BRIEF) ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: TC RETURN OF APPEAL |
|
STCV | Information on status: appeal procedure |
Free format text: APPEAL READY FOR REVIEW |
|
STCV | Information on status: appeal procedure |
Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS |