CN106648942A - 基于flash存储介质的数据切换方法及装置 - Google Patents

基于flash存储介质的数据切换方法及装置 Download PDF

Info

Publication number
CN106648942A
CN106648942A CN201610831984.7A CN201610831984A CN106648942A CN 106648942 A CN106648942 A CN 106648942A CN 201610831984 A CN201610831984 A CN 201610831984A CN 106648942 A CN106648942 A CN 106648942A
Authority
CN
China
Prior art keywords
block
data
storage medium
bad block
hidden
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610831984.7A
Other languages
English (en)
Inventor
陈俊
李四林
李慕霄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN RECADATA TECHNOLOGY Co Ltd
Original Assignee
SHENZHEN RECADATA TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENZHEN RECADATA TECHNOLOGY Co Ltd filed Critical SHENZHEN RECADATA TECHNOLOGY Co Ltd
Priority to CN201610831984.7A priority Critical patent/CN106648942A/zh
Publication of CN106648942A publication Critical patent/CN106648942A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了基于flash存储介质的数据切换方法及装置,其中,该方法包括如下步骤:在接收到切换唤醒序列时,判断切换唤醒序列与存储介质中预设的序列是否匹配;当坏块切换唤醒序列与存储介质中预设的序列匹配成功时,切换至坏块映射表,以及遍历坏块区所有的元素,找出坏块中的隐藏标识及相应的页信息中数据隐藏标识;根据坏块中的隐藏标识及相应的页信息中数据隐藏标识建立隐藏块的数据映射表;根据隐藏块的数据映射表对存储介质中的隐藏区进行读写操作。本发明能够从物理层隔离敏感数据和非敏感数据,提高存储介质数据读写的安全性能。

Description

基于flash存储介质的数据切换方法及装置
技术领域
本发明涉及数据存储技术领域,尤其涉及一种基于flash存储介质的数据切换方法及装置。
背景技术
随着电子技术的不断发展,出现了一大批的电子产品,而电子产品大都具有固态硬盘。SSD(Solid State Disk,固态硬盘)是一种替代传统硬盘的新型存储技术,由控制单元和闪存单元(Flash芯片阵列)组成的一种电子硬盘,其外形、尺寸、接口规范、功能及使用方法等与传统机械硬盘相似。固态硬盘采用的是闪存芯片,固态存储器内部不存在任何机械部件,因此在高速移动甚至伴随翻转倾斜的情况下也不会影响到正常使用。另外,固态存储器没有机械马达和风扇,工作时非常安静。SSD没有寻道和马达转动的时间,从而显著的减少了存取时间。综上可知,固态硬盘具有数据存取速度快、经久耐用、防震抗摔、重量轻、节能的优势。
在移动互联飞速发展的今天,硬盘已经不在是普通的存储工具,数据的保护显得尤为重要。对于数据加密、检测用户的权限、抵制某些非法入侵导致的信息泄露问题都是存储安全需要研究的课题。虽然可以使用防火墙、防病毒软件和智能卡在网络和本地存储级别管理数据安全,但仍然存在数据被盗或丢失的风险。硬盘中存储着敏感数据,是计算流程中的关键组件。即使采取基于文件和文件夹的加密,但是软件缺陷和漏洞、恶意代码或操作系统中的安全漏洞都会导致分区或磁盘级的软件加密安全性存在隐患。
现有技术中采用软件加密或者软件层面的数据隐藏,其安全性无法保障。只需要对硬盘数据进行分析,就可以找到隐藏分区。分析过程如下:首先根据某些特征找到分区表,再根据分区表中提供的分区起始位置、分区大小等信息确定一个隐藏卷所在的位置;然后根据卷内的管理信息确定其文件系统类型、管理方式等,进而提取有用的数据。如果分区表被破坏,还可以手动根据残留分区信息重建分区表,然后再进行后续工作。上述分析可以使用的工具包括InsPro Disk,Atademo等,这些工具都十分强大,可以直接从数据底层访问磁盘。而在硬盘固件层面进行数据隐藏则安全性要好得多,在没有泄露访问控制码的条件下,在文件层面的数据分析和恢复是不可能的。
发明内容
本发明所要解决的技术问题是:提供一种基于flash存储介质的数据切换方法,旨在提高存储介质数据读写的安全性能。
为了解决上述技术问题,本发明采用的技术方案为:提供一种基于flash存储介质的数据切换方法,该方法包括如下步骤:
在接收到切换唤醒序列时,判断切换唤醒序列与存储介质中预设的序列是否匹配;
当坏块切换唤醒序列与存储介质中预设的序列匹配成功时,切换至坏块映射表,以及遍历坏块区所有的元素,找出坏块中的隐藏标识及相应的页信息中数据隐藏标识;
根据坏块中的隐藏标识及相应的页信息中数据隐藏标识建立隐藏块的数据映射表;
根据隐藏块的数据映射表对存储介质中的隐藏区进行读写操作。
优选地,所述在接收到切换唤醒序列时,判断切换唤醒序列与存储介质中预设的序列是否匹配的步骤之前,还包括:
设置隐藏区,将部分正常使用的数据块添加隐藏标识后形成隐藏数据块并加入坏块映射表的步骤。
优选地,所述设置隐藏区,将部分正常使用的数据块添加隐藏标识后形成隐藏数据块并加入坏块映射表的步骤,具体包括:
在Flash的每个颗粒上,随机选取N个目标块,N=v/(k*m),其中,v表示需要隐藏的容量大小,k表示存储介质中Flash的颗粒数,m为每个目标块的容量大小;
在选取的目标块上设置隐藏标识及相应的页信息中数据隐藏标识;
将选取的目标块的物理地址存入坏块映射表中。
优选地,所述设置隐藏区,将部分正常使用的数据块添加隐藏标识后形成隐藏数据块并加入坏块映射表的步骤之后,还包括:
判断存储介质的当前使用状态是正常使用状态还是启用隐藏区状态;
当存储介质的当前使用状态是正常使用状态时,且在切换唤醒序列与存储介质中预设的序列匹配成功时,则存储介质在掉电后再上电或者重启动后进入启动隐藏区状态,在切换唤醒序列与存储介质中预设的序列匹配失败时,则存储介质在掉电后再上电或者重启动后进入正常使用状态;
当存储介质的当前使用状态是启动隐藏区状态时,则存储介质在掉电后再上电或者重启动后进入正常使用状态。
优选地,所述遍历坏块区所有的元素,找出隐藏标识及相应的页信息中数据隐藏标识的步骤,具体包括:
根据坏块映射表遍历每颗Flash的坏块,检查所有坏块的隐藏标识位;
判断坏块的标识位是否有效,
若坏块的隐藏标识位无效,则此块为真正的坏块,继续检查下一坏块;
若坏块的隐藏标识为有效,则此块为数据隐藏块,继续遍历该坏块相应的页信息,找出有效的页信息的隐藏标识,以恢复隐藏区的数据映射表。
为了解决上述技术问题,本发明采用的技术方案为:提供一种基于flash存储介质的数据切换装置,包括:
第一判断模块,用于在接收到切换唤醒序列时,判断切换唤醒序列与存储介质中预设的序列是否匹配;
切换模块,用于当坏块切换唤醒序列与存储介质中预设的序列匹配成功时,切换至坏块映射表,以及遍历坏块区所有的元素,找出坏块中的隐藏标识及相应的页信息中数据隐藏标识;
建立模块,用于根据坏块中的隐藏标识及相应的页信息中数据隐藏标识建立隐藏块的数据映射表;
读写模块,用于根据隐藏块的数据映射表对存储介质中的隐藏区进行读写操作。
优选地,所述装置还包括:
预设模块,用于设置隐藏区,将部分正常使用的数据块添加隐藏标识后形成隐藏数据块并加入坏块映射表。
优选地,所述预设模块,具体用于在Flash的每个颗粒上,随机选取N个目标块,N=v/(k*m),其中,v表示需要隐藏的容量大小,k表示存储介质中Flash的颗粒数,m为每个目标块的容量大小;
在选取的目标块上设置隐藏标识及相应的页信息中数据隐藏标识;
将选取的目标块的物理地址存入坏块映射表中。
优选地,所述装置还包括:
第二判断模块,用于判断存储介质的当前使用状态是正常使用状态还是启用隐藏区状态;
当存储介质的当前使用状态是正常使用状态时,且在切换唤醒序列与存储介质中预设的序列匹配成功时,则存储介质在掉电后再上电或者重启动后进入启动隐藏区状态,在切换唤醒序列与存储介质中预设的序列匹配失败时,则存储介质在掉电后再上电或者重启动后进入正常使用状态;
当存储介质的当前使用状态是启动隐藏区状态时,则存储介质在掉电后再上电或者重启动后进入正常使用状态。
优选地,所述遍历模块,用于根据坏块映射表遍历每颗Flash的坏块,检查所有坏块的隐藏标识位;
判断坏块的标识位是否有效,
若坏块的隐藏标识位无效,则此块为真正的坏块,继续检查下一坏块;
若坏块的隐藏标识为有效,则此块为数据隐藏块,继续遍历该坏块相应的页信息,找出有效的页信息的隐藏标识,以恢复隐藏区的数据映射表。
本发明的有益效果在于:本方案主要采用在接收到切换唤醒序列时,且当坏块切换唤醒序列与存储介质中预设的序列匹配成功时,切换至坏块映射表,以及遍历坏块区所有的元素,找出坏块中的隐藏标识及相应的页信息中数据隐藏标识;根据坏块中的隐藏标识及相应的页信息中数据隐藏标识建立隐藏块的数据映射表;根据隐藏块的数据映射表对存储介质中的隐藏区进行读写操作,如此,可以从物理层隔离敏感数据和非敏感数据,敏感数据是需要隐藏的数据,而非敏感数据是正常使用数据,如此,能够以较小的代价实现数据的隐藏,能够提高存储介质的安全性能。
附图说明
图1为本发明基于flash存储介质的数据切换方法的方法流程图;
图2为本发明中步骤S30的方法流程图;
图3为存储介质的数据映射图;
图4为本发明中存储介质中隐藏区的示意图;
图5为本发明基于flash存储介质的数据切换装置的方框图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明提供了一种基于flash存储介质的数据切换方法,可以从物理层隔离敏感数据和非敏感数据,其中,敏感数据是需要隐藏的数据,而非敏感数据是正常使用数据。本发明中的存储介质可以为固态存储硬盘、USB盘和存储阵列等存储设备。以固态硬盘为例,固态硬盘中的闪存在测试和使用中有部分块被标记为坏块,以标识这些块在擦除和编程时发生错误,坏块要单独用坏块映射表来管理。固态硬盘的闪存一般采用NAND flash,由于NAND Flash的工艺不能保证在其生命周期中保持性能的可靠,因此在NAND Flash的生产中及使用过程中会产生坏块。坏块的特性是:当编程/擦除这个块时,会造成页编程和块擦除操作时的错误,相应地反映到状态寄存器的相应位。在硬盘系统中,会采用坏块表来进行坏块管理。固态硬盘存储部分的数据组织结构,分为七个不同的区域:(1)全局信息区:用作存放全局信息,包括设备序列号、生产日期、程序版本号、容量、保留块数量,存储颗粒的组织结构(Channel,Row,Layer,单颗FLASH容量);(2)坏块映射表:初始时存放本颗粒保留块的位置,当产生新增坏块时,用从保留块中取出坏块,并将新增坏块标记进坏块表;(3)辅助标记区:该块记录的信息包括上电次数、写入次数、映射表信息块所在地址和顺序、交换块地址、坏块保留块表位置等信息;(4)数据映射表:完成逻辑地址到物理地址的映射,全盘扫描时可快速重建;(5)保留区:保留区存放一些空白的块,发生坏块的时候,从该区的两头调配出保留块,将坏块地址记入坏块表;(6)坏块区:存放生产及使用中产生的坏块,坏块区不能被读写访问;(7)数据区:所有用户数据都存放在该区,数据被分成不同的可擦除的数据块(block),数据块包含若干可以编程的数据页(page)。
参照图1,本发明的实施例中,基于flash存储介质的数据切换方法,该方法包括如下步骤:
步骤S10、在接收到切换唤醒序列时,判断切换唤醒序列与存储介质中预设的序列是否匹配;
步骤S20、当坏块切换唤醒序列与存储介质中预设的序列匹配成功时,切换至坏块映射表,以及遍历坏块区所有的元素,找出坏块中的隐藏标识及相应的页信息中数据隐藏标识;
步骤S30、根据坏块中的隐藏标识及相应的页信息中数据隐藏标识建立隐藏块的数据映射表;
步骤S40、根据隐藏块的数据映射表对存储介质中的隐藏区进行读写操作。
本实施例中,需要存储或者读取敏感数据时,也就是要启动隐藏区时,通过USB、指纹或者射频标签等输入切换唤醒序列与存储介质中的预设序列进行论证,可以启动存储介质中的隐藏区。本实施例中,遍历坏块区所有的元素中的元素为坏块,该坏块包括真正的坏块以及隐藏块。该隐藏块可通过查询隐藏标识及相应的页信息中数据隐藏标识得出,并形成隐藏块的数据映射表,如此,可以对存储介质的隐藏区进行读写操作。
本方案主要采用在接收到切换唤醒序列时,且当坏块切换唤醒序列与存储介质中预设的序列匹配成功时,切换至坏块映射表,以及遍历坏块区所有的元素,找出坏块中的隐藏标识及相应的页信息中数据隐藏标识;根据坏块中的隐藏标识及相应的页信息中数据隐藏标识建立隐藏块的数据映射表;根据隐藏块的数据映射表对存储介质中的隐藏区进行读写操作,如此,可以从物理层隔离敏感数据和非敏感数据,敏感数据是需要隐藏的数据,而非敏感数据是正常使用数据,如此,能够以较小的代价实现数据的隐藏,能够提高存储介质的安全性能。
在一具体的实施例中,所述步骤S10之前,还包括步骤:
设置隐藏区,将部分正常使用的数据块添加隐藏标识后形成隐藏数据块并加入坏块映射表。本实施例中,可以先设计可隐藏数据块的数据头数据格式,以实现数据隐藏。另外,本步骤之后,还可以在全局信息块中设置标识,区分正常使用还是隐藏区,默认上电缺省为正常使用;设计唤醒策略,预置唤醒序列到全局信息区或者辅助标识区后,分别正常初始化和唤醒隐藏区初始化,如此,存储介质可在正常使用状态和启用隐藏区状态之间的按需求切换使用。
在一具体的实施例中,所述设置隐藏区,将部分正常使用的数据块添加隐藏标识后形成隐藏数据块并加入坏块映射表的步骤,具体包括:
在Flash的每个颗粒上,随机选取N个目标块,N=v/(k*m),其中,v表示需要隐藏的容量大小,k表示存储介质中Flash的颗粒数,m为每个目标块的容量大小;
在选取的目标块上设置隐藏标识及相应的页信息中数据隐藏标识;
将选取的目标块的物理地址存入坏块映射表中。
Flash存储介质被分成许多物理上可擦除的块,每个数据块都包含一个数据头,其中包含着本数据块的必要信息,例如本数据块的清理标识、已经被擦除的次数、时间标记、数据有效位等,同时还包含了这个块的每个页信息,包括逻辑扇区号、数据有效标识、时间标记等,而隐藏块还包括隐藏标识及相应的页信息中数据隐藏标识。本实施例中,在坏块上设置的隐藏标识有效或者无效可以确定这个块是真正的坏块还是数据隐藏块。而相应设置的隐藏块的页信息中的隐藏标识,可以确定某个页是不是数据隐藏的页。
在一具体的实施例中,所述设置隐藏区,将部分正常使用的数据块添加隐藏标识后形成隐藏数据块并加入坏块映射表的步骤之后,还包括:
判断存储介质的当前使用状态是正常使用状态还是启用隐藏区状态;
当存储介质的当前使用状态是正常使用状态时,且在切换唤醒序列与存储介质中预设的序列匹配成功时,则存储介质在掉电后再上电或者重启动后进入启动隐藏区状态,在切换唤醒序列与存储介质中预设的序列匹配失败时,则存储介质在掉电后再上电或者重启动后进入正常使用状态;
当存储介质的当前使用状态是启动隐藏区状态时,则存储介质在掉电后再上电或者重启动后进入正常使用状态。
本实施例中,认证唤醒隐藏区基本思想是输入切换唤醒序列,当序列与预置进硬盘中的序列匹配时,则开始启动唤醒。可选择的方式很多,包括但不限于以下几种:
(1)通过SATA协议的开发者自定义的vendor命令来传送某个序列;
(2)通过USB,指纹,经过转接,连接到SSD控制器的某种接口;
(3)RFID、蓝牙等,连接到SSD控制器的某个接口;
(4)上述输入经过某种函数运算的结果,如输入序列经过AES、DES等分组加密,或者SHA,MD5等散列。
请参照图2,在一具体的实施例中,所述步骤S30中遍历坏块区所有的元素,找出隐藏标识及相应的页信息中数据隐藏标识的步骤,具体包括:
S31、根据坏块映射表遍历每颗Flash的坏块,检查所有坏块的隐藏标识位;
S32、判断坏块的标识位是否有效,若坏块的隐藏标识位无效,则此块为真正的坏块,继续检查下一坏块;若坏块的隐藏标识为有效,则此块为数据隐藏块,继续遍历该坏块相应的页信息,找出有效的页信息的隐藏标识,以恢复隐藏区的数据映射表。
本实施例中,数据映射表是逻辑扇区号和物理扇区号建立联系的空间映射表,其结构请参照图3,它将逻辑扇区和物理扇区进行动态匹配。这样在读某个逻辑地址时,只需要查对应的映射表索引即可找到对应的物理地址,然后读取即可。需要写某个逻辑扇区内容时候,只需要将数据写入一个新的物理扇区,然后将新物理扇区与这个逻辑扇区建立指针索引,同时将原指向的物理扇区标记为无效数据即可。建立完数据映射表后,即可像访问正常数据区一样,访问隐藏数据区。
请参照图4,在一具体的示例中,在128G的SSD中,可以设定数据区为105G,系统区包括全局信息区、坏块映射表、辅助标记区、数据映射表、坏块区、保留块区,一共为23G。在系统区中设置一个10G的隐藏区,放入坏块区用来隐藏数据。SSD上电的时候,首先只会看到一个105G的SSD。此时盘处于正常使用状态。此时,如果想启动隐藏区,则需要进行上述的认证过程。认证成功后,重新启动或者掉电,下次出现的即为处于启用隐藏区状态的盘,此时盘显示的容量为10G。10G的盘,掉电或者重启后,下次将看到105G的正常使用的硬盘。上述的,105G和10G的硬盘均可以作为系统盘,也可以作为数据盘使用。因为整个数据划分都是基于硬盘固件层级的,跟操作系统无关。认证完成后FW才允许隐藏的访问,如果无法通过password认证,文件系统层面的分析和攻击对上述数据安全毫无办法。另外一种数据分析方式可以直接拆下Flash进行,这种方法也非常困难。首先,因为无法启动SSD控制器发起对正常数据区,因此无法通过有规律的数字来还原隐藏区的逻辑到物理的映射方式。其次,SSD逻辑块到物理块的映射示意图是一种类似RAID的结构,即Flash之间的阵列结构。这种情况下,数据是由多个不连续的空间组成,即数据会分布在每颗Flash上,猜测各个成员在Flash中的布局关系,在无法实证的情况下非常困难,因此,可以大大提高存储介质的安全性能。
请参照图5,本发明的实施例,一种基于flash存储介质的数据切换装置,包括:
第一判断模块10,用于在接收到切换唤醒序列时,判断切换唤醒序列与存储介质中预设的序列是否匹配;
切换模块20,用于当坏块切换唤醒序列与存储介质中预设的序列匹配成功时,切换至坏块映射表,以及遍历坏块区所有的元素,找出坏块中的隐藏标识及相应的页信息中数据隐藏标识;
建立模块30,用于根据坏块中的隐藏标识及相应的页信息中数据隐藏标识建立隐藏块的数据映射表;
读写模块40,用于根据隐藏块的数据映射表对存储介质中的隐藏区进行读写操作。
本实施例中,需要存储或者读取敏感数据时,也就是要启动隐藏区时,通过USB、指纹或者射频标签等输入切换唤醒序列与存储介质中的预设序列进行论证,可以启动存储介质中的隐藏区。本实施例中,遍历坏块区所有的元素中的元素为坏块,该坏块包括真正的坏块以及隐藏块。该隐藏块可通过查询隐藏标识及相应的页信息中数据隐藏标识得出,并形成隐藏块的数据映射表,如此,可以对存储介质的隐藏区进行读写操作。
在一具体的实施例中,所述装置还包括:
预设模块,用于设置隐藏区,将部分正常使用的数据块添加隐藏标识后形成隐藏数据块并加入坏块映射表。本实施例中,预设模块,可以先设计可隐藏数据块的数据头数据格式,以实现数据隐藏。另外,本步骤之后,还可以在全局信息块中设置标识,区分正常使用还是隐藏区,默认上电缺省为正常使用;设计唤醒策略,预置唤醒序列到全局信息区或者辅助标识区后,分别正常初始化和唤醒隐藏区初始化,如此,存储介质可在正常使用状态和启用隐藏区状态之间的按需求切换使用。
在一具体的实施例中,所述预设模块,具体用于在Flash的每个颗粒上,随机选取N个目标块,N=v/(k*m),其中,v表示需要隐藏的容量大小,k表示存储介质中Flash的颗粒数,m为每个目标块的容量大小;
在选取的目标块上设置隐藏标识及相应的页信息中数据隐藏标识;
将选取的目标块的物理地址存入坏块映射表中。本实施例中,预设模块,在坏块上设置的隐藏标识有效或者无效可以确定这个块是真正的坏块还是数据隐藏块。而相应设置的隐藏块的页信息中的隐藏标识,可以确定某个页是不是数据隐藏的页。
在一具体的实施例中,所述装置还包括:
第二判断模块,用于判断存储介质的当前使用状态是正常使用状态还是启用隐藏区状态;
当存储介质的当前使用状态是正常使用状态时,且在切换唤醒序列与存储介质中预设的序列匹配成功时,则存储介质在掉电后再上电或者重启动后进入启动隐藏区状态,在切换唤醒序列与存储介质中预设的序列匹配失败时,则存储介质在掉电后再上电或者重启动后进入正常使用状态;
当存储介质的当前使用状态是启动隐藏区状态时,则存储介质在掉电后再上电或者重启动后进入正常使用状态。
本实施例中,第二判断模块通过USB、指纹或者射频标签等输入切换唤醒序列与存储介质中的预设序列进行论证,可以启动存储介质中的隐藏区。
在一具体的实施例中,所述遍历模块,用于根据坏块映射表遍历每颗Flash的坏块,检查所有坏块的隐藏标识位;
判断坏块的标识位是否有效,
若坏块的隐藏标识位无效,则此块为真正的坏块,继续检查下一坏块;
若坏块的隐藏标识为有效,则此块为数据隐藏块,继续遍历该坏块相应的页信息,找出有效的页信息的隐藏标识,以恢复隐藏区的数据映射表。
本实施例中,遍历模块中,数据映射表是逻辑扇区号和物理扇区号建立联系的空间映射表,它将逻辑扇区和物理扇区进行动态匹配。这样在读某个逻辑地址时,只需要查对应的映射表索引即可找到对应的物理地址,然后读取即可。需要写某个逻辑扇区内容时候,只需要将数据写入一个新的物理扇区,然后将新物理扇区与这个逻辑扇区建立指针索引,同时将原指向的物理扇区标记为无效数据即可。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于flash存储介质的数据切换方法,其特征在于,该方法包括如下步骤:
在接收到切换唤醒序列时,判断切换唤醒序列与存储介质中预设的序列是否匹配;
当坏块切换唤醒序列与存储介质中预设的序列匹配成功时,切换至坏块映射表,以及遍历坏块区所有的元素,找出坏块中的隐藏标识及相应的页信息中数据隐藏标识;
根据坏块中的隐藏标识及相应的页信息中数据隐藏标识建立隐藏块的数据映射表;
根据隐藏块的数据映射表对存储介质中的隐藏区进行读写操作。
2.根据权利要求1所述的基于flash存储介质的数据切换方法,其特征在于,所述在接收到切换唤醒序列时,判断切换唤醒序列与存储介质中预设的序列是否匹配的步骤之前,还包括:
设置隐藏区,将部分正常使用的数据块添加隐藏标识后形成隐藏数据块并加入坏块映射表的步骤。
3.根据权利要求2所述的基于flash存储介质的数据切换方法,其特征在于,所述设置隐藏区,将部分正常使用的数据块添加隐藏标识后形成隐藏数据块并加入坏块映射表的步骤,具体包括:
在Flash的每个颗粒上,随机选取N个目标块,N=v/(k*m),其中,v表示需要隐藏的容量大小,k表示存储介质中Flash的颗粒数,m为每个目标块的容量大小;
在选取的目标块上设置隐藏标识及相应的页信息中数据隐藏标识;
将选取的目标块的物理地址存入坏块映射表中。
4.根据权利要求2所述的基于flash存储介质的数据切换方法,其特征在于,所述设置隐藏区,将部分正常使用的数据块添加隐藏标识后形成隐藏数据块并加入坏块映射表的步骤之后,还包括:
判断存储介质的当前使用状态是正常使用状态还是启用隐藏区状态;
当存储介质的当前使用状态是正常使用状态时,且在切换唤醒序列与存储介质中预设的序列匹配成功时,则存储介质在掉电后再上电或者重启动后进入启动隐藏区状态,在切换唤醒序列与存储介质中预设的序列匹配失败时,则存储介质在掉电后再上电或者重启动后进入正常使用状态;
当存储介质的当前使用状态是启动隐藏区状态时,则存储介质在掉电后再上电或者重启动后进入正常使用状态。
5.根据权利要求1所述的基于flash存储介质的数据切换方法,其特征在于,所述遍历坏块区所有的元素,找出隐藏标识及相应的页信息中数据隐藏标识的步骤,具体包括:
根据坏块映射表遍历每颗Flash的坏块,检查所有坏块的隐藏标识位;
判断坏块的标识位是否有效,
若坏块的隐藏标识位无效,则此块为真正的坏块,继续检查下一坏块;
若坏块的隐藏标识为有效,则此块为数据隐藏块,继续遍历该坏块相应的页信息,找出有效的页信息的隐藏标识,以恢复隐藏区的数据映射表。
6.一种基于flash存储介质的数据切换装置,其特征在于,包括:
第一判断模块,用于在接收到切换唤醒序列时,判断切换唤醒序列与存储介质中预设的序列是否匹配;
切换模块,用于当坏块切换唤醒序列与存储介质中预设的序列匹配成功时,切换至坏块映射表,以及遍历坏块区所有的元素,找出坏块中的隐藏标识及相应的页信息中数据隐藏标识;
建立模块,用于根据坏块中的隐藏标识及相应的页信息中数据隐藏标识建立隐藏块的数据映射表;
读写模块,用于根据隐藏块的数据映射表对存储介质中的隐藏区进行读写操作。
7.根据权利要求6所述的基于flash存储介质的数据切换装置,其特征在于,所述装置还包括:
预设模块,用于设置隐藏区,将部分正常使用的数据块添加隐藏标识后形成隐藏数据块并加入坏块映射表。
8.根据权利要求7所述的基于flash存储介质的数据切换装置,其特征在于,所述预设模块,具体用于在Flash的每个颗粒上,随机选取N个目标块,N=v/(k*m),其中,v表示需要隐藏的容量大小,k表示存储介质中Flash的颗粒数,m为每个目标块的容量大小;
在选取的目标块上设置隐藏标识及相应的页信息中数据隐藏标识;
将选取的目标块的物理地址存入坏块映射表中。
9.根据权利要求7所述的基于flash存储介质的数据切换装置,其特征在于,所述装置还包括:
第二判断模块,用于判断存储介质的当前使用状态是正常使用状态还是启用隐藏区状态;
当存储介质的当前使用状态是正常使用状态时,且在切换唤醒序列与存储介质中预设的序列匹配成功时,则存储介质在掉电后再上电或者重启动后进入启动隐藏区状态,在切换唤醒序列与存储介质中预设的序列匹配失败时,则存储介质在掉电后再上电或者重启动后进入正常使用状态;
当存储介质的当前使用状态是启动隐藏区状态时,则存储介质在掉电后再上电或者重启动后进入正常使用状态。
10.根据权利要求6所述的基于flash存储介质的数据切换装置,其特征在于,所述遍历模块,用于根据坏块映射表遍历每颗Flash的坏块,检查所有坏块的隐藏标识位;
判断坏块的标识位是否有效,
若坏块的隐藏标识位无效,则此块为真正的坏块,继续检查下一坏块;
若坏块的隐藏标识为有效,则此块为数据隐藏块,继续遍历该坏块相应的页信息,找出有效的页信息的隐藏标识,以恢复隐藏区的数据映射表。
CN201610831984.7A 2016-09-06 2016-09-06 基于flash存储介质的数据切换方法及装置 Pending CN106648942A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610831984.7A CN106648942A (zh) 2016-09-06 2016-09-06 基于flash存储介质的数据切换方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610831984.7A CN106648942A (zh) 2016-09-06 2016-09-06 基于flash存储介质的数据切换方法及装置

Publications (1)

Publication Number Publication Date
CN106648942A true CN106648942A (zh) 2017-05-10

Family

ID=58852404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610831984.7A Pending CN106648942A (zh) 2016-09-06 2016-09-06 基于flash存储介质的数据切换方法及装置

Country Status (1)

Country Link
CN (1) CN106648942A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107481764A (zh) * 2017-07-31 2017-12-15 深圳芯邦科技股份有限公司 一种3D Nand Flash扫描检测方法和系统
CN107992268A (zh) * 2017-11-24 2018-05-04 郑州云海信息技术有限公司 一种坏块标记的方法及相关装置
CN111367717A (zh) * 2020-02-20 2020-07-03 安凯(广州)微电子技术有限公司 一种电子设备的恢复方法、装置及系统
CN111832087A (zh) * 2020-06-28 2020-10-27 福建捷宇电脑科技有限公司 一种提高flash使用寿命的密钥管理方法和装置
CN112231758A (zh) * 2020-11-03 2021-01-15 深兰科技(上海)有限公司 基于指纹识别的隐私保护系统、终端设备
WO2023055515A1 (en) * 2021-09-29 2023-04-06 Qualcomm Incorporated Flash memory data protection

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040133734A1 (en) * 2002-11-29 2004-07-08 Jordan Marc Kevin Use of NAND flash for hidden memory blocks to store an operating system program
US20080112238A1 (en) * 2006-10-25 2008-05-15 Seon-Taek Kim Hybrid flash memory device and method for assigning reserved blocks thereof
CN101425111A (zh) * 2008-12-01 2009-05-06 成都市华为赛门铁克科技有限公司 一种隐藏数据处理的方法和设备
CN101609492A (zh) * 2009-07-23 2009-12-23 凌阳科技股份有限公司 嵌入式设备的加解密方法和系统
CN102722443A (zh) * 2012-05-21 2012-10-10 三星半导体(中国)研究开发有限公司 闪速存储器的坏块管理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040133734A1 (en) * 2002-11-29 2004-07-08 Jordan Marc Kevin Use of NAND flash for hidden memory blocks to store an operating system program
US20080112238A1 (en) * 2006-10-25 2008-05-15 Seon-Taek Kim Hybrid flash memory device and method for assigning reserved blocks thereof
CN101425111A (zh) * 2008-12-01 2009-05-06 成都市华为赛门铁克科技有限公司 一种隐藏数据处理的方法和设备
CN101609492A (zh) * 2009-07-23 2009-12-23 凌阳科技股份有限公司 嵌入式设备的加解密方法和系统
CN102722443A (zh) * 2012-05-21 2012-10-10 三星半导体(中国)研究开发有限公司 闪速存储器的坏块管理方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107481764A (zh) * 2017-07-31 2017-12-15 深圳芯邦科技股份有限公司 一种3D Nand Flash扫描检测方法和系统
CN107992268A (zh) * 2017-11-24 2018-05-04 郑州云海信息技术有限公司 一种坏块标记的方法及相关装置
CN107992268B (zh) * 2017-11-24 2021-08-10 郑州云海信息技术有限公司 一种坏块标记的方法及相关装置
CN111367717A (zh) * 2020-02-20 2020-07-03 安凯(广州)微电子技术有限公司 一种电子设备的恢复方法、装置及系统
CN111367717B (zh) * 2020-02-20 2022-08-16 广州安凯微电子股份有限公司 一种电子设备的恢复方法、装置及系统
CN111832087A (zh) * 2020-06-28 2020-10-27 福建捷宇电脑科技有限公司 一种提高flash使用寿命的密钥管理方法和装置
CN111832087B (zh) * 2020-06-28 2022-07-29 福建捷宇电脑科技有限公司 一种提高flash使用寿命的密钥管理方法和装置
CN112231758A (zh) * 2020-11-03 2021-01-15 深兰科技(上海)有限公司 基于指纹识别的隐私保护系统、终端设备
CN112231758B (zh) * 2020-11-03 2023-11-17 深兰科技(上海)有限公司 基于指纹识别的隐私保护系统、终端设备
WO2023055515A1 (en) * 2021-09-29 2023-04-06 Qualcomm Incorporated Flash memory data protection

Similar Documents

Publication Publication Date Title
CN106648942A (zh) 基于flash存储介质的数据切换方法及装置
CN104346103B (zh) 指令执行方法、存储器控制器与存储器储存装置
US9015401B2 (en) Selective purge of confidential data from a non-volatile memory
CN105718206B (zh) 能够感知raid的闪存转换层及其实现方法
KR101951770B1 (ko) 수명 종료 상태에 도달할 경우, 솔리드 스테이트 메모리로의 기록들을 제한하기 위한 방법 및 장치
CN106548789A (zh) 用于操作叠瓦式磁记录设备的方法和装置
US20070150645A1 (en) Method, system and apparatus for power loss recovery to enable fast erase time
CN104951405A (zh) 存储系统以及对存储系统执行和验证写保护的方法
EP2270708A1 (en) Data security in solid state memory
US20170308722A1 (en) Storage apparatus having nonvolatile memory device, and nonvolatile memory device
CN101727295A (zh) 一种基于虚拟块闪存地址映射的数据写入及读出方法
US8516213B2 (en) Method and apparatus for EEPROM emulation for preventing data loss in the event of a flash block failure
CN103270500A (zh) 事务日志恢复
CN110176267A (zh) 存储器系统及其操作方法
CN105975878B (zh) 基于Nand Flash闪存的安全存储方法及系统
TW201239623A (en) Data merging method for non-volatile memory and controller and stoarge apparatus using the same
CN105095020B (zh) 适用于片上系统的系统备份与恢复装置及其方法
CN102890655A (zh) 存储器储存装置、其存储器控制器与有效数据识别方法
CN103257938A (zh) 数据保护方法、存储器控制器与存储器储存装置
CN111506255B (zh) 基于nvm的固态硬盘元数据管理方法及系统
CN100518061C (zh) 写一次读多次磁盘存储系统和设计方法
US11977781B2 (en) Systems and methods for managing thermal dissipation in multi-stacked dies
CN103425586B (zh) 储存单元管理方法、存储器控制器与存储器储存装置
KR102363182B1 (ko) 저장 디바이스에서 악성 액티비티들을 검출하기 위한 모듈 및 방법
CN103870408A (zh) 数据处理方法、存储器控制器与存储器储存装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170510