KR20070080844A - 비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는방법 및 시스템, 비휘발성 메모리 제어기 및 휘발성 메모리 - Google Patents

비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는방법 및 시스템, 비휘발성 메모리 제어기 및 휘발성 메모리 Download PDF

Info

Publication number
KR20070080844A
KR20070080844A KR1020070013277A KR20070013277A KR20070080844A KR 20070080844 A KR20070080844 A KR 20070080844A KR 1020070013277 A KR1020070013277 A KR 1020070013277A KR 20070013277 A KR20070013277 A KR 20070013277A KR 20070080844 A KR20070080844 A KR 20070080844A
Authority
KR
South Korea
Prior art keywords
nonvolatile memory
volatile memory
shared
memory controller
control signal
Prior art date
Application number
KR1020070013277A
Other languages
English (en)
Other versions
KR100868393B1 (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 KR20070080844A publication Critical patent/KR20070080844A/ko
Application granted granted Critical
Publication of KR100868393B1 publication Critical patent/KR100868393B1/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/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • 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)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 공유 인터페이스를 통해 비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는 방법 및 장치를 제공한다. 일실시예에서, 상기 방법은 공유 인터페이스의 공유 제어 신호를 통해 비휘발성 메모리 제어기 및 휘발성 메모리 중 하나를 선택하는 단계를 포함하는데, 여기서 상기 공유된 제어 신호는 비휘발성 메모리 제어기 및 휘발성 메모리로 발행된다. 이 방법은 또한 공유 제어 신호를 통해 비휘발성 메모리 제어기 및 휘발성 메모리 중 선택된 하나로 커맨드를 발행하는 단계를 포함한다.

Description

