KR101108342B1 - 어드레스/제어 신호들에 대하여 더블 데이터 레이트 방식을 사용하여 인터페이스 핀 요건들을 감소시킨 듀얼 채널 메모리 아키텍처 - Google Patents

어드레스/제어 신호들에 대하여 더블 데이터 레이트 방식을 사용하여 인터페이스 핀 요건들을 감소시킨 듀얼 채널 메모리 아키텍처 Download PDF

Info

Publication number
KR101108342B1
KR101108342B1 KR1020107021729A KR20107021729A KR101108342B1 KR 101108342 B1 KR101108342 B1 KR 101108342B1 KR 1020107021729 A KR1020107021729 A KR 1020107021729A KR 20107021729 A KR20107021729 A KR 20107021729A KR 101108342 B1 KR101108342 B1 KR 101108342B1
Authority
KR
South Korea
Prior art keywords
memory
clock signal
bus
memory device
clock
Prior art date
Application number
KR1020107021729A
Other languages
English (en)
Other versions
KR20100117687A (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 KR20100117687A publication Critical patent/KR20100117687A/ko
Application granted granted Critical
Publication of KR101108342B1 publication Critical patent/KR101108342B1/ko

Links

Images

Classifications

    • 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/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Static Random-Access Memory (AREA)

Abstract

감소된 인터페이스 핀 요건들을 가진 듀얼 채널 메모리 아키텍처들을 위한 장치들 및 방법들이 제시된다. 메모리 아키텍처는 메모리 제어기; 공유(shared) 어드레스 버스 및 제 1 클록 신호에 의하여 메모리 제어기에 연결되는 제 1 메모리 장치; 및 공유 어드레스 버스 및 제 2 클록 신호에 의하여 메모리 제어기에 연결되는 제 2 메모리 장치를 포함하며, 상기 제 2 클록 신호의 극성(polarity)은 상기 제 1 클록 신호의 극성과 반대이다. 데이터 트랙잭션들을 수행하기 위한 방법이 제시된다. 본 방법은 공유 어드레스 버스를 통해 제 1 메모리 장치 및 제 2 메모리 장치에 어드레싱 신호들을 제공하는 단계; 극성이 반전되는 클록 신호들을 메모리 장치들에 제공하는 단계 ― 상기 클록 신호들은 공통 클록 신호로부터 유도(derive)됨 ―; 및 클록 신호들에 기초하여 교번 방식(alternating manner)으로 개별 좁은 데이터 버스들을 통해 데이터를 메모리 장치들에 이송하는 단계를 포함한다.

Description

어드레스/제어 신호들에 대하여 더블 데이터 레이트 방식을 사용하여 인터페이스 핀 요건들을 감소시킨 듀얼 채널 메모리 아키텍처{DUAL CHANNEL MEMORY ARCHITECTURE HAVING REDUCED INTERFACE PIN REQUIREMENTS USING A DOUBLE DATA RATE SCHEME FOR THE ADDRESS/CONTROL SIGNALS}
본 발명의 실시예들은 일반적으로 메모리 아키텍처들, 특히 감소된 인터페이스 핀 요건들을 가진 듀얼 데이터 채널 메모리 아키텍처 회로들에 관한 것이다.
일부 애플리케이션들에서, 프로세서들은 소량의 데이터를 이송(transfer)하는 많은 수의 메모리 액세스 동작들을 가질 수 있다. 이러한 메모리 액세스 동작들은 보통 버스트 길이 액세스(burst length access)(예컨대, 버스 길이 판독들 및/또는 버스트 길이 기록들)로서 알려져 있다. 작은 버스트 길이 액세스에 있어서 메모리 장치들을 액세스하는 다수의 좁은(narrow) 독립적인 데이터 채널들이 넓은(wide) 메모리 인터페이스를 가진 단일 데이터 채널보다 양호한 성능을 제공할 수 있다는 연구가 현재 제시되고 있다. 따라서, 단일의 넓은-채널 메모리 인터페이스를 가진 기존의 시스템들은 각각의 데이터 채널의 비트 폭을 감소시키면서 데이터 채널들의 수를 증가시킴으로써 장점을 가질 수 있다.
그러나, 듀얼 메모리 인터페이스를 가진 시스템으로 단일 데이터 채널 메모리 인터페이스를 가진 기존의 처리 시스템을 업그레이드하면 임의의 설계 난제들이 발생할 수 있다. 예컨대, 듀얼 채널들을 사용하는 종래의 메모리 인터페이스들은 어드레싱 및/또는 제어 채널들과 연관된 더 복잡한 회로를 가질 수 있다. 이는 더 복잡한 패키징 및 회로 보드 설계들을 유발할 수 있으며, 따라서 인터페이스 핀들, 회로 트레이스(trace)들 등의 수를 증가시킬 수 있다. 이러한 결과들은 비용 측면에서 악영향을 미칠 뿐만아니라 설계 위험을 증가시킬 수 있다. 더욱이, 이러한 재설계(redesign)들은 기존의 컴포넌트들 및/또는 다른 기존의 서브-시스템들과의 임의의 타입의 역방향 호환성(backwards compatibility)을 방해한다.
따라서, 넓은 채널 인터페이스를 위하여 의도된 기존 핀들을 활용할 수 있는, 듀얼 좁은-채널 인터페이스를 가진 메모리 아키텍처에 대한 필요성이 요구된다. 결과적인 메모리 아키텍처는 증가된 핀 카운트(count)로부터 발생하는 시스템 비용에 악영향을 미치지 않고 구현될 수 있다.
감소된 인터페이스 핀 요건들을 가진 듀얼 채널 메모리 아키텍처들을 위한 장치들 및 방법들이 이하에서 제시된다.
일 실시예에서, 메모리 아키텍처는 메모리 제어기; 및 공유(shared) 어드레스 버스 및 제 1 클록 신호에 의하여 메모리 제어기에 연결되는 제 1 메모리 장치를 포함한다. 메모리 아키텍처는 공유 어드레스 버스 및 제 2 클록 신호에 의하여 메모리 제어기에 연결되는 제 2 메모리 장치를 더 포함하며, 상기 제 2 클록 신호의 극성(polarity)은 상기 제 1 클록 신호의 극성과 반대이다.
다른 실시예에서는 데이터 트랙잭션들을 수행하기 위한 방법이 제시된다. 본 방법은 공유 어드레스 버스를 통해 제 1 메모리 장치 및 제 2 메모리 장치에 어드레싱 신호들을 제공하는 단계; 극성이 반전되는 클록 신호들을 메모리 장치들에 제공하는 단계 ― 상기 클록 신호들은 공통 클록 신호로부터 유도(derive)됨 ―; 및 클록 신호들에 기초하여 교번 방식(alternating manner)으로 개별 좁은 데이터 버스들을 통해 데이터를 메모리 장치들에 이송하는 단계를 포함한다.
또 다른 실시예에서, 메모리 아키텍처는 메모리 제어기; 공유 제어 버스 및 제 1 클록 신호에 의하여 메모리 제어기에 연결되는 제 1 메모리 장치; 및 공유 제어 버스 및 제 2 클록 신호에 의하여 메모리 제어기에 연결되는 제 2 메모리 장치를 포함하며, 상기 제 2 클록 신호의 극성은 상기 제 1 클록 신호의 극성의 반대이다.
본 발명의 또 다른 실시예에서, 메모리 아키텍처는 메모리 제어기; 공유 제어 버스 및 제 1 클록 신호에 의하여 메모리 제어기에 연결되는 제 1 메모리 장치; 및 공유 제어 버스 및 제 2 클록 신호에 의하여 메모리 제어기에 연결되는 제 2 메모리 장치를 포함하며, 상기 제 2 클록 신호의 극성은 상기 제 1 클록 신호의 극성의 반대이다.
첨부 도면들은 본 발명의 실시예들의 설명을 돕기 위하여 제시되며, 오로지 실시예들을 예시하기 위하여 제공된다.
도 1는 2개의 좁은-채널 더블 데이터 레이트(DDR) 메모리들을 사용하는 종래의 단일 넓은-채널 DDR 메모리 아키텍처의 블록도를 도시한다.
도 2는 종래의 듀얼 좁은-채널 DDR 메모리 아키텍처의 블록도를 도시한다.
도 3은 듀얼 좁은-채널 DDR 메모리 아키텍처의 블록도를 도시한다.
도 4는 도 1-3에 기술된 메모리 제어기들과 연관된 타이밍도들을 도시한다.
도 5a 및 도 5b는 듀얼 좁은-채널 메모리 아키텍처들에 따른 예시적인 DDR 제어기들의 블록도들을 도시한다.
도 6은 듀얼 좁은-채널 NAND 메모리 아키텍처의 블록도를 도시한다.
본 발명의 양상들은 본 발명의 특정 실시예들에 관한 이하의 상세한 설명 및 관련된 도면들에 기술된다. 대안 실시예들은 본 발명의 범위로부터 벗어나지 않고 고안될 수 있다. 부가적으로, 본 발명의 공지된 엘리먼트들은 본 발명의 관련 세부사항(detail)들을 불명료하게 하지 않도록 하기 위하여 상세히 기술되지 않거나 또는 생략될 수 있다.
용어 “예시적인”은 여기서 “예, 보기, 또는 예시로서 기능하는” 것을 의미하는 것으로 이용된다. “예시적인” 것으로서 여기 기재되는 임의의 실시예가 반드시 다른 실시예들에 비해 바람직하거나 유리한 것으로 해석되는 것은 아니다. 마찬가지로, 용어 "본 발명의 실시예들"은 본 발명의 실시예들 모두가 논의된 특징, 장점 또는 동작 모드를 포함할 것을 요구하지 않는다.
여기에서 사용되는 용어는 단지 특정 실시예들을 기술하기 위한 것이며, 본 발명의 실시예들을 제한하는 것으로 의도되지 않는다. 여기에서 사용되는 바와같이, 단수는 문맥이 달리 명확하게 표시하지 않는 한 복수를 포함하는 것으로 의도된다. 또한, "포함하다", "포함하는", "갖는다" 및/또는 "갖는"이 여기에서 사용될때 언급된 특징들, 정수(integer)들, 단계들, 동작들, 엘리먼트들 및/또는 컴포넌트들의 존재를 명시하나 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들 및/또는 이의 그룹들의 존재 또는 추가를 배제하지 않는다는 것이 추가로 이해될 것이다.
여기에서 사용되는 바와같이, 용어 더블 데이터 레이트(DDR) 메모리는 공지된 다양한 상이한 메모리 장치 표준들을 지칭할 수 있으며, 예컨대 다음과 같은 타입들의 메모리 장치들, 즉 저전력 더블 데이터 레이트(LPDDR), 표준 DDR, DDR2 등을 포함할 수 있다.
또한, 많은 실시예들은 예컨대 컴퓨팅 장치의 엘리먼트들에 의하여 수행될 동작들의 시퀀스들에 의하여 기술된다. 여기에 기술된 다양한 동작들이 특정 회로들(예컨대, 주문형 집적회로(ASIC)들)에 의하여, 하나 이상의 프로세서들에 의하여 실행되는 프로그램 명령들에 의하여 또는 이들의 조합에 의하여 수행될 수 있다는 것이 인식될 것이다. 부가적으로, 여기에 기술된 동작들의 이들 시퀀스는 실행시 연관된 프로세서로 하여금 여기에 기술된 기능을 수행하도록 하는 컴퓨터 명령들의 대응 세트를 저장한 임의의 형태의 컴퓨터 판독가능 저장 매체내에서 전체적으로 구현되는 것으로 고려될 수 있다. 따라서, 본 발명의 다양한 양상들은 다수의 상이한 형태들로 구현될 수 있으며, 이들의 모두는 청구된 요지의 범위내에 있는 것으로 고려된다. 더욱이, 여기에 기술된 실시예들의 각각에 대하여, 임의의 이러한 실시예들의 대응 형태는 예컨대 기술된 동작을 수행하도록 구성된 로직으로 여기에서 기술될 수 있다.
도 1은 종래의 단일 넓은(wide)-채널 더블 데이터 레이트(DDR) 메모리 아키텍처(100)의 블록도를 도시한다. 메모리 아키텍처(100)는 DDR 제어기(110), X-비트 DDR 메모리 장치(120), 제 2 X-비트 DDR 메모리 장치(130), 어드레스/제어(ADDR/CTRL) 버스(140), 및 상부 및 하부 버스들을 포함하는 넓은 데이터 버스(150)를 포함할 수 있다. 여기에서 사용되는 바와같이, 용어 X는 데이터 버스를 통해 동시에 이송될 수 있는(또한 버스 폭으로 지칭될 수 있는) 비트들의 수를 나타낸다. 변수 "X"는 예컨대, 4, 8, 16, 32 또는 이보다 큰 수와 같은 비트들의 임의의 수를 나타낼 수 있다. 용어 "2X-비트"는 좁은(narrow) 버스 폭에 비하여 2배의 버스 폭을 가진 예시적인 넓은 데이터 버스를 나타내기 위하여 여기에서 사용된다. 그러나, "2X" 곱셈기는 제한으로서 고려되지 않아야 하며, 본 발명의 다양한 실시예들은 다른 곱셈기들을 활용할 수 있다. 더욱이, 넓은 그리고 좁은 버스들의 각각의 폭들간의 비(ratio)는 정수로 제한되지 않을 수 있다(즉, 넓은 버스는 임의의 수의 비트들만큼 좁은 버스보다 클 수 있다).
넓은 데이터 버스(150)는 DDR 제어기(110) 및 X-비트 메모리 장치들(120, 130) 각각 사이에서 데이터를 이송하기 위하여 사용될 수 있다. 넓은 데이터 버스(150)는 2X 개별 라인들 DQ[2X-1:X] 및 DQ[X-1:0]을 사용하여 데이터를 이송할 수 있으며, 병렬 방식으로 이를 수행할 수 있다. 넓은 데이터 버스(150)는 또한 데이터 스트로브 신호(DQS) 및 데이터 마스크(DM)를 반송(carry)하는 전용 라인들을 가질 수 있다. DQS는 데이터를 캡처(capture)하기 위하여 사용될 수 있다. DM 신호는 유효 데이터 바이트들을 표시하기 위하여 사용될 수 있다. 어느 DDR 규격이 참조되는지에 따라 이들 신호들의 명칭들이 변화할 수 있는 반면에, 다양한 다른 DDR 규격들에서 사용되는 신호들은 기본적으로 유사한 기능들을 수행할 수 있다.
X-비트 DDR 메모리 장치들(120)내의 메모리를 적절하게 어드레싱하기 위하여, ADDR/CTRL 버스(140)는 DDR 제어기(110)로부터 메모리 장치들(120, 130)로 어드레싱 및/또는 제어 정보를 제공하기 위하여 사용될 수 있다. 통상적으로, 단일 기록 동작동안, 데이터는 ADDR/CTRL 버스(140)를 통해 단일 어드레스를 공급한 직후에 데이터 버스(150)를 통해 다수의 데이터 워드(word)들을 공급함으로써 DDR 장치에 기록될 수 있다. 특히, ADDR/CTRL 버스(140)는 다음과 같은 신호들, 즉 A[n:0], BA[m:0], /RAS, /CAS, 및/또는 /WE를 반송하기 위한 전용 라인들을 포함할 수 있으며, 여기서 "m" 및 "n"은 메모리 장치 규격에 따를 수 있는 행(row) 및 열(column) 어드레스 값들이다. 전술한 바와같이, 워드들의 수가 낮을때(즉, 버스트 기록들 동안), 단일 넓은-채널 DDR 메모리 아키텍처(100)는 이하의 후속 도면들의 설명들에서 논의되는, 듀얼 채널 DDR 데이터 버스들을 사용하는 시스템들 만큼 효율적이지 않을 수 있다.
DDR 제어기(110)는 또한 각각의 메모리 장치(120, 130)에 다수의 상이한 클록 및 연관된 제어 신호들을 제공할 수 있다. 예컨대, DDR 제어기(150)는 각각의 메모리 장치에 차동(differential) 클록 신호들 CK 및 /CK를 제공할 수 있다. 여기에서 정의된 바와같이, /CK 클록 신호는 CK 클록 신호의 반전된(inverted) 버전일 수 있다. DDR 제어기(110)는 또한 DDR 메모리 장치(120)에 제 1 클록 인에이블(CKE0) 및 제 1 칩 선택(CS0)을 제공하고 DDR 메모리 장치(130)에 제 2 클록 인에이블 신호(CKE1) 및 제 2 칩 선택 신호(CS1)를 제공할 수 있다. 차동 클록 신호들은 DDR 제어기(110) 및 메모리 장치들(120, 130)사이에서 메모리가 이송되는 속도를 결정할 수 있다. 칩 선택 신호들은 데이터 버스(150)를 통해 DDR 제어기(110)에 대하여 데이터를 제공/수신할때를 메모리 장치들(120, 130)에 알릴 수 있다. 이러한 구성에서는 칩-선택(CS1) 및 클록 인에이블(CKE1)이 사용되지 않을 수 있다는 것에 유의해야 한다.
DDR 제어기(110)는 또한 개별 데이터 버스들을 통해 데이터를 이송하는 하나 이상의 처리 장치들(도시안됨)에 연결될 수 있다. 이러한 처리 장치들은 마이크로프로세서들, 마이크로제어기들, 디지털 신호 프로세서들을 포함할 수 있으며(그러나, 이에 제한되지 않음) 이들의 임의의 조합들을 추가로 포함할 수 있다.
단일 넓은-채널(DDR) 아키텍처(100)의 애플리케이션들은 통상적으로 예컨대 이동 액세스 단말들, 개인 휴대 단말들, 디지털 비디오/뮤직 플레이어들 등과 같은 휴대용 장치들을 포함할 수 있다.
도 2는 종래의 듀얼 좁은-채널 DDR 메모리 아키텍처(200)의 블록도를 도시한다. 메모리 아키텍처(200)는 DDR 제어기(210), X-비트 DDR 메모리 장치(220), 제 2 X-비트 DDR 메모리 장치(230), 제 1 어드레스/제어(ADDR/CTRL) 버스(240), 제 2 어드레스/제어(ADDR/CTRL) 버스(245), 제 1 좁은 데이터 버스(250) 및 제 2 데이터 버스(255)를 포함할 수 있다. 용어 "X-비트"는 좁은 버스 폭을 가진 데이터 버스를 나타내기 위하여 여기에서 사용된다.
DDR 메모리 아키텍처(200)에서, 2개의 좁은 데이터 버스들(250, 255)은 DDR 제어기(210) 및 X-비트 메모리 장치들(220, 230)의 각각의 장치사이에서 데이터를 이송하기 위하여 사용될 수 있다. 좁은 버스(250)는 X-비트 DDR 메모리 장치(230)로/로부터 데이터를 판독/기록하는데 전용될 수 있으며, 좁은 버스(255)는 X-비트 DDR 메모리 장치(220)로/로부터 데이터를 판독/기록하는데 전용될 수 있다. 각각의 좁은 데이터 버스(250, 255)는 병렬 방식으로 X 개별 라인들 DQ[X-1:0]을 사용하여 데이터를 이송할 수 있다. 각각의 좁은 데이터 버스(250, 255)는 각각 데이터 스트로브 신호(DQS) 및 데이터 마스크(DM)를 반송하는 전용 라인들을 가질 수 있다.
데이터 버스들(250, 255)을 통한 데이터 이송들이 낮은 버스트 길이를 가질때(즉, 버스트 판독/기록동안), 듀얼 좁은-채널 DDR 메모리 아키텍처(200)는 도 1에서 앞서 기술된 메모리 아키텍처(100)보다 더 효율적일 것이다.
X-비트 DDR 메모리 장치들(220)내의 메모리를 적절하게 어드레싱하기 위하여, 2개의 개별 ADDR/CTRL 버스들(240, 150)은 DDR 제어기(210)로부터 메모리 장치들(220, 230)로 어드레싱 및/또는 제어 정보를 제공하기 위하여 사용될 수 있다. ADDR/CTRL 버스(240)는 X-비트 DDR 메모리 장치(203)에 제어 신호들을 제공하도록 전용될 수 있으며, ADDR/CTRL 버스들(245)은 X-비트 DDR 메모리 장치(220)에 제어 신호들을 제공하도록 전용될 수 있다. 특히, ADDR/CTRL 버스(240, 245)는 각각 다음과 같은 신호들, 즉 A[n:0], BA[m:0], /RAS, /CAS 및/또는 /WE을 반송하기 위한 전용 라인들을 포함할 수 있다.
DDR 제어기(210)는 또한 각각의 메모리 장치(220, 230)에 다수의 상이한 클록 및 연관된 제어 신호들을 제공할 수 있다. 예컨대, DDR 제어기(210)는 각각의 메모리 장치에 차동 클록 신호들 CK 및 /CK를 제공할 수 있다. 차동 클록 신호들은 DDR 제어기(210) 및 메모리 장치들(220, 230)사이에서 메모리가 이송되는 속도를 결정할 수 있다. DDR 제어기(210)는 또한 DDR 메모리 장치(220)에 채널 0 클록 인에이블(CKE_CH0) 및 채널 0 칩 선택(CS_CH0)을 제공할 수 있으며, DDR 메모리 장치(230)에 제 2 클록 인에이블 신호(CKE_CH1) 및 제 2 칩 선택 신호(CS_CH1)를 제공할 수 있다. 칩 선택 신호들은 각각의 좁은 데이터 버스들(250, 255)을 통해 DDR 제어기(210)에 대하여 데이터를 수신/제공할때를 메모리 장치들(220, 230)에 알릴 수 있다.
DDR 제어기(210)는 또한 하나 이상의 처리 장치들(도시안됨)에 연결될 수 있다. 듀얼 데이터 버스 구조(200)가 데이터를 이송하기 위한 개별 프로세스들을 동시에 실행하는 더 많은 기회들을 제공하기 때문에, DDR 메모리 아키텍처(200)는 DDR 제어기(210)가 2개 이상의 프로세서를 서브(serve)할때 더 효율적이다.
그러나, 듀얼 좁은-채널 DDR 메모리 아키텍처(200)의 한 단점은 ADDR/CTRL 버스의 듀플리케이션(duplication)을 위하여 추가적인 회로 복잡도를 요구한다는 것이다. 예컨대, X=16 비트들이고 2X = 32비트들일때, 메모리 아키텍처(200)의 핀 카운트는 단일 채널 메모리 아키텍처(100)의 핀 카운트에 비하여 대략 30% 증가한다. 증가된 핀 카운트는 통상적인 단일 채널 설계들과 호환가능하지 않으며 설계 및 구현 비용을 증가시킨다.
도 3은 본 발명의 실시예에 따른 듀얼 좁은-채널 DDR 메모리 아키텍처(300)의 블록도를 도시한다. 메모리 아키텍처(300)는 DDR 제어기(310), 제 1 X-비트 DDR 메모리 장치(320), 제 2 X-비트 DDR 메모리 장치(330), 공유 어드레스/제어(ADDR/CTRL) 버스(340), 제 1 좁은 데이터 버스(350) 및 제 2 좁은 데이터 버스(355)를 포함할 수 있다.
DDR 메모리 아키텍처(300)에 있어서, 2개의 좁은 데이터 버스들(350, 355)은 DDR 제어기(310) 및 X-비트 메모리 장치들(320, 330) 각각 사이에서 데이터를 이송하기 위하여 사용될 수 있다. 좁은 버스(350)는 X-비트 DDR 메모리 장치(330)로/로부터 데이터를 판독/기록하는데 전용될 수 있으며, 좁은 버스(355)는 X-비트 DDR 메모리 장치(320)로/로부터 데이터를 판독/기록하는데 전용될 수 있다. 각각의 좁은 데이터 버스(350, 355)는 병렬 방식으로 X개의 개별 라인들 DQ[X-1:0]을 사용하여 데이터를 이송할 수 있다. 각각의 좁은 데이터 버스(350, 355)는 각각 데이터 스트로브 신호(DQS) 및 데이터 마스크를 반송하는 전용 라인들을 가질 수 있다. 본 발명의 다양한 실시예들에서, 2개의 좁은 데이터 버스들(350, 355)은 단일 넓은 버스를 사용하여 구현될 수 있다. 예컨대, 2개의 16-비트 버스들은 32-비트 데이터 버스를 분할함으로써 실현될 수 있다.
X-비트 DDR 메모리 장치들(320, 330)내의 메모리를 적절하게 어드레싱하기 위하여, 공유 ADDR/CTRL 버스들(340)은 DDR 제어기(310)로부터 메모리 장치들(320, 330)로 어드레싱 및/또는 제어 정보를 제공하기 위하여 사용될 수 있다. 특히, ADDR/CTRL 버스(340)는 어드레스 버스 및/또는 제어 버스일 수 있다. 어드레스 및 제어 버스들 모두가 활용될때, 버스들은 분리되거나 또는 결합될 수 있다. 실시예들은 개별 제어 버스 및 공유 어드레스 버스를 가진 아키텍처들, 및 제어 버스 및 어드레스 버스가 공유되는 아키텍처들을 포함할 수 있다. 공유 ADDR/CTRL 버스가 메모리 장치들(320, 330)사이에서 공유되기 때문에, 메모리 장치들(320,330)은 교번 클록 사이클들에서 각각의 메모리 장치의 어드레싱 정보를 업데이트할 수 있다. 어드레스 버스는 다음과 같은 어드레싱 신호들 및 뱅크 어드레싱 신호들, 즉 A[n:0] 및 BA[m:0]을 반송하기 위한 전용 라인들을 포함할 수 있다. 다양한 실시예들에서, 어드레스 버스는 16-비트의 결합된 버스 폭을 가질 수 있다. 제어 버스는 다음과 같은 제어 신호들, 즉 /RAS, /CAS 및/또는 /WE을 포함할 수 있다.
듀얼 좁은-채널 DDR 메모리 아키텍처(300)는 메모리 장치들(320, 330)에 대한 버스트 액세스 판독들 및 기록들동안 종래의 듀얼 좁은-채널 DDR 메모리 아키텍처(200)의 효율성 장점을 공유한다. 그러나, DDR 메모리 아키텍처(300)가 단지 하나의 공유 ADDR/CTRL 버스(340)를 가지기 때문에, 인터페이스 핀 카운트들은 감소될 수 있으며, 이는 보드상에서의 라우팅을 감소시키며 따라서 복잡성을 감소시킨다.
DDR 제어기(310)는 또한 각각의 메모리 장치(320, 330)에 다수의 클록 신호들을 제공하나, 종래의 DDR 아키텍처(200)와 상이한 방식으로 이를 수행한다. DDR 제어기(310)가 각각의 메모리 장치에 차동 클록 신호들 CK 및 /CK를 제공하는 반면에, DDR 제어기(310)는 2개의 메모리 장치들(320, 330)사이의 클록 신호들의 극성을 반전시킨다. 예컨대, 도 3에 도시된 바와같이, DDR 제어기(310)는 DDR 메모리 장치(320)에 대한 CK 입력에 CK 신호를 그리고 /CK 입력에 /CK 신호를 제공한다. 그러나, 이러한 구조는 DDR 메모리(330)에 대해 반전된다. DDR 제어기(310)는 DDR 메모리(330)의 /CK 입력에 CK 신호를 제공하며, DDR 메모리(330)의 CK 입력에 /CK 클록 신호를 제공한다. 이러한 어레인지먼트(arrangement)는 DDR 제어기(310) 및 메모리 장치들(320, 330)간의 교번하는 데이터 이송들을 가능하게 하며, 이는 클록 신호 CK의 상승 및 하강 에지 모두에서 발생한다. 본 발명의 다양한 다른 실시예들은 CK 및 /CK에 대한 차동 신호들을 사용하는 것에 제한되지 않는다. 클록 신호 CK 및 /CK는 반전된 극성을 가지며, 따라서 메모리 장치들은 교번 방식으로 판독될 수 있다. 따라서, 클록 신호들 CK 및 /CK는 임의의 종래의 기술을 사용하여 생성될 수 있다. 예컨대, 클록 신호 CK는 임의의 종래의 방식으로 생성될 수 있으며, 클록 신호 /CK는 클록 신호 CK의 극성을 반전시키기 위하여 인버터를 통해 클록 신호 CK를 구동시킴으로써 제공될 수 있다.
DDR 제어기(310)는 또한 DDR 메모리 장치(320)에 제 1 클록 인에이블(CKE_CH0) 및 제 1 칩 선택(CS_CH0)을 제공할 수 있으며, DDR 메모리 장치(330)에 제 2 클록 인에이블 신호(CKE_CH1) 및 제 2 칩 선택 신호(CS_CH1)를 제공할 수 있다. 전술한 바와같이, 차동 클록 신호들은 DDR 제어기(360) 및 메모리 장치들(320, 330)사이에서 메모리가 이송되는 속도를 결정할 수 있다. 칩 선택 신호들은 제 1 데이터 버스(350) 및 제 2 데이터 버스(355)를 통해 DDR 제어기(310)에 대하여 데이터를 수신/제공해야 할때를 메모리 장치들(320, 330)에 알릴 수 있다. 도 3에 도시된 실시예에서, DDR 제어기(310)의 구현은 두개의 DDR 데이터 채널들이 활용되기 때문에 종래의 단일 채널 설계들과 상이할 수 있다. 종래의 DDR 제어기들을 수정하기 위한 다양한 방법들이 취해질 수 있다. DDR 제어기들의 2개의 예시적인 구현들은 도 5a-5b를 참조로 하여 이하에서 제시된다.
공유 ADDR/CTRL 버스(340)를 사용하여 2개의 DDR 데이터 채널들을 통해 어드레싱 신호들을 공유함으로써, DDR 제어기(310)는 통상적인 듀얼 채널 DDR 제어기(210)와 같은 효율적인 버스트 액세스 동작의 장점을 가진다. 그러나, 공유 ADDR/CTRL 버스는 메모리 장치들에 DDR 제어기를 인터페이싱하는데 사용되는 다수의 핀들을 통합(consolidate)한다. 이러한 방법은 추가 핀들에 대한 필요성을 제거하며, 기존의 단일 데이터 채널 하드웨어와 역방향 호환성을 유지할 수 있다. 따라서, 아키텍처(300)는 저전력 랜덤 액세스 메모리(RAM)를 액세스하는 내장형 프로세서들/제어기들을 가진 이동 액세스 단말들 및 다른 휴대용 장치들에 사용하기에 유리하다.
도 4는 도 1-3에 기술된 메모리 제어기들과 연관된 타이밍도들을 도시한다. 타이밍도(410)는 도 1에 도시된 통상적인 단일 채널 메모리 제어기 아키텍처(100)에 대한 CK, /CK, 및 ADDR/CTRL 신호들을 도시한다. 타이밍도들에 도시된 바와같이, tiH는 어드레스 및 제어 입력 홀드(hold) 시간으로서 정의될 수 있으며, tiS는 어드레스 및 제어 입력 셋업 시간으로서 정의될 수 있으며, TIPW는 어드레스 및 제어 입력 펄스 폭으로서 정의될 수 있다. 여기서, 데이터는 상승 클록 전이(transition)들에서 넓은 데이터 버스(150)를 통해 이송된다. 타이밍도들(420, 430)은 DDR 아키텍처(300)에 대응한다. 타이밍도(420)는 좁은 데이터 버스(355)를 통해 DDR 제어기(310) 및 DDR 메모리 장치(320)간의 이송들을 도시한다. 클록 신호 CK의 상승 전이동안, 공유 ADDR/CTRL 버스(340)는 판독/기록 동작들이 발생하도록 하는 어드레싱 정보/제어 정보를 제공한다. 타이밍도(430)는 좁은 데이터 버스(350)를 통해 DDR 제어기(310) 및 DDR 메모리 장치(330)간의 이송들을 도시한다. 이는 (클록 신호 CK의 하강 에지인) 클록 신호 /CK의 상승 에지에서 발생한다. 이 시간에, 공유 ADDR/CTRL 버스(340)는 데이터 이송들이 발생하기 위한 어드레싱/제어를 제공한다. ADDR/CTRL 버스(340)의 동작들이 타이밍도(430)에서 오버랩(overlap)하지 않기 때문에, ADDR/CTRL 버스(340)는 제 1 및 제 2 데이터 버스들(350, 355)을 통해 데이터가 이송될때 간섭하지 않는다.
만일 제 1 및 제 2 데이터 채널들(350, 355)을 통한 데이터 이송들간의 타이밍이 타이트(tight)하면, 클록 주파수 CK는 공유 ADDR/CTRL 버스(340)와 관련한 임의의 잠재적인 간섭을 감소시키기 위하여 낮아질 수 있다. 이는 장치의 전력 소비를 감소시키는 추가적인 장점을 제공할 것이다.
도 5는 본 발명의 다양한 실시예들에 따른 DDR 제어기들(310A, B)의 2개의 예시적인 구현들을 도시한다. 도 5a에서, DDR 제어기(310A)는 2개의 16-비트 메모리 인터페이스 버스들을 통해 트래픽을 라우팅하기 위하여 2개의 프로세서-측 버스들을 활용할 수 있다. 이러한 실시예에서 2개의 16-비트 버스들은 하위 호환성을 유지하기 위하여 단일 32-비트 버스(540)로서 구현될 수 있다.
특히, 이러한 실시예에 있어서, DDR 제어기(310A)는 2개의 AXI(Advanced eXtensible Interface) 메모리 제어기들(520A, 520B), 16/32-비트 제어기(525), 16-비트 제어기(530), 및 DDR I/O 로직 인터페이스(535)를 포함할 수 있다. 2개의 AXI 버스들(510A, 510B)은 각각 AXI 메모리 제어기들(520A, 520B)로부터의 데이터를 이송하고 수신할 수 있다. 각각의 AXI 메모리 제어기내에서, 데이터는 후속 처리를 위하여 버퍼링 및 최적화될 수 있다. AXI 버스(510A)로부터의 데이터는 AXI 메모리 제어기(520A)에 의하여 버퍼링 및 최적화된후, 16/32-비트 메모리 제어기(525)에 이송된다. AXI 버스(510B)로부터의 데이터는 AXI 메모리 제어기(520B)에 의하여 버퍼링 및 최적화된후, 16-비트 제어기(530)에 이송된다.
AXI 메모리 제어기들(520A, 520B)은 낮은/높은 우선순위 큐(queue)들(LPQ, HPQ)를 포함할 수 있다. HPQ는 더 낮은 지연시간 요건들을 가진 마스터들을 서비스하기 위하여 AXI 메모리 제어기들(520A, 520B)에서 사용될 수 있다. 모든 다른 마스터들은 LPQ를 통해 서비스될 수 있다. W버퍼는 다른 계류중인(pending) 트랜잭션들을 위한 AXI 버스를 해제(release)하기 위하여 기록 트랜잭션들을 캡처(capture)하도록 의도된 기록 버퍼일 수 있다. AXI 메모리 제어기들(520A, 520B)의 최적화기는 성능을 개선하기 위하여 AXI 버스로부터의 트랜잭션들을 재정렬시킬 수 있다.
16/32-비트 제어기(525) 및 16-비트 제어기(530)로부터의 데이터 워드들은 32-비트 DDR 버스(540)를 통해 2개의 채널 16-비트 데이터 버스 이송을 제공하기 위하여 DDR I/O 로직 인터페이스(535)에 의하여 포맷될 수 있다. 도 5a에 도시된 실시예는 인터페이스 핀 카운트들을 감소시킬 수 있는 듀얼-채널 메모리 인터페이스의 상대적으로 단순한 구현 특징을 가질 수 있다.
기존 단일 데이터 채널 하드웨어와 하위 호환성을 유지하기 위하여, DDR 제어기(310A)는 메모리 인터페이스로서 단일 넓은 버스(예컨대, 32-비트)를 사용하는 대안 동작 모드를 가능하게 할 수 있다. 이러한 모드는 "레가시 모드(legacy mode)"로서 여기에서 지칭된다. DDR 제어기(310A)의 모드는 초기화동안 프로세서(도시안됨)에 의하여 구성(configure)될 수 있다. 초기화동안, 프로세서는 구성(configuration) 버스(545)를 사용하여 DDR 제어기(310A)를 구성할 수 있다. 구성 버스(545)는 소프트웨어 제어 구성 신호들을 제공하기 위하여 AXI 메모리 제어기(520A), DDR I/O 로직 인터페이스(535), 16/32 비트 제어기(525) 및 16-비트 제어기(530)와 인터페이싱할 수 있다. 레가시 모드에서 동작할때, 16-비트 제어기(530)는 디스에이블되며, 단지 16/32-비트 제어기(525)만이 32-비트 모드에서 동작을 유지한다. 레가시 모드에서는 단지 AXI 버스(510A) 및 AXI 메모리 제어기(520A)가 동작하며, AXI 버스(510B) 및 AXI 메모리 제어기(520B)가 턴-오프(turn-off)될 수 있다.
도 5b에서, DDR 제어기(310B)는 2개의 16-비트 메모리 인터페이스 버스들을 통해 트래픽을 라우팅하기 위하여 단일 프로세서-측 버스를 사용할 수 있다. 여기에서, DDR 제어기(310B)는 AXI(Advanced eXtensible Interface) 메모리 제어기(522), 16/32-비트 제어기(525), 16-비트 제어기(530), 및 DDR I/O 로직 인터페이스(535)를 포함할 수 있다. 단일 AXI 버스들(515)은 AXI 메모리 제어기(522)로부터 데이터를 이송하고 수신할 수 있다. AXI 메모리 제어기(525)에 의하여 처리되는 데이터는 2개의 채널들로 분할될 수 있으며, 16/32-비트 제어기(525) 및 16-비트 제어기(530)에 포워드(forward)될 수 있다. 제어기(525, 530)는 DDR I/O 로직 인터페이스를 통해 데이터의 2개의 채널들을 포워드한다. 16/32-비트 제어기(525) 및 16-비트 제어기(530)로부터의 데이터 워드들은 32-비트 DDR 버스(540)를 통해 2개의 채널 16-비트 데이터 버스 이송을 제공하기 위하여 DDR I/O 로직 인터페이스(535)에 의하여 포맷될 수 있다. AXI 메모리 제어기(522)내에서, 데이터는 2개의 채널들을 통해 데이터 트래픽을 라우팅하는 복잡성을 처리하기 위하여 듀얼 채널 라우터/버퍼 및 2개의 최적화기들에 의하여 라우팅, 버퍼링 및 최적화될 수 있다.
AXI 메모리 제어기(522)는 듀얼 채널 라우터 및 낮은/높은 우선순위 큐들(LPQ, HPQ)을 포함할 수 있다. 듀얼 채널 라우터는 하나의 채널로부터 2개의 채널로 라우팅하기 위하여 듀얼 채널 방식의 단일 버스 구현을 위하여 사용될 수 있다. HPQ는 더 낮은 지연시간 요건들을 가진 마스터들을 서비스하기 위하여 AXI 메모리 제어기(525)에서 사용될 수 있다. 모든 다른 마스터들은 LPQ를 통해 서비스될 수 있다. W버퍼는 다른 계류중인 트랜잭션들을 위한 AXI 버스를 해제하기 위하여 기록 트랜잭션들을 캡처하도록 의도된 기록 버퍼일 수 있다. AXI 메모리 제어기(522)는 성능을 개선시키기 위하여 AXI 버스로부터의 트랜잭션들을 재정렬시키기 위한 2개의 최적화기를 포함할 수 있다. AXI 메모리 제어기(525)는 단일 파이프라인형 버스 시스템인 프로토콜을 활용할 수 있다. 단일 파이프라인 버스를 사용하는 것은 마치 16/32 비트 제어기(525) 및 16-비트 제어기(530)이 2개의 개별 버스들에 의하여 서비스되는 것 처럼 이들 제어기 모두를 서비스할 수 있다.
도 5a에 도시된 실시예들과 관련하여 앞서 기술된 바와같이, DDR 제어기(310B)는 또한 기존의 단일 데이터 채널 하드웨어와 하위 호환성을 유지하기 위하여 레가시 모드에서 동작할 수 있다. DDR 제어기(310B)는 메모리 인터페이스로서 단일 넓은 버스(예컨대, 32-비트)를 사용하여 대안 모드에서 동작할 수 있다. 전술한 바와같이, DDR 제어기(310B)의 모드는 구성 버스(545)를 사용하여 초기화 동안 프로세서(도시안됨)에 의하여 구성될 수 있다. 구성 버스(545)는 소프트웨어 제어 구성 신호들을 제공하기 위하여 AXI 메모리 제어기(522), DDR I/O 로직 인터페이스(535), 16/32 비트 제어기(525) 및 16-비트 제어기(530)와 인터페이싱할 수 있다. 레가시 모드에서 동작할때, 16-비트 제어기(530)는 디스에이블되며, 단지 16/32-비트 제어기(525)만이 32-비트 모드에서 동작을 유지한다.
도 6은 NAND 플래시 메모리를 활용하는 본 발명의 실시예에 따른 듀얼 좁은 채널 NAND 메모리 아키텍처(600)의 블록도를 도시한다. 메모리 아키텍처(600)는 NAND 플래시 제어기(610), 제 1 X-비트 NAND 메모리 장치(620), 제 2 X-비트 NAND 메모리 장치(630), 공유 제어(CTRL) 버스(640), 제 1 어드레스/데이터 버스(650) 및 제 2 데이터 버스(355)를 포함할 수 있다.
NAND 메모리 아키텍처(600)에 있어서, 2개의 어드레스/데이터 버스들(650, 655)은 NAND 제어기(610) 및 X-비트 NAND 메모리 장치(620, 630)의 각각의 장치사이에서 데이터 및 어드레싱 정보 모두를 이송하기 위하여 사용될 수 있다. 이러한 실시예에서, 어드레싱 정보 및 데이터는 DQ 버스 라인들의 동일한 세트를 사용하여 다중화될 수 있다. 제 1 버스(650)는 X-비트 NAND 메모리 장치(630)로/으로부터 데이터를 판독/기록하고 어드레싱하는 것에 전용될 수 있다.
각각의 좁은 데이터 버스(650, 655)는 시간-다중화에 의하여 X개의 개별 라인들 DQ[X-1:0]을 사용하여 어드레싱 정보 및 데이터 모두를 이송하기 위하여 활용될 수 있다. 메모리로의 기록 동작들동안, NAND 플래시 메모리 제어기(610)는 어드레스/데이터 버스들(650, 655)을 통해 이송하기전에 어드레스 및 데이터 비트들을 다중화할 수 있다. 다음으로, 어드레싱 및 데이터 비트들은 X-비트 NAND 메모리들(620, 630)에서 역다중화될 수 있다. 메모리로부터의 판독 동작들 동안, 이러한 프로세스는 유사하나, 데이터의 흐름은 반전될 수 있다. 다중화/역다중화 동작들을 수행하기 위한 회로(도시안됨)는 NAND 메모리 제어기 및 X-비트 NAND 메모리 장치들(620, 630)에 통합될 수 있다. 다른 실시예에서, 다중화/역다중화 회로는 NAND 메모리 제어기(610) 및/또는 X-비트 NAND 플래시 메모리 장치들(620, 630)의 밖에서 실현될 수 있다. 좁은 데이터 버스(650, 655)는 또한 각각 개별 데이터 스트로브 신호들을 반송하는 전용 라인들을 가질 수 있다. 버스(655)는 데이터 스트로브 신호 DQS0를 활용할 수 있으며, 버스(650)는 데이터 스트로브 신호 DQS1을 사용할 수 있다. 본 발명의 다양한 실시예들에서, 2개의 좁은 데이터 버스들(650, 655)은 단일 넓은 버스를 사용하여 구현될 수 있다. 예컨대, 2개의 16-비트 버스들은 32-비트 데이터 버스를 분할함으로써 실현될 수 있다. 이러한 실시예에서, 어드레싱은 단일 데이터 레이트들(SDR)에서 동작할 수 있는 반면에, 데이터 이송은 더블 데이터 레이트(DDR)일 수 있다.
X-비트 NAND 메모리 장치들(620, 630)내의 메모리를 적절하게 어드레싱하기 위하여, 공유 CTRL 버스(640)는 NAND 제어기(610)로부터 NAND 메모리 장치들(620, 630)로 제어 정보를 제공하기 위하여 사용될 수 있다. 버스를 통해 이송되는 제어 신호들은 SDR 어드레싱과 유사한 CLE, ALE, WE_N, RE_N을 포함할 수 있으며, 따라서 DDR 메모리 장치들과 관련하여 앞서 기술된 듀얼 채널 개념들은 NAND 타입 메모리 장치들에 적용가능할 수 있다.
어드레스 버스는 다음과 같은 어드레싱 신호들 및 뱅크 어드레싱 신호들, 즉 A[n:0] 및 BA[m:0]을 반송하기 위하여 데이터 버스와 라인들을 공유할 수 있다. 제어 버스는 다음과 같은 제어 신호들, 즉 /RAS, /CAS, 및/또는 /WE를 포함할 수 있다.
NAND 메모리 제어기(610)는 또한 각각의 메모리 장치(620, 630)에 다수의 클록 신호들을 제공한다. NAND 제어기(610)는 X-비트 NAND 메모리 장치(620)에 직접 제공될 수 있는 단일 클록 신호 CK를 제공한다. CK 신호는 X-비트 NAND 메모리 장치(630)에 제공될 수 있는 /CK 신호를 생성하기 위하여 반전될 수 있다. 이러한 어레인지먼트는 NAND 메모리 제어기(610) 및 NAND 메모리 장치들(620, 630)간의 교번하는 데이터 이송들을 가능하게 하며, 이는 클록 신호 CK의 상승 및 하강 에지 모두에서 발생한다. 본 발명의 다양한 다른 실시예들은 CK 및 /CK에 대한 차동 신호들을 사용하는 것에 제한되지 않는다. 클록 신호 CK 및 /CK는 반전된 극성을 가지며, 따라서 메모리 장치는 대안 방식으로 판독될 수 있다. 따라서, 클록 신호들 CK 및 /CK는 임의의 종래의 기술을 사용하여 생성될 수 있다.
NAND 제어기(610)는 또한 NAND 메모리 장치(620)에 제 1 칩 선택 신호(CS_CH0)를 제공하고 NAND 메모리 장치(630)에 제 2 칩 선택 신호(SC_CH1)를 제공할 수 있다. 칩 선택 신호들은 제 1 데이터 버스(650) 및 제 2 데이터 버스(655)를 통해 NAND 제어기(610)에 대하여 데이터를 제공/수신해야 할때를 메모리 장치들(620, 630)에 알릴 수 있다.
당업자는 정보 및 신호들이 다양한 상이한 기술들 중 임의의 기술을 사용하여 표현될 수 있음을 잘 이해할 것이다. 예컨대, 본 명세서상에서 참조될 수 있는 데이터, 지령, 명령, 정보, 신호, 비트, 심볼, 및 칩은 전압, 전류, 전자기파, 자기장 또는 입자, 광 필드 또는 입자, 또는 이들의 임의의 조합으로 표현될 수 있다.
따라서, 본 발명은 예시된 예들에 제한되지 않으며, 여기에서 제시된 기능을 수행하기 위한 임의의 수단은 본 발명의 실시예들에 포함된다.
전술한 설명이 본 발명의 예시적인 실시예들을 기술하는 반면에, 다양한 변화들 및 변형들이 첨부된 청구항들에 의하여 한정된 본 발명의 범위로부터 벗어나지 않고 여기에서 이루어질 수 있다는 것에 유의해야 한다. 여기에서 제시된 본 발명의 실시예들에 따른 방법 청구항들의 동작들, 단계들 및/또는 기능들은 임의의 특정 순서대로 수행될 필요가 없다. 게다가, 비록 본 발명의 엘리먼트들이 단수로 기술되거나 또는 청구될 수 있을지라도, 단수에 대한 제한이 명백하게 언급되지 않는한 복수가 고려되어야 한다.

Claims (31)

  1. 메모리 아키텍처로서,
    메모리 제어기;
    공유(shared) 어드레스 버스 및 제 1 클록 신호에 의하여 상기 메모리 제어기에 연결되는 제 1 메모리 장치; 및
    상기 공유 어드레스 버스 및 제 2 클록 신호에 의하여 상기 메모리 제어기에 연결되는 제 2 메모리 장치를 포함하며, 상기 제 2 클록 신호의 극성(polarity)은 상기 제 1 클록 신호의 극성과 반대이며,
    상기 공유 어드레스 버스는 상기 제1 클록 신호의 상승 클록 전이들(rising clock transitions)에서 상기 제1 메모리 장치로 어드레싱 신호들을 제공하며, 상기 제2 클록 신호의 상승 클록 전이들에서 상기 제2 메모리 장치로 어드레싱 신호들을 제공하도록 구성되는,
    메모리 아키텍처.
  2. 제 1항에 있어서, 상기 제 1 메모리 장치 및 상기 메모리 제어기 사이에서 데이터를 이송(transfer)하기 위한 제 1 버스; 및
    상기 제 2 메모리 장치 및 상기 메모리 제어기 사이에서 데이터를 이송하기 위한 제 2 버스를 더 포함하는, 메모리 아키텍처.
  3. 제 2항에 있어서, 상기 제 1 버스 및 상기 제 2 버스는 단일 데이터 버스를 통해 구현될 수 있는, 메모리 아키텍처.
  4. 제 1항에 있어서, 상기 메모리 제어기는 역방향 호환성(backward compatibility)을 유지하기 위하여 단일 버스를 통해 동작하도록 구성될 수 있는, 메모리 아키텍처.
  5. 제 1항에 있어서, 상기 메모리 제어기는 차동 시그널링(differential signaling)을 사용하여 상기 제 1 클록 신호 및 상기 제 2 클록 신호를 직접 제공하는, 메모리 아키텍처.
  6. 제 5항에 있어서, 상기 메모리 제어기는 상기 제 1 및 제 2 메모리 장치들 모두에 상기 제 1 및 제 2 클록 신호들 모두를 제공하며, 상기 제 2 메모리 장치의 제 1 및 제 2 클록 신호들에 대한 입력들은 상기 제 1 및 제 2 클록 신호들이 공급되는 상기 제 1 메모리 장치의 입력들로부터 반전(reverse)되는, 메모리 아키텍처.
  7. 제 1항에 있어서, 상기 메모리 제어기는 상기 제 1 메모리 장치 및 인버터에 상기 제 1 클록 신호를 제공하며, 상기 인버터는 상기 제 2 클록 신호를 제공하는, 메모리 아키텍처.
  8. 제 1항에 있어서, 상기 제 1 및 제 2 메모리 장치들에 연결되는 공유 제어 버스를 더 포함하는, 메모리 아키텍처.
  9. 제 8항에 있어서, 상기 공유 제어 버스 및 상기 공유 어드레스 버스는 결합(combine)되는, 메모리 아키텍처.
  10. 제 8항에 있어서, 상기 공유 어드레스 버스 및 상기 공유 제어 버스 중 적어도 하나는 상기 제 1 및 제 2 메모리 장치들에 상기 메모리 제어기를 인터페이싱하는데 필요한 다수의 핀들을 통합(consolidate)하는, 메모리 아키텍처.
  11. 제 1항에 있어서, 상기 메모리 장치들은 DDR(Double Data Rate) 메모리 장치들 또는 저전력 DDR(LPDDR: Low Power DDR) 장치들 중 하나인, 메모리 아키텍처.
  12. 제 2항에 있어서, 상기 제 1 및 제 2 메모리 장치들은 16-비트 장치들로 구성되며, 상기 제 1 버스는 16-비트 버스 폭을 포함하며, 상기 제 2 버스는 16-비트 버스 폭을 포함하며, 상기 어드레스 버스는 16-비트 버스를 포함하는, 메모리 아키텍처.
  13. 데이터 트랙잭션들을 수행하기 위한 방법으로서,
    공유 어드레스 버스를 통해 제 1 메모리 장치 및 제 2 메모리 장치에 어드레싱 신호들을 제공하는 단계;
    제1 클록 신호 및 제2 클록 신호를 상기 제1 메모리 장치 및 상기 제2 메모리 장치에 각각 제공하는 단계 ― 상기 클록 신호들은 공통 클록 신호로부터 유도(derive)되고, 상기 공유 어드레스 버스는 상기 제1 클록 신호의 상승 클록 전이들(rising clock transitions)에서 상기 제1 메모리 장치로 어드레싱 신호들을 제공하며, 상기 제2 클록 신호의 상승 클록 전이들에서 상기 제2 메모리 장치로 어드레싱 신호들을 제공하도록 구성됨 ―; 및
    상기 제1 및 제2 클록 신호들에 기초하여 교번 방식(alternating manner)으로 개별 데이터 버스들을 통해 데이터를 상기 메모리 장치들에 이송하는 단계를 포함하며,
    상기 개별 데이터 버스들은 결합된 단일 데이터 버스 또는 독립적인 데이터 버스들 중 하나로서 구성될 수 있는,
    데이터 트랙잭션들을 수행하기 위한 방법.
  14. 제 13항에 있어서,
    상기 제 2 클록 신호의 극성은 상기 제 1 클록 신호의 극성과 반대인, 데이터 트랙잭션들을 수행하기 위한 방법.
  15. 제 14항에 있어서, 차동 시그널링을 사용하여 상기 제 1 클록 신호 및 상기 제 2 클록 신호를 제공하는 단계를 더 포함하는, 데이터 트랙잭션들을 수행하기 위한 방법.
  16. 제 13항에 있어서, 상기 제 1 및 제 2 메모리 장치들 모두에 상기 제 1 및 제 2 클록 신호들 모두를 제공하는 단계를 더 포함하며;
    상기 제 2 메모리 장치의 제 1 및 제 2 클록 신호들에 대한 입력들은 상기 제 1 및 제 2 클록 신호들이 공급되는 상기 제 1 메모리 장치의 입력들로부터 반전되는, 데이터 트랙잭션들을 수행하기 위한 방법.
  17. 제 13항에 있어서, 상기 제 1 메모리 장치 및 인버터에 상기 제 1 클록 신호를 제공하는 단계를 더 포함하며;
    상기 인버터는 상기 제 2 클록 신호를 제공하는, 데이터 트랙잭션들을 수행하기 위한 방법.
  18. 제 13항에 있어서, 공유 제어 버스를 통해 상기 제 1 및 제 2 메모리 장치들에 제어 신호들을 제공하는 단계를 더 포함하는, 데이터 트랙잭션들을 수행하기 위한 방법.
  19. 제 18항에 있어서, 상기 어드레스 버스 및 상기 제어 버스는 결합된 버스인, 데이터 트랙잭션들을 수행하기 위한 방법.
  20. 제 13항에 있어서, 상기 제 1 및 제 2 메모리 장치들에 상기 메모리 제어기를 인터페이싱하는데 필요한 다수의 핀들을 통합하는 단계를 더 포함하는, 데이터 트랙잭션들을 수행하기 위한 방법.
  21. DDR 메모리 아키텍처로서,
    공유 어드레스 버스를 통해 제 1 메모리 장치 및 제 2 메모리 장치에 어드레싱 신호들을 제공하기 위한 수단;
    제1 클록 신호 및 제2 클록 신호를 상기 제1 메모리 장치 및 상기 제2 메모리 장치에 각각 제공하기 위한 수단 ― 상기 클록 신호들은 공통 클록 신호로부터 유도(derive)되고, 상기 공유 어드레스 버스는 상기 제1 클록 신호의 상승 클록 전이들(rising clock transitions)에서 상기 제1 메모리 장치로 어드레싱 신호들을 제공하며, 상기 제2 클록 신호의 상승 클록 전이들에서 상기 제2 메모리 장치로 어드레싱 신호들을 제공하도록 구성됨 ―; 및
    상기 제1 및 제2 클록 신호들에 기초하여 교번 방식(alternating manner)으로 개별 데이터 버스들을 통해 데이터를 상기 메모리 장치들에 이송하기 위한 수단을 포함하며,
    상기 개별 데이터 버스들은 결합된 단일 데이터 버스 또는 독립적인 데이터 버스들 중 하나로서 구성될 수 있는,
    DDR 메모리 아키텍처.
  22. 제 21항에 있어서,
    상기 제 2 클록 신호의 극성은 상기 제 1 클록 신호의 극성과 반대인, DDR 메모리 아키텍처.
  23. 제 22항에 있어서, 차동 시그널링을 사용하여 상기 제 1 클록 신호 및 상기 제 2 클록 신호를 제공하기 위한 수단을 더 포함하는, DDR 메모리 아키텍처.
  24. 제 21항에 있어서, 상기 제 1 및 제 2 메모리 장치들 모두에 상기 제 1 및 제 2 클록 신호들 모두를 제공하기 위한 수단을 더 포함하며;
    상기 제 2 메모리 장치의 제 1 및 제 2 클록 신호들에 대한 입력들은 상기 제 1 및 제 2 클록 신호들이 공급되는 상기 제 1 메모리 장치의 입력들로부터 반전되는, DDR 메모리 아키텍처.
  25. 제 21항에 있어서, 상기 제 1 메모리 장치 및 인버터에 상기 제 1 클록 신호를 제공하기 위한 수단을 더 포함하며;
    반전된 제 1 클록 신호는 상기 제 2 클록 신호를 발생시키는, DDR 메모리 아키텍처.
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
KR1020107021729A 2008-02-29 2009-02-04 어드레스/제어 신호들에 대하여 더블 데이터 레이트 방식을 사용하여 인터페이스 핀 요건들을 감소시킨 듀얼 채널 메모리 아키텍처 KR101108342B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/039,908 US7804735B2 (en) 2008-02-29 2008-02-29 Dual channel memory architecture having a reduced interface pin requirements using a double data rate scheme for the address/control signals
US12/039,908 2008-02-29
PCT/US2009/033018 WO2009111125A1 (en) 2008-02-29 2009-02-04 Dual channel memory architecture having reduced interface pin requirements using a double data rate scheme for the address/control signals

Publications (2)

Publication Number Publication Date
KR20100117687A KR20100117687A (ko) 2010-11-03
KR101108342B1 true KR101108342B1 (ko) 2012-01-25

Family

ID=40674058

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107021729A KR101108342B1 (ko) 2008-02-29 2009-02-04 어드레스/제어 신호들에 대하여 더블 데이터 레이트 방식을 사용하여 인터페이스 핀 요건들을 감소시킨 듀얼 채널 메모리 아키텍처

Country Status (7)

Country Link
US (2) US7804735B2 (ko)
EP (1) EP2263153B1 (ko)
JP (1) JP5474837B2 (ko)
KR (1) KR101108342B1 (ko)
CN (2) CN103279438B (ko)
AT (1) ATE552557T1 (ko)
WO (1) WO2009111125A1 (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710384B2 (en) 2008-01-04 2017-07-18 Micron Technology, Inc. Microprocessor architecture having alternative memory access paths
US9015399B2 (en) * 2007-08-20 2015-04-21 Convey Computer Multiple data channel memory module architecture
US7804735B2 (en) * 2008-02-29 2010-09-28 Qualcomm Incorporated Dual channel memory architecture having a reduced interface pin requirements using a double data rate scheme for the address/control signals
TW201026070A (en) * 2008-12-29 2010-07-01 Sunplus Technology Co Ltd Apparatus and method for accessing data
US8589714B2 (en) 2009-12-18 2013-11-19 Texas Instruments Incorporated Falling clock edge JTAG bus routers
EP2539823B1 (en) 2010-02-23 2016-04-13 Rambus Inc. Time multiplexing at different rates to access different memory types
US8595402B1 (en) * 2010-03-02 2013-11-26 Marvell International Ltd. Dynamic arbitration schemes for multi-master memory systems
JP5471631B2 (ja) * 2010-03-10 2014-04-16 セイコーエプソン株式会社 電子機器
US8472279B2 (en) 2010-08-31 2013-06-25 Micron Technology, Inc. Channel skewing
KR101854251B1 (ko) 2010-11-30 2018-05-03 삼성전자주식회사 멀티 채널 반도체 메모리 장치 및 그를 구비하는 반도체 장치
US20130111122A1 (en) * 2011-10-31 2013-05-02 Futurewei Technologies, Inc. Method and apparatus for network table lookups
CN103129185B (zh) * 2011-12-05 2016-04-06 珠海天威技术开发有限公司 数据存储装置及其数据访问方法、成像设备
US10355001B2 (en) * 2012-02-15 2019-07-16 Micron Technology, Inc. Memories and methods to provide configuration information to controllers
US9348775B2 (en) 2012-03-16 2016-05-24 Analog Devices, Inc. Out-of-order execution of bus transactions
US10430190B2 (en) 2012-06-07 2019-10-01 Micron Technology, Inc. Systems and methods for selectively controlling multithreaded execution of executable code segments
US9323608B2 (en) 2012-06-07 2016-04-26 Micron Technology, Inc. Integrity of a data bus
US9009570B2 (en) 2012-06-07 2015-04-14 Micron Technology, Inc. Integrity of an address bus
TWI498812B (zh) * 2013-01-07 2015-09-01 Mstar Semiconductor Inc 資料存取方法以及使用此資料存取方法的電子裝置
CN103970479B (zh) * 2013-01-24 2018-05-22 晨星半导体股份有限公司 数据存取方法以及使用此数据存取方法的电子装置
US9811455B2 (en) * 2013-03-15 2017-11-07 The Boeing Company Accessing different types of memory by respective distinct command with different timing requirements
US9111607B2 (en) * 2013-05-31 2015-08-18 Freescale Semiconductor, Inc. Multiple data rate memory with read timing information
KR102149768B1 (ko) 2014-04-29 2020-08-31 삼성전자주식회사 불휘발성 메모리 시스템
JP6434870B2 (ja) 2015-07-28 2018-12-05 ルネサスエレクトロニクス株式会社 電子装置
JP6348234B2 (ja) * 2015-09-18 2018-06-27 株式会社日立製作所 メモリコントローラ、メモリ制御方法および半導体記憶装置
CN108885553B (zh) * 2016-01-22 2022-12-27 索尼互动娱乐股份有限公司 模拟向后兼容的传统总线行为
CN105760310B (zh) * 2016-02-05 2018-12-14 华为技术有限公司 地址分配方法及ddr控制器
US10380060B2 (en) * 2016-06-17 2019-08-13 Etron Technology, Inc. Low-pincount high-bandwidth memory and memory bus
US9773543B1 (en) * 2016-08-31 2017-09-26 Xilinx, Inc. Effective clamshell mirroring for memory interfaces
US9940984B1 (en) * 2016-09-28 2018-04-10 Intel Corporation Shared command address (C/A) bus for multiple memory channels
US10846018B2 (en) * 2017-04-05 2020-11-24 Mediatek Inc. Memory device, memory controller and associated memory system operated according to selected clock signals
KR20180113371A (ko) * 2017-04-06 2018-10-16 에스케이하이닉스 주식회사 데이터 저장 장치
US10541020B2 (en) 2018-02-27 2020-01-21 Seagate Technology Llc Controller architecture for reducing on-die capacitance
CN112449693B (zh) 2018-03-07 2024-05-24 美光科技公司 在存储***的两遍编程之前执行读取操作
US10635357B2 (en) 2018-07-03 2020-04-28 Nvidia Corporation Method for overlapping memory accesses
US11048654B2 (en) * 2018-10-24 2021-06-29 Innogrit Technologies Co., Ltd. Systems and methods for providing multiple memory channels with one set of shared address pins on the physical interface
TWI692759B (zh) * 2019-05-15 2020-05-01 瑞昱半導體股份有限公司 同時存取第一動態隨機存取記憶體與第二動態隨機存取記憶體的方法及相關的記憶體控制器
US10936234B2 (en) * 2019-05-22 2021-03-02 Macronix International Co., Ltd. Data transfer between memory devices on shared bus
CN112286842B (zh) * 2019-07-22 2023-07-04 苏州库瀚信息科技有限公司 用于存储器控制器与存储器设备互连的总线
US11409684B2 (en) * 2020-07-31 2022-08-09 Alibaba Group Holding Limited Processing accelerator architectures
US11360897B1 (en) * 2021-04-15 2022-06-14 Qualcomm Incorporated Adaptive memory access management

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060049985A (ko) * 2004-07-30 2006-05-19 인터내셔널 비지네스 머신즈 코포레이션 버스 속도 멀티플라이어의 제공 방법 및 메모리 서브시스템
US20070023719A1 (en) * 2005-07-27 2007-02-01 Shannon Mark A Bi-direction rapid action electrostatically actuated microvalve

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6198688B1 (en) 1998-04-02 2001-03-06 Hyundai Electronics Industries, Co., Ltd. Interface for synchronous semiconductor memories
JP2000285016A (ja) 1999-03-30 2000-10-13 Sanyo Electric Co Ltd メモリ制御回路
US6675272B2 (en) * 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
JP4074110B2 (ja) * 2002-03-20 2008-04-09 Necエレクトロニクス株式会社 シングルチップ・マイクロコンピュータ
US7003684B2 (en) 2002-03-27 2006-02-21 Via Technologies, Inc. Memory control chip, control method and control circuit
US7023719B1 (en) * 2003-10-23 2006-04-04 Lsi Logic Corporation Memory module having mirrored placement of DRAM integrated circuits upon a four-layer printed circuit board
WO2005083572A1 (ja) 2004-03-02 2005-09-09 Sony Corporation メモリ制御装置、メモリ制御方法、メモリ制御プログラムおよび画像撮像装置
JP3829851B2 (ja) * 2004-03-09 2006-10-04 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US7177230B1 (en) * 2005-08-25 2007-02-13 Mediatek Inc. Memory controller and memory system
US7804735B2 (en) * 2008-02-29 2010-09-28 Qualcomm Incorporated Dual channel memory architecture having a reduced interface pin requirements using a double data rate scheme for the address/control signals

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060049985A (ko) * 2004-07-30 2006-05-19 인터내셔널 비지네스 머신즈 코포레이션 버스 속도 멀티플라이어의 제공 방법 및 메모리 서브시스템
US20070023719A1 (en) * 2005-07-27 2007-02-01 Shannon Mark A Bi-direction rapid action electrostatically actuated microvalve

Also Published As

Publication number Publication date
WO2009111125A1 (en) 2009-09-11
CN101960436B (zh) 2013-07-17
JP2011513845A (ja) 2011-04-28
US20100318730A1 (en) 2010-12-16
ATE552557T1 (de) 2012-04-15
EP2263153B1 (en) 2012-04-04
CN103279438A (zh) 2013-09-04
JP5474837B2 (ja) 2014-04-16
CN103279438B (zh) 2016-01-20
KR20100117687A (ko) 2010-11-03
US8325525B2 (en) 2012-12-04
CN101960436A (zh) 2011-01-26
EP2263153A1 (en) 2010-12-22
US20090219779A1 (en) 2009-09-03
US7804735B2 (en) 2010-09-28

Similar Documents

Publication Publication Date Title
KR101108342B1 (ko) 어드레스/제어 신호들에 대하여 더블 데이터 레이트 방식을 사용하여 인터페이스 핀 요건들을 감소시킨 듀얼 채널 메모리 아키텍처
US6532525B1 (en) Method and apparatus for accessing memory
US10056123B2 (en) Method and system for improving serial port memory communication latency and reliability
US6820169B2 (en) Memory control with lookahead power management
JP3960583B2 (ja) 半導体メモリ装置及びこれを含むメモリモジュールを有するシステム
JP5784582B2 (ja) コンフィギュラブルな帯域幅メモリ・デバイスおよび方法
US9268719B2 (en) Memory signal buffers and modules supporting variable access granularity
US10884958B2 (en) DIMM for a high bandwidth memory channel
US20080285372A1 (en) Multi- port memory device for buffering between hosts and non-volatile memory devices
US20200133903A1 (en) Systems and methods for combining multiple memory channels
KR20040106303A (ko) 프리페치 길이보다 짧은 버스트 길이를 갖는 메모리 시스템
US20070103241A1 (en) Clock signal generating circuit, semiconductor integrated circuit and method for controlling a frequency division ratio
US10162522B1 (en) Architecture of single channel memory controller to support high bandwidth memory of pseudo channel mode or legacy mode
US6502173B1 (en) System for accessing memory and method therefore
US10963404B2 (en) High bandwidth DIMM
KR100880836B1 (ko) 반도체 메모리장치
US8074096B2 (en) Semiconductor integrated circuit, memory system, memory controller and memory control method
CN206282270U (zh) 一种处理器
CN106897234A (zh) 一种处理器以及处理器内置存储器的控制方法
JP2002073405A (ja) データ処理装置
JP2009251945A (ja) メモリ制御装置
KR20070032857A (ko) 프로토콜 메모리, 메모리 모듈 및 프로토콜 메모리시스템과 그 제어방법.

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: 20141230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181227

Year of fee payment: 8