KR102239356B1 - 클록 제어 유닛 또는 전원 제어 유닛을 포함하는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법 - Google Patents
클록 제어 유닛 또는 전원 제어 유닛을 포함하는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법 Download PDFInfo
- 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
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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1604—Error 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
-
- 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/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- 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/26—Power supply means, e.g. regulation thereof
-
- 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
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
- G11C16/28—Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- 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
Abstract
본 발명의 실시 예에 따른 저장 장치는 플래시 메모리와 메모리 컨트롤러를 포함한다. 상기 메모리 컨트롤러는 상기 플래시 메모리에 동작 오류가 발생한 경우에 제 1 데이터 입출력 속도로 상기 플래시 메모리에 대한 제 1 재처리 동작(retry operation 1)을 수행하고, 상기 제 1 재처리 동작에 의해 상기 플래시 메모리의 동작 오류가 구제되지 않는 경우에 상기 제 1 데이터 입출력 속도보다 낮은 제 2 데이터 입출력 속도로 상기 플래시 메모리에 대한 제 2 재처리 동작(retry operation 2)을 수행한다. 본 발명에 의하면, 추운 온도와 같은 환경에서는 플래시 메모리의 데이터 입출력을 위한 클록의 주파수를 낮추어 주고, 따뜻한 온도 또는 상온에서는 클록 주파수를 높게 설정함으로, 저장 장치의 성능을 극대화하고 동작 오류를 최소화할 수 있다.
Description
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 클록 제어 유닛 또는 전원 제어 유닛을 포함하는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법에 관한 것이다.
반도체 메모리 장치는 일반적으로 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는 본 발명의 실시 예에 따른 저장 장치가 모바일 장치에 사용된 경우를 보여주는 블록도이다.
도 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: 메모리 컨트롤러
1200: 메모리 컨트롤러 1300: 호스트
1210: 메모리 인터페이스 1220: 호스트 인터페이스
1230: 중앙처리장치 1240: RAM
1250: 클록 제어 유닛 1260: ROM
2000: 저장 장치 2100: 플래시 메모리
2200: 메모리 컨트롤러
Claims (25)
- 플래시 메모리를 포함하는 메모리 시스템의 동작 방법은:
상기 메모리 시스템의 제 1 온도를 감지하는 단계; 및
상기 제 1 온도에 따라 상기 플래시 메모리의 데이터 입출력 속도를 조절하는 재처리 동작을 수행하는 단계를 포함하되,
상기 재처리 동작을 수행하는 단계는:
상기 플래시 메모리의 읽기 전압 레벨을 제 1 읽기 전압 레벨에서 제 2 읽기 전압 레벨로 조절하는 단계; 및
상기 제 1 온도에 따라 상기 데이터 입출력 속도를 제 1 데이터 입출력 속도에서 제 2 데이터 입출력 속도로 낮추는 단계를 포함하는 메모리 시스템의 동작 방법. - 제 1 항에 있어서,
상기 제 1 온도보다 낮은 상기 메모리 시스템의 제 2 온도를 감지하는 단계를 더 포함하고, 그리고
상기 재처리 동작을 수행하는 단계는:
상기 제 2 온도에 따라 상기 데이터 입출력 속도를 상기 제 2 데이터 입출력 속도에서 제 3 데이터 입출력 속도로 낮추는 단계를 더 포함하는 메모리 시스템의 동작 방법. - 제 1 항에 있어서,
상기 제 1 온도보다 높은 상기 메모리 시스템의 제 2 온도를 감지하는 단계를 더 포함하고, 그리고
상기 재처리 동작을 수행하는 단계는:
상기 제 2 온도에 따라 상기 데이터 입출력 속도를 상기 제 2 데이터 입출력 속도에서 상기 제 1 데이터 입출력 속도로 높이는 단계를 더 포함하는 메모리 시스템의 동작 방법. - 삭제
- 제 1 항에 있어서,
상기 제 1 온도보다 낮은 상기 메모리 시스템의 제 2 온도를 감지하는 단계를 더 포함하고, 그리고
상기 재처리 동작을 수행하는 단계는, 상기 제 2 온도에 따라 상기 읽기 전압 레벨을 상기 제 2 읽기 전압 레벨에서 제 3 읽기 전압 레벨로 조절하는 단계를 더 포함하는 메모리 시스템의 동작 방법. - 제 1 항에 있어서,
상기 제 1 온도보다 높은 상기 메모리 시스템의 제 2 온도를 감지하는 단계를 더 포함하고, 그리고
상기 재처리 동작을 수행하는 단계는, 상기 제 2 온도에 따라 상기 읽기 전압 레벨을 상기 제 2 읽기 전압 레벨에서 상기 제 1 읽기 전압 레벨로 조절하는 단계를 더 포함하는 메모리 시스템의 동작 방법. - 제 1 항에 있어서,
상기 재처리 동작을 수행하는 단계는 상기 플래시 메모리의 드라이브 세기를 조절하는 단계를 더 포함하는 메모리 시스템의 동작 방법. - 메모리 시스템에 관한 온도 정보에 기초하여 데이터 입출력 속도를 조절하는 단계; 및
상기 데이터 입출력 속도에 기초하여 읽기 동작을 위한 읽기 전압 레벨을 조절하는 단계를 포함하되,
상기 데이터 입출력 속도를 조절하는 단계는:
상기 온도 정보가 상기 메모리 시스템의 제 1 온도를 나타내면 상기 데이터 입출력 속도를 제 1 데이터 입출력 속도로 낮추고,
상기 온도 정보가 상기 메모리 시스템의 제 2 온도를 나타내면 상기 데이터 입출력 속도를 제 2 데이터 입출력 속도로 조절하고, 그리고
상기 온도 정보가 상기 메모리 시스템의 제 3 온도를 나타내면 상기 데이터 입출력 속도를 제 3 데이터 입출력 속도로 낮추는 메모리 시스템의 동작 방법. - 제 8 항에 있어서,
상기 제 1 데이터 입출력 속도 및 상기 제 3 데이터 입출력 속도는 상기 제 2 데이터 입출력 속도보다 낮은 메모리 시스템의 동작 방법. - 삭제
- 제 8 항에 있어서,
상기 읽기 전압 레벨을 조절하는 단계는 밸리 서치 동작을 이용하여 상기 읽기 전압 레벨을 조절하는 메모리 시스템의 동작 방법. - 플래시 메모리를 포함하는 메모리 시스템의 제 1 온도를 감지하는 단계;
상기 제 1 온도에 따라 클럭 주파수 및 데이터 입출력 속도 중 적어도 하나를 낮추는 단계;
상기 플래시 메모리의 제 1 입출력 데이터에 제 1 에러가 있는지 여부를 판단하는 단계;
상기 제 1 입출력 데이터에 상기 제 1 에러가 있으면, (i) 상기 플래시 메모리에 대한 읽기 전압 레벨 및 (ii) 상기 플래시 메모리에 대한 드라이브 세기 중 하나인 동작 조건을 조절하는 단계; 및
상기 동작 조건 그리고 상기 클럭 주파수 및 상기 데이터 입출력 속도 중 상기 적어도 하나에 따라 상기 플래시 메모리의 데이터 입출력 동작을 수행하는 단계를 포함하는 메모리 시스템의 동작 방법. - 제 12 항에 있어서,
상기 데이터 입출력 동작을 수행하는 단계에서, 상기 플래시 메모리의 제 2 입출력 데이터에 제 2 에러가 있는지 여부를 판단하는 단계; 그리고
상기 제 2 입출력 데이터에 상기 제 2 에러가 있으면 상기 클럭 주파수 및 상기 데이터 입출력 속도 중 상기 적어도 하나를 낮추는 단계를 더 포함하는 메모리 시스템의 동작 방법. - 제 12 항에 있어서,
상기 낮추는 단계는 상기 클럭 주파수 및 상기 데이터 입출력 속도 중 상기 적어도 하나를 제 1 레벨에서 제 2 레벨로 낮추고, 그리고
상기 메모리 시스템의 동작 방법은:
상기 메모리 시스템의 제 2 온도를 감지하는 단계; 및
상기 제 2 온도에 따라 상기 클럭 주파수 및 상기 데이터 입출력 속도 중 상기 적어도 하나를 상기 제 2 레벨에서 제 3 레벨로 낮추는 단계를 더 포함하는 메모리 시스템의 동작 방법. - 제 12 항에 있어서,
상기 낮추는 단계는 상기 클럭 주파수 및 상기 데이터 입출력 속도 중 상기 적어도 하나를 제 1 레벨에서 제 2 레벨로 낮추고, 그리고
상기 메모리 시스템의 동작 방법은:
상기 메모리 시스템의 제 2 온도를 감지하는 단계; 및
상기 제 2 온도에 따라 상기 클럭 주파수 및 상기 데이터 입출력 속도 중 상기 적어도 하나를 상기 제 2 레벨에서 상기 제 1 레벨로 높이는 단계를 더 포함하는 메모리 시스템의 동작 방법. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
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)
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)
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)
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 | 삼성전자주식회사 | 불휘발성 메모리 장치, 메모리 컨트롤러 및 그것들을 포함하는 불휘발성 메모리 시스템의 동작 방법 |
-
2015
- 2015-02-17 KR KR1020150023899A patent/KR102239356B1/ko active IP Right Grant
-
2016
- 2016-02-05 US US15/016,464 patent/US10019188B2/en active Active
- 2016-02-16 CN CN201610087796.8A patent/CN105895161B/zh active Active
Patent Citations (4)
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 |