KR102239356B1 - 클록 제어 유닛 또는 전원 제어 유닛을 포함하는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법 - Google Patents

클록 제어 유닛 또는 전원 제어 유닛을 포함하는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법 Download PDF

Info

Publication number
KR102239356B1
KR102239356B1 KR1020150023899A KR20150023899A KR102239356B1 KR 102239356 B1 KR102239356 B1 KR 102239356B1 KR 1020150023899 A KR1020150023899 A KR 1020150023899A KR 20150023899 A KR20150023899 A KR 20150023899A KR 102239356 B1 KR102239356 B1 KR 102239356B1
Authority
KR
South Korea
Prior art keywords
data input
memory
temperature
flash memory
output speed
Prior art date
Application number
KR1020150023899A
Other languages
English (en)
Other versions
KR20160101751A (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 KR1020150023899A priority Critical patent/KR102239356B1/ko
Priority to US15/016,464 priority patent/US10019188B2/en
Priority to CN201610087796.8A priority patent/CN105895161B/zh
Publication of KR20160101751A publication Critical patent/KR20160101751A/ko
Application granted granted Critical
Publication of KR102239356B1 publication Critical patent/KR102239356B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1604Error detection or correction of the data by redundancy in hardware where the fault affects the clock signals of a processing unit and the redundancy is at or within the level of clock signal generation hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects

Abstract

본 발명의 실시 예에 따른 저장 장치는 플래시 메모리와 메모리 컨트롤러를 포함한다. 상기 메모리 컨트롤러는 상기 플래시 메모리에 동작 오류가 발생한 경우에 제 1 데이터 입출력 속도로 상기 플래시 메모리에 대한 제 1 재처리 동작(retry operation 1)을 수행하고, 상기 제 1 재처리 동작에 의해 상기 플래시 메모리의 동작 오류가 구제되지 않는 경우에 상기 제 1 데이터 입출력 속도보다 낮은 제 2 데이터 입출력 속도로 상기 플래시 메모리에 대한 제 2 재처리 동작(retry operation 2)을 수행한다. 본 발명에 의하면, 추운 온도와 같은 환경에서는 플래시 메모리의 데이터 입출력을 위한 클록의 주파수를 낮추어 주고, 따뜻한 온도 또는 상온에서는 클록 주파수를 높게 설정함으로, 저장 장치의 성능을 극대화하고 동작 오류를 최소화할 수 있다.

Description

클록 제어 유닛 또는 전원 제어 유닛을 포함하는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법 {Storage device and Memory system including clock control unit or voltage control unit, and operating method thereof}
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 클록 제어 유닛 또는 전원 제어 유닛을 포함하는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법에 관한 것이다.
반도체 메모리 장치는 일반적으로 DRAM, SRAM 등과 같은 휘발성 메모리 장치와 EEPROM, FRAM, PRAM, MRAM, RRAM, 플래시 메모리 등과 같은 불 휘발성 메모리 장치로 구분할 수 있다. 휘발성 메모리 장치는 전원이 차단될 때 저장된 데이터를 잃지만, 불 휘발성 메모리는 전원이 차단되더라도 저장된 데이터를 보존한다. 특히, 플래시 메모리는 높은 프로그래밍 속도, 낮은 전력 소비, 대용량 데이터 저장 등의 장점을 갖는다. 따라서 플래시 메모리를 포함하는 메모리 시스템은 데이터 저장 매체로 널리 사용되고 있다.
플래시 메모리를 기반으로 하는 저장 장치는 온도(temperature), 전원(voltage), 기후(weather) 등과 같은 환경 조건에 따라 성능 및 동작 오류 발생 율이 달라질 수 있다. 예를 들어, 저장 장치는 상온에서는 (room temperature)에 사용하는 경우에는 잘 동작하지만, 추운 온도(cold temperature)에서는 제대로 동작하지 않을 수 있다. 저장 장치의 동작 오류는 여러 가지 원인에 의해 발생할 수 있지만, 메모리 장치에 사용되는 셀 트랜지스터의 온도 특성이 주요 원인일 수 있다.
본 발명의 목적은 온도와 같은 환경 변화에 따라 발생할 수 있는 성능 변화나 동작 오류를 줄일 수 있는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 저장 장치는 플래시 메모리와 메모리 컨트롤러를 포함한다. 상기 메모리 컨트롤러는 상기 플래시 메모리에 동작 오류가 발생한 경우에 제 1 데이터 입출력 속도로 상기 플래시 메모리에 대한 제 1 재처리 동작(retry operation 1)을 수행하고, 상기 제 1 재처리 동작에 의해 상기 플래시 메모리의 동작 오류가 구제되지 않는 경우에 상기 제 1 데이터 입출력 속도보다 낮은 제 2 데이터 입출력 속도로 상기 플래시 메모리에 대한 제 2 재처리 동작(retry operation 2)을 수행한다.
상기 메모리 컨트롤러는 노말 동작 시에 상기 제 1 데이터 입출력 속도로 상기 플래시 메모리에 대한 동작을 수행한다. 상기 메모리 컨트롤러는 상기 제 1 및 제 2 재처리 동작 동안에, 상기 플래시 메모리에 대한 데이터 입출력 속도를 관리하기 위한 클록 제어 유닛을 포함한다. 상기 클록 제어 유닛은 제 1 밸리 서치(Error bits이 낮은 Read level 탐색) 동작을 수행하고, 제 1 밸리 서치 결과를 이용하여 상기 제 1 데이터 입출력 속도로 상기 제 1 재처리 동작을 수행한다. 상기 클록 제어 유닛은 제 2 밸리 서치 동작을 수행하고, 제 2 밸리 서치 결과를 이용하여 상기 제 2 데이터 입출력 속도로 상기 제 2 재처리 동작을 수행한다.
본 발명의 실시 예에 따른 메모리 시스템은 호스트, 메모리 장치, 그리고 메모리 컨트롤러를 포함한다. 상기 메모리 컨트롤러는 노말 속도(normal speed)로 상기 메모리 장치에 대한 제 1 재처리 동작(retry operation)을 수행하고, 상기 제 1 재처리 동작에 의해 상기 메모리 장치의 동작 오류가 구제되지 않는 경우에 다운 속도(down speed)로 상기 메모리 장치에 대한 제 2 재처리 동작(retry operation 2)을 수행한다.
상기 메모리 컨트롤러는 제 1 밸리 서치 동작을 수행하고, 제 1 밸리 서치 결과를 이용하여 상기 노말 속도(normal speed)로 상기 제 1 재처리 동작을 수행한다. 상기 메모리 컨트롤러는 제 2 밸리 서치 동작을 수행하고, 제 2 밸리 서치 결과를 이용하여 상기 다운 속도(down speed)로 상기 제 2 재처리 동작을 수행한다.
본 발명의 실시 예에 따른 저장 장치의 동작 방법은, 상기 플래시 메모리에 동작 오류가 발생한 경우에 제 1 데이터 입출력 속도로 상기 플래시 메모리에 대한 제 1 재처리 동작(retry operation 1)을 수행하는 단계와, 상기 제 1 재처리 동작에 의해 상기 플래시 메모리의 동작 오류가 구제되지 않는 경우에 상기 제 1 데이터 입출력 속도보다 낮은 제 2 데이터 입출력 속도로 상기 플래시 메모리에 대한 제 2 재처리 동작(retry operation 2)을 수행하는 단계를 포함한다.
본 발명의 실시 예에 따른 저장 장치는 클록 제어 유닛 또는 전원 제어 유닛을 통해 데이터 입출력 속도를 조절할 수 있다. 본 발명에 의하면, 추운 온도와 같은 환경에서는 플래시 메모리의 데이터 입출력을 위한 클록의 주파수를 낮추어 주고, 따뜻한 온도 또는 상온에서는 클록 주파수를 높게 설정함으로, 저장 장치의 성능을 극대화하고 동작 오류를 최소화할 수 있다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 2 및 도 3은 도 1에 도시된 메모리 컨트롤러를 예시적으로 보여주는 5 블록도이다. 도 2는 클록 제어 유닛이 하드웨어 형태로 구현된 예를 보여주고, 도 3은 소프트웨어 형태로 구현된 예를 보여준다.
도 4는 도 1 내지 도 3에 도시된 클록 제어 유닛의 동작을 설명하기 위한 순서도이다.
도 5는 본 발명의 다른 실시 예로서 플래시 메모리를 기반으로 저장 장치를 보여주는 블록도이다.
도 6은 도 5에 도시된 플래시 메모리가 3차원 구조를 갖는 경우를 예시적으로 보여주는 블록도이다.
도 7은 도 6에 도시된 메모리 블록(BLK1)의 3차원 구조를 예시적으로 보여주는 사시도이다.
도 8은 도 6에 도시된 메모리 블록(BLK1)의 등가 회로도이다.
도 9는 도 7 및 도 8에 도시된 메모리 셀의 저항의 변화를 보여주는 그래프이다.
도 10은 온도 변화에 따른 데이터 에러율과, 데이터 입출력 속도 변화에 따른 데이터 에러 구제율을 예시적으로 보여주는 도표이다.
도 11은 데이터 입출력 속도를 단계적으로 낮춘 예를 보여주는 타이밍도이다.
도 12는 데이터 입출력 속도를 AAA Mbps에서 CCC Mbps로 낮춘 경우에 동작 전압의 파형을 예시적으로 보여주는 그래프이다.
도 13은 도 5에 도시된 클록 제어 유닛의 구성을 예시적으로 보여주는 블록도이다.
도 14는 도 5에 도시된 클록 제어 유닛의 동작을 설명하기 위한 순서도이다.
도 15는 도 14에서 설명한 제 1 및 제 2 밸리 서치 동작을 설명하기 위한 다이어그램이다.
도 16은 클록 제어 유닛이 호스트에 위치하는 예를 보여주는 블록도이다.
도 17은 본 발명의 또 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 18은 본 발명의 또 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 19는 본 발명의 실시 예에 따른 메모리 시스템을 솔리드 스테이트 드라이브(SSD) 시스템에 적용한 예를 보여주는 블록도이다.
도 20은 도 19에 도시된 SSD 컨트롤러의 구성을 예시적으로 보여주는 블록도이다.
도 21은 본 발명의 실시 예에 따른 저장 장치를 보여주는 블록도이다.
도 22은 본 발명의 실시 예에 따른 메모리 시스템을 전자 장치로 구현한 예를 보여주는 블록도이다.
도 23은 본 발명의 실시 예에 따른 메모리 시스템을 메모리 카드 시스템에 적용한 예를 보여주는 블록도이다.
도 24는 본 발명의 실시 예에 따른 저장 장치가 모바일 장치에 사용된 경우를 보여주는 블록도이다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다. 도 1을 참조하면, 본 발명의 실시 예에 따른 메모리 시스템(1000)은 메모리 장치(1100), 메모리 컨트롤러(1200) 및 호스트(1300)를 포함한다.
메모리 장치(1100)는 메모리 컨트롤러(1200)에 의해서 제어되며, 메모리 컨트롤러(1200)로부터 커맨드(예를 들면, 읽기 또는 쓰기 커맨드 등)을 입력 받고, 그에 따른 동작을 수행한다. 메모리 장치(1100)에는 DRAM, SRAM 등과 같은 휘발성 메모리와 EEPROM, FRAM, PRAM, MRAM, RRAM, 플래시 메모리 등과 같은 불 휘발성 메모리가 포함될 수 있다.
메모리 컨트롤러(1200)는 메모리 장치(1100)와 호스트(1300) 사이에 연결된다. 메모리 컨트롤러(1200)는 호스트(1300)로부터 읽기 요청(read request)을 입력 받고, 읽기 요청에 따라 메모리 장치(1100)로부터 데이터를 읽는다. 메모리 컨트롤러(1200)는 메모리 장치(1100)로부터 읽은 데이터를 호스트(1300)로 전송한다. 또는, 메모리 컨트롤러(1200)는 호스트(1300)로부터 쓰기 요청(write request)과 데이터를 입력 받고, 쓰기 요청에 따라 메모리 장치(1100)로 쓰기 데이터를 제공한다.
호스트(1300)는 데이터 통신 규격에 따라 메모리 컨트롤러(1200)와 통신할 수 있다. 예시적으로, 호스트(1300)는 USB(Universal Serial Bus), eMMC, UFS(Universal Flash Storage), PCI(Peripheral Componentb Interconnection), PCI-E(PCI-Express), ATA(Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI(Small Computer Small Interface), ESDI(Enhanced Small Disk Interface), IDE(Integrated Drive Electronics), 그리고 파이어 와이어(Firewire) 등과 같은 다양한 통신 규격들 중 적어도 하나를 통해 메모리 컨트롤러(1200)와 통신할 수 있다.
계속해서 도 1을 참조하면, 메모리 장치(1100)와 메모리 컨트롤러(1200)는 클록(clock)의 천이(transition)에 동기하여 데이터를 주고 받는다. 메모리 장치(1100)와 메모리 컨트롤러(1200)의 데이터 입출력 방식에 따라, 클록의 상승 이나 하강 천이에서 데이터를 입출력 하는 SDR(Single Data Rate) 방식과, 클록의 상승 및 하강 천이에서 데이터를 입출력 하는 DDR(Dual Data Rate) 방식 등이 있다. 메모리 컨트롤러(1200)는 읽기 동작 시에는 읽기 클록(read clock)의 천이에 동기하여 메모리 장치(1100)로부터 데이터를 읽고, 쓰기 동작 시에는 쓰기 클록(write clock)의 천이에 동기하여 메모리 장치(1100)로 데이터를 제공한다.
메모리 컨트롤러(1200)는 클록 제어 유닛(1250, clock control unit)을 포함한다. 클록 제어 유닛(1250)은 메모리 장치(1100)의 데이터 입출력 속도(data IO speed)를 제어할 수 있다. 메모리 장치(1100)의 데이터 입출력 속도는 읽기 또는 쓰기 클록의 주파수를 변경함으로 조절할 수 있다. 클록의 주파수가 증가하면 데이터 입출력 속도가 빨라진다. 반대로, 클록의 주파수가 감소하면 데이터 입출력 속도는 늦어진다. 클록 제어 유닛(1250)은 다양한 형태로 구현될 수 있다. 예를 들면, 클록 제어 유닛(1250)는 하드웨어(hardware)로 구현되거나, 알고리즘이나 펌웨어 등과 같은 소프트웨어(software)로 구현될 수 있다.
도 2 및 도 3은 도 1에 도시된 메모리 컨트롤러를 예시적으로 보여주는 블록도이다. 도 2는 클록 제어 유닛(1250)이 하드웨어 형태로 구현된 예를 보여주고, 도 3은 소프트웨어 형태로 구현된 예를 보여준다.
도 2를 참조하면, 메모리 컨트롤러(1200a)는 메모리 인터페이스(1210), 호스트 인터페이스(1220), 중앙처리장치(1230), RAM(Random Access Memory, 1240), 클록 제어 유닛(1250), 그리고 ROM(Read Only Memory, 1260)을 포함한다.
메모리 인터페이스(1210)는 메모리 장치(1100)와 연결되며, 클록(clock)의 천이에 동기하여 메모리 장치(1100)로부터 데이터를 읽거나 메모리 장치(1100)로 데이터를 제공한다. 메모리 인터페이스(1210)는 메모리 장치(1100)의 종류에 따라 다른 방식으로 데이터를 주고 받는다. 예를 들면, 메모리 장치(1100)가 낸드 플래시 메모리인 경우에는 낸드 플래시 인터페이스 방식에 따라 데이터를 주고 받는다. 낸드 플래시 메모리는 읽기 또는 쓰기 인에이블 신호(nRE, nWE)의 천이에 동기하여 데이터를 출력하거나 입력 받는다.
중앙처리장치(CPU, 1230)는 메모리 컨트롤러(1200)의 전체 동작을 통제하고 알고리즘이나 프로그램 등의 모든 연산을 수행한다. 중앙처리장치(1230)는 호스트(1300)로부터 쓰기나 읽기 요청 등을 입력 받은 경우에, 메모리 장치(1100)에 대한 쓰기 또는 읽기 동작을 수행하도록 메모리 컨트롤러(1200)의 제반 동작을 제어한다. 중앙처리장치(1230)는 CPU 클록(clock)에 따라 동작하며, RAM(1240), 클록 제어 유닛(1250), ROM(1260)의 동작을 제어할 수 있다.
RAM(1240)은 중앙처리장치(1230)의 제어에 따라 동작하며, 워크 메모리(work memory), 버퍼 메모리(buffer memory), 캐시 메모리(cache memory) 등으로 사용될 수 있다. 램(1240)이 워크 메모리(work memory)로 사용되는 경우에, 중앙처리장치(1230)에 의해서 처리되는 데이터가 임시 저장된다. 램(1240)이 버퍼 메모리로 사용되는 경우에는, 호스트(1300)에서 메모리 장치(1100)로 또는 메모리 장치(1100)에서 호스트(1300)로 전송될 데이터를 버퍼링하는 데 사용된다.
램(1240)이 캐시 메모리로 사용되는 경우에, 램(1240)은 저속의 메모리 장치(1100)가 고속으로 동작하도록 할 수 있다. 이 경우에, 램(1240)에 저장된 파일 데이터가 메모리 메모리(1100)의 버퍼 영역으로 덤프(dump) 된다. 중앙처리장치(1230)는 덤프(dump) 동작에 따른 맵핑 테이블(mapping table)을 관리할 수 있다. 램(1240)은 메모리 장치(1100)가 플래시 메모리인 경우에 플래시 변환 계층(FTL)을 구동하기 위한 구동 메모리로 사용될 수 있다. 플래시 변환 계층(FTL)은 플래시 메모리의 머지 동작(merge operation)이나 맵핑 테이블(mapping table) 등을 관리하는 데 사용된다.
클록 제어 유닛(1250)은 도 1에 설명한 바와 같이, 메모리 장치(1100)의 데이터 입출력 속도를 제어한다. 클록 제어 유닛(1250)은 중앙처리장치(1230)의 CPU 클록을 분주함으로, 메모리 장치(1100)로 제공하는 읽기 또는 쓰기 클록의 주파수를 변경할 수 있다. 클록 제어 유닛(1250)은 메모리 시스템(도 1 참조, 1000)의 환경 변화에 따른 정보를 입력 받고, 메모리 장치(1100)로 제공하는 클록의 주파수를 변경할 수 있다.
메모리 시스템(1000)의 성능이나 동작 오류는 온도(temperature), 전압(voltage), 압력(pressure), 기후(weather), 사용 기간(use time) 등 환경 변화에 따라 달라질 수 있다. 예를 들어, 메모리 시스템(1000)이 스마트 폰이라고 가정하자. 사용자가 스마트 폰을 열대 지역과 같은 따뜻한 온도(hot temperature)에 사용하는 경우와 극 지방과 같은 추운 온도(cold temperature)에 사용하는 경우에, 스마트 폰의 성능이나 동작 오류 발생 율은 달라질 수 있다. 스마트 폰의 성능 변화나 동작 오류는 여러 가지 원인에 의해 발생할 수 있지만, 메모리 장치(1100)에 사용되는 셀 트랜지스터의 온도 특성이 주요 원인 중 하나이다.
클록 제어 유닛(1250)은 이러한 메모리 시스템(1000)의 환경 변화에 따라 발생할 수 있는 성능 변화나 동작 오류를 줄이기 위해, 중앙 처리장치(1230)의 CPU 클록이나 메모리 장치(1100)로 제공하는 읽기 또는 쓰기 클록의 주파수를 변경한다. 예를 들면, 클록 제어 유닛(1250)은 추운 온도와 같은 환경에서는 클록 주파수를 낮추어 주고, 따뜻한 온도 또는 상온에서는 클록 주파수를 최대로 설정함으로, 메모리 시스템(1000)의 성능을 극대화하고 동작 오류를 최소화할 수 있다.
도 3을 참조하면, 클록 제어 유닛(1250)은 알고리즘이나 펌웨어로 구성되며, RAM(1240)에서 구동될 수 있다. 파워 오프 시에 클록 제어 유닛(1250)은 메모리 장치(1100)나 ROM(1260)과 같은 불휘발성 메모리에 펌웨어 형태로 저장되어 있다. 파워 업 되면, 클록 제어 유닛(1250)는 초기 동작 동안에 RAM(1240)으로 로드(load)된다.
클록 제어 유닛(1250)은 메모리 시스템(1000)의 환경이 변하는 경우에, 메모리 장치(1100)의 데이터 입출력 속도를 변경함으로, 메모리 시스템(1000)의 성능을 극대화하고 동작 오류를 최소화 할 수 있다.
도 4는 도 1 내지 도 3에 도시된 클록 제어 유닛의 동작을 설명하기 위한 순서도이다. 클록 제어 유닛(1250)은 평상 시에는 노말 속도(normal speed)로 데이터 입출력 속도를 관리함으로 성능을 극대화하고, 메모리 시스템(1000)의 동작 오류가 발생하는 경우에는 다운 속도(down speed)로 데이터 입출력 속도를 관리함으로 동작 오류를 줄일 수 있다. 이하에서는 클록 제어 유닛(1250)의 동작 방법이 순서대로 설명될 것이다.
S110 단계에서, 클록 제어 유닛(1250)은 평상 시의 노말 동작에서는 노말 속도로 데이터 입출력 속도를 관리한다. 클록 제어 유닛(1250)은 노말 동작 시에 데이터 입출력을 위한 클록 주파수를 최대로 설정하여, 메모리 장치(1100)의 성능을 극대화할 수 있다.
S120 단계에서, 클록 제어 유닛(1250)은 노말 동작을 수행하는 도중에 메모리 장치(1100)의 입출력 데이터에 에러(error)가 있는지 여부를 판단한다. 입출력 데이터에 에러가 없으면(No), 노말 속도(normal speed)로 노말 동작(normal operation)을 수행한다. 만약, 입출력 데이터에 에러가 있으면(Yes), 클록 제어 유닛(1250)은 에러를 복구하기 위한 동작(이하, 재처리 동작이라 함)을 수행한다.
재처리 동작(retry operation)은 크게 여러 단계로 나뉘어 수행될 수 있다. 도 4에서는 두 단계로 나뉘어 수행되는 예를 보여준다. 도 4를 참조하면, 첫 번째 단계(S130 단계)는 메모리 장치(1100)의 동작 조건(예를 들면, 읽기나 쓰기 전압의 레벨 등)을 조절하고, 조절된 전압 레벨에 따라 읽기 또는 쓰기 동작을 다시 수행한다.
S130 단계에서, 클록 제어 유닛(1250)은 메모리 시스템(1000)의 데이터 입출력 동작을 제 1 데이터 입출력 속도(data I/O speed 1)로 관리한다. 여기에서, 제 1 데이터 입출력 속도는 메모리 시스템(1000)의 성능을 위해 노말 속도(normal speed)로 설정하거나, 데이터 신뢰성을 위해 노말 속도보다 늦은 다운 속도(down speed)로 설정할 수 있다. 또한, 클록 제어 유닛(1250)은 제 1 재처리 동작을 빠르게 수행하기 위해 데이터 입출력을 위한 클록 주파수를 최대로 설정할 수도 있다.
S140 단계에서, 클록 제어 유닛(1250)은 제 1 재처리 동작을 수행하고, 메모리 장치(1100)의 입출력 데이터에 에러(error)가 있는지 여부를 다시 판단한다. 입출력 데이터에 에러가 없으면(No), 클록 제어 유닛(1250)은 S130 단계에서 조절한 동작 조건(예를 들면, 전압 레벨 등)을 램(1240)에 저장하고, 저장된 동작 조건에 맞추어 노말 동작을 수행한다.
제 1 재처리 동작을 수행함에도 불구하고, 다시 데이터 에러가 발생한 경우에는 두 번째 단계의 재처리 동작이 수행된다. S150 단계에서, 클록 제어 유닛(1250)은 입출력 데이터에 에러가 있는 경우에 데이터 입출력 속도를 낮춘다.
S160 단계에서, 클록 제어 유닛(1250)은 제 2 데이터 입출력 속도(data I/O speed 2)로 제 2 재처리 동작(retry operation)을 수행한다. 메모리 장치(1100)의 동작 조건(예를 들면, 읽기나 쓰기 전압의 레벨 등)을 다시 조절하고, 조절된 전압 레벨에 따라 읽기 또는 쓰기 동작을 또 다시 수행한다.
제 2 재처리 동작은 메모리 시스템(1000)의 동작 오류를 최소화하고 데이터 신뢰성을 높이기 위해 제 2 데이터 입출력 속도로 수행된다. 여기에서, 제 2 데이터 입출력 속도는 S130 단계에서의 제 1 데이터 입출력 속도보다 느리다. 클록 제어 유닛(1250)은 메모리 장치(1100)의 데이터 입출력 동작을 제 2 데이터 입출력 속도로 관리함으로, 입출력 데이터의 에러를 복구할 수 있다.
이상에서 설명한 바와 같이, 본 발명의 실시 예에 따른 메모리 시스템(1000)은 메모리 컨트롤러(1200) 내에 클록 제어 유닛(1250)을 포함하고, 클록 제어 유닛(1250)을 통해 데이터 입출력 속도를 조절할 수 있다. 본 발명에 의하면, 추운 온도와 같은 환경에서는 클록 주파수를 낮추어 주고, 따뜻한 온도 또는 상온에서는 클록 주파수를 높게 설정함으로, 메모리 시스템(1000)의 성능을 극대화하고 동작 오류를 최소화할 수 있다.
한편, 도 1에 도시된 메모리 장치(1100)는 플래시 메모리일 수 있다. 플래시 메모리는 짧은 시간에 대용량의 데이터를 저장할 수 있기 때문에 저장 장치에 많이 사용되고 있다. 플래시 메모리를 기반으로 하는 저장 장치는 SD 카드, 마이크로 SD 카드, USB 등과 같은 착탈식 저장 매체나, eMMC 등과 같은 내장식 저장 매체로 사용될 수 있다. 특히, 플래시 메모리를 기반으로 하는 저장 장치는 스마트 폰이나 테블릿 PC 등과 같은 모바일 장치에 광범위하게 사용되고 있다. 저장 장치가 모바일 장치에 사용되는 경우에, 사용자의 위치에 따라 온도나 압력 등의 주변 환경의 영향을 많이 받을 수 있다.
도 5는 본 발명의 다른 실시 예로서 플래시 메모리를 기반으로 저장 장치를 보여주는 블록도이다. 도 5를 참조하면, 저장 장치(2000)는 플래시 메모리(2100)와 메모리 컨트롤러(2200)를 포함한다.
플래시 메모리(2100)는 메모리 컨트롤러(2200)의 제어에 따라 소거, 쓰기 또는 읽기 동작 등을 수행할 수 있다. 플래시 메모리(2100)는 메모리 블록 단위로 소거 동작을 수행하고, 페이지 단위로 쓰기 또는 읽기 동작을 수행한다. 플래시 메모리(2100)는 셀 어레이의 구조에 따라, 2차원 구조 또는 3차원 구조를 가질 수 있다. 2차원 구조를 갖는 플레너 타입(planar type) 플래시 메모리는 기판과 평행한 방향으로 메모리 셀들이 제조된다. 3차원 구조를 갖는 VNAND 타입 플래시 메모리는 기판과 수직 방향으로 메모리 셀들이 제조된다.
플래시 메모리(2100)는 하나의 메모리 셀에 싱글 비트 데이터(single bit data) 또는 두 비트 이상의 멀티 비트 데이터(multi bit data)를 저장할 수 있다. 싱글 비트 데이터를 저장하는 SLC 플래시 메모리는 문턱 전압 분포에 따라 소거 상태와 프로그램 상태를 갖는다. 멀티 비트 데이터를 저장하는 MLC 플래시 메모리는 문턱 전압 분포에 따라 하나의 소거 상태와 복수의 프로그램 상태를 갖는다.
메모리 컨트롤러(2200)는 외부(예를 들면, 호스트)의 요청에 응답하여 플래시 메모리(2100)에 대한 읽기 또는 쓰기 동작 등을 제어한다. 메모리 컨트롤러(2200)는 플래시 인터페이스(2210), 호스트 인터페이스(2220), 중앙처리장치(2230), 램(2240), 클록 제어 유닛(2250), 그리고 롬(2260)을 포함한다.
클록 제어 유닛(2250)은 알고리즘이나 펌웨어로 구성되며, RAM(2240)에서 구동될 수 있다. 파워 오프 시에, 클록 제어 유닛(2250)은 플래시 메모리(2100)에 저장되어 있다. 파워 업 되면, 클록 제어 유닛(2250)는 초기 동작 동안에 RAM(2240)으로 로드(load)될 수 있다.
계속해서 도 5를 참조하면, 플래시 메모리(2100)는 내부에 온도 감지 장치(TEMP, 2141)를 포함할 수 있다. 플래시 메모리(2100)는 온도 정보를 메모리 컨트롤러(2200)로 제공할 수 있다. 클록 제어 유닛(2250)은 온도 변화 등에 따라 플래시 메모리(2100)의 동작에 문제가 발생하면, 중앙처리장치(2230)의 제어에 따라 데이터 입출력 속도를 변경할 수 있다. 또는, 클록 제어 유닛(2250)는 플래시 메모리(2100)로부터 제공된 온도 정보를 기초로, 데이터 입출력 속도를 변경할 수 있다.
한편, 온도 감지 장치는 메모리 컨트롤러(2200) 내에 포함될 수도 있다. 이 경우에, 클록 제어 유닛(2250)은 메모리 컨트롤러(2200) 내에서 측정된 온도 정보를 기초로 데이터 입출력 속도를 조절할 수 있다.
플래시 메모리(2100)는 고집적 및 대용량의 추세에 따라, 3차원 구조를 갖는 VNAND 형태로 제조되고 있다. 또한, 플래시 메모리(2100)는 고속 동작을 위해 DDR 방식으로 데이터를 전송하는 제품이 제조되고 있다. 온도 등과 같은 주변 환경의 변화로 인한 저장 장치(2000)의 동작 오류는 고집적, 대용량, 고속 동작의 추세에 따라 점점 많아질 수 있다.
도 6은 도 5에 도시된 플래시 메모리가 3차원 구조를 갖는 경우를 예시적으로 보여주는 블록도이다. 도 6을 참조하면, 플래시 메모리(2100)는 셀 어레이(2110), 데이터 입출력 회로(2120), 어드레스 디코더(2130), 그리고 제어 로직(2140)을 포함한다.
셀 어레이(2110)는 복수의 메모리 블록(BLK1~BLKz)을 포함한다. 각각의 메모리 블록은 3차원 구조 (또는 수직 구조)를 가질 수 있다. 2차원 구조 (또는 수평 구조)를 갖는 메모리 블록에서는, 메모리 셀들이 기판과 수평 방향으로 형성된다. 그러나 3차원 구조를 갖는 메모리 블록에서는, 메모리 셀들이 기판과 수직 방향으로 형성된다. 각각의 메모리 블록은 플래시 메모리(2100)의 소거 단위를 이룬다.
데이터 입출력 회로(2120)는 복수의 비트 라인(BLs)을 통해 셀 어레이(2110)와 연결된다. 데이터 입출력 회로(2120)는 외부로부터 데이터(DATA)를 입력 받거나, 셀 어레이(2110)로부터 읽은 데이터(DATA)를 외부로 출력한다. 어드레스 디코더(2130)는 복수의 워드 라인(WLs) 및 선택 라인(GSL, SSL)을 통해 셀 어레이(2110)와 연결된다. 어드레스 디코더(2130)는 어드레스(ADDR)를 입력 받고 워드 라인을 선택한다.
제어 로직(2140)은 플래시 메모리(2100)의 프로그램, 읽기, 소거 등의 동작을 제어한다. 예를 들면, 제어 로직(2140)은 프로그램 동작 시에, 어드레스 디코더(2130)를 제어함으로 선택 워드 라인으로 프로그램 전압이 제공되도록 하고, 데이터 입출력 회로(2120)를 제어함으로 데이터가 프로그램 되도록 할 수 있다. 한편, 제어 로직(2140)은 온도 감지 장치(TEMP, 2141)를 포함할 수 있다. 온도 감지 장치(2141)는 주변 온도를 측정하고, 측정 결과를 메모리 컨트롤러(도 5 참조, 2200)로 제공한다.
도 7은 도 6에 도시된 메모리 블록(BLK1)의 3차원 구조를 예시적으로 보여주는 사시도이다. 도 7을 참조하면, 메모리 블록(BLK1)은 기판(SUB)과 수직 방향으로 형성되어 있다. 기판(SUB)에는 n+ 도핑 영역이 형성된다. 기판(SUB) 위에는 게이트 전극막(gate electrode layer)과 절연막(insulation layer)이 교대로 증착된다. 그리고 게이트 전극막(gate electrode layer)과 절연막(insulation layer) 사이에는 전하 저장막(charge storage layer)이 형성될 수 있다.
게이트 전극막과 절연막을 수직 방향으로 패터닝(vertical patterning)하면, V자 모양의 필라(pillar)가 형성된다. 필라는 게이트 전극막과 절연막을 관통하여 기판(SUB)과 연결된다. 필라(Pillar)의 외곽 부분(O)은 채널 반도체로 구성될 수 있고, 내부(I)는 실리콘 산화물(Silicon Oxide)과 같은 절연 물질로 구성될 수 있다.
계속해서 도 7을 참조하면, 메모리 블록(BLK1)의 게이트 전극막(gate electrode layer)은 접지 선택 라인(GSL), 복수의 워드 라인(WL1~WL8), 그리고 스트링 선택 라인(SSL)에 연결될 수 있다. 그리고 메모리 블록(BLK1)의 필라(pillar)는 복수의 비트라인(BL1~BL3)과 연결될 수 있다. 도 7에서는, 하나의 메모리 블록(BLK1)이 2개의 선택 라인(GSL, SSL), 8개의 워드 라인(WL1~WL8), 그리고 3개의 비트 라인(BL1~BL3)을 갖는 것으로 도시되어 있으나, 실제로는 이것들보다 더 많거나 적을 수 있다. 또한 2개의 선택 라인(SSL, GSL)과 워드 라인(WL) 사이에 적어도 하나 이상의 더미 워드 라인(미 도시)을 포함할 수 있다.
도 8은 도 6에 도시된 메모리 블록(BLK1)의 등가 회로도이다. 도 8을 참조하면, 비트 라인(BL1~BL3)과 공통 소스 라인(CSL) 사이에는 낸드 스트링(NS11~NS33)이 연결되어 있다. 각각의 낸드 스트링(예를 들면, NS11)은 스트링 선택 트랜지스터(SST), 복수의 메모리 셀(MC1~MC8), 그리고 접지 선택 트랜지스터(GST)를 포함한다.
스트링 선택 트랜지스터(SST)는 스트링 선택 라인(String Selection Line; SSL1~SSL3)에 연결되어 있다. 복수의 메모리 셀(MC1~MC8)은 각각 대응하는 워드 라인(WL1~WL8)에 연결되어 있다. 그리고 접지 선택 트랜지스터(GST)는 접지 선택 라인(Ground Selection Line; GSL)에 연결되어 있다. 스트링 선택 트랜지스터(SST)는 비트 라인(BL)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL; Common Source Line)에 연결되어 있다.
동일 높이의 워드 라인(예를 들면, WL1) 및 접지 선택 라인(GSL)은 공통으로 연결되어 있고, 스트링 선택(SSL1~SSL3)은 분리 되어 있다. 제 1 워드 라인(WL1)에 연결되어 있고 낸드 스트링(NS11, NS12, NS13)에 속해 있는 메모리 셀(이하, 페이지라 함)을 프로그램 하는 경우에는, 제 1 워드 라인(WL1)과 제 1 선택 라인(SSL1)이 선택된다.
도 9는 도 7 및 도 8에 도시된 메모리 셀의 저항의 변화를 보여주는 그래프이다. 도 9에서, 가로축은 온도 변화를 나타내고, 세로 축은 저항의 변화를 나타낸다. 도 9를 참조하면, 메모리 셀의 저항은 온도에 따라 반비례해서 증가한다. 즉, 온도가 -10도인 경우에 저항은 R1이다. 온도가 -20도 또는 -30도이면 저항은 R2 또는 R3이다.
메모리 셀의 저항은 온도가 낮을수록 증가하는 특성을 갖는다. 추운 온도(cold temperature)에서 메모리 셀의 저항이 증가하면, 데이터 에러(error)가 발생할 수 있다. 특히, 도 5에 도시된 저장 장치(2000)가 고속의 DDR(Double Dual Rate) 제품인 경우에, 추운 온도에서의 데이터 에러 현상은 더 심해질 수 있다.
도 10은 온도 변화에 따른 데이터 에러 율과, 데이터 입출력 속도 변화에 따른 데이터 에러 구제율을 예시적으로 보여주는 도표이다. 도 10은 추운 온도(예를 들면, -25도)에서 데이터 에러가 발생한 복수의 저장 장치를 대상으로 실험한 결과표이다.
먼저, 전원 전압(VDD)이 1.7V이고 온도가 상온(room temperature)인 경우를 살펴본다. 이러한 조건에서, 저장 장치는 데이터 입출력 속도가 CCC Mbps와 BBB Mbps 뿐만 아니라 AAA Mbps인 경우에는 데이터 에러가 발생하지 않았다. 실험 결과, 복수의 저장 장치가 모두 아무런 문제 없이 정상적으로 동작한다.
다음으로, 전원 전압(VDD)은 1.7V로 동일하고 온도가 -25도인 추운 온도(cold temperature)인 경우를 살펴본다. 이러한 조건에서, 저장 장치의 데이터 입출력 속도를 달리하면, 데이터 입출력 속도에 따라 데이터 에러 발생 율이 달라진다.
도 10을 참조하면, 데이터 입출력 속도가 AAA Mbps인 경우에는 데이터 에러 발생율이 100%이다. 즉, 복수의 저장 장치 모두에서 동작 오류가 발생한다. 데이터 입출력 속도를 BBB Mbps로 낮추면, 데이터 에러 발생율은 64%로 줄어든다. 여기에서, 데이터 입출력 속도를 AAA Mbps에서 BBB Mbps로 낮추면, 동작 오류는 36%로 감소한다. 데이터 에러에서 구제되는 성공율은 36%이다.
데이터 입출력 속도를 CCC Mbps로 더 낮추면, 데이터 에러 발생율은 36%로 더 감소한다. 즉, 복수 중 8개의 저장 장치에서 동작 오류가 발생한다. 데이터 입출력 속도를 AAA Mbps에서 CCC Mbps로 낮추면, 동작 오류는 64%나 줄어들게 된다. 데이터 에러에서 구제되는 성공율은 64%이다. 도 10에 의하면, 추운 온도(cold temperature)에서 저장 장치의 동작 오류가 발생한 경우에, 데이터 입출력 속도를 낮추면 데이터 에러가 구제된다는 것을 알 수 있다.
도 11은 데이터 입출력 속도를 단계적으로 낮춘 예를 보여주는 타이밍도이다. 도 5에 도시된 클록 제어 유닛(2250)은 저장 장치(2000)의 주변 환경 변화에 따라 단계적으로 클록 주파수 또는 데이터 입출력 속도를 변경할 수 있다.
클록 제어 유닛(2250)은 평상 시에는 데이터 입출력 속도를 노말 속도(예를 들면, AAA Mbps)로 설정함으로 플래시 메모리(2100)의 동작 성능을 최대로 향상시킬 수 있다. 플래시 메모리(2100)의 데이터 입출력 속도가 최대(예를 들면, AAA Mbps)인 경우에, 짧은 시간에 더 많은 데이터를 읽고 쓸 수 있기 때문에, 동작 성능이 향상될 수 있다.
저장 장치(2000)가 낮은 온도(예를 들면, -10도)에서 사용되는 경우에, 클록 제어 유닛(2250)은 데이터 입출력 속도를 제 1 데이터 입출력 속도(예를 들면, BBB Mbps)로 설정함으로, 플래시 메모리(2100)의 동작 성능 감소를 최소화하고, 데이터 에러를 줄일 수 있다. 클록 제어 유닛(2250)은 플래시 메모리(2100)로부터 온도 정보를 입력 받고 데이터 입출력 속도를 조절할 수 있다.
저장 장치(2000)가 추운 온도(예를 들면, -20도 이하)에서 사용되는 경우에, 클록 제어 유닛(2250)은 데이터 입출력 속도를 제 2 데이터 입출력 속도(예를 들면, CCC Mbps)로 낮출 수 있다. 이 경우에는 클록 제어 유닛(2250)은 데이터 입출력 속도를 최대한 낮춤으로, 저장 장치(2000)의 성능을 줄이는 대신에, 저장 장치(2000)가 동작하지 않거나 오동작 하는 상황을 막을 수 있다.
도 12는 데이터 입출력 속도를 AAA Mbps에서 CCC Mbps 낮춘 경우에 동작 전압의 파형을 예시적으로 보여주는 그래프이다. 메모리 컨트롤러(2200)와 플래시 메모리(2100)의 동작 전압이 1.8V라고 가정하자.
클록 제어 유닛(2250)이 플래시 메모리(2100)의 데이터 입출력 속도를 AAA Mbps로 설정하면, 도 12에 도시된 바와 같이 고속 동작으로 인해 동작 전압(operation voltage)이 풀 스윙(full swing)하지 못할 수 있다. 저장 장치(2000)가 추운 온도(cold temperature)에서 고속 동작으로 사용되면, 메모리 셀의 저항이 증가하고 동작 전압이 풀 스윙하지 못하기 때문에, 데이터 에러가 발생할 수 있다.
클록 제어 유닛(2250)이 데이터 입출력 속도를 CCC Mbps로 낮추면, 동작 전압(operation voltage)은 풀 스윙(full swing) 할 수 있다. 이러한 경우에, 저장 장치(2000)가 추운 온도(cold temperature)에서 사용되어 메모리 셀의 저항이 증가하더라도 동작 전압이 풀 스윙하기 때문에, 데이터 에러 발생율이 줄어들 수 있다.
본 발명의 실시 예에 따른 저장 장치(2000)는 플래시 메모리(2100)의 성능을 향상하기 위해, 평상 시에는 데이터 입출력 속도를 노말 속도 또는 최대 속도로 설정한다. 그리고 저장 장치(2000)는 추운 온도와 같이 메모리 셀의 저항 변화가 발생하는 경우에는 데이터 입출력 속도를 낮춤으로 데이터 에러 발생율을 줄일 수 있다.
도 13은 도 5에 도시된 클록 제어 유닛의 구성을 예시적으로 보여주는 블록도이다. 도 13을 참조하면, 클록 제어 유닛(2250)은 클록 관리자(2251)와 재처리 관리자(2252)를 포함한다. 클록 관리자(2251)와 재처리 관리자(2252)는 알고리즘의 일부 구성 단위일 수 있다.
클록 관리자(2251)는 온도와 같은 외부 정보(INFO)를 입력받고, 클록(CLK)의 주파수를 조절할 수 있다. 클록 관리자(2251)는 클록 주파수를 조절함으로, 데이터 입출력 속도를 변경할 수 있다.
재처리 관리자(2252)는 클록 관리자(2251)에 의해 관리된 데이터 입출력 속도로 플래시 메모리(2100)에 대한 재처리 동작(retry operation)을 수행한다. 재처리 동작은 앞에서 설명한 바와 같이 두 단계로 수행될 수 있다. 제 1 재처리 단계에서는, 동작 조건(예를 들면, 전압 레벨 등)을 변경한 다음에, 제 1 데이터 입출력 속도(예를 들면, 노말 속도)로 플래시 메모리(2100)에 대한 동작을 다시 수행한다. 제 2 재처리 단계에서는, 변경된 동작 조건과 제 2 데이터 입출력 속도(예를 들면, 다운 속도)로 플래시 메모리(2100)에 대한 동작을 또 다시 수행한다.
예를 들면, 추운 온도에서 저장 장치(2000)의 동작 오류가 발생한 경우에, 클록 관리자(2251)는 읽기 속도를 노말 속도(예를 들면, AAA Mbps)로 유지한다. 재처리 관리자(2252)는 제 1 밸리 서치 동작(valley search operation)을 통해 읽기 전압 레벨을 조절한다. 재처리 관리자(2252)는 조절된 읽기 전압 레벨을 이용하여 플래시 메모리(2100)에 대한 읽기 동작을 다시 수행한다. 이 경우에 재처리 관리자(2252)는 노말 속도(예를 들면, AAA Mbps) 또는 제 1 다운 속도(예를 들면, BBB Mbps)를 이용한다.
제 1 재처리 동작에 의해 저장 장치(2000)의 동작 오류가 해결되지 않은 경우에, 클록 관리자(2251)는 플래시 메모리(2100)로부터 제공된 온도 정보를 기초로, 읽기 속도를 낮춘다. 재처리 관리자(2252)는 제 2 다운 속도(예를 들면, CCC Mbps)로 제 2 밸리 서치 동작(valley search operation)을 수행하고 읽기 전압 레벨을 조절한다. 재처리 관리자(2252)는 조절된 읽기 전압 레벨을 이용하여 플래시 메모리(2100)에 대한 읽기 동작을 또 다시 수행한다. 이 경우에 재처리 관리자(2252)는 제 2 다운 속도(예를 들면, CCC Mbps)을 이용한다.
도 14는 도 5에 도시된 클록 제어 유닛의 동작을 설명하기 위한 순서도이다. 클록 제어 유닛(2250)은 평상 시에는 노말 속도(normal speed)로 데이터 입출력 속도를 관리하고, 추운 온도(cold temperature)와 같이 플래시 메모리(2100)의 동작에 문제가 발생하는 경우에 다운 속도(down speed)로 데이터 입출력 속도를 관리할 수 있다. 이하에서는 클록 제어 유닛(2250)의 동작 방법이 순서대로 설명될 것이다.
S210 단계에서, 클록 제어 유닛(2250)은 노말 동작을 수행한다. 노말 동작에서는 노말 속도(예를 들면, AAA Mbps)로 데이터 입출력 동작이 수행된다. 클록 제어 유닛(2250)은 평상 시에 PDT(predefined table)을 이용하여 노말 동작을 수행한다. PDT는 밸리 서치 값을 예측해서 미리 정해 놓은 테이블이다. 클록 제어 유닛(2250)는 PDT에 정의된 동작 조건에 따라 플래시 메모리(2100)에 대한 데이터 입출력 동작이 노말 속도로 수행되도록 관리한다.
S220 단계에서, 클록 제어 유닛(2250)은 노말 동작을 중에 플래시 메모리(2100)에 동작 오류가 있거나 입출력 데이터에 에러(error)가 있는지 여부를 판단한다. 플래시 메모리(2100)에 동작 오류가 없고 입출력 데이터에 에러가 없으면(No), 클록 제어 유닛(2250)은 노말 속도를 유지하고 노말 동작을 계속 수행한다. 만약, 입출력 데이터에 에러가 있으면(Yes), 클록 제어 유닛(2250)은 밸리 서치 동작(valley search operation)을 수행한다.
S230 단계에서, 클록 제어 유닛(2250)은 입출력 데이터에 에러가 발생한 경우에 제 1 밸리 서치 동작(valley search operation)을 수행한다. 재처리 관리자(도 13 참조, 2252)는 제 1 밸리 서치 동작(valley search operation)을 통해 읽기 전압 레벨을 조절한다. 재처리 관리자(2252)는 조절된 읽기 전압 레벨을 이용하여 플래시 메모리(2100)에 대한 읽기 동작을 다시 수행한다. 이 경우에 재처리 관리자(2252)는 제 1 데이터 입출력 속도를 이용하여 플래시 메모리(2100)에 대한 읽기 동작을 수행한다. 여기에서, 제 1 데이터 입출력 속도는 노말 속도(예를 들면, AAA Mbps) 또는 제 1 다운 속도(예를 들면, BBB Mbps)일 수 있다.
S240 단계에서, 클록 제어 유닛(2250)은 제 1 밸리 서치 동작을 수행하고, 플래시 메모리(2100)의 입출력 데이터에 에러(error)가 있는지 여부를 다시 판단한다. 입출력 데이터에 에러가 없으면(No), 클록 제어 유닛(2250)은 제 1 데이터 입출력 속도(예를 들면, 노말 속도)를 유지하고, 노말 동작을 계속 수행한다.
S250 단계에서, 클록 제어 유닛(2250)은 데이터 입출력 속도를 낮춘다. 제 1 밸리 서치 동작에 의해 저장 장치(2000)의 동작 오류가 해결되지 않은 경우에, 클록 관리자(2251)는 플래시 메모리(2100)로부터 제공된 온도 정보를 기초로, 읽기 속도를 낮출 수 있다.
S260 단계에서, 클록 제어 유닛(2250)은 제 2 데이터 입출력 속도로 제 2 밸리 서치 동작(valley search operation)을 수행한다. 재처리 관리자(2252)는 제 2 데이터 입출력 속도(예를 들면, CCC Mbps)로 제 2 밸리 서치 동작(valley search operation)을 수행하고 읽기 전압 레벨을 조절한다. 재처리 관리자(2252)는 조절된 읽기 전압 레벨을 이용하여 플래시 메모리(2100)에 대한 읽기 동작을 또 다시 수행한다.
이상에서 설명한 바와 같이, 본 발명의 실시 예에 따른 저장 장치(2000)는 메모리 컨트롤러(2200) 내에 클록 제어 유닛(2250)을 포함하고, 클록 제어 유닛(2250)을 통해 데이터 입출력 속도를 조절할 수 있다. 본 발명에 의하면, 추운 온도 등과 같은 주변 환경의 변화로 인해 저장 장치(2000)에 동작 오류가 발생한 경우에, 데이터 입출력 속도를 조절함으로 입출력 데이터의 에러를 복구할 수 있다.
도 15는 도 14에서 설명한 제 1 및 제 2 밸리 서치 동작을 설명하기 위한 다이어그램이다. 도 15를 참조하면, 플래시 메모리(2100)는 하나의 메모리 셀에 하나 또는 그 이상의 비트 데이터를 저장할 수 있다. 예시적으로, 하나의 메모리 셀은 2비트의 데이터를 저장할 수 있다. 이때, 각 메모리 셀은 1개의 소거 상태(E)와 3개의 프로그램 상태(P1~P3)의 문턱전압 분포를 가질 수 있다.
추운 온도(cold temperature)와 고속(예를 들면, AAA Mbps) 조건에서, 메모리 셀의 저항 증가로 인해, 도 15에 도시된 바와 같이 인접한 문턱 전압 분포가 겹쳐 보일 수 있다. 이러한 경우에, 클록 제어 유닛(2250)은 제 1 밸리 서치 동작(valley search)을 통해 제 1 밸리 서치 값 V1, V2, V3을 찾고, 이를 통해 제 1 재처리 동작(retry operation)을 수행할 수 있다.
제 1 재처리 동작을 통해 데이터 에러(data error)를 구제할 수 없는 경우에, 클록 제어 유닛(2250)은 데이터 입출력 속도를 낮추고 제 2 밸리 서치 동작을 수행한다. 데이터 입출력 속도를 CCC Mbps로 낮추면, 문턱 전압 분포를 개선하는 것과 같은 효과가 나타난다. 도 15에 도시된 바와 같이, 인접한 문턱 전압 분포의 겹쳐 보이는 부분이 줄어 들 수 있다. 이 경우에, 클록 제어 유닛(2250)은 제 2 밸리 서치 동작을 통해 제 2 밸리 서치 값 V1', V2', V3'를 찾고, 이를 통해 제 2 재처리 동작을 수행할 수 있다. 제 2 재처리 동작을 통해 데이터 에러를 줄일 수 있다.
한편, 클록 제어 유닛(2250)는 제 2 재처리 동작을 통해 얻는 밸리 서치 값 V1', V2', V3'를 저장하고, 플래시 메모리(2100)의 다음 동작(next operation)에 사용할 수 있다. 여기에서, 제 2 밸리 서치 값은 램(도 5 참조, 2240)에 저장될 수 있다. 예를 들면, 저장 장치(2000)는 제 2 재처리 동작 후에 플래시 메모리(2100)에 대한 읽기 동작이 수행되는 경우에, 제 2 밸리 서치 값을 이용할 수 있다. 즉, 클록 제어 유닛(2250)는 제 2 밸리 서치 값을 이용하여, 노말 속도(AAA Mbps)로 플래시 메모리(2100)에 대한 읽기 동작을 수행할 수 있다.
본 발명의 실시 예에 따른 저장 장치(2000)는 메모리 컨트롤러(2200) 내에 클록 제어 유닛(2250)을 포함하고, 클록 제어 유닛(2250)을 통해 데이터 입출력 속도를 조절할 수 있다. 본 발명에 의하면, 추운 온도와 같은 환경에서는 플래시 메모리(2100)의 데이터 입출력을 위한 클록의 주파수를 낮추어 주고, 따뜻한 온도 또는 상온에서는 클록 주파수를 높게 설정함으로, 메모리 시스템(2000)의 성능을 극대화하고 동작 오류를 최소화할 수 있다.
한편, 클록 제어 유닛(2250)은 메모리 컨트롤러(2200)뿐만 아니라, 플래시 메모리(2100)나 호스트(도시되지 않음)에서도 동작할 수 있다. 예를 들면, 클록 제어 유닛(2250)은 스마트 폰이나 테블릿 PC에 내장된 저장 장치의 외부에 위치하고, 온도와 같은 주변 환경의 변화에 능동적으로 대처하도록 구현될 수 있다.
도 16은 클록 제어 유닛이 호스트에 위치하는 예를 보여주는 블록도이다. 도 16을 참조하면, 메모리 시스템(2500)은 저장 장치(2600)와 호스트(2700)를 포함한다. 저장 장치(2600)는 플래시 메모리(2610)와 메모리 컨트롤러(2620)를 포함한다. 호스트(2700)는 클록 제어 유닛(2710)을 포함한다.
호스트(2700)는 클록 제어 유닛(2710)을 통해 메모리 컨트롤러(2620)의 동작 속도(예를 들면, CPU 클록)를 조절하거나 플래시 메모리(2610)의 데이터 입출력 속도를 조절할 수 있다. 클록 제어 유닛(2710)은 메모리 컨트롤러(2620)로부터 환경 정보(예를 들면, 온도 정보)를 입력받거나, 호스트(2700) 내부로부터 환경 정보를 입력받고, 데이터 입출력 속도를 조절할 수 있다.
본 발명에 의하면, 추운 온도와 같은 환경에서는 CPU 클록이나 플래시 메모리(2610)의 데이터 입출력을 위한 클록의 주파수를 낮추어 주고, 따뜻한 온도 또는 상온에서는 클록 주파수를 높게 설정함으로, 메모리 시스템(2500)의 성능을 극대화하고 동작 오류를 최소화할 수 있다.
도 17은 본 발명의 또 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 17을 참조하면, 메모리 시스템(3000)은 저장 장치(3100)와 호스트(3200)를 포함한다. 저장 장치(3100)는 플래시 메모리(3110)와 메모리 컨트롤러(3120)를 포함한다. 메모리 컨트롤러(3120)는 전압 제어 유닛(3121)을 포함한다.
앞에서 설명한 바와 같이, 플래시 메모리(3110)와 같은 메모리 장치를 포함하는 저장 장치(3100)는 환경 변화(예를 들면, 온도 변화)에 따라 메모리 특성이 열화되고, 에러 비트가 발생할 수 있다. 이러한 경우에 에러 비트를 줄이고 데이터 신뢰성을 높일 수 있는 방법에는 데이터 입출력 속도를 제어하는 방법 이외에, 동작 전압을 제어하는 방법도 있다.
계속해서 도 17을 참조하면, 전압 제어 유닛(3121)은 환경 정보(예를 들면, 온도 정보)를 입력받고, 플래시 메모리(3110)로 제공하는 동작 전압을 조절할 수 있다. 전압 제어 유닛(3121)는 호스트(3200)로부터 외부 전원(PWR)을 입력받고, 전압 레귤레이터를 이용하여 플래시 메모리(3110)로 제공하는 전압을 쉽게 조절할 수 있다. 전압 제어 유닛(3121)으로 제공되는 온도 정보는 플래시 메모리(3110) 내의 온도 감지 장치(도 5 참조, 2141)로부터 제공되거나, 메모리 컨트롤러(3100) 내부에서 직접 제공될 수 있다.
전압 제어 유닛(3121)은 플래시 메모리(3110)에 동작 오류가 발생한 경우에 제 1 동작 전압으로 플래시 메모리(3110)에 대한 제 1 재처리 동작(retry operation 1)을 수행한다. 전압 제어 유닛(3121)은 제 1 재처리 동작에 의해 플래시 메모리(3110)의 동작 오류가 구제되지 않는 경우에 제 1 동작 전압보다 높은 제 2 동작 전압으로 플래시 메모리(3110)에 대한 제 2 재처리 동작(retry operation 2)을 수행할 수 있다.
플래시 메모리(3110)의 동작 전압을 높이면, 온도 변화에 따른 저장 장치(3100)의 동작 오류를 개선할 수 있다. 예를 들어, 플래시 메모리(3110)의 동작 전압 범위가 2.7V~3.6V이고, 플래시 메모리(3110)의 동작 전압이 2.7V에서 3.0V로 증가된다고 가정하자. 동작 전압(operation voltage)이 증가되면, 저장 장치(3100)가 추운 온도(cold temperature)에서 노말 속도(예를 들면, AAA Mbps)로 동작하더라도, 동작 오류와 데이터 에러는 현저하게 줄어들 수 있다.
도 18은 본 발명의 또 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 18을 참조하면, 메모리 시스템(3500)은 저장 장치(3600)와 호스트(3700)를 포함한다. 저장 장치(3600)는 플래시 메모리(3610)와 메모리 컨트롤러(3620)를 포함한다. 메모리 컨트롤러(3620)는 전압 레귤레이터(3621)을 포함한다. 호스트(3700)는 전압 제어 유닛(3710)을 포함한다.
메모리 시스템(3500)의 종류에 따라, 도 18에 보는 바와 같이, 호스트(3700)의 전원(PWR)이 플래시 메모리(3610)로 직접 제공될 수 있다. 이러한 경우에, 호스트(3700)의 전압 제어 유닛(3710)은 플래시 메모리(3610)의 동작 전압을 조절할 수 있다. 전압 제어 유닛(3710)은 메모리 컨트롤러(3620)로부터 환경 정보(예를 들면, 온도 정보)를 입력받거나, 호스트(3700) 내부로부터 환경 정보를 입력받고, 플래시 메모리(3610)의 동작 전압을 조절할 수 있다.
도 19는 본 발명의 실시 예에 따른 메모리 시스템을 솔리드 스테이트 드라이브(SSD) 시스템에 적용한 예를 보여주는 블록도이다. 도 18를 참조하면, SSD 시스템(4000)은 호스트(4100)와 SSD(4200)를 포함한다. 호스트(4100)는 호스트 인터페이스(4111), 호스트 컨트롤러(4120), 그리고 디램(4130)을 포함한다.
호스트(4100)는 SSD(4200)에 데이터를 쓰거나, SSD(4200)에 저장된 데이터를 읽는다. 호스트 컨트롤러(4120)는 커맨드, 어드레스, 제어 신호 등의 신호(SGL)를 호스트 인터페이스(4111)를 통해 SSD(4200)로 전송한다. 디램(4130)은 호스트(4100)의 메인 메모리이다.
SSD(4200)는 호스트 인터페이스(4211)를 통해 호스트(4100)와 신호(SGL)를 주고 받으며, 전원 커넥터(power connector, 4221)를 통해 전원을 입력 받는다. SSD(4200)는 복수의 불휘발성 메모리(4201~420n), SSD 컨트롤러(4210), 그리고 보조 전원 장치(4220)를 포함할 수 있다. 여기에서, 복수의 불휘발성 메모리(4201~420n)는 낸드 플래시 메모리 이외에도 PRAM, MRAM, ReRAM, FRAM 등으로 구현될 수 있다.
복수의 불휘발성 메모리(4201~420n)는 SSD(4200)의 저장 매체로서 사용된다. 복수의 불휘발성 메모리(4201~420n)는 복수의 채널(CH1~CHn)을 통해 SSD 컨트롤러(4210)와 연결될 수 있다. 하나의 채널에는 하나 또는 그 이상의 불휘발성 메모리가 연결될 수 있다. 하나의 채널에 연결되는 불휘발성 메모리는 동일한 데이터 버스에 연결될 수 있다.
SSD 컨트롤러(4210)는 호스트 인터페이스(4211)를 통해 호스트(4100)와 신호(SGL)를 주고 받는다. 여기에서, 신호(SGL)에는 커맨드, 어드레스, 데이터 등이 포함될 수 있다. SSD 컨트롤러(4210)는 호스트(4100)의 커맨드에 따라 해당 불휘발성 메모리에 데이터를 쓰거나 해당 불휘발성 메모리로부터 데이터를 읽어낸다. SSD 컨트롤러(4210)의 내부 구성은 도 20을 참조하여 상세하게 설명된다.
보조 전원 장치(4220)는 전원 커넥터(4221)를 통해 호스트(4100)와 연결된다. 보조 전원 장치(4220)는 호스트(4100)로부터 전원(PWR)을 입력받고, 충전할 수 있다. 한편, 보조 전원 장치(4220)는 SSD(4200) 내에 위치할 수도 있고, SSD(4200) 밖에 위치할 수도 있다. 예를 들면, 보조 전원 장치(4220)는 메인 보드에 위치하며, SSD(4200)에 보조 전원을 제공할 수도 있다.
도 20은 도 19에 도시된 SSD 컨트롤러(4210)의 구성을 예시적으로 보여주는 블록도이다. 도 19를 참조하면, SSD 컨트롤러(4210)는 NVM 인터페이스(4211), 호스트 인터페이스(4212), 클록 제어 유닛(4213), 제어 유닛(4214), 그리고 에스램(4215)을 포함한다.
NVM 인터페이스(4211)는 호스트(4100)의 메인 메모리로부터 전달된 데이터를 각각의 채널들(CH1~CHn)로 스캐터링(Scattering)한다. 그리고 NVM 인터페이스(4211)는 불휘발성 메모리(4201~420n)로부터 읽은 데이터를 호스트 인터페이스(4212)를 경유하여 호스트(4100)로 전달한다.
호스트 인터페이스(4212)는 호스트(4100)의 프로토콜에 대응하여 SSD(4200)와의 인터페이싱을 제공한다. 호스트 인터페이스(4212)는 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI express, ATA, PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI) 등을 이용하여 호스트(4100)와 통신할 수 있다. 또한, 호스트 인터페이스(4212)는 호스트(4100)가 SSD(4200)를 하드 디스크 드라이브(HDD)로 인식하도록 지원하는 디스크 에뮬레이션(Disk Emulation) 기능을 수행할 수 있다.
클록 제어 유닛(4213)은 앞에서 설명한 바와 같이, 데이터 입출력 속도를 조절할 수 있다. 본 발명에 의하면, 추운 온도와 같은 환경에서는 불휘발성 메모리(4201~420n)의 데이터 입출력을 위한 클록의 주파수를 낮추어 주고, 따뜻한 온도 또는 상온에서는 클록 주파수를 높게 설정함으로, SSD 시스템(4000)의 성능을 극대화하고 동작 오류를 최소화할 수 있다.
제어 유닛(4214)은 호스트(4100)로부터 입력된 신호(SGL)를 분석하고 처리한다. 제어 유닛(4214)은 호스트 인터페이스(4212)나 NVM 인터페이스(4211)를 통해 호스트(4100)나 불휘발성 메모리(4201~420n)를 제어한다. 제어 유닛(4214)은 SSD(4200)을 구동하기 위한 펌웨어에 따라서 불휘발성 메모리(4201~420n)의 동작을 제어한다.
에스램(4215)은 불휘발성 메모리(4201~420n)의 효율적 관리를 위해 사용되는 소프트웨어(S/W)를 구동하는 데 사용될 수 있다. 또한, 에스램(4215)은 호스트(4100)의 메인 메모리로부터 입력 받은 메타 데이터를 저장하거나, 캐시 데이터를 저장할 수 있다. 서든 파워 오프 동작 시에, 에스램(4215)에 저장된 메타 데이터나 캐시 데이터는 보조 전원 장치(4220)를 이용하여 불휘발성 메모리(4201~420n)에 저장될 수 있다.
도 21은 본 발명의 실시 예에 따른 저장 장치를 보여주는 블록도이다. 도 21을 참조하면, 저장 장치(4500)는 복수의 플래시 메모리(4601~460m)와 메모리 컨트롤러(4700)를 포함한다.
메모리 컨트롤러(4700)는 칩 인에이블 신호(nCE)를 통해 복수의 플래시 메모리 중에서 적어도 하나를 선택한다. 메모리 컨트롤러(4700)는 읽기 인에이블 신호(nRE)를 통해 선택된 플래시 메모리로부터 데이터를 읽는다. 예를 들면, 메모리 컨트롤러(4700)는 제 1 칩 인에이블 신호(nCE1)와 제 1 읽기 인에이블 신호(nRE)를 통해 제 1 플래시 메모리(4601)로부터 데이터를 읽는다. 마찬가지로, 메모리 컨트롤러(4700)는 제 m 칩 인에이블 신호(nCEm)와 제 m 읽기 인에이블 신호(nREm)를 통해 제 m 플래시 메모리(460m)로부터 데이터를 읽는다.
한편, 메모리 컨트롤러(4700)는 드라이브 세기 제어 유닛(drive strength control unit, 4710)을 포함한다. 여기에서, 드라이브 세기(D/S, drive strength)는 플래시 메모리를 구동하는 세기를 의미한다. 예를 들면, 드라이브 세기(D/S)가 크면 클수록 더 많은 수의 플래시 메모리를 구동할 수 있다.
드라이브 세기 제어 유닛(4710)은 환경 정보(예를 들면, 온도 정보 등)을 플래시 메모리 또는 내부로부터 입력 받고, 드라이브 세기(D/S)를 조절할 수 있다. 드라이브 세기 제어 유닛(4710)은 칩 인에이블 신호를 통해 드라이브 세기(D/S)를 조절할 수 있다. 드라이브 세기(D/S)를 조절하면, 저장 장치(4500)가 추운 온도(cold temperature)에서 노말 속도(예를 들면, AAA Mbps)로 동작하더라도, 동작 오류와 데이터 에러는 줄어들 수 있다.도 22는 본 발명의 실시 예에 따른 메모리 시스템을 전자 장치로 구현한 예를 보여주는 블록도이다. 여기에서, 전자 장치(5000)는 퍼스널 컴퓨터(PC)로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(Personal Digital Assistant), 그리고 카메라 등과 같은 휴대용 전자 장치로 구현될 있다.
도 22를 참조하면, 전자 장치(5000)는 메모리 시스템(5100), 전원 장치(5200), 보조 전원 장치(5250), 중앙처리장치(5300), 디램(5400), 그리고 사용자 인터페이스(5500)를 포함한다. 메모리 시스템(5100)은 플래시 메모리(5110) 및 메모리 컨트롤러(5120)를 포함한다. 메모리 시스템(5100)은 전자 장치(5000)에 내장될 수 있다.
앞에서 설명한 바와 같이, 본 발명에 따른 전자 장치(5000)는 메모리 시스템(5100)의 클록 제어 유닛을 이용하여, 데이터 입출력 속도를 조절할 수 있다. 본 발명에 의하면, 추운 온도와 같은 환경에서는 플래시 메모리(5110)의 데이터 입출력을 위한 클록의 주파수를 낮추어 주고, 따뜻한 온도 또는 상온에서는 클록 주파수를 높게 설정함으로, 전자 장치(5000)의 성능을 극대화하고 동작 오류를 최소화할 수 있다.
도 23은 본 발명의 실시 예에 따른 메모리 시스템을 메모리 카드 시스템에 적용한 예를 보여주는 블록도이다. 메모리 카드 시스템(6000)은 호스트(6100)와 메모리 카드(6200)를 포함한다. 호스트(6100)는 호스트 컨트롤러(6110), 호스트 접속 유닛(6120), 그리고 디램(6130)을 포함한다.
호스트(6100)은 메모리 카드(6200)에 데이터를 쓰거나, 메모리 카드(6200)에 저장된 데이터를 읽는다. 호스트 컨트롤러(6110)는 커맨드(예를 들면, 쓰기 커맨드), 호스트(6100) 내의 클록 발생기(도시되지 않음)에서 발생한 클록 신호(CLK), 그리고 데이터(DAT)를 호스트 접속 유닛(6120)을 통해 메모리 카드(6200)로 전송한다. 디램(6130)은 호스트(6100)의 메인 메모리이다.
메모리 카드(6200)은 카드 접속 유닛(6210), 카드 컨트롤러(6220), 그리고 플래시 메모리(6230)를 포함한다. 카드 컨트롤러(6220)는 카드 접속 유닛(6210)을 통해 수신된 커맨드에 응답하여, 카드 컨트롤러(6220) 내에 있는 클록 발생기(도시되지 않음)에서 발생한 클록 신호에 동기하여 데이터를 플래시 메모리(6230)에 저장한다. 플래시 메모리(6230)는 호스트(6100)로부터 전송된 데이터를 저장한다. 예를 들어, 호스트(6100)가 디지털 카메라인 경우에는 영상 데이터를 저장한다.
호스트 컨트롤러(6110) 또는 카드 컨트롤러(6220)는 내부에 클록 제어 유닛(도시되지 않음)을 포함할 수 있다. 본 발명의 실시 예에 따른 카드 시스템(6000)은 클록 제어 유닛(도시되지 않음)을 이용하여, 데이터 입출력 속도를 조절할 수 있다. 본 발명에 의하면, 추운 온도와 같은 환경에서는 플래시 메모리(6230)의 데이터 입출력을 위한 클록의 주파수를 낮추어 주고, 따뜻한 온도 또는 상온에서는 클록 주파수를 높게 설정함으로, 메모리 카드 시스템(6000)의 성능을 극대화하고 동작 오류를 최소화할 수 있다.
도 24는 본 발명의 실시 예에 따른 저장 장치가 모바일 장치에 사용된 경우를 보여주는 블록도이다. 도 24를 참조하면, 모바일 장치(7000)는 호스트(7100)와 내장형 저장 장치(7200)를 포함한다. 도 17에서는 내장형 저장 장치(7200)의 예로 eMMC가 도시되어 있다. eMMC(7200)는 JEDEC에서 표준으로 정한 메모리 카드로서, 휴대용 MMC를 내장형(embedded)으로 만든 것이다.
호스트(7100)는 애플리케이션(7110), 운영 체제(OS; Operating System, 7120), 프로세서(7130), 랜덤 액세스 메모리(RAM, 7170), 그리고 eMMC 드라이버(7150)를 포함한다. 계속해서 도 17을 참조하면, eMMC(7200)는 플래시 메모리(7210)와 eMMC 컨트롤러(7220)를 포함할 수 있다. eMMC 컨트롤러(7220)는 중앙처리장치(CPU)와 랜덤 액세스 메모리(RAM)를 포함할 수 있다. 중앙처리장치(7221)는 랜덤 액세스 메모리(7222)를 이용하여 eMMC 펌웨어(7223)를 구동할 수 있다.
eMMC 컨트롤러(7220)는 내부에 클록 제어 유닛(도시되지 않음)을 포함할 수 있다. 본 발명의 실시 예에 따른 모바일 장치(7000)는 클록 제어 유닛(도시되지 않음)을 이용하여, 데이터 입출력 속도를 조절할 수 있다. 본 발명에 의하면, 추운 온도와 같은 환경에서는 플래시 메모리(7210)의 데이터 입출력을 위한 클록의 주파수를 낮추어 주고, 따뜻한 온도 또는 상온에서는 클록 주파수를 높게 설정함으로, 모바일 장치(7000)의 성능을 극대화하고 동작 오류를 최소화할 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
1000: 메모리 시스템 1100: 메모리 장치
1200: 메모리 컨트롤러 1300: 호스트
1210: 메모리 인터페이스 1220: 호스트 인터페이스
1230: 중앙처리장치 1240: RAM
1250: 클록 제어 유닛 1260: ROM
2000: 저장 장치 2100: 플래시 메모리
2200: 메모리 컨트롤러

