KR102349422B1 - 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 반도체 저장장치 - Google Patents

메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 반도체 저장장치 Download PDF

Info

Publication number
KR102349422B1
KR102349422B1 KR1020150013546A KR20150013546A KR102349422B1 KR 102349422 B1 KR102349422 B1 KR 102349422B1 KR 1020150013546 A KR1020150013546 A KR 1020150013546A KR 20150013546 A KR20150013546 A KR 20150013546A KR 102349422 B1 KR102349422 B1 KR 102349422B1
Authority
KR
South Korea
Prior art keywords
memory controller
performance level
performance
information
level
Prior art date
Application number
KR1020150013546A
Other languages
English (en)
Other versions
KR20160092760A (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 KR1020150013546A priority Critical patent/KR102349422B1/ko
Priority to US14/959,089 priority patent/US9804790B2/en
Publication of KR20160092760A publication Critical patent/KR20160092760A/ko
Application granted granted Critical
Publication of KR102349422B1 publication Critical patent/KR102349422B1/ko

Links

Images

Classifications

    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Abstract

본 발명에 따른 반도체 저장장치는, 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함하며, 상기 메모리 컨트롤러는, 상기 메모리 컨트롤러의 상태 정보를 기반으로, 상기 호스트로부터 수신한 명령에 대응한 동작을 수행시에 상기 메모리 컨트롤러의 성능 레벨을 제어하는 성능 제어부를 포함한다.

Description

메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 반도체 저장장치 {Method for operating memory controller and semiconductor storage device including the same}
본 발명은 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 반도체 저장장치에 관한 것으로서, 상세하게는 메모리 컨트롤러의 수명을 고려하여 메모리 컨트롤러의 성능 레벨의 향상을 제어하는 메모리 컨트롤러 및 이를 포함하는 반도체 저장장치에 관한 것이다.
정보화 사회의 도래와 함께 개인이 저장하고 이동해야 할 데이터의 양도 폭발적으로 늘어나고 있다. 이와 같은 데이터 저장매체의 수요 증가로 인해, 다양한 종류의 개인용 데이터 저장 장치들이 개발되고 있다.
반도체 저장장치들 중에서도 하드디스크 드라이브(hard disk drive; HDD)는 높은 기록 밀도와, 높은 데이터 전송 속도, 빠른 데이터 접근 시간(access time), 및 낮은 가격 등의 장점으로 인해 널리 사용되고 있다. 그러나, 하드디스크 드라이브는, 기계적 부품으로 구성된 복잡한 구조를 갖기 때문에, 조그만 충격과 진동에도 고장이 날 수 있는 문제점이 있다.
최근 들어서는 하드디스크 드라이브를 대신하는 데이터 저장 장치로서, 플래시 메모리를 채택한 솔리드 스테이트 디스크(Solid State Disk, 이하 SSD라 칭함)가 개발되고 있다. SSD는 하드디스크 드라이브와 달리 기계적 구성이 전혀 없다. 따라서, SSD는 하드디스크 드라이브에 비해 지연시간(Latency)과 기타 기계적 구동시간을 줄일 수 있고, 고속의 읽기/기록 동작을 수행할 수 있다. 그리고 SSD는 지연 시간 및 기계적 마찰로 인한 오류를 줄일 수 있기 때문에, 읽기/기록 동작의 신뢰성을 향상시킬 수 있는 장점이 있다. 또한, 작동시 열과 소음이 거의 발생하기 않고, 외부 충격에 강하기 때문에, 기존의 하드디스크 드라이브에 비하여 휴대용 기기에 적합한 데이터 저장 장치로서 평가되고 있으며, 반도체 저장장치의 신뢰성 및 동작 속도 향상을 위해 활발하게 연구되고 있다.
본 발명이 이루고자 하는 기술적인 과제는 메모리 컨트롤러의 수명을 고려하여 메모리 컨트롤러의 성능 레벨의 향상을 제어하는 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 반도체 저장장치를 제공하는 것이다.
본 발명에 따른 반도체 저장장치는, 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함하며, 상기 메모리 컨트롤러는, 상기 메모리 컨트롤러의 상태 정보를 기반으로, 상기 호스트로부터 수신한 명령에 대응한 동작을 수행시에 상기 메모리 컨트롤러의 성능 레벨을 제어하는 성능 제어부를 포함한다.
또한, 상기 상태 정보는, 상기 메모리 컨트롤러의 수명 정보 중 성능 정보 중 어느 하나를 포함하는 것을 특징으로 한다.
또한, 상기 성능 정보는, 상기 동작을 수행하기 전의 상기 성능 레벨을 포함하고, 상기 수명 정보는, 상기 메모리 컨트롤러의 초기 수명, 감소 수명 및 잔여 수명 중 적어도 하나를 포함하는 것을 특징으로 한다.
또한, 상기 성능 레벨은, 단위시간당 상기 메모리 컨트롤러에 의하여 처리된 명령의 수, 단위 시간당 상기 메모리 컨트롤러에 의하여 기록 및 읽은 데이터량 중 적어도 하나에 해당하는 것을 특징으로 한다.
또한, 상기 호스트의 동작 명령에 대응한 상기 메모리 컨트롤러의 동작 수행 시간을 카운트하여, 상기 메모리 컨트롤러의 사용시간정보를 생성하는 타이머를 더 포함하고, 상기 사용시간정보가 기준사용시간정보 이상이고, 상기 수명정보가 기준수명정보 이하에 해당하는 경우, 상기 수명정보와 상기 사용시간정보를 기반으로, 상기 메모리 컨트롤러의 제한성능 레벨을 설정하여, 상기 성능 제어부가 상기 제한성능 레벨 이하로 상기 메모리 컨트롤러의 성능 레벨을 제어하도록 하는 것을 특징으로 한다.
또한, 상기 성능 제어부는, 상기 동작 명령에 대응한 동작을 수행할 때에, 상기 메모리 컨트롤러의 성능 레벨의 향상이 필요한지 여부를 상기 메모리 컨트롤러의 동작 상태에 기반하여, 판단하고, 상기 판단 결과를 기반으로 상기 메모리 컨트롤러의 성능 레벨을 제어하는 것을 특징으로 한다.
또한, 상기 성능 제어부는, 상기 메모리 컨트롤러의 성능 레벨의 향상이 필요한 경우, 상기 입력 전압의 레벨을 올리고, 상기 메모리 컨트롤러의 성능 레벨의 향상이 필요없는 경우, 상기 입력 전압의 레벨을 낮추거나, 유지하도록 제어하는 것을 특징으로 한다.
본 발명에 따른 메모리 컨트롤러의 동작 방법에 있어서, 호스트로부터 동작 명령을 수신하는 단계, 상기 메모리 컨트롤러의 수명 정보를 기반으로, 상기 메모리 컨트롤러의 성능 레벨 향상의 제한 여부를 판단하는 단계, 상기 메모리 컨트롤러의 성능 레벨 향상의 제한 여부 판단 결과에 기반하여, 상기 메모리 컨트롤러의 성능 레벨을 제어하는 단계 및 상기 동작 명령에 대응한 동작을 수행하는 단계를 포함한다.
또한, 상기 메모리 컨트롤러의 성능 레벨 향상의 제한 여부를 판단하는 단계는, 상기 메모리 컨트롤러의 동작 수행 시간을 카운트(count)하여 생성한 사용시간정보가 기준사용시간정보 이상이고, 상기 수명정보가 기준수명정보 이하에 해당하는지 여부를 판단하는 단계를 더 포함한다. 또한, 상기 메모리 컨트롤러의 성능 레벨을 제어하는 단계는, 상기 메모리 컨트롤러의 동작 수행 시간을 카운트(count)하여 생성한 상기 사용시간정보가 상기 기준사용시간정보 이상이고, 상기 수명정보가 상기 기준수명정보 이하에 해당하는 경우, 상기 메모리 컨트롤러의 제한 성능 레벨을 설정하는 단계 및 설정된 상기 메모리 컨트롤러의 상기 제한 성능 레벨 이하로 상기 메모리 컨트롤러의 성능 레벨을 제어하는 단계를 더 포함하는 것을 특징으로 한다.
상술한 바와 같은 본 발명에 따른 메모리 컨트롤러 및 이를 포함하는 반도체 저장장치에 따르면, 메모리 컨트롤러의 수명을 고려하여, 메모리 컨트롤러의 기대사용시간을 만족하며 메모리 컨트롤러의 성능 레벨의 향상을 제어함으로써, 반도체 저장장치의 신뢰성 및 동작 속도를 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 반도체 저장장치를 포함하는 컴퓨터 시스템의 블록도이다.
도 2는 본 발명의 실시예에 따른 반도체 저장장치를 나타내는 블록도이다.
도 3은 메모리 컨트롤러에 인가되는 입력전압과 메모리 컨트롤러의 동작 주파수 관계, 메모리 컨트롤러의 동작 주파수와 메모리 컨트롤러의 성능 관계 및 메모리 컨트롤러에 인가되는 입력 전압과 메모리 컨트롤러의 수명 관계를 그래프로 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 메모리 컨트롤러의 블록도이다.
도 5a 는 메모리 컨트롤러의 동작 주파수의 크기와 메모리 컨트롤러의 수명의 관계를 나타낸 그래프이고, 도 5b는 메모리 컨트롤러의 수명과 메모리 컨트롤러의 기대사용시간의 관계 및 메모리 컨트롤러의 성능 레벨 향상을 제한하기 위한 기준을 설명하기 위한 그래프이다.
도 6은 본 발명의 일 실시예에 따른 메모리 컨트롤러를 포함하는 컴퓨터 시스템의 블록도이다.
도 7a 및 7b는 본 발명의 일 실시예에 따른 성능 레벨 향상이 필요한 CPU를 포함하는 메모리 컨트롤러를 설명하는 도면이다.
도 8은 본 발명의 다른 실시예에 따른 메모리 컨트롤러의 블록도이다.
도 9는 본 발명의 일 실시예에 따른 메모리 컨트롤러의 성능 레벨을 제어하는 방법을 나타낸 순서도이다.
도 10은 본 발명의 일 실시예에 따른 도 9의 S140 단계 이후의 순서도이다
도 11 은 도 1에 도시된 메모리 컨트롤러를 포함하는 컴퓨터 시스템의 실시 예를 나타낸다.
도 12 는 도 1에 도시된 메모리 컨트롤러를 포함하는 컴퓨터 시스템의 다른 실시 예를 나타낸다.
도 13는 도 1에 도시된 메모리 컨트롤러를 포함하는 컴퓨터 시스템의 또 다른 실시 예를 나타낸다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 벗어나지 않으면서, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 반도체 저장장치(100)를 포함하는 컴퓨터 시스템(1)의 블록도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 컴퓨터 시스템(1)은 호스트(Host, 10) 및 반도체 저장장치(100)를 포함할 수 있다. 호스트(10)는 컴퓨터 시스템(1)의 동작에 필요한 각종 명령을 처리하고, 반도체 저장장치(100)에 전송하며, 요구되는 데이터에 대하여 읽기/기록 명령을 통하여, 반도체 저장장치(100)로부터 읽어 들이거나 반도체 저장장치(100)에 저장할 수 있다. 반도체 저장장치(100)는 메모리 컨트롤러(memory controller, 120) 및 비휘발성 메모리 장치(Non-volatile memory device, 140)를 포함할 수 있다. 메모리 컨트롤러(120)는 호스트(10)로부터 수신되는 리드(read) 명령에 따라 비휘발성 메모리 장치(140)에 저장되어 있는 데이터를 읽어들여 호스트(10)로 전송할 수 있다. 또한, 메모리 컨트롤러(120)는 호스트(10)로부터 수신되는 라이트(write) 명령에 따라 호스트(10)로부터 전송되는 데이터를 비휘발성 메모리 장치(140)에 저장할 수 있다. 메모리 컨트롤러(120)는 호스트(10)와 PCIe(PCI Express) 인터페이스 방식으로 접속되어 명령 및 데이터를 교환할 수 있으나, 발명이 이에 한정되는 것은 아니다.
메모리 컨트롤러(120)는 적어도 2 이상의 커맨드 인터페이스(command interface)를 포함하여 비휘발성 메모리 장치(140)와 데이터를 교환할 수 있다. 메모리 컨트롤러(120)는 호스트(10)로 비휘발성 메모리 장치(140)에 대한 논리 주소(logical address)를 제공하고, 비휘발성 메모리 장치(140)에 대해 물리 주소(physical address)를 제공할 수 있으며, 물리 주소를 이용하여 비휘발성 메모리 장치(140)를 관리하고 물리 주소를 논리 주소로 변환할 수 있다. 메모리 컨트롤러(120)는 비휘발성 메모리 장치(140)에 포함된 복수의 비휘발성 메모리(non-volatile memory)에서 논리적으로 동일한 블록 번호를 갖는 블록(block)들과 논리적으로 동일한 페이지 번호를 갖는 페이지(page)들을 각각 블록 그룹 및 페이지 그룹이라는 논리적인 단위로 구성하여 연산을 수행할 수 있다. 이때, 메모리 컨트롤러(120)는 페이지 그룹에 대한 리드 및 라이트 연산을 복수의 비휘발성 메모리에서 병렬적으로 수행할 수 있으며, 블록 그룹에 대한 이레이즈(erase) 연산을 복수의 비휘발성 메모리에서 병렬적으로 수행할 수 있다.
또한, 메모리 컨트롤러(120)는 성능 제어부(Performance control module, 122)를 포함한다. 메모리 컨트롤러(120)는 일정한 수명이 있으며, 메모리 컨트롤러(120)가 동작하는 성능 레벨에 따라서, 수명의 감소는 달라질 수 있다. 예를 들면, 동작 주파수(600MHz)로 동작하는 메모리 컨트롤러(120)의 수명감소는 동작 주파수(660MHz)로 동작하는 메모리 컨트롤러(120)의 수명감소보다 작을 수 있다. 성능 제어부(122)는 메모리 컨트롤러(120)의 기대사용시간 이전에 상기 메모리 컨트롤러(120)의 수명이 다하지 않도록 메모리 컨트롤러(120)의 성능 레벨을 제어할 수 있다. 상기 기대사용시간은 메모리 컨트롤러(120)의 동작이 보장되는 시간을 지칭한다. 일 실시예로, 메모리 컨트롤러(120)의 수명정보는 메모리 컨트롤러(120)의 초기 수명, 감소 수명 및 잔여 수명 등 중 적어도 어느 하나를 포함할 수 있다. 메모리 컨트롤러(120)의 성능레벨은 단위시간당 메모리 컨트롤러(120)에 의하여 처리된 명령의 수, 단위 시간당 메모리 컨트롤러(120)에 의하여 기록 및 읽은 데이터 량 등 중 적어도 어느 하나에 해당할 수 있다. 메모리 컨트롤러(120)의 성능 정보는 호스트(10)로부터 새로운 동작을 수행할 때에, 상기 새로운 동작을 수행하기 전의 메모리 컨트롤러(120)의 성능 레벨을 포함할 수 있다. 성능 제어부(122)는 메모리 컨트롤러(120)의 성능 레벨을 제어할 수 있다. 성능 제어부(122)의 구체적 내용은 후술하도록 한다.
비휘발성 메모리 장치(140)는 복수의 비휘발성 메모리를 포함하는 저장 장치로서, 메모리 컨트롤러(120)로부터 수신되는 데이터를 저장하거나(write) 메모리 컨트롤러(120)로 데이터를 제공할 수 있다(read). 또한, 비휘발성 메모리 장치(140)는 메모리 컨트롤러(120)의 제어에 따라 저장되어 있는 데이터를 이레이즈할 수 있다. 복수의 비휘발성 메모리는 메모리 컨트롤러(120)의 요청에 따라 복수의 버스를 통해 데이터의 저장 또는 제공이 병렬로 이루어질 수 있다. 또한, 비휘발성 메모리 장치(140)는 적어도 2 이상의 커맨드 인터페이스를 지원할 수 있는 멀티 펑션 PCIe 디바이스(multi-function PCIe device)로 설계될 수 있다. 복수의 비휘발성 메모리는 예를 들면, 플래시 메모리(Flash Memory), 상변화 메모리(Phase Change Random Access Memory; PRAM) 또는 저항성 메모리(Resistive Random Access Memory; RRAM)일 수 있으나, 이에 한정되는 것은 아니다. 또한, 메모리 컨트롤러(120) 및 비휘발성 메모리 장치(140) 사이에 데이터의 전송 속도를 높이고 작업 효율을 증대하기 위한 버퍼(미도시)로서 DRAM(Dynamic Random Access Memory)이 더 포함될 수 있다. 또한, 일 실시예로 반도체 저장장치(100)는 솔리드 스테이트 드라이브(Solid State Drive) 또는 SD 카드로 구현될 수 있다. 또한 메모리 컨트롤러(120)는 SSD 컨트롤러일 수 있다.
도 2는 본 발명의 실시예에 따른 반도체 저장장치(100)를 나타내는 블록도이다. 도 3은 컨트롤러에 인가되는 입력전압과 컨트롤러의 동작 주파수 관계, 컨트롤러의 동작 주파수와 컨트롤러의 성능 관계 및 컨트롤러에 인가되는 입력 전압과 컨트롤러의 수명 관계를 그래프로 나타낸 도면이다.
도 2를 참조하면, 반도체 저장장치(100)는 메모리 컨트롤러(120) 및 비휘발성 메모리 장치(140)를 포함한다. 메모리 컨트롤러(120)는 호스트 인터페이스(host interface, 121), 성능 제어부(122), CPU(Central processing unit, 123) 및 정보 버퍼부(Information buffer, 124)를 포함할 수 있다. 호스트 인터페이스(121)는 도 1의 호스트(10)로부터 명령(예를 들어, 리드 명령, 라이트 명령 및 이레이즈 명령) 및 데이터를 수신하고, 비휘발성 메모리 장치(140)로부터 리드된 데이터를 내부 버스(125)로부터 수신하여 도 1 의 호스트(10)로 전송할 수 있다. 호스트 인터페이스(121)는 PCIe(Peripheral Component Interconnect express) 방식의 PCIe 인터페이스 모듈로 구현될 수 있으나, 이에 한정되지는 않는다.
성능 제어부(122)는 도 3에 나타난 관계 그래프를 기반으로 메모리 컨트롤러(120)의 성능 레벨을 제어할 수 있다. 도 3을 참조하면, 그림(a)는 메모리 컨트롤러(120)에 인가되는 입력 전압(Input Voltage, IV)와 메모리 컨트롤러(120)의 동작 주파수(Operating frequency, OF)의 관계에 관한 것으로 입력 전압(IV)이 커질수록 동작 주파수(OF)도 커지게 되어, 서로 비례관계에 해당한다. 그림(b)는 메모리 컨트롤러(120)의 동작 주파수(OF)와 메모리 컨트롤러(120)의 성능 레벨(Performance Level, PL)의 관계에 관한 것으로 동작 주파수(OF)가 커질수록 성능 레벨(PL)이 향상되어, 서로 비례관계에 해당한다. 또한, 그림(c)는 메모리 컨트롤러(120)에 인가되는 입력 전압(IV)과 메모리 컨트롤러(120)의 감소수명량(Lifetime-decrease-amount, LTDA)의 관계에 관한 것으로 입력 전압(IV)이 클수록 감소수명량(LTDA)도 크게되어, 서로 비례관계에 해당한다. 감소수명량(LTDA)은 메모리 컨트롤러(120)의 호스트의 동일한 동작 명령에 대응한 동작 수행에 의하여 수명이 감소하는 정도를 나타낸 것으로, 더 큰 레벨을 가지는 입력 전압(IV)이 메모리 컨트롤러(120)에 인가될수록, 메모리 컨트롤러(120)의 감소수명량(LTDA)도 더 크다.
성능 제어부(122)는 메모리 컨트롤러(120)의 성능 레벨(PL)을 제어하기 위하여, 동작 주파수(OF)를 제어할 수 있다. 예를 들면, 성능 레벨(PL)을 향상시키기 위하여 동작 주파수(OF)를 크게 제어할 수 있다. 일 실시예로, 동작 주파수(OF)를 제어하기 위하여, 메모리 컨트롤러(120)에 인가되는 입력 전압(IV)의 레벨을 제어할 수 있다. 다만, 입력 전압(IV)의 레벨이 클수록 메모리 컨트롤러(120)의 감소수명량(LTDA)가 커지게 되므로, 메모리 컨트롤러(120)의 기대사용시간을 만족하지 못하게되는 문제가 발생할 수 있다. 따라서, 성능 제어부(122)는 메모리 컨트롤러(120)의 기대사용시간을 고려하여, 메모리 컨트롤러의 수명(12)에 관련한 수명정보를 기반으로, 메모리 컨트롤러(120)의 성능 레벨(PL)의 향상을 제한할 수 있다.
예를 들면, 동작 주파수(OF)의 크기와 비례관계에 있는 입력 전압(IV)의 레벨을 제한하는 방법을 통하여 동작 주파수(OF)의 크기를 제한함으로써, 메모리 컨트롤러(120)의 성능 레벨(PL)의 향상을 제한할 수 있다. 또한, 동작 주파수(OF)의 크기를 줄임으로써, 메모리 컨트롤러(120)의 성능 레벨(PL)을 작게할 수도 있을 것이다. 다만, 이는 입력 전압(IV)의 레벨의 제어를 통하여, 동작 주파수(OF)의 크기를 제어하는 것에 국한되지 않으며, 다양한 방법으로 동작 주파수(OF)의 크기를 제어할 수 있다.
정보 버퍼부(124)는 메모리 컨트롤러(120)의 초기 수명, 감소 수명 및 잔여 수명 등 중 적어도 어느 하나를 포함하는 수명정보와 단위시간당 처리된 명령의 수, 단위 시간당 기록 및 읽은 데이터 량 등 중 적어도 어느 하나에 해당할 수 있는 메모리 컨트롤러(120)의 성능 레벨을 포함하는 성능 정보를 저장할 수 있다. 또한, 메모리 컨트롤러(120)의 전원이 꺼지기 전에, 상기 저장한 수명 정보와 성능 정보를 비휘발성 메모리 장치(140)에 저장할 수 있으며, 메모리 컨트롤러(120)의 전원이 온 된 경우, 비휘발성 메모리 장치(140)에 저장한 상기 수명 정보와 상기 성능 정보를 정보 버퍼부(124)에 로딩할 수 있다.
성능 제어부(122)는 정보 버퍼부(124)로부터 상기 수명정보 및 상기 성능 정보를 수신받아, 상기 수명 정보 및 상기 성능 정보를 기반으로, 메모리 컨트롤러(120)의 성능 레벨을 제어할 수 있다.
CPU(123)는 비휘발성 메모리 장치(140)로/로부터 데이터 기록/읽기를 위한 제반 제어 동작을 수행할 수 있다. 메모리 컨트롤러(120)의 성능 레벨은 CPU(123)의 성능 레벨을 의미할 수 있다. CPU(123)의 성능 레벨이 향상되는 경우 상기 데이터 기록/읽기를 위한 제반 제어 동작 수행을 빠르게 할 수 있다.
CPU(123)의 성능 레벨을 제어하기 위하여, 성능 제어부(122)는 CPU(123)에 제공되는 클록 주파수의 크기를 제어할 수 있다. 도 3의 그림(b)와 같이 클록 주파수의 크기와 CPU(123)의 성능 레벨은 서로 비례관계에 해당할 수 있다. 일 실시예로, 성능 제어부(122)의 클록 주파수의 크기를 크게하여 CPU(123)의 성능 레벨을 크게 제어하거나, 클록 주파수의 크기를 작게하여 CPU(123)의 성능 레벨을 작게 제어할 수 있다.
본 발명의 실시예에 따른 메모리 컨트롤러(120)에 따르면, 메모리 컨트롤러(120)의 수명정보와 메모리 컨트롤러(120)의 성능 정보를 기반으로 메모리 컨트롤러(120)의 성능 레벨을 제어함으로써, 메모리 컨트롤러(120)의 기대사용시간을 만족하는 동시에 효율적이고 빠른 데이터 입출력을 구현할 수 있는 효과가 있다.
도 4는 본 발명의 일 실시예에 따른 메모리 컨트롤러(220)의 블록도이다. 도 5a 는 컨트롤러의 동작 주파수의 크기와 컨트롤러의 수명의 관계를 나타낸 그래프이고, 도 5b는 컨트롤러의 수명과 컨트롤러의 기대사용시간의 관계 및 컨트롤러의 성능 레벨 향상을 제한하기 위한 기준을 설명하기 위한 그래프이다.
도 4를 참조하면, 메모리 컨트롤러(220)는 성능 제어부(221), 타이머(222) 및 정보 버퍼부(223)를 포함한다.
도 4 및 도 5a를 참조하면, 그림(a)에서 사용시간(Using Time, UT)의 Ⅰ구간 및 Ⅲ 구간은 F1 값을 가지는 구동 주파수(OF)로 메모리 컨트롤러를 구동하고, Ⅱ 구간은 F1 값보다 큰 F2 값을 가지는 구동 주파수(OF)로 메모리 컨트롤러(220)를 구동한다. 각 구간은 호스트의 동일한 동작 명령에 대응하여 메모리 컨트롤러(220)는 동작을 수행한다. Ⅱ 구간에서의 메모리 컨트롤러(220)의 성능 레벨은 Ⅰ구간 및 Ⅲ 구간보다 더 큰 구동 주파수(OF)로 메모리 컨트롤러(220)를 구동하므로, Ⅰ구간 및 Ⅲ 구간의 메모리 컨트롤러(220)의 성능 레벨보다 더 높다. 그림(b)에서는 Ⅰ구간 및 Ⅲ 구간에서는 L1만큼의 메모리 컨트롤러(220)의 수명이 감소되며, Ⅱ 구간에서는 L1보다 큰 L2만큼의 메모리 컨트롤러(220)의 수명이 감소된다. 즉, 메모리 컨트롤러의 성능 레벨이 클수록 메모리 컨트롤러(220)의 수명이 감소되는 양은 더 커지게 된다.
따라서, 성능 제어부(221)가 메모리 컨트롤러(220)의 기대사용시간을 고려하지않고, 메모리 컨트롤러(220)의 성능 레벨을 향상하게되면, 메모리 컨트롤러(220)의 기대사용시간을 만족하기 전에 메모리 컨트롤러(220)의 수명을 모두 소진하게되는 문제가 발생할 수 있다. 따라서, 성능 제어부(221)는 메모리 컨트롤러(220)의 성능 레벨을 제어하기 전에 메모리 컨트롤러(220)의 성능 레벨 향상의 제한여부를 판단할 수 있다.
도 4 및 5b를 참조하면, 그림(a)에서 메모리 컨트롤러(220)는 기대사용시간(EUT)을 만족하여야된다. 따라서, 메모리 컨트롤러(220)의 수명이 초기수명(SLT)로부터 0이 될 때의 사용시간(UT)은 기대사용시간(EUT)보다 크거나 같아야된다. 따라서, 성능 제어부(221)는 컨트롤러의 성능 레벨을 제어함과 동시에 메모리 컨트롤러(220)의 수명이 0이 될 때의 사용시간(UT)을 기대사용시간(EUT)보다 크거나 같도록 제어할 수 있다. 도 5b를 참조하면, 성능 제어부(221)는 메모리 컨트롤러(220)의 성능 레벨 향상의 제한여부를 메모리 컨트롤러(220)의 수명정보를 기반으로 판단할 수 있다. 일 실시예로, 성능 제어부(221)는 후술할 메모리 컨트롤러(220)의 사용시간정보(UTI)가 빗금친 기준사용시간(USRV) 이상의 부분에서 메모리 컨트롤러(220)의 수명정보에 포함되는 메모리 컨트롤러(220)의 수명(LT)이 수명기준값(LTRV)이하에 해당하는 경우, 메모리 컨트롤러(220)의 성능 레벨 향상을 제한할 수 있다. 즉, 메모리 컨트롤러(220)의 수명(LT)이 G2에 해당하는 경우, 성능 제어부(221)는 메모리 컨트롤러(220)의 성능 레벨 향상을 제한할 수 있다. 다만, 다른 실시예로, 메모리 컨트롤러(220)의 수명(LT)이 수명기준값(LTRV)이하에 해당하는지 여부만을 기준으로 판단하여, 성능 제어부(221)는 메모리 컨트롤러(220)의 성능 레벨 향상을 제한할 수 있다. 상기 기준사용시간(USRV) 및 상기 수명기준값(LTRV)은 미리 사용자에 의하여 설정되어 정보 버퍼부(223)에 저장될 수 있으며, 메모리 컨트롤러(220)의 동작 특성 또는 환경 등에 따라 상기 기준사용시간(USRV) 및 상기 수명기준값(LTRV)을 다양하게 조절할 수 있다.
타이머(timer, 222)는 메모리 컨트롤러(220)가 온(On)되어 호스트의 동작 명령에 대응한 동작을 수행하는 시간을 카운트 할 수 있으며, 상기 시간을 사용시간정보(UTI)로서 정보 버퍼부(223)에 저장할 수 있다. 상기 사용시간정보(UTI)는 메모리 컨트롤러(220)가 켜진 후, 호스트 동작명령들에 대응하는 동작들을 수행하기 위하여 사용된 시간을 지칭할 수 있다. 다만, 타이머(222)는 사용시간정보(UTI)를 직접 성능 제어부(221)에 제공할 수 있다. 정보 버퍼부(223)는 성능레벨제한정보(PLI)를 저장할 수 있으며, 상기 성능 제어부(221)에 제공할 수 있다. 성능레벨제한정보(PLI)는 상기 사용시간정보(UTI), 상기 기준사용시간(USRV), 상기 수명기준값(LTRV), 메모리 컨트롤러(220)의 초기 수명, 감소 수명 및 잔여 수명 등 중 적어도 어느 하나를 포함하는 수명 정보와 단위시간당 메모리 컨트롤러(220)에 의해 처리된 명령의 수, 단위 시간당 기록 및 읽은 데이터 량 등 중 적어도 어느 하나에 해당되는 메모리 컨트롤러(120)의 성능 레벨을 포함하는 성능 정보를 포함할 수 있다.
성능 제어부(221)는 정보 버퍼부(223)로부터 수신한 성능레벨제한정보(PLI)를 기반으로, 메모리 컨트롤러(220)의 성능 레벨 향상을 제한할 수 있다. 일 실시예로, 상기 수명정보 및 상기 사용시간정보(UTI)를 기반으로, 메모리 컨트롤러(220)의 제한성능레벨을 설정하여, 성능 제어부(220)가 상기 제한성능레벨 이하로 메모리 컨트롤러(220)의 성능 레벨을 제어할 수 있다. 또한, 성능 제어부(220)는 메모리 컨트롤러(220)의 성능 레벨을 상기 제한성능레벨로 고정할 수 있다. 또 다른 일 실시예로, 성능 제어부(221)는 입력 전압 제한레벨을 설정하고, 제한성능레벨신호(LPLS)를 메모리 컨트롤러(200)에 입력 전압을 제공하는 전원관리회로에 제공함으로써, 제어가능한 입력 전압 레벨을 상기 입력 전압 제한레벨이하로 제한 또는 입력 전압 제한레벨로 고정하는 방법을 통하여, 메모리 컨트롤러(220)의 성능 레벨 향상을 제한할 수 있다.
도 6은 본 발명의 일 실시예에 따른 메모리 컨트롤러(320)를 포함하는 컴퓨터 시스템(1')블록도이다.
도 6을 참조하면, 컴퓨터 시스템(1')는 메모리 컨트롤러(320) 및 비휘발성 메모리 장치(340)를 포함하는 반도체 저장장치(300) 및 반도체 저장장치(300)에 전원을 제공하는 전원관리회로(20)를 포함한다. 메모리 컨트롤러(320)는 성능 제어부(321), 클록신호 생성부(323), CPU(325) 및 정보 버퍼부(327)를 포함한다. 메모리 컨트롤러(320)의 성능 레벨은 CPU(325)의 성능 레벨에 해당할 수 있으며, 성능 제어부(321)는 CPU(325)의 성능 레벨을 제어할 수 있다. 성능 제어부(321)는 CPU(325)에 인가되는 클록 신호(CLK)의 주파수를 변경함으로써, CPU(325)의 성능 레벨을 제어할 수 있다. 일 실시예로 CPU(325)에 인가되는 클록 신호(CLK)의 주파수가 커질수록 CPU(325)의 성능 레벨은 향상될 수 있다. 따라서, 성능 제어부(321)는 CPU(325)의 성능 레벨을 향상이 필요한 경우에는 클록 신호(CLK)의 주파수를 더 크게하여 CPU(325)의 성능 레벨을 향상시킬 수 있다. CPU(325)의 성능 레벨의 향상이 필요하지 않은 경우는 클록 신호(CLK)의 주파수를 종전 클록 신호(CLK)의 주파수로 유지하거나, 작게하여 CPU(325)의 성능 레벨을 유지하거나 낮출 수 있다. 본 발명의 일 실시예로, 성능 제어부(321)는 클록 신호 생성부(323)에 인가되는 입력 전압(IV) 레벨을 제어하는 것을 통하여, CPU(325)에 인가되는 클록 신호(CLK)의 주파수의 크기를 제어할 수 있다. 클록 신호생성부(323)는 입력 전압(IV)의 레벨이 클수록 더 큰 주파수를 가지는 클록 신호(CLK)를 생성할 수 있다. 다만, 클록신호 생성부(323)는 이에 국한되지 않고, 입력 전압(IV)의 레벨이 작을수록 더 큰 주파수를 가지는 클록 신호(CLK)를 생성할 수 있다.
호스트로부터 수신한 동작 명령에 대응한 동작을 반도체 저장장치(300)가 수행시에는 먼저, 성능 제어부(321)가 CPU(325)의 성능 레벨을 제어할 수 있다. CPU(325)의 성능 레벨을 제어하기 전에, 비휘발성 메모리 장치로/로부터 데이터 기록/읽기를 위해 수행하는 제반 제어 동작 관련한 CPU(325)의 동작 상태를 성능 제어부(321)에 알려주기 위하여, CPU(325)는 동작 상태 신호(OSS)를 성능 제어부(321)에 제공할 수 있다. CPU(325)의 동작 상태는 메모리 컨트롤러(320)의 동작 상태와 같은 의미일 수 있다. 수신한 동작 상태 신호(OSS)를 기반으로CPU(325)의 성능 레벨의 향상이 필요한지 여부를 판단할 수 있다. 예를 들면, 호스트(Host)로부터 메모리 컨트롤러(320)이 단위시간당 수신한 읽기 또는 기록 명령의 개수가 일정한 기준값 이상이 되면 CPU(325)의 성능 레벨의 향상이 필요하다고 판단할 수 있다.
성능 제어부(321)는 정보 버퍼부(327)로부터 메모리 컨트롤러(320)의 수명 정보 및 CPU(325)의 성능 레벨을 포함하는 성능 정보를 포함하는 제어 정보(CI)를 수신할 수 있다. 다만, 이에 국한되지 않고, 상기 동작 상태 신호(OSS)와 상기 제어 정보(CI)를 기반으로 CPU(325)의 성능 레벨의 향상이 필요한지 여부를 판단할 수도 있다. 또한, 어느 정도의 CPU(325)의 성능 레벨의 향상 또는 감소가 필요한지도 성능 제어부(321)가 동작 상태 신호(OSS)와 상기 제어 정보(CI)를 기반으로 판단할 수 있으며, 더 나아가, 호스트로부터 수신한 동작 명령을 기반으로 판단할 수 있다.
CPU(325)의 성능 레벨의 향상이 필요하다고 판단되고, CPU(325)의 성능 레벨 향상 정도가 결정되면, 성능 제어부(321)는 클록 신호 생성부(323)에 인가되는 입력 전압(IV)의 레벨을 크게 하기 위한 입력전압제어신호(IVCS)를 전원관리회로(20)에 제공할 수 있다. 전원관리회로(20)는 반도체 저장장치(300)의 외부에 위치할 수 있다. 클록 신호 생성부(323)에 인가되는 입력 전압(IV)의 레벨을 크게하기 위한 입력전압제어신호(IVCS)에 응답하여, 클록 신호 생성부(323)에 종전보다 더 높은 레벨의 입력 전압(IV)을 제공할 수 있다. 이를 통해, 클록 신호 생성부(323)는 종전보다 더 높은 크기의 주파수를 가지는 클록 신호(CLK)를 CPU(325)에 제공할 수 있고, CPU(325)의 성능 레벨은 향상될 것이다.
CPU(325)의 성능 레벨의 향상이 불필요하다 판단되고, CPU(325)의 성능 레벨의 감소 정도가 결정되면, 성능 제어부(321)는 클록 신호 생성부(323)에 인가되는 입력 전압(IV)의 레벨을 작게하기 위한 입력전압제어신호(IVCS)를 전원관리회로(20)에 제공할 수 있다. 클록 신호 생성부(323)에 인가되는 입력 전압(IV)의 레벨을 종전보다 작게하기 위한 입력전압제어신호(IVCS)에 응답하여, 클록 신호 생성부(323)에 종전보다 더 낮은 레벨의 입력 전압(IV)을 제공할 수 있다. 이를 통해, 클록 신호 생성부(323)는 종전보다 더 낮은 크기의 주파수를 가지는 클록 신호(CLK)를 CPU(325)에 제공할 수 있고, CPU(325)의 성능 레벨은 감소될 것이다.
CPU(325)의 성능 레벨의 향상이 불필요하다 판단되고, CPU(325)의 성능 레벨을 유지하는 것으로 결정되는 경우, 성능 제어부(321)는 클록 신호 생성부(323)에 인가되는 입력 전압(IV)의 레벨을 유지하기 위한 입력전압제어신호(IVCS)를 전원관리회로(20)에 제공할 수 있다. 클록 신호 생성부(323)에 인가되는 입력 전압(IV)의 레벨을 유지하기 위한 입력전압제어신호(IVCS)에 응답하여, 클록 신호 생성부(323)에 종전과 같은 레벨의 입력 전압(IV)을 제공할 수 있다. 이를 통해, 클록 신호 생성부(323)는 종전과 같은 주파수를 가지는 클록 신호(CLK)를 CPU(325)에 제공할 수 있고, CPU(325)의 성능 레벨은 유지될 것이다.
이를 통하여, 메모리 컨트롤러(320)의 성능 레벨을 조절함으로써, 빠른 동작이 필요한 경우에는 종전 성능 레벨보다 높은 성능 레벨로, 빠른 동작이 필요하지 않은 경우에는 종전 성능 레벨을 유지 또는 종전 성능 레벨보다 낮은 성능 레벨로 동작함으로써, 메모리 컨트롤러(320)의 기대사용시간을 만족하며 더 빠른 동작을 수행하는 반도체 저장장치(300)을 제공할 수 있다.
도 7a 및 7b는 본 발명의 일 실시예에 따른 성능 레벨 향상이 필요한 CPU(420)를 포함하는 메모리 컨트롤러(400)를 설명하는 도면이다.
도 7a를 참조하면, 메모리 컨트롤러(400)는 호스트 인터페이스(410), CPU(420) 및 성능 제어부(430)를 포함한다. CPU(420)는 HCPU(421) 및 다수의 FCPU(422_a~422_n)을 포함한다. 호스트 인터페이스(410)는 도 1의 호스트(10)로부터 명령(예를 들어, 리드 명령, 라이트 명령 및 이레이즈 명령)을 수신하고, HCPU(421)에 제공할 수 있다. HCPU(421)는 상기 명령을 처리하여, 다수의 FCPU(422_a~422_n)에 처리된 명령(CMDP)을 제공할 수 있다. 다수의 FCPU(422_a~422_n)는 각각 대응하는 비휘발성 메모리 장치(410)가 포함하는 비휘발성 메모리(411~41n)에 상기 처리된 명령(CMDP)에 대응하는 명령들(CMD_1~CMD_n)을 제공할 수 있다.
일 실시예로, 모든 FCPU(422_a~422_n)가 HCPU(421)로부터 수신한 명령(CMDP)에 의하여, 동작을 수행하고 있는 상태에 있는 경우에는 다수의 FCPU(422_a~422_n)의 성능 레벨의 향상이 필요할 수 있다. 예를 들면, 가비지 콜렉션(Garbage collection) 명령을 호스트로부터 CPU(420)가 수신하게 되면, 모든 FCPU(422_a~422_n)가 가비지 콜렉션(Garbage collection) 명령에 대응하여 동작을 수행하게 되므로, 이후에 수신되는 호스트의 명령에 따른 동작을 수행하기 위해서는 가비지 콜렉션 명령에 대응한 빠른 동작 수행이 필요하므로 FCPU(422_a~422_n)의 성능 레벨의 향상이 필요할 수 있다. CPU(420)는 모든 FCPU(422_a~422_n)가 동작을 수행하고 있다는 것을 나타내는 동작 상태 신호(OSS)를 성능 제어부(430)에 제공할 수 있다. 즉, 이러한 경우는 호스트(Host)로부터 메모리 컨트롤러(420)가 단위시간당 수신한 읽기 또는 기록 명령의 개수가 일정한 기준값 이상이 될 수 있으므로, FCPU(422_a~422_n)의 성능 레벨의 향상이 필요할 수 있다.
도 7b를 참조하면, HCPU(421)의 큐(Queue)는, 호스트 인터페이스(410)으로부터 수신한 제 1명령(CMD1)을 저장할 수 있다. HCPU(421)는 제1 명령(CMD1)을 모두 처리완료(done)하고 후에 호스트 인터페이스(410)으로부터 제2 명령(CMD2)을 수신할 수 있다. 따라서, 호스트 인터페이스(410)으로부터 다수의 명령을 수신받아야 되는 경우에는HCPU(421)의 제 1명령(CMD1)을 빠르게 처리할 수 있어야 된다. 따라서, HCPU(421)의 성능 레벨의 향상이 필요할 수 있다. CPU(420)는 HCPU(421)는 현재 제 1명령(CMD1)을 처리하고, 제 2 명령(CMD2)를 수신하여야 되는 상태를 나타내는 동작 상태 신호(OSS)를 성능 제어부(430)에 제공할 수 있다. 즉, 이러한 경우는 호스트(Host)로부터 메모리 컨트롤러(320)가 단위시간당 수신한 읽기 또는 기록 명령의 개수가 일정한 기준값 이상이 될 수 있으므로, HCPU(421)의 성능 레벨의 향상이 필요할 수 있다.
다만, 이는 일 실시예로, CPU(420)의 다수의 상태에 따라 다른 동작 상태 신호(OSS)를 성능 제어부(430)에 제공함으로써, 성능 제어부(430)가 상기 동작 상태 신호(OSS)를 기반으로, CPU(420)의 성능 레벨 제어할 수 있다.
도 8은 본 발명의 다른 실시예에 따른 메모리 컨트롤러(520)의 블록도이다.
도 8을 참조하면, 메모리 컨트롤러(520)는 성능 제어부(521), 타이머(522) 및 정보 버퍼부(523)를 포함한다. 성능 제어부(521)는 수명정보연산부(521a)를 포함한다. 호스트로부터 수신한 동작 명령에 대응하는 동작을 메모리 컨트롤러(520)가 수행하는 데 걸린 시간에 해당하는 동작 수행시간 및 상기 동작을 수행하는 시점에서의 상기 컨트롤러의 성능 레벨을 기반으로 감소수명을 생성할 수 있다. 상기 동작 수행시간은 타이머(522)에서 카운트할 수 있다. 이를 통하여, 정보 버퍼부(523)에 저장된 수명정보가 포함하는 잔여수명으로부터 상기 감소수명을 차감하여 새로운 잔여 수명을 포함하는 새로운 수명정보(NLI)를 생성할 수 있다. 여기서 상기 수명정보는 상기 동작 수행 전의 메모리 컨트롤러(520)의 수명관련 정보이다. 성능 제어부(521)는 새로운 수명정보(NLI)를 정보 버퍼부(523)에 제공할 수 있으며, 정보 버퍼부(523)는 새로운 수명정보(CLI)를 저장함으로써, 수명정보를 업데이트 할 수 있다. 정보 버퍼부(523)는 메모리 컨트롤러(520)의 전원이 꺼지기 전에, 업데이트된 상기 수명정보는 비휘발성 메모리 장치에 저장할 수 있으며, 메모리 컨트롤러(520)의 전원이 켜진 경우에는 상기 비휘발성 메모리 장치로부터 업데이트된 상기 수명정보를 로딩(loading)할 수 있다.
또한, 성능 제어부(521)에서 제어한 상기 동작 수행시점에서의 메모리 컨트롤러(520)의 성능 레벨을 새로운 성능레벨정보(NPLI)로서 정보 버퍼부(523)에 제공할 수 있으며, 정보 버퍼부(523)는 새로운 성능레벨정보(CPLI)를 저장하여 성능 정보를 업데이트 할 수 있다.
타이머(522)는 상기 동작 수행시간을 카운트하여, 사용시간정보(UTI)로서 정보 버퍼부(523)에 제공할 수 있으며, 정보 버퍼부(523)는 상기 사용시간정보(UTI)와 기존의 사용시간정보와 합산하여, 총 사용시간정보를 저장할 수 있다. 정보 버퍼부(523)는 메모리 컨트롤러(520)의 전원이 꺼지기 전에, 업데이트된 상기 총 사용시간정보를 비휘발성 메모리 장치에 저장할 수 있으며, 메모리 컨트롤러(520)의 전원이 켜진 경우에는 상기 비휘발성 메모리 장치로부터 업데이트된 상기 총사용시간정보를 로딩(loading)할 수 있다.
도 9는 본 발명의 일 실시예에 따른 컨트롤러의 성능 레벨을 제어하는 방법을 나타낸 순서도이다.
도 9를 참조하면, 먼저 메모리 컨트롤러는 호스트로부터 동작 명령을 수신한다(S100). 메모리 컨트롤러의 수명 정보를 기반으로, 상기 메모리 컨트롤러의 성능 레벨 향상의 제한 여부를 판단한다(S110). 상기 메모리 컨트롤러의 성능 레벨 향상의 제한이 필요한 경우, 상기 메모리 컨트롤러의 수명 정보 및 메모리 컨트롤러의 사용시간정보를 기반으로 메모리 컨트롤러의 제한성능레벨을 설정한다(S120). 설정된 상기 메모리 컨트롤러의 제한성능레벨 이하로, 상기 메모리 컨트롤러의 성능 레벨을 제어한다(S130). 또 다른 실시예로 상기 메모리 컨트롤러의 성능 레벨을 설정된 상기 메모리 컨트롤러의 제한성능레벨로 고정할 수 있다. 상기 메모리 컨트롤러의 성능 레벨 향상의 제한이 필요하지 않은 경우, 상기 메모리 컨트롤러의 수명정보 및 성능 정보를 기반으로 레벨의 제한 없이 다양한 레벨로 상기 메모리 컨트롤러의 성능 레벨을 제어할 수 있다(S140).
도 10은 본 발명의 일 실시예에 따른 도 9의 S140 단계 이후의 순서도이다
도 10을 참조하면, 메모리 컨트롤러의 성능 레벨을 제어하기 전에 메모리 컨트롤러의 성능 레벨 향상이 필요한지 여부를 판단한다(S141). 상기 메모리 컨트롤러의 동작 상태에 기반하여, 상기 메모리 컨트롤러의 성능 레벨 향상이 필요한지 여부를 판단할 수 있다. 상기 메모리 컨트롤러의 성능 레벨 향상이 필요한 경우, 상기 메모리 컨트롤러의 수명 정보, 상기 메모리 컨트롤러의 성능 정보 등을 기반으로 상기 메모리 컨트롤러의 성능 레벨을 향상시키도록 제어한다(S142). 상기 메모리 컨트롤러의 성능 레벨 향상이 필요없는 경우, 상기 메모리 컨트롤러의 성능 레벨을 상기 메모리 컨트롤러의 수명 정보, 상기 메모리 컨트롤러의 성능 정보 등을 기반으로 메모리 컨트롤러의 성능 레벨을 유지하거나 낮춘다(S143).
도 11 은 도 1에 도시된 메모리 컨트롤러(120)를 포함하는 컴퓨터 시스템(1000)의 실시 예를 나타낸다.
도 11을 참조하면, 도 1에 도시된 메모리 컨트롤러(120)를 포함하는 컴퓨터 시스템(1000)은 PC(personal computer), 네트워크 서버(Network Server), 태블릿 (tablet) PC, 넷-북(net-book), e-리더(e-reader), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 또는 MP4 플레이어로 구현될 수 있다.
컴퓨터 시스템(1000)은 호스트(1200), 비휘발성 메모리 장치(1400), 비휘발성 메모리 장치(1400)의 데이터 처리 동작을 제어할 수 있는 메모리 컨트롤러(1300), 디스플레이(1100) 및 입력 장치(1500)를 포함한다. 호스트(1200)는 입력 장치(620))를 통하여 입력된 데이터에 따라 비휘발성 메모리 장치(1400)에 저장된 데이터를 디스플레이(1100)를 통하여 디스플레이할 수 있다. 예컨대, 입력 장치(1500)는 터치 패드 또는 컴퓨터 마우스와 같은 포인팅 장치, 키패드, 또는 키보드로 구현될 수 있다. 호스트(1200)는 컴퓨터 시스템(1000)의 전반적인 동작을 제어할 수 있고, 메모리 컨트롤러(1300)의 동작을 제어할 수 있다. 실시 예에 따라 비휘발성 메모리 장치(1400)의 동작을 제어할 수 있는 메모리 컨트롤러(1300)는 호스트(1200)와 별도의 칩으로 구현될 수 있다.
메모리 컨트롤러(1300)는 도 1등에서 서술한 것과 같이, 메모리 컨트롤러(1300)의 기대사용시간을 만족하면서, 메모리 컨트롤러(1300)의 성능 레벨을 제어함으로써, 호스트(1200)의 동작 명령에 대응하여 빠른 동작 수행을 가능하게 할 수 있다.
도 12 는 도 1에 도시된 메모리 컨트롤러(120)를 포함하는 컴퓨터 시스템(3000)의 다른 실시 예를 나타낸다.
도 12를 참조하면, 도 1에 도시된 메모리 컨트롤러(120)를 포함하는 컴퓨터 시스템(2000)은 이미지 처리 장치(Image Process Device), 예컨대 디지털 카메라 또는 디지털 카메라가 부착된 이동 전화기 또는 스마트 폰으로 구현될 수 있다.
컴퓨터 시스템(2000)은 호스트(2200), 비휘발성 메모리 장치(2400) 와 비휘발성 메모리 장치(2400)의 데이터 처리 동작, 예컨대 라이트 동작, 리드 동작 또는 이레이즈 동작을 제어할 수 있는 메모리 컨트롤러(2300)를 포함한다. 또한, 컴퓨터 시스템(2000)은 이미지 센서(2100) 및 디스플레이(2500)를 더 포함한다.
컴퓨터 시스템(2000)의 이미지 센서(2100)는 광학 이미지를 디지털 신호들로 변환하고, 변환된 디지털 신호들은 호스트(2200) 또는 메모리 컨트롤러(2300)로 전송된다. 호스트(2200)의 제어에 따라, 상기 변환된 디지털 신호들은 디스플레이(2500)를 통하여 디스플레이되거나 또는 메모리 컨트롤러(2300)를 통하여 비휘발성 메모리 장치(2400)에 저장될 수 있다.
메모리 컨트롤러(2300)는 도 1등에서 서술한 것과 같이, 메모리 컨트롤러(2300)의 기대사용시간을 만족하면서, 메모리 컨트롤러(2300)의 성능 레벨을 제어함으로써, 호스트(2200)의 동작 명령에 대응하여 빠른 동작 수행을 가능하게 할 수 있다.
또한, 비휘발성 메모리 장치(2400)에 저장된 데이터는 호스트(2200) 또는 메모리 컨트롤러(2300)의 제어에 따라 디스플레이(2500)를 통하여 디스플레이된다. 실시 예에 따라 비휘발성 메모리 장치(2400)의 동작을 제어할 수 있는 메모리 컨트롤러(2300)는 호스트(2200)와 별개의 칩으로 구현될 수 있다.
도 13는 도 1에 도시된 메모리 컨트롤러(120)를 포함하는 컴퓨터 시스템(3000)의 또 다른 실시 예를 나타낸다.
도 13를 참조하면, 도 13에 도시된 메모리 컨트롤러(120)을 포함하는 컴퓨터 시스템(3000)은 호스트 컴퓨터(Host Computer)와 메모리 카드(memory card) 또는 스마트 카드(smart card)로 구현될 수 있다. 컴퓨터 시스템(3000)은 호스트 컴퓨터(3100)와 메모리 카드(3200)을 포함한다.
호스트 컴퓨터(3100)는 호스트(3110) 및 호스트 인터페이스(3120)을 포함한다. 메모리 카드(3200)는 비휘발성 메모리 장치(3230), 메모리 컨트롤러(3220) 및 카드 인터페이스(3210)를 포함한다. 메모리 컨트롤러(3220)는 비휘발성 메모리 장치(3230)와 카드 인터페이스(3210) 사이에서 데이터의 교환을 제어할 수 있다. 실시 예에 따라, 카드 인터페이스(3210)는 SD(secure digital) 카드 인터페이스 또는 MMC(multi-media card) 인터페이스일 수 있으나 이에 한정되는 것은 아니다.
메모리 카드(3200)가 호스트 컴퓨터(3100)에 장착되면, 카드 인터페이스(3210)는 호스트(3110)의 프로토콜에 따라 호스트(3110)와 메모리 컨트롤러(3220) 사이에서 데이터 교환을 인터페이스할 수 있다.
메모리 컨트롤러(3220)는 도 1등에서 서술한 것과 같이, 메모리 컨트롤러(3220)의 기대사용시간을 만족하면서, 메모리 컨트롤러(3220)의 성능 레벨을 제어함으로써, 호스트(3110)의 동작 명령에 대응하여 빠른 동작 수행을 가능하게 할 수 있다.
실시 예에 따라 카드 인터페이스(840)는 USB(Universal Serial Bus) 프로토콜, IC(InterChip)-USB 프로토콜을 지원할 수 있다. 여기서, 카드 인터페이스라 함은 호스트 컴퓨터(3100)가 사용하는 프로토콜을 지원할 수 있는
하드웨어, 상기 하드웨어에 탑재된 소프트웨어, 또는 신호 전송 방식을 의미할 수 있다. 컴퓨터 시스템(3000)이 PC, 태블릿 PC, 디지털 카메라, 디지털 오디오 플레이어, 이동 전화기, 콘솔 비디오 게임 하드웨어, 또는 디지털 셋-탑 박스와 같은 호스트 컴퓨터(3100)의 호스트 인터페이스(3120)와 접속될 때, 호스트 인터페이스(3120)는 호스트(3110)의 제어에 따라 카드 인터페이스(3210)와 메모리 컨트롤러(3220)를 통하여 비휘발성 메모리 장치(3230) 와 데이터 통신을 수행할 수 있다. 본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 비휘발성 메모리 장치; 및
    상기 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함하며,
    상기 메모리 컨트롤러는,
    상기 메모리 컨트롤러의 상태 정보를 기반으로, 호스트로부터 수신한 명령에 대응한 동작을 수행시에 상기 메모리 컨트롤러의 성능 레벨을 제어하는 성능 제어부를 포함하며,
    상기 상태 정보는 상기 메모리 컨트롤러의 성능 정보 또는 상기 메모리 컨트롤러의 수명 정보를 포함하는 것을 특징으로 하는 반도체 저장장치.
  2. 삭제
  3. 제 1항에 있어서,
    상기 성능 정보는,
    상기 동작을 수행하기 전의 상기 성능 레벨을 포함하고,
    상기 수명 정보는,
    상기 메모리 컨트롤러의 초기 수명, 감소 수명 및 잔여 수명 중 적어도 하나를 포함하는 것을 특징으로 하는 반도체 저장 장치.
  4. 제 1항에 있어서,
    상기 성능 레벨은,
    단위시간당 상기 메모리 컨트롤러에 의하여 처리된 명령의 수, 단위 시간당 상기 메모리 컨트롤러에 의하여 기록 및 읽은 데이터량 중 적어도 하나에 해당하는 것을 특징으로 하는 반도체 저장장치.
  5. 제 4항에 있어서,
    상기 호스트의 동작 명령에 대응한 상기 메모리 컨트롤러의 동작 수행 시간을 카운트하여, 상기 메모리 컨트롤러의 사용시간정보를 생성하는 타이머를 더 포함하고,
    상기 사용시간정보가 기준사용시간정보 이상이고, 상기 수명정보가 기준수명정보 이하에 해당하는 경우,
    상기 수명정보와 상기 사용시간정보를 기반으로, 상기 메모리 컨트롤러의 제한성능 레벨을 설정하여, 상기 성능 제어부가 상기 제한성능 레벨 이하로 상기 메모리 컨트롤러의 성능 레벨을 제어하도록 하는 것을 특징으로 하는 반도체 저장장치.
  6. 제 5항에 있어서,
    상기 성능 제어부는,
    상기 동작 명령에 대응한 동작을 수행할 때에, 상기 메모리 컨트롤러의 성능 레벨의 향상이 필요한지 여부를 상기 메모리 컨트롤러의 동작 상태에 기반하여, 판단하고, 상기 판단 결과를 기반으로 상기 메모리 컨트롤러의 성능 레벨을 제어하는 것을 특징으로 하는 반도체 저장장치.
  7. 제 6항에 있어서,
    상기 성능 제어부는,
    상기 메모리 컨트롤러의 성능 레벨의 향상이 필요한 경우, 입력 전압의 레벨을 올리고, 상기 메모리 컨트롤러의 성능 레벨의 향상이 필요없는 경우, 상기 입력 전압의 레벨을 낮추거나, 유지하도록 제어하는 것을 특징으로 하는 반도체 저장장치.
  8. 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법에 있어서,
    호스트로부터 동작 명령을 수신하는 단계;
    상기 메모리 컨트롤러의 수명 정보를 기반으로, 상기 메모리 컨트롤러의 성능 레벨 향상의 제한 여부를 판단하는 단계;
    상기 메모리 컨트롤러의 성능 레벨 향상의 제한 여부 판단 결과에 기반하여, 상기 메모리 컨트롤러의 성능 레벨을 제어하는 단계; 및
    상기 동작 명령에 대응한 동작을 수행하는 단계;를 포함하고,
    상기 메모리 컨트롤러의 성능 레벨 향상의 제한 여부를 판단하는 단계;는
    상기 메모리 컨트롤러의 동작 수행 시간을 카운트(count)하여 생성한 사용시간정보가 기준사용시간정보 이상이고, 상기 수명정보가 기준수명정보 이하에 해당하는지 여부를 판단하는 단계;를 더 포함하는 것을 특징으로 하는 메모리 컨트롤러의 동작 방법.
  9. 삭제
  10. 제 8항에 있어서,
    상기 메모리 컨트롤러의 성능 레벨을 제어하는 단계는,
    상기 메모리 컨트롤러의 동작 수행 시간을 카운트(count)하여 생성한 상기 사용시간정보가 상기 기준사용시간정보 이상이고, 상기 수명정보가 상기 기준수명정보 이하에 해당하는 경우, 상기 메모리 컨트롤러의 제한 성능 레벨을 설정하는 단계; 및
    설정된 상기 메모리 컨트롤러의 상기 제한 성능 레벨 이하로 상기 메모리 컨트롤러의 성능 레벨을 제어하는 단계;를 더 포함하는 것을 특징으로 하는 메모리 컨트롤러의 동작 방법.
KR1020150013546A 2015-01-28 2015-01-28 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 반도체 저장장치 KR102349422B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150013546A KR102349422B1 (ko) 2015-01-28 2015-01-28 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 반도체 저장장치
US14/959,089 US9804790B2 (en) 2015-01-28 2015-12-04 Method of operating memory controller and semiconductor storage device including memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150013546A KR102349422B1 (ko) 2015-01-28 2015-01-28 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 반도체 저장장치

Publications (2)

Publication Number Publication Date
KR20160092760A KR20160092760A (ko) 2016-08-05
KR102349422B1 true KR102349422B1 (ko) 2022-01-10

Family

ID=56434093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150013546A KR102349422B1 (ko) 2015-01-28 2015-01-28 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 반도체 저장장치

Country Status (2)

Country Link
US (1) US9804790B2 (ko)
KR (1) KR102349422B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102339779B1 (ko) * 2015-04-06 2021-12-15 삼성전자주식회사 데이터 저장 장치, 이를 포함하는 데이터 처리 시스템, 및 상기 시스템의 작동 방법
KR20220084844A (ko) 2020-12-14 2022-06-21 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR20220142781A (ko) * 2021-04-15 2022-10-24 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130182507A1 (en) 2012-01-13 2013-07-18 Gilad Marko Memory system temperature calibration

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564288B2 (en) 2000-11-30 2003-05-13 Hewlett-Packard Company Memory controller with temperature sensors
US7512029B2 (en) 2006-06-09 2009-03-31 Micron Technology, Inc. Method and apparatus for managing behavior of memory devices
KR20080039021A (ko) 2006-10-31 2008-05-07 삼성전자주식회사 집적 회로 시스템 및 그 제어 방법
US7525860B2 (en) 2007-04-30 2009-04-28 Qimonda North American Corp. System and method for monitoring temperature in a multiple die package
KR100967003B1 (ko) 2008-05-29 2010-07-02 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 그 동작 방법
US8862807B2 (en) 2010-08-20 2014-10-14 Samsung Electronics Co., Ltd. Semiconductor storage device and method of throttling performance of the same
KR101265894B1 (ko) 2010-12-31 2013-05-20 충북대학교 산학협력단 반도체 메모리 소자의 리프레쉬 제어장치 및 이를 이용한 리프레쉬 제어방법
US8472274B2 (en) 2011-03-02 2013-06-25 Apple Inc. Using temperature sensors with a memory device
KR101962784B1 (ko) 2012-10-09 2019-03-27 삼성전자주식회사 온도에 따라 차별화된 리드 동작 및 라이트 동작을 갖는 반도체 메모리 장치
KR20140107890A (ko) 2013-02-28 2014-09-05 에스케이하이닉스 주식회사 메모리, 이를 포함하는 메모리 시스템 및 메모리 콘트롤러의 동작 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130182507A1 (en) 2012-01-13 2013-07-18 Gilad Marko Memory system temperature calibration

Also Published As

Publication number Publication date
US20160216899A1 (en) 2016-07-28
KR20160092760A (ko) 2016-08-05
US9804790B2 (en) 2017-10-31

Similar Documents

Publication Publication Date Title
CN107179996B (zh) 数据存储装置和其操作方法
US8291131B2 (en) Data transfer management
US8392649B2 (en) Memory storage device, controller, and method for responding to host write commands triggering data movement
US10324645B2 (en) Data storage device and data storage method thereof
US9324435B2 (en) Data transmitting method, memory control circuit unit and memory storage apparatus
EP3872641B1 (en) Storage device and method of operating the storage device
CN111506516A (zh) 数据存储装置及数据存储装置的操作方法
US9436267B2 (en) Data storage device
KR101925870B1 (ko) Ssd 콘트롤러 및 그의 제어 방법
US20200218653A1 (en) Controller, data storage device, and operating method thereof
KR20120090194A (ko) 데이터 처리 장치 및 이를 포함하는 데이터 처리 시스템
KR20150055413A (ko) 데이터 저장 장치
KR20160025292A (ko) 데이터 저장 장치, 그것을 포함하는 데이터 처리 시스템 및 그것의 동작 방법
KR20200139433A (ko) 컨트롤러의 동작 방법 및 메모리 시스템
US8621140B2 (en) Flash memory apparatus for controlling operation in response to generation of interrupt signal and method of controlling the same
US9324444B2 (en) Data storage device
KR20200114052A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR102349422B1 (ko) 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 반도체 저장장치
US11455186B2 (en) Controller and memory system having the same
KR20210144249A (ko) 저장 장치 및 이의 동작 방법
KR20200114086A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR20100120518A (ko) 데이터 저장 장치 및 그것의 읽기 커멘드 처리 방법
KR20150041873A (ko) 데이터 처리 시스템
JP7443418B2 (ja) 情報処理装置の製造方法、及び情報処理装置
EP2393011A1 (en) Controller for solid state disk, which controls simultaneous switching of pads

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant