GB2128383A - Data storage unit - Google Patents
Data storage unit Download PDFInfo
- Publication number
- GB2128383A GB2128383A GB08326885A GB8326885A GB2128383A GB 2128383 A GB2128383 A GB 2128383A GB 08326885 A GB08326885 A GB 08326885A GB 8326885 A GB8326885 A GB 8326885A GB 2128383 A GB2128383 A GB 2128383A
- Authority
- GB
- United Kingdom
- Prior art keywords
- storage unit
- data storage
- clock
- timing
- signals
- 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.)
- Granted
Links
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
Abstract
In a data storage unit, internal timing signals RAS, CAS, etc. are produced by scanning a writable control memory 21. Thus, the timing of the storage unit can easily be varied, simply by re-writing the contents of the control memory. This allows the use of a faster clock rate without the necessity for complete redesign of the storage unit. The basic clock period at 31 is sub-divided by shift register 30 into a number of sub- periods, allowing the timing signals to be adjusted with an accuracy better than one clock period. The sub-period clock signals, C0-C3, are selected by gates 32-34, which receive also the contents of registers 35-37, and are combined in gates 24-29 with the scanned memory 21 contents to generate the timing signals. <IMAGE>
Description
SPECIFICATION
Data storage unit
Background to the invention
This invention relates to a data storage unit for a data processing system.
A data processing system normally includes a data processing unit and a data storage unit, and is designed to operate at some particular clock rate. The timing of the storage unit tends to be long compared with the clock period so that, typically, each storage access cycle may take four or five clock beats to complete. If the processing unit is upgraded or re-designed to operate at a faster clock rate, it is usually necessary also to redesign the storage unit to operate at the faster rate. However, this may be very costly, especially where the storage unit is implemented in large scale integrated circuit (LSI) technology.
One object of the present invention is to provide a data storage unit which can readily be adapted for use in systems with different clock rates without having to be re-designed.
Summary of the invention
According to the invention there is provided a data storage unit including a timing control circuit for producing a plurality of internal timing signals for the unit, the timing control circuit comprising:
(a) a control memory having a plurality of individually addressable locations, and
(b) an addressing circuit for reading out the locations in a fixed sequence during successive beats of a clock signal, the timing signals during each clock beat being determined by the output of the control memory.
Thus, it can be seen that the timing of the data storage unit can readily be altered to accommodate different clock rates, simply by changing the contents of the control memory.
In a preferred form of the invention, only a subset of bit storage positions in the control memory are physically implemented with bit storage circuits, the remaining bit storage positions being unimplemented. This is possible because, in general, as will be described, many of the bit storage positions are never used in practice. This feature leads to a considerable saving in the amount of hardware needed to construct the control memory.
It may sometimes be desirable to set a timing signal to an accuracy better than one period of the clock signal. The accuracy of timing could, for example, be increased by a factor of n by increasing the number of locations in the control memory by a factor of n and scanning the locations at n times the clock rate. However, this could result in an excessively large control memory.
In a preferred arrangement in accordance with the invention, the timing control circuit includes a clock sub-division circuit for producing a plurality of further clock signals sub-dividing each clock period into a plurality of sub-periods, a selection circuit for selecting one of the further clock signals, and a gating circuit for combining the selected further clock signal with the output of the control memory to produce one of the timing signals. This permits the timing signal in question to be adjusted to an accuracy of a fraction of a clock period, without any increase in the size of the control memory.
Brief description of the drawings
One data storage unit in accordance with the invention will now be described by way of example with reference to the accompanying drawings of which:
Figure 1 is an overall block diagram of the storage unit; and
Figure 2 is a circuit diagram of a timing control circuit for the storage unit.
Description of an embodiment of the invention
Referring to Figure 1, the data storage unit comprises a random-access data store 10 having 256K locations. Each location contains 32 data bits and seven Hamming code bits for checking and correcting the data.
The store 10 is addressed by an 1 8-bit address received in two successive portions over a nine-bit wide address path 1 The first nine-bit portion, preferred to as the row address, is gated into a register 12 by a timing signal RAS (row address strobe). The second portion, referred to as the column address, is gated into a register 13 by a timing signal CAS (column address strobe).
Input data for writing into the store 10 is received over a data input path 14 and is gated into a register 15 by a timing signal LDIR (load data input register). The input data is also fed to a
Hamming code generator 16 to produce a seven bit Hamming code corresponding to the data. This code is gated into a register 17 by a timing signal
LHR (load Hamming register).
The contents of the registers 15, 1 7 can then be written into the addressed location of the store 10 by means of a timing signal WE (write enable).
Data from the currently addressed location of the store 10 can be gated into a register 18 by a timing signal LDOR (load data output register). The output data is also fed, along with the associated
Hamming code from the store 10, to a Hamming checking circuit 19 which checks the data to ensure that it agrees with the Hamming code. If an error is detected, the circuit 19 indicates which bet is in error, and produces an output signal to a set of inversion circuits 20 so as to invert (and hence correct) the faulty bit.
Hamming code generation and checking circuits are well known in the art and so it is not necessary to describe these in detail in this specification.
It will be appreciated that the timing signals
RAS, CAS, WE, LDIR, LHR and LDOR must all be produced at carefully controlled points of time in the operational cycle of the data storage unit, to ensure that the storage unit operates correctly. For example, in the case of a READ operation, the signals RAS and CAS must be produced first, so as to enter the address into the registers 12, 13.
Sufficient time must then elapse to allow the store addressing logic to operate before generating the
LDOR signal to gate the required data into the register 18.
These timing signals are produced by the timing control circuit shown in Figure 2. Referring to Figure 2, the timing control circuit comprises a control memory 21 having fourteen individually addressable rows, each row containing a pattern of six bits. The first four rows are addressed by a two-bit address CTA from a first counter 22. The other ten rows are addressed by a four-bit address
CTB from a second counter 23. Both counters are clocked by a system clock signal CLK.
In operation, the first counter 22 is triggered at the start of each operational cycle of the storage unit. It then counts from 0--3 so as to scan the first four rows of the control memory 21 in four successive clock beats. When the counter 22 reaches its maximum count, it stops and triggers the second counter 23. This counter then counts from 0~9 so as to scan the remaining rows of the control memory.
The reason for using two counters 22, 23 to address the memory 21 is to allow the first counter 22 to be restarted before the second counter 23 has finished counting. This allows a new operational cycle to be overlapped with the preceding cycle.
The six data outputs of the control memory are applied to six AND gates 24-29, the outputs of which provide the six timing signals LDOR, LHR,
LDIR, WE, CAS and RAS. The gates 24-29 are also controlled by function control signals READ and WRITE as shown.
Thus, for example, it can be seen that the timing signal LDOR is produced when the READ signal is true and at the same time the output from the first column of the control memory 21 is true.
The particular clock beat at which the signal LDOR occurs can therefore be specified by placing a binary "1" at the appropriate position in the first column of the memory 21. For example, if it is desired that LDOR should occur seven clock beats after the start of the operational cycle, a "1" would be placed in the seventh row of the first column, all other bits in this column being set to zero.
It should be noted that the signal LDOR always occurs at the start of the specified clock beat. The same applies to LHR and LDIR. However, in the case of signals WE, CAS and RAS, it is possible to set the timing of these signals to an accuracy of one quarter of the clock period. This helps to speed up the operation of the storage unit since, if this facility were not provided, it would be necessary to round up the timings of WE, CAS and
RAS to the nearest whole clock beats. The way in which this more accurate timing is achieved is as follows.
The clock signal CLK is applied to the input of a four-stage shift register 30 which is driven by an oscillator 31 running at four times the frequency of the clock CLK. The outputs of the four stages of the shift register provide four further clock signals CO~C3. It can be seen that these further clock signals sub-divide each beat of CLK into four quarters.
The signals CO-C3 are applied to the inputs of three four-way selector circuits 32, 33, 34 each of which consists of four AND gates whose outputs are combined in an OR gate. Each selector circuit is controlled by the contents of a four-bit register 35, 36, 37 which determines which of the four clock signals CO--C3 is selected by that circuit.
For example, if the register 35 contains the pattern 0100 as shown, the circuit 32 will select the clock signal1.
The outputs of the selector circuits 35-37 are fed respectively to the inputs of the AND gates 27, 28, 29 to control the timing of the signals WE,
CAS and RAS to the nearest quarter clock beat.
The storage unit described above is usable in systems with a variety of different system clock (CLK) rates. When the clock rate is changed, it is necessary to vary the number of clock beats allowed for each action within the storage unit, so as to ensure that the time allowed for each such action remains substantially constant. This is achieved simply by changing the contents of the control memory 21 and the registers 35-37 in an appropriate manner. For example, if the clock
rate is increased, the contents of the control
memory 21 would be altered by moving each "1" bit in it upwards by one or more rows.
Although the control memory 21 is logically a two-dimensional array of bit positions, in practice
not all the bit positions need to be physically
implemented by bit storage circuits. For example, the signals RAS and CAS always occur near the
beginning of the operational cycle and hence it is
unnecessary to provide any bit storage circuits in
the last two columns of the memory 21 at bit
positions corresponding to the occurrence of these
signals towards the end of the cycle.
In the particular embodiment of the invention
shown in Figure 2, the bit positions of the memory
which are not physically implemented are shown
shaded. Thus, only the unshaded positions
correspond to actual bit storage circuits. The
outputs of the shaded (i.e. unimplemented) bit
positions are always zero. It can be seen that the
memory 21 thus requires less than half the
number of bit storage circuits compared with the
number required to implement the complete array.
Claims (11)
1. A data storage unit including a timing control
circuit for producing a plurality of internal timing
signals for the unit, the timing control circuit
comprising:
(a) a writable control memory having a plurality
of individually addressable locations; and
(b) an addressing circuit for reading out the
locations in a fixed sequence during successive
beats of a clock signal, the timing signals during
each clock beat being determined by the output of
the control memory.
2. A data storage unit according to Claim 1, consisting of a single large scale integrated (LSI) circuit chip.
3. A data storage unit according to Claim 1 wherein each location contains one bit for each timing signal, the state of each bit indicating whether the corresponding timing signal is present or absent.
4. A data storage unit according to Claim 3, wherein only a sub-set of bit storage positions in the control memory are physically implemented with bit storage circuits, the remaining bit storage positions being left unimplemented.
5. A data storage unit according to any preceding Claim wherein the timing control circuit includes gating circuits for combining the output of the control memory with function control signals to produce the timing signals.
6. A data storage unit according to any one of
Claims 1 to 4, wherein the timing control circuit includes a clock sub-division circuit for producing a plurality of further clock signals sub-dividing each clock period into a plurality of sub-periods, a selection circuit for selecting one of the further clock signals, and a gating circuit for combining the selected further clock signal with the output of the control memory to produce one of said timing signals.
7. A data storage unit according to Claim 6 wherein the clock sub-division circuit comprises a shift register connected to receive shift pulses from an oscillator, running at a multiple of the clock rate.
8. A data storage unit according to any preceding claim, wherein the addressing circuit comprises a first counter arranged to address a sub-set of the locations of the control memory, and a second counter arranged to address the remaining locations of the control memory.
9. A data storage unit according to any preceding claim, including data input and output registers, and at least one address register, wherein said internal timing signals include gating signals for controlling the loading of information into those registers.
10. A data storage unit according to Claim 9 further including a Hamming code register, wherein said internal timing signals further include a gating signal for controlling the loading of a
Hamming code into that register.
11. A data storage unit substantially as hereinbefore described with reference to the accompanying drawings.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB08326885A GB2128383B (en) | 1982-10-12 | 1983-10-07 | Data storage unit |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB8229063 | 1982-10-12 | ||
GB08326885A GB2128383B (en) | 1982-10-12 | 1983-10-07 | Data storage unit |
Publications (3)
Publication Number | Publication Date |
---|---|
GB8326885D0 GB8326885D0 (en) | 1983-11-09 |
GB2128383A true GB2128383A (en) | 1984-04-26 |
GB2128383B GB2128383B (en) | 1986-06-18 |
Family
ID=26284097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB08326885A Expired GB2128383B (en) | 1982-10-12 | 1983-10-07 | Data storage unit |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2128383B (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998035355A1 (en) * | 1997-02-11 | 1998-08-13 | Micron Technology, Inc. | Memory device command signal generator |
US5946260A (en) * | 1997-06-13 | 1999-08-31 | Micron Technology, Inc. | Method and system for storing and processing multiple memory addresses |
US5996043A (en) * | 1997-06-13 | 1999-11-30 | Micron Technology, Inc. | Two step memory device command buffer apparatus and method and memory devices and computer systems using same |
US6175894B1 (en) | 1997-03-05 | 2001-01-16 | Micron Technology, Inc. | Memory device command buffer apparatus and method and memory devices and computer systems using same |
US6178488B1 (en) | 1998-08-27 | 2001-01-23 | Micron Technology, Inc. | Method and apparatus for processing pipelined memory commands |
US6202119B1 (en) | 1997-12-19 | 2001-03-13 | Micron Technology, Inc. | Method and system for processing pipelined memory commands |
US6366992B2 (en) | 1998-07-30 | 2002-04-02 | Micron Technology, Inc. | Method and system for bypassing pipelines in a pipelined memory command generator |
US6484244B1 (en) | 1997-06-17 | 2002-11-19 | Micron Technology, Inc. | Method and system for storing and processing multiple memory commands |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1531894A (en) * | 1975-06-27 | 1978-11-08 | Ibm | Clock pulse distribution systems |
-
1983
- 1983-10-07 GB GB08326885A patent/GB2128383B/en not_active Expired
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1531894A (en) * | 1975-06-27 | 1978-11-08 | Ibm | Clock pulse distribution systems |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998035355A1 (en) * | 1997-02-11 | 1998-08-13 | Micron Technology, Inc. | Memory device command signal generator |
US6708262B2 (en) | 1997-02-11 | 2004-03-16 | Micron Technology, Inc. | Memory device command signal generator |
US6230245B1 (en) | 1997-02-11 | 2001-05-08 | Micron Technology, Inc. | Method and apparatus for generating a variable sequence of memory device command signals |
US6175894B1 (en) | 1997-03-05 | 2001-01-16 | Micron Technology, Inc. | Memory device command buffer apparatus and method and memory devices and computer systems using same |
US6370627B1 (en) | 1997-03-05 | 2002-04-09 | Micron Technology, Inc. | Memory device command buffer apparatus and method and memory devices and computer systems using same |
US6542569B2 (en) | 1997-03-05 | 2003-04-01 | Micron Technology, Inc. | Memory device command buffer apparatus and method and memory devices and computer systems using same |
US5996043A (en) * | 1997-06-13 | 1999-11-30 | Micron Technology, Inc. | Two step memory device command buffer apparatus and method and memory devices and computer systems using same |
US6519675B1 (en) | 1997-06-13 | 2003-02-11 | Micron Technology, Inc. | Two step memory device command buffer apparatus and method and memory devices and computer systems using same |
US5946260A (en) * | 1997-06-13 | 1999-08-31 | Micron Technology, Inc. | Method and system for storing and processing multiple memory addresses |
US6804743B2 (en) | 1997-06-13 | 2004-10-12 | Micron Technology, Inc. | Two step memory device command buffer apparatus and method and memory devices and computer systems using same |
US6484244B1 (en) | 1997-06-17 | 2002-11-19 | Micron Technology, Inc. | Method and system for storing and processing multiple memory commands |
US6202119B1 (en) | 1997-12-19 | 2001-03-13 | Micron Technology, Inc. | Method and system for processing pipelined memory commands |
US6360292B1 (en) | 1997-12-19 | 2002-03-19 | Micron Technology, Inc. | Method and system for processing pipelined memory commands |
US6366992B2 (en) | 1998-07-30 | 2002-04-02 | Micron Technology, Inc. | Method and system for bypassing pipelines in a pipelined memory command generator |
US6178488B1 (en) | 1998-08-27 | 2001-01-23 | Micron Technology, Inc. | Method and apparatus for processing pipelined memory commands |
Also Published As
Publication number | Publication date |
---|---|
GB8326885D0 (en) | 1983-11-09 |
GB2128383B (en) | 1986-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100232322B1 (en) | Synchronous semiconductor memory device | |
EP0031431B1 (en) | Programmable sequential logic array mechanism | |
US4873671A (en) | Sequential read access of serial memories with a user defined starting address | |
US5748551A (en) | Memory device with multiple internal banks and staggered command execution | |
US4989181A (en) | Serial memory device provided with high-speed address control circuit | |
US4970418A (en) | Programmable memory state machine for providing variable clocking to a multimode memory | |
EP0511408B1 (en) | Synchronous semiconductor memory | |
EP0646928B1 (en) | Synchronous dynamic random access memory | |
US4384342A (en) | System for reducing access time to plural memory modules using five present-fetch and one prefetch address registers | |
US5790559A (en) | Semiconductor memory testing apparatus | |
US4045779A (en) | Self-correcting memory circuit | |
US4586181A (en) | Test pattern generating apparatus | |
US3781829A (en) | Test pattern generator | |
US4216533A (en) | Pattern generator | |
US20040093539A1 (en) | Method for testing embedded DRAM arrays | |
EP0048810B1 (en) | Recirculating loop memory array with a shift register buffer | |
US4811305A (en) | Semiconductor memory having high-speed serial access scheme | |
US6078637A (en) | Address counter test mode for memory device | |
US3986171A (en) | Storage system comprising a main store and a buffer store | |
GB2128383A (en) | Data storage unit | |
KR100305679B1 (en) | Test method of tester of a semiconductor memory device and apparatus thereof | |
US4575815A (en) | Data storage unit | |
US3824562A (en) | High speed random access memory shift register | |
US5724367A (en) | Semiconductor memory device having scan path for testing | |
US5159599A (en) | High speed testing for programmable logic devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PCNP | Patent ceased through non-payment of renewal fee |
Effective date: 20021007 |