KR20150143150A - 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법 - Google Patents

메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법 Download PDF

Info

Publication number
KR20150143150A
KR20150143150A KR1020140072296A KR20140072296A KR20150143150A KR 20150143150 A KR20150143150 A KR 20150143150A KR 1020140072296 A KR1020140072296 A KR 1020140072296A KR 20140072296 A KR20140072296 A KR 20140072296A KR 20150143150 A KR20150143150 A KR 20150143150A
Authority
KR
South Korea
Prior art keywords
authentication
memory
memory device
functional block
response
Prior art date
Application number
KR1020140072296A
Other languages
English (en)
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 KR1020140072296A priority Critical patent/KR20150143150A/ko
Priority to US14/725,542 priority patent/US20150363336A1/en
Publication of KR20150143150A publication Critical patent/KR20150143150A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • 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/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/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
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법이 개시된다. 본 발명의 일 실시예에 따른 메모리 시스템의 동작 방법은, 제1 기능 블록(function block) 및 제2 기능 블록을 포함하는 메모리 시스템(memory system)의 동작 방법으로, 상기 제1 기능 블록으로부터 수신되는 제1 인증 요청에 응답하여, 상기 제2 기능 블록이 상기 메모리 시스템의 물리적 특징을 나타내는 제1 인증 응답을 생성하는 단계; 상기 제1 인증 요청에 대응되는 제1 패리티 데이터(parity data)를 이용하여, 상기 제1 기능 블록이 수신된 상기 제1 인증 응답을 에러 정정 디코딩(error correction decoding) 하는 단계; 및 상기 에러 정정 디코딩의 성공 여부에 따라, 상기 제2 기능 블록에 대한 인증 여부를 달리하는 단계를 포함한다.

Description

메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법{Memory device, memory system and operating method of memory system}
본 발명의 기술적 사상은, 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법에 관한 것으로, 자세하게는 보안 기능이 수행될 수 있는 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법에 관한 것이다.
인터넷 및 네트워크의 발전에 따라 임의의 장치에서의 보안이 중요시 되고 있다. 특히, 인터넷 및 네트워크를 이용한 개인 정보 사용 및 금전 거래 등이 빈번히 사용됨에 따라, 각종 정보를 저장하고 있는 메모리 장치에 대한 액세스 등을 보호해야 하는 이슈가 제기된다.
본 발명의 기술적 사상은 보안 기능이 수행될 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법을 제공하는데 있다.
본 발명의 일 실시예에 따른 메모리 시스템의 동작 방법은, 제1 기능 블록(function block) 및 제2 기능 블록을 포함하는 메모리 시스템(memory system)의 동작 방법으로, 상기 제1 기능 블록으로부터 수신되는 제1 인증 요청에 응답하여, 상기 제2 기능 블록이 상기 메모리 시스템의 물리적 특징을 나타내는 제1 인증 응답을 생성하는 단계; 상기 제1 인증 요청에 대응되는 제1 패리티 데이터(parity data)를 이용하여, 상기 제1 기능 블록이 수신된 상기 제1 인증 응답을 에러 정정 디코딩(error correction decoding) 하는 단계; 및 상기 에러 정정 디코딩의 성공 여부에 따라, 상기 제2 기능 블록에 대한 인증 여부를 달리하는 단계를 포함한다.
상기 제1 기능 블록은 메모리 컨트롤러(memory controller)이고, 상기 제2 기능 블록은 비휘발성 메모리 이며, 상기 제1 인증 응답을 생성하는 단계는, 상기 비휘발성 메모리 장치가, 상기 제1 인증 요청에 대응되는 어드레스에 전압을 인가하여 프로그램 한 후 독출하여 상기 제1 인증 응답으로 처리하는 단계를 포함할 수 있다.
상기 메모리 컨트롤러가, 상기 메모리 컨트롤러에 저장된 제1 테이블(table)로부터 상기 제1 패리티 데이터를 검색하는 단계를 더 포함할 수 있다.
상기 메모리 컨트롤러가, 상기 메모리 시스템의 외부로부터 상기 제1 패리티 데이터를 수신하는 단계를 더 포함할 수 있다.
상기 제2 기능 블록에 대한 인증 여부를 달리하는 단계는, 상기 메모리 컨트롤러가, 상기 에러 정정 디코딩이 성공하면, 상기 비휘발성 메모리 장치를 인증할 수 있다.
상기 비휘발성 메모리 장치가, 상기 제1 인증 응답과 함께, 상기 제1 인증 응답을 에러 정정 인코딩(error correction encoding)한 제2 패리티 데이터를, 상기 메모리 컨트롤러로 전송하는 단계를 더 포함하고, 상기 제1 인증 응답을 에러 정정 디코딩하는 단계는, 상기 제2 패리티 데이터를 이용하여 상기 제1 인증 응답의 에러를 처리한 후 수행될 수 있다.
적어도 둘 이상의 서브 인증 요청을 포함하여 상기 제1 인증 요청을 생성하는 단계를 더 포함하고, 상기 제1 인증 응답을 생성하는 단계는, 상기 메모리 시스템에 설정된 서브 인증 요청 중 상기 적어도 둘 이상의 서브 인증 요청 각각에 대응되는 서브 인증 응답을 생성하는 단계; 및 상기 적어도 둘 이상의 서브 인증 요청 각각에 대응되는 서브 인증 응답을 상기 제1 인증 응답으로 결합하는 단계를 포함할 수 있다.
상기 메모리 시스템에 설정된 서브 인증 요청의 개수는, 상기 메모리 셀 어레이에 상기 인증 데이터를 저장하도록 설정된 공간의 크기 및 상기 서브 인증 응답의 크기에 대응될 수 있다.
상기 메모리 셀 어레이에 상기 인증 데이터를 저장하도록 설정된 공간의 크기가 N(N은 양의 정수)이고, 상기 서브 인증 응답의 크기가 R(R은 N 이하의 양의 정수)이면, 상기 메모리 시스템에 설정된 인증 요청-응답 쌍(pair)의 개수는 C(C=N/R)이고, 상기 제1 인증 요청에 포함되는 서브 인증 요청의 개수가 K(K는 양의 정수)이면, 상기 메모리 시스템에서 사용할 수 있는 인증 요청-응답 쌍의 개수는 C에서 K를 선택하는 방법의 개수일 수 있다.
상기 제1 인증 응답으로 결합하는 단계는, PRNG(Pseudo Random Number Generator) 및 AES(Advanced Encryption Standard) 중 적어도 하나를 이용하여, 상기 적어도 둘 이상의 서브 인증 요청 각각에 대응되는 서브 인증 응답을 랜덤 시퀀스(random sequence)로 결합하는 단계를 포함할 수 있다.
상기 제1 기능 블록은 비휘발성 메모리 장치이고, 상기 제2 기능 블록은 메모리 컨트롤러이며, 상기 제1 인증 응답을 생성하는 단계는, 상기 메모리 컨트롤러가, 제1 테이블로부터 상기 제1 인증 요청에 대응되는 제1 패리티 데이터를 검색하는 단계; 및 상기 메모리 컨트롤러가, 상기 제1 인증 요청에 대응되는 상기 제1 인증 응답과 상기 제1 패리티 데이터를 상기 비휘발성 메모리 장치로 전송하는 단계를 포함할 수 있다.
상기 제1 인증 응답을 에러 정정 디코딩 하는 단계는, 상기 비휘발성 메모리 장치가, 상기 메모리 컨트롤러로부터 수신된 상기 제1 패리티 데이터를 이용하여 상기 제1 인증 응답에 대한 에러 정정 디코딩을 수행하는 단계를 포함할 수 있다.
상기 제2 기능 블록에 대한 인증 여부를 달리하는 단계는, 상기 메모리 장치가, 상기 에러 정정 디코딩이 성공하면, 상기 메모리 컨트롤러를 인증할 수 있다.
상기 제1 기능 블록 및 상기 제2 기능 블록 중 적어도 하나는, NAND 플래시 메모리 장치(NAND flash memory device)일 수 있다.
본 발명의 실시예에 따른 메모리 장치의 동작 방법은, 메모리 장치가, 각각, 상기 다수의 인증 요청 중 적어도 둘 이상의 인증 요청이 결합된 결합 인증 요청에 응답하여, 상기 메모리 장치의 물리적 특징을 나타내고, 다수의 인증 요청에 각각 대응되는, 다수의 인증 응답을 생성하는 단계; 및 상기 메모리 장치가, 상기 결합 인증 요청에 포함된 적어도 둘 이상의 인증 요청 각각과 쌍을 이루는 인증 응답을, 상기 결합 인증 요청에 대한 결합 인증 응답으로 출력하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법에 의하면, 물리적 복제 방지 기능(Physical Unclonable Function)을 수행하는데 사용되는 보안 키를 저장하는데 요구되는 저장 공간의 크기를 줄일 수 있는 장점이 있다.
본 발명의 일 실시예에 따른 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법에 의하면, 물리적 복제 방지 기능(Physical Unclonable Function)을 수행하는데 사용되는 보안 키의 개수가 제한되더라도 보안 키의 조합에 의해 보안 기능을 강화할 수 있는 장점이 있다.
본 발명의 일 실시예에 따른 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법에 의하면, 메모리 장치에 의해 저장되는 각종 정보에 대한 보안을 수행할 수 있다.
본 발명의 일 실시예에 따른 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법에 의하면, 메모리 컨트롤러와 메모리 장치 사이의 인증을 통해, 메모리 시스템의 성능을 보장할 수 있다.
본 발명의 일 실시예에 따른 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법에 의하면, 메모리 컨트롤러의 복제를 방지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템의 동작 방법을 나타내는 순서도이다.
도 2는 본 발명의 일 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 3은 도 2의 메모리 시스템의 일 예를 나타내는 도면이다.
도 4은 도 2의 메모리 시스템의 구현 예를 나타내는 도면이다.
도 5a 및 도 5b는 각각, 도 3의 메모리 장치의 셀 어레이의 일 예를 나타내는 도면이다.
도 6은 도 3의 메모리 시스템에서의 인증 동작의 예를 설명하는 도면이다.
도 7은 도 3의 메모리 시스템에서의 인증 동작의 다른 예를 설명하는 도면이다.
도 8 및 도 9는 각각, 도 3의 메모리 시스템의 일 예를 나타내는 도면이다.
도 10은 본 발명의 다른 실시예에 따른 메모리 시스템을 나타내는 도면이다.
도 11은 각각, 본 발명의 다른 실시예에 따른 메모리 시스템의 동작 방법을 나타내는 도면이다.
도 12 및 도 13은 각각, 본 발명의 일 실시예에 따른 인증 요청-응답 쌍을 생성하는 메모리 시스템 및 방법을 나타내는 순서도이다.
도 14는 도 3의 메모리 장치의 일 예를 나타내는 도면이다.
도 15는 본 발명의 실시예에 따른 메모리 카드의 예를 나타내는 도면이다.
도 16은 도 4의 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템의 동작 방법을 나타내는 순서도이고, 도 2는 본 발명의 일 실시예에 따른 메모리 시스템을 나타내는 블록도이다. 도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 메모리 시스템(200)의 동작 방법은, 제1 기능 블록(FBL1)으로부터 수신되는 제1 인증 요청(CHL)에 응답하여, 제2 기능 블록(FBL2)이 메모리 시스템(200)의 물리적 특징을 나타내는 제1 인증 응답(RSP)을 생성하는 단계 (S120), 제1 인증 요청(CHL)에 대응되는 제1 패리티 데이터(parity data)를 이용하여 제1 인증 응답(RSP)을 에러 정정 디코딩(error correction decoding) 하는 단계(S140) 및 에러 정정 디코딩의 성공 여부에 따라 제2 기능 블록(FBL2)에 대한 인증 여부를 달리하는 단계(S160)를 포함한다. 이때, 에러 정정 디코딩은 ECC(Error Check and Correction) 알고리즘에 의한 디코딩일 수 있다.
도 3는 도 2의 메모리 시스템의 일 예를 나타내는 도면이다. 도 3을 참조하면, 일 실시예에 따른 메모리 시스템(200)은 제1 기능 블록(FBL1)으로 메모리 컨트롤러(300)를 포함하고, 제2 기능 블록(FBL2)으로 메모리 장치(400)를 포함할 수 있다. 메모리 컨트롤러(300)는 각종 신호들을 메모리 장치(400)로 제공하여 메모리 동작을 제어한다. 예를 들어, 메모리 컨트롤러(300)는 클록 신호(CLK), 칩 선택신호(CS), 명령(CMD) 및 어드레스(Addr) 등을 메모리 장치(400)로 제공하며, 또한 기입 및 독출 동작을 위한 데이터(DTA)가 메모리 컨트롤러(300)와 메모리 장치(400) 사이에서 송수신된다.
메모리 장치(400)는 메모리 컨트롤러(300)로부터 인가되는 클록 신호(CLK), 칩 선택신호(CS), 명령(CMD) 및 어드레스(Addr) 등을 수신할 수 있고, 데이터(DTA)를 송수신할 수 있다. 메모리 장치(400)는 셀 어레이(440) 및 제어부(420)를 포함할 수 있다. 셀 어레이(440)는 다수의 메모리 셀(MC)들을 포함할 수 있고, 워드라인(WL) 및 비트라인(BL)에 의해서 액세스될 수 있다. 도 3의 메모리 장치(400)는 플래시 메모리 장치, 예를 들어, 낸드(NAND) 플래시 메모리 장치일 수 있다. 이 경우, 메모리 셀(MC)은 각각, 플로팅 게이트 트랜지스터(floating gate transistor)를 포함할 수 있고 동일한 워드라인(WL)에 연결된 복수개의 메모리 셀들을 페이지(PG)이라 부를 수 있다. 메모리 셀(MC)은 적어도 둘 이상의 상태들 사이에서 천이될 수 있는 메모리 단위로서, 각각의 상태는 데이터에 대응할 수 있다. 또한, 메모리 셀(MC)은 메모리 장치(400)로의 전력 공급이 차단되어도 기존 상태를 유지함으로써 프로그램 된 데이터를 유지할 수 있다. 이하에서, 메모리 장치(400)는 낸드 플래시 메모리 장치인 것으로 전제하지만, 이에 제한되는 것은 아니다.
제어부(420)는 메모리 컨트롤러(300)로부터 수신되는 클럭 신호(CLK)에 동기되어, 메모리 컨트롤러(300)로부터 수신되는 명령(CMD), 주소(Addr) 또는 데이터(DTA)에 따라, 셀 어레이(440)에 대한 동작을 수행할 수 있다. 제어부(420)는 또한, 이하에서 후술되는 인증 동작을 수행하기 위해 메모리 장치(400)로 인가되는 제1 인증 요청(CHL)에 응답하여, 셀 어레이(440)로부터 제1 인증 요청(CHL)에 대응되는 어드레스(Addr)에 저장된 데이터를 독출하여, 이를 제1 인증 응답(RSP)으로 처리할 있다. 이와 같은 동작을 수행하기 위해, 도 3에 도시되지는 아니하였으나, 메모리 장치(400)는 어드레스(Addr)에 대응되는 메모리 셀(MC)을 선택하기 위한 디코더(미도시), 선택된 메모리 셀(MC)에 대한 명령(CMD)에 따른 동작을 수행하기 위해 워드 라인(WL) 등으로 동작 전압을 인가하는 드라이버(미도시), 동작 전압을 생성하는 전압 생성부(미도시), 및 데이터(DTA)를 수신하거나 송신하는 데이터 입출력부(미도시) 등이 더 구비될 수 있다.
도 3의 메모리 장치(400)가 플래시 메모리 장치, 예를 들어, 낸드(NAND) 플래시 메모리 장치인 경우, 도 3의 메모리 시스템(200)의 일 예를 나타내는 도 4에 도시되는 바와 같이, 도 4의 메모리 시스템(200)은 SSD(Solid State Drive)로 구현될 수 있다. 도 4를 참조하면, SSD(MSYS)는 SSD 컨트롤러(SCtrl) 및 적어도 하나 이상의 플래시 메모리 장치(MDEV)를 포함한다. SSD 컨트롤러(SCtrl)는 SSD(MSYS)의 제1 포트(PT1)를 통해 호스트 장치(HOST)로부터 수신되는 신호(SIG)에 응답하여 메모리 장치(MDEV)를 제어한다. SSD 컨트롤러(SCtrl)는 다수의 채널(Ch1~CHn)을 통해 플래시 메모리 장치(MDEV)와 연결될 수 있다. SSD(MSYS)는 보조 전원 장치(DSP)를 더 구비하여 제2 포트(PT2)를 통해 호스트 장치(HOST)로부터 전원(PWR)을 입력 받을 수 있다. 다만, 이에 한정되는 것은 아니고, SSD(MSYS)는 호스트 장치(HOST) 이외의 외부 장치로부터 전원을 공급받을 수 있다. SSD(MSYS)는 제1 포트(PT1)를 통해 호스트 장치(HOST)의 요청을 처리한 결과(SIG)를 출력할 수 있다.
그런데, 인터넷 및 네트워크의 발전에 따라 임의의 장치에서의 보안이 중요시 되고 있다. 특히, 인터넷 및 네트워크를 이용한 개인 정보 사용 및 금전 거래 등이 빈번히 사용됨에 따라, 각종 정보를 저장하고 있는 메모리 장치에 대한 액세스가 제어되어야 한다. 이때, 각각의 메모리 장치(400)에 대한 직접적인 액세스 또는 다른 메모리 장치(400)를 통한 간접적인 액세스가 제어되어야 한다. 예를 들어, 공격자는 도 4의 채널 1(Ch1)에 연결된 플래시 메모리 장치(Flash1)를 직접 공격할 수 있고, 도 4의 채널 2(Ch2)에 연결된 플래시 메모리 장치(Flash2)를 통해 플래시 메모리 장치(Flash1)를 공격할 수도 있다. 전자의 경우를 방지하기 위해, 메모리 장치(400)는 인증된 메모리 컨트롤러(300)에 의한 액세스만을 허용할 수 있다. 후자의 경우를 방지하기 위해, 메모리 컨트롤러(300)는 인증된 메모리 장치(400)에 대한 제어만을 수행할 있다. 인증되지 아니한 메모리 장치(400)에 의해 메모리 컨트롤러(300)가 복사될 수 있기 때문이다.
따라서, 메모리 장치(400)에 저장된 정보에 대한 보안 이외에, 메모리 컨트롤러(300)의 복사를 방지하기 위해, 메모리 컨트롤러(300)에 의한 메모리 장치(400)의 인증 동작이 수행될 수 있다. 나아가, 메모리 시스템(200)의 퀄리티(quality)를 보장하기 위해 메모리 컨트롤러(300)에 의한 메모리 장치(400)의 인증 동작이 수행될 수 있다. 예를 들어, 도 4의 SSD(MSYS)에서 SSD 컨트롤러(SCtrl) 및 플래시 메모리 장치(400)가 각각, 동일하거나 상호 인증된 제조사에 의해 제조되었는지를 확인하기 위해, 메모리 컨트롤러(300)가 메모리 장치(400)에 대한 인증을 수행할 수 있다. 다만, 이에 한정되는 것은 아니고, 메모리 장치(400) 또한, 메모리 시스템(200)의 퀄리티(quality)를 보장하기 위해 메모리 컨트롤러(300)에 대한 인증을 수행할 수 있다. 즉, 다양한 요구에 의해, 메모리 컨트롤러(300) 및 메모리 장치(400) 사이에서 액세스 할 수 있는 권한을 갖는지에 대한 인증이 요구된다. 이에 대하여 설명한다.
도 5a는 도 3의 메모리 장치의 셀 어레이의 일 예를 나타내는 도면이다. 도 3 및 도 5a를 참조하면, 셀 어레이(440)는 메타 데이터 영역(442), 유저 데이터 영역(444) 및 인증 데이터 영역(446)을 포함할 수 있다. 메타 데이터 영역(442), 유저 데이터 영역(444) 및 인증 데이터 영역(446)의 위치 및 상대적 크기는 도 5a에 제한되지 아니한다. 메타 데이터 영역(442)에는 메모리 장치(400)의 동작에 요구되는 다양한 메타 데이터(MDTA)가 포함될 수 있다. 예를 들어, 메모리 장치(400)가 플래시 메모리 장치인 경우, 초기 독출 전압 레벨, P/E 사이클(Program/Erase cycle) 및 로그 블록(log block)과 데이터 블록(data block)의 맵핑(mapping) 정보 등이 메타 데이터(MDTA)로서 메타 데이터 영역(442)에 저장될 수 있다. 유저 데이터 영역(444)에는 유저의 요청에 따라 프로그램 된 유저 데이터(UDTA)가 저장될 수 있다.
인증 데이터 영역(446)을 이용하여 인증 데이터(ADTA)가 생성될 수 있다. 인증 데이터(ADTA)를 생성하는 때에는 일정 전압을 메모리 셀에 프로그램 한 후, 특정 전압으로 독출을 수행하여 생성할 수 있다. 인증 데이터(ADTA)의 생성 시의 프로그램을 위한 전압 및 독출을 위한 전압은 유저 데이터(UDTA)의 프로그램 및 독출에 사용되는 전압과 다를 수 있다. 인증 데이터(ADTA)는 메모리 장치(400)의 물리적 특징을 나타내어 메모리 장치(400)의 고유한 식별자와 같이 기능한다. 다시 말해, 사람의 경우 지문이나 개인 식별자와 같이, 메모리 장치(400)의 제조 공정상의 물리적 편차에 따른 고유의 특성을 나타낸다. 예를 들어, 동일한 전압을 이용하여 인증 데이터 영역의 메모리 셀을 프로그램 하더라도, 메모리 장치마다 다른 프로그램 된 메모리 셀에 대한 문턱 전압 산포가 상이하다. 따라서, 임의의 독출 전압으로 인증 데이터 영역의 메모리 셀을 독출하게 되면, 메모리 장치마다 상이한 인증 데이터가 독출된다. 예를 들어, 도 4의 채널 1(Ch1) 상의 플래시 메모리 장치(Flash1)와 채널 2(Ch2) 상의 플래시 메모리 장치(Flash2)에 동일한 프로그램 전압으로 프로그램을 수행하더라도, 이를 인증 데이터로 독출하는 경우, 인증 데이터는 서로 다른 데이터로 독출된다.
인증 데이터(ADTA)의 크기는 메모리 장치(400) 또는 메모리 시스템(200)이 요구하는 보안의 정도 및 할당 가능한 자원(resource)의 정도에 따라 다양하게 설정될 수 있다. 예를 들어, 인증 데이터(ADTA)는 페이지와 동일한 크기를 갖거나, 페이지를 N개로 나눈 크기를 가질 수 있다. 또는, 인증 데이터(ADTA)는 블록(block)의 크기로 설정될 수 있다. 인증 데이터 영역(446)은 적어도 하나 이상의 인증 데이터(ADTA)가 저장될 수 있는 크기로 설정되면, 인증 데이터(ADTA)와 마찬가지로, 메모리 장치(400) 또는 메모리 시스템(200)이 요구하는 보안의 정도 및 할당 가능한 자원의 정도에 따라 다양하게 설정될 수 있다.
도 5b는 도 3의 메모리 장치의 셀 어레이의 다른 예를 나타내는 도면이다. 도 3 및 도 5b를 참조하면, 셀 어레이(440)는 메타 데이터 영역(442) 및 유저 데이터 영역(444)를 포함할 수 있다. 도 5a의 메타 데이터 영역(442)과 마찬가지로, 메타 데이터 영역(442)에는 메모리 장치(400)의 동작에 요구되는 다양한 메타 데이터(MDTA)가 포함될 수 있다. 마찬가지로, 유저 데이터 영역(444)에는 유저의 요청에 따라 프로그램 된 유저 데이터(UDTA)가 저장될 수 있다. 다만, 도 5b의 셀 어레이(440)는 인증 데이터(ADTA)를 위한 별도의 공간을 할당하지 아니하고, 유저 데이터 영역(444)로부터 인증 데이터(ADTA)를 생성할 수 있다. 즉, 인증 요청에 대응되는 어드레스가 유저 데이터 영역(444)을 나타낼 수 있다. 전술된 바와 같이, 해당 어드레스에 대한 프로그램 및 독출을 통해 인증 데이터(ADTA)가 생성될 수 있다.
메모리 시스템(200)이 턴-온 되거나, 메모리 컨트롤러(300)에 메모리 장치(400)가 연결되는 때, 또는 요구되는 때에, 메모리 컨트롤러(300)와 메모리 장치(400) 사이에서 인증을 위한 동작이 수행될 수 있다. 그런데, 전술한 바와 같이, 제1 인증 요청(CHL) 및 제1 인증 응답(RSP)을 이용하여 인증 동작을 수행할 경우, 메모리 컨트롤러(300) 또는 메모리 장치(400)는 인증-요청 쌍(Challenge-Response Pair)을 저장해야 한다. 이때, 제1 인증 요청(CHL)은 인증 데이터(ADTA)가 생성되는 어드레스(address)에 대응될 수 있다.
이처럼, 메모리 시스템(200)은 메모리 셀(MC) 특성을 이용하기 때문에, 어드레스를 인증 요청으로 사용하고 해당 어드레스에 대응되는 데이터를 인증 응답으로 사용하여, 다른 장치들과 달리 모델(model)을 생성하기 어렵다. 본 발명의 실시예에 따른 메모리 장치, 메모리 시스템 및 이의 동작 방법에 의하면, 도 1과 같이, 패리티 데이터를 이용하여 인증 동작을 수행함으로써, 인증-요청 쌍을 저장하기 위해 요구되는 저장 공간을 줄일 수 있다. 이에 대하여 자세히 설명한다.
도 6은 도 3의 메모리 시스템에서의 인증 동작의 예를 설명하는 도면이다. 도 1, 도 3 및 도 6을 참조하면, 메모리 컨트롤러(300)가 제1 인증 요청(CHL)을 메모리 장치(400)로 전송하면(S610), 메모리 장치(400)가 메모리 셀(MC)의 물리적 특징을 나타내는 인증 데이터(ADTA)를 제1 인증 응답(RSP)으로 처리(S620)함으로써, 제1 인증 응답(RSP)이 생성된다(S120). 예를 들어, 메모리 장치(400)는 인증 데이터(ADTA)에 헤더(header) 등을 포함시켜 제1 인증 응답(RSP)을 생성할 수 있다. 헤더에는 메모리 장치(400)와 메모리 컨트롤러(300) 사이에 데이터 송수신을 위해 요구되는 정보 및 해당 인증 응답이 제1 인증 요청(CHL)에 대한 인증 응답임을 나타내는 정보 등이 포함될 수 있다.
제1 인증 응답(RSP)을 수신한 메모리 컨트롤러(300)는 제1 테이블(TAB1)에서 제1 패리티 데이터(PDTA1)를 검색(S630)할 수 있다. 예를 들어, 제1 테이블(TAB1)은 제1 인증 요청(CHL)을 인덱스(index)로 하고 제1 인증 요청(CHL)에 대응되는 제1 패리티 데이터(PDTA1)를 해당 인덱스에 저장하는 형태로 구현될 수 있다. 다만, 이에 한정되는 것은 아니고, 메모리 컨트롤러(300)는 인증 동작이 요구되는 때에, 외부의 서버(미도시)로부터 제1 인증 요청(CHL)에 대응되는 제1 패리티 데이터(PDTA1)를 수신할 수도 있다.
다음으로, 메모리 컨트롤러(300)는 제1 패리티 데이터(PDTA1)를 이용하여 제1 인증 응답(RSP)을 에러 정정 디코딩(ECC 디코딩) 한다(S140, S640). 메모리 컨트롤러(300)에 포함되는 ECC 엔진(미도시)를 이용하여 에러 정정 디코딩이 수행될 수 있다.
그리고, 메모리 컨트롤러(300)는 에러 정정 디코딩이 성공하는지를 판단한다(S160, S650). 예를 들어, ECC 디코딩을 수행한 ECC 엔진이 1비트의 에러를 정정할 수 있고, 제1 인증 응답(RSP)에 1비트 이내의 에러가 포함되어 있다면, 해당 ECC 디코딩은 성공한 것으로 처리된다. 반면, ECC 디코딩을 수행한 ECC 엔진이 1비트의 에러를 정정할 수 있는데, 제1 인증 응답(RSP)에 2비트 이상의 에러가 포함되어 있다면, 해당 ECC 디코딩은 실패한 것으로 처리된다.
ECC 엔진의 에러 정정 능력은 메모리 장치 또는 메모리 시스템에 요구되는 신뢰성의 정도 또는 인증 동작을 위해 사용할 수 있는 자원(resource) 등의 상황에 따라 달라질 수 있다. 인증 동작 시에 상기와 같은 동작을 수행하는 ECC 엔진은 인증 동작이 아닌, 노말 동작(예를 들어, 프로그램 또는 독출 등) 시에 에러 체크 및 정정 동작을 수행하는 ECC 엔진과 별도로 구비될 수 있다. 또는 노말 동작 시에 에러 체크 및 정정 동작을 수행하는 ECC 엔진을 이용하여 인증 동작을 위한 상기의 ECC 디코딩 동작을 수행할 수도 있다.
메모리 컨트롤러(300)는 ECC 디코딩이 성공한 경우, 메모리 장치(400)로부터 수신된 제1 인증 응답(RSP)이, 메모리 장치(400)로 전송한 제1 인증 요청(CHL)과 쌍을 이루는 인증 응답으로 판단하여, 메모리 장치(400)를 인증할 수 있다(S160, S660). 이는 제1 인증 요청(CHL)에 대해 맵핑된 제1 패리티 데이터(PDTA1)를 이용하여 ECC 디코딩 된 결과에 해당 ECC 엔진으로 정정 불가한 에러가 포함되어 있다면, 제1 인증 응답(RSP)이 제1 인증 요청(CHL)과 쌍을 이루는 인증 응답이 아닐 확률이 크다는 전제에 의한 판단일 수 있다.
이렇듯, 본 발명의 실시예에 따른 메모리 장치, 메모리 시스템 및 이의 동작 방법에 의하면, 메모리 컨트롤러(300)가 인증 요청-응답 쌍이 아닌, 인증 응답에 대응되는 패리티 데이터만을 저장함으로써, 요구되는 자원을 줄일 수 있고, 레이아웃 면적을 줄일 수 있으며, 전력 소모를 감소시킬 수 있다.
도 7은 도 3의 메모리 시스템에서의 인증 동작의 다른 예를 설명하는 도면이다. 도 1, 도 3 및 도 7을 참조하면, 도 6과 마찬가지로, 메모리 컨트롤러(300)가 제1 인증 요청(CHL)을 메모리 장치(400)로 전송하면(S610), 메모리 장치(400)가 메모리 셀(MC)의 물리적 특징을 나타내는 인증 데이터(ADTA)를 제1 인증 응답(RSP)으로 처리함으로써, 제1 인증 응답(RSP)이 생성된다(S120, S725). 다만, 도 7에 의하면, 메모리 장치(400)는 인증 데이터(ADTA)를 에러 정정 인코딩(ECC 인코딩)하여 제2 패리티 데이터(PDTA2)를 생성하고(S715), 제2 패리티 데이터(PDTA2)를 제1 인증 응답(RSP)과 함께, 또는 제2 패리티 데이터(PDTA2)가 포함된 제1 인증 응답(RSP)을 메모리 컨트롤러(300)로 전송한다(S725).
그러면, 메모리 컨트롤러(300)는 도 6과 같이 제1 테이블(TAB1)에서 제1 패리티 데이터(PDTA1)를 검색하고(S630) 이를 에러 정정 디코딩(S745)한다. 다만, 메모리 컨트롤러(300)는 추가적으로, 제2 패리티 데이터(PDTA2)를 이용하여 제1 인증 응답(RSP)에 포함될 수 있는 에러(error)를 정정한 후(S735), 제1 패리티 데이터(PDTA1)를 이용하여 에러 정정된 제1 인증 응답(RSP')을 에러 정정 디코딩 한다(S745). 이 경우, 메모리 장치(400)로부터 독출된 인증 데이터(ADTA)에 포함되거나, 메모리 컨트롤러(300)와 메모리 장치(400) 사이의 데이터 전송 과정에서 포함될 수 있는, 제1 인증 응답(RSP)의 에러가 정정되어, 보다 신뢰성 있는 인증 동작이 수행될 수 있다.
도 8 및 도 9는 각각, 도 3의 메모리 시스템의 일 예를 나타내는 도면이다. 먼저, 도 8을 참조하면, 본 발명의 실시예에 따른 메모리 시스템(200)에서, 메모리 컨트롤러(300)는 제1 테이블(TAB1) 및 제1 ECC 엔진(ENG1)을 포함할 수 있다. 메모리 컨트롤러(300)가 메모리 장치(400)로부터 제1 인증 응답(RSP)을 수신하여 전술된 ECC 디코딩 성공 여부(도 6 또는 도 7의 S650)를 확인함에 있어서, 메모리 컨트롤러(300)는 포함하고 있는 제1 테이블(TAB1)로부터 제1 인증 응답(RSP)에 대응되는 제1 패리티 데이터(PDTA1)를 검색할 수 있다. 예를 들어, 제1 테이블(TAB1)은 메모리 시스템(200)이 턴-온(turn-on)되는 때에 메모리 장치(400)로부터 메모리 컨트롤러(300)의 메모리, SRAM 등에 로딩(loading)될 수 있다.
다만, 이에 한정되는 것은 아니다. 도 9에 도시된 바와 같이, 제1 패리티 데이터(PDTA1)는 외부의 서버(500)로부터 메모리 컨트롤러(300)로 전송될 수 있다. 메모리 컨트롤러(300)는 제1 인증 요청(CHL)에 대응되는 제1 패리티 데이터(PDTA1)를 서버(500)에 요청(REQ)할 수 있고, 서버(500)는 요청(REQ)에 응답하여, 제1 테이블(TAB1)로부터 제1 패리티 데이터(PDTA1)를 검색하여, 메모리 컨트롤러(300)에 전송할 수 있다. 이 경우, 메모리 시스템(200)에는 제1 패리티 데이터(PDTA1)를 저장하기 위한 저장 공간 등을 절약할 수 있다.
다시 도 8을 참조하면, 메모리 컨트롤러(300)는 포함하는 제1 ECC 엔진(ENG1)을 이용하여, 검색된 제1 패리티 데이터(PDTA1)를 이용하여 제1 인증 응답(RSP)을 에러 정정 디코딩할 수 있다. 메모리 장치(400)도 제2 ECC 엔진(ENG2)을 포함하여, 제1 인증 응답(RSP)에 대한 에러 정정 인코딩을 수행하여, 도 7에서 설명한 바와 같이, 제2 패리티 데이터(PDTA2)를 제1 인증 응답(RSP)과 함께, 또는 제2 패리티 데이터(PDTA2)가 포함된 제1 인증 응답(RSP)을 메모리 컨트롤러(300)로 전송할 수 있다(S715, S725).
이상의 동작을 통해, 메모리 장치(400)가 인증되면, 메모리 컨트롤러(300)와 메모리 장치(400) 사이에서는 노말 동작(normal operation), 예를 들어, 메모리 장치(400)에 대한 기입 또는 독출 동작이 수행될 수 있다. 이상에서는 메모리 컨트롤러(300)가 메모리 장치(400)로 제1 인증 요청(CHL)을 전송하여, 메모리 장치(400)를 인증하는 동작에 대해 설명하였다. 다만 이에 한정되는 것은 아니다. 본 발명의 다른 실시예에 따른 메모리 시스템(200)을 나타내는 도 10을 참조하면, 전술된 제1 인증 요청(CHL)은 외부의 호스트 장치(600)로부터 메모리 시스템(200)으로 인가될 수 있다. 메모리 컨트롤러(300)는 호스트 장치(600)로부터 인가되는 제1 인증 요청(CHL)에 대응되는 명령(CMD)을 메모리 장치(400)로 인가하면, 메모리 장치(400)는 전술된 바와 같이 제1 인증 응답(RSP)을 생성하여 메모리 컨트롤러(300)에 전송할 수 있다. 메모리 컨트롤러(300)는 메모리 장치(400)로부터 수신된 제1 인증 응답(RSP)을 호스트 장치(600)에 인가할 수 있다. 호스트 장치(600)는 전술된 도 6 등의 방법으로 제1 인증 응답(RSP)이 제1 인증 요청(CHL)과 쌍을 이루는 인증 응답인지를 판단하여, 메모리 시스템(200) 또는 메모리 장치(400)에 대한 인증을 수행할 수 있다.
나아가, 본 발명의 실시예에 따른 메모리 시스템(200)은, 메모리 장치(400)에 의해 메모리 컨트롤러(300)에 대한 인증 동작이 수행될 수도 있다. 전술한 바와 같이, 제품 품질 보장 등을 위해, 메모리 시스템(200)에서 메모리 컨트롤러(300)를 인증할 필요가 있을 수 있다. 이에 대해서 설명한다.
도 11은 본 발명의 다른 실시예에 따른 메모리 시스템의 동작 방법을 나타내는 도면이다. 도 2 및 도 11을 참조하면, 본 발명의 다른 실시예에 따른 메모리 시스템(200)은 도 3 등과 달리, 제1 기능 블록(FBL1)이 메모리 장치(400)이고, 제2 기능 블록(FBL2)이 메모리 컨트롤러(300)일 수 있다. 따라서, 메모리 장치(400)는 제1 인증 요청(CHL)을 메모리 컨트롤러(300)에 전송(S1110)하고, 메모리 컨트롤러(300)는 제1 인증 요청(CHL)에 대응되는 제1 인증 응답(RSP)을 메모리 장치(400)로 전송(S1130)할 수 있다. 메모리 컨트롤러(300)는 제1 인증 요청(CHL)이 수신되면, 제1 테이블로부터 제1 인증 요청(CHL)에 대응되는 제1 패리티 데이터(PDTA1)를 검색할 수 있다(S1120).
그리고, 메모리 컨트롤러(300)는 제2 패리티 데이터(PDTA2)를 제1 인증 응답(RSP)과 함께 메모리 장치(400)에 전송할 수 있다(S1130). 메모리 장치(400)는 제1 인증 응답(RSP) 및 제1 패리티 데이터(PDTA1)를 수신하여, 제ECC 디코딩한다(S1140). ECC 디코딩이 성공하면(S1150), 메모리 컨트롤러(300)가 인증된다(S1160). ECC 디코딩 및 인증 판단 등에 대한 설명은 전술된 바와 같으므로 생략한다.
도 11의 메모리 장치(400)는, 상기와 같이 제1 패리티 데이터(PDTA1)를 이용하여 메모리 컨트롤러(300)에 대한 인증 동작을 수행함으로써, 인증 요청-응답 쌍의 저장을 위한 이 아닌, 인증 응답에 대응되는 패리티 데이터만을 저장함으로써, 요구되는 자원을 줄일 수 있고, 레이아웃 면적을 줄일 수 있으며, 전력 소모를 감소시킬 수 있다.
도 12는 본 발명의 일 실시예에 따른 메모리 시스템이고, 도 13은 도 12의 메모리 시스템에서 인증 요청-응답 쌍을 생성하는 방법을 나타내는 순서도이다. 도 12 및 도 13을 참조하면, 본 발명의 실시예에 따른 메모리 시스템(200)은, 메모리 장치(400)가, 각각, 메모리 장치(400)의 물리적 특징을 나타내고 다수의 제1 인증 요청(CHL)에 포함된 다수의 인증 요청(CHLi, … CHLj) 각각에 대응되는, 인증 응답(RSPi, … RSPj)을 생성한다(S1320). 각각의 인증 요청(CHLi, … CHLj)에 대한 인증 응답(RSPi, … RSPj)은 전술된 바와 같이, 인증 요청에 포함된 어드레스를 임의의 전압으로 프로그램 한 후, 임의의 전압으로 독출함으로써 생성될 수 있다.
제1 인증 요청(CHL) 에 포함될 수 있는 다수의 인증 요청(CHLi, … CHLj)이 서브 인증 요청(CHLi, … CHLj)으로 지칭될 수 있다. 메모리 시스템(200)에 대해 설정될 수 있는 서브 인증 요청의 개수는 후술되는 바와 같이 한정적일 수 있다. 또한, 이하에서는, 다수의 서브 인증 요청이 결합된 제1 인증 요청(CHL)은 결합 인증 요청(CHL)으로 지칭될 수 있다. 마찬가지로, 각 서브 인증 요청(CHLi, … CHLj)에 대응되는 인증 응답은 서브 인증 응답(RSPi, … RSPj)으로, 서브 인증 응답이 결합된 제1 인증 응답(RSP)은 결합 인증 응답(RSP)으로 지칭될 수 있다. 메모리 시스템(200)에 대해 설정될 수 있는 서브 인증 응답의 개수는 서브 인증 요청의 개수와 동일할 수 있다.
메모리 시스템(200)에 설정된 다수의 서브 인증 요청의 개수는, 메모리 장치(400)의 셀 어레이(440)에 인증 데이터(ADTA)를 생성하도록 설정된 공간, 즉 인증 데이터 영역(446)의 크기 및 서브 인증 응답의 크기에 대응될 수 있다. 예를 들어, 인증 데이터 영역(446)의 크기가 N(N은 양의 정수)이고, 서브 인증 응답의 크기가 R(N은 R 이하의 양의 정수)이면, 메모리 시스템에 설정된 인증 요청-응답 쌍(pair)의 개수는 N/R이다.
전술한 바와 같이, 메모리 시스템(200)은 메모리 셀(MC) 특성을 이용하여 인증 동작을 수행하기 때문에, 다른 장치들과 달리 모델(model)을 생성하기 어렵다. 따라서, 메모리 시스템(200)에서는 어드레스를 인증 요청으로 사용하고 해당 어드레스에 대응되는 데이터를 인증 응답으로 사용해야 한다. 이에 전술된 인증 요청-응답 쌍을 저장하기 위한 저장 공간의 문제와 함께 또는 별개로, 인증 요청-응답 쌍의 개수가 제한되는 문제를 야기할 수 있다. 그런데, 메모리 시스템(200)에 설정된 인증 요청-응답 쌍의 개수가 적은 경우, 공격자가 인증 요청-응답 쌍을 수집하여 분석할 수 있다. 이는 메모리 장치 또는 메모리 시스템의 신뢰성을 약화시킬 수 있다. 본 발명의 실시예에 따른 메모리 시스템(200)은 제한된 개수의 인증 요청-응답 쌍을 이용하여 보다 많은 인증 요청-응답 쌍을 생성함으로써, 메모리 장치 또는 메모리 시스템의 신뢰성을 강화시킬 수 있다.
계속해서 도 12 및 도 13을 참조하면, 인증 데이터 영역(446)의 크기가 N이고 서브 인증 응답의 크기가 R이면, 메모리 시스템(200)에 설정될 수 있는 인증 요청-응답 쌍의 개수는 C(C=N/R)이다. 그러나, 본 발명의 실시예에 따른 메모리 시스템(200)의 동작 방법에 의하면, 적어도 둘 이상의 서브 인증 요청(CHLi, … CHLj)을 결합하여 결합 인증 요청(CHL)을 생성하고(S1340), 각 서브 인증 요청(CHLi, … CHLj)에 대응되는 서브 인증 응답(RSPi, … RSPj)을 결합하여 결합 인증 응답(RSP)을 생성하면(S1340), 동일한 자원을 갖는 메모리 시스템(200)에서 설정될 수 있는 인증 요청-응답 쌍의 개수가 증가될 수 있다.
도 12는 예를 들어, 서브 인증 요청 CHLi, … CHLj (i 및 j는 각각 N 이하의 양의 정수)이 중첩되어 결합 인증 요청(CHL = (CHLi, … CHLj))을 형성하고 각 서브 인증 요청 CHLi, … CHLj에 대응되는 서브 인증 응답 RSPi, … RSPj이 결합되어 결합 인증 응답(RSP = (RSPi(…(RSPj)))이 형성되는 예를 도시한다. 결합 인증 응답(RSP)은 PRNG(Pseudo Random Number Generator) 및 AES(Advanced Encryption Standard) 중 적어도 하나를 이용하여, 적어도 둘 이상의 서브 인증 요청 각각에 대응되는 서브 인증 응답을 랜덤 시퀀스(random sequence)로 결합할 수 있다. 다만, 이에 한정되는 것은 아니고, 다양한 암호화 엔진이 사용될 수 있다.
이 경우, 메모리 시스템(200)에서 사용할 수 있는 인증 요청-응답 쌍의 개수는, C에서 K(K는 양의 정수)를 선택하는 방법의 개수로 증가될 수 있다. K는 인증 요청에 포함되는 서브 인증 요청의 개수이다. 예를 들어, 본 발명의 실시예에 따른 메모리 시스템(200)에서 사용할 수 있는 인증 요청-응답 쌍의 개수는, 순열 NPR 또는 조합 NCR의 개수로 증가될 수 있다.
이렇듯, 본 발명의 실시예에 따른 메모리 장치, 메모리 시스템 및 이의 동작 방법에 의하면, 제한된 자원을 갖는 메모리 장치 및 메모리 시스템에서도 향상된 신뢰성으로 인증 동작이 수행될 수 있다.
도 14는 도 3의 셀 어레이의 일 예를 나타내는 도면이다. 도 3의 셀 어레이(440)는 2차원의 NAND 플래시 메모리일 수 있다. 또는, 도 3의 셀 어레이(440)는 도 15에 도시되는 바와 같이, 3차원으로 적층된 수직 NAND(Vertical NAND) 플래시 메모리 셀 어레이로 구현될 수 있다. 3차원의 셀 어레이(440)는 기판(SUB), 복수의 메모리 셀 스트링(ST), 워드 라인(WL<0> 내지 WL<3>), 및 비트 라인(BL<0> 내지 BL<3>)을 포함할 수 있다. 메모리 셀 스트링(ST)은 기판(110)으로부터 돌출된 방향(예를 들어, 수직 방향(Z))으로 신장될 수 있다. 메모리 셀 스트링(ST) 각각은 Z축 방향으로 메모리 셀들(MC), 소스 선택 트랜지스터(SST), 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다. 소스 선택 트랜지스터(SST)는 열의 방향(Y)으로 연장된 소스 선택 라인(SSL<0> 내지 SSL<3>)과 연결되어 제어될 수 있고, 그라운드 선택 트랜지스터(GST)는 행의 방향(X) 및 열의 방향(Y)으로 연장된 그라운드 선택 라인(GSL)과 연결되어 제어될 수 있다.
워드 라인(WL<0> 내지 WL<3>)은 기판(110)과 수직한 방향(Z)으로 배열된다. 워드 라인(WL<0> 내지 WL<3>) 각각은 메모리 셀 스트링(ST) 내 메모리 셀들(MC) 각각이 존재하는 층의 일부에 위치한다. 워드 라인(WL<0> 내지 WL<3>) 각각은 기판(110) 상의 X축 및 Y축의 매트릭스로 배열된 메모리 셀들(MC)과 결합된다. 비트 라인(BL<0> 내지 BL<3>)은 행의 방향(X)으로 배열된 메모리 셀 스트링과 연결될 수 있다. 메모리 셀 스트링(ST) 내 메모리 셀들(MC), 소스 선택 트랜지스터(SST), 및 그라운드 선택 트랜지스터(GST)는 동일한 채널을 공유할 수 있다. 상기 채널은 기판(110)과 수직한 방향(Z)으로 연장되도록 형성될 수 있다.
도 3의 제어 로직(420)에 의해 워드 라인(WL<0> 내지 WL<3>) 및 비트 라인(BL<0> 내지 BL<3>)에 적절한 전압을 인가하여 메모리 셀들(MC)에 대한 프로그램 동작 및/또는 검증 동작이 수행되도록 제어될 수 있다. 예를 들어, 선택 트랜지스터(SST)와 연결된 소스 선택 라인(SSL<0> 내지 SSL<3>) 및 비트 라인(BL<0> 내지 BL<3>)에 설정된 전압이 인가되어 임의의 메모리 셀 스트링(ST)이 선택될 수 있고, 워드 라인(WL<0> 내지 WL<3>)에 설정된 전압이 인가되여 선택된 메모리 셀 스트링(ST) 중 임의의 메모리 셀(MC)을 선택됨으로써, 선택된 메모리 셀(MC)에 대한 독출, 프로그램 및/또는 검증 동작이 수행될 수 있다.
도 15는 본 발명의 일 실시예에 따른 메모리 카드를 나타내는 도면이다. 메모리 카드(1500)는 모바일 기기나 데스크 탑 컴퓨터와 같은 전자기기에 연결하여 사용할 수 있는 휴대용 저장장치가 될 수 있다. 도 16에 도시된 바와 같이, 메모리 카드(1500)는 메모리 컨트롤러(300), 메모리 장치(400) 및 포트 영역(1520)을 구비할 수 있다. 메모리 카드(1500)는 포트 영역(1620)을 통해서 외부의 호스트(미도시)와 통신할 수 있고, 메모리 컨트롤러(300)는 메모리 장치(200)를 제어할 수 있다. 메모리 컨트롤러(300)는 프로그램을 저장하는 ROM(미도시)으로부터 프로그램을 읽어서 수행할 수 있다. 도 15의 메모리 컨트롤러(300) 및 메모리 장치(400)는 전술된 도 2 등의 메모리 컨트롤러(300) 및 메모리 장치(400)일 수 있다.
도 16은 도 4의 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 도면이다. 도 16을 참조하면, 일 실시예에 따른 네트워크 시스템(NSYS)은 네트워크를 통해 연결되는 서버 시스템(SVSYS) 및 다수의 단말들(TEM1~TEMn)을 포함할 수 있다. 일 실시예에 따른 서버 시스템(SVSYS)은 네트워크에 연결되는 다수의 단말들(TEM1~TEMn)로부터 수신되는 요청을 처리하는 서버(SERVER) 및 단말들(TEM1~TEMn)로부터 수신되는 요청에 대응되는 데이터를 저장하는 SSD를 포함하는 구비할 수 있다. 따라서, 일 실시예에 따른 네트워크 시스템(NSYS) 및 서버 시스템(SVSYS)은 SSD의 컨트롤러와 메모리 사이의 인증 등을 신뢰성 있게 수행함으로써, 시스템에 대한 신뢰성을 확보할 수 있다.
이상에서와 같이 도면과 명세서에서 실시예가 개시되었다. 다만, 이는 의미 한정이나 특허청구범위에 기재된 범위를 제한하기 위하여 사용된 것은 아니다. 예를 들어, 이상에서 메모리 장치가 플래시 메모리 장치인 예만 기술되었으나, 이에 한정되는 것은 아니고, 플래시 메모리 장치 이외에 다양한 비휘발성 메모리 장치인 경우도 본 발명의 기술적 사상이 적용될 수 있다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
200: 메모리 시스템
FBL1: 제1 기능 블록
FBL2: 제2 기능 블록
300: 메모리 컨트롤러
400: 메모리 장치
420: 제어 로직
440: 셀 어레이

Claims (10)

  1. 제1 기능 블록(function block) 및 제2 기능 블록을 포함하는 메모리 시스템(memory system)의 동작 방법에 있어서,
    상기 제1 기능 블록으로부터 수신되는 제1 인증 요청에 응답하여, 상기 제2 기능 블록이 상기 메모리 시스템의 물리적 특징을 나타내는 제1 인증 응답을 생성하는 단계;
    상기 제1 인증 요청에 대응되는 제1 패리티 데이터(parity data)를 이용하여, 상기 제1 기능 블록이 수신된 상기 제1 인증 응답을 에러 정정 디코딩(error correction decoding) 하는 단계; 및
    상기 에러 정정 디코딩의 성공 여부에 따라, 상기 제2 기능 블록에 대한 인증 여부를 달리하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  2. 제1항에 있어서,
    상기 제1 기능 블록은 메모리 컨트롤러(memory controller)이고, 상기 제2 기능 블록은 비휘발성 메모리 이며,
    상기 제1 인증 응답을 생성하는 단계는,
    상기 비휘발성 메모리 장치가, 상기 제1 인증 요청에 대응되는 어드레스에 전압을 인가하여 프로그램 한 후 독출하여 상기 제1 인증 응답으로 처리하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  3. 제2항에 있어서,
    상기 메모리 컨트롤러가, 상기 메모리 컨트롤러에 저장된 제1 테이블(table)로부터 상기 제1 패리티 데이터를 검색하는 단계를 더 포함하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  4. 제2항에 있어서,
    상기 메모리 컨트롤러가, 상기 메모리 시스템의 외부로부터 상기 제1 패리티 데이터를 수신하는 단계를 더 포함하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  5. 제2항에 있어서, 상기 제2 기능 블록에 대한 인증 여부를 달리하는 단계는,
    상기 메모리 컨트롤러가, 상기 에러 정정 디코딩이 성공하면, 상기 비휘발성 메모리 장치를 인증하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  6. 제2항에 있어서,
    상기 비휘발성 메모리 장치가, 상기 제1 인증 응답과 함께, 상기 제1 인증 응답을 에러 정정 인코딩(error correction encoding)한 제2 패리티 데이터를, 상기 메모리 컨트롤러로 전송하는 단계를 더 포함하고,
    상기 제1 인증 응답을 에러 정정 디코딩하는 단계는,
    상기 제2 패리티 데이터를 이용하여 상기 제1 인증 응답의 에러를 처리한 후 수행되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  7. 제2항에 있어서,
    적어도 둘 이상의 서브 인증 요청을 포함하여 상기 제1 인증 요청을 생성하는 단계를 더 포함하고,
    상기 제1 인증 응답을 생성하는 단계는,
    상기 메모리 시스템에 설정된 서브 인증 요청 중 상기 적어도 둘 이상의 서브 인증 요청 각각에 대응되는 서브 인증 응답을 생성하는 단계; 및
    상기 적어도 둘 이상의 서브 인증 요청 각각에 대응되는 서브 인증 응답을 상기 제1 인증 응답으로 결합하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  8. 제1항에 있어서,
    상기 제1 기능 블록은 비휘발성 메모리 장치이고, 상기 제2 기능 블록은 메모리 컨트롤러이며,
    상기 제1 인증 응답을 생성하는 단계는,
    상기 메모리 컨트롤러가, 제1 테이블로부터 상기 제1 인증 요청에 대응되는 제1 패리티 데이터를 검색하는 단계; 및
    상기 메모리 컨트롤러가, 상기 제1 인증 요청에 대응되는 상기 제1 인증 응답과 상기 제1 패리티 데이터를 상기 비휘발성 메모리 장치로 전송하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  9. 제1항에 있어서, 상기 제1 기능 블록 및 상기 제2 기능 블록 중 적어도 하나는,
    NAND 플래시 메모리 장치(NAND flash memory device)인 것을 특징으로 하는 메모리 시스템의 동작 방법.
  10. 메모리 장치가, 각각, 상기 다수의 인증 요청 중 적어도 둘 이상의 인증 요청이 결합된 결합 인증 요청에 응답하여, 상기 메모리 장치의 물리적 특징을 나타내고, 다수의 인증 요청에 각각 대응되는, 다수의 인증 응답을 생성하는 단계; 및
    상기 메모리 장치가, 상기 결합 인증 요청에 포함된 적어도 둘 이상의 인증 요청 각각과 쌍을 이루는 인증 응답을, 상기 결합 인증 요청에 대한 결합 인증 응답으로 출력하는 단계를 포함하는 것을 특징으로 하는 메모리 장치의 동작 방법.
KR1020140072296A 2014-06-13 2014-06-13 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법 KR20150143150A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140072296A KR20150143150A (ko) 2014-06-13 2014-06-13 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법
US14/725,542 US20150363336A1 (en) 2014-06-13 2015-05-29 Memory device, memory system, and method of operating memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140072296A KR20150143150A (ko) 2014-06-13 2014-06-13 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법

Publications (1)

Publication Number Publication Date
KR20150143150A true KR20150143150A (ko) 2015-12-23

Family

ID=54836275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140072296A KR20150143150A (ko) 2014-06-13 2014-06-13 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법

Country Status (2)

Country Link
US (1) US20150363336A1 (ko)
KR (1) KR20150143150A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200008829A (ko) * 2018-07-17 2020-01-29 한국과학기술연구원 플래시 메모리 시스템 및 그것의 양자화 신호 생성 방법
CN112015582A (zh) * 2019-05-28 2020-12-01 新唐科技股份有限公司 自修正存储器系统、提供错误修正至存储器内容的方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579057B (zh) * 2022-03-11 2024-05-14 长江存储科技有限责任公司 缓存设备的校验数据的存储方法、存储装置及存储系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5499358B2 (ja) * 2010-03-24 2014-05-21 独立行政法人産業技術総合研究所 認証処理方法及び装置
KR101736337B1 (ko) * 2011-02-28 2017-05-30 삼성전자주식회사 비휘발성 메모리 장치, 상기 메모리 장치를 제어하는 컨트롤러, 및 상기 컨트롤러 동작 방법
JP5839659B2 (ja) * 2011-06-20 2016-01-06 ルネサスエレクトロニクス株式会社 半導体装置
US9088278B2 (en) * 2013-05-03 2015-07-21 International Business Machines Corporation Physical unclonable function generation and management

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200008829A (ko) * 2018-07-17 2020-01-29 한국과학기술연구원 플래시 메모리 시스템 및 그것의 양자화 신호 생성 방법
US10990542B2 (en) 2018-07-17 2021-04-27 Korea Institute Of Science And Technology Flash memory system and method of generating quantized signal thereof
CN112015582A (zh) * 2019-05-28 2020-12-01 新唐科技股份有限公司 自修正存储器系统、提供错误修正至存储器内容的方法
CN112015582B (zh) * 2019-05-28 2024-03-12 新唐科技股份有限公司 自修正存储器系统、提供错误修正至存储器内容的方法

Also Published As

Publication number Publication date
US20150363336A1 (en) 2015-12-17

Similar Documents

Publication Publication Date Title
US10438684B2 (en) Memory device, memory system, and method of operating the memory system
US9722774B2 (en) Non-leaky helper data: extracting unique cryptographic key from noisy F-PUF fingerprint
US9627079B1 (en) Storage device, memory system having the same, and operating method thereof
US8694714B2 (en) Retargeting of a write operation retry in the event of a write operation failure
TW201405359A (zh) 隨機數產生方法、加密金鑰產生方法、記憶體、記憶體系統以及加密金鑰系統
CN114830595B (zh) 将密码密钥委托给存储器子系统
KR102429458B1 (ko) 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 장치의 동작 방법
CN111309248B (zh) 与安全存储器存取有关的方法、系统和设备
KR20100124087A (ko) 메모리 컨트롤러, 그것을 포함하는 메모리 시스템 그리고 그것의 동작 방법
KR102479483B1 (ko) 메모리 시스템 및 이의 동작 방법
US20130080787A1 (en) Memory storage apparatus, memory controller and password verification method
US10725687B1 (en) Settable replay protected memory block characteristics in a logic unit
KR20200079134A (ko) 컨트롤러 및 이를 포함하는 메모리 시스템
US20150058697A1 (en) Storage device, controller and memory controlling method
KR20160139991A (ko) 반도체 장치 및 이의 동작 방법
CN114675779A (zh) 存储设备的操作方法以及存储系统的操作方法
KR102304927B1 (ko) 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법
KR20160043436A (ko) 불휘발성 메모리 장치 및 이의 동작 방법
KR102667783B1 (ko) Ecc 관련 데이터를 키-밸류 맵핑 정보에서 관리하는 오브젝트 스토리지 시스템
US9703628B2 (en) Memory device and system including the same
CN116648688A (zh) 包含使用认证逻辑产生用于存储器区的存取代码的实例的存储器系统和装置
KR20150143150A (ko) 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법
KR102665270B1 (ko) 반도체 메모리 장치 및 그것의 동작 방법
JP2022526934A (ja) ブロックチェーンを基にしたメモリコマンドの正当性確認
KR20180104853A (ko) 메모리 시스템 및 그의 동작 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid