[go: up one dir, main page]

WO2024117713A1 - Memory device for efficiently performing dram internal row shuffle - Google Patents

Memory device for efficiently performing dram internal row shuffle Download PDF

Info

Publication number
WO2024117713A1
WO2024117713A1 PCT/KR2023/019242 KR2023019242W WO2024117713A1 WO 2024117713 A1 WO2024117713 A1 WO 2024117713A1 KR 2023019242 W KR2023019242 W KR 2023019242W WO 2024117713 A1 WO2024117713 A1 WO 2024117713A1
Authority
WO
WIPO (PCT)
Prior art keywords
row
dram
rows
subarray
remapping
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/KR2023/019242
Other languages
French (fr)
Korean (ko)
Inventor
안정호
박재현
위민복
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SNU R&DB Foundation
Original Assignee
Seoul National University R&DB Foundation
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 Seoul National University R&DB Foundation filed Critical Seoul National University R&DB Foundation
Publication of WO2024117713A1 publication Critical patent/WO2024117713A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • 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
    • 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4087Address decoders, e.g. bit - or word line decoders; Multiple line decoders
    • 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating

Definitions

  • the present invention is a technology that proposes a DRAM internal structure that supports quickly performing a DRAM internal row shuffle operation.
  • the DRAM structure proposed in the present invention uses an isolation transistor to quickly access one specific row for each subarray, and pairs two subarrays to pair data in rows that can be accessed quickly in each subarray. Allows quick access from other built subarrays.
  • row hammer prevention technology through DRAM internal row shuffle can be optimized.
  • the present invention can be implemented inside DRAM and further optimized to suit the specific characteristics of each DRAM device.
  • the present invention optimizes the DRAM internal row shuffle operation and accelerates the mapping process between the physical address of the host machine and the DRAM internal device address.
  • the present invention is applicable to all types of DRAM, and can be applied not only to the RFM interface but also to DRAM using a next-generation memory interface such as CXL (Compute eXpress Link).
  • CXL Computer eXpress Link
  • storage It can be applied to all storage media such as .
  • Figure 1 is a diagram showing a DRAM-based main memory architecture.
  • the DRAM-based main memory system is hierarchically structured with multiple memory channels, ranks, and banks, and is connected to a memory controller.
  • Each bank is a two-dimensional array of DRAM cells and is composed of multiple subarrays to efficiently manage the cells.
  • Each cell is indexed by row and column address by wordline and bitline.
  • a subarray is a set of rows that share a bit line.
  • the bit line sense amplifier of each subarray is connected to the global data line (global IO, GIO) through the local data line (local IO, LIO).
  • the DRAM device first performs row activation to process memory requests.
  • Row activation selects a subarray within a bank through a global row decoder and selects a specific row within the subarray through a local row decoder.
  • a specific column is finally selected by activating a specific column select line.
  • the physical address in the host processor passes through the memory controller and the DRAM device and is finally converted into a specific DRAM device address.
  • the host processor divides the physical address into channel, rank, bank, row, and column addresses through a unique method, and through this, utilizes parallelism to efficiently access DRAM memory.
  • the DRAM row decoder maps the given physical address to a specific device address, and this mapping method may vary depending on the DRAM manufacturer or device. Additionally, the mapping of physical addresses to device addresses is more complex because DRAM manufacturers use spare rows and columns to provide resiliency by remapping defective cells. However, the mapping of these physical addresses to device addresses is generally static.
  • a row hammer attack utilizes the electrical interference phenomenon between adjacent rows, repeatedly activating a specific row (aggressor row) to cause a bit flip in an adjacent row (victim row). .
  • Row hammer attacks are a powerful threat to computer systems because they arbitrarily change data values stored in memory and can cause data corruption and system errors. The minimum number of activations that cause the low hammer phenomenon is called the hammer count.
  • TRRespass the activation of one row not only affects adjacent rows, but also non-adjacent but nearby rows. This effect on non-adjacent rows is called a blast attack, and the attack radius is called the blast radius.
  • TRR target row refresh
  • CBT CBT, TWiCe, Graphene
  • PARA PARA
  • throttling modifies the scheduler of the memory controller to select threads with a lot of memory access and prevents the thread from accessing memory to a specific row [BlockHammer].
  • the third technology is row-shuffle, which selects attack rows with high activation and swaps them with other rows [RRS].
  • row shuffle the mapping between physical addresses and device addresses can be continuously changed, making it impossible for a row hammer attacker to attack the desired row.
  • [RRS] due to the limited size of the remapping table, the mapping information is restored after a certain row shuffle, allowing the attacker to attack the desired row again.
  • Solutions to prevent row hammer can be implemented on the memory controller side or DRAM side using the above technologies.
  • it When implemented on the memory controller side, it has the advantage of being able to be implemented through a logic process that is faster than the DRAM process and easier in terms of area, and can receive help from the system.
  • one memory controller is generally responsible for multiple DRAM devices, activation counters for all DRAM devices handled by the memory controller are required, resulting in a large area burden.
  • different hammer counts and blast radii cannot be applied differently for each DRAM device, conservative characteristic values must be considered for defense, resulting in large area and performance overhead.
  • row hammer attacks can be prevented more efficiently by considering the internal characteristics of each DRAM device.
  • a row hammer prevention solution can be built using only the device address, without considering the mapping between the physical address and the device address.
  • the implementation on the DRAM side is limited due to timing constraints.
  • RFM ReFresh Management
  • the memory controller periodically sends RFM commands to DRAM according to the set activation number (RAAIMT) of each bank and provides a certain timing margin to the DRAM device.
  • RAAIMT set activation number
  • DRAM receives an RFM command, it can automatically perform operations to prevent row hammer at a given timing.
  • This RFM interface enables cooperation between the memory controller and DRAM in row hammer prevention and facilitates memory-side implementation of row hammer prevention solutions.
  • the memory device for efficiently performing internal DRAM row shuffling which was developed to solve the above-described problems, prevents row hammering by implementing row shuffling inside DRAM, and at the same time overcomes the disadvantages of implementing row shuffle on the memory controller side.
  • the purpose is to avoid being influenced by .
  • the memory device for efficiently performing DRAM internal row shuffling of the present invention aims to prevent row hammering by preventing row hammer attackers from knowing the mapping information of DRAM rows through effective DRAM internal row shuffling.
  • the memory device for efficiently performing DRAM internal row shuffle of the present invention optimizes the DRAM internal row shuffle operation, accelerates the mapping process between the physical address of the host machine and the DRAM internal device address, and is applicable to all types of DRAM.
  • the purpose is to make it possible.
  • a memory device for efficiently performing DRAM internal row shuffling according to the present invention to achieve the above-described object includes: a memory controller; and a plurality of pairs of subarrays to which subarray pairing is applied, in which the remapping rows of the target subarray are placed in a pair subarray paired with the target subarray, and the remapping rows include the physical addresses of the rows and the DRAM device address.
  • a DRAM device storing mapping information, wherein when receiving an activation (ACT) command from a memory controller, the DRAM device first activates a remapping row to read the mapping information of the target row, and then reads the mapping information of the target row.
  • ACT activation
  • the target row is activated using the device address of the information, and activation (ACT) instructions are continuously generated.
  • ACT activation
  • the remapping row of the pair subarray is searched and many activations (ACT) are generated. Find out the DRAM device address of the target aggressor row that is determined to have occurred, perform row shuffling of the target aggressor row in the target subarray, and remap rows in the pair subarray while row shuffling is being performed or when it is completed. It is characterized by updating the information.
  • each of the pair of sub-arrays includes an isolation transistor located between the remapping row and other rows.
  • the bit line sense amplifier of one sub-array can transmit data because the local row decoder and the data line of the other sub-array are connected to each other.
  • the remapping row is preferably located closest to the bitline sense amplifier for fast activation.
  • a DRAM device receives a row hammer prevention command, it selects the row with the largest ACT counter value as the target attack row, or rows in which ACT occurred from the previous row hammer prevention command to the current row hammer prevention command.
  • a randomly selected row is selected as the target attack row, a random row is selected using a random number generator, and the data of the row selected as a random row is copied to an empty row.
  • the data of the target attack row is randomly selected. It is desirable to copy the rows and then update the changed positions in a remapping row that has mapping information for the rows according to the positions of the changed rows.
  • the row shuffle is implemented inside the DRAM to prevent row hammering, and at the same time, it is not affected by the disadvantages of implementing the row shuffle on the memory controller side.
  • a memory device may be provided.
  • a method for efficiently performing intra-DRAM row shuffling optimizes the DRAM internal row shuffle operation, accelerates the mapping process between the physical address of the host machine and the DRAM internal device address, and is applicable to all types of DRAM.
  • a memory device may be provided.
  • the present invention reduces performance degradation and increases energy efficiency by accelerating DRAM internal row shuffling and access to remapped DRAM rows, thereby reducing costs.
  • DRAM internal row shuffle dynamically randomizes the mapping between the physical address of DRAM rows from the host processor and the DRAM internal device address, preventing row hammer attackers from creating sophisticated attack patterns. there is.
  • each time row shuffling is performed copying and shuffling a DRAM row of about 8 KB in size to another DRAM row may take a lot of time and energy.
  • additional time is required each time DRAM rows are accessed.
  • the present invention effectively reduces the overhead of DRAM row shuffling.
  • the present invention can perform row shuffle, a row hammer prevention technology, inside DRAM, it is not affected by the shortcomings of existing row hammer prevention technologies implemented in a memory controller. Since the hammer count and blast radius of the DRAM device used can be known inside the DRAM, the present invention can be implemented with minimal area and performance overhead accordingly.
  • Figure 1 is a diagram showing a DRAM-based main memory architecture.
  • Figure 2 is a diagram showing the remapping row and isolation transistor in the sub-array of the present invention.
  • Figure 3 is an internal structure diagram of the DRAM of the present invention with isolation transistor and subarray pairing applied.
  • Figure 4 is a detailed diagram of the internal structure of the DRAM of the present invention in which the access time of the remapping row is reduced through pairing of an isolation transistor and a subarray.
  • Figure 5 is an operation flow chart of the row hammer prevention technology based on DRAM internal row shuffle in the DRAM internal structure of the present invention.
  • Figure 6 is an example of a row shuffle that operates during the row hammer prevention instruction of the present invention.
  • the memory device 100 for efficiently performing DRAM internal row shuffle includes a memory controller 120 and a DRAM device 140.
  • Figure 2 is a diagram showing the remapping row and isolation transistor in the sub-array of the present invention.
  • a remapping row is placed inside the DRAM to store mapping information of addresses that change due to row shuffling, through which the mapping information can be quickly accessed.
  • it allows quick access to remapping rows through an isolation transistor, and uses subarray pairing to quickly read remapping information to activate changed DRAM rows.
  • the DRAM internal structure proposed in the present invention can perform row shuffling within the DRAM quickly and energy efficiently.
  • the remapping row stores mapping information between the physical addresses of DRAM rows and the DRAM device address.
  • the DRAM device receives the ACT command, it first activates the remapping row and reads the mapping information of the target row. Afterwards, the target row can be activated using the device address of the mapping information. Remapping rows cannot be accessed from the memory controller because they do not have a corresponding physical address in the host processor.
  • Subarray pairing involves pairing two subarrays and placing the remapping rows of one subarray in another subarray. Since each subarray has its own row buffer, rows can be independently activated or precharged for each subarray through slight changes inside the DRAM.
  • target row activation process which previously consisted of four steps: 1) remapping row activation, 2) remapping row read, 3) remapping row precharge, and 4) target row activation
  • using subarray pairing allows 3) remapping row Precharge can be performed simultaneously with 4) target row activation. Through this, the access time of remapping rows can be reduced.
  • Figure 3 is a diagram showing the internal structure of a DRAM of the present invention to which an isolation transistor and subarray pairing are applied.
  • the bitline sense amplifier of one subarray can transmit data because the data line is connected to the local row decoder of the other subarray.
  • Figure 4 is a detailed diagram of the internal structure of a DRAM according to the present invention in which the access time of a remapping row is reduced through pairing of an isolation transistor and a subarray.
  • the bank controller when searching for a remapping row, the bank controller inputs the corresponding column address from the remapping row to the column decoder based on the row address received.
  • the mapping information in the remapping row can be input to the local row decoder of the paired subarray through the DEMUX (Demultiplexer) in each subarray.
  • the controller manages remapping row searches, row copying, and general DRAM operations.
  • Figure 5 is an operation flow chart of the row hammer prevention technology based on DRAM internal row shuffle in the DRAM internal structure of the present invention.
  • the subarray in which the row to be activated by the activation (ACT) command sent from the memory controller 120 to the DRAM device 140 exists is defined as the target subarray, and the subarray paired with the target subarray is defined as a pair subarray.
  • step S110 each time the memory controller 120 sends an ACT command to the DRAM device 140 (step S110), the DRAM device 140 searches for a remapping row in the pair subarray and stores it in the received target row physical address. Find the corresponding DRAM device address (step S120). Then, the corresponding target row is activated in the target subarray (step S130).
  • This row hammer prevention command may be an RFM command or a special command added to prevent row hammer.
  • the memory controller 120 transmits an activation command (ACT command) that causes a specific DRAM bank to be activated to the DRAM device 140, and selects one of the plurality of ACT counters issued for each DRAM bank present in the memory controller.
  • ACT command an activation command
  • the ACT counter value of the specific DRAM bank is increased by 1 (step S140).
  • RFM causes the memory controller 200 to perform a row hammer refresh (RH refresh) on the corresponding DRAM bank.
  • RH refresh row hammer refresh
  • the DRAM device 140 searches the remapping rows of the pair subarray to find the DRAM device address of the target aggressor row where it is determined that many ACTs have occurred (step S170). Then, row shuffling of target attack rows is performed in the target subarray.
  • the target attack row may be selected based on a table counting the number of ACTs, or may be selected randomly (step S180). While row shuffling is being performed or when it is completed, the remapping row information is updated in the pair subarray (step S190).
  • Figure 6 is an example diagram of row shuffle that operates during the row hammer prevention instruction of the present invention.
  • Target attack rows are rows that are considered to have a lot of ACT, and are the main target of the row shuffle. Since the random row is randomly selected and shuffled with the target attack row, randomness is given to the DRAM mapping of the target attack row to prevent the row hammer attacker from attacking the target attack row again.
  • An empty row is an additional row that is placed as a temporary buffer for row shuffling. Since empty rows do not have separate physical addresses, they cannot be accessed from the memory controller.
  • row shuffle when using the row hammer prevention command, row shuffle operates in the following order.
  • the DRAM device receives a row hammer prevention command, it selects a target attack row based on the ACT count of previous commands.
  • the row with the largest ACT counter value can be selected, or one of the rows in which ACT has occurred from the previous row hammer prevention instruction to the current row hammer prevention instruction can be randomly selected.
  • a random number generator is used.
  • the random row is selected using a random number generator.
  • the data of the row selected as a random row is copied to an empty row.
  • the data of the row selected as the target attack row is copied to a random row.
  • the changed positions are updated in the remapping rows with mapping information of the corresponding rows according to the positions of the changed rows.
  • the target attack row where a lot of activation occurs is replaced with a row that the attacker does not know, making it difficult for the attacker to attack anymore. Additionally, if enough row shuffling occurs, it becomes difficult to use attack patterns using blast attacks because it becomes impossible to know how close the rows are.
  • the time taken for the ACT command is reduced because the precharge time of the remapping row is covered by the target row activation time.
  • search and update of remapping rows are performed in the pair subarray, and row shuffling is performed in the target subarray.
  • the time used to search and update remapping rows may be obscured by the row shuffle execution time.
  • Memory device of the present invention 120: Memory controller
  • DRAM device 142 a pair of subarrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

A memory device for efficiently performing a DRAM internal row shuffle of the present invention is a technology that proposes a DRAM internal structure that supports quickly performing a DRAM internal row shuffle operation. A DRAM structure proposed in the present invention uses an isolation transistor to allow fast access to one specific row for each subarray, and pairs two subarrays such that fast-accessible row data from each subarray can be accessed from the other paired subarrays. The present invention may optimize a row hammer prevention technology through the DRAM internal row shuffle. The present invention is implemented inside a DRAM and may be further optimized for specific characteristics of each DRAM device.

Description

효율적으로 DRAM 내부 로우 셔플을 수행하기 위한 메모리 장치Memory device to efficiently perform DRAM internal row shuffle

본 발명은 DRAM 내부 로우 셔플 동작을 빠르게 수행할 수 있도록 지원하는 DRAM 내부 구조를 제안하는 기술이다. 본 발명에서 제안하는 DRAM 구조는 격리 트랜지스터를 이용하여 서브어레이마다 특정한 하나의 로우의 접근을 빠르게 수행되도록 하며, 두 개의 서브어레이를 쌍으로 하여 각 서브어레이의 빠르게 접근될 수 있는 로우의 데이터를 짝지어진 다른 서브어레이에서 빠르게 접근할 수 있도록 한다. 본 발명을 활용하면, DRAM 내부 로우 셔플을 통한 로우 해머 방지 기술을 최적화할 수 있다. 본 발명은 DRAM 내부에서 구현되어, DRAM 디바이스마다 구체적인 특성에 맞춰 추가적으로 최적화될 수 있다.The present invention is a technology that proposes a DRAM internal structure that supports quickly performing a DRAM internal row shuffle operation. The DRAM structure proposed in the present invention uses an isolation transistor to quickly access one specific row for each subarray, and pairs two subarrays to pair data in rows that can be accessed quickly in each subarray. Allows quick access from other built subarrays. Using the present invention, row hammer prevention technology through DRAM internal row shuffle can be optimized. The present invention can be implemented inside DRAM and further optimized to suit the specific characteristics of each DRAM device.

본 발명은 DRAM 내부 로우 셔플 동작을 최적화하고, 호스트 머신의 물리 주소와 DRAM 내부 디바이스 주소 매핑 과정을 가속화한다. 또한, 본 발명은 모든 타입의 DRAM에 적용가능하며, RFM 인터페이스 뿐만 아니라 CXL (Compute eXpress Link)과 같은 차세대 메모리 인터페이스를 사용하는 DRAM에서도 본 발명을 적용할 수 있고, 매핑 정보에 관한 보안에 있어서는 스토리지와 같은 모든 저장매체에 적용될 수 있다.The present invention optimizes the DRAM internal row shuffle operation and accelerates the mapping process between the physical address of the host machine and the DRAM internal device address. In addition, the present invention is applicable to all types of DRAM, and can be applied not only to the RFM interface but also to DRAM using a next-generation memory interface such as CXL (Compute eXpress Link). In terms of security regarding mapping information, storage It can be applied to all storage media such as .

최근 DRAM의 공정이 미세화되면서 로우 해머 문제가 더 심화되고 있어, DRAM 제조사들은 더욱 효율적으로 로우 해머 문제를 해결해야 한다. 또한 메모리 컨트롤러에서 로우 해머 문제를 해결하는 것은 DRAM 디바이스마다 다른 특성을 고려하지 못하고 보수적으로 접근해야 하므로 큰 비용이 들고, DRAM 내부 매핑 및 구조를 모르기 때문에 인접한 로우에 대한 정보가 추가로 필요하다. 따라서 DRAM 내부에서 로우 해머 문제를 해결할 필요성이 대두되고 있으며, 본 발명은 DRAM 내부에서 적은 성능 저하와 높은 에너지 효율로 로우 해머 문제를 해결할 수 있어 DRAM 제조사들이 충분히 활용할 수 있다.Recently, as the DRAM process has become more refined, the row hammer problem has become more severe, and DRAM manufacturers must solve the row hammer problem more efficiently. In addition, solving the row hammer problem in a memory controller is costly because it cannot take into account the different characteristics of each DRAM device and must be approached conservatively, and additional information about adjacent rows is required because the internal mapping and structure of the DRAM is not known. Therefore, the need to solve the row hammer problem inside DRAM is emerging, and the present invention can be fully utilized by DRAM manufacturers as it can solve the row hammer problem with low performance degradation and high energy efficiency inside DRAM.

도 1은 DRAM 기반의 메인 메모리 아키텍처를 나타낸 도면이다. Figure 1 is a diagram showing a DRAM-based main memory architecture.

도 1을 참조하면, DRAM 기반의 메인 메모리 시스템은 다수의 메모리 채널(channel), 랭크(rank), 뱅크(bank)로 계층적으로 구성되어 있으며 메모리 컨트롤러(memory controller)와 연결되어 있다. 각 뱅크는 DRAM 셀(cell)의 이차원 배열이며, 셀들의 관리를 효율적으로 관리하기 위해 다수의 서브어레이(subarray)로 구성된다. 각 셀은 워드라인(wordline)과 비트라인(bitline)에 의해 로우(row) 및 컬럼(column) 주소로 인덱싱된다. 서브어레이는 비트라인을 공유하는 로우들의 집합이다. 각 서브어레이에는 선택된 로우의 셀 데이터를 증폭시키고 임시적으로 저장하는 비트라인 센스 엠플리파이어 (bitline sense amplifier)가 존재한다. 각 서브어레이의 비트라인 센스 엠플리파이어는 로컬 데이터라인(local IO, LIO)을 통해 글로벌 데이터라인(global IO, GIO)에 연결된다. DRAM 디바이스(device)는 메모리 요청을 처리하기 위해 먼저 로우 액티베이션(activation)을 수행한다. 로우 액티베이션은 글로벌 로우 디코더(global row decoder)를 통해 뱅크 내의 서브어레이를 선택하고, 로컬 로우 디코더(local row decoder)를 통해 서브어레이 내의 특정한 로우를 선택한다. 컬럼 디코더(column decoder)에서는 특정한 컬럼 셀렉트 라인(column select line)을 활성화하여 특정한 컬럼이 최종적으로 선택된다.Referring to FIG. 1, the DRAM-based main memory system is hierarchically structured with multiple memory channels, ranks, and banks, and is connected to a memory controller. Each bank is a two-dimensional array of DRAM cells and is composed of multiple subarrays to efficiently manage the cells. Each cell is indexed by row and column address by wordline and bitline. A subarray is a set of rows that share a bit line. In each subarray, there is a bitline sense amplifier that amplifies and temporarily stores the cell data of the selected row. The bit line sense amplifier of each subarray is connected to the global data line (global IO, GIO) through the local data line (local IO, LIO). The DRAM device first performs row activation to process memory requests. Row activation selects a subarray within a bank through a global row decoder and selects a specific row within the subarray through a local row decoder. In the column decoder, a specific column is finally selected by activating a specific column select line.

DRAM 주소 매핑DRAM address mapping

호스트 프로세서(host processor)에서의 물리 주소(physical address)는 메모리 컨트롤러와 DRAM 디바이스를 거쳐 최종적으로 특정한 DRAM 디바이스 주소(device address)로 변환된다. 호스트 프로세서는 고유의 방식을 통해 물리 주소를 채널, 랭크, 뱅크, 로우, 컬럼 주소들로 나누며, 이를 통해 병렬성(parallelism)을 활용하여 효율적으로 DRAM 메모리 접근을 수행한다. 물리 주소가 DRAM 디바이스에 도달하면, DRAM 로우 디코더는 주어진 물리 주소를 특정한 디바이스 주소로 매핑하며, 이 매핑방식은 DRAM 제조사 혹은 디바이스마다 다를 수 있다. 또한, DRAM 제조사들은 결함이 있는 셀들을 다시 매핑하여 복원력을 제공하기 위해 여분의(spare) 로우 및 컬럼을 사용하기 때문에, 물리 주소의 디바이스 주소 매핑은 더욱 복잡하다. 하지만 이런 물리 주소의 디바이스 주소 매핑은 대체로 고정되어 있다(static).The physical address in the host processor passes through the memory controller and the DRAM device and is finally converted into a specific DRAM device address. The host processor divides the physical address into channel, rank, bank, row, and column addresses through a unique method, and through this, utilizes parallelism to efficiently access DRAM memory. When a physical address reaches a DRAM device, the DRAM row decoder maps the given physical address to a specific device address, and this mapping method may vary depending on the DRAM manufacturer or device. Additionally, the mapping of physical addresses to device addresses is more complex because DRAM manufacturers use spare rows and columns to provide resiliency by remapping defective cells. However, the mapping of these physical addresses to device addresses is generally static.

로우 해머 공격low hammer attack

최신 DRAM 디바이스들은 DRAM 셀의 데이터를 손상시키는 로우 해머 공격에 취약하다. 로우 해머 공격은 인접한 로우들간의 전기적 간섭현상을 활용하는 것으로, 특정한 로우(공격 로우, aggressor row)를 반복적으로 액티베이트하여 인접한 로우(피해 로우, victim row)의 비트 플립(bit flip)을 유발시킨다. 로우 해머 공격은 메모리에 저장된 데이터 값을 임의로 변화시키므로, 데이터 오염 및 시스템 에러를 유발할 수도 있어 컴퓨터 시스템에 강력한 위협요소이다. 로우 해머 현상을 일으키는 최소한의 액티베이트 수를 해머 카운트 (Hammer Count)라 부른다. 최근 연구[TRRespass]에 따르면, 한 로우의 액티베이션이 인접한 로우 뿐만 아니라, 인접해있지는 않지만 가까운 로우들에도 영향을 미친다. 이러한 인접하지 않은 로우들에도 미치는 영향을 블라스트 공격(blast attack)이라 하고, 그 공격 반경을 블라스트 반경(blast radius)이라 부른다.Modern DRAM devices are vulnerable to raw hammer attacks that corrupt data in DRAM cells. A row hammer attack utilizes the electrical interference phenomenon between adjacent rows, repeatedly activating a specific row (aggressor row) to cause a bit flip in an adjacent row (victim row). . Row hammer attacks are a powerful threat to computer systems because they arbitrarily change data values stored in memory and can cause data corruption and system errors. The minimum number of activations that cause the low hammer phenomenon is called the hammer count. According to a recent study [TRRespass], the activation of one row not only affects adjacent rows, but also non-adjacent but nearby rows. This effect on non-adjacent rows is called a blast attack, and the attack radius is called the blast radius.

로우 해머 방지기술Low hammer prevention technology

산업계와 학계에서는 로우 해머를 방지하기 위해 많은 솔루션들을 제안하고 있다. 로우 해머를 방지하는 솔루션들은 주로 다음의 세 가지 기술들 중 하나를 사용하고 있다. 첫 번째 기술은 타겟 로우 리프레쉬(target row refresh, TRR)이다. TRR은 로우 해머로 인한 비트 플립을 방지하기 위해 추가로 특정한 로우들을 리프레쉬(refresh)하는 기술이다. 일반적으로 로우들의 ACT 횟수를 세는 카운터를 두어 일정한 값(threshold)에 도달하면 TRR을 수행하거나 [CBT, TWiCe, Graphene] 혹은 로우 액티베이션마다 일정 확률로 TRR을 수행한다 [PARA]. 두 번째 기술은 메모리 컨트롤러의 스케줄러(scheduler)를 수정하여 메모리 접근이 많은 쓰레드(thread)를 선별하여 해당 쓰레드의 특정 로우로의 메모리 접근을 막는 쓰로틀링(throttling)이다 [BlockHammer]. 세 번째 기술은 액티베이션이 많이 발생하는 공격 로우를 선별하여 다른 로우와 바꾸는(swap) 로우 셔플(row-shuffle)이다 [RRS]. 로우 셔플을 활용하면 물리 주소와 디바이스 주소간의 매핑을 계속하여 변경할 수 있어, 로우 해머 공격자는 원하는 로우를 공격할 수 없게 된다. 하지만 [RRS]의 경우 리매핑 테이블(remapping table)의 제한된 크기로 인해 일정한 로우 셔플 이후에는 매핑 정보가 원복되어 공격자가 다시 원하는 로우를 공격할 수 있게 된다.Industry and academia are proposing many solutions to prevent row hammer. Solutions to prevent row hammer primarily use one of three technologies: The first technique is target row refresh (TRR). TRR is a technology that additionally refreshes specific rows to prevent bit flips due to row hammering. In general, there is a counter that counts the number of ACTs on the rows, and TRR is performed when a certain value (threshold) is reached [CBT, TWiCe, Graphene], or TRR is performed with a certain probability for each row activation [PARA]. The second technology is throttling, which modifies the scheduler of the memory controller to select threads with a lot of memory access and prevents the thread from accessing memory to a specific row [BlockHammer]. The third technology is row-shuffle, which selects attack rows with high activation and swaps them with other rows [RRS]. Using row shuffle, the mapping between physical addresses and device addresses can be continuously changed, making it impossible for a row hammer attacker to attack the desired row. However, in the case of [RRS], due to the limited size of the remapping table, the mapping information is restored after a certain row shuffle, allowing the attacker to attack the desired row again.

로우 해머를 방지하는 솔루션들은 위의 기술들을 활용하여 메모리 컨트롤러측 혹은 DRAM 측에 구현을 할 수 있다. 메모리 컨트롤러측에 구현할 경우, DRAM 공정보다 빠르고 면적 측면에서 용이한 로직 공정(logic process)으로 구현할 수 있고, 시스템의 도움을 받을 수 있다는 장점이 있다. 하지만 일반적으로 하나의 메모리 컨트롤러가 여러 개의 DRAM 디바이스들을 담당하므로, 메모리 컨트롤러가 담당하는 모든 DRAM 디바이스들의 액티베이션 카운터가 요구되며, 이로 인한 면적 부담이 크다. 또한 DRAM 디바이스마다 다른 해머 카운트, 블라스트 반경을 각각 다르게 적용할 수 없기 때문에 보수적인 특성 값을 고려하여 방어해야 하며, 이로 인한 면적 및 성능 오버헤드(overhead)가 크다. DRAM 측에 구현할 경우 DRAM 디바이스마다 자체적으로 디바이스 내부 특성들을 고려하여 보다 효율적으로 로우 해머 공격을 방지할 수 있다. 또한 물리 주소와 디바이스 주소간의 매핑을 고려하지 않고, 디바이스 주소만으로 로우 해머 방지 솔루션을 구축할 수 있다. 하지만 메모리가 수동적인 프로세서와 메모리간의 기존의 인터페이스에서는 정해진 타이밍 제약(timing constraint) 때문에 DRAM측의 구현이 제한된다.Solutions to prevent row hammer can be implemented on the memory controller side or DRAM side using the above technologies. When implemented on the memory controller side, it has the advantage of being able to be implemented through a logic process that is faster than the DRAM process and easier in terms of area, and can receive help from the system. However, since one memory controller is generally responsible for multiple DRAM devices, activation counters for all DRAM devices handled by the memory controller are required, resulting in a large area burden. In addition, since different hammer counts and blast radii cannot be applied differently for each DRAM device, conservative characteristic values must be considered for defense, resulting in large area and performance overhead. When implemented on the DRAM side, row hammer attacks can be prevented more efficiently by considering the internal characteristics of each DRAM device. Additionally, a row hammer prevention solution can be built using only the device address, without considering the mapping between the physical address and the device address. However, in the existing interface between the processor and memory where the memory is passive, the implementation on the DRAM side is limited due to timing constraints.

RFMR.F.M.

최근 DDR5, LPDDR5, HBM3에는 RFM(ReFresh Management)이라는 인터페이스가 추가되었다. 이 인터페이스는 메모리 컨트롤러가 각 뱅크들의 정해진 액티베이션 횟수(RAAIMT)에 따라 주기적으로 DRAM에 RFM 명령어를 보내고, DRAM 디바이스에 일정한 타이밍 여분(margin)을 제공한다. DRAM은 RFM 명령어를 받으면 주어진 타이밍에서 자체적으로 로우 해머 방지를 위한 동작들을 수행할 수 있다. 이러한 RFM 인터페이스는 로우 해머 방지에 있어 메모리 컨트롤러와 DRAM간의 협력을 가능하게 하며, 로우 해머 방지 솔루션의 메모리측 구현을 용이하게 한다.Recently, an interface called RFM (ReFresh Management) was added to DDR5, LPDDR5, and HBM3. In this interface, the memory controller periodically sends RFM commands to DRAM according to the set activation number (RAAIMT) of each bank and provides a certain timing margin to the DRAM device. When DRAM receives an RFM command, it can automatically perform operations to prevent row hammer at a given timing. This RFM interface enables cooperation between the memory controller and DRAM in row hammer prevention and facilitates memory-side implementation of row hammer prevention solutions.

[선행기술문헌] 대한민국 등록특허공보 제2385443호 "카운터 기반의 로우 해머 방지를 위한 선택적 로우 해머 리프레쉬 장치 및 그 방법"(2022.04.06.자 등록)[Prior Art Document] Republic of Korea Patent Publication No. 2385443 “Selective row hammer refresh device and method for preventing counter-based row hammer” (registered on April 6, 2022)

상술한 문제점을 해결하기 위해 안출된 본 발명의 효율적으로 DRAM 내부 로우 셔플을 수행하기 위한 메모리 장치는, 로우 셔플을 DRAM 내부에서 구현하여 로우 해머를 방지함과 동시에 메모리 컨트롤러측에서 구현할 때의 단점들에 영향을 받지 않도록 하는 것을 목적으로 한다.The memory device for efficiently performing internal DRAM row shuffling, which was developed to solve the above-described problems, prevents row hammering by implementing row shuffling inside DRAM, and at the same time overcomes the disadvantages of implementing row shuffle on the memory controller side. The purpose is to avoid being influenced by .

또한, 본 발명의 효율적으로 DRAM 내부 로우 셔플을 수행하기 위한 메모리 장치는, 효과적인 DRAM 내부 로우 셔플을 통해 DRAM 로우들의 매핑 정보를 로우 해머 공격자들이 알 수 없게 하여 로우 해머를 방지하는 것을 목적으로 한다.In addition, the memory device for efficiently performing DRAM internal row shuffling of the present invention aims to prevent row hammering by preventing row hammer attackers from knowing the mapping information of DRAM rows through effective DRAM internal row shuffling.

또한, 본 발명의 효율적으로 DRAM 내부 로우 셔플을 수행하기 위한 메모리 장치는, DRAM 내부 로우 셔플 동작을 최적화하고, 호스트 머신의 물리 주소와 DRAM 내부 디바이스 주소 매핑 과정을 가속화하며, 모든 타입의 DRAM에 적용되도록 하는 것을 목적으로 한다.In addition, the memory device for efficiently performing DRAM internal row shuffle of the present invention optimizes the DRAM internal row shuffle operation, accelerates the mapping process between the physical address of the host machine and the DRAM internal device address, and is applicable to all types of DRAM. The purpose is to make it possible.

상기한 바와 같은 목적을 달성하기 위한 본 발명의 효율적으로 DRAM 내부 로우 셔플을 수행하기 위한 메모리 장치는, 메모리 컨트롤러; 및 타겟 서브어레이의 리매핑 로우를, 타겟 서브어레이와 쌍을 이루는 페어 서브어레이에 두는 서브어레이 페어링이 적용된 한 쌍의 서브어레이를 다수 개 포함하고, 상기 리매핑 로우에는 로우들의 물리적 주소와 DRAM 디바이스 주소의 매핑 정보가 저장되어 있는 DRAM 디바이스;를 포함하고, 상기 DRAM 디바이스는, 메모리 컨트롤러로부터 액티베이션(ACT) 명령어를 받으면, 먼저 리매핑 로우를 액티베이트하여 타겟 로우의 매핑 정보를 읽어오고, 이 후, 그 매핑 정보의 디바이스 주소를 활용하여 타겟 로우를 액티베이트하고, 액티베이션(ACT) 명령어가 지속적으로 발생하다가 메모리 컨트롤러로부터 로우 해머 방지 명령어를 받으면, 페어 서브어레이의 리매핑 로우를 탐색하여 액티베이션(ACT)이 많이 발생했다고 판단되는 타겟 공격 로우(target aggressor row)의 DRAM 디바이스 주소를 알아내고, 타겟 서브어레이에서 타겟 공격 로우의 로우 셔플을 수행하고, 로우 셔플이 수행되는 도중 혹은 수행이 완료되면 페어 서브어레이에서 리매핑 로우의 정보를 업데이트하는 것을 특징으로 한다.A memory device for efficiently performing DRAM internal row shuffling according to the present invention to achieve the above-described object includes: a memory controller; and a plurality of pairs of subarrays to which subarray pairing is applied, in which the remapping rows of the target subarray are placed in a pair subarray paired with the target subarray, and the remapping rows include the physical addresses of the rows and the DRAM device address. A DRAM device storing mapping information, wherein when receiving an activation (ACT) command from a memory controller, the DRAM device first activates a remapping row to read the mapping information of the target row, and then reads the mapping information of the target row. The target row is activated using the device address of the information, and activation (ACT) instructions are continuously generated. When a row hammer prevention instruction is received from the memory controller, the remapping row of the pair subarray is searched and many activations (ACT) are generated. Find out the DRAM device address of the target aggressor row that is determined to have occurred, perform row shuffling of the target aggressor row in the target subarray, and remap rows in the pair subarray while row shuffling is being performed or when it is completed. It is characterized by updating the information.

상기 한 쌍의 서브어레이는, 각각 리매핑 로우와 다른 로우들 사이에 위치한 격리 트랜지스터(isolation transistor)를 포함하는 것이 바람직하다.Preferably, each of the pair of sub-arrays includes an isolation transistor located between the remapping row and other rows.

상기 한 쌍의 서브어레이에서, 하나의 서브어레이의 비트라인 센스 엠플리파이어는 다른 서브어레이의 로컬 로우 디코더와 데이터 라인이 서로 연결되어 있어 데이터를 전송할 수 있다.In the pair of sub-arrays, the bit line sense amplifier of one sub-array can transmit data because the local row decoder and the data line of the other sub-array are connected to each other.

상기 리매핑 로우는, 빠른 액티베이트를 위해 비트라인 센스 엠플리파이어에 가장 가깝게 위치하는 것이 바람직하다.The remapping row is preferably located closest to the bitline sense amplifier for fast activation.

상기 로우 셔플은, DRAM 디바이스가, 로우 해머 방지 명령어를 받으면 ACT 카운터의 값이 가장 큰 로우를 타겟 공격 로우로 선정하거나, 이전 로우 해머 방지 명령어 때부터 현재 로우 해머 방지 명령어 때까지 ACT가 발생한 로우들 중 임의로 선택된 로우를 타겟 공격 로우로 선정하고, 랜덤 숫자 생성기를 활용하여 랜덤 로우를 선정한 후, 랜덤 로우로 선정된 로우의 데이터를 빈 로우에 복사하고, 복사가 완료되면 타겟 공격 로우의 데이터를 랜덤 로우에 복사하고, 이 후 바뀐 로우들의 위치에 따라서 해당하는 로우들의 매핑 정보를 갖는 리매핑 로우에 해당 변경된 위치를 업데이트하는 것이 바람직하다.In the row shuffle, when a DRAM device receives a row hammer prevention command, it selects the row with the largest ACT counter value as the target attack row, or rows in which ACT occurred from the previous row hammer prevention command to the current row hammer prevention command. A randomly selected row is selected as the target attack row, a random row is selected using a random number generator, and the data of the row selected as a random row is copied to an empty row. When copying is completed, the data of the target attack row is randomly selected. It is desirable to copy the rows and then update the changed positions in a remapping row that has mapping information for the rows according to the positions of the changed rows.

이상 살펴본 바와 같은 본 발명에 따르면, 로우 셔플을 DRAM 내부에서 구현하여 로우 해머를 방지함과 동시에 메모리 컨트롤러측에서 구현할 때의 단점들에 영향을 받지 않도록 하는, 효율적으로 DRAM 내부 로우 셔플을 수행하기 위한 메모리 장치를 제공할 수 있다.According to the present invention as described above, the row shuffle is implemented inside the DRAM to prevent row hammering, and at the same time, it is not affected by the disadvantages of implementing the row shuffle on the memory controller side. To efficiently perform the row shuffle inside the DRAM. A memory device may be provided.

또한, 본 발명에 따르면, 효과적인 DRAM 내부 로우 셔플을 통해 DRAM 로우들의 매핑 정보를 로우 해머 공격자들이 알 수 없게 하여 로우 해머를 방지하는, 효율적으로 DRAM 내부 로우 셔플을 수행하기 위한 메모리 장치를 제공할 수 있다.In addition, according to the present invention, it is possible to provide a memory device for efficiently performing internal DRAM row shuffling, which prevents row hammering by preventing row hammer attackers from knowing the mapping information of DRAM rows through effective internal DRAM row shuffling. there is.

또한, 본 발명에 따르면, DRAM 내부 로우 셔플 동작을 최적화하고, 호스트 머신의 물리 주소와 DRAM 내부 디바이스 주소 매핑 과정을 가속화하며 모든 타입의 DRAM에 적용되도록 하는, 효율적으로 DRAM 내부 로우 셔플을 수행하기 위한 메모리 장치를 제공할 수 있다.In addition, according to the present invention, a method for efficiently performing intra-DRAM row shuffling optimizes the DRAM internal row shuffle operation, accelerates the mapping process between the physical address of the host machine and the DRAM internal device address, and is applicable to all types of DRAM. A memory device may be provided.

상술한 본 발명의 효과에 대해 보다 구체적으로 설명하자면, 본 발명은 DRAM 내부 로우 셔플 및 리매핑된(remapped) DRAM 로우들로의 접근을 가속화하여 성능 저하를 줄이고 에너지 효율을 높여서 비용을 줄여준다. DRAM 내부 로우 셔플은 기존의 로우 해머 방지 기술들과 달리 DRAM 로우들의 호스트 프로세서로부터의 물리 주소와 DRAM 내부 디바이스 주소간의 매핑을 동적으로 무작위화하여 로우 해머 공격자가 정교한 공격 패턴을 생성하는 것을 방지할 수 있다. 하지만 로우 셔플을 수행할 때마다 약 8KB의 크기에 해당하는 DRAM 로우를 다른 DRAM 로우에 복사하여 셔플하는 것은 많은 시간과 에너지가 소요될 수 있다. 또한 DRAM 로우들의 물리 주소와 DRAM 내부 디바이스 주소간의 매핑이 바뀌기 때문에, DRAM 로우들을 접근할 때마다 추가적인 시간(delay)가 필요하다. 이러한 DRAM 로우 셔플의 오버헤드(overhead)들을 본 발명은 효율적으로 줄여준다.To describe the effects of the present invention described above in more detail, the present invention reduces performance degradation and increases energy efficiency by accelerating DRAM internal row shuffling and access to remapped DRAM rows, thereby reducing costs. Unlike existing row hammer prevention technologies, DRAM internal row shuffle dynamically randomizes the mapping between the physical address of DRAM rows from the host processor and the DRAM internal device address, preventing row hammer attackers from creating sophisticated attack patterns. there is. However, each time row shuffling is performed, copying and shuffling a DRAM row of about 8 KB in size to another DRAM row may take a lot of time and energy. Additionally, because the mapping between the physical addresses of DRAM rows and the DRAM internal device address changes, additional time (delay) is required each time DRAM rows are accessed. The present invention effectively reduces the overhead of DRAM row shuffling.

본 발명은 DRAM 내부에서 로우 해머 방지 기술인 로우 셔플을 수행할 수 있기 때문에 메모리 컨트롤러에 구현한 기존의 로우 해머 방지 기술들의 단점에 영향을 받지 않는다. DRAM 내부에서는 사용하는 DRAM 디바이스의 해머 카운트와 블라스트 반경을 알 수 있기 때문에, 이에 맞춰 최소한의 면적 및 성능 오버헤드로 본 발명을 구현할 수 있다.Since the present invention can perform row shuffle, a row hammer prevention technology, inside DRAM, it is not affected by the shortcomings of existing row hammer prevention technologies implemented in a memory controller. Since the hammer count and blast radius of the DRAM device used can be known inside the DRAM, the present invention can be implemented with minimal area and performance overhead accordingly.

도 1은 DRAM 기반의 메인 메모리 아키텍처를 나타낸 도면Figure 1 is a diagram showing a DRAM-based main memory architecture.

도 2는 본 발명의 서브 어레이 내의 리매핑 로우와 격리 트랜지스터를 나타낸 도면Figure 2 is a diagram showing the remapping row and isolation transistor in the sub-array of the present invention.

도 3은 격리 트랜지스터와 서브어레이 페어링이 적용된 본 발명의 DRAM 내부 구조도Figure 3 is an internal structure diagram of the DRAM of the present invention with isolation transistor and subarray pairing applied.

도 4는 격리 트랜지스터와 서브어레이 페어링을 통해 리매핑 로우의 접근 시간을 줄인 본 발명의 DRAM 내부 구조 상세도Figure 4 is a detailed diagram of the internal structure of the DRAM of the present invention in which the access time of the remapping row is reduced through pairing of an isolation transistor and a subarray.

도 5는 본 발명의 DRAM 내부구조에서 DRAM 내부 로우 셔플 기반의 로우 해머 방지 기술의 동작 플로우 차트Figure 5 is an operation flow chart of the row hammer prevention technology based on DRAM internal row shuffle in the DRAM internal structure of the present invention.

도 6은 본 발명의 로우 해머 방지 명령어 때 동작하는 로우 셔플의 예시도이다.Figure 6 is an example of a row shuffle that operates during the row hammer prevention instruction of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings.

그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms. The present embodiments are merely provided to ensure that the disclosure of the present invention is complete and to be understood by those skilled in the art in the technical field to which the present invention pertains. It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

이하, 본 발명의 실시예에 따른 효율적으로 DRAM 내부 로우 셔플을 수행하기 위한 메모리 장치를 도면들을 참조하여 설명하도록 한다.Hereinafter, a memory device for efficiently performing DRAM internal row shuffle according to an embodiment of the present invention will be described with reference to the drawings.

도 1과 같이 본 발명의 실시예에 따른 효율적으로 DRAM 내부 로우 셔플을 수행하기 위한 메모리 장치(100)는, 메모리 컨트롤러(120) 및 DRAM 디바이스(140)를 포함한다.As shown in FIG. 1 , the memory device 100 for efficiently performing DRAM internal row shuffle according to an embodiment of the present invention includes a memory controller 120 and a DRAM device 140.

도 2는 본 발명의 서브 어레이 내의 리매핑 로우와 격리 트랜지스터를 나타낸 도면이다.Figure 2 is a diagram showing the remapping row and isolation transistor in the sub-array of the present invention.

도 2를 참조하면, 본 발명에서는 DRAM 내부에 리매핑 로우(remapping row)를 두어 로우 셔플로 인해 바뀌는 주소들의 매핑 정보를 저장하고 이를 통해서 빠르게 매핑 정보에 접근할 수 있다. 또한, 격리 트랜지스터(isolation transistor)를 통해 리매핑 로우를 빠르게 접근할 수 있도록 하며, 서브어레이 페어링(subarray pairing)을 활용하여 리매핑 정보를 빠르게 읽어 변경된 DRAM 로우를 액티베이트할 수 있도록 한다. 이를 통해 본 발명에서 제안하는 DRAM 내부 구조는 DRAM 내부에서 로우 셔플을 빠르고 에너지 효율적으로 수행할 수 있다.Referring to FIG. 2, in the present invention, a remapping row is placed inside the DRAM to store mapping information of addresses that change due to row shuffling, through which the mapping information can be quickly accessed. In addition, it allows quick access to remapping rows through an isolation transistor, and uses subarray pairing to quickly read remapping information to activate changed DRAM rows. Through this, the DRAM internal structure proposed in the present invention can perform row shuffling within the DRAM quickly and energy efficiently.

리매핑 로우 (Remapping Row)Remapping Row

리매핑 로우는 DRAM 로우들의 물리적 주소와 DRAM 디바이스 주소의 매핑 정보를 저장한다. DRAM 디바이스가 ACT 명령어를 받으면, 먼저 리매핑 로우를 액티베이트하여 타겟 로우의 매핑 정보를 읽어온다. 이 후, 그 매핑 정보의 디바이스 주소를 활용하여 타겟 로우를 액티베이트할 수 있다. 리매핑 로우는 호스트 프로세서에서 대응되는 물리 주소가 없기 때문에 메모리 컨트롤러에서 접근할 수 없다.The remapping row stores mapping information between the physical addresses of DRAM rows and the DRAM device address. When the DRAM device receives the ACT command, it first activates the remapping row and reads the mapping information of the target row. Afterwards, the target row can be activated using the device address of the mapping information. Remapping rows cannot be accessed from the memory controller because they do not have a corresponding physical address in the host processor.

격리 트랜지스터 (Isolation Transistor)Isolation Transistor

리매핑 로우를 빠르게 액티베이트하기 위해 도 2에서처럼 리매핑 로우를 비트라인 센스 엠플리파이어에 가장 가깝게 위치시키고 리매핑 로우와 다른 로우들 사이에 격리 트랜지스터(isolation transistor)를 둔다. 로우 액티베이션의 지연시간(latency)에서는 커패시턴스(capacitance)가 긴 비트라인(bitline)의 전압(voltage)를 변화시키는 것이 가장 큰 부분을 차지한다. 따라서, 격리 트랜지스터를 이용하면 리매핑 로우와 전하(charge)를 공유(share)하는 비트라인의 길이를 짧게 할 수 있으며, 이를 통해 리매핑 로우를 액티베이트하는 시간을 단축할 수 있다.To quickly activate the remapping row, place the remapping row closest to the bitline sense amplifier as shown in Figure 2 and place an isolation transistor between the remapping row and other rows. The biggest part of the latency of row activation is changing the voltage of a bitline with a long capacitance. Therefore, by using an isolation transistor, the length of the bit line that shares charge with the remapping row can be shortened, and through this, the time to activate the remapping row can be shortened.

서브어레이 페어링 (Subarray Pairing)Subarray Pairing

매번 ACT 명령어때마다 수행되는 리매핑 로우의 탐색을 더 빠르게 하기 위해 본 발명에서는 서브어레이 페어링(subarray pairing)을 활용한다. 서브어레리 페어링은 두 개의 서브어레이씩 쌍으로 묶어 한 서브어레이의 리매핑 로우를 다른 서브어레이에 두는 것이다. 각 서브어레이는 로우 버퍼(row buffer)를 고유하게 가지므로 DRAM 내부의 약간의 변화를 통해 서브어레이마다 독립적으로 로우를 액티베이트하거나 프리차지(precharge)할 수 있다. 이를 통해 기존에는 1) 리매핑 로우 액티베이션, 2) 리매핑 로우 읽기, 3) 리매핑 로우 프리차지, 4) 타겟 로우 액티베이션과 같이 4단계로 이루어진 타겟 로우 액티베이션 과정에서, 서브어레이 페어링을 사용하면 3) 리매핑 로우 프리차지가 4) 타겟 로우 액티베이션과 동시에 수행될 수 있다. 이를 통해 리매핑 로우의 접근 시간을 줄일 수 있다.To speed up the search for remapping rows performed at each ACT command, the present invention utilizes subarray pairing. Subarray pairing involves pairing two subarrays and placing the remapping rows of one subarray in another subarray. Since each subarray has its own row buffer, rows can be independently activated or precharged for each subarray through slight changes inside the DRAM. Through this, in the target row activation process, which previously consisted of four steps: 1) remapping row activation, 2) remapping row read, 3) remapping row precharge, and 4) target row activation, using subarray pairing allows 3) remapping row Precharge can be performed simultaneously with 4) target row activation. Through this, the access time of remapping rows can be reduced.

도 3은 격리 트랜지스터와 서브어레이 페어링이 적용된 본 발명의 DRAM 내부 구조도이다. 도 3을 참조하면, 서브어레이 쌍에서 하나의 서브어레이의 비트라인 센스 엠플리파이어는 다른 서브어레이의 로컬 로우 디코더로의 데이터 라인이 연결되어 있어 데이터를 전송할 수 있다.Figure 3 is a diagram showing the internal structure of a DRAM of the present invention to which an isolation transistor and subarray pairing are applied. Referring to FIG. 3, in a subarray pair, the bitline sense amplifier of one subarray can transmit data because the data line is connected to the local row decoder of the other subarray.

도 4는 격리 트랜지스터와 서브어레이 페어링을 통해 리매핑 로우의 접근 시간을 줄인 본 발명의 DRAM 내부 구조 상세도이다.Figure 4 is a detailed diagram of the internal structure of a DRAM according to the present invention in which the access time of a remapping row is reduced through pairing of an isolation transistor and a subarray.

도 4를 참조하면, 리매핑 로우를 탐색할 때, 뱅크의 컨트롤러가 받은 로우 주소를 기반으로 리매핑 로우에서 해당하는 컬럼 주소를 컬럼 디코더로 입력한다. 리매핑 로우에 있는 매핑 정보는 각 서브어레이에 있는 DEMUX (Demultiplexer)를 통해 쌍을 이루는 서브어레이의 로컬 로우 디코더의 입력으로 들어갈 수 있다. 컨트롤러는 리매핑 로우의 탐색과 로우 복사, 그리고 일반적인 DRAM의 동작들을 관장한다.Referring to FIG. 4, when searching for a remapping row, the bank controller inputs the corresponding column address from the remapping row to the column decoder based on the row address received. The mapping information in the remapping row can be input to the local row decoder of the paired subarray through the DEMUX (Demultiplexer) in each subarray. The controller manages remapping row searches, row copying, and general DRAM operations.

도 5는 본 발명의 DRAM 내부구조에서 DRAM 내부 로우 셔플 기반의 로우 해머 방지 기술의 동작 플로우 차트이다. Figure 5 is an operation flow chart of the row hammer prevention technology based on DRAM internal row shuffle in the DRAM internal structure of the present invention.

메모리 컨트롤러(120)에서 DRAM 디바이스(140)로 보내는 액티베이션(ACT) 명령어가 액티베이트하려는 로우가 존재하는 서브어레이를 타겟 서브어레이, 타겟 서브어레이와 쌍을 이루는 서브어레이를 페어 서브어레이라고 정의한다. The subarray in which the row to be activated by the activation (ACT) command sent from the memory controller 120 to the DRAM device 140 exists is defined as the target subarray, and the subarray paired with the target subarray is defined as a pair subarray.

도 5를 참조하면, 메모리 컨트롤러(120)가 ACT 명령어를 DRAM 디바이스(140)로 보낼 때마다(단계 S110), DRAM 디바이스(140)는 페어 서브어레이에서 리매핑 로우를 탐색하여 받은 타겟 로우 물리 주소에 해당하는 DRAM 디바이스 주소를 알아낸다(단계 S120). 그리고 타겟 서브어레이에서 해당 타겟 로우를 액티베이트한다(단계 S130).Referring to FIG. 5, each time the memory controller 120 sends an ACT command to the DRAM device 140 (step S110), the DRAM device 140 searches for a remapping row in the pair subarray and stores it in the received target row physical address. Find the corresponding DRAM device address (step S120). Then, the corresponding target row is activated in the target subarray (step S130).

ACT가 지속적으로 발생하다가 메모리 컨트롤러(120)에서 로우 해머 방지 동작이 필요하다고 생각하면 로우 해머 방지 명령어를 DRAM 디바이스(140)로 보낸다. 이 로우 해머 방지 명령어는 RFM 명령어 일수도 있고, 로우 해머 방지를 위해 추가된 특수한 명령어일 수도 있다. If ACT continues to occur and the memory controller 120 determines that a row hammer prevention operation is necessary, it sends a row hammer prevention command to the DRAM device 140. This row hammer prevention command may be an RFM command or a special command added to prevent row hammer.

즉, 메모리 컨트롤러(120)가, DRAM 디바이스(140)에 특정 DRAM뱅크가 액티베이트를 수행하게 만드는 액티베이션 명령어(ACT 명령어)를 송신하고, 메모리 컨트롤러에 존재하는 DRAM뱅크 당 발행되는 복수 개의 ACT 카운터 중 상기 특정 DRAM뱅크의 ACT 카운터 값을 1 증가시킨다(단계 S140).That is, the memory controller 120 transmits an activation command (ACT command) that causes a specific DRAM bank to be activated to the DRAM device 140, and selects one of the plurality of ACT counters issued for each DRAM bank present in the memory controller. The ACT counter value of the specific DRAM bank is increased by 1 (step S140).

그 다음, ACT 카운터 값이 DRAM으로부터 기 수신된 리프레쉬 매니지먼트 경계값(RAAIMT)에 도달하게 되면(단계 S150), 메모리 컨트롤러(200)가 해당 DRAM 뱅크에 로우 해머 리프레쉬(RH refresh)를 수행하게 하는 RFM 명령어를 DRAM 디바이스로 보낸다(단계 S160).Next, when the ACT counter value reaches the refresh management threshold (RAAIMT) previously received from DRAM (step S150), RFM causes the memory controller 200 to perform a row hammer refresh (RH refresh) on the corresponding DRAM bank. A command is sent to the DRAM device (step S160).

DRAM 디바이스(140)는 로우 해머 방지 명령어를 받으면 페어 서브어레이의 리매핑 로우를 탐색하여 ACT가 많이 발생했다고 판단되는 타겟 공격 로우(target aggressor row)의 DRAM 디바이스 주소를 알아낸다(단계 S170). 그리고 타겟 서브어레이에서 타겟 공격 로우의 로우 셔플을 수행한다. 타겟 공격 로우는 ACT 수를 세는 테이블 기반으로 선정할 수도 있고, 임의로 선정될 수도 있다(단계 S180). 로우 셔플이 수행되는 도중 혹은 수행이 완료되면 페어 서브어레이에서 리매핑 로우의 정보를 업데이트한다(단계 S190).When receiving the row hammer prevention command, the DRAM device 140 searches the remapping rows of the pair subarray to find the DRAM device address of the target aggressor row where it is determined that many ACTs have occurred (step S170). Then, row shuffling of target attack rows is performed in the target subarray. The target attack row may be selected based on a table counting the number of ACTs, or may be selected randomly (step S180). While row shuffling is being performed or when it is completed, the remapping row information is updated in the pair subarray (step S190).

도 6은, 본 발명의 로우 해머 방지 명령어 때 동작하는 로우 셔플의 예시도이다.Figure 6 is an example diagram of row shuffle that operates during the row hammer prevention instruction of the present invention.

도 6을 참조하면, 이 예시에서는 로우 해머 방지 명령어 때 마다 세 개의 로우들에 대해서 두 개의 로우 복사를 수행한다. 세 개의 로우는 타겟 공격 로우(target aggressor row), 랜덤 로우(random row), 빈 로우(empty row)로 구성된다. 타겟 공격 로우는 ACT가 많이 발생했다고 간주되는 로우이고, 로우 셔플의 주요 타겟이다. 랜덤 로우는 임의로 선택되어 타겟 공격 로우와 셔플되기 때문에, 타겟 공격 로우의 DRAM 매핑에 임의성을 주어 로우 해머 공격자가 타겟 공격 로우를 다시 공격하지 못하도록 한다. 빈 로우는 로우 셔플을 위한 임시 버퍼(temporary buffer)로서 추가로 두는 로우이다. 빈 로우는 물리 주소를 따로 갖지 않기 때문에 메모리 컨트롤러에서 접근할 수 없다.Referring to FIG. 6, in this example, two row copies are performed for three rows each time a row hammer prevention instruction is issued. The three rows consist of a target aggressor row, a random row, and an empty row. Target attack rows are rows that are considered to have a lot of ACT, and are the main target of the row shuffle. Since the random row is randomly selected and shuffled with the target attack row, randomness is given to the DRAM mapping of the target attack row to prevent the row hammer attacker from attacking the target attack row again. An empty row is an additional row that is placed as a temporary buffer for row shuffling. Since empty rows do not have separate physical addresses, they cannot be accessed from the memory controller.

위의 예시에서 로우 해머 방지 명령어 때 로우 셔플은 다음과 같은 순서로 동작한다. 먼저 DRAM 디바이스가 로우 해머 방지 명령어를 받으면 이전 명령어들의 ACT 카운트 기반으로 타겟 공격 로우를 선정한다. 이 때 ACT 카운터의 값이 가장 큰 로우를 선택할 수도 있고, 이전 로우 해머 방지 명령어 때부터 현재 로우 해머 방지 명령어 때까지 ACT가 발생한 로우들 중 하나를 임의로 선택할 수도 있다. 임의로 선택할 경우 랜덤 숫자 생성기(random number generator)를 활용한다. 또한, 랜덤 로우는 랜덤 숫자 생성기를 활용하여 선정한다. 이후에, 랜덤 로우로 선택된 로우의 데이터를 빈 로우에 복사한다. 복사가 완료되면, 이번에는 타겟 공격 로우로 선택된 로우의 데이터를 랜덤 로우에 복사한다. 두 번의 로우 복사가 끝나면, 바뀐 로우들의 위치에 따라서 해당하는 로우들의 매핑 정보를 갖는 리매핑 로우에 해당 변경된 위치를 업데이트 한다.In the example above, when using the row hammer prevention command, row shuffle operates in the following order. First, when the DRAM device receives a row hammer prevention command, it selects a target attack row based on the ACT count of previous commands. At this time, the row with the largest ACT counter value can be selected, or one of the rows in which ACT has occurred from the previous row hammer prevention instruction to the current row hammer prevention instruction can be randomly selected. When selecting randomly, a random number generator is used. Additionally, the random row is selected using a random number generator. Afterwards, the data of the row selected as a random row is copied to an empty row. When copying is complete, the data of the row selected as the target attack row is copied to a random row. After two row copies are completed, the changed positions are updated in the remapping rows with mapping information of the corresponding rows according to the positions of the changed rows.

이에 따라, 본 발명에서는 액티베이션이 많이 발생하는 타겟 공격 로우가 공격자가 알 수 없는 로우와 치환되어 공격자가 더 이상 공격하기 어렵다. 또한 충분한 로우 셔플이 진행되면 로우들간에 얼마나 인접한지를 알 수 없게 되기 때문에 블라스트 공격을 활용한 공격패턴도 활용하기 어려워진다.Accordingly, in the present invention, the target attack row where a lot of activation occurs is replaced with a row that the attacker does not know, making it difficult for the attacker to attack anymore. Additionally, if enough row shuffling occurs, it becomes difficult to use attack patterns using blast attacks because it becomes impossible to know how close the rows are.

앞서 언급했듯이 리매핑 로우의 프리차지 시간이 타겟 로우 액티베이트 타임에 가려지기 때문에 ACT 명령어에 걸리는 시간이 줄어든다. RFM 명령어의 경우 페어 서브어레이에서 리매핑 로우의 탐색과 업데이트를 수행하고, 타겟 서브어레이에서 로우 셔플을 수행한다. 리매핑 로우의 탐색 및 업데이트에 사용되는 시간은 로우 셔플 수행시간에 가려질 수 있다.As mentioned earlier, the time taken for the ACT command is reduced because the precharge time of the remapping row is covered by the target row activation time. In the case of the RFM command, search and update of remapping rows are performed in the pair subarray, and row shuffling is performed in the target subarray. The time used to search and update remapping rows may be obscured by the row shuffle execution time.

본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Those skilled in the art to which the present invention pertains will understand that the present invention can be implemented in other specific forms without changing its technical idea or essential features. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive. The scope of the present invention is indicated by the scope of the claims described below rather than the detailed description above, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts are included in the scope of the present invention. must be interpreted.

[부호의 설명][Explanation of symbols]

100: 본 발명의 메모리 장치 120: 메모리 컨트롤러100: Memory device of the present invention 120: Memory controller

140: DRAM 디바이스 142: 한 쌍의 서브어레이140: DRAM device 142: a pair of subarrays

Claims (5)

메모리 컨트롤러; 및memory controller; and 타겟 서브어레이의 리매핑 로우를, 타겟 서브어레이와 쌍을 이루는 페어 서브어레이에 두는 서브어레이 페어링이 적용된 한 쌍의 서브어레이를 다수 개 포함하고, 상기 리매핑 로우에는 로우들의 물리적 주소와 DRAM 디바이스 주소의 매핑 정보가 저장되어 있는 DRAM 디바이스;를 포함하고,It includes a plurality of pairs of subarrays to which subarray pairing is applied, in which the remapping rows of the target subarray are placed in a pair subarray paired with the target subarray, and the remapping rows include mapping of physical addresses of the rows and DRAM device addresses. Includes a DRAM device in which information is stored, 상기 DRAM 디바이스는,The DRAM device, 메모리 컨트롤러로부터 액티베이션(ACT) 명령어를 받으면, 먼저 리매핑 로우를 액티베이트하여 타겟 로우의 매핑 정보를 읽어오고, 이 후, 그 매핑 정보의 디바이스 주소를 활용하여 타겟 로우를 액티베이트하고,When an activation (ACT) command is received from the memory controller, the remapping row is first activated to read the mapping information of the target row, and then the target row is activated using the device address of the mapping information. 액티베이션(ACT) 명령어가 지속적으로 발생하다가 메모리 컨트롤러로부터 로우 해머 방지 명령어를 받으면, 페어 서브어레이의 리매핑 로우를 탐색하여 액티베이션(ACT)이 많이 발생했다고 판단되는 타겟 공격 로우(target aggressor row)의 DRAM 디바이스 주소를 알아내고, 타겟 서브어레이에서 타겟 공격 로우의 로우 셔플을 수행하고, 로우 셔플이 수행되는 도중 혹은 수행이 완료되면 페어 서브어레이에서 리매핑 로우의 정보를 업데이트하는 것을 특징으로 하는, 효율적으로 DRAM 내부 로우 셔플을 수행하기 위한 메모리 장치.When activation (ACT) commands are continuously issued and a row hammer prevention command is received from the memory controller, the remapping rows of the pair subarray are searched and the DRAM device in the target aggressor row where it is determined that a lot of activation (ACT) has occurred Efficiently inside DRAM, characterized by finding the address, performing row shuffling of the target attack row in the target subarray, and updating information of the remapping row in the pair subarray while row shuffling is performed or when the performance is completed. A memory device for performing row shuffle. 제1항에 있어서, 상기 한 쌍의 서브어레이는,The method of claim 1, wherein the pair of subarrays is: 각각 리매핑 로우와 다른 로우들 사이에 위치한 격리 트랜지스터(isolation transistor)를 포함하는, 효율적으로 DRAM 내부 로우 셔플을 수행하기 위한 메모리 장치.A memory device for efficiently performing internal DRAM row shuffling, including an isolation transistor located between each remapping row and other rows. 제1항에 있어서, 상기 한 쌍의 서브어레이에서,The method of claim 1, wherein in the pair of subarrays, 하나의 서브어레이의 비트라인 센스 엠플리파이어는 다른 서브어레이의 로컬 로우 디코더와 데이터 라인이 서로 연결되어 있어 데이터를 전송할 수 있는 것을 특징으로 하는, 효율적으로 DRAM 내부 로우 셔플을 수행하기 위한 메모리 장치.A memory device for efficiently performing internal DRAM row shuffling, characterized in that the bit line sense amplifier of one sub-array is connected to the local row decoder of another sub-array and the data line to transmit data. 제1항에 있어서, 상기 리매핑 로우는, The method of claim 1, wherein the remapping row is: 빠른 액티베이트를 위해 비트라인 센스 엠플리파이어에 가장 가깝게 위치하는 것을 특징으로 하는, 효율적으로 DRAM 내부 로우 셔플을 수행하기 위한 메모리 장치.A memory device for efficiently performing internal DRAM row shuffle, characterized by being located closest to the bitline sense amplifier for fast activation. 제1항에 있어서, 상기 로우 셔플은,The method of claim 1, wherein the row shuffle is: DRAM 디바이스가, 로우 해머 방지 명령어를 받으면 ACT 카운터의 값이 가장 큰 로우를 타겟 공격 로우로 선정하거나, 이전 로우 해머 방지 명령어 때부터 현재 로우 해머 방지 명령어 때까지 ACT가 발생한 로우들 중 임의로 선택된 로우를 타겟 공격 로우로 선정하고, 랜덤 숫자 생성기를 활용하여 랜덤 로우를 선정한 후, 랜덤 로우로 선정된 로우의 데이터를 빈 로우에 복사하고, 복사가 완료되면 타겟 공격 로우의 데이터를 랜덤 로우에 복사하고, 이 후 바뀐 로우들의 위치에 따라서 해당하는 로우들의 매핑 정보를 갖는 리매핑 로우에 해당 변경된 위치를 업데이트하는 것을 특징으로 하는, 효율적으로 DRAM 내부 로우 셔플을 수행하기 위한 메모리 장치.When the DRAM device receives a row hammer prevention command, it selects the row with the largest ACT counter value as the target attack row, or selects a randomly selected row among the rows in which ACT occurred from the previous row hammer prevention command to the current row hammer prevention command. Select a target attack row, select a random row using a random number generator, copy the data of the row selected as a random row to an empty row, and when copying is complete, copy the data of the target attack row to the random row. A memory device for efficiently performing internal DRAM row shuffling, characterized in that the changed positions are updated in remapping rows having mapping information of the corresponding rows according to the positions of the changed rows.
PCT/KR2023/019242 2022-11-28 2023-11-27 Memory device for efficiently performing dram internal row shuffle Ceased WO2024117713A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0161942 2022-11-28
KR1020220161942A KR102730468B1 (en) 2022-11-28 2022-11-28 Semiconductor Memory Device for Efficient In-DRAM Row-Shuffle

Publications (1)

Publication Number Publication Date
WO2024117713A1 true WO2024117713A1 (en) 2024-06-06

Family

ID=91324499

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/019242 Ceased WO2024117713A1 (en) 2022-11-28 2023-11-27 Memory device for efficiently performing dram internal row shuffle

Country Status (2)

Country Link
KR (1) KR102730468B1 (en)
WO (1) WO2024117713A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180121658A (en) * 2016-03-31 2018-11-07 마이크론 테크놀로지, 인크. Semiconductor device
KR20190033387A (en) * 2017-09-21 2019-03-29 에스케이하이닉스 주식회사 Memory system and operating method thereof
US20190362774A1 (en) * 2017-08-02 2019-11-28 Zentel Japan Corporation Semiconductor memory device for preventing occurance of row hammer issue
KR20220083567A (en) * 2020-12-11 2022-06-20 에스케이하이닉스 주식회사 Semiconducotr memory apparatus, memory module and memory system including the memory module
KR20220111444A (en) * 2021-02-02 2022-08-09 삼성전자주식회사 Memory device and operating method thereof

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102385443B1 (en) 2020-12-21 2022-04-12 서울대학교 산학협력단 Selective Refresh Apparatus for Counter-based Row Hammer Prevention Schemes and the Method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180121658A (en) * 2016-03-31 2018-11-07 마이크론 테크놀로지, 인크. Semiconductor device
US20190362774A1 (en) * 2017-08-02 2019-11-28 Zentel Japan Corporation Semiconductor memory device for preventing occurance of row hammer issue
KR20190033387A (en) * 2017-09-21 2019-03-29 에스케이하이닉스 주식회사 Memory system and operating method thereof
KR20220083567A (en) * 2020-12-11 2022-06-20 에스케이하이닉스 주식회사 Semiconducotr memory apparatus, memory module and memory system including the memory module
KR20220111444A (en) * 2021-02-02 2022-08-09 삼성전자주식회사 Memory device and operating method thereof

Also Published As

Publication number Publication date
KR20240079041A (en) 2024-06-04
KR102730468B1 (en) 2024-11-13

Similar Documents

Publication Publication Date Title
US6877067B2 (en) Shared cache memory replacement control method and apparatus
US11281585B2 (en) Forward caching memory systems and methods
KR920013444A (en) High-capacity memory and high-speed memory semiconductor memory device
US6026476A (en) Fast fully associative translation lookaside buffer
US11749333B2 (en) Memory system
JPS6133219B2 (en)
EP0032956A1 (en) Data processing system utilizing hierarchical memory
US11281589B2 (en) Asynchronous forward caching memory systems and methods
US5712998A (en) Fast fully associative translation lookaside buffer with the ability to store and manage information pertaining to at least two different page sizes
US7516264B2 (en) Programmable bank/timer address folding in memory devices
US20240257895A1 (en) Memory system and operation method of memory system
US20080177943A1 (en) Method and system for using dynamic random access memory as cache memory
US6282604B1 (en) Memory controller and method for meory devices with mutliple banks of memory cells
WO2024117713A1 (en) Memory device for efficiently performing dram internal row shuffle
US12094515B2 (en) Dynamic random access memory (DRAM) row hammering mitigation
KR20060036510A (en) Memory device refreshing using a buffer and a method thereof
US4608671A (en) Buffer storage including a swapping circuit
JP2018128991A (en) Memory controller and method
EP4138078A1 (en) A method for protecting a dram module against rowhammer attacks, and a dram module
US9817767B2 (en) Semiconductor apparatus and operating method thereof
KR102741611B1 (en) Row Hammer Mitigation Method with In-DRAM Row-Shuffle
CN109491926B (en) Memory management method for optimizing write life of nonvolatile memory based on prolonging write time
KR100482380B1 (en) SRAM compatable memory having memory banks capable of indepedently writing access and Operating Method thereof
US11797440B2 (en) Method and NMP DIMM for managing address map
US11995005B2 (en) SEDRAM-based stacked cache system and device and controlling method therefor

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23898239

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 23898239

Country of ref document: EP

Kind code of ref document: A1