KR20210059988A - Memory system and operation method thereof - Google Patents

Memory system and operation method thereof Download PDF

Info

Publication number
KR20210059988A
KR20210059988A KR1020190147473A KR20190147473A KR20210059988A KR 20210059988 A KR20210059988 A KR 20210059988A KR 1020190147473 A KR1020190147473 A KR 1020190147473A KR 20190147473 A KR20190147473 A KR 20190147473A KR 20210059988 A KR20210059988 A KR 20210059988A
Authority
KR
South Korea
Prior art keywords
host
parameter
value
signal
emphasis
Prior art date
Application number
KR1020190147473A
Other languages
Korean (ko)
Inventor
김현철
Original Assignee
에스케이하이닉스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020190147473A priority Critical patent/KR20210059988A/en
Priority to US16/941,134 priority patent/US11354062B2/en
Priority to CN202010869694.8A priority patent/CN112817518B/en
Publication of KR20210059988A publication Critical patent/KR20210059988A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C2029/5602Interface to device under test

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

A memory system includes: a memory device storing data; a controller controlling the memory device; an interface performing communication between a host and the controller; and a register storing a parameter value related with the size and waveform of a signal provided by the interface to the host. The controller repetitively performs a test operation for controlling the interface so as to transmit a test signal, of which the size and waveform are determined in accordance with the parameter value, to the host and receive a response indicating whether the test signal has been received normally from the host, with respect to a plurality of parameter values, stores a final parameter value determined in accordance with a test result of each of the parameter values, in the register, and controls the interface so as to transmit a signal to the host in accordance with the final parameter value. Therefore, the present invention is capable of guaranteeing the reliability of signal delivery.

Description

메모리 시스템 및 메모리 시스템의 동작 방법{MEMORY SYSTEM AND OPERATION METHOD THEREOF}Memory system and operation method of memory system {MEMORY SYSTEM AND OPERATION METHOD THEREOF}

본 발명은 메모리 시스템에 관한 것이다.The present invention relates to a memory system.

최근 컴퓨터 환경에 대한 패러다임(paradigm)이 언제, 어디서나 컴퓨터 시스템을 사용할 수 있도록 하는 유비쿼터스 컴퓨팅(ubiquitous computing)으로 전환되고 있다. 이로 인해 휴대폰, 디지털 카메라, 노트북 컴퓨터 등과 같은 휴대용 전자 장치의 사용이 급증하고 있다. 이와 같은 휴대용 전자 장치는 일반적으로 메모리 장치를 이용하는 메모리 시스템, 다시 말해 데이터 저장 장치를 사용한다. 데이터 저장 장치는 휴대용 전자 장치의 주 기억 장치 또는 보조 기억 장치로 사용된다.Recently, the paradigm for the computer environment is shifting to ubiquitous computing, which enables computer systems to be used anytime, anywhere. For this reason, the use of portable electronic devices such as mobile phones, digital cameras, and notebook computers is increasing rapidly. Such a portable electronic device generally uses a memory system using a memory device, that is, a data storage device. The data storage device is used as a main storage device or an auxiliary storage device of a portable electronic device.

메모리 장치를 이용한 데이터 저장 장치는 기계적인 구동부가 없어서 안정성 및 내구성이 뛰어나며, 또한 정보의 액세스 속도가 매우 빠르고 전력 소모가 적다는 장점이 있다. 이러한 장점을 갖는 메모리 시스템의 일 예로 데이터 저장 장치는, USB(Universal Serial Bus) 메모리 장치, 다양한 인터페이스를 갖는 메모리 카드, 솔리드 스테이트 드라이브(SSD: Solid State Drive) 등을 포함한다.A data storage device using a memory device has excellent stability and durability because it does not have a mechanical driving unit, and has an advantage in that the access speed of information is very fast and power consumption is low. As an example of a memory system having such an advantage, a data storage device includes a universal serial bus (USB) memory device, a memory card having various interfaces, a solid state drive (SSD), and the like.

본 발명은 실장 환경에 관계없이 호스트와 메모리 시스템 간 통신의 신뢰성을 보장하는 메모리 시스템을 제공하고자 한다.An object of the present invention is to provide a memory system that guarantees reliability of communication between a host and a memory system regardless of a mounting environment.

본 발명의 실시 예에 따른 메모리 시스템은, 데이터를 저장하는 메모리 장치; 상기 메모리 장치를 제어하는 컨트롤러; 호스트와 컨트롤러 간 통신을 수행하는 인터페이스; 및 상기 인터페이스가 상기 호스트로 제공하는 신호의 크기 및 파형과 관련된 파라미터의 값을 저장하는 레지스터를 포함하고, 상기 컨트롤러는 상기 인터페이스가 상기 파라미터 값에 따라 크기 및 파형이 결정되는 테스트 신호를 상기 호스트로 전송하도록 제어하고 상기 호스트로부터 상기 테스트 신호를 정상적으로 수신하였는지 여부를 나타내는 응답을 수신하는 테스트 동작을 복수의 파라미터 값들에 대해 반복 수행하며, 상기 파라미터 값들 각각의 테스트 수행 결과에 따라 결정된 최종 파라미터 값을 상기 레지스터에 저장하고, 상기 최종 파라미터 값에 따라 상기 인터페이스가 상기 호스트로 신호를 전송하도록 제어한다.A memory system according to an embodiment of the present invention includes: a memory device for storing data; A controller controlling the memory device; An interface for performing communication between a host and a controller; And a register for storing a parameter value related to a signal amplitude and a waveform provided by the interface to the host, wherein the controller transmits a test signal whose size and waveform are determined according to the parameter value to the host. A test operation of controlling transmission and receiving a response indicating whether the test signal has been normally received from the host is repeatedly performed for a plurality of parameter values, and the final parameter value determined according to the test execution result of each of the parameter values is the Store in a register, and control the interface to transmit a signal to the host according to the final parameter value.

본 발명의 실시 예에 따른 메모리 시스템의 동작 방법은, 파라미터 값에 따라 크기 및 파형이 결정되는 테스트 신호를 호스트로 전송하는 제1 단계; 상기 호스트로부터 상기 테스트 신호를 정상적으로 수신하였는지 여부를 나타내는 응답을 수신하는 제2 단계; 복수의 파라미터 값들에 대해 상기 제1 및 제2 단계를 반복 수행하는 단계; 상기 복수의 파라미터 값들 각각에 대한 상기 호스트의 응답에 기초하여 결정된 최종 파라미터 값을 내부 레지스터에 저장하는 단계; 및 상기 최종 파라미터 값에 따라 상기 호스트로 신호를 전송하는 단계를 포함한다.A method of operating a memory system according to an embodiment of the present invention includes: a first step of transmitting a test signal whose size and waveform are determined according to parameter values to a host; A second step of receiving a response indicating whether the test signal has been normally received from the host; Repeatedly performing the first and second steps for a plurality of parameter values; Storing a final parameter value determined based on a response of the host to each of the plurality of parameter values in an internal register; And transmitting a signal to the host according to the final parameter value.

본 발명의 실시 예에 따르면 메모리 시스템의 실장 환경의 차이에 관계없이 메모리 시스템으로부터 호스트로 전달되는 신호의 노이즈 마진(noise margin)을 충분히 확보할 수 있다.According to an exemplary embodiment of the present invention, a noise margin of a signal transmitted from a memory system to a host can be sufficiently secured regardless of differences in mounting environments of the memory system.

본 발명의 실시 예에 따르면 호스트와 메모리 시스템 간 고속 통신을 수행하는 경우라도 호스트와 메모리 시스템 간 신호 전달의 신뢰성이 보장될 수 있다.According to an embodiment of the present invention, even when high-speed communication is performed between the host and the memory system, reliability of signal transmission between the host and the memory system may be guaranteed.

본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems that are not mentioned will be clearly understood by those of ordinary skill in the technical field to which the present invention belongs from the following description. I will be able to.

도 1은 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 데이터 처리 시스템을 나타낸다.
도 2는 호스트 인터페이스와 메모리 인터페이스의 일 예를 설명하기 위한 도면이다.
도 3a 내지 도 3c는 구동 레벨 파라미터, 엠퍼시스 동작 및 엠퍼시스 파라미터를 설명하기 위한 도면이다.
도 4a 및 도 4b는 호스트 물리 계층이 수신하는 신호의 아이 다이어그램(eye diagram)을 예시한다.
도 5는 본 발명의 실시 예에 따른 메모리 시스템의 동작을 나타낸다.
도 6a 내지 도 6b는 파라미터 값들의 조합을 설명하기 위한 도면이다.
도 7은 본 발명의 효과를 설명하기 위한 도면이다.
1 illustrates a data processing system including a memory system according to an embodiment of the present invention.
2 is a diagram illustrating an example of a host interface and a memory interface.
3A to 3C are diagrams for explaining a driving level parameter, an emphasis operation, and an emphasis parameter.
4A and 4B illustrate eye diagrams of signals received by a host physical layer.
5 illustrates an operation of a memory system according to an embodiment of the present invention.
6A to 6B are diagrams for explaining a combination of parameter values.
7 is a diagram for explaining the effect of the present invention.

이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩뜨리지 않도록 생략될 것이라는 것을 유의하여야 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, it should be noted that only parts necessary to understand the operation according to the present invention will be described, and descriptions of other parts will be omitted so as not to distract the gist of the present invention.

이하, 도면들을 참조하여 본 발명의 실시 예들에 대해서 보다 구체적으로 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in more detail with reference to the drawings.

도 1은 본 발명의 실시 예에 따른 메모리 시스템(300)을 포함하는 데이터 처리 시스템(100)을 나타낸다.1 shows a data processing system 100 including a memory system 300 according to an embodiment of the present invention.

도 1을 참조하면, 데이터 처리 시스템(100)은, 호스트(200) 및 메모리 시스템(300)을 포함한다.Referring to FIG. 1, the data processing system 100 includes a host 200 and a memory system 300.

호스트(200)는 전자 장치, 예를 들어 휴대폰, MP3 플레이어, 랩탑 컴퓨터 등과 같은 휴대용 전자 장치들, 또는 데스크탑 컴퓨터, 게임기, TV, 프로젝터 등과 같은 전자 장치들을 포함할 수 있다.The host 200 may include electronic devices, for example, portable electronic devices such as mobile phones, MP3 players, and laptop computers, or electronic devices such as desktop computers, game consoles, TVs, and projectors.

호스트(200)는 적어도 하나의 운영 시스템(OS: operating system)을 포함할 수 있다. 운영 시스템은 호스트(200)의 기능 및 동작을 전반적으로 관리 및 제어하고, 데이터 처리 시스템(100) 또는 메모리 시스템(300)을 사용하는 사용자와 호스트(200) 간에 상호 동작을 제공한다. 운영 시스템은 사용자의 사용 목적 및 용도에 상응한 기능 및 동작을 지원하며, 호스트(200)의 이동성(mobility)에 따라 일반 운영 시스템과 모바일 운용 시스템으로 구분할 수 있다. 운영 시스템에서의 일반 운영 시스템은, 사용자의 사용 환경에 따라 개인용 운영 시스템과 기업용 운영 시스템으로 구분할 수 있다. The host 200 may include at least one operating system (OS). The operating system generally manages and controls functions and operations of the host 200, and provides an interactive operation between a user using the data processing system 100 or the memory system 300 and the host 200. The operating system supports functions and operations corresponding to the user's purpose of use and use, and can be classified into a general operating system and a mobile operating system according to the mobility of the host 200. The general operating system in the operating system can be classified into a personal operating system and an enterprise operating system according to a user's use environment.

메모리 시스템(300)은 호스트(200)의 요청에 응하여 호스트(200)의 데이터를 저장하기 위해 동작할 수 있다. 예를 들어, 메모리 시스템(110)은 UFS(Universal Flash Storage), USB(Universal Storage Bus)와 같은, MIPI M-PHY 프로토콜에 따라 동작하는 인터페이스로 호스트(200)와 통신하여 호스트(200)의 데이터를 저장할 수 있다.The memory system 300 may operate to store data of the host 200 in response to a request of the host 200. For example, the memory system 110 communicates with the host 200 through an interface operating according to the MIPI M-PHY protocol, such as Universal Flash Storage (UFS) and Universal Storage Bus (USB). Can be saved.

호스트(200)는 메모리 시스템(300)에 각종 커맨드를 제공할 수 있다. 상기 커맨드는 리드 커맨드, 라이트 커맨드를 포함할 수 있다. 메모리 시스템(300)은 호스트(200)와 서로 연결될 수 있다.The host 200 may provide various commands to the memory system 300. The command may include a read command and a write command. The memory system 300 may be connected to the host 200.

호스트(200)의 커맨드가 라이트 커맨드인 경우, 메모리 시스템(300)는 호스트(200)로부터 수신한 데이터를 저장할 수 있고, 호스트(200)의 커맨드가 리드 커맨드인 경우, 메모리 시스템(300)은 내부에 저장된 데이터를 호스트(200)로 제공할 수 있다.When the command of the host 200 is a write command, the memory system 300 can store data received from the host 200, and when the command of the host 200 is a read command, the memory system 300 is Data stored in may be provided to the host 200.

호스트(200)는 호스트 컨트롤러(230) 및 호스트 인터페이스(250)를 포함할 수 있다. The host 200 may include a host controller 230 and a host interface 250.

호스트 컨트롤러(230)는 호스트(200)를 제어하기 위한 각종 신호를 출력할 수 있다. 예를 들어, 호스트 컨트롤러(230)는 메모리 시스템(300)로부터 데이터를 리드하기 위한 리드 커맨드를 생성하여 메모리 시스템(300)으로 제공할 수 있다.The host controller 230 may output various signals for controlling the host 200. For example, the host controller 230 may generate a read command for reading data from the memory system 300 and provide it to the memory system 300.

호스트 인터페이스(250)는 호스트 컨트롤러(230)와 메모리 시스템(300) 사이에서 신호를 주고받을 수 있다. 호스트 인터페이스(250)는 메모리 시스템(300)과 표준 인터페이스를 통해 연결될 수 있다.The host interface 250 may exchange signals between the host controller 230 and the memory system 300. The host interface 250 may be connected to the memory system 300 through a standard interface.

호스트 인터페이스(250)는 호스트 물리 계층(252) 및 호스트 링크 계층(254)을 포함할 수 있다.The host interface 250 may include a host physical layer 252 and a host link layer 254.

호스트 물리 계층(252)은 메모리 시스템(300)으로 전기 신호를 제공하고, 메모리 시스템(300)으로부터 전기 신호를 수신할 수 있다. 일 실시예에서, 호스트 물리 계층(252)은 MIPI(Mobile Industry Processor Interface) M-PHY 프로토콜을 지원할 수 있다.The host physical layer 252 may provide an electrical signal to the memory system 300 and may receive an electrical signal from the memory system 300. In one embodiment, the host physical layer 252 may support the Mobile Industry Processor Interface (MIPI) M-PHY protocol.

호스트 링크 계층(254)은 호스트 물리 계층(252)의 상위 계층으로서, 호스트 컨트롤러(230)로부터의 메시지를 전기 신호로 변환하여 호스트 물리 계층(252)으로 제공하고, 호스트 물리 계층(252)으로부터 입력되는 전기 신호의 유효 여부를 검사하고 호스트 컨트롤러(230)로 메시지를 제공할 수 있다. 일 실시예에서, 호스트 링크 계층(254)은 MIPI UNIPRO 프로토콜을 지원할 수 있다.The host link layer 254 is an upper layer of the host physical layer 252, and converts a message from the host controller 230 into an electrical signal and provides it to the host physical layer 252, and input from the host physical layer 252 It is possible to check whether or not the electrical signal is valid and provide a message to the host controller 230. In one embodiment, the host link layer 254 may support the MIPI UNIPRO protocol.

메모리 시스템(300)은 메모리 장치(310), 메모리 컨트롤러(330), 메모리 인터페이스(350) 및 레지스터(370)를 포함할 수 있다.The memory system 300 may include a memory device 310, a memory controller 330, a memory interface 350, and a register 370.

메모리 장치(310)는 호스트(200)를 위한 데이터를 저장할 수 있다. 메모리 장치(310)는 비휘발성 메모리 장치일 수 있으며, 전원이 공급되지 않아도 저장된 데이터를 유지할 수 있다. 메모리 장치(310)는 프로그램 동작을 통해 호스트(200)로부터 제공된 데이터를 저장할 수 있고, 리드 동작을 통해 메모리 장치(310)에 저장된 데이터를 호스트(200)로 제공할 수 있다. 일 실시예에서, 메모리 장치(310)는 플래시 메모리가 될 수 있다. 상기 플래시 메모리는 3차원 스택 구조를 가질 수 있다.The memory device 310 may store data for the host 200. The memory device 310 may be a nonvolatile memory device, and can maintain stored data even when power is not supplied. The memory device 310 may store data provided from the host 200 through a program operation, and may provide data stored in the memory device 310 to the host 200 through a read operation. In one embodiment, the memory device 310 may be a flash memory. The flash memory may have a three-dimensional stack structure.

메모리 컨트롤러(330)는 메모리 시스템(300)의 제반 동작을 제어할 수 있다. The memory controller 330 may control all operations of the memory system 300.

예를 들어, 메모리 컨트롤러(330)는 마이크로프로세서 또는 중앙 처리 장치(CPU) 등으로 구현된 프로세서를 통해 호스트(200)가 요청한 동작을 수행할 수 있다. 메모리 컨트롤러(330)는 호스트(200)로부터 수신된 커맨드에 대응하는 커맨드 동작으로서 포그라운드 동작(foreground operation)을 수행할 수 있다.For example, the memory controller 330 may perform an operation requested by the host 200 through a processor implemented as a microprocessor or a central processing unit (CPU). The memory controller 330 may perform a foreground operation as a command operation corresponding to a command received from the host 200.

그리고, 메모리 컨트롤러(330)는 메모리 장치(310)에 대한 백그라운드 동작을 수행할 수도 있다. 예를 들어, 메모리 장치(310)에 대한 백그라운드 동작은 가비지 컬렉션(GC: Garbage Collection) 동작, 웨어 레벨링(WL: Wear Leveling) 동작, 맵 플러시(map flush) 동작, 배드 블록 관리(bad block management) 동작 등을 포함할 수 있다.In addition, the memory controller 330 may perform a background operation on the memory device 310. For example, the background operation of the memory device 310 is a garbage collection (GC) operation, a wear leveling (WL) operation, a map flush operation, and bad block management. It may include an action, and the like.

메모리 인터페이스(350)는 호스트(200)와 메모리 컨트롤러(330) 사이에서 신호를 주고받을 수 있다. 메모리 인터페이스(350)는 호스트 인터페이스(250)와 표준 인터페이스를 통해 연결될 수 있다.The memory interface 350 may exchange signals between the host 200 and the memory controller 330. The memory interface 350 may be connected to the host interface 250 through a standard interface.

메모리 인터페이스(350)는 메모리 물리 계층(352) 및 메모리 링크 계층(354)을 포함할 수 있다. 메모리 물리 계층(352) 및 메모리 링크 계층(354)은 호스트 물리 계층(252) 및 호스트 링크 계층(254)과 짝(pair)을 이룰 수 있다. 예를 들어, 메모리 물리 계층(352)은 MIPI M-PHY 프로토콜을 지원할 수 있으며, 메모리 링크 계층(354)은 MIPI UNIPRO 프로토콜을 지원할 수 있다. 호스트 물리 계층(252)의 송신부(미도시)는 메모리 물리 계층(352)의 수신부(미도시)에 연결될 수 있다. 호스트 물리 계층(252)의 수신부(미도시)는 메모리 물리 계층(352)의 송신부(미도시)에 연결될 수 있다.The memory interface 350 may include a memory physical layer 352 and a memory link layer 354. The memory physical layer 352 and the memory link layer 354 may be paired with the host physical layer 252 and the host link layer 254. For example, the memory physical layer 352 may support the MIPI M-PHY protocol, and the memory link layer 354 may support the MIPI UNIPRO protocol. The transmitter (not shown) of the host physical layer 252 may be connected to a receiver (not shown) of the memory physical layer 352. A receiver (not shown) of the host physical layer 252 may be connected to a transmitter (not shown) of the memory physical layer 352.

호스트(200)와 메모리 시스템(300) 사이에 신호 송수신을 위해 형성된 채널을 레인이라 한다. 호스트 물리 계층(252)의 한 쌍의 송신부 및 수신부는 메모리 물리 계층(352)의 한 쌍의 수신부 및 송신부와 연결되어 하나의 레인을 형성할 수 있다. 도 1은 메모리 물리 계층(352)의 송신부로부터 호스트 물리 계층(252)의 수신부로 송신되는 제1 신호(SIG1) 및 호스트 물리 계층(252)의 송신부로부터 메모리 물리 계층(352)의 수신부로 송신되는 제2 신호(SIG2)를 예시한다. 구현에 따라, 호스트(200)와 메모리 시스템(300)은 하나 이상의 레인으로 연결될 수 있다.A channel formed for signal transmission/reception between the host 200 and the memory system 300 is referred to as a lane. A pair of transmitters and receivers of the host physical layer 252 may be connected to a pair of receivers and transmitters of the memory physical layer 352 to form one lane. 1 is a first signal SIG1 transmitted from the transmission unit of the memory physical layer 352 to the reception unit of the host physical layer 252 and the transmission unit of the host physical layer 252 to the reception unit of the memory physical layer 352. The second signal SIG2 is illustrated. Depending on the implementation, the host 200 and the memory system 300 may be connected by one or more lanes.

레지스터(370)는 메모리 시스템(300)의 동작 모드를 결정하는 데이터를 저장할 수 있다. 예를 들어, 레지스터(370)는 메모리 물리 계층(352)에서 호스트 물리 계층(252)으로 전송되는 전기 신호의 크기 및 파형을 결정하는 파라미터들의 값을 저장할 수 있다.The register 370 may store data that determines the operation mode of the memory system 300. For example, the register 370 may store values of parameters that determine the magnitude and waveform of an electrical signal transmitted from the memory physical layer 352 to the host physical layer 252.