Claims (25)

  1. 플래시 메모리를 포함하는 메모리 시스템의 동작 방법은:
    상기 메모리 시스템의 제 1 온도를 감지하는 단계; 및
    상기 제 1 온도에 따라 상기 플래시 메모리의 데이터 입출력 속도를 조절하는 재처리 동작을 수행하는 단계를 포함하되,
    상기 재처리 동작을 수행하는 단계는:
    상기 플래시 메모리의 읽기 전압 레벨을 제 1 읽기 전압 레벨에서 제 2 읽기 전압 레벨로 조절하는 단계; 및
    상기 제 1 온도에 따라 상기 데이터 입출력 속도를 제 1 데이터 입출력 속도에서 제 2 데이터 입출력 속도로 낮추는 단계를 포함하는 메모리 시스템의 동작 방법.
  2. 제 1 항에 있어서,
    상기 제 1 온도보다 낮은 상기 메모리 시스템의 제 2 온도를 감지하는 단계를 더 포함하고, 그리고
    상기 재처리 동작을 수행하는 단계는:
    상기 제 2 온도에 따라 상기 데이터 입출력 속도를 상기 제 2 데이터 입출력 속도에서 제 3 데이터 입출력 속도로 낮추는 단계를 더 포함하는 메모리 시스템의 동작 방법.
  3. 제 1 항에 있어서,
    상기 제 1 온도보다 높은 상기 메모리 시스템의 제 2 온도를 감지하는 단계를 더 포함하고, 그리고
    상기 재처리 동작을 수행하는 단계는:
    상기 제 2 온도에 따라 상기 데이터 입출력 속도를 상기 제 2 데이터 입출력 속도에서 상기 제 1 데이터 입출력 속도로 높이는 단계를 더 포함하는 메모리 시스템의 동작 방법.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 제 1 온도보다 낮은 상기 메모리 시스템의 제 2 온도를 감지하는 단계를 더 포함하고, 그리고
    상기 재처리 동작을 수행하는 단계는, 상기 제 2 온도에 따라 상기 읽기 전압 레벨을 상기 제 2 읽기 전압 레벨에서 제 3 읽기 전압 레벨로 조절하는 단계를 더 포함하는 메모리 시스템의 동작 방법.
  6. 제 1 항에 있어서,
    상기 제 1 온도보다 높은 상기 메모리 시스템의 제 2 온도를 감지하는 단계를 더 포함하고, 그리고
    상기 재처리 동작을 수행하는 단계는, 상기 제 2 온도에 따라 상기 읽기 전압 레벨을 상기 제 2 읽기 전압 레벨에서 상기 제 1 읽기 전압 레벨로 조절하는 단계를 더 포함하는 메모리 시스템의 동작 방법.
  7. 제 1 항에 있어서,
    상기 재처리 동작을 수행하는 단계는 상기 플래시 메모리의 드라이브 세기를 조절하는 단계를 더 포함하는 메모리 시스템의 동작 방법.
  8. 메모리 시스템에 관한 온도 정보에 기초하여 데이터 입출력 속도를 조절하는 단계; 및
    상기 데이터 입출력 속도에 기초하여 읽기 동작을 위한 읽기 전압 레벨을 조절하는 단계를 포함하되,
    상기 데이터 입출력 속도를 조절하는 단계는:
    상기 온도 정보가 상기 메모리 시스템의 제 1 온도를 나타내면 상기 데이터 입출력 속도를 제 1 데이터 입출력 속도로 낮추고,
    상기 온도 정보가 상기 메모리 시스템의 제 2 온도를 나타내면 상기 데이터 입출력 속도를 제 2 데이터 입출력 속도로 조절하고, 그리고
    상기 온도 정보가 상기 메모리 시스템의 제 3 온도를 나타내면 상기 데이터 입출력 속도를 제 3 데이터 입출력 속도로 낮추는 메모리 시스템의 동작 방법.
  9. 제 8 항에 있어서,
    상기 제 1 데이터 입출력 속도 및 상기 제 3 데이터 입출력 속도는 상기 제 2 데이터 입출력 속도보다 낮은 메모리 시스템의 동작 방법.
  10. 삭제
  11. 제 8 항에 있어서,
    상기 읽기 전압 레벨을 조절하는 단계는 밸리 서치 동작을 이용하여 상기 읽기 전압 레벨을 조절하는 메모리 시스템의 동작 방법.
  12. 플래시 메모리를 포함하는 메모리 시스템의 제 1 온도를 감지하는 단계;
    상기 제 1 온도에 따라 클럭 주파수 및 데이터 입출력 속도 중 적어도 하나를 낮추는 단계;
    상기 플래시 메모리의 제 1 입출력 데이터에 제 1 에러가 있는지 여부를 판단하는 단계;
    상기 제 1 입출력 데이터에 상기 제 1 에러가 있으면, (i) 상기 플래시 메모리에 대한 읽기 전압 레벨 및 (ii) 상기 플래시 메모리에 대한 드라이브 세기 중 하나인 동작 조건을 조절하는 단계; 및
    상기 동작 조건 그리고 상기 클럭 주파수 및 상기 데이터 입출력 속도 중 상기 적어도 하나에 따라 상기 플래시 메모리의 데이터 입출력 동작을 수행하는 단계를 포함하는 메모리 시스템의 동작 방법.
  13. 제 12 항에 있어서,
    상기 데이터 입출력 동작을 수행하는 단계에서, 상기 플래시 메모리의 제 2 입출력 데이터에 제 2 에러가 있는지 여부를 판단하는 단계; 그리고
    상기 제 2 입출력 데이터에 상기 제 2 에러가 있으면 상기 클럭 주파수 및 상기 데이터 입출력 속도 중 상기 적어도 하나를 낮추는 단계를 더 포함하는 메모리 시스템의 동작 방법.
  14. 제 12 항에 있어서,
    상기 낮추는 단계는 상기 클럭 주파수 및 상기 데이터 입출력 속도 중 상기 적어도 하나를 제 1 레벨에서 제 2 레벨로 낮추고, 그리고
    상기 메모리 시스템의 동작 방법은:
    상기 메모리 시스템의 제 2 온도를 감지하는 단계; 및
    상기 제 2 온도에 따라 상기 클럭 주파수 및 상기 데이터 입출력 속도 중 상기 적어도 하나를 상기 제 2 레벨에서 제 3 레벨로 낮추는 단계를 더 포함하는 메모리 시스템의 동작 방법.
  15. 제 12 항에 있어서,
    상기 낮추는 단계는 상기 클럭 주파수 및 상기 데이터 입출력 속도 중 상기 적어도 하나를 제 1 레벨에서 제 2 레벨로 낮추고, 그리고
    상기 메모리 시스템의 동작 방법은:
    상기 메모리 시스템의 제 2 온도를 감지하는 단계; 및
    상기 제 2 온도에 따라 상기 클럭 주파수 및 상기 데이터 입출력 속도 중 상기 적어도 하나를 상기 제 2 레벨에서 상기 제 1 레벨로 높이는 단계를 더 포함하는 메모리 시스템의 동작 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
KR1020150023899A 2015-02-17 2015-02-17 클록 제어 유닛 또는 전원 제어 유닛을 포함하는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법 KR102239356B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150023899A KR102239356B1 (ko) 2015-02-17 2015-02-17 클록 제어 유닛 또는 전원 제어 유닛을 포함하는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법
US15/016,464 US10019188B2 (en) 2015-02-17 2016-02-05 Storage devices, memory systems and operating methods to suppress operating errors due to variations in environmental conditions
CN201610087796.8A CN105895161B (zh) 2015-02-17 2016-02-16 存储装置、存储器系统及它们的操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150023899A KR102239356B1 (ko) 2015-02-17 2015-02-17 클록 제어 유닛 또는 전원 제어 유닛을 포함하는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20160101751A KR20160101751A (ko) 2016-08-26
KR102239356B1 true KR102239356B1 (ko) 2021-04-13

Family

ID=56621420

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150023899A KR102239356B1 (ko) 2015-02-17 2015-02-17 클록 제어 유닛 또는 전원 제어 유닛을 포함하는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법

Country Status (3)

Country Link
US (1) US10019188B2 (ko)
KR (1) KR102239356B1 (ko)
CN (1) CN105895161B (ko)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9404812B2 (en) * 2013-03-14 2016-08-02 Samsung Electronics Co., Ltd. Method for detecting environmental value in electronic device and electronic device
KR102316441B1 (ko) * 2015-04-14 2021-10-25 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
TWI595492B (zh) * 2016-03-02 2017-08-11 群聯電子股份有限公司 資料傳輸方法、記憶體控制電路單元與記憶體儲存裝置
KR20180024248A (ko) * 2016-08-29 2018-03-08 삼성전자주식회사 돌입 전류를 방지하기 위한 프리차지 회로 및 이를 포함하는 전자 장치
JP6473733B2 (ja) * 2016-12-13 2019-02-20 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置およびその動作設定方法
TWI621063B (zh) * 2017-01-13 2018-04-11 慧榮科技股份有限公司 主機裝置與資料傳輸速率控制方法
JP2018156696A (ja) * 2017-03-15 2018-10-04 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
CN107239409B (zh) * 2017-05-08 2020-12-29 深圳大学 一种基于温度的重要数据分配方法及其系统
US10013194B1 (en) * 2017-06-02 2018-07-03 Western Digital Technologies, Inc. Handling thermal shutdown for memory devices
CN109213436B (zh) 2017-06-30 2021-08-24 慧荣科技股份有限公司 降低快闪储存介面中传收数据错误方法及装置
US10848263B2 (en) * 2017-06-30 2020-11-24 Silicon Motion, Inc. Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same
US10637509B2 (en) 2017-06-30 2020-04-28 Silicon Motion, Inc. Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same
CN109213624B (zh) * 2017-06-30 2022-04-05 慧荣科技股份有限公司 降低快闪储存介面中传收数据错误方法及装置
US10630424B2 (en) 2017-06-30 2020-04-21 Silicon Motion, Inc. Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same
JP2019057194A (ja) 2017-09-22 2019-04-11 東芝メモリ株式会社 メモリシステム、及び不揮発性メモリの制御方法
US10459785B2 (en) * 2017-09-27 2019-10-29 Western Digital Technologies, Inc. Error detection for training non-volatile memories
CN107945820B (zh) * 2017-11-03 2019-08-13 记忆科技(深圳)有限公司 一种固态硬盘温度控制方法及温度控制模块
KR102450521B1 (ko) 2018-01-09 2022-10-05 삼성전자주식회사 모바일 장치 및 그것의 인터페이싱 방법
US10403378B1 (en) * 2018-02-09 2019-09-03 Micron Technology, Inc. Performing an operation on a memory cell of a memory system at a frequency based on temperature
US10732890B2 (en) * 2018-03-06 2020-08-04 Micron Technology, Inc. Adjusting a parameter for a programming operation based on the temperature of a memory system
TWI659311B (zh) 2018-05-14 2019-05-11 慧榮科技股份有限公司 資料儲存系統以及非揮發式記憶體操作方法
GB201810533D0 (en) * 2018-06-27 2018-08-15 Nordic Semiconductor Asa Hardware protection of files in an intergrated-circuit device
JP2020035501A (ja) * 2018-08-28 2020-03-05 キオクシア株式会社 メモリシステム及びストレージシステム
KR102608958B1 (ko) 2018-11-19 2023-12-01 삼성전자주식회사 스토리지 장치 및 이의 동작 방법
US11650642B2 (en) * 2018-12-03 2023-05-16 Micron Technology, Inc. Estimating the temperature of a memory sub-system
US10713116B2 (en) * 2018-12-06 2020-07-14 Sabrina Barbato Solid state device implementing dynamic polar encoding
CN109766133A (zh) * 2018-12-29 2019-05-17 合肥杰发科技有限公司 一种内置嵌入式单元的系统及其初始化方法
US11308209B2 (en) 2019-01-18 2022-04-19 Cobalt Iron, Inc. Data protection automatic optimization system and method
US11063907B2 (en) 2019-01-18 2021-07-13 Cobalt Iron, Inc. Data protection automatic optimization system and method
US11212304B2 (en) 2019-01-18 2021-12-28 Cobalt Iron, Inc. Data protection automatic optimization system and method
US10891200B2 (en) * 2019-01-18 2021-01-12 Colbalt Iron, Inc. Data protection automatic optimization system and method
US10936456B1 (en) * 2019-02-20 2021-03-02 Apple Inc. Handling malfunction in a memory system comprising a nonvolatile memory by monitoring bad-block patterns
CN111951867B (zh) * 2019-05-14 2022-11-01 兆易创新科技集团股份有限公司 一种控制读操作的方法和装置
JP6756878B1 (ja) * 2019-06-17 2020-09-16 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US10984876B2 (en) * 2019-06-19 2021-04-20 SanDiskTechnologies LLC Temperature based programming in memory
CN110489362B (zh) * 2019-08-22 2022-08-23 江苏华存电子科技有限公司 eMMC校正输出入有效窗口自动调整方法、装置、存储介质
US11145336B2 (en) * 2019-10-30 2021-10-12 Micron Technology, Inc. Program pulse control using environmental parameters
CN111026328B (zh) * 2019-11-13 2022-04-22 华为技术有限公司 一种能耗控制方法、装置及存储系统
TWI694456B (zh) * 2019-12-03 2020-05-21 華騰國際科技股份有限公司 反及閘型快閃記憶體控制系統及其方法
CN113823345A (zh) * 2020-03-27 2021-12-21 长江存储科技有限责任公司 存储器的读取方法、装置及存储系统
US11625297B2 (en) * 2020-08-28 2023-04-11 Samsung Electronics Co., Ltd. Storage device and operating method thereof
KR20220037618A (ko) 2020-09-18 2022-03-25 삼성전자주식회사 시간 분할 샘플링 페이지 버퍼를 이용하여 읽기 동작을 수행하는 스토리지 장치
KR20220060572A (ko) * 2020-11-04 2022-05-12 삼성전자주식회사 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 저장 장치, 및 그것의 리드 방법
US11532357B2 (en) * 2021-01-15 2022-12-20 Taiwan Semiconductor Manufacturing Company, Ltd. Memory cell with temperature modulated read voltage
CN113656218A (zh) * 2021-07-23 2021-11-16 深圳市宏旺微电子有限公司 闪存数据重读方法、装置及计算机可读存储介质
US11775186B1 (en) * 2021-08-04 2023-10-03 Amazon Technologies, Inc. Dynamic usage-metric-based configuration of storage volumes
CN114995886B (zh) * 2021-09-26 2023-04-11 荣耀终端有限公司 一种存储卡的识别方法及电子设备
US20230197119A1 (en) * 2021-12-20 2023-06-22 Micron Technology, Inc. Temperature differential-based voltage offset control
CN114415947B (zh) * 2021-12-28 2024-02-23 山东云海国创云计算装备产业创新中心有限公司 一种Dummy read控制方法、装置及介质
TWI801106B (zh) * 2022-01-24 2023-05-01 宜鼎國際股份有限公司 記憶體存取速度調整方法、控制裝置以及記憶體模組

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209525A (ja) * 2005-01-28 2006-08-10 Matsushita Electric Ind Co Ltd メモリシステム
US20090091996A1 (en) 2007-10-09 2009-04-09 Ming-Dar Chen Solid state semiconductor storage device with temperature control function, application system thereof and control element thereof
US20100023678A1 (en) 2007-01-30 2010-01-28 Masahiro Nakanishi Nonvolatile memory device, nonvolatile memory system, and access device
US20100293305A1 (en) * 2009-05-13 2010-11-18 Samsung Electronics Co., Ltd Data storage device to control signal strength of memory channel and setting method thereof

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789037B2 (en) 1999-03-30 2004-09-07 Intel Corporation Methods and apparatus for thermal management of an integrated circuit die
US8037234B2 (en) 2003-12-02 2011-10-11 Super Talent Electronics, Inc. Command queuing smart storage transfer manager for striping data to raw-NAND flash modules
JP3906015B2 (ja) 2000-07-12 2007-04-18 株式会社東芝 クロック周波数切り替え機能を有するlsi、計算機システム及びクロック周波数切り替え方法
US6717851B2 (en) * 2000-10-31 2004-04-06 Sandisk Corporation Method of reducing disturbs in non-volatile memory
US6892312B1 (en) * 2001-10-30 2005-05-10 Lsi Logic Corporation Power monitoring and reduction for embedded IO processors
US7057958B2 (en) * 2003-09-30 2006-06-06 Sandisk Corporation Method and system for temperature compensation for memory cells with temperature-dependent behavior
US20090193184A1 (en) 2003-12-02 2009-07-30 Super Talent Electronics Inc. Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System
US7064994B1 (en) 2004-01-30 2006-06-20 Sun Microsystems, Inc. Dynamic memory throttling for power and thermal limitations
US7061804B2 (en) 2004-11-18 2006-06-13 Qualcomm Incorporated Robust and high-speed memory access with adaptive interface timing
US7493228B2 (en) 2005-06-23 2009-02-17 Intel Corporation Method and system for deterministic throttling for thermal management
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
KR101086855B1 (ko) 2008-03-10 2011-11-25 주식회사 팍스디스크 고속 동작하는 반도체 스토리지 시스템 및 그 제어 방법
EP2417524A4 (en) 2009-04-10 2013-03-06 Kaminario Tehnologies Ltd MASS STORAGE SYSTEM USING AN AUXILIARY SEMICONDUCTOR STORAGE SUBSYSTEM
JP5349256B2 (ja) 2009-11-06 2013-11-20 株式会社東芝 メモリシステム
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
US8737136B2 (en) 2010-07-09 2014-05-27 Stec, Inc. Apparatus and method for determining a read level of a memory cell based on cycle information
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
US8510740B2 (en) 2010-09-16 2013-08-13 Qualcomm Incorporated System and method of performing dynamic voltage and frequency scaling operations on a mobile device
US8996330B2 (en) 2011-01-06 2015-03-31 Qualcomm Incorporated Method and system for managing thermal policies of a portable computing device
CN102890964B (zh) * 2011-07-21 2015-10-07 光宝科技股份有限公司 固态储存装置及其相关控制方法
US9417803B2 (en) 2011-09-20 2016-08-16 Apple Inc. Adaptive mapping of logical addresses to memory devices in solid state drives
KR101885857B1 (ko) 2012-01-04 2018-08-06 삼성전자주식회사 온도 관리 회로, 이를 포함하는 시스템 온 칩 및 온도 관리 방법
US20130185612A1 (en) 2012-01-18 2013-07-18 Samsung Electronics Co., Ltd. Flash memory system and read method of flash memory system
JP5907739B2 (ja) 2012-01-26 2016-04-26 株式会社日立製作所 不揮発性記憶装置
CN103376869B (zh) 2012-04-28 2016-11-23 华为技术有限公司 一种用于dvfs的温度反馈控制系统及方法
KR101975409B1 (ko) 2012-07-26 2019-05-08 삼성전자주식회사 시스템 온 칩 및 그것의 온도 제어 방법
KR20140021283A (ko) 2012-08-09 2014-02-20 삼성전자주식회사 다중 dvfs 정책을 이용한 soc 및 이의 동작 방법
KR101961318B1 (ko) 2012-09-07 2019-07-17 삼성전자주식회사 중앙처리장치에서의 점유시간을 최소화하는 방어코드 운영 방법 및 그에 따른 메모리 시스템
US9343165B2 (en) * 2012-12-31 2016-05-17 Sandisk Technologies Inc. Dynamic drive strength optimization
KR102048765B1 (ko) 2013-01-15 2020-01-22 삼성전자주식회사 메모리 시스템의 동작 방법 및 메모리 시스템
US9530512B2 (en) * 2014-09-19 2016-12-27 Sandisk Technologies Llc Temperature dependent sensing scheme to counteract cross-temperature threshold voltage distribution widening
KR102251810B1 (ko) * 2014-09-30 2021-05-13 삼성전자주식회사 메모리 장치, 메모리 시스템 및 메모리 장치에 대한 제어 방법
KR102290974B1 (ko) * 2014-11-07 2021-08-19 삼성전자주식회사 불휘발성 메모리 장치, 메모리 컨트롤러 및 그것들을 포함하는 불휘발성 메모리 시스템의 동작 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209525A (ja) * 2005-01-28 2006-08-10 Matsushita Electric Ind Co Ltd メモリシステム
US20100023678A1 (en) 2007-01-30 2010-01-28 Masahiro Nakanishi Nonvolatile memory device, nonvolatile memory system, and access device
US20090091996A1 (en) 2007-10-09 2009-04-09 Ming-Dar Chen Solid state semiconductor storage device with temperature control function, application system thereof and control element thereof
US20100293305A1 (en) * 2009-05-13 2010-11-18 Samsung Electronics Co., Ltd Data storage device to control signal strength of memory channel and setting method thereof

Also Published As

Publication number Publication date
KR20160101751A (ko) 2016-08-26
US20160239235A1 (en) 2016-08-18
CN105895161A (zh) 2016-08-24
US10019188B2 (en) 2018-07-10
CN105895161B (zh) 2020-11-06

Similar Documents

Publication Publication Date Title
KR102239356B1 (ko) 클록 제어 유닛 또는 전원 제어 유닛을 포함하는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법
US11960752B2 (en) Memory system and method of operating the same
US11093384B2 (en) User device including a nonvolatile memory device and a data write method thereof
USRE49683E1 (en) Memory controller, storage device and method for adjusting a data input/output speed of the controller based on internal and external temperature information
KR101861170B1 (ko) 마이그레이션 관리자를 포함하는 메모리 시스템
KR101891164B1 (ko) 프로그램 스케줄러를 포함하는 플래시 메모리 장치
US9891838B2 (en) Method of operating a memory system having a meta data manager
KR20120130588A (ko) 플래시 메모리 장치 및 그것의 프로그램 방법
US11481272B2 (en) Memory controller and method of operating the same
US20210327513A1 (en) Memory device and method of operating the same
KR102182804B1 (ko) 메모리 장치의 독출 방법
US11487627B2 (en) Storage device and method of operating the same
US10943664B2 (en) Storage device and operating method thereof
US11393538B2 (en) Data storage device and method of operating the same
KR102640951B1 (ko) 메모리 컨트롤러 및 그 동작 방법
US20220076750A1 (en) Memory device and method of operating memory device
US11676643B2 (en) Memory device, storage device, and method of operating memory controller to output read data in response to read enable signal
US11314652B2 (en) Memory controller and method of operating the same
US11366725B2 (en) Storage device and method of operating the same
US20210132804A1 (en) Storage device and method of operating the storage device
US20210141531A1 (en) Storage device and operating method thereof
KR20150059058A (ko) 호스트 ftl을 갖는 사용자 장치 및 그것의 오픈 블록의 페이지 오프셋 전송 방법
US11908527B2 (en) Memory device and method of operating the memory device
US11581050B2 (en) Memory device and method of operating the memory device
US11960765B2 (en) Storage device and method of operating the same

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