CN113496719B - 半导体存储器的训练方法及相关设备 - Google Patents
半导体存储器的训练方法及相关设备 Download PDFInfo
- Publication number
- CN113496719B CN113496719B CN202010270898.XA CN202010270898A CN113496719B CN 113496719 B CN113496719 B CN 113496719B CN 202010270898 A CN202010270898 A CN 202010270898A CN 113496719 B CN113496719 B CN 113496719B
- Authority
- CN
- China
- Prior art keywords
- current
- reference voltage
- delay value
- time delay
- historical
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/147—Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
-
- 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/0626—Reducing size or complexity of storage systems
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0653—Monitoring storage devices or systems
-
- 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
- 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
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/10—Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns
-
- 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/50—Marginal testing, e.g. race, voltage or current testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
-
- 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
-
- 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/50—Marginal testing, e.g. race, voltage or current testing
- G11C2029/5004—Voltage
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本公开关于一种半导体存储器的训练方法及相关设备,属于半导体技术领域。该方法包括:获取存储的所述半导体存储的历史训练结果,所述历史训练结果包括历史期望时延值及历史期望电压;设置时延阈值和当前训练电压范围,所述时延阈值小于或等于所述历史期望时延值,所述当前训练电压范围包括所述历史期望电压;获取所述半导体存储器在所述历史期望电压下的当前最小时延值;若所述半导体存储器在所述历史期望电压下的当前最小时延值大于或等于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。通过本公开实施例提供的方案,能够提高半导体存储器的训练速度。
Description
技术领域
本公开涉及半导体技术领域,具体而言,涉及一种半导体存储器的训练方法、半导体存储器的训练装置、电子设备和计算机可读存储介质。
背景技术
当前的半导体存储器均需要通过训练方能满足正常工作要求,而半导体存储器训练是系统启动阶段必不可少的环节,并且半导体存储器需要训练的种类比较多,例如CATraining(Command Address Training,指令地址训练)、Write Training(写训练)等。
而每种训练均需要在一定的电压范围内找出最大可工作范围的时延(margin),训练的快慢决定了系统启动的快慢。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于克服上述现有技术的不足,提供一种半导体存储器的训练方法及装置、电子设备和计算机可读存储介质,可以减少半导体存储器的训练时间。
根据本公开的一个方面,提供一种半导体存储器的训练方法,所述方法包括:获取存储的所述半导体存储的历史训练结果,所述历史训练结果包括历史期望时延值及历史期望电压;设置时延阈值和当前训练电压范围,所述时延阈值小于或等于所述历史期望时延值,所述当前训练电压范围包括所述历史期望电压;获取所述半导体存储器在所述历史期望电压下的当前最小时延值;若所述半导体存储器在所述历史期望电压下的当前最小时延值大于或等于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
根据本公开的一个方面,提供一种半导体存储器的训练装置,所述装置包括:历史训练结果获取单元,用于获取存储的历史训练结果,所述历史训练结果包括历史期望时延值及历史期望电压;阈值电压范围设置单元,用于设置时延阈值和当前训练电压范围,所述时延阈值小于或等于所述历史期望时延值,所述当前训练电压范围包括所述历史期望电压;当前最小时延获取单元,用于获取所述半导体存储器在所述历史期望电压下的当前最小时延值;当前训练结果确定单元,用于若所述历史期望电压下的当前最小时延值大于或等于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
根据本公开的一个方面,提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本公开提供的任一实施例所述的方法。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开提供的任一实施例所述的方法。
本公开某些实施例提供的半导体存储器的训练方法、装置、电子设备和计算机可读存储介质,通过获取该半导体存储器的存储的历史训练结果,该历史训练结果包括历史期望时延值及历史期望电压,然后设置一个小于或等于该历史期望时延值的时延阈值,并根据该历史期望电压设置一个当前训练电压范围,该当前训练电压范围包括该历史期望电压;由此,当需要重新训练该半导体存储器时,可以获取该半导体存储器在该历史期望电压下的当前最小时延值。其中,若该半导体存储器在该历史期望电压下的当前最小时延值大于或等于上述设置的时延阈值,则可以直接将存储的上述历史训练结果作为该半导体存储器的当前训练结果,进而可以提高半导体存储器的训练效率,降低训练所使用的时间,因此,能够加快系统启动的速度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出了根据本公开的一实施例的半导体存储器的训练方法的流程图;
图2示意性示出了根据本公开的一实施例的半导体存储器的训练方法的流程图;
图3示意性示出了根据本公开的一实施例的参考电压与时延值之间的正态分布示意图;
图4示意性示出了根据本公开的一实施例的参考电压与时延值之间的递增或递减分布示意图;
图5示意性示出了根据本公开的一实施例的半导体存储器的训练方法的流程图;
图6示意性示出了图5中的步骤S506在一示例性实施例中的处理流程图;
图7示意性示出了根据本公开的一实施例的应用半导体存储器的训练方法的示意图;
图8示意性示出了根据本公开的一实施例的应用半导体存储器的训练方法的示意图;
图9示意性示出了根据本公开的一实施例的计算机启动的流程图;
图10示意性示出了图9中的步骤S902在一示例性实施例中的处理流程图;
图11示意性示出了根据本公开的一个实施例的半导体存储器的训练装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
虽然本说明书中使用相对性的用语,例如“上”“下”来描述图标的一个组件对于另一组件的相对关系,但是这些术语用于本说明书中仅出于方便,例如根据附图中所述的示例的方向。能理解的是,如果将图标的装置翻转使其上下颠倒,则所叙述在“上”的组件将会成为在“下”的组件。当某结构在其它结构“上”时,有可能是指某结构一体形成于其它结构上,或指某结构“直接”设置在其它结构上,或指某结构通过另一结构“间接”设置在其它结构上。
用语“一个”、“一”、“该”、“所述”和“至少一个”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”、“第二”仅作为标记使用,不是对其对象的数量限制。
由于半导体存储器工作频率的提高,信号之间可容错的范围变得非常小,如果不通过训练使信号满足相应的时延要求,半导体存储器无法正常工作。半导体存储器训练是半导体存储器初始化工作的一个必须环节,训练不完成则半导体存储器不能完成初始化,系统数据及代码不能加载到半导体存储器,故半导体存储器训练的快慢决定了系统启动的快慢。
图1示意性示出了根据本公开的一实施例的半导体存储器的训练方法的流程图。本公开实施例中,所述半导体存储器可以是任意一种半导体存储器,例如,DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory,双倍速率同步动态随机存储器),在下面的举例说明中,以LPDDR 4(Low Power DDR SDRAM,低功率DDR SDRAM)为例进行举例说明,但本公开并不限定于此,半导体存储器可以是任意一种存储器。
本公开实施例中,所述半导体存储器可以包括多根目标信号线,每根目标信号线在目标电压参考范围内可以具有多个参考电压。
本公开实施例中的目标信号线例如可以是半导体存储器的命令信号线(可以简写为CA信号线,其对应的是CA信号)、数据信号线(其对应的是数据信号)等中的任意一种或者多种。在下面的举例说明中,均以LPDDR 4的六根CA信号线(标记为CA0-CA5)作为该多根目标信号线为例进行举例说明,其它信号线的训练过程与此类似。
其中,命令或数据信号均有相应的电压参考范围(Range),如JEDEC(JointElectron Device Engineering Council,联合电子设备工程委员会)标准中规定LPDDR4CA信号的电压参考分为两个Range:Range[0]范围为10.0%-30.0%的VDD2,Range[1]范围为22.0%-42.0%的VDD2,两个Range步长均为0.4%,两个电压参考范围有重合部分,如下表1所示,即两个Range的参考电压共81(一共102个减去21个重合的)个。
在下面的举例说明中,均以目标电压参考范围为上述Range[0]和Range[1]范围、且该多个参考电压为上述两个Range中的81个参考电压为例进行举例说明。但需要说明的是,不同的协议有不同的电压参考范围及步长,因此,本公开实施例并不限于上述举例说明。
表1
本公开实施例中,假设当前被测试的半导体存储器具有命令信号线6根,数据信号线8或者16根(不同的协议可能会有不同)。其中,在CA Training中需要获得各个参考电压下CA0-CA5共6根命令信号线的工作时延范围中的最小值(例如,该81个参考电压下该6根命令信号线的最小时延值)中的最大值(即期望时延值),由于有电压参考范围及工作时延值两个变量,故称为二维训练。
相关技术中,在训练过程中,是先获得所有CA信号在一个参考电压下的最小时延值minDelay,作为训练该参考电压的训练结果,然后再获得所有CA信号在下一个参考电压下的最小时延值minDelay作为训练该下一个参考电压的训练结果,重复上述步骤直到将所有参考电压遍历完,然后在所有参考电压下,获得这些训练结果中的所有最小时延值中的最大值作为该半导体存储器的最终训练结果。
例如,针对上述6根CA信号线中的每个CA信号,需要依次测试81个参考电压下的时延情况,假设初始时延范围为0-1023,且假设当前被测试的一根CA信号线的工作时延范围实际上是[104,706],其中104为左侧margin值,706为右侧margin值,则获取该一根CA信号线在一个参考电压下的工作时延范围的过程为:从0时延开始,每次加1时延来判断该一根CA信号线是否能正常工作,由于在测试时延706时发现该一根CA信号线仍然能够正常工作,而在测试时延707时发现该一根CA信号线不能够正常工作,因此该一根CA信号线一共需要右侧margin值+2=708次判定,才能确定出该根CA信号线的右侧margin值为706。其中,“右侧margin值+2”个判定时间之和即为该一根CA信号线获取工作时延范围的测试耗时。
依据上述方式,分别计算出6根CA信号线在81个参考电压下各自的测试耗时,然后再将这6*81个测试耗时进行累计,即为这6根CA信号线的总测试时间。由此可以获知,相关技术中采用的训练方式,需要遍历所有参考电压及时延,计算量非常大,非常耗时,从而会导致训练时间较长,进而影响系统启动速度。
由于半导体存储器工作时延,会受半导体存储器的当前工作温度及工作电压影响,即半导体存储器的训练结果可能会发生变化。同时在工作过程中,半导体存储器控制器会根据当前工作温度或工作电压,决定对该半导体存储器再次进行训练。因此,本公开实施例提出一种基于记忆值(存储的历史训练结果)的半导体存储器的再次训练方式,例如,可以在开机时对该半导体存储器做一次训练,然后将开机时获得的训练结果作为历史训练结果存储起来,然后在该半导体存储器工作过程中,因该半导体存储器的当前工作温度或者工作电压变化,对该半导体存储器再次进行训练,该再次训练可以基于上述存储的历史训练结果进行,以减少训练时间。
如图1所示,本公开实施例提供的半导体存储器的训练方法可以包括以下步骤。
在步骤S110中,获取存储的所述半导体存储的历史训练结果,所述历史训练结果可以包括历史期望时延值minDelay及历史期望电压tVref。
本公开实施例中,历史训练结果可以存储在任意非易失性存储器中。
本公开实施例中,期望时延值是指半导体存储器的目标信号线在参考电压下的最小时延值中的最大时延值。例如,以目标信号线包括CA0-CA5为例,则其期望时延值是指CA0-CA5在上述81个参考电压下的最小延时值中的最大延时值,即假设第j个参考电压下CA0-CA5的最小延时值为curValj=min(leftVal0j,leftVal1j,leftVal2j,leftVal3j,leftVal4j,leftVal5j),则期望时延值=max(curVal0,curVal1,curVal2,curVal3,curVal4,curVal5,curVal6,curVal7,curVal8,…,curVal80)。注意,这里是指期望时延值的含义,而不是本公开实施例获得期望时延值的方式。期望电压是指获得该期望时延值所对应的参考电压。
本公开实施例中,历史期望时延值和历史期望电压是指在当前时间之前对该半导体存储器进行训练获得的训练结果中的期望时延值及其对应的参考电压。例如,可以是开机时对该半导体存储器进行训练获得的期望时延值及其对应的参考电压,也可以是当前时间之前对该半导体存储器进行上一次训练获得的训练结果中的期望时延值及其对应的参考电压,也有可能是当前时间之前对该半导体存储器进行任意一次训练获得的训练结果中的期望时延值及其对应的参考电压,本公开对此不作限定。
在步骤S120中,设置时延阈值和当前训练电压范围,所述时延阈值小于或等于所述历史期望时延值,所述当前训练电压范围包括所述历史期望电压。
在下面的举例说明中,用M表示所设置的时延阈值,M为大于0的实数,且M<=历史期望时延值minDelay。M的取值可以根据实际需求进行设置,本公开对此不做限定。例如,若对半导体存储器的训练结果要求较高,则可以设置较大的M值,若要求较低,则可以设置相对小一点的M。
本公开实施例中,当前训练电压范围包括该历史期望电压tVref。由于半导体存储器的工作时延会受半导体存储器的当前工作温度及工作电压,即半导体存储器的时延和参考电压之间的关系曲线会发生偏移,若考虑到半导体存储器的当前工作温度及工作电压该关系曲线的偏移影响较大,则可以设定较大的当前训练电压范围;若影响较小,则可以设定相对较小的当前训练电压范围,即当前训练电压范围可以根据实际情况设定。
在步骤S130中,获取所述半导体存储器在所述历史期望电压下的当前最小时延值。
本公开实施例中,当半导体存储器的工作温度或者工作电压发生变化时,决定对该半导体存储器再次进行训练,获取该半导体存储器在上述历史期望电压tVref下的当前最小时延值tDelay,即该半导体存储器所有目标信号线在该历史期望电压tVref下的所有最小时延值中的最小值。
在步骤S140中,若所述半导体存储器在所述历史期望电压下的当前最小时延值大于或等于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
本公开实施例中,如果在该历史期望电压tVref下的当前最小时延值tDelay大于或者等于上述设置的时延阈值M,则标明该半导体存储器在当前工作温度或者工作电压下,时延与参考电压的关系曲线偏移并不大,此时可以忽略该当前工作温度或者工作电压变化的影响,继续将上述存储的历史训练结果作为该半导体存储器的当前训练结果,即历史期望时延值作为当前期望时延值,历史期望电压作为当前期望电压,此时不需要更新历史训练结果,继续保持非易失性存储器中的原历史训练结果即可。
本公开实施方式提供的半导体存储器的训练方法,通过获取该半导体存储器的存储的历史训练结果,该历史训练结果包括历史期望时延值及历史期望电压,然后设置一个小于或等于该历史期望时延值的时延阈值,并根据该历史期望电压设置一个当前训练电压范围,该当前训练电压范围包括该历史期望电压;由此,当需要重新训练该半导体存储器时,可以获取该半导体存储器在该历史期望电压下的当前最小时延值。其中,若该半导体存储器在该历史期望电压下的当前最小时延值大于或等于上述设置的时延阈值,则可以直接将存储的上述历史训练结果作为该半导体存储器的当前训练结果,进而可以提高半导体存储器的训练效率,降低训练所使用的时间,因此,能够加快系统启动的速度。
图2示意性示出了根据本公开的一实施例的半导体存储器的训练方法的流程图。图2实施例示例性给出了生成及存储历史训练结果的方法。需要说明的是,图2实施例的测试时间是在当前时间之前的。图2实施例中,该半导体存储器具有多个参考电压(举例说明中均以上述81个参考电压为例)。
在获得每根目标信号线在各个参考电压下的最小时延值后,可以获得所有目标信号线的最小时延值中的最小值,由于半导体存储器的工作性质决定了,在各个参考电压下,所有目标信号线的最小时延值中的最小值一般为正态分布形式(如图3所示)、随着参考电压的增高而增高或者随着参考电压的增高而减小(如图4所示)三种方式,但预先无法获知是这三种方式中的哪一种,因为每个半导体存储器的情况可能不相同,需要通过本公开实施例提供的方法来测试。
如图2所示,在获取存储的历史训练结果之前,本公开实施例提供的方法还可以包括以下步骤。
在步骤S210中,从所述多个参考电压中的最小参考电压开始,依次获取所述半导体存储器在第一当前参考电压下的历史最小时延值,获取所述半导体存储器在所述第一当前参考电压的下一参考电压下的历史最小时延值,直至满足第一预设条件。
例如,将上述81个参考电压按照从小到大升序排列,最左侧的为最小参考电压,最右侧的为最大参考电压,可以从这81个参考电压的最小参考电压开始,首先,该第一当前参考电压为该最小参考电压,获取最小参考电压下所有目标信号线的所有最小时延值中的最小值作为该第一当前参考电压下的历史最小时延值minVal,然后,获取该最小参考电压的下一参考电压(即81个参考电压中的第二个参考电压)下所有目标信号线的所有最小时延值中的最小值作为该第一当前参考电压的下一参考电压下的历史最小时延值curVal。
在步骤S220中,若所述第一预设条件为所述第一当前参考电压下的历史最小时延值大于或者等于所述第一当前参考电压的下一参考电压下的历史最小时延值,则确定所述第一当前参考电压下的历史最小时延值为所述历史期望时延值。
例如,若最小参考电压的minVal>=第二个参考电压的curVal,则可以判定对应的是图4中的所有目标信号线的最小时延值中的最小值随着参考电压的增高而减小的方式,此时经过一次测试就可以获得历史期望时延值及历史期望电压,即该最小参考电压为历史期望电压,该最小参考电压下的历史最小时延值minVal即为历史期望时延值。
若最小参考电压的minVal<第二个参考电压的curVal,则可以判定对应的是图3的正态分布方式或者图4中的所有目标信号线的最小时延值中的最小值随着参考电压的增高而增高的方式,此时,可以继续将该第二个参考电压作为第一当前参考电压,用第二个参考电压的curVal更新成为第一当前参考电压的minVal,并将第二个参考电压的下一参考电压即第三个参考电压作为该第一当前参考电压的下一参考电压,获得该第三个参考电压下所有目标信号线的最小时延值中的最小值作为第一当前参考电压下的下一参考电压curVal;…重复执行上述步骤,若能够首次查找到某个时刻下的第一当前参考电压下的minVal大于或者等于该时刻下的第一当前参考电压的下一参考电压的curVal,则可以判定是图3所示的正态分布方式,且该时刻下,该第一当前参考电压下的minVal是该正态分布方式的所有最小时延值中的最大值(即图3的峰值),即是历史期望时延值,该时刻的第一当前参考电压即为历史期望电压。
在步骤S230中,若所述第一预设条件为所述第一当前参考电压下的历史最小时延值小于所述第一当前参考电压的下一参考电压下的历史最小时延值,且所述第一当前参考电压的下一参考电压为所述多个参考电压中的最大参考电压,则确定所述第一当前参考电压的下一参考电压下的历史最小时延值为所述历史期望时延值。
例如,若重复执行上述步骤,一直未满足首次查找到某个时刻下的第一当前参考电压下的minVal大于或者等于该时刻下的第一当前参考电压的下一参考电压的curVal,直到第一当前参考电压是上述81个参考电压中的第80个参考电压,第一当前参考电压的下一参考电压为该81个参考电压中的第81个参考电压即最大参考电压,且此时该第一当前参考电压下的历史最小时延值小于该第一当前参考电压的下一参考电压下的历史最小时延值,则可以判定属于如图4所示的所有目标信号线的最小时延值中的最小值随着参考电压的增高而增高的方式,这时上述81个参考电压中的最大参考电压即为历史期望电压,其对应的历史最小时延值即可历史期望时延值。
在步骤S240中,存储所述历史期望时延值及所述历史期望电压作为所述半导体存储器的所述历史训练结果。
将上述历史期望时延值标记为minDelay,历史期望电压标记为tVref,存储至任意的非易失性存储器中。
需要说明的是,上述图2实施例是从升序排列的后的最小参考电压开始作为第一当前参考电压,但本公开并不限定于此,例如,也可以将多个参考电压进行从大到小的降序排列,从最大参考电压开始作为第一当前参考电压。
采用图2实施例的方式,可以在历史训练时(例如开机时对半导体存储器的第一次训练),获得最准确的历史期望时延值和历史期望电压,但本公开对如何获得历史训练结果的方法并不限于上述图2所例举的方式。例如,可以通过先判断历史期望时延值对应的参考电压即历史期望电压是在当前选定的81个参考电压中的任意一个参考电压的左侧还是右侧,然后再利用大步长来缩小搜索范围,再利用小步长来精确查找,由此可以加快检索到历史期望时延值的速度,减小训练时间,提高训练效果,同时保证训练结果的准确性。
例如,可以选取上述81个参考电压中的任意一个参考电压记为midVref。下面对如何获得每根目标信号线在各个参考电压下的工作时延范围进行举例说明。以CA0为例,假设CA0在midVref参考电压下的初始时延范围为0-1023,且还假设CA0在midVref参考电压下的工作时延范围实际上是[104,706]。在需要说明的是,这里仅用于举例说明,实际上的初始时延范围和工作时延范围可以根据实际情况而定。
假设大步长N=10(本公开并不限定于此,可以根据实际需要进行设置),从初始时延范围左侧的“0”时延值开始,以大步长10往初始时延范围右侧递增,则可以获得CA0在midVref参考电压下的多个时延值,例如0,10,20,30,40,50,60,70,80,90,100,110,120,…,690,700,710,…1010,1020。首先从0时延值开始,在midVref参考电压下,测试CA0是否能够正常工作(向半导体存储器写入预设的一些数据。然后,在0时延值后,再从该半导体存储器中读取出上述写入的预设的一些数据,若读取的数据与上述写入的预设的一些数据是相同的,则说明在midVref参考电压下,CA0在0时延值下是能够正常工作的。反之,则说明是不能够正常工作的,后续测试与此类似),若测试结果为不能正常工作(即非正常工作),则继续测试CA0在10时延值下是否能够正常工作,若测试结果为非正常工作,则继续测试CA0在20时延值下是否能够正常工作,…,这样一直测试到100时延值时,CA0还是不能在midVref参考电压下正常工作,但是测试到110时延值时,CA0能在midVref参考电压下正常工作,即首次查找到相邻两个时延值100和110下,CA0的测试结果不一致,此时可以判定CA0在midVref参考电压下的工作时延范围的左侧margin值在100与110时延值之间,此时可以采用比大步长N小的小步长M(假设为2,但本公开并不限定于此)在100与110时延值之间继续精确查找CA0在midVref参考电压下的工作时延范围的左侧margin值。
然后,从首次查找到的相邻两个时延值100和110中的位于左侧的时延值100开始,按照小步长2依次递增可以获得CA0在midVref参考电压下的时延值102,104,106,108。这里,由于CA0在midVref参考电压下的实际工作时延范围的左侧margin值为104,所以在102时延值下的测试结果为非正常工作。然后,继续测试CA0在midVref参考电压下,在104时延值下是否能够正常工作,这里的测试结果为能够正常工作,即首次查找到相邻两个时延值102和104下CA0在测试结果不一致,此时,可以将位于右侧的时延值104作为CA0在midVref参考电压下的最小时延值,即测试获得的左侧margin值。
再从上述的时延值110继续测试,可以测试CA0在midVref下,时延值120,130,…,一直到700下均能够正常工作,直到时延值710下CA0不能正常工作,即再次查找到相邻两个时延值700和710的测试结果不一致,说明CA0在midVref下的工作时延范围的右侧margin值即最大时延值在700和710之间,此时可以以小步长继续在700和710之间查找右侧margin值。
若midVref下的所有目标信号线的最小时延值中的最小值大于midVref-1下的所有目标信号线的最小时延值中的最小值,说明此时历史期望时延值在升序排列后的81个参考电压的右侧。则可以从midVref开始,向右查找历史期望时延值。类似的,可以先采用大步长向右查找,缩小搜索范围,然后,再利用小步长在缩小后的范围中精确定位历史期望时延值。
例如,假设从参考电压midVref=30开始,按照大步长(假设取值为8)开始依次递增选取参考电压38,46,54,62,70,78,86。获得CA0-CA5各自在参考电压38下的六个最小时延值,然后将这六个最小时延值中的最小值作为CA0-CA5在参考电压38下的最小时延值。类似的方式,可以获得CA0-CA5在参考电压46下的最小时延值。若CA0-CA5在参考电压38下的最小时延值小于CA0-CA5在参考电压46下的最小时延值,则说明历史期望时延值在参考电压46的右侧,需要继续查找。…继续获得CA0-CA5在参考电压62下的最小时延值,若经过比较发现,CA0-CA5在参考电压54下的最小时延值大于CA0-CA5在参考电压62下的最小时延值,则说明历史期望时延值在相邻两个参考电压54和62之间。然后,利用小步长在参考电压54和参考电压62之间查找历史期望时延值。
例如,从参考电压54开始,按照小步长2依次递增可以获得参考电压54,56,58,60和62。根据CA0-CA5在参考电压56下的六个最小时延值,将这六个最小时延值中的最小值作为CA0-CA5在参考电压56下的最小时延值。若经过比较发现,CA0-CA5在参考电压56下的最小时延值大于CA0-CA5在参考电压58下的参考时延值,则可以将参考电压56下的CA0-CA5的最小时延值作为历史期望时延值。
图5示意性示出了根据本公开的一实施例的半导体存储器的训练方法的流程图。如图5所示,与上述实施例相比,其不同之处在于,还可以进一步包括以下步骤。
在步骤S501中,若所述历史期望电压下的当前最小时延值小于所述时延阈值,则获取所述半导体存储器在所述历史期望电压的下一参考电压下的当前最小时延值。
设定一个小于或者等于历史期望时延值minDelay的时延阈值M及当前训练的当前训练电压范围。从上述非易失性存储器中读取历史训练结果,当前训练时使用历史训练的历史期望电压tVref作为当前训练的初始参考电压。
本公开实施例中,可以使用变量(记号)flag来标识当前期望时延值是在存储的历史期望时延值的左侧还是右侧。图5实施例中,默认flag=0为在右侧。
在当前训练中,如果在tVref处获取的当前最小时延值tDelay大于或者等于时延阈值M,则当前训练结束,非易失性存储器中存储的历史训练结果维持不变。
本公开实施例中,在tVref处的当前最小时延值tDelay是指在当前训练中,分别获得tVref下各个目标信号线的当前最小时延值,然后取所有目标信号线的所有当前最小时延值中的最小值作为tDelay。例如分别获得tVref下CA0,CA1,…CA5的六个最小时延值(左侧margin值),然后将这六个最小时延值中的最小值作为tDelay。
在当前训练中,如果在tVref处获取的当前最小时延值tDelay小于时延阈值M,则可以继续获取tVref+1处的当前最小时延值cDelay,进入下述步骤S502、S503或者S504。
在步骤S502中,若所述历史期望电压的下一参考电压下的当前最小时延值大于或等于所述时延阈值,则确定所述历史期望电压的下一参考电压下的当前最小时延值为当前期望时延值。
如果cDelay>=M,类似的,表明当前工作温度或工作电压对关系曲线的偏移影响可忽略,此时可以结束当前训练,进入步骤S510。
继续参考图5,在步骤S503中,若所述历史期望电压的下一参考电压下的当前最小时延值小于所述时延阈值,且所述历史期望电压的下一参考电压下的当前最小时延值大于或者等于所述历史期望电压下的当前最小时延值,则确定所述历史期望电压的下一参考电压和所述当前训练电压范围的最大参考电压之间为第一目标查找区间。
若cDelay<M,且cDelay>=tDelay,则说明当前期望时延值在右侧,则将tVref+1和当前训练电压范围的最大参考电压作为第一目标查找区间,继续在该第一目标查找区间内往右侧查找,进入下述步骤S505或者S506。
在步骤S504中,若所述历史期望电压的下一参考电压下的当前最小时延值小于所述时延阈值,且所述历史期望电压的下一参考电压下的当前最小时延值小于所述历史期望电压下的当前最小时延值,则确定所述历史期望电压和所述当前训练电压范围的最小参考电压之间为第二目标查找区间。
若cDelay<M,且cDelay<tDelay,则说明当前期望时延值在左侧,则将tVref和当前训练电压范围的最小参考电压之间作为第二目标查找区间,从tVref-1开始在该第二目标查找区间内向左侧查找,进入下述步骤S507或者S508。
在步骤S505中,若在所述第一目标查找区间查找到所述半导体存储器在第一参考电压下的当前最小时延值大于或者等于所述时延阈值,则将所述第一参考电压下的当前最小时延值作为所述当前期望时延值。
接续上述步骤S503,将tVref+1的当前最小时延值cDelay赋值给tDelay(即用cDelay更新tDelay),获取tVref+2的当前最小时延值cDelay,将tVref+2的当前最小时延值cDelay与M和更新后的tDelay(即tVref+1的当前最小时延值)进行比较,依次递增参考电压,重复执行上述步骤,若在该第一目标查找区间内能首次找个某个参考电压(称之为第一参考电压)下的当前最小时延值cDelay大于或等于时延阈值M,则可以结束当前训练,进入步骤S510。
在步骤S506中,在所述第一目标查找区间查找所述半导体存储器的当前最小时延值中的最大值。
接续上述步骤S503,若在该第一目标查找区间内不能找个某个参考电压下的当前最小时延值cDelay大于或等于时延阈值M,则可以进入步骤S506。即在该第一目标查找区间内查找该半导体存储器的当前最小时延值中的最大值(也可以称之为右侧最大值),然后进入步骤S509。
在步骤S507中,若在所述第二目标查找区间查找到所述半导体存储器在第二参考电压下的当前最小时延值大于或者等于所述时延阈值,则将所述第二参考电压下的当前最小时延值作为所述当前期望时延值。
接续上述步骤S504,获取tVref-1的当前最小时延值cDelay,将tVref-1的当前最小时延值cDelay与M和tDelay(即tVref的当前最小时延值)进行比较,依次递增参考电压,重复执行上述步骤,若在该第二目标查找区间内能首次找个某个参考电压(称之为第二参考电压)下的当前最小时延值cDelay大于或等于时延阈值M,则可以结束当前训练,进入步骤S510。
在步骤S508中,在所述第二目标查找区间查找所述半导体存储器的当前最小时延值中的最大值。
接续上述步骤S504,若在该第二目标查找区间内不能找个某个参考电压下的当前最小时延值cDelay大于或等于时延阈值M,则可以进入步骤S508。即在该第二目标查找区间内查找该半导体存储器的当前最小时延值中的最大值(也可以称之为左侧最大值),然后进入步骤S511。
在步骤S509中,若所述第一目标查找区间内的最大值小于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
接续上述步骤S506,如果该右侧最大值仍然小于M,则说明当前训练失败,结束当前训练,维持非易失性存储器中的历史训练结果不变。
在步骤S510中,存储所述当前期望时延值及所述当前期望时延值对应的参考电压,作为所述半导体存储器的当前训练结果。
若从上述步骤S502进入步骤S510,则将tVref+1作为当前训练的tVref(当前期望电压,可以作为下一次训练的历史期望电压),且其对应的cDelay更新为minDelay(当前期望时延值,可以作为下一次训练的历史期望时延值),存储至非易失性存储器中,以替换历史训练(上一次训练)的历史训练结果。这种情况下,只需要两次训练即可确定当前训练结果。
若从上述步骤S505进入步骤S510,则将该第一参考电压作为当前训练的当前期望电压,且该第一参考电压下的当前最小时延值作为当前期望时延值,并可以利用当前期望电压和当前期望时延值更新非易失性存储器中的tVref和minDelay。
若从上述步骤S507进入步骤S510,则将该第二参考电压作为当前训练的当前期望电压,且该第二参考电压下的当前最小时延值作为当前期望时延值,并可以利用当前期望电压和当前期望时延值更新非易失性存储器中的tVref和minDelay。
在步骤S511中,若所述第二目标查找区间内的最大值小于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
接续上述步骤S508,如果该左侧最大值仍然小于M,则说明当前训练失败,结束当前训练,维持非易失性存储器中的历史训练结果不变。
可以理解的是,采用本公开实施例提供的方法,随着时间的推移,可以对存储的历史训练结果进行更新,例如,可以用当前训练结果替换之前存储的历史训练结果,则此时该当前训练结果成为更新后的历史训练结果,该更新后的历史训练结果作为下一次训练的历史训练结果。
图6示意性示出了图5中的步骤S506在一示例性实施例中的处理流程图。如图6所示,本公开实施例中,上述步骤S506可以进一步包括以下步骤。
在步骤S5061中,从所述历史期望电压的下一参考电压开始,依次获取所述半导体存储器在第二当前参考电压下的当前最小时延值,获取所述半导体存储器在所述第二当前参考电压的下一参考电压的当前最小时延值,直至满足第二预设条件。
为了查找到在该第一目标查找区间内该半导体存储器的当前最小时延值中的最大值(即右侧最大值),可以从tVref+1开始,首先将tVref+1作为第二当前参考电压,获得tVref+1下的当前最小时延值,然后获得tVref+2下的当前最小时延值,若tVref+1下的当前最小时延值小于tVref+2下的当前最小时延值,则说明右侧最大值还需要继续往右侧查找。此时将tVref+2作为第二当前参考电压,然后获得tVref+3下的当前最小时延值,比较tVref+2下的当前最小时延值与tVref+3下的当前最小时延值,…。
在步骤S5062中,若所述第二预设条件为所述第二当前参考电压下的当前最小时延值大于或者等于所述第二当前参考电压的下一参考电压下的当前最小时延值,则确定所述第二当前参考电压下的当前最小时延值为所述第一目标查找区间内的最大值。
重复执行上述步骤,若能够在该第一目标查找区间内,找到某个第二当前参考电压下的当前最小时延值大于或者等于该第二当前参考电压的下一参考电压下的当前最小时延值,则可以将该第二当前参考电压下的当前最小时延值作为右侧最大值,此时对应的是时延与电压之间呈图3所示的正态分布方式。
在步骤S5063中,若所述第二预设条件为所述第二当前参考电压下的当前最小时延值小于所述第二当前参考电压的下一参考电压下的当前最小时延值,且所述第二当前参考电压的下一参考电压为所述第一目标查找区间的最大参考电压,则确定所述第二当前参考电压的下一参考电压下的当前最小时延值为所述第一目标查找区间内的最大值。
反之,若不能够在该第一目标查找区间内找到某个第二当前参考电压下的当前最小时延值大于或者等于该第二当前参考电压的下一参考电压下的当前最小时延值,直到查找到第一目标查找区间的最大参考电压,该最大参考电压下的当前最小时延值大于其前一参考电压(即此时的第二当前参考电压)下的当前最小时延值,则对应的是图4所示的时延随着电压增高而增高的分布方式,则将该第一目标查找区间的最大参考电压下的当前最小时延值作为右侧最大值。
采用与图6类似的方式,可以在所述第二目标查找区间查找所述半导体存储器的当前最小时延值中的最大值即左侧最大值。
在上述图5和6的实施例中,是在开始当前测试时,默认当前期望时延值在历史期望时延值的右侧,但本公开并不限定于此,也可以设置flag=1,即默认当前期望时延值在历史期望时延值的左侧。
在示例性实施例中,所述方法还可以包括:若所述历史期望电压下的当前最小时延值小于所述时延阈值,则获取所述半导体存储器在所述历史期望电压的前一参考电压下的当前最小时延值;若所述历史期望电压的前一参考电压下的当前最小时延值大于或等于所述时延阈值,则确定所述历史期望电压的前一参考电压下的当前最小时延值为当前期望时延值。
在示例性实施例中,所述方法还可以包括:若所述历史期望电压的前一参考电压下的当前最小时延值小于所述时延阈值,且所述历史期望电压的前一参考电压下的当前最小时延值大于或者等于所述历史期望电压下的当前最小时延值,则确定所述历史期望电压的前一参考电压和所述当前训练电压范围的最小参考电压之间为第三目标查找区间;若在所述第三目标查找区间查找到所述半导体存储器在第三参考电压下的当前最小时延值大于或者等于所述时延阈值,则将所述第三参考电压下的当前最小时延值作为所述当前期望时延值;存储所述当前期望时延值及所述当前期望时延值对应的参考电压,作为所述半导体存储器的当前训练结果。
在示例性实施例中,所述方法还可以包括:在所述第三目标查找区间查找所述半导体存储器的当前最小时延值中的最大值;若所述第三目标查找区间内的最大值小于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
在示例性实施例中,在所述第三目标查找区间查找所述半导体存储器的当前最小时延值中的最大值,可以包括:从所述历史期望电压的前一参考电压开始,依次获取所述半导体存储器在第三当前参考电压下的当前最小时延值,获取所述半导体存储器在所述第三当前参考电压的前一参考电压的当前最小时延值,直至满足第三预设条件;若所述第三预设条件为所述第三当前参考电压下的当前最小时延值大于或者等于所述第三当前参考电压的前一参考电压下的当前最小时延值,则确定所述第三当前参考电压下的当前最小时延值为所述第三目标查找区间内的最大值。
在示例性实施例中,在所述第三预设条件为所述第三目标查找区间查找所述半导体存储器的当前最小时延值中的最大值,还可以包括:若所述第三当前参考电压下的当前最小时延值小于所述第三当前参考电压的前一参考电压下的当前最小时延值,且所述第三当前参考电压的前一参考电压为所述第三目标查找区间的最小参考电压,则确定所述第三目标查找区间的最小参考电压下的当前最小时延值为所述第三目标查找区间内的最大值。
在示例性实施例中,所述方法还可以包括:若所述历史期望电压的前一参考电压下的当前最小时延值小于所述时延阈值,且所述历史期望电压的前一参考电压下的当前最小时延值小于所述历史期望电压下的当前最小时延值,则确定所述历史期望电压和所述当前训练电压范围的最大参考电压之间为第四目标查找区间;若在所述第四目标查找区间查找到所述半导体存储器在第四参考电压下的当前最小时延值大于或者等于所述时延阈值,则将所述第四参考电压下的当前最小时延值作为所述当前期望时延值。
在示例性实施例中,所述方法还可以包括:在所述第四目标查找区间查找所述半导体存储器的当前最小时延值中的最大值;若所述第四目标查找区间内的最大值小于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
例如,在当前训练中,如果在历史期望电压tVref处获取到的当前最小时延值tDelay大于或者等于时延阈值M,则结束当前训练,保持非易失性存储器中的历史训练结果不变。
在当前训练中,如果在历史期望电压tVref处获取到的当前最小时延值tDelay小于时延阈值M,则获取tVref-1处的当前最小时延值cDelay,如果tVref-1处的当前最小时延值cDelay>=tVref处的当前最小时延值tDelay,则说明当前期望时延值在tVref-1的左侧,继续在tVref-1的左侧找,如果能够在第三目标查找区间内首次找到某个第三参考电压的当前最小时延值大于或者等于时延阈值M,则结束当前训练,并将该第三参考电压作为当前期望电压,该第三参考电压下的当前最小时延值作为当前期望时延值,用来更新非易失性存储器中存储的历史训练结果。如果在第三目标查找区间内找到左侧最大值,且该第三目标查找区间内的左侧最大值仍然小于时延阈值M,则判定当前训练失败,结束当前训练,保持非易失性存储器中的历史训练结果不变。
如果tVref-1处的当前最小时延值cDelay<tVref处的当前最小时延值tDelay,则说明当前期望时延值在tVref的右侧,从tVref+1开始往右侧找,如果能够在第四目标查找区间内首次找到某个第四参考电压的当前最小时延值大于或者等于时延阈值M,则结束当前训练,并将该第四参考电压作为当前期望电压,该第四参考电压下的当前最小时延值作为当前期望时延值,用来更新非易失性存储器中存储的历史训练结果。如果在第四目标查找区间内找到右侧最大值,且该第四目标查找区间内的右侧最大值仍然小于时延阈值M,则判定当前训练失败,结束当前训练,保持非易失性存储器中的历史训练结果不变。
下面结合图7和8的实例对上述实施例提供的方法进行举例说明。
图7示意性示出了根据本公开的一实施例的应用半导体存储器的训练方法的示意图。
如图7所示,假设非易失性存储器中存储的历史训练结果为:历史期望电压:20,历史期望时延值:530。且设置时延阈值为480,当前训练电压范围为10-30。
假设半导体存储器在当前工作温度或工作电压下,实际的时延分布如下表1所示:
表1
时延 | - | - | - | - | 463 | 476 | 490 | 478 | 470 | 461 | 452 |
参考电压 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
时延 | 440 | - | - | - | - | - | - | - | - | - | - |
参考电压 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
在进行当前测试时,首先,获取参考电压20下的当前最小时延值452,小于时延阈值480。则继续获取参考电压21下的当前最小时延值440,仍然小于时延阈值480,且参考电压21下的当前最小时延值440<参考电压20下的当前最小时延值452,说明当前期望时延值在参考电压20的左侧。
取参考电压20左侧参考的参考电压19(20-1)下的当前最小时延值461,461仍然小于时延阈值480。
则继续重复上述步骤,继续获取左侧的参考电压18下的当前最小时延值,…直到参考电压26时获得其当前最小时延值为490,大于时延阈值480,当前训练结束。
图8示意性示出了根据本公开的一实施例的应用半导体存储器的训练方法的示意图。
如图8所示,假设非易失性存储器中存储的历史训练结果为:历史期望电压:20,历史期望时延值:530。且设置时延阈值为480,当前训练电压范围为10-30。
假设半导体存储器在当前工作温度或工作电压下,实际的时延分布如下表2所示:
表2
时延 | - | - | - | - | 443 | 456 | 470 | 458 | 450 | 441 | 432 |
参考电压 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
时延 | 420 | - | - | - | - | - | - | - | - | - | - |
参考电压 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
在进行当前测试时,首先,获取参考电压20处的当前最小时延值为432,小于时延阈值480。则继续获取参考电压20+1处的当前最小时延值420,420<432,说明当前期望时延值在参考电压20的左侧。
继续获取参考电压19(20-1)处的当前最小时延值为441,小于时延阈值480,继续向左侧查找。
获取参考电压18处的当前最小时延值为450,大于参考电压19处的当前最小时延值441,继续向左侧查找。
获取参考电压17处的当前最小时延值为458,大于参考电压18处的当前最小时延值450,继续向左侧查找。
获取参考电压16处的当前最小时延值为470,大于参考电压17处的当前最小时延值458,继续向左侧查找。
获取参考电压15处的当前最小时延值为456,小于参考电压16处的当前最小时延值470,说明470为左侧最大值,且左侧最大值470仍然小于时延阈值480,说明在当前训练电压范围内无法找到当前训练结果,即当前训练失败。
本公开实施方式提出的半导体存储器的训练方法,是一种基于记忆的训练方法,历史训练例如第一次训练可按一定规则获取所有参考电压下最理想的时延作为历史训练结果中的历史期望时延值,然后将将上述获得的历史训练结果保存在非易失性存储器中。后续的训练可以基于非易失性存储器中所存储的历史训练结果进行。同时可以设定后续训练的当前训练电压范围,如果非易失性存储器中所存储的历史训练结果不满足要求,可在所设定的当前训练电压范围内做训练,超出所设定的当前训练电压范围仍不满足要求,则当前训练失败。由于半导体存储器的训练结果比较稳定,根据本公开实施例提供的方法,基本上仅需要做一次训练即可,相对于传统训练方法,较快的较快了训练速度,节省了计算资源。
图9示意性示出了根据本公开的一实施例的计算机启动的流程图。图9实施例中,以上述半导体存储器为计算机中的内存为例,对计算机启动过程进行阐述。
在步骤S901中,按下计算机的电源开关,给计算机上电。
在步骤S902中,开启主机后,BIOS(Basic Input Output System,基本输入输出系统)开始接管主板启动的所有自检工作。
系统首先由POST(Power On Self Test,上电自检)程序来对内部各个设备进行检查。完整的POST自检包括硬件自检,例如对CPU、内存、硬盘等进行初始化,其中包括对内存做训练,并对内存做基本测试,保证内存可使用。这里可以采用上述实施例中所提供的方法对内存做训练。一旦在自检中发现问题,系统将给出提示信息或鸣笛告警。
如图10所示,内存可以经过一下训练流程。
在步骤S9021中,CA训练(CA training)。
在步骤S9022中,读门训练(Read Gate Training)。
在步骤S9023中,写入均衡(Write Leveling)。
在步骤S9024中,写训练(Write training)。
在步骤S9025中,读训练(Read training)。
其中,CA training,Read/Write training均需要经过二维训练(即电压和时延两个维度)。Read Gate Training及Write Leveling为一维训练(仅调整时延)。
需要说明的是,不同的内存控制器,还可以增加其它训练,本公开对此不作限定。
然后,BIOS按照启动顺序,把控制权转交给下一阶段的启动程序。
在步骤S903中,主引导记录。
在步骤S904中,硬盘启动。
在步骤S905中,操作系统启动。
BIOS将系统控制权交给主引导记录,并最终完全过渡到操作系统的工作状态。
以下介绍本公开的装置实施例,可以用于执行本公开上述的数据资源处理方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的数据资源处理方法的实施例。
图11示意性示出了根据本公开的一个实施例的半导体存储器的训练装置的框图。参照图11所示,根据本公开的一个实施例的半导体存储器的训练装置1100可以包括:历史训练结果获取单元1110、阈值电压范围设置单元1120、当前最小时延获取单元1130以及当前训练结果确定单元1140。
其中,历史训练结果获取单元1110可以用于获取存储的历史训练结果,所述历史训练结果包括历史期望时延值及历史期望电压。阈值电压范围设置单元1120可以用于设置时延阈值和当前训练电压范围,所述时延阈值小于或等于所述历史期望时延值,所述当前训练电压范围包括所述历史期望电压。当前最小时延获取单元1130可以用于获取所述半导体存储器在所述历史期望电压下的当前最小时延值。当前训练结果确定单元1140可以用于若所述历史期望电压下的当前最小时延值大于或等于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
在示例性实施例中,所述半导体存储器具有多个参考电压。
在示例性实施例中,半导体存储器的训练装置1100还可以包括:历史最小时延值获取单元,可以用于在获取存储的历史训练结果之前,从所述多个参考电压中的最小参考电压开始,依次获取所述半导体存储器在第一当前参考电压下的历史最小时延值,获取所述半导体存储器在所述第一当前参考电压的下一参考电压下的历史最小时延值,直至满足第一预设条件;第一历史期望时延值确定单元,可以用于若所述第一预设条件为所述第一当前参考电压下的历史最小时延值大于或者等于所述第一当前参考电压的下一参考电压下的历史最小时延值,则确定所述第一当前参考电压下的历史最小时延值为所述历史期望时延值;第一历史训练结果存储单元,可以用于存储所述历史期望时延值及所述历史期望电压作为所述半导体存储器的所述历史训练结果。
在示例性实施例中,半导体存储器的训练装置1100还可以包括:第二历史期望时延值确定单元,可以用于在获取存储的历史训练结果之前,若所述第一预设条件为所述第一当前参考电压下的历史最小时延值小于所述第一当前参考电压的下一参考电压下的历史最小时延值,且所述第一当前参考电压的下一参考电压为所述多个参考电压中的最大参考电压,则确定所述第一当前参考电压的下一参考电压下的历史最小时延值为所述历史期望时延值;第二历史训练结果存储单元,可以用于存储所述历史期望时延值及所述历史期望电压作为所述半导体存储器的所述历史训练结果。
在示例性实施例中,半导体存储器的训练装置1100还可以包括:第一当前最小时延值获取单元,可以用于若所述历史期望电压下的当前最小时延值小于所述时延阈值,则获取所述半导体存储器在所述历史期望电压的下一参考电压下的当前最小时延值;第一当前期望时延值确定单元,可以用于若所述历史期望电压的下一参考电压下的当前最小时延值大于或等于所述时延阈值,则确定所述历史期望电压的下一参考电压下的当前最小时延值为当前期望时延值。
在示例性实施例中,半导体存储器的训练装置1100还可以包括:第一目标查找区间确定单元,可以用于若所述历史期望电压的下一参考电压下的当前最小时延值小于所述时延阈值,且所述历史期望电压的下一参考电压下的当前最小时延值大于或者等于所述历史期望电压下的当前最小时延值,则确定所述历史期望电压的下一参考电压和所述当前训练电压范围的最大参考电压之间为第一目标查找区间;第二当前期望时延值确定单元,可以用于若在所述第一目标查找区间查找到所述半导体存储器在第一参考电压下的当前最小时延值大于或者等于所述时延阈值,则将所述第一参考电压下的当前最小时延值作为所述当前期望时延值;第一当前训练结果存储单元,可以用于存储所述当前期望时延值及所述当前期望时延值对应的参考电压,作为所述半导体存储器的当前训练结果。
在示例性实施例中,半导体存储器的训练装置1100还可以包括:第一目标查找区间最大值查找单元,可以用于在所述第一目标查找区间查找所述半导体存储器的当前最小时延值中的最大值;第一历史训练结果保持单元,可以用于若所述第一目标查找区间内的最大值小于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
在示例性实施例中,第一目标查找区间最大值查找单元可以包括:第二当前最小时延值获取单元,可以用于从所述历史期望电压的下一参考电压开始,依次获取所述半导体存储器在第二当前参考电压下的当前最小时延值,获取所述半导体存储器在所述第二当前参考电压的下一参考电压的当前最小时延值,直至满足第二预设条件;第一目标查找区间最大值判定单元,可以用于若所述第二预设条件为所述第二当前参考电压下的当前最小时延值大于或者等于所述第二当前参考电压的下一参考电压下的当前最小时延值,则确定所述第二当前参考电压下的当前最小时延值为所述第一目标查找区间内的最大值。
在示例性实施例中,第一目标查找区间最大值查找单元还可以包括:第一目标查找区间最大值确定单元,可以用于若所述第二预设条件为所述第二当前参考电压下的当前最小时延值小于所述第二当前参考电压的下一参考电压下的当前最小时延值,且所述第二当前参考电压的下一参考电压为所述第一目标查找区间的最大参考电压,则确定所述第二当前参考电压的下一参考电压下的当前最小时延值为所述第一目标查找区间内的最大值。
在示例性实施例中,半导体存储器的训练装置1100还可以包括:第二目标查找区间确定单元,可以用于若所述历史期望电压的下一参考电压下的当前最小时延值小于所述时延阈值,且所述历史期望电压的下一参考电压下的当前最小时延值小于所述历史期望电压下的当前最小时延值,则确定所述历史期望电压和所述当前训练电压范围的最小参考电压之间为第二目标查找区间;第三当前期望时延值确定单元,可以用于若在所述第二目标查找区间查找到所述半导体存储器在第二参考电压下的当前最小时延值大于或者等于所述时延阈值,则将所述第二参考电压下的当前最小时延值作为所述当前期望时延值;第二当前训练结果存储单元,可以用于存储所述当前期望时延值及所述当前期望时延值对应的参考电压,作为所述半导体存储器的当前训练结果。
在示例性实施例中,半导体存储器的训练装置1100还可以包括:第二目标查找区间最大值查找单元,可以用于在所述第二目标查找区间查找所述半导体存储器的当前最小时延值中的最大值;第二历史训练结果保持单元,可以用于若所述第二目标查找区间内的最大值小于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
在示例性实施例中,半导体存储器的训练装置1100还可以包括:第三当前最小时延值获取单元,可以用于若所述历史期望电压下的当前最小时延值小于所述时延阈值,则获取所述半导体存储器在所述历史期望电压的前一参考电压下的当前最小时延值;第四当前期望时延值确定单元,可以用于若所述历史期望电压的前一参考电压下的当前最小时延值大于或等于所述时延阈值,则确定所述历史期望电压的前一参考电压下的当前最小时延值为当前期望时延值。
在示例性实施例中,半导体存储器的训练装置1100还可以包括:第三目标查找区间确定单元,可以用于若所述历史期望电压的前一参考电压下的当前最小时延值小于所述时延阈值,且所述历史期望电压的前一参考电压下的当前最小时延值大于或者等于所述历史期望电压下的当前最小时延值,则确定所述历史期望电压的前一参考电压和所述当前训练电压范围的最小参考电压之间为第三目标查找区间;第五当前期望时延值确定单元,可以用于若在所述第三目标查找区间查找到所述半导体存储器在第三参考电压下的当前最小时延值大于或者等于所述时延阈值,则将所述第三参考电压下的当前最小时延值作为所述当前期望时延值;第三当前训练结果存储单元,可以用于存储所述当前期望时延值及所述当前期望时延值对应的参考电压,作为所述半导体存储器的当前训练结果。
在示例性实施例中,半导体存储器的训练装置1100还可以包括:第三目标查找区间最大值查找单元,可以用于在所述第三目标查找区间查找所述半导体存储器的当前最小时延值中的最大值;第三历史训练结果保持单元,可以用于若所述第三目标查找区间内的最大值小于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
在示例性实施例中,第三目标查找区间最大值查找单元可以包括:第四当前最小时延值获取单元,可以用于从所述历史期望电压的前一参考电压开始,依次获取所述半导体存储器在第三当前参考电压下的当前最小时延值,获取所述半导体存储器在所述第三当前参考电压的前一参考电压的当前最小时延值,直至满足第三预设条件;第三目标查找区间最大值判定单元,可以用于若所述第三预设条件为所述第三当前参考电压下的当前最小时延值大于或者等于所述第三当前参考电压的前一参考电压下的当前最小时延值,则确定所述第三当前参考电压下的当前最小时延值为所述第三目标查找区间内的最大值。
在示例性实施例中,第三目标查找区间最大值查找单元还可以包括:第三目标查找区间最大值确定单元,可以用于若所述第三预设条件为所述第三当前参考电压下的当前最小时延值小于所述第三当前参考电压的前一参考电压下的当前最小时延值,且所述第三当前参考电压的前一参考电压为所述第三目标查找区间的最小参考电压,则确定所述第三目标查找区间的最小参考电压下的当前最小时延值为所述第三目标查找区间内的最大值。
在示例性实施例中,半导体存储器的训练装置1100还可以包括:第四目标查找区间确定单元,可以用于若所述历史期望电压的前一参考电压下的当前最小时延值小于所述时延阈值,且所述历史期望电压的前一参考电压下的当前最小时延值小于所述历史期望电压下的当前最小时延值,则确定所述历史期望电压和所述当前训练电压范围的最大参考电压之间为第四目标查找区间;第六当前期望时延值确定单元,可以用于若在所述第四目标查找区间查找到所述半导体存储器在第四参考电压下的当前最小时延值大于或者等于所述时延阈值,则将所述第四参考电压下的当前最小时延值作为所述当前期望时延值。
在示例性实施例中,半导体存储器的训练装置1100还可以包括:第四目标查找区间最大值查找单元,可以用于在所述第四目标查找区间查找所述半导体存储器的当前最小时延值中的最大值;第四历史训练结果保持单元,可以用于若所述第四目标查找区间内的最大值小于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
进一步地,本公开实施方式还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例中所述的方法。
进一步地,本公开实施方式还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例中所述的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (20)
1.一种半导体存储器的训练方法,其特征在于,包括:
获取存储的所述半导体存储的历史训练结果,所述历史训练结果包括历史期望时延值及历史期望电压;
设置时延阈值和当前训练电压范围,所述时延阈值小于或等于所述历史期望时延值,所述当前训练电压范围包括所述历史期望电压;
获取所述半导体存储器在所述历史期望电压下的当前最小时延值;
若所述半导体存储器在所述历史期望电压下的当前最小时延值大于或等于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
2.根据权利要求1所述的半导体存储器的训练方法,其特征在于,所述半导体存储器具有多个参考电压;在获取存储的历史训练结果之前,所述方法还包括:
从所述多个参考电压中的最小参考电压开始,依次获取所述半导体存储器在第一当前参考电压下的历史最小时延值,获取所述半导体存储器在所述第一当前参考电压的下一参考电压下的历史最小时延值,直至满足第一预设条件;
若所述第一预设条件为所述第一当前参考电压下的历史最小时延值大于或者等于所述第一当前参考电压的下一参考电压下的历史最小时延值,则确定所述第一当前参考电压下的历史最小时延值为所述历史期望时延值,并将所述第一当前参考电压确定为所述历史期望电压;
存储所述历史期望时延值及所述历史期望电压作为所述半导体存储器的所述历史训练结果。
3.根据权利要求2所述的半导体存储器的训练方法,其特征在于,在获取存储的历史训练结果之前,所述方法还包括:
若所述第一预设条件为所述第一当前参考电压下的历史最小时延值小于所述第一当前参考电压的下一参考电压下的历史最小时延值,且所述第一当前参考电压的下一参考电压为所述多个参考电压中的最大参考电压,则确定所述第一当前参考电压的下一参考电压下的历史最小时延值为所述历史期望时延值,并将所述第一当前参考电压的下一参考电压确定为所述历史期望电压;
存储所述历史期望时延值及所述历史期望电压作为所述半导体存储器的所述历史训练结果。
4.根据权利要求1所述的半导体存储器的训练方法,其特征在于,所述半导体存储器具有多个参考电压;所述方法还包括:
若所述历史期望电压下的当前最小时延值小于所述时延阈值,则获取所述半导体存储器在所述历史期望电压的下一参考电压下的当前最小时延值,所述多个参考电压包括所述历史期望电压的下一参考电压;
若所述历史期望电压的下一参考电压下的当前最小时延值大于或等于所述时延阈值,则确定所述历史期望电压的下一参考电压下的当前最小时延值为当前期望时延值,并将所述历史期望电压的下一参考电压确定为当前期望电压;
存储所述当前期望时延值及所述历史期望电压的下一参考电压,作为所述半导体存储器的当前训练结果。
5.根据权利要求4所述的半导体存储器的训练方法,其特征在于,所述方法还包括:
若所述历史期望电压的下一参考电压下的当前最小时延值小于所述时延阈值,且所述历史期望电压的下一参考电压下的当前最小时延值大于或者等于所述历史期望电压下的当前最小时延值,则确定所述历史期望电压的下一参考电压和所述当前训练电压范围的最大参考电压之间为第一目标查找区间;
若在所述第一目标查找区间查找到所述半导体存储器在第一参考电压下的当前最小时延值大于或者等于所述时延阈值,则将所述第一参考电压下的当前最小时延值作为所述当前期望时延值;
存储所述当前期望时延值及所述当前期望时延值对应的参考电压,作为所述半导体存储器的当前训练结果。
6.根据权利要求5所述的半导体存储器的训练方法,其特征在于,所述方法还包括:
在所述第一目标查找区间查找所述半导体存储器的当前最小时延值中的最大值;
若所述第一目标查找区间内的最大值小于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
7.根据权利要求6所述的半导体存储器的训练方法,其特征在于,在所述第一目标查找区间查找所述半导体存储器的当前最小时延值中的最大值,包括:
从所述历史期望电压的下一参考电压开始,依次获取所述半导体存储器在第二当前参考电压下的当前最小时延值,获取所述半导体存储器在所述第二当前参考电压的下一参考电压的当前最小时延值,直至满足第二预设条件;
若所述第二预设条件为所述第二当前参考电压下的当前最小时延值大于或者等于所述第二当前参考电压的下一参考电压下的当前最小时延值,则确定所述第二当前参考电压下的当前最小时延值为所述第一目标查找区间内的最大值。
8.根据权利要求7所述的半导体存储器的训练方法,其特征在于,在所述第一目标查找区间查找所述半导体存储器的当前最小时延值中的最大值,还包括:
若所述第二预设条件为所述第二当前参考电压下的当前最小时延值小于所述第二当前参考电压的下一参考电压下的当前最小时延值,且所述第二当前参考电压的下一参考电压为所述第一目标查找区间的最大参考电压,则确定所述第二当前参考电压的下一参考电压下的当前最小时延值为所述第一目标查找区间内的最大值。
9.根据权利要求4所述的半导体存储器的训练方法,其特征在于,所述方法还包括:
若所述历史期望电压的下一参考电压下的当前最小时延值小于所述时延阈值,且所述历史期望电压的下一参考电压下的当前最小时延值小于所述历史期望电压下的当前最小时延值,则确定所述历史期望电压和所述当前训练电压范围的最小参考电压之间为第二目标查找区间;
若在所述第二目标查找区间查找到所述半导体存储器在第二参考电压下的当前最小时延值大于或者等于所述时延阈值,则将所述第二参考电压下的当前最小时延值作为所述当前期望时延值;
存储所述当前期望时延值及所述当前期望时延值对应的参考电压,作为所述半导体存储器的当前训练结果。
10.根据权利要求9所述的半导体存储器的训练方法,其特征在于,所述方法还包括:
在所述第二目标查找区间查找所述半导体存储器的当前最小时延值中的最大值;
若所述第二目标查找区间内的最大值小于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
11.根据权利要求1所述的半导体存储器的训练方法,其特征在于,所述半导体存储器具有多个参考电压;所述方法还包括:
若所述历史期望电压下的当前最小时延值小于所述时延阈值,则获取所述半导体存储器在所述历史期望电压的前一参考电压下的当前最小时延值,所述多个参考电压包括所述历史期望电压的前一参考电压;
若所述历史期望电压的前一参考电压下的当前最小时延值大于或等于所述时延阈值,则确定所述历史期望电压的前一参考电压下的当前最小时延值为当前期望时延值,并将所述历史期望电压的前一参考电压确定为当前期望电压;
存储所述当前期望时延值及所述历史期望电压的前一参考电压,作为所述半导体存储器的当前训练结果。
12.根据权利要求11所述的半导体存储器的训练方法,其特征在于,所述方法还包括:
若所述历史期望电压的前一参考电压下的当前最小时延值小于所述时延阈值,且所述历史期望电压的前一参考电压下的当前最小时延值大于或者等于所述历史期望电压下的当前最小时延值,则确定所述历史期望电压的前一参考电压和所述当前训练电压范围的最小参考电压之间为第三目标查找区间;
若在所述第三目标查找区间查找到所述半导体存储器在第三参考电压下的当前最小时延值大于或者等于所述时延阈值,则将所述第三参考电压下的当前最小时延值作为所述当前期望时延值;
存储所述当前期望时延值及所述当前期望时延值对应的参考电压,作为所述半导体存储器的当前训练结果。
13.根据权利要求12所述的半导体存储器的训练方法,其特征在于,所述方法还包括:
在所述第三目标查找区间查找所述半导体存储器的当前最小时延值中的最大值;
若所述第三目标查找区间内的最大值小于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
14.根据权利要求13所述的半导体存储器的训练方法,其特征在于,在所述第三目标查找区间查找所述半导体存储器的当前最小时延值中的最大值,包括:
从所述历史期望电压的前一参考电压开始,依次获取所述半导体存储器在第三当前参考电压下的当前最小时延值,获取所述半导体存储器在所述第三当前参考电压的前一参考电压的当前最小时延值,直至满足第三预设条件;
若所述第三预设条件为所述第三当前参考电压下的当前最小时延值大于或者等于所述第三当前参考电压的前一参考电压下的当前最小时延值,则确定所述第三当前参考电压下的当前最小时延值为所述第三目标查找区间内的最大值。
15.根据权利要求14所述的半导体存储器的训练方法,其特征在于,在所述第三目标查找区间查找所述半导体存储器的当前最小时延值中的最大值,还包括:
若所述第三预设条件为所述第三当前参考电压下的当前最小时延值小于所述第三当前参考电压的前一参考电压下的当前最小时延值,且所述第三当前参考电压的前一参考电压为所述第三目标查找区间的最小参考电压,则确定所述第三目标查找区间的最小参考电压下的当前最小时延值为所述第三目标查找区间内的最大值。
16.根据权利要求11所述的半导体存储器的训练方法,其特征在于,所述方法还包括:
若所述历史期望电压的前一参考电压下的当前最小时延值小于所述时延阈值,且所述历史期望电压的前一参考电压下的当前最小时延值小于所述历史期望电压下的当前最小时延值,则确定所述历史期望电压和所述当前训练电压范围的最大参考电压之间为第四目标查找区间;
若在所述第四目标查找区间查找到所述半导体存储器在第四参考电压下的当前最小时延值大于或者等于所述时延阈值,则将所述第四参考电压下的当前最小时延值作为所述当前期望时延值。
17.根据权利要求16所述的半导体存储器的训练方法,其特征在于,所述方法还包括:
在所述第四目标查找区间查找所述半导体存储器的当前最小时延值中的最大值;
若所述第四目标查找区间内的最大值小于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
18.一种半导体存储器的训练装置,其特征在于,包括:
历史训练结果获取单元,用于获取存储的历史训练结果,所述历史训练结果包括历史期望时延值及历史期望电压;
阈值电压范围设置单元,用于设置时延阈值和当前训练电压范围,所述时延阈值小于或等于所述历史期望时延值,所述当前训练电压范围包括所述历史期望电压;
当前最小时延获取单元,用于获取所述半导体存储器在所述历史期望电压下的当前最小时延值;
当前训练结果确定单元,用于若所述历史期望电压下的当前最小时延值大于或等于所述时延阈值,则将存储的所述历史训练结果作为所述半导体存储器的当前训练结果。
19.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-17中任一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-17中任一所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010270898.XA CN113496719B (zh) | 2020-04-08 | 2020-04-08 | 半导体存储器的训练方法及相关设备 |
PCT/CN2021/079813 WO2021203895A1 (zh) | 2020-04-08 | 2021-03-09 | 半导体存储器的训练方法及相关设备 |
US17/434,105 US11579810B2 (en) | 2020-04-08 | 2021-03-09 | Semiconductor memory training method and related device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010270898.XA CN113496719B (zh) | 2020-04-08 | 2020-04-08 | 半导体存储器的训练方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113496719A CN113496719A (zh) | 2021-10-12 |
CN113496719B true CN113496719B (zh) | 2023-06-23 |
Family
ID=77994826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010270898.XA Active CN113496719B (zh) | 2020-04-08 | 2020-04-08 | 半导体存储器的训练方法及相关设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11579810B2 (zh) |
CN (1) | CN113496719B (zh) |
WO (1) | WO2021203895A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114564421B (zh) * | 2022-01-20 | 2023-09-05 | 珠海亿智电子科技有限公司 | 一种高速内存训练的方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3800280A (en) * | 1972-11-06 | 1974-03-26 | Gte Automatic Electric Lab Inc | Time skew measurement circuit for mag tape transports |
US9666264B1 (en) * | 2016-06-21 | 2017-05-30 | Apple Inc. | Apparatus and method for memory calibration averaging |
CN109920456A (zh) * | 2017-12-12 | 2019-06-21 | 三星电子株式会社 | 存储器模块、存储器系统和操作存储器模块的方法 |
CN110060727A (zh) * | 2018-01-19 | 2019-07-26 | 长鑫存储技术有限公司 | 半导体存储器件的检测方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100879560B1 (ko) * | 2006-12-04 | 2009-01-22 | 삼성전자주식회사 | 에러 검출 코드를 이용한 데이터 트레이닝 방법 및 이에적합한 시스템 |
TWI474260B (zh) | 2009-02-16 | 2015-02-21 | Asustek Comp Inc | 電腦系統與其主機板上之記憶體電路和開機方法 |
JP2012048795A (ja) | 2010-08-30 | 2012-03-08 | Toshiba Corp | 不揮発性半導体記憶装置 |
KR20120085968A (ko) | 2011-01-25 | 2012-08-02 | 삼성전자주식회사 | 컴퓨팅 시스템의 부팅 방법 및 이를 수행하는 컴퓨팅 시스템 |
US20120284576A1 (en) * | 2011-05-06 | 2012-11-08 | Housty Oswin E | Hardware stimulus engine for memory receive and transmit signals |
CN102163980A (zh) * | 2011-05-17 | 2011-08-24 | 中国电子科技集团公司第十研究所 | 自动校准和差通道信号传输时延一致的处理方法 |
US9811273B1 (en) * | 2014-12-23 | 2017-11-07 | Cadence Design Systems, Inc. | System and method for reliable high-speed data transfer in multiple data rate nonvolatile memory |
KR20180007374A (ko) | 2016-07-12 | 2018-01-23 | 삼성전자주식회사 | 메모리 채널의 소프트웨어 트레이닝을 수행하는 전자 장치 및 그것의 메모리 채널 트레이닝 방법 |
CN109754841B (zh) * | 2017-11-08 | 2023-03-24 | 三星电子株式会社 | 包括奇偶校验错误检测电路的存储器件 |
CN108196177B (zh) * | 2017-12-26 | 2019-09-27 | 华北电力大学 | 一种半导体组件性能测试系统 |
US10509598B2 (en) * | 2018-02-15 | 2019-12-17 | Western Digital Technologies, Inc. | Method and apparatus for programming flash based storage using segmented writes |
US11435909B2 (en) * | 2019-04-22 | 2022-09-06 | Intel Corporation | Device, system and method to generate link training signals |
US11037638B1 (en) * | 2019-12-16 | 2021-06-15 | Micron Technology, Inc. | Write operations to mitigate write disturb |
US11199999B2 (en) * | 2020-01-30 | 2021-12-14 | Micron Technology, Inc. | Management of write operations in a non-volatile memory device using a variable pre-read voltage level |
KR20210099675A (ko) * | 2020-02-04 | 2021-08-13 | 삼성전자주식회사 | 메모리 장치를 포함하는 전자 장치 및 그것의 트레이닝 방법 |
-
2020
- 2020-04-08 CN CN202010270898.XA patent/CN113496719B/zh active Active
-
2021
- 2021-03-09 WO PCT/CN2021/079813 patent/WO2021203895A1/zh active Application Filing
- 2021-03-09 US US17/434,105 patent/US11579810B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3800280A (en) * | 1972-11-06 | 1974-03-26 | Gte Automatic Electric Lab Inc | Time skew measurement circuit for mag tape transports |
US9666264B1 (en) * | 2016-06-21 | 2017-05-30 | Apple Inc. | Apparatus and method for memory calibration averaging |
CN109920456A (zh) * | 2017-12-12 | 2019-06-21 | 三星电子株式会社 | 存储器模块、存储器系统和操作存储器模块的方法 |
CN110060727A (zh) * | 2018-01-19 | 2019-07-26 | 长鑫存储技术有限公司 | 半导体存储器件的检测方法 |
Also Published As
Publication number | Publication date |
---|---|
US11579810B2 (en) | 2023-02-14 |
CN113496719A (zh) | 2021-10-12 |
WO2021203895A1 (zh) | 2021-10-14 |
US20220147278A1 (en) | 2022-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111381999B (zh) | 行锤击缓解和目标行刷新中的差错校正 | |
US7877645B2 (en) | Use of operational configuration parameters to predict system failures | |
US8862953B2 (en) | Memory testing with selective use of an error correction code decoder | |
US20020013881A1 (en) | Dynamically-tunable memory controller | |
KR102389820B1 (ko) | 트레이닝 동작을 제어하는 메모리 컨트롤러, 메모리 시스템 및 그의 동작방법 | |
CN105808455B (zh) | 访问内存的方法、存储级内存及计算机系统 | |
CN111105839B (zh) | 芯片测试方法、装置、电子设备及计算机可读介质 | |
US8908437B2 (en) | Methods and devices for determining sensing voltages | |
US20180101303A1 (en) | Data Storage Device and Data Writing Method Thereof | |
US20080168408A1 (en) | Performance control of an integrated circuit | |
CN113496719B (zh) | 半导体存储器的训练方法及相关设备 | |
CN111367569A (zh) | 一种存储器校准系统及方法、可读存储介质 | |
US11631451B2 (en) | Semiconductor memory training methods and related devices | |
US7197675B2 (en) | Method and apparatus for determining the write delay time of a memory utilizing the north bridge chipset as in charge of the works for checking the write delay time of the memory | |
JP2018163707A (ja) | 半導体記憶装置及びそのリード制御方法 | |
CN114327258B (zh) | 一种固态硬盘处理方法、系统、设备及计算机存储介质 | |
CN111383684A (zh) | 一种参考电压确定方法、装置及存储介质 | |
CN112379842A (zh) | 一种预测数据冷热属性的方法和装置 | |
US11120851B1 (en) | Memory apparatus and burst read and burst write method thereof | |
US11289160B2 (en) | Memory device and data writing method | |
CN116955240B (zh) | 一种ddr控制器中phy电路的延时校准系统及方法 | |
US11631452B2 (en) | Memory apparatus and initialization method with short burst type refresh operation | |
US20230230651A1 (en) | Method and device for testing memory chip, storage medium and electronic device | |
US10599364B2 (en) | Command processing method and storage controller | |
US10504581B1 (en) | Memory apparatus and operating method thereof |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |