KR20160137180A - 비휘발성 저장 장치의 온도 제어 방법 - Google Patents
비휘발성 저장 장치의 온도 제어 방법 Download PDFInfo
- Publication number
- KR20160137180A KR20160137180A KR1020150071935A KR20150071935A KR20160137180A KR 20160137180 A KR20160137180 A KR 20160137180A KR 1020150071935 A KR1020150071935 A KR 1020150071935A KR 20150071935 A KR20150071935 A KR 20150071935A KR 20160137180 A KR20160137180 A KR 20160137180A
- Authority
- KR
- South Korea
- Prior art keywords
- temperature
- storage device
- memory
- volatile storage
- data input
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
Abstract
Description
본 발명은 비휘발성 저장 장치의 온도 제어 방법에 관한 것으로서, 보다 구체적으로는 열로부터 저장 장치를 보호하는 범위에서 최대한 성능을 발휘할 수 있는 비휘발성 저장 장치의 온도 제어 방법에 관한 것이다.
솔리드 스테이트 드라이브(solid state drive, SSD)에 사용되는 반도체는 일정 온도 범위에서 동작과 신뢰성을 보장받고 있다. 따라서 이러한 동작 온도와 신뢰성 범위 이내에서 SSD를 사용하는 것이 필요하며, 이러한 온도 범위를 벗어난 경우 온도 제어를 위하여 전력소비를 줄이기 위한 방법이 연구되고 있다. 하지만 온도를 감소시키기 위한 보다 전략적인 접근이 필요한 실정이다.
본 발명이 이루고자 하는 첫 번째 기술적 과제는 열로부터 저장 장치를 보호하는 범위에서 최대한 성능을 발휘할 수 있는 비휘발성 저장 장치의 온도 제어 방법을 제공하는 것이다.
본 발명이 이루고자 하는 두 번째 기술적 과제는 열로부터 저장 장치를 보호하는 범위에서 최대한 성능을 발휘할 수 있는 비휘발성 저장 장치를 제공하는 것이다.
본 발명의 일 태양은 상기 첫 번째 기술적 과제를 이루기 위하여, 상기 비휘발성 저장 장치의 온도가 제어 개시 온도보다 높은지 여부를 판단하는 단계; 및 상기 비휘발성 저장 장치의 온도가 상기 제어 개시 온도보다 높으면, 하기 식 (2)에 따라 데이터 입출력 성능(P)을 변화시키는 단계를 포함하는 비휘발성 저장 장치의 온도 제어 방법을 제공한다.
(여기서, Pmax는 상기 비휘발성 저장 장치의 최대 데이터 입출력 성능이고,
ΔT는 상기 비휘발성 저장 장치의 센서 온도와 기준 온도 사이의 차이이고,
ΔTb는 상기 비휘발성 저장 장치의 최대 허용 온도와 기준 온도 사이의 차이이고,
α와 β는 각각 상기 비휘발성 저장 장치의 제어 파라미터들임)
이 때, 상기 데이터 입출력 성능은 데이터 입출력 속도일 수 있다. 또한, 데이터 입출력 성능(P)을 변화시키는 단계는, 상기 데이터 입출력 속도를 제어하기 위하여 데이터 입출력의 채널의 수 및/또는 웨이(way)의 수를 제어하는 단계를 포함할 수 있다. 또, 상기 데이터 입출력 성능(P)을 변화시키는 단계는, 상기 데이터 입출력 속도를 제어하기 위하여 상기 비휘발성 메모리에 쓰고 읽는 속도를 제어하는 단계를 포함할 수 있다. 여기서, 상기 비휘발성 메모리에 쓰고 읽는 속도의 제어는 Tprog 함수에 의하여 수행될 수 있다.
상기 기준 온도는 상기 제어 개시 온도보다 낮을 수 있다. 또, 상기 비휘발성 저장 장치의 온도는 상기 비휘발성 저장 장치의 특정 지점에 배치된 온도 측정 센서에서의 온도 측정값으로 대표될 수 있다.
또, 상기 비휘발성 저장 장치는 기판; 및 상기 기판 위에 실장된 메모리 컨트롤러, 휘발성 메모리, 및 비휘발성 메모리를 포함할 수 있다. 그리고, 상기 온도 측정 센서는 상기 메모리 컨트롤러, 상기 휘발성 메모리, 상기 비휘발성 메모리, 및 상기 기판 중 적어도 하나의 표면 또는 그에 인접하여 배치될 수 있다. 선택적으로, 상기 온도 측정 센서는 상기 휘발성 메모리, 상기 비휘발성 메모리, 또는 로직칩 내부의 반도체 활성면에 배치될 수 있다.
또, 상기 메모리 컨트롤러는 상기 온도 측정 센서로부터 온도를 입력 받고, 입력받은 온도에 근거하여 상기 식 (1)에 따라 데이터 입출력을 제어하도록 구성될 수 있다. 상기 메모리 컨트롤러는 상기 판단하는 단계 및 데이터 입출력 성능(P)을 변화시키는 단계를 수행할 수 있는 펌웨어(firmware)를 포함할 수 있다. 선택적으로, 상기 펌웨어는 상기 휘발성 메모리, 상기 비휘발성 메모리에도 포함될 수 있다.
또, 상기 비휘발성 저장 장치의 온도 제어 방법은 데이터 입출력 성능(P)을 변화시키는 단계 이후에, 상기 비휘발성 저장 장치의 온도가 상기 제어 개시 온도보다 낮은지 여부를 판단하는 단계; 및 상기 비휘발성 저장 장치의 온도가 상기 제어 개시 온도보다 낮으면, 데이터 입출력 성능(P)을 최대값(Pmax)으로 변화시키는 단계를 더 포함할 수 있다.
또, 상기 비휘발성 저장 장치의 온도 제어 방법은 상기 비휘발성 저장 장치의 온도가 제어 개시 온도보다 높은지 여부를 판단하는 단계를 주기적으로 반복할 수 있다. 특히, 상기 비휘발성 저장 장치의 온도가 제어 개시 온도보다 높은지 여부를 판단하는 주기는 1초 내지 1시간일 수 있다.
또, 상기 비휘발성 저장 장치의 온도가 제어 개시 온도보다 높으면, 식 (1)에 따라 데이터 입출력 성능(P)을 갱신하여 변화시키는 단계를 더 포함할 수 있다.
본 발명의 다른 태양은, 온도 측정 센서가 소정 시간 간격으로 온도를 감지하고, 온도값을 메모리 컨트롤러로 전송하는 단계; 및 상기 메모리 컨트롤러는 상기 온도값에 기초하여 비휘발성 메모리에 대한 쓰기/읽기 속도를 제어하는 단계를 포함하는 비휘발성 저장 장치의 온도 제어 방법을 제공한다.
이 때, 상기 비휘발성 메모리에 대한 쓰기/읽기 속도를 제어하는 단계는, 상기 온도가 제어 개시 온도보다 높지 않으면 상기 쓰기/읽기 속도를 최대값으로 설정하고, 상기 온도가 제어 개시 온도보다 높으면 하기 식(1)에 근거하여 다음 세 가지 전략 중의 어느 하나 이상을 적용하는 단계를 포함할 수 있다.
(a) 데이터 입출력의 채널의 수를 감소시키는 단계;
(b) 데이터 입출력의 웨이(way)의 수를 감소시키는 단계;
(c) 비휘발성 메모리에 대한 데이터의 쓰기/읽기 속도를 감소시키는 단계.
(여기서, Pmax는 상기 비휘발성 저장 장치의 최대 데이터 입출력 성능이고,
ΔT는 상기 비휘발성 저장 장치의 온도와 기준 온도 사이의 차이이고,
ΔTb는 상기 비휘발성 저장 장치의 최대 허용 온도와 기준 온도 사이의 차이이임)
본 발명의 일 태양은 상기 두 번째 과제를 이루기 위하여, 기판; 상기 기판 위에 실장된 메모리 컨트롤러, 휘발성 메모리, 및 비휘발성 메모리; 및 상기 기판 위에 배치된 온도 측정 센서를 포함하는 비휘발성 저장 장치를 제공한다. 여기서, 상기 메모리 컨트롤러는 상기 온도 측정 센서로부터 온도를 입력 받고, 입력받은 온도에 근거하여 데이터 입출력 성능을 제어하도록 구성될 수 있다.
여기서, 상기 메모리 컨트롤러는 상기 비휘발성 저장 장치의 온도가 제어 개시 온도와 비교하여 상기 비휘발성 저장 장치의 온도가 더 높으면 하기 식 (1)에 따라 데이터 입출력 성능(P)을 변화시키도록 하는 펌웨어를 포함할 수 있다.
(여기서, Pmax는 상기 비휘발성 저장 장치의 최대 데이터 입출력 성능이고, ΔT는 상기 비휘발성 저장 장치의 온도와 기준 온도 사이의 차이이고, ΔTb는 상기 비휘발성 저장 장치의 최대 허용 온도와 기준 온도 사이의 차이이고, α와 β는 각각 상기 비휘발성 저장 장치의 제어 파라미터들임)
상기 펌웨어는 식 (2)에 따라 데이터 입출력 성능(P)을 변화시키기 위하여 다음 세 가지 변수 중의 어느 하나 이상을 변화시킬 수 있도록 구성될 수 있다.
(a) 데이터 입출력의 채널의 수;
(b) 데이터 입출력의 웨이(way)의 수;
(c) 비휘발성 메모리에 대한 데이터의 쓰기/읽기 속도.
본 발명의 다른 태양은 제어부; 데이터를 입력 또는 출력할 수 있는 입출력부; 데이터를 저장할 수 있는 메모리부; 외부 장치와 데이터를 전송할 수 있는 인터페이스부; 및 상기 제어부, 입출력부, 메모리부 및 인터페이스부를 서로 통신 가능하도록 연결하는 버스를 포함하는 전자 시스템을 제공한다. 이 때, 상기 메모리부는 위에서 설명한 비휘발성 저장 장치를 포함할 수 있다.
본 발명의 비휘발성 저장 장치의 온도 제어 방법을 이용하면 열로부터 저장 장치를 보호하는 범위에서 최대한 성능을 발휘할 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 비휘발성 저장 장치(non-volatile storage device)의 구성도이다.
도 2는 도 1에 도시된 메모리 컨트롤러의 세부 구성을 예시적으로 보여주는 도면이다.
도 3은 도 1에 도시된 메모리 장치의 채널 및 뱅크의 구성을 예시적으로 보여주는 도면이다.
도 4는 도 1의 비휘발성 저장 장치의 메모리 장치를 구성하는 하나의 플래시 메모리 디바이스의 회로 구성을 예시적으로 보여주는 도면이다.
도 5는 본 발명의 실시예들에 따른 비휘발성 저장 장치의 물리적 주요 구성을 도시한 분해 사시도이다.
도 6은 본 발명의 실시예들에 따른 비휘발성 저장 장치의 온도 제어 방법을 나타낸 흐름도이다.
도 7은 시간에 따른 가상의 온도 변화 프로파일을 나타낸 그래프이다.
도 8은 비휘발성 저장 장치의 온도 변화에 따른 데이터 입출력 성능 P의 변화를 나타낸 그래프이다.
도 9는 본 발명의 실시 예들에 따른 비휘발성 저장 장치를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 10은 본 발명의 실시 예들에 따른 비휘발성 저장 장치를 SSD로서 적용한 예를 나타내는 블록도이다.
도 11은 도 10의 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 블록도이다.
도 2는 도 1에 도시된 메모리 컨트롤러의 세부 구성을 예시적으로 보여주는 도면이다.
도 3은 도 1에 도시된 메모리 장치의 채널 및 뱅크의 구성을 예시적으로 보여주는 도면이다.
도 4는 도 1의 비휘발성 저장 장치의 메모리 장치를 구성하는 하나의 플래시 메모리 디바이스의 회로 구성을 예시적으로 보여주는 도면이다.
도 5는 본 발명의 실시예들에 따른 비휘발성 저장 장치의 물리적 주요 구성을 도시한 분해 사시도이다.
도 6은 본 발명의 실시예들에 따른 비휘발성 저장 장치의 온도 제어 방법을 나타낸 흐름도이다.
도 7은 시간에 따른 가상의 온도 변화 프로파일을 나타낸 그래프이다.
도 8은 비휘발성 저장 장치의 온도 변화에 따른 데이터 입출력 성능 P의 변화를 나타낸 그래프이다.
도 9는 본 발명의 실시 예들에 따른 비휘발성 저장 장치를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 10은 본 발명의 실시 예들에 따른 비휘발성 저장 장치를 SSD로서 적용한 예를 나타내는 블록도이다.
도 11은 도 10의 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 블록도이다.
이하, 첨부도면을 참조하여 본 발명 개념의 바람직한 실시예들을 상세히 설명하기로 한다. 그러나, 본 발명 개념의 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명 개념의 범위가 아래에서 상술하는 실시예들로 인해 한정되어지는 것으로 해석되어져서는 안 된다. 본 발명 개념의 실시예들은 당 업계에서 평균적인 지식을 가진 자에게 본 발명 개념을 보다 완전하게 설명하기 위해서 제공되어지는 것으로 해석되는 것이 바람직하다. 동일한 부호는 시종 동일한 요소를 의미한다. 나아가, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명 개념은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되어지지 않는다.
제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는 데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되지 않는다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명 개념의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 반대로 제 2 구성 요소는 제 1 구성 요소로 명명될 수 있다.
본 출원에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로서, 본 발명 개념을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함한다" 또는 "갖는다" 등의 표현은 명세서에 기재된 특징, 개수, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
달리 정의되지 않는 한, 여기에 사용되는 모든 용어들은 기술 용어와 과학 용어를 포함하여 본 발명 개념이 속하는 기술 분야에서 통상의 지식을 가진 자가 공통적으로 이해하고 있는 바와 동일한 의미를 지닌다. 또한, 통상적으로 사용되는, 사전에 정의된 바와 같은 용어들은 관련되는 기술의 맥락에서 이들이 의미하는 바와 일관되는 의미를 갖는 것으로 해석되어야 하며, 여기에 명시적으로 정의하지 않는 한 과도하게 형식적인 의미로 해석되어서는 아니 될 것임은 이해될 것이다.
어떤 실시예가 달리 구현 가능한 경우에 특정한 공정 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 공정이 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 수행될 수도 있다.
첨부 도면에 있어서, 예를 들면, 제조 기술 및/또는 공차에 따라, 도시된 형상의 변형들이 예상될 수 있다. 따라서, 본 발명의 실시예들은 본 명세서에 도시된 영역의 특정 형상에 제한된 것으로 해석되어서는 아니 되며, 예를 들면 제조 과정에서 초래되는 형상의 변화를 포함하여야 한다. 여기에 사용되는 모든 용어 "및/또는"은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 또한, 본 명세서에서 사용되는 용어 "기판"은 기판 그 자체, 또는 기판과 그 표면에 형성된 소정의 층 또는 막 등을 포함하는 적층 구조체를 의미할 수 있다. 또한, 본 명세서에서 "기판의 표면"이라 함은 기판 그 자체의 노출 표면, 또는 기판 위에 형성된 소정의 층 또는 막 등의 외측 표면을 의미할 수 있다.
도 1은 본 발명의 실시예에 따른 비휘발성 저장 장치(non-volatile storage device)(100)의 구성도이다.
도 1에 도시된 바와 같이, 상기 비휘발성 저장 장치(100)는 메모리 컨트롤러(110) 및 메모리 장치(memory device)(120)를 포함한다.
일 예로서, 메모리 장치(120)를 플래시 메모리 디바이스 등과 같은 비휘발성 메모리 디바이스로 구현하는 경우에 비휘발성 저장 장치(100)는 SSD(Solid State Drive)가 될 수 있다. SSD는 솔리드 스테이트 디스크(Solid State Disc)라고 칭해지기도 한다.
도 1에서는 메모리 장치(120)를 플래시 메모리 디바이스들(121, 123)로 구현한 예를 보여준다. 도 1에서는 채널별로 4개의 플래시 메모리 디바이스들이 결합되는 멀티 뱅크 구조의 예를 보여준다.
메모리 장치(120)는 비휘발성 메모리 디바이스들 중에서도 플래시 메모리 디바이스들로 구성되는 경우뿐만 아니라 다양한 종류 및 형태의 메모리 디바이스들이 적용될 수 있다. 예를 들면, 메모리 장치(120)에 적용되는 메모리 디바이스는 플래시 메모리 디바이스뿐만 아니라 PRAM(Phase change RAM), FRAM(Ferroelectric RAM), MRAM(Magnetic RAM) 디바이스 등이 포함될 수 있다. 저장 장치(120)는 적어도 하나 이상의 비휘발성 메모리 디바이스(들)와 적어도 하나 이상의 휘발성 메모리 디바이스(들)가 혼합된 형태로 구성될 수 있고, 적어도 두 종류 이상의 비휘발성 메모리 디바이스들이 혼합된 형태로 구성될 수도 있다.
메모리 컨트롤러(110)는 호스트에서 발행된 리퀘스트(request)에 응답하여 메모리 장치(120)에서의 소거, 쓰기 또는 읽기 프로세스를 수행하도록 비휘발성 저장 장치(100)을 제어할 있다.
메모리 컨트롤러(110)와 호스트간의 데이터 I/O(Input/Output)는 연속된 논리 주소 단위로 구성될 수 있다. 이 때 한 번에 요청되는 I/O를 리퀘스트(request)로 정의할 수 있다.
메모리 컨트롤러(110)와 메모리 장치(120) 사이에는 오퍼레이션 수행에 필요한 신호들을 전달하기 위한 채널(channel)들이 형성되어 있다. 오퍼레이션 수행에 필요한 신호들은 예로서 커맨드, 어드레스 및, 데이터 등이 될 수 있다. 채널이란 메모리 컨트롤러(110)와 메모리 장치(120)가 신호를 주고받을 수 있는 독립적인 신호의 통로이다.
본 발명의 실시 예에 따른 비휘발성 저장 장치(100)은 메모리 컨트롤러(110)와 메모리 장치(120) 사이에 하나 이상의 채널이 형성될 수 있다. 도 1에서는 N(N은 자연수)개의 채널이 형성되는 예를 보여준다.
그리고, 각각의 채널들은 복수 개의 뱅크(bank)들로 구성될 수 있다. 여기에서, 뱅크는 채널을 공유하는 메모리 디바이스들을 의미한다. 참고적으로, 뱅크는 웨이(way)라 칭해지기도 한다. 채널과 뱅크의 상세 구성 예는 아래에서 상세히 설명될 것이다.
메모리 컨트롤러(110)는 도 6에 도시된 흐름도에 따른 온도 제어 방법을 수행할 수 있다. 메모리 컨트롤러(110)의 세부적인 동작은 아래에서 설명될 것이다.
도 2는 도 1에 도시된 메모리 컨트롤러(110)의 세부 구성을 예시적으로 보여주는 도면이다.
도 2를 참조하면, 메모리 컨트롤러(110)는 중앙처리장치(CPU; 111), ROM(Read Only Memory; 112), RAM(Random Access Memory; 113), 호스트 인터페이스(Host Interface; 114), ECC(Error Correction Code) 처리부(115), 메모리 인터페이스(116) 및, 버스(Bus; 117)를 구비한다.
메모리 컨트롤러(110)의 구성요소들은 버스(117)를 통하여 전기적으로 연결될 수 있다.
호스트 인터페이스(114)는 비휘발성 저장 장치(100)와 접속되는 호스트와의 데이터 교환 프로토콜을 구비하고 비휘발성 저장 장치(100)와 호스트 사이의 인터페이스를 수행한다. 호스트 인터페이스(114)는 예로서 ATA(Advanced Technology Attachment) 인터페이스, SATA(Serial Advanced Technology Attachment) 인터페이스, PATA(Parallel Advanced Technology Attachment) 인터페이스, USB(Universal Serial Bus) 또는 SAS(Serial Attached Small Computer System) 인터페이스, SCSI(Small Computer System Interface), eMMC(embedded Multi Media Card) 인터페이스, UFS(Unix File System) 인터페이스로 구현할 수 있다. 그러나 이는 예시일 뿐 이에 제한되는 것은 아니다. 호스트 인터페이스(114)는 중앙처리장치(111)의 제어에 따라 호스트와 커맨드, 어드레스 및, 데이터를 주고받을 수 있다.
ROM(112)에는 비휘발성 저장 장치(100)에서 수행되는 동작들을 제어하는데 필요한 프로그램 코드 및 데이터들이 저장될 수 있다. 예로서, 도 6의 흐름도에 따른 방법들을 실행하기 위한 프로그램 코드들도 ROM(112)에 저장될 수 있다.
RAM(113)에는 ROM(112)에서 읽어낸 프로그램 코드 및 데이터가 저장될 수 있다. 또한, RAM(113)에는 호스트 인터페이스(114)를 통하여 수신되는 데이터 또는 메모리 인터페이스(118)를 통하여 메모리 장치(120)로부터 수신되는 데이터가 저장될 수 있다.
ECC 처리부(115)는 라이트 동작 시에 RS 코드(Reed-Solomon code), 헤밍 코드(Hamming code), CRC(Cyclic Redundancy Code) 등과 같은 알고리즘을 이용하여 수신되는 데이터에 대한 에러 정정 코드(Error Correction Code)를 생성시킬 수 있다. 그리고, 리드 동작 시에는 데이터와 함께 리드된 에러 정정 코드(ECC)를 이용하여 수신된 데이터에 대한 에러 검출 및 정정 처리를 수행한다.
중앙처리장치(111)는 RAM(113)에 저장된 프로그램 코드 및 데이터들을 이용하여 비휘발성 저장 장치(100)의 동작을 전반적으로 제어할 수 있다.
예컨대, 비휘발성 저장 장치(100)가 파워 온(power on) 되면 중앙처리장치(111)는 ROM(112) 또는 메모리 장치(120)에 저장된 비휘발성 저장 장치(100)에서 수행되는 동작들을 제어하는데 필요한 프로그램 코드 및 데이터들을 읽어내어 RAM(113)에 저장할 수 있다.
예로서, 비휘발성 저장 장치(100)가 파워 온 되면, 중앙처리장치(111)는 메모리 장치(120)로부터 맵 테이블 정보 및 저장 영역별 신뢰성 정보를 읽어내어 RAM(113)에 저장할 수 있다. 그리고, 비휘발성 저장 장치(100)가 파워 오프 되기 전에 중앙처리장치(111)는 RAM(113)로부터 맵 테이블 정보 및 저장 영역별 신뢰성 정보를 읽어내어 메모리 장치(120)에 라이트하도록 제어할 수 있다.
다른 예로서, 비휘발성 저장 장치(100)가 파워 온 되면, 중앙처리장치(111)는 메모리 장치(120)로부터 맵 테이블 정보를 읽어내어 RAM(113)에 저장하고, 저장 영역별 신뢰성 정보를 초기화시켜 RAM(113)에 저장할 수 있다. 예로서, 저장 영역별 신뢰성 정보는 초기 설정된 디폴트 값으로 초기화시킬 수 있다. 다른 예로서, 저장 영역별 신뢰성 정보는 저장 영역별 프로그램/소거 사이클 정보에 기초하여 초기화시킬 수도 있다.
또 다른 예로서, 중앙처리장치(111)는 라이트 오퍼레이션 또는 이레이즈 오퍼레이션 수행 후에 라이트 오퍼레이션 또는 이레이즈 오퍼레이션이 수행된 저장 영역에 대한 신뢰성 정보를 초기화시킬 수 있다. 예로서, 라이트 오퍼레이션 또는 이레이즈 오퍼레이션 수행 후에 저장 영역별 프로그램/소거 사이클 정보에 기초하여 초기화시킬 수 있다.
중앙처리장치(111)는 메모리 디바이스의 저장 영역별 신뢰성 정보에 기초하여 리드 오퍼레이션을 수행할 저장 영역에 대한 리드 파라미터 값을 결정할 수 있다. 예로서, 리드 파라미터는 리드 속도를 조절하는 파라미터가 포함될 수 있다. 그리고, 리드 속도를 조절하는 파라미터는 메모리 디바이스의 프리챠지 전압 레벨을 결정하는 파라미터 또는 디벨로프 시간을 결정하는 파라미터 중 적어도 하나가 포함될 수 있다.
예로서, 신뢰성 정보는 블록 단위 또는 페이지 단위 중의 하나로 결정될 수 있다. 다른 예로서, 복수의 페이지 단위로 신뢰성 정보가 결정될 수도 있다. 그리고, 신뢰성 정보는 복수개로 나누어진 신뢰성 수준들 중의 하나의 수준을 나타내는 정보가 될 수 있다. 저장 영역별 신뢰성 정보가 나타내는 수준에 따라서 리드 파라미터 값을 결정할 수 있다. 예로서, 신뢰성 수준이 높을수록 리드 속도가 높아지도록 프리챠지 전압 레벨 또는 디벨로프 시간에 대한 파라미터 값을 결정할 수 있다. 반대로, 신뢰성 수준이 낮을수록 리드 속도가 낮아지도록 프리챠지 전압 레벨 또는 디벨로프 시간에 대한 파라미터 값을 결정할 수 있다.
중앙처리장치(111)는 리드 오퍼레이션을 수행하고 나서 독출된 데이터의 품질에 기초하여 메모리 디바이스의 저장 영역별 신뢰성 정보를 업데이트하는 동작을 수행할 수 있다. 예로서, 중앙처리장치(111)는 ECC 처리부(115)에서 리드 오퍼레이션 수행에 의한 데이터로부터 검출된 에러 비트 개수를 산출하고, 산출된 에러 비트 개수에 기초하여 리드 오퍼레이션을 수행한 메모리 디바이스의 저장 영역에 대한 신뢰성 정보를 결정하고, 결정된 신뢰성 정보로 저장 영역별 신뢰성 정보를 업데이트할 수 있다. 예로서, 에러 비트 개수는 페이지 단위로 산출할 수 있다. 예로서, 산출된 에러 비트 개수가 초기 설정된 상한 기준값보다 큰 경우에는 해당 저장 영역에서 현재 설정되어 있는 신뢰성 수준보다 낮은 신뢰성 수준을 나타내는 신뢰성 정보로 업데이트한다. 만일, 산출된 에러 비트 개수가 초기 설정된 하한 기준값보다 작은 경우에는 해당 저장 영역에서 현재 설정되어 있는 신뢰성 수준보다 높은 신뢰성 수준을 나타내는 신뢰성 정보로 업데이트한다. 만일, 산출된 에러 비트 개수가 상한 기준값보다 작거나 같고 하한 기준값보다 크거나 같은 경우에는 해당 저장 영역에서 현재 설정되어 있는 신뢰성 수준을 그대로 유지한다.
도 3은 도 1에 도시된 메모리 장치(120)의 채널 및 뱅크의 구성을 예시적으로 보여주는 도면이다.
각각의 채널(CH1 내지 CHN))에는 복수 개의 플래시 메모리 디바이스들(121, 122, 123)이 전기적으로 연결될 수 있다. 각각의 채널(CH1 내지 CHN)들은 대응되는 플래시 메모리 디바이스들(121, 122, 123)로 커맨드, 어드레스 및 데이터를 송수신할 수 있는 독립적인 버스를 의미할 수 있다. 서로 다른 채널에 접속된 플래시 메모리 디바이스들은 각각 독립적으로 동작할 수 있다. 각각의 채널에 접속된 복수의 플래시 메모리 디바이스들(121, 122, 123)은 복수 개의 뱅크(Bank0 내지 BankM)들을 구성할 수 있다. 각 채널에 구성된 (M+1)개의 뱅크에는 (M+1)개의 플래시 메모리 디바이스들이 접속될 수 있다.
예를 들어, 참조번호 121의 플래시 메모리 디바이스들은 1번 채널(CH1)에서 (M+1)개의 뱅크들(Bank0 내지 BankM)을 구성할 수 있다. 1번 채널(CH1)에는 (M+1)개의 뱅크들(Bank0 내지 BankM) 각각에 대응되는 플래시 메모리 디바이스(121-0 내지 121-M)가 접속될 수 있다. 이와 같은 플래시 메모리 디바이스들과 각각의 채널과 뱅크와의 접속 관계는 참조 번호 122의 플래시 메모리 디바이스들 및 참조번호 123의 플래시 메모리 디바이스들에도 동일하게 적용될 수 있다.
뱅크는 동일한 채널을 공유하는 플래시 메모리 디바이스들을 구분하기 위한 단위이다. 채널 번호와 뱅크 번호에 따라서 각각의 플래시 메모리 디바이스들이 식별될 수 있다. 호스트로부터 제공된 리퀘스트(request)가 어느 채널의 어느 뱅크의 플래시 메모리 디바이스에서 수행될 지는 호스트로부터 전달된 논리 블록 어드레스(Logical Block Address; LBA)에 따라서 정해질 수 있다.
다른 예로서, 호스트로부터 제공된 라이트 리퀘스트(request)가 채널 또는 뱅크에서의 오퍼레이션 수행 상태를 고려하여 대기 중인 채널 또는 뱅크에서 수행되도록 논리적 페이지 주소에 대한 물리적 페이지 주소를 할당할 수 있다. 또 다른 예로서, 호스트로부터 제공된 리퀘스트(request)가 하나의 채널에서 페이지 단위로 순차적으로 시프트된 뱅크에서 수행되도록 논리적 페이지 주소에 대한 물리적 페이지 주소를 할당할 수 있다.
도 4는 도 1의 비휘발성 저장 장치(100)의 메모리 장치(120)를 구성하는 하나의 플래시 메모리 디바이스(121-0)의 회로 구성을 예시적으로 보여주는 도면이다.
도 4를 참조하면, 플래시 메모리 디바이스(121-0)는 메모리 셀 어레이(21), 제어 로직(22), 전압 발생기(23), 로우 디코더(24) 및 페이지 버퍼(25)를 포함할 수 있다.
제어 로직(22)은 메모리 컨트롤러(110)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여 메모리 셀 어레이(21)에 데이터를 기입하거나 메모리 셀 어레이(21)로부터 데이터를 독출하기 위한 각종 제어 신호를 출력할 수 있다. 이때, 제어 로직(22)에서 출력된 제어 신호는 전압 발생기(23), 로우 디코더(24) 및 페이지 버퍼(25)에 전달될 수 있다. 예로서, 제어 로직(22)은 제어 신호(CTRL)에 기초하여 프리챠지 전압 레벨 및/또는 디벨로프 시간을 조절할 수 있다. 이 때 제어 신호(CTRL)는 프리챠지 전압 레벨을 결정하는 파라미터 값 또는 디벨로프 시간을 결정하는 파라미터 값 중 적어도 하나를 조절할 수 있다.
전압 발생기(23)는 제어 로직(22)으로부터 수신한 제어 신호를 기초로 하여 복수의 워드 라인들(WL)을 구동하기 위한 구동 전압(VWL) 및 비트 라인들을 프리챠지하기 위한 프리챠지 전압(VPC)을 생성할 수 있다. 구체적으로, 구동 전압(VWL)은 기입 전압(또는 프로그램 전압), 독출 전압, 소거 전압 또는 패스(pass) 전압일 수 있다.
로우 디코더(24)는 로우 어드레스를 기초로 하여 복수의 워드 라인들(WL) 중 일부 워드 라인을 활성화할 수 있다. 구체적으로, 독출 동작 시에 로우 디코더(24)는 선택된 워드 라인에 독출 전압을 인가하고, 비 선택된 워드 라인에 패스 전압을 인가할 수 있다. 한편, 기입 동작 시에 로우 디코더(24)는 선택된 워드 라인에 기입 전압을 인가하고, 비 선택된 워드 라인에 패스 전압을 인가할 수 있다.
페이지 버퍼(25)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(21)에 연결될 수 있다. 페이지 버퍼(25)는 메모리 셀 어레이(21)에 기록될 데이터 또는 메모리 셀 어레이(21)로부터 독출된 데이터를 임시적으로 저장할 수 있다.
이에 따라서, 선택된 페이지의 셀들에 대한 리드 오퍼레이션은 제어 로직(22)에서 조절된 디벨로프 시간 및/또는 비트 라인 프리챠지 전압을 적용하여 수행될 수 있다.
리드(read) 오퍼레이션에서 셀(cell)을 읽는 과정은 크게 프리챠지(precharge), 디벨로프(develope), 센싱(sensing) 과정으로 이루어진다. 프리챠지 과정에서는 비트 라인을 프리챠지 전압에 의하여 초기 설정된 프리챠지 구간 동안에 프리챠지 레벨로 충천시키는 동작이 수행된다. 다음으로, 디벨로프 과정에서는 셀의 데이터를 읽기 위해 디벨로프 시간 동안 방전시키는 동작이 수행된다. 다음으로, 센싱 과정에서는 디벨로프 시간 동안 셀을 방전시킨 후에 셀 전압을 감지하여 제1기준 전압(V1)보다 높게 유지되는 셀은 오프 셀(off cell)로 판정하고, 제2기준 전압(V2; V2<V1)보다 낮게 유지되는 셀은 온 셀(on cell)로 판정한다. 이에 따라서, 프리챠지 전압 레벨 및 디벨로프 시간에 따라서 리드 오퍼레이션 속도가 결정된다.
일반적으로, 프로그램/소거 사이클(program/erase cycle) 횟수 또는 사용 시간이 경과함에 따라서 메모리 셀들의 프로그램 특성이 나빠지므로, 메모리 셀들을 통해 흐르는 셀 전류는 줄어들게 된다. 셀 전류가 적게 흐를 경우에는 디벨로프 시간을 증가시키거나 프리챠지 전압의 레벨을 낮추어야 셀들을 오류 없이 읽어낼 수 있다.
도 5는 본 발명의 실시예들에 따른 비휘발성 저장 장치(200)의 물리적 주요 구성을 도시한 분해 사시도이다.
도 5를 참조하면, 상기 비휘발성 저장 장치(200)는 기판(201), 상기 기판(201) 상에 실장된 메모리 컨트롤러(110), 비휘발성 메모리(220), 휘발성 메모리(230)를 포함할 수 있다.
상기 기판(201)은, 예를 들면, 인쇄회로 기판(printed circuit board, PCB) 또는 연성 인쇄회로 기판(flexible printed circuit board, FPCB)일 수 있다. 상기 기판(201)은 외부 전원으로부터 전원을 공급받고 외부 호스트와 데이터를 입출력할 수 있도록 커넥터(250)와 같은 연결 수단을 구비할 수 있다.
상기 비휘발성 메모리(220)는, 예를 들면, 플래시 메모리, 상변화 메모리(phase-change RAM, PRAM), 저항 메모리(resistive RAM, RRAM), 강유전체 메모리(ferroelectric RAM, FeRAM), 고체자기 메모리(magnetic RAM, MRAM) 등일 수 있지만 여기에 한정되지 않는다. 상기 플래시 메모리는, 예를 들면 낸드(NAND) 플래시 메모리일 수 있다. 상기 각 비휘발성 메모리(220)는 하나의 반도체 다이로 이루어질 수도 있고, 여러 개의 반도체 다이들이 적층된 것일 수도 있다.
상기 메모리 컨트롤러(110)는 웨어 레벨링(wear levelling), 오류 정정(error correction), 및/또는 불량 블록 제어(fail block control)의 기능들을 담당할 수 있다. 또한, 상기 메모리 컨트롤러(110)는 상기 SATA 표준, PATA 표준, 또는 SCSI 표준에 따른 방식으로 외부 장치와 신호를 주고받을 수 있는 프로그램을 포함할 수 있다. 여기서, 상기 SATA 표준은 소위 SATA-1 뿐만 아니라 SATA-2, SATA-3, e-SATA (external SATA) 등의 모든 SATA 계열 표준을 포괄한다. 상기 PATA 표준은 IDE (integrated drive electronics), E-IDE (enhanced-IDE) 등의 모든 IDE 계열 표준을 포괄한다. 본 출원은 국제 SATA 기구(Serial ATA International Organization)에서 2007년 2월 15일자로 발간한 시리얼 ATA 개정 2.6판(serial ATA revision 2.6)의 전체를 여기에 인용하여 포함한다.
상기 기판(201)에는 휘발성 메모리(230)가 더 실장되어 있을 수 있다. 상기 휘발성 메모리(230)는 예를 들면, DRAM (dynamic random access memory) 장치일 수 있다. 상기 휘발성 메모리(230)는 상기 비휘발성 메모리(220)와 메모리 컨트롤러(110) 사이의 데이터 교환에 있어서 버퍼 역할을 수행할 수 있다.
상기 기판(201)에는 보조 전원(240)이 더 구비될 수 있다. 상기 보조 전원은 수퍼 커패시터(super capacitor)일 수도 있고, 충방전이 가능한 2차 전지일 수도 있다. 상기 2차 전지는, 예를 들면, 리튬-이온 전지(lithium ion battery), 리튬 폴리머 전지(lithium polymer battery), 니켈-수소 전지(NiMH: nickel metal hydride battery), 니켈-카드뮴 전지(nickel cadmium battery), 리튬 공기 전지(lithium air battery) 등 임의의 2차 전지일 수 있다.
상기 기판(201)에는 온도를 감지하기 위한 온도 측정 센서(260)가 더 구비될 수 있다. 상기 온도 측정 센서(260)는 상기 기판(201)에 형성된 배선을 통하여 상기 메모리 컨트롤러(110)에 온도 출력값을 전달할 수 있다.
온도 측정 센서(260)로는 여러 종류의 것, 예컨대 측온저항체(resistance temperature detector, RTD)와 서미스터(thermistor) 등이 있다. 상기 측온저항체는 온도에 따른 저항값의 변화가 심한 금속, 예컨대 백금(Pt)을 사용하여 그 저항값의 변화를 측정하여 온도를 검출하는 온도 센서이다. 상기 서미스터는 망간, 니켈, 구리, 코발트, 크롬, 철 등의 산화물을 혼합 소결한 반도체 소자로서, 온도에 따른 저항값의 변화가 심한 특성을 가지므로 온도 센서로서 많이 이용된다. 이러한 서미스터는 다양한 형태로 제조되어 사용되며, 그 일 예로서 서미스터의 양측에 전극들을 형성하여 칩 형태로 제조한 서미스터 칩이 있다.
상기 메모리 컨트롤러(110) 내에는 상기 온도 측정 센서(260)로부터 온도 값을 입력받아 상기 비휘발성 저장 장치(200)의 온도를 제어하기 위한 펌웨어가 저장되어 있다. 이하에서는 상기 펌웨어에 의하여 이루어지는 비휘발성 저장 장치(200)의 온도 제어 방법을 설명한다.
도 6은 본 발명의 실시예들에 따른 비휘발성 저장 장치(200)의 온도 제어 방법을 나타낸 흐름도이다.
도 6을 참조하면, 비휘발성 저장 장치(200)의 동작이 시작되면 일단 데이터 입출력 성능(P)은 최대 데이터 입출력 성능으로 설정한다(S10). 여기서 데이터 입출력 성능(P)은 데이터 입출력 속도로 대표될 수 있지만 여기에 한정되는 것은 아니다. 데이터 입출력 속도는, 예를 들면, 데이터 입출력의 채널 수, 웨이(way)의 수, 및/또는 데이터 쓰기/읽기의 시간, 특히 비휘발성 메모리에서의 데이터 쓰기 및 읽기의 시간을 조절함으로써 제어될 수 있다.
상기 데이터 쓰기/읽기의 시간은 비휘발성 메모리(220)에 읽고 쓰는 속도를 조절함으로써 제어될 수 있다. 비휘발성 메모리(220)에 읽고 쓰는 속도는, 예를 들면, NAND 메모리의 경우에 있어서 Tprog 함수에 의하여 제어될 수 있다. 상기 Tprog 함수는 상기 메모리 컨트롤러(110) 내의, 온도 제어를 위한 펌웨어와 링크되어 있을 수 있다.
그런 다음, 온도 측정 센서(260)를 이용하여 상기 비휘발성 저장 장치(200)의 온도 T를 측정한다(S20).
상기 비휘발성 저장 장치(200)의 온도는 내부에 구비된 온도 측정 센서(260)의 출력값에 의하여 대표될 수 있다. 그렇기 때문에 상기 온도 측정 센서(260)의 설치 위치는 이러한 점을 고려하여 결정될 수 있다. 예를 들면, 상기 온도 측정 센서(260)는 상기 비휘발성 저장 장치(200)의 구성 부품들 중에서 가장 타이트하게 온도 제어를 할 필요가 있는 구성 부품에 인접하여 설치될 수 있다. 예를 들면, 상기 온도 측정 센서(260)는 상기 메모리 컨트롤러(110), 상기 휘발성 메모리(230), 상기 비휘발성 메모리(220), 및 상기 기판(201) 중 적어도 하나의 표면 또는 그에 인접하여 배치될 수 있다. 일부 실시예들에 있어서, 상기 온도 측정 센서(260)는 비휘발성 메모리(220)에 인접하여 설치될 수 있다. 일부 실시예들에 있어서, 상기 온도 측정 센서(260)는 상기 휘발성 메모리(230), 상기 비휘발성 메모리(220), 또는 로직칩 내부의 반도체 활성면에 배치될 수 있다.
그런 다음, 측정된 상기 온도 T가 제어 개시 온도(control engagement temperature) Tc보다 높은지 여부를 판정한다(S40).
만일 측정된 상기 온도 T가 제어 개시 온도 Tc보다 높지 않다면 데이터 입출력 성능(P)을 최대 데이터 입출력 성능으로 설정할수 있다(S10).
그렇지 않고, 만일 상기 온도 T가 제어 개시 온도 Tc보다 높다면 소정 규칙에 따라 데이터 입출력 성능(P)을 제어할 수 있다(S50).
예를 들면, 상기 데이터 입출력 성능(P)은 하기 식 (1)에 따라 제어될 수 있다.
여기서, Pmax는 상기 비휘발성 저장 장치(200)의 최대 데이터 입출력 성능이다.
즉, 상기 데이터 입출력 성능 P는 (ΔT/ΔTb)를 변수로 하여 제어될 수 있다. (ΔT/ΔTb)의 구체적인 의미에 대해서는 아래에서 상술한다.
또한 상기 (ΔT/ΔTb)를 변수로 하는 함수 f(ΔT/ΔTb)의 구체적인 수식은, 예를 들면, 하기 식(2)와 같을 수 있다.
식 (1) 및 식 (2)의 각 변수들을 보다 상세하게 설명하기 위하여 도 7을 참조한다. 도 7은 시간에 따른 가상의 온도 변화 프로파일을 나타낸 그래프이다.
도 7을 참조하면, 현재의 시간 t까지의 온도 프로파일은 실선으로 나타내고, 현재 이후의 시간에 대해서는 점선의 곡선을 따라 비휘발성 저장 장치(200)의 온도가 변화한다고 가정한다.
Tmax는 상기 비휘발성 저장 장치(200)에게 허용되는 최대 온도이다. 상기 비휘발성 저장 장치(200)은 Tmax를 절대 넘지 않도록 제어될 수도 있고, 경우에 따라서는 Tmax를 단지 온도 제어를 위한 가이드라인으로 활용하여 제어될 수도 있다.
제어 개시 온도 Tc는 온도 제어가 개입되기 시작하는 온도이다. 비휘발성 저장 장치(200)의 온도 T가 Tc 이하인 시점 tc까지는 최대 성능으로 설정되다가 T가 Tc보다 커지는 tc 이후의 시기에는 상기 식 (2)에 따라 조절된 성능으로 비휘발성 저장 장치(200)이 동작된다. 조절된 성능에 따른 동작에 의하여 점차 온도가 하강하여 다시 Tc에 도달하면(시점 t1), 다시 최대 성능으로 비휘발성 저장 장치(200)이 동작될 수 있다. 최대 성능으로의 동작에 따라 상기 비휘발성 저장 장치(200)의 온도가 다시 Tc에 도달하면(시점 t2), 다시 온도 제어가 개입되어 조절된 성능으로 동작될 수 있다.
식 (2)에서 ΔT는 상기 비휘발성 저장 장치의 온도 T와 기준 온도 Tb 사이의 차이이고, ΔTb는 상기 비휘발성 저장 장치의 최대 허용 온도 Tmax와 기준 온도 Tb 사이의 차이이다. 상기 기준 온도 Tb는 ΔT와 ΔTb를 산출하기 위한 기준점으로서의 역할을 하는 온도이며, 상기 비휘발성 저장 장치(200)의 매칭을 고려하여 적절히 선택될 수 있다. 상기 기준 온도 Tb는, 예를 들면, 상기 제어 개시 온도 Tc보다 낮은 온도일 수 있다. 그러나, 본 발명이 여기에 한정되는 것은 아니다.
상기 Tmax, Tc, Tb는 메모리 컨트롤러(110) 또는 비휘발성 메모리(220) 등에 저장되어 있을 수 있다.
또, 식 (2)에서 α와 β는 각각 제어 성능을 고려하여 결정될 수 있는 파라미터들이다. 이에 관해서는 아래에서 더욱 상세하게 설명한다.
다시 도 6을 참조하면, 이와 같은 제어 루프는 소정 시간 간격을 주기로 하여 비휘발성 저장 장치(200)의 동작이 종료될 때까지 반복될 수 있다(S30). 즉, 상기 비휘발성 저장 장치(200)의 동작을 종료하라는 동작 종료 요청이 있는지 여부를 판단하여 그러한 요청이 없는 한 상기 제어 루프는 소정 시간 간격으로 계속 반복될 수 있다. 상기 동작 종료 요청은, 예를 들면, 호스트로부터 수신될 수 있다.
상기 시간 간격은, 예를 들면, 1초 내지 1시간 사이의 주기일 수 있으나 여기에 한정되는 것은 아니다. 일부 실시예들에 있어서, 상기 시간 간격은 1초 내지 10분 사이의 주기를 가질 수 있다. 일부 실시예들에 있어서, 상기 시간 간격은 1초 내지 1분 사이의 주기를 가질 수 있다.
도 8은 비휘발성 저장 장치(200)의 온도 변화에 따른 데이터 입출력 성능 P의 변화를 나타낸 그래프이다.
도 8을 참조하면, 비휘발성 저장 장치(200)의 온도 T가 Tc에 도달하였음을 인지하는 시간 t1까지는 비휘발성 저장 장치(200)의 성능 제어가 개입되지 않는다. 다시 말해, 시점 t1까지는 상기 비휘발성 저장 장치(200)의 성능 P는 Pmax로 유지될 수 있다.
메모리 컨트롤러(110)는 시간 t1에서 측정된 비휘발성 저장 장치(200)의 온도 T가 Tc를 초과함을 인지하고 데이터 입출력 성능 P를 식 (2)에 의하여 제어한다. 따라서 시점 t1에서 상기 데이터 입출력 성능 P는 예를 들면, 0.75Pmax와 같이 감소될 수 있다.
입출력 성능 P가 크게 감소했기 때문에 비휘발성 저장 장치(200)의 온도 상승 속도도 감소하게 된다. 시점 t2, 나아가 시점 t3까지 온도가 계속 증가하는 경우 데이터 입출력 성능 P는 계속적으로 감소하게 된다. 다만, 온도 상승폭이 감소함에 따라 데이터 입출력 성능 P의 감소폭도 줄어들 수 있다.
시점 t4에 이르러 비휘발성 저장 장치(200)의 온도 T가 감소했음이 메모리 컨트롤러(110)에 의하여 인지되면 다시 데이터 입출력 성능 P는 식 (2)에 의하여 계산된 바에 따라 다시 증가될 수 있다.
시점 t5에서 발생한, 예를 들면, 외부 환경 변화 E에 의하여 비휘발성 저장 장치(200)의 온도가 급격하게 증가하는 것으로 가정한다. 이러한 외부 환경 변화 E는, 예를 들면, 에어컨과 같은 외부 냉각 장치의 고장, 환풍 장치의 부분적인 폐색 등일 수 있다.
이러한 경우 시점 t5에서 시점 t6에 이르기까지 급격한 온도 증가가 있을 수 있다. 시점 t6에서 증가한 온도 T에 대응하여 데이터 입출력 성능 P가 감소하지만 이러한 데이터 입출력 성능 P의 감소가 충분하지 않을 수 있다. 그 결과 시점 t7에서는 추가적인 온도 상승이 감지되고, 그에 따라 데이터 입출력 성능 P도 추가적으로 감소될 수 있다.
비휘발성 저장 장치(200)의 온도 T가 시점 t8까지 증가하다가 시점 t9에서 감소한 것이 확인되면 데이터 입출력 성능 P는 다시 증가된다. 하지만 아직 상기 온도 T가 Tmax에 가깝기 때문에 데이터 입출력 성능 P는 낮은 편이다. 상기 온도 T가 계속 감소하여 제어 개시 온도 Tc 이하가 되면 데이터 입출력 성능 P는 다시 최대 입출력 성능 Pmax로 상승될 수 있다.
식 (2)에서 파리미터 α와 β의 값들을 조절함으로써 비휘발성 저장 장치(200)의 온도 T의 변화에 따른 데이터 입출력 성능 P의 변화폭을 조절할 수 있다.
예를 들면, β의 값을 0과 1 사이의 값으로 설정하게 되면 비휘발성 저장 장치(200)의 온도 T를 보다 신속하게 감소시킬 수 있다. β의 값을 0에 가깝게 할수록 데이터 입출력 성능 P의 감소폭이 더 커지며, 따라서 비휘발성 저장 장치(200)의 온도 T를 보다 신속하게 감소시킬 수 있다.
또, α의 값을 크게 하면 데이터 입출력 성능 P를 더 작게 할 수 있기 때문에 비휘발성 저장 장치(200)의 온도 T를 보다 신속하게 감소시킬 수 있다. 반대로 α의 값을 작게 하면 비휘발성 저장 장치(200)의 온도 T를 보다 천천히 감소시킬 수 있다.
따라서, 이러한 점들을 고려하여 상기 파리미터 α와 β의 값들을 적절히 튜닝할 수 있다.
도 7 및 도 8에서는 제어 개시 온도 Tc가 기준 온도 Tb보다 더 큰 것으로 도시되었지만, 본 발명이 여기에 한정되는 것은 아니다. 제어 개시 온도 Tc는 기준 온도 Tb와 동일하도록 설정될 수도 있고, 반대로 제어 개시 온도 Tc가 기준 온도 Tb보다 더 작도록 설정될 수도 있다.
종전에는 비휘발성 저장 장치의 온도 제어가 필요하다고 판정하는 경우에는 최대 성능과 미리 설정된 최소 성능 사이에서만 스위칭시키면서 온도를 제어하는 "on-off" 방식, 또는 온도 구간에 따라 미리 설정된 성능을 배정하여 해당 온도 구간에 이르면 기계적으로 그에 배정된 성능을 발휘하게 하는 방식이 이용되었다. 이러한 방식들은 보다 높은 성능으로 동작하면서도 온도 제어를 할 수 있는 경우가 존재하기 때문에 불필요한 성능의 희생이 불가피하였다.
하지만 위에서 설명한 본원의 방법에서는 해당 온도 구간에서 발휘할 수 있는 최대 성능을 발휘하기 때문에 열로부터 저장 장치를 보호하는 범위에서 최대한 성능을 발휘할 수 있다.
도 9는 본 발명의 실시 예들에 따른 비휘발성 저장 장치(100, 200)를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 9를 참조하면, 컴퓨팅 시스템(3000)은 프로세서(3100), RAM(3200), 입출력 장치(3300), 전원 장치(3400) 및 메모리 시스템(1000)을 포함할 수 있다. 한편, 도 9에는 도시되지 않았지만, 컴퓨팅 시스템(3000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다. 컴퓨팅 시스템(3000)은 퍼스널 컴퓨터로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(personal digital assistant) 및 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다. 메모리 시스템(1000)은 도 1 또는 도 5에 도시된 비휘발성 저장 장치(100, 200)로 구현될 수 있다.
프로세서(3100)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시예에 따라, 프로세서(3100)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일수 있다. 프로세서(3100)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스(3500)를 통하여 RAM(3200), 입출력 장치(3300) 및 메모리 시스템(1000)과 통신을 수행할 수 있다. 실시예에 따라, 프로세서(3100)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
메모리 장치(3200)는 컴퓨팅 시스템(3000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리 장치(3200)는 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다.
입출력 장치(3300)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(3400)는 컴퓨팅 시스템(3000)의 동작에 필요한 동작 전압을 공급할 수 있다.
도 10은 본 발명의 실시 예들에 따른 비휘발성 저장 장치(100, 200)를 SSD로서 적용한 예를 나타내는 블록도이다.
도 10을 참조하면, SSD 시스템(4000)은 호스트(4100) 및 SSD(4200)를 포함할 수 있다. SSD(4200)는 신호 커넥터(signal connector)(4211)를 통해 호스트(4100)와 신호를 주고 받으며, 전원 커넥터(power connector)(4221)를 통해 전원을 입력 받는다. SSD(4200)는 SSD 컨트롤러(4210), 보조 전원 장치(4220) 및 복수의 메모리 장치들(4230, 4240, 4250)을 포함할 수 있다. 이때, SSD 컨트롤러(4210) 또는 복수의 메모리 장치들(4230, 4240, 4350)은 도 1에 도시된 메모리 컨트롤러(110) 또는 저장 장치(120)로 구현될 수 있다.
도 11은 도 10의 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 블록도이다.
도 11을 참조하면, 본 발명의 실시예에 따른 네트워크 시스템(5000)은 네트워크(5200)를 통해 연결되는 서버 시스템(5100) 및 다수의 단말들(5300, 5400, 5500)을 포함할 수 있다. 본 발명의 실시예에 따른 서버 시스템(5100)은 네트워크(5200)에 연결되는 다수의 단말들(5300, 5400, 5500)로부터 수신되는 요청을 처리하는 서버(5110) 및 단말들(5300, 5400, 5500)로부터 수신되는 요청에 대응되는 데이터를 저장하는 SSD(5120)를 포함할 수 있다. 이때, SSD(5120)는 도 10의 SSD(4000)일 수 있다.
한편, 상기에서 설명된 본 발명에 따른 플래시 메모리 시스템은 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 예를 들면, 본 발명에 따른 메모리 시스템은 PoP (Package on Package), Ball grid arrays (BGAs), Chip scale packages (CSPs), Plastic Leaded Chip Carrier (PLCC), Plastic Dual In-Line Package (PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board (COB), Ceramic Dual In-Line Package (CERDIP), Plastic Metric Quad Flat Pack (MQFP), Thin Quad Flatpack (TQFP), Small Outline (SOIC), Shrink Small Outline Package (SSOP), Thin Small Outline (TSOP), Thin Quad Flatpack (TQFP), System In Package (SIP), Multi Chip Package (MCP), Wafer-level Fabricated Package (WFP), Wafer-Level Processed Stack Package (WSP), 등과 같은 패키지들을 이용하여 실장될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명은 반도체 산업에 유용하게 이용될 수 있다.
100, 200: 비휘발성 저장 장치
110: 메모리 컨트롤러
111: 중앙처리장치 112: ROM
113: RAM 114: 호스트 인터페이스
115: ECC 처리부 116: 메모리 인터페이스
117: 버스 120: 메모리 장치
121, 122, 123: 플래시 메모리 디바이스들
201: 기판 220: 비휘발성 메모리
230: 휘발성 메모리 240: 보조 전원
250: 커넥터
111: 중앙처리장치 112: ROM
113: RAM 114: 호스트 인터페이스
115: ECC 처리부 116: 메모리 인터페이스
117: 버스 120: 메모리 장치
121, 122, 123: 플래시 메모리 디바이스들
201: 기판 220: 비휘발성 메모리
230: 휘발성 메모리 240: 보조 전원
250: 커넥터
Claims (10)
- 비휘발성 저장 장치의 온도 제어 방법으로서,
상기 비휘발성 저장 장치의 온도가 제어 개시 온도보다 높은지 여부를 판단하는 단계; 및
상기 비휘발성 저장 장치의 온도가 상기 제어 개시 온도보다 높으면, 하기 식 (2)에 따라 데이터 입출력 성능(P)을 변화시키는 단계;
를 포함하는 비휘발성 저장 장치의 온도 제어 방법.
(2)
(여기서, Pmax는 상기 비휘발성 저장 장치의 최대 데이터 입출력 성능이고,
ΔT는 상기 비휘발성 저장 장치의 온도와 기준 온도 사이의 차이이고,
ΔTb는 상기 비휘발성 저장 장치의 최대 허용 온도와 기준 온도 사이의 차이이고,
α와 β는 각각 상기 비휘발성 저장 장치의 제어 파라미터들임) - 제 1 항에 있어서,
상기 데이터 입출력 성능은 데이터 입출력 속도인 것을 특징으로 하는 비휘발성 저장 장치의 온도 제어 방법. - 제 2 항에 있어서,
상기 데이터 입출력 성능(P)을 변화시키는 단계가, 상기 데이터 입출력 속도를 제어하기 위하여 데이터 입출력의 채널의 수 및/또는 웨이(way)의 수를 제어하는 단계를 포함하는 것을 특징으로 하는 비휘발성 저장 장치의 온도 제어 방법. - 제 2 항에 있어서,
상기 데이터 입출력 성능(P)을 변화시키는 단계가, 상기 데이터 입출력 속도를 제어하기 위하여 상기 비휘발성 메모리에 쓰고 읽는 속도를 제어하는 단계를 포함하는 것을 특징으로 하는 비휘발성 저장 장치의 온도 제어 방법. - 제 1 항에 있어서,
상기 비휘발성 저장 장치의 온도는 상기 비휘발성 저장 장치의 특정 지점에 배치된 온도 측정 센서에서의 온도 측정값으로 대표되는 것을 특징으로 하는 비휘발성 저장 장치의 온도 제어 방법. - 제 5 항에 있어서,
상기 비휘발성 저장 장치는
기판; 및
상기 기판 위에 실장된 메모리 컨트롤러, 휘발성 메모리, 및 비휘발성 메모리를 포함하고,
상기 온도 측정 센서는 상기 메모리 컨트롤러, 상기 휘발성 메모리, 상기 비휘발성 메모리, 및 상기 기판 중 적어도 하나의 표면 또는 그에 인접하여 배치되는 것을 특징으로 하는 비휘발성 저장 장치의 온도 제어 방법. - 제 1 항에 있어서,
데이터 입출력 성능(P)을 변화시키는 단계 이후에,
상기 비휘발성 저장 장치의 온도가 상기 제어 개시 온도보다 낮은지 여부를 판단하는 단계; 및
상기 비휘발성 저장 장치의 온도가 상기 제어 개시 온도보다 낮으면, 데이터 입출력 성능(P)을 최대값(Pmax)으로 변화시키는 단계;
를 더 포함하는 것을 특징으로 하는 비휘발성 저장 장치의 온도 제어 방법. - 온도 측정 센서가 소정 시간 간격으로 온도를 감지하고, 온도값을 메모리 컨트롤러로 전송하는 단계; 및
상기 메모리 컨트롤러는 상기 온도값에 기초하여 비휘발성 메모리에 대한 쓰기/읽기 속도를 제어하는 단계;
를 포함하고,
상기 비휘발성 메모리에 대한 쓰기/읽기 속도를 제어하는 단계는, 상기 온도가 제어 개시 온도보다 높지 않으면 상기 쓰기/읽기 속도를 최대값으로 설정하고, 상기 온도가 제어 개시 온도보다 높으면 하기 식(1)에 근거하여 다음 세 가지 전략 중의 어느 하나 이상을 적용하는 단계를 포함하는 것을 특징으로 하는 비휘발성 저장 장치의 온도 제어 방법.
(1)
(a) 데이터 입출력의 채널의 수를 감소시키는 단계;
(b) 데이터 입출력의 웨이(way)의 수를 감소시키는 단계;
(c) 비휘발성 메모리에 대한 데이터의 쓰기/읽기 속도를 감소시키는 단계.
(여기서, Pmax는 상기 비휘발성 저장 장치의 최대 데이터 입출력 성능이고,
ΔT는 상기 비휘발성 저장 장치의 온도와 기준 온도 사이의 차이이고,
ΔTb는 상기 비휘발성 저장 장치의 최대 허용 온도와 기준 온도 사이의 차이이임) - 기판;
상기 기판 위에 실장된 메모리 컨트롤러, 휘발성 메모리, 및 비휘발성 메모리; 및
상기 기판 위에 배치된 온도 측정 센서;
를 포함하고,
상기 메모리 컨트롤러는 상기 온도 측정 센서로부터 온도를 입력 받고, 입력받은 온도에 근거하여 데이터 입출력 성능을 제어하도록 구성된 것을 특징으로 하는 비휘발성 저장 장치. - 제어부;
데이터를 입력 또는 출력할 수 있는 입출력부;
데이터를 저장할 수 있는 메모리부;
외부 장치와 데이터를 전송할 수 있는 인터페이스부; 및
상기 제어부, 입출력부, 메모리부 및 인터페이스부를 서로 통신 가능하도록 연결하는 버스;
를 포함하는 전자 시스템으로서,
상기 메모리부가 제 9 항의 비휘발성 저장 장치를 포함하는 것을 특징으로 하는 전자 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150071935A KR102347179B1 (ko) | 2015-05-22 | 2015-05-22 | 비휘발성 저장 장치의 온도 제어 방법 |
US15/160,212 US10120593B2 (en) | 2015-05-22 | 2016-05-20 | Method of controlling temperature of non-volatile storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150071935A KR102347179B1 (ko) | 2015-05-22 | 2015-05-22 | 비휘발성 저장 장치의 온도 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160137180A true KR20160137180A (ko) | 2016-11-30 |
KR102347179B1 KR102347179B1 (ko) | 2022-01-04 |
Family
ID=57325912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150071935A KR102347179B1 (ko) | 2015-05-22 | 2015-05-22 | 비휘발성 저장 장치의 온도 제어 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10120593B2 (ko) |
KR (1) | KR102347179B1 (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10282271B2 (en) | 2017-05-30 | 2019-05-07 | SK Hynix Inc. | Storage device and method of operating the same |
US10318211B2 (en) | 2017-07-17 | 2019-06-11 | SK Hynix Inc. | Memory system and method of operating the same |
US10514866B2 (en) | 2017-11-23 | 2019-12-24 | SK Hynix Inc. | Data storage device, operating method thereof and method for operating nonvolatile memory device |
KR102440364B1 (ko) * | 2021-08-27 | 2022-09-05 | 삼성전자주식회사 | 성능 조정 동작을 수행하는 메모리 시스템 |
US11455123B2 (en) | 2020-03-31 | 2022-09-27 | SK Hynix Inc. | Data storage apparatus for thermal throttling and operation method thereof |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10013194B1 (en) * | 2017-06-02 | 2018-07-03 | Western Digital Technologies, Inc. | Handling thermal shutdown for memory devices |
TWI646548B (zh) * | 2017-11-16 | 2019-01-01 | 慧榮科技股份有限公司 | 用來於一記憶裝置中進行刷新管理之方法以及記憶裝置及其控制器 |
CN108052292A (zh) * | 2017-12-25 | 2018-05-18 | 成都信息工程大学 | 一种固态硬盘的高温保护方法 |
CN108628718B (zh) * | 2018-03-29 | 2021-02-09 | 深圳忆联信息系统有限公司 | 一种减轻温度影响的ssd管理方法及ssd |
US11036413B1 (en) * | 2019-12-17 | 2021-06-15 | Micron Technology, Inc. | Memory sub-system temperature regulation |
CN111651327B (zh) * | 2020-06-03 | 2022-09-20 | 深圳忆联信息系统有限公司 | 固态硬盘的温度控制方法、装置、计算机设备和存储介质 |
CN112631870B (zh) * | 2020-12-29 | 2023-01-06 | 深圳大普微电子科技有限公司 | 一种温度控制方法、装置与固态硬盘 |
TWI757216B (zh) * | 2021-07-23 | 2022-03-01 | 群聯電子股份有限公司 | 溫度控制方法、記憶體儲存裝置及記憶體控制電路單元 |
CN115904262B (zh) * | 2023-03-10 | 2023-05-05 | 绿晶半导体科技(北京)有限公司 | 一种高写入性能的固态硬盘写入方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080022140A1 (en) * | 2006-07-18 | 2008-01-24 | Renesas Technology Corp. | SoC power management ensuring real-time processing |
US20080114967A1 (en) * | 2006-11-09 | 2008-05-15 | Makoto Saen | Semiconductor integrated circuit device |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065945A (ja) | 2004-08-26 | 2006-03-09 | Renesas Technology Corp | 不揮発性半導体記憶装置および半導体集積回路装置 |
KR20060043974A (ko) | 2004-11-11 | 2006-05-16 | 주식회사 대우일렉트로닉스 | 모터 구동 ic용 과열 방지 방법 |
US7640392B2 (en) | 2005-06-23 | 2009-12-29 | Qualcomm Incorporated | Non-DRAM indicator and method of accessing data not stored in DRAM array |
KR20080065065A (ko) | 2007-01-08 | 2008-07-11 | 주식회사 하이닉스반도체 | 반도체 메모리 장치의 셀프 리프레쉬 제어 회로 |
US7768856B2 (en) | 2007-10-30 | 2010-08-03 | Spansion Llc | Control of temperature slope for band gap reference voltage in a memory device |
JP2011170516A (ja) | 2010-02-17 | 2011-09-01 | Elpida Memory Inc | メモリコントローラ、半導体記憶装置およびこれらを備えるメモリシステム |
US8213255B2 (en) | 2010-02-19 | 2012-07-03 | Sandisk Technologies Inc. | Non-volatile storage with temperature compensation based on neighbor state information |
KR101776930B1 (ko) | 2011-06-29 | 2017-09-08 | 에스프린팅솔루션 주식회사 | 화상 형성 장치 및 그 제어방법 |
US20130080679A1 (en) | 2011-09-26 | 2013-03-28 | Lsi Corporation | System and method for optimizing thermal management for a storage controller cache |
KR101938659B1 (ko) | 2012-02-29 | 2019-01-15 | 삼성전자주식회사 | 불 휘발성 메모리 장치 및 그것을 포함한 메모리 시스템 |
KR101927096B1 (ko) | 2012-10-19 | 2018-12-10 | 삼성전자주식회사 | 어플리케이션 프로세서, 이를 구비하는 모바일 기기 및 어플리케이션 프로세서를 위한 클럭 신호 선택 방법 |
KR20140118555A (ko) | 2013-03-29 | 2014-10-08 | 삼성전자주식회사 | 메모리 시스템 및 그것의 액세스 성능 조절 방법 |
US9940036B2 (en) * | 2014-09-23 | 2018-04-10 | Western Digital Technologies, Inc. | System and method for controlling various aspects of PCIe direct attached nonvolatile memory storage subsystems |
-
2015
- 2015-05-22 KR KR1020150071935A patent/KR102347179B1/ko active IP Right Grant
-
2016
- 2016-05-20 US US15/160,212 patent/US10120593B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080022140A1 (en) * | 2006-07-18 | 2008-01-24 | Renesas Technology Corp. | SoC power management ensuring real-time processing |
US20080114967A1 (en) * | 2006-11-09 | 2008-05-15 | Makoto Saen | Semiconductor integrated circuit device |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US10318211B2 (en) | 2017-07-17 | 2019-06-11 | SK Hynix Inc. | Memory system and method of operating the same |
US10514866B2 (en) | 2017-11-23 | 2019-12-24 | SK Hynix Inc. | Data storage device, operating method thereof and method for operating nonvolatile memory device |
US11455123B2 (en) | 2020-03-31 | 2022-09-27 | SK Hynix Inc. | Data storage apparatus for thermal throttling and operation method thereof |
KR102440364B1 (ko) * | 2021-08-27 | 2022-09-05 | 삼성전자주식회사 | 성능 조정 동작을 수행하는 메모리 시스템 |
Also Published As
Publication number | Publication date |
---|---|
US10120593B2 (en) | 2018-11-06 |
KR102347179B1 (ko) | 2022-01-04 |
US20160342346A1 (en) | 2016-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102347179B1 (ko) | 비휘발성 저장 장치의 온도 제어 방법 | |
CN107305530B (zh) | 数据存储装置及其操作方法 | |
CN107123441B (zh) | 数据存储装置及其操作方法 | |
EP3472840B1 (en) | Managing refresh for flash memory | |
US9070481B1 (en) | Internal current measurement for age measurements | |
US20130145079A1 (en) | Memory system and related wear-leveling method | |
US9406392B2 (en) | Memory system and a programming method thereof | |
US10817222B2 (en) | Nonvolatile memory apparatus, semiconductor system including the nonvolatile memory apparatus, and operating method of the nonvolatile memory apparatus | |
US8295084B2 (en) | Nonvolatile memory device and related programming method | |
KR20130127274A (ko) | 메모리 오퍼레이션 타이밍 제어 방법 및 이를 이용한 메모리 시스템 | |
KR20210057355A (ko) | 메모리 장치, 메모리 컨트롤러, 메모리 시스템 및 그 동작 방법 | |
KR20170076350A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN110010185A (zh) | 存储器系统及其操作方法 | |
KR20200132171A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 장치 | |
KR20140118555A (ko) | 메모리 시스템 및 그것의 액세스 성능 조절 방법 | |
US9502105B2 (en) | Resistive memory device, operating method thereof, and system having the same | |
CN110795366B (zh) | 数据存储装置及数据存储装置的操作方法 | |
KR20190037659A (ko) | 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 | |
KR20230050719A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20220118004A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20220070989A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20210071314A (ko) | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 | |
KR20210000010A (ko) | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 | |
CN112951285B (zh) | 系统、控制器和用于操作系统的方法 | |
KR20230034524A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |