KR100882414B1 - 메모리 액세스 장치 - Google Patents

메모리 액세스 장치 Download PDF

Info

Publication number
KR100882414B1
KR100882414B1 KR1020070036111A KR20070036111A KR100882414B1 KR 100882414 B1 KR100882414 B1 KR 100882414B1 KR 1020070036111 A KR1020070036111 A KR 1020070036111A KR 20070036111 A KR20070036111 A KR 20070036111A KR 100882414 B1 KR100882414 B1 KR 100882414B1
Authority
KR
South Korea
Prior art keywords
data
write
memory
terminal
read
Prior art date
Application number
KR1020070036111A
Other languages
English (en)
Other versions
KR20070101805A (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 KR20070101805A publication Critical patent/KR20070101805A/ko
Application granted granted Critical
Publication of KR100882414B1 publication Critical patent/KR100882414B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Static Random-Access Memory (AREA)
  • Dram (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 메모리 액세스의 고속화를 가능하게 하기 위한 것으로, 어드레스 정보가 입력되는 단자와, 소정의 주기로 변화되는 클럭 신호가 입력되는 단자와, 리드 커맨드가 입력되는 단자와, 리드 커맨드에 따라서, 클럭 신호가 한 쪽의 레벨로부터 다른 쪽의 레벨로 변화되는 타이밍에서, 어드레스 정보에 의해 특정되는 어드레스에 기억되어 있는 데이터를 출력하는 단자를 갖는 메모리로부터 데이터를 판독하는 메모리 액세스 장치로서, 클럭 신호가 한 쪽의 레벨로부터 다른 쪽의 레벨로 변화되는 제1 타이밍에서 어드레스 정보 및 리드 커맨드를 출력하는 어드레스 정보 출력부와, 제1 타이밍 다음의 제2 타이밍에서 메모리로부터 출력되는 데이터를, 제2 타이밍 다음의 제3 타이밍에서 기억하는 판독 데이터 기억부를 구비한다.
Figure R1020070036111
리드·라이트 컨트롤러, 어드레스 디코더, 어드레스 래치부, 어드레스 비교부

Description

메모리 액세스 장치{MEMORY ACCESS DEVICE}
도 1은 본 실시예에 따른 메모리 시스템을 도시하는 도면.
도 2는 본 실시예에 따른 메모리 시스템에서 데이터를 판독할 때의 타임 차트를 도시하는 도면.
도 3은 본 실시예에 따른 메모리 시스템에서 데이터를 기입할 때의 타임 차트를 도시하는 도면.
도 4는 데이터의 판독과 기입이 중복되는 경우를 도시하는 도면.
도 5는 데이터의 판독과 기입이 중복되는 경우의 구체예를 도시하는 도면.
도 6은 데이터의 기입과 판독이 교대로 발생하는 경우의 타임 차트를 도시하는 도면.
도 7은 데이터의 기입 후, 판독이 연속하여 발생하는 경우의 타임 차트를 도시하는 도면.
도 8은 데이터 기억부에 기억한 데이터를 판독하는 경우의 타임 차트를 도시하는 도면.
도 9는 본 실시예에 따른 메모리 시스템을 도시하는 도면.
도 10은 메모리 시스템을 도시하는 도면.
도 11은 메모리 액세스의 파이프라인 제어를 도시하는 도면.
도 12는 메모리 시스템에서 데이터를 판독할 때의 타임 차트를 도시하는 도면.
도 13은 메모리 시스템에서 데이터를 기입할 때의 타임 차트를 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
100 : 메모리
200 : DSP
300 : 리드·라이트 컨트롤러
400 : 어드레스 디코더
500 : 어드레스 래치부
600 : 데이터 기억부
700 : 어드레스 기억부
800 : 어드레스 비교부
900 : 제어 회로
1000 : 메모리 시스템
1100 : 어드레스 셀렉트부
1110 : 어드레스 정보 셀렉트부
1120 : 기입 데이터 셀렉트부
1130 : 판독 데이터 셀렉트부
1200 : 클럭 회로
[특허 문헌 1] 일본 특개 2002-64368호 공보
본 발명은, 메모리 액세스의 고속화를 가능하게 하는 메모리 액세스 장치에 관한 것이다.
최근, 텔레비전이나 오디오 기기 등의 다양한 전기 제품이 디지털 제어화되고 있다. 그리고 기술의 진보와 함께, 이들 전기 제품을 구성하는 전자 회로를 제어하는 클럭 신호의 고속화가 도모되고 있다.
또한 이 때문에, 다양한 기술이 개발되고 있다(예를 들면 특허 문헌 1 참조).
그런데, 클럭 신호를 고속화하기 위해서는, CPU(Central Processing Unit)나 메모리, 그 밖의 전자 회로가 전체로서 클럭 신호의 고속화에 적응하는 것이 필요하다.
도 10에 도시하는 메모리 시스템(1010)을 예로 설명한다. 도 10에 도시하는 메모리 시스템(1010)은, 메모리(110)와, 디지털 신호 처리부(DSP; Digital Signal Processor)(210)와, 리드·라이트 컨트롤러(310)와, 어드레스 래치부(500)와, 어드레스 디코더(400)와, 클럭 회로(1200)를 구비한다.
클럭 회로(1200)는, DSP(210)와 메모리(110)에 입력되는 클럭 신호를 출력하는 회로이다. 또한, 메모리(110)에는 DSP(210)에 입력되는 클럭 신호를 반전한 것이 입력된다.
DSP(210)는, DVD 플레이어 등에 널리 이용되고, 음악 데이터나 화상 데이터의 디지털 처리를 행하는 디지털 신호 처리 장치로서, 메모리(110)에 데이터를 기입하거나, 메모리(110)로부터 데이터를 판독하거나 하는 장치이다.
DSP(210)는, "CLK" 단자, "n_BDAA" 단자, "XBDAWR" 단자, "XBDARD" 단자, "BDA_W" 단자, "BDA_R" 단자를 갖고 있다.
"CLK" 단자는, 외부로부터의 클럭 신호를 받아들이는 단자이다. DSP(210) 는, 이 클럭 신호의 상승에 동기하여 메모리(110)로의 액세스를 위한 제어를 행한다. "n_BDAA" 단자는, 메모리(110)에 기억되는 데이터의 어드레스를 나타내는 어드레스 정보를 출력하는 단자이다. "XBDAWR" 단자는, 메모리(110)로의 데이터의 기입을 지시하는 커맨드(기입 커맨드)를 출력하는 단자이다. "XBDARD" 단자는, 메모리(110)로부터의 데이터의 판독을 지시하는 커맨드(판독 커맨드)를 출력하는 단자이다. "BDA_W" 단자는, 메모리(110)에의 기입 데이터를 출력하는 단자이다. "BDA_R" 단자는, 메모리(110)로부터의 판독 데이터를 받아들이는 단자이다.
메모리(110)는, "/CLK" 단자, "A" 단자, "CEN" 단자, "WEN" 단자, "D" 단자, "Q" 단자를 갖고 있다.
"/CLK" 단자는, 외부로부터의 클럭 신호를 받아들이는 단자이다. 도 10에 도시하는 바와 같이, 메모리(110)에 입력되는 클럭 신호는, DSP(210)에 입력되는 클럭 신호가 반전된 것이다. 메모리(110)는, 이 "/CLK" 단자에 입력되는 클럭 신호의 상승에 동기하여 데이터의 기입 또는 판독의 제어를 행한다. "A" 단자는, 메모리(110)에 기억되는 데이터의 어드레스 정보가 입력되는 단자이다. "CEN" 단자는, 칩 인에이블 신호가 입력되는 단자이다. "WEN" 단자는, 라이트 인에이블 신호가 입력되는 단자이다. "D" 단자는, 메모리(110)로의 기입 데이터가 입력되는 단자이다. "Q" 단자는 메모리(110)로부터의 판독 데이터가 출력되는 단자이다.
메모리(110)는, "CEN" 단자=L, 또한, "WEN" 단자=L의 경우에, "/CLK" 단자에 입력되는 클럭 신호의 상승의 타이밍에서, "D" 단자에 입력되어 있는 데이터를, 어드레스 정보에 의해 특정되는 어드레스에 기입한다. 또한 메모리(110)는, "CEN" 단자=L, 또한, "WEN" 단자=H의 경우에, "/CLK" 단자에 입력되는 클럭 신호의 상승의 타이밍에서, 어드레스 정보에 의해 특정되는 어드레스에 기억되어 있는 데이터를 "Q" 단자로부터 출력한다.
어드레스 래치부(500)는, 도시되어 있지 않지만, DSP(210)에 입력되는 클럭 신호와 동일한 클럭 신호가 입력되고, DSP(210)로부터 출력된 어드레스 정보를 받아들여, 클럭 신호의 1주기 동안 래치한 후, 메모리(110)의 "A" 단자에 출력하는 회로이다. 어드레스 래치부(500)를 설치함으로써, DSP(210)에 의한 메모리 액세스를 파이프라인화할 수 있다. 메모리 액세스가 파이프라인화되어 있는 모습을 도 11에 도시한다. 메모리 액세스가 파이프라인화됨으로써, DSP(210)는, 메모리(110)에서의 데이터의 판독/기입 처리의 완료를 대기하지 않고, 클럭 신호의 상승의 타이밍마다 차례 차례로 어드레스 정보를 출력하는 것이 가능하게 된다. 이것에 의 해 고속의 메모리 액세스를 실현하고 있다.
어드레스 디코더(400)는, 어드레스 래치부(500)에 기억되어 있는 어드레스 정보를 디코드하여 리드·라이트 컨트롤러(310)에 출력하는 회로이다.
리드·라이트 컨트롤러(310)는, DSP(210)로부터 출력되는 판독 커맨드나 기입 커맨드에 따라서, 메모리(110)에 칩 인에이블 신호나 라이트 인에이블 신호를 출력하는 회로이다.
도 10에 도시하는 메모리 시스템(1010)에서, DSP(210)가 메모리(110)로부터 데이터를 판독하는 경우의 타임 차트를 도 12에 도시한다.
전술한 바와 같이, 메모리 시스템(1010)은, 데이터 판독의 고속화를 실현하기 위해 메모리 액세스를 파이프라인화하고 있기 때문에, 도 12에 도시하는 바와 같이, DSP(210)는, 어드레스 래치부(500)로부터 어드레스 정보가 메모리(110)에 출력되는 타이밍에서, 판독 커맨드를 출력하고 있다. 즉 DSP(210)는, "n_BDAA" 단자로부터 어드레스 정보를 출력한 클럭 신호의 상승의 타이밍 다음의 타이밍에서, "XBDARD" 단자로부터 판독 커맨드를 출력한다.
한편, 메모리(110)에서는, 메모리(110)의 "/CLK" 단자에 입력되는 클럭 신호가 DSP(210)에 입력되는 클럭 신호와 반전되어 있기 때문에, DSP(210)가 판독 커맨드를 출력한 타이밍으로부터 1/2 사이클 후의 타이밍에서, 메모리(110)의 "Q" 단자에 판독 데이터가 출력된다. 그 때문에, DSP(210) 판독 커맨드를 출력한 타이밍으로부터 1사이클 후의 타이밍에서, DSP(210)는 "BDA_R" 단자로부터 판독 데이터를 받아들이는 것이 가능한 것이다.
다음으로, 도 10에 도시하는 메모리 시스템(1010)에서, 메모리(110)에 데이터를 기입하는 경우의 타임 차트를 도 13에 도시한다.
도 13에 도시하는 바와 같이, 파이프라인 제어를 위해, DSP(210)는, 어드레스 래치부(500)로부터 어드레스 정보가 메모리(110)에 출력되는 타이밍에서, 기입 커맨드를 출력함과 함께, "BDA_W" 단자로부터 기입 데이터를 출력하고 있다. 즉 DSP(210)는, "n_BDAA" 단자로부터 어드레스 정보를 출력한 클럭 신호의 상승의 타이밍 다음의 타이밍에서, 기입 커맨드 및 기입 데이터를 출력한다.
한편, 메모리(110)에서는, 메모리(110)의 "/CLK" 단자에 입력되는 클럭 신호가 DSP(210)에 입력되는 클럭 신호와 반전되어 있기 때문에, DSP(210)가 기입 커맨드 및 기입 데이터를 출력하고나서 1/2 사이클 후에는, 메모리(110)의 "D" 단자에 기입 데이터가 받아들여지게 된다.
이와 같이, 메모리 시스템(1010)은, 메모리 액세스의 파이프라인화와, DSP(210)에 입력되는 클럭 신호를 반전시킨 클럭 신호를 메모리(110)에 입력함으로써, 메모리 액세스의 고속화를 도모하고 있다.
그러나, 데이터의 판독의 경우에는, 도 12에 도시하는 바와 같이, 메모리(110)의 "Q" 단자에 판독 데이터가 출력되고나서, DSP(210)의 "BDA_R" 단자에 그 판독 데이터가 받아들여질 때까지의 시간은 T1밖에 없다. T1은 약 클럭 신호의 1/2 주기 정도이다. 또한, 데이터의 기입의 경우에는, 도 13에 도시하는 바와 같이, DSP(210)의 "BDA_W" 단자에 기입 데이터가 출력되고나서 메모리(110)의 "D" 단자에 그 기입 데이터가 받아들여질 때까지의 시간은 T3밖에 없다. T3도 약 클럭 신호의 1/2 주기 정도이다.
이것은, 메모리 시스템(1010)의 클럭 신호를 고속화시키는 것을 방해하는 요인으로 되는 것이다. 즉 클럭 신호를 고속화함에 따라, T1 및 T3의 값은 작게 되어 가지만, 클럭 신호의 고속화는, T1>0 및 T3>0으로 되는 주파수의 범위 내에서밖에 행할 수 없다. 그 때문에, T1이나 T3이 작은 것은 클럭 신호의 고속화를 방해하여, 메모리 액세스의 고속화를 방해하는 요인으로 되는 것이다.
본 발명은 상기 과제를 감안하여 이루어진 것으로, 메모리 액세스의 고속화를 가능하게 하는 메모리 액세스 장치를 제공하는 것을 주된 목적으로 한다.
상기 과제를 해결하기 위해, 본 발명은, 어드레스 정보가 입력되는 단자와, 소정의 주기로 변화되는 클럭 신호가 입력되는 단자와, 리드 커맨드가 입력되는 단자와, 상기 리드 커맨드에 따라서, 상기 클럭 신호가 한 쪽의 레벨로부터 다른 쪽의 레벨로 변화되는 타이밍에서, 상기 어드레스 정보에 의해 특정되는 어드레스에 기억되어 있는 데이터를 출력하는 단자를 갖는 메모리로부터, 데이터를 판독하는 메모리 액세스 장치로서, 상기 클럭 신호가 상기 한 쪽의 레벨로부터 상기 다른 쪽의 레벨로 변화되는 제1 타이밍에서, 상기 어드레스 정보 및 상기 리드 커맨드를 출력하는 어드레스 정보 출력부와, 상기 클럭 신호가 상기 한 쪽의 레벨로부터 상기 다른 쪽의 레벨로 변화되는 상기 제1 타이밍 다음의 제2 타이밍에서 상기 메모리로부터 출력되는 데이터를, 상기 클럭 신호가 상기 한 쪽의 레벨로부터 상기 다른 쪽의 레벨로 변화되는 상기 제2 타이밍 다음의 제3 타이밍에서 기억하는 판독 데이터 기억부를 구비하는 것을 특징으로 하는 메모리 액세스 장치에 관한 것이다.
이러한 양태에 의해, 데이터가 메모리로부터 출력되고나서, 그 데이터가 메모리 액세스 장치에 받아들여질 때까지의 시간을, 클럭 신호 1주기분 정도 확보하는 것이 가능하게 된다. 이에 의해 클럭 신호를 고속화하는 것이 가능하게 된다.
또한 본 발명은, 어드레스 정보가 입력되는 단자와, 소정의 주기로 변화되는 클럭 신호가 입력되는 단자와, 라이트 커맨드가 입력되는 단자와, 상기 라이트 커맨드에 따라서, 상기 클럭 신호가 한 쪽의 레벨로부터 다른 쪽의 레벨로 변화되는 타이밍에서 상기 어드레스 정보에 의해 특정되는 어드레스에 기억되는 데이터가 입력되는 단자를 갖는 메모리에, 데이터를 기입하는 메모리 액세스 장치로서, 상기 클럭 신호가 상기 한 쪽의 레벨로부터 상기 다른 쪽의 레벨로 변화되는 제1 타이밍에서, 상기 메모리로의 기입 데이터와, 상기 데이터의 어드레스 정보와, 상기 라이트 커맨드를 출력하는 데이터 출력부를 갖고, 상기 클럭 신호가 상기 한 쪽의 레벨로부터 상기 다른 쪽의 레벨로 변화되는 상기 제1 타이밍 다음의 제2 타이밍에서 상기 메모리에 상기 데이터를 기입하는 메모리 액세스 장치로 할 수도 있다.
이러한 양태에 의해, 메모리 액세스 장치가 데이터를 출력하고나서 메모리에 기억될 때까지의 시간을 클럭 신호 1주기분 정도 확보하는 것이 가능하게 된다. 이에 의해, 클럭 신호를 고속화하는 것이 가능하게 된다.
또한 본 발명은, 어드레스 정보가 입력되는 단자와, 소정의 주기로 변화되는 클럭 신호가 입력되는 단자와, 리드 커맨드 또는 라이트 커맨드가 입력되는 단자 와, 상기 리드 커맨드에 따라서, 상기 클럭 신호가 한 쪽의 레벨로부터 다른 쪽의 레벨로 변화되는 제1 타이밍에서 상기 어드레스 정보에 의해 특정되는 어드레스에 기억되어 있는 데이터를 출력하는 단자와, 상기 라이트 커맨드에 따라서, 상기 클럭 신호가 상기 한 쪽의 레벨로부터 상기 다른 쪽의 레벨로 변화되는 제2 타이밍에서 상기 어드레스 정보에 의해 특정되는 어드레스에 기억되는 데이터가 입력되는 단자를 갖는 메모리에 데이터의 판독/기입을 행하는 메모리 액세스 장치로서, 상기 제1 타이밍에서 상기 메모리로부터 데이터를 출력시키기 위해, 상기 클럭 신호가 상기 한 쪽의 레벨로부터 상기 다른 쪽의 레벨로 변화되는 상기 제1 타이밍의 1주기 전의 제3 타이밍에서, 상기 데이터의 어드레스 정보인 판독 어드레스 정보, 및 상기 데이터를 판독하기 위한 판독 커맨드를 출력하는 데이터 판독부와, 상기 제2 타이밍에서 상기 메모리에 데이터를 기입하기 위해, 상기 클럭 신호가 상기 한 쪽의 레벨로부터 상기 다른 쪽의 레벨로 변화되는 상기 제2 타이밍의 2주기 전의 제4 타이밍에서 상기 데이터의 어드레스 정보인 기입 어드레스 정보를 출력하고, 상기 클럭 신호가 상기 한 쪽의 레벨로부터 상기 다른 쪽의 레벨로 변화되는 상기 제2 타이밍의 1주기 전의 제5 타이밍에서, 상기 데이터 및 상기 데이터를 기입하기 위한 기입 커맨드를 출력하는 데이터 기입부를 갖는 메모리 액세스 요구 장치와, 상기 제4 타이밍에서 상기 메모리 액세스 요구 장치로부터 출력된 상기 기입 어드레스 정보를 입력하고, 상기 제5 타이밍에서 상기 기입 어드레스 정보를 출력하는 어드레스 래치부와, 상기 메모리 액세스 요구 장치로부터 상기 제3 타이밍에서 출력된 상기 판독 커맨드에 따라서, 제3 타이밍에서, 상기 메모리에, 리드 커맨드 및 상기 메모리 액세스 요구 장치로부터 출력된 판독 어드레스 정보를 출력하는 판독 제어부와, 상기 메모리 액세스 요구 장치로부터 상기 제5 타이밍에서 출력된 상기 기입 커맨드에 따라서, 제5 타이밍에서, 상기 메모리에, 라이트 커맨드, 상기 어드레스 래치부로부터 출력된 기입 어드레스 정보 및 상기 데이터를 출력하는 기입 제어부를 갖는 메모리 액세스 제어 장치를 구비하고, 상기 메모리 액세스 요구 장치로부터 상기 판독 커맨드 및 상기 기입 커맨드 양자 모두가 출력되고 있는 경우에는, 상기 기입 제어부는, 상기 라이트 커맨드, 상기 어드레스 래치부로부터 출력된 상기 기입 어드레스 정보 및 상기 데이터를 상기 메모리에 출력하지 않는 것을 특징으로 하는 메모리 액세스 장치로 할 수도 있다.
이와 같이, 메모리 액세스 장치에 의해, 메모리 액세스 요구 장치로부터 판독 커맨드와 기입 커맨드 양자 모두가 출력되고 있는 것이 검지된 경우에는, 메모리로부터의 데이터의 판독 타이밍(제1 타이밍)과 메모리에의 데이터의 기입 타이밍(제2 타이밍)이 동시인 것을 사전에 검지할 수 있다. 그리고 그 경우에는, 본 발명의 메모리 액세스 장치는, 메모리에의 데이터의 기입은 행하지 않고, 메모리로부터의 데이터의 판독을 행하도록 한다. 이와 같이, 데이터의 판독을 우선함으로써, 지연없이 데이터의 판독을 행하는 것이 가능하게 된다. 그리고 이에 의해, 메모리 시스템 전체의 데이터 처리의 고속화를 도모하는 것이 가능하게 된다.
또한 상기 메모리 액세스 장치는, 상기 어드레스 래치부로부터 출력되는 기입 어드레스 정보를 기억하는 어드레스 기억부와, 상기 메모리 액세스 요구 장치로부터 출력되는 데이터를 기억하는 데이터 기억부를 구비하고, 상기 메모리 액세스 요구 장치로부터 상기 판독 커맨드 및 상기 기입 커맨드 양자 모두가 출력되고 있는 경우에는, 상기 기입 제어부는, 상기 어드레스 래치부로부터 출력된 기입 어드레스 정보를 상기 어드레스 기억부에 기억하고, 상기 메모리 액세스 요구 장치로부터 출력된 데이터를 상기 데이터 기억부에 기억하도록 할 수도 있다.
이러한 양태에 의해, 메모리로부터의 데이터의 판독 타이밍과 메모리에의 데이터의 기입 타이밍의 중복을 회피하기 위해, 데이터의 판독을 우선시키는 처리를 행하도록 한 경우에도, 메모리에 기입되는 데이터와 그 어드레스 정보를 소실시키지 않고, 각각 데이터 기억부와 어드레스 기억부에 기억해 둘 수 있다.
또한, 상기 메모리 액세스 요구 장치로부터 판독 커맨드 및 기입 커맨드 중 어느 것도 출력되지 않은 경우에는, 상기 기입 제어부는, 상기 메모리에 라이트 커맨드를 출력함과 함께, 상기 어드레스 기억부에 기억한 기입 어드레스 정보, 및 상기 데이터 기억부에 기억한 데이터를, 상기 메모리에 출력하도록 할 수도 있다.
이러한 양태에 의해, 메모리로의 데이터의 기입과 판독 양자 모두가 이루어지지 않을 때에, 데이터 기억부에 기억해 둔 기입 데이터를 메모리에 기입하게 되는 것이 가능하게 된다. 이에 의해, 메모리 액세스 장치의 하드웨어 자원을 유효하게 사용하는 것이 가능하게 된다. 또한, 메모리로부터의 데이터의 판독이나 메모리로의 데이터의 기입의 처리가 이루어지고 있는 동안에는, 데이터 기억부에 기억시켜 둔 데이터는 그대로 기억시켜 둔다. 이것에 의해, 후속의 판독 처리나 기입 처리를 멈추지 않고 행할 수 있기 때문에, 데이터 처리의 고속화를 도모하는 것이 가능하게 된다.
또한 상기 메모리 액세스 요구 장치로부터 판독 커맨드가 출력되는 경우에서, 상기 메모리 액세스 요구 장치로부터 출력된 판독 어드레스 정보가, 상기 어드레스 기억부에 기억한 기입 어드레스 정보와 일치하는 경우에는, 상기 판독 제어부는, 상기 데이터 기억부에 기억한 데이터를, 상기 메모리 액세스 요구 장치에 출력하도록 할 수도 있다.
이러한 양태에 의해, 메모리 액세스 요구 장치로부터 판독 요구가 있었던 데이터가 데이터 기억부에 기억되어 있는 경우에는, 그 데이터를 메모리로부터 판독하는 처리를 생략하여 메모리 액세스 요구 장치에 공급하는 것이 가능하게 된다. 이 때문에, 데이터의 판독을 고속으로 행하는 것이 가능하게 된다.
기타, 본원이 개시하는 과제, 및 그 해결 방법은, 발명을 실시하기 위한 최량의 형태의 란, 및 도면에 의해 명백하게 된다.
<실시예>
===전체의 구성===
본 실시예에 따른 메모리 시스템(1000)의 전체 구성을 도 1에 도시한다. 메모리 시스템(1000)은, 광범위하게는 디지털 데이터를 처리하는 정보 처리 장치에, 구체적으로는 DVD 플레이어 등의 디지털 오디오 기기 등, 대량의 디지털 데이터를 처리하는 전자 기기에 적합하다.
메모리 시스템(1000)은, 메모리(100)와, DSP(200)와, 리드·라이트 컨트롤러(300)와, 어드레스 래치부(500)와, 어드레스 디코더(400)와, 데이터 기억부(600)와, 어드레스 기억부(700)와, 어드레스 비교부(800)와, 어드레스 셀렉트부(1100) 와, 어드레스 정보 셀렉트부(1110)와, 기입 데이터 셀렉트부(1120)와, 판독 데이터 셀렉트부(1130)와, 데이터 기억 셀렉트부(1140)와, 어드레스 기억 셀렉트부(1150)와, 클럭 회로(1200)를 구비한다.
또한, DSP(200)와, 리드·라이트 컨트롤러(300)와, 어드레스 디코더(400)와, 어드레스 비교부(800)와, 어드레스 셀렉트부(1100)와, 어드레스 정보 셀렉트부(1110)와, 기입 데이터 셀렉트부(1120)와, 판독 데이터 셀렉트부(1130)는, 특허 청구의 범위에 기재된 메모리 액세스 장치를 구성한다.
<클럭 회로>
클럭 회로(1200)는, 소정의 주기로 전압이 한 쪽의 레벨로부터 다른 쪽의 레벨로 변화되는 클럭 신호를 출력하는 회로이다. 클럭 신호는, DSP(200), 메모리(100), 어드레스 래치부(500), 어드레스 기억부(700), 데이터 기억부(600)에 입력되고 있다.
<DSP>
DSP(200)는, DVD 플레이어 등에 널리 이용되고, 음악 데이터나 화상 데이터의 디지털 처리를 행하는 디지털 신호 처리 장치로서, 메모리(100)에 데이터를 기입하거나, 메모리(100)로부터 데이터를 판독하거나 한다. DSP(200)는, 특허 청구의 범위의 메모리 액세스 요구 장치에 상당한다.
DSP(200)는, "CLK" 단자, "n_BDAA" 단자, "XBDAWR" 단자, "n_XBDARD" 단자, "BDA_W" 단자, "BDA_R" 단자를 갖고 있다.
"CLK" 단자는, 클럭 신호를 받아들이는 단자이다. 클럭 신호는 클럭 회 로(1200)로부터 출력된다. DSP(200)는, 이 클럭 신호의 상승에 동기하여 메모리(100)에의 액세스를 위한 제어를 행한다.
"n_BDAA" 단자는, 메모리(100)에 기억되는 데이터의 어드레스를 나타내는 어드레스 정보를 출력하는 단자이다. 이 어드레스 정보는 클럭 신호의 상승에 동기하여 출력된다. "n_BDAA" 단자로부터 출력된 어드레스 정보는, 어드레스 래치부(500), 어드레스 정보 셀렉트부(1110), 및 어드레스 디코더(400)에 입력된다.
"XBDAWR" 단자는, 메모리(100)로의 데이터의 기입을 지시하는 커맨드(기입 커맨드)를 출력하는 단자이다. 이 기입 커맨드는 클럭 신호의 상승에 동기하여 출력된다. "XBDAWR" 단자로부터 출력된 기입 커맨드는, 리드·라이트 컨트롤러(300)에 입력된다.
"n_XBDARD" 단자는, 메모리(100)로부터의 데이터의 판독을 지시하는 커맨드(판독 커맨드)를 출력하는 단자이다. 이 판독 커맨드는 클럭 신호의 상승에 동기하여 출력된다. "n_XBDARD" 단자로부터 출력된 판독 커맨드는, 리드·라이트 컨트롤러(300)에 입력된다.
"BDA_W" 단자는, 메모리(100)로의 기입 데이터를 출력하는 단자이다. 기입 데이터는 클럭 신호의 상승에 동기하여 출력된다. "BDA_W" 단자로부터 출력된 기입 데이터는, 기입 데이터 셀렉트부(1120)가, 데이터 기억 셀렉트부(1140)에 입력된다.
"BDA_R" 단자는, 메모리(100)로부터의 판독 데이터를 받아들이는 단자이다. 이 판독 데이터의 받아들이기는 클럭 신호의 상승에 동기하여 행하여진다. 판독 데이터는, 데이터 기억부(600) 혹은 메모리(100)로부터, 판독 데이터 셀렉트부(1130)를 통하여 받아들여진다.
<메모리>
메모리(100)는, "CLK" 단자, "A" 단자, "CEN" 단자, "WEN" 단자, "D" 단자, "Q" 단자를 갖고 있다.
"CLK" 단자는, 외부로부터의 클럭 신호를 수신하는 단자이다. 메모리(100)에 입력되는 클럭 신호는, DSP(200)에 입력되는 클럭 신호와 동일하다. 그리고 메모리(100)는, 이 클럭 신호의 상승에 동기하여 데이터의 판독 또는 기입의 제어를 행한다. 즉, DSP(200)와 메모리(100)는, 동위상의 클럭 신호의 상승에 동기하여 제어가 행하여진다.
"A" 단자는 메모리(100)에 기억되는 데이터의 어드레스 정보가 입력되는 단자이다. "A" 단자에는 어드레스 정보 셀렉트부(1110)로부터 출력된 어드레스 정보가 입력된다.
"CEN" 단자는, 칩 인에이블 신호가 입력되는 단자이다. 칩 인에이블 신호는, 리드·라이트 컨트롤러(300)로부터 출력된다.
"WEN" 단자는, 라이트 인에이블 신호가 입력되는 단자이다. 라이트 인에이블 신호도, 리드·라이트 컨트롤러(300)로부터 출력된다.
또한, 칩 인에이블 신호 및 라이트 인에이블 신호는, 특허 청구의 범위에 기재된 리드 커맨드 및 라이트 커맨드를 구성한다. 즉 구체적으로는, 칩 인에이블 신호=L, 또한, 라이트 인에이블 신호=L의 조합이 라이트 커맨드에 상당하고, 칩 인 에이블 신호=L, 또한, 라이트 인에이블 신호=H의 조합이 리드 커맨드에 상당한다.
"D" 단자는, 메모리(100)로의 기입 데이터가 입력되는 단자이다. "D" 단자에 입력된 기입 데이터는, "CEN" 단자=L, 또한, "WEN" 단자=L의 경우에, 클럭 신호의 상승에 동기하여, "A" 단자에 입력되어 있는 어드레스 정보에 의해 특정되는 어드레스에 기억된다. 기입 데이터는, DSP(200) 또는 데이터 기억부(600)로부터, 기입 데이터 셀렉트부(1120)를 통하여 입력된다.
"Q" 단자는 메모리(100)로부터의 판독 데이터가 출력되는 단자이다. 메모리(100)는, "CEN" 단자=L, 또한, "WEN" 단자=H의 경우에, 클럭 신호의 상승에 동기하여, "A" 단자에 입력되어 있는 어드레스 정보에 의해 특정되는 어드레스에 기억되어 있는 데이터를 "Q" 단자로부터 출력한다. 판독 데이터는, 판독 데이터 셀렉트부(1130)를 통하여, DSP(200)에 입력된다.
<어드레스 래치부>
어드레스 래치부(500)는, DSP(200)에 입력되는 클럭 신호와 동일한 클럭 신호가 입력되고, DSP(200)로부터 출력된 어드레스 정보를 받아들여, 클럭 신호의 1주기 동안 래치한 후에 출력하는 회로이다. 어드레스 래치부(500)로부터는, 어드레스 셀렉트부(1100)나 어드레스 디코더(400), 어드레스 기억 셀렉트부(1150), 어드레스 비교부(800)에 어드레스 정보가 출력된다. 어드레스 래치부(500)를 설치함으로써, DSP(200)에 의한 메모리 액세스의 파이프라인화가 도모되고 있다.
<어드레스 디코더>
어드레스 디코더(400)는, 어드레스 래치부(500)에 기억되어 있는 어드레스 정보 및 DSP(200)의 "n_BDAA" 단자로부터 출력된 어드레스 정보를 디코드하여, 리드·라이트 컨트롤러(300)에 출력하는 회로이다.
<어드레스 기억부>
어드레스 기억부(700)는, 어드레스 래치부(500)로부터 출력되는 어드레스 정보를 기억하는 회로이다. 또한 어드레스 기억부(700)에 기억되어 있는 어드레스 정보는, 어드레스 셀렉트부(1100)에 출력된다. 또한, 어드레스 래치부(500)로부터 출력되는 어드레스 정보는, 어드레스 기억 셀렉트부(1150)를 통하여 어드레스 기억부(700)에 입력된다.
<어드레스 기억 셀렉트부>
어드레스 기억 셀렉트부(1150)는, 리드·라이트 컨트롤러(300)로부터 출력되는 어드레스 기억 신호에 따라서, 어드레스 래치부(500)로부터 출력되는 어드레스 정보와, 어드레스 기억부(700)로부터 출력되는 어드레스 정보 중 어느 한 쪽을 출력하는 회로이다.
<어드레스 셀렉트부>
어드레스 셀렉트부(1100)는, 리드·라이트 컨트롤러(300)로부터 출력되는 어드레스 셀렉트 신호에 따라서, 어드레스 래치부(500)로부터의 어드레스 정보나, 어드레스 기억부(700)로부터의 어드레스 정보 중 어느 한 쪽을 출력하는 회로이다. 어드레스 셀렉트부(1100)로부터 출력된 어드레스 정보는, 어드레스 정보 셀렉트부(1110)에 입력된다.
<어드레스 정보 셀렉트부>
어드레스 정보 셀렉트부(1110)는, 리드·라이트 컨트롤러(300)로부터 출력되는 리드·라이트 셀렉트 신호에 따라서, DSP(200)의 "n_BDAA" 단자로부터 출력된 어드레스 정보나, 어드레스 셀렉트부(1100)로부터 출력된 어드레스 정보 중 어느 한 쪽을 출력하는 회로이다. 어드레스 정보 셀렉트부(1110)로부터 출력된 어드레스 정보는, 메모리(100)의 "A" 단자에 입력된다.
<어드레스 비교부>
어드레스 비교부(800)는, 어드레스 래치부(500)로부터 출력된 어드레스 정보와, 어드레스 기억부(700)로부터 출력된 어드레스 정보를 비교하여, 그들 어드레스 정보가 일치하는지의 여부를 나타내는 신호를, 리드·라이트 컨트롤러(300)에 출력하는 회로이다.
<데이터 기억부>
데이터 기억부(600)는, DSP(200)로부터 출력되는 기입 데이터를 받아들여 기억하는 회로이다. 또한 데이터 기억부(600)에 기억되어 있는 기입 데이터는, 기입 데이터 셀렉트부(1120) 및 판독 데이터 셀렉트부(1130)에 입력되고, 리드·라이트 컨트롤러(300)로부터 출력되는 기입 데이터 셀렉트 신호, 또는 판독 데이터 셀렉트 신호에 따라서, 메모리(100) 또는 DSP(200)에 출력된다. 또한, DSP(200)로부터 출력되는 기입 데이터는, 데이터 기억 셀렉트부(1140)를 통하여 데이터 기억부(600)에 입력된다.
<데이터 기억 셀렉트부>
데이터 기억 셀렉트부(1140)는, 리드·라이트 컨트롤러(300)로부터 출력되는 기입 데이터 기억 신호에 따라서, DSP(200)로부터 출력되는 기입 데이터와, 데이터 기억부(600)로부터 출력되는 기입 데이터 중 어느 한 쪽을 출력하는 회로이다.
<리드·라이트 컨트롤러>
리드·라이트 컨트롤러(300)는, 메모리 시스템(1000)에서 행하여지는 메모리 액세스를 제어하는 회로이다. 예를 들면, DSP(200)로부터 출력되는 판독 커맨드나 기입 커맨드에 따라서, 메모리(100)에 칩 인에이블 신호나 라이트 인에이블 신호를 출력한다. 상세한 것은 후술한다.
===판독 제어===
다음으로, 본 실시예에 따른 메모리 시스템(1000)에서, DSP(200)가 메모리(100)로부터 데이터를 판독하는 경우의 타임 차트를 도 2에 도시한다.
도 2에 도시하는 바와 같이, 본 실시예에 따른 DSP(200)는, "n_BDAA" 단자로부터 어드레스 정보를 출력하는 타이밍에서, "n_XBDARD" 단자로부터 판독 커맨드를 출력한다.
한편 리드·라이트 컨트롤러(300)는, DSP(200)로부터의 판독 커맨드에 따라서, DSP(200)의 "n_BDAA" 단자로부터 출력된 어드레스 정보를 선택하는 리드·라이트 셀렉트 신호를 어드레스 정보 셀렉트부(1110)에 출력한다. 이에 의해, "n_BDAA" 단자로부터 출력된 어드레스 정보가 메모리(100)의 "A" 단자에 입력된다.
또한 리드·라이트 컨트롤러(300)는, DSP(200)로부터의 판독 커맨드에 따라 서, 칩 인에이블 신호=L, 라이트 인에이블 신호=H(리드 커맨드)를 메모리(100)에 출력한다.
그렇게 하면, 메모리(100)는, "CEN" 단자=L, 또한, "WEN" 단자=H로 되기 때문에, 메모리(100)는, 다음의 클럭 신호의 상승(즉, DSP(200)가 판독 커맨드를 출력하고나서 1주기 후)에 동기하여, "A" 단자에 입력되어 있는 어드레스 정보에 의해 특정되는 어드레스에 기억되어 있는 데이터를 "Q" 단자로부터 출력한다.
또한 리드·라이트 컨트롤러(300)는, DSP(200)로부터의 판독 커맨드에 따라서, 판독 데이터 셀렉트부(1130)에 대하여, 메모리(100)로부터 출력된 쪽의 데이터를 선택하는 판독 데이터 셀렉트 신호를 출력해 둔다.
이에 의해, 메모리(100)의 "Q" 단자로부터 출력된 판독 데이터는, DSP(200)의 "BDA_R" 단자에 입력된다.
그리고 DSP(200)는, 다음의 클럭 신호의 상승(즉 메모리(100)로부터 판독 데이터가 출력된 타이밍의 1주기 후)에 동기하여, "BDA_R" 단자에 입력된 판독 데이터를 기억한다.
이와 같이, 본 실시예에 따른 메모리 시스템(1000)에서는, 메모리(100)의 "Q" 단자에 판독 데이터가 출력되고나서, DSP(200)의 "BDA_R" 단자에 그 판독 데이터가 기억될 때까지의 시간은 T2로 된다. T2는 약 클럭 신호의 1주기 정도이다. 그리고 메모리(100)에 판독 데이터가 출력되고나서, DSP(200)에 그 판독 데이터가 기억될 때까지의 시간을 길게 할 수 있기 때문에, 클럭 신호를 고속화하는 것이 가능하게 된다.
===기입 제어===
다음으로, 본 실시예에 따른 메모리 시스템(1000)에서, DSP(200)가 메모리(100)에 데이터를 기입하는 경우의 타임 차트를 도 3에 도시한다.
도 3에 도시하는 바와 같이, 본 실시예에 따른 DSP(200)는, "n_BDAA" 단자로부터 어드레스 정보를 출력한 타이밍 다음의 타이밍에서, "XBDAWR" 단자로부터 기입 커맨드를 출력하고, "BDA_W" 단자로부터 기입 데이터를 출력하도록 하고 있다.
한편 리드·라이트 컨트롤러(300)는, DSP(200)로부터의 기입 커맨드에 따라서, 어드레스 래치부(500)로부터 출력된 어드레스 정보를 선택하는 어드레스 셀렉트 신호를 어드레스 셀렉트부(1100)에 출력함과 함께, 어드레스 셀렉트부(1100)로부터 출력된 어드레스 정보를 선택하는 리드·라이트 셀렉트 신호를 어드레스 정보 셀렉트부(1110)에 출력한다. 이에 의해, 어드레스 래치부(500)로부터 출력된 어드레스 정보가, 메모리(100)의 "A" 단자에 입력된다. 또한 리드·라이트 컨트롤러(300)는, DSP(200)로부터의 기입 커맨드에 따라서, DSP(200)로부터 출력된 기입 데이터를 선택하는 기입 데이터 셀렉트 신호를 기입 데이터 셀렉트부(1120)에 출력한다. 이에 의해, DSP(200)로부터의 기입 데이터가 메모리(100)의 "D" 단자에 입력된다.
또한 리드·라이트 컨트롤러(300)는, DSP(200)로부터의 기입 커맨드에 따라서, 칩 인에이블 신호=L 및 라이트 인에이블 신호=L(라이트 커맨드)를 메모리(100)에 출력한다.
그렇게 하면, 메모리(100)는, "CEN" 단자=L, 또한, "WEN" 단자=L로 되기 때문에, 다음의 클럭 신호의 상승(즉, DSP(200)가 기입 커맨드를 출력하고나서 1주기 후)에 동기하여, "D" 단자에 입력되어 있는 기입 데이터를, "A" 단자에 입력되어 있는 어드레스 정보에 의해 특정되는 어드레스에 기억한다.
이와 같이, 본 실시예에 따른 메모리 시스템(1000)에서는, 메모리(100)의 "D" 단자에 기입 데이터가 입력되고나서, 기억될 때까지의 시간은 T4로 된다. T4는 약 클럭 신호의 1주기 정도이다.
이와 같이, 메모리(100)에 입력되는 클럭 신호와 DSP(200)에 입력되는 클럭 신호를 동위상로 하고, 기입 데이터가 메모리(100)에 기억되는 타이밍의 1주기 전의 타이밍에서 DSP(200)로부터 기입 데이터를 출력함으로써, 기입 데이터가 DSP(200)로부터 출력되고나서 메모리(100)에 받아들여질 때까지의 시간을 연장시키는 것이 가능하게 된다. 이에 의해 클럭 신호를 고속화하는 것이 가능하게 된다.
===판독 우선 제어===
다음으로, 본 실시예에 따른 판독 우선 제어에 대하여 설명한다. 또한 판독 우선 제어란, 메모리(100)에서의 데이터의 판독 타이밍이 기입 타이밍과 중복되는 경우에, 판독 처리를 우선하여 실행하는 제어를 말한다.
전술한 바와 같이, 본 메모리 시스템(1000)에서는, DSP(200)로부터 판독 데이터의 어드레스 정보가 출력되고나서 판독 데이터가 메모리(100)로부터 출력될 때까지의 시간은 클럭 신호 1주기분이며, DSP(200)로부터 기입 데이터의 어드레스 정 보가 출력되고나서 메모리(100)에 기입 데이터가 기억될 때까지의 시간은 클럭 신호 2주기분이다. 그 때문에 DSP(200)는, 비록 판독 데이터의 어드레스 정보와 기입 데이터의 어드레스 정보를 서로 다른 타이밍에서 출력하였다고 해도, 메모리(100)에서의 데이터의 판독 타이밍과 기입 타이밍이 동일하게 되는 경우가 있는 것이다.
따라서 리드·라이트 컨트롤러(300)는, DSP(200)로부터 판독 커맨드가 출력되는 타이밍과 기입 커맨드가 출력되는 타이밍에 기초하여, 메모리(100)로부터의 데이터 판독과 메모리(100)로의 데이터 기입의 중복을 사전에 검지하여, 중복을 회피하는 제어를 행한다.
구체적으로는, 리드·라이트 컨트롤러(300)는, 도 4에 도시하는 바와 같이, DSP(200)의 "n_XBDARD" 단자로부터 출력되는 판독 커맨드와, "XBDAWR" 단자로부터 출력되는 기입 커맨드 양자 모두가, 동시에 입력되는 것을 검지함으로써, 메모리(100)로부터의 데이터의 판독 타이밍과 메모리(100)로의 데이터의 기입 타이밍이 중복되는 것을 사전에 검지한다.
이하에, 구체적인 예에 기초하여, 상세하게 설명한다.
<판독과 판독이 교대로 발생하는 경우>
도 5의 (A)에 도시하는 바와 같이, DSP(200)가 데이터의 기입(W0)과, 데이터의 판독(R1)과, 데이터의 기입(W1)을 연속하여 행하자고 하면, 메모리(100)에서, 데이터의 판독과 기입의 중복이 발생한다. 이 경우에 행하여지는 판독 우선 제어를 도 6의 타임 차트를 참조하면서 설명한다.
또한 설명의 간단화를 위해, 데이터의 기입이나 판독을, 「Wi」(i는 정수)나 「Rj」(j는 정수)로 식별한다. 또한 데이터의 기입(Wi) 시에, 그 데이터가 기입되는 메모리(100)의 어드레스를 WAi로 나타낸다. 또한 메모리(100)에 기입되는 데이터를 Di로 나타낸다. 마찬가지로 데이터의 판독(Rj) 시에, 데이터가 기억되어 있는 메모리(100)의 어드레스를 RAj로 나타낸다. 또한, 메모리(100)로부터 판독되는 데이터를 Qj로 나타낸다.
우선, 도 6에 도시하는 타임 차트에서, 클럭 신호의 (2)의 타이밍에서 DSP(200)가, "n_BDAA" 단자로부터 기입 데이터의 어드레스 정보(WAO)를 출력한다. DSP(200)는, 그 다음의 클럭 신호의 상승의 타이밍(3)에서 판독 데이터의 어드레스 정보(RA1)를 출력한다. 그리고 또한 그 다음의 클럭 신호의 상승의 타이밍(4)에서 기입 데이터의 어드레스 정보(WA1)를 출력한다.
이들 어드레스 정보는, 각각, 클럭 1주기 후에 어드레스 래치부(500)로부터 출력된다.
DSP(200)는, 어드레스 정보 WAO를 출력한 다음의 타이밍(3)에서, "XBDAWR" 단자로부터 기입 커맨드를 출력한다. 한편, DSP(200)는, 어드레스 정보 RA1을 출력한 타이밍(3)에서, "n_XBDARD" 단자로부터 판독 커맨드를 출력한다.
여기에서, 리드·라이트 컨트롤러(300)는, DSP(200)로부터 판독 커맨드와 기입 커맨드 양자 모두가 출력된 것을 검지한다(조건A).
그렇게 하면, 리드·라이트 컨트롤러(300)는, DSP(200)의 "BDA_W" 단자로부터 출력되고 있는 기입 데이터(D0)를 데이터 기억부(600)에 기억시키기 위해, 데이 터 기억 셀렉트부(1140)에 기입 데이터 기억 신호를 출력한다. 이에 의해 기입 데이터(D0)는, 메모리(100)에 기입되는 것이 아니라, 데이터 기억부(600)에 기억된다.
또한 리드·라이트 컨트롤러(300)는, 어드레스 래치부(500)에 기억되어 있는 어드레스 정보(WA0)를 어드레스 기억부(700)에 기억시키기 위해, 어드레스 기억 셀렉트부(1150)에, 어드레스 기억 신호를 출력한다. 이에 의해 어드레스 정보(AVAO)가 어드레스 기억부(700)에 기억된다.
또한, 리드·라이트 컨트롤러(300)는, DSP(200)의 "n_BDAA" 단자로부터 출력된 어드레스 정보를 선택하는 리드·라이트 셀렉트 신호를 어드레스 정보 셀렉트부(1110)에 출력한다. 이에 의해, "n_BDAA" 단자로부터 출력된 어드레스 정보(RA1)는, 그대로 메모리(100)의 "A" 단자에 입력된다.
또한 리드·라이트 컨트롤러(300)는, 칩 인에이블 신호=L, 라이트 인에이블 신호=H(리드 커맨드)를 메모리(100)에 출력한다.
그렇게 하면, 메모리(100)는, "CEN" 단자=L, 또한, "WEN" 단자=H로 되기 때문에, 다음의 클럭 신호의 상승의 타이밍(4)에서, "A" 단자에 입력되어 있는 어드레스 정보에 의해 특정되는 어드레스에 기억되어 있는 데이터(Q1)를 "Q" 단자로부터 출력한다.
또한 리드·라이트 컨트롤러(300)는, 판독 데이터 셀렉트부(1130)에 대하여, 메모리(100)로부터 출력된 쪽의 데이터를 선택하는 판독 데이터 셀렉트 신호를 출력한다.
이에 의해, 메모리(100)로부터의 판독 데이터(Q1)는, DSP(200)의 "BDA_R" 단자에 입력된다. 이 판독 데이터(Q1)는, 다음의 클럭 신호의 상승의 타이밍(5)에서, DSP(200)에 기억된다.
한편, 클럭 신호의 (4)의 타이밍에서는, DSP(200)로부터는, 판독 커맨드도 기입 커맨드도 출력되지 않는다(조건B). 그 때문에 리드·라이트 컨트롤러(300)는, 데이터 기억부(600)에 기억해 둔 기입 데이터(D0)를 메모리(100)에 기입하기 위한 처리를 실행한다.
즉, 리드·라이트 컨트롤러(300)는, 기입 데이터 셀렉트부(1120)에 대하여, 데이터 기억부(600)로부터의 기입 데이터를 출력시키기 위한 기입 데이터 셀렉트 신호를 출력함과 함께, 어드레스 셀렉트부(1100)에 대하여, 어드레스 기억부(700)에 기억되어 있는 어드레스 정보를 선택시키기 위한 어드레스 셀렉트 신호를 출력한다. 또한 리드·라이트 컨트롤러(300)는, 어드레스 정보 셀렉트부(1110)에 대하여, 어드레스 셀렉트부(1100)로부터 출력되는 어드레스 정보를 선택하기 위한 리드·라이트 셀렉트 신호를 출력한다.
또한 리드·라이트 컨트롤러(300)는, 메모리(100)에 대하여, 칩 인에이블 신호=L과 라이트 인에이블 신호=L(라이트 커맨드)을 출력한다. 이것에 의해, 다음의 클럭 신호의 상승의 타이밍(5)에서, 데이터 기억부(600)에 기억해 둔 기입 데이터(D0)가 메모리(100)에 기억된다.
한편 DSP(200)는, 클럭 신호의 (5)의 타이밍에서, "BDA_W" 단자로부터 기입 데이터(D1)를 출력함과 함께, "XBDAWR" 단자로부터 기입 커맨드를 출력한다.
리드·라이트 컨트롤러(300)는, DSP(200)로부터 기입 커맨드만이 출력되고 있는 것을 검지한다(조건D). 그 경우, 리드·라이트 컨트롤러(300)는, 어드레스 래치부(500)로부터 출력된 어드레스 정보를 선택하는 어드레스 셀렉트 신호를 어드레스 셀렉트부(1100)에 출력함과 함께, 어드레스 셀렉트부(1100)로부터 출력된 어드레스 정보를 선택하는 리드·라이트 셀렉트 신호를 어드레스 정보 셀렉트부(1110)에 출력한다. 이에 의해, 어드레스 래치부(500)로부터 출력된 어드레스 정보가, 메모리(100)의 "A" 단자에 입력된다.
또한 리드·라이트 컨트롤러(300)는, DSP(200)로부터 출력된 기입 데이터(D1)를 선택하는 기입 데이터 셀렉트 신호를 기입 데이터 셀렉트부(1120)에 출력한다. 이에 의해, DSP(200)로부터의 기입 데이터가 메모리(100)의 "D" 단자에 입력된다.
그리고 리드·라이트 컨트롤러(300)는, 칩 인에이블 신호=L 및 라이트 인에이블 신호=L(라이트 커맨드)을 메모리(100)에 출력한다.
이에 의해, 메모리(100)는, 다음의 클럭 신호의 상승의 타이밍(6)에서, "D" 단자에 입력되어 있는 기입 데이터(D1)를, "A" 단자에 입력되어 있는 어드레스 정보에 의해 특정되는 어드레스에 기억한다.
이와 같이 하여, 데이터의 메모리(100)로부터의 판독 타이밍이 기입 타이밍과 중복된 경우에도, 판독 처리를 계속하는 것이 가능하게 되기 때문에, 데이터의 판독 처리를 지연시키지 않도록 하는 것이 가능하게 된다. 그리고, 재빨리 판독 데이터를 DSP(200)에 공급함으로써, 메모리 시스템(1000) 전체, 나아가서는 DVD 플 레이어 전체의 데이터 처리의 한층 더한 고속화를 달성하는 것이 가능하게 된다.
<기입 후 판독이 연속되는 경우>
다음으로, 도 5의 (B)에 도시하는 바와 같이, 데이터의 기입(W0) 후, 데이터의 판독(R1, R2, R3)가 연속되고, 그 후에 데이터의 기입(W1)가 행하여지는 경우에 대해 설명한다. 이 경우에 행하여지는 판독 우선 제어를 도 7의 타임 차트를 참조하면서 설명한다.
우선, 도 7에 도시하는 클럭 신호의 (2)의 타이밍에서 DSP(200)가, "n_BDAA" 단자로부터 기입 데이터의 어드레스 정보(WA0)를 출력한다. DSP(200)는, 그 다음의 클럭 신호의 상승의 타이밍(3)에서 판독 데이터의 어드레스 정보(RA1)를 출력한다. 그 후 순차적으로, 어드레스 정보 RA2, RA3, WA1을 출력한다.
이들 어드레스 정보는, 각각, 클럭 1주기 후에 어드레스 래치부(500)로부터 출력된다.
DSP(200)는, 어드레스 정보 WAO를 출력한 다음의 타이밍(3)에서, "XBDAWR" 단자로부터 기입 커맨드를 출력한다. 한편, DSP(200)는, 어드레스 정보 RA1을 출력한 타이밍(3)에서, "n_XBDARD" 단자로부터 판독 커맨드를 출력한다.
여기에서, 리드·라이트 컨트롤러(300)는, DSP(200)로부터 판독 커맨드와 기입 커맨드 양자 모두가 출력된 것을 검지한다(조건A).
그렇게 하면, 리드·라이트 컨트롤러(300)는, DSP(200)의 "BDA_W" 단자로부터 출력되고 있는 기입 데이터(D0)를 데이터 기억부(600)에 기억시키기 위해, 데이터 기억 셀렉트부(1140)에 기입 데이터 기억 신호를 출력한다. 이에 의해 기입 데 이터(D0)가 데이터 기억부(600)에 기억된다.
또한 리드·라이트 컨트롤러(300)는, 어드레스 래치부(500)에 기억되어 있는 어드레스 정보(WA0)를 어드레스 기억부(700)에 기억시키기 위해, 어드레스 기억 셀렉트부(1150)에, 어드레스 기억 신호를 출력한다. 이것에 의해 어드레스 정보(WA0)가 어드레스 기억부(700)에 기억된다.
또한, 리드·라이트 컨트롤러(300)는, DSP(200)의 "n_BDAA" 단자로부터 출력된 어드레스 정보를 선택하는 리드·라이트 셀렉트 신호를 어드레스 정보 셀렉트부(1110)에 출력한다. 이에 의해, "n_BDAA" 단자로부터 출력된 어드레스 정보(RA1)는, 그대로 메모리(100)의 "A" 단자에 입력된다.
또한 리드·라이트 컨트롤러(300)는, 칩 인에이블 신호=L, 라이트 인에이블 신호=H(리드 커맨드)를 메모리(100)에 출력한다.
그렇게 하면, 메모리(100)는, "CEN" 단자=L, 또한, "WEN" 단자=H로 되기 때문에, 메모리(100)는, 다음의 클럭 신호의 상승의 타이밍(4)에서, "A" 단자에 입력되어 있는 어드레스 정보에 의해 특정되는 어드레스에 기억되어 있는 데이터(Q1)를 "Q" 단자로부터 출력한다.
또한 리드·라이트 컨트롤러(300)는, 판독 데이터 셀렉트부(1130)에 대하여, 메모리(100)로부터 출력된 쪽의 데이터를 선택하는 판독 데이터 셀렉트 신호를 출력한다.
이에 의해, 메모리(100)로부터의 판독 데이터(Q1)는, DSP(200)의 "BDA_R" 단자에 입력된다. 이 판독 데이터(Q1)는, 다음의 클럭 신호의 상승의 타이밍(5)에 서, DSP(200)에 의해 기억된다.
한편, 클럭 신호의 (4)의 타이밍에서는, DSP(200)는, "n_BDAA" 단자로부터 어드레스 정보(RA2)를 출력하는 타이밍에서, "n_XBDARD" 단자로부터 판독 커맨드를 출력한다.
리드·라이트 컨트롤러(300)는, DSP(200)로부터 판독 커맨드만이 출력되고 있는 것을 검지하고(조건C), DSP(200)의 "n_BDAA" 단자로부터 출력된 어드레스 정보(RA2)를 선택하는 리드·라이트 셀렉트 신호를 어드레스 정보 셀렉트부(1110)에 출력한다. 이에 의해, "n_BDAA" 단자로부터 출력된 어드레스 정보는, 그대로 메모리(100)의 "A" 단자에 입력된다.
또한 리드·라이트 컨트롤러(300)는, 칩 인에이블 신호=L, 라이트 인에이블 신호=H(리드 커맨드)를 메모리(100)에 출력한다.
그렇게 하면, 메모리(100)는, 다음의 클럭 신호의 상승의 타이밍(5)에서, "A" 단자에 입력되어 있는 어드레스 정보(RA2)에 의해 특정되는 어드레스에 기억되어 있는 데이터(Q2)를 "Q" 단자로부터 출력한다.
또한 리드·라이트 컨트롤러(300)는, 판독 데이터 셀렉트부(1130)에 대하여, 메모리(100)로부터 출력된 쪽의 데이터를 선택하는 판독 데이터 셀렉트 신호를 출력한다.
이에 의해, 메모리(100)로부터의 판독 데이터(Q2)는, DSP(200)의 "BDA_R" 단자에 입력된다. 이 판독 데이터(Q2)는, 다음의 클럭 신호의 상승의 타이밍(6)에서, DSP(200)에 의해 기억된다.
이와 같이, 데이터의 판독이 연속되는(R1, R2…) 경우에는 데이터의 판독을 우선시키고, 데이터 기억부(600)에 기억시켜 둔 기입 데이터(D0)는, 그대로 기억시켜 두는 것이다.
또한, 도 7에서의 이후의 스텝은, 도 6에서 상세하게 설명한 경우와 마찬가지이다. 즉, 도 7에서의 클럭 신호의 (6)의 타이밍에서, DSP(200)로부터 판독 커맨드도 기입 커맨드도 출력되지 않는 상태로 되었을 때에, 데이터 기억부(600)에 기억시켜 둔 기입 데이터(D0)를 메모리(100)에 기입하는 것이다.
이와 같이, 데이터의 메모리(100)로부터의 판독 타이밍이 기입 타이밍과 중복된 경우에는, 판독 처리를 우선시킴으로써, 데이터의 판독 처리를 지연시키지 않도록 하는 것이 가능하게 된다. 그리고, 재빨리 판독 데이터를 DSP(200)에 공급하는 것을 가능하게 함으로써, 메모리 시스템(1000) 전체, DVD 플레이어 전체의 데이터 처리의 한층 더한 고속화를 달성하는 것이 가능하게 되는 것이다.
===데이터 기억부에 기억시킨 기입 데이터를 판독하는 제어===
다음으로, 데이터 기억부(600)에 기억시킨 기입 데이터를 판독하는 제어에 대하여 설명한다. 도 5의 (C)에 도시하는 바와 같이, 데이터의 기입(W0) 후, 데이터의 판독(R1, R2, R0)가 연속되고, 그 후에 데이터의 기입(W1)가 행하여지는 경우에 대하여 설명한다. 또한 여기에서, R0은, W0에 의해 기입된 데이터를 판독하는 것을 나타낸다. 이 경우에 행하여지는 제어를 도 8의 타임 차트를 참조하면서 설명한다.
우선, 도 8에 도시하는 클럭 신호의 (2)의 타이밍에서 DSP(200)가, "n_BDAA" 단자로부터 기입 데이터의 어드레스 정보(WAO)를 출력한다. DSP(200)는, 그 다음의 클럭 신호의 상승의 타이밍(3)에서 판독 데이터의 어드레스 정보(RA1)를 출력한다. 그 후 순차적으로, 어드레스 정보 RA2, RA0, WA1을 출력한다. 또한 여기에서, RA0은, WA0과 동일한 어드레스 정보이다.
이들 어드레스 정보는, 각각, 클럭 1주기 후에 어드레스 래치부(500)로부터 출력된다.
DSP(200)는, 어드레스 정보 WAO를 출력한 다음의 타이밍(3)에서, "XBDAWR" 단자로부터 기입 커맨드를 출력한다. 한편, DSP(200)는, 어드레스 정보 RA1을 출력한 타이밍(3)에서, "n_XBDARD" 단자로부터 판독 커맨드를 출력한다.
여기에서, 리드·라이트 컨트롤러(300)는, DSP(200)로부터 판독 커맨드와 기입 커맨드 양자 모두가 출력된 것을 검지한다(조건A).
그렇게 하면, 리드·라이트 컨트롤러(300)는, DSP(200)의 "BDA_W" 단자로부터 출력되고 있는 기입 데이터(D0)를 데이터 기억부(600)에 기억시키기 위해, 데이터 기억 셀렉트부(1140)에 기입 데이터 기억 신호를 출력한다. 이에 의해 기입 데이터(D0)가 데이터 기억부(600)에 기억된다.
또한 리드·라이트 컨트롤러(300)는, 어드레스 래치부(500)에 기억되어 있는 어드레스 정보(WA0)를 어드레스 기억부(700)에 기억시키기 위해, 어드레스 기억 셀렉트부(1150)에, 어드레스 기억 신호를 출력한다. 이것에 의해 어드레스 정보(WA0)가 어드레스 기억부(700)에 기억된다.
또한, 리드·라이트 컨트롤러(300)는, DSP(200)의 "n_BDAA" 단자로부터 출력 된 어드레스 정보를 선택하는 리드·라이트 셀렉트 신호를 어드레스 정보 셀렉트부(1110)에 출력한다. 이에 의해, "n_BDAA" 단자로부터 출력된 어드레스 정보(RA1)는, 그대로 메모리(100)의 "A" 단자에 입력된다.
또한 리드·라이트 컨트롤러(300)는, 칩 인에이블 신호=L, 라이트 인에이블 신호=H(리드 커맨드)를 메모리(100)에 출력한다.
그렇게 하면, 메모리(100)는, "CEN" 단자=L, 또한, "WEN" 단자=H로 되기 때문에, 메모리(100)는, 다음의 클럭 신호의 상승의 타이밍(4)에서, "A" 단자에 입력되어 있는 어드레스 정보에 의해 특정되는 어드레스에 기억되어 있는 데이터(Q1)를 "Q" 단자로부터 출력한다.
또한 리드·라이트 컨트롤러(300)는, 판독 데이터 셀렉트부(1130)에 대하여, 메모리(100)로부터 출력된 쪽의 데이터를 선택하는 판독 데이터 셀렉트 신호를 출력한다.
이에 의해, 메모리(100)로부터의 판독 데이터(Q1)는, DSP(200)의 "BDA_R" 단자에 입력된다. 이 판독 데이터(Q1)는, 다음의 클럭 신호의 상승의 타이밍(5)에서, DSP(200)에 기억된다.
한편, 클럭 신호의 (4)의 타이밍에서는, DSP(200)는, "n_BDAA" 단자로부터 어드레스 정보(RA2)를 출력하는 타이밍에서, "n_XBDARD" 단자로부터 판독 커맨드를 출력한다.
리드·라이트 컨트롤러(300)는, DSP(200)로부터 판독 커맨드만이 출력되고 있는 것을 검지하고(조건C), DSP(200)의 "n_BDAA" 단자로부터 출력된 어드레스 정 보(RA2)를 선택하는 리드·라이트 셀렉트 신호를 어드레스 정보 셀렉트부(1110)에 출력한다. 이에 의해, "n_BDAA" 단자로부터 출력된 어드레스 정보(RA2)는, 그대로 메모리(100)의 "A" 단자에 입력된다.
또한 리드·라이트 컨트롤러(300)는, 칩 인에이블 신호=L, 라이트 인에이블 신호=H(리드 커맨드)를 메모리(100)에 출력한다.
그렇게 하면, 메모리(100)는, 다음의 클럭 신호의 상승의 타이밍(5)에서, "A" 단자에 입력되어 있는 어드레스 정보(RA2)에 의해 특정되는 어드레스에 기억되어 있는 데이터(Q2)를 "Q" 단자로부터 출력한다.
또한 리드·라이트 컨트롤러(300)는, 판독 데이터 셀렉트부(1130)에 대하여, 메모리(100)로부터 출력된 쪽의 데이터를 선택하는 판독 데이터 셀렉트 신호를 출력한다.
이에 의해, 메모리(100)로부터의 판독 데이터(Q2)는, DSP(200)의 "BDA_R" 단자에 입력된다. 이 판독 데이터(Q2)는, 다음의 클럭 신호의 상승의 타이밍(6)에서, DSP(200)에 기억된다.
다음으로, 클럭 신호의 (5)의 타이밍에서는, DSP(200)는, "n_BDAA" 단자로부터 어드레스 정보(RAO)를 출력하는 타이밍에서, "n_XBDARD" 단자로부터 판독 커맨드를 출력한다.
그런데, "n_BDAA" 단자로부터 출력된 어드레스 정보(RAO)는, 클럭 신호의 (6)의 타이밍에서 어드레스 래치 회로(500)로부터 출력되고, 어드레스 비교부(800)에 입력된다. 또한 어드레스 비교부(800)에는, 어드레스 기억부(700)에 기억되어 있는 어드레스 정보(WA0)도 입력되어 있다. 전술한 바와 같이 RA0과 WA0은 동일하므로, 어드레스 비교부(800)는, 이들 어드레스 정보가 일치하는 것을 나타내는 정보를, 리드·라이트 컨트롤러(300)에 출력한다.
리드·라이트 컨트롤러(300)는, DSP(200)로부터의 판독 커맨드 및 어드레스 비교부(800)로부터의 상기 정보를 검지한다(조건E). 이 경우 DSP(200)는, 클럭 신호의 (6)의 타이밍에서, 판독 데이터 셀렉트부(1130)에 대하여, 데이터 기억부(600)에 기억되어 있는 데이터를 선택하는 판독 데이터 셀렉트 신호를 출력한다.
그렇게 하면, 데이터 기억부(600)에 기억되어 있는 데이터(D0)는, DSP(200)의 "BDA_R" 단자에 입력된다. 이 데이터(DO)는, 다음의 클럭 신호의 상승의 타이밍(7)에서, DSP(200)에 기억된다.
이와 같이 하여, DSP(200)로부터 판독 요구가 있었던 데이터가 데이터 기억부(600)에 기억되어 있는 경우에는, 그 데이터를 메모리(100)로부터 판독하는 처리를 생략하여 DSP(200)에 공급하는 것이 가능하게 된다. 이 때문에, 데이터의 판독을 고속으로 행하는 것이 가능하게 되는 것이다.
그런데, 클럭 신호의 (6)의 타이밍에서는, DSP(200)로부터는, 판독 커맨드도 기입 커맨드도 출력되지 않는다(조건B). 그 때문에 리드·라이트 컨트롤러(300)는, 데이터 기억부(600)에 기억해 둔 기입 데이터(D0)를 메모리(100)에 기입하기 위한 처리를 실행한다.
리드·라이트 컨트롤러(300)는, 기입 데이터 셀렉트부(1120)에 대하여, 데이 터 기억부(600)로부터의 기입 데이터를 출력시키기 위한 기입 데이터 셀렉트 신호를 출력함과 함께, 어드레스 셀렉트부(1100)에 대하여, 어드레스 기억부(700)에 기억되어 있는 어드레스 정보를 선택시키기 위한 어드레스 셀렉트 신호를 출력한다. 또한 리드·라이트 컨트롤러(300)는, 어드레스 정보 셀렉트부(1110)에 대하여, 어드레스 셀렉트부(1100)로부터 출력되는 어드레스 정보를 선택하기 위한 리드·라이트 셀렉트 신호를 출력한다.
그리고 리드·라이트 컨트롤러(300)는, 메모리(100)에 대하여, 칩 인에이블 신호=L과 라이트 인에이블 신호=L(라이트 커맨드)을 출력한다. 이것에 의해, 다음의 클럭 신호의 상승의 타이밍(7)에서, 데이터 기억부(600)에 기억해 둔 기입 데이터(D0)가 메모리(100)에 기억된다.
또한, 이후의 스텝은, 도 6에서 상세하게 설명한 경우와 마찬가지이다. 즉, 도 8에서의 클럭 신호의 (7)의 타이밍에서, DSP(200)로부터 기입 커맨드만이 출력된 상태로 된 것을 검지하고, DSP(200)로부터 출력되는 기입 데이터(D1)를 메모리(100)에 기입하는 것이다.
이와 같이, 데이터의 메모리(100)로부터의 판독 타이밍이 기입 타이밍과 중복된 경우에는, 판독 처리를 우선시킴으로써, 데이터의 판독 처리를 지연시키지 않도록 하는 것이 가능하게 된다. 그리고, 재빨리 판독 데이터를 DSP(200)에 공급하는 것을 가능하게 함으로써, 메모리 시스템(1000) 전체의 데이터 처리의 고속화를 달성하는 것이 가능하게 된다. 또한, 판독 데이터가 데이터 기억부(600)에 기억되어 있는 경우에는, 메모리(100)로부터가 아니라 데이터 기억부(600)로부터 판독하 도록 함으로써, 더욱 빠른 타이밍에서 판독 데이터를 DSP(200)에 공급하는 것이 가능하게 되는 것이다.
이상 발명을 실시하기 위한 최량의 형태에 대하여 설명하였지만, 상기 실시예는 본 발명의 이해를 용이하게 하기 위한 것으로, 본 발명을 한정하여 해석하기 위한 것이 아니다. 본 발명은 그 취지를 일탈하지 않고 변경, 개량될 수 있음과 함께, 본 발명에는 그 등가물도 포함된다.
예를 들면 도 9에 도시하는 바와 같이, 메모리 시스템(1000)에서, DSP(200)와 메모리(100) 사이에 제어 회로(900)를 설치하도록 할 수도 있다. 이 제어 회로(900)는, 도 1에서 도시한 리드·라이트 컨트롤러(300)나, 데이터 기억부(600), 어드레스 기억부(700), 어드레스 디코더(400), 어드레스 비교부(800), 어드레스 셀렉트부(1100), 어드레스 정보 셀렉트부(1110), 기입 데이터 셀렉트부(1120), 판독 데이터 셀렉트부(1130)를 포함하여, 집적 회로로서 구성할 수도 있으며, 독립 회로로 구성할 수도 있다. 또한, 메모리 시스템(1000) 전체가 하나의 집적 회로로서 구성되어도 된다.
또한, 상기 메모리 시스템(1000)을 구성하는 각 회로가, 클럭 신호의 상승에 동기하여 동작하는 것으로서 실시예를 설명하였지만, 클럭 신호의 하강에 동기하여 동작하는 경우도 마찬가지이다.
메모리 액세스의 고속화를 가능하게 한다.

Claims (6)

  1. 삭제
  2. 어드레스 정보가 입력되는 단자와, 소정의 주기로 변화되는 클럭 신호가 입력되는 단자와, 라이트 커맨드가 입력되는 단자와, 상기 라이트 커맨드에 따라서, 상기 클럭 신호가 한 쪽의 레벨로부터 다른 쪽의 레벨에 변화되는 타이밍에서 상기 어드레스 정보에 의해 특정되는 어드레스에 기억되는 데이터가 입력되는 단자를 갖 는 메모리에, 데이터를 기입하는 메모리 액세스 장치로서,
    상기 클럭 신호가 상기 한 쪽의 레벨로부터 상기 다른 쪽의 레벨로 변화되는 제1 타이밍에서, 상기 메모리로의 기입 데이터와, 상기 데이터의 어드레스 정보와, 상기 라이트 커맨드를 출력하는 데이터 출력부를 갖고, 상기 클럭 신호가 상기 한 쪽의 레벨로부터 상기 다른 쪽의 레벨로 변화되는 상기 제1 타이밍 다음의 제2 타이밍에서 상기 메모리에 상기 데이터를 기입하는 메모리 액세스 장치.
  3. 어드레스 정보가 입력되는 단자와, 소정의 주기로 변화되는 클럭 신호가 입력되는 단자와, 리드 커맨드 또는 라이트 커맨드가 입력되는 단자와, 상기 리드 커맨드에 따라서, 상기 클럭 신호가 한 쪽의 레벨로부터 다른 쪽의 레벨로 변화되는 제1 타이밍에서 상기 어드레스 정보에 의해 특정되는 어드레스에 기억되어 있는 데이터를 출력하는 단자와, 상기 라이트 커맨드에 따라서, 상기 클럭 신호가 상기 한 쪽의 레벨로부터 상기 다른 쪽의 레벨로 변화되는 제2 타이밍에서 상기 어드레스 정보에 의해 특정되는 어드레스에 기억되는 데이터가 입력되는 단자를 갖는 메모리에 데이터의 판독/기입을 행하는 메모리 액세스 장치로서,
    상기 제1 타이밍에서 상기 메모리로부터 데이터를 출력시키기 위해, 상기 클럭 신호가 상기 한 쪽의 레벨로부터 상기 다른 쪽의 레벨로 변화되는 상기 제1 타이밍의 1주기 전의 제3 타이밍에서, 상기 데이터의 어드레스 정보인 판독 어드레스 정보, 및 상기 데이터를 판독하기 위한 판독 커맨드를 출력하는 데이터 판독부와, 상기 제2 타이밍에서 상기 메모리에 데이터를 기입하기 위해, 상기 클럭 신호가 상 기 한 쪽의 레벨로부터 상기 다른 쪽의 레벨로 변화되는 상기 제2 타이밍의 2주기 전의 제4 타이밍에서 상기 데이터의 어드레스 정보인 기입 어드레스 정보를 출력하고, 상기 클럭 신호가 상기 한 쪽의 레벨로부터 상기 다른 쪽의 레벨로 변화되는 상기 제2 타이밍의 1주기 전의 제5 타이밍에서, 상기 데이터 및 상기 데이터를 기입하기 위한 기입 커맨드를 출력하는 데이터 기입부를 갖는 메모리 액세스 요구 장치와,
    상기 제4 타이밍에서 상기 메모리 액세스 요구 장치로부터 출력된 상기 기입 어드레스 정보를 입력하고, 상기 제5 타이밍에서 상기 기입 어드레스 정보를 출력하는 어드레스 래치부와,
    상기 메모리 액세스 요구 장치로부터 상기 제3 타이밍에서 출력된 상기 판독 커맨드에 따라서, 상기 제3 타이밍에서, 상기 메모리에, 리드 커맨드 및 상기 메모리 액세스 요구 장치로부터 출력된 판독 어드레스 정보를 출력하는 판독 제어부와, 상기 메모리 액세스 요구 장치로부터 상기 제5 타이밍에서 출력된 상기 기입 커맨드에 따라서, 상기 제5 타이밍에서, 상기 메모리에, 라이트 커맨드, 상기 어드레스 래치부로부터 출력된 기입 어드레스 정보 및 상기 데이터를 출력하는 기입 제어부를 갖는 메모리 액세스 제어 장치
    를 구비하고,
    상기 메모리 액세스 요구 장치로부터 상기 판독 커맨드 및 상기 기입 커맨드 양자 모두가 출력되고 있는 경우에는, 상기 기입 제어부는, 상기 라이트 커맨드, 상기 어드레스 래치부로부터 출력된 상기 기입 어드레스 정보 및 상기 데이터를 상 기 메모리에 출력하지 않는 것을 특징으로 하는 메모리 액세스 장치.
  4. 제3항에 있어서,
    상기 어드레스 래치부로부터 출력되는 기입 어드레스 정보를 기억하는 어드레스 기억부와,
    상기 메모리 액세스 요구 장치로부터 출력되는 데이터를 기억하는 데이터 기억부
    를 구비하고,
    상기 메모리 액세스 요구 장치로부터 상기 판독 커맨드 및 상기 기입 커맨드 양자 모두가 출력되고 있는 경우에는, 상기 기입 제어부는, 상기 어드레스 래치부로부터 출력된 기입 어드레스 정보를 상기 어드레스 기억부에 기억하고, 상기 메모리 액세스 요구 장치로부터 출력된 데이터를 상기 데이터 기억부에 기억하는 것을 특징으로 하는 메모리 액세스 장치.
  5. 제4항에 있어서,
    상기 메모리 액세스 요구 장치로부터 판독 커맨드 및 기입 커맨드 중 어느 쪽도 출력되어 있지 않은 경우에는, 상기 기입 제어부는, 상기 메모리에 라이트 커맨드를 출력함과 함께, 상기 어드레스 기억부에 기억한 기입 어드레스 정보, 및 상기 데이터 기억부에 기억한 데이터를, 상기 메모리에 출력하는 것을 특징으로 하는 메모리 액세스 장치.
  6. 제4항에 있어서,
    상기 메모리 액세스 요구 장치로부터 판독 커맨드가 출력되고 있는 경우에서, 상기 메모리 액세스 요구 장치로부터 출력된 판독 어드레스 정보가, 상기 어드레스 기억부에 기억한 기입 어드레스 정보와 일치하는 경우에는, 상기 판독 제어부는, 상기 데이터 기억부에 기억한 데이터를, 상기 메모리 액세스 요구 장치에 출력하는 것을 특징으로 하는 메모리 액세스 장치.
KR1020070036111A 2006-04-13 2007-04-12 메모리 액세스 장치 KR100882414B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2006-00111318 2006-04-13
JP2006111318A JP5132074B2 (ja) 2006-04-13 2006-04-13 メモリアクセス装置

Publications (2)

Publication Number Publication Date
KR20070101805A KR20070101805A (ko) 2007-10-17
KR100882414B1 true KR100882414B1 (ko) 2009-02-05

Family

ID=38604704

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070036111A KR100882414B1 (ko) 2006-04-13 2007-04-12 메모리 액세스 장치

Country Status (5)

Country Link
US (1) US7480188B2 (ko)
JP (1) JP5132074B2 (ko)
KR (1) KR100882414B1 (ko)
CN (1) CN100492331C (ko)
TW (1) TWI335515B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11393550B2 (en) 2018-09-14 2022-07-19 Rambus Inc. Memory system with error detection
CN114489233B (zh) * 2022-01-24 2024-06-11 上海华力集成电路制造有限公司 一种相位可调任意波形发生器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100386638B1 (ko) * 1995-05-26 2003-08-19 내셔널 세미콘덕터 코포레이션 외부메모리로의액세스요청을파이프라이닝하는마이크로프로세서

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002064368A (ja) 2000-08-22 2002-02-28 Fujitsu Ltd 電子機器、半導体装置、および、クロック発生装置
JP2003076602A (ja) * 2001-09-04 2003-03-14 Sanyo Electric Co Ltd メモリ制御方法およびメモリ制御回路
US7120084B2 (en) * 2004-06-14 2006-10-10 Marvell International Ltd. Integrated memory controller
JP4749689B2 (ja) * 2004-08-31 2011-08-17 三洋電機株式会社 メモリ制御回路及びメモリ制御方法
US7321524B2 (en) * 2005-10-17 2008-01-22 Rambus Inc. Memory controller with staggered request signal output

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100386638B1 (ko) * 1995-05-26 2003-08-19 내셔널 세미콘덕터 코포레이션 외부메모리로의액세스요청을파이프라이닝하는마이크로프로세서

Also Published As

Publication number Publication date
US7480188B2 (en) 2009-01-20
JP2007286765A (ja) 2007-11-01
TW200745860A (en) 2007-12-16
CN101059782A (zh) 2007-10-24
JP5132074B2 (ja) 2013-01-30
CN100492331C (zh) 2009-05-27
TWI335515B (en) 2011-01-01
US20070242533A1 (en) 2007-10-18
KR20070101805A (ko) 2007-10-17

Similar Documents

Publication Publication Date Title
JP4998519B2 (ja) 非同期インタフェース回路及び非同期データ転送方法
JP2008052335A (ja) インターフェース回路
JP2012230621A (ja) メモリ装置、メモリ制御装置、メモリ制御方法
US20140344512A1 (en) Data Processing Apparatus and Memory Apparatus
JP2010244238A (ja) リコンフィギュラブル回路及びリコンフィギュラブル回路システム
JP2008204257A (ja) メモリを制御するメモリコントローラ、メモリの制御方法。
KR100882414B1 (ko) 메모리 액세스 장치
US20090235026A1 (en) Data transfer control device and data transfer control method
JP2003050739A (ja) メモリ制御装置
TW567489B (en) DRAM having SRAM equivalent interface
JP2005108434A (ja) 半導体記憶装置
JP2011034214A (ja) メモリ制御装置
CN108053856B (zh) 读写sram的电路及sram数据访问方法
EP1443412A2 (en) Information processing apparatus and memory access arranging method
JP2009199384A (ja) データ処理装置
US6587395B2 (en) System to set burst mode in a device
JP2010061498A (ja) メモリ制御装置、半導体試験装置およびメモリ制御方法
US9128511B2 (en) Semiconductor device and operation method thereof
JP5489871B2 (ja) 画像処理装置
JP4749689B2 (ja) メモリ制御回路及びメモリ制御方法
JP4651206B2 (ja) 半導体記憶装置および情報処理装置
JP2010140440A (ja) バス調停装置
JP2007323113A (ja) メモリ制御回路
CN115440288A (zh) 写禁止时间的获取方法、装置、测试机台及存储介质
JP6340246B2 (ja) メモリ制御回路、並びにメモリのデータ信号及びデータストローブ信号の位相制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee