USPatent applicationPatented

RAM data array configured to provide data-independent, write cycle coherent current drain

Granted 23 Dec 2003 · no office action yet

Assignee: Alfred Mann Foundation

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Paul De Rocco, Lawrence J. Karr, Douglas Kerns, Gregory Jay DelMain +3 · Examiner: Tan T. Nguyen · AU 2818 · TC 2800

Application· this page
10/205,862
filed 26 Jul 2002
Publication
Not published
not published
Patent
US 6,667,923
granted 23 Dec 2003

Life of the application

5 dated events
⤢ drag to zoom20022004200620082010201220142016201820202022ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

An apparatus and method for forming a RAM data memory that generates predictable noise/interference components that are coherent with each write cycle and essentially independent of the data content of the RAM data memory. The RAM data memory is comprised of a plurality of cells, each representing a data bit, which are selectively addressable as memory bytes formed of multiple bits. Each cell is formed of two sets of cross-coupled transistors. By causing each set of cross-coupled transistors to be set to a common voltage level at the beginning of a write cycle before setting one set of transistors to a low level and the one set of transistors to be set to a high level (thus representing a desired data bit value), the associated noise/interference components of the power drain are data independent. Furthermore, the data-independent noise occurs at frequencies at or above the write cycle rate.

Description

10 parts
›FIELD OF THE INVENTION

The present invention is generally directed to RAM (random access memory) arrays for use in an environment where noise or interference related components of its power usage can degrade the functioning of a system containing such RAM.

›BACKGROUND OF THE INVENTION

A typical RAM (random access memory) array and in particular a static RAM array, is made up of a plurality of memory cells, each of which is comprised of a plurality, typically four (4) or more transistors to form the memory cell plus two (2) transistors for addressing the cell (a typical total of six (6) transistors). Preferably the transistors are FETs. As data is written into each cell, data-dependent current surges occur and undesirable noise results. In an environment where low noise is required, e.g., in a communication system, such data-dependent noise may degrade the potential capability of the system, e.g., its ability to discern a data signal and thus decrease the effective signal-to-noise ratio. Typically, communication systems exhibit a considerable variation in the content of their data signals and thus this data dependency may limit their capability to receive data signals without increasing the transmitted signal level, which may not be feasible or desirable. Accordingly, it would be desirable to limit the noise dependency and thus extend the capability of such a system, e.g., a communication system, that uses such a RAM.

›SUMMARY OF THE INVENTION · 1 of 2

The present invention is directed to RAM (random access memory) arrays for use in an environment where noise or interference related components of its power usage can degrade the functioning of a system containing such RAM. In an exemplary system, e.g., a communication system such as described in copending, common-assigned, U.S. patent application No. 09/882,603 which is incorporated herein by reference, the RAM may be used as an intermediate storage device for digitally sampled data from a communication channel. The sampled data is then digitally processed to extract a data stream. In this exemplary system, size and power restrictions limit the ability to otherwise increase the signal-to-noise ratio by increasing the signal, i.e., the transmitter power or size. Accordingly, in systems of the present invention the effective signal-to-noise ratio is instead improved by ensuring that any noise or interference components related to writing data into the RAM are positioned outside of the bandwidth of the communicated data.

To accomplish this task, one first notes that the typical architecture for a RAM cell, specifically a static RAM cell, includes forming two pairs of cross-linked transistors, typically FETs, where a first pair represents a data “1” value and the second pair represents a data “0” value. In the known prior art, a data transition from “1” to a “1” or from a “0” to a “0” may result in minimal changes in supply current and thus minimal power-related noise. However, a data transition from a “1” to a “0” or from a “0” to a “1” will result in a power-related noise surge. Whether a power-related noise surge occurs in the prior art is thus related to the sequence of data being written into the RAM, i.e., there is an undesirable amount of data dependency.

