KR102271502B1 - 메모리 장치 및 그 제어 방법 - Google Patents
메모리 장치 및 그 제어 방법 Download PDFInfo
- Publication number
- KR102271502B1 KR102271502B1 KR1020170139414A KR20170139414A KR102271502B1 KR 102271502 B1 KR102271502 B1 KR 102271502B1 KR 1020170139414 A KR1020170139414 A KR 1020170139414A KR 20170139414 A KR20170139414 A KR 20170139414A KR 102271502 B1 KR102271502 B1 KR 102271502B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- invalid
- command
- bit
- invalidation
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000004044 response Effects 0.000 claims description 9
- 230000000903 blocking effect Effects 0.000 claims description 6
- 238000010200 validation analysis Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 6
- 239000000758 substrate Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion 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
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene 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
- 230000002159 abnormal effect Effects 0.000 description 2
- 101150064834 ssl1 gene Proteins 0.000 description 2
- 101150062870 ssl3 gene Proteins 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 239000011810 insulating material Substances 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052814 silicon oxide Inorganic materials 0.000 description 1
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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5671—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
-
- 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
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B43/00—EEPROM devices comprising charge-trapping gate insulators
- H10B43/20—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
- H10B43/23—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
- H10B43/27—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
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)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
메모리 장치 및 그 제어 방법이 제공된다. 상기 메모리 장치는 메모리 컨트롤러로부터 인밸리드 컨트롤 커맨드(invalid control command)를 수신하여 인밸리드 비트 데이터(invalid bit data)를 서로 다른 제1 및 제2 상태 중 어느 하나로 갱신하고, 상기 메모리 컨트롤러로부터 리드 컨트롤 커맨드(read control command)를 수신하여 상기 인밸리드 비트 데이터가 제1 상태인 경우, 인밸리드 신호(invalid signal)를 제공하고, 상기 인밸리드 비트 데이터가 상기 제2 상태인 경우 데이터 요청을 전송하는 인밸리데이션 비트 서킷(invalindation bit circuit) 및 상기 데이터 요청을 수신하여 데이터를 제공하는 셀 어레이를 포함한다.
Description
본 발명은 메모리 장치 및 그 제어 방법에 관한 것이다.
비휘발성 메모리(nonvolatile memory)를 사용하는 시스템에서는 덮어쓰기(overwrite)가 불가능하며 해당 블록의 유효 데이터(valid data)를 보전하면서 새로운 데이터를 쓰는데 큰 오버헤드(overhead)가 발생한다.
이러한 구조적 한계를 극복하기 위해 라이트(write) 동작에 있어서, 새로운 위치에 데이터를 쓰고 로지컬 주소와 피지컬 주소의 매핑(mapping)을 관리하는 방식을 사용하여 성능향상을 한다.
즉, 데이터의 삭제 명령에 대해서 실제 데이터를 제거하는 것이 아니라 단순히 매핑 데이터만을 삭제하고, 실제 데이터는 피지컬 주소에 그대로 남아있게된다. 이러한 삭제가 반복되는 경우에 동일한 로지컬 주소의 데이터의 여러 버전이 비휘발성 메모리 장치 상에 존재하게 된다.
만일 누군가 악의적인 목적을 가지고 지워진 데이터에 비정상적 루트로 접근할 경우 막을 방법이 없다. 이를 방지하기 위한 시큐어 파일 이레이즈(Secure File Erase)는 호스트 어플리케이션(host application)과 연계하여 지워진 파일의 남아있는 올드 데이터(old data)를 지워주게 된다.
시큐어 파일 이레이즈의 동작 시 올드 데이터를 찾아 삭제하기 위해서는 전체 영역의 피지컬 주소에 대한 로지컬 주소의 매핑을 확인 후 유효한 데이터를 따로 옮겨주는 과정이 수행되어야 한다. 이는 메모리 장치의 오버헤드로 작용한다.
본 발명이 해결하려는 과제는, 올드 데이터에 대한 접근을 차단할 수 있는 메모리 장치를 제공하는 것이다.
본 발명이 해결하려는 다른 과제는, 올드 데이터에 대한 접근을 차단할 수 있는 메모리 장치 제어 방법을 제공하는 것이다.
본 발명이 해결하려는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 메모리 장치는, 메모리 컨트롤러로부터 인밸리드 컨트롤 커맨드(invalid control command)를 수신하여 인밸리드 비트 데이터(invalid bit data)를 서로 다른 제1 및 제2 상태 중 어느 하나로 갱신하고, 상기 메모리 컨트롤러로부터 리드 컨트롤 커맨드(read control command)를 수신하여 상기 인밸리드 비트 데이터가 제1 상태인 경우, 인밸리드 신호(invalid signal)를 제공하고, 상기 인밸리드 비트 데이터가 상기 제2 상태인 경우 데이터 요청을 전송하는 인밸리데이션 비트 서킷(invalindation bit circuit) 및 상기 데이터 요청을 수신하여 데이터를 제공하는 셀 어레이를 포함한다.
상기 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 메모리 장치는 호스트로부터 커맨드 및 어드레스 신호를 수신하는 메모리 컨트롤러, 상기 메모리 컨트롤러로부터 어드레스 신호를 수신하는 어드레스 디코더, 상기 어드레스 디코더와 연결되는 워드 라인 및 스트링 선택 라인, 상기 워드 라인 및 스트링 선택 라인과 연결되고, 상기 메모리 컨트롤러로부터 컨트롤 커맨드를 수신하는 인밸리데이션 비트 서킷으로서, 상기 인밸리데이션 비트 서킷은 상기 컨트롤 커맨드에 따라서 인밸리드 데이터 비트를 갱신하고, 상기 인밸리드 데이터 비트에 따라서 데이터의 리드 동작을 차단하는 인밸리데이션 비트 서킷 및 상기 워드 라인 및 스트링 선택 라인과 연결되고, 상기 데이터가 저장되는 셀 어레이를 포함한다.
상기 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 메모리 장치는 프로세싱 코어, 휘발성 메모리, 메모리 모듈 및 상기 프로세싱 코어, 상기 휘발성 메모리, 상기 메모리 모듈 및 호스트를 연결하는 버스를 포함하되, 상기 메모리 모듈은 상기 호스트로부터 커맨드를 수신하는 메모리 컨트롤러와, 상기 메모리 컨트롤러로부터 컨트롤 커맨드를 수신하고, 상기 컨트롤 커맨드에 따라서 인밸리드 데이터 비트를 갱신하고, 상기 인밸리드 데이터 비트에 따라서 상기 호스트의 리드 커맨드를 차단하는 인밸리데이션 비트 서킷을 포함한다.
상기 다른 과제를 해결하기 위한 본 발명의 몇몇 실시예에 따른 메모리 장치 제어 방법은 호스트로부터 시큐어 파일 이레이즈 커맨드를 수신하고, 인밸리드 데이터 비트를 서로 다른 제1 및 제2 상태 중 어느 하나로 갱신하고, 상기 호스트로부터 리드 커맨드를 수신하고, 상기 인밸리드 데이터 비트를 확인하고, 상기 인밸리드 데이터 비트가 제1 상태이면 인밸리드 신호를 제공하고, 상기 인밸리드 데이터 비트가 상기 제1 상태와 다른 제2 상태이면 데이터를 제공하는 것을 포함한다.
도 1은 본 발명의 몇몇 실시예들에 따른 메모리 장치를 설명하기 위한 블록도이다.
도 2는 도 1의 셀 어레이가 3차원적으로 구현되는 실시예를 예시적으로 나타낸 사시도이다.
도 3은 도 2의 셀 어레의 등가 회로도이다.
도 4는 도 1의 메모리 장치가 적용되는 메모리 시스템을 설명하기 위한 블록도이다.
도 5는 본 발명의 몇몇 실시예들에 따른 메모리 장치를 설명하기 위한 블록도이다.
도 6은 본 발명의 몇몇 실시예들에 따른 메모리 장치를 설명하기 위한 블록도이다.
도 7은 본 발명의 몇몇 실시예들에 따른 메모리 장치 제어 방법을 설명하기 위한 순서도이다.
도 8은 도 7의 몇몇 실시예들에 따른 메모리 장치 제어 방법의 업데이트 시퀀스를 세부적으로 설명하기 위한 순서도이다.
도 9는 도 7의 몇몇 실시예들에 따른 메모리 장치 제어 방법의 업데이트 시퀀스를 세부적으로 설명하기 위한 순서도이다.
도 10은 도 7의 몇몇 실시예들에 따른 메모리 장치 제어 방법의 리드 시퀀스를 세부적으로 설명하기 위한 순서도이다.
도 2는 도 1의 셀 어레이가 3차원적으로 구현되는 실시예를 예시적으로 나타낸 사시도이다.
도 3은 도 2의 셀 어레의 등가 회로도이다.
도 4는 도 1의 메모리 장치가 적용되는 메모리 시스템을 설명하기 위한 블록도이다.
도 5는 본 발명의 몇몇 실시예들에 따른 메모리 장치를 설명하기 위한 블록도이다.
도 6은 본 발명의 몇몇 실시예들에 따른 메모리 장치를 설명하기 위한 블록도이다.
도 7은 본 발명의 몇몇 실시예들에 따른 메모리 장치 제어 방법을 설명하기 위한 순서도이다.
도 8은 도 7의 몇몇 실시예들에 따른 메모리 장치 제어 방법의 업데이트 시퀀스를 세부적으로 설명하기 위한 순서도이다.
도 9는 도 7의 몇몇 실시예들에 따른 메모리 장치 제어 방법의 업데이트 시퀀스를 세부적으로 설명하기 위한 순서도이다.
도 10은 도 7의 몇몇 실시예들에 따른 메모리 장치 제어 방법의 리드 시퀀스를 세부적으로 설명하기 위한 순서도이다.
이하에서, 도 1 내지 도 3을 참조하여, 본 발명의 몇몇 실시예에 따른 메모리 장치에 대해서 설명한다.
도 1은 본 발명의 몇몇 실시예들에 따른 메모리 장치를 설명하기 위한 블록도이고, 도 2는 도 1의 셀 어레이가 3차원적으로 구현되는 실시예를 예시적으로 나타낸 사시도이다. 도 3은 도 2의 셀 어레의 등가 회로도이다.
도 1을 참조하면, 제1 메모리 장치(20)는 호스트(10)와 연결될 수 있다. 호스트(10)는 제1 메모리 장치(20)의 데이터 처리 동작(예컨대, 리드 동작, 라이트 동작 및 시큐어 파일 이레이즈 동작)을 제어할 수 있다.
실시 예들에 따라, 호스트(10)는 호스트 프로세서, 집적 회로(integrated circuit(IC)), 마더보드(motherboard), 시스템 온 칩(system on chip(SoC)), 애플리케이션 프로세서(application processor(AP)), 모바일(mobile) AP, 웹(web) 서버, 데이터 서버, 또는 데이터베이스 서버로 구현될 수 있으나 이에 제한되는 것은 아니다.
본 발명의 몇몇 실시예에 따른 제1 메모리 장치(20)는 메모리 컨트롤러(100), 어드레스 디코더(300), 인밸리데이션 비트 서킷(200), 셀 어레이(400), 페이지 버퍼(600) 및 데이터 입출력 서킷(500)을 포함한다.
메모리 컨트롤러(100)는 호스트(10)로부터 커맨드(CMD) 및 어드레스 신호(ADDR)를 수신할 수 있다. 메모리 컨트롤러(100)는 커맨드(CMD) 및 어드레스 신호(ADDR)에 기초하여 행 어드레스 신호(RADDR) 및 열 어드레스 신호(CADDR)를 생성하고, 행 어드레스 신호(RADDR) 및 열 어드레스 신호(CADDR)에 기초하여 셀 어레이(400)에 포함되는 메모리 셀 어레이를 동작시킬 수 있다.
구체적으로, 메모리 컨트롤러(100)는 행 어드레스 신호(ADDR)를 어드레스 디코더(300)에 전달하고, 열 어드레스 신호(ADDR)를 데이터 입출력 서킷(500)에 전달할 수 있다.
또한, 메모리 컨트롤러(100)는 커맨드(CMD)에 기초하여 컨트롤 커맨드(CTRL CMD)를 생성할 수 있다. 메모리 컨트롤러(100)는 컨트롤 커맨드(CTRL CMD)를 인밸리데이션 비트 서킷(200)으로 전송할 수 있다.
메모리 컨트롤러(100)가 호스트로부터 수신한 커맨드(CMD)는 리드 커맨드(read command), 라이트 커맨드(write command) 및 시큐어 파일 이레이즈 커맨드(secure file erase command) 중 어느 하나일 수 있다.
상기 리드 커맨드는 셀 어레이(400) 내에 지정된 로지컬 주소에 저장된 데이터(DATA)를 리드하라는 커맨드이고, 상기 라이트 커맨드는 셀 어레이(400) 내에 지정된 로지컬 주소에 데이터(DATA)를 라이트하라는 커맨드이다.
상기 시큐어 파일 이레이즈 커맨드는 셀 어레이(400) 내에 지정된 로지컬 주소에 저장된 데이터(DATA)를 제거하라는 커맨드이다.
어드레스 디코더(300)는 메모리 컨트롤러(100)로부터 행 어드레스 신호(ADDR)를 수신할 수 있다. 어드레스 디코더(300)는 행 어드레스 신호(ADDR)는 디코딩하여 스트링 선택 라인(SSL), 워드 라인들(WLs) 및 접지 선택 라인(GSL)에 선택적으로 커맨드(CMD)에 상응하는 전압을 인가할 수 있다. 즉, 어드레스 디코더(300)는 행 어드레스 신호(ADDR)에 전체 스트링 선택 라인(SSL), 워드 라인들(WLs) 및 접지 선택 라인(GSL) 중 어느 라인에 전압을 인가할지를 결정할 수 있다.
스트링 선택 라인(SSL), 워드 라인들(WLs) 및 접지 선택 라인(GSL)은 어드레스 디코더(300), 인밸리데이션 비트 서킷(200) 및 셀 어레이(400)에 의해서 공유될 수 있다. 즉, 각각의 스트링 선택 라인(SSL), 워드 라인들(WLs) 및 접지 선택 라인(GSL) 별로 어드레스 디코더(300), 인밸리데이션 비트 서킷(200) 및 셀 어레이(400)가 연결될 수 있다.
셀 어레이(400)는 내부에 복수의 메모리 셀을 포함하고, 각각의 메모리 셀들의 내부에 데이터 비트를 저장할 수 있다. 이 때, 상기 메모리 셀 각각은 하나의 데이터 비트를 저장하는 싱글 레벨 셀(Single Level Cell, SLC), 두 개의 비트 데이터들을 저장하는 멀티 레벨 셀(Multi Level Cell, MLC) 및 세 개의 비트 데이터들을 저장하는 트리플 레벨 셀(Triple Level Cell, TLC) 중 어느 하나일 수 있다. 단 본 실시예가 이에 제한되는 것은 아니다.
데이터 입출력 서킷(500)는 열 어드레스 신호(CADDR)에 응답하여 워드 라인들(WLs) 중 어느 하나에 연결된 메모리 셀들로부터 복수의 비트 라인들(도 2의 BL1 내지 BL3)을 통해 데이터(DATA)를 수신한다.
본 발명의 몇몇 실시예에서, 셀 어레이(400)는 이차원 구조 또는 삼차원 구조로 구현될 수 있다. 셀 어레이(400)가 삼차원적으로 구현된 실시예를 도 2 및 3을 참조하여 후술한다.
도 2를 참조하면, 셀 어레이(400)는 기판(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)과 같은 절연 물질로 구성될 수 있다.
게이트 전극막(gate electrode layer)은 접지 선택 라인(GSL), 복수의 워드 라인들(WL1~WL8) 및 스트링 선택 라인(SSL)에 연결될 수 있다. 그리고 필라(pillar)는 복수의 비트 라인들(BL1~BL3)과 연결될 수 있다.
도 2에서는, 셀 어레이(400)가 접지 선택 라인(GSL), 스트링 선택 라인(SSL), 8개의 워드 라인들(WL1, WL2, ..., WL8) 및 3개의 비트 라인들(BL1, BL2, BL3)을 갖는 것으로 도시되어 있으나, 실제로는 이것들보다 더 많거나 적을 수 있다.
도 3을 참조하면, 셀 어레이(400)에서, 비트 라인(BL1, BL2, BL3)과 공통 소스 라인(CSL; Common Source Line) 사이에는 셀 스트링들(NS11~NS33)이 연결되어 있다. 셀 스트링들(예를 들면, NS11)의 각각은 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1, MC2, ..., MC8) 및 접지 선택 트랜지스터(GST)를 포함한다.
스트링 선택 트랜지스터(SST)는 스트링 선택 라인(String Selection Line)(SSL1, SSL2, SSL3)에 연결되어 있다. 복수의 메모리 셀들(MC1, MC2, ..., MC8)은 각각 대응하는 워드 라인(WL1, WL2, ..., WL8)에 연결되어 있다. 그리고 접지 선택 트랜지스터(GST)는 접지 선택 라인(Ground Selection Line)(GSL1, GSL2, GSL3)에 연결되어 있다. 스트링 선택 트랜지스터(SST)는 비트 라인(BL)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결되어 있다.
스트링 선택 트랜지스터(SST)는 스트링 선택 라인(String Selection Line)(SSL1, SSL2, SSL3)에 연결되어 있다. 복수의 메모리 셀들(MC1, MC2, ..., MC8)은 각각 대응하는 워드 라인(WL1, WL2, ..., WL8)에 연결되어 있다. 그리고 접지 선택 트랜지스터(GST)는 접지 선택 라인(Ground Selection Line)(GSL1, GSL2, GSL3)에 연결되어 있다. 스트링 선택 트랜지스터(SST)는 비트 라인(BL)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결되어 있다.
다시, 도 1을 참조하면, 셀 어레이(400)는 내부에 복수의 메모리 셀을 포함하고, 각각의 메모리 셀들의 내부에 데이터 비트를 저장할 수 있다. 이 때, 상기 메모리 셀 각각은 하나의 데이터 비트를 저장하는 싱글 레벨 셀(Single Level Cell, SLC), 두 개의 비트 데이터들을 저장하는 멀티 레벨 셀(Multi Level Cell, MLC) 및 세 개의 비트 데이터들을 저장하는 트리플 레벨 셀(Triple Level Cell, TLC) 중 어느 하나일 수 있다.
데이터 입출력 서킷(500)는 열 어드레스 신호(CADDR)에 응답하여 워드 라인들(WLs) 중 어느 하나에 연결된 셀 어레이(400) 내의 메모리 셀들로부터 복수의 비트 라인들(도 2의 BL1 내지 BL3)을 통해 데이터(Data)를 수신한다.
페이지 버퍼(600)는 셀 어레이(400)와 데이터 입출력 서킷(500) 사이에서 데이터(DATA)를 일시적으로 저장할 수 있다. 즉, 페이지 버퍼(600)는 셀 어레이(400)로부터 데이터(DATA)를 전송받을 수 있다. 페이지 버퍼(600)는 메모리 컨트롤러(100)로부터 리드 신호를 받기 전까지 데이터(DATA)를 계속 저장할 수 있다. 페이지 버퍼(600)는 메모리 컨트롤러(100)로부터 리드 신호를 받은 경우에는 데이터(DATA)를 데이터 입출력 서킷(500)으로 전송할 수 있다.
페이지 버퍼(600)는 비트 라인을 통해 셀 어레이(400)와 연결된다. 페이지 버퍼(600)는 선택 페이지에 프로그램될 데이터나 선택 페이지로부터 읽은 데이터를 임시로 저장할 수 있다.
페이지 버퍼(600)는 복수개의 래치들을 포함한다. 예를 들면, 페이지 버퍼(600)는 캐시 래치(cache latch), LSB 래치, CSB 래치, MSB 래치, 센스 래치를 포함할 수 있다. 캐시 래치는 셀 어레이(400)로 데이터(DATA)가 입력되거나 셀 어레이(400)로부터 출력될 때, 데이터(DATA)를 임시로 저장한다. 센스 래치는 리드 동작시에 메모리 셀의 데이터(DATA)를 감지한다. LSB 래치는 라이트 동작 시, LSB 데이터를 저장하며, MSB 래치인 경우는 라이트 동작 시, MSB 데이터를 저장하며, CSB 래치인 경우는 라이트 동작 시, CSB 데이터를 저장한다. 그리고, 각각의 데이터에 대응되는 LSB 래치, CSB 래치, MSB래치는 각각 타겟 래치가 된다.
데이터 입출력 서킷(500)은 내부적으로는 데이터 라인을 통해 페이지 버퍼(600)와 연결되고, 외부적으로는 입출력 라인을 통해 메모리 컨트롤러(100)와 연결된다. 데이터 입출력 서킷(500)은 라이트 동작 시 메모리 컨트롤러(100)로부터 데이터(DATA)를 입력받아 페이지 버퍼(600)로 전송한다. 또한 데이터 입출력 서킷(500)은 리드 동작 시 페이지 버퍼(600)로부터 제공받은 데이터(DATA)를 메모리 컨트롤러(100)로 제공한다.
기존의 메모리 장치의 이레이즈 커맨드(erase command)는 로지컬 주소 내에 데이터(DATA)를 제거하면 되므로 피지컬 주소 내의 데이터(DATA)를 제거하지 않고, 단순히 로지컬 주소와 피지컬 주소의 매핑 데이터만을 제거하였다. 즉, 호스트(10)의 레벨에서 지정된 로지컬 주소에서는 데이터(DATA)가 삭제된 것으로 보이지만 실제 셀 어레이(400)의 피지컬 주소에서는 데이터(DATA)가 여전히 존재하고 있을 수 있다.
이러한 방식은 셀 어레이(400)가 비휘발성 메모리의 특성을 가지고 있기 때문에 사용되어 왔다. 즉, 비휘발성 메모리는 파일 단위가 아닌 블록 단위로 데이터의 삭제가 가능하므로 피지컬 주소에 있는 데이터를 선별해서 제거하는 것은 많은 시간을 필요로한다. 따라서, 기존의 메모리 장치는 셀 어레이(400) 내부에 저장 공간이 여유가 있다는 전제하에 실제 데이터의 삭제는 보류하고 로지컬 주소와 피지컬 주소의 매핑 데이터만 제거하여 메모리 장치의 동작 속도를 높게한 뒤, 추후에 유휴 시간(idle time)에 남아있는 올드 데이터를 선택적으로 제거하는 방식을 사용하였다.
또는 다른 방식으로, 시큐어 파일 이레이즈(secure file erase)를 이용하여 남아있는 올드 데이터를 모두 제거하는 방법도 가능하지만, 이러한 방법은 전체 올드 데이터의 검색과 삭제, 유효(valid)한 데이터끼리 모아주는 과정에 매우 큰 오버헤드가 발생할 수 있다.
본 발명의 몇몇 실시예에 따른 제1 메모리 장치(20)는 인밸리데이션 비트 서킷(200)을 이용하여 파일 단위로 빠른 시큐어 파일 이레이즈를 가능하게 할 수 있다.
인밸리데이션 비트 서킷(200)은 메모리 컨트롤러(100)로부터 컨트롤 커맨드(CTRL CMD)를 수신할 수 있다. 컨트롤 커맨드(CTRL CMD)는 메모리 컨트롤러(100)가 호스트(10)로부터 받는 커맨드(CMD)에 따라 달라질 수 있다.
구체적으로, 메모리 컨트롤러(100)는 시큐어 파일 이레이즈 커맨드 또는 라이트 커맨드를 수신하는 경우 인밸리드 컨트롤 커맨드(invalid control command)를 생성하여 인밸리데이션 비트 서킷(200)으로 전송할 수 있다.
상기 인밸리드 컨트롤 커맨드는 인밸리드 데이터 세트 커맨드(invalid data set command)와, 인밸리드 데이터 클린 커맨드(invalide data clean command)를 포함할 수 있다. 메모리 컨트롤러(100)는 시큐어 파일 이레이즈 커맨드를 수신한 경우에는 상기 인밸리드 데이터 세트 커맨드를 인밸리데이션 비트 서킷(200)으로 전송하고, 라이트 커맨드를 수신하는 경우 인밸리드 데이터 클린 커맨드를 인밸리데이션 비트 서킷(200)으로 전송할 수 있다.
메모리 컨트롤러(100)는 리드 커맨드를 수신하는 경우 리드 컨트롤 커맨드(read control command)를 생성하여 인밸리데이션 비트 서킷(200)으로 전송할 수 있다.
인밸리데이션 비트 서킷(200)은 내부에 인밸리드 비트 데이터(210)를 포함할 수 있다. 인밸리드 비트 데이터(210)는 구체적으로, 스트링 선택 라인(SSL)마다, 워드 라인들(WLs) 마다 각각 존재할 수 있다. 즉, 인밸리드 비트 데이터(210)는 스트링 선택 라인(SSL) 및 각 워드 라인들(WLs) 각각에 대한 내부 데이터의 인밸리드 여부가 저장될 수 있다.
인밸리드 비트 데이터(210)는 구체적으로, 어느 메모리 셀의 데이터가 인밸리드 한지를 포함할 수 있다. 여기서 "인밸리드"란 데이터 리드가 차단되어야 하는 상태를 말한다. 즉, 인밸리드 비트 데이터(210)는 남아있는 올드 데이터의 유출을 방지하기 위해서 올드 데이터에 대한 접근을 차단시키기 위한 마킹(marking)일 수 있다.
만일, 특정 주소 정보에 대응하는 데이터(DATA)가 인밸리드한 경우 제1 상태로 표시하고, 데이터(DATA)가 유효한 경우에는 제2 상태로 표시할 수 있다. 인밸리드 비트 데이터(210)는 테이블 형식일 수 있다. 즉, 피지컬 주소 정보에 대응하여 제1 상태 또는 제2 상태로 표현될 수 있다.
이 때, 상기 제1 상태 및 제2 상태는 "1" 또는 ?0"의 단일 비트로 표현될 수 있다. 물론, 이와 반대로 표시하는 것도 가능할 수 있다. 상기와 같은 단일 비트 표현은 하나의 예시에 불과하므로, 본 발명의 몇몇 실시예에 따른 메모리 장치가 이에 제한되는 것은 아니다.
인밸리데이션 비트 서킷(200)은 메모리 컨트롤러(100)로부터 인밸리드 데이터 세트 커맨드를 수신하면 대응되는 피지컬 주소에 대해서 인밸리드 비트 데이터(210)를 제1 상태로 갱신할 수 있다.
반대로, 인밸리데이션 비트 서킷(200)은 메모리 컨트롤러(100)로부터 인밸리드 데이터 클린 커맨드를 수신하면 대응되는 피지컬 주소에 대해서 인밸리드 비트 데이터(210)를 제2 상태로 갱신할 수 있다.
즉, 호스트(10)로부터 시큐어 파일 이레이즈 커맨드가 오는 경우 인밸리드 비트 데이터(210)는 제1 상태로 갱신되고, 라이트 커맨드가 오는 경우 인밸리드 비트 데이터(210)는 제2 상태로 갱신될 수 있다.
인밸리데이션 비트 서킷(200)은 메모리 컨트롤러(100)로부터 리드 컨트롤 커맨드를 수신하면 인밸리드 비트 데이터(210)를 이용하여 리드 동작의 대상이 되는 데이터(DATA)가 인밸리드한지를 판단한다. 구체적으로, 인밸리드 비트 데이터(210)가 제1 상태인 경우에는 데이터(DATA)가 인밸리드한 것이고, 인밸리드 비트 데이터(210)가 제2 상태인 경우에는 데이터(DATA)가 인밸리드하지 않은 것일 수 있다.
인밸리데이션 비트 서킷(200)은 데이터(DATA)가 인밸리드한 경우 즉, 인밸리드 비트 데이터(210)가 제1 상태인 경우에는 데이터 입출력 서킷(500)으로 인밸리드 신호(INVALID SIGNAL)를 전송할 수 있다. 즉, 호스트(10)의 리드 요청에 대해서 가능하지 않다는 응신을 하는 것으로 실질적으로 리드 동작을 차단하는 의미일 수 있다. 이와 동시에 셀 어레이(400) 내의 데이터(DATA)가 페이지 버퍼(600)로 전송되지 않을 수 있다.
인밸리드 신호(INVALID SIGNAL)는 클린 신호(CLEAN SIGNAL) 또는 언커렉트 신호(UNCORRECT SIGNAL)의 형태를 가질 수 있다. 즉, 클린 신호는 호스트(10)의 리드 요청에 대해서 데이터가 없다는 응신을 하는 것이고, 언커렉트 신호는 올바르지 않은 리드 요청이라는 응신을 하는 것이다. 클린 신호 및 언커렉트 신호 모두 실질적으로 리드 동작을 차단하는 의미일 수 있다.
인밸리데이션 비트 서킷(200)은 데이터(DATA)가 인밸리드하지 않은 경우 즉, 인밸리드 비트 데이터(210)가 제2 상태인 경우에는 일반적인 리드 동작이 수행될 수 있다. 즉, 셀 어레이(400) 내의 데이터(DATA)가 페이지 버퍼(600)로 이동할 수 있다.
이어서, 메모리 컨트롤러(100)에서의 리드 신호에 따라서, 데이터(DATA)가 데이터 입출력 서킷(500)으로 전송될 수 있다. 메모리 컨트롤러(100)의 열 어드레스 신호(ADDR)에 따라서, 데이터 입출력 서킷(500)은 데이터(DATA)를 호스트(10)로 전송할 수 있다.
본 발명의 몇몇 실시예에 따른 제1 메모리 장치(20)는 올드 데이터에 대한 보안 성능을 개선할 수 있다. 즉, 기존의 장치에서 매핑 데이터만 삭제되고 실제로는 삭제되지 않는 올드 데이터들이 비정상적인 루트를 통해서 외부로 유출될 가능성이 있었다. 즉, 유휴 시간에 완전히 삭제되기 전에 피지컬 주소로 직접 접근되거나, 로지컬 주소에 의해서 복원되는 경우가 발생할 수 있었다. 또한, 이를 방지하기 위한 시큐어 이레이즈 동작을 수행하는 경우에는 파일 단위의 제거가 불가능하고, 장치의 오버헤드가 클 수 있다.
그러나, 본 발명의 몇몇 실시예에 따른 제1 메모리 장치(20)는 삭제된 데이터에 대해서 인밸리드 마킹을 통해서 외부로 리드되는 것을 방지하므로 의도치 않은 접근에 대해서 보안을 유지할 수 있다.
이러한 올드 데이터는 추후에 삭제되기 전에도 외부로 리드될 수 없으므로 악의적으로 접근한 경우에도 외부로의 유출이 방지될 수 있다. 또한, 하드웨어적으로 인밸리데이션 비트 서킷(200)이 추가됨에 따라서, 호스트(10)의 레벨에서 커맨드(CMD)를 제공하지 않아도(예를 들어 트림(TRIM) 커맨드), 메모리 컨트롤러(100)의 레벨에서 자체적으로 데이터의 인밸리드 동작이 수행될 수 있다.
이하, 도 4를 참조하여, 본 발명의 몇몇 실시예에 따른 제1 메모리 장치(20)를 포함하는 메모리 시스템(50)을 설명한다. 상술한 설명과 중복되는 부분은 생략하거나 간략히 한다.
도 4는 도 1의 메모리 장치가 적용되는 메모리 시스템을 설명하기 위한 블록도이다.
도 4를 참조하면, 호스트(10)는 메모리 시스템(50)과 연결되어 메모리 시스템(50)의 데이터 처리를 제어할 수 있다.
메모리 시스템(50)은 프로세싱 코어(1000), 휘발성 메모리(1100), 복수의 메모리 채널(20) 및 시스템 버스(1200)를 포함할 수 있다.
메모리 시스템(50)은 호스트(10)와 명령 및/또는 데이터를 주고 받을 수 있다. 메모리 시스템(50)은 플래시-기반 스토리지(flash based storage)로 구현될 수 있으나 이에 제한되는 것은 아니다. 예컨대, 메모리 시스템(50)은 SSD(solid-state drive or solid-state disk) 또는 임베디드 SSD(embedded SSD(eSSD))로 구현될 수 있으나 이에 제한되는 것은 아니다.
호스트(10)와 메모리 시스템(50)는 서로 연결되어 하나의 데이터 처리 시스템을 구현할 수 있다. 상기 데이터 처리 시스템은 예를 들어, PC(personal computer), 워크스테이션(workstation), 데이터 센터, 인터넷 데이터 센터(internet data center(IDC)), DAS(direct attached storage) 시스템, SAN(storage area network) 시스템, NAS(network attached storage) 시스템, RAID(redundant array of inexpensive disks, or redundant array of independent disks) 시스템, 또는 모바일 장치로 구현될 수 있으나 이에 제한되는 것은 아니다.
또한, 상기 모바일 장치는 랩탑 컴퓨터(laptop computer), 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(mobile internet device(MID)), 웨어러블 컴퓨터, 사물 인터넷(internet of things(IoT)) 장치, 만물 인터넷(internet of everything(IoE)) 장치, 드론(drone), 또는 e-북(e-book)으로 구현될 수 있으나, 이에 제한되는 것은 아니다.
실시 예들에 따라, 호스트(10)와 메모리 시스템(50) 사이의 명령 및/또는 데이터의 전송 경로는 SATA(serial advanced technology attachment) 인터페이스, SATAe(SATA express) 인터페이스, SAS(serial attached small computer system interface(SCSI)) 인터페이스, PCIe(peripheral component interconnect express) 인터페이스, NVMe(non-volatile memory Express) 인터페이스, AHCI(advanced host controller interface) 인터페이스, 또는 멀티미디어 카드 (multimedia card(MMC))인터페이스로 구현될 수 있으나 이에 제한되는 것은 아니다.
실시 예들에 따라, 호스트(10)와 메모리 시스템(50) 사이의 명령 및/또는 데이터의 전송 경로는 전기 신호들 또는 광 신호들을 전송할 수 있다.
프로세싱 코어(1000)는 메모리 시스템(50) 내에서 메모리 시스템(50)의 동작을 수행할 수 있다. 구체적으로, 호스트(300)에 의해서 전송되는 데이터 처리 명령에 대한 작업 및 비휘발성 메모리의 리프레쉬 작업 등을 수행할 수 있다.
도 4에서는 프로세싱 코어(1000)가 1개로 도시되었지만 이에 제한되는 것은 아니다. 즉, 본 발명의 몇몇 실시예에 따른 메모리 장치의 프로세싱 코어(1000)는 복수개가 존재할 수도 있다.
휘발성 메모리(1100)는 프로세싱 코어(1000)와 함께 데이터 처리 명령에 대한 작업 및 메모리 채널(20)의 리프레쉬 작업을 수행할 수 있다. 휘발성 메모리(1100)는 예를 들어, DRAM(Dynamic random access memory)일 수 있다. 휘발성 메모리(1100)는 상기 작업들을 수행하기 위한 버퍼 메모리의 역할을 수행할 수 있다.
메모리 채널(20)은 상술한 제1 메모리 장치(20)일 수 있다. 제1 메모리 장치(20)는 예를 들어, 플래시 메모리일 수 있다. 제1 메모리 장치(20)는 복수개일 수 있다. 도 4에서의 4개의 메모리 채널은 하나의 예시에 불과하므로, 본 발명의 몇몇 실시예에 따른 제1 메모리 장치(20)를 포함하는 메모리 시스템(50)은 4개 미만 혹은 5개 이상의 채널을 가질수도 있다.
시스템 버스(1200)는 호스트(10)와, 휘발성 메모리(1100)와, 프로세싱 코어(1000)와, 메모리 채널(20)을 서로 연결할 수 있다. 즉, 데이터 및 요청의 이동은 모두 시스템 버스(1200)를 통해서 이루어질 수 있다.
이하, 도 5를 참조하여, 본 발명의 몇몇 실시예에 따른 제2 메모리 장치(21)를 설명한다. 상술한 설명과 중복되는 부분은 생략하거나 간략히 한다.
도 5는 본 발명의 몇몇 실시예들에 따른 메모리 장치를 설명하기 위한 블록도이다.
도 5를 참조하면, 본 발명의 몇몇 실시예에 따른 제2 메모리 장치(21)의 인밸리데이션 비트 서킷(200)은 셀 어레이(400) 내부에 위치할 수 있다.
따라서, 인밸리데이션 비트 서킷(200)이 셀 어레이(400)의 내부에서 스트링 선택 라인(SSL) 및 워드 라인들(WLs) 별로 데이터의 인밸리드 여부를 판단할 수 있다.
인밸리데이션 비트 서킷(200)은 셀 어레이(400) 내부에서 별도의 데이터 라인으로 신호를 전송할 수 있다. 상기 신호에 따라서, 셀 어레이(400)로 연결되는 스트링 선택 라인(SSL), 워드 라인들(WLs) 및 접지 선택 라인(GSL)에 대한 접근이 선택적으로 차단될 수 있다.
단, 본 실시예가 이에 제한되는 것은 아니다. 인밸리데이션 비트 서킷(200)은 스트링 선택 라인(SSL), 워드 라인들(WLs) 및 접지 선택 라인(GSL)을 셀 어레이(400)와 공유할 수 있다. 즉, 셀 어레이(400) 내부에서 스트링 선택 라인(SSL), 워드 라인들(WLs) 및 접지 선택 라인(GSL)에 병렬 혹은 직렬로 연결될 수 있다. 이를 통해서 셀 어레이(400)로 연결되는 스트링 선택 라인(SSL), 워드 라인들(WLs) 및 접지 선택 라인(GSL)이 선택적으로 차단될 수 있다.
본 실시예에 따른 제2 메모리 장치(21)는 인밸리데이션 비트 서킷(200)이 셀 어레이(400) 내부에 위치하여 전체 장치의 집적도를 높이고, 배선에 의한 전송을 최소화할 수 있다.
이를 통해서, 더 빠른 속도의 제2 메모리 장치(21)를 제공할 수 있다.
이하, 도 6을 참조하여, 본 발명의 몇몇 실시예에 따른 제3 메모리 장치(22)를 설명한다. 상술한 설명과 중복되는 부분은 생략하거나 간략히 한다.
도 6은 본 발명의 몇몇 실시예들에 따른 메모리 장치를 설명하기 위한 블록도이다.
도 6을 참조하면, 본 발명의 몇몇 실시예에 따른 제3 메모리 장치(22)의 인밸리드 비트 데이터(700)는 인밸리데이션 비트 서킷(200)의 외부에 위치할 수 있다.
인밸리데이션 비트 서킷(200)은 메모리 컨트롤러(100)로부터 인밸리드 컨트롤 커맨드 또는 리드 컨트롤 커맨드를 전송 받고, 인밸리드 비트 데이터(700)를 갱신하거나, 인밸리드 비트 데이터(700)를 통해서 데이터(DATA)의 인밸리드 여부를 체크할 수 있다.
구체적으로, 인밸리데이션 비트 서킷(200)이 메모리 컨트롤러(100)로부터 인밸리드 데이터 세트 커맨드를 수신하고, 어드레스 디코더(300)로부터 상응하는 주소 정보를 획득한 경우에는 인밸리드 비트 데이터(700) 내부의 상태를 제1 상태로 갱신할 수 있다.
반대로, 인밸리데이션 비트 서킷(200)이 메모리 컨트롤러(100)로부터 인밸리드 데이터 클린 커맨드를 수신하고, 어드레스 디코더(300)로부터 상응하는 주소 정보를 획득한 경우에는 인밸리드 비트 데이터(700) 내부의 상태를 제2 상태로 갱신할 수 있다.
인밸리데이션 비트 서킷(200)이 메모리 컨트롤러(100)로부터 리드 컨트롤 커맨드를 수신하고, 어드레스 디코더(300)로부터 상응하는 주소 정보를 획득한 경우에는 인밸리드 비트 데이터(700)를 참조하여 상응하는 데이터가 인밸리드 상태인지를 확인할 수 있다.
이 때, 데이터(DATA)에 대응되는 인밸리드 비트 데이터(700)가 제1 상태인 경우 즉, 데이터(DATA)가 인밸리드 상태인 경우 인밸리데이션 비트 서킷(200)은 데이터 입출력 서킷(500)으로 인밸리드 신호(INVALID SIGNAL)를 전송할 수 있다.
반대로, 데이터(DATA)에 대응되는 인밸리드 비트 데이터(700)가 제2 상태인 경우 즉, 데이터(DATA)가 인밸리드 상태가 아닌 경우 인밸리데이션 비트 서킷(200)은 셀 어레이(400)가 리드 동작이 수행되도록 허용할 수 있다.
본 실시예에 따른 제3 메모리 장치(22)는 인밸리데이션 비트 서킷(200)과 인밸리드 비트 데이터(210)가 별도로 존재하여 인밸리드 비트 데이터(210)의 보존을 더 확고하게 할 수 있다. 즉, 스트링 선택 라인(SSL), 워드 라인들(WLs) 및 접지 선택 라인(GSL)은 어드레스 디코더(300), 인밸리데이션 비트 서킷(200) 및 셀 어레이(400)에 의해서 공유되므로 많은 구성 요소들에 의해서 데이터가 열화되거나 손상될 확률이 높을 수 있다.
따라서, 인밸리드 비트 데이터(210)는 상기 스트링 선택 라인(SSL), 워드 라인들(WLs) 및 접지 선택 라인(GSL)과 분리되어 제3 메모리 장치(22)의 전체적인 열화 가능성을 낮추고, 인밸리드 비트 데이터(700)의 신뢰도의 독립성을 높일 수 있다.
또한, 실제로 신호가 전달되는 스트링 선택 라인(SSL), 워드 라인들(WLs) 및 접지 선택 라인(GSL)에 인밸리드 비트 데이터(700)가 추가되지 않음으로서, 전송되는 신호의 신뢰도 역시 확보될 수 있다.
이를 통해서, 본 발명의 몇몇 실시예에 따른 제3 메모리 장치(22)는 더 높은 신뢰도의 메모리 장치를 제공할 수 있다.
도 6에서 컨트롤 커맨드(CTRL CMD)는 메모리 컨트롤러(100)에서 인밸리데이션 비트 서킷(200)으로 전송되는 것으로 도시되었지만, 바로 인밸리드 비트 데이터(700)로 전송되는 것도 가능할 수 있다. 이러한 경우에는 인밸리드 비트 데이터(700)가 데이터(DATA)에 대한 인밸리드 여부를 인밸리데이션 비트 서킷(200)으로 전송할 수 있다.
이하, 도 1 및 도 7 내지 도 10을 참조하여, 본 발명의 몇몇 실시예에 따른 메모리 장치 제어 방법을 설명한다. 상술한 설명과 중복되는 부분은 생략하거나 간략히 한다.
도 7은 본 발명의 몇몇 실시예들에 따른 메모리 장치 제어 방법을 설명하기 위한 순서도이고, 도 8은 도 7의 몇몇 실시예들에 따른 메모리 장치 제어 방법의 업데이트 시퀀스를 세부적으로 설명하기 위한 순서도이다. 도 9는 도 7의 몇몇 실시예들에 따른 메모리 장치 제어 방법의 업데이트 시퀀스를 세부적으로 설명하기 위한 순서도이고, 도 10은 도 7의 몇몇 실시예들에 따른 메모리 장치 제어 방법의 리드 시퀀스를 세부적으로 설명하기 위한 순서도이다.
먼저, 도 7을 참조하면, 인밸리드 비트 데이터의 업데이트 시퀀스를 수행한다(S100).
구체적으로 도 1을 참조하면, 인밸리드 비트 데이터(210)는 셀 어레이(400) 내부에 위치한 데이터의 인밸리드 여부를 표시하는 데이터를 저장할 수 있다. 인밸리드 비트 데이터(210)는 메모리 컨트롤러(100)의 인밸리드 컨트롤 커맨드에 의해서 업데이트 될 수 있다.
다시, 도 7을 참조하면, 리드 시퀀스를 수행한다(S200).
구체적으로, 도 1을 참조하면, 인밸리데이션 비트 서킷(200)은 인밸리드 비트 데이터(210)를 참조하여 셀 어레이(400) 내의 데이터(DATA)가 인밸리드한지 여부를 체크하여 리드 동작을 차단할지 진행할지를 결정할 수 있다.
도 7에서는 업데이트 시퀀스(S100)와 리드 시퀀스(S200)가 한번씩 수행되는 것으로 도시되었지만, 본 발명의 몇몇 실시예에 따른 메모리 장치 제어 방법은 이에 제한되지 않는다.
즉, 본 발명의 몇몇 실시예에 따른 메모리 장치 제어 방법은 리드 시퀀스(S200)가 진행되기전에 횟수의 제한 없이 업데이트 시퀀스(S100)가 수행될 수 있다.
리드 시퀀스(S200)는 업데이트 시퀀스(S100)에 의해서 최종적으로 업데이트된 인밸리드 비트 데이터(210)를 이용하여 수행될 수 있다.
도 8을 참조하면, 도 7의 업데이트 시퀀스(S100)의 세부적인 단계를 설명할 수 있다.
먼저, 호스트로부터 시큐어 파일 이레이즈 커맨드를 수신한다(S110).
구체적으로, 도 1을 참조하면, 호스트(10)는 메모리 컨트롤러(100)로 시큐어 파일 이레이즈 커맨드를 전송할 수 있다. 시큐어 파일 이레이즈 커맨드는 보안상 셀 어레이(400) 내의 데이터를 외부에서 리드할 수 없도록 하라는 커맨드일 수 있다.
다시, 도 8을 참조하면, 인밸리데이션 비트 서킷으로 인밸리드 데이터 세트 커맨드를 전송한다(S120).
구체적으로, 도 1을 참조하면, 메모리 컨트롤러(100)는 인밸리드 데이터 세트 커맨드를 인밸리데이션 비트 서킷(200)으로 전송할 수 있다. 인밸리드 데이터 세트 커맨드는 인밸리드 비트 데이터(210)를 제1 상태로 갱신시키는 커맨드일 수 있다.
다시, 도 8을 참조하면, 인밸리드 비트 데이터를 갱신한다(S130).
구체적으로, 도 1을 참조하면, 상기 시큐어 파일 이레이즈 커맨드의 대상이 되는 데이터(DATA)에 대응하는 인밸리드 비트 데이터(210)는 제1 상태로 갱신되고, 상기 제1 상태는 "1"의 단일 비트로 표시될 수 있다. 단, 본 발명의 몇몇 실시예에 따른 메모리 장치 제어 방법은 "1" 대신 ?0"으로 표현할 수 있다. 제1 상태는 제2 상태와 서로 다르게 표시되기만 하면 그 표시 방법은 아무런 제한이 없다.
도 8의 S110 및 S120 단계는 도 1의 메모리 컨트롤러(100)에 의해서 수행되고, S130 단계는 도 1의 인밸리데이션 비트 서킷(200)에 의해서 수행될 수 있다.
도 9를 참조하면, 도 7의 업데이트 시퀀스(S100)의 세부적인 단계를 설명할 수 있다. 도 9의 업데이트 시퀀스는 도 8의 업데이트 시퀀스와 병렬적이고, 독립적으로 수행될 수 있다. 즉, 도 9의 업데이트 시퀀스와 도 8의 업데이트 시퀀스는 양립 가능하고 서로 선택적인 것은 아니다. 즉, 도 8의 업데이트 시퀀스만 수행될 수도 있고, 도 9의 업데이트 시퀀스만 수행될 수도 있고, 도 8 및 도 9의 업데이트 시퀀스가 모두 수행될 수도 있다.
먼저, 호스트로부터 라이트 커맨드를 수신한다(S111).
구체적으로, 도 1을 참조하면, 호스트(10)는 메모리 컨트롤러(100)로 라이트 커맨드를 전송할 수 있다. 라이트 커맨드는 보안상 셀 어레이(400) 내의 데이터를 저장하라는 커맨드일 수 있다.
다시, 도 9를 참조하면, 인밸리데이션 비트 서킷으로 인밸리드 데이터 클린 커맨드를 전송한다(S121).
구체적으로, 도 1을 참조하면, 메모리 컨트롤러(100)는 인밸리드 데이터 클린 커맨드를 인밸리데이션 비트 서킷(200)으로 전송할 수 있다. 인밸리드 데이터 클린 커맨드는 인밸리드 비트 데이터(210)를 제2 상태로 갱신시키는 커맨드일 수 있다. 상기 제2 상태는 상기 제1 상태와 서로 다를 수 있다.
다시, 도 9를 참조하면, 인밸리드 비트 데이터를 갱신한다(S130).
구체적으로, 도 1을 참조하면, 상기 라이트 커맨드의 대상이 되는 데이터(DATA)에 대응하는 인밸리드 비트 데이터(210)는 제2 상태로 갱신되고, 상기 제2 상태는 ?0"의 단일 비트로 표시될 수 있다. 단, 본 발명의 몇몇 실시예에 따른 메모리 장치 제어 방법은 ?0" 대신 "1"로 표현할 수 있다. 제1 상태는 제2 상태와 서로 다르게 표시되기만 하면 그 표시 방법은 아무런 제한이 없다.
도 9의 S111 및 S121 단계는 도 1의 메모리 컨트롤러(100)에 의해서 수행되고, S130 단계는 도 1의 인밸리데이션 비트 서킷(200)에 의해서 수행될 수 있다.
도 7의 업데이트 시퀀스(S100)는 도 8 및 도 9의 단계들이 순서 및 횟수와 무관하게 수행되는 것을 의미할 수 있다.
도 10을 참조하면, 도 7의 리드 시퀀스(S200)의 세부적인 단계를 설명할 수 있다.
먼저, 호스트로부터 리드 커맨드를 수신한다(S210).
구체적으로, 도 1을 참조하면, 호스트(10)는 메모리 컨트롤러(100)로 리드 커맨드를 전송할 수 있다. 리드 커맨드는 셀 어레이(400) 내의 데이터를 외부로 전송하라는 커맨드일 수 있다.
다시, 도 10을 참조하면, 인밸리데이션 비트 서킷으로 리드 컨트롤 커맨드를 전송한다(S220).
구체적으로, 도 1을 참조하면, 메모리 컨트롤러(100)는 리드 컨트롤 커맨드를 인밸리데이션 비트 서킷(200)으로 전송할 수 있다. 리드 컨트롤 커맨드는 리드 동작의 차단 혹은 허용을 결정하기 위한 커맨드일 수 있다.
다시, 도 10을 참조하면, 인밸리드 비트 데이터를 체크한다(S230).
구체적으로, 도 1을 참조하면, 호스트(10)가 리드하고자 하는 데이터(DATA)에 대응하는 인밸리드 비트 데이터(210)가 제1 상태 및 제2 상태 중 어느 상태인지 체크할 수 있다.
다시, 도 10을 참조하면, 만일 인밸리드 비트 데이터가 제2 상태(CLEAN)이면, 리드 동작을 수행한다(S240).
구체적으로, 도 1을 참조하면, 셀 어레이(400) 내의 데이터(DATA)가 페이지 버퍼(600)로 이동할 수 있다.
이어서, 메모리 컨트롤러(100)에서의 리드 신호에 따라서, 데이터(DATA)가 데이터 입출력 서킷(500)으로 전송될 수 있다. 메모리 컨트롤러(100)의 열 어드레스 신호(ADDR)에 따라서, 데이터 입출력 서킷(500)은 데이터(DATA)를 호스트(10)로 전송할 수 있다.
즉, 인밸리데이션 비트 서킷(200)이 리드 동작을 차단하지 않을 수 있다.
다시, 도 10을 참조하면, 만일 인밸리드 비트 데이터가 제1 상태(SET)이면, 인밸리드 신호를 출력한다(S250).
구체적으로, 도 1을 참조하면, 인밸리데이션 비트 서킷(200)이 데이터 입출력 서킷(500)으로 인밸리드 신호(INVALID SIGNAL)를 전송할 수 있다. 즉, 호스트(10)의 리드 요청에 대해서 데이터가 없다는 응신을 하는 것으로 실질적으로 리드 동작을 차단하는 의미일 수 있다. 이와 동시에 셀 어레이(400) 내의 데이터(DATA)가 페이지 버퍼(600)로 전송되지 않을 수 있다.
본 실시예에 따른 메모리 장치 제어 방법은 호스트(10) 레벨에서 트림 커맨드 등의 명령 없이도 메모리 컨트롤러(100) 레벨에서 올드 데이터의 접근을 방지하여 보안을 개선할 수 있다.
나아가, 올드 데이터를 삭제하기 위한 스캐닝 후 데이터의 삭제 동작 및 유효 데이터(valid date)를 따로 모아주는 동작 등의 오버헤드 동작이 전혀 필요하지 않으므로, 메모리 장치의 성능 및 속도도 높게 유지할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
10: 호스트 20: 메모리 장치
100: 메모리 컨트롤러 200: 인밸리데이션 비트 서킷
210: 인밸리드 비트 데이터 300: 어드레스 디코더
400: 셀 어레이 500: 데이터 입출력 서킷
600: 페이지 버퍼
100: 메모리 컨트롤러 200: 인밸리데이션 비트 서킷
210: 인밸리드 비트 데이터 300: 어드레스 디코더
400: 셀 어레이 500: 데이터 입출력 서킷
600: 페이지 버퍼
Claims (20)
- 어드레스 디코더;
제1 워드 라인 및 제1 스트링 선택 라인을 통해 상기 어드레스 디코더와 연결된 인밸리데이션 비트 서킷(invalindation bit circuit); 및
상기 제1 워드 라인 및 제2 스트링 선택 라인을 통해 상기 인밸리데이션 비트 서킷과 연결된 셀 어레이를 포함하고,
상기 인밸리데이션 비트 서킷은 상기 제1 워드 라인 및 상기 제1 스트링 선택 라인과 분리된 연결을 통해 메모리 컨트롤러로부터 인밸리드 컨트롤 커맨드(invalid control command)를 수신하고, 상기 셀 어레이로부터 분리되어 저장된 인밸리드 비트 데이터를 서로 다른 제1 및 제2 상태 중 어느 하나로 갱신하고,
상기 메모리 컨트롤러로부터의 리드 컨트롤 커맨드(read control command)에 응답하여, 상기 인밸리데이션 비트 서킷은 상기 인밸리드 비트 데이터가 상기 제1 상태인 경우 인밸리드 신호(invalid signal)를 제공하고, 상기 인밸리드 비트 데이터가 상기 제2 상태인 경우 상기 셀 어레이에 데이터 요청을 전송하고,
상기 셀 어레이는 상기 데이터 요청을 수신하여 데이터를 제공하는 메모리 장치. - 제1 항에 있어서,
호스트로부터 리드 커맨드(read command), 라이트 커맨드(write command) 또는 시큐어 파일 이레이즈 커맨드(secure file erase command)를 수신하고, 상기 인밸리데이션 비트 서킷으로 상기 리드 컨트롤 커맨드 및 상기 인밸리드 컨트롤 커맨드를 포함하는 컨트롤 커맨드를 전송하는 메모리 컨트롤러를 더 포함하는 메모리 장치. - 제2 항에 있어서,
상기 메모리 컨트롤러는 상기 리드 커맨드를 수신하는 것에 응답하여 상기 인밸리데이션 비트 서킷으로 상기 리드 컨트롤 커맨드를 전송하고,
상기 라이트 커맨드 또는 상기 시큐어 파일 이레이즈 커맨드를 수신하는 것에 응답하여 상기 인밸리데이션 비트 서킷으로 상기 인밸리드 컨트롤 커맨드를 전송하는 메모리 장치. - 제3 항에 있어서,
상기 인밸리드 컨트롤 커맨드는 상기 인밸리드 비트 데이터를 상기 제1 상태로 갱신시키는 인밸리드 데이터 세트 커맨드와,
상기 인밸리드 비트 데이터를 상기 제2 상태로 갱신시키는 인밸리드 데이터 클린 커맨드를 포함하고,
상기 메모리 컨트롤러는 상기 시큐어 파일 이레이즈 커맨드를 수신하는 것에 응답하여 상기 인밸리드 데이터 세트 커맨드를 전송하고, 상기 라이트 커맨드를 수신하는 것에 응답하여 상기 인밸리드 데이터 클린 커맨드를 전송하는 메모리 장치. - 제1 항에 있어서,
상기 인밸리드 비트 데이터는 상기 인밸리데이션 비트 서킷의 내부에 위치하는 메모리 장치. - 제1 항에 있어서,
상기 셀 어레이와 상기 인밸리데이션 비트 서킷은 복수의 워드 라인을 서로 공유하는 메모리 장치. - 제6 항에 있어서,
상기 어드레스 디코더는 상기 메모리 컨트롤러로부터 어드레스 신호를 수신하고, 상기 복수의 워드라인 중 적어도 일부에 전압을 제공하는 메모리 장치. - 제7 항에 있어서,
상기 셀 어레이는 수직 낸드 플래쉬 메모리인 메모리 장치. - 삭제
- 호스트로부터 제1 커맨드 및 제1 어드레스 신호를 수신하는 메모리 컨트롤러;
상기 메모리 컨트롤러로부터 제2 어드레스 신호를 수신하는 어드레스 디코더;
상기 어드레스 디코더와 연결되는 제1 워드 라인 및 제1 스트링 선택 라인;
상기 제1 워드 라인 및 제2 스트링 선택 라인을 통해 상기 어드레스 디코더와 연결된 인밸리데이션 비트 서킷으로서, 상기 인밸리데이션 비트 서킷은 상기 메모리 컨트롤러와 분리되어 연결되고, 상기 메모리 컨트롤러로부터 컨트롤 커맨드를 수신하고, 상기 컨트롤 커맨드에 따라서 인밸리드 데이터 비트를 갱신하고, 상기 인밸리드 데이터 비트에 따라서 데이터의 리드 동작을 차단하는 인밸리데이션 비트 서킷; 및
제2 워드 라인 및 제2 스트링 선택 라인을 통해 상기 인밸리데이션 비트 서킷과 연결되고, 상기 데이터가 저장되는 셀 어레이를 포함하는 메모리 장치. - ◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈제10 항에 있어서,
상기 어드레스 디코더, 상기 인밸리데이션 비트 서킷 및 상기 셀 어레이와 연결되는 접지 선택 라인(ground selection line)을 더 포함하는 메모리 장치. - ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈제10 항에 있어서,
상기 인밸리데이션 비트 서킷이 상기 데이터의 리드 동작을 허용하는 경우에 상기 셀 어레이로부터 상기 데이터를 수신하는 데이터 입출력 서킷을 더 포함하는 메모리 장치. - ◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈제12 항에 있어서,
상기 인밸리데이션 비트 서킷이 상기 데이터의 리드 동작을 차단하는 것에 응답하여, 상기 인밸리데이션 비트 서킷은 상기 데이터 입출력 서킷으로 인밸리드 신호를 제공하는 메모리 장치. - ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈제12 항에 있어서,
상기 셀 어레이로부터 데이터를 전송받고, 상기 메모리 컨트롤러가 리드 신호를 주기 전까지 상기 데이터를 임시적으로 저장하는 페이지 버퍼를 더 포함하는 메모리 장치. - 프로세싱 코어;
휘발성 메모리;
메모리 모듈; 및
상기 프로세싱 코어, 상기 휘발성 메모리, 상기 메모리 모듈 및 호스트를 연결하는 버스를 포함하되,
상기 메모리 모듈은 어드레스 디코더, 상기 호스트로부터 커맨드를 수신하는 메모리 컨트롤러, 데이터가 저장되는 셀 어레이 및 인밸리데이션 비트 서킷을 포함하고,
상기 인밸리데이션 비트 서킷은 제1 워드 라인 및 제1 스트링 선택 라인을 통해 상기 어드레스 디코더와 연결되고, 제2 워드 라인 및 제2 스트링 선택 라인을 통해 상기 셀 어레이와 연결되고, 상기 메모리 컨트롤러로부터 컨트롤 커맨드를 수신하고, 상기 컨트롤 커맨드에 따라 상기 셀 어레이로부터 분리되어 저장된 인밸리드 데이터 비트를 갱신하고, 상기 인밸리드 데이터 비트에 따라 상기 호스트의 상기 커맨드를 차단하는 메모리 장치. - ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈제15 항에 있어서,
상기 인밸리데이션 비트 서킷은 상기 인밸리드 데이터 비트를 서로 다른 제1 및 제2 상태 중 어느 하나로 갱신하는 메모리 장치. - ◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈제16 항에 있어서,
상기 메모리 컨트롤러는 상기 호스트로부터 시큐어 파일 이레이즈 커맨드를 수신하면, 상기 인밸리데이션 비트 서킷으로 상기 인밸리드 데이터 비트를 상기 제1 상태로 갱신시키는 인밸리드 데이터 세트 커맨드를 전송하고,
상기 호스트로부터 리드 커맨드를 수신하면, 상기 인밸리데이션 비트 서킷으로 리드 컨트롤 커맨드를 전송하고,
상기 인밸리데이션 비트 서킷은 상기 리드 컨트롤 커맨드를 수신하면 상기 호스트의 리드 동작을 차단하는 메모리 장치. - 삭제
- ◈청구항 19은(는) 설정등록료 납부시 포기되었습니다.◈제15 항에 있어서,
상기 셀 어레이와 상기 인밸리데이션 비트 서킷은 복수의 워드 라인을 서로 공유하는 메모리 장치. - ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈제19 항에 있어서,
상기 어드레스 디코더는 상기 메모리 컨트롤러로부터 어드레스 신호를 수신하고, 상기 복수의 워드라인 중 적어도 일부에 전압을 제공하는 메모리 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170139414A KR102271502B1 (ko) | 2017-10-25 | 2017-10-25 | 메모리 장치 및 그 제어 방법 |
US15/992,230 US10664195B2 (en) | 2017-10-25 | 2018-05-30 | Memory devices and methods for controlling the same |
CN201811187661.4A CN109712660B (zh) | 2017-10-25 | 2018-10-11 | 存储器件及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170139414A KR102271502B1 (ko) | 2017-10-25 | 2017-10-25 | 메모리 장치 및 그 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190046165A KR20190046165A (ko) | 2019-05-07 |
KR102271502B1 true KR102271502B1 (ko) | 2021-07-01 |
Family
ID=66171151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170139414A KR102271502B1 (ko) | 2017-10-25 | 2017-10-25 | 메모리 장치 및 그 제어 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10664195B2 (ko) |
KR (1) | KR102271502B1 (ko) |
CN (1) | CN109712660B (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020144601A (ja) * | 2019-03-06 | 2020-09-10 | 株式会社日立製作所 | ストレージ装置及びストレージ装置のデータ消去方法 |
US11409727B2 (en) * | 2019-09-18 | 2022-08-09 | International Business Machines Corporation | Concurrent execution of database operations |
US11527291B2 (en) | 2020-02-14 | 2022-12-13 | Micron Technology, Inc | Performing a program operation based on a high voltage pulse to securely erase data |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5353256A (en) * | 1993-06-30 | 1994-10-04 | Intel Corporation | Block specific status information in a memory device |
JPH10144071A (ja) * | 1996-11-01 | 1998-05-29 | Oki Electric Ind Co Ltd | 半導体記憶装置 |
KR100261994B1 (ko) * | 1997-07-28 | 2000-07-15 | 김영환 | 플래쉬 메모리 |
JP3898305B2 (ja) | 1997-10-31 | 2007-03-28 | 富士通株式会社 | 半導体記憶装置、半導体記憶装置の制御装置及び制御方法 |
KR100284904B1 (ko) * | 1998-05-29 | 2001-05-02 | 윤종용 | 불 휘발성 반도체 메모리 장치 및 그 장치의 무효 메모리 블록데이블 세팅 방법 |
US6615324B1 (en) * | 2000-01-07 | 2003-09-02 | Cygnal Integrated Products, Inc. | Embedded microprocessor multi-level security system in flash memory |
US6868022B2 (en) * | 2003-03-28 | 2005-03-15 | Matrix Semiconductor, Inc. | Redundant memory structure using bad bit pointers |
JP3924568B2 (ja) * | 2004-02-20 | 2007-06-06 | Necエレクトロニクス株式会社 | フラッシュメモリにおけるデータアクセス制御方法、データアクセス制御プログラム |
US9207876B2 (en) | 2007-04-19 | 2015-12-08 | Microsoft Technology Licensing, Llc | Remove-on-delete technologies for solid state drive optimization |
US7826280B2 (en) * | 2008-03-28 | 2010-11-02 | Qimonda Ag | Integrated circuit and method for reading the content of a memory cell |
JP5267052B2 (ja) | 2008-10-30 | 2013-08-21 | 富士通株式会社 | 不揮発性メモリ・ドライバ |
US9658780B2 (en) * | 2011-09-16 | 2017-05-23 | Avalanche Technology, Inc. | Magnetic random access memory with dynamic random access memory (DRAM)-like interface |
JP5659178B2 (ja) | 2012-03-16 | 2015-01-28 | 株式会社東芝 | 不揮発性記憶装置及び不揮発性メモリの制御方法 |
JP5435107B2 (ja) * | 2012-11-22 | 2014-03-05 | 富士通株式会社 | 不揮発性メモリ・ドライバ |
KR102053953B1 (ko) * | 2013-02-04 | 2019-12-11 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 프로그램 방법 |
US9304685B2 (en) * | 2013-09-10 | 2016-04-05 | Kabushiki Kaisha Toshiba | Storage array system and non-transitory recording medium storing control program |
JP2016012335A (ja) | 2014-06-05 | 2016-01-21 | 株式会社Genusion | 記憶装置及び記憶装置システム並びに情報端末 |
US9666286B2 (en) * | 2014-09-28 | 2017-05-30 | Aplus Flash Technology, Inc. | Self-timed SLC NAND pipeline and concurrent program without verification |
JP2015053075A (ja) | 2014-11-10 | 2015-03-19 | 株式会社東芝 | メモリシステム、情報処理装置および記憶装置 |
US10261725B2 (en) | 2015-04-10 | 2019-04-16 | Toshiba Memory Corporation | Storage system capable of invalidating data stored in a storage device thereof |
KR20170026831A (ko) * | 2015-08-28 | 2017-03-09 | 에스케이하이닉스 주식회사 | 불휘발성 메모리 장치, 그것을 포함하는 데이터 저장 장치 그리고 데이터 저장 장치의 동작 방법. |
US9891833B2 (en) | 2015-10-22 | 2018-02-13 | HoneycombData Inc. | Eliminating garbage collection in nand flash devices |
KR20170056766A (ko) * | 2015-11-13 | 2017-05-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
JP6512091B2 (ja) | 2015-12-22 | 2019-05-15 | 株式会社デンソー | 情報管理装置、情報管理方法及び情報管理プログラム |
KR102545166B1 (ko) * | 2016-07-26 | 2023-06-19 | 삼성전자주식회사 | 파일을 안전하게 삭제하는 호스트, 스토리지 시스템 및 호스트의 동작방법 |
-
2017
- 2017-10-25 KR KR1020170139414A patent/KR102271502B1/ko active IP Right Grant
-
2018
- 2018-05-30 US US15/992,230 patent/US10664195B2/en active Active
- 2018-10-11 CN CN201811187661.4A patent/CN109712660B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US10664195B2 (en) | 2020-05-26 |
KR20190046165A (ko) | 2019-05-07 |
CN109712660A (zh) | 2019-05-03 |
US20190121579A1 (en) | 2019-04-25 |
CN109712660B (zh) | 2024-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102319189B1 (ko) | 스토리지 장치, 이를 포함하는 스토리지 시스템 및 스토리지 장치의 동작 방법 | |
KR20130128694A (ko) | 불휘발성 메모리 장치 및 그것의 프로그램 방법 | |
KR20190078962A (ko) | 파일 단위의 암호화 키에 기반하여 암호화를 수행하도록 구성되는 스토리지 장치, 스토리지 시스템, 및 그 동작 방법 | |
KR20130128685A (ko) | 불휘발성 메모리 장치 및 그것의 프로그램 방법 | |
CN110888597B (zh) | 存储设备、存储系统以及操作存储设备的方法 | |
US11461041B2 (en) | Storage device that receives inode address information to reduce external communication overhead | |
US11556271B2 (en) | Storage device storing data on key-value basis and operating method thereof | |
US11733891B2 (en) | Storage device storing data based on key-value and operating method of the same | |
KR20200086143A (ko) | 저장 장치 및 그것의 데이터 처리 방법 | |
KR20200050169A (ko) | 스토리지 장치, 스토리지 시스템 및 스토리지 장치의 동작 방법 | |
KR20140001535A (ko) | 스토리지 시스템 및 그것의 데이터 관리 방법 | |
KR102271502B1 (ko) | 메모리 장치 및 그 제어 방법 | |
KR102637478B1 (ko) | 오픈 채널 솔리드 스테이트 드라이브, 이를 포함하는 비휘발성 메모리 시스템 및 오픈 채널 솔리드 스테이트 드라이브의 파워 로스 프로텍션 방법 | |
TWI716381B (zh) | 資料處理系統 | |
KR102306853B1 (ko) | 호스트 장치가 스토리지 장치를 제어하는 방법 및 호스트 장치와 스토리지 장치를 포함하는 메모리 시스템 | |
US11675504B2 (en) | Memory controller, memory system including the same, and method of operating the same | |
KR20200113990A (ko) | 메모리 시스템 내 메모리 장치의 동작 상태를 확인하는 방법 및 장치 | |
US20240119009A1 (en) | Memory controller with improved mapping information management, memory system including the same, and operating method of memory controller | |
KR20220012435A (ko) | 비휘발성 메모리 장치, 그것의 동작 방법, 그것을 제어하는 제어기, 및 그것을 포함하는 저장 장치 | |
KR102704901B1 (ko) | 스토리지 장치 및 이의 호스트 | |
KR20240143315A (ko) | L2p 매핑 유닛을 저장하는 버퍼를 관리하는 스토리지 장치 및 그 동작 방법 | |
KR20240065774A (ko) | 네임스페이스의 순차성을 기초로 논리 주소를 변환하는 스토리지 장치 및 그 동작 방법 | |
KR20230027957A (ko) | 호스트 및 스토리지 장치를 포함하는 스토리지 시스템 및 이의 동작 방법 | |
KR20240135892A (ko) | 더미 데이터가 오버라이트된 타깃 페이지의 어드레스 정보를 저장하는 스토리지 장치 및 그 동작 방법 | |
KR20240151335A (ko) | 다운-타임 모드 진입 시 업데이트 타깃 데이터 유닛을 캐시하는 스토리지 장치 및 그 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |