High performance register file with bootstrapped storage supply and method of reading data therefrom
Summary by NHIP
Bootstrapped Multi-Port Register File
The storage array uses a row power supply driven above the main array supply voltage during access operations. Adjacent rows share specific row supply lines, with p-type field effect transistors acting as switches controlled by neighboring word lines.
Claim Score by NHIP
Abstract
A multi-port register file, integrated circuit (IC) chip including one or more multi-port register files and method of reading data from the multi-port register file. The supply to storage latches in multi-port register file is selectively bootstrapped above the supply voltage during accesses.

Term
Term ended
Expired 19 March 2025, 1.5 years ago.
- Priority and filed
- Granted
- Expired
- Today
39 claims: 4 independent, 35 dependent
- 1A storage array comprising:an array of storage latches arranged in rows and columns;an array supply supplying power to said array;a row power supply at each row coupled to said array supply;a plurality of word lines, each of said word lines selecting a corresponding row of said storage latches and decoupling a corresponding said row power supply from said array supply;and a row selector selectively driving each of said plurality of word lines, drive from each selectively driven word line being coupled to said corresponding row power supply, said corresponding row power supply being coupled above said array supply.
- 13An integrated circuit (IC) chip comprising:a multi-port storage array including a plurality of storage latches arranged in rows and columns;an array supply supplying power to said multi-port storage array;a plurality of word lines, each of said plurality of word lines selecting a row of said storage latches;a row supply at each row supplying power to said each row;at least one supply switch between said array supply and said row supply at said each row, power being supplied to said row supply through said at least one supply switch, a corresponding one of said plurality of word lines selectively opening each said at least one supply switch;and a row selector selectively driving each one of said plurality of word lines, said each one capacitively coupling a corresponding said row power supply above said array supply.
- 23A CMOS integrated circuit (IC) chip including one or more multi-port register files, each multi-port register file comprising:a multi-port storage array including a plurality of storage latches arranged in rows and columns;an array supply supplying power to said multi-port storage array;a plurality of word lines, each of said plurality of word lines selecting a row of said storage latches;a plurality of row supply lines interleaved with and running parallel to said plurality of word lines, each of said plurality of word lines being capacitively coupled to at least one row supply line at a corresponding said row of latches, said corresponding row of latches receiving power from each coupled said at least one row supply line;at least one supply switch between said array supply and said each coupled at least one row supply line and, each supply switch being selectively opened by a corresponding one of said plurality of word lines;and a row selector selectively driving each one of said plurality of word lines, drive to said each one capacitively coupling each corresponding said at least one row supply line above said array supply.
- 33Broadest claimClaim Score 78, broad(NHIP)A method of reading data from a storage may, said storage array arranged in rows and columns, said method comprising the steps of:a) selectively uncoupling a row supply line from an array supply;b) capacitively coupling voltage on said uncoupled row supply line above an array supply voltage;and c) sensing a data signal developing on one or more read data lines.
Independent claims4
22 paragraphs in 5 sections, as filed
FIELD OF THE INVENTION
The present invention is related to multi-port registers and more particularly improving multi-port register file performance.
BACKGROUND DESCRIPTION
Register files or, simply, registers are well known small, fast local storage arrays. A typical n by m register file includes storage latches in n rows and is m wide, e.g., a single byte, word or multi-word. Register files include, for example, first in first out (FIFO) or serial shift registers and first in last out (FILO) or push/pop registers. A FIFO may be a circulating shift register, for example, or a multi-port register with at least one input port and at least one output port. Additionally, typical such multi-port registers may be used for improving processor performance, e.g., in processor data queues or as pipeline registers.
In a state of the art pipeline structure, synchronous logic is segmented with a pipeline between segments or stages. So, in a pipeline processor, for example, a processor clock clocks pipeline registers distributed at strategic locations throughout the processor logic. Ideally, data latched in one pipeline stage propagates to, and arrives at, the next stage just as it is clocked into that next stage. So, pipeline registers act as boundaries between data units traversing the pipeline stages. Thus, for an N segment pipeline, N data units may be traversing the pipeline with one data unit in each segment. Also ideally, the logic delay through the N stages is N clock periods, i.e., the time each data unit spends in the pipeline is no more than necessary to propagate through the logic. So, ideal registers do not add path delay that detracts from overall performance.
In practice however, registers add to path delay, regardless of the register type (FIFO or FILO) or its use, e.g., whether as local storage or as a pipeline boundary. Consequently, for a pipeline circuit for example, the clock period limits the depth of the logic between pipeline registers to less than the clock cycle for any given clock frequency. Instead, the propagation delay between registers is offset or reduced by the register delay, where the register delay is the time through the registers, i.e., the time in and out of a register. So, the register delays reduce the time available for logic for each stage.
Further, the register delay is additive because it is encountered at each stage. For a pipeline circuit with 10 pipeline stages, for example, the 10 additional register delays may add one or more clock cycles to the time each data unit requires to traverse the pipeline, which is also known as the latency. Typically designers reduce the logic between stages with a corresponding increase in the overall number of stages to accommodate for these register delays. Each additional stage increases the circuit complexity without adding to the chip function; while it consumes valuable circuit area or real estate and so, reduces logic density. Further, each additional stage increases chip power, again without adding to the function and so, reduces chip efficiency. Of course, these problems dissipate as the register delays are reduced relative to other path logic.
Thus, there is a need for improved register performance.
SUMMARY OF THE INVENTION
It is a purpose of the invention to improve register performance;
It is another purpose of the invention to reduce register delays;
It is yet another purpose of the invention to reduce pipeline path latency.
The present invention relates to a multi-port register file, integrated circuit (IC) chip including one or more multi-port register files and method of reading data from the multi-port register file. The supply to storage latches in multi-port register file is selectively bootstrapped above the supply voltage during accesses, e.g., with a high K dielectric bootstrap capacitor.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:
<figref idref="DRAWINGS">FIG. 1A</figref> shows an example of a preferred two port storage register latch with a bootstrapped supply, such a may be included in a high performance N by M register file according to a preferred embodiment of the present invention;
<figref idref="DRAWINGS">FIG. 1B</figref> shows comparison of boosting cell supply voltage from three base supply voltages, 0.7V, 0.9V and 1.1V verses performance improvement for a typical register file cell;
<figref idref="DRAWINGS">FIG. 2</figref> shows an example of a cross section of a preferred embodiment high performance N by M register file of preferred embodiment cells.
DESCRIPTION OF PREFERRED EMBODIMENTS
Turning now to the drawings and, more particularly, <figref idref="DRAWINGS">FIG. 1</figref> shows an example of a preferred multi-port register cell <b>100</b> with a bootstrapped supply such as may be included in a high performance N by M multi-port register file according to a preferred embodiment of the present invention. The multi-port register cell <b>100</b> is a two port storage register latch in this example that, preferably, is in the insulated gate technology known as CMOS. The register cell <b>100</b> includes a pair of cross-coupled inverters <b>102</b>, <b>104</b>. A pair of write pass gate field effect transistors (FETs) <b>106</b>, <b>108</b> are connected to the cross-coupled inverters <b>102</b>, <b>104</b>. A word-select line <b>110</b> is connected to the gates of write pass gate FETs <b>106</b>, <b>108</b>, which are connected between the cross-coupled inverters <b>102</b>, <b>104</b> and a pair of complementary write lines, a write true (WRT) <b>112</b> and a write complement (WRC) <b>114</b>. The cross-coupled inverters <b>102</b>, <b>104</b>, each include a p-type FET (PFET) <b>102</b><i>p</i>, <b>104</b><i>p </i>and an n-type FET (NFET) <b>102</b><i>n</i>, <b>104</b><i>n </i>and are connected between a word supply <b>116</b> and a supply return or register ground. Output <b>118</b> from one of the cross-coupled inverters (<b>104</b> in the example) is connected to the gate of one of a pair of series connected NFETs <b>120</b>, <b>122</b>. The series connected NFETs <b>120</b>, <b>122</b> are connected between ground (which need not be register ground) and a read data output line <b>124</b>. A read-select line <b>126</b> is connected to the gate of the other of the series connected NFETs <b>120</b>, <b>122</b>. Thus, the cell contents <b>118</b> and the read-select line <b>126</b> are NANDed at read-data output line <b>124</b>. A capacitor <b>128</b>, preferably interline coupling capacitance, couples the read-select line <b>126</b> to the word supply <b>116</b>. For additional or enhanced bootstrap capacitance, optionally, capacitor <b>128</b> may be a high K dielectric capacitor, e.g., with a high K dielectric material passivating the read-select line <b>126</b> to the word supply <b>116</b> wiring layer. Also, capacitor <b>128</b> may include an individually formed capacitor (e.g., an FET capacitor or conductive plates or alternating wiring layers) between each read-select line <b>126</b> and word supply <b>116</b>.
Writing the register cell <b>100</b> begins with placing the intended data value on the pair of complementary bit write lines <b>112</b>, <b>114</b>, driving one high and the other low. Then, the word-select line <b>110</b> is driven high, which turns on the pass gate FETs <b>106</b>, <b>108</b>. Turning on the pass gate FETs <b>106</b>, <b>108</b> couples the pair of complementary bit write lines <b>112</b>, <b>114</b> to the cross-coupled inverters <b>102</b>, <b>104</b>. A single bit of data is transferred to the cross-coupled inverters <b>102</b>, <b>104</b>. Then, the word-select line <b>110</b> is returned low, which turns off the pass gate FETs <b>106</b>, <b>108</b>, latching the data in the cross-coupled inverters <b>102</b>, <b>104</b>.
Prior to reading data, however, the read-select line <b>126</b> is low and word supply <b>116</b> is at normal supply voltage, i.e., at V<sub>dd</sub>. So, the full array supply voltage is applied to bootstrap capacitor <b>128</b>, i.e., it is fully charged to V<sub>dd</sub>. The read-data output line <b>124</b> is pre-charged high and may then be allowed to float. The stored data may be read out by driving the read-select line <b>126</b> high, which is NANDed with the contents of the cell, i.e., at the output <b>118</b> of inverter <b>104</b>. So, with the read-select line <b>126</b> high, if output <b>118</b> is high, the read-data output line <b>124</b> is pulled low; or, otherwise, remains high. In addition however, the bootstrap capacitor <b>128</b> bootstraps the word supply <b>116</b> above V<sub>dd</sub>, i.e., to V<sub>dd</sub>+δ. The difference voltage is primarily a function of the ratio of bootstrap capacitance at bootstrap capacitor <b>128</b> and the apparent capacitance of the supply line <b>116</b>, which includes direct and indirect (e.g., through on cross-coupled inverter PFETs <b>102</b>P or <b>104</b>P) cell capacitances. As noted hereinabove, in addition to line to line coupling capacitance, bootstrap capacitor <b>128</b> may include a space capacitor (e.g., an area capacitor of two plates on adjacent wiring layer or an FET capacitor) specifically added to enhance bootstrap capacitance. If cell contents internal node <b>118</b> is high, bootstrapping the supply voltage <b>116</b> facilitates switching the read-data output line <b>124</b>, because V<sub>dd</sub>+δ is passed to the gate of NFET <b>120</b>, increasing the drive to switch the read-data output line <b>124</b>.
<figref idref="DRAWINGS">FIG. 1B</figref> shows a comparison of boosting cell supply voltage from three base supply voltages, 0.7V, 0.9V and 1.1V at each of <b>130</b>, <b>132</b> and <b>134</b> respectively, verses performance improvement for a typical register file cell, e.g., <b>100</b> in <figref idref="DRAWINGS">FIG. 1A</figref>. Thus, performance improvement may be realized by boosting cell supply in each of the examples <b>130</b>, <b>132</b>, <b>134</b> until an upper limit is reached, when the read performance improvement essentially plateaus, e.g., the added output transition time offsets the additional drive to a single FET (<b>120</b>) of the two NANDed devices <b>120</b>, <b>122</b>.
<figref idref="DRAWINGS">FIG. 2</figref> shows an example of a cross section of a preferred embodiment high performance N by M register file <b>140</b> of preferred embodiment cells, e.g., two port storage register latches <b>100</b> of <figref idref="DRAWINGS">FIG. 1A</figref>. In this example, 3 read word lines <b>126</b>-<b>0</b>, <b>126</b>-<b>1</b>, <b>126</b>-<b>2</b>, of N words or rows are shown, with a single two port storage register latch <b>100</b> being shown in a single bit of one word, <b>126</b>-<b>1</b>. A typical row driver <b>142</b>-<b>0</b>, <b>142</b>-<b>1</b>, <b>142</b>-<b>2</b> drives a corresponding read word line <b>126</b>-<b>0</b>, <b>126</b>-<b>1</b>, <b>126</b>-<b>2</b>. Each of the N read word lines <b>126</b>-<b>0</b>, <b>126</b>-<b>1</b>, <b>126</b>-<b>2</b> are capacitively coupled to adjacent shared row supply lines <b>144</b>, <b>146</b>, <b>148</b>, <b>150</b>, which are shared in this example by cells connected to adjacent read word lines <b>126</b>-<b>0</b>, <b>126</b>-<b>1</b>, <b>126</b>-<b>2</b>. Preferably, this capacitive coupling is from physical placement of the read word lines <b>126</b>-<b>0</b>, <b>126</b>-<b>1</b>, <b>126</b>-<b>2</b> interleaved with the shared row supply lines <b>144</b>, <b>146</b>, <b>148</b>, <b>150</b>, analogous to what is shown graphically in this <figref idref="DRAWINGS">FIG. 2</figref>. Thus, for example, the read word lines <b>126</b>-<b>0</b>, <b>126</b>-<b>1</b>, <b>126</b>-<b>2</b> and shared row supply lines <b>144</b>, <b>146</b>, <b>148</b>, <b>150</b> may be physically located on a common chip layer at minimum pitch and organized substantially as shown. Each row supply line <b>144</b>, <b>146</b>, <b>148</b>, <b>150</b> includes at least one switch <b>144</b>-<b>0</b>, <b>146</b>-<b>0</b>, <b>146</b>-<b>1</b>, <b>148</b>-<b>1</b>, <b>148</b>-<b>2</b>, <b>150</b>-<b>2</b>, <b>150</b>-<b>3</b> and etc., connected between the respective row supply line <b>144</b>, <b>146</b>, <b>148</b>, <b>150</b> and an ungated supply line <b>152</b>, e.g., register array or chip supply V<sub>dd</sub>. In this example, except at boundary cells connected to boundary supply lines, e.g., <b>126</b>-<b>1</b>, switches <b>144</b>-<b>0</b>, <b>146</b>-<b>0</b>, <b>146</b>-<b>1</b>, <b>148</b>-<b>1</b>, <b>148</b>-<b>2</b>, <b>150</b>-<b>2</b>, <b>150</b>-<b>3</b> are pairs of series connected PFETs in each end of the respective row supply line <b>144</b>, <b>146</b>, <b>148</b>, <b>150</b>. Each read word line <b>126</b>-<b>0</b>, <b>126</b>-<b>1</b>, <b>126</b>-<b>2</b> also gates off and on (opens and closes) the PFET switches <b>144</b>-<b>0</b>, <b>146</b>-<b>0</b>, <b>146</b>-<b>1</b>, <b>148</b>-<b>1</b>, <b>148</b>-<b>2</b>, <b>150</b>-<b>2</b>, <b>150</b>-<b>3</b> and etc. So, when a read word line, e.g., <b>126</b>-<b>1</b>, is high, the corresponding row supply lines <b>146</b>, <b>148</b> are decoupled from the array supply <b>152</b> because one of each respective pair is open, e.g., PFETs <b>146</b>-<b>1</b>, <b>148</b>-<b>1</b> are off.
Data is written by placing the intended contents on complementary bit write pairs <b>112</b>, <b>114</b> in <figref idref="DRAWINGS">FIG. 1A</figref> (i.e., driving one high and the other low) and driving a word select-line <b>110</b> high. Once data is written into the selected register location, the word-select line <b>1110</b> is dropped. A read is selected by driving low one input to the corresponding row driver, e.g., to <b>142</b>-<b>1</b>. In response to the low on the input, the selected row driver <b>142</b>-<b>1</b> drives the corresponding read word line <b>126</b>-<b>1</b> high, which opens the row supply switches, i.e., turns off the connected pair PFETs <b>146</b>-<b>1</b>, <b>148</b>-<b>1</b>. With the switches <b>146</b>-<b>1</b>, <b>148</b>-<b>1</b> open, the row supply lines <b>146</b>, <b>148</b> are decoupled from the ungated supply <b>154</b>. Simultaneously, charge across the bootstrap capacitance <b>128</b> couples the signal from the read word line <b>126</b>-<b>1</b> to the row supply lines <b>146</b>, <b>148</b>, bootstrapping them above V<sub>dd</sub>. The higher cell contents <b>118</b> are NANDed with read word line <b>126</b>-<b>1</b>. However, the higher bootstrap voltage is passed to <b>118</b>, which causes read bit line <b>124</b> to switch faster than it would normally switch, i.e., unbootstrapped. Thereafter, the input to the row driver <b>142</b>-<b>1</b> is raised which drops the corresponding read word line <b>126</b>-<b>1</b>, closing the switches <b>146</b>-<b>1</b>, <b>148</b>-<b>1</b> in the row supply lines <b>146</b>, <b>148</b> and reconnecting the row supply lines <b>146</b>, <b>148</b> to the ungated supply <b>154</b>. Thus, read performance is improved for each selected word, improving array performance.
Advantageously, bootstrapping the rows supply lines in the register, increases the read biases for improved storage register read time. Therefore, fewer pipeline stages are required for the same logic in a preferred embodiment pipeline. Thus, circuit and chip efficiency is improved and chip latency is reduced.
While the invention has been described in terms of preferred embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims. It is intended that all such variations and modifications fall within the scope of the appended claims. Examples and drawings are, accordingly, to be regarded as illustrative rather than restrictive.
Contents5
4 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US7259986B2 | Cited by | United States of America | Search report |
| US7924633B2 | Cited by | United States of America | Search report |
| US2010214859A1 | Cited by | United States of America | Pre-grant |
| US2006215465A1 | Cited by | United States of America | Pre-grant |
| US2004090818A1 | Cites | United States of America | Search report |
| US6075741A | Cites | United States of America | Search report |
| US6549465B2 | Cites | United States of America | Search report |
| US6597624B2 | Cites | United States of America | Search report |
| US6671201B2 | Cites | United States of America | Search report |
4 members in 2 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 99631104 | United States of America | A | |
| US20040996311 | – | – | – |
Members4
| Document | Office | Kind | |
|---|---|---|---|
| US2006109733A1 | United States of America | A1 | |
| CN1801389A | China | A | |
| US7180818B2This record | United States of America | B2 | |
| CN1801389B | China | B |
29 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Expire PatentEXP. | EXP. | |
| Maintenance Fee Reminder MailedREM. | REM. | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| Application Return from OIPEWROIPE | WROIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Application Return TO OIPEROIPE | ROIPE | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
15 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYLAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| AssignmentAS | AS | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Fee paymentFPAY | FPAY | |
| Surcharge for late paymentSULP | SULP | |
| Fee paymentFPAY | FPAY | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS |
Numbers
- Publication
- 07180818
- Publication, DOCDB
- 7180818
- Publication, EPODOC
- US7180818
- Application
- 10996311
- Application, DOCDB
- 99631104
- Application, EPODOC
- US20040996311
Titles
- English
- High performance register file with bootstrapped storage supply and method of reading data therefrom
Patent term adjustment
- A delay
- +117 daysthe office missed an examination deadline
- Net adjustment
- 117 days
Classification
- CPC, 2
- G11C11/412
- G11C8/16
- IPC, 1
- G11C8 00
- USPC, 3
- 365230050
- 365185230
- 365226000