CN111338563B - 存储器的隐藏分区处理方法和装置 - Google Patents
存储器的隐藏分区处理方法和装置 Download PDFInfo
- Publication number
- CN111338563B CN111338563B CN201910799461.2A CN201910799461A CN111338563B CN 111338563 B CN111338563 B CN 111338563B CN 201910799461 A CN201910799461 A CN 201910799461A CN 111338563 B CN111338563 B CN 111338563B
- Authority
- CN
- China
- Prior art keywords
- hidden partition
- partition
- hidden
- unlocked
- modifying
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0684—Configuration or reconfiguration with feedback, e.g. presence or absence of unit detected by addressing, overflow detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0637—Permissions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种存储器的隐藏分区处理方法和装置,包括:在接收到第一外部请求时,修改待反馈容量信息;在接收到第二外部请求时,修改待反馈主引导记录;修改待反馈容量信息包括:将待反馈容量信息修改为所有公开分区和已解锁的隐藏分区的容量之和;修改待反馈主引导记录包括:如果已解锁任一隐藏分区,则将待反馈主引导记录第一个隐藏分区的总扇区信息修改为已解锁的隐藏分区的总扇区信息,将待反馈主引导记录中除第一个隐藏分区表以外的其他隐藏分区表信息消除;和/或,修改待反馈主引导记录还包括:如果已解锁前连续多个隐藏分区,将待反馈主引导记录中未解锁隐藏分区表信息消除。本发明可打开任一或前连续多个隐藏分区,满足用户需求。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种存储器的隐藏分区处理方法和装置。
背景技术
目前,存储器(主要为硬盘,SD卡等)的隐藏分区技术可以实现在存储器上设置一个或多个隐藏分区,但是操作隐藏分区时,只能实现同时打开所有的隐藏分区或关闭所有的隐藏分区。
在存在多个隐藏分区的条件下,当用户期望只打开其中的一个隐藏分区,现有技术不能满足用户需求。
发明内容
有鉴于此,本发明提供一种存储器的隐藏分区处理方法和装置,以解决现有的隐藏分区技术不能灵活打开隐藏分区的问题。
在一个实施例中,提供了一种存储器的隐藏分区处理方法,存储器包括多个公开分区和多个隐藏分区,该方法包括:
在接收到需反馈总容量的第一外部请求时,修改待反馈容量信息;
在接收到需反馈主引导记录的第二外部请求时,修改待反馈主引导记录;
修改待反馈容量信息包括:将待反馈容量信息修改为所有公开分区和已解锁的隐藏分区的各分区容量之和;
修改待反馈主引导记录包括:如果已解锁的隐藏分区为任一隐藏分区,则将待反馈主引导记录中第一个隐藏分区的总扇区信息修改为已解锁的隐藏分区的总扇区信息,且将待反馈主引导记录中除第一个隐藏分区表以外的其他隐藏分区表信息消除;
和/或,修改待反馈主引导记录还包括:如果已解锁的隐藏分区为隐藏分区中的前连续多个隐藏分区,则将待反馈主引导记录中除前连续多个隐藏分区表以外的其他隐藏分区表信息消除。
在另一个实施例中,提供了一种非瞬时计算机可读存储介质,非瞬时计算机可读存储介质存储指令,指令在由存储器控制器执行时使得存储器控制器执行上述的存储器的隐藏分区处理方法中的步骤。
在另一个实施例中,提供了一种存储器的隐藏分区处理装置,包括存储器控制器和如上述的非瞬时计算机可读存储介质。
在另一个实施例中,提供了一种存储器的隐藏分区处理装置,存储器包括多个公开分区和多个隐藏分区,该装置包括:
第一接收模块:在接收到需反馈总容量的第一外部请求时,修改待反馈容量信息;
第二接收模块:在接收到需反馈主引导记录的第二外部请求时,修改待反馈主引导记录;
修改待反馈容量信息包括:将待反馈容量信息修改为所有公开分区和已解锁的隐藏分区的各分区容量之和;
修改待反馈主引导记录包括:如果已解锁的隐藏分区为任一隐藏分区,则将待反馈主引导记录中第一个隐藏分区的总扇区信息修改为已解锁的隐藏分区的总扇区信息,且将待反馈主引导记录中除第一个隐藏分区表以外的其他隐藏分区表信息消除;
和/或,修改待反馈主引导记录还包括:如果已解锁的隐藏分区为隐藏分区中的前连续多个隐藏分区,则将待反馈主引导记录中除前连续多个隐藏分区表以外的其他隐藏分区表信息消除。
本发明的存储器的隐藏分区处理方法,通过修改存储器反馈给外部设备(包括系统或BIOS)的主引导记录的分区表信息和总容量信息,实现打开任一隐藏分区和前连续多个隐藏分区的目的,扩展了隐藏分区的打开方式,满足用户需求。
附图说明
以下附图仅对本发明做示意性说明和解释,并不限定本发明的范围:
图1为本发明实施例中的存储器的结构示意图;
图2为本发明实施例中存储器的隐藏分区处理方法的第一流程示意图;
图3为本发明实施例中存储器的隐藏分区处理方法的第二流程示意图;
图4为本发明实施例中存储器的隐藏分区处理方法的第三流程示意图;
图5为本发明实施例中存储器的隐藏分区处理装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
图1为存储器的结构示意图,包括存储单元和控制器,存储单元上包括多个公开分区和多个隐藏分区,为了便于描述,假设包括:M个公开分区和N个隐藏分区。
控制器负责与客户端/存储器所在的系统或BIOS进行交互,接收或发送指令、分析指令和执行指令,以及根据指令对存储单元进行读写操作和隐藏分区操作等。
本发明提供两种设置隐藏分区的方法,在设置隐藏分区之前,存储器只有M+N个公开分区,如何设置M+N个公开分区为现有技术,在此不再赘述。
第一种
S11:接收值M值或N值,M值或N值用于指示将M+N个分区中的后N个分区设置为隐藏分区;
S12:在接收到需反馈总容量的第一外部请求时,修改待反馈容量信息;其中修改待反馈容量信息包括:如果当前隐藏分区已设置且当前隐藏分区未解锁,则将待反馈容量信息修改为所有公开分区容量之和;
其中,隐藏分区解锁表示一个或多个隐藏分区被打开,相应地,隐藏分区未解锁没有隐藏分区被打开。待反馈容量信息为存储器控制器根据第一外部请求所读取的“容量信息”且在存储器缓存Buffer中暂存的“等待反馈”,“容量信息”表示信息内容,“待反馈”表示该“容量信息”尚未发送给客户端/存储器所在的系统或BIOS。
S12未修改存储器上的第一容量信息,第一容量信息对应M+N个公开分区,通过将Buffer中第一容量信息修改为第二容量信息,第二容量信息对应M个公开分区,然后将第二容量信息发送给客户端/存储器所在的系统或BIOS。
进一步假设M=3,N=2,当存储器未设置隐藏分区时的第1分区起始点信息为n1,第2分区起始点信息为n2,第3分区起始点信息为n3,第4分区起始点信息为n4,第5分区起始点信息为n5,存储器的物理总容量(或真实总容量)为n6,则:
第1分区容量=n2;
第2分区容量=n3-n2;
第3分区容量=n4-n3;
第4分区容量=n5-n4;
第5分区容量=n6-n5。
则,第一容量信息=n6,修改后的待反馈容量信息(第二容量信息)=第1分区容量+第2分区容量+第3分区容量=n4。
S13:在接收到需反馈主引导记录的第二外部请求时,如果当前隐藏分区已设置且当前隐藏分区未解锁,则将待反馈主引导记录中除公开分区表以外的其他分区表的信息消除;反馈主引导记录。
S13未修改存储器上的第一主引导记录,第一主引导记录对应M+N个公开分区,通过将Buffer中第一主引导记录修改为第二主引导记录,第二主引导记录对应M个公开分区,然后将第二主引导记录发送给客户端/存储器所在的系统或BIOS。
由于客户端/存储器所在的系统或BIOS,接收到的是修改后的待反馈容量信息(第二容量信息)和待反馈主引导记录(第二主引导记录),因此客户端/存储器所在的系统或BIOS根据第二容量信息和第二主引导记录识别出存储单元只有前M个公开分区,从而实现将后N个分区设置为隐藏分区的目的。
S11当存储器首次接收到M值或N值,即表示当前隐藏分区已设置且当前隐藏分区未解锁,而S12和S13是对外显示隐藏分区已设置、未解锁的真正处理步骤。
第二种
S11:接收值M值或N值,M值或N值用于指示将M+N个分区中的后N个分区设置为隐藏分区;
S12:在接收到需反馈总容量的第一外部请求时,修改待反馈容量信息;其中修改待反馈容量信息包括:如果当前隐藏分区已设置且当前隐藏分区未解锁,则将待反馈容量信息修改为所有公开分区容量之和;
S13’:在接收到需反馈主引导记录的第二外部请求时,修改待反馈主引导记录;其中,修改待反馈主引导记录包括:如果当前隐藏分区已设置且当前隐藏分区未解锁,将主引导记录中除公开分区表以外的其他分区表的信息消除;
与S13不同,S13’直接将存储器上本地保存的第一主引导记录修改为第二主引导记录,使得存储器控制器根据第二外部请求所读取的且发送给客户端/存储器所在的系统或BIOS的信息只能是“第二主引导记录”。
第一种和第二种方法均实现了设置隐藏分区的目的,其中,第一种方法通过修改Buffer数据(第一主引导记录未修改)实现,第二种方法通过修改存储器上的第一主引导记录实现。
当隐藏分区设置之后,本发明的存储器的隐藏分区处理方法还用于实现隐藏分区的其他操作。
实施例一
当存储器包括多个公开分区和多个隐藏分区时,如图2所示,本发明的存储器的隐藏分区处理方法包括:
S21:在接收到需反馈总容量的第一外部请求时,修改待反馈容量信息;其中,修改待反馈容量信息包括:将待反馈容量信息修改为所有公开分区和已解锁的隐藏分区的各分区容量之和;
假设已解锁的隐藏分区为N个隐藏分区中的第X(1≤X≤N)个隐藏分区。则S21未修改存储器上的第一容量信息,第一容量信息对应M+N个公开分区,通过将Buffer中第一容量信息修改为第三容量信息,第三容量信息对应M个公开分区+第X个隐藏分区,然后将第三容量信息发送给客户端/存储器所在的系统或BIOS。
S23-1:在接收到需反馈主引导记录的第二外部请求时,修改待反馈主引导记录;其中,修改待反馈主引导记录包括:如果已解锁的隐藏分区为任一隐藏分区,则将待反馈主引导记录中第一个隐藏分区的总扇区信息修改为已解锁的隐藏分区的总扇区信息,且将待反馈主引导记录中除第一个隐藏分区表以外的其他隐藏分区表信息消除。
S23-1未修改存储器上的第一主引导记录,第一主引导记录对应M+N个公开分区,通过将Buffer中第一主引导记录修改为第三主引导记录,第三主引导记录对应M个公开分区+第“1”个隐藏分区,然后将第三主引导记录发送给客户端/存储器所在的系统或BIOS。
其中,第“1”个隐藏分区除“总扇区信息”之外的其他信息使用的是“第一个隐藏分区”的信息,使得客户端/存储器所在的系统或BIOS根据第三容量信息和第三主引导记录识别出存储单元当前包括:前M+1个连续公开分区,其中第M+1个公开分区与第M个公开分区在物理地址连续无间隔。第“1”个隐藏分区的“总扇区信息”使用的是“第X个隐藏分区”的信息,使得客户端/存储器所在的系统或BIOS根据第三容量信息和第三主引导记录识别出存储单元当前包括:前M+1个连续公开分区,其中第M+1个公开分区的容量对应第X个隐藏分区的容量。
即,客户端/存储器所在的系统或BIOS根据第三容量信息和第三主引导记录识别出:当前存储单元包括前M+1个连续公开分区,前M+1个连续公开分区包括:前M个公开分区+初始地址更改为第1个隐藏分区的已解锁第X个隐藏分区,从而实现打开(或解锁)任一隐藏分区的目的。
S23-1与第一种设置隐藏分区的方法对应。
相应地,S23-1还可以替换为S23-1’如下:
S23-1’:在接收到需反馈主引导记录的第二外部请求时,修改待反馈主引导记录;其中,修改待反馈主引导记录包括:如果已解锁的隐藏分区为任一隐藏分区,则将存储器的主引导记录中第一个隐藏分区表的起始点信息修改为初始分区表中第一个隐藏分区对应的起始点信息,将主引导记录中第一个隐藏分区表的总扇区信息修改为初始分区表中已解锁的隐藏分区对应的总扇区信息,反馈主引导记录;初始分区表为预先保存的、存储器未设置隐藏分区时对应的各分区表信息。
S23-1’与第二种设置隐藏分区的方法对应。
初始分区表可以理解为预先保存的、当存储器包括M+N个公开分区时对应的各分区表信息。因S13’在设置隐藏分区时,已将后N个隐藏分区表的消除(对应第二主引导记录),为了构建第M+1个公开分区(对应第X个隐藏分区)的主引导记录,需要将:主引导记录中第M+1个分区表的起始点信息为第M+1个初始分区表的起始点信息,将主引导记录中第M+1个分区表的总扇区信息修改为第M+X个初始分区表的总扇区信息。
即,S23-1’将存储器上本地保存的第二主引导记录修改为第三主引导记录。
在S21之前,还包括解锁隐藏分区的步骤S20如下:
S20:在接收到解锁隐藏分区对应的触发信号时,如果触发信号对应的隐藏分区为已设置隐藏分区且当前触发信号对应的隐藏分区未解锁,解锁触发信号对应的隐藏分区。
或者,S20中,“解锁触发信号对应的隐藏分区”包括:解锁触发信号对应的隐藏分区,发送预设指令。
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求,触发S21和S23-1或S23-1’执行。
在S23-1或S23-1’之后,还包括S24如下:
S24:当接收到对已解锁的隐藏分区的读写操作且已解锁的隐藏分区为任一隐藏分区时,判断已解锁的隐藏分区是否是第一个隐藏分区,如果否,在执行读写操作之前,将读写操作的地址修改为该地址和偏移量的和,偏移量为已解锁的隐藏分区对应的起始点信息与初始分区表中第一个隐藏分区对应的起始点信息之差。
根据S23-1或S23-1’内容可知,客户端/存储器所在的系统或BIOS根据初始分区表对应的第M+1个公开分区的起始点信息生成读写操作的地址,但是当X≠1时,该地址并不对应第X个隐藏分区的真实读写地址,因此需对该地址进行修正。
(1)设置隐藏分区标识
为了便于存储器实时获取隐藏分区的不同状态信息,存储器可以设置隐藏分区标识,隐藏分区标识用于标识隐藏分区已设置但未解锁和不同的隐藏分区已解锁,隐藏分区标识还用于标识隐藏分区未设置。
例如,当隐藏分区标识的值为“-1”表示隐藏分区未设置;当隐藏分区标识的值为“0”表示隐藏分区已设置但未解锁,当隐藏分区标识的值为“X”表示第X个隐藏分区已解锁。
基于隐藏分区标识,S20的内容可以替换为S20-1如下:
S20-1:在接收到解锁隐藏分区对应的触发信号时,判断当前隐藏分区标识是否表示触发信号对应的隐藏分区已解锁,如果否,修改当前隐藏分区标识为表示触发信号对应的隐藏分区已解锁;
或者,S20-1中,“修改当前隐藏分区标识为表示触发信号对应的隐藏分区已解锁”包括:修改当前隐藏分区标识为表示触发信号对应的隐藏分区已解锁,发送预设指令。
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求,触发S21和S23-1或S23-1’执行。
触发信号为密码、指纹识别信息或其他信息,不同的隐藏分区的触发信号不同,例如,当接收到解锁第X个隐藏分区的触发信号时,先判断当前隐藏分区标识的值是否为“X”,如果否,将当前隐藏分区标识的值设为“X”。
同样地,基于隐藏分区标识,S11的内容可以替换为S11-1如下:
S11-1:接收值M值或N值,M值或N值用于指示将M+N个分区中的后N个分区设置为隐藏分区,修改当前隐藏分区标识为表示隐藏分区已设置但未解锁;
即S11-1,将隐藏分区标识设为“0”。
相应地,S21中,在“在接收到需反馈总容量的第一外部请求时”,先判断当前隐藏分区标识是否表示隐藏分区已解锁,如果是,再修改待反馈容量信息;相应地,S23-1和S23-1’中,在“在接收到需反馈主引导记录的第二外部请求时”,先判断当前隐藏分区标识是否表示隐藏分区已解锁,如果是,修改待反馈主引导记录。
根据隐藏分区标识,S12、S13、S13’、S21、S23-1、S23-1’均可以独立地依据隐藏分区标识的内容自动判断是否符合执行条件,因此S12、S13、S13’、S21、S23-1、S23-1’均可设置为存储器控制器主控程序中的实时监控程序。
S11和S20及其替换步骤由外部触发,可设置为存储器控制器命令集中的触发命令。
可选地,在接收到存储器的重新上电的信号后,如果当前隐藏分区标识表示隐藏分区已解锁,则将当前隐藏分区标识修改为表示隐藏分区已设置但未解锁(将存储器复原为刚设置隐藏分区的状态)。
或者,上述“将当前隐藏分区标识修改为表示隐藏分区已设置但未解锁”包括:将当前隐藏分区标识修改为表示隐藏分区已设置但未解锁,发送预设指令。
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求,触发S21和S23-1或S23-1’执行。
此时,当客户端或存储器所在的系统或BIOS向存储器发送第一外部请求,则存储器执行S12,当客户端或存储器所在的系统或BIOS向存储器发送第二外部请求,则存储器执行S13或S13’。
可选地,S13’还可以替换为S13’-1如下:
S13’-1:当检测到隐藏分区标识从表示隐藏分区未设置或从表示隐藏分区已解锁变更为表示隐藏分区已设置但未解锁,则将存储器的主引导记录中公开分区表以外的其他分区表的信息消除;在接收到需反馈主引导记录的第二外部请求时,反馈主引导记录。
基于隐藏分区标识,在S24中,“判断已解锁的隐藏分区是否是第一个隐藏分区”可以通过隐藏分区标识的内容来判断,例如当隐藏分区标识的值≥2时,已解锁的隐藏分区不是第一个隐藏分区。
(2)设置隐藏分区第一标识和隐藏分区第二标识
为了便于存储器实时获取隐藏分区的不同状态信息,存储器可以设置隐藏分区第一标识和隐藏分区第二标识,隐藏分区第一标识用于标识隐藏分区已设置,隐藏分区第二标识用于标识隐藏分区未解锁和不同的隐藏分区已解锁,隐藏分区第一标识还用于标识隐藏分区未设置。
例如,当隐藏分区第一标识的值为“-1”表示隐藏分区未设置;当隐藏分区第一标识的值为“0”表示隐藏分区已设置,当隐藏分区第二标识的值为“0”表示隐藏分区未解锁,当隐藏分区标识的值为“X”表示第X个隐藏分区已解锁。
基于隐藏分区第一标识和隐藏分区第二标识,S20的内容可以替换为S20-2如下:
S20-2:在接收到解锁隐藏分区对应的触发信号时,如果当前隐藏分区第一标识表示隐藏分区已设置,判断当前隐藏分区第二标识是否表示触发信号对应的隐藏分区已解锁,如果否,修改当前隐藏分区第二标识为表示触发信号对应的隐藏分区已解锁;
或者,S20-2中,“修改当前隐藏分区第二标识为表示触发信号对应的隐藏分区已解锁”包括:修改当前隐藏分区第二标识为表示触发信号对应的隐藏分区已解锁,发送预设指令。
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求,触发S21和S23-1或S23-1’执行。
不同的隐藏分区的触发信号不同,当接收到解锁第X个隐藏分区的触发信号时,先判断当前隐藏分区第一标识的值是否为“0”,如果是,继续判断判断当前隐藏分区第一标识的值是否为“X”,如果否,将当前隐藏分区第二标识的值设为“X”。
同样地,基于隐藏分区第一标识和隐藏分区第二标识,S11的内容可以替换为S11-2如下:
S11-2:接收值M值或N值,M值或N值用于指示将M+N个分区中的后N个分区设置为隐藏分区,修改当前隐藏分区第一标识为表示隐藏分区已设置,修改当前隐藏分区第二标识为表示隐藏分区未解锁;
即S11-2,将隐藏分区第一标识设为“0”,将隐藏分区第二标识设为“0”。
相应地,S21中,在“在接收到需反馈总容量的第一外部请求时”,先判断当前隐藏分区第一标识是否表示隐藏分区已设置且当前隐藏分区第二标识是否表示隐藏分区已解锁,如果是,再修改待反馈容量信息;相应地,S23-1和S23-1’中,在“在接收到需反馈主引导记录的第二外部请求时”,先判断当前隐藏分区第一标识是否表示隐藏分区已设置且当前隐藏分区第二标识是否表示隐藏分区已解锁,如果是,修改待反馈主引导记录。
根据隐藏分区第一标识和隐藏分区第二标识,S12、S13、S13’、S21、S23-1、S23-1’均可以依据隐藏分区第一标识和隐藏分区第二标识的内容自动判断是否符合执行条件。
可选地,在接收到存储器的重新上电的信号后,如果当前隐藏分区第一标识表示隐藏分区已设置且当前隐藏分区第二标识表示隐藏分区已解锁,则修改当前隐藏分区第二标识为表示隐藏分区未解锁。
或者,上述“修改当前隐藏分区第二标识为表示隐藏分区未解锁”包括:修改当前隐藏分区第二标识为表示隐藏分区未解锁,发送预设指令。
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求,触发S21和S23-1或S23-1’执行。
此时,当客户端/存储器所在的系统或BIOS向存储器发送第一外部请求,则存储器执行S12,当客户端/存储器所在的系统或BIOS向存储器发送第二外部请求,则存储器执行S13或S13’。
可选地,S13’还可以替换为S13’-2如下:
S13’-2:当检测到隐藏分区第一标识从表示隐藏分区未设置变为表示隐藏分区已设置或隐藏分区第二标识从表示隐藏分区已解锁变为隐藏分区未解锁,则将存储器的主引导记录中除公开分区表以外的其他分区表的信息消除;在接收到需反馈主引导记录的第二外部请求时,反馈主引导记录。
基于隐藏分区第二标识,在S24中,“判断已解锁的隐藏分区是否是第一个隐藏分区”可以通过隐藏分区第二标识的内容来判断,例如当隐藏分区第二标识的值≥2时,已解锁的隐藏分区不是第一个隐藏分区。
实施例二
当存储器包括多个公开分区和多个隐藏分区时,如图3所示,本发明的存储器的隐藏分区处理方法包括:
S21:在接收到需反馈总容量的第一外部请求时,修改待反馈容量信息;修改待反馈容量信息包括:将待反馈容量信息修改为所有公开分区和已解锁的隐藏分区的各分区容量之和;
假设已解锁的隐藏分区为N个隐藏分区中的前Y(2≤Y≤N)个隐藏分区。则S21未修改存储器上的第一容量信息,第一容量信息对应M+N个公开分区,通过将Buffer中第一容量信息修改为第四容量信息,第四容量信息对应M个公开分区+前Y个隐藏分区,然后将第四容量信息发送给客户端/存储器所在的系统或BIOS。
S23-2:在接收到需反馈主引导记录的第二外部请求时,修改待反馈主引导记录;其中,修改待反馈主引导记录包括:如果已解锁的隐藏分区为隐藏分区中的前连续多个隐藏分区,则将待反馈主引导记录中除前连续多个隐藏分区表以外的其他隐藏分区表信息消除。
S23-2未修改存储器上的第一主引导记录,第一主引导记录对应M+N个公开分区,通过将Buffer中第一主引导记录修改为第四主引导记录,第四主引导记录对应M个公开分区+前Y个隐藏分区,然后将第四主引导记录发送给客户端/存储器所在的系统或BIOS。
客户端/存储器所在的系统或BIOS根据第四容量信息和第四主引导记录识别出:当前存储单元包括前M+Y个连续公开分区,前M+Y个连续公开分区包括:前M个公开分区+已解锁的前Y个隐藏分区,从而实现打开(或解锁)前Y个隐藏分区的目的。
S23-2与第一种设置隐藏分区的方法对应。
相应地,S23-2还可以替换为S23-2’如下:
S23-2’:在接收到需反馈主引导记录的第二外部请求时,修改待反馈主引导记录;其中,修改待反馈主引导记录包括:如果已解锁的隐藏分区为隐藏分区中的前连续多个隐藏分区,将存储器的主引导记录中前连续多个隐藏分区表的内容一一对应修改为初始分区表中前连续多个隐藏分区对应的内容,反馈主引导记录;初始分区表为预先保存的、存储器未设置隐藏分区时对应的各分区表信息。
S23-2’与第二种设置隐藏分区的方法对应。
因S13’在设置隐藏分区时,已将后N个隐藏分区表的消除(对应第二主引导记录),为了构建第M+1至第M+Y个公开分区(对应前Y个隐藏分区)的主引导记录,需要将:主引导记录中第M+1个分区表信息修改为第M+1个初始分区表信息……将主引导记录中第M+Y个分区表信息修改为第M+Y个初始分区表信息。
即,S23-2’将存储器上本地保存的第二主引导记录修改为第四主引导记录。
在S21之前,还包括解锁隐藏分区的步骤S20如下:
S20:在接收到解锁隐藏分区对应的触发信号时,如果触发信号对应的隐藏分区为已设置隐藏分区且当前触发信号对应的隐藏分区未解锁,解锁触发信号对应的隐藏分区。
或者,S20中,“解锁触发信号对应的隐藏分区”包括:解锁触发信号对应的隐藏分区,发送预设指令。
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求,触发S21和S23-2或S23-2’执行。
(1)设置隐藏分区标识
为了便于存储器实时获取隐藏分区的不同状态信息,存储器可以设置藏分区标识,隐藏分区标识用于标识隐藏分区已设置但未解锁和不同的隐藏分区已解锁,隐藏分区标识还用于标识隐藏分区未设置。
例如,当隐藏分区标识的值为“-1”表示隐藏分区未设置;当隐藏分区标识的值为“0”表示隐藏分区已设置但未解锁,当隐藏分区标识的值为“Y+N”表示前Y个隐藏分区已解锁。
基于隐藏分区标识,S20的内容可以替换为S20-1如下:
S20-1:在接收到解锁隐藏分区对应的触发信号时,判断当前隐藏分区标识是否表示触发信号对应的隐藏分区已解锁,如果否,修改当前隐藏分区标识为表示触发信号对应的隐藏分区已解锁;
或者,S20-1中,“修改当前隐藏分区标识为表示触发信号对应的隐藏分区已解锁”包括:修改当前隐藏分区标识为表示触发信号对应的隐藏分区已解锁,发送预设指令。
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求,触发S21和S23-2或S23-2’执行。
触发信号为密码、指纹识别信息或其他信息,不同的隐藏分区的触发信号不同,例如,当接收到解锁前Y个隐藏分区的触发信号时,先判断当前隐藏分区标识的值是否为“Y+N”,如果否,将当前隐藏分区标识的值设为“Y+N”。
同样地,基于隐藏分区标识,S11的内容可以替换为S11-1如下:
S11-1:接收值M值或N值,M值或N值用于指示将M+N个分区中的后N个分区设置为隐藏分区,修改当前隐藏分区标识为表示隐藏分区已设置但未解锁;
即S11-1,将隐藏分区标识设为“0”。
相应地,S21中,在“在接收到需反馈总容量的第一外部请求时”,先判断当前隐藏分区标识是否表示隐藏分区已解锁,如果是,再修改待反馈容量信息;相应地,S23-2和S23-2’中,在“在接收到需反馈主引导记录的第二外部请求时”,先判断当前隐藏分区标识是否表示隐藏分区已解锁,如果是,修改待反馈主引导记录。
根据隐藏分区标识,S12、S13、S13’、S21、S23-2、S23-2’均可以独立地依据隐藏分区标识的内容自动判断是否符合执行条件,因此S12、S13、S13’、S21、S23-2、S23-2’均可设置为存储器控制器主控程序中的实时监控程序。
S11和S20及其替换步骤由外部触发,可设置为存储器控制器命令集中的触发命令。
可选地,在接收到存储器的重新上电的信号后,如果当前隐藏分区标识表示隐藏分区已解锁,则将当前隐藏分区标识修改为表示隐藏分区已设置但未解锁。
或者,上述“将当前隐藏分区标识修改为表示隐藏分区已设置但未解锁”包括:将当前隐藏分区标识修改为表示隐藏分区已设置但未解锁,发送预设指令。
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求,触发S21和S23-2或S23-2’执行。
此时,当客户端或存储器所在的系统或BIOS向存储器发送第一外部请求,则存储器执行S12,当客户端或存储器所在的系统或BIOS向存储器发送第二外部请求,则存储器执行S13或S13’。
可选地,S13’还可以替换为S13’-1如下:
S13’-1:当检测到隐藏分区标识从表示隐藏分区未设置或从表示隐藏分区已解锁变更为表示隐藏分区已设置但未解锁,则将存储器的主引导记录中公开分区表以外的其他分区表的信息消除;在接收到需反馈主引导记录的第二外部请求时,反馈主引导记录。
(2)设置隐藏分区第一标识和隐藏分区第二标识
为了便于存储器实时获取隐藏分区的不同状态信息,存储器可以设置隐藏分区第一标识和隐藏分区第二标识,隐藏分区第一标识用于标识隐藏分区已设置,隐藏分区第二标识用于标识隐藏分区未解锁和不同的隐藏分区已解锁,隐藏分区第一标识还用于标识隐藏分区未设置。
例如,当隐藏分区第一标识的值为“-1”表示隐藏分区未设置;当隐藏分区第一标识的值为“0”表示隐藏分区已设置,当隐藏分区第二标识的值为“0”表示隐藏分区未解锁,当隐藏分区标识的值为“Y+N”表示前Y个隐藏分区已解锁。
基于隐藏分区第一标识和隐藏分区第二标识,S20的内容可以替换为S20-2如下:
S20-2:在接收到解锁隐藏分区对应的触发信号时,如果当前隐藏分区第一标识表示隐藏分区已设置,判断当前隐藏分区第二标识是否表示触发信号对应的隐藏分区已解锁,如果否,修改当前隐藏分区第二标识为表示触发信号对应的隐藏分区已解锁;
或者,S20-2中,“修改当前隐藏分区第二标识为表示触发信号对应的隐藏分区已解锁”包括:修改当前隐藏分区第二标识为表示触发信号对应的隐藏分区已解锁,发送预设指令。
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求,触发S21和S23-2或S23-2’执行。
不同的隐藏分区的触发信号不同,当接收到解锁前Y个隐藏分区的触发信号时,先判断当前隐藏分区第一标识的值是否为“0”,如果是,继续判断判断当前隐藏分区第一标识的值是否为“Y+N”,如果否,将当前隐藏分区第二标识的值设为“Y+N”。
同样地,基于隐藏分区第一标识和隐藏分区第二标识,S11的内容可以替换为S11-2如下:
S11-2:接收值M值或N值,M值或N值用于指示将M+N个分区中的后N个分区设置为隐藏分区,修改当前隐藏分区第一标识为表示隐藏分区已设置,修改当前隐藏分区第二标识为表示隐藏分区未解锁;
即S11-2,将隐藏分区第一标识设为“0”,将隐藏分区第二标识设为“0”。
相应地,S21中,在“在接收到需反馈总容量的第一外部请求时”,先判断当前隐藏分区第一标识是否表示隐藏分区已设置且当前隐藏分区第二标识是否表示隐藏分区已解锁,如果是,再修改待反馈容量信息。
相应地,S23-2和S23-2’中,在“在接收到需反馈主引导记录的第二外部请求时”,先判断当前隐藏分区第一标识是否表示隐藏分区已设置且当前隐藏分区第二标识是否表示隐藏分区已解锁,如果是,修改待反馈主引导记录。
根据隐藏分区第一标识和隐藏分区第二标识,S12、S13、S13’、S21、S23-2、S23-2’均可以依据隐藏分区第一标识和隐藏分区第二标识的内容自动判断是否符合执行条件。
可选地,在接收到存储器的重新上电的信号后,如果当前隐藏分区第一标识表示隐藏分区已设置且当前隐藏分区第二标识表示隐藏分区已解锁,则修改当前隐藏分区第二标识为表示隐藏分区未解锁。
或者,上述“修改当前隐藏分区第二标识为表示隐藏分区未解锁”包括:修改当前隐藏分区第二标识为表示隐藏分区未解锁,发送预设指令。
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求,触发S21和S23-2或S23-2’执行。
此时,当客户端/存储器所在的系统或BIOS向存储器发送第一外部请求,则存储器执行S12,当客户端/存储器所在的系统或BIOS向存储器发送第二外部请求,则存储器执行S13或S13’。
可选地,S13’还可以替换为S13’-2如下:
S13’-2:当检测到隐藏分区第一标识从表示隐藏分区未设置变为表示隐藏分区已设置或隐藏分区第二标识从表示隐藏分区已解锁变为隐藏分区未解锁,则将存储器的主引导记录中除公开分区表以外的其他分区表的信息消除;在接收到需反馈主引导记录的第二外部请求时,反馈主引导记录。
实施例三
当存储器包括多个公开分区和多个隐藏分区时,如图4所示,本发明的存储器的隐藏分区处理方法包括:
S21:在接收到需反馈总容量的第一外部请求时,修改待反馈容量信息;修改待反馈容量信息包括:将待反馈容量信息修改为所有公开分区和已解锁的隐藏分区的各分区容量之和;
假设已解锁的隐藏分区为N个隐藏分区中的第X个隐藏分区或前Y个隐藏分区。则S21未修改存储器上的第一容量信息,第一容量信息对应M+N个公开分区,通过将Buffer中第一容量信息修改为第三容量信息或第四容量信息,第三容量信息对应M个公开分区+第X个隐藏分区,第四容量信息对应M个公开分区+前Y个隐藏分区,然后将第三容量信息或第四容量信息发送给客户端/存储器所在的系统或BIOS。
S23-3:在接收到需反馈主引导记录的第二外部请求时,修改待反馈主引导记录;
其中,修改待反馈主引导记录包括:如果已解锁的隐藏分区为任一隐藏分区,则将待反馈主引导记录中第一个隐藏分区的总扇区信息修改为已解锁的隐藏分区的总扇区信息,且将待反馈主引导记录中除第一个隐藏分区表以外的其他隐藏分区表信息消除;
以及,修改待反馈主引导记录还包括:如果已解锁的隐藏分区为隐藏分区中的前连续多个隐藏分区,则将待反馈主引导记录中除前连续多个隐藏分区表以外的其他隐藏分区表信息消除。
当已解锁的隐藏分区为第X个隐藏分区,存储器将第三主引导记录发送给客户端/存储器所在的系统或BIOS。
当已解锁的隐藏分区为前Y个隐藏分区,存储器将第四主引导记录发送给客户端/存储器所在的系统或BIOS。
客户端/存储器所在的系统或BIOS根据第三容量信息和第三主引导记录识别出:当前存储单元包括前M+1个连续公开分区,前M+1个连续公开分区包括:前M个公开分区+初始地址更改为第1个隐藏分区的已解锁第X个隐藏分区,从而实现打开(或解锁)任一隐藏分区的目的。
或者,客户端/存储器所在的系统或BIOS根据第四容量信息和或第四主引导记录识别出:当前存储单元包括前M+Y个连续公开分区,前M+Y个连续公开分区包括:前M个公开分区+已解锁的前Y个隐藏分区,从而实现打开(或解锁)前Y个隐藏分区的目的。
S23-3与第一种设置隐藏分区的方法对应。
相应地,S23-3还可以替换为S23-3’如下:
S23-3’:在接收到需反馈主引导记录的第二外部请求时,修改待反馈主引导记录;
其中,修改待反馈主引导记录包括:如果已解锁的隐藏分区为任一隐藏分区,则将存储器的主引导记录中第一个隐藏分区表的起始点信息修改为初始分区表中第一个隐藏分区对应的起始点信息,将主引导记录中第一个隐藏分区表的总扇区信息修改为初始分区表中已解锁的隐藏分区对应的总扇区信息,反馈主引导记录;
以及,修改待反馈主引导记录还包括:如果已解锁的隐藏分区为隐藏分区中的前连续多个隐藏分区,将存储器的主引导记录中前连续多个隐藏分区表的内容一一对应修改为初始分区表中前连续多个隐藏分区对应的内容,反馈主引导记录;
初始分区表为预先保存的、存储器未设置隐藏分区时对应的各分区表信息。
S23-3’与第二种设置隐藏分区的方法对应。
S23-3’将存储器上本地保存的第二主引导记录修改为第三主引导记录或第四主引导记录。
在S21之前,还包括解锁隐藏分区的步骤S20如下:
S20:在接收到解锁隐藏分区对应的触发信号时,如果触发信号对应的隐藏分区为已设置隐藏分区且当前触发信号对应的隐藏分区未解锁,解锁触发信号对应的隐藏分区。
在S21之前,还包括解锁隐藏分区的步骤S20如下:
S20:在接收到解锁隐藏分区对应的触发信号时,如果触发信号对应的隐藏分区为已设置隐藏分区且当前触发信号对应的隐藏分区未解锁,解锁触发信号对应的隐藏分区。
或者,S20中,“解锁触发信号对应的隐藏分区”包括:解锁触发信号对应的隐藏分区,发送预设指令。
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求,触发S21和S23-3或S23-3’执行。
在S23-3或S23-3’之后,还包括S24如下:
S24:当接收到对已解锁的隐藏分区的读写操作且已解锁的隐藏分区为任一隐藏分区时,判断已解锁的隐藏分区是否是第一个隐藏分区,如果否,在执行读写操作之前,将读写操作的地址修改为该地址和偏移量的和,偏移量为已解锁的隐藏分区对应的起始点信息与初始分区表中第一个隐藏分区对应的起始点信息之差。
根据S23-1或S23-1’内容可知,客户端/存储器所在的系统或BIOS根据初始分区表对应的第M+1个公开分区的起始点信息生成读写操作的地址,但是当X≠1时,该地址并不对应第X个隐藏分区的真实读写地址,因此需对该地址进行修正。
(1)设置隐藏分区标识
为了便于存储器实时获取隐藏分区的不同状态信息,存储器可以设置隐藏分区标识,隐藏分区标识用于标识隐藏分区已设置但未解锁和不同的隐藏分区已解锁,隐藏分区标识还用于标识隐藏分区未设置。
例如,当隐藏分区标识的值为“-1”表示隐藏分区未设置;当隐藏分区标识的值为“0”表示隐藏分区已设置但未解锁,当隐藏分区标识的值为“X”表示第X个隐藏分区已解锁,当隐藏分区标识的值为“Y+N”表示前Y个隐藏分区已解锁。
基于隐藏分区标识,S20的内容可以替换为S20-1如下:
S20-1:在接收到解锁隐藏分区对应的触发信号时,判断当前隐藏分区标识是否表示触发信号对应的隐藏分区已解锁,如果否,修改当前隐藏分区标识为表示触发信号对应的隐藏分区已解锁;
或者,S20-1中,“修改当前隐藏分区标识为表示触发信号对应的隐藏分区已解锁”包括:修改当前隐藏分区标识为表示触发信号对应的隐藏分区已解锁,发送预设指令。
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求,触发S21和S23-3或S23-3’执行。
触发信号为密码、指纹识别信息或其他信息,不同的隐藏分区的触发信号不同,例如,当接收到解锁第X个隐藏分区的触发信号时,先判断当前隐藏分区标识的值是否为“X”,如果否,将当前隐藏分区标识的值设为“X”,当接收到解锁前Y个隐藏分区的触发信号时,先判断当前隐藏分区标识的值是否为“Y+N”,如果否,将当前隐藏分区标识的值设为“Y+N”。
同样地,基于隐藏分区标识,S11的内容可以替换为S11-1如下:
S11-1:接收值M值或N值,M值或N值用于指示将M+N个分区中的后N个分区设置为隐藏分区,修改当前隐藏分区标识为表示隐藏分区已设置但未解锁;
即S11-1,将隐藏分区标识设为“0”。
相应地,S21中,在“在接收到需反馈总容量的第一外部请求时”,先判断当前隐藏分区标识是否表示隐藏分区已解锁,如果是,再修改待反馈容量信息;相应地,S23-3和S23-3’中,在“在接收到需反馈主引导记录的第二外部请求时”,先判断当前隐藏分区标识是否表示隐藏分区已解锁,如果是,修改待反馈主引导记录。
根据隐藏分区标识,S12、S13、S13’、S21、S23-3、S23-3’均可以独立地依据隐藏分区标识的内容自动判断是否符合执行条件,因此S12、S13、S13’、S21、S23-3、S23-3’均可设置为存储器控制器主控程序中的实时监控程序。
S11和S20及其替换步骤由外部触发,可设置为存储器控制器命令集中的触发命令。
可选地,在接收到存储器的重新上电的信号后,如果当前隐藏分区标识表示隐藏分区已解锁,则将当前隐藏分区标识修改为表示隐藏分区已设置但未解锁(将存储器复原为刚设置隐藏分区的状态)。
或者,上述“将当前隐藏分区标识修改为表示隐藏分区已设置但未解锁”包括:将当前隐藏分区标识修改为表示隐藏分区已设置但未解锁,发送预设指令。
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求,触发S21和S23-3或S23-3’执行。
此时,当客户端或存储器所在的系统或BIOS向存储器发送第一外部请求,则存储器执行S12,当客户端或存储器所在的系统或BIOS向存储器发送第二外部请求,则存储器执行S13或S13’。
可选地,S13’还可以替换为S13’-1如下:
S13’-1:当检测到隐藏分区标识从表示隐藏分区未设置或从表示隐藏分区已解锁变更为表示隐藏分区已设置但未解锁,则将存储器的主引导记录中公开分区表以外的其他分区表的信息消除;在接收到需反馈主引导记录的第二外部请求时,反馈主引导记录。
基于隐藏分区标识,在S24中,“判断已解锁的隐藏分区是否是第一个隐藏分区”可以通过隐藏分区标识的内容来判断,例如当隐藏分区标识的值≥2时,已解锁的隐藏分区不是第一个隐藏分区。
(2)设置隐藏分区第一标识和隐藏分区第二标识
为了便于存储器实时获取隐藏分区的不同状态信息,存储器可以设置隐藏分区第一标识和隐藏分区第二标识,隐藏分区第一标识用于标识隐藏分区已设置,隐藏分区第二标识用于标识隐藏分区未解锁和不同的隐藏分区已解锁,隐藏分区第一标识还用于标识隐藏分区未设置。
例如,当隐藏分区第一标识的值为“-1”表示隐藏分区未设置;当隐藏分区第一标识的值为“0”表示隐藏分区已设置,当隐藏分区第二标识的值为“0”表示隐藏分区未解锁,当隐藏分区标识的值为“X”表示第X个隐藏分区已解锁,当隐藏分区标识的值为“Y+N”表示前Y个隐藏分区已解锁。
基于隐藏分区第一标识和隐藏分区第二标识,S20的内容可以替换为S20-2如下:
S20-2:在接收到解锁隐藏分区对应的触发信号时,如果当前隐藏分区第一标识表示隐藏分区已设置,判断当前隐藏分区第二标识是否表示触发信号对应的隐藏分区已解锁,如果否,修改当前隐藏分区第二标识为表示触发信号对应的隐藏分区已解锁;
或者,S20-2中,“修改当前隐藏分区第二标识为表示触发信号对应的隐藏分区已解锁”包括:修改当前隐藏分区第二标识为表示触发信号对应的隐藏分区已解锁,发送预设指令。
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求,触发S21和S23-3或S23-3’执行。
不同的隐藏分区的触发信号不同,当接收到解锁第X个隐藏分区的触发信号时,先判断当前隐藏分区第一标识的值是否为“0”,如果是,继续判断判断当前隐藏分区第一标识的值是否为“X”,如果否,将当前隐藏分区第二标识的值设为“X”;当接收到解锁前Y个隐藏分区的触发信号时,先判断当前隐藏分区第一标识的值是否为“0”,如果是,继续判断判断当前隐藏分区第一标识的值是否为“Y+N”,如果否,将当前隐藏分区第二标识的值设为“Y+N”。
同样地,基于隐藏分区第一标识和隐藏分区第二标识,S11的内容可以替换为S11-2如下:
S11-2:接收值M值或N值,M值或N值用于指示将M+N个分区中的后N个分区设置为隐藏分区,修改当前隐藏分区第一标识为表示隐藏分区已设置,修改当前隐藏分区第二标识为表示隐藏分区未解锁;
即S11-2,将隐藏分区第一标识设为“0”,将隐藏分区第二标识设为“0”。
相应地,S21中,在“在接收到需反馈总容量的第一外部请求时”,先判断当前隐藏分区第一标识是否表示隐藏分区已设置且当前隐藏分区第二标识是否表示隐藏分区已解锁,如果是,再修改待反馈容量信息;相应地,S23-1和S23-1’中,在“在接收到需反馈主引导记录的第二外部请求时”,先判断当前隐藏分区第一标识是否表示隐藏分区已设置且当前隐藏分区第二标识是否表示隐藏分区已解锁,如果是,修改待反馈主引导记录。
根据隐藏分区第一标识和隐藏分区第二标识,S12、S13、S13’、S21、S23-3、S23-3’均可以依据隐藏分区第一标识和隐藏分区第二标识的内容自动判断是否符合执行条件。
可选地,在接收到存储器的重新上电的信号后,如果当前隐藏分区第一标识表示隐藏分区已设置且当前隐藏分区第二标识表示隐藏分区已解锁,则修改当前隐藏分区第二标识为表示隐藏分区未解锁。
或者,上述“修改当前隐藏分区第二标识为表示隐藏分区未解锁”包括:修改当前隐藏分区第二标识为表示隐藏分区未解锁,发送预设指令。
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求,触发S21和S23-3或S23-3’执行。
此时,当客户端/存储器所在的系统或BIOS向存储器发送第一外部请求,则存储器执行S12,当客户端/存储器所在的系统或BIOS向存储器发送第二外部请求,则存储器执行S13或S13’。
可选地,S13’还可以替换为S13’-2如下:
S13’-2:当检测到隐藏分区第一标识从表示隐藏分区未设置变为表示隐藏分区已设置或隐藏分区第二标识从表示隐藏分区已解锁变为隐藏分区未解锁,则将存储器的主引导记录中除公开分区表以外的其他分区表的信息消除;在接收到需反馈主引导记录的第二外部请求时,反馈主引导记录。
基于隐藏分区第二标识,在S24中,“判断已解锁的隐藏分区是否是第一个隐藏分区”可以通过隐藏分区第二标识的内容来判断,例如当隐藏分区第二标识的值≥2时,已解锁的隐藏分区不是第一个隐藏分区。
实施例四
在另一个实施例中,本发明还提供一种非瞬时计算机可读存储介质,非瞬时计算机可读存储介质存储指令,指令在由存储器控制器执行时使得存储器控制器执行上述存储器的隐藏分区处理方法中的步骤。
在另一个实施例中,本发明还提供一种存储器的隐藏分区处理装置,包括存储器控制器和上述的非瞬时计算机可读存储介质。
当存储器包括多个公开分区和多个隐藏分区,如图5所示,存储器的隐藏分区处理装置包括:
第一接收模块:在接收到需反馈总容量的第一外部请求时,修改待反馈容量信息;
第二接收模块:在接收到需反馈主引导记录的第二外部请求时,修改待反馈馈主引导记录;
修改待反馈容量信息包括:将待反馈容量信息修改为所有公开分区和已解锁的隐藏分区的各分区容量之和;
修改待反馈主引导记录包括:如果已解锁的隐藏分区为任一隐藏分区,则将待反馈主引导记录中第一个隐藏分区的总扇区信息修改为已解锁的隐藏分区的总扇区信息,且将待反馈主引导记录中除第一个隐藏分区表以外的其他隐藏分区表信息消除;
和/或,修改待反馈主引导记录还包括:如果已解锁的隐藏分区为隐藏分区中的前连续多个隐藏分区,则将待反馈主引导记录中除前连续多个隐藏分区表以外的其他隐藏分区表信息消除。
或者,修改待反馈主引导记录包括:如果已解锁的隐藏分区为任一隐藏分区,则将存储器的主引导记录中第一个隐藏分区表的起始点信息修改为初始分区表中第一个隐藏分区对应的起始点信息,将主引导记录中第一个隐藏分区表的总扇区信息修改为初始分区表中已解锁的隐藏分区对应的总扇区信息,反馈主引导记录;
或者,修改待反馈主引导记录还包括:如果已解锁的隐藏分区为隐藏分区中的前连续多个隐藏分区,将存储器的主引导记录中前连续多个隐藏分区表的内容一一对应修改为初始分区表中前连续多个隐藏分区对应的内容,反馈主引导记录;
初始分区表为预先保存的、存储器未设置隐藏分区时对应的各分区表信息。
进一步地,该装置还包括:
解锁模块:在接收到解锁隐藏分区对应的触发信号时,如果触发信号对应的隐藏分区为已设置隐藏分区且当前触发信号对应的隐藏分区未解锁,解锁触发信号对应的隐藏分区。
存储器设置隐藏分区第一标识和隐藏分区第二标识,隐藏分区第一标识用于标识隐藏分区已设置,隐藏分区第二标识用于标识隐藏分区未解锁和不同的隐藏分区已解锁;
如果触发信号对应的隐藏分区为已设置隐藏分区且当前触发信号对应的隐藏分区未解锁,解锁触发信号对应的隐藏分区包括:如果当前隐藏分区第一标识表示隐藏分区已设置,判断当前隐藏分区第二标识是否表示触发信号对应的隐藏分区已解锁,如果否,修改当前隐藏分区第二标识为表示触发信号对应的隐藏分区已解锁;
具体地,第一接收模块包括:在接收到需反馈总容量的第一外部请求时,判断当前隐藏分区第一标识是否表示隐藏分区已设置且当前隐藏分区第二标识是否表示隐藏分区已解锁,如果是,修改待反馈容量信息;
具体地,第二接收模块包括;在接收到需反馈主引导记录的第二外部请求时,判断当前隐藏分区第一标识是否表示隐藏分区已设置且当前隐藏分区第二标识是否表示隐藏分区已解锁,如果是,修改待反馈主引导记录。
存储器设置隐藏分区标识,隐藏分区标识用于标识隐藏分区已设置但未解锁和不同的隐藏分区已解锁;
如果触发信号对应的隐藏分区为已设置隐藏分区且当前触发信号对应的隐藏分区未解锁,解锁触发信号对应的隐藏分区包括:判断当前隐藏分区标识是否表示触发信号对应的隐藏分区已解锁,如果否,修改当前隐藏分区标识为表示触发信号对应的隐藏分区已解锁;
具体地,第一接收模块包括:在接收到需反馈总容量的第一外部请求时,判断当前隐藏分区标识是否表示隐藏分区已解锁,如果是,修改待反馈容量信息;
具体地,第二接收模块包括;在接收到需反馈主引导记录的第二外部请求时,判断当前隐藏分区标识是否表示隐藏分区已解锁,如果是,修改待反馈主引导记录。
进一步地,该装置还包括:
读写地址修改模块:当接收到对已解锁的隐藏分区的读写操作且已解锁的隐藏分区为任一隐藏分区时,判断已解锁的隐藏分区是否是第一个隐藏分区,如果否,在执行读写操作之前,将读写操作的地址修改为地址和偏移量的和,偏移量为已解锁的隐藏分区对应的起始点信息与初始分区表中第一个隐藏分区对应的起始点信息之差。
进一步地,该装置包括:
重新上电模块:在接收到存储器的重新上电的信号后,如果当前隐藏分区第一标识表示隐藏分区已设置且当前隐藏分区第二标识表示隐藏分区已解锁,则修改当前隐藏分区第二标识为表示隐藏分区未解锁;
修改待反馈容量信息还包括:如果当前隐藏分区第一标识表示隐藏分区已设置且当前隐藏分区第二标识表示隐藏分区未解锁,则将待反馈容量信息修改为所有公开分区容量之和;
修改待反馈主引导记录进一步包括:如果当前隐藏分区第一标识表示隐藏分区已设置且当前隐藏分区第二标识表示隐藏分区未解锁,则将待反馈分区表中除公开分区表以外的其他分区表的信息消除;
隐藏分区第一标识还用于标识表示隐藏分区未设置;
或者,第二接收模块进一步包括:当检测到隐藏分区第一标识从表示隐藏分区未设置变为表示隐藏分区已设置或隐藏分区第二标识从表示隐藏分区已解锁变为隐藏分区未解锁,则将存储器的主引导记录中除公开分区表以外的其他分区表的信息消除;在接收到需反馈主引导记录的第二外部请求时,反馈主引导记录。
进一步地,该装置包括:
重新上电模块:在接收到存储器的重新上电的信号后,如果当前隐藏分区标识表示隐藏分区已解锁,则将当前隐藏分区标识修改为表示隐藏分区已设置但未解锁;
修改待反馈容量信息还包括:如果当前隐藏分区标识表示隐藏分区已设置但未解锁,将待反馈容量信息修改为所有公开分区容量之和;
修改待反馈主引导记录进一步包括:如果当前隐藏分区标识表示隐藏分区已设置但未解锁,则将待反馈分区表中除公开分区表以外的其他分区表的信息消除;
隐藏分区标识还用于标识隐藏分区未设置;
或者,第二接收模块进一步包括:当检测到隐藏分区标识从表示隐藏分区未设置或从表示隐藏分区已解锁变更为表示隐藏分区已设置但未解锁,则将存储器的主引导记录中公开分区表以外的其他分区表的信息消除;在接收到需反馈主引导记录的第二外部请求时,反馈主引导记录。
可选地,解锁模块中,解锁触发信号对应的隐藏分区,进一步包括:发送预设指令;
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求。
可选地,重新上电模块中,将当前隐藏分区第二标识修改为表示隐藏分区未解锁或将当前隐藏分区标识修改为表示隐藏分区已设置但未解锁,进一步包括:发送预设指令;
预设指令用于触发存储器所在的系统或BIOS执行:向存储器发送第一外部请求和第二外部请求。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (14)
1.一种存储器的隐藏分区处理方法,所述存储器包括多个公开分区和多个隐藏分区,其特征在于,所述方法包括:
在接收到需反馈总容量的第一外部请求时,修改待反馈容量信息;
在接收到需反馈主引导记录的第二外部请求时,修改待反馈主引导记录;
所述修改待反馈容量信息包括:将所述待反馈容量信息修改为所有所述公开分区和已解锁的隐藏分区的各分区容量之和;
所述修改待反馈主引导记录包括:如果所述已解锁的隐藏分区为任一隐藏分区,则将所述待反馈主引导记录中第一个隐藏分区的总扇区信息修改为已解锁的隐藏分区的总扇区信息,且将所述待反馈主引导记录中除第一个隐藏分区表以外的其他隐藏分区表信息消除;
和/或,所述修改待反馈主引导记录还包括:如果所述已解锁的隐藏分区为所述隐藏分区中的前连续多个隐藏分区,则将所述待反馈主引导记录中除所述前连续多个隐藏分区表以外的其他隐藏分区表信息消除。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
或者,所述修改待反馈主引导记录包括:如果所述已解锁的隐藏分区为任一隐藏分区,则将所述存储器的主引导记录中第一个隐藏分区表的起始点信息修改为初始分区表中第一个隐藏分区对应的起始点信息,将所述主引导记录中第一个隐藏分区表的总扇区信息修改为初始分区表中已解锁的隐藏分区对应的总扇区信息,反馈所述主引导记录;
或者,所述修改待反馈主引导记录还包括:如果所述已解锁的隐藏分区为所述隐藏分区中的前连续多个隐藏分区,将所述存储器的主引导记录中前连续多个隐藏分区表的内容一一对应修改为初始分区表中所述前连续多个隐藏分区对应的内容,反馈所述主引导记录;
所述初始分区表为预先保存的、所述存储器未设置隐藏分区时对应的各分区表信息。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在接收到解锁隐藏分区对应的触发信号时,如果所述触发信号对应的隐藏分区为已设置隐藏分区且当前所述触发信号对应的隐藏分区未解锁,解锁所述触发信号对应的隐藏分区。
4.根据权利要求3所述的方法,其特征在于,所述存储器设置隐藏分区第一标识和隐藏分区第二标识,所述隐藏分区第一标识用于标识隐藏分区已设置,所述隐藏分区第二标识用于标识隐藏分区未解锁和不同的隐藏分区已解锁;
所述如果所述触发信号对应的隐藏分区为已设置隐藏分区且当前所述触发信号对应的隐藏分区未解锁,解锁所述触发信号对应的隐藏分区包括:如果当前所述隐藏分区第一标识表示隐藏分区已设置,判断当前所述隐藏分区第二标识是否表示所述触发信号对应的隐藏分区已解锁,如果否,修改当前所述隐藏分区第二标识为表示所述触发信号对应的隐藏分区已解锁;
所述在接收到需反馈总容量的第一外部请求时,修改待反馈容量信息包括:在接收到需反馈总容量的第一外部请求时,判断当前所述隐藏分区第一标识是否表示隐藏分区已设置且当前所述隐藏分区第二标识是否表示隐藏分区已解锁,如果是,修改待反馈容量信息;
所述在接收到需反馈主引导记录的第二外部请求时,修改待反馈主引导记录包括;在接收到需反馈主引导记录的第二外部请求时,判断当前所述隐藏分区第一标识是否表示隐藏分区已设置且当前所述隐藏分区第二标识是否表示隐藏分区已解锁,如果是,修改待反馈主引导记录。
5.根据权利要求3所述的方法,其特征在于,所述存储器设置隐藏分区标识,所述隐藏分区标识用于标识隐藏分区已设置但未解锁和不同的隐藏分区已解锁;
所述如果所述触发信号对应的隐藏分区为已设置隐藏分区且当前所述触发信号对应的隐藏分区未解锁,解锁所述触发信号对应的隐藏分区包括:判断当前所述隐藏分区标识是否表示所述触发信号对应的隐藏分区已解锁,如果否,修改当前所述隐藏分区标识为表示所述触发信号对应的隐藏分区已解锁;
所述在接收到需反馈总容量的第一外部请求时,修改待反馈容量信息包括:在接收到需反馈总容量的第一外部请求时,判断当前所述隐藏分区标识是否表示隐藏分区已解锁,如果是,修改待反馈容量信息;
所述在接收到需反馈主引导记录的第二外部请求时,修改待反馈主引导记录包括;在接收到需反馈主引导记录的第二外部请求时,判断当前所述隐藏分区标识是否表示隐藏分区已解锁,如果是,修改待反馈主引导记录。
6.根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括:
当接收到对所述已解锁的隐藏分区的读写操作且所述已解锁的隐藏分区为任一隐藏分区时,判断所述已解锁的隐藏分区是否是第一个隐藏分区,如果否,在执行所述读写操作之前,将所述读写操作的地址修改为所述地址和偏移量的和,所述偏移量为已解锁的隐藏分区对应的起始点信息与初始分区表中第一个隐藏分区对应的起始点信息之差。
7.根据权利要求4所述的方法,其特征在于,所述方法进一步包括:
在接收到所述存储器的重新上电的信号后,如果当前所述隐藏分区第一标识表示隐藏分区已设置且当前所述隐藏分区第二标识表示隐藏分区已解锁,则修改当前所述隐藏分区第二标识为表示隐藏分区未解锁;
所述修改待反馈容量信息还包括:如果当前所述隐藏分区第一标识表示隐藏分区已设置且当前所述隐藏分区第二标识表示隐藏分区未解锁,则将待反馈容量信息修改为所有公开分区容量之和;
所述修改待反馈主引导记录还包括:如果当前所述隐藏分区第一标识表示隐藏分区已设置且当前所述隐藏分区第二标识表示隐藏分区未解锁,则将待反馈分区表中除公开分区表以外的其他分区表的信息消除;
所述隐藏分区第一标识还用于标识表示隐藏分区未设置;
或者,所述在接收到需反馈主引导记录的第二外部请求时,修改待反馈主引导记录进一步还包括:当检测到所述隐藏分区第一标识从表示隐藏分区未设置变为表示隐藏分区已设置或所述隐藏分区第二标识从表示隐藏分区已解锁变为隐藏分区未解锁,则将所述存储器的主引导记录中除公开分区表以外的其他分区表的信息消除;在接收到需反馈主引导记录的第二外部请求时,反馈主引导记录。
8.根据权利要求5所述的方法,其特征在于,所述方法进一步包括:
在接收到所述存储器的重新上电的信号后,如果当前所述隐藏分区标识表示隐藏分区已解锁,则将当前所述隐藏分区标识修改为表示隐藏分区已设置但未解锁;
所述修改待反馈容量信息还包括:如果当前所述隐藏分区标识表示隐藏分区已设置但未解锁,将待反馈容量信息修改为所有公开分区容量之和;
所述修改待反馈主引导记录还包括:如果当前所述隐藏分区标识表示隐藏分区已设置但未解锁,则将待反馈分区表中除公开分区表以外的其他分区表的信息消除;
所述隐藏分区标识还用于标识隐藏分区未设置;
或者,所述在接收到需反馈主引导记录的第二外部请求时,修改待反馈主引导记录还包括:当检测到所述隐藏分区标识从表示隐藏分区未设置或从表示隐藏分区已解锁变更为表示隐藏分区已设置但未解锁,则将所述存储器的主引导记录中公开分区表以外的其他分区表的信息消除;在接收到需反馈主引导记录的第二外部请求时,反馈主引导记录。
9.根据权利要求3所述的方法,其特征在于,
所述解锁所述触发信号对应的隐藏分区,进一步包括:发送预设指令;
所述预设指令用于触发所述存储器所在的系统或BIOS执行:向所述存储器发送所述第一外部请求和所述第二外部请求。
10.根据权利要求7所述的方法,其特征在于,
所述修改当前所述隐藏分区第二标识为表示隐藏分区未解锁,进一步包括:发送预设指令;
所述预设指令用于触发所述存储器所在的系统或BIOS执行:向所述存储器发送所述第一外部请求和所述第二外部请求。
11.根据权利要求8所述的方法,其特征在于,所述将当前所述隐藏分区标识修改为表示隐藏分区已设置但未解锁,进一步包括:发送预设指令;
所述预设指令用于触发所述存储器所在的系统或BIOS执行:向所述存储器发送所述第一外部请求和所述第二外部请求。
12.一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,其特征在于,所述指令在由存储器控制器执行时使得所述存储器控制器执行如权利要求1至11中任一所述的存储器的隐藏分区处理方法中的步骤。
13.一种存储器的隐藏分区处理装置,其特征在于,包括存储器控制器和如权利要求12所述的非瞬时计算机可读存储介质。
14.一种存储器的隐藏分区处理装置,所述存储器包括多个公开分区和多个隐藏分区,其特征在于,所述装置包括:
第一接收模块:在接收到需反馈总容量的第一外部请求时,修改待反馈容量信息;
第二接收模块:在接收到需反馈主引导记录的第二外部请求时,修改待反馈主引导记录;
所述修改待反馈容量信息包括:将所述待反馈容量信息修改为所有公开分区和已解锁的隐藏分区的各分区容量之和;
所述修改待反馈主引导记录包括:如果所述已解锁的隐藏分区为任一隐藏分区,则将所述待反馈主引导记录中第一个隐藏分区的总扇区信息修改为已解锁的隐藏分区的总扇区信息,且将所述待反馈主引导记录中除第一个隐藏分区表以外的其他隐藏分区表信息消除;
和/或,所述修改待反馈主引导记录还包括:如果所述已解锁的隐藏分区为所述隐藏分区中的前连续多个隐藏分区,则将所述待反馈主引导记录中除所述前连续多个隐藏分区表以外的其他隐藏分区表信息消除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910799461.2A CN111338563B (zh) | 2019-08-28 | 2019-08-28 | 存储器的隐藏分区处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910799461.2A CN111338563B (zh) | 2019-08-28 | 2019-08-28 | 存储器的隐藏分区处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111338563A CN111338563A (zh) | 2020-06-26 |
CN111338563B true CN111338563B (zh) | 2023-04-28 |
Family
ID=71183533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910799461.2A Active CN111338563B (zh) | 2019-08-28 | 2019-08-28 | 存储器的隐藏分区处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111338563B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535603B (zh) * | 2021-06-22 | 2023-06-13 | 杭州华澜微电子股份有限公司 | 一种数据隐藏分区的实现方法 |
CN114491651B (zh) * | 2022-04-18 | 2022-07-05 | 深圳佰维存储科技股份有限公司 | 文件系统保护方法、装置、可读存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009447A (zh) * | 2017-12-27 | 2018-05-08 | 湖南国科微电子股份有限公司 | 一种硬盘分区隐藏方法、装置及硬盘 |
CN109271813A (zh) * | 2018-10-26 | 2019-01-25 | 杭州华澜微电子股份有限公司 | 一种安全存储设备、移动存储系统以及安全存储方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7765394B2 (en) * | 2006-10-31 | 2010-07-27 | Dell Products, Lp | System and method for restoring a master boot record in association with accessing a hidden partition |
US7721078B2 (en) * | 2006-10-31 | 2010-05-18 | Dell Products, Lp | Method and system to dynamically boot to a non-visible partition |
-
2019
- 2019-08-28 CN CN201910799461.2A patent/CN111338563B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009447A (zh) * | 2017-12-27 | 2018-05-08 | 湖南国科微电子股份有限公司 | 一种硬盘分区隐藏方法、装置及硬盘 |
CN109271813A (zh) * | 2018-10-26 | 2019-01-25 | 杭州华澜微电子股份有限公司 | 一种安全存储设备、移动存储系统以及安全存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111338563A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111338563B (zh) | 存储器的隐藏分区处理方法和装置 | |
CN103699372B (zh) | 从中央存储装置引导计算机系统 | |
CN104881276A (zh) | 动态命令歧义消除 | |
JPH0869385A (ja) | イベント生成分配方式 | |
CN105589657A (zh) | 一种实现移动存储挂载的方法及装置 | |
CN107247636A (zh) | 一种固态硬盘中数据重建优化的方法及装置 | |
EP3951581A1 (en) | Data storage apparatus and method, and readable storage medium | |
CN110598428A (zh) | 一种基于Linux用户空间的USB设备管控系统 | |
CN103810440B (zh) | 存取系统及方法 | |
CN107423095B (zh) | 适配硬件的数据处理方法、装置、存储介质和计算机设备 | |
TW201331752A (zh) | 安全數碼卡熱插拔的檢測方法及檢測裝置 | |
US10944587B2 (en) | Event processing associated with a smart device | |
CN1357840A (zh) | 计算机保密系统 | |
EP0933767A1 (en) | Data recorder and data producing circuit | |
CN102541449B (zh) | 硬盘录像机预览通道快捷控制方法及其系统 | |
CN104407994A (zh) | 识别计算机插槽上插入的存储设备的方法及装置 | |
CN108008995A (zh) | 一种基于调用类型的等待组件实现方法及装置 | |
CN100371917C (zh) | 内建于硬件装置的驱动程序的安装方法 | |
CN104837064B (zh) | 开放式操作系统的媒体播放器的控制方法及媒体播放器 | |
CN107688517A (zh) | Wpf程序卡顿检测方法和装置 | |
CN107526814A (zh) | 移动终端文件存储方法及装置 | |
CN107170451A (zh) | 语音信号处理方法及装置 | |
CN104166583B (zh) | 一种基于移动设备虚拟化环境的数据存储方法及装置 | |
CN107229422B (zh) | 数据处理方法和装置 | |
CN108509252A (zh) | 虚拟机启动装置、方法及主机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |