CN114627926A - 存储系统 - Google Patents
存储系统 Download PDFInfo
- Publication number
- CN114627926A CN114627926A CN202111482681.6A CN202111482681A CN114627926A CN 114627926 A CN114627926 A CN 114627926A CN 202111482681 A CN202111482681 A CN 202111482681A CN 114627926 A CN114627926 A CN 114627926A
- Authority
- CN
- China
- Prior art keywords
- memory
- row
- secure
- storage area
- normal
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40622—Partial refresh of memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4078—Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1064—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1433—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40607—Refresh operations in memory devices with an internal cache or data buffer
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40615—Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/311—In host system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及一种存储系统。所述存储系统,包括:正常存储区域,该正常存储区域适于储存正常数据;安全存储区域,该安全存储区域适于储存安全数据;第一行锤击检测电路,该第一行锤击检测电路适于对正常存储区域中被激活的部分行进行采样并且计数以选择第一需要被刷新的行;以及第二行锤击检测电路,该第二行锤击检测电路适于对安全存储区域中被激活的所有行进行计数以选择第二需要被刷新的行。
Description
相关申请的交叉引用
本申请要求2020年12月10日提交的申请号为63/123,703的美国临时专利申请的优先权、以及2021年11月11日提交的申请号为10-2021-0154680的韩国专利申请的优先权,其全部内容通过引用合并于此。
技术领域
本发明的各种实施例涉及一种存储系统。
背景技术
随着存储器集成度的增大,在存储器中包括的多个字线之间的间距减小。随着字线之间的间距减小,邻近字线之间的耦合效应增大。
此外,每当数据被输入到存储单元或从存储单元输出时,字线在激活状态与非激活状态之间切换。随着邻近字线之间的耦合效应增大,储存在耦接到与被频繁激活的字线相邻设置的字线的存储单元中的数据可能被损坏(即,丢失)。这种现象被称为“字线干扰”或“行锤击(row hammering)”。所要关注的问题是,存储单元的数据可能在存储单元被刷新之前由于行锤击而被损坏。
图1是用于描述行锤击的示意图。
在图1中,“WLL”表示被激活次数过多(即,过度)的字线,并且“WLL-1”和“WLL+1”表示与字线“WLL”相邻设置的字线。此外,“CL”表示耦接到被过度激活的字线“WLL”的存储单元,并且“CL-1”和“CL+1”分别表示耦接到相邻的字线“WLL-1”和“WLL+1”的存储单元。每个存储单元包括单元晶体管TL、TL-1或TL+1和单元电容器CAPL、CAPL-1或CAPL+1。此外,“BL0”和“BL1”表示位线。
当字线“WLL”被激活或去激活时,相邻的字线“WLL-1”和“WLL+1”的电压电平可能由于被过度激活的字线“WLL”与相邻的字线“WLL-1”和“WLL+1”之间发生的耦合效应而增大或减小,从而影响储存在单元电容器CL-1和CL+1中的电荷量。因此,字线“WLL”在激活状态与非激活状态之间切换得越多,储存在相邻的存储单元“CL-1”和“CL+1”的单元电容器CAPL-1和CAPL+1中的电荷量的变化就越大,这导致储存在存储单元中的数据劣化。
此外,当字线在激活状态与非激活状态之间切换时生成的电磁波可能通过将电子充电到与邻近字线耦接的存储单元的单元电容器中或从与邻近字线耦接的存储单元的单元电容器对电子进行放电来破坏数据。
为了解决行锤击问题,主要使用检测已经被激活多次的行(即,字线)并且对被激活多次的行的邻近行进行刷新的方法。
发明内容
本发明的实施例涉及提高保护存储系统免受行锤击攻击的能力。
根据本发明的一个实施例,一种存储系统包括:正常存储区域,该正常存储区域适于储存正常数据;安全存储区域,该安全存储区域适于储存安全数据;第一行锤击检测电路,该第一行锤击检测电路适于对正常存储区域中被激活的部分行进行采样,并且对所采样的行的激活次数进行计数以在所采样的行之中选择第一待刷新的行;以及第二行锤击检测电路,该第二行锤击检测电路适于对安全存储区域中的所有行的激活次数进行计数以选择第二待刷新的行。
根据本发明的另一实施例,一种存储系统包括:存储器,该存储器包括适于储存正常数据的正常区域和适于储存安全数据的安全区域;以及主机,该主机包括:错误校正码储存区域,该错误校正码储存区域适于储存与安全数据相对应的错误校正码;以及错误校正电路,该错误校正电路适于基于储存在错误校正码储存区域中的错误校正码对从安全区域读取的数据的错误进行校正。
根据本发明的又一实施例,一种存储系统包括:正常存储区域,该正常存储区域适于储存正常数据;安全存储区域,该安全存储区域适于储存安全数据;以及处理器,该处理器包括高速缓冲存储器,其中,仅允许处理器经由高速缓冲存储器访问安全存储区域。
根据本发明的又一实施例,一种存储系统包括:正常存储区域,该正常存储区域适于储存正常数据;安全存储区域,该安全存储区域适于储存安全数据;第一行锤击检测电路,该第一行锤击检测电路适于对正常存储区域中被激活的部分行进行采样,并且对所采样的行的激活次数进行计数以选择第一待刷新的行;以及第二行锤击检测电路,该第二行锤击检测电路适于对安全存储区域中的所有行的激活次数进行计数以选择第二待刷新的行;高速缓冲存储器,该高速缓冲存储器适于储存与安全数据相对应的错误校正码;以及错误校正电路,该错误校正电路适于基于储存在高速缓冲存储器中的错误校正码对从安全区域读取的数据的错误进行校正。
根据本发明的又一实施例,一种存储系统包括:存储器,该存储器包括:正常区域,该正常区域适于储存正常数据;安全区域,该安全区域适于储存安全数据;以及第一行锤击检测电路,该第一行锤击检测电路适于以随机行计数的方式对正常区域中的行的激活次数进行计数以检测待刷新的行;和处理器,该处理器包括:第二行锤击检测电路,该第二行锤击检测电路适于以全行计数的方式对安全区域中的行的激活次数进行计数以检测待刷新的行。
附图说明
图1是用于描述行锤击的示意图。
图2是示出根据本发明的一个实施例的存储系统的框图。
图3是示出根据本发明的一个实施例的图2中所示的存储器的详细框图。
图4是示出根据本发明的一个实施例的图2中所示的存储器控制器的详细框图。
图5是示出根据本发明的一个实施例的图2中所示的储存在末级(last-level)高速缓冲存储器中的计数结果的示例的表。
具体实施方式
下面将参考附图更详细地描述本发明的各种实施例。然而,本发明可以以不同的形式实施并且不应被解释为限于本文中所阐述的实施例。相反,提供这些实施例是为了使本公开彻底和完整,并且将本发明的范围充分传达给本领域技术人员。贯穿本公开,在本发明的各个附图和实施例中,相同的附图标记指代相同的部件。
图2是示出根据本发明的一个实施例的存储系统200的框图。
参考图2,存储系统200可以包括处理器210和存储器250。
处理器210可以包括处理器核211、高速缓存控制器213、不同级别的高速缓冲存储器215、217和219以及存储器控制器221。处理器210中包括的部件可以通过存储器总线223进行通信。处理器210可以是处理数据或信号的实体。处理器210的示例可以包括微处理器、中央处理单元(CPU)、图形处理单元(GPU)、应用程序处理器(AP)、数字信号处理器(DSP)等。
处理器核211可以包括处理计算系统的指令的电路。处理器核211可以是单核或多核。处理器核211可以使用不同级别的高速缓冲存储器215、217和219来访问储存在存储器250中的数据。
高速缓冲存储器215、217和219可以被划分成若干级。高速缓冲存储器级别越低,运行速度可能越快,但高速缓冲存储器的容量可能会变小。高速缓存控制器213可以管理高速缓冲存储器215、217和219并且判断是从高速缓冲存储器215、217和219之中的一个高速缓冲存储器还是从存储器250获取用于处理器核211的数据。处理器核211可以优先从高速缓冲存储器215、217和219中获取所需的数据。当所需的数据没有被高速缓存在高速缓冲存储器215、217和219中时,处理器核211可以经由存储器控制器221从存储器250中获取所需的数据。
存储器控制器221可以控制存储器250的操作。处理器210可以经由存储器控制器221访问存储器250。即,处理器210可以经由存储器控制器221将数据写入存储器250并且读取储存在存储器250中的数据。存储器控制器221可以将命令/地址CA发送到存储器250以控制存储器250的操作并且可以向存储器250发送数据DATA以及从存储器250接收数据DATA。
这里,尽管本文中示出存储器控制器221被包括在处理器210中,但是对于本领域技术人员来说显而易见的是,存储器控制器221可以存在于处理器210之外。存储系统200中包括存储器控制器221的设备通常被称为主机。因此,在图2中,处理器210可以是主机。
存储器250可以执行由存储器控制器221指示的操作。存储器250可以是诸如动态随机存取存储器(DRAM)、静态RAM(SRAM)、相变RAM(PCRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)等的随机存取存储器之中的一种。它也可能是另一种需要刷新操作的存储器。例如,其中数据可能由于行锤击而丢失的存储器可以是存储器250。
图3是示出根据本发明的一个实施例的图2中所示的存储器250的详细框图。
参考图3,存储器250可以包括控制电路310、第一行锤击检测电路320和单元阵列330。
控制电路310可以控制存储器250的整体操作。控制电路310可以控制存储器250的内部组成元件,使得存储器可以执行由命令/地址CA指示的操作,例如,激活操作、预充电操作、读取操作、写入操作和刷新操作。
单元阵列330可以包括布置为多个行和多个列的多个存储单元。单元阵列330可以包括正常区域331和安全区域333。正常区域331可以是用于储存一般数据的存储单元区域(即,储存区域或存储器区域),并且安全区域333可以是用于储存安全重要数据的存储单元区域。由于正常区域331和安全区域333用于区分对其应用的不同策略,因此正常区域331和安全区域333可以通过地址来区分。例如,当单元阵列的行数为N+1时,正常区域331的范围可以从第0行至第K行,而安全区域333的范围可以从第K+1行至第N行。由于安全区域333可以仅储存一部分安全重要数据,因此安全区域333的大小可以远小于正常区域331的大小。例如,正常区域331的大小可以是安全区域333的大小的数十至数千倍。
第一行锤击检测电路320可以通过对单元阵列330中被激活的部分行进行采样以对所采样的行的激活次数进行计数来选择待刷新的行。具体地,单元阵列330中可能存在被激活的无数行,并且第一行锤击检测电路320可以通过对单元阵列330中被激活的众多行中的一些行进行随机采样以对所采样的行的激活次数进行计数来检测被过度激活的行。进一步地,被过度激活的行的邻近行(即,可能由于行锤击而丢失数据的行)可以被归类为待刷新的行。
第一行锤击检测电路320不是对单元阵列330中被激活的所有行的激活次数进行计数,而是仅对一些所采样的行的激活次数进行计数。这是因为第一行锤击检测电路320难以对单元阵列330中所有被激活的行的激活次数进行计数,并且在面积和电流消耗方面实施这样的电路过于累赘。被第一行锤击检测电路320归类为需要被刷新的行可以在正常刷新操作期间被优先地或附加地刷新,或者可以在施加命令(例如,刷新管理命令)时被刷新。
存储器控制器221可以将单元阵列330中的安全区域333中由于行锤击而可能丢失数据的行归类为待刷新的行。因此,第一行锤击检测电路320可以将安全区域333排除在管理对象之外,并且通过仅对正常区域231中的被激活的行的一部分进行采样以对所采样的行的激活次数进行计数来选择待刷新的行。
图4是示出根据本发明的一个实施例的图2中所示的存储器控制器221的详细框图。
参考图4,存储器控制器221可以包括主机接口401、调度器(scheduler)403、命令生成器405、第二行锤击检测电路407、错误校正电路(ECC)409和存储器接口411。
主机接口401可以用于存储器控制器221与处理器210的其他组成元件之间的接口。存储器控制器221可以通过主机接口401耦接到存储器总线223。
调度器403可以调度存储器250的操作。调度器403可以确定待被指示到存储器250的请求的顺序,这些请求通过存储器总线223发送。为了提高性能,当与请求相对应的操作被指示到存储器250时,调度器403可以改变通过存储器总线223接收的请求的顺序。例如,即使通过存储器总线223首先请求存储器250的读取操作然后请求写入操作,操作的顺序也可以被改变为在读取操作之前执行存储器250的写入操作。
命令生成器405可以根据由调度器403确定的操作的顺序来生成待施加到存储器250的命令。
存储器接口411可以用于存储器控制器221与存储器250之间的接口。命令/地址CA可以通过存储器接口411从存储器控制器221被发送到存储器250,并且数据DATA可以被发送/接收。存储器接口411也可以被称为物理层(PHY)接口。
第二行锤击检测电路407可以通过对存储器250的安全区域333中所有被激活的行的激活次数进行计数来选择需要被刷新的行。第二行锤击检测电路407能够通过对安全区域中所有被激活的行的激活次数进行计数来检测被过度激活的行。进一步地,被过度激活的行的邻近行(即,可能由于行锤击而丢失数据的行)也可以被归类为需要被刷新的行。由于存储器250的激活操作是根据存储器控制器221的命令来执行,因此存储器控制器221的第二行锤击检测电路407能够检测存储器250的安全区域333中的哪一行被激活。对于被第二行锤击检测电路407归类为待刷新的行,存储器控制器221可以命令存储器250执行也可以防止数据丢失的激活操作或刷新操作。因此,可以防止与待刷新的行相对应的数据丢失。
由于第二行锤击检测电路407以全行计数的方式对安全区域333的所有行的激活次数进行计数,因此在操作上可能会有很大的负担,但是由于安全区域333的大小相当小,因此这种操作是可能的。第二行锤击检测电路407需要用于计数的储存电路,并且处理器210的高速缓冲存储器215、217和219之中的一个高速缓冲存储器可以用作用于储存计数结果的储存电路。由于高速缓冲存储器215、217和219之中的末级高速缓冲存储器219具有最大的容量,因此可以期望第二行锤击检测电路407使用高速缓冲存储器219作为储存电路。进一步地,可以在第二行锤击检测电路407中设置用于储存计数结果的储存电路。图5图示了储存在末级高速缓冲存储器219中的计数结果的示例。参考图5,可以看出,针对安全区域333的每一行,对激活次数进行计数。末级高速缓冲存储器219可以具有最低级。
错误校正电路409可以是用于对安全区域333进行错误校正的电路。错误校正电路409可以在安全区域333的写入操作期间生成用于校正写入数据中的错误的错误校正码,并且将错误校正码储存在高速缓冲存储器215、217和219之中的一个高速缓冲存储器(即,错误校正码储存区域)中。可以期望将错误校正码储存在高速缓冲存储器215、217和219之中的末级高速缓冲存储器219中。在安全区域333的读取操作期间,错误校正电路409可以基于储存在高速缓冲存储器219中的错误校正码来对从安全区域333读取的数据的错误进行校正。即,在写入操作期间,错误校正电路409可以将用于对储存在安全区域333中的数据的错误进行校正的错误校正码储存在高速缓冲存储器219中,并且在读取操作期间,错误校正电路409可以基于储存在高速缓冲存储器219中的错误校正码来对从安全区域333读取的数据中的错误进行校正。
存储系统200可以通过以下三个方面对正常区域331和安全区域333进行区分来保护储存在安全区域333中的安全数据。
1.被激活的行的计数
在正常区域331中被激活的行的激活次数可以由第一行锤击检测电路320以随机行计数的方式进行计数。由于并非所有被激活的行都被计数,而仅是一些行被随机选择和计数,因此这种计数方法往往不太可靠。在正常区域331中,选择来自行锤击的攻击的行的方法的可靠性可能不是100%。
另一方面,在安全区域333中被激活的行的激活次数可以由第二行锤击检测电路407以全行计数的方式进行计数。由于在安全区域333中被激活的所有行都被计数,因此可以几乎100%的置信度选择被行锤击攻击的行。因此,储存在安全区域333中的数据可以比储存在正常区域331中的数据受到更多的保护。
2.错误校正方法
错误校正电路409可以仅对储存在安全区域333中的数据执行错误校正操作。因此,储存在安全区域333中的数据可以比储存在正常区域331中的数据受到更多的保护。尽管存储系统200中除了错误校正电路409之外还可以设置额外的错误校正电路,但是该错误校正电路可以保护储存在安全区域333中的数据和储存在正常区域331中的数据。因此,储存在安全区域333中的数据比储存在正常区域331中的数据受到更多保护的事实没有改变。
3.访问方法
存储器250通常可以经由高速缓冲存储器215、217和219来访问。即,处理器核211不直接访问存储器250来获取数据,而是从存储器250向高速缓冲存储器215、217和219发送数据。处理器核211可以访问高速缓冲存储器215、217和219以获得数据。例外地,当处理器核211由于高速缓存转储清除(cache flush)或其他情况需要直接访问存储器250时,处理器核211可以直接访问存储器250。
经由这些高速缓冲存储器215、217和219对存储器250的直接访问和对存储器250的间接访问可以由高速缓存控制器213控制,该高速缓存控制器允许处理器核211直接访问存储器250的正常区域331,但禁止处理器核211直接访问存储器250的安全区域333。
如果允许处理器核211直接访问存储器250,则存储器250很容易被黑客攻击。然而,由于高速缓存控制器213禁止处理器核211直接访问存储器250的安全区域333,因此安全区域333几乎不会受到攻击。简而言之,可以保护存储在安全区域333中的数据。
根据本发明的实施例,可以改善保护存储系统免受行锤击攻击的能力。
本发明的实施例期望获得的效果不限于上述效果,并且本发明所属领域的普通技术人员从描述也可以清楚地理解上述未提及的其他效果。
虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员来说显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。此外,这些实施例可以被组合以形成附加的实施例。
Claims (20)
1.一种存储系统,包括:
正常存储区域,所述正常存储区域适于储存正常数据;
安全存储区域,所述安全存储区域适于储存安全数据;
第一行锤击检测电路,所述第一行锤击检测电路适于对所述正常存储区域中被激活的部分行进行采样,并且对所采样的行的激活次数进行计数,以在所采样的行之中选择第一待刷新的行;以及
第二行锤击检测电路,所述第二行锤击检测电路适于对所述安全存储区域中的所有行的激活次数进行计数以选择第二待刷新的行。
2.如权利要求1所述的存储系统,进一步包括:
不同级别的高速缓冲存储器,
其中,所述第二行锤击检测电路将与所述安全存储区域中被激活的行相对应的计数结果储存在所述不同级别的高速缓冲存储器之中的一个高速缓冲存储器中。
3.如权利要求2所述的存储系统,进一步包括:
由所述第二行锤击检测电路使用的所述一个高速缓冲存储器是所述不同级别的高速缓冲存储器之中的末级高速缓冲存储器。
4.如权利要求2所述的存储系统,其中,所述正常存储区域、所述安全存储区域和所述第一行锤击检测电路被包括在存储器中,以及
所述第二行锤击检测电路被包括在适于控制所述存储器的存储器控制器中。
5.如权利要求4所述的存储系统,其中,所述不同级别的高速缓冲存储器被包括在包括所述存储器控制器的处理器中。
6.一种存储系统,包括:
存储器,所述存储器包括适于储存正常数据的正常区域和适于储存安全数据的安全区域;以及
主机,所述主机包括:
错误校正码储存区域,所述错误校正码储存区域适于储存与所述安全数据相对应的错误校正码;以及
错误校正电路,所述错误校正电路适于基于储存在所述错误校正码储存区域中的所述错误校正码对从所述安全区域读取的数据的错误进行校正。
7.如权利要求6所述的存储系统,其中,所述主机包括处理器,
其中,所述处理器包括不同级别的高速缓冲存储器,以及
其中,所述错误校正码储存区域被包括在所述不同级别的高速缓冲存储器之中的一个高速缓冲存储器中。
8.如权利要求7所述的存储系统,其中,所述处理器包括存储器控制器,并且所述存储器控制器包括所述错误校正电路。
9.如权利要求7所述的存储系统,其中,所述错误校正码储存区域被包括在所述不同级别的高速缓冲存储器之中的末级高速缓冲存储器中。
10.一种存储系统,包括:
正常存储区域,所述正常存储区域适于储存正常数据;
安全存储区域,所述安全存储区域适于储存安全数据;以及
处理器,所述处理器包括高速缓冲存储器,
其中,允许所述处理器仅经由所述高速缓冲存储器访问所述安全存储区域。
11.如权利要求10所述的存储系统,其中,所述正常存储区域和所述安全存储区域被包括在存储器中。
12.如权利要求10所述的存储系统,其中,允许所述处理器直接访问所述正常存储区域。
13.一种存储系统,包括:
正常存储区域,所述正常存储区域适于储存正常数据;
安全存储区域,所述安全存储区域适于储存安全数据;
第一行锤击检测电路,所述第一行锤击检测电路适于对所述正常存储区域中被激活的部分行进行采样,并且对所采样的行的激活次数进行计数以选择第一待刷新的行;以及
第二行锤击检测电路,所述第二行锤击检测电路适于对所述安全存储区域中的所有行的激活次数进行计数以选择第二待刷新的行;
高速缓冲存储器,所述高速缓冲存储器适于储存与所述安全数据相对应的错误校正码;以及
错误校正电路,所述错误校正电路适于基于储存在所述高速缓冲存储器中的所述错误校正码对从所述安全区域读取的数据的错误进行校正。
14.如权利要求13所述的存储系统,其中,所述正常存储区域、所述安全存储区域和所述第一行锤击检测电路被包括在存储器中,
其中,所述高速缓冲存储器被包括在处理器中,以及
其中,所述处理器包括存储器控制器,并且所述第二行锤击检测电路被包括在所述存储器控制器中。
15.如权利要求14所述的存储系统,其中,允许所述处理器仅经由所述高速缓冲存储器访问所述安全存储区域。
16.如权利要求14所述的存储系统,其中,所述第二行锤击检测电路将与所述安全存储区域中被激活的行相对应的计数结果储存在所述高速缓冲存储器中。
17.如权利要求14所述的存储系统,其中,所述处理器进一步包括处理器核,所述处理器核适于处理指令以及经由所述高速缓冲存储器访问所述存储器。
18.如权利要求17所述的存储系统,其中,所述存储器控制器进一步包括:
主机接口,所述主机接口适于与主机通信;
调度器,所述调度器适于对所述存储器的操作进行调度;
命令生成器,所述命令生成器适于生成待施加到所述存储器的命令;以及
存储器接口,所述存储器接口适于与所述存储器通信。
19.一种存储系统,包括:
存储器,所述存储器包括:
正常区域,所述正常区域适于储存正常数据;
安全区域,所述安全区域适于储存安全数据;以及
第一行锤击检测电路,所述第一行锤击检测电路适于以随机行计数的方式对所述正常区域中的行的激活次数进行计数以检测待刷新的行;和
处理器,所述处理器包括:
第二行锤击检测电路,所述第二行锤击检测电路适于以全行计数的方式对所述安全区域中的行的激活次数进行计数以检测待刷新的行。
20.如权利要求19所述的存储系统,其中,所述处理器进一步包括:
不同级别的高速缓冲存储器,以及
其中,所述第二行锤击检测电路将与所述安全区域中被激活的行相对应的计数结果储存在所述不同级别的高速缓冲存储器之中的末级高速缓冲存储器中。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063123703P | 2020-12-10 | 2020-12-10 | |
US63/123,703 | 2020-12-10 | ||
KR10-2021-0154680 | 2021-11-11 | ||
KR1020210154680A KR20220082730A (ko) | 2020-12-10 | 2021-11-11 | 메모리 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114627926A true CN114627926A (zh) | 2022-06-14 |
Family
ID=81898743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111482681.6A Pending CN114627926A (zh) | 2020-12-10 | 2021-12-07 | 存储系统 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11749333B2 (zh) |
CN (1) | CN114627926A (zh) |
TW (1) | TW202226239A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116165522A (zh) * | 2023-04-26 | 2023-05-26 | 长鑫存储技术有限公司 | 行锤保护电路的性能验证方法及系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220091755A (ko) * | 2020-12-24 | 2022-07-01 | 삼성전자주식회사 | 반도체 메모리 장치 및 이를 구비하는 메모리 시스템 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9449671B2 (en) * | 2013-03-15 | 2016-09-20 | Intel Corporation | Techniques for probabilistic dynamic random access memory row repair |
KR102468728B1 (ko) * | 2016-08-23 | 2022-11-21 | 에스케이하이닉스 주식회사 | 리프레쉬 제어 회로, 반도체 메모리 장치 및 그의 동작 방법 |
FR3066842B1 (fr) * | 2017-05-24 | 2019-11-08 | Upmem | Logique de correction de row hammer pour dram avec processeur integre |
KR20190033387A (ko) | 2017-09-21 | 2019-03-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작 방법 |
CN112106138B (zh) | 2018-05-24 | 2024-02-27 | 美光科技公司 | 用于行锤击刷新采样的纯时间自适应采样的设备和方法 |
US11043254B2 (en) * | 2019-03-19 | 2021-06-22 | Micron Technology, Inc. | Semiconductor device having cam that stores address signals |
US20210264999A1 (en) * | 2021-05-03 | 2021-08-26 | Intel Corporation | Method and apparatus for memory chip row hammer threat backpressure signal and host side response |
-
2021
- 2021-11-19 US US17/531,424 patent/US11749333B2/en active Active
- 2021-12-07 CN CN202111482681.6A patent/CN114627926A/zh active Pending
- 2021-12-09 TW TW110145995A patent/TW202226239A/zh unknown
-
2023
- 2023-07-25 US US18/358,587 patent/US20230402086A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116165522A (zh) * | 2023-04-26 | 2023-05-26 | 长鑫存储技术有限公司 | 行锤保护电路的性能验证方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20220189538A1 (en) | 2022-06-16 |
US11749333B2 (en) | 2023-09-05 |
US20230402086A1 (en) | 2023-12-14 |
TW202226239A (zh) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101976452B1 (ko) | 반도체 장치 | |
US9129672B2 (en) | Semiconductor device and operating method thereof | |
US11049544B2 (en) | Row hammer correction logic for dram with integrated processor | |
US20230402086A1 (en) | Memory system | |
US10108365B1 (en) | Bitflip security attack protection | |
KR101881366B1 (ko) | 반도체 장치 및 그 동작 방법 | |
CN114121126A (zh) | 用于基于自刷新命令复位行锤击检测器电路的设备、系统及方法 | |
US20240257895A1 (en) | Memory system and operation method of memory system | |
WO2013162594A1 (en) | Shielding a memory device | |
CN114974336A (zh) | 存储器设备及其操作方法 | |
CN117809718A (zh) | 存储器设备、具有存储器设备的存储器系统及其操作方法 | |
US20230162776A1 (en) | Memory | |
US12014764B2 (en) | Memory device including row hammer preventing circuitry and an operating method of the memory device | |
US12026392B2 (en) | Memory, memory system and operation method of memory system | |
KR20240068641A (ko) | 시너지 접근법을 통해 메모리 디바이스를 보호하는 방법 및 장치 | |
KR20130136341A (ko) | 반도체 장치 및 그 동작 방법 | |
KR20220082730A (ko) | 메모리 시스템 | |
US20240038288A1 (en) | Memory device refresh operations | |
US20230420027A1 (en) | Memory device and refresh method thereof | |
US20230064594A1 (en) | Memory, memory system, operation method of memory and operation method of memory system | |
US20240185904A1 (en) | Memory device and operating method thereof | |
KR20240093263A (ko) | Dram 내부 로우 셔플 기반의 로우 해머 방지 방법 | |
KR20220090409A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN117121106A (zh) | 设置有按照使得最小化存储器块大小以允许管理行锤击效应的方式布置的dram存储器电路的存储器设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |