WO2023114552A2 - Dynamic adjustment of word line timing in static random access memory - Google Patents

Dynamic adjustment of word line timing in static random access memory Download PDF

Info

Publication number
WO2023114552A2
WO2023114552A2 PCT/US2022/053414 US2022053414W WO2023114552A2 WO 2023114552 A2 WO2023114552 A2 WO 2023114552A2 US 2022053414 W US2022053414 W US 2022053414W WO 2023114552 A2 WO2023114552 A2 WO 2023114552A2
Authority
WO
WIPO (PCT)
Prior art keywords
error rate
wordline
data
msb
memory
Prior art date
Application number
PCT/US2022/053414
Other languages
French (fr)
Other versions
WO2023114552A3 (en
Inventor
Robert Wiser
Neelam SURANA
Jay Chesavage
Original Assignee
Ceremorphic Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US17/555,501 external-priority patent/US11935587B2/en
Priority claimed from US17/734,045 external-priority patent/US20230352082A1/en
Application filed by Ceremorphic Inc filed Critical Ceremorphic Inc
Publication of WO2023114552A2 publication Critical patent/WO2023114552A2/en
Publication of WO2023114552A3 publication Critical patent/WO2023114552A3/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital 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/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/418Address circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines

Definitions

  • the present invention relates to a controller for a Static Random Access Memory ( SRAM) .
  • the invention relates to adj ustment of timing in an SRAM to provide reduced power consumption by use of a minimum wordline pulse width on a data processing application speci fic basis .
  • a chip layout for a Static Random Access Memory is typically arranged having a memory cell region comprising an array of memory cells for storing data, Input/Output ( I /O) logic providing data input and output interfaces , and control logic performing address decoding to enable memory cells of a selected column of memory cells in the memory cell array .
  • the control When retrieving data from an SRAM, the control causes a wordline to be activated, which activates a vertical column of memory cells of the memory cell array, and the data from a selected column of activated memory cells is trans ferred as a plurality of hori zontal bitlines to the I /O logic and to output pins of the SRAM .
  • the example vertical and hori zontal wordlines and bit line orientations are arbitrary orientations for explanation purposes .
  • a memory cell associated with a shortest length wordline and a shortest length bitline has an access time which is faster than a memory cell associated with a longest length wordline and a longest length bitline .
  • NN Neural Network
  • the data precision requirement is low, but the nature of data errors is important , such that high order (most signi ficant ) bits of data are important or in use , and the low order ( least signi ficant ) bits of data may be corrupted or lost without loss of accuracy of the inferences formed by the NN processor .
  • prior art SRAMs provide very low error rates beyond what is needed, and the low data error rates come at the expense of longer access times and higher power consumption, neither of which provide value in neural network data processing applications .
  • a new memory architecture is desired which provides the ability to trade of f memory access time with accuracy of retrieved data and power consumption, and to provide an arrangement of data in the memory array which provides incrementally greater accuracy for most significant bit data than for least significant bit data.
  • a first object of the invention is a memory array which provides a shorter bitline path for most significant bits (MSB) of a memory word than for least significant bits (LSB) .
  • a second object of the invention is a memory array comprising: a top memory cell array accessed by activating a wordline which causes the top memory cell array to output data onto one or more bitlines; a bottom memory cell array accessed by activating a wordline which causes bottom memory cell array to output data onto one or more bitlines; a wordline controller configured to examine output data from the one or more bitlines, the wordline controller modifying a wordline pulse width until at least two distinct error states occur: a comparatively high error rate where an MSB of a memory cell has an error rate in the range of 2% to 15%, or approximately 10%; a comparatively moderate error rate where an MSB of a memory cell has an error rate in the range of .5% to 2%, or approximately 1%; a comparatively low error rate where an MSB of a memory cell has an error rate in the range of 0.005% to 0.5%, or approximately 0.1% an error-free error rate where an MSB of a memory cell has an error rate less than 0.00034%.
  • a third object of the invention is a memory array with a selectable error rate and gradient of error rate such that an MSB has a lower error rate than an LSB for a given address, the memory array having approximately uniform error rate over a range of addresses, the memory array comprising: a top memory cell array accessed by activating a wordline which causes the top memory cell array to output data onto one or more bitlines; a bottom memory cell array accessed by activating a wordline which causes bottom memory cell array to output data onto one or more bitlines; an address controller configured to generate wordline outputs for associated addresses with a timing dependent on address value and maintaining an approximately constant error state across a range of addresses; a wordline controller configured to examine output data from the one or more bitlines, the wordline controller modifying a wordline pulse width responsive to an access address until at least two distinct error states occur: a high error rate where an MSB of a memory cell has an error rate in the range of 2% to 15%, or approximately 10%; a moderate error rate where an MSB of a
  • a fourth object of the invention is a memory controller for a memory having a wordline driver which is coupled to wordlines, each wordline having a wordline length, each wordline configured to enable a plurality of memory cells, each memory cell providing data coupled to an output through a respective bitline; where each wordline has a wordline delay selected to approximately match a time delay associated with an associated wordline length; and where bitlines and/or wordlines for high order data bits have shorter length than bitlines and/or wordlines for low order data bits .
  • a static random access memory comprises at least one memory cell array whereby a memory cell array is activated by at least one wordline which is driven by a controller .
  • the memory cell array has output bitlines where each activated memory cell asserts output data to an input/output (IO) controller, which provides the output data to an output port of the SRAM .
  • IO input/output
  • the controller is configured to modi fy a pulse width of the at least one wordline until a particular output error rate is reached, where the output error rate may be selected to fall into at least two and preferably four or more ranges , such as a high error rate of approximately 10% error rate for an MSB of a memory cell , a medium error rate of approximately 1 % for an MSB of a memory cell , approximately 0 . 1 % for an MSB of a memory cell , and an error- free rate which may be defined as less than six sigma ( corresponding to an error rate less than 0 . 00034 % ) .
  • the memory cell array is configured such that a wordline has a shortest length from a controller source to a memory cell column for low memory address such as 0x0000 ( Ox prefix indicating hexadecimal notation) , and a longest length for a high memory address such as OxFFFF for a 64K 32 bit word memory of the present examples .
  • the activation of a memory cell by the wordline results in the memory cell providing a plurality of bitlines carrying the memory cell output data, where the memory bits are assigned such that a bitline for an MSB is shorter than a bitline for a corresponding LSB of the same memory address .
  • a wordline driver has a variable width control line , such that the width of an activation signal carried by the wordline can be shortened to reduce power consumption of the memory in exchange for increased error rate , and the wordline driver can be configured to provide a high error rate , medium error rate , low error rate , or error free operation in exchange for memory speed and power consumption .
  • a calibration routine is provided which enables the association of a wordline pulse width for each of the associated error rates .
  • Another embodiment of the invention for use in an asynchronous memory system comprises a memory controller configured to provide an approximately uni form and selectable data error rate from among a plurality of data error rates .
  • the most signi ficant bits of a requested address are used in combination with an associated wordline length ( or data valid time for an associated data error rate ) to assert data which satis fies the selected data error rate across all address values by compensating for the delay in wordline length ( associated with the requested address ) by delivering data associated with an address having a shorter wordline length than data associated with an address having a longer wordline length .
  • This approach maintains the earlier aspect where the output data has lower rate of MSB errors than LSB errors by arrangement of data MSB with shorter wordline and/or bitline lengths than corresponding data LSB .
  • This alternative embodiment maintains the advantages of lower power consumption and earlier data delivery than conventional SRAM .
  • Figure 1A is a plan view of a memory cell array with IO, control, and drivers, showing a longest wordline path .
  • Figure IB is a plan view of a memory cell array with IO, control, and drivers, showing a shortest wordline path .
  • Figure 2 is a plot for a wordline waveform for a low address and short length with a wordline waveform for a high address and long length.
  • Figure 3 is a plot of wordline delay vs address which includes a bitline delay associated with bit position for each memory address.
  • Figure 4 provides examples for four error rates which may be associated with wordline active width and example applications for the associated error rates.
  • Figure 5 is a schematic diagram example for a wordline width controller having four selectable wordline widths .
  • Figure 6 are waveform plots for the four selectable wordline widths of figure 5.
  • Figure 7 is a flowchart for calibration of wordline delay with associated wordline pulse widths to associated error rates.
  • Figures 8A and 8B are block diagrams for a wordline width controller having a selectable data error rate which is substantially uniform over an address range.
  • Figures 8C, 8D, 8E, and 8F are timing diagrams for various operating conditions.
  • Figure 9A is a plot of error rate vs address for four different error rates.
  • Figure 9B is a plot of access time vs address for a first error rate and a second error rate.
  • references to “approximately” a nominal value are understood to be in the range of l/5th of the nominal value to 5x the nominal value. References to “on the order of” a nominal value are understood to be in the range of l/10th of the nominal value to lOx the nominal value.
  • Other values such as 200ps wordline delay over address ranges and 20ps wordline delay over data bits are for example use only, and depend on the address and data si ze of the memory, as well as physical layout .
  • Figure 1A shows an example memory cell array 102 in an example a chip layout , where top memory cell array 130A and bottom memory cell array 138A comprise arrays of Static Random Access Memory ( SRAM) memory cells .
  • SRAM Static Random Access Memory
  • Each memory cell is arranged by sequential address in sequential columns , and each address of the memory corresponds to a particular column which is activated by a wordline 108 / 106 driven by control 136A, which converts in applied address (not shown) to a particular column .
  • a column of memory cells activated by a particular wordline 106A provides its output data by driving a plurality of bitlines 110A/ 112A, which deliver associated output data for the selected column of memory cells corresponding to the applied address to top I /O drivers 132A and bottom I /O drivers 140A, which deliver data shown as four 8 bit bytes to multiplexer 114 which may provide the output data in selectable bytes as data output 116 and selectable by Byte_Sel 120 input to multiplexer 114 .
  • the wordlines are individually driven by a controller 136A and enabled according to an applied address .
  • Figures 1A shows an example for a particular arrangement of data, where low address memory cells are located on the right side of memory arrays 130B and 138B, and high address memory cells are on the left side of memory array 130B and 138B .
  • the longest wordline path ( 108A + 105A) is associated with a high address such as OxFFFF
  • figure IB shows an example shortest wordline path ( 108B + 106B ) for a low address such as 0x0000 .
  • controller output 104A drives wordline 108A to the high address memory column furthest from the controller output 104A, with wordline 106A trans ferring the memory column enable signal to a corresponding column of memory cells , the outputs of which are taken as an example 32 bits ( four bytes ) as two pairs of bytes from each of the top memory array 130A/B and bottom memory arrays 138A/ 138B .
  • the top memory array cells 130A drive bitlines 110A and the bottom memory array cells 138A drive bitlines 112A.
  • the data bits and associated bitlines for an enabled wordline column are arranged with the MSB closest to the innermost control area ( 136A) and the LSB furthest from the innermost control area ( 136A) , thereby having comparatively longer bitline 106B paths . Accordingly, the MSB for any given selected memory cell has an incrementally shorter wordline + bitline path than an LSB for any given memory address .
  • Figure IB shows a shortest path wordline example for a low value address , where controller output 104B drives comparatively short wordline 108B to column wordline 106B to a respective column of low address value memory cells .
  • the outputs of the memory cells are trans ferred via bitlines H OB and 112B to top I /O drivers 132B bottom I /O drivers 140B, which drive the example 32 bit output mux 114 for byte selection 120 , as was also shown in figure 1A. Accordingly, low addresses values ( 0x0000 ) have a comparatively shorter wordline path length then high address values ( OxFFFF) , and for any given selected columns of memory cells , the wordline + bitline path length for a most signi ficant data bit is shorter than for a corresponding least signi ficant data bit of the selected column of memory cells .
  • Figure 2 shows a plot of wordline waveform signal integrity as delivered to a low value address memory cell , where wordline waveform 210 with shortest wordline path length to the memory cell array has comparatively fast risetimes 220 and a pulse width 203 from turn on 202 to turn of f 204 .
  • Waveform 212 shows an example wordline plot received by a distant memory cell associated with a high address value , and longest wordline path length, where the slew rate 222 is reduced from an RC time constant formed by the distributed wordline resistance and capacitance from driver to memory cell , and drive current to the wordline , resulting in reduced activation duration 207 from turn on 206 to turn of f 208 .
  • the reduced activation time 207 for a remote (high address value ) memory cell column compared to a nearby ( low address value ) memory cell with comparatively longer activation time 203 means that the selection of the wordline pulse width ( activation duration) for the memory would be governed by worst case pulse width 207 for error- free operation, and pulse width 203 would be correspondingly greater, while causing unnecessary incremental power consumption but little other benefit .
  • Figure 3 shows a plot 304 of an example wordline delay 314 vs accessed memory address 316 with the lower and upper lines indicating associated wordline delay from a low address value ( 0x0000 ) to a high address value ( OxFFFF) .
  • Plot 304 is trapezoidal to also show the variation in access time associated with a MSB 306 compared to LSB 308 for each given memory address , corresponding to the MSB/LSB bitline paths of figure 1A and IB .
  • the plotted line 304 passing through LSB point 308 may represent the wordline delays for the LSB of the address range , where the lower wordline delays of the line passing through points 302, 306, and 310 may represent the wordline delays for the MSB of the associated address, with the other intermediate data bits being linearly arranged vertically according to bit significance.
  • the "MSB" and "LSB” bits are arranged as two 16 bit values with bO and bl6 as "LSB” and bl5 and b31 as "MSB" by position.
  • the data bits are arranged by wordline length, such that the wordline column of [b31:b0] is physically arranged as [b31 bl5 b30 bl4 b29 bl3 b28 bl2 b27 bll b26 blO b25 b9 b24 b8 b23 b7 b22 b6 b21 b5 b20 b4 bl9 b3 bl8 b2 bl7 bl bl6 bO] , with b31 from upper array and bl5 from lower array with shortest wordline path distances, and bl6 from upper array and bO from lower array having longest wordline path distances from source to I/O, as shown in figures 1A and IB.
  • Figure 4 shows four example cases for error rates, case 1 being a high error rate such as 10% MSB error rate for training neural network data with a large dataset (range 317 of figure 3) , case 2 being a moderate MSB bit error rate (319 of figure 3) , such as forming neural network inferences from an audio data stream or noisy image data, case 3 being a low MSB bit error rate (321 of figure
  • bit error rate where the MSB has no bit errors and where only LSB errors are acceptable (such as training on the standard National Institute for Standards imagenet dataset available at NIST . gov)
  • case 4 where virtually no errors are tolerable on any bits ( 323 of figure 3 ) , such as a six sigma error rate of less than 0 . 00034 % .
  • Figure 5 shows an example wordline width controller with associated waveforms shown in figure 6 .
  • a system clock 506 and memory request 504 may generate a Mem_Clk 508 signal from the assertion of a memory request 504 , and MEM_CLK 508 presets D flip flop 526 to assert wordline_out 530 .
  • the Mem_Clk 508 signal also is fed to AND gates 514 , 516 , 518 , 520 , each of which is individually enabled by binary delay select lines DLY1 , DLY2 , DLY3 , DLY4 , only one of which is asserted at a time , resulting in a variable length reset signal 524 which clears DFF 526 output to 0 , de-asserting Wordline_Out 530 .
  • the assertion of DLY1 has the shortest delay and results in the shortest Wordline_Out activation time
  • DLY2 assertion enables AND gate 516 and results in an incrementally greater delay associated with the two inverters at the input of AND gate 516 .
  • DLY3 enables AND gate 518 and provides an incrementally greater delay by the combined Delay 1 510
  • DLY4 may be associated with error-free wordline pulse width
  • DLY3 may be associated with low error rate pulse width
  • DLY2 with medium error rate pulse width
  • DLY1 with a high error rate pulse width
  • /Bitline_en 532 is the wordline_out 530 with a bitline delay 538 to gate the selected output bits.
  • FIG. 7 shows an example wordline error rate and pulse width association flowchart.
  • the wordline pulse width may be set to a maximum pulse width such as DLY4 initially 704, and loop steps 705, 706, 708, and 714 result in the reading N times of a word in step 705 compared to a reference value stored in a controller register, followed by estimating an error rate 706, determining if the error rate for a given DLY value is below a threshold value 708, and decreasing the wordline pulse width 714 if so (such as by changing from DLY4 to DLY3 or DLY3 to DLY2, etc.) , until the DLY [3:0] value associated with lowest pulse width which satis fies a particular error rate is achieved, at which time the pulse width may be optionally incremented by one DLY step for a safety margin to ensure an error rate which is no greater than the desired one , and the DLY value associated with a particular error rate is saved in step 712 for future reference .
  • a maximum pulse width such as DLY4 initially
  • each of the error rates such as the examples of figure 4 has an associated DLY value which may be used for the associated data types of figure 4 .
  • the various delays from Mem_Clk 508 to Reset 524 are provided with a fine grain delay which is then associated with an error rate threshold and adj usted in steps 710 and 714 .
  • the error rates for a particular DLY value may increase with address value , since a fixed DLY value is associated with a particular data type .
  • data associated with a lower error rate may be stored in low addresses and data associated with high error rates may be stored in high addresses .
  • the system of figure 5 is an example of a synchronous memory system operating synchronously with SYS_CLK 506 .
  • Figure 8A shows an example asynchronous ( clock- free ) memory controller providing a selectable level of error rate over a range of addresses , while preserving a comparatively lower rate of MSB error compared to LSB of each given data word using the physical layout of figures 1A and IB .
  • the desired error rate is selected using ERR_SEL_0 804 and ERR_SEL_1 802 which select a wordline delay associated with a fine adj ustment of delay, and a course delay associated with wordline length is selected using an address MSB 823 and address MSB- 1 836 , such as A31 and A30 , respectively, for a 32 bit address .
  • the combination of delays 808 , 810 , 812 , 814 associated with wordline delays corresponding to applied address , and error delays 816, 818, 820, 822 associated with fine adjustments to wordline delays result in output 524 having an adjustable delay from Memory Req 816.
  • the address-selected delay WL_D1 808, WL_D2 810, WL_D3 812, and WL_D4 814 are the wordline delays analogous to those of figure 5 providing a clear input 524 to DFF 526 as before, and generating wordline out 530 and /Bitline_en 532 as was described for figure 5.
  • Most significant bits (MSB) of the address shown as A31 834 and A30 836 in the present example are provided to select an associated delay with multiplexer 806 and multiplexer 824 performs a similar function for the error select 802, 804 inputs.
  • the address delay 834, 836 may correspond to the amount of delay required to equalize the error rate over a respective address range, such as by providing the delay shown in plot 304. In this manner, the /bitline_en 532 output is valid at a time where the data has an approximately uniform error rate, while maintaining a greater error rate for LSB than MSB, and the error rate is uniform over the range of requested addresses.
  • Figure 8B shows a generalized delay element 826 where the inputs 834, 836, 802, and 804 associated with various delays may be realized using analog elements such as voltage controlled resistor and capacitor delay lines, digital gates , or other methods for achieving delays as required to satis fy the requirement for either constant error rate over a range of addresses , selectable error rate in exchange for earlier data delivery, or both, while maintaining comparatively greater data accuracy ( lower data errors ) of MSB data bits compared to LSB data bits .
  • analog elements such as voltage controlled resistor and capacitor delay lines, digital gates , or other methods for achieving delays as required to satis fy the requirement for either constant error rate over a range of addresses , selectable error rate in exchange for earlier data delivery, or both, while maintaining comparatively greater data accuracy ( lower data errors ) of MSB data bits compared to LSB data bits .
  • Figures 8C, 8D, 8E , and 8 F show timing diagrams for various operating conditions .
  • Figures 8C and 8D show a high address ( longest wordline ) with high and low error rates , respectively . It can be seen that CLR 524 occurs earlier in figure 8C for faster data delivery, and provides edge 854A to sample valid MSB 850A and invalid LSB 852 , whereas figure 8D shows CLR 524 arriving later but provides delayed data sampling edge 854B providing valid MSB data 850B and valid LSB data 852B .
  • Figures 8E and 8 F similarly show low address timing diagram (A31 and A30 are 0 ) , where the high data error input of 8E provides earlier data at data sampling edge 854C with valid MSB data 850C and invalid LSB data 852C, whereas low error delay of timing diagram 8 F provides a sampling edge 854D at a later time , providing valid data for MSB and LSB, as shown by the sampling window 854D of 850D and 852D, respectively .
  • Figure 9A shows an example plot of accessed address 316 vs error rate for the example controller of figures 8A or 8B, such that region 902 corresponds to the lowest error rate (case 4 as describe in figure 4) , region 904 corresponds to a next higher error rate (case 3) , region 906 is a next higher error rate (case 2) and region 902 corresponds to the highest error rate (case 1) .
  • the "sawtooth" 910 pattern of the error rate corresponds to the incremental wordline address increase which is mediated by each of the address-specific delays of A[31:30] , such that the address space for two bits of address generate four ranges as shown.
  • Figure 9B shows the access time vs address for two example error rate selections for the controller of figure 8A or 8B.
  • a memory device comprises: a wordline controller configured to activate a wordline with a pulse width determined by one or more significant bits of an applied address in combination with at least two desired data error rates; at least one memory array arranged as a sequence of columns of data, each column of data activated by an associated wordline, the activated wordline causing data from a column of memory cells associated with the wordline to be asserted to bitlines coupled to an input/output driver ; the wordline controller configured to cause an associated wordline pulse width to be longer for an address value which has a longer associated wordline than an address value which has a comparatively shorter associated wordline .
  • the at least one memory array comprises a top memory cell array and a bottom memory cell array .
  • the at least one memory array is configured to provide a high value address a greater distance from the wordline controller than a low value address .
  • the at least one memory array is configured to have a wordline length which is shorter for a most signi ficant bit (MSB ) than a least signi ficant bit (LSB ) for a column of data .
  • bitlines are configured to output multiples of 8 bits of data .
  • bitlines are configure to output 32 bits of data arranged as four eight bit bytes which are individually selectable as output data.
  • the at least two desired data error rates include data error rates of approximately 10% MSB data errors, approximately 1% MSB data errors, approximately 0.1% MSB data errors, and less than 0.00034% MSB data errors .
  • an MSB data error rate is less than a corresponding LSB error rate.
  • the at least two data error rates are a high error rate of 2% to 15% MSB data error rate, a medium error rate of 0.5% to 2% MSB data error rate, a low error rate of 0.005% to 0.5% MSB data error rate, and an error free data rate of less than 0.00034% data errors.
  • the memory array comprises: a top memory cell array accessed by activating a wordline which causes the top memory cell array to output data onto one or more bitlines; a bottom memory cell array accessed by activating a wordline which causes bottom memory cell array to output data onto one or more bitlines; a wordline controller configured to examine output data from the one or more bitlines and one or more most significant bits of an applied address, the wordline controller modifying a wordline pulse width until one of three error states occurs: a high error rate where an MSB of a memory cell has an error rate in the range of 2% to 15%, or approximately 10%; a moderate error rate where an MSB of a memory cell has an error rate in the range of .5% to 2%, or approximately 1%; a low error rate where an MSB of a memory cell has an error rate in the range of 0.005% to 0.5%, or approximately 0.1% an error-free error rate where an MSB of a memory cell has an error rate less than 0.000
  • the at least one memory array is configured to have a wordline length which is shorter for a most significant bit (MSB) than a least significant bit (LSB) for a column of data .
  • bitlines provide multiples of 8 bits of data.
  • bitlines provide 32 bits of data arranged as four eight bit bytes which are individually selectable as output data.
  • the at least two error rates include error rates of approximately 10% MSB errors, approximately 1% MSB errors, approximately 0.1% MSB errors, and less than 0.00034% MSB errors .
  • an MSB error rate is less than a corresponding LSB error rate.
  • the at least two error rates are a high error rate of 2% to 15% MSB error rate, a medium error rate of 0.5% to 2% MSB error rate, a low error rate of 0.005% to 0.5%, and an error free rate of less than 0.00034% error rate.
  • the present examples are provided for illustrative purposes only, and are not intended to limit the invention to only the embodiments shown.

Abstract

A static random access memory (SRAM) has one or more arrays of memory cells, each array of memory cells activated in columns by a wordline. The activated column of memory cells asserts output data onto a plurality of bitlines coupled to output drivers. The SRAM includes a wordline controller generating a variable pulse width wordline which may be reduced sufficient to introduce memory read errors. SRAM power consumption of a high error rate, medium error rate, low error rate, and error-free rate is associated with a pulse width value generated by the wordline controller. The wordline controller is thereby able to associate a wordline pulse width to an associated error rate for performing tasks which are insensitive to a high error rate or a medium error rate, which are specific to certain neural network training and inference using various NN data types.

Description

Dynamic Adj ustment of Word Line Timing in Static Random Access Memory
[ 0001 ] Field of the Invention
[ 0002 ] The present invention relates to a controller for a Static Random Access Memory ( SRAM) . In particular, the invention relates to adj ustment of timing in an SRAM to provide reduced power consumption by use of a minimum wordline pulse width on a data processing application speci fic basis .
[ 0003 ] Background of the Invention
[ 0004 ] A chip layout for a Static Random Access Memory ( SRAM) is typically arranged having a memory cell region comprising an array of memory cells for storing data, Input/Output ( I /O) logic providing data input and output interfaces , and control logic performing address decoding to enable memory cells of a selected column of memory cells in the memory cell array . When retrieving data from an SRAM, the control causes a wordline to be activated, which activates a vertical column of memory cells of the memory cell array, and the data from a selected column of activated memory cells is trans ferred as a plurality of hori zontal bitlines to the I /O logic and to output pins of the SRAM . The example vertical and hori zontal wordlines and bit line orientations are arbitrary orientations for explanation purposes . A memory cell associated with a shortest length wordline and a shortest length bitline has an access time which is faster than a memory cell associated with a longest length wordline and a longest length bitline .
[ 0005 ] In prior art SRAM applications , the SRAM data is typically clocked through a series of pipeline stages . In these applications , the speed of the system is established by the slowest element response time , which establishes the clocking rate for the memory system . Further, these prior art data SRAM applications typically rely on error- free data accuracy, since the data being handled may be CPU instructions or data whose accuracy must be fully preserved when reading and writing, and having very low introduced error rates is not only essential , but the subj ect of many error detection and correction methods to ensure very high data accuracy .
[ 0006 ] A new type of processing system used in arti ficial intelligence networks and information processing architectures is known as a Neural Network (NN) , and does not have these error- free data processing constraints . In certain NN applications such as image processing, because of the vast amount of data being processed by the NN, and the inherent random noise already present in the data, these NN applications may not require a high degree of input data accuracy, and are insensitive to random additional errors introduced by memory data retrieval errors where image noise variance is on par with noise variance of the data used for training or inference . In many NN applications , the data precision requirement is low, but the nature of data errors is important , such that high order (most signi ficant ) bits of data are important or in use , and the low order ( least signi ficant ) bits of data may be corrupted or lost without loss of accuracy of the inferences formed by the NN processor . However, prior art SRAMs provide very low error rates beyond what is needed, and the low data error rates come at the expense of longer access times and higher power consumption, neither of which provide value in neural network data processing applications .
[ 0007 ] A new memory architecture is desired which provides the ability to trade of f memory access time with accuracy of retrieved data and power consumption, and to provide an arrangement of data in the memory array which provides incrementally greater accuracy for most significant bit data than for least significant bit data.
[0008] Objects of the Invention
[0009] A first object of the invention is a memory array which provides a shorter bitline path for most significant bits (MSB) of a memory word than for least significant bits (LSB) .
[0010] A second object of the invention is a memory array comprising: a top memory cell array accessed by activating a wordline which causes the top memory cell array to output data onto one or more bitlines; a bottom memory cell array accessed by activating a wordline which causes bottom memory cell array to output data onto one or more bitlines; a wordline controller configured to examine output data from the one or more bitlines, the wordline controller modifying a wordline pulse width until at least two distinct error states occur: a comparatively high error rate where an MSB of a memory cell has an error rate in the range of 2% to 15%, or approximately 10%; a comparatively moderate error rate where an MSB of a memory cell has an error rate in the range of .5% to 2%, or approximately 1%; a comparatively low error rate where an MSB of a memory cell has an error rate in the range of 0.005% to 0.5%, or approximately 0.1% an error-free error rate where an MSB of a memory cell has an error rate less than 0.00034%.
[0011] A third object of the invention is a memory array with a selectable error rate and gradient of error rate such that an MSB has a lower error rate than an LSB for a given address, the memory array having approximately uniform error rate over a range of addresses, the memory array comprising: a top memory cell array accessed by activating a wordline which causes the top memory cell array to output data onto one or more bitlines; a bottom memory cell array accessed by activating a wordline which causes bottom memory cell array to output data onto one or more bitlines; an address controller configured to generate wordline outputs for associated addresses with a timing dependent on address value and maintaining an approximately constant error state across a range of addresses; a wordline controller configured to examine output data from the one or more bitlines, the wordline controller modifying a wordline pulse width responsive to an access address until at least two distinct error states occur: a high error rate where an MSB of a memory cell has an error rate in the range of 2% to 15%, or approximately 10%; a moderate error rate where an MSB of a memory cell has an error rate in the range of .5% to 2%, or approximately 1%; a low error rate where an MSB of a memory cell has an error rate in the range of 0.005% to 0.5%, or approximately 0.1% an error-free error rate where an MSB of a memory cell has an error rate less than 0.00034%.
[0012] A fourth object of the invention is a memory controller for a memory having a wordline driver which is coupled to wordlines, each wordline having a wordline length, each wordline configured to enable a plurality of memory cells, each memory cell providing data coupled to an output through a respective bitline; where each wordline has a wordline delay selected to approximately match a time delay associated with an associated wordline length; and where bitlines and/or wordlines for high order data bits have shorter length than bitlines and/or wordlines for low order data bits .
[ 0013 ] Summary of the Invention
[ 0014 ] A static random access memory ( SRAM) comprises at least one memory cell array whereby a memory cell array is activated by at least one wordline which is driven by a controller . The memory cell array has output bitlines where each activated memory cell asserts output data to an input/output ( IO) controller, which provides the output data to an output port of the SRAM . The controller is configured to modi fy a pulse width of the at least one wordline until a particular output error rate is reached, where the output error rate may be selected to fall into at least two and preferably four or more ranges , such as a high error rate of approximately 10% error rate for an MSB of a memory cell , a medium error rate of approximately 1 % for an MSB of a memory cell , approximately 0 . 1 % for an MSB of a memory cell , and an error- free rate which may be defined as less than six sigma ( corresponding to an error rate less than 0 . 00034 % ) . In one example of the invention, the memory cell array is configured such that a wordline has a shortest length from a controller source to a memory cell column for low memory address such as 0x0000 ( Ox prefix indicating hexadecimal notation) , and a longest length for a high memory address such as OxFFFF for a 64K 32 bit word memory of the present examples . In another example of the invention, the activation of a memory cell by the wordline results in the memory cell providing a plurality of bitlines carrying the memory cell output data, where the memory bits are assigned such that a bitline for an MSB is shorter than a bitline for a corresponding LSB of the same memory address .
[ 0015 ] A wordline driver has a variable width control line , such that the width of an activation signal carried by the wordline can be shortened to reduce power consumption of the memory in exchange for increased error rate , and the wordline driver can be configured to provide a high error rate , medium error rate , low error rate , or error free operation in exchange for memory speed and power consumption . A calibration routine is provided which enables the association of a wordline pulse width for each of the associated error rates .
[ 0016 ] The previously described embodiment provides data with an error rate which increases with wordline length, since the synchronous clock cycles are of fixed intervals regardless of wordline length . [ 0017 ] Another embodiment of the invention for use in an asynchronous memory system comprises a memory controller configured to provide an approximately uni form and selectable data error rate from among a plurality of data error rates . In this embodiment , the most signi ficant bits of a requested address are used in combination with an associated wordline length ( or data valid time for an associated data error rate ) to assert data which satis fies the selected data error rate across all address values by compensating for the delay in wordline length ( associated with the requested address ) by delivering data associated with an address having a shorter wordline length than data associated with an address having a longer wordline length . This approach maintains the earlier aspect where the output data has lower rate of MSB errors than LSB errors by arrangement of data MSB with shorter wordline and/or bitline lengths than corresponding data LSB . This alternative embodiment maintains the advantages of lower power consumption and earlier data delivery than conventional SRAM . [0018] Brief Description of the Drawings
[0019] Figure 1A is a plan view of a memory cell array with IO, control, and drivers, showing a longest wordline path .
[0020] Figure IB is a plan view of a memory cell array with IO, control, and drivers, showing a shortest wordline path .
[0021] Figure 2 is a plot for a wordline waveform for a low address and short length with a wordline waveform for a high address and long length.
[0022] Figure 3 is a plot of wordline delay vs address which includes a bitline delay associated with bit position for each memory address.
[0023] Figure 4 provides examples for four error rates which may be associated with wordline active width and example applications for the associated error rates.
[0024] Figure 5 is a schematic diagram example for a wordline width controller having four selectable wordline widths .
[0025] Figure 6 are waveform plots for the four selectable wordline widths of figure 5. [0026] Figure 7 is a flowchart for calibration of wordline delay with associated wordline pulse widths to associated error rates.
[0027] Figures 8A and 8B are block diagrams for a wordline width controller having a selectable data error rate which is substantially uniform over an address range.
[0028] Figures 8C, 8D, 8E, and 8F are timing diagrams for various operating conditions.
[0029] Figure 9A is a plot of error rate vs address for four different error rates.
[0030] Figure 9B is a plot of access time vs address for a first error rate and a second error rate.
[0031] Detailed Description of the Invention
[0032] In the present application, like reference numbers refer to like structures. References to "approximately" a nominal value are understood to be in the range of l/5th of the nominal value to 5x the nominal value. References to "on the order of" a nominal value are understood to be in the range of l/10th of the nominal value to lOx the nominal value. Other values such as 200ps wordline delay over address ranges and 20ps wordline delay over data bits are for example use only, and depend on the address and data si ze of the memory, as well as physical layout .
[ 0033 ] Figure 1A shows an example memory cell array 102 in an example a chip layout , where top memory cell array 130A and bottom memory cell array 138A comprise arrays of Static Random Access Memory ( SRAM) memory cells . Each memory cell is arranged by sequential address in sequential columns , and each address of the memory corresponds to a particular column which is activated by a wordline 108 / 106 driven by control 136A, which converts in applied address (not shown) to a particular column . A column of memory cells activated by a particular wordline 106A provides its output data by driving a plurality of bitlines 110A/ 112A, which deliver associated output data for the selected column of memory cells corresponding to the applied address to top I /O drivers 132A and bottom I /O drivers 140A, which deliver data shown as four 8 bit bytes to multiplexer 114 which may provide the output data in selectable bytes as data output 116 and selectable by Byte_Sel 120 input to multiplexer 114 . The wordlines are individually driven by a controller 136A and enabled according to an applied address . [ 0034 ] Figures 1A shows an example for a particular arrangement of data, where low address memory cells are located on the right side of memory arrays 130B and 138B, and high address memory cells are on the left side of memory array 130B and 138B . In this example arrangement , the longest wordline path ( 108A + 105A) is associated with a high address such as OxFFFF, and figure IB shows an example shortest wordline path ( 108B + 106B ) for a low address such as 0x0000 . In the longest wordline path example of figure 1A, controller output 104A drives wordline 108A to the high address memory column furthest from the controller output 104A, with wordline 106A trans ferring the memory column enable signal to a corresponding column of memory cells , the outputs of which are taken as an example 32 bits ( four bytes ) as two pairs of bytes from each of the top memory array 130A/B and bottom memory arrays 138A/ 138B . The top memory array cells 130A drive bitlines 110A and the bottom memory array cells 138A drive bitlines 112A. The data bits and associated bitlines for an enabled wordline column ( 106A/ 106B ) are arranged with the MSB closest to the innermost control area ( 136A) and the LSB furthest from the innermost control area ( 136A) , thereby having comparatively longer bitline 106B paths . Accordingly, the MSB for any given selected memory cell has an incrementally shorter wordline + bitline path than an LSB for any given memory address . Figure IB shows a shortest path wordline example for a low value address , where controller output 104B drives comparatively short wordline 108B to column wordline 106B to a respective column of low address value memory cells . The outputs of the memory cells are trans ferred via bitlines H OB and 112B to top I /O drivers 132B bottom I /O drivers 140B, which drive the example 32 bit output mux 114 for byte selection 120 , as was also shown in figure 1A. Accordingly, low addresses values ( 0x0000 ) have a comparatively shorter wordline path length then high address values ( OxFFFF) , and for any given selected columns of memory cells , the wordline + bitline path length for a most signi ficant data bit is shorter than for a corresponding least signi ficant data bit of the selected column of memory cells .
[ 0035 ] Figure 2 shows a plot of wordline waveform signal integrity as delivered to a low value address memory cell , where wordline waveform 210 with shortest wordline path length to the memory cell array has comparatively fast risetimes 220 and a pulse width 203 from turn on 202 to turn of f 204 . Waveform 212 shows an example wordline plot received by a distant memory cell associated with a high address value , and longest wordline path length, where the slew rate 222 is reduced from an RC time constant formed by the distributed wordline resistance and capacitance from driver to memory cell , and drive current to the wordline , resulting in reduced activation duration 207 from turn on 206 to turn of f 208 . The reduced activation time 207 for a remote (high address value ) memory cell column compared to a nearby ( low address value ) memory cell with comparatively longer activation time 203 means that the selection of the wordline pulse width ( activation duration) for the memory would be governed by worst case pulse width 207 for error- free operation, and pulse width 203 would be correspondingly greater, while causing unnecessary incremental power consumption but little other benefit .
[ 0036 ] Figure 3 shows a plot 304 of an example wordline delay 314 vs accessed memory address 316 with the lower and upper lines indicating associated wordline delay from a low address value ( 0x0000 ) to a high address value ( OxFFFF) . Plot 304 is trapezoidal to also show the variation in access time associated with a MSB 306 compared to LSB 308 for each given memory address , corresponding to the MSB/LSB bitline paths of figure 1A and IB . The plotted line 304 passing through LSB point 308 may represent the wordline delays for the LSB of the address range , where the lower wordline delays of the line passing through points 302, 306, and 310 may represent the wordline delays for the MSB of the associated address, with the other intermediate data bits being linearly arranged vertically according to bit significance. Note from the layout of figures 1A and IB that for a 32 bit word, the "MSB" and "LSB" bits are arranged as two 16 bit values with bO and bl6 as "LSB" and bl5 and b31 as "MSB" by position. In an alternative arrangement, the data bits are arranged by wordline length, such that the wordline column of [b31:b0] is physically arranged as [b31 bl5 b30 bl4 b29 bl3 b28 bl2 b27 bll b26 blO b25 b9 b24 b8 b23 b7 b22 b6 b21 b5 b20 b4 bl9 b3 bl8 b2 bl7 bl bl6 bO] , with b31 from upper array and bl5 from lower array with shortest wordline path distances, and bl6 from upper array and bO from lower array having longest wordline path distances from source to I/O, as shown in figures 1A and IB.
[0037] Figure 4 shows four example cases for error rates, case 1 being a high error rate such as 10% MSB error rate for training neural network data with a large dataset (range 317 of figure 3) , case 2 being a moderate MSB bit error rate (319 of figure 3) , such as forming neural network inferences from an audio data stream or noisy image data, case 3 being a low MSB bit error rate (321 of figure
3) , or alternatively a bit error rate where the MSB has no bit errors and where only LSB errors are acceptable ( such as training on the standard National Institute for Standards imagenet dataset available at NIST . gov) , and case 4 where virtually no errors are tolerable on any bits ( 323 of figure 3 ) , such as a six sigma error rate of less than 0 . 00034 % .
[ 0038 ] Figure 5 shows an example wordline width controller with associated waveforms shown in figure 6 . A system clock 506 and memory request 504 may generate a Mem_Clk 508 signal from the assertion of a memory request 504 , and MEM_CLK 508 presets D flip flop 526 to assert wordline_out 530 . The Mem_Clk 508 signal also is fed to AND gates 514 , 516 , 518 , 520 , each of which is individually enabled by binary delay select lines DLY1 , DLY2 , DLY3 , DLY4 , only one of which is asserted at a time , resulting in a variable length reset signal 524 which clears DFF 526 output to 0 , de-asserting Wordline_Out 530 . The assertion of DLY1 has the shortest delay and results in the shortest Wordline_Out activation time , and DLY2 assertion enables AND gate 516 and results in an incrementally greater delay associated with the two inverters at the input of AND gate 516 . DLY3 enables AND gate 518 and provides an incrementally greater delay by the combined Delay 1 510
(with inverted output ) and gate delay to input of AND gate 518, and DLY4 provides the longest delay associated with Delay2 512 plus three inverters driving AND gate 520. Accordingly, DLY4 may be associated with error-free wordline pulse width, DLY3 may be associated with low error rate pulse width, DLY2 with medium error rate pulse width, and DLY1 with a high error rate pulse width, according to the reduced wordline pulse width (activation time) associated with each, as shown in Wordline_Out waveforms and associated DLY values 618, 620, 622, and 624, respectively, resulting in wordline pulse width (activation duration) 602, 604, 608, and 610, respectively. /Bitline_en 532 is the wordline_out 530 with a bitline delay 538 to gate the selected output bits.
[0039] Figure 7 shows an example wordline error rate and pulse width association flowchart. The wordline pulse width may be set to a maximum pulse width such as DLY4 initially 704, and loop steps 705, 706, 708, and 714 result in the reading N times of a word in step 705 compared to a reference value stored in a controller register, followed by estimating an error rate 706, determining if the error rate for a given DLY value is below a threshold value 708, and decreasing the wordline pulse width 714 if so (such as by changing from DLY4 to DLY3 or DLY3 to DLY2, etc.) , until the DLY [3:0] value associated with lowest pulse width which satis fies a particular error rate is achieved, at which time the pulse width may be optionally incremented by one DLY step for a safety margin to ensure an error rate which is no greater than the desired one , and the DLY value associated with a particular error rate is saved in step 712 for future reference . In this manner, each of the error rates such as the examples of figure 4 has an associated DLY value which may be used for the associated data types of figure 4 . In another example of the invention, the various delays from Mem_Clk 508 to Reset 524 are provided with a fine grain delay which is then associated with an error rate threshold and adj usted in steps 710 and 714 .
[ 0040 ] In another example of the invention, the error rates for a particular DLY value may increase with address value , since a fixed DLY value is associated with a particular data type . In this example , data associated with a lower error rate may be stored in low addresses and data associated with high error rates may be stored in high addresses . Similarly, it is preferable to arrange memory cells to have a shortest path for the MSB and incrementally longer paths for LSB in certain neural network applications , where LSB errors cause fewer inference errors than MSB errors . [ 0041 ] The system of figure 5 is an example of a synchronous memory system operating synchronously with SYS_CLK 506 . In other asynchronous memory applications not driven by a memory clock, it may be desired to make a request for memory data accompanied by an address , where the request is provided with a selectable fixed error rate in exchange for faster access for addresses associated with shorter wordline lengths , and where the selected error rate is uni form across all addresses rather than increasing with associated address wordline length as was described in figures 1A, IB, and 3 for the controller of figure 5 .
[ 0042 ] Figure 8A shows an example asynchronous ( clock- free ) memory controller providing a selectable level of error rate over a range of addresses , while preserving a comparatively lower rate of MSB error compared to LSB of each given data word using the physical layout of figures 1A and IB . The desired error rate is selected using ERR_SEL_0 804 and ERR_SEL_1 802 which select a wordline delay associated with a fine adj ustment of delay, and a course delay associated with wordline length is selected using an address MSB 823 and address MSB- 1 836 , such as A31 and A30 , respectively, for a 32 bit address . The combination of delays 808 , 810 , 812 , 814 associated with wordline delays corresponding to applied address , and error delays 816, 818, 820, 822 associated with fine adjustments to wordline delays result in output 524 having an adjustable delay from Memory Req 816. The address-selected delay WL_D1 808, WL_D2 810, WL_D3 812, and WL_D4 814 are the wordline delays analogous to those of figure 5 providing a clear input 524 to DFF 526 as before, and generating wordline out 530 and /Bitline_en 532 as was described for figure 5. Most significant bits (MSB) of the address, shown as A31 834 and A30 836 in the present example are provided to select an associated delay with multiplexer 806 and multiplexer 824 performs a similar function for the error select 802, 804 inputs. The address delay 834, 836 may correspond to the amount of delay required to equalize the error rate over a respective address range, such as by providing the delay shown in plot 304. In this manner, the /bitline_en 532 output is valid at a time where the data has an approximately uniform error rate, while maintaining a greater error rate for LSB than MSB, and the error rate is uniform over the range of requested addresses.
[0043] Figure 8B shows a generalized delay element 826 where the inputs 834, 836, 802, and 804 associated with various delays may be realized using analog elements such as voltage controlled resistor and capacitor delay lines, digital gates , or other methods for achieving delays as required to satis fy the requirement for either constant error rate over a range of addresses , selectable error rate in exchange for earlier data delivery, or both, while maintaining comparatively greater data accuracy ( lower data errors ) of MSB data bits compared to LSB data bits .
[ 0044 ] Figures 8C, 8D, 8E , and 8 F show timing diagrams for various operating conditions . Figures 8C and 8D show a high address ( longest wordline ) with high and low error rates , respectively . It can be seen that CLR 524 occurs earlier in figure 8C for faster data delivery, and provides edge 854A to sample valid MSB 850A and invalid LSB 852 , whereas figure 8D shows CLR 524 arriving later but provides delayed data sampling edge 854B providing valid MSB data 850B and valid LSB data 852B . Figures 8E and 8 F similarly show low address timing diagram (A31 and A30 are 0 ) , where the high data error input of 8E provides earlier data at data sampling edge 854C with valid MSB data 850C and invalid LSB data 852C, whereas low error delay of timing diagram 8 F provides a sampling edge 854D at a later time , providing valid data for MSB and LSB, as shown by the sampling window 854D of 850D and 852D, respectively .
[ 0045 ] Figure 9A shows an example plot of accessed address 316 vs error rate for the example controller of figures 8A or 8B, such that region 902 corresponds to the lowest error rate (case 4 as describe in figure 4) , region 904 corresponds to a next higher error rate (case 3) , region 906 is a next higher error rate (case 2) and region 902 corresponds to the highest error rate (case 1) . The "sawtooth" 910 pattern of the error rate corresponds to the incremental wordline address increase which is mediated by each of the address-specific delays of A[31:30] , such that the address space for two bits of address generate four ranges as shown.
[0046] Figure 9B shows the access time vs address for two example error rate selections for the controller of figure 8A or 8B.
[0047] In a first alternate aspect of a first invention, a memory device comprises: a wordline controller configured to activate a wordline with a pulse width determined by one or more significant bits of an applied address in combination with at least two desired data error rates; at least one memory array arranged as a sequence of columns of data, each column of data activated by an associated wordline, the activated wordline causing data from a column of memory cells associated with the wordline to be asserted to bitlines coupled to an input/output driver ; the wordline controller configured to cause an associated wordline pulse width to be longer for an address value which has a longer associated wordline than an address value which has a comparatively shorter associated wordline .
[ 0048 ] In a second alternate aspect of the first invention, the at least one memory array comprises a top memory cell array and a bottom memory cell array .
[ 0049 ] In a third alternate aspect of the first invention, the at least one memory array is configured to provide a high value address a greater distance from the wordline controller than a low value address .
[ 0050 ] In a fourth alternate aspect of the first invention, the at least one memory array is configured to have a wordline length which is shorter for a most signi ficant bit (MSB ) than a least signi ficant bit ( LSB ) for a column of data .
[ 0051 ] In a fi fth alternate aspect of the first invention, the bitlines are configured to output multiples of 8 bits of data . [0052] In a sixth alternate aspect of the first invention, the bitlines are configure to output 32 bits of data arranged as four eight bit bytes which are individually selectable as output data.
[0053] In a seventh alternate aspect of the first invention, the at least two desired data error rates include data error rates of approximately 10% MSB data errors, approximately 1% MSB data errors, approximately 0.1% MSB data errors, and less than 0.00034% MSB data errors .
[0054] In an eighth alternate aspect of the first invention, for a given data error rate and a given address, an MSB data error rate is less than a corresponding LSB error rate.
[0055] In a ninth alternate aspect of the first invention, the at least two data error rates are a high error rate of 2% to 15% MSB data error rate, a medium error rate of 0.5% to 2% MSB data error rate, a low error rate of 0.005% to 0.5% MSB data error rate, and an error free data rate of less than 0.00034% data errors.
[0056] In a tenth aspect of a second invention, the memory array comprises: a top memory cell array accessed by activating a wordline which causes the top memory cell array to output data onto one or more bitlines; a bottom memory cell array accessed by activating a wordline which causes bottom memory cell array to output data onto one or more bitlines; a wordline controller configured to examine output data from the one or more bitlines and one or more most significant bits of an applied address, the wordline controller modifying a wordline pulse width until one of three error states occurs: a high error rate where an MSB of a memory cell has an error rate in the range of 2% to 15%, or approximately 10%; a moderate error rate where an MSB of a memory cell has an error rate in the range of .5% to 2%, or approximately 1%; a low error rate where an MSB of a memory cell has an error rate in the range of 0.005% to 0.5%, or approximately 0.1% an error-free error rate where an MSB of a memory cell has an error rate less than 0.00034%; and where a selected data error rate is maintained over an available applied address range. [0057] In an eleventh aspect of the second invention, the at least one memory array is configured to provide a high value address a greater distance from the wordline controller than a low value address.
[0058] In a twelfth aspect of the second invention, the at least one memory array is configured to have a wordline length which is shorter for a most significant bit (MSB) than a least significant bit (LSB) for a column of data .
[0059] In a thirteenth aspect of the second invention, the bitlines provide multiples of 8 bits of data.
[0060] In a fourteenth aspect of the second invention, the bitlines provide 32 bits of data arranged as four eight bit bytes which are individually selectable as output data.
[0061] In a fifteenth aspect of the second invention, the at least two error rates include error rates of approximately 10% MSB errors, approximately 1% MSB errors, approximately 0.1% MSB errors, and less than 0.00034% MSB errors .
[0062] In a sixteenth aspect of the second invention, for a given error rate and a given address, an MSB error rate is less than a corresponding LSB error rate. [0063] In a seventeeth aspect of the second invention, the at least two error rates are a high error rate of 2% to 15% MSB error rate, a medium error rate of 0.5% to 2% MSB error rate, a low error rate of 0.005% to 0.5%, and an error free rate of less than 0.00034% error rate. [0064] The present examples are provided for illustrative purposes only, and are not intended to limit the invention to only the embodiments shown.

Claims

We claim :
1 . A memory device comprising : a wordline controller configured to activate a wordline , the wordline controller causing a pulse width of the activated wordline to be associated with at least two data error rates ; at least one memory array arranged as a sequence of columns of data, each column of data activated by a wordline , the activated wordline causing data to be asserted to bitlines coupled to an input/output driver ; the wordline controller comprising a driver converting an address into an activated wordline associated with a column of data in the memory array, the activated wordline held active for an associated pulse width of a data error rate ; the column of data in the memory array trans ferred through the bitlines to an output of the memory device , the controller selecting the pulse width for one of the at least two data retrieval error rates .
29
2 . The memory device of claim 1 where the at least one memory array comprises a top memory cell array and a bottom memory cell array .
3 . The memory device of claim 1 where the at least one memory array is configured to provide a high value address in a location which has a greater distance from the wordline controller than a low value address .
4 . The memory device of claim 1 where the at least one memory array is configured to have a wordine length which is shorter for a most signi ficant bit (MSB ) than a least signi ficant bit ( LSB ) for a column of data .
5 . The memory device of claim 1 where the bitlines provide multiples of 8 bits of data .
6 . The memory device of claim 1 where the bitlines provide 32 bits of data arranged as four eight bit bytes which are individually selectable as output data .
30
7. The memory device of claim 1 where the at least two error rates include error rates of approximately 10% MSB errors, approximately 1% MSB errors, approximately 0.1% MSB errors, and less than 0.00034% MSB errors.
8. The memory device of claim 7 where for a given error rate and a given address, an MSB error rate is less than a corresponding LSB error rate.
9. The memory device of claim 1 where the at least two error rates are a high error rate of 2% to 15% MSB error rate, a medium error rate of 0.5% to 2% MSB error rate, a low error rate of 0.005% to 0.5%, and an error free rate of less than 0.00034% error rate.
10. A a memory array comprising: a top memory cell array accessed by activating a wordline which causes the top memory cell array to output data onto one or more bitlines; a bottom memory cell array accessed by activating a wordline which causes bottom memory cell array to output data onto one or more bitlines; a wordline controller configured to examine output data from the one or more bitlines, the wordline controller modifying a wordline pulse width until one of three error states occurs: a high error rate where an MSB of a memory cell has an error rate in the range of 2% to 15%, or approximately 10%; a moderate error rate where an MSB of a memory cell has an error rate in the range of .5% to 2%, or approximately 1%; a low error rate where an MSB of a memory cell has an error rate in the range of 0.005% to 0.5%, or approximately 0.1% an error-free error rate where an MSB of a memory cell has an error rate less than 0.00034%.
11. The memory device of claim 1 where the at least one memory array is configured to provide a high value address a greater distance from the wordline controller than a low value address.
12. The memory device of claim 1 where the at least one memory array is configured to have a wordine length which is shorter for a most significant bit (MSB) than a least significant bit (LSB) for a column of data.
13. The memory device of claim 10 where the bitlines provide multiples of 8 bits of data.
14. The memory device of claim 10 where the bitlines provide 32 bits of data arranged as four eight bit bytes which are individually selectable as output data.
15. The memory device of claim 10 where the at least two error rates include error rates of approximately 10% MSB errors, approximately 1% MSB errors, approximately 0.1% MSB errors, and less than 0.00034% MSB errors.
16. The memory device of claim 15 where for a given error rate and a given address, an MSB error rate is less than a corresponding LSB error rate.
17. The memory device of claim 10 where the at least two error rates are a high error rate of 2% to 15% MSB error rate, a medium error rate of 0.5% to 2% MSB error rate, a low error rate of 0.005% to 0.5%, and an error free rate of less than 0.00034% error rate.
PCT/US2022/053414 2021-12-19 2022-12-19 Dynamic adjustment of word line timing in static random access memory WO2023114552A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US17/555,501 US11935587B2 (en) 2021-12-19 2021-12-19 Dynamic adjustment of wordline timing in static random access memory
US17/555,501 2021-12-19
US17/734,045 US20230352082A1 (en) 2022-04-30 2022-04-30 Dynamic Adjustment of Word Line Timing in Static Random Access Memory
US17/734,045 2022-04-30

Publications (2)

Publication Number Publication Date
WO2023114552A2 true WO2023114552A2 (en) 2023-06-22
WO2023114552A3 WO2023114552A3 (en) 2023-08-03

Family

ID=86773473

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2022/053414 WO2023114552A2 (en) 2021-12-19 2022-12-19 Dynamic adjustment of word line timing in static random access memory

Country Status (1)

Country Link
WO (1) WO2023114552A2 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1130600A1 (en) * 2000-03-01 2001-09-05 Hewlett-Packard Company, A Delaware Corporation Data balancing scheme in solid state storage devices
US7516280B1 (en) * 2004-03-30 2009-04-07 Cypress Semiconductor Corporation Pulsed arbitration system and method
US7085173B1 (en) * 2005-02-09 2006-08-01 International Business Machines Corporation Write driver circuit for memory array
US9047955B2 (en) * 2011-03-30 2015-06-02 Stec, Inc. Adjusting operating parameters for memory cells based on wordline address and cycle information
US8711646B2 (en) * 2012-05-08 2014-04-29 Samsung Electronics Co., Ltd. Architecture, system and method for testing resistive type memory
US9318204B1 (en) * 2014-10-07 2016-04-19 SanDisk Technologies, Inc. Non-volatile memory and method with adjusted timing for individual programming pulses
US9653161B2 (en) * 2014-11-21 2017-05-16 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device comprising an arithmetic circuit that, in operation, calculates a binary reference value based on at least a part of the pieces of resistance value information, a read circuit that, in operation, selectively assigns, based on the binary reference value, one of two values to each of the pieces of resistance value information, and a write circuit that, in operation, performs a write operation corresponding to one of the two values among memory cells

Also Published As

Publication number Publication date
WO2023114552A3 (en) 2023-08-03

Similar Documents

Publication Publication Date Title
US11783875B2 (en) Circuits and methods for in-memory computing
US7558097B2 (en) Memory having bit line with resistor(s) between memory cells
US7483327B2 (en) Apparatus and method for adjusting an operating parameter of an integrated circuit
US8064269B2 (en) Apparatus and methods having majority bit detection
US10795603B2 (en) Systems and methods for writing zeros to a memory array
KR20200022213A (en) Semiconductor memory device including phase change memory device and method of accessing phase change memory device
US20190103156A1 (en) Full-rail digital read compute-in-memory circuit
US20060013040A1 (en) Adjusting the frequency of an oscillator for use in a resistive sense amp
US11501805B2 (en) Receivers for performing reference voltage training and memory systems including the same
US20190050284A1 (en) Shared address counters for multiple modes of operation in a memory device
KR20220006467A (en) Memory device performing error correction based on machine learning and operating method thereof
US20210134349A1 (en) Arithmetic devices conducting auto-load operation
US20230067144A1 (en) Memory controller and memory system including the same
KR20100134377A (en) Programming method of nonvolatile memory device
US9898438B2 (en) Symbol lock method and a memory system using the same
US7151709B2 (en) Memory device and method having programmable address configurations
US9502105B2 (en) Resistive memory device, operating method thereof, and system having the same
WO2023114552A2 (en) Dynamic adjustment of word line timing in static random access memory
US20230352082A1 (en) Dynamic Adjustment of Word Line Timing in Static Random Access Memory
US6046945A (en) DRAM repair apparatus and method
US10825491B2 (en) Systems and methods for writing zeros to a memory array
US11935587B2 (en) Dynamic adjustment of wordline timing in static random access memory
KR20220165535A (en) Memory controller performing data training, System on Chip including the same and Operating method of Memory controller
US7042786B2 (en) Memory with adjustable access time
CN114121089B (en) Memristor array-based data processing method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22908540

Country of ref document: EP

Kind code of ref document: A2