A storage circuit using a dual-access memory includes means for alternately activating one access, then the other, with a maximum frequency equal to twice the maximum possible frequency of activation of a given access. At least two successive activations of the means control operations of the same type, either reading or writing operations.
|
19. A method of controlling a dual-access memory having first and second control inputs, first and second read data busses, and first and second write data busses, the method comprising:
applying the same write data on the first and second write data busses or the same read data on the first and second read data busses;
applying first and second data transfer commands to the first and second control inputs, respectively, at a maximum rate at which such commands can be applied;
outputting read data or capturing write data at a maximum rate associated with each of first and second data transfer commands to thereby provide an overall output or capture data rate that is twice the maximum rate of each.
9. A method for activating a dual-access memory comprising an array of memory points and two reading/writing devices connected to the array, each reading/writing device being activatable by one access, the method comprising:
alternately activating one access, then the other, with a maximum frequency equal to twice the maximum possible frequency of activation of a given access, at least two successive activations controlling operations of the same type, reading or writing; and
receiving a clock signal;
storing the states of control signals applied to the memory responsive to an edge of the clock signal; and
controlling the reading/writing devices and array responsive to the stored control signals.
1. A storage circuit using a dual-access memory, comprising an array of memory points and two reading/writing devices connected to the array, each reading/writing device being activable by one access, the storage circuit comprising:
means for alternately activating one access, then the other, with a maximum frequency equal to twice the maximum possible frequency of activation of a given access, at least two successive activations of said means controlling operations of the same type, reading or writing;
wherein each access of said dual-access memory comprises a group of control inputs enabling controlling a read or write operation in a memory point; and
wherein the dual-access memory is synchronous, each group of control inputs comprising a clock input, the clock signal received on this clock input being a periodic signal, the signals received on the other control inputs of a group of control inputs being sampled on an edge, rising or falling, of the clock signal received on the clock input of the considered group of control inputs.
10. A memory, comprising:
a dual-access memory circuit operable to simultaneously process first and second data transfer operations in response to first and second data transfer commands, respectively, each data transfer command having an associated type and an associated maximum rate at which successive commands can be applied to the memory;
an activation circuit coupled to the dual-access memory circuit, the activation circuit operable to alternately apply first and second data transfer commands of the same type to the dual-access memory circuit, the activation circuit applying each of the first and second data transfer commands to the dual-access memory circuit at the associated maximum rate; and
wherein the activation circuit is adapted to receive a clock signal having a frequency and is operable in response to this clock signal to develop complementary first and second clock signals each having a frequency equal to one-half the frequency of the clock signal, and wherein the dual-access memory circuit processes first data commands responsive to the first clock signal and second data commands responsive to the second clock signal.
16. An electronic system, comprising:
electronic circuitry coupled to a memory including,
a dual-access memory circuit operable to simultaneously process first and second data transfer operations in response to first and second data transfer commands, respectively, each data transfer command having an associated type and an associated maximum rate at which successive commands can be applied to the memory;
an activation circuit coupled to the dual-access memory circuit, the activation circuit operable to alternately apply first and second data transfer commands of the same type to the dual-access memory circuit, the activation circuit applying each of the first and second data transfer commands to the dual-access memory circuit at the associated maximum rate; and
wherein the activation circuit is adapted to receive a clock signal having a frequency and is operable in response to this clock signal to develop complementary first and second clock signals each having a frequency equal to one-half the frequency of the clock signal, and wherein the dual-access memory circuit processes first data commands responsive to the first clock signal and second data commands responsive to the second clock signal.
2. The circuit of
3. The circuit of
4. The circuit of
5. The circuit of
6. The circuit of
7. The circuit of
8. The circuit of
13. The memory of
14. The memory of
15. The memory of
17. The electronic system of
18. The electronic system of
20. The method of
21. The method of
|
This application claims priority from French patent application No. 04/51190, filed Jun. 18, 2004, which is incorporated herein by reference.
1. Field of the Invention
The present invention relates to a fast integrated circuit memory.
2. Discussion of the Related Art
In modern integrated circuits, the circuit operating frequency is frequently limited by the maximum operating frequency of the memories, the maximum frequency of a memory corresponding to the minimum duration necessary to read or write a memory point.
An aspect of the present invention is to provide an integrated circuit structure enabling increasing the maximum operating frequency of its memories.
According to one aspect, the present invention provides a storage circuit using a dual-access memory, including means for alternately activating one access, then the other, with a maximum frequency equal to twice the maximum possible frequency of activation of a given access, at least two successive activations of said means controlling operations of the same type, reading or writing.
According to an aspect of the present invention, each access of said dual-access memory comprises a group of control inputs enabling controlling a read or write operation in a memory point.
According to an aspect of the present invention, the dual-access memory is synchronous, each group of control inputs comprising a clock input, the clock signal received on this clock input being a periodic signal, the signals received on the other control inputs of a group of control inputs being sampled on an edge, rising or falling, of the clock signal received on the clock input of the considered group of control inputs.
According to an aspect of the present invention, said means for alternately activating one access, then the other, provide first and second clock signals from a reference clock signal, the first and second clock signals having a frequency which is half that of the reference clock signal and being in phase opposition, the first clock signal controlling the clock input of one of the groups of memory control inputs, the second clock signal controlling the clock input of the other group of memory control inputs.
According to an aspect of the present invention, each group of control inputs comprises an address input, a memory selection input, and a read/write input.
According to an aspect of the present invention, the two input addresses receive a same address signal, the two memory selection inputs receive a same memory selection signal, and the two write/read inputs receive a same write/read signal.
According to an aspect of the present invention, said dual-access memory comprises two data inputs through which are input data which are desired to be written into the memory, each data input being associated with a group of control inputs, the two data inputs receiving a same data input signal.
According to an aspect of the present invention, the memory comprises two data outputs on which the values read from the memory can be obtained, each data output being associated with a group of control inputs.
According to an aspect of the present invention, the two memory data outputs are connected to two inputs of a multiplexer controlled by one of the first and second clock signals.
According to an aspect of the present invention, said memory comprises two output validation inputs allowing or not data transmission on each of the data outputs, the two data outputs being connected to a same data output, the validation inputs receiving complementary control signals.
According to an aspect of the present invention, said dual-access memory is an asynchronous memory, a read or write operation being launched when one of the inputs of a group of control inputs switches state.
Another aspect of the present invention also provides a method for activating a dual-access memory consisting of alternately activating one access, then the other, with a maximum frequency equal to twice the maximum possible frequency of activation of a given access, at least two successive activations controlling operations of the same type, reading or writing
The foregoing features and advantages of the present invention will be discussed in detail in the following non-limiting description of specific embodiments in connection with the accompanying drawings.
The following discussion is presented to enable a person skilled in the art to make and use the invention. Various modifications to the embodiments will be readily apparent to those skilled in the art, and the generic principles herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
Control inputs CK1, @1, CSN1, WE1, CK2, @2, CSN2, and WE2 and data inputs E1 and E2 receive signals and data outputs S1 and S2 transmit signals. In the following description, a signal reaching a control input X, clock input CK1, for example, will be called control signal X, that is, control signal CK1 in our example. Similarly, a signal reaching a data input E1, E2 or transmitted by a data output S1, S2 will respectively be called input signal E1, E2, or output signal S1, S2.
Two operations such as a reading or a writing may be performed simultaneously. The starting of an operation in the dual-access memory is performed by activation of one of the control input groups {CK1/@1/CSN1/WE1} or {WE2(CSN2/@2/CK2}. Generally, a dual-access memory comprises a conflict-management circuit, not shown, to avoid for two writings into a same memory point with different values to be simultaneously launched.
When the dual-access memory is synchronous, address signal @1/@2, memory selection signal CSN1/CSN2, and read/write signals WE1 and WE2 are sampled on a rising or falling edge of clock signal CK1 or CK2. If memory selection signal CSN1/CSN2 indicates that the memory is selected, then a read or write operation is performed at the address indicated by address signal @1/@2. Read/write signal WE1/WE2 indicates whether a writing or a reading is requested. In the case where a reading is requested, control circuit C1 or C2 activates the row and column decoders to which it is connected to select the memory point corresponding to the required address. The value present in the selected memory point is then transmitted onto output S1 or S2. Similarly, when a writing is required, control circuit C1 or C2 activates the associated row and column decoders to write into the selected memory point the value present on data input E1 or E2.
Address signals @1 and @2 are in this example sampled on each rising edge of clock signals CK1 and CK2. Conventionally, to avoid sampling errors, address signals @1 and @2 must be positioned little before the rising edge of clock CK1 to CK2 and remain unchanged for a short time after the rising edge. Examples of address values taken by address signals @1 and @2 will be given in hexadecimal notation.
Read/write signals WE1 and WE2 are also sampled on each rising edge of clock signals CK1 and CK2. In this example, a level “0” corresponds to a read request, a level “1” corresponds to a write request. Write/read signal WE1 is at level “0” at the first two rising edges of clock signal CK1, at level “1” at the third rising edge, then back at level “0”. Read/write signal WE2 is at level “1” at the first rising edge of clock signal CK2, then at level “0” at the next rising edges.
The reading from a memory point is started on a rising edge of a clock signal CK1 or CK2. Control circuit C1 or C2 then activates decoders of row ROW1/ROW2 and of column COL1/COL2, followed by read circuit R1 or R2. The data stored at the address indicated by the address signal at the rising edge of signal CK1 or CK2 are then provided at output S1 or S2. In this example, the read data are available at the output after a duration substantially corresponding to half the period of clock signal CK2 and to ⅔ of the period of clock signal CK1. Examples of read values are given in hexadecimal notation.
The writing into a memory point is started on a rising edge of a clock signal CK1 or CK2. Control circuit C1 or C2 activates the decoders of row ROW1/ROW2 and of column COL1/COL2 and the data present on input E1 or E2 on the rising edge of clock CK1 or CK2 are written at the address indicated by the address signal in this same rising edge of signal CK1 or CK2.
A dual-access memory such as described previously substantially corresponds to two memories Mem1 and Mem2 sharing a same memory point array. Referring to
According to an embodiment of the present invention, the two memories Mem1 and Mem2 of a dual-access memory are used to obtain the equivalent of a twice as fast single-access memory.
Address signal @, memory selection signal CSN, and write/read signal WE are sampled alternately by each of memories Mem1 and Mem2 of memory 20. Control circuit C1 of memory Mem1 samples the control signals on an edge, rising or falling, of clock signal CK1 and control circuit C2 of memory Mem2 samples the control signals on an edge, rising or falling, of clock signal CK2. If a writing is requested, the data positioned on input E are written at the address indicated by address signal @. If a reading is requested, the data stored at the address indicated by address signal @ are provided on one of the two outputs S1 and S2, then on output signal S.
In this example, address signal @ switches values at each cycle of clock signal CK. A series of addresses A1, A2, to A7 is thus provided on address signal @ at the rate of clock signal CK Write/read signal WE, not shown, is positioned, in this example, permanently at the level corresponding to a reading. Readings are thus alternately performed in memory Mem1 and memory Mem2 at addresses A1 to A7.
Address signal @ is sampled by memory Mem1 at the first shown rising edge of clock signal CK. The minimum duration necessary to read from one of memories Mem1 and Mem2 is in this example equal to a little more than one period of clock signal CK that is, a little more than a half-period of clock signal CK1 or CK2. Data D1 stored at address A1 are transmitted on output S1 and on output S a little after the second rising edge of clock signal CK. Thus, address A1 is sampled at the beginning of the first shown cycle of clock signal CK and the corresponding data D1 are transmitted at the second cycle of clock signal CK.
Similarly, data D2 stored at address A2 are provided at output S2, then at output S, little after the third rising edge of clock signal CK. Thus, address A2 is sampled at the beginning of the second cycle of clock signal CK and the corresponding data D2 are transmitted at the third cycle of clock signal CK.
Data D3, D4, D5, D6, and D7 respectively stored at addresses A3, A4, A5, A6, and A7 are provided in the same way alternately on output S1 and output S2. The multiplexer selection, controlled by clock signal CK2, actually switches at each rising edge of clock signal CK The series of data D1, D2 to D7 at output S can thus be seen, the data provided on output S changing at each period of clock signal CK.
The storage circuit of
In the case such as that shown in
The examples of embodiment of the present invention illustrated in
Of course, embodiments of the present invention are likely to have various alterations, modifications, and improvements which will readily occur to those skilled in the art. In particular, activation circuit 21 may be formed in various manners. Each of clock signals CK1 and CK2 may for example be provided by means of a flip-flop controlled by clock signal CK, the output of each flip-flop being connected to its input via an inverter.
Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the spirit and the scope of the present invention. Accordingly, the foregoing description is by way of example only and is not intended to be limiting. The present invention is limited only as defined in the following claims and the equivalents thereto.
A memory according to the embodiments of
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6078527, | Jul 29 1997 | SHENZHEN XINGUODU TECHNOLOGY CO , LTD | Pipelined dual port integrated circuit memory |
6181634, | Jan 29 1999 | Renesas Electronics Corporation | Multiple-port semiconductor memory device |
6751151, | Apr 05 2001 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | Ultra high-speed DDP-SRAM cache |
6816955, | Sep 29 2000 | MONTEREY RESEARCH, LLC | Logic for providing arbitration for synchronous dual-port memory |
6839291, | Apr 27 2002 | Samsung Electronics Co., Ltd. | Method for controlling column decoder enable timing in synchronous semiconductor device and apparatus thereof |
20020112119, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 20 2005 | STMicroelectronics SA | (assignment on the face of the patent) | / | |||
Jul 29 2005 | SCHOELLKOPF, JEAN-PIERRE | STMicroelectronics SA | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 016885 | /0064 | |
Jan 26 2023 | STMicroelectronics SA | STMICROELECTRONICS FRANCE | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 066357 | /0101 |
Date | Maintenance Fee Events |
May 31 2011 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
May 29 2015 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
May 22 2019 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Dec 11 2010 | 4 years fee payment window open |
Jun 11 2011 | 6 months grace period start (w surcharge) |
Dec 11 2011 | patent expiry (for year 4) |
Dec 11 2013 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 11 2014 | 8 years fee payment window open |
Jun 11 2015 | 6 months grace period start (w surcharge) |
Dec 11 2015 | patent expiry (for year 8) |
Dec 11 2017 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 11 2018 | 12 years fee payment window open |
Jun 11 2019 | 6 months grace period start (w surcharge) |
Dec 11 2019 | patent expiry (for year 12) |
Dec 11 2021 | 2 years to revive unintentionally abandoned end. (for year 12) |