KR20150120213A - 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법 - Google Patents

동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법 Download PDF

Info

Publication number
KR20150120213A
KR20150120213A KR1020140046190A KR20140046190A KR20150120213A KR 20150120213 A KR20150120213 A KR 20150120213A KR 1020140046190 A KR1020140046190 A KR 1020140046190A KR 20140046190 A KR20140046190 A KR 20140046190A KR 20150120213 A KR20150120213 A KR 20150120213A
Authority
KR
South Korea
Prior art keywords
memory system
memory
information
temperature
performance
Prior art date
Application number
KR1020140046190A
Other languages
English (en)
Other versions
KR102211126B1 (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 KR1020140046190A priority Critical patent/KR102211126B1/ko
Priority to US14/601,552 priority patent/US10198214B2/en
Priority to CN201510179610.7A priority patent/CN105047216B/zh
Publication of KR20150120213A publication Critical patent/KR20150120213A/ko
Priority to US16/241,488 priority patent/US11093166B2/en
Application granted granted Critical
Publication of KR102211126B1 publication Critical patent/KR102211126B1/ko
Priority to US17/357,084 priority patent/US11960752B2/en
Priority to US18/045,948 priority patent/US11972136B2/en

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/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/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
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법이 개시된다. 본 발명의 일실시예에 따른 메모리 시스템의 동작방법에 있어서, 상기 메모리 시스템은 메모리 콘트롤러 및 메모리 장치를 포함하고, 외부로부터 온도에 따른 성능 레벨 정보를 수신하고, 수신된 성능 레벨 정보를 상기 메모리 콘트롤러에 저장하는 단계와, 상기 메모리 시스템의 동작 성능을 제1 레벨의 성능으로 설정하는 단계와, 상기 메모리 시스템 내부의 온도를 검출하는 단계 및 상기 온도 검출 결과에 따라, 외부로부터의 제어에 무관하게 상기 메모리 콘트롤러의 제어하에서 상기 성능 레벨 정보에 기반하여 상기 메모리 시스템의 동작 성능을 제2 레벨의 성능으로 조절하는 단계를 구비하는 것을 특징으로 한다.

Description

동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법{Memory System controlling an operation performance and Operating Method thereof}
본 발명은 메모리 시스템 및 메모리 시스템의 동작방법에 관한 것으로, 자세하게는 온도 검출 결과에 따라 단계별 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법에 관한 것이다.
메모리 시스템은 크게 휘발성 메모리 시스템과 불휘발성 메모리 시스템으로 분류될 수 있다. 불휘발성 메모리는 전원의 공급이 차단되어도 저장하고 있는 데이터를 유지하는 반면에, 휘발성 메모리는 전원의 공급이 차단되는 경우 데이터가 삭제된다. 불휘발성 메모리는 ROM(Read Only Memory), 자기 디스크, 광학 디스크 및 플래시(Flash) 메모리, RRAM, PRAM 및 MRAM 등을 포함한다. 또한, 플래시 메모리는 MOS 트랜지스터의 문턱전압의 변화에 따라 데이터를 저장하는 메모리를 말하고, 낸드(NAND) 및 노어(NOR) 플래시 등을 포함한다.
한편 메모리 시스템이 고성능으로 동작하게 되면 시스템 내부의 온도가 상승하게 되며, 이로 인하여 시스템 내부의 소자의 오동작을 유발하거나 시스템 내부 소자의 손상이 발생될 수 있다. 이에 따라 온도 상승으로부터 메모리 시스템을 보호할 필요가 있다.
본 발명의 기술적 사상은, 온도 상승으로부터 시스템 내부의 소자의 손상을 방지할 수 있는 메모리 시스템 및 메모리 시스템의 동작방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일실시예에 따른 메모리 시스템의 동작방법에 있어서, 상기 메모리 시스템은 메모리 콘트롤러 및 메모리 장치를 포함하고, 외부로부터 온도에 따른 성능 레벨 정보를 수신하고, 수신된 성능 레벨 정보를 상기 메모리 콘트롤러에 저장하는 단계와, 상기 메모리 시스템의 동작 성능을 제1 레벨의 성능으로 설정하는 단계와, 상기 메모리 시스템 내부의 온도를 검출하는 단계 및 상기 온도 검출 결과에 따라, 외부로부터의 제어에 무관하게 상기 메모리 콘트롤러의 제어하에서 상기 성능 레벨 정보에 기반하여 상기 메모리 시스템의 동작 성능을 제2 레벨의 성능으로 조절하는 단계를 구비하는 것을 특징으로 한다.
바람직하게는, 상기 온도에 따른 성능 레벨 정보는, 다수의 온도 단계들 각각에 대응하는 성능 레벨에 관련된 정보를 포함하는 테이블 정보인 것을 특징으로 한다.
또한 바람직하게는, 상기 외부로부터의 온도에 따른 성능 레벨 정보는 상기 메모리 시스템의 부팅시 또는 런타임 동작 중에 수신되는 것을 특징으로 한다.
또한 바람직하게는, 상기 메모리 시스템의 동작방법은, 검출된 온도 값을 현재 온도 정보로서 저장하는 단계 및 상기 검출된 온도 값에 따른 성능 레벨 정보를 현재의 성능 레벨 정보로서 업데이트하는 단계를 더 구비하는 것을 특징으로 한다.
또한 바람직하게는, 상기 온도에 따른 성능 레벨 정보에 기반하여, 상기 메모리 시스템 내부 클록의 주파수가 변동되는 것을 특징으로 한다.
또한 바람직하게는, 상기 온도에 따른 성능 레벨 정보에 기반하여, 외부로부터의 제1 커맨드에 대응하는 제1 응답의 딜레이가 가변되는 것을 특징으로 한다.
또한 바람직하게는, 상기 메모리 시스템은 다수 개의 메모리 칩들을 포함하며, 상기 온도에 따른 성능 레벨 정보에 기반하여, 동시에 억세스되는 메모리 칩들의 개수가 가변되는 것을 특징으로 한다.
또한 바람직하게는, 상기 메모리 시스템의 동작방법은, 외부로부터의 요청에 응답하여 현재 성능 레벨 정보를 전송하는 단계와, 상기 외부로부터 성능 설정 정보를 수신하는 단계 및 상기 메모리 시스템에 저장된 성능 레벨 정보와 무관하게, 상기 외부로부터의 성능 설정 정보에 따른 성능으로서 메모리 동작을 수행하는 단계를 더 구비하는 것을 특징으로 한다.
또한 바람직하게는, 상기 메모리 시스템은 SSD(Solid State Drive) 또는 메모리 카드인 것을 특징으로 한다.
또한 바람직하게는, 상기 성능 레벨 정보에는 각각의 온도 단계에 대응하는 시간 정보가 포함되고, 상기 시간 정보를 참조함에 의하여, 상기 메모리 시스템 내부의 온도가 특정 단계를 소정의 시간 동안 유지할 때 상기 메모리 시스템의 동작 성능이 제2 레벨의 성능으로 조절되는 것을 특징으로 한다.
한편, 본 발명의 다른 실시예에 따른 메모리 시스템의 동작방법은, 제1 커맨드의 수신에 응답하여 상기 메모리 시스템의 온도에 관련된 제1 정보를 전송하는 단계와, 상기 제1 정보에 연관되는 제1 성능 레벨 정보를 수신하고 이를 저장하는 단계와, 상기 제1 성능 레벨 정보에 대응하여 제1 레벨 성능에 따라 메모리 시스템 동작을 수행하는 단계와, 상기 제1 커맨드의 수신에 응답하여 상기 메모리 시스템의 온도에 관련된 제2 정보를 전송하는 단계와, 상기 제2 정보에 연관되는 제2 성능 레벨 정보를 수신하고 이를 저장하는 단계 및 상기 제2 성능 레벨 정보에 대응하여 제2 레벨 성능에 따라 메모리 시스템 동작을 수행하는 단계를 구비하는 것을 특징으로 한다.
바람직하게는, 상기 제1 커맨드는 리드 커맨드 또는 라이트 커맨드인 것을 특징으로 한다.
또한 바람직하게는, 상기 제1 커맨드는 상기 메모리 시스템 동작과 무관하게 상기 메모리 시스템과 호스트 사이에 협의된 별도의 커맨드인 것을 특징으로 한다.
또한 바람직하게는, 상기 제1 레벨 성능 및 상기 제2 레벨 성능에 따라, 상기 메모리 시스템과 호스트 사이에 응답의 딜레이가 변동되는 것을 특징으로 한다.
또한 바람직하게는, 상기 메모리 시스템의 동작방법은, 상기 온도의 변동에 따라, 메모리에 저장된 제1 정보를 상기 제2 정보로 업데이트하는 단계 및 온도 정보의 변동에 따라, 상기 메모리에 저장된 제1 성능 레벨 정보를 상기 제2 성능 레벨 정보로 업데이트하는 단계를 더 구비하는 것을 특징으로 한다.
본 발명의 메모리 시스템 및 메모리 시스템의 동작방법에 따르면, 호스트로부터의 테이블 정보를 이용하여 메모리 시스템 자체적으로 온도 조절 동작을 수행하므로, 자체적으로 온도 상승에 따른 내부 소자의 손상을 방지할 수 있는 효과가 있다.
또한, 본 발명의 메모리 시스템 및 메모리 시스템의 동작방법에 따르면, 별도의 협의된 커맨드나 채널 없이도 호스트와 메모리 시스템 사이의 온도 정보 및/또는 성능 설정 정보가 인-밴드 커맨드(In-Band Command)에 의해 송수신될 수 있으므로, 메모리 시스템을 효율적으로 관리할 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 메모리 시스템을 포함하는 데이터 처리 시스템의 일 구현예를 나타내는 블록도이다.
도 2는 도 1의 메모리 콘트롤러의 일 구현예를 나타내는 블록도이다.
도 3은 도 2에 도시된 불휘발성 메모리 장치를 상세하게 나타내는 블록도이다.
도 4는 도 1의 불휘발성 메모리 시스템이 SSD로 구현되는 일 예를 나타내는 블록도이다.
도 5는 도 1의 불휘발성 메모리 시스템이 메모리 카드로 구현되는 일 예를 나타내는 블록도이다.
도 6은 본 발명의 일 실시예에 따른 불휘발성 메모리 시스템에 구비되는 메모리 콘트롤러의 자세한 구현 예를 나타내는 블록도이다.
도 7은 메모리 콘트롤러의 성능 레벨 조절 동작의 일 예를 나타내는 블록도이다.
도 8은 도 7의 메모리 콘트롤러의 동작의 일 예를 나타내는 파형도이다.
도 9는 메모리 콘트롤러의 성능 레벨 조절 동작의 다른 예를 나타내는 블록도이다.
도 10은 도 9의 메모리 콘트롤러의 동작의 일 예를 나타내는 파형도이다.
도 11은 본 발명의 일 실시예에 따른 메모리 시스템의 동작 흐름을 나타내는 도면이다.
도 12는 본 발명의 다른 실시예에 따른 메모리 시스템의 동작 흐름을 나타내는 도면이다.
도 13은 본 발명의 또 다른 실시예에 따른 메모리 시스템의 동작 흐름을 나타내는 도면이다.
도 14는 본 발명의 일 실시예에 따른 메모리 시스템의 동작방법을 나타내는 플로우차트이다.
도 15는 본 발명의 다른 실시예에 따른 메모리 시스템의 동작방법을 나타내는 플로우차트이다.
도 16은 본 발명의 또 다른 실시예에 따른 메모리 시스템의 동작방법을 나타내는 플로우차트이다.
도 17은 본 발명의 일실시예에 따른 불휘발성 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 18은 본 발명의 실시예에 따른 메모리 시스템을 포함하는 컴퓨터 시스템을 나타내는 블록도이다.
도 19a,b는 본 발명의 실시예에 따른 메모리 시스템이 3차원 NAND 플래쉬로 구현되는 일 예를 나타내는 도면이다.
도 20은 본 발명의 일 실시예에 따른 호스트 및 불휘발성 메모리 시스템이 장착된 이동 단말기의 일 예를 나타내는 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시예에 따른 메모리 시스템을 포함하는 데이터 처리 시스템의 일 구현예를 나타내는 블록도이다. 도 1에 도시된 바와 같이, 데이터 처리 시스템(10)은 호스트(100)와 메모리 시스템(200)을 포함할 수 있다. 데이터를 처리하는 기능을 갖는 각종 시스템에 도 1에 도시된 바와 같은 메모리 시스템(200)이 채용될 수 있다. 각종 시스템은 다양한 장치에 해당할 수 있으며, 예컨대 모바일 장치로서 스마트 폰이나 태블릿 등의 장치가 적용될 수 있다.
또한, 메모리 시스템(200)은 다양한 종류의 메모리 장치를 포함할 수 있다. 이하에서는, 메모리 장치의 종류로서 불휘발성 메모리를 중심으로 하여 본 발명의 실시예들이 설명될 것이나, 본 발명의 실시예는 이에 국한될 필요가 없다. 예컨대, 상기 메모리 시스템(200)은 휘발성 메모리 시스템이어도 무방하다.
메모리 시스템(200)은 불휘발성 메모리 장치를 포함할 수 있으며, 예컨대 ROM(Read Only Memory), 자기 디스크, 광학 디스크 및 플래시(Flash) 메모리 등을 포함할 수 있다. 플래시 메모리는 MOS 트랜지스터의 문턱전압의 변화에 따라 데이터를 저장하는 메모리일 수 있으며, 낸드(NAND) 및 노어(NOR) 플래시 등을 포함할 수 있다. 메모리 시스템(200)은 불휘발성 메모리 시스템을 포함하는 eMMC, SD, Micro SD, UFS(Universal Flash Storage) 등의 메모리 카드나 SSD(Solid State Drive)로 구현될 수 있으며, 이하 메모리 시스템(200)의 구성 및 동작을 설명함에 있어서 상기 메모리 시스템(200)은 불휘발성 메모리 시스템(200)인 것으로 가정할 수 있다. 또한, 호스트(100)는 모바일 장치 등에 장착되는 SoC(System On Chip) 형태의 어플리케이션 프로세서(AP)를 포함할 수 있으며, 또는 컴퓨터 시스템에 포함되는 중앙 처리 장치(CPU)를 포함할 수 있다.
호스트(100)는 어플리케이션 프로세서(AP, 110)를 포함할 수 있다. 또한, 어플리케이션 프로세서(110)는 다양한 IP들을 포함할 수 있으며, 상기 IP로서 외부의 불휘발성 메모리 시스템(200)을 제어하기 위한 메모리 장치 드라이버(111)를 포함할 수 있다. 호스트(100)는 불휘발성 메모리 시스템(200)와 통신하여 메모리 동작에 대한 명령(Command)을 전송하고 이에 대한 응답(Confirm)을 수신할 수 있다.
한편, 불휘발성 메모리 시스템(200)은 메모리 콘트롤러(210)와 메모리 장치(220)를 포함할 수 있다. 메모리 콘트롤러(210)는 호스트(100)로부터 메모리 동작에 관련된 명령(Command)을 수신하고, 이를 이용하여 내부 커맨드 및 내부 클록 신호를 생성하여 메모리 장치(220)로 제공할 수 있다. 메모리 장치(220)는 내부 커맨드에 응답하여 기록 데이터를 메모리 셀 어레이에 저장하거나, 내부 커맨드에 응답하여 독출 데이터를 메모리 콘트롤러(210)로 제공할 수 있다.
메모리 장치(220)는 전원이 차단되어도 저장하고 있는 데이터를 보존할 수 있는 메모리 셀 어레이를 포함한다. 이러한 메모리 셀로서, 메모리 셀 어레이는 낸드(NAND) 또는 노어(NOR) 플래시 메모리, MRAM(Magnetic Random Access Memory), RRAM(Resistance RAM), FRAM(Ferroelectric RAM) 또는 PCM(Phase Change Memory) 등을 포함할 수 있다. 일예로서, 메모리 셀 어레이가 낸드(NAND) 플래시 메모리를 포함하는 경우, 상기 메모리 셀 어레이는 다수 개의 블록 및 페이지들을 포함할 수 있으며, 데이터의 프로그램(program) 및 독출은 페이지(page) 단위로 수행되는 반면, 데이터의 소거(erease)는 블록(block) 단위로 수행될 수 있다.
본 발명의 실시예에 따르면, 호스트(100)와 불휘발성 메모리 시스템(200) 사이에서 인-밴드 커맨드(In-Band Command)를 이용하여 온도 및/또는 성능에 관련된 정보가 송수신될 수 있다. 또는 다른 실시예로서, 호스트(100)가 불휘발성 메모리 시스템(200)의 성능 레벨(Performance Level)을 조절하기 위한 성능 설정 정보가 송수신될 수 있다. 일예로서, 데이터 처리 시스템(10)의 동작 초기(또는, 시스템 부팅시)에 호스트(100)는 온도별 시스템 성능 정보를 갖는 테이블 정보(Info_table)를 불휘발성 메모리 시스템(200)으로 제공할 수 있으며, 불휘발성 메모리 시스템(200)는 상기 테이블 정보(Info_table)를 수신하고 이를 저장할 수 있다. 또는, 데이터 처리 시스템(10)의 런타임(Run-time) 동작 중에 상기 테이블 정보(Info_table)가 호스트(100)에서 불휘발성 메모리 시스템(200)으로 제공될 수 있다. 불휘발성 메모리 시스템(200)는 그 내부에 DRAM이나 SRAM 등의 휘발성 메모리를 포함할 수 있으며, 상기 테이블 정보(Info_table)는 휘발성 메모리에 저장될 수 있다.
테이블 정보(Info_table)는 다양한 정보를 포함할 수 있다. 예컨대, 테이블 정보(Info_table)는 온도 정보와 함께, 온도에 따른 성능 레벨에 관련된 정보를 포함할 수 있으며, 또한 성능 레벨을 변경하기 위한 기준이 되는 시간 정보를 포함할 수 있다. 온도 정보는 다수의 단계들로 구분될 수 있으며, 불휘발성 메모리 시스템(200) 내부의 온도의 단계가 변동되는 경우, 이에 대응하여 불휘발성 메모리 시스템(200)의 성능 레벨이 조절될 수 있다.
메모리 동작 중, 불휘발성 메모리 시스템(200)은 주기적으로 시스템 내부의 온도를 검출하고, 그 검출 결과에 따라 테이블 정보(Info_table)를 참조하여 시스템 성능 레벨을 조절할 수 있다. 또한, 호스트(100)로부터의 기 정해진 명령(Command)을 수신함에 응답하여, 현재 불휘발성 메모리 시스템(200) 내부의 온도에 관련된 정보 및 시스템 성능 레벨에 관련된 정보를 호스트(100)로 제공할 수 있다. 상기 온도에 관련된 정보 및 시스템 성능 레벨에 관련된 정보는 다양한 명령(Command)에 대응하여 제공될 수 있으며, 예컨대 리드나 라이트 등의 일반 메모리 명령에 대응하여 제공되거나, 또는 호스트(100)와 불휘발성 메모리 시스템(200) 사이에 협의된 별도의 명령에 대응하여 제공되어도 무방하다.
불휘발성 메모리 시스템(200)이 상대적으로 고성능으로 동작함에 따라 시스템 내부 온도가 상승될 수 있으며, 이 경우 테이블 정보(Info_table)를 참조하여 시스템 성능 레벨을 낮출 수 있으며 이에 따라 시스템 내부 온도가 감소될 수 있다. 온도에 대한 검출 동작은 주기적으로 수행되며, 시스템 내부 온도가 다시 낮아지면 불휘발성 메모리 시스템(200)은 테이블 정보(Info_table)를 참조하여 시스템 성능 레벨을 높일 수 있다. 테이블 정보(Info_table)는 다수 개의 온도 단계들 및 이에 대응하는 시스템 성능 레벨에 관련된 정보를 포함할 수 있으며, 불휘발성 메모리 시스템(200)는 호스트(100)의 제어와 무관하게 자동으로 시스템 성능 레벨을 조절할 수 있다.
도 2는 도 1의 메모리 콘트롤러(210)의 일 구현예를 나타내는 블록도이다.
도 2에 도시된 바와 같이, 메모리 콘트롤러(210)는 CPU 코어(211), 성능 테이블(212) 및 센서(213)를 포함할 수 있다. CPU 코어(211)는 메모리 콘트롤러(210)의 전반적인 동작을 제어할 수 있으며, 또한 호스트(100)와의 명령 및 응답 동작을 제어할 수 있다. 또한 CPU 코어(211)는 호스트(100)로부터의 명령에 대응하는 메모리 동작을 제어하기 위하여 메모리 장치(220)와 내부 명령, 어드레스 및 데이터 등의 송수신을 제어할 수 있다.
성능 테이블(212)은 시스템 초기 구동시 호스트(100)로부터 제공되는 테이블 정보(Info_table)를 저장할 수 있다. 전술한 바와 같이 시스템 초기 구동시마다 테이블 정보(Info_table)가 호스트(100)로부터 메모리 시스템(200)으로 제공될 수 있으며, 성능 테이블(212)은 DRAM 또는 SRAM 등의 휘발성 메모리를 포함할 수 있다. 테이블 정보(Info_table)는 온도에 따른 시스템 성능 레벨 정보를 포함할 수 있으며, 예컨대 온도의 범위에 따라 다수 단계의 온도에 관련된 정보와 함께, 각각의 온도의 단계에 대응하는 시스템 성능 레벨에 관련된 정보가 포함될 수 있다. 테이블 정보(Info_table)는 CPU 코어(211)에 의해 참조될 수 있으며, 시스템 내부의 온도 검출 결과 및 테이블 정보(Info_table)의 참조 결과에 따라 시스템 성능 레벨이 자동으로 조절될 수 있다.
한편, 센서(213)는 하나 이상의 정보를 검출하기 위한 센서들을 포함할 수 있으며, 예컨대 센서(213)는 시스템 내부의 온도를 검출하기 위한 온도 센서를 포함할 수 있으며, 또한 시간을 측정하기 위한 타이머를 포함할 수 있다. 테이블 정보(Info_table)는 온도 및 시스템 성능 레벨에 관련된 정보를 포함함과 함께, 시간에 관련된 정보를 더 포함할 수 있다. 예컨대, 특정 단계의 온도가 소정의 시간 동안 지속될 때 시스템 성능 레벨을 조절하기 위하여, 각각의 단계에 대응하는 시간 정보가 테이블 정보(Info_table)에 포함될 수 있다. 보다 구체적인 예로서, 시스템 내부의 온도가 60도 내지 70도 사이의 값을 가짐에 따라 제1 레벨의 성능으로 동작하는 도중, 시스템 내부의 온도가 70도 내지 80도 사이의 값을 소정 시간동안 유지하는 경우 시스템의 성능을 제2 레벨(제1 레벨에 비해 낮은 성능을 갖는)로 조절할 수 있다.
도 3은 도 2에 도시된 불휘발성 메모리 장치(220)를 상세하게 나타내는 블록도이다.
도 3을 참조하면, 불휘발성 메모리 장치(220)는 메모리 셀 어레이(221), 제어 로직(control logic; 222), 전압 생성부(2213), 로우 디코더(224) 및 페이지 버퍼(225)를 포함할 수 있다.
메모리 셀 어레이(221)는 하나 이상의 스트링 선택 라인(SSL), 복수의 워드 라인들(WL) 및 하나 이상의 접지 선택 라인(GSL)에 연결될 수 있으며, 또한 복수의 비트 라인들(BL)에 연결될 수 있다. 메모리 셀 어레이(221)는 복수의 워드 라인들(WL) 및 복수의 비트 라인들(BL)이 교차하는 영역들에 배치되는 복수의 메모리 셀들을 포함할 수 있다.
제어 로직(222)은 메모리 컨트롤러(210)로부터 커맨드(CMD, 또는 내부 커맨드) 및 어드레스(ADD)를 수신할 수 있으며, 또한 불휘발성 메모리 장치(220) 내부의 각종 기능블록들을 제어하기 위한 제어신호(CTRL)를 메모리 컨트롤러(210)로부터 수신할 수 있다. 제어 로직(222)은 커맨드(CMD), 어드레스(ADD) 및 제어 신호(CTRL)를 기초로 하여, 메모리 셀 어레이(221)에 데이터를 기록하거나 메모리 셀 어레이(221)로부터 데이터를 독출하기 위한 각종 제어 신호를 출력할 수 있다. 이로써, 제어 로직(222)은 메모리 장치(220) 내의 각종 동작을 전반적으로 제어할 수 있다.
제어 로직(222)에서 출력된 각종 제어 신호는 전압 생성부(223), 로우 디코더(224) 및 페이지 버퍼(225)에 제공될 수 있다. 구체적으로, 제어 로직(222)은 전압 생성부(223)에 전압 제어 신호(CTRL_vol)를 제공할 수 있고, 로우 디코더(224)에 로우 어드레스(X_ADD)를 제공할 수 있으며, 페이지 버퍼(225)에 칼럼 어드레스(Y_ADD)를 제공할 수 있다.
전압 생성부(223)는 전압 제어 신호(CTRL_vol)를 기초로 하여 메모리 셀 어레이(221)에 대한 프로그램, 독출 및 소거 동작을 수행하기 위한 다양한 종류의 전압들을 생성할 수 있다. 구체적으로, 전압 생성부(223)는 복수의 워드 라인들(WL)을 구동하기 위한 제1 구동 전압(VWL), 복수의 스트링 선택 라인들(SSL)을 구동하기 위한 제2 구동 전압(VSSL) 및 복수의 라운드 선택 라인들(GSL)을 구동하기 위한 제3 구동 전압(VGSL)을 생성할 수 있다. 이때, 제1 구동 전압(VWL)은 프로그램 전압(또는 기입 전압), 독출 전압, 소거 전압, 패스 전압 또는 프로그램 검증 전압일 수 있다. 또한, 제2 구동 전압(VSSL)은 스트링 선택 전압, 즉, 온(on) 전압 또는 오프(off) 전압일 수 있다. 나아가, 제3 구동 전압(VGSL)은 그라운드 선택 전압, 즉, 온 전압 또는 오프 전압일 수 있다.
로우 디코더(224)는 복수의 워드 라인들(WL)을 통해 메모리 셀 어레이(221)에 연결되고, 제어 로직(222)으로부터 수신한 로우 어드레스(X_ADD)에 응답하여 복수의 워드 라인들(WL) 중 일부 워드 라인을 활성화할 수 있다. 구체적으로, 독출 동작 시에 로우 디코더(224)는 선택된 워드 라인에 독출 전압을 인가하고, 비 선택된 워드 라인에 패스 전압을 인가할 수 있다.
한편, 프로그램 동작 시에 로우 디코더(224)는 선택된 워드 라인에 프로그램 전압을 인가하고, 비 선택된 워드 라인에 패스 전압을 인가할 수 있다. 본 실시예에서, 프로그램 루프들 중 적어도 하나에서 로우 디코더(224)는 선택된 워드 라인 및 추가 선택된 워드 라인에 프로그램 전압을 인가할 수 있다.
페이지 버퍼(225)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(221)에 연결될 수 있다. 구체적으로, 독출 동작 시에 페이지 버퍼(225)는 감지 증폭기(sense amplifier)로 동작하여 메모리 셀 어레이(221)에 저장된 데이터(Data)를 출력할 수 있다. 한편, 프로그램 동작 시에 페이지 버퍼(225)는 기입 드라이버(write driver)로 동작하여 메모리 셀 어레이(221)에 저장하고자 하는 데이터(Data)를 입력시킬 수 있다.
도 4는 도 1의 불휘발성 메모리 시스템이 SSD(Solid State Drive)로 구현되는 일 예를 나타내는 블록도이다. 도 4에 도시된 바와 같이 불휘발성 메모리 시스템으로서 SSD(300)는 다수의 플래시 메모리 칩들(310), SSD 콘트롤러 및 파워 공급부(330)를 포함할 수 있다.
SSD 콘트롤러(320)는 제1 포트(PT1)를 통해 호스트로부터 수신되는 신호(SIG)에 응답하여 플래시 메모리 칩들(310)을 제어한다. SSD 콘트롤러(320)는 다수의 채널(CH1~CHM)을 통해 플래시 메모리 칩들(310)과 연결될 수 있다. SSD(300)는 보조 전원 장치(330)를 더 구비하여 제2 포트(PT2)를 통해 호스트로부터 전원(PWR)을 입력 받을 수 있다. 다만, 이에 한정되는 것은 아니고, SSD(300)는 호스트 이외의 외부 장치로부터 전원을 공급받을 수 있다. SSD(300)는 제1 포트(PT1)를 통해 호스트의 요청을 처리한 결과(SIG)를 출력할 수 있다.
도 4에 도시된 SSD(300)에서, SSD 콘트롤러(320)는 전술한 실시예에 따른 성능 테이블(321) 및 하나 이상의 센서들(322)을 포함할 수 있다. 하나 이상의 센서들로서 온도 센서(322)가 포함되는 예가 도 4에 도시된다. SSD(300)가 초기 구동됨에 따라, 호스트로부터 온도에 따른 성능 레벨에 관련된 정보를 포함하는 테이블 정보를 수신할 수 있으며, 상기 테이블 정보는 SSD 콘트롤러(320) 내의 성능 테이블(321)에 저장될 수 있다. SSD(300)의 동작 도중에 주기적으로 시스템(예컨대, 메모리 시스템) 내부의 온도가 검출되고, 또한 일정 범위의 온도가 소정의 시간 동안 유지되는지가 검출되며, 상기 검출 결과에 따라 테이블 정보에 기반하여 SSD(300)의 시스템 성능 레벨이 조절될 수 있다.
도 5는 도 1의 불휘발성 메모리 시스템이 메모리 카드로 구현되는 일 예를 나타내는 블록도이다. 메모리 카드(400)는 모바일 장치나 데스크 탑 컴퓨터와 같은 전자기기에 연결하여 사용할 수 있는 휴대용 저장장치가 될 수 있다. 도 5에 도시된 바와 같이, 상기 메모리 카드(400)는 메모리 콘트롤러(410), 불휘발성 메모리 장치(420) 및 포트 영역(430)을 구비할 수 있다.
메모리 카드(400)는 포트 영역(430)을 통해서 외부의 호스트(미도시)와 통신할 수 있고, 메모리 콘트롤러(410)는 불휘발성 메모리 장치(420)를 제어할 수 있다. 메모리 콘트롤러(410)는 프로그램을 저장하는 ROM(미도시)으로부터 프로그램을 읽어서 제어 기능을 수행할 수 있다.
또한, 전술한 실시예에서와 같이, 메모리 콘트롤러(410)는 성능 테이블(411) 및 하나 이상의 센서들로서 온도 센서(412)를 포함할 수 있다. 즉, 메모리 콘트롤러(410)가 초기 구동됨에 따라, 호스트로부터 온도에 따른 성능 레벨에 관련된 정보를 포함하는 테이블 정보를 수신할 수 있으며, 상기 테이블 정보는 메모리 콘트롤러(410) 내의 성능 테이블(411)에 저장될 수 있다. 메모리 카드(400)는 주기적으로 시스템 내부의 온도 및 시간을 검출한 결과에 따라 테이블 정보에 기반하여 메모리 카드(400)의 시스템 성능 레벨을 조절할 수 있다.
도 6은 본 발명의 일 실시예에 따른 불휘발성 메모리 시스템에 구비되는 메모리 콘트롤러의 자세한 구현 예를 나타내는 블록도이다.
도 6에 도시된 바와 같이, 메모리 콘트롤러(500)는 CPU 코어(510), 호스트 인터페이스(520) 및 메모리 인터페이스(530)를 포함할 수 있다. 전술한 바와 같이 CPU 코어(510)는 메모리 콘트롤러(500)의 전반적인 동작을 제어할 수 있으며, 호스트 인터페이스(520)는 소정의 프로토콜(protocol)을 통하여 호스트와 통신할 수 있다. 예컨대, 프로토콜은 eMMC, SD 프로토콜, SATA(Serial ATA), SAS(Serial Attached SCSI), NVMe(NVM Express), USB(Universal Serial Bus), UFS 전송 프로토콜 등이 적용될 수 있으며, 또는 이외에도 다양한 프로토콜의 적용이 가능하다. 또한 메모리 인터페이스(530)는 불휘발성 메모리 장치로 제어 신호, 물리적 주소, 유저 데이터 등을 송신하고, 불휘발성 메모리로부터 요청된 명령에 따른 데이터를 수신할 수 있다. 도 6에서는 일 실시예로서 불휘발성 메모리 장치가 NAND 플래시인 예가 도시된다.
한편, 본 발명의 일 실시예에 따르면, 메모리 콘트롤러(500)는 성능 테이블(540), 현재 상태 저장부(550), 휘발성 메모리(560), 클록 발생부(570), 온도 센서(580) 및 타이머(590)를 더 포함할 수 있다. 휘발성 메모리(560)로서 SRAM이 도시되었으나, 이외에도 DRAM 등 다른 휘발성 메모리가 적용되어도 무방하다. 또한, 성능 테이블(540) 및 현재 상태 저장부(550)는 성능 정보를 저장하는 저장 수단을 포함할 수 있으며, 전술한 바와 같이 DRAM 또는 SRAM 등의 휘발성 메모리를 포함할 수 있다.
성능 테이블(540)는 시스템 동작 초기에 호스트로부터 전송된 성능 레벨 정보를 저장할 수 있다. 전술한 실시예에서와 동일 또는 유사하게, 호스트로부터 테이블 정보가 수신되어 성능 테이블(540)에 저장될 수 있으며, 테이블 정보는 다수의 단계들로 구분되는 온도에 대응하는 성능 레벨 정보와, 성능 레벨을 변경하기 위한 시간적 기준값으로서 시간 정보를 포함할 수 있다. 현재 상태 저장부(550)는 온도 센서(580)로부터 검출된 현재 온도 정보를 저장함과 함께, 현재 설정된 성능 레벨에 관련된 정보를 저장할 수 있다.
한편, 휘발성 메모리(560)는 시스템 구동과 관련된 각종 정보를 저장할 수 있다. 예컨대, 시스템 구동시 불휘발성 메모리(미도시)에 저장된 시스템 운용에 관련된 정보가 휘발성 메모리(560)에 저장될 수 있으며, 또한 CPU 코어(510)의 제어하에서 현재 레벨의 성능을 수행하기 위한 정보(예컨대, 호스트와의 신호 송수신을 위한 딜레이 정보) 등이 휘발성 메모리(560)에 설정될 수 있다.
클록 발생부(570)는 PLL 등을 포함할 수 있으며, 메모리 콘트롤러(500) 내부에서 메모리 제어 동작에 이용되는 클록 신호를 생성할 수 있다. 또한 클록 발생부(570)는 메모리 장치와의 신호 송수신을 위하여 메모리 장치로 제공되는 클록 신호를 생성할 수 있다. 온도 센서(580)에서 검출된 온도 정보에 따라, 클록 발생부(570)에서 생성되는 클록 신호의 주파수가 변동될 수 있다. 일예로서, 메모리 콘트롤러(500)를 포함하는 메모리 시스템이 고성능으로 동작함에 따라 시스템 내부 온도가 상승될 수 있으며, 이 경우 시스템의 성능 레벨을 낮춤으로써 시스템 내부 온도를 감소시킬 수 있으며, 성능 레벨을 낮추기 위한 일 예로서 클록 발생부(570)에서 생성되는 클록 신호의 주파수를 낮출 수 있다. 한편, 타이머(590)는 전술한 실시예에서와 같이 현재 온도가 기 정해진 범위 내에서 소정의 시간 동안 유지되는지 검출하기 위하여 이용될 수 있다.
본 발명의 일 실시예에 따른 메모리 시스템의 구체적인 동작 예를 설명하면 다음과 같다. 도 7은 메모리 콘트롤러의 성능 레벨 조절 동작의 일 예를 나타내는 블록도이다.
먼저, 도 7의 (a)에 도시된 바와 같이, 메모리 시스템의 동작 초기에 호스트로부터 온도에 따른 성능 레벨 정보를 포함하는 테이블 정보가 메모리 콘트롤러(600)로 제공된다. 메모리 콘트롤러(600)의 성능 테이블(640)은 상기 수신된 테이블 정보를 저장한다. 테이블 정보로서, 온도에 관련된 정보, 성능 레벨에 관련된 정보와 시간에 관련된 정보가 성능 테이블(640)에 저장될 수 있다.
도 7의 (a)를 참조하면, 온도가 제1 단계(T40 이하)인 경우, 상기 온도가 제1 시간(Time0) 동안 제1 단계가 유지되는 경우 성능 레벨이 제1 레벨(Perf0)이 되도록 설정될 수 있다. 또는, 온도가 제2 단계(T60 이하)인 경우, 상기 온도가 제2 시간(Time1) 동안 제2 단계가 유지되는 경우 성능 레벨이 제2 레벨(Perf1)이 되도록 설정될 수 있다. 이와 유사한 방식에 따라, 성능 테이블(640)에 저장된 테이블 정보에 따라 온도의 단계에 대응하는 성능 단계가 설정되도록 할 수 있다. 도 7의 (a)에는 각 온도 단계 별로 서로 다른 시간이 저장된 것으로 도시되었으나, 시간 정보의 적어도 일부, 또는 모든 시간 정보는 동일한 값을 가져도 무방하다.
이후, 메모리 시스템의 정상 동작이 수행되고, 도 7의 (b)에 도시된 바와 같이 메모리 콘트롤러(600)는 상대적으로 빠른 속도로 동작할 수 있으며, 이에 따라 호스트로부터의 명령에 대응하여 짧은 딜레이를 갖고 호스트에 응신 동작을 수행할 수 있다. 또한, 메모리 시스템의 정상 동작 동안, 온도 센서(680)에 의해 메모리 시스템 내부의 온도가 주기적 또는 비주기적으로 검출될 수 있으며, CPU 코어(610)는 온도 센서(680)로부터의 검출 결과에 기반하여 현재 상태 저장부(650)에 저장된 정보를 업데이트할 수 있다. 예컨대, 시스템 내부의 현재 온도를 나타내는 정보가 현재 상태 저장부(650)에 업데이트될 수 있다. 다른 실시예로서, 전술한 바와 같이 현재 온도가 속하는 단계가 확인되고, 현재 온도가 상기 확인된 단계 내의 값을 소정의 시간 동안 유지할 때 현재 상태 저장부(650)에 저장된 정보가 업데이트될 수 있다.
온도 단계가 변동됨이 검출됨에 따라, 도 7의 (c)에 도시된 바와 같이 현재 상태 저장부(650)에 저장된 성능 레벨 정보가 업데이트될 수 있다. 예컨대, 성능 테이블(640)을 참조하여 현재 온도가 T60 이하일 때 성능 레벨은 제1 단계(Perf0)보다 상대적으로 성능이 낮은 제2 단계(Perf1)로 설정될 수 있으며, 이에 따른 성능 레벨 정보가 현재 상태 저장부(650)에 업데이트된다. CPU 코어(610)는 현재 상태 저장부(650)에 업데이트된 정보에 기반하여 시스템 성능 레벨을 변동할 수 있으며(또는 낮출 수 있으며), 이에 따라 호스트로부터의 명령에 응답하여 상대적으로 큰 딜레이를 가지며 응답을 호스트로 제공할 수 있다.
도 8은 도 7의 메모리 콘트롤러의 동작의 일 예를 나타내는 파형도이다.
도 8에 도시된 바와 같이, 메모리 시스템 동작 초기에 온도에 따른 성능 레벨 정보를 갖는 테이블 정보의 설정을 요청하는 명령이 메모리 시스템으로 제공됨에 따라, 메모리 시스템은 테이블 정보를 저장한다. 이후, 메모리 시스템 내부 온도가 상대적으로 낮은 값을 가짐에 따라, 호스트와 메모리 시스템 사이에서는 짧은 딜레이(Short Latency)를 가지며 신호가 송수신된다. 짧은 딜레이를 가지며 다수의 명령들(Read1~ReadN)에 대한 응답들(Read1 Data~ReadN Data)이 호스트로 전송된다. 또한, 메모리 시스템의 내부 클록은 높은 주파수를 가질 수 있다.
또한, 메모리 시스템의 성능 레벨에 따라 다수의 메모리 칩들 중 동시에 억세스되는 칩의 개수가 가변될 수 있다. 예컨대, 전술한 도 4의 실시예에서 설명된 바와 같이 메모리 시스템은 그 내부에 다수의 메모리 칩들을 포함할 수 있으며, 높은 성능 레벨의 경우 동시에 억세스되는 메모리 칩들의 개수가 많아질 수 있는 반면에, 낮은 성능 레벨의 경우 동시에 억세스되는 메모리 칩들의 개수가 감소될 수 있다. 도 8의 예에서는, 메모리 시스템이 높은 성능 레벨로서 동작하는 경우 8 개의 메모리 칩이 동시에 억세스되는 예가 도시된다.
이후, 메모리 시스템 내부적으로 온도를 검출하는 단계가 수행되고, 메모리 시스템 내부의 온도가 증가함에 따라 상대적으로 높은 온도가 검출된다. 상기 온도 검출 결과와 테이블 정보를 참조하여 성능 레벨 정보가 변경될 수 있으며, 예컨대 성능 레벨을 낮추기 위한 정보가 설정될 수 있다. 이에 따라, 호스트와 메모리 시스템 사이에서는 긴 딜레이(Long Latency)를 가지며 신호가 송수신된다. 예컨대, 긴 딜레이를 가지며 다수의 명령들(ReadM~ReadL)에 대한 응답들(ReadM Data~ReadL Data)이 호스트로 전송된다. 또한, 메모리 시스템의 내부 클록은 높은 주파수를 가질 수 있으며, 동시에 억세스되는 메모리 칩들의 개수는 감소될 수 있다.
이후, 메모리 시스템 내부의 온도가 감소함에 따라 메모리 시스템 내부적으로 상대적으로 중간 단계의 온도가 검출된다. 상기 온도 검출 결과와 테이블 정보를 참조하여 성능 레벨 정보가 변경될 수 있으며, 예컨대 성능 레벨을 중간 레벨로 높이기 위한 정보가 설정될 수 있다. 이에 따라, 중간 딜레이를 가지며 다수의 명령들(ReadT~ReadQ)에 대한 응답들(ReadT Data~ReadQ Data)이 호스트로 전송된다. 또한, 메모리 시스템의 내부 클록은 중간 단계의 주파수를 가질 수 있으며, 동시에 억세스되는 메모리 칩들의 개수는 중간 단계의 개수(예컨대, 6 개)로 증가될 수 있다.
한편, 본 발명의 다른 실시예에 따른 메모리 시스템의 구체적인 동작 예를 설명하면 다음과 같다. 도 9는 메모리 콘트롤러의 성능 레벨 조절 동작의 다른 예를 나타내는 블록도이다.
도 7의 실시예와 동일하게, 도 9의 실시예에서 또한 인-밴드 커맨드(In-Band Command)를 이용하여 호스트와 메모리 시스템 사이에서 온도 정보가 송수신될 수 있으며, 또한 호스트의 관여 하에 메모리 시스템의 성능 레벨을 설정하기 위한 성능 설정 정보가 송수신될 수 있다. 도 9의 실시예에 따르면 성능 테이블이 구비됨이 없이 메모리 시스템의 성능 레벨이 조절될 수 있다.
도 9의 (a)에 도시된 바와 같이, 메모리 시스템이 구동됨에 따라 노멀한 메모리 동작이 수행되고, 이에 따라 소정 레벨의 성능에 따라 호스트와 메모리 시스템 사이에 신호가 송수신될 수 있다. 예컨대, 현재 상태 저장부(750)에는 현재 온도에 관련된 정보와 함께 시스템 성능 레벨에 관련된 정보가 저장될 수 있으며, 상기 저장된 정보에 기반하여 상대적으로 높은 성능에 따라 호스트와 메모리 시스템 사이에 송수신되는 신호는 낮은 딜레이를 가질 수 있다.
이후, 도 7의 (b)에 도시된 바와 같이, 메모리 시스템의 동작 중 주기적으로 또는 비주기적으로 호스트는 메모리 콘트롤러(700)로 시스템 내부의 온도에 관련된 정보의 전송을 요청하는 명령을 전송한다. 상기 명령은 노멀 메모리 동작에 관련된 명령으로서 리드 명령이나 라이트 명령일 수 있다. 또는, 상기 명령은 노멀 메모리 동작에 관련된 명령으로서, 리드 명령이나 라이트 명령과 함께 전송되는 다른 명령일 수 있다. 또는, 상기 명령은 호스트와 메모리 시스템 사이에서 별도로 협의된 명령으로서, 해당 특정 명령에 응답하여 메모리 콘트롤러(700)는 호스트로 온도 정보를 전송할 수 있다. 상기 명령이 수신될 때, CPU 코어(710)의 제어하에서 온도 센서(780)로부터 검출된 현재 온도에 관련된 정보(Cur.Temp)가 현재 상태 저장부(750)에 업데이트될 수 있으며, 또한 현재 온도에 관련된 정보(Cur.Temp)가 상기 호스트로부터의 명령에 대응하는 응답으로서 호스트로 제공될 수 있다.
노멀 리드 명령에 대응하여 현재 온도에 관련된 정보(Cur.Temp)가 제공되는 경우, 리드 명령에 대응하는 데이터와 함께 상기 현재 온도에 관련된 정보(Cur.Temp)가 호스트로 제공될 수 있다. 또한, 노멀 라이트 명령에 대응하여 현재 온도에 관련된 정보(Cur.Temp)가 제공되는 경우, 라이트 명령에 대응하여 데이터의 정상적인 기록 여부를 나타내는 확인 정보와 함께 상기 현재 온도에 관련된 정보(Cur.Temp)가 호스트로 제공될 수 있다. 한편, 별도의 협의된 커맨드에 응답하여 현재 온도에 관련된 정보(Cur.Temp)가 제공되는 경우, 호스트와 메모리 시스템 사이의 별도의 채널을 통해 상기 현재 온도에 관련된 정보(Cur.Temp)가 호스트로 제공될 수 있다.
이후, 도 9의 (c)에 도시된 바와 같이, 호스트는 메모리 시스템으로부터의 온도 정보를 확인하고, 메모리 시스템의 동작 성능 레벨을 조절하기 위한 성능 설정 정보를 메모리 콘트롤러(700)로 제공한다. CPU 코어(710)의 제어하에서 상기 호스트로부터 제공된 성능 설정 정보가 현재 상태 저장부(750)에 업데이트될 수 있다. 만약, 메모리 시스템 내부의 온도가 증가하여 이에 관련된 정보가 호스트로 제공되는 경우, 호스트는 메모리 시스템의 동작 성능을 낮추기 위한 성능 설정 정보를 메모리 콘트롤러(700)로 제공할 수 있으며, 상기 성능 설정 정보가 현재 상태 저장부(750)에 업데이트될 수 있다. 이후, 도 9의 (d)에 도시된 바와 같이, 호스트와 메모리 콘트롤러(700) 사이에서 상대적으로 긴 딜레이를 가지며 각종 명령 및 데이터를 포함하는 신호들이 송수신될 수 있다.
도 10은 도 9의 메모리 콘트롤러의 동작의 일 예를 나타내는 파형도이다.
도 10에 도시된 바와 같이, 메모리 시스템 내부 온도가 상대적으로 낮은 값을 가짐에 따라, 호스트와 메모리 시스템 사이에서는 짧은 딜레이(Short Latency)를 가지며 신호가 송수신된다. 짧은 딜레이를 가지며 다수의 명령들(Read1~ReadN)에 대한 응답들(Read1 Data~ReadN Data)이 호스트로 전송된다. 또한, 메모리 시스템의 내부 클록은 높은 주파수를 가질 수 있으며, 또한 메모리 시스템이 높은 성능 레벨로서 동작하므로 동시에 억세스되는 메모리 칩들의 개수가 상대적으로 많은 값으로서, 예컨대 8 개의 메모리 칩이 동시에 억세스될 수 있다.
이후, 호스트는 메모리 시스템으로 온도 정보의 전송을 요청하는 명령을 제공할 수 있으며, 이에 응답하여 메모리 시스템은 온도를 검출한 결과를 호스트로 전송한다. 호스트는 수신된 온도 검출 결과를 참조하여 메모리 시스템의 성능 레벨을 조절하기 위한 성능 설정 정보 및 조절 명령을 메모리 시스템으로 제공하며, 이에 응답하여 메모리 시스템은 낮은 단계의 성능 레벨 정보를 설정할 수 있다. 이에 따라, 호스트와 메모리 시스템 사이에서는 긴 딜레이(Long Latency)를 가지며 신호가 송수신된다. 예컨대, 긴 딜레이를 가지며 다수의 명령들(ReadM~ReadL)에 대한 응답들(ReadM Data~ReadL Data)이 호스트로 전송된다. 또한, 메모리 시스템의 내부 클록은 높은 주파수를 가질 수 있으며, 동시에 억세스되는 메모리 칩들의 개수는 감소될 수 있다(예컨대, 4 개의 메모리 칩이 동시에 억세스됨). 상기와 같은 동작에 따르면, 메모리 시스템 내부의 온도가 상대적으로 높은 값을 가짐에도 불구하고 메모리 시스템이 여전히 높은 성능 레벨로서 동작하는 구간이 발생될 수 있다.
한편, 낮은 단계의 성능 레벨로서 동작하는 도중 호스트는 다시 메모리 시스템의 내부 온도에 대한 정보의 전송 명령을 메모리 시스템으로 제공할 수 있으며, 메모리 시스템 내부의 온도가 중간 단계를 가짐에 따라 이를 나타내는 온도 정보가 호스트로 제공될 수 있다. 호스트는, 메모리 시스템의 성능 레벨을 중간 단계로 조절하기 위한 성능 설정 정보와 함께, 성능 레벨 조절을 요청하는 명령을 메모리 시스템으로 제공할 수 있다. 이에 따라, 중간 딜레이를 가지며 다수의 명령들(ReadT~ReadQ)에 대한 응답들(ReadT Data~ReadQ Data)이 호스트로 전송된다. 또한, 메모리 시스템의 내부 클록은 중간 단계의 주파수를 가질 수 있으며, 동시에 억세스되는 메모리 칩들의 개수는 중간 단계의 개수(예컨대, 6 개)로 증가될 수 있다.
도 11은 본 발명의 일 실시예에 따른 메모리 시스템의 동작 흐름을 나타내는 도면이다. 도 11에는 메모리 시스템으로서 SSD 장치가 적용되는 예가 도시된다.
도 11에 도시된 바와 같이, 메모리 시스템의 동작 초기에 호스트로부터 메모리 시스템으로 테이블 정보가 제공되고, 메모리 시스템은 해당 테이블 정보를 그 내부의 저장부(예컨대, 휘발성 메모리)에 저장할 수 있다. 이후, 메모리 시스템이 정상 동작함에 따라 리드 또는 라이트 등의 명령이 호스트로부터 메모리 콘트롤러로 제공되며, 소정의 성능 레벨에 따라 메모리 시스템은 메모리 동작을 수행하고 그 결과를 응답(Confirm)으로서 호스트로 제공한다. 현재 메모리 시스템은 상대적으로 높은 성능 레벨을 갖는 것으로 가정할 때 응답(Confirm)이 호스트로 제공되기 까지에는 짧은 딜레이를 갖는다.
메모리 시스템 내부에서 주기적으로 또는 비주기적으로 온도를 검출하는 동작이 수행되고, 온도 검출 결과에 기반하여 메모리 시스템 내부적으로 그 성능 레벨을 조절(Throttling)하는 동작이 수행된다. 만약, 현재 온도가 상대적으로 높은 값을 갖는 제1 단계의 온도에 도달한 것으로 검출된 경우, 상기 검출 결과에 따라 메모리 시스템의 성능 레벨을 낮출 수 있으며, 예컨대 전술한 실시예에서와 같이 현재 온도가 상기 제1 단계의 온도를 소정 시간 동안 유지하는 경우 메모리 시스템의 성능 레벨을 낮출 수 있다.
상기와 같은 성능 레벨의 조절에 따라, 호스트로부터의 리드 또는 라이트 명령에 대응하여 응답이 제공되며, 상기 응답을 제공함에 있어서 그 딜레이가 증가할 수 있다(예컨대, 짧은 딜레이에서 노멀 딜레이로 변동될 수 있다). 이와 함께, 주기적 또는 비주기적으로 온도를 검출하는 동작이 수행되고, 현재 온도가 상대적으로 온도가 더 높은 제2 단계의 온도에 도달한 것으로 검출된 경우, 다시 메모리 시스템의 성능 레벨을 낮추기 위한 조절 동작이 수행될 수 있다. 상기 성능 레벨 조절 동작 이후, 호스트로부터 리드 또는 라이트 명령이 수신되면, 더 큰 딜레이를 가지며 명령에 대한 응답이 호스트로 제공될 수 있다.
도 12는 본 발명의 다른 실시예에 따른 메모리 시스템의 동작 흐름을 나타내는 도면이다.
도 12에 도시된 바와 같이, 호스트와 메모리 시스템 사이에 협의된 특정 명령이 메모리 시스템으로 제공됨에 따라 현재 온도에 관련된 정보 전송이 요청된다. 상기 요청에 응답하여 메모리 시스템은 시스템 내부의 현재 온도를 검출하고, 그 검출 결과를 호스트로 전송한다. 현재 검출된 메모리 시스템의 내부 온도가 노멀한 단계의 온도를 갖는 것으로 가정한다.
시스템 내부의 온도가 노멀한 단계의 온도를 가짐에 따라, 호스트로부터의 리드 또는 라이트 명령에 응답하여 노멀한 성능 레벨로서 응답이 호스트로 제공된다. 이와 같은 메모리 동작이 반복하여 수행될 수 있으며, 소정의 주기에 따라, 또는 비주기적으로 호스트는 현재 온도 정보의 전송을 요청하는 명령을 메모리 시스템으로 전송할 수 있다.
시스템 내부의 현재 온도를 검출한 결과에 따라 현재 온도가 상대적으로 높은 단계를 갖는 경우, 이를 나타내는 온도 정보가 호스트로 제공될 수 있다. 호스트는 상기 온도 정보에 응답하여 메모리 시스템의 성능 레벨을 조절하기 위한 성능 설정 정보를 메모리 시스템으로 제공할 수 있다. 메모리 시스템은 호스트로부터의 성능 설정 정보를 저장하고, 이에 기반하여 메모리 시스템의 성능 레벨을 조절할 수 있다. 예컨대, 현재 메모리 시스템의 온도가 높은 단계를 가짐에 따라, 메모리 시스템의 성능 레벨을 낮출 수 있다. 이후, 호스트로부터 온도 정보의 전송 요청이 수신되고, 현재 검출된 온도가 상대적으로 낮은 단계를 갖는 경우, 이를 나타내는 정보가 호스트로 제공될 것이며, 상기 호스트는 메모리 시스템의 성능 레벨을 높이기 위한 성능 설정 정보를 메모리 시스템으로 제공할 것이다.
도 13은 본 발명의 또 다른 실시예에 따른 메모리 시스템의 동작 흐름을 나타내는 도면이다. 도 13은 도 12의 메모리 시스템의 동작과 유사한 흐름을 갖는 반면에, 노멀 리드 또는 라이트 명령에 응답하여 온도 정보가 호스트로 제공되는 예가 도시된다.
도 13에 도시된 바와 같이, 호스트로부터의 리드 또는 라이트 명령이 메모리 시스템으로 제공됨에 따라, 메모리 시스템은 리드 데이터를 호스트로 제공하거나 또는 라이트 동작이 정상적으로 이루어졌음을 나타내는 응답을 호스트로 제공한다. 상기 리드 데이터 또는 응답은 데이터 송수신을 위한 특정 채널을 통해 전송될 수 있으며, 상기 리드 데이터 또는 응답과 함께 메모리 시스템 내부의 온도 검출 결과가 동일한 채널을 통해 호스트로 제공될 수 있다.
현재 메모리 시스템 내부의 온도가 노멀한 단계를 갖는 경우, 메모리 시스템의 성능 또한 노멀한 레벨로서 수행될 것이다. 이후, 메모리 시스템 내부의 온도가 상승하고, 노멀 리드 또는 라이트 명령에 응답하여 상기 온도 상승을 나타내는 온도 정보가 호스트로 제공되면, 호스트는 메모리 시스템의 성능 레벨을 조절하기 위한 성능 설정 정보를 메모리 시스템으로 제공할 것이다. 메모리 시스템의 온도가 상승됨에 따라, 메모리 시스템은 호스트로부터의 성능 설정 정보에 기반하여 성능 레벨을 낮추기 위한 조절 동작을 수행할 것이다.
도 14는 본 발명의 일 실시예에 따른 메모리 시스템의 동작방법을 나타내는 플로우차트이다.
본 발명의 실시예에 따르면 호스트와 메모리 시스템 사이에 인-밴드 커맨드(In-Band Command)을 이용하여 온도 정보의 전송 및/또는 메모리 시스템의 성능 레벨이 조절되며, 또한 메모리 시스템은 시스템 내부 온도의 검출 결과에 따라서 성능 레벨을 자동으로 조절할 수 있다. 이를 위하여, 메모리 시스템의 초기 동작 시, 메모리 시스템은 호스트로부터 온도에 따른 성능 레벨 정보를 포함하는 테이블 정보를 수신하고 이를 저장한다(S11). 상기 테이블 정보는 다수 개의 온도 단계들 각각에 대응하는 성능 레벨 정보를 포함할 수 있으며, 예컨대 복수 개의 엔트리(Entry)가 구비되고, 각각의 엔트리에 대응하는 온도 단계 정보 및 성능 레벨 정보가 포함될 수 있다. 또한, 성능 레벨을 조절하기 위한 시간적 기준으로서, 각각의 엔트리에 대응하는 시간 정보가 테이블 정보에 더 포함될 수 있다.
메모리 시스템은 주기적으로 또는 비주기적으로 시스템 내부의 온도를 검출함과 함께 타이머를 이용하여 시간을 검출할 수 있다(S12). 만약, 소정의 메모리(예컨대, 전술한 실시예에서의 현재 상태 저장부)에 기 설정되어 저장된 온도 정보가 제1 단계에 해당하고 이에 대응하는 성능 레벨이 제1 레벨에 해당하는 것으로 가정할 때, 현재 시스템 내부의 온도가 변동됨에 따라 현재 시스템 내부의 온도는 제2 단계에 해당되는 것으로 검출될 수 있다. 메모리 시스템은 현재 온도가 소정의 시간 동안 제2 단계에 해당하는지를 검출하고, 소정의 시간 동안 현재 온도가 유지되는 경우 현재 온도 정보가 상기 메모리에 업데이트될 수 있다. 또한, 메모리에 업데이트된 현재 온도 정보에 대응하여 현재 성능 레벨 정보가 설정될 수 있다(S13). 메모리 시스템은 상기 설정된 정보(예컨대, 성능 레벨 정보)에 따라 메모리 시스템의 성능 레벨을 조절할 수 있다.
도 15는 본 발명의 다른 실시예에 따른 메모리 시스템의 동작방법을 나타내는 플로우차트이다.
전술한 실시예에서와 같이, 메모리 시스템은 동작 초기에 호스트로부터 테이블 정보를 수신하고 이를 저장할 수 있으며, 또한 주기적으로 또는 비주기적으로 시스템 내부의 온도를 검출하고 그 검출 결과에 따라 시스템의 성능 레벨을 조절할 수 있다. 이에 따라, 호스트와 메모리 시스템 사이에 명령에 대한 응답의 딜레이가 조절될 수 있으며, 호스트는 현재 메모리 시스템의 성능 레벨에 관련된 정보를 참조할 필요가 발생될 수 있다.
이에 따라, 메모리 시스템은 호스트로부터 현재 성능 레벨에 관련된 정보의 전송을 요청하는 명령을 수신할 수 있다(S21). 상기 성능 레벨 정보 전송 명령은 호스트와 메모리 시스템 사이에 별도로 협의된 명령일 수 있으며, 또는 전술한 실시예에서와 같이 리드 또는 라이트 명령 등의 노멀 명령이 이용될 수 있다.
상기 요청에 응답하여 메모리 시스템은 현재 성능 레벨 정보를 호스트로 전송한다(S22). 호스트는 메모리 시스템의 현재 성능 레벨을 분석하고, 메모리 시스템의 성능 레벨을 조절할 필요가 있는지를 판단하며, 그 판단 결과에 따라 메모리 시스템의 성능 레벨을 강제적으로 조절하기 위한 성능 설정 정보를 전송한다. 메모리 시스템은 상기 호스트로부터의 성능 설정 정보를 수신하고(S23), 상기 호스트로부터의 명령에 따라 성능 레벨을 조절한다(S24). 상기 성능 설정 정보와 함께, 호스트의 요청에 따라 메모리 시스템의 성능 레벨을 조절할 것을 요청하는 명령이 메모리 시스템으로 더 제공될 수 있다.
또한, 호스트는 메모리 시스템에 대한 성능 레벨 강제 설정을 중단할 수 있으며, 이에 따라 메모리 시스템은 호스트로부터 성능 설정 해제 명령을 수신할 수 있다(S25). 상기 해제 명령에 따라, 메모리 시스템은 전술한 실시예에서와 같이 주기적 또는 비주기적 온도 검출 결과에 따라 자체적으로 성능 레벨을 조절할 수 있으며, 예컨대 메모리 시스템 동작 초기에 호스트로부터 제공된 테이블 정보를 참조하여 성능 레벨을 조절할 수 있다(S26).
도 16은 본 발명의 또 다른 실시예에 따른 메모리 시스템의 동작방법을 나타내는 플로우차트이다.
노멀 명령 또는 별도의 명령이 수신되고(S31), 상기 명령에 응답하여 메모리 시스템은 시스템 내부의 온도 및/또는 시간을 검출한다(S32). 또한, 메모리 시스템은 검출 결과에 따라 현재 온도에 관련된 정보를 내부의 소정의 메모리에 저장한다(S33). 이와 함께, 검출된 온도 정보를 호스트로 전송한다(S34).
상기 현재 온도 정보를 메모리에 저장함에 있어서, 타이머를 이용한 시간을 검출하여 현재 온도가 소정의 범위 내의 값을 일정 시간 동안 유지하는지가 검출될 수 있다. 만약, 소정의 범위 내의 값을 일정 시간 유지하지 않는 경우, 메모리 시스템은 메모리에 저장된 기존의 온도 정보를 호스트로 전송할 수 있다. 반면에, 검출된 온도가 소정의 범위 내의 값을 일정 시간 유지하는 경우, 현재 검출된 온도 정보를 호스트로 전송할 수 있다.
호스트는 상기 메모리 시스템으로부터의 온도 정보에 기반하여 메모리 시스템의 성능 레벨을 조절하기 위한 성능 설정 정보를 메모리 시스템으로 전송할 수 있다. 이에 따라, 메모리 시스템은 성능 설정 정보를 수신하고 이를 저장하며(S35), 상기 저장된 성능 설정 정보에 따라 메모리 시스템의 성능 레벨을 조절할 수 있다(S36).
도 17은 본 발명의 일실시예에 따른 불휘발성 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다. 모바일 기기나 데스크 탑 컴퓨터와 같은 컴퓨팅 시스템(800)에서 본 발명의 불휘발성 메모리 시스템은 불휘발성 저장 시스템(850)으로 장착될 수 있다.
본 발명의 일실시예에 따른 컴퓨팅 시스템(800)은 CPU 등을 포함하는 호스트(810), 램(820), 유저 인터페이스(830) 및 장치 드라이버(840)를 포함할 수 있으며, 이들 구성요소는 각각 버스(860)에 전기적으로 연결되어 있다. 불휘발성 저장 시스템(850)은 장치 드라이버(840)과 연결될 수 있다. 호스트(810)는 컴퓨팅 시스템(800) 전체를 제어하고, 유저 인터페이스(830)를 통해서 입력된 유저의 명령에 대응하는 연산을 수행할 수 있다. 램(820)은 호스트(810)의 데이터 메모리 역할을 할 수 있고, 호스트(810)는 장치 드라이버(840)를 통해서 불휘발성 저장 시스템(850)에 유저 데이터를 기록하거나 독출할 수 있다. 또한 도 17에서는 불휘발성 저장 시스템(850)의 동작 및 관리를 제어하기 위한 장치 드라이버(840)가 호스트(810)의 외부에 구비되는 것으로 도시되었으나, 장치 드라이버(840)는 호스트(810)의 내부에 구비되어도 무방하다.
전술한 실시예들과 같이, 호스트(810)와 불휘발성 저장 시스템(850) 사이에서 온도 정보 및 테이블 정보가 송수신될 수 있으며, 예컨대 컴퓨팅 시스템(800)의 초기 동작시 호스트(810)는 불휘발성 저장 시스템(850)으로 테이블 정보를 전송할 수 있다. 불휘발성 저장 시스템(850)은 상기 테이블 정보를 저장하고, 불휘발성 저장 시스템(850) 자체적으로 시스템 내부 온도를 검출하고, 상기 저장된 테이블 정보에 기반하여 성능 레벨을 조절할 수 있다.
도 18은 본 발명의 실시예에 따른 메모리 시스템을 포함하는 컴퓨터 시스템을 나타내는 블록도이다.
도 18에 도시된 바와 같이, 컴퓨터 시스템(900)은 호스트(910)와 주변 장치들(920)을 포함할 수 있으며, 예컨대 주변 장치들(920)로서 메인 메모리로서 동작하는 RAM(921), 저장 장치로서 이용되는 메모리 시스템(922) 및 시스템(예컨대 컴퓨터 시스템) 내부의 온도를 조절하기 위한 팬 유닛(923)을 포함할 수 있다. 본 발명의 실시예에 따른 메모리 시스템은 RAM(921)이나 메모리 시스템(922)에 적용될 수 있다. 이하에서는, 본 발명의 실시예에 따른 메모리 시스템은 도 18의 메모리 시스템(922)에 적용되는 것으로 가정한다.
전술한 실시예에서와 같이 호스트(910)는 메모리 시스템(922)의 동작 초기에 테이블 정보(Info_table)를 제공하며, 호스트(910)로부터의 다양한 명령들에 응답하여 메모리 시스템(922)는 조절 가능한 성능 레벨로서 응답(Confirm)을 호스트(910)로 제공한다. 또한, 호스트(910)의 요청 등에 기반하여 메모리 시스템(922)의 온도 정보(Info_temp)가 호스트(910)로 제공될 수 있으며, 호스트(910)는 메모리 시스템(922)의 성능 레벨을 조절하기 위한 성능 설정 정보(Info_perfset)를 제공할 수 있다.
또한, 컴퓨터 시스템(900) 내부의 온도를 조절하기 위하여 호스트(910)의 관여 하에서 컴퓨터 시스템(900)의 각종 장치들이 제어될 수 있다. 예컨대, 컴퓨터 시스템(900) 내부에 구비되는 팬 유닛(923)을 제어함으로써, 팬 유닛(923)의 회전 속도를 조절하여 컴퓨터 시스템(900)의 내부 온도가 조절될 수 있다. 호스트(910)는 팬 유닛(923)을 제어하기 위한 제어신호(Ctrl_fan)을 생성하여 컴퓨터 시스템(900)으로 제공할 수 있다.
도 19a,b는 본 발명의 실시예에 따른 메모리 시스템이 3차원 NAND 플래쉬로 구현되는 일 예를 나타내는 도면이다. 3차원 NAND 플래쉬는 3차원(또는 수직형, Vertical) NAND(VNAND) 메모리 셀들을 포함할 수 있다. 메모리 셀 어레이가 3차원 메모리 셀들을 포함하는 경우 메모리 셀 어레이의 구현 예를 설명하면 다음과 같다.
도 19a는 본 발명의 실시예에 따른 메모리 시스템에 포함되는 메모리 셀 어레이를 나타내는 블록도이다. 도 19a를 참조하면, 메모리 셀 어레이(Cell Array)는 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 각 메모리 블록(BLK)은 3차원 구조(또는 수직 구조)를 갖는다. 예를 들면, 각 메모리 블록(BLK)은 제 1 내지 제 3 방향들을 따라 신장된 구조물들을 포함한다. 예를 들면, 각 메모리 블록(BLK)은 제 2 방향을 따라 신장된 복수의 낸드 스트링들(NS)을 포함한다. 예를 들면, 제 1 및 제 3 방향들을 따라 복수의 낸드 스트링들(NS)이 제공될 것이다.
각 낸드 스트링(NS)은 비트 라인(BL), 스트링 선택 라인(SSL), 접지 선택 라인(GSL), 워드 라인들(WL), 그리고 공통 소스 라인(CSL)에 연결된다. 즉, 각 메모리 블록은 복수의 비트 라인들(BL), 복수의 스트링 선택 라인들(SSL). 복수의 접지 선택 라인들(GSL), 복수의 워드 라인들(WL), 그리고 공통 소스 라인(CSL)에 연결될 것이다. 메모리 블록들(BLK1~BLKz)은 도 19b을 참조하여 더 상세하게 설명된다.
도 19b는 본 발명의 실시 예에 따른 메모리 블록(BLKi)을 나타내는 회로도이다. 예시적으로, 도 19a의 메모리 셀 어레이(Cell Array)의 메모리 블록들(BLK1~BLKz) 중 하나가 도 19b에 도시된다.
메모리 블록(BLKi)은 복수의 셀 스트링들(CS11~CS41, CS12~CS42)을 포함한다. 복수의 셀 스트링들(CS11~CS41, CS12~CS42)은 행 방향 및 열 방향을 따라 배열되어, 행들 및 열들을 형성할 수 있다. 각 셀 스트링은 접지 선택 트랜지스터(GST), 메모리 셀들(MC1~MC6), 그리고 스트링 선택 트랜지스터(SST)를 포함한다. 각 셀 스트링의 접지 선택 트랜지스터(GST), 메모리 셀들(MC1~MC6), 그리고 스트링 선택 트랜지스터(SST)는 기판과 수직인 높이 방향으로 적층될 수 있다.
복수의 셀 스트링들(CS11~CS41, CS12~CS42)의 행들은 서로 다른 스트링 선택 라인들(SSL1~SSL4)에 각각 연결된다. 예를 들어, 셀 스트링들(CS11, CS12)의 스트링 선택 트랜지스터들(SST)은 스트링 선택 라인(SSL1)에 공통으로 연결된다. 셀 스트링들(CS21, CS22)의 스트링 선택 트랜지스터들(SST)은 스트링 선택 라인(SSL2)에 공통으로 연결된다. 셀 스트링들(CS31, CS32)의 스트링 선택 트랜지스터들(SST)은 스트링 선택 라인(SSL3)에 공통으로 연결된다. 셀 스트링들(CS41, CS42)의 스트링 선택 트랜지스터들(SST)은 스트링 선택 라인(SSL4)에 공통으로 연결된다.
복수의 셀 스트링들(CS11~CS41, CS12~CS42)의 열들은 서로 다른 비트 라인들(BL1, BL2)에 각각 연결된다. 예를 들어, 셀 스트링들(CS11~CS41)의 스트링 선택 트랜지스터들(SST)은 비트 라인(BL1)에 공통으로 연결된다. 셀 스트링들(CS12~CS42)의 스트링 선택 트랜지스터들(SST)은 비트 라인(BL2)에 공통으로 연결된다.
복수의 셀 스트링들(CS11~CS41, CS12~CS42)의 행들은 서로 다른 접지 선택 라인(GSL1~GSL4)에 각각 연결된다. 예를 들어, 셀 스트링들(CS11, CS12)의 접지 선택 트랜지스터들(GST)은 접지 선택 라인(GSL1)에 공통으로 연결된다. 셀 스트링들(CS21, CS22)의 접지 선택 트랜지스터들(GST)은 접지 선택 라인(GSL2)에 공통으로 연결된다. 셀 스트링들(CS31, CS32)의 접지 선택 트랜지스터들(GST)은 접지 선택 라인(GSL3)에 공통으로 연결된다. 셀 스트링들(CS41, CS42)의 접지 선택 트랜지스터들(GST)은 접지 선택 라인(GSL4)에 공통으로 연결된다.
기판(또는 접지 선택 트랜지스터들(GST))으로부터 동일한 높이에 위치한 메모리 셀들은 하나의 워드 라인에 공통으로 연결되고, 서로 다른 높이에 위치한 메모리 셀들은 서로 다른 워드 라인들(WL1~WL6)에 각각 연결될 수 있다. 예를 들어, 메모리 셀들(MC1)은 워드 라인(WL1)에 공통으로 연결된다. 메모리 셀들(MC2)은 워드 라인(WL2)에 공통으로 연결된다. 메모리 셀들(MC3)은 워드 라인(WL3)에 공통으로 연결된다. 메모리 셀들(MC4)은 워드 라인(WL4)에 공통으로 연결된다. 메모리 셀들(MC5)은 워드 라인(WL5)에 공통으로 연결된다. 메모리 셀들(MC6)은 워드 라인(WL6)에 공통으로 연결된다. 셀 스트링들(CS11~CS41, CS12~CS42)의 접지 선택 트랜지스터들(GST)은 공통 소스 라인(CSL)에 공통으로 연결된다.
도 20은 본 발명의 일 실시예에 따른 호스트 및 불휘발성 메모리 시스템이 장착된 이동 단말기의 일 예를 나타내는 도면이다. 이동 단말기(1000)는 기능이 제한되어 있지 않고 응용 프로그램을 통해 상당 부분의 기능을 변경하거나 확장할 수 있는 스마트폰일 수 있다. 이동 단말기(1000)는, 무선기지국과 RF신호를 교환하기 위한 내장 안테나(1010)을 포함하고, 카메라(1030)에 의해 촬영된 영상들 또는 안테나(1010)에 의해 수신되어 복호화된 영상들을 디스플레이하기 위한 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes)화면 같은 디스플레이화면(1020)를 포함한다. 이동 단말기(1000)는 제어버튼, 터치패널을 포함하는 동작 패널(1040)를 포함할 수 있다. 또한 디스플레이화면(1020)이 터치스크린인 경우, 동작 패널(1040)은 디스플레이화면(1020)의 터치감지패널을 더 포함할 수 있다. 이동 단말기(1000)은 음성, 음향을 출력하기 위한 스피커(1080) 또는 다른 형태의 음향출력부와, 음성, 음향이 입력되는 마이크로폰(1050) 또는 다른 형태의 음향입력부를 포함한다. 이동 단말기(1000)는 비디오 및 정지영상을 촬영하기 위한 CCD 카메라와 같은 카메라(1030)를 더 포함한다. 또한, 이동 단말기(1000)는 카메라(1030)에 의해 촬영되거나 이메일(E-mail)로 수신되거나 다른 형태로 획득된 비디오나 정지영상들과 같이, 부호화되거나 복호화된 데이터를 저장하기 위한 저장매체(1070), 그리고 저장매체(1070)를 이동 단말기(1000)에 장착하기 위한 슬롯(1060)을 포함할 수 있다. 저장매체(1070)는 전술한 실시예에서와 같은 불휘발성 메모리 시스템일 수 있으며, 예컨대 SD카드, eMMC, UFS 또는 플라스틱 케이스에 내장된 EEPROM(electrically erasable and programmable read only memory)와 같은 다른 형태의 플래쉬 메모리일 수 있다.
상기한 실시예의 설명은 본 발명의 더욱 철저한 이해를 위하여 도면을 참조로 예를 든 것에 불과하므로, 본 발명을 한정하는 의미로 해석되어서는 안될 것이다. 또한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기본적 원리를 벗어나지 않는 범위 내에서 다양한 변화와 변경이 가능함은 명백하다 할 것이다.

Claims (15)

  1. 메모리 시스템의 동작방법에 있어서, 상기 메모리 시스템은 메모리 콘트롤러 및 메모리 장치를 포함하고,
    외부로부터 온도에 따른 성능 레벨 정보를 수신하고, 수신된 성능 레벨 정보를 상기 메모리 콘트롤러에 저장하는 단계;
    상기 메모리 시스템의 동작 성능을 제1 레벨의 성능으로 설정하는 단계;
    상기 메모리 시스템 내부의 온도를 검출하는 단계; 및
    상기 온도 검출 결과에 따라, 외부로부터의 제어에 무관하게 상기 메모리 콘트롤러의 제어하에서 상기 성능 레벨 정보에 기반하여 상기 메모리 시스템의 동작 성능을 제2 레벨의 성능으로 조절하는 단계를 구비하는 것을 특징으로 하는 메모리 시스템의 동작방법.
  2. 제1항에 있어서,
    상기 온도에 따른 성능 레벨 정보는, 다수의 온도 단계들 각각에 대응하는 성능 레벨에 관련된 정보를 포함하는 테이블 정보인 것을 특징으로 하는 메모리 시스템의 동작방법.
  3. 제1항에 있어서,
    상기 외부로부터의 온도에 따른 성능 레벨 정보는 상기 메모리 시스템의 부팅시 또는 런타임 동작 중에 수신되는 것을 특징으로 하는 메모리 시스템의 동작방법.
  4. 제1항에 있어서,
    검출된 온도 값을 현재 온도 정보로서 저장하는 단계; 및
    상기 검출된 온도 값에 따른 성능 레벨 정보를 현재의 성능 레벨 정보로서 업데이트하는 단계를 더 구비하는 것을 특징으로 하는 메모리 시스템의 동작방법.
  5. 제1항에 있어서,
    상기 온도에 따른 성능 레벨 정보에 기반하여, 상기 메모리 시스템 내부 클록의 주파수가 변동되는 것을 특징으로 하는 메모리 시스템의 동작방법.
  6. 제1항에 있어서,
    상기 온도에 따른 성능 레벨 정보에 기반하여, 외부로부터의 제1 커맨드에 대응하는 제1 응답의 딜레이가 가변되는 것을 특징으로 하는 메모리 시스템의 동작방법.
  7. 제1항에 있어서,
    상기 메모리 시스템은 다수 개의 메모리 칩들을 포함하며,
    상기 온도에 따른 성능 레벨 정보에 기반하여, 동시에 억세스되는 메모리 칩들의 개수가 가변되는 것을 특징으로 하는 메모리 시스템의 동작방법.
  8. 제1항에 있어서,
    외부로부터의 요청에 응답하여 현재 성능 레벨 정보를 전송하는 단계;
    상기 외부로부터 성능 설정 정보를 수신하는 단계; 및
    상기 메모리 시스템에 저장된 성능 레벨 정보와 무관하게, 상기 외부로부터의 성능 설정 정보에 따른 성능으로서 메모리 동작을 수행하는 단계를 더 구비하는 것을 특징으로 하는 메모리 시스템의 동작방법.
  9. 제1항에 있어서,
    상기 메모리 시스템은 SSD(Solid State Drive) 또는 메모리 카드인 것을 특징으로 하는 메모리 시스템의 동작방법.
  10. 제1항에 있어서,
    상기 성능 레벨 정보에는 각각의 온도 단계에 대응하는 시간 정보가 포함되고,
    상기 시간 정보를 참조함에 의하여, 상기 메모리 시스템 내부의 온도가 특정 단계를 소정의 시간 동안 유지할 때 상기 메모리 시스템의 동작 성능이 제2 레벨의 성능으로 조절되는 것을 특징으로 하는 메모리 시스템의 동작방법.
  11. 메모리 시스템의 동작방법에 있어서,
    제1 커맨드의 수신에 응답하여 상기 메모리 시스템의 온도에 관련된 제1 정보를 전송하는 단계;
    상기 제1 정보에 연관되는 제1 성능 레벨 정보를 수신하고 이를 저장하는 단계;
    상기 제1 성능 레벨 정보에 대응하여 제1 레벨 성능에 따라 메모리 시스템 동작을 수행하는 단계;
    상기 제1 커맨드의 수신에 응답하여 상기 메모리 시스템의 온도에 관련된 제2 정보를 전송하는 단계;
    상기 제2 정보에 연관되는 제2 성능 레벨 정보를 수신하고 이를 저장하는 단계; 및
    상기 제2 성능 레벨 정보에 대응하여 제2 레벨 성능에 따라 메모리 시스템 동작을 수행하는 단계를 구비하는 것을 특징으로 하는 메모리 시스템의 동작방법.
  12. 제11항에 있어서,
    상기 제1 커맨드는 리드 커맨드 또는 라이트 커맨드인 것을 특징으로 하는 메모리 시스템의 동작방법.
  13. 제11항에 있어서,
    상기 제1 커맨드는 상기 메모리 시스템 동작과 무관하게 상기 메모리 시스템과 호스트 사이에 협의된 별도의 커맨드인 것을 특징으로 하는 메모리 시스템의 동작방법.
  14. 제11항에 있어서,
    상기 제1 레벨 성능 및 상기 제2 레벨 성능에 따라, 상기 메모리 시스템과 호스트 사이에 응답의 딜레이가 변동되는 것을 특징으로 하는 메모리 시스템의 동작방법.
  15. 제11항에 있어서,
    상기 온도의 변동에 따라, 메모리에 저장된 제1 정보를 상기 제2 정보로 업데이트하는 단계; 및
    온도 정보의 변동에 따라, 상기 메모리에 저장된 제1 성능 레벨 정보를 상기 제2 성능 레벨 정보로 업데이트하는 단계를 더 구비하는 것을 특징으로 하는 메모리 시스템의 동작방법.
KR1020140046190A 2014-04-17 2014-04-17 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법 KR102211126B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020140046190A KR102211126B1 (ko) 2014-04-17 2014-04-17 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법
US14/601,552 US10198214B2 (en) 2014-04-17 2015-01-21 Memory system capable of controlling operation performance according to temperature and method of operating the same
CN201510179610.7A CN105047216B (zh) 2014-04-17 2015-04-16 存储系统和操作其的方法
US16/241,488 US11093166B2 (en) 2014-04-17 2019-01-07 Memory system and method of operating the same
US17/357,084 US11960752B2 (en) 2014-04-17 2021-06-24 Memory system and method of operating the same
US18/045,948 US11972136B2 (en) 2014-04-17 2022-10-12 Memory system and method of operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140046190A KR102211126B1 (ko) 2014-04-17 2014-04-17 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법

Publications (2)

Publication Number Publication Date
KR20150120213A true KR20150120213A (ko) 2015-10-27
KR102211126B1 KR102211126B1 (ko) 2021-02-02

Family

ID=54322064

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140046190A KR102211126B1 (ko) 2014-04-17 2014-04-17 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법

Country Status (3)

Country Link
US (4) US10198214B2 (ko)
KR (1) KR102211126B1 (ko)
CN (1) CN105047216B (ko)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9875796B2 (en) 2016-02-18 2018-01-23 SK Hynix Inc. Resistive memory device and method relating to a read voltage in accordance with variable situations
US9880781B2 (en) 2015-04-14 2018-01-30 Samsung Electronics Co., Ltd. Storage device and operating method of storage device
KR20180026993A (ko) * 2016-09-05 2018-03-14 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 온도 조절 방법
KR20180104547A (ko) * 2017-03-13 2018-09-21 삼성전자주식회사 Ssd의 진보된 열 제어
US10175667B2 (en) 2015-08-17 2019-01-08 Samsung Electronics Co., Ltd. Storage devices including dynamic internal thermal throttling
KR20190008679A (ko) * 2017-07-17 2019-01-25 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US10282271B2 (en) 2017-05-30 2019-05-07 SK Hynix Inc. Storage device and method of operating the same
WO2021060924A1 (ko) * 2019-09-27 2021-04-01 삼성전자 주식회사 온도 제어를 수행하는 전자 장치 및 방법
US10969960B2 (en) 2016-09-01 2021-04-06 Samsung Electronics Co., Ltd. Storage device and host for the same
US11520387B2 (en) 2019-09-27 2022-12-06 Samsung Electronics Co., Ltd Electronic device and method for performing temperature control
US11610632B2 (en) 2017-08-30 2023-03-21 Micron Technology, Inc. NAND temperature data management
US12001676B2 (en) 2016-09-01 2024-06-04 Samsung Electronics Co., Ltd. Storage device and host for the same

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102211126B1 (ko) 2014-04-17 2021-02-02 삼성전자주식회사 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법
US9846541B2 (en) * 2014-12-11 2017-12-19 Toshiba Memory Corporation Memory system for controlling perforamce by adjusting amount of parallel operations
US9946481B2 (en) * 2015-05-01 2018-04-17 Toshiba Memory Corporation Dynamic power throttling in solid state drives
CN105068872B (zh) * 2015-07-28 2018-11-23 深圳市万普拉斯科技有限公司 运算单元的控制方法和系统
US9811267B1 (en) 2016-10-14 2017-11-07 Sandisk Technologies Llc Non-volatile memory with intelligent temperature sensing and local throttling
JP6814020B2 (ja) * 2016-10-26 2021-01-13 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム
US10013194B1 (en) * 2017-06-02 2018-07-03 Western Digital Technologies, Inc. Handling thermal shutdown for memory devices
KR102671475B1 (ko) * 2017-07-24 2024-06-04 삼성전자주식회사 스토리지 장치 및 스토리지 장치를 포함하는 전자 장치
CN109298833B (zh) 2017-07-24 2021-05-04 三星电子株式会社 存储设备及对包括其的电子设备的温度控制
US10712949B2 (en) * 2017-11-09 2020-07-14 Western Digital Technologies, Inc. Adaptive device quality of service by host memory buffer range
KR102639679B1 (ko) * 2018-05-31 2024-02-23 에스케이하이닉스 주식회사 메모리 장치 및 메모리 장치의 동작방법
CN109032900B (zh) * 2018-06-15 2022-07-08 烽火通信科技股份有限公司 兼容多种类型的硬盘指示灯控制方法及系统
US11132037B2 (en) * 2018-09-06 2021-09-28 Micron Technology, Inc. Operating temperature management of a memory sub-system
US11238917B2 (en) * 2018-10-23 2022-02-01 Micron Technology, Inc. Mode-dependent heating of a memory device
JP2020144589A (ja) * 2019-03-06 2020-09-10 キオクシア株式会社 メモリシステム
KR20210014338A (ko) 2019-07-30 2021-02-09 에스케이하이닉스 주식회사 데이터 저장 장치, 데이터 처리 시스템 및 데이터 저장 장치의 동작 방법
KR20200132047A (ko) 2019-05-15 2020-11-25 에스케이하이닉스 주식회사 메모리 시스템에서 맵 데이터를 전송하는 방법 및 장치
KR20210011216A (ko) 2019-07-22 2021-02-01 에스케이하이닉스 주식회사 메모리 시스템의 메타 데이터 관리 방법 및 장치
US11237973B2 (en) * 2019-04-09 2022-02-01 SK Hynix Inc. Memory system for utilizing a memory included in an external device
KR20210011176A (ko) 2019-07-22 2021-02-01 에스케이하이닉스 주식회사 메모리 시스템의 액세스 동작 방법 및 장치
KR20210011201A (ko) 2019-07-22 2021-02-01 에스케이하이닉스 주식회사 메모리 시스템 및 그의 온도 조절 방법
KR20200119059A (ko) 2019-04-09 2020-10-19 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR20200132171A (ko) * 2019-05-15 2020-11-25 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메모리 장치
KR20210062364A (ko) * 2019-11-21 2021-05-31 에스케이하이닉스 주식회사 메모리 장치 및 그것의 동작 방법
US11036413B1 (en) 2019-12-17 2021-06-15 Micron Technology, Inc. Memory sub-system temperature regulation
KR20210105201A (ko) * 2020-02-18 2021-08-26 삼성전자주식회사 다중-호스트를 지원하도록 구성된 스토리지 장치 및 그것의 동작 방법
US11762585B2 (en) * 2020-03-23 2023-09-19 Micron Technology, Inc. Operating a memory array based on an indicated temperature
KR20210121686A (ko) * 2020-03-31 2021-10-08 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법
TWI800777B (zh) * 2020-12-15 2023-05-01 宏碁股份有限公司 溫度控制方法與資料儲存系統
KR20220087655A (ko) * 2020-12-17 2022-06-27 삼성전자주식회사 스토리지 장치 및 그의 동작 방법
KR20220144725A (ko) * 2021-04-20 2022-10-27 삼성전자주식회사 스토리지 장치, 스토리지 장치를 동작하는 방법 및 복수의 성능 테이블들의 제공 방법
KR20230007881A (ko) * 2021-07-06 2023-01-13 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20230021455A (ko) 2021-08-05 2023-02-14 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
KR20230045306A (ko) 2021-09-28 2023-04-04 삼성전자주식회사 흐름 제어 모니터링을 통하여 동작을 제어하는 스토리지 장치 및 시스템
CN115101115A (zh) * 2022-07-14 2022-09-23 上海乐存信息科技有限公司 一种热致变色的存储设备及其硬件温度监测和显示的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110010487A1 (en) * 2009-07-13 2011-01-13 Microsoft Corporation Health Reporting From Non-Volatile Block Storage Device to Processing Device
KR20110127481A (ko) * 2010-05-19 2011-11-25 삼성전자주식회사 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
KR20120125791A (ko) * 2011-05-09 2012-11-19 삼성전자주식회사 플래시 메모리 장치 및 이를 포함하는 메모리 시스템
US20140101371A1 (en) * 2012-10-10 2014-04-10 Apple Inc. Systems and methods for nonvolatile memory performance throttling
US20150261281A1 (en) * 2014-03-13 2015-09-17 International Business Machines Corporation Control of solid state memory device temperature using queue depth management

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0667910B2 (ja) 1986-05-13 1994-08-31 三井東圧化学株式会社 2−イミダゾリジノン類の製造方法
JPH0667910A (ja) 1992-08-19 1994-03-11 Hitachi Ltd 温度検出機能を備える情報処理システム
US6507530B1 (en) * 2001-09-28 2003-01-14 Intel Corporation Weighted throttling mechanism with rank based throttling for a memory system
JP3870189B2 (ja) 2003-12-15 2007-01-17 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリアクセスに関する設定を行うデータ転送レート制御装置、情報処理装置、制御方法、プログラム、及び記録媒体
KR100611505B1 (ko) 2004-12-17 2006-08-11 삼성전자주식회사 동적 온도 모니터링이 가능한 메모리 모듈 및 메모리모듈의 동작 방법
KR100604932B1 (ko) 2005-01-21 2006-07-28 삼성전자주식회사 저온에서의 하드디스크 드라이브의 성능향상방법 및 장치
US7415625B2 (en) 2005-06-29 2008-08-19 Intel Corporation Policy table rule based processor side bus signaling
KR20070050151A (ko) 2005-11-10 2007-05-15 엘지전자 주식회사 오디오기기의 과열 방지장치
US7765825B2 (en) * 2005-12-16 2010-08-03 Intel Corporation Apparatus and method for thermal management of a memory device
US7733595B2 (en) 2006-01-06 2010-06-08 Lucas Andrew A Hard disk drive with external sensor interface, system for use thereof and method
US8773804B2 (en) 2006-01-10 2014-07-08 HGST Netherlands B.V. Disk drive internal temperature control system
US7830690B2 (en) * 2006-10-30 2010-11-09 Intel Corporation Memory module thermal management
JP2008135110A (ja) 2006-11-28 2008-06-12 Matsushita Electric Ind Co Ltd データ記憶装置
US8086781B2 (en) 2007-06-22 2011-12-27 Apple Inc. Serial pass-through device
US9122648B2 (en) * 2007-08-22 2015-09-01 Advanced Micro Devices, Inc. Temperature throttling mechanism for DDR3 memory
WO2009061281A1 (en) 2007-11-09 2009-05-14 Trek 2000 International Ltd. Method and apparatus for reducing power consumption during wireless data transfer
JP4825789B2 (ja) 2007-12-27 2011-11-30 株式会社東芝 情報処理装置及び不揮発性半導体メモリドライブ
US8954654B2 (en) * 2008-06-18 2015-02-10 Super Talent Technology, Corp. Virtual memory device (VMD) application/driver with dual-level interception for data-type splitting, meta-page grouping, and diversion of temp files to ramdisks for enhanced flash endurance
KR101434400B1 (ko) * 2008-07-09 2014-08-27 삼성전자주식회사 불휘발성 메모리 장치 및 메모리 시스템 및 그것의 관리방법
KR20110067675A (ko) 2009-12-15 2011-06-22 주식회사 히타치엘지 데이터 스토리지 코리아 호스트의 온도 제어 방법
JP2011215855A (ja) 2010-03-31 2011-10-27 Renesas Electronics Corp Usbデバイス制御回路、及びusbデバイスの制御方法
US8826051B2 (en) 2010-07-26 2014-09-02 Apple Inc. Dynamic allocation of power budget to a system having non-volatile memory and a processor
US9037778B2 (en) * 2010-08-20 2015-05-19 Samsung Electronics Co., Ltd. Method and apparatus to interface semiconductor storage device and host to provide performance throttling of semiconductor storage device
US8694719B2 (en) 2011-06-24 2014-04-08 Sandisk Technologies Inc. Controller, storage device, and method for power throttling memory operations
US8711875B2 (en) * 2011-09-29 2014-04-29 Intel Corporation Aggregating completion messages in a sideband interface
KR101824949B1 (ko) 2011-11-23 2018-02-05 삼성전자주식회사 플래시 메모리를 기반으로 하는 저장 장치 및 그것을 포함한 사용자 장치
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
KR102211126B1 (ko) 2014-04-17 2021-02-02 삼성전자주식회사 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110010487A1 (en) * 2009-07-13 2011-01-13 Microsoft Corporation Health Reporting From Non-Volatile Block Storage Device to Processing Device
KR20110127481A (ko) * 2010-05-19 2011-11-25 삼성전자주식회사 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
KR20120125791A (ko) * 2011-05-09 2012-11-19 삼성전자주식회사 플래시 메모리 장치 및 이를 포함하는 메모리 시스템
US20140101371A1 (en) * 2012-10-10 2014-04-10 Apple Inc. Systems and methods for nonvolatile memory performance throttling
US20150261281A1 (en) * 2014-03-13 2015-09-17 International Business Machines Corporation Control of solid state memory device temperature using queue depth management

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9880781B2 (en) 2015-04-14 2018-01-30 Samsung Electronics Co., Ltd. Storage device and operating method of storage device
US10175667B2 (en) 2015-08-17 2019-01-08 Samsung Electronics Co., Ltd. Storage devices including dynamic internal thermal throttling
US9875796B2 (en) 2016-02-18 2018-01-23 SK Hynix Inc. Resistive memory device and method relating to a read voltage in accordance with variable situations
US9990991B2 (en) 2016-02-18 2018-06-05 SK Hynix Inc. Resistive memory device and method relating to a read voltage in accordance with variable situations
US10969960B2 (en) 2016-09-01 2021-04-06 Samsung Electronics Co., Ltd. Storage device and host for the same
US12001676B2 (en) 2016-09-01 2024-06-04 Samsung Electronics Co., Ltd. Storage device and host for the same
US11567663B2 (en) 2016-09-01 2023-01-31 Samsung Electronics Co., Ltd. Storage device and host for the same
KR20180026993A (ko) * 2016-09-05 2018-03-14 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 온도 조절 방법
KR20180104547A (ko) * 2017-03-13 2018-09-21 삼성전자주식회사 Ssd의 진보된 열 제어
US11755085B2 (en) 2017-03-13 2023-09-12 Samsung Electronics Co., Ltd. Advanced thermal control for SSD
US10282271B2 (en) 2017-05-30 2019-05-07 SK Hynix Inc. Storage device and method of operating the same
USRE49683E1 (en) 2017-05-30 2023-10-03 SK Hynix Inc. Memory controller, storage device and method for adjusting a data input/output speed of the controller based on internal and external temperature information
KR20190008679A (ko) * 2017-07-17 2019-01-25 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US11610632B2 (en) 2017-08-30 2023-03-21 Micron Technology, Inc. NAND temperature data management
US11520387B2 (en) 2019-09-27 2022-12-06 Samsung Electronics Co., Ltd Electronic device and method for performing temperature control
WO2021060924A1 (ko) * 2019-09-27 2021-04-01 삼성전자 주식회사 온도 제어를 수행하는 전자 장치 및 방법

Also Published As

Publication number Publication date
US20230111732A1 (en) 2023-04-13
US20150301744A1 (en) 2015-10-22
US20210326059A1 (en) 2021-10-21
US10198214B2 (en) 2019-02-05
US11972136B2 (en) 2024-04-30
CN105047216A (zh) 2015-11-11
US20190155538A1 (en) 2019-05-23
KR102211126B1 (ko) 2021-02-02
CN105047216B (zh) 2019-03-08
US11960752B2 (en) 2024-04-16
US11093166B2 (en) 2021-08-17

Similar Documents

Publication Publication Date Title
KR102211126B1 (ko) 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법
US10497444B2 (en) Three-dimensional nonvolatile memory and related read method designed to reduce read disturbance
KR102248276B1 (ko) 스토리지 장치의 동작 방법
KR102285462B1 (ko) 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 메모리 시스템의 동작 방법
KR102311916B1 (ko) 스토리지 장치
KR102242022B1 (ko) 불휘발성 메모리 및 그것의 프로그램 방법
KR102316441B1 (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
KR20160101751A (ko) 클록 제어 유닛 또는 전원 제어 유닛을 포함하는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법
US8018774B2 (en) Method of operating nonvolatile memory device and memory system
US10224102B2 (en) Semiconductor memory device and operation method thereof
KR20110051780A (ko) 불휘발성 메모리 장치의 프로그램 방법
KR20170036964A (ko) 불휘발성 메모리 시스템의 동작 방법
KR102637478B1 (ko) 오픈 채널 솔리드 스테이트 드라이브, 이를 포함하는 비휘발성 메모리 시스템 및 오픈 채널 솔리드 스테이트 드라이브의 파워 로스 프로텍션 방법
KR20160050138A (ko) 복수의 불휘발성 메모리 칩들을 포함하는 스토리지 장치
US20130294165A1 (en) Semiconductor memory device, memory system including the same and control method thereof
KR20120056113A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법, 그리고 불휘발성 메모리 장치를 포함하는 메모리 시스템
KR20190130828A (ko) 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템

Legal Events

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