KR20150070049A - 이중 모드 핀아웃을 가진 플래시 메모리 제어기 - Google Patents

이중 모드 핀아웃을 가진 플래시 메모리 제어기 Download PDF

Info

Publication number
KR20150070049A
KR20150070049A KR1020147036998A KR20147036998A KR20150070049A KR 20150070049 A KR20150070049 A KR 20150070049A KR 1020147036998 A KR1020147036998 A KR 1020147036998A KR 20147036998 A KR20147036998 A KR 20147036998A KR 20150070049 A KR20150070049 A KR 20150070049A
Authority
KR
South Korea
Prior art keywords
memory
memory interface
signal
interface protocol
output
Prior art date
Application number
KR1020147036998A
Other languages
English (en)
Other versions
KR102113359B1 (ko
Inventor
학준 오
진기 김
이현웅
김영관
Original Assignee
노바칩스 캐나다 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노바칩스 캐나다 인크. filed Critical 노바칩스 캐나다 인크.
Publication of KR20150070049A publication Critical patent/KR20150070049A/ko
Application granted granted Critical
Publication of KR102113359B1 publication Critical patent/KR102113359B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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
    • 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

Landscapes

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

Abstract

각각의 상이한 타입의 메모리 디바이스들과 인터페이싱하기 위한 적어도 2개의 상이한 핀아웃 할당(30 및 32)을 갖도록 구성될 수 있는, 호스트(14)와 통신하는, 데이터 스토리지 디바이스(12)의 메모리 제어기(40). 각각의 핀아웃 할당은 특정 메모리 인터페이스 프로토콜에 대응한다. 메모리 제어기의 각각의 메모리 인터페이스 포트는, 사용되는 선택된 메모리 인터페이스 프로토콜에 기초하여, 상이한 기능적 신호 할당들에 대해 구성 가능한 포트 버퍼 회로(400, 404, 406)을 포함한다. 각각의 메모리 인터페이스 포트에 대한 인터페이스 회로 구성은 메모리 제어기의 미리 정해진 포트 또는 레지스터들을 설정하는 것에 의해 선택될 수 있다.

Description

이중 모드 핀아웃을 가진 플래시 메모리 제어기{FLASH MEMORY CONTROLLER HAVING DUAL MODE PIN-OUT}
(관련 출원들에 대한 교차 참조)
본 출원은, 미국 특허 가출원 제61/702,846호(2012년 9월 19일 출원), 미국 특허 가출원 제61/713,008호(2012년 10월 12일 출원), 및 미국 특허 출원 제13/835,968호의 우선권의 이익을 청구한다.
(분야)
본 명세서는 일반적으로 메모리 시스템들에 관한 것이다. 보다 상세하게는, 본 출원은 비휘발성 메모리 제어기들에 관한 것이다.
오늘날, 많은 전자 디바이스들이 디바이스들에 의해 활용되는 정보 (데이터)를 저장하는데 사용되는 메모리 시스템들을 포함한다. 예를 들어, 일부의 디지털 오디오 플레이어들은 플레이어들에 의해 플레이될 수 있는 디지털화된 오디오드를 저장하는데 사용되는 메모리 시스템들을 포함한다. 마찬가지로, 개인 컴퓨터 시스템들은 종종 컴퓨터 시스템들에 의해 활용되는 소프트웨어를 저장하기 위해 메모리 시스템들을 채용한다.
많은 전자 디바이스들에 있어서, 메모리 시스템들은 종종, 제어기와 하나 이상의 메모리 디바이스들을 포함한다. 제어기는 전형적으로, 메모리 디바이스들에게 정보를 저장 및 검색하도록 명령하는데 사용되는 신호들을 생성하도록 구성된 회로를 포함한다. 메모리 디바이스들은 전형적으로, 메모리 디바이스들에 포함된 메모리내에 정보를 저장한다. 메모리는 휘발성 또는 비휘발성일 수 있다. 휘발성 메모리를 포함하는 메모리 디바이스는, 전력이 디바이스로부터 제거될 때 저장된 정보를 종종 손실한다. 비휘발성 메모리를 포함하는 메모리 디바이스는, 전력이 디바이스로부터 제거될 때라도 저장된 정보를 종종 유지한다.
특정한 종래의 메모리 시스템들에 있어서는, 데이터 및 제어 신호들이 병렬 버스를 이용하여 병렬로 제어기와 메모리 디바이스들간에 전해진다. 종종, 많은 배선들이 버스를 구현하는데 사용되며, 메모리 시스템의 레이아웃에 따라, 배선들이 약간의 길이만큼 연장될 수 있다.
전자 장비는, 예컨대, 메모리 디바이스들과 같은 반도체 디바이스들을 사용한다. 메모리 디바이스들은 랜덤 액세스 메모리(RAM)들, 데이터 또는 정보를 저장하는 플래시를 포함할 수 있다. 메모리 디바이스들은, 저장 디바이스(예컨대, 고체 드라이브(solid state drive; “SSD”)로 형성하도록 결합될 수 있다.
본 명세서의 제1 양태에 따르면, 이중 인터페이스 메모리 제어기가 제공된다. 이중 인터페이스 메모리 제어기는 메모리 인터페이스 및 호스트 인터페이스를 포함한다. 메모리 인터페이스는, 적어도 제1 메모리 인터페이스 프로토콜로 통신하기에 적합한 제1 신호 또는 상기 제1 메모리 인터페이스 프로토콜과는 상이한 제2 메모리 인터페이스 프로토콜로 통신하기에 적합한 제2 신호를 버퍼링하도록 구성된 회로를 포함하는 적어도 하나의 메모리 인터페이스 포트를 포함한다. 호스트 인터페이스는 호스트 디바이스와 상기 메모리 인터페이스 사이에 정보를 통신하기 위한 호스트 인터페이스 포트들을 포함한다. 일 실시예에 따르면, 상기 제1 메모리 인터페이스 프로토콜은 ONFi 메모리 인터페이스 프로토콜이고 상기 제2 메모리 인터페이스 프로토콜은 HLNAND 메모리 인터페이스 프로토콜이다. 제1 양태의 일 실시예에 따르면, 이중 인터페이스 메모리 제어기는, 인가되는 전압 레벨에 응답하여 제1 신호 경로 또는 제2 신호 경로를 인에이블(enable)하기 위한 모드 선택기 회로(mode selector circuitry)를 더 포함한다. 본 실시예에 있어서, 인가되는 전압 레벨을 받기 위해 상기 모드 선택기 회로에 전기적으로 결합되는 패드(pad)를 더 포함한다. 본 실시예에 있어서, 상기 회로는 제1 신호를 버퍼링하도록 구성되는 제1 신호 경로, 및 제2 신호를 버퍼링하도록 구성되는 제2 신호 경로를 포함한다. 적어도 하나의 메모리 인터페이스 포트는, 단일 패드를 포함할 수 있고, 상기 제1 신호 경로는 신호 패드로부터 상기 제1 메모리 인터페이스 프로토콜에 대응하는 입력 신호를 수신하도록 구성되는 입력 회로를 포함한다.
본 실시예의 일 양태에 있어서, 입력 회로는 제1 입력 회로이고, 상기 제2 신호 경로는 신호 패드로부터 상기 제2 메모리 인터페이스 프로토콜에 대응하는 다른 입력 신호를 수신하도록 구성되는 제2 입력 회로를 포함한다. 이중 인터페이스 메모리 제어기는, 상기 모드 선택기 회로에 의해 제공되는 제1 로직 상태와 제2 로직 상태 중 하나의 상태를 갖는 선택 신호에 응답하여 상기 제1 입력 회로 또는 상기 제2 입력 회로 중 하나의 입력 회로에 단일 패드를 선택적으로 결합하기 위한 선택기 회로를 더 포함할 수 있다. 본 실시예의 다른 양태에 있어서, 상기 제2 신호 경로는 상기 제2 메모리 인터페이스 프로토콜에 대응하는 출력 신호를 단일 패드에 제공하도록 구성되는 출력 회로를 포함하고, 상기 회로는, 상기 제1 메모리 인터페이스 프로토콜에 대응하는 제3 신호를 버퍼링하도록 구성되는 제3 신호 경로를 포함한다. 본 실시예에 있어서, 상기 제3 신호 경로는 단일 패드에 메모리 인터페이스 프로토콜에 대응하는 출력 신호를 제공하도록 구성되는 출력 회로를 포함한다. 또한, 상기 적어도 하나의 메모리 인터페이스 포트는, 출력 신호로 단일 패드를 구동하기 위해 제1 로직 상태의 선택 신호에 의해 인에이블 되는 출력 구동기를 포함할 수 있고, 선택기 회로는, 선택 신호가 제1 로직 상태일 때, 단일 패드를 제2 입력 회로에 결합한다.
본 양태의 다른 실시예에 있어서, 상기 제1 신호 경로는 단일 패드에 상기 제1 메모리 인터페이스 프로토콜에 대응하는 출력 신호를 제공하도록 구성되는 출력 회로를 포함한다. 상기 출력 회로는 제1 출력 회로이고, 상기 제2 신호 경로는 단일 패드에 상기 제2 메모리 인터페이스 프로토콜에 대응하는 다른 출력 신호를 제공하도록 구성되는 제2 출력 회로를 포함한다. 이중 인터페이스 메모리 제어기는, 상기 모드 선택기 회로에 의해 제공되는 제1 로직 상태와 제2 로직 상태 중 하나를 갖는 선택 신호에 응답하여 제1 출력 회로 또는 제2 출력 회로 중 하나에 단일 패드를 선택적으로 결합하기 위한 선택기 회로를 더 포함할 수 있다.
본 명세서의 제2 양태에 따르면, 메모리 제어기 및 적어도 하나의 메모리를 포함하는 비휘발성 메모리 시스템이 제공된다. 상기 메모리 제어기는, 호스트 디바이스로부터의 요청들에 응답하여 제1 메모리 인터페이스 프로토콜 핀아웃(pinout)과 제2 메모리 인터페이스 프로토콜 핀아웃 중 하나에 대응하는 신호들을 버퍼링하기 위한 회로와 더불어 구성되는 적어도 하나의 입출력 포트를 갖는 채널 제어 모듈을 포함한다. 상기 적어도 하나의 메모리는, 적어도 하나의 입출력 포트를 통해 채널 제어 모듈과 통신하는 제1 메모리 인터페이스 프로토콜 핀아웃 또는 제2 메모리 인터페이스 프로토콜 핀아웃을 갖는다. 제2 양태의 일 실시예에 있어서, 적어도 하나의 입출력 포트를 적어도 하나의 메모리 디바이스에 전기적으로 연결하기 위한 채널이 더 포함된다. 본 실시예에 있어서, 상기 적어도 하나의 메모리는 상기 채널에 병렬로 연결되는 적어도 2개의 메모리 칩을 포함한다. 대안적으로, 상기 적어도 하나의 메모리는 상기 채널 제어 모듈과 링 토폴로지 구성(ring topology configuration)으로 직렬로 연결된 적어도 2개의 메모리 칩을 포함한다. 제2 양태의 다른 실시예에 따르면, 상기 제1 메모리 인터페이스 프로토콜 핀아웃은 ONFi 메모리 인터페이스 핀아웃에 대응하고 상기 제2 메모리 인터페이스 프로토콜 핀아웃은 HLNAND 메모리 인터페이스 핀아웃에 대응한다.
본 명세서의 다른 양태들 및 특징들이, 첨부 도면과 결합한 특정 실시예들의 하기의 설명의 리뷰시에 당업자에게 명백해질 것이다.
도 1은 본 명세서의 실시예들이 적용된 메모리 시스템의 블록도이다.
도 2a는 제1 타입의 메모리 제어기의 기능적 핀아웃들을 나타내는 블록도이다.
도 2b는 제2 타입의 메모리 제어기의 기능적 핀아웃들을 나타내는 블록도이다.
도 3a는 멀티-드롭 메모리 시스템을 나타내는 개략도이다.
도 3b는 직렬 연결된 메모리 시스템을 나타내는 개략도이다.
도 4는 본 명세서의 일 실시예에 따른, 이중 모드 핀아웃 메모리 제어기를 이용하는 고체 저장 디바이스의 블록도이다.
도 5는 본 명세서의 일 실시예에 따른, 도 4에 도시된 이중 핀아웃 메모리 제어기의 메모리 인터페이스 블록의 블록도이다.
도 6은 본 명세서의 일 실시예에 따른, 이중 핀아웃 메모리 제어기를 이용하는 멀티-드롭 버스 아키텍쳐의 블록도이다.
도 7은 본 명세서의 일 실시예에 따른, 이중 핀아웃 메모리 제어기를 이용하는 직렬 포인트 투 포인트 아키텍쳐의 블록도이다.
도 8은, 본 명세서의 일 실시예에 따른, 도 7 및 도 8에 도시된 메모리 인터페이스 블록의 채널 제어 모듈의 블록도이다.
도 9는 본 명세서의 일 실시예에 따른, 이중 핀아웃 채널 제어 모듈의 포트들에 대한 신호들의 이중 핀아웃 매핑들의 예시도이다.
도 10은 본 명세서의 일 실시예에 따른, 모드 선택 인터페이스 회로의 개략도이다.
도 11은 본 명세서의 일 실시예에 따른, 이중 모드 양방향 인터페이스 회로의 회로도이다.
도 12는 본 명세서의 일 실시예에 따른, 이중 모드 출력 인터페이스 회로의 회로도이다.
도 13은 본 명세서의 일 실시예에 따른, 대안적인 이중 모드 양방항 인터페이스 회로의 회로도이다.
도 14는 본 명세서의 일 실시예에 따른, 이중 모드 입력 인터페이스 회로의 회로도이다.
본 명세서의 실시예들이 이제, 첨부 도면들을 참조하여, 예시로서만 설명될 것이다.
일반적으로, 본 명세서는 데이터 저장 디바이스용 메모리 제어기를 제공하며, 여기서, 메모리 제어기가 개개의 상이한 타입들의 메모리 디바이스들과 인터페이싱(interfacing)하기 위한 적어도 2개의 상이한 핀아웃 할당등을 갖도록 구성될 수 있다. 각각의 핀아웃 할당은 특정 메모리 인터페이스 프로토콜에 대응한다. 메모리 제어기의 각각의 메모리 인터페이스 포트는, 사용될 선택된 메모리 인터페이스에 기초하여, 상이한 기능성 신호 할당들에 대해 구성될 수 있는 인터페이스 회로를 포함한다. 각각의 메모리 인터페이스 포트에 대한 인터페이스 회로 구성은 메모리 제어기의 레지스터들 또는 미리 정해진 포트를 설정하는 것에 의해 선택될 수 있다.
플래시 메모리는, 예컨대, 디지털 카메라 및 휴대형 디지털 뮤직 플레이어들과 같은 가전기기용의 대용량 저장소로서 널리 사용되는, 공통적으로 사용되는 타입의 비휘발성 메모리이다. 그러한 플래시 메모리는, 각각이 그 내부에 형성된 적어도 하나의 메모리 디바이스 및 메모리 제어기를 갖는, 메모리 카드 또는 유니버설 직렬 버스(USB) 타입 메모리 스틱의 형태를 취할 수 있다, 다른 대용량 저장소 어플리케이션은, 컴퓨터 하드 디스크 드라이브의 대용으로서 사용될 수 있는 고체 드라이브(SSD)이다. 이러한 고체 드라이브는, 컴퓨터 워크스테이션, 네트워크, 및 대량의 데이터가 저장될 필요가 있는 가상적인 임의의 어플리케이션에 대해서 사용될 수 있다.
도 1은, 본 명세서의 실시예들이 적용되는, 예컨대, 비휘발성 메모리 시스템과 같은 시스템을 묘사한다. 도 1을 참조하여 보면, 비휘발성 메모리 시스템(10)은 외부 디바이스 또는 장치로서 데이터 저장 디바이스(12) 및 호스트(14)를 포함한다. 데이터 저장 디바이스(12)의 비제한적인 예는 고체 드라이브(SSD)이다. 호스트(14)의 비제한적인 예는 컴퓨터 또는 다른 컴퓨팅 시스템이다.
데이터 저장 디바이스(12)는 메모리 제어기(16) 및 메모리(18)를 포함한다. 메모리(18)는 휘발성 메모리 디바이스, 예로서 플래시 메모리 디바이스와 같은 비휘발성 메모리 디바이스를 포함한다. 메모리(18)는 전통적인 회전하는 자기 저장 디스크를 포함할 수 있다. 호스트(14)는 인터페이스 프로토콜 버스(20)를 통해 데이터 저장 디바이스(12)와 결합되고 인터페이스 프로토콜을 이용하여 메모리 제어기(16)와 통신한다. 인터페이스 프로토콜은, 예컨대, 주변 부품 상호연결-익스프레스(peripheral component interconnect-express; "PCI-E") 프로토콜, 어드밴스드 테크놀러지 어태치먼트(advanced technology attachment; "ATA") 프로토콜, 직렬 ATA (serial ATA; "SATA") 프로토콜, 병렬 ATA(parallel ATA; "PATA") 프로토콜, 또는 직렬 부착(serial attached SCSI: “SAS”) 프로토콜을 포함한다. 하지만, 호스트(14)와 데이터 저장 디바이스(12)간의 인터페이스 프로토콜은 앞서의 예들로 제한되지 않고, 유니버설 직렬 버스(USB) 프로토콜, 멀티미디어 카드(multi-media card; "MMC") 프로토콜, 인핸스드 스몰 디스크 인터페이스(enhanced small disk interface; "ESDI") 프로토콜, 인터그레이티드 드라이브 일렉트로닉스(integrated drive electronics; "IDE") 프로토콜 등과 같은 다른 인터페이스 프로토콜들을 포함할 수 있다. 인터페이스 프로토콜 버스(20)는 호스트(14)와 메모리 제어기(16)간에 데이터와 커맨드(command)를 전하고, 핀, 포트 및 다른 물리적 인터페이스의 형태를 가진다. 데이터 저장 디바이스(12)는, 예컨대, 일반적인 HDD(하드 디스크 드라이브) 폼 팩터(form factor), PCIe PCB 카드 폼 팩터, 플러그 인 모듈(plug-in module)(예컨대, DIMM) 폼팩터 또는 휴대형 메모리 카드(예컨대, 시큐어 디지털(SD) 카드 또는 MMC) 폼 팩터를 포함하는, 임의의 타입의 폼 팩터를 가질 수 있다.
메모리(18)는 예컨대, 적어도 하나의 NAND 플래시 메모리 디바이스를 포함하지만, 이러한 예시적인 구성에 있어서 NAND 플래시 메모리로 제한되지 않는다. 메모리(18)는, 상변화 랜덤 액세스 메모리(phase-change random access memory; "PCRAM"), 자기 저항 RAM(magneto-resistive RAM; "MRAM"), 저항 RAM(resistive RAM; "ReRAM"), 강유전 RAM(ferroelectric RAM; "FeRAM")을 포함할 수 있다. 메모리(18)가 플래시 메모리 디바이스일 경우에, 그것은, 예컨대, 플로팅-게이트(floating-gate) 기술 또는 차지 트랩 플래시(charge trap flash; “CTF”) 기술을 이용하는 NAND 플래시 메모리일 수 있다.
메모리 제어기(16)는 메모리 프로토콜 버스(22)와 결합된다. 메모리 제어기(16)는 메모리 포로토콜을 이용하여 메모리(18)와 커맨드 및 데이터를 통신하기 위한 인터페이스를 포함한다. 데이터 저장 디바이스(2)내의 메모리(18)로서 사용되는 메모리의 특정 타입에 따라서, 특정 타입의 메모리에 고유한 특정 프로토콜이 사용된다. 따라서, 메모리 제어기(16)는, 사용되는 메모리(18)의 타입에 의해 지시되는 특정 프로토콜을 이용하여 메모리(18)와 통신하도록 구성된다. 예를 들어, 이전에 언급된 상이한 타입들의 비휘발성 메모리들의 각각은, 커맨드 동작 코드들이 상이할 수 있고, 제어 신호들의 타입들이 상이할 수 있으며, 데이터 포맷이 상이할 수 있는, 상이한 통신 프로토콜을 가질 수 있다. 요컨대, 상이한 메모리들의 통신 프로토콜들은 서로 비호환적이다. 따라서, 상이한 메모리 제어기들이, 데이터 저장 디바이스(12)내에서 사용되는 상이한 타입들의 메모리(18)와 인터페이싱하도록 요구된다. 따라서, 데이터 저장 디바이스(12)의 제조자들에 대한 비용은, 그들이 특정 타입의 메모리(18)와 통신하도록 각각 구성되는 상이한 메모리 제어기들(16)을 사용해야하므로, 증가한다. 그러므로, 데이터 저장 디바이스들의 제조자들에 대한 위험은, 하나의 특정 타입의 데이터 저장 디바이스(12)가 소비자들에게 인기가 없는 경우에, 증가되거나, 특정 타입의 메모리(18)가 더 이상 제조되지 않는다.
데이터 저장 디바이스용의 메모리 제어기는, 신호를 호스트 디바이스와 그리고 적어도 하나의 메모리 디바이스와 전기저그로 결합하기 위해, 예로서 물리적인 핀과 같은 포트들을 사용한다. USB 메모리 스틱과 SSD와 같은 고체 저장 디바이스용 메모리 제어기는 일반적으로 다수의 채널을 갖고, 각각의 채널은 적어도 하나의 메모리 디바이스에 전기적으로 연결된다.
도 2a는, 특정 메모리 인터페이스 프로토콜의 일 예인, ONFi 메모리 인터페이스 프로토콜용으로 구성된 메모리 제어기(30)의 기능적 핀아웃을 나타낸다. 도 2a의 예에 있어서, 하나의 채널용 포트들이 도시되어 있다. 표 1은 도 2a에 도시된 포트들에 대한 신호 설명을 제공한다.
핀 명칭 타입 설명
CE# 출력 칩 인에이블(Chip Enable): 칩 인에이블 신호는 타겟 NAND 플래시 칩을 선택한다. 칩 인에이블이 하이(high)이고 타겟이 레디(ready) 상태일 때, 타겟은 저전력 스탠바이 상태가 된다. 칩 인에이블이 로우(low)이면, 타겟이 선택된다.
CLE 출력 커맨드 래치 인에이블(Command Latch Enable): 커맨트 래치 인에이블 신호는 타겟 NAND 플래시 칩을 제어하여 커맨드를 DQ[0:7]로부터 그 커맨드 레지스터로 로드한다.
ALE 출력 어드레스 래치 인에이블(Address Latch Enable): 어드레스 래치 인에이블 신호는 타겟 NAND 플래시 칩을 제어하여 어드레스를 DQ[0:7]로부터 그 어드레스 레지스터로 로드한다.
WE# 출력 기입 인에이블(Write Enable)
기입 인에이블 신호는 입력 데이터, 어드레스, 및 커맨드의 래칭을 제어한다. 데이터, 커맨드, 및 어드레스는 WE#의 상승 에지시에 래치된다.
RE 출력 판독 인에이블 참(Read Enable True)
판독 인에이블(참) 신호는 DQ[0:7]상의 데이터 출력을 인에이블한다.
RE# 출력 판독 인에이블 보수(Read Enable Complement)
판독 인에이블 보수 신호는 판독 인에이블 참에 대해 보수적인 신호이다. 상세하게는, CE#가 로우일 때 판독 인에이블 보수가 판독 인에이블 참의 반대 값을 갖는다, 즉, RE가 하이이면 RE#는 로우이고; RE가 로우이면 RE#는 하이이다.
DQ[0:7] 입출력 데이터 입출력(Data Input/Output): DQ[0:7] DQ 포트는, 디바이스로 그리고 디바이스로부터 어드레스, 커맨드, 및 데이터를 전하기 위한 8비트 와이드 양방향 포트이다.
DQS 입출력 DQ 데이터 스트로브 참(DQ Data Strobe True): DQS는 데이터 입력을 위한 동기 기준을 제공하는 데이터 스트로브 신호이다. 데이터 스트로브 신호는 데이터 유효 창(data valid window)를 나타낸다.
DQS# 입출력 DQ 데이터 스트로브 보수(DQ Data Strobe Complement)
데이터 스트로브 보수 신호는, 선택적으로 NV-DDR2 데이터 인터페이스에서 사용되는, 데이터 스트로브 참에 대한 보수적인 신호이다. 상세하게는, CE#가 로우일 때 데이터 스트로브 보수가 데이터 스트로브 참의 반대 값을 갖는다, 즉, DQS가 하이이면 DQS#는 로우이고; DQS가 로우이면 DQS#는 하이이다.
WP# 출력 기입 보호(Write Protect): 의도하지 않은 프로그램(PROGRAM) 및 삭제(ERASE) 동작에 대해 보호한다. 모든 프로그램 및 삭제 동작은 WP#가 로우(LOW)일 때 디스에이블(disable)된다.
R/B# 입력 레디(Ready)/비지(Busy): 레디/비지 신호는 타겟 상태를 나타낸다. 로우일 때, 신호는 하나 이상의 LUN 동작이 진행 중이라는 것을 나타낸다. 본 신호는 오픈 드레인 출력(open drain output)이고 외부 풀-업(pull-up)을 요구한다.
현재 나타낸 예에 있어서, 8 포트들이 8비트 와이드 데이터 신호들에 대해 요구되고, 9 포트들이 ONFi 플래시 메모리 디바이스의 동작을 인에이블하기 위해 요구되는 제어 신호들을 운반하기 위해 요구된다. 따라서, 총 17 포트들이 적어도 하나의 ONFi 플래시 메모리 디바이스에 연결될 채널에 대해 요구된다. 메모리 제어기(30)가 8 채널을 포함하면, 메모리 제어기(30)는 적어도 8×17=136 포트들을 요구한다. 이것은 호스트 시스템과 인터페이싱하기 위해 요구되는 포트들은 제외한다.
도 2b는 선택된 메모리 인터페이스 프로토콜의 일 예인 다른 프로토콜에서 작동하는 다른 타입의 메모리 디바이스용으로 구성된 메모리 제어기(32)의 기능적 핀아웃을 나타낸다. 선택된 메모리 프로토콜의 일 예는 HLNAND 메모리 인터페이스 프로토콜이다. 메모리 디바이스들은 다른 타입의 메모리 인터페이스 프로토콜에서 작동할 수 있다. 도 2b의 예에 있어서, 하나의 채널에 대한 포트들이 도시되어 있다. 표 2는 도 2a에 도시된 포트들에 대한 신호 설명을 제공한다.
핀 명칭 타입 설명
CKI/CKI# 입력 클록: CKI 및 CKI#는 HLNAND디바이스로부터의 클록 입력이다. CKI 및 CKI#는 차동 신호이다. (최종)HLNAND 디바이스로부터 들어오는 모든 커맨드, 어드레스, 판독 데이터는 CKI 및 CKI#의 교차하는 에지들에 양방향에 있어서 참조된다.
CKO/CKO# 출력 클록: CKO 및 CKO#는 차동 클럭 출력들이다. 나가는 모든 커맨드, 어드레스, 데이터는 CKO 및 CKO#의 교차하는 에지들에 참조된다.
CE# 출력 칩 인에이블: CE#가 로우일 때, 디바이스가 인에이블된다. 일단 디바이스가 "비지"가 되면, CE# 핀은, 디바이스가 "레디"가 될 때까지, 로우여야 한다. 추가로, CE# 로우는 내부 클록 신호들을 활성화시키고 CE# 하이는 내부 클록 신호들을 비활성화시킨다.
D[7:0] 입력 데이터 입력: D[7:0]은, DSI가 하이일 때, (최종)HLNAND 디바이스로부터의 판독 데이터를 수신하며, CKI 및 CKI#의 교차하는 에지들에 양방향에 있어서 참조된다.
Q[7:0] 출력 데이터 출력: Q[7:0]은 기입 동작 동안에 DSO와 함께 기입 데이터를 송신하고, CSO와 함께 커맨드 및/또는 어드레스 패킷을 송신한다.
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]을 통하는 기입 데이터 패킷들이 (첫번째) HLNAND 디바이스로 송신되고 CKI 및 CKI#의 교차시에 선택된 디바이스에 의해 래치될 것이다.
현재 나타낸 예에 있어서, 8 포트들이 Q0~Q7 데이터 출력용으로 요구되고, 8 포트들이 D0~D7 데이터 입력용으로 요구되며, 8 포트들이 HLNAND 플래시 메모리 디바이스의 작동을 인에이블하기 위해 요구되는 제어 신호들을 운반하기 위해 요구된다. 따라서, 총 24 포트들이 적어도 하나의 HLNAND 플래시 메모리 디바이스에 연결될 채널에 대해 요구된다. 메모리 제어기(32)가 8 채널을 포함하면, 메모리 제어기(30)는 적어도 8×24=192 포트들을 요구한다. 이것은 호스트 시스템과 인터페이싱하기 위해 요구되는 포트들은 제외한다.
ONFi 및 HLNAND 메모리 인터페이스 프로토콜들의 일정한 신호 명칭들 및 기능들이 서로 유사하게 나타날지라도, 그것들이 사용되는 방식 및 메모리 디바이스들이 메모리 제어기와 상호 연결되는 방식은 서로 매우 상이하다. 이러한 차이는 도 3a 및 도 3b에 예시된다.
도 3a는 ONFi NAND 플래시 디바이스들을 이용하는 일 예의 비휘발성 메모리 시스템을 예시한다. 메모리 시스템은 ONFi 구성 메모리 제어기(40) 및 몇몇의 ONFi 플래시 디바이스들(42, 44 및 46)을 포함한다. 각각의 플래시 메모리 디바이스의 칩 선택(CE#) 신호를 제외한 모든 입력 및 출력 신호들은 공통의 버스 또는 채널에 연결된다. 따라서, ONFi 플래시 디바이스들(42, 44 및 46)은 메모리 제어기(40)와 병렬로 연결되고, 또한 멀티-드롭 구성(multi-drop configuration)으로 또한 칭해진다. 각각의 ONFi NAND 플래시 메모리 디바이스는 CE# 신호를 인에이블하는 것에 의해 선택될 수 있다. 예를 들어, 제1 ONFi 플래시 디바이스(42)는, CE#_1을 어서트(assert)하는 것에 의해(CE#_1 = 로우), 선택되고 액세스될 수 있다. 나머지 ONFi 플래시 디바이스들은, 그것들이 메모리 제어기(40)으로부터의 커맨드 또는 어드레스와 같은 임의의 입력을 무시하도록, CE#_2와 CE#_N을 하이로 유지시키는 것에 의해 선택되지 않는다. 또한, 선택되지 않은 ONFi 플래시 디바이스들의 출력 신호들은 하이 임피던스(즉, Hi-Z) 상태로 설정된다.
각각의 ONFi 플래시 디바이스들(42, 44 및 46)은 채널 제어 모듈을 통한 ONFi 플래시 디바이스와 호스트 제어기 디바이스(도시되지 않음) 사이의 커맨드 및 데이터 전송을 조정하기 위해 동일한 전기 신호들을 사용한다. 현재 나타낸 예에 있어서, 하나의 채널 제어 모듈에 대한 포트들이 도 3A에 나타내어져 있다. 이러한 신호들은, 표 1에 이전에 나타낸 바와 같은, ALE(Address Latch Enable; 어드레스 래치 인에이블), CLE(Command Latch Enable; 커맨드 래치 인에이블), WE#(Write Enable; 기입 인에이블), RE#(Read Enable; 판독 인에이블) 등과 같은 데이터 라인들 및 제어 신호들을 포함한다. 이러한 타입의 인터페이스 프로토콜은 당업계에서는 “ONFi NAND 인터페이스”로 알려져 있다. “NAND 인터페이스 프로토콜”이, 지금까지, 표준화 기구에 의해 정식으로 표준화되지 않았을지라도, NAND 플래시 디바이스들의 제조자들은 NAND 플래시 기본 서브셋(basic subset)을 지원하기 위한 유사한 프로토콜을 모두 따른다. 이것이 이루어짐으로써, 그들의 전자 제품내에 NAND 플래시 메모리 디바이스들을 사용하는 소비자들은, 특정 벤더(vendor)의 디바이스들과 작동하기 위한 그 하드웨어 또는 소프트웨어에 맞추어야 하지 않고 임의의 제조자로부터의 NAND 플래시 메모리 디바이스들을 이용할 수 있다. 일부의 NAND 플래시 메모리 벤더들이, 다른 벤더들에 의해 이용되는 프로토콜과의 호환성을 제공하기 위해 기본 기능성이 제공되는 것을 보장하면서, 기능성의 기본 서브셋을 넘어서는 여분의 기능성을 제공할 수 있다는 것이 주목된다.
도 3b는 HLNAND 플래시 메모리 디바이스들을 이용하는 비휘발성 메모리 시스템의 일 예를 예시한다. 메모리 시스템은, HLNAND 구성 메모리 제어기(60) 및 몇몇의 HLNAND 호환 플래시 디바이스들(62, 64, 66 및 68)을 포함한다. 도 3b를 참조하여 보면, HLNAND 플래시 디바이스들(62, 64, 66 및 68)은 고도로 다중화된 단방향성 포인트 투 포인트(point-to-point) 버스 아키텍쳐를 사용하여 커맨드, 어드레스 및 데이터와 같은 정보를 전송한다. 메모리 디바이스들간의 이러한 커맨드, 어드레스 및 데이터의 각각의 상호 연결은 “링크(Link)”라고 칭해진다. 일 예에 있어서, 하나의 단일 링크는, 2개의 차동 클록 입력 신호들, CKI/CKI#, 클록 출력 신호들, CKO/CKO# 및 선택적인 공통 신호들 CE#(Chip Enable; 칩 인에이블) 및 RST#(Reset; 리셋)과 함께, 6개의 신호들, CSI(= Command Strobe Input; 커맨드 스트로브 입력), CSO(= Command Strobe Output; 커맨드 스트로브 출력), DSI(= Data Strobe Input; 데이터 스트로브 입력), DSO (= Data Strobe Output; 데이터 스트로브 출력), D[0:7] (= Data Input; 데이터 입력), 및 Q[0:7] (= Data Output; 데이터 출력)으로 이루어진다.
다음은, 이러한 제어 신호들 중 일부가 도 3b의 메모리 시스템에서 사용되는 방식의 간략한 논의이다. CKI/CKI#는 입력 클록들이다. CSI에 의해 묘사되는 D[0:7] 포트들상의 커맨드/어드레스 패킷은 CKI의 상승 에지들 또는 CKI#의 하강 에지들에서 래치된다. DSI에 의해 묘사되는 D[0:7]상의 기입 데이터 패킷은 CKI의 상승 에지들 또는 CKI#의 하강 에지들에서 래치된다. DSO에 의해 묘사되는 D[0:7]상의 판독 데이터 패킷은 CKO의 상승 에지들 또는 CKO#의 하강 에지들에서 참조된다. CKO/CKO#는 CKI/CKI#의 지연된 버전인 출력 클록들이다.
CSO, DSO 및 Q[0:7] 신호들은 CKO의 상승 에지들 또는 CKO#의 하강 에지들에서 참조된다. 커맨드 스트로브 입력(= CSI)은 하이이다. D[0:7]를 통하는 커맨드/어드레스 패킷들은 CKI의 상승 에지들 또는 CKI#의 하강 에지들에서 래치된다. 커맨드 스트로브 출력(= CSO)는 CSI의 에코 신호이다. 그것은, CKO의 상승 에지들 또는 CKO#의 하강 에지들에서 참조되는 1 클록 사이클 레이턴시(clock cycle latency)(= tlOL)를 가진 CSI 천이들을 바이패스(bypass)(또는 에코(echo))한다. 1 클록 사이클 레이턴시는 본 명세서에서의 예시직언 실시예 중 하나이지만, 그것은 설계 변화에 따라 임의의 수의 클록 사이클들일 수 있다.
데이터 스트로브 입력(= DSI)가 하이이고, HLNAND 호환 메모리 디바이스가 ‘판독-모드’일 때, 그것은 판독 데이터 출력 경로 및 Q[0:7] 버퍼를 인에이블시킨다. DSI가 로우일 경우에, Q[0:7] 버퍼는 이전에 액세스된 데이터를 홀드한다. DSI가 하이이고 메모리 디바이스가 ‘기입-모드’일 경우에는, 그것은 D[0:7] 버퍼들을 인에이블 시키고 CKI의 상승 에지들 또는 CKI#의 하강 에지들에서의 기입 데이터 패킷을 수신한다.
데이터 스트로브 출력(= DSO)은 DSI의 에코 신호이다. 그것은, CKO의 상승 에지들 또는 CKO#의 하강 에지들에서 참조되는 1 클록 사이클 레이턴시(= tlOL)를 가진 DSI 천이들을 바이패스 또는 에코한다. 1 클록 사이클 레이턴시는 본 명세서에서의 예시직언 실시예 중 하나이지만, 그것은 설계 변화에 따라 임의의 수의 클록 사이클들일 수 있다.
데이터 입력 신호 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)은. 직렬 플로우-쓰루(flow-through) 방식으로 이전의 CKO/CKO# 포트들로부터 그 자신들의 클록 포트들 CKI/CKI#을 통해 차동 클록 버스들을 받아들인다. 메모리 제어기(60)는 각각 그 자신의 포트들 CSO, DSO 및 Q[0:7]을 통해 3개의 상이한 버스들(70, 72 및 74)을 구동한다. 제1 메모리 디바이스(62)는 각각 그 자신의 포트들 CSI, DSI 및 D[0:7]을 통해 3개의 상이한 버스들(70, 72 및 74)을 받아들인다. 그리고, 제1 메모리 디바이스(62)는 1 클록 사이클 레이턴시(= tlOL)로, 그 자신의 출력 포트들 CSO, DSO 및 Q[0:7]을 통해 대응하는 3개의 버스들(76, 78 및 80)을 각각 재구동한다. 이러한 신호 수신 및 연속적인 메모리 디바이스들에 대해 그것들을 재구동하는 패턴은, 최종 메모리 디바이스(68)가 메모리 제어기들의 입력 포트들 CSI, DSI 및 D[0:7]을 통해 메모리 제어기(60)로 되돌려 최종 버스들(82, 84 및 86)을 각각 재구동할 때까지 계속된다. 본 예에 있어서, 메모리 디바이스(68)의 CSO 포트로부터 신호를 재구동할 필요가 없으므로, 메모리제어기(60)의 CSI 입력 포트는 생략될 수 있으며, 최종 버스(84)가 요구되지 않는다.
ONFi 및 HLNAND 메모리 인터페이스 프로토콜들이 서로 충분히 상이하고, ONFi 메모리 인터페이스 프로토콜용으로 구성된 임의의 메모리 제어기가 HLNAND 메모리 디바이스와 더불어 작동하지 않을 것이라는 것이 임의의 당업자에게는 분명할 것이다. 이전에 논의된 ONFi 및 HLNAND 메모리 시스템들은 단지 서로 호환되지 않는 2개의 상이한 타입의 메모리 인터페이스 프로토콜의 예들이다. 이전에 언급된 임의의 메모리 디바이스 타입들은, 각각의 타입이 상이한 메모리 디바이스 타입과 더불어 작동하지 않을 특정 메모리 인터페이스를 요구하므로, 서로 호환될 가망이 매우 없다.
상이한 타입의 가용한 메모리 디바이스의 관점에 있어서, 제조자들은 상이한 타입의 메모리 디바이스들에 기초하여 상이한 데이터 저장 디바이스 디바이스들을 설계할 수 있다.
예를 들어, 데이터 저장 디바이스들에 기초한 전통적인 NAND 플래시 메모리 디바이스는, 전통적인 NAND 플래시 메모리 디바이스들의 유효성 및 저 비용으로 인해 공통적으로 사용될 수 있다. 예컨대, 이것들은 ONFi 타입 플래시 메모리 디바이스들일 수 있다. 불행히도, 도 3a에 도시된 ONFi 타입 플래시 메모리 시스템의 멀티-드롭 구성은 시스템의 전체 속도 및 성능을 저하시키지 않고 메모리 제어기(40)의 하나의 채널에 병렬로 연결될 수 있는 한정된 수의 메모리 디바이스들을 가질 것이다. 이것은 버스에 연결된 각각의 메모리 디바이스의 축적적인 부하 효과들에 기인한다. 따라서, 그러한 데이터 저장 디바이스의 비용이 적으나, 최대 저장 밀도도 또한 상대적으로 낮을 것이다.
다른 한편으로, HLNAND 타입의 메모리 디바이스는 멀티-드롭 구성 메모리 시스템들의 제한을 겪지 않을 것이다. 예로서 도 3b에 도시된 것과 같은, HLNAND 메모리 시스템에 있어서, 임의의 수의 메모리 디바이스들이 메모리 제어기의 하나의 채널과 더불어 서로 직렬로 연결될 수 있다. 따라서, HLNAND 타입의 메모리 디바이스들을 이용하는 데이터 저장 디바이스의 총 저장 밀도가 매우 커질 수 있다.
제조자들이 마주치는 문제는 상이한 타입들의 데이터 저장 디바이스들을 제조하기 위해, 특정 타입의 메모리 디바이스, 또는 특정 메모리 인터페이스 프로토콜으로 구성된 상이한 메모리 제어기들을 구입할 필요이다. 비용 위험을 경감하기 위해서, 2개 이상의 메모리 인터페이스 프로토콜들과 더불어 동작하도록 구성된 메모리 제어기가 가능성이 있고, 선택된 타입의 메모리 디바이스와 연결하기 위해 사용될 수 있는 분리된 포트들이 제공된다. 불행히도, 분리된 세트들의 포트들을 제공하는 것은, 메모리 제어기 패키지에 요구될 포트들의 수로 인하여, 실행할 수 없게 될 것이다. 이미 논의되었던 ONFi 및 HLNAND 메모리 제어기 예들을 예로 든다. 8 채널 ONFi 인터페이스가 ONFi NAND 신호들에 대해서만 총 136 포트들을 요구하고, 8 채널 HLNAND 메모리 제어기가 총 192 포트들을 요구하는 경우에는, 어느 쪽의 인터페이스 프로토콜에서든 작동하도록 구성된 메모리 제어기는 328 포트들을 요구할 것이다. 메모리 제어기 패키지 크기가 포트들의 수에 의해 지배된다는 것을 당업자라면 이해할 것이다. 따라서, 328 포트들을 갖는 패키지는 136 포트들 또는 192 포트들을 갖는 패키지보다 현저히 더 큰 면적일 것이 유망하다.
본 명세서의 일 실시예에 따르면, 채널당 하나의 세트의 포트들을 이용하는 2개의 상이한 메모리 인터페이스 프로토콜 중 적어도 하나에서 작동하도록 구성될 수 있는 메모리 제어기가 제공된다. 채널의 포트들은 적어도 2개의 상이한 기능적 할당들에 매핑되는데, 각각의 기능적 할당은 메모리 인터페이스 프로토콜에 특유한 신호들에 대응한다. 각각의 포트는 메모리 디바이스로의 신호 전도체 라인에 대한 전기적 연결을 위한 패드, 및 적어도 2개의 기능적 할당들의 각각에 대한 버퍼 회로를 포함한다. 각각의 포트의 상이한 버퍼 회로는 사용될 선택된 메모리 인터페이스 프로토콜에 기초하여 선택적으로 인에이블된다.
본 명세서의 일 실시예에 따른 이중 모드 핀아웃 메모리 제어기를 이용하는 고체 저장 디바이스의 블록도가 도 4에 도시된다. 고체 저장 디바이스(100)는 이중 모드 핀아웃 메모리 제어기(102) 및 메모리(104)를 포함한다. 특정 실시예들에 있어서, 메모리(104)는 ONFi 플래시 메모리 디바이스 또는 HLNAND 플래시 메모리 디바이스와 같은 비휘발성 메모리를 포함한다. 본 실시예에 있어서, 임의의 타입의 메모리 디바이스들은 메모리(104)로서 사용될 수 있다. 본 맥락에 있어서, 메모리(104)는 메모리 디바이스들을 포함한다.
제어기(102)는 고체 저장 디바이스(100)의 전체 동작을 제어하고, 호스트와 메모리(104)간에 데이터의 교환을 제어한다. 예를 들어, 제어기(102)는 호스트(도시되지 않음)로부터의 요청에 응답하여 데이터를 기입하도록 또는 데이터를 판독하도록 메모리(104)를 제어한다. 또한, 제어기(102)는, 예컨대, 메모리(104)의 유효 관리를 위해, 또는 비휘발성 메모리의 특성에 대해 필요한, 성능 제어, 머징(merging) 및 웨어 레벨링(wear leveling)과 같은, 내부 동작들을 제어한다. 제어기(102)는, 플래시 트랜슬레이션 층(flash translation layer; “FTL”)(도시되지 않음)이라고 칭해지는, 메모리(104)의 제어 동작들을 위한 펌웨어 및/또는 소프트웨어를 구동한다. 제어기(102)는, 호스트로부터의 요청에 기초하여, 메모리 디바이스(104)에 포함되는 다수의 비휘발성 메모리들 중에 몇몇의 메모리들의 동작을 제어하도록 메모리(104)를 제어할 수 있다. 메모리(104)는 데이터를 저장하기 위한 저장 매체를 제공한다. 메모리(104)는 적어도 비휘발성 메모리 디바이스이고, 데이터는 비휘발성 방식으로 저장된다. 예를 들어, 비휘발성 메모리 디바이스는 작동 시스템(OS), 다양한 프로그램들, 그리고 다양한 멀티미디어 데이터를 저장할 수 있다.
그 주 모드(primary mode)의 동작에 있어서, 이중 모드 핀아웃 메모리 제어기(102)는 호스트와 메모리(104)사이의 데이터의 교환을 제어한다. 이중 모드 핀아웃 메모리 제어기(102)는 호스트 인터페이스 블록(host interface block; "HIB")(106), 중앙 프로세서 유닛(108), 랜덤 액세스 메모리(RAM)(110), 메모리 인터페이스 블록(memory interface block; “MIB”)(112), 판독 전용 메모리(read only memory; “ROM”)(114), 및 에러 정정 코드(error correction code; “ECC”) 엔진(116) - 버스(118)를 통해 상호 연결됨 -을 포함한다. 제어기(102)는 소프트웨어 또는 펌웨어로서 실현되는 FTL을 작동시킬 수 있다. 도시된 RAM(110)은 제어기(102)내에 통합되어 있지만, 대안적인 실시예들에 있어서는, 제어기(102)의 외부에 위치될 수 있다.
호스트 인터페이스 블록(106)은 호스트 인터페이스 포트를 통해 호스트로부터 데이터, 어드레스 정보, 외부 커맨드들, 그리고 다른 신호들을 수신한다. 이것들은 일반적으로 정보로서 칭해진다. 어드레스 정보, 커맨드들 및 임의의 다른 데이터가 아닌 관련 신호들은 간단히 제어 정보로서 칭해질 수 있다. 또한, 호스트 인터페이스 블록(106)은 동일 또는 상이한 호스트 인터페이스 포트들을 통해 호스트에 데이터, 및 상태 정보를 송신한다. 이러한 인터페이스 포트들은 핀들 또는 다른 물리적인 커넥터들을 포함할 수 있다. 호스트로부터 수신된 외부 커맨드들은 메모리 제어기(102)를 제어하는데 사용된다. 고체 저장 디바이스(100)로 호스트에 의해 제공되는 데이터 및 다른 정보는, 고체 저장 디바이스(100)의 기능적 블록들, 예컨대, 데이터용 입구로서의 호스트 인터페이스 블록(106)을 통해 버퍼 RAM(110)으로 입력된다. 또한, 고체 저장 디바이스(100)로부터 호스트로 제공되는 데이터 및 다른 정보는 데이터용 입구로서의 호스트 인터페이스 블록(106)을 통해 제공된다.
중앙 프로세서(108)는 ROM(114) 또는 메모리(104)로부터 프로그램 코드를 판독하고, 판독되는 프로그램 코드에 따라 제어기(102)내에 포함되는 모든 기능적 블록들을 제어한다. 프로그램 코드는 중앙 프로세서(10*의 동작들을 지정한다. 중앙 프로세서(108)는 판독된 프로그램 코드에 기초하여 메모리(104)에 대한 액세스를 제어한다. 하나의 모드의 동작에 있어서, 메모리(104)에 저장된 프로그램 코드는 고체 저장 디바이스(100)가 시동되는 시간에 메모리(104)로부터 판독되어 RAM(110)에 기입된다.
RAM(110)은 프로세서(108)의 작동 메모리로서 사용될 수 있고, 동적 RAM(DRAM), 정적 RAM(SRAM) 등으로서 실현될 수 있다. 또한, RAM(110)은 호스트로부터 수신되는 일시적으로 저장하는 데이터용의 버퍼 메모리로서 기능할 수 있다. 프로세서(108)는 전체 제어 동작들을 실행시켜 메모리(104)에 데이터를 기입하거나 메모리(104)로부터 데이터를 판독한다. 또한, 프로세서(108)는 호스트로부터의 요청들에 기초하여 FTL의 동작들을 제어하거나 그게 아니라면 실행시킬 수 있다.
ECC 블록(116)은 메모리(104)에 기입될 데이터에 부속되는 ECC(Error Correction Code; 에러 정정 코드)를 생성한다. 데이터는 그에 부속하는 ECC와 함께 저장된다. 또한, ECC 블록(116)은 판독 데이터와 관련된 ECC를 기초로 하여 메모리(104)로부터 판독되는 데이터내의 비트 에러를 검출 및 정정한다.
ROM(114)은 호스트와 인터페이싱하기 위한 코드 데이터를 저장한다. ROM(114)에 있어서, 메모리(104)를 제어하기 위해 요구되는 펌웨어가 저장된다. 첨언하면, 시동에 요구되는 최소의 펌웨어만이 ROM(114)에 저장될 수 있고 다른 펌웨어는 메모리(104)에 저장될 수 있다. ROM이 불변의 판독 전용 메모레이기 때문에, 메모리(102)에 다른 펌웨어를 저장하는 것이 펌웨어의 갱신에 도움이 된다. 중앙 프로세서(108), RAM(110), ROM(114), ECC 엔진(116) 및 호스트 또는 MIB(112)로부터 수신되는 정보를 처리하기 위해 요구되는 임의의 다른 회로들이 코어(core) 회로로서 칭해질 수 있다.
메모리 인터페이스 블록(112)은 ROM(114) 또는 메모리(104)로부터 시퀀스 코드(sequence code)를 판독한다. 시퀀스 코드는 메모리 인터페이스 블록(112)에 의해 실행되는 다양한 동작들을 지정한다. 메모리 인터페이스 블록(112)은 판독된 시퀀스 코드에 기초하여 다양한 동작들을 실행한다. 시퀀스 코드는 복수의 코드 세트로 이루어진다. 코드 세트는 복수의 코드들을 포함한다. 각각의 코드 세트는 그에 대응하는 동작들을 지정한다. 시퀀스 코드를 기초로 실행되는 동작들에 있어서, 메모리 인터페이스 블록(112)과 메모리(104)간에는, 데이터, 어드레스 정보, 상태 정보, 내부 커맨드 등이 내부 메모리 버스(120)를 통해 전송된다. 내부 메모리 버스(120)는 제어기(102)의 포트들을 메모리(104)의 대응하는 포트들에 전기적으로 연결하기 위한 신호 전도체 라인들을 포함한다. 내부 메모리 버스(120)는 다수의 채널들에 대응하는 신호들을 운반할 수 있다. 내부 커맨드는 제어기(102)에 대해 메모리(104)를 제어하도록 하기 위한 것이고, 메모리 디바이스(104)는 내부 커맨드에 따라 작동한다. 첨언하면, 동작이 실행되기 전에, 메모리(104)에 저장된 시퀀스 코드가 메모리(104)로부터 판독되고 RAM(110)에 기입된다.
FTL은 데이터 매핑 동작을 실행하기 위한 매핑 테이블(도시되지 않음)을 포함한다. 일반적으로, 매핑 테이블은 RAM(110)에 저장된다. 매핑 테이블에 있어서, 메모리(104)에 각각 매핑될 다수의 로직적 페이지 번호(logical page number; "LPN")들이 기록되어 있다. 메모리(104)가 하나 이상의 NAND 플래시 메모리 디바이스로서 구현되는 예에 있어서, 데이터가 페이지 단위로 기입 또는 판독된다. 따라서, LPN들이 매핑 단위로서 사용될 수 있다.
또한, FTL은 호스트로부터의 요청이 기입 커맨드인지 또는 판독 커맨드인지의 여부에 기초하여 메모리(104)를 제어할 수 있고, 호스트에 의해 제공되는 기입 커맨드 또는 판독 커맨드가 메모리(104)에 의해 실행될 때마다 매핑 테이블을 갱신되도록 관리할 수 있다. 예를 들어, 호스트로부터의 요청이 기입 커맨드일 경우에는, FTL은 데이터를 LPN에 대응하는 메모리(104)의 메모리 디바이스들 중 하나에 기입되도록 제어하고, LPN 및 대응하는 메모리 디바이스를 매핑 테이블에 기입한다. 호스트로부터의 요청이 판독 커맨드인 경우에는, FTL이 매핑 테이블에 기초하여 LPN에 대응하는 비휘발성 메모리들 중 하나로부터 데이터를 판독되도록 제어한다,
앞서 언급된 바와 같이, 메모리(104)는 다수의 비휘발성 메모리들을 포함할 수 있고, 그 각각은 특정 메모리 인터페이스 프로토콜로 동작들을 실행하는 NAND 플래시 메모리 디바이스로서 구현될 수 있다. 본 실시예들에 따르면, 상이한 메모리 인터페이스 프로토콜들을 갖는 상이한 타입들의 메모리 디바이스들은 동일한 이중 핀아웃 메모리 제어기(102)와 더불어 사용될 수 있다. 본 실시예에 있어서, 메모리 인터페이스 블록(112)은 각각의 채널에 대해서, 적어도 하나의 포트가 2 모드들 중 하나로 기능하도록 동적으로 구성될 수 있고, 각각의 모드가 상이한 메모리 인터페이스 프로토콜에 대응하는, 하나의 세트의 포트들을 포함한다.
따라서, 양쪽 타입의 메모리(104)가 버스(120)의 신호 라인들을 통해서 채널의 동일 포트들에 연결될 수 있기 때문에, 2 상이한 타입의 메모리(104)가 임의의 추가적인 포트들에 대해 필요 없이 메모리 인터페이스 블록(112)의 채널에 연결될 수 있다. 그러한 기술이 2개의 메모리 인터페이스 프로토콜 중 하나 사이를 선택하기 위해 유효할지라도, 메모리 인터페이스 블록(112)은 임의의 수의 메모리 인터페이스 프로토콜을 가지도록 구성될 수 있다. 그러한 실시예에 있어서, 레지스터가 퓨즈들 또는 안티 퓨즈(antifuse)들을 블로잉(blowing)하는 것에 의해 전기적으로 프로그램되어 n 모드들의 동작 중 하나를 선택하도록 멀티-비트 코드를 제공한다. 대안적으로, 2개 이상의 포트들이, n 모드들의 동작 중 하나를 선택하도록 멀티-비트 코드를 제공하기 위해서 VDD 또는 VSS에 연결될 수 있다. 이러한 모든 실시예들에 있어서, 각각의 모드의 동작에 대해서 요구되는 버퍼 회로가 메모리 인터페이스 블록(112)의 개개의 포트에 선택적으로 결합될 수 있다. 버스(118)로부터 수신되는 본래의 메모리 제어기 신호들은, 선택된 메모리 인터페이스 프로토콜과 호환될 수 있는 포맷으로 선택된 버퍼 회로에 의해 변환된다. 유사하게, 버스(120)로부터 수신되는 신호들은 본래의 메모리 제어기 신호들로 선택된 버퍼 회로에 의해 변환된다.
포트 버퍼 회로의 세부를 논의하기 전에, 메모리 인터페이스 블록(112)의 구성이 먼저, 도 5 및 도 8을 참조하여 기술된다.
도 5는 도 4에 도시된 이중 핀아웃 메모리 제어기(102)의 메모리 인터페이스 블록(112)의 블록도를 나타내며, 메모리 인터페이스 블록(112)은 적어도 하나의 메모리 디바이스에 연결된다. 메모리 인터페이스 블록(112)은 n 채널 제어 모듈(channel control module; “CCM”)들까지를 포함하며, n은 0보다 큰 임의의 정수이다. 각각의 채널 제어 모듈(200)은 채널과 관련되고 따라서 채널 버스들(204)을 통해 적어도 하나의 메모리 디바이스(202)에 연결된다. 채널 버스들(204)의 집단이 도 4에 도시된 버스들(120)을 형성한다는 것에 주목한다. 유사하게, 모든 메모리 디바이스들(202)이 도 4에 도시된 메모리(104)내에 포함된다. 메모리 인터페이스 블록(12)은 VDD 또는 VSS에 바이어스(bias)될 수 있는 포트를 포함하는 모드 선택기(206)를 더 포함한다. 도 5에 있어서, VDD 또는 VSS에 모드 선택기 포트를 연결하기 위한 옵션이 스위치 수단(208)의 포함에 의해 나타내어져 있다. 모드 선택기(206) 및 그 대응하는 포트는 메모리 인터페이스 블록(112)의 외부에 그리고 이중 모드 핀아웃 메모리 제어기(102)내에 대안적으로 위치될 수 있다. 포트의 연결에 응답하여, 모드 선택기(206)는 각각의 채널 제어 모듈들에 모드 선택 신호를 제공한다.]
본 실시예에 따르면, 각각의 채널 제어 모듈(200)은 하나의 세트의 포트들을 포함하며, 포트들 중 적어도 하나의 포트가 모드 선택 신호에 응답하여 2 상이한 모드들 중 적어도 하나의 모드로 기능하도록 구성될 수 있는 버퍼 회로를 포함한다. 예를 들어, 메모리 디바이스들(202)이 ONFi 타입 플래시 메모리 디바이스라면, 메모리 디바이스들(202) 및 그 채널 제어 모듈의 상호 연결 구성은 도 3a에 도시된 것과 같이 나타날 것이다. 다른 한편으로, 메모리 디바이스들(202)이 HLNAND 타입 플래시 메모리 디바이스라면, 메모리 디바이스들(202)의 상호 연결 구성 및 그 채널 제어 모듈은 도 3b에 도시된 바와 같이 나타날 것이다. 본 실시예에 따르면, 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)이고, 각각의 메모리 디바이스는 단일의 패키지화된 메모리 디바이스일 수 있다. 각각의 메모리 디바이스들은 하나만 도 6에 표시되어 있는 다수의 ONFi 비휘발성 NAND 플래시 메모리 칩들(230)을 포함한다. 각각의 ONFi NAND 플래시 메모리 칩(230)은, 채널 제어 모듈로부터 정보를 수신하기 위해, 또는 채널 제어 모듈에 정보를 제공하기 위해 그 관련된 채널과 양방향 통신을 한다. 메모리 디바이스의 메모리 칩들(230)은 채널과 병렬로 연결된다. 메모리 인터페이스 블록(220)의 각각의 채널 제어 모듈(222-1 내지 222-N)은 비휘발성 메모리(226)를 제어하기 위한 목적으로 비휘발성 메모리(226)의 개개의 채널(ONFi CH-1 내지 ONFi CH-N)에 대해서, 특히, 개별적인 메모리 디바이스들(228-1 내지 228-N)에 대해서 전용이다. 예컨대, 일반적으로 펌웨어 및/또는 소프트웨어인 플래시 트랜슬레이션 층(FTL)은, 호스트로부터의 요청들에 기초하여, 채널들(ONFi CH-1 내지 ONFi CH-N)에 연결된 다양한 ONFi NAND 플래시 메모리 칩들(230)을 활성화하거나 비활성화하도록 비휘발성 메모리(226)를 제어하기 위해서, 채널들(ONFi CH-1 내지 ONFi CH-N)에 대응하는 채널 제어 모듈들(222-1 내지 222-N)의 동작들을 제어한다. 메모리 칩의 활성화는, 선택된 메모리 칩에 있어서의 다양한 타입의 메모리 동작들을 시작시키는 것을 포함할 수 있다.
HDD 대체로 SATA 또는 PCIe 기반 고체 드라이브(SSD)들 과 같은 고체 저장 시스템들로 구현되는 대다수의 비휘발성 플래시 메모리 디바이스들에 대한 신호 세기를 향상시키기 위해 그리고 저장 용량을 증대시키기 위해서, 대안적인 타입의 플래시 메모리가 사용될 수 있다. 일예의 대안적인 타입의 플래시 메모리는 이전에 기술된 HLNAND 플래시 메모리이다. HLNAND 플래시 메모리는. 예로서 도 3b에 도시된 바와 같이, 일반적으로 메모리 제어기와 링 토폴로지(ring topology)로 배열되는 포인트 투 포인트(point-to-point) 직렬 연결 기술을 이용하는 진보된 그리고 고성능의 동기식 비휘발성 플래시 메모리 디바이스이다.
도 7은 본 실시예에 따라, 도 6의 메모리 시스템과 동일한 이중 핀아웃 메모리 제어기를 갖는 직렬 포인트 투 포인트 아키텍쳐 메모리 시스템의 블록도이다. 보다 상세하게, 도 7은 HLNAND 플래시 메모리를 이용하는 직렬 포인트 투 포인트 아키텍쳐로 구성되는 도 4의 고체 저장 디바이스(100)의 일예의 구성을 나타낸다. 메모리 인터페이스 블록(220)은 동일 채널 제어 모듈들(222-1 내지 222-N)을 갖는다. 도 6의 실시예들에 대한 도 7의 실시예의 차이는 HLNAND 플래시 메모리 디바이스들로 구성되는 비휘발성 메모리(250)이라는 것이다. 도 7에 도시된 바와 같이, 비휘발성 메모리(250)는, 하나만이 표시된, 복수의 HLNAND 메모리 칩들(254)로 이루어지는 패키지화된 디바이스를 각각이 포함할 수 있는, HLNAND 플래시 메모리 디바이스들(252-1 내지 252-N)을 포함한다. 예로서 메모리 디바이스(252-1)와 같은, 모든 HLNAND 메모리 칩들(254)은 양방향의 포인트 투 포인트 연결들을 통해 서로 직렬로 연결된다. 이러한 포인트 투 포인트 연결들은 일 예로 다음 디바이스의 입력 핀들에 연결되는 디바이스의 출력 핀들을 갖는 것에 의해 형성되며, 단방향 버스의 형태를 취할 수 있다. 따라서, 이러한 직렬 상호 연결은, 채널 제어 모듈(222-1)과 같은 호스트와의 링 토폴로지 구성 또는 데이지-체인 캐스케이드 연결(daisy-chain cascade connection)로서도 칭해질 수 있다.
따라서, 도 6의 실시예에 대한 다른 차이는, 채널 제어 모듈들(222-1 내지 222-N)이, HL CH-1 내지 HL CH-N로서도 칭해지는, 개개의 HLNAND 채널들(256-1 내지 256-N)에 각각 연결된다는 것이다. 각각의 HLNAND 채널들은 입력 서브-채널(258-1) 및 출력 서브 채널(260-1)을 포함한다. 예로서 채널 제어 모듈(222-1)을 참조하여 보면, 입력 서브-채널(258-1)은, 채널 제어 모듈(222-1)의 출력 단자들로부터, 메모리 디바이스(252-1)의 직렬 연결된 메모리 칩들의 제1 HLNAND 메모리 칩(254)에 데이터 및 제어 정보를 제공하기 위한 연결들의 세트이다. 출력 서브-채널(260-1)은, 채널 제어 모듈(222-1)의 입력 단자들로, 메모리 디바이스(252-1)의 직렬 연결된 메모리 칩들의 최종 HLNAND 메모리 칩(254)으로부터의 데이터 및 제어 정보를 제공하기 위한 연결들의 세트이다.
따라서, 본 시스템에 있어서의 채널 제어 모듈들(222-1 내지 222-N)은 메모리 디바이스의 첫번째 HLNAND 메모리 칩과 최종 HLNAND 메모리 칩과 인터페이스하는 것만을 필요로 한다. 결과적으로, 멀티-드롭 연결을 이용하는 시스템내의 칩들간에 물리적인 거리 차이에 의해 유발되는 클록 스큐(clock skew) 및 데이터 스큐 문제가 없다. 또한, 메모리 칩들과 대응하는 채널 제어 모듈간의 포인트 투 포인트 연결들의 사용으로 인해서, 일반적으로 멀티-드롭 버스 아키텍쳐에서 사용되는 버스 터미네이션(bus termination)이 요구되지 않는다. 결과적으로, 멀티-드롭 버스를 이용하는 플래시 메모리 시스템에 비해서 저전력 소비가 실현된다.
각각의 메모리 디바이스의 메모리 칩들과 관련되는 하나의 채널 제어 모듈이 있으므로, FTL은, 도 1의 호스트(14)와 같은, 호스트 디바이스로부터의 요청들에 기초하여, 채널들(HL CH-1 내지 HL CH-N)에 대응하는 다양한 HLNAND 플래시 메모리 칩들(254)을 활성화하거나 비활성화하도록 비휘발성 메모리(250)를 제어하기 위해서, 채널 제어 모듈들(222-1 내지 222-N)의 동작들을 제어할 수 있다. 메모리 칩의 활성화는 선택된 메모리 칩에 있어서의 다양한 타입의 메모리 동작들을 시작시키는 것을 포함할 수 있다.
도 6 및 도 7의 이전에 나타낸 실시예들은 본 명세서에 따른 동일 이중 핀아웃 메모리 제어기를 이용하는 메모리 시스템들 예시한다. 비휘발성 메모리(226 및 250)용으로 사용되는 ONFi 및 HLNAND 메모리 타입들은 단지, 본 명세서의 이중 핀아웃 메모리 제어기가 그와 사용될 수 있는 2개의 상이한 타입의 메모리들의 예들이다. 이중 핀아웃 메모리 제어기의 상이한 실시예들은 상이한 입출력 인터페이스들을 갖는 미래의 메모리들 및 현재 알려진 메모리들의 조합들과 인터페이스하도록 구성될 수 있다.
도 8은 도 5에 도시된 채널 제어 모듈들(200) 중 하나의 블록도이다. 본 특정 실시예에 있어서, 채널 제어 모듈(200)은 2개의 메모리 인터페이스 프로토콜들 중 하나와 동직하도록 구성될 수 있다. 예시의 목적을 위해, 사용되는 2개의 메모리 인터페이스 프로토콜들은 ONFi 및 HLNAND 메모리 인터페이스 프로토콜들이다.
현재 나타낸 실시예에 있어서, 채널 제어 모듈(200)은, ECC 인코더(300), ECC 디코더(302), 커맨드 프로세서(304), 어드레스 프로세서(306), 채널 제어 로직(308), 데이터 스크램블러(310), 데이터 디스크램블러(312), 암호화 프로세서(314), EDC 프로세서(316), 및 이중 메모리 인터페이스 모듈(318)을 포함한다. 이중 메모리 인터페이스 모듈(318)은 (도시되지 않은) 메모리 디바이스에 전기적으로 결합하기 위한 포트들의 세트를 포함한다. 상기한 구성 요소들 중 일부의 기능은 도 4의 블록도를 더 참조하여 기술된다.
일반적으로, 채널 제어 모듈(200)을 통해 메모리 디바이스내로 프로그램되는 데이터는, 메모리 디바이스의 메모리 셀 어레이내의 주 데이터와 더불어 저장되고 그것에 부속되는 에러 검출 또는 에러 교정 코드를 갖는다.
채널 제어 모듈(200)은 이러한 기능을 위해 ECC 인코더(300)를 이용한다. 그러한 데이터가 메모리 디바이스로부터 도 4의 RAM(110)으로 판독될 때, ECC 디코더(302)는 데이터로부터 ECC 코드를 재생성하고 그것을 메모리 디바이스내로 프로그램될 때 데이터에 부속되었던 ECC 코드와 비교한다. 데이터가 기입되었던 데이터와 동일하다면, ECC 회로들은 데이터 에러가 존재하지 않는다는 표시를 한다. 판독 데이터에 일부의 차이가 검출되고, 차이가 교정하기에 ECC의 능력내에서 충분히 작다면, (일반적으로 RAM(110)에 포함되어 있는) 판독 데이터가 “교정되고” 또는 수정되어 그것을 프로세서(108)에 의해 제어되는 바대로 ECC 교정 엔진(116)에 의해 원래의 값으로 저장한다. 데이터 에러들이 ECC 교정 능력을 초과하면, “교정 불가능” 판독 에러가 발생한다. 일반적으로 교정 불가능 판독 에러는, 판독시에, 호스트 인터페이스로 되돌려 보내지는 에러 상태를 초래할 것이다.
호스트가, 프로세서(108)가 호스트 인터페이스 블록(106)으로부터 커맨드를 판독한 것에 응답하여, 호스트 인터페이스 블록(106)을 통해 프로세서(108)로 요청을 송신하고, 커맨드에 기초하여, 채널 제어 모듈(200)내의 데이터 경로를 설정하고, 커맨드 프로세서(304)의 채널 제어 모듈의 커맨드 레지스터내에 커맨드를 저장한다.
프로세서(108)는 또한 호스트 인터페이스 블록(106)으로부터의 어드레스를 내부의 NAND 어드레스로 변환하고 그것을 채널 제어 모듈의 어드레스 프로세서(306)에 저장한다. 논리 대 물리 어드레스 변환이 실행될 경우에, 프로세서(108)는 매핑 테이블을 이용하여 정확한 물리적 어드레스를 생성할 수 있다. 프로세서(108)는 또한 하나 이상의 후술되는 추가적인 기능들을 실행할 수 있다. 프로세서(108)는 그러면 RAM(110)을부터 채널 제어 모듈(200)로 데이터 전송을 설정한다. 메모리 인터페이스 블록(112)이 도 5에 도시된 바와 같은 다수의 채널 제어 모듈들을 포함할 수 있다는 것이 주목된다.
채널 제어 모듈(200)이 어드레스 프로세서(306)로부터 값을 취하고 그것을 ONFi 메모리 인터페이스 프로토콜 포맷 또는 HLNAND 메모리 인터페이스 프로토콜 포맷에 따라 포맷한다. RAM(110)에 저장된 데이터는 암호화를 위해 암호화 프로세서(314)에 송신되고 그 다음으로 데이터 스크램블러(310)를 통해 송신된다. 데이터 스크램블러(310)는 데이터를 스크램블하여, 데이터와 더불어 저장된 ECC 패리티 비트(parity bit)들을 생성하는 ECC 인코더(300)에 스크램블된 데이터를 출력한다. 데이터 및 ECC 패리티 비트들이 그 다음으로, 이중 메모리 인터페이스 모듈(318) 포트들을 통해서, ONFi 메모리 인터페이스 프로토콜 포맷 또는 HLNAND 메모리 인터페이스 프로토콜 포맷으로, 저장을 위해 메모리 디바이스들에 페이지 프로그램 또는 기입 커맨드와 더불어 전송된다.
채널 제어 모듈(200)은, EDC 인코더 및 EDC 디코더를 포함하는 EDC 프로세서(316)를 더 포함한다. EDC 프로세서(316)는 HLNAND 또는 ONFi 메모리 인터페이스 프로토콜들에 대해 에러 검출 코딩 알고리즘(Error Detection Coding algorithm)을 실행한다. 채널 제어 로직(308)은 일반적으로, 프로세싱된 정보 및 데이터를 하나의 기능적 블록으로부터 다른 기능적 블록으로 그리고, 이중 메모리 인터페이스 모듈(318) 및 버스를 루팅(routing)할 책임이 있다.
요컨대, 채널 제어 모듈(200)의 이전에 기술된 기능적 블록들은 메모리 디바이스들에 기입될 데이터에, 그리고 사용되는 메모리 인터페이스 프로토콜과는 독립된 메모리 디바이스로부터 판독되는 데이터에 데이터 프로세싱 동작들을 실행한다. 채널 제어 로직(308)이 또한, 예로서 제어 신호들 CLE, ALE, CSO 및 DSO과 같은 이중 메모리 인터페이스 모듈(318)을 통해 제어 신호들을 구동할 시간을 결정할 수 있음으로써, 그 어서트들이 특정 메모리 동작들과 그리고 적합한 시퀀스와 조화될 것이다. 따라서, 채널 제어 로직(308)은 HLNAND 및 ONFi의 양쪽에 대해 특정한 알고리즘들을 실행하도록 구성된다.
이중 메모리 인터페이스 모듈(318)은 단일 세트의 포트들에서 수신되는 데이터 및 다른 정보를 캡쳐하고 2개의 메모리 인터페이스 프로토콜 포맷들 중 어느 하나로부터의 수신 정보 및 데이터를 본래의 메모리 제어기 포맷으로 변환할 책임이 있다. 역으로, 이중 메모리 인터페이스 모듈(318)은 2개의 메모리 인터페이스 프로토콜 포맷들 중 어느 하나로 커맨드, 어드레스 및 기입 데이터를 제공하기 위한 책임이 있다. 단일 세트의 포트들만이 사용될 수 있으므로, 적어도 하나의 포트가 2개의 상이한 기능들에 할당된다. 2개의 상이한 메모리 인터페이스 프로토콜들 사이에서, 하나의 신호만이 기능적으로 상이할 수 있다. 다른 한편으로, 2개의 상이한 메모리 인터페이스 프로토콜들간의 모든 신호가 기능적으로 상이할 수 있다.
도 9는, 각 포트에 대해서 다수의 기능적 할당들을 가진, 도 8의 이중 메모리 인터페이스 모듈(318)의 블록도이다. 본 실시예에 따르면, 양쪽 메모리 인터페이스 프로토콜들의 특정 카테고리들의 신호들이 가능한 어느 곳에서든 동일 포트로 매핑된다. 신호들의 카테고리들은 출력 신호들, 입력 신호들, 및 양방향 신호들을 포함한다. 각각의 카테고리의 신호들에 대해서, 양쪽 메모리 인터페이스 프로토콜들의 유사한 타입들의 신호들이 가능한 어느 곳에서든 동일 포트로 매핑된다. 신호들의 타입들은, 제어, 상태, 데이터, 및 클록 신호들을 포함한다. 각각의 카테고리의 신호들은 패드에 연결되는 대응하는 타입의 버퍼 회로를 갖는다. 도 9의 실시예에 있어서, 이중 메모리 인터페이스 모듈(318)은, ONFi 및 HLNAND 메모리 인터페이스 프로토콜과 같은, 2개의 상이한 메모리 인터페이스 프로토콜들용으로 구성된 포트 버퍼 회로들을 갖는다.
도 9의 이중 메모리 인터페이스 모듈(318)은 각 패드에 대해서 포트 버퍼 회로를 포함하며, 패드는 접합 와이어의 일단으로의 전기적인 연결을 위한 반도체 기판의 금속화된 영역이다. 접합 와이어의 타단은 반도체 기판을 캡슐화하는 패키지의 물리적 핀에 연결된다. 이중 메모리 인터페이스 모듈(318)은 참조 번호들 400, 402, 404 및 406에 의해 표시되는 다수의 포트 버퍼 회로들을 포함한다. 포트 버퍼 회로(400)는, 본 실시예가 모드 선택기 회로인 입력 버퍼 회로이다. 도 9의 표에 도시된 바와 같이, 포트 버퍼 회로(400)의 패드의 VDD(로직 1) 또는 VSS(로직 0)로의 연결은, 다른 포트 버퍼 회로들(402, 404 및 406)이 2개의 메모리 인터페이스 프로토콜들 중 어느 것으로 구성될 것인지를 선택한다. 포트 버퍼 회로들(402 및 406)은 양방향 포트 버퍼 회로인데, 그것은 그것들이 각각 신호를 출력하고 신호를 수신하기 위한 구동기 및 수신기 회로를 포함한다는 것을 의미한다. 포트 버퍼 회로들(402 및 406)은, 그것들이 각각 수신하는 신호들의 타입들로 인해서, 서로 상이하게 구성된다. 포트 버퍼 회로들(404)은 단방향 포트 버퍼 회로들이고, 특히, 신호를 출력하기 위한 구동기 회로만을 포함한다.
이중 메모리 인터페이스 모듈(318)의 우측은, 각각의 포트 버퍼 회로용 신호 할당등을 목록화한 표이다. 가장 왼쪽의 칼럼은 각각의 포트 버퍼 회로용 ONFi 메모리 인터페이스 프로토콜 신호들을 목록화하고, 가장 오른쪽의 칼럼은 동일 포트 버퍼 회로들에 대한 HLNAND 메모리 인터페이스 프로토콜 신호들을 목록화한다. 본 예는 포트 버퍼 회로들에 대한 하나의 가능성 있는 이중 핀아웃 매핑을 예시한다. 도 9의 표에 도시된 바와 같이, 2개의 메모리 인터페이스 프로토콜들로부터 CKI 및 DQS와 같은 클록 신호들은 동일 포트 버퍼 회로(402)에 매핑되고, CLE 및 CSO와 같은 제어 신호들은 동일 포트 버퍼 회로(404)로 매핑된다. ONFi 메모리 인터페이스 프로토콜은 데이터 신호들 DQ[0] 내지 DQ[7]을 제공하고 수신하기 위한 8개의 양방향 포트 버퍼 회로들을 사용하고, HLNAND 메모리 인터페이스 프로토콜은 입력 데이터 D[0] 내지 D[7]를 수신하기 위한 8개의 포트들과 출력 데이터 Q[0] 내지 Q[7]을 구동하기 위한 8개의 포트들을 요구한다. 따라서, HLNAND 메모리 인터페이스 프로토콜의 16 데이터 신호들의 ONFi 메모리 인터페이스 프로토콜의 8 데이터 신호들로의 직접적인 매핑은 없다. 하지만, ONFi 메모리 인터페이스 프로토콜은, HLNAND 메모리 인터페이스 프로토콜에서는 요구되지 않는, 채널의 개개의 ONFi 메모리 디바이스들을 인에이블시키기 위한 개별적인 칩 인에이블 신호들 CE[0] 내지 CE[7]을 요구한다. 따라서, ONFi 메모리 인터페이스 프로토콜용의 칩 인에이블 포트들은 HLNAND 메모리 인터페이스 프로토콜의 출력 데이터에 대해 구성된다. 도 9의 이중 메모리 인터페이스 모듈(318)은 다수의 신호들이 동일 포트에 할당될 수 있는 방식의 예들을 예시하도록 의도되었고, 따라서 ONFi 및 HLNAND 메모리 인터페이스 프로토콜들에 대한 모든 포트들 및 신호들이 도시되지 않을 수 있다.
포트 버퍼 회로들(400, 402, 404 및 406)의 실시예들은 도 10, 11, 12 및 13의 회로도에 도시되어 있다.
도 10은 본 명세서의 일 실시예에 따른, 도 9에 도시된 모든 선택 회로(400)의 회로도이다. 나중에 보다 상세하게 설명될 바와 같이, 다른 포트 버퍼 회로들은, 모드 선택 회로(400)가 설정되는 방식에 따라, 2개의 상이한 모드들 중 하나로 동작하도록 구성된다.
도 10의 실시예에 있어서, 패드(500)는, 금 와이어 접합과 같은 연결들이 이루어질 수 있는, 반도체 칩 또는 기판의 표면상의 금속화된 영역이다. 본 예에 있어서, 패드(500)는 전력 공급 VDD 또는 그라운드(ground) VSS 중 하나로 와이어 접합된다. 예로서 입력 버퍼 회로와 같은 입력 수신기 회로(502)는 패드(500)의 VDD 또는 VSS를 검출하여 내부 하이 로직 레벨 또는 내부 로우 로직 레벨로 내부의 선택 신호 SEL을 구동한다. 본 예에 있어서, SEL이 로직 로우 레벨(0)일 때, 이중 모드 핀아웃 메모리 제어기(102)는 ONFi 메모리 인터페이스 프로토콜과 같은 제1 메모리 인터페이스 프로토콜로 동작하도록 설정된다. SEL이 로직 하이 레빌(1)일 때, 이중 모드 핀아웃 메모리 제어기(102)는 HLNAND 메모리 인터페이스 프로토콜과 같은 제2 메모리 인터페이스 프로토콜로 동작하도록 설정된다. 보다 상세하게는, 이중 모드 핀아웃 메모리 제어기의 각각의 다른 포트 버퍼 회로들이 그것에 매핑되는 2개의 신호들 중 하나를 수신 또는 제공하도록 구성된다.
이전에 언급된 바와 같이, 2개 이상의 패드들이 2 이상의 상이한 메모리 인터페이스 프로토콜 모드들 사이를 선택하기 위해 사용될 수 있고, 각각의 패드는 개개의 입력 버퍼 회로에 연결되며 출력들이 각각의 포트 버퍼 회로의 특정 로직 회로를 인에이블시키도록 디코드될 수 있다.
도 11은 본 명세서의 일 실시예에 따른, 도 9에 도시된 양방향 포트 버퍼 회로(402)의 회로도이다. 패드(51)는 ONFi 메모리 디바이스의 DQS 핀 또는 HLNAND 준수 메모리 디바이스의 CKI 핀에 전기적으로 결합될 수 있다. 버퍼 회로는 수신 경로 및 출력 경로를 포함한다. 수신 경로는, HLNAND 메모리 인터페이스 프로토콜과 같이, 하나의 메모리 인터페이스 프로토콜로부터 신호를 수신하기 위해 구성되는 제1 로직 블록(516), 디멀티플렉서(demultiplexer)(514)와 같은 선택기, 및 입력 버퍼와 같은 수신기(512)를 포함한다. 제1 로직 블록(516)은 특히 디멀티플렉서(514)를 통해 패드(510)로부터 CKI 신호를 수신하도록 구성되며, HLNAND 메모리 인터페이스 프로토콜의 요구들에 따라 신호를 처리하도록, 그리고 채널 제어 모듈(200)의 특정 회로 블록들에 임의의 요구되는 신호들을 제공하도록 구성될 수 있다. 특히, HLNAND 로직 블록(516)은 버퍼링된 클록 신호를 채널 제어 모듈로 제공하며, 딜레이 록드 루프(delay locked loop; “DLL”) 또는 페이즈 록드 루프(phase locked loop; “PLL”)를 포함할 수 있다. 디멀티플렉서(514)에 의해 수신되는 신호는 패드(510)에서 수신되는 DQS 또는 CKI 신호들에 대응될 수 있는 “in”으로서 칭해진다. 디멀티플렉서(514)는 신호 “in”을 “0” 및 “1”로 명칭이 붙여진 2개의 출력 중 하나로 패스하도록 선택 신호 SEL에 의해 제어된다. 본 예에 있어서, “in”은, SEL이 HLNAND 메모리 인터페이스 프로토콜 모드를 선택하는 것에 대응하는 로직 레벨일 때, “1” 출력으로 패스된다. 역으로, “1”은, SEL이 ONFi 메모리 인터페이스 프로토콜 모드에 대응하는 로직 레벨일 때, “0” 출력으로 패스된다.
도 11의 예에 있어서, SEL이 ONFi 메모리 인터페이스 메모리 프로토콜 모드에 대해서는 로우 로직 레벨이고, HLNAND 메모리 인터페이스 프로토콜 모드에 대해서 하이 로직 레벨이다. HLNAND 메모리 인터페이스 프로토콜 모드에 있어서, 디멀티플렉서(514)는 클록 신호 CLK_를 로직 블록(516)으로 제공하며, ONFi 메모리 인터페이스 프로토콜 모드에 있어서, 디멀티플렉서(514)는 데이터 클록 신호 DQS_를 제2 로직 블록(518)으로 제공한다.
출력 경로는, 출력 데이터 클록 신호 DQS_out 및 수신된 입력 데이터 클록 신호 DQS_in의 양쪽을 제어하는 제2 로직 블록(518)을 포함한다. 특히, 제2 로직 블록(518)은 이중 메모리 인터페이스 모듈(318)로부터 DQS_in을 수신하고, ONFi 메모리 인터페이스 프로토콜의 요구에 따라, 입력 데이터 동기화를 제공하도록 신호를 처리하며, 채널 제어 모듈(200)의 특정 회로 블록들로 임의의 요구되는 신호들을 제공한다. 유사하게, 제2 로직 블록(518)은 이중 메모리 인터페이스 모듈(318)과 같은 채널 제어 모듈(200)의 다른 회로들로부터 신호들을 수신하여, 출력 데이터 동기화를 위해 출력 데이터 클록 신호 DQS_out를 생성한다. DQS_out 신호는 출력 구동기(520)에 의해 패드(510)로 구동된다. 출력 구동기(520)는 선택 신호 SEL에 의해 인에이블 또는 디스에이블된다. 디멀티플렉서(514)에 대해 이전에 논의된 바와 같이, 로우 로직 레벨의 SEL은 ONFi 메모리 인터페이스 프로토콜 모드에 대응한다. 따라서, 이러한 동작 모드에 있어서, 출력 구동기(520)가 DQS_out 신호를 증폭하고 패드(510)를 구동하기 위해 턴온되거나, 인에이블된다. 다른 동작 모드에 있어서, 즉, SEL이 HLNAND 메모리 인터페이스 프로토콜 모드에 대응하는 하이 로직 레벨일 경우에, 수신된 CKI 신호를 패드(510)로부터 디멀티플렉서(514)를 통해 로직 블록(516)으로 제공하기 위해, 리시버(512)를 턴온된채로 두면서, 출력 구동기(520)가 디스에이블되거나 턴오프된다. 그러면, 버퍼링된 클록 신호는 이중 메모리 인터페이스 모듈(318)로 제공된다.
SEL이 로우 로직 레벨일 경우에, 출력 구동기(520) 및 수신기(512)의 양쪽이 인에이블됨으로써, 임의의 출력 DQS 신호가 패드(510)상으로 구동될 수 있고, 임의의 수신된 입력 DQS 신호가 수신기(512) 및 디멀티플렉서(514)를 통해 로직 블록(518)에 의해 수신될 수 있다.
도 11의 실시예에 있어서, 포트 버퍼 회로(402)는 앙?항의 DQS 신호 또는 수신된 CKI 신호용으로 구성된다. 하지만, 유사한 포트 버퍼 회로가 도 9에 402로 명칭이 붙여진 다른 포트 버퍼 회로들에 대해서 채용될 수 있다. 도 9의 실시예에 도시된 바와 같이, 각각의 ONFi 신호는 양방향 신호이고, 각각의 양방향 ONFi 신호에 대해서 매핑되는 HLNAND 신호가 입력 신호이다. 따라서, 도 11의 동일 회로 블록들은 다른 포트 버퍼 회로들(402)에 대해서 사용될 것이고, 도 11에 도시된 로직 블록들(516 및 518)은 그것들에 매핑되는 그 특정 신호들을 처리하기 위해 구성될 것이다.
도 12는 본 명세서의 일 실시예에 따른 도 9에 도시된 출력 포트 버퍼 회로(404)의 회로도이다. 출력 포트 버퍼 회로(404)는, 제1 메모리 인터페이스 프로토콜에 대응하는 신호를 처리하도록 구성되는 제1 로직 블록(530), 제2 메모리 인터페이스 프로토콜에 대응하는 신호를 처리하도록 구성되는 제2 로직 블록(532), 멀티플렉서(534)와 같은 선택기, 출력 구동기(536), 및 패드(538)를 포함한다. 현재 나타낸 예에 있어서, 제1 로직 블록(530)은 ONFi 로직 블록이고 제2 로직 블록(532)은 HLNAND 로직 블록이다. ONFi 로직 블록(530)은 멀티플렉서(534)의 “0” 입력에 의해 수신되는 채널 제어 모듈(200)의 다른 회로 블록들에 응답하여, 판독 인에이블 신호 RE_out를 제공하기 위해 이중 인터페이스 메모리 모듈(318)로부터 정보를 수신한다. 보다 상세하게, ONFi 로직 블록(530)은, RE_out 신호를 생성하도록, 프로토콜의 요구에 따라 수신된 신호들을 처리하도록 구성된다. HLNAND 로직 블록(532)은 멀티플렉서(534)의 “1” 입력에 의해 수신되는 이중 인터페이스 메모리 모듈(318)로부터 수신되는 정보에 응답하여 출력 클록 신호 CKO_out를 제공한다. 보다 상세하게, HLNAND 로직 블록(532)은 CKO_out 신호를 생성하도록, 프로토콜의 요구에 따라 수신되는 신호들을 처리하도록 구성된다.
멀티플렉서(534)는 선택 신호 SEL에 응답하여 신호 “out”으로서 RE_out 및 CKO_out 중 하나를 패스한다. 본 예에 있어서, 하이 로직 레벨의 SEL은 HLNAND 메모리 인터페이스 프로토콜 모드에 대응하며, 그에 의해 CKO_out을 출력 구동기(536)에 패스한다. 다른 한편으로, 로우 로직 레벨의 SEL은 ONFi 메모리 인터페이스 프로토콜 모드에 대응하고, 그에 의해 RE_out을 출력 구동기(536)에 패스한다. 출력 구동기(536)가 그 다음으로 그 수신되는 신호를 증폭하여 패드(538)상으로 구동시킨다. RE 및 CKO의 양쪽 신호들이 ONFi 및 HLNAND 메모리 인터페이스 프로토콜들에 대한 출력 신호들이라는 것에 주목한다. 따라서, 도 12의 실시예는, 포트 버퍼 회로가 2개의 상이한 출력 신호들을 제공하도록 구성되는 방식을 나타내는 일 예이다.
도 13은 본 명세서의 일 실시예에 따른, 도 9에 도시된 대안적인 양방향 포트 버퍼 회로(406)의 회로도이다. 양방향 포트 버퍼 회로(406)는 수신 경로 및 출력 경로를 포함한다. 출력 경로는 제1 로직 블록(550), 신호를 증폭하여 패드(554)상으로 구동하기 위한 출력 구동기(552)를 포함한다. 수신 경로는, 패드(554)에서 수신되는 신호를 프리-컨디셔닝(pre-conditioning)하기 위한 수신기(556), 및 제2 로직 블록(558)을 포함한다. 본 예에 있어서, 제1 로직 블록은 채널 제어 모듈(200)의 다른 회로 블록들에 응답하여 기입 인에이블 신호 WE_out를 제공하는 ONFi 로직 블록이고, 제2 로직 블록은, 채널 제어 모듈(200)의 다른 회로 블록들에 제공되는 데이터 스트로브 입력 신호 DSI_in을 수신하는 HLNAND 로직 블록이다. 특히, 로직 블록(550)은, WE_out 신호를 생성하기 위해, 선택된 프로토콜의 요구에 따라 채널 제어 모듈(200)의 다른 회로 블록들로부터 수신되는 신호들을 처리하도록 구성된다. 유사하게, 로직 블록(558)은 선택된 프로토콜의 요구에 따라 DSI_in 신호를 처리하도록, 그리고 임의의 요구되는 신호들을 채널 제어 모듈(200)의 특정 회로 블록으로 제공하도록 구성된다.
현재 나타낸 양방향 포트 버퍼 회로는, 패드가 제1 메모리 인터페이스 프로토콜 모드로 출력 신호를 제공하고, 제2 메모리 인터페이스 프로토콜 모드로 입력 신호를 수신하는, 일 예의 구성을 예시한다. 예를 들어, 선택 신호 SEL가 로우 로직 레벨일 때, 출력 구동기(552)가 인에이블되고 수신기(556)가 디스에이블된다. 역으로, SEL이 하이 로직 레벨일 때, 출력 구동기(552)가 디스에이블되고 수신기(556)가 인에이블된다. 따라서, 수신 경로와 출력 경로 중 하나만이 선택 신호 SEL의 상태에 따라 활성화된다.
도 13의 실시예가 선택 신호 SEL에 의해 인에이블되거나 디스에이블되는 출력 구동기(520) 및 입력 버퍼(512)를 나타낸다는 것에 주목한다. 도 11의 실시예가 SEL에 의해 인에이블되거나 디스에이블되는 바로 그 출력 구동기(520)를 대안적인 실시예에 있어서 나타내며, 입력 버퍼(512)는 SEL에 의해 인에이블되거나 디스에이블될 수 있다.
도 14는 본 명세서의 일 실시예에 다른 이중 모드 입력 인터페이스 회로의 회로도이다. 본 특정 회로 실시에는, 2개의 상이한 메모리 인터페이스 프로토콜들에 대한 입력 신호들이 동일 포트에 매핑될 때 사용될 수 있다.
도 1에 도시된 바와 같이, 이중 입력 포트 버퍼 회로(570)는, 패드(572), 패드(572)에 연결되는 수신기(574), 디멀티플렉서(576)과 같은 선택기, 제1 메모리 인터페이스 프로토콜에 대응하는 신호를 처리하도록 구성되는 제1 로직 블록(578), 및 제2 메모리 인터페이스 프로토콜에 대응하는 신호를 처리하도록 구성되는 제2 로직 블록(580)을 포함한다. 현재 나타낸 실시예에 있어서, 임의의 메모리 프로토콜에 고유한 신호들은 나타내어져 있지 않다. 따라서, 패드(572)는, 각각이 상이한 메모리 인터페이스 프로토콜에 대응하는, 제2 입력 또는 제1 입력을 수신하도록 전기적으로 결합될 수 있다. 수신기(574)는 패드(572)에서 수신되는 신호를 버퍼링하고, 신호를 “in”으로서 디멀티플렉서(576)의 입력에 패스한다. 디멀티플렉서(576)는 선택 신호 SEL의 상태에 응답하여 “in”을 그 “0” 또는 “1”로 패스한다. 이전에 언급된 바와 같이, SEL은 사용되고 있는 선택된 메모리 인터페이스 프로토콜을 표시하도록 하이 또는 로우 로직 레벨로 설정된다. 로직 블록들(578 및 580)은 선택된 프로토콜의 요구에 다라 신호들을 처리하도록, 그리고 채널 제어 모듈(200)의 특정 회로 블록들로 임의의 요구되는 신호들을 제공하도록 구성된다.
도 9의 이전에 나타낸 실시예, 및 도 10 내지 도 14의 포트 버퍼 회로 실시예들은 이중 모드 핀아웃 메모리 제어기 실시예용 하나의 가능성 있는 이중 핀아웃 매핑 배열의 예들을 나타낸다. 신호들이 매핑되는 포트가 매핑되는 신호들을 수신하거나 제공하도록 구성된다는 것을 조건으로, 다른 이중 핀아웃 매핑들이 가능하다. 이전에 나타낸 포트 버퍼 회로 실시예들은, 단일 포트에 대한 입력, 출력 및 양방향 신호들의 조합들을 매핑하기 위해 사용될 수 있다. 임의의 경우에 있어서, 포트 버퍼 회로들에서 수신되는 신호들이 채널 제어 모듈(200)에 의해 수신 및 처리되고, 버스(118)을 통해 메모리 제어기(102)의 다른 회로 블록들로 패스된다. 궁극적으로, 데이터가 호스트 인터페이스(106)를 통해 호스트에 제공된다. 유사하게, 호스트 인터페이스(106)에서 수신되는 임의의 데이터 및 커맨드들은 버스(118)를 통해 메모리 제어기의 회로 블록들에 의해 처리되고, 궁극적으로, 메모리 디바이스들을 시그널링하기 위해 필요한 프로토콜 순응들을 실행하는, 메모리 인터페이스(112)의 목표화된 채널 제어 모듈로 제공된다.
이전에 논의된 실시예들은 2개의 메모리 인터페이스 프로토콜들의 신호들이 메모리 제어기의 단일 세트의 포트들에 매핑될 수 있는 방식을 예시한다. 대안적인 실시예들에 있어서, 각각의 포트 버퍼 회로는 2개 이상의 상이한 타입들의 신호들을 수신하도록 구성될 수 있다. 예를 들어, 도시된 2-1 멀티플렉서들 또는 1-2 디멀티플렉서들이 3-1 멀티플렉서들 또는 1-3 디멀티플렉서들로 대체될 수 있고, 추가적인 로직 블록이 제3 신호를 출력하기 위해, 도는 수신된 제3 신호를 처리하기 위해 포함될 수 있다. 도 10 내지 도 14의 포트 버퍼 회로 실시예들을 이해하는 당업자는 각각의 포트에 2개 이상의 매핑된 신호들을 순응시키도록 회로들을 스케일링하는 방식을 이해할 것이다.
이중 모드 핀아웃 메모리 제어기 실시예들은, SSD 드라이브들 및 다른 휴대형 메모리 저장 디바이스들을 포함하는 고체 메모리 시스템들과 같은 임의의 메모리 시스템들에서 사용될 수 있다. 이중 모드 핀아웃 메모리 제어기 실시예들은 또한, 예로서 휴대 전화, 랩톱 컴퓨터 및 태블릿을 포함하는 휴대형 전자 디바이스들과 같이, 비휘발성 메모리를 사용하는 시스템들과 통합될 수 있다.
상기 실시예들에 있어서, 간략화를 위해서, 도면들에 디바이스 요소들 및 회로들이 서로 연결된 것으로 도시되었다. 본 명세서의 실제적인 응용에 있어서는, 요소들, 회로들 등이 서로 직접 연결될 수 있다. 물론, 요소들, 회로들 등이 장치 및 디바이스들의 동작을 위해 필요한, 다른 요소들, 회로들 등을 통해서 서로 간접 연결될 수 있다. 따라서, 실제적인 구성에 있어서는, 회로 요소들 및 회로들이 서로 직접 또는 간접 결합 또는 연결된다.
이전의 설명에 있어서, 설명의 목적을 위해, 많은 세부들이, 실시예들의 충분한 이해를 제공하도록 언급되었다. 하지만, 이러한 특정 세부들이 요구되지 않는 다는 것이 당업자에게 명백할 것이다. 다른 경우에 있어서, 주지의 전기적 구조 및 회로가 이해를 흐리지 않도록 하기 위해 블록도로서 나타내어진다.
상기한 실시예들은 예시로서만 의도되었다. 대안들, 변형들 및 변화들이 첨부된 청구범위에 의해서만 규정되는 권리 범위로부터 벗어나지 않고 당업자에 의해 특정 실시예들로 유효해질 수 있다.

Claims (21)

  1. 적어도, 제1 메모리 인터페이스 프로토콜로 통신하기에 적합한 제1 신호 또는 상기 제1 메모리 인터페이스 프로토콜과는 상이한 제2 메모리 인터페이스 프로토콜로 통신하기에 적합한 제2 신호를 버퍼링하도록 구성된 회로를 포함하는 적어도 하나의 메모리 인터페이스 포트를 갖는 메모리 인터페이스; 및,
    호스트 디바이스와 상기 메모리 인터페이스 사이에 정보를 통신하기 위한 호스트 인터페이스 포트들을 갖는 호스트 인터페이스를 포함하는, 이중 인터페이스 메모리 제어기.
  2. 청구항 1에 있어서,
    인가되는 전압 레벨에 응답하여 제1 신호 경로 또는 제2 신호 경로를 인에이블(enable)하기 위한 모드 선택기 회로(mode selector circuitry)를 더 포함하는, 이중 인터페이스 메모리 제어기.
  3. 청구항 2에 있어서,
    인가되는 전압 레벨을 받기 위해 상기 모드 선택기 회로에 전기적으로 결합되는 패드(pad)를 더 포함하는, 이중 인터페이스 메모리 제어기.
  4. 청구항 2에 있어서,
    상기 회로는 제1 신호를 버퍼링하도록 구성되는 제1 신호 경로, 및 제2 신호를 버퍼링하도록 구성되는 제2 신호 경로를 포함하는, 이중 인터페이스 메모리 제어기.
  5. 청구항 4에 있어서,
    상기 적어도 하나의 메모리 인터페이스 포트는 단일 패드를 포함하는, 이중 인터페이스 메모리 제어기.
  6. 청구항 5에 있어서,
    상기 제1 신호 경로는 단일 패드로부터 상기 제1 메모리 인터페이스 프로토콜에 대응하는 입력 신호를 수신하도록 구성되는 입력 회로를 포함하는, 이중 인터페이스 메모리 제어기.
  7. 청구항 6에 있어서,
    입력 회로는 제1 입력 회로이고, 상기 제2 신호 경로는 단일 패드로부터 상기 제2 메모리 인터페이스 프로토콜에 대응하는 다른 입력 신호를 수신하도록 구성되는 제2 입력 회로를 포함하는, 이중 인터페이스 메모리 제어기.
  8. 청구항 7에 있어서,
    상기 모드 선택기 회로에 의해 제공되는 제1 로직(logic) 상태와 제2 로직 상태 중 하나의 상태를 갖는 선택 신호에 응답하여 상기 제1 입력 회로 또는 상기 제2 입력 회로 중 하나의 입력 회로에 단일 패드를 선택적으로 결합하기 위한 선택기 회로를 더 포함하는, 이중 인터페이스 메모리 제어기.
  9. 청구항 6에 있어서,
    상기 제2 신호 경로는 상기 제2 메모리 인터페이스 프로토콜에 대응하는 출력 신호를 단일 패드에 제공하도록 구성되는 출력 회로를 포함하는, 이중 인터페이스 메모리 제어기.
  10. 청구항 8에 있어서,
    상기 회로는, 상기 제1 메모리 인터페이스 프로토콜에 대응하는 제3 신호를 버퍼링하도록 구성되는 제3 신호 경로를 포함하는, 이중 인터페이스 메모리 제어기.
  11. 청구항 10에 있어서,
    상기 제3 신호 경로는 단일 패드에 메모리 인터페이스 프로토콜에 대응하는 출력 신호를 제공하도록 구성되는 출력 회로를 포함하는, 이중 인터페이스 메모리 제어기.
  12. 청구항 11에 있어서,
    상기 적어도 하나의 메모리 인터페이스 포트는, 출력 신호로 단일 패드를 구동하기 위해 제1 로직 상태의 선택 신호에 의해 인에이블 되는 출력 구동기를 포함하고, 선택기 회로는, 선택 신호가 제1 로직 상태일 때, 단일 패드를 제2 입력 회로에 결합하는, 이중 인터페이스 메모리 제어기.
  13. 청구항 5에 있어서,
    상기 제1 신호 경로는 단일 패드에 상기 제1 메모리 인터페이스 프로토콜에 대응하는 출력 신호를 제공하도록 구성되는 출력 회로를 포함하는, 이중 인터페이스 메모리 제어기.
  14. 청구항 13에 있어서,
    상기 출력 회로는 제1 출력 회로이고, 상기 제2 신호 경로는 단일 패드에 상기 제2 메모리 인터페이스 프로토콜에 대응하는 다른 출력 신호를 제공하도록 구성되는 제2 출력 회로를 포함하는, 이중 인터페이스 메모리 제어기.
  15. 청구항 14에 있어서,
    상기 모드 선택기 회로에 의해 제공되는 제1 로직 상태와 제2 로직 상태 중 하나의 상태를 갖는 선택 신호에 응답하여 제1 출력 회로 또는 제2 출력 회로 중 하나의 출력 회로에 단일 패드를 선택적으로 결합하기 위한 선택기 회로를 더 포함하는, 이중 인터페이스 메모리 제어기.
  16. 청구항 1에 있어서,
    상기 제1 메모리 인터페이스 프로토콜은 ONFi 메모리 인터페이스 프로토콜이고 상기 제2 메모리 인터페이스 프로토콜은 HLNAND 메모리 인터페이스 프로토콜인, 이중 인터페이스 메모리 제어기.
  17. 호스트 디바이스로부터의 요청들에 응답하여 제1 메모리 인터페이스 프로토콜 핀아웃(pinout)과 제2 메모리 인터페이스 프로토콜 핀아웃 중 하나에 대응하는 신호들을 버퍼링하기 위한 회로로 구성되는 적어도 하나의 입출력 포트를 갖는 채널 제어 모듈을 포함하는 메모리 제어기; 및,
    적어도 하나의 입출력 포트를 통해 상기 채널 제어 모듈과 통신하는 제1 메모리 인터페이스 프로토콜 핀아웃 또는 제2 메모리 인터페이스 프로토콜 핀아웃을 갖는 적어도 하나의 메모리를 포함하는, 비휘발성 메모리 시스템.
  18. 청구항 17에 있어서,
    적어도 하나의 입출력 포트를 적어도 하나의 메모리 디바이스에 전기적으로 연결하기 위한 채널을 더 포함하는, 비휘발성 메모리 시스템.
  19. 청구항 18에 있어서,
    상기 적어도 하나의 메모리는 상기 채널에 병렬로 연결되는 적어도 2개의 메모리 칩을 포함하는, 비휘발성 메모리 시스템.
  20. 청구항 18에 있어서,
    상기 적어도 하나의 메모리는 상기 채널 제어 모듈과 링 토폴로지 구성(ring topology configuration)으로 직렬로 연결된 적어도 2개의 메모리 칩을 포함하는, 비휘발성 메모리 시스템.
  21. 청구항 17에 있어서,
    상기 제1 메모리 인터페이스 프로토콜 핀아웃은 ONFi 메모리 인터페이스 핀아웃에 대응하고, 상기 제2 메모리 인터페이스 프로토콜 핀아웃은 HLNAND 메모리 인터페이스 핀아웃에 대응하는, 비휘발성 메모리 시스템.
