状态寄存器的数据写入方法、装置、芯片和存储介质与流程
- 国知局
- 2024-07-31 19:59:00
本发明涉及存储芯片,具体而言,涉及一种状态寄存器的数据写入方法、装置、芯片和存储介质。
背景技术:
1、半导体存储器包括易失性存储器和非易失性存储器,易失性存储器在断电时会丢失存储的内容,非易失性存储器在断电时可以保持存储的内容。非易失性存储器由存储阵列组成,每个存储阵列包括大量的存储单元,每个存储单元能够存放1位二进制数据(“0”或“1”);非易失性存储器中的一部分存储单元被用来作为状态寄存器,状态寄存器中的存储单元用于存储不同功能的参数,以表征对应的功能是否启动。
2、通常芯片在上电后会自动将状态寄存器内的数据读取到锁存器中,以便用户能够通过发送命令快速读取到状态寄存器内的数据,或者使状态寄存器中存储单元表征的相应功能快速启用。当用户向状态寄存器写入数据时,芯片根据读取到的锁存器内的数据来判断是否对状态寄存器进行改写,并将最新的数据更新到锁存器中。但是如果在向状态寄存器写入数据时芯片突然断电,由于状态寄存器的状态不确定,所以芯片在上电后读到的锁存器的数据有可能是错误的,这样就会导致芯片的某块存储区域被锁住或者状态寄存器被锁住,那么就无法对状态寄存器进行改写,从而导致芯片功能紊乱。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种状态寄存器的数据写入方法、装置、芯片和存储介质。
2、为了实现上述目的,本发明采用的技术方案如下:
3、第一方面,本发明提供一种状态寄存器的数据写入方法,应用于芯片中的控制器,所述芯片还包括状态寄存器和锁存器,所述状态寄存器包括用于存储状态数据的第一存储区和用于存储验证数据的第二存储区,所述状态寄存器的数据写入方法包括:
4、基于接收到的写入命令获得待写入数据,并获取所述状态寄存器的原始状态数据,所述原始状态数据为默认状态数据或者用户上次设定的状态数据;
5、在基于所述待写入数据确定所述原始状态数据中有待擦除数据的情况下,对所述第二存储区进行预编程操作和擦除操作之后,对所述第一存储区进行预编程操作和擦除操作;
6、根据所述待写入数据对所述第一存储区进行编程操作之后,根据预设的验证数据对所述第二存储区进行编程操作;
7、读取所述第一存储区中的当前状态数据并存储至所述锁存器。
8、在可选的实施方式中,所述状态寄存器的数据写入方法还包括:
9、在基于所述待写入数据确定所述原始状态数据中无待擦除数据的情况下,判断所述待写入数据和所述原始状态数据是否相同;
10、若不相同,则根据所述待写入数据对所述第一存储区进行编程操作之后,根据预设的验证数据对所述第二存储区进行编程操作,再读取所述第一存储区中的当前状态数据并存储至所述锁存器;
11、若相同,则读取所述第一存储区中的当前状态数据并存储至所述锁存器。
12、在可选的实施方式中,所述芯片还包括命令接收器和数据缓存器;
13、所述基于接收到的写入命令获得待写入数据的步骤,包括:
14、当通过所述命令接收器接收到写入命令时,获取所述写入命令中携带的待写入数据,并将所述待写入数据缓存至所述数据缓存器。
15、在可选的实施方式中,所述芯片还包括行列地址译码器、敏感放大器和比较器;
16、所述获取所述状态寄存器的原始状态数据的步骤,包括:
17、设置第一统计参数和第二统计参数的初始值,所述第一统计参数用于统计验证成功的次数,所述第二统计参数用于统计验证失败的次数;
18、通过所述行列地址译码器读取所述第一存储区中的状态数据,并通过所述敏感放大器对所述状态数据进行放大操作后存储至所述锁存器;
19、通过所述行列地址译码器读取所述第二存储区中的验证数据,并对所述第二存储区中的验证数据进行验证;
20、在所述第二存储区中的验证数据验证失败的情况下,判断所述第二统计参数的值是否大于预设的第二阈值;
21、若否,则将所述第二统计参数的值加1后,重新执行所述通过所述行列地址译码器读取所述第一存储区中的状态数据,并通过所述敏感放大器对所述状态数据进行放大操作后存储至所述锁存器的步骤;
22、若是,则将所述锁存器中的状态数据设置为所述默认状态数据并其作为所述状态寄存器的原始状态数据。
23、在可选的实施方式中,所述状态寄存器的数据写入方法还包括:
24、在所述第二存储区中的验证数据验证成功的情况下,再次读取所述第一存储区中的状态数据,并通过所述比较器根据所述锁存器中的状态数据对所述第一存储区中的状态数据进行验证;
25、在所述第一存储区中的状态数据验证失败的情况下,判断所述第二统计参数的值是否大于预设的第二阈值;
26、若否,则将所述第二统计参数的值加1后,重新执行所述通过所述行列地址译码器读取所述第一存储区中的状态数据,并通过所述敏感放大器对所述状态数据进行放大操作后存储至所述锁存器的步骤;
27、若是,则将所述锁存器中的状态数据设置为所述默认状态数据并其作为所述状态寄存器的原始状态数据。
28、在可选的实施方式中,所述状态寄存器的数据写入方法还包括:
29、在所述第一存储区中的状态数据验证成功的情况下,再次读取所述第二存储区中的验证数据,并对所述第二存储区中的验证数据进行验证;
30、在所述第二存储区中的验证数据验证失败的情况下,判断所述第二统计参数的值是否大于预设的第二阈值;
31、若否,则将所述第二统计参数的值加1后,重新执行所述通过所述行列地址译码器读取所述第一存储区中的状态数据,并通过所述敏感放大器对所述状态数据进行放大操作后存储至所述锁存器的步骤;
32、若是,则将所述锁存器中的状态数据设置为所述默认状态数据并其作为所述状态寄存器的原始状态数据。
33、在可选的实施方式中,所述状态寄存器的数据写入方法还包括:
34、在所述第二存储区中的验证数据验证成功的情况下,判断所述第一统计参数的值是否大于预设的第一阈值;
35、若否,则将所述第一统计参数的值加1后,重新执行所述再次读取所述第一存储区中的状态数据,并通过所述比较器根据所述锁存器中的状态数据对所述第一存储区中的状态数据进行验证的步骤;
36、若是,则确定所述锁存器中的状态数据为用户上次设定的状态数据并将其作为所述状态寄存器的原始状态数据。
37、第二方面,本发明提供一种状态寄存器的数据写入装置,应用于芯片中的控制器,所述芯片还包括状态寄存器和锁存器,所述状态寄存器包括用于存储状态数据的第一存储区和用于存储验证数据的第二存储区,所述状态寄存器的数据写入装置包括:
38、获取模块,用于基于接收到的写入命令获得待写入数据,并获取所述状态寄存器的原始状态数据,所述原始状态数据为默认状态数据或者用户上次设定的状态数据;
39、写入模块,用于在基于所述待写入数据确定所述原始状态数据中有待擦除数据的情况下,对所述第二存储区进行预编程操作和擦除操作之后,对所述第一存储区进行预编程操作和擦除操作;
40、根据所述待写入数据对所述第一存储区进行编程操作之后,根据预设的验证数据对所述第二存储区进行编程操作;
41、读取所述第一存储区中的当前状态数据并存储至所述锁存器。
42、第三方面,本发明提供一种芯片,所述芯片包括控制器、状态寄存器和锁存器,所述控制器执行计算机程序时,实现前述实施方式中任一项所述的状态寄存器的数据写入方法。
43、第四方面,本发明提供一种存储介质,所述存储介质上存储有计算机程序,该计算机程序被控制器执行时,实现前述实施方式中任一项所述的状态寄存器的数据写入方法。
44、本发明提供的状态寄存器的数据写入方法、装置、芯片和存储介质,芯片包含控制器、状态寄存器和锁存器,状态寄存器包括用于存储状态数据的第一存储区和用于存储验证数据的第二存储区;控制器基于接收到的写入命令获得待写入数据,并获取状态寄存器的原始状态数据,原始状态数据为默认状态数据或者用户上次设定的状态数据;然后在基于待写入数据确定原始状态数据中有待擦除数据的情况下,对第二存储区进行预编程操作和擦除操作之后,对第一存储区进行预编程操作和擦除操作;并且根据待写入数据对第一存储区进行编程操作之后,根据预设的验证数据对第二存储区进行编程操作;最后读取第一存储区中的当前状态数据并存储至锁存器。本发明通过按照设定的两个存储区的擦写顺序来向状态寄存器写入数据,从而实现了在写入数据过程中的任何一个步骤芯片突然断电,都可以使芯片在上电后能够读取到确定的状态数据,从而有效地避免了芯片读取到错误的数据而导致芯片功能紊乱,为芯片的正常运行提供了保障。
45、为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
本文地址:https://www.jishuxx.com/zhuanli/20240731/184877.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表