However, in embodiments of the present invention, the data dependency is removed by causing a first non data-dependent downward power surge when data is removed from a memory cell, and a second non data-dependent upward power surge occurs when the new data is written into the memory cell. Essentially, the same overall (downward then upward) power surges occur for a “1” to “1”, “1” to “0”, “0” to “0”, or “0” to “1” transition, i.e., any data dependency is removed. Furthermore, the combination of the first and second transitions help cause the frequency component of the power surges to occur at elevated frequencies that can be more easily filtered out. In the particular exemplary embodiment of a communication system, the frequency components of the noise can be placed well above the frequency of the relevant portions of the communication signal.

While only groups of individual RAM cells (bits) corresponding to a selected data byte are affected during each write operation (typically a different group for each sequential write operation), a common differential data bus is preferably used to provide data to (or from) a selected group of RAM cells. Accordingly, while a selected group of RAM cells may only be a potential noise sources after many, e.g., 256 for an exemplary 256×N bit RAM, other write operations, the common data bus is a potential noise source for each write operation. Accordingly, the common data bus is operated in a manner similar to that previously described for the individual RAM cells, i.e., for each write operation, each side of the differential data bus is brought to a common voltage and then the respective sides of the data bus are brought to values representative of the desired data value.

A preferred RAM data memory configured for generating predictable noise or interference related components coherent with each write cycle, essentially independent of the data content of the RAM data memory, comprises: (1) a plurality of memory cells, each of which being comprised of two sets of cross-coupled transistors wherein each of the cells is capable of holding a data bit having a “1” or a “0” value; (2) a plurality of memory bytes wherein each of the bytes is comprised of a plurality of concurrently addressable memory cells; (3) an address circuit for selectively addressing one of the memory bytes and selecting the memory byte to be read or written and thus form a portion of a read or a write cycle, respectively; and (4) write sequencing logic for removing charge from the selectively addressed cross-coupled transistors comprising the selectively addressed memory cells of the selectively addressed memory byte having an initial byte value before adding charge to the selectively addressed cross-coupled transistors of the selectively addressed memory cells of the selectively addressed byte to cause the memory byte to correspond to a desired byte value; and whereby current transitions associated with the removing and the adding of charge from the memory cells of the memory bytes are essentially independent of any relationship between the initial byte value and the desired byte value.

A preferred method for controlling write cycles in a RAM memory such that predictable noise or interference related components are generated coherent with each write cycle, essentially independent of the data content of the RAM data memory, wherein the RAM memory is comprised of a plurality of memory cells, each of which being suitable for containing a “1” or a “0” data bit value, a plurality of the memory cells are essentially concurrently addressable to represent a memory byte, comprises the steps of: (1) selecting a plurality of the memory cells corresponding to a selected memory byte; (2) removing power from each of the selected memory cells, wherein the power reduction is essentially independent of the data content of each of the selected memory cells; and (3) enabling a portion of each of the selected memory cells such that the enabled portion then represents a desired data bit value and the combination of the selected memory cells then represents a desired data byte value, wherein the step of enabling a portion of each of the selected memory cells comprises providing power to selected portions of the selected memory cells and resulting in a power increase essentially independent of the desired data byte value; and wherein the magnitude of the power reduction and the power increase are essentially the same.

›SUMMARY OF THE INVENTION · 2 of 2

In a further aspect of the present invention, the RAM comprises at least two address circuits, each of which are capable of individually enabling a data byte to be written to portions of the RAM. In a still further aspect, at least one of the address circuits automatically increments with each write cycle such that it automatically selects a different portion of RAM for each sequential write cycle. In a significant feature of this automatically incrementing mode of operation, the address circuit is comprised of a row address circuit and a column address circuit, each of which contains multiple address bits and only one of each multiple address bits is altered at any one time.

The novel features of the invention are set forth with particularity in the appended claims. The invention will be best understood from the following description when read in conjunction with the accompanying drawings.

›BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an exemplary communication system suitable for using the RAM of the present invention.

FIG. 2 is an exemplary spectral diagram showing how the RAM-related noise can be placed well outside of the spectral content of the data signal by using the RAM of the present invention.

FIG. 3 shows a simplified logic diagram of a static memory cell comprised of a pair of inverters coupled such that they have two stable storage states.

FIG. 4 is a timing diagram of the data-independent current consumed by a cell of the RAM of the present invention.

