阈值电压的获取系统、传递方法、装置、设备及存储介质
技术领域
本申请涉及芯片
技术领域
,具体而言,涉及一种阈值电压的获取系统、传递方法、装置、设备及存储介质。背景技术
Nor Flash存储器的memory cell为浮栅晶体管,其存储数据“0”和“1”主要通过改变memory cell的阈值电压(Vth)实现。即阈值电压(Vth)是用来区分Nor Flash存储数据1和0的临界电压,其中,高于Vth的电压的数据被定义为“0”,低于Vth的电压的数据被定义为“1”。
阈值电压可以作为判断闪存数据保持性能的指标参数,以及根据阈值电压的偏移判断闪存受到读干扰,擦写干扰等因素干扰的程度。因此,准确、高效的阈值电压获取方法尤为重要。
闪存的阈值电压的获取是通过改变Read 字线电压,然后查找使读出数据从0变1或者从1变0的临界闪存电压作为memory cell的阈值电压(Vth)。
在传统的MCU直接控制闪存去测试获取阈值电压的方法中,MCU先通过给闪存发送一系列的配置指令去获取,包括进入到test mode,写字线电压,复位,进入高性能模式,fast read等操作,由于MCU在发送给闪存这些操作指令的同时也要处理其他事物,从而给闪存发送指令时并不能很好的形成连续性,或是发送过快致使闪存错过指令的接收,或是发送过慢致使闪存在一个指令执行完到下一个执行开始执行之间产生一个的时间间隔,从而可能引起指令执行错误与漏执行。
针对上述问题,目前尚未有有效的技术解决方案。
发明内容
本申请实施例的目的在于提供一种阈值电压的获取系统、传递方法、装置、设备及存储介质,确保控制单元对闪存发送的操作指令能有序、顺利的执行以顺利获取闪存的阈值电压。
第一方面,本申请实施例提供了一种阈值电压的获取系统,用于获取闪存的阈值电压,包括:
控制单元,用于根据测量电压和目标数据信息生成多条服务于改变闪存实际数据信息的控制信息;
FPGA单元,用于接收并寄存所述控制信息,将所述控制信息整合为控制指令,并使所述闪存写入所述控制指令而生成相应的实际数据信息;
所述FPGA单元可读取所述实际数据信息,并将所述实际数据信息反馈给控制单元,所述控制单元可根据所述实际数据信息和所述目标数据信息判断所述测量电压是否为阈值电压。
所述的一种阈值电压的获取系统,其中,所述实际数据信息和所述目标数据信息均包括数据为0的存储单元个数和/或数据为1的存储单元个数。
第二方面,本申请实施例提供了一种阈值电压获取的信息传递方法,用于传递获取闪存的阈值电压过程中的信息,包括以下步骤:
S1、接收并寄存控制信息,将所述控制信息整合为控制指令,所述控制信息由控制单元根据测量电压和目标数据信息生成;
S2、将所述控制指令发送给所述闪存,并使闪存写入所述控制指令而生成相应的实际数据信息;
S3、将所述实际数据信息反馈给控制单元,以使所述控制单元可根据所述实际数据信息和所述目标数据信息判断所述测量电压是否为阈值电压。
所述的一种阈值电压获取的信息传递方法,其中,在步骤S1中,所述控制指令包括用于改变闪存数据的数据指令和用于改变闪存字线电压的配置指令。
所述的一种阈值电压获取的信息传递方法,其中,步骤S2包括以下子步骤:
S21、将数据指令发送给所述闪存,并写入所述闪存中改变闪存中数据;
S22、将配置指令发送给所述闪存,并写入所述闪存中将闪存中配置的字线电压调节为测量电压值,使闪存中数据表现为实际数据信息。
所述的一种阈值电压获取的信息传递方法,其中,当所述控制信息包含对应于多个闪存的控制信息时,步骤S1包括以下子步骤:
S11、接收并寄存控制信息;
S12、根据所述闪存归属,区分并整合控制信息,将控制信息分别整合为完整可执行的控制指令。
所述的一种阈值电压获取的信息传递方法法,其中,所述控制信息包含对应于闪存的校验码或唯一识别码或编号。
第三方面,本申请实施例提供了一种执行上述阈值电压获取的信息传递方法的信息传递装置,包括FPGA单元,所述FPGA单元包括:
寄存整合模块,用于接收并寄存控制单元生的控制信息,并将控制信息整合为控制指令;
读写模块,通过总线模块与寄存整合模块连接,用于来自寄存整合模块的接收控制指令并发送写入闪存;
模数转换模块,用于采集FPGA单元电压和闪存电压,可将电压转换成数字信号;
所述读写模块可获取闪存中实际数据信息,通过总线模块将实际数据信息发送给寄存整合模块,寄存整合模块可将读写模块从闪存中获取的实际数据信息反馈给控制单元,由控制单元可根据所述实际数据信息和所述目标数据信息判断所述测量电压是否为阈值电压。
第四方面,本申请实施例还提供了一种设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
第五方面,本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
由上可知,本申请实施例提供了一种阈值电压的获取系统、传递方法、装置、设备及存储介质,其中,获取系统设置FPGA单元作为中间层接收并寄存控制单元生成的控制信息,使之整合成完整的控制指令再发送写入闪存,实现闪存中有序、连续地完成数据写入和数据获取,避免获取闪存阈值电压时闪存中产生指令执行错误与漏执行的问题。
附图说明
图1为本申请实施例提供的一种阈值电压的获取系统的结构示意图。
图2为本申请实施例提供的一种阈值电压获取的信息传递方法的流程图。
图3为本申请实施例提供的一种阈值电压获取的信息传递装置的的结构示意图。
图4为本申请实施例提供的一种阈值电压的获取系统的实施例1的结构示意图。
图5为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
第一方面,请参照图1,图1是本申请一些实施例中的一种阈值电压的获取系统,用于获取闪存的阈值电压,包括:
控制单元,用于根据测量电压和目标数据信息生成多条服务于改变闪存实际数据信息的控制信息;
FPGA单元,用于接收并寄存控制信息,将控制信息整合为控制指令,并使闪存写入控制指令而生成相应的实际数据信息;
FPGA单元可读取实际数据信息,并将实际数据信息反馈给控制单元,控制单元可根据实际数据信息和目标数据信息判断测量电压是否为阈值电压。
具体地,当控制单元分析出该测量电压并非阈值电压时,需调节测量电压的值发布新的控制信息进行再次测量,直接获取准确的阈值电压。
更具体地,调节测量电压包括增大和减少测量电压两种调节方式;测量电压的调节方式基于实际数据信息与目标数据信息的比对情况进行选择。
更具体地,测量电压的调节量可为等值调节,也可采用最小二乘法进行调节,以便精准获取阈值电压。
本申请实施例一种阈值电压的获取系统设置的FPGA单元作为中间层接收并寄存控制单元生成的控制信息,可作为消息中枢进行控制信息的收集整理,FPGA单元将控制信息整理为可完整执行的控制指令后,打包发送给闪存,实现闪存中有序、连续地完成数据写入和数据获取,避免了指令执行错误与漏执行的问题。
在一些优选的实施方式中,控制单元可根据实际运作情况、负载以间断性或连续性地生成多条控制信息。
在一些优选的实施方式中,基于目标数据信息生成的控制信息用于改变闪存的写入数据;基于测量电压生成的控制信息用于改变闪存的配置环境中电压以使得写入数据表现为实际数据信息。
在一些优选的实施方式中,FPGA单元可间断地或连续地接收来自控制单元生成的控制信息,然后将这些控制信息暂时寄存。
具体地,当FPGA单元寄存的多条控制信息包含了改变一个闪存实际数据信息循环需求的控制信息时,FPGA单元将改变一个闪存实际数据信息的循环需求的控制信息整合打包为一系列控制指令,然后将整合打包后的指令发送给闪存,而对闪存执行写入控制指令,改变闪存的数据和配置环境进而使得闪存上实际数据信息产生变化。
在一些优选的实施方式中,在闪存中完全写入控制指令后,FPGA单元读取闪存中已产生变化的稳定的实际数据信息,然后将实际数据信息整理反馈发送给控制单元,待控制单元对该实际数据信息进行分析。
在一些优选的实施方式中,控制单元接收并分析实际数据信息,若该实际数据信息与目标数据信息一致,则代表当前闪存配置环境中设置的根据测量电压设定的电压,可使闪存中写入数据展现的实际数据信息与目标数据信息吻合,即在该测量电压下,写入数据能正常表现,则该测量电压的值为该闪存的阈值电压;反之,若该实际数据信息与目标信息不一致,在该测量电压下,写入数据不能正常表现,则该测量电压的值不是该闪存的阈值电压,需改变测量电压再次进行测量,直接获得该闪存的阈值电压。
在一些优选的实施方式中,若控制单元分析出当前测量电压并非阈值电压时,控制单元可设置新的目标数据信息生成关于写入数据的控制信息,也可不改变目标数据信息生成仅用于记录当前写入数据的控制信息,还可不生成基于目标数据信息生产的控制信息;具体地,在第一种情况中,设置新的目标数据信息可对目标数据信息赋予特定含义进行数据记录,如用于记录当前循环此时、生成时间等,且不会影响阈值电压的获取;在第二/三种情况中,目标数据信息未发生改变,生成的控制信息用于改变闪存配置环境中的电压以尽快获取该闪存的阈值电压,可有效减少闪存写入次数。
在一些优选的实施方式中,实际数据信息和目标数据信息均包括数据为0的存储单元个数和/或数据为1的存储单元个数。
具体地,闪存中写入数据通过写入地址中存储单元数据1或0进行反映的,在阈值电压下实际数据信息中1和0数据个数应当与目标数据信息中1和0数据个数相同;因此步骤S5分析“分析实际数据信息是否与目标数据信息一致”的逻辑为“分析实际数据信息中包含的1和/或0的数据个数是否与目标数据信息中包含的1和/或0的数据个数一致”,其中,前者1的数据个数与后者1的数据个数比对,前者0的数据个数与后者0的数据个数比对;当实际数据信息中数据个数与目标数据信息中数据个数一致时,表明该测量电压下闪存写入数据表现正常,则该测量电压为阈值电压。
具体地,当该测量电压并非阈值电压而需进行调整时,以1数据个数比对为例,当实际数据信息中1的数据个数比目标数据信息中1的数据个数多时,则表面该测量电压小于阈值电压,使得数据中1的数据个数比预期的更多,因此,需将测量电压调大以进行再次测量,反之,当实际数据信息中1的数据个数比目标数据信息中1的数据个数少时,将测量电压调小。
在一些优选的实施方式中,所述闪存为一个以上。具体地,FPGA单元可同时或间隔完成一个以上闪存的指令发送和/或数据获取,使得本系统可同时适用于一个以上闪存的阈值电压的获取,具有适用范围广的特点。
在一些优选的实施方式中,当闪存为多个时,FPGA单元可整合多条对应于不同闪存的控制指令,且可将控制指令写入对应闪存,并可读取对应闪存中实际数据信息。
具体地,当闪存为多个时,控制单元可同时或顺序生成对应多个闪存的控制信息,且可连续或间断地生成控制信息;具体地,顺序生成控制信息代表的是控制单元先完成一个闪存的阈值电压的获取再进行下一个闪存的阈值电压的获取;同时生成控制信息代表的是控制单元可同时进行多个闪存的阈值电压的获取;在本实施例中,控制单元优选为同时生成对应多个闪存的控制信息。
更具体地,基于控制单元优选为同时生成对应多个闪存的控制信息,FPGA单元接收控制单元生成的关于不同闪存的控制信息,然后分配控制信息,将控制信息整合打包成对应于不同闪存的控制指令,并将整合后完整的控制指令发送给对应闪存进行数据写入。
更具体地,FPGA可同时读取多个闪存中的实际数据信息,并实际数据信息反馈发送给控制单元,由控制单元完成实际数据信息的分析。
在一些优选的实施方式中,控制单元为MCU(Microcontroller Unit),即微控制单元。
第二方面,请参照图2,图2是本申请一些实施例中的一种阈值电压获取的信息传递方法,用于传递获取闪存的阈值电压过程中的信息,包括以下步骤:
S1、接收并寄存控制信息,将控制信息整合为控制指令,控制信息由控制单元根据测量电压和目标数据信息生成;
S2、将控制指令发送给闪存,并使闪存写入控制指令而生成相应的实际数据信息;
S3、将实际数据信息反馈给控制单元,以使控制单元可根据实际数据信息和目标数据信息判断测量电压是否为阈值电压。
本申请实施例的一种阈值电压获取的信息传递方法,可接收并寄存由控制单元生成的控制信息,使之整合成完整的控制指令再发送写入闪存,实现闪存中有序、连续地完成数据写入和数据获取,避免获取闪存阈值电压时闪存中产生指令执行错误与漏执行的问题。
在一些优选的实施方式中,在步骤S1中,控制指令包括用于改变闪存数据的数据指令和用于改变闪存字线电压的配置指令。
具体地,数据指令基于目标数据信息进行设定,使得闪存中写入数据在阈值电压下表现的实际数据信息能与目标数据信息一致;配置指令基于测量电压进行设定,其包含进入到test mode、写read字线电压、复位、进入高性能模式等操作,以实现闪存配置环境的调节。
在一些优选的实施方式中,步骤S2包括以下子步骤:
S21、将数据指令发送给闪存,并写入闪存中改变闪存中数据;
S22、将配置指令发送给闪存,并写入闪存中将闪存中配置的字线电压调节为测量电压值,使闪存中数据表现为实际数据信息。
具体地,先改变闪存中数据再调节字线电压,使得实际数据信息的获取过程能有序进行。
另外,若第一次测量电压并非阈值电压而进行第二次及以后的循环测量过程中,若目标数据信息未重新设置,则产生的数据指令相同,可跳过步骤S21已减少闪存的写入次数,提高阈值电压获取效率并减少闪存的损耗。
在一些优选的实施方式中,当控制信息包含对应于多个闪存的控制信息时,步骤S1包括以下子步骤:
S11、接收并寄存控制信息;
S12、根据闪存归属,区分并整合控制信息,将控制信息分别整合为完整可执行的控制指令。
在一些优选的实施方式中,控制信息包含对应于闪存的校验码或唯一识别码或编号。
具体地,控制信息包含对应于闪存的校验码或唯一识别码或编号;可根据控制信息中的校验码或唯一识别码或编号进行区分寄存,使得具有同一校验码或唯一识别码或编号的控制信息寄存于同一区域中,待该区域中控制信息能完整组合可执行的控制指令时,将该区域中控制信息整体打包发送给对应于该校验码或唯一识别码或编号的闪存;设置校验码或唯一识别码或编号利于对散乱的控制信息进行整合,有效确保信息传输的准确性。
在一些优选的实施方式中,实际数据信息还包括对应于生成该实际数据信息的闪存对应的校验码或唯一识别码或编号;控制单元接收来自FPGA发送的实际数据信息后,将该实际数据信息中的校验码或唯一识别码或编号与目标数据信息对应闪存的校验码或唯一识别码或编号进行匹配,匹配成功后再分析实际数据信息和目标数据信息是否一致。
第三方面,请参照图3,图3是本申请一些实施例中的一种用于执行上述实施例中阈值电压获取的信息传递方法的信息传递装置,包括FPGA单元,FPGA单元包括:
寄存整合模块,用于接收并寄存控制单元生的控制信息,并将控制信息整合为控制指令;
读写模块,通过总线模块与寄存整合模块连接,用于来自寄存整合模块的接收控制指令并发送写入闪存;
模数转换模块,用于采集FPGA单元电压和闪存电压,可将电压转换成数字信号;
所述读写模块可获取闪存中实际数据信息,通过总线模块将实际数据信息发送给寄存整合模块,寄存整合模块可将读写模块从闪存中获取的实际数据信息反馈给控制单元,由控制单元可根据所述实际数据信息和所述目标数据信息判断所述测量电压是否为阈值电压。
本申请实施例提供的闪存阈值电压获取装置,可利用寄存整合模块接收并寄存控制信息,将控制信息整合后通过读写模块打包发送并写入闪存,使得控制信息可整合成完整的控制指令再发送写入闪存,实现闪存中有序、连续地完成数据写入和数据获取,避免获取闪存阈值电压时闪存中产生指令执行错误与漏执行的问题。
在一些优选的实施方式中,闪存为多个,且由一个FPGA单元完成多个闪存的控制指令整合发送和实际数据信息的读取。
本申请实施例的一种信息传递装置,设置FPGA单元作为中间层接收并寄存控制单元生成的控制信息,可作为消息中枢进行控制信息的收集整理、发送,实现闪存中有序、连续地完成数据写入和数据获取,避免了指令执行错误与漏执行的问题;针对多个闪存使用时,还可将关于多个闪存的控制信息区分整合发送,使得本申请实施例中的获取方法能有序、可靠地完成多个闪存的阈值电压的获取。
具体地,控制单元生成关于多个闪存的多条控制信息,当FPGA单元的寄存整合模块可同时或间断地接收多条来自控制单元发出的控制信息,并将控制信息寄存,控制信息中包含了对应闪存的校验码或唯一识别码或编号,寄存整合模块根据寄存中控制信息的校验码或唯一识别码或编号将控制信息区分整理,当寄存整合模块中寄存的多条控制信息包含了改变一个闪存实际数据信息循环需求的控制信息时,寄存整合模块将改变一个闪存实际数据信息的循环需求的控制信息整合打包为一系列控制指令,然后通过总线模块将控制指令发送给读写模块,由读写模块将控制指令发送给闪存,而对闪存执行写入控制指令,改变闪存的数据和配置环境进而使得闪存上实际数据信息产生变化;在闪存中完全写入控制指令后,读写模块接可读取闪存中已产生变化的稳定的实际数据信息,然后将实际数据信息通过总线模块发送给寄存整合模块,再由寄存整合模块将实际数据信息整理反馈发送给控制单元,待控制单元对该实际数据信息进行分析,完成整个信息传递过程。
实施例1
如图4所示为本申请实施例获取系统具体实施时的结构示意图,MCU通过SPI协议与FPGA和AD5160数字电位器进行通信,FPGA通过SPI协议与闪存进行通信。
其中,FPGA包括CTRL模块、SLOT模块、APB总线、ADC08s模数转换芯片,CTRL模块通过SPI协议与MCU通信连接,CTRL通过APB总线与SLOT模块通信连接,SLOT模块通过SPI协议与闪存通信连接,ADC08s模数转换芯片通过SPI协议与CTRL模块通信连接。
本实施例中, MCU作为主控单元,FPGA通过内部的状态机转发给闪存去执行相对应的操作。
具体地,FPGA作为MCU和闪存之间的通信纽带,CTRL模块主要负责解析并寄存MCU基于SPI协议发送过来的操作信息,并分别通过SPI协议发送配置信息给ADC108s模数转换芯片,以及通过APB总线给SLOT模块发送寄存在寄存器中的相应操作数据。
SLOT模块被CTRL模块通过APB总线将其内部的启动指示位寄存器ctrl_flash_en置位,从而启动CTRL_FLASH操作,并获取相对应的用于操作闪存的信息,并通过内部的状态机在指示位寄存器置位后将信息通过SPI协议发送给闪存,若发送的是读取信息的指令,还会接收并在相对应的寄存器中寄存闪存输出的数据,即实际数据信息,这些寄存器中的信息会在MCU发送读取操作闪存的结果指令时,被APB总线发送到CTRL模块,CTRL模块通过SPI协议将读取的信息发送到MCU,再由MCU分析读取到的信息。
本实施例中,APB总线作为CTRL模块和SLOT模块的通信桥梁,还用于将SLOT模块寄存的待测删除输出结果传输到CTRL模块中,读取速率为4byte/每次。
本实施例中,AD5160数字电位器,在MCU的控制下给FPGA和闪存进行供电,其功能相当于一个变阻器,根据输入的配置信息从而改变电阻值,最终输出不同的电压值。
本实施例中,ADC108s模数转换芯片,主要负责采集闪存和FPGA 的电压,通过将电压装换给数字信息,在接受CTRL模块通过SPI协议发送的地址信息后,输出相对应的数值,这个数值通过公式转换就可以得到具体的电压值。
本实施例中,在闪存数据操作过程中,发送写入数据指令,写入数据比如5A(0101_1010),然后发送相关指令配置指令,让闪存进入testmode形式,再通过写指令修改对应字线电压的配置位数值去调节字线的电压,再发送读指令去读取之前写入地址处数据中“1”的个数,FPGA会统计“1”的个数,将统计值传送给MCU,若是读出全是“0”或者“1”,说明此时的字线电压还不是阈值电压,这是继续逐步调节字线电压直至读出的“1”的个数与写入的“1”的个数相同,说明此时的字线电压就是闪存的阈值电压。
第四方面,请参照图5,图5为本申请实施例提供的一种设备的结构示意图,本申请提供一种设备3,包括:处理器301和存储器302,处理器301和存储器302通过通信总线303和/或其他形式的连接机构(未标出)互连并相互通讯,存储器302存储有处理器301可执行的计算机程序,当计算设备运行时,处理器301执行该计算机程序,以执行时执行上述实施例的任一可选的实现方式中的方法。
第五方面,本申请实施例提供一种存储介质,计算机程序被处理器执行时,执行上述实施例的任一可选的实现方式中的方法。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random AccessMemory, 简称SRAM),电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory, 简称EEPROM),可擦除可编程只读存储器(Erasable ProgrammableRead Only Memory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。
综上,本申请实施例提供了一种阈值电压的获取系统、传递方法、装置、设备及存储介质,其中,获取系统设置FPGA单元作为中间层接收并寄存控制单元生成的控制信息,使之整合成完整的控制指令再发送写入闪存,实现闪存中有序、连续地完成数据写入和数据获取,避免获取闪存阈值电压时闪存中产生指令执行错误与漏执行的问题。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。