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

메모리 시스템 및 메모리 시스템의 동작 방법 Download PDF

Info

Publication number
KR102251813B1
KR102251813B1 KR1020150049074A KR20150049074A KR102251813B1 KR 102251813 B1 KR102251813 B1 KR 102251813B1 KR 1020150049074 A KR1020150049074 A KR 1020150049074A KR 20150049074 A KR20150049074 A KR 20150049074A KR 102251813 B1 KR102251813 B1 KR 102251813B1
Authority
KR
South Korea
Prior art keywords
clock
channel
channel interface
interface
input
Prior art date
Application number
KR1020150049074A
Other languages
English (en)
Other versions
KR20160120056A (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 KR1020150049074A priority Critical patent/KR102251813B1/ko
Priority to US14/995,834 priority patent/US10133298B2/en
Priority to CN201610212732.6A priority patent/CN106057242B/zh
Publication of KR20160120056A publication Critical patent/KR20160120056A/ko
Priority to US16/149,987 priority patent/US11054855B2/en
Application granted granted Critical
Publication of KR102251813B1 publication Critical patent/KR102251813B1/ko
Priority to US17/338,320 priority patent/US11625063B2/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3422Circuits or methods to evaluate read or write disturbance in nonvolatile memory, without steps to mitigate the problem
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Dram (AREA)

Abstract

메모리 시스템 및 메모리 시스템의 동작 방법이 개시된다. 일 실시예에 따른 메모리 시스템(memory system)은, 각각, 다수의 채널(channel) 중 하나의 채널에 연결되는 다수의 메모리(memory), 및 각각, 상기 다수의 채널 중 하나의 채널과 전기적으로 연결되고, 입력되는 클럭(clock)을 변조하여 변조된 클럭에 동기되어 연결되는 채널을 통해 신호를 송수신하는, 다수의 채널 인터페이스(channel interface)를 포함하는 메모리 컨트롤러(memory controller)를 포함한다.

Description

메모리 시스템 및 메모리 시스템의 동작 방법{Memory System and Operating Method of Memory System}
본 개시는 메모리 시스템 및 메모리 시스템의 동작 방법에 관한 것으로, 동작의 신뢰성을 향상시킬 수 있는 메모리 시스템 및 메모리 시스템의 동작 방법에 관한 것이다.
메모리(memory)의 입출력 속도가 증가하고 있다. 이에 따라, 메모리의 동작에 오류 발생이 증가할 수 있다. 예를 들어, 메모리의 입출력 속도가 증가됨에 따라, ISI(Inter-Symbol Interference) 또는 파워 노이즈(power noise) 등에 의해, 메모리가 입력되는 신호를 검출하지 못하거나 잘못 검출할 수 있다. 이에 따라 메모리 또는 메모리가 포함되는 메모리 시스템에서 동작 신뢰성이 문제될 수 있다.
동작의 신뢰성이 향상될 수 있는 메모리 시스템 및 메모리 시스템의 동작 방법이 제공된다.
일 실시예에 따른 메모리 시스템은, 각각, 다수의 채널(channel) 중 하나의 채널에 연결되는 다수의 메모리(memory); 및 각각 상기 다수의 채널 중 하나의 채널과 전기적으로 연결되어 연결되는 채널을 통해 신호를 송수신하고, 적어도 하나는 입력되는 클럭(clock)을 변조하고 변조된 클럭에 동기되어 상기 연결되는 채널을 통해 신호를 송수신하는, 다수의 채널 인터페이스(channel interface)를 구비하는 메모리 컨트롤러(memory controller)를 포함한다.
일 실시예에 따른 SSD(Solid State Drive)는, 각각, 제1 채널(channel) 내지 제x(x는 2 이상의 정수) 채널 중 하나의 채널에 연결되는 다수의 플래시 메모리(flash memory); 및 각각 상기 제1 채널 내지 제x 채널 중 하나의 채널과 전기적으로 연결되고, 입력되는 클럭(clock)을 변조하고 변조된 클럭에 동기되어 상기 연결되는 채널을 통해 신호를 송수신하는, 제1 채널 인터페이스(channel interface) 내지 제x 채널 인터페이스를 구비하는 SSD 컨트롤러(SSD controller)를 포함한다.
일 실시예에 따른 메모리 시스템(memory system)의 동작 방법은, 각각, 다수의 채널(channel) 중 하나의 채널에 연결되는 다수의 메모리(memory)를 포함하는 메모리 시스템의 동작 방법으로, 상기 다수의 채널마다 위상을 달리하거나 상기 다수의 채널의 동작 환경에 따라 주파수를 달리하여 클럭을 생성하는 단계; 및 상기 생성된 클럭에 동기되어 상기 채널로 신호를 출력하는 단계를 포함한다.
일 실시예에 따른 메모리 시스템 및 메모리 시스템의 동작 방법에 의하면, 다수의 채널마다 위상을 달리하거나 상기 다수의 채널의 동작 환경에 따라 주파수를 달리하여 생성된 클럭을 이용하여 신호를 송수신함으로써, ISI(Inter-Symbol Interference), 파워 노이즈(power noise) 또는 EMI(Electro Magnetic Interference) 등의 현상을 방지함으로써, 정확한 동작을 수행할 수 있다.
도 1은 일 실시예에 따른 메모리 시스템을 나타내는 도면이다.
도 2는 도 1의 다수의 메모리의 일 예를 나타내는 도면이다.
도 3은 도 1의 메모리 컨트롤러의 일 예를 나타내는 도면이다.
도 4는 일 실시예에 따른 슬레이브 클럭의 예를 나타내는 도면이다.
도 5는 일 실시예에 따른 슬레이브 클럭과 대비되는 예를 나타내는 도면이다.
도 6 내지 도 9는 각각, 다른 실시예에 따른 메모리 컨트롤러를 나타내는 도면이다.
도 10은 일 실시예에 따른 제1 채널 인터페이스를 나타내는 도면이다.
도 11은 다른 실시예에 따른 메모리 컨트롤러를 나타내는 도면이다.
도 12 및 도 13은 각각, 다른 실시예에 따른 슬레이브 클럭의 예를 나타내는 도면이다.
도 14는 다른 실시예에 따른 메모리 컨트롤러를 나타내는 도면이다.
도 15는 일 실시예에 따른 슬레이브 클럭의 주파수를 나타내는 도면이다.
도 16 및 도 17은 각각, 다른 실시예에 따른 슬레이브 클럭의 예를 나타내는 도면이다.
도 18은 일 실시예에 따른 슬레이브 클럭의 생성 방법을 나타내는 도면이다.
도 19는 다른 실시예에 따른 슬레이브 클럭의 주파수를 나타내는 도면이다.
도 20은 다른 실시예에 따른 메모리 컨트롤러의 예를 나타내는 도면이다.
도 21은 일 실시예에 따른 제1 클럭 변조기를 나타내는 도면이다.
도 22는 다른 실시예에 따른 슬레이브 클럭을 나타내는 도면이다.
도 23 내지 도 25는 각각, 다른 실시예에 따른 메모리 컨트롤러를 나타내는 도면이다.
도 26은 일 실시예에 따른 비휘발성 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 실시예를 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 메모리 시스템(memory system)을 나타내는 도면이다. 도 1을 참조하면, 일 실시예에 따른 메모리 시스템(100)은, 다수의 메모리(memory, 120) 및 다수의 메모리(120)와 채널(channel, CH1~CHx)을 통해 연결되는 메모리 컨트롤러(memory controller, 140)를 포함한다. 다수의 메모리(120)는 각각, 다수의 채널(CH1~CHx) 중 하나의 채널에 연결된다. 각 채널(CH1~CHx)에는 둘 이상의 메모리가 연결될 수 있다. 이하에서는, 같은 채널에 연결되는 메모리들은 그룹 메모리들로 지칭될 수 있다. 다수의 메모리(120)는 다양한 형태로 구비될 수 있다.
도 2는 도 1의 다수의 메모리의 일 예를 나타내는 도면이다. 도 2를 참조하면, 다수의 메모리(120) 각각은 플래시 메모리 칩(flash memory chip)으로 구현될 수 있다. 각 채널(CH1~CHx)에는 y개의 플래시 메모리 칩이 연결될 수 있다. 서로 다른 채널에 연결되는 플래시 메모리 칩들은 독립적으로 동작 또는 구현될 수 있다. 예를 들어, 제1 채널(CH1)에 연결되는 제1 그룹 메모리들(120_1)과 제2 채널(CH2)에 연결되는 제2 그룹 메모리들(120_2)은 서로 독립하여 동작할 수 있다. 예를 들어, 제1 그룹 메모리들(120_1)은 NAND 플래시 메모리로 구현되고, 제2 그룹 메모리들(120_2)은 NOR 플래시 메모리로 구현될 수 있다. 또는, 제1 그룹 메모리들(120_1)은 멀티-레벨 셀 플래시 메모리(Multi-Level Cell Flash Memory)로 구현되고, 제2 그룹 메모리들(120_2)은 싱글-레벨 셀 플래시 메모리(Single-Level Cell Flash Memory)로 구현될 수 있다.
도 2의 다수의 메모리(120)를 포함하는 도 1의 메모리 시스템(100)은 SSD(Solid State Drive)로 구현될 수 있다. 도 2는 다수의 메모리(120)가 모두 플래시 메모리 칩으로 구현되는 것을 도시하였으나, 이에 한정되는 것은 아니다. 다수의 메모리(120)에는 플래시 메모리 칩 이외의 비휘발성 메모리가 포함될 수도 있다.
다시 도 1을 참조하면, 메모리 컨트롤러(140)는 다수의 채널 인터페이스(channel interface, 142)를 포함한다. 다수의 채널 인터페이스(142)는 각각, 다수의 채널(CH1~CHx) 중 하나의 채널과 전기적으로 연결된다. 예를 들어, 제1 채널(CH1)에는 제1 그룹 메모리들(120_1)과 제1 채널 인터페이스(142_1)가 연결되고, 제2 채널(CH2)에는 제2 그룹 메모리들(120_2)과 제2 채널 인터페이스(142_2)가 연결된다. 마찬가지로, 제x 채널(CHx)에는 제x 그룹 메모리들(120_1)과 제x 채널 인터페이스(142_x)가 연결될 수 있다.
다수의 채널 인터페이스(142) 중 적어도 하나의 채널 인터페이스는 입력되는 입력 클럭(input clock, CLKi)을 변조하고, 변조된 클럭에 동기되어, 연결되는 채널을 통해 신호를 메모리들(120)과 신호를 송수신할 수 있다. 예를 들어, 제1 채널 인터페이스(142_1)는 입력되는 제1 입력 클럭(CLKi1)을 변조하고, 제1 채널(CH1)을 통해, 변조된 제1 입력 클럭(CLKi1)에 동기되어 동기 신호, 명령 또는 데이터를 제1 그룹 메모리들(120_1)에 전송할 수 있다. 동기된다 함은, 클럭의 라이징 엣지(rising edge) 또는 폴링 엣지(falling edge)에서 동기 신호, 명령 또는 데이터가 출력되거나 입력되는 것을 의미한다. 동기 신호로는 RE(read enable) 및 WE(write enable) 등이 예시될 수 있고, 명령으로는 독출 명령 및 프로그램 명령(기입 명령) 등이 예시될 수 있으며, 데이터로는 기입 데이터 등이 예시될 수 있다. 이하에서는 설명의 편의를 위해 동기 신호, 명령 또는 데이터가 모두 “신호”로 지칭될 수 있다.
제1 채널 인터페이스(142_1)와 마찬가지로, 제2 채널 인터페이스(142_2)는 입력되는 제2 입력 클럭(CLKi2)을 변조하고, 제2 채널(CH2)을 통해, 제2 입력 클럭(CLKi2)에 동기되어 명령 또는 데이터를 제2 그룹 메모리들(120_2)에 전송할 수 있다. 마찬가지로, 제x 채널 인터페이스(142_x)는 입력되는 제x 입력 클럭(CLKix)을 변조하고, 제x 채널(CHx)을 통해, 제x 입력 클럭(CLKix)에 동기되어 명령 또는 데이터를 제x 그룹 메모리들(120_x)에 전송할 수 있다.
입력 클럭(CLKi)은 메모리 컨트롤러(140)의 내부 또는 외부로부터 인가될 수 있다. 또한, 입력 클럭(CLKi)은 동일하거나 상이할 수 있다. 예를 들어, 다수의 채널 인터페이스(142) 각각으로 입력되는 입력 클럭(CLKi)은 후술되는 도 3의 마스터 클럭(MCLK)으로 동일할 수 있다. 또는, 입력 클럭(CLKi) 중 하나는 마스터 클럭(MCLK)이고, 나머지는 각각 마스터 클럭(MCLK)을 서로 달리 지연시킨 클럭일 수 있다. 이에 대한 좀더 자세한 사항은 후술된다.
다수의 채널 인터페이스(142)는 입력 클럭(CLKi)의 위상을 달리하거나 입력 클럭(CLKi)의 주파수를 달리하는 등의 변조를 통해, 연결되는 채널(CH1~CHx)을 통해 송수신하고자 하는 신호의 천이 시점 또는 전송 속도 등을 제어할 수 있다. 예를 들어, 일 실시예에 따른 메모리 시스템(100)에서, 다수의 채널 인터페이스(142) 중 적어도 둘 이상의 채널 인터페이스는 동일한 입력 클럭에 대해 위상을 서로 달리 변조함으로써, 채널(CH1~CHx)을 통해 송수신되는 신호의 천이 시점을 달리 설정할 수 있다. 예를 들어, 일 실시예에 따른 메모리 시스템(100)에서, 다수의 채널 인터페이스(142) 중 적어도 하나 이상의 채널 인터페이스는 입력 클럭의 주파수를 시간 또는 메모리 시스템(100)의 동작 환경에 따라 달리 변조함으로써, 전송 속도를 제어할 수 있다. 상기와 같은 제어에 의해 메모리 시스템(100)은 다수의 메모리(120)의 입출력이 고속화됨에 따라 발생될 수 있는 심볼간 간섭(Inter Symbol Interference), 파워 노이즈(power noise) 또는 EMI(Electro Magnetic Interference) 등의 영향을 최소화할 수 있다. 이에 대하여 자세히 설명한다.
도 3은 도 1의 메모리 컨트롤러의 일 예를 나타내는 도면이다. 도 1 및 도 3을 참조하면, 메모리 컨트롤러(140)는 다수의 채널 인터페이스(142) 및 마스터 클럭 생성기(master clock generator, 144)를 포함할 수 있다. 다수의 채널 인터페이스(142)는 각각, 마스터 클럭 생성기(144)로부터 생성되는 마스터 클럭(MCLK)을 입력 클럭(CLKi)으로 수신한다. 마스터 클럭(MCLK)은 다수의 메모리(120)와의 신호의 송수신을 위한 클럭이다. 예를 들어, 제1 채널 인터페이스(142_1)는 마스터 클럭(MCLK)을 제1 입력 클럭(CLKi1)으로 수신하고, 제2 채널 인터페이스(142_2)는 마스터 클럭(MCLK)을 제2 입력 클럭(CLKi2)으로 수신한다. 마찬가지로 제x 채널 인터페이스(142_x)는 마스터 클럭(MCLK)을 제x 입력 클럭(CLKix)으로 수신한다.
다수의 채널 인터페이스(142)는 각각, 마스터 클럭(MCLK)을 입력 클럭(CLKi1, CLKi2, …, CLKix)으로 하여 슬레이브 클럭(slave clock, CLKs1, CLKs2, …, CLKsx)으로 변조하는 클럭 변조기(142_11, 142_21, …, 142_x1) 및 슬레이브 클럭(CLKs1, CLKs2, …, CLKsx)에 동기되어 연결되는 채널(CH1~CHx)과 신호를 송수신하는 송수신부(142_12, 142_22, …, 142_x2)를 포함할 수 있다. 예를 들어, 제1 채널 인터페이스(142_1)는 마스터 클럭(MCLK)을 제1 입력 클럭(CLKi1)으로 수신하여 제1 슬레이브 클럭(CLKs1)으로 변조하는 제1 클럭 변조기(142_11), 및 제1 슬레이브 클럭(CLKs1)에 동기되어 제1 채널(CH1)로 신호를 출력하거나 제1 채널(CH1)로부터 신호를 수신하는 제1 송수신부(142_12)를 포함할 수 있다. 예를 들어, 제2 채널 인터페이스(142_2)는 마스터 클럭(MCLK)을 제2 입력 클럭(CLKi2)으로 수신하여 제2 슬레이브 클럭(CLKs2)으로 변조하는 제2 클럭 변조기(142_21), 및 제2 슬레이브 클럭(CLKs2)에 동기되어 제2 채널(CH2)로 신호를 출력하거나 제2 채널(CH2)로부터 신호를 수신하는 제2 송수신부(142_22)를 포함할 수 있다. 마찬가지로, 제x 채널 인터페이스(142_x)는 마스터 클럭(MCLK)을 제x 입력 클럭(CLKix)으로 수신하여 제x 슬레이브 클럭(CLKsx)으로 변조하는 제x 클럭 변조기(142_x1), 및 제x 슬레이브 클럭(CLKsx)에 동기되어 제x 채널(CHx)로 신호를 출력하거나 제x 채널(CHx)로부터 신호를 수신하는 제x 송수신부(142_x2)를 포함할 수 있다.
클럭 변조기(142_11, 142_21, …, 142_x1)는 마스터 클럭(MCLK)의 위상 또는 주파수를 변조하여 슬레이브 클럭(CLKs1, CLKs2, …, CLKsx)을 생성할 수 있다. 각 채널 인터페이스(142)의 클럭 변조기(142_11, 142_21, …, 142_x1)는 마스터 클럭(MCLK)의 위상을 변조하여, 각각 서로 다른 위상을 갖는 슬레이브 클럭(CLKs1, CLKs2, …, CLKsx)으로 생성할 수 있다. 이에 대하여 설명한다.
도 4는 일 실시예에 따른 슬레이브 클럭의 예를 나타내는 도면이다. 도 3 및 도 4를 참조하면, 메모리 시스템(100)에 4개의 채널(CH1~CH4)이 구비되어 메모리 컨트롤러(140)에 4개의 채널 인터페이스(142)가 포함되는 것이 전제된다. 이 경우, 제1 채널 인터페이스(142_1)는 마스터 클럭(MCLK)을 위상 a만큼 지연시켜 제1 슬레이브 클럭(CLKs1)을 생성하고, 제2 채널 인터페이스(142_2)는 마스터 클럭(MCLK)을 위상 b만큼 지연시켜 제2 슬레이브 클럭(CLKs2)을 생성한다. 그리고 도시되지 아니하였으나 제3 채널 인터페이스는 마스터 클럭(MCLK)을 위상 c만큼 지연시켜 제3 슬레이브 클럭(CLKs3)을 생성한다. 제4 채널 인터페이스(제x 채널 인터페이스(142_x))는 마스터 클럭(MCLK)을 위상 d만큼 지연시켜 제4 슬레이브 클럭(CLKs4)을 생성한다.
마스터 클럭(MCLK)의 주기 T에서, 각 슬레이브 클럭(CLKs1~CLKs4)이 서로 다른 4개의 위상을 갖도록 위상 a, b, c 및 d가 설정될 수 있다. 이렇게 서로 다른 위상을 갖는 슬레이브 클럭(CLKs1~CLKs4)에 의해 각 채널(CH1~CH4)로 신호가 송수신되는 경우, 도 4에 도시되는 바와 같이, 각 채널(CH1~CH4)에서 신호의 천이 시점이 서로 다르므로, 파워 노이즈가 줄어들 수 있다.
도 5는 일 실시예에 따른 슬레이브 클럭과 대비되는 예를 나타내는 도면이다. 도 5를 참조하면, 각 채널(CH1~CH4)에서의 신호의 천이 시점이 동일하므로, 모든 채널(CH1~CH4)에서 동시에 신호를 전송하는 때에 파워 노이즈의 피크(peak)가 도 4의 경우보다 상당히 높을 수 있다. 이렇듯, 일 실시예에 따른 메모리 시스템(100)에 의하면, 각 채널에서의 신호의 천이 시점을 달리하므로, 파워 노이즈 또는 EMI 현상을 줄일 수 있다. 파워 노이즈 또는 EMI 현상은 신호가 천이(transition)되는 때에 발생될 수 있다. 이에 따라 다수의 메모리(120) 또는 메모리 컨트롤러(140)에서의 오동작을 줄일 수 있다.
도 6은 다른 실시예에 따른 메모리 컨트롤러를 나타내는 도면이다. 도 6을 참조하면, 메모리 컨트롤러(140)는 다수의 채널 인터페이스(142) 및 마스터 클럭 생성기(144)를 포함할 수 있다. 다수의 채널 인터페이스(142)는 각각, 입력 클럭(CLKi1, CLKi2, …, CLKix)을 슬레이브 클럭(slave clock, CLKs1, CLKs2, …, CLKsx)으로 변조하는 클럭 변조기(142_11, 142_21, …, 142_x1) 및 슬레이브 클럭(CLKs1, CLKs2, …, CLKsx)에 동기되어 연결되는 채널(CH1~CHx)과 신호를 송수신하는 송수신부(142_12, 142_22, …, 142_x2)를 포함할 수 있다.
예를 들어, 제1 채널 인터페이스(142_1)는 제1 입력 클럭(CLKi1)을 수신하여 제1 슬레이브 클럭(CLKs1)으로 변조하는 제1 클럭 변조기(142_11), 및 제1 슬레이브 클럭(CLKs1)에 동기되어 제1 채널(CH1)로 신호를 출력하거나 제1 채널(CH1)로부터 신호를 수신하는 제1 송수신부(142_12)를 포함할 수 있다. 예를 들어, 제2 채널 인터페이스(142_2)는 제2 입력 클럭(CLKi2)을 수신하여 제2 슬레이브 클럭(CLKs2)으로 변조하는 제2 클럭 변조기(142_21), 및 제2 슬레이브 클럭(CLKs2)에 동기되어 제2 채널(CH2)로 신호를 출력하거나 제2 채널(CH2)로부터 신호를 수신하는 제2 송수신부(142_22)를 포함할 수 있다. 마찬가지로, 제x 채널 인터페이스(142_x)는 제x 입력 클럭(CLKix)을 수신하여 제x 슬레이브 클럭(CLKsx)으로 변조하는 제x 클럭 변조기(142_x1), 및 제x 슬레이브 클럭(CLKsx)에 동기되어 제x 채널(CHx)로 신호를 출력하거나 제x 채널(CHx)로부터 신호를 수신하는 제x 송수신부(142_x2)를 포함할 수 있다.
제1 입력 클럭(CLKi1)은 마스터 클럭(MCLK)일 수 있다. 그리고, 제2 입력 클럭(CLKi2)은 제1 클럭 변조기(142_11)에 의해 변조된 제1 슬레이브 클럭(CLKs1)일 수 있다. 마찬가지로, 제x 입력 클럭(CLKix)은 제x-1 클럭 변조기(미도시)에 의해 변조된 제x-1 슬레이브 클럭(CLKsx-1)일 수 있다. 따라서, 제1 슬레이브 클럭(CLKs1)보다 제2 슬레이브 클럭(CLKs2)이 마스터 클럭(MCLK)을 기준으로 더 지연되고 제x 슬레이브 클럭(CLKsx)이 가장 지연되어 생성될 수 있다.
도 7 및 도 8은 각각, 다른 실시예에 따른 메모리 컨트롤러를 나타내는 도면이다. 먼저 도 6 및 도 7을 참조하면, 채널 인터페이스(142)는 전술된 입력 클럭(CLKi)을 지연시키기 위한 클럭 변조기로, 지연 체인(delay chain)을 포함할 수 있다. 예를 들어, 제1 채널 인터페이스(142_1)는 제1 지연 체인을 제1 클럭 변조기(142_11)로 구비하고, 제2 채널 인터페이스(142_2)는 제2 지연 체인을 제2 클럭 변조기(142_21)로 구비할 수 있다. 마찬가지로, 제x 채널 인터페이스(142_x)는 제x 지연 체인을 제x 클럭 변조기(142_x1)로 구비할 수 있다.
제1 클럭 변조기(142_11)의 제1 지연 체인은 마스터 클럭(MCLK)을 제1 입력 클럭(CLKi1)으로 수신하여, 제1 입력 클럭(CLKi1)을 제1 값만큼 지연시켜 제1 슬레이브 클럭(CLKs1)으로 생성한다. 제2 클럭 변조기(142_21)의 제2 지연 체인은 마스터 클럭(MCLK)을 제1 값만큼 지연시킨 제1 슬레이브 클럭(CLKs1)을 제2 입력 클럭(CLKi2)으로 수신하여, 제2 입력 클럭(CLKi2)을 제2 값만큼 지연시켜 제2 슬레이브 클럭(CLKs2)으로 생성한다. 따라서, 제2 슬레이브 클럭(CLKs2)을 마스터 클럭(MCLK)이 제1 값 및 제2 값만큼 지연된 상태로 생성된다. 마찬가지로, 제x 클럭 변조기(142_x1)의 제x 지연 체인은 제x-1 슬레이브 클럭(CLKsx-1)을 수신하여 일정 값만큼 지연시켜 제x 슬레이브 클럭(CLKsx)으로 생성할 수 있다.
각 지연 체인은 직렬로 연결되는 다수의 지연 셀(delay cell)을 포함할 수 있다. 예를 들어, 제1 지연 체인은 제1 값에 대응되는 개수의 지연 셀을 포함하고, 제2 지연 체인은 제2 값에 대응되는 개수의 지연 셀을 포함할 수 있다. 마찬가지로, 제x 지연 체인은 제2 값에 대응되는 개수의 지연 셀을 포함할 수 있다. 각 지연 체인의 지연 값이 동일하여 각 지연 체인에 포함되는 지연 셀의 개수가 동일할 수 있다. 또는, 각 지연 체인의 지연 값이 상이하여 각 지연 체인에 포함되는 지연 셀의 개수가 상이할 수도 있다. 다만, 도 8과 같이, 각 지연 체인으로 입력되는 입력 클럭(CLKi)이 모두 마스터 클럭(MCLK)인 경우, 도 4와 같이 각 채널(CH1~CHx)에서의 천이 시점을 달리하고자 하면, 각 지연 체인에 포함되는 지연 셀의 개수는 상이하게 설정되어야 할 수 있다.
도 9는 다른 실시예에 따른 메모리 컨트롤러를 나타내는 도면이다. 도 9를 참조하면, 도 9의 메모리 컨트롤러(140)는 다수의 채널 인터페이스(142) 및 마스터 클럭 생성기(144)를 포함할 수 있다. 메모리 컨트롤러(140)의 마스터 클럭 생성기(144), 및 다수의 채널 인터페이스(142)의 클럭 변조기(142_11, 142_21, …, 142_x1) 각각은, DLL(Delay Lock Loop)로 구현될 수 있다. 예를 들어, 마스터 클럭 생성기(144)는 마스터 DLL로 구현될 수 있다. 예를 들어, 제1 클럭 변조기(142_11)는 제1 슬레이브 DLL로 구현되고, 제2 클럭 변조기(142_21)는 제2 슬레이브 DLL로 구현될 수 있다. 마찬가지로, 제x 클럭 변조기(142_x1)는 제x 슬레이브 DLL로 구현될 수 있다.
마스터 클럭 생성기(144)로 구현되는 마스터 DLL은 기준 클럭(RCLK)과 기준 클럭(RCLK)을 지연 한 클럭의 위상 차이를 검출하여, 위상 차이를 0으로 만드는 지연 셀의 개수를 고정 값(lock value, LCval)으로 출력할 수 있다. 기준 클럭(RCLK)은 메모리 컨트롤러(140)의 동작 클럭일 수 있다. 기준 클럭(RCLK)의 지연은 지연 셀에 의한다. 기준 클럭(RCLK)과 기준 클럭(RCLK)을 지연시킨 클럭의 위상 차이를 0인 경우는, 기준 클럭(RCLK)과 기준 클럭(RCLK)을 지연시킨 클럭의 위상 차이가 360도임을 나타낼 수 있다. 예를 들어, 기준 클럭(RCLK)과 기준 클럭(RCLK)을 지연시킨 클럭의 위상 차이를 0으로 만드는 지연 셀의 개수가 100개이면, 하나의 지연 셀이 3.6도의 위상 차이를 야기하는 것으로 판단될 수 있다. 상기 예에서, 고정 값(LCval)은 100으로 출력된다.
예를 들어, 클럭 변조기(142_11, 142_21, …, 142_x1)로 구현되는 각 슬레이브 DLL는 고정 값(LCval)을 수신하여 서로 위상을 달리하는 슬레이브 클럭(CLKs1, CLKs2, …, CLKsx)으로 변조할 수 있다. 예를 들어, 마스터 클럭(MCLK)와 90도의 위상 차이를 갖는 제1 슬레이브 클럭(CLKs1)을 생성하는 제1 클럭 변조기(142_11)의 제1 슬레이브 DLL은 마스터 클럭(MCLK)을 90도의 위상 차이에 대응되는 개수의 지연 셀로 지연시킨다. 전술된 예와 같이, 각 지연 셀에 의해 3.6도의 위상 차이가 야기되는 경우, 제1 클럭 변조기(142_11)의 제1 슬레이브 DLL은, 25개의 지연 셀로 마스터 클럭(MCLK)을 지연시켜 제1 슬레이브 클럭(CLKs1)으로 출력할 수 있다. 마찬가지로, 제2 클럭 변조기(142_12)의 제2 슬레이브 DLL은, 100개의 지연 셀로 마스터 클럭(MCLK)을 지연시켜, 마스터 클럭(MCLK)과 180도의 위상 차이를 갖는 제2 슬레이브 클럭(CLKs2)으로 출력할 수 있다.
이상에서 설명된 마스터 DLL 또는 각 슬레이브 DLL의 위상 지연을 위해 사용되는, 서로 직렬로 연결되는 다수의 지연 셀은 각각, 직렬로 연결되는 한 쌍의 인버터로 구현될 수 있다. 다만, 이에 한정되는 것은 아니다. 마스터 DLL 또는 각 슬레이브 DLL은 주파수를 변조하기 위해, 각각, 병렬로 연결되는 한 쌍의 인버터로 구현되는 다수의 지연 셀을 포함할 수 있다. 다수의 지연 셀은 서로 직렬로 연결된다. 이 경우, 각 슬레이브 DLL은 마스터 클럭(MCLK)의 주파수에 대응되는 개수의 지연 셀을 이용하여 슬레이브 클럭(CLKs1, CLKs2, …, CLKsx)으로 출력할 수 있다. 예를 들어, 200MHz를 나타내는 고정 값(LCval)이 50인 경우, 즉 200MHz의 마스터 클럭(MCLK)의 생성에 사용되는 지연 셀의 개수가 50개인 경우, 제1 클럭 변조기(142_11)의 제1 슬레이브 DLL은, 100개의 지연 셀을 통해 100MHz의 제1 슬레이브 클럭(CLKs1)으로 출력할 수 있다.
도 10은 일 실시예에 따른 제1 채널 인터페이스를 나타내는 도면이다. 도 10을 참조하면, 제1 채널 인터페이스(142_1)는 제1 클럭 변조기(142_11), 제1 송수신부(142_12) 및 제1 비동기 FIFO(Asynchronous First In First Out, 142-13)를 포함할 수 있다. 제1 클럭 변조기(142_11)는 입력되는 제1 입력 클럭(CLKi1)을 변조하여 제1 슬레이브 클럭(CLKs1)으로 생성할 수 있다. 예를 들어, 제1 클럭 변조기(142_11)는 전술된 바와 같이, 제1 입력 클럭(CLKi1)의 위상을 변조할 수 있다. 다만, 이에 한정되는 것은 아니고, 제1 클럭 변조기(142_11)는 후술되는 도 15와 같이, 제1 입력 클럭(CLKi1)의 주파수를 변조하여 제1 슬레이브 클럭(CLKs1)을 생성할 수도 있다.
제1 슬레이브 클럭(CLKs1)은 제1 송수신부(142_12) 및 제1 비동기 FIFO(142_13)로 전송된다. 제1 송수신부(142_12)는 제1 슬레이브 클럭(CLKs1)에 동기되어 신호를 출력하거나 수신한다. 제1 송수신부(142_12)에 의해 출력되거나 수신되는 신호는 제1 비동기 FIFO(142_13)에 입력될 수 있다. 예를 들어, 제1 비동기 FIFO(142_13)는 제1 슬레이브 클럭(CLKs1)의 라이징 엣지에서 동기 신호 RE를 제1 송수신부(142_12)로 전송할 수 있다. 이 경우, 제1 송수신부(142_12)는 제1 슬레이브 클럭(CLKs1)의 라이징 엣지에서 동기 신호 RE를 제1 채널(CH1)로 출력할 수 있다. 도 10의 제1 비동기 FIFO(142_13)는 제1 송수신부(142_12)로 신호를 전송하기 위한 전송용 FIFO와 제1 송수신부(142_12)로부터 신호를 수신하기 위한 수신용 FIFO를 포함할 수 있다. 나아가 제1 비동기 FIFO(142_13)는 FIFO 이외의 다른 형태의 저장 수단으로 구현될 수도 있다. 이하에서 기술되는 제1 비동기 FIFO(142_13) 내지 제x 비동기 FIFO142_x3) 또한 그러하다.
도 1의 다른 채널 인터페이스(142_2~142_x)도 도 10의 제1 채널 인터페이스(142_1)와 동일한 구조로 구현될 수 있다. 이렇듯, 일 실시예에 메모리 시스템(100)에 의하면 서로 다른 채널을 통해 신호를 전송하는 시점을 달리 설정함으로써, 파워 노이즈 또는 EMI 현상을 방지하여 신뢰성 있는 동작을 수행할 수 있다.
이상에서는 각 채널 인터페이스(142)가 클럭 변조기를 구비하여 마스터 클럭(MCLK)에 대해 서로 다른 위상으로 슬레이브 클럭(CLKs)이 생성되는 예에 한하여 설명되었다. 그러나, 이에 한정되는 것은 아니다. 일 실시예에 따른 메모리 컨트롤러(140)을 나타내는 도 11을 참조하면, 메모리 컨트롤러(140)는 다수의 지연부(146)를 더 포함할 수 있다. 다수의 지연부(146)는 각각, 입력되는 클럭을 지연하여 출력한다. 예를 들어, 제1 지연부(146_1)는 마스터 클럭(MCLK) 을 지연시켜 제2 슬레이브 클럭(CLKs2)으로 출력하고, 제2 지연부(146_2)는 제2 슬레이브 클럭(CLKs2)을 지연시켜 제3 슬레이브 클럭(CLKs3)으로 출력할 수 있다. 마찬가지로, 제x-1 지연부(146_x-1)는 제x-1 슬레이브 클럭(CLKsx-1)을 지연시켜 제x 슬레이브 클럭(CLKsx)으로 출력할 수 있다. 제1 지연부(146_1) 내지 제x-1 지연부(146_x-1)는 각각, 지연 셀이 직렬로 연결되어 구현될 수 있다. 제1 지연부(146_1) 내지 제x-1 지연부(146_x-1)에 포함되는 지연 셀의 개수는 동일하거나 상이할 수 있다.
제1 지연부(146_1) 내지 제x-1 지연부(146_x-1)의 출력은 각각, 제2 채널 인터페이스(142_2) 내지 제x 채널 인터페이스(142_x)의 제2 송수신부(142_22) 내지 제x 송수신부(142_x2)로 입력될 수 있다. 제2 송수신부(142_22) 내지 제x 송수신부(142_x2)는 각각, 제2 슬레이브 클럭(CLKs2) 내지 제x 슬레이브 클럭(CLKsx)에 동기되어 신호를 송수신할 수 있다. 도 11에서는 제1 채널 인터페이스(142_1)의 제1 송수신부(142_12)는 변조 또는 지연되지 아니한 마스터 클럭(MCLK)에 동기되는 것으로 도시하고 있으나, 이에 한정되는 것은 아니다. 다수의 지연부(146)는 마스터 클럭(MCLK)을 지연시켜 전술된 제1 슬레이브 클럭(CLKs1)을 출력하는 지연부를 더 포함할 수 있다. 이 경우, 제1 지연부(146_1)는 제1 슬레이브 클럭(CLKs1)을 지연시켜 제2 슬레이브 클럭(CLKs2)으로 출력할 수 있다.
도 12 및 도 13은 각각, 다른 실시예에 따른 슬레이브 클럭의 예를 나타내는 도면이다. 도 12 및 도 13은 메모리 시스템(100)에 8개의 채널(CH1~CH8)이 구비되고 메모리 컨트롤러(140)에 8개의 채널 인터페이스를 포함함이 전제된다. 도 12의 경우, 제1 슬레이브 클럭(CLKs1) 내지 제4 슬레이브 클럭(CLKs4)은 각각, 마스터 클럭(MCLK)을 위상 a, b, c 및 d만큼 지연시켜 생성된다. 그리고, 제5 슬레이브 클럭(CLKs5) 내지 제8 슬레이브 클럭(CLKs8)은 각각, 마스터 클럭(MCLK)을 위상 a, b, c 및 d만큼 지연시켜 생성된다.
도 13의 경우, 제1 슬레이브 클럭(CLKs1) 및 제2 슬레이브 클럭(CLKs2)이 마스터 클럭(MCLK)을 위상 a만큼 지연시켜 생성되고, 제3 슬레이브 클럭(CLKs3) 및 제4 슬레이브 클럭(CLKs4)이 마스터 클럭(MCLK)을 위상 b만큼 지연시켜 생성될 수 있다. 그리고, 제5 슬레이브 클럭(CLKs5) 및 제6 슬레이브 클럭(CLKs6)이 마스터 클럭(MCLK)을 위상 c만큼 지연시켜 생성되고, 제7 슬레이브 클럭(CLKs7) 및 제8 슬레이브 클럭(CLKs8)이 마스터 클럭(MCLK)을 위상 d만큼 지연시켜 생성될 수 있다.
마스터 클럭(MCLK)의 주기 T에서, 각 슬레이브 클럭(CLKs1~CLKs8) 중 4쌍의 슬레이브 클럭이 서로 다른 4개의 위상을 갖도록 위상 a, b, c 및 d가 설정될 수 있다. 따라서, 모든 채널(CH1~CH8)에서 신호의 천이가 동시에 발생되지 아니하므로, 파워 노이즈 또는 EMI 현상이 줄어들 수 있다.
파워 노이즈 또는 EMI 현상을 줄이기 위해, 메모리 시스템(100)은 도 4와 같이 모든 채널에서의 신호의 천이 시점을 달리 설정할 수도 있으나, 도 12 및 도 13과 같이 일부 채널에서의 신호의 천이 시점은 같게 설정할 수도 있다. 모든 채널에서의 신호의 천이 시점을 달리할지 일부 채널에서의 신호의 천이 시점을 달리할지는, 메모리 시스템(100)이 파워 노이즈 또는 EMI에 의한 영향을 받는 정도 또는 리소스(resource) 등에 의해 설정될 수 있다.
또한, 일부 채널에서의 신호의 천이 시점을 달리하는 경우, 어떤 채널끼리의 신호의 천이 시점을 달리 설정할지 또는 어떤 채널끼리 신호의 천이 시점을 같게 설정할지는, 채널 사이의 간섭 영향 또는 각 채널(CH1~CH8)에 연결되는 메모리 그룹의 특성에 따라 결정될 수 있다. 또한, 일부의 채널에서는 마스터 클럭(MCLK)과 동일한 위상의 슬레이브 클럭에 동기된 신호의 송수신이 수행될 수 있다. 예를 들어, 도 4, 도 12 및 도 13에서 제1 슬레이브 클럭(CLKs1)이 마스터 클럭(MCLK)에서 위상 a만큼 지연된 것으로 도시되었으나, 제1 슬레이브 클럭(CLKs1)은 마스터 클럭(MCLK)과 동일한 위상으로 생성될 수 있다.
도 14는 다른 실시예에 따른 메모리 컨트롤러를 나타내는 도면이다. 도 3 및 도 14를 참조하면, 메모리 컨트롤러(140)는 호스트 인터페이스(host interface, 141), 채널 인터페이스(142), 인터페이스 컨트롤러(interface controller, 143), 마스터 클럭 생성기(144), 버퍼(buffer, 145) 및 시스템 PLL(system Phase Lock Loop, 147)을 포함할 수 있다.
호스트 인터페이스(141)는 메모리 시스템(100)의 외부에 위치하는 호스트(미도시)와의 인터페이스를 수행한다. 예를 들어, 호스트 인터페이스(141)는 SATA(Serial Advance Technology Attachment), USB(Universal Serial Bus) 또는 SCSI(Small Computer System Interface) 등을 통해 호스트로부터 명령, 데이터 또는 LBA(Logical Block Address) 등을 수신하고, 호스트로 다수의 메모리(120)로부터 독출된 데이터를 전송할 수 있다.
채널 인터페이스(142)는 전술된 바와 같이, 연결되는 각 채널(CH1~CHx)을 통해 다수의 메모리(120)와의 신호의 송수신을 수행할 수 있다. 채널 인터페이스(142)는 전술된 도 10과 같은 구조로 구현되는 예를 도시한다. 예를 들어, 제1 채널 인터페이스(142_1)는 제1 클럭 변조기(142_11), 제1 송수신부(142_12) 및 제1 비동기 FIFO(142_13)를 포함할 수 있다. 제1 클럭 변조기(142_11)는 입력되는 제1 입력 클럭(CLKi1)을 변조하여 제1 슬레이브 클럭(CLKs1)으로 생성할 수 있다. 제1 슬레이브 클럭(CLKs1)은 제1 송수신부(142_12) 및 제1 비동기 FIFO(142_13)로 전송된다. 제1 송수신부(142_12)는 제1 슬레이브 클럭(CLKs1)에 동기되어 신호를 출력하거나 수신한다. 제1 송수신부(142_12)에 의해 출력되거나 수신되는 신호는 제1 비동기 FIFO(142_13)에 입력될 수 있다. 제2 채널 인터페이스(142_2) 내지 제x 채널 인터페이스(142_x)도 제1 채널 인터페이스(142_1)와 동일한 구조로 구현될 수 있다. 예를 들어, 제2 채널 인터페이스(142_2)는 제2 클럭 변조기(142_21), 제2 송수신부(142_22) 및 제2 비동기 FIFO(142_23)를 포함할 수 있다. 마찬가지로, 제x 채널 인터페이스(142_x)는 제x 클럭 변조기(142_x1), 제x 송수신부(142_x2) 및 제x 비동기 FIFO(142_x3)를 포함할 수 있다.
인터페이스 컨트롤러(143)는 호스트 인터페이스(141)로 수신되는 명령 등에 따라 채널 인터페이스(142)를 제어할 수 있다. 예를 들어, 인터페이스 컨트롤러(143)는 호스트 인터페이스(141)로 입력되는 LBA에 대응되는 메모리가 연결되는 채널을 통해 해당 LBA에 대응되는 명령 또는 데이터가 전송될 수 있도록 채널 인터페이스(142)를 제어한다. 예를 들어, 제1 인터페이스 컨트롤러(143_1)는 제1 채널(CH1)에 연결된 메모리를 나타내는 LBA를 수신하여 제1 채널 인터페이스(142_1)를 제어하고, 제2 인터페이스 컨트롤러(143_2)는 제2 채널(CH2)에 연결된 메모리를 나타내는 LBA를 수신하여 제2 채널 인터페이스(142_2)를 제어할 수 있다. 마찬가지로, 제x 인터페이스 컨트롤러(143_x)는 제x 채널(CHx)에 연결된 메모리를 나타내는 LBA를 수신하여 제x 채널 인터페이스(142_x)를 제어할 수 있다.
도 14는 마스터 클럭 생성기(144)가 마스터 DLL로 구현되는 예를 도시한다. 마스터 클럭 생성기(144)로 구현된 마스터 DLL은 마스터 클럭(MCLK)을 생성하여 채널 인터페이스(142)에 마스터 클럭(MCLK)을 제공할 수 있다. 마스터 클럭(MCLK)은 도 3과 같이 모든 채널 인터페이스(142_1~142_x)로 인가되거나, 도 6과 같이 제1 채널 인터페이스(142_1)에만 인가될 수 있다. 마스터 클럭 생성기(144)로 구현된 마스터 DLL은 전술된 바와 같이, 마스터 DLL은 기준 클럭(RCLK)과 기준 클럭(RCLK)을 지연한 신호의 위상 차이 또는 마스터 클럭(MCLK)의 주파수에 대응되는 고정 값(LCval)을 산출할 수도 있다.버퍼(145)는 호스트 인터페이스(141)로 송수신되는 LBA 또는 데이터 등의 신호를 임시적으로 저장한다. 버퍼(145)에 저장된 LBA 또는 데이터 등은 인터페이스 컨트롤러(143)에 전송될 수 있다. 버퍼(145)는 또한 인터페이스 컨트롤러(143)로부터 수신되는 데이터 등을 임시적으로 저장한 후 호스트 인터페이스(141)로 전송할 수 있다.
시스템 PLL(147)은 메모리 컨트롤러(140)의 내부의 동작 클럭인 시스템 클럭(SCLK)을 생성할 수 있다. 시스템 클럭(SCLK)은 호스트 인터페이스(141), 인터페이스 컨트롤러(143) 및 버퍼(145) 등으로 인가되어, 메모리 컨트롤러(140)에서의 동작이 시스템 클럭(SCLK)에 동기되어 수행될 수 있다.
이상에서는 주로 채널에 따라 서로 다른 위상을 갖는 슬레이브 클럭에 대해 설명되었다. 이하에서는 마스터 클럭의 주파수를 변조하여 생성되는 슬레이브 클럭에 대해 자세히 설명한다.
도 15는 일 실시예에 따른 슬레이브 클럭의 주파수를 나타내는 도면이다. 도 1, 도 3 및 도 15를 참조하면, 일 실시예에 따른 입력 클럭(CLKi)은 시간에 따라 주파수가 달리 변조될 수 있다. 예를 들어, 제1 채널 인터페이스(142_1)는 제1 입력 클럭(CLKi1)을 시간 t1와 t2 사이의 구간에서 제1 주파수(freq1) 및 제2 주파수(freq2) 사이의 주파수로 변조할 수 있다. 시간 t1은 메모리 컨트롤러(140)가 아이들(idle) 상태에서 어웨이크(awake) 되는 시간을 나타낼 수 있다. 시간 t2는 제1 채널(CH1)에서의 심볼간 간섭의 정도 등에 의해 설정될 수 있다. 제1 채널 인터페이스(142_1)는 시간 t2와 t3 사이의 구간에서는 제1 입력 클럭(CLKi1)을 제2 주파수(freq2)로 변조할 수 있다.
시간 t3은 예를 들어, 다시 아이들 상태가 된 시간을 나타낼 수 있다. 이 경우, 다시 비지(busy) 상태가 되는 t4에서, 다시 제1 입력 클럭(CLKi1)을 변조한 제1 슬레이브 클럭(CLKs1)을 생성할 수 있다. 제1 채널 인터페이스(142_1)는 시간 t4와 t5 사이의 구간에서 제1 입력 클럭(CLKi1)을 제1 주파수(freq1) 및 제2 주파수(freq2) 사이의 주파수로 변조하고, 시간 t5와 t6 사이의 구간에서 제1 입력 클럭(CLKi1)을 제2 주파수(freq2)로 변조하여 제1 슬레이브 클럭(CLKs1)을 생성할 수 있다. 시간 t5는 시간 t2와 마찬가지로 제1 채널(CH1)에서의 심볼간 간섭의 정도 등에 의해 설정될 수 있다. 시간 t6 이후는 아이들 또는 웨이트(wait) 상태일 수 있다.
또는, 시간 t3는 웨이트(wait) 상태가 되는 시간을 나타낼 수도 있다. 각 채널 인터페이스(142)에 구비될 수 있는 비동기 FIFO(142_13, 142_23, …, 142_x3)가 풀(full) 또는 엠티(empty)가 되는 경우, 해당 채널에 대하여 웨이트(wait) 상태가 될 수 있다. 제2 채널 인터페이스(142_2) 내지 제x 채널 인터페이스(142_x) 또한, 제1 채널 인터페이스(142_1)와 동일한 방식으로 동작할 수 있다. 채널 인터페이스(142)의 각 클럭 변조부(142_11, 142_21, …, 142_x1)에 의해 상기와 같은 입력 클럭(CLKi)의 슬레이브 클럭(CLKs)으로의 변조 동작이 수행될 수 있다.
도 16 및 도 17은 각각, 다른 실시예에 따른 슬레이브 클럭의 예를 나타내는 도면이다. 도 16 및 도 17은 메모리 시스템(100)에 4개의 채널(CH1~CH4)이 구비되고 메모리 컨트롤러(140)에 4개의 채널 인터페이스(142)를 포함함이 전제된다. 도 16에서, 제1 슬레이브 클럭(CLKs1)은 시간 t1와 t2 사이의 구간에서보다 시간 t2 이후의 구간에서 빠르게 생성되고, 시간 t1와 t2 사이의 구간에서도 점차적으로 빠르게 생성된다(△T1>△T2). 나머지 채널(CH2~CH4)에 대응되는 슬레이브 클럭(CLKs2~CLKsx)에 대한 시간 t1와 t2 사이의 구간도 제1 슬레이브 클럭(CLKs1)의 경우와 같다.
다만, 이에 한정되는 것은 아니다. 전술된 바와 같이, 도 2의 메모리 그룹마다 독립적으로 동작할 수 있기 때문에, 각 채널(CH1~CHx)의 환경이 상이할 수 있다. 따라서, 도 17에 도시되는 바와 같이, 각 채널(CH1~CH4)에 대응되는 슬레이브 클럭(CLKs1~CLKsx)에 대한 시간 t1와 t2 사이의 구간이 상이할 수 있다. 예를 들어, 제1 슬레이브 클럭(CLKs1) 및 제2 슬레이브 클럭(CLKs2)에 대한 시간 t1와 t2 사이의 구간은 동일하나, 제1 슬레이브 클럭(CLKs1) 및 제2 슬레이브 클럭(CLKs2)에 대한 시간 t1와 t2 사이의 구간과, 제3 슬레이브 클럭(CLKs3) 및 제4 슬레이브 클럭(CLKs4)에 각각의 시간 t1와 t2 사이의 구간은 상이할 수 있다. 또한, 제1 슬레이브 클럭(CLKs1) 및 제2 슬레이브 클럭(CLKs2)에 대한 시간 t1와 t2 사이의 구간이 동일하더라도 시간 t1와 t2 사이의 구간 내의 증가 속도는 상이할 수 있다(△T11≠△T21 및 △T12≠△T22).
이렇듯 일 실시예에 따른 메모리 시스템 및 이의 동작 방법에 의하면, 각 채널에서의 신호 송수신을 위한 슬레이브 클럭의 초기 펄스를 낮은 주파수로 생성하여, 심볼(symbol) 간의 간섭에 의해 상대적으로 채널을 통해 송수신 되는 신호의 초기 펄스의 크기가 작아 다수의 메모리에서 이를 정확히 검출하지 못해 발생되는 오동작을 방지할 수 있다. 심볼은 각 채널을 통해 송수신되는 신호의 각 펄스를 나타낼 수 있다. 슬레이브 클럭의 초기 펄스를 낮은 주파수로 생성함으로써, 비록 심볼 간의 간섭에 의해 상대적으로 채널을 통해 송수신 되는 신호의 초기 펄스의 크기가 작더라도 이를 메모리가 검출할 수 있는 시간을 확보함으로써, 오동작이 방지될 수 있다.
도 18은 일 실시예에 따른 슬레이브 클럭의 생성 방법을 나타내는 도면이다. 설명의 편의 상, 도 18의 슬레이브 클럭의 생성 방법(1800)이 도 14의 메모리 컨트롤러(140)에서 수행되는 경우가 전제되어 설명된다. 다만, 이에 한정되는 것은 아니고, 도 18의 슬레이브 클럭의 생성 방법(1800)은 다른 실시예에 따른 메모리 컨트롤러에서도 수행될 수 있다. 또한, 설명의 편의 상, 도 18의 슬레이브 클럭의 생성 방법(1800)은 도 6과 같이 마스터 클럭(MCLK)이 제1 채널 인터페이스(142_1)로 인가되고 나머지 채널 인터페이스(142_2~142_x)에서는 전 단의 채널 인터페이스의 슬레이브 클럭이 입력되는 것이 전제된다. 다만, 도 18의 슬레이브 클럭의 생성 방법(1800)은 모든 채널 인터페이스(142_1~142_x)로 마스터 클럭(MCLK)이 인가되는 경우에도 수행될 수 있다.
도 14 및 도 18을 참조하면, 일 실시예에 따른 슬레이브 클럭의 생성 방법(1800)은 마스터 DLL로 구현되는 마스터 클럭 생성기(144)에서 고정 값(LCval)이 설정되는 단계(S1810), 제1 채널 인터페이스(142_1)의 루프 조정 값(loop adjustment value, LAval)을 i로 초기화되는 단계(S1820), 딜레이 루프 값(delay loop value, DLval)을 고정 값(LCval)과 루프 조정 값(LAval)의 합으로 산출하는 단계(S1830), 메모리 시스템(100)이 아이들 상태가 아니고(S1840의 NO) 루프 조정 값(LAval)이 영(zero)이 아닌 경우(S1850의 NO), 루프 조정 값(LAval)을 조절하여(S1860) 딜레이 루프 값(DLval)의 산출을 반복하는 단계(S1830~S1860)를 포함할 수 있다.
루프 조정 값(LAval)은 제1 채널 인터페이스(142_1~142_x)로 입력되는 마스터 클럭(MCLK)의 주파수를 변조하여 제1 슬레이브 클럭(CLKs1)을 생성함에 있어, 마스터 클럭(MCLK)에 대한 주파수 변조의 범위에 대응되는, 제1 슬레이브 DLL로 구현된 제1 클럭 변조기(142_11)의 지연 체인 상의 지연 셀의 개수를 나타낼 수 있다. 예를 들어, 마스터 클럭(MCLK)과 제1 슬레이브 클럭(CLKs1)의 주파수 차이가 제1 범위 내인 경우, 제1 범위가 제1 슬레이브 DLL의 지연 체인 상의 b개의 지연 셀에 대응된다면, 루프 조정 값(LAval)은 b로 설정될 수 있다. 예를 들어, 제1 범위는 도 15의 예의 제1 주파수(freq1)와 제2 주파수(freq2)의 차이일 수 있다.
딜레이 루프 값(DLval)은 제1 채널 인터페이스(142_1)가 마스터 클럭(MCLK)을 제1 슬레이브 클럭(CLKs1)으로 변조하기 위해, 제1 슬레이브 DLL의 지연 체인 상의 지연 셀을 몇 개 사용해야 하는지를 나타내는 값이다. 따라서, 딜레이 루프 값(DLval)은 고정 값(LCval)과 루프 조정 값(LAval)의 합으로 나타낼 수 있다.
도 18의 방법(1800)은, 도 15와 같이 임의의 시간 구간 또는 임의의 동작 환경에서 제1 슬레이브 클럭(CLKs1)의 주파수를 점차적으로 변화시키기 위해, 루프 조정 값(LAval)을 단계적으로 조절하여 딜레이 루프 값(DLval)을 설정할 수 있다(S1830~S1860). 루프 조정 값(LAval)인 i는 양의 값 또는 음의 값으로 설정될 수 있다. 루프 조정 값(LAval)이 양의 값을 갖는 경우, 단계 S1860은 루프 조정 값(LAval)을 하나 감소시킨다(i=i-1). 반면, 루프 조정 값(LAval)이 음의 값을 갖는 경우, 단계 S1860은 루프 조정 값(LAval)을 하나 증가시킨다(i=i+1).
루프 조정 값(LAval)이 양의 값을 갖는 경우, 단계 S1830~S1860에 의해, 딜레이 루프 값(DLval)은 순차적으로 감소할 수 있다. 따라서, 제1 슬레이브 클럭(CLKs1)의 주파수가 빨라질 수 있다. 반면, 루프 조정 값(LAval)이 음의 값을 갖는 경우, 단계 S1830~S1860에 의해, 딜레이 루프 값(DLval)은 순차적으로 증가할 수 있다.
도 15에서 설명한 바와 같이, 아이들 상태가 되면 초기화가 수행된다(S1840의 NO). 그리고, 루프 조정 값(LAval)이 감소하다가(S1860) 영이 되면(S1850의 YES), 제1 슬레이브 클럭(CLKs1)의 주파수는 유지된다(S8170). 예를 들어, 도 15의 예에서, 제1 슬레이브 클럭(CLKs1)은 시간 t2과 t3의 사이의 구간에서 루프 조정 값이 0이 되어 제2 주파수(freq2)로 유지될 수 있다. 도 18에서 단계 S1840은 아이들 상태인지를 판단하는데, 이에 한정되지 아니하고, 도 15에서 설명된 웨이트 상태인지 여부를 함께 판단할 수도 있다.
도 19는 다른 실시예에 따른 슬레이브 클럭의 주파수를 나타내는 도면이다. 도 20은 다른 실시예에 따른 메모리 컨트롤러의 예를 나타내는 도면이다. 도 19 및 도 20을 참조하여, 일 실시예에 따른 슬레이브 클럭에 대해 설명하는데, 설명의 편의 상, 제1 슬레이브 클럭(CLKs1)에 한해 설명한다. 다만, 제1 슬레이브 클럭(CLKs1)에 대한 사항은 다른 슬레이브 클럭(CLKs2~CLKsx)에 동일하게 적용될 수 있다. 그리고, 도 20의 제1 채널 인터페이스(142_1)와 다른 구조의 제1 채널 인터페이스에서도 후술되는 사항이 적용될 수 있다.
일 실시예에 따른 마스터 클럭(MCLK)은 시간에 따라 주파수가 달리 변조될 수 있다. 예를 들어, 제1 슬레이브 DLL로 구현되는, 제1 채널 인터페이스(142_1)의 제1 클럭 변조기(142_11)는, 시간 t1와 t2 사이의 구간에서 마스터 클럭(MCLK)을 제1 주파수(freq1) 및 제2 주파수(freq2) 사이의 주파수로 변조할 수 있다. 시간 t1은 메모리 컨트롤러(140)가 아이들(idle) 상태에서 어웨이크(awake) 되는 시간을 나타낼 수 있다. 시간 t2는 제1 채널(CH1)에서의 심볼간 간섭의 정도 등에 의해 설정될 수 있다. 제1 채널 인터페이스(142_1)는 시간 t2와 t3 사이의 구간에서는 제1 슬레이브 클럭(CLKs1)의 주파수를 제2 주파수(freq2)로 유지할 수 있다.
시간 t3은 예를 들어, 제1 비동기 FIFO(142_13)가 임계 값을 갖는 시간을 나타낼 수 있다. 임계 값은 제1 비동기 FIFO(142_13)가 풀(full) 또는 엠티(empty)에 가까워짐을 나타내는 값일 수 있다. 일 실시예에 따른 제1 채널 인터페이스(142_1)는 제1 비동기 FIFO(142_13)가 풀(full) 또는 엠티(empty)가 되어 웨이트(wait) 상태가 되는 것을 방지하기 위해, 제1 채널(CH1)을 통한 신호의 송신 또는 수신 동작의 동작 속도를 줄일 수 있다. 이는 제1 슬레이브 클럭(CLKs1)의 주파수를 줄임으로써 구현될 수 있다.
제1 비동기 FIFO(142_13)가 임계 값을 갖는지 여부는 제1 인터페이스 컨트롤러(143_1)에 의해 판단될 수 있다. 제1 인터페이스 컨트롤러(143_1)는 제1 카운터(counter, 143_11) 및 제1 비교기(143_12)를 포함할 수 있다. 제1 카운터(143_11)는 제1 비동기 FIFO(142_13)의 빈 엔트리(entry)의 개수를 카운트할 수 있다. 제1 비교기(143_12)는 제1 카운터(143_11)로부터 카운터 값(CNT)을 수신하여 제1 비동기 FIFO(142_13)에 대한 임계 값과 비교한다. 비교 결과, 카운터 값(CNT)이 임계 값과 같아지면, 제1 제어 신호(XCON1)를 제1 채널 인터페이스(142_1)로 전송할 수 있다. 카운터 값(CNT) 및 임계 값은 각각 비동기 FIFO의 엔트리의 개수에 대한 것일 수 있다.
제1 슬레이브 DLL로 구현된 제1 클럭 변조기(142_11)는 시간 t3에서 입력되는 제1 제어 신호(XCON1)에 응답하여, 시간 t3 및 t4 사이의 구간에서, 제1 슬레이브 클럭(CLKs1)의 주파수를 줄여 생성할 수 있다. 시간 t4는 제1 채널 인터페이스(142_1)의 동작 환경 또는 제1 채널(CH1)의 동작 환경 등에 근거하여 설정될 수 있다. 또는 시간 t4는 제1 비교기(143_12)가 카운터 값(CNT)과 임계 값의 차이가 임의의 값 이상 차이가 나는 경우, 별도의 제어 신호를 인가하는 때를 나타낼 수 있다.
시간 t4 및 t5 사이의 구간에서 다시 제1 슬레이브 클럭(CLKs1)의 주파수가 증가될 수 있다. 그리고, 시간 t5 및 t6 사이의 구간에서 제1 슬레이브 클럭(CLKs1)의 주파수가 제2 주파수(freq2)로 유지될 수 있다. 제2 채널 인터페이스(142_2) 내지 제x 채널 인터페이스(142_x) 또한, 제1 채널 인터페이스(142_1)와 동일한 방식으로 동작할 수 있다. 채널 인터페이스(142)의 각 클럭 변조부(142_11, 142_21, …, 142_x1)에 의해 상기와 같은 입력 클럭(CLKi)의 슬레이브 클럭(CLKs)으로의 변조 동작이 수행될 수 있다.
이렇듯, 일 실시예에 따른 메모리 시스템 및 이의 동작 방법에 의하면, 낮은 주파수로 슬레이브 클럭의 초기 펄스(시간 t1 및 t2 사이의 구간에서 발생되는 펄스)를 생성하여, 다수의 메모리 각각이 신호의 초기 펄스를 정확히 검출함으로써 오동작을 방지할 수 있고, 웨이트 상태로 진입하는 것을 방지하여 슬레이브 클럭의 초기 설정 동작 등에 소요되는 시간 및 자원의 낭비를 줄일 수 있다.
이상에서는 지연과 주파수에 대한 변조가 별개로 수행되는 예에 한하여 설명되었으나, 이에 한정되는 것은 아니다. 일 실시예에 따른 메모리 시스템 및 이의 동작 방법에 의하면, 각 채널 인터페이스는 입력 클럭에 대한 지연과 주파수 변조를 동시에 수행할 수도 있다. 이에 대하여 설명한다.
도 21은 일 실시예에 따른 제1 클럭 변조기를 나타내는 도면이다. 도 21을 참조하면, 제1 클럭 변조기(142_11)는 제1 지연 체인(142_11a) 및 제1 슬레이브 DLL(142_11b)을 포함할 수 있다. 제1 지연 체인(142_11a)은 마스터 클럭(MCLK)을 수신하여, 마스터 클럭(MCLK)을 제1 값만큼 지연시켜 제1 임시 클럭(CLKt1)으로 생성할 수 있다. 제1 슬레이브 DLL(142_11b)은 제1 임시 클럭(CLKt1)의 주파수를 변조하여 제1 슬레이브 클럭으로 생성할 수 있다. 지연과 주파수 변조에 대하여는 전술되었으므로, 이에 대한 더 자세한 설명은 생략한다. 도 21은 제1 클럭 변조기(142_11)의 예에 한하여 설명되었으나, 전술된 다른 클럭 변조기(142_12~142_1x)도, 도 21의 제1 클럭 변조기(142_11)와 동일한 기능을 수행할 수 있다.
도 22는 다른 실시예에 따른 슬레이브 클럭을 나타내는 도면이다. 도 22의 예는, 메모리 시스템(100)에 4개의 채널(CH1~CH4)이 구비되고 메모리 컨트롤러(140)에 4개의 채널 인터페이스(142)를 포함함이 전제된다. 제1 슬레이브 클럭(CLKs1)은 시간 t1와 t2 사이의 구간에서보다 시간 t2 이후의 구간에서 빠르게 생성되고, 시간 t1와 t2 사이의 구간에서도 점차적으로 빠르게 생성된다(?T1>?T2). 나머지 채널(CH2~CH4)에 대응되는 슬레이브 클럭(CLKs2~CLKsx)에 대한 시간 t1와 t2 사이의 구간도 제1 슬레이브 클럭(CLKs1)의 경우와 같다. 또한, 제1 슬레이브 클럭(CLKs1) 내지 제4 슬레이브 클럭(CLKs4)은 각각, 마스터 클럭(MCLK)과 대비하여 위상이 a, b, c 및 d만큼 지연되어 생성된다.
따라서, 일 실시예에 따른 메모리 시스템 및 이의 동작 방법에 의하면, 각 채널을 통해 송수신되는 신호가 동기되는 슬레이브 클럭의 초기 펄스가 느리게 생성됨으로써 심볼 간 간섭에 의해 신호의 초기 펄스가 상대적으로 작더라도 메모리가 이를 정확히 검출할 수 있어 ISI(Inter Symbol Interference)를 방지할 수 있고, 각 채널 사이의 신호의 천이 시점을 달리함으로써 파워 노이즈 또는 EMI의 현상을 방지할 수 있다.
도 23 내지 도 25는 각각, 다른 실시예에 따른 메모리 컨트롤러를 나타내는 도면이다. 이상에서 설명된 실시예에서는 모든 채널 인터페이스(142)에서 마스터 클럭(MCLK) 또는 입력 클럭(CLKi)이 변조됨이 주로 기술되었으나, 이에 한정되는 것은 아니다. 도 23을 참조하면, 채널 인터페이스(142) 중 일부에서만 상기의 변조 동작이 수행될 수 있다. 예를 들어, 다수의 채널 인터페이스(142) 중 제x 채널 인터페이스(142_x)만이 마스터 클럭(MCLK)을 변조하여 제x 슬레이브 클럭(CLKsx)으로 생성하고, 나머지 채널 인터페이스에서는 변조되지 아니한 마스터 클럭(MCLK)을 이용하여 신호의 송수신을 수행할 수 있다.
이상에서 설명된 실시예에서는 모든 채널 인터페이스(142)가 동일한 변조 동작을 수행함이 주로 기술되었으나, 이에 한정되는 것은 아니다. 도 24를 참조하면, 채널 인터페이스(142) 중 적어도 둘 이상의 채널 인터페이스는 서로 다른 변조 동작을 수행할 수 있다. 예를 들어, 제1 채널 인터페이스(142_1)는 지연 체인으로 구현되는 제1 클럭 변조기(142_11)를 구비하는 반면, 제x 채널 인터페이스(142_x)는 슬레이브 DLL로 구현되는 제x 클럭 변조기(142_x1)를 구비할 수도 있다.
이상에서 설명된 실시예에서는 각 채널 인터페이스(142)가 개별적으로 변조 동작을 수행함이 주로 기술되었으나, 이에 한정되는 것은 아니다. 도 25를 참조하면, 채널 인터페이스(142) 중 적어도 둘 이상의 채널 인터페이스는 하나의 슬레이브 클럭(CLKs)를 공유할 수 있다. 예를 들어, 제2 채널 인터페이스(142_2)는 제1 채널 인터페이스(142_1)에 의해 생성된 제1 슬레이브 클럭(CLKs1)을 사용하여 제2 채널(CH2)을 통해 신호를 송수신할 수 있다.
도 26는 일 실시예에 따른 비휘발성 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다. 일 실시예에 따른 컴퓨팅 시스템(2600)은 모바일 기기나 데스크 탑 컴퓨터 등일 수 있고, CPU 등을 포함하는 호스트(2610), 램(2620), 유저 인터페이스(2630) 및 장치 드라이버(2640)를 포함할 수 있으며, 이들 구성요소는 각각 버스(2660)에 전기적으로 연결되어 있다. 비휘발성 저장 시스템(2650)은 장치 드라이버(2640)과 연결될 수 있다. 호스트(2610)는 컴퓨팅 시스템(2600) 전체를 제어하고, 유저 인터페이스(2630)를 통해서 입력된 유저의 명령에 대응하는 연산을 수행할 수 있다. 램(2620)은 호스트(2610)의 데이터 메모리 역할을 할 수 있고, 호스트(2610)는 장치 드라이버(2640)를 통해서 비휘발성 저장 시스템(2650)에 유저 데이터를 기록하거나 독출할 수 있다. 또한 도 26에서는 비휘발성 저장 시스템(2650)의 동작 및 관리를 제어하기 위한 장치 드라이버(2640)가 호스트(2610)의 외부에 구비되는 것으로 도시되었으나, 장치 드라이버(2640)는 호스트(2610)의 내부에 구비되어도 무방하다. 비휘발성 저장 시스템(2650)은 도 1의 메모리 시스템(100)일 수 있다. 따라서, 일 실시예에 따른 컴퓨팅 시스템(2600)은 ISI, 파워 노이즈 또는 EMI 등의 영향을 최소화하여 정확한 동작을 수행할 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 개시를 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 본 개시에 의한 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 메모리 시스템
120: 메모리
140: 메모리 컨트롤러
142: 채널 인터페이스
CH: 채널
CLKi: 입력 클럭

Claims (20)

  1. 각각, 다수의 채널(channel) 중 하나의 채널에 연결되는 다수의 메모리(memory); 및
    각각 상기 다수의 채널 중 하나의 채널과 전기적으로 연결되어 연결되는 채널을 통해 신호를 송수신하고, 적어도 하나는 입력되는 클럭(clock)을 변조하고 변조된 클럭에 동기되어 상기 연결되는 채널을 통해 신호를 송수신하는, 다수의 채널 인터페이스(channel interface)를 구비하는 메모리 컨트롤러(memory controller)를 포함하는 메모리 시스템(memory system).
  2. 제1 항에 있어서,
    상기 다수의 메모리는 각각, 플래시 메모리(flash memory)로 구현되는 메모리 시스템.
  3. 제1 항에 있어서,
    상기 다수의 채널 인터페이스 모두, 상기 입력되는 클럭을 변조하는 클럭 변조기(clock modulator)를 포함하는 메모리 시스템.
  4. 제1 항에 있어서,
    상기 메모리 컨트롤러는 마스터 클럭(master clock)을 생성하는 마스터 클럭 생성기(master clock generator)를 더 포함하는 메모리 시스템.
  5. 제4 항에 있어서,
    상기 마스터 클럭은 상기 다수의 채널 인터페이스 중 상기 입력되는 클럭을 변조하는 채널 인터페이스 모두로 입력되는 메모리 시스템.
  6. 제4 항에 있어서,
    상기 다수의 채널 인터페이스 중 상기 입력되는 클럭을 변조하는 채널 인터페이스는 제1 채널 인터페이스 내지 제x(x는 2 이상의 정수) 채널 인터페이스이고,
    상기 마스터 클럭은 상기 제1 채널 인터페이스로 입력되며,
    상기 제2 채널 인터페이스는 상기 제1 채널 인터페이스에 의해 변조된 클럭이 입력되는 메모리 시스템.
  7. 제1 항에 있어서,
    상기 다수의 채널 인터페이스 중 상기 입력되는 클럭을 변조하는 채널 인터페이스는 제1 채널 인터페이스 내지 제x 채널 인터페이스이고,
    상기 제1 채널 인터페이스 내지 제x 채널 인터페이스 중 적어도 한 쌍의 채널 인터페이스는 각각,
    상기 입력되는 클럭을 서로 다른 위상만큼 지연시키는 클럭 변조기를 포함하는 메모리 시스템.
  8. 제1 항에 있어서,
    상기 다수의 채널 인터페이스 중 상기 입력되는 클럭을 변조하는 채널 인터페이스는 제1 채널 인터페이스 내지 제x 채널 인터페이스이고,
    상기 제1 채널 인터페이스 내지 제x 채널 인터페이스는 각각,
    상기 입력되는 클럭을 서로 다른 위상만큼 지연시키는 클럭 변조기를 포함하는 메모리 시스템.
  9. 제1 항에 있어서,
    상기 다수의 채널 인터페이스 중 상기 입력되는 클럭을 변조하는 채널 인터페이스는 제1 채널 인터페이스 내지 제x 채널 인터페이스이고,
    상기 제1 채널 인터페이스 내지 제x 채널 인터페이스 중 적어도 하나의 채널 인터페이스는, 상기 입력되는 클럭을, 다른 채널 인터페이스에서 신호의 송수신에 사용하는 클럭과 다른 위상만큼 지연시키는 위상 변조 클럭 변조기를 포함하고,
    상기 제1 채널 인터페이스 내지 제x 채널 인터페이스 중 적어도 하나의 채널 인터페이스는, 상기 입력되는 클럭의 주파수를 변조하는 주파수 변조 클럭 변조기를 포함하는 메모리 시스템.
  10. 제1 항에 있어서,
    상기 다수의 채널 인터페이스 중 상기 입력되는 클럭을 변조하는 채널 인터페이스는 제1 채널 인터페이스 내지 제x 채널 인터페이스이고,
    상기 제1 채널 인터페이스 내지 제x 채널 인터페이스는 각각,
    상기 입력되는 클럭의 주파수를 변조하는 클럭 변조기를 포함하는 메모리 시스템.
  11. 제10 항에 있어서,
    상기 클럭 변조기는, 상기 입력되는 클럭의 주파수를 제1 시점에서의 제2 시점까지 증가시키고, 상기 제2 시점에서의 주파수를 상기 제2 시점부터 제3 시점까지 유지하는 메모리 시스템.
  12. 제11 항에 있어서,
    상기 제1 시점은 상기 클럭 변조기가 포함되는 채널 인터페이스가 아이들(idle) 상태에서 어웨이크(awake) 상태로 전환되는 시점인 메모리 시스템.
  13. 제11 항에 있어서,
    상기 제1 채널 인터페이스 내지 제x 채널 인터페이스는 각각,
    연결되는 채널을 통해 송수신하는 신호를 저장하는 비동기식 FIFO(First In First Out)를 포함하고,
    상기 제3 시점은 상기 비동기식 FIFO의 빈 엔트리(entry)의 개수가 임계 값과 동일한 시점인 메모리 시스템.
  14. 제13 항에 있어서,
    상기 클럭 변조기는, 상기 입력되는 클럭의 주파수를, 상기 제3 시점부터 제4 시점까지 감소시키는 메모리 시스템.
  15. 제13 항에 있어서,
    상기 메모리 컨트롤러는,
    각각, 상기 다수의 채널 인터페이스를 제어하는 다수의 인터페이스 컨트롤러(interface controller)를 더 포함하는 메모리 시스템.
  16. 제15 항에 있어서,
    상기 다수의 인터페이스 컨트롤러 중, 상기 제1 채널 인터페이스 내지 제x 채널 인터페이스 중 하나에 연결되는 제1 인터페이스 컨트롤러 내지 제x 인터페이스 컨트롤러는 각각,
    상기 비동기식 FIFO의 빈 엔트리의 개수를 카운트하는 카운터(counter); 및
    상기 카운터가 카운트한 값과 상기 임계 값을 비교하여 제1 제어 신호를 상기 클럭 변조기에 전송하는 비교기를 포함하는 메모리 시스템.
  17. 제11 항에 있어서,
    상기 제1 채널 인터페이스 내지 제x 채널 인터페이스 중 적어도 한 쌍의 인터페이스에 포함되는 클럭 변조기는,
    상기 제2 시점을 서로 달리 설정하는 메모리 시스템.
  18. 제1 항에 있어서,
    상기 다수의 채널 인터페이스 중 제1 채널 인터페이스는 상기 입력되는 클럭을 변조하고 제2 채널 인터페이스는 상기 입력되는 클럭을 변조하지 아니하고,
    상기 제2 채널 인터페이스는 상기 제1 채널 인터페이스가 변조한 클럭으로, 연결되는 채널을 통해 신호를 송수신하는 메모리 시스템.
  19. 각각, 제1 채널(channel) 내지 제x(x는 2 이상의 정수) 채널 중 하나의 채널에 연결되는 다수의 플래시 메모리(flash memory); 및
    각각 상기 제1 채널 내지 제x 채널 중 하나의 채널과 전기적으로 연결되고, 입력되는 클럭(clock)을 변조하고 변조된 클럭에 동기되어 상기 연결되는 채널을 통해 신호를 송수신하는, 제1 채널 인터페이스(channel interface) 내지 제x 채널 인터페이스를 구비하는 SSD 컨트롤러(SSD controller)를 포함하는 SSD(Solid State Drive).
  20. 각각, 다수의 채널(channel) 중 하나의 채널에 연결되는 다수의 메모리(memory)를 포함하는 메모리 시스템(memory system)의 동작 방법에 있어서,
    상기 다수의 채널마다 위상을 달리하거나 상기 다수의 채널의 동작 환경에 따라 주파수를 달리하여 클럭을 생성하는 단계; 및
    상기 생성된 클럭에 동기되어 상기 채널로 신호를 출력하는 단계를 포함하는 메모리 시스템의 동작 방법.
KR1020150049074A 2015-04-07 2015-04-07 메모리 시스템 및 메모리 시스템의 동작 방법 KR102251813B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020150049074A KR102251813B1 (ko) 2015-04-07 2015-04-07 메모리 시스템 및 메모리 시스템의 동작 방법
US14/995,834 US10133298B2 (en) 2015-04-07 2016-01-14 Memory system with multiple channel interfaces and method of operating same
CN201610212732.6A CN106057242B (zh) 2015-04-07 2016-04-07 具有多通道接口的存储系统及其操作方法
US16/149,987 US11054855B2 (en) 2015-04-07 2018-10-02 Memory system with multiple channel interfaces and method of operating same
US17/338,320 US11625063B2 (en) 2015-04-07 2021-06-03 Memory system with multiple channel interfaces and method of operating same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150049074A KR102251813B1 (ko) 2015-04-07 2015-04-07 메모리 시스템 및 메모리 시스템의 동작 방법

Publications (2)

Publication Number Publication Date
KR20160120056A KR20160120056A (ko) 2016-10-17
KR102251813B1 true KR102251813B1 (ko) 2021-05-13

Family

ID=57112217

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150049074A KR102251813B1 (ko) 2015-04-07 2015-04-07 메모리 시스템 및 메모리 시스템의 동작 방법

