KR20150079492A - 멀티모드 핀아웃을 갖는 플래시 메모리 컨트롤러 - Google Patents

멀티모드 핀아웃을 갖는 플래시 메모리 컨트롤러 Download PDF

Info

Publication number
KR20150079492A
KR20150079492A KR1020147026795A KR20147026795A KR20150079492A KR 20150079492 A KR20150079492 A KR 20150079492A KR 1020147026795 A KR1020147026795 A KR 1020147026795A KR 20147026795 A KR20147026795 A KR 20147026795A KR 20150079492 A KR20150079492 A KR 20150079492A
Authority
KR
South Korea
Prior art keywords
memory
signal
memory interface
interface protocol
channel control
Prior art date
Application number
KR1020147026795A
Other languages
English (en)
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 KR20150079492A publication Critical patent/KR20150079492A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)

Abstract

호스트(14)와 통신하는 데이터 저장 장치의 메모리 컨트롤러(16)는 상이한 메모리 인터페이스 프로토콜을 갖고 동작하는 2개의 상이한 형태의 메모리 장치와 인터페이스하기 위한 3개의 상이한 핀아웃 할당을 갖도록 각각 구성가능한 채널 컨트롤 모듈을 갖는다. 하나의 핀아웃 할당(40)은 메모리 장치(42 내지 46)가 서로 병렬로 연결될 수 있는 메모리 인터페이스 프로토콜에 상응한다. 2개의 다른 핀아웃 할당(60)은 메모리 장치(62 내지 68)가 서로 직렬로 연결되는 다른 메모리 인터페이스 프로토콜의 인바운드 및 아웃바운드 신호에 개별적으로 상응한다. 이러한 동작의 모드에서, 하나의 채널 컨트롤 모듈이 아웃바운드 신호를 제공하도록 구성되는 반면, 다른 채널 컨트롤 모듈이 인바운드 신호를 수신하도록 구성된다. 채널 컨트롤 모듈의 각각의 메모리 포트는 상이한 기능적 신호 할당에 구성가능한 포트 버퍼 회로를 포함한다. 각각의 채널 컨트롤 모듈의 구성은 미리결정된 포트 또는 레지스터를 설정함으로써 선택가능하다.

Description

