KR20190003374A - 반도체 장치 및 액세스 제어 방법 - Google Patents

반도체 장치 및 액세스 제어 방법 Download PDF

Info

Publication number
KR20190003374A
KR20190003374A KR1020180073772A KR20180073772A KR20190003374A KR 20190003374 A KR20190003374 A KR 20190003374A KR 1020180073772 A KR1020180073772 A KR 1020180073772A KR 20180073772 A KR20180073772 A KR 20180073772A KR 20190003374 A KR20190003374 A KR 20190003374A
Authority
KR
South Korea
Prior art keywords
access
request
training
master
memory
Prior art date
Application number
KR1020180073772A
Other languages
English (en)
Other versions
KR102537338B1 (ko
Inventor
가쯔야 미즈모또
도시유끼 히라끼
노부히꼬 혼다
쇼 야마나까
다까히로 이리따
요시히꼬 홋따
Original Assignee
르네사스 일렉트로닉스 가부시키가이샤
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 르네사스 일렉트로닉스 가부시키가이샤 filed Critical 르네사스 일렉트로닉스 가부시키가이샤
Publication of KR20190003374A publication Critical patent/KR20190003374A/ko
Application granted granted Critical
Publication of KR102537338B1 publication Critical patent/KR102537338B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Dram (AREA)
  • Memory System (AREA)
  • Information Transfer Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

라이트 트레이닝 등을 고려한 액세스 제어를 실현한다. 마스터 A(20), 마스터 B(30), 마스터 C(40)는, 리드 요구 및 라이트 요구를 포함하는 액세스 요구를 발행한다. 메모리 컨트롤러(70)는 마스터가 발행한 액세스 요구에 따라서 메모리(90)에 액세스한다. 중앙 버스 제어 시스템(50)은 각 마스터가 발행한 액세스 요구의 메모리 컨트롤러(70)에의 출력을 제어한다. 트레이닝 회로(82)는 메모리(90)에 대한 액세스가 정지된 상태에서 메모리(90)에 대한 트레이닝을 실시한다. 중앙 버스 제어 시스템(50)은 메모리(90)의 트레이닝의 실행을 또한 제어하고, 또한, 트레이닝의 실행 중에는, 마스터가 발행한 액세스 요구 중 리드 요구의 메모리 컨트롤러(70)에의 출력을 억제한다.

Description

반도체 장치 및 액세스 제어 방법{SEMICONDUCTOR DEVICE AND ACCESS CONTROL METHOD}
본 발명은 반도체 장치 및 액세스 제어 방법에 관한 것이며, 예를 들어 메모리에의 액세스를 행하는 반도체 장치, 및 그와 같은 반도체 장치에 있어서의 액세스 제어 방법에 관한 것이다.
특허문헌 1은 복수의 버스 마스터가 공통 버스에 접속하는 버스 시스템에 있어서의 액세스 제어를 개시한다. 특허문헌 1에 기재되는 반도체 장치는, 복수의 마스터와, 메모리 컨트롤러와, 복수의 마스터와 메모리 컨트롤러를 접속하는 버스와, 중앙 버스 제어 시스템을 갖는다. 특허문헌 1에는, 중앙 버스 제어 시스템이, 각 마스터의 전송량을 모니터하고, 각 마스터의 예약 밴드폭과 모니터한 전송량과 권리 부여 가능수에 기초하여, 액세스권의 부여처의 마스터를 선택하는 것이 기재되어 있다. 특허문헌 1에 있어서, 액세스권이 부여되어 있지 않은 마스터의 리퀘스트는, 메모리 컨트롤러와 마스터 사이의 버스에 의해 마스크된다.
또한, 특허문헌 1에는, 메모리의 리프레시를 고려한 밴드폭 제어도 기재되어 있다. 특허문헌 1에서는, 중앙 버스 제어 시스템이, 메모리 컨트롤러에 대하여 리프레시 요구 신호를 출력하고, 메모리의 리프레시 동작을 제어한다. 구체적으로, 중앙 버스 제어 시스템은, 복수의 서브 슬롯을 포함하는 기본 슬롯의 특정한 번호의 서브 슬롯에 있어서 리프레시 요구 신호를 출력하고, 메모리에 있어서 리프레시 동작을 실시시킨다. 특허문헌 1에서는, 중앙 버스 제어 시스템은, 리프레시에 의해 메모리 액세스할 수 없는 기간이 존재하는 서브 슬롯에 대하여, 전체의 요구 밴드폭을 저감시킴으로써, 리프레시를 고려한 밴드폭 제어를 실현한다.
그런데, 근년, 메모리에 대한 데이터의 기입 및 판독 동작에 있어서, 동작 주파수의 고속화에 수반하여, 클럭과 데이터의 타이밍 마진이 엄격해지고 있다. 이 문제에 관하여, 특허문헌 2는 데이터 신호와 클럭 신호 사이의 스큐의 검사를 행하는 검사 회로를 갖는 메모리 인터페이스 회로를 개시한다. 특허문헌 2에 기재된 메모리 인터페이스 회로는, 스큐 검사의 결과에 기초하여 CPU(Central Processing Unit)를 포함하는 제어 회로에 스큐 조정을 요구한다.
국제 공개 제2017/056132호 일본 특허 공개 제2011-150759호 공보
특허문헌 1에서는, 메모리에 있어서의 리프레시를 고려한 액세스 제어가 실시된다. 그러나, 특허문헌 1에서는, 스큐 조정 등을 행하는 것을 고려한 액세스 제어는 실시되지 않는다. 특허문헌 2에도 기재된 바와 같이, 일반적으로, 스큐 조정에는 비교적 긴 시간이 필요하다. 스큐 조정을 행하고 있는 동안은, 메모리에 대한 데이터의 기입 및 판독은 할 수 없기 때문에, 스큐 조정 등을 고려한 액세스 제어가 요망된다.
그 밖의 과제와 신규 특징은, 본 명세서의 기술 및 첨부 도면으로부터 명백하게 될 것이다.
일 실시 형태에 따르면, 반도체 장치는, 마스터가 발행한 액세스 요구의 메모리 컨트롤러에의 출력을 제어하는 액세스 제어부를 포함하고, 그 액세스 제어부는, 메모리에 대한 액세스가 정지된 상태에서 실시되는 메모리에 대한 트레이닝을 또한 제어하고, 트레이닝의 실행 중에는, 마스터가 발행한 액세스 요구 중 리드 요구의 메모리 컨트롤러에의 출력을 억제하는 것이다.
상기 일 실시 형태에 따르면, 트레이닝이 실행되어 메모리 액세스가 정지되는 기간이 존재하는 경우에도, 마스터가 발행하는 액세스 요구에 대한 응답성을 향상시킬 수 있어, 리얼타임성을 향상시킬 수 있다.
도 1은 실시 형태 1에 따른 반도체 장치를 포함하는 전자 장치를 도시하는 블록도.
도 2는 중앙 버스 제어 시스템을 포함하는 전자 장치의 일부를 도시하는 블록도.
도 3은 클럭 신호와 데이터 신호의 타이밍 조정을 나타내는 타이밍차트.
도 4는 중앙 버스 제어 시스템의 동작 모드를 도시하는 도면.
도 5는 라이트 트레이닝 실행 시의 각 부의 동작 파형을 나타내는 타이밍차트.
도 6은 실시 형태 2에 있어서의 라이트 트레이닝 실행 시의 각 부의 동작 파형을 나타내는 타이밍차트.
도 7은 실시 형태 3에 따른 반도체 장치를 포함하는 전자 장치를 도시하는 블록도.
도 8은 실시 형태 3에 있어서의 라이트 트레이닝 실행 시의 각 부의 동작 파형을 나타내는 타이밍차트.
도 9는 변형예 1에 따른 반도체 장치를 포함하는 전자 장치를 도시하는 블록도.
도 10은 변형예 2에 따른 반도체 장치를 포함하는 전자 장치를 도시하는 블록도.
실시 형태의 설명에 앞서서, 본 발명자들이 검토한 사항을 설명한다. 일반적으로, 화상 표시나, 비디오 입력 등의 처리를 행하는 시스템에는, 리얼타임성의 보증이 요구된다. 여기에서 말하는 리얼타임성의 보증이란, 예를 들어 어떠한 리퀘스트가 발행된 경우에, 그 리퀘스트에 대한 리스펀스가 미리 규정된 시간 이내에 얻어지는 것이 보증되는 것을 의미한다. 리얼타임성이 보증된 시스템에 있어서, 데이터 처리 중에 DDR(Double-Data-Rate) 메모리에의 액세스가 발생하는 경우에는, DDR 메모리에의 액세스도 포함하여 리얼타임성이 보증될 필요가 있다. 한편, 그와 같은 시스템에서 사용되는 DDR 메모리에 대하여, 취급 데이터양의 증대에 수반되는 메모리 대역 부족의 문제, 혹은 저소비 전력화 등의 문제가 발생하고 있어, 그것들에 대한 해결책이 요구되고 있다.
상기 문제의 해결책으로서, JEDEC(Joint Electron Device Engineering Council)에서 규격화된 LPDDR4(Low Power DDR4) 메모리가 있다. LPDDR4 메모리에서는, 통상의 데이터 전송이나 리프레시 동작 이외에, DDR 라이트 트레이닝 동작을 필요로 한다. DDR 라이트 트레이닝은, 클럭 신호와 데이터 신호 사이의 타이밍(스큐)을 조정하기 위해 실시되는 트레이닝이다. DDR 라이트 트레이닝의 동작 중, DDR 메모리에의 액세스는 금지된다. DDR 라이트 트레이닝의 실행 시간은, 예를 들어 1μsec∼2μsec 정도이다.
LPDDR4 메모리 등의 라이트 트레이닝이 실시되는 메모리를 사용하는 리얼타임 시스템에서는, 라이트 트레이닝 기간 중의 데이터 전송을 할 수 없는 시간을 고려하여 리얼타임성을 확보해야만 한다. 또한, 라이트 트레이닝 동작에 기인하는 메모리 대역에의 영향이 작아지도록 버스 시스템을 설계할 필요가 있다. 특허문헌 1에 있어서는, 리프레시 동작에 기인하는 액세스 정지 기간을 고려한 액세스 제어는 실시되지만, 라이트 트레이닝에 기인하는 액세스 정지 기간은 고려되어 있지 않았다. 특허문헌 1에 있어서, 액세스권의 부여를 제어하는 중앙 버스 제어 시스템은, 라이트 트레이닝이 언제 실시되는지를 파악하고 있지 않고, 특허문헌 1에 기재된 기술에서는, 라이트 트레이닝 동작 중에 메모리 액세스가 정지되는 것에 기인하여, 리얼타임성을 보증할 수 없는 경우가 있는 것을, 본 발명자들은 발견하였다.
이하, 도면을 참조하면서, 상기 과제를 해결하기 위한 수단을 적용한 실시 형태를 상세하게 설명한다. 설명의 명확화를 위해, 이하의 기재 및 도면은, 적절히, 생략 및 간략화가 이루어져 있다. 또한, 다양한 처리를 행하는 기능 블록으로서 도면에 기재되는 각 요소는, 하드웨어적으로는, CPU(Central Processing Unit), 메모리, 또는 그 밖의 회로를 포함할 수 있고, 소프트웨어적으로는, 메모리에 로드된 프로그램 등에 의해 실현된다. 따라서, 이들 기능 블록을 하드웨어만, 소프트웨어만, 또는 그것들의 조합에 의해 다양한 형태로 실현할 수 있는 것은 당업자에게는 이해되는 바이며, 어느 것에 한정되는 것은 아니다. 또한, 각 도면에 있어서, 동일한 요소에는 동일한 부호가 붙여져 있고, 필요에 따라서 중복 설명은 생략되어 있다.
또한, 상술한 프로그램은, 다양한 타입의 비일시적인 컴퓨터 판독 가능 매체를 사용하여 저장되어, 컴퓨터에 공급할 수 있다. 비일시적인 컴퓨터 판독 가능 매체는, 다양한 타입의 실체가 있는 기록 매체를 포함한다. 비일시적인 컴퓨터 판독 가능 매체의 예는, 자기 기록 매체(예를 들어 플렉시블 디스크, 자기 테이프, 하드 디스크), 광자기 기록 매체(예를 들어 광자기 디스크), CD-ROM(Read Only Memory), CD-R, CD-R/W 및 반도체 메모리(예를 들어, 마스크 ROM, PROM(Programmable ROM), EPROM(Erasable PROM), 플래시 ROM, RAM(Random Access Memory))를 포함한다. 또한, 프로그램은, 다양한 타입의 일시적인 컴퓨터 판독 가능 매체에 의해 컴퓨터에 공급되어도 된다. 일시적인 컴퓨터 판독 가능 매체의 예는, 전기 신호, 광신호 및 전자파를 포함한다. 일시적인 컴퓨터 판독 가능 매체는, 전선 및 광파이버 등의 유선 통신로, 또는 무선 통신로를 통해, 프로그램을 컴퓨터에 공급할 수 있다.
이하의 실시 형태에 있어서는 편의상 그 필요가 있을 때는, 복수의 섹션 또는 실시 형태로 분할하여 설명하지만, 특별히 명시한 경우를 제외하고, 그것들은 서로 무관계한 것은 아니고, 한쪽은 다른 쪽의 일부 또는 전부의 변형예, 응용예, 상세 설명, 또는 보충 설명 등의 관계에 있다. 또한, 이하의 실시 형태에 있어서, 요소의 수 등(개수, 수치, 양, 범위 등을 포함함)에 언급하는 경우, 특별히 명시한 경우 및 원리적으로 명백하게 특정한 수에 한정되는 경우 등을 제외하고, 그 특정한 수에 한정되는 것은 아니고, 특정한 수 이상이어도 이하여도 된다.
또한, 이하의 실시 형태에 있어서, 그 구성 요소(동작 스텝 등도 포함함)는 특별히 명시한 경우 및 원리적으로 명백하게 필수라고 생각되는 경우 등을 제외하고, 반드시 필수인 것은 아니다. 마찬가지로, 이하의 실시 형태에 있어서, 구성 요소 등의 형상, 또는 위치 관계 등에 언급할 때는, 특별히 명시한 경우 및 원리적으로 명백하게 그렇지 않다고 생각되는 경우 등을 제외하고, 실질적으로 그 형상 등에 근사 또는 유사한 것 등을 포함하는 것으로 한다. 이것은, 상기 수 등(개수, 수치, 양, 범위 등을 포함함)에 대해서도 마찬가지이다.
[실시 형태 1]
도 1은 실시 형태 1에 따른 반도체 장치를 포함하는 전자 장치를 도시한다. 전자 장치(10)는 마스터 A(20), 마스터 B(30), 마스터 C(40), 버스 서브 컨트롤러(22, 32 및 42), 중앙 버스 제어 시스템(50), 인터커넥트(60), 메모리 컨트롤러(70), PHY(물리층 인터페이스)(80), 및 메모리(90)를 갖는다. 전자 장치(10)의 구성 요소 중, 예를 들어 마스터 A(20), 마스터 B(30), 마스터 C(40), 버스 서브 컨트롤러(22, 32 및 42), 중앙 버스 제어 시스템(50), 인터커넥트(60), 메모리 컨트롤러(70), 및 PHY(80)는 반도체 장치를 구성한다. 또한, 반도체 장치의 구성 요소 중, 예를 들어 버스 서브 컨트롤러(22, 32 및 42), 인터커넥트(60), 메모리 컨트롤러(70), 및 PHY(80)는 하드웨어 회로로서 구성할 수 있다. 또한, 중앙 버스 제어 시스템(50)은 예를 들어 프로세서를 포함한 회로로서 구성할 수 있디.
마스터 A(20), 마스터 B(30) 및 마스터 C(40)는, 메모리(90)에 대하여 액세스 요구를 발행한다. 메모리(90)에 대한 액세스 요구는, 리드 요구와 라이트 요구를 포함한다. 메모리(90)는 예를 들어 DDR-SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory) 등의 메모리이다. 이하에서는, 주로, 메모리(90)에 LPDDR4 메모리가 사용되는 예를 설명한다.
마스터 A(20), 마스터 B(30) 및 마스터 C(40)는, 예를 들어 CPU나 GPU(Graphics Processing Unit) 등의 프로세서로서 구성된다. 각 마스터에는, 우선도가 설정되어 있어도 된다. 예를 들어, 마스터 A(20) 및 마스터 B(30)의 우선도는, 마스터 C(40)의 우선도보다도 높게 설정되어 있는 것으로 한다. 이하에서는, 주로, 마스터 A(20) 및 마스터 B(30)는 리얼타임성의 보증이 요구되는 마스터이고, 마스터 C(40)는 리얼타임성의 보증이 불필요한 마스터인 것으로서 설명한다.
마스터 A(20)는, 버스(21)를 통해 대응하는 버스 서브 컨트롤러(22)에 접속된다. 버스 서브 컨트롤러(22)는, 버스(24)를 통해 인터커넥트(60)에 접속된다. 버스 서브 컨트롤러(22)는, 리퀘스트 발행 제어부(23)를 포함한다. 리퀘스트 발행 제어부(23)는 버스(21)를 통해 입력된 액세스 요구의 버스(24)에의 출력을 제어한다. 리퀘스트 발행 제어부(23)는 중앙 버스 제어 시스템(50)으로부터 액세스권이 부여되어 있는 경우에는, 마스터 A(20)가 발행한 액세스 요구를 버스(24)를 통해 인터커넥트(60)에 출력한다. 리퀘스트 발행 제어부(23)는 액세스권이 부여되어 있지 않은 경우에는, 마스터 A(20)가 발행한 액세스 요구의 인터커넥트(60)에의 출력을 억제한다.
마스터 B(30)는, 버스(31)를 통해 대응하는 버스 서브 컨트롤러(32)에 접속된다. 버스 서브 컨트롤러(32)는, 버스(34)를 통해 인터커넥트(60)에 접속된다. 버스 서브 컨트롤러(32)는, 리퀘스트 발행 제어부(33)를 포함한다. 마찬가지로, 마스터 C(40)는, 버스(41)를 통해 대응하는 버스 서브 컨트롤러(42)에 접속된다. 버스 서브 컨트롤러(42)는, 버스(44)를 통해 인터커넥트(60)에 접속된다. 버스 서브 컨트롤러(42)는, 리퀘스트 발행 제어부(43)를 포함한다. 리퀘스트 발행 제어부(33 및 43)의 기능은, 리퀘스트 발행 제어부(23)의 기능과 마찬가지이다. 리퀘스트 발행 제어부(23, 33, 및 43)는 액세스권이 부여된 경우이며, 또한 대응하는 마스터로부터 액세스 요구를 수취하지 않은 경우에는, 액세스권을 중앙 버스 제어 시스템(50)에 반환해도 된다.
인터커넥트(60)는 버스(24, 34 및 44)를 통해, 마스터 A(20), 마스터 B(30) 및 마스터 C(40)가 발행한 액세스 요구를 수취한다. 인터커넥트(60)는 예를 들어 버스 아비터이며, 복수의 마스터로부터 입력되는 액세스 요구를 조정하여, 버스(61)를 통해 메모리 컨트롤러(70)에 출력한다. 인터커넥트(60)는 예를 들어 마스터 A(20), 마스터 B(30) 및 마스터 C(40)로부터 액세스 요구를 수취한 경우에는, 각 마스터에 설정된 우선도에 따라서, 우선도가 높은 마스터가 발행한 액세스 요구를 메모리 컨트롤러(70)에 출력한다. 인터커넥트(60)는 메모리 컨트롤러(70)로부터 출력된 액세스 요구에 대한 리스펀스가 얻어지면, 다음으로 우선도가 높은 액세스 요구를 선택하여 메모리 컨트롤러(70)에 출력한다.
[중앙 버스 제어 시스템]
중앙 버스 제어 시스템(50)은 마스터 A(20), 마스터 B(30) 및 마스터 C(40)가 발행한 액세스 요구의 메모리 컨트롤러(70)에의 출력을 제어한다. 중앙 버스 제어 시스템(50)은 버스 서브 컨트롤러(22, 32 및 42)와 함께 액세스 제어부를 구성한다. 유저는, 예를 들어 중앙 버스 제어 시스템(50)에 미리 각 마스터의 대역을 설정하고, 일정 시간(슬롯) 내의 QoS(Quality of Service)를 보증한다. 중앙 버스 제어 시스템(50)은, 예를 들어 버스 서브 컨트롤러(22, 32 및 42)의 각각에 대하여, 소정의 액세스 제어의 내용에 따라서 액세스권을 부여한다. 통상 시에 있어서의 소정의 액세스 제어의 내용은, 예를 들어 특허문헌 1에 기재된 것과 마찬가지여도 된다. 특허문헌 1에 기재된 내용은, 참조로서 본 명세서에 포함된다.
중앙 버스 제어 시스템(50)은, 예를 들어 각 마스터에 대하여 설정된 QoS 정보에 기초하여, 각 마스터의 대응하는 버스 서브 컨트롤러(22, 32 및 40)에 대하여 액세스권을 부여할지 여부를 결정한다. 이때, 중앙 버스 제어 시스템(50)은 버스(24, 34 및 44)로부터 취득된 트랜잭션 모니터 신호에 의해 인터커넥트(60)에 흐르는 트랜잭션을 감시하고, 트랜잭션의 전송량에 기초하여 슬롯마다 보정하면서 액세스권을 부여해도 된다. 중앙 버스 제어 시스템(50)은 액세스권의 부여를 통해서, 각 마스터가 발행하는 액세스 요구의 메모리 컨트롤러(70)에의 출력을 제어한다.
도 2는 중앙 버스 제어 시스템(50)을 포함하는 전자 장치(10)의 일부를 도시한다. 중앙 버스 제어 시스템(50)은 예를 들어 권리 부여 선택 제어부(51), 권리 부여수 제어부(52), QoS 정보 레지스터(53), 트레이닝 실행 제어부(54) 및 리프레시 실행 제어부(55)를 갖는다. 또한, 도 2에서는, 도 1에 도시된 트랜잭션 모니터 신호는 도시를 생략하였다. 또한, 이하에서는, 주로 권리 부여 선택 제어부(51), 권리 부여수 제어부(52) 및 QoS 정보 레지스터(53)에 대하여 설명하고, 트레이닝 실행 제어부(54) 및 리프레시 실행 제어부(55)의 동작에 대해서는 후술한다.
QoS 정보 레지스터(53)는 각 마스터의 QoS 정보를 기억한다. 권리 부여수 제어부(52)는 각 마스터에 대하여 부여되는 액세스권의 권리 부여 가능수를 계산한다. 권리 부여수 제어부(52)는, 예를 들어 미리 레지스터 등에 설정된 최대 권리 부여 가능수를 상한으로 하여, 액세스권의 나머지 권리 부여 가능수를 계산한다. 최대 권리 부여 가능수는, 예를 들어 메모리 컨트롤러(70) 내에 배치된 버퍼(71)에 있어서 기억할 수 있는 액세스 요구의 수(용량)와 동일한 수로 설정된다. 권리 부여수 제어부(52)는, 버퍼(71)로부터 버퍼(71)에 있어서 액세스 요구가 삭제되었다는 취지를 나타내는 해방 통지 신호를 수신하고, 버퍼(71)의 빔 정보를 감시한다. 권리 부여수 제어부(52)는, 버퍼(71)의 빔 정보에 기초하여, 최대 권리 부여 가능수를 상한으로 하여 현재의 액세스권의 권리 부여 가능수를 계산한다.
권리 부여 선택 제어부(51)는 액세스권을 부여하는 마스터를 결정(선택)한다. 권리 부여 선택 제어부(51)는, 예를 들어 권리 부여수 제어부(52)가 계산한 권리 부여 가능수의 범위 내에서, 액세스권의 부여처가 되는 마스터를 결정하고, 그 마스터에 대응하는 버스 서브 컨트롤러(22, 32 및 42)에, 액세스권을 획득하였다는 취지를 나타내는 액세스권 부여 신호를 출력한다. 권리 부여 선택 제어부(51)는, 예를 들어 액세스권의 부여처의 마스터에 대응하는 버스 서브 컨트롤러에 출력하는 액세스권 부여 신호를 어서트하고, 액세스권을 부여하지 않는 마스터에 대응하는 버스 서브 컨트롤러에 출력하는 액세스권 부여 신호는 니게이트한 상태 그대로 한다. 권리 부여 선택 제어부(51)는 예를 들어 일정 시간(슬롯)을 복수의 기간으로 분할한 서브 슬롯마다, 액세스권을 부여하는 마스터를 결정한다.
권리 부여수 제어부(52)는, 예를 들어 권리 부여 선택 제어부(51)가 액세스권을 부여할 때마다 최대 권리 부여 가능수로부터 액세스권을 부여한 수를 감산하여, 나머지의 권리 부여 가능수를 계산한다. 권리 부여수 제어부(52)는, 버퍼(71)로부터 해방 통지 신호를 수신할 때마다, 버퍼가 해방된 분만큼 나머지 권리 부여 가능수를 증가시킨다. 권리 부여 선택 제어부(51)는, 각 마스터의 QoS 정보 및 나머지 권리 부여 가능수에 기초하여, 액세스권의 부여처의 마스터를 선택한다. 이때, 권리 부여 선택 제어부(51)는 나머지 권리 부여 가능수의 범위 내에서, 예를 들어 QoS 정보에 기초하는 우선 레벨이 높은 마스터에 우선적으로 액세스권을 부여해도 된다. 권리 부여 선택 제어부(51)는 마스터마다 소정 기간(서브 슬롯)에 있어서의 전송량(밴드폭)을 설정하고, 각 마스터의 서브 슬롯에 있어서의 전송량과, 설정된 밴드폭과, 나머지 권리 부여 가능수에 기초하여, 액세스권의 부여처의 마스터를 선택해도 된다.
여기서, 본 실시 형태에 있어서, 마스터 A(20)에 대응하는 버스(21 및 24)는 리드 요구를 전송하기 위한 리드 요구 버스(21R 및 24R)와, 라이트 요구를 전송하기 위한 라이트 요구 버스(21W 및 24W)를 포함한다. 마스터 A(20)에 대응하는 버스 서브 컨트롤러(22)는, 리드 요구에 대응한 리퀘스트 발행 제어부(23R)와, 라이트 요구에 대응한 리퀘스트 발행 제어부(23W)를 갖는다.
마찬가지로, 마스터 B(30)에 대응하는 버스(31 및 34)는 리드 요구를 위한 리드 요구 버스(31R 및 34R)와, 라이트 요구를 위한 라이트 요구 버스(31W 및 34W)를 포함한다. 또한, 마스터 C(40)에 대응하는 버스(41 및 44)는 리드 요구를 위한 리드 요구 버스(41R 및 44R)와, 라이트 요구를 위한 라이트 요구 버스(41W 및 44W)를 포함한다. 도 2에서는, 도시를 생략하고 있지만, 마스터 B(30) 및 마스터 C(40)에 대응하는 버스 서브 컨트롤러(32 및 42)도, 각각 리드 요구에 대응하는 리퀘스트 발행 제어부와 라이트 요구에 대응하는 리퀘스트 발행 제어부를 갖는다.
리퀘스트 발행 제어부(23R 및 23W)는, 각각, 액세스권 부여 신호를 수신한 경우(입력되는 액세스권 부여 신호가 어서트된 경우), 예를 들어 1개의 서브 슬롯당, 리드 요구 및 라이트 요구를 1개의 리드 요구 버스(24R) 및 라이트 요구 버스(24W)에 출력한다. 권리 부여 선택 제어부(51)는 리퀘스트 발행 제어부(23R 및 23W)의 각각에 액세스권 부여 신호를 개별로 송신할 수 있다. 리퀘스트 발행 제어부(23R 및 23W)는, 액세스권 부여 신호를 수신하면, 각각 마스터 A(20)로부터 리드 요구 및 라이트 요구가 출력되었는지 여부를 판단한다. 리퀘스트 발행 제어부(23R 및 23W)는, 각각, 마스터 A(20)로부터 리드 요구 및 라이트 요구가 출력되어 있고, 또한 액세스권 부여 신호를 수신하고 있는 경우, 리드 요구 및 라이트 요구를 리드 요구 버스(24R) 및 라이트 요구 버스(24W)를 통해 인터커넥트(60)에 출력한다. 리퀘스트 발행 제어부(23R 및 23W)는, 액세스권 부여 신호가 수신되지 않은 경우이며, 또한 마스터 A(20)로부터 리드 요구 및 라이트 요구가 출력된 경우에는, 리드 요구 및 라이트 요구를 리퀘스트 발행 제어부(23R 및 23W)에 있어서 억제한다.
권리 부여 선택 제어부(51)는, 예를 들어 마스터 A(20)에 대응하는 버스 서브 컨트롤러(22)의 리퀘스트 발행 제어부(23R 및 23W)의 양쪽에 액세스권 부여 신호를 송신함으로써, 마스터 A(20)가 발행하는 리드 요구 및 라이트 요구의 양쪽의 메모리 컨트롤러(70)에의 출력을 허가한다. 권리 부여 선택 제어부(51)는, 예를 들어 버스 서브 컨트롤러(22)의 리퀘스트 발행 제어부(23W)에만 액세스권 부여 신호를 송신하고, 리퀘스트 발행 제어부(23R)에 대해서는 액세스권 부여 신호를 송신하지 않음으로써, 마스터 A(20)가 발행하는 라이트 요구의 메모리 컨트롤러(70)에의 출력을 허가하면서, 마스터 A(20)가 발행하는 리드 요구의 메모리 컨트롤러(70)에의 출력을 억제하는 것이 가능하다.
리퀘스트 발행 제어부(23R 및 23W)는, 각각, 액세스권 부여 신호가 수신된 경우이며, 또한 마스터 A(20)로부터 리드 요구 및 라이트 요구가 출력되지 않은 경우에는, 액세스권 반환 신호를 권리 부여수 제어부(52)에 출력하고, 액세스권을 중앙 버스 제어 시스템(50)에 반환한다. 권리 부여수 제어부(52)는 액세스 반환 신호를 수신하면, 반환된 분만큼 나머지의 권리 부여 가능수를 증가시킨다. 이와 같이 함으로써, 권리 부여 선택 제어부(51)가 다른 마스터에 액세스권을 부여하는 것이 가능해진다. 버스 서브 컨트롤러(32 및 42)에 있어서의 리드 요구 및 라이트 요구에 대응한 리퀘스트 발행 제어부의 동작은, 각각 상기한 리퀘스트 발행 제어부(23R 및 23W)의 동작과 마찬가지이다.
[메모리 컨트롤러]
메모리 컨트롤러(70)는 버스(61) 및 인터커넥트(60) 등을 통해 마스터 A(20), 마스터 B(30) 및 마스터 C(40)에 접속되고, 인터커넥트(60)로부터 출력되는 액세스 요구에 따라서 메모리(90)에 액세스한다. 또한, 도 1에서는 전자 장치(10)가 마스터를 3개 갖는 예가 도시되어 있지만, 마스터의 수는 특별히 한정되지 않는다. 전자 장치(10)는 메모리 컨트롤러(70)에 대하여 메모리(90)에의 액세스 요구를 발행하는 마스터를 적어도 1개 갖고 있으면 된다. 마스터의 수가 1개인 경우, 조정을 위한 인터커넥트(60)는 불필요하다.
메모리 컨트롤러(70)는 버퍼(71), 스케줄러(72) 및 메모리 커맨드 생성부(73)를 갖는다. 버퍼(리퀘스트 버퍼)(71)는, 메모리 컨트롤러(70)가 인터커넥트(60)를 통해 접수한 액세스 요구를 기억한다. 버퍼(71)는 복수의 액세스 요구를 기억 가능하게 구성된다. 스케줄러(72)는 버퍼(71)에 기억된 액세스 요구 중 1개를 선택하고, 선택한 액세스 요구를 메모리 커맨드 생성부(73)에 출력한다. 스케줄러(72)는 예를 들어 소정의 선택 기준에 따라서 액세스 요구를 선택하고, 선택한 액세스 요구를 메모리 커맨드 생성부(73)에 출력한다.
메모리 커맨드 생성부(73)는 스케줄러(72)로부터 출력되는 액세스 요구에 따라서 메모리(90)에 액세스하기 위한 메모리 커맨드(커맨드 신호)를 생성한다. 메모리 커맨드 생성부(73)는 생성한 커맨드 신호를 PHY(80)에 출력한다. 메모리 커맨드 생성부(73)는 예를 들어 액세스 요구가 리드 요구이면, 메모리(90)로부터 데이터를 리드하기 위한 리드 커맨드 신호를 생성하여, PHY(80)에 출력한다. 또한, 메모리 커맨드 생성부(73)는 예를 들어 액세스 요구가 라이트 요구이면, 메모리(90)에 데이터를 기입하기 위한 라이트 커맨드 신호를 생성하여, PHY(80)에 출력한다.
[PHY(DDR PHY)]
PHY(80)는 메모리 컨트롤러(70)와 메모리(90) 사이의 물리층 인터페이스를 구성한다. 메모리 컨트롤러(70)는 PHY(80)를 통해 메모리(90)에 액세스한다. 메모리 컨트롤러(70)는, 예를 들어 PHY(80)를 통해 메모리(90)에 리드 커맨드 신호를 송신하고, PHY(80)를 통해 메모리(90)로부터 판독된 데이터를 취득한다. 또한, 메모리 컨트롤러(70)는 PHY(80)를 통해 메모리(90)에 라이트 커맨드를 송신하고, PHY(80)를 통해 메모리(90)에 기입 데이터를 송신한다. PHY(80)와 메모리 컨트롤러(70)는, 예를 들어 DFI(DDR PHY Interface) 사양에 따른 소정의 프로토콜로 통신한다. PHY(80)는, 메모리 컨트롤러(70)에 포함되어 있어도 되고, 메모리 컨트롤러(70)가 포함되는 반도체 장치와는 별도의 반도체 장치로서 구성되어 있어도 된다.
PHY(80)는, 조정 회로(81), 트레이닝 회로(82) 및 셀렉터(83)를 갖는다. 트레이닝 회로(82)는 메모리(90)에 대한 트레이닝을 실시한다. 이 트레이닝은, 메모리(90)에 대한 액세스가 정지된 상태에서 실행된다. 트레이닝 회로(82)가 실시하는 트레이닝은, 예를 들어 메모리(90)에 입력되는 신호간의 스큐 조정을 포함한다. 구체적으로는, 트레이닝은, 클럭 신호와 메모리(90)에 입력되는 데이터 신호의 타이밍을 조정하는 라이트 트레이닝(WT : Write Training)을 포함한다. 이것에 더하여, 또는 대신하여, 트레이닝은, 클럭 신호와 메모리(90)로부터 출력되는 데이터 신호의 타이밍을 조정하는 리드 트레이닝(RT : Read Training)을 포함하고 있어도 된다. 이하에서는, 주로 트레이닝은 라이트 트레이닝인 것으로서 설명한다.
조정 회로(81)는 메모리(90)에 대한 제어권의 취득을 요구하는 신호(마스터권 요구 프로토콜 신호)를 메모리 컨트롤러(70)에 출력한다. 통상 시, 메모리(90)에 대한 제어권은 메모리 컨트롤러(70)가 갖고 있고, 메모리 컨트롤러(70)는 PHY(80)를 통해 메모리(90)에 액세스하고 있다. 메모리 컨트롤러(70)(메모리 커맨드 생성부(73))는, 조정 회로(81)로부터 제어권의 취득이 요구된 경우에, 허가를 나타내는 응답을 조정 회로(81)에 회신함으로써, 제어권을 PHY(80)에 건네 줄 수 있다. 조정 회로(81)는 메모리 커맨드 생성부(73)로부터 허가를 나타내는 응답을 수신하면, 메모리(90)에 대한 제어권을 메모리 컨트롤러(70)로부터 취득한다.
셀렉터(83)는 메모리(90)에 접속된 커맨드 신호 및 데이터 버스의 접속처를, 메모리 컨트롤러(70)와 트레이닝 회로(82) 사이에서 전환한다. 조정 회로(81)는 메모리(90)에 대한 제어권을 취득하지 않은 경우에는, 셀렉터(83)에, 커맨드 신호 및 데이터 버스의 접속처를 메모리 컨트롤러(70)로 하기 위한 제어 신호를 송신한다. 조정 회로(81)는 메모리(90)에 대한 제어권을 취득하면, 셀렉터(83)에, 커맨드 신호 및 데이터 버스의 접속처를 트레이닝 회로(82)로 하기 위한 제어 신호를 송신한다. 트레이닝 회로(82)는 PHY(80)가 메모리(90)에 대한 제어권을 취득한 경우에, 트레이닝을 실행한다. 메모리 컨트롤러(70)는 PHY(80)가 메모리(90)에 대한 제어권을 갖고 있는 경우, 메모리(90)에 액세스할 수 없다. 단, 메모리 컨트롤러(70)는 리프레시 커맨드 등의 일부의 커맨드에 대해서는, 메모리(90)에 대하여 발행 가능하다.
[DDR 메모리]
메모리(90)는 커맨드 디코더(91), 셀렉터(92), 메모리 어레이(93) 및 트레이닝용 FIFO(First In First Out)(94)를 갖는다. 메모리 어레이(93)는 데이터를 기억한다. 메모리 어레이(93)는 매트릭스 형상으로 배열된 복수의 기억 소자를 포함한다. 메모리(90)는 예를 들어 복수의 메모리 어레이(93)를 포함하고 있다. 커맨드 디코더(91)는 PHY(80)로부터 커맨드 신호를 수취하고, 메모리(90)에 있어서 각종 커맨드를 발행한다.
셀렉터(92)는 PHY(80)에 접속되는 데이터 버스의 접속처를, 메모리 어레이(93)와 트레이닝용 FIFO(94) 사이에서 전환한다. 커맨드 디코더(91)는, 통상 시에는, 데이터 버스의 접속처를 메모리 어레이(93)로 하기 위한 제어 신호를 셀렉터(92)에 출력한다. 커맨드 디코더(91)는 PHY(80)로부터 라이트 트레이닝의 실시를 나타내는 커맨드 신호를 수취하면, 데이터 버스의 접속처를 트레이닝용 FIFO(94)로 전환한다. 라이트 트레이닝은, 트레이닝용 FIFO(94)를 사용하여 실시된다.
[라이트 트레이닝]
도 3은 메모리(90)에 있어서의 클럭 신호와 데이터 신호의 타이밍 조정을 나타낸다. 도 3의 (a)는 PHY(80)로부터 메모리(90)에 출력되는 클럭 신호를 나타내고, (b)는 라이트 트레이닝 실시 전의 데이터 신호를 나타내고, (c)는 라이트 트레이닝 실시 후의 데이터 신호를 나타내고 있다. 도 3의 (b)를 참조하면, 라이트 트레이닝 실시 전에는, 클럭 신호의 상승 및 하강 에지와, 데이터 신호의 변화점의 중앙은, 시간차 Δt만큼 어긋나 있다. 이 시간차 Δt는, 예를 들어 클럭 신호 또는 데이터 신호에 부여되는 지연 시간을 변화시킴으로써, 변화시킬 수 있다.
라이트 트레이닝은, 예를 들어 하기의 수순으로 실시된다. PHY(80)는, 클럭 신호를 지연시키는 가변 지연 회로를 갖고 있고, 트레이닝 회로(82)는 클럭 신호에 부여하는 시간을 변화시키면서, 소정의 테스트용 데이터를 메모리(90)에 출력한다. 메모리(90)에 있어서, 트레이닝 회로(82)가 출력하는 테스트용 데이터는, 클럭 신호에 의해 규정되는 타이밍에 트레이닝용 FIFO(94)에 기억된다. 트레이닝 회로(82)는 트레이닝용 FIFO(94)로부터 기억된 데이터를 판독하고, 판독한 데이터가 테스트용 데이터에 일치하는지 여부를 판정한다. 다른 말로 하면, 트레이닝 회로(82)는 테스트용 데이터를 트레이닝용 FIFO(94)에 정확하게 기입할 수 있었는지 여부를 판정한다.
트레이닝 회로(82)는 클럭 신호에 부여하는 지연 시간을 변화시키면서, 트레이닝용 FIFO(94)에 테스트용 데이터를 기입하고, 정확하게 테스트용 데이터를 기입할 수 있었던 지연 시간의 범위를 구한다. 트레이닝 회로(82)는 예를 들어 정확하게 테스트용 데이터를 기입할 수 있었던 지연 시간의 최솟값과 최댓값의 중간의 지연 시간을, 메모리(90)에의 데이터 기입 시의 지연 시간으로 설정한다. 이와 같이 함으로써, 도 3의 (c)에 도시된 바와 같이, 클럭 신호의 상승 및 하강 에지와 데이터 신호의 변화점의 중앙을 일치시킬 수 있어, 메모리 어레이(93)에 대하여 안정적으로 올바른 데이터를 기입하는 것이 가능해진다.
트레이닝 회로(82)는, 리드 트레이닝의 경우에는, 메모리(90)가 갖는 도시하지 않은 레지스터에 기억된 트레이닝용 데이터를 판독한다. 트레이닝 회로(82)는 트레이닝용 데이터와 병주하여 출력되는 클럭 신호에 부여하는 지연 시간을 변화시키면서, 트레이닝용 데이터를 정확하게 판독할 수 있는 지연 시간의 범위를 구한다. 트레이닝 회로(82)는, 예를 들어 정확하게 테스트용 데이터를 판독할 수 있었던 지연 시간의 최솟값과 최댓값의 중간의 지연 시간을, 메모리(90)에의 데이터 판독 시의 지연 시간으로 설정한다. 이와 같이 함으로써, 메모리(90)로부터 안정적으로 올바른 데이터를 판독하는 것이 가능해진다.
도 1로 되돌아가서, 본 실시 형태에서는, 중앙 버스 제어 시스템(50)은 라이트 트레이닝의 실시(그 타이밍)도 제어한다. 중앙 버스 제어 시스템(50)의 트레이닝 실행 제어부(54)(도 2를 참조)는 라이트 트레이닝을 실행시키는 경우, 메모리 컨트롤러(70)의 메모리 커맨드 생성부(73)에 WT 슬롯 신호를 출력하여, 라이트 트레이닝의 실시를 통지한다. 메모리 커맨드 생성부(73)는 조정 회로(81)로부터 메모리(90)에 대한 제어권을 요구하는 마스터권 요구 프로토콜 신호를 수신하고 있고, 트레이닝 실행 제어부(54)로부터 WT 슬롯 신호를 수신하면, 마스터권 요구 프로토콜 신호에 대하여 허가를 나타내는 응답을 송신한다.
조정 회로(81)가 허가를 나타내는 응답을 수취하면, PHY(80)는, 메모리(90)에 대한 제어권을 취득하고, 트레이닝 회로(82)가 라이트 트레이닝을 실행한다. 조정 회로(81)는 라이트 트레이닝이 완료되면, 제어권을 메모리 컨트롤러(70)에 반환한다. 제어권이 메모리 컨트롤러(70)에 반환됨으로써, 메모리 컨트롤러(70)는 메모리(90)에 대한 데이터의 기입 및 판독을 행할 수 있다. 조정 회로(81)는 제어권의 반환 후, 마스터권 요구 프로토콜 신호를 메모리 컨트롤러(70)에 출력하고, 새로운 제어권의 취득을 요구한다. 이와 같이 함으로써, PHY(80)는, 중앙 버스 제어 시스템(50)이 WT 슬롯 신호를 출력할 때마다 제어권을 취득한 라이트 트레이닝을 실행할 수 있다.
트레이닝 실행 제어부(54)는 주기적으로 WT 슬롯 신호를 출력하여, 트레이닝 회로(82)에 주기적으로 라이트 트레이닝을 실행시킨다. 중앙 버스 제어 시스템(50)은, 예를 들어 라이트 트레이닝의 실행 간격을 지정하는 레지스터를 갖고 있고, 트레이닝 실행 제어부(54)는 그 레지스터에 저장된 값에 따른 주기로 WT 슬롯 신호를 출력한다. 라이트 트레이닝의 실행 간격을 지정하는 레지스터는, 외부로부터 재기입이 가능하게 구성되어 있고, 도시하지 않은 CPU 등을 사용하여 레지스터의 값을 재기입함으로써, 라이트 트레이닝의 실행 간격을 조정하는 것이 가능하게 구성되어 있다.
본 실시 형태에 있어서, 중앙 버스 제어 시스템(50)은, 메모리(90)의 라이트 트레이닝을 고려하여, 각 마스터에 대한 액세스 제어를 행한다. 중앙 버스 제어 시스템(50)의 권리 부여 선택 제어부(51)(도 2를 참조)는, 라이트 트레이닝의 실행 중에는, 라이트 트레이닝이 실행되지 않는 통상 시와는 상이한 액세스 제어를 실시한다. 권리 부여 선택 제어부(51)는, 통상 시에는, 상기한 바와 같이, 소정의 액세스 제어의 내용에 따라서, 예를 들어 각 마스터의 QoS 정보 및 나머지 권리 부여 가능수에 기초하여, 액세스권의 부여처의 마스터를 선택한다. 권리 부여 선택 제어부(51)는, 라이트 트레이닝의 실행 중에는, 마스터가 발행한 액세스 요구 중 리드 요구에는 액세스권을 부여하지 않고, 리드 요구의 메모리 컨트롤러(70)에의 출력을 억제한다. 보다 상세하게는, 권리 부여 선택 제어부(51)는, 예를 들어 마스터 A(20)에 대응하는 버스 서브 컨트롤러(22)의 리퀘스트 발행 제어부(23W)에 액세스권 부여 신호를 송신하면서, 리퀘스트 발행 제어부(23R)에는 액세스권 부여 신호를 송신하지 않음으로써, 리드 요구의 메모리 컨트롤러(70)에의 출력을 억제한다. 권리 부여 선택 제어부(51)는, 예를 들어 라이트 트레이닝이 개시되는 타이밍보다도 소정 시간 전의 타이밍에, 리드 요구의 출력의 억제를 개시해도 된다.
특히, 본 실시 형태에서는, 중앙 버스 제어 시스템(50)(권리 부여 선택 제어부(51))은, 라이트 트레이닝의 실행 중, 리얼타임성의 보증이 요구되는 마스터 A(20) 및 마스터 B(30)가 발행하는 리드 요구의 메모리 컨트롤러(70)에의 출력을 억제한다. 중앙 버스 제어 시스템(50)은, 라이트 트레이닝의 실행 중, 리얼타임성의 보증이 요구되는 마스터 A(20) 및 마스터 B(30)가 발행하는 라이트 요구에 대해서는, 메모리 컨트롤러(70)에의 출력을 억제하지 않는다. 또한, 중앙 버스 제어 시스템(50)은, 라이트 트레이닝의 실행 중, 리얼타임성의 보증이 불필요한 마스터 C(40)에 대해서는, 리드 요구와 라이트 요구의 양쪽의 메모리 컨트롤러(70)에의 출력을 억제한다. 마스터의 종별, 즉 리얼타임의 보증이 요구되는 마스터인지, 불필요한 마스터인지는, 예를 들어 중앙 버스 제어 시스템(50) 내에도 수신된 레지스터에 있어서 설정된다.
본 실시 형태에 있어서, 중앙 버스 제어 시스템(50)은, 2개의 동작 모드의 사이에서 동작 모드가 전환 가능하게 구성된다. 첫번째 동작 모드는, 라이트 트레이닝이 실행되지 않는 통상 동작 시의 동작 모드(통상 동작 모드)이고, 두번째 동작 모드는, 라이트 트레이닝이 실행되는 경우의 동작 모드(WT 페이즈 동작 모드)이다. 중앙 버스 제어 시스템(50)은, 통상 동작 모드에서는, 소정의 액세스 제어의 내용에 따라서, 각 마스터가 발행하는 액세스 요구에 액세스권을 부여한다. 본 실시 형태에 있어서, 통상 동작 모드와 WT 페이즈 동작 모드의 전환은, 예를 들어 트레이닝 실행 제어부(54)가 행한다. 트레이닝 실행 제어부(54)는 예를 들어 WT 페이즈 동작 모드로의 전환을 권리 부여 선택 제어부(51)에 통지하고, 권리 부여 선택 제어부(51)에 있어서 라이트 트레이닝 시의 동작을 실행시킨다.
트레이닝 실행 제어부(54)는 WT 페이즈 동작 모드에서는, WT 슬롯 신호를 출력함으로써 PHY(80)에 라이트 트레이닝을 실행시킨다. 또한, 권리 부여 선택 제어부(51)는 WT 페이즈 동작 모드에서는, 마스터가 발행하는 액세스 요구 중 라이트 요구에는 소정의 액세스 제어의 내용에 따라서 액세스권을 부여하는 한편, 리드 요구에는 액세스권을 부여하지 않는다. 권리 부여 선택 제어부(51)는, 예를 들어 통상 동작 모드로부터 WT 페이즈 동작 모드로의 전환 후, 마스터가 발행하는 액세스 요구 중 리드 요구에 대한 액세스권의 부여를 정지하고, 액세스권의 부여의 정지로부터 소정 시간 경과 후에 WT 슬롯 신호를 출력하여 PHY(80)에 라이트 트레이닝을 실행시킨다.
본 실시 형태에서는, 권리 부여 선택 제어부(51)는 WT 페이즈 동작 모드에서는, 특히 리얼타임성의 보증이 요구되는 마스터 A(20) 및 마스터 B(30)가 발행하는 액세스 요구 중 라이트 요구에는 소정의 액세스 제어의 내용에 따라서 액세스권을 부여하는 한편, 리드 요구에는 액세스권을 부여하지 않는다. 또한, 권리 부여 선택 제어부(51)는 리얼타임성의 보증이 불필요한 마스터 C(40)에 대해서는, 발행하는 리드 요구 및 라이트 요구의 양쪽에 대하여 액세스권을 부여하지 않는다.
중앙 버스 제어 시스템(50)(트레이닝 실행 제어부(54))은 동작 모드를, 주기적으로 통상 동작 모드로부터 WT 페이즈 동작 모드로 전환한다. 도 4는 동작 모드의 전환을 나타낸다. 중앙 버스 제어 시스템(50)은 WT 페이즈 동작 모드에서 동작한 후, 동작 모드를 통상 동작 모드로 전환한다. 중앙 버스 제어 시스템(50)은 예를 들어 통상 동작 모드로의 전환으로부터 소정 시간의 경과 후, 동작 모드를 WT 페이즈 동작 모드로 전환하고, 라이트 트레이닝을 실행시킨다. 중앙 버스 제어 시스템(50)은 예를 들어 통상 동작 모드로의 전환으로부터 1msec 정도의 시간이 경과하면 동작 모드를 WT 페이즈 모드로 전환한다. 그 경우, 라이트 트레이닝을 1msec 정도의 간격으로 주기적으로 실행시킬 수 있다. 또한, 동작 모드의 전환은 주기적으로 행해지고 있으면 되고, 그 전환 주기는 엄밀하게 일정할 필요는 없다.
중앙 버스 제어 시스템(50)은, 상기한 라이트 트레이닝의 제어에 더하여, 메모리(90)에 있어서의 리프레시 동작(그 타이밍)을 제어해도 된다. 리프레시 실행 제어부(55)(도 2를 참조)는 리프레시 동작을 실행시키는 경우, 메모리 컨트롤러(70)의 메모리 커맨드 생성부(73)(도 1을 참조)에 리프레시 요구 신호를 출력한다. 리프레시 실행 제어부(55)는, 예를 들어 JEDEC의 규격에서 정의된 시간 간격을 만족시키도록, 주기적으로 리프레시 요구 신호를 출력한다. 메모리 커맨드 생성부(73)는 리프레시 요구 신호를 수신하면, 메모리(90)에 대하여 리프레시 실행을 나타내는 커맨드 신호를 출력한다. 메모리(90)는 리프레시 실행을 나타내는 커맨드 신호를 수취하면, 메모리 어레이(93)의 리프레시 동작을 실행한다.
중앙 버스 제어 시스템(50)은 메모리(90)에 있어서 리프레시 동작이 실행되고 있는 경우, 메모리에 있어서의 리프레시를 고려한 액세스 제어를 실시해도 된다. 메모리의 리프레시를 고려한 액세스 제어는, 특허문헌 1에 기재된 것과 마찬가지여도 된다. 또한, 본 실시 형태에 있어서, 중앙 버스 제어 시스템(50)이 리프레시 동작을 제어하는 것, 및 리프레시를 고려한 액세스 제어를 실시하는 것은 필수는 아니다. 그 경우, 리프레시 실행 제어부는 생략 가능하다. 리프레시 동작의 제어 등은, 중앙 버스 제어 시스템(50)과는 상이한 제어부 등이 실시하는 것으로 해도 된다.
[동작예]
이하, 동작예를 설명한다. 도 5는 라이트 트레이닝 실행 시의 각 부의 동작 파형을 도시한다. 이하에서는, 라이트 트레이닝의 실행에 관련된 기간(WT 페이즈)의 길이가 12개의 슬롯(서브 슬롯)에 대응하고 있는 예를 설명한다. 또한, 실제로는 마스터 A(20) 및 마스터 B(30)는 각각 리드 요구와 라이트 요구의 양쪽을 발행하는 것이 가능하지만, 이하에서는, 설명 간략화를 위해, 마스터 A(20)는 라이트 요구를 발행하고, 마스터 B(30)는 리드 요구를 발행하는 것으로서 설명한다.
중앙 버스 제어 시스템(50)은, 시각 t11에서, 동작 모드를 WT 페이즈 동작 모드로 전환한다. 중앙 버스 제어 시스템(50)은 동작 모드를 전환하는 시각 t11에 있어서, WT 슬롯 신호((d)를 참조)의 출력에 앞서서, 리얼타임성의 보증이 불필요한 마스터 C(40)의 리드 요구 및 라이트 요구의 양쪽의 메모리 컨트롤러(70)에의 출력을 억제한다((c)를 참조). 보다 상세하게는, 중앙 버스 제어 시스템(50)은 마스터 C(40)에 대응하는 리퀘스트 발행 제어부(43)에 대한 액세스권의 부여를 정지하여, 마스터 C(40)가 발행하는 리드 요구 및 라이트 요구가 메모리 컨트롤러(70)에 접수되지 않도록 한다.
중앙 버스 제어 시스템(50)은, 시각 t11로부터 슬롯 2개분의 시간이 경과한 시각 t12에 있어서, 리얼타임성의 보증이 요구되는 마스터 B(30)의 리드 요구의 메모리 컨트롤러(70)에의 출력을 억제한다((b)를 참조). 보다 상세하게는, 중앙 버스 제어 시스템(50)은, 마스터 B(30)에 대응하는 리퀘스트 발행 제어부(33)에 대하여, 리드 요구에 대한 액세스권의 부여를 정지하여, 마스터 B(30)가 발행하는 리드 요구가 메모리 컨트롤러(70)에 접수되지 않도록 한다. 마스터 B(30)의 리드 요구의 메모리 컨트롤러(70)에의 출력의 억제도, WT 슬롯 신호가 출력되기 전에 실시된다.
중앙 버스 제어 시스템(50)은 시각 t11로부터 슬롯 2개분의 시간이 경과한 시각 t13에서 WT 슬롯 신호를 메모리 컨트롤러(70)에 출력(신호를 어서트)하여, PHY(80)에 메모리(90)의 라이트 트레이닝을 실행시킨다((d) 및 (e)를 참조). 라이트 트레이닝이 실시되는 기간, 메모리(90)의 데이터 버스는 출력하는 테스트용 데이터의 송수신에 사용되어, 메모리 컨트롤러(70)는 메모리(90)에 대한 기입 및 판독을 행할 수 없다. 중앙 버스 제어 시스템(50)은, 라이트 트레이닝이 실행되는 기간은, 리얼타임 보증이 요구되는 마스터 A(20)가 발행하는 라이트 요구에 대해서만, 액세스권을 부여한다((a)를 참조).
중앙 버스 제어 시스템(50)은 라이트 트레이닝 동작이 종료된 후, 시각 t14에 있어서, 리얼타임성의 보증이 요구되는 마스터 B(30)의 리드 요구의 메모리 컨트롤러(70)에의 출력의 억제를 해제한다((b)를 참조). 중앙 버스 제어 시스템(50)은, 시각 t14에서는, 마스터 B(30)에 대응하는 리퀘스트 발행 제어부(33)에 대하여 리드 요구에 대한 액세스권의 부여의 정지를 해제한다. 이와 같이 함으로써, 시각 t14 이후, 마스터 B(30)가 발행하는 리드 요구가 메모리 컨트롤러(70)에 출력 가능해진다.
중앙 버스 제어 시스템(50)은, 시각 t14로부터 슬롯 1개분의 시간이 경과한 시각 t15에 있어서, 동작 모드를 WT 페이즈 동작 모드로부터 통상 동작 모드로 전환하고, 리얼타임성의 보증이 불필요한 마스터 C(40)의 리드 요구 및 라이트 요구의 메모리 컨트롤러(70)에의 출력의 억제를 해제한다((c)를 참조). 중앙 버스 제어 시스템(50)은, 시각 t15에서는, 마스터 C(40)에 대응하는 리퀘스트 발행 제어부(43)에 대한 액세스권의 부여의 정지를 해제한다. 동작 모드가 통상 동작 모드로 됨으로써, 각 마스터에 대하여, 통상의 액세스 제어의 내용에 따라서 액세스권이 부여된다.
도 5에 도시된 바와 같이, 중앙 버스 제어 시스템(50)은 라이트 트레이닝의 개시 전이며, 또한 라이트 트레이닝이 개시되는 타이밍(시각 t13)에 대하여 소정의 시간 관계에 있는 타이밍(시각 t11)에서, 마스터 C(40)가 발행하는 리드 요구 및 라이트 요구의 출력의 억제를 개시한다. 이 경우, 시각 t11 내지 시각 t12에 있어서, 메모리 컨트롤러(70)에 출력되는 액세스 요구는, 마스터 A(20)가 발행하는 라이트 요구 및 마스터 B(30)가 발행하는 리드 요구만으로 된다. 라이트 트레이닝의 실행 전에, 리얼타임성의 보증이 불필요한 마스터 C(40)의 리드 요구 및 라이트 요구가 메모리 컨트롤러(70)의 전단에서 억제됨으로써, 메모리 컨트롤러(70)는 리얼타임성의 보증이 요구되는 마스터 A(20) 및 마스터 B(30)가 발행하는 액세스 요구를 보다 많이 접수하는 것이 가능하다.
또한, 중앙 버스 제어 시스템(50)은 라이트 트레이닝의 개시 전이며, 또한 마스터 C(40)가 발행하는 리드 요구 및 라이트 요구의 출력의 억제가 개시되는 타이밍(시각 t11)보다도 후의 타이밍(시각 t12)에서, 마스터 B(30)가 발행하는 리드 요구의 출력의 억제를 개시한다. 이 경우, 시각 t11 내지 시각 t12에 있어서, 메모리 컨트롤러(70)는 마스터 A(20)가 발행하는 라이트 요구만을 접수하여 버퍼(71)에 기억한다. 메모리 컨트롤러(70)는 중앙 버스 제어 시스템(50)에 의해 새로운 리드 요구의 접수가 억제된 상태에서, 버퍼(71)에 기억되어 있는 리드 요구에 따라서 메모리(90)로부터 데이터를 판독한다. 이와 같이 함으로써, 라이트 트레이닝의 실행 전에 버퍼(71)에 기억된 리드 요구의 처리를 완결시킬 수 있다. 또한, 메모리 컨트롤러(70)는, 버퍼(71)에 기억되어 있는 라이트 요구 및 라이트 데이터에 따라서, 메모리(90)에 대하여 라이트 데이터를 기입한다. 마스터 B(30)의 리드 요구의 출력의 억제 후, 라이트 트레이닝의 실행 개시 전에, 버퍼(71)에 기억된 액세스 요구에 기초하는 메모리 액세스를 실행시키는 시간을 설정함으로써, 라이트 트레이닝의 실행 개시 전에, 버퍼(71)를 빈 상태로 할 수 있다.
중앙 버스 제어 시스템(50)은, 라이트 트레이닝의 실행 중, 마스터 A(20)가 발행하는 라이트 요구만 액세스권을 부여하고, 메모리 컨트롤러(70)는 마스터 A(20)의 라이트 요구만을 접수한다. 메모리 컨트롤러(70)는 라이트 트레이닝의 실행 중에는 메모리(90)에 액세스할 수 없어, 마스터 A(20)의 라이트 요구를 버퍼(71)에 기억한다. 이때, 라이트 요구를 발행한 마스터 A(20)로부터 보면, 라이트 요구가 버퍼(71)에 기억된 시점에서, 라이트 데이터가 메모리(90)에 기입된 것처럼 보여, 라이트 트레이닝의 실행 중에도, 통상 동작 시와 마찬가지로 라이트 액세스할 수 있다. 메모리 컨트롤러(70)는 리드의 경우와는 달리, 버퍼(71)에 라이트 요구를 기억한 단계에서 라이트 요구에 대한 응답을 회신할 수 있다. 마스터 A(20)는, 메모리 컨트롤러(70)로부터 응답을 수신하면, 실제로 메모리(90)에 데이터가 기입되기 전에, 다음 처리로 이행할 수 있다.
중앙 버스 제어 시스템(50)은, 라이트 트레이닝의 종료 후, 그 타이밍(시각 t14)에서 먼저 마스터 B(30)가 발행하는 리드 요구의 출력의 억제를 해제한다. 중앙 버스 제어 시스템(50)은, 계속해서, 그것보다도 후의 타이밍(시각 t15)에서, 마스터 C(40)가 발행하는 리드 요구 및 라이트 요구의 출력의 억제를 해제한다. 라이트 트레이닝의 종료 후, 리얼타임성의 보증이 요구되는 마스터 B(30)가 발행하는 리드 요구에 대하여 우선적으로 액세스권을 부여함으로써, 마스터 B(30)가 발행하는 리드 요구를 메모리 컨트롤러(70)에 우선적으로 처리시킬 수 있어, 리얼타임성의 확보가 가능해진다.
[정리]
본 실시 형태에서는, 중앙 버스 제어 시스템(50)은, 마스터가 발행한 액세스 요구의 메모리 컨트롤러(70)에의 출력의 제어(액세스 제어)에 더하여, 메모리(90)의 라이트 트레이닝의 실행을 제어한다. 중앙 버스 제어 시스템(50)이 라이트 트레이닝의 실행을 제어하는 경우, 중앙 버스 제어 시스템(50)은 언제 라이트 트레이닝을 실시할 것인지를 알 수 있어, 라이트 트레이닝에 의한 메모리 액세스 정지 기간을 고려하여 액세스 제어를 실시할 수 있다. 특히, 본 실시 형태에서는, 중앙 버스 제어 시스템(50)은 라이트 트레이닝의 실행 중에는, 마스터가 발행한 액세스 요구 중 리드 요구의 메모리 컨트롤러에의 출력을 억제한다.
전술한 바와 같이, 마스터는, 메모리 컨트롤러(70)가 라이트 요구를 접수한 단계에서 라이트 요구에 대한 응답을 수취할 수 있다. 이 때문에, 마스터는, 라이트 트레이닝의 실행 중에도, 메모리 컨트롤러(70)의 버퍼(71)에 빔이 있으면, 실제로 메모리(90)에 데이터가 기입되는 것을 기다리지 않고, 다음 처리로 이행할 수 있다. 한편, 리드 요구에 대해서는, 라이트 트레이닝의 실행 중에는 메모리(90)에의 액세스가 정지되어, 리드 데이터가 얻어지지 않기 때문에, 마스터는, 라이트 트레이닝이 종료될 때까지는, 리드 요구에 대한 응답을 얻을 수 없다.
본 실시 형태에서는, 상기한 바와 같은 리드 요구와 라이트 요구의 특성을 이용하여, 라이트 트레이닝의 실행 중에 메모리 컨트롤러(70)가 리드 요구를 접수하지 않도록 한다. 메모리 컨트롤러(70)는 라이트 트레이닝의 실행 중, 라이트 요구를 버퍼(71)에 기억해 간다. 이와 같이 함으로써, 마스터는, 통상 시와 마찬가지로 라이트 액세스할 수 있어, 라이트 요구에 대한 응답성을 향상시켜 리얼타임성을 확보할 수 있다.
본 실시 형태에서는, 중앙 버스 제어 시스템(50)은 라이트 트레이닝을, 예를 들어 수msec의 단위로 주기적으로 실행시킨다. 1회의 라이트 트레이닝에 요하는 시간은, 라이트 트레이닝의 실행 간격에 의존한다고 생각된다. 라이트 트레이닝의 실행 간격이 길면, 클럭 신호와 데이터 신호의 어긋남이 커져, 라이트 트레이닝에 요하는 시간이 길어진다. 또한, 라이트 트레이닝에 요하는 시간의 변동도 커진다. 본 실시 형태에서는, 중앙 버스 제어 시스템(50)이 예를 들어 수msec 단위로 주기적으로 라이트 트레이닝을 실행시키기 때문에, 1회당의 라이트 트레이닝의 실행 시간을 균일화할 수 있고, 또한, 실행 시간 그 자체를 짧게 할 수 있다.
관련 기술에서는, 특허문헌 2도 포함하여, 라이트 트레이닝 등의 트레이닝은, CPU 등의 제어 회로가 소프트웨어 제어에 의해 실행하였다. 소프트웨어에 의한 라이트 트레이닝 실행에서는, 예를 들어 1msec 단위로 정기적으로 제어하는 것은, 다른 처리와의 균형 등으로부터도 곤란하다. 따라서, 라이트 트레이닝의 실행 간격을 그다지 짧게 할 수는 없어, 1회당의 라이트 트레이닝 실행 시간이 길어졌다. 1회당의 라이트 트레이닝 실행 시간이 길면, 그만큼, 리얼타임성이 요구되는 리퀘스트의 처리수가 감소되어, 리얼타임성의 확보가 곤란해진다. 본 실시 형태에서는, PHY(80)에 설치된 트레이닝 회로(82) 및 중앙 버스 제어 시스템(50)을 사용하여, 짧은 실행 간격으로 정기적으로 라이트 트레이닝을 실행할 수 있기 때문에, 관련 기술에 비해, 리얼타임성의 확보가 용이하다.
[실시 형태 2]
다음에, 실시 형태 2를 설명한다. 본 실시 형태에 따른 전자 장치의 구성은, 도 1에 도시된 실시 형태 1에 따른 전자 장치의 구성과 마찬가지이다. 본 실시 형태는, 주로, 중앙 버스 제어 시스템이 라이트 트레이닝의 실행 시에 리프레시도 실행시키는 점에서, 실시 형태 1과 상이하다. 그 밖의 점은, 실시 형태 1과 마찬가지여도 된다.
본 실시 형태에 있어서, 중앙 버스 제어 시스템(50)은 메모리(90)의 라이트 트레이닝의 실행 시에, 리프레시도 동시에 동작하도록 리프레시 동작을 제어한다. 중앙 버스 제어 시스템(50)의 트레이닝 실행 제어부(54)(도 2를 참조)는 동작 모드를 WT 페이즈 동작 모드로 전환하면, 그 취지를 리프레시 실행 제어부(55)에 통지한다. 리프레시 실행 제어부(55)(도 2를 참조)는, 통상의 리프레시 요구 신호의 출력에 더하여, 예를 들어 라이트 트레이닝의 실행 개시 시에, 메모리 컨트롤러(70)에 리프레시 요구 신호를 출력하고, 리프레시 동작을 실행시킨다. 또한, 리프레시 실행 제어부(55)는, 라이트 트레이닝의 실행 종료 시에, 메모리 컨트롤러(70)에 리프레시 요구 신호를 출력하고, 리프레시 동작을 실행시킨다.
[동작예]
이하, 동작예를 설명한다. 도 6은 실시 형태 2에 있어서의 라이트 트레이닝 실행 시의 각 부의 동작 파형을 도시한다. 실시 형태 1에서 설명한 도 5에 도시한 동작 파형과의 차이는, 주로, 리프레시 요구 신호((e)를 참조)가 추가되어 있는 점이다. 시각 t22까지의 동작은, 도 5에 있어서의 시각 t12까지의 동작과 마찬가지이다. 즉, 중앙 버스 제어 시스템(50)은, 시각 t21에서, 리얼타임성의 보증이 불필요한 마스터 C(40)의 리드 요구 및 라이트 요구의 양쪽의 메모리 컨트롤러(70)에의 출력을 억제하고((c)를 참조), 시각 t22에 있어서, 리얼타임성의 보증이 요구되는 마스터 B(30)의 리드 요구의 메모리 컨트롤러(70)에의 출력을 억제한다((b)를 참조).
중앙 버스 제어 시스템(50)은 마스터 B(30)의 리드 요구의 출력의 억제 후, 시각 t23에서 메모리 컨트롤러(70)의 메모리 커맨드 생성부(73)에 리프레시 요구 신호를 출력(신호를 어서트)한다((e)를 참조). 메모리 커맨드 생성부(73)는 리프레시 요구 신호를 수취하면, 메모리(90)에 있어서 리프레시 동작을 실행시키기 위한 커맨드 신호를 생성한다. 메모리 커맨드 생성부(73)는 생성한 커맨드 신호를 PHY(80)를 통해 메모리(90)에 출력한다.
중앙 버스 제어 시스템(50)은, 계속해서, 시각 t24에서 WT 슬롯 신호를 메모리 컨트롤러(70)에 출력하고, PHY(80)에 메모리(90)의 라이트 트레이닝을 실행시킨다((d) 및 (f)를 참조). 이때, 메모리(90)에서는, 리프레시 동작도 동시에 실행된다. 또한, 도 6에서는, 라이트 트레이닝 동작과 리프레시 동작이 시각 t24에서 동시에 개시되고 있지만, 이들 동작은 완전히 동일한 타이밍에 개시된다고는 할 수 없다. 중앙 버스 제어 시스템(50)은, 라이트 트레이닝이 실행되는 기간은, 리얼타임 보증이 요구되는 마스터 A(20)가 발행하는 라이트 요구에 대해서만, 액세스권을 부여한다((a)를 참조).
그 후, 중앙 버스 제어 시스템(50)은 라이트 트레이닝이 종료되기 전에, 메모리 커맨드 생성부(73)에 다시 리프레시 요구 신호를 출력한다((e)를 참조). 메모리 커맨드 생성부(73)는 리프레시 요구 신호를 수취하면, 리프레시 동작을 실행시키기 위한 커맨드 신호를 PHY(80)를 통해 메모리(90)에 출력한다. 메모리(90)는 커맨드 신호에 따라서, 리프레시 동작을 실행한다((f)를 참조). WT 페이즈에 있어서의 2회째의 리프레시 요구 신호의 출력 타이밍(시각 t25)은, 예를 들어 미리 추정한 라이트 트레이닝에 요하는 시간(시각 t24부터 시각 t26까지의 시간에 상당)과, 리프레시 동작에 요하는 시간에 기초하여 결정된다.
라이트 트레이닝의 종료 시의 동작은, 도 5에 도시한 실시 형태 1에서 설명한 것과 마찬가지여도 된다. 중앙 버스 제어 시스템(50)은, 시각 t26에서 먼저 마스터 B(30)가 발행하는 리드 요구의 출력의 억제를 해제하고, 계속해서 시각 t27에서, 마스터 C(40)가 발행하는 리드 요구 및 라이트 요구의 출력의 억제를 해제한다. 중앙 버스 제어 시스템(50)은 시각 t25에서 리프레시 요구 신호를 출력한 후, 통상 동작에 있어서의 다음 리프레시 요구 신호의 출력 타이밍을, 시각 t25를 기점으로 계산한다.
[정리]
본 실시 형태에서는, 중앙 버스 제어 시스템(50)은, 라이트 트레이닝의 실행에 맞추어 리프레시 요구 신호를 출력하여, 메모리(90)에 있어서, 라이트 트레이닝 동작과 리프레시 동작을 동시에 실행시킨다. 라이트 트레이닝 동작 및 리프레시 동작은, 모두, 메모리 어레이(93)에 대한 액세스가 정지된 상태에서 실행된다. 메모리 액세스가 정지된 상태에서 실행되는 2개의 동작을 동시에 실행함으로써, 리프레시 동작에 수반되는 메모리 액세스 정지를, 라이트 트레이닝 동작에 수반되는 메모리 액세스 정지로 은폐할 수 있어, 메모리(90)의 액세스 정지 기간을 짧게 하여 액세스 대역을 개선할 수 있다. 메모리(90)의 액세스 대역이 많을수록, 리얼타임성의 확보가 쉬워진다.
또한, 본 실시 형태에서는, 중앙 버스 제어 시스템(50)은 라이트 트레이닝의 종료에 맞추어 리프레시 요구 신호를 출력한다. 예를 들어, LPDDR4 메모리의 경우, 리프레시는 2μsec∼4μsec 정도의 간격으로 실행된다. 라이트 트레이닝의 실행 시간이, 예를 들어 1μsec∼2μsec 정도인 것으로 하면, 메모리 액세스가 정지되어 있는 라이트 트레이닝의 종료 시각에 맞추어 리프레시를 실행하면, 종료 시각에 맞추어 리프레시를 실행하지 않는 경우에 비해, 다음 리프레시의 실행 시각을 지연시킬 수 있다. 라이트 트레이닝의 종료에 맞추어 리프레시를 실행함으로써, 라이트 트레이닝의 통상 동작에 있어서, 가능한 한 리프레시 실행에 수반되는 통상 동작에 있어서의 메모리 액세스에의 영향을 저감할 수 있다.
[실시 형태 3]
계속해서, 실시 형태 3을 설명한다. 실시 형태 1 및 실시 형태 2에서는, 중앙 버스 제어 시스템(50)은 WT 페이즈 동작 모드에 있어서, 리드 요구 및 라이트 요구의 메모리 컨트롤러(70)에의 출력을 제어(스케줄링)한다. 그러나, WT 페이즈에 있어서, 최종적으로 메모리(90)에 있어서 어느 액세스 요구에 따르는 메모리 액세스가 행해질지는, 메모리 컨트롤러(70)의 스케줄러(72)에 의해 제어된다. 스케줄러(72)는 중앙 버스 제어 시스템(50)과는 독립적으로 동작하고, 중앙 버스 제어 시스템(50)은 메모리 컨트롤러(70)에 접수되는 액세스 요구는 제어할 수 있어도, 버퍼(71)에 기억되어 있는 액세스 요구의 스케줄링까지는 제어할 수 없다.
구체적으로, WT 페이즈에 있어서, 중앙 버스 제어 시스템(50)은, 도 5의 시각 t11에서 리얼타임성의 보증이 불필요한 마스터 C(40)의 리드 요구 및 라이트 요구에 대한 액세스권의 부여를 정지한 후, 시각 t12에서 리얼타임성의 보증이 요구되는 마스터 B(30)의 리드 요구에의 액세스권의 부여를 정지한다. 이와 같이 함으로써, 시각 t11부터 시각 t12까지의 기간에 있어서, 마스터 B(30)의 리드 요구가 메모리 컨트롤러(70)에 우선적으로 접수된다. 그러나, 중앙 버스 제어 시스템(50)이 마스터 B(30)의 리드 요구를 우선적으로 처리시키고 싶어도, 스케줄러(72)가 통상의 스케줄링을 행하여 라이트 리퀘스트를 먼저 처리시키는 경우도 있을 수 있다. 그 경우, 라이트 트레이닝의 실행이 개시되는 시각 t13에 있어서, 버퍼(71)에 마스터 B(30)의 리드 요구가 다 처리되지 않고 남을 가능성이 있다. 본 실시 형태는 이와 같은 점의 개선을 도모한다.
도 7은 실시 형태 3에 따른 반도체 장치를 포함하는 전자 장치를 도시한다. 본 실시 형태에 따른 전자 장치(10a)는, 주로, 중앙 버스 제어 시스템(50)이 메모리 컨트롤러(70)의 스케줄러(72)에 WT 페이즈 신호(트레이닝 페이즈 신호)를 출력하는 점에서, 도 1에 도시된 실시 형태 1에 따른 전자 장치(10)와 상이하다. 본 실시 형태에 있어서, 스케줄러(72)는 라이트 트레이닝을 고려한 스케줄링을 행한다. 그 밖의 점은, 실시 형태 1 또는 실시 형태 2와 마찬가지여도 된다.
본 실시 형태에 있어서, 중앙 버스 제어 시스템(50)은 라이트 트레이닝의 실행의 개시 전에, 트레이닝의 실시에 관련된 기간이라는 취지를 나타내는 WT 페이즈 신호를 메모리 컨트롤러(70)에 출력한다. 중앙 버스 제어 시스템(50)은 예를 들어 동작 모드를 통상 동작 모드로부터 WT 페이즈 동작 모드로 전환하면, WT 페이즈 신호를 메모리 컨트롤러(70)에 출력(신호를 어서트)한다. 중앙 버스 제어 시스템(50)은 WT 페이즈 신호를 출력하면, 소정 시간 경과 후에 마스터가 발행하는 리드 요구의 출력의 억제를 개시한다.
스케줄러(72)는 WT 페이즈 신호가 출력되고 있는 동안, 버퍼(71)에 기억된 액세스 요구 중, 리드 요구를 우선적으로 선택한다. 스케줄러(72)는 리드 요구를 우선적으로 선택하고, 버퍼(71)에 리드 요구가 존재하지 않게 되면, 라이트 요구를 선택한다. 중앙 버스 제어 시스템(50)은 라이트 트레이닝의 종료 후, 리드 요구의 출력의 억제를 해제하면, 거기로부터 소정 기간의 경과 후, 메모리 컨트롤러(70)에 출력하는 WT 페이즈 신호를 정지(신호를 니게이트)한다. 스케줄러(72)는 WT 페이즈 신호가 니게이트될 때까지, 버퍼(71)에 기억된 리드 요구 중 리드 요구를 우선적으로 선택한다.
[동작예]
이하, 동작예를 설명한다. 도 8은 실시 형태 3에 있어서의 라이트 트레이닝 실행 시의 각 부의 동작 파형을 도시한다. 실시 형태 1에서 설명한 도 5에 도시한 동작 파형과의 차이는, 주로, WT 페이즈 신호((d)를 참조)와, 스케줄러의 동작((f)을 참조)이 추가되어 있는 점이다. 중앙 버스 제어 시스템(50)은, 시각 t31에서, 동작 모드를 WT 페이즈 동작 모드로 전환하고, 메모리 컨트롤러(70)의 스케줄러(72)에 WT 페이즈 신호를 출력(신호를 어서트)한다((d)를 참조). 또한, 중앙 버스 제어 시스템(50)은, 시각 t31에서 리얼타임성의 보증이 불필요한 마스터 C(40)의 리드 요구 및 라이트 요구의 양쪽의 메모리 컨트롤러(70)에의 출력을 억제한다((c)를 참조).
스케줄러(72)는 WT 페이즈 신호가 어서트되면, 버퍼(71)에 기억된 액세스 요구 중, 리드 요구를 우선적으로 선택하고((f)를 참조), 메모리 커맨드 생성부(73)에 출력한다. 이와 같이 함으로써, 중앙 버스 제어 시스템(50)의 제어에 의해 메모리 컨트롤러(70)에 우선적으로 접수된 마스터 B(30)의 리드 요구는, 메모리 컨트롤러(70)에 있어서 우선적으로 선택되어, 처리되게 된다.
중앙 버스 제어 시스템(50)은, 시각 t32에 있어서, 리얼타임성의 보증이 요구되는 마스터 B(30)의 리드 요구의 메모리 컨트롤러(70)에의 출력을 억제한다((b)를 참조). 이때, 스케줄러(72)는 선택하는 리드 요구가 없어질 때까지, 버퍼(71)에 기억된 리드 요구 중 리드 요구를 우선적으로 선택하고, 선택하는 리드 요구가 없어지면, 라이트 요구를 선택한다. 이와 같이 함으로써, 메모리 액세스에서 정지되는 라이트 트레이닝의 실행 개시까지, 버퍼(71)에 기억되는 액세스 요구의 수를 가능한 한 적게 할 수 있다.
중앙 버스 제어 시스템(50)은, 시각 t33에서 WT 슬롯 신호를 메모리 컨트롤러(70)에 출력하고, PHY(80)에 메모리(90)의 라이트 트레이닝을 실행시킨다((e) 및 (g)를 참조). 중앙 버스 제어 시스템(50)은, 라이트 트레이닝이 실행되는 기간은, 리얼타임 보증이 요구되는 마스터 A(20)가 발행하는 라이트 요구에 대해서만, 액세스권을 부여한다((a)를 참조). 마스터 A(20)가 발행한 라이트 요구는, 메모리 컨트롤러(70)의 버퍼(71)에 기억된다. 라이트 트레이닝의 실행 중, 버퍼(71)에 새롭게 기억되는 것은 마스터 A(20)가 발행한 라이트 요구만으로 된다. 라이트 트레이닝의 실행 중에는, 메모리(90)에의 액세스가 정지되어 있기 때문에, 스케줄러(72)는 실질적으로는 동작을 정지한 상태로 되고, 이 기간에 있어서, 버퍼(71)에 기억된 라이트 요구에 따르는 메모리 액세스는 발생하지 않는다.
중앙 버스 제어 시스템(50)은 라이트 트레이닝 동작이 종료된 후, 시각 t34에서, 리얼타임성의 보증이 요구되는 마스터 B(30)의 리드 요구의 메모리 컨트롤러(70)에의 출력의 억제를 해제한다((b)를 참조). 그 후, 중앙 버스 제어 시스템(50)은, 시각 t35에서, 동작 모드를 WT 페이즈 동작 모드로부터 통상 동작 모드로 전환하고, WT 페이즈 신호를 니게이트한다((d)를 참조). 또한, 중앙 버스 제어 시스템(50)은, 시각 t35에서, 리얼타임성의 보증이 불필요한 마스터 C(40)의 리드 요구 및 라이트 요구의 메모리 컨트롤러(70)에의 출력의 억제를 해제한다((c)를 참조).
스케줄러(72)는 라이트 트레이닝의 종료 후, WT 페이즈 신호가 어서트되고 있는 기간은 리드 요구를 우선적으로 선택한다. 만약, 시각 t34부터 시각 t35까지의 동안에 마스터 B(30)가 발행한 리드 요구가 메모리 컨트롤러(70)에 의해 접수되어, 버퍼(71)에 기억된 것으로 하면, 그 리드 요구는 우선적으로 선택되어, 처리된다.
여기서, 버퍼(71)에는, 라이트 트레이닝의 실행 중에 마스터 A(20)가 발행한 라이트 요구가 기억되어 있고, 라이트 트레이닝이 종료되는 시각 t33에 있어서, 버퍼(71)에 빔이 없는 상태로 되어 있는 것도 생각된다. 그 경우에는, 스케줄러(72)는 버퍼(71)에 기억된 라이트 요구를 1개 선택하고, 라이트 요구의 처리 후, 버퍼(71)로부터 그 라이트 요구를 삭제한다. 그 후, 버퍼(71)에 리드 요구가 기억되면, 스케줄러(72)는 그 리드 요구를 우선적으로 선택한다. 이와 같이 함으로써, 액세스권의 부여가 정지되어 있던 마스터가 발행한 리드 요구를 우선적으로 처리할 수 있다.
[정리]
본 실시 형태에서는, 중앙 버스 제어 시스템(50)은 메모리 컨트롤러(70)의 스케줄러(72)에 WT 페이즈 신호를 출력하여, WT 페이즈를 스케줄러(72)에 통지한다. 스케줄러(72)는, WT 페이즈에서는, 중앙 버스 제어 시스템(50)이 행하는 라이트 트레이닝을 고려한 액세스 제어에 대응한 스케줄링을 행한다. 이와 같이, 본 실시 형태에서는, WT 페이즈에 있어서, 중앙 버스 제어 시스템(50)이 행하는 메모리 컨트롤러(70)에 출력되는 리드 요구 및 라이트 요구의 제어(스케줄링)와, 메모리 컨트롤러(70)에 있어서의 리드 요구 및 라이트 요구의 스케줄링을 협조 동작시킬 수 있다. 중앙 버스 제어 시스템의 동작과 메모리 컨트롤러(70)의 동작을 협조시킴으로써, 실시 형태 1 및 실시 형태 2에 비해, 리얼타임성의 확실도를 향상시킬 수 있다.
구체적으로, 본 실시 형태에서는, 라이트 트레이닝의 실행 전에는, 스케줄러(72)가 중앙 버스 제어 시스템(50)과 협동하여 리드 요구를 우선함으로써, 리드 요구가 우선적으로 처리된다. 라이트 트레이닝의 실행 전에 리드 요구를 우선적으로 처리함으로써, 라이트 트레이닝 실행 전에 리드 액세스가 완료되지 않아, 라이트 트레이닝 후에 리드 요구에 대한 응답이 회신되는 것을 방지할 수 있다. 본 실시 형태에서는, 리드 요구가 라이트 트레이닝 전에 처리되기 때문에, 리얼타임성의 확실도를 향상시킬 수 있다.
본 실시 형태에 있어서, 리드 요구는, 라이트 트레이닝 전에 우선적으로 처리되어, 라이트 트레이닝의 개시 시점에서는 처리를 완료하고 있다. 본 실시 형태에서는, 라이트 트레이닝의 실행 중에 버퍼(71)에 리드 요구가 남지 않기 때문에, 라이트 트레이닝 중에 버퍼(71)에 기억할 수 있는 라이트 요구의 수를 증가시킬 수 있다. 이것은, 단일 시간에 있어서의 처리 능력의 향상으로 이어져, 리얼타임 처리할 수 있는 능력이 증가되는 것을 의미한다. 또는, 리얼타임 처리에 여유가 생김으로써, 보다 확실하게 리얼타임성을 보증하는 것이 가능해지는 것을 의미한다.
본 실시 형태에서는, 라이트 트레이닝의 실행 후, WT 페이즈 신호가 어서트되고 있는 기간, 스케줄러(72)는 버퍼(71)에 체류되어 있는 라이트 요구보다도, 라이트 트레이닝의 실행 중에 액세스권의 부여가 정지되어 있던 마스터가 발행한 리드 요구를 우선적으로 선택한다. 이와 같이 함으로써, 라이트 트레이닝의 실행 중에 액세스권이 얻어지지 않아, 리얼타임 처리의 허용 시간이 거의 끝나가는 리드 요구를 우선적으로 처리할 수 있어, 리얼타임성의 확실도를 향상시킬 수 있다.
[변형예 1]
계속해서, 변형예 1을 설명한다. 도 9는 변형예 1에 따른 반도체 장치를 포함하는 전자 장치를 도시한다. 본 변형예에 따른 전자 장치(10b)는, 주로, 중앙 버스 제어 시스템(50)이 PHY(80)의 조정 회로(81)에 WT 슬롯 신호를 출력하는 점에서 도 1에 도시된 실시 형태 1에 따른 전자 장치(10)와 상이하다. 그 밖의 점은, 실시 형태 1, 실시 형태 2, 또는 실시 형태 3과 마찬가지여도 된다.
본 변형예에서는, 중앙 버스 제어 시스템(50)의 트레이닝 실행 제어부(54)(도 2를 참조)는, 조정 회로(81)에 WT 슬롯 신호를 출력하여, 조정 회로(81)에 트레이닝의 실시를 통지한다. 조정 회로(81)는 트레이닝 실행 제어부(54)로부터 WT 슬롯 신호를 수취하면, 메모리(90)의 제어권의 취득을 요구하는 마스터권 요구 프로토콜 신호를 메모리 컨트롤러(70)의 메모리 커맨드 생성부(73)에 출력한다. 메모리 커맨드 생성부(73)는 마스터권 요구 프로토콜 신호를 수취하면, 허가를 나타내는 응답을 조정 회로(81)에 반환한다.
본 실시 형태에서는, 중앙 버스 제어 시스템(50)은 PHY(80)에 대하여 WT 슬롯 신호를 출력한다. PHY(80)는, WT 슬롯 신호를 수신하면 메모리 컨트롤러(70)에 대하여 제어권의 취득을 요구하고, 라이트 트레이닝을 행한다. PHY(80)의 조정 회로(81)는, 실시 형태 1, 실시 형태 2 및 실시 형태 3에서는, 라이트 트레이닝의 실행 전에, 메모리 컨트롤러(70)에 제어권의 취득을 요구해 둘 필요가 있었다. 본 실시 형태에서는, 조정 회로(81)는 WT 슬롯 신호가 출력된 타이밍에 제어권의 취득을 요구하면 되어, 메모리 컨트롤러(70)에 대하여 항상 제어권의 취득을 요구해 둘 필요가 없어진다.
[변형예 2]
계속해서, 변형예 2를 설명한다. 도 10은 변형예 2에 따른 반도체 장치를 포함하는 전자 장치를 도시한다. 본 변형예에 따른 전자 장치(10c)는, 주로, 메모리 커맨드 생성부(73)가 중앙 버스 제어 시스템(50)에 대하여 라이트 트레이닝의 실행을 요구하는 WT 요구 신호를 출력하는 점에서 도 1에 도시된 실시 형태 1에 따른 전자 장치(10)와 상이하다. 그 밖의 점은, 실시 형태 1, 실시 형태 2, 실시 형태 3, 또는 변형예 1과 마찬가지여도 된다.
본 실시 형태에 있어서, 메모리(90)에는 LPDDR4 메모리가 사용되고 있고, 메모리(90)는 온도 드리프트 측정 장치(95)와 전압 드리프트 측정 장치(96)를 갖고 있다. 메모리 컨트롤러(70)는 온도 드리프트 측정 장치(95)의 측정 결과, 및 전압 드리프트 측정 장치(96)의 측정 결과를 취득하고, 취득한 측정 결과가 소정의 조건을 만족시키는지 여부를 판단한다. 메모리 컨트롤러(70)는 소정의 조건이 만족되었다고 판단한 경우, 중앙 버스 제어 시스템(50)을 통해 트레이닝 회로(82)에 라이트 트레이닝을 실행시킨다.
메모리 컨트롤러(70)에 있어서, 메모리 커맨드 생성부(73)는 메모리(90)에 대하여 온도 드리프트 측정 장치(95)의 측정 결과(온도 드리프트 측정 결과)를 취득하기 위한 커맨드 신호, 및 전압 드리프트 측정 장치(96)의 측정 결과(전압 드리프트 측정 결과)를 취득하기 위한 커맨드 신호를 출력한다. 이들 커맨드 신호(리드)는 메모리(90)에의 통상의 리드 커맨드 및 라이트 커맨드와 마찬가지로 취급된다. 메모리(90)는 상기 커맨드 신호를 수신하면, 온도 드리프트 측정 결과, 및 전압 드리프트 측정 결과를 메모리 컨트롤러(70)에 출력한다. 메모리 커맨드 생성부(73)는, 예를 들어 통상의 1회의 리드 전송과 마찬가지의 전송 시간에서, 메모리(90)로부터 온도 드리프트 측정 결과 및 전압 드리프트 측정 결과를 판독할 수 있다. 메모리 커맨드 생성부(73)는 상기 커맨드 신호를 정기적으로 발행하여, 메모리(90)에 있어서의 온도 변화 및 전압 변화를 감시한다.
메모리 커맨드 생성부(73)는 온도 드리프트 측정 결과 및 전압 드리프트 측정 결과가 예를 들어 미리 설정된 범위로부터 일탈하였는지 여부를 판단한다. 메모리(90)에 있어서, 온도 변동 및 전압 변동이 큰 경우, 데이터 신호와 클럭 신호의 타이밍 변화가 크다고 생각된다. 메모리 커맨드 생성부(73)는 온도 드리프트 측정 결과 및 전압 드리프트 측정 결과 중 적어도 한쪽이, 미리 설정된 범위로부터 일탈하였다고 판단한 경우, 라이트 트레이닝을 실행시키는 것을 결정한다. 메모리 커맨드 생성부(73)는 라이트 트레이닝을 실행시키는 것을 결정하면, WT 요구 신호를 어서트하여, 중앙 버스 제어 시스템(50)에 라이트 트레이닝의 실행을 요구한다. 메모리 커맨드 생성부(73)는 라이트 트레이닝을 실행시키지 않는다고 결정한 경우에는, WT 요구 신호를 니게이트한 상태 그대로 한다.
본 실시 형태에 있어서, 중앙 버스 제어 시스템(50)의 트레이닝 실행 제어부(54)는, 예를 들어 실시 형태 1에 있어서 설명한 것과 마찬가지의 주기로 WT 요구 신호를 체크하고, WT 페이즈 동작 모드로의 전환을 행할지 여부를 판단한다. 트레이닝 실행 제어부(54)는 실시 형태 1에 있어서는 예를 들어 소정 시간 경과마다 동작 모드를 WT 페이즈 동작 모드로 전환하였다. 이에 반해, 본 변형예에 있어서는, 트레이닝 실행 제어부(54)는 동작 모드의 전환 전에, WT 요구 신호가 어서트되었는지 여부를 조사하고, 그 결과에 따라서 동작 모드의 전환을 행할지 여부를 판단한다. 트레이닝 실행 제어부(54)는 WT 요구 신호가 어서트되었다고 판단한 경우에는, 예정대로, 동작 모드를 WT 페이즈 동작 모드로 전환하여 라이트 트레이닝을 실행시킨다. 트레이닝 실행 제어부(54)는 WT 요구 신호가 어서트되지 않은 경우에는, WT 페이즈 동작 모드로의 전환을 행하지 않고, 통상 동작 모드에서의 동작을 계속한다. 라이트 트레이닝(WT 페이즈)에 있어서의 각 부의 동작은, 지금까지 설명한 것과 마찬가지여도 된다.
본 변형예에서는, 메모리 커맨드 생성부(73)는 메모리(90)의 온도 드리프트 측정 장치(95) 및 전압 드리프트 측정 장치(96)의 값을 정기적으로 판독하여, 라이트 트레이닝을 실행시킬지 여부를 판단한다. 중앙 버스 제어 시스템(50)은, 메모리 커맨드 생성부(73)로부터 출력되는 WT 요구 신호의 신호 상태에 따라서, WT 페이즈 동작 모드로의 전환을 행할지 여부를 능동적으로(하드웨어에 의해) 판단한다. 중앙 버스 제어 시스템(50)은, WT 요구 신호가 어서트된 경우에 WT 페이즈 동작 모드로의 전환을 행함으로써, 필요할 때에 라이트 트레이닝을 실행시킬 수 있다. 중앙 버스 제어 시스템(50)은, WT 요구 신호가 어서트되지 않은 경우에는, 통상 동작 모드에서의 동작을 계속하기 때문에, 불필요한 라이트 트레이닝이 실행되지 않는 분만큼, 데이터 전송의 대역을 확보할 수 있다. 또한, 본 변형예에서는, 라이트 트레이닝을 하드웨어적으로 실행하기 때문에, 소프트웨어 제어(CPU 제어)에 비해 보다 세심하게 제어할 수 있다.
또한, 상기 각 실시 형태 및 각 변형예에 있어서는, 주로 메모리(90)에 LPDDR4가 사용되는 것을 상정하여 설명하였지만, 이것에는 한정되지 않는다. 메모리(90)에는, DDR3 메모리 등의, 온도 드리프트 측정 장치(95) 및 전압 드리프트 측정 장치(96)나, 트레이닝용 FIFO(94)를 갖고 있지 않은 다른 메모리를 사용할 수도 있다. 메모리(90)가 온도 드리프트 측정 장치(95) 및 전압 드리프트 측정 장치(96)를 갖고 있지 않은 경우에는, 메모리(90)의 외부에 그것들 측정 장치를 실장하고, 그것들의 측정값을 메모리 커맨드 생성부(73)가 취득 가능하게 구성하면 된다. 또한, 메모리(90)가 트레이닝용 FIFO(94)를 갖고 있지 않은 경우에는, 예를 들어 메모리 어레이(93)의 일부의 영역을, 실제 동작에서 사용이 금지되는 트레이닝용의 영역으로서 확보하고, 그 영역에 대하여 라이트 트레이닝을 실행하면 된다.
이상, 본 발명자에 의해 이루어진 발명을 실시 형태에 기초하여 구체적으로 설명하였지만, 본 발명은 이미 설명한 실시 형태에 한정되는 것은 아니고, 그 요지를 일탈하지 않는 범위에 있어서 다양한 변경이 가능한 것은 물론이다.
예를 들어, 상기의 실시 형태의 일부 또는 전부는, 이하의 부기와 같이 기재될 수도 있지만, 이하에는 한정되지 않는다.
[부기 1]
메모리에 대하여, 리드 요구 및 라이트 요구를 포함하는 액세스 요구를 발행하는 마스터와,
버스를 통해 상기 마스터에 접속되며, 상기 액세스 요구에 따라서 상기 메모리에 액세스하는 메모리 컨트롤러와,
상기 마스터가 발행한 액세스 요구의 상기 메모리 컨트롤러에의 출력을 제어하는 액세스 제어부와,
상기 메모리에 대한 액세스가 정지된 상태에서 상기 메모리에 대한 트레이닝을 실시하는 트레이닝 회로를 구비하고,
상기 액세스 제어부는, 상기 트레이닝의 실행을 또한 제어하고, 또한, 상기 트레이닝의 실행 중에는, 상기 마스터가 발행한 액세스 요구 중 상기 리드 요구의 상기 메모리 컨트롤러에의 출력을 억제하는 반도체 장치.
[부기 2]
상기 메모리와 상기 메모리 컨트롤러 사이에, 상기 트레이닝 회로를 갖는 물리층 인터페이스를 더 구비하는 부기 1에 기재된 반도체 장치.
[부기 3]
상기 물리층 인터페이스는, 상기 메모리에 대한 제어권의 취득을 상기 메모리 컨트롤러에 요구하고, 상기 제어권을 상기 메모리 컨트롤러로부터 취득하는 조정 회로를 더 갖고,
상기 트레이닝 회로는, 상기 조정 회로가 상기 제어권을 취득한 경우, 상기 트레이닝을 실시하는 부기 2에 기재된 반도체 장치.
[부기 4]
상기 액세스 제어부는, 상기 메모리 컨트롤러에 상기 트레이닝의 실시를 통지하고,
상기 메모리 컨트롤러는, 상기 액세스 제어부로부터 상기 트레이닝의 실시의 통지를 수취하면, 상기 조정 회로에 대하여 상기 제어권을 부여하는 부기 3에 기재된 반도체 장치.
[부기 5]
상기 조정 회로는, 상기 트레이닝이 완료되면, 상기 제어권을 상기 메모리 컨트롤러에 반환하는 부기 4에 기재된 반도체 장치.
[부기 6]
상기 조정 회로는, 상기 제어권의 반환 후, 새로운 제어권의 취득을 상기 메모리 컨트롤러에 요구하는 부기 5에 기재된 반도체 장치.
[부기 7]
상기 액세스 제어부는, 상기 조정 회로에 상기 트레이닝의 실시를 통지하고,
상기 조정 회로는, 상기 액세스 제어부로부터 상기 트레이닝의 실시의 통지를 수취하면, 상기 제어권의 취득을 상기 메모리 컨트롤러에 요구하는 부기 3에 기재된 반도체 장치.
[부기 8]
상기 버스는, 상기 리드 요구를 전송하기 위한 리드 요구 버스와, 상기 라이트 요구를 전송하기 위한 라이트 요구 버스를 포함하고,
상기 액세스 제어부는, 상기 리드 요구 버스와 상기 라이트 요구 버스의 각각에 대응하여 배치된 리퀘스트 발행 제어부를 갖는 버스 서브 컨트롤러와, 상기 리드 요구 버스 및 상기 라이트 요구 버스에 대응하여 배치된 리퀘스트 발행 제어부에 대하여 개별로 액세스권을 부여하는 중앙 버스 제어 시스템을 포함하고,
상기 리드 요구 버스 및 상기 라이트 요구 버스에 대응하여 배치된 리퀘스트 발행 제어부는, 각각, 상기 중앙 버스 제어 시스템으로부터 상기 액세스권이 부여되어 있는 경우에는 상기 마스터가 발행한 리드 요구 및 라이트 요구를 상기 메모리 컨트롤러에 출력하고, 상기 액세스권이 부여되어 있지 않은 경우에는 상기 마스터가 발행한 리드 요구 및 라이트 요구의 상기 메모리 컨트롤러에의 출력을 억제하는 부기 1에 기재된 반도체 장치.
[부기 9]
상기 액세스 제어부는, 상기 트레이닝이 개시되는 타이밍보다도 소정 시간 전의 타이밍에, 상기 리드 요구의 출력의 억제를 개시하는 부기 1에 기재된 반도체 장치.
[부기 10]
상기 마스터를 복수 갖고,
상기 복수의 마스터로부터 입력되는 액세스 요구를 조정하여 상기 메모리 컨트롤러에 출력하는 인터커넥트를 더 구비하는 부기 1에 기재된 반도체 장치.
[부기 11]
상기 액세스 제어부는, 상기 복수의 마스터의 각각과 상기 인터커넥트 사이를 접속하는 복수의 버스의 각각에 대응하여 배치된 복수의 버스 서브 컨트롤러와, 상기 복수의 버스 서브 컨트롤러의 각각에 대하여 소정의 액세스 제어의 내용에 따라서 액세스권을 부여하는 중앙 버스 제어 시스템을 포함하는 부기 10에 기재된 반도체 장치.
[부기 12]
상기 복수의 버스 서브 컨트롤러는, 각각, 상기 중앙 버스 제어 시스템으로부터 상기 액세스권이 부여되어 있는 경우에는 상기 마스터가 발행한 액세스 요구를 상기 인터커넥트에 출력하고, 상기 액세스권이 부여되어 있지 않은 경우에는 상기 마스터가 발행한 액세스 요구의 상기 인터커넥트에의 출력을 억제하는 리퀘스트 발행 제어부를 포함하는 부기 11에 기재된 반도체 장치.
[부기 13]
상기 복수의 버스는, 각각, 리드 요구를 전송하기 위한 리드 요구 버스와, 라이트 요구를 전송하기 위한 라이트 요구 버스를 포함하고, 상기 복수의 버스 서브 컨트롤러의 각각에서는, 상기 리퀘스트 발행 제어부가, 상기 리드 요구 버스와 상기 라이트 요구 버스의 각각에 대응하여 배치되어 있고,
상기 중앙 버스 제어 시스템은, 상기 리드 요구 버스에 대응하여 배치된 리퀘스트 발행 제어부와, 상기 라이트 요구 버스에 대응하여 배치된 리퀘스트 발행 제어부의 각각에 대하여 개별로 상기 액세스권의 부여를 행하는 부기 12에 기재된 반도체 장치.
[부기 14]
상기 복수의 마스터는, 제1 마스터와, 우선도가 제1 마스터보다도 낮은 제2 마스터를 포함하고,
상기 액세스 제어부는, 상기 트레이닝의 실행 중, 상기 제2 마스터가 발행하는 상기 리드 요구 및 상기 라이트 요구의 상기 메모리 컨트롤러에의 출력을 억제하고, 또한 상기 제1 마스터가 발행하는 상기 리드 요구의 상기 메모리 컨트롤러에의 출력을 억제하는 부기 10에 기재된 반도체 장치.
[부기 15]
상기 액세스 제어부는, 상기 트레이닝이 개시되는 타이밍보다도 전이며, 또한 상기 트레이닝이 개시되는 타이밍에 대하여 소정의 시간 관계에 있는 제1 타이밍에 상기 제2 마스터가 발행하는 상기 리드 요구 및 라이트 요구의 출력의 억제를 개시하고, 상기 트레이닝이 개시되는 타이밍보다도 전이며, 또한 상기 제1 타이밍보다도 후의 제2 타이밍에 상기 제1 마스터가 발행하는 상기 리드 요구의 출력의 억제를 개시하는 부기 14에 기재된 반도체 장치.
[부기 16]
상기 액세스 제어부는, 상기 트레이닝의 종료 후, 제3 타이밍에 상기 제1 마스터가 발행하는 상기 리드 요구의 출력의 억제를 해제하고, 또한 상기 제3 타이밍보다도 후의 제4 타이밍에 상기 제2 마스터가 발행하는 상기 리드 요구 및 라이트 요구의 출력의 억제를 해제하는 부기 15에 기재된 반도체 장치.
[부기 17]
상기 메모리는 리프레시 동작이 실행 가능하게 구성되어 있고,
상기 액세스 제어부는, 상기 리프레시 동작의 실행을 또한 제어하고, 상기 트레이닝의 실행 개시 시에 상기 메모리에 상기 리프레시 동작을 실행시키는 부기 1에 기재된 반도체 장치.
[부기 18]
상기 액세스 제어부는, 상기 트레이닝의 실행 종료 시에 상기 메모리에 상기 리프레시 동작을 또한 실행시키는 부기 17에 기재된 반도체 장치.
[부기 19]
상기 메모리 컨트롤러는, 상기 액세스 요구를 접수하여 기억하는 리퀘스트 버퍼와, 상기 리퀘스트 버퍼에 기억된 상기 액세스 요구를 선택하는 스케줄러와, 상기 스케줄러에 의해 선택된 액세스 요구에 따라서 상기 메모리에 액세스하는 메모리 커맨드 생성부를 포함하는 부기 1에 기재된 반도체 장치.
[부기 20]
상기 액세스 제어부는, 상기 트레이닝의 실행 개시 전에, 상기 트레이닝의 실시에 관련된 기간이라는 취지를 나타내는 트레이닝 페이즈 신호를 상기 메모리 컨트롤러에 출력하고, 또한 상기 트레이닝 페이즈 신호를 출력하고 나서 소정 시간 경과 후에 상기 리드 요구의 출력의 억제를 개시하고,
상기 스케줄러는, 상기 트레이닝 페이즈 신호가 출력되고 있는 동안, 상기 리퀘스트 버퍼에 기억된 액세스 요구 중, 상기 리드 요구를 우선적으로 선택하는 부기 19에 기재된 반도체 장치.
[부기 21]
상기 액세스 제어부는, 상기 트레이닝의 종료 후, 상기 리드 요구의 출력의 억제를 해제하고,
상기 스케줄러는, 상기 리드 요구의 출력의 억제가 해제되고 나서 소정 기간의 경과 후에 상기 트레이닝 페이즈 신호의 출력을 정지하는 부기 20에 기재된 반도체 장치.
[부기 22]
상기 액세스 제어부는, 주기적으로 상기 트레이닝 회로에 상기 트레이닝을 실행시키는 부기 1에 기재된 반도체 장치.
[부기 23]
상기 메모리는, 전압 및 온도 중 적어도 한쪽을 측정하는 측정 회로를 갖고 있고,
상기 메모리 컨트롤러는, 상기 측정 회로의 측정 결과를 취득하고, 해당 취득한 측정 결과가 소정의 조건을 만족시키는 경우, 상기 트레이닝 회로에 상기 트레이닝을 실행시키는 부기 1에 기재된 반도체 장치.
[부기 24]
상기 트레이닝은, 상기 메모리에 입력되는 신호간의 스큐 조정을 포함하는 부기 1에 기재된 반도체 장치.
[부기 25]
상기 트레이닝은, 클럭 신호와, 상기 메모리에 입력되는 데이터 신호의 타이밍을 조정하는 라이트 트레이닝을 포함하는 부기 1에 기재된 반도체 장치.
[부기 26]
상기 트레이닝은, 클럭 신호와, 상기 메모리로부터 출력되는 데이터 신호의 타이밍을 조정하는 리드 트레이닝을 포함하는 부기 1에 기재된 반도체 장치.
[부기 27]
상기 메모리는, DDR-SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)인 부기 1에 기재된 반도체 장치.
[부기 28]
상기 액세스 제어부는, 상기 마스터에 대하여 설정된 QoS(Quality of Service) 정보에 기초하여, 상기 액세스 요구의 상기 메모리 컨트롤러에의 출력을 제어하는 부기 1에 기재된 반도체 장치.
[부기 29]
마스터로부터, 리드 요구 및 라이트 요구를 포함하는 액세스 요구를 메모리에 대하여 발행하고,
상기 마스터로부터 버스를 통해 상기 액세스 요구를 수신하고, 해당 수신한 액세스 요구에 따라서 상기 메모리에 액세스하는 메모리 컨트롤러에의, 상기 마스터가 발행한 액세스 요구의 출력을 제어하고,
상기 메모리에 대한 액세스가 정지된 상태에서 상기 메모리에 대한 트레이닝을 실시하는 것을 갖고,
상기 액세스 요구의 출력의 제어에서는, 상기 트레이닝의 실행 중, 상기 마스터가 발행한 액세스 요구 중 상기 리드 요구의 상기 메모리 컨트롤러에의 출력을 억제하는 액세스 제어 방법.
[부기 30]
메모리에 대하여, 리드 요구 및 라이트 요구를 포함하는 액세스 요구를 발행하는 마스터와,
버스를 통해 상기 마스터에 접속되며, 상기 액세스 요구에 따라서 상기 메모리에 액세스하는 메모리 컨트롤러와,
상기 마스터가 발행한 액세스 요구에 대한 액세스권의 부여를 제어함으로써, 상기 마스터가 발행한 액세스 요구의 상기 메모리 컨트롤러에의 출력을 제어하는 액세스 제어부와,
상기 메모리에 대한 액세스가 정지된 상태에서 상기 메모리에 대한 트레이닝을 실시하는 트레이닝 회로를 구비하고,
상기 액세스 제어부는, 상기 트레이닝의 실행을 또한 제어하고, 또한,
상기 액세스 제어부는, 동작 모드가 제1 동작 모드와 제2 동작 모드 사이에서 전환 가능하게 구성되고, 상기 제1 동작 모드에서는 상기 마스터가 발행하는 액세스 요구에 소정의 액세스 제어의 내용에 따라서 상기 액세스권을 부여하고, 상기 제2 동작 모드에서는 상기 트레이닝을 실행시키고, 또한 상기 마스터가 발행하는 액세스 요구 중 상기 라이트 요구에는 상기 소정의 액세스 제어의 내용에 따라서 상기 액세스권을 부여하고, 상기 마스터가 발행하는 액세스 요구 중 상기 리드 요구에는 상기 액세스권을 부여하지 않는 반도체 장치.
[부기 31]
상기 액세스 제어부는, 주기적으로 상기 동작 모드를 상기 제1 동작 모드로부터 상기 제2 동작 모드로 전환하여, 상기 트레이닝을 주기적으로 실행시키는 부기 30에 기재된 반도체 장치.
[부기 32]
상기 액세스 제어부는, 상기 제1 동작 모드로부터 상기 제2 동작 모드로의 전환 후, 상기 마스터가 발행하는 액세스 요구 중 리드 요구에 대한 액세스권의 부여를 정지하고, 해당 액세스권의 부여의 정지로부터 소정 시간 경과 후에 상기 트레이닝을 실행시키는 부기 30에 기재된 반도체 장치.
[부기 33]
상기 마스터를 복수 갖고, 해당 복수의 마스터는, 제1 마스터와, 우선도가 제1 마스터보다도 낮은 제2 마스터를 포함하고,
상기 액세스 제어부는, 상기 제2 동작 모드에서는, 상기 제1 마스터가 발행하는 액세스 요구 중 상기 라이트 요구에는 상기 소정의 액세스 제어의 내용에 따라서 상기 액세스권을 부여하고, 상기 제1 마스터가 발행한 액세스 요구 중 상기 리드 요구에는 상기 액세스권을 부여하지 않고, 또한 상기 제2 마스터가 발행하는 액세스 요구에는 상기 액세스권을 부여하지 않는 부기 30에 기재된 반도체 장치.
[부기 34]
상기 액세스 제어부는, 상기 제1 동작 모드로부터 상기 제2 동작 모드로의 전환 후, 상기 제2 마스터가 발행하는 액세스 요구에 대한 상기 액세스권의 부여를 정지하고, 해당 액세스 요구에 대한 액세스권의 부여의 정지로부터 소정 시간 경과 후, 상기 제1 마스터가 발행한 액세스 요구 중 리드 요구에 대한 액세스권의 부여를 정지하고, 해당 리드 요구에 대한 액세스권의 부여의 정지로부터 소정 시간 경과 후에 상기 트레이닝을 실행시키는 부기 33에 기재된 반도체 장치.
[부기 35]
상기 액세스 제어부는, 상기 트레이닝의 종료 후, 상기 제1 마스터가 발행하는 액세스 요구 중 리드 요구에 대한 액세스권의 부여의 정지를 해제하고, 해당 액세스권의 부여의 정지의 해제로부터 소정 시간 경과 후에, 상기 동작 모드를 상기 제2 동작 모드로부터 상기 제1 동작 모드로 전환하여 상기 제2 마스터가 발행하는 액세스 요구에 대한 액세스권의 부여의 정지를 해제하는 부기 34에 기재된 반도체 장치.
10 : 전자 장치
20, 30, 40 : 마스터
21, 31, 41 : 버스
22, 32, 42 : 버스 서브 컨트롤러
23, 33, 43 : 리퀘스트 발행 제어부
21, 31, 41 : 버스
50: 중앙 버스 제어 시스템
51 : 권리 부여 선택 제어부
52 : 권리 부여수 제어부
53 : QoS 정보 레지스터
54 : 트레이닝 실행 제어부
55 : 리프레시 실행 제어부
60 : 인터커넥트
61 : 버스
70 : 메모리 컨트롤러
71 : 버퍼
72 : 스케줄러
73 : 메모리 커맨드 생성부
80 : PHY
81 : 조정 회로
82 : 트레이닝 회로
83 : 셀렉터
90 : 메모리
91 : 커맨드 디코더
92 : 셀렉터
93 : 메모리 어레이
94 : 트레이닝용 FIFO
95 : 온도 드리프트 측정 장치
96 : 전압 드리프트 측정 장치

Claims (20)

  1. 메모리에 대하여, 리드 요구 및 라이트 요구를 포함하는 액세스 요구를 발행하는 마스터와,
    버스를 통해 상기 마스터에 접속되며, 상기 액세스 요구에 따라서 상기 메모리에 액세스하는 메모리 컨트롤러와,
    상기 마스터가 발행한 액세스 요구의 상기 메모리 컨트롤러에의 출력을 제어하는 액세스 제어부와,
    상기 메모리에 대한 액세스가 정지된 상태에서 상기 메모리에 대한 트레이닝을 실시하는 트레이닝 회로를 구비하고,
    상기 액세스 제어부는, 상기 트레이닝의 실행을 또한 제어하고, 또한, 상기 트레이닝의 실행 중에는, 상기 마스터가 발행한 액세스 요구 중 상기 리드 요구의 상기 메모리 컨트롤러에의 출력을 억제하는 반도체 장치.
  2. 제1항에 있어서,
    상기 메모리와 상기 메모리 컨트롤러 사이에, 상기 트레이닝 회로를 갖는 물리층 인터페이스를 더 구비하는 반도체 장치.
  3. 제2항에 있어서,
    상기 물리층 인터페이스는, 상기 메모리에 대한 제어권의 취득을 상기 메모리 컨트롤러에 요구하고, 상기 제어권을 상기 메모리 컨트롤러로부터 취득하는 조정 회로를 더 갖고,
    상기 트레이닝 회로는, 상기 조정 회로가 상기 제어권을 취득한 경우, 상기 트레이닝을 실시하는 반도체 장치.
  4. 제3항에 있어서,
    상기 액세스 제어부는, 상기 메모리 컨트롤러에 상기 트레이닝의 실시를 통지하고,
    상기 메모리 컨트롤러는, 상기 액세스 제어부로부터 상기 트레이닝의 실시의 통지를 수취하면, 상기 조정 회로에 대하여 상기 제어권을 부여하는 반도체 장치.
  5. 제3항에 있어서,
    상기 액세스 제어부는, 상기 조정 회로에 상기 트레이닝의 실시를 통지하고,
    상기 조정 회로는, 상기 액세스 제어부로부터 상기 트레이닝의 실시의 통지를 수취하면, 상기 제어권의 취득을 상기 메모리 컨트롤러에 요구하는 반도체 장치.
  6. 제1항에 있어서,
    상기 버스는, 상기 리드 요구를 전송하기 위한 리드 요구 버스와, 상기 라이트 요구를 전송하기 위한 라이트 요구 버스를 포함하고,
    상기 액세스 제어부는, 상기 리드 요구 버스와 상기 라이트 요구 버스의 각각에 대응하여 배치된 리퀘스트 발행 제어부를 갖는 버스 서브 컨트롤러와, 상기 리드 요구 버스 및 상기 라이트 요구 버스에 대응하여 배치된 리퀘스트 발행 제어부에 대하여 개별로 액세스권을 부여하는 중앙 버스 제어 시스템을 포함하고,
    상기 리드 요구 버스 및 상기 라이트 요구 버스에 대응하여 배치된 리퀘스트 발행 제어부는, 각각, 상기 중앙 버스 제어 시스템으로부터 상기 액세스권이 부여되어 있는 경우에는 상기 마스터가 발행한 리드 요구 및 라이트 요구를 상기 메모리 컨트롤러에 출력하고, 상기 액세스권이 부여되어 있지 않은 경우에는 상기 마스터가 발행한 리드 요구 및 라이트 요구의 상기 메모리 컨트롤러에의 출력을 억제하는 반도체 장치.
  7. 제1항에 있어서,
    상기 마스터를 복수 갖고,
    상기 복수의 마스터로부터 입력되는 액세스 요구를 조정하여 상기 메모리 컨트롤러에 출력하는 인터커넥트를 더 구비하는 반도체 장치.
  8. 제7항에 있어서,
    상기 액세스 제어부는, 상기 복수의 마스터의 각각과 상기 인터커넥트 사이를 접속하는 복수의 버스의 각각에 대응하여 배치된 복수의 버스 서브 컨트롤러와, 상기 복수의 버스 서브 컨트롤러의 각각에 대하여 소정의 액세스 제어의 내용에 따라서 액세스권을 부여하는 중앙 버스 제어 시스템을 포함하는 반도체 장치.
  9. 제7항에 있어서,
    상기 복수의 마스터는, 제1 마스터와, 우선도가 제1 마스터보다도 낮은 제2 마스터를 포함하고,
    상기 액세스 제어부는, 상기 트레이닝의 실행 중, 상기 제2 마스터가 발행하는 상기 리드 요구 및 상기 라이트 요구의 상기 메모리 컨트롤러에의 출력을 억제하고, 또한 상기 제1 마스터가 발행하는 상기 리드 요구의 상기 메모리 컨트롤러에의 출력을 억제하는 반도체 장치.
  10. 제9항에 있어서,
    상기 액세스 제어부는, 상기 트레이닝이 개시되는 타이밍보다도 전이며, 또한 상기 트레이닝이 개시되는 타이밍에 대하여 소정의 시간 관계에 있는 제1 타이밍에 상기 제2 마스터가 발행하는 상기 리드 요구 및 라이트 요구의 출력의 억제를 개시하고, 상기 트레이닝이 개시되는 타이밍보다도 전이며, 또한 상기 제1 타이밍보다도 후의 제2 타이밍에 상기 제1 마스터가 발행하는 상기 리드 요구의 출력의 억제를 개시하는 반도체 장치.
  11. 제10항에 있어서,
    상기 액세스 제어부는, 상기 트레이닝의 종료 후, 제3 타이밍에 상기 제1 마스터가 발행하는 상기 리드 요구의 출력의 억제를 해제하고, 또한 상기 제3 타이밍보다도 후의 제4 타이밍에 상기 제2 마스터가 발행하는 상기 리드 요구 및 라이트 요구의 출력의 억제를 해제하는 반도체 장치.
  12. 제1항에 있어서,
    상기 메모리는 리프레시 동작이 실행 가능하게 구성되어 있고,
    상기 액세스 제어부는, 상기 리프레시 동작의 실행을 또한 제어하고, 상기 트레이닝의 실행 개시 시에 상기 메모리에 상기 리프레시 동작을 실행시키는 반도체 장치.
  13. 제12항에 있어서,
    상기 액세스 제어부는, 상기 트레이닝의 실행 종료 시에 상기 메모리에 상기 리프레시 동작을 또한 실행시키는 반도체 장치.
  14. 제1항에 있어서,
    상기 메모리 컨트롤러는, 상기 액세스 요구를 접수하여 기억하는 리퀘스트 버퍼와, 상기 리퀘스트 버퍼에 기억된 상기 액세스 요구를 선택하는 스케줄러와, 상기 스케줄러에 의해 선택된 액세스 요구에 따라서 상기 메모리에 액세스하는 메모리 커맨드 생성부를 포함하는 반도체 장치.
  15. 제14항에 있어서,
    상기 액세스 제어부는, 상기 트레이닝의 실행의 개시 전에, 상기 트레이닝의 실시에 관련된 기간이라는 취지를 나타내는 트레이닝 페이즈 신호를 상기 메모리 컨트롤러에 출력하고, 또한 상기 트레이닝 페이즈 신호를 출력하고 나서 소정 시간 경과 후에 상기 리드 요구의 출력의 억제를 개시하고,
    상기 스케줄러는, 상기 트레이닝 페이즈 신호가 출력되고 있는 동안, 상기 리퀘스트 버퍼에 기억된 액세스 요구 중, 상기 리드 요구를 우선적으로 선택하는 반도체 장치.
  16. 제1항에 있어서,
    상기 메모리는, 전압 및 온도 중 적어도 한쪽을 측정하는 측정 회로를 갖고 있고,
    상기 메모리 컨트롤러는, 상기 측정 회로의 측정 결과를 취득하고, 해당 취득한 측정 결과가 소정의 조건을 만족시키는 경우, 상기 트레이닝 회로에 상기 트레이닝을 실행시키는 반도체 장치.
  17. 마스터로부터, 리드 요구 및 라이트 요구를 포함하는 액세스 요구를 메모리에 대하여 발행하고,
    상기 마스터로부터 버스를 통해 상기 액세스 요구를 수신하고, 해당 수신한 액세스 요구에 따라서 상기 메모리에 액세스하는 메모리 컨트롤러에의, 상기 마스터가 발행한 액세스 요구의 출력을 제어하고,
    상기 메모리에 대한 액세스가 정지된 상태에서 상기 메모리에 대한 트레이닝을 실시하는 것을 갖고,
    상기 액세스 요구의 출력의 제어에서는, 상기 트레이닝의 실행 중, 상기 마스터가 발행한 액세스 요구 중 상기 리드 요구의 상기 메모리 컨트롤러에의 출력을 억제하는 액세스 제어 방법.
  18. 메모리에 대하여, 리드 요구 및 라이트 요구를 포함하는 액세스 요구를 발행하는 마스터와,
    버스를 통해 상기 마스터에 접속되며, 상기 액세스 요구에 따라서 상기 메모리에 액세스하는 메모리 컨트롤러와,
    상기 마스터가 발행한 액세스 요구에 대한 액세스권의 부여를 제어함으로써, 상기 마스터가 발행한 액세스 요구의 상기 메모리 컨트롤러에의 출력을 제어하는 액세스 제어부와,
    상기 메모리에 대한 액세스가 정지된 상태에서 상기 메모리에 대한 트레이닝을 실시하는 트레이닝 회로를 구비하고,
    상기 액세스 제어부는, 상기 트레이닝의 실행을 또한 제어하고, 또한,
    상기 액세스 제어부는, 동작 모드가 제1 동작 모드와 제2 동작 모드 사이에서 전환 가능하게 구성되고, 상기 제1 동작 모드에서는 상기 마스터가 발행하는 액세스 요구에 소정의 액세스 제어의 내용에 따라서 상기 액세스권을 부여하고, 상기 제2 동작 모드에서는 상기 트레이닝을 실행시키고, 또한 상기 마스터가 발행하는 액세스 요구 중 상기 라이트 요구에는 상기 소정의 액세스 제어의 내용에 따라서 상기 액세스권을 부여하고, 상기 마스터가 발행하는 액세스 요구 중 상기 리드 요구에는 상기 액세스권을 부여하지 않는 반도체 장치.
  19. 제18항에 있어서,
    상기 마스터를 복수 갖고, 해당 복수의 마스터는, 제1 마스터와, 우선도가 제1 마스터보다도 낮은 제2 마스터를 포함하고,
    상기 액세스 제어부는, 상기 제2 동작 모드에서는, 상기 제1 마스터가 발행하는 액세스 요구 중 상기 라이트 요구에는 상기 소정의 액세스 제어의 내용에 따라서 상기 액세스권을 부여하고, 상기 제1 마스터가 발행한 액세스 요구 중 상기 리드 요구에는 상기 액세스권을 부여하지 않고, 또한 상기 제2 마스터가 발행하는 액세스 요구에는 상기 액세스권을 부여하지 않는 반도체 장치.
  20. 제19항에 있어서,
    상기 액세스 제어부는, 상기 제1 동작 모드로부터 상기 제2 동작 모드로의 전환 후, 상기 제2 마스터가 발행하는 액세스 요구에 대한 상기 액세스권의 부여를 정지하고, 해당 액세스 요구에 대한 액세스권의 부여의 정지로부터 소정 시간 경과 후, 상기 제1 마스터가 발행한 액세스 요구 중 리드 요구에 대한 액세스권의 부여를 정지하고, 해당 리드 요구에 대한 액세스권의 부여의 정지로부터 소정 시간 경과 후에 상기 트레이닝을 실행시키고, 또한 상기 트레이닝의 종료 후, 상기 제1 마스터가 발행하는 액세스 요구 중 리드 요구에 대한 액세스권의 부여의 정지를 해제하고, 해당 액세스권의 부여의 정지의 해제로부터 소정 시간 경과 후에, 상기 동작 모드를 상기 제2 동작 모드로부터 상기 제1 동작 모드로 전환하여 상기 제2 마스터가 발행하는 액세스 요구에 대한 액세스권의 부여의 정지를 해제하는 반도체 장치.
KR1020180073772A 2017-06-30 2018-06-27 반도체 장치 및 액세스 제어 방법 KR102537338B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2017-128728 2017-06-30
JP2017128728A JP6890055B2 (ja) 2017-06-30 2017-06-30 半導体装置

Publications (2)

Publication Number Publication Date
KR20190003374A true KR20190003374A (ko) 2019-01-09
KR102537338B1 KR102537338B1 (ko) 2023-05-26

Family

ID=62715880

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180073772A KR102537338B1 (ko) 2017-06-30 2018-06-27 반도체 장치 및 액세스 제어 방법

Country Status (5)

Country Link
US (2) US10929317B2 (ko)
EP (2) EP3872643B1 (ko)
JP (2) JP6890055B2 (ko)
KR (1) KR102537338B1 (ko)
CN (2) CN116978422A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6890055B2 (ja) * 2017-06-30 2021-06-18 ルネサスエレクトロニクス株式会社 半導体装置
KR20200100951A (ko) * 2019-02-19 2020-08-27 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 데이터 처리 시스템
FR3093197A1 (fr) * 2019-02-21 2020-08-28 Stmicroelectronics (Grenoble 2) Sas Procédé d’arbitrage d’accès à une mémoire partagée, et dispositif électronique correspondant

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090295438A1 (en) * 2008-05-30 2009-12-03 Ravi Kishore Jammula Optimum Timing of Write and Read Clock Paths
JP2011150759A (ja) 2010-01-22 2011-08-04 Renesas Electronics Corp メモリインタフェース回路、半導体装置、メモリインタフェース方法
WO2017056132A1 (ja) 2015-10-01 2017-04-06 ルネサスエレクトロニクス株式会社 半導体装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430641B1 (en) * 1999-05-04 2002-08-06 International Business Machines Corporation Methods, arbiters, and computer program products that can improve the performance of a pipelined dual bus data processing system
US6820152B2 (en) * 2001-04-25 2004-11-16 Matsushita Electric Industrial Co., Ltd. Memory control device and LSI
JP2003050739A (ja) 2001-08-06 2003-02-21 Matsushita Electric Ind Co Ltd メモリ制御装置
JP2006039672A (ja) * 2004-07-22 2006-02-09 Olympus Corp バス要求制御回路
DE102005025168B4 (de) * 2005-06-01 2013-05-29 Qimonda Ag Elektronische Speichervorrichtung und Verfahren zum Betreiben einer elektronischen Speichervorrichtung
JP4902640B2 (ja) * 2006-03-10 2012-03-21 パナソニック株式会社 集積回路、及び集積回路システム
US7647467B1 (en) * 2006-05-25 2010-01-12 Nvidia Corporation Tuning DRAM I/O parameters on the fly
JP4517312B2 (ja) 2008-07-08 2010-08-04 ソニー株式会社 メモリアクセス制御装置および撮像装置
WO2010085405A1 (en) * 2009-01-22 2010-07-29 Rambus Inc. Maintenance operations in a dram
JP2011061457A (ja) 2009-09-09 2011-03-24 Elpida Memory Inc クロック生成回路及びこれを備える半導体装置並びにデータ処理システム
US8549217B2 (en) 2009-11-17 2013-10-01 International Business Machines Corporation Spacing periodic commands to a volatile memory for increased performance and decreased collision
JP2010225161A (ja) 2010-04-13 2010-10-07 Renesas Electronics Corp 半導体記憶装置
EP3422191B1 (en) * 2010-07-29 2023-05-10 Renesas Electronics Corporation Semiconductor device and data processing system
CN103201725B (zh) * 2010-11-25 2015-12-09 国际商业机器公司 用于在多个处理器之间共享的存储器的存储器访问设备
US8760946B2 (en) 2012-05-22 2014-06-24 Advanced Micro Devices Method and apparatus for memory access delay training
JP5975446B2 (ja) * 2012-08-13 2016-08-23 パナソニックIpマネジメント株式会社 アクセス制御装置、中継装置、アクセス制御方法、コンピュータプログラム
US9058135B1 (en) * 2012-11-12 2015-06-16 Xilinx, Inc. Synchronization of timers across clock domains in a digital system
JP2014167763A (ja) 2013-02-28 2014-09-11 Canon Inc 電子機器及びその制御方法
US9372818B2 (en) * 2013-03-15 2016-06-21 Atmel Corporation Proactive quality of service in multi-matrix system bus
JP2016018430A (ja) 2014-07-09 2016-02-01 ソニー株式会社 メモリ管理装置
US9851744B2 (en) * 2014-12-10 2017-12-26 Advanced Micro Devices, Inc. Address and control signal training
US9870169B2 (en) * 2015-09-04 2018-01-16 Intel Corporation Interleaved all-level programming of non-volatile memory
JP6890055B2 (ja) * 2017-06-30 2021-06-18 ルネサスエレクトロニクス株式会社 半導体装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090295438A1 (en) * 2008-05-30 2009-12-03 Ravi Kishore Jammula Optimum Timing of Write and Read Clock Paths
JP2011150759A (ja) 2010-01-22 2011-08-04 Renesas Electronics Corp メモリインタフェース回路、半導体装置、メモリインタフェース方法
WO2017056132A1 (ja) 2015-10-01 2017-04-06 ルネサスエレクトロニクス株式会社 半導体装置

Also Published As

Publication number Publication date
US10929317B2 (en) 2021-02-23
US11461253B2 (en) 2022-10-04
CN109215707A (zh) 2019-01-15
US20210141749A1 (en) 2021-05-13
CN109215707B (zh) 2023-09-01
JP6890055B2 (ja) 2021-06-18
CN116978422A (zh) 2023-10-31
EP3428803B1 (en) 2021-04-07
JP7075528B2 (ja) 2022-05-25
US20190004983A1 (en) 2019-01-03
JP2019012410A (ja) 2019-01-24
JP2021120909A (ja) 2021-08-19
KR102537338B1 (ko) 2023-05-26
EP3872643B1 (en) 2022-01-05
EP3872643A1 (en) 2021-09-01
EP3428803A1 (en) 2019-01-16

Similar Documents

Publication Publication Date Title
JP7075528B2 (ja) 半導体集積回路
US7350004B2 (en) Resource management device
EP1253518B1 (en) Memory access arbitration guaranteeing a desired data transfer rate
US7752373B2 (en) System and method for controlling memory operations
US20080162855A1 (en) Memory Command Issue Rate Controller
JPWO2017056132A1 (ja) 半導体装置
US11188488B2 (en) Semiconductor device and bus generator
US20090013144A1 (en) Integrated circuit, and integrated circuit system
US11157206B2 (en) Multi-die system capable of sharing non-volatile memory
JP2011034214A (ja) メモリ制御装置
JP2024512684A (ja) データファブリッククロックスイッチング
KR101034036B1 (ko) 반도체 메모리 테스트 보드, 이를 포함하는 반도체 메모리 테스트 시스템 및 반도체 메모리 테스트 방법
JPWO2007007599A1 (ja) メモリ制御装置
CN115686383B (zh) 存储器的控制方法和控制器以及芯片系统
US20230266894A1 (en) Memory control apparatus, method for controlling memory control apparatus, and storage medium
JP5752091B2 (ja) メモリーコントローラー
JP2023068341A (ja) メモリコントローラ、メモリコントローラの制御方法およびプログラム
WO2011016154A1 (ja) 外部バスインタフェース、lsiおよびシステム
KR19990076182A (ko) 동기 동적 램 제어기 장치 및 이의 접속 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant