KR20200067633A - 메모리 장치 및 그것의 보안 데이터 처리 방법 - Google Patents

메모리 장치 및 그것의 보안 데이터 처리 방법 Download PDF

Info

Publication number
KR20200067633A
KR20200067633A KR1020180154693A KR20180154693A KR20200067633A KR 20200067633 A KR20200067633 A KR 20200067633A KR 1020180154693 A KR1020180154693 A KR 1020180154693A KR 20180154693 A KR20180154693 A KR 20180154693A KR 20200067633 A KR20200067633 A KR 20200067633A
Authority
KR
South Korea
Prior art keywords
memory
memory device
data
security
area
Prior art date
Application number
KR1020180154693A
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 KR1020180154693A priority Critical patent/KR20200067633A/ko
Priority to US16/529,100 priority patent/US20200176062A1/en
Priority to CN201910724655.6A priority patent/CN111276174A/zh
Publication of KR20200067633A publication Critical patent/KR20200067633A/ko
Priority to US17/712,579 priority patent/US20220230688A1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • 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
    • G06F12/1425Protection 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 the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection 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 the protection being physical, e.g. cell, word, block for a range
    • 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/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • 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/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means
    • 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/45Structures or tools for the administration of 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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • 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/79Protecting 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 semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1653Address circuits or decoders
    • G11C11/1655Bit-line or column circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1653Address circuits or decoders
    • G11C11/1657Word-line or row circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4078Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/20Address safety or protection circuits, i.e. arrangements for preventing unauthorized or accidental access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

본 개시에 따르면, 메모리 장치는, 보안 데이터를 저장하는 보안 영역을 포함하는 메모리 셀 어레이 및 가드 키를 저장하고, 보안 영역에 대한 데이터 동작 커맨드가 수신되는 경우, 메모리 장치의 외부로부터 수신된 입력 비밀번호와 가드 키를 비교함으로써 보안 영역에 대한 데이터 동작을 제한하도록 구성되는 보안 관리 회로를 포함할 수 있다.

Description

메모리 장치 및 그것의 보안 데이터 처리 방법{MEMORY DEVICE AND SECURITY DATA PROCESSING METHOD THEREOF}
본 개시의 기술적 사상은 메모리 장치 및 메모리 장치의 데이터 처리 방법에 관한 것으로서, 자세하게는 보안 관리 회로를 포함하는 메모리 장치 및 그것의 보안 데이터 처리 방법에 관한 것이다.
반도체 메모리 장치는 전원 공급 중단 시 저장된 데이터를 상실하는 휘발성 메모리 장치(volatile memory device)와 저장된 데이터를 상실하지 않는 비휘발성 메모리 장치(non-volatile memory device)로 구분될 수 있다. 휘발성 메모리 장치는 읽고 쓰는 속도가 빠르지만 외부 전원 공급이 끊기면 저장된 내용이 사라져 버린다. 반면, 비휘발성 메모리 장치는 읽고 쓰는 속도가 휘발성 메모리 장치에 비해 느리지만 외부 전원 공급이 중단되더라도 그 내용을 보존한다.
보안이 필요한 보안 데이터를 보호하기 위해, 다양한 방식에 기반한 보안 솔루션이 개발되고 있는데, 특히, 최근에는 CPU(Central Processing Unit)와 같은 프로세서에 비의존적인 보안 솔루션에 대한 요구가 증가하고 있다.
본 개시의 기술적 사상은 메모리 장치 및 메모리 장치의 보안 데이터 처리 방법에 있어서, 보안 솔루션을 위한 별도의 프로세서 없이 메모리 장치 자체적으로 보안 데이터를 처리하기 위한 방법 및 장치를 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 메모리 장치는, 보안 데이터를 저장하는 보안 영역을 포함하는 메모리 셀 어레이 및 가드 키를 저장하고, 보안 영역에 대한 데이터 동작 커맨드가 수신되는 경우, 메모리 장치의 외부로부터 수신된 입력 비밀번호와 가드 키를 비교함으로써 보안 영역에 대한 데이터 동작을 제한하도록 구성되는 보안 관리 회로를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 메모리 장치의 보안 데이터 처리 방법은, 메모리 장치의 외부로부터 입력 비밀번호를 수신하는 단계, 메모리 장치 내부에 저장된 가드 키와 수신된 입력 비밀번호를 비교하는 단계, 메모리 장치의 외부로부터 보안 데이터, 보안 데이터에 대한 데이터 동작 커맨드 및 메모리 셀 어레이의 보안 영역에 대응되는 어드레스를 수신하는 단계, 가드 키와 입력 비밀번호가 일치하는 경우, 데이터 동작 커맨드 및 어드레스를 기초로 보안 데이터에 대한 데이터 동작을 수행하는 단계 및 가드 키와 입력 비밀번호가 일치하지 않는 경우, 보안 데이터에 대한 데이터 동작을 제한하는 단계를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 메모리 장치는, 노말 데이터가 저장되는 제1 메모리 영역 및 보안 데이터가 저장되는 제2 메모리 영역을 포함하는 메모리 셀 어레이 및 가드 키를 저장하고, 메모리 장치의 외부로부터 입력 비밀번호를 수신하고, 제2 메모리 영역에 대한 데이터 동작 커맨드가 메모리 장치에 의해 수신된 경우, 입력 비밀번호와 가드 키가 일치할 때에만 메모리 장치가 제2 메모리 영역에 대한 데이터 동작을 수행하도록 메모리 장치를 제어하도록 구성되는 보안 관리 회로를 포함할 수 있다.
본 개시의 예시적 실시 예에 따른 메모리 장치 및 메모리 장치의 보안 데이터 처리 방법에 의하면, 메모리 장치가 메모리 셀 어레이의 보안 영역에 관한 외부의 접근을 제한하는 보안 관리 회로를 포함함으로써, 메모리 장치 외부에 보안 솔루션을 위한 별도의 프로세서를 구비하지 않고도 메모리 장치 자체적으로 보안 데이터를 효율적으로 처리할 수 있다.
도 1은 본 개시의 예시적 실시 예에 따른 데이터 처리 시스템을 나타낸다.
도 2는 본 개시의 예시적 실시 예에 따른 메모리 장치를 나타낸다.
도 3은 본 개시의 예시적 실시 예에 따른 보안 관리 회로를 나타낸다.
도 4a 내지 도 4d는 본 개시의 예시적 실시 예에 따른 메모리 셀 어레이를 나타낸다.
도 4e는 본 개시의 예시적 실시 예에 따른 복수의 메모리 뱅크들을 나타낸다.
도 5는 본 개시의 예시적 실시 예에 따른 가드 키 주입 단계 또는 가드 키 업데이트 단계에서의 데이터 처리 시스템을 나타낸다.
도 6은 본 개시의 예시적 실시 예에 따른 가드 키 주입 단계 또는 가드 키 업데이트 단계의 순서도를 나타낸다.
도 7은 본 개시의 예시적 실시 예에 따른 메모리 영역 할당 단계에서의 데이터 처리 시스템을 나타낸다.
도 8은 본 개시의 예시적 실시 예에 따른 메모리 영역 할당 단계의 순서도를 나타낸다.
도 9는 본 개시의 예시적 실시 예에 따른 데이터 동작 단계에서의 데이터 처리 시스템을 나타낸다.
도 10은 본 개시의 예시적 실시 예에 따른 데이터 동작 단계의 순서도를 나타낸다.
도 11은 본 개시의 예시적 실시 예에 따른 데이터 동작 단계의 순서도를 나타낸다.
도 12는 본 개시의 예시적 실시 예에 따른 데이터 동작 단계의 순서도를 나타낸다.
도 13은 본 개시의 예시적 실시 예에 따른 데이터 동작 단계의 순서도를 나타낸다.
도 14는 본 개시의 예시적 실시 예에 따른 메모리 영역 할당 단계의 순서도를 나타낸다.
도 15는 본 개시의 예시적 실시 예에 따른 메모리 장치의 구조를 나타낸다.
도 16은 본 개시의 예시적 실시 예에 따른 컴퓨팅 시스템을 나타낸다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다.
도 1은 본 개시의 예시적 실시 예에 따른 데이터 처리 시스템(10)을 나타낸다. 데이터 처리 시스템(10)은 호스트(100), 메모리 컨트롤러(200) 및 메모리 장치(300)를 포함할 수 있다. 데이터 처리 시스템(10)은 각종 서버(Server), 데스크톱, 노트북, 스마트폰, 태블릿 PC, 프린터, 스캐너, 모니터, 디지털 카메라, 디지털 음악 플레이어, 디지털 미디어 레코드, 휴대형 게임 콘솔 등 메모리를 필요로 하는 각종 전자 장치에 적용될 수 있으며, 개시된 예시에 한정되는 것은 아니다.
호스트(100)는 메모리 컨트롤러(200)에 데이터(DATA) 및 요청(REQ)을 제공할 수 있다. 예를 들어, 호스트(100)는 메모리 컨트롤러(200)에 데이터(DATA)에 대한 독출(read) 요청 또는 기록(write) 요청과 같은 요청(REQ)을 제공할 수 있다. 이외에도, 호스트(100)는 메모리 컨트롤러(200)에 명령, 어드레스 및 우선순위 정보 등을 제공할 수 있으며, 이에 제한되지는 않는다. 호스트(100)와 메모리 컨트롤러(200)는 USB(Universal Serial Bus) 프로토콜, MMC(Multimedia Card) 프로토콜, Serial-ATA 프로토콜, Parallel-ATA 프로토콜, SCSI(Small Computer Small Interface) 프로토콜, ESDI(Enhanced Small Disk Interface) 프로토콜, 그리고 IDE(Integrated Drive Electronics) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나에 기반하여 데이터 및 신호들을 교환할 수 있다. 호스트(100)는 메모리 컨트롤러(200)와 함께 CPU(Central Processing Unit) 및/또는 GPU(Graphic Processing Unit) 등을 포함하는 SoC(System on Chip) 또는 어플리케이션 프로세서(application processor)로 구현될 수 있다.
메모리 컨트롤러(200)는 호스트(100)의 요청(REQ)에 응답하여 메모리 장치(300)를 제어할 수 있다. 예를 들어, 메모리 컨트롤러(200)는 호스트(100)로부터 수신된 기입 요청에 응답하여 메모리 장치(300)가 데이터(DATA)를 기입하거나, 호스트(100)로부터 수신된 독출 요청에 응답하여 메모리 장치(300)가 데이터(DATA)를 독출하도록 메모리 장치(300)를 제어할 수 있다. 이를 위해, 메모리 컨트롤러(200)는 메모리 장치(300)에 커맨드(CMD) 및 어드레스(ADDR)를 제공할 수 있으며, 기록될 데이터(DQ)와 독출된 데이터(DQ)는 메모리 컨트롤러(200)와 메모리 장치(300) 사이에서 송수신 될 수 있다. 일 실시 예에서, 메모리 컨트롤러(200)는 메모리 장치(300)에 비밀번호(PW)를 제공할 수 있다. 메모리 컨트롤러(200)에 의해 메모리 장치(300)에 제공되는 비밀번호(PW)는 입력 비밀번호라 칭해질 수 있다. 일 실시 예에서, 메모리 컨트롤러(200)는 커맨드 라인을 통해 비밀번호(PW)를 메모리 장치(300)에 제공할 수 있다.
메모리 장치(300)는 메모리 셀 어레이(310) 및 보안 관리 회로(370)를 포함할 수 있다. 메모리 셀 어레이(310)는 복수의 메모리 셀들을 포함할 수 있다. 예를 들어, 메모리 셀 어레이(310)는 복수의 워드 라인들과 복수의 비트 라인들이 교차하는 영역에 배치되는 복수의 메모리 셀들을 포함할 수 있다. 메모리 셀 어레이(310)에 포함된 복수의 메모리 셀들은 어드레스(ADDR)에 의해 지시(addressing)될 수 있으며, 어드레스(ADDR)는 복수의 메모리 셀들을 지시하기 위한 다수의 비트들을 포함할 수 있다.
일 실시 예에서, 메모리 장치(300)는 휘발성 메모리 장치로 구현될 수 있다. 휘발성 메모리 장치는 RAM(Random Access Memory), DRAM(Dynamic RAM), 또는 SRAM(Static RAM)으로 구현될 수 있으나, 이에 한정되는 것은 아니다. 예시적으로, 메모리 장치(300)는 DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory), LPDDR(Low Power Double Data Rate) SDRAM, GDDR(Graphics Double Data Rate) SDRAM, RDRAM(Rambus Dynamic Random Access Memory) 등에 해당할 수 있다. 또는, 메모리 장치(300)는 고대역폭 메모리(high bandwidth memory; HBM)로 구현될 수도 있다. 한편, 일 실시 예에서, 메모리 장치(300)는 비휘발성 메모리 장치로 구현될 수도 있을 것이다. 일 예로서, 메모리 장치(300)는 PRAM(Phase change RAM), MRAM(Magnetic RAM) 및 RRAM(Resistive RAM) 등의 저항성 메모리로 구현될 수도 있을 것이다.
본 개시의 예시적 실시 예에 따르면, 메모리 셀 어레이(310)는 제1 메모리 영역 및 제2 메모리 영역을 포함할 수 있다. 예를 들어, 제1 메모리 영역은 노말 데이터가 저장되는 영역을 나타낼 수 있고, 제2 메모리 영역은 보안 데이터가 저장되는 영역을 나타낼 수 있다. 다시 말해, 제2 메모리 영역은 보안 영역이라 칭해질 수 있다. 보안 데이터는, 사용자 비밀번호 또는 운영체제의 커널과 같은 보안을 필요로 하는 다양한 종류의 데이터 중 적어도 하나를 포함할 수 있다.
본 개시의 예시적 실시 예에 따르면, 메모리 장치(300)는 보안 관리 회로(370)를 포함할 수 있다. 보안 관리 회로(370)는 메모리 장치(300)에 저장된 보안 데이터를 보호하기 위해, 보안 데이터가 저장된 메모리 셀 어레이(310)의 보안 영역으로의 외부의 접근을 제한할 수 있다.
이를 위해, 보안 관리 회로(370)는 가드 키(guard key)를 저장할 수 있다. 일 실시 예에서, 보안 관리 회로(370)는, 가드 키 주입 단계(guard key injection phase)에서, 메모리 장치(300)의 외부로부터 가드 키를 수신하여, 저장할 수 있다. 일 실시 예에서, 보안 관리 회로(370)는, 가드 키 업데이트 단계(guard key update phase)에서, 메모리 장치(300)의 외부로부터 가드 키를 수신하여, 기존에 저장된 가드 키를 업데이트 할 수 있다. 가드 키 주입 단계 및 가드 키 업데이트 단계에 관해서는 도 5 및 도 6을 참조해 보다 자세히 설명된다.
보안 관리 회로(370)는, 메모리 셀 어레이(310)의 보안 영역에 대한 데이터 동작 커맨드가 수신되는 경우, 메모리 컨트롤러(200)로부터 수신된 비밀번호(PW)와 가드 키를 비교함으로써 메모리 셀 어레이(310)의 보안 영역에 대한 데이터 동작을 제한할 수 있다. 데이터 동작은 데이터 기입 동작 및 데이터 독출 동작을 포함할 수 있다. 일 실시 예에서, 보안 관리 회로(370)는, 비밀번호(PW)가 가드 키와 일치하는 경우, 메모리 장치(300)가 메모리 셀 어레이(310)의 보안 영역에 대한 데이터 동작을 수행하도록 메모리 장치(300)를 제어할 수 있다. 일 실시 예에서, 보안 관리 회로(370)는, 비밀번호(PW)가 가드 키와 일치하지 않는 경우, 메모리 장치(300)가 메모리 셀 어레이(310)의 보안 영역에 대한 데이터 동작을 수행하지 못하도록 메모리 장치(300)를 제어할 수 있다. 또한, 일 실시 예에서, 보안 관리 회로(370)는, 비밀번호(PW)가 가드 키와 일치하지 않는 경우, 메모리 컨트롤러(200)에 경고 신호(Alert)를 출력할 수 있다. 일 실시 예에서, 보안 관리 회로(370)는, 메모리 셀 어레이(310)의 보안 영역에 대한 데이터 동작 커맨드가 수신되고, 비밀번호(PW)가 수신되지 않은 경우, 메모리 장치(300)가 메모리 셀 어레이(310)의 보안 영역에 대한 데이터 동작을 수행하지 못하도록 메모리 장치(300)를 제어하고, 메모리 컨트롤러(200)에 비밀번호 요청 신호를 송신할 수 있다. 이와 같은 데이터 동작 단계에 관해서는 도 9 내지 도 13을 참조해 보다 자세히 설명된다.
보안 관리 회로(370)는, 데이터 동작 커맨드가 메모리 셀 어레이(310)의 보안 영역에 대한 커맨드임을 인식하기 위해, 메모리 컨트롤러(200)에 의해 제공되는 어드레스(ADDR)를 영역 정보와 비교할 수 있다. 영역 정보는, 메모리 셀 어레이(310)의 보안 영역에 관한 정보를 나타낼 수 있다. 일 실시 예에서, 영역 정보는 메모리 셀 어레이(310)의 보안 영역에 대응되는 시작 어드레스와 보안 영역의 사이즈를 포함할 수 있다. 또한 일 실시 예에서, 영역 정보는, 메모리 셀 어레이(310)의 보안 영역에 대응되는 시작 어드레스와 끝 어드레스를 포함할 수 있다. 일 실시 예에서, 보안 관리 회로(370)는, 메모리 영역 할당 단계(memory region allocation phase)에서, 영역 정보를 저장할 수 있다. 메모리 영역 할당 단계에 관해서는 도 7, 도 8 및 도 14를 참조해 보다 자세히 설명된다.
본 개시의 예시적 실시 예에 따르면, 메모리 장치(300)가 메모리 셀 어레이(310)의 보안 영역을 관리하는 보안 관리 회로(370)를 포함함으로써, 데이터 처리 시스템(10)은 보안 솔루션을 위한 별도의 프로세서를 구비하지 않아도 된다. 다시 말해, 메모리 장치(300)가 보안 솔루션을 위한 구성인 보안 관리 회로(370)를 포함함에 따라, 메모리 장치(300)는 자체적으로 보안 데이터를 처리할 수 있다. 나아가, 본 개시의 예시적 실시 예에 따르면, 데이터 처리 시스템(10)이 보안 솔루션을 위한 별도의 프로세서를 구비하지 않아도 되기 때문에, 데이터 처리 시스템(10) 구현 비용을 절감할 수 있을 것이다.
도 2는 본 개시의 예시적 실시 예에 따른 메모리 장치(300)를 나타낸다. 메모리 장치(300)는 메모리 셀 어레이(310), 로우 디코더(320), 컬럼 디코더(330) 및 주변 회로(peripheral circuit; 340)를 포함할 수 있고, 주변 회로(340)는 데이터 입출력 회로(350), 제어 로직(360) 및 보안 관리 회로(370)를 포함할 수 있다. 도 2는, 설명의 편의를 위해, 메모리 장치(300)가 하나의 메모리 셀 어레이(310)를 포함한 경우를 도시하지만, 메모리 셀 어레이(310)의 개수는 이에 제한되지 않는다. 또한, 예를 들어, 메모리 장치(300)는 복수의 메모리 뱅크들을 포함할 수도 있다. 도 2의 메모리 장치(300)에 관해 도 1과 중복되는 설명은 생략한다. 도 2는 도 1을 함께 참조하여 설명된다.
메모리 셀 어레이(310)는 복수의 워드 라인들(WLs) 및 복수의 비트 라인들(BLs)이 교차하는 영역에 배치되는 복수의 메모리 셀들을 포함할 수 있다. 일 실시 예에서, 복수의 메모리 셀들 각각은 하나의 트랜지스터(transistor)와 하나의 커패시터(capacitor)를 포함하는 DRAM 셀일 수 있다. 메모리 셀 어레이(310)는 로우 디코더(320) 및 컬럼 디코더(330)에 의해 구동될 수 있다. 일 실시 예에서, 메모리 셀 어레이(310)는 제1 메모리 영역(312) 및 제2 메모리 영역(314)을 포함할 수 있다. 제1 메모리 영역(312)은 노말 데이터가 저장되는 영역을 나타낼 수 있고, 제2 메모리 영역(314)은 보안 데이터가 저장되는 영역을 나타낼 수 있다. 제2 메모리 영역(314)은 보안 영역이라 칭해질 수 있다.
로우 디코더(320)는 주변 회로(340)의 제어에 의해 워드 라인들(WLs) 중 적어도 하나의 워드 라인을 선택할 수 있다. 로우 디코더(320)는 주변 회로(340)로부터 로우 디코더 제어 신호(ROW_CTRL) 및 로우 어드레스(ROW_ADDR)를 입력 받을 수 있다. 로우 디코더 제어 신호(ROW_CTRL) 및 로우 어드레스(ROW_ADDR)는 메모리 장치(300) 외부의 메모리 컨트롤러(200)에 의해 제공되는 커맨드(CMD) 및 어드레스(ADDR)를 기초로 주변 회로(340)에 의해 생성될 수 있다. 예를 들어, 메모리 장치(300)에 액티브 명령과 활성화하고자 하는 워드 라인 어드레스들이 입력되면, 주변 회로(340)는 로우 어드레스 제어 신호(ROW_CTRL)를 활성화하고, 로우 어드레스(ROW_ADDR)를 생성할 수 있다. 로우 디코더(320)는 로우 디코더 제어 신호(ROW_CTRL) 및 로우 어드레스(ROW_ADDR)를 기초로 적어도 하나의 워드 라인을 선택할 수 있다. 선택된 워드 라인에 연결된 메모리 셀들의 집합을 하나의 선택된 페이지(page)로 볼 수 있다.
컬럼 디코더(330)는 주변 회로(340)의 제어에 의해 비트 라인들(BLs) 중 적어도 하나의 비트 라인을 선택할 수 있다. 컬럼 디코더(330)에 의해 선택된 비트 라인들은 글로벌 입출력 라인들(GIOs)과 연결될 수 있다. 컬럼 디코더(330)는 주변 회로(340)로부터 컬럼 디코더 제어 신호(COL_CTRL) 및 컬럼 어드레스(COL_ADDR)를 입력 받을 수 있다. 예를 들면, 액티브 명령 이후 선택된 페이지에 데이터가 저장되거나 선택된 페이지로부터 데이터가 읽혀지기 위해, 메모리 장치(300)에 기입 명령 또는 독출 명령이 입력될 수 있다. 이 때, 주변 회로(340)는 컬럼 디코더 제어 신호(COL_CTRL)를 활성화하고 컬럼 어드레스(COL_ADDR)를 생성할 수 있다. 일 실시 예에서, 컬럼 디코더(330)는 보안 관리 회로(370)에 의해 제어될 수 있다. 예를 들어, 보안 관리 회로(370)는, 메모리 장치(300)의 외부로부터 입력된 비밀번호(PW)가 가드 키와 일치하지 않는 경우, 혹은 제2 메모리 영역(314)에 대한 커맨드(CMD)가 입력되었음에도 불구하고 비밀번호(PW)가 입력되지 않은 경우, 컬럼 디코더(330)에 접근 금지 신호(Proh_acc)를 제공함으로써 제2 메모리 영역(314)에 대한 데이터 동작이 수행되지 않도록 할 수 있다. 일 실시 예에서, 보안 관리 회로(370)는, 메모리 장치(300)의 외부로부터 입력된 비밀번호(PW)가 가드 키와 일치하지 않는 경우 혹은 제2 메모리 영역(314)에 대한 커맨드(CMD)가 입력되었음에도 불구하고 비밀번호(PW)가 입력되지 않은 경우, 주변 회로(340)가 컬럼 디코더 제어 신호(COL_CTRL)를 활성화시키지 못하도록 주변 회로(340)를 제어할 수도 있다.
도 2는, 보안 관리 회로(370)가 컬럼 디코더(330)에 접근 금지 신호(Proh_acc)를 제공하는 실시 예를 도시하지만, 이에 제한되는 것은 아니다. 예를 들어, 보안 관리 회로(370)는 로우 디코더(320)에 접근 금지 신호(Proh_acc)를 제공함으로써 메모리 장치(300)가 제2 메모리 영역(314)에 대한 데이터 동작을 수행하지 못하도록 할 수 있다. 또는 보안 관리 회로(370)는 로우 디코더(320) 및 컬럼 디코더(330)에 접근 금지 신호(Proh_acc)를 제공할 수도 있다.
주변 회로(340)는 메모리 장치(300) 외부의 메모리 컨트롤러(200)로부터 커맨드(CMD) 및 어드레스(ADDR)를 입력 받을 수 있다. 주변 회로(340)는, 커맨드(CMD) 및 어드레스(ADDR)를 기초로, 로우 디코더 제어 신호(ROW_CTRL), 로우 어드레스(ROW_ADDR), 컬럼 디코더 제어 신호(COL_CTRL) 및 컬럼 어드레스(COL_ADDR)를 생성할 수 있다. 주변 회로(340)는 로우 디코더 제어 신호(ROW_CTRL) 및 로우 어드레스(ROW_ADDR)를 로우 디코더(320)에 제공할 수 있고, 컬럼 디코더 제어 신호(COL_CTRL) 및 컬럼 어드레스(COL_ADDR)를 컬럼 디코더(330)에 제공할 수 있다. 주변 회로(340)는 메모리 장치(300)의 외부와 데이터(DQ)를 주고 받을 수 있다. 예를 들어, 주변 회로(340)는 메모리 장치(300)의 데이터 입출력 패드를 통해 데이터(DQ)를 주고 받을 수 있다.
데이터 입출력 회로(350)는 글로벌 입출력 라인들(GIOs)을 통해 메모리 장치(300)의 외부와 데이터(DQ)를 주고 받을 수 있다. 데이터 입출력 회로(350)는 입출력 게이팅 회로 및 데이터 입출력 버퍼를 포함하는 구성을 나타낼 수 있다.
제어 로직(360)은 메모리 장치(300)의 전반적인 동작을 제어할 수 있다. 일 실시 예에서, 제어 로직(360)은 커맨드 디코더를 포함할 수 있으며, 커맨드(CMD) 관련 신호들, 예컨대, 칩 선택 신호(chip select; /CS), 로우 어드레스 스트로브 신호(Row Address Strobe; /RAS), 컬럼 어드레스 스트로브 신호(Column Address strobe; /CAS), 라이트 인에이블 신호(Write enable; /WE) 및 클록 인에이블 신호(Clock enable; CKE) 등을 디코딩하여, 디코딩된 명령 신호를 내부적으로 발생할 수 있다.
보안 관리 회로(370)는 메모리 장치(300)에 저장된 보안 데이터를 보호하기 위해, 보안 데이터가 저장된 메모리 셀 어레이(310)의 제2 메모리 영역(314)으로의 외부의 접근을 제한할 수 있다.
이를 위해, 보안 관리 회로(370)는 가드 키(guard key)를 저장할 수 있다. 일 실시 예에서, 보안 관리 회로(370)는, 가드 키 주입 단계(guard key injection phase)에서, 메모리 장치(300)의 외부로부터 가드 키를 수신하여, 저장할 수 있다. 일 실시 예에서, 보안 관리 회로(370)는, 가드 키 업데이트 단계(guard key update phase)에서, 메모리 장치(300)의 외부로부터 가드 키를 수신하여, 기존에 저장된 가드 키를 업데이트 할 수 있다. 가드 키 주입 단계 및 가드 키 업데이트 단계에 관해서는 도 5 및 도 6을 참조해 보다 자세히 설명된다.
보안 관리 회로(370)는, 제2 메모리 영역(보안 영역)(314)에 대한 데이터 동작 커맨드가 수신되는 경우, 메모리 컨트롤러(200)로부터 수신된 비밀번호(PW)와 가드 키를 비교함으로써 제2 메모리 영역(314)에 대한 데이터 동작을 제한할 수 있다. 일 실시 예에서, 보안 관리 회로(370)는, 비밀번호(PW)가 가드 키와 일치하는 경우, 메모리 장치(300)가 제2 메모리 영역(314)에 대한 데이터 동작을 수행하도록 메모리 장치(300)를 제어할 수 있다. 일 실시 예에서, 보안 관리 회로(370)는, 비밀번호(PW)가 가드 키와 일치하지 않는 경우, 메모리 장치(300)가 제2 메모리 영역(314)에 대한 데이터 동작을 수행하지 못하도록 메모리 장치(300)를 제어할 수 있다. 예를 들어, 보안 관리 회로(370)는 컬럼 디코더(330)에 접근 금지 신호(Proh_acc)를 제공할 수 있다. 또한, 일 실시 예에서, 보안 관리 회로(370)는, 비밀번호(PW)가 가드 키와 일치하지 않는 경우, 메모리 컨트롤러(200)에 경고 신호(Alert)를 출력할 수 있다. 일 실시 예에서, 보안 관리 회로(370)는, 제2 메모리 영역(314)에 대한 데이터 동작 커맨드가 수신되고, 비밀번호(PW)가 수신되지 않은 경우, 메모리 장치(300)가 제2 메모리 영역(314)에 대한 데이터 동작을 수행하지 못하도록 메모리 장치(300)를 제어하고, 메모리 컨트롤러(200)에 비밀번호 요청 신호를 송신할 수 있다. 이와 같은 데이터 동작 단계에 관해서는 도 9 내지 도 13을 참조해 보다 자세히 설명된다.
보안 관리 회로(370)는, 데이터 동작 커맨드가 제2 메모리 영역(314)에 대한 커맨드임을 인식하기 위해, 메모리 컨트롤러(200)에 의해 제공되는 어드레스(ADDR)를 영역 정보와 비교할 수 있다. 영역 정보는, 제2 메모리 영역(314)에 관한 정보를 나타낼 수 있다. 일 실시 예에서, 영역 정보는 제2 메모리 영역(314)에 대응되는 시작 어드레스와 보안 영역의 사이즈를 포함할 수 있다. 또한 일 실시 예에서, 영역 정보는, 제2 메모리 영역(314)에 대응되는 시작 어드레스와 끝 어드레스를 포함할 수 있다. 일 실시 예에서, 보안 관리 회로(370)는, 메모리 영역 할당 단계(memory region allocation phase)에서, 영역 정보를 저장할 수 있다. 메모리 영역 할당 단계에 관해서는 도 7, 도 8 및 도 14를 참조해 보다 자세히 설명된다.
보안 관리 회로(370)는 메모리 장치(300) 내에서 다양한 형태로 구현될 수 있으며, 실시 예에 따라 보안 관리 회로(370)는 하드웨어 형태로 구현되거나 소프트웨어 형태로 구현될 수 있다. 예를 들어, 보안 관리 회로(370)가 하드웨어의 형태로 구현되는 경우, 보안 관리 회로(370)는 보안 영역 관리 동작을 수행하기 위한 회로들을 포함할 수 있다. 또한 예를 들어, 보안 관리 회로(370)가 소프트웨어의 형태로 구현되는 경우, 메모리 장치(300) 내에 저장된 프로그램(또는 인스트럭션들) 및/또는 랜덤 입출력 코드가 제어 로직(360) 또는 메모리 장치(300) 내부 적어도 하나의 프로세서에 의해 실행됨으로써 연산 동작을 수행할 수 있다. 하지만 상기 실시 예들에만 한정되는 것도 아니며, 보안 관리 회로(370)는 펌웨어와 같이 소프트웨어와 하드웨어가 결합된 형태로 구현될 수도 있다.
본 개시의 예시적 실시 예에 따르면, 메모리 장치(300)가 제2 메모리 영역(314)을 관리하는 보안 관리 회로(370)를 포함함으로써, 데이터 처리 시스템(10)은 보안 솔루션을 위한 별도의 프로세서를 구비하지 않아도 된다. 다시 말해, 메모리 장치(300)가 보안 솔루션을 위한 구성인 보안 관리 회로(370)를 포함함에 따라, 메모리 장치(300)는 자체적으로 보안 데이터를 처리할 수 있다. 나아가, 본 개시의 예시적 실시 예에 따르면, 데이터 처리 시스템(10)이 보안 솔루션을 위한 별도의 프로세서를 구비하지 않아도 되기 때문에, 데이터 처리 시스템(10) 구현 비용을 절감할 수 있을 것이다.
도 3은 본 개시의 예시적 실시 예에 따른 보안 관리 회로(370)를 나타낸다. 보안 관리 회로(370)는 보안 제어 회로(372), 어드레스 비교 회로(374), 제1 메모리(375), 비밀번호 비교 회로(376) 및 제2 메모리(377)를 포함할 수 있다. 도 3의 보안 관리 회로(370)에 관해 도 1 및 도 2와 중복되는 설명은 생략한다. 도 3은 도 1 및 도 2를 함께 참조하여 설명된다.
제1 메모리(375)는 영역 정보(Info_Reg)를 저장할 수 있다. 일 실시 예에서, 메모리 영역 할당 단계에서, 제1 메모리(375)는 영역 정보(Info_Reg)를 저장하거나, 업데이트 할 수 있다. 일 실시 예에서, 데이터 동작 단계에서, 제1 메모리(375)는 어드레스 비교 회로(374)에 영역 정보(Info_Reg)를 제공할 수 있다. 제1 메모리(375)는, 다양한 종류의 휘발성 메모리 및 다양한 종류의 비휘발성 메모리 중 적어도 하나를 포함할 수 있다.
어드레스 비교 회로(374)는 메모리 컨트롤러(200)로부터 제공되는 어드레스(ADDR)와 영역 정보(Info_Reg)를 비교함으로써, 수신된 커맨드가 메모리 셀 어레이(310)의 제2 메모리 영역(314)에 대한 커맨드인지 판단할 수 있다. 일 실시 예에서, 어드레스 비교 회로(374)는 어드레스(ADDR)와 영역 정보(Info_Reg)를 비교함으로써 영역 비교 결과(Comp_Reg)를 생성할 수 있다. 영역 비교 결과(Comp_Reg)는, 수신된 커맨드가 메모리 셀 어레이(310)의 제2 메모리 영역(314)에 대한 커맨드인지, 메모리 셀 어레이(310)의 제1 메모리 영역(312)에 대한 커맨드인지를 나타낼 수 있다. 예를 들어, 수신된 커맨드가 메모리 셀 어레이(310)의 제2 메모리 영역(314)에 대한 커맨드인 경우, 영역 비교 결과(Comp_Reg)는 제1 논리 레벨(예를 들어, '1')을 나타낼 수 있고, 수신된 커맨드가 메모리 셀 어레이(310)의 제1 메모리 영역(312)에 대한 커맨드인 경우, 영역 비교 결과(Comp_Reg)는 제2 논리 레벨(예를 들어,'0')을 나타낼 수 있다. 어드레스 비교 회로(374)는 영역 비교 결과(Comp_Reg)를 보안 제어 회로(372)에 제공할 수 있다.
제2 메모리(377)는 가드 키(GK)를 저장할 수 있다. 일 실시 예에서, 가드 키 주입 단계 또는 가드 키 업데이트 단계에서, 제2 메모리(377)는 가드 키(GK)를 저장하거나, 업데이트 할 수 있다. 일 실시 예에서, 데이터 동작 단계에서, 제2 메모리(377)는 비밀번호 비교 회로(376)에 가드 키(GK)를 제공할 수 있다. 제2 메모리(377)는, 다양한 종류의 휘발성 메모리 및 다양한 종류의 비휘발성 메모리 중 적어도 하나를 포함할 수 있다. 제1 메모리(375) 및 제2 메모리(377)는 별개의 하드웨어 메모리로 구성될 수도 있으나, 이에 제한되지는 않는다. 예를 들어, 제1 메모리(375) 및 제2 메모리(377)는 하나의 하드웨어 메모리 내에서 다른 영역에 대응되는 메모리를 나타낼 수 있다.
또한, 도 3은 제1 메모리(375) 및 제2 메모리(377)가 보안 관리 회로(370)에 포함된 실시 예를 도시하지만, 이에 제한되는 것은 아니다. 예를 들어, 제1 메모리(375) 및/또는 제2 메모리(377)는 메모리 장치(300) 내 임의의 메모리에 포함되거나 대응되는 개념일 수 있다.
비밀번호 비교 회로(376)는 메모리 컨트롤러(200)로부터 제공되는 비밀번호(PW)와 가드 키(GK)를 비교함으로써 비밀번호 비교 결과(Comp_PW)를 생성해낼 수 있다. 예를 들어, 비밀번호(PW)가 가드 키(GK)와 일치하는 경우, 비밀번호 비교 결과(Comp_PW)는 제1 논리 레벨(예를 들어, '1')을 나타낼 수 있고, 비밀번호(PW)가 가드 키(GK)와 일치하지 않는 경우, 비밀번호 비교 결과(Comp_PW)는 제2 논리 레벨(예를 들어, '0')을 나타낼 수 있다. 여기서, 제1 논리 레벨 및 제2 논리 레벨은 설명의 편의를 위한 것으로서, 어드레스 비교 회로(374)의 설명에 포함된 제1 논리 레벨 및 제2 논리 레벨과는 독립적인 레벨들을 나타낼 수 있다. 비밀번호 비교 회로(376)는 비밀번호 비교 결과(Comp_PW)를 보안 제어 회로(372)에 제공할 수 있다.
보안 제어 회로(372)는, 어드레스 비교 회로(374)로부터 제공된 영역 비교 결과(Comp_Reg) 및 비밀번호 비교 회로(376)로부터 제공된 비밀번호 비교 결과(Comp_PW)를 기초로 메모리 장치(300)의 데이터 동작을 제어할 수 있다. 일 실시 예에서, 메모리 컨트롤러(200)로부터 입력된 비밀번호(PW)가 가드 키(GK)와 일치하지 않는 경우, 보안 제어 회로(372)는 경고 신호(Alert)를 메모리 장치(300)의 외부로 출력할 수 있고, 컬럼 디코더(330)에 접근 금지 신호(Proh_acc)를 제공할 수 있다. 또한, 일 실시 예에서, 수신된 커맨드가 제2 메모리 영역(314)에 대한 커맨드이고, 메모리 컨트롤러(200)로부터 비밀번호(PW)가 입력되지 않은 경우, 보안 제어 회로(372)는 컬럼 디코더(330)에 접근 금지 신호(Proh_acc)를 제공할 수 있다.
보안 제어 회로(372), 어드레스 비교 회로(374) 및 비밀번호 비교 회로(376) 각각은 메모리 장치(300) 내에서 다양한 형태로 구현될 수 있으며, 실시 예에 따라 하드웨어 형태로 구현되거나 소프트웨어 형태로 구현될 수 있다. 하지만 상기 실시 예들에만 한정되는 것도 아니며, 보안 제어 회로(372), 어드레스 비교 회로(374) 및 비밀번호 비교 회로(376) 각각은 펌웨어와 같이 소프트웨어와 하드웨어가 결합된 형태로 구현될 수도 있다.
도 4a 내지 도 4d는 본 개시의 예시적 실시 예에 따른 메모리 셀 어레이(310)를 나타낸다. 도 4a 내지 도 4d는 도 3을 함께 참조해 설명된다.
도 4a를 참조하면, 메모리 셀 어레이(310)는 제1 메모리 영역(312) 및 제2 메모리 영역(314)을 포함할 수 있다. 제1 메모리 영역(312) 및 제2 메모리 영역(314)은 연결된 워드 라인을 기준으로 구분될 수 있다. 다시 말해, 로우 어드레스를 기초로, 제1 메모리 영역(312)과 제2 메모리 영역(314)은 구분될 수 있다. 이 때, 영역 정보(Info_Reg)는 제2 메모리 영역(314)의 시작 로우 어드레스 및 제2 메모리 영역(314)의 사이즈를 포함할 수 있다. 일 실시 예에서, 영역 정보(Info_Reg)는 제2 메모리 영역(314)의 시작 로우 어드레스 및 끝 로우 어드레스를 포함할 수 있다.
도 4b를 참조하면, 메모리 셀 어레이(310)는 복수의 제1 메모리 영역들(312_1, 312_2) 및 복수의 제2 메모리 영역들(314_1, 314_2)을 포함할 수 있다. 복수의 제1 메모리 영역들(312_1, 312_2) 및 복수의 제2 메모리 영역들(314_1, 314_2)은 연결된 워드 라인을 기준으로 구분될 수 있다. 다시 말해, 로우 어드레스를 기초로, 복수의 제1 메모리 영역들(312_1, 312_2)과 제2 메모리 영역들(314_1, 314_2)은 구분될 수 있다. 이 때, 영역 정보(Info_Reg)는 복수의 제2 메모리 영역들(314_1, 314_2) 각각의 시작 로우 어드레스 및 사이즈를 포함할 수 있다. 일 실시 예에서, 영역 정보(Info_Reg)는 복수의 제2 메모리 영역들(314_1, 314_2) 각각의 시작 로우 어드레스 및 끝 로우 어드레스를 포함할 수 있다.
도 4c를 참조하면, 메모리 셀 어레이(310)는 제1 메모리 영역(312) 및 제2 메모리 영역(314)을 포함할 수 있다. 제1 메모리 영역(312) 및 제2 메모리 영역(314)은 연결된 비트 라인을 기준으로 구분될 수 있다. 다시 말해, 컬럼 어드레스를 기초로, 제1 메모리 영역(312)과 제2 메모리 영역(314)은 구분될 수 있다. 이 때, 영역 정보(Info_Reg)는 제2 메모리 영역(314)의 시작 컬럼 어드레스 및 제2 메모리 영역(314)의 사이즈를 포함할 수 있다. 일 실시 예에서, 영역 정보(Info_Reg)는 제2 메모리 영역(314)의 시작 컬럼 어드레스 및 끝 컬럼 어드레스를 포함할 수 있다.
도 4d를 참조하면, 메모리 셀 어레이(310)는 복수의 제1 메모리 영역들(312_1, 312_2) 및 복수의 제2 메모리 영역들(314_1, 314_2)을 포함할 수 있다. 복수의 제1 메모리 영역들(312_1, 312_2) 및 복수의 제2 메모리 영역들(314_1, 314_2)은 연결된 비트 라인을 기준으로 구분될 수 있다. 다시 말해, 컬럼 어드레스를 기초로, 복수의 제1 메모리 영역들(312_1, 312_2)과 제2 메모리 영역들(314_1, 314_2)은 구분될 수 있다. 이 때, 영역 정보(Info_Reg)는 복수의 제2 메모리 영역들(314_1, 314_2) 각각의 시작 컬럼 어드레스 및 사이즈를 포함할 수 있다. 일 실시 예에서, 영역 정보(Info_Reg)는 복수의 제2 메모리 영역들(314_1, 314_2) 각각의 시작 컬럼 어드레스 및 끝 컬럼 어드레스를 포함할 수 있다.
도 4e는 본 개시의 예시적 실시 예에 따른 복수의 메모리 뱅크들을 나타낸다. 도 4e는 도 2 및 도 3을 함께 참조하여 설명된다.
메모리 장치(300)는 복수의 메모리 뱅크들을 포함할 수 있다. 복수의 메모리 뱅크들은 복수의 제1 영역 메모리 뱅크들(312_1,…, 312_N) 및 복수의 제2 영역 메모리 뱅크들(314_1,…,314_M)을 포함할 수 있다(N, M은 자연수). 복수의 제1 영역 메모리 뱅크들(312_1,…, 312_N)은 노말 데이터를 저장할 수 있고, 복수의 제2 영역 메모리 뱅크들(314_1,…,314_M)은 보안 데이터를 저장할 수 있다. 이 때, 영역 정보(Info_Reg)는 복수의 제2 영역 메모리 뱅크들(314_1,…,314_M)에 관한 정보를 포함할 수 있다.
도 5는 본 개시의 예시적 실시 예에 따른 가드 키 주입 단계(guard key injection phase) 또는 가드 키 업데이트 단계(guard key update phase)에서의 데이터 처리 시스템(10)을 나타낸다. 데이터 처리 시스템(10)에 관해 도 1과 중복되는 설명은 생략한다. 도 5는 도 1을 함께 참조하여 설명된다.
가드 키 주입 단계 또는 가드 키 업데이트 단계에서, 호스트(100)는 가드 키(GK)를 생성할 수 있다. 호스트(100)는 자체적으로 가드 키(GK)를 생성할 수 있고, 또는 호스트(100)의 사용자로부터 입력을 받음으로써 가드 키(GK)를 생성할 수 있다. 일 실시 예에서, 호스트(100)는 일정 시간 간격을 두고 새로운 가드 키(GK)를 생성할 수 있다. 예를 들어, 호스트(100)는 일정한 주기 마다 새로운 가드 키(GK)를 생성함으로써 데이터 처리 시스템(10)의 보안을 향상시킬 수 있다. 호스트(100)는 생성된 가드 키(GK)를 메모리 컨트롤러(200)에 제공할 수 있다.
메모리 컨트롤러(200)는 가드 키(GK)를 보안 관리 회로(370)에 제공할 수 있다. 일 실시 예에서, 메모리 컨트롤러(200)는 가드 키(GK)를 보안 관리 회로(370)에 제공하기 전에, 가드 키 주입 단계 또는 가드 키 업데이트 단계를 알리는 모드 신호를 메모리 장치(300)에 제공할 수 있다. 예를 들어, 메모리 컨트롤러(200)는 커맨드 라인을 통해 모드 신호를 메모리 장치(300)에 제공할 수 있다.
보안 관리 회로(370)는 메모리 컨트롤러(200)로부터 수신된 가드 키(GK)를 저장하거나 업데이트 할 수 있다. 예를 들어, 제2 메모리(377)는 수신된 가드 키(GK)를 저장하거나, 수신된 가드 키(GK)를 기초로 기존의 가드 키를 업데이트 할 수 있다.
도 6은 본 개시의 예시적 실시 예에 따른 가드 키 주입 단계 또는 가드 키 업데이트 단계의 순서도를 나타낸다. 설명의 편의를 위해, 호스트(100)와 메모리 컨트롤러(200)를 일컬어 호스트 시스템(150)이라 칭하기로 한다. 도 6은 도 5를 함께 참조하여 설명된다.
호스트 시스템(150)은 가드 키(GK)를 생성할 수 있다(S120).
호스트 시스템(150)은 생성된 가드 키(GK)를 보안 관리 회로(370)에 전송할 수 있다(S140).
보안 관리 회로(370)는 수신된 가드 키(GK)를 제2 메모리(377)에 저장할 수 있다(S160). 예를 들어, 가드 키 주입 단계에서, 보안 관리 회로(370)는 수신된 가드 키(GK)를 제2 메모리(377)에 새롭게 저장할 수 있다. 이와 같이, 최초로 가드 키(GK)를 제2 메모리(377)에 저장하는 것을 가드 키(GK) 주입이라 칭하기로 한다. 예를 들어, 가드 키 업데이트 단계에서, 보안 관리 회로(370)는 제2 메모리(377)에 저장된 기존의 가드 키를 수신된 가드 키(GK)로 대체함으로써 가드 키(GK)를 업데이트 할 수 있다.
도 7은 본 개시의 예시적 실시 예에 따른 메모리 영역 할당 단계(memory region allocation phase)에서의 데이터 처리 시스템(10)을 나타낸다. 데이터 처리 시스템(10)에 관해 도 1과 중복되는 설명은 생략한다. 도 7은 도 1을 함께 참조하여 설명된다.
메모리 영역 할당 단계에서, 호스트(100)는 가상 메모리 영역을 할당할 수 있다. 가상 메모리 영역이란, 메모리 장치(300의 메모리 셀 어레이(310) 중 제2 메모리 영역(혹은 보안 영역)에 대응될 수 있다. 호스트(100)는, 할당된 가상 메모리 영역에 대응되는 가상 어드레스(V/A)를 메모리 컨트롤러(200)에 제공할 수 있다.
메모리 컨트롤러(200)는 가상 어드레스(V/A)를 물리 어드레스(P/A)로 맵핑할 수 있다. 이를 위해, 메모리 컨트롤러(200)는 복수의 가상 어드레스들에 대응되는 물리 어드레스들을 포함하는 맵핑 테이블을 저장할 수 있다.
앞선 도면들을 참조해 설명되었듯이, 보안 관리 회로(370)는 영역 정보(Info_Reg)를 저장할 수 있고, 영역 정보(Info_Reg)에 기초하여 메모리 장치(300)를 제어할 수 있다. 메모리 장치(300)가 상기 가상 메모리 영역에 대응되는 영역 정보(Info_Reg)를 생성 및 저장할 수 있도록 하기 위해, 메모리 컨트롤러(200)는 메모리 장치(300)에 기입 커맨드(CMD_wr)를 전송할 수 있다. 일 실시 예에서, 메모리 컨트롤러(200)는, 메모리 장치(300)에게 메모리 영역 할당 단계를 알리기 위해, 기입 커맨드(CMD_wr)를 전송하기 전에, 혹은 기입 커맨드(CMD_wr)를 전송함과 동시에 커맨드 라인을 통해 모드 신호를 메모리 장치(300)에 전송할 수 있다. 메모리 컨트롤러(200)는 기입 커맨드(CMD_wr)를 전송한 뒤, 혹은 전송함과 동시에, 가상 어드레스(V/A)를 기초로 맵핑 된 물리 어드레스(P/A)를 어드레스(ADDR) 라인을 통해 메모리 장치(300)에 제공할 수 있다.
보안 관리 회로(370)는, 메모리 컨트롤러(200)로부터 수신되는 물리 어드레스(P/A)를 기초로 영역 정보(Info_Reg)를 생성할 수 있고, 생성된 영역 정보(Info_Reg)를 제1 메모리(375)에 저장할 수 있다. 영역 정보(Info_Reg)는 메모리 셀 어레이(310)의 보안 영역에 관한 정보를 나타낼 수 있다.
도 8은 본 개시의 예시적 실시 예에 따른 메모리 영역 할당 단계의 순서도를 나타낸다. 설명의 편의를 위해, 호스트(100)와 메모리 컨트롤러(200)를 일컬어 호스트 시스템(150)이라 칭하기로 한다. 도 8은 도 7을 함께 참조하여 설명된다.
호스트 시스템(150)은 가상 메모리 영역을 할당할 수 있다(S210).
호스트 시스템(150)은 가상 메모리 영역에 대응되는 가상 어드레스(V/A)를 물리 어드레스(P/A)로 맵핑할 수 있다(S220). 예를 들어, 호스트 시스템(150)은 메모리 컨트롤러(200)에 저장된 맵핑 테이블을 기초로, 가상 어드레스(V/A)를 물리 어드레스(P/A)로 맵핑함으로써 가상 메모리 영역에 대응되는 물리 어드레스(P/A)를 얻어낼 수 있다.
호스트 시스템(150)은 메모리 장치(300)에 기입 커맨드(CMD_wr)를 전송할 수 있다(S230).
호스트 시스템(150)은 맵핑 된 물리 어드레스(P/A)를 메모리 장치(300)에 전송할 수 있다(S240). 예를 들어, 호스트 시스템(150)은 물리 어드레스(P/A)를 보안 관리 회로(370)에 전송할 수 있다.
보안 관리 회로(370)는 수신된 물리 어드레스(P/A)를 기초로 영역 정보(Info_Reg)를 생성할 수 있고, 생성된 영역 정보(Info_Reg)를 제1 메모리(375)에 저장할 수 있다(S250).
도 8에 도시된 예시적 실시 예에 따른 메모리 영역 할당 단계를 거치면서, 데이터 처리 시스템(10)의 호스트 시스템(150) 및 메모리 장치(300)는 모두 공통된 메모리 영역을 메모리 셀 어레이(310)의 제2 메모리 영역(보안 영역)으로 인식할 수 있다.
도 9는 본 개시의 예시적 실시 예에 따른 데이터 동작 단계(data operation phase)에서의 데이터 처리 시스템(10)을 나타낸다. 데이터 처리 시스템(10)에 관해 도 1과 중복되는 설명은 생략한다. 도 9는 도 1 및 도 2를 함께 참조하여 설명된다.
호스트(100)는 메모리 컨트롤러(200)에 요청(REQ)을 송신할 수 있다. 예를 들어, 호스트(100)는 메모리 컨트롤러(200)에 데이터 독출 요청 또는 데이터 기입 요청과 같은 데이터 동작 요청을 송신할 수 있다.
메모리 컨트롤러(200)는 호스트(100)의 요청(REQ)을 기초로 메모리 장치(300)에 커맨드(CMD), 어드레스(ADDR) 및 데이터(DQ)를 송신할 수 있다. 메모리 컨트롤러(200)는, 메모리 셀 어레이(310)의 제2 메모리 영역(보안 영역)(314)에 대한 데이터 독출 커맨드를 메모리 장치(300)에 송신하는 경우, 메모리 장치(300)에 비밀번호(PW)를 제공할 수 있다. 메모리 컨트롤러(200)는 호스트(100)의 제어 하에 비밀번호(PW)를 메모리 장치(300)에 제공할 수 있다. 일 실시 예에서, 호스트(100)는 컴퓨팅 시스템의 다른 구성으로부터 비밀번호(PW)를 수신할 수 있다. 하지만 이에 제한되지 않으며, 일 실시 예에서, 호스트(100)는 호스트(100)의 사용자로부터 비밀번호(PW)를 입력 받을 수도 있다. 예를 들어, 메모리 컨트롤러(200)는 보안 관리 회로(370)에 비밀번호를 제공할 수 있다.
어드레스 비교 회로(374)는, 메모리 컨트롤러(200)로부터 제공되는 어드레스(ADDR)와 저장된 영역 정보(Info_Reg)를 비교함으로써 영역 비교 결과(Comp_Reg)를 생성할 수 있다. 어드레스 비교 회로(374)는 영역 비교 결과(Comp_Reg)를 보안 제어 회로(372)에 제공할 수 있다.
비밀번호 비교 회로(376)는, 메모리 컨트롤러(200)로부터 제공되는 비밀번호(PW)와 저장된 가드 키를 비교함으로써 비밀번호 비교 결과(Comp_PW)를 생성할 수 있다. 비밀번호 비교 회로(376)는 비밀번호 비교 결과(Comp_PW)를 보안 제어 회로(372)에 제공할 수 있다.
보안 제어 회로(372)는 영역 비교 결과(Comp_Reg) 및 비밀번호 비교 결과(Comp_PW)를 기초로 제어 동작을 수행할 수 있다. 예를 들어, 비밀번호(PW)가 가드 키와 일치하지 않는 경우, 보안 제어 회로(372)는 메모리 컨트롤러(200)에 경고 신호(Alert)를 제공할 수 있고, 메모리 장치(300)가 제2 메모리 영역(314)에 대한 데이터 동작을 수행하지 못하도록 메모리 장치(300)를 제어할 수 있다. 예를 들어, 보안 제어 회로(372)는 컬럼 디코더(330)에 접근 금지 신호(Proh_acc)를 제공할 수 있다. 또한 예를 들어, 비밀번호(PW)가 입력되지 않았는데, 제2 메모리 영역(314)에 대한 데이터 동작 커맨드가 수신된 경우, 보안 제어 회로(372)는 메모리 컨트롤러(200)에 비밀번호 요청 신호를 제공할 수 있고, 메모리 장치(300)가 제2 메모리 영역(314)에 대한 데이터 동작을 수행하지 못하도록 메모리 장치(300)를 제어할 수 있다. 예를 들어, 보안 제어 회로(372)는 컬럼 디코더(330)에 접근 금지 신호(Proh_acc)를 제공할 수 있다.
데이터 처리 시스템(10)의 데이터 동작 단계에 관해서는 도 10 내지 도 13을 참조해 다양한 경우를 상정해 설명된다.
도 10은 본 개시의 예시적 실시 예에 따른 데이터 동작 단계의 순서도를 나타낸다. 도 10은 특히, 커맨드 신호를 전송하기에 앞서 비밀번호를 먼저 전송하고, 비밀번호가 가드 키와 일치하는 경우의 순서도를 도시한다. 설명의 편의를 위해, 호스트(100)와 메모리 컨트롤러(200)를 일컬어 호스트 시스템(150)이라 칭하기로 한다. 도 10은 도 2, 도 3 및 도 9를 함께 참조하여 설명된다.
호스트(100)는 메모리 장치(300) 내 메모리 셀 어레이(310)의 제2 메모리 영역(314)에 대한 데이터 동작 요청을 생성할 수 있다(S310). 호스트(100)는 데이터 동작 요청을 메모리 컨트롤러(200)에 제공할 수 있다.
호스트 시스템(150)은 보안 관리 회로(370)에 비밀번호(PW)를 전송할 수 있다(S320). 일 실시 예에서, 메모리 컨트롤러(200)는 커맨드 라인을 통해 비밀번호(PW)를 메모리 장치(300)에 전송할 수 있다.
보안 관리 회로(370)는 메모리 컨트롤러(200)로부터 수신된 비밀번호(PW)와 저장된 가드 키(GK)를 비교할 수 있다(S330). 일 실시 예에서, 보안 관리 회로(370) 내 비밀번호 비교 회로(376)는 비밀번호(PW)와 가드 키(GK)를 비교할 수 있다. 가드 키(GK)는 보안 관리 회로(370) 내 제2 메모리(377)에 저장될 수 있으며, 도 5 및 도 6을 참조해 설명된 가드 키 주입 단계 또는 가드 키 업데이트 단계를 통해 제2 메모리(377)에 저장될 수 있다. 일 실시 예에서, 보안 관리 회로(370)는 해시 함수(hash function)을 이용해 상기 비밀번호(PW)와 상기 가드 키(GK)를 비교할 수 있다.
비밀번호(PW)와 가드 키(GK)가 일치한 경우를 상정하여 이하의 단계들에 대해 설명한다. 비밀번호(PW)와 가드 키(GK)가 일치하지 않은 경우는 도 12에서 설명된다.
보안 관리 회로(370)는 호스트 시스템(150)에 락(lock) 해제 알림 신호를 전송할 수 있다(S340). 락 해제 알림 신호는, 제2 메모리 영역(314)에 대한 잠금이 풀려, 제2 메모리 영역(314)에 대한 데이터 동작 수행이 가능함을 나타내는 신호일 수 있다. S340 단계는 선택적인 단계로서, 생략되어도 무방하다.
호스트 시스템(150)은 메모리 장치(300)에 데이터 동작 커맨드(CMD), 데이터(DQ) 및 어드레스(ADDR)를 전송할 수 있다(S350).
보안 관리 회로(370)는, 메모리 장치(300)가 상기 커맨드(CMD), 데이터(DQ) 및 어드레스(ADDR)에 기초해 데이터 동작을 수행하도록 메모리 장치(300)를 제어할 수 있다(S360).
이와 같이, 비밀번호(PW)가 가드 키(GK)와 일치하는 경우, 메모리 장치(300)는 보안된 영역인 제2 메모리 영역(314)에 대한 데이터 동작을 정상적으로 수행할 수 있다.
도 11은 본 개시의 예시적 실시 예에 따른 데이터 동작 단계의 순서도를 나타낸다. 도 11은 특히, 비밀번호를 전송하기에 앞서 커맨드 신호를 먼저 전송하고, 비밀번호가 가드 키와 일치하는 경우의 순서도를 도시한다. 설명의 편의를 위해, 호스트(100)와 메모리 컨트롤러(200)를 일컬어 호스트 시스템(150)이라 칭하기로 한다. 도 11은 도 2, 도 3 및 도 9를 함께 참조하여 설명된다.
호스트(100)는 메모리 장치(300) 내 메모리 셀 어레이(310)의 제2 메모리 영역(314)에 대한 데이터 동작 요청을 생성할 수 있다(S410). 호스트(100)는 데이터 동작 요청을 메모리 컨트롤러(200)에 제공할 수 있다.
호스트 시스템(150)은 메모리 장치(300)에 데이터 동작 커맨드(CMD), 데이터(DQ) 및 어드레스(ADDR)를 전송할 수 있다(S420).
보안 관리 회로(370)는 수신된 어드레스(ADDR)를 영역 정보(Info_Reg)를 비교할 수 있다(S430). 일 실시 예에서, 보안 관리 회로(370) 내 어드레스 비교 회로(374)는 어드레스(ADDR)와 영역 정보(Info_Reg)를 비교할 수 있다. 영역 정보(Info_Reg)는 보안 관리 회로(370) 내 제1 메모리(375)에 저장될 수 있으며, 도 7, 도 8 및 도 14를 참조해 설명되는 메모리 영역 할당 단계를 통해 제1 메모리(375)에 저장될 수 있다.
어드레스(ADDR)와 영역 정보(Info_Reg)를 비교한 결과, 커맨드(CMD)가 보안 영역인 제2 메모리 영역(314)에 대한 커맨드인 경우를 상정하여 이하의 단계들에 대해 설명한다.
보안 관리 회로(370)는 메모리 장치(300)가 데이터 동작을 보류하도록 메모리 장치(300)를 제어할 수 있다.
보안 관리 회로(370)는 호스트 시스템(150)에 비밀번호 요청 신호를 전송할 수 있다(S440). 비밀번호 요청 신호는, 호스트 시스템(150)에 비밀번호의 전송을 요청하는 신호를 나타낼 수 있다. S440 단계는 선택적인 단계로서, 생략되어도 무방하다.
호스트 시스템(150)은 보안 관리 회로(370)를 비밀번호(PW)를 전송할 수 있다(S450). 일 실시 예에서, 메모리 컨트롤러(200)는 커맨드 라인을 통해 비밀번호(PW)를 메모리 장치(300)에 전송할 수 있다.
보안 관리 회로(370)는 메모리 컨트롤러(200)로부터 수신된 비밀번호(PW)와 저장된 가드 키(GK)를 비교할 수 있다(S460). 일 실시 예에서, 보안 관리 회로(370) 내 비밀번호 비교 회로(376)는 비밀번호(PW)와 가드 키(GK)를 비교할 수 있다. 가드 키(GK)는 보안 관리 회로(370) 내 제2 메모리(377)에 저장될 수 있으며, 도 5 및 도 6을 참조해 설명된 가드 키 주입 단계 또는 가드 키 업데이트 단계를 통해 제2 메모리(377)에 저장될 수 있다. 일 실시 예에서, 보안 관리 회로(370)는 해시 함수(hash function)을 이용해 상기 비밀번호(PW)와 상기 가드 키(GK)를 비교할 수 있다.
비밀번호(PW)와 가드 키(GK)가 일치한 경우를 상정하여 이하의 단계들에 대해 설명한다. 비밀번호(PW)와 가드 키(GK)가 일치하지 않은 경우는 도 13에서 설명된다.
보안 관리 회로(370)는, 메모리 장치(300)가 상기 커맨드(CMD), 데이터(DQ) 및 어드레스(ADDR)에 기초해 데이터 동작을 수행하도록 메모리 장치(300)를 제어할 수 있다(S470).
이와 같이, 비밀번호(PW)가 가드 키(GK)와 일치하는 경우, 메모리 장치(300)는 보안된 영역인 제2 메모리 영역(314)에 대한 데이터 동작을 정상적으로 수행할 수 있다.
도 12는 본 개시의 예시적 실시 예에 따른 데이터 동작 단계의 순서도를 나타낸다. 도 12는 특히, 커맨드 신호를 전송하기에 앞서 비밀번호를 먼저 전송하고, 비밀번호가 가드 키와 일치하지 않는 경우의 순서도를 도시한다. 설명의 편의를 위해, 호스트(100)와 메모리 컨트롤러(200)를 일컬어 호스트 시스템(150)이라 칭하기로 한다. 도 12는 도 2, 도 3 및 도 9를 함께 참조하여 설명된다.
호스트(100)는 메모리 장치(300) 내 메모리 셀 어레이(310)의 제2 메모리 영역(314)에 대한 데이터 동작 요청을 생성할 수 있다(5310). 호스트(100)는 데이터 동작 요청을 메모리 컨트롤러(200)에 제공할 수 있다.
호스트 시스템(150)은 보안 관리 회로(370)를 비밀번호(PW)를 전송할 수 있다(S520). 일 실시 예에서, 메모리 컨트롤러(200)는 커맨드 라인을 통해 비밀번호(PW)를 메모리 장치(300)에 전송할 수 있다.
보안 관리 회로(370)는 메모리 컨트롤러(200)로부터 수신된 비밀번호(PW)와 저장된 가드 키(GK)를 비교할 수 있다(S530). 일 실시 예에서, 보안 관리 회로(370) 내 비밀번호 비교 회로(376)는 비밀번호(PW)와 가드 키(GK)를 비교할 수 있다. 가드 키(GK)는 보안 관리 회로(370) 내 제2 메모리(377)에 저장될 수 있으며, 도 5 및 도 6을 참조해 설명된 가드 키 주입 단계 또는 가드 키 업데이트 단계를 통해 제2 메모리(377)에 저장될 수 있다. 일 실시 예에서, 보안 관리 회로(370)는 해시 함수(hash function)을 이용해 상기 비밀번호(PW)와 상기 가드 키(GK)를 비교할 수 있다.
비밀번호(PW)와 가드 키(GK)가 일치하지 않는 경우를 상정하여 이하의 단계들에 대해 설명한다. 비밀번호(PW)와 가드 키(GK)가 일치하는 경우는 도 10에서 설명된 바 있다.
보안 관리 회로(370)는 호스트 시스템(150)에 경고 신호(Alert)를 전송할 수 있다(S540). 경고 신호(Alert)는, 제2 메모리 영역(314)에 대한 데이터 동작이 수행될 수 없음을 나타내는 신호일 수 있다.
호스트 시스템(150)은 메모리 장치(300)에 데이터 동작 커맨드(CMD), 데이터(DQ) 및 어드레스(ADDR)를 전송할 수 있다(S550).
보안 관리 회로(370)는, 상기 커맨드(CMD), 데이터(DQ) 및 어드레스(ADDR)가 메모리 장치(300)에 의해 수신되었음에도 불구하고, 메모리 장치(300)가 데이터 동작을 수행하지 못하도록 메모리 장치(300)를 제어할 수 있다(S560). 예를 들어, 보안 관리 회로(370)는 메모리 셀 어레이(310)의 제2 메모리 영역(314)에 데이터가 기입되거나, 메모리 셀 어레이(310)의 제2 메모리 영역(314)으로부터 데이터가 독출되지 않도록 하기 위해 로우 디코더(320) 또는 컬럼 디코더(330)를 제어할 수 있다.
이와 같이, 비밀번호(PW)가 가드 키(GK)와 일치하지 않는 경우, 메모리 장치(300)는 보안된 영역인 제2 메모리 영역(314)에 대한 데이터 동작을 정상적으로 수행할 수 없다. 이로써, 메모리 장치(300)는 제2 메모리 영역(314)으로의 인가되지 않은 외부의 접근을 차단(혹은 제한)할 수 있다. 이로써, 제2 메모리 영역(314)을 보호할 수 있고, 제2 메모리 영역(314)에 저장된 보안 데이터를 보호할 수 있다.
도 13은 본 개시의 예시적 실시 예에 따른 데이터 동작 단계의 순서도를 나타낸다. 도 13은 특히, 비밀번호를 전송하기에 앞서 커맨드 신호를 먼저 전송하고, 비밀번호가 가드 키와 일치하지 않는 경우의 순서도를 도시한다. 설명의 편의를 위해, 호스트(100)와 메모리 컨트롤러(200)를 일컬어 호스트 시스템(150)이라 칭하기로 한다. 도 13은 도 2, 도 3 및 도 9를 함께 참조하여 설명된다.
호스트(100)는 메모리 장치(300) 내 메모리 셀 어레이(310)의 제2 메모리 영역(314)에 대한 데이터 동작 요청을 생성할 수 있다(S610). 호스트(100)는 데이터 동작 요청을 메모리 컨트롤러(200)에 제공할 수 있다.
호스트 시스템(150)은 메모리 장치(300)에 데이터 동작 커맨드(CMD), 데이터(DQ) 및 어드레스(ADDR)를 전송할 수 있다(S620).
보안 관리 회로(370)는 수신된 어드레스(ADDR)를 영역 정보(Info_Reg)를 비교할 수 있다(S630). 일 실시 예에서, 보안 관리 회로(370) 내 어드레스 비교 회로(374)는 어드레스(ADDR)와 영역 정보(Info_Reg)를 비교할 수 있다. 영역 정보(Info_Reg)는 보안 관리 회로(370) 내 제1 메모리(375)에 저장될 수 있으며, 도 7, 도 8 및 도 14를 참조해 설명되는 메모리 영역 할당 단계를 통해 제1 메모리(375)에 저장될 수 있다.
어드레스(ADDR)와 영역 정보(Info_Reg)를 비교한 결과, 커맨드(CMD)가 보안 영역인 제2 메모리 영역(314)에 대한 커맨드인 경우를 상정하여 이하의 단계들에 대해 설명한다.
보안 관리 회로(370)는 호스트 시스템(150)에 비밀번호 요청 신호를 전송할 수 있다(S640). 비밀번호 요청 신호는, 호스트 시스템(150)에 비밀번호의 전송을 요청하는 신호를 나타낼 수 있다. S640 단계는 선택적인 단계로서, 생략되어도 무방하다.
호스트 시스템(150)은 보안 관리 회로(370)를 비밀번호(PW)를 전송할 수 있다(S650). 일 실시 예에서, 메모리 컨트롤러(200)는 커맨드 라인을 통해 비밀번호(PW)를 메모리 장치(300)에 전송할 수 있다.
보안 관리 회로(370)는 메모리 컨트롤러(200)로부터 수신된 비밀번호(PW)와 저장된 가드 키(GK)를 비교할 수 있다(S660). 일 실시 예에서, 보안 관리 회로(370) 내 비밀번호 비교 회로(376)는 비밀번호(PW)와 가드 키(GK)를 비교할 수 있다. 가드 키(GK)는 보안 관리 회로(370) 내 제2 메모리(377)에 저장될 수 있으며, 도 5 및 도 6을 참조해 설명된 가드 키 주입 단계 또는 가드 키 업데이트 단계를 통해 제2 메모리(377)에 저장될 수 있다. 일 실시 예에서, 보안 관리 회로(370)는 해시 함수(hash function)을 이용해 상기 비밀번호(PW)와 상기 가드 키(GK)를 비교할 수 있다.
비밀번호(PW)와 가드 키(GK)가 일치하지 않는 경우를 상정하여 이하의 단계들에 대해 설명한다. 비밀번호(PW)와 가드 키(GK)가 일치하는 경우는 도 11에서 설명된 바 있다.
보안 관리 회로(370)는, 상기 커맨드(CMD), 데이터(DQ) 및 어드레스(ADDR)가 메모리 장치(300)에 의해 수신되었음에도 불구하고, 메모리 장치(300)가 데이터 동작을 수행하지 못하도록 메모리 장치(300)를 제어할 수 있다(S670). 예를 들어, 보안 관리 회로(370)는 메모리 셀 어레이(310)의 제2 메모리 영역(314)에 데이터가 기입되거나, 메모리 셀 어레이(310)의 제2 메모리 영역(314)으로부터 데이터가 독출되지 않도록 하기 위해 로우 디코더(320) 또는 컬럼 디코더(330)를 제어할 수 있다.
이와 같이, 비밀번호(PW)가 가드 키(GK)와 일치하지 않는 경우, 메모리 장치(300)는 보안된 영역인 제2 메모리 영역(314)에 대한 데이터 동작을 정상적으로 수행할 수 없다. 이로써, 메모리 장치(300)는 제2 메모리 영역(314)으로의 인가되지 않은 외부의 접근을 차단(혹은 제한)할 수 있다. 이로써, 제2 메모리 영역(314)을 보호할 수 있고, 제2 메모리 영역(314)에 저장된 보안 데이터를 보호할 수 있다.이와 같이, 비밀번호(PW)가 가드 키(GK)와 일치하는 경우, 메모리 장치(300)는 보안된 영역인 제2 메모리 영역(314)에 대한 데이터 동작을 정상적으로 수행할 수 있다.
도 14는 본 개시의 예시적 실시 예에 따른 메모리 영역 할당 단계의 순서도를 나타낸다. 설명의 편의를 위해, 호스트(100)와 메모리 컨트롤러(200)를 일컬어 호스트 시스템(150)이라 칭하기로 한다. 도 14는 도 3 및 도 7을 함께 참조하여 설명된다.
보안 관리 회로(370)는 메모리 셀 어레이 내에서 제2 메모리 영역(보안 영역)(314)으로 사용할 메모리 영역을 할당하여, 제2 메모리 영역(314)에 대응되는 물리 어드레스(P/A)를 획득할 수 있다(S710).
보안 관리 회로(370)는 획득된 물리 어드레스(P/A)를 기초로 영역 정보(Info_Reg)를 생성할 수 있고, 생성된 영역 정보(Info_Reg)를 제1 메모리(375)에 저장할 수 있다.
보안 관리 회로(370)는 획득된 물리 어드레스(P/A)에 관한 정보를 호스트 시스템(150)에 전송할 수 있다(S730).
호스트 시스템(150)은 수신된 물리 어드레스(P/A)를 가상 어드레스(V/A)로 맵핑할 수 있다(S740). 예를 들어, 호스트 시스템(150)은 메모리 컨트롤러(200)에 저장된 맵핑 테이블을 기초로, 물리 어드레스(P/A)를 가상 어드레스(V/A)로 맵핑함으로써 제2 메모리 영역(314)에 대응되는 가상 어드레스(V/A)를 얻어낼 수 있다.
도 14에 도시된 예시적 실시 예에 따른 메모리 영역 할당 단계를 거치면서, 데이터 처리 시스템(10)의 호스트 시스템(150) 및 메모리 장치(300)는 모두 공통된 메모리 영역을 메모리 셀 어레이(310)의 제2 메모리 영역(보안 영역)으로 인식할 수 있다.
도 15는 본 개시의 예시적 실시 예에 따른 메모리 장치(1300)의 구조를 나타낸다. 도 15는, 서로 독립된 인터페이스를 갖는 다수의 채널들을 포함함으로써 증가된 대역폭(bandwidth)을 갖는 HBM(High Bandwidth Memory) 형태의 메모리 장치(1300)가 개시된다.
메모리 장치(1300)는 다수 개의 레이어들을 포함할 수 있다. 일 예로서, 메모리 장치(1300)는 버퍼 다이(1310)와 버퍼 다이(1310) 상에 적층된 적어도 하나의 코어 다이(1320)를 포함할 수 있다. 예컨대, 제1 코어 다이(1321)가 제1 채널(CH1) 및 제3 채널(CH3)을 포함하고, 제2 코어 다이(1322)가 제2 채널(CH2) 및 제4 채널(CH4)을 포함하며, 제3 코어 다이(1323)가 제5 채널(CH5) 및 제7 채널(CH7)을 포함하며, 제4 코어 다이(1324)가 제6 채널(CH6) 및 제8 채널(CH8)을 포함할 수 있다.
버퍼 다이(1310)는 메모리 컨트롤러와 통신하고, 메모리 컨트롤러로부터 커맨드, 어드레스 및 데이터를 수신할 수 있으며, 수신된 커맨드, 어드레스 및 데이터를 적어도 하나의 코어 다이(1320)로 제공할 수 있다. 버퍼 다이(1310)는 그 외면에 형성된 범프 등의 도전 수단을 통해 메모리 컨트롤러와 통신할 수 있다. 버퍼 다이(1310)는 커맨드, 어드레스 및 데이터를 버퍼링하며, 이에 따라 메모리 컨트롤러는 버퍼 다이(1310)의 로드(load) 만을 구동함으로써 적어도 하나의 코어 다이(1320)와 인터페이스 할 수 있다.
또한, 메모리 장치(1300)는 레이어들을 관통하는 다수 개의 스루 실리콘 비아(TSV; 1330)들을 포함할 수 있다. TSV(1330)들은 다수의 채널들(CH1~CH8)에 대응하여 배치될 수 있으며, 각각의 채널이 128 비트의 대역폭(bandwidth)을 갖는 경우, TSV(1330)들은 1024 비트의 데이터 입출력을 위한 구성들을 포함할 수 있다.
버퍼 다이(1310)는 TSV 영역(1312), 물리(PHY) 영역(1313) 및 다이렉트 억세스 영역(DA, 1314)을 포함할 수 있다. TSV 영역(1312)은 적어도 하나의 코어 다이(1320)와의 통신을 위한 TSV(1330)가 형성되는 영역이다. 또한, 물리(PHY) 영역(1313)은 외부의 메모리 컨트롤러와의 통신을 위해 다수의 입출력 회로를 포함하는 영역으로서, 메모리 컨트롤러로부터의 각종 신호들은 물리(PHY) 영역(1313)을 통해 TSV 영역(1312)으로 제공되고, 또한 TSV(1330)를 통해 적어도 하나의 코어 다이(1320)로 제공될 수 있다.
본 개시의 예시적 실시 예에 따르면, 보안 관리 회로(1370)는 버퍼 다이(1310)에 구현될 수 있다. 보안 관리 회로(1370)는, 도 1 내지 도 14를 참조해 설명된 보안 관리 회로(370)에 대응되는 구성일 수 있다.
한편, 다이렉트 억세스 영역(DA, 1314)은 메모리 장치(1300)에 대한 테스트 모드에서 메모리 장치(1300)의 외면에 배치되는 도전 수단을 통해 외부의 테스터와 직접 통신할 수 있다. 테스터로부터 제공되는 각종 신호들은 다이렉트 억세스 영역(DA, 1314) 및 TSV 영역(1312)을 통해 적어도 하나의 코어 다이(1320)로 제공될 수 있다. 또는, 변형 가능한 실시예로서, 테스터로부터 제공되는 각종 신호들은 다이렉트 억세스 영역(DA, 1314), 물리(PHY) 영역(1313) 및 TSV 영역(1312)을 통해 적어도 하나의 코어 다이(1320)로 제공될 수도 있다.
도 16은 본 개시의 예시적 실시 예에 따른 컴퓨팅 시스템(2000)을 나타낸다. 컴퓨팅 시스템(2000)은 시스템 버스(2600)에 전기적으로 연결되는 메모리 시스템(2100), 중앙 처리 장치(CPU; 2200), 유저 인터페이스(2300) 및 비휘발성 저장장치(2400)를 포함할 수 있다. 메모리 시스템(2100), 중앙 처리 장치(2200), 유저 인터페이스(2300) 및 비휘발성 저장장치(2400)는 시스템 버스(2600)를 통해서 서로 통신할 수 있다. 도 17에 도시되지는 않았으나, 컴퓨팅 시스템(2000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다. 컴퓨팅 시스템(2000)은 퍼스널 컴퓨터로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(Personal Digital Assistant) 및 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.
중앙 처리 장치(2200)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 예를 들어, 중앙 처리 장치(2200)는 마이크로프로세서(micro-processor), 그래픽 처리 장치(graphics processing unit; GPU)일 수 있다. 중앙 처리 장치(2200)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
유저 인터페이스(2300)는 사용자로부터 입력 신호를 수신하기 위하여 키보드, 키패드, 마우스 등과 같은 입력 수단을 포함할 수 있고, 사용자에게 출력 신호를 제공하기 위하여 프린터, 디스플레이 장치 등과 같은 출력 수단을 포함할 수 있다.
비휘발성 저장장치(2400)는, 예컨대 EEPROM (non-volatile memory such as a Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(flash memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM (Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM (Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 등과 같은 비휘발성 반도체 메모리 장치를 포함할 수도 있고, 자기 디스크 등을 포함할 수도 있다.
메모리 시스템(2100)은 메모리 컨트롤러(2120) 및 DRAM 장치(2110)를 포함할 수 있다. DRAM 장치(2110)는 보안 관리 회로(2112)를 포함할 수 있다. 보안 관리 회로(2112)는, 도 1 내지 도 14를 참조해 설명된 보안 관리 회로(370)에 대응되는 구성일 수 있다.
본 개시의 예시적 실시 예에 따르면, DRAM 장치(2110)가 보안 데이터를 처리하고, 관리하는 보안 관리 회로(2112)를 포함함으로써, 컴퓨팅 시스템(2000)은 보안 솔루션을 위한 별도의 프로세서를 포함하지 않을 수 있다. 따라서, 본 개시의 예시적 실시 예에 따르면, 컴퓨팅 시스템(2000)을 구현함에 있어서 비용을 절감할 수 있을 것이다.
이상에서와 같이 도면과 명세서에서 예시적인 실시 예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시 예들이 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 메모리 장치에 있어서,
    보안 데이터를 저장하는 보안 영역을 포함하는 메모리 셀 어레이; 및
    가드 키(guard key)를 저장하고, 상기 보안 영역에 대한 데이터 동작 커맨드가 수신되는 경우, 상기 메모리 장치의 외부로부터 수신된 입력 비밀번호와 상기 가드 키를 비교함으로써 상기 보안 영역에 대한 데이터 동작을 제한하도록 구성되는 보안 관리 회로를 포함하는 메모리 장치.
  2. 제1항에 있어서,
    상기 보안 관리 회로는,
    가드 키 주입 단계(guard key injection phase) 또는 가드 키 업데이트 단계(guard key update phase)에서 상기 메모리 장치의 외부로부터 상기 가드 키를 수신하고, 상기 가드 키를 저장하는 것을 특징으로 하는 메모리 장치.
  3. 제1항에 있어서,
    상기 보안 관리 회로는,
    메모리 영역 할당 단계(memory region allocation phase)에서, 상기 메모리 장치에 기입 커맨드가 입력된 뒤 수신되는 물리 어드레스를 기초로 상기 보안 영역에 관한 영역 정보를 생성하고, 상기 생성된 영역 정보를 저장하도록 구성되는 것을 특징으로 하는 메모리 장치.
  4. 제1항에 있어서,
    상기 보안 관리 회로는,
    메모리 영역 할당 단계(memory region allocation phase)에서, 상기 보안 영역을 할당하고, 상기 보안 영역에 대응되는 물리 어드레스를 획득하고, 상기 획득된 물리 어드레스를 기초로 상기 보안 영역에 관한 영역 정보를 저장하고, 상기 획득된 물리 어드레스에 관한 정보를 상기 메모리 장치의 외부로 제공하도록 구성되는 것을 특징으로 하는 메모리 장치.
  5. 제1항에 있어서,
    상기 보안 관리 회로는,
    상기 입력 비밀번호와 상기 가드 키가 일치하는 경우, 상기 메모리 장치가 데이터 동작을 수행하도록 상기 메모리 장치를 제어하도록 구성되는 것을 특징으로 하는 메모리 장치.
  6. 제1항에 있어서,
    상기 보안 관리 회로는,
    상기 입력 비밀번호와 상기 가드 키가 일치하지 않는 경우, 상기 메모리 장치가 데이터 동작을 수행하지 못하도록 상기 메모리 장치를 제어하도록 구성되는 것을 특징으로 하는 메모리 장치.
  7. 제8항에 있어서,
    상기 보안 관리 회로는,
    상기 입력 비밀번호와 상기 가드 키가 일치하지 않는 경우, 상기 메모리 셀 어레이로 데이터가 기입되지 않고, 상기 메모리 셀 어레이로부터 데이터가 독출되지 않도록 상기 메모리 장치의 컬럼 디코더 및/또는 로우 디코더를 제어하도록 구성되는 것을 특징으로 하는 메모리 장치.
  8. 제1항에 있어서,
    상기 보안 관리 회로는,
    상기 입력 비밀번호와 상기 가드 키가 일치하지 않는 경우, 상기 메모리 장치의 외부로 경고(alert) 신호를 출력하도록 구성되는 것을 특징으로 하는 메모리 장치.
  9. 메모리 장치의 보안 데이터 처리 방법에 있어서,
    상기 메모리 장치의 외부로부터 입력 비밀번호를 수신하는 단계;
    상기 메모리 장치 내부에 저장된 가드 키와 상기 수신된 입력 비밀번호를 비교하는 단계;
    상기 메모리 장치의 외부로부터 보안 데이터, 상기 보안 데이터에 대한 데이터 동작 커맨드 및 메모리 셀 어레이의 보안 영역에 대응되는 어드레스를 수신하는 단계;
    상기 가드 키와 상기 수신된 입력 비밀번호가 일치하는 경우, 상기 데이터 동작 커맨드 및 상기 어드레스를 기초로 상기 보안 데이터에 대한 데이터 동작을 수행하는 단계; 및
    상기 가드 키와 상기 수신된 입력 비밀번호가 일치하지 않는 경우, 상기 보안 데이터에 대한 데이터 동작을 제한하는 단계를 포함하는 메모리 장치의 보안 데이터 처리 방법.
  10. 제9항에 있어서,
    메모리 영역 할당 단계(memory region allocation phase)에서, 상기 메모리 장치의 외부로부터 기입 커맨드를 수신하는 단계;
    상기 메모리 장치의 외부로부터 물리 어드레스를 수신하는 단계;
    상기 수신된 물리 어드레스를 기초로 상기 보안 영역에 관한 영역 정보를 생성하는 단계를 생성하는 단계; 및
    상기 생성된 영역 정보를 상기 메모리 장치 내의 제1 메모리에 저장하는 단계를 더 포함하는 것을 특징으로 하는 메모리 장치의 보안 데이터 처리 방법.
KR1020180154693A 2018-12-04 2018-12-04 메모리 장치 및 그것의 보안 데이터 처리 방법 KR20200067633A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180154693A KR20200067633A (ko) 2018-12-04 2018-12-04 메모리 장치 및 그것의 보안 데이터 처리 방법
US16/529,100 US20200176062A1 (en) 2018-12-04 2019-08-01 Memory devices and methods of processing security data thereof
CN201910724655.6A CN111276174A (zh) 2018-12-04 2019-08-07 存储器装置和处理存储器装置的安全数据的方法
US17/712,579 US20220230688A1 (en) 2018-12-04 2022-04-04 Memory devices and methods of processing security data thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180154693A KR20200067633A (ko) 2018-12-04 2018-12-04 메모리 장치 및 그것의 보안 데이터 처리 방법

Publications (1)

Publication Number Publication Date
KR20200067633A true KR20200067633A (ko) 2020-06-12

Family

ID=70850958

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180154693A KR20200067633A (ko) 2018-12-04 2018-12-04 메모리 장치 및 그것의 보안 데이터 처리 방법

Country Status (3)

Country Link
US (2) US20200176062A1 (ko)
KR (1) KR20200067633A (ko)
CN (1) CN111276174A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11501027B2 (en) * 2021-02-08 2022-11-15 Micron Technology, Inc. Mechanism to support writing files into a file system mounted in a secure memory device
CN115577401A (zh) * 2022-11-08 2023-01-06 苏州萨沙迈半导体有限公司 闪存数据保护装置、***以及闪存存储器

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137634A (ja) * 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
US7426644B1 (en) * 2001-12-05 2008-09-16 Advanced Micro Devices, Inc. System and method for handling device accesses to a memory providing increased memory access security
US8276185B2 (en) * 2005-01-19 2012-09-25 Micron Technology, Inc. Enhanced security memory access method and architecture
US20080221396A1 (en) * 2005-07-25 2008-09-11 Becton Dickinson And Company Method and System for Monitoring Medical Treatment
US7509441B1 (en) * 2006-06-30 2009-03-24 Siliconsystems, Inc. Systems and methods for segmenting and protecting a storage subsystem
JP2008204582A (ja) * 2007-02-22 2008-09-04 Elpida Memory Inc 不揮発性ram
US8769637B2 (en) * 2007-03-23 2014-07-01 Sap Ag Iterated password hash systems and methods for preserving password entropy
US7979658B2 (en) * 2008-03-25 2011-07-12 Spansion Llc Secure management of memory regions in a memory
US8219776B2 (en) * 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US9858208B2 (en) * 2013-03-21 2018-01-02 International Business Machines Corporation System for securing contents of removable memory
KR101983481B1 (ko) * 2014-08-25 2019-08-28 가부시키가이샤 리코 전자 디바이스 및 접속 방법
US11487445B2 (en) * 2016-11-22 2022-11-01 Intel Corporation Programmable integrated circuit with stacked memory die for storing configuration data

Also Published As

Publication number Publication date
US20220230688A1 (en) 2022-07-21
US20200176062A1 (en) 2020-06-04
CN111276174A (zh) 2020-06-12

Similar Documents

Publication Publication Date Title
US10248340B2 (en) Semiconductor apparatus, memory module and operation method thereof
KR102593379B1 (ko) 메모리 패키지, 그것을 포함하는 메모리 모듈, 및 그것의 동작 방법
KR101687505B1 (ko) 행 해머 이벤트에 응답하기 위한 방법, 장치 및 시스템
CN107039059B (zh) 存储器封装,包括其的存储器模块及存储器封装操作方法
US10929064B2 (en) Methods of operating mixed device type memory modules, and processors and systems configured for operating the same
KR102592803B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US20220230688A1 (en) Memory devices and methods of processing security data thereof
KR20200042791A (ko) 데이터 저장 장치 및 그것의 동작 방법
US10545689B2 (en) Data storage device and operating method thereof
KR20200121645A (ko) 컨트롤러 및 그것의 동작 방법과 메모리 시스템
US20180239557A1 (en) Nonvolatile memory device, data storage device including the same, and operating method of data storage device
US9785584B2 (en) Data storage device and method thereof
US10871915B2 (en) Data processing system and operating method thereof
US20170147230A1 (en) Memory device and memory system having heterogeneous memories
KR102434840B1 (ko) 데이터 저장 장치
US10013180B1 (en) Operating methods of nonvolatile memory device and data storage device including the same
US10096371B2 (en) Data storage device and operating method thereof
US20240112719A1 (en) Memory devices, memory systems having the same and operating methods thereof
US20140006705A1 (en) Method of generating memory addresses and refresh power management controller
US11049542B2 (en) Semiconductor device with multiple chips and weak cell address storage circuit
CN103885906A (zh) 存储器控制器以及包括存储器控制器的存储***
US11609710B2 (en) Host, data storage device, data processing system and data processing method
US11366736B2 (en) Memory system using SRAM with flag information to identify unmapped addresses
KR20210011198A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR20210008712A (ko) 테스트 패턴 정보를 저장하는 메모리 모듈, 그것을 포함하는 컴퓨터 시스템 및 그것의 테스트 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application