This application claims priority from Japanese Patent Application No. 2008-197894 filed on Jul. 31, 2008, which is hereby incorporated by reference in its entirety for all purposes.
A technology disclosed in this specification relates to a semiconductor memory device and specifically to a serial memory device which performs reception and transmission of commands, addresses, and data via serial communication with a host controller and a signal processing system which includes the serial memory device.
For high density packaging of a signal processing system, reduction in the number of signal lines which connect a memory device and a host controller is effective. Examples of memory devices which meet the demand for high density packaging include serial memory devices. The I/O of a typical serial memory device is composed of a single input pin and a single output pin. Thus, such a serial memory device can be realized in the form of a compact package with a small number of pins.
The serial memory device can operate on a system clock signal of, for example, 100 MHz to read data at 80 ns/byte (12.5 Mbyte/s). In other words, the serial memory device achieves a data read rate equal to that of a parallel memory device which has a parallel data terminal of 8 bits or 16 bits. A type of serial memory device achieves a high data read rate by activating a row decoder at the timing when a row address is input, before input of all the bits of an address is completed (see, for example, WO99/59154).
The data read rate of the serial memory device is relatively high in burst transfer but relatively low in random access. This is because the random access requires input of a command and address for every reading of unit data, resulting in a large overhead.
In a signal processing system which reads and executes a process code stored in a memory device, a random access to the memory device occurs when a branch instruction, such as a jump instruction, occurs. When data are also stored in the memory device, reading of data frequently alternates between a code region and a data region, and random access frequently occurs. Therefore, there is a probability that using a serial memory device in a signal processing system decreases the processing rate.
In view of the above circumstances, the serial memory device examples which will be described below may advantageously provide an increased random access rate.
An example serial memory device which may provide such an advantage is a serial memory device which performs reception and transmission of command, address, and data via serial communication with a host controller, the serial memory device including: a base address holding circuit for holding a base address which serves as a base for effective address calculation; and an address operation circuit for calculating an effective address based on the base address and an address input from the host controller. In this serial memory device, the effective address can be calculated only by inputting from the host controller an address difference from the base address. Therefore, the time required for address input is reduced. Accordingly, the overhead during random access is reduced so that the random access rate can be increased.
Specifically, the address operation circuit may include an adder for adding together the base address and the address input from the host controller. In this structure, the effective address can be calculated from the base address and the address input from the host controller by a simple addition. Preferably, the address input from the host controller may be represented by a two's complement. In this structure, an effective address which falls within a predetermined range from the base address at its center can be accessed at a high rate.
Preferably, the address operation circuit may select as an effective address any one of an address calculated by adding together the base address and the address input from the host controller or the address input from the host controller according to a command input from the host controller. In this structure, the high-rate address input and the conventional address input can be switched by a command.
Preferably, the base address holding circuit may update an address held therein to an address output from the address operation circuit when a predetermined command from the host controller is input to the base address holding circuit. In this structure, the timing of updating the base address can be arbitrarily controlled, and therefore, the high-rate address input can be carried out at the timing desired by the user.
Hereinafter, examples of serial memory device and signal processing system are described with reference to the drawings.
In the serial memory device 20, a clock counter 21 counts system clock signal SCLK in synchronization with chip select signal CS# to output count signal CNT. A control circuit 22 receives count signal CNT, system clock signal SCLK, and control signal CTL1, which will be described later, to output control signal CTL2. An input buffer 23 takes in commands, addresses and data serially input by input/output signal SIO in synchronization with system clock signal SCLK according to control signals CTL1 and CTL2 to output 3-bit command signal CMD, 24-bit address signal ADR1, and 16-bit data signal DT1. A command decoder 24 decodes command signal CMD according to control signal CTL2 to output control signal CTL1. An address operation circuit 25 receives address signal ADR1 and address signal ADR2, which will be described later, and calculates the effective address from these address signals according to control signal CTL1 to output 24-bit address signal ADR3. A base address holding circuit 26 holds a base address which serves as a base for effective address calculation. Also, the base address holding circuit 26 receives address signal ADR3 to update the address held therein to address signal ADR3 according to control signals CTL1 and CTL2. A flash memory block control circuit 27 receives count signal CNT, control signal CTL2, data signal DT1 and address signal ADR3 to output control signal CTL3, 16-bit data signal DT2, and 24-bit address signal ADR4. A flash memory block 28 receives control signal CTL3, data signal DT2 and address signal ADR4 and operates on these signals. An output buffer 29 takes in 16-bit data signal DT3 output from the flash memory block 28 according to control signal CTL2 to output input/output signal SIO in synchronization with system clock signal SCLK.
The commands input to the thus-structured serial memory device 20 and the operation modes corresponding thereto are shown in the table below.
Absolute Address Access is an operation mode where the flash memory block 28 is accessed with a 24-bit address input from the host controller 10 being used as an effective address. Relative Address Access is an operation mode where the flash memory block 28 is accessed with the sum of the base address held in the base address holding circuit 26 and an 8-bit address input from the host controller 10 being used as an effective address. Base Address Update is an operation mode where the flash memory block 28 is accessed while the address held in the base address holding circuit 26 is updated to an interested effective address. Base Address Hold is an operation mode where the flash memory block 28 is accessed, but the address held in the base address holding circuit 26 is not updated. These operation modes during data reading are described below with reference to the timing charts.
<<Absolute Address Access>>
When the 24-bit address is taken in the input buffer 23, the input buffer 23 outputs address signal ADR1. Meanwhile, the control circuit 22 and the command decoder 24 respectively output control signals CTL2 and CTL1 for absolute address access to the serial memory device 20. Therefore, the selector circuit 251 selects the zero signal according to control signal CTL1, and the adder 252 outputs address signal ADR1 itself as address signal ADR3. Thus, in the serial memory device 20, the flash memory block 28 is accessed with the 24-bit address input from the host controller 10 being used as the absolute address.
After the start of the access to the flash memory block 28 and the elapse of a dummy cycle from t3 to t4 which is necessary for data reading, data signal DT3 is output from the flash memory block 28. Then, in the interval from t4 to t5, the data of the first word is output as input/output signal SIO, on a 4-bit by 4-bit basis with the MSB at the leading end of the first 4 bits, for a duration of 4 cycles of system clock signal SCLK.
The address taken in the input buffer 23 is counted up in synchronization with system clock signal SCLK. The address input from the host controller 10 is sequentially counted up and input to the flash memory block 28. Thus, the data output of the first word is immediately followed by the data output of the second word in the interval from t5 to t6. Thereafter, the data of the third and subsequent words are serially output in the same way.
<<Relative Address Access>>
When the 8-bit address is taken in the input buffer 23, the input buffer 23 outputs address signal ADR1. Meanwhile, the control circuit 22 and the command decoder 24 respectively output control signals CTL2 and CTL1 for relative address access to the serial memory device 20. Therefore, the selector circuit 251 selects address signal ADR2 according to control signal CTL1, and the adder 252 outputs the result of addition of address signal ADR1 and address signal ADR2 as address signal ADR3. Thus, in the serial memory device 20, the flash memory block 28 is accessed with the 8-bit address input from the host controller 10 being used as the relative address that represents the distance from the base address. The address input from the host controller 10 may be represented by a two's complement. In this case, the effective address can be calculated in the range of +127 to −128 from the base address. Note that part of the operation after t3 is the same as that described above for absolute address access.
As described above, the operation in relative address access can reduce the time required for address input. Thus, using relative address access can increase the random access rate of the serial memory device 20. Especially in the case where the example signal processing system of
<<Base Address Update>>
When the 8-bit address is taken in the input buffer 23, the input buffer 23 outputs address signal ADR1. Accordingly, at t3, the address operation circuit 25 updates address signal ADR3. Meanwhile, the command decoder 24 outputs control signal CTL1 for base address update. At t3′ that occurs after the update of address signal ADR3, the control circuit 22 outputs control signal CTL2 for base address update, and accordingly, the base address holding circuit 26 updates the address held therein to address signal ADR3.
Note that base address update is also applicable in the context of absolute address access.
<<Base Address Hold>>
When the 8-bit address is taken in the input buffer 23, the input buffer 23 outputs address signal ADR1. Accordingly, at t3, the address operation circuit 25 updates address signal ADR3. Meanwhile, the command decoder 24 outputs control signal CTL1 for base address hold. Therefore, even when address signal ADR3 is updated, the base address holding circuit 26 does not update the address held therein.
Note that base address hold is also applicable in the context of absolute address access.
Specifically, in the case where the process codes and data of the example signal processing system of
Thus, in the above-described example signal processing system, the random access rate of the serial memory device 20 can be increased, and hence, the processing rate of the signal processing system can be improved. Note that the IO between the host controller 10 and the serial memory device 20 is not limited to 4-bit input/output signal SIO. It may be a combination of a single serial input and a single serial output or may be a 2-bit input/output signal. Also, the serial memory device 20 is not limited to a serial flash memory.
Number | Date | Country | Kind |
---|---|---|---|
2008-197894 | Jul 2008 | JP | national |