KR20180026993A - 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 온도 조절 방법 - Google Patents
비휘발성 메모리 장치 및 비휘발성 메모리 장치의 온도 조절 방법 Download PDFInfo
- Publication number
- KR20180026993A KR20180026993A KR1020160114014A KR20160114014A KR20180026993A KR 20180026993 A KR20180026993 A KR 20180026993A KR 1020160114014 A KR1020160114014 A KR 1020160114014A KR 20160114014 A KR20160114014 A KR 20160114014A KR 20180026993 A KR20180026993 A KR 20180026993A
- Authority
- KR
- South Korea
- Prior art keywords
- cell array
- memory cell
- output
- frequency
- input
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000013507 mapping Methods 0.000 claims description 5
- 230000003247 decreasing effect Effects 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 239000004065 semiconductor Substances 0.000 description 6
- 239000000758 substrate Substances 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 3
- 101100058970 Arabidopsis thaliana CALS11 gene Proteins 0.000 description 2
- 101100058961 Arabidopsis thaliana CALS2 gene Proteins 0.000 description 2
- 101100058964 Arabidopsis thaliana CALS5 gene Proteins 0.000 description 2
- 102100031885 General transcription and DNA repair factor IIH helicase subunit XPB Human genes 0.000 description 2
- 101000920748 Homo sapiens General transcription and DNA repair factor IIH helicase subunit XPB Proteins 0.000 description 2
- 101001114057 Homo sapiens P antigen family member 1 Proteins 0.000 description 2
- 101001114056 Homo sapiens P antigen family member 2 Proteins 0.000 description 2
- 101001114053 Homo sapiens P antigen family member 3 Proteins 0.000 description 2
- 101001114051 Homo sapiens P antigen family member 5 Proteins 0.000 description 2
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene Proteins 0.000 description 2
- 102100023219 P antigen family member 1 Human genes 0.000 description 2
- 102100023220 P antigen family member 2 Human genes 0.000 description 2
- 102100023239 P antigen family member 3 Human genes 0.000 description 2
- 102100023238 P antigen family member 5 Human genes 0.000 description 2
- -1 PAGE4 Proteins 0.000 description 2
- 101100287040 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ARG82 gene Proteins 0.000 description 2
- 101100341076 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) IPK1 gene Proteins 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 201000002674 obstructive nephropathy Diseases 0.000 description 2
- 101150064834 ssl1 gene Proteins 0.000 description 2
- 101150062870 ssl3 gene Proteins 0.000 description 2
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- 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
- 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/0253—Garbage collection, i.e. reclamation of unreferenced 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
-
- 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/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input 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/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
메모리 셀 어레이를 포함하는 비휘발성 메모리 장치의 온도 조절 방법에서, 메모리 셀 어레이의 현재 온도를 주기적으로 검출하고, 현재 온도와 기준 온도를 비교하고, 현재 온도가 기준 온도보다 낮은 경우, 메모리 컨트롤러로부터 제공되는 외부 입출력 명령이 존재하는지 여부를 판단하고, 외부 입출력 명령이 존재하는 경우, 메모리 셀 어레이에 대해 외부 입출력 명령에 상응하는 입출력 동작을 수행하고, 외부 입출력 명령이 존재하지 않는 경우, 메모리 컨트롤러로부터의 명령과 무관하게 메모리 셀 어레이에 대해 미리 정의된 내부 입출력 동작을 내부적으로 수행한다.
Description
본 발명은 비휘발성 메모리 장치에 관한 것으로, 보다 상세하게는 비휘발성 메모리 장치의 온도 조절 방법에 관한 것이다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치(Volatile semiconductor memory device)와 비휘발성 반도체 메모리 장치(Nonvolatile semiconductor memory device)로 구분될 수 있다. 휘발성 반도체 메모리 장치는 읽고 쓰는 속도가 빠르지만 전원 공급이 끊기면 저장된 내용이 사라져 버리는 단점이 있다. 반면에 비휘발성 반도체 메모리 장치는 전원 공급이 중단되더라도 그 내용을 보존한다. 그러므로, 비휘발성 반도체 메모리 장치는 전원이 공급되었는지의 여부에 관계없이 보존되어야 할 내용을 기억시키는 데 쓰인다.
비휘발성 메모리 장치의 대표적인 예로 플래시 메모리 장치가 있다. 플래시 메모리 장치는 컴퓨터, 휴대폰, PDA, 디지털카메라, 캠코더, 보이스 리코더, MP3 플레이어, 개인용 휴대 단말기(PDA), 휴대용 컴퓨터(Handheld PC), 게임기, 팩스, 스캐너, 프린터 등과 같은 전자 기기들의 음성 및 영상 데이터 저장 매체로서 널리 사용되고 있다.
그런데 비휘발성 메모리 장치는 온도가 낮을 경우 메모리 셀들의 저항이 증가하여 데이터 오류(data corruption)가 발생할 확률이 증가한다.
따라서 겨울철 등과 같이 비휘발성 메모리 장치의 온도가 낮은 상태에서 비휘발성 메모리 장치의 턴온 초기에 비휘발성 메모리 장치의 동작에 에러가 발생하는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 온도가 낮은 경우 온도를 효과적으로 상승시킬 수 있는 비휘발성 메모리 장치의 온도 조절 방법을 제공하는 것이다.
본 발명의 다른 목적은 온도가 낮은 경우 온도를 효과적으로 상승시킬 수 있는 비휘발성 메모리 장치를 제공하는 것이다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 메모리 셀 어레이를 포함하는 비휘발성 메모리 장치의 온도 조절 방법에서, 상기 메모리 셀 어레이의 현재 온도를 주기적으로 검출하고, 상기 현재 온도와 기준 온도를 비교하고, 상기 현재 온도가 상기 기준 온도보다 낮은 경우, 메모리 컨트롤러로부터 제공되는 외부 입출력 명령이 존재하는지 여부를 판단하고, 상기 외부 입출력 명령이 존재하는 경우, 상기 메모리 셀 어레이에 대해 상기 외부 입출력 명령에 상응하는 입출력 동작을 수행하고, 상기 외부 입출력 명령이 존재하지 않는 경우, 상기 메모리 컨트롤러로부터의 명령과 무관하게 상기 메모리 셀 어레이에 대해 미리 정의된 내부 입출력 동작을 내부적으로 수행한다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치는 메모리 셀 어레이, 온도 센서, 및 제어 회로를 포함한다. 상기 메모리 셀 어레이는 복수의 메모리 셀들을 포함한다. 상기 온도 센서는 상기 메모리 셀 어레이의 현재 온도를 검출한다. 상기 제어 회로는 상기 현재 온도가 기준 온도보다 낮은 경우, 메모리 컨트롤러로부터 제공되는 외부 입출력 명령이 존재하는지 여부를 판단하고, 상기 외부 입출력 명령이 존재하는 경우, 상기 메모리 셀 어레이에 대해 상기 외부 입출력 명령에 상응하는 입출력 동작을 수행하고, 상기 외부 입출력 명령이 존재하지 않는 경우, 상기 메모리 컨트롤러로부터의 명령과 무관하게 상기 메모리 셀 어레이에 대해 미리 정의된 내부 입출력 동작을 내부적으로 수행한다.
본 발명의 실시예들에 따른 비휘발성 메모리 장치의 온도 조절 방법에 따르면, 메모리 셀 어레이의 온도가 기준 온도보다 낮은 경우 메모리 셀 어레이의 온도를 빠르게 상승시킬 뿐만 아니라, 비휘발성 메모리 장치의 성능도 효과적으로 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 전자 시스템을 나타내는 블록도이다.
도 2는 도 1의 전자 시스템에 포함되는 비휘발성 메모리 장치의 일 예를 나타내는 블록도이다.
도 3은 도 2의 비휘발성 메모리 장치에 포함되는 메모리 셀 어레이의 일 예를 나타내는 회로도이다.
도 4는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 온도 조절 방법을 나타내는 순서도이다.
도 5는 도 4에 도시된 비휘발성 메모리 장치의 온도 조절 방법의 일 예를 나타내는 순서도이다.
도 6은 도 4에 도시된 비휘발성 메모리 장치의 온도 조절 방법의 다른 예를 나타내는 순서도이다.
도 7은 도 2의 비휘발성 메모리 장치에 의해 수행되는 웨어 레벨링(wear leveling) 동작을 설명하기 위한 도면이다.
도 8은 도 2의 비휘발성 메모리 장치에 의해 수행되는 가비지 콜렉션(garbage collection) 동작을 설명하기 위한 도면이다.
도 9는 도 2의 비휘발성 메모리 장치에 의해 수행되는 배드 블록 관리 동작을 설명하기 위한 도면이다.
도 10은 도 6에 도시된 비휘발성 메모리 장치의 온도 조절 방법의 일 예를 나타내는 순서도이다.
도 11은 도 1의 전자 시스템에 포함되는 비휘발성 메모리 장치의 다른 예를 나타내는 블록도이다.
도 12는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 온도 조절 방법을 나타내는 순서도이다.
도 2는 도 1의 전자 시스템에 포함되는 비휘발성 메모리 장치의 일 예를 나타내는 블록도이다.
도 3은 도 2의 비휘발성 메모리 장치에 포함되는 메모리 셀 어레이의 일 예를 나타내는 회로도이다.
도 4는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 온도 조절 방법을 나타내는 순서도이다.
도 5는 도 4에 도시된 비휘발성 메모리 장치의 온도 조절 방법의 일 예를 나타내는 순서도이다.
도 6은 도 4에 도시된 비휘발성 메모리 장치의 온도 조절 방법의 다른 예를 나타내는 순서도이다.
도 7은 도 2의 비휘발성 메모리 장치에 의해 수행되는 웨어 레벨링(wear leveling) 동작을 설명하기 위한 도면이다.
도 8은 도 2의 비휘발성 메모리 장치에 의해 수행되는 가비지 콜렉션(garbage collection) 동작을 설명하기 위한 도면이다.
도 9는 도 2의 비휘발성 메모리 장치에 의해 수행되는 배드 블록 관리 동작을 설명하기 위한 도면이다.
도 10은 도 6에 도시된 비휘발성 메모리 장치의 온도 조절 방법의 일 예를 나타내는 순서도이다.
도 11은 도 1의 전자 시스템에 포함되는 비휘발성 메모리 장치의 다른 예를 나타내는 블록도이다.
도 12는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 온도 조절 방법을 나타내는 순서도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 전자 시스템을 나타내는 블록도이다.
도 1을 참조하면, 전자 시스템(10)은 비휘발성 메모리 장치(100), 메모리 컨트롤러(200), 및 호스트(300)를 포함한다.
메모리 컨트롤러(200)는 비휘발성 메모리 장치(100)의 동작을 제어한다. 메모리 컨트롤러(200)는 호스트(300)와 비휘발성 메모리 장치(100) 사이의 데이터 교환을 제어할 수 있다.
메모리 컨트롤러(200)는 중앙 처리 장치(210), 버퍼 메모리(220), 호스트 인터페이스(230), 및 메모리 인터페이스(240)를 포함할 수 있다.
중앙 처리 장치(210)는 상기 데이터 교환을 위한 동작을 수행할 수 있다.
버퍼 메모리(220)는 DRAM(Dynamic random access memory), SRAM(Static random access memory), PRAM(Phase random access memory), FRAM(Ferroelectric random access memory), RRAM(Resistive random access memory), 또는 MRAM(Magnetic random access memory)으로 구현될 수 있다.
버퍼 메모리(220)는 중앙 처리 장치(210)의 동작 메모리일 수 있다. 실시예에 따라서, 버퍼 메모리(220)는 메모리 컨트롤러(200)의 내부 또는 외부에 위치할 수 있다.
호스트 인터페이스(230)는 호스트(300)와 연결되고, 메모리 인터페이스(240)는 비휘발성 메모리 장치(100)와 연결된다.
중앙 처리 장치(210)는 호스트 인터페이스(230)를 통하여 호스트(300)와 통신할 수 있다. 예를 들어, 호스트 인터페이스(230)는 USB(Universal Serial Bus), MMC(Multi-Media Card), PCI-E(Peripheral Component Interconnect-Express), SAS(Serial-attached SCSI), SATA(Serial Advanced Technology Attachment), PATA(Parallel Advanced Technology Attachment), SCSI(Small Computer System Interface), ESDI(Enhanced Small Disk Interface), IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 호스트(300)와 통신하도록 구성될 수 있다.
또한, 중앙 처리 장치(210)는 메모리 인터페이스(240)를 통하여 비휘발성 메모리 장치(100)와 통신할 수 있다.
실시예에 따라서, 메모리 컨트롤러(200)는 에러 정정을 위한 에러 정정 장치(ECC)(250)를 더 포함할 수 있다.
중앙 처리 장치(210)는 호스트 인터페이스(230)를 통해 호스트(300)로부터 데이터를 수신하고, 메모리 인터페이스(240)를 통해 상기 데이터를 비휘발성 메모리 장치(100)에 프로그램할 수 있다.
예를 들어, 중앙 처리 장치(210)는 메모리 인터페이스(240)를 통해 비휘발성 메모리 장치(100)에 커맨드 신호(CMD), 어드레스 신호(ADDR), 클럭 신호(CLK), 및 데이터(DT)를 제공하고, 비휘발성 메모리 장치(100)는 커맨드 신호(CMD), 어드레스 신호(ADDR), 및 클럭 신호(CLK)에 기초하여 데이터(DT)를 내부의 메모리 셀들에 프로그램할 수 있다.
또한, 중앙 처리 장치(210)는 메모리 인터페이스(240)를 통해 비휘발성 메모리 장치(100)로부터 데이터를 독출하고, 호스트 인터페이스(230)를 통해 상기 데이터를 호스트(300)에 제공할 수 있다.
예를 들어, 중앙 처리 장치(210)는 메모리 인터페이스(240)를 통해 비휘발성 메모리 장치(100)에 커맨드 신호(CMD), 어드레스 신호(ADDR), 및 클럭 신호(CLK)를 제공하고, 비휘발성 메모리 장치(100)는 커맨드 신호(CMD), 어드레스 신호(ADDR), 및 클럭 신호(CLK)에 기초하여 내부의 메모리 셀들에 저장된 데이터(DT)를 독출하여 메모리 컨트롤러(200)에 제공할 수 있다.
도 1에 도시된 바와 같이, 비휘발성 메모리 장치(100)는 온도 센서(170)를 포함할 수 있다.
일반적으로 메모리 셀 어레이(110)의 온도가 낮은 경우 메모리 셀 어레이(110)에 포함되는 메모리 셀들의 저항이 증가하여 비휘발성 메모리 장치(100)의 동작에 오류가 발생할 수 있다.
후술하는 바와 같이, 비휘발성 메모리 장치(100)는 온도 센서(170)를 사용하여 현재 온도를 주기적으로 검출하고, 상기 현재 온도가 기준 온도보다 낮은 경우, 메모리 컨트롤러(200)로부터 제공되는 명령에 상응하는 입출력 동작 또는 내부적으로 미리 정의된 내부 입출력 동작을 수행할 수 있다.
따라서 본 발명에 따른 비휘발성 메모리 장치(100)는 현재 온도가 낮은 경우 메모리 셀 어레이(110)의 온도를 상기 기준 온도 이상으로 빠르게 상승시킴으로써 오동작을 효과적으로 방지할 수 있다.
도 2는 도 1의 전자 시스템에 포함되는 비휘발성 메모리 장치의 일 예를 나타내는 블록도이다.
도 2를 참조하면, 비휘발성 메모리 장치(100)는 메모리 셀 어레이(110), 어드레스 디코더(120), 페이지 버퍼 회로(130), 데이터 입출력 회로(140), 전압 생성기(150), 제어 회로(160), 및 온도 센서(170)를 포함할 수 있다.
메모리 셀 어레이(110)는 스트링 선택 라인(SSL), 복수의 워드 라인들(WLs) 및 접지 선택 라인(GSL)을 통해 어드레스 디코더(120)와 연결될 수 있다. 또한, 메모리 셀 어레이(110)는 복수의 비트 라인들(BLs)을 통해 페이지 버퍼 회로(130)와 연결될 수 있다.
메모리 셀 어레이(110)는 복수의 워드 라인들(WLs) 및 복수의 비트 라인들(BLs)에 연결되는 복수의 메모리 셀들을 포함할 수 있다.
일 실시예에 있어서, 메모리 셀 어레이(110)는 기판 상에 삼차원 구조(또는 수직 구조)로 형성되는 삼차원(three dimensional) 메모리 셀 어레이일 수 있다. 이 경우, 메모리 셀 어레이(110)는 서로 적층되어 형성되는 복수의 메모리 셀들을 포함하는 수직 메모리 셀 스트링들을 포함할 수 있다. 삼차원 메모리 셀 어레이에 대한 자세한 설명은 본 명세서에 참고 문헌으로 결합된 미국 등록 번호 7,679,133; 8,553,466; 8,654,587; 8,559,235 및 미국 공개 번호 2011/0233648에 기술되어 있다.
다른 실시예에 있어서, 메모리 셀 어레이(110)는 기판 상에 이차원 구조(또는 수평 구조)로 형성되는 이차원(two dimensional) 메모리 셀 어레이일 수 있다.
도 3은 도 2의 비휘발성 메모리 장치에 포함되는 메모리 셀 어레이의 일 예를 나타내는 회로도이다.
도 3에 도시된 메모리 셀 어레이(100)는 기판 상에 삼차원 구조로 형성되는 삼차원 메모리 셀 어레이를 나타낸다. 예를 들어, 메모리 셀 어레이(100)에 포함되는 복수의 메모리 셀 스트링들은 상기 기판과 수직한 방향으로 형성될 수 있다.
도 3을 참조하면, 메모리 셀 어레이(100)는 비트 라인들(BL1, BL2, BL3)과 공통 소스 라인(CSL) 사이에 연결되는 복수의 메모리 셀 스트링들(NS11~NS33)을 포함할 수 있다. 복수의 메모리 셀 스트링들(NS11~NS33) 각각은 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1, MC2, ..., MC8) 및 접지 선택 트랜지스터(GST)를 포함할 수 있다.
도 3에는 복수의 메모리 셀 스트링들(NS11~NS33) 각각이 8개의 메모리 셀들(MC1, MC2, ..., MC8)을 포함하는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않는다.
스트링 선택 트랜지스터(SST)는 상응하는 스트링 선택 라인(SSL1, SSL2, SSL3)에 연결될 수 있다. 복수의 메모리 셀들(MC1, MC2, ..., MC8)은 각각 상응하는 워드 라인(WL1, WL2, ..., WL8)에 연결될 수 있다. 접지 선택 트랜지스터(GST)는 상응하는 접지 선택 라인(GSL1, GSL2, GSL3)에 연결될 수 있다. 스트링 선택 트랜지스터(SST)는 상응하는 비트 라인(BL1, BL2, BL3)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결될 수 있다.
동일 높이의 워드 라인(예를 들면, WL1)은 공통으로 연결되고, 접지 선택 라인(GSL1, GSL2, GSL3) 및 스트링 선택 라인(SSL1, SSL2, SSL3)은 각각 분리될 수 있다.
도 3에는 메모리 셀 어레이(100)가 여덟 개의 워드 라인들(WL1, WL2, ..., WL8) 및 세 개의 비트 라인들(BL1, BL2, BL3)에 연결되는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않는다.
다시 도 2를 참조하면, 제어 회로(160)는 메모리 컨트롤러(200)로부터 커맨드 신호(CMD), 어드레스 신호(ADDR), 및 클럭 신호(CLK)를 수신하고, 커맨드 신호(CMD) 및 어드레스 신호(ADDR)를 사용하여 클럭 신호(CLK)에 동기되어 비휘발성 메모리 장치(100)의 프로그램 동작, 독출 동작 및 소거 동작을 제어할 수 있다.
예를 들어, 제어 회로(160)는 커맨드 신호(CMD)에 기초하여 전압 생성기(150)를 제어하기 위한 제어 신호들(CONs)을 생성하고, 어드레스 신호(ADDR)에 기초하여 로우 어드레스(R_ADDR) 및 컬럼 어드레스(C_ADDR)를 생성할 수 있다. 제어 회로(160)는 로우 어드레스(R_ADDR)를 어드레스 디코더(120)에 제공하고, 컬럼 어드레스(C_ADDR)를 데이터 입출력 회로(140)에 제공할 수 있다.
어드레스 디코더(120)는 스트링 선택 라인(SSL), 복수의 워드 라인들(WLs) 및 접지 선택 라인(GSL)을 통해 메모리 셀 어레이(110)와 연결될 수 있다.
프로그램 동작 또는 독출 동작 시, 어드레스 디코더(120)는 제어 회로(160)로부터 제공되는 로우 어드레스(R_ADDR)에 기초하여 복수의 워드 라인들(WLs) 중의 하나를 선택 워드 라인으로 결정하고, 복수의 워드 라인들(WLs) 중에서 상기 선택 워드 라인을 제외한 나머지 워드 라인들을 비선택 워드 라인들로 결정할 수 있다.
전압 생성기(150)는 제어 회로(160)로부터 제공되는 제어 신호들(CONs)에 기초하여 비휘발성 메모리 장치(100)의 동작에 필요한 워드 라인 전압들(VWLs)을 생성할 수 있다. 전압 생성기(150)로부터 생성되는 워드 라인 전압들(VWLs)은 어드레스 디코더(120)를 통해 복수의 워드 라인들(WLs)에 인가될 수 있다.
예를 들어, 프로그램 동작 시, 전압 생성기(150)는 프로그램 전압 및 프로그램 패스 전압을 생성할 수 있다. 상기 프로그램 전압은 어드레스 디코더(120)를 통해 상기 선택 워드 라인에 인가되고, 상기 프로그램 패스 전압은 어드레스 디코더(120)를 통해 상기 비선택 워드 라인들에 인가될 수 있다.
또한, 독출 동작 시, 전압 생성기(150)는 독출 전압 및 독출 패스 전압을 생성할 수 있다. 상기 독출 전압은 어드레스 디코더(120)를 통해 상기 선택 워드 라인에 인가되고, 상기 독출 패스 전압은 어드레스 디코더(120)를 통해 상기 비선택 워드 라인들에 인가될 수 있다.
페이지 버퍼 회로(130)는 복수의 비트 라인들(BLs)을 통해 메모리 셀 어레이(110)와 연결될 수 있다.
페이지 버퍼 회로(130)는 복수의 페이지 버퍼를 포함할 수 있다. 일 실시예에 있어서, 하나의 페이지 버퍼에 하나의 비트 라인이 연결될 수 있다. 다른 실시예에 있어서, 하나의 페이지 버퍼에 두 개 이상의 비트 라인들이 연결될 수 있다.
페이지 버퍼 회로(130)는 프로그램 동작 시 선택된 페이지에 프로그램될 데이터를 임시로 저장하고, 독출 동작 시 선택된 페이지로부터 독출된 데이터를 임시로 저장할 수 있다.
데이터 입출력 회로(140)는 데이터 라인(DL)을 통해 페이지 버퍼 회로(130)와 연결될 수 있다.
프로그램 동작 시, 데이터 입출력 회로(140)는 메모리 컨트롤러(200)로부터 데이터(DT)를 수신하고, 제어 회로(160)로부터 제공되는 컬럼 어드레스(C_ADDR)에 기초하여 데이터(DT)를 페이지 버퍼 회로(130)에 제공할 수 있다.
독출 동작 시, 데이터 입출력 회로(140)는 제어 회로(160)로부터 제공되는 컬럼 어드레스(C_ADDR)에 기초하여 페이지 버퍼 회로(130)에 저장된 데이터(DATA)를 메모리 컨트롤러(200)에 제공할 수 있다.
온도 센서(170)는 현재 온도(C_TEMP)를 주기적으로 검출하여 제어 회로(160)에 제공할 수 있다.
도 2에 도시된 바와 같이, 온도 센서(170)는 메모리 셀 어레이(110)의 근처에 배치될 수 있다. 따라서 온도 센서(170)로부터 검출되는 현재 온도(C_TEMP)는 메모리 셀 어레이(110)의 온도에 상응할 수 있다.
제어 회로(160)는 온도 센서(170)로부터 제공되는 현재 온도(C_TEMP)와 기준 온도를 비교할 수 있다.
현재 온도(C_TEMP)가 상기 기준 온도보다 낮은 경우, 제어 회로(160)는 메모리 컨트롤러(200)로부터 제공되는 외부 입출력 명령이 존재하는지 여부를 판단할 수 있다.
상기 외부 입출력 명령이 존재하는 경우, 제어 회로(160)는 메모리 셀 어레이(110)에 대해 상기 외부 입출력 명령에 상응하는 입출력 동작을 수행할 수 있다.
반면에, 상기 외부 입출력 명령이 존재하지 않는 경우, 제어 회로(160)는 메모리 컨트롤러(200)로부터의 명령과 무관하게 메모리 셀 어레이(110)에 대해 미리 정의된 내부 입출력 동작을 내부적으로 수행할 수 있다.
상술한 바와 같이, 비휘발성 메모리 장치(100)는 온도 센서(170)를 사용하여 현재 온도(C_TEMP)를 주기적으로 검출하고, 현재 온도(C_TEMP)가 상기 기준 온도보다 낮은 경우, 메모리 컨트롤러(200)로부터 제공되는 명령에 상응하는 입출력 동작 또는 내부적으로 미리 정의된 내부 입출력 동작을 수행할 수 있다.
따라서 본 발명에 따른 비휘발성 메모리 장치(100)는 현재 온(C_TEMP)도가 낮은 경우 메모리 셀 어레이(110)의 온도를 상기 기준 온도 이상으로 빠르게 상승시킴으로써 오동작을 효과적으로 방지할 수 있다.
도 4는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 온도 조절 방법을 나타내는 순서도이다.
도 4의 온도 조절 방법은 도 2에 도시된 비휘발성 메모리 장치(100)를 통해 수행될 수 있다.
도 1 내지 4를 참조하면, 온도 센서(170)는 메모리 셀 어레이(110)의 현재 온도(C_TEMP)를 주기적으로 검출할 수 있다(단계 S110).
일 실시예에 있어서, 온도 센서(170)는 제어 회로(160)의 제어 하에 현재 온도(C_TEMP)를 검출할 수 있다.
온도 센서(170)는 검출된 현재 온도(C_TEMP)를 제어 회로(160)에 제공할 수 있다.
제어 회로(160)는 현재 온도(C_TEMP)와 상기 기준 온도를 비교할 수 있다(단계 S120).
일 실시예에 있어서, 상기 기준 온도는 미리 정의되어 제어 회로(160) 내부에 저장될 수 있다.
다른 실시예에 있어서, 상기 기준 온도는 메모리 컨트롤러(200)로부터 제공될 수 있다.
현재 온도(C_TEMP)가 상기 기준 온도보다 높거나 같은 경우(단계 S120; 아니오), 제어 회로(160)는 메모리 셀 어레이(110)의 온도가 충분히 높아서 메모리 셀 어레이(110)에 대해 프로그램 동작 또는 독출 동작 수행 시 오류가 발생하지 않는 것으로 판단할 수 있다. 이 경우, 제어 회로(160)는 메모리 컨트롤러(200)의 제어 하에 정상 동작을 수행할 수 있다.
반면에, 현재 온도(C_TEMP)가 상기 기준 온도보다 낮은 경우(단계 S120; 예), 제어 회로(160)는 메모리 컨트롤러(200)로부터 제공되는 외부 입출력 명령이 존재하는지 여부를 판단할 수 있다(단계 S130).
예를 들어, 제어 회로(160)는 메모리 컨트롤러(200)로부터 제공되는 커맨드 신호(CMD)에 기초하여 메모리 컨트롤러(200)로부터 프로그램 명령 또는 독출 명령이 수신되었는지 여부를 판단할 수 있다.
상기 외부 입출력 명령이 존재하는 경우(단계 S130; 예), 제어 회로(160)는 메모리 셀 어레이(110)에 대해 상기 외부 입출력 명령에 상응하는 입출력 동작을 수행할 수 있다(단계 S140).
반면에, 상기 외부 입출력 명령이 존재하지 않는 경우(단계 S130; 아니오), 제어 회로(160)는 메모리 컨트롤러(200)로부터의 명령과 무관하게 메모리 셀 어레이(110)에 대해 미리 정의된 내부 입출력 동작을 내부적으로 수행할 수 있다(단계 S150).
도 5는 도 4에 도시된 비휘발성 메모리 장치의 온도 조절 방법의 일 예를 나타내는 순서도이다.
도 5에는 상기 외부 입출력 명령이 존재하는 경우에 제어 회로(160)가 메모리 셀 어레이(110)에 대해 상기 외부 입출력 명령에 상응하는 입출력 동작을 수행하는 과정(단계 S140)이 보다 상세하게 도시된다.
일반적으로 메모리 셀 어레이(110)의 온도가 낮은 경우, 비휘발성 메모리 장치(100)의 동작 속도가 빠를수록 비휘발성 메모리 장치(100)의 동작에 오류가 발생할 확률이 증가한다.
따라서, 도 5에 도시된 바와 같이, 상기 외부 입출력 명령이 존재하는 경우(단계 S130; 예), 제어 회로(160)는 메모리 컨트롤러(200)에 클럭 신호(CLK)의 주파수 변경을 요청하고, 메모리 컨트롤러(200)는 클럭 신호(CLK)의 주파수를 제1 주파수에서 제2 주파수로 감소시킬 수 있다(단계 S141).
이후, 제어 회로(160)는 상기 제2 주파수를 갖는 클럭 신호(CLK)에 동기되어 메모리 셀 어레이(110)에 대해 상기 외부 입출력 명령에 상응하는 입출력 동작을 수행할 수 있다(단계 S142).
제어 회로(160)는 상기 외부 입출력 명령에 상응하는 입출력 동작을 수행한 이후, 메모리 컨트롤러(200)에 클럭 신호(CLK)의 주파수 변경을 요청하고, 메모리 컨트롤러(200)는 클럭 신호(CLK)의 주파수를 상기 제2 주파수에서 상기 제1 주파수로 증가시킬 수 있다(단계 S143).
도 5를 참조하여 상술한 바와 같이, 현재 온도(C_TEMP)가 상기 기준 온도보다 낮고 메모리 컨트롤러(200)로부터 제공되는 상기 외부 입출력 명령이 존재하는 경우, 메모리 컨트롤러(200)는 클럭 신호(CLK)의 주파수를 일시적으로 감소시키고, 비휘발성 메모리 장치(100)는 일시적으로 감소된 주파수를 갖는 클럭 신호(CLK)에 동기되어 메모리 셀 어레이(110)에 대해 상기 외부 입출력 명령에 상응하는 입출력 동작을 수행할 수 있다.
이와 같이, 현재 온도(C_TEMP)가 상기 기준 온도보다 낮고 상기 외부 입출력 명령이 존재하는 경우, 비휘발성 메모리 장치(100)는 일시적으로 감소된 주파수를 갖는 클럭 신호(CLK)에 동기되어 상기 외부 입출력 명령에 상응하는 입출력 동작을 수행함으로써 메모리 셀 어레이(110)의 온도를 빠르게 상승시킬 뿐만 아니라, 비휘발성 메모리 장치(100)의 오류 발생을 효과적으로 방지할 수 있다.
도 6은 도 4에 도시된 비휘발성 메모리 장치의 온도 조절 방법의 다른 예를 나타내는 순서도이다.
도 6에는 상기 외부 입출력 명령이 존재하지 않는 경우에 제어 회로(160)가 메모리 셀 어레이(110)에 대해 상기 내부 입출력 동작을 수행하는 과정(단계 S150)이 보다 상세하게 도시된다.
일 실시예에 있어서, 상기 내부 입출력 동작은, 메모리 컨트롤러(200)로부터 제공되는 데이터(DT)가 저장되는 메모리 셀 어레이(110)의 물리 영역의 변경을 수반하는 유의미한(meaningful) 내부 입출력 동작 및 메모리 컨트롤러(200)로부터 제공되는 데이터(DT)가 저장되는 메모리 셀 어레이(110)의 물리 영역의 변경을 수반하지 않는 무의미한(meaningless) 내부 입출력 동작을 포함할 수 있다.
상기 유의미한 내부 입출력 동작은 메모리 셀 어레이(110)에 대해 수행되는 웨어 레벨링(wear leveling) 동작, 메모리 셀 어레이(110)에 대해 수행되는 가비지 콜렉션(garbage collection) 동작, 및 메모리 셀 어레이(110)에 포함되는 복수의 블록들 중에서 배드 블록(bad block)에 데이터가 저장되지 않도록 매핑 테이블(mapping table)을 관리하는 배드 블록 관리 동작을 포함할 수 있다.
도 6을 참조하면, 상기 외부 입출력 명령이 존재하지 않는 경우(단계 S130; 아니오), 제어 회로(160)는 상기 유의미한 내부 입출력 동작을 수행할 필요가 있는지 여부를 판단할 수 있다(단계 S151).
예를 들어, 상기 외부 입출력 명령이 존재하지 않는 경우(단계 S130; 아니오), 제어 회로(160)는 상기 웨어 레벨링 동작, 상기 가비지 콜렉션 동작, 및 상기 배드 블록 관리 동작을 수행할 필요가 있는지 여부를 판단할 수 있다(단계 S151).
상기 유의미한 내부 입출력 동작을 수행할 필요가 있는 것으로 판단되는 경우(단계 S151; 예), 제어 회로(160)는 메모리 셀 어레이(110)에 대해 상기 유의미한 내부 입출력 동작을 수행할 수 있다(단계 S152).
도 7은 도 2의 비휘발성 메모리 장치에 의해 수행되는 웨어 레벨링(wear leveling) 동작을 설명하기 위한 도면이다.
도 7에서, 가로축은 메모리 셀 어레이(110)에 포함되는 복수의 블록들의 번호를 나타내고, 세로축은 메모리 셀 어레이(110)에 포함되는 상기 복수의 블록들 각각의 소거 동작이 수행된 횟수를 의미하는 소거 횟수(erase count)를 나타낸다.
메모리 셀 어레이(110)는 블록 단위로 소거 동작이 수행되는데, 소거 횟수가 웨어 아웃 레벨(wear out level) 이상이 되면, 해당 블록에 대해 프로그램 동작 또는 독출 동작을 수행하는 경우 오류가 발생할 확률이 증가한다. 따라서 소거 횟수가 상기 웨어 아웃 레벨 이상이 된 블록은 배드 블록(bad block)으로 간주하여 해당 블록을 사용하지 않는다.
그런데, 도 7에 도시된 바와 같이, 메모리 셀 어레이(110)에 포함되는 상기 복수의 블록들 중에서 일부의 블록들의 소거 횟수가 나머지 블록들의 소거 횟수보다 상대적으로 높은 경우, 비휘발성 메모리 장치(100)는 소거 횟수가 상대적으로 높은 블록에 저장된 데이터(DT)를 소거 횟수가 상대적으로 낮은 블록으로 이동시킴으로써 비휘발성 메모리 장치(100)의 수명을 효과적으로 연장시킬 수 있다.
이와 같이, 소거 횟수가 상대적으로 높은 블록에 저장된 데이터(DT)를 소거 횟수가 상대적으로 낮은 블록으로 이동시키는 동작을 상기 웨어 레벨링 동작이라 부를 수 있다.
다시 도 6을 참조하면, 일 실시예에 있어서, 상기 외부 입출력 명령이 존재하지 않는 경우(단계 S130; 아니오), 제어 회로(160)는 메모리 셀 어레이(110)에 대해 상기 웨어 레벨링 동작을 수행할 필요가 있는지 여부를 판단하고(단계 S151), 상기 웨어 레벨링 동작을 수행할 필요가 있는 것으로 판단되는 경우(단계 S151; 예), 메모리 셀 어레이(110)에 대해 상기 웨어 레벨링 동작을 수행할 수 있다(단계 S152).
이와 같이, 현재 온도(C_TEMP)가 상기 기준 온도보다 낮고 상기 외부 입출력 명령이 존재하지 않는 경우, 비휘발성 메모리 장치(100)는 상기 웨어 레벨링 동작을 수행함으로써 메모리 셀 어레이(110)의 온도를 빠르게 상승시킬 뿐만 아니라, 비휘발성 메모리 장치(100)의 수명도 효과적으로 연장시킬 수 있다.
도 8은 도 2의 비휘발성 메모리 장치에 의해 수행되는 가비지 콜렉션(garbage collection) 동작을 설명하기 위한 도면이다.
도 8에는 메모리 셀 어레이(110)가 제1 내지 제8 블록들(BLOCK1, BLOCK2, BLOCK3, BLOCK4, BLOCK5, BLOCK6, BLOCK7, BLOCK8)을 포함하고, 제1 내지 제8 블록들(BLOCK1, BLOCK2, BLOCK3, BLOCK4, BLOCK5, BLOCK6, BLOCK7, BLOCK8) 각각은 제1 내지 제5 페이지들(PAGE1, PAGE2, PAGE3, PAGE4, PAGE5)을 포함하는 것으로 도시된다.
도 8을 참조하면, 제1 내지 제4 블록들(BLOCK1, BLOCK2, BLOCK3, BLOCK4)에는 데이터가 저장되어 있고, 제5 내지 제8 블록들(BLOCK5, BLOCK6, BLOCK7, BLOCK8)은 데이터를 저장하고 있지 않는 프리 블록일 수 있다.
도 8에 도시된 바와 같이, 제4 블록(BLOCK4)의 제1 내지 제5 페이지들(PAGE1, PAGE2, PAGE3, PAGE4, PAGE5)에는 유효한 데이터 및 유효하지 않은 데이터가 분산되어 저장되어 있을 수 있다.
이 경우, 비휘발성 메모리 장치(100)는 제4 블록(BLOCK4)에 저장된 유효한 데이터를 프리 블록인 제8 블록(BLOCK8)으로 이동시킨 후, 제4 블록(BLOCK4)을 소거함으로써 제4 블록(BLOCK4)을 프리 블록으로 확보하고, 제8 블록(BLOCK8)에서 제4 블록(BLOCK4)에 저장된 유효한 데이터를 저장하고 남은 공간을 프리 영역으로 확보할 수 있다.
이와 같이, 유효한 데이터가 산재되어 있는 블록에 저장된 데이터를 프리 블록으로 이동시킨 후, 해당 블록을 소거하는 동작을 상기 가비지 콜렉션 동작이라 부를 수 있다.
다시 도 6을 참조하면, 일 실시예에 있어서, 상기 외부 입출력 명령이 존재하지 않는 경우(단계 S130; 아니오), 제어 회로(160)는 메모리 셀 어레이(110)에 대해 상기 가비지 콜렉션 동작을 수행할 필요가 있는지 여부를 판단하고(단계 S151), 상기 가비지 콜렉션 동작을 수행할 필요가 있는 것으로 판단되는 경우(단계 S151; 예), 메모리 셀 어레이(110)에 대해 상기 가비지 콜렉션 동작을 수행할 수 있다(단계 S152).
이와 같이, 현재 온도(C_TEMP)가 상기 기준 온도보다 낮고 상기 외부 입출력 명령이 존재하지 않는 경우, 비휘발성 메모리 장치(100)는 상기 가비지 콜렉션 동작을 수행함으로써 메모리 셀 어레이(110)의 온도를 빠르게 상승시킬 뿐만 아니라, 비휘발성 메모리 장치(100)의 성능도 효과적으로 향상시킬 수 있다.
도 9는 도 2의 비휘발성 메모리 장치에 의해 수행되는 배드 블록 관리 동작을 설명하기 위한 도면이다.
도 9에 도시된 바와 같이, 비휘발성 메모리 장치(100)는 매핑 테이블(mapping table)을 사용하여 가상 블록과 메모리 셀 어레이(110)의 물리 블록을 서로 매핑(mapping)할 수 있다.
이 때, 비휘발성 메모리 장치(100)의 제조 과정에서 메모리 셀 어레이(110)의 일부 물리 블록이 배드 블록(bad block)으로 판명되거나 비휘발성 메모리 장치(100)의 동작 중에 일부 물리 블록의 수명이 다하여 배드 블록이 되는 경우, 도 7에 도시된 바와 같이, 비휘발성 메모리 장치(100)는 상기 가상 블록이 상기 배드 블록 대신에 예비 블록(reserved block)과 매핑되도록 상기 매핑 테이블을 수정함으로써, 상기 배드 블록에 데이터(DT)가 저장되는 것을 방지할 수 있다.
이와 같이, 메모리 셀 어레이(100)에 포함되는 복수의 블록들 중에서 배드 블록에 데이터가 저장되지 않도록 상기 매핑 테이블을 관리하는 동작을 배드 블록 관리 동작이라 부를 수 있다.
다시 도 6을 참조하면, 일 실시예에 있어서, 상기 외부 입출력 명령이 존재하지 않는 경우(단계 S130; 아니오), 제어 회로(160)는 메모리 셀 어레이(110)에 대해 상기 배드 블록 관리 동작을 수행할 필요가 있는지 여부를 판단하고(단계 S151), 상기 배드 블록 관리 동작을 수행할 필요가 있는 것으로 판단되는 경우(단계 S151; 예), 상기 배드 블록 관리 동작을 수행할 수 있다(단계 S152).
이와 같이, 현재 온도(C_TEMP)가 상기 기준 온도보다 낮고 상기 외부 입출력 명령이 존재하지 않는 경우, 비휘발성 메모리 장치(100)는 상기 배드 블록 관리 동작을 수행함으로써 메모리 셀 어레이(110)의 온도를 빠르게 상승시킬 뿐만 아니라, 비휘발성 메모리 장치(100)의 오류 발생을 효과적으로 방지할 수 있다.
일 실시예에 있어서, 비휘발성 메모리 장치(100)가 UFS(Universal Flash Storage)에 상응하는 경우, 제어 회로(160)는 메모리 셀 어레이(110)에 대해 상기 유의미한 내부 입출력 동작을 수행하는 동안 UPIU(UFS Protocol Information Unit)를 통해 메모리 컨트롤러(200)에 상기 유의미한 내부 입출력 동작을 백그라운드 동작으로서 수행하고 있음을 통지할 수 있다.
이 경우, 메모리 컨트롤러(200)는 비휘발성 메모리 장치(100)가 상기 유의미한 내부 입출력 동작을 종료할 때까지 긴급하지 않은 명령은 비휘발성 메모리 장치(100)에 제공하지 않고 대기하고, 비휘발성 메모리 장치(100)가 상기 유의미한 내부 입출력 동작을 종료한 이후에 상기 긴급하지 않은 명령을 비휘발성 메모리 장치(100)에 제공할 수 있다.
한편, 메모리 컨트롤러(200)는 비휘발성 메모리 장치(100)가 상기 유의미한 내부 입출력 동작을 수행하는 도중이라도 긴급한 명령은 비휘발성 메모리 장치(100)에 즉시 제공할 수 있다.
다시 도 6을 참조하면, 상기 유의미한 내부 입출력 동작을 수행할 필요가 없는 것으로 판단되는 경우(단계 S151; 아니오), 제어 회로(160)는 메모리 셀 어레이(110)에 대해 상기 무의미한 내부 입출력 동작을 수행할 수 있다(단계 S153).
일 실시예에 있어서, 상기 유의미한 내부 입출력 동작을 수행할 필요가 없는 것으로 판단되는 경우(단계 S151; 아니오), 제어 회로(160)는 메모리 셀 어레이(110)에 포함되는 복수의 페이지들에 대해 독출 동작을 순차적으로 수행하는 반복 독출 동작을 수행할 수 있다(단계 S153).
이 경우, 상기 반복 독출 동작은 메모리 셀 어레이(110)의 온도를 상승시키기 위한 것에 불과하므로, 상기 반복 독출 동작을 통해 메모리 셀 어레이(110)로부터 독출되는 데이터(DT)는 메모리 컨트롤러(200)에 제공되지 않는다.
이와 같이, 메모리 셀 어레이(110)에 포함되는 복수의 페이지들에 대해 상기 반복 독출 동작을 수행함으로써 메모리 셀 어레이(110)의 온도는 빠르게 상승될 수 있다.
다른 실시예에 있어서, 상기 유의미한 내부 입출력 동작을 수행할 필요가 없는 것으로 판단되는 경우(단계 S151; 아니오), 제어 회로(160)는 메모리 셀 어레이(110)에 포함되는 복수의 페이지들 중에서 비어있는 페이지들에 대해 프로그램 동작을 순차적으로 수행하는 반복 프로그램 동작을 수행할 수 있다(단계 S153).
예를 들어, 제어 회로(160)는 상기 반복 프로그램 동작을 통해 상기 비어있는 페이지들에 포함되는 모든 메모리 셀들에 대해 "0"의 값을 프로그램할 수 있다.
또는, 제어 회로(160)는 상기 반복 프로그램 동작을 통해 상기 비어있는 페이지들에 포함되는 모든 메모리 셀들에 대해 "1"의 값을 프로그램할 수 있다.
이와 같이, 메모리 셀 어레이(110)에 포함되는 복수의 페이지들 중에서 비어있는 페이지들에 대해 상기 반복 프로그램 동작을 수행함으로써 메모리 셀 어레이(110)의 온도는 빠르게 상승될 수 있다.
도 10은 도 6에 도시된 비휘발성 메모리 장치의 온도 조절 방법의 일 예를 나타내는 순서도이다.
도 10에는 상기 외부 입출력 명령이 존재하지 않는 경우에, 제어 회로(160)가 메모리 셀 어레이(110)에 대해 상기 유의미한 내부 입출력 동작을 수행하는 과정(단계 S152) 및 제어 회로(160)가 메모리 셀 어레이(110)에 대해 상기 무의미한 내부 입출력 동작을 수행하는 과정(단계 S153)이 보다 상세하게 도시된다.
일반적으로 메모리 셀 어레이(110)의 온도가 낮은 경우, 비휘발성 메모리 장치(100)의 동작 속도가 빠를수록 비휘발성 메모리 장치(100)의 동작에 오류가 발생할 확률이 증가한다.
따라서, 도 10에 도시된 바와 같이, 상기 유의미한 내부 입출력 동작을 수행할 필요가 있는 것으로 판단되는 경우(단계 S151; 예), 제어 회로(160)는 메모리 컨트롤러(200)에 클럭 신호(CLK)의 주파수 변경을 요청하고, 메모리 컨트롤러(200)는 클럭 신호(CLK)의 주파수를 제1 주파수에서 제2 주파수로 감소시킬 수 있다(단계 S154).
이후, 제어 회로(160)는 상기 제2 주파수를 갖는 클럭 신호(CLK)에 동기되어 메모리 셀 어레이(110)에 대해 상기 유의미한 내부 입출력 동작을 수행할 수 있다(단계 S155).
제어 회로(160)는 상기 유의미한 내부 입출력 동작을 수행한 이후, 메모리 컨트롤러(200)에 클럭 신호(CLK)의 주파수 변경을 요청하고, 메모리 컨트롤러(200)는 클럭 신호(CLK)의 주파수를 상기 제2 주파수에서 상기 제1 주파수로 증가시킬 수 있다(단계 S156).
한편, 비휘발성 메모리 장치(100)의 동작 속도가 빠를수록 메모리 셀 어레이(110)의 온도는 빠르게 상승한다.
따라서, 도 10에 도시된 바와 같이, 상기 유의미한 내부 입출력 동작을 수행할 필요가 없는 것으로 판단되는 경우(단계 S151; 아니오), 제어 회로(160)는 메모리 컨트롤러(200)에 클럭 신호(CLK)의 주파수 변경을 요청하고, 메모리 컨트롤러(200)는 클럭 신호(CLK)의 주파수를 제1 주파수에서 제3 주파수로 증가시킬 수 있다(단계 S157).
이후, 제어 회로(160)는 상기 제3 주파수를 갖는 클럭 신호(CLK)에 동기되어 메모리 셀 어레이(110)에 대해 상기 무의미한 내부 입출력 동작을 수행할 수 있다(단계 S158).
제어 회로(160)는 상기 무의미한 내부 입출력 동작을 수행한 이후, 메모리 컨트롤러(200)에 클럭 신호(CLK)의 주파수 변경을 요청하고, 메모리 컨트롤러(200)는 클럭 신호(CLK)의 주파수를 상기 제3 주파수에서 상기 제1 주파수로 감소시킬 수 있다(단계 S159).
도 10을 참조하여 상술한 바와 같이, 상기 유의미한 내부 입출력 동작을 수행할 필요가 있는 것으로 판단되는 경우(단계 S151; 예), 메모리 컨트롤러(200)는 클럭 신호(CLK)의 주파수를 일시적으로 감소시키고, 비휘발성 메모리 장치(100)는 일시적으로 감소된 주파수를 갖는 클럭 신호(CLK)에 동기되어 메모리 셀 어레이(110)에 대해 상기 유의미한 내부 입출력 동작을 수행할 수 있다.
따라서 비휘발성 메모리 장치(100)는 메모리 셀 어레이(110)의 온도를 빠르게 상승시킬 뿐만 아니라, 비휘발성 메모리 장치(100)의 오류 발생을 효과적으로 방지할 수 있다.
이에 반해, 상기 유의미한 내부 입출력 동작을 수행할 필요가 없는 것으로 판단되는 경우(단계 S151; 아니오), 메모리 컨트롤러(200)는 클럭 신호(CLK)의 주파수를 일시적으로 증가시키고, 비휘발성 메모리 장치(100)는 일시적으로 증가된 주파수를 갖는 클럭 신호(CLK)에 동기되어 메모리 셀 어레이(110)에 대해 상기 무의미한 내부 입출력 동작을 수행할 수 있다.
따라서 비휘발성 메모리 장치(100)는 메모리 셀 어레이(110)의 온도를 더욱 빠르게 상승시킬 수 있다.
도 11은 도 1의 전자 시스템에 포함되는 비휘발성 메모리 장치의 다른 예를 나타내는 블록도이다.
도 11을 참조하면, 비휘발성 메모리 장치(100a)는 메모리 셀 어레이(110), 어드레스 디코더(120), 페이지 버퍼 회로(130), 데이터 입출력 회로(140), 전압 생성기(150), 제어 회로(160), 온도 센서(170), 및 열 발생기(180)를 포함할 수 있다.
도 11의 비휘발성 메모리 장치(100a)는 도 2의 비휘발성 메모리 장치(100)에서 열 발생기(180)를 더 포함한다는 것을 제외하고는 도 2의 비휘발성 메모리 장치(100)와 동일하다.
따라서 중복되는 설명은 생략하고, 이하, 열 발생기(180)와 관련된 동작에 대해서만 설명한다.
열 발생기(180)는 제어 회로(160)로부터 수신되는 열 제어 신호(HCON)에 기초하여 턴온되어 열을 발생할 수 있다.
열 발생기(180)는 다양한 구성으로 구현될 수 있으며, 본 발명에서 열 발생기(180)는 특정 구조로 한정되지 않는다.
도 11에 도시된 바와 같이, 열 발생기(180)는 메모리 셀 어레이(110)의 근처에 배치될 수 있다. 따라서 열 발생기(180)가 턴온되는 경우, 메모리 셀 어레이(110)의 온도는 빠르게 상승할 수 있다.
도 12는 본 발명의 일 실시예에 따른 비휘발성 메모리 장치의 온도 조절 방법을 나타내는 순서도이다.
도 12의 온도 조절 방법은 도 11에 도시된 비휘발성 메모리 장치(100a)를 통해 수행될 수 있다.
도 1 내지 12를 참조하면, 온도 센서(170)는 메모리 셀 어레이(110)의 현재 온도(C_TEMP)를 주기적으로 검출할 수 있다(단계 S110).
일 실시예에 있어서, 온도 센서(170)는 제어 회로(160)의 제어 하에 현재 온도(C_TEMP)를 검출할 수 있다.
온도 센서(170)는 검출된 현재 온도(C_TEMP)를 제어 회로(160)에 제공할 수 있다.
제어 회로(160)는 현재 온도(C_TEMP)와 상기 기준 온도를 비교할 수 있다(단계 S120).
일 실시예에 있어서, 상기 기준 온도는 미리 정의되어 제어 회로(160) 내부에 저장될 수 있다.
다른 실시예에 있어서, 상기 기준 온도는 메모리 컨트롤러(200)로부터 제공될 수 있다.
현재 온도(C_TEMP)가 상기 기준 온도보다 높거나 같은 경우(단계 S120; 아니오), 제어 회로(160)는 메모리 셀 어레이(110)의 온도가 충분히 높아서 메모리 셀 어레이(110)에 대해 프로그램 동작 또는 독출 동작 수행 시 오류가 발생하지 않는 것으로 판단할 수 있다. 이 경우, 제어 회로(160)는 메모리 컨트롤러(200)의 제어 하에 정상 동작을 수행할 수 있다.
반면에, 현재 온도(C_TEMP)가 상기 기준 온도보다 낮은 경우(단계 S120; 예), 제어 회로(160)는 메모리 컨트롤러(200)로부터 제공되는 외부 입출력 명령이 존재하는지 여부를 판단할 수 있다(단계 S130).
예를 들어, 제어 회로(160)는 메모리 컨트롤러(200)로부터 제공되는 커맨드 신호(CMD)에 기초하여 메모리 컨트롤러(200)로부터 프로그램 명령 또는 독출 명령이 수신되었는지 여부를 판단할 수 있다.
상기 외부 입출력 명령이 존재하는 경우(단계 S130; 예), 제어 회로(160)는 메모리 셀 어레이(110)에 대해 상기 외부 입출력 명령에 상응하는 입출력 동작을 수행할 수 있다(단계 S140).
반면에, 상기 외부 입출력 명령이 존재하지 않는 경우(단계 S130; 아니오), 제어 회로(160)는 메모리 컨트롤러(200)로부터의 명령과 무관하게 메모리 셀 어레이(110)에 대해 미리 정의된 내부 입출력 동작을 내부적으로 수행할 수 있다(단계 S150).
한편, 도 12에 도시된 바와 같이, 현재 온도(C_TEMP)가 상기 기준 온도보다 낮은 경우(단계 S120; 예), 제어 회로(160)는 상기 외부 입출력 명령에 상응하는 입출력 동작 또는 상기 내부 입출력 동작을 수행함과 동시에, 미리 정해진 시간 동안 열 발생기(180)를 턴온시킬 수 있다(단계 S160).
따라서 현재 온도(C_TEMP)가 상기 기준 온도보다 낮은 경우, 비휘발성 메모리 장치(100)는 미리 정해진 시간 동안 열 발생기(180)를 턴온시킴으로써 메모리 셀 어레이(110)의 온도를 더욱 빠르게 상승시킬 수 있다.
본 발명은 비휘발성 메모리 장치를 구비하는 임의의 전자 시스템에 유용하게 이용될 수 있다. 예를 들어, 본 발명은 비휘발성 메모리 장치를 구비하는 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(Personal Digital Assistant; PDA), 휴대형 멀티미디어 플레이어(Portable Multimedia Player; PMP), 디지털 카메라(Digital Camera), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable Game Console), 네비게이션(Navigation) 시스템 등에 적용될 수 있다.
상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (10)
- 메모리 셀 어레이를 포함하는 비휘발성 메모리 장치의 온도 조절 방법에 있어서,
상기 메모리 셀 어레이의 현재 온도를 주기적으로 검출하는 단계;
상기 현재 온도와 기준 온도를 비교하는 단계;
상기 현재 온도가 상기 기준 온도보다 낮은 경우, 메모리 컨트롤러로부터 제공되는 외부 입출력 명령이 존재하는지 여부를 판단하는 단계;
상기 외부 입출력 명령이 존재하는 경우, 상기 메모리 셀 어레이에 대해 상기 외부 입출력 명령에 상응하는 입출력 동작을 수행하는 단계; 및
상기 외부 입출력 명령이 존재하지 않는 경우, 상기 메모리 컨트롤러로부터의 명령과 무관하게 상기 메모리 셀 어레이에 대해 미리 정의된 내부 입출력 동작을 내부적으로 수행하는 단계를 포함하는 비휘발성 메모리 장치의 온도 조절 방법. - 제1 항에 있어서, 상기 내부 입출력 동작은, 상기 메모리 셀 어레이에 대해 수행되는 웨어 레벨링(wear leveling) 동작을 포함하는 비휘발성 메모리 장치의 온도 조절 방법.
- 제1 항에 있어서, 상기 내부 입출력 동작은, 상기 메모리 셀 어레이에 대해 수행되는 가비지 콜렉션(garbage collection) 동작을 포함하는 비휘발성 메모리 장치의 온도 조절 방법.
- 제1 항에 있어서, 상기 내부 입출력 동작은, 상기 메모리 셀 어레이에 포함되는 복수의 블록들 중에서 배드 블록(bad block)에 데이터가 저장되지 않도록 매핑 테이블(mapping table)을 관리하는 배드 블록 관리 동작을 포함하는 비휘발성 메모리 장치의 온도 조절 방법.
- 제1 항에 있어서, 상기 내부 입출력 동작은, 상기 메모리 셀 어레이에 포함되는 복수의 페이지들에 대해 독출 동작을 순차적으로 수행하는 반복 독출 동작을 포함하는 비휘발성 메모리 장치의 온도 조절 방법.
- 제1 항에 있어서, 상기 내부 입출력 동작은, 상기 메모리 셀 어레이에 포함되는 복수의 페이지들 중에서 비어있는 페이지들에 대해 프로그램 동작을 순차적으로 수행하는 반복 프로그램 동작을 포함하는 비휘발성 메모리 장치의 온도 조절 방법.
- 제1 항에 있어서, 상기 외부 입출력 명령이 존재하는 경우, 상기 메모리 셀 어레이에 대해 상기 외부 입출력 명령에 상응하는 입출력 동작을 수행하는 단계는,
클럭 신호의 주파수를 제1 주파수에서 제2 주파수로 감소시키는 단계;
상기 클럭 신호에 동기되어 상기 메모리 셀 어레이에 대해 상기 외부 입출력 명령에 상응하는 입출력 동작을 수행하는 단계; 및
상기 클럭 신호의 주파수를 상기 제2 주파수에서 상기 제1 주파수로 증가시키는 단계를 포함하는 비휘발성 메모리 장치의 온도 조절 방법. - 제1 항에 있어서, 상기 외부 입출력 명령이 존재하지 않는 경우, 상기 메모리 셀 어레이에 대해 상기 미리 정의된 내부 입출력 동작을 내부적으로 수행하는 단계는,
데이터가 저장되는 상기 메모리 셀 어레이의 물리 영역의 변경을 수반하는 유의미한 내부 입출력 동작의 수행이 필요한지 여부를 판단하는 단계;
상기 유의미한 내부 입출력 동작의 수행이 필요한 경우, 상기 유의미한 내부 입출력 동작을 수행하는 단계; 및
상기 유의미한 내부 입출력 동작의 수행이 필요하지 않은 경우, 데이터가 저장되는 상기 메모리 셀 어레이의 물리 영역의 변경을 수반하지 않는 무의미한 내부 입출력 동작을 수행하는 단계를 포함하는 비휘발성 메모리 장치의 온도 조절 방법. - 제8 항에 있어서, 상기 유의미한 내부 입출력 동작을 수행하는 단계는,
클럭 신호의 주파수를 제1 주파수에서 제2 주파수로 감소시키는 단계;
상기 클럭 신호에 동기되어 상기 유의미한 내부 입출력 동작을 수행하는 단계; 및
상기 클럭 신호의 주파수를 상기 제2 주파수에서 상기 제1 주파수로 증가시키는 단계를 포함하고,
상기 무의미한 내부 입출력 동작을 수행하는 단계는,
클럭 신호의 주파수를 제1 주파수에서 제3 주파수로 증가시키는 단계;
상기 클럭 신호에 동기되어 상기 무의미한 내부 입출력 동작을 수행하는 단계; 및
상기 클럭 신호의 주파수를 상기 제3 주파수에서 상기 제1 주파수로 감소시키는 단계를 포함하는 비휘발성 메모리 장치의 온도 조절 방법. - 복수의 메모리 셀들을 포함하는 메모리 셀 어레이;
상기 메모리 셀 어레이의 현재 온도를 검출하는 온도 센서; 및
상기 현재 온도가 기준 온도보다 낮은 경우, 메모리 컨트롤러로부터 제공되는 외부 입출력 명령이 존재하는지 여부를 판단하고, 상기 외부 입출력 명령이 존재하는 경우, 상기 메모리 셀 어레이에 대해 상기 외부 입출력 명령에 상응하는 입출력 동작을 수행하고, 상기 외부 입출력 명령이 존재하지 않는 경우, 상기 메모리 컨트롤러로부터의 명령과 무관하게 상기 메모리 셀 어레이에 대해 미리 정의된 내부 입출력 동작을 내부적으로 수행하는 제어 회로를 포함하는 비휘발성 메모리 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160114014A KR102621467B1 (ko) | 2016-09-05 | 2016-09-05 | 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 온도 조절 방법 |
US15/440,680 US10445010B2 (en) | 2016-09-05 | 2017-02-23 | Nonvolatile memory device and method of throttling temperature of nonvolatile memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160114014A KR102621467B1 (ko) | 2016-09-05 | 2016-09-05 | 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 온도 조절 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180026993A true KR20180026993A (ko) | 2018-03-14 |
KR102621467B1 KR102621467B1 (ko) | 2024-01-05 |
Family
ID=61280651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160114014A KR102621467B1 (ko) | 2016-09-05 | 2016-09-05 | 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 온도 조절 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10445010B2 (ko) |
KR (1) | KR102621467B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11029888B2 (en) | 2019-04-30 | 2021-06-08 | SK Hynix Inc. | Memory system and method of controlling operations on bad memory block based on temperature |
CN113707203A (zh) * | 2021-08-12 | 2021-11-26 | 长江存储科技有限责任公司 | 温度值输出控制电路、温度值输出控制方法以及电子系统 |
US11302385B2 (en) | 2020-02-21 | 2022-04-12 | SK Hynix Inc. | Memory controller and method of operating the same |
US11874775B2 (en) | 2019-07-22 | 2024-01-16 | SK Hynix Inc. | Method and apparatus for performing access operation in memory system utilizing map data including mapping relationships between a host and a memory device for storing data |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10452596B2 (en) * | 2015-10-29 | 2019-10-22 | Micron Technology, Inc. | Memory cells configured in multiple configuration modes |
KR102621467B1 (ko) * | 2016-09-05 | 2024-01-05 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 온도 조절 방법 |
JP2019057194A (ja) * | 2017-09-22 | 2019-04-11 | 東芝メモリ株式会社 | メモリシステム、及び不揮発性メモリの制御方法 |
US10990299B2 (en) * | 2018-03-26 | 2021-04-27 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Storing data based on the physical accessibility of data storage devices |
CN108628718B (zh) * | 2018-03-29 | 2021-02-09 | 深圳忆联信息系统有限公司 | 一种减轻温度影响的ssd管理方法及ssd |
KR20200119059A (ko) | 2019-04-09 | 2020-10-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20200132047A (ko) | 2019-05-15 | 2020-11-25 | 에스케이하이닉스 주식회사 | 메모리 시스템에서 맵 데이터를 전송하는 방법 및 장치 |
KR20210011201A (ko) * | 2019-07-22 | 2021-02-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 온도 조절 방법 |
KR20210014338A (ko) | 2019-07-30 | 2021-02-09 | 에스케이하이닉스 주식회사 | 데이터 저장 장치, 데이터 처리 시스템 및 데이터 저장 장치의 동작 방법 |
KR20210011216A (ko) | 2019-07-22 | 2021-02-01 | 에스케이하이닉스 주식회사 | 메모리 시스템의 메타 데이터 관리 방법 및 장치 |
US11237973B2 (en) | 2019-04-09 | 2022-02-01 | SK Hynix Inc. | Memory system for utilizing a memory included in an external device |
CN112130763B (zh) * | 2020-09-07 | 2024-03-29 | 上海威固信息技术股份有限公司 | 一种基于温度监控的固态硬盘磨损均衡方法 |
US20230367377A1 (en) * | 2022-05-10 | 2023-11-16 | Western Digital Technologies, Inc. | Solid-state device with multi-tier extreme thermal throttling |
US12046306B2 (en) * | 2022-05-27 | 2024-07-23 | Sandisk Technologies Llc | Temperature dependent programming techniques in a memory device |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8873323B2 (en) * | 2012-08-16 | 2014-10-28 | Transcend Information, Inc. | Method of executing wear leveling in a flash memory device according to ambient temperature information and related flash memory device |
KR20140130309A (ko) * | 2013-04-30 | 2014-11-10 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템 및 메모리 컨트롤러의 동작 방법 |
KR20150120213A (ko) * | 2014-04-17 | 2015-10-27 | 삼성전자주식회사 | 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20150121562A (ko) * | 2014-04-21 | 2015-10-29 | 삼성전자주식회사 | 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템의 동작방법 |
KR20170035320A (ko) * | 2015-09-22 | 2017-03-30 | 삼성전자주식회사 | 솔리드 스테이트 드라이브들의 전력 소비를 컨트롤하기 위해 동적으로 불휘발성 메모리 오퍼레이션을 스케쥴링하는 메모리 장치 및 그것의 동작 방법 |
US20170249091A1 (en) * | 2016-02-26 | 2017-08-31 | Sandisk Technologies Llc | Data storage device with temperature sensor and temperature calibration circuitry and method of operating same |
US20180067678A1 (en) * | 2016-09-05 | 2018-03-08 | Sung-won Jeong | Nonvolatile memory device and method of throttling temperature of nonvolatile memory device |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0684391A (ja) | 1992-08-31 | 1994-03-25 | Brother Ind Ltd | Ic駆動装置 |
JP2007258216A (ja) * | 2006-03-20 | 2007-10-04 | Fujitsu Ltd | 半導体集積回路、回路システム、及び半導体集積回路の駆動方法 |
DE102006021527B3 (de) * | 2006-05-09 | 2007-09-13 | Infineon Technologies Ag | Integrierter Halbleiterspeicher und Verfahren zum Betreiben eines integrierten Halbleiterspeichers |
KR101058079B1 (ko) | 2006-06-19 | 2011-08-19 | 주식회사 엘림시스 | Usb 메모리 모듈 히팅 장치 |
KR101226685B1 (ko) | 2007-11-08 | 2013-01-25 | 삼성전자주식회사 | 수직형 반도체 소자 및 그 제조 방법. |
US7934052B2 (en) * | 2007-12-27 | 2011-04-26 | Pliant Technology, Inc. | System and method for performing host initiated mass storage commands using a hierarchy of data structures |
JP2009170605A (ja) | 2008-01-15 | 2009-07-30 | Denso Corp | 電子装置 |
KR101020282B1 (ko) | 2008-07-09 | 2011-03-07 | 주식회사 하이닉스반도체 | 온도센서 |
JPWO2010073523A1 (ja) * | 2008-12-25 | 2012-06-07 | パナソニック株式会社 | 半導体集積回路 |
JP2010191896A (ja) | 2009-02-20 | 2010-09-02 | Digital Electronics Corp | 電子機器、温度調節プログラムおよび記録媒体 |
US8554987B2 (en) * | 2009-06-18 | 2013-10-08 | Panasonic Corporation | Nonvolatile memory system for improving stream data writing |
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 |
KR101702356B1 (ko) | 2010-08-09 | 2017-02-03 | 삼성전자주식회사 | 전하 트랩형 플래시 메모리 장치 및 그것의 소거 방법 |
KR101682666B1 (ko) | 2010-08-11 | 2016-12-07 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템 |
JP5787840B2 (ja) | 2012-07-26 | 2015-09-30 | 株式会社東芝 | 記憶システムおよび記憶システムのデータ書き込み方法 |
JP2014078128A (ja) | 2012-10-10 | 2014-05-01 | Canon Inc | 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体 |
JP6004923B2 (ja) * | 2012-11-29 | 2016-10-12 | キヤノン株式会社 | 情報処理装置及びその制御方法とプログラム |
KR102098248B1 (ko) * | 2013-06-03 | 2020-04-07 | 삼성전자 주식회사 | 온도에 따라 완화된 타이밍 요건으로 사용되는 메모리 장치 및 이를 이용하는 메모리 콘트롤러 |
US9535614B2 (en) * | 2013-11-21 | 2017-01-03 | Sandisk Technologies Llc | Temperature based flash memory system maintenance |
US9585100B2 (en) * | 2014-09-02 | 2017-02-28 | Apple Inc. | Cold temperature power throttling at a mobile computing device |
US9668337B2 (en) * | 2015-09-08 | 2017-05-30 | Western Digital Technologies, Inc. | Temperature management in data storage devices |
-
2016
- 2016-09-05 KR KR1020160114014A patent/KR102621467B1/ko active IP Right Grant
-
2017
- 2017-02-23 US US15/440,680 patent/US10445010B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8873323B2 (en) * | 2012-08-16 | 2014-10-28 | Transcend Information, Inc. | Method of executing wear leveling in a flash memory device according to ambient temperature information and related flash memory device |
KR20140130309A (ko) * | 2013-04-30 | 2014-11-10 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템 및 메모리 컨트롤러의 동작 방법 |
KR20150120213A (ko) * | 2014-04-17 | 2015-10-27 | 삼성전자주식회사 | 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20150121562A (ko) * | 2014-04-21 | 2015-10-29 | 삼성전자주식회사 | 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템의 동작방법 |
KR20170035320A (ko) * | 2015-09-22 | 2017-03-30 | 삼성전자주식회사 | 솔리드 스테이트 드라이브들의 전력 소비를 컨트롤하기 위해 동적으로 불휘발성 메모리 오퍼레이션을 스케쥴링하는 메모리 장치 및 그것의 동작 방법 |
US20170249091A1 (en) * | 2016-02-26 | 2017-08-31 | Sandisk Technologies Llc | Data storage device with temperature sensor and temperature calibration circuitry and method of operating same |
US20180067678A1 (en) * | 2016-09-05 | 2018-03-08 | Sung-won Jeong | Nonvolatile memory device and method of throttling temperature of nonvolatile memory device |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11029888B2 (en) | 2019-04-30 | 2021-06-08 | SK Hynix Inc. | Memory system and method of controlling operations on bad memory block based on temperature |
US11874775B2 (en) | 2019-07-22 | 2024-01-16 | SK Hynix Inc. | Method and apparatus for performing access operation in memory system utilizing map data including mapping relationships between a host and a memory device for storing data |
US11302385B2 (en) | 2020-02-21 | 2022-04-12 | SK Hynix Inc. | Memory controller and method of operating the same |
US11756607B2 (en) | 2020-02-21 | 2023-09-12 | SK Hynix Inc. | Memory controller and method of operating the same |
CN113707203A (zh) * | 2021-08-12 | 2021-11-26 | 长江存储科技有限责任公司 | 温度值输出控制电路、温度值输出控制方法以及电子系统 |
Also Published As
Publication number | Publication date |
---|---|
US20180067678A1 (en) | 2018-03-08 |
KR102621467B1 (ko) | 2024-01-05 |
US10445010B2 (en) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102621467B1 (ko) | 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 온도 조절 방법 | |
KR102653401B1 (ko) | 메모리 시스템 및 그의 동작방법 | |
US10310924B2 (en) | Storage device and read reclaim method thereof | |
KR102290974B1 (ko) | 불휘발성 메모리 장치, 메모리 컨트롤러 및 그것들을 포함하는 불휘발성 메모리 시스템의 동작 방법 | |
KR102254392B1 (ko) | 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템 | |
CN109509490B (zh) | 使用非线性滤波方案的存储器系统及其读取方法 | |
KR102190241B1 (ko) | 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템 | |
KR102615593B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR102707003B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US10403369B2 (en) | Memory system with file level secure erase and operating method thereof | |
KR102593352B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20160087430A (ko) | 불휘발성 메모리 시스템 및 그것의 동작 방법 | |
KR20180039785A (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
KR102709146B1 (ko) | 저장 장치의 데이터 액세스 방법, 데이터 관리 방법 및 이를 수행하는 저장 장치 | |
KR20180046067A (ko) | 메모리 제어 장치 및 방법 | |
KR20170026831A (ko) | 불휘발성 메모리 장치, 그것을 포함하는 데이터 저장 장치 그리고 데이터 저장 장치의 동작 방법. | |
CN111128280B (zh) | 存储装置及其操作方法 | |
KR20200126533A (ko) | 메모리 시스템 및 그의 온도 조절 방법 | |
KR20220028300A (ko) | 메모리 시스템 및 그 동작 방법 | |
KR20170138702A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR102660399B1 (ko) | 메모리 시스템 및 그것의 동작방법 | |
KR20190078133A (ko) | 컨트롤러 및 그것의 동작방법 | |
KR20180111157A (ko) | 컨트롤러 및 컨트롤러의 동작 방법 | |
KR20190128283A (ko) | 컨트롤러, 메모리 시스템 및 그 동작방법 | |
KR20180017608A (ko) | 메모리 시스템 및 그의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |