KR20170009000A - 메모리 콘트롤러, 이를 포함하는 메모리 시스템 및 메모리 콘트롤러의 동작 방법 - Google Patents

메모리 콘트롤러, 이를 포함하는 메모리 시스템 및 메모리 콘트롤러의 동작 방법 Download PDF

Info

Publication number
KR20170009000A
KR20170009000A KR1020150100275A KR20150100275A KR20170009000A KR 20170009000 A KR20170009000 A KR 20170009000A KR 1020150100275 A KR1020150100275 A KR 1020150100275A KR 20150100275 A KR20150100275 A KR 20150100275A KR 20170009000 A KR20170009000 A KR 20170009000A
Authority
KR
South Korea
Prior art keywords
memory
mapping
write
areas
circuit
Prior art date
Application number
KR1020150100275A
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 KR1020150100275A priority Critical patent/KR20170009000A/ko
Priority to US14/981,387 priority patent/US20170017410A1/en
Priority to TW105100208A priority patent/TW201702859A/zh
Priority to CN201610164132.7A priority patent/CN106354424A/zh
Publication of KR20170009000A publication Critical patent/KR20170009000A/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/061Improving I/O performance
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/063Address space extension for I/O modules, e.g. memory mapped I/O
    • 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
    • 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/0631Configuration or reconfiguration of storage systems by allocating resources to 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Static Random-Access Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

메모리 콘트롤러는, 메모리의 물리적 영역들의 라이트 성능 지표들을 저장하는 라이트 성능 저장 회로; 호스트의 상기 메모리의 논리적 영역들에 대한 라이트 동작 요청의 횟수를 카운팅하는 라이트 카운팅 회로; 및 상기 논리적 영역들과 상기 물리적 영역들을 맵핑하되, 상기 논리적 영역들 중 라이트 동작 요청의 횟수가 많은 영역을 상기 물리적 영역들 중 라이트 성능 지표가 우수한 영역으로 맵핑하는 맵핑 회로를 포함할 수 있다.

Description

메모리 콘트롤러, 이를 포함하는 메모리 시스템 및 메모리 콘트롤러의 동작 방법 {MEMORY CONTROLLER, MEMORY SYSTEM INCLUDING THE SAME AND OPERATION METHOD OF MEMORY CONTROLEER}
본 특허 문헌은 메모리, 메모리 콘트롤러 및 이들을 포함하는 메모리 시스템에 관한 것이다.
메모리는 점점 고속으로 동작할 것이 요구되고 있는데, 메모리의 동작 성능을 나타내는 스펙 중에서 라이트 리커버리 시간(tWR, Write Recovery Time)이라는 것이 있다. 라이트 리커버리 시간은 라이트 동작이 수행되어 메모리 장치의 단위 셀에 데이터를 저장하는 시점부터 프리차지(precharge) 동작이 수행되어도 저장된 데이터에 아무런 영향을 미치지 않는 시점까지의 시간을 말하는 것이다. 즉, 라이트 커맨드의 인가 시점으로부터 메모리의 메모리 셀에 데이터를 정상적으로 저장하기 위해 필요한 최소한의 시간을 라이트 리커버리 시간이라 하며, 메모리 콘트롤러는 메모리에 라이트 커맨드를 인가한 시점으로부터 라이트 리커버리 시간 이상의 시간이 지난 후에 메모리에 프리차지 커맨드를 인가해야 한다.
한편, 메모리 공정의 미세화로 인해 메모리 셀의 컨택(contact) 저항이 증가하고 있으며, 이는 라이트 리커버리 시간을 늘리는 주요 요인이 되고 있다. 또한, 공정 변수 등에 의해 메모리 내부의 영역별로 서로 다른 라이트 리커버리 시간을 가지는 경우가 많다. 따라서, 라이트 리커버리 시간이 늘어나는 문제와 메모리 내부의 영역별로 라이트 리커버리 시간이 달라지는 문제를 해결하기 위한 기술이 요구된다.
본 발명의 실시예들은 메모리 시스템의 라이트 동작 성능을 향상시킬 수 있다.
본 발명의 일실시예에 따른 메모리 콘트롤러는, 메모리의 물리적 영역들의 라이트 성능 지표들을 저장하는 라이트 성능 저장 회로; 호스트의 상기 메모리의 논리적 영역들에 대한 라이트 동작 요청의 횟수를 카운팅하는 라이트 카운팅 회로; 및 상기 논리적 영역들과 상기 물리적 영역들을 맵핑하되, 상기 논리적 영역들 중 라이트 동작 요청의 횟수가 많은 영역을 상기 물리적 영역들 중 라이트 성능 지표가 우수한 영역으로 맵핑하는 맵핑 회로를 포함할 수 있다.
상기 메모리 콘트롤러는 상기 맵핑 회로의 맵핑이 변경되면 상기 메모리의 물리적 영역들에 저장된 데이터가 변경된 맵핑에 따라 마이그레이션(migration)되도록 제어할 수 있다.
상기 맵핑 회로의 맵핑은 주기적으로 업데이트될 수 있다.
상기 라이트 성능 지표는 라이트 리커버리 시간(tWR: Write Recovery Time)일 수 있으며, 상기 메모리 콘트롤러는 상기 메모리의 물리적 영역들마다 라이트 리커버리 시간 규정을 다르게 적용할 수 있다.
상기 메모리의 물리적 영역들은 뱅크들일 수 있다.
상기 라이트 성능 저장 회로는 상기 메모리로부터 상기 물리적 영역들의 라이트 성능 지표들을 전달받아 저장할 수 있다.
본 발명의 일실시예에 따른 메모리 시스템은, 메모리와 메모리 콘트롤러를 포함하고, 상기 메모리는 다수의 물리적 영역들을 포함하고, 상기 메모리 콘트롤러는 상기 다수의 물리적 영역들의 라이트 성능 지표들을 저장하는 라이트 성능 저장 회로; 호스트의 상기 메모리의 논리적 영역들에 대한 라이트 동작 요청 횟수를 카운팅하는 라이트 카운팅 회로; 및 상기 논리적 영역들과 상기 물리적 영역들을 맵핑하되, 상기 논리적 영역들 중 라이트 동작 요청의 횟수가 많은 영역을 상기 물리적 영역들 중 라이트 성능 지표가 우수한 영역으로 맵핑하는 맵핑 회로를 포함할 수 있다.
본 발명의 일실시예에 따른 메모리 콘트롤러의 동작 방법은, 호스트의 메모리의 논리적 영역들에 대한 라이트 동작 요청 횟수를 카운팅하는 단계; 상기 논리적 영역들 중 라이트 동작 요청 횟수가 많은 영역을 상기 메모리의 물리적 영역들 중 라이트 성능 지표가 우수한 영역으로 맵핑하는 단계; 및 상기 메모리의 물리적 영역들에 저장된 데이터를 상기 맵핑하는 단계의 맵핑에 따라 마이그레이션되도록 상기 메모리를 제어하는 단계를 포함할 수 있다.
상기 맵핑하는 단계 및 상기 마이그레이션되도록 상기 메모리를 제어하는 단계는 주기적으로 수행될 수 있다.
상기 동작 방법은, 상기 메모리로부터 상기 물리적 영역들의 라이트 성능 지표들을 전달받아 저장하는 단계를 더 포함할 수 있다.
상기 라이트 성능 지표는 라이트 리커버리 시간(tWR: Write Recovery Time)이고, 상기 물리적 영역들은 뱅크들일 수 있다.
본 발명의 실시예들에 따르면, 메모리 시스템의 라이트 동작 성능을 향상시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 메모리 시스템의 구성도.
도 2는 라이트 성능 저장 회로(116)에 저장된 메모리의 물리적 영역들별 라이트 성능 지표를 나타낸 도면.
도 3은 라이트 카운팅 회로(118)에 의해 카운팅된 호스트(1)의 논리적 영역들(LOGICAL_BANK0 ~ LOGICAL_BANK7)의 라이트 동작의 요청 횟수를 나타낸 도면.
도 4는 맵핑 회로(119)의 초기 맵핑을 나타내는 도면.
도 5는 맵핑 회로(119)의 맵핑이 업데이트된 이후의 맵핑을 나타내는 도면.
도 6은 메모리 시스템(100)의 동작을 도시한 도면.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 본 발명을 설명함에 있어서, 본 발명의 요지와 무관한 공지의 구성은 생략될 수 있다. 각 도면의 구성요소들에 참조 번호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다.
도 1은 본 발명의 일실시예에 따른 메모리 시스템의 구성도이다.
도 1을 참조하면, 메모리 시스템(100)은 메모리 콘트롤러(110)와 메모리(130)를 포함할 수 있다. 설명의 편의상 메모리 시스템(100)과 함께 동작하는 호스트(1)를 함께 도시한다.
메모리(130)는 메모리 콘트롤러(110)의 제어에 따라 리드 및 라이트 동작 등을 수행할 수 있다. 메모리(130)는 데이터를 저장하기 위한 다수의 물리적 영역들(BANK0~BANK7)을 포함할 수 있다. 여기서 물리적 영역들(BANK0~BANK7)은 뱅크들일 수 있다. 메모리(130)는 SPD(Serial Presence Detect)라 불리우는 메모리(130)에 대한 정보를 저장하는 회로(131)를 포함할 수 있는데, 여기에는 메모리(130)의 용량에 관한 정보 등 각종 파라매터등에 대한 정보가 저장되어 메모리 콘트롤러(110)로 제공될 수 있다. 또한, SPD(131)에는 메모리(130)의 물리적 영역들(BANK0~BANK7) 각각의 라이트 성능 지표가 저장될 수 있다. 여기서 라이트 성능 지표는 라이트 리커버리 시간(tWR)일 수 있다. 메모리(130)의 제조 과정에서 메모리 제조사에 의해 메모리(130)의 각종 성능들에 대한 테스트가 수행되는데, 이 과정에서 메모리(130)의 물리적 영역들(BANK0~BANK7) 각각에 대한 라이트 리커버리 시간(tWR)이 측정되어 SPD(131)에 저장될 수 있다. 아니면, 메모리 콘트롤러(110)의 제어에 의한 테스트 동작에 의해 메모리(130)의 물리적 영역들(BANK0~BANK7)에 대한 라이트 성능이 테스트되고, 그 결과 물리적 영역들(BANK0~BANK7) 각각에 대한 라이트 리커버리 시간(tWR)이 측정되어 SPD(131)에 저장될 수도 있다. 도 1에 도시된 메모리(130)는 1개의 메모리 칩을 나타낼 수도 있으며, 다수의 메모리 칩들을 포함하는 메모리 모듈(예, DIMM)을 나타낼 수도 있다.
메모리 콘트롤러(110)는 호스트(1)의 요청에 따라 메모리(130)의 동작을 제어할 수 있다. 메모리 콘트롤러(110)는 호스트 인터페이스 회로(111), 데이터 버퍼 회로(112), 스케쥴러 회로(113), 커맨드 생성 회로(114), 메모리 인터페이스 회로(115), 라이트 성능 저장 회로(116), 싸이클 카운팅 회로(117), 라이트 카운팅 회로(118) 및 맵핑 회로(119)를 포함할 수 있다.
호스트 인터페이스 회로(111)는 메모리 콘트롤러(110)와 호스트(1) 간의 인터페이스를 위한 것일 수 있다. 호스트 인터페이스 회로(111)를 통해 호스트(1)의 요청이 호스트(1)로부터 수신될 수 있으며, 호스트(1)의 요청에 의한 처리 결과가 호스트(1)로 전송될 수 있다.
데이터 버퍼 회로(112)는 메모리(130)로 라이트 될 데이터 및 메모리(130)로부터 리드된 데이터를 임시 저장하는 버퍼 회로일 수 있다.
스케쥴러 회로(113)는 호스트(1)로부터의 요청들 중 메모리(130)에 지시할 요청의 순서를 정하기 위한 회로일 수 있다. 스케쥴러 회로(113)는 메모리 시스템(100)의 퍼포먼스 향상을 위해 호스트(1)로부터 요청들이 수신된 순서와 메모리(130)에 지시되는 동작의 순서를 다르게 할 수 있다. 예를 들어, 호스트(1)가 메모리(130)의 리드 동작을 먼저 요청하고 라이트 동작을 나중에 요청하더라도, 스케쥴러 회로(113)는 메모리(130)의 라이트 동작이 리드 동작보다 먼저 수행되도록 순서를 조절할 수 있다.
커맨드 생성 회로(114)는 스케쥴러 회로(113)에 의해 정해진 동작 순서에 맞게 메모리(130)로 인가할 커맨드를 생성할 수 있다.
메모리 인터페이스 회로(115)는 메모리 콘트롤러(110)와 메모리(130) 간의 인터페이스를 위한 것일 수 있다. 메모리 인터페이스 회로(115)를 통해 메모리 콘트롤러(110)로부터 메모리(130)로 커맨드와 어드레스가 전달되고, 메모리 콘트롤러(110)와 메모리(130) 간에 데이터가 교환될 수 있다. 또한, 메모리 인터페이스 회로(115)를 통해 메모리(130)의 SPD(131)에 저장된 정보가 메모리 콘트롤러(110)로 전달될 수 있다. 메모리 인터페이스 회로(115)를 PHY 인터페이스라고도 한다.
라이트 성능 저장 회로(116)는 메모리(130)의 물리적 영역들(BANK0~BANK7)에 대한 라이트 성능 지표들(예, tWR)을 저장할 수 있다. 라이트 성능 저장 회로(116)는 메모리의 SPD(131)로부터 물리적 영역들(BANK0~BANK7)에 대한 라이트 성능 지표들을 전달받아 저장할 수 있다. 또한, 메모리 콘트롤러(110)가 메모리(130)에 대한 테스트 동작을 수행하고, 그 결과 측정된 메모리(130)의 물리적 영역들(BANK0~BANK7)에 대한 라이트 성능 지표들이 라이트 성능 저장 회로(116)에 저장될 수도 있다. 도 2는 라이트 성능 저장 회로(116)에 저장된 메모리의 물리적 영역들별 라이트 성능 지표를 나타낸다.
싸이클 카운팅 회로(117)는 맵핑 회로(119)를 업데이트 주기를 결정하기 위한 회로일 수 있다. 싸이클 카운팅 회로(117)의 주기파(예, 클럭)의 활성화 횟수를 카운팅하고, 카운팅 횟수가 일정 값에 도달할 때마다 맵핑 회로(119)에게 맵핑을 업데이트할 시기가 되었다는 것을 알려줄 수 있다.
라이트 카운팅 회로(118)는 호스트(1)의 메모리의 논리적 영역들(예, 논리적 뱅크들)에 대한 라이트 동작의 요청 횟수를 카운팅할 수 있다. 논리적 영역들은 맵핑 회로(119)에 의해 물리적 영역들(BANK0~BANK7)과 맵핑될 수 있다. 도 3은 라이트 카운팅 회로(118)에 의해 카운팅된 호스트(1)의 논리적 영역들(LOGICAL_BANK0 ~ LOGICAL_BANK7)의 라이트 동작의 요청 횟수를 나타낸다. 논리적 영역들(LOGICAL_BANK0 ~ LOGICAL_BANK7) 중 라이트 동작의 요청 횟수가 많은 영역은, 이후에도 라이트 동작의 요청이 많을 것이라는 점을 예측할 수 있다.
맵핑 회로(119)는 호스트(1) 기준의 논리적 영역들(LOGICAL_BANK0 ~ LOGICAL_BANK7)과 메모리 기준의 물리적 영역들(BANK0~BANK7)을 맵핑할 수 있다. 싸이클 카운팅 회로(117)가 알려주는 업데이트 시기에 맵핑 회로(119)의 맵핑은 업데이트될 수 있다. 맵핑 회로(119)는 논리적 영역들(LOGICAL_BANK0 ~ LOGICAL_BANK7) 중 라이트 동작 요청의 횟수가 많은 영역을 물리적 영역들(BANK0~BANK7) 중 라이트 성능 지표가 우수한 영역으로 맵핑할 수 있다.
도 4는 맵핑 회로(119)의 초기 맵핑을 나타내는 도면이다. 도 4를 참조하면, 논리적 영역들(LOGICAL_BANK0 ~ LOGICAL_BANK7)과 물리적 영역들(BANK0~BANK7)이 동일한 번호끼리 맵핑되어 있는 것을 확인할 수 있다. 도 5는 맵핑 회로(119)의 맵핑이 업데이트된 이후의 맵핑을 나타내는 도면이다. 도 5를 참조하면, 논리적 영역들(LOGICAL_BANK0 ~ LOGICAL_BANK7) 중 라이트 동작 요청의 횟수가 많은 논리적 영역일수록 물리적 영역들(BANK0~BANK7) 중 라이트 성능 지표가 우수한 물리적 영역(tWR이 작은 영역)으로 맵핑되는 것을 확인할 수 있다.
도 5와 같이 논리적 영역들(LOGICAL_BANK0 ~ LOGICAL_BANK7)과 물리적 영역들(BANK0~BANK7)이 맵핑되면, 라이트 성능 지표가 우수한 영역(예, BANK3)에서는 라이트 동작이 많이 수행되고 라이트 성능 지표가 나쁜 영역(예, BANK5)에서는 라이트 동작이 적게 수행되므로, 메모리(130)의 안정적인 동작이 보장될 수 있다. 또한, 메모리 콘트롤러(110)는 물리적 영역들(BANK0~BANK7)마다 라이트 리커버리 시간(tWR) 규정을 다르게 적용해 성능 향상을 가능하게 할 수 있다. 예를 들어, 메모리 콘트롤러(110)는 물리적 영역(BANK3)에 라이트 커맨드를 인가한 이후에는 5ns만 지난 후에 프리차지 명령을 인가해 후속 동작을 수행할 수 있으며, 물리적 영역(BANK5)에 라이트 커맨드를 인가한 이후에는 30ns가 지난 후에 프리차지 명령을 인가할 수 있다.
도 6은 메모리 시스템(100)의 동작을 도시한 도면이다. 도 6과 함께 상술한 메모리 시스템(100)의 동작에 대해 다시 살펴보기로 한다.
도 6을 참조하면, 먼저, 단계(S601)에서 메모리 콘트롤러(110)가 메모리(130)로부터 물리적 영역들(BANK0~BANK7)의 라이트 성능 지표들을 전달받아 라이트 성능 저장 회로(116)에 저장할 수 있다. 그리고, 단계(S603)에서 메모리 콘트롤러(110)의 라이트 카운팅 회로(118)는 호스트(1)의 논리적 영역들(LOGICAL_BANK0 ~ LOGICAL_BANK7)에 대한 라이트 요청의 횟수를 카운팅할 수 있다.
단계(S605)에서 싸이클 카운팅 회로(117)에 의해 맵핑 회로(119)의 업데이트 시점이 도달되었는지 아닌지가 판단되고, 업데이트 시점이 도달되지 않은 경우 단계(S603)가 다시 수행될 수 있다. 맵핑 회로(119)의 업데이트 시점이 도달된 경우에, 단계(S607)에서 맵핑 회로(119)의 맵핑이 업데이트될 수 있다. 맵핑 회로(119)의 맵핑 업데이트는 논리적인 영역들(LOGICAL_BANK0 ~ LOGICAL_BANK7) 중 라이트 동작 요청의 횟수가 많은 영역을 물리적 영역들(BANK0~BANK7) 중 라이트 성능 지표가 우수한 영역으로 맵핑하는 방식으로 수행될 수 있다.
본 발명의 기술사상은 상기 바람직한 실시예들에 따라 구체적으로 기술되었으나, 상기한 실시예들은 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술분야에서 통상의 지식을 가진 자라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 알 수 있을 것이다.
1: 호스트 100: 메모리 시스템
110: 메모리 콘트롤러 130: 메모리
111: 호스트 인터페이스 회로 112: 데이터 버퍼 회로,
113: 스케쥴러 회로 114: 커맨드 생성 회로
115: 메모리 인터페이스 회로 116: 라이트 성능 저장 회로
117: 싸이클 카운팅 회로 118: 라이트 카운팅 회로
119: 맵핑 회로

Claims (19)

  1. 메모리의 물리적 영역들의 라이트 성능 지표들을 저장하는 라이트 성능 저장 회로;
    호스트의 상기 메모리의 논리적 영역들에 대한 라이트 동작 요청의 횟수를 카운팅하는 라이트 카운팅 회로; 및
    상기 논리적 영역들과 상기 물리적 영역들을 맵핑하되, 상기 논리적 영역들 중 라이트 동작 요청의 횟수가 많은 영역을 상기 물리적 영역들 중 라이트 성능 지표가 우수한 영역으로 맵핑하는 맵핑 회로
    를 포함하는 메모리 콘트롤러.
  2. 제 1항에 있어서,
    상기 메모리 콘트롤러는
    상기 맵핑 회로의 맵핑이 변경되면 상기 메모리의 물리적 영역들에 저장된 데이터가 변경된 맵핑에 따라 마이그레이션(migration)되도록 제어하는
    메모리 콘트롤러.
  3. 제 1항에 있어서,
    상기 맵핑 회로의 맵핑은 주기적으로 업데이트되는
    메모리 콘트롤러.
  4. 제 1항에 있어서,
    상기 라이트 성능 지표는 라이트 리커버리 시간(tWR: Write Recovery Time)인
    메모리 콘트롤러.
  5. 제 4항에 있어서,
    상기 메모리 콘트롤러는
    상기 메모리의 물리적 영역들마다 라이트 리커버리 시간 규정을 다르게 적용하는
    메모리 콘트롤러.
  6. 제 1항에 있어서,
    상기 메모리의 물리적 영역들은 뱅크들인
    메모리 콘트롤러.
  7. 제 1항에 있어서,
    상기 라이트 성능 저장 회로는
    상기 메모리로부터 상기 물리적 영역들의 라이트 성능 지표들을 전달받아 저장하는
    메모리 콘트롤러.
  8. 메모리와 메모리 콘트롤러를 포함하는 메모리 시스템에 있어서,
    상기 메모리는 다수의 물리적 영역들을 포함하고,
    상기 메모리 콘트롤러는
    상기 다수의 물리적 영역들의 라이트 성능 지표들을 저장하는 라이트 성능 저장 회로;
    호스트의 상기 메모리의 논리적 영역들에 대한 라이트 동작 요청 횟수를 카운팅하는 라이트 카운팅 회로; 및
    상기 논리적 영역들과 상기 물리적 영역들을 맵핑하되, 상기 논리적 영역들 중 라이트 동작 요청의 횟수가 많은 영역을 상기 물리적 영역들 중 라이트 성능 지표가 우수한 영역으로 맵핑하는 맵핑 회로를 포함하는
    메모리 시스템.
  9. 제 8항에 있어서,
    상기 맵핑 회로의 맵핑이 변경되면 상기 메모리 콘트롤러의 제어에 따라 상기 메모리의 물리적 영역들에 저장된 데이터가 변경된 맵핑에 따라 마이그레이션(migration)되는
    메모리 시스템.
  10. 제 8항에 있어서,
    상기 맵핑 회로의 맵핑은 주기적으로 업데이트되는
    메모리 시스템.
  11. 제 8항에 있어서,
    상기 라이트 성능 지표는 라이트 리커버리 시간(tWR: Write Recovery Time)인
    메모리 시스템.
  12. 제 11항에 있어서,
    상기 메모리 콘트롤러는
    상기 메모리의 물리적 영역들마다 라이트 리커버리 시간 규정을 다르게 적용하는
    메모리 시스템.
  13. 제 8항에 있어서,
    상기 메모리의 물리적 영역들은 뱅크들인
    메모리 시스템.
  14. 제 8항에 있어서,
    상기 라이트 성능 저장 회로는
    상기 메모리로부터 상기 물리적 영역들의 라이트 성능 지표들을 전달받아 저장하는
    메모리 시스템.
  15. 호스트의 메모리의 논리적 영역들에 대한 라이트 동작 요청 횟수를 카운팅하는 단계;
    상기 논리적 영역들 중 라이트 동작 요청 횟수가 많은 영역을 상기 메모리의 물리적 영역들 중 라이트 성능 지표가 우수한 영역으로 맵핑하는 단계; 및
    상기 메모리의 물리적 영역들에 저장된 데이터를 상기 맵핑하는 단계의 맵핑에 따라 마이그레이션되도록 상기 메모리를 제어하는 단계
    를 포함하는 메모리 콘트롤러의 동작 방법.
  16. 제 15항에 있어서,
    상기 맵핑하는 단계 및 상기 마이그레이션되도록 상기 메모리를 제어하는 단계는 주기적으로 수행되는
    메모리 콘트롤러의 동작 방법.
  17. 제 15항에 있어서,
    상기 메모리로부터 상기 물리적 영역들의 라이트 성능 지표들을 전달받아 저장하는 단계를 더 포함하는
    메모리 콘트롤러의 동작 방법.
  18. 제 15항에 있어서,
    상기 라이트 성능 지표는 라이트 리커버리 시간(tWR: Write Recovery Time)인
    메모리 콘트롤러의 동작 방법.
  19. 제 15항에 있어서,
    상기 물리적 영역들은 뱅크들인
    메모리 콘트롤러의 동작 방법.
KR1020150100275A 2015-07-15 2015-07-15 메모리 콘트롤러, 이를 포함하는 메모리 시스템 및 메모리 콘트롤러의 동작 방법 KR20170009000A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020150100275A KR20170009000A (ko) 2015-07-15 2015-07-15 메모리 콘트롤러, 이를 포함하는 메모리 시스템 및 메모리 콘트롤러의 동작 방법
US14/981,387 US20170017410A1 (en) 2015-07-15 2015-12-28 Memory controller
TW105100208A TW201702859A (zh) 2015-07-15 2016-01-05 記憶體控制器
CN201610164132.7A CN106354424A (zh) 2015-07-15 2016-03-21 存储器控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150100275A KR20170009000A (ko) 2015-07-15 2015-07-15 메모리 콘트롤러, 이를 포함하는 메모리 시스템 및 메모리 콘트롤러의 동작 방법

Publications (1)

Publication Number Publication Date
KR20170009000A true KR20170009000A (ko) 2017-01-25

Family

ID=57774989

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150100275A KR20170009000A (ko) 2015-07-15 2015-07-15 메모리 콘트롤러, 이를 포함하는 메모리 시스템 및 메모리 콘트롤러의 동작 방법

Country Status (4)

Country Link
US (1) US20170017410A1 (ko)
KR (1) KR20170009000A (ko)
CN (1) CN106354424A (ko)
TW (1) TW201702859A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11256614B2 (en) 2019-03-27 2022-02-22 SK Hynix Inc. Memory controller for allocating logical address and method of operating the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180092430A (ko) * 2017-02-09 2018-08-20 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101498673B1 (ko) * 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
US8452917B2 (en) * 2008-09-15 2013-05-28 Diablo Technologies Inc. Load reduction dual in-line memory module (LRDIMM) and method for programming the same
US8819379B2 (en) * 2011-11-15 2014-08-26 Memory Technologies Llc Allocating memory based on performance ranking

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11256614B2 (en) 2019-03-27 2022-02-22 SK Hynix Inc. Memory controller for allocating logical address and method of operating the same

Also Published As

Publication number Publication date
US20170017410A1 (en) 2017-01-19
TW201702859A (zh) 2017-01-16
CN106354424A (zh) 2017-01-25

Similar Documents

Publication Publication Date Title
US9824004B2 (en) Methods and apparatuses for requesting ready status information from a memory
EP3547319A1 (en) Memory preset adjustment based on adaptive calibration
US9535627B2 (en) Latency-aware memory control
US10310734B2 (en) Tier mode for access operations to 3D memory
US11960749B2 (en) Data migration method, host, and solid state disk
US9588906B2 (en) Removing cached data
KR20210076143A (ko) 비순차적 구역 네임스페이스들
CN109313620A (zh) 存储器协议
CN104981789A (zh) 用于可变延时存储器操作的设备及方法
KR20160144482A (ko) 메모리 제어기에서의 세분화된 대역폭 프로비저닝
KR102526608B1 (ko) 전자 장치 및 그것의 동작 방법
US10115458B2 (en) Perform read or write on a non-volatile memory having a pending read or write based on temperature thereof
US9214232B2 (en) Methods and apparatuses for calibrating data sampling points
CN105808455A (zh) 访问内存的方法、存储级内存及计算机系统
CN108874686A (zh) 内存参数调节方法、装置及设备
US10114561B2 (en) Memory controllers, memory systems, and methods relating to wear-leveling
US10318210B2 (en) Memory controller, storage device, information processing system, and method of controlling memory
KR20170009000A (ko) 메모리 콘트롤러, 이를 포함하는 메모리 시스템 및 메모리 콘트롤러의 동작 방법
JP5801158B2 (ja) Ram記憶装置
US20140317334A1 (en) Storage of gate training parameters for devices utilizing random access memory
CN115398384A (zh) 进行存储器系统后台操作
CN109710547B (zh) 一种工业物联网中的缓冲内存管理设计与实现方法
KR102307229B1 (ko) 명령 우선 순위를 이용하는 메모리 프로토콜
US10185510B2 (en) Bank interleaving controller and semiconductor device including the same
KR20210060253A (ko) 메모리 컨트롤러, 메모리 시스템 및 이의 동작 방법