멀티모드 핀아웃을 갖는 플래시 메모리 컨트롤러{FLASH MEMORY CONTROLLER HAVING MULTIMODE PIN-OUT}
본 공개는 일반적으로 메모리 시스템에 관한 것이다. 더욱 구체적으로, 본 출원은 비휘발성 메모리 컨트롤러에 관한 것이다.
오늘날, 다수의 전자장치는 장치에 의해 활용되는 정보(데이터)를 저장하기 위하여 사용되는 메모리 시스템을 포함한다. 예컨대, 일부 디지털 오디오 플레이어는 플레이어에 의해 재생될 수 있는 디지털화된 오디오를 저장하도록 사용되는 메모리 시스템을 포함한다. 마찬가지로, 개인용 컴퓨터 시스템은 컴퓨터 시스템에 의해 활용되는 소프트웨어를 저장하기 위하여 메모리 시스템을 종종 사용한다.
다수의 전자장치에서, 메모리 시스템은 컨트롤러 및 하나 이상의 메모리 장치를 종종 포함한다. 통상적으로, 컨트롤러는 메모리 장치가 정보를 저장하고 회수하도록 명령하기 위해 사용되는 신호를 생성하도록 구성되는 회로를 포함한다. 통상적으로, 메모리 장치는 메모리 장치에 포함된 메모리에 정보를 저장한다. 메모리는 휘발성 또는 비휘발성일 수 있다. 휘발성 메모리를 포함하는 메모리 장치는 전력이 장치로부터 제거될 때 종종 저장된 정보를 잃는다. 비휘발성 메모리를 포함하는 메모리 장치는 심지어 전원이 장치로부터 제거될 때에도 종종 저장된 정보를 보유한다.
특정한 종래의 메모리 시스템에서, 데이터 및 제어 신호는 병렬 버스를 사용하여 컨트롤러와 메모리 장치 사이에서 병렬로 전달된다. 종종, 다수의 와이어가 버스를 구현하도록 사용되고 메모리 시스템의 레이아웃에 따라, 와이어는 특정 길이로 연장할 수 있다.
전자 장비는 예컨대 메모리 장치와 같은 반도체 장치를 사용한다. 메모리 장치는 랜덤 액세스 메모리(RAM), 플래쉬 메모리(예컨대, NAND 플래쉬 장치, NOR 플래쉬 장치) 및 데이터 또는 정보를 저장하기 위한 메모리의 다른 형태를 포함할 수 있다. 메모리 장치는 저장 장치(예컨대, 고체 드라이브(SSD))로서 형성되도록 결합될 수 있다.
본 공개의 제 1 양상에 따라, 다기능 메모리 컨트롤러가 제공된다. 다기능 메모리 컨트롤러는 채널 컨트롤 모듈 및 호스트 인터페이스를 포함한다. 채널 컨트롤 모듈은, 제 1 메모리 인터페이스 프로토콜에서의 통신에 호환가능한 제 1 신호, 제 1 메모리 인터페이스 프로토콜과 상이한 제 2 메모리 인터페이스 프로토콜에서의 통신에 호환가능한 제 2 신호 또는 제 2 메모리 인터페이스 프로토콜에서의 통신을 위하여 호환가능한 제 3 신호를 버퍼링하기 위하여 구성가능한 회로를 포함하는 적어도 하나의 메모리 인터페이스 포트를 각각 갖는다. 호스트 인터페이스는 호스트 장치와 메모리 인터페이스 사이에서 정보를 통신하기 위한 호스트 인터페이스 포트를 갖는다.
제 1 양상의 실시예에 따르면, 채널 컨트롤 모듈의 각각은 제 1 전압 또는 제 2 전압에 선택적으로 연결가능한 제 1 모드 선택 포트 및 제 1 모드 선택 포트와 독립적으로 제 1 전압 또는 제 2 전압에 선택적으로 연결가능한 제 2 모드 선택 포트를 포함한다. 모든 채널 컨트롤 모듈의 적어도 하나의 메모리 인터페이스 포트는 제 1 메모리 인터페이스 프로토콜에서의 통신에 호환가능한 제 1 신호를 버퍼링하도록 구성된다. 제 1 모드 선택 포트 및 제 2 모드 선택 포트가 제 1 신호를 버퍼링하도록 모든 채널 컨트롤 모듈을 구성하기 위하여 제 1 전압과 제 2 전압의 제 1 미리 정해진 조합에 연결된다. 이러한 실시예에서, 제 1 채널 컨트롤 모듈은 제 2 메모리 인터페이스 프로토콜에서의 통신을 위해 제 2 신호를 버퍼링하도록 구성되고 제 2 채널 컨트롤 모듈은 제 2 메모리 프로토콜에서의 통신을 위하여 제 3 신호를 버퍼링하도록 구성된다. 제 1 채널 컨트롤 모듈의 제 1 모드 선택 포트 및 제 2 모드 선택 포트는 제 1 미리 정해진 조합과 상이한 제 1 전압 및 제 2 전압의 제 2 미리 정해진 조합에 연결되고, 제 2 채널 컨트롤 모듈의 제 1 모드 선택 포트 및 제 2 모드 선택 포트는 제 1 미리 정해진 조합 및 제 2 미리 정해진 조합과 상이한 제 1 전압 및 제 2 전압의 제 3 미리 정해진 조합에 연결된다.
제 1 양상의 다른 실시예에서, 제 1 채널 컨트롤 모듈은 제 2 메모리 인터페이스 프로토콜에서의 통신을 위하여 제 2 신호를 버퍼링하도록 구성되고 제 2 채널 컨트롤 모듈은 제 2 메모리 프로토콜에서의 통신을 위하여 제 3 신호를 버퍼링하도록 구성되며, 여기서, 제 2 신호는 아웃바운드 신호이고 제 3 신호는 인바운드 신호이다. 이러한 실시예에서, 제 1 채널 컨트롤 모듈은 제 2 메모리 인터페이스 프로토콜에서의 통신을 위하여 아웃바운드 신호만을 버퍼링하도록 구성되고 제 2 채널 컨트롤 모듈은 제 2 메모리 인터페이스 프로토콜에서의 통신을 위하여 인바운드 신호만을 버퍼링하도록 구성된다. 제 1 메모리 인터페이스 프로토콜은 ONFi 메모리 인터페이스 프로토콜이고, 제 2 메모리 인터페이스 프로토콜은 HLNAND 메모리 인터페이스 프로토콜이다.
제 2 양상에서, 메모리 컨트롤러와 메모리 장치를 포함하는 비휘발성 메모리 시스템이 제공된다. 메모리 컨트롤러는 제 1 메모리 인터페이스 프로토콜에 상응하는 제 1 신호, 제 2 메모리 인터페이스 프로토콜에 상응하는 제 2 신호 또는 제 2 메모리 인터페이스 프로토콜에 상응하는 제 3 신호를 버퍼링하도록 구성가능한 포트를 각각 갖는 채널 컨트롤 모듈을 포함한다. 메모리 장치는 채널 컨트롤 모듈 중 하나와 통신하는 제 1 메모리 인터페이스 프로토콜과 제 2 메모리 인터페이스 프로토콜 중 하나에서 동작가능하다. 제 2 양상의 일 실시예에 있어서, 채널 컨트롤 모듈의 각각은 제 1 전압 또는 제 2 전압 모두에 선택적으로 연결가능한 제 1 모드 선택 포트 및 제 1 모드 선택 포트와 독립적으로 제 1 전압 또는 제 2 전압 모두에 선택적으로 연결가능한 제 2 모드 선택 포트를 포함한다. 제 1 메모리 인터페이스 프로토콜에 있어서, 메모리 장치는 채널 컨트롤 모듈의 포트에 병렬로 연결된 적어도 2개의 메모리 칩을 포함한다. 제 1 메모리 인터페이스 프로토콜은 ONFi 메모리 인터페이스 프로토콜이 될 수 있다.
메모리 장치가 제 1 메모리 인터페이스 프로토콜에서 채널 컨트롤 모듈의 포트에 병렬로 연결된 적어도 2개의 메모리 칩을 포함하는 실시예에서, 제 2 신호는 아웃바운드 신호이고 제 3 신호는 인바운드 신호이다. 이러한 실시예에서, 제 1 채널 컨트롤 모듈은 아웃바운드 신호를 버퍼링하도록 구성되고 제 2 채널 컨트롤 모듈은 제 2 메모리 인터페이스 프로토콜의 인바운드 신호를 버퍼링하도록 구성된다. 제 2 메모리 인터페이스 프로토콜에 있어서, 메모리 장치는 제 1 채널 컨트롤 모듈과 제 2 채널 컨트롤 모듈을 갖는 링 토폴로지 구성에서 직렬로 연결된 적어도 2개의 메모리 칩을 포함한다. 제 2 메모리 인터페이스 프로토콜은 HLNAND 메모리 인터페이스 프로토콜이 될 수 있다.
본 공개의 기타 양상 및 특징은 동반하는 도면과 관련하여 특정 실시예의 이하의 기재를 검토함에 따라 당업자에게 더욱 명백해질 것이다.
본 공개의 실시예는 동반하는 도면과 관련하여 오직 예시로서 기재될 것이다.
도 1은 본 공개의 실시예가 적용되는 메모리 시스템의 블록 다이어그램이다.
도 2a는 제 1 형태의 메모리 컨트롤러의 기능 핀아웃을 도시하는 블록 다이어그램이다.
도 2b는 제 2 형태의 메모리 컨트롤러의 기능 핀아웃을 도시하는 블록 다이어그램이다.
도 3a는 멀티 드롭 메모리 시스템을 개략적으로 도시한다.
도 3b는 직렬 연결된 메모리 시스템을 개략적으로 도시한다.
도 4는 본 공개의 일 실시예에 따른, 다기능 메모리 컨트롤러를 사용하는 고체 저장 장치의 블록 다이어그램이다.
도 5는 본 공개의 일 실시예에 따른, 도 4에 도시된 다기능 메모리 컨트롤러의 메모리 인터페이스 블록의 블록 다이어그램이다.
도 6은 본 공개의 일 실시예에 따른, 다기능 메모리 컨트롤러를 사용하는 멀티 드롭 버스 구조 메모리 시스템의 블록 다이어그램이다.
도 7은 본 공개의 일 실시예에 따른, 다기능 메모리 컨트롤러를 사용하는 직렬 점대점 구조 메모리 시스템의 블록 다이어그램이다.
도 8은 본 공개의 일 실시예에 따른, 도 6의 멀티 드롭 버스 구조 메모리 시스템의 예시를 개략적으로 도시한다.
도 9는 본 공개의 일 실시예에 따른, 예시적인 직렬 점대점 구조 메모리 시스템을 개략적으로 도시한다.
도 10은 본 공개의 일 실시예에 따른, 도 7 및 도 10에 도시된 메모리 인터페이스 블록의 채널 컨트롤 모듈의 블록 다이어그램이다.
도 11은 본 공개의 일 실시예에 따른, 다기능 채널 컨트롤 모듈의 포트에 대한 신호의 핀아웃 맵핑(mapping)의 설명이다.
도 12는 본 공개의 일 실시예에 따른, 모드 선택 인터페이스 회로의 회로 개략도(circuit schematic)이다.
도 13은 본 공개의 일 실시예에 따른, 멀티 모드 양방향 인터페이스 회로의 회로 개략도이다.
도 14는 본 공개의 일 실시예에 따른, 멀티모드 양방향 인터페이스 회로의 회로 개략도이다.
도 15는 본 공개의 일 실시예에 따른, 멀티 모드 출력 인터페이스 회로의 회로 개략도이다.
도 16은 본 공개의 일 실시예에 따른, 대안적인 멀티 모드 양방향 인터페이스 회로의 회로 개략도이다.
일반적으로, 본 공개의 실시예는 상이한 메모리 인터페이스 프로토콜을 갖고 동작하는 2개의 상이한 형태의 메모리 장치와 인터페이스하기 위한 3개의 상이한 핀아웃 할당을 갖도록 각각 구성가능한 채널 컨트롤 모듈을 갖고, 호스트와 통신하는 데이터 저장 장치의 메모리 컨트롤러를 제공한다. 하나의 핀아웃 할당은 메모리 장치가 서로 병렬로 연결될 수 있는 메모리 인터페이스 프로토콜에 상응한다. 2개의 다른 핀아웃 할당은 메모리 장치가 서로 직렬로 연결되는 다른 메모리 인터페이스 프로토콜의 인바운드 및 아웃바운드 신호에 개별적으로 상응한다. 이러한 동작의 모드에서, 하나의 채널 컨트롤 모듈이 아웃바운드 신호를 제공하도록 구성되면 다른 채널 컨트롤 모듈이 인바운드 신호를 수신하도록 구성된다. 채널 컨트롤 모듈의 각각의 메모리 포트는 상이한 기능적 신호 할당에 구성가능한 포트 버퍼 회로를 포함한다. 각각의 채널 컨트롤 모듈의 구성은 미리 결정된 포트 또는 레지스터를 설정함으로써 선택가능하다.
플래쉬 메모리는, 일반적으로 예컨대 디지털 카메라 및 휴대용 디지털 뮤직 플레이어와 같은 가전 제품을 위한 대용량 저장장치로서 광범위하게 비휘발성 메모리의 형태로 사용된다. 이러한 플래쉬 메모리는 메모리 카드 또는 범용 직렬 버스(USB)형 메모리 스틱의 형태를 취하고, 각각은 적어도 하나의 메모리 장치 및 그 안에 형성된 메모리 컨트롤러를 갖는다. 또 다른 대용량 저장소의 응용은 컴퓨터 하드 디스크 드라이브의 대용품으로서 사용될 수 있는 고체 드라이브(SSD)이다. 이러한 고체 드라이브는 컴퓨터 워크스테이션, 네트워크에서 사용될 수 있고 대용량의 데이터가 저장될 필요가 있는 가상의 응용을 위해서 사용될 수 있다.
도 1은 예컨대 본 공개의 실시예가 적용되는 비휘발성 메모리 시스템과 같은 시스템을 도시한다. 도 1을 참조하면, 비휘발성 메모리 시스템(10)은 외부 장치 또는 기기로서 호스트(14) 및 데이터 저장 장치(12)를 갖는다. 데이터 저장 장치(12)의 비한정적인 예시는 고체 드라이브(SSD)이다. 호스트(14)의 비한정적 예시는 컴퓨터 또는 기타 컴퓨팅 시스템이다.
데이터 저장 장치(12)는 메모리 컨트롤러(16) 및 메모리(18)를 포함한다. 메모리(18)는 휘발성 메모리 장치 또는 예컨대 플래쉬 메모리 장치와 같은 비휘발성 메모리 장치를 포함한다. 메모리(18)는 종래의 회전 자기 저장 디스크를 포함할 수 있다. 호스트(14)는 인터페이스 프로토콜 버스(20)를 통해 데이터 저장 장치(12)와 결합되고 인터페이스 프로토콜을 사용하여 메모리 컨트롤러(16)와 통신한다. 인터페이스 프로토콜은 예컨대 PCI 익스프레스(PCI-E) 프로토콜, 고급 기술 결합(ATA) 프로토콜, 직렬 ATA(SATA) 프로토콜, 병렬 ATA(PATA) 프로토콜 또는 직렬 결합 SCSI(SAS) 프로토콜을 포함한다. 그러나, 호스트(14)와 데이터 저장 장치(12) 사이의 인터페이스 프로토콜은 상기 예시에 한정되지 않으며, 범용 직렬 버스(USB) 프로토콜, 멀티 미디어 카드(MMC) 프로토콜, 고도화 소형 디스크 인터페이스(ESDI) 프로토콜, 통합 드라이브 장치(IDE) 프로토콜 등과 같은 기타 인터페이스 프로토콜을 포함할 수 있다. 인터페이스 프로토콜 버스(20)는 호스트(14)와 메모리 컨트롤러(16) 사이에서 데이터 및 명령을 전달하고 핀, 포트 및 기타 물리적 인터페이스의 형태를 취한다. 데이터 저장 장치(12)는 예컨대 종래의 HDD(하드 디스크 드라이브) 폼 팩터, PCIe PCB 카드 폼 팩터, 플러그-인 모듈(예컨대, DIMM) 폼 팩터 또는 휴대용 메모리 카드(예컨대, 보안 디지털(SD) 카드 또는 MMC) 폼 팩터를 포함하는 임의의 형태의 폼 팩터를 가질 수 있다.
메모리(18)는 이러한 설명적인 구성에서 예컨대 적어도 하나의 NAND 플래쉬 메모리 장치를 포함하되, NAND 플래쉬 메모리에만 한정되지 않는다. 메모리(18)는 상변화 랜덤 액세스 메모리(PCRAM), 자기 저항 RAM(MRAM), 저항 RAM(ReRAM), 강유전체 RAM(FeRAM) 또는 기타 형태의 메모리를 포함할 수 있다. 메모리(18)가 플래쉬 메모리 장치일 때, 이것은 예컨대 플로팅 게이트 기술 또는 전하 트랩 플래쉬(CTF) 기술을 사용하는 NAND 플래쉬 메모리 장치가 될 수 있다.
메모리 컨트롤러(16)는 메모리 프로토콜 버스(22)와 결합된다. 메모리 컨트롤러(16)는 메모리 프로토콜을 사용하여 메모리(18)에 명령 및 데이터를 통신하기 위한 인터페이스를 포함한다. 데이터 저장 장치(12)에서 메모리(18)로서 사용되는 특정 형태의 메모리에 따라, 특정 형태의 메모리에 고유한 특정 프로토콜이 사용된다. 따라서, 메모리 컨트롤러(16)는 사용되는 메모리(18)의 형태에 의해 좌우되는 특정 프로토콜을 사용하여 메모리(18)와 통신하도록 구성된다. 예컨대, 상이한 형태의 먼저 언급된 비휘발성 메모리의 각각은 상이한 통신 프로토콜을 가질 수 있고, 여기서, 명령 동작 코드는 상이할 수 있고, 제어 신호의 형태도 상이할 수 있으며 데이터 포맷이 상이할 수 있다. 요약하면, 상이한 메모리의 통신 프로토콜은 서로 호환 불가능하다. 그러므로, 상이한 메모리 컨트롤러가 데이터 저장 장치(12)에서 사용되는 상이한 형태의 메모리(18)와 인터페이스하기 위해서 요구된다. 이로써, 데이터 저장 장치(12)의 제조 비용이 상승하며, 이는 이들이 특정 형태의 메모리(18)와 통신하기 위하여 각각 구성되는 상이한 메모리 컨트롤러(16)를 사용해야하기 때문이다. 이런 이유로, 일 특정 형태의 데이터 저장 장치(12)가 소비자들의 눈 밖에 나거나 특정 형태의 메모리(18)가 더는 생산되지 않을 경우, 데이터 저장 장치 제조사의 위험성이 증가한다.
데이터 저장 장치를 위한 메모리 컨트롤러는 예컨대 호스트 장치와 그리고 적어도 하나의 메모리 장치와 신호를 전기적으로 결합하기 위하여 물리적인 핀과 같은 포트를 사용한다. USB 메모리 스틱 및 SSD와 같은 고체 저장 장치를 위한 메모리 컨트롤러는 통상적으로 복수의 채널을 가지며, 여기서 각각의 채널은 적어도 하나의 메모리 장치에 전기적으로 연결된다.
도 2a는 ONFi 메모리 인터페이스 프로토콜을 위하여 구성되는 메모리 컨트롤러(30)의 기능 핀아웃을 도시하고, 이것은 특정 메모리 인터페이스 프로토콜의 일 예시이다. 도 2a의 예시에서, 하나의 채널에 대한 포트가 도시된다. 표 1은 도 2a에 도시된 포트를 위한 신호의 설명을 제공한다.
핀 명칭 형태 설명
CE# 출력 칩 인에이블: 칩 인에이블 신호는 타겟 NAND 플래쉬 칩을 선택한다. 칩 인에이블이 하이(high)이고 타겟이 준비 상태이면, 타겟은 저전력 대기 상태에 들어간다. 칩 인에이블이 로우(low)이면, 타겟이 선택된다.
CLE 출력 명령 래치 인에이블: 명령 래치 인에이블 신호는 명령 레지스터내로 DQ[0:7]로부터의 명령을 로드하도록 타겟 NAND 플래쉬 칩을 제어한다.
ALE 출력 어드레스 래치 인에이블: 어드레스 래치 인에이블 신호는 어드레스 레지스터내로 DQ[0:7]로부터의 어드레스를 로드하도록 타겟 NAND 플래쉬 칩을 제어한다.
WE# 출력 기록 인에이블: 기록 인에이블 신호는 명령, 어드레스 및 입력 데이터의 래칭을 제어한다. 데이터, 명령 및 어드레스는 WE#의 상승 에지 상에서 래칭된다.
RE 출력 판독 인에이블 트루: 판독 인에이블(True) 신호는 DQ[0:7]상의 데이터 출력을 인에이블한다.
RE# 출력 판독 인에이블 보수(complement): 판독 인에이블 보수 신호는 판독 인에이블 트루에 대한 상보 신호다. 구체적으로, 판독 인에이블 보수는, CE#이 로우일 때 판독 인에이블 트루의 반대값을 갖는다. 즉, RE가 하이이면 RE#은 로우이고 RE가 로우이면 RE#은 하이이다.
DQ[0:7] 입/출력 데이터 입/출력: DQ[0:7] DQ 포트는 장치에 그리고 장치로부터 어드레스, 명령 및 데이터를 전달하기 위한 8-비트 확장 양방향 포트이다.
DQS 입/출력 DQ 데이터 스트로브 트루: DQS는 데이터 입력에 대한 동기화 기준을 제공하는 데이터 스트로브 신호이다. 데이터 스트로브 신호는 유효 데이터 윈도우를 표시한다.
DQS# 입/출력 DQ 데이터 스트로브 보수: 데이터 스트로브 보수 신호는 선택적으로 NV-DDR2 데이터 인터페이스에서 사용되는 데이터 스트로브 트루에 대한 상보 신호다. 구채적으로 데이터 스트로브 보수는 CE#가 로우일 때 데이터스트로브 트루의 반대값을 갖는다. 즉, DQS가 하이이면 DQS#가 로우이고; DQS가 로우이면 DQS#가 하이이다.
WP# 출력 기록 방지: 우발적인 프로그래밍 및 소거 동작을 방지한다. WP#가 로우일 때, 모든 프로그래밍 및 소거 동작을 디스에이블한다.
R/B# 입력 준비/사용중(Ready/Busy): 준비/사용중 신호는 타겟 상태를 표시한다. 로우일 때, 신호는 하나 이상의 LUN 동작이 진행중임을 표시한다. 이러한 신호는 오픈 드레인 출력이며 외부 풀-업을 요구한다.
현재 도시된 예시에서, 8개의 포트는 8-비트 확장 데이터 신호를 위해 요구되고 9개의 포트는 ONFi 플래쉬 메모리 장치의 동작을 인에이블하기 위하여 요구되는 제어 신호를 운반하기 위해 요구된다. 그러므로, 총 17개의 포트가 적어도 하나의 ONFi 메모리 장치에 연결될 채널에 요구된다. 메모리 컨트롤러(30)가 8개의 채널을 포함할 경우, 이로써 메모리 컨트롤러(30)는 적어도 8×17=136개의 포트를 요구한다. 이것은 호스트 시스템과 인터페이스 하기 위해 요구되는 포트는 제외한다.
도 2b는 또 다른 프로토콜에서 동작하는 또 다른 형태의 메모리 장치를 위하여 구성되는 메모리 컨트롤러(32)의 기능 핀아웃을 도시하고, 이것은 선택된 메모리 인터페이스 프로토콜의 일 예시이다. 선택된 메모리 인터페이스 프로토콜의 일 예시는 HLNANDTM 메모리 인터페이스 프로토콜이다. 메모리 장치는 다른 형태의 메모리 인터페이스 프로토콜에서 동작할 수 있다. 도 2b의 예시에서, 하나의 채널에 대한 포트가 도시된다. 표 2는 도 2a에 도시된 포트에 대한 신호 설명을 제공한다.
핀 명칭 형태 설명
CKI/CKI# 입력 클럭: CKI 및 CKI#는 (마지막) HLNANDTM 장치로부터의 클럭 입력이다. CKI 및 CKI#은 차동 신호이다. (마지막) HLNAND 장치로부터의 모든 인커밍 명령, 어드레스, 판독 데이터는 CKI 및 CKI#의 교차 에지에 대해 양방향으로 참조된다.
CKO/CKO# 출력 클럭: CKO/CKO#는 차동 클럭 출력이다. 모든 아웃고잉 명령, 어드레스 및 데이터는 CKO 및 CKO#의 교차 에지에 참조된다.
CE# 출력 칩 인에이블: CE#가 로우면, 장치는 인에이블된다. 장치가 "사용중(busy)"이면, CE# 핀은 장치가 "준비"가 될 때까지 로우가 되어야 한다. 게다가, CE# 로우가 활성화되면, CE# 하이는 내부 클럭 신호를 비활성화한다.
D[7:0] 입력 데이터 입력: D[7:0]은 DSI가 하이이고 CKI 및 CKI#의 교차 에지에 양방향으로 참조될 때 (마지막 HLNAND 장치로부터 판독 데이터를 수신한다.
Q[7:0] 출력 데이터 출력: Q[7:0]은 CSO와 함께 명령 및/또는 어드레스 패킷을 송신하고, 기록 동작 동안 DSO와 함께 기록 데이터를 송신한다.
CSO 출력 명령 스트로브 출력: CSO가 하이일 때, D[7:0]를 통한 명령, 어드레스 및/또는 기록 데이터는 장치에 의해 CKI 및 CKI#의 교차점에서 래칭된다. CSO가 로우일 때, 장치는 D[7:0]로부터의 입력 신호를 무시한다. CSO는 오직 명령 및 어드레스 패킷과 함께 사용된다.
CSI 입력 명령 스트로브 입력: CSO의 에코 신호. 특정 경우에서 컨트롤러에 의해 사용되지 않을 수 있다.
DSI 입력 데이터 스트로브 입력: DSO의 에코 신호. DSI는 CKO 및 CKO#의 교차 에지에 참조되고 (마지막) HLNAND 장치의 Q[7:0] 핀으로부터 D[7:0] 핀 상의 유효 판독 데이터를 기술한다.
DSO 출력 데이터 스트로브 출력: 판독 그룹 명령 이후에, DSO는 하이일 때 선택된 HLNAND 장치의 Q[7:0] 버퍼를 인에이블한다. DSO가 로우이고 CSO가 로우일 때, 선택된 HLNAND 장치의 Q[7:0] 버퍼는 이전 상태를 유지한다. 기록-그룹 명령 그리고 DSO가 하이가 된 후, Q[7:0]을 통과한 기록 데이터 패킷은 (제 1) HLNAND 장치에 송신되고 CKI 및 CKI#의 교차점 상의 선택된 장치에 의해 래칭되어야 한다.
STI 입력 상태 입력: 상태 입력 핀. 이것은 마지막 HLNAND 메모리 장치 동작의 상태를 표시한다. 장치 동작이 완료될 때, STI 핀은 비동기 활성 하이(또는 로우) 단펄스를 표시한다. 복수의 장치가 데이지 체인화 될 경우, 단펄스 신호는 비동기식으로 또는 동기식으로 체인을 통해 바이패스될 것이다.
현재 도시된 예시에서, 8개의 포트는 Q0 내지 Q7 데이터 출력을 위해 요구되고, 8개의 포트는 D0 내지 D7 데이터 입력을 위해 요구되며, 9개의 포트는 HLNAND 플래쉬 메모리 장치의 동작을 인에이블하기 위하여 요구되는 제어 신호를 운반하기 위하여 요구된다. 그러므로, 총 26개의 포트는 적어도 하나의 HLNAND 플래쉬 메모리 장치에 연결될 채널에 요구된다. 메모리 컨트롤러(32)가 8개의 채널을 포함할 경우, 메모리 컨트롤러(32)는 적어도 8×25=200개의 포트를 요구한다. 이것은 호스트 시스템과 인터페이스하기 위하여 요구되는 포트는 제외한다.
ONFi 및 HLNAND 메모리 인터페이스 프로토콜의 특정 신호 명칭 및 기능은 서로 유사하게 보일 수 있으나, 이들이 사용되는 방식 및 메모리 장치가 메모리 컨트롤러와 상호연결되는 방식은 서로 매우 상이하다. 이러한 차이점은 도 3a 및 도 3b에 도시된다.
도 3a는 ONFi NAND 플래쉬 장치를 사용하는 예시적인 비휘발성 메모리 시스템을 도시한다. 메모리 시스템은 ONFi 구성 메모리 컨트롤러(40) 및 다수의 ONFi 플래쉬 장치(42, 44 및 46)를 포함한다. 각각의 플래쉬 메모리 장치의 칩 선택(CE#) 신호를 제외한 모든 입/출력 신호는 공통 버스 또는 채널에 연결된다. 그러므로, ONFi 플래쉬 장치(42, 44 및 46)는 메모리 컨트롤러(40)와 병렬로 연결되며 멀티-드롭 구성으로도 지칭된다. 각각의 ONFi NAND 플래쉬 메모리 장치(42)는 CE# 신호를 인에이블함으로써 선택될 수 있다. 예컨대, 제 1 ONFi 플래쉬 장치(42)는 CE#_1(CE#_1=로우)를 어서트함으로써 선택되고 접근될 수 있다. 나머지 ONFi 플래쉬 장치는 CE#_2 및 CE#_N를 하이로 유지함으로써 선택되지 않고, 이들은 메모리 컨트롤러(40)로부터의 명령 또는 어드레스와 같은 임의의 입력을 무시한다. 또한, 선택되지 않은 ONFi 플래쉬 장치의 출력 신호는 높은 임피던스(즉, Hi-Z) 상태로 설정된다.
ONFi 플래쉬 장치(42, 44 및 46)의 각각은 채널 컨트롤 모듈을 통해 ONFi 플래쉬 장치와 호스트 컨트롤러 장치(미도시) 사이에서의 명령 및 데이터 전달을 조정하기 위해 동일한 전기 신호를 사용한다. 현재 도시된 예시에서, 하나의 채널 컨트롤 모듈을 위한 포트는 도 3a에 도시된다. 이러한 신호는, ALE(어드레스 래치 인에이블), CLE(명령 래치 인에이블), WE#(기록 인에이블), RE#(판독 인에이블) 및 표 1에 먼저 기재된 기타 신호와 같은 데이터 라인 및 제어 신호를 포함한다. 이러한 형태의 인터페이스 프로토콜은 해당 업계에서 "ONFi NAND 인터페이스"로 알려진다. "NAND 인터페이스 프로토콜"이 표준화 기구에 의해 현재까지 공식적으로 표준화되지 않았으나, NAND 플래쉬 장치의 제조자들은 모두 NAND 플래쉬 기능의 기본 서브셋을 지지하기 위한 유사한 프로토콜을 따른다. 이것이 행해져서, 자신의 전자 제품내의 NAND 플래쉬 메모리 장치를 사용하는 소비자는 특정 벤더의 장치를 가지고 동작하기 위하여 그 하드웨어 또는 소프트웨어를 맞출 필요 없이 임의의 제조사로부터의 NAND 플래쉬 메모리 장치를 사용할 수 있다. 일부 NAND 플래쉬 메모리 벤더는 이러한 기능의 기본 서브셋을 능가하는 추가 기능을 제공할 수 있으면서도, 기본 기능이 다른 벤더에 의해 사용되는 프로토콜과의 호환성을 제공하기 위해 제공되는 것을 보장한다.
도 3b는 HLNAND 플래쉬 메모리 장치를 사용하는 비휘발성 메모리 시스템의 예시를 도시한다. 메모리 시스템은 HLNANDTM 구성 메모리 컨트롤러(60) 및 다수의 HLNAND 호환가능한 플래쉬 장치(62, 64, 66 및 68)를 포함한다. 도 3b를 참조하면, HLNAND 메모리 장치(62, 64, 66 및 68)는 명령, 어드레스 및 데이터와 같은 정보를 전달하기 위하여 상당히 다중화된 단방향 점대점 버스 구조를 사용한다. 메모리 장치들 사이의 이러한 명령, 어드레스 및 데이터들의 각각의 상호 연결은 "링크"로 지칭된다. 일 예시에서, 하나의 단일 링크는 2개의 차동 클럭 입력 신호(CKI/CKI#), 클럭 출력 신호(CKO/CKO#) 및 공통 신호(CE#(칩 인에이블) 및 RST#(리셋))와 함께 7개의 신호, CSI(명령 스트로브 입력), CSO(명령 스트로브 출력), DSI(데이터 스트로브 입력), DSO(데이터 스트로브 출력), D[0:7](데이터 입력), STI(상태 입력) 및 Q[0:7](데이터 출력)으로 구성된다.
이하는 이러한 제어 신호의 일부가 도 3b의 메모리 시스템에서 사용되는 방법의 간략한 논의이다. CKI/CKI#는 입력 클럭이다. CSI에 의해 기술되는 D[0:7] 포트 상의 명령/어드레스 패킷은 CKI의 상승 에지 또는 CKI#의 하강 에지 상에서 래칭된다. DSI에 의해 기술되는 D[0:7] 상의 기록 데이터 패킷은 CKI의 상승 에지 또는 CKI#의 하강 에지 상에서 래칭된다. DSO에 의해 기술되는 Q[0:7] 상의 판독 데이터 패킷은 CKO의 상승 에지 또는 CKO#의 하강 에지 상에서 참조된다. CKO/CKO#는 출력 클럭이며 이는 CKI/CKI#의 지연된 버전이다.
CSO, DSO 및 Q[0:7] 신호는 CKO의 상승 에지 또는 CKO#의 하강 에지에 참조된다. 명령 스트로브 입력(CSI)이 하이(HIGH)일 때, D[0:7]을 통하는 명령/어드레스 패킷은 CKI의 상승 에지 또는 CKI#의 하강 에지 상에서 래칭된다. 명령 스트로브 출력(CSO)은 CSI의 에코 신호이다. 이것은 CKO의 상승 에지 또는 CKO#의 하강 에지에 참조되는 1 클럭 사이클 레이턴시(tIOL)를 갖는 CSI 천이를 바이패스(또는 에코잉)한다. 1 클럭 사이클 레이턴시는 본 공개에서의 예시적인 실시예 중 하나지만, 설계 변형에 따른 임의의 수의 클럭 사이클이 될 수 있다.
데이터 스트로브 입력(DSI)이 하이이고, HLNAND 호환가능한 메모리 장치가 '판독 모드'에 있을 때, 이것은 판독 데이터 출력 경로 및 Q[0:7] 버퍼를 인에이블한다. DSI가 로우일 경우, Q[0:7] 버퍼는 접근된 이전 데이터를 유지한다. DSI가 하이이고 메모리 장치가 '기록 모드'일 경우, 이것은 D[0:7] 버퍼를 인에이블하고 CKI의 상승 에지 또는 CKI#의 하강 에지 상에서 기록 데이터 패킷을 수신한다.
데이터 스트로브 출력(DSO)은 DSI의 에코 신호이다. 이것은 CKO의 상승 에지 또는 CKO#의 하강 에지에 참조되는 1 클럭 사이클 레이턴시(tIOL)를 갖는 DSI 천이를 바이패스 또는 에코잉한다. 1 클럭 사이클 레이턴시는 이러한 공개에서의 예시적인 실시예 중 하나가 되지만, 이것은 설계 변형에 따라 임의의 수의 클럭 사이클이 될 수 있다.
언제든, 메모리 컨트롤러(60)는, 특히 선택된 메모리 장치가 특정 동작을 완료했는지의 여부를 결정하기 위하여 특정 메모리 장치의 상태에 대한 요청을 발행할 수 있다. 이에 응답하여, 상태 요청을 수신하는 선택된 메모리 장치는 펜딩(pending) 동작이 완료된 것을 표시하도록 그 STO 출력을 펄싱한다. 메모리 컨트롤러(60)는 그 STI 입력에서 펄스를 수신하여 동일한 메모리 장치에 추가 명령을 발행할 수 있다. 메모리 컨트롤러(60)는 STO 펄스를 위한 미리 결정된 양의 시간을 대기하도록 설정될 수 있다. STO 펄스가 미리 결정된 양의 시간이 경과된 후에 수신되지 않은 경우, 메모리 컨트롤러(60)는 선택된 메모리 장치가 여전히 사용중(busy)인지 결정할 수 있다. 이러한 상황에서, 메모리 컨트롤러(60)는 기타 메모리 장치를 위한 추가 동작을 수행할 수 있다.
데이터 입력 신호(D[0:7])는 명령, 어드레스 및/또는 입력 데이터 정보를 운반하며, 데이터 출력 신호(Q[0:7](n = 0, 1, 2, 3, 4, 5, 6 또는 7)는 판독 동작 동안 출력 데이터를 운반하고 D[0:7] 상에 수신된 명령, 어드레스 또는 입력 데이터를 바이패스한다.
메모리 컨트롤러(60)는 그 자체 포트(CKO/CKO#)로부터의 차동 클럭을 구동하고, 모든 HLNAND 호환가능한 메모리 장치(62, 64, 66 및 68)는 직렬 플로우 스루 방식으로 이전의 CKO/CKO# 포트로부터 그 자체의 클럭 포트(CKI/CKI#)를 통해 차동 클럭 버스를 수신한다. 메모리 컨트롤러(60)는 그 포트(CSO, DSO 및 Q[0:7])를 통해 4개의 상이한 버스(70, 72, 74 및 76)를 개별적으로 구동한다. 제 1 메모리 장치(62)는 그 포트(CSI, DSI 및 D[0:7])를 통해 버스(70, 72 및 74)를 개별적으로 수신한다. 수신하기 위한 이전의 메모리 장치로부터의 STO 펄스는 존재하지 않으므로 제 1 메모리 장치가 접지된 STI 포트를 갖는 것이 주목된다. 제 1 메모리 장치(62)는 1 클럭 사이클 레이턴시(tIOL)로 그 출력 포트(CSO, DSO, Q[0:7] 및 STO)를 통해 4개의 상응하는 버스(78, 80, 82 및 84)를 개별적으로 재구동한다. 신호를 수신하고 연속하는 메모리 장치에 이 신호를 재구동하는 이러한 패턴은, 마지막 메모리 장치(68)가 메모리 컨트롤러의 입력 포트(CSI, DSI, D[0:7], 및 STI)를 통해 메모리 컨트롤러(60)에 최종 버스(86, 88, 90 및 92)를 개별적으로 재구동할 때까지 계속된다. 본 예시에서, 메모리 장치(68)의 CSO 포트로부터 신호를 재구동할 필요가 없으므로, 메모리 컨트롤러(60)의 CSI 입력 포트가 생략될 수 있고 최종 버스(88)는 요구되지 않는다.
ONFi 및 HLNAND 메모리 인터페이스 프로토콜은 서로 매우 상이하고, ONFi 메모리 인터페이스 프로토콜을 위해 구성된 임의의 메모리 컨트롤러가 HLNAND 메모리 장치와 함께 동작하지 않고 그 반대도 되는 것이 당업자에게 명백해져야 한다. 먼저 논의된 ONFi 및 HLNAND 메모리 시스템은 서로 호환불가능한 2개의 상이한 형태의 메모리 인터페이스 프로토콜의 단순한 예시이다. 임의의 먼저 언급된 메모리 장치의 형태는 서로 호환가능할 가능성이 상당히 적은데, 이것은, 각각의 형태가 상이한 메모리 장치 형태와는 동작하지 않는 특정 메모리 인터페이스 프로토콜을 요하기 때문이다.
이용가능한 메모리 장치의 상이한 형태를 고려하면, 제조업자는 상이한 형태의 메모리 장치를 기초로 하는 상이한 데이터 저장 장치를 설계할 수 있다. 예컨대, 종래의 NAND 플래쉬 메모리 장치 기반 데이터 저장 장치는 종래의 NAND 플래쉬 메모리 장치의 이용가능성 및 낮은 비용으로 인하여 통상적으로 이용가능하다. 예시로서, 이들은 ONFi형 플래쉬 메모리 장치가 될 수 있다. 공교롭게도, 도 3a에도시된 바와 같은 ONFi형 플래쉬 메모리 시스템의 멀티-드롭 구성은, 시스템의 전체 속도 및 성능을 약화시키지 않고 메모리 컨트롤러(40)의 하나의 채널에 병렬로 연결될 수 있는 한정된 수의 메모리 장치를 가질 수 있을 것이다. 이것은 버스에 연결된 각각의 메모리 장치의 누적 로딩 효과로 인한 것이다. 그러므로, 이러한 데이터 저장 장치의 비용이 낮을 수 있으면서, 최대 저장 밀도는 비교적 낮을 것이다.
반대로, HLNAND 형태의 메모리 장치는 멀티-드롭 구성 메모리 시스템의 한계에 시달리지 않는다. 예시로서, 도 3b에 도시된 것과 같은 HLNAND 메모리 시스템에서, 임의의 수의 메모리 장치는 메모리 컨트롤러(60)의 하나의 채널과 서로 직렬로 연결될 수 있다. 그러므로, HLNAND형의 메모리 장치를 사용하는 데이터 저장 장치의 총 저장 밀도는 상당히 높을 수 있다.
제조업자들이 직면하는 문제는 상이한 형태의 데이터 저장 장치를 제조하기 위하여, 특정 형태의 메모리 장치 또는 특정 메모리 인터페이스 프로토콜을 구성하기 위한 상이한 메모리 컨트롤러의 구입의 필요성이다. 비용 관련 위험성을 완화하기 위하여, 2개 이상의 메모리 인터페이스 프로토콜과 동작하도록 구성되는 메모리 컨트롤러가 가능하고, 제공된 별도의 포트는 선택된 형태의 메모리 장치와의 연결에 이용가능하다. 공교롭게도, 별도의 포트 세트를 제공하는 것은 메모리 컨트롤러 패키지 상에서 요구되는 포트의 수로 인하여 실용적이지 못한 것이 될 수 있다. 예컨대, 상기 논의된 ONFi 및 HLNAND 메모리 컨트롤러의 예시를 예로 들 수 있다. 8 채널 ONFi 인터페이스가 ONFi NAND 신호만을 위해서 총 136개의 포트를 요구하고 8채널 HLNAND 메모리 컨트롤러 인터페이스가 총 208개의 포트를 요구할 경우, 양쪽 인터페이스 프로토콜에서 동작하도록 구성되는 메모리 컨트롤러는 344개의 포트를 요구한다. 당업자는 메모리 컨트롤러 패키지 크기가 포트의 수에 의해 좌우되는 것을 이해해야 한다. 그러므로, 344개의 포트를 갖는 패키지는 136개의 포트 또는 208개의 포트를 갖는 패키지보다 상당히 더 큰 영역을 가질 수 있다.
본 공개의 일 실시예에 따라, 3개의 상이한 모드 중 적어도 하나에서 동작하도록 구성가능한 메모리 컨트롤러가 제공된다. 채널의 포트는 3개의 상이한 기능적 할당으로 맵핑되고, 여기서, 각각의 기능적 할당은 메모리 인터페이스 프로토콜에 특정한 신호에 상응하다. 각각의 포트는 메모리 장치로의 신호 컨덕터 라인에 대한 전기 연결을 위한 패드 및 3개의 기능적 할당의 각각에 대한 버퍼 회로를 포함한다. 각각의 포트의 상이한 버퍼 회로는 사용될 선택된 모드를 기초로 선택적으로 인에이블된다. 일 예시적인 실시예에서, 동작의 하나의 모드는 ONFi 프로토콜과 같은 제 1 메모리 인터페이스 프로토콜에 상응하고, 동작의 제 2 모드는 HLNAND 프로토콜의 아웃바운드 또는 출력 신호에 상응하며 동작의 제 3 모드는 HLNAND 프로토콜의 인바운드 또는 입력 신호에 상응한다.
본 공개의 일 실시예에 따른, 멀티 모드 핀아웃 메모리 컨트롤러를 사용하는 고체 저장 장치의 블록 다이어그램이 도 4에 도시된다. 고체 저장 장치(100)는 다기능 핀아웃 메모리 컨트롤러(102) 및 메모리(104)를 포함한다. 특정 실시예에서, 메모리(104)는 ONFi 플래쉬 메모리 장치 또는 HLNAND 플래쉬 메모리 장치와 같은 비휘발성 메모리를 포함한다. 본 실시예에서, 임의의 형태의 메모리 장치가 메모리(104)로서 사용될 수 있다. 이 맥락에서, 메모리(104)는 메모리 장치를 포함한다.
컨트롤러(102)는 고체 저장 장치(100)의 전체 동작을 제어하고 호스트와 메모리(104) 사이의 데이터의 교환을 제어한다. 예컨대, 컨트롤러(102)는 호스트(미도시)로부터의 요청에 응답하여 메모리(104)가 데이터를 기록하거나 데이터를 판독하도록 제어한다. 또한, 컨트롤러(102)는 예컨대 성능 제어, 머징(merging) 및 웨어 레벨링(wear leveling)과 같은 내부 동작을 제어하고, 이것은 비휘발성 메모리의 특성을 위하여 또는 메모리(104)의 효율적인 관리를 위하여 요구된다. 컨트롤러(102)는 메모리(104)의 동작을 제어하기 위하여 펌웨어 및/또는 소프트웨어를 구동하고, 이것은 플래쉬 변환 레이어(FTL)(미도시)로 지칭된다. 컨트롤러(102)는, 호스트로부터의 요청을 기초로 메모리 장치(104)에 포함된 다수의 비휘발성 메모리들 사이에서의 다수의 메모리의 동작을 제어하기 위하여 메모리(104)를 제어할 수 있다. 메모리(104)는 데이터를 저장하기 위하여 저장 매체를 제공한다. 메모리(104)가 적어도 비휘발성 메모리 장치일 경우, 데이터는 비휘발성 방식으로 저장된다. 예컨대, 비휘발성 메모리 장치는 동작 시스템(OS), 다수의 프로그램 및 다수의 멀티미디어 데이터를 저장할 수 있다.
동작의 주요 모드에서, 다기능 핀아웃 메모리 컨트롤러(102)는 호스트와 메모리(104) 사이의 데이터의 교환을 제어한다. 다기능 핀아웃 메모리 컨트롤러(102)는 호스트 인터페이스 블록(HIB)(106), 중앙 처리 장치(108), 랜덤 액세스 메모리(RAM)(110), 메모리 인터페이스 블록(MIB)(112), 판독 전용 메모리(ROM)(114) 및 오류 교정 코드(ECC) 엔진(116)을 포함하며, 이들은 버스(118)를 통해 상호연결된다. 컨트롤러(102)는 소프트웨어 또는 펌웨어로서 구현되는 FTL을 동작할 수 있다. RAM(110)은 컨트롤러(102) 내에서 통합되는 것으로 도시되되 이것은 대안적인 실시예에서 컨트롤러(102)의 외부에 위치될 수 있다.
호스트 인터페이스 블록(106)은 호스트 인터페이스 포트를 통해 호스트로부터 데이터, 어드레스 정보, 외부 명령 및 기타 신호를 수신한다. 이들은 통상적으로 정보로 지칭된다. 어드레스 정보, 명령 및 임의의 기타 비데이터 신호는 단순히 제어 정보로 지칭될 수 있다. 또한, 호스트 인터페이스 블록(106)은 동일하거나 상이한 호스트 인터페이스 포트를 통해 호스트에 데이터 및 상태 정보를 전달한다. 이러한 인터페이스 포트는 핀 또는 기타 물리적인 커넥터를 포함할 수 있다. 호스트로부터 수신된 외부 명령은 메모리 컨트롤러(102)를 제어하기 위해 사용된다. 고체 저장 장치(100)에 호스트에 의해 제공되는 데이터 및 기타 정보는 데이터를 위한 입구로서 호스트 인터페이스 블록(106)을 통해 고체 저장 장치(100)의 기능 블록, 예컨대 버퍼 RAM(110)내에 입력된다. 또한, 고체 저장 장치(100)로부터 호스트에 제공된 데이터 및 기타 정보는 데이터를 위한 출구로서 호스트 인터페이스 블록(106)을 통해 제공된다.
중앙 프로세서(108)는 ROM(114) 또는 메모리(104)로부터 프로그램 코드를 판독하고 판독되는 프로그램 코드에 따라 컨트롤러(102)에 포함되는 모든 기능 블록을 제어한다. 프로그램 코드는 중앙 프로세서(108)의 동작을 규정한다. 중앙 프로세서(108)는 프로그램 코드 판독을 기초로 메모리(104)에 대한 액세스를 제어한다. 하나의 동작의 모드에서, 메모리(104)에 저장된 프로그램 코드는 고체 저장 장치(100)가 부트 업(boot-up)되는 시점에 메모리(104)로부터 판독되고 RAM(110)에 기록된다.
RAM(110)은 프로세서(108)의 동작 메모리로서 사용될 수 있고 동적 RAM(DRAM), 정적 RAM(SRAM) 등으로서 구현될 수 있다. 또한, RAM(110)은 호스트로부서 수신된 데이터를 일시적으로 저장하기 위하여 버퍼 메모리의 역할을 할 수 있다. 프로세서(108)는 메모리(104)에 데이터를 기록하고 이것으로부터 데이터를 판독하기 위한 전체 제어 동작을 수행한다. 또한, 프로세서(108)는 호스트로부터의 요청을 기초로 한 FTL의 동작을 제어하거나 그렇지 않으면 수행할 수 있다.
ECC 블록(116)은 메모리(104)에 기록될 데이터에 속하는 ECC(오류 교정 코드)를 생성한다. 데이터는 그 안에 속하는 ECC와 함께 저장된다. 더욱이, ECC 블록(116)은 판독 데이터와 관련된 ECC를 기초로 메모리(104)로부터 판독되는 데이터의 비트 오류를 감지하고 교정한다.
ROM(114)은 호스트와 인터페이스하기 위한 코드 데이터를 저장한다. ROM(114)에서, 메모리(104)를 제어하기 위해 요구되는 펌웨어가 저장된다. 그리고, 부팅을 위해 요구되는 아주 최소한의 펌웨어는 ROM(114)에 저장될 수 있고 기타 펌웨어는 메모리(104)에 저장될 수 있다. ROM이 판독 전용 메모리로 고정되므로, 메모리(102)에 기타 펌웨어를 저장하는 것은 펌웨어의 업데이트를 가능하게 한다. 중앙 프로세서(108), RAM(110), ROM(114), ECC 엔진(116) 및 호스트 또는 MIB(112)로부터 수신된 정보를 처리하기 위하여 요구되는 기타 회로는 코어 회로로 지칭될 수 있다.
메모리 인터페이스 블록(112)은 ROM(114) 또는 메모리(104)로부터 시퀀스 코드를 판독한다. 시퀀스 코드는 메모리 인터페이스 블록(112)에 의해 수행되는 다수의 동작을 규정한다. 메모리 인터페이스 블록(112)은 시퀀스 코드 판독을 기초로 다양한 동작을 수행한다. 시퀀스 코드는 복수의 코드 세트로 구성된다. 코드 세트는 복수의 코드를 포함한다. 코드 세트의 각각은 그에 상응하는 동작을 규정한다. 시퀀스 코드를 기초로 수행되는 동작에서, 메모리 인터페이스 블록(112)과 메모리(104) 사이에서, 데이터, 어드레스 정보, 저장 정보, 내부 명령 등은 내부 메모리 버스(102)를 통해 전달된다. 내부 메모리 버스(120)는 메모리(104)의 상응하는 포트에 컨트롤러(102)의 포트를 전기 연결하기 위한 신호 컨덕터 라인을 포함한다. 내부 메모리 버스(120)는 복수의 채널에 상응하는 신호를 운반할 수 있다. 내부 명령은 컨트롤러(102)가 메모리(104)를 제어하기 위한 것이며, 메모리 장치(104)는 내부 명령에 따라 동작한다. 그리고, 동작이 수행되기 전에, 메모리(104)에 저장된 시퀀스 코드는 메모리(104)로부터 판독되고 RAM(110)에 기록된다.
FTL은 데이터 맵핑 동작을 수행하기 위한 맵핑 표(미도시)를 포함한다. 일반적으로, 맵핑 표는 RAM(110)에 저장된다. 맵핑 표에서, 복수의 로직 페이지 번호(LPN)는 메모리(104)에 개별적으로 맵핑되도록 기록된다. 이러한 예시에서, 메모리(104)는 하나 이상의 NAND 플래쉬 메모리 장치로서 구현되고 데이터는 페이지의 유닛에서 기록되거나 판독된다. LPN은 그러므로 맵핑 유닛으로서 사용될 수 있다.
또한, FTL은 호스트로부터의 요청이 기록 명령인지 또는 판독 명령인지의 여부를 기초로 메모리(104)를 제어할 수 있고, 호스트에 의해 제공된 기록 명령 또는 판독 명령이 메모리(104) 상에서 수행될 때마다 업데이트될 맵핑 표를 관리할 수 있다. 예컨대, 호스트로부터의 요청이 기록 명령일 경우, FTL은 LPN에 상응하는 메모리(104)의 메모리 장치들 중 하나에 기록될 데이터를 제어하고, 맵핑 표에 LPN 및 상응하는 메모리 장치를 기록한다. 호스트로부터의 요청이 판독 명령일 때, FTL은 맵핑 표를 기초로 LPN에 상응하는 비휘발성 메모리들 중 하나로부터 판독될 데이터를 제어한다.
상기 언급된 바와 같이, 메모리(104)는 다수의 비휘발성 메모리를 포함할 수 있고, 이들의 각각은 특정한 메모리 인터페이스 프로토콜과의 동작을 수행하는 NAND 플래쉬 메모리 장치로서 구현될 수 있다. 본 실시예에 따라, 상이한 메모리 인터페이스 프로토콜을 갖는 상이한 형태의 메모리 장치는 동일한 다기능 메모리 컨트롤러(102)에 의해 사용될 수 있다. 본 실시예에서, 메모리 인터페이스 블록(112)은 각각의 채널 당 하나의 세트의 포트를 포함하고, 적어도 하나의 포트는 3개의 모드 중 하나에서 기능하도록 동적으로 구성가능하고, 3개의 모드 중 2개는 하나의 메모리 인터페이스 프로토콜에 상응하며 3개의 모드 중 하나는 상이한 메모리 인터페이스 프로토콜에 상응한다. 그러므로, 2개의 상이한 형태의 메모리(104)는 임의의 추가 포트를 요구하지 않고 메모리 인터페이스 블록(112)의 채널에 연결될 수 있는데, 이는 메모리(104)의 양쪽 형태가 버스(120)의 신호 라인을 통해 채널의 동일한 포트에 연결될 수 있기 때문이다.
일 실시예에 따라, 제 1 모드는 제 1 메모리 인터페이스 프로토콜을 위한 단방향 및 양방향 신호를 수신하고 제공하도록 기능하고, 제 2 모드는 제 2 메모리 인터페이스 프로토콜을 위한 아웃바운드 신호만을 제공하도록 기능하며 제 3 모드는 제 2 메모리 인터페이스 프로토콜을 위한 인바운드 신호만을 수신하도록 기능한다. 예시로서, 제 1 모드는 ONFi 메모리 인터페이스 프로토콜 또는 임의의 멀티 드롭 버스 구조 메모리 인터페이스 프로토콜에 상응하며, 제 2 모드는 HLNAND 메모리 인터페이스 프로토콜 또는 임의의 유사한 점대점 직렬 연결된 메모리 인터페이스 프로토콜에 상응한다.
포트는 양의 또는 접지 전원(VDD 또는 VSS)에 2개의 전용 또는 기존 포트의 각각에 연결함으로써 3개의 모드 중 하나에서 기능하도록 구성될 수 있다. 그러므로, 최대 4개의 상이한 모드는 각각의 포트를 위한 VDD 및 VSS 바이어싱 조합에 의해 선택될 수 있다. 이러한 기법은 동작의 3개의 모드 중 하나 사이에서 선택하기에 효율적이고, 메모리 인터페이스 블록(112)은 임의의 수의 모드로 동작하도록 구성가능할 수 있다. 도 5에서, 모드 선택은 VDD 또는 VSS에 모드 선택 포트를 바이어스함으로써 성취된다. 대안적으로, 레지스터는 동작의 n개의 모드 중 하나를 선택하기 위하여 멀티 비트 코드를 제공하도록, 퓨즈 또는 안티퓨즈 블로잉함으로써 전기 프로그래밍 또는 레이저 프로그래밍될 수 있다. 이러한 모든 실시예에서, 동작의 각각의 모드에 대하여 요구되는 버퍼 회로는 메모리 인터페이스 블록(112)의 개별적인 포트에 선택적으로 결합가능하다. 버스(118)로부터 수신된 네이티브 메모리 컨트롤러 신호는 선택된 메모리 인터페이스 프로토콜과 호환가능한 포맷으로 선택된 버퍼 회로에 의해 전환된다. 유사하게, 버스(120)로부터 수신된 신호는 선택된 버퍼 회로에 의해 고유의 메모리 컨트롤러 신호로 변환된다.
포트 버퍼 회로의 상세를 논의하기 전에, 메모리 인터페이스 블록(112)의 구조가 도 5 및 도 10을 참조하여 먼저 기재된다.
도 5는 도 4에 도시된 다기능 메모리 컨트롤러(102)의 메모리 인터페이스 블록(112)의 블록 다이어그램을 도시하고, 여기서 메모리 인터페이스 블록(112)이 적어도 하나의 메모리 장치에 연결된다. 메모리 인터페이스 블록(112)은 최대 n개의 채널 컨트롤 모듈(CCM)(200)을 포함하고, 여기서, n은 0보다 큰 임의의 정수 값이 될 수 있다. 각각의 채널 컨트롤 모듈(200)은 제 1 메모리 인터페이스 프로토콜의 채널 및 제 2 메모리 인터페이스 프로토콜의 2개의 서브 채널 중 하나에 관련된다. 따라서, 채널 컨트롤 모듈(200)의 각각의 쌍은 제 2 메모리 인터페이스 프로토콜의 채널을 형성하도록 함께 결합된다. 먼저 논의된 예시를 참조하면, 하나의 서브 채널은 아웃바운드 신호를 포함하고 제 2 서브 채널은 인바운드 신호를 포함하며 그 반대도 가능하다.
각각의 채널 컨트롤 모듈(200)은 채널 버스(204)를 통해 적어도 하나의 메모리 장치(202)에 연결된다. 채널 버스(204)의 집합이 도 4에 도시된 버스(120)를 형성하는 것이 주목된다. 유사하게, 모든 메모리 장치(202)는 도 4에 도시된 메모리(104) 내에 포함된다. 한 쌍의 채널 컨트롤 모듈(200)이 제 2 메모리 인터페이스 프로토콜을 위한 채널을 형성하는 실시예에서, 한 쌍의 채널 컨트롤 모듈(200)에 연결된 메모리 장치(202)는 예시로서 도 3b에 도시된 바와 같은 점대점 직렬 구성에서 서로 추가로 연결된다.
메모리 인터페이스 블록(112)은 각각의 채널 컨트롤 모듈에 상응하는 모드 선택기(206)를 더 포함한다. 각각의 모드 선택기(206)는 VDD 또는 VSS에 제 1 모드 선택 포트(210)를 바이어싱하기 위한 제 1 선택기(208) 및 VDD 또는 VSS에 제 2 모드 선택 포트(214)를 바이어싱하기 위한 제 2 선택기(212)를 포함한다. VDD 및 VDD 전압은 메모리 인터페이스 블록(112) 내의 도 5의 수직 방향으로 연장하는 레일로 도시된다. 따라서, 상이한 채널 컨트롤 모듈(200)은 상이한 모드에서 동작하도록 설정될 수 있다. 포트(210 및 214)는 임의의 적절한 수단을 통해 VDD 또는 VSS에 바이어싱될 수 있다.
본 실시예에 따라, 각각의 채널 컨트롤 모듈(200)은 하나의 세트의 포트를 포함하고, 포트 중 적어도 하나는 제 1 및 제 2 모드 선택 신호에 응답하여 3개의 상이한 모드 중 적어도 하나에서 기능하도록 구성가능한 버퍼 회로를 포함한다. 제 1 모드의 예시에서, 메모리 장치(202)가 ONFi형 플래쉬 메모리 장치일 경우, 메모리 장치(202) 및 그 채널 컨트롤 모듈의 상호연결 구성은 도 3a에 도시된 바와 같다. 제 2 모드의 예시에서, 메모리 장치(202)가 HLNAND형 플래쉬 메모리 장치일 경우, 메모리 장치(202) 및 그 채널 컨트롤 모듈의 상호 연결 구성은 도 3b의 상부 절반에서 도시되는 바와 같으며, 이것은 메모리 장치(62 및 64) 및 아웃바운드 신호(CKO/CKO#, CSO, DSO 및 Q[0:7])를 포함한다. 제 3 모드의 예시에서, 메모리 장치(202)가 HLNAND형 플래쉬 메모리 장치일 경우, 메모리 장치(202) 및 그 채널 컨트롤 모듈의 상호 연결 구성은 도 3b의 하부 절반에 도시된 바와 같으며, 이것은 메모리 장치(66 및 68) 및 인바운드 신호(CKI/CKI#, CSI, DSI, D[0:7] 및 STI)를 포함한다. 본 실시예에 따르면, ONFi형 플래쉬 메모리 장치 및 HLNAND형 플래쉬 메모리 장치 양쪽은 채널 컨트롤 모듈(200)에 연결될 수 있다.
도 6은 일 실시예에 따른 다기능 메모리 컨트롤러를 갖는 멀티 드롭 버스 구조 메모리 시스템의 블록 다이어그램이다. 더욱 구체적으로, 도 6은 멀티 드롭 구조로 구성되는, 도 4의 고체 저장 장치(100)의 예시적인 구성을 도시한다. 다기능 메모리 컨트롤러의 메모리 인터페이스 블록(220)은 ONFi CH-1 내지 ONFi CH-N로도 지칭되는 개별적인 채널(224-1 내지 224-N)을 각각 제어하기 위한 복수의 채널 컨트롤 모듈(222-1 내지 222-N)을 포함한다. "N"은 베이스 번호가 지칭하는 요소의 마지막 유닛을 표시하는 정수 번호이다. 채널은 비휘발성 메모리(226)에 제공된다. 각각의 채널과의 전기 통신은 메모리 장치(228-1, 228-2 및 228-N)이며, 여기서, 각각의 메모리 장치는 단일 패키징 메모리 장치가 될 수 있다. 각각의 메모리 장치는 다수의 ONFi 비휘발성 NAND 플래쉬 메모리 칩(230)을 포함하고, 이것의 단 하나만이 도 6에 도시된다. 각각의 ONFi NAND 플래쉬 메모리 칩(230)은 채널 컨트롤 모듈로부터 정보를 수신하거나 채널 컨트롤 모듈에 정보를 제공하기 위해 관련된 채널과의 양방향 통신한다. 메모리 장치의 메모리 칩(230)은 채널과 병렬로 연결된다.
메모리 인터페이스 블록(220)의 채널 컨트롤 모듈(222-1 내지 222-N)의 각각은 비휘발성 메모리(226)를 제어하는 목적으로, 비휘발성 메모리(226)의 개별적인 채널(ONFi CH-I 내지 ONFi CH-N)에 특히 개별적인 메모리 장치(228-1 내지 228-N)에 전용된다. 예컨대, 일반적으로 펌웨어 및/또는 소프트웨어인 플래쉬 변환 레이어(FTL)는 채널(ONFi CH-1 내지 ONFi CH-N)에 상응하는 채널 컨트롤 모듈(222-1 내지 222-N)의 동작을 제어하여, 호스트로부터의 요청을 기초로, 채널(ONFi CH-1 내지 ONFi CH-N)에 연결되는 다양한 ONFi NAND 플래쉬 메모리 칩(230)을 활성화 또는 비활성화하도록 비휘발성 메모리(226)를 제어한다. 메모리 칩의 활성화는 선택된 메모리 칩에서 다수의 형태의 메모리 동작을 개시하는 것을 포함한다.
HDD 대체를 위한 SATA 또는 PCIe 기반 고체 드라이브(SSD)와 같은 고체 저장 시스템에 구현되는 다수의 비휘발성 플래쉬 메모리 장치상에서의 저장 용량을 증가시키고 신호 무결성을 개선하기 위하여, 대안적인 형태의 플래쉬 메모리가 사용될 수 있다. 일 예시적인 대안적인 형태의 플래쉬 메모리는 상기 언급된 HLNAND 플래쉬 메모리이다. HLNAND 플래쉬 메모리는 예컨대 도 3b에 도시된 바와 같이 메모리 컨트롤러를 갖는 링 토폴로지에 통상적으로 배열되는 점대점 직렬 연결 기술을 사용하여 개선된 그리고 고성능의 동기화 비휘발성 플래쉬 메모리 장치이다.
도 7은 본 실시예에 따르면, 도 6의 메모리 시스템과 동일한 다기능 메모리 컨트롤러를 갖는 직렬 점대점 구조 메모리 시스템의 블록 다이어그램이다. 더욱 구체적으로, 도 7은 HLNAND 플래쉬 메모리를 사용하는 직렬 점대점 구조로 구성되는, 도 4의 고체 저장 장치(100)의 예시적인 구성을 도시한다. 메모리 인터페이스 블록(220)은 동일한 채널 컨트롤 모듈(222-1 내지 222-N)을 갖는다. 도 6의 실시예에 대한 도 7의 실시예의 차이점은 비휘발성 메모리(250)가 HLNAND 플래쉬 메모리 장치로 구성된다는 점이다. 도 7에 도시된 바와 같이, 비휘발성 메모리(250)는 HLNAND 플래쉬 메모리 장치(252-1 내지 252-N/2)를 포함하고, 이들 각각은 복수의 HLNAND 메모리 칩(254)으로 구성되는 패키징된 장치를 포함하고, 그 중 단 하나에 주석을 달고 있다. 현재 실시예에서, 채널 컨트롤 모듈(222)의 절반만큼의 HLNAND 플래쉬 메모리 장치(252)가 존재한다. 예컨대, 메모리 장치(252-1)와 같은 메모리 장치의 모든 HLNAND 메모리 칩(254)은 단방향 점대점 연결을 통해 서로 직렬로 연결된다. 점대점 연결은 일 예시에서 다음 장치의 입력 핀에 연결되는 장치의 출력 핀을 가져서 형성되고 단방향 버스의 형태를 취할 수 있다. 따라서, 이러한 직렬 상호 연결은 데이지 체인 캐스케이드 연결 또는 채널 컨트롤 모듈(222-1)과 같은 호스트를 갖는 링 토폴로지 구성으로도 지칭될 수 있다.
따라서, 도 6의 실시예에 대한 또 다른 차이점은 각각의 쌍의 채널 컨트롤 모듈(222-1 내지 222-N)이 HL CH-1 내지 HL CH-N/2로도 지칭되는 개별적인 HLNAND 채널(256-1 내지 256-N)에 연결된다는 점이다. HLNAND 채널의 각각은 인바운드 서브 채널(258-1) 및 아웃바운드 서브 채널(260-1)을 포함한다. 인바운드 서브 채널(258-1)은 채널 컨트롤 모듈(222-1)의 출력 단자로부터, 메모리 장치(252-1)의 직렬 연결된 메모리 칩의 제 1 HLNAND 메모리 칩(254)에 데이터 및 제어 정보를 제공하기 위한 연결의 세트이다. 아웃바운드 서브 채널(260-1)은 메모리 장치(252-1)의 직렬 연결된 메모리 칩의 마지막 HLNAND 메모리 칩(254)으로부터 채널 컨트롤 모듈(222-2)의 입력 단자에 데이터 및 제어 정보를 제공하기 위한 연결의 세트이다. 따라서, 각각의 쌍의 채널 컨트롤 모듈(222)이 HLNAND 플래쉬 메모리 장치(252)의 하나의 채널에 전용인 총 N개의 채널 컨트롤 모듈에 의해, 현재 도시된 구성은 최대 N/2 HLNAND 플래쉬 메모리 장치(252) 및 N/2 HLNAND 채널(256)을 수용한다.
더욱이, 이러한 시스템에서 채널 컨트롤 모듈(222-1 내지 222-N)은 메모리 장치의 제 1 HLNAND 메모리 칩 또는 마지막 HLNAND 메모리 칩과 모두 인터페이스할 필요가 있다. 결과적으로, 멀티 드롭 연결을 사용하는 시스템에서의 칩들 간의 물리적인 거리 차이에 의해 유발되는 클럭 스큐(clock skew) 및 데이터 스큐 문제는 존재하지 않는다. 더욱이, 메모리 칩과 상응하는 채널 컨트롤 모듈 사이의 점대점 연결의 사용으로 인하여, 멀티 드롭 버스 구조에서 통상적으로 사용되는 버스 종단은 요구되지 않는다. 결과적으로, 멀티 드롭 버스 구조를 사용하여 플래쉬 메모리 시스템에 비해 낮은 전력 소비량이 실현된다.
각각의 메모리 장치의 메모리 칩과 관련된 한 쌍의 채널 컨트롤 모듈이 존재하므로, FTL은 채널 컨트롤 모듈(222-1 내지 222-N)의 각각의 쌍의 동작을 제어하여, 도 1의 호스트(14)와 같은 호스트 장치로부터의 요청을 기초로 하여, 비휘발성 메모리(250)를 제어하여 채널(HL CH-1 내지 HL CH-N/2)에 상응하는 다양한 HLNAND 플래쉬 메모리 칩(254)을 활성화 또는 비활성화할 수 있다. 메모리 칩의 활성화는 선택된 메모리 칩에서의 다수의 형태의 메모리 동작을 시작하는 단계를 포함할 수 있다.
도 6 및 도 7은 먼저 도시된 실시예는 본 공개에 따라 동일한 다기능 메모리 컨트롤러를 사용하는 메모리 시스템을 도시한다. 비휘발성 메모리(226 및 250)를 위하여 사용되는 ONFi 및 HLNAND 메모리 형태는, 본 개시의 다기능 메모리 컨트롤러가 함께 사용될 수 있는 2개의 상이한 형태의 메모리의 단순한 예시이다. 다기능 메모리 컨트롤러의 상이한 실시예는 현재 알려진 메모리 및 미래의 메모리의 조합과 인터페이스하도록 구성될 수 있고 이들 메모리는 상이한 입/출력 인터페이스를 갖는다.
도 8은 본 개시의 일 실시예에 따른, 도 6의 예시적인 멀티 드롭 버스 구조 메모리 시스템의 상호연결의 상세를 개략적으로 도시한다. 도 8은 채널 컨트롤 모듈(222-1)과 같은 도 6의 다기능 메모리 컨트롤러(220)의 하나의 채널 컨트롤 모듈과 도 6의 메모리 장치(228-1)와 같은 메모리 장치 사이의 상호연결을 도시한다. 도 8에서, 멀티 핀아웃 채널 컨트롤 모듈(300)은 복수의 메모리 장치(302, 304 내지 306)에 연결된다. 각각의 메모리 장치(302, 304 내지 306)는 반도체 칩으로서 형성될 수 있고, 이들 모두는 메모리 장치의 단일 패키지에 임베드된다. 대안으로, 각각의 메모리 장치는 그 자체 패키지에 임베드되는 단일 반도체 칩이 될 수 있다. 채널 컨트롤 모듈(300)에 의해 제공되고 이것에 의해 수신되는 신호는 도 3a의 메모리 컨트롤러(40)에 대하여 도시된 것과 동일하다. 유사하게, 각각의 메모리 장치(302, 304 내지 306)에 의해 제공되고 이것에 의해 수신되는 신호는 메모리 장치(42 및 44 내지 46)에 대하여 도시된 것과 동일하다. 본 예시에서, 메모리 장치(302, 304 내지 306)는 ONFi 메모리 장치이다.
도 8에서, 채널 컨트롤 모듈(300)은 2개의 추가적인 모드 선택 포트(SEL0 및 SEL1)를 포함하고, 이것의 각각은 그 동작 모드를 설정하기 위하여 VDD 또는 VSS로 선택적으로 바이어싱될 수 있다. 현재 도시된 예시에서, SEL0 및 SEL1은 동작의 제 1 모드를 설정하기 위하여 VSS에 결합되고(tied), 이 모드에서 채널 컨트롤 모듈 포트는 ONFi 메모리 인터페이스 프로토콜에 의해 동작하도록 구성된다. SEL0 및 SEL1의 바이어싱은 예컨대 도 5의 제 1 및 제 2 모드 선택기(206 및 208)에 의해 제공될 수 있다. 따라서, 이제, 채널 컨트롤 모듈(300)은 메모리 장치(302, 304 내지 306)와 호환가능하다. 본 예시에서, SEL0 및 SEL1은 ONFi 메모리 인터페이스 프로토콜 동작 모드를 설정하기 위하여 VSS에 바이어싱되되 SEL0 및 SEL1를 위한 임의의 미리 결정된 바이어싱 조합이 사용될 수 있다.
도 9는 본 공개의 일 실시예에 따른, 도 7의 예시적인 직렬 점대점 구조 메모리 시스템의 상호연결의 상세를 개략적으로 도시한다. 도 9는 채널 컨트롤 모듈(222-1 및 222-2)과 같은 도 7의 다기능 메모리 컨트롤러(220)의 채널 컨트롤 모듈의 한 쌍과 도 7의 메모리 장치(252-1)와 같은 메모리 장치 사이의 상호 연결을 도시한다. 도 8에서, 제 1 다기능 채널 컨트롤 모듈(350)은 제 1 메모리 장치(352)에 연결되고 장치(352)는 이어서 제 2 메모리 장치(354)에 연결된다. 제 2 메모리 장치(354), 제 3 메모리 장치(356) 및 제 4 메모리 장치(358)는 서로 직렬로 연결되고 제 4 메모리 장치(358)의 출력은 제 2 다기능 채널 컨트롤 모듈(360)에 연결된다. 메모리 장치(352, 354, 356 및 358)의 각각은 반도체 칩으로서 형성될 수 있으며, 이들 칩 모두는 메모리 장치의 단일 패키지에 임베드된다. 대안으로, 각각의 메모리 장치는 그 자체 패키지 내에 임베드된 단일 반도체 칩이 될 수 있다. 대안으로, 각각의 메모리 장치는 적어도 2개의 반도체 칩을 포함하는 다중 칩 패키지가 될 수 있고, 이들 칩은 도 9의 메모리 장치들 중 2개 사이에서 도시된 것과 동일한 구조를 갖고 서로 직렬로 연결된다.
제 1 다기능 채널 컨트롤 모듈(350)에 의해 제공된 CKO/CKO#, CSO, DSO, Q[0:7] 및 STO 신호는 도 3b의 메모리 컨트롤러(60)에 의해 제공된 것과 동일하다. 제 2 멀티 핀아웃 채널 컨트롤 모듈(360)에 의해 수신된 CKI/CKI#, CSI, DSI, D[0:7] 및 STI 신호는 도 3b의 메모리 컨트롤러(60)에 의해 수신된 것과 동일하다. 따라서, 각각의 메모리 장치(352, 354, 356 및 358)에 의해 수신되고 제공되는 신호는 메모리 장치(62, 64, 66 및 68)에 대하여 도시된 것과 동일하다. 본 예시에서, 메모리 장치(352, 354, 356 및 358)는 HLNAND 메모리 장치이다.
도 9에서, 제 1 채널 컨트롤 모듈(350)은 VDD 및 VSS에 개별적으로 연결된 SELO 및 SEL1을 갖고, 채널 컨트롤 모듈 포트가 HLNAND 아웃바운드 메모리 인터페이스 프로토콜에 의해 동작하도록 구성되는 동작의 제 2 모드를 설정한다. 제 2 채널 컨트롤 모듈(360)은 VDD 및 VDD에 개별적으로 연결된 SELO 및 SEL1을 갖고, 채널 컨트롤 모듈 포트가 HLNAND 인바운드 메모리 인터페이스 프로토콜에 의해 동작하도록 구성되는 동작의 제 3 모드를 설정한다. 이러한 실시예에서, SEL0 포트는 ONFi 또는 HLNAND 동작 모드 양쪽을 선택하기 위하여 사용될 수 있다. SEL1 포트는 SEL0 포트가 ONFi 동작 모드를 선택하도록 설정될 때 무시된다. 반대로, SEL1 포트는 SEL0 포트가 HLNAND 동작 모드를 선택하도록 설정될 때 HLNAND 동작 모드의 서브 모드를 선택하도록 사용된다. 따라서, 채널 컨트롤 모듈(350 및 360)은 이제 메모리 장치(352, 354, 356 및 358)와 호환가능하다. 도 9의 예시로 도시된 것과 다른 SEL0 및 SEL1에 대한 상이한 전압 바이어싱 조합이 동작의 HLNAND 메모리 인터페이스 프로토콜 모드의 서브 모드를 설정하기 위하여 사용될 수 있다.
도 10은 도 5에 도시된 채널 컨트롤 모듈(200) 중 하나의 블록 다이어그램이다. 이러한 특정 실시예에서, 채널 컨트롤 모듈(200)은 2개의 메모리 인터페이스 프로토콜 중 하나에 의해 동작하도록 구성가능하다. 예시적인 도시의 목적으로, 사용된 2개의 메모리 인터페이스 프로토콜은 ONFi 및 HLNAND 메모리 인터페이스 프로토콜이다.
먼저 도시된 실시예에서, 채널 컨트롤 모듈(200)는 ECC 인코더(400), ECC 디코더(402), 명령 프로세서(404), 어드레스 프로세서(406), 채널 컨트롤 로직(408), 데이터 스크램블러(410), 데이터 디스크램블러(412), 암호화 프로세서(414), EDC 프로세서(416) 및 멀티 메모리 인터페이스 모듈(418)을 포함한다. 멀티 메모리 인터페이스 모듈(418)은 메모리 장치(미도시)에 대한 전기 결합을 위하여 한 세트의 포트를 포함한다. 상기 언급된 구성요소의 일부의 기능은 도 4의 블록 다이어그램을 추가 참조하여 기재된다.
일반적으로, 채널 컨트롤 모듈(200)을 통해 메모리 장치 내로 프로그래밍되는 데이터는, 그에 첨부되고 메모리 장치의 메모리 셀 어레이에 메인 데이터와 함께 저장되는 오류 감지 또는 오류 감지 코드를 갖는다.
채널 컨트롤 모듈(200)은 이러한 기능을 위한 ECC 인코더(400)를 사용한다. 이러한 데이터가 도 4의 메모리 장치로부터 RAM(110)에 판독될 때, ECC 디코더(402)는 데이터로부터 ECC 코드를 재생성하고 메모리 장치 내에 프로그래밍될 때 데이터에 첨부되는 ECC 코드와 이것을 비교한다. 데이터가 기록되었던 데이터와 일치할 경우, ECC 회로는 데이터 오류가 존재하지 않음을 표시한다. 판독 데이터의 일부 차이가 감지되고 그 차이가 교정을 위한 ECC의 용량 내에 존재할 만큼 충분히 작을 경우, 프로세서(108)에 의해 제어되는 바와 같이 판독 데이터(통상적으로 RAM(110)에 포함됨)는 ECC 교정 엔진(116)에 의해 본래 값으로 이것을 복원하기 위하여 "교정"되거나 수정된다. 데이터 오류가 ECC 교정 용량을 초과할 경우, "교정불가능한" 판독 오류가 발생한다. 통상적으로, 교정불가능한 판독 오류는 판독될 때 호스트 인터페이스로 복귀하는 오류 상태를 초래한다.
호스트가 호스트 인터페이스 블록(106)를 통해 프로세서(108)에 요청을 전달할 때, 이것에 응답하여 프로세서(108)는 호스트 인터페이스 블록(106)으로부터의 명령을 판독하고 이 명령을 기초로 채널 컨트롤 모듈(200)에 데이터 경로를 설정하며 명령 프로세서(404)의 채널 컨트롤 모듈의 명령 레지스터에 명령을 저장한다.
프로세서(108)는 또한 호스트 인터페이스 블록(106)으로부터의 어드레스를 내부 NAND 어드레스로 변환하고 채널 컨트롤 모듈의 어드레스 프로세서(406)에 이것을 저장한다. 로직적-물리적 어드레스 변환이 수행되어야 할 경우, 프로세서(108)는 올바른 물리적 어드레스를 생성하기 위하여 맵핑 표를 사용할 수 있다. 프로세서(108)는 이하에서 기재되는 하나 이상의 추가 기능을 또한 수행할 수 있다. 프로세서(108)는 RAM(110)으로부터 채널 컨트롤 모듈(200)로의 데이터 전달을 설정한다. 메모리 인터페이스 블록(112)이 도 5에 도시된 바와 같이 멀티 채널 컨트롤 모듈을 포함할 수 있음이 주목된다.
채널 컨트롤 모듈(200)은 어드레스 프로세서(406)로부터 값을 취하고 ONFi 메모리 인터페이스 프로토콜 포맷 또는 HLNAND 메모리 인터페이스 프로토콜 포맷에 따라 이값을 포맷한다. RAM(110)에 저장된 데이터는 암호화를 위하여 암호화 프로세서(414)에 전달되고 이어서 데이터 스크램블러(410)를 통해 전달된다. 데이터 스크램블러(410)는 데이터를 스크램블하여 스크램블된 데이터를 ECC 인코더(400)에 출력하고 ECC 인코더는 데이터와 함께 저장될 ECC 패리티(parity) 비트를 생성한다. 데이터 및 ECC 패리티 비트는 멀티 모드 메모리 인터페이스 모듈(418) 포트를 통해, ONFi 메모리 인터페이스 프로토콜 포맷 또는 HLNAND 메모리 인터페이스 프로토콜 포맷으로 페이지 프로그램 또는 기록 명령에 의해 메모리 장치에 전달되어 저장된다.
채널 컨트롤 모듈(200)은 EDC 인코더 및 EDC 디코더를 포함하는 EDC 프로세서(416)를 더 포함한다. EDC 프로세서(416)는 HLNAND 또는 ONFi 메모리 인터페이스 프로토콜을 위한 오류 감지 코딩 알고리즘을 수행한다. 채널 컨트롤 로직(408)은 통상적으로 하나의 기능적 블록으로부터 다른 하나의 기능적 블록으로 그리고 다기능 메모리 인터페이스 모듈(418) 및 버스로 데이터를 라우팅해야 한다.
요약하면, 채널 컨트롤 모듈(200)의 먼저 기재된 기능 블록은 메모리 장치에 기록될 데이터에 관한 그리고 사용되는 메모리 인터페이스 프로토콜에서 독립된 메모리 장치로부터 판독된 데이터에 관한 데이터 처리 동작을 수행한다. 채널 컨트롤 로직(408)이 예컨대, 제어 신호(CLE, ALE, CSO 및 DSO)와 같은 다기능 메모리 인터페이스 모듈(418)을 통하여 제어 신호를 구동할 시기를 결정할 수 있으므로, 그 어서션(assertion)은 특정 메모리 동작 및 적절한 시퀀스에 의해 조정될 것임을 주목해야 한다. 따라서, 채널 컨트롤 로직(408)이 HLNAND 및 ONFi 모두에 특정한 알고리즘을 수행하도록 구성된다.
다기능 메모리 인터페이스 모듈(418)은 단일 세트의 포트에서 수신되는 데이터 및 기타 정보를 캡쳐하고, 2개의 메모리 인터페이스 프로토콜 포맷에 상응할 수 있는 동작의 임의의 모드에서의 데이터 및 수신된 정보를 네이티브 메모리 컨트롤러 포맷으로 변환해야 한다. 반대로, 다기능 메모리 인터페이스 모듈(418)은 2개의 메모리 인터페이스 프로토콜 포맷의 양쪽에 상응할 수 있는 임의의 모드의 동작에서 명령, 어드레스 및 기록 데이터를 제공해야 한다. 단일 세트의 포트만이 이용가능하므로, 적어도 하나의 포트는 3개의 상이한 기능 중 임의의 하나에 할당될 수 있다.
도 11은 각각의 포트에 대한 다수의 기능적 할당을 갖는, 도 10의 다기능 메모리 인터페이스 모듈(418)의 블록 다이어그램이다. 본 실시예에 따르면, 유사한 형태의 신호는 가능하면 언제든 동일한 포트에 맵핑된다. 신호의 형태는 제어, 상태, 데이터 및 클럭 신호를 포함한다. 각각의 형태의 신호는 패드에 연결되는 버퍼 회로의 상응하는 형태를 갖는다. 도 11의 실시예에서, 다기능 메모리 인터페이스 모듈(418)은 3개의 모드의 동작을 위해 구성되는 포트 버퍼 회로를 갖는다. 예컨대, 하나의 모드는 ONFi 메모리 인터페이스 프로토콜 모드이고, 제 2 모드는 HLNAND 메모리 인터페이스 프로토콜 아웃바운드 모드이며 제 3 모드는 HLNAND 메모리 인터페이스 프로토콜 인바운드 모드이다.
도 11의 다기능 메모리 인터페이스 모듈(418) 실시예는 각각의 패드에 대한 포트 버퍼 회로를 포함하고, 여기서 패드는 본드 와이어의 하나의 단부에 대한 전기 연결을 위하여 반도체 기판의 금속화된 영역이다. 본드 와이어의 다른 쪽 단부는 반도체 기판을 감싸는 패키지의 물리적인 핀에 연결된다. 다기능 메모리 인터페이스 모듈(418)의 실시예는 참조 번호(500, 502, 504 및 506)에 의해 표시되는 복수의 포트 버퍼 회로를 포함한다. 포트 버퍼 회로(500)는 본 실시예에서 멀티 비트 모드 선택기 회로인 입력 버퍼 회로이다. 더욱 구체적으로, 포트 버퍼 회로(500)는 SEL0에 상응하는 패드 및 SEL1에 상응하는 패드인, 총 2개의 패드를 포함한다. SEL0 및 SEL1은 도 8 및 도 9에 도시된 동일한 모드 선택 포트이다. 도 11의 표에 도시된 바와 마찬가지로, VDD(로직 1) 또는 VSS(로직 0)에 대한 SEL0 및 SEL1의 연결은 다른 포트 버퍼 회로(502, 504, 506, 508)가 3개의 동작 모드 중 어떤 것으로 구성되어야 할지 선택한다. 일부 포트 버퍼 회로가 최대 3개의 상이한 모드에서 동작하도록 구성될 수 있고, 다른 포트 버퍼 회로가 최대 2개의 상이한 모드에서 동작하도록 구성될 수 있으며 기타 포트 버퍼 회로는 오직 하나의 모드에서만 동작할 수 있음이 주목된다.
포트 버퍼 회로(502 및 508)는 양방향 포트 버퍼 회로이며, 이것은, 이들이 개별적으로 신호를 출력하고 신호를 수신하기 위하여 드라이버 및 리시버 회로를 포함하는 것을 의미한다. 포트 버퍼 회로(502 및 508)는 3개의 모드 중 임의의 하나에서 동작할 수 있다. 포트 버퍼 회로들(502 및 508) 사이의 차이점은, 포트 버퍼 회로(502)가 ONFi 메모리 인터페이스 프로토콜 모드에서 양방향으로 동작하도록 구성되고 포트 버퍼 회로(508)가 ONFi 메모리 인터페이스 프로토콜 모드에서 단방향으로 동작하도록 구성되는 것이다. 포트 버퍼 회로(504)는 단방향 포트 버퍼 회로이며 특히 신호를 출력하기 위한 드라이버 회로만을 포함한다. 포트 버퍼 회로(504)는 2개의 모드 중 임의의 하나에서 동작할 수 있다. 포트 버퍼 회로(506)는 또한 오직 드라이버 회로를 포함하는 단방향 포트 버퍼이며, 이는 오직 하나의 모드에서 동작한다.
다기능 메모리 인터페이스 모듈(418)의 우측 상에는 각각의 포트 버퍼 회로에 대한 신호 할당을 열거하는 표가 도시된다. 가장 좌측의 열은 각각의 포트 버퍼 회로에 대한 ONFi 메모리 인터페이스 프로토콜 신호를 열거한다. 중간 열은 동일한 포트 버퍼 회로를 위한 HALDND 메모리 인터페이스 프로토콜 인바운드 신호를 열거한다. 가장 우측의 열은 동일한 포트 버퍼 회로에 대한 HLNAND 메모리 인터페이스 프로토콜 아웃바운드 신호를 열거한다. 본 예시는 포트 버퍼 회로를 위한 하나의 가능 다기능 핀아웃 맵핑을 도시한다. 도 11의 표에 도시된 바와 같이, CKI, CKO 및 DQS와 같은 클럭 신호는 동일한 포트 버퍼 회로(502)에 맵핑되고, CLE, CSI 및 CSO와 같은 제어 신호는 동일한 포트 버퍼 회로(502)에 맵핑된다. HLNAND 메모리 인터페이스 프로토콜의 기타 인바운드 및 아웃바운드 제어 신호 및 ONFi 메모리 인터페이스 프로토콜의 제어 신호는 동일한 포트 버퍼 회로(502)에 맵핑된다.
ONFi 메모리 인터페이스 프로토콜이 데이터 신호(DQ[O] 내지 DQ[7])를 제공하고 수신하기 위한 8개의 양방향 포트 버퍼 회로를 사용하고, HLNAND 메모리 인터페이스 프로토콜은 입력 데이터(D[O] 내지 D[7])를 수신하기 위한 8개의 포트 및 출력 데이터(Q[O] 내지 Q[7])를 구동하기 위한 8개의 포트를 요구하는 것이 주목된다. 본 실시예에서, HLNAND 메모리 인터페이스 프로토콜의 동일한 로직적 인바운드 및 아웃바운드 데이터 신호는 ONFi 메모리 인터페이스 프로토콜의 양방향 데이터 신호와 동일한 포트 버퍼 회로(502)에 맵핑된다.
다기능 메모리 인터페이스 모듈(418)의 일부 포트는 이들에 대해 맵핑되는 2개의 신호만을 갖는다. 도 11에 도시된 바와 같이, WP# 및 RST# 출력 신호는 포트 버퍼 회로(504)에 맵핑된다. 다른 예시에서, ONFi 메모리 인터페이스 프로토콜은 채널의 개별적인 ONFi 메모리 장치를 인에이블하기 위하여 개별적인 칩 인에이블 신호(CE[O] 내지 CE[7])를 요구한다. HLNAND 메모리 인터페이스 프로토콜에서, 오직 단일 공통 CE 신호는 모든 메모리 장치를 동시에 인에이블할 필요가 있다. 따라서, 오직 하나의 출력 포트는 ONFi 메모리 인터페이스 프로토콜의 칩 인에이블 신호(CE#) 및 HLNAND 메모리 인터페이스 프로토콜의 칩 인에이블 신호(CE#)를 이것에 맵핑한다. 도 11을 간소화하도록, 복수의 ONFi 칩 인에이블 신호 중 하나만이 도시된다. 도 11의 다기능 메모리 인터페이스 모듈(418)은 복수의 신호가 동일한 포트에 할당될 수 있는 방법의 예시를 설명하도록 의도되므로 ONFi 및 HLNAND 메모리 인터페이스 프로토콜에 대한 모든 포트 및 신호를 도시하지 않을 수 있다.
다기능 메모리 인터페이스 모듈(418)의 일부 포트는 하나의 신호 할당만을 가질 수 있다. 도 11의 예시는 포트 버퍼 회로(506)에 맵핑되는 ONFi 메모리인터페이스 프로토콜의 RE, RE# 및 R/B# 신호를 포함한다. 대안적인 실시예에서, HLNAND 메모리 인터페이스 프로토콜의 할당된 하나의 신호인 다기능 메모리 인터페이스 모듈(418)의 포트가 존재할 수 있다. 추가 대안적인 실시예에서, 다기능 메모리 인터페이스 모듈(418)의 포트에 맵핑되는 HLNAND 메모리 인터페이스 프로토콜의 인바운드 및 아웃바운드 신호만 존재할 수 있다.
포트 버퍼 회로(500, 502, 504 및 506)의 실시예는 개별적으로 도 12, 도 13, 도 14 및 도 15의 회로 개략도로 도시되어 있다.
도 12는 본 공개의 일 실시예에 따른, 도 11에 도시된 모드 선택 회로(500)의 회로 개략도이다. 이후에 더 상세하게 도시되는 바와 같이, 다른 포트 버퍼 회로는 모드 선택 회로(500)가 설정되는 방법에 따라 최대 3개의 상이한 모드 중 하나에서 동작하도록 구성된다.
도 12의 실시예에서, 패드(600, 602)는 반도체 칩 또는 기판의 표면상의 금속화된 영역을 각각 포함하고, 여기에 골드 와이어 본딩과 같은 연결이 만들어질 수 있다. 본 예시에서, 패드(600)는 전원(VDD) 또는 접지(VSS) 중 하나에 전기 연결되고 다기능 메모리 인터페이스 모듈(418)의 SEL0 입력에 상응한다. 예컨대 입력 버퍼 회로와 같은 입력 수신기 회로(604)는 내부 하이 또는 로우 로직 레벨로 내부 선택 신호(SEL0)를 구동하기 위한 패드(600)의 VDD 또는 VSS 연결을 감지한다. 패드(602)는 전원(VDD) 또는 접지(VSS) 중 하나에 전기 연결되고 다기능 메모리 인터페이스 모듈(418)의 SEL1 입력에 상응한다. 예컨대, 입력 버퍼 회로와 같은 입력 수신기 회로(606)는 내부 하이 또는 로우 로직 레벨로 내부 선택 신호(SEL1)를 구동하기 위한 패드(602)의 VDD 또는 VSS 연결을 감지한다.
본 예시에서, SEL1은 다기능 메모리 인터페이스 모듈(418)의 포트 버퍼 회로에 대한 2개의 메모리 인터페이스 프로토콜 중 하나를 선택하는 고차 모드 선택 비트가 된다. 특히, SEL1이 로직 로우 레벨(0)일 때, 다기능 메모리 컨트롤러(102)는 ONFi 메모리 인터페이스 프로토콜과 같이 제 1 메모리 인터페이스 프로토콜에 의해 동작하도록 설정된다. SEL1이 로직 하이 레벨(1)에 있을 때, 다기능 메모리 컨트롤러(102)는 HLNAND 메모리 인터페이스 프로토콜과 같은 제 2 메모리 인터페이스 프로토콜에 의해 동작하도록 설정된다. 따라서, SEL0은 HLNAND HLNAND 메모리 인터페이스 프로토콜의 서브 모드를 선택하기 위하여 사용되는 저차 모드 선택이다. 특히, SEL0이 로직 하이 레벨일 때, HLNAND 인바운드 서브 모드가 선택된다. 그렇지 않으면, SEL0이 로직 로우 레벨일 때, HLNAND 아웃바운드 서브 모드가 선택된다. SEL1이 로직 로우 레벨일 때 SEL0이 무시된다. 그러므로, 다기능 메모리 컨트롤러(102)의 다른 포트 버퍼 회로의 각각은 이것에 맵핑되는 최대 3개의 신호 중 하나를 수신하거나 제공하도록 구성된다.
도 13은 본 공개의 일 실시예에 따른, 도 11에 도시된 양방향 포트 버퍼 회로(502)의 회로의 개략도이다. 본 예시는 포트 버퍼 회로(502)에 맵핑되는 신호(DQS, CKI 및 CKO)를 도시한다. 패드(610)는 ONFi 메모리 장치의 DQS 핀 또는 HLNAND 부합 메모리 장치의 CKI 핀 또는 HLNAND 부합 메모리 장치의 CKO 핀에 전기적으로 결합될 수 있다. 버퍼 회로는 수신 경로 및 출력 경로를 포함한다. 수신 경로는, 입력 버퍼와 같은 수신기(612), 역다중화기와 같은 선택기(614) 및 HLNAND 메모리 인터페이스 프로토콜과 같은 하나의 메모리 인터페이스 프로토콜로부터의 신호를 수신하도록 구성되는 제 1 로직 블록(616) 및 ONFi 메모리 인터페이스 프로토콜과 같은 다른 메모리 인터페이스 프로토콜로부터 신호를 수신하도록 구성되는 제 2 로직 블록(618)을 포함한다.
제 1 로직 블록(616)은 구체적으로 역다중화기(614)를 통해 패드(610)로부터 CKI 신호를 수신하도록 구성되고, HLNAND 메모리 인터페이스 프로토콜의 요건에 따라 신호를 처리하도록 구성될 수 있고 채널 컨트롤 모듈(200)의 특정 회로 블록에 임의의 요구되는 신호를 제공한다. 특히, HLNAND 로직 블록(616)은 채널 컨트롤 모듈에 버퍼링된 클럭 신호를 제공하고 지연 고정 루프(DLL) 또는 상 고정 루프(PLL)를 포함할 수 있다. 제 2 로직 블록(618)은 다기능 메모리 인터페이스 모듈(418)로부터 DQS_in을 수신하고 ONFi 메모리 인터페이스 프로토콜의 요건에 따라 입력 데이터 동기화를 제공하도록 신호를 처리하고 채널 컨트롤 모듈(200)의 특정 회로 블록에 임의의 요구되는 신호를 제공한다.
역다중화기(614)로 도시되는 선택기에 의해 수신되는 신호는 "in"으로 지칭되고, 이것은 패드(610)에서 수신된 DQS 또는 CKI에 상응할 수 있다. 역다중화기(614)는 "0" 및 "1"로 표시되는 2개의 출력 중 하나에 신호 "in"를 전달하도록 선택 신호(SEL1)에 의해 제어된다. 본 예시에서, SEL1이 HLNAND 메모리 인터페이스 프로토콜 모드를 선택하는 것에 상응하는 로직 레벨에 있을 때 "in"이 "1" 출력으로 통과된다. 역으로, SEL이 ONFi 메모리 인터페이스 프로토콜 모드에 상응하는 로직 레벨에 있을 때 "in"이 "0" 출력으로 통과된다.
도 13의 예시에서, SEL1은 ONFi 메모리 인터페이스 메모리 프로토콜 모드에 대해 로우 로직 레벨에 그리고 HLNAND 메모리 인터페이스 프로토콜 모드에 대해 하이 로직 레벨에 있다. HLNAND 메모리 인터페이스 프로토콜 모드에서, 역다중화기(614)는 로직 블록(616)에 클럭 신호(CLK_in)를 제공하고, ONFi 메모리 인터페이스 프로토콜 모드에서, 역다중화기(616)는 제 2 로직 블록(618)에 데이터 클럭 신호(DQS_in)를 제공한다.
출력 경로는 제 1 로직 블록(616), 제 2 로직 블록(618), 다중화기(620)로 도시된 선택기 및 출력 드라이버(622)를 포함한다. 제 1 로직 블록(616)은 HLNAND 메모리 인터페이스 프로토콜에 대한 출력 클럭(CLK_out)을 제공한다. 제 2 로직 블록(618)은 출력 데이터 클럭 신호(DQS_out)를 제공한다. 제 2 로직 블록(618)은 출력 데이터 클럭 신호(DQS_out)를 생성하기 위하여, 다기능 메모리 인터페이스 모듈(418)과 같은 채널 컨트롤 모듈(200)의 다른 회로로부터 신호를 수신한다. 유사하게, 제 1 로직 블록(616)은 출력 클럭(CLK_out)을 생성하기 위하여, 채널 컨트롤 모듈(200)의 다른 회로로부터 신호를 수신한다. 양쪽 클럭은 그 개별적인 메모리 인터페이스 프로토콜에 대한 데이터 동기화를 위해 사용된다.
양쪽 DQS_out 및 CLK_out은 다중화기(620)에 제공되고, 다중화기는 출력 드라이버(622)에 신호 "out"으로서 DQS_out 또는 CLK_out를 통과시키기 위하여 SEL1에 의해 제어된다. 그러므로, 출력 드라이버(622)는 SEL1의 상태를 기초로 신호(DQS_out 또는 CLK_out)에 의해 패드(610)를 구동한다. 본 예시에서, 하이 로직 레벨에서의 SEL1이 CLK_out을 통과시키도록 다중화기(620)를 제어하면서, 로우 로직 레벨에서의 SEL1이 DQS_out을 통과시키도록 다중화기(620)를 제어한다. 출력 드라이버(622)는 로직 게이트(624)에 의해 제공된 선택 신호(en)에 의해 인에이블되거나 디스에이블된다. 본 예시에서, 로직 게이트(624)는 SEL0 및 SEL1를 수신하는 NAND 게이트이다. 그러므로, 도 11에서 도시된 SEL1 및 SEL0 코딩 구성에 따라서, 출력 드라이버는 SEL1 및 SEL0이 로직"1" 레벨에 있을 때 턴오프된다. 도 11에 도시된 바와 같이, 로직"1"에서의 SEL1 및 SEL0은 HLNAND 메모리 인터페이스 프로토콜 인바운드 서브 모드에서 동작하기 위하여 포트 버퍼 회로를 구성한다. 이러한 모드에서, 출력 드라이버(622)가 요구되지 않고 그러므로 디스에이블되거나 턴오프된다. 따라서, 포트 버퍼 회로(502)는 CLK_in를 수신하기 위하여 입력 포트로서 구성된다.
SEL1이 0이고 SEL0이 O일 때, 포트 버퍼 회로(502)가 DQS_out를 제공하고 DQS_in를 수신하기 위하여 완전한 양방향 입/출력 포트로서 구성된다. SEL1이 1이고 SEL0이 O일 때, 포트 버퍼 회로(502)는 CLK_out를 제공하기 위하여 출력 포트로서 구성된다. 동작의 이러한 모드에서, 제 1 로직 블록(616)은 SEL0 모드 선택 비트에 응답하여 역다중화기(614)에 의해 수신되는 CLK_in 신호를 무시하도록 구성될 수 있다. 선택적으로 제 1 로직 블록(616)은 SEL1의 하나의 로직 상태에 의해 인에이블될 수 있고 제 2 로직 블록(618)은 SEL1의 동일한 로직 상태에 의해 디스에이블된다. 그러므로, 제 1 로직 블록(616)은 SEL1의 다른 로직 상태에 의해 디스에이블될 수 있고, 제 2 로직 블록(618)이 SEL1의 동일한 로직 상태에 의해 인에이블된다. 이러한 기법은 사용되지 않는 로직 블록을 절전하도록 허용하여 전력을 보존한다.
도 13의 실시예에서, 포트 버퍼 회로(502)는 양방향 DQS 신호 또는 단방향 CKI 및 CKO 신호에 대하여 구성된다. 그러나, 유사한 포트 버퍼 회로는 도 11에서 502로 표시된 다른 포트 버퍼 회로를 위해 사용될 수 있고, 그들 사이의 주된 차이점은, 그에 맵핑되는 이러한 특정 신호를 처리하기 위하여 구체적으로 구성되는 특정 형태의 로직 블록(616 및 618)이다.
도 14는 본 공개의 일 실시예에 따른, 도 11에 도시된 양방향 포트 버퍼 회로(508)의 회로 개략도이다. 포트 버퍼 회로(508)는, 수신 경로의 역다중화기(614)에 상응하는 역다중화기가 존재하지 않는 점을 제외하면 도 13의 포트 버퍼 회로(502)와 유사하다. 도 14에 도시된 구성요소가 도 13의 구성요소와 유사하므로, 포트 버퍼 회로(508)의 구성요소의 축약된 논의가 뒤따른다. 본 예시는 신호(CLE, CSI 및 CSO)가 포트 버퍼 회로(508)에 맵핑되는 것을 가정한다. 패드(650)는 ONFi 메모리 장치의 CLE 핀 또는 HLNAND 부합 메모리 장치의 CSI 핀 또는 HLNAND 부합 메모리 장치의 CSO 핀에 전기적으로 결합될 수 있다. 수신 경로는 입력 버퍼와 같은 수신기(652) 및 HLNAND 메모리 인터페이스 프로토콜의 CSI 신호를 수신하도록 구성되는 제 1 로직 블록(656)을 포함한다. 출력 경로는 HLNAND 메모리 인터페이스 프로토콜의 CSO 신호를 제공하기 위한 제 1 로직 블록(656), ONFi 메모리 인터페이스 프로토콜의 CLE 신호를 제공하기 위한 제 2 로직 블록(658), 다중화기(660)로 도시되는 선택기 및 출력 드라이버(662)를 포함한다. 다중화기(660)는 SEL1의 상태에 응답하여 출력 드라이버(662)에 CLE 또는 CSO를 통과시킨다. 로직 게이트(664)는 HLNAND 메모리 인터페이스 프로토콜 인바운드 서브 모드의 포트 버퍼 회로(508)를 구성하기 위하여 "1" 로직 레벨에 있는 SEL0 및 SEL1를 수신하여 출력 드라이버(662)를 디스에이블한다. 도 13의 실시예에 따라, 제 1 및 제 2 로직 블록(656 및 658)은 SEL1에 응답하여 인에이블 또는 디스에이블될 수 있다.
도 15는 본 공개의 일 실시예에 따른, 도 11에 도시된 출력 포트 버퍼 회로(504)의 회로 개략도이다. 출력 포트 버퍼 회로(504)는 제 1 메모리 인터페이스 프로토콜에 상응하는 신호를 처리하도록 구성된 제 1 로직 블록(680), 제 2 메모리 인터페이스 프로토콜에 상응하는 신호를 처리하도록 구성된 제 2 로직 블록(682), 다중화기와 같은 선택기(684), 출력 드라이버(686) 및 패드(688)를 포함한다. 현재 도시된 예시에서, 제 1 로직 블록(680)은 ONFi 로직 블록이고 제 2 로직 블록(682)은 HLNAND 로직 블록이다. ONFi 로직 블록(680)은 다중화기(684)의 "0" 입력에 의해 수신되는 채널 컨트롤 모듈(200)의 다른 회로 블록에 응답하여 판독 인에이블 신호(RE_out)를 제공하기 위하여 다기능 메모리 인터페이스 모듈(418)로부터 정보를 수신한다. 더욱 구체적으로, ONFi 로직 블록(680)은 WP_out 신호를 생성하기 위하여, 프로토콜의 요건에 따라 수신된 신호를 처리하도록 구성된다. HLNAND 로직 블록(682)은 다중화기(684)의 "1" 입력에 의해 수신되는 다기능 메모리 인터페이스 모듈(418)로부터 수신된 정보에 응답하여 리세트 신호(RST_out)를 제공한다. 더욱 구체적으로, HLNAND 로직 블록(682)은 RST_out을 생성하도록 프로토콜의 요건에 따라 수신된 신호를 처리하도록 구성된다.
다중화기(684)는 선택 신호(SEL1)에 응답하여 신호 "out"으로서 WP_out와 RST_out 중 하나를 통과시킨다. 본 예시에서, 하이 로직 레벨에서의 SEL1은 HLNAND 메모리 인터페이스 프로토콜 모드에 상응하여 출력 드라이버(686)에 RST_out을 통과시킨다. 반대로, 로우 로직 레벨에서의 SEL1은 ONFi 메모리 인터페이스 프로토콜 모드에 상응하여 출력 드라이버(686)에 WP_out을 통과시킨다. 다른 실시예에 대하여 먼저 언급된 바와 같이, 제 1 및 제 2 로직 블록(680, 682)은 SEL1에 의해 인에이블되거나 디스에이블될 수 있다. 출력 드라이버(686)는 그 수신된 신호를 패드(688)로 증폭시키고 구동한다. 신호(WP# 및 RST#) 양쪽은 ONFi 및 HLNAND 메모리 인터페이스 프로토콜에 대한 출력 신호임이 주목된다. 그러므로, 도 15의 실시예는 포트 버퍼 회로가 2개의 상이한 출력 신호를 제공하도록 구성되는 방법을 도시하는 예시이다.
도 16은 본 공개의 일 실시예에 따른, 도 11에 도시된 단방향 포트 버퍼 회로(506)의 회로 개략도이다. 단방향 포트 버퍼 회로(506)는 로직 블록(690)으로 구성된 출력 경로 및 패드(694)상에 신호를 증폭시키고 구동하기 위한 출력 드라이버(692)를 포함한다. 본 예시에서, 포트 버퍼 회로(506)는 판독 인에이블 신호(RE#)를 제공하기 위한 ONFi 메모리 인터페이스 프로토콜 모드가 되는 하나의 모드에서만 사용된다. 선택적으로, 로직 블록(690)은 SEL1에 응답하여 인에이블되거나 디스에이블될 수 있다. 로직 블록(690)은, HLNAND 메모리 인터페이스 프로토콜 서브 모드의 양쪽에서 사용되지 않으므로 SEL1에 응답하여 디스에이블될 수 있다.
도 11의 먼저 도시된 실시예 및 도 12 내지 도 16의 포트 버퍼 회로 실시예는 다기능 메모리 컨트롤러 실시예를 위한 하나의 가능한 핀아웃 맵핑 장치의 예시를 도시한다. 신호는 맵핑된 포트가 맵핑된 신호를 수신하거나 제공하도록 구성되면 기타 핀아웃 맵핑이 가능하다. 먼저 도시된 포트 버퍼 회로 실시예는 단일 포트에 입력, 출력 및 양방향 신호의 조합을 맵핑하기 위하여 사용될 수 있다. 임의의 경우에, 포트 버퍼 회로에서 수신되는 신호는 채널 컨트롤 모듈(200)에 의해 수신되고 처리되며 버스(118)를 통해 메모리 컨트롤러(102)의 기타 회로 블록으로 통과된다. 결국, 데이터는 호스트 인터페이스(106)를 통해 호스트에 제공된다. 유사하게, 호스트 인터페이스(106)에 수신된 임의의 데이터 및 명령은 버스(118)를 통해 메모리 컨트롤러의 회로 블록에 의해 처리되고 메모리 인터페이스(112)의 표적화된 채널 컨트롤 모듈에 궁극적으로 제공되며, 이 인터페이스 메모리 장치에 대한 시그널링을 위한 필수적인 프로토콜 적응을 수행한다.
먼저 도시된 실시예는 2개의 메모리 인터페이스 프로토콜의 최대 3개의 신호가 메모리 컨트롤러의 단일 포트에 맵핑될 수 있는 방법을 설명한다. 이것은 메모리 컨트롤러의 유연한 적용을 허용한다. 대안적인 실시예에서, 각각의 포트 버퍼 회로는 3개 초과의 상이한 형태의 신호를 수신하도록 구성될 수 있다. 도 12 내지 도 16의 포트 버퍼 회로 실시예를 이해하는 당업자는 각각의 포트에 3개 초과의 맵핑 신호를 수용하도록 회로를 스케일링하는 방법을 이해할 것이다.
듀얼 모드 핀아웃 메모리 컨트롤러 실시예는 SSD 드라이브 및 기타 휴대용 메모리 저장 장치를 포함하는 고체 메모리 시스템과 같은 임의의 메모리 시스템에서 사용될 수 있다. 듀얼 모드 핀아웃 메모리 컨트롤러 실시예는, 예컨대 휴대 전화, 랩탑 컴퓨터 및 태블릿을 포함하는 휴대용 전자 장치와 같이 비휘발성 메모리를 사용하는 시스템과 추가로 통합될 수 있다.
상기 기재된 실시예에서, 장치 소자 및 회로는 단순함을 위하여 도면에서 도시된 바와 같이 서로 연결된다. 본 공개의 실제 응용에 있어서, 소자, 회로 등은 서로 직접적으로 연결될 수 있다. 또한, 소자, 회로 등은 예컨대 장치 및 기기의 동작을 위해 필수적인 기타 소자, 회로 등을 통해 서로 간접적으로 연결될 수 있다. 그러므로, 실제 구성에서, 회로 소자 및 회로 등은 서로 직접적으로 또는 간접적으로 결합 또는 연결된다.
상기 설명에 있어서, 설명의 목적을 위해, 실시예의 완전한 이해를 제공하도록, 다수의 상세가 상술된다. 그러나, 당업자에게는 이러한 특정의 상세가 필요하지 않다는 것이 명백할 것이다. 다른 예로서, 잘 알려진 전기적인 구조 및 회로들이 이해를 모호하게 하지 않도록 하기 위해서 블록 다이어그램의 형태로 도시되었다.
본 발명의 상기 기재된 실시예는 오직 예시가 되는 것이 의도된다. 특정 변경, 수정 및 변형은, 본 명세서에 첨부된 특허청구범위에서 오로지 한정된 본 발명의 권리범위에서 벗어나지 않고 당업자에 의해 특정 실시예에 행해질 수 있다.

Claims (20)

  1. 다기능 메모리 컨트롤러로서,
    제 1 메모리 인터페이스 프로토콜에서의 통신에 호환가능한 제 1 신호, 상기 제 1 메모리 인터페이스 프로토콜과 상이한 제 2 메모리 인터페이스 프로토콜에서의 통신에 호환가능한 제 2 신호 또는 상기 제 2 메모리 인터페이스 프로토콜에서의 통신에 호환가능한 제 3 신호를 버퍼링하도록 구성가능한 회로를 포함하는 적어도 하나의 메모리 인터페이스 포트를 각각 갖는 채널 컨트롤 모듈; 및
    호스트 장치와 메모리 인터페이스 사이에서 정보를 통신하기 위한 호스트 인터페이스 포트를 갖는 호스트 인터페이스를 포함하는, 다기능 메모리 컨트롤러.
  2. 청구항 1에 있어서, 상기 채널 컨트롤 모듈의 각각은
    제 1 전압 또는 제 2 전압에 선택적으로 연결가능한 제 1 모드 선택 포트, 및
    상기 제 1 모드 선택 포트와 독립적으로 상기 제 1 전압 또는 상기 제 2 전압에 선택적으로 연결가능한 제 2 모드 선택 포트를 포함하는, 다기능 메모리 컨트롤러.
  3. 청구항 2에 있어서, 모든 상기 채널 컨트롤 모듈의 상기 적어도 하나의 메모리 인터페이스 포트는 상기 제 1 메모리 인터페이스 프로토콜에서의 통신에 호환가능한 상기 제 1 신호를 버퍼링하도록 구성되는, 다기능 메모리 컨트롤러.
  4. 청구항 3에 있어서, 상기 제 1 모드 선택 포트 및 상기 제 2 모드 선택 포트가, 상기 제 1 신호를 버퍼링하도록 모든 상기 채널 컨트롤 모듈을 구성하기 위하여 상기 제 1 전압과 상기 제 2 전압의 제 1 미리 정해진 조합에 연결되는, 다기능 메모리 컨트롤러.
  5. 청구항 4에 있어서, 제 1 채널 컨트롤 모듈은 상기 제 2 메모리 인터페이스 프로토콜에서의 통신을 위하여 상기 제 2 신호를 버퍼링하도록 구성되고, 제 2 채널 컨트롤 모듈은 상기 제 2 메모리 프로토콜에서의 통신을 위하여 상기 제 3 신호를 버퍼링하도록 구성되는, 다기능 메모리 컨트롤러.
  6. 청구항 5에 있어서, 상기 제 1 채널 컨트롤 모듈의 상기 제 1 모드 선택 포트 및 상기 제 2 모드 선택 포트는 상기 제 1 미리 정해진 조합과 상이한 상기 제 1 전압과 상기 제 2 전압의 제 2 미리 정해진 조합에 연결되는, 다기능 메모리 컨트롤러.
  7. 청구항 6에 있어서, 상기 제 2 채널 컨트롤 모듈의 상기 제 1 모드 선택 포트 및 상기 제 2 모드 선택 포트는 상기 제 1 미리 정해진 조합 및 상기 제 2 미리 정해진 조합과 상이한 상기 제 1 전압과 상기 제 2 전압의 제 3 미리 정해진 조합에 연결되는, 다기능 메모리 컨트롤러.
  8. 청구항 2에 있어서, 제 1 채널 컨트롤 모듈은 상기 제 2 메모리 인터페이스 프로토콜에서의 통신을 위하여 상기 제 2 신호를 버퍼링하도록 구성되고, 제 2 채널 컨트롤 모듈은 상기 제 2 메모리 프로토콜에서의 통신을 위하여 상기 제 3 신호를 버퍼링하도록 구성되는, 다기능 메모리 컨트롤러.
  9. 청구항 8에 있어서, 상기 제 2 신호는 아웃바운드 신호이고 상기 제 3 신호는 인바운드 신호인, 다기능 메모리 컨트롤러.
  10. 청구항 9에 있어서, 상기 제 1 채널 컨트롤 모듈은 상기 제 2 메모리 인터페이스 프로토콜에서의 통신을 위하여 아웃바운드 신호만을 버퍼링하도록 구성되고, 상기 제 2 채널 컨트롤 모듈은 상기 제 2 메모리 인터페이스 프로토콜에서의 통신을 위하여 인바운드 신호만을 버퍼링하도록 구성되는, 다기능 메모리 컨트롤러.
  11. 청구항 10에 있어서, 상기 제 1 메모리 인터페이스 프로토콜은 ONFi 메모리 인터페이스 프로토콜인, 다기능 메모리 컨트롤러.
  12. 청구항 10에 있어서, 상기 제 2 메모리 인터페이스 프로토콜은 HLNAND 메모리 인터페이스 프로토콜인, 다기능 메모리 컨트롤러.
  13. 비휘발성 메모리 시스템으로서,
    제 1 메모리 인터페이스 프로토콜에 상응하는 제 1 신호, 제 2 메모리 인터페이스 프로토콜에 상응하는 제 2 신호 및 상기 제 2 메모리 인터페이스 프로토콜에 상응하는 제 3 신호를 버퍼링하도록 구성가능한 포트를 각각 갖는 채널 컨트롤 모듈을 포함하는 메모리 컨트롤러; 및
    상기 채널 컨트롤 모듈 중 하나와 통신하여 상기 제 1 메모리 인터페이스 프로토콜과 상기 제 2 메모리 인터페이스 프로토콜 중 하나에서 동작가능한 메모리 장치를 포함하는, 비휘발성 메모리 시스템.
  14. 청구항 13에 있어서, 상기 채널 컨트롤 모듈의 각각은
    제 1 전압 또는 제 2 전압에 선택적으로 연결가능한 제 1 모드 선택 포트, 및
    상기 제 1 모드 선택 포트와 독립적으로 상기 제 1 전압 또는 상기 제 2 전압에 선택적으로 연결가능한 제 2 모드 선택 포트를 포함하는, 비휘발성 메모리 시스템.
  15. 청구항 13에 있어서, 상기 제 1 메모리 인터페이스 프로토콜에서, 상기 메모리 장치는 채널 컨트롤 모듈의 포트에 병렬로 연결된 적어도 2개의 메모리 칩을 포함하는, 비휘발성 메모리 시스템.
  16. 청구항 15에 있어서, 상기 제 1 메모리 인터페이스 프로토콜은 ONFi 메모리 인터페이스 프로토콜인, 비휘발성 메모리 시스템.
  17. 청구항 15에 있어서, 상기 제 2 신호는 아웃바운드 신호이며 상기 제 3 신호는 인바운드 신호인, 비휘발성 메모리 시스템.
  18. 청구항 17에 있어서, 제 1 채널 컨트롤 모듈은 상기 아웃바운드 신호를 버퍼링하도록 구성되고, 제 2 채널 컨트롤 모듈은 상기 제 2 메모리 인터페이스 프로토콜의 인바운드 신호를 버퍼링하도록 구성되는, 비휘발성 메모리 시스템.
  19. 청구항 18에 있어서, 상기 제 2 메모리 인터페이스 프로토콜에서, 상기 메모리 장치는, 상기 제 1 채널 컨트롤 모듈 및 상기 제 2 채널 컨트롤 모듈과 링 토폴로지 구성으로 직렬로 연결되는 적어도 2개의 메모리 칩을 포함하는, 비휘발성 메모리 시스템.
  20. 청구항 19에 있어서, 상기 제 2 메모리 인터페이스 프로토콜은 HLNAND 메모리 인터페이스 프로토콜인, 비휘발성 메모리 시스템.
KR1020147026795A 2012-10-31 2013-10-31 멀티모드 핀아웃을 갖는 플래시 메모리 컨트롤러 KR20150079492A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261720652P 2012-10-31 2012-10-31
US61/720,652 2012-10-31
US13/836,113 2013-03-15
US13/836,113 US20140122777A1 (en) 2012-10-31 2013-03-15 Flash memory controller having multi mode pin-out
PCT/CA2013/000928 WO2014066987A1 (en) 2012-10-31 2013-10-31 Flash memory controller having multimode pin-out

Publications (1)

Publication Number Publication Date
KR20150079492A true KR20150079492A (ko) 2015-07-08

Family

ID=50548535

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147026795A KR20150079492A (ko) 2012-10-31 2013-10-31 멀티모드 핀아웃을 갖는 플래시 메모리 컨트롤러

Country Status (5)

Country Link
US (1) US20140122777A1 (ko)
JP (1) JP2015536496A (ko)
KR (1) KR20150079492A (ko)
TW (1) TW201432696A (ko)
WO (1) WO2014066987A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104981872B (zh) 2013-03-15 2018-11-06 英特尔公司 存储系统
KR20160028680A (ko) * 2014-09-04 2016-03-14 삼성전자주식회사 데이터 저장 장치와 이의 작동 방법
US10152413B2 (en) 2015-06-08 2018-12-11 Samsung Electronics Co. Ltd. Nonvolatile memory module and operation method thereof
US10163508B2 (en) 2016-02-26 2018-12-25 Intel Corporation Supporting multiple memory types in a memory slot
KR102554416B1 (ko) 2016-08-16 2023-07-11 삼성전자주식회사 메모리 장치의 내부 상태 출력 장치 및 이를 적용하는 메모리 시스템
KR20180032728A (ko) 2016-09-22 2018-04-02 삼성전자주식회사 저장 장치, 저장 장치를 포함하는 사용자 장치, 및 사용자 장치의 동작 방법
EP3588316B1 (en) 2017-04-07 2021-06-09 Panasonic Intellectual Property Management Co., Ltd. Information processing device
TWI634429B (zh) * 2017-04-11 2018-09-01 來揚科技股份有限公司 基於spi界面的多記憶體協作結構
US10621117B2 (en) * 2017-06-15 2020-04-14 Micron Technology, Inc. Controlling memory devices using a shared channel
US10606690B2 (en) * 2017-09-29 2020-03-31 Intel Corporation Memory controller error checking process using internal memory device codes
TWI680374B (zh) * 2017-10-20 2019-12-21 慧榮科技股份有限公司 儲存裝置以及其介面晶片
TWI658363B (zh) * 2017-10-20 2019-05-01 慧榮科技股份有限公司 儲存裝置以及其介面晶片
TWI721565B (zh) * 2017-10-20 2021-03-11 慧榮科技股份有限公司 儲存裝置以及其介面晶片
US11232047B2 (en) 2019-05-28 2022-01-25 Rambus Inc. Dedicated cache-related block transfer in a memory system
US20210157519A1 (en) * 2019-11-26 2021-05-27 Microsoft Technology Licensing, Llc Solid-state drive (ssd) with a storage controller employing differential two-wire serial buses to access flash memory
US20210181990A1 (en) * 2019-12-16 2021-06-17 Micron Technology, Inc. Interrupt signaling for a memory device
US11775378B2 (en) * 2019-12-16 2023-10-03 Micron Technology, Inc. Memory health status reporting
US11842080B2 (en) * 2021-04-27 2023-12-12 Micron Technology, Inc. Memory device health evaluation at a host device

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469555A (en) * 1991-12-19 1995-11-21 Opti, Inc. Adaptive write-back method and apparatus wherein the cache system operates in a combination of write-back and write-through modes for a cache-based microprocessor system
US7373561B2 (en) * 2002-10-29 2008-05-13 Broadcom Corporation Integrated packet bit error rate tester for 10G SERDES
CN100349108C (zh) * 2005-11-21 2007-11-14 北京中星微电子有限公司 与非门快闪存储器的物理接口、接口方法和管理设备
US8140738B2 (en) * 2006-07-20 2012-03-20 Stmicroelectronics Pvt. Ltd. Flash memory interface device
US20090063786A1 (en) * 2007-08-29 2009-03-05 Hakjune Oh Daisy-chain memory configuration and usage
JP2010033659A (ja) * 2008-07-29 2010-02-12 Hitachi Ltd 情報処理システムおよび半導体記憶装置
US8134852B2 (en) * 2008-10-14 2012-03-13 Mosaid Technologies Incorporated Bridge device architecture for connecting discrete memory devices to a system
US8332552B2 (en) * 2008-11-13 2012-12-11 International Business Machines Corporation Supporting multiple high bandwidth I/O controllers on a single chip
KR101006748B1 (ko) * 2009-01-29 2011-01-10 (주)인디링스 패드들의 동시 스위칭을 제어하는 고체 상태 디스크를 위한컨트롤러
US20100287329A1 (en) * 2009-05-06 2010-11-11 Apple Inc. Partial Page Operations for Non-Volatile Memory Systems
US8205038B2 (en) * 2009-10-14 2012-06-19 Giga-Byte Technology Co., Ltd. Flash memory accessing apparatus and accessing method thereof
US20110258366A1 (en) * 2010-04-19 2011-10-20 Mosaid Technologies Incorporated Status indication in a system having a plurality of memory devices
WO2013071399A1 (en) * 2011-11-14 2013-05-23 Mosaid Technologies Incorporated Package having stacked memory dies with serially connected buffer dies
US9053066B2 (en) * 2012-03-30 2015-06-09 Sandisk Technologies Inc. NAND flash memory interface

Also Published As

Publication number Publication date
WO2014066987A1 (en) 2014-05-08
JP2015536496A (ja) 2015-12-21
TW201432696A (zh) 2014-08-16
US20140122777A1 (en) 2014-05-01

Similar Documents

Publication Publication Date Title
KR102113359B1 (ko) 이중 모드 핀아웃을 가진 플래시 메모리 제어기
KR20150079492A (ko) 멀티모드 핀아웃을 갖는 플래시 메모리 컨트롤러
KR101626084B1 (ko) 멀티 칩 메모리 시스템 및 그것의 데이터 전송 방법
WO2014153640A1 (en) Asynchronous bridge chip
CN113808649A (zh) 存储器装置及其操作方法
EP3905055B1 (en) Link startup method of storage device, and storage device, host and system implementing same
US8883521B2 (en) Control method of multi-chip package memory device
KR20120028146A (ko) 입출력 경로 스왑을 지원하는 메모리 시스템
US20230112284A1 (en) Storage device and storage system including the same
TWI806262B (zh) 橋接裝置與資料儲存系統
US9728234B1 (en) Operating method of semiconductor memory device
US20140156882A1 (en) Memory device, operating method thereof, and data storage device including the same
TWI615713B (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
TWI597728B (zh) 指派半導體晶粒以致能高堆疊能力之技術
US11921653B2 (en) Data storage device and method for lane detection and configuration
US11809737B2 (en) Storage device for performing high-speed link startup and storage system including the same
US11934691B2 (en) Storage device for high speed link startup and storage system including the same
CN113450843B (zh) 电路布局结构与存储器存储装置
US20240184480A1 (en) Storage device for high speed link startup and storage system including the same
US20210089208A1 (en) Memory system and data processing system including the same
US20140063956A1 (en) Nonvolatile memory device and operating method thereof
US20170212816A1 (en) Semiconductor memory device and data storage device including the same

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid