KR20210106319A - 스토리지 장치 및 이를 포함하는 스토리지 시스템 - Google Patents

스토리지 장치 및 이를 포함하는 스토리지 시스템 Download PDF

Info

Publication number
KR20210106319A
KR20210106319A KR1020200128277A KR20200128277A KR20210106319A KR 20210106319 A KR20210106319 A KR 20210106319A KR 1020200128277 A KR1020200128277 A KR 1020200128277A KR 20200128277 A KR20200128277 A KR 20200128277A KR 20210106319 A KR20210106319 A KR 20210106319A
Authority
KR
South Korea
Prior art keywords
reference clock
host
storage device
clock frequency
frequency
Prior art date
Application number
KR1020200128277A
Other languages
English (en)
Inventor
노관우
서성호
정용우
남동우
신명섭
장현규
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP21151346.0A priority Critical patent/EP3869315A1/en
Priority to CN202110190691.6A priority patent/CN113284528A/zh
Priority to US17/179,830 priority patent/US11561571B2/en
Publication of KR20210106319A publication Critical patent/KR20210106319A/ko
Priority to US18/064,002 priority patent/US11874695B2/en
Priority to US18/508,479 priority patent/US20240085940A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0064Latency reduction in handling transfers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

스토리지 장치 및 이를 포함하는 스토리지 시스템이 개시된다. 본 개시의 기술적 사상에 따른 스토리지 장치는, 호스트로부터 기준 클럭을 수신하도록 구성된 기준 클럭 핀, 기준 클럭 핀을 통해 수신한 기준 클럭으로부터 기준 클럭 주파수를 판별하도록 구성된 기준 클럭 주파수 판별기, 및 판별된 기준 클럭 주파수에 따라 호스트와 스토리지 장치 사이에서 고속 모드로 링크 스타트업을 수행하도록 구성된 장치 컨트롤러를 포함한다.

Description

스토리지 장치 및 이를 포함하는 스토리지 시스템{Storage device and storage system including the same}
본 개시의 기술적 사상은 메모리 장치에 관한 것이며, 더욱 상세하게는, 스토리지 장치 및 이를 포함하는 스토리지 시스템에 관한 것이다.
스토리지 시스템은 호스트와 스토리지 장치로 구성된다. 호스트와 스토리지 장치는 UFS(universal flash storage), SATA(serial ATA), SCSI(small computer small interface), SAS(serial attached SCSI), eMMC(embedded MMC) 등과 같은 다양한 표준 인터페이스를 통해 연결된다. 스토리지 시스템이 모바일 장치에 사용되는 경우 호스트와 스토리지 장치 사이의 고속 동작이 매우 중요하며, 호스트와 스토리지 장치 사이의 신속한 링크업이 요구된다.
본 개시의 기술적 사상은, 호스트와 스토리지 장치 사이에서 고속 모드로 링크 스타트업을 수행할 수 있는 스토리지 장치, 이를 포함하는 스토리지 시스템, 및 스토리지 장치의 동작 방법을 제공한다.
본 개시의 기술적 사상에 따른 스토리지 장치는, 호스트로부터 기준 클럭을 수신하도록 구성된 기준 클럭 핀, 상기 기준 클럭 핀을 통해 수신한 상기 기준 클럭으로부터 기준 클럭 주파수를 판별하도록 구성된 기준 클럭 주파수 판별기, 및 판별된 상기 기준 클럭 주파수에 따라, 상기 호스트와 상기 스토리지 장치 사이에서 고속 모드로 링크 스타트업을 수행하도록 구성된 장치 컨트롤러를 포함한다.
또한, 본 개시의 다른 기술적 사상에 따른 스토리지 장치는, 호스트로부터 기준 클럭을 수신하도록 구성된 기준 클럭 핀, 상기 기준 클럭 핀을 통해 수신한 상기 기준 클럭으로부터 기준 클럭 주파수를 판별하도록 구성된 기준 클럭 주파수 판별기, 및 상기 호스트와 상기 스토리지 장치 사이의 링크업 상태(linkup state)에서 상기 기준 클럭 주파수가 제1 기준 클럭 주파수에서 제2 기준 클럭 주파수로 변경되는 경우, 변경된 상기 제2 기준 클럭 주파수에 따라, 상기 호스트와 상기 스토리지 장치 사이의 속도 기어를 동적으로 변경하도록 구성된 장치 컨트롤러를 포함한다.
또한, 본 개시의 다른 기술적 사상에 따른 스토리지 장치는, 호스트로부터 기준 클럭을 수신하도록 구성된 기준 클럭 핀, 상기 호스트로부터 제어 신호를 수신하도록 구성된 제어 신호 핀, 및 상기 제어 신호에 따라, 상기 호스트와 상기 스토리지 장치 사이에서 고속 모드로 링크 스타트업을 수행하거나 또는 상기 호스트와 상기 스토리지 장치 사이의 속도 기어를 변경하도록 구성된 장치 컨트롤러를 포함한다.
본 개시의 기술적 사상에 따르면, 스토리지 장치는 호스트로부터 수신한 기준 클럭의 주파수를 판별하고, 판별된 기준 클럭의 주파수를 적용하여 고속 모드로 링크 스타트업 동작을 수행할 수 있으므로, 호스트와 스토리지 장치의 링크 스타트업 동작에 소요되는 시간을 줄일 수 있다. 이에 따라, 호스트와 스토리지 장치는 신속하게 링크업 상태로 설정될 수 있으므로, 스토리지 시스템의 성능을 향상시킬 수 있다.
또한, 본 개시의 기술적 사상에 따르면, 스토리지 장치는 동작 상황에서 호스트로부터 수신한 기준 클럭의 변경 여부를 판별할 수 있고, 변경된 기준 클럭의 주파수를 적용하여 다양한 속도 기어에서 호스트와 데이터를 안정적으로 송수신할 수 있다. 이에 따라, 호스트와 스토리지 장치는 신속하게 속도 기어를 변경할 수 있으므로, 스토리지 시스템의 성능을 더욱 향상시킬 수 있다.
또한, 본 개시의 기술적 사상에 따르면, 스토리지 장치는 특정 제어 신호를 수신하는 전용 핀을 포함하고, 전용 핀을 통해 호스트로부터 수신한 제어 신호에 따라 고속 모드로 링크 스타트업 동작을 수행하거나 또는 호스트와 스토리지 장치 사이의 속도 기어를 변경할 수 있으므로, 스토리지 시스템의 성능을 더욱 향상시킬 수 있다.
도 1은 본 개시의 일 실시예에 따른 스토리지 시스템을 나타내는 블록도이다.
도 2는 본 개시의 일 실시예에 따른 호스트와 스토리지 장치 사이의 인터페이스를 나타낸다.
도 3은 본 개시의 일 실시예에 따른 스토리지 시스템을 나타내는 블록도이다.
도 4는 본 개시의 일 실시예에 따른 기준 클럭 주파수 카운터를 나타내는 블록도이다.
도 5는 본 개시의 일 실시예에 따라, 도 4의 기준 클럭 주파수 카운터의 카운팅 동작을 예시적으로 나타내는 타이밍도이다.
도 6은 본 개시의 일 실시예에 따른 기준 클럭 주파수 판별기를 나타내는 블록도이다.
도 7은 본 개시의 일 실시예에 따른 기준 클럭 주파수 판별기를 나타내는 블록도이다.
도 8은 본 개시의 일 실시예에 따라, 도 7의 기준 클럭 주파수 판별기의 주파수 판별 동작을 예시적으로 나타내는 타이밍도이다.
도 9는 본 개시의 일 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 10은 본 개시의 일 실시예에 따른 호스트와 스토리지 장치 사이의 동작을 나타내는 흐름도이다.
도 11은 본 개시의 일 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 12는 본 개시의 일 실시예에 따른 UFS 호스트와 UFS 장치 사이의 고속 모드 초기화 시퀀스를 예시적으로 나타내는 흐름도이다.
도 13은 본 개시의 일 실시예에 따른 기준 클럭 검출기를 나타내는 블록도이다.
도 14는 본 개시의 일 실시예에 따라, 도 13의 기준 클럭 검출기의 기준 클럭 검출 동작을 예시적으로 나타내는 타이밍도이다.
도 15 내지 도 17은 본 개시의 일부 실시예들에 따른 스토리지 장치의 동작 방법을 각각 나타내는 흐름도들이다.
도 18은 본 개시의 일 실시예에 따라, 기준 클럭 주파수 판별기의 기준 클럭 주파수 업데이트 동작을 예시적으로 나타낸다.
도 19는 본 개시의 일 실시예에 따른 호스트와 스토리지 장치 사이의 동작을 나타내는 흐름도이다.
도 20은 본 개시의 일 실시예에 따른 스토리지 시스템을 나타내는 블록도이다.
도 21 내지 도 23은 본 개시의 일부 실시예들에 따른 제어 신호들을 각각 나타내는 표들이다.
도 24는 본 발명의 일 실시예에 따른 UFS 시스템에 대해 설명하기 위한 도면이다.
도 25a 내지 25c는 UFS 카드(card)의 폼 팩터(form factor)에 대해 설명하기 위한 도면이다.
도 26은 본 개시의 일 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 27은 본 개시의 일 실시예에 따른 UFS 장치에 적용될 수 있는 3D VNAND 구조에 대해 설명하기 위한 도면이다.
도 28은 본 개시의 일 실시예에 따른 UFS 장치에 적용될 수 있는 BVNAND 구조에 대해 설명하기 위한 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다.
도 1은 본 개시의 일 실시예에 따른 스토리지 시스템(10)을 나타내는 블록도이다.
도 1을 참조하면, 스토리지 시스템(10)은 스토리지 장치(100) 및 호스트(200)를 포함한다. 예를 들어, 스토리지 장치(100)와 호스트(200)는 UFS(Universal Flash Storage) 표준(standard)에서 정의된 인터페이스 규약에 따라 연결될 수 있고, 이에 따라, 스토리지 장치(100)는 UFS 장치일 수 있고, 호스트(200)는 UFS 호스트일 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 스토리지 장치(100)와 호스트(200)는 다양한 표준 인터페이스들에 따라 연결될 수 있다.
호스트(200)는 스토리지 장치(100)에 대한 데이터 처리 동작, 예를 들어, 데이터 독출 동작 또는 데이터 기입 동작 등을 제어할 수 있다. 호스트(200)는 CPU(Central Processing Unit), 프로세서, 마이크로프로세서 또는 어플리케이션 프로세서(Application Processor, AP) 등과 같이 데이터를 처리할 수 있는 데이터 처리 장치를 의미할 수 있다. 호스트(200)는 운영 체제(operating system, OS) 및/또는 다양한 응용 프로그램(application)을 수행할 수 있다. 일 실시예에서, 스토리지 시스템(10)은 모바일 장치에 포함될 수 있고, 호스트(200)는 어플리케이션 프로세서(AP)로 구현될 수 있다. 일 실시예에서, 호스트(200)는 시스템 온 칩(System-On-a-Chip, SoC)으로 구현될 수 있고, 이에 따라, 전자 장치에 내장될 수 있다.
호스트(200)는 인터커넥트부(210) 및 호스트 컨트롤러(220)를 포함할 수 있다. 또한, 호스트(200)는 기준 클럭(REF_CLK)을 생성하는 기준 클럭 생성기(230)를 더 포함할 수 있고, 기준 클럭(REF_CLK)을 스토리지 장치(100)에 제공할 수 있다. 도 1에서는, 호스트 컨트롤러(220)가 기준 클럭 생성기(230)를 포함하는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않는다.
기준 클럭 생성기(230)는 기준 클럭(REF_CLK)을 생성할 수 있고, 생성된 기준 클럭(REF_CLK)은 다양한 주파수들 중 하나를 가질 수 있다. 예를 들어, 기준 클럭(REF_CLK)의 주파수는 19.2 MHz, 26 MHz, 38.4 MHz, 52 MHz 등과 같은 다양한 주파수들 중 하나로 결정될 수 있다. 일 실시예에서, 선택 가능한 기준 클럭(REF_CLK)의 주파수들의 개수는 19.2 MHz, 26 MHz, 38.4 MHz, 52 MHz의 4가지일 수 있으나, 본 발명은 이에 한정되지 않는다. 일부 실시예들에서, 선택 가능한 기준 클럭(REF_CLK)의 주파수들의 개수는 4개보다 적거나 또는 4개보다 많을 수도 있다.
일 실시예에서, 기준 클럭 생성기(230)는 스토리지 시스템(10)의 초기화(initialization) 단계 또는 부팅(booting) 단계에서 기준 클럭(REF_CLK)을 생성할 수 있고, 생성된 기준 클럭(REF_CLK)을 스토리지 장치(100)에 제공할 수 있다. 일 실시예에서, 기준 클럭 생성기(230)는 스토리지 시스템(10)의 동작 중에 기준 클럭(REF_CLK)을 계속하여 생성할 수 있고, 생성된 기준 클럭(REF_CLK)을 스토리지 장치(100)에 계속하여 제공할 수 있다. 일 실시예에서, 기준 클럭 생성기(230)는 스토리지 시스템(10)의 동작 중에 기준 클럭(REF_CLK)의 주파수를 변경할 수 있고, 주파수가 변경된 기준 클럭(REF_CLK)을 스토리지 장치(100)에 제공할 수 있다.
스토리지 장치(100)는 인터커넥트부(110), 장치 컨트롤러(120) 및 비휘발성 메모리(130)를 포함할 수 있다. 장치 컨트롤러(120)는 호스트(200)로부터의 기입 요청에 응답하여 비휘발성 메모리(130)에 데이터를 기입하도록 비휘발성 메모리(130)를 제어하거나, 또는 호스트(200)로부터의 독출 요청에 응답하여 비휘발성 메모리(130)에 저장된 데이터를 독출하도록 비휘발성 메모리(130)를 제어할 수 있다. 또한, 스토리지 장치(100)는 기준 클럭 주파수 판별기(140)를 더 포함할 수 있다. 도 1에서는, 장치 컨트롤러(120)는 기준 클럭 주파수 판별기(140)를 포함하는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않는다.
아울러, 도 1에서는 인터커넥트부(110)와 장치 컨트롤러(120)가 서로 구별되는 구성인 것으로 도시되어 있지만, 장치 컨트롤러(120)는 인터커넥트부(110)를 포함하는 개념일 수 있으며, 이와 같은 점은 도 1 외의 뒤에서 설명될 다른 도면들에 대해서도 같다. 예컨대, 장치 컨트롤러(120)가 하나의 패키지 칩(package chip)으로 구현될 때, 인터커넥트부(110) 역시 상기 패키지 칩에 함께 구현될 수 있다.
기준 클럭 주파수 판별기(140)는 호스트(200)로부터 수신한 기준 클럭(REF_CLK)의 주파수를 판별할 수 있다. 스토리지 시스템(10)에 전원이 인가되면, 호스트(200)는 스토리지 장치(100)에 기준 클럭(REF_CLK)을 제공하고, 기준 클럭 주파수 판별기(140)는 기준 클럭(REF_CLK)을 수신하고, 수신한 기준 클럭(REF_CLK)의 주파수를 판별할 수 있다. 이에 따라, 스토리지 장치(100)는 호스트(200)로부터 기준 클럭(REF_CLK)의 주파수 정보를 추가적으로 수신하지 않아도 된다.
스토리지 장치(100)는 판별된 기준 클럭(REF_CLK)의 주파수를 적용함으로써, 호스트(200)와 스토리지 장치(100) 사이에서 고속 모드로 링크 스타트업을 수행할 수 있다. 따라서, 링크 스타트업에 소요되는 시간을 줄일 수 있고, 호스트(200)와 스토리지 장치(100)는 빠르게 링크업 상태로 설정될 수 있으므로, 스토리지 시스템(10)의 성능을 향상시킬 수 있다. 기준 클럭 주파수 판별기(140)의 구체적인 동작에 대해 도 4 내지 도 19를 참조하여 후술하기로 한다. 또한, 일 실시예에서, 장치 컨트롤러(120)는 사이드 밴드 신호(side band signal)를 이용하여 기준 클럭(REF_CLK)의 주파수를 판별할 수도 있다.
비휘발성 메모리(130)는 복수의 메모리 셀들을 포함할 수 있는데, 예를 들어, 복수의 메모리 셀들은 플래쉬 메모리 셀들일 수 있다. 일 실시예에서, 복수의 메모리 셀들은 낸드(NAND) 플래쉬 메모리 셀들일 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 다른 실시예에서, 복수의 메모리 셀들은 ReRAM(resistive RAM), PRAM(phase change RAM) 또는 MRAM(magnetic RAM)과 같은 저항형 메모리 셀들일 수 있다.
호스트(200)는 제1 핀(P1')을 더 포함할 수 있고, 제1 핀(P1')을 통해 스토리지 장치(100)로 기준 클럭(REF_CLK)을 전송할 수 있다. 스토리지 장치(100)는 제1 핀(P1')에 연결되도록 구성된 제1 핀(P1)을 더 포함할 수 있고, 제1 핀(P1)을 통해 호스트(200)로부터 기준 클럭(REF_CLK)을 수신할 수 있다. 이와 같이, 제1 핀들(P1', P1)을 통해 호스트(200)로부터 스토리지 장치(100)로 기준 클럭(REF_CLK)을 전송할 수 있는바, 제1 핀들(P1', P1)은 "기준 클럭 핀들"이라고 지칭할 수 있다. 일 실시예에서, 스토리지 장치(100)는 스토리지 장치(100)의 초기화 단계 또는 부팅 단계에서, 제1 핀(P1)을 통해 호스트(200)로부터 기준 클럭(REF_CLK)을 수신할 수 있다
호스트(200)는 제2 및 제3 핀들(P2', P3')을 더 포함할 수 있고, 스토리지 장치(100)는 제2 및 제3 핀들(P2', P3')에 각각 연결되도록 구성된 제2 및 제3 핀들(P2, P3)을 더 포함할 수 있다. 호스트(200)는 제2 핀들(P2', P2)을 통해 스토리지 장치(100)로 입력 신호(DIN)를 전송할 수 있는바, 제2 핀들(P2', P2)은 "입력 신호 핀들"이라고 지칭할 수 있다. 일부 실시예들에서, 입력 신호는 차동 입력 신호일 수 있고, 이에 따라, 호스트(200)는 두 개의 제2 핀들(P2')을 포함하고, 스토리지 장치(100)는 두 개의 제2 핀들(P2)을 포함할 수 있다. 스토리지 장치(100)는 제3 핀들(P3', P3)을 통해 호스트(200)로 출력 신호(DOUT)를 전송할 수 있는바, 제3 핀들(P3', P3)은 "출력 신호 핀들"이라고 지칭할 수 있다. 일부 실시예들에서, 출력 신호는 차동 출력 신호일 수 있고, 이에 따라, 호스트(200)는 두 개의 제3 핀들(P3')을 포함하고, 스토리지 장치(100)는 두 개의 제3 핀들(P3)을 포함할 수 있다.
인터커넥트부들(110, 210)은 호스트(200)와 스토리지 장치(100) 사이에서 데이터를 교환하기 위한 인터페이스를 제공할 수 있다. 일 실시예에서, 인터커넥트부(110)는 물리 계층(physical layer, PL)(111) 및 링크 계층(link layer, LL)(115)을 포함할 수 있고, 물리 계층(111)은 제2 및 제3 핀들(P2, P3)에 연결될 수 있다. 마찬가지로, 인터커넥트부(210)도 물리 계층(211) 및 링크 계층(215)을 포함할 수 있고, 물리 계층(211)은 제2 및 제3 핀들(P2', P3')에 연결될 수 있다. 각 물리 계층(111, 211)은 호스트(200)와 스토리지 장치(100) 사이에서 데이터를 교환하기 위한 물리적 구성들을 포함할 수 있고, 예를 들어, 적어도 하나의 송신기(transmitter) 및 적어도 하나의 수신기(receiver) 등을 포함할 수 있다. 각 링크 계층(115, 215)은 데이터의 전송 및 조합(Composition)을 관리할 수 있고, 데이터의 무결성(Integrity) 및 오류(Error)를 관리할 수도 있다.
일 실시예에서, 스토리지 시스템(10)이 모바일 장치인 경우, 링크 계층들(115, 215)은 "UniPro" 스펙에 의해 정의될 수 있고, 물리 계층들(111, 211)은 "M-PHY" 스펙에 의해 정의될 수 있다. UniPro 및 M-PHY는 MIPI(Mobile Industry Processor Interface) 연합(Alliance)에 의해 제안된 인터페이스 규약이다. 이때, 링크 계층들(115, 215)은 물리 적응 계층(Physical Adapted Layer)을 각각 포함할 수 있다. 물리 적응 계층은 데이터의 심볼을 관리하거나 전력을 관리하는 등 물리 계층들(111, 211)을 제어할 수 있다. 이하에서는, 도 2를 참조하여 호스트(200)와 스토리지 장치(100) 사이의 인터페이스에 대해 상세하게 설명하기로 한다.
도 2는 본 개시의 일 실시예에 따른 호스트와 스토리지 장치 사이의 인터페이스(20)를 나타낸다.
도 2를 참조하면, 인터페이스(20)는 호스트 컨트롤러(220)와 장치 컨트롤러(120) 사이의 링크(link)(300)를 포함할 수 있고, 링크(300)는 복수의 레인들(lanes)(310, 320, 330)을 포함할 수 있다. 링크(300)는 각 방향에 대응하는 적어도 하나의 레인을 포함할 수 있으며, 각 방향의 레인들의 수는 대칭적일 필요는 없다. 예를 들어, 링크(300)는 호스트 컨트롤러(220)에서 장치 컨트롤러(120)로의 제1 방향에 대응하는 두 개의 레인들(310, 320) 및 장치 컨트롤러(120)에서 호스트 컨트롤러(220)로의 제2 방향에 대응하는 하나의 레인(330)을 포함할 수 있으나, 본 발명은 이에 한정되지 않는다.
각 레인(310, 320, 330)은 단방향(unidirectional), 싱글-시그널(single-signal), 정보를 실어 나르는 전송 채널(transmission channel)이다. 예를 들어, 레인(320)은 송신기(TX1), 수신기(RX1), 그리고 송신기(TX1)와 수신기(RX1) 사이를 포인트-투-포인트 인터컨넥트하는 라인(LINE)으로 구성될 수 있다. 예를 들어, 송신기(TX1)는 차동 신호의 포지티브 노드에 대응하는 핀(TXDP) 및 차동 신호의 네거티브 노드에 대응하는 핀(TXDN)에 연결될 수 있고, 수신기(RX1)는 차동 신호의 포지티브 노드에 대응하는 핀(RXDP) 및 차동 신호의 네거티브 노드에 대응하는 핀(RXDN)에 연결될 수 있다. 라인(LINE)은 송신기(TX1) 및 수신기(RX1)의 핀들(TXDP와 RXDP, TXDN과 RXDN)을 연결하는 2개의 차동적으로 라우팅된 와이어들로 구성되며, 이들 와이어들은 전송 라인들에 대응할 수 있다.
링크(300)는 양방향 데이터 전송 기능을 제공하는 레인 관리부들(340, 350)을 더 포함할 수 있다. 도 2에는 레인 관리부(350)와 호스트 컨트롤러(220)가 분리되는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않으며, 레인 관리부(350)는 호스트 컨트롤러(220)에 포함될 수 있다. 마찬가지로, 도 2에는 레인 관리부(340)와 장치 컨트롤러(120)가 분리되는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않고, 레인 관리부(340)는 장치 컨트롤러(120)에 포함될 수 있다.
도 1 및 도 2를 함께 참조하면, 호스트(200)의 인터커넥트부(210)에 포함된 송신기와 스토리지 장치(100)의 인터커넥트부(110)에 포함된 수신기는 하나의 레인을 형성한다. 그런데, 호스트(200)의 인터커넥트부(210)에 포함된 송신기 및 수신기의 개수는 스토리지 장치(100)의 인터커넥트부(110)에 포함된 송신기 및 수신기의 개수와 다를 수 있다. 또한, 호스트(200)의 성능(capability)은 스토리지 장치(100)의 성능과 다를 수 있다.
따라서, 호스트(200) 및 스토리지 장치(100)는 물리적으로 연결된 레인을 인식하고 상대방 장치의 정보를 제공받기 위한 처리를 수행한다. 이에 따라, 호스트(200) 및 스토리지 장치(100)는 데이터를 교환하기 전에, 링크 스타트업(link startup) 처리를 수행한다. 링크 스타트업 처리를 수행함으로써, 호스트(200)와 스토리지 장치(100)는 송신기 및 수신기의 개수에 관한 정보, 물리적으로 연결된 레인에 관한 정보, 상대방 장치의 성능 등에 관한 정보 등을 서로 교환하고 인식할 수 있다. 링크 스타트업 처리가 완료된 후, 호스트(200)와 스토리지 장치(100)는 서로 안정적으로 데이터를 교환할 수 있는 링크업 상태(linkup state)로 설정된다.
링크 스타트업 처리는 스토리지 시스템(10)이 처음 사용될 때 수행되는 초기화 작동 또는 스토리지 시스템(10)의 부팅 작동 중에 수행될 수 있다. 나아가, 링크 스타트업 처리는 링크업 상태의 오류를 복구(recovery)하는 작동 중에도 수행될 수 있다. 그런데, 링크 스타트업 처리는 호스트(200)와 스토리지 장치(100)에 관한 많은 정보의 교환을 요구하므로 긴 시간이 소요될 수 있다. 특히, 스토리지 장치(100)가 기준 클럭의 주파수에 대한 정보를 획득하기 전에는, 저속 모드로 링크 스타트업 처리가 수행되므로 링크 스타트업 처리에 소요되는 시간이 길 수 있다. 이와 같이, 긴 시간을 소요하는 링크 스타트업 처리는 스토리지 시스템(10)의 성능을 저하시킬 수 있다.
그러나, 본 개시의 일 실시예에 따르면, 호스트(200)는 스토리지 시스템(10)의 초기화 작동 또는 부팅 작동 시에 기준 클럭(REF_CLK)을 스토리지 장치(100)에 제공할 수 있고, 스토리지 장치(100)는 수신한 기준 클럭(REF_CLK)의 주파수를 판별함으로써, 호스트(200)로부터 기준 클럭(REF_CLK)의 주파수에 대한 정보를 수신하지 않고, 고속 모드로 링크 스타트업 처리를 수행할 수 있다. 이로써, 링크 스타트업 처리에 소요되는 시간을 줄일 수 있으므로, 스토리지 시스템(10)의 성능을 향상시킬 수 있다.
일부 실시예들에서, 스토리지 장치(100)는 디램리스(DRAMless) 장치로 구현될 수 있고, 디램리스 장치는 DRAM 캐시를 포함하지 않는 장치를 지칭할 수 있다. 이때, 장치 컨트롤러(120)는 DRAM 컨트롤러를 포함하지 않을 수 있다. 예를 들어, 스토리지 장치(100)는 비휘발성 메모리(130)의 일부 영역을 버퍼 메모리로 이용할 수 있다.
일부 실시예들에서, 스토리지 장치(100)는 전자 장치에 내장되는(embedded) 내장(internal) 메모리일 수 있다. 예를 들어, 스토리지 장치(100)는 임베디드 UFS 메모리 장치, eMMC(embedded Multi-Media Card), 또는 SSD(Solid State Drive)일 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 스토리지 장치(100)는 비휘발성 메모리(예를 들면, OTPROM(One Time Programmable ROM), PROM(Programmable ROM), EPROM(Erasable and Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), Mask ROM, Flash ROM 등)일 수 있다. 일부 실시예들에서, 스토리지 장치(100)는 전자 장치에 착탈 가능한 외장(external) 메모리일 수 있다. 예를 들어, 스토리지 장치(100)는 UFS 메모리 카드, CF(Compact Flash), SD(Secure Digital), Micro-SD(Micro Secure Digital), Mini-SD(Mini Secure Digital), xD(extreme Digital) 및 Memory Stick 중 적어도 하나를 포함할 수 있다.
스토리지 시스템(10)은 예를 들어, PC(personal computer), 랩탑 컴퓨터(laptop computer), 이동 전화기, 스마트폰(smartphone), 태블릿(tablet) PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), 오디오 장치(audio device), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), MP3 플레이어, 휴대용 게임 콘솔(handheld game console), 또는 e-북(e-book) 등과 같은 전자 장치로 구현될 수 있다. 또한, 스토리지 시스템(10)은 예를 들어, 손목 시계 또는 HMD(Head-Mounted Display)와 같은 웨어러블 기기(Wearable device) 등과 같은 다양한 유형의 전자 장치로 구현될 수도 있다.
도 3은 본 개시의 일 실시예에 따른 스토리지 시스템(10A)을 나타내는 블록도이다.
도 3을 참조하면, 스토리지 시스템(10A)은 스토리지 장치(100A)와 호스트(200A)를 포함하고, 스토리지 장치(100A)는 인터커넥트부(110a), 장치 컨트롤러(120a) 및 비휘발성 메모리(130)를 포함하며, 호스트(200A)는 인터커넥트부(210a) 및 호스트 컨트롤러(220a)를 포함할 수 있다. 스토리지 시스템(10A)은 도 1의 스토리지 시스템(10)의 변형 예에 대응하며, 도 1 및 도 2를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다. 본 실시예에서, 기준 클럭 생성기(230)는 인터커넥트부(210a)에 포함될 수 있고, 예를 들어, 기준 클럭 생성기(230)는 인터커넥트부(210a)의 물리 계층(예를 들어, 도 1의 211)에 포함될 수 있다. 또한, 기준 클럭 주파수 판별기(140)는 인터커넥트부(110a)에 포함될 수 있고, 예를 들어, 기준 클럭 주파수 판별기(140)는 인터커넥트부(110a)의 물리 계층(예를 들어, 도 1의 111)에 포함될 수 있다.
도 4는 본 개시의 일 실시예에 따른 기준 클럭 주파수 카운터(140a)를 나타내는 블록도이다. 도 5는 본 개시의 일 실시예에 따라, 도 4의 기준 클럭 주파수 카운터(140a)의 카운팅 동작을 예시적으로 나타내는 타이밍도이다.
도 4 및 도 5를 함께 참조하면, 기준 클럭 주파수 카운터(140a)는 기준 클럭 카운터(141), 시스템 클럭 카운터(142) 및 비교기(143)를 포함할 수 있고, 도 1의 기준 클럭 주파수 판별기(140)의 일 예에 대응할 수 있다. 여기서, 기준 클럭(REF_CLK)은 제1 핀(P1)을 통해 호스트(200)로부터 수신될 수 있고, 시스템 클럭(SYS_CLK)은 스토리지 장치(100)에서 생성되는 내부 클럭 신호에 대응할 수 있다.
기준 클럭 카운터(141)는 주파수 판별 구간(TD) 동안, 기준 클럭(REF_CLK)에서 클럭의 개수를 카운팅함으로써, 기준 클럭 카운트 값(REF_CNT)을 생성할 수 있다. 기준 클럭(REF_CLK)은 제1 주파수에 따라 토글링할 수 있고, 기준 클럭 카운터(141)는 기준 클럭(REF_CLK)에서 클럭의 개수를 카운트함으로써, 기준 클럭 카운트 값(REF_CNT)을 예를 들어, Y로 생성할 수 있다.
시스템 클럭 카운터(142)는 주파수 판별 구간(TD) 동안, 시스템 클럭(SYS_CLK)에서 클럭의 개수를 카운팅함으로써, 시스템 클럭 카운트 값(SYS_CNT)을 생성할 수 있다. 시스템 클럭(SYS_CLK)은 제2 주파수에 따라 토글링할 수 있고, 시스템 클럭 카운터(142)는 시스템 클럭(SYS_CLK)에서 클럭의 개수를 카운트함으로써, 시스템 클럭 카운트 값(SYS_CNT)을 예를 들어, X로 생성할 수 있다.
비교기(143)는 기준 클럭 카운터(1211)로부터 수신한 기준 클럭 카운트 값(REF_CNT), 즉, Y와, 시스템 클럭 카운터(1212)로부터 수신한 시스템 클럭 카운트 값(SYS_CNT), 즉, X를 비교함으로써, 기준 클럭 주파수를 판별할 수 있다. 스토리지 장치(100)는 판별된 기준 클럭 주파수에 기초하여 호스트(200)와 스토리지 장치(100) 사이의 링크 스타트업 동작을 고속 모드로 수행할 수 있다. 예를 들어, 스토리지 장치(100)의 링크 계층(115)은 기준 클럭 주파수 정보를 획득할 수 있다.
일 실시예에서, 기준 클럭 주파수 카운터(140a)는 호스트(200)와 스토리지 장치(100) 사이의 링크 스타트업 동작을 위하여 기준 클럭(REF_CLK)의 주파수를 판별할 수 있다. 예를 들어, 호스트(200)로부터 파워가 인가되면, 장치 컨트롤러(120)는 기준 클럭 카운터(141) 및 시스템 클럭 카운터(142)에 인에이블 신호 또는 리셋 신호를 인가할 수 있고, 이에 따라, 기준 클럭 카운터(141) 및 시스템 클럭 카운터(142)는 각각 카운팅 동작을 수행할 수 있다. 비교기(143)는 기준 클럭 카운터(141) 및 시스템 클럭 카운터(142)로부터 수신한 카운트 값들(X, Y)을 기초로, 기준 클럭(REF_CLK)의 주파수를 판별할 수 있다.
일 실시예에서, 기준 클럭 주파수 카운터(140a)은 호스트(200)와 스토리지 장치(100)의 링크업 상태에서 기준 클럭(REF_CLK)의 주파수를 판별할 수 있다. 예를 들어, 호스트(200)는 고성능 동작을 수행하기 위하여 기준 클럭(REF_CLK)의 주파수를 변경할 수 있다. 이때, 장치 컨트롤러(120)는 기준 클럭 카운터(141) 및 시스템 클럭 카운터(142)에 리셋 신호를 인가할 수 있고, 이에 따라, 기준 클럭 카운터(141) 및 시스템 클럭 카운터(142)는 각각 카운팅 동작을 다시 수행할 수 있다. 비교기(143)는 기준 클럭 카운터(141) 및 시스템 클럭 카운터(142)로부터 수신한 카운트 값들(X, Y)을 기초로, 기준 클럭(REF_CLK)의 변경된 주파수를 판별할 수 있다.
도 6은 본 개시의 일 실시예에 따른 기준 클럭 주파수 판별기(140b)를 나타내는 블록도이다.
도 1 및 도 6을 함께 참조하면, 기준 클럭 주파수 판별기(140b)는 제1 RC 필터(144a), 제2 RC 필터(144b) 및 판별기(145)를 포함할 수 있고, 도 1의 기준 클럭 주파수 판별기(140)의 일 예에 대응할 수 있다. 일 실시예에서, 제1 RC 필터(144a) 및 제2 RC 필터(144b)는 인터커넥트부(110)의 물리 계층에 포함될 수 있다. 일 실시예에서, 제1 RC 필터(144a) 및 제2 RC 필터(144b)는 장치 컨트롤러(120)에 포함될 수 있다.
제1 RC 필터(144a)는 제1 저항(R1) 및 제1 커패시터(C1)를 포함할 수 있고, 입력 전압(Vin)으로서 수신한 기준 클럭(REF_CLK)으로부터 제1 출력 전압(Vout1)을 생성할 수 있다. 제2 RC 필터(144b)는 제2 저항(R2) 및 제2 커패시터(C2)를 포함할 수 있고, 입력 전압(Vin)으로서 수신한 기준 클럭(REF_CLK)으로부터 제2 출력 전압(Vout2)을 생성할 수 있다. 판별기(145)는 제1 및 제2 출력 전압들(Vout1, Vout2)을 수신하고, 수신한 제1 및 제2 출력 전압들(Vout1, Vout2)을 기초로 기준 클럭 주파수를 판별할 수 있다.
구체적으로, 제1 RC 필터(144a)는 제1 시점(예를 들어, 도 8의 t1)에서 기준 클럭(REF_CLK)에 대응하는 제1 출력 전압(Vout1)을 감지할 수 있고, 예를 들어, 제1 시점은 제1 저항(R1)의 저항값과 제1 커패시터(C1)의 커패시턴스에 기초한 제1 시정수에 대응할 수 있다. 또한, 제2 RC 필터(144b)는 제1 시점과 다른 제2 시점(예를 들어, 도 8의 t2)에서 기준 클럭(REF_CLK)에 대응하는 제2 출력 전압(Vout2)을 감지할 수 있고, 예를 들어, 제2 시점은 제2 저항(R2)의 저항값과 제2 커패시터(C2)의 커패시턴스에 기초한 제2 시정수에 대응할 수 있다.
도 7은 본 개시의 일 실시예에 따른 기준 클럭 주파수 판별기(140c)를 나타내는 블록도이다.
도 7을 참조하면, 기준 클럭 주파수 판별기(140c)는 주파수 분주기(146), 제1 및 제2 RC 필터들(144a, 144b), 제1 및 제2 모니터 신호 생성기들(147a, 147b) 및 판별기(145a)를 포함할 수 있다. 기준 클럭 주파수 판별기(140c)는 도 6의 기준 클럭 주파수 판별기(140b)의 변형 예에 대응할 수 있고, 도 1 및 도 6을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다.
주파수 분주기(146)는 분주 신호를 기초로 기준 클럭(REF_CLK)으로부터 분주된 기준 클럭(REF_CLK_DIV)을 생성할 수 있다. 예를 들어, 주파수 분주기(146)는 기준 클럭(REF_CLK)을 2분주함으로써 분주된 기준 클럭(REF_CLK_DIV)을 생성할 수 있다. 이와 같이, 분주된 기준 클럭(REF_CLK_DIV)을 기초로 기준 클럭 주파수 판별 동작을 수행함으로써, 주파수 측정 오차를 감소시킬 수 있다.
제1 및 제2 RC 필터들(144a, 144b)은 분주된 기준 클럭(REF_CLK_DIV)으로부터 서로 다른 시점들에서 제1 및 제2 출력 전압들(Vout1, Vout2)을 각각 생성할 수 있다. 제1 및 제2 모니터 신호 생성기들(147a, 147b)은 제1 및 제2 출력 전압들(Vout1, Vout2)로부터 제1 및 제2 모니터 신호들(MON1, MON2)을 각각 생성할 수 있다. 판별기(145a)는 제1 및 제2 모니터 신호들(MON1, MON2)로부터 기준 클럭 주파수를 판별할 수 있다.
도 8은 본 개시의 일 실시예에 따라, 도 7의 기준 클럭 주파수 판별기(140c)의 주파수 판별 동작을 예시적으로 나타내는 타이밍도이다.
도 7 및 도 8을 함께 참조하면, t0에서, 기준 클럭(REF_CLK) 및 분주된 기준 클럭(REF_CLK_DIV)은 로직 로우 레벨에서 로직 하이 레벨로 천이할 수 있고, 이에 따라, 제1 및 제2 출력 전압들(Vout1, Vout2)의 전압 레벨들은 상승할 수 있다. t1에서, 기준 클럭(REF_CLK)에 대응하는 제1 출력 전압(Vout1)을 감지할 수 있고, 제1 모니터 신호 생성기(147a)는 제1 출력 전압(Vout1)의 전압 레벨에 따라 인에이블되는 제1 모니터 신호(MON1)를 생성할 수 있다. t1에서, 분주된 기준 클럭(REF_CLK_DIV)은 로직 하이 레벨을 가지므로, 제1 출력 전압(Vout1)은 기준 전압 레벨 이상의 전압 레벨을 가질 수 있고, 이에 따라, 제1 모니터 신호(MON1)는 로직 하이 레벨로 인에이블될 수 있다. 일 실시예에서, 제1 RC 필터(144a)는 내부 스위치를 포함할 수 있고, 제1 모니터 신호(MON1)가 인에이블되면 제1 RC 필터(144a)의 내부 스위치가 오프될 수 있다. 이에 따라, t1 이후, 분주된 기준 클럭(REF_CLK_DIV)는 제1 RC 필터(144a)에 인가되지 않을 수 있고, 이에 따라, 제1 출력 전압(Vout1)의 전압 레벨은 감소할 수 있다.
t2에서, 분주된 기준 클럭(REF_CLK_DIV)은 로직 하이 레벨에서 로직 로우 레벨로 천이할 수 있고, 이에 따라, 제2 출력 전압(Vout2)의 전압 레벨은 하강할 수 있다. t3에서, 기준 클럭(REF_CLK)에 대응하는 제2 출력 전압(Vout2)을 감지할 수 있고, 제2 모니터 신호 생성기(147b)는 제2 출력 전압(Vout2)의 전압 레벨에 따라 인에이블되는 제2 모니터 신호(MON2)를 생성할 수 있다. t3에서, 분주된 기준 클럭(REF_CLK_DIV)은 로직 로우 레벨을 가지므로, 제2 출력 전압(Vout2)은 기준 전압 레벨보다 낮은 전압 레벨을 가질 수 있고, 이에 따라, 제2 모니터 신호(MON2)는 로직 하이 레벨로 인에이블되지 않을 수 있다. 판별기(145a)는 제1 및 제2 모니터 신호들(MON1, MON2)에 기초하여, 분주된 기준 클럭(REF_CLK_DIV)이 t1와 t3 사이에서 로직 로우 레벨로 천이한 것으로 판단하고, 이에 따라, 기준 클럭(REF_CLK)의 주파수를 판별할 수 있다.
도 9는 본 개시의 일 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다. 도 9를 참조하면, 본 실시예에 따른 스토리지 장치의 동작 방법은 스토리지 장치의 링크 스타트업 동작 방법에 대응하며, 예를 들어, 도 1 또는 도 3의 스토리지 장치(100, 100A)에서 시계열적으로 수행되는 단계들을 포함할 수 있다. 도 1 내지 도 8을 참조하여 상술된 내용은 본 실시예에 적용될 수 있고, 중복된 설명은 생략하기로 한다.
단계 S110에서, 스토리지 장치(100)는 기준 클럭(REF_CLK)을 수신한다. 예를 들어, 스토리지 장치(100)는 제1 핀(P1)을 통해 호스트(200)로부터 기준 클럭(REF_CLK)을 수신할 수 있다. 예를 들어, 스토리지 장치(100)는 스토리지 시스템(10)에 전원이 인가되면, 호스트(200)로부터 기준 클럭(REF_CLK)을 수신할 수 있다.
단계 S120에서, 스토리지 장치(100)는 수신한 기준 클럭(REF_CLK)으로부터 기준 클럭 주파수를 모니터링한다. 예를 들어, 기준 클럭 주파수 카운터(140a)는 기준 클럭(REF_CLK)과 시스템 클럭(SYS_CLK)을 비교함으로써, 기준 클럭 주파수를 모니터링할 수 있다. 예를 들어, 기준 클럭 주파수 판별기(140b 또는 140c)는 서로 다른 시점들에서 기준 클럭(REF_CLK)에 대응하는 제1 및 제2 출력 전압들을 기초로, 기준 클럭 주파수를 모니터링할 수 있다.
단계 S130에서, 스토리지 장치(100)는 고속 모드 링크 스타트업 시퀀스를 수행한다. 일 실시예에서, 고속 모드 링크 스타트업 시퀀스는 스토리지 장치(100)와 호스트(200) 사이에서 송신 레인 및 수신 레인의 물리적 레인 번호들을 교환하는 제1 트리거 이벤트를 수행하는 단계, 스토리지 장치(100)와 호스트(200) 사이에서 송신 레인의 정보 및 수신 레인의 정보를 교환하는 제2 트리거 이벤트를 수행하는 단계, 및 스토리지 장치(100)와 호스트(200) 사이에서 송신 레인 및 수신 레인의 논리적 레인 정보를 교환하는 제3 트리거 이벤트를 수행하는 단계를 포함할 수 있다. 일 실시예에서, 고속 모드 링크 스타트업 시퀀스는, 제3 트리거 이벤트를 수행하는 단계 이후에, 스토리지 장치(100)와 호스트(200) 사이에서 성능 정보를 교환하고 인식하는 단계, 및 스토리지 장치(100)와 호스트(200) 사이에서, 전송된 초기 데이터 프레임이 정확히 수신되었음을 나타내는 컨트롤 프레임을 교환하고 인식하는 단계를 더 포함할 수 있다.
도 10은 본 개시의 일 실시예에 따른 호스트(200)와 스토리지 장치(100) 사이의 동작을 나타내는 흐름도이다.
도 10을 참조하면, 단계 S210에서, 스토리지 시스템(10)에 파워가 인가될 수 있고, 이에 따라, 호스트(200)는 스토리지 장치(100)에 파워를 전달한다. 단계 S220에서, 호스트(200)는 기준 클럭(REF_CLK)을 생성한다. 단계 S230에서, 호스트(200)는 스토리지 장치(100)에 기준 클럭(REF_CLK)을 전송한다. 단계 S240에서, 스토리지 장치(100)는 호스트(200)로부터 수신한 기준 클럭(REF_CLK)의 주파수를 판별한다. 단계 S220 내지 단계 S240을 고속 모드 스탠바이(HS MODE STANDBY)(HS_SB)라고 지칭할 수 있다.
단계 S250에서, 호스트(200)는 고속 모드로 링크 스타트업 동작을 수행한다. 단계 S260에서, 스토리지 장치(100)는 고속 모드로 링크 스타트업 동작을 수행한다. 단계 S250과 단계 S260은 실질적으로 동시에 수행될 수 있다. 예를 들어, 단계 S250과 단계 S260은 도 9의 단계 S130에 대응할 수 있다. 일 실시예에서, 링크 스타트업 동작은 물리 계층들(111, 211)과 링크 계층들(115, 215)의 초기화(initialization) 동작을 포함할 수 있다. 링크 스타트업 동작은 호스트(200)와 스토리지 장치(100) 사이의 정보 교환 동작을 더 포함할 수 있다. 단계 S270에서, 링크 스타트업 동작이 완료되면, 호스트(200)와 스토리지 장치(100)는 링크업 상태로 설정될 수 있고, 호스트(200)와 스토리지 장치(100)는 안정적으로 데이터를 송수신할 수 있다. 단계 S250 내지 단계 S270은 고속 모드(HS_MD)에서 수행될 수 있다.
도 11은 본 개시의 일 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다. 도 11을 참조하면, 본 실시예에 따른 스토리지 장치의 동작 방법은 스토리지 장치의 링크 스타트업 방법에 대응하며, 도 9의 동작 방법의 변형 예에 대응할 수 있다. 본 실시예에 따른 스토리지 장치의 동작 방법은 예를 들어, 도 1의 스토리지 장치(100)에서 수행될 수 있고, 이하에서는 도 1 및 도 11을 함께 참조하여 설명하기로 한다.
단계 S310에서, 스토리지 장치(100)는 기준 클럭(REF_CLK)이 토글링하는지 판단한다. 일 실시예에서, 단계 S310은 스토리지 장치(100)에 파워가 인가되면, 예를 들어, 호스트(200)로부터 파워가 인가되면 수행될 수 있다. 일 실시예에서, 단계 S310은 스토리지 장치(100)의 동작 중에 주기적으로 수행될 수 있다. 일 실시예에서, 단계 S310은 스토리지 장치(100)의 동작 중에 호스트(200)로부터 특정 신호를 수신하는 경우에 수행될 수도 있다.
스토리지 장치(100)는 호스트(200)로부터 기준 클럭(REF_CLK)을 수신하는 제1 핀(P1)을 감지함으로써 기준 클럭(REF_CLK)이 토글링하는지 판단할 수 있다. 구체적으로, 스토리지 장치(100)는 제1 핀(P1)을 감지함으로써 기준 클럭(REF_CLK)의 유무 또는 기준 클럭(REF_CLK)의 수신 여부를 판단할 수 있다. 제1 핀에서 로직 하이 구간과 로직 로우 구간이 반복되는 신호가 감지될 경우, 기준 클럭(REF_CLK)이 토글링하는 것으로 볼 수 있고, 이에 따라, 스토리지 장치(100)는 기준 클럭(REF_CLK)이 수신된 것으로 판단하고, 단계 S320을 수행할 수 있다. 한편, 제1 핀(P1)에서 실질적으로 플랫한(flat) 레벨의 신호가 감지될 경우, 기준 클럭(REF_CLK)이 토글링하지 않는 것으로 볼 수 있고, 이에 따라, 스토리지 장치(100)는 기준 클럭(REF_CLK)이 수신되지 않는 것으로 판단할 수 있다.
단계 S320에서, 스토리지 장치(100)는 기준 클럭(REF_CLK)의 주파수를 모니터링한다. 예를 들어, 기준 클럭 주파수 판별기(140)는 기준 클럭(REF_CLK)의 주파수를 판별할 수 있다. 단계 S330에서, 스토리지 장치(100)는 판별된 기준 클럭(REF_CLK)의 주파수에 따라, 인터커넥트 레이어의 물리 계층을 설정한다. 예를 들어, 장치 컨트롤러(120)는 판별된 기준 클럭(REF_CLK)의 주파수에 따라, 인터커넥트부(110)의 물리 계층(111)을 설정할 수 있다. 예를 들어, 장치 컨트롤러(120)는 판별된 기준 클럭(REF_CLK)의 주파수에 대한 정보를 인터커넥트부(110)의 링크 계층(115)에 전달할 수 있다. 예를 들어, 스토리지 장치(100)는 판별된 기준 클럭(REF_CLK)의 주파수에 따라, 물리 계층(111) 및 링크 계층(115)을 초기화할 수 있다.
단계 S340에서, 스토리지 장치(100)는 고속 모드 링크 스타트업 시퀀스를 수행한다. 예를 들어, 단계 S340은 도 9의 단계 S130에 대응할 수 있다. 구체적으로, 호스트(200)와 스토리지 장치(100)는 고속 모드로 정보를 교환할 수 있다. 이에 따라, 호스트(200)와 스토리지 장치(100) 사이의 링크 스타트업 동작에 소요되는 시간을 줄일 수 있고, 호스트(200)와 스토리지 장치(100)는 링크업 상태로 설정되어, 데이터를 송수신할 수 있다.
도 12는 본 개시의 일 실시예에 따른 UFS 호스트(200a)와 UFS 장치(100a) 사이의 고속 모드 초기화 시퀀스를 예시적으로 나타내는 흐름도이다.
도 12를 참조하면, UFS 호스트(200a)는 도 1의 호스트(200)의 일 예일 수 있고, UFS 장치(100a)는 도 1의 스토리지 장치(100)의 일 예일 수 있다. UFS 호스트(200a)와 UFS 장치(100a)에 파워가 인가되면, 고속 모드 스탠바이(HS_SB) 단계에서, UFS 장치(100a)는 UFS 호스트(200a)로부터 기준 클럭(REF_CLK)을 수신하고, 수신한 기준 클럭(REF_CLK)의 주파수를 판별할 수 있다. 기준 클럭(REF_CLK)의 주파수가 판별되면, UFS 호스트(200a)와 USF 장치(100a)는 고속 모드에서 링크 스타트업 동작을 수행할 수 있다. 구체적으로, UFS 호스트(200a)와 USF 장치(100a)는 M-PHY/UniPro 초기화(S410)를 수행하고, 정보를 교환함으로써 링크 스타트업 시퀀스(S420)을 수행할 수 있다. 이때, UFS 호스트(200a)와 UFS 장치(100a)는 풀 듀플렉스(full duplex) 방식의 LVDS 직렬 인터페이스를 통해, 읽기 동작과 쓰기 동작을 동시에 병렬적으로 수행할 수 있다.
도 13은 본 개시의 일 실시예에 따른 기준 클럭 검출기(150)를 나타내는 블록도이다.
도 13을 참조하면, 기준 클럭 검출기(150)는 RC 필터(151), 모니터 신호 생성기(152) 및 검출기(153)를 포함할 수 있다. 예를 들어, 도 1 또는 도 3의 스토리지 장치(100, 100A)는 기준 클럭 검출기(150)를 더 포함할 수 있다. 일 실시예에서, 기준 클럭 검출기(150)는 장치 컨트롤러(120)에 포함될 수 있으나, 본 발명은 이에 한정되지 않는다.
RC 필터(151)는 기준 클럭(REF_CLK)으로부터 출력 전압(Vout)을 생성할 수 있다. 예를 들어, RC 필터(151)는 도 6의 제1 또는 제2 RC 필터(144a, 144b)와 실질적으로 유사하게 구현될 수 있고, RC 필터(151)는 특정 시점에서 기준 클럭(REF_CLK)에 대응하는 출력 전압(Vout)을 감지할 수 있다. 모니터 신호 생성기(152)는 출력 전압(Vout)에 따라 인에이블되는 모니터 신호(MON)를 생성할 수 있다. 검출기(153)는 모니터 신호(MON)에 따라 기준 클럭(REF_CLK)의 수신 여부를 검출할 수 있다.
도 14는 본 개시의 일 실시예에 따라, 도 13의 기준 클럭 검출기(150)의 기준 클럭 검출 동작을 예시적으로 나타내는 타이밍도이다.
도 13 및 도 14를 함께 참조하면, t0에서, 기준 클럭(REF_CLK)은 로직 로우 레벨에서 로직 하이 레벨로 천이할 수 있고, 이에 따라, 출력 전압(Vout)의 전압 레벨들은 상승할 수 있다. t1에서, 기준 클럭(REF_CLK)에 대응하는 출력 전압(Vout)을 감지할 수 있고, 모니터 신호 생성기(152)는 출력 전압(Vout)의 전압 레벨에 따라 인에이블되는 모니터 신호(MON)를 생성할 수 있다. t1에서, 기준 클럭(REF_CLK)은 로직 하이 레벨을 가지므로, 출력 전압(Vout)은 기준 전압 레벨 이상의 전압 레벨을 가질 수 있고, 이에 따라, 모니터 신호(MON)는 로직 하이 레벨로 인에이블될 수 있다.
일 실시예에서, RC 필터(151)는 내부 스위치를 포함할 수 있고, 모니터 신호(MON)가 인에이블되면 RC 필터(151)의 내부 스위치가 오프될 수 있다. 이에 따라, t1 이후, 기준 클럭(REF_CLK)는 RC 필터(151)에 인가되지 않을 수 있고, 이에 따라, 출력 전압(Vout)의 전압 레벨은 감소할 수 있다. 검출기(153)는 모니터 신호(MON)에 기초하여, 기준 클럭(REF_CLK)이 t1에서 로직 하이 레벨을 갖는 것으로 판단하고, 이에 따라, 기준 클럭(REF_CLK)의 수신, 즉, 기준 클럭(REF_CLK)의 토글을 검출할 수 있다.
도 15는 본 개시의 일 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 15를 참조하면, 단계 S510에서, 스토리지 장치(100)는 기준 클럭(REF_CLK)의 토글 여부를 판단한다. 예를 들어, 도 14의 기준 클럭 검출기(150)는 기준 클럭(REF_CLK)의 토글 여부를 판단할 수 있다. 판단 결과, 기준 클럭(REF_CLK)이 토글하는 경우, 단계 S520에서, 스토리지 장치(100)는 기준 클럭(REF_CLK)의 주파수를 모니터링한다. 단계 S530에서, 스토리지 장치(100)는 고속 모드 링크 스타트업 시퀀스를 수행한다. 예를 들어, 단계 S530은 도 9의 단계 S130에 대응할 수 있다.
판단 결과, 기준 클럭(REF_CLK)이 토글하지 않는 경우, 단계 S540에서, 저속 모드 링크 스타트업 시퀀스를 수행한다. 예를 들어, 저속 모드는 PWM(Pulse Width Modulation) 모드에 대응할 수 있다. 단계 S550에서, 스토리지 장치(100)는 저속 모드, 즉, PWM 모드로 호스트(200)와 정보를 교환할 수 있다. 예를 들어, 스토리지 장치(100)는 PWM 모드에서 호스트(200)로부터 기준 클럭(REF_CLK)의 주파수 정보를 수신할 수 있다.
도 16은 본 개시의 일 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 16을 참조하면, 본 실시예에 따른 스토리지 장치의 동작 방법은 도 15의 동작 방법의 변형 예에 대응한다. 단계 S510에서, 스토리지 장치(100)는 기준 클럭(REF_CLK)의 토글 여부를 판단하고, 판단 결과, 기준 클럭(REF_CLK)이 토글하는 경우, 단계 S530에서, 고속 모드 링크 스타트업 시퀀스를 수행할 수 있다. 이와 같이, 본 실시예에 따르면, 기준 클럭(REF_CLK)의 토글이 검출되면, 기준 클럭(REF_CLK)의 주파수를 판별하는 동작을 수행하지 않고, 바로 고속 모드 링크 스타트업 시퀀스를 수행할 수 있다. 이에 따라, 링크 스타트업 동작에 소요되는 시간을 더욱 감소시킬 수 있고, 스토리지 장치(100)의 성능을 더욱 향상시킬 수 있다.
도 17은 본 개시의 일 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다. 도 17을 참조하면, 본 실시예에 따른 스토리지 장치의 동작 방법은 스토리지 장치의 동작 중에 속도 기어를 변경하는 방법에 대응할 수 있다. 본 실시예에 따른 방법은 예를 들어, 도 1의 스토리지 장치(100)에서 시계열적으로 수행되는 단계들을 포함할 수 있다. 도 1 내지 도 16을 참조하여 상술된 내용은 본 실시예에 적용될 수 있고, 중복된 설명은 생략하기로 한다. 이하에서는, 도 1 및 도 17을 함께 참조하여 설명하기로 한다.
단계 S610에서, 스토리지 장치(100)는 기준 클럭(REF_CLK)을 수신한다. 예를 들어, 스토리지 장치(100)는 링크업 상태에서 제1 핀(P1)을 통해 호스트(200)로부터 기준 클럭(REF_CLK)을 수신할 수 있다. 예를 들어, 스토리지 장치(100)는 호스트(200)와 데이터를 송수신하는 동작 중에, 호스트(200)로부터 기준 클럭(REF_CLK)을 계속해서 수신할 수 있다. 예를 들어, 스토리지 장치(100는 호스트(200)와 데이터를 송수신하는 동작 중에, 호스트(200)로부터 주파수가 변경된 기준 클럭(REF_CLK)을 수신할 수 있다.
단계 S620에서, 스토리지 장치(100)는 기준 클럭(REF_CLK)으로부터 기준 클럭 주파수를 모니터링한다. 예를 들어, 기준 클럭 주파수 판별기(140)는 기준 클럭(REF_CLK)의 주파수가 제1 기준 클럭 주파수에서 제2 기준 클럭 주파수로 변경되는 것을 감지할 수 있다. 예를 들어, 기준 클럭 주파수 판별기(140)는 주기적으로 기준 클럭 주파수를 모니터링할 수 있다. 예를 들어, 기준 클럭 주파수 판별기(140)는 인에이블 신호를 수신하는 경우 기준 클럭 주파수를 모니터링할 수 있다.
단계 S630에서, 모니터링된 기준 클럭 주파수에 따라, 스토리지 장치(100)는 고속 모드 기어 속도를 변경한다. 예를 들어, 기준 클럭(REF_CLK)의 주파수가 제1 기준 클럭 주파수에서 제2 기준 클럭 주파수로 변경되는 경우, 스토리지 장치(100)는 제2 기준 클럭 주파수에 따라 인터커넥트부(110)의 물리 계층(111)을 다시 설정할 수 있다. 예를 들어, 기준 클럭(REF_CLK)의 주파수가 제1 기준 클럭 주파수에서 제2 기준 클럭 주파수로 변경되는 경우, 스토리지 장치(100)는 제2 기준 클럭 주파수에 대한 정보를 인터커넥트부(110)의 링크 계층(115)에 전달할 수 있다.
도 18은 본 개시의 일 실시예에 따라, 기준 클럭 주파수 판별기(140)의 기준 클럭 주파수 업데이트 동작을 예시적으로 나타낸다.
도 1 및 도 18을 함께 참조하면, 동작 상황에서, 호스트(200)는 파워 최적화 및 입출력 성능 최적화를 위해 기준 클럭(REF_CLK)의 주파수를 변경할 수 있다. 호스트(200)와 스토리지 장치(100)는 다양한 속도 기어(gear)들을 지원할 수 있고, 고속 모드용 스톨(stall) 및 저속 모드용 슬립(sleep)과 같은 여러 전력 절감 상태들도 지원할 수 있다. 일 실시예에 따르면, 호스트(200)와 스토리지 장치(100) 사이의 속도 기어가 변경되는 경우, 호스트(200)는 주파수가 변경된 기준 클럭(REF_CLK)을 생성할 수 있고, 전력 절감 상태에서, 스토리지 장치(100)는 호스트(200)로부터 수신한 기준 클럭(REF_CLK)의 변경된 주파수를 판별하고, 변경된 주파수를 스토리지 장치(100)에 적용하여 동작할 수 있다.
예를 들어, 호스트(200)는 입출력 성능을 개선하도록 호스트(200)와 스토리지 장치(100) 사이의 속도 기어, 즉, HS(high speed) 기어가 HS-GEAR1에서 HS-GEAR4로 변경할 수 있고, 이를 위해 기준 클럭(REF_CLK)의 주파수를 더욱 빠르게 변경할 수 있다. 이때, HS-GEAR1과 HS-GEAR4 사이의 스톨 구간(STALL)에서, 스토리지 장치(100)는 기준 클럭(REF_CLK)의 변경된 주파수를 판별하고, 변경된 주파수를 적용하여 HS-GEAR4를 지원하며 호스트(200)와 통신할 수 있다. 예를 들어, 기준 클럭 주파수 판별기(140)는 t0에서 t1 사이의 주파수 판별 구간 동안 기준 클럭(REF_CLK)의 변경된 주파수를 판별할 수 있다. 예를 들어, 송신기(TX) 및 수신기(RX)는 호스트(200)의 물리 계층(211) 또는 스토리지 장치(100)의 물리 계층(111)에 포함될 수 있다.
도 19는 본 개시의 일 실시예에 따른 호스트(200)와 스토리지 장치(100) 사이의 동작을 나타내는 흐름도이다.
도 18 및 도 19를 함께 참조하면, 단계 S710에서, 호스트(200)는 제1 속도 기어(예를 들어, HS-GEAR_N)을 지시하는 커맨드(CMD)를 스토리지 장치(100)에 전송할 수 있다. 여기서, N은 양의 정수일 수 있고, 예를 들어, N은 1일 수 있다. 이때, 호스트(200)는 제1 속도 기어(HS-GEAR_N)에 따른 제1 주파수로 토글링하는 기준 클럭(REF_CLK)을 스토리지 장치(100)에 전송할 수 있다. 일 실시예에서, 호스트(200)는 커맨드(CMD) 및 기준 클럭(REF_CLK)을 병렬적으로, 다시 말해, 실질적으로 동시에 스토리지 장치(100)에 전송할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예에서, 호스트(200)는 커맨드(CMD)를 먼저 전송하고, 이어서, 제1 주파수로 토글링하는 기준 클럭(REF_CLK)을 전송할 수도 있다. 한편, 일부 실시예에서, 제1 주파수로 토글링하는 기준 클럭(REF_CLK)의 전송 시작 시점은 커맨드(CMD)의 전송 시작 시점보다 빠를 수 있다.
단계 S720에서, 스토리지 장치(100)는 호스트(200)로부터 수신한 기준 클럭(REF_CLK)의 주파수를 판별한다. 단계 S730에서, 스토리지 장치(100)는 호스트(200)에 응답을 전송한다. 단계 S740에서, 호스트(200)는 제1 속도 기어(HS-GEAR_N)로 동작을 수행한다. 단계 S745에서, 스토리지 장치(100)는 제1 속도 기어(HS-GEAR_N)로 동작을 수행한다. 단계 S740 및 S745는 실질적으로 동시에 수행될 수 있다. 예를 들어, 호스트(200)와 스토리지 장치(100)는 HS-GEAR1로 데이터를 송수신할 수 있다.
단계 S750에서, 호스트(200)는 속도 기어 및 기준 클럭(REF_CLK)의 주파수를 변경한다. 구체적으로, 호스트(200)는 속도 기어를 제1 속도 기어(HS-GEAR_N)에서 제2 속도 기어(HS-GEAR_M)로 변경할 수 있고, M은 양의 정수일 수 있다. 예를 들어, M은 4일 수 있다. 단계 S760에서, 호스트(200)는 제2 속도 기어(HS-GEAR_M)를 지시하는 커맨드(CMD)를 스토리지 장치(100)에 전송할 수 있다. 이때, 호스트(200)는 제2 속도 기어(HS-GEAR_M)에 따른 제2 주파수로 토글링하는 기준 클럭(REF_CLK)을 스토리지 장치(100)에 전송할 수 있다. 일 실시예에서, 호스트(200)는 커맨드(CMD) 및 기준 클럭(REF_CLK)을 병렬적으로, 다시 말해, 실질적으로 동시에 스토리지 장치(100)에 전송할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예에서, 호스트(200)는 커맨드(CMD)를 먼저 전송하고, 이어서, 제2 주파수로 토글링하는 기준 클럭(REF_CLK)을 전송할 수도 있다. 한편, 일부 실시예에서, 제2 주파수로 토글링하는 기준 클럭(REF_CLK)의 전송 시작 시점은 커맨드(CMD)의 전송 시작 시점보다 빠를 수 있다. 여기서, 제2 주파수로 토글링하는 기준 클럭(REF_CLK)의 전송 시작 시점은 기준 클럭(REF_CLK)의 주파수가 제1 주파수에서 제2 주파수로 변경되는 시점에 대응할 수 있다.
단계 S770에서, 스토리지 장치(100)는 호스트(200)로부터 수신한 기준 클럭(REF_CLK)의 변경된 주파수를 판별한다. 단계 S780에서, 스토리지 장치(100)는 호스트(200)에 응답을 전송한다. 예를 들어, 단계 S750 내지 S780은 도 18의 스톨 구간(STALL)에 대응할 수 있다. 단계 S790에서, 호스트(200)는 제2 속도 기어(HS-GEAR_M)로 동작을 수행한다. 단계 S795에서, 스토리지 장치(100)는 제2 속도 기어(HS-GEAR_M)로 동작을 수행한다. 단계 S790 및 S795는 실질적으로 동시에 수행될 수 있다. 예를 들어, 호스트(200)와 스토리지 장치(100)는 HS-GEAR4로 데이터를 송수신할 수 있다.
도 20은 본 개시의 일 실시예에 따른 스토리지 시스템(10B)을 나타내는 블록도이다.
도 20을 참조하면, 스토리지 시스템(10B)은 스토리지 장치(100B)와 호스트(200B)를 포함할 수 있다. 스토리지 시스템(10B)은 도 1의 스토리지 시스템(10)의 변형 예에 대응하며, 도 1 내지 도 19를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다. 도 1의 스토리지 장치(100)에 비해, 스토리지 장치(100B)는 제4 핀(P4)을 더 포함할 수 있다. 도 1의 호스트(200)에 비해, 호스트(200B)는 제4 핀(P4')을 더 포함할 수 있다. 호스트(200B)는 제4 핀들(P4', P4)을 통해 제어 신호(CON)를 스토리지 장치(100B)에 제공할 수 있다. 스토리지 장치(100B)는 호스트(200B)로부터 수신한 제어 신호(CON)에 기초하여 동작할 수 있고, 이러한 방식을 pins strap 방식이라고 지칭할 수 있다. 이하에서는, 도 21 내지 도 23을 참조하여, 제어 신호(CON)에 대한 다양한 실시예들을 설명하기로 한다.
도 21은 본 개시의 일 실시예에 따른 제어 신호를 나타내는 표(TB1)이다.
도 20 및 도 21을 함께 참조하면, 제어 신호(CON)는 기준 클럭(REF_CLK)의 주파수 값을 나타내는 기준 클럭 주파수 신호(REF_CLK_FRQ)일 수 있다. 이하에서는, 제4 핀들(P4', P4)을 기준 클럭 주파수 핀들(P4', P4)이라고 지칭할 수 있다. 구체적으로, 호스트(200B)는 스토리지 장치(100B)에 기준 클럭(REF_CLK)의 주파수 값을 직접 전달하기 위하여 적어도 하나의 기준 클럭 주파수 핀(P4)을 포함할 수 있고, 스토리지 장치(100B)는 기준 클럭(REF_CLK)의 주파수 값을 직접 수신하기 위한 적어도 하나의 기준 클럭 주파수 핀(P4)을 포함할 수 있다. 실시예들에 따라, 기준 클럭 주파수 핀들(P4', P4) 각각의 개수는 기준 클럭(REF_CLK)의 선택 가능한 주파수들의 개수에 따라 다양하게 선택될 수 있다.
예를 들어, 기준 클럭(REF_CLK)의 주파수가 19.2 MHz, 26 MHz, 38.4 MHz, 또는 52 MHz로 결정될 경우, 호스트(200B)는 2개의 기준 클럭 주파수 핀들(P4')을 포함하고, 스토리지 장치(100B)도 2개의 기준 클럭 주파수 핀들(P4)을 포함할 수 있다. 호스트(200B)는 2개의 기준 클럭 주파수 핀들(P4')을 통해, 기준 클럭(REF_CLK)의 주파수 값을 나타내는 2 비트의 신호, 즉, 기준 클럭 주파수 신호(REF_CLK_FRQ)를 스토리지 장치(100B)에 전송할 수 있다. 스토리지 장치(100B)는 2개의 기준 클럭 주파수 핀들(P4)을 통해, 기준 클럭(REF_CLK)의 주파수 값을 나타내는 2 비트의 신호, 즉, 기준 클럭 주파수 신호(REF_CLK_FRQ)를 호스트(200B)로부터 수신할 수 있다.
예를 들어, 호스트(200B)가 2개의 기준 클럭 주파수 핀들(P4')을 통해 "00"의 기준 클럭 주파수 신호(REF_CLK_FRQ)를 전송한 경우, 스토리지 장치(100B)는 기준 클럭(REF_CLK)의 주파수가 19.2 MHz인 것으로 판단할 수 있다. 예를 들어, 호스트(200B)가 2개의 기준 클럭 주파수 핀들(P4')을 통해 "01"의 기준 클럭 주파수 신호(REF_CLK_FRQ)를 전송한 경우, 스토리지 장치(100B)는 기준 클럭(REF_CLK)의 주파수가 26 MHz인 것으로 판단할 수 있다. 예를 들어, 호스트(200B)가 2개의 기준 클럭 주파수 핀들(P4')을 통해 "10"의 기준 클럭 주파수 신호(REF_CLK_FRQ)를 전송한 경우, 스토리지 장치(100B)는 기준 클럭(REF_CLK)의 주파수가 38.4 MHz인 것으로 판단할 수 있다. 예를 들어, 호스트(200B)가 2개의 기준 클럭 주파수 핀들(P4')을 통해 "11"의 기준 클럭 주파수 신호(REF_CLK_FRQ)를 전송한 경우, 스토리지 장치(100B)는 기준 클럭(REF_CLK)의 주파수가 52 MHz인 것으로 판단할 수 있다.
또한, 스토리지 장치(100B)의 동작 상황에서 호스트(200B)가 기준 클럭(REF_CLK)의 주파수를 변경한 경우, 호스트(200B)는 기준 클럭(REF_CLK)의 변경된 주파수 정보를 기준 클럭 주파수 핀들(P4')을 통해 스토리지 장치(100B)에 전송할 수 있다. 스토리지 장치(100B)는 기준 클럭 주파수 핀들(P4)을 통해 기준 클럭(REF_CLK)의 변경된 주파수 정보를 수신하고, 변경된 주파수 정보에 기초하여 호스트(200B)와 데이터를 송수신할 수 있다.
도 22는 본 개시의 일 실시예에 따른 제어 신호를 나타내는 표(TB2)이다.
도 20 및 도 22를 함께 참조하면, 제어 신호(CON)는 동작 모드를 나타내는 모드 신호(MD)일 수 있다. 이하에서는, 제4 핀들(P4', P4)을 모드 핀들(P4', P4)이라고 지칭할 수 있다. 구체적으로, 호스트(200B)는 스토리지 장치(100B)에 동작 모드를 직접 전달하기 위하여 적어도 하나의 모드 핀(P4')을 포함할 수 있고, 스토리지 장치(100B)는 동작 모드를 직접 수신하기 위한 적어도 하나의 모드 핀(P4)을 포함할 수 있다. 실시예들에 따라, 모드 핀들(P4', P4) 각각의 개수는 선택 가능한 동작 모드들의 개수에 따라 다양하게 선택될 수 있다.
예를 들어, 동작 모드가 저속 모드(즉, PWM 모드) 또는 고속 모드로 결정될 경우, 호스트(200B)는 1개의 모드 핀(P4')을 포함하고, 스토리지 장치(100B)도 1개의 모드 핀(P4)을 포함할 수 있다. 호스트(200B)는 1개의 모드 핀(P4')을 통해, 동작 모드를 나타내는 1 비트의 신호, 즉, 모드 신호(MD)를 스토리지 장치(100B)에 전송할 수 있다. 스토리지 장치(100B)는 1개의 모드 핀(P4)을 통해, 동작 모드를 나타내는 1 비트의 신호, 즉, 모드 신호(MD)를 호스트(200B)로부터 수신할 수 있다.
예를 들어, 호스트(200B)가 1개의 모드 핀(P4')을 통해 "0"의 모드 신호(MD)를 전송한 경우, 스토리지 장치(100B)는 동작 모드를 저속 모드로 판단할 수 있다. 예를 들어, 호스트(200B)가 1개의 모드 핀(P4')을 통해 "1"의 모드 신호(MD)를 전송한 경우, 스토리지 장치(100B)는 동작 모드를 고속 모드로 판단할 수 있다. 이에 따라, 스토리지 장치(100B)는 판단된 동작 모드에 따라, 고속 모드 링크 스타트업 동작 또는 저속 모드 링크 스타트업 동작을 수행할 수 있다. 예를 들어, 스토리지 장치(100B)가 고속 모드를 나타내는 모드 신호(MD)를 수신한 경우, 도 15의 단계 S530을 수행할 수 있고, 스토리지 장치(100B)가 저속 모드를 나타내는 모드 신호(MD)를 수신한 경우, 도 15의 단계 S540을 수행할 수 있다.
또한, 스토리지 장치(100B)의 동작 상황에서 호스트(200B)가 동작 모드를 변경한 경우, 호스트(200B)는 변경된 동작 모드 정보를 나타내는 모드 신호(MD)를 모드 핀(P4')을 통해 스토리지 장치(100B)에 전송할 수 있다. 스토리지 장치(100B)는 모드 핀(P4)을 통해 모드 신호(MD)를 수신하고, 변경된 동작 모드에 기초하여 호스트(200B)와 데이터를 송수신할 수 있다.
도 23은 본 개시의 일 실시예에 따른 제어 신호를 나타내는 표(TB3)이다.
도 20 및 도 23을 함께 참조하면, 제어 신호(CON)는 속도 기어를 나타내는 기어 신호(GS)일 수 있다. 이하에서는, 제4 핀들(P4', P4)을 기어 핀들(P4', P4)이라고 지칭할 수 있다. 구체적으로, 호스트(200B)는 스토리지 장치(100B)에 속도 기어 정보를 직접 전달하기 위하여 적어도 하나의 기어 핀(P4')을 포함할 수 있고, 스토리지 장치(100B)는 속도 기어 정보를 직접 수신하기 위한 적어도 하나의 기어 핀(P4)을 포함할 수 있다. 실시예들에 따라, 기어 핀들(P4', P4) 각각의 개수는 선택 가능한 속도 기어들의 개수에 따라 다양하게 선택될 수 있다.
예를 들어, 속도 기어가 다양한 고속 속도 기어들(예를 들어, HS-GEAR1 내지 HS-GEAR4)및 다양한 PWM 속도 기어들(예를 들어, PWM-G1) 중 하나로 결정될 경우, 호스트(200B)는 3개의 기어 핀들(P4')을 포함하고, 스토리지 장치(100B)도 3개의 기어 핀들(P4)을 포함할 수 있다. 호스트(200B)는 3개의 기어 핀들(P4')을 통해, 속도 기어를 나타내는 3 비트의 신호, 즉, 기어 신호(GS)를 스토리지 장치(100B)에 전송할 수 있다. 스토리지 장치(100B)는 3개의 기어 핀들(P4)을 통해, 속도 기어를 나타내는 3 비트의 신호, 즉, 기어 신호(GS)를 호스트(200B)로부터 수신할 수 있다. 이에 따라, 스토리지 장치(100B)는 고속 모드에서 속도 변화를 빠르게 감지하고 적용할 수 있다.
예를 들어, 호스트(200B)가 3개의 기어 핀들(P4')을 통해 "000"의 기어 신호(GS)를 전송한 경우, 스토리지 장치(100B)는 속도 기어를 HS-GEAR1으로 판단할 수 있다. 예를 들어, 호스트(200B)가 3개의 기어 핀들(P4')을 통해 "001"의 기어 신호(GS)를 전송한 경우, 스토리지 장치(100B)는 속도 기어를 HS-GEAR2로 판단할 수 있다. 예를 들어, 호스트(200B)가 3개의 기어 핀들(P4')을 통해 "010"의 기어 신호(GS)를 전송한 경우, 스토리지 장치(100B)는 속도 기어를 HS-GEAR3로 판단할 수 있다. 예를 들어, 호스트(200B)가 3개의 기어 핀들(P4')을 통해 "011"의 기어 신호(GS)를 전송한 경우, 스토리지 장치(100B)는 속도 기어를 HS-GEAR4로 판단할 수 있다. 예를 들어, 호스트(200B)가 3개의 기어 핀들(P4')을 통해 "100"의 기어 신호(GS)를 전송한 경우, 스토리지 장치(100B)는 속도 기어를 PWM-G1으로 판단할 수 있다. 이에 따라, 스토리지 장치(100B)는 판단된 속도 기어에 따라, 호스트(200B)와 데이터를 송수신할 수 있다. 예를 들어, 스토리지 장치(100B)가 HS-GEAR1를 나타내는 기어 신호(GS)를 수신한 경우, 도 19의 단계 S745를 수행할 수 있고, 스토리지 장치(100B)가 HS-GEAR4를 나타내는 기어 신호(GS)를 수신한 경우, 도 19의 단계 S795를 수행할 수 있다.
또한, 스토리지 장치(100B)의 동작 상황에서 호스트(200B)가 속도 기어를 변경한 경우, 호스트(200B)는 변경된 속도 기어 정보를 나타내는 기어 신호(GS)를 기어 핀들(P4')을 통해 스토리지 장치(100B)에 전송할 수 있다. 스토리지 장치(100B)는 기어 핀들(P4)을 통해 기어 신호(GS)를 수신하고, 변경된 속도 기어에 기초하여 호스트(200B)와 데이터를 송수신할 수 있다.
일 실시예에서, 호스트(200B)는 제1 내지 제3 핀들(P1' 내지 P3'), 기준 클럭 주파수 핀, 및 모드 핀을 포함할 수 있고, 스토리지 장치(100B)는 제1 내지 제3 핀들(P1 내지 P3), 기준 클럭 주파수 핀, 및 모드 핀을 포함할 수 있다. 일 실시예에서, 호스트(200B)는 제1 내지 제3 핀들(P1' 내지 P3'), 기준 클럭 주파수 핀, 및 기어 핀을 포함할 수 있고, 스토리지 장치(100B)는 제1 내지 제3 핀들(P1 내지 P3), 기준 클럭 주파수, 및 기어 핀을 포함할 수 있다. 일 실시예에서, 호스트(200B)는 제1 내지 제3 핀들(P1' 내지 P3'), 모드 핀, 및 기어 핀을 포함할 수 있고, 스토리지 장치(100B)는 제1 내지 제3 핀들(P1 내지 P3), 모드 핀, 및 기어 핀을 포함할 수 있다. 일 실시예에서, 호스트(200B)는 제1 내지 제3 핀들(P1' 내지 P3'), 기준 클럭 주파수 핀, 모드 핀, 및 기어 핀을 포함할 수 있고, 스토리지 장치(100B)는 제1 내지 제3 핀들(P1 내지 P3), 기준 클럭 주파수 핀, 모드 핀, 및 기어 핀을 포함할 수 있다.
도 24는 본 발명의 일 실시예에 따른 UFS 시스템(1000)에 대해 설명하기 위한 도면이다. UFS 시스템(1000)은 JEDEC(Joint Electron Device Engineering Council)에서 발표하는 UFS 표준을 따르는 시스템으로서, UFS 호스트(1100), UFS 장치(1200) 및 UFS 인터페이스(1300)를 포함할 수 있다. 전술한 도 1, 도 3 및 도 20의 스토리지 시스템(10, 10A, 10B)에 대한 설명은, 도 24에 대한 이하의 설명과 상충되지 않는 범위 내에서 도 24의 UFS 시스템(1000)에도 적용될 수 있다.
도 24를 참조하면, UFS 호스트(1100)와 UFS 장치(1200)는 UFS 인터페이스(1300)를 통해 상호 연결될 수 있다. 도 1의 호스트(200)가 애플리케이션 프로세서일 경우, UFS 호스트(1100)는 해당 애플리케이션 프로세서의 일부로서 구현될 수 있다. UFS 호스트 컨트롤러(1110)는 도 1의 호스트 컨트롤러(220)에 각각 대응될 수 있다. UFS 장치(1200)는 도 1의 스토리지 장치(100)에 대응될 수 있으며, UFS 장치 컨트롤러(1210) 및 비휘발성 메모리(1220)는 도 1의 장치 컨트롤러(120) 및 비휘발성 메모리(130)에 각각 대응될 수 있다.
UFS 호스트(1100)는 UFS 호스트 컨트롤러(1110), 애플리케이션(1120), UFS 드라이버(1130), 호스트 메모리(1140) 및 UIC(UFS interconnect) 레이어(1150)를 포함할 수 있다. UFS 장치(1200)는 UFS 장치 컨트롤러(1210), 비휘발성 메모리(1220), 스토리지 인터페이스(1230), 장치 메모리(1240), UIC 레이어(1250) 및 레귤레이터(1260)를 포함할 수 있다. 비휘발성 메모리(1220)는 복수의 메모리 유닛(1221)으로 구성될 수 있으며, 이와 같은 메모리 유닛(1221)은 2D 구조 혹은 3D 구조의 V-NAND 플래시 메모리를 포함할 수 있으나, PRAM 및/또는 RRAM 등의 다른 종류의 비휘발성 메모리를 포함할 수도 있다. UFS 장치 컨트롤러(1210)와 비휘발성 메모리(1220)는 스토리지 인터페이스(1230)를 통해 서로 연결될 수 있다. 스토리지 인터페이스(1230)는 토글(Toggle) 혹은 온파이(ONFI)와 같은 표준 규약을 준수하도록 구현될 수 있다.
애플리케이션(1120)은 UFS 장치(1200)의 기능을 이용하기 위해 UFS 장치(1200)와의 통신을 원하는 프로그램을 의미할 수 있다. 애플리케이션(1120)은 UFS 장치(1200)에 대한 입출력을 위해 입출력 요청(input-output request, IOR)을 UFS 드라이버(1130)로 전송할 수 있다. 입출력 요청(IOR)은 데이터의 독출(read) 요청, 저장(write) 요청 및/또는 소거(discard) 요청 등을 의미할 수 있으나, 반드시 이에 한정되는 것은 아니다.
UFS 드라이버(1130)는 UFS-HCI(host controller interface)를 통해 UFS 호스트 컨트롤러(1110)를 관리할 수 있다. UFS 드라이버(1130)는 애플리케이션(1120)에 의해 생성된 입출력 요청을 UFS 표준에 의해 정의된 UFS 명령으로 변환하고, 변환된 UFS 명령을 UFS 호스트 컨트롤러(1110)로 전달할 수 있다. 하나의 입출력 요청은 복수의 UFS 명령으로 변환될 수 있다. UFS 명령은 기본적으로 SCSI 표준에 의해 정의된 명령일 수 있지만, UFS 표준 전용 명령일 수도 있다.
UFS 호스트 컨트롤러(1110)는 UFS 드라이버(1130)에 의해 변환된 UFS 명령을 UIC 레이어(1150)와 UFS 인터페이스(1300)를 통해 UFS 장치(1200)의 UIC 레이어(1250)로 전송할 수 있다. 이 과정에서, UFS 호스트 컨트롤러(1110)의 UFS 호스트 레지스터(1111)는 명령 큐(command queue, CQ)로서의 역할을 수행할 수 있다.
UFS 호스트(1100) 측의 UIC 레이어(1150)는 MIPI M-PHY(1151)와 MIPI UniPro(1152)를 포함할 수 있으며, UFS 장치(1200) 측의 UIC 레이어(1250) 또한 MIPI M-PHY(1251)와 MIPI UniPro(1252)을 포함할 수 있다.
UFS 인터페이스(1300)는 기준 클럭(REF_CLK)을 전송하는 라인, UFS 장치(1200)에 대한 하드웨어 리셋 신호(RESET_n)를 전송하는 라인, 차동 입력 신호 쌍(DIN_t와 DIN_c)을 전송하는 한 쌍의 라인 및 차동 출력 신호 쌍(DOUT_t와 DOUT_c)을 전송하는 한 쌍의 라인을 포함할 수 있다.
UFS 호스트(1100)로부터 UFS 장치(1200)로 제공되는 기준 클럭의 주파수 값은 19.2MHz, 26MHz, 38.4MHz 및 52MHz의 네 개의 값 중 하나일 수 있으나, 반드시 이에 한정되지는 않는다. UFS 호스트(1100)는 동작 중에도, 즉 UFS 호스트(1100)와 UFS 장치(1200) 사이에서 데이터 송수신이 수행되는 중에도 기준 클럭의 주파수 값을 변경할 수 있다. UFS 장치(1200)는 위상 동기 루프(phase-locked loop, PLL) 등을 이용하여, UFS 호스트(1100)로부터 제공받은 기준 클럭으로부터 다양한 주파수의 클럭을 생성할 수 있다. 또한, UFS 호스트(1100)는 기준 클럭의 주파수 값을 통해 UFS 호스트(1100)와 UFS 장치(1200) 간의 데이터 레이트(data rate)의 값을 설정할 수도 있다. 즉, 상기 데이터 레이트의 값은 기준 클럭의 주파수 값에 의존하여 결정될 수 있다.
UFS 인터페이스(101)는 복수의 레인들(multiple lanes)을 지원할 수 있으며, 각 레인은 차동(differential) 쌍으로 구현될 수 있다. 예컨대, UFS 인터페이스는 하나 이상의 수신 레인(receive lane)과 하나 이상의 송신 레인(transmit lane)을 포함할 수 있다. 도 24에서, 차동 입력 신호 쌍(DIN_T와 DIN_C)을 전송하는 한 쌍의 라인은 수신 레인을, 차동 출력 신호 쌍(DOUT_T와 DOUT_C)을 전송하는 한 쌍의 라인은 송신 레인을 각각 구성할 수 있다. 도 24에서는 하나의 송신 레인과 하나의 수신 레인을 도시하였지만, 송신 레인과 수신 레인의 수는 변경될 수 있다.
수신 레인 및 송신 레인은 직렬 통신(serial communication) 방식으로 데이터를 전송할 수 있으며, 수신 레인과 송신 레인이 분리된 구조에 의해 UFS 호스트(1100)와 UFS 장치(1200) 간의 풀 듀플렉스(full-duplex) 방식의 통신이 가능하다. 즉, UFS 장치(1200)는 수신 레인을 통해 UFS 호스트(1100)로부터 데이터를 수신받는 동안에도, 송신 레인을 통해 UFS 호스트(1100)로 데이터를 송신할 수 있다. 또한, UFS 호스트(1100)로부터 UFS 장치(1200)로의 명령과 같은 제어 데이터와, UFS 호스트(1100)가 UFS 장치(1200)의 비휘발성 메모리(1220)에 저장하고자 하거나 비휘발성 메모리(1220)로부터 독출하고자 하는 사용자 데이터는 동일한 레인을 통해 전송될 수 있다. 이에 따라, UFS 호스트(1100)와 UFS 장치(1200) 간에는 한 쌍의 수신 레인과 한 쌍의 송신 레인 외에 데이터 전송을 위한 별도의 레인이 더 구비될 필요가 없다.
UFS 장치(1200)의 UFS 장치 컨트롤러(1210)는 UFS 장치(1200)의 동작을 전반적으로 제어할 수 있다. UFS 장치 컨트롤러(1210)는 논리적인 데이터 저장 단위인 LU(logical unit)(1211)를 통해 비휘발성 메모리(1220)를 관리할 수 있다. LU(1211)의 개수는 8개일 수 있으나, 이에 한정되는 것은 아니다. UFS 장치 컨트롤러(1210)는 플래시 변환 계층(flash translation layer, FTL)을 포함할 수 있으며, FTL의 어드레스 매핑(address mapping) 정보를 이용하여 UFS 호스트(1100)로부터 전달된 논리적인 데이터 주소, 예컨대 LBA(logical block address)를 물리적인 데이터 주소로, 예컨대 PBA(physical block address)로 변환할 수 있다. UFS 시스템(1000)에서 사용자 데이터(user data)의 저장을 위한 논리 블록(logical block)은 소정 범위의 크기를 가질 수 있다. 예컨대, 논리 블록의 최소 크기는 4Kbyte로 설정될 수 있다.
UFS 호스트(1100)로부터의 명령이 UIC 레이어(1250)를 통해 UFS 장치(1200)로 입력되면, UFS 장치 컨트롤러(1210)는 입력된 명령에 따른 동작을 수행하고, 상기 동작이 완료되면 완료 응답을 UFS 호스트(1100)로 전송할 수 있다.
일례로서, UFS 호스트(1100)가 UFS 장치(1200)에 사용자 데이터를 저장하고자 할 경우, UFS 호스트(1100)는 데이터 저장 명령을 UFS 장치(1200)로 전송할 수 있다. 사용자 데이터를 전송받을 준비가 되었다(ready-to-transfer)는 응답을 UFS 장치(1200)로부터 수신하면, UFS 호스트(1100)는 사용자 데이터를 UFS 장치(1200)로 전송할 수 있다. UFS 장치 컨트롤러(1210)는 전송받은 사용자 데이터를 장치 메모리(1240) 내에 임시로 저장하고, FTL의 어드레스 매핑 정보에 기초하여 장치 메모리(1240)에 임시로 저장된 사용자 데이터를 비휘발성 메모리(1220)의 선택된 위치에 저장할 수 있다.
또 다른 예로서, UFS 호스트(1100)가 UFS 장치(1200)에 저장된 사용자 데이터를 독출하고자 할 경우, UFS 호스트(1100)는 데이터 독출 명령을 UFS 장치(1200)로 전송할 수 있다. 명령을 수신한 UFS 장치 컨트롤러(1210)는 상기 데이터 독출 명령에 기초하여 비휘발성 메모리(1220)로부터 사용자 데이터를 독출하고, 독출된 사용자 데이터를 장치 메모리(1240) 내에 임시로 저장할 수 있다. 이러한 독출 과정에서, UFS 장치 컨트롤러(1210)는 내장된 ECC(error correction code) 엔진(미도시)을 이용하여, 독출된 사용자 데이터의 에러를 검출하고 정정할 수 있다. 보다 구체적으로, ECC 엔진은 비휘발성 메모리(1220)에 기입될 기입 데이터에 대하여 패리티 비트(parity bit)들을 생성할 수 있으며, 이와 같이 생성된 패리티 비트들은 기입 데이터와 함께 비휘발성 메모리(1220) 내에 저장될 수 있다. 비휘발성 메모리(1220)로부터의 데이터 독출 시, ECC 엔진은 독출 데이터와 함께 비휘발성 메모리(1220)로부터 독출되는 패리티 비트들을 이용하여 독출 데이터의 에러를 정정하고, 에러가 정정된 독출 데이터를 출력할 수 있다.
그리고, UFS 장치 컨트롤러(1210)는 장치 메모리(1240) 내에 임시로 저장된 사용자 데이터를 UFS 호스트(1100)로 전송할 수 있다. 아울러, UFS 장치 컨트롤러(1210)는 AES(advanced encryption standard) 엔진(미도시)을 더 포함할 수 있다. AES 엔진은, UFS 장치 컨트롤러(1210)로 입력되는 데이터에 대한 암호화(encryption) 동작과 복호화(decryption) 동작 중 적어도 하나를, 대칭 키 알고리즘(symmetric-key algorithm)을 이용하여 수행할 수 있다.
UFS 호스트(1100)는 명령 큐로 기능할 수 있는 UFS 호스트 레지스터(1111)에 UFS 장치(1200)로 송신될 명령들을 순서에 따라 저장하고, 상기 순서대로 UFS 장치(1200)에 명령을 송신할 수 있다. 이 때, UFS 호스트(1100)는 이전에 송신된 명령이 아직 UFS 장치(1200)에 의해 처리 중인 경우에도, 즉 이전에 송신된 명령이 UFS 장치(1200)에 의해 처리가 완료되었다는 통지를 받기 전에도 명령 큐에 대기 중인 다음 명령을 UFS 장치(1200)로 송신할 수 있으며, 이에 따라 UFS 장치(1200) 역시 이전에 송신된 명령을 처리하는 중에도 다음 명령을 UFS 호스트(1100)로부터 수신할 수 있다. 이와 같은 명령 큐에 저장될 수 있는 명령의 최대 개수(queue depth)는 예컨대 32개일 수 있다. 또한, 명령 큐는 헤드 포인터(head point)와 테일 포인터(tail pointer)를 통해 큐에 저장된 명령 열의 시작과 끝을 각각 나타내는 원형 큐(circular queue) 타입으로 구현될 수 있다.
복수의 메모리 유닛(1221) 각각은 메모리 셀 어레이(미도시)와 상기 메모리 셀 어레이의 작동을 제어하는 제어 회로(미도시)를 포함할 수 있다. 상기 메모리 셀 어레이는 2차원 메모리 셀 어레이 또는 3차원 메모리 셀 어레이를 포함할 수 있다. 메모리 셀 어레이는 복수의 메모리 셀을 포함하며, 각각의 메모리 셀은 1비트의 정보를 저장하는 셀(single level cell, SLC)일 수도 있지만, MLC(multi level cell), TLC(triple level cell), QLC(quadruple level cell)와 같이 2비트 이상의 정보를 저장하는 셀일 수도 있다. 3차원 메모리 셀 어레이는 적어도 하나의 메모리 셀이 다른 메모리 셀의 위에 위치하도록 수직으로 배향되는(vertically oriented) 수직 NAND 스트링을 포함할 수 있다.
UFS 장치(1200)에는 전원 전압으로서 VCC, VCCQ, VCCQ2 등이 입력될 수 있다. VCC는 UFS 장치(1200)를 위한 주 전원 전압으로서, 2.4~3.6V의 값을 가질 수 있다. VCCQ는 낮은 범위의 전압을 공급하기 위한 전원 전압으로서, 주로 UFS 장치 컨트롤러(1210)를 위한 것이며. 1.14~1.26V의 값을 가질 수 있다. VCCQ2는 VCC보다는 낮지만 VCCQ보다는 높은 범위의 전압을 공급하기 위한 전원 전압으로서, 주로 MIPI M-PHY(1251)와 같은 입출력 인터페이스를 위한 것이며, 1.7~1.95V의 값을 가질 수 있다. 상기 전원 전압들은 레귤레이터(1260)를 거쳐 UFS 장치(1200)의 각 구성 요소들을 위해 공급될 수 있다. 레귤레이터(1260)는 전술한 전원 전압들 중 서로 다른 것에 각각 연결되는 단위 레귤레이터의 집합으로 구현될 수 있다.
도 25a 내지 25c는 UFS 카드의 폼 팩터에 대해 설명하기 위한 도면이다. 도 24를 참조하여 설명된 UFS 장치(1200)가 UFS 카드(2000) 형태로 구현된 경우, UFS 카드(2000)의 외형은 도 25a 내지 25c에 도시된 바를 따를 수 있다.
도 25a는 UFS 카드(2000)의 평면도(top view)를 예시적으로 보여주고 있다. 도 25a를 참조하면, UFS 카드(2000)는 전체적으로 상어(shark) 형상의 디자인을 따르고 있다는 것을 확인할 수 있다. 도 25a와 관련하여, UFS 카드(2000)는 예시적으로 아래의 표 1에 기재된 바와 같은 치수(dimension) 값을 가질 수 있다.
항목 치수 (mm)
T1 9.70
T2 15.00
T3 11.00
T4 9.70
T5 5.15
T6 0.25
T7 0.60
T8 0.75
T9 R0.80
도 25b는 UFS 카드(2000)의 측면도(side view)를 예시적으로 보여주고 있다. 도 25b와 관련하여, UFS 카드(2000)는 예시적으로 아래의 표 2에 기재된 바와 같은 치수(dimension) 값을 가질 수 있다.
항목 치수 (mm)
S1 0.74±0.06
S2 0.30
S3 0.52
S4 1.20
S5 1.05
S6 1.00
도 25c는 UFS 카드(2000)의 저면도(bottom view)를 예시적으로 보여주고 있다. 도 25c를 참조하면, UFS 카드(2000)의 저면에는 UFS 슬롯과의 전기적 접촉을 위한 복수 개의 핀(pin)이 형성될 수 있으며, 각 핀의 기능에 대해서는 후술한다. UFS 카드(2000)의 상면과 저면 간의 대칭성에 의거하여, 도 25a 및 표 1을 참조하여 설명된 치수에 관한 정보 중 일부(예컨대, T1 내지 T5 및 T9)는 도 25c에 도시된 바와 같은 UFS 카드(2000)의 저면도에도 적용될 수 있다.UFS 카드(2000)의 저면에는 UFS 호스트와의 전기적 연결을 위해 복수의 핀이형성될 수 있으며, 도 25c에 의하면 핀의 개수는 총 12개일 수 있다. 각 핀은 직사각형 형상을 가질 수 있으며, 핀에 대응되는 신호명(signal name)은 도 25c에 표시된 바와 같다. 각 핀에 대한 개략적인 정보에 대해서는 아래의 표 3을 참조할 수 있다.
번호 신호명 설명 치수 (mm)
1 VSS 그라운드(GND) 3.00 × 0.72±0.05
2 DIN_C 호스트로부터 UFS 카드(2000)로 입력되는 차동 입력 신호 (DIN_C는 negative node, DIN_T는 positive node) 1.50 × 0.72±0.05
3 DIN_T
4 VSS 1번과 같음 3.00 × 0.72±0.05
5 DOUT_C UFS 카드(2000)로부터 호스트로 출력되는 차동 출력 신호 (DOUT_C는 negative node, DOUT_T는 positive node) 1.50 × 0.72±0.05
6 DOUT_T
7 VSS 1번과 같음 3.00 × 0.72±0.05
8 REF_CLK 호스트로부터 UFS 카드(2000)로 제공되는 기준 클럭 1.50 × 0.72±0.05
9 VCCQ2 주로 PHY 인터페이스 혹은 컨트롤러를 위해 제공되는, Vcc에 비해 상대적으로 낮은 값을 갖는 전원 전압 3.00 × 0.72±0.05
10 C/D(GND) 카드 검출(Card Detection)용 신호 1.50 × 0.72±0.05
11 VSS 1번과 같음 3.00 × 0.80±0.05
12 Vcc 주 전원 전압
도 26은 본 개시의 일 실시예에 따른 메모리 시스템(3000)을 나타내는 블록도이다. 도 26을 참조하면, 메모리 시스템(3000)은 메모리 장치(3200) 및 메모리 컨트롤러(3100)를 포함할 수 있다. 메모리 장치(3200)는 복수의 채널들 중 하나를 기반으로 메모리 컨트롤러(3100)와 통신하는 비휘발성 메모리 장치들 중 하나에 대응할 수 있다. 예를 들어, 메모리 장치(3200)는 도 1의 비휘발성 메모리(130)에 대응할 수 있고, 메모리 컨트롤러(3100)는 도 1의 장치 컨트롤러(120)에 대응할 수 있다.
메모리 장치(3200)는 제1 내지 제8 핀들(P11~P18), 메모리 인터페이스 회로(3210), 제어 로직 회로(3220), 및 메모리 셀 어레이(3230)를 포함할 수 있다. 메모리 인터페이스 회로(3210)는 제1 핀(P11)을 통해 메모리 컨트롤러(3100)로부터 칩 인에이블 신호(nCE)를 수신할 수 있다. 메모리 인터페이스 회로(3210)는 칩 인에이블 신호(nCE)에 따라 제2 내지 제8 핀들(P12~P18)을 통해 메모리 컨트롤러(3100)와 신호들을 송수신할 수 있다. 예를 들어, 칩 인에이블 신호(nCE)가 인에이블 상태(예를 들어, 로우 레벨)인 경우, 메모리 인터페이스 회로(3310)는 제2 내지 제8 핀들(P12~P18)을 통해 메모리 컨트롤러(3100)와 신호들을 송수신할 수 있다.
메모리 인터페이스 회로(3210)는 제2 내지 제4 핀들(P12~P14)을 통해 메모리 컨트롤러(3100)로부터 커맨드 래치 인에이블 신호(CLE), 어드레스 래치 인에이블 신호(ALE), 및 쓰기 인에이블 신호(nWE)를 수신할 수 있다. 메모리 인터페이스 회로(3210)는 제7 핀(P17)을 통해 메모리 컨트롤러(3100)로부터 데이터 신호(DQ)를 수신하거나, 메모리 컨트롤러(3100)로 데이터 신호(DQ)를 전송할 수 있다. 데이터 신호(DQ)를 통해 커맨드(CMD), 어드레스(ADDR), 및 데이터(DATA)가 전달될 수 있다. 예를 들어, 데이터 신호(DQ)는 복수의 데이터 신호 라인들을 통해 전달될 수 있다. 이 경우, 제7 핀(P17)은 복수의 데이터 신호들에 대응하는 복수개의 핀들을 포함할 수 있다.
메모리 인터페이스 회로(3210)는 쓰기 인에이블 신호(nWE)의 토글 타이밍들에 기초하여 커맨드 래치 인에이블 신호(CLE)의 인에이블 구간(예를 들어, 하이 레벨 상태)에서 수신되는 데이터 신호(DQ)로부터 커맨드(CMD)를 획득할 수 있다. 메모리 인터페이스 회로(3210)는 쓰기 인에이블 신호(nWE)의 토글 타이밍들에 기초하여 어드레스 래치 인에이블 신호(ALE)의 인에이블 구간(예를 들어, 하이 레벨 상태)에서 수신되는 데이터 신호(DQ)로부터 어드레스(ADDR)를 획득할 수 있다.
예시적인 실시 예에서, 쓰기 인에이블 신호(nWE)는 고정된(static) 상태(예를 들어, 하이(high) 레벨 또는 로우(low) 레벨)를 유지하다가 하이 레벨과 로우 레벨 사이에서 토글할 수 있다. 예를 들어, 쓰기 인에이블 신호(nWE)는 커맨드(CMD) 또는 어드레스(ADDR)가 전송되는 구간에서 토글할 수 있다. 이에 따라, 메모리 인터페이스 회로(3210)는 쓰기 인에이블 신호(nWE)의 토글 타이밍들에 기초하여 커맨드(CMD) 또는 어드레스(ADDR)를 획득할 수 있다.
메모리 인터페이스 회로(3210)는 제5 핀(P15)을 통해 메모리 컨트롤러(3100)로부터 읽기 인에이블 신호(nRE)를 수신할 수 있다. 메모리 인터페이스 회로(3210)는 제6 핀(P16)을 통해 메모리 컨트롤러(3100)로부터 데이터 스트로브 신호(DQS)를 수신하거나, 메모리 컨트롤러(3100)로 데이터 스트로브 신호(DQS)를 전송할 수 있다.
메모리 장치(3200)의 데이터(DATA) 출력 동작에서, 메모리 인터페이스 회로(3210)는 데이터(DATA)를 출력하기 전에 제5 핀(P15)을 통해 토글하는 읽기 인에이블 신호(nRE)를 수신할 수 있다. 메모리 인터페이스 회로(3210)는 읽기 인에이블 신호(nRE)의 토글링에 기초하여 토글하는 데이터 스트로브 신호(DQS)를 생성할 수 있다. 예를 들어, 메모리 인터페이스 회로(3210)는 읽기 인에이블 신호(nRE)의 토글링 시작 시간을 기준으로 미리 정해진 딜레이(예를 들어, tDQSRE) 이후에 토글하기 시작하는 데이터 스트로브 신호(DQS)를 생성할 수 있다. 메모리 인터페이스 회로(310)는 데이터 스트로브 신호(DQS)의 토글 타이밍에 기초하여 데이터(DATA)를 포함하는 데이터 신호(DQ)를 전송할 수 있다. 이에 따라, 데이터(DATA)는 데이터 스트로브 신호(DQS)의 토글 타이밍에 정렬되어 메모리 컨트롤러(3100)로 전송될 수 있다.
메모리 장치(3200)의 데이터(DATA) 입력 동작에서, 메모리 컨트롤러(3100)로부터 데이터(DATA)를 포함하는 데이터 신호(DQ)이 수신되는 경우, 메모리 인터페이스 회로(3210)는 메모리 컨트롤러(3100)로부터 데이터(DATA)와 함께 토글하는 데이터 스트로브 신호(DQS)를 수신할 수 있다. 메모리 인터페이스 회로(3210)는 데이터 스트로브 신호(DQS)의 토글 타이밍에 기초하여 데이터 신호(DQ)로부터 데이터(DATA)를 획득할 수 있다. 예를 들어, 메모리 인터페이스 회로(3210)는 데이터 스트로브 신호(DQS)의 상승 에지 및 하강 에지에서 데이터 신호(DQ)를 샘플링함으로써 데이터(DATA)를 획득할 수 있다.
메모리 인터페이스 회로(3210)는 제8 핀(P18)을 통해 레디/비지 출력 신호(nR/B)를 메모리 컨트롤러(3100)로 전송할 수 있다. 메모리 인터페이스 회로(3210)는 레디/비지 출력 신호(nR/B)를 통해 메모리 장치(3200)의 상태 정보를 메모리 컨트롤러(3100)로 전송할 수 있다. 메모리 장치(3200)가 비지 상태인 경우(즉, 메모리 장치(3200) 내부 동작들이 수행 중인 경우), 메모리 인터페이스 회로(3210)는 비지 상태를 나타내는 레디/비지 출력 신호(nR/B)를 메모리 컨트롤러(3100)로 전송할 수 있다. 메모리 장치(3200)가 레디 상태인 경우(즉, 메모리 장치(3200) 내부 동작들이 수행되지 않거나 완료된 경우), 메모리 인터페이스 회로(3210)는 레디 상태를 나타내는 레디/비지 출력 신호(nR/B)를 메모리 컨트롤러(3100)로 전송할 수 있다. 예를 들어, 메모리 장치(3200)가 페이지 독출 명령에 응답하여 메모리 셀 어레이(3230)로부터 데이터(DATA)를 독출하는 동안, 메모리 인터페이스 회로(3210)는 비지 상태(예를 들어, 로우 레벨)를 나타내는 레디/비지 출력 신호(nR/B)를 메모리 컨트롤러(3100)로 전송할 수 있다. 예를 들어, 메모리 장치(3200)가 프로그램 명령에 응답하여 메모리 셀 어레이(3230)로 데이터(DATA)를 프로그램하는 동안, 메모리 인터페이스 회로(3210)는 비지 상태를 나타내는 레디/비지 출력 신호(nR/B)를 메모리 컨트롤러(3100)로 전송할 수 있다.
제어 로직 회로(3220)는 메모리 장치(3200)의 각종 동작을 전반적으로 제어할 수 있다. 제어 로직 회로(3220)는 메모리 인터페이스 회로(3210)로부터 획득된 커맨드/어드레스(CMD/ADDR)를 수신할 수 있다. 제어 로직 회로(3220)는 수신된 커맨드/어드레스(CMD/ADDR)에 따라 메모리 장치(3200)의 다른 구성 요소들을 제어하기 위한 제어 신호들을 생성할 수 있다. 예를 들어, 제어 로직 회로(3220)는 메모리 셀 어레이(3230)에 데이터(DATA)를 프로그램하거나, 또는 메모리 셀 어레이(3230)로부터 데이터(DATA)를 독출하기 위한 각종 제어 신호들을 생성할 수 있다.
메모리 셀 어레이(3230)는 제어 로직 회로(3220)의 제어에 따라 메모리 인터페이스 회로(3210)로부터 획득된 데이터(DATA)를 저장할 수 있다. 메모리 셀 어레이(3230)는 제어 로직 회로(3220)의 제어에 따라 저장된 데이터(DATA)를 메모리 인터페이스 회로(3210)로 출력할 수 있다.
메모리 셀 어레이(3230)는 복수의 메모리 셀들을 포함할 수 있다. 예를 들어, 복수의 메모리 셀들은 플래시 메모리 셀들일 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 메모리 셀들은 RRAM(Resistive Random Access Memory) 셀, FRAM(Ferroelectric Random Access Memory) 셀, PRAM(Phase Change Random Access Memory) 셀, TRAM(Thyristor Random Access Memory) 셀, MRAM(Magnetic Random Access Memory) 셀들일 수 있다. 이하에서는, 메모리 셀들이 낸드(NAND) 플래시 메모리 셀들인 실시 예를 중심으로 본 발명의 실시 예들이 설명될 것이다.
메모리 컨트롤러(3100)는 제1 내지 제8 핀들(P21~P28), 및 컨트롤러 인터페이스 회로(3110)를 포함할 수 있다. 제1 내지 제8 핀들(P21~P28)은 메모리 장치(3200)의 제1 내지 제8 핀들(P11~P18)에 대응할 수 있다. 컨트롤러 인터페이스 회로(3110)는 제1 핀(P21)을 통해 메모리 장치(3200)로 칩 인에이블 신호(nCE)를 전송할 수 있다. 컨트롤러 인터페이스 회로(3110)는 칩 인에이블 신호(nCE)를 통해 선택한 메모리 장치(3200)와 제2 내지 제8 핀들(P22~P28)을 통해 신호들을 송수신할 수 있다.
컨트롤러 인터페이스 회로(3110)는 제2 내지 제4 핀들(P22~P24)을 통해 커맨드 래치 인에이블 신호(CLE), 어드레스 래치 인에이블 신호(ALE), 및 쓰기 인에이블 신호(nWE)를 메모리 장치(3200)로 전송할 수 있다. 컨트롤러 인터페이스 회로(3110)는 제7 핀(P27)을 통해 메모리 장치(3200)로 데이터 신호(DQ)를 전송하거나, 메모리 장치(3200)로부터 데이터 신호(DQ)를 수신할 수 있다.
컨트롤러 인터페이스 회로(3110)는 토글하는 쓰기 인에이블 신호(nWE)와 함께 커맨드(CMD) 또는 어드레스(ADDR)를 포함하는 데이터 신호(DQ)를 메모리 장치(3200)로 전송할 수 있다. 컨트롤러 인터페이스 회로(3110)는 인에이블 상태를 가지는 커맨드 래치 인에이블 신호(CLE)를 전송함에 따라 커맨드(CMD)를 포함하는 데이터 신호(DQ)를 메모리 장치(3200)로 전송하고, 인에이블 상태를 가지는 어드레스 래치 인에이블 신호(ALE)를 전송함에 따라 어드레스(ADDR)를 포함하는 데이터 신호(DQ)를 메모리 장치(3200)로 전송할 수 있다.
컨트롤러 인터페이스 회로(3110)는 제5 핀(P25)을 통해 메모리 장치(3200)로 읽기 인에이블 신호(nRE)를 전송할 수 있다. 컨트롤러 인터페이스 회로(3110)는 제6 핀(P26)을 통해 메모리 장치(3200)로부터 데이터 스트로브 신호(DQS)를 수신하거나, 메모리 장치(3200)로 데이터 스트로브 신호(DQS)를 전송할 수 있다.
메모리 장치(3200)의 데이터(DATA) 출력 동작에서, 컨트롤러 인터페이스 회로(3110)는 토글하는 읽기 인에이블 신호(nRE)를 생성하고, 읽기 인에이블 신호(nRE)를 메모리 장치(3200)로 전송할 수 있다. 예를 들어, 컨트롤러 인터페이스 회로(3110)는 데이터(DATA)가 출력되기 전에 고정된 상태(예를 들어, 하이 레벨 또는 로우 레벨)에서 토글 상태로 변경되는 읽기 인에이블 신호(nRE)를 생성할 수 있다. 이에 따라, 메모리 장치(3200)에서 읽기 인에이블 신호(nRE)에 기초하여 토글하는 데이터 스트로브 신호(DQS)가 생성될 수 있다. 컨트롤러 인터페이스 회로(3110)는 메모리 장치(3200)로부터 토글하는 데이터 스트로브 신호(DQS)와 함께 데이터(DATA)를 포함하는 데이터 신호(DQ)를 수신할 수 있다. 컨트롤러 인터페이스 회로(3110)는 데이터 스트로브 신호(DQS)의 토글 타이밍에 기초하여 데이터 신호(DQ)로부터 데이터(DATA)를 획득할 수 있다.
메모리 장치(3200)의 데이터(DATA) 입력 동작에서, 컨트롤러 인터페이스 회로(3110)는 토글하는 데이터 스트로브 신호(DQS)를 생성할 수 있다. 예를 들어, 컨트롤러 인터페이스 회로(3110)는 데이터(DATA)를 전송하기 전에 고정된 상태(예를 들어, 하이 레벨 또는 로우 레벨)에서 토글 상태로 변경되는 데이터 스트로브 신호(DQS)를 생성할 수 있다. 컨트롤러 인터페이스 회로(3110)는 데이터 스트로브 신호(DQS)의 토글 타이밍들에 기초하여 데이터(DATA)를 포함하는 데이터 신호(DQ)를 메모리 장치(3200)로 전송할 수 있다.
컨트롤러 인터페이스 회로(3110)는 제8 핀(P28)을 통해 메모리 장치(3200)로부터 레디/비지 출력 신호(nR/B)를 수신할 수 있다. 컨트롤러 인터페이스 회로(3110)는 레디/비지 출력 신호(nR/B)에 기초하여 메모리 장치(3200)의 상태 정보를 판별할 수 있다.
도 27은 본 발명의 일 실시예에 따른 UFS 장치에 적용될 수 있는 3D VNAND 구조에 대해 설명하기 위한 도면이다. UFS 장치의 스토리지 모듈이 3D VNAND(Vertical NAND) 타입의 플래시 메모리로 구현될 경우, 스토리지 모듈을 구성하는 복수의 메모리 블록 각각은 도 27에 도시된 바와 같은 등가 회로로 표현될 수 있다. 도 27에 도시된 메모리 블록(BLKi)은 기판 상에 삼차원 구조로 형성되는 삼차원 메모리 블록을 나타낸다. 예를 들어, 메모리 블록(BLKi)에 포함되는 복수의 메모리 낸드 스트링들은 상기 기판과 수직한 방향으로 형성될 수 있다.
도 27을 참조하면, 메모리 블록(BLKi)은 비트 라인들(BL1, BL2, BL3)과 공통 소스 라인(CSL) 사이에 연결되는 복수의 메모리 낸드 스트링들(NS11~NS33)을 포함할 수 있다. 복수의 메모리 낸드 스트링들(NS11~NS33) 각각은 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1, MC2, ..., MC8) 및 접지 선택 트랜지스터(GST)를 포함할 수 있다. 도 27에는 복수의 메모리 낸드 스트링들(NS11~NS33) 각각이 8개의 메모리 셀들(MC1, MC2, ..., MC8)을 포함하는 것으로 도시되어 있으나, 반드시 이에 한정되는 것은 아니다.
스트링 선택 트랜지스터(SST)는 상응하는 스트링 선택 라인(SSL1, SSL2, SSL3)에 연결될 수 있다. 복수의 메모리 셀들(MC1, MC2, ..., MC8)은 각각 상응하는 게이트 라인(GTL1, GTL2, ..., GTL8)에 연결될 수 있다. 게이트 라인(GTL1, GTL2, ..., GTL8)은 워드 라인들에 해당할 수 있으며, 게이트 라인(GTL1, GTL2, ..., GTL8)의 일부는 더미 워드 라인에 해당할 수 있다. 접지 선택 트랜지스터(GST)는 상응하는 접지 선택 라인(GSL1, GSL2, GSL3)에 연결될 수 있다. 스트링 선택 트랜지스터(SST)는 상응하는 비트 라인(BL1, BL2, BL3)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결될 수 있다.
동일 높이의 워드 라인(예를 들면, WL1)은 공통으로 연결되고, 접지 선택 라인(GSL1, GSL2, GSL3) 및 스트링 선택 라인(SSL1, SSL2, SSL3)은 각각 분리될 수 있다. 도 27에는 메모리 블록(BLK)이 여덟 개의 게이트 라인(GTL1, GTL2, ..., GTL8) 및 세 개의 비트 라인들(BL1, BL2, BL3)에 연결되는 것으로 도시되어 있으나, 반드시 이에 한정되는 것은 아니다.
도 28은 본 발명의 일 실시예에 따른 UFS 장치에 적용될 수 있는 B-VNAND 구조에 대해 설명하기 위한 도면이다. UFS 장치에 포함되는 비휘발성 메모리가 B-VNAND(Bonding Vertical NAND) 타입의 플래시 메모리로 구현될 경우, 비휘발성 메모리는 도 28에 도시된 구조를 가질 수 있다.
도 28을 참조하면, 메모리 장치(4000)는 C2C(chip to chip) 구조일 수 있다. C2C 구조는 제1 웨이퍼 상에 셀 영역(CELL)을 포함하는 상부 칩을 제작하고, 제1 웨이퍼와 다른 제2 웨이퍼 상에 주변 회로 영역(PERI)을 포함하는 하부 칩을 제작한 후, 상기 상부 칩과 상기 하부 칩을 본딩(bonding) 방식에 의해 서로 연결하는 것을 의미할 수 있다. 일례로, 상기 본딩 방식은 상부 칩의 최상부 메탈층에 형성된 본딩 메탈과 하부 칩의 최상부 메탈층에 형성된 본딩 메탈을 서로 전기적으로 연결하는 방식을 의미할 수 있다. 예컨대, 상기 본딩 메탈이 구리(Cu)로 형성된 경우, 상기 본딩 방식은 Cu-Cu 본딩 방식일 수 있으며, 상기 본딩 메탈은 알루미늄 혹은 텅스텐으로도 형성될 수 있다.
메모리 장치(4000)의 주변 회로 영역(PERI)과 셀 영역(CELL) 각각은 외부 패드 본딩 영역(PA), 워드 라인 본딩 영역(WLBA), 및 비트 라인 본딩 영역(BLBA)을 포함할 수 있다.
주변 회로 영역(PERI)은 제1 기판(4110), 층간 절연층(4115), 제1 기판(4110)에 형성되는 복수의 회로 소자들(4120a, 4120b, 4120c), 복수의 회로 소자들(4120a, 4120b, 4120c) 각각과 연결되는 제1 메탈층(4130a, 4130b, 4130c), 제1 메탈층(4130a, 4130b, 4130c) 상에 형성되는 제2 메탈층(4140a, 4140b, 4140c)을 포함할 수 있다. 일 실시예에서, 제1 메탈층(4130a, 4130b, 4130c)은 상대적으로 저항이 높은 텅스텐으로 형성될 수 있고, 제2 메탈층(4140a, 4140b, 4140c)은 상대적으로 저항이 낮은 구리로 형성될 수 있다.
본 명세서에서는 제1 메탈층(4130a, 4130b, 4130c)과 제2 메탈층(4140a, 4140b, 4140c)만 도시 되고 설명되나, 이에 한정되는 것은 아니고, 제2 메탈층(4140a, 4140b, 4140c) 상에 적어도 하나 이상의 메탈층이 더 형성될 수도 있다. 제2 메탈층(4140a, 4140b, 4140c)의 상부에 형성되는 하나 이상의 메탈층 중 적어도 일부는, 제2 메탈층(4140a, 4140b, 4140c)을 형성하는 구리보다 더 낮은 저항을 갖는 알루미늄 등으로 형성될 수 있다.
층간 절연층(4115)은 복수의 회로 소자들(4120a, 4120b, 4120c), 제1 메탈층(4130a, 4130b, 4130c), 및 제2 메탈층(4140a, 4140b, 4140c)을 커버하도록 제1 기판(4110) 상에 배치되며, 실리콘 산화물, 실리콘 질화물 등과 같은 절연 물질을 포함할 수 있다.
워드 라인 본딩 영역(WLBA)의 제2 메탈층(4140b) 상에 하부 본딩 메탈(4171b, 4172b)이 형성될 수 있다. 워드 라인 본딩 영역(WLBA)에서, 주변 회로 영역(PERI)의 하부 본딩 메탈(4171b, 4172b)은 셀 영역(CELL)의 상부 본딩 메탈(4271b, 4272b)과 본딩 방식에 의해 서로 전기적으로 연결될 수 있으며, 하부 본딩 메탈(4171b, 4172b)과 상부 본딩 메탈(4271b, 4272b)은 알루미늄, 구리, 혹은 텅스텐 등으로 형성될 수 있다.
셀 영역(CELL)은 적어도 하나의 메모리 블록을 제공할 수 있다. 셀 영역(CELL)은 제2 기판(4210)과 공통 소스 라인(4220)을 포함할 수 있다. 제2 기판(4210) 상에는, 제2 기판(4210)의 상면에 수직하는 방향(Z축 방향)을 따라 복수의 워드 라인들(4231-4238; 4230)이 적층될 수 있다. 워드 라인들(4230)의 상부 및 하부 각각에는 스트링 선택 라인들과 접지 선택 라인이 배치될 수 있으며, 스트링 선택 라인들과 접지 선택 라인 사이에 복수의 워드 라인들(4230)이 배치될 수 있다.
비트 라인 본딩 영역(BLBA)에서, 채널 구조체(CH)는 제2 기판(4210)의 상면에 수직하는 방향으로 연장되어 워드 라인들(4230), 스트링 선택 라인들, 및 접지 선택 라인을 관통할 수 있다. 채널 구조체(CH)는 데이터 저장층, 채널층, 및 매립 절연층 등을 포함할 수 있으며, 채널층은 제1 메탈층(4250c) 및 제2 메탈층(4260c)과 전기적으로 연결될 수 있다. 예컨대, 제1 메탈층(4250c)은 비트 라인 컨택일 수 있고, 제2 메탈층(4260c)은 비트 라인일 수 있다. 일 실시예에서, 비트 라인(4260c)은 제2 기판(4210)의 상면에 평행한 제1 방향(Y축 방향)을 따라 연장될 수 있다.
도 28에 도시한 일 실시예에서, 채널 구조체(CH)와 비트 라인(4260c) 등이 배치되는 영역이 비트 라인 본딩 영역(BLBA)으로 정의될 수 있다. 비트 라인(4260c)은 비트 라인 본딩 영역(BLBA)에서 주변 회로 영역(PERI)에서 페이지 버퍼(4293)를 제공하는 회로 소자들(4120c)과 전기적으로 연결될 수 있다. 일례로, 비트 라인(4260c)은 주변 회로 영역(PERI)에서 상부 본딩 메탈(4271c, 4272c)과 연결되며, 상부 본딩 메탈(4271c, 4272c)은 페이지 버퍼(4293)의 회로 소자들(4120c)에 연결되는 하부 본딩 메탈(4171c, 4172c)과 연결될 수 있다.
워드 라인 본딩 영역(WLBA)에서, 워드 라인들(4230)은 제2 기판(4210)의 상면에 평행한 제2 방향(X축 방향)을 따라 연장될 수 있으며, 복수의 셀 컨택 플러그들(4241-4247; 4240)와 연결될 수 있다. 워드 라인들(4230)과 셀 컨택 플러그들(4240)은, 제2 방향을 따라 워드 라인들(4230) 중 적어도 일부가 서로 다른 길이로 연장되어 제공하는 패드들에서 서로 연결될 수 있다. 워드 라인들(4230)에 연결되는 셀 컨택 플러그들(4240)의 상부에는 제1 메탈층(4250b)과 제2 메탈층(4260b)이 차례로 연결될 수 있다. 셀 컨택 플러그들(4240)은 워드 라인 본딩 영역(WLBA)에서 셀 영역(CELL)의 상부 본딩 메탈(4271b, 4272b)과 주변 회로 영역(PERI)의 하부 본딩 메탈(4171b, 4172b)을 통해 주변 회로 영역(PERI)과 연결될 수 있다.
셀 컨택 플러그들(4240)은 주변 회로 영역(PERI)에서 로우 디코더(4294)를 제공하는 회로 소자들(4120b)과 전기적으로 연결될 수 있다. 일 실시예에서, 로우 디코더(4294)를 제공하는 회로 소자들(4120b)의 동작 전압은, 페이지 버퍼(4293)를 제공하는 회로 소자들(4120c)의 동작 전압과 다를 수 있다. 일례로, 페이지 버퍼(4293)를 제공하는 회로 소자들(4120c)의 동작 전압이 로우 디코더(4294)를 제공하는 회로 소자들(4120b)의 동작 전압보다 클 수 있다.
외부 패드 본딩 영역(PA)에는 공통 소스 라인 컨택 플러그(4280)가 배치될 수 있다. 공통 소스 라인 컨택 플러그(4280)는 금속, 금속 화합물, 또는 폴리실리콘 등의 도전성 물질로 형성되며, 공통 소스 라인(4220)과 전기적으로 연결될 수 있다. 공통 소스 라인 컨택 플러그(4280) 상부에는 제1 메탈층(4250a)과 제2 메탈층(4260a)이 차례로 적층될 수 있다. 일례로, 공통 소스 라인 컨택 플러그(4280), 제1 메탈층(4250a), 및 제2 메탈층(4260a)이 배치되는 영역은 외부 패드 본딩 영역(PA)으로 정의될 수 있다.
한편 외부 패드 본딩 영역(PA)에는 입출력 패드들(4105, 4205)이 배치될 수 있다. 도 28를 참조하면, 제1 기판(4110)의 하부에는 제1 기판(4110)의 하면을 덮는 하부 절연막(4101) 이 형성될 수 있으며, 하부 절연막(4101) 상에 제1 입출력 패드(4105)가 형성될 수 있다. 제1 입출력 패드(4105)는 제1 입출력 컨택 플러그(4103)를 통해 주변 회로 영역(PERI)에 배치되는 복수의 회로 소자들(4120a, 4120b, 4120c) 중 적어도 하나와 연결되며, 하부 절연막(4101)에 의해 제1 기판(4110)과 분리될 수 있다. 또한, 제1 입출력 컨택 플러그(4103)와 제1 기판(4110) 사이에는 측면 절연막이 배치되어 제1 입출력 컨택 플러그(4103)와 제1 기판(4110)을 전기적으로 분리할 수 있다.
도 28를 참조하면, 제2 기판(4210)의 상부에는 제2 기판(4210)의 상면을 덮는 상부 절연막(4201)이 형성될 수 있으며, 상부 절연막(4201) 상에 제2 입출력 패드(4205)가 배치될 수 있다. 제2 입출력 패드(4205)는 제2 입출력 컨택 플러그(4203)를 통해 주변 회로 영역(PERI)에 배치되는 복수의 회로 소자들(4120a, 4120b, 4120c) 중 적어도 하나와 연결될 수 있다.
실시예들에 따라, 제2 입출력 컨택 플러그(4203)가 배치되는 영역에는 제2 기판(4210) 및 공통 소스 라인(4220) 등이 배치되지 않을 수 있다. 또한, 제2 입출력 패드(4205)는 제3 방향(Z축 방향)에서 워드 라인들(4230)과 오버랩되지 않을 수 있다. 도 28를 참조하면, 제2 입출력 컨택 플러그(4203)는 제2 기판(4210)의 상면에 평행한 방향에서 제2 기판(4210)과 분리되며, 셀 영역(CELL)의 층간 절연층(4215)을 관통하여 제2 입출력 패드(4205)에 연결될 수 있다.
실시예들에 따라, 제1 입출력 패드(4105)와 제2 입출력 패드(4205)는 선택적으로 형성될 수 있다. 일례로, 메모리 장치(4000)는 제1 기판(4110)의 상부에 배치되는 제1 입출력 패드(4105)만을 포함하거나, 또는 제2 기판(4210)의 상부에 배치되는 제2 입출력 패드(4205)만을 포함할 수 있다. 또는, 메모리 장치(4000)가 제1 입출력 패드(4105)와 제2 입출력 패드(4205)를 모두 포함할 수도 있다.
셀 영역(CELL)과 주변 회로 영역(PERI) 각각에 포함되는 외부 패드 본딩 영역(PA)과 비트 라인 본딩 영역(BLBA) 각각에는 최상부 메탈층의 메탈 패턴이 더미 패턴(dummy pattern)으로 존재하거나, 최상부 메탈층이 비어있을 수 있다.
메모리 장치(4000)는 외부 패드 본딩 영역(PA)에서, 셀 영역(CELL)의 최상부 메탈층에 형성된 상부 메탈 패턴(4272a)에 대응하여 주변 회로 영역(PERI)의 최상부 메탈층에 셀 영역(CELL)의 상부 메탈 패턴(4272a)과 동일한 형태의 하부 메탈 패턴(4176a)을 형성할 수 있다. 주변 회로 영역(PERI)의 최상부 메탈층에 형성된 하부 메탈 패턴(4176a)은 주변 회로 영역(PERI)에서 별도의 컨택과 연결되지 않을 수 있다. 이와 유사하게, 외부 패드 본딩 영역(PA)에서 주변 회로 영역(PERI)의 최상부 메탈층에 형성된 하부 메탈 패턴에 대응하여 셀 영역(CELL)의 상부 메탈층에 주변 회로 영역(PERI)의 하부 메탈 패턴과 동일한 형태의 상부 메탈 패턴을 형성할 수도 있다.
워드 라인 본딩 영역(WLBA)의 제2 메탈층(4140b) 상에는 하부 본딩 메탈(4171b, 4172b)이 형성될 수 있다. 워드 라인 본딩 영역(WLBA)에서, 주변 회로 영역(PERI)의 하부 본딩 메탈(4171b, 4172b)은 셀 영역(CELL)의 상부 본딩 메탈(4271b, 4272b)과 본딩 방식에 의해 서로 전기적으로 연결될 수 있다.
또한, 비트 라인 본딩 영역(BLBA)에서, 주변 회로 영역(PERI)의 최상부 메탈층에 형성된 하부 메탈 패턴(4152)에 대응하여 셀 영역(CELL)의 최상부 메탈층에 주변 회로 영역(PERI)의 하부 메탈 패턴(4152)과 동일한 형태의 상부 메탈 패턴(4292)을 형성할 수 있다. 셀 영역(CELL)의 최상부 메탈층에 형성된 상부 메탈 패턴(4292) 상에는 컨택을 형성하지 않을 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (20)

  1. 스토리지 장치로서,
    호스트로부터 기준 클럭을 수신하도록 구성된 기준 클럭 핀;
    상기 기준 클럭 핀을 통해 수신한 상기 기준 클럭으로부터, 기준 클럭 주파수를 판별하도록 구성된 기준 클럭 주파수 판별기; 및
    판별된 상기 기준 클럭 주파수에 따라, 상기 호스트와 상기 스토리지 장치 사이에서 고속 모드로 링크 스타트업(link startup)을 수행하도록 구성된 장치 컨트롤러를 포함하는 스토리지 장치.
  2. 제1항에 있어서, 상기 스토리지 장치는,
    상기 스토리지 장치의 초기화 단계 또는 부팅 단계에서, 상기 기준 클럭 핀을 통해 상기 호스트로부터 상기 기준 클럭을 수신하는 것을 특징으로 하는 스토리지 장치.
  3. 제1항에 있어서,
    상기 호스트로부터 입력 신호를 수신하도록 구성된 입력 신호 핀; 및
    상기 입력 신호 핀에 연결되고, 상기 호스트와 데이터를 송수신하도록 구성된 인터커넥트부를 더 포함하고,
    상기 장치 컨트롤러는, 판별된 상기 기준 클럭 주파수에 따라 상기 인터커넥트부의 물리 계층을 설정하는 것을 특징으로 하는 스토리지 장치.
  4. 제3항에 있어서,
    상기 기준 클럭 주파수 판별기는, 판별된 상기 기준 클럭 주파수를 상기 인터커넥트부의 링크 계층에 전달하는 것을 특징으로 하는 스토리지 장치.
  5. 제3항에 있어서,
    상기 기준 클럭 주파수 판별기는, 상기 인터커넥트부에 포함되는 것을 특징으로 하는 스토리지 장치.
  6. 제1항에 있어서,
    상기 기준 클럭 주파수 판별기는, 상기 장치 컨트롤러에 포함되는 것을 특징으로 하는 스토리지 장치.
  7. 제1항에 있어서, 상기 기준 클럭 주파수 판별기는,
    상기 기준 클럭을 상기 스토리지 장치의 시스템 클럭과 비교함으로써, 상기 기준 클럭 주파수를 판별하는 기준 클럭 주파수 카운터를 포함하는 것을 특징으로 하는 스토리지 장치.
  8. 제7항에 있어서, 상기 기준 클럭 주파수 카운터는,
    주파수 판별 구간 동안, 상기 기준 클럭에서 클럭 개수를 카운팅함으로써 기준 클럭 카운트 값을 생성하는 기준 클럭 카운터;
    상기 주파수 판별 구간 동안, 상기 시스템 클럭에서 클럭 개수를 카운팅함으로써 시스템 클럭 카운트 값을 생성하는 시스템 클럭 카운터; 및
    상기 기준 클럭 카운트 값과 상기 시스템 클럭 카운트 값을 비교함으로써, 상기 기준 클럭 주파수를 판별하는 비교기를 포함하는 것을 특징으로 하는 스토리지 장치.
  9. 제1항에 있어서, 상기 기준 클럭 주파수 판별기는,
    제1 시점에서 상기 기준 클럭에 대응하는 제1 출력 전압을 생성하는 제1 RC 필터; 및
    상기 제1 시점과 다른 제2 시점에서 상기 기준 클럭에 대응하는 제2 출력 전압을 생성하는 제2 RC 필터를 포함하고,
    상기 기준 클럭 주파수 판별기는, 상기 제1 및 제2 출력 전압들에 기초하여, 상기 기준 클럭 주파수를 판별하는 것을 특징으로 하는 스토리지 장치.
  10. 제9항에 있어서, 상기 기준 클럭 주파수 판별기는,
    상기 제1 시점에서의 상기 제1 출력 전압의 전압 레벨에 따라 인에이블되는 제1 모니터 신호를 생성하는 제1 모니터 신호 생성기;
    상기 제2 시점에서의 상기 제2 출력 전압의 전압 레벨에 따라 인에이블되는 제2 모니터 신호를 생성하는 제2 모니터 신호 생성기; 및
    상기 제1 및 제2 모니터 신호들에 기초하여, 상기 기준 클럭 주파수를 판별하는 판별기를 더 포함하는 것을 특징으로 하는 스토리지 장치.
  11. 제9항에 있어서, 상기 기준 클럭 주파수 판별기는,
    상기 기준 클럭 핀과 상기 제1 및 제2 RC 필터들 사이에 연결되고, 상기 기준 클럭을 분주함으로써 분주된 기준 클럭을 생성하는 분주기를 더 포함하고,
    상기 제1 RC 필터는, 제1 시정수에 대응하는 상기 제1 시점에서, 상기 분주된 기준 클럭으로부터 상기 제1 출력 전압을 생성하며,
    상기 제2 RC 필터는, 제2 시정수에 대응하는 상기 제2 시점에서, 상기 분주된 기준 클럭으로부터 상기 제2 출력 전압을 생성하는 것을 특징으로 하는 스토리지 장치.
  12. 제1항에 있어서,
    상기 스토리지 장치는, 상기 호스트와 UFS(Universal Flash Storage) 표준에 통해 상호 연결되는 UFS 장치인 것을 특징으로 하는 스토리지 장치.
  13. 스토리지 장치로서,
    호스트로부터 기준 클럭을 수신하도록 구성된 기준 클럭 핀;
    상기 기준 클럭 핀을 통해 수신한 상기 기준 클럭으로부터 기준 클럭 주파수를 판별하도록 구성된 기준 클럭 주파수 판별기; 및
    상기 호스트와 상기 스토리지 장치 사이의 링크업 상태(linkup state)에서 상기 기준 클럭 주파수가 제1 기준 클럭 주파수에서 제2 기준 클럭 주파수로 변경되는 경우, 변경된 상기 제2 기준 클럭 주파수에 따라, 상기 호스트와 상기 스토리지 장치 사이의 속도 기어를 동적으로 변경하도록 구성된 장치 컨트롤러를 포함하는 스토리지 장치.
  14. 제13항에 있어서,
    상기 호스트로부터 입력 신호를 수신하도록 구성된 입력 신호 핀; 및
    상기 입력 신호 핀에 연결되고, 상기 호스트와 데이터를 송수신하도록 구성된 인터커넥트부를 더 포함하고,
    상기 장치 컨트롤러는, 상기 제1 기준 클럭 주파수에 따라 상기 인터커넥트부의 물리 계층을 설정하고, 상기 제2 기준 클럭 주파수에 따라 상기 인터커넥부의 상기 물리 계층을 다시 설정하는 것을 특징으로 하는 스토리지 장치.
  15. 제14항에 있어서, 상기 기준 클럭 주파수 판별기는,
    상기 제1 기준 클럭 주파수를 상기 인터커넥트부의 링크 계층에 전달하고,
    상기 제2 기준 클럭 주파수를 상기 인터커넥트부의 상기 링크 계층에 전달하는 것을 특징으로 하는 스토리지 장치.
  16. 스토리지 장치로서,
    호스트로부터 기준 클럭을 수신하도록 구성된 기준 클럭 핀;
    상기 호스트로부터 제어 신호를 수신하도록 구성된 제어 신호 핀; 및
    상기 제어 신호에 따라, 상기 호스트와 상기 스토리지 장치 사이에서 고속 모드로 링크 스타트업을 수행하거나 또는 상기 호스트와 상기 스토리지 장치 사이의 속도 기어를 변경하도록 구성된 장치 컨트롤러를 포함하는 스토리지 장치.
  17. 제16항에 있어서, 상기 제어 신호 핀은,
    상기 호스트로부터 상기 기준 클럭의 주파수 값을 나타내는 기준 클럭 주파수 신호를 수신하도록 구성된 기준 클럭 주파수 핀;
    상기 호스트의 동작 모드를 나타내는 모드 신호를 수신하도록 구성된 모드 핀; 및
    속도 기어를 나타내는 기어 신호를 수신하도록 구성된 기어 핀 중 적어도 하나를 포함하는 것을 특징으로 하는 스토리지 장치.
  18. 스토리지 장치로서,
    호스트로부터 기준 클럭을 수신하도록 구성된 기준 클럭 핀;
    상기 기준 클럭 핀을 통해 상기 기준 클럭이 수신되는지 여부를 검출하는 기준 클럭 검출기; 및
    상기 스토리지 장치의 초기화 단계 또는 부팅 단계에서, 상기 기준 클럭 핀을 통해 상기 기준 클럭이 수신되는 경우, 상기 호스트와 상기 스토리지 장치 사이에서 고속 모드로 링크 스타트업을 수행하도록 구성된 장치 컨트롤러를 포함하는 스토리지 장치.
  19. 제18항에 있어서, 상기 기준 클럭 검출기는,
    제1 시점에서 상기 기준 클럭에 대응하는 출력 전압을 생성하는 RC 필터;
    상기 제1 시점에서의 상기 출력 전압의 전압 레벨에 따라 인에이블되는 모니터 신호를 생성하는 모니터 신호 생성기; 및
    상기 모니터 신호에 기초하여, 상기 기준 클럭의 토글 여부를 검출하는 검출기를 포함하는 것을 특징으로 하는 스토리지 장치.
  20. 제18항에 있어서,
    상기 기준 클럭 핀을 통해 수신한 상기 기준 클럭으로부터 기준 클럭 주파수를 판별하도록 구성된 기준 클럭 주파수 판별기를 더 포함하고,
    상기 장치 컨트롤러는, 판별된 상기 기준 클럭 주파수에 따라 상기 호스트와 상기 스토리지 장치 사이에서 상기 고속 모드로 상기 링크 스타트업을 수행하도록 구성되는 것을 특징으로 하는 스토리지 장치.
KR1020200128277A 2020-02-20 2020-10-05 스토리지 장치 및 이를 포함하는 스토리지 시스템 KR20210106319A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP21151346.0A EP3869315A1 (en) 2020-02-20 2021-01-13 Storage device and storage system including the same
CN202110190691.6A CN113284528A (zh) 2020-02-20 2021-02-19 存储设备和包括存储设备的存储系统
US17/179,830 US11561571B2 (en) 2020-02-20 2021-02-19 Storage device and storage system including the same
US18/064,002 US11874695B2 (en) 2020-02-20 2022-12-09 Storage device and storage system including the same
US18/508,479 US20240085940A1 (en) 2020-02-20 2023-11-14 Storage device and storage system including the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200021205 2020-02-20
KR1020200021205 2020-02-20

Publications (1)

Publication Number Publication Date
KR20210106319A true KR20210106319A (ko) 2021-08-30

Family

ID=77502181

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200128277A KR20210106319A (ko) 2020-02-20 2020-10-05 스토리지 장치 및 이를 포함하는 스토리지 시스템

Country Status (1)

Country Link
KR (1) KR20210106319A (ko)

Similar Documents

Publication Publication Date Title
EP3869315A1 (en) Storage device and storage system including the same
EP3905055B1 (en) Link startup method of storage device, and storage device, host and system implementing same
US11837321B2 (en) Apparatus, memory controller, memory device, memory system, and method for clock switching and low power consumption
US20230385209A1 (en) Storage device adjusting data rate and storage system including the same
US20240062790A1 (en) Memory device, memory system, and operating method of memory system
EP4156191A1 (en) Operating method of storage device, operating method of host, and storage system including the storage device and the host
US11809737B2 (en) Storage device for performing high-speed link startup and storage system including the same
US11726677B2 (en) Storage device configured to change power state based on reference clock from host device and method for operating the same
KR20210106319A (ko) 스토리지 장치 및 이를 포함하는 스토리지 시스템
KR20210132569A (ko) 스토리지 장치의 링크 스타트업 방법
US11934691B2 (en) Storage device for high speed link startup and storage system including the same
US12014079B2 (en) Operation method of universal flash storage host and operation method of universal flash storage system
EP3848787B1 (en) Storage device configured to change power state based on reference clock from host device
US20220253239A1 (en) Operation method of universal flash storage host and operation method of universal flash storage system
KR20210156187A (ko) 고속 링크 스타트업을 수행하는 스토리지 장치 및 이를 포함하는 스토리지 시스템

Legal Events

Date Code Title Description
A201 Request for examination