KR20220093983A - Storage device adjusting data rate and storage system including the same - Google Patents
Storage device adjusting data rate and storage system including the same Download PDFInfo
- Publication number
- KR20220093983A KR20220093983A KR1020200185209A KR20200185209A KR20220093983A KR 20220093983 A KR20220093983 A KR 20220093983A KR 1020200185209 A KR1020200185209 A KR 1020200185209A KR 20200185209 A KR20200185209 A KR 20200185209A KR 20220093983 A KR20220093983 A KR 20220093983A
- Authority
- KR
- South Korea
- Prior art keywords
- host
- data
- data rate
- storage device
- ufs
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1069—I/O lines read out arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/409—Mechanical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1096—Write circuits, e.g. I/O line write drivers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Communication Control (AREA)
- Power Sources (AREA)
Abstract
본 개시의 기술적 사상에 따른 스토리지 장치의 동작 방법은, 호스트로부터 데이터 전송률의 변경 요청을 포함하는 제1 비트 시퀀스를 입력 신호 핀을 통해 제1 데이터 전송률에 따라 수신하는 단계, 변경 요청에 대한 응답을 포함하는 제2 비트 시퀀스를 출력 신호 핀을 통해 상기 제1 데이터 전송률에 따라 호스트에 전송하는 단계 및 제2 비트 시퀀스의 종료를 나타내는 종료 비트의 출력 여부에 따라 데이터 전송률을 제2 데이터 전송률로 변경하는 단계를 포함한다.A method of operating a storage device according to the technical spirit of the present disclosure includes receiving a first bit sequence including a request for changing a data rate from a host according to a first data rate through an input signal pin, and receiving a response to the change request transmitting a second bit sequence including a second bit sequence to the host according to the first data rate through an output signal pin, and changing the data rate to a second data rate according to whether an end bit indicating the end of the second bit sequence is output includes steps.
Description
본 개시의 기술적 사상은 스토리지 장치에 관한 것으로서, 자세하게는 데이터 전송률을 조정하는 스토리지 장치 및 이를 포함하는 스토리지 시스템에 관한 것이다.The technical idea of the present disclosure relates to a storage device, and more particularly, to a storage device for adjusting a data transfer rate and a storage system including the same.
스토리지 시스템은 호스트와 스토리지 장치로 구성된다. 호스트와 스토리지 장치는 UFS(universal flash storage), SATA(serial ATA), SCSI(small computer small interface), SAS(serial attached SCSI), eMMC(embedded MMC) 등과 같은 다양한 표준 인터페이스를 통해 연결된다. 스토리지 시스템이 모바일 장치에 사용되는 경우 호스트와 스토리지 장치 사이의 고속 동작이 매우 중요하며, 신속한 데이터 전송률의 변경이 요구될 수 있다.A storage system consists of a host and a storage device. The host and the storage device are connected through various standard interfaces such as universal flash storage (UFS), serial ATA (SATA), small computer small interface (SCSI), serial attached SCSI (SAS), and embedded MMC (eMMC). When a storage system is used in a mobile device, high-speed operation between the host and the storage device is very important, and a rapid change in data transfer rate may be required.
본 개시의 기술적 사상은, 고속 모드를 유지한 채 데이터 전송률을 조정할 수 있는 스토리지 장치, 스토리지 장치의 동작 방법 및 스토리지 장치를 포함하는 스토리지 시스템을 제공한다.SUMMARY The present disclosure provides a storage device capable of adjusting a data transfer rate while maintaining a high-speed mode, a method of operating the storage device, and a storage system including the storage device.
상기와 같은 목적을 달성하기 위하여, 본 개시의 일 측면에 따른 스토리지 장치의 동작 방법은, 호스트로부터 데이터 전송률의 변경 요청을 포함하는 제1 비트 시퀀스를 입력 신호 핀을 통해 제1 데이터 전송률에 따라 수신하는 단계, 변경 요청에 대한 응답을 포함하는 제2 비트 시퀀스를 출력 신호 핀을 통해 상기 제1 데이터 전송률에 따라 호스트에 전송하는 단계 및 제2 비트 시퀀스의 종료를 나타내는 종료 비트의 출력 여부에 따라 데이터 전송률을 제2 데이터 전송률로 변경하는 단계를 포함한다.In order to achieve the above object, in a method of operating a storage device according to an aspect of the present disclosure, a first bit sequence including a data rate change request is received from a host according to the first data rate through an input signal pin transmitting a second bit sequence including a response to the change request to the host according to the first data rate through an output signal pin, and data according to whether an end bit indicating the end of the second bit sequence is output and changing the data rate to a second data rate.
본 개시의 다른 측면에 따른 스토리지 시스템의 동작 방법은, 호스트가, 스토리지 장치에 데이터 전송률의 변경 요청을 포함하는 제1 비트 시퀀스를 제1 데이터 전송률에 따라 전송하는 단계, 스토리지 장치가, 호스트에 상기 변경 요청에 대응하는 응답을 포함하는 제2 비트 시퀀스를 상기 제1 데이터 전송률에 따라 전송하는 단계 및 제2 비트 시퀀스의 종료를 나타내는 종료 비트를 기초로, 호스트 및 스토리지 장치가 데이터 전송률을 변경하는 단계를 포함한다.According to another aspect of the present disclosure, a method of operating a storage system includes: transmitting, by a host, a first bit sequence including a data transfer rate change request to a storage device according to a first data transfer rate, by the storage device, to the host transmitting a second bit sequence including a response corresponding to a change request according to the first data rate, and based on an end bit indicating the end of the second bit sequence, the host and the storage device changing the data rate; includes
본 개시의 다른 측면에 따른 스토리지 장치는, 호스트로부터 수신되는 데이터가 저장되는 비휘발성 메모리, 비휘발성 메모리를 제어하는 장치 컨트롤러 및 호스트와 복수의 핀들로 연결되는 인터커넥트부를 포함하고, 인터커넥트부는, 호스트로부터 데이터 전송률의 변경 요청을 포함하는 제1 비트 시 퀀스를 제1 데이터 전송률에 따라 수신하고, 변경 요청에 대한 응답을 포함하는 제2 비트 시퀀스를 제1 데이터 전송률에 따라 호스트에 전송하고, 제2 비트 시퀀스의 종료를 나타내는 종료 비트의 출력 여부에 따라 데이터 전송률을 제2 데이터 전송률로 변경한다.A storage device according to another aspect of the present disclosure includes a non-volatile memory in which data received from a host is stored, a device controller controlling the non-volatile memory, and an interconnect unit connected to the host through a plurality of pins, wherein the interconnect unit includes: Receive a first bit sequence including a request for changing the data rate according to the first data rate, transmit a second bit sequence including a response to the change request to the host according to the first data rate, and the second bit The data rate is changed to the second data rate according to whether the end bit indicating the end of the sequence is output.
본 개시의 기술적 사상에 따라, 스토리지 장치는 고속 모드를 유지한 채 데이터 전송률을 변경함으로써 신속한 데이터 전송률의 변경을 수행할 수 있다.According to the spirit of the present disclosure, the storage device may change the data transfer rate quickly by changing the data transfer rate while maintaining the high-speed mode.
또한, 본 개시의 기술적 사상에 따라, 하나의 클럭 생성기를 사용하여 수신기 및 송신기를 구동하므로, 칩 사이즈가 감소될 수 있다.In addition, according to the spirit of the present disclosure, since a receiver and a transmitter are driven using one clock generator, a chip size can be reduced.
도 1은 본 개시의 일 실시예에 따른 스토리지 시스템을 나타내는 블록도이다.
도 2는 본 개시의 일 실시예에 따른 호스트와 스토리지 장치 사이의 인터페이스를 나타낸다.
도 3은 본 개시의 예시적 실시 예에 따른 클럭 생성기를 설명하는 블록도이다.
도 4는 본 개시의 예시적 실시 예에 따른 호스트와 스토리지 장치 간의 링크 스타트업 동작 및 파워 모드 변경 동작을 설명하는 흐름도이다.
도 5는 본 개시의 실시 예에 따른 데이터 전송률의 조정을 설명하는 도면이다.
도 6은 본 개시의 예시적 실시 예에 따른 호스트의 동작 방법을 설명하는 흐름도이다.
도 7은 본 개시의 예시적 실시 예에 따른 스토리지 장치의 동작 방법을 설명하는 흐름도이다.
도 8은 본 개시의 예시적 실시 예에 따른 데이터 전송률 리셋 동작을 설명하는 도면이다.
도 9는 본 개시의 예시적 실시 예에 따른 데이터 전송률의 조정을 설명하는 도면이다.
도 10은 본 개시의 예시적 실시 예에 따른 데이터 전송률의 조정을 설명하는 도면이다.
도 11은 본 개시의 예시적 실시 예에 따른 호스트의 동작 방법을 설명하는 흐름도이다.
도 12는 본 개시의 예시적 실시 예에 따른 스토리지 장치의 동작 방법을 설명하는 흐름도이다.
도 13은 본 발명의 일 실시예에 따른 UFS 시스템(1000)에 대해 설명하기 위한 도면이다.
도 14a 내지 14c는 UFS 카드의 폼 팩터에 대해 설명하기 위한 도면이다.
도 15는 본 개시의 일 실시예에 따른 메모리 시스템(3000)을 나타내는 블록도이다.
도 16은 본 발명의 일 실시예에 따른 UFS 장치에 적용될 수 있는 3D VNAND 구조에 대해 설명하기 위한 도면이다.
도 17은 본 발명의 일 실시예에 따른 UFS 장치에 적용될 수 있는 B-VNAND 구조에 대해 설명하기 위한 도면이다.1 is a block diagram illustrating a storage system according to an embodiment of the present disclosure.
2 illustrates an interface between a host and a storage device according to an embodiment of the present disclosure.
3 is a block diagram illustrating a clock generator according to an exemplary embodiment of the present disclosure.
4 is a flowchart illustrating a link startup operation and a power mode change operation between a host and a storage device according to an exemplary embodiment of the present disclosure.
5 is a diagram for explaining adjustment of a data rate according to an embodiment of the present disclosure.
6 is a flowchart illustrating a method of operating a host according to an exemplary embodiment of the present disclosure.
7 is a flowchart illustrating a method of operating a storage device according to an exemplary embodiment of the present disclosure.
8 is a diagram for explaining a data rate reset operation according to an exemplary embodiment of the present disclosure.
9 is a diagram for explaining adjustment of a data rate according to an exemplary embodiment of the present disclosure.
10 is a diagram for explaining adjustment of a data rate according to an exemplary embodiment of the present disclosure.
11 is a flowchart illustrating a method of operating a host according to an exemplary embodiment of the present disclosure.
12 is a flowchart illustrating a method of operating a storage device according to an exemplary embodiment of the present disclosure.
13 is a diagram for explaining the
14A to 14C are diagrams for explaining a form factor of a UFS card.
15 is a block diagram illustrating a
16 is a diagram for explaining a 3D VNAND structure applicable to a UFS device according to an embodiment of the present invention.
17 is a diagram for explaining a B-VNAND structure applicable to a UFS device according to an embodiment of the present invention.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다.Hereinafter, various embodiments of the present invention will be described with reference to the accompanying drawings.
도 1은 본 개시의 일 실시예에 따른 스토리지 시스템을 나타내는 블록도이다. 도 1을 참조하면, 스토리지 시스템(10)은 스토리지 장치(100) 및 호스트(200)를 포함한다. 예를 들어, 스토리지 장치(100)와 호스트(200)는 UFS(Universal Flash Storage) 표준(standard)에서 정의된 인터페이스 규약에 따라 연결될 수 있고, 이에 따라, 스토리지 장치(100)는 UFS 장치일 수 있고, 호스트(200)는 UFS 호스트일 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 스토리지 장치(100)와 호스트(200)는 다양한 표준 인터페이스들에 따라 연결될 수 있다.1 is a block diagram illustrating a storage system according to an embodiment of the present disclosure. Referring to FIG. 1 , a
호스트(200)는 인터커넥트부(210) 및 호스트 컨트롤러(220)를 포함할 수 있다. 호스트(200)는 스토리지 장치(100)에 대한 데이터 처리 동작, 예를 들어, 데이터 독출 동작 또는 데이터 기입 동작 등을 제어할 수 있다. 호스트(200)는 CPU(Central Processing Unit), 프로세서, 마이크로프로세서 또는 어플리케이션 프로세서(Application Processor, AP) 등과 같이 데이터를 처리할 수 있는 데이터 처리 장치를 의미할 수 있다. 호스트(200)는 운영 체제(operating system, OS) 및/또는 다양한 응용 프로그램(application)을 수행할 수 있다. 일 실시예에서, 스토리지 시스템(10)은 모바일 장치에 포함될 수 있고, 호스트(200)는 어플리케이션 프로세서(AP)로 구현될 수 있다. 일 실시예에서, 호스트(200)는 시스템 온 칩(System-On-a-Chip, SoC)으로 구현될 수 있고, 이에 따라, 전자 장치에 내장될 수 있다. The
스토리지 장치(100)는 인터커넥트부(110), 장치 컨트롤러(120) 및 비휘발성 메모리(130)를 포함할 수 있다. 장치 컨트롤러(120)는 호스트(200)로부터의 기입 요청에 응답하여 비휘발성 메모리(130)에 데이터를 기입하도록 비휘발성 메모리(130)를 제어하거나, 또는 호스트(200)로부터의 독출 요청에 응답하여 비휘발성 메모리(130)에 저장된 데이터를 독출하도록 비휘발성 메모리(130)를 제어할 수 있다. 비휘발성 메모리(130)는 복수의 메모리 셀들을 포함할 수 있는데, 예를 들어, 복수의 메모리 셀들은 플래쉬 메모리 셀들일 수 있다. 일 실시예에서, 복수의 메모리 셀들은 낸드(NAND) 플래쉬 메모리 셀들일 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 다른 실시예에서, 복수의 메모리 셀들은 ReRAM(resistive RAM), PRAM(phase change RAM) 또는 MRAM(magnetic RAM)과 같은 저항형 메모리 셀들일 수 있다.The
아울러, 도 1에서는 인터커넥트부(110)와 장치 컨트롤러(120)가 서로 구별되는 구성인 것으로 도시되어 있지만, 장치 컨트롤러(120)는 인터커넥트부(110)를 포함하는 개념일 수 있으며, 이와 같은 점은 도 1 외의 뒤에서 설명될 다른 도면들에 대해서도 같다. 예컨대, 장치 컨트롤러(120)가 하나의 패키지 칩(package chip)으로 구현될 때, 인터커넥트부(110) 역시 상기 패키지 칩에 함께 구현될 수 있다.In addition, although the
호스트(200)는 제1 핀(P1a)을 포함할 수 있고, 스토리지 장치(100)는 제1 핀(P1a)에 연결되도록 구성된 제1 핀(P1a')을 포함할 수 있다. 제1 핀들(P1a, P1a')은 클럭 신호 핀으로 지칭될 수 있다. 스토리지 장치(100)는 제1 핀(P1a')을 통해 호스트(200)로부터 기준 클럭 신호(REF_CLK)를 수신할 수 있다.The
호스트(200)는 제2 핀들(P2a, P2b)을 포함할 수 있고, 스토리지 장치(100)는 제2 핀들(P2a, P2b)에 각각 연결되도록 구성된 제2 핀들(P2a', P2b')을 포함할 수 있다. 스토리지 장치(100)는 제2 핀들(P2a', P2b')을 통해 호스트(200)로부터 입력 신호, 예를 들어, 차동(differential) 입력 신호(DIN_t, DIN_c)를 수신할 수 있다. 이에 따라, 제2 핀들(P2a', P2b')은 "입력 신호 핀들"이라고 지칭될 수 있고, 차동 입력 신호(DIN_t, DIN_c)가 전송되는 신호 라인들은 수신 레인을 구성할 수 있다. 예를 들어, 제2 핀(P2a')은 "포지티브 입력 신호 핀"이라고 지칭될 수 있고, 제2 핀(P2b')은 "네거티브 입력 신호 핀"이라고 지칭될 수 있다.The
또한, 호스트(200)는 제3 핀들(P3a, P3b)을 더 포함할 수 있고, 스토리지 장치(100)는 제3 핀들(P3a, P3b)에 각각 연결되도록 구성된 제3 핀들(P3a', P3b')을 더 포함할 수 있다. 스토리지 장치(100)는 제3 핀들(P3a', P3b')을 통해 호스트(200)로 출력 신호, 예를 들어, 차동 출력 신호(DOUT_t, DOUT_c)를 전송할 수 있다. 이에 따라, 제3 핀들(P3a', P3b')은 "출력 신호 핀들"이라고 지칭될 수 있고, 차동 출력 신호(DOUT_t, DOUT_c)가 전송되는 신호 라인들은 송신 레인을 구성할 수 있다. 예를 들어, 제3 핀(P3a')은 "포지티브 출력 신호 핀"이라고 지칭될 수 있고, 제3 핀(P2b')은 "네거티브 출력 신호 핀"이라고 지칭될 수 있다.Also, the
호스트(200)는 클럭 생성기(213)를 포함할 수 있다. 클럭 생성기(213)는 기준 클럭 신호(REF_CLK)를 생성하고, 기준 클럭 신호(REF_CLK)를 기초로 데이터 전송에 사용되는 내부 클럭 신호를 생성할 수 있다. 클럭 생성기(213)는 기준 클럭 신호 또는 내부 클럭 신호의 주파수를 변경함으로써 데이터 전송률을 조정할 수 있다. 클럭 생성기(213)는 도 3을 통해 상세히 후술될 수 있다.The
호스트(200)는 종료 비트(Tail-Of-Burst, TOB) 검출기(221)를 더 포함할 수 있다. 도 1에서는, 종료 비트 검출기(221)는 호스트 컨트롤러(220)에 포함되는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않고, 종료 비트 검출기(221)는 인터커넥트부(210)에 포함될 수도 있다. 종료 비트 검출기(221)는 제3 핀들(P3a, P3b)을 통해 수신되는 비트 시퀀스의 종료 비트를 검출할 수 있다. 비트 시퀀스는 버스트로 지칭될 수도 있고, 종료 비트는 테일-오브-버스트(Tail-Of-Burst, TOB)로 지칭될 수도 있다. 호스트 컨트롤러(220)는 파워 모드 변경에 대한 요청을 스토리지 장치(100)에 전송할 수 있다. 파워 모드 변경에 대한 요청은 파워 모드 변경 요청(PWR_req)으로 지칭될 수 있다. 파워 모드는 고속 모드 및 저속 모드를 포함할 수 있고, 고속 모드 및 저속 모드에서 복수의 데이터 전송률이 설정될 수 있다. 호스트 컨트롤러(220)는 파워 모드 변경 요청(PWR_req)을 통해 고속 모드 및 저속 모드 간의 변경 뿐만 아니라, 데이터 전송률의 변경을 요청할 수도 있다. 호스트 컨트롤러(220)는, 스토리지 장치(100)로부터 파워 모드 변경에 대한 응답을 수신할 수 있다. 파워 모드 변경에 대한 응답은 파워 모드 변경 응답(PWR_cnf)으로 지칭될 수 있다. 호스트 컨트롤러(220)는 파워 모드 변경 응답(PWR_cnf)을 포함하는 버스트의 종료 비트가 수신되면, 데이터 전송률이 조정되도록 클럭 생성기(213)를 제어할 수 있다. 파워 모드 변경 응답(PWR_cnf)을 포함하는 버스트의 종료 비트는 종료 비트 검출기(221)에 의해 검출될 수 있다. The
스토리지 장치(100)는 클럭 생성기(113)를 포함할 수 있다. 클럭 생성기(113)는 클럭 신호 핀(P1a')을 통해 수신되는 기준 클럭 신호(REF_CLK)를 기초로 데이터 전송에 사용되는 내부 클럭 신호를 생성할 수 있다. 클럭 생성기(113)는 내부 클럭 신호의 주파수를 변경함으로써 데이터 전송률을 조정할 수 있다. 클럭 생성기(113)는 도 3을 통해 상세히 후술될 수 있다.The
스토리지 장치(100)는 종료 비트(Tail-Of-Burst, TOB) 검출기(121)를 더 포함할 수 있다. 도 1에서는, 종료 비트 검출기(121)는 장치 컨트롤러(120)에 포함되는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않고, 종료 비트 검출기(121)는 인터커넥트부(110)에 포함될 수도 있다. 종료 비트 검출기(121)는 제2 핀들(P2a', P2b')을 통해 수신되는 버스트의 종료 비트를 검출할 수 있다. 인터커넥트부(110)는 파워 모드 변경 요청(PWR_req)을 포함하는 버스트의 종료 비트가 TOB 검출기(121)에 의해 검출되면, 파워 모드 변경 응답(PWR_cnf)을 포함하는 버스트의 종료 비트를 제3 핀들(P3a', P3b')을 통해 전송할 수 있다. 인터커넥트부(110)는 파워 모드 변경 응답(PWR_cnf)을 포함하는 버스트의 종료 비트가 전송되면, 데이터 전송률이 조정되도록 클럭 생성기(113)를 제어할 수 있다.The
인터커넥트부들(110, 210)은 호스트(200)와 스토리지 장치(100) 사이에서 데이터를 교환하기 위한 인터페이스를 제공할 수 있다. 일 실시예에서, 인터커넥트부(110)는 물리 계층(physical layer, PL)(111) 및 링크 계층(link layer, LL)(112)을 포함할 수 있고, 물리 계층(111)은 제1 내지 제3 핀들(P1a', P2a', P2b', P3a', P3b')에 연결될 수 있다. 마찬가지로, 인터커넥트부(210)도 물리 계층(211) 및 링크 계층(212)을 포함할 수 있고, 물리 계층(211)은 제1 내지 제3 핀들(P1a, P2a, P2b, P3a, P3b)에 연결될 수 있다. 각 물리 계층(111, 211)은 호스트(200)와 스토리지 장치(100) 사이에서 데이터를 교환하기 위한 물리적 구성들을 포함할 수 있고, 예를 들어, 적어도 하나의 송신기(transmitter) 및 적어도 하나의 수신기(receiver) 등을 포함할 수 있다. 호스트 송신기(HOST TX)는 제2 핀들(P2a, P2b)을 포함하도록 구성될 수 있고, 호스트 수신기(HOST RX)는 제3 핀들(P3a, P3b)을 포함하도록 구성될 수 있다. 장치 송신기(DEVICE TX)는 제3 핀들(P3a', P3b')을 포함하도록 구성될 수 있고, 장치 수신기(DEVICE RX)는 제2 핀들(P2a', P2b')을 포함하도록 구성될 수 있다. 각 링크 계층(112, 212)은 데이터의 전송 및 조합(Composition)을 관리할 수 있고, 데이터의 무결성(Integrity) 및 오류(Error)를 관리할 수도 있다.The
송신기(TX) 및 수신기(RX)는 클럭 생성기(213, 113)로부터 기준 클럭 신호를 수신하고, 기준 클럭 신호에 따라 데이터를 송/수신할 수 있다. 본 개시의 예시적 실시 예에 따른 호스트(200)는 스토리지 장치(100)로부터 버스트의 종료 비트가 수신된 이후에 데이터 전송률을 조정함으로써, 전송 중인 데이터에 오류가 발생하는 상황을 방지할 수 있다. 또한, 본 개시의 예시적 실시 예에 따른 호스트(200)는 하나의 클럭 생성기(213)를 사용하여 호스트 송신기(HOST TX) 및 호스트 수신기(HOST RX)를 구동할 수 있으므로, 송/수신기 별로 클럭 생성기가 구비되는 경우와 비교할 때 스토리지 시스템(10)의 사이즈가 감소될 수 있다.The transmitter TX and the receiver RX may receive a reference clock signal from the
본 개시의 예시적 실시 예에 따른 스토리지 장치(100)는 호스트(200)에 버스트의 종료 비트를 출력한 이후에 데이터 전송률을 조정함으로써, 전송 중인 데이터에 오류가 발생하는 상황을 방지할 수 있다. 또한, 본 개시의 예시적 실시 예에 따른 스토리지 장치(100)는 하나의 클럭 생성기(113)를 사용하여 장치 송신기(DEVICE TX) 및 장치 수신기(DEVICE RX)를 구동할 수 있으므로, 송/수신기 별로 클럭 생성기가 구비되는 경우와 비교할 때 스토리지 시스템(10)의 사이즈가 감소될 수 있다.The
일 실시예에서, 스토리지 시스템(10)이 모바일 장치인 경우, 링크 계층들(112, 212)은 "UniPro" 스펙에 의해 정의될 수 있고, 물리 계층들(111, 211)은 "M-PHY" 스펙에 의해 정의될 수 있다. UniPro 및 M-PHY는 MIPI(Mobile Industry Processor Interface) 연합(Alliance)에 의해 제안된 인터페이스 규약이다. 이때, 링크 계층들(112, 212)은 물리 적응 계층(Physical Adapted Layer)을 각각 포함할 수 있다. 물리 적응 계층은 데이터의 심볼을 관리하거나 전력을 관리하는 등 물리 계층들(111, 211)을 제어할 수 있다.In one embodiment, where
일부 실시예들에서, 스토리지 장치(100)는 디램리스(DRAMless) 장치로 구현될 수 있고, 디램리스 장치는 DRAM 캐시를 포함하지 않는 장치를 지칭할 수 있다. 이때, 장치 컨트롤러(120)는 DRAM 컨트롤러를 포함하지 않을 수 있다. 예를 들어, 스토리지 장치(100)는 비휘발성 메모리(130)의 일부 영역을 버퍼 메모리로 이용할 수 있다.In some embodiments, the
일부 실시예들에서, 스토리지 장치(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 중 적어도 하나를 포함할 수 있다. In some embodiments, the
스토리지 시스템(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) 등과 같은 다양한 유형의 전자 장치로 구현될 수도 있다.The
이하에서는, 도 2를 참조하여 호스트(200)와 스토리지 장치(100) 사이의 인터페이스에 대해 상세하게 설명하기로 한다.Hereinafter, an interface between the
도 2는 본 개시의 일 실시예에 따른 호스트와 스토리지 장치 사이의 인터페이스(20)를 나타낸다.2 illustrates an
도 2를 참조하면, 인터페이스(20)는 호스트 컨트롤러(220)와 장치 컨트롤러(120) 사이의 링크(link)(300)를 포함할 수 있고, 링크(300)는 복수의 레인들(lanes)(310, 320, 330)을 포함할 수 있다. 링크(300)는 각 방향에 대응하는 적어도 하나의 레인을 포함할 수 있으며, 각 방향의 레인들의 수는 대칭적일 필요는 없다. 예를 들어, 링크(300)는 호스트 컨트롤러(220)에서 장치 컨트롤러(120)로의 제1 방향에 대응하는 두 개의 레인들(310, 320) 및 장치 컨트롤러(120)에서 호스트 컨트롤러(220)로의 제2 방향에 대응하는 하나의 레인(330)을 포함할 수 있으나, 본 발명은 이에 한정되지 않는다. 예를 들어, 제1 방향에 대응하는 두 개의 레인들(310, 320)은 제1 서브 링크를 구성하고, 제2 방향에 대응하는 하나의 레인(330)은 제2 서브 링크를 구성할 수 있다.Referring to FIG. 2 , the
인터페이스(20)는 복수의 레인들을 지원할 수 있다. 각 레인(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개의 차동적으로 라우팅된 와이어들로 구성되며, 이들 와이어들은 전송 라인들에 대응할 수 있다.The
링크(300)는 양방향 데이터 전송 기능을 제공하는 레인 관리부들(340, 350)을 더 포함할 수 있다. 도 2에는 레인 관리부(350)와 호스트 컨트롤러(220)가 분리되는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않으며, 레인 관리부(350)는 호스트 컨트롤러(220)에 포함될 수 있다. 마찬가지로, 도 2에는 레인 관리부(340)와 장치 컨트롤러(120)가 분리되는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않고, 레인 관리부(340)는 장치 컨트롤러(120)에 포함될 수 있다.The
도 1 및 도 2를 함께 참조하면, 호스트(200)의 인터커넥트부(210)에 포함된 송신기와 스토리지 장치(100)의 인터커넥트부(110)에 포함된 수신기는 하나의 레인을 형성한다. 그런데, 호스트(200)의 인터커넥트부(210)에 포함된 송신기 및 수신기의 개수는 스토리지 장치(100)의 인터커넥트부(110)에 포함된 송신기 및 수신기의 개수와 다를 수 있다. 또한, 호스트(200)의 성능(capability)은 스토리지 장치(100)의 성능과 다를 수 있다. 따라서, 호스트(200) 및 스토리지 장치(100)는 물리적으로 연결된 레인을 인식하고 상대방 장치의 정보를 제공받기 위한 처리를 수행한다. 이에 따라, 호스트(200) 및 스토리지 장치(100)는 데이터를 교환하기 전에, 링크 스타트업 처리를 수행한다. 링크 스타트업 처리를 수행함으로써, 호스트(200)와 스토리지 장치(100)는 송신기 및 수신기의 개수에 관한 정보, 물리적으로 연결된 레인에 관한 정보, 상대방 장치의 성능 등에 관한 정보 등을 서로 교환하고 인식할 수 있다. 링크 스타트업 처리가 완료된 후, 호스트(200)와 스토리지 장치(100)는 서로 안정적으로 데이터를 교환할 수 있는 링크업 상태(linkup state)로 설정된다. 링크 스타트업 처리는 스토리지 시스템(10)이 처음 사용될 때 수행되는 초기화 작동 또는 스토리지 시스템(10)의 부팅 작동 중에 수행될 수 있다. 나아가, 링크 스타트업 처리는 링크업 상태의 오류를 복구(recovery)하는 작동 중에도 수행될 수 있다. 링크 스타트업에 대해 도 4를 참조하여 상세히 후술될 수 있다. 1 and 2 together, the transmitter included in the
도 3은 본 개시의 예시적 실시 예에 따른 클럭 생성기를 설명하는 블록도이다. 클럭 생성기(40)는 도 1의 클럭 생성기(213 또는 113)의 일 구현 예일 수 있다. 클럭 생성기(40)는 위상 고정 루프(Phase Locked Loop) 회로일 수 있다. 클럭 생성기(40)가 스토리지 장치(100)에 포함되는 클럭 생성기(113)의 일 구현 예인 경우, 기준 클럭 신호(REF_CLK)를 생성하는 오실레이터(410)는 생략될 수 있고, 기준 클럭 신호(REF_CLK)는 호스트(200)로부터 수신되는 것으로 이해될 수 있다.3 is a block diagram illustrating a clock generator according to an exemplary embodiment of the present disclosure. The
클럭 생성기(40)는 기준 클럭 신호(REF_CLK)를 기초로 내부 클럭 신호(INT_CLK)를 생성할 수 있다. 송신기(TX)(50) 및 수신기(RX)(60)는 내부 클럭 신호(INT_CLK)에 동기화하여 데이터를 송/수신할 수 있다. 송신기(TX)(50) 및 수신기(RX)(60)는 도 2에 도시된 송신기(TX) 및 수신기(RX)의 일 예일 수 있다. 클럭 생성기(40)는 오실레이터(410), 위상/주파수 검출기(420), 차지 펌프(430), 루프 필터(440), 전압 제어 오실레이터(Voltage Controlled Oscillator, VCO)(450), 분주기(460)를 포함할 수 있다.The
오실레이터(410)는 공정, 전압, 온도의 변동에 무관하게 일정한 주파수를 갖는 기준 클럭 신호(REF_CLK)를 생성할 수 있다. 예를 들어, 기준 클럭 신호(REF_CLK)의 주파수는 19.2MHz, 26MHz, 38.4MHz 및 52MHz의 네 개의 값 중 하나일 수 있으나, 반드시 이에 한정되지는 않는다.The
위상/주파수 검출기(420)는 기준 클럭 신호(REF_CLK) 및 분주기(460)로부터 수신되는 피드백 신호를 비교하고, 비교 결과에 기초하여 기준 클럭 신호(REF_CLK) 및 피드백 신호의 위상 차를 나타내는 신호를 출력할 수 있다.The phase/
차지 펌프(430)는 위상/주파수 검출기(420)로부터 수신되는 신호에 기초하여 전하를 저장하거나 방전시킬 수 있다. 루프 필터(440)는 저역 통과 필터(Low Pass Filter)로 동작함으로써 노이즈 주파수를 제거하는 역할을 수행할 수 있다.The
VCO(450)는 루프 필터(440)로부터 수신되는 전압을 기초로 내부 클럭 신호(INT_CLK)의 주파수를 제어할 수 있다. 예시적으로, VCO(450)는 양의 전압을 수신함으로써 내부 클럭 신호(INT_CLK)의 주파수를 상승시킬 수 있다. VCO(450)는 음의 전압을 수신함으로써 내부 클럭 신호(INT_CLK)의 주파수를 하강시킬 수 있다.The
분주기(460)는 분주비에 따라 내부 클럭 신호(INT_CLK)를 카운트하고, 키운트된 신호를 피드백 신호로서 위상/주파수 검출기(420)에 제공할 수 있다. 도 3은 하나의 분주기(460)를 도시하고 있으나, 클럭 생성기(400)는 서로 다른 분주비를 갖는 복수의 분주기들을 포함할 수 있다.The
도면들을 참조하여 후술되는 바와 같이, 본 개시의 실시 예에 따른 스토리지 시스템은 내부 클럭 신호의 주파수를 변경함으로써 데이터 전송률을 조정할 수 있다. 내부 클럭 신호의 주파수 변경을 위해, 분주기(460)의 분주비가 변경되거나, 기준 클럭 신호(REF_CLK)의 주파수가 변경될 수 있다.As will be described later with reference to the drawings, the storage system according to an embodiment of the present disclosure may adjust the data rate by changing the frequency of the internal clock signal. In order to change the frequency of the internal clock signal, the division ratio of the
본 개시의 예시적 실시 예에 따른 스토리지 시스템은, 하나의 클럭 생성기(40)를 사용하여 송신기(TX) 및 수신기(RX)를 구동시킴으로써, 송신기(TX) 및 수신기(RX) 각각에 대해 클럭 생성기가 구비되는 경우와 비교하여, 호스트 및 스토리지 장치의 사이즈가 감소될 수 있다.The storage system according to an exemplary embodiment of the present disclosure drives the transmitter TX and the receiver RX using a
도 4는 본 개시의 예시적 실시 예에 따른 호스트와 스토리지 장치 간의 링크 스타트업 동작 및 파워 모드 변경 동작을 설명하는 흐름도이다. 구체적으로, 도 4는 호스트(200a)와 스토리지 장치(100a) 간의 링크 스타트업 단계(S360) 및 파워 모드 변경 단계(S380)를 설명하는 흐름도이다. 링크 스타트업 단계(S360)가 수행되면, S370 단계에서, 호스트(200a)와 스토리지 장치(100a)는 링크업 상태로 동작할 수 있다.4 is a flowchart illustrating a link startup operation and a power mode change operation between a host and a storage device according to an exemplary embodiment of the present disclosure. Specifically, FIG. 4 is a flowchart illustrating a link startup step ( S360 ) and a power mode change step ( S380 ) between the
링크 스타트업 단계(S360)는, 호스트(200a)와 스토리지 장치(100a) 사이에서, 양 방향으로 초기 링크 통신을 설정하기 위하여 UniPro 트리거 이벤트들을 교환하는, 멀티-단계 핸드쉐이크(multi-phase handshake) 방식으로 수행될 수 있다. 링크 스타트업 단계(S360)는 소정의 단계들(phases)(S361 내지 S365)로 정의될 수 있고, 각 단계마다 트리거 이벤트가 사용될 수 있으며, 각 트리거 이벤트는 여러 번 전송될 수 있다. The link startup phase S360 is a multi-phase handshake, exchanging UniPro trigger events to establish initial link communication in both directions, between the
S361 단계는 데이터 레인 발견(Data Lane Discovery) 단계로서, S361 단계에서, 호스트(200a)와 스토리지 장치(100a) 사이에 연결된 레인들이 발견될 수 있다. S361 단계에서, 호스트(200a) 및 스토리지 장치(100a)는 모든 이용 가능한 송신 레인들로(on all available TX Lanes), 제1 트리거 이벤트(TRG_UPR0)를 반복적으로 발송(send)할 수 있다. 호스트(200)는 스토리지 장치(100)로부터 제1 트리거 이벤트 메시지를 수신할 때까지, 제1 트리거 이벤트(TRG_UPR0)를 계속해서 전송할 수 있다. 호스트(200a)에서 발송되는 제1 트리거 이벤트(TRG_UPR0)는 해당 트리거가 전송되는 호스트(200a)의 송신 레인의 물리적 레인 번호를 포함할 수 있다. 또한, 스토리지 장치(100a)는 호스트(200a)로부터 제1 트리거 이벤트 메시지를 수신할 때까지 제1 트리거 이벤트(TRG_UPR0)를 계속해서 전송할 수 있다. 스토리지 장치(100a)에서 발송되는 제1 트리거 이벤트(TRG_UPR0)는 해당 트리거가 전송되는 스토리지 장치(100)의 송신 레인의 물리적 레인 번호를 포함할 수 있다.Step S361 is a data lane discovery step. In step S361 , lanes connected between the
S362 단계는 데이터 레인 재정비(Data Lane Realignment) 단계로서, S362 단계에서, 호스트(200a) 및 스토리지 장치(100a)는 모든 이용 가능한 송신 레인들로 제2 트리거 이벤트(TRG_UPR1)를 발송할 수 있다. 호스트(200a)는 스토리지 장치(100a)로부터 제2 트리거 이벤트 메시지를 수신할 때까지 제2 트리거 이벤트(TRG_UPR1)를 계속해서 전송할 수 있다. 호스트(200a)에서 발송되는 제2 트리거 이벤트(TRG_UPR1)는 호스트(200a)에 연결된 송신 레인들에 관한 정보를 포함할 수 있다. 또한, 스토리지 장치(100a)는 호스트(200)로부터 제2 트리거 이벤트 메시지를 수신할 때까지 제2 트리거 이벤트(TRG_UPR1)를 계속해서 전송할 수 있다. 스토리지 장치(100a)에서 발송되는 제2 트리거 이벤트(TRG_UPR1)는 스토리지 장치(100a)에 연결된 송신 레인들에 관한 정보를 포함할 수 있다.Step S362 is a data lane realignment step. In step S362 , the
S363 단계는 링크 스타트업 종료 단계로서, S363 단계에서, 호스트(200a)와 스토리지 장치(100a)는, 연결된 레인들이 얼마나 많이 있는지를 물리 계층들(111, 211)의 속성들에 반영될 수 있다. S363 단계에서, 호스트(200a) 및 스토리지 장치(100a)는 모든 이용 가능한 송신 레인들로 제3 트리거 이벤트(TRG_UPR2)를 발송할 수 있다. 호스트(200a)는 스토리지 장치(100a)로부터 제3 트리거 이벤트(TRG_UPR2)에 대응하는 메시지를 수신할 때까지 제3 트리거 이벤트(TRG_UPR2)를 계속해서 전송할 수 있다. 호스트(200a)에서 발송되는 제3 트리거 이벤트(TRG_UPR2)는 호스트(200a)에 연결된 송신 레인들에 관한 논리적 레인 번호들을 포함할 수 있다. 또한, 스토리지 장치(100a)는 호스트(200a)로부터 제3 트리거 이벤트(TRG_UPR2)에 대응하는 제3 트리거 이벤트 메시지를 수신할 때까지 제3 트리거 이벤트(TRG_UPR2)를 계속해서 전송할 수 있다. 스토리지 장치(100a)에서 발송되는 제3 트리거 이벤트(TRG_UPR2)에는 스토리지 장치(100a)에 연결된 송신 레인들에 관한 논리적 레인 번호들을 포함할 수 있다. S363 단계가 수행됨에 따라, 호스트(200)와 스토리지 장치(100a)는 이용 가능한 레인들에 관한 일치된 논리적 레인 번호들을 가질 수 있다.Step S363 is a link startup termination step. In step S363 , the
S364 단계는 성능 교환(capability exchange) 단계로서, S364 단계에서, 호스트(200a) 및 스토리지 장치(100a)는 성능에 관한 정보(CAP)를 교환할 수 있다. 구체적으로, 호스트(200a)와 스토리지 장치(100a)는 인터커넥트부들(210, 110)의 아키텍쳐 요건들을 통신하기 위하여 상대방 장치의 성능에 관한 정보(CAP)를 서로 교환하고 인식할 수 있다. 인터커넥트부들(210, 110)의 아키텍쳐 요건들은 예컨대, 밴드위스, 타이머들, 속도 기어(gear), 터미네이션/언터미네이션(termination/untermination), 스크램블링 등을 포함할 수 있다. S364 단계가 수행됨에 따라, 상대방 장치의 성능에 관한 정보(CAP)가 인터커넥트부들(210, 110)에 수집되고 수집된 성능 정보(CAP)에 따라 인터커넥트부들(210, 110)의 물리 계층들의 속성들이 설정될 수 있다. S364 단계가 수행되면, S370 단계에서, 호스트(200a)와 스토리지 장치(100a)는 링크업 상태로 동작할 수 있다. 링크업 상태에서, 호스트(200a)와 스토리지 장치(100a)는 디폴트 파워 모드로 동작할 수 있다. 디폴트 파워 모드는 고속 모드(HS mode) 또는 저속 모드(LS mode)일 수 있다. 또한, 링크업 상태에서, 호스트(200a)와 스토리지 장치(100a)는 디폴트 데이터 전송률로 데이터를 송/수신할 수 있다. 일부 실시 예들에서, 디폴트 데이터 전송률은 제1 데이터 전송률(DR1)일 수 있다.Operation S364 is a capability exchange operation. In operation S364 , the
S380 단계는 파워 모드 변경 단계로서, 호스트(200a)와 스토리지 장치(100a)는 파워 모드 변경 동작을 수행할 수 있고, 새로운 파워 모드에 대한 링크 설정(Link Configuration)이 수행될 수 있다. S380 단계는, 복수의 단계들(S381 내지 S384)을 포함할 수 있다.Step S380 is a power mode change step. The
S381 단계에서, 호스트(200a)는 파워 모드 변경 요청(PWR_req)을 스토리지 장치(100)에 전송할 수 있다. 파워 모드 변경 요청(PWR_req)은 변경될 파워 모드의 종류, 속도 기어 또는 속도 시리즈를 포함할 수 있다. 파워 모드는 고속 모드(HS mode) 또는 저속 모드(LS mode)일 수 있다. 속도 기어는 데이터 전송률을 의미할 수 있고, 속도 시리즈는 복수의 속도 기어들의 그룹을 의미할 수 있다. 예를 들어, 속도 시리즈는 A 시리즈 및 B 시리즈로 구분될 수 있다. A 시리즈는 1.25, 2.5, 5, 및 10.0 Gbps에 대응하는 4가지의 속도 기어들을 포함할 수 있다. B 시리즈는, A 시리즈에 포함되는 속도 기어들보다 높은 주파수를 갖는 속도 기어들을 포함할 수 있다. 예를 들어, B 시리즈에 포함되는 속도 기어들은 A 시리즈의 포함되는 속도 기어들에 비해 높은 1.46, 2.92, 5.83 및 11.66 Gbps에 대응될 수 있다.In step S381 , the
S382 단계에서, 스토리지 장치(100a)는 파워 모드 변경 응답(PWR_cnf)을 호스트(200a)에 전송할 수 있다. 파워 모드 변경 응답(PWR_cnf)은 상태 정보, 파워 모드의 종류, 속도 기어 또는 속도 시리즈를 포함할 수 있다. 상태 정보는 파워 모드의 변경이 가능한지 여부에 대한 정보를 의미할 수 있다.In operation S382 , the
설명의 편의를 위하여, 호스트(200a)가 파워 모드 변경 요청(PWR_req)을 전송하고, 스토리지 장치(100a)가 파워 모드 변경 응답(PWR_cnf)을 전송하는 것으로 설명하였으나, 일부 실시 예들에서, 스토리지 장치(100a)가 호스트(200a)에 파워 모드 변경 요청(PWR_req)을 전송하고, 호스트(200a)가 스토리지 장치(100a)에 파워 모드 변경 응답(PWR_cnf)을 전송할 수도 있다. 이하 본 명세서에서는, 호스트(200a)가 파워 모드 변경 요청(PWR_req)을 전송하고, 스토리지 장치(100a)가 파워 모드 변경 응답(PWR_cnf)을 전송하는 것으로 가정한다.For convenience of explanation, it has been described that the
S383 단계에서, 스토리지 장치(100a)는 파워 모드 변경 응답(PWR_cnf)을 전송한 뒤 데이터 전송률을 조정할 수 있다. 데이터 전송률은 내부 클럭 신호의 주파수를 변경함으로써 조정될 수 있다. 내부 클럭 신호의 주파수가 변경되는 도중에, 라인 상으로 데이터가 전송되면 에러가 발생할 수 있다. 따라서, 미리 결정된 설정 시간(Config_time) 동안, 라인(LINE)을 통해 데이터가 전송되지 않을 수 있고, 설정 시간(Config_time) 내에 내부 클럭 신호의 주파수가 변경될 수 있다.In operation S383 , the
S384 단계에서, 호스트(200a)는 파워 모드 변경 응답(PWR_cnf)을 수신한 뒤 데이터 전송률을 조정할 수 있다. 즉, 스토리지 장치(100a)로부터 파워 모드의 변경이 가능하다는 상태 정보를 포함하는 파워 모드 변경 응답(PWR_cnf)을 수신하고, 설정 시간(Config_time) 동안 내부 클럭 신호의 주파수를 변경할 수 있다.In step S384 , the
본 개시의 예시적 실시 예에 따른 스토리지 시스템은, 라인 상으로 데이터가 전송되지 않는 설정 시간(Config_time) 동안 내부 클럭 신호의 주파수를 변경함으로써 데이터 전송률을 조정할 수 있다. 또한, 호스트(200a)와 스토리지 장치(100a)는 설정 시간(Config_time)이 도과한 후 데이터를 전송함으로써 안정적으로 데이터를 교환할 수 있다.The storage system according to an exemplary embodiment of the present disclosure may adjust the data transfer rate by changing the frequency of the internal clock signal during a set time (Config_time) during which data is not transmitted over a line. Also, the
도 5는 본 개시의 실시 예에 따른 데이터 전송률의 조정을 설명하는 도면이다. 구체적으로, 도 5는 데이터 전송률을 조정하기 위해, 호스트 송신기(HOST TX)와 장치 송신기(DEVICE TX)를 통해 라인(LINE)으로 전송되는 데이터를 도시한다. 도 5에 도시되지는 않았으나, 도 2를 참조하여 전술된 바와 같이, 호스트 송신기(HOST TX)는 장치 수신기(DEVICE RX)와 라인(LINE)을 통해 연결될 수 있고, 장치 송신기(DEVICE TX)는 호스트 수신기(HOST RX)와 라인(LINE)을 통해 연결될 수 있다. 따라서, 장치 수신기(DEVICE RX)를 통해 수신되는 데이터는 호스트 송신기(HOST TX)를 통해 송신되는 데이터와 동일할 수 있으나, 라인 딜레이만큼 위상 차이가 발생할 수 있다. 호스트 수신기(HOST RX)를 통해 수신되는 데이터는 장치 송신기(DEVICE TX)를 통해 송신되는 데이터와 동일할 수 있으나, 라인 딜레이만큼 위상 차이가 발생할 수 있다. 도 5는 도 1 내지 4 중 적어도 하나를 참조하여 후술될 수 있다.5 is a diagram for explaining adjustment of a data rate according to an embodiment of the present disclosure. Specifically, FIG. 5 shows data transmitted through a host transmitter (HOST TX) and a device transmitter (DEVICE TX) through a line (LINE) in order to adjust a data rate. Although not shown in FIG. 5, as described above with reference to FIG. 2, the host transmitter (HOST TX) may be connected to the device receiver (DEVICE RX) through a line (LINE), and the device transmitter (DEVICE TX) is the host It can be connected to the receiver (HOST RX) through a line (LINE). Accordingly, data received through the device receiver DEVICE RX may be the same as data transmitted through the host transmitter HOST TX, but a phase difference may occur by a line delay. Data received through the host receiver (HOST RX) may be the same as data transmitted through the device transmitter (DEVICE TX), but a phase difference may occur by a line delay. 5 may be described later with reference to at least one of FIGS. 1 to 4 .
도 5를 참조하면, 호스트(200) 및 스토리지 장치(100)는 고속 모드(HS mode)를 유지하면서 데이터 전송률을 조정할 수 있다. 고속 모드(HS mode)는, 레인을 통해 전송되는 비트들이 로직 레벨(logic level)을 통해 표현되고, 로직 하이 구간이 연속되더라도 구간 사이에 로직 로우 구간이 존재할 필요가 없는 NRZ(non-return to zero) 방식이 적용되는 파워 모드일 수 있다. 고속 모드(HS mode)에서 데이터 전송률은 기준 클럭 신호를 분주(divide)함으로써 생성되는 내부 클럭 신호의 주파수에 따라 결정될 수 있다.Referring to FIG. 5 , the
기준 클럭 신호의 주파수에 따라 데이터 전송률은 복수의 속도 시리즈들(A, B)로 구분될 수 있다. 예를 들어, 제1 주파수를 갖는 제1 기준 클럭 신호를 기초로 결정되는 데이터 전송률들은 A 시리즈로 지칭될 수 있고, 제2 주파수를 갖는 제2 기준 클럭 신호를 기초로 결정되는 데이터 전송률들은 B 시리즈로 지칭될 수 있다. 복수의 시리즈들(A, B) 각각은 복수의 속도 기어들을 포함할 수 있다. 기준 클럭 신호를 분주함으로써 다양한 주파수를 갖는 내부 클럭 신호들이 생성될 수 있고, 각 내부 클럭 신호에 대응하는 데이터 전송률은 속도 기어로 지칭될 수 있다.The data rate may be divided into a plurality of speed series A and B according to the frequency of the reference clock signal. For example, data rates determined based on a first reference clock signal having a first frequency may be referred to as an A series, and data rates determined based on a second reference clock signal having a second frequency are B series. may be referred to as Each of the plurality of series A and B may include a plurality of speed gears. By dividing the reference clock signal, internal clock signals having various frequencies may be generated, and a data rate corresponding to each internal clock signal may be referred to as a speed gear.
호스트 송신기(HOST TX) 또는 장치 송신기(DEVICE TX)는 적어도 파워 세이빙(power saving) 상태 또는 버스트(burst) 상태 중 하나일 수 있다. 파워 세이빙 상태(power saving)는 소모되는 전력을 최소화화기 위한 상태로서, 네거티브 차동 라인 전압(DIF-N) 또는 제로 차동 라인 전압(DIF-Z)으로 라인(LINE)을 구동하는 상태일 수 있다. 파워 세이빙 상태(power saving)는 스톨(STALL) 상태, 슬립(SLEEP) 상태, 하버네이팅(HIBERN8) 상태, 디스에이블(DISABLED) 상태 또는 언-파워(UNPOWERED) 상태 중 하나일 수 있다. 본 개시의 실시 예들에서, 파워 세이빙(power saving) 상태는 스톨(STALL) 상태인 것으로 가정한다. 버스트(burst) 상태는 라인으로 데이터를 전송하는 상태로서, 포지티브 차동 라인 전압(DIF-P)으로 라인(LINE)을 구동하는 상태일 수 있다. 버스트(burst) 상태는 고속 모드에서 데이터가 전송되는 고속 버스트(HS-BURST) 상태와 저속 모드에서 데이터가 전송되는 저속 버스트(LS-BURST) 상태를 포함할 수 있다. 라인(LINE)은 하이 임피던스 상태를 나타내는 DIF-Q 상태, 또는 DIF-N 또는 DIF-P도 아닌 DIF-X 상태를 가질 수도 있다. 여기서, 차동 라인 전압은, 포지티브 노드에 연결된 라인의 전압에서 네거티브 노드에 연결된 라인의 전압을 뺀 값으로 정의될 수 있다.The host transmitter (HOST TX) or the device transmitter (DEVICE TX) may be in at least one of a power saving state or a burst state. The power saving state is a state for minimizing power consumption, and may be a state in which the line LINE is driven with a negative differential line voltage DIF-N or a zero differential line voltage DIF-Z. The power saving state may be one of a STALL state, a SLEEP state, a hibernating state HIBERN8, a DISABLED state, or an UNPOWERED state. In embodiments of the present disclosure, it is assumed that a power saving state is a STALL state. The burst state is a state in which data is transmitted to a line, and may be a state in which the line LINE is driven with a positive differential line voltage DIF-P. The burst state may include a high-speed burst (HS-BURST) state in which data is transmitted in a high-speed mode and a low-speed burst (LS-BURST) state in which data is transmitted in a low-speed mode. Line LINE may have a DIF-Q state indicating a high impedance state, or a DIF-X state that is neither DIF-N nor DIF-P. Here, the differential line voltage may be defined as a value obtained by subtracting the voltage of the line connected to the negative node from the voltage of the line connected to the positive node.
라인(LINE)은 도 2에 도시된 인터페이스(20)에 포함된 임의의 라인에 대응할 수 있다. 예를 들어, 라인(LINE)은 도 1의 차동 입력 신호(DIN_t, DIN_c)가 전송되는 차동 입력 신호 라인에 대응할 수 있다. 예를 들어, 포지티브 입력 신호(DIN_t)가 인가되는 제2 핀(P2a')의 전압 레벨이 네거티브 입력 신호(DIN_c)가 인가되는 제2 핀(P2b')의 전압 레벨보다 높을 때, 라인(LINE)은 DIF-P 상태 또는 로직 하이일 수 있다. 예를 들어, 포지티브 입력 신호(DIN_t)가 인가되는 제2 핀(P2a')의 전압 레벨이 네거티브 입력 신호(DIN_c)가 인가되는 제2 핀(P2b')의 전압 레벨보다 낮을 때, 라인(LINE)은 DIF-N 상태 또는 로직 로우일 수 있다. 예를 들어, 포지티브 입력 신호(DIN_t)가 인가되는 제2 핀(P2a')의 전압 레벨이 네거티브 입력 신호(DIN_c)가 인가되는 제2 핀(P2b')의 전압 레벨과 거의 동일할 때, 라인(LINE)은 DIF-Z 상태 또는 접지 상태일 수 있다.The line LINE may correspond to any line included in the
도 5를 참조하면, 버스트(burst) 상태에서 라인을 통해 전송되는 비트 시퀀스는 버스트(BURST)로 지칭될 수 있다. 버스트(BURST)는 준비 구간(PREPARE), 더미 구간(DUMMY), 파워 모드 변경 요청(PWR_REQ) 또는 파워 모드 변경 응답(PWR_CNF), 종료 비트(TOB, Tail-Of-Burst)를 포함할 수 있다. 준비(PREPARE) 구간은 버스트의 시작을 나타내는 구간으로서 포지티브 차동 라인 전압(DIF-P)으로 라인이 구동되는 구간일 수 있다. 더미(DUMMY) 구간은 의미 없는 데이터를 나타내는 적어도 하나의 비트가 포함되는 구간일 수 있다. 호스트 수신기(HOST RX) 및 장치 수신기(DEVICE RX)는 수신되는 버스트에서 더미 구간에 포함되는 데이터를 무시할 수 있다. 파워 모드 변경 요청(PWR_req)은 데이터 전송률의 변경을 요청하는 정보를 포함할 수 있다. 파워 모드 변경 응답(RWR_cnf)은 파워 모드 변경 요청(PWR_req)에 응답하는 정보를 포함할 수 있다. 종료 비트(TOB)는 버스트의 종료를 나타내는 적어도 하나의 비트일 수 있다. 종료 비트(TOB)는 네거티브 차동 라인 전압(DIF-N)으로 라인이 구동되는 구간에 전송되는 비트일 수 있다. 종료 비트(TOB)는 UniPro 사양에 기재된 MK 심볼 또는 필러 심볼을 포함할 수 있다.Referring to FIG. 5 , a bit sequence transmitted through a line in a burst state may be referred to as a burst (BURST). The burst BURST may include a preparation period PREPARE, a dummy period DUMMY, a power mode change request (PWR_REQ) or a power mode change response (PWR_CNF), and an end bit (TOB, Tail-Of-Burst). The PREPARE section is a section indicating the start of a burst, and may be a section in which the line is driven by the positive differential line voltage DIF-P. The DUMMY section may be a section including at least one bit representing meaningless data. The host receiver (HOST RX) and the device receiver (DEVICE RX) may ignore data included in the dummy period in the received burst. The power mode change request (PWR_req) may include information requesting to change the data rate. The power mode change response RWR_cnf may include information in response to the power mode change request PWR_req. The end bit TOB may be at least one bit indicating the end of the burst. The end bit TOB may be a bit transmitted during a period in which the line is driven with the negative differential line voltage DIF-N. The end bit (TOB) may include an MK symbol or a filler symbol described in the UniPro specification.
도 5를 참조하면, 호스트(200)는 고속 모드(HS mode)에서 호스트 송신기(HOST TX)를 통해 제1 데이터 전송률(DR1)로 제1 버스트(BURST 1)를 전송할 수 있다. 제1 버스트(BURST 1)는 데이터 전송률을 제2 데이터 전송률(DR2)로 변경 요청하는 파워 모드 변경 요청(PWR_req)을 포함할 수 있다.Referring to FIG. 5 , the
스토리지 장치(100)는 고속 모드(HS mode)에서 장치 송신기(DEVICE TX)를 통해 제1 데이터 전송률(DR1)로 제2 버스트(BURST 2)를 전송할 수 있다. 제2 버스트(BURST 2)는 파워 모드 변경 요청(PWR_req)에 대응하는 파워 모드 변경 응답(PWR_cnf)을 포함할 수 있다.The
스토리지 장치(100)는 제2 버스트(BURST 2)의 종료 비트(TOB)가 장치 송신기(DEVICE TX)를 통해 출력되면 데이터 전송률을 제2 데이터 전송률(DR2)로 조정할 수 있다. 구체적으로, 종료 비트(TOB)가 출력되면 클럭 생성기(113)는 내부 클럭 신호의 주파수를 변경함으로써 데이터 전송률을 제2 데이터 전송률(DR2)로 조정할 수 있다. 미리 결정된 설정 시간(Config_time) 동안, 장치 송신기(DEVICE TX)와 연결된 라인(LINE)을 통해 데이터가 전송되지 않을 수 있고, 설정 시간(Config_time) 내에 데이터 전송률이 조정될 수 있다.The
일부 실시예들에서, 클럭 생성기(113)는 장치 송신기(DEVICE TX) 및 장치 수신기(DEVICE RX)에 공통으로 사용될 수 있다. 따라서, 장치 수신기(DEVICE RX)가 호스트 송신기(HOST TX)로부터 파워 모드 변경 요청(PWR_req)을 수신한 직후에 내부 클럭 신호의 주파수가 변경되는 경우, 장치 송신기(DEVICE TX)를 통해 전송되는 파워 모드 변경 응답(PWR_cnf)은 호스트 수신기(HOST RX)에 도달하지 않을 수 있다. 본 개시의 예시적 실시 예에 따른 스토리지 장치(100)는, 제2 버스트(BRUST 2)가 출력된 이후에 내부 클럭 신호의 주파수를 변경함으로써, 공통되는 내부 클럭 신호를 사용하여 장치 송신기(DEVICE TX) 및 장치 수신기(DEVICE RX)에 대한 데이터 전송률을 변경할 수 있다. 즉, 하나의 PLL(Phase Locked Loop) 회로를 사용하여 장치 송신기(DEVICE TX) 및 장치 수신기(DEVICE RX)에 대한 데이터 전송률을 변경할 수 있으므로, 스토리지 시스템의 사이즈는 감소될 수 있다.In some embodiments, the
호스트(200)는 제2 버스트(BURST 2)의 종료 비트(TOB)가 호스트 수신기(HOST RX)를 통해 수신되면 데이터 전송률을 제2 데이터 전송률(DR2)로 조정할 수 있다. 도시되지는 않았으나, 호스트 수신기(HOST RX)는 장치 송신기(DEVICE TX)와 라인을 통해 연결될 수 있다. 구체적으로, 종료 비트(TOB)가 수신되면 클럭 생성기(213)는 내부 클럭 신호의 주파수를 변경함으로써 데이터 전송률을 제2 데이터 전송률(DR2)로 조정할 수 있다. 미리 결정된 설정 시간(Config_time) 동안, 호스트 송신기(HOST TX)와 연결된 라인(LINE)을 통해 데이터가 전송되지 않을 수 있고, 설정 시간(Config_time) 내에 데이터 전송률이 조정될 수 있다.When the end bit TOB of the
일부 실시예들에서, 클럭 생성기(213)는 호스트 송신기(HOST TX) 및 호스트 수신기(HOST RX)에 공통으로 사용될 수 있다. 따라서, 호스트 송신기(HOST TX)가 장치 수신기(DEVICE RX)에 파워 모드 변경 요청(PWR_req)을 전송한 직후에 내부 클럭 신호의 주파수가 변경되는 경우, 장치 송신기(DEVICE TX)를 통해 전송되는 파워 모드 변경 응답(PWR_cnf)은 호스트 수신기(HOST RX)에 도달하지 않을 수 있다. 본 개시의 예시적 실시 예에 따른 호스트(200)는, 제2 버스트(BRUST 2)가 수신된 이후에 내부 클럭 신호의 주파수를 변경함으로써, 공통되는 내부 클럭 신호를 사용하여 호스트 송신기(HOST TX) 및 호스트 수신기(HOST RX)에 대한 데이터 전송률을 변경할 수 있다. 즉, 하나의 PLL(Phase Locked Loop) 회로를 사용하여 호스트 송신기(HOST TX) 및 호스트 수신기(HOST RX)에 대한 데이터 전송률을 변경할 수 있으므로, 스토리지 시스템의 사이즈는 감소될 수 있다.In some embodiments, the
고속 모드(HS mode)를 유지하면서 데이터 전송률이 조정되는 경우, 내부 클럭 신호의 주파수가 변경되는 동안 전송 중인 데이터에 에러가 발생할 수도 있다. 따라서, 내부 클럭 신호의 주파수 변경은 저속 모드(LS mode)에서 수행될 수도 있다. 저속 모드(LS mode)는 기준 클럭 신호를 사용하지 않는 전송 모드일 수 있다. 예를 들어, 저속 모드는 PWM(Pulse width modulation) 방식일 수 있다. PWM 방식의 저속 모드에서는, 레인을 통해 전송되는 신호의 각 로직 하이(logic high) 구간의 사이에 로직 로우(logic low) 구간이 반드시 존재하여야 하는 RZ(return to zero) 방식이 적용된다. 즉, 저속 모드(LS mode)는 내부 클럭 신호를 사용하지 않는 전송 모드이므로, 저속 모드(LS mode)에서 내부 클럭 신호의 주파수가 조정되더라도, 전송되는 데이터에는 에러가 발생하지 않을 수 있다.When the data rate is adjusted while maintaining the HS mode, an error may occur in the data being transmitted while the frequency of the internal clock signal is changed. Accordingly, the frequency change of the internal clock signal may be performed in the low speed mode (LS mode). The low-speed mode (LS mode) may be a transmission mode that does not use a reference clock signal. For example, the low-speed mode may be a pulse width modulation (PWM) method. In the low-speed mode of the PWM method, a return to zero (RZ) method in which a logic low section must exist between each logic high section of a signal transmitted through a lane is applied. That is, since the low speed mode (LS mode) is a transmission mode that does not use an internal clock signal, even if the frequency of the internal clock signal is adjusted in the low speed mode (LS mode), an error may not occur in transmitted data.
다만, 고속 모드의 데이터 전송률을 변경하기 위해서, 파워 모드를 저속 모드로 변경하고 저속 모드에서 내부 클럭 신호의 주파수를 변경하고 파워 모드를 다시 고속 모드로 변경하는 경우 상당한 시간이 소요될 수 있다.However, in order to change the data rate of the high-speed mode, it may take a considerable amount of time to change the power mode to the low-speed mode, to change the frequency of the internal clock signal in the low-speed mode, and to change the power mode to the high-speed mode again.
본 개시의 예시적 실시 예에 따른 스토리지 시스템은, 레인을 통해 데이터가 전송되지 않는 설정 시간 동안 기준 클럭 신호의 주파수를 변경함으로써 고속 모드를 유지한 채 데이터 전송률을 변경하더라도 데이터의 에러가 발생하지 않을 수 있다.In the storage system according to an exemplary embodiment of the present disclosure, even if the data transfer rate is changed while maintaining the high-speed mode by changing the frequency of the reference clock signal for a set time during which data is not transmitted through the lane, data error will not occur. can
도 6은 본 개시의 예시적 실시 예에 따른 호스트의 동작 방법을 설명하는 흐름도이다. 구체적으로, 도 6은 호스트 송신기(HOST TX) 및 호스트 수신기(HOST RX)에 대한 데이터 전송률을 조정하는 방법을 나타낸다. 호스트의 동작 방법은 복수의 단계들(S610 내지 S640)을 포함할 수 있다. 도 6은 도 1 내지 5 중 적어도 하나를 참조하여 후술될 수 있다.6 is a flowchart illustrating a method of operating a host according to an exemplary embodiment of the present disclosure. Specifically, FIG. 6 shows a method of adjusting data rates for a host transmitter (HOST TX) and a host receiver (HOST RX). The method of operating the host may include a plurality of steps ( S610 to S640 ). 6 may be described later with reference to at least one of FIGS. 1 to 5 .
S610 단계에서, 호스트(200)는 호스트 송신기(HOST TX)를 통해 파워 모드 변경 요청(PWR_req)을 포함하는 제1 버스트(BURST 1)를 스토리지 장치(100)에 전송할 수 있다. 제1 버스트(BURST 1)는 호스트 송신기(HOST TX)가 버스트 상태를 유지하는 동안 라인을 통해 스토리지 장치(100)에 전송되는 비트 시퀀스일 수 있다. 파워 모드 변경 요청(PWR_req)은 변경될 파워 모드의 종류, 속도 기어 또는 속도 시리즈를 포함할 수 있다. 파워 모드는 고속 모드(HS mode) 또는 저속 모드(LS mode)일 수 있다. 속도 기어는 데이터 전송률을 의미할 수 있고, 속도 시리즈는 복수의 속도 기어들의 그룹을 의미할 수 있다.In operation S610 , the
S620 단계에서, 호스트(200)는 호스트 수신기(HOST RX)를 통해 파워 모드 변경 응답(PWR_cnf)을 포함하는 제2 버스트(BURST 2)를 스토리지 장치(100)로부터 수신할 수 있다. 제2 버스트(BURST 2)는 장치 송신기(DEVICE TX)가 버스트 상태를 유지하는 동안 라인을 통해 호스트(200)에 전송되는 비트 시퀀스일 수 있다. 파워 모드 변경 응답(PWR_cnf)은 파워 모드 변경 요청(PWR_req)에 대응되고, 상태 정보, 파워 모드의 종류, 속도 기어 또는 속도 시리즈를 포함할 수 있다. 상태 정보는 파워 모드의 변경이 가능한지 여부에 대한 정보를 의미할 수 있다.In operation S620 , the
S630 단계에서, 호스트(200)에 포함된 TOB 검출기(221)는 제2 버스트(BURST 2)의 종료 비트(TOB)를 검출할 수 있다. TOB 검출기(221)는 미리 정해진 비트 시퀀스를 식별함으로써 종료 비트(TOB)를 검출할 수 있다. 종료 비트(TOB)가 검출되지 않은 경우, TOB 검출기(221)는 종료 비트(TOB)가 검출될 때까지 검출 동작을 수행할 수 있고, 종료 비트(TOB)가 검출된 경우, S640 단계가 수행될 수 있다.In step S630 , the
S640 단계에서, 호스트(200)는 호스트 송신기(HOST TX) 및 호스트 수신기(HOST RX)에 대한 데이터 전송률을 조정할 수 있다. 구체적으로, 클럭 생성기(213)는 기준 클럭 신호의 주파수를 변경하거나, 기준 클럭 신호를 기초로 생성되는 내부 클럭 신호의 주파수를 변경함으로써, 파워 모드 변경 요청(PWR_req)에 포함된 속도 기어 또는 속도 시리즈에 대응되는 데이터 전송률을 설정할 수 있다. 일부 실시 예들에서, S640 단계에서, 도 3을 참조하여 전술된 바와 같이, 오실레이터(410)가 기준 클럭 신호의 주파수를 변경하거나, 분주기(460)가 분주비를 변경함으로써 내부 클럭 신호의 주파수가 변경될 수 있다.In operation S640 , the
본 개시의 예시적 실시 예에 따른 호스트는, 종료 비트(TOB)를 검출함으로써 스토리지 장치로부터 버스트가 모두 수신되는 시점을 판단할 수 있다. 이에 따라, 호스트 송신기(HOST TX) 및 호스트 수신기(HOST RX) 각각와 연결된 라인들에 데이터가 전송되지 않을 때 데이터 전송률을 조정할 수 있으므로, 데이터 전송률이 조정되는 동안 발생할 수 있는 전송 데이터의 에러를 방지할 수 있다.The host according to an exemplary embodiment of the present disclosure may determine when all bursts are received from the storage device by detecting the end bit TOB. Accordingly, it is possible to adjust the data transfer rate when data is not transmitted on the lines connected to each of the host transmitter (HOST TX) and the host receiver (HOST RX), thereby preventing errors in transmitted data that may occur while the data transfer rate is being adjusted. can
또한, 하나의 클럭 생성기(213)를 사용하여 호스트 송신기(HOST TX) 및 호스트 수신기(HOST RX)에 대한 데이터 전송률을 모두 조정할 수 있으므로, 호스트 송신기(HOST TX) 및 호스트 수신기(HOST RX) 각각에 대해 클럭 생성기를 구비하는 경우와 비교할 때 스토리지 시스템의 사이즈가 감소될 수 있다.In addition, a
도 7은 본 개시의 예시적 실시 예에 따른 스토리지 장치의 동작 방법을 설명하는 흐름도이다. 구체적으로, 도 7은 장치 송신기(DEVICE TX) 및 장치 수신기(DEVICE RX)에 대한 데이터 전송률을 조정하는 방법을 나타낸다. 스토리지 장치의 동작 방법은 복수의 단계들(S710 내지 S740)을 포함할 수 있다. 도 7은 도 1 내지 5와 함께 참조하여 후술될 수 있다.7 is a flowchart illustrating a method of operating a storage device according to an exemplary embodiment of the present disclosure. Specifically, FIG. 7 shows a method of adjusting data rates for a device transmitter (DEVICE TX) and a device receiver (DEVICE RX). The method of operating the storage device may include a plurality of steps ( S710 to S740 ). 7 may be described later with reference to FIGS. 1 to 5 .
S710 단계에서, 도 5를 참조하여 전술된 바와 같이, 스토리지 장치(100)는 장치 수신기(DEVICE RX)를 통해 파워 모드 변경 요청(PWR_req)을 포함하는 제1 버스트(BURST 1)를 호스트(200)로부터 수신할 수 있다.In step S710 , as described above with reference to FIG. 5 , the
S720 단계에서, 도 5를 참조하여 전술된 바와 같이, 스토리지 장치(100)는 장치 송신기(DEVICE RX)를 통해 파워 모드 변경 응답(PWR_cnf)을 포함하는 제2 버스트(BURST 2)를 호스트(200)에 전송할 수 있다. 파워 모드 변경 응답(PWR_cnf)은 파워 모드 변경 요청(PWR_req)에 대응되고, 상태 정보, 파워 모드의 종류, 속도 기어 또는 속도 시리즈를 포함할 수 있다. 상태 정보는 파워 모드의 변경이 가능한지 여부에 대한 정보를 의미할 수 있다.In step S720 , as described above with reference to FIG. 5 , the
S730 단계에서, 스토리지 장치(100)에 포함된 TOB 검출기(121)는 제1 버스트(BUST 1)의 종료 비트(TOB)를 검출할 수 있다. TOB 검출기(121)는 미리 정해진 비트 시퀀스를 식별함으로써 종료 비트(TOB)를 검출할 수 있다. 종료 비트(TOB)가 검출되지 않은 경우, TOB 검출기(121)는 종료 비트(TOB)가 검출될 때까지 검출 동작을 수행할 수 있고, 종료 비트(TOB)가 검출된 경우, S740 단계가 수행될 수 있다.In operation S730 , the
S740 단계에서, 스토리지 장치(100)는 장치 송신기(DEVICE TX)를 통해 제2 버스트(BURST 2)의 종료 비트(TOB)를 전송할 수 있다. 종료 비트(TOB)를 전송한 뒤 설정 시간(Config_time)이 도과할 때까지 라인(LINE) 상에 데이터가 전송되지 않을 수 있다.In operation S740 , the
S750 단계에서, 스토리지 장치(100)는 장치 송신기(DEVICE TX) 및 장치 수신기(DEVICE RX)에 대한 데이터 전송률을 조정할 수 있다. 구체적으로, 클럭 생성기(113)는 변경된 주파수를 갖는 기준 클럭 신호를 호스트(200)로부터 수신하거나, 기준 클럭 신호를 기초로 생성되는 내부 클럭 신호의 주파수를 변경함으로써, 파워 모드 변경 요청(PWR_req)에 포함된 속도 기어 또는 속도 시리즈에 대응되는 데이터 전송률을 설정할 수 있다. 일부 실시 예들에서, S750 단계에서, 도 3을 참조하여 전술된 바와 같이, 오실레이터(410)가 기준 클럭 신호의 주파수를 변경하거나, 분주기(460)가 분주비를 변경함으로써 내부 클럭 신호의 주파수가 변경될 수 있다. 스토리지 장치(100)는 설정 시간(Config_time) 동안 내부 클럭 신호의 주파수를 변경할 수 있다.In operation S750 , the
본 개시의 예시적 실시 예에 따른 스토리지 장치는, 종료 비트(TOB)를 검출함으로써 호스트로부터 버스트가 모두 수신되는 시점을 판단할 수 있다. 스토리지 장치는, 종료 비트(TOB)가 검출되면 데이터 전송률을 조정할 수 있다. 즉, 스토리지 장치는, 장치 송신기(DEVICE TX) 및 장치 수신기(DEVICE RX) 각각와 연결된 라인들에 데이터가 전송되지 않는 설정 시간(Config_time) 동안 데이터 전송률을 조정하므로, 데이터 전송률이 조정되는 동안 발생할 수 있는 전송 데이터의 에러를 방지할 수 있다.The storage device according to an exemplary embodiment of the present disclosure may determine when all bursts are received from the host by detecting the end bit TOB. The storage device may adjust the data transfer rate when the end bit TOB is detected. That is, the storage device adjusts the data rate for a set time (Config_time) in which data is not transmitted to the lines connected to each of the device transmitter (DEVICE TX) and the device receiver (DEVICE RX), which may occur while the data rate is adjusted. Errors in transmission data can be prevented.
또한, 하나의 클럭 생성기(113)를 사용하여 장치 송신기(DEVICE TX) 및 장치 수신기(DEVICE RX) 모두 대한 데이터 전송률을 조정할 수 있으므로, 장치 송신기(DEVICE TX) 및 장치 수신기(DEVICE RX) 각각에 대해 클럭 생성기를 구비하는 경우와 비교할 때 스토리지 시스템의 사이즈가 감소될 수 있다.In addition, one
도 8은 본 개시의 예시적 실시 예에 따른 데이터 전송률 리셋 동작을 설명하는 도면이다. 구체적으로, 도 8은, 호스트 수신기(HOST RX)와 장치 송신기(DEVICE TX)가 구성하는 레인(LANE)에서 발생하는 에러에 의하여, 스토리지 장치(100b)가 전송하는 데이터가 호스트(200b)에 도달하지 않는 경우를 가정한다. 또한, 호스트(200b)와 스토리지 장치(100b)는 데이터 전송률이 조정 또는 리셋되기 전까지 제1 데이터 전송률(DR1)로 데이터를 송/수신하는 것으로 가정한다. 데이터 전송률 리셋 동작은 복수의 단계들(S801 내지 S819)을 포함할 수 있다.8 is a diagram for explaining a data rate reset operation according to an exemplary embodiment of the present disclosure. Specifically, in FIG. 8 , data transmitted by the
S801 단계에서, 호스트(200b)는 호스트 송신기(HOST TX)를 통해 제1 파워 모드 변경 요청(PWR_req1)을 포함하는 제1 버스트(BURST 1)를 전송할 수 있다. 호스트(200b)는 제1 파워 모드 변경 요청(PWR_req1)을 전송하고, 제1 타임 아웃(timeout 1) 내에 제1 파워 모드 변경 응답(PWR_cnf1)이 수신되는지 여부를 모니터링할 수 있다. S803 단계에서, 스토리지 장치(100b)는 제1 파워 모드 변경 요청(PWR_req1)에 응답하여 장치 송신기(DEVICE TX)를 통해 제1 파워 모드 변경 응답(PWR_cnf1)을 포함하는 제2 버스트(BURST 2)를 전송할 수 있다. 그러나, 장치 송신기(DEVICE)를 포함하는 레인(LANE)의 에러에 의하여, 제1 파워 모드 변경 응답(PWR_cnf1)은 호스트(200b)에 도달하지 못할 수 있다.In step S801 , the
S885 단계에서, 호스트(200b)는 제1 타임 아웃(timeout 1) 내에 제1 파워 모드 변경 응답(PWR_cnf1)이 수신되지 않으면, 호스트 송신기(HOST TX)를 통해 제2 파워 모드 변경 요청(PWR_req2)을 전송할 수 있다. 제2 파워 모드 변경 요청(PWR_req2)은 제1 버스트(BURST 1)에 포함될 수 있다. 호스트(200b)는 제2 파워 모드 변경 요청(PWR_req2)을 전송하고, 제2 타임 아웃(timeout 2) 내에 제2 파워 모드 변경 응답(PWR_cnf2)이 수신되는지 여부를 모니터링할 수 있다. 제2 타임 아웃(timeout 2)의 길이는 제1 타임 아웃(time 1)의 길이와 동일하거나 상이할 수 있다. S807 단계에서, 스토리지 장치(100b)는 제2 파워 모드 변경 요청(PWR_req2)에 응답하여 장치 송신기(DEVICE TX)를 통해 제2 파워 모드 변경 응답(PWR_cnf2)을 전송할 수 있다. 제2 파워 모드 변경 응답(PWR_cnf2)은 제2 버스트(BURST 2)에 포함될 수 있다. 그러나, 장치 송신기(DEVICE)를 포함하는 레인(LANE)의 에러에 의하여, 제2 파워 모드 변경 응답(PWR_cnf2)은 호스트(200b)에 도달하지 못할 수 있다.In step S885, if the first power mode change response PWR_cnf1 is not received within the
일부 실시 예들에서, S807 단계 이후, 스토리지 장치(100b)의 데이터 전송률을 조정하는 S820 단계가 수행될 수 있다. S820 단계는 복수의 단계들(S809 내지 S813)을 포함할 수 있다. S809 단계에서, 호스트(200b)는 호스트 송신기(HOST TX)를 통해 제1 버스트(BURST 1)의 종료 비트(TOB)를 전송할 수 있다. S811 단계에서, 스토리지 장치(100b)는 제1 버스트(BURST 1)의 종료 비트(TOB)를 검출하고, 장치 송신기(DEVICE TX)를 통해 제2 버스트(BURST 2)의 종료 비트(TOB)를 전송할 수 있다. 그러나, 장치 송신기(DEVICE)를 포함하는 레인(LANE)의 에러에 의하여, 제2 버스트(BURST 2)의 종료 비트(TOB)는 호스트(200b)에 도달하지 못할 수 있다. S813 단계에서, 도 7을 참조하여 전술된 바와 같이, 스토리지 장치(100b)는 제2 버스트(BURST 2)의 종료 비트(TOB)를 전송하고, 데이터 전송률을 제1 데이터 전송률(DR1)에서 제2 데이터 전송률(DR2)로 조정할 수 있다. 일부 실시 예들에서, S820 단계는 생략될 수 있다.In some embodiments, after step S807, step S820 of adjusting the data transfer rate of the
S815 단계에서, 호스트(200b)는 제2 타임 아웃(timeout 2) 내에 제2 파워 모드 변경 응답(PWR_cnf2)이 수신되지 않으면, 라인 리셋 신호를 스토리지 장치(100b)에 전송할 수 있다. 라인 리셋 신호는 전용되는 리셋 신호 핀을 통해 전송될 수 있다. 라인 리셋 신호는 오작동 상황에서 인터커넥트부(110)의 물리 계층(111)의 리셋을 지시하는 신호일 수 있다. S817 단계에서, 스토리지 장치(100b)는 물리 계층(111)에 포함되는 장치 수신기(DEVICE RX) 및 장치 송신기(DEVICE TX)의 데이터 전송률을 리셋할 수 있다. 호스트(200b)는 데이터 전송률을 조정하지 않았기 때문에, 타임아웃이 발생하는 경우 호스트(200b)의 데이터 전송률은 제1 데이터 전송률(DR1)로 설정되어 있을 수 있다.In operation S815 , if the second power mode change response PWR_cnf2 is not received within a
일부 실시 예들에서, 스토리지 장치(100b)는 데이터 전송률을 라인 리셋 신호를 수신하기 전의 데이터 전송률, 즉 제1 데이터 전송률(DR1)로 리셋할 수 있다. 따라서, 스토리지 장치(100b)의 데이터 전송률만 리셋되더라도, 호스트(200b)와 스토리지 장치(100b)는 동일한 데이터 전송률을 사용하여 원활하게 통신할 수 있다.In some embodiments, the
일부 실시 예들에서, 스토리지 장치(100b)는 데이터 전송률을 디폴트 데이터 전송률로 리셋할 수 있다. 디폴트 데이터 전송률은 도 4의 링크 스타트업 단계(S360)에서 미리 설정될 수 있다. 디폴트 데이터 전송률은 복수의 속도 시리즈들 각각에 포함되는 복수의 속도 기어들 중에서 선택될 수 있다. 일 예에서, 디폴트 데이터 전송률은 제1 데이터 전송률(DR1) 또는 제2 데이터 전송률(DR2)일 수 있다. 이 경우, 호스트(200b)는 S819 단계를 수행할 수 있다. S819 단계에서, 호스트(200b)는 데이터 전송률을 디폴트 데이터 전송률로 리셋할 수 있다. 즉, S819 단계가 수행됨으로써, 호스트(200b)와 스토리지 장치(100b)는 동일한 디폴트 데이터 전송률로 리셋되므로, 호스트(200b)와 스토리지 장치(100b)는 동일한 데이터 전송률을 사용하여 원활하게 통신할 수 있다.In some embodiments, the
도 9는 본 개시의 예시적 실시 예에 따른 데이터 전송률의 조정을 설명하는 도면이다. 구체적으로, 도 9는 링크 에러로 인하여, 장치 송신기(DEVICE TX)에서 전송되는 데이터가 호스트 수신기(HOST RX)에 도달하지 못하는 경우를 설명하기 위한 도면이다. 따라서, 도 9는 도 8을 참조하여 후술될 수 있고, 도 5를 참조하여 전술된 설명은 생략될 수 있다.9 is a diagram for explaining adjustment of a data rate according to an exemplary embodiment of the present disclosure. Specifically, FIG. 9 is a diagram for explaining a case in which data transmitted from the device transmitter (DEVICE TX) does not reach the host receiver (HOST RX) due to a link error. Accordingly, FIG. 9 may be described later with reference to FIG. 8 , and the above description with reference to FIG. 5 may be omitted.
도 9를 참조하면, 호스트(200b)는 고속 모드(HS mode)에서 호스트 송신기(HOST TX)를 통해 제1 데이터 전송률(DR1)로 제1 버스트(BURST 1)를 전송할 수 있다. 제1 버스트(BURST 1)는 데이터 전송률을 제2 데이터 전송률(DR2)로 변경 요청하는 제1 파워 모드 변경 요청(PWR_req1)을 포함할 수 있다. 호스트(200b)는 제1 파워 모드 변경 요청(PWR_req1)에 대응하는 제1 파워 모드 변경 응답(PWR_cnf1)이 제1 타임아웃(TIMEOUT 1) 내에 도달하는지 여부를 모니터링할 수 있다. 스토리지 장치(100b)는 제1 파워 모드 변경 요청(PWR_req1)에 응답하여 제1 파워 모드 변경 응답(PWR_cnf1)을 전송할 수 있으나, 링크 에러로 인하여, 제1 파워 모드 변경 응답(PWR_cnf1)은 호스트 수신기(HOST RX)에 도달하지 못할 수 있다.Referring to FIG. 9 , the
호스트(200b)는 제1 타임아웃(TIMEOUT 1)이 도과하면 제2 파워 모드 변경 요청(PWR_req2)을 전송할 수 있다. 제2 파워 모드 변경 요청(PWR_req2)은 제1 버스트(BURST 1) 내에 포함될 수 있다. 호스트(200b)는 제2 파워 모드 변경 요청(PWR_req2)에 대응하는 제2 파워 모드 변경 응답(PWR_cnf2)이 제2 타임아웃(TIMEOUT 2) 내에 도달하는지 여부를 모니터링할 수 있다. 스토리지 장치(100b)는 제2 파워 모드 변경 요청(PWR_req2)에 응답하여 제2 파워 모드 변경 응답(PWR_cnf2)을 전송할 수 있으나, 링크 에러로 인하여, 제2 파워 모드 변경 응답(PWR_cnf2)은 호스트 수신기(HOST RX)에 도달하지 못할 수 있다.The
호스트(200b)는, 도 8의 S809 단계에서 전술된 바와 같이, 제1 버스트(BURST 1)의 버스트 종료 비트(TOB)를 전송할 수 있다. 스토리지 장치(100b)는, 도 8의 S811 단계에서 전술된 바와 같이, 제1 버스트(BURST 1)의 버스트 종료 비트(TOB)를 수신하고, 제2 버스트(BURST 2)의 버스트 종료 비트(TOB)를 출력할 수 있다. 스토리지 장치(100b)는 도 8의 S813 단계에서 전술된 바와 같이, 데이터 전송률을 제1 데이터 전송률(DR1)에서 제2 데이터 전송률(DR2)로 조정할 수 있다.As described above in step S809 of FIG. 8 , the
호스트(200b)는 제2 타임아웃(TIMEOUT 2)이 도과하면 라인 리셋 신호를 전송할 수 있다. 스토리지 장치(100b)는 라인 리셋 신호를 검출하고, 데이터 전송률을 리셋할 수 있다. 일부 실시 예들에서, 데이터 전송률은 라인 리셋 신호를 수신하기 전의 데이터 전송률, 즉 제1 데이터 전송률(DR1)로 리셋할 수 있다. 일부 실시 예들에서, 스토리지 장치(100b)는 데이터 전송률을 디폴트 데이터 전송률로 리셋할 수 있다. 디폴트 데이터 전송률은 도 4의 링크 스타트업 단계(S360)에서 미리 설정될 수 있다.The
도 10은 본 개시의 예시적 실시 예에 따른 데이터 전송률의 조정을 설명하는 도면이다. 구체적으로, 도 10은 호스트(200b)가 라인 리셋 신호를 전송할 때 제2 버스트(BURST 2)가 종료되지 않은 상황을 설명하기 위한 도면이다. 도 9를 통해 전술된 내용은 생략될 수 있다.10 is a diagram for explaining adjustment of a data rate according to an exemplary embodiment of the present disclosure. Specifically, FIG. 10 is a diagram for explaining a situation in which the
도 10을 참조하면, 도 9와 달리, 호스트(200b)가 라인 리셋 신호를 전송할 때, 장치 송신기(DEVICE TX)가 전송하는 제2 버스트(BURST 2)는 종료되지 않을 수 있다. 즉, 제2 버스트(BURST 2)의 종료 비트(TOB)가 전송되지 않은 상태일 수 있다.Referring to FIG. 10 , unlike FIG. 9 , when the
따라서, 스토리지 장치(100b)는 라인 리셋 신호를 검출하고, 제2 버스트(BURST 2)의 종료 비트(TOB)를 호스트(200b)에 전송할 수 있다. 즉, 스토리지 장치(100b)는 데이터 전송률을 리셋하기 전에 제2 버스트(BURST 2)를 종료시킴으로써, 데이터 전송률이 리셋되는 동안 제2 버스트(BURST 2)에 포함될 수 있는 에러를 사전에 방지할 수 있다.Accordingly, the
도 8의 S819 단계에서 전술된 바와 같이, 호스트(200b)는 라인 리셋 신호를 전송하고, 데이터 전송률을 디폴트 데이터 전송률로 리셋할 수 있다. 디폴트 데이터 전송률은 고속 모드(HS mode)에 포함되는 속도 기어에 대응될 수 있으나, 실시 예는 이에 제한되지 않는다. 즉, 디폴트 데이터 전송률은 내부 클럭 신호를 사용하지 않는 저속 모드(LS mode)일 수도 있다.As described above in step S819 of FIG. 8 , the
스토리지 장치(100b)는 제2 버스트(BURST 2)의 종료 비트(TOB)를 전송한 뒤, 데이터 전송률을 디폴트 데이터 전송률로 리셋할 수 있다. 라인 리셋 동작을 통해, 호스트(200b)와 스토리지 장치(100b)의 데이터 전송률이 디폴트 데이터 전송률로 리셋됨으로써, 호스트(200b)와 스토리지 장치(100b)는 동일한 데이터 전송률을 사용하여 원활하게 통신할 수 있다.The
도 11은 본 개시의 예시적 실시 예에 따른 호스트의 동작 방법을 설명하는 흐름도이다. 구체적으로, 도 11은 타임아웃을 기초로 라인 리셋 신호를 출력함으로써 데이터 전송률을 리셋시키는 호스트의 동작 방법을 설명하는 흐름도이다. 호스트의 동작 방법은 복수의 단계들(S1110 내지 S1180)을 포함할 수 있다. 도 11은 1 내지 도 10 중 적어도 하나를 참조하여 후술될 수 있다.11 is a flowchart illustrating a method of operating a host according to an exemplary embodiment of the present disclosure. Specifically, FIG. 11 is a flowchart illustrating an operation method of a host for resetting a data rate by outputting a line reset signal based on a timeout. The method of operating the host may include a plurality of steps ( S1110 to S1180 ). 11 may be described later with reference to at least one of FIGS. 1 to 10 .
S1110 단계에서, 호스트(200b)는 파워 모드 변경 요청(PWR_req)을 포함하는 제1 버스트(BURST 1)를 전송할 수 있다. S1120 단계에서, 호스트(200b)는 스토리지 장치(100b)로부터 제2 버스트(BURST 2)에 포함되는 파워 모드 변경 응답(PWR_cnf)이 수신되었는지 여부를 식별할 수 있다. 파워 모드 변경 응답(PWR_cnf)이 수신되면 S1170 단계가 수행되고, 파워 모드 변경 응답(PWR_cnf)이 수신되지 않으면 S1130 단계가 수행될 수 있다.In step S1110 , the
S1170 단계에서, 호스트(200b)는 제2 버스트(BURST 2)의 종료 비트(TOB)를 검출할 수 있다. 예를 들어, 도 1의 호스트(200)에 포함된 TOB 검출기(221)는 미리 결정된 비트 시퀀스를 식별함으로써 종료 비트(TOB)를 검출할 수 있다. 호스트(200b)는 종료 비트(TOB)가 검출될 때까지 반복적으로 검출 동작을 수행할 수 있고, 종료 비트(TOB)가 검출되면 S1180 단계가 수행될 수 있다.In operation S1170 , the
S1180 단계에서, 호스트(200b)는 호스트 송신기(HOST TX) 및 호스트 수신기(HOST RX)에 대한 데이터 전송률을 조정할 수 있다. 예를 들어, 도면들을 통해 전술된 바와 같이, 호스트(200b)는 데이터 전송률을 제1 데이터 전송률(DR1)에서 제2 데이터 전송률(DR2)로 조정할 수 있다. 데이터 전송률은 기준 클럭 신호의 주파수를 변경하거나, 내부 클럭 신호의 주파수를 변경함으로써 조정될 수 있다.In step S1180 , the
S1130 단계에서, 호스트(200b)는 타임아웃이 도과되었는지 여부를 판단할 수 있다. 타임아웃이 도과하지 않는 경우, S1120 단계에서, 파워 모드 변경 응답(PWR_cnf)이 수신될 때까지 타임아웃을 모니터링할 수 있다. 타임아웃이 도과하는 경우, S1140 단계가 수행될 수 있다.In step S1130 , the
S1140 단계에서, 호스트(200b)는 타임아웃 횟수(Timeout_count)가 기준 횟수(ref_count)에 도달하였는지 여부를 판단할 수 있다. 도 10을 참조하여 전술된 바와 같이, 기준 횟수는 2회일 수 있으나, 실시 예는 이에 제한되지 않는다. 타임아웃 횟수(Timeout_count)가 기준 횟수(ref_count)에 도달하지 않은 경우, 호스트(200b)는 S1110 단계에서, 스토리지 장치(100b)에 재차 파워 모드 변경 요청(PWR_req)을 전송할 수 있다. 타임아웃 횟수(Timeout_count)가 기준 횟수(ref_count)에 도달한 경우, S1150 단계가 수행될 수 있다.In operation S1140 , the
S1150 단계에서, 호스트(200b)는 리셋 신호 핀을 통해 라인 리셋 신호를 스토리지 장치(100b)로 출력할 수 있다. 라인 리셋 신호는 오작동 상황에서 도 1에 도시된 인터커넥트부(110)의 물리 계층(111)의 리셋을 지시하는 신호일 수 있다.In operation S1150 , the
S1160 단계에서, 호스트(200b)는 데이터 전송률을 디폴트 데이터 전송률로 리셋할 수 있다. 디폴트 데이터 전송률은 도 4의 링크 스타트업 단계(S360)에서 미리 설정될 수 있다.In step S1160 , the
본 개시의 예시적 실시 예에 따른 호스트는, 타임아웃이 도과하면 라인 리셋 신호를 출력하고, 데이터 전송률을 리셋함으로써, 라인에서 에러가 발생하더라도 스토리지 장치와 원활히 데이터를 송/수신할 수 있다.The host according to an exemplary embodiment of the present disclosure may smoothly transmit/receive data to/from the storage device even when an error occurs in the line by outputting a line reset signal and resetting the data transfer rate when the timeout has elapsed.
도 12는 본 개시의 예시적 실시 예에 따른 스토리지 장치의 동작 방법을 설명하는 흐름도이다. 구체적으로, 도 12는 라인 리셋 신호를 기초로 데이터 전송률을 리셋시키는 스토리지 장치의 동작 방법을 설명하는 흐름도이다. 스토리지 장치의 동작 방법은 복수의 단계들(S1210 내지 S1260)을 포함할 수 있다. 도 12는 1 내지 도 10 중 적어도 하나를 참조하여 후술될 수 있다.12 is a flowchart illustrating a method of operating a storage device according to an exemplary embodiment of the present disclosure. Specifically, FIG. 12 is a flowchart illustrating an operation method of a storage device for resetting a data transfer rate based on a line reset signal. The method of operating the storage device may include a plurality of steps ( S1210 to S1260 ). 12 may be described later with reference to at least one of FIGS. 1 to 10 .
S1210 단계에서, 스토리지 장치(100b)는 장치 수신기(DEVICE RX)를 통해 제1 버스트(BURST 1)에 포함되는 파워 모드 변경 요청(PWR_req)을 수신할 수 있다. S1220 단계에서, 스토리지 장치(100b)는 장치 송신기(DEVICE TX)를 통해 제2 버스트(BURST 2)에 포함되는 파워 모드 변경 응답(PWR_cnf)을 전송할 수 있다. 파워 모드 변경 요청(PWR_req)와 파워 모드 변경 응답(PWR_cnf)을 1회씩 송/수신하는 것으로 도시하였으나, 실시 예는 이에 제한되지 않는다. 예를 들어, 도 11을 참조하여 전술된 바와 같이, 타임아웃에 의하여 호스트(200b)로부터 복수 회의 파워 모드 변경 요청(PWR_req)이 수신될 수 있고, 이에 응답하여, 스토리지 장치(100b)는 복수 회의 파워 모드 변경 응답(PWR_cnf)을 전송할 수도 있다.In operation S1210 , the
S1230 단계에서, 스토리지 장치(100b)는 제1 버스트(BURST 1)의 종료 비트(TOB)를 검출할 수 있다. 예를 들어, 도 1의 장치 컨트롤러(120)에 포함되는 TOB 검출기(121)는 제1 버스트(BURST 1)의 종료 비트(TOB)를 검출할 수 있다. 종료 비트(TOB)가 검출되는 경우, S1240 단계가 수행될 수 있고, 종료 비트(TOB)가 검출되지 않는 경우, S1260 단계가 수행될 수 있다.In operation S1230 , the
S1240 단계에서, 스토리지 장치(100b)는 제2 버스트(BURST 2)의 종료 비트(TOB)를 전송함으로써 제2 버스트(BURST 2)를 종료할 수 있다. 데이터 전송률을 조정하기 전에 버스트를 종료함으로써, 데이터 전송률이 조정되는 동안 제2 버스트(BURST 2)에 포함될 수 있는 에러를 사전에 방지할 수 있다.In operation S1240 , the
S1250 단계에서, 스토리지 장치(100b)는 데이터 전송률을 조정할 수 있다. 예를 들어, 도 9에 도시된 바와 같이, 스토리지 장치(100b)는 데이터 전송률을 제1 데이터 전송률(DR1)에서 제2 데이터 전송률(DR2)로 조정할 수 있다. 제1 데이터 전송률(DR1) 및 제2 데이터 전송률(DR2)은 내부 클럭 신호의 주파수를 기초로 결정되는 고속 모드(HS mode)의 데이터 전송률일 수 있다. 데이터 전송률은, 기준 클럭 신호의 주파수가 변경되거나, 내부 클럭 신호의 주파수가 변경됨으로써 조정될 수 있다.In operation S1250 , the
S1260 단계에서, 스토리지 장치(100b)는 라인 리셋 신호를 검출할 수 있다. 라인 리셋 신호가 검출되는 경우, S1270 단계가 수행되고, 라인 리셋 신호가 검출되지 않는 경우, S1230 단계가 재차 수행될 수 있다.In operation S1260 , the
S1270 단계에서, 스토리지 장치(100b)는 데이터 전송률을 리셋할 수 있다. 구체적으로, 스토리지 장치(100b)는 데이터 전송률을, 라인 리셋 신호가 검출되기 전의 데이터 전송률로 리셋하거나, 디폴트 데이터 전송률로 리셋할 수 있다. 일부 실시 예들에서, S1250 단계에서 데이터 전송률이 제1 데이터 전송률(DR1)에서 제2 데이터 전송률(DR2)로 조정된 경우, S1270 단계에서, 스토리지 장치(100b)는 라인 리셋 신호를 기초로 데이터 전송률을 제1 데이터 전송률(DR1)로 리셋할 수 있다. 일부 실시 예들에서, 디폴트 데이터 전송률은 도 4를 참조하여 전술된 링크 스타트업 단계(S360)에서 설정될 수 있다. 디폴트 데이터 전송률은 고속 모드(HS mode)에 포함되는 속도 기어에 대응될 수 있으나, 실시 예는 이에 제한되지 않는다. 즉, 디폴트 데이터 전송률은 내부 클럭 신호를 사용하지 않는 저속 모드(LS mode)일 수도 있다.In operation S1270 , the
일부 실시 예들에서, 도 10을 참조하여 전술된 바와 같이, 라인 리셋 신호가 검출될 때 제2 버스트(BURST 2)의 종료 비트(TOB)가 전송되지 않은 상태일 수 있다. 따라서, S1270 단계에서, 스토리지 장치(100b)는 데이터 전송률을 리셋하기 전에 제2 버스트(BURST 2)의 종료 비트(TOB)를 전송함으로써 데이터 전송률이 리셋되는 동안 전송 오류가 발생하는 것을 방지할 수 있다.In some embodiments, as described above with reference to FIG. 10 , when the line reset signal is detected, the end bit TOB of the
도 13은 본 발명의 일 실시예에 따른 UFS 시스템(1000)에 대해 설명하기 위한 도면이다. UFS 시스템(1000)은 JEDEC(Joint Electron Device Engineering Council)에서 발표하는 UFS 표준을 따르는 시스템으로서, UFS 호스트(1100), UFS 장치(1200) 및 UFS 인터페이스(1300)를 포함할 수 있다. 도면들을 통해 전술된 스토리지 시스템(10)에 대한 설명은, 도 13에 대한 이하의 설명과 상충되지 않는 범위 내에서 도 13의 UFS 시스템(1000)에도 적용될 수 있다.13 is a diagram for explaining the
도 13을 참조하면, UFS 호스트(1100)와 UFS 장치(1200)는 UFS 인터페이스(1300)를 통해 상호 연결될 수 있다. 도 1의 호스트(200)가 애플리케이션 프로세서일 경우, UFS 호스트(1100)는 해당 애플리케이션 프로세서의 일부로서 구현될 수 있다. UFS 호스트 컨트롤러(1110)는 도 1의 호스트 컨트롤러(220)에 각각 대응될 수 있다. UFS 장치(1200)는 도 1의 스토리지 장치(100)에 대응될 수 있으며, UFS 장치 컨트롤러(1210) 및 비휘발성 메모리(1220)는 도 1의 장치 컨트롤러(120) 및 비휘발성 메모리(130)에 각각 대응될 수 있다.Referring to FIG. 13 , a
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)와 같은 표준 규약을 준수하도록 구현될 수 있다.The
애플리케이션(1120)은 UFS 장치(1200)의 기능을 이용하기 위해 UFS 장치(1200)와의 통신을 원하는 프로그램을 의미할 수 있다. 애플리케이션(1120)은 UFS 장치(1200)에 대한 입출력을 위해 입출력 요청(input-output request, IOR)을 UFS 드라이버(1130)로 전송할 수 있다. 입출력 요청(IOR)은 데이터의 독출(read) 요청, 저장(write) 요청 및/또는 소거(discard) 요청 등을 의미할 수 있으나, 반드시 이에 한정되는 것은 아니다.The
UFS 드라이버(1130)는 UFS-HCI(host controller interface)를 통해 UFS 호스트 컨트롤러(1110)를 관리할 수 있다. UFS 드라이버(1130)는 애플리케이션(1120)에 의해 생성된 입출력 요청을 UFS 표준에 의해 정의된 UFS 명령으로 변환하고, 변환된 UFS 명령을 UFS 호스트 컨트롤러(1110)로 전달할 수 있다. 하나의 입출력 요청은 복수의 UFS 명령으로 변환될 수 있다. UFS 명령은 기본적으로 SCSI 표준에 의해 정의된 명령일 수 있지만, UFS 표준 전용 명령일 수도 있다.The
UFS 호스트 컨트롤러(1110)는 UFS 드라이버(1130)에 의해 변환된 UFS 명령을 UIC 레이어(1150)와 UFS 인터페이스(1300)를 통해 UFS 장치(1200)의 UIC 레이어(1250)로 전송할 수 있다. 이 과정에서, UFS 호스트 컨트롤러(1110)의 UFS 호스트 레지스터(1111)는 명령 큐(command queue, CQ)로서의 역할을 수행할 수 있다. The
UFS 호스트(1100) 측의 UIC 레이어(1150)는 MIPI M-PHY(1151)와 MIPI UniPro(1152)를 포함할 수 있으며, UFS 장치(1200) 측의 UIC 레이어(1250) 또한 MIPI M-PHY(1251)와 MIPI UniPro(1252)을 포함할 수 있다. The
UFS 인터페이스(1300)는 기준 클럭 신호(REF_CLK)를 전송하는 라인, UFS 장치(1200)에 대한 하드웨어 리셋 신호(RESET_n)를 전송하는 라인, 차동 입력 신호 쌍(DIN_t와 DIN_c)을 전송하는 한 쌍의 라인 및 차동 출력 신호 쌍(DOUT_t와 DOUT_c)을 전송하는 한 쌍의 라인을 포함할 수 있다.The
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)의 값을 설정할 수도 있다. 즉, 상기 데이터 전송률의 값은 기준 클럭의 주파수 값에 의존하여 결정될 수 있다.The frequency value of the reference clock provided from the
UFS 인터페이스(1300)는 복수의 레인들(multiple lanes)을 지원할 수 있으며, 각 레인은 차동(differential) 쌍으로 구현될 수 있다. 예컨대, UFS 인터페이스는 하나 이상의 수신 레인(receive lane)과 하나 이상의 송신 레인(transmit lane)을 포함할 수 있다. 도 13에서, 차동 입력 신호 쌍(DIN_T와 DIN_C)을 전송하는 한 쌍의 라인은 수신 레인을, 차동 출력 신호 쌍(DOUT_T와 DOUT_C)을 전송하는 한 쌍의 라인은 송신 레인을 각각 구성할 수 있다. 도 13에서는 하나의 송신 레인과 하나의 수신 레인을 도시하였지만, 송신 레인과 수신 레인의 수는 변경될 수 있다.The
수신 레인 및 송신 레인은 직렬 통신(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) 간에는 한 쌍의 수신 레인과 한 쌍의 송신 레인 외에 데이터 전송을 위한 별도의 레인이 더 구비될 필요가 없다.The reception lane and the transmission lane may transmit data in a serial communication method, and a full-duplex between the
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로 설정될 수 있다.The
UFS 호스트(1100)로부터의 명령이 UIC 레이어(1250)를 통해 UFS 장치(1200)로 입력되면, UFS 장치 컨트롤러(1210)는 입력된 명령에 따른 동작을 수행하고, 상기 동작이 완료되면 완료 응답을 UFS 호스트(1100)로 전송할 수 있다. When a command from the
일례로서, UFS 호스트(1100)가 UFS 장치(1200)에 사용자 데이터를 저장하고자 할 경우, UFS 호스트(1100)는 데이터 저장 명령을 UFS 장치(1200)로 전송할 수 있다. 사용자 데이터를 전송받을 준비가 되었다(ready-to-transfer)는 응답을 UFS 장치(1200)로부터 수신하면, UFS 호스트(1100)는 사용자 데이터를 UFS 장치(1200)로 전송할 수 있다. UFS 장치 컨트롤러(1210)는 전송받은 사용자 데이터를 장치 메모리(1240) 내에 임시로 저장하고, FTL의 어드레스 매핑 정보에 기초하여 장치 메모리(1240)에 임시로 저장된 사용자 데이터를 비휘발성 메모리(1220)의 선택된 위치에 저장할 수 있다.As an example, when the
또 다른 예로서, 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)로부터 독출되는 패리티 비트들을 이용하여 독출 데이터의 에러를 정정하고, 에러가 정정된 독출 데이터를 출력할 수 있다.As another example, when the
그리고, UFS 장치 컨트롤러(1210)는 장치 메모리(1240) 내에 임시로 저장된 사용자 데이터를 UFS 호스트(1100)로 전송할 수 있다. 아울러, UFS 장치 컨트롤러(1210)는 AES(advanced encryption standard) 엔진(미도시)을 더 포함할 수 있다. AES 엔진은, UFS 장치 컨트롤러(1210)로 입력되는 데이터에 대한 암호화(encryption) 동작과 복호화(decryption) 동작 중 적어도 하나를, 대칭 키 알고리즘(symmetric-key algorithm)을 이용하여 수행할 수 있다.In addition, the
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) 타입으로 구현될 수 있다.The
복수의 메모리 유닛(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 스트링을 포함할 수 있다.Each of the plurality of
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)는 전술한 전원 전압들 중 서로 다른 것에 각각 연결되는 단위 레귤레이터의 집합으로 구현될 수 있다.VCC, VCCQ, VCCQ2, etc. may be input to the
도 14a 내지 14c는 UFS 카드의 폼 팩터에 대해 설명하기 위한 도면이다. 도 13을 참조하여 설명된 UFS 장치(1200)가 UFS 카드(2000) 형태로 구현된 경우, UFS 카드(2000)의 외형은 도 14a 내지 14c에 도시된 바를 따를 수 있다.14A to 14C are diagrams for explaining a form factor of a UFS card. When the
도 14a는 UFS 카드(2000)의 평면도(top view)를 예시적으로 보여주고 있다. 도 14a를 참조하면, UFS 카드(2000)는 전체적으로 상어(shark) 형상의 디자인을 따르고 있다는 것을 확인할 수 있다. 도 14a와 관련하여, UFS 카드(2000)는 예시적으로 아래의 표 1에 기재된 바와 같은 치수(dimension) 값을 가질 수 있다.14A exemplarily shows a top view of the
도 26b는 UFS 카드(2000)의 측면도(side view)를 예시적으로 보여주고 있다. 도 26b와 관련하여, UFS 카드(2000)는 예시적으로 아래의 표 2에 기재된 바와 같은 치수(dimension) 값을 가질 수 있다. 26B exemplarily shows a side view of the
도 26c는 UFS 카드(2000)의 저면도(bottom view)를 예시적으로 보여주고 있다. 도 26c를 참조하면, UFS 카드(2000)의 저면에는 UFS 슬롯과의 전기적 접촉을 위한 복수 개의 핀(pin)이 형성될 수 있으며, 각 핀의 기능에 대해서는 후술한다. UFS 카드(2000)의 상면과 저면 간의 대칭성에 의거하여, 도 26a 및 표 1을 참조하여 설명된 치수에 관한 정보 중 일부(예컨대, T1 내지 T5 및 T9)는 도 26c에 도시된 바와 같은 UFS 카드(2000)의 저면도에도 적용될 수 있다.UFS 카드(2000)의 저면에는 UFS 호스트와의 전기적 연결을 위해 복수의 핀이형성될 수 있으며, 도 26c에 의하면 핀의 개수는 총 12개일 수 있다. 각 핀은 직사각형 형상을 가질 수 있으며, 핀에 대응되는 신호명(signal name)은 도 26c에 표시된 바와 같다. 각 핀에 대한 개략적인 정보에 대해서는 아래의 표 3을 참조할 수 있다.26C exemplarily shows a bottom view of the
도 15는 본 개시의 일 실시예에 따른 메모리 시스템(3000)을 나타내는 블록도이다.15 is a block diagram illustrating a
도 15를 참조하면, 메모리 시스템(3000)은 메모리 장치(3200) 및 메모리 컨트롤러(3100)를 포함할 수 있다. 메모리 장치(3200)는 복수의 채널들 중 하나를 기반으로 메모리 컨트롤러(3100)와 통신하는 비휘발성 메모리 장치들 중 하나에 대응할 수 있다. 예를 들어, 메모리 장치(3200)는 도 1의 비휘발성 메모리(130)에 대응할 수 있고, 메모리 컨트롤러(3100)는 도 1의 장치 컨트롤러(120)에 대응할 수 있다.Referring to FIG. 15 , a
메모리 장치(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)와 신호들을 송수신할 수 있다. The memory device 3200 may include first to eighth pins P11 to P18 , a memory interface circuit 3210 , a control logic circuit 3220 , and a memory cell array 3230 . The memory interface circuit 3210 may receive the chip enable signal nCE from the memory controller 3100 through the first pin P11 . The memory interface circuit 3210 may transmit/receive signals to and from the memory controller 3100 through the second to eighth pins P12 to P18 according to the chip enable signal nCE. For example, when the chip enable signal nCE is in an enable state (eg, a low level), the
메모리 인터페이스 회로(3210)는 제2 내지 제4 핀들(P12~P14)을 통해 메모리 컨트롤러(3100)로부터 커맨드 래치 인에이블 신호(CLE), 어드레스 래치 인에이블 신호(ALE), 및 쓰기 인에이블 신호(nWE)를 수신할 수 있다. 메모리 인터페이스 회로(3210)는 제7 핀(P17)을 통해 메모리 컨트롤러(3100)로부터 데이터 신호(DQ)를 수신하거나, 메모리 컨트롤러(3100)로 데이터 신호(DQ)를 전송할 수 있다. 데이터 신호(DQ)를 통해 커맨드(CMD), 어드레스(ADDR), 및 데이터(DATA)가 전달될 수 있다. 예를 들어, 데이터 신호(DQ)는 복수의 데이터 신호 라인들을 통해 전달될 수 있다. 이 경우, 제7 핀(P17)은 복수의 데이터 신호들에 대응하는 복수개의 핀들을 포함할 수 있다.The memory interface circuit 3210 receives a command latch enable signal CLE, an address latch enable signal ALE, and a write enable signal from the memory controller 3100 through the second to fourth pins P12 to P14. nWE) can be received. The memory interface circuit 3210 may receive the data signal DQ from the memory controller 3100 through the seventh pin P17 or transmit the data signal DQ to the memory controller 3100 . A command CMD, an address ADDR, and data DATA may be transmitted through the data signal DQ. For example, the data signal DQ may be transmitted through a plurality of data signal lines. In this case, the seventh pin P17 may include a plurality of pins corresponding to a plurality of data signals.
메모리 인터페이스 회로(3210)는 쓰기 인에이블 신호(nWE)의 토글 타이밍들에 기초하여 커맨드 래치 인에이블 신호(CLE)의 인에이블 구간(예를 들어, 하이 레벨 상태)에서 수신되는 데이터 신호(DQ)로부터 커맨드(CMD)를 획득할 수 있다. 메모리 인터페이스 회로(3210)는 쓰기 인에이블 신호(nWE)의 토글 타이밍들에 기초하여 어드레스 래치 인에이블 신호(ALE)의 인에이블 구간(예를 들어, 하이 레벨 상태)에서 수신되는 데이터 신호(DQ)로부터 어드레스(ADDR)를 획득할 수 있다.The memory interface circuit 3210 receives the data signal DQ received in the enable period (eg, high level state) of the command latch enable signal CLE based on the toggle timings of the write enable signal nWE. A command (CMD) can be obtained from The memory interface circuit 3210 receives the data signal DQ received in the enable period (eg, high level state) of the address latch enable signal ALE based on the toggle timings of the write enable signal nWE. The address ADDR can be obtained from
예시적인 실시 예에서, 쓰기 인에이블 신호(nWE)는 고정된(static) 상태(예를 들어, 하이(high) 레벨 또는 로우(low) 레벨)를 유지하다가 하이 레벨과 로우 레벨 사이에서 토글할 수 있다. 예를 들어, 쓰기 인에이블 신호(nWE)는 커맨드(CMD) 또는 어드레스(ADDR)가 전송되는 구간에서 토글할 수 있다. 이에 따라, 메모리 인터페이스 회로(3210)는 쓰기 인에이블 신호(nWE)의 토글 타이밍들에 기초하여 커맨드(CMD) 또는 어드레스(ADDR)를 획득할 수 있다.In an exemplary embodiment, the write enable signal nWE may be toggled between a high level and a low level while maintaining a static state (eg, a high level or a low level). have. For example, the write enable signal nWE may be toggled in a period in which the command CMD or the address ADDR is transmitted. Accordingly, the memory interface circuit 3210 may acquire the command CMD or the address ADDR based on the toggle timings of the write enable signal nWE.
메모리 인터페이스 회로(3210)는 제5 핀(P15)을 통해 메모리 컨트롤러(3100)로부터 읽기 인에이블 신호(nRE)를 수신할 수 있다. 메모리 인터페이스 회로(3210)는 제6 핀(P16)을 통해 메모리 컨트롤러(3100)로부터 데이터 스트로브 신호(DQS)를 수신하거나, 메모리 컨트롤러(3100)로 데이터 스트로브 신호(DQS)를 전송할 수 있다.The memory interface circuit 3210 may receive the read enable signal nRE from the memory controller 3100 through the fifth pin P15 . The memory interface circuit 3210 may receive the data strobe signal DQS from the memory controller 3100 through the sixth pin P16 or transmit the data strobe signal DQS to the memory controller 3100 .
메모리 장치(3200)의 데이터(DATA) 출력 동작에서, 메모리 인터페이스 회로(3210)는 데이터(DATA)를 출력하기 전에 제5 핀(P15)을 통해 토글하는 읽기 인에이블 신호(nRE)를 수신할 수 있다. 메모리 인터페이스 회로(3210)는 읽기 인에이블 신호(nRE)의 토글링에 기초하여 토글하는 데이터 스트로브 신호(DQS)를 생성할 수 있다. 예를 들어, 메모리 인터페이스 회로(3210)는 읽기 인에이블 신호(nRE)의 토글링 시작 시간을 기준으로 미리 정해진 딜레이(예를 들어, tDQSRE) 이후에 토글하기 시작하는 데이터 스트로브 신호(DQS)를 생성할 수 있다. 메모리 인터페이스 회로(310)는 데이터 스트로브 신호(DQS)의 토글 타이밍에 기초하여 데이터(DATA)를 포함하는 데이터 신호(DQ)를 전송할 수 있다. 이에 따라, 데이터(DATA)는 데이터 스트로브 신호(DQS)의 토글 타이밍에 정렬되어 메모리 컨트롤러(3100)로 전송될 수 있다.In the data output operation of the memory device 3200 , the memory interface circuit 3210 may receive the read enable signal nRE toggling through the fifth pin P15 before outputting the data DATA. have. The memory interface circuit 3210 may generate a toggling data strobe signal DQS based on the toggling of the read enable signal nRE. For example, the memory interface circuit 3210 generates a data strobe signal DQS that starts toggling after a predetermined delay (eg, tDQSRE) based on a toggling start time of the read enable signal nRE. can do. The
메모리 장치(3200)의 데이터(DATA) 입력 동작에서, 메모리 컨트롤러(3100)로부터 데이터(DATA)를 포함하는 데이터 신호(DQ)가 수신되는 경우, 메모리 인터페이스 회로(3210)는 메모리 컨트롤러(3100)로부터 데이터(DATA)와 함께 토글하는 데이터 스트로브 신호(DQS)를 수신할 수 있다. 메모리 인터페이스 회로(3210)는 데이터 스트로브 신호(DQS)의 토글 타이밍에 기초하여 데이터 신호(DQ)로부터 데이터(DATA)를 획득할 수 있다. 예를 들어, 메모리 인터페이스 회로(3210)는 데이터 스트로브 신호(DQS)의 상승 에지 및 하강 에지에서 데이터 신호(DQ)를 샘플링함으로써 데이터(DATA)를 획득할 수 있다.In the data input operation of the memory device 3200 , when the data signal DQ including the data DATA is received from the memory controller 3100 , the memory interface circuit 3210 receives the data from the memory controller 3100 . A data strobe signal DQS toggling together with the data DATA may be received. The memory interface circuit 3210 may acquire the data DATA from the data signal DQ based on the toggle timing of the data strobe signal DQS. For example, the memory interface circuit 3210 may acquire the data DATA by sampling the data signal DQ at rising edges and falling edges of the data strobe signal DQS.
메모리 인터페이스 회로(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)로 전송할 수 있다.The memory interface circuit 3210 may transmit the ready/busy output signal nR/B to the memory controller 3100 through the eighth pin P18 . The memory interface circuit 3210 may transmit state information of the memory device 3200 to the memory controller 3100 through the ready/busy output signal nR/B. When the memory device 3200 is in a busy state (that is, when internal operations of the memory device 3200 are being performed), the memory interface circuit 3210 transmits a ready/busy output signal nR/B indicating the busy state to the memory controller It can be transmitted to (3100). When the memory device 3200 is in the ready state (that is, when internal operations of the memory device 3200 are not performed or completed), the memory interface circuit 3210 outputs a ready/busy output signal nR/B indicating the ready state. may be transmitted to the memory controller 3100 . For example, while the memory device 3200 reads data DATA from the memory cell array 3230 in response to a page read command, the memory interface circuit 3210 may be in a busy state (eg, a low level). A ready/busy output signal nR/B indicating nR/B may be transmitted to the memory controller 3100 . For example, while the memory device 3200 programs data DATA into the memory cell array 3230 in response to a program command, the memory interface circuit 3210 provides a ready/busy output signal nR/ B) may be transmitted to the memory controller 3100 .
제어 로직 회로(3220)는 메모리 장치(3200)의 각종 동작을 전반적으로 제어할 수 있다. 제어 로직 회로(3220)는 메모리 인터페이스 회로(3210)로부터 획득된 커맨드/어드레스(CMD/ADDR)를 수신할 수 있다. 제어 로직 회로(3220)는 수신된 커맨드/어드레스(CMD/ADDR)에 따라 메모리 장치(3200)의 다른 구성 요소들을 제어하기 위한 제어 신호들을 생성할 수 있다. 예를 들어, 제어 로직 회로(3220)는 메모리 셀 어레이(3230)에 데이터(DATA)를 프로그램하거나, 또는 메모리 셀 어레이(3230)로부터 데이터(DATA)를 독출하기 위한 각종 제어 신호들을 생성할 수 있다.The control logic circuit 3220 may generally control various operations of the memory device 3200 . The control logic circuit 3220 may receive the command/address CMD/ADDR obtained from the memory interface circuit 3210 . The control logic circuit 3220 may generate control signals for controlling other components of the memory device 3200 according to the received command/address CMD/ADDR. For example, the control logic circuit 3220 may generate various control signals for programming data DATA in the memory cell array 3230 or reading data DATA from the memory cell array 3230 . .
메모리 셀 어레이(3230)는 제어 로직 회로(3220)의 제어에 따라 메모리 인터페이스 회로(3210)로부터 획득된 데이터(DATA)를 저장할 수 있다. 메모리 셀 어레이(3230)는 제어 로직 회로(3220)의 제어에 따라 저장된 데이터(DATA)를 메모리 인터페이스 회로(3210)로 출력할 수 있다.The memory cell array 3230 may store data DATA obtained from the memory interface circuit 3210 under the control of the control logic circuit 3220 . The memory cell array 3230 may output the stored data DATA to the memory interface circuit 3210 under the control of the control logic circuit 3220 .
메모리 셀 어레이(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) 플래시 메모리 셀들인 실시 예를 중심으로 본 발명의 실시 예들이 설명될 것이다.The memory cell array 3230 may include a plurality of memory cells. For example, the plurality of memory cells may be flash memory cells. However, the present invention is not limited thereto, and the memory cells include a resistive random access memory (RRAM) cell, a ferroelectric random access memory (FRAM) cell, a phase change random access memory (PRAM) cell, a thyristor random access memory (TRAM) cell, They may be Magnetic Random Access Memory (MRAM) cells. Hereinafter, embodiments of the present invention will be described focusing on an embodiment in which the memory cells are NAND flash memory cells.
메모리 컨트롤러(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)을 통해 신호들을 송수신할 수 있다.The memory controller 3100 may include first to eighth pins P21 to P28 and a controller interface circuit 3110 . The first to eighth pins P21 to P28 may correspond to the first to eighth pins P11 to P18 of the memory device 3200 . The controller interface circuit 3110 may transmit the chip enable signal nCE to the memory device 3200 through the first pin P21 . The controller interface circuit 3110 may transmit/receive signals to and from the memory device 3200 selected through the chip enable signal nCE and the second to eighth pins P22 to P28.
컨트롤러 인터페이스 회로(3110)는 제2 내지 제4 핀들(P22~P24)을 통해 커맨드 래치 인에이블 신호(CLE), 어드레스 래치 인에이블 신호(ALE), 및 쓰기 인에이블 신호(nWE)를 메모리 장치(3200)로 전송할 수 있다. 컨트롤러 인터페이스 회로(3110)는 제7 핀(P27)을 통해 메모리 장치(3200)로 데이터 신호(DQ)를 전송하거나, 메모리 장치(3200)로부터 데이터 신호(DQ)를 수신할 수 있다.The controller interface circuit 3110 transmits the command latch enable signal CLE, the address latch enable signal ALE, and the write enable signal nWE to the memory device through the second to fourth pins P22 to P24. 3200) can be transmitted. The controller interface circuit 3110 may transmit the data signal DQ to the memory device 3200 or receive the data signal DQ from the memory device 3200 through the seventh pin P27 .
컨트롤러 인터페이스 회로(3110)는 토글하는 쓰기 인에이블 신호(nWE)와 함께 커맨드(CMD) 또는 어드레스(ADDR)를 포함하는 데이터 신호(DQ)를 메모리 장치(3200)로 전송할 수 있다. 컨트롤러 인터페이스 회로(3110)는 인에이블 상태를 가지는 커맨드 래치 인에이블 신호(CLE)를 전송함에 따라 커맨드(CMD)를 포함하는 데이터 신호(DQ)를 메모리 장치(3200)로 전송하고, 인에이블 상태를 가지는 어드레스 래치 인에이블 신호(ALE)를 전송함에 따라 어드레스(ADDR)를 포함하는 데이터 신호(DQ)를 메모리 장치(3200)로 전송할 수 있다.The controller interface circuit 3110 may transmit the data signal DQ including the command CMD or the address ADDR together with the toggling write enable signal nWE to the memory device 3200 . The controller interface circuit 3110 transmits the data signal DQ including the command CMD to the memory device 3200 as the command latch enable signal CLE having an enable state is transmitted, and sets the enable state to the memory device 3200 . As the branch transmits the address latch enable signal ALE, the data signal DQ including the address ADDR may be transmitted to the memory device 3200 .
컨트롤러 인터페이스 회로(3110)는 제5 핀(P25)을 통해 메모리 장치(3200)로 읽기 인에이블 신호(nRE)를 전송할 수 있다. 컨트롤러 인터페이스 회로(3110)는 제6 핀(P26)을 통해 메모리 장치(3200)로부터 데이터 스트로브 신호(DQS)를 수신하거나, 메모리 장치(3200)로 데이터 스트로브 신호(DQS)를 전송할 수 있다.The controller interface circuit 3110 may transmit the read enable signal nRE to the memory device 3200 through the fifth pin P25 . The controller interface circuit 3110 may receive the data strobe signal DQS from the memory device 3200 through the sixth pin P26 or transmit the data strobe signal DQS to the memory device 3200 .
메모리 장치(3200)의 데이터(DATA) 출력 동작에서, 컨트롤러 인터페이스 회로(3110)는 토글하는 읽기 인에이블 신호(nRE)를 생성하고, 읽기 인에이블 신호(nRE)를 메모리 장치(3200)로 전송할 수 있다. 예를 들어, 컨트롤러 인터페이스 회로(3110)는 데이터(DATA)가 출력되기 전에 고정된 상태(예를 들어, 하이 레벨 또는 로우 레벨)에서 토글 상태로 변경되는 읽기 인에이블 신호(nRE)를 생성할 수 있다. 이에 따라, 메모리 장치(3200)에서 읽기 인에이블 신호(nRE)에 기초하여 토글하는 데이터 스트로브 신호(DQS)가 생성될 수 있다. 컨트롤러 인터페이스 회로(3110)는 메모리 장치(3200)로부터 토글하는 데이터 스트로브 신호(DQS)와 함께 데이터(DATA)를 포함하는 데이터 신호(DQ)를 수신할 수 있다. 컨트롤러 인터페이스 회로(3110)는 데이터 스트로브 신호(DQS)의 토글 타이밍에 기초하여 데이터 신호(DQ)로부터 데이터(DATA)를 획득할 수 있다.In the data output operation of the memory device 3200 , the controller interface circuit 3110 may generate a toggle read enable signal nRE and transmit the read enable signal nRE to the memory device 3200 . have. For example, the controller interface circuit 3110 may generate a read enable signal nRE that is changed from a fixed state (eg, a high level or a low level) to a toggle state before the data DATA is output. have. Accordingly, the data strobe signal DQS toggling based on the read enable signal nRE in the memory device 3200 may be generated. The controller interface circuit 3110 may receive the data signal DQ including the data DATA together with the toggling data strobe signal DQS from the memory device 3200 . The controller interface circuit 3110 may acquire the data DATA from the data signal DQ based on the toggle timing of the data strobe signal DQS.
메모리 장치(3200)의 데이터(DATA) 입력 동작에서, 컨트롤러 인터페이스 회로(3110)는 토글하는 데이터 스트로브 신호(DQS)를 생성할 수 있다. 예를 들어, 컨트롤러 인터페이스 회로(3110)는 데이터(DATA)를 전송하기 전에 고정된 상태(예를 들어, 하이 레벨 또는 로우 레벨)에서 토글 상태로 변경되는 데이터 스트로브 신호(DQS)를 생성할 수 있다. 컨트롤러 인터페이스 회로(3110)는 데이터 스트로브 신호(DQS)의 토글 타이밍들에 기초하여 데이터(DATA)를 포함하는 데이터 신호(DQ)를 메모리 장치(3200)로 전송할 수 있다.In a data input operation of the memory device 3200 , the controller interface circuit 3110 may generate a toggle data strobe signal DQS. For example, the controller interface circuit 3110 may generate a data strobe signal DQS that is changed from a fixed state (eg, a high level or a low level) to a toggle state before transmitting the data DATA. . The controller interface circuit 3110 may transmit the data signal DQ including the data DATA to the memory device 3200 based on the toggle timings of the data strobe signal DQS.
컨트롤러 인터페이스 회로(3110)는 제8 핀(P28)을 통해 메모리 장치(3200)로부터 레디/비지 출력 신호(nR/B)를 수신할 수 있다. 컨트롤러 인터페이스 회로(3110)는 레디/비지 출력 신호(nR/B)에 기초하여 메모리 장치(3200)의 상태 정보를 판별할 수 있다.The controller interface circuit 3110 may receive the ready/busy output signal nR/B from the memory device 3200 through the eighth pin P28 . The controller interface circuit 3110 may determine state information of the memory device 3200 based on the ready/busy output signal nR/B.
도 16은 본 발명의 일 실시예에 따른 UFS 장치에 적용될 수 있는 3D VNAND 구조에 대해 설명하기 위한 도면이다. UFS 장치의 스토리지 모듈이 3D VNAND(Vertical NAND) 타입의 플래시 메모리로 구현될 경우, 스토리지 모듈을 구성하는 복수의 메모리 블록 각각은 도 16에 도시된 바와 같은 등가 회로로 표현될 수 있다. 도 16에 도시된 메모리 블록(BLKi)은 기판 상에 삼차원 구조로 형성되는 삼차원 메모리 블록을 나타낸다. 예를 들어, 메모리 블록(BLKi)에 포함되는 복수의 메모리 낸드 스트링들은 상기 기판과 수직한 방향으로 형성될 수 있다.16 is a diagram for explaining a 3D VNAND structure applicable to a UFS device according to an embodiment of the present invention. When the storage module of the UFS device is implemented as a 3D VNAND (Vertical NAND) type flash memory, each of a plurality of memory blocks constituting the storage module may be represented by an equivalent circuit as shown in FIG. 16 . The memory block BLKi illustrated in FIG. 16 represents a three-dimensional memory block formed on a substrate in a three-dimensional structure. For example, a plurality of memory NAND strings included in the memory block BLKi may be formed in a direction perpendicular to the substrate.
도 16을 참조하면, 메모리 블록(BLKi)은 비트 라인들(BL1, BL2, BL3)과 공통 소스 라인(CSL) 사이에 연결되는 복수의 메모리 낸드 스트링들(NS11~NS33)을 포함할 수 있다. 복수의 메모리 낸드 스트링들(NS11~NS33) 각각은 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1, MC2, ..., MC8) 및 접지 선택 트랜지스터(GST)를 포함할 수 있다. 도 28에는 복수의 메모리 낸드 스트링들(NS11~NS33) 각각이 8개의 메모리 셀들(MC1, MC2, ..., MC8)을 포함하는 것으로 도시되어 있으나, 반드시 이에 한정되는 것은 아니다.Referring to FIG. 16 , the memory block BLKi may include a plurality of memory NAND strings NS11 to NS33 connected between the bit lines BL1 , BL2 , and BL3 and the common source line CSL. Each of the plurality of memory NAND strings NS11 to NS33 may include a string select transistor SST, a plurality of memory cells MC1 , MC2 , ..., MC8 , and a ground select transistor GST. 28 , each of the plurality of memory NAND strings NS11 to NS33 includes eight memory cells MC1 , MC2 , ..., MC8 , but is not limited thereto.
스트링 선택 트랜지스터(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)에 연결될 수 있다. The string select transistor SST may be connected to the corresponding string select lines SSL1 , SSL2 , and SSL3 . The plurality of memory cells MC1 , MC2 , ..., MC8 may be respectively connected to corresponding gate lines GTL1 , GTL2 , ..., GTL8 . The gate lines GTL1, GTL2, ..., GTL8 may correspond to word lines, and some of the gate lines GTL1, GTL2, ..., GTL8 may correspond to dummy word lines. The ground select transistor GST may be connected to the corresponding ground select lines GSL1 , GSL2 , and GSL3 . The string select transistor SST may be connected to the corresponding bit lines BL1 , BL2 , and BL3 , and the ground select transistor GST may be connected to the common source line CSL.
동일 높이의 워드 라인(예를 들면, WL1)은 공통으로 연결되고, 접지 선택 라인(GSL1, GSL2, GSL3) 및 스트링 선택 라인(SSL1, SSL2, SSL3)은 각각 분리될 수 있다. 도 28에는 메모리 블록(BLK)이 여덟 개의 게이트 라인(GTL1, GTL2, ..., GTL8) 및 세 개의 비트 라인들(BL1, BL2, BL3)에 연결되는 것으로 도시되어 있으나, 반드시 이에 한정되는 것은 아니다.Word lines of the same height (eg, WL1 ) may be commonly connected, and the ground selection lines GSL1 , GSL2 , and GSL3 and the string selection lines SSL1 , SSL2 , and SSL3 may be separated from each other. 28 shows that the memory block BLK is connected to eight gate lines GTL1, GTL2, ..., GTL8 and three bit lines BL1, BL2, BL3, but is not necessarily limited thereto. not.
도 17은 본 발명의 일 실시예에 따른 UFS 장치에 적용될 수 있는 B-VNAND 구조에 대해 설명하기 위한 도면이다. UFS 장치에 포함되는 비휘발성 메모리가 B-VNAND(Bonding Vertical NAND) 타입의 플래시 메모리로 구현될 경우, 비휘발성 메모리는 도 17에 도시된 구조를 가질 수 있다.17 is a diagram for explaining a B-VNAND structure applicable to a UFS device according to an embodiment of the present invention. When the nonvolatile memory included in the UFS device is implemented as a B-VNAND (Bonding Vertical NAND) type flash memory, the nonvolatile memory may have the structure shown in FIG. 17 .
도 17을 참조하면, 메모리 장치(4000)는 C2C(chip to chip) 구조일 수 있다. C2C 구조는 제1 웨이퍼 상에 셀 영역(CELL)을 포함하는 상부 칩을 제작하고, 제1 웨이퍼와 다른 제2 웨이퍼 상에 주변 회로 영역(PERI)을 포함하는 하부 칩을 제작한 후, 상기 상부 칩과 상기 하부 칩을 본딩(bonding) 방식에 의해 서로 연결하는 것을 의미할 수 있다. 일례로, 상기 본딩 방식은 상부 칩의 최상부 메탈층에 형성된 본딩 메탈과 하부 칩의 최상부 메탈층에 형성된 본딩 메탈을 서로 전기적으로 연결하는 방식을 의미할 수 있다. 예컨대, 상기 본딩 메탈이 구리(Cu)로 형성된 경우, 상기 본딩 방식은 Cu-Cu 본딩 방식일 수 있으며, 상기 본딩 메탈은 알루미늄 혹은 텅스텐으로도 형성될 수 있다.Referring to FIG. 17 , the
메모리 장치(4000)의 주변 회로 영역(PERI)과 셀 영역(CELL) 각각은 외부 패드 본딩 영역(PA), 워드 라인 본딩 영역(WLBA), 및 비트 라인 본딩 영역(BLBA)을 포함할 수 있다.Each of the peripheral circuit area PERI and the cell area CELL of the
주변 회로 영역(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)은 상대적으로 저항이 낮은 구리로 형성될 수 있다.The peripheral circuit region PERI includes a first substrate 4110 , an interlayer insulating layer 4115 , a plurality of circuit elements 4120a , 4120b , and 4120c formed on the first substrate 4110 , and a plurality of circuit elements 4120a . , 4120b, 4120c) The first metal layer (4130a, 4130b, 4130c) connected to each, the second metal layer (4140a, 4140b, 4140c) formed on the first metal layer (4130a, 4130b, 4130c) to include can In one embodiment, the first metal layers 4130a, 4130b, and 4130c may be formed of tungsten having a relatively high resistance, and the second metal layers 4140a, 4140b, or 4140c may be formed of copper having a relatively low resistance. can
본 명세서에서는 제1 메탈층(4130a, 4130b, 4130c)과 제2 메탈층(4140a, 4140b, 4140c)만 도시 되고 설명되나, 이에 한정되는 것은 아니고, 제2 메탈층(4140a, 4140b, 4140c) 상에 적어도 하나 이상의 메탈층이 더 형성될 수도 있다. 제2 메탈층(4140a, 4140b, 4140c)의 상부에 형성되는 하나 이상의 메탈층 중 적어도 일부는, 제2 메탈층(4140a, 4140b, 4140c)을 형성하는 구리보다 더 낮은 저항을 갖는 알루미늄 등으로 형성될 수 있다. In the present specification, only the first metal layers 4130a, 4130b, 4130c and the second metal layers 4140a, 4140b, and 4140c are shown and described, but not limited thereto, and the second metal layers 4140a, 4140b, 4140c At least one or more metal layers may be further formed. At least some of the one or more metal layers formed on the second metal layers 4140a, 4140b, and 4140c are formed of aluminum having a lower resistance than copper forming the second metal layers 4140a, 4140b, and 4140c. can be
층간 절연층(4115)은 복수의 회로 소자들(4120a, 4120b, 4120c), 제1 메탈층(4130a, 4130b, 4130c), 및 제2 메탈층(4140a, 4140b, 4140c)을 커버하도록 제1 기판(4110) 상에 배치되며, 실리콘 산화물, 실리콘 질화물 등과 같은 절연 물질을 포함할 수 있다.The interlayer insulating layer 4115 is a first substrate to cover the plurality of circuit elements 4120a, 4120b, and 4120c, the first metal layers 4130a, 4130b, and 4130c, and the second metal layers 4140a, 4140b, and 4140c. It is disposed on the 4110 and may include an insulating material such as silicon oxide, silicon nitride, or the like.
워드 라인 본딩 영역(WLBA)의 제2 메탈층(4140b) 상에 하부 본딩 메탈(4171b, 4172b)이 형성될 수 있다. 워드 라인 본딩 영역(WLBA)에서, 주변 회로 영역(PERI)의 하부 본딩 메탈(4171b, 4172b)은 셀 영역(CELL)의 상부 본딩 메탈(4271b, 4272b)과 본딩 방식에 의해 서로 전기적으로 연결될 수 있으며, 하부 본딩 메탈(4171b, 4172b)과 상부 본딩 메탈(4271b, 4272b)은 알루미늄, 구리, 혹은 텅스텐 등으로 형성될 수 있다. Lower bonding metals 4171b and 4172b may be formed on the second metal layer 4140b of the word line bonding area WLBA. In the word line bonding area WLBA, the lower bonding metals 4171b and 4172b of the peripheral circuit area PERI may be electrically connected to the
셀 영역(CELL)은 적어도 하나의 메모리 블록을 제공할 수 있다. 셀 영역(CELL)은 제2 기판(4210)과 공통 소스 라인(4220)을 포함할 수 있다. 제2 기판(4210) 상에는, 제2 기판(4210)의 상면에 수직하는 방향(Z축 방향)을 따라 복수의 워드 라인들(4231-4238; 4230)이 적층될 수 있다. 워드 라인들(4230)의 상부 및 하부 각각에는 스트링 선택 라인들과 접지 선택 라인이 배치될 수 있으며, 스트링 선택 라인들과 접지 선택 라인 사이에 복수의 워드 라인들(4230)이 배치될 수 있다.The cell region CELL may provide at least one memory block. The cell region CELL may include a
비트 라인 본딩 영역(BLBA)에서, 채널 구조체(CH)는 제2 기판(4210)의 상면에 수직하는 방향으로 연장되어 워드 라인들(4230), 스트링 선택 라인들, 및 접지 선택 라인을 관통할 수 있다. 채널 구조체(CH)는 데이터 저장층, 채널층, 및 매립 절연층 등을 포함할 수 있으며, 채널층은 제1 메탈층(4250c) 및 제2 메탈층(4260c)과 전기적으로 연결될 수 있다. 예컨대, 제1 메탈층(4250c)은 비트 라인 컨택일 수 있고, 제2 메탈층(4260c)은 비트 라인일 수 있다. 일 실시예에서, 비트 라인(4260c)은 제2 기판(4210)의 상면에 평행한 제1 방향(Y축 방향)을 따라 연장될 수 있다. In the bit line bonding area BLBA, the channel structure CH may extend in a direction perpendicular to the top surface of the
도 17에 도시한 일 실시예에서, 채널 구조체(CH)와 비트 라인(4260c) 등이 배치되는 영역이 비트 라인 본딩 영역(BLBA)으로 정의될 수 있다. 비트 라인(4260c)은 비트 라인 본딩 영역(BLBA)에서 주변 회로 영역(PERI)에서 페이지 버퍼(4293)를 제공하는 회로 소자들(4120c)과 전기적으로 연결될 수 있다. 일례로, 비트 라인(4260c)은 주변 회로 영역(PERI)에서 상부 본딩 메탈(4271c, 4272c)과 연결되며, 상부 본딩 메탈(4271c, 4272c)은 페이지 버퍼(4293)의 회로 소자들(4120c)에 연결되는 하부 본딩 메탈(4171c, 4172c)과 연결될 수 있다.In the exemplary embodiment illustrated in FIG. 17 , a region in which the channel structure CH and the bit line 4260c are disposed may be defined as the bit line bonding area BLBA. The bit line 4260c may be electrically connected to the circuit elements 4120c providing the page buffer 4293 in the peripheral circuit area PERI in the bit line bonding area BLBA. For example, the bit line 4260c is connected to the
워드 라인 본딩 영역(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)과 연결될 수 있다. In the word line bonding area WLBA, the word lines 4230 may extend in a second direction (X-axis direction) parallel to the top surface of the
셀 컨택 플러그들(4240)은 주변 회로 영역(PERI)에서 로우 디코더(4294)를 제공하는 회로 소자들(4120b)과 전기적으로 연결될 수 있다. 일 실시예에서, 로우 디코더(4294)를 제공하는 회로 소자들(4120b)의 동작 전압은, 페이지 버퍼(4293)를 제공하는 회로 소자들(4120c)의 동작 전압과 다를 수 있다. 일례로, 페이지 버퍼(4293)를 제공하는 회로 소자들(4120c)의 동작 전압이 로우 디코더(4294)를 제공하는 회로 소자들(4120b)의 동작 전압보다 클 수 있다.The cell contact plugs 4240 may be electrically connected to the circuit elements 4120b providing the row decoder 4294 in the peripheral circuit region PERI. In an embodiment, the operating voltages of the circuit elements 4120b providing the row decoder 4294 may be different from the operating voltages of the circuit elements 4120c providing the page buffer 4293 . For example, the operating voltages of the circuit elements 4120c providing the page buffer 4293 may be greater than the operating voltages of the circuit elements 4120b providing the row decoder 4294 .
외부 패드 본딩 영역(PA)에는 공통 소스 라인 컨택 플러그(4280)가 배치될 수 있다. 공통 소스 라인 컨택 플러그(4280)는 금속, 금속 화합물, 또는 폴리실리콘 등의 도전성 물질로 형성되며, 공통 소스 라인(4220)과 전기적으로 연결될 수 있다. 공통 소스 라인 컨택 플러그(4280) 상부에는 제1 메탈층(4250a)과 제2 메탈층(4260a)이 차례로 적층될 수 있다. 일례로, 공통 소스 라인 컨택 플러그(4280), 제1 메탈층(4250a), 및 제2 메탈층(4260a)이 배치되는 영역은 외부 패드 본딩 영역(PA)으로 정의될 수 있다.A common source line contact plug 4280 may be disposed in the external pad bonding area PA. The common source line contact plug 4280 may be formed of a metal, a metal compound, or a conductive material such as polysilicon, and may be electrically connected to the common source line 4220 . A first metal layer 4250a and a second metal layer 4260a may be sequentially stacked on the common source line contact plug 4280 . For example, an area in which the common source line contact plug 4280 , the first metal layer 4250a , and the second metal layer 4260a are disposed may be defined as the external pad bonding area PA.
한편 외부 패드 본딩 영역(PA)에는 입출력 패드들(4105, 4205)이 배치될 수 있다. 도 17을 참조하면, 제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)을 전기적으로 분리할 수 있다.Meanwhile, input/
도 17을 참조하면, 제2 기판(4210)의 상부에는 제2 기판(4210)의 상면을 덮는 상부 절연막(4201)이 형성될 수 있으며, 상부 절연막(4201) 상에 제2 입출력 패드(4205)가 배치될 수 있다. 제2 입출력 패드(4205)는 제2 입출력 컨택 플러그(4203)를 통해 주변 회로 영역(PERI)에 배치되는 복수의 회로 소자들(4120a, 4120b, 4120c) 중 적어도 하나와 연결될 수 있다. Referring to FIG. 17 , an upper insulating
실시예들에 따라, 제2 입출력 컨택 플러그(4203)가 배치되는 영역에는 제2 기판(4210) 및 공통 소스 라인(4220) 등이 배치되지 않을 수 있다. 또한, 제2 입출력 패드(4205)는 제3 방향(Z축 방향)에서 워드 라인들(4230)과 오버랩되지 않을 수 있다. 도 17을 참조하면, 제2 입출력 컨택 플러그(4203)는 제2 기판(4210)의 상면에 평행한 방향에서 제2 기판(4210)과 분리되며, 셀 영역(CELL)의 층간 절연층(4215)을 관통하여 제2 입출력 패드(4205)에 연결될 수 있다. In some embodiments, the
실시예들에 따라, 제1 입출력 패드(4105)와 제2 입출력 패드(4205)는 선택적으로 형성될 수 있다. 일례로, 메모리 장치(4000)는 제1 기판(4110)의 상부에 배치되는 제1 입출력 패드(4105)만을 포함하거나, 또는 제2 기판(4210)의 상부에 배치되는 제2 입출력 패드(4205)만을 포함할 수 있다. 또는, 메모리 장치(4000)가 제1 입출력 패드(4105)와 제2 입출력 패드(4205)를 모두 포함할 수도 있다.In some embodiments, the first input/output pad 4105 and the second input/
셀 영역(CELL)과 주변 회로 영역(PERI) 각각에 포함되는 외부 패드 본딩 영역(PA)과 비트 라인 본딩 영역(BLBA) 각각에는 최상부 메탈층의 메탈 패턴이 더미 패턴(dummy pattern)으로 존재하거나, 최상부 메탈층이 비어있을 수 있다.In each of the external pad bonding area PA and the bit line bonding area BLBA included in each of the cell area CELL and the peripheral circuit area PERI, the metal pattern of the uppermost metal layer exists as a dummy pattern, or The uppermost metal layer may be empty.
메모리 장치(4000)는 외부 패드 본딩 영역(PA)에서, 셀 영역(CELL)의 최상부 메탈층에 형성된 상부 메탈 패턴(4272a)에 대응하여 주변 회로 영역(PERI)의 최상부 메탈층에 셀 영역(CELL)의 상부 메탈 패턴(4272a)과 동일한 형태의 하부 메탈 패턴(4176a)을 형성할 수 있다. 주변 회로 영역(PERI)의 최상부 메탈층에 형성된 하부 메탈 패턴(4176a)은 주변 회로 영역(PERI)에서 별도의 컨택과 연결되지 않을 수 있다. 이와 유사하게, 외부 패드 본딩 영역(PA)에서 주변 회로 영역(PERI)의 최상부 메탈층에 형성된 하부 메탈 패턴에 대응하여 셀 영역(CELL)의 상부 메탈층에 주변 회로 영역(PERI)의 하부 메탈 패턴과 동일한 형태의 상부 메탈 패턴을 형성할 수도 있다. In the external pad bonding area PA, the
워드 라인 본딩 영역(WLBA)의 제2 메탈층(4140b) 상에는 하부 본딩 메탈(4171b, 4172b)이 형성될 수 있다. 워드 라인 본딩 영역(WLBA)에서, 주변 회로 영역(PERI)의 하부 본딩 메탈(4171b, 4172b)은 셀 영역(CELL)의 상부 본딩 메탈(4271b, 4272b)과 본딩 방식에 의해 서로 전기적으로 연결될 수 있다. Lower bonding metals 4171b and 4172b may be formed on the second metal layer 4140b of the word line bonding area WLBA. In the word line bonding area WLBA, the lower bonding metals 4171b and 4172b of the peripheral circuit area PERI may be electrically connected to the
또한, 비트 라인 본딩 영역(BLBA)에서, 주변 회로 영역(PERI)의 최상부 메탈층에 형성된 하부 메탈 패턴(4152)에 대응하여 셀 영역(CELL)의 최상부 메탈층에 주변 회로 영역(PERI)의 하부 메탈 패턴(4152)과 동일한 형태의 상부 메탈 패턴(4292)을 형성할 수 있다. 셀 영역(CELL)의 최상부 메탈층에 형성된 상부 메탈 패턴(4292) 상에는 컨택을 형성하지 않을 수 있다.In addition, in the bit line bonding area BLBA, the lower part of the peripheral circuit area PERI is formed on the uppermost metal layer of the cell area CELL corresponding to the lower metal pattern 4152 formed on the uppermost metal layer of the peripheral circuit area PERI. An upper metal pattern 4292 having the same shape as the metal pattern 4152 may be formed. A contact may not be formed on the upper metal pattern 4292 formed on the uppermost metal layer of the cell region CELL.
이상에서와 같이 도면과 명세서에서 예시적인 실시 예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시 예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.Exemplary embodiments have been disclosed in the drawings and specification as described above. Although embodiments have been described using specific terms in the present specification, these are only used for the purpose of explaining the technical idea of the present disclosure and not used to limit the meaning or the scope of the present disclosure described in the claims . Therefore, it will be understood by those of ordinary skill in the art that various modifications and equivalent other embodiments are possible therefrom. Accordingly, the true technical protection scope of the present disclosure should be defined by the technical spirit of the appended claims.
Claims (10)
상기 변경 요청에 대한 응답을 포함하는 제2 비트 시퀀스를 출력 신호 핀을 통해 상기 제1 데이터 전송률에 따라 상기 호스트에 전송하는 단계; 및
상기 제2 비트 시퀀스의 종료를 나타내는 종료 비트의 출력 여부에 따라 데이터 전송률을 제2 데이터 전송률로 변경하는 단계를 포함하는 스토리지 장치의 동작 방법.receiving a first bit sequence including a request for changing the data rate from the host according to the first data rate through an input signal pin;
transmitting a second bit sequence including a response to the change request to the host according to the first data rate through an output signal pin; and
and changing a data rate to a second data rate according to whether an end bit indicating an end of the second bit sequence is output.
상기 데이터 전송률을 상기 제2 데이터 전송률로 변경하는 단계는,
상기 호스트에 데이터를 전송하지 않는 시구간 동안 수행되는 것을 특징으로 하는 스토리지 장치의 동작 방법.According to claim 1,
Changing the data rate to the second data rate comprises:
The method of operating a storage device, characterized in that it is performed during a time period during which data is not transmitted to the host.
상기 데이터 전송률을 상기 제2 데이터 전송률로 변경하는 단계는,
상기 데이터 전송률이 상기 제2 데이터 전송률로 변경되도록, 상기 호스트로부터 클럭 신호 핀을 통해 수신되는 기준 클럭 신호를 기초로 데이터에 동기화되는 내부 클럭 신호의 주파수를 변경하는 단계를 포함하는 것을 특징으로 하는 스토리지 장치의 동작 방법.According to claim 1,
Changing the data rate to the second data rate comprises:
and changing the frequency of an internal clock signal synchronized with data based on a reference clock signal received from the host through a clock signal pin so that the data rate is changed to the second data rate. How the device works.
상기 호스트로부터 라인 리셋 신호를 리셋 신호 핀을 통해 수신하는 단계; 및
상기 라인 리셋 신호의 수신에 응답하여, 상기 데이터 전송률을 제3 데이터 전송률로 변경하는 단계를 더 포함하는 스토리지 장치의 동작 방법.According to claim 1,
receiving a line reset signal from the host through a reset signal pin; and
and changing the data rate to a third data rate in response to receiving the line reset signal.
상기 제3 데이터 전송률은,
상기 제1 데이터 전송률이거나, 미리 결정된 디폴트 데이터 전송률인 것을 특징으로 하는 스토리지 장치의 동작 방법.5. The method of claim 4,
The third data rate is,
The operating method of the storage device, characterized in that the first data transfer rate or a predetermined default data transfer rate.
상기 호스트가, 상기 스토리지 장치에 데이터 전송률의 변경 요청을 포함하는 제1 비트 시퀀스를 제1 데이터 전송률에 따라 전송하는 단계;
상기 스토리지 장치가, 상기 호스트에 상기 변경 요청에 대응하는 응답을 포함하는 제2 비트 시퀀스를 상기 제1 데이터 전송률에 따라 전송하는 단계; 및
상기 제2 비트 시퀀스의 종료를 나타내는 종료 비트를 기초로, 상기 호스트 및 상기 스토리지 장치가 데이터 전송률을 변경하는 단계를 포함하는 스토리지 시스템의 동작 방법.A method of operating a storage system including a host and a storage device, the method comprising:
transmitting, by the host, a first bit sequence including a data transfer rate change request to the storage device according to a first data transfer rate;
transmitting, by the storage device, a second bit sequence including a response corresponding to the change request to the host according to the first data rate; and
and changing, by the host and the storage device, a data transfer rate based on an end bit indicating an end of the second bit sequence.
상기 호스트 및 상기 스토리지 장치가 데이터 전송률을 변경하는 단계는,
상기 스토리지 장치가, 상기 종료 비트를 출력하였는지 여부를 기초로 데이터 전송률을 제2 데이터 전송률로 변경하는 단계; 및
상기 호스트가, 상기 종료 비트를 수신하였는지 여부를 기초로 데이터 전송률을 상기 제2 데이터 전송률로 변경하는 단계를 포함하는 것을 특징으로 하는 스토리지 시스템의 동작 방법.7. The method of claim 6,
The step of changing the data transfer rate by the host and the storage device includes:
changing, by the storage device, a data transfer rate to a second data transfer rate based on whether the end bit is output; and
and changing, by the host, the data rate to the second data rate based on whether the end bit is received.
상기 호스트 및 상기 스토리지 장치가 데이터 전송률을 변경하는 단계는,
상기 호스트 및 상기 스토리지 장치가 데이터를 송/수신하지 않는 시구간 동안 수행되는 것을 특징으로 하는 스토리지 시스템의 동작 방법.7. The method of claim 6,
The step of changing the data transfer rate by the host and the storage device includes:
The method of operating a storage system, characterized in that the operation is performed during a time period in which the host and the storage device do not transmit/receive data.
상기 호스트가, 상기 변경 요청에 대응하는 응답을 수신하였는지 여부를 기초로 리셋 신호 핀을 통해 라인 리셋 신호를 출력하는 단계; 및
상기 스토리지 장치가, 상기 라인 리셋 신호에 응답하여 데이터 전송률을 제3 데이터 전송률로 변경하는 단계를 더 포함하는 것을 특징으로 하는 스토리지 시스템의 동작 방법.7. The method of claim 6,
outputting, by the host, a line reset signal through a reset signal pin based on whether a response corresponding to the change request has been received; and
and changing, by the storage device, a data rate to a third data rate in response to the line reset signal.
상기 비휘발성 메모리를 제어하는 장치 컨트롤러; 및
상기 호스트와 복수의 핀들로 연결되는 인터커넥트부를 포함하고,
상기 인터커넥트부는,
상기 호스트로부터 데이터 전송률의 변경 요청을 포함하는 제1 비트 시퀀스를 제1 데이터 전송률에 따라 수신하고, 상기 변경 요청에 대한 응답을 포함하는 제2 비트 시퀀스를 상기 제1 데이터 전송률에 따라 상기 호스트에 전송하고, 상기 제2 비트 시퀀스의 종료를 나타내는 종료 비트의 출력 여부에 따라 데이터 전송률을 제2 데이터 전송률로 변경하는 것을 특징으로 하는 스토리지 장치.a non-volatile memory in which data received from the host is stored;
a device controller controlling the non-volatile memory; and
and an interconnect unit connected to the host through a plurality of pins;
The interconnect unit,
Receives a first bit sequence including a data rate change request from the host according to the first data rate, and transmits a second bit sequence including a response to the change request to the host according to the first data rate and changing the data rate to the second data rate according to whether an end bit indicating the end of the second bit sequence is output.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200185209A KR20220093983A (en) | 2020-12-28 | 2020-12-28 | Storage device adjusting data rate and storage system including the same |
US17/467,929 US11782853B2 (en) | 2020-12-28 | 2021-09-07 | Storage device adjusting data rate and storage system including the same |
CN202111179244.7A CN114694697A (en) | 2020-12-28 | 2021-10-09 | Data rate-adjusted storage device and storage system including the same |
US18/446,670 US12038857B2 (en) | 2020-12-28 | 2023-08-09 | Storage device adjusting data rate and storage system including the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200185209A KR20220093983A (en) | 2020-12-28 | 2020-12-28 | Storage device adjusting data rate and storage system including the same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220093983A true KR20220093983A (en) | 2022-07-05 |
Family
ID=82119885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200185209A Pending KR20220093983A (en) | 2020-12-28 | 2020-12-28 | Storage device adjusting data rate and storage system including the same |
Country Status (3)
Country | Link |
---|---|
US (2) | US11782853B2 (en) |
KR (1) | KR20220093983A (en) |
CN (1) | CN114694697A (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW202324986A (en) * | 2021-12-09 | 2023-06-16 | 韓商愛思開海力士有限公司 | Method for error handling of an interconnection protocol, controller and storage device |
US20240319916A1 (en) * | 2023-03-21 | 2024-09-26 | Qualcomm Incorporated | Physical interface configuration buffer in a flash memory system |
CN118092130B (en) * | 2024-02-28 | 2025-05-23 | 佳木斯大学 | A data transmission method and data transmission system for a two-dimensional system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6917992B2 (en) * | 2002-09-30 | 2005-07-12 | Intel Corporation | Method and apparatus for efficient command queuing within a serial ATA environment |
US7925799B2 (en) * | 2007-04-27 | 2011-04-12 | Ricoh Company, Ltd. | Serial ATA interface control circuit and power management method wherein start and completion of data transfer is monitored during DMA operations using memory control unit |
US8621128B2 (en) | 2009-12-04 | 2013-12-31 | St-Ericsson Sa | Methods and systems for reliable link startup |
EP2792114A4 (en) | 2011-12-15 | 2015-07-29 | Intel Corp | Low power transmitter for generating pulse modulated signals |
US9086966B2 (en) | 2013-03-15 | 2015-07-21 | Intel Corporation | Systems, apparatuses, and methods for handling timeouts |
US9563260B2 (en) | 2013-03-15 | 2017-02-07 | Intel Corporation | Systems, apparatuses, and methods for synchronizing port entry into a low power state |
KR20150014002A (en) * | 2013-07-25 | 2015-02-06 | 삼성전자주식회사 | Storage system including data transfer speed manager and data method for changing data transfer speed thereof |
KR102145420B1 (en) * | 2013-07-25 | 2020-08-18 | 삼성전자주식회사 | Storage system changing data transfer speed manager and method for changing data transfer speed thereof |
US10652131B2 (en) | 2013-11-22 | 2020-05-12 | Advantest Corporation | Method and apparatus to provide both high speed and low speed signaling from the high speed transceivers on an field programmable gate array |
-
2020
- 2020-12-28 KR KR1020200185209A patent/KR20220093983A/en active Pending
-
2021
- 2021-09-07 US US17/467,929 patent/US11782853B2/en active Active
- 2021-10-09 CN CN202111179244.7A patent/CN114694697A/en active Pending
-
2023
- 2023-08-09 US US18/446,670 patent/US12038857B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11782853B2 (en) | 2023-10-10 |
US12038857B2 (en) | 2024-07-16 |
US20220206966A1 (en) | 2022-06-30 |
CN114694697A (en) | 2022-07-01 |
US20230385209A1 (en) | 2023-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3869315B1 (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 | |
US12038857B2 (en) | Storage device adjusting data rate and storage system including the same | |
KR102764373B1 (en) | Memory device including interface circuit and operating method thereof | |
US20240184480A1 (en) | Storage device for high speed link startup and storage system including the same | |
US12314574B2 (en) | System, device, and method for writing data to protected region | |
EP3961410B1 (en) | Storage device for performing high-speed link startup and storage system including the same | |
KR20230044879A (en) | Operating method of storage device and host, and storage system including storage device and host | |
KR20210132569A (en) | Link startup method of storage device | |
US11599284B2 (en) | Storage controller, storage system and operating methods thereof | |
US12229442B2 (en) | Storage device and method of operation thereof | |
KR20210106319A (en) | Storage device and storage system including the same | |
US20250138942A1 (en) | Storage device, media interface device of the storage device, and operating method of the media interface device | |
KR102840912B1 (en) | Nonvolatile memory device, memory system and operationg method thereof | |
KR20210156187A (en) | Storage device for high speed link startup and storage system including the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20201228 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20231128 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20201228 Comment text: Patent Application |