数据写入方法以及存储控制器与流程

文档序号:14571677发布日期:2018-06-01 22:32阅读:来源:国知局
数据写入方法以及存储控制器与流程

技术特征:

1.一种数据写入方法,适用于配置有一可复写式非易失性存储器模块的一存储装置,其中所述可复写式非易失性存储器模块具有多个实体单元,并且所述多个实体单元的每一个实体单元具有多个实体子单元,所述方法包括:

根据一第一写入指令写入一第一写入数据至所述可复写式非易失性存储器模块中的一第一实体子单元;

在写入所述第一写入数据后,记录对应所述第一写入数据的一第一元数据,并且写入所述第一元数据至所述可复写式非易失性存储器模块,其中所述第一元数据包括一第一写入识别码、一第一写入大小以及一第一单元跨越标记,其中所述写入识别码仅为一第一数值或一第二数值,并且所述第一数值不同于所述第二数值;

写入一第二写入数据至所述可复写式非易失性存储器模块中的一第二实体子单元;

在写入所述第二写入数据后,记录对应所述第二写入数据的一第二元数据,并且写入所述第二元数据至所述可复写式非易失性存储器模块,其中所述第二元数据包括一第二写入识别码、一第二写入大小以及一第二单元跨越标记,其中若所述第二实体子单元与所述第一实体子单元紧邻并且所述第二写入数据根据不同于所述第一写入指令的一第二写入指令被写入,设定所述第二元数据的所述第二写入识别码与所述第一元数据的所述第一写入识别码不同,其中若所述第二写入数据根据所述第一写入指令被写入,设定所述第二元数据的所述第二写入识别码相同于所述第一元数据的所述第一写入识别码;以及

若一特殊事件发生,根据所述第二写入数据与所述第二元数据来判断所述第二写入数据是否为有效或无效。

2.根据权利要求1所述的数据写入方法,其中若所述第二写入数据根据所述第一写入指令被写入,设定所述第二元数据的相同于所述第一元数据,所述方法还包括:

根据所述第一写入指令与一预设存取单元大小来计算所述第一元数据的所述第一写入大小;

若所述第一实体子单元与所述第二实体子单元分别属于具有不同实体单元识别码的多个实体单元,设定所述第一单元跨越标记为一第三数值;以及

若所述第一实体子单元与所述第二实体子单元属于具有相同实体单元识别码的至少一实体单元,设定所述第一单元跨越标记为一第四数值,其中所述第三数值不同于所述第四数值。

3.根据权利要求2所述的数据写入方法,其中所述第一写入指令用以指示将所述第一写入数据与所述第二写入数据分别写入至一第一逻辑子单元与一第二逻辑子单元,其中上述根据所述第一写入指令与所述预设存取单元大小来计算所述第一元数据的所述第一写入大小的步骤包括:

将所述第一逻辑子单元与所述第二逻辑子单元的大小总和除以所述预设存取单元大小以获得一商值;以及

对所述商值无条件进位至整数所获得的一数值作为所述第一写入大小。

4.根据权利要求1所述的数据写入方法,其中所述第二实体子单元所属的实体单元为一开放实体单元,其中上述根据所述第二写入数据与所述第二元数据来判断所述第二写入数据是否为有效或无效的步骤包括:

辨识所述开放实体单元中存储有数据的多个实体子单元的最后一个实体子单元;

若所述第二实体子单元被辨识为所述开放实体单元中存储有数据的多个实体子单元的最后一个实体子单元;

辨识对应所述第二实体子单元的所述第二元数据;

判断所述开放实体单元中是否存在至少一第三实体子单元,其中若所述开放实体单元中的至少一第三实体子单元紧邻于所述第二实体子单元之前并且对应所述至少一第三实体子单元的一第三元数据中的一第三写入识别码相同于所述第二写入识别码,判定所述开放实体单元中存在所述至少一第三实体子单元;

若存在所述至少一第三实体子单元,加总所述至少一第三元数据的个数与所述第二元数据的个数为一元数据个数总和,其中若所述元数据个数总和不等于所述第二写入大小,判定所述第二写入数据为无效;以及

若不存在所述至少一第三实体子单元,将所述第二元数据的个数作为所述元数据个数总和,其中若所述元数据个数总和不等于所述第二写入大小,判定所述第二写入数据为无效。

5.根据权利要求4所述的数据写入方法,其中上述根据所述第二写入数据与所述第二元数据来判断所述第二写入数据是否为有效或无效的步骤还包括:

根据所述第二单元跨越标记判断是否需检查紧邻于所述开放实体单元之前的一关闭实体单元;

若判定需检查紧邻于所述开放实体单元之前的所述关闭实体单元,判断所述关闭实体单元中是否存在至少一第四实体子单元,

其中判定所述关闭实体单元中存在所述至少一第四实体子单元的条件包括:

若至少一第四实体子单元紧邻于所述至少一第三实体子单元之前,并且对应所述至少一第四实体子单元的一第四元数据中的一第四写入识别码相同于所述第二写入识别码;或

若至少一第四实体子单元紧邻于所述第二实体子单元之前,并且对应所述至少一第四实体子单元的所述第四元数据中的所述第四写入识别码相同于所述第二写入识别码;

若所述关闭实体单元中存在所述至少一第四实体子单元且所述开放实体单元中存在所述至少一第三实体子单元,加总所述至少一第四元数据的个数、所述至少一第三元数据的个数与所述第二元数据的个数为所述元数据个数总和,其中若所述元数据个数总和不等于所述第二写入大小,判定所述第二写入数据为无效;以及

若所述关闭实体单元中存在所述至少一第四实体子单元且所述开放实体单元中不存在所述至少一第三实体子单元,加总所述至少一第四元数据的个数与所述第二元数据的个数为所述元数据个数总和,其中若所述元数据个数总和不等于所述第二写入大小,判定所述第二写入数据为无效。

6.一种存储控制器,用于控制配置有一可复写式非易失性存储器模块的一存储装置,所述存储控制器包括:

一连接接口电路,用以电性连接至一主机系统;

一存储器接口控制电路,用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个实体单元,并且所述多个实体单元的每一个实体单元具有多个实体子单元;

一处理器,电性连接至所述连接接口电路及所述存储器接口控制电路;以及

一数据管理电路,电性连接至所述处理器、所述连接接口电路及所述存储器接口控制电路,

其中所述处理器根据一第一写入指令写入一第一写入数据至所述可复写式非易失性存储器模块中的一第一实体子单元,

其中在写入所述第一写入数据后,所述数据管理电路记录对应所述第一写入数据的一第一元数据,并且所述处理器指示所述存储器接口控制电路写入所述第一元数据至所述可复写式非易失性存储器模块,其中所述第一元数据包括一第一写入识别码、一第一写入大小以及一第一单元跨越标记,其中所述写入识别码仅为一第一数值或一第二数值,并且所述第一数值不同于所述第二数值,

其中所述处理器指示所述存储器接口控制电路写入一第二写入数据至所述可复写式非易失性存储器模块中的一第二实体子单元,

其中在写入所述第二写入数据后,所述数据管理电路记录对应所述第二写入数据的一第二元数据,并且所述处理器指示所述存储器接口控制电路写入所述第二元数据至所述可复写式非易失性存储器模块,其中所述第二元数据包括一第二写入识别码、一第二写入大小以及一第二单元跨越标记,其中若所述第二实体子单元与所述第一实体子单元紧邻并且所述第二写入数据根据不同于所述第一写入指令的一第二写入指令被写入,所述数据管理电路设定所述第二元数据的所述第二写入识别码与所述第一元数据的所述第一写入识别码不同,其中若所述第二写入数据根据所述第一写入指令被写入,所述数据管理电路设定所述第二元数据的所述第二写入识别码相同于所述第一元数据的所述第一写入识别码,

其中若一特殊事件发生,所述处理器根据所述第二写入数据与所述第二元数据来判断所述第二写入数据为有效或无效。

7.根据权利要求6所述的存储控制器,其中若所述第二写入数据根据所述第一写入指令被写入,所述数据管理电路设定所述第二元数据相同于所述第一元数据,所述方法还包括:

所述数据管理电路根据所述第一写入指令与一预设存取单元大小来计算所述第一元数据的所述第一写入大小;

