KR20140019478A - 혼합된 유형의 메모리 장치를 동작시키는 시스템 및 방법 - Google Patents

혼합된 유형의 메모리 장치를 동작시키는 시스템 및 방법 Download PDF

Info

Publication number
KR20140019478A
KR20140019478A KR1020147001536A KR20147001536A KR20140019478A KR 20140019478 A KR20140019478 A KR 20140019478A KR 1020147001536 A KR1020147001536 A KR 1020147001536A KR 20147001536 A KR20147001536 A KR 20147001536A KR 20140019478 A KR20140019478 A KR 20140019478A
Authority
KR
South Korea
Prior art keywords
memory
type
address
devices
serial
Prior art date
Application number
KR1020147001536A
Other languages
English (en)
Other versions
KR101441280B1 (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
Priority claimed from US11/622,828 external-priority patent/US8271758B2/en
Priority claimed from US11/771,241 external-priority patent/US7925854B2/en
Application filed by 모사이드 테크놀로지스 인코퍼레이티드 filed Critical 모사이드 테크놀로지스 인코퍼레이티드
Publication of KR20140019478A publication Critical patent/KR20140019478A/ko
Application granted granted Critical
Publication of KR101441280B1 publication Critical patent/KR101441280B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control 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
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Information Transfer Systems (AREA)

Abstract

메모리 컨트롤러가 직렬 상호접속 구성의 메모리 장치들을 제어하는 메모리 시스템 아키텍쳐가 제공된다. 메모리 컨트롤러는 메모리 명령들을 전송하는 출력 포트 및 그들 메모리 명령에 대한 메모리 응답을 수신하고 그러한 응답을 요구하는 입력 포트를 갖는다. 각 메모리 장치는 예컨대, NAND형 플래시 메모리, NOR형 플래시 메모리, 랜덤 액세스 메모리 및 스태틱 랜덤 액세스 메모리를 포함한다. 각 메모리 명령은 타깃 메모리 장치의 메모리 유형에 특정된다. 메모리 명령들 및 메모리 응답들용의 데이터 경로는 상호접속에 의해 제공된다. 주어진 메모리 명령은 직렬 상호접속 구성의 의도된 메모리 장치에 도달하기 위해 메모리 장치들을 일주한다. 메모리 명령의 수취 시에, 의도된 메모리 장치는 주어진 메모리 명령을 실행하고, 적절한 다음의 메모리 장치에 메모리 응답을 전송한다. 메모리 응답은 메모리 컨트롤러에 보내어진다.

Description

혼합된 유형의 메모리 장치를 동작시키는 시스템 및 방법{SYSTEM AND METHOD OF OPERATING MEMORY DEVICES OF MIXED TYPE}
본 출원은 그 개시가 참고로 완전히 여기에 명백하게 통합되어 있는 2006년 12월 6일에 출원된 미국 가특허 출원 번호 60/868,773, 2006년 12월 20일에 출원된 미국 가특허 출원 번호 60/870,892, 2007년 1월 12일에 출원된 미국 특허 출원 번호 11/622,828, 2007년 6월 29일에 출원된 미국 특허 출원 번호 11/771,241의 이익을 청구한다.
본 발명은 일반적으로 반도체 장치 시스템에 관한 것이다. 더 구체적으로, 본 발명은 예를 들면 다양한 또는 혼합된 형태의 메모리 장치를 갖는 메모리 시스템 등의 반도체 장치를 제어하는 장치 및 방법에 관한 것이다.
컴퓨터-기반 시스템은 예를 들면 메모리 장치 및 처리 장치 등의 반도체 장치를 포함한다. 메모리는 컴퓨터의 CPU(Central Processing Unit)에 의해 구동되기를 대기하면서 정보가 저장되어 있는 곳이다. 메모리는 메모리 컨트롤러에 의해 제어되며, CPU의 일부를 형성하거나 CPU로부터 분리될 수 있다. 메모리 컨트롤러는 정보를 주고받기 위해 메모리와 인터페이스를 갖는다. 주지의 인터페이스는 병렬 인터페이스와 직렬 인터페이스를 포함한다.
병렬 인터페이스는 데이터의 판독 및 기록을 위해 다수의 핀을 사용한다. 그러나, 입력 핀과 와이어의 수가 증가하면서, 바람직하지 않은 효과도 많아진다. 이들 바람직하지 않은 효과는 심볼간 인터페이스, 신호 스큐(skew) 및 크로스토크(cross talk)를 포함한다. 그러므로, 본 기술에서는 메모리 모듈에 액세스하기 위해 입력 핀과 와이어의 수를 최소화하면서 증가된 메모리 용량 및/또는 동작 속도를 갖는 메모리 모듈이 요구되어 오고 있다.
직렬 인터페이스는 데이터를 판독 및 기록하는데 더 적은 수의 핀을 사용한다. 직렬 플래시 메모리는 현재 이용가능하지만, 매우 느린 경향이 있다. 예를 들면, 종래의 많은 메모리들은 SPI(Serial Peripheral Interface) 또는 PC(Inter-Integrated Circuit) 호환 인터페이스로 1MHz - 20MHz의 범위에서 동작하는 시리얼 버스 인터페이스 방식을 사용하고 있다. 그러나, 이들 직렬 인터페이스 표준은 그 병렬 인터페이스 표준보다 통상적으로 느리다.
도 1A, 1B, 1C, 1D를 참조하면, 4개의 1차 플래시 메모리 구조의 블록도가 도시되어 있다. 4개의 1차 플래시 메모리 구조는 도 1A에 도시된 바와 같은 종래의 XIP 모델, 도 1B에 도시된 바와 같은 섀도우 모델, 도 1C에 도시된 바와 같은 NAND를 갖는 저장-다운로드 모델, 도 1D에 도시된 바와 같은 하이브리드 NAND 플래시 메모리를 갖는 새로운 저장-다운로드 모델을 포함한다.
도 1A를 참고하면, 종래의 XIP 모델은 애플리케이션 프로세서(101)에 접속된, SRAM(Static Random Access Memory)이나 DRAM(Dynamic Random Access Memory)과 같은 휘발성 메모리(103)와, NOR 플래시 메모리(102)를 갖는다. XIP 모델에서, NOR 플래시 메모리(102)는 코드를 실행하는 반면, 휘발성 메모리(103)는 변수, 스택 및 히트 등의 연속적으로 변화하는 시스템 요소를 점유한다. XIP 모델에서, NOR 플래시 메모리(102)는 데이터 및 코드 스토리지를 또한 제공할 수 있다. XIP 모델의 장점은 간단하다는 것이지만, 그 단점은 기록 속도가 느리다는 것이다.
도 1B를 참조하면, 새도우 모델은 애플리케이션 프로세서(104)에 접속된 NOR 플래시 메모리(105), NAND 플래시 메모리(106), SRAM 또는 DRAM과 같은 휘발성 메모리(107)를 갖는다. 사용자는 NOR 플래시 메모리(105)로 시스템을 시동하고, 저장을 위해 NAND 플래시 메모리(106)를 사용한다. 휘발성 메모리(107)는 모든 실행을 처리한다. 새도우 모델은, 시스템을 시동만하는 것으로 비교적 값이 비싼 NOR 플래시 메모리(105)를 사용하는 값비싼 모델이다. 구조도 또한 약간 더 복잡하고, 이것은 보다 많은 설계 시간과 비용을 소비하는 것을 의미한다. 새도우 모델은 휘발성메모리가 연속적으로 액티브하기 때문에 또한 전력 소비적인 경향이 있다.
예를 들면 모바일 핸드헬드 장치에서 큰 요인인 공간 문제를 극복하기 위해서, 저장-다운로드 구조가 도 1C에 도시된 바와 같이 사용된다. 저장-다운로드 구조는 애플리케이션 프로세서(108)에 접속된 NAND 플래시 메모리(110), SRAM 또는 DRAM과 같은 휘발성 메모리(111)를 갖는다. 저장-다운로드 구조는 NOR 플래시 메모리를 가지지 않지만, 애플리케이션 프로세서(108)로 설계된 OTP(one-time-programmable) 저장매체(109) 또는 ROM(Read Only Memory) 코어가 있다. 애플리케이션 프로세서(108)는 휘발성 메모리(111)에 정보를 로드하고, 데이터 저장을 위해 NAND 플래시 메모리(110)에 액세스한다. 구조는 약간 더 복잡하고 초기 엔지니어링 비용을 보다 많이 요구하지만, 궁극적으로 시스템 단가는 덜 비싸다. 이 모델의 주요 어려움은 NAND 플래시 메모리가 일반적으로 신뢰성이 적기 때문에 사용자가 비싼 에러-보정 및 에러-검출 코딩을 사용해야 하는 것이다. RAM이 더 많은 액티브 역할을 하기 때문에 저장 및 다운로딩 설계는 보다 많은 전력을 요구하는 경향이 있다.
도 1D를 참조하면, 하이브리드 저장 및 다운로드 모델은, 애플리케이션 프로세서(112)에 접속된 하이브리드 NAND 플래시 메모리(113), SRAM 또는 DRAM과 같은 휘발성 메모리(114)를 갖는다. NOR 플래시 장치와 같이 보여지도록 메모리 장치를 생성하기 위해 하이브리드 NAND 플래시 메모리(113)는 SRAM, 제어 로직 및 NAND 플래시 메모리를 혼합한다. 하이브리드 모델은 표준 NAND 플래시 장치보다 더 빠르게, NOR 플래시 장치와 동일한 속도로 판독한다. 또한, 이것은 NOR 플래시 장치보다 더 나은 기록 성능을 제공한다. 하이브리드 NAND 플래시 메모리는 현재 이용가능하다. 하이브리드 모델은 표준 NAND 플래시 메모리를 갖는 저장-다운로드 모델보다 더 적은 에러 보정 및 에러 검출 코딩을 필요로 한다. 하이브리드 NAND 플래시 메모리의 단가는 동일한 밀도의 NOR 플래시 메모리보다 예를 들면 30~40% 더 적다. 단독형(stand-alone) NAND 플래시 메모리의 비용은 하이브리드 NAND 플래시 메모리보다 약간 적다.
4개의 주요 플래시 메모리 구조중 하나를 사용하는 메모리 시스템은 엔지니어링 설계, 소프트웨어 개발 및 검증에 더 많은 시간을 필요로 한다.
광의의 구성에 따르면, 변경되거나 혼합된 유형의 메모리 장치를 포함하는 시스템 또는 장치가 제공되며, 메모리 장치는 직렬 상호 접속되어 있으므로, 입력 데이터는 장치에서 장치로 직렬로 전송된다.
또 다른 광의의 구성에 따르면, 복수의 장치가 직렬로 상호접속되어 있는 혼합된 유형의 복수의 장치들의 직렬 상호접속 구성에서 사용하기 위한 반도체 장치가 제공된다. 직렬 상호접속 구성의 제1 장치는 직렬 입력을 수신한다. 직렬 입력은 직렬 상호접속 구성을 통해 전달된다. 직렬 입력은 장치 유형 식별(identification), 명령 및 장치 어드레스 식별을 포함한다. 장치는 장치 유형 식별 및 장치 어드레스 식별에 기초하여 명령을 실행한다.
반도체 장치는 수신된 직렬 입력에 응답하여 장치의 동작을 제어하는 장치 컨트롤러를 포함할 수 있다.
예를 들면, 반도체 장치는, 장치 유형 식별을 홀딩하는 장치 유형 홀더로서, 홀딩된 유형 식별은 장치의 유형을 나타내기 위해 제공되는 것인 장치 유형 홀더; 및 제공된 직렬 입력에 응답하여 할당된 장치 어드레스를 홀딩하는 어드레스 홀더로서, 할당된 어드레스는 장치의 어드레스의 표시를 위해 제공되는 것인 어드레스 홀더를 더 포함한다.
또 다른 광의의 구성에 따르면, 혼합된 유형의 복수의 장치들을 포함하는 시스템이 제공되며, 상기 장치들은 장치들이 직렬로 상호접속되어 있는 직렬 상호접속 구성으로 구성되어 있다. 각각의 장치들은 직렬 입력과 출력 접속을 갖는다. 시스템은 직렬 상호접속 구성의 제1 장치의 직렬 입력 접속에 직렬 입력을 제공하기 위한 직렬 출력 접속을 갖는 직렬 출력/입력 컨트롤러를 더 포함한다. 직렬 입력은 직렬 상호접속 구성을 통해 전달된다. 직렬 출력/입력 컨트롤러는 직렬 상호접속 구성의 최종 장치로부터 직렬 출력을 수신하는 직렬 입력 접속을 갖는다. 직렬 입력은 장치 유형 식별, 명령 및 장치 어드레스 식별을 포함한다.
예를 들면, 복수의 장치가 하나의 직렬 상호접속 구성으로 구성되며, 장치의 유형이 혼합된다. 각각의 장치는 수신된 직렬 입력에 응답하여 장치의 동작을 제어하는 장치 컨트롤러를 포함할 수 있다. 또한, 각각의 장치들은 장치에 할당되는 장치 어드레스를 나타내는 장치 어드레스 표시기; 및 그 장치의 장치 유형 식별을 나타내는 장치 유형 표시기를 더 포함할 수 있다.
또 다른 광의의 구성에 따르면, 혼합된 유형의 복수의 장치들을 동작시키는 방법이 제공되며, 장치들이 직렬로 상호접속되어 있는 적어도 하나의 직렬 상호접속 구성으로 장치들이 구성되어 있으며, 이 방법은, 직렬 상호접속 구성의 제1 장치에 직렬 입력을 제공하는 단계를 포함하며, 직렬 입력은 직렬 상호접속 구성을 통해 전달되고, 직렬 입력은 장치 유형 식별, 명령 및 장치 어드레스 식별을 포함한다.
이 방법은, 장치의 장치 유형 식별을 홀딩하는 단계; 및 제공된 직렬 입력에 응답하여 할당된 장치 어드레스를 홀딩하는 단계를 포함한다. 이 방법은 수신된 장치 유형 식별이 홀딩된 장치 유형 식별과 매치하는지를 판정하는 단계를 더 포함한다. 바람직하게는, 수신된 장치 유형 식별이 홀딩된 장치 유형 식별과 매치하면, 장치 유형 매치 결과가 제공되며, 수신된 장치 유형 식별이 홀딩된 장치 유형 식별과 매치하지 않으면, 장치 유형 비매치 결과가 제공된다.
이 방법은 수신된 장치 어드레스 식별이 홀딩된 장치 어드레스와 매치하는지를 판정하는 단계를 더 포함한다. 바람직하게, 수신된 장치 어드레스 식별이 홀딩된 장치 어드레스와 매치하면, 장치 어드레스 매치 결과가 제공되며, 수신된 장치 어드레스 식별이 홀딩된 장치 어드레스와 매치하지 않으면, 장치 어드레스 비매치 결과가 제공된다. 이 방법은 장치 유형 매치 결과 및 장치 어드레스 매치 결과에 응답하여 직렬 입력의 수신된 명령을 실행할 수 있다.
또 다른 광의의 구성에 따르면, 혼합된 유형의 복수의 장치들을 동작시키는 기기가 제공되며, 장치들이 직렬로 상호접속되어 있는 적어도 하나의 직렬 상호접속 구성으로 장치들이 구성되어 있으며, 이 기기는, 직렬 상호접속 구성의 제1 장치에 직렬 입력을 제공하는 컨트롤러를 포함하며, 직렬 입력은 직렬 상호접속 구성을 통해 전달되고, 직렬 입력은 장치 유형 식별, 명령 및 장치 어드레스 식별을 포함한다.
예를 들면, 각각의 장치들은 직렬 입력 및 출력 접속을 갖고, 컨트롤러는 제1 장치의 직렬 입력 접속에 접속된 직렬 출력 접속과, 직렬 상호접속 구성의 최종 장치의 직렬 출력 접속에 접속된 직렬 입력 접속를 갖는다.
또 다른 광의의 구성에 따르면, 혼합된 유형의 복수의 장치들에 장치 어드레스를 할당하는 단계로서, 장치들이 직렬로 상호접속되어 있는 적어도 하나의 직렬 상호접속 구성으로 장치들이 구성되어 있는 할당 단계; 및 장치 유형 및 장치 어드레스에 기초하여 직렬 상호접속 구성의 장치들을 액세스하는 단계를 포함하는 방법이 제공된다.
이 방법은 하나의 유형의 장치들의 각각에 어드레스를 설정하는 단계를 더 포함할 수 있다. 예를 들면, 설정 단계는, 장치 유형 식별, 장치 어드레스 식별 및 어드레스 넘버를 포함하는 직렬 입력을 직렬 상호접속 구성의 제1 장치에 제공하는 단계를 포함한다. 액세스하는 단계는 직렬 상호접속 구성의 제1 유형의 적어도 하나의 장치가 처리되도록 하는 단계; 및 제1 유형의 장치의 처리 동안, 직렬 상호접속 구성의 적어도 하나의 제2 유형의 장치가 처리되도록 하는 단계를 포함할 수 있으며, 제1 유형의 장치의 처리 시간은 제2 유형의 장치의 처리 시간 보다 더 크다.
본 발명의 실시예에 따르면, 직렬 링크로 상호접속된 메모리 장치를 메모리 컨트롤러가 제어하는 메모리 시스템 구조가 제공된다. 메모리 컨트롤러는 메모리 명령을 전송하는 출력 인터페이스, 및 이러한 응답을 요구하는 이들 메모리 명령에 대해 메모리 응답을 수신하는 입력 인터페이스를 갖는다. 각각의 메모리 장치는 예를 들면 NAND 플래시 또는 NOR 플래시와 같은 임의의 메모리 유형일 수 있다. 각각의 메모리 명령은 의도된 메모리 장치의 메모리 유형에 특정한다. 메모리 명령 및 메모리 응답에 대한 데이터 경로가 링크 및 상호접속된 장치들을 통해 제공된다. 주어진 메모리 명령은 그 의도된 메모리 장치에 도달하기 위해 많은 메모리 장치들을 일주한다. 수신되면, 의도된 메모리 장치는 주어진 메모리 명령을 실행하고, 적절하면, 메모리 컨트롤러에 메모리 응답을 전송한다.
일 실시예에서, 메모리 컨트롤러에 의해 전송된 메모리 명령이 클록에 응답하여 직렬로 상호접속된 메모리 장치들을 통해 전달된다. 하나의 메모리 장치의 명령 실행은 클록 타이밍에서 또 다른 메모리 장치(예를 들면, 다음 장치)에 중첩되지 않는다. 또한, 메모리 장치의 명령 실행은 서로 중첩될 수 있다. 어드레스 할당 동작에서, 하나의 장치에 의해 변화하는 어드레스 넘버는, 또 다른 장치가 어드레스 넘버 변경을 실행하기 전에 완료된다.
본 발명의 실시예에 따르면, 예를 들면, NAND 플래시 EEPROM, NOR 플래시 EEPROM, AND 플래시 EEPROM, DiNOR 플래시 EEPROM, 직렬 플래시 EEPROM, DRAM, SRAM, ROM, EPROM, FRAM, MRAM 및 PCRAM의 메모리 유형을 갖는 메모리 장치가 제공된다. 혼합된 유형의 메모리 장치들의 직렬 상호접속 구성을 갖는 메모리 시스템에서, 타깃 어드레스에 기초하여, 각 장치의 메모리 유형이 판독될 수 있다.
본 발명의 다른 양태 및 특징은 첨부 도면과 함께 본 발명의 특정 실시예의 다음의 설명을 검토할 때 본 기술에서 통상의 기술을 가진 자에게 분명해질 것이다.
본 발명의 실시예는 첨부된 도면을 참조하여 예를 통해 서술된다.
본 발명에 의하면, 반도체 장치 시스템, 더 구체적으로, 본 발명은 예를 들면 다양한 또는 혼합된 형태의 메모리 장치를 갖는 메모리 시스템 등의 반도체 장치를 제어하는 장치 및 방법을 제공할 수 있다.
도 1A, 1B, 1C, 1D는 4개의 플래시 메모리 구조의 블록도이다.
도 2a는 본 발명의 실시예에 따르는 메모리 시스템의 블록도이다.
도 2b는 본 발명의 실시예에 따르는 메모리 시스템의 블록도이다.
도 2c는 도 2b에 나타낸 메모리 시스템의 동작을 도시하는 플로우도이다.
도 3a, 3b, 3c, 3d, 3e는 본 발명의 실시예들에 따르는 특정 예의 메모리 시스템의 개략도이다.
도 3f는 본 발명의 실시예에 따르는 다른 예의 메모리 시스템의 개략도이다.
도 3g는 메모리 장치의 일례의 싱글 데이터 레이트 동작의 타이밍도이다.
도 3h는 메모리 장치의 일례의 더블 데이터 레이트 동작의 타이밍도이다.
도 4a는 도 3a, 3b, 3c, 3d, 3e에 나타낸 메모리 장치로서 사용되는 일례의 메모리 장치의 개략도이다.
도 4b는 도 3f에 나타낸 메모리 장치로서 사용되는 일례의 메모리 장치의 개략도이다.
도 5a는 메모리 장치의 메모리 유형을 식별하기 위해 사용되는 일례의 레지스터 블록의 개략도이다.
도 5b는 각각의 메모리 장치 유형에 대한 일례의 인코딩 스킴의 테이블이다.
도 6a는 유형-의존 어드레싱을 갖는 장치 어드레스를 할당하는 방법의 플로우도이다.
도 6b는 도 6a에 나타낸 방법의 장치 어드레스 할당 단계의 상세의 플로우도이다.
도 7a, 7b, 7c, 7d는 유형-의존 어드레싱을 갖는 장치 어드레스를 할당하는 타이밍도이다.
도 8은 유형-의존 어드레싱을 갖는 일 예의 입력의 타이밍도이다.
도 9는 2개의 인접한 메모리 장치를 통한 시그널링의 예의 타이밍도이다.
도 10은 유형-의존 어드레싱을 갖는 메모리 동작에 대한 일례의 미리 정해진 포맷의 테이블이다.
도 11은 유형-의존 어드레싱에 대한 일례의 인코딩 스킴의 테이블이다.
도 12는 유형-의존 어드레싱을 갖는 NAND 플래시 명령에 대한 일례의 인코딩 스킴의 테이블이다.
도 13은 유형-의존 어드레싱을 갖는 NOR 플래시 명령에 대한 일례의 인코딩 스킴의 테이블이다.
도 14는 유형-의존 어드레싱을 갖는 메모리 동작을 처리하는 방법의 플로우도이다.
도 15a, 15b는 유형-의존 어드레싱을 갖는 메모리 동작을 처리의 타이밍도이다.
도 16a는 도 3a, 3b, 3c, 3d, 3e에 나타낸 메모리 장치로서 사용되는 또 다른 예의 메모리 장치 블록의 개략도이다.
도 16b는 도 16a에 나타낸 장치에 의한 장치 어드레스 할당 동작의 플로우도이다.
도 16c는 도 16a에 나타낸 장치에 의한 또 다른 장치 어드레스 할당 동작의 플로우도이다.
도 17은 도 3f에 나타낸 메모리 장치로서 사용되는 또 다른 예의 메모리 장치 블록의 개략도이다.
도 18은 본 발명의 또 다른 실시예에 따르는 2채널의 메모리 시스템을 나타낸다.
도 19a 및 19b는 도 18에 나타낸 메모리 시스템에서 사용되는 특정 예의 메모리 장치의 개략도이다.
도 20a 및 20b는 도 18에 나타낸 메모리 시스템에서 사용되는 또 다른 특정 예의 메모리 장치의 개략도이다.
도 21은 메모리 시스템을 초기화하는 또 다른 예의 타이밍도이다.
도 22는 본 발명의 실시예에 따르는 또 다른 예의 메모리 시스템의 개략도이다.
도 23은 본 발명의 또 다른 실시예에 따르는 메모리 시스템의 블록도이다.
도 24는 도 23에 나타낸 메모리 시스템에서 사용되는 특정 예의 메모리 장치의 개략도이다.
도 25는 본 발명의 또 다른 실시예에 따르는 메모리 시스템의 블록도이다.
도 26은 도 25에 나타낸 메모리 시스템에서 사용되는 특정 예의 메모리 장치의 개략도이다.
본 발명의 샘플 실시예의 다음의 상세한 설명에서는, 본 발명이 실행될 수 있는 특정 샘플 실시예를 도시를 통해 나타내고, 그 일부를 형성하는 첨부 도면을 참조한다. 이들 실시예는 본 기술에서 숙련된 자가 본 발명을 실행할 수 있을 정도로 충분히 상세하게 기술되어 있고, 다른 실시예가 활용될 수 있고, 본 발명의 범위를 벗어나지 않으면 논리적, 기계적, 전기적 및 다른 변경도 행해질 수 있는 것으로 이해된다. 그러므로, 다음의 상세한 설명은 제한하는 의미로 취해지는 것은 아니며, 본 발명의 범위는 첨부된 청구 범위에 의해서 한정된다.
일반적으로, 본 발명은 예를 들면, 혼합된 유형의 메모리 장치를 갖는 메모리 시스템 등의 반도체 장치를 제어하는 장치 및 방법을 제공한다.
본 발명의 실시예는 메모리 시스템의 정황에서 서술된다. 메모리 시스템은 메모리 컨트롤러 및 메모리 장치의 직렬 상호접속 구성을 포함한다.
몇몇 메모리 서브시스템은 예를 들면 플래시 메모리 장치 등의 다중 메모리 장치를 인터페이스와 함께 사용한다. 여기서, 명령이 이 장치들 중 하나에서만 실행될 수 있지만, 명령 스트링은 모든 장치에 공급될 수 있다. 명령이 실행되는 장치를 선택하기 위해, 명령 스트링은 명령이 향해지는 메모리 장치를 식별하는 장치 식별자(ID) 또는 장치 어드레스를 포함할 수 있다. 명령 스트링을 수신하는 각각의 장치는 명령 스트링에 포함된 ID를 장치에 관련된 ID와 비교한다. 2개가 매치되면, 장치는 명령을 실행하기 위해 명령이 장치로 향해진다고 가정한다.
상술한 바와 같이, 다른 인터페이스 사양을 갖는 많은 다른 메모리 장치 유형이 있다. 종래의 구조를 사용하여, 변화하거나 혼합된 장치 유형을 갖는 메모리 시스템을 설계하는 것은 엔지니어링 설계, 소프트웨어 개발, 및 검증에 많은 시간이 걸린다. 또한, 병렬 인터페이스 스킴은 매우 많은 PCB(Printed Circuit Board) 또는 MCP(Multi Chip Package) 상의 물리적인 배선 또는 라우팅을 수반하며, 더 높은 동작 속도로 각종 노이즈 문제를 발생시킬 수 있다. 더 많은 신호 라인은, 시스템의 밀도와 구성이 증가하면서 더 복잡한 기판 설계와 더 많은 공간 필요를 의미한다. 개선된 메모리 시스템 구조에 대한 필요가 있다.
메모리 장치의 직렬 상호접속의 상세가 2005년 12월 30일에 출원된 미국 특허 출원 번호 11/324,023, 2006년 3월 28일에 출원된 "메모리 장치의 직렬 상호접속"이라는 명칭의 미국 가특허 출원 번호 60/787,710, 2006년 5월 23일에 출원된 "메모리 장치의 직렬 상호접속"이라는 명칭의 미국 가특허 출원 번호 60/802,645에 개시되어 있고, 그 내용이 여기에 참고로 전체 통합되어 있다.
도 2a는 본 발명의 실시예에 따르는 메모리 시스템을 도시한다. 도 2a를 참조하면, 메모리 시스템은 직렬 상호접속 구성의 복수의 장치(300-0, 300-1, …, 300-N)와 컨트롤러(100)를 포함한다. N은 1보다 큰 정수이다. 이 특정 실시예에서, 직렬 상호접속된 메모리 장치의 수는 (N+1)이다. 컨트롤러(100)와 장치(300-0, 300-1, …, 300-N)는 예를 들면 링크 등의 임의의 적절한 접속을 사용하여 상호접속된다. 도시된 예에서, 링크는 직렬 링크이다. 컨트롤러(100)와 장치(300-0, 300-1, …, 300-N)는 직렬 링크(L0, L1, L2, …, LN 및 L(N+1))를 통해 상호접속되어 있다.
컨트롤러(100)는 컨트롤러 동작 회로(130)를 갖는다. 각각의 장치(300-0, 300-1, …, 300-N)는 메모리 동작 제어 및 메모리 초기화 기능을 행하는 장치 동작 회로(230)를 갖는다. 장치(300-0, 300-1, …, 300-N)는 각각의 메모리(320-0, 320-1, …, 320-N) 등의 각각의 메모리-유형 특정 구성 성분을 갖는다. 각각의 장치(300-0, 300-1, …, 300-N)는 복수의 지원된 메모리 유형 중에서 메모리 유형을 갖는다. 복수의 지원된 메모리 유형은 실장-사양 기반으로 지정된다. 각각의 장치의 메모리 유형의 정보 또는 식별은 그 레지스터(250)에 저장된다. 그러나, 장치의 유형은 컨트롤러(100)에는 알려져 있지 않다. 각각의 컨트롤러 동작 회로 및 장치 동작 회로는 예를 들면 인터페이스 회로의 입력 및 출력 회로를 포함한다.
도 2b는 본 발명의 일 실시예에 따르는 일 예의 메모리 시스템을 나타낸다. 도 2b를 참조하면, 메모리 시스템(40)은 직렬 상호접속 구성의 복수의 메모리 장치(30-0, 30-1, …, 30-N)와 메모리 컨트롤러(10)를 포함한다. N은 1보다 큰 정수이다. 이 특정 실시예에서, 직렬 상호접속된 메모리 장치의 수는 (N+1)이다. 메모리 컨트롤러(10)와 메모리 장치(30-0, 30-1, …, 30-N)는 예를 들면 직렬 링크(L0, L1, L2, …, LN, L(N+1)) 등을 사용하여 상호접속된다.
메모리 컨트롤러(10)는 출력 인터페이스(11), 입력 인터페이스(12) 및 컨트롤러 동작 회로(13)를 포함한다. 도시된 실시예에 나타낸 바와 같이, 몇몇 구현 예에서, 메모리 컨트롤러(10)는 다른 전자 회로(비도시)와 접속하기 위한 다른 인터페이스(14)를 또한 갖는다. 메모리 컨트롤러(10)는 다른 구성 성분을 가질 수 있지만, 간단하게 하기 위해 도시되지는 않았다.
메모리 장치(30-0, 30-1, …, 30-N)의 몇몇 구성 성분은 동일하게 번호가 붙여진다. 예를 들면, 각각의 메모리 장치(30-0, 30-1, …, 30-N)는 입력 인터페이스(21), 출력 인터페이스(22) 및 메모리 동작 제어 및 메모리 초기화 기능을 행하는 메모리 장치 동작 회로(23)를 갖는다. 그러나, 메모리 장치(30-0, 30-1, …, 30-N)는 각각의 메모리 코어(32-0, 32-1, …, 32-N) 등의 각각의 메모리-유형 특정 구성 성분을 갖는다. 각각의 메모리 장치(30-0, 30-1, …, 30-N)는 복수의 지원된 메모리 유형 중에서 하나의 메모리 유형을 갖는다. 복수의 지원된 메모리 유형은 실장-사양 기반으로 지정된다. 이것은 고정된 것일 수도 있지만, 몇몇 실시예에서 예를 들면 시간에 따라서 메모리 장치 유형을 추가하여 변경할 수 있다. 주어진 구성은 복수의 지원된 메모리 장치 유형의 각각의 메모리 장치를 반드시 포함시킬 필요는 없지만, 메모리 컨트롤러(10)와 인터페이스는 이 기능을 허용하도록 설계된다. 복수의 지원된 메모리 장치 유형에 대해서 많은 가능한 것이 있다.
복수의 지원된 메모리 유형은 예를 들면 2개 이상의 NAND 플래시 EEPROM, NOR 플래시 EEPROM, AND 플래시 EEPROM, DiNOR 플래시 EEPROM, 직렬 플래시 EEPROM, DRAM, SRAM, ROM, EPROM, FRAM, MRAM(Magnetoresistive Random Access Memory), PCRAM을 포함할 수 있다. 지원된 메모리 유형의 다른 조합이 또한 가능하다.
각각의 메모리 장치(30-0, 30-1, …, 30-N)는 그 메모리 유형을 알고 있다. 이것은 예를 들면, 25로 표시된 바와 같은 레지스터에 저장되어 있을 수 있지만, 더 일반적으로, 각각의 메모리 장치(30-0, 30-1, …, 30-N)는 그 메모리 장치 유형의 식별을 유지하기 위한 임의의 적절한 회로가 구비될 수 있다. 다른 메커니즘, 이것에 의해 각각의 메모리 장치(30-0, 30-1, …, 30-N)가 그 장치 유형을 알 수 있는 메커니즘이 또한 가능하다. 각각의 메모리 장치(30-0, 30-1, …, 30-N)는 다른 구성 성분을 가질 수 있지만, 간단하게 하기 위해 도시되지는 않았다.
동작시에, 메모리 컨트롤러(10)의 컨트롤러 동작 회로(13)는 메모리 동작 제어 및 메모리 초기화 기능을 행한다. 컨트롤러 동작 회로(13)는 출력 인터페이스(11)를 통해 메모리 명령을 보낸다. 각각의 메모리 명령에 대한 데이터 경로는 메모리 장치(30-0, 30-1, …, 30-N)와 직렬 링크(L0, L1, L2, …, LN 및 L(N+1))의 조합에 의해 제공된다. 예를 들면, 메모리 명령이 제2 메모리 장치(30-1)를 위한 것이면, 메모리 명령은 직렬 링크(L0, L1)를 통해 제1 메모리 장치(30-0)를 일주한다. 메모리 명령이 제2 메모리 장치(30-1)로부터의 응답을 요구하면, 응답은 직렬 링크(L2, …, LN, L(N+1))를 통해 제3 메모리 장치, …, N번째(최종) 메모리 장치(30-N)를 일주하여 메모리 컨트롤러(10)로 되돌아온다.
상기 논급한 바와 같이, 각각의 메모리 장치(30-0, 30-1, …, 30-N)는 복수의 지원되는 메모리 유형 중 어느 하나일 수 있다. 메모리 컨트롤러(10)의 제어 동작 회로(13)는 장치 유형에 특정된 메모리 명령을 출력 인터페이스(11)를 통해 전송하고, 이러한 응답을 요구하는 이들 메모리 명령에 대한 메모리 응답을 입력 인터페이스(12)를 통해 수신한다. 예를 들면, 컨트롤러 동작 회로(13)가 제2 메모리 장치(30-1)에 대해 의도된 명령을 발행하면, 발행된 명령은 제2 메모리 장치(30-1)의 장치 유형에 특정된 것으로, 다른 메모리 장치의 장치 유형과는 다를 수 있다. 각각의 메모리 장치(30-0, 30-1, …, 30-N)는 메모리 장치로 어드레스된 이들 메모리 명령을 실행하여, 다른 메모리 장치로 어드레스된 이들 메모리 명령을 출력 인터페이스(22)를 통해 보낸다. 메모리 시스템(40)은 시스템의 전체적인 성능을 저하 없이 메모리 밀도 확장뿐 아니라 다른 장치 유형 또는 혼합된 메모리 장치 유형을 고려하여 적절하게 확장될 수 있다.
일반적으로, 메모리 시스템(40)은 도 2c에 도시된 바와 같이, 35로 표시된 초기화 단계와, 36으로 표시된 정상 동작 단계의 2 단계의 동작을 수행한다. 초기화 단계(35)에서, 메모리 장치(30-0, 30-1, …, 30-N)에는 장치 어드레스가 할당된다. 할당된 장치 어드레스는 메모리 장치에 홀딩된다. 그 후, 정상 동작 단계(36)에서, 타깃 또는 어드레스된 메모리 장치는 데이터 액세스 동작을 수행한다.
메모리 컨트롤러(10)의 컨트롤러 동작 회로(13)는 메모리 장치(30-0, 30-1, …, 30-N)를 제어하기 위해 메모리 명령을 출력 인터페이스(11)를 통해 전송한다. 이를 달성하기 위한 많은 방법이 있다. 예를 들면, 제1 및 제2 구현예가 아래에 설명되어 있지만, 다른 구현예도 가능하다.
제1 구현예에서, 컨트롤러 동작 회로(13)는 메모리 명령을 전송한다. 각각의 명령은 제1 및 제2 부분을 갖고, 이들은 조합되어 복수의 메모리 장치들 중에서 선택된 메모리 장치를 고유하게 식별한다. 몇몇 구현예에서, 제1 부분은 선택된 메모리 장치의 장치 유형을 식별하는 한편, 제2 부분은 선택된 메모리 장치의 장치 어드레스를 식별한다. 각각의 메모리 명령은 선택된 메모리 장치에 의해 실행되는 선택된 명령을 식별하는 명령 부분을 또한 갖는다. 각각의 메모리 명령은 적절한 다른 부분들 예를 들면, 추가의 어드레스 정보 및 데이터를 또한 포함할 수 있다.
제1 구현예에서, 메모리 장치, 예를 들면 제1 메모리 장치(30-0)가 메모리 명령을 수신하면, 메모리 장치 동작 회로(23)는 조합되어 있는 메모리 명령의 제1 부분과 제2 부분에 응답하여 메모리 장치(예를 들면, 제1 메모리 장치(30-0))에 어드레스되어 있는지를 판정한다. 예를 들면, 메모리 장치 동작 회로(23)는 장치 유형을 나타내는 제1 부분을 우선 해석한다. 제1 부분에 의해 표시된 장치 유형이 장치 유형 레지스터(25)에 의해 제공된 제1 메모리 장치(30-0))의 장치 유형과 다르면, 그 장치의 메모리 장치 동작 회로(23)는 수신된 메모리 명령의 임의의 추가의 부분을 살펴볼 필요가 없다. 그래서, 수신된 명령이 다른 메모리 장치(30-1, …, 30-N)중 하나로 어드레스되어 있는지가 판정된다. 따라서, 메모리 장치 동작 회로(23)는 메모리 명령을 출력 인터페이스(22)를 통해 보낸다. 그러나, 제1 부분에 의해 표시된 장치 유형이 제1 메모리 장치(30-0))의 장치 유형과 동일하면, 메모리 장치 동작 회로(23)는 제2 부분에 의해 표시된 장치 어드레스가 제1 메모리 장치(30-0))의 장치 어드레스와 매치되는 지를 판정한다. 2개의 장치 어드레스가 매치되면, 메모리 장치 동작 회로(23)는 명령 부분에 의해 표시된 선택된 명령을 실행한다. 다른 한편, 메모리 장치 동작 회로(23)는 메모리 명령을 출력 인터페이스(22)를 통해 보낸다.
제2 구현예에서, 메모리 컨트롤러(10)의 컨트롤러 동작 회로(13)는 메모리 명령을 보냄으로써 복수의 메모리 장치를 제어한다. 각각의 메모리 명령은 복수의 메모리 장치들 중에서 선택된 메모리 장치를 고유하게 식별하는 제1 부분을 포함한다. 제1 부분은 선택된 메모리 장치의 장치 어드레스를 식별한다. 제2 구현예에서, 메모리 명령은 장치 유형을 포함할 필요가 없다. 각각의 메모리 명령은 선택된 메모리 장치에 의해 실행되는 선택된 명령을 식별하는 명령 부분을 또한 갖는다. 상기에서와 같이, 각각의 메모리 명령은 적절한 다른 부분을 또한 포함할 수 있다. 제2 구현예에서, 메모리 장치, 예를 들면 제1 메모리 장치(30-0)가 메모리 명령을 수신하면, 그 메모리 장치 동작 회로(23)가 메모리 명령의 제1 부분에 응답하여 메모리 명령이 그 장치(즉, 제1 메모리 장치(30-0))에 어드레스되어 있는 지를 판정한다. 메모리 장치 동작 회로(23)는 제1 부분에 의해 표시된 장치 어드레스가 제1 메모리 장치(30-0))의 장치 어드레스와 매치되는 지를 판정한다. 2개의 장치 어드레스가 매치되면, 메모리 장치 동작 회로(23)는 명령 부분에 의해 표시된 선택된 명령을 실행한다. 다른 한편, 메모리 장치 동작 회로(23)는 메모리 명령을 출력 인터페이스(22)를 통해 보낸다.
몇몇 구현예에서, 메모리 컨트롤러(10)의 컨트롤러 동작 회로(13)는 인터페이스(14)를 통해 수신된 요구에 응답하여 출력 인터페이스(11)를 통해 메모리 명령을 전송하도록 동작 가능하고, 또한 입력 인터페이스(12)를 통해 수신된 메모리 응답을 사용하여 요구에 응답하도록 동작 가능하다. 인터페이스(14)는 메모리 시스템(40)을 사용하는 다른 장치 또는 시스템(비도시)으로의 임의의 적절한 인터페이스일 수 있다.
메모리 명령에 대해 많은 가능성이 있다. 이들은 판독 동작, 기록 동작, 소거 동작, 판독 상태 동작, 판독 ID 동작, 기록 구성 레지스터 동작, 기록 어드레스 동작 및 리셋 동작 중의 하나 이상을 포함할 수 있다. 또 다른 메모리 명령이 있을 수 있다.
메모리 컨트롤러(10)가 메모리 명령을 전송하는 방법은 장치 어드레스가 할당되는 방식에 의존할 수 있다. 장치 어드레스를 할당하는 구현 예가 아래에 제공된다.
장치 어드레스가 메모리 장치(30-0, 30-1, …, 30-N)에 할당되게 하는 많은 방법이 있다. 몇몇 구현예에서, 장치 어드레스가 미리 정해져 있거나 배선되어 있다. 다른 구현예에서, 컨트롤러 동작 회로(13)는 초기화 단계에서 장치 어드레스를 할당한다. 예를 들면, 제1 및 제2 구현예를 아래에 설명하지만, 다른 구현예도 가능하다.
제1 구현예에서, 컨트롤러 동작 회로(13)는 복수의 지원되는 장치 유형의 각각의 장치 유형에 대해서, 출력 인터페이스(11)를 통해 그 장치 유형의 각각의 메모리 장치에 장치 어드레스를 할당하는 각각의 초기화 메시지를 전송한다. 각각의 메모리 장치(30-0, 30-1, …, 30-N)는 초기화 메시지를 수신하여 처리한다. 예를 들면, 제1 메모리 장치(30-0)는 제1 입력 인터페이스(21)를 통해 초기화 메시지를 수신한다. 수신된 각각의 초기화 메시지에 있어서, 초기화 메시지가 제1 메모리 장치(30-0)의 장치 유형이 아니라 또 다른 장치 유형을 위한 것으로 표시되어 있으면, 메모리 장치 동작 회로(23)는 초기화 메시지를 출력 인터페이스(22)를 통해 포워딩한다. 그러나, 초기화 메시지가 제1 메모리 장치(30-0)의 장치 유형을 위한 것으로 표시되어 있으면, 메모리 장치 동작 회로(23)는 초기화 메시지로부터 장치 어드레스를 판정한다. 이것은 초기화 메시지로부터 장치 어드레스를 판독하는 것에 관련된다. 몇몇 구현예에서, 초기화 메시지로부터 판독된 그대로의 장치 어드레스는 제1 메모리 장치(30-0)의 장치 어드레스가 된다. 메모리 장치 동작 회로(23)는 새로운 장치 어드레스를 갖는 초기화 메시지를 출력 인터페이스(22)를 통해 보낸다. 각각의 또 다른 메모리 장치(30-1, …, 30-N)는 유사한 초기화 과정을 수행한다. 전송된 각각의 초기화 메시지에 있어서, 컨트롤러 동작 회로(13)는 입력 인터페이스(12)를 통해 각각의 초기화 응답을 수신하고, 장치 유형의 메모리 장치가 있다면 그 응답으로부터 장치 유형의 각각의 메모리 장치의 장치 어드레스가 판정될 수 있다.
예를 들면, 몇몇 구현예에서, 장치 어드레스가 할당된 각각의 메모리 장치에 있어서, 다음 장치로 보내어진 새로운 장치 어드레스는 장치 어드레스의 증분이다. 그러므로, 주어진 장치 유형의 제1 메모리 장치가 0의 어드레스가 할당되면, 주어진 장치 유형의 최종 메모리 장치는 m-1의 어드레스가 할당되고, 여기서 m은 주어진 장치 유형의 메모리 장치의 수이다. 주어진 장치 유형의 최종 메모리 장치의 증분된 장치 어드레스를 나타내는, 입력 인터페이스(12)를 통한 초기화 응답을 수신함으로써, 컨트롤러 동작 회로(13)는 주어진 장치 유형의 각각의 메모리 장치의 장치 어드레스를 판정한다. 다중 장치 유형이 있는 경우에, 메모리 컨트롤러(10)는 어느 물리적인 장치가 어느 유형의 것인지를 알 수 없는 것에 유의한다. 오히려, 메모리 컨트롤러(10)는 각각의 유형의 얼마나 많은 메모리 장치가 있는지를 알 수 있다. 예를 들면, 4개의 NAND 장치 및 4개의 NOR 장치가 있을 수 있다. 4개의 NAND 장치는 type=NAND, address=0,1,2,3을 각각 가지고, 4개의 NOR 장치는 type=NOR, address=0,1,2,3을 각각 가진다. 그러면, NAND 및 NOR 메모리 장치의 물리적인 어드레스에 상관없이, 유형 및 어드레스 부분을 함유하는 명령은 목표 장치를 항상 찾는다. 2개의 다른 세트의 장치 넘버링(즉, 장치 유형 및 장치 어드레스)을 실행함으로써, 메모리 컨트롤러(10)는 어느 장치 어드레스가 메모리 시스템(40)의 어느 장치 유형에 할당되는지를 고려할 필요가 없다.
제2 구현예에서, 메모리 컨트롤러(10)의 컨트롤러 동작 회로(13)는 디바이스 어드레스를 메모리 장치(30-0, 30-1,..., 및 30-N)에 할당하기 위한 초기화 메시지를 출력 인터페이스(11)를 통해 전송하도록 동작할 수 있다. 메모리 장치(30-0, 30-1,..., 및 30-N)는 초기화 메시지를 수신하고 처리한다. 예컨대, 제1 메모리 장치(30-0)는 초기화 메시지를 입력 인터페이스(21)를 통해 수신하고, 이 장치의 메모리 장치 동작 회로(23)는 수신된 초기화 메시지로부터 장치 어드레스를 판독한다. 어떤 구현예에서, 초기화 메시지로부터 판독됨에 따라, 장치 어드레스는 제1 메모리 장치(30-0)의 장치 어드레스가 된다. 메모리 장치 동작 회로(23)는 초기화 메시지를 출력 인터페이스(22)를 통해서 새로운 장치 어드레스를 가지고 보낸다. 다른 메모리 장치(30-1,..., 및 30-N) 각각은 유사한 초기화 프로세스를 실행한다. 결국, 메모리 컨트롤러(10)의 컨트롤러 동작 회로(13)는 입력 인터페이스(12)를 통해 초기화 응답을 수신하며, 이 응답으로부터, 각 메모리 장치의 장치 어드레스가 판정될 것이다.
예컨대, 메모리 장치(30-0, 30-1,..., 및 30-N) 각각에 대해, 그 다음 장치로 보내진 새로운 장치 어드레스는 장치 어드레스의 증분이다. 그러므로 만약 제1 메모리 장치(30-0)가 0의 어드레스로 할당된다면, 마지막 메모리 장치(30-N)는 N의 어드레스가 할당될 것이며, 여기서, 메모리 장치의 수는 (N+1)이다. 입력 인터페이스(12)를 통해서 마지막 메모리 장치(30-N)의 증분된 장치 어드레스를 지시하는 초기화 응답을 수신함으로써, 컨트롤러 동작 회로(13)는 각 메모리 장치의 장치 어드레스를 판정할 수 있다.
상술한 제2 구현예에 따라, 일단 메모리 장치(30-0, 30-1,..., 및 30-N) 각각의 장치 어드레스가 할당되면, 컨트롤러 동작 회로(13)는 각 메모리 장치의 장치 유형을 판정한다. 각 장치 어드레스에 대해, 컨트롤러 동작 회로(13)는 출력 인터페이스(11)를 통해서 추가 초기화 메시지를 전송하여, 장치 어드레스의 메모리 장치의 장치 유형을 판정한다. 메모리 장치(30-0, 30-1,..., 및 30-N) 각각은 이 추가 초기화 메시지를 수신하고 처리한다.
예컨대, 제1 메모리 장치(30-0)가 입력 인터페이스(21)를 통해서 추가 초기화 메시지를 수신하면, 제1 메모리 장치(30-0)는 이 추가 초기화 메시지에 지시된 장치 어드레스를 기초로 해서 이 추가 초기화 메시지가 제1 메시지 장치(30-0)용인지의 여부를 판정한다. 만약 그렇다면, 제1 메모리 장치(30-0)는 이 추가 초기화 메시지에 대해 출력 인터페이스(22)를 통해 이 장치의 장치 유형의 식별정보를 가지고 응답한다. 만약 이 추가 초기화 메시지가 다른 메모리 장치(30-1,..., 및 30-N 중 하나용이라면, 제1 메모리 장치(30-0)는 이 추가 초기화 메시지를 출력 인터페이스(22)를 통해 보낸다. 다른 메모리 장치(30-1,..., 및 30-N) 각각은 추가 초기화 메시지의 유사한 처리를 실행한다. 메모리 컨트롤러(10)의 컨트롤러 동작 회로(13)는 입력 인터페이스(12)를 통해 각 메모리 장치에 대해서 메모리 장치의 장치 유형을 지시하는 초기화 응답을 수신한다.
컨트롤러 동작 회로(13)에 대한 상술한 제1 및 제2 구현예는 단지 예시용의 매우 특정한 것임을 이해해야 한다. 변경 및 변형이 가능하다. 예컨대, 제1 구현예는 장치 어드레스를 각 메모리 장치에 할당하기 위해 다수의 초기화 메시지를 수반하는 것으로 상술되어 있지만, 그러나 대안적으로 이러한 목적을 위해 하나 이상의 초기화 메시지가 있을 수 있다. 또한, 제2 구현예는 각 메모리 장치의 장치 유형을 판정하기 위해 다수의 추가 초기화 메시지를 수반하는 것으로 상술되어 있지만, 그러나 대안적으로 이러한 목적을 위해 하나 이상의 추가 초기화 메시지가 있을 수 있다. 기재한 예에서, 수신한 초기화 메시지의 어드레스는 장치 어드레스로 설정되고, 새로운 어드레스가 생성되어 그 다음 장치로 전송된다. 다른 구현예에서, 각 메모리 장치는 어드레스를 수신하고, 이것을 장치 어드레스로 설정하기 이전에 이것을 증분한다. 이 구현예의 상세한 예는, 2006년 9월 29일에 출원되어 그 전체가 참조로서 여기에 병합되어 있는, 일반적으로 양도된 공동-계류중인 미국특허출원 제11/529,293호, “직렬로 상호접속된 장치를 위한 패킷 기반 ID 생성”에 기재되어 있다.
앞서 제공된 예는 인터페이스를 참조한다. 그러한 인터페이스에 대한 많은 가능성이 있음을 이해해야 한다. 특정한 인터페이스를 후술될 예에서 제공한다. 더욱 일반적으로, 임의의 적절한 인터페이스를 구현할 수도 있다.
일부 구현예에서, 메모리 컨트롤러(10)는 메모리 장치(30-0, 30-1,..., 및 30-N)의 각각과 접속하기 위한 리셋 출력(미도시)을 갖는다. 이것의 예는 후술할 예에서 제공한다. 더욱 일반적으로, 메모리 시스템(40)은 임의의 적절한 리셋 구현예를 사용하여 리셋될 수도 있다.
일부 구현예에서, 메모리 컨트롤러(10)는 메모리 장치(30-0, 30-1,..., 및 30-N)의 각각과 접속하기 위한 직렬 클록 출력(미도시)을 갖는다. 이것의 예는 후술할 예에서 제공한다. 더욱 일반적으로, 메모리 시스템(40)은 임의의 적절한 클록 구현예를 사용하여 직렬 클록이 제공될 수도 있다.
일부 구현예에서, 메모리 컨트롤러(10)는 메모리 장치(30-0, 30-1,..., 및 30-N) 각각과 접속하기 위한 칩 선택(미도시)을 갖는다. 이것의 예는 후술할 예에서 제공한다. 더욱 일반적으로, 메모리 장치(30-0, 30-1,..., 및 30-N)는 임의의 적절한 장치 인에이블링 구현예를 사용하여 인에이블될 수 있다.
도 2c는 도 2b에 도시한 메모리 시스템의 동작을 도시한다. 도 2b 및 도 2c를 참조하면, 컨트롤러(10)의 컨트롤러 동작 회로(13)는 메모리 명령을 출력 인터페이스(11)를 통해서 전송하여 장치(30-0, 30-1,..., 및 30-N)를 제어한다. 컨트롤러 동작 회로(13)는 메모리 명령을 전송함으로써 장치(30-0, 30-1,..., 및 30-N)를 제어한다. 이러한 동작이 달성될 수 있는 많은 방식이 있다. 예시를 위해, 일부 예시적인 구현예를 후술할 것이지만, 그러나 다른 구현예도 가능하다.
일반적으로, 메모리 시스템(40)은 두 단계: 35로 나타나는 초기화 단계 및 36으로 나타나는 정상 동작 단계의 동작을 실행한다. 초기화 단계(35)(또는 초기화 모드)에서, 장치(30-0, 30-1,..., 및 30-N)에는 장치 어드레스가 할당된다. 할당된 장치 어드레스는 장치(30-0, 30-1,..., 및 30-N)에 홀딩된다. 그 이후, 정상 동작 단계(36)(또는 정상 동작 모드)에서, 타깃 즉, 어드레싱된 메모리 장치가 데이터 액세스 동작을 실행한다.
초기화 단계(35)의 일례에서, 컨트롤러 동작 회로(13)는 메모리 명령을 전송한다. 이 명령은, 고유한 어드레스를 장치에 할당하기 위한 장치 어드레스 할당 부분 및 장치 어드레스 관련 넘버 부분을 갖는다. 일 구현예에서, 컨트롤러 동작 회로(13)로부터의 명령의 장치 어드레스 관련 넘버는 초기값이나 넘버이며, 초기의 넘버는 각각의 장치에 의해 증분된다. 증분된 넘버의 각각은 각각의 장치에서 각 장치의 어드레스로서 홀딩된다.
정상 동작 단계(36)의 일례에서, 컨트롤러(10)의 컨트롤러 동작 회로(13)는 메모리 명령을 전송한다. 메모리 명령은, 다수의 메모리 장치 중 선택된 메모리 장치를 장치 어드레스에 의해 고유하게 식별하는 제1 부분을 포함한다. 장치 유형이 메모리 명령에는 포함되지 않는다. 각 메모리 명령은 또한, 선택된 메모리 장치에 의해 수행될 선택된 명령을 식별하는 명령 부분을 갖는다. 각 메모리 명령은 또한 적절한 다른 부분을 포함할 수도 있다. 메모리 장치, 예컨대 제1 장치(30-0)가 메모리 명령을 수신하고 난 다음에, 이 장치의 장치 동작 회로(23)는 메모리 명령의 제1 부분에 응답하여 메모리 명령이 이 장치(즉, 제1 장치(30-0))에 어드레싱될 것인지를 판정한다. 장치 동작 회로(23)는 제1 부분에 의해 표시되는 장치 어드레스가 제1 장치(30-0)의 장치 어드레스에 매치하는지를 판정한다. 두 장치 어드레스 사이에 매치가 있다면, 장치(30-0)의 장치 동작 회로(23)는 이 명령 부분에 의해 표시되는 선택된 명령을 수행할 것이다. 그렇지 않다면, 장치 동작 회로(23)는 메모리 명령을 출력 인터페이스(22)를 통해 다음의 장치(예컨대, 제2 장치(30-1))에 보낸다.
일부 구현예에서, 컨트롤러(10)의 컨트롤러 동작 회로(13)는, 인터페이스(14)를 통해 수신된 요구에 응답하여, 메모리 명령을 출력 인터페이스(11)를 통해 전송하도록 동작할 수 있고, 또한 입력 인터페이스(12)를 통해 수신된 메모리 응답을 사용하여 이 요구에 응답하도록 동작할 수 있다. 인터페이스(14)는, 메모리 시스템(40)을 사용하는 다른 장치나 시스템(미도시)에 대한 임의의 적절한 인터페이스일 수 있다.
메모리 명령에 대한 많은 가능성이 있다. 이들 가능성은 판독 동작, 기록 동작, 소거 동작, 판독 상태 동작, 판독 DA 동작, 기록 구성 레지스터 동작, 기록 어드레스 동작 및 리셋 동작 중 하나 이상을 포함할 수도 있다. 다른 메모리 명령이 있을 수도 있다.
컨트롤러(10)가 메모리 명령을 전송하는 방식은, 장치 어드레스가 할당되는 방식에 따라 다를 수도 있다. 장치 어드레스를 할당하기 위한 예시적인 구현예를 아래에 제공할 것이다.
다음의 상세한 설명 및 도면에서, 신호 및 접속에 대해 일부 참조 부호가 사용된다. 예컨대, "SCLK"는 메모리 장치의 클록 신호 및 클록 입력 접속을 나타내고, "SIP"는 직렬 입력 포트 신호 및 직렬 입력 포트 접속을 나타내고, "SOP"는 직렬 출력 포트 신호 및 직렬 출력 포트 접속을 나타내고, "IPE"는 입력 포트 인에이블 신호 및 입력 포트 인에이블 접속을 나타내고, "OPE"는 출력 포트 인에이블 신호 및 출력 포트 인에이블 접속을 나타내고, "CS#"는 칩 선택 신호 및 칩 선택 입력 접속 또는 포트를 나타내며, "RST#"는 리셋 신호 및 리셋 입력 접속 또는 포트를 나타낸다. 또한, 동일하거나 대응하는 블록, 접속, 신호 및 회로에 대해서는 동일한 참조 부호가 사용된다.
도 3a, 도 3b, 도 3c, 도 3d, 도 3e 및 도 3f는 본 발명의 실시예에 따른 특정 예의 메모리 시스템을 도시한다. 이들 도면은 매우 특정된 것이며, 단지 예시적인 용도를 위해 제공되는 것임을 이해해야 할 것이다.
도 3a는 일례의 메모리 시스템의 일반적인 구성을 도시한다. 메모리 시스템(41)은 메모리 컨트롤러(50) 및 복수(n+1)의 메모리 장치를 포함하며, n은 정수이다. 이 특정한 예에서, 메모리 컨트롤러(50) 및 메모리 장치는 직렬 링크와 접속된다. 이 직렬 상호접속 구성은 제1 장치(80)("장치-0"), 제2 장치(81)("장치-1"), 제3 장치(82)("장치-2"),..., 및 제(n+1) 장치(83)("장치-n")를 포함한다.
도 3a를 참조하면, 메모리 컨트롤러(50)는 리셋 포트(51), 칩 선택 포트(52), 및 메모리 장치(80, 81, 82,..., 및 83)의 각각에 접속된 직렬 클록 포트(53)를 갖는다. 따라서, 메모리 장치(80, 81, 82,..., 및 83)의 각각은 리셋 포트(61), 칩 선택 포트(62), 및 직렬 클록 포트(63)를 갖는다. 메모리 컨트롤러(50)는 직렬 출력(54), 입력 인에이블(55), 및 제1 메모리 장치(80)에 접속된 출력 인에이블(56)을 포함하는 출력 인터페이스를 갖는다. 따라서 제1 메모리 장치(80)는 직렬 입력(64), 입력 인에이블(65), 및 출력 인에이블(66)을 포함하는 입력 인터페이스를 갖는다. 제1 메모리 장치(80)는 또한 직렬 출력(67), 입력 인에이블 에코(68) 및 출력 인에이블 에코(69)를 포함하는 출력 인터페이스를 갖는다. 다른 메모리 장치(81, 82 및 83)의 각각은 대응하는 입력 인터페이스(64, 65, 66) 및 출력 인터페이스(67, 68, 69)를 가지므로, 메모리 장치(80, 81, 82,..., 및 83)는 직렬 링크를 통해 상호접속된다. 메모리 컨트롤러(50)는, 최종 메모리 장치(83)의 출력 인터페이스(67, 68 및 69)와 접속하기 위해 직렬 입력(57), 입력 인에이블 에코(58) 및 출력 인에이블 에코(59)를 포함하는 입력 인터페이스를 갖는다.
메모리 컨트롤러(50)는 도 2b에 도시한 메모리 컨트롤러의 소자와 유사한 소자(미도시)를 갖지만, 이들 소자는 간소화시키기 위해 도시하지 않는다.
메모리 장치(80, 81, 82,..., 및 83)는 각각, 메모리(80A, 81A, 82A,..., 및 83A)와 같은 메모리-유형 특정 소자를 갖는다. 예시한 예에서, 그러나 이들의 장치 유형은 특정하지 않는다. 메모리 장치(80, 81, 82,..., 및 83)의 각각은 그 인터페이스와 그 메모리 사이에 인터페이스 회로(미도시)를 갖는다. 메모리 장치(80, 81, 82,..., 및 83)의 각각은 또한, 그 장치 유형의 식별을 유지하기 위한 레지스터(60)를 갖는다. 다른 구현예에서, 메모리 장치(80, 81, 82,..., 및 83)의 각각은 그 장치 유형의 식별을 유지하기 위한 대안적인 회로를 갖는다. 메모리 장치(80, 81, 82,..., 및 83)의 각각은 다른 소자를 가질 수도 있지만, 그들 소자는 간소화시키기 위해 도시하지 않는다.
동작 시에, 메모리 시스템(41)은, 도 2b를 참조하여 상술한 메모리 시스템(40)과 유사한 방식으로 동작한다. 그러나 예시용으로, 메모리 시스템(41)의 동작의 다른 예시적인 상세한 내용은 추가 도면을 참조하여 이후에 제공한다.
도 3b는 제1 특정 예의 메모리 시스템(42)을 도시한다. 메모리 시스템(42)은 도 3b에 도시한 메모리 시스템(41)과 유사하다. 메모리 시스템(42)은, 도 3b의 예와 동일한 메모리 코어(84A, 85A, 86A, 87A)를 갖는 (n+1)개의 메모리 장치(84, 85, 86,..., 및 87)를 포함한다. 도 3b에 도시한 특정한 예에서, 각각, 제1 메모리 장치(84)는 NOR 플래시 메모리 코어(84A)를 가지며, 제2, 제3,..., 및 제(n+1) 메모리 장치(85, 86,..., 및 87)는 NAND 플래시 메모리 코어(85A, 86A,..., 및 87A)를 갖는다. 도 3c의 예는, 유형-방식의 어드레싱 스킴, 즉 앞서 소개한 제1 어드레싱 스킴이 사용된다는 점에서 도 3b의 예와 다르다. 하나의 NOR 장치와 'n'개의 NAND 장치가 있다고 가정할 때, 유형 플러스 어드레스는 'NOR-0', 'NAND-0', 'NAND-1',..., 및 'NAND-(n-1)'로서 나타난다.
앞서 논급한 바와 같이, 메모리 장치(84, 85, 86,..., 및 87)는 임의의 적절한 장치 유형일 수도 있다. 이 점을 예시하기 위해, 변경되거나 혼합된 장치 유형을 가진 다른 예시적인 메모리 시스템을 도 3d, 도 3e 및 도 3e를 참조하여 제공한다.
도 3c는 제2 특정 예의 메모리 시스템(43)을 도시한다. 메모리 시스템(43)은, 메모리 시스템(43)이 다른 메모리 장치를 갖는 점을 제외하고는, 도 3c에 도시된 메모리 시스템(42)과 동일하다. 도 3c에 도시한 특정 예에서, 메모리 시스템(43)은 혼합된 메모리 코어(88A, 89A, 90A,..., 및 91A)를 각각 갖는 복수(n+1)의 메모리 장치(88, 89, 90,..., 및 91)를 포함한다. 제1 메모리 장치(88)는 SRAM 메모리 코어(88A)를 가지며, 제2 메모리 장치(89)는 NOR 플래시 메모리 코어(89A)를 갖는다. 제3,.., 및 제(n+1) 메모리 장치(91)는 각각 NAND 플래시 메모리 코어(90A,..., 및 91A)를 갖는다. 메모리 장치는 유형-방식의 어드레싱 스킴을 사용하여 어드레싱된다. 하나의 SRAM 장치와, 하나의 NOR 장치 및 '(n-1)'개의 NAND 장치가 있다고 가정할 때, 유형 플러스 어드레스는 'SRAM-0', 'NOR-0', 'NAND-0',.... 및 'NAND-(n-2)'로 나타난다.
도 3d는 복수(n+1)의 메모리 장치를 포함하는 제3 특정 예의 메모리 시스템(44)을 도시한다. 도 3d를 참조하면, 메모리 시스템(44)은, 메모리 시스템(44)이 상이한 메모리 장치(92, 93,..., 94 및 95)를 갖는 점을 제외하고, 도 3c에 도시한 메모리 시스템(42)과 동일하다. 도 3e에 도시한 특정 예에서, 메모리 장치(92, 93,..., 94 및 95)의 메모리 코어(92A, 93A, 94A,..., 및 95A)는 혼합된다. 예시된 예에서, 제1, 제2, 제3,..., 및 제 n 메모리 장치(92, 93,..., 및 94)는 NAND 플래시 메모리 코어(92A, 93A,..., 및 94A)를 각각 갖는다. 최종(제(n+1)) 메모리 장치(95)는 NOR 플래시 메모리 코어(95A)를 갖는다. 메모리 장치는 유형-방식의 어드레싱 스킴을 사용하여 어드레싱된다. 'n'개의 NAND 장치와 하나의 NOR 장치가 있는 것으로 가정할 때, 유형 플러스 어드레스는 'NAND-0', 'NAND-1',...,'NAND-(n-1)', 및 'NOR-0'으로 나타난다. 메모리 컨트롤러(50)는 도 3b와 도 3d의 예 사이의 물리적인 레이아웃에서의 차이점을 인식하지 못할 것임을 주목해야 한다.
도 3e는 제4 특정 예의 메모리 시스템(45)을 도시한다. 메모리 시스템(45)은, 메모리 시스템(45)이 상이한 메모리 장치(96, 97, 98,..., 및 99)를 갖는 점을 제외하고는 도 3c에 도시한 메모리 시스템(42)과 동일하다. 도 3e에 도시한 특정 예에서, 메모리 장치(96, 97, 98,..., 및 99)의 메모리 코어(96A, 97A, 98A,..., 및 99A)는 혼합된다. 예시된 예에서, 제1 메모리 장치(96)는 NAND 플래시 메모리 코어(96A)를 갖는다. 제2 메모리 장치(97)는 NOR 플래시 메모리 코어(97A)를 갖는다. 제3,..., 및 최종(제(n+1)) 메모리 장치(98,..., 및 99)는 각각 NAND 플래시 메모리 코어(98A,..., 및 99A)를 갖는다. 메모리 장치는 유형-방식의 어드레싱 스킴을 사용하여 어드레싱된다. 'n'개의 NAND 장치와 하나의 NOR 장치가 있다고 가정할 때, 유형 플러스 어드레스는 'NAND-0', 'NOR-0', 'NAND-1',..., 및 'NAND-(n-1)'로서 나타난다. 메모리 컨트롤러(50)는 도 3b 내지 도 3e의 예 사이의 물리적인 레이아웃의 차이점을 인식하지 못할 것임을 주목해야 한다.
메모리 컨트롤러(50)가 적어도 NOR 플래시 장치, NAND 플래시 장치 및 SRAM 장치와 상호 작용할 수 있다고 가정한다면, 도 3b 내지 도 3e의 네 개의 예가 동일한 회로 레이아웃, 동일한 메모리 컨트롤러(50), 및 메모리 장치용의 '로트(lots)'나 '소켓(sockets)'으로 구현될 수 있음을 알 수 있을 것이다. 그러면, 지원되는 장치 유형을 가진 임의의 배치가 '로트'나 '소켓'으로 설치될 수 있으며, 도 3b, 도 3c, 도 3d 및 도 3e는 이것의 각각의 예이다.
도 3a ∼ 도 3e에 예시한 각각의 예에서, 리셋, 칩 선택 및 직렬 클록 신호를 멀티-드롭 방식으로 제공한다. 도 3f에 도시된 바와 같은 다른 구현예에서, 직렬 클록은, 출력 에코 클록 신호, 'SCLK_0'의 추가에 의해 포인트-투-포인트 링 유형 스킴(point-to-point ring type scheme)으로 접속된다. SCLK는 메모리 컨트롤러(50A)와 메모리 장치(180, 181, 182,..., 및 183)를 동기화시키는 시스템 클록이다. 각 메모리 장치로부터 출력된 에코 클록 신호는 그 다음 메모리 장치의 클록 입력(SCLK)에 공급된다. 메모리 컨트롤러(50A)와 메모리 장치(180, 181, 182,..., 및 183)는 마스터 장치와 슬레이브 장치로서 각각 동작한다. (n+1)개의 메모리 장치가 있다고 가정할 때, 할당된 어드레스는 '장치-0', '장치-1',..., 및 '장치-n'으로 나타난다.
제시한 예에서, 클록킹은 SDR(Single Data Rate)을 기초로 하지만, 그러나 다른 적절한 클록킹 스킴을 생각해 볼 수도 있음을 이해해야 한다. 다른 적절한 클록킹 스킴은 예컨대 DDR(Double Data Rate), QDR(Quad Data Rate), 상승 에지 SDR 또는 하강 에지 SDR을 포함할 수도 있다. 생각해 볼 수도 있는 다른 적절한 클록킹 스킴이 있을 수도 있다.
도 3g는 메모리 장치의 일례의 SDR 동작에 대한 상대적인 타이밍 시퀀스를 도시한다. 도 3g는 하나의 포트에서의 동작을 도시한다. 도 3a 및 도 3g를 참조하면, 예시된 동작은, 장치(80, 81, 82,..., 및 83)에 전송된 정보가 장치의 직렬 클록 포트(63)에 공급된 클록 신호(SCLK)와 서로 다른 시간에 캡처될 수 있다는 것이다. SDR 구현의 일례에서, 장치 중 하나에 이 장치의 직렬 입력(64)에서 공급된 정보는 클록 신호(SCLR)의 상승 에지에서 캡처될 수 있다. SDR 동작에서, 칩 선택 신호는 일반적으로 동시에 모든 장치를 인에이블시키도록 접속되어, 제1 장치의 입력 데이터는 직렬 상호접속 구성을 통해 전송될 수 있게 된다. 대안적으로, SDR 동작에서, SIP 접속에서 장치에 공급된 정보는 클록 신호(SCLK)의 하강 에지에서 캡처될 수도 있다.
도 3h는 메모리 장치의 일례의 DDR 동작에 대한 상대적인 타이밍 시퀀스를 도시한다. 도 3h는 한 포트에서의 동작을 도시한다. DDR 동작에서, 클록 신호(SCLK)의 상승 및 하강 에지의 양자가 직렬 입력(64)에 공급된 정보를 캡처하는 데 사용될 수 있다.
도 4a는 도 3a ∼ 도 3e에 도시한 메모리 장치로서 사용되는 일례의 메모리 장치 블록을 도시한다. 도 4a를 참조하면, 메모리 장치(140A)는 메모리 장치 중 어느 하나를 나타내며, 장치 컨트롤러/프로세서(142A), 장치 유형 매치 판정자(143), 메모리(144), 장치 유형 레지스터(146), 어드레스 매치 판정자(147), 장치 어드레스 레지스터(148) 및 어드레스 증분 연산자(149)를 포함한다. 장치 컨트롤러/프로세서(142A)는 메모리 장치(140A)의 동작을 제어한다. 메모리(144)는 예컨대, NAND 플래시 메모리, NOR 플래시 메모리, SDRAM, DRAM과 같은 임의의 유형의 메모리를 포함한다. 장치 유형 레지스터(146)는 도 3a ∼ 도 3e에 도시한 바와 같이 그 장치 유형의 식별을 유지하기 위한 레지스터(60)를 포함한다. 장치 어드레스 레지스터(148)는 이 메모리 장치(140A)의 장치 컨트롤러/프로세서(142A)에 의해 할당된 장치 어드레스(DA)를 홀딩한다. 장치 유형 레지스터(146)의 상세한 내용은 도 5a에 도시한다. 장치 유형 매치 판정자(143) 및 어드레스 매치 판정자(147)는 장치 컨트롤러/프로세서(142A)에 의한 제어 하에서 관련 매치 판정 기능들을 실행한다. 어드레스 증분 연산자(149)는 장치 어드레스 증분 기능(즉, "DA+1")을 실행한다.
장치(140A)는 리셋 포트("RST#"), 칩 선택 포트("CS#") 및 메모리 컨트롤러(예컨대 도 3a에 도시된 바와 같은 메모리 컨트롤러(50))에 접속된 직렬 클록 포트("SCLK")를 갖는다. 장치 컨트롤러/프로세서(142A)는 이전의 메모리 장치나 메모리 컨트롤러에 접속되는 메모리 장치의 직렬 입력("SIP"), 입력 인에이블("IPE") 및 출력 인에이블("OPE")에 접속된다. 또한, 장치 컨트롤러/프로세서(142A)는 다음의 메모리 장치에 접속되는 메모리 장치의 직렬 출력("SOP"), 입력 인에이블 에코("IPEQ") 및 출력 인에이블 에코("OPEQ")에 접속된다. 메모리(144)는 플래시 메모리 코어에 상당한다. 장치 유형 레지스터(146)는 그 장치 유형의 식별을 유지하기 위한 유형 레지스터(60)에 상당한다.
메모리 컨트롤러에 의해 발행된 메모리 명령의 포맷의 일례는 다음과 같다:
메모리 명령(1)
Figure pat00001
TYPE은 특정한 메모리 장치 유형의 식별을 위한 장치 유형이다. TDA는 특정한 메모리 장치의 어드레스의 식별을 위한 타깃 장치 어드레스이다. CMD는 타깃 메모리 장치에 의해 수행될 동작 명령이다. DATA는 메모리 장치에 대한 프로세스나 제어에 관한 정보(숫자나 값)를 포함한다. 여러 동작 명령 CMD의 예를 표 1에 도시한다.
[표 1]
Figure pat00002
다시, 도 4a를 참조하면, 장치 컨트롤러/프로세서(142A)는, 직렬 입력(SI)에 포함된 장치 어드레스 및 장치 유형에 응답하여, 메모리 명령이 이 메모리 장치(140A)에 어드레싱되는지를 판정한다. 예컨대, 장치 유형 매치 판정자(143)는, 장치 컨트롤러/프로세서(142A)에 의한 제어 하에서, SI의 장치 유형('DTs')이 장치 유형 레지스터(146)에 홀딩되는 장치 유형('DTr')과 매치하는지를 판정한다. 이들 사이가 매치인 경우에, 장치 유형 매치 판정자(143)는 유형 매치 표시(143M)를 장치 컨트롤러/프로세서(142A)에 제공한다. 그 후, 어드레스 매치 판정자(147)는, 장치 컨트롤러/프로세서(142A)의 제어 하에서, SI에 포함된 장치 어드레스('DAs')가 장치 어드레스 레지스터(148)에 홀딩되는 장치 어드레스('DAr')에 매치하는지를 판정한다. 이들 사이가 매치인 경우에, 어드레스 매치 판정기(147)는 어드레스 매치 표시(147M)를 장치 컨트롤러/프로세서(142A)에 제공한다.
도 2c에 도시한 바와 같은 초기화 단계(35)의 동작에서, 유형 매치 표시(143M)와 어드레스 매치 표시(147M)에 응답하여, 장치 컨트롤러/프로세서(142A)는 SI에 포함된 장치 어드레스(DA)를 어드레스 증분 연산자(149)에 제공하여, "+1"의 계산을 실행한다. 그에 따라, 계산된, 즉 증분된 어드레스(DA+1)가 장치 컨트롤러/프로세서(142A)에 출력된다. 증분된 장치 어드레스는 SOP를 통해 다음의 장치에 공급된다. 유형 매치 표시(143M)나 어드레스 매치 표시(147M) 중 어느 것도 제공되지 않는 경우에, 장치 컨트롤러/프로세서(142A)는 명령을 SOP를 통해 다음의 장치에 보낸다.
도 2c에 도시한 바와 같은 데이터 액세스 단계(36)의 정상 동작에서, 유형 매치 표시(143M) 및 어드레스 매치 표시(147M)에 응답하여, 장치 컨트롤러/프로세서(142A)는 SI에 포함되는 수신된 명령을 수행한다. 유형 매치 표시(143M)나 어드레스 매치 표시(147M) 중 어느 것도 제공되지 않는 경우에, 장치 컨트롤러/프로세서(142A)는 명령을 SOP를 통해 다음의 장치에 보낸다.
도 4b는 도 3f에 도시한 메모리 장치로서 사용되는 일례의 메모리 장치를 도시한다. 도 4b에 도시한 메모리 장치(140B)는 도 3f에 도시한 메모리 장치 중 어느 하나를 나타낸다. 메모리 장치(140B)는 도 4a에 도시한 메모리 장치(140A)와 유사하다. 메모리 장치(140B)의 장치 컨트롤러/프로세서(142B)는 자신에게 공급된 입력 클록과 동기화된 출력 클록을 출력하기 위한 클록 싱크로나이저(191)를 포함한다. 클록 싱크로나이저(191)는, 이전의 메모리 장치로부터 입력된 클록 신호(SCLK)의 출력 에코 클록 신호(SCLK_0)를 제공하는 위상 동기 루프(PLL: phase-locked loop)나 지연 동기 루프(DLL: delay-locked loop)를 포함할 수도 있다. 장치(140B)의 다른 동작은 도 4a에 도시한 장치(140A)의 동작과 동일하다.
도 3a ∼ 도 3f를 참조하여 앞서 제기한 예에서, 메모리 장치의 각각은 레지스터(예컨대, 장치 유형 레지스터(146))를 갖는다. 플래시 메모리(예컨대, NAND 플래시, NOR 플래시 메모리)는, 예컨대, 제조업자 코드, 메모리 밀도, 페이지 크기, 블록 크기, 뱅크의 수, I/O 구성, 또는 임의의 중요한 AC/DC 특징과 같은 유용한 정보를 식별하기 위해, 플래시 셀 코어 어레이의 여분의 섹션을 사용하는, 장치 내부에 공장에서 프로그래밍된 레지스터를 포함한다. 그러나 앞서 논급한 바와 같이, 일부 구현예에서, 레지스터는 장치 유형의 식별을 유지하기 위해 사용된다. 레지스터가 장치 유형을 표시하는 많은 방식이 있다. 일례를 도 5a를 참조하여 아래에 제공한다.
도 5a를 참조하면, 일례의 레지스터 블록(120)은, 일종의 물리적인 하드 프로그램 가능한 레지스터 유닛인 유형-레지스터를 갖는다. 레지스터 블록(120)은 eFuse(전기적으로 프로그램 가능한 퓨즈) 어레이(121)와 eFuse 레벨 검출 로직 유닛(122)을 갖는다. 예시된 예에서, eFuse 어레이(121)는 비트 7, 6, 5,..., 1 및 0의 8-비트 구성을 갖도록 도시되어 있다. 이 특정 예에서는, 제1의 4 비트 7-4는 '0000'이고, 제2의 4비트 3-0은 '0111'이다. 이것은 예컨대 '07h'(=00000111)를 나타낸다. 특정한 구현예에서, 이 구성은 PCRAM 메모리 유형을 표시한다. 서로 다른 구성은 서로 다른 장치 유형을 표시할 수도 있다. 예시된 예에서, ‘닫힌’ 및 ‘열린’ 퓨즈는 각각 ‘0’ 및 ‘1’을 표시한다. 그러한 ‘0’ 및 ‘1’로직은 eFuse 레벨 검출 로직 유닛(122)에 의해 검출되고, 검출된 비트 상태(비트 7-0)는 도 4a에 도시한 장치 컨트롤러/프로세서(142A)에 제공된다. 대안적으로, 레지스터 블록(120)은 종래의 폴리 또는 금속 퓨즈, OTP(One Time Programmable memory), 또는 임의의 비휘발성 프로그램 가능한 소자를 가질 수도 있다.
도 5b는 각 장치 유형에 대한 일례의 인코딩 스킴의 테이블을 도시한다. 이 테이블에서, 'RFU'는 'Reserved for Future Usage'를 의미한다. 도 5b를 참조하면, 테이블은 10개의 메모리 유형: NAND 플래시, NOR 플래시, DRAM, SRAM, PSRAM, DiNOR 플래시, FeRAM, PCRAM, 직렬 EEPROM, 및 MRAM의 각각에 대한 인코딩 스킴을 정의한다. 예컨대, SRAM 메모리 유형은 '03h'의 인코딩 스킴을 갖는다. NAND 플래시 유형은 '00h'로서 할당되는데 반해, NOR 플래시 유형은 '01h'로서 할당된다. 이 예에서, 비트 구조는 MSB(최상위 비트) 내지 LSB(최하위 비트)이다. 다른 구현예에서, 이것은 그 순서가 반전될 수 있어서, MSB 대신에 먼저 LSB에서 시작한다. 일부 레지스터 구성은 장래의 사용(RFU)을 위해 예약된다.
도 2c에 도시한 초기화 단계(35)를 구현하는 많은 방식이 있다. 앞서 논급한 바와 같이, 각 메모리 장치는 메모리 유형을 갖는다. 유형-의존 어드레싱에 의해 장치 어드레스를 할당하는 방법을 도 6a를 참조하여 후술할 것이다.
도 6a는 유형-의존 어드레싱에 의해 장치 어드레스를 할당하는 방법을 도시한다. 이 프로세스는 단지 예시용으로만 매우 구체화되어 있음을 이해해야 한다. 이 방법은 복수의 메모리 장치가 직렬로 상호 접속된 임의의 메모리 시스템(예컨대, 도 3b에 도시한 메모리 시스템)에 적용될 수 있다.
도 3b 및 도 6a를 참조하면, 파워 업 초기화(단계 6-1)가 있을 때, 메모리 컨트롤러(50)는 장치 유형 'm'의 메모리 장치에 대한 기록 장치 어드레스 동작을 실행한다(단계 6-2). 기록 장치 어드레스 동작은 '00h'의 타깃 장치 어드레스(TDA)를 가지며, 이는 모든 메모리 장치가 파워 업 동안에 초기에 '00h'로 설정된 장치 어드레스를 갖기 때문이다. 기록 장치 어드레스 동작이 각 메모리 장치를 일주할 때, 그 타깃 장치 어드레스는 '00h'로 남게 되어, 각 메모리 장치는 기록 장치 어드레스 동작을 처리한다. 기록 장치 어드레스 동작은 각각의 메모리 장치를 일주한다. 장치 유형 'm'의 각 메모리 장치는 기록 장치 어드레스 동작에 의해 표시되는 장치 어드레스를 기초로 해서 그 장치의 장치 어드레스가 할당된다. 그 장치의 장치 어드레스가 할당된 각 메모리 장치는 기록 장치 어드레스 동작에 의해 표시되는 장치 어드레스를 다음의 메모리 장치에 보내기 전에 증분한다.
결국, 기록 장치 어드레스 동작은 메모리 컨트롤러(50)로 되돌아간다. 기록 장치 어드레스 동작이 대기(단계 6-4)를 거쳐 신호 입력 인에이블 에코(IPEQ) 및 직렬 입력(SIP)(단계 6-3에서 YES)에 의해 표시되는 바와 같이 메모리 컨트롤러(50)에 되돌아 도달한다면, 메모리 컨트롤러(50)는, 장치 유형("m")의 메모리 장치의 넘버가 기록 장치 어드레스 동작에 의해 표시된 장치 어드레스("NA")와 동일하다고 판정할 것이며, 메모리 컨트롤러(50)는 'm'을 증분한다(단계 6-5). 그 이후, 메모리 컨트롤러(50)는 'm'의 값을 기초로 해서 다른 장치 유형이 있는지를 판정한다(단계 6-6). 다른 장치 유형이 있다면(단계 6-6에서 YES), 동작은 단계 6-2로 되돌아갈 것이다. 각 다른 장치 유형에 대해, 메모리 컨트롤러(50)는 단계 6-2 내지 6-5를 반복한다. 메모리 컨트롤러(50)는 장치 어드레스를 'm'에 대한 모든 가능한 값에 상당하는 모든 가능한 장치 유형의 메모리 장치에 할당하려고 시도한다. 이것은, 메모리 컨트롤러(50)가 어떤 장치 유형이 메모리 시스템 내에 존재하는지를 미리 알지 못할 수 있기 때문에 실행된다. 더 이상의 다른 장치 유형이 없을 때(단계 6-6에서 NO), 프로세스는 종료한다(단계 6-7).
상술한 단계 6-2의 상세한 내용을 도 6b에 도시한다. 도 3b, 도 4a, 도 6a 및 도 6b를 참조하여, 기록 장치 어드레스 동작을 수신한 장치는, 수신한 장치 유형 'm'이 장치 유형 레지스터(146)에 등록된 장치 유형에 매치하는지를 판정한다(단계 6-8). 이것은 장치 컨트롤러/프로세서(142A) 및 장치 유형 매치 판정자(143)에 의해 실행된다. 장치 유형 매치가 있다면(단계 6-8에서 YES), 장치는 또한, 타깃 장치 어드레스(TDA)가 장치 어드레스 레지스터(148)에 등록된 장치 어드레스에 매치하는지를 판정할 것이다(단계 6-9). 이것은 장치 컨트롤러/프로세서(142A) 및 어드레스 매치 판정자(147)에 의해 실행된다. 장치 어드레스 매치가 있다면(단계 6-9에서 YES), 수신한 장치 어드레스가 장치 어드레스 레지스터(148)에 등록될 것이고(단계 6-10), 수신한 장치 어드레스는 증분될 것이다(DA+1)(단계 6-11). 그러한 장치 어드레스 증분은 장치 컨트롤러/프로세서(142A) 및 어드레스 증분 연산자(149)에 의해 실행된다. 장치 유형 매치가 없다면(단계 6-8에서 NO), 장치 어드레스 할당과 장치 어드레스 증분이 모두 실행되지 않을 것이다. 또한, 장치 어드레스 매치가 없다면(단계 6-9에서 NO), 장치 어드레스 할당과 어드레스 증분이 모두 실행되지 않을 것이다.
도 6a 및 도 6b를 참조하여 상술한 프로세스를 더 설명하기 위해, 타이밍 도를 도 7a, 도 7b, 도 7c 및 도 7d를 참조하여 후술할 것이다.
도 7a, 도 7b, 도 7c 및 도 7d는 유형-의존 어드레싱에 의해 장치 어드레스를 할당하기 위한 신호에 대한 타이밍 시퀀스를 도시한다. 이 타이밍 도는 하나의 NOR-유형 플래시 장치와 'n'개의 NAND-유형 플래시 장치가 상호 접속되어 있는 메모리 시스템으로부터 유래할 수 있는 신호들의 예를 도시한다. 이러한 종류의 메모리 시스템은 도 3d의 메모리 시스템(42)과 유사하다.
전술한 바와 같이, 메모리 컨트롤러에 의해 발행된 메모리 명령은 포맷된다. 예컨대, 메모리 시스템에서, NAND 플래시 장치만이 "0"으로부터 장치 어드레스가 할당되며, 메모리 컨트롤러에 의해 발행된 메모리 명령은 다음과 같다:
메모리 명령(2)
Figure pat00003
이 메모리 명령에서:
TYPE(00h)은 "NAND 플래시" 장치를 식별한다(도 5b 참조).
TDA(00h)는, 초기화 동작이 실행될 때 장치 어드레스 "0"을 홀딩하는 장치를 식별한다. 직렬 상호접속 구성의 모든 메모리 장치가 "0"으로 리셋되었다고 가정한다.
CMD(39h)는 수행될 동작이 "기록 장치 어드레스"임을 식별한다(표 1 참조).
DATA(00h)는 장치 어드레스의 초기 넘버가 "0"임을 식별한다.
도 7a ∼ 도 7d를 참조하면, 타이밍 도의 상단에, 7-1로 나타낸 파워(VDD)에 대한 신호가 있다. 타이밍 도는 7-2 및 7-3으로 각각 나타내는 바와 같은 장치_0에 대한 입력 인에이블(IPE) 및 직렬 입력(SIP)에 대한 신호들을 포함한다. 타이밍 도는 7-4 및 7-5로 각각 나타내는 바와 같은 장치_1에 대한 입력 인에이블(IPE_1) 및 직렬 입력(SIP_1)에 대한 신호들을 포함한다. 타이밍 도는 7-6 및 7-7로 각각 나타내는 바와 같은 장치_2에 대한 입력 인에이블(IPE_2) 및 직렬 입력(SIP_2)에 대한 신호들을 포함한다. 타이밍 도는 7-8 및 7-9로 각각 나타내는 바와 같은 장치_(n-1)에 대한 입력 인에이블(IPE_n-1) 및 직렬 입력(SIP_n-1)에 대한 신호들을 포함한다. 타이밍 도는 7-10 및 7-11로 각각 나타내는 바와 같은 장치_n에 대한 입력 인에이블(IPE_n) 및 직렬 입력(SIP_n)에 대한 신호들을 포함한다. 마지막으로, 타이밍 도는, 7-12 및 7-13으로 각각 나타내는 바와 같이, 메모리 시스템의 직렬 상호접속 구성에서 최종 메모리 장치인 장치_n에 대한 입력 인에이블 에코(IPEQ) 및 직렬 출력(SOP)에 대한 신호들을 포함한다.
예컨대, 이러한 종류의 메모리 시스템이 도 3d의 메모리 시스템(42)에 적용된다면, 장치_0, _1,...,_(n-1) 및 _n은 각각 메모리 장치(92, 93,..., 94 및 95)에 상당할 것이다.
도 3d 및 도 7a ∼ 도 7d를 참조하면, 메모리 시스템은 VDD(7-1)에 의해 나타내는 바와 같이 파워 온되어 하이(high) 상태로 천이한다. 그 직후, 제1 기록 장치 어드레스 동작(7-14)이 메모리 컨트롤러(50)에 의해 발행된다. 제1 기록 장치 어드레스 동작(7-14)은 NAND 플래시의 장치 유형을 나타낸다. 제1 기록 장치 어드레스 동작(7-14)은 각 메모리 장치를 일주한다. 각 NAND 플래시 메모리 장치에는, 기록 장치 어드레스 동작에 의해 표시되는 장치 어드레스를 기초로 하여 그 장치의 장치 어드레스가 할당된다. 그 장치의 장치 어드레스가 할당된 각 메모리 장치는 제1 기록 장치 어드레스 동작에 의해 표시되는 장치 어드레스를 다음의 메모리 장치에 보내기 이전에 증분한다. 'n'개의 NAND 플래시 메모리 장치에 상당하는 총 'n'회의 증분이 있다. 최종 메모리 장치에 의한 증분은 없으며, 이것은 이 메모리 장치가 NAND 플래시 장치가 아니라, 오히려 NOR 플래시 장치이기 때문이다. 제1 기록 장치 어드레스 동작(7-14)은 메모리 컨트롤러로 되돌아간다. 메모리 컨트롤러는, NAND 플래시 장치의 수를 제1 기록 장치 어드레스 동작에 의해 표시되는 바와 같은 'n'과 동일하다고 판정한다.
메모리 컨트롤러(50)는 각 다른 장치 유형에 대해 다른 기록 장치 어드레스 동작을 발행한다. NOR 플래시의 장치 유형을 나타내는 제2 기록 장치 어드레스 동작(7-15)이 발행된다. NOR 플래시 장치의 장치 어드레스 할당을 위한 메모리 명령은 다음과 같다:
메모리 명령(3)
Figure pat00004
제2 기록 장치 어드레스 동작(7-15)은 각 메모리 장치를 일주한다. NAND 플래시 장치의 어느 것도 제2 기록 장치 어드레스 동작에 의해 표시되는 장치 어드레스를 증분시키지 않는다. NOR 장치인 최종 메모리 장치는 그 장치 어드레스(TDA)가 '00h'로 할당된다. 최종 메모리 장치는 또한 제2 기록 장치 어드레스 동작에 의해 표시되는 장치 어드레스를 메모리 컨트롤러에 보내기 이전에 증분한다. 제2 기록 장치 어드레스 동작(7-15)의 수신시에, 메모리 컨트롤러는 제2 기록 장치 어드레스 동작에 의해 표시되는 장치 어드레스에 기초하는 하나의 NOR 장치가 있는지를 판정한다.
추가적인 기록 장치 동작들이 메모리 컨트롤러에 의해 발행될 수 있지만, 간략화를 위해 도시되지 않았다. 예컨대, SRAM들이 디바이스 장치들로 할당되는 경우에는, 메모리 컨트롤러에 의해 발행되는 메모리 명령의 유형은 “03h”일 것이다(도 5b 참조).
직렬 상호 접속 구성의 장치들은 메모리 컨트롤러에 의해 발행되는 명령들에 응답하여 동작들을 실행한다.
도 3d, 4a 및 도 7a 내지 7d를 참조하여 보면, 메모리 컨트롤러(50)는 NAND 플래시의 장치 유형에 대해 제2 기록 장치 어드레스 동작을 발행한다. IPE 하이인 동안에, SIP에 포함된 TYPE(NAND 플래시), TDA(0Oh), CMD(39h) 및 DATA(0Oh)가 제1 장치(92)(즉, 장치_0)에 공급된다. CMD(39h)는 장치(92)의 장치 컨트롤러/프로세서(142A)로 하여금 “기록 장치 어드레스” 동작을 실행하게끔 한다. 장치 유형 레지스터(146)에 홀딩된 SIP(DTs)의 TYPE와 장치 유형(DTr)의 양쪽은 NAND 플래시이고, 따라서, 장치 유형 매치 판정자(143)는 장치 유형 매치 결과(즉, 유형 매치 표시(143M))를 제공한다. 또한, TDA는 장치 어드레스 레지스터(148)에 홀딩된 장치 어드레스(DAr)에 매치하는 ‘00h’(DAs)이고, 어드레스 매치 판정자(147)는 장치 어드레스 매치 결과(즉, 어드레스 매치 표시(147M))를 제공한다. 장치 유형 매치 결과에 응답하여, 어드레스 증분 연산자(149)는 어드레스 증분(“DA+1”)을 획득하기 위해 DATA 및 1의 덧셈을 실행한다. 장치 어드레스 매치 결과에 응답하여, 장치 컨트롤러/프로세서(142A)는 장치 어드레스 레지스터(148)로 하여금 이전에 홀딩된 어드레스를 수신된 어드레스(SIP의 DATA의 수 또는 값)로 대체하게 하며, 그리하여 장치(92)는 “NAND-0”으로 설정된다. SIP의 DATA의 수는 증분된 어드레스 수에 의해 대체된다. DATA를 제외한 (SIP의) 전체 명령은 바이패스된다. 따라서, 증분된 DATA(01h), CMD(39h), TDA(00h) 및 TYPE(NAND 플래시)를 포함하는 수정된 SIP(SIP_1)는 다음의 장치(93)(즉, 장치_1)에 송신된다.
이 동작들은, IPE의 하이로의 천이와 IPE_1의 하이로의 천이 사이의 기간 동안에 실행된다. 장치(93)는 동일 동작들을 실행하며 “NAND-1”로 설정된다. DATA를 제외한 (SIP_1의) 전체 명령은 바이패스된다. 이 동작들은, IPE_1의 하이로의 천이와 IPE_2의 하이로의 천이 사이의 기간 TP1-1 동안에 실행된다. 수신된 DATA는 1만큼 증분되며 증분된 DATA(02h)는 장치(93)로부터 다음의 장치(94)(즉, 장치_2)의 SIP_2에 포함된다. 이 동작들은 기간 TP1-2 동안에 실행된다. 유사하게, 장치(94)는 동일 동작들을 실행하며 “NAND-(n-1)”로 설정된다. DATA를 제외한 (SIP_(n-1)의) 전체 명령은 바이패스된다. 이 동작들은, IPE_(n-1)의 하이로의 천이와 IPE_n의 하이로의 천이 사이의 기간 TP1-(n-1) 동안에 실행된다. 하지만, 장치(95)는 동일 동작들을 실행하지 않는다. SIP_n에 포함되는 DATA(nh), CMD(39h), TDA(00h) 및 TYPE(NAND 플래시)의 입력 명령에 응답하여, 장치(95)는 장치 유형 비매치(즉, 미스매치(mismatch))라고 판정하고 명령을 무시한다. 따라서, DATA(nh)는 다음의 장치에 대해 DATA 증분 없음으로 변하지 않은 채로 남는다. 장치(95)(최종 장치)로부터 출력되는 명령은 기간 TP1-SO 동안에 피드백으로서 메모리 컨트롤러(50)에 전송된다. 메모리 컨트롤러(50)는 DATA의 수나 값에서 “n”인 NAND-유형 장치들의 총 수를 인식한다.
그 후, 메모리 컨트롤러(50)는 NOR 플래시의 장치 유형에 대해 제2 기록 장치 어드레스 동작을 발행한다. 다시 IPE 하이인 동안에, SIP에 포함되는 DATA(00h), CMD(39h), TDA(00h) 및 TYPE(NOR 플래시)가 제1 장치(92)(즉, 장치_0)에 공급된다. CMD(39h)는 디바이스(92)의 장치 컨트롤러/프로세서(142A)로 하여금 장치 유형 매치 판정을 실행하게 한다. SIP(DTs)의 TYPE은 NOR 플래시이고, 장치 유형 레지스터(146)에 홀딩되는 장치 유형(DTr)은 NAND 플래시이다. 따라서, 장치 유형 매치 판정자(143)는 장치 유형 비매치(또는 미스매치)를 제공하며, 장치(92)는 수신된(또는 입력된) 기록 장치 어드레스 명령을 무시한다. DATA는 증분 없음으로 변하지 않은 채로 남는다. 장치(92)(장치 컨트롤러/프로세서(142A))는 TYPE(NOR 플래시), TDA(00h), CMD(39h) 및 DATA(0Oh)를 다음의 장치(93)에 보낸다. 증분되지 않은 DATA(00h), CMD(39h), TDA(00h) 및 TYPE(NOR 플래시)를 포함하는 수정되지 않은 SIP(SIP_1)는 다음의 장치(93)(즉, 장치_1)에 전송된다. 이 동작들은, IPE의 하이로의 천이와 IPE_1의 하이로의 천이 사이의 기간 TP2-SI 동안에 실행된다.
수신된 SIP_1에 응답하여, 장치(93)는 동일한 동작들을 실행한다. 장치 유형의 미스매치로 인하여, 장치(93)(장치 컨트롤러/프로세서(142A))는 수신된 명령(기록 장치 어드레스)을 무시하며 DATA 바이트는 증분 없음으로 변하지 않은 채로 남는다. 장치(93)는 SIP_2에 포함되는 DATA(00h), CMD(39h), TDA(00h) 및 TYPE(NOR 플래시)를 다음의 장치(94)(즉, 장치_2)에 보낸다. 이 동작들은, IPE의 하이로의 천이와 IPE_2의 하이로의 천이 사이의 기간 TP2-1 동안에 실행된다. 유사하게, DATA(00h), CMD(39h), TDA(00h) 및 TYPE(NOR 플래시)를 포함하는 SIP_2에 응답하여, 장치(94)는 동일 기능들을 실행한다. 장치 유형의 미스매치로 인하여, 장치(94)는 기록 장치 어드레스를 무시하며, DATA 바이트는 증분 없음으로 변하지 않은 채로 남는다. 이 동작들은 기간 TP2-(n-1) 동안에 실행된다.
DATA(00h), CMD(39h), TDA(00h) 및 TYPE(NOR 플래시)를 포함하는 SIP_n에 응답하여, 장치(95)는 장치 유형 매치 판정을 실행한다. 장치 유형 레지스터(146)에 홀딩되는 장치 유형(DTr)과 SIP(DTs)의 TYPE의 양쪽은 NOR 플래시이며, 따라서, 장치 유형 매치 판정자(143)는 장치 유형 매치 결과(즉, 유형 매치 표시(143M))를 제공한다. 또한, TDA는 장치 어드레스 레지스터(148)에 홀딩된 장치 어드레스(DAr)에 매치하는 ‘00h’(DAs)이고, 따라서, 어드레스 매치 판정자(147)는 장치 어드레스 매치 결과(즉, 어드레스 매치 표시(147M))를 제공한다.
장치 유형 매치 결과에 응답하여, 어드레스 증분 연산자(149)는 어드레스 증분(“DA+1”)을 획득하기 위해 DATA 및 1의 덧셈을 실행한다. 장치 어드레스 매치 결과에 응답하여, 장치(95)의 장치 컨트롤러/프로세서(142A)는 장치 어드레스 레지스터(148)로 하여금 이전에 홀딩된 어드레스를 수신된 어드레스(SIP의 DATA의 수 또는 값)로 대체하게 하며, 그리하여 장치(95)는 “NOR-0”으로 설정된다. SIP의 DATA의 수는 증분된 어드레스 수에 의해 대체된다. DATA를 제외한 (SIP의) 전체 명령은 바이패스된다. 따라서, SOP에 포함된 증분된 DATA(01h), CMD(39h), TDA(00h) 및 TYPE(NAND 플래시)가 출력된다. 장치(95)가 최종 장치이므로, 출력 SOP는 메모리 컨트롤러(50)에 전송된다. 이 동작들은, IPE_n의 하이로의 천이와 IPEQ의 하이로의 천이 사이의 기간 TP2-n 동안에 실행된다. 장치(95)로부터 출력되는 명령은 기간 TP2-SO 동안에 피드백으로서 메모리 컨트롤러(50)에 전송된다. 메모리 컨트롤러(50)는 DATA의 값이나 수에서 “1”인 NO-유형 장치들의 총 수를 인식한다.
그 후, 시간 TAME에, 메모리 컨트롤러(50)는 다른 장치 유형에 대한 다른 기록 장치 어드레스 동작을 발행한다. 만약, 초기화될 장치 유형이 더 이상 없으면, 시스템(44)은 보통의 동작(예컨대, 도 2c에 도시된 바와 같은 단계 2)을 위해 준비된 상태로 있는다.
예시적인 세부들이 이제 도 3a 내지 3f를 참조하여 앞서 소개된 예시들과 관련하여 제공될 것이다. 이 세부들은 유형-의존 어드레싱(type-dependent addressing)을 갖는 구현들에 관련된다. 이 구현예들에 있어서, 각 메모리 장치는 장치 유형과 장치 어드레스를 갖고, 그 양쪽이 어드레싱 용도로 사용된다. 대안의 구현예들은 유형-의존 어드레싱을 사용하며, 그 세부들은 디퍼런트 섹션 헤더(different section header) 아래에 구비된다. 이 섹션에 구비되는 세부들은 예시만을 목적으로 매우 상세하다는 것이 이해된다.
도 8은 유형-의존 어드레싱이 있는 예시적인 입력의 신호들에 대한 타이밍 시퀀스를 도시한다. 이 타이밍도는 도 3a 내지 3f를 참조하여 앞서 기술된 예시적인 메모리 시스템들의 모든 메모리 장치에 적용될 수 있다. 타이밍도의 상부에 있어서, 8-1에 의해 표시되는 바와 같은 칩 선택(CS#) 및 8-2에 의해 표시되는 바와 같은 직렬 클록(SCLK)에 대해 신호들이 플로트(plot)된다. 또한, 타이밍도는 입력 인터페이스에 대한 신호들 즉, 8-3에 의해 표시되는 바와 같은 입력 인에이블(IPE), 8-4에 의해 표시되는 바와 같은 직렬 입력(SIP), 및 8-5에 의해 표시되는 바와 같은 출력 인에이블(OPE)을 포함한다. 또한, 타이밍도는 출력 인터페이스로부터의 신호 즉, 8-6에 의해 표시되는 바와 같은 직렬 출력(SOP)을 포함한다.
칩 선택 CS# 8-1은 활성‘로(low)’이고 따라서, 메모리 시스템에 접속된 메모리 장치들의 전체를 인에이블시키기 위해 논리‘로’이어야 한다. SCLK 8-2는 프리 러닝(free running) 직렬 클록 신호이다. IPE 8-3은 논리‘로’로부터 직렬화된 바이트 모드의 입력 스트림의 시작을 나타내는 논리‘하이'로의 천이점을 갖는다. 논리‘하이’상태의 IPE 8-3을 수신하는 메모리 장치는 바이트 모드 정의의 SIP 포트를 통해 데이터 스트리밍을 처리하도록 준비되어야 한다. SIP 8-4의 제1 바이트는 ‘장치 유형’의 정보를 반송한다. 상기 제1 바이트는, MSB(최상위)가 첫 번째이고, LSB(최하위 비트)가 마지막인, 상승 에지들을 기준으로 하는 SCLK 8-2의 8 사이클을 포함한다. 제1 바이트 후에, SIP 8-4의 제2 바이트가 계속해서 ‘장치 어드레스’정보(예컨대, 타깃 장치 어드레스(TDA))를 반송한다. 제3 바이트는 제2 바이트에 뒤 이어서‘명령’정보를 반송하며, 제4, 제5, 및/또는 제6 이상의 바이트들이 뒤 이어서 ‘로우/칼럼 어드레스들’을 반송한다. 적용할 수 있을 경우(예컨대, 기록-관련 동작들), 하나 이상의 데이터 입력 바이트들이 뒤따른다.
타이밍도에 도시된 바와 같이, IPE 8-3과 함께 SIP 8-4의 ‘직렬 바이트’의 배열이 SCLK 8-2의 상승 에지를 이용하는 일련의 8 클록 사이클로서 정의된다. 다른 구현예들에 있어서, SCLK 8-2의 하강 에지들이 또한 사용될 수 있다. 만약, SCLK 8-2의 상승 에지들과 하강 에지들의 양쪽이 사용되면, 클로킹(clocking)의 ‘이중-에지’로 인해 하나의‘직렬 바이트’를 형성하기 위해 4 클록 사이클만이 필요할 것이다. 1 바이트는 8 비트를 포함하며, 1 비트는 논리 ‘하이’ 또는 논리 ‘로’의 상태를 나타낸다.
예시된 예에 있어서, 메모리 장치가 다음 메모리 장치에 대한 데이터 출력이 가능하지 않으므로, SOP 8-6은 논리 ‘돈 케어(don’t care)’로 표시된다. 하지만, 메모리 장치가 다음 메모리 장치에 대한 데이터 출력이 가능하였다면, 메모리 장치는 논리 ‘하이’로 구동되는 출력 인에이블(OPE)을 가질 것이고 SOP 8-6는 논리 ‘돈 케어’가 아닐 것이다.
대안적으로, SIP 8-4의 바이트는 LSB가 첫 번째로 가고 MSB가 마지막 위치로 가는 정보를 반송한다.
메모리 장치가 데이터를 수신하고 데이터를 다음 메모리 장치에 전하는 예가 도 9를 참조하여 하기에 제공된다.
도 9는 2개의 인접한 메모리 장치들을 통한 예시적인 시그널링의 타이밍 시퀀스를 도시한다. 이 타이밍도는 도 3c, 3D, 3e 및 3e를 참조하여 앞서 기술된 예시적인 메모리 시스템들의 인근 메모리 장치들의 각 상에 적용될 수 있다. 본 예에 있어서, 장치 0으로 명명된 제1 장치, 및 장치 1로 명명된 제2 장치는 설명을 목적으로 선택되었다. 모든 신호명의 접미사 ‘_D0’및 ‘_D1’는, 설명을 목적으로 2개의 장치들, 장치 0 및 장치 1을 각각 나타낸다. 타이밍도의 상부에 있어서, 9-1로 표시된 바와 같은 직렬 클록(SCLK)에 대해 신호가 플로트된다. 다음, 타이밍도는, 장치 0의 입력 인터페이스에 대한 신호들 즉, 9-2, 9-3 및 9-4로 각각 표시된 바와 같은 입력 인에이블(IPE_D0), 직렬 입력(SIP_D0) 및 출력 인에이블(OPE_D0)을 포함한다. 다음, 타이밍도는, 장치 1의 출력 인터페이스에 대한 신호들 즉, 9-5, 9-6 및 9-7로 각각 표시된 바와 같은 직렬 출력(SOP_D0), 입력 인에이블 에코(echo)(IPEQ_D0) 및 출력 인에이블 에코(OPEQ_D0)를 포함한다. 다음, 타이밍도는, 장치 1의 입력 인터페이스에 대한 신호들 즉, 9-8, 9-9 및 9-10으로 각각 표시된 바와 같은 입력 인에이블(IPE_D1), 직렬 입력(SIP_D1) 및 출력 인에이블(OPE_D1)을 포함한다. 제2 메모리 장치, 장치 1의 입력 인터페이스로 입력되는 신호들은 제1 메모리 장치, 장치 0의 출력 인터페이스로부터 출력되는 신호들에 일치한다. 다음, 타이밍도는, 장치 1의 출력 인터페이스로부터 출력되는 신호들 즉, 9-11, 9-12 및 9-13으로 각각 표시된 바와 같은 직렬 출력(SOP_D1), 입력 인에이블 에코(IPEQ_D1) 및 출력 인에이블 에코(OPEQ_D1)를 포함한다.
타이밍도는 설명의 용도로만 제공되며, 따라서 전체 파형들은 실제 동작을 나타내지 않는다. 시간 T2에 있어서, SCLK 9-1의 상승 에지에서의 논리 ‘하이’ 상태로의 IPE_D0 9-2의 천이는 SIP_D0 9-3을 통한 직렬 데이터 스트림-인(stream-in)의 시작을 의미한다. 다음, 장치 0은 SIP_D0 9-3를 수신하기 시작하고 직렬 스트림-인 정보에 따른 적절한 동작을 처리한다. 또한, 장치 0은 IPE_D0 9-4의 논리‘하이’상태를 장치 1의 IPE 포트에 접속된 IPEQ_D0 9-6에 에코한다. 또한, SIP_D0 9-3의 스트림-인 데이터는 장치 1의 SOP 포트에 접속된 SOP_D0 9-5에 에코된다. 이 절차는, IPE_D0 9-2의 논리 ‘로’ 상태가 SCLK 9-1의 상승 에지에서 검출되는, 시간 T10까지 계속된다. 장치 1 레벨에 있어서, IPEQ_D0 9-6이 배선이나 다른 상호 접속 방법을 통해 IPE_D1 9-8에 직접적으로 접속되므로, IPE_D1 9-8은 장치 0 레벨의 IPEQ_D0 9-7 신호와 논리적으로 동일한 신호 파형을 나타낸다. SOP_D0 9-5가 배선이나 다른 상호 접속 방법을 통해 SIP_D1 9-9에 직접적으로 접속되므로, SIP_D1 9-9는 장치 0 레벨의 SOP_D0 9-5 신호와 논리적으로 동일한 신호 파형을 나타낸다. 장치 1에 있어서, 장치 0에서와 유사한 절차가 발생하여, SIP_D1 9-9의 SOP_D1 9-11로의 에코 및 IPE_D1 9-8의 IPEQ_D1 9-12로의 에코를 초래한다.
예시된 예에 있어서, 에코 절차를 위한 1 클록 사이클 레이턴시(latency)가 있다. 하지만, 보다 일반적으로, 적절한 클록 사이클 레이턴시가 구현될 수 있다. 예를 들어, 하프(half) 클록 사이클, 2 클록 사이클, 또는 2 클록 사이클보다 많은 사이클의 클록 사이클 레이턴시가 구현될 수 있다. 각 메모리 장치를 통한 클록 사이클 레이턴시는 메모리 시스템의 총 클록 레이턴시를 결정한다. 시스템의 1 클록 사이클 레이턴시와 4개의 장치들을 가정하면, 최종 장치의 SOP_D3, IPEQ_D3는 SIP_D0 9-3, IPE_D0 9-2 신호들로부터의 4 클록 사이클 레이턴시를 가질 것이다. 장치 0 레벨의 T13으로부터 T17까지, OPE_D0 9-4 신호는 활성이고, 신호 SOP_D0 9-5를 통해 장치 0으로부터의 직렬 출력 동작을 유발한다. 시간 T10에 있어서, OPE_D0의 9-4 논리 ‘하이’ 상태는 SCLK 9-1의 상승 에지에서 검출되며, 그 후 장치 0은, 장치의 이전 조건에 따라 SOP_D0 9-5를 통해 직렬 데이터 스트림을 출력하기 시작한다. 이러한 예에 있어서, 장치 0은 직렬 데이터를 출력하도록 선택되고, 장치 1은 선택되지 않으며, 따라서, 장치 1은 SIP_D1 9-9 신호(SOP_D0 9-5에 동일)를 SOP_D1 9-11 포트에 다만 에코만 한다. OPE 포트들과 함께하는 직렬 출력 동작은 직렬 입력 절차와 동일한 클록 레이턴시를 갖는다.
도 3a 내지 3f를 참조하여 기술된 예들에 있어서, 최종 장치(83, 87, 91, 95 또는 99)로부터의 출력 인에이블 에코(OPEQ)(69)는 각각의 메모리 컨트롤러(50)에 접속된다. 이러한 방식으로, 메모리 컨트롤러(50)는, 상호 접속된 장치들에 의해 결정되는, 클록 레이턴시의 수를 카운트할 필요가 없다. 메모리 컨트롤러는 최종 장치로부터의 OPEQ 신호의 상승점을 검출할 수 있고 상호 접속의 장치들로부터 질렬 데이터 출력 스트리밍(streaming)의 시작점을 결정할 수 있다. 최종 장치(83, 87, 91, 95 또는 99)로부터의 출력 인에이블 에코(OPEQ)(69)가 메모리 컨트롤러(10)에 접속되지 않는 대안의 구현예들에 있어서, 메모리 컨트롤러(50)는 클록 레이턴시의 종전의 인식에 기반하여, 직렬 데이터가 직렬 입력(SIP)(59)를 통해 수신될 시간에 대해서 예측할 수 있다.
도 8 및 9를 참조하여 앞서 기술된 타이밍도에 있어서, SIP 및 (적용될 수 있다면) SOP에 대해 플로트된 신호들은 미리 정해진 포맷을 따르는 메모리 동작을 포함한다. 메모리 동작들에 대한 예시적인 미리 정해진 포맷들의 테이블은, 도 10을 참조하여 후술된다.
도 10은 유형 의존 어드레싱이 있는 메모리 동작들에 대한 예시적인 미리 정해진 포맷들의 테이블을 나타낸다. 이 테이블은 예시만을 목적으로 매우 상세하다는 것이 이해된다. 테이블에 있어서,
TYPE: 타깃 장치 유형
TDA: 타깃 장치 어드레스
CMD: 명령 코드
CA: 칼럼 어드레스
RA: 로우 어드레스
주 *1: TDA(타깃 장치 어드레스)는, 파워-업(power-up) 또는 하드 리셋(hard reset) 후에 제1 기록 장치 어드레스 명령이 발행될 때, ‘00h’이다.
도 10을 참조하여 보면, 표는 상이한 메모리 동작들에 대한 다양한 포맷들을 나타낸다. 표에 있어서, 판독, 기록, 소거, 판독 상태, 판독 ID, 기록 구성 레지스터, 기록 장치 어드레스, 및 리셋이 목록화된 8개의 메모리 동작들이 있다. 다른 메모리 동작들이 있을 수 있지만, 간략화를 목적으로 그것들은 도시되지 않았다. 제1 바이트는 장치 유형(TYPE)을 정의한다. 이 정보는, SIP 포트를 통한 데이터의 직렬 입력 스트림이 처리되어야 할지 말아야 할지의 여부를 결정하기 위해, 온-칩(on-chip) 사전 프로그램된 장치 유형 레지스터 값들과 비교될 수 있다. 장치 유형과 함께, 제2 칼럼은, 동일 장치 유형의 메모리 장치들 사이를 구별하는데 사용되는, 타깃 장치 어드레스(TDA)를 지정한다. 제3 바이트는 명령 정의(CMD)를 정의한다. 만약, 적절하다면(예컨대, 판독 동작들), 제4, 제5 및/또는 더 많은 바이트들이 로우 어드레스(RA) 및/또는 칼럼 어드레스(CA) 정보를 정의한다. 만약, 적절하다면(예컨대, 기록 동작들), 추가적인 바이트들이 동작에 의해 전송되는 데이터(DATA)를 정의한다.
장치 유형, 장치 어드레스, 및 명령은 그것들이 장치 유형에 특정되는 그러한 방식으로 인코드된다. 예시적인 인코딩 스킴들은 도 10 내지 13을 참조하여 후술된다. 이 스킴들은 예시만을 목적으로 매우 상세하다는 것이 이해된다. 인코딩 스킴들은 그들 자신의 용도를 위해 생산자들에 의해 상이한 방식들로 변경될 수 있다.
도 11은 유형-의존 어드레싱에 대한 일례의 인코딩 스킴의 테이블을 도시한다. 테이블에 있어서,
DA[7:0]: 장치 어드레스(본 예에 있어서, 장치들의 최대수 = 28 = 256)
DA[11:0]: 칼럼 어드레스(본 예에 있어서, 칼럼들의 최대수 = 212 = 4,096)
DA[17:0]: 로우 어드레스(본 예에 있어서, 로우들의 최대수 = 218 = 262,144)
도 11을 참조하여 보면, 테이블은 장치 어드레스(TDA), 로우 어드레스(RA), 및 칼럼 어드레스(CA)에 대한 인코딩 스킴을 정의한다. 이러한 예에 있어서, 장치 어드레스는 총 8 비트를 가지므로, 이 시스템에서 구성될 수 있는 장치들의 총 수는 28 = 256이다. 하지만, 장치 어드레스 정의는 다른 직렬 바이트(들)를 사용하여 적절히 확장될 수 있다. 또한, 로우 어드레스 및 칼럼 어드레스 바이트들은 장치 어드레스 포맷과 유사한 방식으로 도시된다. 도 5b의 테이블에 대해서 앞서 주목된 바와 같이, 테이블 정의는 대안적으로 LSB를 첫 번째로 하는 역순일 수 있다.
도 12는 유형-의존 어드레싱이 있는 NAND 플래시 명령들에 대한 일례의 인코딩 스킴의 테이블을 도시한다.
테이블에 있어서,
*1: 타깃 DA는, 파워-업 또는 하드 리셋 후에‘기록 장치 어드레스’ 명령이 발행될 때, 00h이어야 한다.
*2: 로우 및 칼럼 어드레스 바이트들은, 동일 위치 페이지 판독 명령이 전에 발행되었으면, 제공되지 않을 수 있다.
도 12를 참조하여 보면, 테이블은, 페이지 판독, 랜덤 데이터 판독, 카피를 위한 페이지 판독, 카피를 위한 타깃 어드레스 입력, 직렬 데이터 입력, 랜덤 데이터 입력, 페이지 프로그램, 블록 소거, 판독 상태, 판독 ID, 기록 구성 레지스터, 기록 장치 어드레스, 및 리셋의 13개의 명령들의 각각에 대한 인코딩 스킴을 정의한다. 각 명령은, 도 5b의 테이블에 따라서 NAND 플래시 메모리에 대해 ‘00h’인, 장치 유형(장치 TYPE)을 포함한다. 다음, 각 명령은 ‘유효’로 표시되는, 장치 어드레스(타깃 DA)를 포함한다. 장치 어드레스는 직렬 상호 접속의 특정 장치를 선택하기 위해 임의의 장치 어드레스를 식별할 수 있다. 장치 어드레스 칼럼은 적절하다면 더 많은 바이트들로 확장될 수 있다. 다음, 각 명령은 명령 정의를 포함한다. 도시된 명령 정의는 일반적인 NAND 플래시 메모리 명령 정의와 유사하다. 테이블에서 제4 칼럼 및 제5 칼럼은, NAND 플래시 장치의 메모리 셀 어레이 블록의 특정 로우 및 칼럼 위치의 선택을 위한, 로우 어드레스 및 칼럼 어드레스를 각각 나타낸다. 테이블에 도시된 바와 같이, 몇몇의 명령들은 로우 및/또는 칼럼 어드레스를 포함하지 않는다.
각 로우 및 칼럼 어드레스 범위에 대한 바이트들의 수는 특정 밀도에 대한 메모리 어레이 크기에 따라 변경될 수 있다. 로우 어드레스 및 칼럼 어드레스는 어느 쪽의 방식으로든 전환될 수 있다. 따라서, 칼럼 어드레스 바이트들은 대안적으로 첫 번째일 수 있고 로우 어드레스 바이트들은 칼럼 어드레스를 뒤 따를 수 있다. 그것은 특정 메모리 칩 설계 선호에 좌우된다. 최종 칼럼은, 예컨대, ‘직렬 데이터 입력(80h)’, '랜덤 데이터 입력(85h)' 및 ‘기록 구성 레지스터(A0h)’와 같은, ‘기록’ 동작 명령들에 대한 입력 데이터 칼럼 정의를 도시한다. 이 입력 데이터 바이트는 장치 세부에 따라 N-바이트들만큼 크거나 1 바이트만큼 작을 수 있다. ‘판독 상태(70h)’ 명령은 동일 직렬 링크 포트 SOP를 사용하는 각 장치의 상태를 체크하기 위해 필요하며, 그게 아니라면 각 장치는 상태 표시의 용도로 별개의 여분의 하드 핀(hard pin)을 필요로 한다. 그것은 상이한 헥스(hex)-수 정의로 변경될 수도 있다. 상호 접속된 장치들이 하드 핀 구성 대신 소프트 생성 장치 수를 사용한다면, ‘기록 장치 어드레스(39h)’ 명령이 사용된다. ‘리셋(FFh)’명령은 각 선택된 장치에 소프트 리셋 기능을 실행할 수 있다. 이 소프트 리셋은, 상호 접속의 모든 장치에 접속되는 ‘RST#’포트를 사용하는 ‘하드 리셋’과는 구별한다.
도 13은 유형-의존 어드레싱이 있는 NOR 플래시 명령에 대한 일례의 인코딩 스킴의 테이블을 도시한다. 이 테이블에 있어서,
주 *1: 타깃 DA는, 파워-업 또는 하드 리셋 후에‘기록 장치 어드레스’ 명령이 발행될 때, 00h이어야 한다.
주 *2: 로우 및 칼럼 어드레스 바이트들은, 동일 위치 페이지 판독 명령이 전에 발행되었으면, 제공되지 않을 수 있다.
도 13의 테이블은 도 12의 테이블과 유사한 포맷을 따른다. 하지만, 도 13의 테이블은, 판독, 버퍼에 기록, 플래시로 버퍼를 프로그램(확인), 칩 소거, 섹터 소거, 프로그램/소거 일시 정지, 프로그램/소거 재개, 판독 상태, 판독 ID, 기록 구성 레지스터, 기록 장치 어드레스, 및 리셋의 상이한 세트의 12 명령들을 갖는 것을 알 수 있다. 각 명령은 도 5b의 테이블에 따라서 NOR 플래시 메모리에 대해 ‘01h’인, 장치 유형(장치 TYPE)을 포함한다. 다음, 각 명령은 ‘유효’로 표시되는, 장치 어드레스(타깃 DA)를 포함한다. 상호 접속된 장치들이 하드 핀 구성 대신 소프트 생성 장치 번호를 사용한다면, ‘기록 DN 엔트리(39h)’ 명령이 사용된다. 도 12의 테이블에서와 같이, ‘리셋(FFh)’명령은 각 선택된 장치에 소프트 리셋 기능을 실행할 수 있다. 이 소프트 리셋은, 상호 접속의 모든 장치에 접속되는 ‘RST#’포트를 사용하는 ‘하드 리셋’과는 구별한다.
도 14는 유형-의존 어드레싱이 있는 메모리 동작들을 처리하는 방법을 도시한다. 이 처리는 일반적인 개념을 도시한다. 특정 명령이나 동작 플로우차트는 이 예와는 상이할 수 있다. 예컨대, 판독 또는 기록 데이터를 포함하지 않는 동작은 데이터 전송을 포함하지 않는다. 또한, 명령이 로우 또는 칼럼 어드레스를 포함하지 않으면, 메모리 장치는 로우/칼럼 어드레스 바이트들을 전송하지 않는다. 직렬 신호 스트림 바이트들이 상호 접속의 각 장치의 IPE, SIP, OPE 또는 SOP를 통해 바이패스될 때, 바이패스 회로가 1 클록 레이턴시로 지정되면, 1 클록 사이클 레이턴시가 있다.
도 14를 참조하여 보면, 메모리 장치가 메모리 명령을 수신할 시에, 메모리 장치는 메모리 명령에 의해 표시되는 장치 유형을 그 자신의 유형 레지스터에 의해 표시되는 그 자신의 장치 유형과 비교한다(단계 14-1). 메모리 명령은 메모리 명령에 의패 표시되는 장치 유형에 특정된다. 메모리 장치는 메모리 명령의 장치 유형이 그 자신의 레지스터의 장치 유형에 매치하는지의 여부를 판정한다(단계 14-2). 2개의 장치 유형들 사이에 유형 매치가 있는 경우에(단계 14-2에서 YES), 메모리 장치는 메모리 명령에 의해 표시되는 장치 어드레스를 그 자신의 어드레스 레지스터에 의해 표시되는 그 자신의 장치 어드레스와 더 비교한다(단계 14-3). 메모리 장치는 메모리 명령의 장치 어드레스가 그 자신의 레지스터의 장치 어드레스에 매치하는지의 여부를 판정한다(단계 14-4). 어드레스 매치가 있는 경우에(단계 14-4에서 YES), 메모리 장치는 명령을 실행한다(단계 14-5). 명령에 따라, 이것은 메모리 명령에 의해 표시되는 로우 및 칼럼 어드레스를 처리하는 메모리 장치를 포함할 수 있고, 메모리 명령의 일부로서 수신되는 데이터를 처리하는 것도 포함할 수 있다. 하지만, 장치 유형에 매치가 없으면(단계 14-2에서 NO), 또는 장치 어드레스에 매치가 없으면(단계 14-4에서 NO), 메모리 장치는, 메모리 명령을 다음 메모리 장치에 전하는 것을 제외한 메모리 명령의 내부 처리를 실행하지 않는다(단계 14-6). 도 14를 참조하여 앞서 기술된 메모리 동작들을 처리하는 프로세스의 추가적인 설명을 제공하기 위해, 도 15a 및 15b를 참조하여 타이밍도가 후술된다.
도 15a 및 15b는 유형-의존 어드레싱이 있는 메모리 동작들을 처리하기 위한 신호들에 대한 타이밍 시퀀스를 도시한다. 타이밍도는, 상호 접속된 3개의 NAND-형 플래시 장치들(85, 86, 87)과 1개의 NOR-형 플래시 장치(84)를 갖는, 도 3b의 메모리 시스템으로부터 초래될 수 있는 예시적인 신호들을 도시한다.
메모리 컨트롤러에 의해 발행되는 NAND 플래시 장치들의 페이지 판독에 대한 메모리 명령은:
메모리 명령(4)
Figure pat00005
이다.
메모리 명령에 있어서,
TYPE(00h)는 “NAND 플래시” 장치들을 식별한다(도 5b 참조).
TDA(01h)는 장치 어드레스 “1”을 홀딩하고 있는 장치들을 식별한다.
CMD(00h)는 “페이지 판독”이 실행될 동작을 식별한다.
로우/칼럼 어드레스는, DATA 대신, 메모리의 로우 및 칼럼 어드레스를 식별한다.
유사하게, NOR 플래시 장치의 페이지 판독에 대한 메모리 명령은:
메모리 명령(4)
Figure pat00006
이다.
도 3b, 15a 및 15b를 참조하여 보면, NOR-형 플래시 장치(84)는 상호 접속의 첫 번째 장치(즉, 메모리 컨트롤러(50)에 가장 가까운)이다. 그것은 ‘NOR-0’으로서 고유의 유형 플러스(plus) 장치 번호(또는 유형 플러스 장치 식별, 또는 유형 플러스 장치 어드레스)를 갖는다. NOR-0 장치(84)의 다음에 직렬로 접속되는 NAND-형 플래시 장치들(85, 86, ...,및 87)은, 고유의 장치 번호들을 ‘NAND-0’, ‘NAND-1’ 및 ‘NAND-(n-1)’로서 갖는다. 타이밍도의 상부에 있어서, 15-1로 표시되는 직렬 클록(SCLK)에 대한 신호가 있다. 다음, 타이밍도는, 15-2, 15-3, 15-4, 15-5로 각각 표시되는 각 메모리 장치(84, 85, 86, ...,및 87)에 대한 직렬 입력(SIP)에 대한 신호들을 포함한다. 다음, 타이밍도는, 15-6, 15-7, 15-8, 15-9로 각각 표시되는 각 메모리 장치(84, 85, 86, ...,및 87)에 대한 출력 인에이블(OPE)에 대한 신호들을 포함한다. 다음, 타이밍도는 15-10으로 표시되는 최종 메모리 장치(87)에 대한 출력 인에이블 에코(OPEQ)에 대한 신호를 포함한다. 마지막으로, 타이밍도는, 15-11, 15-12, 15-13, 15-14로 각각 표시되는 각 메모리 장치(84, 85, 86, ...,및 87)에 대한 직렬 출력(SOP)에 대한 신호들을 포함한다. 간단한 설명을 목적으로, IPE, CS#, RST#과 같은 다른 신호들은 타이밍도에 도시되지 않는다. 이 타이밍도에 있어서, 15-15로 표시되는 바와 같은, ‘NAND-1에 대한 페이지 판독 명령 세트’는 장치 유형(TYPE=NAND), 타깃 장치 어드레스(DA=1), 명령(00h), 및 로우/칼럼 어드레스와 더불어 첫 번째로 발행된다. 이러한 입력 신호들의 직렬 스트림은 순차적으로 장치들을 통과하고, 선택된 장치만(이 경우, NAND-1)이 부여된 ‘페이지 판독’ 명령을 장치 내부에서 처리한다. 일반적으로, NAND-형 플래시 메모리는, 데이터를 NAND 플래시 셀들로부터 데이터 레지스터 블록으로 전송하는 내부 ‘페이지 판독 동작’에 대해 더 긴 시간(일반적으로 20㎲)이 걸린다. 따라서, 메모리 컨트롤러는 그 20㎲의 시간 동안 기다려야 한다. 하지만, 메모리 컨트롤러는, NAND-1의 긴 페이지 판독 시간 동안 기다리면서, NOR-형 플래시 장치, NOR-0을 액세스할 수 있다. 그래서, 15-16으로 표시되는 바와 같이, ‘NOR-0에 대한 페이지 판독 명령 세트’는 ‘NAND-1에 대한 페이지 판독 명령 세트’의 직후에 발행된다. NOR-형 플래시 메모리는, 예컨대, 100ns와 같은, 매우 빠른 판독 액세스 시간을 가지며, 따라서, 메모리 컨트롤러는 NOR-0으로부터 ‘요구 페이징(demand paging)’과 같은 많은 빠른 동작들을 실행할 수 있다. ‘요구 페이징’은 가상 메모리를 구현하는 간단한 방법이다.
요구 페이징을 사용하는 시스템에 있어서, 운영 체계는, 그것을 액세스하고자 하는 시도가 이루어진 경우에만(즉, 페이지 폴트(page fault)가 발생하면), 페이지를 물리적인 메모리내로 카피한다. 그것은, 프로세스가 물리적 메모리에 그 자신의 페이지들이 없는 실행을 시작하고, 대부분의 프로세스의 페이지들의 작업 세트가 물리적 메모리에 위치될 때까지 많은 페이지 폴트들이 발생할, 결과가 된다. 15-17로 표시되는 바와 같이, NOR-0으로부터 출력되는 최종 판독 데이터는, 접속되는 메모리 장치들의 총수가 4이므로, 4 클록 사이클 레이턴시 후에 컨트롤러의 SOP 포트에 직접 접속되는 NAND-2의 SOP 포트에 나타난다. 긴 시간 동안의 대기 후에, 메모리 컨트롤러는 NAND-1을 액세스할 수 있다. 이 시간에, 15-18로 표시되는 바와 같이, 메모리 컨트롤러는, 로우/칼럼 어드레스 바이트들 없이 ‘NAND-1에 대한 페이지 판독 명령 세트’를 발생하고, OPE 15-6 신호를 논리 ‘로’로부터 NAND-1 장치의 출력 회로를 인에이블시키는 논리 ‘하이’상태로 올리며, 그 후 NAND-1로부터 출력되는 판독 데이터는 15-19로 표시되는 바와 같이 직렬로 접속되는 SIP/SOP 포트들을 통해 스트림 아웃(streamed out)되기 시작한다. 메모리 컨트롤러의 SOP 포트의 최종 데이터 출력에 4 클록 사이클 레이턴시가 있다.
도 16a는 도 3a 내지 3e에 도시된 메모리 장치들로서 사용되는 다른 예시의 메모리 장치 블록을 도시한다. 도 16a에 도시된 메모리 장치(140A)는 도 4a에 도시된 메모리 장치(140A)와 유사하다. 도 16a를 참조하여 보면, 어드레스 증분 연산자(149)는 장치 컨트롤러/프로세서(142A)로부터의 초기 단계의 요청에 응답하여 동작을 실행한다. 그러한 특정 예에 있어서, 할당될 장치 어드레스는 그 장치에 의해 증분되는 장치 어드레스이다. 각 장치는 도 6a에 도시된 장치 어드레스 할당 방법을 실행한다. 하지만, 도 6b에 도시된 단계 6-10 및 6-11은 도 16b에 도시된 것과는 반대이다.
도 3b, 4a, 16a 및 16b를 참조하여 보면, 기록 장치 어드레스 동작을 수신한 장치는, 수신된 장치 유형(‘DTs’)이 장치 유형 레지스터(146)에 등록된 그것의 장치 유형에 매치하는지의 여부를 판정한다(단계 16-8). 만약, 장치 유형 매치(단계 16-8에서 YES) 또는 장치 유형 매치 결과가 있으면, 어드레스 매치 판정자(147)는 타깃 장치 어드레스(TDA)(즉,‘DAs’)가 장치 어드레스 레지스터(148)에 등록된 장치 어드레스(DAr)에 매치하는지의 여부를 판정한다(단계 16-9). 만약, 장치 어드레스 매치(단계 16-9에서 YES) 또는 장치 어드레스 매치 결과가 있으면, 장치 어드레스 매치 판정자(147)는 어드레스 매치 표시(147M)를 출력한다. 그 후, 수신된 장치 어드레스(‘DA’)는 어드레스 증분 연산자(149)에 의해 증분된다(단계16-10). 증분된 어드레스(‘DA+1’)는 장치 어드레스 레지스터(148)에 등록되며(단계 16-11), 증분된 장치 어드레스는 다음의 장치에 전송된다. 만약, 장치 유형 매치가 없거나(단계 16-8에서 NO) 장치 유형 매치 결과가 없으면, 장치 어드레스 배열도 장치 어드레스 증분도 실행되지 않을 것이다. 또한, 장치 어드레스 매치가 없거나(단계 16-9에서 NO) 장치 어드레스 매치 결과가 없으면, 장치 어드레스 배열도 어드레스 증분도 실행되지 않을 것이다.
도 16c는 도 6a의 장치에 의해 실행되는 다른 장치 어드레스 배열 동작을 도시한다. 도 16c의 단계 16-8 및 16-9는 도 16b의 그것들과 일치한다. 만약, 장치 유형 매치(단계 16-8에서 YES)와 장치 어드레스 매치(단계 16-9에서 YES)가 있으면, 수신된 장치 어드레스(‘DA’)는 어드레스 증분 연산자(149)에 의해 증분된다(단계16-12). 증분된 어드레스(‘DA+1’)는 장치 어드레스 레지스터(148)에 등록되며(단계 16-13) 증분된 장치 어드레스는 다음의 장치에 전송된다(단계 16-14).
도 17은 도 3f에 도시된 메모리 장치들로서 사용되는 다른 예시의 메모리 장치 블록을 도시한다. 도 17에 도시된 메모리 장치(140B)는 도 4a에 도시된 메모리 장치(140A)와 유사하다. 도 17을 참조하여 보면, 어드레스 증분 연산자(149)는 장치 컨트롤러/프로세서(142B)로부터의 초기 단계의 요청에 응답하여 동작을 실행한다. 장치(140B)는 도 16b의 그것들에 유사한 동작들을 실행한다. 어드레스 증분 연산자(149)에 의해 제공되는 증분된 장치 어드레스는 장치 어드레스 레지스터(148)에 등록되며 다음의 장치에 전송된다.
도 18은 본 발명의 다른 실시예에 따른 2 채널의 메모리 시스템을 도시한다. 도 18을 참조하여 보면, 메모리 컨트롤러(150)의 제1 채널은 직렬 링크를 통해 접속되는 메모리 장치들의 제1 직렬 상호 접속 구성(151)에 접속된다. 유사하게, 메모리 컨트롤러(150)의 제2 채널은 직렬 링크를 통해 접속되는 메모리 장치들의 제2 직렬 상호 접속 구성(152)에 접속된다. 직렬 상호 접속 구성(131)의 각각의 최종 장치로부터의 직렬 출력(SOP), 입력 인에이블 에코(IPEQ) 및 출력 인에이블 에코(OPEQ)는, 메모리 컨트롤러(150)에 피드백된다.
메모리 장치들의 제1 직렬 상호 접속 구성(151)의 세부는 도 19a에 도시되어 있다. 메모리 장치들의 제2 직렬 상호 접속 구성(152)의 세부는 도 19b에 도시되어 있다.
도 19a를 참조하여 보면, 메모리 장치들의 제1 직렬 상호 접속 구성(151)은, 직렬로 상호 접속된 (n+1) NOR 플래시 메모리 장치들(160, 161, 162, ...,및 163)을 포함한다. 장치들(160, 161, 162, ...,및 163)은 각각 NOR 플래시 메모리 코어(160A, 161A, 162A, ..., 및 163A)를 갖는다. 장치들(160, 161, 162, ...,및 163)의 각각은 그 자신의 메모리 유형(NOR 플래시)을 홀딩하기 위한 레지스터(60)를 갖는다. 초기화의 동작에 있어서, 장치들(160, 161, 162, ...,및 163)은 각각 장치 어드레스 “NOR-0”, “NOR-1”, “NOR-2”, ..., 및 “NOR-n”를 할당받는다. 할당된 장치 어드레스들은 장치들의 (도시되지 않은) 레지스터들에 홀딩된다.
도 19b를 참조하여 보면, 메모리 장치들의 제2 직렬 상호 접속 구성(152)은, 직렬로 상호 접속된 (n+1) NAND 플래시 메모리 장치들(170, 171, 172, ...,및 173)을 포함한다. 장치들(170, 171, 172, ...,및 173)은 각각 NAND 플래시 메모리 코어(170A, 171A, 172A, ..., 및 173A)를 갖는다. 장치들(170, 171, 172, ...,및 173)의 각각은 그 자신의 메모리 유형(NAND 플래시)을 홀딩하기 위한 레지스터(60)를 갖는다. 초기화의 동작에 있어서, 장치들(170, 171, 172, ...,및 173)은 각각 장치 어드레스 “NAND-0”, “NAND-1”, “NAND-2”, ..., 및 “NAND-n”을 할당받는다. 할당된 장치 어드레스들은 장치들의 (도시되지 않은) 레지스터들에 홀딩된다.
대안적으로, 메모리 장치들의 제1 직렬 상호 접속 구성(151)은 혼합된 유형의 장치들을 포함할 수 있다. 또한, 메모리 장치들의 제2 직렬 상호 접속 구성(152)은 혼합된 유형의 장치들을 포함할 수 있다.
도 20a 및 20b는 도 16에 도시된 메모리 시스템에 사용되는 다른 특정 예의 메모리 장치들의 개략도를 도시한다. 도 20a를 참조하여 보면, 메모리 장치들의 제1 직렬 상호 접속 구성(151)은, 도 3b 예와 동일한 메모리 코어(210A, 211A, 212A, 213A)를 갖는 (n+1) 메모리 장치들(210, 211, 212, ..., 및 213)을 포함한다. 도 3b에 도시된 특정 예에 있어서, 제1 메모리 장치(210)는 NOR 플래시 메모리 코어(210A)를 갖고, 제2, 제3, ..., 및 제(n+1) 메모리 장치들(211, 212, ..., 및 213)은 각각 NAND 플래시 메모리 코어(211A, 212A, ..., 및 213A)를 갖는다. 도 3c는, 유형-와이즈 어드레싱(type-wise addressing) 스킴이 채용된, 즉 이전에 안내된 제1 어드레싱 스킴인 점에서, 도 3b 예와는 상이하다. 1개의 NOR 장치와 ‘n’개의 NAND 장치들이 있다고 가정하면, 유형 플러스 어드레스는 ‘NOR-O’, ‘NAND-O’, ‘NAND-1’, ..., 및 ‘NAND-(n-1)’로서 표시된다.
도 20b를 참조하여 보면, 메모리 장치들의 제2 직렬 상호 접속 구성(152)은, 혼합된 메모리 코어(220A, 221A, 222A, ..., 및 223A)를 갖는 복수의 (n+1) 메모리 장치들(220, 221, 222, ..., 및 223)을 포함한다. 제1 메모리 장치(220)는 SRAM 메모리 코어(220A)를 갖고 제2 메모리 장치(221)는 NOR 플래시 메모리 코어(221A)를 갖는다. 제3, ..., 및 제(n+1) 메모리 장치(223)는 각각 NAND 플래시 메모리 코어(222A, ..., 및 223A)를 갖는다. 메모리 장치들은 유형-와이즈 어드레싱 스킴을 이용하여 어드레싱된다. 1개의 SRAM 장치와 1개의 NOR 장치 및 ‘(n-1)’개의 NAND 장치들이 있다고 가정하면, 유형 플러스 어드레스는 ‘SRAM-0’,‘NOR-O’, ‘NAND-O’, ..., 및 ‘NAND-(n-2)’로서 표시된다.
앞서 기술된 실시예들에 있어서, 하나의 메모리 명령(예컨대, SIP의 “기록 장치 어드레스” 명령)은 다른 메모리 명령(예컨대, SIP_1의 “기록 장치 어드레스” 명령)과 겹쳐지지 않는다. 다른 구현예에 있어서, 장치들에 대한 직렬 입력의 메모리 명령들은 도 21에 도시된 것과 겹치지 않을 수 있다. 하지만, 요구된다면, 하나의 장치에 의한 장치 어드레스 (DATA) 증분은, 다른 장치가 어드레스 (DATA) 증분을 실행하기 전에, 완료되어야 한다.
데이터, 정보 또는 신호의 송신이 단일 비트 또는 복수의 비트에 의해 실행되는 것은 당업자에게는 명백해질 것이다. 예를 들어, 직렬 입력 SIP 및 직렬 출력 SOP 상으로의 데이터 송시는 도 22에 도시된 바와 같이 단일 비트 또는 복수의 비트(M 비트)에 의해 실행되며, M은 1보다 큰 정수이다. 인터페이스는 단일 I/O 핀 또는 복수의 I/O 핀을 포함해도 된다.
도 23은 본 발명의 다른 실시예에 따르는 메모리 시스템을 도시한다. 도 23에 도시된 메모리 시스템은 복수의 메모리 장치들(351)의 직렬 상호접속 구성 및 장치들의 동작을 제어하는 메모리 컨트롤러(350)를 포함한다. 예시된 예에서, 구성은 (n+1)개의 메모리 장치들: 장치-0, 장치-1, 장치-2, … 및 장치-n을 포함한다. 각각의 메모리 장치들은 복수의 포트를 갖는다. 도 24의 특정 예에서, 각 장치는 2 포트 장치이다. 메모리 컨트롤러(350)는 리셋 신호 "RST#", 칩 선택 신호 "CS#" 및 직렬 클록 신호 "SCLK"를 각각의 메모리 장치들의 각각의 포트에 제공한다.
도 23 및 24를 참조하면, 제1 메모리 장치(장치-0)는 복수의 데이터 입력 포트(SIP1, SIP2), 복수의 데이터 출력 포트(SOP1, SOP2), 복수의 제어 입력 포트(IPE1, IPE2), 및 복수의 제어 출력 포트(OPE1, OPE2)를 갖는다. 데이터 및 제어 신호들은 메모리 컨트롤러(350)로부터 제1 메모리 장치로 전송된다. 제2 메모리 장치(장치-1)는 장치-1이 접속되는 장치-0과 동일한 유형의 포트를 갖는다. 예를 들면, 장치-1은 장치-0으로부터 데이터 및 제어 신호를 수신한다. 구성에서의 최종 메모리 장치(장치-n)는 미리 정해진 레이턴시 후에 메모리 컨트롤러(350)로 되돌려 데이터 및 제어 신호를 제공한다. 각 메모리 장치는 후속하는 장치에 IPE1, IPE2, OPE1 및 OPE2(즉, 제어 출력 포트)의 에코(IPEQ1, IPEQ2, OPEQ1, OPEQ2)를 출력한다.
도 25는 본 발명의 다른 실시예에 따르는 메모리 시스템을 도시한다. 도 25에 도시된 메모리 시스템은 메모리 컨트롤러(450) 및 복수의 메모리 장치들(451)의 직렬 상호접속 구성을 포함한다. 장치들의 구성은 도 26에 도시된다. 각각의 메모리 장치들은 복수의 포트를 갖는다. 도 26의 특정 예에서는, 각 장치는 2 포트 장치이다. 메모리 컨트롤러(450)는 복수의 포트에 대응하는 복수의 그룹의 신호들을 메모리 장치들에 제공한다. 예시된 예에서는, 리셋 신호 "RST#1", 칩 선택 신호 "CS#1" 및 직렬 클록 신호 "SCLK1"이 각각의 메모리 장치들의 각각의 포트 1에 제공된다. 유사하게, 포트 2에 대해서, 리셋 신호 "RST#2", 칩 선택 신호 "CS#2" 및 직렬 클록 신호 "SCLK2"가 각각의 메모리 장치들의 각각의 포트에 제공된다.
도 23∼26에 도시된 메모리 시스템 및 장치에서, 도 4a 및 16a에 도시된 장치들이 메모리 장치들의 직렬 상호접속 구성에 사용될 수 있다. 또한, 도 4b 및 17에 도시된 장치들이 메모리 장치들의 직렬 상호접속 구성에 사용될 수 있다. 그러한 경우, 클록 신호 SCLK가 도 3f에 도시된 바와 같이 송신될 필요가 있고, 각 장치는 다음의 장치에 대해 출력 에코 클록 신호 'SCLK_O'를 제공하기 위한 클록 동기화 회로를 갖는다.
상술한 실시예들에서는, 장치 소자들 및 회로들은 간략화를 위해 도면들에 도시된 바와 같이 서로 접속된다. 본 발명의 실제 애플리케이션에서는, 소자들, 회로들 등이 서로 직접 접속되어도 된다. 물론, 소자들, 회로들 등이 장치들 또는 기기의 동작에 필요한 다른 소자들, 회로들 등을 통해 서로 간접적으로 접속되어도 된다. 따라서, 장치들 및 기기의 실제의 구성에서는, 소자들 및 회로들은 직접 또는 간접적으로 결합되거나 서로 접속된다.
반도체 장치들이 장치들로서 실현될 수 있음은 당업자에게는 명백해질 것이다.
상술한 본 발명의 실시예들은 예로서만 의도된다. 변경, 변형 및 수정이 여기에 첨부된 청구항들에 의해서만 정해지는 발명의 범위로부터 벗어남 없이 당업자에 의해 특정 실시예들에 대해 실현될 수 있다.

Claims (24)

  1. 혼합된 유형의 복수의 장치들을 동작시키는 방법으로서, 상기 장치들은 상기 장치들이 직렬로 상호접속되는 직렬 상호접속 구성으로 구성되고, 상기 방법은,
    상기 직렬 상호접속 구성의 제1 장치에 직렬 입력을 제공하는 단계를 포함하고, 상기 직렬 입력은 상기 직렬 상호접속 구성을 통해 전달되며, 상기 직렬 입력은 장치 유형 식별, 명령 및 장치 어드레스 식별을 포함하는, 혼합된 유형의 복수의 장치들의 동작 방법.
  2. 청구항 1에 있어서,
    상기 장치의 장치 유형 식별을 홀딩하는 단계; 및
    제공된 상기 직렬 입력에 응답하여 할당된 장치 어드레스를 홀딩하는 단계를 더 포함하는, 혼합된 유형의 복수의 장치들의 동작 방법.
  3. 청구항 2에 있어서,
    수신된 상기 장치 유형 식별이 상기 홀딩된 장치 유형 식별과 매치하는 지를 판정하는 단계를 더 포함하고;
    수신된 상기 장치 유형 식별이 상기 홀딩된 장치 유형 식별과 매치하는 경우에, 장치 유형 매치 결과가 제공되고;
    수신된 상기 장치 유형 식별이 상기 홀딩된 장치 유형 식별과 매치하지 않는 경우에, 장치 유형 비매치 결과가 제공되는, 혼합된 유형의 복수의 장치들의 동작 방법.
  4. 청구항 3에 있어서,
    수신된 상기 장치 어드레스 식별이 상기 홀딩된 장치 어드레스와 매치하는 지를 판정하는 단계를 더 포함하고;
    수신된 상기 장치 어드레스 식별이 상기 홀딩된 장치 어드레스와 매치하는 경우에, 장치 어드레스 매치 결과가 제공되고;
    수신된 상기 장치 어드레스 식별이 상기 홀딩된 장치 어드레스와 매치하지 않는 경우에, 장치 어드레스 비매치 결과가 제공되는, 혼합된 유형의 복수의 장치들의 동작 방법.
  5. 청구항 4에 있어서,
    상기 장치 유형 매치 결과 및 상기 장치 어드레스 매치 결과에 응답하여, 상기 직렬 입력의 수신된 명령을 실행하는 단계를 더 포함하는, 혼합된 유형의 복수의 장치들의 동작 방법.
  6. 청구항 5에 있어서, 상기 직렬 입력은 어드레스 넘버를 포함하는 데이터 정보를 더 포함하고; 상기 방법은,
    상기 장치 유형 매치 결과 및 상기 장치 어드레스 매치 결과에 응답하여 상기 어드레스 넘버를 변경하는 단계; 및
    상기 직렬 입력에 포함되는 상기 변경된 어드레스 넘버를 포함하는 상기 데이터 정보를 상기 직렬 상호접속 구성의 다음의 장치에 전송하는 단계를 더 포함하는, 혼합된 유형의 복수의 장치들의 동작 방법.
  7. 청구항 6에 있어서,
    상기 장치의 어드레스를 나타내는 상기 수신된 어드레스 넘버를 홀딩하는 단계를 더 포함하는, 혼합된 유형의 복수의 장치들의 동작 방법.
  8. 청구항 6에 있어서, 상기 변경하는 단계는,
    상기 수신된 어드레스 넘버 및 미리 정해진 넘버에 기초하여 산술적인 계산을 실행하는 단계를 포함하는, 혼합된 유형의 복수의 장치들의 동작 방법.
  9. 청구항 8에 있어서,
    상기 홀딩하는 단계는 의도된 어드레스 넘버를 홀딩하는 단계를 포함하고;
    상기 직렬 입력에 포함되는 상기 장치 어드레스 식별은 상기 의도된 어드레스 넘버를 포함하며;
    상기 직렬 입력에 포함되는 상기 데이터 정보의 어드레스 넘버는 초기 어드레스 넘버를 포함하고;
    상기 변경하는 단계는 상기 장치 어드레스 매치 결과 및 상기 장치 유형 매치 결과에 응답하여 상기 초기 어드레스 넘버를 변경하는 단계를 포함하고, 변경된 어드레스 넘버는 홀딩된 상기 의도된 어드레스 넘버를 대체하는, 혼합된 유형의 복수의 장치들의 동작 방법.
  10. 청구항 9에 있어서, 상기 수신된 직렬 입력의 상기 장치 유형 식별, 상기 명령 및 상기 장치 어드레스 식별은 상기 장치 유형 비매치 결과 및 상기 장치 어드레스 비매치 결과 중 어느 하나에 응답하여, 상기 직렬 상호접속 구성의 다음의 장치에 전송되는, 혼합된 유형의 복수의 장치들의 동작 방법.
  11. 청구항 9에 있어서,
    상기 장치는 메모리를 포함하고;
    상기 직렬 입력에 포함되는 상기 데이터 정보는 상기 메모리에 관한 정보 데이터를 더 포함하며;
    상기 장치 컨트롤러는 상기 장치 유형 매치 결과 및 상기 장치 어드레스 매치 결과에 응답하여 상기 메모리에 액세스하도록 상기 메모리 관련 정보 데이터에 기초하여 상기 명령을 실행할 수 있는, 혼합된 유형의 복수의 장치들의 동작 방법.
  12. 청구항 11에 있어서, 상기 장치 컨트롤러는 또한, 비매치 판정 결과에 응답하여, 상기 직렬 상호접속 구성의 다음의 장치에 상기 수신된 직렬 입력의 상기 장치 유형 식별, 상기 명령, 상기 장치 어드레스 식별 및 상기 정보 데이터를 전송할 수 있는, 혼합된 유형의 복수의 장치들의 동작 방법.
  13. 혼합된 유형의 복수의 장치들을 동작시키는 기기로서, 상기 장치들은 상기 장치들이 직렬로 상호접속되는 직렬 상호접속 구성으로 구성되고, 상기 기기는,
    상기 직렬 상호접속 구성의 제1 장치에 직렬 입력을 제공하는 컨트롤러를 포함하고, 상기 직렬 입력은 상기 직렬 상호접속 구성을 통해 전달되며, 상기 직렬 입력은 장치 유형 식별, 명령 및 장치 어드레스 식별을 포함하는, 혼합된 유형의 복수의 장치들의 동작 기기.
  14. 청구항 13에 있어서,
    상기 장치들의 각각은 직렬 입력 및 출력 접속들을 갖고;
    상기 컨트롤러는 상기 제1 장치의 직렬 입력 접속에 접속되는 직렬 출력 접속 및 상기 직렬 상호접속 구성의 최종 장치의 직렬 출력 접속에 접속되는 직렬 입력 접속을 갖는, 혼합된 유형의 복수의 장치들의 동작 기기.
  15. 청구항 13에 있어서, 상기 컨트롤러는,
    상기 직렬 상호접속 구성의 장치들에 상기 직렬 입력을 제공하는 직렬 출력 접속을 포함하고, 상기 직렬 입력은 제1 및 제2 명령을 포함하며, 상기 제2 명령은 상기 제1 명령에 이어지고,
    상기 제1 명령은 상기 제1 명령을 처리하기 위해 제1 유형의 적어도 하나의 장치를 작동시키며,
    상기 제2 명령은 상기 제2 명령을 처리하기 위해 제2 유형의 적어도 하나의 장치를 작동시키고, 상기 제2 유형의 적어도 하나의 장치에 의한 상기 제2 명령의 처리는 상기 제1 유형의 적어도 하나의 장치에 의한 상기 제1 명령의 처리의 완료 전에 완료되는, 혼합된 유형의 복수의 장치들의 동작 기기.
  16. 청구항 15에 있어서,
    상기 제1 유형의 장치는 NAND형 플래시 메모리 장치이고;
    상기 제2 유형의 장치는 NOR형 플래시 메모리 장치인, 혼합된 유형의 복수의 장치들의 동작 기기.
  17. 장치들이 직렬로 상호접속되는 직렬 상호접속 구성으로 구성되어 있는 혼합된 유형의 복수의 장치들에 장치 어드레스들을 할당하는 단계; 및
    장치 유형 및 장치 어드레스에 기초하여 상기 직렬 상호접속 구성의 상기 장치들에 액세스하는 단계를 포함하는, 방법.
  18. 청구항 17에 있어서, 상기 할당하는 단계는,
    하나의 유형의 상기 장치들의 각각에 어드레스들을 확립하는 단계를 포함하는, 방법.
  19. 청구항 18에 있어서, 상기 확립하는 단계는,
    상기 직렬 상호접속 구성의 제1 장치에 장치 유형 식별, 장치 어드레스 식별 및 어드레스 넘버를 포함하는 직렬 입력을 제공하는 단계를 포함하는, 방법.
  20. 청구항 19에 있어서, 상기 액세스하는 단계는,
    혼합된 유형의 상기 복수의 장치들을 통해 상기 직렬 입력을 전달하는 단계를 포함하고, 상기 장치들의 각각은 직렬 입력 및 출력 접속들을 갖는, 방법.
  21. 청구항 17에 있어서, 상기 액세스하는 단계는,
    명령을 처리하도록 제1 유형의 적어도 하나의 장치를 작동시키는 단계; 및
    상기 제1 유형의 적어도 하나의 장치에서의 명령 처리의 완료 이전에 제2 유형의 적어도 하나의 장치를 작동시키는 단계를 포함하는, 방법.
  22. 청구항 21에 있어서, 상기 제1 유형의 적어도 하나의 장치의 명령 처리 시간은 상기 제2 유형의 적어도 하나의 장치의 명령 처리 시간보다 큰, 방법.
  23. 청구항 22에 있어서,
    일련의 제1 및 제2 명령을 제공하는 단계로서, 상기 제2 명령은 상기 제1 명령에 이어지는 단계;
    상기 제1 명령에 응답하여 상기 제1 유형의 적어도 하나의 장치를 작동시키는 단계; 및
    상기 제2 명령에 응답하여 상기 제2 유형의 적어도 하나의 장치를 작동시키는 단계로서, 상기 제2 유형의 적어도 하나의 장치에 의한 상기 제2 명령의 처리는 상기 제1 유형의 적어도 하나의 장치에 의한 상기 제1 명령의 처리의 완료 전에 완료되는 단계를 더 포함하는, 방법.
  24. 청구항 23에 있어서,
    상기 제1 유형의 장치는 NAND형 플래시 메모리 장치이고;
    상기 제2 유형의 장치는 NOR형 플래시 메모리 장치인, 방법.
KR1020147001536A 2006-12-06 2007-12-04 혼합된 유형의 메모리 장치를 동작시키는 시스템 및 방법 KR101441280B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US86877306P 2006-12-06 2006-12-06
US60/868,773 2006-12-06
US87089206P 2006-12-20 2006-12-20
US60/870,892 2006-12-20
US11/622,828 2007-01-12
US11/622,828 US8271758B2 (en) 2006-12-06 2007-01-12 Apparatus and method for producing IDS for interconnected devices of mixed type
US11/771,241 2007-06-29
US11/771,241 US7925854B2 (en) 2006-12-06 2007-06-29 System and method of operating memory devices of mixed type
PCT/CA2007/002182 WO2008067658A1 (en) 2006-12-06 2007-12-04 System and method of operating memory devices of mixed type

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020127027959A Division KR101441225B1 (ko) 2006-12-06 2007-12-04 혼합된 유형의 메모리 장치를 동작시키는 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20140019478A true KR20140019478A (ko) 2014-02-14
KR101441280B1 KR101441280B1 (ko) 2014-09-17

Family

ID=39491613

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020097014049A KR101441154B1 (ko) 2006-12-06 2007-12-04 혼합된 유형의 메모리 장치를 동작시키는 시스템 및 방법
KR1020147001536A KR101441280B1 (ko) 2006-12-06 2007-12-04 혼합된 유형의 메모리 장치를 동작시키는 시스템 및 방법
KR1020127027959A KR101441225B1 (ko) 2006-12-06 2007-12-04 혼합된 유형의 메모리 장치를 동작시키는 시스템 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020097014049A KR101441154B1 (ko) 2006-12-06 2007-12-04 혼합된 유형의 메모리 장치를 동작시키는 시스템 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020127027959A KR101441225B1 (ko) 2006-12-06 2007-12-04 혼합된 유형의 메모리 장치를 동작시키는 시스템 및 방법

Country Status (5)

Country Link
EP (1) EP2118903A4 (ko)
JP (3) JP5683813B2 (ko)
KR (3) KR101441154B1 (ko)
TW (1) TWI470645B (ko)
WO (1) WO2008067658A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8463959B2 (en) * 2010-05-31 2013-06-11 Mosaid Technologies Incorporated High-speed interface for daisy-chained devices
TWI425362B (zh) * 2010-12-07 2014-02-01 Alpha Imaging Technology Corp 對應不同記憶體之記憶體介面晶片及建立記憶體傳輸通道之方法
US9697872B2 (en) * 2011-12-07 2017-07-04 Cypress Semiconductor Corporation High speed serial peripheral interface memory subsystem
US8614920B2 (en) 2012-04-02 2013-12-24 Winbond Electronics Corporation Method and apparatus for logic read in flash memory
JP5467134B1 (ja) * 2012-09-27 2014-04-09 華邦電子股▲ふん▼有限公司 フラッシュメモリ装置およびメモリ装置の操作方法
US10067903B2 (en) 2015-07-30 2018-09-04 SK Hynix Inc. Semiconductor device
US11755255B2 (en) 2014-10-28 2023-09-12 SK Hynix Inc. Memory device comprising a plurality of memories sharing a resistance for impedance matching
KR102366767B1 (ko) * 2015-07-30 2022-02-23 에스케이하이닉스 주식회사 반도체 장치
KR102358177B1 (ko) 2015-12-24 2022-02-07 에스케이하이닉스 주식회사 제어회로 및 제어회로를 포함하는 메모리 장치
US10146608B2 (en) * 2015-04-06 2018-12-04 Rambus Inc. Memory module register access
FR3041806B1 (fr) * 2015-09-25 2017-10-20 Stmicroelectronics Rousset Dispositif de memoire non volatile, par exemple du type eeprom, ayant une capacite memoire importante, par exemple 16mbits
GB2568725B (en) * 2017-11-24 2021-08-18 Ge Aviat Systems Ltd Method and apparatus for initializing a controller module
GB2568724B (en) * 2017-11-24 2021-08-18 Ge Aviat Systems Ltd Method and apparatus for initializing a controller module
CN110413197B (zh) * 2018-04-28 2023-06-27 伊姆西Ip控股有限责任公司 管理存储系统的方法、设备和计算机程序产品
TWI696113B (zh) * 2019-01-02 2020-06-11 慧榮科技股份有限公司 用來進行組態管理之方法以及資料儲存裝置及其控制器
US20210081318A1 (en) * 2019-09-17 2021-03-18 Micron Technology, Inc. Flexible provisioning of multi-tier memory
TWI749598B (zh) * 2020-06-18 2021-12-11 華邦電子股份有限公司 一種記憶體裝置及其連續讀寫方法
US11120851B1 (en) 2020-07-12 2021-09-14 Winbond Electronics Corp. Memory apparatus and burst read and burst write method thereof
CN113641595B (zh) * 2021-07-30 2023-08-11 珠海一微半导体股份有限公司 独立块保护模式的spi flash在brom阶段的类型识别方法及系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4360870A (en) * 1980-07-30 1982-11-23 International Business Machines Corporation Programmable I/O device identification
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
JPH0484351A (ja) * 1990-07-27 1992-03-17 Sony Corp アドレス設定方法
JPH07105121A (ja) * 1993-09-30 1995-04-21 Nabco Ltd 分散制御装置
JP3168552B2 (ja) * 1993-12-17 2001-05-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション メモリ・アクセス制御システム及びその方法
US5404460A (en) * 1994-01-28 1995-04-04 Vlsi Technology, Inc. Method for configuring multiple identical serial I/O devices to unique addresses through a serial bus
US5636342A (en) * 1995-02-17 1997-06-03 Dell Usa, L.P. Systems and method for assigning unique addresses to agents on a system management bus
US5708773A (en) * 1995-07-20 1998-01-13 Unisys Corporation JTAG interface system for communicating with compliant and non-compliant JTAG devices
US5860080A (en) * 1996-03-19 1999-01-12 Apple Computer, Inc. Multicasting system for selecting a group of memory devices for operation
JP3850067B2 (ja) * 1996-04-24 2006-11-29 株式会社ルネサステクノロジ メモリシステムおよびそれに用いられる半導体記憶装置
US6175891B1 (en) * 1997-04-23 2001-01-16 Micron Technology, Inc. System and method for assigning addresses to memory devices
US6453365B1 (en) * 1998-02-11 2002-09-17 Globespanvirata, Inc. Direct memory access controller having decode circuit for compact instruction format
US6144576A (en) * 1998-08-19 2000-11-07 Intel Corporation Method and apparatus for implementing a serial memory architecture
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
JP2002236611A (ja) * 2000-12-04 2002-08-23 Hitachi Ltd 半導体装置と情報処理システム
US6996644B2 (en) * 2001-06-06 2006-02-07 Conexant Systems, Inc. Apparatus and methods for initializing integrated circuit addresses
US7073022B2 (en) * 2002-05-23 2006-07-04 International Business Machines Corporation Serial interface for a data storage array
US7032039B2 (en) * 2002-10-30 2006-04-18 Atmel Corporation Method for identification of SPI compatible serial memory devices
US7308524B2 (en) * 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
WO2005039113A1 (en) * 2003-10-18 2005-04-28 Samsung Electronics Co., Ltd. Method and system for discovering a mobility anchor point and managing mobility of a mobile node in a network system supporting mobile ip
US7031221B2 (en) * 2003-12-30 2006-04-18 Intel Corporation Fixed phase clock and strobe signals in daisy chained chips
US8375146B2 (en) * 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems

Also Published As

Publication number Publication date
KR101441280B1 (ko) 2014-09-17
TWI470645B (zh) 2015-01-21
KR101441154B1 (ko) 2014-09-17
JP5351130B2 (ja) 2013-11-27
JP2010511943A (ja) 2010-04-15
KR20120135334A (ko) 2012-12-12
WO2008067658A1 (en) 2008-06-12
JP2014063523A (ja) 2014-04-10
EP2118903A4 (en) 2010-01-06
KR101441225B1 (ko) 2014-09-17
KR20090102787A (ko) 2009-09-30
EP2118903A1 (en) 2009-11-18
JP5695724B2 (ja) 2015-04-08
TW200845037A (en) 2008-11-16
JP2011054204A (ja) 2011-03-17
JP5683813B2 (ja) 2015-03-11

Similar Documents

Publication Publication Date Title
KR101441280B1 (ko) 혼합된 유형의 메모리 장치를 동작시키는 시스템 및 방법
US8819377B2 (en) System and method of operating memory devices of mixed type
US10366731B2 (en) Memory devices having special mode access using a serial message
WO2008067652A1 (en) Address assignment and type recognition of serially interconnected memory devices of mixed type
US8335868B2 (en) Apparatus and method for establishing device identifiers for serially interconnected devices
US7363441B2 (en) Portable storage apparatus and method for freely changing data bus width
US20110314206A1 (en) Apparatus and method for using a page buffer of a memory device as a temporary cache
US20090021992A1 (en) Memory with data control
KR101397229B1 (ko) 메모리 시스템 및 메모리를 위한 모듈러 커맨드 스트럭처
JP2015111458A (ja) 構成可能な仮想ページサイズを有するブリッジデバイス
KR20100077026A (ko) 직렬 인터페이스 nand
WO2007134444A1 (en) Apparatus and method for establishing device identifiers for serially interconnected devices
WO2012036751A2 (en) Different types of memory integrated in one chip by using a novel protocol
WO2014090406A1 (en) Method, device, and system including configurable bit-per-cell capability
WO2008067642A1 (en) Apparatus and method for producing device identifiers for serially interconnected devices of mixed type
US7478213B2 (en) Off-chip micro control and interface in a multichip integrated memory system
TW200900941A (en) System and device having alternative bit organization
JP2007026136A (ja) 半導体集積回路装置

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
LAPS Lapse due to unpaid annual fee