메모리 장치(310), 컨트롤러(330), 메모리 인터페이스(350) 및 레지스터(370) 등 메모리 시스템(300)의 구성요소들은 하나의 반도체 장치로 집적될 수 있다. 게다가, 메모리 시스템(300)의 구성요소들은 하나의 반도체 장치로 집적되어 메모리 카드를 구성할 수 있다. 예를 들어, 메모리 시스템(300)의 구성요소들은 UFS 저장 장치와 같은 메모리 카드를 구성할 수 있다.Components of the memory system 300, such as the memory device 310, the controller 330, the memory interface 350, and the register 370, may be integrated into a single semiconductor device. In addition, components of the memory system 300 may be integrated into a single semiconductor device to form a memory card. For example, components of the memory system 300 may constitute a memory card such as a UFS storage device.

전기 신호의 크기를 결정하는 파라미터의 일 예로, 전기 신호의 피크 투 피크 전압을 결정하는 구동 레벨(drive level) 파라미터가 있으며 전기 신호의 파형을 결정하는 파라미터의 일 예로, 엠퍼시스 동작의 정도를 결정하는 엠퍼시스 파라미터가 있다. 상기 구동 레벨 파라미터, 엠퍼시스 동작 및 엠퍼시스 파라미터에 대해 도 3a 내지 도 3c를 참조하여 후술된다.As an example of a parameter that determines the magnitude of an electrical signal, there is a drive level parameter that determines the peak-to-peak voltage of the electrical signal, and an example of a parameter that determines the waveform of an electrical signal, determines the degree of the emphases operation. There is an emphasis parameter. The driving level parameter, the emphasis operation, and the emphasis parameter will be described later with reference to FIGS. 3A to 3C.

상기 전기 신호의 구동 레벨 파라미터와 엠퍼시스 파라미터의 값은 메모리 시스템(300)의 제조 시 결정되어 메모리 장치(310)에 저장된 후 메모리 시스템(300)의 동작 시 레지스터(370)에 로드되어 사용될 수 있다.The values of the driving level parameter and the emphasis parameter of the electrical signal may be determined when the memory system 300 is manufactured, stored in the memory device 310, and then loaded into the register 370 when the memory system 300 is operated and used. .

한편, 호스트 물리 계층(252)은 메모리 물리 계층(352)으로부터 수신한 전기 신호가 정해진 범위의 노이즈 마진을 갖는 경우에 정상적으로 수신할 수 있다. 호스트 물리 계층(252)이 메모리 물리 계층(352)으로부터의 전기 신호를 정상적으로 수신할 수 있는지 여부는 상기 전기 신호가 송신될 때의 크기 및 파형뿐만 아니라, 호스트 물리 계층(252)과 메모리 물리 계층(352) 사이에 형성된 레인의 환경에 따라 달라질 수 있다. Meanwhile, the host physical layer 252 may normally receive the electrical signal received from the memory physical layer 352 when it has a noise margin within a predetermined range. Whether or not the host physical layer 252 can normally receive the electrical signal from the memory physical layer 352 depends on the size and waveform when the electrical signal is transmitted, as well as the host physical layer 252 and the memory physical layer ( 352) may vary depending on the environment of the lanes formed between.

상기 레인의 환경은 호스트(200)와 메모리 시스템(300)의 실장 환경에 따라 달라질 수 있다. 예를 들어, 호스트(200)와 메모리 시스템(300)이 스마트 폰(smart phone)에 실장되는 경우, 어떤 기종의 스마트 폰에 실장되는지에 따라 호스트(200)와 메모리 시스템(300)의 회로상의 배치가 달라져서 상기 레인의 환경도 달라질 수 있다. The environment of the lane may vary according to the mounting environment of the host 200 and the memory system 300. For example, when the host 200 and the memory system 300 are mounted on a smart phone, the arrangement of the host 200 and the memory system 300 on the circuit according to which type of smart phone is mounted The environment of the lane may also be changed due to the change of.

빠른 데이터 입출력에 대한 수요가 증가하면서 호스트 인터페이스(250)와 메모리 인터페이스(350) 간 통신도 고속화되고 있다. 데이터 전송 속도가 빨라질수록 메모리 물리 계층(352)으로부터 전송되는 전기 신호는 실장 환경의 영향을 많이 받게 된다. 메모리 물리 계층(352)이 동일한 전기 신호를 전송하더라도 실장 환경에 따라 호스트 물리 계층(252)이 수신하는 전기 신호의 노이즈 마진은 크게 달라질 수 있다.As the demand for fast data input/output increases, communication between the host interface 250 and the memory interface 350 is also increasing at high speed. As the data transmission speed increases, the electrical signal transmitted from the memory physical layer 352 is more affected by the mounting environment. Even if the memory physical layer 352 transmits the same electrical signal, the noise margin of the electrical signal received by the host physical layer 252 may vary greatly depending on the mounting environment.

메모리 시스템(300)의 제조 시에는 메모리 시스템(300)의 다양한 실장 환경이 모두 고려될 수는 없다. 메모리 물리 계층(352)이 메모리 시스템(300)의 제조 시 결정된 크기 및 엠퍼시스 파라미터의 값을 사용하여 전기 신호를 전송하는 경우 실장 환경에 따라서는 호스트(200)가 메모리 시스템(300)의 신호를 정상적으로 수신할 수 없어 메모리 시스템(300)의 신뢰도가 떨어질 수 있다.When manufacturing the memory system 300, all of the various mounting environments of the memory system 300 cannot be considered. When the memory physical layer 352 transmits an electrical signal using the size and the value of the emphasis parameter determined when the memory system 300 is manufactured, the host 200 may transmit the signal of the memory system 300 according to the mounting environment. Since it cannot be received normally, reliability of the memory system 300 may be degraded.

따라서, 실장 환경에 따라 상기 구동 레벨 파라미터 및 엠퍼시스 파라미터의 값을 설정할 수 있는 메모리 시스템(300)이 요구된다.Accordingly, a memory system 300 capable of setting values of the driving level parameter and the emphasis parameter according to the mounting environment is required.

본 발명의 실시 예에 따르면, 메모리 컨트롤러(330)는 호스트(200)로부터의 커맨드에 응하여 구동 레벨 파라미터 및 엠퍼시스 파라미터가 가질 수 있는 값들의 복수의 조합에 대해 신호 전송 테스트를 반복 수행하고, 테스트 결과에 따라 각 파라미터의 최종 값을 결정할 수 있다.According to an embodiment of the present invention, the memory controller 330 repeatedly performs a signal transmission test for a plurality of combinations of values that the driving level parameter and the emphasis parameter may have in response to a command from the host 200, and the test Depending on the result, the final value of each parameter can be determined.

구체적으로, 메모리 컨트롤러(330)는 메모리 인터페이스(350)가 호스트 인터페이스(250)로 테스트 신호를 전송하도록 제어하고, 호스트 인터페이스(250)로부터 상기 테스트 신호를 정상적으로 수신하였는지 여부를 나타내는 응답을 수신하는 테스트 동작을 수행할 수 있다. 메모리 컨트롤러(330)는 구동 레벨 파라미터 및 엠퍼시스 파라미터 값들의 조합을 각각 달리하여 상기 테스트 동작을 복수 회 수행하고 각 테스트 동작의 결과를 내부 메모리에 임시 저장할 수 있다. 메모리 컨트롤러(330)는 테스트 동작시 신호 전송에 성공한 경우의 파라미터 값들의 조합에 기초하여 각 파라미터의 최종 값들을 결정할 수 있다. 상기 최종 값들은 레지스터(370)에 저장될 수 있다. 메모리 물리 계층(352)은 상기 최종 값들에 기초하여 호스트 물리 계층(252)으로 신호를 전송할 수 있다.Specifically, the memory controller 330 controls the memory interface 350 to transmit a test signal to the host interface 250, and receives a response indicating whether the test signal has been normally received from the host interface 250. You can perform the operation. The memory controller 330 may perform the test operation multiple times by varying combinations of the driving level parameter and the emphasis parameter values, and temporarily store the result of each test operation in the internal memory. The memory controller 330 may determine final values of each parameter based on a combination of parameter values when signal transmission is successful during a test operation. The final values may be stored in the register 370. The memory physical layer 352 may transmit a signal to the host physical layer 252 based on the final values.

상기 테스트 동작은 메모리 시스템(300)의 실장 환경에서 수행될 수 있다. 상기 테스트 동작에 의해 각 파라미터의 최종 값들이 결정되면 메모리 인터페이스(350)는 실장 환경에 적합한 값을 사용하여 호스트 인터페이스(250)로 신호를 전송할 수 있다. 따라서, 호스트(200)와 메모리 시스템(300)의 실장 환경에 관계없이 호스트(200)와 메모리 시스템(300) 간 신호 전달의 신뢰성이 보장될 수 있다.The test operation may be performed in an environment in which the memory system 300 is mounted. When final values of each parameter are determined by the test operation, the memory interface 350 may transmit a signal to the host interface 250 using a value suitable for the mounting environment. Accordingly, reliability of signal transmission between the host 200 and the memory system 300 may be ensured regardless of the environment in which the host 200 and the memory system 300 are mounted.

이하에서는 본 발명의 실시 예에 따른 메모리 시스템(300) 및 그 동작 방법이 상세히 설명된다.Hereinafter, a memory system 300 and a method of operating the same according to an embodiment of the present invention will be described in detail.

도 2는 호스트 인터페이스(250)와 메모리 인터페이스(350)의 일 예를 설명하기 위한 도면이다.2 is a diagram illustrating an example of the host interface 250 and the memory interface 350.

도 2는 호스트(200)와 메모리 시스템(300)을 포함하는 데이터 처리 시스템(100)을 나타낸다. 도 2의 데이터 처리 시스템(100)은 도 1을 참조하여 설명된 데이터 처리 시스템(100)과 대응한다.2 shows a data processing system 100 including a host 200 and a memory system 300. The data processing system 100 of FIG. 2 corresponds to the data processing system 100 described with reference to FIG. 1.

호스트 컨트롤러(230)와 메모리 컨트롤러(330)는 추상화된 어플리케이션 계층을 제공할 수 있다. 호스트 컨트롤러(230)와 메모리 컨트롤러(330)는 호스트 인터페이스(250)와 메모리 인터페이스(350)를 통해 메시지(MESSAGE)를 주고받을 수 있다.The host controller 230 and the memory controller 330 may provide an abstracted application layer. The host controller 230 and the memory controller 330 may exchange a message (MESSAGE) through the host interface 250 and the memory interface 350.

도 1에서 설명된 바와 같이, 호스트 인터페이스(250)는 호스트 물리 계층(252) 및 호스트 링크 계층(254)을 포함할 수 있으며, 메모리 인터페이스(350)는 메모리 물리 계층(352) 및 메모리 링크 계층(354)을 포함할 수 있다. 도 2에서는 호스트 물리 계층(252) 및 메모리 물리 계층(352)을 통틀어서 물리 계층으로 지칭하고, 호스트 링크 계층(254) 및 메모리 링크 계층(354)을 통틀어서 링크 계층으로 지칭한다.1, the host interface 250 may include a host physical layer 252 and a host link layer 254, and the memory interface 350 includes a memory physical layer 352 and a memory link layer ( 354). In FIG. 2, the host physical layer 252 and the memory physical layer 352 are collectively referred to as a physical layer, and the host link layer 254 and the memory link layer 354 are collectively referred to as a link layer.

도 1에서 설명된 바와 같이, 링크 계층은 MIPI UNIPRO를 지원하고, 물리 계층은 MIPI M-PHY를 지원할 수 있다.As described in FIG. 1, the link layer may support MIPI UNIPRO, and the physical layer may support MIPI M-PHY.

물리 계층은 표준에 따라 전기 신호를 출력 또는 수신할 수 있다. 구현에 따라 물리 계층은 에러 정정 인코딩된 데이터의 전기 신호를 출력할 수 있다. 그리고, 물리 계층은 전기 신호를 수신하면 상기 전기 신호에 대응하는 데이터를 디코딩하여 에러를 검출 및 정정할 수 있다. 만약 물리 계층에서 수신된 신호의 노이즈 마진이 충분하지 않은 경우 수신된 신호에 대응하는 데이터 비트에 에러가 포함될 수 있고, 물리 계층은 상기 에러를 검출 및 정정할 수 있다.The physical layer can output or receive electrical signals according to standards. Depending on the implementation, the physical layer may output an electrical signal of error correction encoded data. In addition, upon receiving the electrical signal, the physical layer may detect and correct an error by decoding data corresponding to the electrical signal. If the noise margin of the signal received from the physical layer is insufficient, an error may be included in the data bit corresponding to the received signal, and the physical layer may detect and correct the error.

링크 계층은 표준에 따라 전기 신호를 변환할 수 있다. The link layer can convert electrical signals according to standards.

링크 계층은 물리 어댑터 계층(PHY ADAPTER, L1.5), 데이터 링크 계층(DATA LINK, L2), 네트워크 계층(NETWORK, L3), 트랜스포트 계층(TRANSPORT, L4) 및 레이어들(L1.5~L4)를 제어하는 디바이스 관리 엔티티(Device Management Entity, DME)를 포함할 수 있다.The link layer is a physical adapter layer (PHY ADAPTER, L1.5), a data link layer (DATA LINK, L2), a network layer (NETWORK, L3), a transport layer (TRANSPORT, L4) and layers (L1.5 to L4). ) To control a device management entity (Device Management Entity, DME).

링크 계층에 포함된 각 계층(L1.5 - L4)은 컨트롤러의 메시지를 순차적으로 세그먼트(SEGMENT), 패킷(PACKET), 프레임(FRAME) 및 심볼(SYMBOL)의 형태로 변환하여 물리 계층으로 제공할 수 있다. 각 계층(L1.5 - L4)은 물리 계층에서 수신된 전기 신호를 순차적으로 심볼, 프레임, 패킷 및 세그먼트로 변환하여 컨트롤러로 제공할 수 있다. 각 계층(L1.5 - L4)은 전기 신호를 심볼, 프레임, 패킷 및 세그먼트로 변환하면서 변환된 신호의 유효 여부를 판단할 수 있다. 예를 들어, 상기 변환된 신호가 정해진 포맷에 맞지 않는 경우 각 계층(L1.5 - L4)은 상기 변환된 신호가 유효하지 않은 것으로 판단할 수 있다.Each layer (L1.5-L4) included in the link layer sequentially converts messages from the controller into segments (SEGMENT), packets (PACKET), frames (FRAME), and symbols (SYMBOL) and provides them to the physical layer. I can. Each layer (L1.5-L4) can sequentially convert the electrical signals received from the physical layer into symbols, frames, packets, and segments, and provide them to the controller. Each layer (L1.5-L4) can determine whether the converted signal is valid while converting the electric signal into symbols, frames, packets, and segments. For example, when the converted signal does not conform to a predetermined format, each layer (L1.5-L4) may determine that the converted signal is not valid.

상기와 같은 계층 사이의 신호 형태의 변환 동작에 의해 신호는 각 계층을 거칠 때마다 헤더(header)가 부가되거나 제거될 수 있다. 이하에서는 신호 형태의 변환과 무관하게 동일한 신호로 명명된다.A header may be added or removed whenever a signal passes through each layer by the above-described conversion operation of a signal type between layers. Hereinafter, the signal is referred to as the same signal regardless of the conversion of the signal type.

도 3a 내지 도 3c는 구동 레벨 파라미터, 엠퍼시스 동작 및 엠퍼시스 파라미터를 설명하기 위한 도면이다.3A to 3C are diagrams for explaining a driving level parameter, an emphasis operation, and an emphasis parameter.

도 3a는 메모리 물리 계층(352)에서 출력되는 신호의 전위를 나타낸다.3A shows the potential of a signal output from the memory physical layer 352.

메모리 물리 계층(352)은 신호의 노이즈를 상쇄하기 위해 공통 모드(common mode) 전압을 중심으로 두 개의 신호가 스윙하는 디퍼런셜 신호(differential signal)를 출력할 수 있다.The memory physical layer 352 may output a differential signal in which two signals swing around a common mode voltage in order to cancel noise of a signal.

M-PHY 프로토콜은 메모리 물리 계층(352)이 출력하는 신호의 다양한 옵션을 제공할 수 있다. The M-PHY protocol may provide various options of signals output from the memory physical layer 352.

메모리 물리 계층(352)은 프로토콜에서 제공하는 옵션에 따라 높은 진폭(Large Amplitude, LA)모드 또는 낮은 진폭(Small Amplitude, SA) 모드로 디퍼런셜 신호를 출력할 수 있다. 메모리 물리 계층(352)은 레인의 임피던스 매칭(impedance matching)을 위해 종단 저항(termination resister)을 사용할 수 있으며, 프로토콜에서 제공하는 옵션에 따라 종단 저항을 활성화하거나 비활성화할 수 있다. 메모리 물리 계층(352)이 어떤 모드로 동작할지 및 종단 저항을 활성화할지 여부는 호스트(200)에 의해 결정될 수 있다. 예를 들어, 호스트(200)는 메모리 시스템(300)을 고속(high speed) 모드로 동작시키고자 하는 경우 메모리 물리 계층(352)이 낮은 진폭 모드로, 종단 저항을 활성화하여 동작하도록 메모리 시스템(300)으로 커맨드를 제공할 수 있다.The memory physical layer 352 may output a differential signal in a high amplitude (LA) mode or a low amplitude (SA) mode according to an option provided by the protocol. The memory physical layer 352 may use a termination resistor for impedance matching of the lane, and may activate or deactivate the terminating resistor according to an option provided by the protocol. In which mode the memory physical layer 352 operates and whether to activate the terminating resistor may be determined by the host 200. For example, when the host 200 intends to operate the memory system 300 in a high speed mode, the memory system 300 operates by activating the terminating resistor in the memory physical layer 352 in a low amplitude mode. You can provide a command with ).

도 3a는 각 옵션에 따른 디퍼런셜 신호의 전위를 나타낸다. 도 3a의 VCM_SA_TX는 낮은 진폭 모드의 디퍼런셜 신호의 공통 모드 전압을 나타내고, VCM_LA_TX는 높은 진폭 모드의 디퍼런셜 신호의 공통 모드 전압을 나타낸다. VDIF_SA_NT_TX는 종단 저항이 비활성화된 경우 낮은 진폭 모드의 디퍼런셜 신호의 스윙폭을 나타내고, VDIF_SA_RT_TX는 종단 저항이 활성화된 경우 낮은 진폭 디퍼런셜 신호의 스윙폭을 나타낸다. VDIF_LA_NT_TX는 종단 저항이 비활성화된 경우 높은 진폭 모드의 디퍼런셜 신호의 스윙폭을 나타내고, VDIF_LA_RT_TX는 종단 저항이 활성화된 경우 높은 진폭 모드의 디퍼런셜 신호의 스윙폭을 나타낸다. 3A shows the potential of the differential signal according to each option. In FIG. 3A, V CM_SA_TX represents the common mode voltage of the differential signal in the low amplitude mode, and V CM_LA_TX represents the common mode voltage of the differential signal in the high amplitude mode. V DIF_SA_NT_TX represents the swing width of the differential signal in the low amplitude mode when the terminating resistor is inactive, and V DIF_SA_RT_TX represents the swing width of the low amplitude differential signal when the terminating resistor is activated. V DIF_LA_NT_TX represents the swing width of the differential signal in the high amplitude mode when the terminating resistor is inactive, and V DIF_LA_RT_TX represents the swing width of the differential signal in the high amplitude mode when the terminating resistor is activated.

도 3b는 각 모드의 공통 전압 및 스윙폭의 범위를 예시한다.3B illustrates a range of a common voltage and a swing width of each mode.

M-PHY 프로토콜은 각 모드의 공통 전압 및 스윙폭의 범위를 제공할 수 있다. The M-PHY protocol can provide a range of common voltage and swing width for each mode.

도 3b의 표의 VDIF_LA_RT_TX, VDIF_LA_NT_TX, VDIF_SA_RT_TX, VDIF_SA_NT_TX, VCM_LA_TX 및 VCM_SA_TX가 지칭하는 바는 도 3a를 참조하여 설명된 바와 동일하다. V DIF_LA_RT_TX , V DIF_LA_NT_TX , V DIF_SA_RT_TX , V DIF_SA_NT_TX , V CM_LA_TX and V CM_SA_TX in the table of FIG. 3B are the same as described with reference to FIG. 3A.

예를 들어, 메모리 물리 계층(352)이 높은 진폭 모드로 종단 저항을 활성화하여 동작하는 경우 공통 모드 전압을 160mV에서 260mV 사이의 전압으로 결정하고, 스윙폭은 320mV에서 480mV 사이의 전압으로 결정할 수 있다. 차동신호의 피크 투 피크 진폭은 두 차동신호의 차로 결정되므로, 스윙폭이 320mV에서 480mV 사이의 값을 갖는 디퍼런셜 신호에서 피크 투 피크 진폭은 640mV에서 960mV 사이의 값을 가질 수 있다.For example, when the memory physical layer 352 operates by activating the termination resistor in a high amplitude mode, the common mode voltage may be determined as a voltage between 160mV and 260mV, and the swing width may be determined as a voltage between 320mV and 480mV. . Since the peak-to-peak amplitude of the differential signal is determined by the difference between the two differential signals, the peak-to-peak amplitude of a differential signal having a swing width of between 320mV and 480mV may have a value between 640mV and 960mV.

메모리 물리 계층(352)이 정해진 피크 투 피크 진폭의 범위에서 어떤 진폭으로 출력 신호를 전송할지는 도 1을 참조하여 설명된 레지스터(370)의 구동 레벨 파라미터 값에 따라 결정될 수 있다. 구동 레벨 파라미터 값의 예는 도 6a를 참조하여 후술된다.In what amplitude the memory physical layer 352 transmits an output signal in a predetermined peak-to-peak amplitude range may be determined according to a driving level parameter value of the register 370 described with reference to FIG. 1. An example of the driving level parameter value will be described later with reference to FIG. 6A.

한편, 메모리 물리 계층(352)으로부터의 출력 신호에 ISI(Intersymbol Interference) 현상이 발생할 수 있으며, ISI 현상에 의해 출력 신호의 고주파 성분의 감쇠가 발생하여 신호의 파형에 왜곡이 발생할 수 있다. 메모리 물리 계층(352)은 수신단에서 신호를 정상적으로 수신할 수 있도록 신호의 감쇠가 발생하는 부분의 스윙폭을 크게 하는 엠퍼시스 동작을 수행할 수 있다.Meanwhile, an ISI (Intersymbol Interference) phenomenon may occur in an output signal from the memory physical layer 352, and a high frequency component of the output signal may be attenuated by the ISI phenomenon, resulting in distortion of a signal waveform. The memory physical layer 352 may perform an emphasis operation of increasing a swing width of a portion where attenuation of a signal occurs so that a signal can be normally received at a receiving end.

도 3c는 엠퍼시스 동작에 따른 신호의 파형을 나타낸다.3C shows a waveform of a signal according to an emphasis operation.

메모리 물리 계층(352)이 엠퍼시스 동작을 수행하는 경우 출력 신호의 파형은 데이터가 천이하는 구간의 전압 레벨이 데이터가 유지되는 구간의 전압 레벨보다 높은 형태의 파형을 가질 수 있다. 이하에서, 이러한 데이터 파형을 엠퍼시스 파형이라 지칭한다. 이러한 엠퍼시스 파형에 의해, 상술한 채널 대역폭 제한에 따른 출력 신호의 ISI가 개선될 수 있다.When the memory physical layer 352 performs an emphasis operation, the waveform of the output signal may have a waveform in which a voltage level in a section in which data transitions is higher than a voltage level in a section in which data is maintained. Hereinafter, this data waveform is referred to as an emphasis waveform. By such an emphasis waveform, the ISI of the output signal according to the above-described channel bandwidth limitation can be improved.

엠퍼시스 동작에 따른 출력 신호의 엠퍼시스 파형을 생성하는 방법으로 프리 엠퍼시스(pre-emphasis) 방법과 디 엠퍼시스(de-emphasis) 방법이 있다. Methods of generating an emphasis waveform of an output signal according to an emphasis operation include a pre-emphasis method and a de-emphasis method.

프리 엠퍼시스 방법은 데이터가 유지되는 구간의 전압 레벨을 기준으로 하여, 데이터가 천이하는 구간의 전압 레벨을 데이터가 유지되는 구간의 전압 레벨보다 높여서 엠퍼시스 파형을 생성하는 방법이다. The pre-emphasis method is a method of generating an emphasis waveform by raising the voltage level of a period in which data transitions from a voltage level in a period in which data is maintained, based on the voltage level of a period in which data is maintained.

디 엠퍼시스 방법은 데이터가 천이하는 구간의 전압 레벨을 기준으로 하여, 데이터가 유지되는 구간의 전압 레벨을 데이터가 천이하는 구간의 전압 레벨보다 낮춰서 엠퍼시스 파형을 생성하는 방법이다. The Emphasis method is a method of generating an emphasis waveform by lowering the voltage level of a section in which data is maintained, based on the voltage level of a section in which data transitions, to a voltage level in a section in which data transitions.

도 3c는 프리 엠퍼시스 방법과 디 엠퍼시스 방법이 모두 적용된 경우의 출력 신호의 엠퍼시스 파형을 예시한다. Va는 데이터가 천이한 직후 구간의 스윙폭을 나타내고, Vb는 데이터가 유지되는 구간의 스윙폭을 나타내며, Vc는 데이터가 천이하기 직전 구간의 스윙폭을 나타낸다.3C illustrates an emphasis waveform of an output signal when both the pre-emphasis method and the de-emphasis method are applied. Va represents the swing width of the section immediately after data transition, Vb represents the swing width of the section in which data is maintained, and Vc represents the swing width of the section immediately before data transition.

도 3c의 예에서, Va를 기준으로 Vb를 Va보다 낮추는 디 엠퍼시스 방법이 적용될 수 있다. Vb와 Va의 디 엠퍼시스 비율은 20log(Vb/Va)[dB]에 해당할 수 있다. 그리고, Vb를 기준으로 Vc를 Vb보다 높이는 프리 엠퍼시스 방법이 적용될 수 있다. Vc와 Vb의 프리 엠퍼시스 비율은 20log(Vc/Vb)[dB]에 해당할 수 있다. 도 3c의 예에서, Vb 및 Vc는 기준 스윙폭인 Va, 디 엠퍼시스 비율 및 프리 엠퍼시스 비율에 따라 결정될 수 있다.In the example of FIG. 3C, a de-emphasis method in which Vb is lower than Va based on Va may be applied. The de-emphasis ratio of Vb and Va may correspond to 20log (Vb/Va)[dB]. In addition, a pre-emphasis method in which Vc is higher than Vb based on Vb may be applied. The pre-emphasis ratio of Vc and Vb may correspond to 20log(Vc/Vb)[dB]. In the example of FIG. 3C, Vb and Vc may be determined according to the reference swing width Va, the de-emphasis ratio, and the pre-emphasis ratio.

엠퍼시스 파형은 레지스터(370)의 엠퍼시스 파라미터에 따라 결정될 수 있다. 일 실시예에서, 상기 엠퍼시스 파라미터는 디 엠퍼시스 파라미터와 프리 엠퍼시스 파라미터를 포함할 수 있다.The emphasis waveform may be determined according to the emphasis parameter of the register 370. In an embodiment, the emphasis parameter may include a the emphasis parameter and a pre-emphasis parameter.

메모리 물리 계층(352)은 레지스터(370)의 구동 레벨 파라미터에 따라 결정된 스윙폭을 Va로 하고, 상기 디 엠퍼시스 파라미터와 프리 엠퍼시스 파라미터에 따라 Vb, Vc를 결정할 수 있다.The memory physical layer 352 may have a swing width determined according to the driving level parameter of the register 370 as Va, and may determine Vb and Vc according to the de-emphasis parameter and the pre-emphasis parameter.

메모리 물리 계층(352)은 구동 레벨 파라미터 및 엠퍼시스 파라미터의 값에 따라 다른 크기와 파형의 신호를 호스트 물리 계층(252)으로 제공할 수 있다. 호스트 물리 계층(252)은 상기 파라미터 값들 및 메모리 시스템(300)의 실장 환경에 따라 다른 노이즈 마진을 갖는 신호를 수신할 수 있다.The memory physical layer 352 may provide signals of different sizes and waveforms to the host physical layer 252 according to values of the driving level parameter and the emphasis parameter. The host physical layer 252 may receive signals having different noise margins according to the parameter values and the mounting environment of the memory system 300.

도 4a 및 도 4b는 호스트 물리 계층(252)이 수신하는 신호의 아이 다이어그램(eye diagram)을 예시한다.4A and 4B illustrate eye diagrams of signals received by the host physical layer 252.

호스트 물리 계층(252)은 정해진 범위의 노이즈 마진을 갖는 신호만을 정상적으로 수신할 수 있다. 수신 신호의 노이즈 마진이 최소 노이즈 마진(MARGIN_MIN) 미만이거나 최대 노이즈 마진(MARGIN_MAX)을 초과하는 경우 호스트 물리 계층(252)은 정상적으로 신호를 수신하기 어렵다.The host physical layer 252 may normally receive only signals having a noise margin in a predetermined range. When the noise margin of the received signal is less than the minimum noise margin (MARGIN_MIN) or exceeds the maximum noise margin (MARGIN_MAX), it is difficult for the host physical layer 252 to normally receive the signal.

도 4a 및 도 4b의 음영이 도시된 부분은 아이 마스크 영역을 나타낸다. Shaded portions of FIGS. 4A and 4B represent an eye mask area.

도 4a는 수신 신호의 노이즈 마진이 정해진 범위에 속하는 경우를 예시한다. 수신 신호의 노이즈 마진이 정해진 범위에 속하는 경우 아이 다이어그램에서 신호가 아이 마스크 영역을 침범하지 않으며, 호스트 물리 계층(252)은 정상적으로 신호를 수신할 수 있다.4A illustrates a case in which a noise margin of a received signal falls within a predetermined range. When the noise margin of the received signal falls within a predetermined range, the signal does not invade the eye mask region in the eye diagram, and the host physical layer 252 can normally receive the signal.

도 4b는 수신 신호의 노이즈 마진이 정해진 범위에 속하지 않는 경우를 예시한다. 수신 신호의 노이즈 마진이 정해진 범위를 벗어나는 경우 아이 다이어그램에서 신호가 아이 마스크 영역을 침범할 수 있으며, 호스트 물리 계층(252)은 정상적으로 신호를 수신하기 어렵다.4B illustrates a case where a noise margin of a received signal does not fall within a predetermined range. When the noise margin of the received signal is out of the predetermined range, the signal may invade the eye mask region in the eye diagram, and the host physical layer 252 is difficult to normally receive the signal.

메모리 시스템(300)의 실장 환경에 따라 호스트 물리 계층(252)이 정상적으로 신호를 수신하지 못하는 문제를 방지하기 위해 호스트(200)는 메모리 시스템(300)으로 신호 튜닝 커맨드를 제공할 수 있다. 메모리 시스템(300)은 상기 신호 튜닝 커맨드에 응하여 레지스터(370)의 구동 레벨 파라미터와 엠퍼시스 파라미터를 변경하여 호스트 물리 계층(252)이 정상적으로 수신할 수 있는 신호를 출력할 수 있다.The host 200 may provide a signal tuning command to the memory system 300 in order to prevent a problem in that the host physical layer 252 does not normally receive signals according to the mounting environment of the memory system 300. The memory system 300 may change a driving level parameter and an emphasis parameter of the register 370 in response to the signal tuning command to output a signal that can be normally received by the host physical layer 252.

도 5는 본 발명의 실시 예에 따른 메모리 시스템(300)의 동작을 나타낸다.5 illustrates the operation of the memory system 300 according to an embodiment of the present invention.

단계 S510에서 호스트(200)는 메모리 시스템(300)의 구동 레벨 파라미터와 엠퍼시스 파라미터를 실장 환경에 최적화하기 위해 메모리 시스템(300)으로 신호 튜닝 커맨드를 제공할 수 있다.In operation S510, the host 200 may provide a signal tuning command to the memory system 300 in order to optimize the driving level parameter and the emphasis parameter of the memory system 300 to the mounting environment.

예를 들어, 호스트(200)는 데이터 처리 시스템(100)의 최초 부팅 시 메모리 시스템(300)으로 신호 튜닝 커맨드를 제공할 수 있다.For example, when the data processing system 100 is initially booted, the host 200 may provide a signal tuning command to the memory system 300.

단계 S530에서, 메모리 시스템(300)은 상기 신호와 관련된 파라미터 값을 튜닝하기 위해 신호 송신 테스트 동작을 수행할 수 있다.In step S530, the memory system 300 may perform a signal transmission test operation to tune a parameter value related to the signal.

테스트 동작은 단계 S532 내지 단계 S538의 동작을 포함할 수 있다.The test operation may include operations of steps S532 to S538.

단계 S532에서 메모리 컨트롤러(330)는 파라미터 값을 조정할 수 있다. 즉, 메모리 컨트롤러(330)는 구동 레벨 파라미터 값과 엠퍼시스 파라미터 값의 조합을 선택할 수 있다.In step S532, the memory controller 330 may adjust the parameter value. That is, the memory controller 330 may select a combination of the driving level parameter value and the emphasis parameter value.

단계 S534에서 메모리 컨트롤러(330)는 메모리 물리 계층(532)이 호스트(200)로 테스트 신호를 제공하도록 제어할 수 있다.In step S534, the memory controller 330 may control the memory physical layer 532 to provide a test signal to the host 200.

상기 테스트 신호의 크기 및 파형은 상기 선택된 조합에 따라 결정될 수 있다.The size and waveform of the test signal may be determined according to the selected combination.

단계 S536에서 호스트 인터페이스(250)는 상기 테스트 신호를 수신하여 상기 테스트 신호의 에러 여부 또는 유효성을 검사할 수 있다.In step S536, the host interface 250 may receive the test signal and check whether or not the test signal has an error or validity.

만약 상기 선택된 조합의 파라미터 값들이 실장 환경에 적합하지 않은 경우 호스트 인터페이스(250)는 상기 테스트 신호를 정상적으로 수신할 수 없을 것이다. 상기 테스트 신호가 정상적으로 수신되지 않는 경우, 호스트 인터페이스(250)는 비트 플립(bit flip)된 신호를 수신할 수 있으며, 상기 신호를 비트 에러가 있는 신호 또는 유효하지 않은 신호로 판단할 수 있다.If the parameter values of the selected combination are not suitable for a mounting environment, the host interface 250 may not normally receive the test signal. When the test signal is not normally received, the host interface 250 may receive a bit flipped signal, and may determine the signal as a signal with a bit error or an invalid signal.

일 실시예에서, 상기 테스트 신호는 에러 정정 인코딩된 신호일 수 있고, 호스트 물리 계층(252)은 에러 정정 디코딩을 통해 상기 테스트 신호의 에러 여부를 검사할 수 있다.In an embodiment, the test signal may be an error correction encoded signal, and the host physical layer 252 may check whether the test signal has an error through error correction decoding.

일 실시예에서, 호스트 링크 계층(254)에 포함된 각 계층은 상기 테스트 신호가 정해진 패턴을 따르지 않는 경우 상기 테스트 신호가 유효하지 않은 것으로 판단할 수 있다. In an embodiment, each layer included in the host link layer 254 may determine that the test signal is not valid when the test signal does not follow a predetermined pattern.

단계 S538에서, 호스트 인터페이스(250)는 상기 테스트 신호를 정상적으로 수신하였는지 여부를 나타내는 응답을 메모리 시스템(300)으로 제공할 수 있다.In step S538, the host interface 250 may provide a response indicating whether the test signal has been normally received to the memory system 300.

예를 들어, 호스트 인터페이스(300)는 상기 테스트 신호의 검사 결과 상기 테스트 신호에 비트 에러가 상기 테스트 신호가 유효한 신호로 판단된 경우 상기 테스트 신호를 정상적으로 수신하였다는 응답을 제공할 수 있다. 예를 들어, 호스트 인터페이스(300)는 상기 테스트 신호에 비트 에러가 있거나 상기 테스트 신호가 유효하지 않은 신호로 판단되는 경우 상기 테스트 신호를 정상적으로 수신하지 못하였다는 응답을 제공할 수 있다.For example, when the test signal has a bit error in the test signal as a result of the test signal, the host interface 300 may provide a response indicating that the test signal has been normally received. For example, when there is a bit error in the test signal or the test signal is determined to be an invalid signal, the host interface 300 may provide a response indicating that the test signal has not been normally received.

메모리 시스템(300)은 파라미터 값들의 복수의 조합들에 대해 단계 S530의 테스트 동작을 반복 수행할 수 있다.The memory system 300 may repeatedly perform the test operation of step S530 for a plurality of combinations of parameter values.

도 6a 내지 도 6b는 파라미터 값들의 조합을 설명하기 위한 도면이다.6A to 6B are diagrams for explaining a combination of parameter values.

도 6a는 구동 레벨 파라미터 값에 따른 신호의 진폭을 나타내는 도면이다.6A is a diagram showing the amplitude of a signal according to a driving level parameter value.

도 6a에서 상기 구동 레벨 파라미터 값들은 각각 10진수(Dec), 2진수(Bin) 및 16진수(Hex) 형식으로 표현된다. 도 6a의 예에서, 구동 레벨 파라미터 값은 총 32개일 수 있다. 상기 신호의 진폭은 피크 투 피크 진폭으로 표현된다. 구동 레벨 파라미터 값에 따른 신호의 피크 투 피크 진폭은 메모리 물리 계층(352)에서 출력할 수 있는 최대 진폭과의 비율(% of Vcca) 및 실제 진폭 값(mV)의 형식으로 표현된다.In FIG. 6A, the driving level parameter values are expressed in decimal (Dec), binary (Bin) and hexadecimal (Hex) formats, respectively. In the example of FIG. 6A, there may be a total of 32 driving level parameter values. The amplitude of the signal is expressed as a peak-to-peak amplitude. The peak-to-peak amplitude of the signal according to the driving level parameter value is expressed in the form of a ratio with the maximum amplitude that can be output from the memory physical layer 352 (% of Vcca) and an actual amplitude value (mV).

구동 레벨 파라미터 값은 메모리 시스템(300)의 동작 옵션에 따라 선택될 수 있다. 메모리 시스템(300)의 동작 옵션은 호스트(200)에 의해 사전에 선택될 수 있다.The driving level parameter value may be selected according to an operation option of the memory system 300. The operation option of the memory system 300 may be selected in advance by the host 200.

예를 들어, 메모리 시스템(300)이 도 3a를 참조하여 설명된 높은 진폭 모드에서 종단 저항을 비활성화하여 동작하는 경우 출력 신호의 스윙폭은 320mV에서 480mV 범위에 속하고, 피크 투 피크 진폭은 640mV에서 960mV범위에 속하게 된다. 도 6a의 예에서, 메모리 시스템(300)은 피크 투 피크 진폭이 해당 범위에 속하기 위해서 구동 레벨 파라미터 값을 21 내지 31 중에서 선택할 수 있다.For example, when the memory system 300 operates by deactivating the terminating resistor in the high amplitude mode described with reference to FIG. 3A, the swing width of the output signal falls in the range of 320 mV to 480 mV, and the peak-to-peak amplitude is at 640 mV. It is in the 960mV range. In the example of FIG. 6A, the memory system 300 may select a driving level parameter value from 21 to 31 so that the peak-to-peak amplitude falls within the corresponding range.

도 6b는 엠퍼시스 파라미터 값에 따른 신호의 파형이 변화하는 정도를 나타내는 도면이다. 구현에 따라, 엠퍼시스 파라미터는 프리 엠퍼시스 파라미터 및 디 엠퍼시스 파라미터를 포함할 수 있다.6B is a diagram showing the degree to which a waveform of a signal varies according to an emphasis parameter value. Depending on the implementation, the emphasis parameter may include a pre-emphasis parameter and a the-emphasis parameter.

도 6b에서 프리 엠퍼시스 파라미터 값들 및 디 엠퍼시스 파라미터 값들은 각각 10진수(Dec), 2진수(Bin) 및 16진수(Hex) 형식으로 표현된다. In FIG. 6B, pre-emphasis parameter values and the emphasis parameter values are expressed in decimal (Dec), binary (Bin), and hexadecimal (Hex) formats, respectively.

도 6b의 위쪽 그래프는 프리 엠퍼시스 파라미터 값에 따라, 데이터가 유지되는 구간(Vb) 대비 데이터가 천이되기 직전 구간(Vc)의 신호의 진폭 비율을 데시벨(dB) 형식과 퍼센트(%) 형식으로 나타낸다. 메모리 시스템(300)은 프리 엠퍼시스 파라미터 값은 0 내지 10 중에서 선택할 수 있다.The upper graph of FIG. 6B shows the ratio of the amplitude of the signal in the section (Vc) immediately before the data transition to the section (Vb) where the data is maintained in the form of decibels (dB) and percent (%) according to the pre-emphasis parameter value. Show. The memory system 300 may select a pre-emphasis parameter value from 0 to 10.

도 6b의 아래쪽 그래프는 디 엠퍼시스 파라미터 값에 따라, 데이터가 천이되기 직후 구간(Va) 대비 데이터가 유지되는 구간(Vb)의 신호의 진폭 비율을 데시벨(dB) 형식과 퍼센트(%) 형식으로 나타낸다. 메모리 시스템(300)은 디 엠퍼시스 파라미터 값을 0 내지 5 중에서 선택될 수 있다.The lower graph of FIG. 6B shows the amplitude ratio of the signal in the period (Vb) in which the data is retained compared to the period immediately after the data transition (Va) in the form of decibels (dB) and percent (%) according to the value of the Emphasis parameter. Show. The memory system 300 may select the Emphasis parameter value from 0 to 5.

만약 메모리 시스템(300)이 높은 진폭 모드에서 종단 저항을 비활성화하여 동작하는 경우, 메모리 컨트롤러(330)는 구동 레벨 파라미터 값, 프리 엠퍼시스 파라미터 값 및 디 엠퍼시스 파라미터 값은 (21, 0, 0) 내지 (31, 10, 5)의 총 11×11×6=726개 조합 중에서 전부 또는 일부의 조합들을 선택하여 상기 테스트 동작을 반복 수행할 수 있다.If the memory system 300 operates by deactivating the terminating resistor in the high amplitude mode, the memory controller 330 determines the driving level parameter value, the pre-emphasis parameter value, and the de-emphasis parameter value (21, 0, 0). The test operation may be repeatedly performed by selecting all or some combinations of 11×11×6=726 combinations of (31, 10, 5).

일 실시예에서, 메모리 물리 계층(352)이 에러 정정 인코딩되지 않은 테스트 신호를 보냄으로써 연산량을 줄이고 호스트 링크 계층(254)의 에러에 대한 민감도를 향상시켜서 복수의 테스트 동작을 빠르게 수행할 수 있다.In one embodiment, the memory physical layer 352 transmits a test signal that is not error-corrected, thereby reducing the amount of computation and improving the sensitivity of the host link layer 254 to errors, thereby rapidly performing a plurality of test operations.

다시 도 5를 참조하면, 단계 S550에서 메모리 컨트롤러(330)는 테스트 동작의 결과에 기초하여 파라미터 값들의 최종 값을 결정할 수 있다. 예를 들어, 메모리 컨트롤러(330)는 테스트 결과 호스트(200)가 신호를 정상적으로 수신한 경우의 파라미터 값들의 조합에서 각 파라미터 값들의 중간 값을 각 파라미터 값들의 최종 값으로 결정할 수 있다. 예를 들어, 상기 파라미터 값들의 조합에서 프리 엠퍼시스 파라미터의 최솟값이 6이고 최댓값이 10인 경우, 프리 엠퍼시스 파라미터의 최종값을 상기 최솟값과 최댓값의 중간값인 8로 결정할 수 있다.Referring back to FIG. 5, in step S550, the memory controller 330 may determine final values of parameter values based on the result of the test operation. For example, the memory controller 330 may determine an intermediate value of each parameter value as a final value of each parameter value from a combination of parameter values when the host 200 normally receives a signal as a result of the test. For example, in the combination of the parameter values, when the minimum value of the pre-emphasis parameter is 6 and the maximum value is 10, the final value of the pre-emphasis parameter may be determined as 8, which is an intermediate value between the minimum value and the maximum value.

단계 S570에서, 메모리 컨트롤러(330)는 상기 최종 값들을 레지스터(370) 및 메모리 장치(150)에 저장할 수 있다.In step S570, the memory controller 330 may store the final values in the register 370 and the memory device 150.

단계 S590에서, 메모리 인터페이스(350)는 상기 최종 값들에 따라 크기 및 파형이 결정된 신호를 호스트(200)로 전송할 수 있다. 그리고, 메모리 컨트롤러(330)는 메모리 장치(150)에 상기 최종 값들을 저장하기 때문에, 메모리 시스템(300)이 다시 파워 온 된 경우에 상기 최종 값들을 사용하여 신호를 호스트(200)로 보낼 수 있다. In step S590, the memory interface 350 may transmit a signal whose size and waveform are determined according to the final values to the host 200. Further, since the memory controller 330 stores the final values in the memory device 150, when the memory system 300 is powered on again, a signal can be sent to the host 200 using the final values. .

만약 호스트(200)가 상기 최종 값들을 변경할 필요가 있다면 메모리 시스템(300)으로 다시 신호 튜닝 커맨드를 제공할 수 있다. 예를 들어, 호스트(200)가 메모리 시스템(300)의 동작 옵션을 변경하는 경우 메모리 시스템(300)의 출력 신호의 스윙폭이 변화하므로 상기 최종 값들을 변경할 필요가 있다.If the host 200 needs to change the final values, it may provide a signal tuning command to the memory system 300 again. For example, when the host 200 changes the operation option of the memory system 300, the swing width of the output signal of the memory system 300 changes, so it is necessary to change the final values.

도 7은 본 발명의 효과를 설명하기 위한 도면이다. 7 is a diagram for explaining the effect of the present invention.

도 7은 본 발명의 실시 예에 따라 메모리 시스템(300)의 실장 환경을 고려하여 파라미터들의 값을 정하는경우 통신의 신뢰성이 보장될 수 있다는 점을 설명한다.7 illustrates that reliability of communication can be guaranteed when values of parameters are determined in consideration of the mounting environment of the memory system 300 according to an embodiment of the present invention.

도 7은 높은 전압 모드에서 종단 저항을 비활성화할 때 메모리 시스템(300)의 복수의 테스트 동작 결과의 예를 비트맵 형식으로 나타낸다. 도 7의 비트맵의 가로 방향으로 메모리 시스템(300)이 가질 수 있는 프리 엠퍼시스 파라미터 값이 도시되고, 세로 방향으로 메모리 시스템(300)이 가질 수 있는 구동 전압 파라미터 값이 도시된다. 도 7은 예로서, 프리 엠퍼시스 파라미터 및 구동 전압 파라미터만을 변경시키며 테스트 동작을 수행한 경우를 나타낸다.7 shows an example of the results of a plurality of test operations of the memory system 300 in a bitmap format when terminating resistors are deactivated in a high voltage mode. The pre-emphasis parameter values that the memory system 300 can have are shown in the horizontal direction of the bitmap of FIG. 7, and the driving voltage parameter values that the memory system 300 can have are shown in the vertical direction. 7 illustrates a case in which a test operation is performed by changing only the pre-emphasis parameter and the driving voltage parameter, as an example.

회색 음영이 도시된 부분은 테스트 결과 호스트(200)가 신호를 정상적으로 수신할 수 있었던 경우를 나타내고, 음영이 도시되지 않은 부분은 테스트 결과 호스트(200)가 신호를 정상적으로 수신할 수 없었던 경우를 나타낸다. A gray shaded portion indicates a case where the host 200 was able to normally receive a signal as a result of the test, and a shaded portion indicates a case where the host 200 could not normally receive a signal as a result of the test.

도 7의 왼쪽 비트맵에서 검은색으로 도시된 부분은 신호 튜닝을 완료하기 전에 레지스터(370)에 저장된 파라미터 값들의 조합, 예를 들어 메모리 시스템(300)의 제조 당시에 설정된 파라미터 값들의 디폴트 조합을 나타낼 수 있다. 파라미터 값들의 디폴트 조합에 따른 테스트 동작에서는 신호가 정상적으로 전송되지 않았으며, 상기 디폴트 조합은 신호가 정상적으로 전송된 파라미터 값들의 조합의 범위에서 벗어난다. 이와 같이 메모리 시스템(300)의 실장 환경을 고려하지 못한 디폴트 조합으로 신호의 크기 및 파형을 결정하여 호스트(200)로 신호를 제공하는 경우 상기 신호가 호스트(200)에 정상적으로 전달되지 못하는 경우가 있다.The part shown in black in the left bitmap of FIG. 7 represents a combination of parameter values stored in the register 370 before signal tuning is completed, for example, a default combination of parameter values set at the time of manufacture of the memory system 300. I can. In the test operation according to the default combination of parameter values, the signal was not normally transmitted, and the default combination is out of the range of the combination of parameter values in which the signal was normally transmitted. In this way, when a signal is provided to the host 200 by determining the size and waveform of a signal with a default combination that does not take into account the mounting environment of the memory system 300, the signal may not be normally transmitted to the host 200. .

도 7의 오른쪽 비트맵에 검은색으로 도시된 부분은 신호 튜닝을 완료한 후에 레지스터(370)에 저장된 파라미터의 최종 값들의 조합을 나타낼 수 있다. 상기 최종 값들의 조합은 신호가 정상적으로 전송된 파라미터 값들의 조합의 범위 내에 있으므로 메모리 물리 계층(352)이 상기 최종 조합에 따라 호스트(200)로 출력 신호를 전송하는 경우 신호가 정상적으로 전달될 수 있다.The part shown in black in the right bitmap of FIG. 7 may represent a combination of final values of parameters stored in the register 370 after signal tuning is completed. Since the combination of the final values is within the range of the combination of parameter values in which the signal is normally transmitted, when the memory physical layer 352 transmits the output signal to the host 200 according to the final combination, the signal may be normally transmitted.

본 발명의 실시 예에 따르면, 메모리 시스템(300)은 호스트(200)의 신호 튜닝 커맨드에 응하여 호스트(200)로 제공하는 신호의 파형 및 크기를 실장 환경에 최적화할 수 있다. 따라서, 메모리 시스템(300)은 실장 환경에 관계없이 호스트(200)로 신호를 정상적으로 전달할 수 있다. 따라서, 메모리 시스템(300)의 신뢰성이 향상될 수 있다.According to an embodiment of the present invention, the memory system 300 may optimize a waveform and a size of a signal provided to the host 200 in response to a signal tuning command from the host 200 to a mounting environment. Accordingly, the memory system 300 can normally transmit a signal to the host 200 regardless of the mounting environment. Accordingly, the reliability of the memory system 300 may be improved.

한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, although specific embodiments have been described in the detailed description of the present invention, various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments and should not be defined by the scope of the claims to be described later, as well as the scope and equivalents of the claims.

100: 데이터 처리 시스템
200: 호스트
300: 메모리 시스템
100: data processing system
200: host
300: memory system

Claims (14)

데이터를 저장하는 메모리 장치;
상기 메모리 장치를 제어하는 컨트롤러;
호스트와 컨트롤러 간 통신을 수행하는 인터페이스; 및
상기 인터페이스가 상기 호스트로 제공하는 신호의 크기 및 파형과 관련된 파라미터의 값을 저장하는 레지스터를 포함하고,
상기 컨트롤러는
상기 인터페이스가 상기 파라미터 값에 따라 크기 및 파형이 결정되는 테스트 신호를 상기 호스트로 전송하도록 제어하고 상기 호스트로부터 상기 테스트 신호를 정상적으로 수신하였는지 여부를 나타내는 응답을 수신하는 테스트 동작을 복수의 파라미터 값들에 대해 반복 수행하며,
상기 파라미터 값들 각각의 테스트 수행 결과에 따라 결정된 최종 파라미터 값을 상기 레지스터에 저장하고, 상기 최종 파라미터 값에 따라 상기 인터페이스가 상기 호스트로 신호를 전송하도록 제어하는
메모리 시스템.
A memory device for storing data;
A controller controlling the memory device;
An interface for performing communication between a host and a controller; And
And a register for storing a value of a parameter related to a signal amplitude and a waveform provided by the interface to the host,
The controller is
A test operation of controlling the interface to transmit a test signal whose size and waveform is determined according to the parameter value to the host, and receiving a response indicating whether the test signal has been normally received from the host, is performed for a plurality of parameter values. Perform iteratively,
Storing a final parameter value determined according to a test result of each of the parameter values in the register, and controlling the interface to transmit a signal to the host according to the final parameter value
Memory system.
제1항에 있어서,
상기 컨트롤러는
상기 테스트 신호가 정상적으로 수신되는 경우의 파라미터 값들 중 최댓값과 최솟값의 중간값으로 상기 최종 파라미터 값을 결정하는
메모리 시스템.
The method of claim 1,
The controller is
The final parameter value is determined as an intermediate value between a maximum value and a minimum value among parameter values when the test signal is normally received.
Memory system.
제1항에 있어서,
상기 컨트롤러는
상기 호스트로부터의 신호 튜닝 커맨드에 응하여 상기 테스트 동작을 반복 수행하고, 상기 최종 파라미터 값을 상기 레지스터에 저장하는
메모리 시스템.
The method of claim 1,
The controller is
Repeatedly performing the test operation in response to a signal tuning command from the host, and storing the final parameter value in the register.
Memory system.
제1항에 있어서,
상기 파라미터는
구동 레벨 파라미터 및 엠퍼시스 파라미터를 포함하는
메모리 시스템.
The method of claim 1,
The above parameters are
Including the drive level parameter and the emphasis parameter
Memory system.
제4항에 있어서,
상기 엠퍼시스 파라미터는
프리 엠퍼시스 파라미터 및 디 엠퍼시스 파라미터를 포함하는
메모리 시스템.
The method of claim 4,
The above Emphasis parameter is
Including pre-emphasis parameter and the-emphasis parameter
Memory system.
제4항에 있어서,
상기 컨트롤러는
상기 테스트 동작 시 상기 인터페이스가 상기 구동 레벨 파라미터 값 및 엠퍼시스 파라미터 값의 조합에 따라 크기 및 파형이 결정되는 테스트 신호를 상기 호스트로 전송하도록 제어하고,
상기 파라미터 값들의 복수의 조합들 각각의 테스트 수행 결과에 따라 결정된 최종 구동 레벨 파라미터 값 및 최종 엠퍼시스 파라미터 값을 상기 레지스터에 저장하는
메모리 시스템.
The method of claim 4,
The controller is
During the test operation, the interface controls to transmit a test signal whose size and waveform are determined according to a combination of the driving level parameter value and the emphasis parameter value to the host,
Storing a final driving level parameter value and a final emphasis parameter value determined according to a test result of each of the plurality of combinations of the parameter values in the register
Memory system.
제6항에 있어서,
상기 컨트롤러는
상기 테스트 신호가 정상적으로 수신되는 경우의 조합들에 포함된 구동 레벨 파라미터 값들 중 최댓값과 최솟값의 중간값으로 상기 최종 구동 레벨 파라미터 값들을 결정하고,
상기 테스트 신호가 정상적으로 수신되는 경우의 조합들에 포함된 엠퍼시스 파라미터 값들 중 최댓값과 최솟값의 중간값으로 상기 최종 엠퍼시스 파라미터 값들을 결정하는
메모리 시스템.
The method of claim 6,
The controller is
The final driving level parameter values are determined as an intermediate value between a maximum value and a minimum value among driving level parameter values included in combinations when the test signal is normally received,
Determining the final Emphasis parameter values as a median value between a maximum value and a minimum value among emphasis parameter values included in combinations when the test signal is normally received.
Memory system.
메모리 시스템의 동작 방법에 있어서,
파라미터 값에 따라 크기 및 파형이 결정되는 테스트 신호를 호스트로 전송하는 제1 단계;
상기 호스트로부터 상기 테스트 신호를 정상적으로 수신하였는지 여부를 나타내는 응답을 수신하는 제2 단계;
복수의 파라미터 값들에 대해 상기 제1 및 제2 단계를 반복 수행하는 단계;
상기 복수의 파라미터 값들 각각에 대한 상기 호스트의 응답에 기초하여 결정된 최종 파라미터 값을 내부 레지스터에 저장하는 단계; 및
상기 최종 파라미터 값에 따라 상기 호스트로 신호를 전송하는 단계
를 포함하는 동작 방법.
In the method of operating a memory system,
A first step of transmitting a test signal whose size and waveform are determined according to a parameter value to a host;
A second step of receiving a response indicating whether the test signal has been normally received from the host;
Repeatedly performing the first and second steps for a plurality of parameter values;
Storing a final parameter value determined based on a response of the host to each of the plurality of parameter values in an internal register; And
Transmitting a signal to the host according to the final parameter value
Operation method comprising a.
제8항에 있어서,
상기 복수의 파라미터 값들 각각에 대한 상기 호스트의 응답에 기초하여 결정된 최종 파라미터 값을 내부 레지스터에 저장하는 단계는
상기 테스트 신호가 정상적으로 수신되는 경우의 파라미터 값들 중 최댓값과 최솟값의 중간값으로 상기 최종 파라미터 값을 결정하는 단계
를 포함하는 동작 방법.
The method of claim 8,
Storing a final parameter value determined based on the response of the host to each of the plurality of parameter values in an internal register
Determining the final parameter value as an intermediate value between a maximum value and a minimum value among parameter values when the test signal is normally received
Operation method comprising a.
제8항에 있어서,
상기 제1 및 제2 단계를 반복 수행하는 단계는
상기 호스트로부터의 신호 튜닝 커맨드에 응하여 수행되는
동작 방법.
The method of claim 8,
Repeating the first and second steps
Performed in response to a signal tuning command from the host
How it works.
제8항에 있어서,
상기 파라미터는
구동 레벨 파라미터 및 엠퍼시스 파라미터를 포함하는
동작 방법.
The method of claim 8,
The above parameters are
Including the drive level parameter and the emphasis parameter
How it works.
제11항에 있어서,
상기 엠퍼시스 파라미터는
프리 엠퍼시스 파라미터 및 디 엠퍼시스 파라미터를 포함하는
동작 방법.
The method of claim 11,
The above Emphasis parameter is
Including pre-emphasis parameter and the-emphasis parameter
How it works.
제11항에 있어서,
상기 제1 단계는
상기 구동 레벨 파라미터 값 및 엠퍼시스 파라미터 값의 조합에 따라 크기 및 파형이 결정되는 테스트 신호를 상기 호스트로 전송하는 단계를 포함하고,
상기 복수의 파라미터 값들 각각에 대한 상기 호스트의 응답에 기초하여 결정된 최종 파라미터 값을 내부 레지스터에 저장하는 단계는
상기 파라미터 값들의 복수의 조합들 각각의 테스트 수행 결과에 따라 결정된 최종 구동 레벨 파라미터 값 및 최종 엠퍼시스 파라미터 값을 상기 레지스터에 저장하는 단계
를 포함하는 동작 방법.
The method of claim 11,
The first step
Transmitting a test signal whose size and waveform are determined according to a combination of the driving level parameter value and the emphasis parameter value to the host,
Storing a final parameter value determined based on the response of the host to each of the plurality of parameter values in an internal register
Storing a final driving level parameter value and a final emphasis parameter value determined according to a test result of each of the plurality of combinations of parameter values in the register
Operation method comprising a.
제13항에 있어서,
상기 파라미터 값들의 복수의 조합들 각각의 테스트 수행 결과에 따라 결정된 최종 구동 레벨 파라미터 값 및 최종 엠퍼시스 파라미터 값을 상기 레지스터에 저장하는 단계는
상기 테스트 신호가 정상적으로 수신되는 경우의 조합들에 포함된 구동 레벨 파라미터 값들 중 최댓값과 최솟값의 중간값으로 상기 최종 구동 레벨 파라미터 값들을 결정하는 단계; 및
상기 테스트 신호가 정상적으로 수신되는 경우의 조합들에 포함된 엠퍼시스 파라미터 값들 중 최댓값과 최솟값의 중간값으로 상기 최종 엠퍼시스 파라미터 값들을 결정하는 단계
를 포함하는 동작 방법.

The method of claim 13,
Storing a final driving level parameter value and a final emphasis parameter value determined according to a test execution result of each of the plurality of combinations of parameter values in the register
Determining the final driving level parameter values as an intermediate value between a maximum value and a minimum value among driving level parameter values included in combinations when the test signal is normally received; And
Determining the final emphasis parameter values as a median value between a maximum value and a minimum value among emphasis parameter values included in combinations when the test signal is normally received.
Operation method comprising a.

KR1020190147473A 2019-11-18 2019-11-18 Memory system and operation method thereof KR20210059988A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190147473A KR20210059988A (en) 2019-11-18 2019-11-18 Memory system and operation method thereof
US16/941,134 US11354062B2 (en) 2019-11-18 2020-07-28 Memory system and operation method thereof
CN202010869694.8A CN112817518B (en) 2019-11-18 2020-08-26 Memory system and method of operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190147473A KR20210059988A (en) 2019-11-18 2019-11-18 Memory system and operation method thereof

Publications (1)

Publication Number Publication Date
KR20210059988A true KR20210059988A (en) 2021-05-26

Family

ID=75853192

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190147473A KR20210059988A (en) 2019-11-18 2019-11-18 Memory system and operation method thereof

Country Status (3)

Country Link
US (1) US11354062B2 (en)
KR (1) KR20210059988A (en)
CN (1) CN112817518B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220200826A1 (en) * 2020-12-22 2022-06-23 Huawei Technologies Co., Ltd. Communication method, electronic apparatus, processing apparatus, and electronic device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220126364A (en) * 2021-03-09 2022-09-16 에스케이하이닉스 주식회사 Computer System and Interface Circuit Therefor
TW202306365A (en) * 2021-07-29 2023-02-01 韓商愛思開海力士有限公司 Method for data processing of frame receiving of an interconnection protocol and storage device
TWI800327B (en) * 2022-03-23 2023-04-21 慧榮科技股份有限公司 Data storage system and parameter margin evaluation method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2535438C (en) * 2003-08-13 2016-09-20 Qualcomm Incorporated A signal interface for higher data rates
KR100565212B1 (en) 2004-10-26 2006-03-30 엘지전자 주식회사 Automatic tuning method for system clock signal
KR101300036B1 (en) 2006-11-24 2013-08-29 삼성전자주식회사 Memory test apparatus calibrating setting value of memory and method thereof
KR102524916B1 (en) * 2018-03-13 2023-04-26 에스케이하이닉스 주식회사 Storage device and operating method thereof
US10782902B2 (en) * 2018-08-27 2020-09-22 Seagate Technology Llc Device parameter tuning

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220200826A1 (en) * 2020-12-22 2022-06-23 Huawei Technologies Co., Ltd. Communication method, electronic apparatus, processing apparatus, and electronic device

Also Published As

Publication number Publication date
US11354062B2 (en) 2022-06-07
US20210149581A1 (en) 2021-05-20
CN112817518B (en) 2024-04-26
CN112817518A (en) 2021-05-18

Similar Documents

Publication Publication Date Title
KR20210059988A (en) Memory system and operation method thereof
EP3373283A2 (en) Method and apparatus for adjusting backlight brightness of screen, and mobile terminal
US20110317716A1 (en) Method, system, and program for managing a speed at which data is transmitted between network adaptors
EP2809111A1 (en) Serdes power throttling as a function of detected error rate
US20060119381A1 (en) PVT controller for programmable on die termination
CN105700732A (en) Apparatus, system and method for communication of touch sensor information
US10326622B2 (en) Equalizer tuning method, signal receiving circuit and a memory storage device
WO2022257425A1 (en) Transmission rate control method and apparatus, electronic device, and readable storage medium
US20040203483A1 (en) Interface transceiver power mangagement method and apparatus
JP2007515143A (en) Two-wire interface with data fields that can be dynamically adjusted by operation code
US8209450B2 (en) Maintenance operations using configurable parameters
CN113535596A (en) Equalization adjustment method, equalization adjustment device, and computer-readable storage medium
US11901961B2 (en) Interface circuit, memory controller and method for calibrating signal processing devices in an interface circuit of a memory controller
US20230168958A1 (en) Interface circuit, memory controller and method for calibrating signal processing devices in an interface circuit
TWI791257B (en) Signal re-driving device, data storage system and mode control method
US11841756B2 (en) Method for information configuration in power mode change for an interconnection protocol, controller and storage device
US11599495B2 (en) Device for performing communication and computing system including the same
US11137819B2 (en) PHY calibration for active-idle power reduction
CN113206683A (en) Circuit parameter adjusting system, method and host system
CN108337068A (en) Data communicate and Related product
EP2566259A2 (en) Method and apparatus for configuring ping interval in a portable terminal
US10735227B1 (en) System and method to monitor component wear on high speed serial interfaces
US11831477B2 (en) Link training scheme for high-speed serializer/deserializer
US20230305716A1 (en) Data storage system and parameter margin evaluation method
TWI839237B (en) A method for performing dynamic traffic shaping and a device thereof

Legal Events

Date Code Title Description
A201 Request for examination