若所述第一实体子单元与所述第二实体子单元分别属于具有不同实体单元识别码的多个实体单元,所述数据管理电路设定所述第一单元跨越标记为一第三数值;以及

若所述第一实体子单元与所述第二实体子单元属于具有相同实体单元识别码的至少一实体单元,所述数据管理电路设定所述第一单元跨越标记为一第四数值,其中所述第三数值不同于所述第四数值。

8.根据权利要求7所述的存储控制器,其中所述第一写入指令用以指示将所述第一写入数据与所述第二写入数据分别写入至一第一逻辑子单元与一第二逻辑子单元,其中在上述所述数据管理电路根据所述第一写入指令与所述预设存取单元大小来计算所述第一元数据的所述第一写入大小的运作中,

所述数据管理电路将所述第一逻辑子单元与所述第二逻辑子单元的大小总和除以所述预设存取单元大小以获得一商值,

其中所述数据管理电路对所述商值无条件进位至整数所获得的一数值作为所述第一写入大小。

9.根据权利要求6所述的存储控制器,其中所述第二实体子单元所属的实体单元为一开放实体单元,其中在上述所述处理器根据所述第二写入数据与所述第二元数据来判断所述第二写入数据是否为有效或无效的运作中,

所述处理器辨识所述开放实体单元中存储有数据的多个实体子单元的最后一个实体子单元,

其中若所述第二实体子单元被辨识为所述开放实体单元中存储有数据的多个实体子单元的最后一个实体子单元,所述处理器辨识对应所述第二实体子单元的所述第二元数据,

其中所述处理器判断所述开放实体单元中是否存在至少一第三实体子单元,其中若所述开放实体单元中的至少一第三实体子单元紧邻于所述第二实体子单元之前并且对应所述至少一第三实体子单元的一第三元数据中的一第三写入识别码相同于所述第二写入识别码,所述处理器判定所述开放实体单元中存在所述至少一第三实体子单元,

其中若存在所述至少一第三实体子单元,所述处理器加总所述至少一第三元数据的个数与所述第二元数据的个数为一元数据个数总和,其中若所述元数据个数总和不等于所述第二写入大小,所述处理器判定所述第二写入数据为无效,

其中若不存在所述至少一第三实体子单元,将所述第二元数据的个数作为所述元数据个数总和,其中若所述元数据个数总和不等于所述第二写入大小,所述处理器判定所述第二写入数据为无效。

10.根据权利要求9所述的存储控制器,其中在上述所述处理器根据所述第二写入数据与所述第二元数据来判断所述第二写入数据是否为有效或无效的运作中,

所述处理器根据所述第二单元跨越标记判断是否需检查紧邻于所述开放实体单元之前的一关闭实体单元,

其中所述处理器若判定需检查紧邻于所述开放实体单元之前的所述关闭实体单元,所述处理器判断所述关闭实体单元中是否存在至少一第四实体子单元,

其中判定所述关闭实体单元中存在所述至少一第四实体子单元的条件包括:

若至少一第四实体子单元紧邻于所述至少一第三实体子单元之前,并且对应所述至少一第四实体子单元的一第四元数据中的一第四写入识别码相同于所述第二写入识别码;或

若至少一第四实体子单元紧邻于所述第二实体子单元之前,并且对应所述至少一第四实体子单元的所述第四元数据中的所述第四写入识别码相同于所述第二写入识别码,

其中若所述关闭实体单元中存在所述至少一第四实体子单元且所述开放实体单元中存在所述至少一第三实体子单元,所述处理器加总所述至少一第四元数据的个数、所述至少一第三元数据的个数与所述第二元数据的个数为所述元数据个数总和,其中若所述元数据个数总和不等于所述第二写入大小,所述处理器判定所述第二写入数据为无效,

若所述关闭实体单元中存在所述至少一第四实体子单元且所述开放实体单元中不存在所述至少一第三实体子单元,所述处理器加总所述至少一第四元数据的个数与所述第二元数据的个数为所述元数据个数总和,其中若所述元数据个数总和不等于所述第二写入大小,所述处理器判定所述第二写入数据为无效。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1