KR20190046165A - 메모리 장치 및 그 제어 방법 - Google Patents

메모리 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20190046165A
KR20190046165A KR1020170139414A KR20170139414A KR20190046165A KR 20190046165 A KR20190046165 A KR 20190046165A KR 1020170139414 A KR1020170139414 A KR 1020170139414A KR 20170139414 A KR20170139414 A KR 20170139414A KR 20190046165 A KR20190046165 A KR 20190046165A
Authority
KR
South Korea
Prior art keywords
data
bit
command
receiving
memory controller
Prior art date
Application number
KR1020170139414A
Other languages
English (en)
Other versions
KR102271502B1 (ko
Inventor
김혜주
손효봉
이미향
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020170139414A priority Critical patent/KR102271502B1/ko
Priority to US15/992,230 priority patent/US10664195B2/en
Priority to CN201811187661.4A priority patent/CN109712660B/zh
Publication of KR20190046165A publication Critical patent/KR20190046165A/ko
Application granted granted Critical
Publication of KR102271502B1 publication Critical patent/KR102271502B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5671Digital 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B43/00EEPROM devices comprising charge-trapping gate insulators
    • H10B43/20EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
    • H10B43/23EEPROM 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/27EEPROM 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

메모리 장치 및 그 제어 방법{Memory Device and method for control the same}
본 발명은 메모리 장치 및 그 제어 방법에 관한 것이다.
비휘발성 메모리(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의 몇몇 실시예들에 따른 메모리 장치 제어 방법의 리드 시퀀스를 세부적으로 설명하기 위한 순서도이다.
이하에서, 도 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: 페이지 버퍼

Claims (20)

  1. 메모리 컨트롤러로부터 인밸리드 컨트롤 커맨드(invalid control command)를 수신하여 인밸리드 비트 데이터(invalid bit data)를 서로 다른 제1 및 제2 상태 중 어느 하나로 갱신하고,
    상기 메모리 컨트롤러로부터 리드 컨트롤 커맨드(read control command)를 수신하여 상기 인밸리드 비트 데이터가 제1 상태인 경우, 인밸리드 신호(invalid signal)를 제공하고,
    상기 인밸리드 비트 데이터가 상기 제2 상태인 경우 데이터 요청을 전송하는 인밸리데이션 비트 서킷(invalindation bit circuit); 및
    상기 데이터 요청을 수신하여 데이터를 제공하는 셀 어레이를 포함하는 메모리 장치.
  2. 제1 항에 있어서,
    호스트로부터 리드 커맨드(read command), 라이트 커맨드(write command) 또는 시큐어 파일 이레이즈 커맨드(secure file erase command)를 수신하고, 상기 인밸리데이션 비트 서킷으로 상기 리드 컨트롤 커맨드 및 상기 인밸리드 컨트롤 커맨드를 포함하는 컨트롤 커맨드를 전송하는 메모리 컨트롤러를 더 포함하는 메모리 장치.
  3. 제2 항에 있어서,
    상기 메모리 컨트롤러는 상기 리드 커맨드를 수신하면 상기 인밸리데이션 비트 서킷으로 상기 리드 컨트롤 커맨드를 전송하고,
    상기 라이트 커맨드 또는 상기 시큐어 파일 이레이즈 커맨드를 수신하면 상기 인밸리데이션 비트 서킷으로 상기 인밸리드 컨트롤 커맨드를 전송하는 메모리 장치.
  4. 제3 항에 있어서,
    상기 인밸리드 컨트롤 커맨드는 상기 인밸리드 비트 데이터를 상기 제1 상태로 갱신시키는 인밸리드 데이터 세트 커맨드와,
    상기 인밸리드 비트 데이터를 상기 제2 상태로 갱신시키는 인밸리드 데이터 클린 커맨드를 포함하고,
    상기 메모리 컨트롤러는 상기 시큐어 파일 이레이즈 커맨드를 수신하면 상기 인밸리드 데이터 세트 커맨드를 전송하고, 상기 라이트 커맨드를 수신하면 상기 인밸리드 데이터 클린 커맨드를 전송하는 메모리 장치.
  5. 제1 항에 있어서,
    상기 인밸리드 비트 데이터는 상기 인밸리데이션 비트 서킷의 내부에 위치하는 메모리 장치.
  6. 제1 항에 있어서,
    상기 셀 어레이와 상기 인밸리데이션 비트 서킷은 복수의 워드 라인을 서로 공유하는 메모리 장치.
  7. 제6 항에 있어서,
    상기 메모리 컨트롤러로부터 어드레스 신호를 수신하고, 상기 복수의 워드라인 중 적어도 일부에 전압을 제공하는 어드레스 디코더를 더 포함하는 메모리 장치.
  8. 제6 항에 있어서,
    상기 셀 어레이는 수직 낸드 플래쉬 메모리인 메모리 장치.
  9. 제8 항에 있어서,
    상기 셀 어레이와 상기 인밸리데이션 비트 서킷은 복수의 스트링 선택 라인(string selection line)을 서로 공유하고,
    상기 어드레스 디코더는 상기 복수의 스트링 선택 라인 중 일부에 전압을 제공하는 메모리 장치.
  10. 호스트로부터 커맨드 및 어드레스 신호를 수신하는 메모리 컨트롤러;
    상기 메모리 컨트롤러로부터 어드레스 신호를 수신하는 어드레스 디코더;
    상기 어드레스 디코더와 연결되는 워드 라인 및 스트링 선택 라인;
    상기 워드 라인 및 스트링 선택 라인과 연결되고, 상기 메모리 컨트롤러로부터 컨트롤 커맨드를 수신하는 인밸리데이션 비트 서킷으로서, 상기 인밸리데이션 비트 서킷은 상기 컨트롤 커맨드에 따라서 인밸리드 데이터 비트를 갱신하고, 상기 인밸리드 데이터 비트에 따라서 데이터의 리드 동작을 차단하는 인밸리데이션 비트 서킷; 및
    상기 워드 라인 및 스트링 선택 라인과 연결되고, 상기 데이터가 저장되는 셀 어레이를 포함하는 메모리 장치.
  11. 제10 항에 있어서,
    상기 어드레스 디코더, 상기 인밸리데이션 비트 서킷 및 상기 셀 어레이와 연결되는 접지 선택 라인(ground selection line)을 더 포함하는 메모리 장치.
  12. 제10 항에 있어서,
    상기 인밸리데이션 비트 서킷이 상기 데이터의 리드 동작을 허용하는 경우에 상기 셀 어레이로부터 상기 데이터를 수신하는 데이터 입출력 서킷을 더 포함하는 메모리 장치.
  13. 제12 항에 있어서,
    상기 인밸리데이션 비트 서킷이 상기 데이터의 리드 동작을 차단하는 경우에, 상기 인밸리데이션 비트 서킷은 상기 데이터 입출력 서킷으로 인밸리드 신호를 제공하는 메모리 장치.
  14. 제12 항에 있어서,
    상기 셀 어레이로부터 데이터를 전송 받고, 상기 메모리 컨트롤러가 리드 신호를 주기 전까지 상기 데이터를 임시적으로 저장하는 페이지 버퍼를 더 포함하는 메모리 장치.
  15. 프로세싱 코어;
    휘발성 메모리;
    메모리 모듈; 및
    상기 프로세싱 코어, 상기 휘발성 메모리, 상기 메모리 모듈 및 호스트를 연결하는 버스를 포함하되,
    상기 메모리 모듈은 상기 호스트로부터 커맨드를 수신하는 메모리 컨트롤러와,
    상기 메모리 컨트롤러로부터 컨트롤 커맨드를 수신하고, 상기 컨트롤 커맨드에 따라서 인밸리드 데이터 비트를 갱신하고, 상기 인밸리드 데이터 비트에 따라서 상기 호스트의 리드 커맨드를 차단하는 인밸리데이션 비트 서킷을 포함하는 메모리 장치.
  16. 제15 항에 있어서,
    상기 인밸리데이션 비트 서킷은 상기 인밸리드 데이터 비트를 서로 다른 제1 및 제2 상태 중 어느 하나로 갱신하는 메모리 장치.
  17. 제16 항에 있어서,
    상기 메모리 컨트롤러는 상기 호스트로부터 시큐어 파일 이레이즈 커맨드를 수신하면, 상기 인밸리데이션 비트 서킷으로 상기 인밸리드 비트 데이터를 상기 제1 상태로 갱신시키는 인밸리드 데이터 세트 커맨드를 전송하고,
    상기 호스트로부터 리드 커맨드를 수신하면, 상기 인밸리데이션 비트 서킷으로 리드 컨트롤 커맨드를 전송하고,
    상기 인밸리데이션 비트 서킷은 상기 리드 컨트롤 커맨드를 수신하면 상기 호스트의 리드 동작을 차단하는 메모리 장치.
  18. 제15 항에 있어서,
    상기 메모리 모듈은 상기 인밸리데이션 비트 서킷과 연결되고, 데이터를 저장하는 셀 어레이를 포함하는 메모리 장치.
  19. 제18 항에 있어서,
    상기 셀 어레이와 상기 인밸리데이션 비트 서킷은 복수의 워드 라인을 서로 공유하는 메모리 장치.
  20. 제19 항에 있어서,
    상기 메모리 컨트롤러로부터 어드레스 신호를 수신하고, 상기 복수의 워드라인 중 적어도 일부에 전압을 제공하는 어드레스 디코더를 더 포함하는 메모리 장치.
KR1020170139414A 2017-10-25 2017-10-25 메모리 장치 및 그 제어 방법 KR102271502B1 (ko)

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 true KR20190046165A (ko) 2019-05-07
KR102271502B1 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021163589A1 (en) * 2020-02-14 2021-08-19 Micron Technology, Inc. Performing a program operation based on a high voltage pulse to securely erase data

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020144601A (ja) * 2019-03-06 2020-09-10 株式会社日立製作所 ストレージ装置及びストレージ装置のデータ消去方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7284106B1 (en) * 2000-01-07 2007-10-16 Silicon Labs Cp, Inc. Method and apparatus for protecting internal memory from external access
US7826280B2 (en) * 2008-03-28 2010-11-02 Qimonda Ag Integrated circuit and method for reading the content of a memory cell
US9658780B2 (en) * 2011-09-16 2017-05-23 Avalanche Technology, Inc. Magnetic random access memory with dynamic random access memory (DRAM)-like interface
US9666286B2 (en) * 2014-09-28 2017-05-30 Aplus Flash Technology, Inc. Self-timed SLC NAND pipeline and concurrent program without verification

Family Cites Families (21)

* Cited by examiner, † Cited by third party
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 윤종용 불 휘발성 반도체 메모리 장치 및 그 장치의 무효 메모리 블록데이블 세팅 방법
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
JP5267052B2 (ja) 2008-10-30 2013-08-21 富士通株式会社 不揮発性メモリ・ドライバ
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 記憶装置及び記憶装置システム並びに情報端末
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 삼성전자주식회사 파일을 안전하게 삭제하는 호스트, 스토리지 시스템 및 호스트의 동작방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7284106B1 (en) * 2000-01-07 2007-10-16 Silicon Labs Cp, Inc. Method and apparatus for protecting internal memory from external access
US7826280B2 (en) * 2008-03-28 2010-11-02 Qimonda Ag Integrated circuit and method for reading the content of a memory cell
US9658780B2 (en) * 2011-09-16 2017-05-23 Avalanche Technology, Inc. Magnetic random access memory with dynamic random access memory (DRAM)-like interface
US9666286B2 (en) * 2014-09-28 2017-05-30 Aplus Flash Technology, Inc. Self-timed SLC NAND pipeline and concurrent program without verification

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021163589A1 (en) * 2020-02-14 2021-08-19 Micron Technology, Inc. Performing a program operation based on a high voltage pulse to securely erase data
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
US11942160B2 (en) 2020-02-14 2024-03-26 Micron Technology, Inc. Performing a program operation based on a high voltage pulse to securely erase data

Also Published As

Publication number Publication date
US20190121579A1 (en) 2019-04-25
CN109712660A (zh) 2019-05-03
KR102271502B1 (ko) 2021-07-01
US10664195B2 (en) 2020-05-26
CN109712660B (zh) 2024-06-04

Similar Documents

Publication Publication Date Title
US11714578B2 (en) Method of operating storage device, storage device performing the same and method of operating storage system using the same
KR20130128694A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR20130128685A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR20180138336A (ko) 스토리지 장치, 이를 포함하는 스토리지 시스템 및 스토리지 장치의 동작 방법
KR20190099693A (ko) 메모리 시스템 및 그것의 동작 방법
KR20160050393A (ko) 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
EP3663926B1 (en) Open channel solid state drive, nonvolatile memory system including the same and method of power loss protection of open channel solid state drive
KR20200050169A (ko) 스토리지 장치, 스토리지 시스템 및 스토리지 장치의 동작 방법
KR20140001535A (ko) 스토리지 시스템 및 그것의 데이터 관리 방법
KR102626048B1 (ko) 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법
KR102271502B1 (ko) 메모리 장치 및 그 제어 방법
KR102306853B1 (ko) 호스트 장치가 스토리지 장치를 제어하는 방법 및 호스트 장치와 스토리지 장치를 포함하는 메모리 시스템
KR20220126024A (ko) 호스트 장치 및 스토리지 장치 사이의 시간 동기화 방법 및 이를 수행하는 시스템
KR20220065296A (ko) 비휘발성 메모리 장치의 블록 내구성 측정 방법 및 이를 이용한 스토리지 장치의 웨어 레벨링 방법
KR20220012435A (ko) 비휘발성 메모리 장치, 그것의 동작 방법, 그것을 제어하는 제어기, 및 그것을 포함하는 저장 장치
EP3955116B1 (en) Memory controller, and memory system including the same
CN116126222A (zh) 包括非易失性存储器装置的存储装置
KR20230068935A (ko) 스토리지 장치 및 그 구동 방법
KR20220138760A (ko) 컨트롤러 및 이를 포함하는 메모리 시스템
EP4350526A1 (en) Memory controller with improved mapping information management, memory system including the same, and operating method of memory controller
EP4184332A1 (en) Storage controller and storage device including the same
KR20230059239A (ko) 스토리지 장치
KR20180025788A (ko) 스토리지 장치 및 이의 호스트
KR20160024530A (ko) 반도체 장치 및 이의 동작 방법
KR20230092226A (ko) 스토리지 장치 및 전자 시스템의 동작 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right