FIG. 5 is a simplified exemplary structure for forming a memory cell from four (4) FETs comprising two half memory cells of two (2) FETs each.

FIG. 6 shows a detailed exemplary transistor structure of a memory cell of the present invention that encompasses the features described in relation to FIGS. 3 and 5.

FIG. 7 shows an exemplary timing diagram for utilizing the features of the memory cell of FIG. 6 .

FIG. 8 shows an exemplary embodiment of the RAM of the present invention including the memory cell array which stores the data bits and address logic for accessing groups of memory cells from within the array.

FIGS. 9A-9F show an exemplary implementation of the address logic of the RAM of FIG. 8 which has been configured to minimize the noise generated associated with addressing “sequential” memory locations.

FIG. 10 is a partial truth table for the address logic of FIGS. 9A-9F.

FIG. 11 is a simplified block diagram of the RAM of the present invention showing a plurality of pairs of differential bus lines for driving selected memory cells in a manner similar to that of the individual memory cells and thus generating data independent and spectrally displaced noise.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 1 of 5

The following description is of the best mode presently contemplated for carrying out the invention. This description is not to be taken in a limiting sense, but is made merely for the purpose of describing the general principles of the invention. The scope of the invention should be determined with reference to the claims.

The present invention is directed to RAM (random access memory) arrays for use in an environment where noise or interference related components of its power usage can degrade the functioning of a system containing such RAM. In an exemplary system, e.g., a communication system such as described in copending, common-assigned, U.S. patent application No. 09/882,603 which is incorporated herein by reference, the RAM may be used as an intermediate storage device for digitally sampled data from a communication channel during a first time period. The sampled data is then retrieved from RAM and digitally processed during a second time period, temporally offset from the first time period, to extract digital data contained within. In this exemplary system, size and power restrictions limit the ability to otherwise increase the signal-to-noise ratio by increasing the signal, i.e., the transmitter power or size. For example, in the '603 application, the communication system is encased in an essentially cylindrical housing having an axial dimension of less than 60 mm and a lateral dimension of less than 6 mm and configured for implantation into a patient's body, e.g., via injection. This exemplary implantable microdevice is preferably battery powered (preferably rechargeable) but due to its small size, its battery capacity is limited. Accordingly, in systems of the present invention the effective signal-to-noise ratio is instead improved by ensuring that any noise or interference components related to writing data into the RAM are positioned outside of the bandwidth of the communicated data.

To accomplish this task, one first notes that the typical architecture for a RAM cell, specifically a static RAM cell, includes forming two pairs of cross-linked transistors, typically FETs, where a first pair represents a data “1” value and the second pair represents a data “0” value. In the known prior art, a data transition from “1” to a “1” or from a “0” to a “0” may result in minimal changes in supply current and thus minimal power-related noise. However, a data transition from a “1” to a “0” or from a “0” to a “1” will result in a power-related noise surge. Whether a power-related noise surge occurs in the prior art is thus related to the sequence of data being written into the RAM, i.e., there is an undesirable amount of data dependency.

However, in embodiments of the present invention, the data dependency is removed by causing a first non data-dependent downward power surge when data is removed from a memory cell, and a second non data-dependent upward power surge occurs when the new data is written into the memory cell. Essentially, the same overall (downward then upward) power surges occur for a “1” to “1”, “1” to “0”, “0” to “0”, or “0” to “1” transition, i.e., any data dependency is removed. Furthermore, the combination of the first and second transitions help cause the frequency components of the power surges to occur at elevated frequencies, i.e., at multiples of the data writing frequency, that can be more easily filtered out. In the particular exemplary embodiment of a communication system, the frequency components of the noise can be placed well above the frequency of the relevant portions of the communication signal. In addition, these noise components are at multiples of and coherent with the sampling rate and approach zero amplitude in their higher multiples. Accordingly, this coherent noise is easily filtered out.

