CN112099734A - 一种存储器的数据读出方法、数据写入方法及装置 - Google Patents
一种存储器的数据读出方法、数据写入方法及装置 Download PDFInfo
- Publication number
- CN112099734A CN112099734A CN202010998430.2A CN202010998430A CN112099734A CN 112099734 A CN112099734 A CN 112099734A CN 202010998430 A CN202010998430 A CN 202010998430A CN 112099734 A CN112099734 A CN 112099734A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- test
- read
- writing
- 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.)
- Granted
Links
Images
Classifications
-
- 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/061—Improving I/O performance
-
- 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/0614—Improving the reliability 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明实施例公开一种存储器的数据读出方法、数据写入方法及装置,涉及集成电路技术领域,能够在保证数据读写正确的前提下,有效提高数据读写效率。所述数据读出方法包括:通过测试写有效信号,向存储器的预设存储单元行写入测试数据;以不同的数据读取时序,分别读取所述预设存储单元行中的数据,得到对应的读出数据;根据所述读出数据与所述测试数据的一致性的变化,确定所述存储器的读时序对应的读临界时长;根据所述读临界时长对所述存储器进行读操作。本发明适用于集成电路设计中。
Description
技术领域
本发明涉及集成电路技术领域,尤其涉及一种存储器的数据读出方法、数据写入方法及装置。
背景技术
在数字电路中,由于不同电信号的大小、频率以及电信号的传输介质、传输路径的差异,电信号会存在不同程度的延时。为了确保电路能够实现所需的逻辑功能,在电路设计和实现时,常常需要留出一定的冗余时间。
以存储器为例,在计算机对存储器进行读写操作时,如果不能保证足够的数据读出或数据写入的时间,则写入的数据或读出的数据很可能会发生错误。为此,会为数据读取和数据写入留出冗余时间,然而,这样虽然能够保证数据读写的正确性,却大大降低了读写效率。
发明内容
有鉴于此,本发明实施例提供一种存储器的数据读出方法、数据写入方法及装置,能够在保证数据读写正确的前提下,有效提高数据读写效率。
第一方面,本发明实施例提供一种存储器的数据读出方法,包括:
通过测试写有效信号,向存储器的预设存储单元行写入测试数据;
以不同的数据读取时序,分别读取所述预设存储单元行中的数据,得到对应的读出数据;
根据所述读出数据与所述测试数据的一致性的变化,确定所述存储器的读时序对应的读临界时长;
根据所述读临界时长对所述存储器进行读操作。
可选的,所述以不同的数据读取时序,分别读取所述预设存储单元行中的数据,得到对应的读出数据包括:按照从小到大或从大到小的顺序,阶梯式改变所述数据读取时序中的第一时长,并在每种第一时长下分别读取所述预设存储单元行中的数据,得到对应的读出数据。
可选的,所述根据所述读出数据与所述测试数据的一致性的变化,确定所述数据读取时序对应的读临界时长包括:
若按照从小到大的顺序,阶梯式增大所述数据读取时序中的所述第一时长,则确定所述读出数据与所述测试数据首次一致时对应的所述第一时长为所述读临界时长;
若按照从大到小的顺序,阶梯式减小所述数据读取时序中的所述第一时长,则确定所述读出数据与所述测试数据最后一次一致时对应的所述第一时长为所述读临界时长。
可选的,所述数据读取时序中的第一时长包括数据读有效信号的持续时长和/或灵敏放大器的开启延迟时长,所述开启延迟时长为所述灵敏放大器的开启时刻与触发时钟的触发时刻的差值。
可选的,所述通过测试写有效信号,向存储器的预设存储单元行写入测试数据包括:
每间隔第二时长,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,向存储器的预设存储单元行写入测试数据;
或者
根据所述存储器的环境温度和/或工作电压的变化,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,向存储器的预设存储单元行写入测试数据。
可选的,所述根据所述读临界时长对所述存储器进行读操作包括:根据所述读临界时长设置延时模块,以通过所述延时模块对所述存储器的读操作进行延时。
可选的,所述预设存储单元行的字选线与所述存储器的其他存储单元行的字选线分开译码,且不同时选通。
可选的,所述方法通过有限状态机实现。
第二方面,本发明的实施例还提供一种存储器的数据写入方法,包括:
根据不同的测试写有效信号,多次向存储器的预设存储单元行写入测试数据,并以预设数据读取时序,将写入所述预设存储单元行的测试数据依次读出,得到对应的读出数据;
根据所述读出数据与所述测试数据的一致性的变化,确定向所述存储器执行写入操作所需的写临界时长;
根据所述写临界时长对所述存储器进行写操作。
可选的,所述根据不同的测试写有效信号,多次向存储器的预设存储单元行写入测试数据,并以预设数据读取时序,将写入所述预设存储单元行的测试数据依次读出,得到对应的读出数据包括:
在测试写有效信号下,向所述预设存储单元行写入测试数据;
读所述预设存储单元行,得到读出数据;
按照从小到大或从大到小的顺序,阶梯式改变所述测试写有效信号的持续时长;
按照持续时长改变后的测试写有效信号,重新向所述预设存储单元行写入所述测试数据,并读出。
可选的,所述根据所述读出数据与所述测试数据的一致性的变化,确定向所述存储器执行写入操作所需的写临界时长包括:
若按照从小到大的顺序,阶梯式增大所述测试写有效信号的持续时长,则确定所述读出数据与所述测试数据首次一致时对应的所述测试写有效信号的持续时长为所述写临界时长;
若按照从大到小的顺序,阶梯式减小所述测试写有效信号的持续时长,则确定所述读出数据与所述测试数据最后一次一致时对应的所述测试写有效信号的持续时长为所述写临界时长。
可选的,所述根据不同的测试写有效信号,多次向存储器的预设存储单元行写入测试数据包括:
每间隔第二时长,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,多次向存储器的预设存储单元行写入测试数据;
或者
根据所述存储器的环境温度和/或工作电压的变化,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,多次向存储器的预设存储单元行写入测试数据。
可选的,所述根据所述写临界时长对所述存储器进行写操作包括:根据所述写临界时长设置延时模块,以通过所述延时模块对所述存储器的写操作进行延时。
可选的,所述预设存储单元行的字选线与所述存储器的其他存储单元行的字选线分开译码,且不同时选通。
可选的,所述方法通过有限状态机实现。
第三方面,本发明的实施例还提供一种存储器的数据读出装置,包括:
测试写入单元,用于通过测试写有效信号,向存储器的预设存储单元行写入测试数据;
测试读取单元,用于以不同的数据读取时序,分别读取所述预设存储单元行中的数据,得到对应的读出数据;
时长确定单元,用于根据所述读出数据与所述测试数据的一致性的变化,确定所述存储器的读时序对应的读临界时长;
读操作单元,根据所述读临界时长对所述存储器进行读操作。
可选的,所述测试读取单元,具体用于:按照从小到大或从大到小的顺序,阶梯式改变所述数据读取时序中的第一时长,并在每种第一时长下分别读取所述预设存储单元行中的数据,得到对应的读出数据。
可选的,所述时长确定单元包括:
第一确定模块,用于若按照从小到大的顺序,阶梯式增大所述数据读取时序中的所述第一时长,则确定所述读出数据与所述测试数据首次一致时对应的所述第一时长为所述读临界时长;
第二确定模块,用于若按照从大到小的顺序,阶梯式减小所述数据读取时序中的所述第一时长,则确定所述读出数据与所述测试数据最后一次一致时对应的所述第一时长为所述读临界时长。
可选的,所述数据读取时序中的第一时长包括数据读有效信号的持续时长和/或灵敏放大器的开启延迟时长,所述开启延迟时长为所述灵敏放大器的开启时刻与触发时钟的触发时刻的差值。
可选的,所述通测试写入单元包括:
第一写入模块,用于每间隔第二时长,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,向存储器的预设存储单元行写入测试数据;
或者
第二写入模块,用于根据所述存储器的环境温度和/或工作电压的变化,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,向存储器的预设存储单元行写入测试数据。
可选的,所述读操作单元,具体用于根据所述读临界时长设置延时模块,以通过所述延时模块对所述存储器的读操作进行延时。
可选的,所述预设存储单元行的字选线与所述存储器的其他存储单元行的字选线分开译码,且不同时选通。
可选的,所述装置基于有限状态机实现。
第四方面,本发明的实施例还提供一种存储器的数据写入装置,包括:
测试写入单元,用于根据不同的测试写有效信号,多次向存储器的预设存储单元行写入测试数据;
测试读取单元,用于以预设数据读取时序,将写入所述预设存储单元行的测试数据依次读出,得到对应的读出数据;
时长确定单元,用于根据所述读出数据与所述测试数据的一致性的变化,确定向所述存储器执行写入操作所需的写临界时长;
写操作单元,用于根据所述写临界时长对所述存储器进行写操作。
可选的,所述测试写入单元,具体用于在测试写有效信号下,向所述预设存储单元行写入测试数据;
所述测试读取单元,具体用于读所述预设存储单元行,得到读出数据;
所述测试写入单元,还用于:
按照从小到大或从大到小的顺序,阶梯式改变所述测试写有效信号的持续时长;
按照持续时长改变后的测试写有效信号,重新向所述预设存储单元行写入所述测试数据,以供所述测试读取单元读出。
可选的,所述时长确定单元包括:
第三确定模块,用于若按照从小到大的顺序,阶梯式增大所述测试写有效信号的持续时长,则确定所述读出数据与所述测试数据首次一致时对应的所述测试写有效信号的持续时长为所述写临界时长;
第四确定模块,用于若按照从大到小的顺序,阶梯式减小所述测试写有效信号的持续时长,则确定所述读出数据与所述测试数据最后一次一致时对应的所述测试写有效信号的持续时长为所述写临界时长。
可选的,所述测试写入单元包括:
第三写入模块,用于每间隔第二时长,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,多次向存储器的预设存储单元行写入测试数据;
或者
第四写入模块,用于根据所述存储器的环境温度和/或工作电压的变化,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,多次向存储器的预设存储单元行写入测试数据。
可选的,所述写操作单元,具体用于根据所述写临界时长设置延时模块,以通过所述延时模块对所述存储器的写操作进行延时。
可选的,所述预设存储单元行的字选线与所述存储器的其他存储单元行的字选线分开译码,且不同时选通。
可选的,所述装置通过有限状态机实现。
第五方面,本发明的实施例还提供一种电子设备,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;所述处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明的实施例提供的任一种存储器的数据读出方法或或任一种存储器的数据写入方法。
第六方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明的实施例提供的任一种存储器的数据读出方法或或任一种存储器的数据写入方法。
本发明的实施例提供的存储器的数据读出方法、数据写入方法及装置,能够通过测试写有效信号,向存储器的预设存储单元行写入测试数据,以不同的数据读取时序,分别读取所述预设存储单元行中的数据,得到对应的读出数据,根据所述读出数据与所述测试数据的一致性的变化,确定所述存储器的读时序对应的读临界时长,根据所述读临界时长对所述存储器进行读操作。这样,以多种不同的数据读取时序分别读取写入该预设存储单元行的数据时,在一些数据读取时序下,就可能将数据读错,出现读出数据与写入的测试数据不一致的情况,而在另一些数据读取时序下,读出数据才与写入的测试数据一致,通过分析读出数据与写入的测试数据的一致性的变化,就可以找到读出数据与写入的测试数据刚好一致时所对应的读临界时长,根据该读临界时长对存储器进行读操作时,既能够保证读操作可靠正确,又不会等待过多的时间,从而有效提高了存储器的数据读取效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例提供的存储器的数据读出方法的一种流程图;
图2为本发明的实施例中存储器的存储单元的一种结构示意图;
图3为本发明的实施例提供的存储器的数据写入方法的一种流程图;
图4为本发明的实施例中静态随机存储器的一种结构示意图;
图5为图4中的静态随机存储器与训练状态机的连接结构示意图;
图6为图5中的中的训练状态机的状态变化示意图;
图7为本发明的实施例提供的存储器的数据读出装置的一种结构示意图;
图8为本发明的实施例提供的存储器的数据写入装置的一种结构示意图;
图9为本发明的实施例提供的电子设备的一种结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如背景技术所言,在计算机对存储器进行读写操作时,如果不能保证足够的数据读出或数据写入的时间,则写入的数据或读出的数据很可能会发生错误。为此,会为数据读取和数据写入留出冗余时间,然而,这样虽然能够保证数据读写的正确性,却大大降低了读写效率。
为了解决上述问题,发明人在研究中发现,可以根据需要获取存储器读数据和写数据所需要的最小时长,并据此为存储器读写操作设置合适的延时,从而能在保证存储器读写正确的前提下,有效提高读写效率。
为使本领域技术人员更好地理解本发明实施例的技术构思、实施方案和有益效果,下面通过具体实施例进行详细说明。
第一方面,本发明的实施例提供了一种存储器的数据读出方法,能够在保证存储器数据读取正确的前提下,有效提高数据读取效率。
如图1所示,本发明的实施例提供的存储器的数据读出方法可以包括:
S11,通过测试写有效信号,向存储器的预设存储单元行写入测试数据;
本发明的实施例中,存储器可以包括随机存取存储器、静态存储器等多种可以执行写入操作的存储器。存储器中可以设置有多行存储单元,每行存储单元形成一个“字”,该行字由字控制线选通。一个字中的每个存储单元为该字中的一“位”,每一位可以通过位线单独选通。当字线选通时,即可对该字中的各位线所对应的存储单元进行相应的读写操作。
本发明的一个实施例中,可以在存储器中预设一行存储单元,专门用于进行数据读取时序的测试,以免破坏存储器中存储的数据。可选的,预设存储单元行的字选线与所述存储器的其他存储单元行的字选线分开译码,且不同时选通,从而使测试过程与正常的存储器读写操作分开。
可选的,在本发明的另一个实施例中,也可以使用其他尚未被占用的存储单元行进行测试数据的写入。
在向预设存储单元写入测试数据时,可以根据测试写有效信号进行数据写入。测试写有效信号是具有一段有效时长的控制信号,在该段有效时长的全部时间内,可以对预设存储单元行进行写操作,而当测试写有效信号无效时,将无法执行相应的存储器写操作。本实施例中,由于需要找到读临界时长,因此,在向存储器写入测试数据时,可以使测试写有效信号足够长,避免引入数据写入错误。
可选的,本步骤中,向预设存储单元行写入的测试数据可以为任意二进制数。为了以更加严格的标准,检测读出数据与写入的测试数据的一致性,在本发明的一个实施例中,测试数据可以选用容易出现读取错误的典型值,例如55(对应的二进制数为01010101)、AA(对应的二进制数为10101010)等。
S12,以不同的数据读取时序,分别读取所述预设存储单元行中的数据,得到对应的读出数据;
将测试数据写入预设存储单元行后,本步骤中,可以以各种数据读取时序多次分别读取预设存储单元行中的数据,得到相应的读出数据。在各种数据读取时序中,有些时序能够读出正确的数据,有些时序则会出现读数错误,例如将高电平误读成低电平,将逻辑1误读成逻辑0。
S13,根据所述读出数据与所述测试数据的一致性的变化,确定所述存储器的读时序对应的读临界时长;
得到不同的数据读取时序对应的读出数据后,可以将得到的读出数据分别与测试数据相比较,如果比较结果一致,则说明读数正确,读操作可靠,如果比较结果不一致,则说明读数错误,读操作已经不可靠。比较结果一致与不一致的转折点,即为读时序对应的读临界时长。
S14,根据所述读临界时长对所述存储器进行读操作。
确定了存储器读时序的读临界时长后,可以根据该读临界时长对存储器进行读操作。这样,既能够保证数据读取的正确性,又能够最大限度地减小读信号有效的时长,从而有效提高存储器的数据读取效率。
本发明的实施例提供的存储器的数据读出方法,能够通过测试写有效信号,向存储器的预设存储单元行写入测试数据,以不同的数据读取时序,分别读取所述预设存储单元行中的数据,得到对应的读出数据,根据所述读出数据与所述测试数据的一致性的变化,确定所述存储器的读时序对应的读临界时长,根据所述读临界时长对所述存储器进行读操作。这样,以多种不同的数据读取时序分别读取写入该预设存储单元行的数据时,在一些数据读取时序下,就可能将数据读错,出现读出数据与写入的测试数据不一致的情况,而在另一些数据读取时序下,读出数据才与写入的测试数据一致,通过分析读出数据与写入的测试数据的一致性的变化,就可以找到读出数据与写入的测试数据刚好一致时所对应的读临界时长,根据该读临界时长对存储器进行读操作时,既能够保证读操作可靠正确,又不会等待过多的时间,从而有效提高了存储器的数据读取效率。
在计算机运行过程中,由于器件老化、工作环境等原因,存储器的读临界时长可能会产生各种变化。为了能够在各种情况下,精确控制读临界时长,有效提高存储器的数据读取效率,在本发明的一个实施例中,步骤S11所述通过测试写有效信号,向存储器的预设存储单元行写入测试数据具体可以包括:每间隔第二时长(例如1小时),暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,向存储器的预设存储单元行写入测试数据。
可选的,在本发明的一个实施例中,步骤S11所述通过测试写有效信号,向存储器的预设存储单元行写入测试数据具体可以包括:根据所述存储器的环境温度和/或工作电压的变化,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,向存储器的预设存储单元行写入测试数据。
将测试数据写入存储器的预设存储单元行后,在步骤S12中,可以以不同的数据读取时序,分别读取所述预设存储单元行中的数据,得到对应的读出数据。
为了便于对数据读取时序进行比较,在本发明的一个实施例中,可以按照从小到大或从大到小的顺序,阶梯式改变所述数据读取时序中的第一时长,并在每种第一时长下分别读取所述预设存储单元行中的数据,得到对应的读出数据。例如,第一次进行数据读取时,数据读取时序中的第一时长为0纳秒,第二次进行数据读取时,数据读取时序中的第一时长为0.1纳秒,第三次进行数据读取时,数据读取时序中的第一时长为0.2纳秒……以后每次对应的第一时长都比前一次长0.1纳秒。其中,第一时长可以为数据读取时序中与读取数据操作相关的任何时长。
举例而言,可选的,本发明的实施例中,数据读取时序中的第一时长可以包括数据读有效信号的持续时长。
示例性的,数据读有效信号的持续时长可以通过图2所示的实施例来进一步说明。如图2所示为6T SRAM结构示意图,当执行对存储器的写操作时:先将BL BLN预充到VDD(电源电压),然后开启WL(WL有效的时长即为数据读有效信号的持续时长),接着BL、BLN被差分驱动器推动其中一个信号会拉到VSS(零电压),Cell内部的Q QB点的电压会被BL BLN的电压改变,改变成功则写入成功;当执行对存储器的读操作时:先将BL BLN预充到VDD(电源电压),然后开启WL,这时BL、BLN不被写驱动器驱动,如果Q=0,则BL通过N2放电,那么BL和BLN就会有电压差,BL BLN的电压差值与放电时间相关,放电时间越长,则电压差值越大。灵敏放大器将此电压差放大为逻辑电平,如果QB=1,则放大的逻辑电平反之。
可以理解的,灵敏放大器存在放大窗口,输入灵敏放大器的电压差达到该放大窗口后就能够被有效放大。比如BL BLN的电压差值到达一定程度后灵敏放大器就足以放大,但现有技术中在设计的时候会考虑很多余量,导致过大的BL BLN的电压差和过长的放电时间,不但降低了存储器的数据读取效率,在充放电的过程中还会带来额外的功耗。因此,本发明的实施例中,通过精确设置读临界时长,不但可以有效提高存储器的数据速率,还能够大大减小存储器的功耗。
可选的,在本发明的另一个实施例中,数据读取时序中的第一时长也可以包括灵敏放大器的开启延迟时长,其中,所述开启延迟时长为所述灵敏放大器的开启时刻与触发时钟的触发时刻的差值。
灵敏放大器可以由时钟触发进行每一步动作,但从时钟到达灵敏放大器到灵敏放大器开启进行信号放大之间,也需要一定的延时来保证待放大数据稳定输入灵敏放大器。这段延时称为灵敏放大器的开启延迟时长。因此,为了能够在保证数据读取正确的前提下有效提高数据读取效率,也可以精确控制灵敏放大器的开启延迟时长。
在步骤S12中,按照从小到大或从大到小的顺序,阶梯式改变所述数据读取时序中的第一时长,并在每种第一时长下分别读取所述预设存储单元行中的数据,得到对应的读出数据之后,即可以在步骤S13中,根据所述读出数据与所述测试数据的一致性的变化,确定所述数据读取时序对应的读临界时长。
可选的,在本发明的一个实施例中,若按照从小到大的顺序,阶梯式增大所述数据读取时序中的所述第一时长,则可以确定所述读出数据与所述测试数据首次一致时对应的所述第一时长为所述读临界时长。例如,如果第一时长为0纳秒时、0.1纳秒时、0.2纳秒时、0.3纳秒时,读取数据与测试数据都不一致,第一时长为0.4纳秒时、0.5纳秒时读取数据与测试数据都一致,则确定0.4纳秒为读临界时长。
可选的,在本发明的另一个实施例中,若按照从大到小的顺序,阶梯式减小所述数据读取时序中的所述第一时长,则确定所述读出数据与所述测试数据最后一次一致时对应的所述第一时长为所述读临界时长。例如,如果第一时长为0.7纳秒时、0.6纳秒时、0.5纳秒时、0.4纳秒时,读取数据与测试数据都不一致,第一时长为0.3纳秒时、0.2纳秒时读取数据与测试数据都一致,则确定0.3纳秒为读临界时长。
本实施例中,第一时长是以纳秒为单位的,但本发明的实施例不限于此。在本发明的其他实施例中,第一时长也可以通过定时器或计数器表示,例如0001、0010、0011、0100等,数值每增大1,对应的第一时长也增加一个计时单位。
确定了读临界时长后,可以在步骤S14中,根据所述读临界时长对所述存储器进行读操作。
具体而言,在本发明的一个实施例中,根据所述读临界时长对所述存储器进行读操作,具体可以包括:根据所述读临界时长设置延时模块,以通过所述延时模块对所述存储器的读操作进行延时。
上述实施例中的存储器的数据读出方法,可以通过多种电路和程序设计实现,可选的,在本发明的一个实施例中,可以通过有限状态机实现。
相应的,第二方面,本发明的实施例还提供一种存储器的数据写入方法,能够在保证存储器数据写入正确的前提下,有效提高数据写入效率。
如图3所示,本发明的实施例提供的存储器的数据写入方法可以包括:
S21,根据不同的测试写有效信号,多次向存储器的预设存储单元行写入测试数据,并以预设数据读取时序,将写入所述预设存储单元行的测试数据依次读出,得到对应的读出数据;
本发明的实施例中,存储器可以包括随机存取存储器、静态存储器等多种可以执行写入操作的存储器。存储器中可以设置有多行存储单元,每行存储单元形成一个“字”,该行字由字控制线选通。一个字中的每个存储单元为该字中的一“位”,每一位可以通过位线单独选通。当字线和位线都选通时,即可对该存储单元进行相应的读写操作。
本发明的一个实施例中,可以在存储器中预设一行存储单元,专门用于进行数据读取时序的测试,以免破坏存储器中存储的数据。可选的,预设存储单元行的字选线与所述存储器的其他存储单元行的字选线分开译码,且不同时选通,从而使测试过程与正常的存储器读写操作分开。
可选的,在本发明的另一个实施例中,也可以使用其他尚未被占用的存储单元行进行测试数据的写入。
在向预设存储单元写入测试数据时,可以根据多个不同的测试写有效信号进行数据写入。测试写有效信号是具有一段有效时长的控制信号,在该段有效时长的全部时间内,可以对预设存储单元行进行写操作,而当测试写有效信号无效时,将无法执行相应的存储器写操作。
可选的,本步骤中,向预设存储单元行写入的测试数据可以为任意二进制数。为了以更加严格的标准,检测读出数据与写入的测试数据的一致性,在本发明的一个实施例中,测试数据可以选用容易出现写入错误的典型值,例如55(对应的二进制数为01010101)、AA(对应的二进制数为10101010)等。
每次将测试数据写入预设存储单元行后,可以读取预设存储单元行中的数据,得到相应的读出数据,然后进行下一次的测试数据写入操作。本实施例中,由于需要找到写临界时长,因此,在从存储器读数据时,可以使测试读有效信号足够长,避免引入数据读出错误。
S22,根据所述读出数据与所述测试数据的一致性的变化,确定向所述存储器执行写入操作所需的写临界时长;
得到不同的写有效信号对应的读出数据后,可以将得到的读出数据分别与测试数据相比较,如果比较结果一致,则说明读数正确,写操作可靠,如果比较结果不一致,则说明读数错误,写操作已经不可靠。比较结果一致与不一致的转折点,即为向所述存储器执行写入操作所需的写临界时长。
S23,根据所述写临界时长对所述存储器进行写操作。
确定了存储器的写临界时长后,可以根据该写临界时长对存储器进行写操作。这样,既能够保证数据写入的正确性,又能够最大限度地减小写信号有效的时长,从而有效提高存储器的数据写入效率。
本发明的实施例提供的存储器的数据写入方法,能够根据不同的测试写有效信号,多次向存储器的预设存储单元行写入测试数据,并以预设数据读取时序,将写入所述预设存储单元行的测试数据依次读出,得到对应的读出数据,根据所述读出数据与所述测试数据的一致性的变化,确定向所述存储器执行写入操作所需的写临界时长,根据所述写临界时长对所述存储器进行写操作。这样,以多种不同的数据读取时序分别预设存储单元行写入测试数据时,在一些写有效信号下,就可能将数据写错,进而读出的数据也与测试数据不一致,而在另一些写有效信号下,写入的测试数据没有出错,进而读出的数据预测数据一致,这样通过分析读出数据与写入的测试数据的一致性的变化,就可以找到读出数据与写入的测试数据刚好一致时所对应的写临界时长,根据该写临界时长对存储器进行写操作时,既能够保证写操作可靠正确,又不会等待过多的时间,从而有效提高了存储器的数据写入效率。
在计算机运行过程中,由于器件老化、工作环境等原因,存储器的读临界时长可能会产生各种变化。为了能够在各种情况下,精确控制写临界时长,有效提高存储器的数据写入效率,在本发明的一个实施例中,步骤S21所述根据不同的测试写有效信号,多次向存储器的预设存储单元行写入测试数据具体可以包括:每间隔第二时长(例如1小时),暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,多次向存储器的预设存储单元行写入测试数据;或者根据所述存储器的环境温度和/或工作电压的变化,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,多次向存储器的预设存储单元行写入测试数据。
可选的,步骤S21中,根据不同的测试写有效信号,多次向存储器的预设存储单元行写入测试数据,并以预设数据读取时序,将写入所述预设存储单元行的测试数据依次读出,得到对应的读出数据具体可以包括:
在测试写有效信号下,向所述预设存储单元行写入测试数据;
读所述预设存储单元行,得到读出数据;
按照从小到大或从大到小的顺序,阶梯式改变所述测试写有效信号的持续时长;
按照持续时长改变后的测试写有效信号,重新向所述预设存储单元行写入所述测试数据,并读出。
例如,第一次测试写有效时长为0纳秒,第二次测试写有效时长为0.1纳秒,第三次测试写有效时长为0.2纳秒……以后每次测试写有效时长都比前一次长0.1。由于测试写有效时长逐渐增加,数据写入的可靠性也逐渐增加。
获取了读出数据后,可以在步骤S12中,根据所述读出数据与所述测试数据的一致性的变化,确定向所述存储器执行写入操作所需的写临界时长。具体而言,若按照从小到大的顺序,阶梯式增大所述测试写有效信号的持续时长,则确定所述读出数据与所述测试数据首次一致时对应的所述测试写有效信号的持续时长为所述写临界时长;若按照从大到小的顺序,阶梯式减小所述测试写有效信号的持续时长,则确定所述读出数据与所述测试数据最后一次一致时对应的所述测试写有效信号的持续时长为所述写临界时长。
其具体的原理与前述实施例中对存储器的读出方法类似,此处不再赘述。
确定了写临界时长后,可以在步骤S23中,根据所述写临界时长对所述存储器进行写操作,具体可以包括:根据所述写临界时长设置延时模块,以通过所述延时模块对所述存储器的写操作进行延时。
上述实施例中的存储器的数据读出方法,可以通过多种电路和程序设计实现,可选的,在本发明的一个实施例中,可以通过有限状态机实现。
下面通过一个具体的实施例对本发明的实施例提供的存储器的数据读出方法、数据写入方法进行详细说明。
图4为本发明的实施例中静态随机存储器的一种结构示意图。图5为图4中的静态随机存储器与训练状态机的连接结构示意图。图6为图5中的中的训练状态机的状态变化示意图。
如图4所示,本发明的实施例中的静态随机存储器,在传统的SRAM结构上多加一行SRAM(Dummy Cell,冗余单元),该行由其独立驱动的字线图中为WL_track。译码电路分为两个部分前级译码和后级译码,输入地址除了正常的地址空间的地址外额外增加一根控制线Addr_dummy,这根地址用来译码WL_track。在前级译码器时钟控制上额外增加一个字线脉冲产生延迟控制器,用来控制字线脉冲的宽度,Delay_ctl[5:0]用来控制脉冲宽度,数值越大那么高电平脉冲越宽,反之高电平脉冲越小,合理控制这个字线的宽度是训练状态机的目标。时序产生器用来生成内部时序控制信号。
静态随机存储器的一些接口信号解释如下:
Do[i:0]:数据输出
Din[i:0]:数据输入
RD:读使能信号,RD=1时候表示读操作
WR:写使能信号,WR=1表示写操作
CLK:时钟信号
Addr[9:0]:存储器地址线
Addr_dummy:用来译码Dummy Cell行字线
Delay_ctl[5:0]:训练状态机向静态存储器的字线脉冲产生延迟控制器输入的延时控制信号。
训练状态机用于在硅片查找到合适的Delay_ctl的设置使得WL的高电平宽度处在合理的值,既能使SRAM在各种芯片的工艺角下正常工作,同时可以让BL BLN的电压差不会过多的充放电,可以在芯片工作过程中间隔时间插入训练状态机工作以修正Delay_ctl的值来适应环境的变化如温度的变化、电压的变化等。
如图5所示,训练状态机的输入为Train_en、/WR、/RD、Reset、CLK,其中,Train_en、/WR、/RD做与逻辑后产生Enable控制状态机,目的为当WR=1或RD=1时候状态机暂停,只有当Train_en=1&WR=0&RD=0时候进入训练状态机;CLk为时钟信号。
输出为SRAM所需的控制信号。Sel为选择电路(选择器的选择信号Sel=0选择系统的输入输出,Sel=1选择训练状态机的输入输出),Delay_ctl为WL脉冲控制信号,Addr_dummy用来译码Dummy Cell所在的行,Sel=1时Addr_dummy也为1。
当进行训练时,可以先将测试数据写入SRAM中的dummy cell,然后将dummy cell中的数据通过Do读入训练状态机,得到读出数据,将读出数据和测试数据进行比较,若比较结果为二者一致,则输出Fail=0,说明对存储器的读写操作正确,反之输出Fail=1,说明对存储器的读操作或写操作出现错误。需要调整对应的数据读出或数据写入时序。前文已经进行了详细的说明。此处不再赘述。
以存储器的数据读出操作为例,训练状态机的状态之间的跳转可以如图6所示。图6所示实施例中所实现的训练状态机,总共有5个状态S0~S4,具体状态转换过程如下:
当reset=1后进入S0,在这个状态所有输出为不工作模式,delay_ctl置为最小值。
当Enable=1从S0跳转到S1,这个状态下Sel=1,进行dummy的写操作将测试数据写入到Dummy行。
当Enable=1从S1跳转到S2,这个状态下Sel=1,进行dummy行的读操作,由于delay_ctl为最小值读取一定是错误且输出Fail=1并且执行delay_ctl=delay_ctl+1的操作。
Enable继续为1直到出现Fail=0,状态机从S2跳转到S3,此时已经到达工作边界值,这时会执行delay_ctl=delay_ctl-1的操作。
后续Enable继续出现1后状态机在S2和S3之间跳动,不管处在S2或S3,Enable=0后delay_ctl=delay_ctl+1,以确保控制到SRAM的delay_ctl处在正确读写的状态。
S1 S2 S3状态下只要Enable=0的时候,状态机都跳到S4,S4为正常读写状态,此时Sel=0,控制权交给系统的输入输出。
数据写入操作的状态转换与数据读出操作原理类似,只是通过不同的delay_ctl,进行多次数据写入。
本发明的实施例中,在系统启动后放置一定数量的Enable=1后直到Fail=0转态出现即可找到边界值。这样WL的脉冲宽度处在合适的值,BL BLN放电在最优状态,不出现充放电时间过长,影响存储器读写效率的情况,也不会因为过充放电而带来额外功耗。进一步的,在芯片的工作过程中,定期得将Enable=1延续状态机的跳转可以跟踪温度等环境的变化,修正WL的脉冲宽度,以达到更加稳健的工作。
第三方面,本发明的实施例还提供一种存储器的数据读出装置,能够在保证存储器数据读取正确的前提下,有效提高数据读取效率。
如图7所示,本发明的实施例提供的存储器的数据读出装置,可以包括:
测试写入单元31,用于通过测试写有效信号,向存储器的预设存储单元行写入测试数据;
测试读取单元32,用于以不同的数据读取时序,分别读取所述预设存储单元行中的数据,得到对应的读出数据;
时长确定单元33,用于根据所述读出数据与所述测试数据的一致性的变化,确定所述存储器的读时序对应的读临界时长;
读操作单元34,根据所述读临界时长对所述存储器进行读操作。
本发明的实施例提供的存储器的数据读出装置,能够通过测试写有效信号,向存储器的预设存储单元行写入测试数据,以不同的数据读取时序,分别读取所述预设存储单元行中的数据,得到对应的读出数据,根据所述读出数据与所述测试数据的一致性的变化,确定所述存储器的读时序对应的读临界时长,根据所述读临界时长对所述存储器进行读操作。这样,以多种不同的数据读取时序分别读取写入该预设存储单元行的数据时,在一些数据读取时序下,就可能将数据读错,出现读出数据与写入的测试数据不一致的情况,而在另一些数据读取时序下,读出数据才与写入的测试数据一致,通过分析读出数据与写入的测试数据的一致性的变化,就可以找到读出数据与写入的测试数据刚好一致时所对应的读临界时长,根据该读临界时长对存储器进行读操作时,既能够保证读操作可靠正确,又不会等待过多的时间,从而有效提高了存储器的数据读取效率。
可选的,测试读取单元32,具体用于:
按照从小到大或从大到小的顺序,阶梯式改变所述数据读取时序中的第一时长,并在每种第一时长下分别读取所述预设存储单元行中的数据,得到对应的读出数据。
可选的,时长确定单元33可以包括:
第一确定模块,用于若按照从小到大的顺序,阶梯式增大所述数据读取时序中的所述第一时长,则确定所述读出数据与所述测试数据首次一致时对应的所述第一时长为所述读临界时长;
第二确定模块,用于若按照从大到小的顺序,阶梯式减小所述数据读取时序中的所述第一时长,则确定所述读出数据与所述测试数据最后一次一致时对应的所述第一时长为所述读临界时长。
可选的,所述数据读取时序中的第一时长包括数据读有效信号的持续时长和/或灵敏放大器的开启延迟时长,所述开启延迟时长为所述灵敏放大器的开启时刻与触发时钟的触发时刻的差值。
可选的,所述测试写入单元31包括:
第一写入模块,用于每间隔第二时长,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,向存储器的预设存储单元行写入测试数据;
或者
第二写入模块,用于根据所述存储器的环境温度和/或工作电压的变化,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,向存储器的预设存储单元行写入测试数据。
可选的,读操作单元34,具体用于根据所述读临界时长设置延时模块,以通过所述延时模块对所述存储器的读操作进行延时。
可选的,所述预设存储单元行的字选线与所述存储器的其他存储单元行的字选线分开译码,且不同时选通。
可选的,所述装置基于有限状态机实现。
第四方面,本发明的实施例还提供一种存储器的数据写入装置,能够在保证存储器数据写入正确的前提下,有效提高数据写入效率。
可选的,如图8所示,本发明的实施例提供的存储器的数据写入装置,可以包括:
测试写入单元41,用于根据不同的测试写有效信号,多次向存储器的预设存储单元行写入测试数据;
测试读取单元42,用于以预设数据读取时序,将写入所述预设存储单元行的测试数据依次读出,得到对应的读出数据;
时长确定单元43,用于根据所述读出数据与所述测试数据的一致性的变化,确定向所述存储器执行写入操作所需的写临界时长;
写操作单元44,用于根据所述写临界时长对所述存储器进行写操作。
本发明的实施例提供的存储器的数据写入装置,能够根据不同的测试写有效信号,多次向存储器的预设存储单元行写入测试数据,并以预设数据读取时序,将写入所述预设存储单元行的测试数据依次读出,得到对应的读出数据,根据所述读出数据与所述测试数据的一致性的变化,确定向所述存储器执行写入操作所需的写临界时长,根据所述写临界时长对所述存储器进行写操作。这样,以多种不同的数据读取时序分别预设存储单元行写入测试数据时,在一些写有效信号下,就可能将数据写错,进而读出的数据也与测试数据不一致,而在另一些写有效信号下,写入的测试数据没有出错,进而读出的数据预测数据一致,这样通过分析读出数据与写入的测试数据的一致性的变化,就可以找到读出数据与写入的测试数据刚好一致时所对应的写临界时长,根据该写临界时长对存储器进行写操作时,既能够保证写操作可靠正确,又不会等待过多的时间,从而有效提高了存储器的数据写入效率。
可选的,测试写入单元41,具体用于在写有效信号下,向所述预设存储单元行写入测试数据;
测试读取单元42,具体用于读所述预设存储单元行,得到读出数据;
测试写入单元41,还用于:
按照从小到大或从大到小的顺序,阶梯式改变所述测试写有效信号的持续时长;
按照持续时长改变后的测试写有效信号,重新向所述预设存储单元行写入所述测试数据,以供测试读取单元42读出。
可选的,时长确定单元43包括:
第三确定模块,用于若按照从小到大的顺序,阶梯式增大所述测试写有效信号的持续时长,则确定所述读出数据与所述测试数据首次一致时对应的所述测试写有效信号的持续时长为所述写临界时长;
第四确定模块,用于若按照从大到小的顺序,阶梯式减小所述测试写有效信号的持续时长,则确定所述读出数据与所述测试数据最后一次一致时对应的所述测试写有效信号的持续时长为所述写临界时长。
可选的,测试写入单元41包括:
第三写入模块,用于每间隔第二时长,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,多次向存储器的预设存储单元行写入测试数据;
或者
第四写入模块,用于根据所述存储器的环境温度和/或工作电压的变化,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,多次向存储器的预设存储单元行写入测试数据。
可选的,写操作单元44,具体用于根据所述写临界时长设置延时模块,以通过所述延时模块对所述存储器的写操作进行延时。
可选的,所述预设存储单元行的字选线与所述存储器的其他存储单元行的字选线分开译码,且不同时选通。
可选的,所述装置通过有限状态机实现。
相应的,如图9所示,本发明的实施例提供的电子设备,可以包括:壳体61、处理器62、存储器63、电路板64和电源电路65,其中,电路板64安置在壳体61围成的空间内部,处理器62和存储器63设置在电路板64上;电源电路65,用于为上述电子设备的各个电路或器件供电;存储器63用于存储可执行程序代码;处理器62通过读取存储器63中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述实施例提供的任一种存储器的数据读出方法或数据写入方法,因此也能实现相应的有益技术效果,前文已经进行了详细说明,此处不再赘述。
上述电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
相应的,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种存储器的数据读出方法或数据写入方法,因此也能实现相应的技术效果,前文已经进行了详细说明,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (32)
1.一种存储器的数据读出方法,其特征在于,包括:
通过测试写有效信号,向存储器的预设存储单元行写入测试数据;
以不同的数据读取时序,分别读取所述预设存储单元行中的数据,得到对应的读出数据;
根据所述读出数据与所述测试数据的一致性的变化,确定所述存储器的读时序对应的读临界时长;
根据所述读临界时长对所述存储器进行读操作。
2.根据权利要求1所述的方法,其特征在于,所述以不同的数据读取时序,分别读取所述预设存储单元行中的数据,得到对应的读出数据包括:
按照从小到大或从大到小的顺序,阶梯式改变所述数据读取时序中的第一时长,并在每种第一时长下分别读取所述预设存储单元行中的数据,得到对应的读出数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述读出数据与所述测试数据的一致性的变化,确定所述数据读取时序对应的读临界时长包括:
若按照从小到大的顺序,阶梯式增大所述数据读取时序中的所述第一时长,则确定所述读出数据与所述测试数据首次一致时对应的所述第一时长为所述读临界时长;
若按照从大到小的顺序,阶梯式减小所述数据读取时序中的所述第一时长,则确定所述读出数据与所述测试数据最后一次一致时对应的所述第一时长为所述读临界时长。
4.根据权利要求2所述的方法,其特征在于,所述数据读取时序中的第一时长包括数据读有效信号的持续时长和/或灵敏放大器的开启延迟时长,所述开启延迟时长为所述灵敏放大器的开启时刻与触发时钟的触发时刻的差值。
5.根据权利要求1所述的方法,其特征在于,所述通过测试写有效信号,向存储器的预设存储单元行写入测试数据包括:
每间隔第二时长,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,向存储器的预设存储单元行写入测试数据;
或者
根据所述存储器的环境温度和/或工作电压的变化,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,向存储器的预设存储单元行写入测试数据。
6.根据权利要求1所述的方法,其特征在于,所述根据所述读临界时长对所述存储器进行读操作包括:
根据所述读临界时长设置延时模块,以通过所述延时模块对所述存储器的读操作进行延时。
7.根据权利要求1所述的方法,其特征在于,所述预设存储单元行的字选线与所述存储器的其他存储单元行的字选线分开译码,且不同时选通。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述方法通过有限状态机实现。
9.一种存储器的数据写入方法,其特征在于,包括:
根据不同的测试写有效信号,多次向存储器的预设存储单元行写入测试数据,并以预设数据读取时序,将写入所述预设存储单元行的测试数据依次读出,得到对应的读出数据;
根据所述读出数据与所述测试数据的一致性的变化,确定向所述存储器执行写入操作所需的写临界时长;
根据所述写临界时长对所述存储器进行写操作。
10.根据权利要求9所述的方法,其特征在于,所述根据不同的测试写有效信号,多次向存储器的预设存储单元行写入测试数据,并以预设数据读取时序,将写入所述预设存储单元行的测试数据依次读出,得到对应的读出数据包括:
在测试写有效信号下,向所述预设存储单元行写入测试数据;
读所述预设存储单元行,得到读出数据;
按照从小到大或从大到小的顺序,阶梯式改变所述测试写有效信号的持续时长;
按照持续时长改变后的测试写有效信号,重新向所述预设存储单元行写入所述测试数据,并读出。
11.根据权利要求10所述的方法,其特征在于,所述根据所述读出数据与所述测试数据的一致性的变化,确定向所述存储器执行写入操作所需的写临界时长包括:
若按照从小到大的顺序,阶梯式增大所述测试写有效信号的持续时长,则确定所述读出数据与所述测试数据首次一致时对应的所述测试写有效信号的持续时长为所述写临界时长;
若按照从大到小的顺序,阶梯式减小所述测试写有效信号的持续时长,则确定所述读出数据与所述测试数据最后一次一致时对应的所述测试写有效信号的持续时长为所述写临界时长。
12.根据权利要求9所述的方法,其特征在于,所述根据不同的测试写有效信号,多次向存储器的预设存储单元行写入测试数据包括:
每间隔第二时长,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,多次向存储器的预设存储单元行写入测试数据;
或者
根据所述存储器的环境温度和/或工作电压的变化,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,多次向存储器的预设存储单元行写入测试数据。
13.根据权利要求9所述的方法,其特征在于,所述根据所述写临界时长对所述存储器进行写操作包括:
根据所述写临界时长设置延时模块,以通过所述延时模块对所述存储器的写操作进行延时。
14.根据权利要求9所述的方法,其特征在于,所述预设存储单元行的字选线与所述存储器的其他存储单元行的字选线分开译码,且不同时选通。
15.根据权利要求9-14中任一项所述的方法,其特征在于,所述方法通过有限状态机实现。
16.一种存储器的数据读出装置,其特征在于,包括:
测试写入单元,用于通过测试写有效信号,向存储器的预设存储单元行写入测试数据;
测试读取单元,用于以不同的数据读取时序,分别读取所述预设存储单元行中的数据,得到对应的读出数据;
时长确定单元,用于根据所述读出数据与所述测试数据的一致性的变化,确定所述存储器的读时序对应的读临界时长;
读操作单元,根据所述读临界时长对所述存储器进行读操作。
17.根据权利要求16所述的装置,其特征在于,所述测试读取单元,具体用于:
按照从小到大或从大到小的顺序,阶梯式改变所述数据读取时序中的第一时长,并在每种第一时长下分别读取所述预设存储单元行中的数据,得到对应的读出数据。
18.根据权利要求17所述的装置,其特征在于,所述时长确定单元包括:
第一确定模块,用于若按照从小到大的顺序,阶梯式增大所述数据读取时序中的所述第一时长,则确定所述读出数据与所述测试数据首次一致时对应的所述第一时长为所述读临界时长;
第二确定模块,用于若按照从大到小的顺序,阶梯式减小所述数据读取时序中的所述第一时长,则确定所述读出数据与所述测试数据最后一次一致时对应的所述第一时长为所述读临界时长。
19.根据权利要求17所述的装置,其特征在于,所述数据读取时序中的第一时长包括数据读有效信号的持续时长和/或灵敏放大器的开启延迟时长,所述开启延迟时长为所述灵敏放大器的开启时刻与触发时钟的触发时刻的差值。
20.根据权利要求16所述的装置,其特征在于,所述通测试写入单元包括:
第一写入模块,用于每间隔第二时长,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,向存储器的预设存储单元行写入测试数据;
或者
第二写入模块,用于根据所述存储器的环境温度和/或工作电压的变化,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,向存储器的预设存储单元行写入测试数据。
21.根据权利要求16所述的装置,其特征在于,所述读操作单元,具体用于根据所述读临界时长设置延时模块,以通过所述延时模块对所述存储器的读操作进行延时。
22.根据权利要求16所述的装置,其特征在于,所述预设存储单元行的字选线与所述存储器的其他存储单元行的字选线分开译码,且不同时选通。
23.根据权利要求16-22中任一项所述的装置,其特征在于,所述装置基于有限状态机实现。
24.一种存储器的数据写入装置,其特征在于,包括:
测试写入单元,用于根据不同的测试写有效信号,多次向存储器的预设存储单元行写入测试数据;
测试读取单元,用于以预设数据读取时序,将写入所述预设存储单元行的测试数据依次读出,得到对应的读出数据;
时长确定单元,用于根据所述读出数据与所述测试数据的一致性的变化,确定向所述存储器执行写入操作所需的写临界时长;
写操作单元,用于根据所述写临界时长对所述存储器进行写操作。
25.根据权利要求24所述的装置,其特征在于,
所述测试写入单元,具体用于在测试写有效信号下,向所述预设存储单元行写入测试数据;
所述测试读取单元,具体用于读所述预设存储单元行,得到读出数据;
所述测试写入单元,还用于:
按照从小到大或从大到小的顺序,阶梯式改变所述测试写有效信号的持续时长;
按照持续时长改变后的测试写有效信号,重新向所述预设存储单元行写入所述测试数据,以供所述测试读取单元读出。
26.根据权利要求24所述的装置,其特征在于,所述时长确定单元包括:
第三确定模块,用于若按照从小到大的顺序,阶梯式增大所述测试写有效信号的持续时长,则确定所述读出数据与所述测试数据首次一致时对应的所述测试写有效信号的持续时长为所述写临界时长;
第四确定模块,用于若按照从大到小的顺序,阶梯式减小所述测试写有效信号的持续时长,则确定所述读出数据与所述测试数据最后一次一致时对应的所述测试写有效信号的持续时长为所述写临界时长。
27.根据权利要求24所述的装置,其特征在于,所述测试写入单元包括:
第三写入模块,用于每间隔第二时长,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,多次向存储器的预设存储单元行写入测试数据;
或者
第四写入模块,用于根据所述存储器的环境温度和/或工作电压的变化,暂停操作系统对所述存储器的读写操作,并通过所述测试写有效信号,多次向存储器的预设存储单元行写入测试数据。
28.根据权利要求24所述的装置,其特征在于,所述写操作单元,具体用于根据所述写临界时长设置延时模块,以通过所述延时模块对所述存储器的写操作进行延时。
29.根据权利要求24所述的装置,其特征在于,所述预设存储单元行的字选线与所述存储器的其他存储单元行的字选线分开译码,且不同时选通。
30.根据权利要求24-29中任一项所述的装置,其特征在于,所述装置通过有限状态机实现。
31.一种电子设备,其特征在于,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;所述处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述权利要求1-8中任一项所述的存储器的数据读出方法或9-15中任一项所述的存储器的数据写入方法。
32.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述权利要求1-8中任一项所述的存储器的数据读出方法或9-15中任一项所述的存储器的数据写入方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010998430.2A CN112099734B (zh) | 2020-09-21 | 2020-09-21 | 一种存储器的数据读出方法、数据写入方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010998430.2A CN112099734B (zh) | 2020-09-21 | 2020-09-21 | 一种存储器的数据读出方法、数据写入方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112099734A true CN112099734A (zh) | 2020-12-18 |
CN112099734B CN112099734B (zh) | 2021-05-07 |
Family
ID=73756471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010998430.2A Active CN112099734B (zh) | 2020-09-21 | 2020-09-21 | 一种存储器的数据读出方法、数据写入方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112099734B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112992250A (zh) * | 2021-03-09 | 2021-06-18 | 江苏半湖智能科技有限公司 | 一种芯片边缘检测方法及装置 |
CN113282240A (zh) * | 2021-05-24 | 2021-08-20 | 深圳市盈和致远科技有限公司 | 存储空间数据读写方法、设备、存储介质及程序产品 |
WO2023178829A1 (zh) * | 2022-03-23 | 2023-09-28 | 长鑫存储技术有限公司 | 感应放大器感应边界确定方法及装置、介质及设备 |
US11798617B2 (en) | 2022-03-23 | 2023-10-24 | Changxin Memory Technologies, Inc. | Method and apparatus for determining sense boundary of sense amplifier, medium, and device |
US11869609B2 (en) | 2022-03-23 | 2024-01-09 | Changxin Memory Technologies, Inc. | Method and apparatus for testing memory, medium and device |
US11978504B2 (en) | 2022-03-23 | 2024-05-07 | Changxin Memory Technologies, Inc. | Method and apparatus for determining sense boundary of sense amplifier, medium, and device |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692215A (zh) * | 2009-08-28 | 2010-04-07 | 福建星网锐捷网络有限公司 | 串行管理接口控制方法和装置 |
CN102508726A (zh) * | 2011-11-14 | 2012-06-20 | 福建星网锐捷网络有限公司 | 内存参数配置方法、处理器及设备 |
CN101458971B (zh) * | 2008-12-02 | 2013-01-09 | 炬力集成电路设计有限公司 | 一种嵌入式静态存储器的测试系统及测试方法 |
CN103019302A (zh) * | 2012-12-07 | 2013-04-03 | 北京星网锐捷网络技术有限公司 | 基于温度变化动态调整时序的方法、装置及网络设备 |
CN104205233A (zh) * | 2012-03-30 | 2014-12-10 | 英特尔公司 | 用于堆叠的存储器架构的内建自测试 |
CN106708167A (zh) * | 2015-11-13 | 2017-05-24 | 北京兆易创新科技股份有限公司 | 一种调整时钟的方法及控制器 |
CN111341376A (zh) * | 2020-03-11 | 2020-06-26 | 展讯通信(上海)有限公司 | Sram时序测试电路及测试方法 |
CN111506509A (zh) * | 2020-04-20 | 2020-08-07 | 上海元城汽车技术有限公司 | 汽车软件单元自动测试方法、装置、设备及存储介质 |
-
2020
- 2020-09-21 CN CN202010998430.2A patent/CN112099734B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458971B (zh) * | 2008-12-02 | 2013-01-09 | 炬力集成电路设计有限公司 | 一种嵌入式静态存储器的测试系统及测试方法 |
CN101692215A (zh) * | 2009-08-28 | 2010-04-07 | 福建星网锐捷网络有限公司 | 串行管理接口控制方法和装置 |
CN102508726A (zh) * | 2011-11-14 | 2012-06-20 | 福建星网锐捷网络有限公司 | 内存参数配置方法、处理器及设备 |
CN104205233A (zh) * | 2012-03-30 | 2014-12-10 | 英特尔公司 | 用于堆叠的存储器架构的内建自测试 |
CN103019302A (zh) * | 2012-12-07 | 2013-04-03 | 北京星网锐捷网络技术有限公司 | 基于温度变化动态调整时序的方法、装置及网络设备 |
CN106708167A (zh) * | 2015-11-13 | 2017-05-24 | 北京兆易创新科技股份有限公司 | 一种调整时钟的方法及控制器 |
CN111341376A (zh) * | 2020-03-11 | 2020-06-26 | 展讯通信(上海)有限公司 | Sram时序测试电路及测试方法 |
CN111506509A (zh) * | 2020-04-20 | 2020-08-07 | 上海元城汽车技术有限公司 | 汽车软件单元自动测试方法、装置、设备及存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112992250A (zh) * | 2021-03-09 | 2021-06-18 | 江苏半湖智能科技有限公司 | 一种芯片边缘检测方法及装置 |
CN113282240A (zh) * | 2021-05-24 | 2021-08-20 | 深圳市盈和致远科技有限公司 | 存储空间数据读写方法、设备、存储介质及程序产品 |
WO2023178829A1 (zh) * | 2022-03-23 | 2023-09-28 | 长鑫存储技术有限公司 | 感应放大器感应边界确定方法及装置、介质及设备 |
US11798617B2 (en) | 2022-03-23 | 2023-10-24 | Changxin Memory Technologies, Inc. | Method and apparatus for determining sense boundary of sense amplifier, medium, and device |
US11869609B2 (en) | 2022-03-23 | 2024-01-09 | Changxin Memory Technologies, Inc. | Method and apparatus for testing memory, medium and device |
US11978504B2 (en) | 2022-03-23 | 2024-05-07 | Changxin Memory Technologies, Inc. | Method and apparatus for determining sense boundary of sense amplifier, medium, and device |
Also Published As
Publication number | Publication date |
---|---|
CN112099734B (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112099734B (zh) | 一种存储器的数据读出方法、数据写入方法及装置 | |
CN107093459B (zh) | 非易失性存储器设备及其读取方法和存储器系统 | |
US8958254B2 (en) | High performance two-port SRAM architecture using 8T high performance single port bit cell | |
CN108630277B (zh) | 半导体器件 | |
KR20120010664A (ko) | 음전압 레벨 쉬프터를 포함하는 스태틱 랜덤 액세스 메모리 장치 | |
US7218562B2 (en) | Recovering bit lines in a memory array after stopped clock operation | |
CN108352175A (zh) | 低功率高性能sram中的感测放大器 | |
JP2669303B2 (ja) | ビットエラー訂正機能付き半導体メモリ | |
US20190279707A1 (en) | Method and circuit for adaptive read-write operation in self-timed memory | |
CN109087677B (zh) | 存储器装置及其数据读取方法 | |
US8599629B2 (en) | Method and apparatus for synchronizing data from memory arrays | |
KR20040101329A (ko) | 의사-정적 메모리 장치를 위한 비동기 인터페이스 회로와방법 | |
US7877667B2 (en) | Semiconductor memory | |
US7426148B2 (en) | Method and apparatus for identifying short circuits in an integrated circuit device | |
US8315120B2 (en) | Semiconductor memory device and method of driving the same | |
US20150029795A1 (en) | Selective dual cycle write operation for a self-timed memory | |
US6275427B1 (en) | Stability test for silicon on insulator SRAM memory cells utilizing disturb operations to stress memory cells under test | |
JP2004054969A (ja) | データ処理装置、半導体記憶装置及びクロック周波数検出方法 | |
US20140071735A1 (en) | Initializing dummy bits of an sram tracking circuit | |
TWI601134B (zh) | 於記憶體中保持電荷位準之技術 | |
US20160314824A1 (en) | Apparatuses and methods for providing active and inactive clock signals to a command path circuit | |
TW201344399A (zh) | 控制方法及運用該控制方法之電子裝置 | |
US9245606B2 (en) | SRAM memory device and testing method thereof | |
JP2008117492A (ja) | 半導体装置 | |
CN107230493B (zh) | 选择码提供电路及其提供方法 |
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 |