本发明专利技术实施例提供了一种非易失性存储器的编程方法及装置,涉及存储器技术领域。本发明专利技术实施例将静态随机存储器中的待编程数据与非易失性存储器中的数据信息进行第一校验,并将第一校验结果回写至静态随机存储器内,对第一校验中校验失败的数据信息进行编程操作,根据第一校验结果对编程操作后的数据信息进行第二校验,确定编程是否成功。通过将校验结果回写至静态随机存储器中,再根据静态随机存储器中的校验结果判断是否对非易失性存储器中的数据信息进行编程,采用分时复用的思路,使静态随机存储器既可以存储待编程数据,又可以代替存储器件A存储校验结果,提高了逻辑电路的利用率,简化了逻辑结构,并缩小了电路的面积。
【技术实现步骤摘要】
一种非易失性存储器的编程方法及装置
本专利技术涉及存储器
,特别是涉及一种非易失性存储器的编程方法及装置。
技术介绍
非易失性存储器是一种在断电情况下,能够保持所存储的数据的存储器,因此,非易失性存储器被广泛用作计算机、个人数字助理、移动电话、数字相机等电子产品的数据存储装置。目前,非易失性存储器的编程方法是将1个页面的待编程数据写入静态随机存储器中,将待编程数据与非易失性存储器中原本的数据信息进行校验,将校验结果存于一个额外的存储器件A中,再根据存储器件A中的校验结果判断是否对非易失性存储器中原本的数据信息进行编程。在专利技术人应用在先技术时,发现在先技术中的静态随机存储器仅用于存储待编程的数据,将待编程数据与非易失性存储器中的数据信息校验后的校验结果更新至存储器件A中,静态随机存储器便处于闲置状态,导致逻辑电路的利用率不高,且由于设置了额外的存储器件,造成电路的面积较大。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的非易失性存储器的编程方法及装置。依据本专利技术的一个方面,提供了一种非易失性存储器的编程方法,包括:依次读取静态随机存储器指定地址的待编程数据;根据所述指定地址读取非易失性存储器中相应地址的数据信息;将所述待编程数据与所述数据信息进行第一校验,并将第一校验结果回写至所述静态随机存储器的指定地址内;对所述第一校验中校验失败的数据信息进行编程操作;根据所述第一校验结果对所述编程操作后的数据信息进行第二校验,确定编程是否成功;当所述编程失败时,对所述编程操作后的数据信息重复进行编程操作与第二校验,直至编程成功或达到最大编程次数。优选地,所述将所述待编程数据与所述数据信息进行第一校验,并将第一校验结果回写至所述静态随机存储器的指定地址内的步骤,包括:将所述待编程数据与所述数据信息进行第一校验;当所述待编程数据为0,且所述数据信息为1时,第一校验失败,将第一校验结果0回写至所述静态随机存储器的指定地址内;当所述待编程数据为1,或所述待编程数据与所述数据信息均为0时,第一校验成功,将第一校验结果1回写至所述静态随机存储器的指定地址内。优选地,所述根据所述第一校验结果对所述编程操作后的数据信息进行第二校验,确定编程是否成功的步骤,包括:根据所述第一校验结果对所述编程操作后的数据信息进行第二校验;当所述第一校验结果为0,且所述编程操作后的数据信息为1时,编程失败,将第二校验结果0回写至所述静态随机存储器的指定地址内;当所述第一校验结果与所述编程操作后的数据信息均为0时,编程成功,将第二校验结果1回写至所述静态随机存储器的指定地址内。优选地,在所述依次读取静态随机存储器指定地址的待编程数据的步骤之前,还包括:依次将待编程数据写入静态随机存储器中。优选地,所述根据所述指定地址读取非易失性存储器中相应地址的数据信息的步骤,包括:根据所述指定地址的待编程数据,确定是否需要读取非易失性存储器中相应地址的数据信息;当所述待编程数据不全部为1时,读取非易失性存储器中相应地址的数据信息。优选地,所述对所述第一校验中校验失败的数据信息进行编程操作的步骤,包括:当所述待编程数据与所述数据信息全部校验完成时,对所述第一校验中校验失败的数据信息进行编程操作。优选地,所述编程操作为针对所述非易失性存储器中的数据信息施加编程脉冲的操作。根据本专利技术的另一方面,提供了一种非易失性存储器的编程装置,包括:待编程数据读取模块,用于依次读取静态随机存储器指定地址的待编程数据;数据信息读取模块,用于根据所述指定地址读取非易失性存储器中相应地址的数据信息;第一校验模块,用于将所述待编程数据与所述数据信息进行第一校验,并将第一校验结果回写至所述静态随机存储器的指定地址内;编程操作模块,用于对所述第一校验中校验失败的数据信息进行编程操作;第二校验模块,用于根据所述第一校验结果对所述编程操作后的数据信息进行第二校验,确定编程是否成功;重复操作模块,用于当所述编程失败时,对所述编程操作后的数据信息重复进行编程操作与第二校验,直至编程成功或达到最大编程次数。优选地,所述第一校验模块,包括:第一校验子模块,用于将所述待编程数据与所述数据信息进行第一校验;第一回写子模块,用于当所述待编程数据为0,且所述数据信息为1时,第一校验失败,将第一校验结果0回写至所述静态随机存储器的指定地址内;第二回写子模块,用于当所述待编程数据为1,或所述待编程数据与所述数据信息均为0时,第一校验成功,将第一校验结果1回写至所述静态随机存储器的指定地址内。优选地,所述第二校验模块,包括:第二校验子模块,用于根据所述第一校验结果对所述编程操作后的数据信息进行第二校验;第三回写子模块,用于当所述第一校验结果为0,且所述编程操作后的数据信息为1时,编程失败,将第二校验结果0回写至所述静态随机存储器的指定地址内;第四回写子模块,用于当所述第一校验结果与所述编程操作后的数据信息均为0时,编程成功,将第二校验结果1回写至所述静态随机存储器的指定地址内。优选地,还包括:待编程数据写入模块,用于依次将待编程数据写入静态随机存储器中。优选地,所述数据信息读取模块,包括:数据信息读取确定模块,用于根据所述指定地址的待编程数据,确定是否需要读取非易失性存储器中相应地址的数据信息;信息读取模块,用于当所述待编程数据不全部为1时,读取非易失性存储器中相应地址的数据信息。优选地,所述编程操作模块,包括:编程模块,用于当所述待编程数据与所述数据信息全部校验完成时,对所述第一校验中校验失败的数据信息进行编程操作。优选地,所述编程操作为针对所述非易失性存储器中的数据信息施加编程脉冲的操作。针对在先技术,本专利技术具备如下优点:本专利技术提供了一种非易失性存储器的编程方法及装置,通过依次读取静态随机存储器指定地址的待编程数据,根据所述指定地址读取非易失性存储器中相应地址的数据信息,将所述待编程数据与所述数据信息进行第一校验,并将第一校验结果回写至所述静态随机存储器的指定地址内,对所述第一校验中校验失败的数据信息进行编程操作,根据所述第一校验结果对所述编程操作后的数据信息进行第二校验,确定编程是否成功,当所述编程失败时,对所述编程操作后的数据信息重复进行编程操作与第二校验,直至编程成功或达到最大编程次数。将待编程数据与非易失性存储器中的数据信息校验后的校验结果回写至静态随机存储器中,再根据静态随机存储器中的校验结果判断是否对非易失性存储器中的数据信息进行编程,采用分时复用的思路,使静态随机存储器既可以存储待编程数据,又可以代替存储器件A存储校验结果,提高了逻辑电路的利用率,简化了逻辑结构,并缩小了电路的面积。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术实施例一中的一种非易失性存储器的编程方法的流本文档来自技高网...
【技术保护点】
1.一种非易失性存储器的编程方法,其特征在于,包括:依次读取静态随机存储器指定地址的待编程数据;根据所述指定地址读取非易失性存储器中相应地址的数据信息;将所述待编程数据与所述数据信息进行第一校验,并将第一校验结果回写至所述静态随机存储器的指定地址内;对所述第一校验中校验失败的数据信息进行编程操作;根据所述第一校验结果对所述编程操作后的数据信息进行第二校验,确定编程是否成功;当所述编程失败时,对所述编程操作后的数据信息重复进行编程操作与第二校验,直至编程成功或达到最大编程次数。
【技术特征摘要】
1.一种非易失性存储器的编程方法,其特征在于,包括:依次读取静态随机存储器指定地址的待编程数据;根据所述指定地址读取非易失性存储器中相应地址的数据信息;将所述待编程数据与所述数据信息进行第一校验,并将第一校验结果回写至所述静态随机存储器的指定地址内;对所述第一校验中校验失败的数据信息进行编程操作;根据所述第一校验结果对所述编程操作后的数据信息进行第二校验,确定编程是否成功;当所述编程失败时,对所述编程操作后的数据信息重复进行编程操作与第二校验,直至编程成功或达到最大编程次数。2.根据权利要求1所述的方法,其特征在于,所述将所述待编程数据与所述数据信息进行第一校验,并将第一校验结果回写至所述静态随机存储器的指定地址内的步骤,包括:将所述待编程数据与所述数据信息进行第一校验;当所述待编程数据为0,且所述数据信息为1时,第一校验失败,将第一校验结果0回写至所述静态随机存储器的指定地址内;当所述待编程数据为1,或所述待编程数据与所述数据信息均为0时,第一校验成功,将第一校验结果1回写至所述静态随机存储器的指定地址内。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一校验结果对所述编程操作后的数据信息进行第二校验,确定编程是否成功的步骤,包括:根据所述第一校验结果对所述编程操作后的数据信息进行第二校验;当所述第一校验结果为0,且所述编程操作后的数据信息为1时,编程失败,将第二校验结果0回写至所述静态随机存储器的指定地址内;当所述第一校验结果与所述编程操作后的数据信息均为0时,编程成功,将第二校验结果1回写至所述静态随机存储器的指定地址内。4.根据权利要求1所述的方法,其特征在于,在所述依次读取静态随机存储器指定地址的待编程数据的步骤之前,还包括:依次将待编程数据写入静态随机存储器中。5.根据权利要求1所述的方法,其特征在于,所述根据所述指定地址读取非易失性存储器中相应地址的数据信息的步骤,包括:根据所述指定地址的待编程数据,确定是否需要读取非易失性存储器中相应地址的数据信息;当所述待编程数据不全部为1时,读取非易失性存储器中相应地址...
【专利技术属性】
技术研发人员:杨莹,
申请(专利权)人:北京京存技术有限公司,北京京存技术有限公司合肥分公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。