KR1020147036998A 2012-09-19 2013-09-18 이중 모드 핀아웃을 가진 플래시 메모리 제어기 KR102113359B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261702846P 2012-09-19 2012-09-19
US61/702,846 2012-09-19
US201261713008P 2012-10-12 2012-10-12
US61/713,008 2012-10-12
US13/835,968 US9471484B2 (en) 2012-09-19 2013-03-15 Flash memory controller having dual mode pin-out
US13/835,968 2013-03-15
PCT/CA2013/000782 WO2014043788A1 (en) 2012-09-19 2013-09-18 Flash memory controller having dual mode pin-out

Publications (2)

Publication Number Publication Date
KR20150070049A true KR20150070049A (ko) 2015-06-24
KR102113359B1 KR102113359B1 (ko) 2020-05-21

Family

ID=50275695

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147036998A KR102113359B1 (ko) 2012-09-19 2013-09-18 이중 모드 핀아웃을 가진 플래시 메모리 제어기

Country Status (6)

Country Link
US (1) US9471484B2 (ko)
JP (1) JP6386460B2 (ko)
KR (1) KR102113359B1 (ko)
CN (1) CN104704563B (ko)
TW (1) TWI595488B (ko)
WO (1) WO2014043788A1 (ko)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
IL210169A0 (en) 2010-12-22 2011-03-31 Yehuda Binder System and method for routing-based internet security
WO2013048493A1 (en) * 2011-09-30 2013-04-04 Intel Corporation Memory channel that supports near memory and far memory access
US9728526B2 (en) 2013-05-29 2017-08-08 Sandisk Technologies Llc Packaging of high performance system topology for NAND memory systems
US9324389B2 (en) * 2013-05-29 2016-04-26 Sandisk Technologies Inc. High performance system topology for NAND memory systems
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US20150161038A1 (en) * 2013-12-10 2015-06-11 Conversant Intellectual Property Management Inc. System and Method of Operation for High Capacity Solid-State Drive
US20150261446A1 (en) * 2014-03-12 2015-09-17 Futurewei Technologies, Inc. Ddr4-onfi ssd 1-to-n bus adaptation and expansion controller
US10691838B2 (en) * 2014-06-20 2020-06-23 Cypress Semiconductor Corporation Encryption for XIP and MMIO external memories
US10121013B2 (en) 2015-05-07 2018-11-06 Samsung Electronics Co., Ltd. XOR-based scrambler/descrambler for SSD communication protocols
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
KR102417182B1 (ko) * 2015-06-22 2022-07-05 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US10241937B2 (en) 2015-07-08 2019-03-26 International Business Machines Corporation Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus
US10423545B2 (en) * 2015-07-08 2019-09-24 International Business Machines Corporation Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus
US10114788B2 (en) 2015-07-08 2018-10-30 International Business Machines Corporation Adjusting an optimization parameter to customize a signal eye for a target chip on a shared bus
KR20170046862A (ko) * 2015-10-21 2017-05-04 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10621119B2 (en) * 2016-03-03 2020-04-14 Samsung Electronics Co., Ltd. Asynchronous communication protocol compatible with synchronous DDR protocol
US10310547B2 (en) * 2016-03-05 2019-06-04 Intel Corporation Techniques to mirror a command/address or interpret command/address logic at a memory device
CN105788636A (zh) * 2016-04-05 2016-07-20 山东华芯半导体有限公司 一种基于并行多通道结构的eMMC控制器
US10824348B2 (en) * 2016-08-02 2020-11-03 Samsung Electronics Co., Ltd. Method of executing conditional data scrubbing inside a smart storage device
JP2018032141A (ja) * 2016-08-23 2018-03-01 東芝メモリ株式会社 半導体装置
KR102669694B1 (ko) * 2016-09-28 2024-05-28 삼성전자주식회사 서로 직렬로 연결된 스토리지 장치들 중 애플리케이션 프로세서에 직접 연결되지 않는 스토리지 장치를 리셋시키는 전자 기기 및 그것의 동작 방법
JP2018073438A (ja) * 2016-10-24 2018-05-10 東芝メモリ株式会社 半導体記憶装置
KR20180095765A (ko) * 2017-02-17 2018-08-28 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
TWI690806B (zh) * 2017-05-22 2020-04-11 義隆電子股份有限公司 串列周邊介面之資料傳送裝置與資料接收裝置
JP2019053444A (ja) 2017-09-13 2019-04-04 東芝メモリ株式会社 半導体集積回路及び半導体装置
CN118051268A (zh) * 2017-09-27 2024-05-17 北京忆芯科技有限公司 电子设备及其启动方法
KR102535243B1 (ko) * 2017-12-18 2023-05-23 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US10521378B2 (en) * 2018-03-09 2019-12-31 Samsung Electronics Co., Ltd. Adaptive interface storage device with multiple storage protocols including NVME and NVME over fabrics storage devices
KR20190118428A (ko) * 2018-04-10 2019-10-18 에스케이하이닉스 주식회사 컨트롤러 및 이를 포함하는 메모리 시스템
US10877678B2 (en) * 2018-05-17 2020-12-29 Micron Technology, Inc. Selection component that is configured based on an architecture associated with memory devices
KR102605637B1 (ko) 2018-07-27 2023-11-24 에스케이하이닉스 주식회사 반도체 장치 및 데이터 처리 시스템
WO2020076718A1 (en) * 2018-10-12 2020-04-16 Rambus Inc. Command buffer chip with dual configurations
US10901734B2 (en) * 2019-03-01 2021-01-26 Micron Technology, Inc. Memory mapping using commands to transfer data and/or perform logic operations
US10978117B2 (en) 2019-03-26 2021-04-13 Micron Technology, Inc. Centralized placement of command and address swapping in memory devices
US10811057B1 (en) 2019-03-26 2020-10-20 Micron Technology, Inc. Centralized placement of command and address in memory devices
US10811059B1 (en) 2019-03-27 2020-10-20 Micron Technology, Inc. Routing for power signals including a redistribution layer
US11031335B2 (en) 2019-04-03 2021-06-08 Micron Technology, Inc. Semiconductor devices including redistribution layers
CN112069085B (zh) * 2019-06-10 2023-06-02 苏州库瀚信息科技有限公司 双模式闪存控制器和双模式存储器通信的系统、方法
US11416422B2 (en) * 2019-09-17 2022-08-16 Micron Technology, Inc. Memory chip having an integrated data mover
US11417372B2 (en) * 2020-03-06 2022-08-16 Micron Technology, Inc. Interface protocol configuration for memory
JP2021149814A (ja) * 2020-03-23 2021-09-27 キオクシア株式会社 半導体記憶装置及び制御方法
CN111383154A (zh) * 2020-04-02 2020-07-07 广东金宇恒软件科技有限公司 一种数据接口及便于管理的公共财政预算管理一体化平台系统
CN111883037A (zh) * 2020-07-28 2020-11-03 重庆惠科金渝光电科技有限公司 时序控制板、驱动装置和显示装置
CN111833797A (zh) * 2020-07-28 2020-10-27 重庆惠科金渝光电科技有限公司 时序控制板、驱动装置和显示装置
TWI816046B (zh) * 2020-08-19 2023-09-21 創惟科技股份有限公司 記憶體儲存裝置的讀寫控制系統及方法
CN112912864B (zh) * 2021-02-03 2023-10-31 长江存储科技有限责任公司 用于对闪存模块直接访问的方法和系统
US11567699B2 (en) * 2021-02-04 2023-01-31 Silicon Motion, Inc. Memory controller having a plurality of control modules and associated server
JP2023035640A (ja) 2021-09-01 2023-03-13 キオクシア株式会社 メモリシステム
US11841764B2 (en) * 2021-12-17 2023-12-12 Infineon Technologies LLC Circuit and method for reading ECC from memory
EP4276639A1 (en) * 2022-05-09 2023-11-15 Samsung Electronics Co., Ltd. Computing system including memory device and storage device and operating method thereof
CN115904254B (zh) * 2023-01-09 2023-06-02 苏州浪潮智能科技有限公司 一种硬盘控制系统、方法及相关组件
CN117632035B (zh) * 2023-12-13 2024-06-04 中国电子投资控股有限公司 一种数据存储方法、系统、存储介质及计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950014904B1 (ko) * 1991-01-11 1995-12-16 가부시키가이샤 도시바 반도체 집적회로
JPH10320267A (ja) * 1997-05-16 1998-12-04 Canon Inc メモリ制御装置及び方法
KR20110084177A (ko) * 2008-10-14 2011-07-21 모사이드 테크놀로지스 인코퍼레이티드 이산 메모리 장치를 시스템에 연결하는 브리징 장치를 갖는 복합 메모리

Family Cites Families (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6825698B2 (en) 2001-08-29 2004-11-30 Altera Corporation Programmable high speed I/O interface
US4914574A (en) 1984-08-16 1990-04-03 Mitsubishi Denki Kabushiki Kaisha Data transmission apparatus having cascaded data processing modules for daisy chain data transfer
US4723120A (en) 1986-01-14 1988-02-02 International Business Machines Corporation Method and apparatus for constructing and operating multipoint communication networks utilizing point-to point hardware and interfaces
US8027194B2 (en) 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US5357621A (en) 1990-09-04 1994-10-18 Hewlett-Packard Company Serial architecture for memory module control
US5430859A (en) 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
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
US6072804A (en) 1995-05-24 2000-06-06 Thomson Consumer Electronics, Inc. Ring bus data transfer system
US5546023A (en) 1995-06-26 1996-08-13 Intel Corporation Daisy chained clock distribution scheme
US5742840A (en) 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
JPH09297707A (ja) * 1996-05-08 1997-11-18 Canon Inc 記憶装置の駆動方法とその装置
JPH10154101A (ja) 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
US5929655A (en) 1997-03-25 1999-07-27 Adaptec, Inc. Dual-purpose I/O circuit in a combined LINK/PHY integrated circuit
US6253292B1 (en) 1997-08-22 2001-06-26 Seong Tae Jhang Distributed shared memory multiprocessor system based on a unidirectional ring bus using a snooping scheme
US6144576A (en) 1998-08-19 2000-11-07 Intel Corporation Method and apparatus for implementing a serial memory architecture
US6901457B1 (en) * 1998-11-04 2005-05-31 Sandisk Corporation Multiple mode communications system
US6271679B1 (en) 1999-03-24 2001-08-07 Altera Corporation I/O cell configuration for multiple I/O standards
US6381223B1 (en) 1999-06-11 2002-04-30 Trw Inc. Ring-bus technology
US7318117B2 (en) 2004-02-26 2008-01-08 Super Talent Electronics, Inc. Managing flash memory including recycling obsolete sectors
JP2001067303A (ja) * 1999-08-24 2001-03-16 Toshiba Corp カード利用装置及び同装置におけるカード利用方法
US7017002B2 (en) 2000-01-05 2006-03-21 Rambus, Inc. System featuring a master device, a buffer device and a plurality of integrated circuit memory devices
US6535043B2 (en) 2000-05-26 2003-03-18 Lattice Semiconductor Corp Clock signal selection system, method of generating a clock signal and programmable clock manager including same
US6728798B1 (en) 2000-07-28 2004-04-27 Micron Technology, Inc. Synchronous flash memory with status burst output
US6625687B1 (en) 2000-09-18 2003-09-23 Intel Corporation Memory module employing a junction circuit for point-to-point connection isolation, voltage translation, data synchronization, and multiplexing/demultiplexing
US6658509B1 (en) 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
US6373289B1 (en) 2000-12-26 2002-04-16 Intel Corporation Data and strobe repeater having a frequency control unit to re-time the data and reject delay variation in the strobe
EP1225597A1 (en) 2001-01-15 2002-07-24 STMicroelectronics S.r.l. Synchronous-reading nonvolatile memory
US6877079B2 (en) 2001-03-06 2005-04-05 Samsung Electronics Co., Ltd. Memory system having point-to-point bus configuration
US7421030B2 (en) * 2001-05-08 2008-09-02 Siemens Aktiengesellschaft Method and device for transferring data in a multi-carrier system having parallel concatenated encoding and modulation
US7280549B2 (en) 2001-07-09 2007-10-09 Micron Technology, Inc. High speed ring/bus
US6625081B2 (en) 2001-08-13 2003-09-23 Micron Technology, Inc. Synchronous flash memory with virtual segment architecture
JP3799251B2 (ja) 2001-08-24 2006-07-19 エルピーダメモリ株式会社 メモリデバイス及びメモリシステム
JP3813849B2 (ja) * 2001-09-14 2006-08-23 株式会社東芝 カード装置
WO2004010315A1 (ja) 2002-07-22 2004-01-29 Renesas Technology Corp. 半導体集積回路装置、データ処理システム及びメモリシステム
US7373561B2 (en) 2002-10-29 2008-05-13 Broadcom Corporation Integrated packet bit error rate tester for 10G SERDES
US8149862B1 (en) * 2002-11-15 2012-04-03 Netlogic Microsystems, Inc. Multi-protocol communication circuit
US7093076B2 (en) 2002-12-12 2006-08-15 Samsung Electronics, Co., Ltd. Memory system having two-way ring topology and memory device and memory module for ring-topology memory system
US7308524B2 (en) 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
WO2004092904A2 (en) 2003-04-10 2004-10-28 Silicon Pipe, Inc. Memory system having a multiplexed high-speed channel
US7031221B2 (en) 2003-12-30 2006-04-18 Intel Corporation Fixed phase clock and strobe signals in daisy chained chips
US7723995B2 (en) * 2004-02-27 2010-05-25 Infineon Technologies Ag Test switching circuit for a high speed data interface
US7475174B2 (en) * 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
TWI271659B (en) * 2004-05-05 2007-01-21 Prolific Technology Inc Memory card equipped with a multi-interface function and method for choosing a compatible transmission mode
US7221613B2 (en) 2004-05-26 2007-05-22 Freescale Semiconductor, Inc. Memory with serial input/output terminals for address and data and method therefor
US7539800B2 (en) 2004-07-30 2009-05-26 International Business Machines Corporation System, method and storage medium for providing segment level sparing
US8375146B2 (en) 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
KR100579053B1 (ko) 2004-08-26 2006-05-12 삼성전자주식회사 스마트 카드와 메모리 카드간의 멀티 인터페이스 방법 및멀티 인터페이스 카드
US7515174B1 (en) 2004-12-06 2009-04-07 Dreamworks Animation L.L.C. Multi-user video conferencing with perspective correct eye-to-eye contact
KR100621631B1 (ko) 2005-01-11 2006-09-13 삼성전자주식회사 반도체 디스크 제어 장치
US7138823B2 (en) 2005-01-20 2006-11-21 Micron Technology, Inc. Apparatus and method for independent control of on-die termination for output buffers of a memory device
US7757037B2 (en) 2005-02-16 2010-07-13 Kingston Technology Corporation Configurable flash memory controller and method of use
US7371676B2 (en) 2005-04-08 2008-05-13 Micron Technology, Inc. Method for fabricating semiconductor components with through wire interconnects
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US20070005831A1 (en) 2005-06-30 2007-01-04 Peter Gregorius Semiconductor memory system
KR101055324B1 (ko) 2005-08-03 2011-08-08 쌘디스크 코포레이션 강화된 호스트 인터페이스
TWI283074B (en) 2005-08-17 2007-06-21 Au Optronics Corp TFD LCD panel
KR100762259B1 (ko) 2005-09-12 2007-10-01 삼성전자주식회사 버스트 읽기 레이턴시 기능을 갖는 낸드 플래시 메모리장치
US7966446B2 (en) 2005-09-12 2011-06-21 Samsung Electronics Co., Ltd. Memory system and method having point-to-point link
US8291295B2 (en) 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US7631245B2 (en) 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US20070165457A1 (en) 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system
KR101293365B1 (ko) 2005-09-30 2013-08-05 모사이드 테크놀로지스 인코퍼레이티드 출력 제어 메모리
US20070076502A1 (en) 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US7747833B2 (en) 2005-09-30 2010-06-29 Mosaid Technologies Incorporated Independent link and bank selection
KR100660546B1 (ko) 2005-11-10 2006-12-22 삼성전자주식회사 반도체 디스크 제어 장치
EP1833006B1 (en) * 2006-03-10 2014-01-08 LG Electronics Inc. Method and apparatus for protocol selection on ICC
US8335868B2 (en) 2006-03-28 2012-12-18 Mosaid Technologies Incorporated Apparatus and method for establishing device identifiers for serially interconnected devices
US8069328B2 (en) 2006-03-28 2011-11-29 Mosaid Technologies Incorporated Daisy chain cascade configuration recognition technique
US8364861B2 (en) 2006-03-28 2013-01-29 Mosaid Technologies Incorporated Asynchronous ID generation
US7551492B2 (en) 2006-03-29 2009-06-23 Mosaid Technologies, Inc. Non-volatile semiconductor memory with page erase
US20070245061A1 (en) 2006-04-13 2007-10-18 Intel Corporation Multiplexing a parallel bus interface and a flash memory interface
US7366028B2 (en) 2006-04-24 2008-04-29 Sandisk Corporation Method of high-performance flash memory data transfer
US7904639B2 (en) 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US7752364B2 (en) 2006-12-06 2010-07-06 Mosaid Technologies Incorporated Apparatus and method for communicating with semiconductor devices of a serial interconnection
US7925854B2 (en) 2006-12-06 2011-04-12 Mosaid Technologies Incorporated System and method of operating memory devices of mixed type
US8010709B2 (en) 2006-12-06 2011-08-30 Mosaid Technologies Incorporated Apparatus and method for producing device identifiers for serially interconnected devices of mixed type
US7529149B2 (en) 2006-12-12 2009-05-05 Mosaid Technologies Incorporated Memory system and method with serial and parallel modes
US7554855B2 (en) 2006-12-20 2009-06-30 Mosaid Technologies Incorporated Hybrid solid-state memory system having volatile and non-volatile memory
US7650459B2 (en) 2006-12-21 2010-01-19 Intel Corporation High speed interface for non-volatile memory
CN101617371B (zh) 2007-02-16 2014-03-26 莫塞德技术公司 具有多个外部电源的非易失性半导体存储器
US8086785B2 (en) 2007-02-22 2011-12-27 Mosaid Technologies Incorporated System and method of page buffer operation for memory devices
WO2008101316A1 (en) 2007-02-22 2008-08-28 Mosaid Technologies Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache
US7865756B2 (en) 2007-03-12 2011-01-04 Mosaid Technologies Incorporated Methods and apparatus for clock signal synchronization in a configuration of series-connected semiconductor devices
US7916557B2 (en) 2007-04-25 2011-03-29 Micron Technology, Inc. NAND interface
US7688652B2 (en) 2007-07-18 2010-03-30 Mosaid Technologies Incorporated Storage of data in memory via packet strobing
US20090043946A1 (en) 2007-08-09 2009-02-12 Webb Randall K Architecture for very large capacity solid state memory systems
US7818497B2 (en) * 2007-08-31 2010-10-19 International Business Machines Corporation Buffered memory module supporting two independent memory channels
TWI376603B (en) 2007-09-21 2012-11-11 Phison Electronics Corp Solid state disk storage system with a parallel accessing architecture and a solid state disk controller
US8397011B2 (en) 2007-10-05 2013-03-12 Joseph Ashwood Scalable mass data storage device
US7913033B2 (en) 2007-10-09 2011-03-22 Micron Technology, Inc. Non-volatile memory device having assignable network identification
US7889578B2 (en) 2007-10-17 2011-02-15 Mosaid Technologies Incorporated Single-strobe operation of memory devices
US8825939B2 (en) 2007-12-12 2014-09-02 Conversant Intellectual Property Management Inc. Semiconductor memory device suitable for interconnection in a ring topology
US7983099B2 (en) * 2007-12-20 2011-07-19 Mosaid Technologies Incorporated Dual function compatible non-volatile memory device
US8145925B2 (en) 2007-12-21 2012-03-27 Mosaid Technologies Incorporated Non-volatile semiconductor memory device with power saving feature
US7660177B2 (en) 2007-12-21 2010-02-09 Silicon Storage Technology, Inc. Non-volatile memory device having high speed serial interface
US8762620B2 (en) 2007-12-27 2014-06-24 Sandisk Enterprise Ip Llc Multiprocessor storage controller
JP4519923B2 (ja) 2008-02-29 2010-08-04 株式会社東芝 メモリシステム
JP4498426B2 (ja) 2008-03-01 2010-07-07 株式会社東芝 メモリシステム
US7920431B2 (en) 2008-06-02 2011-04-05 Micron Technology, Inc. Asynchronous/synchronous interface
TWI473097B (zh) 2008-06-02 2015-02-11 A Data Technology Co Ltd 自動切換記憶體介面模式之快閃記憶體裝置
JP5253901B2 (ja) 2008-06-20 2013-07-31 株式会社東芝 メモリシステム
US8139390B2 (en) 2008-07-08 2012-03-20 Mosaid Technologies Incorporated Mixed data rates in memory devices and systems
US7969801B2 (en) 2008-07-17 2011-06-28 Hynix Semiconductor Inc. Data input circuit and nonvolatile memory device including the same
US8069300B2 (en) 2008-09-30 2011-11-29 Micron Technology, Inc. Solid state storage device controller with expansion mode
US8181056B2 (en) 2008-09-30 2012-05-15 Mosaid Technologies Incorporated Serial-connected memory system with output delay adjustment
US8161313B2 (en) 2008-09-30 2012-04-17 Mosaid Technologies Incorporated Serial-connected memory system with duty cycle correction
US8214579B2 (en) 2008-09-30 2012-07-03 Tdk Corporation Memory controller, flash memory system with memory controller, and method of controlling flash memory
US8244937B2 (en) 2008-09-30 2012-08-14 Micron Technology, Inc. Solid state storage device controller with parallel operation mode
US8134852B2 (en) 2008-10-14 2012-03-13 Mosaid Technologies Incorporated Bridge device architecture for connecting discrete memory devices to a system
US8161354B2 (en) 2008-10-16 2012-04-17 Genesys Logic, Inc. Flash memory controller having configuring unit for error correction code (ECC) capability and method thereof
US8200925B2 (en) 2008-10-31 2012-06-12 Mosaid Technologies Incorporated Data mirroring in serial-connected memory system
KR101014149B1 (ko) 2008-11-13 2011-02-14 (주)인디링스 메모리 뱅크로의 접근을 제어하는 고체 상태 디스크를 위한컨트롤러
US20100162037A1 (en) * 2008-12-22 2010-06-24 International Business Machines Corporation Memory System having Spare Memory Devices Attached to a Local Interface Bus
US20100161914A1 (en) * 2008-12-23 2010-06-24 Eilert Sean S Autonomous memory subsystems in computing platforms
JP5317690B2 (ja) 2008-12-27 2013-10-16 株式会社東芝 メモリシステム
US8078848B2 (en) 2009-01-09 2011-12-13 Micron Technology, Inc. Memory controller having front end and back end channels for modifying commands
KR101006748B1 (ko) 2009-01-29 2011-01-10 (주)인디링스 패드들의 동시 스위칭을 제어하는 고체 상태 디스크를 위한컨트롤러
US8566508B2 (en) 2009-04-08 2013-10-22 Google Inc. RAID configuration in a flash memory data storage device
US8151051B2 (en) 2009-04-23 2012-04-03 International Business Machines Corporation Redundant solid state disk system via interconnect cards
US20100287329A1 (en) * 2009-05-06 2010-11-11 Apple Inc. Partial Page Operations for Non-Volatile Memory Systems
US8271697B2 (en) 2009-09-29 2012-09-18 Micron Technology, Inc. State change in systems having devices coupled in a chained configuration
US8214580B2 (en) 2009-10-23 2012-07-03 International Business Machines Corporation Solid state drive with adjustable drive life and capacity
US8595411B2 (en) 2009-12-30 2013-11-26 Sandisk Technologies Inc. Method and controller for performing a sequence of commands
US8582382B2 (en) 2010-03-23 2013-11-12 Mosaid Technologies Incorporated Memory system having a plurality of serially connected devices
US7888966B1 (en) 2010-03-25 2011-02-15 Sandisk Corporation Enhancement of input/output for non source-synchronous interfaces
US20110258366A1 (en) 2010-04-19 2011-10-20 Mosaid Technologies Incorporated Status indication in a system having a plurality of memory devices
US8843692B2 (en) 2010-04-27 2014-09-23 Conversant Intellectual Property Management Inc. System of interconnected nonvolatile memories having automatic status packet
US20110276775A1 (en) 2010-05-07 2011-11-10 Mosaid Technologies Incorporated Method and apparatus for concurrently reading a plurality of memory devices using a single buffer
US9063849B2 (en) * 2010-09-17 2015-06-23 Aplus Flash Technology, Inc. Different types of memory integrated in one chip by using a novel protocol
JP2012174143A (ja) 2011-02-23 2012-09-10 Toshiba Corp 記憶装置及びその制御方法
KR20120097862A (ko) * 2011-02-25 2012-09-05 삼성전자주식회사 데이터 저장 시스템 및 그의 데이터 맵핑 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950014904B1 (ko) * 1991-01-11 1995-12-16 가부시키가이샤 도시바 반도체 집적회로
JPH10320267A (ja) * 1997-05-16 1998-12-04 Canon Inc メモリ制御装置及び方法
KR20110084177A (ko) * 2008-10-14 2011-07-21 모사이드 테크놀로지스 인코퍼레이티드 이산 메모리 장치를 시스템에 연결하는 브리징 장치를 갖는 복합 메모리

Also Published As

Publication number Publication date
KR102113359B1 (ko) 2020-05-21
JP6386460B2 (ja) 2018-09-05
CN104704563A (zh) 2015-06-10
CN104704563B (zh) 2018-02-16
TW201428748A (zh) 2014-07-16
TWI595488B (zh) 2017-08-11
WO2014043788A1 (en) 2014-03-27
US9471484B2 (en) 2016-10-18
JP2015528608A (ja) 2015-09-28
US20140082260A1 (en) 2014-03-20

Similar Documents

Publication Publication Date Title
KR102113359B1 (ko) 이중 모드 핀아웃을 가진 플래시 메모리 제어기
US20140122777A1 (en) Flash memory controller having multi mode pin-out
US10031879B2 (en) Memory device for a hierarchical memory architecture
US9432018B2 (en) Storage controllers, methods of operating the same and solid state disks including the same
US8489907B2 (en) Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller
US8806151B2 (en) Multipage preparation commands for non-volatile memory systems
US20100218064A1 (en) Semiconductor memory device incorporating controller
CN109407966B (zh) 数据存储装置及其操作方法
US20230112284A1 (en) Storage device and storage system including the same
KR20160097657A (ko) 데이터 저장 장치 그리고 그것의 동작 방법
US8883521B2 (en) Control method of multi-chip package memory device
US9720604B2 (en) Block storage protocol to RAM bypass
US20210382649A1 (en) Storage System and Method for Using Proactive Device Timeout information
US9811265B2 (en) Buffer memory devices, memory modules and solid state disks with non-uniform memory device connections
US20140156882A1 (en) Memory device, operating method thereof, and data storage device including the same
US20240127869A1 (en) Storage devices having multi drop structure
US11934691B2 (en) Storage device for high speed link startup and storage system including the same
US20230244402A1 (en) Storage device and operating method of storage device
US20160077762A1 (en) Memory system, storage system
US20140063956A1 (en) Nonvolatile memory device and operating method thereof
US20190236046A1 (en) Modular and scalable pcie controller architecture
US20170212816A1 (en) Semiconductor memory device and data storage device including the same
US20190005992A1 (en) Semiconductor modules
CN114300010A (zh) 存储控制器、存储系统及其操作方法
CN115309686A (zh) 使用电路边界阵列存储器进行切换模式(tm)编码

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant