MEMORY ARCHITECTURE HAVING MULTIPLE PARTIAL WORDLINE DRIVERS AND CONTACTED AND FEED-THROUGH BITLINES
Various embodiments are disclosed relating to a memory circuit architecture. In an example embodiment, which may accommodate a change to a new memory size or cell aspect ratio, while migrating between different process nodes or the same process generation, while retaining at least a portion of the periphery circuitry, a memory circuit architecture may be employed in which the memory array is divided into an upper half and a lower half, thereby splitting the cache Ways among the two halves. The wordline may be split among the two array halves, with each half driven by a half wordline driver. Also, in another embodiment, two sets of bitlines may be provided for each column, including a contacted set of bitlines and a feed-through set of bitlines.
Latest BROADCOM CORPORATION Patents:
This application is a divisional of, and claims priority to, application Ser. No. 11/291,219, filed Dec. 1, 2005, titled “Memory Architecture Having Multiple Partial Wordline Drivers and Contacted and Feed-through Bitlines,” which is incorporated herein by reference in its entirety.
BACKGROUNDIn many silicon foundry processes above 90 nm, the memory cells often have a low aspect ratio, e.g., the cells are tall and skinny in order to limit or decrease the effects of driving polysilicon wordlines across the width of the memory array. However, in many processes under 90 nm, foundries may typically provide memory cells that have a high aspect ratio, e.g., the cells are wide and short. This is typically because wide cells (having a high aspect ratio) may be easier to manufacture for deep submicron processes because, for example, the these cells can accommodate polysilicon and diffusion areas that runs in a single direction, may be assembled in a smaller footprint (e.g., allowing denser memory arrays in some cases) and/or may have a lower bitline capacitance at these geometries in some cases. Also, different foundries may use either of the two aspect ratios depending on the maturity of their process technology.
For systems, such as microprocessors, embedded processors, processor system on chips (SOCs) and others, companies may desire faster frequencies and higher levels of chip integration that smaller process geometries may provide, and Integrated Circuit (IC) companies may often desire faster time-to-market to satisfy these requests or demands. However, process migration for memory arrays may provide a significant challenge since the periphery circuitry (e.g., wiring, address decoders, wordline drivers, column muxes, sense amps, precharge circuits, I/O and datapath circuitry, and the like) for the memory circuit may often be custom designed and may even pitch-matched or otherwise tailored (e.g., in one or more respects) to the size or aspect ratio of the memory cell being used. Thus, at least in some cases, a change in the memory cell size or aspect ratio may often require significant changes in the periphery circuitry for the memory circuit, which may add expense and introduce further delay in completing a product.
SUMMARYVarious embodiments are disclosed relating to memory circuit architecture, such as a memory architecture having multiple partial wordline drivers and/or contacted and feed-through bitlines.
According to an example embodiment, a memory circuit may include a memory array, which may include a plurality of memory cells. The memory circuit may include a plurality of partial wordline drivers to be activated together in response to an address to drive a complete wordline. Each partial wordline driver may be coupled to a partial wordline. In an example embodiment, a first wordline driver may drive a partial wordline in response to an address, while a second partial wordline driver may drive a second partial wordline in response to the address.
According to another embodiment, a memory circuit may include a memory array, which may include a plurality of memory cells, including a first group of memory cells. The memory circuit may also include a first set of bitlines that contacts the first group of memory cells in the memory array, and a second group of bitlines that feeds through the first group of memory cells and does not contact the first group of memory cells.
In another example embodiment, a first set of bitlines may be provided that may operate as a contacted set of bitlines for a first group of memory cells (e.g., an upper half of an array) and operates as a feed-through set of bitlines for a second group of memory cells (e.g., a lower half of the array). A second set of bitlines may be provided that operate as a feed-through set of bitlines for the first group of memory cells and operate as a contacted set of bitlines for the second group of memory cells.
An address decoder 140 may decode addresses. A wordline driver is provided to drive each wordline when the wordline driver is activated. In this example, two wordline drivers are provided for the pitch of two wordlines (or one wordline driver per wordline). Address decoder 140 decodes a received address, and may then activate one of the wordline drivers to drive a selected wordline based on the address. Typically, only one wordline is driven (e.g., driven high) at a time. For example wordline driver 142, when activated, drives wordline WL(63) based on a first address, while wordline driver 144, when activated, drives wordline WL(62) based on a second address.
Each column of memory cells is coupled to or associated with a pair of bitlines, typically referred to as bitline-low (BL) and bitline-high (BH). Therefore, each memory cell along the selected row or wordline is associated with a pair of bitlines. Data may be read from or written to a memory cell via the bitlines. A precharge circuit is coupled to each pair of bitlines to precharge the bitlines to speed up the read operation. Precharge circuits may include, for example, precharge circuits 120 (e.g., for a first column), 122 (e.g., for a second column), 124 and 126. Column multiplexers may be provided to multiplex the bitlines, such as the read column mux 134 for example. Also, sense amplifiers (sense amps) may be coupled to the read column muxes 134, such as sense amp 136, to read small differences in the bitline voltage that occurs during fast read operations. Also, write column muxes (not shown) may be coupled to the bitlines to transfer write data from the write amplifiers to the memory cells for each set of bitlines. Write amplifiers (not shown) may also be provided.
The memory cells of memory array 108 may be considered to have a low aspect ratio, e.g., the cells are tall and skinny. According to an example embodiment, it may be desirable to migrate to another process that may employ memory cells of a different size or aspect ratio. For example, it may be desirable to migrate to a semiconductor process that uses memory cells having a high (or at least higher) aspect ratio, e.g., the cells are wide and short. According to an example embodiment, this migration may involve reducing the minimum transistor length for the transistors in memory circuit 100 or keeping the minimum transistor length in memory circuit 100 the same but changing the aspect ratio only. In some cases, cells that are short and wide (high aspect ratio) may be easier to manufacture for deep submicron processes, which may result in higher yields, may be assembled in a smaller footprint (e.g., allowing denser memory arrays in some cases) and/or may have a lower bitline capacitance at these geometries in some cases, for example. However, in some cases, the process migration for memory arrays may be a fairly expensive and time consuming process since the periphery circuitry (e.g., wiring, address decoders, wordline drivers, read column muxes, sense amps, precharge circuits, write column muxes, write amplifiers, and the like) for the memory circuit is often specifically tailored to the size or aspect ratio of the memory cell. Thus, in many cases, a migration to a new memory cell size or aspect ratio may typically involve a substantial redesign of such periphery circuitry for the memory circuit, which may be relatively expensive and/or time consuming, at least in some cases.
According to an example embodiment, a number of techniques may be used to accommodate a change in a memory cell aspect ratio or size in a memory circuit to allow re-use of at least a portion of a periphery circuitry of the memory circuit. Various example embodiments of these techniques will be described below and with reference to
Based on the ratios of new cell size to old cell size, two high aspect ratio cells 212, 214, for example, may be stacked to replace two side-by-side low aspect ratio cells 202, 204 in a memory array. According to an example embodiment, this may allow a memory circuit to migrate to (or use) the new high aspect cells in the memory array. As described in greater detail below, through one or more memory circuit architecture modifications, a substantial portion of the periphery circuitry may be retained or re-used for a memory circuit employing the new (e.g., high aspect ratio) memory cells.
As described in greater detail below, in order to accommodate a change to a new memory cell aspect ratio while retaining a significant portion of the periphery circuitry, a memory circuit architecture may be employed in which the memory array is divided into an upper half and a lower half, thereby splitting the cache Ways among the two halves, according to an example embodiment. Thus, the wordline may be split among the two array halves, with each half driven by a half wordline driver, with both half wordline drivers for a wordline being activated in response to an address. Also, two sets of bitlines may be provided for each column, including a contacted set of bitlines that may contact the cells of an upper half of the array, and feed-through set of bitlines that may feed through the upper half of the array and contact the cells of the lower half of the array.
In
In the example memory circuit 308 shown in
The memory array 308 may use memory cells (such as memory cells 212, 214,
Referring to memory circuit 300 (
For example, a first set of bitlines (bitlines 366 and 368) are coupled to precharge circuit 122 and contact (e.g., contact the memory cell access transistor drains) the memory cells in upper half 310 of column 330, and feed-through (e.g., without contacting) the memory cells of the lower half 312 of the column 330. Thus, the first set of bitlines (366, 368) may be considered as a contacted set of bitlines for the column 330 in upper array 310 and as a feed-through set of bitlines for the column 330 in lower half 312 of array 308. On the other hand, a second set of bitlines (bitlines 362 and 364) are coupled to precharge circuit 120 and operate as a feed-through set of bitlines (e.g. without contacting) for the memory cells in upper half 310 of column 330, and as a contacted set of bitlines for memory cells in lower half 312 of column 330.
According to an example embodiment, in the upper half 310 of array 308, the first set of bitlines (366, 368) are outer bitlines, while the second set of bitlines (362, 364) are inner bitlines (although this bitline arrangement could be changed or flipped). Thus, the outer bitlines (as also shown in
The positions or locations of one or more of the bitlines may be swapped or twisted at point 370 to move the inner bitlines to the outer positions, and to move the outer bitlines to the inner positions. This allows the set of bitlines (e.g., 366, 368) that operate as a contacted set of bitlines for the upper half 310 to move to inner positions to operate as a feed-through set of bitlines for the lower half 312, and likewise, to allow the set of bitlines (e.g., 362, 364) that operate as a feed-through set of bitlines for the upper half 310 to move to outer positions to operate as a contacted set of bitlines for the lower half 312. In this example embodiment, bitlines 364 and 366 are swapped, while bitlines 362 and 368 are swapped at point 370.
The twisting or swapping of the contacted and feed-through bitlines between the top half 310 and the bottom half 312 (e.g., at point 370) may, in some cases, introduce asymmetrical capacitive coupling to adjacent bitline pairs. This issue may be resolved for two pairs of adjacent bitlines (e.g. bitlines 362, 364, 366, 368), for example, by twisting the feed-through bitlines at intervals of ⅓ down the memory array 308 (e.g., at point 372) and at ⅔ down the memory array 308 (e.g., at point 374), or at intervals of ¼ or ¾ down the memory array 308, or at other intervals. This may allow bitline pairs to receive approximately equal coupling from pairs of adjacent bitlines. To eliminate coupling of pairs of bitlines from other pairs of bitlines, power rails, such as Vdd 380 (
As an added advantage of the twisting of feed-through bitlines (e.g., at ⅓ and ⅔ down the memory array, for example, at points 372 and 374), the wiring to the read column multiplexers (e.g., read column mux 134 if sense amps come after read column muxes) does not have to be modified, according to an example embodiment. Likewise, the wiring of bitlines to sense amps (for designs when read column muxes come after sense amps) do not have to be modified either, according to an example embodiment.
In an example embodiment, memory circuit 300 may be a 4-Way set associative level 1 (L1) data cache, although this is merely an example, and the various techniques described herein may be applied to a wide variety of memory circuits. In order to fit the new memory array 308 (based on the new high aspect ratio cell) into a same or similar footprint as the old memory array 108 (
For example, row 320 in the upper array 310 includes a number of memory cells including the cell for Way 1 (bit 63) (in column 330) and the cell for Way 3 (bit 63) (in column 332). Row 324 in lower half 312 includes a memory cell for Way 0 (bit 63) (in column 330) and a memory cell for Way 2 (bit 63) (in column 332). Thus, the 4 ways for bit 63 (of wordline 63) are divided amongst row 320 (in upper half 310) and row 324 (in lower half 312).
According to an example embodiment, each row in the upper half 310 and lower half 312 may be a half wordline, with two corresponding half wordlines (e.g., one half wordline in each half (310 and 312) comprising one complete wordline that is driven in response to an address. The memory cells for all 4 Ways of a bit should be should enabled for reading and writing in response to an address. Therefore, two half wordline drivers are provided to drive two half wordlines, for example. Or, a half wordline driver may drive each half wordline. For example, in upper half 310, half wordline driver 342 may drive row (half wordline) 320, half wordline driver 344 may drive row (half wordline) 322. In lower half 312, for example, half wordline driver 352 may drive row (half wordline) 324 and half wordline driver 354 may drive row (half wordline) 326.
Corresponding half wordline drivers (e.g., one driver in upper half 310 and one driver in lower half 312) are typically activated by address decoder 140 in response to an address, according to an example embodiment. This may allow both corresponding half wordlines to be driven in response to a particular address, including one half wordline in upper half 310 and one half wordline in lower half 312. For example, in response to an address, the half wordline driver 342 (upper half 310) may drive half wordline (row) 320 (corresponding to WL 63), and half wordline driver 352 may drive row 326 (also corresponding to WL 63), with the two rows or half wordlines (320, 324) together providing a complete wordline (WL 63) that is driven in response to the same address. As shown in
Since the number of access transistor gate loads on the wordlines have been reduced by half from the original memory array 108, and that the wordline loading is gate dominated typically, the drive strength (and thus, size) of the half wordline drivers may be reduced by half as compared to the wordline drivers in the original memory array 108 (
The techniques and/or memory circuit architecture(s) described herein may be used in a variety of applications, such as for a multiprocessor SOC, or to any design with custom or semi-custom memory arrays such as in microprocessors, multi-core processors, embedded processors and other processor SOCs. It may be applied to a wide variety of other circuits and applications as well.
The example techniques and/or memory circuit architecture(s) described herein may, for example, apply to a technology migration between two processes of the same size (e.g. having different aspect ratios), as well as for process migration of memory array of a larger geometry to a smaller process geometry, or from a smaller geometry to a larger geometry, etc. The techniques and/or memory circuit architecture(s) described herein may also apply to applications or memory circuits that do not involve process migration, for example.
Furthermore, techniques and/or memory circuit architecture(s) described herein may also be incorporated into memory compilers or memory tiling tools to reduce timing variations for an array tiled in different processes and process geometries.
The techniques and/or memory circuit architecture(s) described herein may apply to designs that use staggered WL drivers with two drivers in the pitch of two memory array rows as in memory circuit 100 (
The example memory circuit architecture described herein (e.g., see
In another example embodiment, a direct-mapped cache may have two consecutive bits in a cache line split between the upper and lower halves instead of splitting Ways among the upper and lower halves, for example. Furthermore, this design may easily accommodate array redundancy by treating any extra redundancy columns as a group of Way columns that are split over upper and lower arrays, such as in traditional data columns, and with any extra redundancy rows split over lower and upper arrays with half wordline drivers for a particular redundancy address.
At 504, a change in a memory cell aspect ratio or size is accommodated in a memory circuit to allow a re-use of at least a portion of a periphery circuitry of the memory circuit.
For example, at 506, a plurality of partial wordline drivers may be activated together in response to an address. According to an example embodiment, two half wordline drivers may be activated in response to an address, 508. This may, for example, allow a complete wordline to be driven by activating a plurality of partial wordlines together. This may allow a memory array to be re-organized or modified to accommodate a change in memory cell size or aspect ratio, for example, while possibly reusing or retaining some of the periphery circuitry of the original memory circuit.
Alternatively, at 510, a first set of bitlines may be provided that contacts a first group of memory cells, and a second set of bitlines may be provided that feeds through without contacting the first group of memory cells. For example, at 512, a first set of bitlines may be provided to operate as a contacted set of bitlines for a first group of memory cells of the array and to operate as a feed-through set of bitlines for a second group of memory cells of the array. Also, at 514, a second set of bitlines may be provided to operate as a feed-through set of bitlines for the first group of memory cells of the array and to operate as a contacted set of bitlines for the second group of memory cells of the array. Similarly, such an arrangement may allow a re-organization or modification of the memory array to accommodate a change in memory cell size or aspect ratio, or other changes.
While certain features of the described implementations have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the various embodiments.
The migration of memory cells from a low aspect ratio to cells having a high aspect ratio, and associated techniques described herein to accommodate the new cell aspect ratio or size, is merely an example. In other cases it may be desirable to use cells having a low aspect ratio, and/or to accommodate a process migration from cells having a high aspect ratio to cells having a low aspect ratio for example, or other changes.
Claims
1. A memory circuit comprising:
- a memory array including a plurality of memory cells;
- a first set of bitlines that contacts a first group of memory cells in the memory array; and
- a second set of bitlines that feeds through the first group of memory cells and does not contact the first group of memory cells;
- at least one precharge circuit; and
- a plurality of partial wordline drivers to be activated together in response to an address to drive a complete wordline, each partial wordline driver coupled to a partial wordline.
2. The memory circuit of claim 1 wherein the at least one precharge circuit comprises a first precharge circuit coupled to the first set of bitlines and a second precharge circuit coupled to the second set of bitlines.
3. The memory circuit of claim 1 wherein each of the partial wordline drivers is coupled to a row of the memory array, each row comprising a partial wordline.
4. The memory circuit of claim 1 and further comprising an address decoder coupled to the plurality of partial wordline drivers.
5. The memory circuit of claim 1 wherein the plurality of partial wordline drivers comprises two half-wordline drivers, each of the half-wordline drivers coupled to a half-wordline, the two half-wordline drivers to be activated together in response to an address to drive a complete wordline.
6. The memory circuit of claim 1 wherein the plurality of partial wordline drivers comprises:
- a first partial wordline driver coupled to a first partial wordline of a first portion of the memory array; and
- a second partial wordline driver coupled to a second partial wordline of a second portion of the memory array, both of the first and second partial wordline drivers to be activated together in response to an address to drive a complete wordline.
7. The memory circuit of claim 1 wherein the memory array comprises a first half of the memory array and a second half of the memory array, the plurality of partial wordline drivers comprising:
- a first half-wordline driver coupled to drive a first half-wordline in the first half of the memory array in response to an address; and
- a second half wordline driver coupled to drive a second half wordline in the second half of the memory array in response to the address.
8. The memory circuit of claim 1 wherein the memory array comprises a first group of memory cells and a second group of memory cells, and further wherein:
- the first set of bitlines to operate as a contacted set of bitlines for the first group of memory cells and to operate as a feed-through set of bitlines for the second group of memory cells; and
- the second set of bitlines to operate as a feed-through set of bitlines for the first group of memory cells and a contacted set of bitlines for the second group of memory cells.
9. The memory circuit of claim 8 wherein the first set of bitlines are twisted within the first group of memory cells, and the second set of bitlines is twisted within the second group of memory cells.
10. A memory circuit comprising:
- a memory array including a plurality of memory cells, the memory array including a first group of memory cells;
- at least one precharge circuit;
- a first set of bitlines that contacts the first group of memory cells in the memory array; and
- a second set of bitlines that feeds through the first group of memory cells and does not contact the first group of memory cells.
11. The memory circuit of claim 10 wherein the at least one precharge circuit comprises a first precharge circuit coupled to the first set of bitlines and a second precharge circuit coupled to the second set of bitlines.
12. The memory circuit of claim 10 wherein the memory array comprises a first group of memory cells and a second group of memory cells, the first set of bitlines to operate as a contacted set of bitlines for the first group of memory cells and to operate as a feed-through set of bitlines for the second group of memory cells; and
- the second set of bitlines to operate as a feed-through set of bitlines for the first group of memory cells and to operate as a contacted set of bitlines for the second group of memory cells.
13. The memory circuit of claim 12 wherein two or more bitlines are swapped substantially between the first group of memory cells and the second group of memory cells such that the contacted set of bitlines for the first group of memory cells become the feed-through set of bitlines for the second group of memory cells, and the feed-through set of bitlines for the first group of memory cells become the contacted set of bitlines for the second group of memory cells.
14. The memory circuit of claim 10 wherein the memory array includes a plurality of columns of memory cells, the memory circuit further comprising a power rail provided between two of the columns.
15. A method comprising:
- providing a memory array that includes memory cells and at least one precharge circuit, the memory cells including at least a first group of memory cells;
- providing a plurality of partial wordline drivers in the memory array to be activated together in response to an address; and
- providing a first set of bitlines in the memory array that contacts the first group of memory cells and a second set of bitlines in the memory array that feeds through without contacting the first group of memory cells.
16. The method of claim 15 wherein the providing a plurality of partial wordline drivers comprises providing two half-wordline drivers to be activated together in response to an address to drive a complete wordline.
17. The method of claim 15 wherein the providing a first set of bitlines in the memory array that contacts the first group of memory cells and a second set of bitlines in the memory array comprises:
- providing a first set of bitlines to operate as a contacted set of bitlines for the first group of memory cells of the array and to operate as a feed-through set of bitlines for a second group of memory cells of the array; and
- providing a second set of bitlines to operate as a feed-through set of bitlines for the first group of memory cells of the array and to operate as a contacted set of bitlines for the second group of memory cells of the array.
Type: Application
Filed: Mar 24, 2010
Publication Date: Jul 15, 2010
Patent Grant number: 8009506
Applicant: BROADCOM CORPORATION (Irvine, CA)
Inventors: Raymond Jit-Hung Sung (Sunnyvale, CA), Dongwook Suh (Saratoga, CA), Daniel Rodriguez (Hayward, CA)
Application Number: 12/730,873
International Classification: G11C 8/08 (20060101); G11C 7/00 (20060101);