KR20110100467A - 메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법 - Google Patents

메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법 Download PDF

Info

Publication number
KR20110100467A
KR20110100467A KR1020100019485A KR20100019485A KR20110100467A KR 20110100467 A KR20110100467 A KR 20110100467A KR 1020100019485 A KR1020100019485 A KR 1020100019485A KR 20100019485 A KR20100019485 A KR 20100019485A KR 20110100467 A KR20110100467 A KR 20110100467A
Authority
KR
South Korea
Prior art keywords
data
training
memory device
banks
data training
Prior art date
Application number
KR1020100019485A
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 KR1020100019485A priority Critical patent/KR20110100467A/ko
Priority to US12/983,509 priority patent/US8725976B2/en
Publication of KR20110100467A publication Critical patent/KR20110100467A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Dram (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법을 공개한다. 메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법은 메모리 장치의 복수개의 뱅크를 서로 다른 조합으로 활성화하고, 각각의 조합에 대해 데이터 트레이닝을 수행하여 각 조합에 대한 노이즈 프로파일을 생성한다. 그리고 생성된 노이즈 프로파일을 분석하여 데이터 트레이닝을 최적화하기 위한 뱅크 활성화 상태를 선택하여, 이후 데이터 트레이닝 수행 시에 선택된 뱅크 활성화 상태에서 데이터 트레이닝을 수행함으로서 메모리 장치의 데이터 트레이닝이 최적화되도록 할 수 있다. 또한 데이터 트레이닝을 위한 데이터를 적어도 하나의 뱅크에 저장하고 데이터 트레이닝을 수행하여 데이터 트레이닝의 정확도를 더욱 높일 수 있다. 따라서 메모리 장치를 구비하는 시스템의 동작 속도를 높일 수 있으며, 신뢰도를 높일 수 있다.

Description

메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법{Data training optimization method for system comprising memory device}
본 발명은 데이터 트레이닝 최적화 방법에 관한 것으로서, 특히 메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법에 관한 것이다.
메모리 장치의 용량과 동작 속도가 비약적으로 증가함에 따라 데이터와 클럭 신호 사이 및 데이터 사이의 전송 시간 차이에 의한 스큐(skew)가 커지게 되었다. 여기서 스큐는 클럭 신호와 데이터 사이의 위상차를 나타낸다.
메모리 장치는 데이터와 클럭 간의 스큐를 제거하기 위해서 클럭 데이터 리커버리(Clock Data Recovery : CDR) 방법으로 데이터 트레이닝(Data Training) 방식을 많이 이용한다. 데이터 트레이닝 방법에는 클럭 신호에 대해 병렬로 전송되는 복수개의 데이터 각각의 위상차를 보정하는 퍼 핀 데이터 트레이닝(Per Pin Data Training) 방식과 병렬로 전송되는 복수개의 데이터 중 하나의 데이터를 선택하고 선택된 데이터의 클럭 신호에 대한 위상차를 보정한 후, 그 결과를 나머지 데이터에도 모두 적용하는 바이트 데이터 트레이닝(Byte Data Training) 방식이 있다.
또한 데이터 트레이닝 방식은, 퍼 핀 데이터 트레이닝 방식과 바이트 데이터 트레이닝 방식 각각에 대하여, 메모리 컨트롤러에서 데이터 트레이닝을 위한 패턴을 갖는 트레이닝 데이터를 생성하여 메모리 장치로 전송하여 데이터 트레이닝을 수행하는 라이트 데이터 트레이닝과 메모리 장치의 트레이닝 레지스터에 저장된 트레이닝 데이터를 메모리 컨트롤러로 전송하여 데이터 트레이닝을 수행하는 리드 트레이닝으로 구분할 수도 있다. 그러나 리드 트레이닝 시에는 트레이닝 레지스터에 저장된 트레이닝 데이터를 이용하고 라이트 트레이닝 시에는 메모리 컨트롤러에서 생성되는 트레이닝 데이터를 이용하므로, 결과적으로 리드 데이터 트레이닝과 라이트 데이터 트레이닝이 모두 메모리 장치에 구비되는 복수개의 뱅크의 활성화 상태에 무관하게 데이터 트레이닝 동작을 수행할 수 있다. 이에 기존의 데이터 트레이닝은 메모리 장치에 구비되는 복수개의 뱅크가 비활성화 된 상태에서 수행되었다.
따라서 기존의 데이터 트레이닝은 메모리 장치 내부에서 발생하는 코어 노이즈(core noise)에 대해서 고려하지 않고 데이터 트레이닝을 수행하고, 데이터 트레이닝 결과에 따라 클럭 신호와 데이터 사이의 스큐를 조절하였다. 그러나 메모리 장치의 동작 속도가 더욱 빨라짐에 따라 메모리 장치의 코어 노이즈에 의한 영향을 무시할 수 없게 되었다.
본 발명의 목적은 메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 데이터 트레이닝 최적화 방법은 복수개의 뱅크를 구비하는 적어도 하나의 메모리 장치 및 메모리 컨트롤러를 구비하는 시스템의 데이터 트레이닝 최적화 방법에 있어서, 상기 복수개의 뱅크를 서로 다른 복수개의 조합으로 활성화하고, 상기 조합 각각에 따른 복수개의 뱅크 활성화 상태에서 제1 데이터 트레이닝 동작을 수행하여 노이즈 프로파일을 생성하고, 상기 노이즈 프로파일을 통계적으로 분석하여, 제2 데이터 트레이닝 동작 시에 상기 복수개의 뱅크 중 활성화되어야 하는 뱅크를 결정하는 기준 뱅크 활성화 상태를 선택하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 데이터 트레이닝 최적화 방법은 상기 복수개의 뱅크를 서로 다른 복수개의 조합으로 활성화하고, 상기 조합 각각에 따른 복수개의 뱅크 활성화 상태에서 상기 제1 데이터 트레이닝 동작을 수행하여, 상기 복수개의 뱅크 활성화 상태에 각각에 대한 클럭 신호와 트레이닝 데이터 사이의 위상차를 상기 노이즈 프로파일로 저장하는 단계, 상기 노이즈 프로파일을 통계적으로 분석하여 기준값을 설정하는 단계, 및 상기 복수개의 조합 각각에 따른 상기 뱅크 활성화 상태 중 상기 기준값에 가장 근사치의 상기 위상차를 갖는 상기 뱅크 활성화 상태를 선택하여 상기 기준 뱅크 활성화 상태로 선택하는 단계를 구비하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 노이즈 프로파일을 저장하는 단계는 상기 복수개의 뱅크를 활성화하기 위한 상기 복수개의 조합을 결정하는 단계, 상기 복수개의 조합 중 하나의 조합을 선택하고, 선택된 조합에 따라 상기 복수개의 뱅크를 활성화하는 단계, 상기 메모리 컨트롤러와 상기 메모리 장치 사이에 상기 클럭 신호와 상기 트레이닝 데이터를 전송하여 상기 제1 데이터 트레이닝 동작을 수행하는 단계, 상기 클럭 신호와 상기 트레이닝 데이터 사이의 위상차를 감지하여 상기 노이즈 프로파일로 저장하는 단계, 상기 복수개의 조합 중 노이즈 프로파일에 대응하는 상기 위상차가 저장되지 않은 조합이 있는지 판단하여, 상기 위상차가 저장되지 않은 조합이 있으면 상기 복수개의 뱅크를 활성화하는 단계로 복귀하는 단계를 구비하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 기준값을 설정하는 단계는 상기 노이즈 프로파일에 저장된 최대 위상차와 최소 위상차의 중간값을 상기 기준값으로 설정하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 메모리 장치는 트레이닝 레지스터를 구비하여 상기 메모리 컨트롤러로부터 상기 트레이닝 데이터를 인가받아 저장하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 메모리 장치는 상기 메모리 컨트롤러로부터 인가되는 상기 트레이닝 데이터를 상기 복수개의 메모리 뱅크 중 적어도 하나의 메모리 뱅크에 저장하는 것을 특징으로 한다.
따라서, 본 발명의 메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법은 메모리 장치의 복수개의 뱅크를 서로 다른 조합으로 활성화하고, 각각의 조합에 대해 데이터 트레이닝을 수행하여 각 조합에 대한 노이즈 프로파일을 생성한다. 그리고 생성된 노이즈 프로파일을 분석하여 데이터 트레이닝을 최적화하기 위한 뱅크 활성화 상태를 선택하여, 이후 데이터 트레이닝 수행 시에 선택된 뱅크 활성화 상태에서 데이터 트레이닝을 수행함으로서 메모리 장치의 데이터 트레이닝이 최적화되도록 할 수 있다. 또한 데이터 트레이닝을 위한 데이터를 적어도 하나의 뱅크에 저장하고 데이터 트레이닝을 수행하여 데이터 트레이닝의 정확도를 더욱 높일 수 있다. 따라서 메모리 장치를 구비하는 시스템의 동작 속도를 높일 수 있으며, 신뢰도를 높일 수 있다.
도 1 은 본 발명의 메모리 장치를 구비하는 시스템의 일예를 나타내는 도면이다.
도 2a 내지 도 2d 는 데이터 트레이닝 최적화를 위한 메모리 장치의 뱅크 활성화 상태를 나타내는 일 예를 나타내는 도면이다.
도 3a 내지 도 3d 는 데이터 트레이닝 최적화를 위한 메모리 장치의 뱅크 활성화 상태를 나타내는 다른 예를 나타내는 도면이다.
도 4a 내지 도 4d 는 데이터 트레이닝 최적화를 위한 메모리 장치의 뱅크 활성화 상태를 나타내는 또 다른 예를 나타내는 도면이다.
도 5 는 본 발명의 메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법을 나타내는 도면이다.
이하, 첨부한 도면을 참고로 하여 메모리 장치를 구비하는 시스템의 데이터 트레이닝 방법을 설명하면 다음과 같다.
도 1 은 본 발명의 메모리 장치를 구비하는 시스템의 일예를 나타내는 도면이다. 도 1 에서는 설명의 편의를 위하여 시스템(1)의 일부로서 메모리 컨트롤러(100)와 하나의 메모리 장치(200)만을 도시하였다.
메모리 컨트롤러(100)는 메모리 장치(200)와 동기(synchronous)를 위하여 클럭 신호(CLK)를 메모리 장치로 인가한다. 또한 메모리 장치(200)를 제어하기 위한 명령(CMD)을 메모리 장치(200)로 인가하고, 인가하는 명령(CMD)이 리드 명령 또는 라이트 명령인 경우에는 명령(CMD)과 함께 특정 메모리 셀을 선택하기 위한 어드레스(ADDR)를 메모리 장치(200)로 인가한다. 또한 인가하는 명령(CMD)이 라이트 명령인 경우에 메모리 컨트롤러(100)는 메모리 장치(200)의 선택된 메모리 셀에 저장될 데이터(DATA)를 추가로 인가한다. 그리고 메모리 컨트롤러(100)는 메모리 장치(200)와 데이터 트레이닝 동작을 제어하기 위한 트레이닝 제어부(110)를 구비한다.
트레이닝 제어부(110)는 데이터 트레이닝을 위한 트레이닝 데이터(PRBS)를 생성하는 패턴 생성부(111), 클럭 신호(CLK)와 데이터 사이의 스큐를 측정하기 위한 위상 검출부(112), 측정된 스큐에 대응하여 트레이닝 데이터(PRBS)의 위상을 조절하여 클럭 신호(CLK)와 트레이닝 데이터(PRBS)사이의 스큐를 보장하기 위한 위상 조절부(113)를 구비한다. 그리고 각 뱅크의 활성화 상태에 따른 데이터 트레이닝의 결과로서 노이즈 프로파일(Noise profile)을 저장하고 분석하기 위한 트레이닝 최적화부(114)를 구비한다.
메모리 장치(200)는 각각 복수개의 메모리 셀(미도시)을 구비하여 데이터를 저장하는 복수개의 뱅크(210 ~ 240)와 메모리 컨트롤러(100)에서 인가되는 명령(CMD)에 응답하여 복수개의 뱅크(210 ~ 240)를 제어하는 주변 회로부(250)를 구비한다. 주변 회로부(250)는 메모리 컨트롤러(100)의 트레이닝 제어부(110)에 대응하여 데이터 트레이닝 동작을 수행하는 트레이닝부(251)를 구비한다. 트레이닝부(251)는 메모리 컨트롤러(100)에서 인가되는 트레이닝 데이터(PRBS)를 저장하기 위한 트레이닝 레지스터(미도시)를 구비한다. 또한 트레이닝부(251)는 트레이닝 레지스터에 클럭 신호(CLK)에 대한 트레이닝 데이터(PRBS)의 에지를 감지하여 에지 정보(edge_info)를 저장한다.
상기한 바와 같이 기존의 데이터 트레이닝 방식은 메모리 장치(200)의 트레이닝부(251)에 트레이닝 데이터(PRBS)를 저장하고, 데이터 트레이닝 동작 시에 트레이닝부(251)에 저장된 트레이닝 데이터(PRBS)를 전송하였다. 그러므로 트레이닝 데이터(PRBS)가 복수개의 뱅크(210 ~ 240)가 아닌 트레이닝부(251)에 저장되므로, 뱅크(210 ~ 240)를 활성화할 필요가 없었다. 즉 복수개의 뱅크(210 ~ 240)가 비활성화 상태에서 데이터 트레이닝 동작을 수행하였다. 따라서 데이터 트레이닝 동작 시에 메모리 장치(200)의 코어 노이즈(core noise)의 영향이 반영되지 못하였다.
메모리 장치(200)의 코어 노이즈는 메모리 장치(200)의 동작에 의해 발생하고, 코어 노이즈는 각 뱅크의 활성화 상태에 따라서 달라진다. 메모리 장치(200)에서 뱅크 활성화 상태에 따라 달라지는 코어 노이즈에 의한 데이터 윈도우(Data Window)의 변동은 대략 20~50ps 정도로 측정된다.
메모리 장치 동작 속도 데이터 단위 간격(UI)
1.0Gbps 1ns
5.0Gbps 200ps
8.0Gbps 125ps
10.0Gbps 100ps
12.5Gbps 80ps
표 1 은 메모리 장치의 동작 속도에 따른 데이터 단위 간격을 나타낸다. 표 1 에 나타난 바와 같이 5Gbps 이하의 대역에서 동작하는 메모리 장치에서는 코어 노이즈에 대해서 고려하지 않고 데이터 트레이닝을 수행하여 스큐를 조절하여도 데이터 단위 간격(Data Unit Interval)의 크기가 크므로, 데이터 윈도우의 전체 크기에 비하여 코어 노이즈에 의한 변화가 상대적으로 매우 작으므로 문제가 되지 않았다. 즉 기존의 메모리 장치에서는 코어 노이즈에 의한 데이터 윈도우의 변동을 고려하지 않고 데이터 트레이닝을 수행하였다. 그러나 메모리 장치의 동작 속도가 8Gbps 이상의 대역에서 동작을 하는 경우에 코어 노이즈에 의한 데이터 윈도우의 변동 폭이 상대적으로 더 큰 영향을 미치게 되어 무시할 수 없게 된다. 표 1 에 나타난 바와 같이 10Gbps 로 동작을 수행할 수 있는 메모리 장치에서 1UI(Unit Interval)는 100ps이다. 만일 코어 노이즈에 따른 데이터 윈도우의 변동 폭이 20ps인 것으로 가정하면, 코어 노이즈에 의해 변동 될 수 있는 1UI 는 80 ~ 120ps가 된다. 코어 노이즈에 의해 변동 될 수 있는 1UI 를 기초로 메모리 장치의 동작 속도를 다시 계산하면, 1UI가 80ps 일 때 메모리 장치는 12.5Gbps 의 속도로 동작할 수 있는데 반해, 1UI가 120ps 일 때 메모리 장치는 8.4Gbps 로 동작할 수 있다. 즉 코어 노이즈에 의해 메모리 장치가 동작 할 수 있는 속도가 크게 달라지게 된다. 그러므로 각 뱅크별 활성화 상태에 따른 코어 노이즈를 고려한 데이터 트레이닝을 수행하여 데이터 트레이닝을 최적화 할 필요가 있다.
이하에서는 설명의 편의를 위하여 바이트 데이터 트레이닝의 리드 데이터 트레이닝을 예로 들어 본 발명의 데이터 트레이닝 방법을 설명한다. 그러나 본 발명은 퍼 핀 데이터 트레이닝에서도 이용될 수 있으며, 라이트 데이터 트레이닝에서도 이용될 수 있다.
메모리 컨트롤러(100)는 메모리 장치(200)의 초기화 동작 시에 패턴 생성부(111)에서 트레이닝 데이터(PRBS)를 생성하여 메모리 장치(200)의 트레이닝부(251)로 인가한다. 메모리 장치(200)의 트레이닝부(251)는 인가된 트레이닝 데이터(PRBS)를 트레이닝 레지스터(미도시)에 저장한다. 이후 메모리 컨트롤러(100)는 노이즈 프로파일(Noise Profile)을 생성하기 위해 메모리 장치(200)의 복수개의 뱅크를 서로 다른 조합으로 활성화하여 제1 데이터 트레이딩을 수행하기 위한 명령(CMD)과 어드레스(ADDR)를 인가한다. 즉 메모리 컨트롤러(100)는 제1 데이터 트레이닝을 수행하기 위한 명령(CMD)을 메모리 장치(200)로 인가함과 동시에 각 뱅크를 서로 다른 조합으로 활성화하기 위하여 어드레스(ADDR)에서 뱅크 어드레스를 서로 다르게 활성화하여 메모리 장치(200)로 인가한다. 그리고 뱅크 활성화 상태 각각에 대해서 제1 데이터 트레이닝 동작을 수행하고, 각각의 결과를 트레이닝 최적화부(114)에 저장한다. 이후 뱅크 활성화 상태 각각에 대한 데이터 트레이닝의 결과를 통계적으로 분석하고 분석된 결과를 기초로 최적의 데이터 트레이닝을 위한 뱅크 활성화 상태를 선택한다. 이후 제2 데이터 트레이닝 동작 시에는 선택된 뱅크 활성화 상태로 데이터 트레이닝 동작을 수행하도록 하여 메모리 장치(200)가 항시 최적의 데이터 트레이딩을 수행할 수 있도록 한다. 여기서 제1 데이터 트레이닝 동작은 데이터 트레이닝을 최적화하기 위하여 수행되는 데이터 트레이닝 동작이고, 제2 데이터 트레이닝 동작은 기존의 데이터 트레이닝 동작과 동일하게 메모리 장치가 정상 동작 시에 수행되는 데이터 트레이닝 동작을 나타낸다.
도 2a 내지 도 2d 는 데이터 트레이닝 최적화를 위한 메모리 장치의 뱅크 활성화 상태를 나타내는 일예를 나타내는 도면이다.
메모리 장치(200)가 4개의 뱅크(210 ~ 24)를 구비하는 경우에 메모리 컨트롤러(100)는 4개의 뱅크(210 ~ 24)를 각각 순차적으로 활성화하여 제1 데이터 트레이닝을 수행할 수 있다. 도 2a 내지 도 2d 는 각각 복수개의 뱅크를 순차적으로 활성화하여 제1 데이터 트레이닝 동작을 수행하는 방법을 나타낸다.
도 1 및 도 2a 내지 도 2d 를 참조하여 메모리 장치의 데이터 트레이닝 최적화 방법을 설명하면, 메모리 컨트롤러(100)는 메모리 장치(200)의 초기화 동작 시에 먼저 트레이닝 데이터(PRBS)를 인가하여 메모리 장치(200)의 트레이닝부(251)에 저장한다. 이후 제1 뱅크(210)를 활성화하기 위한 어드레스(ADDR)와 함께 데이터 트레이닝을 위한 명령(CMD)을 메모리 장치(200)로 인가한다. 메모리 장치(200)는 인가되는 어드레스(ADDR)에 응답하여 제1 뱅크(210)를 활성화하고, 데이터 트레이닝 명령에 응답하여 저장된 트레이닝 데이터(PRBS)를 메모리 컨트롤러(100)로 출력한다.
메모리 컨트롤러(100)의 트레이닝 제어부(110)는 메모리 장치(200)로부터 트레이닝 데이터(PRBS)를 인가받고, 트레이닝 제어부(100)의 위상 검출부(112)는 클럭 신호(CLK)와 인가된 트레이닝 데이터(PRBS) 사이의 위상차를 검출한다. 데이터 트레이닝은 클럭 신호(CLK)의 상승 또는 하강 에지가 데이터 윈도우의 중앙에 위치하도록 데이터의 위상을 조절하는 방법이므로, 클럭 신호(CLK)와 인가된 트레이닝 데이터(PRBS) 사이의 위상차는 클럭 신호(CLK)의 상승 또는 하강 에지와 트레이닝 데이터(PRBS)의 데이터 윈도우의 중앙의 위상차를 검출한다. 그리고 트레이닝 최적화부(114)는 위상 검출부(112)에서 검출된 위상차를 저장한다.
메모리 컨트롤러(100)는 또한 도 2b 에 도시한 바와 같이 제2 뱅크(220)를 활성화하기 위한 어드레스(ADDR)와 함께 데이터 트레이닝을 위한 명령(CMD)을 메모리 장치(200)로 인가하고, 제1 데이터 트레이닝 동작을 수행하여 클럭 신호(CLK)와 트레이닝 데이터(PRBS) 사이의 위상차를 검출하여 트레이닝 최적화부(114)에 저장한다. 유사하게 도 2c 및 도 2d 에 도시한 바와 같이 제3 및 제4 뱅크(230, 240)를 활성화하고, 제1 데이터 트레이닝 동작을 수행하여 클럭 신호(CLK)와 트레이닝 데이터(PRBS) 사이의 위상차를 검출하여 트레이닝 최적화부(114)에 저장한다. 즉 노이즈 프로파일을 생성하여 저장한다.
메모리 장치(200)의 모든 뱅크(210 ~ 240)를 각각 활성화하고, 각 뱅크에 상태에 따른 클럭 신호(CLK)와 트레이닝 데이터(PRBS) 사이의 위상차 정보가 트레이닝 최적화부(114)에 저장되면, 메모리 컨트롤러(100)는 저장된 위상차 정보를 기초로 최적의 제2 데이터 트레이닝을 수행할 수 있는 뱅크 활성화 상태를 선택한다. 예를 들어 제1 뱅크(210)를 활성화한 경우에 클럭 신호(CLK)에 대한 트레이닝 데이터(PRBS)의 위상차가 -10ps이고, 제2 내지 제4 뱅크를 활성화한 경우에 클럭 신호(CLK)에 대한 트레이닝 데이터(PRBS)의 위상차가 각각 5ps, 7ps, -5ps 인 것으로 가정하면, 클럭 신호(CLK)에 대한 트레이닝 데이터(PRBS)의 위상은 -10ps ~ 7ps의 차이를 갖는다. 그리고 이 위상 차이의 중간값은 -2.5ps 이다.
뱅크별 활성화 상태 위상차
1 0 0 0 -10ps
0 1 0 0 5ps
0 0 1 0 7ps
0 0 0 1 -5ps
표 2 는 노이즈 프로파일의 일예를 나타내는 도면이다. 표 2 에 나타난 바와 같이 노이즈 프로파일은 뱅크별 활성화 상태와 함께 제1 데이터 트레이닝 수행의 결과로 클럭 신호(CLK)에 대한 트레이닝 데이터(PRBS)의 위상차를 포함한다.
그리고 메모리 컨트롤러(100)는 위상차의 중간값에 가장 근접한 위상차를 갖는 뱅크의 활성화 상태를 판단하여 이후 제2 데이터 트레이닝을 수행하기 위한 기준 뱅크 활성화 상태로 선택한다. 즉 중간값 -2.5ps 에 근접한 위상차를 갖는 뱅크 활성화 상태인 제4 뱅크(240) 활성화 상태를 기준 뱅크 활성화 상태로 선택하고, 이후 제2 데이터 트레이닝 동작 시에는 항시 제4 뱅크를 활성화하여 제2 데이터 트레이닝 동작을 수행한다. 여기서 메모리 컨트롤러(100)는 메모리 장치(200)가 어떠한 뱅크를 활성화하여 동작하더라도 메모리 장치(200)와 데이터 송수신을 할 수 있어야 한다. 따라서 메모리 컨트롤러(100)는 각 뱅크의 활성화 상태에 따른 클럭 신호(CLK)에 대한 트레이닝 데이터(PRBS)의 위상 차이의 중간값을 기준값으로 선택한다. 메모리 컨트롤러(100)가 중간값이 아닌 최대값이나 최소값을 기준값으로 선택하게 되면, 메모리 장치(200)의 일부 뱅크가 활성화된 상태에서는 데이터가 오전송될 수 있다. 마찬가지로, 평균값을 기준값으로 선택하는 경우에도 유사한 문제가 발생할 수 있다. 따라서 본 발명의 메모리 컨트롤러(100)는 클럭 신호(CLK)에 대한 트레이닝 데이터(PRBS)의 위상 차이의 중간값을 기준값으로 선택한다. 그리고 메모리 컨트롤러(100)가 기준값으로 선택된 중간값에 가장 근접한 위상차를 갖는 뱅크의 활성화 상태를 기준 뱅크 활성화 상태로 선택하는 것은, 기준값에 가장 유사하게 대응하는 메모리 뱅크의 활성화 상태를 선택하기 위함이다. 도 2a 내지 도 2d 에서 메모리 장치(200)는 4개의 뱅크를 구비하고 있으며, 복수개의 뱅크 각각은 활성화 또는 비활성화 상태만이 선택될 수 있다. 따라서 선택된 기준값에 정확하게 대응하는 뱅크 활성화 상태는 현실적으로 선택될 수 없다. 이에 메모리 컨트롤러(100)는 기준값에 가장 유사하게 대응하는 메모리 뱅크의 활성화 상태를 선택하여 실제로 적용 가능한 방식으로 데이터 트레이닝을 최적화 한다.
상기에서는 메모리 컨트롤러(100)가 클럭 신호(CLK)에 대한 트레이닝 데이터(PRBS)의 위상 차이의 중간값을 기준값으로 사용하는 것을 설명하였으나, 메모리 장치(200)의 사용 용도나 특성에 따라 다른 통계값을 기준값으로 사용할 수도 있다.
도 3a 내지 도 3d 는 데이터 트레이닝 최적화를 위한 메모리 장치의 뱅크 활성화 상태를 나타내는 다른 예를 나타내는 도면이다.
도 3a 내지 도 3d 에서는 도 2a 내지 도 2d 에서와 달리 복수개의 뱅크(210 ~ 240)를 개별적으로 활성화하지 않고, 중첩하여 활성화하여 데이터 트레이닝 최적화하는 방법을 나타낸다. 도 2a 내지 도 2d 에서는 4개의 뱅크(210 ~ 240)를 각각 활성화하여 노이즈 프로파일을 생성하였다. 그러나 메모리 장치(200)는 복수개의 뱅크가 동시에 활성화될 수도 있다. 따라서 데이터 트레이닝을 최적화하기 위해 복수개의 뱅크가 동시에 활성화되는 경우를 고려하여 노이즈 프로파일을 생성할 수도 있다. 이에 도 3a 는 도 2a 와 마찬가지로 제1 뱅크(210)만을 활성화하여 제1 데이터 트레이닝 동작을 수행하는 반면에, 도 3b 에서는 제1 및 제2 뱅크(210, 220)를 활성화하고, 도 3c 에서는 제1 내지 제3 뱅크(210 ~ 230)를 활성화하며, 도 3d 에서는 모든 뱅크(210 ~ 240)를 활성화하여 제1 데이터 트레이닝 동작을 수행한다. 즉 복수개의 뱅크를 중첩하여 활성화하고, 각각의 뱅크 활성화 상태에 따라 제1 데이터 트레이딩 동작을 수행하여 클럭 신호(CLK)에 대한 트레이닝 데이터(PRBS)의 위상차를 측정하여 노이즈 프로파일을 생성한다. 이후 메모리 컨트롤러(100)는 생성된 노이즈 프로파일을 기초로 하여 제2 데이터 트레이닝 동작을 최적화할 수 있는 뱅크의 활성화 상태를 선택하고, 이후 제2 데이터 트레이닝 동작 시에 선택된 상태로 뱅크를 활성화한다. 그리고 도시하지 않았으나 복수개의 뱅크를 중첩하여 노이즈 프로파일을 생성하는 경우에는 모든 뱅크를 비활성화하여 제1 데이터 트레이닝을 수행하고, 측정된 클럭 신호(CLK)에 대한 트레이닝 데이터(PRBS)의 위상차를 노이즈 프로파일에 포함 시킬수 있다.
도 4a 내지 도 4d 는 데이터 트레이닝 최적화를 위한 메모리 장치의 뱅크 활성화 상태를 나타내는 또 다른 예를 나타내는 도면이다.
도 4a 내지 도 4d에 도시된 바와 같이 메모리 컨트롤러(100)는 메모리 장치(200)의 복수개의 뱅크(210 ~ 240)를 다양한 조합으로 활성화하고, 각 조합의 활성화 상태에 따른 제1 데이터 트레이닝 동작을 수행하여 노이즈 프로파일을 생성한다. 도시한 바와 같이 메모리 장치(200)가 4개의 뱅크(210 ~ 240)를 갖는 경우에 조합 가능한 뱅크 활성화 상태는 24 = 16으로 모두 16가지 조합이 가능하고, 각각의 조합에 대해 클럭 신호(CLK)에 대한 트레이닝 데이터(PRBS)의 위상차를 측정하여 노이즈 프로파일을 생성한다. 이후 노이즈 프로파일을 기초로 제2 데이터 트레이닝 동작을 최적화할 수 있는 뱅크의 활성화 상태를 선택하고, 이후 제2 데이터 트레이닝 동작 시에 선택된 상태로 뱅크를 활성화하는 것은 동일하다. 상기에서는 뱅크 활성화의 모든 조합에 대해서 제1 데이터 트레이닝 동작을 수행하여 노이즈 프로파일을 생성하는 것으로 설명하였으나, 일부 조합을 선택하여 노이즈 프로파일을 생성할 수도 있다.
상기한 바와 같이 본 발명의 메모리 장치(200)를 구비하는 시스템(1)은 메모리 장치(200)의 복수개의 뱅크를 다양한 조합으로 활성화하고, 각각의 활성화 상태에 따라 제1 데이터 트레이닝 동작을 수행하고 클럭 신호(CLK)에 대한 트레이닝 데이터(PRBS)의 위상차를 측정하여 노이즈 프로파일을 생성한다. 그리고 생성된 노이즈 프로파일의 통계값을 기초로하여 제2 데이터 트레이닝 동작을 최적화 할 수 있다.
도 5 는 본 발명의 메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법을 나타내는 도면이다. 도 5 에서는 시스템(1)의 동작 중에서 데이터 트레이닝 최적화 동작만을 별도로 도시하였다.
도 1 내지 4를 참조하여 데이터 트레이닝 최적화 동작을 설명하면, 먼저 메모리 컨트롤러(100)는 복수개의 뱅크(210 ~ 240) 활성화 상태에 대한 조합을 결정한다(S11). 즉 도 2a 내지 도 2d 에 도시한 바와 같이 각 뱅크(210 ~ 240)를 개별적으로 활성화하여 노이즈 프로파일을 생성할지, 또는 도 3a 내지 도 3d 에 도시한 바와 같이 복수개의 뱅크(210 ~ 240)를 중첩하여 활성화하여 노이즈 프로파일을 생성할지, 아니면 다른 조합을 통해 노이즈 프로파일을 생성할지 결정한다. 이러한 조합의 판단은 미리 설정되어 메모리 컨트롤러(100)의 트레이닝 제어부(110)에 저장될 수 있다.
복수개의 뱅크(210 ~ 240) 활성화 상태에 대한 조합이 결정되면, 결정된 조합에 따라 메모리 컨트롤러(100)는 제1 데이터 트레이닝 동작을 수행하기 위한 어드레스(ADDR)와 명령(CMD)을 메모리 장치(200)로 인가한다(S13). 메모리 장치(200)는 인가된 어드레스(ADDR)에 대응하는 해당 뱅크를 활성화하고, 인가된 명령(CMD)에 응답하여 트레이닝 데이터(PRBS)를 메모리 컨트롤러(100)로 출력한다. 메모리 컨트롤러(100)는 메모리 장치(200)에서 인가된 트레이닝 데이터(PRBS)의 위상을 클럭 신호(CLK)의 에지와 비교하여 위상차를 노이즈 프로파일에 저장한다(S15).
그리고 메모리 컨트롤러(100)는 결정된 뱅크 활성화 상태의 모든 조합에 대한 위상차가 노이즈 프로파일에 적용되었는지 판단한다(S17). 조합되는 모든 뱅크 활성화 상태에 대한 위상차가 노이즈 프로파일에 적용되지 않았다면, 메모리 장치(200)로 적용되지 않은 뱅크 활성화 상태에 대한 어드레스(ADDR)와 함께 명령(CMD)을 메모리 장치(200)로 인가하여(S13), 노이즈 프로파일에 적용한다(S15). 그러나 모든 조합에 대한 위상차가 노이즈 프로파일에 적용되었다면 메모리 컨트롤러(100)의 트레이닝 제어부(110)는 생성된 노이즈 프로파일의 중간값을 계산한다(S19).
그리고 트레이닝 제어부(110)는 계산된 중간값에 가장 근사한 위상차를 갖는 뱅크 활성화 상태를 판별하여 선택한다(S21). 트레이닝 제어부(110)는 선택된 뱅크 활성화 상태를 기준 뱅크 활성화 상태로 선택하여 이후 제2 데이터 트레이닝 동작 시에는 메모리 장치가 기준 뱅크 활성화 상태로 동작하도록 한다(S23).
상기한 데이터 트레이닝 최적화 동작은 노이즈 프로파일을 생성하기 위하여 제1 데이터 트레이닝 동작을 복수횟수 수행한다. 따라서 제2 데이터 트레이닝 동작보다 많은 시간이 소요되므로, 메모리 장치(200)의 동작에서 상대적으로 시간적 여유가 있는 메모리 장치 초기화 동작 시에 수행될 수 있다. 또한 메모리 장치(200)가 데이터(DATA) 입출력 동작을 수행하지 않는 셀프 리플레시 모드에서 데이터 트레이닝 최적화 동작을 수행할 수 있다.
그리고 현재 고속으로 데이터를 전송하는 메모리 컨트롤러(100)와 메모리 장치(200)는 전송되는 데이터(DATA)에 에러가 포함되었는지 여부를 판별하기 위한 에러 검출회로를 구비한다. 그러므로 메모리 컨트롤러(100) 또는 메모리 장치(200)가 에러 검출회로를 구비하면, 메모리 장치(200)가 정상 동작 중에도 메모리 컨트롤러(100)와 메모리 장치(200) 사이에 전송되는 데이터(DATA)에 에러가 포함되었는지 여부를 판별하여 제2 데이터 트레이닝을 수행하고, 제2 데이터 트레이닝을 수행하여도 에러가 검출되는 경우에 상기한 바와 같이 메모리 장치(200)를 셀프 리플레시 모드로 설정하여 데이터 트레이닝 최적화 동작을 수행할 수 있다.
상기에서는 트레이닝 데이터(PRBS)가 메모리 장치(200)의 트레이닝부(251)에 저장되는 것으로 설명하였다. 그러나 트레이닝 데이터(PRBS)는 는 복수개의 뱅크(210 ~ 240)에 저장될 수도 있다. 메모리 장치(200)는 실제 동작에 있어서, 트레이닝부(251)가 아니라 뱅크(210 ~ 240)에 데이터를 저장한다. 따라서 트레이닝부(251)에 트레이닝 데이터(PRBS)를 저장하고, 저장된 트레이닝 데이터(PRBS)를 이용하여 제1 또는 제2 데이터 트레이닝을 수행하는 경우에 메모리 장치의 실제 동작을 정확하게 반영하지 못할 수 있다. 따라서 복수개의 뱅크 중 하나의 뱅크를 선택하고, 선택된 뱅크에 트레이닝 데이터(PRBS)를 저장하여 제1 또는 제2 데이터 트레이닝을 수행할 수도 있다. 뿐만 아니라 각각의 뱅크가 활성화 상태가 다양하게 조합될 수 있으므로, 트레이닝 데이터(PRBS)를 복수개의 뱅크 각각에 저장하여 제1 또는 제2 데이터 트레이닝을 수행하여도 된다.
그리고 상기에서는 메모리 장치(200)에서 복수개의 뱅크(210 ~ 240)를 서로 다른 조합으로 활성화하여 노이즈 프로파일을 생성하고, 생성된 노이즈 프로파일을 기초로 제2 데이터 트레이닝을 최적화하는 것으로 설명하였으나, 시스템(1)이 복수개의 메모리 장치 또는 복수개의 모듈(module)을 구비하는 경우에는 복수개의 메모리 장치와 복수개의 모듈을 서로 다른 조합으로 활성화하여 노이즈 프로파일을 생성할 수도 있다. 본 발명의 데이터 트레이닝 최적화 방법은 복수개의 뱅크가 아니라 복수개의 메모리 장치 또는 복수개의 모듈에도 유사하게 적용될 수 있다.
또한 상기에서는 데이터 트레이닝을 최적화하기 위하여 복수개의 뱅크 각각의 활성화 상태에 따른 노이즈 프로파일을 생성하고, 생성된 노이즈 프로파일의 통계값을 기초로 데이터 트레이닝을 최적화할 수 있는 뱅크의 활성화 상태를 선택하였다. 그리고 선택된 뱅크 활성화 상태는 제2 데이터 트레이닝 시에 적용되는 것으로 설명하였다. 즉 생성된 데이터 프로파일은 제2 데이터 트레이닝만을 위하여 사용되는 것으로 설명하였다.
그러나 일반적으로 데이터 트레이닝은 메모리 컨트롤러(100)와 메모리 장치(200) 사이에 데이터가 전송되는 타이밍을 정확하게 조절하기 위한 기법이다. 즉 실제 메모리 장치가 동작할 때, 정확한 타이밍에 데이터를 전송할 수 있도록 미리 데이터 트레이닝을 수행하여 조절하는 것을 목적으로 한다. 이러한 관점에서 메모리 컨트롤러(100)에 저장된 노이즈 프로파일을 고려하면, 메모리 컨트롤러(100)는 메모리 장치(200)를 동작시키기 위한 어드레스(ADDR) 및 명령(CMD)을 인가할 뿐만 아니라, 각 뱅크의 활성화 상태에 따른 클럭 신호(CLK)와 데이터(DATA) 사이의 위상차를 나타내는 노이즈 프로파일을 저장하고 있다. 또한 클럭 신호(CLK)와 데이터(DATA) 사이의 위상차는 메모리 컨트롤러(100)에서 보상된다. 따라서 메모리 컨트롤러(100)는 저장된 노이즈 프로파일로부터 뱅크 활성화 상태에 따른 클럭 신호(CLK)와 데이터(DATA) 사이의 위상차를 이미 알고 있을 뿐만 아니라, 메모리 장치(200)의 뱅크 활성화 상태와 수행할 동작 또한 알 수 있다. 그러므로 메모리 컨트롤러(100)는 메모리 장치(200)로 어드레스(ADDR)와 명령(CMD)을 인가함과 동시에 인가한 어드레스(ADDR)와 명령(CMD)에 대응하여 클럭 신호(CLK)와 데이터(DATA) 사이의 위상을 보상할 수도 있다. 즉 데이터 트레이닝 동작 뿐만 아니라 정상적인 리드 또는 라이트 동작 시에도 각 뱅크 활성화 상태에 따라 서로 다르게 클럭 신호(CLK)와 데이터(DATA) 사이의 위상을 조절하여 데이터 전송을 수행할 수도 있다.
상기에서는 바이트 데이터 트레이닝에서 리드 데이터 트레이닝을 예로 들어 설명하였으나, 상기한 바와 같이 퍼 핀 데이터 트레이닝 및 라이트 데이터 트레이닝에도 적용할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (10)

  1. 복수개의 뱅크를 구비하는 적어도 하나의 메모리 장치 및 메모리 컨트롤러를 구비하는 시스템의 데이터 트레이닝 최적화 방법에 있어서,
    상기 복수개의 뱅크를 서로 다른 복수개의 조합으로 활성화하고, 상기 조합 각각에 따른 복수개의 뱅크 활성화 상태에서 제1 데이터 트레이닝 동작을 수행하여 노이즈 프로파일을 생성하고, 상기 노이즈 프로파일을 통계적으로 분석하여, 제2 데이터 트레이닝 동작 시에 상기 복수개의 뱅크 중 활성화되어야 하는 뱅크를 결정하는 기준 뱅크 활성화 상태를 선택하는 것을 특징으로 하는 데이터 트레이닝 최적화 방법.
  2. 제1 항에 있어서, 상기 데이터 트레이닝 최적화 방법은
    상기 복수개의 뱅크를 서로 다른 복수개의 조합으로 활성화하고, 상기 조합 각각에 따른 복수개의 뱅크 활성화 상태에서 상기 제1 데이터 트레이닝 동작을 수행하여, 상기 복수개의 뱅크 활성화 상태에 각각에 대한 클럭 신호와 트레이닝 데이터 사이의 위상차를 상기 노이즈 프로파일로 저장하는 단계;
    상기 노이즈 프로파일을 통계적으로 분석하여 기준값을 설정하는 단계; 및
    상기 복수개의 조합 각각에 따른 상기 뱅크 활성화 상태 중 상기 기준값에 가장 근사치의 상기 위상차를 갖는 상기 뱅크 활성화 상태를 선택하여 상기 기준 뱅크 활성화 상태로 선택하는 단계를 구비하는 것을 특징으로 하는 데이터 트레이닝 최적화 방법.
  3. 제2 항에 있어서, 상기 노이즈 프로파일을 저장하는 단계는
    상기 복수개의 뱅크를 활성화하기 위한 상기 복수개의 조합을 결정하는 단계;
    상기 복수개의 조합 중 하나의 조합을 선택하고, 선택된 조합에 따라 상기 복수개의 뱅크를 활성화하는 단계;
    상기 메모리 컨트롤러와 상기 메모리 장치 사이에 상기 클럭 신호와 상기 트레이닝 데이터를 전송하여 상기 제1 데이터 트레이닝 동작을 수행하는 단계;
    상기 클럭 신호와 상기 트레이닝 데이터 사이의 위상차를 감지하여 상기 노이즈 프로파일로 저장하는 단계;
    상기 복수개의 조합 중 노이즈 프로파일에 대응하는 상기 위상차가 저장되지 않은 조합이 있는지 판단하여, 상기 위상차가 저장되지 않은 조합이 있으면 상기 복수개의 뱅크를 활성화하는 단계로 복귀하는 단계를 구비하는 것을 특징으로 하는 데이터 트레이닝 최적화 방법.
  4. 제3 항에 있어서, 상기 복수개의 조합은
    상기 복수개의 뱅크 중 하나의 뱅크를 순차적으로 선택하는 것을 특징으로 하는 데이터 트레이닝 최적화 방법.
  5. 제3 항에 있어서, 상기 복수개의 조합은
    상기 복수개의 뱅크에 중첩하여 선택하는 것을 특징으로 하는 데이터 트레이닝 최적화 방법.
  6. 제2 항에 있어서, 상기 기준값을 설정하는 단계는
    상기 노이즈 프로파일에 저장된 최대 위상차와 최소 위상차의 중간값을 상기 기준값으로 설정하는 것을 특징으로 하는 데이터 트레이닝 최적화 방법.
  7. 제2 항에 있어서, 상기 메모리 장치는
    트레이닝 레지스터를 구비하여 상기 메모리 컨트롤러로부터 상기 트레이닝 데이터를 인가받아 저장하는 것을 특징으로 하는 데이터 트레이닝 최적화 방법.
  8. 제2 항에 있어서, 상기 메모리 장치는
    상기 메모리 컨트롤러로부터 인가되는 상기 트레이닝 데이터를 상기 복수개의 메모리 뱅크 중 적어도 하나의 메모리 뱅크에 저장하는 것을 특징으로 하는 데이터 트레이닝 최적화 방법.
  9. 제1 항에 있어서, 상기 데이터 트레이닝 최적화 방법은
    상기 메모리 장치가 복수개인 경우, 복수개의 메모리 장치의 활성화 각각에 따른 노이즈 프로파일을 생성하고, 생성된 노이즈 파일을 통계적으로 분석하여, 데이터 트레이닝 동작 수행 시에 상기 복수개의 메모리 장치 중 활성화되어야 하는 메모리 장치를 결정하는 단계를 더 구비하는 것을 특징으로 하는 데이터 트레이닝 최적화 방법.
  10. 제1 항에 있어서, 상기 데이터 트레이닝 최적화 방법은
    상기 메모리 장치의 초기화 동작 시에 수행되는 것을 특징으로 하는 데이터 트레이닝 최적화 방법.
KR1020100019485A 2010-03-04 2010-03-04 메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법 KR20110100467A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100019485A KR20110100467A (ko) 2010-03-04 2010-03-04 메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법
US12/983,509 US8725976B2 (en) 2010-03-04 2011-01-03 Method of optimizing data training in system including memory devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100019485A KR20110100467A (ko) 2010-03-04 2010-03-04 메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법

Publications (1)

Publication Number Publication Date
KR20110100467A true KR20110100467A (ko) 2011-09-14

Family

ID=44532167

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100019485A KR20110100467A (ko) 2010-03-04 2010-03-04 메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법

Country Status (2)

Country Link
US (1) US8725976B2 (ko)
KR (1) KR20110100467A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9129669B2 (en) 2013-08-16 2015-09-08 SK Hynix Inc. Semiconductor devices, semiconductor systems including the same, and methods of inputting data into the same
KR20200078991A (ko) * 2018-12-24 2020-07-02 에스케이하이닉스 주식회사 트래이닝 기능을 갖는 반도체 시스템

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495440B2 (en) * 2011-08-30 2013-07-23 Advanced Micro Devices, Inc. Fully programmable parallel PRBS generator
US20140317334A1 (en) * 2013-04-22 2014-10-23 Lsi Corporation Storage of gate training parameters for devices utilizing random access memory
US9569296B2 (en) * 2013-06-05 2017-02-14 Nec Corporation Receiver bit alignment for multi-lane asynchronous high-speed data interface
CN104252422A (zh) * 2013-06-26 2014-12-31 华为技术有限公司 内存访问方法和内存控制器
KR20160075094A (ko) * 2014-12-19 2016-06-29 삼성전자주식회사 메모리 컨트롤러와 이를 포함하는 메모리 시스템
CN108431785B (zh) * 2016-01-25 2021-12-10 爱信艾达株式会社 存储器控制器
KR20180007374A (ko) * 2016-07-12 2018-01-23 삼성전자주식회사 메모리 채널의 소프트웨어 트레이닝을 수행하는 전자 장치 및 그것의 메모리 채널 트레이닝 방법
KR102536657B1 (ko) * 2016-07-12 2023-05-30 에스케이하이닉스 주식회사 반도체 장치 및 반도체 시스템
KR102340446B1 (ko) 2017-09-08 2021-12-21 삼성전자주식회사 스토리지 장치 및 그것의 데이터 트레이닝 방법
KR102519572B1 (ko) 2018-05-11 2023-04-07 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102499794B1 (ko) 2018-05-21 2023-02-15 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR20200126666A (ko) 2019-04-30 2020-11-09 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US11139010B2 (en) 2018-12-11 2021-10-05 SK Hynix Inc. Memory system and operating method of the memory system
KR20200124045A (ko) 2019-04-23 2020-11-02 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200126678A (ko) * 2019-04-30 2020-11-09 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US11404097B2 (en) 2018-12-11 2022-08-02 SK Hynix Inc. Memory system and operating method of the memory system
KR20200137548A (ko) 2019-05-30 2020-12-09 에스케이하이닉스 주식회사 메모리 장치 및 이의 테스트 동작 방법
KR20200078982A (ko) 2018-12-24 2020-07-02 에스케이하이닉스 주식회사 트래이닝 기능을 갖는 반도체 장치 및 반도체 시스템
US11709604B1 (en) * 2019-06-06 2023-07-25 Amazon Technologies, Inc. Memory training using electronic noise
US11309013B2 (en) 2020-04-29 2022-04-19 Samsung Electronics Co., Ltd. Memory device for reducing resources used for training

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149841B2 (en) * 2003-03-31 2006-12-12 Micron Technology, Inc. Memory devices with buffered command address bus
KR100594294B1 (ko) 2004-09-21 2006-06-30 삼성전자주식회사 메모리 장치 및 데이터 트레이닝 방법
KR100618870B1 (ko) 2004-10-23 2006-08-31 삼성전자주식회사 데이터 트레이닝 방법
US8386722B1 (en) * 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
KR100903367B1 (ko) 2007-11-02 2009-06-23 주식회사 하이닉스반도체 고속으로 데이터 송신할 수 있는 반도체 메모리 장치 및 그를 포함하는 시스템
US7872937B2 (en) * 2008-03-31 2011-01-18 Globalfoundries Inc. Data driver circuit for a dynamic random access memory (DRAM) controller or the like and method therefor
US8081527B1 (en) * 2009-05-08 2011-12-20 Juniper Networks, Inc. Per-bit de-skew mechanism for a memory interface controller
US8533538B2 (en) * 2010-06-28 2013-09-10 Intel Corporation Method and apparatus for training a memory signal via an error signal of a memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9129669B2 (en) 2013-08-16 2015-09-08 SK Hynix Inc. Semiconductor devices, semiconductor systems including the same, and methods of inputting data into the same
KR20200078991A (ko) * 2018-12-24 2020-07-02 에스케이하이닉스 주식회사 트래이닝 기능을 갖는 반도체 시스템

Also Published As

Publication number Publication date
US8725976B2 (en) 2014-05-13
US20110218949A1 (en) 2011-09-08

Similar Documents

Publication Publication Date Title
KR20110100467A (ko) 메모리 장치를 구비하는 시스템의 데이터 트레이닝 최적화 방법
CN102737718A (zh) 存储控制器与存储***
US8799566B2 (en) Memory system with a programmable refresh cycle
JP2012208936A (ja) コマンド/アドレス・カリブレーションを採用するメモリ装置
KR102087235B1 (ko) 위상 감지 장치 및 위상 감지 방법
KR102163431B1 (ko) 반도체 장치 및 그를 포함하는 반도체 시스템
KR101688839B1 (ko) 성능 특성 감시회로 및 방법
CN105679355A (zh) 使用可配置个体时间延迟对数据总线信号的最佳采样
JP4823595B2 (ja) データ出力時にddr動作を行う不揮発性メモリ装置及びデータ出力方法
US9257200B2 (en) Bit error testing and training in double data rate (DDR) memory system
KR102130494B1 (ko) 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법
CN105719685A (zh) 半导体装置和驱动该半导体装置的方法
KR102047825B1 (ko) 분주 클록 생성 장치 및 분주 클록 생성 방법
KR20140002135A (ko) 메모리 및 메모리의 테스트 방법
KR20200043017A (ko) 메모리 모듈, 메모리 시스템 및 메모리 모듈의 동작 방법
US20120296598A1 (en) Compensating for jitter during ddr3 memory delay line training
JP2011146043A (ja) 半導体装置、その装置を備える半導体システム、及びそのシステムの動作方法。
KR20120109958A (ko) 커맨드/어드레스 캘리브레이션을 채용하는 메모리 장치
US8345492B2 (en) Memory controller for detecting read latency, memory system and test system having the same
US9570128B2 (en) Managing skew in data signals
US9030896B1 (en) Control circuit for bit-line sense amplifier and semiconductor memory apparatus having the same, and operating method thereof
KR20090088556A (ko) 데이터 송수신 시스템
US9374096B2 (en) Semiconductor apparatus and semiconductor system including the same, and method of operating the same
KR100914329B1 (ko) 반도체 메모리 장치 및 그 테스트 방법
US9158330B1 (en) Apparatus and method to compensate for data skew for multiple memory devices and adjust delay for individual data lines based on an optimized critical window

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid