KR20220090409A - Memory system and operation method of memory system - Google Patents
Memory system and operation method of memory system Download PDFInfo
- Publication number
- KR20220090409A KR20220090409A KR1020210163743A KR20210163743A KR20220090409A KR 20220090409 A KR20220090409 A KR 20220090409A KR 1020210163743 A KR1020210163743 A KR 1020210163743A KR 20210163743 A KR20210163743 A KR 20210163743A KR 20220090409 A KR20220090409 A KR 20220090409A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- scrambling
- rule
- address
- memory system
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40611—External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
- G11C17/14—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
- G11C17/18—Auxiliary circuits, e.g. for writing into memory
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
메모리 시스템은, 스크램블 규칙에 따라 어드레스를 스크램블해 스크램블 어드레스를 생성하는 어드레스 스크램블러; 다수의 메모리 셀들을 포함하고, 상기 스크램블 어드레스에 의해 지정된 메모리 셀들에 데이터를 저장하는 메모리 코어; 및 공격 조건의 만족에 응답해 상기 스크램블 규칙을 변경하기 위한 스크램블 제어 회로를 포함할 수 있다.The memory system includes: an address scrambler that scrambles an address according to a scrambling rule to generate a scrambled address; a memory core including a plurality of memory cells and storing data in the memory cells designated by the scramble address; and a scrambling control circuit configured to change the scrambling rule in response to satisfaction of an attack condition.
Description
본 특허 문헌은 메모리 시스템에 관한 것이다.This patent document relates to a memory system.
메모리의 집적도가 증가하면서 메모리에 포함된 다수의 워드라인 사이의 간격이 줄어들고 있다. 워드라인 사이의 간격이 줄어들면서 인접한 워드라인 사이의 커플링 효과가 증가하고 있다. As the density of the memory increases, the spacing between a plurality of word lines included in the memory is decreasing. As the spacing between word lines decreases, a coupling effect between adjacent word lines increases.
한편, 메모리 셀에 데이터가 입출력될 때마다 워드라인이 활성화(액티브) 상태와 비활성화 상태 사이에서 토글하게 되는데 상술한 바와 같이 인접한 워드라인 사이의 커플링 효과가 커지면서 자주 활성화되는 워드라인에 인접한 워드라인에 연결된 메모리 셀의 데이터가 손상되는 현상이 발생하고 있다. 이러한 현상을 로우 해머링(Row Hammering)이라고 하는데, 워드라인 디스터번스로 인해 메모리 셀이 리프레시되기 전에 메모리 셀의 데이터가 손상되는 현상이 발생하여 문제가 되고 있다.Meanwhile, whenever data is input/output to/from the memory cell, the word line toggles between an active (active) state and an inactive state. There is a phenomenon in which data in the memory cell connected to the is damaged. This phenomenon is called row hammering, and data in the memory cell is damaged before the memory cell is refreshed due to word line disturbance, which is a problem.
도 1은 로우 해머링을 설명하기 위한 도면으로 메모리에 포함된 셀 어레이의 일부를 나타낸 도면이다.1 is a diagram for explaining row hammering, and is a diagram illustrating a part of a cell array included in a memory.
도 1에서 'WLL'은 활성화 횟수가 많은 워드라인(로우(row) 라인)에 해당하며 'WLL-1', 'WLL+1'은 각각 'WLL'에 인접하게 배치된 워드라인, 즉 활성화 횟수가 워드라인에 인접한 워드라인에 해당한다. 그리고 'CL'은 'WLL'에 연결된 메모리셀, 'CL-1'은 'WLL-1'에 연결된 메모리 셀, 'CL+1'은 'WLL+1'에 연결된 메모리 셀을 나타낸다. 각각의 메모리 셀은 셀 트랜지스터(TL, TL-1, TL+1) 및 셀 캐패시터(CAPL, CAPL-1, CAPL+1)를 포함한다.In FIG. 1, 'WLL' corresponds to a word line (row line) with a large number of activations, and 'WLL-1' and 'WLL+1' are word lines disposed adjacent to 'WLL', that is, the number of activations, respectively. corresponds to a word line adjacent to the word line. In addition, 'CL' denotes a memory cell connected to 'WLL', 'CL-1' denotes a memory cell connected to 'WLL-1', and 'CL+1' denotes a memory cell connected to 'WLL+1'. Each memory cell includes cell transistors TL, TL-1, and TL+1 and cell capacitors CAPL, CAPL-1, and CAPL+1.
도 1에서 'WLL'이 활성화되거나 비활성화되면 'WLL'과 'WLL-1' 및 'WLL+1' 사이에 발생하는 커플링 현상으로 인해 'WLL-1' 및 'WLL+1'의 전압이 상승하거나 하강하면서 셀 캐패시터(CL-1, CL+1)의 전하량에도 영향을 미친다. 따라서 'WLL'의 활성화가 빈번하게 일어나서 'WLL'이 활성화 상태와 비활성화 상태 사이에서 토글하는 경우 'CL-1' 및 'CL+1'에 포함된 셀 캐패시터(CAPL-1, CAPL+1)에 저장된 전하의 양의 변화가 증가하고 메모리 셀의 데이터가 열화될 수 있다.In FIG. 1, when 'WLL' is activated or deactivated, the voltages of 'WLL-1' and 'WLL+1' increase due to a coupling phenomenon occurring between 'WLL' and 'WLL-1' and 'WLL+1'. It also affects the amount of charge in the cell capacitors CL-1 and CL+1 as it goes down. Therefore, when the activation of 'WLL' occurs frequently and the 'WLL' toggles between the active state and the inactive state, the cell capacitors (CAPL-1, CAPL+1) included in 'CL-1' and 'CL+1' A change in the amount of stored charge may increase and data in the memory cell may deteriorate.
또한 워드라인이 활성화 상태와 비활성화 상태를 토글하면서 발생한 전자기파가 인접한 워드라인에 연결된 메모리 셀의 셀 캐패시터에 전자를 유입시키거나 셀 캐패시터로부터 전자를 유출 시킴으로써 데이터를 손상시킨다.In addition, electromagnetic waves generated while the word line toggles the active state and the inactive state cause data to be damaged by introducing electrons into or outflowing electrons from the cell capacitor of the memory cell connected to the adjacent word line.
로우 해머링을 해결하기 위한 방법으로는, 여러 번 액티브된 로우(워드라인)를 찾고 여러 번 액티브된 로우의 주변 로우들을 리프레시하는 방법이 주로 사용된다.As a method for solving row hammering, a method of finding a row (word line) that has been activated several times and refreshing adjacent rows of a row that has been activated multiple times is mainly used.
본 발명의 실시예들에 의하면, 메모리 시스템의 로우 해머링 공격 방어 능력을 높이는 기술을 제공할 수 있다.According to the embodiments of the present invention, it is possible to provide a technique for increasing the low hammering attack defense capability of the memory system.
본 발명의 일실시예에 따른 메모리 시스템은, 스크램블 규칙에 따라 어드레스를 스크램블해 스크램블 어드레스를 생성하는 어드레스 스크램블러; 다수의 메모리 셀들을 포함하고, 상기 스크램블 어드레스에 의해 지정된 메모리 셀들에 데이터를 저장하는 메모리 코어; 및 공격 조건의 만족에 응답해 상기 스크램블 규칙을 변경하기 위한 스크램블 제어 회로를 포함할 수 있다.According to an embodiment of the present invention, there is provided a memory system, comprising: an address scrambler generating a scrambled address by scrambling an address according to a scrambling rule; a memory core including a plurality of memory cells and storing data in the memory cells designated by the scramble address; and a scrambling control circuit configured to change the scrambling rule in response to satisfaction of an attack condition.
본 발명의 일실시예에 따른 메모리 시스템의 동작 방법은, 제1스크램블 규칙에 따라 어드레스를 스크램블하는 단계; 상기 제1스크램블 규칙에 따라 스크램블된 어드레스를 이용해 메모리 코어를 억세스하는 단계; 상기 메모리 코어에 대한 공격 조건의 만족이 확인되는 단계; 상기 제1스크램블 규칙을 제2스크램블 규칙으로 변경하는 단계; 상기 제2스크램블 규칙에 따라 어드레스를 스크램블하는 단계; 및 상기 제2스크램블 규칙에 따라 스크램블된 어드레스를 이용해 상기 메모리 코어를 억세스하는 단계를 포함할 수 있다.According to an embodiment of the present invention, a method of operating a memory system includes: scrambling an address according to a first scrambling rule; accessing a memory core using an address scrambled according to the first scrambling rule; confirming that the attack condition for the memory core is satisfied; changing the first scramble rule to a second scramble rule; scrambling an address according to the second scrambling rule; and accessing the memory core using an address scrambled according to the second scrambling rule.
본 발명의 실시예들에 의하면, 메모리 시스템의 로우 해머링 공격 방어 능력을 높일 수 있다.According to the embodiments of the present invention, it is possible to increase the defense capability of the memory system against the row hammering attack.
도 1은 로우 해머링을 설명하기 위한 도면.
도 2는 본 발명의 일실시예에 따른 메모리 시스템(200)의 구성도.
도 3은 본 발명의 다른 실시예에 따른 메모리 시스템(300)의 구성도.
도 4는 도 2의 메모리 시스템(200)의 동작을 도시한 순서도.1 is a view for explaining row hammering.
2 is a block diagram of a
3 is a block diagram of a
4 is a flowchart illustrating an operation of the
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 본 발명을 설명함에 있어서, 본 발명의 요지와 무관한 공지의 구성은 생략될 수 있다. 각 도면의 구성 요소들에 참조 번호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다.Hereinafter, the most preferred embodiment of the present invention will be described with reference to the accompanying drawings in order to describe in detail so that those of ordinary skill in the art to which the present invention pertains can easily implement the technical idea of the present invention. In describing the present invention, well-known components that are not related to the gist of the present invention may be omitted. In adding reference numbers to the components of each drawing, it should be noted that only the same components are given the same number as possible even though they are indicated on different drawings.
도 2는 본 발명의 일실시예에 따른 메모리 시스템(200)의 구성도이다.2 is a block diagram of a
도 2를 참조하면, 메모리 시스템(200)은 메모리 콘트롤러(210)와 메모리(250)를 포함할 수 있다.Referring to FIG. 2 , the
메모리 콘트롤러(210)는 호스트(HOST)의 요청에 따라 메모리(250)의 동작을 제어할 수 있다. 호스트(HOST)에는 CPU(Central Processing Unit), GPU(Graphic Processing Unit), AP(Application Processor) 등이 있을 수 있다. 메모리 콘트롤러(210)는 호스트 인터페이스(211), 스케쥴러(213), 커맨드 생성기(215), 로우 해머 공격 패턴 감지 회로(217), 에러 정정 회로(219), 스크램블 제어 회로(221), 어드레스 스크램블러(223) 및 메모리 인터페이스(225)를 포함할 수 있다. 메모리 콘트롤러(210)가 CPU, GPU, AP 등에 포함될 수도 있는데, 이 경우 호스트(HOST)는 이들 구성에서 메모리 콘트롤러(210) 이외의 구성을 의미할 수 있다. 예를 들어, 메모리 콘트롤러(210)가 CPU에 포함된 경우 도면의 호스트(HOST)는 CPU에서 메모리 콘트롤러(210)를 제외한 나머지 구성들을 나타낼 수 있다.The
호스트 인터페이스(211)는 메모리 콘트롤러(210)와 호스트(HOST) 간의 인터페이스를 위한 것일 수 있다.The
스케쥴러(213)는 호스트(HOST)로부터의 요청들 중 메모리(250)에 지시할 요청의 순서를 정할 수 있다. 스케쥴러(213)는 메모리(250)의 퍼포먼스 향상을 위해 호스트(HOST)로부터 요청들이 수신된 순서와 메모리(250)로 지시할 동작의 순서를 다르게 할 수 있다. 예를 들어, 호스트(HOST)가 메모리(250)의 리드 동작을 먼저 요청하고 라이트 동작을 이후에 요청했다고 하더라도, 라이트 동작이 리드 동작보다 먼저 수행되도록 순서를 조절할 수 있다.The
커맨드 생성기(215)는 스케쥴러(213)에 의해 정해진 동작의 순서에 맞게 메모리(250)로 인가할 커맨드를 생성할 수 있다.The
로우 해머 공격 패턴 감지 회로(217)는 메모리(250)의 메모리 코어(251)에 대한 로우 해머 공격 패턴을 감지할 수 있다. 로우 해머 공격 패턴 감지 회로(217)는 메모리 코어(251)의 로우들(rows)의 액티브(active) 동작의 회수를 카운팅해 과도하게 많이 액티브된 로우를 데이터가 유실될 가능성이 높은 로우를 해머드 로우(hammered row)로 분류할 수 있다. 메모리 코어(251)에서 해머드 로우에 인접한 로우들은 데이터가 유실될 위험이 높으므로, 스케쥴러(213)는 해머드 로우에 인접한 로우들에 대한 리프레시 동작, 이러한 리프레시 동작을 스마트 리프레시 동작이라고도 함, 을 스케쥴링할 수 있다.The raw hammer attack
에러 정정 회로(219)는 메모리(250)에 저장된 데이터의 에러를 감지 및 정정할 수 있다. 에러 정정 회로(219)는 메모리(250)의 라이트(write) 동작시에는 메모리(250)에 라이트될 데이터를 이용해 에러 정정 코드(ECC, Error Correction Code)를 생성할 수 있다. 에러 정정 회로(219)에 의해 생성된 에러 정정 코드는 라이트 데이터와 함께 메모리(250)에 저장될 수 있다. 에러 정정 회로(219)는 메모리(250)의 리드(read) 동작시에는 메모리(250)로부터 리드된 에러 정정 코드를 이용해 메모리(250)로부터 리드된 데이터의 에러를 감지하고, 에러가 발견된 경우에 이를 정정할 수 있다.The
어드레스 스크램블러(223)는 정해진 스크램블 규칙에 따라 어드레스를 스크램블해 스크램블 어드레스를 생성할 수 있다. 메모리(250)는 어드레스 스크램블러(223)에서 생성된 스크램블 어드레스에 의해 억세스될 수 있다.The
스크램블 제어 회로(221)는 공격 조건이 만족될 때마다 어드레스 스크램블러(223)의 스크램블 규칙을 변경할 수 있다. 여기서 공격 조건의 만족이란 해커(hacker)의 로우 해머 공격이 있다고 판단 가능한 조건을 확인하는 것을 의미할 수 있다. 공격 조건의 만족 여부는 로우 해머 공격 패턴 감지 회로(217)와 에러 정정 회로(219)를 이용해서 확인할 수 있다. 예를 들어, 하기의 (1)과 (2)의 조건이 만족되면 공격 조건이 만족되었다고 판단될 수 있다. The
(1) 로우 해머 공격 패턴 감지 회로(217)에 의해 하나의 로우에 대한 로우 해머 공격 패턴 감지. 예를 들어, 어느 하나의 로우가 과도하게 여러번 액티브되어 해머드 로우로 선정되었다면, 해당 로우에 대한 로우 해머 공격 패턴이 감지된 것으로 판단될 수 있다.(1) Low hammer attack pattern detection for one row by the row hammer attack
(2) 에러 정정 회로(219)에 의해 해머드 로우의 인접 로우들로부터 임계값 이상의 에러가 발견. 즉, 해머드 로우의 인접 로우들로부터 리드 동작이 수행될때 임계값 이상의 에러가 발견되었다면, 해커의 로우 해머 공격이 어느정도 성공적이고, 공격 조건이 만족되었다고 판단될 수 있다.(2) An error greater than or equal to the threshold value is found from adjacent rows of the hammered row by the
로우 해머 공격시에 해커는 커널, 즉 중요 보안 정보, 이 저장된 메모리 영역에 대한 로우 해머 공격을 해 데이터를 왜곡(distortion)시키면서 컴퓨터 시스템의 권한을 빼앗게 된다. 해커는 메모리(250)에서 커널이 저장된 위치를 알지 못하므로, 로우 해머 공격을 통해 여러 영역을 공격하는 시행 착오를 겪어가면서 커널이 있는 곳을 알아낸다. 스크램블 제어 회로(221)는 해커의 공격 조건을 감지할 때마다, 어드레스 스크램블러(223)의 스크램블 규칙을 변경하므로 해커가 커널이 저장된 위치를 알아내는 것을 불가능하게할 수 있다. 즉, 해커의 로우 해머 공격을 효과적으로 방어할 수 있다.In the case of a raw hammer attack, the hacker performs a raw hammer attack on the kernel, that is, important security information, and this memory area, distorting data and taking away the authority of the computer system. Since the hacker does not know the location where the kernel is stored in the
메모리 인터페이스(225)는 메모리 콘트롤러(210)와 메모리(250) 간의 인터페이스를 위한 것일 수 있다. 메모리 인터페이스(225)를 통해 메모리 콘트롤러(210)로부터 메모리(250)로 커맨드와 어드레스(CA)가 전달되고, 데이터(DATA)가 송/수신될 수 있다. 메모리 인터페이스(221)를 PHY 인터페이스라고도 한다.The
메모리(250)는 메모리 콘트롤러(210)에 의해 지시되는 동작을 수행할 수 있다. 메모리(250)는 리프레시 동작이 필요한 메모리일 수 있다. 예를 들어, 메모리(250)는 DRAM일 수 있으며, 리프레시 동작이 요구되는 다른 종류의 메모리일 수도 있다.The
메모리(250)는 메모리 코어(251), 제어 회로(253) 및 이-퓨즈 어레이 회로(255)를 포함할 수 있다.The
제어 회로(253)는 메모리(250)의 전반적인 동작을 제어할 수 있다. 제어 회로(253)는 커맨드와 어드레스(CA)에 의해 지시된 동작들, 예를 들어 액티브(active) 동작, 프리차지(precharge) 동작, 리드(read) 동작, 라이트(write) 동작 및 리프레시(refresh) 동작, 을 메모리(250)가 수행할 수 있도록 메모리(250) 내부의 구성들을 제어할 수 있다.The
메모리 코어(251)는 다수의 로우들과 다수의 컬럼들로 배열된 다수의 메모리 셀들을 포함할 수 있다. 또한, 메모리 코어(251)는 메모리 셀들에 데이터를 라이트하고, 메모리 셀들로부터 데이터를 리드하기 위한 회로들을 포함할 수 있다.The
이-퓨즈 어레이 회로(255)는 다수의 이-퓨즈들을 포함하고, 메모리(250)의 리페어와 관련된 정보, 메모리(250)의 각종 설정과 관련된 정보들을 저장할 수 있다. 이-퓨즈 어레이 회로(255)에 저장된 정보들은 메모리(250)의 전원이 오프되더라도 계속 유지될 수 있다. 스크램블 제어 회로(221)는 메모리 시스템(200)의 전원이 오프되는 경우에 대비해 어드레스 스크램블러(223)가 사용하는 스크램블 규칙이 무엇인지와 관련된 정보를 이-퓨즈 어레이 회로(255)에 저장할 수 있다.The
도 3은 본 발명의 다른 실시예에 따른 메모리 시스템(300)의 구성도이다.3 is a block diagram of a
도 3을 참조하면, 메모리 시스템(300)은 메모리 콘트롤러(310)와 메모리(350)를 포함할 수 있다.Referring to FIG. 3 , the
메모리 콘트롤러(310)는 호스트 인터페이스(311), 스케쥴러(313), 커맨드 생성기(315), 로우 해머 공격 패턴 감지 회로(317), 에러 정정 회로(319), 스크램블 제어 회로(321) 및 메모리 인터페이스(325)를 포함할 수 있다. 도 3의 메모리 콘트롤러(310)의 구성들(311, 313, 315, 317, 319, 321, 325)은 도 2의 메모리 콘트롤러(210)의 구성들(211, 213, 215, 217, 219, 221, 225)과 동일하게 설계될 수 있다.The
메모리 콘트롤러(310)는 메모리 콘트롤러(210) 대비 어드레스 스크램블러(223)가 생략된 구성을 가진다. 도 3의 실시예에서는 어드레스 스크램블러(323)가 메모리 콘트롤러(310)가 아닌 메모리(350)에 포함되었기 때문이다. 메모리 콘트롤러(310)는 메모리 인터페이스(225)를 통해 스크램블되지 않은 어드레스를 메모리(350)로 전송하며, 어드레스의 스크램블링 작업은 메모리(350)의 어드레스 스크램블러(323)에서 수행될 수 있다. 스크램블 제어 회로(321)는 메모리 인터페이스(325)를 통해 메모리(350)의 어드레스 스크램블러(323)의 스크램블 규칙을 변경할 수 있다.The
메모리(350)는 메모리 코어(351), 제어 회로(353), 이-퓨즈 어레이 회로(355) 및 어드레스 스크램블러(323)를 포함할 수 있다. 도 3의 메모리(350)의 구성들(351, 353, 355)은 도 2의 메모리(250)의 구성들(251, 353, 355)과 동일하게 설계될 수 있다.The
메모리(350)의 어드레스 스크램블러(323)는 메모리 콘트롤러(310)로부터 전송된 어드레스를 스크램블할 수 있으며, 어드레스 스크램블러(323)에 의해 스크램블링된 어드레스는 메모리 코어(351)를 억세스하는데 사용될 수 있다.The
도 3의 메모리 시스템(300)은 도 2의 메모리 시스템(200)과는 다르게 어드레스 스크램블러(323)가 메모리(350)에 포함된다. 이와 같이 메모리 시스템(300)의 구성들은 메모리 콘트롤러(310)와 메모리(350) 중 어느 하나에 포함될 수 있다. 예를 들어, 로우 해머 공격 패턴 감지 회로(317), 에러 정정 회로(319) 및 스크램블 제어 회로(321)의 일부 또는 전부가 메모리 콘트롤러(310)가 아닌 메모리(350)에 포함될 수도 있다.Unlike the
도 4는 도 2의 메모리 시스템(200)의 동작을 도시한 순서도이다. 도 3의 메모리 시스템(300)도 도 4와 동일하게 동작할 수 있다.4 is a flowchart illustrating an operation of the
도 4를 참조하면, 먼저, 제1스크램블 규칙에 따라 스크램블된 어드레스를 이용해 메모리 코어(251)가 억세스될 수 있다(401). 메모리 콘트롤러(210)의 메모리(250) 억세스시에 어드레스 스크램블러(223)는 제1스크램블 규칙에 따라 어드레스를 스크램블하고, 스크램블된 어드레스가 메모리(250)로 전달되어 메모리 코어(251)가 억세스될 수 있다.Referring to FIG. 4 , first, the
메모리 시스템(200)의 동작 중 메모리 코어(251)에 대한 공격 조건이 만족될 수 있다(403에서 Y). 공격 조건의 만족은 어느 하나의 로우가 과도하게 여러번 액티브되어 해머드 로우로 선정되고, 해머드 로우의 인접 로우들로부터 임계값 이상의 에러가 발견되는 것에 의해 만족되었다고 판단될 수 있다. 스크램블 제어 회로(221)는 공격 조건이 만족에 응답해 어드레스 스크램블러(223)의 스크램블 규칙을 변경할 것을 결정할 수 있다.During the operation of the
공격 조건의 만족 이후에, 메모리 코어(251)의 데이터가 백업될 수 있다(405). 어드레스 스크램블러(223)의 스크램블 규칙이 변경되면, 메모리 코어(251)의 어드레스 맵핑이 변경되므로, 메모리 코어(251)의 데이터를 백업하는 것이다. 메모리 콘트롤러(210)는 메모리 코어(251)의 데이터를 백업하기 이전에 호스트(HOST)에 인터럽트(interrupt) 신호를 전달해, 호스트(HOST)의 동작을 일시적으로 중단시킬 수도 있다. 메모리 코어(251)의 데이터는 메모리 시스템(200) 내의 또 다른 메모리(미도시) 또는 스토리지(storage)에 백업될 수 있다.After the attack condition is satisfied, the data of the
백업이 완료된 이후에, 스크램블 제어 회로(221)는 어드레스 스크램블러(223)의 스크램블 규칙을 제1스크램블 규칙으로부터 이와 다른 제2스크램블 규칙으로 변경할 수 있다(407). 스크램블 규칙이 변경되면, 해커는 메모리 코어(251)에서 중요한 보안 데이터가 저장된 영역을 추적하기가 매우 어려워질 수 있다. 어드레스 스크램블은 PRBS(Pseudo Random Binary Sequence)를 이용해 이루어질 수 있는데, 제1스크램블 규칙과 제2스크램블 규칙 간에는 PRBS를 이용해 어드레스를 스크램블하는 과정에서, 스크램블 대상 어드레스 비트 및 PRBS의 순서 등이 서로 상이할 수 있다.After the backup is completed, the scrambling
스크램블 규칙이 변경된 이후에, 백업된 데이터가 다시 메모리 코어(251)로 복원될 수 있다(409).After the scrambling rule is changed, the backed up data may be restored back to the memory core 251 ( 409 ).
그리고 제2스크램블 규칙에 따라 스크램블된 어드레스를 이용해 메모리 코어(251)가 억세스될 수 있다(411). 메모리 콘트롤러(210)의 메모리(250) 억세스시에 어드레스 스크램블러(233)는 제2스크램블 규칙에 따라 어드레스를 스크램블하고, 스크램블된 어드레스가 메모리(250)로 전달되어 메모리 코어(251)가 억세스될 수 있다. 또한, 스크램블 제어 회로(221)는 변경된 스크램블 규칙에 관련된 정보를 메모리(250)의 이-퓨즈 어레이 회로(255)에 저장할 수 있다.In addition, the
도 4에서는 스크램블 규칙의 변경 이전에 메모리 코어(251)의 데이터를 백업하고, 스크램블 규칙의 변경 이후에 메모리 코어(251)의 데이터를 복원하는 것을 예시했다. 그러나 스크램블 규칙 변경 전에 라이트된 데이터와 스크램블 규칙의 변경 이후에 라이트된 데이터를 추적 가능한 경우에는, 스크램블 규칙이 변경되더라도 이전의 스크램블 규칙을 이용해 저장된 데이터의 억세스가 가능할 수 있으므로, 데이터의 백업 및 복원 과정이 생략될 수도 있다.4 illustrates that data of the
본 발명의 기술사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술분야의 전문가라면 본 발명의 기술사상의 범위 내에서 다양한 실시예가 가능함을 알 수 있을 것이다.Although the technical idea of the present invention has been specifically described according to the above preferred embodiment, it should be noted that the above-described embodiment is for the purpose of explanation and not for limitation thereof. In addition, an expert in the technical field of the present invention will know that various embodiments are possible within the scope of the technical idea of the present invention.
200: 메모리 시스템
210: 메모리 콘트롤러
250: 메모리
211: 호스트 인터페이스
213: 스케쥴러
215: 커맨드 생성기
217: 로우 해머 공격 패턴 감지 회로
219: 에러 정정 회로
221: 스크램블 제어 회로
223: 어드레스 스크램블러
225: 메모리 인터페이스200: memory system
210: memory controller
250: memory
211: host interface
213: scheduler
215: command generator
217: low hammer attack pattern detection circuit
219: error correction circuit
221: scramble control circuit
223: address scrambler
225: memory interface
Claims (13)
다수의 메모리 셀들을 포함하고, 상기 스크램블 어드레스에 의해 지정된 메모리 셀들에 데이터를 저장하는 메모리 코어; 및
공격 조건의 만족에 응답해 상기 스크램블 규칙을 변경하기 위한 스크램블 제어 회로
를 포함하는 메모리 시스템.
an address scrambler that scrambles an address according to a scrambling rule to generate a scrambled address;
a memory core including a plurality of memory cells and storing data in the memory cells designated by the scramble address; and
A scramble control circuit for changing the scrambling rule in response to the satisfaction of an attack condition
A memory system comprising a.
상기 메모리 코어에 대한 로우 해머 공격 패턴을 감지하는 로우 해머 공격 패턴 감지 회로; 및
상기 메모리 코어로부터 리드된 데이터의 에러를 감지 및 정정하기 위한 에러 정정 회로
를 더 포함하는 메모리 시스템.
The method of claim 1,
a low hammer attack pattern detection circuit for detecting a low hammer attack pattern with respect to the memory core; and
An error correction circuit for detecting and correcting an error in data read from the memory core
A memory system further comprising a.
상기 스크램블 제어 회로는
상기 로우 해머 공격 패턴 감지 회로에 의해 상기 메모리 코어의 로우들 중 하나의 로우에 대한 로우 해머 공격 패턴이 감지되고, 상기 에러 정정 회로에 의해 상기 하나의 로우의 인접 로우들에서 임계값 이상의 에러가 감지된 경우에 상기 공격 조건이 만족된 것으로 판단하는
메모리 시스템.
3. The method of claim 2,
The scramble control circuit is
A low hammer attack pattern for one of the rows of the memory core is detected by the row hammer attack pattern detection circuit, and an error greater than or equal to a threshold is detected in adjacent rows of the one row by the error correction circuit If it is determined that the above attack condition is satisfied
memory system.
상기 메모리 시스템은 이-퓨즈 어레이 회로를 더 포함하고,
상기 스크램블 제어 회로는 상기 스크램블 규칙과 관련된 정보를 상기 이-퓨즈 어레이 회로에 저장하는
메모리 시스템.
3. The method of claim 2,
The memory system further comprises an e-fuse array circuit,
The scrambling control circuit stores information related to the scrambling rule in the e-fuse array circuit.
memory system.
상기 어드레스 스크램블러, 상기 스크램블 제어 회로, 상기 로우 해머 공격 패턴 감지 회로 및 상기 에러 정정 회로는 메모리 콘트롤러에 포함되고,
상기 메모리 코어 및 상기 이-퓨즈 어레이 회로는 메모리에 포함되는
메모리 시스템.
3. The method of claim 2,
the address scrambler, the scramble control circuit, the row hammer attack pattern detection circuit, and the error correction circuit are included in a memory controller;
wherein the memory core and the e-fuse array circuit are included in a memory.
memory system.
상기 스크램블 제어 회로, 상기 로우 해머 공격 패턴 감지 회로 및 상기 에러 정정 회로는 메모리 콘트롤러에 포함되고,
상기 어드레스 스크램블러, 상기 메모리 코어 및 상기 이-퓨즈 어레이 회로는 메모리에 포함되는
메모리 시스템.
3. The method of claim 2,
the scramble control circuit, the low hammer attack pattern detection circuit, and the error correction circuit are included in a memory controller;
wherein the address scrambler, the memory core, and the e-fuse array circuit are included in a memory.
memory system.
상기 스크램블 제어 회로에 의해 상기 스크램블 규칙의 변경이 결정되면,
상기 메모리 코어의 데이터가 백업되고,
백업의 완료 이후에 상기 스크램블 규칙이 변경되고,
상기 스크램블 규칙의 변경 이후에 백업된 데이터가 상기 메모리 코어로 복원되는
메모리 시스템.
The method of claim 1,
When the change of the scrambling rule is determined by the scrambling control circuit,
The data of the memory core is backed up,
After the completion of the backup, the scrambling rule is changed,
Data backed up after the change of the scrambling rule is restored to the memory core
memory system.
상기 제1스크램블 규칙에 따라 스크램블된 어드레스를 이용해 메모리 코어를 억세스하는 단계;
상기 메모리 코어에 대한 공격 조건의 만족이 확인되는 단계;
상기 제1스크램블 규칙을 제2스크램블 규칙으로 변경하는 단계;
상기 제2스크램블 규칙에 따라 어드레스를 스크램블하는 단계; 및
상기 제2스크램블 규칙에 따라 스크램블된 어드레스를 이용해 상기 메모리 코어를 억세스하는 단계
를 포함하는 메모리 시스템의 동작 방법.
scrambling the address according to the first scrambling rule;
accessing a memory core using an address scrambled according to the first scrambling rule;
confirming that the attack condition for the memory core is satisfied;
changing the first scramble rule to a second scramble rule;
scrambling an address according to the second scrambling rule; and
accessing the memory core using an address scrambled according to the second scrambling rule;
A method of operating a memory system comprising a.
상기 공격 조건의 만족이 확인되는 단계는
상기 메모리 코어의 하나의 로우에 대한 로우 해머 공격 패턴이 감지를 확인하는 단계; 및
상기 하나의 로우의 인접 로우들에서 임계값 이상의 에러가 발생한 것을 확인하는 단계를 포함하는
메모리 시스템의 동작 방법.
9. The method of claim 8,
The step in which the satisfaction of the attack condition is confirmed
confirming detection of a row hammer attack pattern for one row of the memory core; and
and confirming that an error greater than or equal to a threshold value has occurred in adjacent rows of the one row.
How the memory system works.
상기 제1스크램블 규칙을 상기 제2스크램블 규칙으로 변경하기 이전에,
상기 메모리 코어의 데이터를 백업하는 단계
를 더 포함하는 메모리 시스템의 동작 방법.
9. The method of claim 8,
Before changing the first scramble rule to the second scramble rule,
Backing up the data of the memory core
Method of operation of a memory system further comprising a.
상기 상기 제1스크램블 규칙을 상기 제2스크램블 규칙으로 변경한 이후에,
백업된 데이터를 상기 메모리 코어에 복원하는 단계
를 더 포함하는 메모리 시스템의 동작 방법.
11. The method of claim 10,
After changing the first scramble rule to the second scramble rule,
Restoring the backed up data to the memory core
Method of operation of a memory system further comprising a.
상기 제1스크램블 규칙에 따라 어드레스를 스크램블하는 단계, 상기 확인되는 단계, 상기 변경하는 단계, 상기 제1스크램블 규칙에 따라 어드레스를 스크램블하는 단계는 메모리 콘트롤러에 의해 수행되고,
상기 제1스크램블 규칙에 따라 스크램블된 어드레스를 이용해 메모리 코어를 억세스하는 단계와 상기 제1스크램블 규칙에 따라 스크램블된 어드레스를 이용해 메모리 코어를 억세스하는 단계는 메모리에 의해 수행되는
메모리 시스템의 동작 방법.
9. The method of claim 8,
The scrambling of the address according to the first scrambling rule, the confirming, the changing, and the scrambling of the address according to the first scrambling rule are performed by a memory controller;
The step of accessing the memory core using the address scrambled according to the first scrambling rule and the step of accessing the memory core using the address scrambled according to the first scrambling rule are performed by the memory.
How the memory system works.
상기 확인되는 단계 및 상기 변경하는 단계는 메모리 콘트롤러에 의해 수행되고,
상기 제1스크램블 규칙에 따라 어드레스를 스크램블하는 단계, 상기 제2스크램블 규칙에 따라 어드레스를 스크램블하는 단계, 상기 제1스크램블 규칙에 따라 스크램블된 어드레스를 이용해 메모리 코어를 억세스하는 단계 및 상기 제1스크램블 규칙에 따라 스크램블된 어드레스를 이용해 메모리 코어를 억세스하는 단계는 메모리에 의해 수행되는
메모리 시스템의 동작 방법.9. The method of claim 8,
The confirming step and the changing step are performed by a memory controller,
Scrambling an address according to the first scrambling rule, scrambling an address according to the second scrambling rule, accessing a memory core using an address scrambled according to the first scrambling rule, and the first scrambling rule The step of accessing the memory core using the scrambled address according to the
How the memory system works.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/549,564 US11990198B2 (en) | 2020-12-22 | 2021-12-13 | Memory system and operation method of memory system |
CN202111549767.6A CN114724601A (en) | 2020-12-22 | 2021-12-17 | Storage system and operation method of storage system |
US18/632,306 US20240257894A1 (en) | 2020-12-22 | 2024-04-11 | Memory system and operation method of memory system |
US18/632,323 US20240257895A1 (en) | 2020-12-22 | 2024-04-11 | Memory system and operation method of memory system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063129074P | 2020-12-22 | 2020-12-22 | |
US63/129,074 | 2020-12-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220090409A true KR20220090409A (en) | 2022-06-29 |
Family
ID=82270351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210163743A KR20220090409A (en) | 2020-12-22 | 2021-11-24 | Memory system and operation method of memory system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220090409A (en) |
-
2021
- 2021-11-24 KR KR1020210163743A patent/KR20220090409A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230112352A1 (en) | Monitoring and mitigation of row disturbance in memory | |
US20240257895A1 (en) | Memory system and operation method of memory system | |
US12032692B2 (en) | Device and method for protecting a memory | |
US10108365B1 (en) | Bitflip security attack protection | |
CN116324994A (en) | Mitigating row hammer attacks | |
US20230402086A1 (en) | Memory system | |
US10902902B2 (en) | Memory system and operation method of memory system | |
US11790975B2 (en) | Memory controller and memory system | |
US20240086531A1 (en) | Memory system | |
US12026392B2 (en) | Memory, memory system and operation method of memory system | |
US11915738B2 (en) | Memory with capability to detect rows that are prone to data loss, memory system and operation method of memory | |
US20230162776A1 (en) | Memory | |
KR20220090409A (en) | Memory system and operation method of memory system | |
US11409668B2 (en) | Memory module, operation method of memory module, memory system, and operation method of memory system | |
US20230064594A1 (en) | Memory, memory system, operation method of memory and operation method of memory system | |
US20240038288A1 (en) | Memory device refresh operations | |
KR20240093263A (en) | Row Hammer Mitigation Method with In-DRAM Row-Shuffle | |
US20240319889A1 (en) | Memory for performing counting operation, memory system, and operation method of memory | |
KR20240143291A (en) | Memory performing counting operation, memory system and operation method of memory | |
KR20230032827A (en) | Memory, memory system, operation method of memory and operation method of memory system | |
US20240347097A1 (en) | Memory controller, memory system and operating method of memory system | |
KR20220082730A (en) | Memory system | |
KR20210019188A (en) | Memory system and operation method of memory system | |
KR20220082706A (en) | Memory controller and memory system | |
KR20240008651A (en) | Memory, memory system and operation method of memory |