KR20220082730A - Memory system - Google Patents

Memory system Download PDF

Info

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
Application number
KR1020210154680A
Other languages
Korean (ko)
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 US17/531,424 priority Critical patent/US11749333B2/en
Priority to CN202111482681.6A priority patent/CN114627926A/en
Priority to TW110145995A priority patent/TW202226239A/en
Publication of KR20220082730A publication Critical patent/KR20220082730A/en
Priority to US18/358,587 priority patent/US20230402086A1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40607Refresh operations in memory devices with an internal cache or data buffer
    • 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/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40611External 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

메모리 시스템 {MEMORY SYSTEM}memory system {MEMORY SYSTEM}

본 특허 문헌은 메모리 시스템에 관한 것이다.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 memory system 200 according to an embodiment of the present invention.
FIG. 3 is a configuration diagram of the memory 250 of FIG. 2 according to an embodiment;
FIG. 4 is a configuration diagram of the memory controller 221 of FIG. 2 according to an embodiment;
5 is a diagram showing an example of a counting result stored in the cache memory 219 of the last level.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 본 발명을 설명함에 있어서, 본 발명의 요지와 무관한 공지의 구성은 생략될 수 있다. 각 도면의 구성 요소들에 참조 번호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다.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 memory system 200 according to an embodiment of the present invention.

도 2를 참조하면, 메모리 시스템(200)은 프로세서(210)와 메모리(250)를 포함할 수 있다.Referring to FIG. 2 , the memory system 200 may include a processor 210 and a memory 250 .

프로세서(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 processor 210 may include a processor core 211 , a cache controller 213 , various levels of cache memories 215 , 217 , 219 , and a memory controller 221 . Components inside the processor 210 may communicate via a memory bus 223 . The processor 210 may be an entity that processes data or signals. Examples of the processor 210 include a microprocessor, a central processing unit (CPU), a graphic processing unit (GPU), an application processor (AP), and a digital signal processor (DSP, Digital Signal). Processor) and the like.

프로세서 코어(211)는 컴퓨팅 시스템의 인스트럭션들(intructions)을 처리하는 회로들을 포함할 수 있다. 프로세서 코어(211)는 싱글 또는 멀티-코어일 수 있다. 프로세서 코어(211)는 메모리(250)의 데이터를 억세스하기 위해 여러 레벨의 캐시 메모리들(215, 217, 219)을 사용할 수 있다.The processor core 211 may include circuits that process instructions of the computing system. The processor core 211 may be single or multi-core. The processor core 211 may use various levels of cache memories 215 , 217 , and 219 to access data in the memory 250 .

캐시 메모리들(215, 217, 219)은 여러 레벨로 나뉘어질 수 있다. 레벨이 낮을 수록 동작 속도가 빠른 대신에 용량이 작을 수 있다. 캐시 콘트롤러(213)는 캐시 메모리들(215, 217, 219)을 관리하고 프로세서 코어(211)가 필요로 하는 데이터를 캐시 메모리들(215, 217, 219) 중 어느 캐시 메모리로부터 획득할지 또는 메모리(250)로부터 획득할지를 제어할 수 있다. 프로세서 코어(211)는 필요한 데이터를 캐시 메모리들(215, 217, 219)로부터 우선적으로 얻으며 캐시 메모리들(215, 217, 219)에 필요한 데이터가 캐시되어 있지 않은 경우에는 메모리 콘트롤러(221)를 통해 메모리(250)로부터 얻을 수 있다.The cache memories 215 , 217 , and 219 may be divided into several levels. The lower the level, the faster the operation speed may be, but the capacity may be small. The cache controller 213 manages the cache memories 215 , 217 , and 219 and determines from which cache memory among the cache memories 215 , 217 , and 219 to obtain data required by the processor core 211 or the memory ( 250) can be controlled. The processor core 211 preferentially obtains necessary data from the cache memories 215 , 217 , and 219 , and when data necessary for the cache memories 215 , 217 , and 219 is not cached, through the memory controller 221 . It can be obtained from memory 250 .

메모리 콘트롤러(221)는 메모리(250)를 제어할 수 있다. 프로세서(210)는 메모리 콘트롤러(221)를 통해 메모리(250)를 억세스할 수 있다. 즉, 프로세서(210)는 메모리 콘트롤러(221)를 통해 메모리(250)에 데이터를 라이트(write)하고, 메모리(250)에 저장된 데이터를 리드(read)할 수 있다. 메모리 콘트롤러(221)는 메모리(250)로 커맨드와 어드레스(CA)를 송신해 메모리(250)의 동작을 제어하고, 메모리(250)와 데이터(DATA)를 송수신할 수 있다.The memory controller 221 may control the memory 250 . The processor 210 may access the memory 250 through the memory controller 221 . That is, the processor 210 may write data to the memory 250 and read data stored in the memory 250 through the memory controller 221 . The memory controller 221 may transmit a command and an address CA to the memory 250 to control an operation of the memory 250 , and may transmit/receive data DATA to and from the memory 250 .

여기서는 메모리 콘트롤러(221)가 프로세서(210)에 포함되는 것을 예시했지만, 메모리 콘트롤러(221)가 프로세서(210) 외부에 존재할 수도 있다. 메모리 시스템(200)에서 메모리 콘트롤러(221)를 포함하는 장치를 일반적으로 호스트(host)라 한다. 따라서, 도 2에서는 프로세서(210)가 호스트가 될 수 있다.Here, although the memory controller 221 is illustrated as being included in the processor 210 , the memory controller 221 may exist outside the processor 210 . A device including the memory controller 221 in the memory system 200 is generally referred to as a host. Accordingly, in FIG. 2 , the processor 210 may be a host.

메모리(250)는 메모리 콘트롤러(221)에 의해 지시되는 동작을 수행할 수 있다. 메모리(250)는 DRAM(Dynamic Random Access Memory), SRAM(Static RAM), PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM) 등과 같은 랜덤 억세스 메모리 중 하나일 수 있으며, 리프레시 동작이 요구되는 다른 종류의 메모리일 수도 있다. 예를 들어, 로우 해머링 공격에 의해 데이터가 유실될 우려가 있는 메모리들이 메모리(250)일 수 있다.The memory 250 may perform an operation indicated by the memory controller 221 . The memory 250 may be one of random access memories such as dynamic random access memory (DRAM), static RAM (SRAM), phase-change RAM (PRAM), magnetic RAM (MRAM), resistive RAM (RRAM), etc. It may also be another type of memory that requires operation. For example, memories in which data is likely to be lost due to a row hammering attack may be the memory 250 .

도 3은 도 2의 메모리(250)의 일실시예 구성도이다.3 is a configuration diagram of the memory 250 of FIG. 2 according to an embodiment.

도 3을 참조하면, 메모리(250)는 제어 회로(310), 제1로우 해머 감지 회로(320) 및 셀 어레이(330)를 포함할 수 있다.Referring to FIG. 3 , the memory 250 may include a control circuit 310 , a first row hammer detection circuit 320 , and a cell array 330 .

제어 회로(310)는 메모리(250)의 전반적인 동작을 제어할 수 있다. 제어 회로(310)는 커맨드와 어드레스(CA)에 의해 지시된 동작들, 예를 들어, 액티브(active) 동작, 프리차지(precharge) 동작, 리드(read) 동작, 라이트(write) 동작 및 리프레시(refresh) 동작, 을 메모리가 수행할 수 있도록 메모리(250) 내부의 구성들을 제어할 수 있다.The control circuit 310 may control the overall operation of the memory 250 . The control circuit 310 performs operations indicated by a command and an address CA, for example, an active operation, a precharge operation, a read operation, a write operation, and a refresh operation. refresh) operation, it is possible to control the internal components of the memory 250 so that the memory can perform.

셀 어레이(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 cell array 330 may include a plurality of memory cells arranged in a plurality of rows and a plurality of columns. The cell array 330 may include a normal area 331 and a security area 333 . The normal area 331 may be an area for storing general data, and the security area 333 may be an area for storing security-important data. Since the normal area 331 and the security area 333 are distinguished for applying different policies, they may be distinguished by an address. For example, if the number of rows in the cell array is N+1, rows 0 to K may be the normal area 331 , and rows K+1 to N may be the security area 333 . Since the security area 333 is an area for storing only a part of data for which security is important, the size of the security area 333 may be much smaller than the size of the normal area 331 . For example, the size of the normal area 331 may be several tens to several thousand times the size of the security area 333 .

제1로우 해머 감지 회로(320)는 셀 어레이(330)에서 액티브되는 로우의 일부를 샘플링해 카운팅하는 방식으로 리프레시가 필요한 로우들을 선정할 수 있다. 상세하게, 셀 어레이(330)에서 액티브되는 로우들은 무수히 많을 수 있는데, 제1로우 해머 감지 회로(320)는 셀 어레이(330)에서 액티브되는 수많은 로우들 중 일부 로우를 랜덤하게 샘플링하고, 샘플링된 로우들을 카운팅하는 방식으로, 과도하게 액티브된 로우들을 파악할 수 있다. 그리고 과도하게 액티브된 로우들의 인접 로우들, 즉 로우 해머링 공격에 의해 데이터가 유실될 위험이 있는 로우들, 을 리프레시가 필요한 로우들로 분류할 수 있다.The first row hammer detection circuit 320 may select rows requiring refresh by sampling and counting a portion of rows that are active in the cell array 330 . In detail, there may be innumerable rows that are active in the cell array 330 , and the first row hammer sensing circuit 320 randomly samples some of the numerous rows that are active in the cell array 330 , By counting rows, excessively active rows can be identified. In addition, adjacent rows of overactive rows, that is, rows with a risk of data loss due to a row hammering attack, may be classified as rows requiring refresh.

제1로우 해머 감지 회로(320)가 셀 어레이(330)에서 액티브된 로우의 전부를 카운팅하지 않고, 일부의 로우만 샘플링해 카운팅하는 것은, 수많은 로우의 액티브 회수를 전부 카운팅하는 것은 현실적으로 어렵고 이러한 회로의 구현에는 면적 및 전류 소모 면에서 부담(burden)이 너무 크기 때문이다. 제1로우 해머 감지 회로(320)에 의해 리프레시가 필요한 로우들로 분류된 로우들은, 일반적인 리프레시 동작시에 우선적 또는 추가적으로 리프레시되거나, 로우 해머 공격 방어를 위한 커맨드(예, 리프레시 관리(RFM, Refresh Manegement) 커맨드)의 인가시에 리프레시될 수 있다.It is difficult for the first row hammer sensing circuit 320 to count all of the active rows in the cell array 330 without counting all of the rows active in the cell array 330, but to sample and count only some rows. This is because the burden in terms of area and current consumption is too great for the implementation of . Rows classified as rows requiring refresh by the first row hammer detection circuit 320 are preferentially or additionally refreshed during a normal refresh operation, or a command (eg, refresh management (RFM) ) may be refreshed upon application of the command).

셀 어레이(330)에서 보안 영역(333)에서 로우 해머링 공격에 의해 데이터가 유실될 위험이 있는 로우들은 메모리 콘트롤러(221)의 제2로우 해머 감지 회로(407)에 의해 리프레시가 필요한 로우들로 분류될 수 있다. 그러므로, 제1로우 해머 감지 회로(320)는 보안 영역(333)을 관리 대상에서 제외하고, 노멀 영역(231)에서만 액티브된 로우의 일부를 샘플링해 카운팅하는 방식으로 리프레시가 필요한 로우들을 선정할 수도 있다.In the cell array 330 , rows with a risk of data loss due to a row hammering attack in the secure area 333 are classified as rows requiring refresh by the second row hammer detection circuit 407 of the memory controller 221 . can be Therefore, the first row hammer detection circuit 320 excludes the security region 333 from management and samples and counts a portion of rows that are active only in the normal region 231 , and may select rows requiring refresh. have.

도 4는 도 2의 메모리 콘트롤러(221)의 일실시예 구성도이다.4 is a configuration diagram of the memory controller 221 of FIG. 2 according to an embodiment.

도 4를 참조하면, 메모리 콘트롤러(221)는 호스트 인터페이스(401), 스케쥴러(403), 커맨드 생성기(405), 제2로우 해머 감지 회로(407), 에러 정정 회로(409) 및 메모리 인터페이스(411)를 포함할 수 있다.Referring to FIG. 4 , the memory controller 221 includes a host interface 401 , a scheduler 403 , a command generator 405 , a second row hammer detection circuit 407 , an error correction circuit 409 , and a memory interface 411 . ) may be included.

호스트 인터페이스(401)는 메모리 콘트롤러(221)와 프로세서(210)의 나머지 구성들 간의 인터페이스를 위한 것일 수 있다. 메모리 콘트롤러(221)는 호스트 인터페이스(401)에 의해 메모리 버스(223)와 연결될 수 있다.The host interface 401 may be for an interface between the memory controller 221 and the remaining components of the processor 210 . The memory controller 221 may be connected to the memory bus 223 by the host interface 401 .

스케쥴러(403)는 메모리(250)의 동작을 스케쥴링할 수 있다. 스케쥴러(403)는 메모리 버스(223)를 통해 전달된 요청들 중 메모리(250)에 지시할 요청의 순서를 정할 수 있다. 스케쥴러(403)는 퍼포먼스의 향상을 위해 메모리 버스(223)를 통해 요청들이 수신된 순서와 메모리(250)로 지시할 동작의 순서를 다르게 할 수도 있다. 예를 들어, 메모리 버스(223)를 통해 메모리(250)의 리드 동작이 먼저 요청되고 라이트 동작이 이후에 요청되었다고 하더라도, 메모리(250)의 라이트 동작이 리드 동작보다 먼저 수행되도록 동작 순서를 조절할 수 있다.The scheduler 403 may schedule an operation of the memory 250 . The scheduler 403 may determine the order of the requests to be indicated to the memory 250 among the requests transmitted through the memory bus 223 . The scheduler 403 may change the order in which requests are received through the memory bus 223 and the order of operations to be directed to the memory 250 in order to improve performance. For example, even if the read operation of the memory 250 is requested first and the write operation is requested later through the memory bus 223, the operation order may be adjusted so that the write operation of the memory 250 is performed before the read operation. have.

커맨드 생성기(405)는 스케쥴러(403)에 의해 정해진 동작의 순서에 맞게 메모리(250)로 인가할 커맨드를 생성할 수 있다.The command generator 405 may generate a command to be applied to the memory 250 according to the order of operations determined by the scheduler 403 .

메모리 인터페이스(411)는 메모리 콘트롤러(221)와 메모리(250) 간의 인터페이스를 위한 것일 수 있다. 메모리 인터페이스(411)를 통해 메모리 콘트롤러(221)로부터 메모리(250)로 커맨드와 어드레스(CA)가 전달되고, 데이터(DATA)가 송/수신될 수 있다. 메모리 인터페이스(411)를 PHY 인터페이스라고도 한다.The memory interface 411 may be for an interface between the memory controller 221 and the memory 250 . A command and an address CA may be transmitted from the memory controller 221 to the memory 250 through the memory interface 411 , and data DATA may be transmitted/received. The memory interface 411 is also referred to as a PHY interface.

제2로우 해머 감지 회로(407)는 메모리(250)의 보안 영역(333)에서 액티브되는 로우의 전부를 카운팅해 리프레시가 필요한 로우들을 선정할 수 있다. 제2로우 해머 감지 회로(407)는 보안 영역에서 액티브되는 모든 로우의 액티브 회수를 카운팅해 과도하게 액티브된 로우들을 파악할 수 있다. 그리고 과도하게 액티브된 로우들의 인접 로우들을, 즉 로우 해머링 공격에 의해 데이터가 유실될 위험이 있는 로우들, 을 리프레시가 필요한 로우들로 분류할 수 있다. 메모리(250)의 액티브 동작은 메모리 콘트롤러(221)의 지시에 따라 수행되므로, 메모리 콘트롤러(221)의 제2로우 해머 감지 회로(407)가 메모리(250)의 보안 영역(333)에서 어떤 로우가 액티브되는지를 파악할 수 있다. 제2로우 해머 감지 회로(407)에 의해 리프레시가 필요한 로우들로 분류된 로우들에 대해서, 메모리 콘트롤러(221)는 메모리(250)에게 액티브 동작(데이터 유실은 액티브 동작에 의해서도 방지될 수 있음) 또는 리프레시 동작을 지시하고, 이에 따라 리프레시가 필요한 로우들의 데이터의 유실이 방지될 수 있다.The second row hammer detection circuit 407 counts all of the rows activated in the security area 333 of the memory 250 and selects rows requiring refresh. The second row hammer detection circuit 407 may detect excessively active rows by counting the active number of all rows activated in the security area. In addition, adjacent rows of overactive rows, that is, rows with a risk of data loss due to a row hammering attack, may be classified as rows requiring refresh. Since the active operation of the memory 250 is performed according to the instruction of the memory controller 221 , the second row hammer detection circuit 407 of the memory controller 221 detects which row in the security area 333 of the memory 250 . You can see if it's active. For the rows classified as rows requiring refresh by the second row hammer detection circuit 407 , the memory controller 221 sends an active operation to the memory 250 (data loss can also be prevented by the active operation) Alternatively, a refresh operation may be instructed, and thus, loss of data of rows requiring refresh may be prevented.

제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 hammer detection circuit 407 counts the number of active times of all rows of the security area 333 in a full counting manner, there may be a lot of burden in operation, but since the size of the security area 333 is relatively small, Such an operation may be possible. The second row hammer detection circuit 407 requires a storage circuit for counting, and one of the cache memories 215 , 217 , and 219 of the processor 210 may be used as a storage circuit for storing the counting result. . Since the cache memory 219 of the last level among the cache memories 215 , 217 , and 219 has the largest capacity, the second row hammer detection circuit 407 uses the cache memory 219 as a storage circuit. It may be desirable to Of course, a storage circuit for storing the counting result may be provided in the second row hammer detection circuit 407 . 5 illustrates an example of a counting result stored in the cache memory 219 of the last level. Referring to FIG. 5 , it can be seen that the number of active times is counted for every row of the security area 333 .

에러 정정 회로(409)는 보안 영역(333)의 에러 정정을 위한 회로일 수 있다. 에러 정정 회로(409)는 보안 영역(333)의 라이트 동작시에 라이트 데이터의 에러를 정정하기 위한 에러 정정 코드(error correction code)를 생성하고, 에러 정정 코드를 캐시 메모리들(215, 217, 219) 중 하나에 저장할 수 있다. 캐시 메모리들(215, 217, 219) 중 마지막 레벨의 캐시 메모리(219)에 에러 정정 코드를 저장하는 것이 바람직할 수 있다. 에러 정정 회로(409)는 보안 영역(333)의 리드 동작시에 캐시 메모리(219)에 저장된 에러 정정 코드를 이용해 보안 영역(333)으로부터 리드된 데이터의 에러를 정정할 수 있다. 즉, 에러 정정 회로(409)는 라이트 동작시에 보안 영역(333)에 저장되는 데이터의 에러 정정을 위한 에러 정정 코드를 캐시 메모리(219)에 저장하고, 리드 동작시에는 캐시 메모리(219)에 저장된 에러 정정 코드를 이용해 보안 영역으로부터 리드된 데이터의 에러를 정정할 수 있다.The error correction circuit 409 may be a circuit for error correction of the security area 333 . The error correction circuit 409 generates an error correction code for correcting an error in write data during a write operation of the secure area 333 , and applies the error correction code to the cache memories 215 , 217 , and 219 . ) can be stored in one of the It may be desirable to store the error correction code in the cache memory 219 of the last level among the cache memories 215 , 217 , and 219 . The error correction circuit 409 may correct an error in data read from the security region 333 using an error correction code stored in the cache memory 219 during a read operation of the security region 333 . That is, the error correction circuit 409 stores an error correction code for error correction of data stored in the security area 333 during a write operation in the cache memory 219 , and stores it in the cache memory 219 during a read operation. An error in data read from the secure area can be corrected using the stored error correction code.

메모리 시스템(200)은 다음의 3가지 면에서 노멀 영역(331)과 보안 영역(333)을 차별화해 보안 영역(333)에 저장된 보안 데이터를 보호할 수 있다.The memory system 200 can protect the security data stored in the security area 333 by differentiating the normal area 331 and the security area 333 in the following three aspects.

1. 액티브된 로우의 카운팅 방식1. Counting of active rows

노멀 영역(331)에서 액티브된 로우들은 제1로우 해머 감지 회로(320)에 의해 랜덤 카운팅 방식으로 카운팅된다. 액티브된 로우들 전체가 카운팅되는 것이 아니라 일부의 로우들만 랜덤하게 선택되어 카운팅되므로, 이러한 카운팅 방식은 신뢰도가 떨어지기 마련이다. 즉, 노멀 영역(331)에서는 로우 해머링 공격에 의해 공격받은 로우를 선정하는 방식에 있어서의 신뢰도가 100%가 될 수 없다.Rows activated in the normal region 331 are counted by the first row hammer detection circuit 320 in a random counting manner. Since not all of the active rows are counted, but only some rows are randomly selected and counted, this counting method tends to be less reliable. That is, in the normal region 331 , the reliability in the method of selecting the row attacked by the row hammering attack cannot be 100%.

반면에, 보안 영역(333)에서 액티브된 로우들은 제2로우 해머 감지 회로(407)에 의해 풀카운팅 방식으로 카운팅된다. 즉, 보안 영역(333)에서 액티브된 로우들 전체가 카운팅되므로, 거의 100%의 신뢰도를 가지고 로우 해머링 공격에 의해 공격 받은 로우를 선정할 수 있다. 따라서, 보안 영역(333)에 저장된 데이터는 노멀 영역(331)에 저장된 데이터보다 더 보호될 수 있다.On the other hand, the rows activated in the security area 333 are counted in a full-counting manner by the second row hammer detection circuit 407 . That is, since all rows active in the security area 333 are counted, a row attacked by the row hammering attack can be selected with almost 100% reliability. Accordingly, data stored in the security area 333 may be more protected than data stored in the normal area 331 .

2. 에러 정정 방식2. Error correction method

에러 정정 회로(409)는 보안 영역(333)에 저장된 데이터에 대해서만 에러 정정 동작을 수행한다. 따라서 보안 영역(333)에 저장된 데이터가 노멀 영역(331)에 저장된 데이터보다 더 보호될 수 있다. 메모리 시스템(200)에 에러 정정 회로(409) 이외에 추가적인 에러 정정 회로가 더 구비될 수 있지만, 이러한 에러 정정 회로는 보안 영역(333)과 노멀 영역(331)의 데이터 모두를 보호할 것이므로, 보안 영역(333)의 데이터가 노멀 영역(331)의 데이터보다 더 보호받는다는 사실에는 변함이 없다.The error correction circuit 409 performs an error correction operation only on data stored in the security area 333 . Accordingly, data stored in the security area 333 may be more protected than data stored in the normal area 331 . An additional error correction circuit may be further provided in the memory system 200 in addition to the error correction circuit 409 , but the error correction circuit protects both the data of the security region 333 and the normal region 331 , and thus the security region There is no change in the fact that the data of 333 is more protected than the data of the normal area 331 .

3. 억세스 방식3. Access method

메모리(250)는 일반적으로 캐시 메모리들(215, 217, 219)을 통해 억세스된다. 즉, 프로세서 코어(211)는 메모리(250)를 직접적으로 억세스해 데이터를 얻지 않으며, 메모리(250)로부터 캐시 메모리들(215, 217, 219)로 데이터가 전달되고, 프로세서 코어(211)는 캐시 메모리들(215, 217, 219)을 억세스해 데이터를 얻는다. 그러나 캐시 플러시(cache flush) 상황이 발생한다던지 다른 상황에 의해 프로세서 코어(211)가 메모리(250)를 직접적으로 억세스할 필요성이 있는 경우에, 프로세서 코어(211)가 메모리(250)를 직접적으로 억세스할 수 있다.Memory 250 is generally accessed via cache memories 215 , 217 , and 219 . That is, the processor core 211 does not directly access the memory 250 to obtain data, and data is transferred from the memory 250 to the cache memories 215 , 217 , and 219 , and the processor core 211 caches the cache. The memories 215, 217, and 219 are accessed to obtain data. However, when the processor core 211 needs to directly access the memory 250 due to a cache flush situation or other circumstances, the processor core 211 directly accesses the memory 250 . can be accessed

이러한 캐시 메모리들(215, 217, 219)을 통한 메모리(250)의 간접적인 억세스 및 메모리(250)의 직접적인 억세스는 캐시 콘트롤러(213)에 의해 제어될 수 있는데, 캐시 콘트롤러(213)는 메모리(250)의 노멀 영역(331)에 대해서는 프로세서 코어(211)의 직접적인 억세스를 허용하지만 메모리(250)의 보안 영역(333)에 대해서는 프로세서 코어(211)의 직접적인 억세스를 금지할 수 있다.Indirect access to memory 250 and direct access to memory 250 through these cache memories 215, 217, 219 may be controlled by a cache controller 213, which Direct access of the processor core 211 to the normal region 331 of the 250 may be allowed, but direct access by the processor core 211 to the secure region 333 of the memory 250 may be prohibited.

메모리(250)에 대한 프로세서 코어(211)의 직접적인 억세스가 허용될 경우에, 해커(hacker)들의 공격이 더 쉬워질 수 있는데, 캐시 콘트롤러(213)가 보안 영역(333)에 대해서는 프로세서 코어(211)에 의한 직접적인 억세스를 금지하므로, 보안 영역(333)에 대한 공격이 어려워질 수 있다. 즉 보안 영역(333)의 데이터가 보호 받을 수 있다.If direct access of the processor core 211 to the memory 250 is allowed, an attack by hackers may be easier, where the cache controller 213 has the processor core 211 over the secure area 333 . ), since direct access is prohibited, an attack on the security area 333 may be difficult. That is, data in the security area 333 may be protected.

본 발명의 기술사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여아 한다. 또한, 본 발명의 기술분야의 전문가라면 본 발명의 기술사상의 범위 내에서 다양한 실시예가 가능함을 알 수 있을 것이다.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.
제 1항에 있어서,
상기 메모리 시스템은
서로 다른 레벨의 캐시 메모리들을 더 포함하고,
상기 제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항에 있어서,
상기 제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.
제 2항에 있어서,
상기 노멀 영역, 상기 보안 영역 및 상기 제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.
제 4항에 있어서,
상기 서로 다른 레벨의 캐시 메모리들은 상기 메모리 콘트롤러를 포함하는 프로세서에 포함되는
메모리 시스템.
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.
제 6항에 있어서,
상기 호스트는 프로세서이고,
상기 프로세서는 서로 다른 레벨의 캐시 메모리들을 더 포함하고,
상기 에러 정정 코드 저장 영역은 상기 서로 다른 레벨의 캐시 메모리들 중 하나 내에 포함되는
메모리 시스템.
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.
제 7항에 있어서,
상기 에러 정정 회로는
상기 프로세서의 메모리 콘트롤러 내에 포함되는
메모리 시스템.
8. The method of claim 7,
The error correction circuit is
included in the memory controller of the processor
memory system.
제 7항에 있어서,
상기 에러 정정 코드 저장 영역은 상기 서로 다른 레벨의 캐시 메모리들 중 마지막 레벨 캐시 메모리에 포함되는
메모리 시스템.
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.
제 10항에 있어서,
상기 노멀 영역과 상기 보안 영역은 메모리에 포함되고,
상기 캐시 메모리는 프로세서에 포함되는
메모리 시스템.
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.
제 12항에 있어서,
상기 노멀 영역, 상기 보안 영역, 상기 제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.
제 13항에 있어서,
상기 캐시 메모리를 바이패스한 상기 노멀 영역의 억세스는 허용되지만, 상기 캐시 메모리를 바이패스한 상기 보안 영역의 억세스는 허용되지 않는
메모리 시스템.
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.
제 13항에 있어서,
상기 제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.
제 13항에 있어서,
상기 프로세서는
인스트럭션들을 처리하고, 상기 캐시 메모리를 통해 상기 메모리를 억세스하는 프로세서 코어를 더 포함하는
메모리 시스템.
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.
제 16항에 있어서,
상기 메모리 콘트롤러는
호스트와의 통신을 위한 호스트 인터페이스;
상기 메모리의 동작을 스케쥴링하기 위한 스케쥴러;
상기 메모리로 인가될 커맨드를 생성하기 위한 커맨드 생성기; 및
상기 메모리와의 통신을 위한 메모리 인터페이스를 더 포함하는
메모리 시스템.
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.
KR1020210154680A 2020-12-10 2021-11-11 Memory system KR20220082730A (en)

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)

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