CN114121124A - 用于更新存储器中的散列键的设备、系统和方法 - Google Patents
用于更新存储器中的散列键的设备、系统和方法 Download PDFInfo
- Publication number
- CN114121124A CN114121124A CN202110646377.4A CN202110646377A CN114121124A CN 114121124 A CN114121124 A CN 114121124A CN 202110646377 A CN202110646377 A CN 202110646377A CN 114121124 A CN114121124 A CN 114121124A
- Authority
- CN
- China
- Prior art keywords
- value
- hash
- seed
- keys
- memory
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
- G06F7/584—Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
-
- 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/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/20—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits using counters or linear-feedback shift registers [LFSR]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/1068—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 sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- 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/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/26—Accessing multiple arrays
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开涉及用于更新存储器中的散列键的设备、系统和方法。存储器装置可包含一或多个散列电路,其中的每一者可基于例如行地址等输入和一组散列键来产生散列值。为增大所述存储器中的操作不可预测性,所述散列键可响应于一或多个触发事件而改变。实例触发事件可包含加电/复位操作、发布到所述存储器的命令或所述存储器的内部逻辑(例如,定时器)。响应于这些触发事件中的一或多者,可再生所述散列键。举例来说,新种子值可产生且由随机数发生器用以产生新的一组散列键。
Description
技术领域
本公开大体上涉及半导体装置,例如半导体存储器装置。
背景技术
所述半导体存储器装置可包含用于存储信息的数个存储器单元。所存储信息可经编码为二进制数据,且每个存储器单元可存储所述信息的单个位。
存储器装置可用于存储敏感的各种信息片段。恶意行动者可能尝试以某种方式操作存储器,所述方式允许恶意行动者违禁存取一或多条敏感数据和/或允许其破坏存储在存储器中的信息。可有用的是,增大某些存储器操作的不可预测性,以便降低可预期/篡改存储器操作的简易性。
发明内容
在一方面,本公开提供一种设备,其包括:种子发生器,其经配置以响应于种子更新信号而更新种子值;散列发生器,其经配置以基于所述种子值和行地址产生散列值;以及简图电路,其经配置以改变与所述散列值相关联的计数值。
在另一方面,本公开提供一种设备,其包括:存储器阵列,其包括各自与行地址的值相关联的多个字线;随机数发生器,其经配置以产生一组散列键,其中响应于种子更新信号而改变所述一组散列键;散列电路,其经配置以基于所述行地址的值和所述一组散列键产生散列值;以及简图电路,其经配置以基于所述散列值而改变计数值。
在又一方面,本公开提供一种方法,其包括:响应于种子更新信号的第一激活而产生种子值;基于所述种子值产生一组散列键;基于所述一组散列键将行地址散列成散列值,其中所述行地址与存储器阵列的字线相关联;以及响应于所述种子更新信号的第二激活而产生新种子值和新的一组散列键。
附图说明
图1是根据本公开的一些实施例的存储器系统的框图。
图2是根据本公开的实施例的半导体装置的框图。
图3是根据本公开的一些实施例的简图电路的框图。
图4是根据本公开的一些实施例的散列电路的框图。
图5是根据本公开的一些实施例的改变存储器中的散列键的方法的框图。
具体实施方式
某些实施例的以下描述在本质上仅是示例性的,绝非意在限制本公开的范围或本公开的应用或用途。在对本发明的系统和方法的实施例的以下详细描述中,参考形成本文的一部分的附图,且通过说明其中可实践所描述的系统和方法的具体实施例来展示附图。足够详细地描述这些实施例,以使所属领域的技术人员能够实践当前公开的系统和方法,且应理解,可利用其它实施例,且在不脱离本公开的精神和范围的情况下可进行结构和逻辑改变。此外,为清晰起见,某些特征的详细描述在其对于所属领域的技术人员来说将显而易见时将不予以论述,以免使本公开的实施例的描述混淆不清。因此,以下详细描述不应以限制性的意义来理解,且本公开的范围仅由所附权利要求书来限定。
一种存储器装置可包含具有数个存储器单元的存储器阵列,每个存储器单元位于字线(行)和数字线(列)的相交处。在读取或写入操作期间,可激活行,且可沿着已激活行从存储器单元读取数据或写入数据到存储器单元。存储器可执行各种操作以将信息维持在存储器单元中。举例来说,存储器单元中的信息可随着时间推移而衰减,且存储器可能需要周期性地刷新所述信息。另外,某些存取模式,例如对给定‘侵害者’行的频繁存取(行锤击)可导致附近的其它‘受害者’行的衰减速率增大。存储器可通过刷新控制电路跟踪对一或多个行的存取,以便定位和刷新这些受害者行。为了减少所跟踪存取计数的数目,存储器可使用散列电路来压缩行地址(例如,从N位行地址到M位散列值)。然而,如果行锤击攻击由恶意行动者引起,则他们可使用刷新控制电路如何操作的知识来避开存储器保护。因此,对于此实例操作和其它实例操作,降低此类电路的操作的可预测性可能有用。
本公开涉及用于更新存储器中的散列键的设备、系统和方法。存储器可将散列值用于存储器中的各种操作(例如,跟踪各种行地址)。所述散列值可通过散列电路基于输入值(例如,行地址)和一组键而产生。作为将不可预测性(例如,随机性、非确定性行为等)引入到各种操作中的方式,存储器可对键进行改变。所述键可以是基于种子值的一组二进制数。存储器可使用随机数发生器产生种子值,且可使用各种触发事件产生新种子值。举例来说,存储器可从控制器接收指令所述存储器再生种子值的命令,可再生种子值以作为加电/复位操作的部分,可周期性地再生种子值,或其组合。这可增加存储器的不可预测性,因为在任何给定时间都可能极其难以预测种子值将是什么。此外,用于再生种子值的不同触发事件可能让外部行动者相对难以预测。
在一些实施例中,存储器可使用一或多个散列值作为简图电路的部分。简图电路可包含多组计数值,其中每一组以来自不同散列电路的散列值作索引。简图电路可用于计数某些值沿着输入流出现的次数(和/或频率)。在一些实例应用中,对存储器的某些行地址出现次数的数目或速率进行计数可以是有用的。行地址可由简图电路的散列电路接收,且可散列为不同散列值。第一散列值可用作第一组计数值的索引,第二散列值可用作第二组计数值的索引等。可改变(例如,递增)带索引的计数值。以此方式,每个计数值可与不同组行地址相关联。在接收到行地址时编索引的计数值群组的值(例如,计数值群组的最小值)可用于确定简图电路接收到所述行地址的次数和/或频率。这可例如在确定在何处执行目标刷新操作时或在跟踪与错误相关联的行地址时有用。可在其它实例实施例中使用散列电路而非简图电路的其它实例应用和/或简图电路的其它使用。
图1是根据本公开的一些实施例的存储器系统的框图。系统100包含控制器102和存储器104。控制器102可通过沿着对应的总线将各种信号提供到存储器104的端子来操作所述存储器,所述总线将控制器102耦合到存储器104。命令/地址(CA)总线可载送命令(例如,读取命令、写入命令)以及指定应对哪些存储器单元执行所述命令的一或多个地址(例如,行地址、列地址、存储体地址)。控制器102和存储器104可通过图1中未展示的多种其它总线(例如数据总线(DQ)、时钟总线(CK)和各种电压总线)耦合。
存储器包含种子发生器110和散列电路120。种子发生器110提供种子值Seed(种子),且散列电路120部分地基于输入值(例如,行地址XADD)和一组键Key(键)提供散列值Hash(散列)。所述一组键可基于种子值Seed,且因此输出散列值Hash可基于种子值Seed。散列值Hash可由存储器104的各种电路使用。在图1的实例中,简图电路(如本文更详细描述)可用于例如通过跟踪行地址XADD的特定值出现的次数来跟踪存储器的各种功能。散列值Hash可控制简图电路122的行为。因此,改变Seed的值可继而更改简图电路122的操作,这可使得难以预测简图电路122的操作。
种子发生器110可基于可充当种子更新信号的一或多个触发事件来改变种子值Seed的值。由于散列值Hash基于种子值,因此改变种子值Seed也可改变散列值Hash。在一些实施例中,可选择触发事件以使得其为并非是存储器104的所需操作的部分的事件(例如,存储器装置的规格不需要的事物)。因此,举例来说,可能难以确定值Seed将在何时改变或其已改变多少次。
种子发生器110可包含可用于产生种子值的种子源112。种子值Seed可以是二进制数,其可具有基于种子源112的值。可由种子源112使用各种方法来产生值Seed。举例来说,在一些实施例中,种子源112可捕捉存储器104的值。种子源112可以是锁存器,其由种子更新信号触发以捕捉沿着行地址总线的全部或部分当前行地址XADD。在一些实施例中,种子源112可使用随机数发生器,所述随机数发生器可随机产生值Seed。举例来说,种子源可包含序列发生器,例如提供来自相对长的值序列的值的线性反馈移位寄存器(LFSR)。在一些实施例中,种子源112可考虑存储器的一或多个物理信号(例如,电压)以帮助产生用作Seed的随机数(例如,通过将其用作序列发生器的种子)。
存储器104的各种信号可用于触发种子发生器110以提供种子值Seed的新值。举例来说,可使用例如沿着CA总线来自控制器102的命令信号、基于时间量的加电/复位信号PwrUpRst和/或NewSeed信号等信号来产生Seed的新值。
在一些实施例中,存储器104可包含复位逻辑电路124,所述复位逻辑电路可响应于存储器104的加电或复位操作而以活动电平提供信号PwrUpRst。举例来说,在完成复位操作之后,复位逻辑124可以活动电平提供信号PwrUpRst。种子发生器110可响应于信号PwrUpRst处于活动电平而更新Seed的值。
在一些实施例中,存储器104可包含定时器电路126,所述定时器电路可基于经过的时间量而以活动电平提供信号NewSeed。举例来说,定时器电路126可对Seed的当前值已存在的时间量(例如,时钟循环的数目)进行计数。如果所述时间量超过阈值,则定时器逻辑126可以活动电平提供信号NewSeed。这可使种子发生器110提供信号Seed的新值,这继而可复位定时器逻辑126。
在一些实施例中,种子发生器110可(例如,沿着CA总线)从控制器102接收使种子发生器110产生Seed的新值的信号。控制器可使用各种逻辑来确定何时发送此类命令。举例来说,胜于存储器104上的定时器逻辑126,控制器102可基于定时产生种子更新信号且沿着CA总线提供种子更新信号。
在一些实施例中,种子值Seed可由控制器102提供。举例来说,控制器102可(例如,沿着CA总线)发出模式寄存器写入(MRW)命令且提供新种子值和MRW命令。可将新种子值写入到存储器104的模式寄存器,且存储在模式寄存器中的值可将值Seed提供到RNG 121。在此类实施例中,种子源112可位于控制器102中而非存储器104中。控制器102可使用内部逻辑(例如,定时)确定何时向存储器104提供Seed的新值。
在一些实施例中,由种子源112产生的随机数可直接用作值Seed,且值Seed可在种子源112产生新值后就改变。
在一些实施例中,种子发生器110可能已经产生Seed的新值,且可响应于种子更新信号而切换到Seed的已产生新值。举例来说,种子发生器110可包含第一锁存器114和第二锁存器116。在加电时,RNG 112可产生第一随机数RNG1且将其存储在第一锁存器114中,且产生第二随机数RNG2且将其存储在第二锁存器116中。种子发生器110还可包含开关逻辑118。初始地,可将第一随机数RNG1提供为信号Seed。响应于种子更新信号,开关118可改变成将信号RNG2提供为值Seed,且可触发RNG 112以产生可存储在第一锁存器114中的随机数的新值。每个后续种子更新信号可使开关逻辑118在作为值Seed存储在两个锁存器114和116中的值之间调换。
将种子值提供到随机数发生器(RNG)121,其基于种子产生一组键。所述一组键可以是一组个别键值,其中的每一者可以是二进制数。每个键的长度可基于散列值Hash的长度,且键的数目可基于输入值(例如,行地址XADD)的长度。举例来说,如果散列值Hash是M位长且输入值XADD是N位长,则RNG 121可能需要产生M位长的N个键。所述一组键的值可部分地基于Seed的值。举例来说,RNG 112可以是序列发生器,例如LFSR,且可基于值Seed的值挑选Key的第一值,且随后可基于某一内部逻辑为组中的其它键中的每一者选择Key的后续值(例如,序列中的随后值)。
在一些实施例中,RNG 121可一次产生一整组键(例如,所有N个键),且可将其存储(例如,在锁存器中)直到散列电路120准备好使用它们为止。在一些实施例中,RNG 121可在散列电路120需要新键时产生每个键。举例来说,散列电路120和RNG 121可耦合到时钟信号,所述时钟信号可控制何时需要以及产生新键。
在一些实施例中,存储器104可包含多个散列电路120。在一些实施例中,不同散列电路120可共享一组键。举例来说,一组锁存器可保持所述一组键,且每个散列电路可根据需要检索所述一组键。在一些实施例中,不同散列电路120可各自接收不同的一组键。举例来说,每个散列电路120可与相应随机数发生器相关联。不同随机数发生器可共同接收相同的值Seed。
散列电路120可基于键和输入值(例如,XADD)而产生散列值Hash。散列值Hash可具有与输入值不同数目的位。举例来说,输入行地址XADD可以是N位数(例如,N=17位),而散列值Hash可以是M位数,其中M小于N(例如,M是4、8、12或其它值)。这意味着Hash的每个值可与行地址的多个值相关联。然而,行地址的哪些值与Hash的给定值相关联可基于所述一组键(其继而基于种子)。因此,改变种子以再生键可继而重新映射哪些行地址值与Hash的任何给定值相关联。图4中更详细地描述实例散列电路。
散列可在存储器104中以多种方式使用。散列的一个实例使用是在简图电路中,例如图1中所展示的简图电路122。简图电路可包含一组计数值。Hash的值可充当索引且基于输入行地址来确定哪个计数值发生改变。以此方式,计数可反映相关联行地址值用作散列电路120的输入的次数。图3中更详细地描述实例简图电路。
图2是根据本公开的实施例的半导体装置的框图。半导体装置200可以是半导体存储器装置,例如集成在单个半导体芯片上的DRAM装置。在一些实施例中,半导体装置200可包含在图1的存储器104中。半导体装置200展示散列电路和键可如何在实例存储器104中使用的特定实例。
具体地说,半导体装置200展示散列键Key被提供到刷新控制电路216和错误跟踪电路230,其中的每个电路可包含简图电路(在图3中更详细地描述)。在各种实施例中,刷新控制电路216和错误跟踪电路230中的一者或另一者、两者都可或两者均不使用简图电路以及接收信号Key。在一些实施例中,存储器的其它部件可使用简图电路。在一些实施例中,每个简图电路可与不同的一组键相关联。在一些实施例中,对于每个简图电路,可存在键的不同源(例如,不同种子发生器和/或RNG)。
半导体装置200包含存储器阵列218。存储器阵列218展示为包含多个存储器存储体。在图1的实施例中,存储器阵列218展示为包含八个存储器存储体BANK0(存储体0)到BANK7(存储体7)。在其它实施例的存储器阵列218中可能包含更多或更少的存储体。每个存储器存储体包含多个字线WL、多个位线BL,以及布置在多个字线WL与多个位线BL的相交处的多个存储器单元MC。字线WL的选择由行解码器208执行,且位线BL的选择由列解码器210执行。在图1的实施例中,行解码器208包含用于每个存储器存储体的相应行解码器,且列解码器210包含用于每个存储器存储体的相应列解码器。位线BL耦合到相应感测放大器(SAMP)。来自位线BL的读取数据由感测放大器SAMP放大,且通过耦合到错误校正码(ECC)控制电路220的互补局部数据线(LIOT/B)、传输门(TG)和互补主数据线(MIOT/B)传输到读取/写入放大器。相反地,从ECC控制电路220输出的写入数据通过互补主数据线MIOT/B、传输门TG和互补局部数据线LIOT/B传输到感测放大器SAMP,且写入耦合到位线BL的存储器单元MC中。
半导体装置200可使用多个外部端子,其包含:耦合到命令和地址总线以接收命令和地址以及CS信号的命令和地址(C/A)端子;接收时钟CK和/CK的时钟端子;提供数据的数据端子DQ;以及接收电源电势VDD、VSS、VDDQ和VSSQ的电源端子。
时钟端子供应有提供到输入电路212的外部时钟CK和/CK。外部时钟可互补。输入电路212基于CK和/CK时钟产生内部时钟ICLK。将ICLK时钟提供到命令解码器206且提供到内部时钟发生器214。内部时钟发生器214基于ICLK时钟来提供各种内部时钟LCLK。LCLK时钟可用于各种内部电路的定时操作。将内部数据时钟LCLK提供到输入/输出电路222,以对包含在输入/输出电路222中的电路的操作进行定时,例如提供到数据接收器以对写入数据的接收进行定时。
C/A端子可供应有存储器地址。通过命令/地址输入电路202将供应给C/A端子的存储器地址传输到地址解码器204。地址解码器204接收地址,且将经解码行地址XADD供应到行解码器208以及将经解码列地址YADD供应到列解码器210。地址解码器204还可供应经解码存储体地址BADD,其可指示含有经解码行地址XADD和列地址YADD的存储器阵列218的存储体。C/A端子可供应有命令。命令的实例包含用于控制各种操作的定时的定时命令、用于存取存储器的存取命令,例如用于执行读取操作的读取命令和用于执行写入操作的写入命令,以及其它命令和操作。存取命令可与用以指示待存取的存储器单元的一或多个行地址XADD、列地址YADD和存储体地址BADD相关联。
命令可作为内部命令信号通过命令/地址输入电路202提供到命令解码器206。命令解码器206包含电路以解码内部命令信号,以产生用于执行操作的各种内部信号和命令。举例来说,命令解码器206可提供用以选择字线的行命令信号和用以选择位线的列命令信号。
装置200可接收作为读取命令的存取命令。当接收到读取命令且及时向存储体地址、行地址和列地址供应所述读取命令时,从存储器阵列218中对应于所述行地址和列地址的存储器单元读取读取数据。由命令解码器206接收读取命令,所述命令解码器提供内部命令以使得将来自存储器阵列218的读取数据被提供到ECC控制电路220。读取命令还可使与读取数据相关联的一或多个奇偶校验位沿着MIOT/B提供到ECC控制电路220。ECC控制电路220可使用奇偶校验位以确定读取数据是否包含任何错误,且如果检测到任何错误,则可将其校正以产生经校正读取数据。经校正读取数据通过输入/输出电路222从数据端子DQ输出到装置200外部。当ECC控制电路220确定读取数据包含错误时,其可以活动电平提供检测到错误信号ErrDet。
装置200可接收作为写入命令的存取命令。当接收到写入命令且与所述写入命令一起适时供应存储体地址、行地址和列地址时,通过DQ端子向ECC控制电路220供应写入数据。供应到数据端子DQ的写入数据被写入到存储器阵列218中对应于所述行地址和列地址的存储器单元。写入命令由命令解码器206接收,所述命令解码器提供内部命令以使得写入数据由输入/输出电路222中的数据接收器接收。还可提供写入时钟到外部时钟端子,以对输入/输出电路222的数据接收器对写入数据的接收进行定时。通过输入/输出电路222将写入数据供应到ECC控制电路220。ECC控制电路220可基于写入数据产生数个奇偶校验位,且可将所述写入数据和所述奇偶校验位提供到存储器阵列218以写入到存储器单元MC中。
装置200可将散列电路用于各种应用。因此,装置200可使用散列键(例如,信号Key)。胜于使用静态键,装置200可基于一或多个触发事件对键进行再生。装置200可包含种子发生器电路232,其在一些实施例中可包含于图1的种子发生器电路110中。种子发生器电路232可提供种子信号Seed。种子发生器电路232可接收种子更新信号NewSeed,且响应于种子更新信号处于活动电平(例如,高逻辑电平),可改变种子信号Seed的值。种子更新信号NewSeed可表示存储器装置200内(例如,基于定时器)特定产生以改变种子的信号。可响应于(例如,在CA端子处)接收到的命令而由命令解码器206产生种子更新信号NewSeed。种子更新信号NewSeed可以是(或可基于)装置内用于各种其它目的的一或多个信号,例如加电复位信号PwrUpRst。在一些实施例中,可使用多个触发事件(例如,命令、加电/复位和/或定时器),且每个触发事件可触发以活动电平提供种子更新信号NewSeed。
在一些实施例中,种子值可由控制器提供且存储于存储器装置200上(例如,在模式寄存器中)。在此类实施例中,种子更新信号可包含模式寄存器写入命令和种子的新值。响应于接收到种子的新值,随机数发生器234可产生新的一组散列键。在一些实施例中,可从装置200省略种子发生器电路232,因为其功能可由控制器执行。在一些实施例中,种子发生器电路232可表示从模式寄存器检索种子值且跟踪所述值何时改变(例如,以使得可产生新键)的电路。
基于种子信号,随机数发生器(RNG)234可提供一或多个键Key。散列键中的每一者可以是二进制数。可将一组此类数作为一组键提供到给定散列电路。在一些实施例中,可存在多个散列电路且其可共同享有一组键。在一些实施例中,不同散列电路中的每一者可接收其自身的一组键。在一些实施例中,可存在用于每个散列电路的不同RNG 234以产生用于所述散列电路的一组键。在一些实施例中,不同RNG可各自从同一种子发生器或从不同种子发生器接收不同种子值Seed。
散列电路在装置200中的一个实例用途是跟踪哪个地址已被ECC控制电路220标识为包含错误。ECC控制电路220可用于确保从存储器单元的特定群组读取的数据到写入到存储器单元的所述群组的数据的保真度。装置200可包含数个不同ECC控制电路220,其中的每一者负责存储器阵列218的存储器单元MC的不同部分。举例来说,可存在用于存储器阵列218的每个存储体的一或多个ECC控制电路220。
每个ECC控制电路220可(从IO电路222或存储器阵列218)接收某一数目的数据位,且可基于所述数目的数据位将数个奇偶校验位用于校正所述数据位中的潜在错误。举例来说,作为写入操作的部分,ECC控制电路220可从IO电路接收128个数据位,且可基于这128个数据位产生8个奇偶校验位。可将128个数据位和8个奇偶校验位(例如,总计136位)写入到存储器阵列218。作为实例读取操作的部分,ECC控制电路220可从存储器单元阵列218接收128个数据位和8个奇偶校验位。ECC控制电路220可使用8个奇偶校验位来确定128个读取数据位中是否存在任何错误,且如果发现任何错误,则可对其进行校正。举例来说,ECC控制电路220能够基于8个奇偶校验位而定位和校正128个数据位中的多达一个错误。虽然可能参考使用8个奇偶校验位查找128个数据位中的一个错误的ECC电路论述了各种实施例,但应理解,这些内容仅出于解释性目的,且在其它实例实施例中可使用其它数目的数据位、错误位和奇偶校验位。
存储器可包含错误跟踪电路230,其可跟踪哪些存储器单元(若存在)与相对频繁的问题相关联。举例来说,错误跟踪电路230可跟踪存储器阵列218中已在读取操作期间被标识为包含错误位的行。ECC控制电路220可以活动电平提供信号ErrDet以指示检测到错误位。错误跟踪电路230可响应于信号ErrDet处于活动电平而接收行地址XADD。错误跟踪电路230可包含简图电路,所述简图电路包含与所接收地址相关联的一或多个计数值。基于这些计数值中的一或多者的值,错误跟踪电路可确定所述行是否是与相对高数目的错误相关联的‘问题行’Err_XADD,且如果是的话,则可将标识的问题行Err_XADD存储在问题存储结构(例如寄存器堆栈)中。在一些实施例中,可从错误跟踪电路230读出标识的问题行Err_XADD(例如,读出到数据端子DQ)。在一些实施例中,标识的问题行Err_XADD可用作修复操作(例如,封装后修复操作)的部分。修复操作可包含将问题地址Err_XADD重定向到存储器的冗余行。
散列电路在装置200中的一个实例用途是跟踪哪些地址是‘侵害者’,使得刷新控制电路216可刷新这些侵害者的受害者以作为目标刷新操作的部分。装置200可接收使其执行一或多个刷新操作以作为自刷新模式的部分的命令。在一些实施例中,自刷新模式命令可在外部发布到存储器装置200。在一些实施例中,自刷新模式命令可由装置的部件周期性地产生。在一些实施例中,当外部信号指示自刷新进入命令时,还可激活刷新信号AREF。刷新信号AREF可以是当命令解码器206接收到指示进入自刷新模式的信号时被激活的脉冲信号。刷新信号AREF可紧接在命令输入之后激活,且此后可按所要内部定时循环激活。刷新信号AREF可用于在自刷新模式期间控制刷新操作的定时。因此,刷新操作可自动继续。自刷新退出命令可使刷新信号AREF的自动激活停止且返回到空闲状态。将刷新信号AREF供应到刷新控制电路216。刷新控制电路216将刷新行地址RXADD供应到行解码器208,所述行解码器可刷新由刷新行地址RXADD指示的一或多个字线WL。
刷新控制电路216可在自刷新模式期间执行自动刷新操作,使得存储器阵列218的每个字线刷新得快于预期数据衰减速率。然而,某些条件可能会将数据衰减速率增大到高于通常预期的速率。举例来说,作为‘行锤击攻击’的部分对给定行(侵害者行)进行重复存取可增大其它附近行(受害者行)中的数据衰减的速率。刷新控制电路216可使用简图电路跟踪对不同行地址的存取。当对给定行地址的存取的数目和/或速率超过阈值时,刷新控制电路216可将所述行标识为侵害者。可存储所标识侵害者行的地址。
连同自动刷新操作,存储器装置200可在目标刷新模式期间执行目标刷新操作。在目标刷新操作期间,刷新控制电路216可提供基于所存储侵害者地址中的一者的刷新地址RXADD。刷新地址RXADD可表示受害者行的地址。在一些实施例中,刷新地址RXADD可表示与所标识侵害者物理上相邻(例如,R+/-1)的字线。在一些实施例中,可使用侵害者与受害者之间的其它关系(例如,R+/-2)。
电源端子供应有电源电势VDD和VSS。将电源电势VDD和VSS供应到内部电压发生器电路224。内部电压发生器电路224基于供应到电源端子的电源电势VDD和VSS产生各种内部电势VPP、VOD、VARY、VPERI等。内部电势VPP可主要在行解码器208中使用,内部电势VOD和VARY可主要在存储器阵列218中包含的感测放大器SAMP中使用,且内部电势VPERI可在许多外围电路块中使用。
电源端子还供应有电源电势VDDQ和VSSQ。将电源电势VDDQ和VSSQ供应到输入/输出电路222。在本公开的实施例中,供应到电源端子的电源电势VDDQ和VSSQ可以是与供应到电源端子的电源电势VDD和VSS相同的电势。在本公开的另一实施例中,供应到电源端子的电源电势VDDQ和VSSQ可以是与供应到电源端子的电源电势VDD和VSS不同的电势。供应到电源端子的电源电势VDDQ和VSSQ用于输入/输出电路222,使得由输入/输出电路222产生的电源噪声不会传播到其它电路块。
图3是根据本公开的一些实施例的简图电路的框图。在一些实施例中,简图电路300可包含在图1的简图电路122中。在一些实施例中,简图电路300可包含在图2的刷新控制电路216中和/或图2的错误跟踪电路230中。
简图电路300包含数个散列电路312、322和332,每个散列电路对沿着行地址总线接收到的行地址XADD进行散列。在一些实施例中,可接收到沿着行地址总线的所有行地址XADD。在一些实施例中,可由简图电路300接收沿着行地址总线的行地址的一部分。举例来说,取样信号可(例如,通过周期性定时、通过随机定时、通过基于一或多个其它信号的定时,或其组合)激活,且简图电路300可在取样信号活动时接收行地址XADD。在一些实施例中,可由存储器的一或多个其它部件提供标识信号(例如,图2的信号ErrDet)以指示应接收当前行地址,且简图电路300可在标识信号活动时接收行地址XADD。
每个散列电路312、322和332可分别基于通过所述相应散列电路产生的散列的值来改变存储在相关联数据堆栈310、320和330的寄存器中的一者中的计数值。可将经改变计数值(例如,与行地址XADD相关联的计数值)提供到计数逻辑电路302,所述计数逻辑电路可使用所提供计数值来确定所接收行地址XADD是否以高于给定存取数目/速率阈值的速率被接收。此类标识的行ID_XADD可通常称作‘问题行’,但标识的行ID_XADD是否表示存储器的问题可取决于简图电路300所用于的应用。
如果计数逻辑302确定行地址XADD是问题行,则存储逻辑340可将行地址XADD存储在地址存储结构342中。存储在地址存储数据结构(或问题存储装置)342中的地址ID_XADD可出于诊断目的而被读出存储器,和/或可用于修复所述行(例如,通过将行地址XADD重定向到存储器的冗余行)。
图3的计数逻辑电路302展示计数定位器304、阈值比较器306和计数调整器308中的每一者的数个子部件。这些子部件展示为虚线框,且为计数逻辑302的任选部件。在一些实施例中,虚线子部件可表示存储器中耦合到计数逻辑电路302的系统级部件。举例来说,定时器子部件可耦合到存储器的时钟信号(例如,图1的ICLK)。在一些实施例中,子部件可表示简图电路300的任选特征,且可由用户设置(例如,通过模式寄存器设置、通过熔断器等)启用/停用。
简图电路300包含数个散列电路,例如312、322和332,其中的每一者分别与数据堆栈(例如,310、320和330)相关联。由于散列电路和数据堆栈可大体上彼此类似,因此出于简洁起见,将仅详细地描述第一散列电路312和数据堆栈310。
第一散列电路312可以是m位散列电路。响应于接收到行地址XADD,第一散列电路312可基于行地址XADD的值(例如,行地址的位的状态)且基于一组散列键Key的值而将行地址转换成m位散列值。举例来说,行地址XADD可以是某一数目的位(例如,17位)。第一散列电路312可将行地址XADD散列成m位数。位数目m可通常小于未散列行地址XADD中的位数目。因此,行地址XADD的多个值可与m位散列的给定值相关联。哪些行地址与散列的值相关联可部分地取决于第一散列电路312所用的散列键Key的值。
数据堆栈310可以是能够存储数个不同计数值的任何结构。举例来说,数据堆栈310可包含数个寄存器,其中的每一者可存储计数值(例如,作为二进制数)。数据堆栈310可保持等于m位散列值的可能值的数目的某个数目的计数值(例如,2m个不同计数值)。举例来说,如果第一散列电路312是8位散列电路,则数据堆栈310可包含256个不同计数值。因此,每个计数值可与m位散列值的值中的一者相关联。
当散列电路312接收行地址XADD时,其可提供与行地址XADD的值相关联的m位散列值。响应于m位散列值,数据堆栈310中与m位散列值的所述值相关联的计数值可改变(例如,递增)。在一些实施例中,与m位散列的值相关联(例如,与行地址XADD相关联)的计数值CV0可被提供到计数逻辑电路302,所述计数逻辑电路可改变计数值CV0且接着将其重写到数据堆栈310中。
不同散列电路312、322和332可彼此独立。因此,给定行地址可由第一散列电路312散列成第一值,且由第二散列电路322散列成第二散列值。第一散列值和第二散列值未必是相同值(但其可以是相同值)。由于散列值充当计数值的索引,因此这意味着每个计数值可与不同的一组行地址相关联。在一些实施例中,散列电路312、322和332可接收不同键值。举例来说,第一散列电路312可接收第一组键Key1,第二散列电路322可接收第二组键Key2,且第三散列电路332可接收第三组键Key3。不同键可使不同散列值以不同方式操作,即使散列电路在物理上彼此类似也如此。
在一些实施例中,不同散列电路312、322和332可全部产生不同长度的散列。举例来说,第一散列电路312可以是m位散列电路,第二散列电路322可以是n位散列电路,且第三散列电路332可以是o位散列电路,其中m、n和o是不同的数。因此,相关联数据堆栈310、320和330可保持不同数目的计数值。举例来说,m可以是8位散列且第一数据堆栈310可保持256个计数值,n可以是7且第二数据堆栈320可保持128个不同计数值,而o可以是6且第三数据堆栈330可保持64个不同计数值。在其它实例实施例中,可使用不同长度的散列。不同散列的使用意指每个计数值可与不同数目的行地址相关联。在此类实施例中,不同散列电路可接收不同长度的键。举例来说,提供到第一散列电路212的一组键可包含一定数目的键,其中的每一者为m位长,诸如此类。
在一些实施例中,不同散列电路312、322和332中的每一者可全部产生相同长度的输出散列(例如,m=n=o)。举例来说,散列电路中的每一者可以是7位散列电路,且数据堆栈310、320和330中的每一者可保持128个不同计数值。在此类实施例中,每个散列电路可接收全都为相同长度的多组键。
响应于行地址XADD,数据堆栈310、320和330中的每一者可将相应计数值CV0、CV1和CV2提供到计数逻辑电路302。这些计数值可彼此不同,因为每个计数值可与行地址XADD的值的不同集合相关联。计数逻辑302的计数调整器电路308可例如通过递增所接收值来对其进行更新。在一些实施例中,计数调整器308对计数值CV0到CV2的改变方式可部分取决于计数值CV0到CV2的值。举例来说,如果值CV0高于阈值(例如,已达到最大值),则可仅改变(例如,递增)计数值CV1。
在一些实施例中,计数调整器电路308可周期性地在不同方向上改变计数值(例如,将其减小)。举例来说,在设定时间段(例如,某一数目的时钟循环)之后,计数调整器308可改变(例如,减小)存储在数据堆栈310、320和330中的所有计数值。在一些实施例中,计数调整器308可通过将计数值复位(例如,到0)来将其减小到最小值。
计数定位器电路304可选择接收到的计数中的一者,或可基于作为比较值的一组计数值CV0到CV2来合成新值。计数定位器电路304可使用基于所述一组计数值CV0到CV2的一或多个统计数据。举例来说,计数定位器电路304可将计数值CV0到CV2进行比较且采用最小值。计数定位器电路304还可基于所述一组计数值产生统计数据,且可例如提供CV0到CV2的平均值或中值。在一些实施例中,可仅提供最小值、中值和平均值中的一者。在一些实施例中,用户能够选择使用哪些统计数据。在一些实施例中,最小值、中值和平均值中的所有三个可由计数定位器计算和输出,且可单独地使用。在其它实例实施例中,可使用其它统计数据。
在一些实施例中,胜于使用统计数据,计数定位器304可选择计数值CV0到CV2中的一者以用作比较值。举例来说,在实施例中,每个计数值仅在前一计数值高于阈值时才改变(例如,CV1在CV0大于阈值的情况下改变),则计数定位器304可提供特定计数值(例如,CV2)。在一些实施例中,可周期性地改变使用哪个计数值。举例来说,可随机选择计数值。
计数定位器电路304可将比较值提供到阈值比较器电路306。阈值比较器电路306可将所接收比较值与阈值Thresh进行比较。如果阈值比较器电路306确定所接收统计数据大于值Thresh,则计数逻辑电路302可以活动电平(例如,高逻辑电平、脉冲、上升沿等)提供捕捉信号Capture(捕捉)。在一些实施例中,阈值可周期性地改变。举例来说,阈值Thresh可基于随机数发生器RNG的输出而随机变化。
存储逻辑电路340可接收信号Capture。当信号Capture活动时,存储逻辑电路340可将行地址XADD的当前值存储在行地址数据存储装置(例如,问题存储装置)342中。问题地址存储装置342可以是具有数个寄存器的数据结构,其中每个寄存器可用于存储标识的问题行地址XADD。在一些实施例中,可从存储器提供存储在问题地址存储装置342中的地址。举例来说,控制器可执行读取操作且指定问题地址存储装置且可检索问题地址列表。在一些实施例中,当读出这些地址时,可从存储装置删除这些地址。在一些实施例中,当读出地址时,计数调整器308可减小与这些地址相关联的计数值。在一些实施例中,问题地址存储装置342中的地址可由存储器的内部进程使用,例如用作目标刷新操作的部分。在一些实施例中,当地址ID_XADD存储在问题存储装置342中时,计数逻辑302可改变(例如,减小)与所述地址相关联的计数值。在一些实施例中,减小的量可基于阈值和/或比较值(例如,最小值)。
在一些实施例中,简图电路300的各种特征可以是用户可选的。举例来说,用户能够设置错误跟踪电路的一或多个操作模式,和/或能够启用或停用特定特征。在一些实施例中,用户能够选择是否将最小值、平均值或中值用于产生比较值。类似地,阈值比较器306所用的阈值可以是用户可选的。在一些实施例中,用户能够例如通过选择是否更新(例如,递增)与行地址相关联的每个计数值或是否以‘级联’方式(其中在更新下一堆栈(例如,320)中的计数值之前,来自第一堆栈(例如,310)的计数值需要达到阈值)更新计数来选择操作模式。
在一些实施例中,当响应于种子更新信号(例如,NewSeed)再生散列键时,存储在数据堆栈310、320和330中的计数值可能不再有用,因为新的散列键可重新映射哪些行地址与所述堆栈中的哪些计数值相关联。因此,在一些实施例中,计数逻辑302可在散列键改变(例如,响应于信号NewSeed的激活)时对数据堆栈310、320和330中的计数值进行复位
图4是根据本公开的一些实施例的散列电路的框图。在一些实施例中,散列电路400可用作散列电路120,和/或图2的散列电路212、222和232中的一或多者。图4的散列电路400表示散列电路的操作的简化视图,以便解释散列电路的一般操作。本公开的散列电路可使用更复杂的逻辑和/或其它过程来将输入信号转换成散列。
图4的散列电路400展示为包含随机数发生器(RNG)402,其在一些实施例中可充当图1的RNG 121和/或图2的234。在图4的实施例中,RNG 402可包含在散列电路400中,且所述散列电路可直接接收种子值Seed以便产生一组键。
散列电路400可接收输入值Input(输入),其可为N+1位数(例如,输入<0:N>)。在一些实施例中,值Input可以是行地址。散列电路400可产生输出值Hash(散列),其可为M+1位数(例如,散列<0:M)。值M可通常为比值N小的数目。
RNG 402产生是基于值N和M的一组键。具体地说,RNG 402产生N+1个键,其中的每一者具有长度M+1。框404可将来自所述一组键的每个键与输入值的位组合。举例来说,输入值的每个位(例如,输入<i>)可与键Ki<0:M>中的对应一者组合以产生Word(字)。因此,第一位可与第一键组合,诸如此类。在图4的实例中,“与(AND)”逻辑可用于将输入的每个位与相关联的键组合。每个字可为M+1位长度,且在将输入的每个位与相关联的键组合之后,可存在一组N+1个字。
框406可将所述字组合在一起以产生输出Hash(散列)。在图4的实例中,“异或(XOR)”逻辑可用于将所有字组合在一起。一旦字已组合,输出可以是长度为M+1位的输出值Hash。
图5是根据本公开的一些实施例的改变存储器中的散列键的方法的框图。在一些实施例中,方法500可由图1到4中所描述的部件中的一或多者实施。
方法500可从框510开始,其描述响应于种子更新信号的第一激活而产生种子值。可响应于从控制器接收的命令、加电或复位操作或存储器的某一内部逻辑(例如,定时器)而激活种子更新信号。种子源可提供种子的值。在一些实施例中,所述种子可基于存储器的一或多个信号或物理性质(例如,所述种子可为经锁存行地址的全部或部分)。在一些实施例中,种子值可由存储器的控制器提供,且种子更新信号可包含从控制器接收种子的新值。举例来说,所述种子可存储在存储器的模式寄存器中,且控制器可将种子的新值写入到所述模式寄存器。
框510后可通常接着框520,其描述基于种子值产生一组散列键。所述一组散列键可以是二进制数的集合。在一些实施例中,所述一组散列键可通过随机数发生器基于种子值而产生。所述一组散列键可全部一次产生和存储,且可在需要每个键时产生。
框520后可通常接着框530,其描述基于所述一组散列键将行地址散列成散列值。行地址可与存储器阵列(例如,图2的218)中的字线相关联。行地址可具有第一位数目,且散列值可具有不同于所述第一位数目的第二位数目。第二位数目可少于第一位数目。所述一组键中的键的数目以及所述一组键中的个别键的长度可分别基于第一和第二位数目。
框530后可通常接着框540,其描述响应于种子更新信号的第二激活而产生新种子值和新的一组散列键。在一些实施例中,可响应于种子更新信号的第一激活而产生第一和第二种子值。可(例如,在图1的例如116的锁存器中)存储第二种子值。开关逻辑可响应于种子更新信号的第二激活而切换到提供第二种子值。
在一些实施例中,可基于散列值更新(例如,递增)存储在简图电路中的计数值。举例来说,散列值可充当一组计数值的索引。在一些实施例中,可基于种子更新信号的第二激活而复位计数值。
当然,应了解,本文中所描述的实例、实施例或过程中的任一者可与一或多个其它实例、实施例和/或过程组合或分开和/或在根据本发明系统、装置和方法的单独装置或装置部分当中执行。
最后,上文的论述意图仅说明本发明系统,且不应被理解为将所附权利要求书限制于任何特定实施例或实施例群组。因此,虽然已参考示例性实施例详细地描述了本发明系统,但还应了解,在不脱离如所附权利要求书中所阐述的本发明系统的更广和既定精神和范围的情况下,所属领域的技术人员可设计许多修改和替代性实施例。因此,说明书和附图应以说明性方式看待,且不旨在限制所附权利要求书的范围。
Claims (22)
1.一种设备,其包括:
种子发生器,其经配置以响应于种子更新信号而更新种子值;
散列发生器,其经配置以基于所述种子值和行地址产生散列值;以及
简图电路,其经配置以改变与所述散列值相关联的计数值。
2.根据权利要求1所述的设备,其中所述种子更新信号基于由控制器发布到所述存储器的命令、定时信号、加电信号、复位信号或其组合。
3.根据权利要求1所述的设备,其进一步包括随机数发生器RNG,所述随机数发生器经配置以基于种子值产生一组键,其中所述散列发生器经配置以基于所述一组键产生所述散列值。
4.根据权利要求3所述的设备,其中所述地址是N位值,所述散列为M位数,且所述RNG经配置以产生N个M位数作为所述一组键。
5.根据权利要求1所述的设备,其中所述简图电路经配置以确定所述行地址是否是侵害者地址。
6.根据权利要求5所述的设备,其进一步包括刷新控制电路,所述刷新控制电路经配置以在所述行地址为侵害者地址的情况下基于所述行地址刷新所述存储器阵列的至少一个字线。
7.根据权利要求1所述的设备,其进一步包括错误校正码ECC电路,所述ECC电路经配置以在从与所述行地址相关联的字线读取的数据中检测到错误的情况下以活动电平提供检测到错误信号,其中所述散列发生器经配置以在所述信号处于所述活动电平时产生所述散列值。
8.根据权利要求1所述的设备,其中所述种子发生器包括:
种子源,其经配置以产生二进制数;
第一锁存器,其经配置以存储所述二进制数的第一值;
第二锁存器,其经配置以存储所述二进制数的第二值;以及
开关逻辑,其经配置以将所述随机数的所述第一值提供为所述种子值,且经配置以响应于所述种子更新信号而切换到将所述二进制数的所述第二值提供为所述种子值。
9.一种设备,其包括:
存储器阵列,其包括各自与行地址的值相关联的多个字线;
随机数发生器,其经配置以产生一组散列键,其中响应于种子更新信号而改变所述一组散列键;
散列电路,其经配置以基于所述行地址的值和所述一组散列键产生散列值;以及
简图电路,其经配置以基于所述散列值而改变计数值。
10.根据权利要求9所述的设备,其进一步包括种子发生器电路,所述种子发生器电路经配置以提供种子值且经配置以响应于所述种子更新信号而改变所述种子值,其中所述随机数发生器经配置以基于所述种子值而产生所述一组散列键。
11.根据权利要求9所述的设备,其中所述种子更新信号响应于由控制器发布到所述存储器的命令、定时信号、加电信号、复位信号或其组合而提供。
12.根据权利要求9所述的设备,其进一步包括存储逻辑,所述存储逻辑经配置以基于所述计数值而将所述行地址存储在地址存储结构中。
13.根据权利要求9所述的设备,其进一步包括:
第二散列电路,其经配置以基于所述行地址和所述一组散列键产生第二散列值,其中所述简图电路经配置以基于所述第二散列值改变第二计数值。
14.根据权利要求9所述的设备,其进一步包括:
第二散列电路,其经配置以基于所述行地址和第二组散列键产生第二散列值,其中所述简图电路经配置以基于所述第二散列值改变第二计数值。
15.根据权利要求9所述的设备,其进一步包括模式寄存器,所述模式寄存器经配置以存储种子值,其中所述随机数发生器经配置以基于所述种子值产生所述一组散列键,且其中所述种子更新信号包括将所述种子值的新值写入到所述模式寄存器的模式寄存器写入操作。
16.根据权利要求15所述的设备,其中从控制器接收所述模式寄存器写入操作和所述种子的所述新值。
17.一种方法,其包括:
响应于种子更新信号的第一激活而产生种子值;
基于所述种子值产生一组散列键;
基于所述一组散列键将行地址散列成散列值,其中所述行地址与存储器阵列的字线相关联;以及
响应于所述种子更新信号的第二激活而产生新种子值和新的一组散列键。
18.根据权利要求17所述的方法,其进一步包括响应于存储器的加电、所述存储器的复位、由所述存储器接收的命令、时间经过量或其组合来激活所述种子更新信号。
19.根据权利要求17所述的方法,其进一步包括基于所述散列值而改变计数值。
20.根据权利要求19所述的方法,其进一步包括响应于产生所述新的一组散列键而复位所述计数值。
21.根据权利要求17所述的方法,其进一步包括:
响应于所述种子更新信号的所述第一激活而产生第二种子值;
存储所述第二种子值;以及
响应于所述种子更新信号的所述第二激活而提供所述第二种子值作为所述新种子值。
22.根据权利要求17所述的方法,其进一步包括:
响应于所述种子更新信号的所述第一激活而产生第二组散列键;
基于所述第二组散列键而将所述行地址散列成第二散列值;以及
响应于所述种子更新信号的所述第二激活而产生新的第二组散列键。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/003,687 | 2020-08-26 | ||
US17/003,687 US11271735B1 (en) | 2020-08-26 | 2020-08-26 | Apparatuses, systems, and methods for updating hash keys in a memory |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114121124A true CN114121124A (zh) | 2022-03-01 |
Family
ID=80357321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110646377.4A Pending CN114121124A (zh) | 2020-08-26 | 2021-06-10 | 用于更新存储器中的散列键的设备、系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11271735B1 (zh) |
CN (1) | CN114121124A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115883469A (zh) * | 2023-01-04 | 2023-03-31 | 苏州浪潮智能科技有限公司 | 一种数据流负载平衡方法、装置、网络拓扑及数据中心 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11152050B2 (en) | 2018-06-19 | 2021-10-19 | Micron Technology, Inc. | Apparatuses and methods for multiple row hammer refresh address sequences |
US11158364B2 (en) | 2019-05-31 | 2021-10-26 | Micron Technology, Inc. | Apparatuses and methods for tracking victim rows |
US11158373B2 (en) | 2019-06-11 | 2021-10-26 | Micron Technology, Inc. | Apparatuses, systems, and methods for determining extremum numerical values |
US11139015B2 (en) | 2019-07-01 | 2021-10-05 | Micron Technology, Inc. | Apparatuses and methods for monitoring word line accesses |
US11455221B2 (en) * | 2019-10-31 | 2022-09-27 | Qualcomm Incorporated | Memory with concurrent fault detection and redundancy |
US11562783B2 (en) * | 2020-08-27 | 2023-01-24 | Micron Technology, Inc. | Apparatuses, systems, and methods for resetting row hammer detector circuit based on self-refresh command |
US11960608B2 (en) * | 2021-04-29 | 2024-04-16 | Infineon Technologies Ag | Fast secure booting method and system |
US11579797B2 (en) * | 2021-04-29 | 2023-02-14 | Micron Technology, Inc. | Memory sub-system refresh |
US11664063B2 (en) | 2021-08-12 | 2023-05-30 | Micron Technology, Inc. | Apparatuses and methods for countering memory attacks |
US11823756B2 (en) * | 2021-11-01 | 2023-11-21 | Changxin Memory Technologies, Inc. | Method and device for testing memory array structure, and storage medium |
US11688451B2 (en) * | 2021-11-29 | 2023-06-27 | Micron Technology, Inc. | Apparatuses, systems, and methods for main sketch and slim sketch circuit for row address tracking |
US20230205872A1 (en) * | 2021-12-23 | 2023-06-29 | Advanced Micro Devices, Inc. | Method and apparatus to address row hammer attacks at a host processor |
US20230393783A1 (en) * | 2022-06-02 | 2023-12-07 | Micron Technology, Inc. | Access heatmap generation at a memory device |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8458453B1 (en) * | 2004-06-11 | 2013-06-04 | Dunti Llc | Method and apparatus for securing communication over public network |
US8189786B2 (en) * | 2005-05-25 | 2012-05-29 | Zenith Electronics Llc | Encryption system |
US8683572B1 (en) * | 2008-01-24 | 2014-03-25 | Dunti Llc | Method and apparatus for providing continuous user verification in a packet-based network |
US9231926B2 (en) * | 2011-09-08 | 2016-01-05 | Lexmark International, Inc. | System and method for secured host-slave communication |
JP5883300B2 (ja) * | 2012-02-02 | 2016-03-09 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | オブジェクトを特定するためのハッシュコードを生成するための方法、プログラム及びシステム |
US10291408B2 (en) * | 2016-12-23 | 2019-05-14 | Amazon Technologies, Inc. | Generation of Merkle trees as proof-of-work |
US11468200B2 (en) * | 2020-04-30 | 2022-10-11 | Dell Products L.P. | System and method for cryptographically coupling a media controller to a baseboard management controller |
-
2020
- 2020-08-26 US US17/003,687 patent/US11271735B1/en active Active
-
2021
- 2021-06-10 CN CN202110646377.4A patent/CN114121124A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115883469A (zh) * | 2023-01-04 | 2023-03-31 | 苏州浪潮智能科技有限公司 | 一种数据流负载平衡方法、装置、网络拓扑及数据中心 |
Also Published As
Publication number | Publication date |
---|---|
US20220069992A1 (en) | 2022-03-03 |
US11271735B1 (en) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11271735B1 (en) | Apparatuses, systems, and methods for updating hash keys in a memory | |
US11462291B2 (en) | Apparatuses and methods for tracking word line accesses | |
CN113330518B (zh) | 用于管理行存取计数的设备和方法 | |
US11955158B2 (en) | Apparatuses and methods for access based refresh timing | |
US11798610B2 (en) | Apparatuses and methods for controlling steal rates | |
CN112242160B (zh) | 用于跟踪行存取的设备和方法 | |
US11881247B2 (en) | Apparatuses, systems, and methods for resetting row hammer detector circuit based on self-refresh command | |
CN114051640A (zh) | 用于监测字线存取的设备及方法 | |
CN118230783A (zh) | 用于多个行锤击刷新地址序列的设备及方法 | |
JP2017182854A (ja) | 半導体装置 | |
US11664063B2 (en) | Apparatuses and methods for countering memory attacks | |
US11688451B2 (en) | Apparatuses, systems, and methods for main sketch and slim sketch circuit for row address tracking | |
US11468937B2 (en) | Apparatuses and methods for generating refresh addresses | |
CN115516564A (zh) | 用于命令/地址跟踪的设备和方法 | |
US11211110B1 (en) | Apparatuses, systems, and methods for address scrambling in a volatile memory device | |
US11342041B2 (en) | Apparatuses, systems, and methods for probabilistic data structures for error tracking | |
US12131767B2 (en) | Apparatuses and methods for generating refresh addresses |
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 |