数据储存装置以及快闪存储器控制方法

文档序号:8361367阅读:344来源:国知局
数据储存装置以及快闪存储器控制方法
【技术领域】
[0001]本发明是有关于数据储存装置,特别有关于快闪存储器(FLASH memory)控制方法。
【背景技术】
[0002]快闪存储器是一种常见的非挥发性存储器,采电性抹除与编程。以与非门型的快闪存储器(即NAND FLASH)为例,常用作存储卡(memory card)、通用序列总线闪存装置(USB flash device)、固态硬盘(SSD)…等产品,或实现成一嵌入式快闪存储器模块(eMMC)。快闪存储器所提供的储存阵列是呈多个区块(blocks)。各区块包括多个页(pages)。若欲释放一区块为闲置区块(spare block),整个区块的所有页都必须一同抹除(erase)。
[0003]关于数据安全(data security),快闪存储器部分区块可配置为回放保护存储区块(replay-protected memory block,简称RPMB),是以较高安全层级管理之。这些回放保护存储区块的数据管理尤为重要。

【发明内容】

[0004]本发明揭露一种数据储存装置以及一种快闪存储器控制方法。
[0005]根据本发明一种实施方式所实现的一数据储存装置包括一控制器以及一快闪存储器。该快闪存储器的储存空间是划分为多个区块,各区块更划分为多个页。该控制器耦接该快闪存储器,以管理该快闪存储器的回放保护存储区块。控制器在将双页数据编程入上述回放保护存储区块后会将一成功旗标以及一写入计数载入该快闪存储器的系统区块。该控制器可基于上述系统区块所载的成功旗标或/以及上述回放保护存储区块的编程页数执行一掉电修复程序。
[0006]本发明另一种实施方式则揭露一种快闪存储器控制方法,用以管理一快闪存储器上的至少一回放保护存储区块。所述控制方法是在双页数据编程入上述回放保护存储区块后将一成功旗标以及一写入计数载入该快闪存储器的系统区块。根据所述控制方法,一掉电修复程序是基于上述系统区块所载的成功旗标或/以及上述回放保护存储区块的编程页数执行。
[0007]下文特举实施例,并配合所附附图,详细说明本
【发明内容】

【附图说明】
[0008]图1以方块图图解根据本发明一种实施方式所实现的一数据储存装置100 ;
[0009]图2图解主机106所发下的回放保护数据是如何由控制器104编程至该快闪存储器102,其中是设定一变数N为2 ;
[0010]图3为流程图,说明所揭露的回放保护存储区块更新成功指标RPMB_Update_Success以及写入计数RPMB_Write_Count如何对应图2所示的回放保护数据编程而变化;以及
[0011]图4为流程图,对应图3图解一掉电修复程序。
[0012]【附图标记说明】
[0013]100?数据储存装置;
[0014]102?快闪存储器;
[0015]104?控制器;
[0016]106 ?主机;
[0017]202?回放保护数据(又称RPMB数据);
[0018]204?虚置数据;
[0019]206,208?第一、第二帧下达的RPMB数据;
[0020]RPMB_1...RPMB_N?回放保护存储区块;
[0021]RPMB_FAT?文件配置表(FAT)区块;
[0022]RPMB_Partit1n?一空间,包括这些回放保护存储区块RPMB_L...RPMB_N ;
[0023]RPMB_ffrite_Count ?写入计数;
[0024]RPMB_Update_Sucess?回放保护存储区块更新成功指标;
[0025]S302…S308 ?步骤;
[0026]S402…S410 ?步骤;
[0027]SP0_1...SP0_5?第第五突发掉电事件。
【具体实施方式】
[0028]以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本
【发明内容】
。实际发明范围应依照权利要求书界定之。
[0029]图1以方块图图解根据本发明一种实施方式所实现的一数据储存装置100。数据储存装置100包括一快闪存储器(FLASH memory) 102以及一控制器104。控制器104耦接快闪存储器102,且根据主机106所下达的指令操作该快闪存储器102。
[0030]快闪存储器102的储存空间是划分为多个区块(blocks),且各区块更划分为多个页(pages)。简化之,图中仅显示与回放保护存储区块(RPMB)技术相关的这些区块。如图所示,快闪存储器102包括回放保护存储区块RPMB_1至RPMB_N所形成的空间RPMB_Partit1n。存取回放保护存储区块RPMB_1至RPMB_N需要认证密钥(authenticat1nkey)。RPMB为回放保护存储区块的简写。主机(如106)可视所欲更新的RPMB数据(回放保护数据)的长度以单一巾贞(a single frame)或多个巾贞(multiple frames)下达回放保护数据更新指令。自认证密钥所估算出的MAC数值是附加在最末帧上,交由控制器104辨识。MAC数值吻合方能进行回放保护数据更新。若MAC数值不正确,则忽略该回放保护数据更新指令。
[0031]图中实施例特别配置文件配置表(FAT)方块RPMB_FAT作回放保护数据缓冲。主机106下达的回放保护数据是先缓冲于FAT方块RPMB_FAT中。填满数据的FAT方块RPMB_FAT将被视为回放保护方块,纳入空间RPMB_Partit1n,再配置快闪存储器102其他闲置区块作新的FAT方块RPMB_FAT。
[0032]根据所揭露的技术,不论回放保护数据更新指令所要求更新的回放保护数据尺寸为何,控制器104都是在快闪存储器102的FAT方块RPMB_FAT配置N页对应之。N值是视主机106单次指令所能下达的最长RPMB更新数据而定。在一种实施方式中,各巾贞(frame)是用于传输256字节的回放保护数据以及256字节的更新信息(如,4字节的写入计数、2字节的更新地址、2字节的错误感测码、32比特的MAC数值…等)。若指令要求更新的回放保护数据尺寸为256字节,主机106是以单一帧下达回放保护数据更新要求。若指令要求更新的回放保护数据尺寸为512字节,大于单一帧的传输力,主机106是以两帧下达回放保护数据更新要求。在回放保护数据的最长更新尺寸为512字节的状况下,N值应当设定为2。控制器104将针对每次回放保护数据更新都在FAT区块RPMB_FAT配置两页空间,无论所要求更新的回放保护数据为256字节或512字节。若主机106仅要求256字节的回放保护数据更新,控制器104会以虚置数据(dummy data)搭配该256字节的回放保护数据将所对应配置的两页空间填满。如此一来,每次成功完成的回放保护数据更新应当在FAT区块RPMB_FAT对应有两页有效页(N=2)。
[0033]此外,回放保护数据更新信息(例如,本案所建议的RPMB更新成功旗标RPMB_Update_Success以及应用于RPMB管理的写入计数RPMB_Write_Count)可记载于快闪存储器102的系统区块Sys_Blk。在其他实施方式中,系统区块也可以是快闪存储器的一 FAT区块。特别是,更新成功旗标RPMB_Update_Success以及写入计数RPMB_Write_Count是共用同一页纪载。每当FAT区块RPMB_FAT上配置的N页全数写入数据,控制器104会竖立该RPMB更新成功旗标RPMB_Update_Success (例如,呈一成功旗标)、且更新该写入计数RPMB_fcite_Count。该RPMB更新成功旗标RPMB_Update_Success的竖立是与该写入计数RPMB_ffrite_Count的更新绑在一起进行。因此,RPMB更新成功旗标RPMB_Update_Success可靠度极高。
[0034]在一掉电修复程序中,控制器104将检查上述FAT区块RPMB_FAT或/以及上述RPMB更新成功旗标RPMB_Update_Success,以辨识先前是否有发生掉电事件,且更辨识该掉电事件发生的时间点。在掉电修复程序中,控制器104若发现FAT区块RPMB_FAT的有效页数量为N的倍数,且RPMB更新成功旗标RPMB_Update_Success为竖立状态,控制器104会认可最后配置的N页上写入的数据。
[0035]在某些实施方式中,控制器104维持RPMB更新成功旗标RPMB_Update_Success呈竖立状态,直至下一轮配置的N页中的起始页被写入数据方除能该RPMB更新成功旗标RPMB_Update_Success。在掉电修复程序中,若控制器104发现FAT区块RPMB_FAT的有效页数量并非N的倍数,控制器104会忽略最末的RPMB更新。此外,倘若控制器104在掉电修复中发现RPMB更新成功旗标RPMB_Update_SuCCesS并没有被竖立,控制器104也会忽略最末的RPMB更新。在掉电修复程序中,若控制器104发现FAT区块RPMB_FAT的有效页数量为N的倍数、且RPMB更新成功旗标RPMB_Update_Success更新成功旗标RPMB_Update_Success也是竖立状态,控制器104确认每次RPMB更新的数据同步。
[0036]图2图解主机106下达的回放保护数据更新要求如何由控制器104执行,图中将N值设定为2。当主机106以单一帧下达尺寸较小(例如,256字节)的回放保护数据更新,控制器104除了对快闪存储器102作第一写入操作,将主机106所下达的回放保护数据202写入该FAT区块RPMB_FAT上配置的第一页空间,更会作第二写入操作,将虚置数据204写入该FAT区块RPMB_FAT上配置的第二页空间。当主机106以双帧下达尺寸较大(例如,512字节)的回放保护数据更新,控制器104是将双帧下达的回放保护数据分阶段作写入。如图所示,第一帧下达的回放保护数据206是经由以一第一写入操作写入该FAT区块RPMB_FAT上配置的第一页空间,并且,第二帧下达的回放保护数据208是经由以一第二写入操作写入该FAT区块RPMB_FAT上配置的第二页空间。
[0037]图3为流程图,图解RPMB更新成功
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1