US7549001B2 - Digital RAM memory circuit with an expanded command structure - Google Patents
Digital RAM memory circuit with an expanded command structure Download PDFInfo
- Publication number
- US7549001B2 US7549001B2 US11/178,915 US17891505A US7549001B2 US 7549001 B2 US7549001 B2 US 7549001B2 US 17891505 A US17891505 A US 17891505A US 7549001 B2 US7549001 B2 US 7549001B2
- Authority
- US
- United States
- Prior art keywords
- commands
- command
- bits
- serial
- memory device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input circuits
Definitions
- the invention relates to a digital memory circuit having a multiplicity of memory cells which can be addressed selectively in order to either write or read memory data from said memory cells.
- Memory circuits of this generic type are generally referred to by the acronym RAM (Random Access Memory) and are usually manufactured as integrated components on semiconductor chips.
- RAM Random Access Memory
- the field of the invention is what is referred to as “dynamic” RAM components (DRAMs) as are used as the main memory in computers.
- DRAMs dynamic RAM components
- the subject matter of the invention is also a memory controller which can be used in conjunction with memory circuits of the above-mentioned generic type.
- a RAM component has a plurality of groups of external terminals. These include the data terminals via which the memory data is input and output, and the address terminals at which the information for addressing the memory cells is applied. These also include a separate input with a plurality of terminals for receiving commands for initiating the various operations of the RAM component.
- RAM components whose memory cells are organized as a matrix composed of rows and columns and in which a read or write process is started at a row by activating a row selection line (word line) according to a row address
- the following commands are customary: “Precharge” for setting all the column selection lines to a specific initial potential; “Activate” for setting a word line which has been addressed according to the row address to an activation potential, as a result of which all the memory cells of the respective row are opened for a possible access for reading or writing; “Read” for initiating a reading process at the memory cells in the activated row which have been selected by means of a column address; “Write” for initiating a writing process at the memory cells in the activated row which have been selected by means of a column address.
- a multiplicity of other commands are also used in customary RAM components, for example a command “Select Component” (Chip Select) used to address the memory component as a whole, and a command “Set Mode Register” used to set specific operating parameters or operating properties of the component according to a specific setting information item.
- the setting information item is usually input via the address terminal, while said command is applied at the command input in order to store the setting information in a register.
- This information may, for example, predefine the length of the bursts of the memory data which is to be written in and read out and, if desired, predefine further parameters, for example specific waiting times within the sequence of specific memory operations.
- the commands mentioned above are only a few examples and not an exhaustive listing.
- the contents of the commands and also their diversity depend, of course, on the design of the memory component with the total number of different commands depending on the number of control operations. Since it is desired to keep the number of external terminals at a memory component as small as possible, it would be counterproductive to provide a separate terminal for each command. Separate terminals must, if necessary, be provided for superordinate commands such as, for example, the “Select Component” command, which are intended to maintain an operating feature over a sequence of other commands.
- These other commands are usually coded as m-bit digital words in parallel formats so that m parallel command terminals are sufficient to be able to distinguish between 2 m different commands.
- a command decoder then decodes each received m-bit command code word, in parallel with the superordinate commands mentioned above, in order to condition an internal memory device for carrying out the operation required by the command.
- the reception of the commands in parallel format permits a high working speed of the memory component. Any command can be received and decoded within a single clock period so that the rapid initiation of operations required by a command is possible. This is desirable or necessary for high speed commands such as, for example, “Precharge”, “Activate”, “Read”, “Write”, “Autorefresh” and some others.
- the number of possible commands in the prior art described above is dependent on the number of command terminals. To be more precise, the number of command possibilities is in a fixed relationship with the number of command terminals.
- a digital RAM memory circuit is flexible in its possibilities of use the greater the variety of command possibilities. Therefore, what is needed is to increase the ratio of the number of command possibilities with respect to the number of command terminals in a RAM memory circuit.
- the invention is implemented in a digital memory circuit having a multiplicity of memory cells, address terminals for applying address information for addressing respectively selected memory cells, data terminals for inputting and outputting the memory data which is to be written into or has been read out at the addressed memory cells, an internal control device which responds to control commands as a function of external command code words in order to initiate operations of the memory circuit, and a plurality of parallel command terminals with a parallel command decoder connected downstream for receiving and for decoding external multibit command code words which are each in parallel format.
- at least one serial command terminal with a downstream serial command decoder is additionally provided for receiving and decoding external command code words as a serial bit sequence.
- FIG. 1 shows, in a simplified block diagram, the design of a memory circuit with an external memory controller according to one embodiment of the invention
- FIG. 2 shows an example of a code tree for serial command code words with a variable length
- FIG. 3 shows an embodiment of a decoder for the code tree example according to FIG. 2 ;
- FIG. 4 shows an advantageous modification of the decoder illustrated in FIG. 3 ;
- FIG. 5 shows an advantageous embodiment of a branching separating filter for the decoder according to FIG. 3 or FIG. 4 .
- a memory controller having address outputs for transmitting address information for addressing respectively selected memory cells in a memory circuit has data terminals for transmitting and receiving the memory data which is to be written in, or has been read out, at the addressed memory cells.
- the memory controller also has a parallel command coder with a multiplicity of parallel command outputs for coding and transmitting multibit command words in parallel format to the memory circuit to initiate operations of the memory circuit.
- At least one serial command coder with a serial command output is additionally provided for coding and transmitting command code words to the memory circuit, in each case as a serial bit sequence.
- the number of different command code words which can be applied to a serial command terminal is theoretically unlimited. In practice, a certain limit can be set if a certain maximum word length (number of bits in the code word) is predefined for the code words. However, basically any desired number of command options at a single serial terminal is possible.
- the number of possible commands and consequently the number of operations which can be controlled individually by means of external commands can be extended considerably beyond the limit which is set by the customary parallel command terminals.
- the reception and the decoding of a serial code word last significantly longer than the reception and the decoding of a parallel code word.
- the invention is based on the idea that there are, or may be, useful commands in which a slow reception speed can be readily tolerated. The extension of the command options by means of the serial command terminal can therefore be extended to commands of this type.
- commands which are conventionally issued via the parallel command terminals there are also commands which do not necessarily have to be carried out at a high speed. These include, for example, the commands “Set Mode Register”, “Selfrefresh” and “Standardization of the Data Output Drivers”. If the serial command terminal is also used for these commands, free capacity for additional high speed commands is also acquired at the parallel command terminals.
- control inputs of the internal control device of the memory circuit which accept the control commands which are to be executed most quickly are connected to outputs of the command decoder which decodes the command code words which are received at the parallel command terminals.
- Control inputs of the internal control device which accept control commands which are to be executed more slowly are connected to outputs of the command decoder which decodes the command code words which are received at the serial command terminal.
- a “setting” information item must also be input in addition to the “destination” information item.
- the destination information item specifies the destination of the setting information, i.e., it names the operation which is to be carried out, for example by specifying where the setting information is to be stored or be effective.
- the customary command “set mode register” specifies the mode register as a destination, and includes an instruction to store setting information received in conjunction with the command in associated cells of this register. This information is then available in the memory component to configure the internal control device in such a way that during subsequent operation the memory component operates according to the settings stored by the command.
- the setting information is applied to the address terminals while the destination information is applied to the parallel command terminals.
- serial command terminal Since relatively slow execution can be tolerated in the case of combined commands, there is no disadvantage if these commands are issued via the serial command terminal according to the invention.
- the content of a command which is input at the serial command terminal can be restricted to the destination information item, while the setting information item, which is possibly necessary, is applied, as in the prior art, via address terminals (or at other terminals which are present and which are not being used in some other way at this moment).
- the setting information item may be input via the address terminals directly after the serially decoded command has been decoded.
- the serial command terminal may also provide the possibility of inputting the destination information item and the setting information item as a total package in the form of a combined serial code word.
- the “serial” command decoder of the memory circuit which may be connected downstream of the serial command terminal, is designed to decode code words with a variable length, according to a code tree similar to a Huffman code or a Shannon-Fano code.
- a code tree similar to a Huffman code or a Shannon-Fano code.
- the memory circuit 10 which is illustrated partially in the right hand part of FIG. 1 (outlined by a bold frame) forms a component which is integrated on a semiconductor chip.
- the illustrated exemplary embodiment is a DRAM, to be precise a “synchronous” DRAM (SDRAM) whose memory cell array is drawn as a block 11 and may be divided into individual banks.
- SDRAM synchronous DRAM
- the memory cells are organized as a matrix composed of rows and columns. Selective access to the memory cells is carried out as a function of row address code words and column address code words (ADR) which are each received in parallel format via a multiplicity of external address terminals (address pins) A and decoded in an address decoder device 13 , to be precise separately in a row decoder and a column decoder (not illustrated separately).
- the memory data DAT which is to be written in or read out from the addressed memory cells is input or output in each case as packages (memory data words) in parallel format via a multiplicity of external data terminals (data pins) D.
- the data is transmitted between the data pins D and the data terminals of the memory cell array 11 via an internal data bus which can branch to the individual banks (not illustrated separately) via multiplexers.
- the memory component 10 contains a complicated and highly branched system of control means and switching means in order to set up the connections between the respectively addressed memory cells and the data pins D, to control various operating sequences and operations and to make settings.
- This system referred to globally as “internal control device” is illustrated in FIG. 1 as block 12 and responds to external commands which are transmitted by an external memory controller 20 , as are the address words ADR and the memory data DAT which is to be written in.
- This controller 20 which also receives the memory data which has been read out via the data pins D of the component 10 (and passes them on for further processing) is illustrated partially in the left hand part of FIG. 1 and has data terminals D′ for the data DAT which is to be transmitted and received and address terminals A′ for the address information ADR which is to be transmitted.
- These parallel command bits are generated by a parallel command coder 24 in the controller 20 and transmitted via five parallel command terminals P 1 ′, P 2 ′, P 3 ′, P 4 ′ and P 5 ′ of the controller and fed to a parallel-bit command decoder 14 in the memory component 10 which excites, as a function of the binary pattern of the code word, a respective specific combination of a multiplicity of output-end control lines 114 in order to condition the control device 12 to carry out the parallel-coded command.
- PB parallel command coder 24 in the controller 20 and transmitted via five parallel command terminals P 1 ′, P 2 ′, P 3 ′, P 4 ′ and P 5 ′ of the controller and fed to a parallel-bit command decoder 14 in the memory component 10 which excites, as a function of the binary pattern of the code word, a respective specific combination of a multiplicity of output-end control lines 114 in order to condition the control device 12 to carry out the parallel-coded command.
- the logic value of the command bit CS[ 1 ] determines the selection (“select”) or deselection (“deselect”) of the memory component 10 , and the three command bits WE, RAS, CAS permit eight additional command options in the selected state of the memory component (and theoretically also eight command options in the deselected state).
- the command bit CKE (“clock enable”) is reserved for switching on and off operating states in which the component as it were “sleeps”; that is to say it does not exchange any data with the controller and requires only low power.
- a plurality of memory components of the same type are combined to form one memory module.
- the system can be configured in such a way that in each case only one specifically selected example of the memory components communicates with the controller 20 .
- all the lines leaving the controller branch to the various memory components, as indicated by dashed lines in FIG. 1 for the exemplary case of four components.
- the line for the CS command bit is for selecting/deselecting the component.
- a separate CS output is provided for each component at the controller 20 in order to transmit CS bits CS[ 1 ], CS[ 2 ], CS[ 3 ], CS[ 4 ] for the various components independently of one another.
- the system can also be configured in such a way that all the components of one module communicate simultaneously with a common controller which accordingly has to have a corresponding number of groups of data terminals.
- each of these groups is connected to the data terminals of an individually assigned memory component, while all the other terminals of the controller branch to the memory components.
- the CS terminals of the memory components can then be permanently connected to the “activating” logic potential. As a result, the number of terminals to be actuated at the memory components is kept lower. Of course, the latter is also possible if only a single memory component is connected to a controller.
- All the operating sequences in the memory component 10 and also in the controller 20 are received under clock control on the basis of a reference clock signal CLK which is transmitted from the controller 20 via a terminal C′, received in the component 10 via an external clock terminal C and a clock receiver 16 and distributed to the individual circuits via a network of clock lines, in each case with the phase angle which is necessary for synchronization.
- CLK reference clock signal
- the invention provides, at the memory module 10 , an additional serial external command terminal (serial command pin) S for receiving commands which can be generated by a serial command coder 25 in the controller 20 as code words SB, in each case in the form of a bit sequence, and can be transmitted via a serial command terminal S′ of the controller 20 .
- serial command pin serial command pin
- a separate “serial” command decoder 15 with a multiplicity of output lines 115 is used.
- the output lines 115 are excited by the bit pattern of the command words SB.
- Each of the different serially coded commands SB influence respectively selected circuit elements of the control device 12 in order to carry out the respective command.
- the serial command decoder 15 also has an input for receiving the “chip select” command bit CS[ 1 ] in order to activate this particular decoder only if the specific component 10 is to be addressed.
- the serial command decoder 15 is preferably designed to decode code words with a variable length.
- An example of a code tree according to one embodiment of the invention is shown in the upper part of FIG. 2 , and the associated code table is given below it.
- the serial command decoder 15 is to distinguish between nine different commands, specifically eight different commands in order to carry out one of eight operations # 1 to # 8 , and the command “no operation” (abbreviated as “NOP”).
- NOP the command “no operation”
- all the serial commands SB are “basic” commands which each contain only one destination information item and no setting information item, i.e., the serial commands are commands which do not require any additional setting information for them to be carried out or commands whose setting information is transmitted via other terminals (for example selected address terminals).
- a code with a variable length may be used to minimize the redundancy of a sequence of code words by providing different word lengths for each code word. A shorter length is selected for more frequent words than for less common words. A generally known example of this is what is referred to as the Huffman code.
- the designer of a Huffman code table conventionally adopts the procedure that the various information items which are to be respectively represented by a code word are examined for their probability of occurrence and the lengths of the various code words are then all dimensioned in such a way that the average code word length is at a minimum.
- a different criterion than the probability of occurrence is preferably adopted (alone or in addition) for the assignment of a code word to a command.
- the criterion may be how fast the respective command has to be, or is to be, carried out. The shorter the time which may pass from the start of the command to its execution or to the reception of a following command, the shorter the code word which is assigned to the respective command.
- the code tree according to FIG. 2 is constructed according to this criterion.
- the NOP command is necessary because a bit with a serial command input S has to be transmitted with each period of the clock CLK, that is to say even in intervals (no operation) between active commands.
- Each NOP command should be detected as quickly as possible, at best within a single clock period, so that the decoding of an active command (or an uninterrupted sequence of active commands) can start immediately.
- the NOP command is the most frequent of all commands and its probability of occurrence is greater than 50%. Accordingly, the NOP command is assigned a code word with just a single bit, in the case shown the 1-bit word “0”.
- the “0” branch of the first branching point of the code tree ends with NOP and does not have any further branching.
- the “1” branch of the first branching point that is to say of the initial “node” branches further to form a total of eight alternative paths which lead to the eight different operations # 1 to # 8 .
- the decoder interprets successive bits as components of a word until the end of a path is reached in the code tree.
- the signal for resetting is derived from this so that the bit which then follows is interpreted as a first bit of a new code word.
- FIG. 3 shows an exemplary embodiment of the scheme of a novel decoder which can distinguish serial command code words not only according to the respective destination but also can add an additional setting information item to the actuated destination.
- the exemplary embodiment shown is conceived specifically for the code tree according to FIG. 2 , specifically for the case in which the operations # 4 , # 5 , # 6 , # 7 and # 8 each require an additional setting information item. That is to say the commands for these operations are “combined” commands which contain a destination information item to be decoded and a setting information item which is then to be fed through to the destination.
- the commands for the operations # 1 , # 2 and # 3 are, on the other hand, “basic” commands which contain only a destination information item and no setting information item.
- the decoder according to FIG. 3 contains a reception controller 30 which is kept operating by the chip-select bit CS[ 1 ] and receives the sequence of the serial command bits SB together with the clock signal CLK.
- An input circuit 31 in the reception controller 30 synchronizes the bit sequence SB with the clock signal and supplies the bit sequence SB on a first line in parallel with an accompanying strobe signal STR on a second line and an enable/reset signal RES on a third line.
- the strobe signal STR contains clock edges which follow one another with the bit rate of the command bit SB in order to synchronize the sampling of the command bits at each successive circuit. For the following description it is assumed that the reset logic value of RES is a logic “1”, and that the enable logic value of RES is a logic “0”.
- the input circuit 31 keeps the signal RES at “1” (reset state) as long as no active command is received. According to the code table shown in FIG. 2 , each active command starts with a “1”. A “1” which occurs at the SB input in the reset state of the input circuit 31 is to be evaluated as the start of an active command and sets the signal RES to the enable logic value “0”.
- the active commands received by the decoder according to FIG. 3 can be divided, as stated, into basic commands (that is to say commands without setting information) and combined commands (that is to say commands with setting information).
- the setting bits follow the destination bit sequence directly after the last bit.
- These setting bits which contain the setting information of the command, can of course each have any logic value “x” (0 or 1) and there may be any desired number of them. Since the decoder has to be capable of detecting the end of a command, it would be possible to add a header, which indicates the code word length, to any command irrespective of whether it is a basic command or a combined command. This would be recommended only if the variation width of the word lengths were relatively small so that only a few bits would be necessary for the header.
- measures are taken in order to be able to detect the end of a command in a different way.
- an escape detector 32 in the reception controller 30 .
- the escape detector 32 senses the command bits SB and activates a stop signal STP 1 as soon as it detects a specific “escape” symbol in the command bits SB.
- An exclusive bit pattern is selected as the escape symbol and this pattern must not occur in any of the command code words and can be inserted after the last bit of each command in the command bit sequence. In the case described here, the sequence “0000” is such an exclusive bit pattern and can thus be used as an “escape” symbol.
- escape bit sequence 0000 must never occur within a setting bit sequence either. This can be ensured, for example, by inserting “1” bit at suitable locations within the setting bit sequence, as illustrated.
- Activating the stop signal STP 1 in response to the detection of the escape signal causes the input circuit 31 to be reset by means of its control input RDY, and the signal RES is thus changed to “1”. It is recommended that a filler bit with the binary value “0” be inserted by the command coder after each escape symbol in order to have sufficient time (one clock period) for resetting the decoder after the escape symbol has been detected.
- FIG. 3 it is shown how the commands are combined in accordance with the described pattern.
- the actual decoding of the active commands is carried out according to FIG. 3 in a branching tree of signal filters which are arranged in accordance with the branching points of the code tree shown in FIG. 2 and function according to this code tree.
- the initial branching point of the code tree that is to say the differentiation between NOP and active commands, has already been implemented by the reception controller 30 which forms, as it were, the main filter leading to the operations which are to be carried out.
- the filters at the branching points downstream are referred to below according to the general usage as a multiplexer (abbreviated to MUX) even if they are operated only in the demultiplexing direction.
- MUX multiplexer
- the dual number placed at the downstream end designates the respective multiplexer according to its position within the respective decoding path.
- the signals which are directed through the multiplexer tree are the three parallel output signals of the input circuit 31 , that is to say the enable/reset signal RES, the serial command bits SB and the accompanying strobe signal STR.
- Each multiplexer has an input with three terminals for receiving these signals, and two inputs, one of which is referred to below as “0 output” (left hand output in FIG. 3 ) and the other of which is referred to as “1 output” (right hand output in FIG. 3 ), and each of them has three terminals.
- Each multiplexer is controlled as a function of the logic value of a bit of the received command bit sequence and of the logic value of the received enable/reset signal RES, according to the rule below:
- the signal RES has been set to “0” with the first destination bit of an active command (which has the logic value “1” according to the invention)
- the second destination bit sets the MUX 1 to the selection of a 0 output or of a 1 output in order to select the subsequent MUX 10 or the subsequent MUX 11 to receive the following destination bits.
- the first bit of these subsequent destination bits (that is to say the third destination bit of the original destination bit sequence) sets the selected MUX 10 (or MUX 11 ) to the selection of a 0 output or 1 output, depending on the logic value of said third destination bit.
- the destination bit sequence is also at an end.
- the respective output is also the end of the decoder path.
- a clock edge of the strobe signal STR which of course also passes through the path, appears there for the first time. This clock edge can be used to initiate or carry out the operation identified by the destination bit sequence. This is symbolized in FIG. 3 by an operation block which is connected to the STR line of the output and is referred to by “Op#” and a number placed after it, corresponding to the operation numbering used in FIG. 2 .
- the escape symbol is detected by the escape detector 32 .
- the signal RES is set to “1” when the last “0” of the escape symbol is sensed in the escape detector.
- the bits of the escape symbol run until then into the decoder path but they no longer have any effect on the execution of the command.
- the cycle described above begins again.
- the operations activated with basic commands are, in the case of FIG. 1 , the operations # 1 (destination bit sequence 101), # 2 (destination bit sequence 1000) and # 3 (destination bit sequence 1001).
- the setting bits directly follow the last destination bit. Since in this case there is therefore no escape symbol following the destination bits, and RES does not change to “1” for this reason, the decoder path which is set up is maintained and the setting bits arrive at the respective end output and can be passed on according to the command.
- operation blocks # 4 (destination bit sequence 1101), # 5 (destination bit sequence 1110), # 6 (destination bit sequence 1111), # 7 (destination bit sequence 11000) and # 4 (destination bit sequence 11001) are embodied in such a way that as soon as the last destination bit has selected the assigned multiplexer output they are placed in a transmission state by the first strobe signal edge appearing there, in which state they pass on the subsequent command bits SB as setting bits to their destination, together with the strobe signal STR. If the escape signal has passed into the decoder after the last setting bit, the escape detector 32 ensures that RES is switched to “1”.
- the bits of the escape symbol still run into the decoder path until then, this no longer changes anything in terms of the information content of the setting bit sequence which is already terminated. It is sufficient if the length of the setting bit sequence is respectively known beforehand at the respective destination so that the bits of the escape symbol which run on afterwards can be ignored there. In all cases the transmission state of the respective operation block is terminated as soon as the “1” level of the signal RES has arrived at the last multiplexer of the respective decoder path.
- the serial command decoder is embodied in such a way that it can decode serial commands which follow one another without an intermediate multibit escape signal.
- the decoder shown in FIG. 4 differs from the embodiment according to FIG. 3 only in that a command discriminator 33 is additionally provided in the reception controller 30 .
- This command discriminator 33 contains a list of selected command code words whose end is to be detected directly when its last bit appears without an escape signal being necessary for this.
- the command discriminator 33 receives, like the escape detector 32 , the enable/reset signal RES, the command bit sequence SB and the strobe signal STR from the input circuit 31 , and it senses and compares the received command bits with the stored list of selected command code words.
- the command discriminator 33 keeps a stop signal STP 2 in the inactive state and a hold signal HLD in the active state, as a result of which the escape detector 32 in the reception controller 30 is kept inactive. This means that as long as HLD is active, the stop signal STP 1 of the escape detector 32 for the input circuit 31 remains inactive.
- the command discriminator 33 “knows” that the bit sequence which has appeared is one of the “selected” commands whose last bit has just been filled. In this case, the command discriminator 33 activates a stop signal STP 2 .
- the active stop signal STP 2 is “passed through” to the STP 1 output of the escape detector. The effect of this is that the input circuit 31 is reset by means of its control input RDY and the signal RES thus goes to “1”, as if the last bit of an escape sequence had been sensed. The first subsequent “1” in the command bit sequence is thus detected again as a start of a new active command.
- the command discriminator 33 determines, during the sensing of the command bit, that the progressive bit sequence no longer follows any of the listed code words, that is to say is not part of the set of selected commands, it “knows” that the command code word which has started will not constitute any of the selected commands but rather a command whose end has to be detected elsewhere.
- the command discriminator 33 transfers the function of continuing to observe the command bit sequence to the escape detector 32 by deactivating its output signal HLF.
- the escape detector 32 is activated and itself assumes the control of the input circuit 31 , precisely as described above in conjunction with FIG. 3 , by activating the stop signal STP 1 , and thus the resetting of the signal RES to “1” only when it has detected the escape signal “0000” in the command bit sequence SB.
- the combination of the escape detector 32 with the command discriminator 33 according to FIG. 4 therefore forms a command-end detector which permits a serial command coder quickly to allow a further command code word to follow selected command code words without inserting an escape signal.
- a filler bit with the binary value “0” be inserted by the command coder in order to have sufficient time (one clock period) for resetting the decoder after the command discriminator 33 has detected the end of a selected command code word.
- FIG. 4 it is shown how two commands follow one another according to the described pattern.
- the selected command code words listed in the command discriminator 33 should only be basic commands. The more commands are selected for this, and the more frequently the selected commands are transmitted, the shorter the average bit rate becomes. On the other hand, the memory requirement for the list in the command discriminator 33 with the number and with the length of the listed code words increases. It may therefore be advantageous to record only short and/or frequently occurring command code words in the list of the “selected commands”.
- FIG. 5 An example of the way in which the multiplexers MUX shown in FIG. 3 and FIG. 4 are implemented in terms of circuitry is described below with reference to FIG. 5 .
- FIG. 5 In the upper part of FIG. 5 a circuit diagram of a multiplexer is illustrated, and in the lower part of the figure there is a time diagram explaining the method of operation of the illustrated circuit.
- the multiplexer MUX has three input terminals for receiving the enable/reset signal RES, the serial command bits SB and the strobe signal STR.
- a register circuit 42 contained in the multiplexer MUX has a data input D which is connected in order to receive the input-end command bits SB, a resetting input R which is connected in order to receive the input-end signal RES, and a clock input T which is connected in order to receive the input-end strobe signal STR.
- the register circuit 42 is in the reset state if its R input receives a logic “1”. In this state, the two outputs EN- 0 and EN- 1 of the register circuit 42 are at the logic value “0”.
- edges of the strobe signal STR give the clock for the transmission of the command bits.
- both edges of the strobe signal (that is to say the rising and the falling edges) are “clock-active”.
- the frequency of the strobe signal wave is therefore equal to half the bit rate 1/T B of the command bits (where T B is the bit length).
- the command bit rate 1/T B is twice as high as the frequency of the strobe signal wave.
- the memory is referred to as “double data rate” (abbreviated as DDR).
- the strobe signal STR is shown in the form which is customary for DDR operation.
- the strobe edges are aligned with bit boundaries of the serial command bits SB.
- the setup time T S In order to sample a bit, the strobe edge is delayed within the sampling circuit by the setup time T S so that it does not activate the sampling of the respective bit until the logic value of the bit has experienced transient recovery.
- the setting of the setup time T S has direct influence on the delay of the multiplexer. If the individual successive multiplexers are right next to each other a shorter setup time is selected. If the distances are relatively large, a relatively long setup time is selected in order to increase the operational reliability.
- the multiplexer MUX has a first output circuit 40 for the 0 output of the multiplexer, and a second output circuit 41 for the 1 output of the multiplexer.
- Each of these output circuits 40 , 41 has a resetting input R which is connected to the RES input terminal of the multiplexer MUX, and a data input D which is connected to the SB input terminal (command bit input terminal) of the multiplexer MUX, and a clock control input T.
- the output circuits 40 and 41 each have three output terminals RES- 0 , SB- 0 , STR- 0 and RES- 1 , SB- 1 , STR- 1 , respectively.
- the strobe signals for the outputs are preferably generated freshly for each output in situ, for example by means of a fed back inverting register (not illustrated) so that the continuity of the edges is ensured.
- the multiplexer MUX according to FIG. 5 will be described below with reference to its method of operation, specifically with reference to the exemplary case in which the sequence of the destination bits arriving at the input is the sequence “1001”.
- RES changes from “1” (high level in the diagram in FIG. 5 ) to “0” (low level) so that this destination bit is clocked into the register circuit 42 by means of the assigned strobe edge, and the output EN- 1 changes to “1” while the output EN- 0 remains at “0”.
- the register circuit 42 is designed in such a way that it locks itself in this “1 state” as long as RES remains at “0”.
- the output terminals of the other output circuit 40 remain in the reset (inactive) state: RES- 0 remains at “1”, SB- 0 remains continuously at “0” and STR- 0 remains continuously at “0”.
- the output terminals of the 1 output circuit 41 remain in the reset (inactive) state: RES- 1 remains at “1”, SB- 1 remains continuously at “0” and STR- 1 likewise remains continuously at “0”.
- the multiplexer MUX shown in FIG. 5 therefore operates according to the rule which was formulated above in (a) and (b). All the multiplexers of the decoder tree are of the same design so that a multiplexer which is assigned downstream of the respectively active output of a multiplexer only receives the respectively remaining residual bits of the destination bit sequence and opens that output of its outputs which is determined by the logic value of the first bit of this residual sequence. As a result, the destination bit sequence continuously becomes one bit shorter from one branching point to the next within the tree until the end of the path is reached with the last destination bit.
- the signal RES is fed through the decoding path with precisely the same timing as the command bits SB with the edges of the strobe signal STR, with the same delays.
- RES is switched again to “1”
- the same initial conditions as before the time t 1 are respectively established in an incremental fashion at the successive multiplexers. Owing to this pipeline operating mode, the delay with which the command bits reach the end of the decoding path is irrelevant, and it is not necessary to delay the generation of the signal RES (and the inputting of a then following command code word) at the input of the multiplexer tree until the command bits have reached the end of the decoder path.
- serial command decoder and its components which are described above with reference to FIGS. 2 to 4 are only examples, as are the embodiments of its reception controller 30 and its “filter” circuit (multiplexers). Of course, modifications or alternative embodiments are possible without departing from the idea of the invention. A number of examples of possible variants are described below.
- the command decoder can, if desired, be restricted to the reception of basic commands (only destination information items); possible setting information items then have to be input via other pins (for example via address pins as is known per se).
- the list which is stored in the command discriminator 33 may contain all the commands as “selected commands” so that an escape signal is never necessary and accordingly the escape decoder 32 can be entirely dispensed with.
- the generation of an HLD signal by the command discriminator 33 is then superfluous, and the SPT 2 output of the command discriminator 33 can be connected directly to the RDY input of the input circuit 31 .
- decoding paths it is also possible to embody one or more decoding paths in such a way that they transmit commands whose bits are received with a rate which is lower by an integral divisor q than the clock frequency CLK. Such “slowed down” commands are necessary if very slowly operating circuits are to be addressed, for example test mode circuits which are not configured for high frequencies.
- a simple 1/q frequency divider which passes on only every q-th bit, can be connected downstream of an output of a multiplexer. The following branches of the tree then operate with 1/q of the clock frequency CLK.
- command codes with variable lengths permits theoretically unlimited extension of the command set without having to change the existing command structure.
- one output at one or respectively more multiplexers can provisionally be left unoccupied in the tree of the decoder in order to be able to connect further branching points for decoding commands which are new (and corresponding commands which are to be coded) there when necessary.
- An alternative would be to provide the decoder tree a priori with more branching points than are necessary for decoding currently required commands. This results in, as it were “space markers” for commands which are to be newly introduced.
- Parts of the serial command decoder can also be integrated into the block 12 of the internal control device of the memory component ( FIG. 1 ), for example the operation blocks Op# 1 - 8 shown in FIG. 3 and, if desired, also some or all of the multiplexers shown in FIG. 3 .
- codes with a variable length it is also possible to use codes with a fixed length for the serial command code words SB, in particular if only basic commands or only combined commands are to be decoded. There is then never any need for an escape symbol because the end of each command can be detected by counting the bits.
- codes with a fixed length for the serial command code words SB, in particular if only basic commands or only combined commands are to be decoded. There is then never any need for an escape symbol because the end of each command can be detected by counting the bits.
- the differentiation between destination information and setting information can be effected in terms of the position of the respective bits within the combined code word.
- certain restrictions have to be accepted on the word length and thus on the diversity of possible operations and possible setting information items.
- the memory component can also have more than just one serial command terminal, in which case each of these terminals would have to be assigned a separate serial command decoder.
- a memory controller must, of course, be designed in such a way that it transmits the serial commands in a form which is understood by the serial command decoder of the memory component.
- the serial commands may be transmitted in a way that can be unambiguously decoded.
- the subject matter of the invention is consequently also a memory controller which is designed in such a way that it can transmit not only parallel-coded commands but also serial commands with any type of coding.
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
Abstract
Description
-
- (a) if RES has the logic value “0”, the multiplexer stores the first incoming command bit and transmits all the following command bits SB together with the received signals RES and STR to the 0 output, if and for as long as the stored bit has the logic value “0”, and to the 1 output if and for as long as the stored bit has the logic value “1”;
- (b) the bit stored in the multiplexer is reset to the logic value “0” if RES changes to the logic value “1”.
Claims (27)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102004033387A DE102004033387B4 (en) | 2004-07-09 | 2004-07-09 | Digital RAM memory circuit with extended command structure |
DEDE10200403338 | 2004-07-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20060018165A1 US20060018165A1 (en) | 2006-01-26 |
US7549001B2 true US7549001B2 (en) | 2009-06-16 |
Family
ID=35530092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/178,915 Expired - Fee Related US7549001B2 (en) | 2004-07-09 | 2005-07-11 | Digital RAM memory circuit with an expanded command structure |
Country Status (2)
Country | Link |
---|---|
US (1) | US7549001B2 (en) |
DE (1) | DE102004033387B4 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120239887A1 (en) * | 2011-03-16 | 2012-09-20 | Advanced Micro Devices, Inc. | Method and apparatus for memory control |
US10997097B2 (en) * | 2019-06-04 | 2021-05-04 | Western Digital Technologies, Inc. | Enabling high speed command address interface for random read |
US20230195564A1 (en) * | 2021-12-17 | 2023-06-22 | Infineon Technologies LLC | Circuit and Method for Reading ECC from Memory |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7480184B2 (en) | 2007-01-07 | 2009-01-20 | International Business Machines Corporation | Maximum likelihood statistical method of operations for multi-bit semiconductor memory |
DE102007051839B4 (en) | 2007-10-30 | 2015-12-10 | Polaris Innovations Ltd. | Control circuit, memory device with a control circuit and method for performing a write command or for operating a memory device with a control circuit |
JP5746201B2 (en) | 2009-11-05 | 2015-07-08 | ラムバス・インコーポレーテッド | Interface clock management |
TWI421871B (en) * | 2009-11-27 | 2014-01-01 | Macronix Int Co Ltd | Method and apparatus of addressing a memory integrated circuit |
KR102300890B1 (en) * | 2015-06-17 | 2021-09-13 | 에스케이하이닉스 주식회사 | Semiconductor device and operating method thereof |
US9672878B1 (en) * | 2016-05-10 | 2017-06-06 | Dialog Semiconductor (Uk) Limited | Memory circuit |
DE102018112816A1 (en) * | 2018-05-29 | 2019-12-05 | Infineon Technologies Ag | Address-coded access to memory |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5357621A (en) | 1990-09-04 | 1994-10-18 | Hewlett-Packard Company | Serial architecture for memory module control |
US5724554A (en) * | 1994-11-30 | 1998-03-03 | Intel Corporation | Apparatus for dual serial and parallel port connections for computer peripherals using a single connector |
US6088755A (en) * | 1997-06-04 | 2000-07-11 | Sony Corporation | External storage apparatus which can be connected to a plurality of electronic devices having different types of built-in interface without using a conversion adapter |
US20010008005A1 (en) | 1998-11-03 | 2001-07-12 | Stevens William A. | Method and apparatus for configuring and initializing a memory device and a memory channel |
US6405280B1 (en) * | 1998-06-05 | 2002-06-11 | Micron Technology, Inc. | Packet-oriented synchronous DRAM interface supporting a plurality of orderings for data block transfers within a burst sequence |
US20030043670A1 (en) * | 2001-09-06 | 2003-03-06 | Akimasa Niwa | Memory control apparatus for serial memory |
US20050168470A1 (en) * | 2004-01-30 | 2005-08-04 | Ram Prabhakar | Variable-length coding data transfer interface |
-
2004
- 2004-07-09 DE DE102004033387A patent/DE102004033387B4/en not_active Expired - Fee Related
-
2005
- 2005-07-11 US US11/178,915 patent/US7549001B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5357621A (en) | 1990-09-04 | 1994-10-18 | Hewlett-Packard Company | Serial architecture for memory module control |
US5724554A (en) * | 1994-11-30 | 1998-03-03 | Intel Corporation | Apparatus for dual serial and parallel port connections for computer peripherals using a single connector |
US6088755A (en) * | 1997-06-04 | 2000-07-11 | Sony Corporation | External storage apparatus which can be connected to a plurality of electronic devices having different types of built-in interface without using a conversion adapter |
US6405280B1 (en) * | 1998-06-05 | 2002-06-11 | Micron Technology, Inc. | Packet-oriented synchronous DRAM interface supporting a plurality of orderings for data block transfers within a burst sequence |
US20010008005A1 (en) | 1998-11-03 | 2001-07-12 | Stevens William A. | Method and apparatus for configuring and initializing a memory device and a memory channel |
US20030043670A1 (en) * | 2001-09-06 | 2003-03-06 | Akimasa Niwa | Memory control apparatus for serial memory |
US20050168470A1 (en) * | 2004-01-30 | 2005-08-04 | Ram Prabhakar | Variable-length coding data transfer interface |
Non-Patent Citations (3)
Title |
---|
Academic Press, 1992, Definition for "command", Academic Press Dictionary of Science and Technology, http://www.xreferplus.com/entry.jsp?xrefid=3088218&secid=.-&hh=1. * |
Definition for "command", Academic Press Dictionary of Science and Technology, http://www.xreferplus.com/entry.jsp?xrefid=3088218&secid=.-&hh=1. * |
German Patent Office Examination Report dated Apr. 8, 2005. |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120239887A1 (en) * | 2011-03-16 | 2012-09-20 | Advanced Micro Devices, Inc. | Method and apparatus for memory control |
US10997097B2 (en) * | 2019-06-04 | 2021-05-04 | Western Digital Technologies, Inc. | Enabling high speed command address interface for random read |
US20230195564A1 (en) * | 2021-12-17 | 2023-06-22 | Infineon Technologies LLC | Circuit and Method for Reading ECC from Memory |
US11841764B2 (en) * | 2021-12-17 | 2023-12-12 | Infineon Technologies LLC | Circuit and method for reading ECC from memory |
Also Published As
Publication number | Publication date |
---|---|
DE102004033387A1 (en) | 2006-02-02 |
US20060018165A1 (en) | 2006-01-26 |
DE102004033387B4 (en) | 2008-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4615494B2 (en) | Dynamic random access memory system | |
CN100386753C (en) | Memory system with burst length shorter than prefetch length | |
EP3614386B1 (en) | Clock mode determination in a memory system | |
US7872940B2 (en) | Semiconductor memory device and method for testing the same | |
US6430696B1 (en) | Method and apparatus for high speed data capture utilizing bit-to-bit timing correction, and memory device using same | |
US8131913B2 (en) | Selective broadcasting of data in series connected devices | |
US7027349B2 (en) | Method for selecting memory device in response to bank selection signal | |
CN101425325B (en) | Circuit and method for controlling termination impedance | |
US5293623A (en) | Random access memory based buffer memory and associated method utilizing pipelined look-ahead reading | |
CN100585727C (en) | Semiconductor storage and the module that is used for high-frequency operation | |
US8181056B2 (en) | Serial-connected memory system with output delay adjustment | |
US20080130811A1 (en) | Circuit and method for removing skew in data transmitting/receiving system | |
WO2002073619A2 (en) | System latency levelization for read data | |
KR20080104184A (en) | Memory device with mode-selectable prefetch and clock-to-core timing | |
US7549001B2 (en) | Digital RAM memory circuit with an expanded command structure | |
US6600693B2 (en) | Method and circuit for driving quad data rate synchronous semiconductor memory device | |
US7518935B2 (en) | Synchronous RAM memory circuit | |
US5926420A (en) | Merged Memory and Logic (MML) integrated circuits including data path width reducing circuits and methods | |
JPS5953630B2 (en) | memory addressing device | |
US7278072B2 (en) | Method and auxiliary device for testing a RAM memory circuit | |
US20080162857A1 (en) | Memory device with multiple configurations | |
US7603535B2 (en) | Low power consumption semiconductor memory device capable of selectively changing input/output data width and data input/output method | |
US6751130B2 (en) | Integrated memory device, method of operating an integrated memory, and memory system having a plurality of integrated memories | |
KR20030091816A (en) | Integrated memory using prefetch architecture and method for operating an integrated memory | |
US20020172085A1 (en) | Integrated memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INFINEON TECHNOLOGIES AG, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SZCZYPINSKI, KAZIMIERZ;REEL/FRAME:019804/0201 Effective date: 20050907 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: QIMONDA AG, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INFINEON TECHNOLOGIES AG;REEL/FRAME:023853/0001 Effective date: 20060425 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: INFINEON TECHNOLOGIES AG, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:QIMONDA AG;REEL/FRAME:035623/0001 Effective date: 20141009 |
|
AS | Assignment |
Owner name: POLARIS INNOVATIONS LIMITED, IRELAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INFINEON TECHNOLOGIES AG;REEL/FRAME:036888/0745 Effective date: 20150708 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20170616 |