Furthermore, while only groups of individual RAM cells (bits) corresponding to a selected data byte are affected during each write operation (typically a different group for each sequential write operation), a common differential data bus is preferably used to provide data to (or from) a selected group of RAM cells. Accordingly, while a selected group of RAM cells may only be a potential noise sources after many, e.g., 256, other write operations, the common data bus is a potential noise source for each write operation. Accordingly in embodiments of the present invention, the common data bus is preferably operated in a manner similar to that previously described for the individual RAM cells, i.e., for each write operation, each side of the differential data bus is brought to a common voltage and then the respective sides of the data bus are brought to values representative of the desired data value.

FIG. 1 shows an exemplary communication system 10 suitable for using the RAM of the present invention. In this system, a modulated carrier wave 12 (i.e., a carrier signal modulated by a data signal) is received and amplified by amplifier 14 . The signal is then downconverted by multiplier 16 which is subjected to local oscillator frequency 18 . The resulting IF signal 20 is the sum and the difference of the modulated carrier wave 12 and the local oscillator frequency 18 . The sum signal is at a high enough frequency to be easily filtered out (or ignored). In this example, the carrier frequency is 400 MHz and the data signal is 6.3 MHz. Accordingly, the modulated data signal 12 is at 406.3 MHz. Once the modulated data signal from amplifier 14 has been multiplied by the local oscillator signal 18 , the resulting IF signal is the data signal at 6.3 MHz (and 806.3 MHz). The IF signal 20 is then digitally sampled by an A/D converter 22 at a frequency of at least twice the IF bandwidth, i.e., the Nyquist sampling rate. Preferably, the signal is sampled at four (4) times the bandwidth of the IF signal, i.e., at 25.2 MHz in this example, to generate sampled digital data 24 , preferably 6-8 bits of parallel data. By sampling at twice the Nyquist sampling rate, additional time-spaced data is obtained that can facilitate digital signal processing of the sampled data and the extraction of the modulated data contained within.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 2 of 5

In this exemplary system 10 , the digital data 24 is stored in the RAM 26 of the present invention for subsequent processing by a digital signal processor (DSP) 28 . Preferably, RAM 26 is essentially used as a FIFO (first-in first-out) buffer for temporary storage of the received data. In this exemplary system, e.g., a communication system such as described in copending, common-assigned, U.S. patent application No. 09/882,603, the data need not be concurrently processed with its receipt since there is a significant time between receipt of the modulated data signal and the time when the system component, e.g., a microstimulator, needs to respond to the data contained within. Thus, by using RAM 26 as an intermediate data storage, the sampled data can be processed to extract the data content within by a relatively low speed DSP 28 , i.e., at a processing speed significantly less than that required for real time processing. Additionally, by processing the data at a lower speed, power can be saved, a feature that is significant when used as part of a implantable microstimulator as described in the '603 application. Further power savings can be achieved by turning off power (or reducing the clock rate to accordingly reduce power consumption) to the DSP 28 during receipt of the modulated carrier wave 12 and turning off power to the amplifier 14 , multiplier 16 and A/D converter 22 while the captured data is being processed, i.e., demodulated.

When processing data, typically generated by such a low power device (and corresponding to a relatively low S/N ratio), it becomes significant to minimize as many noise sources as is possible. A conventional RAM is such a noise source. In contrast, the RAM 26 of the present invention is configured to minimize the amount of noise and specifically any in-band noise. Typically, the noise generated by RAM is dependent upon changes between the old data stored in RAM and the new data that is subsequently written into RAM. However, in the present invention, this data dependency is minimized by ensuring that data is altered during every write cycle, i.e., at the sampling rate which is preferably 4*f B (where f B is the bandwidth of the demodulated IF data signal), even if the old and new data values are the same. Accordingly, as shown in FIG. 2, RAM-related noise occurs at frequencies well beyond the data frequency. Thus, any noise effects are inherently minimized and may be further minimized by digital filtering in the DSP 28 .

RAM 26 is made up of a plurality of static memory cells, preferably arranged in a row-column array to simplify addressing. Each memory cell is capable of storing a single bit (binary digit), i.e., a “1” or a “0”. In an exemplary case used for descriptive purposes, the array is 16×16 and is 6 bits deep, i.e., it stores 256 6-bit bytes. (In the currently preferred implementation, this RAM is formed as a 256×12 bit array.) A simplified example of the logic that forms each memory cell 30 is shown in FIG. 3 as a pair of inverters 32 , 34 coupled such that the combination has two storage states. For example, when the input 36 to inverter 32 has a value of “1”, its output 38 has a value of “0”. Output 38 is coupled to input 40 of inverter 34 and its output 42 is coupled to input 36 of inverter 32 . Accordingly in this case, input 40 has a value of “0” and output 42 has a value of “1”. Thus, this configuration is stable with output (node) 44 having a value of “1” and output-(node) 46 having a value of “0”. Likewise, this configuration will retain a stable state with all of the output values being reversed, e.g., all “0”s become “1”s and all “1”s become “0”s.

To switch output states, one could source or sink current at the outputs (nodes) 44 , 46 or additional logic could be added to facilitate switching states. However, as previously discussed, when this is done with a conventional RAM, the potential current surges are data dependent. For example, in the known prior art, a data transition from “1” to a “1” or from a “0” to a “0” may result in minimal changes in supply current and thus minimal power-related noise while a data transition from a “1” to a “0” or from a “0” to a “1” will result in a power-related noise surge. Accordingly, whether a power-related noise surge occurs in the prior art is thus related to the sequence of data being written into the RAM and the spectrum of the power-related noise may thus overlap the spectrum of the data.

How this problem is solved in embodiments of the present invention is described in relation to FIGS. 3 and 4. As shown in FIG. 3, a power switch 48 is added to selectively remove power from cells subject to power control/prewrite control line 50 . (Actually, the power switch may be comprised of a separate switch for each half cell, i.e., inverter 32 , 34 , or may be a single power switch for each group of cells that form a byte, e.g., a single switch for 6-8 cells.) Accordingly, power control signal 50 causes power switch 48 to remove power at time T 0 to commence the write cycle that concludes at T 1 (see the solid line 52 of FIG. 4 which represents the power usage of the cell 30 ). Shortly after T 0 , outputs (nodes) 44 , 46 are discharged. FIG. 4 shows the corresponding power/current reduction from L 1 to L 0 . It is significant that independent of the initial state of the cell, power is removed from a single energized half cell and a single de-energized half cell and charge is then removed from the single energized half cell (essentially no charge is removed from the single de-energized half cell). Just prior to T 1 , the nodes 44 , 46 corresponding to the desired new state of the cell 30 are set and the power control line 50 is re-set to re-supply power to the cell 30 . Again, charge is only supplied to a single half-cell and thus the power surge at T 1 corresponding to the change from L 0 to L 1 is essentially data independent. Thus, during each write cycle (time period T 0 to T 1 ), a downward power surge starts to occur (i.e., from L 1 , to L 0 ) as the cell is shifted to a 0—0 state, followed by an essentially equal upward power surge (i.e., from L 0 to L 1 ) as the cell is shifted from the 0—0 state. Since write cycles occur at the sampling rate, this data independent noise will occur well above the spectrum of the data (see FIG. 2 ).

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 3 of 5

While FIG. 4 primarily shows nodes 44 , 46 being discharged, alternative data-independent possibilities are also considered to be within the scope of the present invention. For example, instead of discharging nodes 44 , 46 at T 0 time, these nodes could both be charged to a high “1” state as designated by dashed lines 54 and the increase of the power level to L 2 . Accordingly in this implementation, one node would change from a “1” to a “1” and the other node would change from a “0” to a “1”. As previously described, it is insignificant which node makes the transition, it is only significant that it is only a single node. Just prior to T 1 time, a single node will then be changed to a “0” state before power is re-enabled to the cell 30 .

In a next alternative implementation, nodes T 0 and T 1 can be shorted to each other to bring equilibrium between the charged nodes to a “½” state as designated by dotted line 56 . Just prior to T 1 time, one node is then raised to a “1” state and the other node is lowered to a “0” state. At each transition, there is a positive half state transition and a negative half state transition with the effective overall transition being zero in each case. What is most significant is that the intermediate voltage level be a common voltage level. Whether it is a low, high, a “½” state, or any other common voltage level, all will result in the data independent noise of the present invention.

FIG. 5 shows a simplified exemplary transistor structure of memory cell 30 formed from four (4) FETs 58 , 60 , 62 , 64 comprising two half memory cells of two (2) FETs each, i.e., FETs 58 , 60 and FETs 62 , 64 . Each half memory cell (essentially comprising an inverter) is comprised of a p-channel FET (e.g., 58 and 62 ) and an n-channel FET (e.g., 60 and 64 ) with their gates coupled together at nodes 66 , 68 . For example, when node 66 is high, FET 58 is switched off and FET 60 is switched on. Accordingly, output 70 is held low. Conversely, if node 66 is low, output 70 will be pulled high. Each half memory cell is cross-linked to the other half memory cell, i.e., the output 70 of the first half memory cell 58 , 60 is coupled to the input 68 of the second half memory cell 62 , 64 and the output 72 of the second half memory cell 62 , 64 is coupled to the input 66 of the first half memory cell 58 , 60 . Accordingly, the circuit of FIG. 5 performs as a memory cell having two stable memory states as was previously described in reference to FIG. 3 .

FIG. 6 shows a detailed exemplary transistor structure of a memory cell 30 of the present invention. Much of what is shown is identical to what has been described in relation to FIG. 5 and accordingly the same numbers are used to describe its common elements. The relevant additional details will now be described.

First, the power switch of FIG. 3 is shown which is comprised of p-channel FETs 48 , 48 ′ which individually provide power to each of the half memory cells under control of prewrite control line 50 . As previously discussed, the use of individual switches for each of the half memory cells, a single switch for the entire memory cell, the use of a single switch for multiple memory cells to enable a byte, etc., are all variations of the power switching that may be used within embodiments of the present invention.

The ability to read a data bit from the memory cell 30 is shown in more detail, commensurate with a typical structure used to select individual cells for a particular memory address and direct its data value contents to a common data bus. To accomplish this task, p-channel FET 62 and n-channel FET 64 are added and respectively concurrently enabled (or disabled) in response to readword- 74 and readword 76 control lines to provide or block data from flowing to readbit output 78 from the first half memory cell comprised of FETs 58 , 60 . Additionally, FETs 66 , 68 are coupled to the second half memory cell to accordingly subject the FETs 62 , 64 of the second half memory cell to an essentially identical capacitive load during a read and especially during a write operation.

The capability to write into memory cell 30 is provided through FET 80 (to the first half memory cell) and FET 82 (to the second half memory cell) under control of writeword control line 84 . Individual data signals writebit 86 and writebit- 88 are switched via FETs 80 , 82 into nodes 66 , 68 , respectively of the first and second half memory cells. In operation, a write cycle commences by raising the prewrite control line 50 to remove power from the cell. Next the writeword control line 84 is raised and the writebit 86 and the writebit- 88 data signals are both lowered. This serves to remove the charge from both sides of the memory cell 30 (actually charge is only removed from the half cell that is currently active, i.e., high). Next, either the writebit 86 or the writebit- 88 data signal is raised, depending upon the new data value. Finally, the prewrite control line 50 is returned low to enable power to the memory cell and after power has returned, the writeword control line 84 is lowered and the data is latched into the memory cell 30 . This data-independent power cycling is shown in timing diagram FIG. 7 . It is additionally recognized that this configuration can be modified to enable each half memory cell to be raised or shorted to each other during the first portion of the write cycle to cause each half memory cell to have a common value, as previously described.

While only groups of individual RAM cells (bits) corresponding to a selected data byte are affected during each write operation (typically a different group for each sequential write operation), a common differential data bus formed of a plurality of pairs of writebit, writebit- data lines (see FIG. 11) is preferably used to provide data to (or from) a selected group of RAM cells. The differential data bus is subject to stray wiring capacitance (C 1 -C 12 in this example) due to the distribution of the memory cells. Accordingly, while a selected group of RAM cells may only be a potential noise source after many, e.g., 256 for an exemplary 256×N bit RAM, other write operations, the common data bus is a potential noise source for each write operation. Accordingly in embodiments of the present invention, the common data bus is preferably operated in a manner similar to that previously described for the individual RAM cells, i.e., for each write operation, each side of the differential data bus is brought to a common voltage and then the respective sides of the data bus are brought to values representative of the desired data value. Thus, in addition to making the noise essentially independent of the previous contents of the currently used memory cell, discharging both sides of the write bus (writebit and writebit- at the start of a write cycle, the noise generated in the drivers for these lines is essentially independent of what was written to the preceding memory cell on the previous write cycle as well.

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 4 of 5

A plurality of cells are arranged in an array structure 90 , i.e., an A×B structure, that is addressable by selecting an A and a B value. Typically, these A and B values are referred to as rows and columns and are typically of the same size, i.e., the maximum number of rows equals the maximum number of columns. In the exemplary embodiment described in relation to FIGS. 8-10, there are 16 rows and 16 columns and thus there are 16 2 =256 possible memory addresses, each of which contains a 6-bit byte, i.e., 6 cells are associated with each memory address. (It is recognized that the terms rows and columns are interchangeable in this description and are only used to simplify the graphical description of how the address logic operates.) Memory addresses are selected by address logic 92 , preferably comprised of row address logic 94 and column address logic 96 .

The address logic 92 enables selection of single memory address to read or write a byte of data. Furthermore, to facilitate use of the RAM 26 of the present invention as a FIFO buffer, the address logic 92 auto-increments with each write pulse, i.e., following each write (or read) operation, the address logic 92 points to the next memory address (when the last memory address, e.g., memory address 255, is incremented, the next memory address is address 0). Additionally, it is preferred that the address logic be initializable to begin with a specified address and that there be at least two sets of address logic such that one set of address logic is used as a head pointer to address the next memory address to be written and a next set of address logic is used as a tail pointer to address the next memory address to be read. In operation, the head and tail pointers are initially set to the same value, e.g., 0, and the head pointer is used to direct storage of sampled data. As data is processed by DSP 28 (preferably not concurrent with the storage of sampled data), the tail pointer is used to remove/read the stored data. Additional similar sets (not shown) of address logic 92 may be used to store and retrieve data from other sources or for other needs, e.g., for storing data from a “low speed” A/D that samples environmental data, e.g., sampled body parameters.

In the previously described exemplary environment, i.e., in a communication system, it is essential to minimize noise or interference related components of the logic wherever possible. Accordingly, the address logic 92 of the present invention is preferably formed along with the memory array 90 on the same integrated circuit chip. Additionally, the use of a binary counter for the auto-incrementing address logic is avoided in the present invention. Instead, “shift registers” are used to perform this function, e.g., a Johnson counter.

The use of the term “shift register” in this application is used to distinguish such a device from the term “counter” which references an incremental, typically binary weighted, device. A shift register is conventionally recognized as a plurality of bit storage devices, e.g., flip flops, that are arranged in a structure such that they feed successive bit storage devices in response to each clock pulse. Such a device constructed according to the conventional definition may be used to perform the needed function. However, in an exemplary implementation of the shift register of the present invention, a plurality of flip flops are used along with sequencing logic to perform essentially the same function such that it appears to be a conventional shift register if its outputs were examined, i.e., if viewed as a black box. Accordingly, the term shift register as used herein includes such a flip flop with sequencing logic construct as well.

In the present invention, the address logic 92 is primarily comprised of a pair of shift registers, a row shift register 98 and a column shift register 100 , that are constructed such that only a single shift register bit changes each time the address logic 92 is sequenced, e.g., incremented. (While it is noted that only a single shift register changes with each “increment” in this implementation, what is most notable of preferred embodiments of the address logic of the present invention is that an equal number of bits change with each “increment”.) It is recognized that if a counter were used, multiple bits could change with each address increment and the number of bit changes, and thus the generated noise, would be different, depending upon the current actual address. Accordingly, the present invention minimizes the noise and ensures that the amount of noise generated is essentially independent of the actual memory address. Thus, the RAM 26 of the present invention is well suited for use in a communication system or similar environments.

To accomplish the aforementioned task, the address logic 92 of the present invention preferably includes row shift register 98 , column shift register 100 , associated decoders ( 102 , 104 ), sequencing logic 106 and pre-setting logic 108 . An exemplary implementation of this address logic 92 is shown in FIGS. 9A-9F. Due to the complexity of this exemplary logic implementation, there is not always a direct one-to-one correlation between these functions, i.e., there is some overlap. Basically, the flip flops of FIG. 9A correspond to the row shift register 98 and the remaining logic (including the logic for Mux2x 110 which is shown in detail in FIG. 9B) encompasses portions of the row shift register 98 and the sequencing logic 106 . The flip flops of FIG. 9C correspond to column shift register 100 . The remaining logic encompasses portions of the column shift register 100 and the sequencing logic 106 . Additional portions of the sequencing logic 106 are shown in FIG. 9D with the clock input in FIG. 9C corresponding to write (or read) pulses. FIG. 9E shows row decoder 102 and column decoder 104 . A final portion of the address logic is shown in FIG. 9F as the pre-setting logic 108 .

FIG. 10 shows a truth table 112 for a portion (the first two rows and columns) of the memory cell array 90 where the first 16 rows of the truth table 112 correspond to address portions shown as address path line 114 (see FIG. 8) which are followed by each clock pulse, e.g., write clock pulse. Thus, during the first 16 clock pulses, the combination of the row shift register 98 , row decoder 102 , and sequencing logic 106 , the row count increments, i.e., from a (row, column) value of (0, 0) to (15, 0). As of the first row of the second portion of truth table 112 (i.e., row 17 of truth table 112 ), the row shift register 98 is stopped and the column shift register 100 shifts to the next position (15, 1), i.e., the column count increments. This transition is shown as address path line 116 in FIG. 8 . Now, future clock pulses cause the row count to decrement following address path line 118 (see FIG. 8) from position (15, 1) to (0, 1). The address logic 92 follows this serpentine path until the last column is reached and the first row is reached at final address position (0, 15) 120 (see FIG. 8) where the address is “instantly” returned to the first address position (0, 0) 122 along virtual path 124 . For the purposes of this patent application, all of the previously described row, column address changes are considered to be sequential, i.e., the next memory address (which is always a new memory address) selected by the sequencing logic 106 is considered to be “sequential” whether the row address increases or decreases or the column address increases or decreases. All of the described changes are still sequential in that they are the next address selected by the sequencing logic 106 .

›DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS · 5 of 5

What is most significant about this exemplary embodiment is that the data bits representing addresses, see bits L 0 -L 7 and H 0 -H 7 in FIG. 10, are sequenced by sequencing logic 106 such that only a single bit changes at a time. Accordingly, any associated noise is minimized and predictable since one and only one bit changes with each sequential memory address.

Accordingly, what has been shown is a RAM structure that has an address structure that minimizes noise generation and a write sequencing structure that ensures that the same amount of noise is generated for each write operation, independent of the new and old values in the RAM. Thus, the noise generated is essentially data independent. Such structure is of particular value when used in the aforementioned communication structure, e.g., as an intermediate FIFO storage. While the invention has been described by means of specific embodiments and applications thereof, it is understood that numerous modifications and variations could be made thereto by those skilled in the art without departing from the spirit and scope of the invention. For example, the described techniques are equally applicable to other RAM cell structures, e.g., a one transistor static RAM cell, a dynamic RAM cell, etc. It is therefore to be understood that within the scope of the claims, the invention may be practiced otherwise than as specifically described herein.

Claims as granted

50 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

3 codes
IPC · International Patent Classification
Section G — Physics
  • G11C7/10
USPC · US Patent Classification
365/206365/154

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJul 2002Oct 2002Jan 2003Apr 2003Jul 2003Oct 2003Jan 2004USPTOApplicantNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
1.4 y
515 days filing → grant
Office actions
0
none on record
Examiner
Tan T. Nguyen
art unit 2818 · TC 2800
Citations: 4 back · 5 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20022004200620082010201220142016201820202022Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock