KR20210081009A - 메모리 및 메모리 시스템 - Google Patents

메모리 및 메모리 시스템 Download PDF

Info

Publication number
KR20210081009A
KR20210081009A KR1020190173147A KR20190173147A KR20210081009A KR 20210081009 A KR20210081009 A KR 20210081009A KR 1020190173147 A KR1020190173147 A KR 1020190173147A KR 20190173147 A KR20190173147 A KR 20190173147A KR 20210081009 A KR20210081009 A KR 20210081009A
Authority
KR
South Korea
Prior art keywords
memory
access
circuit
pseudo
random number
Prior art date
Application number
KR1020190173147A
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 KR1020190173147A priority Critical patent/KR20210081009A/ko
Priority to US17/028,513 priority patent/US11403235B2/en
Priority to CN202011246338.7A priority patent/CN113094765A/zh
Publication of KR20210081009A publication Critical patent/KR20210081009A/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/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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
    • 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
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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
    • 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
    • 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
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

메모리는, 메모리 콘트롤러로부터 전달된 초기값을 이용해 의사 난수를 생성하는 의사 난수 생성기; 상기 메모리 콘트롤러로부터 전달된 억세스 키를 저장하는 억세스 키 레지스터; 상기 억세스 키 레지스터의 업데이트 회수를 카운트하는 카운터; 상기 의사 난수와 상기 카운터의 카운트 값을 논리 연산해 암호화 키를 생성하는 논리 연산 회로; 상기 억세스 키와 상기 암호화 키를 비교하는 비교 회로; 및 상기 비교 회로의 비교 결과 상기 억세스 키와 상기 암호화 키가 동일한 경우에 억세스가 허용되는 보안 영역을 포함할 수 있다.

Description

메모리 및 메모리 시스템 {MEMORY AND MEMORY SYSTEM}
본 특허 문헌은 메모리 및 메모리 시스템에 관한 것으로, 보다 구체적으로는 메모리의 보안과 관련된 것이다.
로우 해머(row hammer), 램블리드(RAMBleed), 콜드 부트 어택(cold boot attack) 및 크로스-CPU 어택(cross-CPU attack) 등의 다양한 해킹 방법으로 메모리에 저장된 유저 패스워드(user password), 보안 키(security key) 등의 중요 데이터를 메모리로부터 갈취해가는 보안 문제가 커지고 있다.
이러한 보안 이슈를 해결하기 위해 메모리에 저장되는 데이터를 암호화하거나 스크램블링하는 등 다양한 방법이 사용되고 있으나, 암호화키가 유출된다거나 시스템 퍼포먼스 오버헤드가 증가하는 등의 단점이 있다.
본 발명의 실시예들은, 메모리의 보안을 강화할 수 있다.
본 발명의 일실시예에 따른 메모리는, 메모리 콘트롤러로부터 전달된 초기값을 이용해 의사 난수를 생성하는 의사 난수 생성기; 상기 메모리 콘트롤러로부터 전달된 억세스 키를 저장하는 억세스 키 레지스터; 상기 억세스 키 레지스터의 업데이트 회수를 카운트하는 카운터; 상기 의사 난수와 상기 카운터의 카운트 값을 논리 연산해 암호화 키를 생성하는 논리 연산 회로; 상기 억세스 키와 상기 암호화 키를 비교하는 비교 회로; 및 상기 비교 회로의 비교 결과 상기 억세스 키와 상기 암호화 키가 동일한 경우에 억세스가 허용되는 보안 영역을 포함할 수 있다.
본 발명의 일실시예에 따른 메모리 시스템은, 메모리; 및 상기 메모리를 제어하기 위한 메모리 콘트롤러를 포함하고, 상기 메모리는 상기 메모리 콘트롤러로부터 전달된 초기값을 이용해 의사 난수를 생성하는 의사 난수 생성기; 상기 메모리 콘트롤러로부터 전달된 억세스 키를 저장하는 억세스 키 레지스터; 상기 억세스 키 레지스터의 업데이트 회수를 카운트하는 카운터; 상기 의사 난수와 상기 카운터의 카운트 값을 논리 연산해 암호화 키를 생성하는 논리 연산 회로; 상기 억세스 키와 상기 암호화 키를 비교하는 비교 회로; 및 상기 비교 회로의 비교 결과 상기 억세스 키와 상기 암호화 키가 동일한 경우에 억세스가 허용되는 보안 영역을 포함할 수 있다.
본 발명의 실시예들에 따르면, 메모리의 보안이 강화될 수 있다.
도 1은 본 발명의 일실시예에 따른 메모리(100)의 구성도.
도 2는 본 발명의 일실시예에 따른 메모리 콘트롤러(200)의 구성도.
도 3은 도 1의 의사 난수 생성기(130)의 일실시예 구성도.
도 4는 도 1의 논리 연산 회로(150)의 일실시예 구성도.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 본 발명을 설명함에 있어서, 본 발명의 요지와 무관한 공지의 구성은 생략될 수 있다. 각 도면의 구성요소들에 참조 번호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면 상에 표시되더라도 가능한 한 동일한 참조 번호를 가지도록 하고 있음에 유의하여야 한다.
도 1은 본 발명의 일실시예에 따른 메모리(100)의 구성도이다.
도 1을 참조하면, 메모리(100)는, 커맨드 수신 회로(101), 어드레스 수신 회로(103), 데이터 송수신 회로(105), 로우 어드레스 레지스터(111), 컬럼 어드레스 레지스터(113), 커맨드 디코더(115), 레지스터 회로(120), 의사 난수(pseudorandom number) 생성기(130), 카운터(140), 논리 연산 회로(150), 비교 회로(160), 영역 판단 회로(171), 블록 회로(173), 메모리 코어(180) 및 에러 정정 회로(190)를 포함할 수 있다.
커맨드 수신 회로(101)는 메모리 콘트롤러(200, 도 2)로부터 전달되는 커맨드(CMD)를 수신할 수 있다. 커맨드(CMD)는 멀티 비트일 수 있다. 어드레스 수신 회로(103)는 메모리 콘트롤러(200)로부터 전달되는 어드레스(ADD)를 수신할 수 있다. 어드레스(ADD)는 멀티 비트일 수 있다. 데이터 송수신 회로(105)는 메모리 콘트롤러(200)와 데이터(DATA)를 송수신할 수 있다. 라이트 동작시에는 메모리 콘트롤러(200)로부터 메모리(100)로 데이터(DATA)가 전송되고, 리드 동작시에는 메모리(100)로부터 메모리 콘트롤러(200)로 데이터(DATA)가 전송될 수 있다. 데이터(DATA)는 멀티 비트일 수 있다.
커맨드 디코더(115)는 커맨드 수신 회로(101)를 통해 수신된 커맨드(CMD)를 디코딩해 내부 커맨드 신호들을 생성할 수 있다. 커맨드 디코더(115)는 내부 커맨드 신호들의 생성에 커맨드 수신 회로(101)를 통해 수신된 커맨드(CMD) 뿐만이 아니라 어드레스 수신 회로(103)를 통해 수신된 어드레스(ADD)의 일부 비트도 함께 디코딩할 수 있다. 내부 커맨드 신호들에는 액티브(active) 신호(ACT), 프리차지(precharge) 신호(PCG), 리드(read) 신호(RD), 라이트(write) 신호(WT), 다수의 레지스터 라이트 신호들(RW<0:3>) 및 쉬프트 신호(SFT) 등이 있을 수 있다.
로우 어드레스 레지스터(111)와 컬럼 어드레스 레지스터(113)는 어드레스 수신 회로(103)를 통해 수신된 어드레스(ADD)를 로우(row) 어드레스(R_ADD)와 컬럼(column) 어드레스(C_ADD)로 분류해 저장할 수 있다. 로우 어드레스 레지스터(111)는 로우 어드레스를 필요로 하는 커맨드가 인가된 경우에, 즉 액티브 신호(ACT)가 활성화된 경우에, 어드레스(ADD)를 로우 어드레스(R_ADD)로 분류해 저장할 수 있다. 컬럼 어드레스 레지스터(113)는 컬럼 어드레스(C_ADD)를 필요로 하는 커맨드가 인가된 경우에, 즉 리드 신호(RD) 또는 라이트 신호(WT)가 활성화된 경우에, 어드레스(ADD)를 컬럼 어드레스(C_ADD)로 분류해 저장할 수 있다.
레지스터 회로(120)는 활성화 레지스터(121), 초기값 레지스터(123), 계수(coefficient) 레지스터(125) 및 억세스 키(access key) 레지스터(127)를 포함할 수 있다. 레지스터들(121, 123, 125, 127)은 레지스터 라이트 신호들(RW<3:0>) 중 자신에 대응하는 레지스터 라이트 신호가 활성화될 때 어드레스 수신 회로(103)를 통해 수신된 어드레스(ADD)를 통해 전달된 정보를 이용해 업데이트될 수 있다. 즉, 레지스터 회로(120)의 레지스터들(121, 123, 125, 127)에는 메모리 콘트롤러(200)로부터 전달된 정보가 저장될 수 있다.
활성화 레지스터(121)는 보안 영역(182)의 사용 여부를 표시하기 위한 활성화 비트(EN)를 저장할 수 있다. 활성화 비트(EN)가 '1'이면 보안 영역(182)이 보안 데이터의 저장을 위한 영역으로 사용된다는 것을 의미하고, 활성화 비트(EN)가 '0'이면 보안 영역(182)이 보안을 위한 영역이 아닌 일반적인 노멀 영역(183)과 동일하게 사용된다는 것을 의미할 수 있다. 활성화 비트(EN)는 레지스터 라이트 신호(RW<0>)가 활성화될 때에 활성화 레지스터(121)로 라이트될 수 있다.
초기값 레지스터(123)는 의사 난수 생성기(130)에서 사용할 초기값(INI_KEY<7:0>)을 저장할 수 있다. 초기값(INI_KEY<7:0>)은 레지스터 라이트 신호(RW<1>)가 활성화될 때에 초기값 레지스터(123)로 라이트될 수 있다.
계수 레지스터(125)는 의사 난수 생성기(130)에서 사용할 계수(C<6:0>)를 저장할 수 있다. 계수(C<6:0>)는 레지스터 라이트 신호(RW<2>)가 활성화될 때에 계수 레지스터(125)로 라이트될 수 있다.
억세스 키 레지스터(127)는 메모리 콘트롤러(200)로부터 전달된 억세스 키(ACCESS_KEY<7:0>)를 저장할 수 있다. 억세스 키(ACCESS_KEY<7:0>)는 레지스터 라이트 신호(RW<3>)가 활성화될 때에 억세스 키 레지스터(127)로 라이트될 수 있다.
의사 난수 생성기(130)는 의사 난수(pseudorandom number)(KEY<7:0>)를 생성할 수 있다. 의사 난수 생성기(130)에서는 초기값(INI_KEY<7:0>)과 계수(C<6:0>)가 사용될 수 있다. 또한, 의사 난수 생성기(130)는 쉬프트 신호(SFT)가 활성화될 때마다 쉬프트 동작을 수행해 새로운 의사 난수(KEY<7:0>)를 생성할 수 있다.
카운터(140)는 억세스 키 레지스터(127)에 억세스 키(ACCESS_KEY<7:0>)가 업데이트된 회수를 카운팅할 수 있다. 즉, 카운터(140)는 레지스터 라이트 신호(RW<3>)의 활성화 회수를 카운팅해 카운팅 코드(CNT<3:0>)를 출력할 수 있다.
논리 연산 회로(150)는 의사 난수(KEY<7:0>)와 카운팅 코드(CNT<3:0>)를 논리 연산해 암호화 키(GENKEY<7:0>)를 생성할 수 있다. 논리 연산 회로(150)는 의사 난수(KEY<7:0>)와 카운팅 코드(CNT<3:0>)를 XOR 연산하기 위한 다수의 XOR 게이트들을 포함할 수 있다.
비교 회로(160)는 논리 연산 회로(150)에서 생성된 암호화 키(GENKEY<7:0>)와 억세스 키 레지스터(127)에 저장된 억세스 키(ACCESS_KEY<7:0>)를 비교할 수 있다. 비교 회로(160)는 암호화 키(GENKEY<7:0>)와 억세스 키(ACCESS_KEY<7:0>)가 일치하는 경우에 매치 신호(MATCH)를 '1'로 활성화할 수 있다.
영역 판단 회로(171)는 활성화 비트(EN)가 '1'인 경우에 활성화될 수 있다. 영역 판단 회로(171)는 활성화시에 로우 어드레스(R_ADD)의 일부 비트(예, 로우 어드레스의 상위 3비트)를 이용해 보안 영역(182)이 억세스될 것인지 노멀 영역(183)이 억세스될 것인지를 판단해 보안 영역 신호(SEC_AREA)를 생성할 수 있다. 영역 판단 회로(171)는 보안 영역(182)이 억세스될 것이라고 판단한 경우에는 보안 영역 신호(SEC_AREA)를 '1'로 활성화하고 노멀 영역(183)이 억세스될 것이라고 판단한 경우에는 보안 영역 신호(SEC_AREA)를 '0'으로 비활성화할 수 있다. 활성화 비트(EN)가 '0'인 경우에는 영역 판단 회로(171)가 비활성화되고, 이 경우에는 보안 영역 신호(SEC_AREA)는 '0'으로 고정될 수 있다.
블록 회로(173)는 보안 영역 신호(SEC_AREA)가 '1'인 경우에, 매치 신호(MATCH)가 '1'이면 액티브 신호(ACT)를 메모리 코어(180)로 전달하고 매치 신호(MATRCH)가 '0'이면 액티브 신호(ACT)를 메모리 코어(180)로 전달하지 않고 블록킹할 수 있다. 즉, 보안 영역(182)이 사용이 활성화되고 보안 영역(182)이 억세스되려고 하는 경우에 암호화 키(GENKEY<7:0>)와 억세스 키(ACCESS_KEY<7:0>)가 일치하면 액티브 신호(ACT)를 메모리 코어(180)로 전달하고, 암호화 키(GENKEY<7:0>)와 억세스 키(ACCESS_KEY<7:0>)가 일치하지 않으면 액티브 신호(ACT)의 메모리 코어(180)로의 전달을 막을 수 있다. 표 1에 블록 회로(173)의 동작을 나타냈다.
SEC_AREA MATCH 블록 회로 동작
1 1 ACT_N = ACT
1 0 ACT_N = '0'
0 don't care ACT_N = ACT
블록 회로(173)가 액티브 신호(ACT)의 전달을 막고 블록하는 경우에, 메모리 코어(180)의 억세스가 불가능해질 수 있다.
메모리 코어(180)는 셀 어레이(181), 로우 회로(184) 및 컬럼 회로(185)를 포함할 수 있다. 셀 어레이(181)는 데이터를 저장하기 위한 다수의 메모리 셀들을 포함할 수 있다. 셀 어레이(181)는 보안 데이터를 저장하기 위한 보안 영역(182)과 일반 데이터를 저장하기 위한 노멀 영역(183)을 포함할 수 있다. 로우 회로(184)는 셀 어레이(181)의 로우 동작을 제어할 수 있다. 로우 회로(184)는 블록 회로(173)로부터 전달된 액티브 신호(ACT_N)의 활성화시에 셀 어레이(181)에서 로우 어드레스(R_ADD)에 의해 선택된 로우(row), 즉 워드라인, 를 액티브할 수 있다. 그리고 프리차지 신호(PCG)의 활성화시에 액티브된 로우를 프리차지할 수 있다. 컬럼 회로(185)는 리드 신호(RD)의 활성화시에 셀 어레이(181)에서 컬럼 어드레스(C_ADD)에 의해 선택된 컬럼으로부터 데이터를 리드할 수 있으며, 라이트 신호(WT)의 활성화시에 셀 어레이(181)에서 컬럼 어드레스(C_ADD)에 의해 선택된 컬럼에 데이터를 라이트할 수 있다.
에러 정정 회로(190)는 라이트 동작시에는 데이터 송수신 회로(105)를 통해 수신된 데이터(DATA)를 이용해 에러 정정 코드를 생성할 수 있다. 에러 정정 코드는 데이터(DATA)와 함께 컬럼 회로(185)를 통해 셀 어레이(181)에 저장될 수 있다. 또한, 에러 정정 회로(190)는 리드 동작시에는 셀 어레이(181)로부터 컬럼 회로(185)를 통해 출력된 에러 정정 코드를 이용해 데이터(DATA)의 에러를 정할 수 있다. 에러 정정 회로(190)는 보안 영역 신호(SEC_AREA)가 '0'이면 활성화되고 보안 영역 신호(SEC_AREA)가 '1'이면 비활성화될 수 있다. 이는 보안 영역(182)에 데이터를 라이트 및 리드하는 경우에 메모리 콘트롤러(200)는 더욱 강력한 에러 정정 알고리즘을 사용하는 경우가 많으므로, 메모리(100) 내부의 에러 정정 회로(190)를 사용할 필요가 없기 때문이다. 에러 정정 회로(190)가 보안 영역 신호(SEC_AREA)의 논리 레벨과 상관없이 항상 활성화되도록 설계하는 것도 가능하다.
보안 영역(182)은 억세스 키(ACCESS_KEY<7:0>)와 암호화 키(GENKEY<7:0>)가 일치하는 경우에만 억세스가 가능하다. 그리고 암호화키(GENKEY<7:0>)는 메모리 콘트롤러(200)로부터 전달된 초기값(INI_KEY<7:0>)과 계수(C<6:0>), 메모리 콘트롤러(200)가 쉬프트 커맨드를 인가한 회수(쉬프트 신호(SFT)의 활성화 회수) 및 메모리 콘트롤러(200)가 억세스 키(ACCESS_KEY<7:0>)를 업데이트한 회수가 반영되어 생성된다. 그러므로 지정된 메모리 콘트롤러가 아닌 다른 메모리 콘트롤러로부터의 보안 영역(182)으로의 억세스를 완벽히 차단할 수 있다.
도 2는 본 발명의 일실시예에 따른 메모리 콘트롤러(200)의 구성도이다.
메모리 콘트롤러(200)는 호스트(HOST)의 요청에 따라 메모리(100)의 동작을 제어할 수 있다. 호스트(HOST)에는 CPU(Centrl Processing Unit), GPU(Graphic Processing Unit), AP(Application Processor) 등이 있을 수 있다. 메모리 콘트롤러(200)는 도 2에 도시된 바와 같이, 호스트 인터페이스(201), 스케쥴러(203), 커맨드 생성기(205) 및 메모리 인터페이스(207), 의사 난수 발생기(211), 카운터(213) 및 논리 연산 회로(215)를 포함할 수 있다. 메모리 콘트롤러(200)가 CPU, GPU, AP 등에 포함될 수도 있는데, 이 경우 호스트(HOST)는 이들 구성에서 메모리 콘트롤러(200) 이외의 구성을 의미할 수 있다. 예를 들어, 메모리 콘트롤러(200)가 CPU에 포함된 경우 도면의 호스트(HOST)는 CPU에서 메모리 콘트롤러(200)를 제외한 나머지 구성들을 나타낼 수 있다.
호스트 인터페이스(201)는 호스트(HOST)와 메모리 콘트롤러(200) 간의 통신을 위한 인터페이스일 수 있다.
스케쥴러(203)는 호스트(HOST)로부터의 요청들 중 메모리(100)에 지시할 요청의 순서를 정할 수 있다. 스케쥴러(203)는 메모리(100)의 퍼포먼스 향상을 위해 호스트(HOST)로부터 요청들이 수신된 순서와 메모리(100)로 지시할 동작의 순서를 다르게 할 수 있다. 예를 들어, 호스트(HOST)가 메모리(100)의 리드 동작을 먼저 요청하고 라이트 동작을 이후에 요청했다고 하더라도, 라이트 동작이 리드 동작보다 먼저 수행되도록 순서를 조절할 수 있다.
커맨드 생성기(205)는 스케쥴러(203)에 의해 정해진 동작의 순서에 맞게 메모리(100)로 인가할 커맨드를 생성할 수 있다.
메모리 인터페이스(207)는 메모리 콘트롤러(200)와 메모리 장치(100) 간의 인터페이스를 위한 것일 수 있다. 메모리 인터페이스(217)를 통해 메모리 콘트롤러(200)로부터 메모리(100)로 커맨드(CMD)와 어드레스(ADD)가 전달되고 데이터(DATA)가 송/수신될 수 있다. 메모리 인터페이스(207)를 PHY 인터페이스라고도 한다.
의사 난수 발생기(211)는 메모리(100)의 의사 난수 발생기(130)와 동일하게 설계될 수 있다. 의사 난수 발생기(211)의 초기값(INI_KEY<7:0>)과 계수(C<6:0>)는 메모리(100)의 의사 난수 발생기(130)의 초기값(INI_KEY<7:0>)과 계수(C<6:0>)와 동일하게 설정될 수 있다. 또한, 의사 난수 발생기(130)의 쉬프트 동작의 회수와 의사 난수 발생기(211)의 쉬프트 동작의 회수도 동일할 수 있다. 메모리(100)의 의사 난수 발생기(130)에서 사용되는 초기값(INI_KEY<7:0>), 계수(C<6:0>) 및 쉬프트 신호(SFT)는 메모리 콘트롤러(200)로부터 전달되는 것이므로, 의사 난수 발생기들(211, 130)에서 동일한 초기값(INI_KEY<7:0>), 계수(C<6:0>) 및 쉬프트 신호(SFT)를 사용할 수 있다. 즉, 의사 난수 발생기들(211, 130)은 동일한 의사 난수(KEY<7:0>)를 생성할 수 있다.
카운터(213)는 메모리(100)의 카운터(140)와 동일하게 설계될 수 있다. 메모리(100)의 카운터(140)의 카운팅 코드(CNT<3:0>) 값과 메모리 콘트롤러(200)의 카운터(213)의 카운팅 코드(CNT<3:0>) 값을 동일하게 유지될 수 있다. 메모리(100)의 카운터(140)는 레지스터 라이트 신호(RW<3>)의 활성화 회수를 카운팅하는데, 레지스터 라이트 신호(RW<3>)는 메모리 콘트롤러(200)로부터 전달된 커맨드(CMD)에 의해 생성된 것이므로, 카운터들(213, 140)의 카운팅 코드(CNT<3:0>)를 동일하게 유지할 수 있다.
논리 연산 회로(215)는 메모리(100)의 논리 연산 회로(150)와 동일하게 설계될 수 있다. 논리 연산 회로(215)는 의사 난수 발생기(211)에서 생성된 의사 난수(KEY<7:0>)와 카운터(140)에서 생성된 카운팅 코드(CNT<3:0>)를 XOR 연산해 억세스 키(ACCESS_KEY<7:0>)를 생성할 수 있다. 결국, 논리 연산 회로(215)에서 생성된 억세스 키(ACCESS_KEY<7:0>)는 논리 연산 회로(150)에서 생성된 암호화 키(GEN_KEY<7:0>)와 동일할 수 있다.
메모리 콘트롤러(200)에서 억세스 키(ACCESS_KEY<7:0>)를 생성하기 위한 구성들(211, 213, 215)은 메모리(100)에서 암호화 키(GEN_KEY<7:0>)를 생성하기 위한 구설들(130, 140, 150)과 동일하게 설계된다. 그리고 메모리 콘트롤러(200)의 구성들(211, 213, 215)은 메모리(100)의 구성들(130, 140, 150)과 동일한 변수들을 사용한다. 그러므로, 구성들(211, 213, 215)이 생성하는 억세스 키(ACCESS_KEY<7:0>)와 구성들(130, 140, 150)이 생성하는 암호화 키(GEN_KEY<7:0>)는 동일할 수 있다.
메모리 콘트롤러(200)는 메모리(100)의 보안 영역(182)을 억세스 하려는 경우에 메모리 인터페이스(207)를 통해 구성들(211, 213, 215)에서 생성된 억세스 키(ACCESS_KEY<7:0>)를 메모리(100)의 억세스 키 레지스터(127)에 업데이트하고, 보안 영역을 억세스할 수 있다. 그리고 보안 영역(182)의 억세스가 마무리되면, 구성들(211, 213, 215)에서 생성된 억세스 키(ACCESS_KEY<7:0>)가 아닌 잘못된 억세스 키를 억세스 키 레지스터(127)에 업데이트해 보안 영역(182)으로의 억세스가 불가능하도록 할 수 있다. 올바른 억세스 키(ACCESS_KEY<7:0>)는 메모리 콘트롤러(200)만 알 수 있으므로, 메모리 콘트롤러(200)가 아닌 다른 메모리 콘트롤러를 이용한 메모리(100)의 보안 영역(182) 억세스는 원천적으로 봉쇄될 수 있다. 즉, 보안 영역(182)에 저장된 데이터의 보안을 유지할 수 있다.
도 3은 도 1의 의사 난수 생성기(130)의 일실시예 구성도이다.
도 3을 참조하면, 의사 난수 생성기(130)는 토글 생성기(310)와 선형 되먹임 쉬프트 레지스터(320, LFSR: Linear Feedback Shift Register)를 포함할 수 있다.
토글 생성기(310)는 쉬프트 신호(SFT)가 활성화될 때마다 토글 신호(TOGGLE)를 활성화시킬 수 있다.
선형 되먹임 쉬프트 레지스터(320)는 직렬로 연결된 D 플립 플롭들(321~328), 피드백을 위한 XOR 게이트들(331~337), 계수(C<6:0>)에 응답해 선형 되먹힘 쉬프트 레지스터(320)의 피드백 특성을 결정하기 위한 선택기들(341~347)을 포함할 수 있다.
D플립플롭들(321~328)에는 초기값으로 초기값(INI_KEY<7:0>)가 설정될 수 있다. 예를 들어, D플립플롭(321)의 초기값은 INI_KEY<0>이고, D플립플롭(324)의 초기값은 INI_KEY<3>일 수 있다. D플립플롭들(321~328)의 피드백에는 XOR 게이트들(331~337)이 사용되는데, 계수(C<6:0>)에 따른 선택기들(341~347)의 선택에 따라 피드백 특성이 결정될 수 있다. 예를 들어, 선택기(344)는 C<3>이 '0'이면 '0'을 선택해 XOR 게이트(334)로 입력시키고, C<3>이 '1'이면 D플립플롭(324)의 출력을 선택해 XOR 게이트(334)로 입력시킬 수 있다. 또한, 선택기(346)는 C<5>가 '0'이면 '0'을 선택해 XOR 게이트(336)로 입력시키고, C<3>이 '1'이면 D플립플롭(324)의 출력을 선택해 XOR 게이트(334)로 입력시킬 수 있다. 즉, 선택기들(341~347)이 계수(C<6:0>)에 따라 무엇을 선택하는지에 따라 선형 되먹임 쉬프트 레지스터(320)의 피드백 특성이 결정될 수 있다.
D플립플롭들(321~328)은 토글 신호(TOGGLE) 신호가 활성화될 때마다 쉬프트 동작을 수행할 수 있다.
D플립플롭들(321~328)에 저장된 값이 바로 의사 난수(KEY<7:0>)가 될 수 있다. 결국, 의사 난수(KEY<7:0>)는 초기값(INI_KEY<7:0>), 피드백 특성을 결정하는 계수(C<6:0>) 및 쉬프트 신호(SFT)의 활성화 회수에 따라 결정되는 값일 수 있다.
도 4는 도 1의 논리 연산 회로(150)의 일실시예 구성도이다.
도 4를 참조하면, 논리 연산 회로(150)는 XOR 게이트들(401~408)을 포함할 수 있다.
XOR 게이트들(401~408)은 의사 난수(KEY<7:0>)와 카운팅 코드(CNT<3:0>)을 논리 조합해 암호화 키(GENKEY<7:0>)을 생성할 수 있다. 의사 난수(KEY<7:0>)는 8비트이고 카운팅 코드(CNT<3:0>)는 4비트이므로, 의사 난수(KEY<7:0>)의 상위 4비트와 카운팅 코드(CNT<3:0>)를 XOR 연산하고, 의사 난수(KEY<7:0>)의 하위 4비트와 카운팅 코드(CNT<3:0>)를 XOR 연산하는 방식으로 암호화 키(GENKEY<7:0>)가 생성될 수 있다.
XOR 게이트(401)는 KEY<7>과 CNT<3>을 입력받아 GENKEY<7>을 출력할 수 있다. XOR 게이트(402)는 KEY<6>과 CNT<2>를 입력받아 GENKEY<6>을 출력할 수 있다. XOR 게이트(403)는 KEY<5>과 CNT<1>을 입력받아 GENKEY<5>를 출력할 수 있다. XOR 게이트(404)는 KEY<4>과 CNT<0>을 입력받아 GENKEY<4>를 출력할 수 있다. XOR 게이트(405)는 KEY<3>과 CNT<3>을 입력받아 GENKEY<3>을 출력할 수 있다. XOR 게이트(406)는 KEY<2>과 CNT<2>를 입력받아 GENKEY<2>를 출력할 수 있다. XOR 게이트(407)는 KEY<1>과 CNT<1>을 입력받아 GENKEY<1>을 출력할 수 있다. XOR 게이트(408)는 KEY<0>과 CNT<0>을 입력받아 GENKEY<0>을 출력할 수 있다.
본 발명의 기술사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여아 한다. 또한, 본 발명의 기술분야의 전문가라면 본 발명의 기술사상의 범위 내에서 다양한 실시예가 가능함을 알 수 있을 것이다.
100: 메모리
101: 커맨드 수신 회로
103: 어드레스 수신 회로
105: 데이터 송수신 회로
111: 로우 어드레스 레지스터
113: 컬럼 어드레스 레지스터
115: 커맨드 디코더
120: 레지스터 회로
130: 의사 난수(pseudorandom number) 생성기
140: 카운터
150: 논리 연산 회로
160: 비교 회로
171: 영역 판단 회로
173: 블록 회로
180: 메모리 코어
190: 에러 정정 회로

Claims (19)

  1. 메모리 콘트롤러로부터 전달된 초기값을 이용해 의사 난수를 생성하는 의사 난수 생성기;
    상기 메모리 콘트롤러로부터 전달된 억세스 키를 저장하는 억세스 키 레지스터;
    상기 억세스 키 레지스터의 업데이트 회수를 카운트하는 카운터;
    상기 의사 난수와 상기 카운터의 카운트 값을 논리 연산해 암호화 키를 생성하는 논리 연산 회로;
    상기 억세스 키와 상기 암호화 키를 비교하는 비교 회로; 및
    상기 비교 회로의 비교 결과 상기 억세스 키와 상기 암호화 키가 동일한 경우에 억세스가 허용되는 보안 영역
    을 포함하는 메모리.
  2. 제 1항에 있어서,
    상기 의사 난수 생성기는 선형 되먹임 쉬프트 레지스터(LFSR: Linear Feedback Shift Register)를 포함하고,
    상기 초기값은 상기 선형 되먹임 쉬프트 레지스터의 시드(seed)로 사용되고,
    상기 메모리 콘트롤러로부터 전달된 계수에 의해 상기 선형 되먹임 쉬프트 레지스터의 피드백 특성이 결정되는
    메모리.
  3. 제 2항에 있어서,
    상기 선형 되먹임 쉬프트 레지스터는 상기 메모리 콘트롤러로부터 전달되는 쉬프트 커맨드에 응답해 쉬프트 동작을 수행하는
    메모리.
  4. 제 1항에 있어서,
    상기 논리 연산 회로는
    상기 의사 난수와 상기 카운트 값을 논리 연산하기 위한 다수의 XOR 게이트들을 포함하는
    메모리.
  5. 제 1항에 있어서,
    상기 보안 영역은 메모리 코어에 포함되고,
    상기 메모리 코어는 상기 비교 회로의 비교 결과와 상관없이 억세스가 허용되는 노멀 영역을 포함하는
    메모리.
  6. 제 5항에 있어서,
    상기 메모리는
    상기 메모리 코어에서 출력되는 데이터의 에러 정정을 위한 에러 정정 회로를 더 포함하고,
    상기 에러 정정 회로는 상기 보안 영역의 억세스시에는 비활성화되는
    메모리.
  7. 제 5항에 있어서,
    커맨드를 디코딩해 액티브 신호를 생성하는 커맨드 디코더;
    로우 어드레스의 일부 비트를 이용해 상기 보안 영역의 억세스가 요청되었는지 상기 노멀 영역의 억세스가 요청되었는지를 판단하는 영역 판단 회로; 및
    상기 영역 판단 회로에 의해 상기 보안 영역의 억세스가 요청되었다고 판단된 경우에, 상기 비교 회로의 비교 결과 상기 억세스 키와 상기 암호화키가 상이한 경우에 상기 액티브 신호의 상기 메모리 코어로의 전달을 차단하는 블록 회로
    를 더 포함하는 메모리.
  8. 제 3항에 있어서,
    상기 보안 영역의 사용 여부를 표시하기 위한 활성화 비트를 저장하기 위한 활성화 레지스터; 및
    상기 계수를 저장하기 위한 계수 레지스터
    를 더 포함하는 메모리.
  9. 메모리; 및
    상기 메모리를 제어하기 위한 메모리 콘트롤러를 포함하고,
    상기 메모리는
    상기 메모리 콘트롤러로부터 전달된 초기값을 이용해 의사 난수를 생성하는 의사 난수 생성기;
    상기 메모리 콘트롤러로부터 전달된 억세스 키를 저장하는 억세스 키 레지스터;
    상기 억세스 키 레지스터의 업데이트 회수를 카운트하는 카운터;
    상기 의사 난수와 상기 카운터의 카운트 값을 논리 연산해 암호화 키를 생성하는 논리 연산 회로;
    상기 억세스 키와 상기 암호화 키를 비교하는 비교 회로; 및
    상기 비교 회로의 비교 결과 상기 억세스 키와 상기 암호화 키가 동일한 경우에 억세스가 허용되는 보안 영역을 포함하는
    메모리 시스템.
  10. 제 9항에 있어서,
    상기 메모리 콘트롤러는
    상기 초기값을 이용해 콘트롤러 의사 난수를 생성하는 콘트롤러 의사 난수 생성기;
    상기 메모리 콘트롤러가 상기 메모리의 억세스 키 레지스터를 업데이트하는 회수를 카운트하는 콘트롤러 카운터; 및
    상기 콘트롤러 의사 난수와 상기 콘트롤러 카운터의 카운트 값을 논리 연산해 상기 억세스 키를 생성하는 콘트롤러 논리 연산 회로를 포함하는
    메모리 시스템.
  11. 제 10항에 있어서,
    상기 콘트롤러 의사 난수 생성기는 상기 의사 난수 생성기와 동일하게 구성되고,
    상기 콘트롤러 카운터는 상기 카운터와 동일하게 구성되고,
    상기 콘트롤러 논리 연산 회로는 상기 논리 연산 회로와 동일하게 구성되는
    메모리 시스템.
  12. 제 9항에 있어서,
    상기 의사 난수 생성기는 선형 되먹임 쉬프트 레지스터(LFSR: Linear Feedback Shift Register)를 포함하고,
    상기 초기값은 상기 선형 되먹임 쉬프트 레지스터의 시드(seed)로 사용되고,
    상기 메모리 콘트롤러로부터 전달된 계수에 의해 상기 선형 되먹임 쉬프트 레지스터의 피드백 특성이 결정되는
    메모리 시스템.
  13. 제 12항에 있어서,
    상기 선형 되먹임 쉬프트 레지스터는 상기 메모리 콘트롤러로부터 전달되는 쉬프트 커맨드에 응답해 쉬프트 동작을 수행하는
    메모리 시스템.
  14. 제 9항에 있어서,
    상기 논리 연산 회로는
    상기 의사 난수와 상기 카운트 값을 논리 연산하기 위한 다수의 XOR 게이트들을 포함하는
    메모리 시스템.
  15. 제 9항에 있어서,
    상기 보안 영역은 상기 메모리의 메모리 코어에 포함되고,
    상기 메모리 코어는 상기 비교 회로의 비교 결과에 상관없이 억세스가 허용되는 노멀 영역을 포함하는
    메모리 시스템.
  16. 제 15항에 있어서,
    상기 메모리는
    상기 메모리 코어에서 출력되는 데이터의 에러 정정을 위한 에러 정정 회로를 더 포함하고,
    상기 에러 정정 회로는 상기 보안 영역의 억세스시에는 비활성화되는
    메모리 시스템.
  17. 제 15항에 있어서,
    상기 메모리는
    상기 메모리 콘트롤러로부터 전달된 커맨드를 디코딩해 액티브 신호를 생성하는 커맨드 디코더;
    상기 메모리 콘트롤러로부터 전달된 로우 어드레스의 일부 비트를 이용해 상기 보안 영역의 억세스가 요청되었는지 상기 노멀 영역의 억세스가 요청되었는지를 판단하는 영역 판단 회로; 및
    상기 영역 판단 회로에 의해 상기 보안 영역의 억세스가 요청되었다고 판단된 경우에, 상기 비교 회로의 비교 결과 상기 억세스 키와 상기 암호화키가 상이한 경우에 상기 액티브 신호의 상기 메모리 코어로의 전달을 차단하는 블록 회로를 더 포함하는
    메모리 시스템.
  18. 제 13항에 있어서,
    상기 메모리는
    상기 보안 영역의 사용 여부를 표시하기 위한 활성화 비트를 저장하기 위한 활성화 레지스터; 및
    상기 계수를 저장하기 위한 계수 레지스터를 더 포함하는
    메모리 시스템.
  19. 제 13항에 있어서,
    상기 메모리 콘트롤러는 상기 메모리의 초기화 동작시에 상기 메모리로 상기 초기값과 상기 계수를 전달하는
    메모리 시스템.
KR1020190173147A 2019-12-23 2019-12-23 메모리 및 메모리 시스템 KR20210081009A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190173147A KR20210081009A (ko) 2019-12-23 2019-12-23 메모리 및 메모리 시스템
US17/028,513 US11403235B2 (en) 2019-12-23 2020-09-22 Memory and memory system
CN202011246338.7A CN113094765A (zh) 2019-12-23 2020-11-10 存储器以及存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190173147A KR20210081009A (ko) 2019-12-23 2019-12-23 메모리 및 메모리 시스템

Publications (1)

Publication Number Publication Date
KR20210081009A true KR20210081009A (ko) 2021-07-01

Family

ID=76438307

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190173147A KR20210081009A (ko) 2019-12-23 2019-12-23 메모리 및 메모리 시스템

Country Status (3)

Country Link
US (1) US11403235B2 (ko)
KR (1) KR20210081009A (ko)
CN (1) CN113094765A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113541947B (zh) * 2021-09-16 2021-11-26 飞天诚信科技股份有限公司 工作密钥生成方法、装置及计算机可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090217058A1 (en) * 2008-02-27 2009-08-27 Spansion Llc Secure data transfer after authentication between memory and a requester
US8154918B2 (en) * 2008-06-30 2012-04-10 Sandisk Il Ltd. Method for page- and block based scrambling in non-volatile memory
KR102518881B1 (ko) 2017-01-09 2023-04-05 삼성전자주식회사 반도체 장치의 동작 방법

Also Published As

Publication number Publication date
US20210191881A1 (en) 2021-06-24
CN113094765A (zh) 2021-07-09
US11403235B2 (en) 2022-08-02

Similar Documents

Publication Publication Date Title
US9785784B2 (en) Security management unit, host controller interface including same, method operating host controller interface, and devices including host controller interface
KR100445406B1 (ko) 데이터 암호화 장치 및 그 방법
KR101834969B1 (ko) 물리적으로 복제 불가능한 기능에 기초한 안전한 데이터 스토리지
US20070067644A1 (en) Memory control unit implementing a rotating-key encryption algorithm
US10896267B2 (en) Input/output data encryption
US20190384938A1 (en) Storage apparatus and method for address scrambling
US11416417B2 (en) Method and apparatus to generate zero content over garbage data when encryption parameters are changed
US20170147509A1 (en) Dynamic Memory Scrambling
CN113597600B (zh) 用于数据产生的数据线更新
TWI747007B (zh) 可配置安全記憶區域
US11663145B2 (en) Off-chip memory address scrambling apparatus and method for system on chip
US20210284703A1 (en) Encryption device and operation method thereof
KR20160026563A (ko) 데이터 처리 시스템
EP3252991B1 (en) Application specific low-power secure key
JP2020030527A (ja) 記憶装置及びプログラム
CN112887077A (zh) 一种ssd主控芯片随机缓存保密方法和电路
KR20210081009A (ko) 메모리 및 메모리 시스템
CN213876729U (zh) 一种ssd主控芯片随机缓存保密电路
KR20070007596A (ko) 컴퓨터
JP5560463B2 (ja) 半導体装置
TWI813815B (zh) 記憶體模組、其操作方法、記憶體系統以及其操作方法
CN112131618A (zh) 具有存储器内一次一密安全性的存储级存储器
KR100398620B1 (ko) 암호화 회로를 포함하는 메모리 장치
CN111916132B (zh) 存储模块、其操作方法、存储系统以及其操作方法
US20240184875A1 (en) Methods, devices and systems with authenticated memory device access transactions

Legal Events

Date Code Title Description
E902 Notification of reason for refusal