[go: up one dir, main page]

WO2005101219A1 - Memory controller and semiconductor device - Google Patents

Memory controller and semiconductor device Download PDF

Info

Publication number
WO2005101219A1
WO2005101219A1 PCT/JP2005/006655 JP2005006655W WO2005101219A1 WO 2005101219 A1 WO2005101219 A1 WO 2005101219A1 JP 2005006655 W JP2005006655 W JP 2005006655W WO 2005101219 A1 WO2005101219 A1 WO 2005101219A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
access
section
memory device
sdram
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.)
Ceased
Application number
PCT/JP2005/006655
Other languages
French (fr)
Japanese (ja)
Inventor
Yusuke Takemoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of WO2005101219A1 publication Critical patent/WO2005101219A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types

Definitions

  • the present invention relates to both a memory device that accesses by designating a row address and a column address typified by SDRAM, and a memory device that accesses by designating only a row address typified by SRAM.
  • the present invention relates to a memory controller accessible to a device and a semiconductor device integrated with the memory controller.
  • a memory controller of a memory device that specifies a row address and a column address typified by an SDRAM
  • a memory controller of a memory device that specifies only a row address typified by an SRAM are known as respective memory devices. Due to the difference in the access interface, a method in which the semiconductor device is provided as a separate bus has been considered.
  • FIG. 1 shows an example in which an SRAM 1122, a NOR flash memory 1123, and an SDRAM 1124 are connected to a memory controller 1120.
  • Address bus 1102 clock signal (CLK) line 1103, write enable signal (WE) line 1104, read enable signal (RE) line 1105, byte enable signal (BE) line 1106, data bus 1107, SRAM 1122 and NOR type
  • CLK clock signal
  • WE write enable signal
  • RE read enable signal
  • BE byte enable signal
  • the flash memory 1123 is connected as a common external terminal.
  • an address bus 1111 a clock signal (CLK) line 1113, a clock enable signal (C13 ⁇ 4 :) line 1114, a write enable signal (WE) line 1115, a read enable signal (RE) line 1116, a bank
  • the select signal (BA) line 1117, byte enable signal (BE) line 1118, and data bus 1121 are connected only to the SDRAM 1124.
  • Chip select signal (CS) lines 1101, 1108, and 1112 are connected to the SRAM 1122, the NOR flash memory 1123, and the SDRAM 1124, respectively.
  • the SDRAM 1124 and the SRAM 1122 or the NOR flash memory 1123 have a mechanism that allows simultaneous access to any of them! /
  • Patent Document 1 JP-A-2003-131940
  • An object of the present invention is to control a memory device capable of transferring data by designating a row address and a memory device capable of data transfer by designating a row address and a column address.
  • An object of the present invention is to provide a memory controller and a semiconductor device capable of improving the use efficiency of a data bus while suppressing an increase in the number of terminals.
  • the memory controller controls a first memory device that can transfer data by specifying a single address, and a second memory device that can transfer data by specifying a row address and a column address.
  • the configuration was such that the data bus was shared in a time-sharing manner, and other control lines were connected independently to each memory device.
  • the first memory device capable of transferring data by designating a single address and the second memory device capable of transferring data by designating a row address and a column address are controlled.
  • a memory controller capable of improving the use efficiency of the data bus while suppressing an increase in the number of terminals of the semiconductor device, and a semiconductor device including such a memory controller.
  • FIG. 1 is a diagram showing a connection example of a conventional memory controller
  • FIG. 2 is a diagram showing a connection example of a memory controller according to one embodiment of the present invention.
  • FIG. 3 Configuration diagram of the memory controller shown in FIG.
  • FIG. 4 Data configuration diagram of access requests stored in the FIFO shown in FIG.
  • FIG. 5 Timing chart when the access requests shown in FIG. 6 are executed without prioritizing
  • FIG. 6 is a diagram showing an example of an access request stored in a FIFO
  • FIG. 7 Timing chart when the access requests shown in FIG. 6 are ranked
  • FIG. 2 shows a connection example of a memory controller 121 according to the present embodiment, an SRAM 122 as a memory device, a NOR flash memory 123, and an SDRAM 124.
  • An SRAM 122 and a NOR flash memory 123 are connected to the memory controller 121 as a memory device that can transfer data by specifying a row address, and a memory device that can transfer data by specifying a row address and a column address. Is connected to the SDRAM 124.
  • the memory controller 121 is a memory interface (terminal portion) in an LSI as a semiconductor device, and functions to control read / write to a memory device in response to a memory access request from the LSI.
  • the CPU, DSP, DMA, accelerator, etc. issue an access request to the memory controller 121 due to the configuration of the LSI.
  • the memory controller 121 reads data from the SRAM 122, the NOR flash memory 123, and the SDRAM 124.
  • the Z write is performed via the common data bus 107.
  • the As the bus width of the data bus 107 a larger bus width is selected from the bus width used in the SRAM 122 and the NOR flash memory 123 and the bus width used in the SDRAM 124.
  • a 32-bit data bus is separately provided from the memory controller 121 to each of the memory devices (122, 124).
  • the number of 32 terminals can be reduced compared to the case of connection.
  • the SRAM 122 and the NOR flash memory 123 share the address bus 102 and control lines (103, 104, 105, 106) for control signals excluding the chip select signal.
  • Control lines (112 to 118) are connected independently! That is, address buses 102 and 111, synchronous clock signal (CLK) lines 103 and 118, write enable signal (WE) lines 104 and 115, read enable signal (RE) lines 105 and 116, byte enable signal (BE ) Lines 106 and 118 are connected to the respective memory devices, one set each, and chip select signal (CS) lines 101, 108, 112 are connected for each memory device.
  • a bank select signal (BA) line 117 is connected to the SDRAM 124, and a data bus 107 is connected as a shared signal for each memory device.
  • a data access to the SRAM 122 or the NOR flash memory 123 and a data access to the SDRAM 124 are performed on the data bus 107 in a time division manner.
  • the memory controller 121 includes a FIFO memory 201, a memory control signal generation device 202, a next access control device 203, and an SDRAM access section determination device 204.
  • the FIFO memory 201 is a buffer that manages the order of memory access requests given from the LSI.
  • FIG. 4 illustrates the specific contents of the memory access request.
  • the memory device includes an access length 301 to the memory device, read / write polarity information 302, address information 303, and access destination information 304 indicating the CS space of the memory device to be accessed. Yes.
  • the FIFO memory 201 notifies the memory access request stored at the head to the memory control signal generation device 202 via the path 215.
  • the memory control signal generation device 202 generates a control signal (other than a data bus signal) for accessing various memory devices according to the content of the memory access request.
  • the memory control signal generation device 202 notifies the SDRAM access state determination device 204 of the access state of the SDRAM using the path 216.
  • the access status of the SDRAM 124 includes information on the operation status of the SDRAM 124 such as precharge, self-refresh, and power down mode. Such access status information is notified to the SDRAM access section determination device 204 via the path 216.
  • the access destination information 304, address information 303, and read / write polarity information of the access request stored in the FIFO memory 201 are transmitted to the SDRAM access section determination device 204 via the path 211.
  • the SDRAM access section determination device 204 determines from the access destination information 304 that SDRAM access is continuous! /, And that the address information 303 requests continuous access to the same bank. 302 makes it possible to observe the transition of the access from the read access to the write access. Then, the SDRAM access section determination device 204 detects a data bus idle section in the case where the SDRAM access occurs continuously based on the information obtained through the paths 211 and 216, and uses the path 212 to Notify the access control device 203.
  • the next access control device 203 compares the notified data bus idle period with the threshold value (the number of clocks) stored in the register 205.
  • the threshold value stored in the register 205 is desirably the number of clocks corresponding to the minimum access length for the SRAM 122 or the NOR flash memory 123.
  • the information is transmitted to the next access control device 203 via the route 217.
  • the number of clocks (the number of cycles) for determining whether or not the access to the SRAM 122 or the NOR flash memory 123 can be performed is stored.
  • the order of the access requests accumulated in the FIFO memory 201 may be controlled. Specifically, the data bus idle section that occurs when SDRAM accesses occur consecutively is processed by the subsequent access request processing. If it can be filled, an access request for the subsequent SRAM 122 or NOR flash memory 123 is moved up to the top. The order of the access request of the FIFO 201 is transmitted to the next access control device 203 via the path 213, and the control of the access request is transmitted to the FIFO 201 via the path 214.
  • the time chart shown in FIG. 5 shows the use status of the data bus 107 when the access requests are accumulated in the FIFO memory 201 in the order shown in FIG. ing. Particularly, a case where different row addresses are successively accessed in the same bank will be exemplified. Such a case is one of typical examples in which a data bus idle section occurs.
  • the memory controller 121 selects the SDRAM 124 by the chip select signal (CS) line 112 and uses the data bus 107 to access the SDRAM 124 It can be so. Then, a row address is issued by the SDRAM command Activate, and after a predetermined time elapses, a column address is issued by the SDRAM command read (A). After a lapse of a predetermined time from the issuance of the column address, the head (AO) of the read data read from the target bank (for example, bank A) is output on the data bus 107. The remaining three bursts of read data (A1 to A3) are output on the data bus 107 continuously from the first read data (AO).
  • CS chip select signal
  • the time required from the issuance of a row address to the issuance of a column address and the time required to issue a column address and the time required for the head data to appear on the data node 107 are fixed according to the system design. Value.
  • the SDRAM 124 specifies an address by a combination of a row address and a column address. It takes one clock each to issue a row address and a column address. Therefore, when newly accessing the SDRAM 124, the total time of the above-mentioned fixed value and the time required for address issuance is the data bus idle section. As shown in FIG. 5, the first data bus idle period occurs before the first read data AO of the SDRAM 124 is output to the data bus 107. The data read from the target bank into the buffer is returned to the original position by the SDRAM command, precharge.
  • FIG. 5 shows a case where access requests for accessing different row addresses in the same bank A of the SDRAM 124 are continuous. That is, in the access order shown in FIG. 6, the second access request is an access request that accesses the same bank A as the first access request and a different row address.
  • the SDRAM 124 cannot issue an Activate to select a different row address in the same bank unless the SDRAM 124 is precharged and capable. Therefore, the memory control signal generation device 202 issues a precharge command to perform precharge, and selects a row address in synchronization with the clock at the next timing when the last read data (A3) is output to the data bus 107. Issue Activate.
  • a row address is issued by Activate, a column address is issued by read (B), and then read data (B 0 to B 3) is placed on the data bus 107. Output continuously.
  • the third access request which is an access request to the SRAM 122, comes to the top of the SFIFO memory 201.
  • the memory controller 121 activates the chip select signal (CS) line 101 for the SRAM 122 in synchronization with the next clock, and also writes the SRAM command “write” (C).
  • CS chip select signal
  • C SRAM command “write”
  • the address specification at the time of access needs to specify only a single address, and there is no space unlike the address specification for the SDRAM 124.
  • the write data C is output onto the data bus 107 simultaneously with the write request, and the data C is written into the SRAM 122.
  • an access request to the SRAM 122 comes to the head of the FIFO memory 201. Then, after the execution of the third access request is completed In synchronization with this clock, a read address by read D is issued, and read data D is read from the read address of the SRAM 122 and output on the data bus 107.
  • the data bus idle section that occurs when accessing the SDRAM 124 is determined, and the time width for interrupting the subsequent access request to the SRAM 122 or the NOR flash memory 123 is determined in the data bus idle section. If so, the order of the access requests in the FIFO memory 201 is manipulated to execute the access request to the subsequent SRAM 122 or NOR type flash memory 123 first.
  • FIG. 7 is a time chart when the order of access requests in the FIFO memory 201 is manipulated.
  • the order of the access requests initially stored in the FIFO memory 201 is as shown in FIG.
  • the SDRAM access section determination device 204 fetches the access request data stored in the FIFO memory 201 and detects a data bus idle section at the time of accessing the SDRAM 124 from the access request to the SDRAM 124. Further, the memory control signal generation device 202 manages and controls each operation timing of the precharge, the self refresh, and the power down mode in the SD RAM 124. If there is no subsequent SDRAM access, a section occurs in which the precharge is issued and the power bus 107 is not used. Also, when returning from the self-refresh or power-down mode, a section in which the data bus 107 is not used occurs. In this way, an event in which an interval in which the data bus 107 is not used may occur is notified to the SDRAM access interval determination device 204 as an SDRAM access status.
  • the SDRAM access section determination device 204 detects the data bus idle section during the SDRAM access shown in FIG. 5 from the access request information of the FIFO memory 201 shown in FIG. Then, the detected data bus idle section information is notified to the next access control device 203. . In addition, the SDRAM access section determination device 204 determines whether or not there is a section in which the data bus 107 is not used during the access period of the SDRAM 124 based on the SDRAM access status received from the memory control signal generation device 202. If an unused section, that is, a data bus idle section occurs, the access control device 203 is notified of the next time.
  • the next access control device 203 compares the threshold value previously stored in the register 205 with the data bus idle period notified from the SDRAM access period determination device 204.
  • each of the first data bus idle section and the second data bus idle section is larger than the threshold. That is, the third access request (write C) in FIG. 6 can be executed earlier in the first data bus idle section shown by the left arrow in FIG. 7, and the second access request shown by the right arrow in FIG. In the data bus idle period, the fourth access request (read D) in FIG. 6 can be executed earlier.
  • next access control device 203 moves the third access request (write C) in FIG. 6 to the top of the FIFO memory 201 and transfers the fourth access request (read D) in FIG. Go to the third position immediately after the request (lead A).
  • the order operation is performed so that the data bus idle section generated by the preceding SD RAM access request is filled with the subsequent SRAM access request or NOR type flash memory access request.
  • the efficiency of use of a data bus is increased. Performance can be maintained, and an increase in the number of terminals can be suppressed.
  • each memory controller has a data bus. May be shared in a time-sharing manner. In this case, memory accesses are executed in cooperation with each other so that accesses between memory controllers do not conflict with each other.
  • the order of the access requests stored in the FIFO in the controller may be operated in accordance with the algorithm described above.
  • one or more memory controllers capable of controlling a memory device capable of transferring data by designating a single address on such a semiconductor device are provided, and each controller operates in a cooperative manner. You can.
  • the present invention relates to controlling a memory device capable of transferring data by designating a row address and a memory device capable of transferring data by designating a row address and a column address. It is possible to increase the efficiency of using the data bus while suppressing an increase in the number of terminals, and it is applicable to a memory controller and a semiconductor device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

A memory controller (121) is connected to an SRAM (122) which can be accessed only by a row address and an NOR-type flash memory and to an SDRAM (124) which can be accessed by specifying a row address and a column address. A data bus (107) is shared by time division and the other control lines are individually connected to the SRAM (122), the NOR-type flash memory (123), and the SDRAM (124). An access request for each of the memory devices as the access destination is accumulated in a FIFO memory (201). A data bus idle section which cannot be accessed by the SDRAM (124) is detected by an SDRAM access section judgment device (204). If an access request to the SRAM (122) following the access-disabled section can be executed, the access request order in the FIFO memory (201) is changed so that the access request to the SRAM (122) is placed at the head.

Description

明 細 書  Specification

メモリコントローラ及び半導体装置  Memory controller and semiconductor device

技術分野  Technical field

[0001] 本発明は、 SDRAMに代表されるような行アドレスと列アドレスを指定してアクセス するメモリデバイスと、 SRAMに代表されるような行アドレスのみを指定してアクセス するメモリデバイスとの双方に対してアクセス可能なメモリコントローラ及びメモリコント ローラを集積した半導体装置に関する。  The present invention relates to both a memory device that accesses by designating a row address and a column address typified by SDRAM, and a memory device that accesses by designating only a row address typified by SRAM. The present invention relates to a memory controller accessible to a device and a semiconductor device integrated with the memory controller.

背景技術  Background art

[0002] 従来、 SDRAMに代表される行アドレスと列アドレスを指定するメモリデバイスのメ モリコントローラと、 SRAMに代表される行アドレスのみを指定するメモリデバイスのメ モリコントローラとは、それぞれのメモリデバイスのアクセスインタフェースにおける違 いより、別々のバスとして半導体装置に具備される方法が考えられていた。  Conventionally, a memory controller of a memory device that specifies a row address and a column address typified by an SDRAM, and a memory controller of a memory device that specifies only a row address typified by an SRAM are known as respective memory devices. Due to the difference in the access interface, a method in which the semiconductor device is provided as a separate bus has been considered.

[0003] 図 1に SRAM1122と NOR型フラッシュメモリ 1123、 SDRAM1124をメモリコント ローラ 1120に接続した例を示す。アドレスバス 1102、クロック信号(CLK)線 1103、 ライトイネーブル信号 (WE)線 1104、リードィネーブル信号 (RE)線 1105、バイトイ ネーブル信号(BE)線 1106、および、データバス 1107力 SRAM1122と NOR型 フラッシュメモリ 1123に共通の外部端子として接続されて 、る。  [0003] Fig. 1 shows an example in which an SRAM 1122, a NOR flash memory 1123, and an SDRAM 1124 are connected to a memory controller 1120. Address bus 1102, clock signal (CLK) line 1103, write enable signal (WE) line 1104, read enable signal (RE) line 1105, byte enable signal (BE) line 1106, data bus 1107, SRAM 1122 and NOR type The flash memory 1123 is connected as a common external terminal.

[0004] また、アドレスバス 1111、クロック信号 (CLK)線 1113、クロックィネーブル信号(C 1¾:)線1114、ライトイネーブル信号 (WE)線 1115、リードィネーブル信号 (RE)線 1 116、バンクセレクト信号(BA)線 1117、バイトイネーブル信号(BE)線 1118、およ びデータバス 1121が、 SDRAM 1124にのみ接続されている。  [0004] Also, an address bus 1111, a clock signal (CLK) line 1113, a clock enable signal (C1¾ :) line 1114, a write enable signal (WE) line 1115, a read enable signal (RE) line 1116, a bank The select signal (BA) line 1117, byte enable signal (BE) line 1118, and data bus 1121 are connected only to the SDRAM 1124.

[0005] また、 SRAM1122、 NOR型フラッシュメモリ 1123、 SDRAM 1124それぞれにチ ップセレクト信号(CS)線 1101、 1108、 1112が接続されている。  [0005] Chip select signal (CS) lines 1101, 1108, and 1112 are connected to the SRAM 1122, the NOR flash memory 1123, and the SDRAM 1124, respectively.

[0006] これらの構成では、 SDRAM1124と、 SRAM 1122あるいは NOR型フラッシュメモ リ 1123の 、ずれかに同時アクセスが可能な機構を有して!/、る。  [0006] In these configurations, the SDRAM 1124 and the SRAM 1122 or the NOR flash memory 1123 have a mechanism that allows simultaneous access to any of them! /

[0007] また、行アドレスと列アドレスを指定してアクセスするメモリデバイスと、行アドレスで 指定してアクセスするメモリデバイスと、を制御するにあたり、 CS信号以外の全ての外 部端子を可能な限り共有する方法も考えられている。 [0007] Further, in controlling a memory device to be accessed by specifying a row address and a column address, and a memory device to be accessed by specifying a row address, all the external devices other than the CS signal are controlled. A method of sharing the terminal as much as possible has been considered.

[0008] 一方、行アドレスのみを指定するメモリデバイスの代表としてフラッシュメモリのコント ローラの類似性に着目し、共有接続可能な信号と個別接続信号に分類し、かつ柔軟 なメモリアクセス制御を実現したものが考えられている(例えば、特許文献 1参照)。な お、 SDRAMに対しての共用化につ!、てまでは述べられて!/、な!/、。  [0008] On the other hand, as a representative of a memory device that specifies only a row address, attention has been paid to the similarity of controllers of flash memories, and signals are classified into signals that can be shared and those that are individually connected, and flexible memory access control has been realized. (See, for example, Patent Document 1). By the way, about sharing to SDRAM!

特許文献 1:特開 2003- 131940号公報  Patent Document 1: JP-A-2003-131940

発明の開示  Disclosure of the invention

発明が解決しょうとする課題  Problems to be solved by the invention

[0009] しかしながら、 SDRAMに代表される行アドレスと列アドレスを指定するメモリデバイ スのコントローラと、 SRAMに代表される行アドレスのみを指定するメモリデバイスの コントローラを個別に実装すると、端子数が増大するという問題が発生する。一方、上 述した 2種類のメモリデバイスの外部端子を可能な限り共用すると、 SRAM側は逐次 方式のインターフェースを採用しているのに対して SDRAM側はデータとアドレスを 分離したノ ィプライン方式を採用しているような場合、 SRAMと SDRAMの切替えが 頻繁に発生すると、 SDRAM側のパイプライン制御の効果を発揮できない。このため 、データバスを使用できない区間が発生し、メモリへのアクセス効率が下がってしまう という問題が発生する。 However, if a memory device controller that specifies a row address and a column address typified by SDRAM and a memory device controller that specifies only a row address typified by SRAM are separately mounted, the number of terminals increases. Problem arises. On the other hand, if the external terminals of the two types of memory devices described above are shared as much as possible, the SRAM side adopts a serial interface, while the SDRAM side adopts a knock-line method in which data and addresses are separated. In such cases, if switching between SRAM and SDRAM occurs frequently, the effect of pipeline control on the SDRAM side cannot be achieved. For this reason, a section in which the data bus cannot be used occurs, and a problem occurs in that the efficiency of memory access is reduced.

[0010] 本発明の目的は、行アドレスを指定してデータの転送が可能なメモリデバイスと、行 アドレスと列アドレスを指定することによりデータ転送可能なメモリデバイスとを制御す るにあたり、半導体装置の端子数の増加を抑えつつ、データバスの使用効率を高め ることが可能なメモリコントローラ及び半導体装置を提供することである。  An object of the present invention is to control a memory device capable of transferring data by designating a row address and a memory device capable of data transfer by designating a row address and a column address. An object of the present invention is to provide a memory controller and a semiconductor device capable of improving the use efficiency of a data bus while suppressing an increase in the number of terminals.

課題を解決するための手段  Means for solving the problem

[0011] 本メモリコントローラは、単一アドレスを指定してデータの転送が可能な第 1メモリ装 置と、行アドレスと列アドレスを指定することによりデータ転送可能な第 2メモリ装置と を制御するにあたり、データバスを時分割で共用する構成となし、その他の制御線を それぞれのメモリ装置に対して独立して接続する構成とした。 [0011] The memory controller controls a first memory device that can transfer data by specifying a single address, and a second memory device that can transfer data by specifying a row address and a column address. In this case, the configuration was such that the data bus was shared in a time-sharing manner, and other control lines were connected independently to each memory device.

発明の効果 [0012] 本発明によれば、単一アドレスを指定してデータの転送が可能な第 1メモリ装置と、 行アドレスと列アドレスを指定することによりデータ転送可能な第 2メモリ装置とを制御 するにあたり、半導体装置の端子数の増加を抑えつつ、データバスの使用効率を高 めることが可能なメモリコントローラ及びそのようなメモリコントローラを備えた半導体装 置を提供できる。 The invention's effect According to the present invention, the first memory device capable of transferring data by designating a single address and the second memory device capable of transferring data by designating a row address and a column address are controlled. In this regard, it is possible to provide a memory controller capable of improving the use efficiency of the data bus while suppressing an increase in the number of terminals of the semiconductor device, and a semiconductor device including such a memory controller.

図面の簡単な説明  Brief Description of Drawings

[0013] [図 1]従来のメモリコントローラの接続例を示す図  FIG. 1 is a diagram showing a connection example of a conventional memory controller

[図 2]本発明の一実施の形態に係るメモリコントローラの接続例を示す図  FIG. 2 is a diagram showing a connection example of a memory controller according to one embodiment of the present invention;

[図 3]図 2に示すメモリコントローラの構成図  [FIG. 3] Configuration diagram of the memory controller shown in FIG.

[図 4]図 3に示す FIFOに蓄積したアクセス要求のデータ構成図  [FIG. 4] Data configuration diagram of access requests stored in the FIFO shown in FIG.

[図 5]図 6に示すアクセス要求を順位操作しないで実行した場合のタイミング図  [FIG. 5] Timing chart when the access requests shown in FIG. 6 are executed without prioritizing

[図 6]FIFOに蓄積したアクセス要求の一例を示す図  FIG. 6 is a diagram showing an example of an access request stored in a FIFO

[図 7]図 6に示すアクセス要求を順位操作した場合のタイミング図  [FIG. 7] Timing chart when the access requests shown in FIG. 6 are ranked

発明を実施するための最良の形態  BEST MODE FOR CARRYING OUT THE INVENTION

[0014] 以下、本発明をメモリコントローラ及び半導体装置に適用した一実施の形態につい て、図面を用いて具体的に説明する。  Hereinafter, an embodiment in which the present invention is applied to a memory controller and a semiconductor device will be specifically described with reference to the drawings.

[0015] 図 2は、本実施の形態に係るメモリコントローラ 121と、メモリデバイスとして SRAM1 22と、 NOR型フラッシュメモリ 123と、 SDRAM 124との接続例を示している。メモリ コントローラ 121に対して、行アドレスを指定してデータの転送が可能なメモリデバイ スとして SRAM122と NOR型フラッシュメモリ 123が接続し、行アドレスと列アドレスを 指定することによりデータ転送可能なメモリデバイスとして SDRAM124が接続して いる。  FIG. 2 shows a connection example of a memory controller 121 according to the present embodiment, an SRAM 122 as a memory device, a NOR flash memory 123, and an SDRAM 124. An SRAM 122 and a NOR flash memory 123 are connected to the memory controller 121 as a memory device that can transfer data by specifying a row address, and a memory device that can transfer data by specifying a row address and a column address. Is connected to the SDRAM 124.

[0016] メモリコントローラ 121は、半導体装置としての LSIにおけるメモリインタフェース (端 子部分)であり、 LSI側からのメモリアクセス要求に対応してメモリデバイスに対するリ ード/ライトを制御する働きをする。 LSIの構成による力 メモリコントローラ 121に対 して、例えば CPU, DSP, DMA,ァクセラレータ等がアクセス要求を出す。  [0016] The memory controller 121 is a memory interface (terminal portion) in an LSI as a semiconductor device, and functions to control read / write to a memory device in response to a memory access request from the LSI. For example, the CPU, DSP, DMA, accelerator, etc. issue an access request to the memory controller 121 due to the configuration of the LSI.

[0017] メモリコントローラ 121力ら SRAM122、 NOR型フラッシュメモリ 123、 SDRAM 12 4へのデータのリード Zライトは、共通のデータバス 107を介して行う構成となってい る。なお、データバス 107のバス幅は、 SRAM 122及び NOR型フラッシュメモリ 123 で使用するバス幅と、 SDRAM124で使用するバス幅のうち大きい方のバス幅を選 択するものとする。 The memory controller 121 reads data from the SRAM 122, the NOR flash memory 123, and the SDRAM 124. The Z write is performed via the common data bus 107. The As the bus width of the data bus 107, a larger bus width is selected from the bus width used in the SRAM 122 and the NOR flash memory 123 and the bus width used in the SDRAM 124.

[0018] 以上のように、インターフェースの異なるメモリ装置につ!、てデータバス 107を共用 化したことにより、例えば 32ビットのデータバスをメモリコントローラ 121から各メモリデ バイス(122、 124)に別々に接続する場合に比べて、 32の端子数を削減することが できる。  As described above, by sharing the data bus 107 for memory devices having different interfaces, for example, a 32-bit data bus is separately provided from the memory controller 121 to each of the memory devices (122, 124). The number of 32 terminals can be reduced compared to the case of connection.

[0019] SRAM122と NOR型フラッシュメモリ 123とは、アドレスバス 102及びチップセレクト 信号を除く制御信号の制御線(103, 104, 105, 106)を共用しており、 SDRAM1 24はアドレスバス 111及び全ての制御線(112〜118)が独立に接続して!/、る。すな わち、アドレスバス 102及び 111、同期クロック信号(CLK)線 103及び 118、ライトイ ネーブル信号 (WE)線 104及び 115、リードィネーブル信号 (RE)線 105及び 116、 バイトイネーブル信号 (BE)線 106及び 118はそれぞれのメモリデバイスにそれぞれ 各一組ずつ接続され、チップセレクト信号 (CS)線 101、 108、 112はメモリデバイス 毎に接続されている。また、 SDRAM124に対しては、バンクセレクト信号 (BA)線 1 17が接続されており、それぞれのメモリデバイスの共有信号として、データバス 107 が接続されている。  The SRAM 122 and the NOR flash memory 123 share the address bus 102 and control lines (103, 104, 105, 106) for control signals excluding the chip select signal. Control lines (112 to 118) are connected independently! That is, address buses 102 and 111, synchronous clock signal (CLK) lines 103 and 118, write enable signal (WE) lines 104 and 115, read enable signal (RE) lines 105 and 116, byte enable signal (BE ) Lines 106 and 118 are connected to the respective memory devices, one set each, and chip select signal (CS) lines 101, 108, 112 are connected for each memory device. A bank select signal (BA) line 117 is connected to the SDRAM 124, and a data bus 107 is connected as a shared signal for each memory device.

[0020] 上記の構成にて SRAM122あるいは NOR型フラッシュメモリ 123へのデータァクセ スと、 SDRAM 124へのデータアクセスをデータバス 107上にて時分割で行う構成を 有する。  In the above configuration, a data access to the SRAM 122 or the NOR flash memory 123 and a data access to the SDRAM 124 are performed on the data bus 107 in a time division manner.

[0021] 次に、図 3を用いてメモリコントローラ 121の構成と動作を説明する。図 3に示すよう に、メモリコントローラ 121は、 FIFOメモリ 201と、メモリ制御信号生成装置 202と、次 回アクセス制御装置 203と、 SDRAMアクセス区間判定装置 204と力 構成されてい る。  Next, the configuration and operation of the memory controller 121 will be described with reference to FIG. As shown in FIG. 3, the memory controller 121 includes a FIFO memory 201, a memory control signal generation device 202, a next access control device 203, and an SDRAM access section determination device 204.

[0022] FIFOメモリ 201は、 LSIから与えられるメモリアクセス要求の順序を管理するバッフ ァである。図 4にメモリアクセス要求の具体的な内容を例示する。同図に示すように、 メモリデバイスへのアクセス長 301と、リード'ライト極性情報 302と、アドレス情報 303 と、アクセスするメモリデバイスの CS空間を示すアクセス先情報 304とから構成されて いる。 FIFOメモリ 201は、先頭に格納しているメモリアクセス要求を経路 215にてメモ リ制御信号生成装置 202に通知する。 The FIFO memory 201 is a buffer that manages the order of memory access requests given from the LSI. FIG. 4 illustrates the specific contents of the memory access request. As shown in the drawing, the memory device includes an access length 301 to the memory device, read / write polarity information 302, address information 303, and access destination information 304 indicating the CS space of the memory device to be accessed. Yes. The FIFO memory 201 notifies the memory access request stored at the head to the memory control signal generation device 202 via the path 215.

[0023] メモリ制御信号生成装置 202は、メモリアクセス要求の内容にしたがって各種メモリ デバイスに対してアクセスのための制御信号 (データバス信号以外)を生成する。ま た、メモリ制御信号生成装置 202は、 SDRAMのアクセス状況を SDRAMアクセス区 間判定装置 204に対して経路 216を用いて通知する。 SDRAM 124のアクセス状況 には、 SDRAM124におけるプリチャージ、セルフリフレッシュ、パワーダウンモード 等の動作状況に関する情報を含む。このようなアクセス状況情報は経路 216を通し て SDRAMアクセス区間判定装置 204に通知する。  [0023] The memory control signal generation device 202 generates a control signal (other than a data bus signal) for accessing various memory devices according to the content of the memory access request. In addition, the memory control signal generation device 202 notifies the SDRAM access state determination device 204 of the access state of the SDRAM using the path 216. The access status of the SDRAM 124 includes information on the operation status of the SDRAM 124 such as precharge, self-refresh, and power down mode. Such access status information is notified to the SDRAM access section determination device 204 via the path 216.

[0024] SDRAMアクセス区間判定装置 204は、 FIFOメモリ 201に蓄積されたアクセス要 求のアクセス先情報 304、アドレス情報 303、及びリード'ライト極性情報が経路 211 を経由して伝えられる。 SDRAMアクセス区間判定装置 204は、アクセス先情報 304 より SDRAMアクセスが連続して!/、ることを、アドレス情報 303より同一バンクへの連 続アクセスが要求されていることを、リード'ライト極性情報 302によりリードアクセスか らライトアクセスへアクセスが遷移することを観測することが可能となる。そして、 SDR AMアクセス区間判定装置 204は、経路 211及び経路 216で得られた情報を元に、 SDRAMアクセスが連続して発生する場合のデータバスアイドル区間を検出し、経 路 212を用いて次回アクセス制御装置 203へ通知する。  The access destination information 304, address information 303, and read / write polarity information of the access request stored in the FIFO memory 201 are transmitted to the SDRAM access section determination device 204 via the path 211. The SDRAM access section determination device 204 determines from the access destination information 304 that SDRAM access is continuous! /, And that the address information 303 requests continuous access to the same bank. 302 makes it possible to observe the transition of the access from the read access to the write access. Then, the SDRAM access section determination device 204 detects a data bus idle section in the case where the SDRAM access occurs continuously based on the information obtained through the paths 211 and 216, and uses the path 212 to Notify the access control device 203.

[0025] 次回アクセス制御装置 203は、 SDRAMアクセス区間判定装置 204力 通知され たデータバスアイドル区間とレジスタ 205に記憶した閾値 (クロック数)とを比較する。 レジスタ 205に記憶する閾値は、 SRAM 122又は NOR型フラッシュメモリ 123に対 する最小アクセス長に対応したクロック数とすることが望ましい。経路 217を経由して 次回アクセス制御装置 203へ伝えられる。データバスアイドル区間に SRAM122又 は NOR型フラッシュメモリ 123へのアクセスを実行することができる力否力判定する ためのクロック数 (サイクル数)を記憶して 、る。  The next access control device 203 compares the notified data bus idle period with the threshold value (the number of clocks) stored in the register 205. The threshold value stored in the register 205 is desirably the number of clocks corresponding to the minimum access length for the SRAM 122 or the NOR flash memory 123. The information is transmitted to the next access control device 203 via the route 217. In the idle period of the data bus, the number of clocks (the number of cycles) for determining whether or not the access to the SRAM 122 or the NOR flash memory 123 can be performed is stored.

[0026] データバスアイドル区間が閾値よりも大きい場合、 FIFOメモリ 201内に蓄積したァ クセス要求の順位を制御する可能性がある。具体的には、 SDRAMアクセスが連続 して発生する場合に生じるデータバスアイドル区間を、後続のアクセス要求の処理で 埋めることができる場合、後続の SRAM122又は NOR型フラッシュメモリ 123に対す るアクセス要求を先頭に繰り上げる。 FIFO201のアクセス要求の順番は経路 213を 経由して次回アクセス制御装置 203へ伝えられ、アクセス要求の制御は経路 214を 経由して FIFO201に伝えられる。 When the data bus idle period is larger than the threshold, the order of the access requests accumulated in the FIFO memory 201 may be controlled. Specifically, the data bus idle section that occurs when SDRAM accesses occur consecutively is processed by the subsequent access request processing. If it can be filled, an access request for the subsequent SRAM 122 or NOR flash memory 123 is moved up to the top. The order of the access request of the FIFO 201 is transmitted to the next access control device 203 via the path 213, and the control of the access request is transmitted to the FIFO 201 via the path 214.

[0027] ここで、図 5を参照して、 SDRAMアクセスが連続した場合のデータバスアイドル区 間の発生について説明する。図 5に示すタイムチャートは、 FIFOメモリ 201に図 6に 示す順番でアクセス要求が蓄積して 、た場合に、アクセス順位の制御を行わな、で 処理した場合のデータバス 107の使用状況を示している。特に、同一バンクで異なる 行アドレスに連続アクセスする場合を例示して 、る。このようなケースはデータバスァ ィドル区間が発生する典型的な例の一つである。  Here, with reference to FIG. 5, a description will be given of the occurrence of a data bus idle section when SDRAM access is continuous. The time chart shown in FIG. 5 shows the use status of the data bus 107 when the access requests are accumulated in the FIFO memory 201 in the order shown in FIG. ing. Particularly, a case where different row addresses are successively accessed in the same bank will be exemplified. Such a case is one of typical examples in which a data bus idle section occurs.

[0028] メモリコントローラ 121は、 FIFOメモリ 201の先頭に SDRAM124に対するアクセス 要求が位置した場合、チップセレクト信号 (CS)線 112により SDRAM 124を選択し、 SDRAM124へのアクセスのためにデータバス 107を使用できるようにする。そして、 SDRAMコマンドである Activateにより行アドレスを発行し、そこから所定時間経過後 に SDRAMコマンドであるリード(A)で列アドレスを発行する。列アドレスを発行して から所定時間経過後に、対象バンク (例えばバンク A)から読み出されたリードデータ の先頭 (AO)がデータバス 107上に出力される。先頭のリードデータ (AO)から連続し て残り 3バースト分のリードデータ(A1〜A3)が連続してデータバス 107上に出力さ れる。  When an access request to the SDRAM 124 is located at the beginning of the FIFO memory 201, the memory controller 121 selects the SDRAM 124 by the chip select signal (CS) line 112 and uses the data bus 107 to access the SDRAM 124 It can be so. Then, a row address is issued by the SDRAM command Activate, and after a predetermined time elapses, a column address is issued by the SDRAM command read (A). After a lapse of a predetermined time from the issuance of the column address, the head (AO) of the read data read from the target bank (for example, bank A) is output on the data bus 107. The remaining three bursts of read data (A1 to A3) are output on the data bus 107 continuously from the first read data (AO).

[0029] なお、行アドレスを発行してから列アドレスを発行するまでに要する時間並びに列 アドレスを発行して力もデータノ ス 107上に先頭データが現れるまでに要する時間は 、システム設計に応じた固定値である。  The time required from the issuance of a row address to the issuance of a column address and the time required to issue a column address and the time required for the head data to appear on the data node 107 are fixed according to the system design. Value.

[0030] SDRAM124は行アドレスと列アドレスとの組合せでアドレスを指定する。行ァドレ ス及び列アドレスの発行にそれぞれ 1クロック分要する。したがって、新たに SDRAM 124にアクセスする場合、上述した固定値とアドレス発行に要する時間との合計時間 がデータバスアイドル区間となる。図 5に示すように、 SDRAM124力も先頭のリード データ AOがデータバス 107に出力されるまでに、最初のデータバスアイドル区間が 発生している。 [0031] なお、対象バンクからバッファ内に読み出されたデータは、 SDRAMコマンドである プリチャージにより元の位置に戻される。 [0030] The SDRAM 124 specifies an address by a combination of a row address and a column address. It takes one clock each to issue a row address and a column address. Therefore, when newly accessing the SDRAM 124, the total time of the above-mentioned fixed value and the time required for address issuance is the data bus idle section. As shown in FIG. 5, the first data bus idle period occurs before the first read data AO of the SDRAM 124 is output to the data bus 107. The data read from the target bank into the buffer is returned to the original position by the SDRAM command, precharge.

[0032] 図 5に示す例では、 SDRAM124の同一バンク Aで異なる行アドレスにアクセスす るアクセス要求が連続している場合を示している。すなわち、図 6に示すアクセス順序 にお!/、て 2番目のアクセス要求は 1番目のアクセス要求と同一バンク Aであって異な る行アドレスにアクセスするアクセス要求であるものとする。  The example shown in FIG. 5 shows a case where access requests for accessing different row addresses in the same bank A of the SDRAM 124 are continuous. That is, in the access order shown in FIG. 6, the second access request is an access request that accesses the same bank A as the first access request and a different row address.

[0033] ところで、 SDRAM124は必ずプリチャージして力もでないと同一バンクでは異なる 行アドレスを選択する Activateを発行できない。そのため、メモリ制御信号生成装置 2 02は、プリチャージコマンドを発行してプリチャージを行う一方、最後のリードデータ( A3)がデータバス 107に出力した次のタイミングでクロック同期して行アドレスを選択 する Activateを発行する。  By the way, the SDRAM 124 cannot issue an Activate to select a different row address in the same bank unless the SDRAM 124 is precharged and capable. Therefore, the memory control signal generation device 202 issues a precharge command to perform precharge, and selects a row address in synchronization with the clock at the next timing when the last read data (A3) is output to the data bus 107. Issue Activate.

[0034] 図 6における 2番目のアクセス要求の実行では、 Activateにより行アドレスを発行し、 その後リード(B)により列アドレスを発行し、その後にデータバス 107上にリードデー タ(B0〜B3)が連続して出力される。  In the execution of the second access request in FIG. 6, a row address is issued by Activate, a column address is issued by read (B), and then read data (B 0 to B 3) is placed on the data bus 107. Output continuously.

[0035] このように、 2番目のアクセス要求の実行にお!、ても同一バンク Aで異なる行ァドレ スにアクセスするため、プリチャージしてから行アドレスの発行、列アドレスの発行を 行うこととなり、上記同様のデータバスアイドル区間が発生している。  As described above, even when the second access request is executed, even if a different row address is accessed in the same bank A, it is necessary to issue a row address and a column address after precharging. And a data bus idle section similar to the above occurs.

[0036] 次に、図 6において 3番目のアクセス要求である SRAM122に対するアクセス要求 力 SFIFOメモリ 201の先頭に来る。メモリコントローラ 121は、 SDRAM124へのァクセ ス(リード B)が終了すると、次のクロックに同期して SRAM122に対するチップセレク ト信号 (CS)線 101をアクティブにすると共に、 SRAMコマンドであるライト(C)により アドレスバス 102上にライトアドレス(単一アドレス)を出力する。 SRAM122の場合、 アクセス時のアドレス指定は単一アドレスを指定するだけでよぐ SDRAM124に対 するアドレス指定の場合のような空きは生じない。 SRAM122はライト要求と同時に データバス 107上にライトデータ Cが出力され、当該データ Cが SRAM122に書き込 まれる。  Next, in FIG. 6, the third access request, which is an access request to the SRAM 122, comes to the top of the SFIFO memory 201. When the access (read B) to the SDRAM 124 is completed, the memory controller 121 activates the chip select signal (CS) line 101 for the SRAM 122 in synchronization with the next clock, and also writes the SRAM command “write” (C). Outputs a write address (single address) on the address bus 102. In the case of the SRAM 122, the address specification at the time of access needs to specify only a single address, and there is no space unlike the address specification for the SDRAM 124. In the SRAM 122, the write data C is output onto the data bus 107 simultaneously with the write request, and the data C is written into the SRAM 122.

[0037] 次に、図 6において 4番目のアクセス要求である SRAM122に対するアクセス要求 が FIFOメモリ 201の先頭に来る。そして、 3番目のアクセス要求の実行が完了した次 のクロックに同期して、リード Dによるリードアドレスが発行されると共に、 SRAM122 のリードアドレスからリードデータ Dが読み出されてデータバス 107上に出力される。 Next, an access request to the SRAM 122, which is the fourth access request in FIG. 6, comes to the head of the FIFO memory 201. Then, after the execution of the third access request is completed In synchronization with this clock, a read address by read D is issued, and read data D is read from the read address of the SRAM 122 and output on the data bus 107.

[0038] 以上のように、 SDRAM124に対するアクセスでは、行アドレスを指定してから列ァ ドレスを指定し、その後にデータノ ス 107の使用を開始するので、図 5Aの矢印で示 される使用されて ヽな 、帯域 (データバスアイドル区間)が発生する。  [0038] As described above, in accessing the SDRAM 124, the row address is specified, then the column address is specified, and then the use of the data node 107 is started. However, a band (data bus idle section) occurs.

[0039] 本実施の形態では、 SDRAM124に対するアクセス時に生じるデータバスアイドル 区間を判定し、そのデータバスアイドル区間に、後続の SRAM122又は NOR型フラ ッシュメモリ 123へのアクセス要求を割り込ませるだけの時間幅があれば、 FIFOメモ リ 201におけるアクセス要求の順位を操作して後続の SRAM122又は NOR型フラッ シュメモリ 123へのアクセス要求を先に実行するものとした。  In the present embodiment, the data bus idle section that occurs when accessing the SDRAM 124 is determined, and the time width for interrupting the subsequent access request to the SRAM 122 or the NOR flash memory 123 is determined in the data bus idle section. If so, the order of the access requests in the FIFO memory 201 is manipulated to execute the access request to the subsequent SRAM 122 or NOR type flash memory 123 first.

[0040] 図 7は、 FIFOメモリ 201におけるアクセス要求の順位を操作した場合のタイムチヤ ートである。当初に FIFOメモリ 201に蓄積されたアクセス要求の順位は図 6に示す通 りである。図 6に示すアクセス要求の内容及び順位を分析すると、図 5A、図 5Bに示 すように、 1番目のアクセス要求による SDRAM124アクセス時、並びに同一バンク A の異なる行アドレスにアクセスすることとなる 2番目のアクセス要求時のそれぞれにお いてデータバスアイドル区間が生じることが判明する。  FIG. 7 is a time chart when the order of access requests in the FIFO memory 201 is manipulated. The order of the access requests initially stored in the FIFO memory 201 is as shown in FIG. Analyzing the contents and order of the access requests shown in FIG. 6, as shown in FIG. 5A and FIG. 5B, the SDRAM 124 is accessed by the first access request and different row addresses of the same bank A are accessed. It is found that a data bus idle period occurs at each of the access requests.

[0041] SDRAMアクセス区間判定装置 204は、 FIFOメモリ 201に蓄積されたアクセス要 求データを取り込んで、 SDRAM 124へのアクセス要求から SDRAM 124アクセス 時のデータバスアイドル区間を検出する。また、メモリ制御信号生成装置 202は、 SD RAM124におけるプリチャージ、セルフリフレッシュ、パワーダウンモードの各動作タ イミングを管理'制御している。後続の SDRAMアクセスがない場合、プリチャージを 発行して力もデータバス 107を使わない区間が発生する。またセルフリフレッシュ、パ ヮーダウンモードからの復帰時にはデータバス 107を使わない区間が発生する。この ようにデータバス 107を使わない区間が発生する可能性のあるイベントを SDRAMァ クセス状況として SDRAMアクセス区間判定装置 204へ通知する。  The SDRAM access section determination device 204 fetches the access request data stored in the FIFO memory 201 and detects a data bus idle section at the time of accessing the SDRAM 124 from the access request to the SDRAM 124. Further, the memory control signal generation device 202 manages and controls each operation timing of the precharge, the self refresh, and the power down mode in the SD RAM 124. If there is no subsequent SDRAM access, a section occurs in which the precharge is issued and the power bus 107 is not used. Also, when returning from the self-refresh or power-down mode, a section in which the data bus 107 is not used occurs. In this way, an event in which an interval in which the data bus 107 is not used may occur is notified to the SDRAM access interval determination device 204 as an SDRAM access status.

[0042] SDRAMアクセス区間判定装置 204は、図 6に示す FIFOメモリ 201のアクセス要 求情報から図 5に示す SDRAMアクセス時のデータバスアイドル区間を検出する。そ して、検出したデータバスアイドル区間情報を次回アクセス制御装置 203へ通知する 。また、 SDRAMアクセス区間判定装置 204は、メモリ制御信号生成装置 202から受 け取った SDRAMアクセス状況から SDRAM124のアクセス期間中に、データバス 1 07を不使用になる区間が生じる力否力判定する。不使用区間すなわちデータバスァ ィドル区間が発生する場合は次回アクセス制御装置 203へ通知する。 The SDRAM access section determination device 204 detects the data bus idle section during the SDRAM access shown in FIG. 5 from the access request information of the FIFO memory 201 shown in FIG. Then, the detected data bus idle section information is notified to the next access control device 203. . In addition, the SDRAM access section determination device 204 determines whether or not there is a section in which the data bus 107 is not used during the access period of the SDRAM 124 based on the SDRAM access status received from the memory control signal generation device 202. If an unused section, that is, a data bus idle section occurs, the access control device 203 is notified of the next time.

[0043] 次回アクセス制御装置 203は、レジスタ 205に予め記憶した閾値と SDRAMァクセ ス区間判定装置 204から通知されたデータバスアイドル区間とを比較する。図 5に示 す例では、最初のデータバスアイドル区間及び 2番目のデータバスアイドル区間のそ れぞれが閾値よりも大きい。すなわち、図 7の左側の矢印に示す最初のデータバスァ ィドル区間において図 6における 3番目のアクセス要求 (ライト C)を先行的に実行す ることができ、図 7の右側の矢印に示す 2番目のデータバスアイドル区間において図 6における 4番目のアクセス要求(リード D)を先行的に実行することができる。  The next access control device 203 compares the threshold value previously stored in the register 205 with the data bus idle period notified from the SDRAM access period determination device 204. In the example shown in FIG. 5, each of the first data bus idle section and the second data bus idle section is larger than the threshold. That is, the third access request (write C) in FIG. 6 can be executed earlier in the first data bus idle section shown by the left arrow in FIG. 7, and the second access request shown by the right arrow in FIG. In the data bus idle period, the fourth access request (read D) in FIG. 6 can be executed earlier.

[0044] そこで、次回アクセス制御装置 203は、図 6における 3番目のアクセス要求(ライト C) を FIFOメモリ 201の先頭に移動し、図 6における 4番目のアクセス要求(リード D)を S DRAMアクセス要求(リード A)の直後の 3番目に移動する。このように、先行する SD RAMアクセス要求によって発生するデータバスアイドル区間を、後続の SRAMァク セス要求又は NOR型フラッシュメモリアクセス要求で埋めるように順位操作を行う。順 位操作した後の順番で順次アクセス要求を実行することにより、図 7に示すようにデ ータバス 107の使用効率を上げることができる。  Therefore, the next access control device 203 moves the third access request (write C) in FIG. 6 to the top of the FIFO memory 201 and transfers the fourth access request (read D) in FIG. Go to the third position immediately after the request (lead A). In this way, the order operation is performed so that the data bus idle section generated by the preceding SD RAM access request is filled with the subsequent SRAM access request or NOR type flash memory access request. By sequentially executing access requests in the order after the order operation, the use efficiency of the data bus 107 can be increased as shown in FIG.

[0045] このような本実施の形態によれば、安価な SDRAMを使用頻度が高ぐ高価な NO R型フラッシュメモリや SRAMの使用頻度が低 、場合に、データバスの使用効率を 高めつつ、性能を維持することができ、端子数の増加を抑制することが可能となる。  According to the present embodiment as described above, in the case where an inexpensive NOR flash memory or an SRAM in which an inexpensive SDRAM is frequently used is infrequently used, the efficiency of use of a data bus is increased. Performance can be maintained, and an increase in the number of terminals can be suppressed.

[0046] なお、上記の構成は一例であり、構成するメモリデバイスを限定するものではな 、。  Note that the above configuration is an example, and does not limit the memory devices to be configured.

また、使用するデバイスに依存した専用の制御信号を必要とするのであれば、その 信号を追加する構成も本発明の示す範囲となる。  If a dedicated control signal depending on the device to be used is required, a configuration for adding the signal is also within the scope of the present invention.

[0047] また、以上の説明では 1つのメモリコントローラ 121を用いた場合を説明したが、上 記実施の形態と同じメモリコントローラを半導体装置上に複数併設し、各メモリコント口 ーラがデータバスを時分割で共用するようにしても良い。この場合、メモリコントローラ 間でアクセスが衝突しな!ヽように互いに協調してメモリアクセスを実行し、かつ各メモリ コントローラにおいて FIFOに蓄積したアクセス要求の順位を上述したアルゴリズムに したがって操作するようにしても良い。さらに、そのような半導体装置上に単一アドレ スを指定してデータの転送が可能なメモリデバイスを制御可能なメモリコントローラを 1つ又は複数設置し、各コントローラが協調して動作するように構成してもよ 、。 In the above description, the case where one memory controller 121 is used has been described. However, a plurality of the same memory controllers as those in the above embodiment are provided on a semiconductor device, and each memory controller has a data bus. May be shared in a time-sharing manner. In this case, memory accesses are executed in cooperation with each other so that accesses between memory controllers do not conflict with each other. The order of the access requests stored in the FIFO in the controller may be operated in accordance with the algorithm described above. Furthermore, one or more memory controllers capable of controlling a memory device capable of transferring data by designating a single address on such a semiconductor device are provided, and each controller operates in a cooperative manner. You can.

[0048] 本明細書は、 2004年 4月 13日出願の特願 2004— 117918に基づく。この内容は 全てここに含めておく。 [0048] The present specification is based on Japanese Patent Application No. 2004-117918 filed on April 13, 2004. All of this content is included here.

産業上の利用可能性  Industrial applicability

[0049] 本発明は、行アドレスを指定してデータの転送が可能なメモリデバイスと、行ァドレ スと列アドレスを指定することによりデータ転送可能なメモリデバイスとを制御するにあ たり、半導体装置の端子数の増加を抑えつつ、データバスの使用効率を高めること ができ、メモリコントローラ及び半導体装置に適用可能である。 The present invention relates to controlling a memory device capable of transferring data by designating a row address and a memory device capable of transferring data by designating a row address and a column address. It is possible to increase the efficiency of using the data bus while suppressing an increase in the number of terminals, and it is applicable to a memory controller and a semiconductor device.

Claims

請求の範囲 The scope of the claims [1] 単一アドレスを指定してデータの転送が可能な第 1メモリ装置と行アドレス及び列ァ ドレスを指定することによりデータ転送可能な第 2メモリ装置とを制御するメモリコント ローラにおいて、前記各メモリ装置に対するデータバスを時分割にて共用する構成と し、前記各メモリ装置に接続する制御線をそれぞれ独立にしたメモリコントローラ。  [1] A memory controller for controlling a first memory device capable of transferring data by designating a single address and a second memory device capable of transferring data by designating a row address and a column address, A memory controller in which a data bus for each memory device is shared in a time-division manner, and control lines connected to each memory device are independent. [2] 前記データバスのバス幅は、前記第 1メモリ装置のバス幅と前記第 2メモリ装置のバ ス幅とのうち大きい方のバス幅を選択する請求項 1に記載のメモリコントローラ。  2. The memory controller according to claim 1, wherein the bus width of the data bus selects a larger one of a bus width of the first memory device and a bus width of the second memory device. [3] アクセス先となる前記各メモリ装置へのアクセス要求を管理する FIFOメモリと、前記 第 2メモリ装置がアクセスを不可とする区間の開始と終了を検出するアクセス区間判 定部と、前記アクセス区間判定部にてアクセス不可であると検出されたアクセス不可 区間に前記 FIFOメモリに蓄積した後続の第 1メモリ装置へのアクセス要求を実行可 能ならば当該第 1メモリ装置へのアクセス要求が先頭に来るように前記 FIFOメモリに おけるアクセス要求の順位を入れ替えるアクセス制御部と、を具備する請求項 1に記 載のメモリコントローラ。  [3] A FIFO memory that manages an access request to each of the memory devices to be accessed, an access section determination unit that detects the start and end of a section in which the second memory device cannot access, and If it is possible to execute an access request to the subsequent first memory device stored in the FIFO memory during the access disabled section detected as inaccessible by the section determination unit, the access request to the first memory device will be the first 2. The memory controller according to claim 1, further comprising: an access control unit configured to change the order of access requests in the FIFO memory so that the order of the access requests is changed. [4] 前記 FIFOメモリに蓄積されるアクセス要求は、アクセス先となるメモリ装置の種別、 アクセス長、リード'ライトの極性、アドレスを含んだ構成とし、前記アクセス区間判定 部は、前記アクセス要求に含まれた情報に基づいて前記第 2メモリ装置がアクセスを 不可とする区間の開始と終了を検出する請求項 3記載のメモリコントローラ。  [4] The access request stored in the FIFO memory includes a type of a memory device to be accessed, an access length, read / write polarity, and an address. 4. The memory controller according to claim 3, wherein a start and an end of a section in which the second memory device disables access are detected based on the included information. [5] 前記アクセス区間判定部は、前記第 2メモリ装置について、プリチャージ、セルフリ フレッシュ、パワーダウンモードの各動作状態と、前記アクセス要求に含まれた情報と に基づいて、前記第 2メモリ装置に対するアクセス不可区間を検出する請求項 4記載 のメモリコントローラ。  [5] The access section determination unit is configured to determine, for the second memory device, the second memory device based on operation states of a precharge, a self-refresh, and a power-down mode and information included in the access request. The memory controller according to claim 4, wherein the memory controller detects a section inaccessible to the controller. [6] 前記アクセス制御部は、前記アクセス区間判定部により検出されたアクセス不可区 間と予め設定された閾値とを比較し、検出されたアクセス不可区間が閾値を超えた場 合にアクセス要求の順位を入れ替える請求項 3に記載のメモリコントローラ。  [6] The access control section compares the inaccessible section detected by the access section determining section with a preset threshold, and if the detected inaccessible section exceeds the threshold, the access request is issued. 4. The memory controller according to claim 3, wherein the order is changed. [7] 請求項 1に記載のメモリコントローラを複数備えた半導体装置であって、前記各メモ リコントローラが互いに協調して動作することを特徴とする半導体装置。  7. A semiconductor device comprising a plurality of the memory controllers according to claim 1, wherein the memory controllers operate in cooperation with each other.
PCT/JP2005/006655 2004-04-13 2005-04-05 Memory controller and semiconductor device Ceased WO2005101219A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-117918 2004-04-13
JP2004117918A JP2005301739A (en) 2004-04-13 2004-04-13 Memory controller and semiconductor device

Publications (1)

Publication Number Publication Date
WO2005101219A1 true WO2005101219A1 (en) 2005-10-27

Family

ID=35150178

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/006655 Ceased WO2005101219A1 (en) 2004-04-13 2005-04-05 Memory controller and semiconductor device

Country Status (2)

Country Link
JP (1) JP2005301739A (en)
WO (1) WO2005101219A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126472A (en) * 2016-06-20 2016-11-16 中国航天科技集团公司第九研究院第七七研究所 A kind of control structure realizing static state and dynamic memory controller access seamless switching

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4930825B2 (en) * 2006-02-06 2012-05-16 カシオ計算機株式会社 Imaging device and data transfer device
JP5414350B2 (en) * 2009-05-08 2014-02-12 キヤノン株式会社 Memory control circuit and control method thereof
US9176908B2 (en) 2010-02-23 2015-11-03 Rambus Inc. Time multiplexing at different rates to access different memory types

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6240565A (en) * 1985-08-15 1987-02-21 Hitachi Ltd Memory control system
JPH03218552A (en) * 1989-08-08 1991-09-26 Seiko Epson Corp Memory control circuit and information processor
JPH0877098A (en) * 1994-08-31 1996-03-22 Motorola Inc Data processor with controlled burst memory access and its method
JP2002259322A (en) * 2001-02-27 2002-09-13 Fujitsu Ltd Memory system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6240565A (en) * 1985-08-15 1987-02-21 Hitachi Ltd Memory control system
JPH03218552A (en) * 1989-08-08 1991-09-26 Seiko Epson Corp Memory control circuit and information processor
JPH0877098A (en) * 1994-08-31 1996-03-22 Motorola Inc Data processor with controlled burst memory access and its method
JP2002259322A (en) * 2001-02-27 2002-09-13 Fujitsu Ltd Memory system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126472A (en) * 2016-06-20 2016-11-16 中国航天科技集团公司第九研究院第七七研究所 A kind of control structure realizing static state and dynamic memory controller access seamless switching

Also Published As

Publication number Publication date
JP2005301739A (en) 2005-10-27

Similar Documents

Publication Publication Date Title
KR100724557B1 (en) Out of order dram sequencer
EP1488323B1 (en) Memory system with burst length shorter than prefetch length
EP1646925B1 (en) Apparatus and method for direct memory access in a hub-based memory system
JP5426036B2 (en) MEMORY ACCESS DEVICE FOR MEMORY SHARING OF MULTIPLE PROCESSORS AND ACCESS METHOD
CN108139994B (en) Memory access method and memory controller
US20050268060A1 (en) Method and system for terminating write commands in a hub-based memory system
KR20050005553A (en) Memory hub with internal cache and/or memory access prediction
US8707002B2 (en) Control apparatus
US6549991B1 (en) Pipelined SDRAM memory controller to optimize bus utilization
KR100609623B1 (en) Complex memory chip and data movement method for direct data movement between internal memory devices
EP4246337B1 (en) Electronic system and method for controlling burst length to access memory device of electronic system
US7913013B2 (en) Semiconductor integrated circuit
JP2008009817A (en) Semiconductor device and data transfer method
WO2005101219A1 (en) Memory controller and semiconductor device
KR101022473B1 (en) Method and apparatus for memory bank interleaving in multilayer bus system
KR100332188B1 (en) High bandwidth narrow i/o memory device with command stacking
JP4707351B2 (en) Multi-bank memory scheduling method
JP2007102646A (en) Context switching device
JP4642531B2 (en) Arbitration of data requests
US7536519B2 (en) Memory access control apparatus and method for accomodating effects of signal delays caused by load
JP5130754B2 (en) Semiconductor integrated circuit and memory system
JP2002207541A (en) Microcomputer and data processing device
JP2000227895A (en) Device and method for transferring image data
WO2006132006A1 (en) Memory control apparatus and memory control method
US20070073961A1 (en) Memory controller

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase