KR20160018302A - 스토리지 장치, 메모리 카드, 및 스토리지 장치의 통신 방법 - Google Patents

스토리지 장치, 메모리 카드, 및 스토리지 장치의 통신 방법 Download PDF

Info

Publication number
KR20160018302A
KR20160018302A KR1020140126731A KR20140126731A KR20160018302A KR 20160018302 A KR20160018302 A KR 20160018302A KR 1020140126731 A KR1020140126731 A KR 1020140126731A KR 20140126731 A KR20140126731 A KR 20140126731A KR 20160018302 A KR20160018302 A KR 20160018302A
Authority
KR
South Korea
Prior art keywords
protocol
mode
clock
output terminal
memory
Prior art date
Application number
KR1020140126731A
Other languages
English (en)
Other versions
KR102149665B1 (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 삼성전자주식회사
Priority to US14/795,640 priority Critical patent/US9619156B2/en
Publication of KR20160018302A publication Critical patent/KR20160018302A/ko
Application granted granted Critical
Publication of KR102149665B1 publication Critical patent/KR102149665B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/4256Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a clocked protocol
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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
    • 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/08Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card

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)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명의 스토리지 장치는 호스트 인터페이스, 입력 단자, 출력 단자, 및 클럭 단자를 포함한다. 호스트 인터페이스는 제1 프로토콜에 따른 통신을 수행한다. 입력 단자는 입력 신호를 수신하도록 설정된다. 출력 단자는 출력 신호를 출력하도록 설정된다. 클럭 단자는 클럭 신호를 수신하도록 설정된다. 스토리지 장치는 제1 프로토콜을 지원하지 않는 호스트 장치와 적어도 상기 클럭 단자를 통해 상기 제1 프로토콜과 서로 다른 제2 프로토콜에 따른 통신을 수행한다.

Description

스토리지 장치, 메모리 카드, 및 스토리지 장치의 통신 방법{STORAGE DEVICE, MEMORY CARD, AND COMMUNICATING METHOD OF STORAGE DEVICE}
본 발명은 스토리지 장치에 관한 것으로, 더 상세하게는 스토리지 장치, 메모리 카드, 및 스토리지 장치의 통신 방법에 관한 것이다.
반도체 메모리(semiconductor memory)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비소 갈륨(GaAs, gallium arsenide), 인화인듐(InP, indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리는 크게 휘발성 메모리(Volatile memory)와 불휘발성 메모리(Nonvolatile memory)로 구분된다.
휘발성 메모리는 전원 공급이 차단되면 저장하고 있던 데이터를 소실하는 메모리 장치이다. 휘발성 메모리는 SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM) 등을 포함한다. 불휘발성 메모리는 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 메모리 장치이다. 불휘발성 메모리는 ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM), 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등을 포함한다.
불휘발성 메모리는 컴퓨팅 장치의 스토리지로 이용된다. 불휘발성 메모리는 범용 컴퓨터와 결합되어 사용되는 SSD (Solid State Drive), 모바일 장치와 결합되어 사용되는 임베디드 스토리지(embedded storage), 범용 컴퓨터 또는 모바일 장치와 결합 또는 분리되는 착탈식 메모리 카드 등을 구성할 수 있다.
본 발명의 목적은 스토리지 장치는 제1 프로토콜을 지원하나 호스트 장치는 제1 프로토콜을 지원하지 않는 경우에, 호스트 장치와 제2 프로토콜에 따른 통신을 수행할 수 있는 스토리지 장치 및 그 통신 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 스토리지 장치는 호스트 인터페이스, 입력 단자, 출력 단자, 및 클럭 단자를 포함한다. 호스트 인터페이스는 제1 프로토콜에 따른 통신을 수행한다. 입력 단자는 입력 신호를 수신하도록 설정된다. 출력 단자는 출력 신호를 출력하도록 설정된다. 클럭 단자는 클럭 신호를 수신하도록 설정된다. 스토리지 장치는 제1 프로토콜을 지원하지 않는 호스트 장치와 적어도 상기 클럭 단자를 통해 상기 제1 프로토콜과 서로 다른 제2 프로토콜에 따른 통신을 수행한다.
상기 제1 프로토콜은 UFS 프로토콜일 수 있다.
상기 스토리지 장치는 제1 모드 및 제2 모드 중 하나로 동작할 수 있다. 스토리지 장치는 상기 제1 모드에서 상기 제1 프로토콜을 지원하는 호스트 장치와 상기 제1 프로토콜에 따른 통신을 수행하고, 상기 제2 모드에서 상기 제1 프로토콜을 지원하지 않는 호스트 장치와 상기 제2 프로토콜에 따른 통신을 수행할 수 있다.
상기 제2 모드에서, 상기 스토리지 장치는 상기 클럭 단자를 통해 상기 제2 프로토콜에 따른 상기 클럭 신호를 수신하고, 상기 출력 단자를 통해 상기 제2 프로토콜에 따른 상기 출력 신호를 출력할 수 있다.
상기 제2 모드에서, 상기 입력 단자는 비활성화될 수 있다.
상기 스토리지 장치는 상기 제2 프로토콜에 따른 상기 클럭 신호의 적어도 하나의 명령어 셋을 세그먼트 단위로 분석하여 상기 세그먼트의 클럭 모드를 판별하는 클럭 디코더를 더 포함할 수 있다.
상기 세그먼트는 복수의 펄스들로 이루어지고, 상기 세그먼트의 길이와 상기 클럭 모드는 상기 펄스들의 펄스 폭에 의해 결정될 수 있다.
상기 클럭 모드는, 제1 내지 제4 클럭 모드들을 포함할 수 있다. 상기 제1 클럭 모드는 상기 제2 모드로 진입하라는 명령이 할당될 수 있다. 상기 제2 클럭 모드는 상기 제2 모드에서 실행할 동작을 나타내는 코드의 제1 비트에 대응할 수 있다. 상기 제3 클럭 모드는 상기 코드의 상기 제1 비트와 서로 다른 제2 비트에 대응할 수 있다. 상기 제4 클럭 모드는 상기 코드가 나타내는 동작을 실행하라는 명령이 할당될 수 있다.
상기 출력 단자는 상기 제2 모드로 진입한 후, 상기 명령어 셋에 해당하는 동작을 실행할 때까지 하이버네이트 상태(HIBERN8)로 제어될 수 있다. 상기 출력 단자는 상기 명령어 셋에 해당하는 동작을 실행한 후, 실행 결과에 따라 상기 하이버네이트 상태(HIBERN8)를 유지하도록 제어되거나, 양의 상태(DIF-P) 및 음의 상태(DIF-N) 중 어느 하나로 제어될 수 있다.
상기 출력 단자는 상기 하이버네이트 상태(HIBERN8)에서 풀-업될 수 있다.
상기 출력 단자는 서로 상보적인 신호들을 출력하는 제1 출력 단자 및 제2 출력 단자를 포함할 수 있다. 상기 출력 단자가 상기 양의 상태 또는 상기 음의 상태로 제어될 때, 상기 제1 출력 단자 및 상기 제2 출력 단자 중 로우 상태를 갖는 단자를 통해 상기 제2 프로토콜에 따른 통신을 수행할 수 있다.
상기 호스트 인터페이스는 상기 제1 프로토콜에 따라 상기 입력 신호를 수신하거나 상기 출력 신호를 출력하고, 상기 클럭 디코더를 포함하는 물리 레이어를 포함할 수 있다.
상기 스토리지 장치는 메모리 카드로 구현될 수 있다.
본 발명의 실시 예에 따른 제1 프로토콜을 지원하는 호스트 인터페이스, 입력 단자, 출력 단자, 및 클럭 단자를 포함하는 스토리지 장치와 상기 제1 프로토콜을 지원하지 않는 호스트 장치 사이의 제2 프로토콜에 따른 통신 방법에 있어서, 스토리지 장치의 통신 방법은, 상기 클럭 단자로 상기 제2 프로토콜에 따른 적어도 하나의 명령어 셋을 갖는 신호가 입력되는 단계; 및 상기 출력 단자로 상기 명령어 셋에 해당하는 동작의 결과를 출력하는 단계를 포함할 수 있다.
스토리지 장치의 통신 방법은 상기 제2 프로토콜에 따른 통신 모드로 진입하는 단계; 및 상기 명령어 셋에 해당하는 동작을 실행하는 단계를 더 포함할 수 있다.
상기 명령어 셋에 해당하는 동작은, 펌웨어 다운로드, 메모리 테스트 실행, BIST(Built-in self-test) 실행, 및 디버깅을 위해 메모리 컨트롤러 내부 상태 확인 중 적어도 하나일 수 있다.
상기 명령어 셋에 해당하는 동작의 결과를 출력할때까지 상기 출력 단자를 하이버네이트 상태(HIBERN8)로 제어할 수 있다. 상기 명령어 셋에 해당하는 동작의 실행 결과에 따라 상기 출력 단자를 하이버네이트 상태(HIBERN8)를 유지하도록 제어하거나, 양의 상태(DIF-P) 및 음의 상태(DIF-N) 중 어느 하나로 제어할 수 있다.
제1 프로토콜은 UFS 프로토콜일 수 있다.
본 발명의 실시 예에 따른 메모리 카드는 불휘발성 메모리 및 메모리 컨트롤러를 포함한다. 상기 불휘발성 메모리는 쓰기, 읽기, 및 소거를 수행할 수 있다. 상기 메모리 컨트롤러는 상기 불휘발성 메모리를 제어하고, 제1 프로토콜을 지원하는 호스트 장치와 상기 제1 프로토콜에 따른 통신을 수행하는 제1 모드 및 상기 제1 프로토콜을 지원하지 않는 호스트 장치와 상기 제1 프로토콜과 서로 다른 제2 프로토콜에 따른 통신을 수행하는 제2 모드 중 하나로 동작할 수 있다.
상기 메모리 컨트롤러는, 호스트 인터페이스, 출력 단자, 및 클럭 단자를 포함할 수 있다. 상기 호스트 인터페이스는 상기 제1 프로토콜에 따른 통신을 수행할 수 있다. 상기 출력 단자는 상기 제2 모드에서 상기 제2 프로토콜에 따른 출력 신호를 출력할 수 있다. 상기 클럭 단자는 상기 제2 모드에서 상기 제2 프로토콜에 따른 클럭 신호를 수신할 수 있다.
상기 메모리 컨트롤러는 상기 제2 모드에서 비활성화되는 입력 단자를 더 포함할 수 있다.
본 발명에 따른 스토리지 장치 및 그 통신 방법은 호스트 장치가 제1 프로토콜을 지원하지 않는 경우에도, 클럭 단자와 출력 단자를 통해 호스트 장치와 제2 프로토콜에 따른 통신을 수행할 수 있다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 스토리지 장치를 보여주는 블록도이다.
도 3은 제2 프로토콜에 따른 제2 클럭 신호 중 하나의 세그먼트를 도시한 도면이다.
도 4는 본 발명의 실시 예에서 제2 프로토콜에 따라 세그먼트의 클럭 모드들에 할당된 기능을 예시적으로 도시한 도면이다.
도 5는 본 발명의 실시 예에서 클럭 단자에 인가되는 신호 및 제1 출력 단자로부터 출력되는 신호를 예시적으로 도시한 도면이다.
도 6은 본 발명의 실시 예에 따른 스토리지 장치의 동작 방법을 보여주는 순서도이다.
도 7은 도 6의 S140 단계를 보여주는 순서도이다. 호스트 장치는 제1 프로토콜을 지원하지 않는 것으로 가정한다.
도 8은 본 발명의 실시 예에 따른 호스트 장치 및 메모리 컨트롤러가 제2 프로토콜에 따른 통신을 수행하는 것을 보여주는 순서도이다.
도 9는 본 발명의 다른 실시 예에 따른 스토리지 장치를 보여주는 블록도이다.
도 10은 본 발명의 실시 예에 따른 도 2의 스토리지 장치의 불휘발성 메모리를 보여주는 블록도이다.
도 11는 본 발명의 실시 예에 따른 도 10의 불휘발성 메모리의 메모리 블록(BLKa)을 보여주는 회로도이다.
도 12는 본 발명의 다른 실시 예에 따른 도 10의 불휘발성 메모리의 메모리 블록(BLKb)을 보여주는 회로도이다.
도 13은 본 발명의 실시 예에 따른 메모리 컨트롤러를 보여주는 블록도이다.
도 14은 본 발명의 실시 예에 따른 메모리 카드를 보여주는 블록도이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템(1000)을 보여주는 블록도이다. 도 1을 참조하면, 메모리 시스템(1000)은 호스트 장치(100) 및 스토리지 장치(200)를 포함한다.
호스트 장치(100)는 스토리지 장치(200)를 테스트하는 자동화 검사 장치(ATE: Automated Test Equipment) 일 수 있다. 호스트 장치(100)는 스토리지 장치(200)와 통신을 수행할 수 있다. 호스트 장치(100)는 스토리지 장치(200)를 테스트하기 위한 신호를 스토리지 장치(200)에 출력하고, 스토리지 장치(200)로부터 테스트 결과를 수신할 수 있다.
호스트 장치(100)는 스토리지 장치(200)의 호스트 인터페이스와 다른 방식의 프로토콜을 지원할 수 있다. 구체적인 설명은 후술된다. 한편, 호스트 장치(100)는 자동화 검사 장치로 제한되는 것은 아니고, 스토리지 장치(200)와 다른 방식의 프로토콜을 지원하는 다양한 장치로 제공될 수 있다.
스토리지 장치(200)는 호스트 장치(100)와 통신을 수행하여 호스트 장치(100)의 제어에 따른 동작을 수행할 수 있다. 스토리지 장치(200)는 플래시 메모리, PRAM, MRAM, RRAM 등과 같은 불휘발성 메모리를 포함할 수 있다. 예시적으로, 스토리지 장치(200)는 호스트 장치(100)와 결합 또는 분리될 수 있는 착탈식 메모리 카드일 수 있다.
일반적으로, 호스트 장치(100)와 스토리지 장치(200)는 서로 동일한 인터페이스 방식을 통해 서로 통신할 수 있다. 하지만, 본 발명의 실시 예에 따른 메모리 시스템(1000)에 의하면, 스토리지 장치(200)는 제1 프로토콜을 지원하고, 호스트 장치(100)는 제1 프로토콜을 지원하지 않을 수 있다. 이러한 경우에도, 호스트 장치(100)와 스토리지 장치(200)는 제1 프로토콜과 서로 다른 제2 프로토콜에 따라 통신을 수행할 수 있다. 이하의 설명에서, 호스트 장치(100)는 제1 프로토콜을 지원하지 않는 것을 기준으로 설명한다.
도 2는 본 발명의 실시 예에 따른 스토리지 장치(200)를 보여주는 블록도이다. 도 1 및 도 2를 참조하면, 스토리지 장치(200)는 불휘발성 메모리(210) 및 메모리 컨트롤러(220)를 포함한다.
불휘발성 메모리(210)는 메모리 컨트롤러(220)의 제어에 따라 쓰기, 읽기 및 소거를 수행할 수 있다. 불휘발성 메모리(210)는 낸드 플래시 메모리를 포함할 수 있다. 그러나, 불휘발성 메모리(210)는 낸드 플래시 메모리를 포함하는 것으로 한정되지 않는다. 불휘발성 메모리(210)는 PRAM, MRAM, RRAM, FeRAM 등과 같은 다양한 불휘발성 메모리들 중 적어도 하나를 포함할 수 있다.
메모리 컨트롤러(220)는 호스트 장치(100)의 요청에 따라 불휘발성 메모리(210)를 제어하도록 구성된다. 메모리 컨트롤러(220)는 불휘발성 메모리(210)로 제어 신호(CTRL)를 전송하고, 불휘발성 메모리(210)와 데이터(DATA)를 교환하도록 구성된다.
메모리 컨트롤러(220)는 제1 모드 및 제2 모드 중 하나로 동작할 수 있다. 제1 모드는 제1 프로토콜에 따라 제1 프로토콜을 지원하는 호스트 장치와 통신을 수행하는 모드이고, 제2 모드는 제1 프로토콜과 다른 제2 프로토콜에 따라 제1 프로토콜을 지원하지 않는 호스트 장치와 통신을 수행하는 모드일 수 있다.
메모리 컨트롤러(220)는 호스트 인터페이스(230), 클럭 디코더(240), 및 프로세서(250)을 포함한다.
호스트 인터페이스(230)는 제1 프로토콜에 따른 메모리 컨트롤러(220)와 호스트 장치(100) 사이의 통신을 관리할 수 있다. 본 발명의 실시 예에서, 제1 프로토콜은 UFS(Universal Flash Storage) 프로토콜일 수 있다. 호스트 인터페이스(230)는 UFS 프로토콜을 지원하는 호스트 장치와 인터페이스 할 수 있다. 다시 말해, 호스트 인터페이스(230)는 UFS 프로토콜을 지원하지 않는 호스트 장치(100)와 인터페이스 할 수 없다. 한편, 이에 제한되는 것은 아니고, 호스트 인터페이스(230)는 USB(Universal Serial Bus), MMC(Man Machine Communication), PCI-E(Peripheral Component Interconnect-Express), SATA(Serial Advanced Technology Attachment), PATA(Parallel Advanced Technology Attachment), SCSI(Small Computer System Interface), ESDI(Enhanced Small Device Interface), 및 IDE(Intelligent Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜을 이용하여 동일한 인터페이스 프로토콜을 지원하는 호스트 장치와 인터페이스 할 수 있다.
호스트 인터페이스(230)는 링크 레이어(231) 및 물리 레이어(233)를 포함할 수 있다.
링크 레이어(231)는 UFS 프로토콜에 따라 출력 신호를 생성하고, 수신 신호를 수신할 수 있다. 링크 레이어(231)는 OSI (Open Systems Interconnection) 레이어들 중 물리 어댑터 레이어(L1.5), 데이터 링크 레이어 부(L2), 네트워크 레이어(L3), 그리고 트랜스포트 레이어(L4)를 포함할 수 있다. 링크 레이어(231)는 DME (Device Management Entity)를 구성할 수 있다. 링크 레이어(231)는 MIPI(Mobile Industry Processor Interface) Unipro를 포함할 수 있다.
물리 레이어(233)는 UFS 프로토콜에 따라 출력 신호를 송신하고, 수신 신호를 수신할 수 있다. 물리 레이어(233)는 OSI 계층들 중 물리 레이어 (L1)를 포함할 수 있다. 물리 레이어(233)는 MIPI M-PHY를 포함할 수 있다.
호스트 인터페이스(230)는 출력 단자(TX), 입력 단자(RX), 및 클럭 단자(REF_CLK)를 포함할 수 있다.
물리 레이어(233)는 출력 단자(TX)를 통해 호스트 장치(100)로 신호를 전송할 수 있다. 출력 단자(TX)는 호스트 장치(100)의 수신 패드와 연결되어 채널을 구성할 수 있다. 제1 모드에서 출력 단자(TX)는 제1 프로토콜에 따른 출력 신호를 출력하도록 설정될 수 있다.
출력 단자(TX)는 제1 출력 단자(DOUT_t) 및 제2 출력 단자(DOUT_c)를 포함할 수 있다. 제1 출력 단자(DOUT_t) 및 제2 출력 단자(DOUT_c)는 적어도 세가지 상태들 중 하나로 제어될 수 있다. 제1 출력 단자(DOUT_t) 및 제2 출력 단자(DOUT_c)는 양의 상태(DIF-P), 음의 상태(DIF-N), 및 하이버네이트 상태(HIBERN8) 중 하나로 제어될 수 있다.
제1 출력 단자(DOUT_t)의 제1 출력 신호의 레벨(예를 들어, 전압 레벨)이 제2 출력 단자(DOUT_c)의 제2 출력 신호의 레벨보다 높을 때, 제1 출력 단자(DOUT_t) 및 제2 출력 단자(DOUT_c)는 양의 상태(DIF-P)일 수 있다. 제1 출력 단자(DOUT_t)의 제1 출력 신호의 레벨(예를 들어, 전압 레벨)이 제2 출력 단자(DOUT_c)의 제2 출력 신호의 레벨보다 낮을 때, 제1 출력 단자(DOUT_t) 및 제2 출력 단자(DOUT_c)는 음의 상태(DIF-N)일 수 있다. 제1 출력 단자(DOUT_t) 및 제2 출력 단자(DOUT_c)가 플로팅될 때, 제1 출력 단자(DOUT_t) 및 제2 출력 단자(DOUT_c)는 하이버네이트 상태(HIBERN8)일 수 있다.
제1 모드에서, 호스트 인터페이스(230)는 UFS 프로토콜을 지원하는 호스트 장치와 연결되어 제1 출력 단자(DOUT_t) 및 제2 출력 단자(DOUT_c)의 양의 상태(DIF-P) 및 음의 상태(DIF-N)를 이용하여 정보를 전송할 수 있다. 즉, 호스트 인터페이스(230)는 UFS 프로토콜에 따라 제1 출력 단자(DOUT_t)의 제1 출력 신호 및 제2 출력 단자(DOUT_c)의 제2 출력 신호를 상보적인 신호로 전송하여, 정보를 전달할 수 있다.
제2 모드에서, 호스트 인터페이스(230)는 UFS 프로토콜을 지원하지 않는 호스트 장치(100)와 연결되어 제1 출력 단자(DOUT_t) 및 제2 출력 단자(DOUT_c)를 통해 UFS 프로토콜에 따른 정보를 출력할 수 없다. 따라서, 제2 모드에서, 메모리 컨트롤러(220)는 UFS 프로토콜이 아닌 별도의 제2 프로토콜를 사용하여 제1 출력 단자(DOUT_t) 및 제2 출력 단자(DOUT_c) 중 어느 하나를 통해 호스트 장치(100)에 정보를 출력할 수 있다.
물리 레이어(233)는 입력 단자(RX)를 통해 호스트 장치(100)로 인가된 신호를 수신할 수 있다. 입력 단자(RX)는 호스트 장치(100)의 출력 단자와 연결되어 채널을 구성할 수 있다. 제1 모드에서, 입력 단자(RX)는 제1 프로토콜에 따른 입력 신호를 수신하도록 설정될 수 있다.
입력 단자(RX)는 제1 입력 단자(DIN_t) 및 제2 입력 단자(DIN_c)를 포함할 수 있다. 제1 입력 단자(DIN_t) 및 제2 입력 단자(DIN_c)는 적어도 세 가지 상태들 중 하나로 제어될 수 있다. 제1 입력 단자(DIN_t) 및 제2 입력 단자(DIN_c)는 양의 상태(DIF-P), 음의 상태(DIF-N), 및 하이버네이트 상태(HIBERN8) 중 하나로 제어될 수 있다.
제1 입력 단자(DIN_t)의 제1 입력 신호의 레벨(예를 들어, 전압 레벨)이 제2 입력 단자(DIN_c)의 제2 입력 신호의 레벨보다 높을 때, 제1 입력 단자(DIN_t) 및 제2 입력 단자(DIN_c)는 양의 상태(DIF-P)일 수 있다. 제1 입력 단자(DIN_t)의 제1 입력 신호의 레벨(예를 들어, 전압 레벨)이 제2 입력 단자(DIN_c)의 제2 입력 신호의 레벨보다 낮을 때, 제1 입력 단자(DIN_t) 및 제2 입력 단자(DIN_c)는 음의 상태(DIF-N)일 수 있다. 제1 입력 단자(DIN_t) 및 제2 입력 단자(DIN_c)가 플로팅될 때, 제1 입력 단자(DIN_t) 및 제2 입력 단자(DIN_c)는 하이버네이트 상태(HIBERN8)일 수 있다.
제1 모드에서, 호스트 인터페이스(230)는 UFS 프로토콜을 지원하는 호스트 장치와 연결되어 제1 입력 단자(DIN_t) 및 제2 입력 단자(DIN_c)의 양의 상태(DIF-P) 및 음의 상태(DIF-N)를 이용하여 정보를 할 수 있다. 즉, 호스트 인터페이스(230)는 UFS 프로토콜에 따라 제1 입력 단자(DIN_t)의 제1 입력 신호 및 제2 입력 단자(DIN_c)의 제2 입력 신호를 상보적인 신호로 수신하여, 정보를 식별할 수 있다.
제2 모드에서, 호스트 인터페이스(230)는 UFS 프로토콜을 지원하지 않는 호스트 장치(100)와 연결되어 제1 입력 단자(DIN_t) 및 제2 입력 단자(DIN_c)를 통해 UFS 프로토콜에 따른 정보를 식별할 수 없다. 제2 모드에서, 메모리 컨트롤러(220)는 제2 프로토콜에 따른 신호를 제1 입력 단자(DIN_t) 및 제2 입력 단자(DIN_c)로 수신하지 않는다. 구체적으로, 제2 모드에서, 메모리 컨트롤러(220)는 제2 프로토콜에 따른 신호를 클럭 단자(REF_CLK)를 통해 수신할 수 있다.
제1 모드에서, 호스트 인터페이스(230)는 클럭 단자(REF_CLK)를 통해 제1 프로토콜에 따른 제1 클럭 신호를 수신할 수 있다. 제2 모드에서, 호스트 인터페이스(230)는 클럭 단자(REF_CLK)를 통해 제2 프로토콜에 따른 제2 클럭 신호를 수신할 수 있다. 본 실시 예에서, 제1 프로토콜이 UFS 프로토콜일 수 있고, UFS 표준 시방서(specification)에 따르면, 클럭 단자(REF_CLK)는 기준 클럭을 수신하거나 비활성화되어 풀-다운될 수 있다. 즉, UFS 프로토콜에 따라 클럭 단자(REF_CLK)가 비활성화되는 시간 동안 메모리 컨트롤러(220)는 제2 모드로 동작할 수 있고, 클럭 단자(REF_CLK)는 제2 클럭 신호를 수신할 수 있다.
호스트 인터페이스(230)는 제2 프로토콜에 따른 제2 클럭 신호를 제1 및 제2 입력 단자들(DIN_t, DIN_c) 통해 수신하지 않고, 클럭 단자(REF_CLK)를 통해 수신한다. UFS 표준 시방서에 따르면, 제1 및 제2 입력 단자들(DIN_t, DIN_c)로 인가되는 신호는 200mV 내지 400mV의 범위의 스윙 폭을 가질 수 있다. 반면, 클럭 단자(REF_CLK)로 인가되는 신호는 1.2V의 범위의 스윙 폭을 가질 수 있다. 제1 및 제2 입력 단자들(DIN_t, DIN_c)로 인가되는 신호는 클럭 단자(REF_CLK)로 인가되는 신호에 비해 스윙하는 전압의 진폭이 작아서 제2 프로토콜에 따른 신호를 수신하는데 적합하지 않다. 또한, UFS 표준 시방서에 따르면, 제1 및 제2 입력 단자들(DIN_t, DIN_c)로 인가되는 신호는 클럭 단자(REF_CLK)로 인가되는 신호에 비해 요구되는 주파수가 커서, 제2 프로토콜에 따른 신호를 수신하는데 적합하지 않다.
도시하지는 않았으나, 호스트 인터페이스(230)는 전원 단자를 더 포함할 수 있다. 전원 단자는 호스트 장치(100)로부터 전원을 공급받을 수 있다.
클럭 디코더(240)는 호스트 인터페이스(230)로부터 제2 클럭 신호를 수신할 수 있다. 구체적으로, 물리 레이어(233)는 클럭 디코더(240)에 제2 클럭 신호를 전달할 수 있다. 클럭 디코더(240)는 제2 프로토콜에 따라 제2 클럭 신호를 디코딩하여 그 결과를 저장할 수 있다.
클럭 디코더(240)는 모드 선택부(241) 및 SFR(Special Function Register)(243)를 포함할 수 있다.
모드 선택부(241)는 제2 클럭 신호를 세그먼트 단위로 분석할 수 있다. 제2 클럭 신호는 복수의 세그먼트들을 포함할 수 있고, 각 세그먼트는 복수의 클럭 모드들 중 어느 하나의 정보를 가질 수 있다.
본 발명의 실시 예에서 각 세그먼트는 4개의 제1 내지 제4 클럭 모드들 중 어느 하나의 정보를 갖는 것을 기준으로 설명한다. 모드 선택부(241)는 제2 클럭 신호의 각 세그먼트를 제1 내지 제4 클럭 모드들 중 어느 하나로 판별할 수 있다. 한편, 이에 제한되는 것은 아니고, 각 세그먼트는 5개 이상의 클럭 모드들 중 어느 하나의 정보를 가질 수 있다. 자세한 내용은 도 3을 참조하여 설명된다.
SFR(243)는 모드 선택부(241)에서 판별된 각 세그먼트의 클럭 모드 정보를 저장할 수 있다. 각 세그먼트의 클럭 모드 정보가 복수 개로 모여 하나의 명령어 셋(Command Set)을 이룰 수 있다.
프로세서(250)는 메모리 컨트롤러(220)의 제반 동작을 제어하고, 논리 연산을 수행할 수 있다. 메모리 컨트롤러(220)가 제2 모드로 동작시, 프로세서(250)는 SFR(243)이 저장한 명령어 셋에 해당하는 동작을 수행한다. 프로세서(250)는 명령어 셋에 해당하는 동작을 수행한 결과를 제1 출력 단자(DOUT_t) 및 제2 출력 단자(DOUT_c) 중 어느 하나를 통해 호스트 장치(100)에 출력할 수 있다. 예를 들어, 명령어 셋이 불휘발성 메모리(210)의 테스트를 지시하는 경우, 프로세서(250)는 명령어 셋에 따라 불휘발성 메모리(210)를 테스트하고, 불량인지 여부를 결과로서 제1 출력 단자(DOUT_t) 및 제2 출력 단자(DOUT_c) 중 어느 하나를 통해 출력할 수 있다.
호스트 장치(100)는 제1 프로토콜을 지원하지 않더라도, 제1 출력 단자(DOUT_t) 및 제2 출력 단자(DOUT_c) 중 어느 하나의 상태를 통해 명령어 셋에 해당하는 동작의 성공 여부를 인식할 수 있다.
프로세서(250)는 펌웨어와 마이크로 프로세서 칩으로 구현될 수 있으며, 필요에 따라 마이크로 프로세서 칩을 생략하고 펌웨어로 구현될 수 있다.
도 3은 제2 프로토콜에 따른 제2 클럭 신호(Clk2) 중 하나의 세그먼트를 도시한 도면이다. 제2 클럭 신호(Clk2)의 세그먼트들은 클럭 모드 정보를 제외하고 동일한 형태를 가지므로, 이하 도 3을 참조하여 하나의 세그먼트에 대해 설명한다.
도 3을 참조하면, 각 세그먼트는 복수의 펄스들로 이루어질 수 있다. 각 세그먼트의 펄스들은 서로 다른 제1 내지 제4 펄스 폭들(W1~W4)을 가질 수 있다. 각 세그먼트는 펄스들의 펄스 폭들(W1~W4)을 통해 세그먼트의 길이와 클럭 모드에 대한 정보를 포함할 수 있다.
예를 들어, 제1 펄스 폭(W1)을 갖는 펄스는 세그먼트가 시작됨을 의미하고, 제4 펄스 폭(W4)은 세그먼트가 종료됨을 의미할 수 있다. 각 세그먼트의 길이는 제1 펄스 폭(W1)을 갖는 펄스의 라이징 시점부터 제4 펄스 폭(W4)을 갖는 펄스의 폴링 시점까지로 정의될 수 있다.
또한, 제2 펄스 폭(W2)을 갖는 펄스는 디지털 비트 “1”에 대응할 수 있고, 제3 펄스 폭(W3)을 갖는 펄스는 디지털 비트 “0”에 대응할 수 있다. 각 세그먼트의 클럭 모드는 제2 펄스 폭(W2)을 갖는 펄스와 제3 펄스 폭(W3)을 갖는 펄스의 조합으로부터 설정될 수 있다.
도 4는 본 발명의 실시 예에서 제2 프로토콜에 따라 세그먼트의 클럭 모드들(Clk Mode)에 할당된 기능을 예시적으로 도시한 도면이다.
도 1, 도 2, 및 도 4를 참조하면, 세그먼트의 제1 클럭 모드(M1)에는 메모리 컨트롤러(220)가 제2 모드로 진입하라는 명령이 할당될 수 있다. 제1 클럭 모드(M1)가 인식되면, 메모리 컨트롤러(220)는 제2 모드로 진입하여 제2 프로토콜에 따른 호스트 장치(100)와의 통신을 준비하고, 제1 프로토콜에 따른 통신을 비활성화시킨다.
제2 및 제3 클럭 모드들(M2, M3)에는 제2 모드에서 메모리 컨트롤러(220)가 실행할 동작을 나타내는 코드가 할당될 수 있다. 제2 클럭 모드(M2)는 디지털 비트 “1”로 설정될 수 있고, 제3 클럭 모드(M3)는 디지털 비트 “0”으로 설정될 수 있다. 제2 및 제3 클럭 모드들(M2, M3)의 조합에 의해 다양한 코드가 생성될 수 있다. 또한, 코드의 길이는 다양하게 설정될 수 있다.
코드가 나타내는 메모리 컨트롤러(220)가 실행가능한 동작은 예를 들어, 펌웨어 다운로드, 메모리 테스트 실행, BIST(Built-in self-test) 실행, 및 디버깅을 위해 메모리 컨트롤러 내부 상태 확인 등일 수 있다.
제4 클럭 모드(M4)에는 코드가 나타내는 동작을 메모리 컨트롤러(220)가 실행하라는 명령이 할당될 수 있다. 제4 클럭 모드(M4)가 인식되면, 메모리 컨트롤러(220)는 코드가 나타내는 동작을 실행하고, 그 결과를 호스트 장치(100)에 출력할 수 있다.
도 5는 본 발명의 실시 예에서 클럭 단자에 인가되는 신호 및 제1 출력 단자로부터 출력되는 신호를 예시적으로 도시한 도면이다.
도 5에서 클럭 단자(REF_CLK)에는 하나의 명령어 셋을 갖는 제2 클럭 신호가 인가되는 것을 일 예로 도시하였다. 도 5에서 메모리 컨트롤러(220)는 제1 출력 단자(DOUT_t)를 통해 명령어 셋에 해당하는 동작의 결과를 출력하는 것을 기준으로 도시하였다. 하지만, 이에 제한되는 것은 아니고, 메모리 컨트롤러(220)는 제2 출력 단자(DOUT_c)를 통해 명령어 셋에 해당하는 동작의 결과를 출력할 수도 있다.
도 1, 도 2 및 도 5를 참조하면, 제1 구간(T1) 내에 메모리 컨트롤러(220)는 호스트 장치(100)로부터 클럭 단자(REF_CLK)를 통해 제2 프로토콜에 따른 명령어 셋을 수신한다. 제1 구간(T1) 내에 클럭 디코더(240)는 명령어 셋을 디코딩할 수 있다. 또한, 프로세서(250)는 제1 구간(T1) 내에 제1 클럭 모드(M1)에 따라 제2 모드로 진입할 수 있다.
제1 구간(T1) 동안 출력 단자(TX)는 하이버네이트 상태(HIBERN8)일 수 있다. 프로세서(250)는 출력 단자(TX)가 하이버네이트 상태(HIBERN8)로 동작하도록 호스트 인터페이스(230)를 제어한다. 출력 단자(TX)는 풀-업 회로에 연결되어 하이버네이트 상태(HIBERN8)에서 풀-업될 수 있다. 풀-업 회로는 직렬 연결된 저항과 전압 소스를 포함할 수 있다. 즉, 제1 출력 단자(DOUT_t)는 제1 구간(T1) 동안 풀-업될 수 있다.
제1 구간(T1) 이후, 프로세서(250)는 제2 및 제3 클럭 모드들(M2, M3)의 조합으로 이루어진 코드에 따른 동작을 제4 클럭 모드(M4)의 명령에 따라 실행한다.
제1 구간(T1)이 끝나고, 제2 구간(T2) 지난 후, 프로세서(250)는 제1 출력 단자(DOUT_t)를 통해 명령어 셋에 해당하는 동작의 결과를 출력할 수 있다. 제2 구간(T2) 동안 출력 단자(TX)는 여전히 하이버네이트 상태(HIBERN8)일 수 있다. 한편, 제2 구간(T2)은 필요에 따라 삭제될 수 있다.
제1 구간(T1) 및 제2 구간(T2)이 지난 후, 프로세서(250)는 명령어 셋에 해당하는 동작이 성공하면, 출력 단자(TX)가 음의 상태(DIF-N) 및 양의 상태(DIF-P) 중 어느 하나를 갖도록 호스트 인터페이스(230)를 제어할 수 있다. 또한, 프로세서(250)는 명령어 셋에 해당하는 동작이 실패하면, 출력 단자(TX)가 하이버네이트 상태(HIBERN8)를 유지하도록 호스트 인터페이스(230)를 제어할 수 있다.
출력 단자(TX)가 음의 상태(DIF-N)를 가지면, 제1 출력 단자(DOUT_t)는 로우 상태를 가질 수 있다. 출력 단자(TX)가 양의 상태(DIF-P)를 가지면, 제2 출력 단자(DOUT_c)는 로우 상태를 가질 수 있다.
메모리 컨트롤러(220)는 출력 단자(TX)가 양의 상태(DIF-P) 또는 음의 상태(DIP-N)로 제어될 때, 제1 출력 단자(DOUT_t) 및 제2 출력 단자(DOUT_c) 중 로우 상태를 갖는 단자를 통해 호스트 장치(100)와 제2 프로토콜에 따른 통신을 수행할 수 있다. 도 5에서 제1 출력 단자(DOUT_t)는 제1 구간(T1) 및 제2 구간(T2) 동안 풀-업(하이) 상태를 갖다가 제1 구간(T1) 및 제2 구간(T2)이 지난 후, 로우 상태를 갖는 것을 일 예로 도시하였다.
호스트 장치(100)는 제1 구간(T1) 및 제2 구간(T2) 이후, 제1 출력 단자(DOUT_t)의 상태를 확인함으로써, 명령어 셋에 해당하는 동작의 성공 여부를 인식할 수 있다.
한편, 입력 단자(RX)는 메모리 컨트롤러(220)가 제2 모드로 동작하는 동안 하이버네이트 상태(HIBERN8)로 유지될 수 있다.
본 발명의 실시예에 따른 스토리지 장치(200)에 의하면, 호스트 장치(100)가 제1 프로토콜을 지원하지 않는 경우에도, 클럭 단자(REF_CLK)와 출력 단자(TX)를 통해 호스트 장치(100)와 제2 프로토콜에 따른 통신을 수행할 수 있다.
도 6은 본 발명의 실시 예에 따른 스토리지 장치(200)의 동작 방법을 보여주는 순서도이다.
도 1, 도 2, 및 도 6을 참조하면, 호스트 인터페이스(230)는 제1 프로토콜을 지원하고, 호스트 장치(100)는 제1 프로토콜을 지원하거나 제1 프로토콜을 지원하지 않을 수 있다.
S110 단계에서, 메모리 컨트롤러(220)는 호스트 장치(100)로부터 입력되는 신호가 제1 프로토콜에 따른 신호인지 판단한다. 제1 프로토콜에 따른 신호가 인가되면, S120 단계에서 메모리 컨트롤러(220)는 제1 모드로 동작한다. 제1 프로토콜에 따른 신호는 입력 단자(RX) 및 클럭 단자(REF_CLK)를 통해 입력될 수 있다. 제1 모드에서 호스트 인터페이스(230)는 제1 프로토콜에 따라 호스트 장치(100)와 데이터 통신을 수행한다.
호스트 장치(100)가 제1 프로토콜을 지원하지 않는 경우, 호스트 장치(100)는 스토리지 장치(200)에 제1 프로토콜에 따른 신호를 제공할 수 없다. 제1 프로토콜에 따른 신호가 인가되지 않으면, S130 단계에서, 메모리 컨트롤러(220)는 호스트 장치(100)로부터 입력되는 신호가 제2 프로토콜에 따른 신호인지 판단한다. 제2 프로토콜에 따른 신호가 인가되면, S140 단계에서 메모리 컨트롤러(220)는 제2 모드로 동작한다. 이때, 제2 프로토콜에 따른 신호는 클럭 단자(REF_CLK)를 통해 입력될 수 있다. 제2 모드에서 메모리 컨트롤러(220)는 제2 프로토콜에 따라 호스트 장치(100)와 데이터 통신을 수행한다.
한편, S110 단계 이전에, 스토리지 장치(200)는 파워-온 리셋(POR, Power-On Reset)을 수행할 수 있다. 호스트 장치(100)로부터 스토리지 장치(200)에 전원이 공급되면 호스트 인터페이스(230)는 파워-온 리셋을 수행할 수 있다. 파워-온 리셋이 수행되면, 호스트 인터페이스(230)는 초기화될 수 있다.
도 7은 도 6의 S140 단계를 보여주는 순서도이다. 호스트 장치(100)는 제1 프로토콜을 지원하지 않는 것으로 가정한다.
도 1, 도 2, 및 도 7을 참조하면, S210 단계에서, 클럭 디코더(240)는 제2 프로토콜에 따라 클럭 단자(REF_CLK)로 인가된 신호를 디코딩하여 명령어 셋을 저장한다. 명령어 셋은 복수의 클럭 모드들로 이루어질 수 있다. 각 클럭 모드들 또는 클럭 모드들의 조합은 적어도 진입, 코드, 및 실행을 지시할 수 있다. 클럭 모드들은 모드 선택부(241)에서 분석될 수 있고, 분석된 클럭 모드들은 SFR(243)에 저장될 수 있다.
명령어 셋의 진입 명령에 따라, S220 단계에서, 메모리 컨트롤러(220)는 제2 모드로 진입할 수 있다. 메모리 컨트롤러(220)는 제2 모드로 진입하여 제2 프로토콜에 따른 호스트 장치(100)와의 통신을 준비하고 제1 프로토콜에 따른 통신을 비활성화시킨다.
명령어 셋의 실행 명령에 따라, S230 단계에서, 메모리 컨트롤러(220)는 명령어 셋의 코드가 나타내는 동작을 실행한다. 프로세서(250)는 코드가 나타내는 동작을 실행할 수 있다.
S240 단계에서, 메모리 컨트롤러(220)는 실행한 동작의 결과를 출력 단자(TX)를 통해 출력할 수 있다. 프로세서(250)는 코드가 나타내는 동작을 실행하고, 그 결과를 출력 단자(TX)를 통해 출력하도록 제어한다.
도 8은 본 발명의 실시 예에 따른 호스트 장치(100) 및 메모리 컨트롤러(220)가 제2 프로토콜에 따른 통신을 수행하는 것을 보여주는 순서도이다.
도 1, 도 2, 및 도 8을 참조하면, S310 단계에서, 호스트 장치(100)로부터 스토리지 장치(200)에 제2 프로토콜에 따른 신호가 인가된다. 제2 프로토콜에 따른 신호는 클럭 단자(REF_CLK)를 통해 입력될 수 있다. 클럭 단자(REF_CLK)를 통해 제2 프로토콜에 따른 신호가 인가되면, S320 단계에서, 메모리 컨트롤러(220)는 제2 모드로 진입한다.
메모리 컨트롤러(220)가 제2 모드로 진입한 후, S330 단계에서, 호스트 인터페이스(230)는 출력 단자(TX)를 하이버네이트 상태(HIBERN8)로 제어할 수 있다. 또한, 호스트 인터페이스(230)는 입력 단자(RX)를 하이버네이트 상태(HIBERN8)로 제어할 수 있다.
이후, S340 단계에서, 메모리 컨트롤러(220)는 명령어 셋의 코드가 나타내는 동작을 실행한다. 이후, S350 단계에서, 호스트 인터페이스(230)는 출력 단자(TX)를 통해 코드가 나타내는 동작의 실행 결과를 출력한다. 예를 들어, 실행한 동작이 성공한 경우, 호스트 인터페이스(230)는 출력 단자(TX)를 음의 상태(DIF-N)로 제어하고, 실행한 동작이 실패한 경우, 호스트 인터페이스(230)는 출력 단자(TX)가 하이버네이트 상태(HIBERN8)를 유지하도록 제어할 수 있다. 호스트 장치(100)는 출력 단자(TX) 중 제1 출력 단자(DOUT_t)로 출력되는 신호를 확인하여 입력한 명령어 셋에 해당하는 동작의 성공 여부를 확인할 수 있다.
도 9는 본 발명의 다른 실시 예에 따른 스토리지 장치(300)를 보여주는 블록도이다. 도 9를 참조하면, 스토리지 장치(300)는 불휘발성 메모리(310) 및 메모리 컨트롤러(320)를 포함한다. 메모리 컨트롤러(320)는 호스트 인터페이스(330) 및 프로세서(350)를 포함한다. 호스트 인터페이스(330)는 링크 레이어(331) 및 물리 레이어(333)를 포함할 수 있다.
도 9에 도시된 스토리지 장치(300)는 도 2에 도시된 스토리지 장치(200)와 비교하여, 물리 레이어(333)가 클럭 디코더(340)를 포함할 수 있다. 클럭 디코더(340)는 호스트 인터페이스(330)와 별도로 형성되지 않고, 물리 레이어(333)를 구성하는 회로와 함께 형성될 수 있다.
도 10은 본 발명의 실시 예에 따른 도 2의 스토리지 장치(200)의 불휘발성 메모리(210)를 보여주는 블록도이다. 도 10을 참조하면, 불휘발성 메모리(210)는 메모리 셀 어레이(211), 어드레스 디코더 회로(213), 페이지 버퍼 회로(215), 데이터 입출력 회로(217), 그리고 제어 로직 회로(219)를 포함한다.
메모리 셀 어레이(211)는 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 각 메모리 블록은 복수의 메모리 셀들을 포함한다. 각 메모리 블록은 적어도 하나의 접지 선택 라인(GSL), 복수의 워드 라인들(WL), 그리고 적어도 하나의 스트링 선택 라인(SSL)을 통해 어드레스 디코더 회로(213)에 연결될 수 있다. 각 메모리 블록은 복수의 비트 라인들(BL)을 통해 페이지 버퍼 회로(215)에 연결될 수 있다. 복수의 메모리 블록들(BLK1~BLKz)은 복수의 비트 라인들(BL)에 공통으로 연결될 수 있다. 복수의 메모리 블록들(BLK1~BLKz)의 메모리 셀들은 동일한 구조들을 가질 수 있다.
어드레스 디코더 회로(213)는 복수의 접지 선택 라인들(GSL), 복수의 워드 라인들(WL), 그리고 복수의 스트링 선택 라인들(SSL)을 통해 메모리 셀 어레이(211)에 연결된다. 어드레스 디코더 회로(213)는 제어 로직 회로(219)의 제어에 따라 동작한다. 어드레스 디코더 회로(213)는 메모리 컨트롤러(220, 도 2 참조)로부터 어드레스를 수신할 수 있다. 어드레스 디코더 회로(213)는 수신된 어드레스(ADDR)를 디코딩하고, 디코딩된 어드레스에 따라 워드 라인들(WL)에 인가되는 전압들을 제어할 수 있다. 예를 들어, 프로그램 시에, 어드레스 디코더 회로(213)는, 제어 로직 회로(219)의 제어 따라, 워드 라인들(WL)에 패스 전압을 인가할 수 있다. 프로그램 시에, 어드레스 디코더 회로(213)는, 제어 로직 회로(219)의 제어에 따라, 워드 라인들(WL) 중 어드레스(ADDR)가 가리키는 워드 라인에 프로그램 전압을 더 인가할 수 있다.
페이지 버퍼 회로(215)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(211)에 연결된다. 페이지 버퍼 회로(215)는 복수의 데이터 라인들(DL)을 통해 데이터 입출력 회로(217)와 연결된다. 페이지 버퍼 회로(215)는 제어 로직 회로(219)의 제어에 따라 동작한다.
페이지 버퍼 회로(215)는 메모리 셀 어레이(211)의 메모리 셀들에 프로그램될 데이터 또는 메모리 셀들로부터 읽히는 데이터를 저장할 수 있다. 프로그램 시에, 페이지 버퍼 회로(215)는 메모리 셀들에 프로그램될 데이터를 저장할 수 있다. 저장된 데이터에 기반하여, 페이지 버퍼 회로(215)는 복수의 비트 라인들(BL)을 바이어스할 수 있다. 프로그램 시에, 페이지 버퍼 회로(215)는 쓰기 드라이버로 기능할 수 있다. 읽기 시에, 페이지 버퍼 회로(215)는 비트 라인들(BL)의 전압들을 센싱하고, 센싱 결과를 저장할 수 있다. 읽기 시에, 페이지 버퍼 회로(215)는 감지 증폭기로 기능할 수 있다.
데이터 입출력 회로(217)는 복수의 데이터 라인들(DL)을 통해 페이지 버퍼 회로(215)와 연결된다. 데이터 입출력 회로(217)는 메모리 컨트롤러(220, 도 2 참조)와 데이터(DATA)를 교환할 수 있다.
데이터 입출력 회로(217)는 메모리 컨트롤러(220)로부터 수신되는 데이터(DATA)를 임시로 저장할 수 있다. 데이터 입출력 회로(217)는 저장된 데이터를 페이지 버퍼 회로(215)로 전달할 수 있다. 데이터 입출력 회로(217)는 페이지 버퍼 회로(215)로부터 전달되는 데이터(DATA)를 임시로 저장할 수 있다. 데이터 입출력 회로(217)는 저장된 데이터(DATA)를 메모리 컨트롤러(220)로 전송할 수 있다. 데이터 입출력 회로(217)는 버퍼 메모리로 기능할 수 있다.
제어 로직 회로(219)는 메모리 컨트롤러(220)로부터 커맨드(CMD)를 수신한다. 제어 로직 회로(219)는 수신된 커맨드(CMD)를 디코딩하고, 디코딩된 커맨드에 따라 불휘발성 메모리(210)의 제반 동작을 제어할 수 있다. 제어 로직 회로(219)는 메모리 컨트롤러(220, 도 2 참조)로부터 다양한 제어 신호들 및 전압들을 더 수신할 수 있다.
도 11는 본 발명의 실시 예에 따른 도 10의 불휘발성 메모리(210)의 메모리 블록(BLKa)을 보여주는 회로도이다. 예시적으로, 도 10에 도시된 메모리 셀 어레이(211)의 복수의 메모리 블록들(BLK1~BLKz) 중 하나의 메모리 블록(BLKa)이 도 11에 도시된다.
도 10 및 도 11를 참조하면, 메모리 블록(BKLa)은 복수의 스트링들(SR)을 포함한다. 복수의 스트링들(SR)은 복수의 비트 라인들(BL1~BLn)에 각각 연결될 수 있다. 각 스트링(SR)은 접지 선택 트랜지스터(GST), 메모리 셀들(MC), 그리고 스트링 선택 트랜지스터(SST)를 포함한다.
각 스트링(SR)의 접지 선택 트랜지스터(GST)는 메모리 셀들(MC) 및 공통 소스 라인(CSL)의 사이에 연결된다. 복수의 스트링들(SR)의 접지 선택 트랜지스터들(GST)은 공통 소스 라인(CSL)에 공통으로 연결된다.
각 스트링(SR)의 스트링 선택 트랜지스터(SST)는 메모리 셀들(MC) 및 비트 라인(BL)의 사이에 연결된다. 복수의 스트링들(SR)의 스트링 선택 트랜지스터들(SST)은 복수의 비트 라인들(BL1~BLn)에 각각 연결된다. 복수의 비트 라인들(BL1~BLn)은 페이지 버퍼 회로(215)에 연결될 수 있다.
각 스트링(SR)에서, 접지 선택 트랜지스터(GST) 및 스트링 선택 트랜지스터(SST) 사이에 복수의 메모리 셀들(MC)이 제공된다. 각 스트링(SR)에서, 복수의 메모리 셀들(MC)은 직렬 연결될 수 있다.
복수의 스트링들(SR)에서, 공통 소스 라인(CSL)으로부터 동일한 순서에 위치한 메모리 셀들(MC)은 하나의 워드 라인에 공통으로 연결될 수 있다. 복수의 스트링들(SR)의 메모리 셀들(MC)은 복수의 워드 라인들(WL1~WLm)에 연결될 수 있다. 복수의 워드 라인들(WL1~WLm)은 어드레스 디코더 회로(213)에 연결될 수 있다.
도 12는 본 발명의 다른 실시 예에 따른 도 10의 불휘발성 메모리(210)의 메모리 블록(BLKb)을 보여주는 회로도이다. 도 12를 참조하면, 메모리 블록(BLKb)은 복수의 셀 스트링들(CS11~CS21, CS12~CS22)을 포함한다. 복수의 셀 스트링들(CS11~CS21, CS12~CS22)은 행 방향(row direction)및 열 방향(column direction)을 따라 배열되어, 행들 및 열들을 형성할 수 있다.
예를 들어, 행 방향(row direction)을 따라 배열된 셀 스트링들(CS11, CS12)은 제1 행을 형성하고, 행 방향(row direction)을 따라 배열된 셀 스트링들(CS21, CS22)은 제2 행을 형성할 수 있다. 열 방향(column direction)을 따라 배열된 셀 스트링들(CS11, CS21)은 제1 열을 형성하고, 열 방향(column direction)을 따라 배열된 셀 스트링들(CS12, CS22)은 제2 열을 형성할 수 있다.
각 셀 스트링은 복수의 셀 트랜지스터들을 포함할 수 있다. 복수의 셀 트랜지스터들은 접지 선택 트랜지스터들(GSTa, GSTb), 메모리 셀들(MC1~MC6), 그리고 스트링 선택 트랜지스터들(SSTa, SSTb)을 포함한다. 각 셀 스트링의 접지 선택 트랜지스터들(GSTa, GSTb), 메모리 셀들(MC1~MC6), 그리고 스트링 선택 트랜지스터들(SSTa, GSTb)은 셀 스트링들(CS11~CS21, CS12~CS22)이 행들 및 열들을 따라 배열되는 평면(예를 들어, 메모리 블록(BLKb)의 기판 상의 평면)과 수직한 높이 방향으로 적층될 수 있다.
최하단의 접지 선택 트랜지스터들(GSTa)은 공통 소스 라인(CSL)에 공통으로 연결될 수 있다.
복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 접지 선택 트랜지스터들(GSTa, GSTb)은 접지 선택 라인(GSL)에 공통으로 연결될 수 있다.
예시적으로, 동일한 높이(또는 순서)의 접지 선택 트랜지스터들은 동일한 접지 선택 라인에 연결되고, 서로 다른 높이(또는 순서)를 갖는 접지 선택 트랜지스터들은 서로 다른 접지 선택 라인들에 연결될 수 있다. 예를 들어, 제1 높이의 접지 선택 트랜지스터들(GSTa)은 제1 접지 선택 라인에 공통으로 연결되고, 제2 높이의 접지 선택 트랜지스터들(GSTb)은 제2 접지 선택 라인에 공통으로 연결될 수 있다.
예시적으로, 동일한 행의 접지 선택 트랜지스터들은 동일한 접지 선택 라인에 연결되고, 서로 다른 행의 접지 선택 트랜지스터들은 서로 다른 접지 선택 라인들에 연결될 수 있다. 예를 들어, 제1 행의 셀 스트링들(CS11, CS12)의 접지 선택 트랜지스터들(GSTa, GSTb)은 제1 접지 선택 라인에 연결되고, 제2 행의 셀 스트링들(CS21, CS22)의 접지 선택 트랜지스터들(GSTa, GSTb)은 제2 접지 선택 라인에 연결될 수 있다.
기판(또는 접지 선택 트랜지스터들(GST))으로부터 동일한 높이(또는 순서)에 위치한 메모리 셀들은 하나의 워드 라인에 공통으로 연결되고, 서로 다른 높이(또는 순서)에 위치한 메모리 셀들은 서로 다른 워드 라인들(WL1~WL6)에 각각 연결될 수 있다. 예를 들어, 메모리 셀들(MC1)은 워드 라인(WL1)에 공통으로 연결된다. 메모리 셀들(MC2)은 워드 라인(WL2)에 공통으로 연결된다. 메모리 셀들(MC3)은 워드 라인(WL3)에 공통으로 연결된다. 메모리 셀들(MC4)은 워드 라인(WL4)에 공통으로 연결된다. 메모리 셀들(MC5)은 워드 라인(WL5)에 공통으로 연결된다. 메모리 셀들(MC6)은 워드 라인(WL6)에 공통으로 연결된다.
복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 동일한 높이(또는 순서)의 제1 스트링 선택 트랜지스터들(SSTa)에서, 서로 다른 행의 제1 스트링 선택 트랜지스터들(SSTa)은 서로 다른 스트링 선택 라인들(SSL1a~SSL2a)에 각각 연결된다. 예를 들어, 셀 스트링들(CS11, CS12)의 제1 스트링 선택 트랜지스터들(SSTa)은 스트링 선택 라인(SSL1a)에 공통으로 연결된다. 셀 스트링들(CS21, CS22)의 제1 스트링 선택 트랜지스터들(SSTa)은 스트링 선택 라인(SSL2a)에 공통으로 연결된다.
복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 동일한 높이(또는 순서)의 제2 스트링 선택 트랜지스터들(SSTb)에서, 서로 다른 행의 제2 스트링 선택 트랜지스터들(SSTb)은 서로 다른 스트링 선택 라인들(SSL1b~SSL2b)에 각각 연결된다. 예를 들어, 셀 스트링들(CS11, CS12)의 제2 스트링 선택 트랜지스터들(SSTb)은 스트링 선택 라인(SSL1b)에 공통으로 연결된다. 셀 스트링들(CS21, CS22)의 제2 스트링 선택 트랜지스터들(SSTb)은 스트링 선택 라인(SSL2b)에 공통으로 연결된다.
즉, 서로 다른 행의 셀 스트링들은 서로 다른 스트링 선택 라인들에 연결된다. 동일한 행의 셀 스트링들의 동일한 높이(또는 순서)의 스트링 선택 트랜지스터들은 동일한 스트링 선택 라인에 연결된다. 동일한 행의 셀 스트링들의 서로 다른 높이(또는 순서)의 스트링 선택 트랜지스터들은 서로 다른 스트링 선택 라인들에 연결된다.
예시적으로, 동일한 행의 셀 스트링들의 스트링 선택 트랜지스터들은 하나의 스트링 선택 라인에 공통으로 연결될 수 있다. 예를 들어, 제1 행의 셀 스트링들(CS11, CS12)의 스트링 선택 트랜지스터들(SSTa, SSTb)은 하나의 스트링 선택 라인에 공통으로 연결될 수 있다. 제2 행의 샐 스트링들(CS21, CS22)의 스트링 선택 트랜지스터들(SSTa, SSTb)은 하나의 스트링 선택 라인에 공통으로 연결될 수 있다.
복수의 셀 스트링들(CS11~CS21, CS12~CS22)의 열들은 서로 다른 비트 라인들(BL1, BL2)에 각각 연결된다. 예를 들어, 제1 열의 셀 스트링들(CS11~CS21)의 스트링 선택 트랜지스터들(SSTb)은 비트 라인(BL1)에 공통으로 연결된다. 제2 열의 셀 스트링들(CS12~CS22)의 스트링 선택 트랜지스터들(SST)은 비트 라인(BL2)에 공통으로 연결된다.
도 12에 도시된 메모리 블록(BLKb)은 예시적인 것이다. 본 발명의 기술적 사상은 도 12에 도시된 메모리 블록(BLKb)에 한정되지 않는다. 예를 들어, 셀 스트링들의 행들의 수는 증가 또는 감소될 수 있다. 셀 스트링들의 행들의 수가 변경됨에 따라, 셀 스트링들의 행들에 연결되는 스트링 선택 라인들 또는 접지 선택 라인의 수, 그리고 하나의 비트 라인에 연결되는 셀 스트링들의 수 또한 변경될 수 있다.
셀 스트링들의 열들의 수는 증가 또는 감소될 수 있다. 셀 스트링들의 열들의 수가 변경됨에 따라, 셀 스트링들의 열들에 연결되는 비트 라인들의 수, 그리고 하나의 스트링 선택 라인에 연결되는 셀 스트링들의 수 또한 변경될 수 있다.
셀 스트링들의 높이는 증가 또는 감소될 수 있다. 예를 들어, 셀 스트링들 각각에 적층되는 접지 선택 트랜지스터들, 메모리 셀들 또는 스트링 선택 트랜지스터들의 수는 증가 또는 감소될 수 있다.
예시적으로, 쓰기 및 읽기는 셀 스트링들(CS11~CS21, CS12~CS22)의 행의 단위로 수행될 수 있다. 스트링 선택 라인들(SSL1a, SSL1b, SSL2a, SSL2b)에 의해, 셀 스트링들(CS11~CS21, CS12~CS22)이 하나의 행 단위로 선택될 수 있다.
셀 스트링들(CS11~CS21, CS12~CS22)의 선택된 행에서, 쓰기 및 읽기는 워드 라인의 단위로 수행될 수 있다. 셀 스트링들(CS11~CS21, CS12~CS22)의 선택된 행에서, 선택된 워드 라인에 연결된 메모리 셀들이 프로그램될 수 있다.
도 13은 본 발명의 실시 예에 따른 메모리 컨트롤러(220)를 보여주는 블록도이다. 도 13을 참조하면, 메모리 컨트롤러(220)는 버스(221), 프로세서(250), 메모리(223), 메모리 인터페이스(224), 에러 정정 블록(225), 호스트 인터페이스(230), 및 클럭 디코더(240)를 포함한다.
버스(221)는 메모리 컨트롤러(220)의 구성 요소들 사이에 채널을 제공하도록 구성된다.
프로세서(250)는 메모리 컨트롤러(220)의 제반 동작을 제어하고, 논리 연산을 수행할 수 있다. 프로세서(250)는 제1 모드에서 호스트 인터페이스(230)를 통해 제1 프로토콜을 지원하는 호스트 장치와 통신할 수 있다. 또한, 프로세서(250)는 제2 모드에서 제1 프로토콜을 지원하지 않는 호스트 장치(100)와 제2 프로토콜을 통해 통신할 수 있다. 프로세서(250)는 메모리 인터페이스(224)를 통해 외부의 불휘발성 메모리(210, 도 2 참조)와 통신할 수 있다.
메모리(223)는 프로세서(250)의 동작 메모리, 캐시 메모리 또는 버퍼 메모리로 사용될 수 있다. 메모리(223)는 프로세서(250)가 실행하는 코드들 및 명령들을 저장할 수 있다. 메모리(223)는 프로세서(250)에 의해 처리되는 데이터를 저장할 수 있다. 메모리(223)는 SRAM을 포함할 수 있다.
메모리 인터페이스(224)는 프로세서(250)의 제어에 따라, 불휘발성 메모리(210)와의 통신을 수행할 수 있다.
에러 정정 블록(225)은 에러 정정을 수행할 수 있다. 에러 정정 블록(225)은 불휘발성 메모리(210)에 기입될 데이터에 기반하여, 에러 정정을 수행하기 위한 패리티를 생성할 수 있다. 데이터 및 패리티는 메모리 인터페이스(224)를 통해 불휘발성 메모리(210)로 전송되고, 불휘발성 메모리(210)에 기입될 수 있다. 에러 정정 블록(225)은 메모리 인터페이스를 통해 불휘발성 메모리(210)로부터 읽어지는 데이터 및 패리티를 이용하여, 데이터의 에러 정정을 수행할 수 있다.
호스트 인터페이스(230)는 프로세서(250)의 제어에 따라, 제1 프로토콜에 따라 외부의 호스트 장치와 통신할 수 있다. 호스트 인터페이스(230)는 도 2를 참조하여 설명된 호스트 인터페이스(230)를 포함할 수 있다.
도 14은 본 발명의 실시 예에 따른 메모리 카드(400)를 보여주는 블록도이다. 본 발명의 실시 예에 따른 도 2의 스토리지 장치(200)는 메모리 카드로 구현될 수 있다.
도 14를 참조하면, 메모리 카드(400)는 불휘발성 메모리(410), 메모리 컨트롤러(420), 커넥터(450), 그리고 바디(460)를 포함한다. 메모리 컨트롤러(420)는 호스트 인터페이스(430), 클럭 디코더(440), 및 프로세서(460)를 포함한다.
도 14의 불휘발성 메모리(410) 및 메모리 컨트롤러(420)는 도 2의 불휘발성 메모리(210) 및 메모리 컨트롤러(420)와 동일하므로 구체적인 설명을 생략한다.
커넥터(450)는 호스트 장치(100, 도 1 참조)와 결합 및 분리될 수 있도록 구성된다. 커넥터(450)는 복수의 연결 패드들(451~456)을 포함한다.
제1 연결 패드(451)는 호스트 장치(100)로부터 접지 전압(VSS)을 공급받을 수 있다. 제1 연결 패드(451)는 외부 호스트 장치(100)로부터 공급되는 접지 전압(VSS)을 불휘발성 메모리(410) 및 메모리 컨트롤러(420)에 공급할 수 있다.
제2 연결 패드(452)는 제1 프로토콜을 지원하는 호스트 장치로부터 공급되는 기준 클럭을 메모리 컨트롤러(420)의 클럭 단자(REF_CLK)에 공급할 수 있다. 제2 연결 패드(452)는 제1 프로토콜을 지원하지 않는 호스트 장치(100)로부터 공급되는 제2 프로토콜에 따른 신호를 메모리 컨트롤러(420)의 클럭 단자(REF_CLK)에 공급할 수 있다.
제3 및 제4 연결 패드들(453, 454)은 호스트 장치(100)로부터 수신되는 신호들을 메모리 컨트롤러(420)의 제1 및 제2 입력 단자들(DIN_t, DIN_c)에 전달할 수 있다.
제5 및 제6 연결 패드들(455, 456)은 메모리 컨트롤러(420)의 제1 및 제2 출력 단자들(DOUT_t, DOUT_c)로부터 전송되는 신호들을 외부 호스트 장치(100)로 전달할 수 있다.
메모리 카드(400)는 제1 내지 제6 연결 패드들(451~456) 이외에 제1 프로토콜을 지원하지 않는 호스트 장치(100)와 통신을 수행하기 위한 별도의 연결 패드를 구비하지 않는다. 메모리 카드(400)는 호스트 장치(100)로부터 제2 프로토콜에 따른 신호를 제2 연결 패드(452)를 통해 수신하고, 제5 및 제6 연결 패드들(455, 456) 중 어느 하나를 통해 제2 프로토콜에 따른 신호를 호스트 장치(100)에 출력할 수 있다. 메모리 카드(400)는 제2 프로토콜에 따른 통신을 위한 별도의 연결 패드 추가 없이, 제1 프로토콜을 지원하지 않는 호스트 장치(100)와 제2 프로토콜에 따른 통신을 수행할 수 있다.
바디(460)는 메모리 카드(400)의 구성 요소들을 감싸고, 물리적으로 메모리 카드(400)를 보호할 수 있다.
도 14의 메모리 카드(400)는 컴팩트 플래시 카드(CFC: Compact Flash Card), 마이크로 드라이브(Microdrive), 스마트 미디어 카드(SMC: Smart Media Card), 멀티미디어 카드(MMC: Multimedia Card), 보안 디지털 카드(SDC: Security Digital Card), 메모리 스틱(Memory Stick), 및 USB 플래시 메모리 드라이버 등으로 구현될 수 있다.
한편, 상술 된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.
1000: 메모리 시스템
100: 호스트 장치.
200: 스토리지 장치
210: 불휘발성 메모리
220: 메모리 컨트롤러
230: 호스트 인터페이스
240: 클럭 디코더
250: 프로세서
400: 메모리 카드
REF_CLK: 클럭 단자
RX: 입력 단자
TX: 출력 단자

Claims (20)

  1. 제1 프로토콜에 따른 통신을 수행하는 호스트 인터페이스;
    입력 신호를 수신하도록 설정된 입력 단자;
    출력 신호를 출력하도록 설정된 출력 단자; 및
    클럭 신호를 수신하도록 설정된 클럭 단자를 포함하고,
    상기 제1 프로토콜을 지원하지 않는 호스트 장치와 상기 클럭 단자를 통해 상기 제1 프로토콜과 서로 다른 제2 프로토콜에 따른 통신을 수행하는 스토리지 장치.
  2. 제1항에 있어서,
    상기 제1 프로토콜은 UFS 프로토콜인 스토리지 장치.
  3. 제1항에 있어서,
    제1 모드 및 제2 모드 중 하나로 동작하고, 상기 제1 모드에서 상기 제1 프로토콜을 지원하는 호스트 장치와 상기 제1 프로토콜에 따른 통신을 수행하고, 상기 제2 모드에서 상기 제1 프로토콜을 지원하지 않는 호스트 장치와 상기 제2 프로토콜에 따른 통신을 수행하는 스토리지 장치.
  4. 제3항에 있어서,
    상기 제2 모드에서, 상기 입력 단자는 비활성화되는 스토리지 장치.
  5. 제3항에 있어서,
    상기 제2 모드에서, 상기 클럭 단자를 통해 상기 제2 프로토콜에 따른 상기 클럭 신호를 수신하고, 상기 출력 단자를 통해 상기 제2 프로토콜에 따른 상기 출력 신호를 출력하는 스토리지 장치.
  6. 제5항에 있어서,
    상기 제2 프로토콜에 따른 상기 클럭 신호의 적어도 하나의 명령어 셋을 세그먼트 단위로 분석하여 상기 세그먼트의 클럭 모드를 판별하는 클럭 디코더를 더 포함하는 스토리지 장치.
  7. 제6에 있어서,
    상기 세그먼트는 복수의 펄스들로 이루어지고, 상기 세그먼트의 길이와 상기 클럭 모드는 상기 펄스들의 펄스 폭에 의해 결정되는 스토리지 장치.
  8. 제6항에 있어서,
    상기 클럭 모드는,
    상기 제2 모드로 진입하라는 명령이 할당된 제1 클럭 모드;
    상기 제2 모드에서 실행할 동작을 나타내는 코드의 제1 비트에 대응하는 제2 클럭 모드;
    상기 코드의 상기 제1 비트와 서로 다른 제2 비트에 대응하는 제3 클럭 모드; 및
    상기 코드가 나타내는 동작을 실행하라는 명령이 할당된 제4 클럭 모드를 포함하는 스토리지 장치.
  9. 제6항에 있어서,
    상기 출력 단자는 상기 제2 모드로 진입한 후, 상기 명령어 셋에 해당하는 동작을 실행할 때까지 하이버네이트 상태(HIBERN8)로 제어되고,
    상기 출력 단자는 상기 명령어 셋에 해당하는 동작을 실행한 후, 실행 결과에 따라 상기 하이버네이트 상태(HIBERN8)를 유지하도록 제어되거나, 양의 상태(DIF-P) 및 음의 상태(DIF-N) 중 어느 하나로 제어되는 스토리지 장치.
  10. 제9항에 있어서,
    상기 출력 단자는 상기 하이버네이트 상태(HIBERN8)에서 풀-업된 스토리지 장치.
  11. 제9항에 있어서,
    상기 출력 단자는 서로 상보적인 신호들을 출력하는 제1 출력 단자 및 제2 출력 단자를 포함하고, 상기 출력 단자가 상기 양의 상태 또는 상기 음의 상태로 제어될 때, 상기 제1 출력 단자 및 상기 제2 출력 단자 중 로우 상태를 갖는 단자를 통해 상기 제2 프로토콜에 따른 통신을 수행하는 스토리지 장치.
  12. 제6항에 있어서,
    상기 호스트 인터페이스는 상기 제1 프로토콜에 따라 상기 입력 신호를 수신하거나 상기 출력 신호를 출력하고, 상기 클럭 디코더를 포함하는 물리 레이어를 포함하는 스토리지 장치.
  13. 제1항에 있어서,
    상기 스토리지 장치는 메모리 카드로 구현된 스토리리 장치.
  14. 제1 프로토콜을 지원하는 호스트 인터페이스, 입력 단자, 출력 단자, 및 클럭 단자를 포함하는 스토리지 장치와 상기 제1 프로토콜을 지원하지 않는 호스트 장치 사이의 제2 프로토콜에 따른 통신 방법에 있어서,
    상기 클럭 단자로 상기 제2 프로토콜에 따른 적어도 하나의 명령어 셋을 갖는 신호가 입력되는 단계; 및
    상기 출력 단자로 상기 명령어 셋에 해당하는 동작의 결과를 출력하는 단계를 포함하는 스토리지 장치의 통신 방법.
  15. 제14항에 있어서,
    상기 제2 프로토콜에 따른 통신 모드로 진입하는 단계; 및
    상기 명령어 셋에 해당하는 동작을 실행하는 단계를 더 포함하는 스토리지 장치의 통신 방법.
  16. 제14항에 있어서,
    상기 명령어 셋에 해당하는 동작은, 펌웨어 다운로드, 메모리 테스트 실행, BIST(Built-in self-test) 실행, 및 디버깅을 위해 메모리 컨트롤러 내부 상태 확인 중 적어도 하나인 스토리지 장치의 통신 방법.
  17. 제14항에 있어서,
    상기 명령어 셋에 해당하는 동작의 결과를 출력할때까지 상기 출력 단자를 하이버네이트 상태(HIBERN8)로 제어하고,
    상기 명령어 셋에 해당하는 동작의 실행 결과에 따라 상기 출력 단자를 하이버네이트 상태(HIBERN8)를 유지하도록 제어하거나, 양의 상태(DIF-P) 및 음의 상태(DIF-N) 중 어느 하나로 제어하는 스토리지 장치의 통신 방법.
  18. 제14항에 있어서,
    상기 제1 프로토콜은 UFS 프로토콜인 스토리지 장치의 통신 방법.
  19. 쓰기, 읽기, 및 소거를 수행할 수 있는 불휘발성 메모리; 및
    상기 불휘발성 메모리를 제어하고, 제1 프로토콜을 지원하는 호스트 장치와 상기 제1 프로토콜에 따른 통신을 수행하는 제1 모드 및 상기 제1 프로토콜을 지원하지 않는 호스트 장치와 상기 제1 프로토콜과 서로 다른 제2 프로토콜에 따른 통신을 수행하는 제2 모드 중 하나로 동작하는 메모리 컨트롤러를 포함하고,
    상기 메모리 컨트롤러는,
    상기 제1 프로토콜에 따른 통신을 수행하는 호스트 인터페이스;
    상기 제2 모드에서 상기 제2 프로토콜에 따른 출력 신호를 출력하는 출력 단자; 및
    상기 제2 모드에서 상기 제2 프로토콜에 따른 클럭 신호를 수신하는 클럭 단자를 포함하는 메모리 카드.
  20. 제19항에 있어서,
    상기 메모리 컨트롤러는 상기 제2 모드에서 비활성화되는 입력 단자를 더 포함하는 메모리 카드.
KR1020140126731A 2014-07-31 2014-09-23 스토리지 장치, 메모리 카드, 및 스토리지 장치의 통신 방법 KR102149665B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/795,640 US9619156B2 (en) 2014-07-31 2015-07-09 Storage device, memory card, and communicating method of storage device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462031299P 2014-07-31 2014-07-31
US62/031,299 2014-07-31

Publications (2)

Publication Number Publication Date
KR20160018302A true KR20160018302A (ko) 2016-02-17
KR102149665B1 KR102149665B1 (ko) 2020-09-01

Family

ID=55457565

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140126731A KR102149665B1 (ko) 2014-07-31 2014-09-23 스토리지 장치, 메모리 카드, 및 스토리지 장치의 통신 방법

Country Status (1)

Country Link
KR (1) KR102149665B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105931670A (zh) * 2016-04-22 2016-09-07 西安电子科技大学 基于Nand Flash存储器阵列的存储控制装置
US9847140B2 (en) 2014-11-24 2017-12-19 Samsung Electronics Co., Ltd. Storage device and operating method of storage device
KR20180035333A (ko) * 2016-09-29 2018-04-06 삼성전자주식회사 메모리 카드 및 이를 포함하는 스토리지 시스템
US10922016B2 (en) 2017-11-07 2021-02-16 SK Hynix Inc. Data processing system and operating method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020163834A1 (en) * 2000-08-14 2002-11-07 Scheuerlein Roy E. Integrated systems using vertically-stacked three-dimensional memory cells
US20040215996A1 (en) * 2003-04-25 2004-10-28 Renesas Technology Corp. Memory card
US20110072185A1 (en) * 2009-09-23 2011-03-24 Sandisk Il Ltd. Multi-protocol storage device bridge
US20120266008A1 (en) * 2011-04-13 2012-10-18 International Business Machines Corporation System-wide power management control via clock distribution network
US20130024585A1 (en) * 2011-07-18 2013-01-24 O2Micro, Inc. Circuits and Methods for Providing Communication Between a Memory Card and a Host Device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020163834A1 (en) * 2000-08-14 2002-11-07 Scheuerlein Roy E. Integrated systems using vertically-stacked three-dimensional memory cells
US20040215996A1 (en) * 2003-04-25 2004-10-28 Renesas Technology Corp. Memory card
US20110072185A1 (en) * 2009-09-23 2011-03-24 Sandisk Il Ltd. Multi-protocol storage device bridge
US20120266008A1 (en) * 2011-04-13 2012-10-18 International Business Machines Corporation System-wide power management control via clock distribution network
US20130024585A1 (en) * 2011-07-18 2013-01-24 O2Micro, Inc. Circuits and Methods for Providing Communication Between a Memory Card and a Host Device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9847140B2 (en) 2014-11-24 2017-12-19 Samsung Electronics Co., Ltd. Storage device and operating method of storage device
CN105931670A (zh) * 2016-04-22 2016-09-07 西安电子科技大学 基于Nand Flash存储器阵列的存储控制装置
CN105931670B (zh) * 2016-04-22 2019-09-03 西安电子科技大学 基于Nand Flash存储器阵列的存储控制装置
KR20180035333A (ko) * 2016-09-29 2018-04-06 삼성전자주식회사 메모리 카드 및 이를 포함하는 스토리지 시스템
US10922016B2 (en) 2017-11-07 2021-02-16 SK Hynix Inc. Data processing system and operating method thereof
US11474747B2 (en) 2017-11-07 2022-10-18 SK Hynix Inc. Data processing system and operating method thereof

Also Published As

Publication number Publication date
KR102149665B1 (ko) 2020-09-01

Similar Documents

Publication Publication Date Title
KR102658792B1 (ko) 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 동작 방법
KR102321501B1 (ko) 불휘발성 메모리 장치 및 그것을 포함하는 스토리지 장치의 동작 방법
KR101903095B1 (ko) 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 제어하는 컨트롤러의 동작 방법
KR102469680B1 (ko) 반도체 메모리 장치
KR102566994B1 (ko) 멀티 칩 디버깅 방법 및 이를 적용하는 멀티 칩 시스템
KR102294127B1 (ko) 누설 전류 감지 장치 및 이를 포함하는 비휘발성 메모리 장치
US9619156B2 (en) Storage device, memory card, and communicating method of storage device
KR101678907B1 (ko) 리드 디스터번스를 줄일 수 있는 불휘발성 메모리 장치 및 그것의 읽기 방법
KR20160135055A (ko) 더미 메모리 셀들을 포함하는 반도체 메모리 장치 및 그것의 동작 방법
KR102154499B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
KR101984796B1 (ko) 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
KR102187521B1 (ko) 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 메모리 시스템 및 불휘발성 메모리에 데이터를 프로그램하는 프로그램 방법
KR102111579B1 (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20140013383A (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
KR20150026248A (ko) 반도체 메모리 장치, 그것의 동작 방법 및 그것을 포함하는 메모리 시스템
US10268575B2 (en) Nonvolatile memory device and memory system including the same
KR20140145367A (ko) 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
KR20180028292A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20180073885A (ko) 반도체 메모리 장치 및 이의 동작 방법
KR20180029432A (ko) 반도체 메모리 장치 및 그것의 동작 방법
CN104700894A (zh) 存储卡和与存储卡通信的接口电路
KR102149665B1 (ko) 스토리지 장치, 메모리 카드, 및 스토리지 장치의 통신 방법
US20140003167A1 (en) Nonvolatile memory device, operating method thereof, and data storage device having the same
KR20180016854A (ko) 반도체 메모리 장치 및 그 동작 방법
KR20190044349A (ko) 반도체 메모리 장치 및 그 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant