US 20020126563 A1
An interleaved memory includes an array of memory cells divided into a first bank of memory cells and a second bank of memory cells. The interleaved memory operates in a burst access mode. A first address counter is coupled to the first bank of memory cells, and an address register is coupled to the first address counter and to the second bank of memory cells. A timing circuit generates increment pulses to the first address counter so that a first random access asynchronous read cycle starts with the first bank of memory cells. A function of an address counter for the second bank of memory cells is being performed by coping contents of the first address counter to the address register.
1. An interleaved memory device readable in sequential access synchronous mode, having at least two banks of memory cells (EVEN_MATRIX, ODD_MATRIX) each provided with its own address counter, decoding structures (X-DEC-EVEN, X-DEC-ODD, Y-DEC-EVEN, Y-DEC-ODD) and sensing structures (SA, SA_LATCHES, SA_OUT_BUS), a timing circuit (TIMING) producing increment pulses (INC_EVEN, INC_ODD) of said address counters, characterized in that the function of address counter of all banks (ODD_MATRIX) with the exception of a first bank (EVEN_MATRIX) so pre-defined by a memory management protocol as the bank on which the first asynchronous random access read cycle is started, is performed by a register (ODD_REGISTER) in which is copied the content of the address binary counter (EVEN_COUNTER) of said first start bank of each first asynchronous read cycle or the content of the address register of the preceding bank in the cyclic synchronous read sequence at each increment pulse (INC_ODD) of the address of said preceding bank (ODD_MATRIX).
2. The memory device of
 The present invention relates in general to memory devices, and, in particular, to an interleaved memory device readable in a synchronous mode for successive locations with a sequential or burst access mode.
 Interleaved memory devices with a sequential (or burst) access mode comprises at least two banks of memory cells provided with their own address counter and independent decoding and sensing circuits. The array of memory cells may be subdivided in any number of blocks greater than two.
 A typical simplified diagram of an interleaved memory device is depicted in FIG. 1. In a synchronous interleaved memory organized in two banks, the successive addresses of the respective banks at which the read operations must be alternately carried out are sequentially generated automatically by incrementing internal address counters in synchronization with an external clock. This is after a first random access to a certain location on one of the two banks based upon the acquisition of an externally commanded address (first asynchronous read cycle). The management of sequential read operations may be designed for any number of banks by reading the different banks according to a scheme while always incrementing the address of the previous location.
 The fact that an interleaved memory is most commonly divided in two half-arrays or banks of cells allows for a new read cycle to be started on a bank while the read cycle on the other bank has not yet terminated, thus saving time. In order to do this it is essential that address operations to the two banks be independent from each other.
 To maintain synchronization of the interleaved memory, increments for the address counter for the respective banks (EVEN/ODD) must be carried out according to whether the start address for a new sequential or burst access synchronous read phase pertains to the even or the odd bank. Also, it may pertain to a certain pre-established bank in case of a number of banks N>2, according to the particular protocol used for managing the memory device. The start address is externally acquired and starts the first random access asynchronous read cycle.
 In the most typical case of a two-bank interleaved memory, as may be observed in FIGS. 2 and 3, in a burst mode the read cycles successive to the first one are time interleaved between the banks ODD_BANK and EVEN_BANK. The increments of the address counters EVEN_COUNTER and ODD_COUNTER are controlled by two distinct incrementing clocks, labeled with INC_EVEN and INC_ODD in FIG. 4. This is produced by a control logic circuit that controls the timing of a synchronous read phase.
 According to the known technique, each of the internal address counters of the respective half-arrays or banks is an N-th binary counter formed by N bistable stages, typically flip-flops, and N half-adder stages connected in cascade. Each half-adder stage has a carry bit input CARRY for the carry bit coming from the preceding stage and an address input coming from its associated flip-flop.
 In such binary counters the propagation chain of the signal CARRY determines the maximum operating speed. In the propagation chain of the commonly used binary counters, carry bits are produced by ANDing the address bit and the carry bit coming from the previous stage. This imposes a wait for the propagation of signals throughout the N−1 stages in order to receive the information concerning the carry bit of the N-th stage. Such a propagation scheme implies wait times that often are not compatible with a high operating speed, especially in counters having a large number of stages.
 In view of the foregoing background, it is an object of the present invention to provided an approach that addresses the slowness in generating addresses for the banks of an interleaved memory during a sequential access synchronous read phase.
 This and other objects, advantages and features are provided by the fact that, differently from the common interleaved memory devices, only one internal address binary counter of one bank is used, while the function of an internal address counter of any other bank is performed by a common register in which it is copied the content (the internal address) of the binary counter of the first bank or of the content (the internal address) of the respective register of the bank that immediately precedes the considered bank according to the sequential read cycle scheme for all the memory banks, starting from the first one.
 According to a preferred embodiment of the invention, each stage of the single internal address counter of one of the two banks is functionally coupled to a corresponding stage of the internal address register of the bank that follows it in the cycle succession of the sequential read of the data. The data is read from the different banks through a pass-gate that is switched to a conduction state by each increment pulse. Similarly, each stage (latch) of the register that follows the counter is coupled to the corresponding stage (latch) of the register that follows it in the succession through a pass-gate that is switched in a conduction state by each increment pulse.
 The different aspects and advantages of the invention will become even more evident through a detailed description of the invention referring to the attached drawings in which:
FIG. 1 is a basic diagram of an interleaved memory device according to the prior art;
FIGS. 2 and 3 are timing diagrams of the main signals involved in accessing the banks of an interleaved memory device according to the prior art;
FIG. 4 depicts the architecture of a common address counter for an interleaved memory according to the prior art; and
FIG. 5 depicts the architecture of the address counter of the memory according to the present invention.
 For purposes of illustrating the present invention, reference will be made to a common interleaved memory device split in only two banks (half-matrices). The central point of the invention is the fact that, as it may be noticed from FIGS. 2 and 3, there is always a bank, which in the considered case is the bank EVEN_BANK, whose counter receives first the address increment. When the counter EVEN_COUNTER is incremented, the successive increment of the counter ODD_COUNTER produces exactly the same address stored in the counter EVEN_COUNTER.
 It has been found that in an interleaved memory device it is not necessary to use as many binary counters as the number of banks. Instead, the function of all the other binary counters except a first one may be advantageously performed by simply using registers. An architecture for producing addresses for the two banks of a burst memory device of the invention is depicted in FIG. 5.
 On the bank EVEN_BANK, the current address is pointed by a standard binary counter EVEN_COUNTER, while on the other bank ODD_BANK the address is pointed by a register ODD_REGISTER in which the content of the binary counter of the bank EVEN_BANK is copied as it is produced.
 According to a preferred embodiment of the invention, the stages of the counter are coupled to respective stages of the register through pass-gates driven by the increment clock INC_ODD. This causes the content of the counter EVEN_COUNTER to be stored into the register ODD_REGISTER at each clock pulse. A significant hardware simplification is thus advantageously obtained because the number of components used to form a register is smaller than that necessary to form a binary counter.
 Moreover, the address for the bank ODD_BANK is updated in a shorter time than the time required to increment a binary counter. In fact, when the address of the bank ODD_BANK is updated (incremented) it is no longer necessary to wait for the propagation time of the carry because the new address is more rapidly obtained by copying the content of the counter EVEN_COUNTER. The diagram of FIG. 5 does not introduce any limitation or functional difference with respect to a classic realization with two binary counters, and may be conveniently used in all burst access interleaved memory devices.
 Even in the case of a memory with a number of banks (N) greater than two, after having defined a first bank as reference bank, the control circuit of the memory device carries out the successive burst readings in a cycle by incrementing the addresses of the various banks in succession up to the N-th bank. Should the (asynchronously) addressed bank at each first read phase of a burst access cycle not be the first bank (reference bank) but the K-th (1<K<N) bank, the memory timing circuit effects the successive increments of the addresses from the K-th to the N-th bank, and thereafter, points again to the first bank.
 In practice, only the pre-defined first bank, from which the burst readings start will be provided with an address counter while all the other banks will have address registers functionally interconnected as in the above described example of an interleaved memory device with only two banks.