KR20210059988A - 메모리 시스템 및 메모리 시스템의 동작 방법 - Google Patents

메모리 시스템 및 메모리 시스템의 동작 방법 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
English (en)
Inventor
김현철
Original Assignee
에스케이하이닉스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020190147473A priority Critical patent/KR20210059988A/ko
Priority to US16/941,134 priority patent/US11354062B2/en
Priority to CN202010869694.8A priority patent/CN112817518B/zh
Publication of KR20210059988A publication Critical patent/KR20210059988A/ko

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

메모리 시스템은, 데이터를 저장하는 메모리 장치; 상기 메모리 장치를 제어하는 컨트롤러; 호스트와 컨트롤러 간 통신을 수행하는 인터페이스; 및 상기 인터페이스가 상기 호스트로 제공하는 신호의 크기 및 파형과 관련된 파라미터의 값을 저장하는 레지스터를 포함하고, 상기 컨트롤러는 상기 인터페이스가 상기 파라미터 값에 따라 크기 및 파형이 결정되는 테스트 신호를 상기 호스트로 전송하도록 제어하고 상기 호스트로부터 상기 테스트 신호를 정상적으로 수신하였는지 여부를 나타내는 응답을 수신하는 테스트 동작을 복수의 파라미터 값들에 대해 반복 수행하며, 상기 파라미터 값들 각각의 테스트 수행 결과에 따라 결정된 최종 파라미터 값을 상기 레지스터에 저장하고, 상기 최종 파라미터 값에 따라 상기 인터페이스가 상기 호스트로 신호를 전송하도록 제어한다.

Description

메모리 시스템 및 메모리 시스템의 동작 방법{MEMORY SYSTEM AND OPERATION METHOD THEREOF}
본 발명은 메모리 시스템에 관한 것이다.
최근 컴퓨터 환경에 대한 패러다임(paradigm)이 언제, 어디서나 컴퓨터 시스템을 사용할 수 있도록 하는 유비쿼터스 컴퓨팅(ubiquitous computing)으로 전환되고 있다. 이로 인해 휴대폰, 디지털 카메라, 노트북 컴퓨터 등과 같은 휴대용 전자 장치의 사용이 급증하고 있다. 이와 같은 휴대용 전자 장치는 일반적으로 메모리 장치를 이용하는 메모리 시스템, 다시 말해 데이터 저장 장치를 사용한다. 데이터 저장 장치는 휴대용 전자 장치의 주 기억 장치 또는 보조 기억 장치로 사용된다.
메모리 장치를 이용한 데이터 저장 장치는 기계적인 구동부가 없어서 안정성 및 내구성이 뛰어나며, 또한 정보의 액세스 속도가 매우 빠르고 전력 소모가 적다는 장점이 있다. 이러한 장점을 갖는 메모리 시스템의 일 예로 데이터 저장 장치는, USB(Universal Serial Bus) 메모리 장치, 다양한 인터페이스를 갖는 메모리 카드, 솔리드 스테이트 드라이브(SSD: Solid State Drive) 등을 포함한다.
본 발명은 실장 환경에 관계없이 호스트와 메모리 시스템 간 통신의 신뢰성을 보장하는 메모리 시스템을 제공하고자 한다.
본 발명의 실시 예에 따른 메모리 시스템은, 데이터를 저장하는 메모리 장치; 상기 메모리 장치를 제어하는 컨트롤러; 호스트와 컨트롤러 간 통신을 수행하는 인터페이스; 및 상기 인터페이스가 상기 호스트로 제공하는 신호의 크기 및 파형과 관련된 파라미터의 값을 저장하는 레지스터를 포함하고, 상기 컨트롤러는 상기 인터페이스가 상기 파라미터 값에 따라 크기 및 파형이 결정되는 테스트 신호를 상기 호스트로 전송하도록 제어하고 상기 호스트로부터 상기 테스트 신호를 정상적으로 수신하였는지 여부를 나타내는 응답을 수신하는 테스트 동작을 복수의 파라미터 값들에 대해 반복 수행하며, 상기 파라미터 값들 각각의 테스트 수행 결과에 따라 결정된 최종 파라미터 값을 상기 레지스터에 저장하고, 상기 최종 파라미터 값에 따라 상기 인터페이스가 상기 호스트로 신호를 전송하도록 제어한다.
본 발명의 실시 예에 따른 메모리 시스템의 동작 방법은, 파라미터 값에 따라 크기 및 파형이 결정되는 테스트 신호를 호스트로 전송하는 제1 단계; 상기 호스트로부터 상기 테스트 신호를 정상적으로 수신하였는지 여부를 나타내는 응답을 수신하는 제2 단계; 복수의 파라미터 값들에 대해 상기 제1 및 제2 단계를 반복 수행하는 단계; 상기 복수의 파라미터 값들 각각에 대한 상기 호스트의 응답에 기초하여 결정된 최종 파라미터 값을 내부 레지스터에 저장하는 단계; 및 상기 최종 파라미터 값에 따라 상기 호스트로 신호를 전송하는 단계를 포함한다.
본 발명의 실시 예에 따르면 메모리 시스템의 실장 환경의 차이에 관계없이 메모리 시스템으로부터 호스트로 전달되는 신호의 노이즈 마진(noise margin)을 충분히 확보할 수 있다.
본 발명의 실시 예에 따르면 호스트와 메모리 시스템 간 고속 통신을 수행하는 경우라도 호스트와 메모리 시스템 간 신호 전달의 신뢰성이 보장될 수 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 데이터 처리 시스템을 나타낸다.
도 2는 호스트 인터페이스와 메모리 인터페이스의 일 예를 설명하기 위한 도면이다.
도 3a 내지 도 3c는 구동 레벨 파라미터, 엠퍼시스 동작 및 엠퍼시스 파라미터를 설명하기 위한 도면이다.
도 4a 및 도 4b는 호스트 물리 계층이 수신하는 신호의 아이 다이어그램(eye diagram)을 예시한다.
도 5는 본 발명의 실시 예에 따른 메모리 시스템의 동작을 나타낸다.
도 6a 내지 도 6b는 파라미터 값들의 조합을 설명하기 위한 도면이다.
도 7은 본 발명의 효과를 설명하기 위한 도면이다.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩뜨리지 않도록 생략될 것이라는 것을 유의하여야 한다.
이하, 도면들을 참조하여 본 발명의 실시 예들에 대해서 보다 구체적으로 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템(300)을 포함하는 데이터 처리 시스템(100)을 나타낸다.
도 1을 참조하면, 데이터 처리 시스템(100)은, 호스트(200) 및 메모리 시스템(300)을 포함한다.
호스트(200)는 전자 장치, 예를 들어 휴대폰, MP3 플레이어, 랩탑 컴퓨터 등과 같은 휴대용 전자 장치들, 또는 데스크탑 컴퓨터, 게임기, TV, 프로젝터 등과 같은 전자 장치들을 포함할 수 있다.
호스트(200)는 적어도 하나의 운영 시스템(OS: operating system)을 포함할 수 있다. 운영 시스템은 호스트(200)의 기능 및 동작을 전반적으로 관리 및 제어하고, 데이터 처리 시스템(100) 또는 메모리 시스템(300)을 사용하는 사용자와 호스트(200) 간에 상호 동작을 제공한다. 운영 시스템은 사용자의 사용 목적 및 용도에 상응한 기능 및 동작을 지원하며, 호스트(200)의 이동성(mobility)에 따라 일반 운영 시스템과 모바일 운용 시스템으로 구분할 수 있다. 운영 시스템에서의 일반 운영 시스템은, 사용자의 사용 환경에 따라 개인용 운영 시스템과 기업용 운영 시스템으로 구분할 수 있다.
메모리 시스템(300)은 호스트(200)의 요청에 응하여 호스트(200)의 데이터를 저장하기 위해 동작할 수 있다. 예를 들어, 메모리 시스템(110)은 UFS(Universal Flash Storage), USB(Universal Storage Bus)와 같은, MIPI M-PHY 프로토콜에 따라 동작하는 인터페이스로 호스트(200)와 통신하여 호스트(200)의 데이터를 저장할 수 있다.
호스트(200)는 메모리 시스템(300)에 각종 커맨드를 제공할 수 있다. 상기 커맨드는 리드 커맨드, 라이트 커맨드를 포함할 수 있다. 메모리 시스템(300)은 호스트(200)와 서로 연결될 수 있다.
호스트(200)의 커맨드가 라이트 커맨드인 경우, 메모리 시스템(300)는 호스트(200)로부터 수신한 데이터를 저장할 수 있고, 호스트(200)의 커맨드가 리드 커맨드인 경우, 메모리 시스템(300)은 내부에 저장된 데이터를 호스트(200)로 제공할 수 있다.
호스트(200)는 호스트 컨트롤러(230) 및 호스트 인터페이스(250)를 포함할 수 있다.
호스트 컨트롤러(230)는 호스트(200)를 제어하기 위한 각종 신호를 출력할 수 있다. 예를 들어, 호스트 컨트롤러(230)는 메모리 시스템(300)로부터 데이터를 리드하기 위한 리드 커맨드를 생성하여 메모리 시스템(300)으로 제공할 수 있다.
호스트 인터페이스(250)는 호스트 컨트롤러(230)와 메모리 시스템(300) 사이에서 신호를 주고받을 수 있다. 호스트 인터페이스(250)는 메모리 시스템(300)과 표준 인터페이스를 통해 연결될 수 있다.
호스트 인터페이스(250)는 호스트 물리 계층(252) 및 호스트 링크 계층(254)을 포함할 수 있다.
호스트 물리 계층(252)은 메모리 시스템(300)으로 전기 신호를 제공하고, 메모리 시스템(300)으로부터 전기 신호를 수신할 수 있다. 일 실시예에서, 호스트 물리 계층(252)은 MIPI(Mobile Industry Processor Interface) M-PHY 프로토콜을 지원할 수 있다.
호스트 링크 계층(254)은 호스트 물리 계층(252)의 상위 계층으로서, 호스트 컨트롤러(230)로부터의 메시지를 전기 신호로 변환하여 호스트 물리 계층(252)으로 제공하고, 호스트 물리 계층(252)으로부터 입력되는 전기 신호의 유효 여부를 검사하고 호스트 컨트롤러(230)로 메시지를 제공할 수 있다. 일 실시예에서, 호스트 링크 계층(254)은 MIPI UNIPRO 프로토콜을 지원할 수 있다.
메모리 시스템(300)은 메모리 장치(310), 메모리 컨트롤러(330), 메모리 인터페이스(350) 및 레지스터(370)를 포함할 수 있다.
메모리 장치(310)는 호스트(200)를 위한 데이터를 저장할 수 있다. 메모리 장치(310)는 비휘발성 메모리 장치일 수 있으며, 전원이 공급되지 않아도 저장된 데이터를 유지할 수 있다. 메모리 장치(310)는 프로그램 동작을 통해 호스트(200)로부터 제공된 데이터를 저장할 수 있고, 리드 동작을 통해 메모리 장치(310)에 저장된 데이터를 호스트(200)로 제공할 수 있다. 일 실시예에서, 메모리 장치(310)는 플래시 메모리가 될 수 있다. 상기 플래시 메모리는 3차원 스택 구조를 가질 수 있다.
메모리 컨트롤러(330)는 메모리 시스템(300)의 제반 동작을 제어할 수 있다.
예를 들어, 메모리 컨트롤러(330)는 마이크로프로세서 또는 중앙 처리 장치(CPU) 등으로 구현된 프로세서를 통해 호스트(200)가 요청한 동작을 수행할 수 있다. 메모리 컨트롤러(330)는 호스트(200)로부터 수신된 커맨드에 대응하는 커맨드 동작으로서 포그라운드 동작(foreground operation)을 수행할 수 있다.
그리고, 메모리 컨트롤러(330)는 메모리 장치(310)에 대한 백그라운드 동작을 수행할 수도 있다. 예를 들어, 메모리 장치(310)에 대한 백그라운드 동작은 가비지 컬렉션(GC: Garbage Collection) 동작, 웨어 레벨링(WL: Wear Leveling) 동작, 맵 플러시(map flush) 동작, 배드 블록 관리(bad block management) 동작 등을 포함할 수 있다.
메모리 인터페이스(350)는 호스트(200)와 메모리 컨트롤러(330) 사이에서 신호를 주고받을 수 있다. 메모리 인터페이스(350)는 호스트 인터페이스(250)와 표준 인터페이스를 통해 연결될 수 있다.
메모리 인터페이스(350)는 메모리 물리 계층(352) 및 메모리 링크 계층(354)을 포함할 수 있다. 메모리 물리 계층(352) 및 메모리 링크 계층(354)은 호스트 물리 계층(252) 및 호스트 링크 계층(254)과 짝(pair)을 이룰 수 있다. 예를 들어, 메모리 물리 계층(352)은 MIPI M-PHY 프로토콜을 지원할 수 있으며, 메모리 링크 계층(354)은 MIPI UNIPRO 프로토콜을 지원할 수 있다. 호스트 물리 계층(252)의 송신부(미도시)는 메모리 물리 계층(352)의 수신부(미도시)에 연결될 수 있다. 호스트 물리 계층(252)의 수신부(미도시)는 메모리 물리 계층(352)의 송신부(미도시)에 연결될 수 있다.
호스트(200)와 메모리 시스템(300) 사이에 신호 송수신을 위해 형성된 채널을 레인이라 한다. 호스트 물리 계층(252)의 한 쌍의 송신부 및 수신부는 메모리 물리 계층(352)의 한 쌍의 수신부 및 송신부와 연결되어 하나의 레인을 형성할 수 있다. 도 1은 메모리 물리 계층(352)의 송신부로부터 호스트 물리 계층(252)의 수신부로 송신되는 제1 신호(SIG1) 및 호스트 물리 계층(252)의 송신부로부터 메모리 물리 계층(352)의 수신부로 송신되는 제2 신호(SIG2)를 예시한다. 구현에 따라, 호스트(200)와 메모리 시스템(300)은 하나 이상의 레인으로 연결될 수 있다.
레지스터(370)는 메모리 시스템(300)의 동작 모드를 결정하는 데이터를 저장할 수 있다. 예를 들어, 레지스터(370)는 메모리 물리 계층(352)에서 호스트 물리 계층(252)으로 전송되는 전기 신호의 크기 및 파형을 결정하는 파라미터들의 값을 저장할 수 있다.
메모리 장치(310), 컨트롤러(330), 메모리 인터페이스(350) 및 레지스터(370) 등 메모리 시스템(300)의 구성요소들은 하나의 반도체 장치로 집적될 수 있다. 게다가, 메모리 시스템(300)의 구성요소들은 하나의 반도체 장치로 집적되어 메모리 카드를 구성할 수 있다. 예를 들어, 메모리 시스템(300)의 구성요소들은 UFS 저장 장치와 같은 메모리 카드를 구성할 수 있다.
전기 신호의 크기를 결정하는 파라미터의 일 예로, 전기 신호의 피크 투 피크 전압을 결정하는 구동 레벨(drive level) 파라미터가 있으며 전기 신호의 파형을 결정하는 파라미터의 일 예로, 엠퍼시스 동작의 정도를 결정하는 엠퍼시스 파라미터가 있다. 상기 구동 레벨 파라미터, 엠퍼시스 동작 및 엠퍼시스 파라미터에 대해 도 3a 내지 도 3c를 참조하여 후술된다.
상기 전기 신호의 구동 레벨 파라미터와 엠퍼시스 파라미터의 값은 메모리 시스템(300)의 제조 시 결정되어 메모리 장치(310)에 저장된 후 메모리 시스템(300)의 동작 시 레지스터(370)에 로드되어 사용될 수 있다.
한편, 호스트 물리 계층(252)은 메모리 물리 계층(352)으로부터 수신한 전기 신호가 정해진 범위의 노이즈 마진을 갖는 경우에 정상적으로 수신할 수 있다. 호스트 물리 계층(252)이 메모리 물리 계층(352)으로부터의 전기 신호를 정상적으로 수신할 수 있는지 여부는 상기 전기 신호가 송신될 때의 크기 및 파형뿐만 아니라, 호스트 물리 계층(252)과 메모리 물리 계층(352) 사이에 형성된 레인의 환경에 따라 달라질 수 있다.
상기 레인의 환경은 호스트(200)와 메모리 시스템(300)의 실장 환경에 따라 달라질 수 있다. 예를 들어, 호스트(200)와 메모리 시스템(300)이 스마트 폰(smart phone)에 실장되는 경우, 어떤 기종의 스마트 폰에 실장되는지에 따라 호스트(200)와 메모리 시스템(300)의 회로상의 배치가 달라져서 상기 레인의 환경도 달라질 수 있다.
빠른 데이터 입출력에 대한 수요가 증가하면서 호스트 인터페이스(250)와 메모리 인터페이스(350) 간 통신도 고속화되고 있다. 데이터 전송 속도가 빨라질수록 메모리 물리 계층(352)으로부터 전송되는 전기 신호는 실장 환경의 영향을 많이 받게 된다. 메모리 물리 계층(352)이 동일한 전기 신호를 전송하더라도 실장 환경에 따라 호스트 물리 계층(252)이 수신하는 전기 신호의 노이즈 마진은 크게 달라질 수 있다.
메모리 시스템(300)의 제조 시에는 메모리 시스템(300)의 다양한 실장 환경이 모두 고려될 수는 없다. 메모리 물리 계층(352)이 메모리 시스템(300)의 제조 시 결정된 크기 및 엠퍼시스 파라미터의 값을 사용하여 전기 신호를 전송하는 경우 실장 환경에 따라서는 호스트(200)가 메모리 시스템(300)의 신호를 정상적으로 수신할 수 없어 메모리 시스템(300)의 신뢰도가 떨어질 수 있다.
따라서, 실장 환경에 따라 상기 구동 레벨 파라미터 및 엠퍼시스 파라미터의 값을 설정할 수 있는 메모리 시스템(300)이 요구된다.
본 발명의 실시 예에 따르면, 메모리 컨트롤러(330)는 호스트(200)로부터의 커맨드에 응하여 구동 레벨 파라미터 및 엠퍼시스 파라미터가 가질 수 있는 값들의 복수의 조합에 대해 신호 전송 테스트를 반복 수행하고, 테스트 결과에 따라 각 파라미터의 최종 값을 결정할 수 있다.
구체적으로, 메모리 컨트롤러(330)는 메모리 인터페이스(350)가 호스트 인터페이스(250)로 테스트 신호를 전송하도록 제어하고, 호스트 인터페이스(250)로부터 상기 테스트 신호를 정상적으로 수신하였는지 여부를 나타내는 응답을 수신하는 테스트 동작을 수행할 수 있다. 메모리 컨트롤러(330)는 구동 레벨 파라미터 및 엠퍼시스 파라미터 값들의 조합을 각각 달리하여 상기 테스트 동작을 복수 회 수행하고 각 테스트 동작의 결과를 내부 메모리에 임시 저장할 수 있다. 메모리 컨트롤러(330)는 테스트 동작시 신호 전송에 성공한 경우의 파라미터 값들의 조합에 기초하여 각 파라미터의 최종 값들을 결정할 수 있다. 상기 최종 값들은 레지스터(370)에 저장될 수 있다. 메모리 물리 계층(352)은 상기 최종 값들에 기초하여 호스트 물리 계층(252)으로 신호를 전송할 수 있다.
상기 테스트 동작은 메모리 시스템(300)의 실장 환경에서 수행될 수 있다. 상기 테스트 동작에 의해 각 파라미터의 최종 값들이 결정되면 메모리 인터페이스(350)는 실장 환경에 적합한 값을 사용하여 호스트 인터페이스(250)로 신호를 전송할 수 있다. 따라서, 호스트(200)와 메모리 시스템(300)의 실장 환경에 관계없이 호스트(200)와 메모리 시스템(300) 간 신호 전달의 신뢰성이 보장될 수 있다.
이하에서는 본 발명의 실시 예에 따른 메모리 시스템(300) 및 그 동작 방법이 상세히 설명된다.
도 2는 호스트 인터페이스(250)와 메모리 인터페이스(350)의 일 예를 설명하기 위한 도면이다.
도 2는 호스트(200)와 메모리 시스템(300)을 포함하는 데이터 처리 시스템(100)을 나타낸다. 도 2의 데이터 처리 시스템(100)은 도 1을 참조하여 설명된 데이터 처리 시스템(100)과 대응한다.
호스트 컨트롤러(230)와 메모리 컨트롤러(330)는 추상화된 어플리케이션 계층을 제공할 수 있다. 호스트 컨트롤러(230)와 메모리 컨트롤러(330)는 호스트 인터페이스(250)와 메모리 인터페이스(350)를 통해 메시지(MESSAGE)를 주고받을 수 있다.
도 1에서 설명된 바와 같이, 호스트 인터페이스(250)는 호스트 물리 계층(252) 및 호스트 링크 계층(254)을 포함할 수 있으며, 메모리 인터페이스(350)는 메모리 물리 계층(352) 및 메모리 링크 계층(354)을 포함할 수 있다. 도 2에서는 호스트 물리 계층(252) 및 메모리 물리 계층(352)을 통틀어서 물리 계층으로 지칭하고, 호스트 링크 계층(254) 및 메모리 링크 계층(354)을 통틀어서 링크 계층으로 지칭한다.
도 1에서 설명된 바와 같이, 링크 계층은 MIPI UNIPRO를 지원하고, 물리 계층은 MIPI M-PHY를 지원할 수 있다.
물리 계층은 표준에 따라 전기 신호를 출력 또는 수신할 수 있다. 구현에 따라 물리 계층은 에러 정정 인코딩된 데이터의 전기 신호를 출력할 수 있다. 그리고, 물리 계층은 전기 신호를 수신하면 상기 전기 신호에 대응하는 데이터를 디코딩하여 에러를 검출 및 정정할 수 있다. 만약 물리 계층에서 수신된 신호의 노이즈 마진이 충분하지 않은 경우 수신된 신호에 대응하는 데이터 비트에 에러가 포함될 수 있고, 물리 계층은 상기 에러를 검출 및 정정할 수 있다.
링크 계층은 표준에 따라 전기 신호를 변환할 수 있다.
링크 계층은 물리 어댑터 계층(PHY ADAPTER, L1.5), 데이터 링크 계층(DATA LINK, L2), 네트워크 계층(NETWORK, L3), 트랜스포트 계층(TRANSPORT, L4) 및 레이어들(L1.5~L4)를 제어하는 디바이스 관리 엔티티(Device Management Entity, DME)를 포함할 수 있다.
링크 계층에 포함된 각 계층(L1.5 - L4)은 컨트롤러의 메시지를 순차적으로 세그먼트(SEGMENT), 패킷(PACKET), 프레임(FRAME) 및 심볼(SYMBOL)의 형태로 변환하여 물리 계층으로 제공할 수 있다. 각 계층(L1.5 - L4)은 물리 계층에서 수신된 전기 신호를 순차적으로 심볼, 프레임, 패킷 및 세그먼트로 변환하여 컨트롤러로 제공할 수 있다. 각 계층(L1.5 - L4)은 전기 신호를 심볼, 프레임, 패킷 및 세그먼트로 변환하면서 변환된 신호의 유효 여부를 판단할 수 있다. 예를 들어, 상기 변환된 신호가 정해진 포맷에 맞지 않는 경우 각 계층(L1.5 - L4)은 상기 변환된 신호가 유효하지 않은 것으로 판단할 수 있다.
상기와 같은 계층 사이의 신호 형태의 변환 동작에 의해 신호는 각 계층을 거칠 때마다 헤더(header)가 부가되거나 제거될 수 있다. 이하에서는 신호 형태의 변환과 무관하게 동일한 신호로 명명된다.
도 3a 내지 도 3c는 구동 레벨 파라미터, 엠퍼시스 동작 및 엠퍼시스 파라미터를 설명하기 위한 도면이다.
도 3a는 메모리 물리 계층(352)에서 출력되는 신호의 전위를 나타낸다.
메모리 물리 계층(352)은 신호의 노이즈를 상쇄하기 위해 공통 모드(common mode) 전압을 중심으로 두 개의 신호가 스윙하는 디퍼런셜 신호(differential signal)를 출력할 수 있다.
M-PHY 프로토콜은 메모리 물리 계층(352)이 출력하는 신호의 다양한 옵션을 제공할 수 있다.
메모리 물리 계층(352)은 프로토콜에서 제공하는 옵션에 따라 높은 진폭(Large Amplitude, LA)모드 또는 낮은 진폭(Small Amplitude, SA) 모드로 디퍼런셜 신호를 출력할 수 있다. 메모리 물리 계층(352)은 레인의 임피던스 매칭(impedance matching)을 위해 종단 저항(termination resister)을 사용할 수 있으며, 프로토콜에서 제공하는 옵션에 따라 종단 저항을 활성화하거나 비활성화할 수 있다. 메모리 물리 계층(352)이 어떤 모드로 동작할지 및 종단 저항을 활성화할지 여부는 호스트(200)에 의해 결정될 수 있다. 예를 들어, 호스트(200)는 메모리 시스템(300)을 고속(high speed) 모드로 동작시키고자 하는 경우 메모리 물리 계층(352)이 낮은 진폭 모드로, 종단 저항을 활성화하여 동작하도록 메모리 시스템(300)으로 커맨드를 제공할 수 있다.
도 3a는 각 옵션에 따른 디퍼런셜 신호의 전위를 나타낸다. 도 3a의 VCM_SA_TX는 낮은 진폭 모드의 디퍼런셜 신호의 공통 모드 전압을 나타내고, VCM_LA_TX는 높은 진폭 모드의 디퍼런셜 신호의 공통 모드 전압을 나타낸다. VDIF_SA_NT_TX는 종단 저항이 비활성화된 경우 낮은 진폭 모드의 디퍼런셜 신호의 스윙폭을 나타내고, VDIF_SA_RT_TX는 종단 저항이 활성화된 경우 낮은 진폭 디퍼런셜 신호의 스윙폭을 나타낸다. VDIF_LA_NT_TX는 종단 저항이 비활성화된 경우 높은 진폭 모드의 디퍼런셜 신호의 스윙폭을 나타내고, VDIF_LA_RT_TX는 종단 저항이 활성화된 경우 높은 진폭 모드의 디퍼런셜 신호의 스윙폭을 나타낸다.
도 3b는 각 모드의 공통 전압 및 스윙폭의 범위를 예시한다.
M-PHY 프로토콜은 각 모드의 공통 전압 및 스윙폭의 범위를 제공할 수 있다.
도 3b의 표의 VDIF_LA_RT_TX, VDIF_LA_NT_TX, VDIF_SA_RT_TX, VDIF_SA_NT_TX, VCM_LA_TX 및 VCM_SA_TX가 지칭하는 바는 도 3a를 참조하여 설명된 바와 동일하다.
예를 들어, 메모리 물리 계층(352)이 높은 진폭 모드로 종단 저항을 활성화하여 동작하는 경우 공통 모드 전압을 160mV에서 260mV 사이의 전압으로 결정하고, 스윙폭은 320mV에서 480mV 사이의 전압으로 결정할 수 있다. 차동신호의 피크 투 피크 진폭은 두 차동신호의 차로 결정되므로, 스윙폭이 320mV에서 480mV 사이의 값을 갖는 디퍼런셜 신호에서 피크 투 피크 진폭은 640mV에서 960mV 사이의 값을 가질 수 있다.
메모리 물리 계층(352)이 정해진 피크 투 피크 진폭의 범위에서 어떤 진폭으로 출력 신호를 전송할지는 도 1을 참조하여 설명된 레지스터(370)의 구동 레벨 파라미터 값에 따라 결정될 수 있다. 구동 레벨 파라미터 값의 예는 도 6a를 참조하여 후술된다.
한편, 메모리 물리 계층(352)으로부터의 출력 신호에 ISI(Intersymbol Interference) 현상이 발생할 수 있으며, ISI 현상에 의해 출력 신호의 고주파 성분의 감쇠가 발생하여 신호의 파형에 왜곡이 발생할 수 있다. 메모리 물리 계층(352)은 수신단에서 신호를 정상적으로 수신할 수 있도록 신호의 감쇠가 발생하는 부분의 스윙폭을 크게 하는 엠퍼시스 동작을 수행할 수 있다.
도 3c는 엠퍼시스 동작에 따른 신호의 파형을 나타낸다.
메모리 물리 계층(352)이 엠퍼시스 동작을 수행하는 경우 출력 신호의 파형은 데이터가 천이하는 구간의 전압 레벨이 데이터가 유지되는 구간의 전압 레벨보다 높은 형태의 파형을 가질 수 있다. 이하에서, 이러한 데이터 파형을 엠퍼시스 파형이라 지칭한다. 이러한 엠퍼시스 파형에 의해, 상술한 채널 대역폭 제한에 따른 출력 신호의 ISI가 개선될 수 있다.
엠퍼시스 동작에 따른 출력 신호의 엠퍼시스 파형을 생성하는 방법으로 프리 엠퍼시스(pre-emphasis) 방법과 디 엠퍼시스(de-emphasis) 방법이 있다.
프리 엠퍼시스 방법은 데이터가 유지되는 구간의 전압 레벨을 기준으로 하여, 데이터가 천이하는 구간의 전압 레벨을 데이터가 유지되는 구간의 전압 레벨보다 높여서 엠퍼시스 파형을 생성하는 방법이다.
디 엠퍼시스 방법은 데이터가 천이하는 구간의 전압 레벨을 기준으로 하여, 데이터가 유지되는 구간의 전압 레벨을 데이터가 천이하는 구간의 전압 레벨보다 낮춰서 엠퍼시스 파형을 생성하는 방법이다.
도 3c는 프리 엠퍼시스 방법과 디 엠퍼시스 방법이 모두 적용된 경우의 출력 신호의 엠퍼시스 파형을 예시한다. Va는 데이터가 천이한 직후 구간의 스윙폭을 나타내고, Vb는 데이터가 유지되는 구간의 스윙폭을 나타내며, Vc는 데이터가 천이하기 직전 구간의 스윙폭을 나타낸다.
도 3c의 예에서, Va를 기준으로 Vb를 Va보다 낮추는 디 엠퍼시스 방법이 적용될 수 있다. Vb와 Va의 디 엠퍼시스 비율은 20log(Vb/Va)[dB]에 해당할 수 있다. 그리고, Vb를 기준으로 Vc를 Vb보다 높이는 프리 엠퍼시스 방법이 적용될 수 있다. Vc와 Vb의 프리 엠퍼시스 비율은 20log(Vc/Vb)[dB]에 해당할 수 있다. 도 3c의 예에서, Vb 및 Vc는 기준 스윙폭인 Va, 디 엠퍼시스 비율 및 프리 엠퍼시스 비율에 따라 결정될 수 있다.
엠퍼시스 파형은 레지스터(370)의 엠퍼시스 파라미터에 따라 결정될 수 있다. 일 실시예에서, 상기 엠퍼시스 파라미터는 디 엠퍼시스 파라미터와 프리 엠퍼시스 파라미터를 포함할 수 있다.
메모리 물리 계층(352)은 레지스터(370)의 구동 레벨 파라미터에 따라 결정된 스윙폭을 Va로 하고, 상기 디 엠퍼시스 파라미터와 프리 엠퍼시스 파라미터에 따라 Vb, Vc를 결정할 수 있다.
메모리 물리 계층(352)은 구동 레벨 파라미터 및 엠퍼시스 파라미터의 값에 따라 다른 크기와 파형의 신호를 호스트 물리 계층(252)으로 제공할 수 있다. 호스트 물리 계층(252)은 상기 파라미터 값들 및 메모리 시스템(300)의 실장 환경에 따라 다른 노이즈 마진을 갖는 신호를 수신할 수 있다.
도 4a 및 도 4b는 호스트 물리 계층(252)이 수신하는 신호의 아이 다이어그램(eye diagram)을 예시한다.
호스트 물리 계층(252)은 정해진 범위의 노이즈 마진을 갖는 신호만을 정상적으로 수신할 수 있다. 수신 신호의 노이즈 마진이 최소 노이즈 마진(MARGIN_MIN) 미만이거나 최대 노이즈 마진(MARGIN_MAX)을 초과하는 경우 호스트 물리 계층(252)은 정상적으로 신호를 수신하기 어렵다.
도 4a 및 도 4b의 음영이 도시된 부분은 아이 마스크 영역을 나타낸다.
도 4a는 수신 신호의 노이즈 마진이 정해진 범위에 속하는 경우를 예시한다. 수신 신호의 노이즈 마진이 정해진 범위에 속하는 경우 아이 다이어그램에서 신호가 아이 마스크 영역을 침범하지 않으며, 호스트 물리 계층(252)은 정상적으로 신호를 수신할 수 있다.
도 4b는 수신 신호의 노이즈 마진이 정해진 범위에 속하지 않는 경우를 예시한다. 수신 신호의 노이즈 마진이 정해진 범위를 벗어나는 경우 아이 다이어그램에서 신호가 아이 마스크 영역을 침범할 수 있으며, 호스트 물리 계층(252)은 정상적으로 신호를 수신하기 어렵다.
메모리 시스템(300)의 실장 환경에 따라 호스트 물리 계층(252)이 정상적으로 신호를 수신하지 못하는 문제를 방지하기 위해 호스트(200)는 메모리 시스템(300)으로 신호 튜닝 커맨드를 제공할 수 있다. 메모리 시스템(300)은 상기 신호 튜닝 커맨드에 응하여 레지스터(370)의 구동 레벨 파라미터와 엠퍼시스 파라미터를 변경하여 호스트 물리 계층(252)이 정상적으로 수신할 수 있는 신호를 출력할 수 있다.
도 5는 본 발명의 실시 예에 따른 메모리 시스템(300)의 동작을 나타낸다.
단계 S510에서 호스트(200)는 메모리 시스템(300)의 구동 레벨 파라미터와 엠퍼시스 파라미터를 실장 환경에 최적화하기 위해 메모리 시스템(300)으로 신호 튜닝 커맨드를 제공할 수 있다.
예를 들어, 호스트(200)는 데이터 처리 시스템(100)의 최초 부팅 시 메모리 시스템(300)으로 신호 튜닝 커맨드를 제공할 수 있다.
단계 S530에서, 메모리 시스템(300)은 상기 신호와 관련된 파라미터 값을 튜닝하기 위해 신호 송신 테스트 동작을 수행할 수 있다.
테스트 동작은 단계 S532 내지 단계 S538의 동작을 포함할 수 있다.
단계 S532에서 메모리 컨트롤러(330)는 파라미터 값을 조정할 수 있다. 즉, 메모리 컨트롤러(330)는 구동 레벨 파라미터 값과 엠퍼시스 파라미터 값의 조합을 선택할 수 있다.
단계 S534에서 메모리 컨트롤러(330)는 메모리 물리 계층(532)이 호스트(200)로 테스트 신호를 제공하도록 제어할 수 있다.
상기 테스트 신호의 크기 및 파형은 상기 선택된 조합에 따라 결정될 수 있다.
단계 S536에서 호스트 인터페이스(250)는 상기 테스트 신호를 수신하여 상기 테스트 신호의 에러 여부 또는 유효성을 검사할 수 있다.
만약 상기 선택된 조합의 파라미터 값들이 실장 환경에 적합하지 않은 경우 호스트 인터페이스(250)는 상기 테스트 신호를 정상적으로 수신할 수 없을 것이다. 상기 테스트 신호가 정상적으로 수신되지 않는 경우, 호스트 인터페이스(250)는 비트 플립(bit flip)된 신호를 수신할 수 있으며, 상기 신호를 비트 에러가 있는 신호 또는 유효하지 않은 신호로 판단할 수 있다.
일 실시예에서, 상기 테스트 신호는 에러 정정 인코딩된 신호일 수 있고, 호스트 물리 계층(252)은 에러 정정 디코딩을 통해 상기 테스트 신호의 에러 여부를 검사할 수 있다.
일 실시예에서, 호스트 링크 계층(254)에 포함된 각 계층은 상기 테스트 신호가 정해진 패턴을 따르지 않는 경우 상기 테스트 신호가 유효하지 않은 것으로 판단할 수 있다.
단계 S538에서, 호스트 인터페이스(250)는 상기 테스트 신호를 정상적으로 수신하였는지 여부를 나타내는 응답을 메모리 시스템(300)으로 제공할 수 있다.
예를 들어, 호스트 인터페이스(300)는 상기 테스트 신호의 검사 결과 상기 테스트 신호에 비트 에러가 상기 테스트 신호가 유효한 신호로 판단된 경우 상기 테스트 신호를 정상적으로 수신하였다는 응답을 제공할 수 있다. 예를 들어, 호스트 인터페이스(300)는 상기 테스트 신호에 비트 에러가 있거나 상기 테스트 신호가 유효하지 않은 신호로 판단되는 경우 상기 테스트 신호를 정상적으로 수신하지 못하였다는 응답을 제공할 수 있다.
메모리 시스템(300)은 파라미터 값들의 복수의 조합들에 대해 단계 S530의 테스트 동작을 반복 수행할 수 있다.
도 6a 내지 도 6b는 파라미터 값들의 조합을 설명하기 위한 도면이다.
도 6a는 구동 레벨 파라미터 값에 따른 신호의 진폭을 나타내는 도면이다.
도 6a에서 상기 구동 레벨 파라미터 값들은 각각 10진수(Dec), 2진수(Bin) 및 16진수(Hex) 형식으로 표현된다. 도 6a의 예에서, 구동 레벨 파라미터 값은 총 32개일 수 있다. 상기 신호의 진폭은 피크 투 피크 진폭으로 표현된다. 구동 레벨 파라미터 값에 따른 신호의 피크 투 피크 진폭은 메모리 물리 계층(352)에서 출력할 수 있는 최대 진폭과의 비율(% of Vcca) 및 실제 진폭 값(mV)의 형식으로 표현된다.
구동 레벨 파라미터 값은 메모리 시스템(300)의 동작 옵션에 따라 선택될 수 있다. 메모리 시스템(300)의 동작 옵션은 호스트(200)에 의해 사전에 선택될 수 있다.
예를 들어, 메모리 시스템(300)이 도 3a를 참조하여 설명된 높은 진폭 모드에서 종단 저항을 비활성화하여 동작하는 경우 출력 신호의 스윙폭은 320mV에서 480mV 범위에 속하고, 피크 투 피크 진폭은 640mV에서 960mV범위에 속하게 된다. 도 6a의 예에서, 메모리 시스템(300)은 피크 투 피크 진폭이 해당 범위에 속하기 위해서 구동 레벨 파라미터 값을 21 내지 31 중에서 선택할 수 있다.
도 6b는 엠퍼시스 파라미터 값에 따른 신호의 파형이 변화하는 정도를 나타내는 도면이다. 구현에 따라, 엠퍼시스 파라미터는 프리 엠퍼시스 파라미터 및 디 엠퍼시스 파라미터를 포함할 수 있다.
도 6b에서 프리 엠퍼시스 파라미터 값들 및 디 엠퍼시스 파라미터 값들은 각각 10진수(Dec), 2진수(Bin) 및 16진수(Hex) 형식으로 표현된다.
도 6b의 위쪽 그래프는 프리 엠퍼시스 파라미터 값에 따라, 데이터가 유지되는 구간(Vb) 대비 데이터가 천이되기 직전 구간(Vc)의 신호의 진폭 비율을 데시벨(dB) 형식과 퍼센트(%) 형식으로 나타낸다. 메모리 시스템(300)은 프리 엠퍼시스 파라미터 값은 0 내지 10 중에서 선택할 수 있다.
도 6b의 아래쪽 그래프는 디 엠퍼시스 파라미터 값에 따라, 데이터가 천이되기 직후 구간(Va) 대비 데이터가 유지되는 구간(Vb)의 신호의 진폭 비율을 데시벨(dB) 형식과 퍼센트(%) 형식으로 나타낸다. 메모리 시스템(300)은 디 엠퍼시스 파라미터 값을 0 내지 5 중에서 선택될 수 있다.
만약 메모리 시스템(300)이 높은 진폭 모드에서 종단 저항을 비활성화하여 동작하는 경우, 메모리 컨트롤러(330)는 구동 레벨 파라미터 값, 프리 엠퍼시스 파라미터 값 및 디 엠퍼시스 파라미터 값은 (21, 0, 0) 내지 (31, 10, 5)의 총 11×11×6=726개 조합 중에서 전부 또는 일부의 조합들을 선택하여 상기 테스트 동작을 반복 수행할 수 있다.
일 실시예에서, 메모리 물리 계층(352)이 에러 정정 인코딩되지 않은 테스트 신호를 보냄으로써 연산량을 줄이고 호스트 링크 계층(254)의 에러에 대한 민감도를 향상시켜서 복수의 테스트 동작을 빠르게 수행할 수 있다.
다시 도 5를 참조하면, 단계 S550에서 메모리 컨트롤러(330)는 테스트 동작의 결과에 기초하여 파라미터 값들의 최종 값을 결정할 수 있다. 예를 들어, 메모리 컨트롤러(330)는 테스트 결과 호스트(200)가 신호를 정상적으로 수신한 경우의 파라미터 값들의 조합에서 각 파라미터 값들의 중간 값을 각 파라미터 값들의 최종 값으로 결정할 수 있다. 예를 들어, 상기 파라미터 값들의 조합에서 프리 엠퍼시스 파라미터의 최솟값이 6이고 최댓값이 10인 경우, 프리 엠퍼시스 파라미터의 최종값을 상기 최솟값과 최댓값의 중간값인 8로 결정할 수 있다.
단계 S570에서, 메모리 컨트롤러(330)는 상기 최종 값들을 레지스터(370) 및 메모리 장치(150)에 저장할 수 있다.
단계 S590에서, 메모리 인터페이스(350)는 상기 최종 값들에 따라 크기 및 파형이 결정된 신호를 호스트(200)로 전송할 수 있다. 그리고, 메모리 컨트롤러(330)는 메모리 장치(150)에 상기 최종 값들을 저장하기 때문에, 메모리 시스템(300)이 다시 파워 온 된 경우에 상기 최종 값들을 사용하여 신호를 호스트(200)로 보낼 수 있다.
만약 호스트(200)가 상기 최종 값들을 변경할 필요가 있다면 메모리 시스템(300)으로 다시 신호 튜닝 커맨드를 제공할 수 있다. 예를 들어, 호스트(200)가 메모리 시스템(300)의 동작 옵션을 변경하는 경우 메모리 시스템(300)의 출력 신호의 스윙폭이 변화하므로 상기 최종 값들을 변경할 필요가 있다.
도 7은 본 발명의 효과를 설명하기 위한 도면이다.
도 7은 본 발명의 실시 예에 따라 메모리 시스템(300)의 실장 환경을 고려하여 파라미터들의 값을 정하는경우 통신의 신뢰성이 보장될 수 있다는 점을 설명한다.
도 7은 높은 전압 모드에서 종단 저항을 비활성화할 때 메모리 시스템(300)의 복수의 테스트 동작 결과의 예를 비트맵 형식으로 나타낸다. 도 7의 비트맵의 가로 방향으로 메모리 시스템(300)이 가질 수 있는 프리 엠퍼시스 파라미터 값이 도시되고, 세로 방향으로 메모리 시스템(300)이 가질 수 있는 구동 전압 파라미터 값이 도시된다. 도 7은 예로서, 프리 엠퍼시스 파라미터 및 구동 전압 파라미터만을 변경시키며 테스트 동작을 수행한 경우를 나타낸다.
회색 음영이 도시된 부분은 테스트 결과 호스트(200)가 신호를 정상적으로 수신할 수 있었던 경우를 나타내고, 음영이 도시되지 않은 부분은 테스트 결과 호스트(200)가 신호를 정상적으로 수신할 수 없었던 경우를 나타낸다.
도 7의 왼쪽 비트맵에서 검은색으로 도시된 부분은 신호 튜닝을 완료하기 전에 레지스터(370)에 저장된 파라미터 값들의 조합, 예를 들어 메모리 시스템(300)의 제조 당시에 설정된 파라미터 값들의 디폴트 조합을 나타낼 수 있다. 파라미터 값들의 디폴트 조합에 따른 테스트 동작에서는 신호가 정상적으로 전송되지 않았으며, 상기 디폴트 조합은 신호가 정상적으로 전송된 파라미터 값들의 조합의 범위에서 벗어난다. 이와 같이 메모리 시스템(300)의 실장 환경을 고려하지 못한 디폴트 조합으로 신호의 크기 및 파형을 결정하여 호스트(200)로 신호를 제공하는 경우 상기 신호가 호스트(200)에 정상적으로 전달되지 못하는 경우가 있다.
도 7의 오른쪽 비트맵에 검은색으로 도시된 부분은 신호 튜닝을 완료한 후에 레지스터(370)에 저장된 파라미터의 최종 값들의 조합을 나타낼 수 있다. 상기 최종 값들의 조합은 신호가 정상적으로 전송된 파라미터 값들의 조합의 범위 내에 있으므로 메모리 물리 계층(352)이 상기 최종 조합에 따라 호스트(200)로 출력 신호를 전송하는 경우 신호가 정상적으로 전달될 수 있다.
본 발명의 실시 예에 따르면, 메모리 시스템(300)은 호스트(200)의 신호 튜닝 커맨드에 응하여 호스트(200)로 제공하는 신호의 파형 및 크기를 실장 환경에 최적화할 수 있다. 따라서, 메모리 시스템(300)은 실장 환경에 관계없이 호스트(200)로 신호를 정상적으로 전달할 수 있다. 따라서, 메모리 시스템(300)의 신뢰성이 향상될 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
100: 데이터 처리 시스템
200: 호스트
300: 메모리 시스템

Claims (14)

  1. 데이터를 저장하는 메모리 장치;
    상기 메모리 장치를 제어하는 컨트롤러;
    호스트와 컨트롤러 간 통신을 수행하는 인터페이스; 및
    상기 인터페이스가 상기 호스트로 제공하는 신호의 크기 및 파형과 관련된 파라미터의 값을 저장하는 레지스터를 포함하고,
    상기 컨트롤러는
    상기 인터페이스가 상기 파라미터 값에 따라 크기 및 파형이 결정되는 테스트 신호를 상기 호스트로 전송하도록 제어하고 상기 호스트로부터 상기 테스트 신호를 정상적으로 수신하였는지 여부를 나타내는 응답을 수신하는 테스트 동작을 복수의 파라미터 값들에 대해 반복 수행하며,
    상기 파라미터 값들 각각의 테스트 수행 결과에 따라 결정된 최종 파라미터 값을 상기 레지스터에 저장하고, 상기 최종 파라미터 값에 따라 상기 인터페이스가 상기 호스트로 신호를 전송하도록 제어하는
    메모리 시스템.
  2. 제1항에 있어서,
    상기 컨트롤러는
    상기 테스트 신호가 정상적으로 수신되는 경우의 파라미터 값들 중 최댓값과 최솟값의 중간값으로 상기 최종 파라미터 값을 결정하는
    메모리 시스템.
  3. 제1항에 있어서,
    상기 컨트롤러는
    상기 호스트로부터의 신호 튜닝 커맨드에 응하여 상기 테스트 동작을 반복 수행하고, 상기 최종 파라미터 값을 상기 레지스터에 저장하는
    메모리 시스템.
  4. 제1항에 있어서,
    상기 파라미터는
    구동 레벨 파라미터 및 엠퍼시스 파라미터를 포함하는
    메모리 시스템.
  5. 제4항에 있어서,
    상기 엠퍼시스 파라미터는
    프리 엠퍼시스 파라미터 및 디 엠퍼시스 파라미터를 포함하는
    메모리 시스템.
  6. 제4항에 있어서,
    상기 컨트롤러는
    상기 테스트 동작 시 상기 인터페이스가 상기 구동 레벨 파라미터 값 및 엠퍼시스 파라미터 값의 조합에 따라 크기 및 파형이 결정되는 테스트 신호를 상기 호스트로 전송하도록 제어하고,
    상기 파라미터 값들의 복수의 조합들 각각의 테스트 수행 결과에 따라 결정된 최종 구동 레벨 파라미터 값 및 최종 엠퍼시스 파라미터 값을 상기 레지스터에 저장하는
    메모리 시스템.
  7. 제6항에 있어서,
    상기 컨트롤러는
    상기 테스트 신호가 정상적으로 수신되는 경우의 조합들에 포함된 구동 레벨 파라미터 값들 중 최댓값과 최솟값의 중간값으로 상기 최종 구동 레벨 파라미터 값들을 결정하고,
    상기 테스트 신호가 정상적으로 수신되는 경우의 조합들에 포함된 엠퍼시스 파라미터 값들 중 최댓값과 최솟값의 중간값으로 상기 최종 엠퍼시스 파라미터 값들을 결정하는
    메모리 시스템.
  8. 메모리 시스템의 동작 방법에 있어서,
    파라미터 값에 따라 크기 및 파형이 결정되는 테스트 신호를 호스트로 전송하는 제1 단계;
    상기 호스트로부터 상기 테스트 신호를 정상적으로 수신하였는지 여부를 나타내는 응답을 수신하는 제2 단계;
    복수의 파라미터 값들에 대해 상기 제1 및 제2 단계를 반복 수행하는 단계;
    상기 복수의 파라미터 값들 각각에 대한 상기 호스트의 응답에 기초하여 결정된 최종 파라미터 값을 내부 레지스터에 저장하는 단계; 및
    상기 최종 파라미터 값에 따라 상기 호스트로 신호를 전송하는 단계
    를 포함하는 동작 방법.
  9. 제8항에 있어서,
    상기 복수의 파라미터 값들 각각에 대한 상기 호스트의 응답에 기초하여 결정된 최종 파라미터 값을 내부 레지스터에 저장하는 단계는
    상기 테스트 신호가 정상적으로 수신되는 경우의 파라미터 값들 중 최댓값과 최솟값의 중간값으로 상기 최종 파라미터 값을 결정하는 단계
    를 포함하는 동작 방법.
  10. 제8항에 있어서,
    상기 제1 및 제2 단계를 반복 수행하는 단계는
    상기 호스트로부터의 신호 튜닝 커맨드에 응하여 수행되는
    동작 방법.
  11. 제8항에 있어서,
    상기 파라미터는
    구동 레벨 파라미터 및 엠퍼시스 파라미터를 포함하는
    동작 방법.
  12. 제11항에 있어서,
    상기 엠퍼시스 파라미터는
    프리 엠퍼시스 파라미터 및 디 엠퍼시스 파라미터를 포함하는
    동작 방법.
  13. 제11항에 있어서,
    상기 제1 단계는
    상기 구동 레벨 파라미터 값 및 엠퍼시스 파라미터 값의 조합에 따라 크기 및 파형이 결정되는 테스트 신호를 상기 호스트로 전송하는 단계를 포함하고,
    상기 복수의 파라미터 값들 각각에 대한 상기 호스트의 응답에 기초하여 결정된 최종 파라미터 값을 내부 레지스터에 저장하는 단계는
    상기 파라미터 값들의 복수의 조합들 각각의 테스트 수행 결과에 따라 결정된 최종 구동 레벨 파라미터 값 및 최종 엠퍼시스 파라미터 값을 상기 레지스터에 저장하는 단계
    를 포함하는 동작 방법.
  14. 제13항에 있어서,
    상기 파라미터 값들의 복수의 조합들 각각의 테스트 수행 결과에 따라 결정된 최종 구동 레벨 파라미터 값 및 최종 엠퍼시스 파라미터 값을 상기 레지스터에 저장하는 단계는
    상기 테스트 신호가 정상적으로 수신되는 경우의 조합들에 포함된 구동 레벨 파라미터 값들 중 최댓값과 최솟값의 중간값으로 상기 최종 구동 레벨 파라미터 값들을 결정하는 단계; 및
    상기 테스트 신호가 정상적으로 수신되는 경우의 조합들에 포함된 엠퍼시스 파라미터 값들 중 최댓값과 최솟값의 중간값으로 상기 최종 엠퍼시스 파라미터 값들을 결정하는 단계
    를 포함하는 동작 방법.

KR1020190147473A 2019-11-18 2019-11-18 메모리 시스템 및 메모리 시스템의 동작 방법 KR20210059988A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190147473A KR20210059988A (ko) 2019-11-18 2019-11-18 메모리 시스템 및 메모리 시스템의 동작 방법
US16/941,134 US11354062B2 (en) 2019-11-18 2020-07-28 Memory system and operation method thereof
CN202010869694.8A CN112817518B (zh) 2019-11-18 2020-08-26 存储器系统及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190147473A KR20210059988A (ko) 2019-11-18 2019-11-18 메모리 시스템 및 메모리 시스템의 동작 방법

Publications (1)

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

Family

ID=75853192

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190147473A KR20210059988A (ko) 2019-11-18 2019-11-18 메모리 시스템 및 메모리 시스템의 동작 방법

Country Status (3)

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

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 (ko) * 2021-03-09 2022-09-16 에스케이하이닉스 주식회사 컴퓨터 시스템 및 이를 위한 인터페이스 회로
TW202306365A (zh) * 2021-07-29 2023-02-01 韓商愛思開海力士有限公司 用於互連協定的訊框接收的資料處理的方法以及儲存裝置
TWI800327B (zh) * 2022-03-23 2023-04-21 慧榮科技股份有限公司 資料儲存系統與參數裕度估計方法

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 (ko) 2004-10-26 2006-03-30 엘지전자 주식회사 시스템 클럭신호를 위한 오토 튜닝 방법
KR101300036B1 (ko) 2006-11-24 2013-08-29 삼성전자주식회사 메모리 세팅 조건을 결정하는 메모리 테스트 장치 및 그방법
KR102524916B1 (ko) * 2018-03-13 2023-04-26 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
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 (zh) 2024-04-26
CN112817518A (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
KR20210059988A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
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 (zh) 用于传输触摸传感器信息的装置、系统和方法
US10326622B2 (en) Equalizer tuning method, signal receiving circuit and a memory storage device
WO2022257425A1 (zh) 传输速率控制方法、装置、电子设备和可读存储介质
US20040203483A1 (en) Interface transceiver power mangagement method and apparatus
JP2007515143A (ja) オペレーション・コードにより動的に調整可能なデータ・フィールドを有する二線式インタフェース
US8209450B2 (en) Maintenance operations using configurable parameters
CN113535596A (zh) 均衡调整方法、均衡调整装置及计算机可读取存储介质
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 (zh) 訊號重驅動裝置、資料儲存系統及模式控制方法
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 (zh) 电路参数调整系统、方法及主机系统
CN108337068A (zh) 数据通信及相关产品
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 (zh) 用於執行動態流量整形的方法及其裝置

Legal Events

Date Code Title Description
A201 Request for examination