Country Status (3)

Country Link
US (3) US10133298B2 (ko)
KR (1) KR102251813B1 (ko)
CN (1) CN106057242B (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102251813B1 (ko) 2015-04-07 2021-05-13 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10499269B2 (en) * 2015-11-12 2019-12-03 Commscope Technologies Llc Systems and methods for assigning controlled nodes to channel interfaces of a controller
US9864398B2 (en) * 2015-12-30 2018-01-09 Texas Instruments Incorporated Embedded clock in a communication system
US10506139B2 (en) * 2017-08-03 2019-12-10 Mediatek Inc. Reconfigurable pin-to-pin interface capable of supporting different lane combinations and/or different physical layers and associated method
CN107526023A (zh) * 2017-08-17 2017-12-29 上海华岭集成电路技术股份有限公司 一种ate多时域测试装置
KR102406669B1 (ko) * 2017-11-08 2022-06-08 삼성전자주식회사 메모리 컨트롤러 및 이를 포함하는 스토리지 장치
CN110299914B (zh) * 2018-03-21 2022-11-22 群联电子股份有限公司 锁相回路电路校正方法、存储器储存装置及连接接口电路
CN113126740A (zh) * 2019-12-30 2021-07-16 美光科技公司 管理降低功率的存储器操作
KR20220006927A (ko) * 2020-07-09 2022-01-18 삼성전자주식회사 메모리 컨트롤러, 및 이를 포함하는 스토리지 장치, 및 메모리 시스템
CN112327693A (zh) * 2020-11-02 2021-02-05 南京理工大学 一种基于fpga多通道数据同步电路
US20220293025A1 (en) * 2021-03-10 2022-09-15 Samsung Electronics Co., Ltd. Electronic device and method of operating the same
US11809746B2 (en) 2021-12-03 2023-11-07 Macronix International Co., Ltd. Solid state disk, data transmitting method and intermediary controller to support reduced SSD controller pad count
TWI774621B (zh) * 2021-12-03 2022-08-11 旺宏電子股份有限公司 固態硬碟、資料傳輸方法及其中介控制器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080140945A1 (en) 2006-10-27 2008-06-12 Stec, Inc. Distributed addressing in solid-state storage
US20100191894A1 (en) 2009-01-29 2010-07-29 International Business Machines Corporation Digital Data Architecture Employing Redundant Links in a Daisy Chain of Component Modules
US20100188129A1 (en) 2009-01-28 2010-07-29 Agere Systems Inc. Method and Apparatus for Applying Clock Phase and Frequency Offset
US20130336080A1 (en) 2010-11-19 2013-12-19 Rambus Inc. Timing-drift calibration
US20140244923A1 (en) 2004-09-15 2014-08-28 Rambus Inc. Memory controller with clock-to-strobe skew compensation
US20140281783A1 (en) 2013-03-15 2014-09-18 International Business Machines Corporation Replay suspension in a memory system

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60035116T2 (de) * 1999-09-03 2008-02-07 Broadcom Corp., Irvine System und verfahren zur synchronisierung und verteilung von telefontaktinformation in einem kabelmodem-netzwerk
US6333893B1 (en) * 2000-08-21 2001-12-25 Micron Technology, Inc. Method and apparatus for crossing clock domain boundaries
US6636955B1 (en) * 2000-08-31 2003-10-21 Hewlett-Packard Development Company, L.P. Mechanism for synchronizing multiple skewed source-synchronous data channels with automatic initialization feature
US6944188B2 (en) * 2001-02-21 2005-09-13 Wi-Lan, Inc. Synchronizing clocks across a communication link
US6754108B2 (en) * 2001-08-30 2004-06-22 Micron Technology, Inc. DRAM cells with repressed floating gate memory, low tunnel barrier interpoly insulators
EP1446910B1 (en) * 2001-10-22 2010-08-11 Rambus Inc. Phase adjustment apparatus and method for a memory device signaling system
US6836852B2 (en) 2001-10-29 2004-12-28 Agilent Technologies, Inc. Method for synchronizing multiple serial data streams using a plurality of clock signals
US7031401B2 (en) * 2002-02-12 2006-04-18 Broadcom Corporation Digital to analog converter with time dithering to remove audio tones
US6990644B2 (en) 2002-04-18 2006-01-24 International Business Machines Corporation On chip timing adjustment in multi-channel fast data transfer
WO2004092904A2 (en) * 2003-04-10 2004-10-28 Silicon Pipe, Inc. Memory system having a multiplexed high-speed channel
US7165153B2 (en) * 2003-06-04 2007-01-16 Intel Corporation Memory channel with unidirectional links
KR100979109B1 (ko) * 2004-01-31 2010-08-31 엘지전자 주식회사 직렬 인터페이스 방식이 적용되는 메모리 컨트롤러와메모리 모듈
US7482837B2 (en) * 2006-04-10 2009-01-27 Atmel Corporation System and method for combining signals on a differential I/O link
US7706996B2 (en) 2006-04-21 2010-04-27 Altera Corporation Write-side calibration for data interface
DE102006025133A1 (de) * 2006-05-30 2007-12-06 Infineon Technologies Ag Speicher- und Speicherkommunikationssystem
CN101162922A (zh) 2006-10-13 2008-04-16 国际商业机器公司 用于补偿多个通信通道的延时的方法和装置
US8654592B2 (en) * 2007-06-12 2014-02-18 Micron Technology, Inc. Memory devices with isolation structures
JP5283933B2 (ja) 2008-03-12 2013-09-04 株式会社ジャパンディスプレイ 液晶表示装置
US8248974B2 (en) 2008-06-25 2012-08-21 Realtek Semiconductor Corp. All-digital timing control for multi-channel full-duplex transceiver
US8135976B2 (en) * 2008-12-17 2012-03-13 Lsi Corporation Modulated clock, an IC including the modulated clock and a method of providing a modulated clock signal for power control
US8250417B2 (en) * 2009-01-14 2012-08-21 Micron Technology, Inc. Method for detecting flash program failures
KR101543246B1 (ko) * 2009-04-24 2015-08-11 삼성전자주식회사 데이터 저장 장치의 동작 방법 및 이에 따른 데이터 저장 장치
US7863960B2 (en) 2009-04-30 2011-01-04 International Business Machines Corporation Three-dimensional chip-stack synchronization
KR20100120518A (ko) * 2009-05-06 2010-11-16 삼성전자주식회사 데이터 저장 장치 및 그것의 읽기 커멘드 처리 방법
US8190944B2 (en) 2009-12-11 2012-05-29 Ati Technologies Ulc Device configured to switch a clock speed for multiple links running at different clock speeds and method for switching the clock speed
KR101780422B1 (ko) 2010-11-15 2017-09-22 삼성전자주식회사 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템
KR101217937B1 (ko) 2010-12-30 2013-01-02 (주)인디링스 고속의 외부 메모리 인터페이스를 위한 적응적 디지털 phy
US8786337B2 (en) 2012-05-14 2014-07-22 Ensphere Solutions, Inc. Low jitter clock generator for multiple lanes high speed data transmitter
CN103456356A (zh) * 2012-05-31 2013-12-18 三星电子株式会社 半导体存储器装置和相关的操作方法
WO2014077821A1 (en) * 2012-11-15 2014-05-22 Empire Technology Development Llc A multi-channel storage system supporting a multi-command protocol
KR101997794B1 (ko) 2012-12-11 2019-07-09 삼성전자주식회사 메모리 제어기 및 그것을 포함한 메모리 시스템
KR102015505B1 (ko) * 2012-12-21 2019-08-28 에스케이하이닉스 주식회사 Da 모드시 테스트 효율을 향상시킨 반도체 메모리 장치의 채널 제어 회로
US9405621B2 (en) * 2012-12-28 2016-08-02 Super Talent Technology, Corp. Green eMMC device (GeD) controller with DRAM data persistence, data-type splitting, meta-page grouping, and diversion of temp files for enhanced flash endurance
US9225344B2 (en) 2013-01-16 2015-12-29 Altera Corporation Methods and apparatus for aligning clock signals on an integrated circuit
US9361240B2 (en) * 2013-04-12 2016-06-07 International Business Machines Corporation Dynamic reservations in a unified request queue
US9292036B2 (en) * 2013-05-24 2016-03-22 Arm Limited Data processing apparatus and method for communicating between a master device and an asynchronous slave device via an interface
US20160154449A1 (en) * 2014-11-27 2016-06-02 Eui Choel LIM System on chips for controlling power using workloads, methods of operating the same, and computing devices including the same
US9438287B2 (en) * 2014-12-05 2016-09-06 Intel Corporation Apparatus and method for mitigating loss of signal content
KR102251813B1 (ko) * 2015-04-07 2021-05-13 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140244923A1 (en) 2004-09-15 2014-08-28 Rambus Inc. Memory controller with clock-to-strobe skew compensation
US20080140945A1 (en) 2006-10-27 2008-06-12 Stec, Inc. Distributed addressing in solid-state storage
US20100188129A1 (en) 2009-01-28 2010-07-29 Agere Systems Inc. Method and Apparatus for Applying Clock Phase and Frequency Offset
US20100191894A1 (en) 2009-01-29 2010-07-29 International Business Machines Corporation Digital Data Architecture Employing Redundant Links in a Daisy Chain of Component Modules
US20130336080A1 (en) 2010-11-19 2013-12-19 Rambus Inc. Timing-drift calibration
US20140281783A1 (en) 2013-03-15 2014-09-18 International Business Machines Corporation Replay suspension in a memory system

Also Published As

Publication number Publication date
US10133298B2 (en) 2018-11-20
US20190033909A1 (en) 2019-01-31
US11054855B2 (en) 2021-07-06
CN106057242A (zh) 2016-10-26
US20160299525A1 (en) 2016-10-13
CN106057242B (zh) 2021-06-08
US11625063B2 (en) 2023-04-11
US20210294376A1 (en) 2021-09-23
KR20160120056A (ko) 2016-10-17

Similar Documents

Publication Publication Date Title
KR102251813B1 (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR102367967B1 (ko) 명령 지연 조절 회로를 포함하는 장치 및 방법
US10044456B1 (en) Clock generation with non-integer clock dividing ratio
KR102166908B1 (ko) 고속 데이터 인터페이스 장치 및 상기 장치의 스큐 보정 방법
KR102511077B1 (ko) 선형 조합을 이용한 비선형 확산 스펙트럼 프로파일 생성기
CN109753458B (zh) 包括多数据速率存储器设备的存储设备以及存储器控制器
US10586577B2 (en) Semiconductor apparatus, semiconductor system, and training method
US10347347B1 (en) Link training mechanism by controlling delay in data path
KR102148806B1 (ko) 반도체 장치 및 그를 포함하는 반도체 시스템
US9568944B2 (en) Distributed timer subsystem across multiple devices
TWI679851B (zh) 數位延遲鎖定迴路(dll)訓練技術
US10193537B2 (en) Random data generation circuit, memory storage device and random data generation method
US10541897B2 (en) Mismatch compensation at differential signal receiver
US10297297B2 (en) Sampling module including delay locked loop, sampling unit, memory control unit, and data sampling method thereof
US9197397B1 (en) Flip-flop-based clock deskew circuit
CN106847319B (zh) 一种fpga电路及窗口信号调整方法
TWI743538B (zh) 連接介面電路、記憶體儲存裝置及訊號產生方法
US7587650B2 (en) Clock jitter detector
US20140006646A1 (en) Semiconductor Device Using Serial ATA Protocol and System Including the Same
US8867698B2 (en) Counting circuit, delay value quantization circuit, and latency control circuit
CN112447210B (zh) 连接接口电路、存储器存储装置及信号产生方法
US20240089886A1 (en) Method for lane synchronization for an interconnection protocol, controller, and storage device
CN104079295A (zh) 延迟锁定环系统以及动态改变其延迟电路的电源的方法
TW202311891A (zh) 時脈產生裝置、控制器以及儲存裝置

Legal Events

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