KR-20260060927-A - MEMORY DEVICE AND OPERATION METHOD THEREOF
Abstract
본 개시의 메모리 장치 및 프로세서를 포함할 수 있다. 예를 들어, 프로세서는 데이터를 확인하고, 상기 데이터에 대응하는 기준 인증 코드를 확인하고, 상기 데이터에 대응하는 제1 비교 인증 코드를 확인하고, 상기 데이터에 대응하는 제2 비교 인증 코드를 확인하고, 상기 제1 비교 인증 코드 및 상기 제2 비교 인증 코드 중 적어도 하나와 상기 기준 인증 코드에 기반하여 상기 데이터를 상기 메모리 블록에 저장할지 여부를 확인할 수 있다.
Inventors
- 염윤호
- 김용민
- 이정진
Assignees
- 삼성전자주식회사
Dates
- Publication Date
- 20260506
- Application Date
- 20241025
Claims (10)
- 메모리 장치에 있어서, 메모리 블록; 및 데이터를 확인하고, 상기 데이터에 대응하는 기준 인증 코드를 확인하고, 상기 데이터에 대응하는 제1 비교 인증 코드를 확인하고, 상기 데이터에 대응하는 제2 비교 인증 코드를 확인하고, 상기 제1 비교 인증 코드 및 상기 제2 비교 인증 코드 중 적어도 하나와 상기 기준 인증 코드에 기반하여 상기 데이터를 상기 메모리 블록에 저장할지 여부를 확인하는 프로세서; 를 포함하는, 메모리 장치.
- 제1항에 있어서, 상기 프로세서는, 상기 제1 비교 인증 코드에 대응하는 제1 딜레이 값을 확인하고, 상기 제2 비교 인증 코드에 대응하는 제2 딜레이 값을 확인하고, 상기 제1 딜레이 값 및 상기 제2 딜레이 값에 기반하여 상기 데이터를 상기 메모리 블록에 저장할지 여부를 확인하는, 메모리 장치.
- 제2항에 있어서, 상기 프로세서는, 상기 제1 딜레이 값에 기반한 제1 시점에 상기 제1 비교 인증 코드를 확인하고, 상기 제2 딜레이 값에 기반한 제2 시점에 상기 제2 비교 인증 코드를 확인하는, 메모리 장치.
- 제3항에 있어서, 상기 프로세서는, 상기 제1 시점 이후의 제3 시점에 상기 제1 비교 인증 코드와 상기 기준 인증 코드 간의 제1 비교 결과를 확인하고, 상기 제2 시점 이후의 제4 시점에 제2 비교 인증 코드와 상기 기준 인증 코드 간의 제2 비교 결과를 확인하고, 상기 제3 시점은 상기 제4 시점과 상이한, 메모리 장치.
- 제2항에 있어서, 상기 프로세서는, 추가 데이터가 확인되면, 상기 추가 데이터에 대응하는 추가 기준 인증 코드를 확인하고, 상기 추가 데이터에 대응하는 제3 비교 인증 코드 및 상기 제3 비교 인증 코드에 대응하는 제3 딜레이 값을 확인하고, 상기 추가 데이터에 대응하는 제4 비교 인증 코드 및 상기 제4 비교 인증 코드에 대응하고 제4 딜레이 값을 확인하고, 상기 제3 비교 인증 코드, 상기 제4 비교 인증 코드, 제3 딜레이 값 및 제4 딜레이 값 중 적어도 하나와 상기 추가 기준 인증 코드에 기반하여 상기 추가 데이터를 상기 메모리 블록에 저장할지 여부를 확인하고, 상기 제3 딜레이 값 및 상기 제4 딜레이 값 중 적어도 하나는 상기 제1 딜레이 값 및 상기 제2 딜레이 값과 상이한, 메모리 장치.
- 제1항에 있어서, 상기 프로세서는, 상기 제1 비교 인증 코드와 상기 기준 인증 코드 간의 제1 비교 결과 및 상기 제1 비교 인증 코드와 상기 기준 인증 코드 간의 제2 비교 결과가 지정된 기준을 만족하는 경우, 상기 데이터를 상기 메모리 블록에 저장하도록 구성되는, 메모리 장치.
- 제1항에 있어서, 상기 프로세서는, 상기 제1 비교 인증 코드와 상기 기준 인증 코드 간의 제1 비교 결과 및 상기 제1 비교 인증 코드와 상기 기준 인증 코드 간의 제2 비교 결과가 지정된 기준을 만족하지 않는 경우, 상기 데이터를 상기 메모리 블록에 저장하지 않도록 구성되는, 메모리 장치.
- 제1항에 있어서, 상기 프로세서는, 상기 제1 비교 인증 코드와 상기 기준 인증 코드 간의 제1 비교 결과 및 상기 제1 비교 인증 코드와 상기 기준 인증 코드 간의 제2 비교 결과 중 하나가 지정된 기준을 만족하는 경우, 인증 에러에 관한 대응 정책을 수행하도록 구성되는, 메모리 장치.
- 메모리 장치에 의해 수행되는 데이터 관리 방법에 있어서, 데이터를 확인하는 단계; 상기 데이터에 대응하는 기준 인증 코드를 확인하는 단계; 상기 데이터에 대응하는 제1 비교 인증 코드를 확인하는 단계; 상기 데이터에 대응하는 제2 비교 인증 코드를 확인하는 단계; 및 상기 제1 비교 인증 코드 및 상기 제2 비교 인증 코드 적어도 하나와 상기 기준 인증 코드에 기반하여 상기 데이터를 메모리 블록에 저장할지 여부를 확인하는 단계; 를 포함하는, 데이터 관리 방법.
- 제9항에 있어서, 상기 데이터 관리 방법은, 상기 제1 비교 인증 코드에 대응하는 제1 딜레이 값을 확인하는 단계; 상기 제2 비교 인증 코드에 대응하는 제2 딜레이 값을 확인하는 단계; 및 상기 제1 딜레이 값 및 상기 제2 딜레이 값에 기반하여 상기 데이터를 상기 메모리 블록에 저장할지 여부를 확인하는 단계; 를 더 포함하는, 데이터 관리 방법.
Description
메모리 장치 및 그의 동작 방법 {MEMORY DEVICE AND OPERATION METHOD THEREOF} 본 개시는 데이터를 관리하는 메모리 장치 및 그의 동작 방법에 대한 것이다. 메모리 장치는 적어도 하나의 메모리 블록에 데이터를 저장하고 출력하는 과정을 통해 사용자에게 저장 서비스를 제공할 수 있다. 메모리 장치는 단독으로 데이터를 관리하거나, 또는 외부 장치(예: 호스트 장치)와의 통신을 통해 데이터를 관리할 수 있다. 외부 장치는 메모리 장치와의 통신을 통해 사용자에게 다양한 서비스를 제공할 수 있다. 예를 들어, 외부 장치는 저장하고자 하는 데이터를 메모리 장치에 전달하거나, 처리하고자 하는 데이터를 메모리 장치로 요청할 수 있다. 메모리 장치는 외부 장치로부터 전달받은 데이터에 대한 인증 절차를 수행할 수 있다. 예를 들어, 메모리 장치는 MAC과 같은 인증 코드를 기반으로 데이터에 대한 인증 절차를 수행하고, 인증 결과가 지정된 기준을 만족하는 경우 데이터를 메모리 블록에 저장할 수 있다. 한편, 메모리 장치는 인증 절차를 수행하는 과정에서 인증 우회를 위한 결함 주입(예: 전자파 주입(electromagnetic fault injection))에 의해 정상적인 메모리 동작을 수행하지 못하는 경우가 있다. 따라서, 보안 수준이 높은 인증 절차를 수립함으로써 예기치 못한 공격에 의해 메모리 동작에 발생하는 문제를 방지하기 위한 기술이 필요한 실정이다. 도 1은 본 개시의 실시 예에 따른 메모리 장치 및 호스트 장치를 포함하는 시스템을 설명하기 위한 도면이다. 도 2는 본 개시의 실시 예에 따른 메모리 장치 및 호스트 장치를 포함하는 시스템을 설명하기 위한 도면이다. 도 3은 본 개시의 실시 예에 따른 메모리 장치의 동작 방법을 설명하기 위한 동작 순서도이다. 도 4는 본 개시의 실시 예에 따른 메모리 장치의 동작 방법을 설명하기 위한 동작 순서도이다. 도 5a는 본 개시의 실시 예에 따른 메모리 장치의 동작을 설명하기 위한 도면이다. 도 5b는 본 개시의 실시 예에 따른 메모리 장치의 동작을 설명하기 위한 도면이다. 도 5c는 본 개시의 실시 예에 따른 메모리 장치의 동작을 설명하기 위한 도면이다. 도 6은 본 개시의 실시 예에 따른 메모리 장치의 동작 방법을 설명하기 위한 동작 순서도이다. 도 7은 본 개시의 실시 예에 따른 메모리 장치 및 호스트 장치의 동작 방법을 설명하기 위한 동작 순서도이다. 실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "..부", "..모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 도 1은 본 개시의 실시 예에 따른 메모리 장치 및 호스트 장치를 포함하는 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 본 개시의 실시 예에 따른 데이터 관리 시스템(10)은 메모리 장치(100)(또는, 스토리지 장치) 및 호스트 장치(200)를 포함할 수 있다. 메모리 장치(100) 및 호스트 장치(200)는 통신 채널을 통해 다양한 데이터를 상호 송수신할 수 있다. 메모리 장치(100) 및 호스트 장치(200)는 하나의 장치에 포함되고 물리적으로 구분될 수 있다. 실시 예에서, 메모리 장치(100)는 메모리 블록(130) 및 프로세서(140)를 포함할 수 있다. 메모리 장치(100)는 eMMC(embedded Multi Media Card) 또는 UFS(Universal Flash Storage)을 포함할 수 있다. 메모리 블록(130)은 명령 또는 데이터를 저장할 수 있다. 예를 들어, 메모리 블록(130)은 메모리 장치(100)에 의해 관리되는 데이터를 저장할 수 있다. 예를 들어, 메모리 블록(130)은 호스트 장치(200)로부터 전달된 데이터 중 적어도 일부를 저장할 수 있다. 메모리 블록(130)은 메모리 장치(100)의 동작과 연관된 다양한 정보들을 저장할 수 있다. 예를 들어, 메모리 블록(130)은 메모리 장치(100)의 동작 히스토리, 동작 파라미터, 성능 등에 관한 정보들을 저장할 수 있다. 예를 들어, 메모리 블록(130)은 RPMB(Replay Protected Memory Block)을 포함할 수 있다. 메모리 블록(130)은 프로세서(140)에 커플링되며, 프로세서(140)는 메모리 블록(130)에 포함된 저장 매체로부터 정보를 판독하거나 저장 매체에 정보를 기입할 수 있다. 예를 들어, 메모리 블록(130) 및 프로세서(140)는 개별 컴포넌트로서 구현되거나 하나의 모듈로서 일체형으로 구현될 수 있다. 프로세서(140)(또는, 메모리 컨트롤러)는 메모리 블록(130)과 작동적으로(operatively) 연결될 수 있다. 예를 들어, 프로세서(140)는 메모리 블록(130)에 데이터를 저장(또는, write)하거나, 메모리 블록(130)에 저장된 데이터를 판독(또는, read)할 수 있다. 프로세서(140)는 데이터와 데이터에 대응하는 기준 인증 코드를 확인할 수 있다. 프로세서(140)는 데이터에 대응하는 적어도 하나의 비교 인증 코드를 생성하고, 적어도 하나의 비교 인증 코드와 기준 인증 코드에 기반하여 데이터를 메모리 블록(130)에 저장할지 여부를 확인할 수 있다. 실시 예에서, 호스트 장치(200)는 메모리 장치(100)에 데이터를 저장하거나 메모리 장치(100)에 저장된 데이터를 처리할 수 있다. 호스트 장치(200)는 메모리 장치(100)에 포함된 구성 요소들 중 적어도 일부의 동작을 제어할 수 있다. 호스트 장치(200)는 메모리 장치(100)와 함께 하나의 전자 장치에 포함된 프로세서(예: AP, application processor)를 포함할 수 있다. 도 1에서 메모리 장치(100)가 포함하는 것으로 도시된 구성 요소들은 예시적인 것으로써, 본 개시의 실시 예들이 이에 제한되는 것은 아니다. 예를 들어, 메모리 장치(100)는 도 1에 도시되지 않은 구성 요소(예: 카운터, 적어도 하나의 연산 장치, 적어도 하나의 비교 장치 등)를 더 포함할 수 있다. 도 2는 본 개시의 실시 예에 따른 메모리 장치 및 호스트 장치를 포함하는 시스템을 설명하기 위한 도면이다. 도 2를 참조하면, 메모리 장치(100)는 호스트 장치(200)와의 통신을 통해 전달되는 다양한 정보를 확인할 수 있다. 메모리 장치(100)는 도 2에 도시된 구성 요소들(예: 프로세서(140), 제1 연산 장치(211), 제2 연산 장치(212), 제1 비교 장치(221), 제2 비교 장치(222))을 기반으로 데이터를 메모리 블록에 저장할지 여부를 확인할 수 있다. 도 2에 도시된 메모리 장치(100)의 구성 요소들의 구분은 논리적인 구분에 해당할 수 있으며, 구성 요소들이 수행하는 것으로 설명하는 동작들 중 적어도 일부는 하나의 장치(예: 프로세서(140))에서 수행되는 동작일 수 있다. 실시 예에서, 메모리 장치(100)는 데이터를 확인할 수 있다. 메모리 장치(100)는 호스트 장치(200)로부터 전달되는 데이터를 확인할 수 있다. 호스트 장치(200)는 메모리 장치(100)에 포함된 메모리 블록(130)에 저장하기 위한 데이터를 메모리 장치(100)에 전달할 수 있다. 실시 예에서, 메모리 장치(100)는 데이터에 대응하는 기준 인증 코드를 확인할 수 있다. 메모리 장치(100)는 호스트 장치(200)로부터 전달되고 데이터에 대응하는 기준 인증 코드를 확인할 수 있다. 실시 예에서, 메모리 장치(100)는 데이터에 대응하는 제1 비교 인증 코드 및 제2 비교 인증 코드를 확인(또는, 생성)할 수 있다. 메모리 장치(100)는 제1 연산 장치(211)를 이용하여 제1 비교 인증 코드를 확인하고, 제2 연산 장치(212)를 이용하여 제2 비교 인증 코드를 확인할 수 있다. 메모리 장치(100)는 제1 딜레이 값에 기반한 제1 시점에 제1 비교 인증 코드를 확인하고, 제2 딜레이 값에 기반한 제2 시점에 제2 비교 인증 코드를 확인할 수 있다. 예를 들어, 메모리 장치(100)는 기준 인증 코드를 확인한 시점으로부터 제1 딜레이 값에 대응하는 시간이 경과한 제1 시점에 제1 비교 인증 코드를 확인할 수 있다. 제1 시점은, 메모리 장치(100)가 제1 연산 장치(211)를 이용하여 제1 비교 인증 코드를 확인하기 시작한 시점일 수 있다. 예를 들어, 메모리 장치(100))는 기준 인증 코드를 확인한 시점으로부터 제2 딜레이 값에 대응하는 시간이 경과한 제2 시점에 제2 비교 인증 코드를 확인할 수 있다. 제2 시점은, 메모리 장치(100)가 제2 연산 장치(212)를 이용하여 제2 비교 인증 코드를 확인하기 시작한 시점일 수 있다. 예를 들어, 제1 딜레이 값은 제2 딜레이 값과 상이할 수 있다. 예를 들어, 제1 딜레이 값에 대응하는 시간과 제2 딜레이 값에 대응하는 시간의 차이는 지정된 차이(예: 100ns) 이하일 수 있다. 메모리 장치(100)는 메모리 장치(100)의 작동 성능에 기반하여 딜레이 값의 범위를 확인하고, 확인된 범위 이내의 제1 딜레이 값 및 제2 딜레이 값을 확인할 수