CN116893783A - 操作系统数据管理方法、装置、固态硬盘和存储介质 - Google Patents

操作系统数据管理方法、装置、固态硬盘和存储介质 Download PDF

Info

Publication number
CN116893783A
CN116893783A CN202310860062.9A CN202310860062A CN116893783A CN 116893783 A CN116893783 A CN 116893783A CN 202310860062 A CN202310860062 A CN 202310860062A CN 116893783 A CN116893783 A CN 116893783A
Authority
CN
China
Prior art keywords
operating system
system data
solid state
state disk
logical address
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
CN202310860062.9A
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.)
Chengdu Xinsheng Integrated Circuit Co ltd
Original Assignee
Chengdu Xinsheng Integrated Circuit 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 Chengdu Xinsheng Integrated Circuit Co ltd filed Critical Chengdu Xinsheng Integrated Circuit Co ltd
Priority to CN202310860062.9A priority Critical patent/CN116893783A/zh
Publication of CN116893783A publication Critical patent/CN116893783A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及固态硬盘技术领域,提供一种操作系统数据管理方法、装置、固态硬盘和存储介质,所述方法包括:当固态硬盘上电时,判断固态硬盘中是否存在操作系统数据;若存在操作系统数据,则从固态硬盘中读取操作系统数据;将读取到的操作系统数据以物理地址连续的方式重新存储至第一预留区,能够提高固态硬盘作为系统盘时操作系统的加载速度和可靠性。

Description

操作系统数据管理方法、装置、固态硬盘和存储介质
技术领域
本发明涉及固态硬盘技术领域,具体而言,涉及一种操作系统数据管理方法、装置、固态硬盘和存储介质。
背景技术
固态硬盘凭借其出色的性能,在存储领域得到广泛应用。当固态硬盘作为系统盘时,如何对固态硬盘上的操作系统数据进行管理,以提升操作系统的加载速度对于用户来说十分重要。
发明内容
本发明的目的在于提供了一种操作系统数据管理方法、装置、固态硬盘和存储介质,其能够提高固态硬盘作为系统盘时操作系统的加载速度。
本发明的实施例可以这样实现:
第一方面,本发明提供一种操作系统数据管理方法,应用于固态硬盘,所述固态硬盘包括第一预留区,所述方法包括:
当所述固态硬盘上电时,判断所述固态硬盘中是否存在操作系统数据;
若存在所述操作系统数据,则从所述固态硬盘中读取所述操作系统数据;
将读取到的所述操作系统数据以物理地址连续的方式重新存储至所述第一预留区。
在可选的实施方式中,所述判断所述固态硬盘中是否存在操作系统数据的步骤包括:
获取第一逻辑地址;
判断地址映射表中是否存在与所述第一逻辑地址对应的物理地址;
若存在,则判定所述固态硬盘中存在所述操作系统数据;
若不存在,则判定所述固态硬盘中不存在所述操作系统数据;
其中,所述第一逻辑地址为分区表对应的逻辑地址。
在可选的实施方式中,所述若存在所述操作系统数据,则从所述固态硬盘中读取所述操作系统数据的步骤包括:
获取第二逻辑地址;
从所述地址映射表中找到与所述第二逻辑地址对应的物理地址;
根据所述第二逻辑地址对应的物理地址,从所述固态硬盘中读取所述操作系统数据;
其中,所述第二逻辑地址为所述操作系统数据对应的逻辑地址区间。
在可选的实施方式中,所述固态硬盘还包括第二预留区和固件区,所述第二预留区存储有分区表,所述分区表包括所述第二逻辑地址,所述固件区存储有标志位,所述标志位表征所述固件区是否存储有效的操作系统信息表,所述获取所述操作系统数据在所述逻辑空间中的第二逻辑地址的步骤包括:
若所述标志位表征所述固件区存储有效的操作系统信息表,则从所述固件区的所述操作系统信息表中获取所述第二逻辑地址。
在可选的实施方式中,所述获取操作系统数据在所述逻辑空间中的第二逻辑地址的步骤还包括:
若所述标志位表征所述固件区未存储有效的操作系统信息表,则从第二预留区中读取所述分区表;
从所述分区表中获取所述第二逻辑地址、并将所述第二逻辑地址写入至操作系统信息表,并更新所述标志位,使得更新后的标志位表征所述固件区存储有效的操作系统信息表、以基于所述更新后的标志位,从所述固件区的所述操作系统信息表中获取所述第二逻辑地址。
在可选的实施方式中,所述将读取到的所述操作系统数据以物理地址连续的方式重新存储至所述第一预留区的步骤包括:
依次读取所述逻辑地址区间对应的所述操作系统数据,并将读取的所述操作系统数据以物理地址连续的方式存储至所述第一预留区。
在可选的实施方式中,所述第一预留区包括多个数据块,所述方法还包括:
对当前处于所述第一预留区的第一数据块中的操作系统数据进行校验,得到数据错误率;
若所述数据错误率大于预设值,则从所述第一预留区中确定第二数据块;
将所述操作系统数据从所述第一数据块整体搬移至所述第二数据块。
第二方面,本发明提供一种操作系统数据管理装置,应用于固态硬盘,所述固态硬盘包括第一预留区,所述装置包括:
判断模块,用于当所述固态硬盘上电时,判断所述固态硬盘中是否存在操作系统数据;
读取模块,用于若存在所述操作系统数据,则从所述固态硬盘中读取所述操作系统数据;
存储模块,用于将读取到的所述操作系统数据以物理地址连续的方式重新存储至所述第一预留区。
第三方面,本发明提供一种固态硬盘,包括主控芯片和闪存芯片,所述闪存芯片用于存储程序,所述主控芯片用于在执行所述程序时,实现前述实施方式中任一项所述的操作系统数据管理方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被主控芯片执行时,实现前述实施方式中任一项所述的操作系统数据管理方法。
与现有技术相比,本发明在固态硬盘上电时,判断固态硬盘中是否存在操作系统数据,若存在操作系统数据,则将操作系统数据以物理地址连续的方式重新存储至固态硬盘的第一预留区。本发明通过在固态硬盘上电时,识别固态硬盘中的操作系统数据,并将操作系统数据以物理地址连续的方式进行重新存储,能够有效提高操作系统数据的访问性能,进而提高固态硬盘作为系统盘时操作系统的加载速度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本实施例提供的逻辑地址和物理地址之间对应关系的示例图。
图2为本实施例提供的操作系统数据管理方法的流程示例图一。
图3为本实施例提供的MBR格式的分区表示例图。
图4为本实施例提供的GPT格式的分区表示例图。
图5为本发明实施例提供的操作系统数据连续存储的示例图。
图6为本发明实施例提供的操作系统数据管理装置的方框示意图。
图7为本实施例提供的固态硬盘的方框示意图。
图标:10-固态硬盘;11-主控芯片;12-闪存芯片;100-操作系统数据管理装置;110-判断模块;120-读取模块;130-存储模块;140-校验模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
固态硬盘的存储空间对于使用者而言是虚拟空间,虚拟空间是一个逻辑空间,逻辑空间是连续,表征逻辑空间中的位置的地址称为逻辑地址,例如,一块固态硬盘的容量为100GB,则其逻辑地址的范围为0GB~100GB-1B,而真正存储数据的是物理空间,表征物理空间中的位置的地址称为物理地址,当有数据写入时,固态硬盘通常会记录一个表征逻辑地址和物理地址之间对应关系的地址映射表,根据地址映射表,可以在读数据时找到与待读数据的逻辑地址对应的物理地址,根据物理地址读取待读数据。
虽然逻辑地址是连续的,但是物理地址不一定也是连续的,请参照图1,图1为本实施例提供的逻辑地址和物理地址之间对应关系的示例图,逻辑地址为0B的物理地址为10B,逻辑地址为10B的物理地址为100B。发明人经过仔细研究发现,如果将逻辑地址连续的操作系统数据以连续方式存储,则能够保证操作系统数据的并发访问,进而提高操作系统数据的访问性能,而如何准确、快速地识别固态硬盘中的操作系统数据成为其最大的技术障碍,发明人对操作系统数据的存储和组织方式进行了进一步研究,终于克服了这一障碍,提出了一种操作系统数据管理方法、装置、固态硬盘和存储介质,其可以准确、快速地识别固态硬盘中的操作系统数据,并将其以连续方式存储,有效地提高了操作系统数据的访问性能,进而提高了固态硬盘作为系统盘时操作系统的加载速度,下面将对其进行详细描述。
请参考图2,图2为本实施例提供的操作系统数据管理方法的流程示例图一,该方法包括以下步骤:
步骤S101,当固态硬盘上电时,判断固态硬盘中是否存在操作系统数据。
在本实施例中,固态硬盘可以作为系统盘,也可以不作为系统盘,当作为系统盘时,其中存储有操作系统数据,否则,则未存储有操作系统数据,当然,若操作系统数据被破坏,也会判定为固态硬盘中不存在操作系统数据。
在本实施例中,为了不影响固态硬盘本身的性能,作为一种实现方式,在判断固态硬盘中是否存在操作系统数据之前可以先识别固态硬盘的CPU是否空闲,若空闲,再判断固态硬盘中是否存在操作系统数据,否则,等待预设时长后再次判断CPU是否空闲,直至CPU空闲时再判断固态硬盘中是否存在操作系统数据。作为一种判断CPU是否空闲的实现方式,若CPU未正在处理操作系统发起的命令,则判定CPU空闲,否则,判定CPU不空闲。
步骤S102,若存在操作系统数据,则从固态硬盘中读取操作系统数据。
步骤S103,将读取到的操作系统数据以物理地址连续的方式重新存储至第一预留区。
在本实施例中,第一预留区是从固态硬盘的NAND芯片中专门划出的一个区域,该区域对于固态硬盘的使用者是不可见的,也不会用于存储用户的业务数据,操作系统数据在第一预留区中的物理地址是连续的。
需要说明的是,若不存在操作系统数据,则意味着固态硬盘没有作为系统盘,则按照正常存储数据的硬盘使用即可。
本实施例提供的上述方法,通过在固态硬盘上电时,识别固态硬盘中的操作系统数据,并将操作系统数据以物理地址连续的方式进行重新存储,能够有效提高操作系统数据的访问性能,进而提高固态硬盘作为系统盘时操作系统的加载速度。
在可选的实施方式中,固态硬盘的分区表是支持固态硬盘正常工作的骨架,操作系统正是通过分区表将固态硬盘划分为若干个分区,然后再在每个分区中创建文件系统,写入数据文件。与存储分区表的物理空间的物理地址对应的逻辑地址是预先设定的、是固定的,基于第一逻辑地址,本实施例提供了一种判断固态硬盘中是否存在操作系统数据的实现方式:
获取第一逻辑地址;
判断地址映射表中是否存在与第一逻辑地址对应的物理地址;若存在,则判定固态硬盘中存在操作系统数据;若不存在,则判定固态硬盘中不存在操作系统数据;其中,第一逻辑地址为分区表对应的逻辑地址。
在本实施例中,地址映射表表征固态硬盘的逻辑空间的逻辑地址和对应的实际存储数据的物理空间的物理地址之间的映射关系。
在本实施例中,当有数据写入时,就会将请求该数据的逻辑地址与实际写入的物理空间中的物理地址之间的对应关系更新至地址映射表,也就是说,若映射表中不存在与第一逻辑地址对应的物理地址,则意味着该第一逻辑地址对应的物理地址的物理空间中未写入数据,即固态硬盘中未写入分区表,固态硬盘中没有安装操作系统,也就不可能有操作系统数据。
在可选的实施方式中,本实施例还提供了一种存在操作系统数据时,从固态硬盘中读取操作系统数据的实现方式:
获取第二逻辑地址;从地址映射表中找到与第二逻辑地址对应的物理地址;根据第二逻辑地址对应的物理地址,从固态硬盘中读取操作系统数据;其中,第二逻辑地址为操作系统数据对应的逻辑地址区间。
在本实施例中,分区表位于固态硬盘的第二预留区,除了第二预留区,固态硬盘还包括固件区,第二逻辑地址可以记录在分区表中,也可以记录在固件区的操作系统信息表中,当固态硬盘上安装操作系统后首次上电时,第二逻辑地址只记录在分区表中,通过读取分区表获取第二逻辑地址,然后将第二逻辑地址信息记录在固件区中,作为一种实现方式,首次上电时,由于此时固件区中未存在操作系统信息表,可以先在固件区中创建操作系统信息表,再将第二逻辑地址信息记录在操作信息表中,后续在操作系统不重新安装的情况下,固态硬盘再次上电时可以从操作系统信息表中读取第二逻辑地址,若操作系统重新安装时,由于操作系统信息表已经存在,此时,不再需要创建操作系统信息表,只需要对操作系统信息表进行更新,将重新安装的操作系统的第二逻辑地址更新至操作系统信息表中。
在本实施例中,第二逻辑地址可以包括操作系统数据在逻辑空间中的开始逻辑地址和结束逻辑地址,由于操作系统数据在逻辑空间中的逻辑地址是连续的,根据开始逻辑地址和结束逻辑地址就可以从固态硬盘中识别出操作系统数据。
在可选的实施方式中,若固态硬盘上的操作系统重新安装后,固件区中的操作系统信息表在未同步更新之前是无效的,为了保证从固件区中读取有效的操作系统信息表,固件区还存储有标志位,标志位表征固件区是否存储有有效的操作系统信息表,获取第二逻辑地址的方式为:
若标志位表征固件区存储有有效的操作系统信息表,则从固件区的操作系统信息表中获取第二逻辑地址。
在本实施例中,若固件区未存储有有效的操作系统信息表,需要从第二预留区中读取分区表,并将分区表中的第二逻辑地址更新至固件区,一种实现方式为:
若标志位表征固件区未存储有效的操作系统信息表,则从第二预留区中读取分区表;
从分区表中获取第二逻辑地址、并将第二逻辑地址写入至操作系统信息表,并更新标志位,使得更新后的标志位表征固件区存储有效的操作系统信息表、以基于更新后的标志位,从固件区的所述操作系统信息表中获取第二逻辑地址。
由于分区表的格式不同,第二逻辑地址在分区表中的位置也不一样,因此,需要先识别分区表的格式,再根据格式从分区表中获取第二逻辑地址,将第二逻辑地址更新至操作系统信息表,将操作系统信息表的标志位更新为有效,以便根据操作系统信息表的标志位是否有效判定操作系统信息表中的数据是否有效,在判定操作系统信息表的标志位有效时,将操作系统信息表中的第二逻辑地址读出,根据第二逻辑地址和地址映射表获取对应的物理地址,再从第二逻辑地址对应的物理地址中读取操作系统数据。
一种识别实现方式为:根据地址映射表获取第一逻辑地址对应的物理地址,根据第一逻辑地址对应的物理地址从闪存中读取数据,并将其加载至缓存中进行检查,若读取的数据为全局唯一标识分区表GPT(Globally Unique Identifier Partition Table,GPT)格式或者主分区引导记录MBR(Master Boot Record,MBR)格式的数据,则判定固态硬盘中存在操作系统数据,否则判定固态硬盘中不存在操作系统数据。
请参照图3和图4,图3为本实施例提供的MBR格式的分区表示例图,图3中,MBR结尾标志存放的是固定的魔术字:55AA,根据这一魔术字可以判定是否为MBR分区,图3中的MBR分区表包括4个主分区,每个主分区记录了分区的类型、大小和分区开始、结束的位置等信息,其中,活动的主分区只有一个,且为操作系统所在的分区,活动的主分区的分区开始、结束的位置即是第二逻辑地址。
图4为本实施例提供的GPT格式的分区表示例图,图4中,GPT分区表头位置(总是在LBA1,LBA表示逻辑地址)和大小,也包含了备份分区表头和分区表的位置和大小信息(LBA-1~LBA-34),若分区表头和备份分区表头的内容是相同的,由此可以判定为GPT格式,GPT最多支持128个分区,每个分区对应一个Entry,Entry中存储了对应分区的类型、名称、分区开始、结束的位置,分区属性等,根据分区的属性可以得知哪一个分区是操作系统所在的分区,根据该分区的Entry可以得到其开始、结束的位置,即第二逻辑地址。
需要说明的是,若分区表既非MBR格式,也非GPT格式,则可能分区表被损坏,直接判定为固态硬盘中不存在操作系统数据,将固态硬盘作为普通的数据盘使用即可。
在可选的实施方式中,操作系统数据存储于固态硬盘中由第二逻辑地址确定的连续逻辑空间对应的物理空间中,第二逻辑地址包括起始逻辑地址和结束逻辑地址,将读取到的操作系统数据以物理地址连续的方式重新存储至第一预留区的实现方式为:
依次读取逻辑地址区间对应的操作系统数据,并将读取的操作系统数据以物理地址连续的方式存储至第一预留区。
在本实施例中,起始逻辑地址和结束逻辑地址之间的逻辑空间是连续的,但是该逻辑空间对应的物理空间可能是不连续的,为了最大程度地并发访问,将从不连续的物理空间中读取的操作系统数据以物理空间连续的方式连续存储至第一预留区,请参照图5,图5为本发明实施例提供的操作系统数据连续存储的示例图,图5中,操作系统数据所在的逻辑空间是连续的,在逻辑空间中的逻辑地址0B~2KB的位置,该逻辑地址对应的物理空间是不连续的,物理地址位于0B~4000B之间,将其存储至第一预留区后,其物理空间是连续的,在第一预留区中的物理地址为200MB+0B~200MB+2KB的位置。
需要说明的是,第一预留区中操作系统数据并非一成不变的,在操作系统的运行过程中,可能会导致原本在第一预留区中物理地址连续存储的操作系统数据变为不连续,因此,在固态硬盘下次上电时,仍然会将读取的操作系统数据以物理地址连续的方式存储至第一预留区。
在可选的实施方式中,为了加强操作系统数据的安全性,提升作为系统盘的固态硬盘的可靠性,本实施例还提供了一种实现方式:
首先,对当前处于第一预留区的第一数据块中的操作系统数据进行校验,得到数据错误率;
在本实施例中,第一预留区划分为多个数据块,操作系统数据当前所在的块为第一数据块,对第一数据块进行校验的时机可以是按照预设周期进行周期性校验,也可以是按照预先设定的校验时间进行校验,或者是按照设定的条件进行校验,例如,当第一数据块的擦些次数达到预设次数时启动校验等。
在本实施例中,可以采用低密度奇偶校验码LDPC(Low Density Parity CheckCode,LDPC)算法对操作系统数据进行效验,通过LDPC解码成功就认为操作系统数据是完整的,否则认为是不完整的。LDPC解码后会输出解码过程中产生的错误bit数,数据错误率=错误bit数/解码数据的bit数。
其次,若数据错误率大于预设值,则从第一预留区中确定第二数据块;
在本实施例中,预设值可以根据实际应用场景进行设置,为了满足可靠性要求,通常情况下,预设值设置为比LDPC算法的最大纠错能力值小的值。例如,预设值设置为:(100bit/2KB),即,若解码数据为2KB,若解码过程中发现的错误bit数大于100,则判定数据错误率大于预设值。解码过程中发现的错误bit数越多,之后无法解码的风险越高,为了及时降低无法解码的风险,将操作系统数据从第一数据块整体搬移至第二数据块。
最后,将操作系统数据从第一数据块整体搬移至第二数据块。
需要说明的是,搬移至第二数据块中的操作系统数据仍然以物理地址连续存储的方式存储,以保证搬移后的操作系统数据的访问性能。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种操作系统数据管理装置的实现方式。请参照图6,图6为本发明实施例提供的操作系统数据管理装置100的方框示意图。需要说明的是,本实施例所提供的操作系统数据管理装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。
操作系统数据管理装置100,应用于固态硬盘,固态硬盘包括第一预留区,操作系统数据管理装置100装置包括判断模块110、读取模块120、存储模块130及校验模块140。
判断模块110,用于当固态硬盘上电时,判断固态硬盘中是否存在操作系统数据;
读取模块120,用于若存在操作系统数据,则从固态硬盘中读取操作系统数据;
存储模块130,用于将读取到的操作系统数据以物理地址连续的方式重新存储至第一预留区。
在可选的实施方式中,判断模块110具体用于:获取第一逻辑地址;判断地址映射表中是否存在与第一逻辑地址对应的物理地址;若存在,则判定固态硬盘中存在操作系统数据;若不存在,则判定固态硬盘中不存在操作系统数据;其中,第一逻辑地址为分区表对应的逻辑地址。
在可选的实施方式中,读取模块120具体用于:获取第二逻辑地址;从地址映射表中找到与第二逻辑地址对应的物理地址;根据第二逻辑地址对应的物理地址,从固态硬盘中读取操作系统数据;其中,第二逻辑地址为操作系统数据对应的逻辑地址区间。
在可选的实施方式中,固态硬盘还包括第二预留区和固件区,第二预留区存储有分区表,分区表包括第二逻辑地址,固件区存储有标志位,标志位表征固件区是否存储有效的操作系统信息表,读取模块120在获取第二逻辑地址时具体用于:若标志位表征固件区存储有效的操作系统信息表,则从固件区的操作系统信息表中获取第二逻辑地址。
在可选的实施方式中,存储模块130在用于获取第二逻辑地址时还用于:
若标志位表征固件区未存储有效的操作系统信息表,则从第二预留区中读取分区表;
从所述分区表中获取所述第二逻辑地址、并将第二逻辑地址写入至操作系统信息表,并更新标志位,使得更新后的标志位表征固件区存储有效的操作系统信息表、以基于更新后的标志位,从固件区的所述操作系统信息表中获取第二逻辑地址。
在可选的实施方式中,存储模块130具体用于:依次读取逻辑地址区间对应的操作系统数据,并将读取的操作系统数据以物理地址连续的方式存储至第一预留区。
在可选的实施方式中,第一预留区包括多个数据块,校验模块140用于:对当前处于第一预留区的第一数据块中的操作系统数据进行校验,得到数据错误率;若数据错误率大于预设值,则从第一预留区中确定第二数据块;将操作系统数据从第一数据块整体搬移至第二数据块。
本实施例还提供了图1中固态硬盘10的方框示意图,请参照图7,图7为本实施例提供的固态硬盘10的方框示意图,固态硬盘10包括主控芯片11、闪存芯片12、主控芯片11和闪存芯片12电连接。
主控芯片11可能是一种集成电路芯片,具有信号的处理能力,负责控制对闪存芯片的识别和读写,主控芯片11几乎完成了固态磁盘中涉及的所有控制指令操作和数据读写操作。在实现过程中,上述方法的各步骤可以通过主控芯片11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的主控芯片11可包括中央处理器(Central ProcessingUnit,简称CPU)、嵌入式处理器等;还可以是专用集成电路(ASIC)或者其它可编程逻辑器件等。
闪存芯片12用于存储程序,例如本实施例中的操作系统数据管理装置100,操作系统数据管理装置100均包括至少一个可以软件或固件(firmware)的形式存储于闪存芯片12中的软件功能模块,主控芯片11在接收到执行指令后,执行程序以实现本发明实施例中的操作系统数据管理方法。另外,闪存芯片12还为本实施例中的第二预留区、第一预留区、固件区提供存储空间。
闪存芯片12又称为NAND芯片,根据不同的架构可以分别SLC,MLC,TLC等。
另外,固态硬盘还可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非易失存储器(non-volatile memory)。可选地,这些存储器可以是内置于主控芯片11中的存储装置,也可以是独立于主控芯片11的存储装置。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被主控芯片执行时,实现前述实施方式中任一项的操作系统数据管理方法。
综上所述,本发明实施例提供了一种操作系统数据管理方法、装置、固态硬盘和存储介质,应用于固态硬盘,固态硬盘包括第一预留区,所述方法包括:当固态硬盘上电时,判断固态硬盘中是否存在操作系统数据;若存在操作系统数据,则从固态硬盘中读取操作系统数据;将读取到的操作系统数据以物理地址连续的方式重新存储至第一预留区。本发明实施例通过在固态硬盘上电时,识别固态硬盘中的操作系统数据,并将操作系统数据以物理地址连续的方式进行重新存储,能够有效提高操作系统数据的访问性能,进而提高固态硬盘作为系统盘时操作系统的加载速度,同时,本发明实施例通过对操作系统数据进行校验,在数据错误率大于预设值,则将其从第一预留区中一个数据块搬移至另一个数据块,有效避免了操作系统数据解码失败影响固态硬盘作为系统盘的可靠性的问题。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种操作系统数据管理方法,其特征在于,应用于固态硬盘,所述固态硬盘包括第一预留区,所述方法包括:
当所述固态硬盘上电时,判断所述固态硬盘中是否存在操作系统数据;
若存在所述操作系统数据,则从所述固态硬盘中读取所述操作系统数据;
将读取到的所述操作系统数据以物理地址连续方式重新存储至所述第一预留区。
2.如权利要求1所述的操作系统数据管理方法,其特征在于,所述判断所述固态硬盘中是否存在操作系统数据的步骤包括:
获取第一逻辑地址;
判断地址映射表中是否存在与所述第一逻辑地址对应的物理地址;
若存在,则判定所述固态硬盘中存在所述操作系统数据;
若不存在,则判定所述固态硬盘中不存在所述操作系统数据;
其中,所述第一逻辑地址为分区表对应的逻辑地址。
3.如权利要求1所述的操作系统数据管理方法,其特征在于,所述若存在所述操作系统数据,则从所述固态硬盘中读取所述操作系统数据的步骤包括:
获取第二逻辑地址;
从地址映射表中找到与所述第二逻辑地址对应的物理地址;
根据所述第二逻辑地址对应的物理地址,从所述固态硬盘中读取所述操作系统数据;
其中,所述第二逻辑地址为所述操作系统数据对应的逻辑地址区间。
4.如权利要求3所述的操作系统数据管理方法,其特征在于,所述固态硬盘还包括固件区,所述固件区存储有标志位,所述标志位表征所述固件区是否存储有效的操作系统信息表,所述获取第二逻辑地址的步骤包括:
若所述标志位表征所述固件区存储有效的操作系统信息表,则从所述固件区的所述操作系统信息表中获取所述第二逻辑地址。
5.如权利要求4所述的操作系统数据管理方法,其特征在于,所述固态硬盘还包括第二预留区,所述第二预留区存储有分区表,所述分区表包括所述第二逻辑地址,所述获取第二逻辑地址的步骤还包括:
若所述标志位表征所述固件区未存储有效的操作系统信息表,则从第二预留区中读取所述分区表;
从所述分区表中获取所述第二逻辑地址,并将所述第二逻辑地址写入至操作系统信息表,并更新所述标志位,使得更新后的标志位表征所述固件区存储有效的操作系统信息表,以基于所述更新后的标志位,从所述固件区的所述操作系统信息表中获取所述第二逻辑地址。
6.如权利要求3所述的操作系统数据管理方法,其特征在于,所述将读取到的所述操作系统数据以物理地址连续的方式重新存储至所述第一预留区的步骤包括:
依次读取所述逻辑地址区间对应的所述操作系统数据,并将读取的所述操作系统数据以物理地址连续的方式存储至所述第一预留区。
7.如权利要求1所述的操作系统数据管理方法,其特征在于,所述第一预留区包括多个数据块,所述方法还包括:
对当前处于所述第一预留区的第一数据块中的操作系统数据进行校验,得到数据错误率;
若所述数据错误率大于预设值,则从所述第一预留区中确定第二数据块;
将所述操作系统数据从所述第一数据块整体搬移至所述第二数据块。
8.一种操作系统数据管理装置,其特征在于,应用于固态硬盘,所述固态硬盘包括第一预留区,所述装置包括:
判断模块,用于当所述固态硬盘上电时,判断所述固态硬盘中是否存在操作系统数据;
读取模块,用于若存在所述操作系统数据,则从所述固态硬盘中读取所述操作系统数据;
存储模块,用于将读取到的所述操作系统数据以物理地址连续的方式重新存储至所述第一预留区。
9.一种固态硬盘,其特征在于,包括主控芯片和闪存芯片,所述闪存芯片用于存储程序,所述主控芯片用于在执行所述程序时,实现权利要求1-7中任一项所述的操作系统数据管理方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该计算机程序被主控芯片执行时,实现权利要求1-7中任一项所述的操作系统数据管理方法。
CN202310860062.9A 2023-07-13 2023-07-13 操作系统数据管理方法、装置、固态硬盘和存储介质 Pending CN116893783A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310860062.9A CN116893783A (zh) 2023-07-13 2023-07-13 操作系统数据管理方法、装置、固态硬盘和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310860062.9A CN116893783A (zh) 2023-07-13 2023-07-13 操作系统数据管理方法、装置、固态硬盘和存储介质

Publications (1)

Publication Number Publication Date
CN116893783A true CN116893783A (zh) 2023-10-17

Family

ID=88310392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310860062.9A Pending CN116893783A (zh) 2023-07-13 2023-07-13 操作系统数据管理方法、装置、固态硬盘和存储介质

Country Status (1)

Country Link
CN (1) CN116893783A (zh)

Similar Documents

Publication Publication Date Title
US11797191B2 (en) Systems and methods for storing data in SSD
JP4560408B2 (ja) 不揮発性記憶装置の制御方法
EP2329361B1 (en) Aggregation of write traffic to a data store
US8949512B2 (en) Trim token journaling
US8180955B2 (en) Computing systems and methods for managing flash memory device
US8312554B2 (en) Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus
JP5089385B2 (ja) フラッシュファイル・システム内での仮想アドレスから物理アドレスへの変換
US9053007B2 (en) Memory system, controller, and method for controlling memory system
US8707007B2 (en) Memory storage device, memory controller thereof, and method for automatically creating fill-file thereof
EP3633517B1 (en) Storage device and method of operating storage device
JP2007310636A (ja) データ記憶装置およびデータ記憶方法
JP2018073040A (ja) メモリシステム
CN109117383B (zh) 管理闪存模块的方法和闪存控制器
TW201230054A (en) System and method of data encoding
US20090083477A1 (en) Method and apparatus for formatting portable storage device
TWI657339B (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器
US20150089115A1 (en) Storage management system, storage management method, storage medium and information processing system
CN107562654B (zh) Io命令处理方法与装置
CN116893783A (zh) 操作系统数据管理方法、装置、固态硬盘和存储介质
CN107562639B (zh) 擦除块读请求处理方法与装置
KR101939361B1 (ko) 비휘발성 메모리를 이용한 로깅 방법
US11494112B2 (en) Storage device and accessing method for operation log thereof
CN113571121A (zh) 嵌入式设备NAND Flash的ECC码存储方法
CN113760195A (zh) 一种基于嵌入式的fatfs文件系统

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