비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는 방법 및 시스템, 비휘발성 메모리 제어기 및 휘발성 메모리{SHARED INTERFACE FOR CMPONENTS IN AN EMBEDDED SYSTEM}
도 1은 본 발명의 일실시예에 따른 예시적인 시스템을 도시한 블록도.
도 2a 내지 2c는 본 발명의 일실시예에 따른 시스템의 동작 모드를 도시한 도면.
도 3은 본 발명의 일실시예에 따른 임베디드 시스템(embedded system)을 위한 공유 인터페이스를 도시한 블록도.
도 4는 본 발명의 일실시예에 따른 공유 인터페이스를 통한 액세스 메모리에 호스트를 사용하는 프로세스를 도시한 순서도.
도 5는 본 발명의 일실시예에 따른 공유 인터페이스를 통해 휘발성 메모리에 액세스하기 위해 비휘발성 메모리 제어기를 사용하는 프로세스를 도시한 순서도.
도 6은 본 발명의 일실시예에 따른 공유 인터페이스를 통해 휘발성 메모리에 동시에 액세스하는 하드웨어를 도시한 블록도.
도면의 주요 부분에 대한 부호의 설명
102 : 호스트 104 : 휘발성 메모리
106 : 비휘발성 메모리 제어기 108 : 비휘발성 메모리 제어기
120 : 부트 코드 122 : NAND 관리자
124 : DRAM 인터페이스 126 : 제어기 코드
128 : 제어기 코어 130 : DMA
132 : 비휘발성 메모리 인터페이스
본 발명은 일반적으로 컴퓨터 시스템에 관한 것이다. 보다 구체적으로는 본 발명은 컴퓨터 시스템 내의 요소들을 인터페이싱하는 개선된 시스템 및 방법에 관한 것이다.
일반적으로, 셀 폰(cell phone), PDA, 휴대형 뮤직 플레이어, 전기기기 등과 같은 많은 현대의 전자 장치들이 임베디드(embedded) 컴퓨터 시스템에 통합된다. 임베디드 컴퓨터 시스템은 통상 컴퓨터 프로세서(호스트라고도 함), 비휘발성 메모리(예를 들면, NAND 플래시 메모리 및/또는 ROM 메모리), DRAM(dynamic random access memory)과 같은 휘발성 메모리를 포함한다. 호스트는 CPU(central processing unit), DSP(digital signal processor), MCU(microcontroller unit) 또는 DMA(direct memory access) 데이터 전송 장치를 포함할 수 있다.
어떤 경우에는, 비휘발성 메모리 제어기(예를 들면, NAND 플래시 제어기)가 비휘발성 메모리에 액세스하는데 사용하도록 제공되기도 한다. 비휘발성 메모리 제어기가 제공되면, 비휘발성 메모리 제어 및 관리 작업의 부담이 호스트로부터 비휘발성 메모리 제어기로 전가되어, 호스트의 설계를 단순화할 수 있고, 호스트가 임베디드 시스템의 다른 처리 요구를 담당할 수 있게 된다.
호스트, 비휘발성 메모리 제어기, 비휘발성 메모리 및 휘발성 메모리가 임베디드 컴퓨터 시스템에 제공되어 있는 경우, 이들 각 요소는 시스템 내의 다른 요소들과 접속하기 위한 하나 이상의 인터페이스를 가질 수 있다. 이러한 임베디드 시스템의 설계 및 구현 비용을 저감시키고, 이러한 임베디드 시스템의 전력 소비를 감소시키기 위해, 고 수준의 성능을 유지하면서 인터페이스의 핀 개수를 줄이는 것이 바람직하다.
따라서, 임베디드 컴퓨터 시스템에서 호스트, 비휘발성 메모리 제어기 및 휘발성 메모리를 인터페이싱하는 개선된 시스템 및 방법이 필요하다.
본 발명의 실시예들은 공유 인터페이스를 통해 비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는 방법 및 장치를 제공한다. 일실시예에서, 이 방법은 공유 인터페이스의 공유 제어 신호를 통해 비휘발성 메모리 제어기 및 휘발성 메모리 중 하나를 선택하는 단계를 포함한다. 이 방법은 또한 공유 제어 신호를 통해 비휘발성 메모리 제어기 및 휘발성 메모리 중 선택된 하나에 커맨드를 발행하는 단계를 포함한다.
본 발명의 전술한 특징들을 보다 잘 이해하기 위해, 위에서 약술한 본 발명을 이하에 실시예를 참조하여 보다 구체적으로 설명한다. 이들 실시예 중 일부는 첨부 도면에 도시되어 있다. 그러나, 첨부 도면은 단지 본 발명의 예시적인 실시예를 도시한 것일 뿐이므로, 본 발명의 범위를 한정하는 것으로 고려되어서는 안된다. 본 발명은 효과가 동등한 실시예들도 포함한다.
본 발명의 실시예는 일반적으로 공유 인터페이스를 통해 비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는 방법 및 장치를 제공한다. 일실시예에서, 이 방법은 공유 인터페이스의 공유 제어 신호를 통해 비휘발성 메모리 제어기 및 휘발성 메모리 중 하나를 선택하는 단계를 포함하는데, 여기서 공유된 제어 신호가 비휘발성 메모리 제어기 및 휘발성 메모리에 발행된다. 이 방법은 또한 공유 제어 신호를 통해 비휘발성 메모리 제어기 및 휘발성 메모리 중 선택된 하나에 커맨드를 발행하는 단계를 포함한다. 어떤 경우에는, 비휘발성 메모리 제어기와 휘발성 메모리에 발행된 제어 신호를 공유시킴으로써, 비휘발성 메모리 제어기와 휘발성 메모리에 필요한 핀의 수를 줄일 수 있으며, 따라서 시스템의 복잡성 및 전력 소비를 줄일 수 있다.
본 발명의 실시예는 호스트 프로세서, 휘발성 메모리, 비휘발성 메모리를 포함하는 임베디드 시스템과 관련하여 아래에 설명한다. 그러나, 어떤 경우에는, 임베디드 시스템이 복수의 호스트 프로세서, 복수의 휘발성 메모리 및/또는 복수의 비휘발성 메모리를 포함할 수도 있다. 휘발성 메모리는 어떠한 유형의 DRAM, SRAM 또는 다른 유형의 휘발성 메모리를 포함할 수도 있다. 비휘발성 메모리는 어떠한 유형의 NAND 플래시 메모리, NOR 플래시 메모리, 프로그램 가능한 판독 전용 메모리(PROM), 전기적으로 소거 가능한 프로그램 가능한 판독 전용 메모리(EE-PROM), 판독 전용 메모리(ROM) 또는 기타 다른 유형의 비휘발성 메모리를 포함할 수 있다. 호스트 프로세서는 CPU(central processing unit), DSP(digital signal processor), MCU(microcontroller unit) 또는 DMA(direct memory access) 데이터 전송 장치를 포함하는 어떠한 유형의 프로세서도 포함할 수 있다. 또한, 시스템 내의 각각의 칩은, 어떤 경우에는 복수 유형의 프로세서 및/또는 메모리를 포함한다. 예를 들면, 호스트는 CPU, DSP, SRAM을 포함할 수 있다. 비휘발성 메모리는, 어떤 경우에는 ROM 및 플래시 메모리를 포함한다. 본 발명의 실시예들과 함께 사용될 수 있는 다른 예시적인 조합들은 당업자들에게 자명할 것이다.
예시적인 임베디드 시스템(An Exemplary Embedded System)
도 1은 본 발명의 일실시예에 따른 예시적인 시스템(100)을 도시한 블록도이다. 도시되어 있는 바와 같이, 시스템(100)은 호스트(102), 휘발성 메모리(104)(예를 들면, DRAM, SDRAM, DDR-SDRAM, LP-SDRAM 및/또는 기타 다른 유형의 휘발성 메모리), 비휘발성 메모리 제어기(106), 비휘발성 메모리(108)(예를 들면, ROM, PROM, EE-PROM, NAND 플래시 메모리, NOR 플래시 메모리 및/또는 기타 다른 유형의 비휘발성 메모리)를 포함할 수 있다. 어떤 경우에는, 비휘발성 메모리 제 어기가 부트 코드 버퍼(120), NAND 관리 회로(122), DRAM 인터페이스(124), 제어기 코드(126), 제어기 코어(128), DMA 회로(130) 및 비휘발성 메모리 인터페이스(132)를 포함할 수 있다.
일실시예에서는, 부트 코드, 제어기 코드, 운영체제 코드, 애플리케이션 코드 데이터 및 기타 다른 정보를 포함하는 비휘발성 메모리(108)에 저장된 정보에 액세스하기 위해 비휘발성 메모리 제어기(106)는 비휘발성 메모리 인터페이스(132)를 사용할 수도 있다. 이와 유사하게, 휘발성 메모리(104)에 액세스하기 위해 비휘발성 메모리 제어기(126)는 DRAM 인터페이스(124)를 사용할 수 있다. 후술하는 바와 같이, 비휘발성 메모리(108) 내의 정보는 부트 모드 버퍼(120), 제어기 코드 버퍼(126) 및/또는 휘발성 메모리(104)로 로딩되어 시스템(100)의 초기화에 사용될 수 있다. 제어기 코어(128)는 예를 들어, 제어기 코드 버퍼(126)에 저장된 제어기 코드를 실행함으로써 제어기 동작을 수행하는데 사용될 수 있다. 또한, 후술하는 바와 같이 DAM 회로(130)는 비휘발성 메모리(108)로부터 휘발성 메모리(104)로 정보를 자동으로 전송하는데 사용될 수 있다.
본 발명의 일실시예에서는, 비 휘발성 메모리(108)(예를 들면, 비휘발성 메모리 제어기(106)를 통해) 및 휘발성 메모리(104)에 액세스하기 위해 호스트가 공유 인터페이스(140)를 사용할 수 있다. 도시되어 있는 바와 같이, 공유 인터페이스(140)의 일부분은 휘발성 메모리(104)에 대한 동기식 직렬 접속(예를 들면, 고속 접속(DQ/DQS(110)))을 포함할 수 있다. 공유 인터페이스(140)는 또한 제어 신호 및 어드레스 비트를 휘발성 메모리(104) 및/또는 비휘발성 메모리 제어기(106)로 제공하기 위한 공유 어드레스 및 제어 라인(ADR/CTL(112))을 포함할 수도 있다. 또한, 이하에 보다 상세히 설명하는 다른 인터페이스 접속이 제공될 수도 있다. 어떤 경우에는, 비휘발성 메모리 제어기(106)에 액세스하기 위한 공유 인터페이스(140)를 제공함으로써, 호스트(102)를 비휘발성 메모리 제어기(106)에 접속시키기 위한 여분의 핀이 필요치 않을 수도 있다. 예를 들면, 비휘발성 메모리 제어기(106)에 접속된 각각의 어드레스 및 제어 핀은 또한 휘발성 메모리(104)에 접속될 수도 있다.
공유 인터페이스를 활용하는 동작 모드(Modes of Operation Utilizing the Shared Interface)
본 발명의 일실시예에서, 공유 인터페이스(140)는 복수의 모드 중 한 모드로 메모리 액세스를 수행하는데 사용될 수 있다. 도 2a 내지 2c는 본 발명의 일실시예에 따른 시스템(100)의 동작 모드를 도시하고 있다.
도 2a는 호스트(102)가 본 발명의 일실시예에 따른 휘발성 메모리(104)에 액세스하는 제 1 동작 모드를 도시한 블록도이다. 도시된 바와 같이, 호스트(102)는 공유 인터페이스(140)를 통해 휘발성 메모리에 기록하거나 또는 메모리로부터 판독할 수 있다. 호스트(102)가 휘발성 메모리(104)에 액세스하는 경우, 호스트(102)는 호스트(102)가 마스터(예를 들면, 인터페이스(140) 내에서 통신을 개시 및 제어하는 쪽)로서 작동하고 있음을 나타내는 신호를 공유 인터페이스(140) 상에 어서트(assert)할 수 있다. 호스트(102)가 마스터로서 작동하고 있음을 나타내는 신호 를 인터페이스(140) 상에 어서팅함으로써, 공유 인터페이스(140)에 접속된 다른 요소(예를 들면, 비휘발성 메모리 제어기(106))가 인터페이스(140)를 동시에 제어하려는 시도를 하지 않을 수 있다. 예를 들면, 호스트(102)는 공유 어드레스 및 제어 신호(112)를 이용하여 휘발성 메모리(104)를 선택하고, 커맨드를 비휘발성 메모리(104)에 발행하고, 휘발성 메모리(104) 내의 어드레스를 선택한다. 일실시예에서, 호스트(102)는 동기 직렬 포트(110)(또는 고속 포트(fast port))를 이용하여 휘발성 메모리(104)와 데이터를 주고받는다. 제 1 모드에 사용된 예시적인 신호는 이하에 보다 상세히 설명한다.
도 2b는 호스트(102)가 본 발명의 일실시에에 따른 비휘발성 메모리(108)에 액세스하는 제 2 동작 모드를 도시한 블록도이다. 호스트(102)가 비휘발성 메모리(108)에 액세스하는 경우, 호스트(102)는 호스트(102)가 마스터로서 작동함을 나타내는 신호를 공유 인터페이스(140) 상에 어서트한다. 또한, 호스트(102)는 공유 어드레스 및 제어 신호(112)를 사용하여 비휘발성 메모리 제어기(106)를 선택하고, 커맨드를 비휘발성 메모리 제어기(106)로 발행하며, 비휘발성 메모리(108) 내의 어드레스를 선택한다. 공유 인터페이스(140)를 통해 호스트(102)에 의해 제공된 커맨드 및/또는 어드레스에 응답하여, 비휘발성 메모리 제어기(106)는 예를 들어 비휘발성 메모리 인터페이스(132)를 통해 비휘발성 메모리(108) 내의 어드레스에 액세스할 수 있다. 일실시예에서는, 호스트(102)가 비동기 병렬 포트를 이용하여 호스트(102)와 비휘발성 메모리 제어기(106) 사이에서 비휘발성 메모리 제어기(106)에 의해 비휘발성 메모리(108)에 기록된 데이터 또는 비휘발성 메모리로부터 판독 된 데이터를 포함하는 데이터를 전달할 수 있다. 제 2 모드에 사용된 예시적인 신호는 이하에 보다 상세히 설명한다.
도 2c는 비휘발성 메모리 제어기(106)가 본 발명의 일실시예에 따른 휘발성 메모리(104)에 액세스하는 동작 모드를 도시한 블록도이다. 비휘발성 메모리 제어기(106)가 휘발성 메모리(104)에 액세스하는 경우, 비휘발성 메모리 제어기(106)는 비휘발성 메모리 제어기(106)가 공유 인터페이스(140)의 마스터임을 나타내는 신호를 공유 인터페이스 상에 어서트할 수 있다(예를 들면, 이로 인해 호스트(102)가 동시에 인터페이스(140)를 이용하지 못하도록 할 수 있다). 그러면, 비휘발성 메모리 제어기(106)는 공유 어드레스 및 제어 신호(112)를 이용하여 휘발성 메모리(104)를 선택하고, 커맨드를 휘발성 메모리(104)로 발행하며, 휘발성 메모리(104) 내의 어드레스를 선택할 수 있다. 일실시예에서는, 비휘발성 메모리 제어기(106)가 비동기 병렬 포트를 이용하여 비휘발성 메모리 제어기(106)와 휘발성 메모리(104) 사이에서 데이터를 전달할 수 있다.
일실시예에서는, 비휘발성 메모리 제어기가 비휘발성 메모리(108)와 휘발성 메모리(104) 사이에서 데이터를 전송할 수 있다. 예를 들면, 비휘발성 메모리(108)로부터 휘발성 메모리(104)로 데이터가 전송되는 경우, 비휘발성 메모리 제어기(106)는 비휘발성 메모리 인터페이스(132)를 이용하여 비휘발성 메모리(108)로부터 데이터를 판독한다. 그 다음에 비휘발성 메모리(108)로부터 판독된 데이터는 비휘발성 메모리 제어기(106)로부터 공유 인터페이스(140)를 통해 상기 휘발성 메모리(104)로 기록될 수 있다. 이와 유사하게, 데이터는 공유 인터페이스(140) 및 비휘발성 메모리 제어기(106)를 통해 휘발성 메모리(104)로부터 판독되고 비휘발성 메모리(108)에 기록될 수 있다. 어떤 경우에는, 비휘발성 메모리 제어기(106)를 이용하여 비휘발성 메모리(108)와 휘발성 메모리(104) 사이에서 DMA 전송을 수행할 수 있다. 제 3 모드에 이용되는 예시적인 신호는 아래에 보다 상세하게 설명한다.
예시적인 공유 인터페이스(Exemplary Shared Interface)
도 3은 본 발명의 일실시예에 따른 임베디드 시스템(100)용 공유 인터페이스(140)를 도시한 블록도이다. 도시된 바와 같이, 인터페이스(140)는 공유 어드레스 및 제어부(112) 및 동기 직렬 접속을 위한 접속(110)을 포함할 수 있다. 도시된 바와 같이, 인터페이스(140)는 호스트(102) 또는 비휘발성 메모리 제어기(106)에 접속될 수 있다.
일실시예에서, 동기 직렬 접속(110)을 위한 신호는 칩 선택 신호(CS#, #은 신호가 활성 로우(active-low)임을 나타냄), 클록 신호(CLK), 반전된 클록 신호(CLK#), 클록 인에이블 신호(CKE), 데이터 마스크 신호(DMs), 직렬 데이터 신호(DQ), 직렬 데이터 스트로브 신호(DQSs)를 포함할 수 있다.
공유 어드레스 및 제어 신호(112)는 휘발성 메모리(104)에 액세스하는데 사용된 휘발성 메모리 접속(320) 및 비휘발성 메모리 제어기(106)를 통해 비휘발성 메모리(108)에 액세스하는데 사용된 비휘발성 메모리 제어기 접속(322)을 포함할 수 있다. 일실시예에서, 휘발성 메모리 접속(320)은 기록 인에이블 신호(WE#), 컬럼 어드레스 스트로브 신호(CAS#), 로우 어드레스 스트로브 신호(RAS#), 컬럼 어드 레스 스트로브 신호(CAS#), 로우 어드레스 스트로브 신호(RAS#), 어드레스 버스(A[15:0]), 및 뱅크 어드레스 비트(BA[1],BA[0])를 포함할 수 있다.
도시된 바와 같이, 휘발성 메모리 접속(320)은 또한 비휘발성 메모리 접속(322)에 접속될 수 있다. WE# 접속은 비휘발성 메모리 접속(320) 및 휘발성 메모리 제어기 접속(322) 사이에 공유될 수 있고, CAS# 접속은 비휘발성 메모리 제어기 접속(322)을 위한 어드레스 래치 신호(ALE)와 공유될 수 있으며, RAS# 신호는 비휘발성 메모리 제어기 접속(322)을 위한 판독 인에이블 신호(RE#)와 공유될 수 있고, 어드레스 비트(A[15:0])는 비휘발성 메모리 제어기 접속(322)을 위한 다중화된 입력/출력 핀(IO[15:0])과 공유될 수 있으며, BA[1]은 비휘발성 메모리 제어기 접속(322)을 위한 칩 인에이블 신호(CE#)와 공유될 수 있고, BA[0]은 비휘발성 메모리 제어기 접속(322)을 위한 마스터 액세스 신호(MA#)와 공유될 수 있다. (예시적인 호스트 핀 번호를 갖고 있는) 대응하는 공유된 접속을 아래 표 1에 나타내었다.
Figure 112007011893823-PAT00001
본 발명의 일실시예에서, 비휘발성 메모리 제어기(106)용의 칩 인에이블 신호(CE#)(306)는 공유 인터페이스(140)의 칩 인에이블 신호(CE#) 및 칩 선택 신호(CS#)로부터 논리적으로 유도될 수 있다.CE# 및 CS# 신호로부터 칩 인에이블 신호(CE#)(306)를 유도하면, 비휘발성 메모리 제어기(106)는 호스트(102)가 비휘발성 메모리 제어기(106)를 선택하고 있는 지 또는 휘발성 메모리(104)를 선택하고 있는 지의 여부를 판정할 수 있다. 어떤 경우에는, CE#(306) 신호가 CE# 및 CS# 신호로부터 유도되지 않으면, 비휘발성 메모리 제어기(106)가 선택되지 않는 경우에도 비휘발성 메모리 제어기(106)는 공유 어드레스 및 제어 신호(112)에 반응할 수 있다. 예를 들면, 칩 인에이블 신호(CE#)가 로우 로직 레벨로 하강하는 경우와 칩 선택 신호(CS#)가 하이 로직 레벨로 상승하는 경우(이에 따라 휘발성 메모리(104)를 선택해제), 비휘발성 메모리 제어기(104)는 선택될 수 있다(예를 들면, 칩 인에이블 신호(CE# 306)가 하강할 수 있다.
선택 회로는 CS# 신호를 반전시키는 NOT 게이트(302) 및 CE# 신호와 반전된 CS# 신호를 논리적 OR 연산하는 OR 게이트(304)를 포함할 수 있다. OR 게이트(304)의 출력은 CE# 신호(306)에 접속될 수 있다. 일실시예에서, 회로는 호스트, 휘발성 메모리(104), 또는 비휘발성 메모리 제어기(106)로부터 분리된 회로로서 제공될 수 있다. 선택적으로, 호스트(102) 또는 비휘발성 메모리 제어기(106)는 CE# 신호를 생성할 수 있으며, 필요한 신호는 신호(306)를 생성하는 칩의 여분의 핀 상에 입력 또는 출력된다. 공유 인터페이스에 있어서의 전송 모드 선택은 도 4 내지 5를 참조하여 보다 상세히 설명한다.
공유 인터페이스에서의 동작 모드 선택(Selecting a Mode of Operation in the Shared Interface)
본 발명의 일실시예에서, 호스트(102) 및 비휘발성 메모리 제어기(106)는 공유 인터페이스(140)의 CS#, CE#, MA# 신호를 사용하여 인터페이스(140)에 대한 마스터를 선택하고 공유 인터페이스(140)를 통해 어느 칩을 제어할 지를 선택할 수 있다.
도 4는 호스트를 이용하여 본 발명의 일실시예에 따른 공유 인터페이스(140)를 통해 메모리에 액세스하는 프로세스(400)를 도시한 순서도이다. 도시된 바와 같이, 프로세스(400)는 단계 402에서 시작하여 단계 404로 진행하며, 여기서 메모리(예를 들면, 휘발성 메모리(104) 또는 비휘발성 메모리(108))에 액세스하려는 요구를 수신한다. 이러한 요구는 외부 디바이스로부터 또는 호스트(102)에 의해 실행된 인스트럭션의 결과로서 수신될 수 있다.
요구가 수신되면, 단계 406에서 호스트(102)가 공유 인터페이스(140)의 마스터인 지에 대한 판정이 이루어진다. 이 판정은 예를 들면, 비휘발성 메모리 제어기(106)에 의해 출력된 MA# 비트를 검사하는 것에 의해 이루어질 수 있다. 만약 MA# 비트가 하강하면, 비휘발성 메모리 제어기(106)는 공유 인터페이스(140)의 마스터이고, 단계 408에서 비휘발성 메모리 제어기(106)에 의해 MA# 비트가 상승하여 비휘발성 메모리 제어기(106)가 더 이상 공유 인터페이스(140)의 마스터가 아님을 나타낼 때까지 호스트(102)는 대기한다.
호스트(102)가 공유 인터페이스(140)의 마스터가 되면, 단계 410에서 액세스가 휘발성 메모리(104)로 바뀌는 지의 여부를 판정한다. 액세스 요구가 휘발성 메모리(104)로 바뀌었다고 판정되면, 단계 420에서 호스트는 CE#를 어서트하고, CS#를 하강시킨다. CE#을 어서팅함으로써, 비휘발성 메모리 제어기(106)는 호스트(102)에 의해 선택해제된다. CS#을 하강시킴으로써, 휘발성 메모리(104)는 호스트(102)에 의해 선택된다. 그 다음에, 단계 422에서, 호스트(102)는 예를 들어 공유 인터페이스(140)의 공유 어드레스 및 제어 신호(112)를 통해 휘발성 메모리(104)로 액세스 커맨드를 발행한다. 그 다음에 단계 424에서, 휘발성 메모리(104)의 일부를 통해(예를 들면 동기 직렬 포트에 대한 접속(110)을 이용하여) 데이터 액세스가 이루어진다.
액세스 요구가 비휘발성 메모리(108)로 바뀌었다고 판정되면, 단계 412에서 호스트는 CE#을 하강시키고 CS#을 어서트한다. CE#을 하강시킴으로써, 비휘발성 메모리 제어기(106)는 호스트(102)에 의해 선택된다. CS#을 어서팅함으로써, 휘발성 메모리(104)는 호스트(102)에 의해 선택해제된다. 그 다음에 단계 414에서, 호스트(102)는 액세스 커맨드를 예를 들어 공유 인터페이스(140)의 공유 어드레스 및 제어 신호(112)를 통해 비휘발성 메모리 제어기(106)로 발행한다. 그 다음에 단계 416에서, 비휘발성 메모리 제어기(106)의 일부를 통해(예를 들면, 비동기 병렬 포트에 대한 비휘발성 메모리 제어기 접속(322)을 이용하여)데이터 액세스가 행해진다. 그 다음에 단계 430에서 프로세스(400)가 종료된다.
어떤 경우에는, 비휘발성 메모리 제어기(106)가 공유 인터페이스(140)의 마스터가 되어 비휘발성 메모리(108)와 휘발성 메모리(104) 사이에서 데이터 액세스를 수행한다. 예를 들면, 비휘발성 메모리 제어기(106)는 공유 인터페이스(140)를 이용하여 휘발성 메모리(104)로부터 데이터를 판독하여 비휘발성 메모리 인터페이스(132)를 이용하여 데이터를 비휘발성 메모리(108)에 기록한다. 비휘발성 메모리는 또한 비휘발성 메모리 인터페이스(132)를 이용하여 비휘발성 메모리(108)로부터 데이터를 판독하여 그 데이터를 공유 인터페이스(140)를 통해 휘발성 메모리(104)에 기록한다. 어떤 경우에는, 비휘발성 메모리 제어기(106)는 비휘발성 메모리(108)와 휘발성 메모리(104) 사이에서 DMA 전송을 수행한다.
도 5는 비휘발성 메모리 제어기(106)를 사용하여 본 발명의 일실시예에 따른 공유 인터페이스(140)를 통해 휘발성 메모리(104)에 액세스하는 프로세스(500)를 도시한 순서도이다. 이 프로세스는 단계 502에서 시작하여 (예를 들면, 비휘발성 메모리(108)와 휘발성 메모리(104) 사이의 데이터의)전송 실시 요구를 수신하는 단계 504로 진행한다. 단계 506에서, 비휘발성 메모리 제어기(106)는 CS#을 검사하고 만약 CS#이 하이 로직 레벨(예를 들면, 호스트(102)가 공유 버스를 사용하지 않음을 의미함)이면 MA# 신호를 하강시켜, 비휘발성 메모리 제어기(106)가 공유 인터페이스(140)의 마스터로 됨을 나타낸다. 비휘발성 메모리 제어기(106)가 공유 인터페이스(140)의 마스터가 된 후에, 비휘발성 메모리 제어기(106)는 공유 인터페이스(140)를 사용하여 비휘발성 메모리(108)(예를 들면 비휘발성 메모리 인터페이스(132)를 사용)로부터 휘발성 메모리(104)로의 전송을 수행한다. 비휘발성 메모리 제어기(106)는 예를 들어 비휘발성 메모리 제어기(106)의 비동기 병렬 포트로부터 휘발성 메모리(104)의 비동기 병렬 포트로 데이터를 전송한다. 비동기 포트는, 예를 들어 전송 신호를 어서팅 및 하강시킴으로써 비동기 포트로부터의 데이터가 그 포트로/로부터 비동기적으로 전송되며 클록 신호를 사용하여 데이터를 전송하는 동기 포트보다 느려지기 때문에 저속 포트(slow port)라고도 한다.
비휘발성 메모리 제어기(106)가 전송을 완료한 후에, 비휘발성 메모리 제어기(106)는 MA# 신호를 상승시키며, 이것은 비휘발성 메모리 제어기(106)가 더 이상 공유 인터페이스(140)의 마스터가 아님을 나타낸다. 그 다음에 단계 512에서 프로세스(500)는 종료된다.
비휘발성 메모리 제어기(106)는 어떤 경우에는 커맨드 및 데이터(예를 들면, 호스트(102)로부터의 액세스 커맨드)를 수신하고 커맨드 및 데이터(예를 들면, 휘발성 메모리(104)로의 액세스 커맨드)를 발행하는데 사용될 수 있고, 공유 인터페이스(140)에 대한 비휘발성 메모리 제어기(106)의 접속의 일부(예를 들면, 입력 또는 출력으로서 작용할 수 있는 양방향 접속)는 입력-출력 접속이 될 수 있다. 따라서, 예를 들어 각각의 비휘발성 메모리 제어기 접속(322)은 입력-출력 접속이 될 수 있다. 선택적으로, 비휘발성 메모리 제어기 접속(322)의 일부는 양방향 접속이다(예를 들면, WE#, ALE, RE#, IO[15:0] 버스와 같은 휘발성 메모리(104)의 비동기 포트에 대한 액세스를 제어하는데 필요한 핀들).
공유 인터페이스로 DMA 전송 실시(Performing DMA Transfers with the Shared Interface)
본 발명의 일실시예에 따르면, 공유 인터페이스(140)는 예를 들어 비휘발성 메모리(106)로부터 휘발성 메모리(104)로의 DMA 전송을 수행하는데 사용될 수 있다. 또한, 일부 경우에, DMA 전송은 후술하는 바와 같이 휘발성 메모리(108)로부터 비휘발성 메모리 제어기(106) 내의 버퍼로 행해질 수 있다. 휘발성 메모리로부터 비휘발성 메모리(104) 또는 버퍼로 코드 및/또는 데이터를 전송함으로써, 일반적으로 비휘발성 메모리(108)의 액세스 시간보다 더 빠른 휘발성 메모리(104)의 액세스 시간 때문에 코드 및/또는 데이터는, 일부 경우에 보다 빠르게 액세스될 수 있다(호스트(102)에 의해). 일부 경우에, 이러한 전송은 코드 섀도우잉(code shadowing)이라고도 하는데, 이는 전송된 데이터가 휘발성 메모리(104)로부터 액세스되는 동안 비휘발성 메모리(108) 및 휘발성 메모리(104) 내에 유지될 수 있기 때문이다.
DMA 전송을 수행하기 위해 공유 인터페이스를 이용하는 예로서, 일실시예에서는 호스트(102)가 공유 인터페이스(140)를 이용하여, 예를 들어 비휘발성 메모리(106) 내의 위치로부터 휘발성 메모리(104) 내의 위치로의 DMA 전송을 요구하는 DMA 커맨드를 비휘발성 메모리 제어기(106)로 발행한다. 각각의 DMA 커맨드는 예를 들어 비휘발성 메모리(108) 내의 소스 위치, 휘발성 메모리(104) 내의 수신지 위치, 전송할 코드의 크기를 포함할 수 있다.
비휘발성 메모리 제어기(106)가 DMA 커맨드를 수신할 때, 비휘발성 메모리 제어기(106)는 (예를 들어 MA# 신호를 하강시킴으로써) 공유 인터페이스의 제어를 담당할 수 있다. 그러면 비휘발성 메모리 제어기(106)는 비휘발성 메모리(108) 내의 소스 위치로부터 휘발성 메모리(104) 내의 수신지 위치로의 DMA 전송(예를 들면, DMA 회로(130)를 이용하여)을 수행할 수 있다. DMA 전송이 종료된 후에, 비휘발성 메모리 제어기(106)는 공유 인터페이스(140)의 제어를 그만두며(MA# 신호를 상승시킴으로써), 호스트(102)가 공유 인터페이스(140)를 통해 휘발성 메모리(104)로부터의 요청 데이터에 액세스할 수 있게 한다.
어떤 경우에는, 비휘발성 메모리 제어기(106)가 비휘발성 메모리(108)로부터 비휘발성 메모리 제어기(106) 내의 버퍼로의 DMA 전송을 수행할 수도 있다. 예를 들면, 도 1을 참조하여 설명한 바와 같이, 비휘발성 메모리 제어기(106)는 부트 코드 버퍼(120) 및 제어기 코드 버퍼(126)를 포함할 수 있다. 부트 시퀀스 동안에(예를 들면, 시스템(100)이 파워온되거나 리셋된 후에), 비휘발성 메모리 제어기(106)는 비휘발성 메모리(108)로부터 부트 코드 버퍼(120)로 부트 코드를 자동으로 카피하도록 구성될 수도 있다. 그러면 호스트(102)는 공유 인터페이스(140)를 통해 부트 코드 버퍼(120)에 액세스하여 부트 코드를 사용하여 시스템의 초기화 동작을 수행할 수 있다. 비휘발성 메모리 제어기(106)는 또한 비휘발성 메모리(108)로부터 제어기 코드 버퍼(126)로 제어기 코드를 자동으로 카피하도록 구성될 수도 있다. 그러면, 제어기 코드는 제어기 코어(128)가 제어기 동작을 수행하는 데 이용될 수 있다.
공유 인터페이스로 휘발성 메모리에 동시 액세스(Simultaneous Access to the Volatile Memory with the Shared Interface)
본 발명의 일실시예에서, 공유 인터페이스(140)는 휘발성 메모리(104)에 대한 복수의 동시 액세스를 수행하는데 이용될 수 있다. 휘발성 메모리(104)에 대해 복수의 동시 액세스가 가능해지면, 휘발성 메모리(104) 및 유효 메모리 폭(예를 들면 데이터가 휘발성 메모리(104)에 대해 판독 및 기록되는 속도)의 활용이 증가할 것이다.
예를 들면, 공유 인터페이스(140)의 제 1 부분을 통해 제 1 액세스 커맨드가 휘발성 메모리 내의 제 1 뱅크로 발행될 수 있다. 제 1 액세스 커맨드가 수행되는 동안, 제 2 액세스 커맨드가 공유 인터페이스(140)의 제 2 부분을 통해 휘발성 메모리 내의 제 2 뱅크로 발행될 수 있다. 어떤 경우에는, 공유 인터페이스(140)의 별개의 부분을 통해 별개의 커맨드를 발행하고 별개의 제어 하드웨어를 이용하며(예를 들면, 제 1 커맨드는 판독 커맨드이고 제 2 커맨드는 기록 커맨드이거나 또는 그 반대일 수도 있다) 휘발성 메모리(104)의 별개의 부분에 액세스하는(예를 들면, 별개의 뱅크가 액세스될 수 있다) 커맨드를 발행함으로써, 예를 들어 공유 인터페이스의 임의의 라인에 대한 경합 및/또는 휘발성 메모리(104)의 자원에 대한 경합없이 휘발성 메모리(104)에 대한 동시 액세스가 성공적으로 수행될 수 있다.
도 6은 본 발명의 일실시예에 따른 공유 인터페이스(140)를 통해 휘발성 메모리(104)에 동시 액세스를 수행하는 하드웨어를 도시한 블록도이다. 도시된 바와 같이, 휘발성 메모리(104)는 동기 포트(602)(예를 들면, 고속 포트), 어레이 액세스 디코드 회로(604), 어드레스 래치 회로(606), 비동기 포트(608)(예를 들면, 저속 포트)를 포함할 수 있다. 전술한 바와 같이, 휘발성 메모리(104)의 비동기 포트(608)는 비휘발성 메모리 제어기(106)의 비동기 포트(620)에 접속될 수 있다. 동기 포트(602)는 공유 인터페이스(140)의 동기 직렬 접속(110)에 접속될 수 있다. 어레이 어드레스 디코더 회로(604)는 주어진 커맨드에 의해 어느 메모리 어레이(616) 및 뱅크(예를 들면, 뱅크 0, 뱅크 1, 뱅크 2, 뱅크 3 등)가 액세스되는 지를 판정하는데 이용될 수 있다. 어드레스 래치 회로(606)는 액세스되는 어드레스(예를 들면, 공유 인터페이스(140)의 공유 어드레스 및 제어 라인(112)을 통해 호스트(102) 또는 비휘발성 메모리 제어기(106)에 의해 제공된 어드레스)를 래치하는데 이용될 수 있다.
휘발성 메모리(104)는 또한 어드레스 디코더(610), 동기 액세스 회로(612) 및 비동기 액세스 회로(614)를 포함할 수 있다. 어드레스 디코더(610)는 어드레스 래치 회로(606)에 의해 래치된 어드레스를 디코드하는데 이용될 수 있다. 동기 액세스 회로(612)는 동기 포트(602)를 통한 데이터 액세스를 수행하는데 이용될 수 있고, 비동기 액세스 회로(614)는 비동기 포트(608)를 통한 데이터 액세스를 수행하는데 이용될 수 있다.
휘발성 메모리(104)에 대한 동기 액세스를 수행하는 예로서, 휘발성 메모리(104)는 (예를 들어 어드레스 래치 회로(606)를 이용하여)공유 인터페이스(140)를 통해 호스트(102)로부터 제 1 판독 커맨드에 대한 어드레스를 수신하여 래치할 수 있다. 판독 커맨드가 수신된 후에, 판독 커맨드는 (예를 들어 어레이 액세스 디코드 회로(604) 및 어드레스 디코더(610)를 이용하여)디코딩될 수 있다. 그 다음에, 동기 액세스 회로(612) 및 호스트(102)에 의해 판독되는 데이터를 전송하기 위한 동기 포트(602)를 사용하여 예를 들어 메모리 어레이(616)의 뱅크 0으로부터의 판독 커맨드가 수행된다.
판독 커맨드가 수행되는 동안에, 비휘발성 메모리 제어기(106)로부터 공유 인터페이스(140)를 통해 휘발성 메모리로 기록 커맨드(예를 들어 비휘발성 메모리(108)로부터 휘발성 메모리(104)로 데이터를 기록하는 커맨드)가 수신될 수 있다. 휘발성 메모리(104)는 예를 들어 어드레스 래치 회로(606)를 이용하여 호스트(102)로부터 공유 인터페이스(140)를 통해 제 1 기록 커맨드에 대한 어드레스를 수신하여 래치할 수 있다. 기록 커맨드가 수신된 후에, 예를 들어 어레이 액세스 디코드 회로(604) 및 어드레스 디코더(610)를 사용하여 기록 커맨드가 디코딩될 수 있다. 그 다음에, 기록 커맨드는 비동기 액세스 회로(612) 및 휘발성 메모리(104)에 기록될 데이터를 전송하기 위한 비동기 포트(608)를 사용하여 예를 들어 메모리 어레이의 뱅크 2로부터 수행될 수 있다. 따라서, 제 1 판독 커맨드 및 제 1 기록 커맨드가 동시에 수행될 수 있다.
어떤 경우에는, 호스트(102)가 동시에 커맨드를 발행하기 전에 비휘발성 메모리 제어기(106)가 커맨드를 발행할 수도 있다. 또한, 어떤 경우에는, 비휘발성 메모리 제어기(106)가 판독을 수행하는 동안, 호스트(102)는 기록을 수행한다. 선택적으로는, 액세스 커맨드 외에 예를 들어 리프레시 커맨드 또는 휘발성 메모리(104)의 모드 레지스터를 변경하는 커맨드와 같은 다른 커맨드가 발행되어 휘발성 메모리(104)에 의해 동시에 수행될 수도 있다.
이상 본 발명의 실시예에 대해 설명하였지만, 본 발명의 범주로부터 벗어나지 않고 본 발명의 다른 추가적인 실시예가 안출될 수도 있다. 따라서 본 발명의 범위는 첨부한 청구범위에 의해 규정된다.
본 발명에 따르면, 임베디드 컴퓨터 시스템에서 호스트, 비휘발성 메모리 제어기 및 휘발성 메모리를 인터페이싱하는 개선된 시스템 및 방법이 제공된다.

Claims (32)

  1. 공유 인터페이스를 통해 비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는 방법에 있어서,
    상기 공유 인터페이스의 공유 제어 신호를 통해 상기 비휘발성 메모리 제어기 및 상기 휘발성 메모리 중 하나를 선택하는 단계 -상기 공유 제어 신호는 상기 비휘발성 메모리 제어기 및 상기 휘발성 메모리로 발행됨- 와,
    상기 공유 제어 신호를 통해 상기 비휘발성 메모리 제어기 및 상기 휘발성 메모리 중 상기 선택된 하나에 커맨드를 발행하는 단계를 포함하는
    액세스 방법.
  2. 제 1 항에 있어서,
    상기 비휘발성 메모리 제어기 및 상기 휘발성 메모리 중 상기 선택된 하나로부터 데이터를 수신하는 단계를 더 포함하는
    액세스 방법.
  3. 제 2 항에 있어서,
    상기 비휘발성 메모리 제어기가 선택되는 경우, 상기 커맨드는 상기 공유 제 어 신호를 통해 상기 비휘발성 메모리 제어기로 발행되고, 상기 데이터는 상기 비휘발성 메모리 제어기의 비동기 포트를 통해 수신되는
    액세스 방법.
  4. 제 2 항에 있어서,
    상기 휘발성 메모리가 선택되는 경우, 상기 커맨드는 상기 공유 제어 신호를 통해 상기 휘발성 메모리로 발행되고, 상기 데이터는 상기 휘발성 메모리의 동기 포트를 통해 수신되는
    액세스 방법.
  5. 제 1 항에 있어서,
    상기 비휘발성 메모리 제어기에 의해 어서팅(asserting)된 마스터 신호를 검출하는 단계를 더 포함하되,
    상기 비휘발성 메모리 제어기가 비휘발성 메모리와 상기 휘발성 메모리 사이에서 데이터를 전송하는 동안에 상기 마스터 신호는 상기 비휘발성 메모리 제어기가 상기 공유 인터페이스의 마스터로서 작용함을 나타내는
    액세스 방법.
  6. 비휘발성 메모리 제어기를 통해 비휘발성 메모리에 액세스하는 방법에 있어서,
    비휘발성 메모리 인터페이스를 통해 상기 비휘발성 메모리에 액세스 커맨드를 발행하는 단계와,
    상기 비휘발성 메모리 인터페이스를 통해 데이터를 수신하는 단계와,
    공유 인터페이스의 공유 제어 신호를 사용하여 상기 수신된 데이터를 전송하는 단계를 포함하되,
    상기 공유 제어 신호는 호스트 프로세서 및 휘발성 메모리로 발행되고, 상기 수신된 데이터는 상기 호스트 프로세서 및 상기 휘발성 메모리 중 하나로 전송되는
    액세스 방법.
  7. 제 6 항에 있어서,
    상기 공유 인터페이스의 공유 제어 신호를 통해 수신된 선택 신호를 검출하는 단계와,
    상기 선택 신호에 응답하여, 상기 공유 인터페이스의 공유 제어 신호를 통해 제 1 커맨드를 수신하는 단계를 더 포함하되,
    상기 액세스 커맨드는 상기 제 1 커맨드에 응답하여 발행되는
    액세스 방법.
  8. 제 7 항에 있어서,
    상기 제 1 커맨드는 상기 호스트 프로세서에 의해 발행되고, 상기 수신된 데이터는 상기 제 1 커맨드에 응답하여 상기 호스트 프로세서로 전송되는
    액세스 방법.
  9. 제 6 항에 있어서,
    상기 수신된 데이터는 상기 휘발성 메모리의 비동기 포트를 통해 상기 휘발성 메모리로 전송되는
    액세스 방법.
  10. 제 9 항에 있어서,
    상기 수신된 데이터를 전송하기 전에, 상기 공유 인터페이스의 상기 공유 제어 신호에 대한 마스터 신호를 어서팅(asserting)하는 단계를 더 포함하되,
    상기 마스터 신호는 상기 비휘발성 메모리 제어기가 상기 공유 인터페이스의 마스터임을 나타내는
    액세스 방법.
  11. 제 10 항에 있어서,
    상기 전송은 상기 호스트 프로세서로부터의 제 1 커맨드에 응답하여 수행된 DMA(direct memory access) 전송인
    액세스 방법.
  12. 휘발성 메모리와,
    비휘발성 메모리와,
    비휘발성 메모리 인터페이스를 통해 상기 비휘발성 메모리에 액세스하도록 구성된 비휘발성 메모리 제어기와,
    공유 제어 신호를 포함하는 공유 인터페이스 -상기 공유 제어 신호는 상기 공유 인터페이스를 통해 상기 비휘발성 메모리 제어기 및 상기 휘발성 메모리에 의해 수신됨- 와,
    상기 비휘발성 메모리 제어기 및 상기 휘발성 메모리 중 하나를 선택하고,
    상기 공유 인터페이스의 상기 공유 제어 신호를 통해 상기 비휘발성 메모리 제어기 및 상기 휘발성 메모리 중 선택된 하나에 액세스 커맨드를 발행하도록 구성된
    호스트 프로세서를 포함하는
    시스템.
  13. 제 12 항에 있어서,
    상기 휘발성 메모리는
    상기 휘발성 메모리가 상기 호스트 프로세서에 의해 선택되는 지의 여부를 판정하고,
    만약 상기 휘발성 메모리가 상기 호스트 프로세서에 의해 선택되면
    상기 공유 인터페이스의 상기 공유 제어 신호를 통해 상기 액세스 커맨드를 수신하고,
    동기 포트를 통해 상기 호스트 프로세서로 데이터를 전송하도록 구성되는
    시스템.
  14. 제 12 항에 있어서,
    상기 비휘발성 메모리 제어기는 또한
    상기 비휘발성 메모리 제어기가 상기 호스트 프로세서에 의해 선택되는 지의 여부를 판정하고,
    만약 상기 비휘발성 메모리 제어기가 상기 호스트 프로세서에 의해 선택되 면,
    상기 공유 인터페이스의 상기 공유 제어 신호를 통해 상기 액세스 커맨드를 수신하고,
    상기 액세스 커맨드를 수신하는 것에 응답하여 상기 비휘발성 메모리 내의 데이터에 액세스하도록 구성되는
    시스템.
  15. 제 14 항에 있어서,
    상기 비휘발성 메모리 제어기는 또한 상기 호스트 프로세서의 비동기 포트를 통해 상기 호스트 프로세서에 상기 액세스된 데이터를 전송하도록 구성되는
    시스템.
  16. 제 14 항에 있어서,
    상기 비휘발성 메모리 제어기는 또한
    상기 액세스 커맨드를 수신하는 것에 응답하여
    상기 비휘발성 메모리 제어기가 상기 공유 인터페이스의 마스터임을 나타내는 마스터 신호를 어서트하고,
    상기 휘발성 메모리의 비동기 포트를 통해 상기 비휘발성 메모리로부 터 상기 휘발성 메모리로 상기 액세스된 데이터의 DMA 전송을 수행하도록 구성되는
    시스템.
  17. 비휘발성 메모리 제어기로서,
    비휘발성 메모리 인터페이스와,
    호스트 프로세서에 의해 상기 비휘발성 메모리 및 휘발성 메모리로 발행된 공유 제어 신호를 수신하는 공유 인터페이스와,
    상기 공유 제어 신호가, 상기 비휘발성 메모리 제어기가 상기 공유 인터페이스를 통해 선택됨을 나타내는 지의 여부를 판정하고,
    만약 상기 공유 제어 신호가, 상기 비휘발성 메모리 제어기가 상기 공유 인터페이스를 통해 선택됨을 나타내면,
    상기 공유 인터페이스의 공유 제어 신호를 통해 액세스 커맨드를 수신하고,
    상기 액세스 커맨드를 수신하는 것에 응답하여, 상기 비휘발성 메모리 인터페이스를 통해 액세스 커맨드를 비휘발성 메모리로 발행하며,
    상기 비휘발성 메모리 인터페이스를 통해 상기 비휘발성 메모리로부터 요구된 데이터를 수신하도록 구성된
    회로를 포함하는
    비휘발성 메모리 제어기.
  18. 제 17 항에 있어서,
    상기 회로는 또한 상기 요구된 데이터를 상기 공유 인터페이스를 통해 상기 호스트 프로세서로 전송하도록 구성된
    비휘발성 메모리 제어기.
  19. 제 18 항에 있어서,
    상기 회로는 또한 상기 요구된 데이터를 상기 휘발성 메모리의 비동기 포트를 통해 상기 휘발성 메모리로 전송하도록 구성된
    비휘발성 메모리 제어기.
  20. 제 19 항에 있어서,
    상기 회로는 또한 상기 요구된 데이터를 상기 휘발성 메모리로 전송하기 전에 상기 공유 인터페이스의 상기 공유 제어 신호에 대한 마스터 신호를 어서트하되, 상기 마스터 신호는 상기 비휘발성 메모리 제어기가 상기 공유 인터페이스의 마스터임을 나타내는
    비휘발성 메모리 제어기.
  21. 휘발성 메모리로서,
    공유 인터페이스를 통해 수신된 공유 제어 신호와,
    동기 포트와,
    비동기 포트와,
    상기 공유 제어 신호를 통해 제 1 커맨드를 수신하고,
    상기 공유 제어 신호를 통해 상기 제 1 커맨드를 수신하는 것에 응답하여, 상기 동기 포트를 통해 데이터를 전송하며,
    상기 공유 제어 신호를 통해 제 2 커맨드를 수신하고,
    상기 공유 제어 신호를 통해 상기 제 2 커맨드를 수신하는 것에 응답하여, 상기 비동기 포트를 통해 데이터를 전송하도록 구성된
    회로를 포함하는
    휘발성 메모리.
  22. 제 21 항에 있어서,
    상기 휘발성 메모리는 상기 공유 제어 신호가 상기 휘발성 메모리가 선택됨을 나타내면 상기 제 1 및 제 2 커맨드를 수신하도록 구성된
    휘발성 메모리.
  23. 제 21 항에 있어서,
    상기 휘발성 메모리는 상기 제 1 및 제 2 커맨드에 대한 액세스를 동시에 수행하도록 구성되는
    휘발성 메모리.
  24. 제 23 항에 있어서,
    상기 휘발성 메모리는, 상기 제 1 커맨드가 제 1 메모리 뱅크에 액세스하고 상기 제 2 커맨드가 제 2 메모리 뱅크에 액세스할 때 상기 제 1 및 제 2 커맨드에 대한 액세스를 동시에 수행하도록 구성되는
    휘발성 메모리.
  25. 휘발성 저장 수단과,
    비휘발성 저장 수단과,
    비휘발성 메모리 인터페이싱 수단을 통해 상기 비휘발성 저장 수단에 액세스하도록 구성된 제어 수단과,
    공유 제어 신호를 포함하는 공유 인터페이싱 수단 -상기 공유 제어 신호는 상기 공유 인터페이싱 수단을 통해 상기 제어 수단 및 상기 휘발성 저장 수단에 의 해 수신됨- 과,
    상기 제어 수단 및 상기 저장 수단 중 하나를 선택하고,
    상기 공유 인터페이싱 수단의 상기 공유 제어 신호를 통해 상기 제어 수단 및 상기 휘발성 저장 수단 중 선택된 하나에 액세스 커맨드를 발행하도록 구성된
    처리 수단을 포함하는
    시스템.
  26. 제 25 항에 있어서,
    상기 휘발성 저장 수단은
    상기 휘발성 저장 수단이 상기 처리 수단에 의해 선택되는 지의 여부를 판정하고,
    상기 휘발성 저장 수단이 상기 처리 수단에 의해 선택되면
    상기 공유 인터페이싱 수단의 상기 공유 제어 신호를 통해 상기 액세스 커맨드를 수신하고,
    비동기 전송 수단을 통해 상기 처리 수단으로 데이터를 전송하도록 구성되는
    시스템.
  27. 제 25 항에 있어서,
    상기 제어 수단은 또한
    상기 제어 수단이 상기 처리 수단에 의해 선택되는 지의 여부를 판정하고,
    상기 제어 수단이 상기 처리 수단에 의해 선택되면
    상기 공유 인터페이싱 수단의 상기 공유 제어 신호를 통해 상기 액세스 커맨드를 수신하고,
    상기 액세스 커맨드를 수신하는 것에 응답하여 상기 비휘발성 저장 수단 내의 데이터에 액세스하도록 구성되는
    시스템.
  28. 제 27 항에 있어서,
    상기 제어 수단은 또한 상기 액세스된 데이터를 상기 처리 수단으로 전송하는 비동기 수단을 통해 상기 처리 수단으로 전송하도록 구성되는
    시스템.
  29. 제 27 항에 있어서,
    상기 제어 수단은 또한
    상기 액세스 커맨드를 수신하는 것에 응답하여
    상기 제어 수단이 상기 공유 인터페이싱 수단의 마스터임을 나타내는 마스터 신호를 어서터하고,
    상기 휘발성 저장 수단의 비동기 전송 수단을 통해 상기 비휘발성 저장 수단으로부터 상기 휘발성 저장 수단으로 상기 액세스된 데이터의 DMA 전송을 수행하도록 구성되는
    시스템.
  30. 공유 인터페이스를 통해 비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는 방법에 있어서,
    상기 공유 인터페이스의 공유 제어 신호를 통해 상기 비휘발성 메모리 제어기 및 상기 휘발성 메모리 중 하나를 선택하는 단계 -상기 공유 제어 신호는 상기 비휘발성 메모리 제어기 및 상기 휘발성 메모리로 발행됨- 와,
    상기 공유 제어 신호를 통해 상기 비휘발성 메모리 제어기 및 상기 휘발성 메모리 중 선택된 하나로 커맨드를 발행하는 단계와,
    상기 비휘발성 메모리 제어기 및 상기 휘발성 메모리 중 상기 선택된 하나로부터 데이터를 수신하는 단계를 포함하되,
    상기 데이터는, 상기 비휘발성 메모리 제어기가 선택되면 상기 비휘발성 메모리 제어기의 제 1 포트를 통해 수신되고, 상기 휘발성 메모리가 선택되면 상기 휘발성 메모리의 제 2 포트를 통해 수신되는
    액세스 방법.
  31. 제 30 항에 있어서,
    상기 제 1 포트는 저속 포트(slow port)이고, 상기 제 2 포트는 고속 포트(fast port)이며, 상기 고속 포트는 상기 저속 포트에 비해 더 빠른 데이터 전송 레이트를 제공하는
    액세스 방법.
  32. 제 30 항에 있어서,
    상기 제 1 포트는 비동기 포트이고, 상기 제 2 포트는 동기 포트인
    액세스 방법.
KR1020070013277A 2006-02-08 2007-02-08 비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는방법 및 시스템, 비휘발성 메모리 제어기 및 휘발성 메모리 KR100868393B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/349,631 2006-02-08
US11/349,631 US7451263B2 (en) 2006-02-08 2006-02-08 Shared interface for components in an embedded system

Publications (2)

Publication Number Publication Date
KR20070080844A true KR20070080844A (ko) 2007-08-13
KR100868393B1 KR100868393B1 (ko) 2008-11-11

Family

ID=38335344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070013277A KR100868393B1 (ko) 2006-02-08 2007-02-08 비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는방법 및 시스템, 비휘발성 메모리 제어기 및 휘발성 메모리

Country Status (4)

Country Link
US (1) US7451263B2 (ko)
JP (1) JP4593575B2 (ko)
KR (1) KR100868393B1 (ko)
CN (1) CN101038531A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130114317A (ko) * 2012-04-09 2013-10-17 삼성전자주식회사 분할 어드레싱 방식 자기 랜덤 액세스 메모리 장치

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490177B2 (en) * 2006-01-23 2009-02-10 Infineon Technologies Ag System method for performing a direct memory access for automatically copying initialization boot code in a new memory architecture
US20080010420A1 (en) * 2006-07-06 2008-01-10 Rom-Shen Kao Method for Accessing Control Registers via a Memory Device
US20080007569A1 (en) * 2006-07-06 2008-01-10 Rom-Shen Kao Control protocol and signaling in a new memory architecture
US7441070B2 (en) * 2006-07-06 2008-10-21 Qimonda North America Corp. Method for accessing a non-volatile memory via a volatile memory interface
US20080010419A1 (en) * 2006-07-06 2008-01-10 Rom-Shen Kao System and Method for Issuing Commands
US20080147940A1 (en) * 2006-12-18 2008-06-19 Rom-Shen Kao Method and apparatus for controlling a shared bus
US20090182977A1 (en) * 2008-01-16 2009-07-16 S. Aqua Semiconductor Llc Cascaded memory arrangement
WO2009111175A1 (en) * 2008-03-06 2009-09-11 Rambus Inc. Error detection and offset cancellation during multi-wire communication
WO2010011534A1 (en) * 2008-07-23 2010-01-28 Rambus Inc. Reconfigurable memory controller
US8566506B2 (en) * 2009-08-07 2013-10-22 Intel Corporation Tracking a lifetime of write operations to a non-volatile memory storage
US8527664B2 (en) * 2009-12-17 2013-09-03 International Business Machines Corporation Direct memory access with minimal host interruption
JP2012063874A (ja) * 2010-09-14 2012-03-29 Toshiba Corp チップセレクト信号を切り替えるセレクタ、ストレージ装置、及び電子機器
US8607089B2 (en) 2011-05-19 2013-12-10 Intel Corporation Interface for storage device access over memory bus
US20140164659A1 (en) * 2012-12-06 2014-06-12 Wasim Quddus Regulating access to slave devices
CN104063338B (zh) * 2013-03-18 2018-05-29 华邦电子股份有限公司 存取系统及存储装置
US10338826B2 (en) * 2013-10-15 2019-07-02 Cypress Semiconductor Corporation Managed-NAND with embedded random-access non-volatile memory
KR102094393B1 (ko) 2013-11-18 2020-03-27 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
KR102501753B1 (ko) * 2015-10-30 2023-02-21 삼성전자주식회사 고속 부팅을 제공하는 비휘발성 메모리 장치 및 이를 포함하는 시스템
US10331586B2 (en) * 2015-10-30 2019-06-25 Samsung Electronics Co., Ltd. Nonvolatile memory device for providing fast booting and system including the same
US11301403B2 (en) * 2019-03-01 2022-04-12 Micron Technology, Inc. Command bus in memory

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04311895A (ja) * 1991-04-11 1992-11-04 Hitachi Ltd Icメモリ
US5359569A (en) 1991-10-29 1994-10-25 Hitachi Ltd. Semiconductor memory
JP3434106B2 (ja) * 1995-12-01 2003-08-04 シャープ株式会社 半導体記憶装置
US6134631A (en) * 1996-08-19 2000-10-17 Hyundai Electronics America, Inc. Non-volatile memory with embedded programmable controller
US6055609A (en) * 1997-06-19 2000-04-25 Chips & Technologies, Inc. Apparatus and method for improving bus usage in a system having a shared memory
JP2001142712A (ja) * 1999-11-12 2001-05-25 Nec Ic Microcomput Syst Ltd 起動制御装置
DE19957181A1 (de) * 1999-11-27 2001-05-31 Bosch Gmbh Robert Verfahren und Vorrichtung zur Ansteuerung wenigstens eines Verbrauchers
US6681310B1 (en) * 1999-11-29 2004-01-20 Microsoft Corporation Storage management system having common volume manager
JP3871184B2 (ja) * 2000-06-12 2007-01-24 シャープ株式会社 半導体記憶装置
JP2002312232A (ja) * 2001-04-10 2002-10-25 Mitsubishi Electric Corp 半導体記憶装置
TWI240864B (en) 2001-06-13 2005-10-01 Hitachi Ltd Memory device
US20030014687A1 (en) * 2001-07-10 2003-01-16 Grandex International Corporation Nonvolatile memory unit comprising a control circuit and a plurality of partially defective flash memory devices
KR100393619B1 (ko) * 2001-09-07 2003-08-02 삼성전자주식회사 휴대 단말기의 메모리 장치 및 그 제어방법
JP3756818B2 (ja) * 2002-01-09 2006-03-15 株式会社メガチップス メモリ制御回路および制御システム
JP2004102508A (ja) * 2002-09-06 2004-04-02 Renesas Technology Corp 半導体記憶装置
JP4463503B2 (ja) * 2003-07-15 2010-05-19 株式会社ルネサステクノロジ メモリモジュール及びメモリシステム
US7752380B2 (en) 2003-07-31 2010-07-06 Sandisk Il Ltd SDRAM memory device with an embedded NAND flash controller
JP4197285B2 (ja) * 2003-09-11 2008-12-17 株式会社デジタル メモリコントローラ
US6828822B1 (en) * 2003-10-03 2004-12-07 Altera Corporation Apparatus and methods for shared memory interfaces in programmable logic devices
US7242389B1 (en) * 2003-10-07 2007-07-10 Microsoft Corporation System and method for a large format collaborative display for sharing information
US7139909B2 (en) 2003-10-16 2006-11-21 International Business Machines Corporation Technique for system initial program load or boot-up of electronic devices and systems
DE102004004796B4 (de) 2004-01-30 2007-11-29 Infineon Technologies Ag Vorrichtung zur Datenübertragung zwischen Speichern
US20060294295A1 (en) 2005-06-24 2006-12-28 Yukio Fukuzo DRAM chip device well-communicated with flash memory chip and multi-chip package comprising such a device
US7404136B2 (en) 2005-07-15 2008-07-22 Infineon Technologies Ag Semiconductor memory device including a signal control device and method of operating the same
US7426607B2 (en) * 2005-08-05 2008-09-16 Infineon Technologies Ag Memory system and method of operating memory system
US7415581B2 (en) 2005-10-04 2008-08-19 Infineon Technologies Ag Semiconductor memory chip
US7221615B2 (en) 2005-10-04 2007-05-22 Infineon Technologies Ag Semiconductor memory chip
US7490177B2 (en) 2006-01-23 2009-02-10 Infineon Technologies Ag System method for performing a direct memory access for automatically copying initialization boot code in a new memory architecture
US20080010419A1 (en) 2006-07-06 2008-01-10 Rom-Shen Kao System and Method for Issuing Commands
US7441070B2 (en) 2006-07-06 2008-10-21 Qimonda North America Corp. Method for accessing a non-volatile memory via a volatile memory interface
US20080007569A1 (en) 2006-07-06 2008-01-10 Rom-Shen Kao Control protocol and signaling in a new memory architecture
US20080010420A1 (en) 2006-07-06 2008-01-10 Rom-Shen Kao Method for Accessing Control Registers via a Memory Device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130114317A (ko) * 2012-04-09 2013-10-17 삼성전자주식회사 분할 어드레싱 방식 자기 랜덤 액세스 메모리 장치

Also Published As

Publication number Publication date
JP4593575B2 (ja) 2010-12-08
US20070186061A1 (en) 2007-08-09
CN101038531A (zh) 2007-09-19
US7451263B2 (en) 2008-11-11
JP2007220110A (ja) 2007-08-30
KR100868393B1 (ko) 2008-11-11

Similar Documents

Publication Publication Date Title
KR100868393B1 (ko) 비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는방법 및 시스템, 비휘발성 메모리 제어기 및 휘발성 메모리
US7441070B2 (en) Method for accessing a non-volatile memory via a volatile memory interface
CN109154918B (zh) 自刷新状态机mop阵列
TWI420302B (zh) 用於具有單一介面的混合式記憶裝置的方法、系統和計算裝置,及用於記錄相關指令於其內的電腦可讀取媒體
US7411859B2 (en) Multi-port memory device for buffering between hosts
US20080010420A1 (en) Method for Accessing Control Registers via a Memory Device
KR100847968B1 (ko) 컴퓨팅 시스템, 전자 통신 디바이스, 컴퓨팅 시스템 운영 방법 및 정보 처리 방법
US7957209B2 (en) Method of operating a memory apparatus, memory device and memory apparatus
US20080010419A1 (en) System and Method for Issuing Commands
KR20070066398A (ko) 포트상태 시그날링 기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치
US20080147940A1 (en) Method and apparatus for controlling a shared bus
US8468281B2 (en) Apparatus to improve bandwidth for circuits having multiple memory controllers
US10991418B2 (en) Semiconductor memory device comprising an interface conforming to JEDEC standard and control device therefor
JP6710219B2 (ja) 統合プロセッサを備えたdram回路
BR102013022935A2 (pt) Dispositivo de memória flash serial de múltiplos fluxos de dados
US20080007569A1 (en) Control protocol and signaling in a new memory architecture
JP2011081553A (ja) 情報処理装置及びその制御方法
US20170147230A1 (en) Memory device and memory system having heterogeneous memories
US7986582B2 (en) Method of operating a memory apparatus, memory device and memory apparatus
TWI752838B (zh) 電子裝置、記憶體系統及傳送方法
US8006029B2 (en) DDR flash implementation with direct register access to legacy flash functions
JP6182528B2 (ja) 構成コマンドを伝えるためのメモリシステム及び方法
US20240302994A1 (en) Memory system
US11742004B2 (en) Memory supporting multiple types of operations

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131025

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151201

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee