KR20220082730A - Memory system - Google Patents
Memory system Download PDFInfo
- Publication number
- KR20220082730A KR20220082730A KR1020210154680A KR20210154680A KR20220082730A KR 20220082730 A KR20220082730 A KR 20220082730A KR 1020210154680 A KR1020210154680 A KR 1020210154680A KR 20210154680 A KR20210154680 A KR 20210154680A KR 20220082730 A KR20220082730 A KR 20220082730A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- area
- rows
- cache
- normal
- 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/40607—Refresh operations in memory devices with an internal cache or data buffer
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
메모리 시스템은, 노멀 데이터의 저장을 위한 노멀 영역; 보안 데이터의 저장을 위한 보안 영역; 상기 노멀 영역에서 액티브되는 로우의 일부를 샘플링해 카운팅해 리프레시가 필요한 제1로우들을 선정하는 제1로우 해머 감지 회로; 및 상기 보안 영역에서 액티브되는 로우의 전부를 카운팅해 리프레시가 필요한 제2로우들을 선정하는 제2로우 해머 감지 회로를 포함할 수 있다.The memory system includes: a normal area for storing normal data; a secure area for storage of secure data; a first row hammer detection circuit for sampling and counting a portion of rows that are active in the normal region to select first rows that need to be refreshed; and a second row hammer detection circuit for selecting second rows requiring refresh by counting all of the rows activated in the security area.
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 device.
도 1에서 'WLL'은 활성화 횟수가 많은 워드라인에 해당하며 '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 with a large number of activations, and 'WLL-1' and 'WLL+1' are respectively a word line disposed adjacent to 'WLL', that is, a word line adjacent to the word line having an activation count. corresponds to 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 a word line toggles an active state and an inactive state causes electrons to flow into or outflow electrons from the cell capacitor of a memory cell connected to an adjacent word line, thereby damaging data.
로우 해머링을 해결하기 위한 방법으로는, 여러 번 액티브된 로우(워드라인)를 찾고 여러 번 액티브된 로우의 주변 로우들을 리프레시하는 방법이 주로 사용된다.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 increase the defense capability of the memory system against the row hammering attack.
본 발명의 일실시예에 따른 메모리 시스템은 노멀 데이터의 저장을 위한 노멀 영역; 보안 데이터의 저장을 위한 보안 영역; 상기 노멀 영역에서 액티브되는 로우의 일부를 샘플링해 카운팅해 리프레시가 필요한 제1로우들을 선정하는 제1로우 해머 감지 회로; 및 상기 보안 영역에서 액티브되는 로우의 전부를 카운팅해 리프레시가 필요한 제2로우들을 선정하는 제2로우 해머 감지 회로를 포함할 수 있다.A memory system according to an embodiment of the present invention includes a normal area for storing normal data; a secure area for storage of secure data; a first row hammer detection circuit for sampling and counting a portion of rows that are active in the normal region to select first rows that need to be refreshed; and a second row hammer detection circuit for selecting second rows requiring refresh by counting all of the rows activated in the security area.
본 발명의 다른 실시예에 따른 메모리 시스템은 노멀 데이터의 저장을 위한 노멀 영역과 보안 데이터의 저장을 위한 보안 영역을 포함하는 메모리; 및 상기 보안 데이터에 대응하는 에러 정정 코드를 저장하는 에러 정정 코드 저장 영역과 상기 에러 정정 코드 저장 영역에 저장된 에러 정정 코드를 이용해 상기 보안 영역에서 리드된 데이터의 에러를 정정하는 에러 정정 회로를 포함하는 호스트를 포함할 수 있다.A memory system according to another embodiment of the present invention includes: a memory including a normal area for storing normal data and a security area for storing secure data; and an error correction code storage area for storing an error correction code corresponding to the security data and an error correction circuit for correcting an error of data read from the security area using the error correction code stored in the error correction code storage area It can include hosts.
본 발명의 또 다른 실시예에 따른 메모리 시스템은 노멀 데이터의 저장을 위한 노멀 영역; 보안 데이터의 저장을 위한 보안 영역; 캐시 메모리를 포함하고, 상기 캐시 메모리를 바이패스한 상기 노멀 영역의 억세스는 허용되지만, 상기 캐시 메모리를 바이패스한 상기 보안 영역의 억세스는 허용되지 않을 수 있다.A memory system according to another embodiment of the present invention includes a normal area for storing normal data; a secure area for storage of secure data; It may include a cache memory and allow access to the normal area bypassing the cache memory, but may not allow access to the security area bypassing the cache memory.
본 발명의 또 다른 실시예에 따른 메모리 시스템은 노멀 데이터의 저장을 위한 노멀 영역; 보안 데이터의 저장을 위한 보안 영역; 상기 노멀 영역에서 액티브되는 로우의 일부를 샘플링해 카운팅해 리프레시가 필요한 제1로우들을 선정하는 제1로우 해머 감지 회로; 상기 보안 영역에서 액티브되는 로우의 전부를 카운팅해 리프레시가 필요한 제2로우들을 선정하는 제2로우 해머 감지 회로; 상기 보안 데이터에 대응하는 에러 정정 코드를 저장하는 캐시 메모리; 및 상기 캐시 메모리에 저장된 에러 정정 코드를 이용해 상기 보안 영역에서 리드된 데이터의 에러를 정정하는 에러 정정 회로를 포함할 수 있다.A memory system according to another embodiment of the present invention includes a normal area for storing normal data; a secure area for storage of secure data; a first row hammer detection circuit for sampling and counting a portion of rows that are active in the normal region to select first rows that need to be refreshed; a second row hammer detection circuit for selecting second rows that need refresh by counting all of the rows that are active in the security area; a cache memory storing an error correction code corresponding to the security data; and an error correction circuit configured to correct an error of data read from the secure area using an error correction code stored in the cache memory.
본 발명의 실시예들에 의하면, 메모리 시스템의 로우 해머링 공격 방어 능력을 높일 수 있다.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은 도 2의 메모리(250)의 일실시예 구성도.
도 4는 도 2의 메모리 콘트롤러(221)의 일실시예 구성도.
도 5는 마지막 레벨의 캐시 메모리(219)에 저장되는 카운팅 결과의 일 예를 도시한 도면.1 is a view for explaining row hammering;
2 is a block diagram of a
FIG. 3 is a configuration diagram of the
FIG. 4 is a configuration diagram of the
5 is a diagram showing an example of a counting result stored in 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)는 프로세서 코어(211), 캐시 콘트롤러(213), 여러 레벨의 캐시 메모리들(215, 217, 219) 및 메모리 콘트롤러(221)를 포함할 수 있다. 프로세서(210) 내부의 구성들은 메모리 버스(223)를 통해 통신할 수 있다. 프로세서(210)는 데이터 또는 신호를 처리하는 개체(entity)일 수 있다. 프로세서(210)의 일 예로는 마이크로 프로세서, 중앙 처리 유닛(CPU, Central Processing Unit), 그래픽 처리 유닛(GPU, Graphic Processing Unit), 어플리케이션 프로세서(AP, Application Processor) 및 디지털 신호 프로세서(DSP, Digital Signal Processor) 등이 있을 수 있다.The
프로세서 코어(211)는 컴퓨팅 시스템의 인스트럭션들(intructions)을 처리하는 회로들을 포함할 수 있다. 프로세서 코어(211)는 싱글 또는 멀티-코어일 수 있다. 프로세서 코어(211)는 메모리(250)의 데이터를 억세스하기 위해 여러 레벨의 캐시 메모리들(215, 217, 219)을 사용할 수 있다.The
캐시 메모리들(215, 217, 219)은 여러 레벨로 나뉘어질 수 있다. 레벨이 낮을 수록 동작 속도가 빠른 대신에 용량이 작을 수 있다. 캐시 콘트롤러(213)는 캐시 메모리들(215, 217, 219)을 관리하고 프로세서 코어(211)가 필요로 하는 데이터를 캐시 메모리들(215, 217, 219) 중 어느 캐시 메모리로부터 획득할지 또는 메모리(250)로부터 획득할지를 제어할 수 있다. 프로세서 코어(211)는 필요한 데이터를 캐시 메모리들(215, 217, 219)로부터 우선적으로 얻으며 캐시 메모리들(215, 217, 219)에 필요한 데이터가 캐시되어 있지 않은 경우에는 메모리 콘트롤러(221)를 통해 메모리(250)로부터 얻을 수 있다.The
메모리 콘트롤러(221)는 메모리(250)를 제어할 수 있다. 프로세서(210)는 메모리 콘트롤러(221)를 통해 메모리(250)를 억세스할 수 있다. 즉, 프로세서(210)는 메모리 콘트롤러(221)를 통해 메모리(250)에 데이터를 라이트(write)하고, 메모리(250)에 저장된 데이터를 리드(read)할 수 있다. 메모리 콘트롤러(221)는 메모리(250)로 커맨드와 어드레스(CA)를 송신해 메모리(250)의 동작을 제어하고, 메모리(250)와 데이터(DATA)를 송수신할 수 있다.The
여기서는 메모리 콘트롤러(221)가 프로세서(210)에 포함되는 것을 예시했지만, 메모리 콘트롤러(221)가 프로세서(210) 외부에 존재할 수도 있다. 메모리 시스템(200)에서 메모리 콘트롤러(221)를 포함하는 장치를 일반적으로 호스트(host)라 한다. 따라서, 도 2에서는 프로세서(210)가 호스트가 될 수 있다.Here, although the
메모리(250)는 메모리 콘트롤러(221)에 의해 지시되는 동작을 수행할 수 있다. 메모리(250)는 DRAM(Dynamic Random Access Memory), SRAM(Static RAM), PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM) 등과 같은 랜덤 억세스 메모리 중 하나일 수 있으며, 리프레시 동작이 요구되는 다른 종류의 메모리일 수도 있다. 예를 들어, 로우 해머링 공격에 의해 데이터가 유실될 우려가 있는 메모리들이 메모리(250)일 수 있다.The
도 3은 도 2의 메모리(250)의 일실시예 구성도이다.3 is a configuration diagram of the
도 3을 참조하면, 메모리(250)는 제어 회로(310), 제1로우 해머 감지 회로(320) 및 셀 어레이(330)를 포함할 수 있다.Referring to FIG. 3 , the
제어 회로(310)는 메모리(250)의 전반적인 동작을 제어할 수 있다. 제어 회로(310)는 커맨드와 어드레스(CA)에 의해 지시된 동작들, 예를 들어, 액티브(active) 동작, 프리차지(precharge) 동작, 리드(read) 동작, 라이트(write) 동작 및 리프레시(refresh) 동작, 을 메모리가 수행할 수 있도록 메모리(250) 내부의 구성들을 제어할 수 있다.The
셀 어레이(330)는 다수의 로우와 다수의 컬럼으로 배열된 다수의 메모리 셀들을 포함할 수 있다. 셀 어레이(330)는 노멀 영역(331)과 보안 영역(333)을 포함할 수 있다. 노멀(normal) 영역(331)은 일반적인 데이터를 저장하기 위한 영역일 수 있으며, 보안(security) 영역(333)은 보안이 중요한 데이터를 저장하기 위한 영역일 수 있다. 노멀 영역(331)과 보안 영역(333)은 서로 다른 정책 적용을 위한 구별이므로, 어드레스에 의해 구별될 수 있다. 예를 들어, 셀 어레이의 로우가 N+1개라면, 0번 로우~K번 로우까지가 노멀 영역(331)이고, K+1번 로우부터 N번 까지가 보안 영역(333)일 수 있다. 보안 영역(333)은 보안이 중요한 일부의 데이터만을 저장하기 위한 영역이므로, 보안 영역(333)의 크기는 노멀 영역(331)의 크기보다 훨씬 작을 수 있다. 예를 들어, 노멀 영역(331)의 크기는 보안 영역(333)의 크기의 수십~수천배일 수 있다.The
제1로우 해머 감지 회로(320)는 셀 어레이(330)에서 액티브되는 로우의 일부를 샘플링해 카운팅하는 방식으로 리프레시가 필요한 로우들을 선정할 수 있다. 상세하게, 셀 어레이(330)에서 액티브되는 로우들은 무수히 많을 수 있는데, 제1로우 해머 감지 회로(320)는 셀 어레이(330)에서 액티브되는 수많은 로우들 중 일부 로우를 랜덤하게 샘플링하고, 샘플링된 로우들을 카운팅하는 방식으로, 과도하게 액티브된 로우들을 파악할 수 있다. 그리고 과도하게 액티브된 로우들의 인접 로우들, 즉 로우 해머링 공격에 의해 데이터가 유실될 위험이 있는 로우들, 을 리프레시가 필요한 로우들로 분류할 수 있다.The first row
제1로우 해머 감지 회로(320)가 셀 어레이(330)에서 액티브된 로우의 전부를 카운팅하지 않고, 일부의 로우만 샘플링해 카운팅하는 것은, 수많은 로우의 액티브 회수를 전부 카운팅하는 것은 현실적으로 어렵고 이러한 회로의 구현에는 면적 및 전류 소모 면에서 부담(burden)이 너무 크기 때문이다. 제1로우 해머 감지 회로(320)에 의해 리프레시가 필요한 로우들로 분류된 로우들은, 일반적인 리프레시 동작시에 우선적 또는 추가적으로 리프레시되거나, 로우 해머 공격 방어를 위한 커맨드(예, 리프레시 관리(RFM, Refresh Manegement) 커맨드)의 인가시에 리프레시될 수 있다.It is difficult for the first row
셀 어레이(330)에서 보안 영역(333)에서 로우 해머링 공격에 의해 데이터가 유실될 위험이 있는 로우들은 메모리 콘트롤러(221)의 제2로우 해머 감지 회로(407)에 의해 리프레시가 필요한 로우들로 분류될 수 있다. 그러므로, 제1로우 해머 감지 회로(320)는 보안 영역(333)을 관리 대상에서 제외하고, 노멀 영역(231)에서만 액티브된 로우의 일부를 샘플링해 카운팅하는 방식으로 리프레시가 필요한 로우들을 선정할 수도 있다.In the
도 4는 도 2의 메모리 콘트롤러(221)의 일실시예 구성도이다.4 is a configuration diagram of the
도 4를 참조하면, 메모리 콘트롤러(221)는 호스트 인터페이스(401), 스케쥴러(403), 커맨드 생성기(405), 제2로우 해머 감지 회로(407), 에러 정정 회로(409) 및 메모리 인터페이스(411)를 포함할 수 있다.Referring to FIG. 4 , the
호스트 인터페이스(401)는 메모리 콘트롤러(221)와 프로세서(210)의 나머지 구성들 간의 인터페이스를 위한 것일 수 있다. 메모리 콘트롤러(221)는 호스트 인터페이스(401)에 의해 메모리 버스(223)와 연결될 수 있다.The
스케쥴러(403)는 메모리(250)의 동작을 스케쥴링할 수 있다. 스케쥴러(403)는 메모리 버스(223)를 통해 전달된 요청들 중 메모리(250)에 지시할 요청의 순서를 정할 수 있다. 스케쥴러(403)는 퍼포먼스의 향상을 위해 메모리 버스(223)를 통해 요청들이 수신된 순서와 메모리(250)로 지시할 동작의 순서를 다르게 할 수도 있다. 예를 들어, 메모리 버스(223)를 통해 메모리(250)의 리드 동작이 먼저 요청되고 라이트 동작이 이후에 요청되었다고 하더라도, 메모리(250)의 라이트 동작이 리드 동작보다 먼저 수행되도록 동작 순서를 조절할 수 있다.The
커맨드 생성기(405)는 스케쥴러(403)에 의해 정해진 동작의 순서에 맞게 메모리(250)로 인가할 커맨드를 생성할 수 있다.The
메모리 인터페이스(411)는 메모리 콘트롤러(221)와 메모리(250) 간의 인터페이스를 위한 것일 수 있다. 메모리 인터페이스(411)를 통해 메모리 콘트롤러(221)로부터 메모리(250)로 커맨드와 어드레스(CA)가 전달되고, 데이터(DATA)가 송/수신될 수 있다. 메모리 인터페이스(411)를 PHY 인터페이스라고도 한다.The
제2로우 해머 감지 회로(407)는 메모리(250)의 보안 영역(333)에서 액티브되는 로우의 전부를 카운팅해 리프레시가 필요한 로우들을 선정할 수 있다. 제2로우 해머 감지 회로(407)는 보안 영역에서 액티브되는 모든 로우의 액티브 회수를 카운팅해 과도하게 액티브된 로우들을 파악할 수 있다. 그리고 과도하게 액티브된 로우들의 인접 로우들을, 즉 로우 해머링 공격에 의해 데이터가 유실될 위험이 있는 로우들, 을 리프레시가 필요한 로우들로 분류할 수 있다. 메모리(250)의 액티브 동작은 메모리 콘트롤러(221)의 지시에 따라 수행되므로, 메모리 콘트롤러(221)의 제2로우 해머 감지 회로(407)가 메모리(250)의 보안 영역(333)에서 어떤 로우가 액티브되는지를 파악할 수 있다. 제2로우 해머 감지 회로(407)에 의해 리프레시가 필요한 로우들로 분류된 로우들에 대해서, 메모리 콘트롤러(221)는 메모리(250)에게 액티브 동작(데이터 유실은 액티브 동작에 의해서도 방지될 수 있음) 또는 리프레시 동작을 지시하고, 이에 따라 리프레시가 필요한 로우들의 데이터의 유실이 방지될 수 있다.The second row
제2로우 해머 감지 회로(407)는 풀 카운팅 방식으로 보안 영역(333)의 모든 로우의 액티브 회수를 카운팅하므로, 동작에 많은 부담이 있을 수 있지만, 보안 영역(333)의 사이즈가 상대적으로 작으므로 이러한 동작이 가능할 수 있다. 제2로우 해머 감지 회로(407)는 카운팅을 위한 저장 회로를 필요로 하는데, 프로세서(210)의 캐시 메모리들(215, 217, 219) 중 하나를 카운팅 결과를 저장하기 위한 저장 회로로 사용할 수 있다. 캐시 메모리들(215, 217, 219) 중 마지막 레벨(last level)의 캐시 메모리(219)가 가장 큰 용량을 가지므로 제2로우 해머 감지 회로(407)가 캐시 메모리(219)를 저장 회로로 사용하는 것이 바람직할 수 있다. 물론, 카운팅 결과를 저장하기 위한 저장 회로가 제2로우 해머 감지 회로(407) 내에 구비될 수도 있다. 도 5에는 마지막 레벨의 캐시 메모리(219)에 저장되는 카운팅 결과의 일 예를 도시했다. 도 5를 참조하면, 보안 영역(333)의 모든 로우 별로 액티브 회수가 카운팅되는 것을 확인할 수 있다.Since the second row
에러 정정 회로(409)는 보안 영역(333)의 에러 정정을 위한 회로일 수 있다. 에러 정정 회로(409)는 보안 영역(333)의 라이트 동작시에 라이트 데이터의 에러를 정정하기 위한 에러 정정 코드(error correction code)를 생성하고, 에러 정정 코드를 캐시 메모리들(215, 217, 219) 중 하나에 저장할 수 있다. 캐시 메모리들(215, 217, 219) 중 마지막 레벨의 캐시 메모리(219)에 에러 정정 코드를 저장하는 것이 바람직할 수 있다. 에러 정정 회로(409)는 보안 영역(333)의 리드 동작시에 캐시 메모리(219)에 저장된 에러 정정 코드를 이용해 보안 영역(333)으로부터 리드된 데이터의 에러를 정정할 수 있다. 즉, 에러 정정 회로(409)는 라이트 동작시에 보안 영역(333)에 저장되는 데이터의 에러 정정을 위한 에러 정정 코드를 캐시 메모리(219)에 저장하고, 리드 동작시에는 캐시 메모리(219)에 저장된 에러 정정 코드를 이용해 보안 영역으로부터 리드된 데이터의 에러를 정정할 수 있다.The
메모리 시스템(200)은 다음의 3가지 면에서 노멀 영역(331)과 보안 영역(333)을 차별화해 보안 영역(333)에 저장된 보안 데이터를 보호할 수 있다.The
1. 액티브된 로우의 카운팅 방식1. Counting of active rows
노멀 영역(331)에서 액티브된 로우들은 제1로우 해머 감지 회로(320)에 의해 랜덤 카운팅 방식으로 카운팅된다. 액티브된 로우들 전체가 카운팅되는 것이 아니라 일부의 로우들만 랜덤하게 선택되어 카운팅되므로, 이러한 카운팅 방식은 신뢰도가 떨어지기 마련이다. 즉, 노멀 영역(331)에서는 로우 해머링 공격에 의해 공격받은 로우를 선정하는 방식에 있어서의 신뢰도가 100%가 될 수 없다.Rows activated in the
반면에, 보안 영역(333)에서 액티브된 로우들은 제2로우 해머 감지 회로(407)에 의해 풀카운팅 방식으로 카운팅된다. 즉, 보안 영역(333)에서 액티브된 로우들 전체가 카운팅되므로, 거의 100%의 신뢰도를 가지고 로우 해머링 공격에 의해 공격 받은 로우를 선정할 수 있다. 따라서, 보안 영역(333)에 저장된 데이터는 노멀 영역(331)에 저장된 데이터보다 더 보호될 수 있다.On the other hand, the rows activated in the
2. 에러 정정 방식2. Error correction method
에러 정정 회로(409)는 보안 영역(333)에 저장된 데이터에 대해서만 에러 정정 동작을 수행한다. 따라서 보안 영역(333)에 저장된 데이터가 노멀 영역(331)에 저장된 데이터보다 더 보호될 수 있다. 메모리 시스템(200)에 에러 정정 회로(409) 이외에 추가적인 에러 정정 회로가 더 구비될 수 있지만, 이러한 에러 정정 회로는 보안 영역(333)과 노멀 영역(331)의 데이터 모두를 보호할 것이므로, 보안 영역(333)의 데이터가 노멀 영역(331)의 데이터보다 더 보호받는다는 사실에는 변함이 없다.The
3. 억세스 방식3. Access method
메모리(250)는 일반적으로 캐시 메모리들(215, 217, 219)을 통해 억세스된다. 즉, 프로세서 코어(211)는 메모리(250)를 직접적으로 억세스해 데이터를 얻지 않으며, 메모리(250)로부터 캐시 메모리들(215, 217, 219)로 데이터가 전달되고, 프로세서 코어(211)는 캐시 메모리들(215, 217, 219)을 억세스해 데이터를 얻는다. 그러나 캐시 플러시(cache flush) 상황이 발생한다던지 다른 상황에 의해 프로세서 코어(211)가 메모리(250)를 직접적으로 억세스할 필요성이 있는 경우에, 프로세서 코어(211)가 메모리(250)를 직접적으로 억세스할 수 있다.
이러한 캐시 메모리들(215, 217, 219)을 통한 메모리(250)의 간접적인 억세스 및 메모리(250)의 직접적인 억세스는 캐시 콘트롤러(213)에 의해 제어될 수 있는데, 캐시 콘트롤러(213)는 메모리(250)의 노멀 영역(331)에 대해서는 프로세서 코어(211)의 직접적인 억세스를 허용하지만 메모리(250)의 보안 영역(333)에 대해서는 프로세서 코어(211)의 직접적인 억세스를 금지할 수 있다.Indirect access to
메모리(250)에 대한 프로세서 코어(211)의 직접적인 억세스가 허용될 경우에, 해커(hacker)들의 공격이 더 쉬워질 수 있는데, 캐시 콘트롤러(213)가 보안 영역(333)에 대해서는 프로세서 코어(211)에 의한 직접적인 억세스를 금지하므로, 보안 영역(333)에 대한 공격이 어려워질 수 있다. 즉 보안 영역(333)의 데이터가 보호 받을 수 있다.If direct access 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: 메모리 콘트롤러200: memory system
210: processor 250: memory
211: processor core 213: cache controller
215, 217, 219: cache memories
221: memory controller
Claims (17)
보안 데이터의 저장을 위한 보안 영역;
상기 노멀 영역에서 액티브되는 로우의 일부를 샘플링해 카운팅해 리프레시가 필요한 제1로우들을 선정하는 제1로우 해머 감지 회로; 및
상기 보안 영역에서 액티브되는 로우의 전부를 카운팅해 리프레시가 필요한 제2로우들을 선정하는 제2로우 해머 감지 회로
를 포함하는 메모리 시스템.
a normal area for storing normal data;
a secure area for storage of secure data;
a first row hammer detection circuit for selecting first rows requiring refresh by sampling and counting a portion of rows that are active in the normal region; and
A second row hammer detection circuit that counts all rows that are active in the security area and selects second rows that need refresh
A memory system comprising a.
상기 메모리 시스템은
서로 다른 레벨의 캐시 메모리들을 더 포함하고,
상기 제2로우 해머 감지 회로는 상기 서로 다른 레벨의 캐시 메모리들 중 하나에 상기 보안 영역에서 액티브되는 로우의 카운팅 결과를 저장하는
메모리 시스템.
The method of claim 1,
the memory system
Further including different levels of cache memories,
and the second row hammer detection circuit stores a counting result of rows activated in the security area in one of the cache memories of the different levels.
memory system.
상기 제2로우 해머 감지 회로가 사용하는 캐시 메모리는 상기 서로 다른 레벨의 캐시 메모리들 중 마지막 레벨 캐시 메모리인
메모리 시스템.
3. The method of claim 2,
The cache memory used by the second row hammer detection circuit is a last-level cache memory among the cache memories of the different levels.
memory system.
상기 노멀 영역, 상기 보안 영역 및 상기 제1로우 해머 감지 회로는 메모리에 포함되고,
상기 제2로우 해머 감지 회로는 상기 메모리를 제어하는 메모리 콘트롤러에 포함되는
메모리 시스템.
3. The method of claim 2,
the normal region, the security region, and the first low hammer detection circuit are included in a memory;
The second row hammer detection circuit is included in the memory controller for controlling the memory.
memory system.
상기 서로 다른 레벨의 캐시 메모리들은 상기 메모리 콘트롤러를 포함하는 프로세서에 포함되는
메모리 시스템.
5. The method of claim 4,
The different levels of cache memories are included in the processor including the memory controller.
memory system.
상기 보안 데이터에 대응하는 에러 정정 코드를 저장하는 에러 정정 코드 저장 영역과 상기 에러 정정 코드 저장 영역에 저장된 에러 정정 코드를 이용해 상기 보안 영역에서 리드된 데이터의 에러를 정정하는 에러 정정 회로를 포함하는 호스트
를 포함하는 메모리 시스템.
a memory including a normal area for storing normal data and a security area for storing secure data; and
a host comprising: an error correction code storage region for storing an error correction code corresponding to the security data; and an error correction circuit for correcting an error in data read from the security region using the error correction code stored in the error correction code storage region;
A memory system comprising a.
상기 호스트는 프로세서이고,
상기 프로세서는 서로 다른 레벨의 캐시 메모리들을 더 포함하고,
상기 에러 정정 코드 저장 영역은 상기 서로 다른 레벨의 캐시 메모리들 중 하나 내에 포함되는
메모리 시스템.
7. The method of claim 6,
the host is a processor;
The processor further includes different levels of cache memories,
The error correction code storage area is included in one of the cache memories of the different levels.
memory system.
상기 에러 정정 회로는
상기 프로세서의 메모리 콘트롤러 내에 포함되는
메모리 시스템.
8. The method of claim 7,
The error correction circuit is
included in the memory controller of the processor
memory system.
상기 에러 정정 코드 저장 영역은 상기 서로 다른 레벨의 캐시 메모리들 중 마지막 레벨 캐시 메모리에 포함되는
메모리 시스템.
8. The method of claim 7,
The error correction code storage area is included in a last-level cache memory among the different-level cache memories.
memory system.
보안 데이터의 저장을 위한 보안 영역;
캐시 메모리를 포함하고,
상기 캐시 메모리를 바이패스한 상기 노멀 영역의 억세스는 허용되지만, 상기 캐시 메모리를 바이패스한 상기 보안 영역의 억세스는 허용되지 않는
메모리 시스템.
a normal area for storing normal data;
a secure area for storage of secure data;
including cache memory;
Access to the normal area bypassing the cache memory is permitted, but access to the security area bypassing the cache memory is not permitted.
memory system.
상기 노멀 영역과 상기 보안 영역은 메모리에 포함되고,
상기 캐시 메모리는 프로세서에 포함되는
메모리 시스템.
11. The method of claim 10,
The normal area and the security area are included in a memory,
The cache memory is included in the processor.
memory system.
보안 데이터의 저장을 위한 보안 영역;
상기 노멀 영역에서 액티브되는 로우의 일부를 샘플링해 카운팅해 리프레시가 필요한 제1로우들을 선정하는 제1로우 해머 감지 회로;
상기 보안 영역에서 액티브되는 로우의 전부를 카운팅해 리프레시가 필요한 제2로우들을 선정하는 제2로우 해머 감지 회로;
상기 보안 데이터에 대응하는 에러 정정 코드를 저장하는 캐시 메모리; 및
상기 캐시 메모리에 저장된 에러 정정 코드를 이용해 상기 보안 영역에서 리드된 데이터의 에러를 정정하는 에러 정정 회로
를 포함하는 메모리 시스템.
a normal area for storing normal data;
a secure area for storage of secure data;
a first row hammer detection circuit for selecting first rows requiring refresh by sampling and counting a portion of rows that are active in the normal region;
a second row hammer detection circuit for selecting second rows that need refresh by counting all of the rows that are active in the security area;
a cache memory storing an error correction code corresponding to the security data; and
An error correction circuit for correcting an error in data read from the secure area using an error correction code stored in the cache memory
A memory system comprising a.
상기 노멀 영역, 상기 보안 영역, 상기 제1로우 해머 감지 회로는 메모리에 포함되고,
상기 캐시 메모리는 프로세서에 포함되고,
상기 제2로우 해머 감지 회로는 상기 프로세서의 메모리 콘트롤러에 포함되는
메모리 시스템.
13. The method of claim 12,
the normal region, the security region, and the first row hammer detection circuit are included in a memory;
The cache memory is included in the processor;
The second row hammer detection circuit is included in the memory controller of the processor.
memory system.
상기 캐시 메모리를 바이패스한 상기 노멀 영역의 억세스는 허용되지만, 상기 캐시 메모리를 바이패스한 상기 보안 영역의 억세스는 허용되지 않는
메모리 시스템.
14. The method of claim 13,
Access to the normal area bypassing the cache memory is permitted, but access to the security area bypassing the cache memory is not permitted.
memory system.
상기 제2로우 해머 감지 회로는 상기 캐시 메모리에 상기 보안 영역에서 액티브되는 로우의 카운팅 결과를 저장하는
메모리 시스템.
14. The method of claim 13,
and the second row hammer detection circuit stores a counting result of rows activated in the security area in the cache memory.
memory system.
상기 프로세서는
인스트럭션들을 처리하고, 상기 캐시 메모리를 통해 상기 메모리를 억세스하는 프로세서 코어를 더 포함하는
메모리 시스템.
14. The method of claim 13,
the processor is
A processor core that processes the instructions and accesses the memory through the cache memory.
memory system.
상기 메모리 콘트롤러는
호스트와의 통신을 위한 호스트 인터페이스;
상기 메모리의 동작을 스케쥴링하기 위한 스케쥴러;
상기 메모리로 인가될 커맨드를 생성하기 위한 커맨드 생성기; 및
상기 메모리와의 통신을 위한 메모리 인터페이스를 더 포함하는
메모리 시스템.
17. The method of claim 16,
the memory controller
a host interface for communication with a host;
a scheduler for scheduling operations of the memory;
a command generator for generating a command to be applied to the memory; and
Further comprising a memory interface for communication with the memory
memory system.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/531,424 US11749333B2 (en) | 2020-12-10 | 2021-11-19 | Memory system |
CN202111482681.6A CN114627926A (en) | 2020-12-10 | 2021-12-07 | Storage system |
TW110145995A TW202226239A (en) | 2020-12-10 | 2021-12-09 | Memory system |
US18/358,587 US20230402086A1 (en) | 2020-12-10 | 2023-07-25 | Memory system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063123703P | 2020-12-10 | 2020-12-10 | |
US63/123,703 | 2020-12-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220082730A true KR20220082730A (en) | 2022-06-17 |
Family
ID=82268927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210154680A KR20220082730A (en) | 2020-12-10 | 2021-11-11 | Memory system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220082730A (en) |
-
2021
- 2021-11-11 KR KR1020210154680A patent/KR20220082730A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9129672B2 (en) | Semiconductor device and operating method thereof | |
US20230402086A1 (en) | Memory system | |
KR20140125986A (en) | Semiconductor device | |
US10108365B1 (en) | Bitflip security attack protection | |
US11527280B2 (en) | Monitoring and mitigation of row disturbance in memory | |
KR102308778B1 (en) | Memory Device performing care operation for disturbed row and Operating Method thereof | |
KR20130136343A (en) | Semiconductor device and operating method thereof | |
US10475503B2 (en) | Circuit for selecting row to be refreshed | |
US20230410875A1 (en) | Memory device and defense method thereof | |
US11915738B2 (en) | Memory with capability to detect rows that are prone to data loss, memory system and operation method of memory | |
US20230162776A1 (en) | Memory | |
KR20220082730A (en) | Memory system | |
US11790975B2 (en) | Memory controller and memory system | |
TW202322136A (en) | Memory, memory system and operation method of memory system and operation method of memory | |
KR20230037992A (en) | Memory device including row hammer preventing circuitry and operating method thereof | |
US20240079042A1 (en) | Counter-based selective row hammer refresh apparatus and method for row hammer prevention | |
US11990198B2 (en) | Memory system and operation method of memory system | |
US20240038288A1 (en) | Memory device refresh operations | |
US20230064594A1 (en) | Memory, memory system, operation method of memory and operation method of memory system | |
KR20240045520A (en) | Memory device, memory system having the same and operating method thereof | |
US20230420027A1 (en) | Memory device and refresh method thereof | |
US20240185904A1 (en) | Memory device and operating method thereof | |
KR20210071795A (en) | Memory and memory system | |
KR20220090409A (en) | Memory system and operation method of memory system | |
KR20230173560A (en) | Memory device and defense method thereof |