CN115729439A - 数据管理方法、装置及固态硬盘 - Google Patents
数据管理方法、装置及固态硬盘 Download PDFInfo
- Publication number
- CN115729439A CN115729439A CN202111010504.8A CN202111010504A CN115729439A CN 115729439 A CN115729439 A CN 115729439A CN 202111010504 A CN202111010504 A CN 202111010504A CN 115729439 A CN115729439 A CN 115729439A
- Authority
- CN
- China
- Prior art keywords
- data
- storage area
- mapping table
- address
- mapping
- 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
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了固态硬盘及其数据管理方法和数据管理装置。固态硬盘的存储空间包括第一存储区域和第二存储区域,数据管理方法包括:建立第一映射表和第二映射表,第一映射表的索引为逻辑地址,内容为映射物理地址,映射物理地址至少包括索引标识,第二映射表的索引为索引标识,内容为物理块地址;在访问固态硬盘的存储器时获取用户数据的逻辑地址;根据逻辑地址查找第一映射表获得映射物理地址;根据索引标识查找第二映射表获得物理块地址;根据映射物理地址和物理块地址获得用户数据的物理地址;根据用户数据的物理地址对固态硬盘的相应存储空间进行数据访问操作;当数据访问操作为将用户数据由第一存储区域转存至第二存储区域时,更新第二映射表。
Description
技术领域
本申请涉及存储器领域,并且更具体地涉及一种数据管理方法、装置及固态硬盘。
背景技术
固态硬盘(SSD,Solid State Drive)是由控制器和存储芯片阵列组成的非挥发性数据存储装置。固态硬盘的存储介质包括闪存芯片或DRAM芯片。固态硬盘的接口可以兼容以磁盘作为存储介质的传统硬盘,与传统硬盘相比具有体积小、质量轻、功耗低、无机械噪声、读写速度快等优点,因此,已经广泛地用于替代传统硬盘,例如应用于笔记本电脑、工控、视频监控、网络监控、网络终端、导航设备等诸多领域。
随着NAND的工艺演进,从SLC到MLC,再到TLC,颗粒的可靠性以及性能在下降。在现有的SSD中,一般将部分物理块即转换为SLC模式,用来吸收主机(Host)新写入的数据,保持较高的写带宽,并在闲置时把数据从SLC搬移到MLC/TLC/QLC等空间去,以提升固态硬盘的可靠性。
由于固态硬盘的存储芯片数据读写依赖于物理特性,因此,现有的文件系统不能直接访问或操作存储芯片。固态硬盘的控制系统还包括附加的缓存芯片,例如SRAM芯片和DRAM芯片,用于存储L2P映射表。固态硬盘的控制器读取L2P映射表进行地址映射,将文件系统提供的逻辑地址转换成存储芯片的物理地址,从而实现对存储芯片的数据操作。
数据在写入闪存的过程中,为了保证数据的准确性,固态硬盘的固件需要实时更新映射表,映射表记录逻辑地址对应的闪存地址,闪存地址包括Block、Page、Die、Frag信息。固态硬盘的固件将数据写入到SLC模式的物理块需要更新一次映射表;当该数据从SLC搬移到被写入到MLC/TLC/QLC等空间时,需要再次更新映射表。因此主机写入一次数据,需要更新两次映射表,导致映射表的更新频率较高。
为了应对异常掉电的场景和限制于RAM的大小,映射表的数据也需要及时写入闪存中。当映射表的更新次数达到阈值时,就会触发映射表写入闪存中,影响固态硬盘的性能。
期望进一步改进存储器的数据写入方法以进一步减少映射表的更新次数以提高固态硬盘的寿命和性能。
发明内容
有鉴于此,本发明提供数据管理方法、装置及固态硬盘,以提高固态硬盘的寿命和性能。
根据本发明的第一方面,提供一种固态硬盘的数据管理方法,所述固态硬盘的存储空间包括第一存储区域和第二存储区域,所述数据管理方法包括:建立第一映射表和第二映射表,其中,第一映射表的索引为逻辑地址,内容为映射物理地址,所述映射物理地址至少包括索引标识,所述第二映射表的索引为所述索引标识,内容为物理块地址;在访问固态硬盘的存储器时,获取用户数据的逻辑地址;以所述逻辑地址作为索引查找第一映射表,以获得映射物理地址;以所述索引标识作为索引查找第二映射表,以获得物理块地址;根据映射物理地址和物理块地址以获得用户数据的物理地址;根据所述用户数据的物理地址对固态硬盘的相应存储空间进行数据访问操作;其中,当所述数据访问操作为在第一存储区域内写入用户数据时,更新所述第一映射表的映射物理地址和第二映射表;当所述数据访问操作为将所述用户数据由第一存储区域转存至第二存储区域时,更新所述第二映射表。
在一个实施例中,所述索引标识包括映射编号和逻辑块编号,所述映射物理地址还包括第一数据存储位置的物理页地址、通道号和数据单元的偏移地址。
在一个实施例中,所述第一存储区域包括多个第一数据块组,每个第一数据块组包括N个第一数据块,所述第二存储区域包括多个第二数据块,其中,N为大于1的整数,所述第二数据块的存储容量与所述第一数据块组的存储容量相同。
在一个实施例中,在第一存储区域内写入用户数据时更新所述第一映射表的映射物理地址和第二映射表包括:当检测到所述用户数据写入第一存储区域时,获取所述用户数据在第一存储区域的第一物理地址;根据第一物理地址更新所述第一映射表的映射物理地址和第二映射表。
在一个实施例中,所述用户数据由第一存储区域转存至第二存储区域时更新所述第二映射表包括:当检测到所述用户数据由第一存储区域转存至第二存储区域时,获取所述用户数据在第二存储区域的第二物理地址;根据所述第二物理地址,更新所述第二映射表以根据所述第二映射表和所述第一映射表对所述用户数据进行读取。
在一个实施例中,所述用户数据由第一存储区域转存至第二存储区域包括:检测所述第一数据块组中是否存在无效数据;当所述第一数据块组中不存在无效数据时,将所述第一数据块组中的有效数据同时转存至第二存储区域的第二数据块中。
在一个实施例中,在检测所述第一数据块组中是否存在无效数据之后还包括:当所述第一数据块组中存在无效数据,保留所述第一数据块组中的有效数据;当所述第一数据组中存在无效数据的第一数据块中写入有效数据时,将所述第一数据块组中的有效数据同时转存至第二存储区域的第二数据块中。
根据本发明的第二方面,提供一种固态硬盘的数据管理装置,所述固态硬盘的存储空间包括第一存储区域和第二存储区域,所述数据管理装置包括:映射表建立模块,用于建立第一映射表和第二映射表,其中,第一映射表的索引为逻辑地址,内容为映射物理地址,所述映射物理地址至少包括索引标识,所述第二映射表的索引为索引标识,内容为物理块地址;第一查找模块,用于在访问固态硬盘的存储器时以逻辑地址作为索引查找第一映射表,以获得映射物理地址;第二查找模块,用于在访问固态硬盘的存储器时以所述索引标识作为索引查找第二映射表,以获得物理块地址;地址获取模块,用于根据映射物理地址和物理块地址以获得用户数据的物理地址;操作模块,用于根据所述用户数据的物理地址对固态硬盘的相应存储空间进行数据访问操作;更新模块,用于当所述数据访问操作为在第一存储区域内写入用户数据时,更新所述第一映射表的映射物理地址和第二映射表;以及当所述数据访问操作为将所述用户数据由第一存储区域转存至第二存储区域时,更新所述第二映射表。
在一个实施例中,所述索引标识包括映射编号和逻辑块地址,所述映射物理地址还包括第一数据存储位置的物理页地址、通道号和数据单元的偏移地址。
在一个实施例中,所述第一存储区域包括多个第一数据块组,每个第一数据块组包括N个第一数据块,所述第二存储区域包括多个第二数据块,其中,N为大于1的整数,第二数据块的存储容量与第一数据块组的存储容量相同。
在一个实施例中,所述地址获取模块包括:第一地址获取单元,用于当检测到所述用户数据写入第一存储区域时,获取所述第一数据在第一存储区域的第一物理地址;第二地址获取单元,用于当检测到所述用户数据由第一存储区域转存至第二存储区域时,获取所述用户数据在第二存储区域的第二物理地址。
在一个实施例中,所述更新模块包括:第一更新单元,用于在检测到用户数据写入第一存储区域时更新所述第一映射表和所述第二映射表;第二更新模块,用于当检测到所述用户数据由第一存储区域转存至第二存储区域时更新所述第二映射表。
在一个实施例中,所述第二更新模块还用于检测到所述用户数据由第一存储区域转存至第二存储区域时更新所述第二映射表。
在一个实施例中,所述操作模块包括:检测单元,用于检测第一数据块组中是否存在无效数据;转移单元,用于当所述第一数据块组中不存在无效数据时,将所述第一数据块组中的有效数据同时转存至第二存储区域的第二数据块中。
根据本发明的第三方面,提供一种固态硬盘,所述固态硬盘使用上述所述的数据管理方法。
本发明提供的数据管理方法、装置及固态硬盘,以所述逻辑地址作为索引查找第一映射表以获得映射物理地址,根据映射物理地址中的索引标识对应的物理块地址得到用户数据的物理地址,在数据写入时,仅更新索引标识,减少映射表更新次数。
进一步地,用户数据从第一存储区域转存至第二存储区域时,仅更新第二映射表中索引标识以减少映射表更新次数,从而提高固态硬盘的寿命和性能。
进一步地,用户数据从从第一存储区域转存至第二存储区域之前,检测第一存储区域中的第一数据块组中是否存在无效数据,在不存在无效数据时,将第一数据块组中的所有数据一起转存至第二存储区域的第二数据块中,提高数据转存效率,以及数据转存的准确率。
附图说明
通过参照以下附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1示出根据本发明实施例的计算机系统的示意性框图。
图2示出根据本发明实施例的存储器的结构示意图。
图3示出根据本发明实施例的数据管理方法的流程图。
图4示出本发明实施例的第一映射表的示意图。
图5示出本发明实施例的第二映射表的示意图。
图6示出本发明实施例的第一映射表和第二映射表的更新示意图。
图7示出根据本发明实施例的步骤S107的流程图。
图8示出根据本发明实施例的数据管理装置的示意性框图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
附图中的流程图、框图图示了本发明实施例的系统、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个模块、程序段或仅仅是一段代码,所述模块、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的模块和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对发明本身的限制。
下文使用以下术语。
地址映射:逻辑地址到物理地址的映射,存储器控制系统的核心功能,这是许多其他模块的基础。
图1示出根据本发明实施例的计算机系统的示意性框图。计算机系统200包括主机110、控制系统120和存储器130。在下文以固态硬盘为例进行描述。固态硬盘例如包括图中所示的控制系统120和存储器130,存储器130的存储介质例如为闪存芯片阵列。
控制系统120的主机接口121连接至主机110,以接收数据操作指令。主机接口121例如是SATA、M.2、mSATA和PCI-E。处理器123与主机接口121、缓存控制器124和存储器控制器126相连接。控制系统120中的缓存芯片包括SRAM芯片125,例如存储L2P映射表。处理器123用于实现存储器控制的核心软件层,即FTL(Flash Translation Layer,闪存转换层),使得操作系统和文件系统能够像访问硬盘一样访问存储器。该FTL还有例如支持所有SLC(Single Level Cell,单层单元)、MLC(Multi-Level Cell,多层单元)、TLC(Trinary-LevelCell,三层单元)、QLC(Quad-Level Cell,四层单元)支持坏块管理、损耗均衡、垃圾回收、断电恢复、写平衡技术等特点。FTL的核心功能是地址映射,其中,处理器123经由缓存控制器124读取缓存芯片以获得L2P映射表,基于L2P映射表将从主机110接收到的逻辑地址映射成存储器130的物理地址。控制系统120的存储器控制器126连接至存储器130,根据处理器123提供的物理地址对存储器130的相应存储单元进行数据访问操作。
存储器130包括闪存芯片阵列。为了提高数据读写性能,控制系统120的存储器控制器126可以经由多个通道CH0和CH1对存储器130的闪存芯片进行读写。每个通道连接一组闪存芯片。每个闪存芯片包括多个物理块,每个物理块包括多个物理页。对闪存芯片的数据访问操作包括读、写和擦除。由于闪存芯片的物理特性,数据操作的基本单位例如是物理页,擦除操作的基本单位例如是物理块。
闪存芯片可以是nand型闪存或者nor闪存。闪存芯片用于通过其内形成的存储空间存储数据,存储空间是由多个相同类型的nand颗粒组成,nand颗粒有4种类型,分别是单层的SLC(Single Level Cell)、双层的MLC(Multi-Level Cell)、三层的TCL以及四层的QCL。一个SLC物理页可以存放1bit数据,一个MLC物理页可以存放2bit数据,一个TLC物理页可以存放3bit数据,一个QLC物理页可以存放4bit数据。
在主机110执行数据操作时,控制系统120从主机110接收到指令。控制系统120将指令中的逻辑地址映射成物理地址,该物理地址用于表征存储器130中的位置,包括通道、物理块和物理页等。在读取操作中,控制系统120以物理页为单位读取用户数据和元数据,以及基于用户数据和元数据获取与逻辑地址相对应的读取数据。在写入操作中,控制系统120将指令中的写入数据生成用户数据和元数据,然后以物理页为单位写入用户数据和元数据。元数据包括除用户数据外的数据,例如,上述的L2P映射表作为元数据的一部分也需要写入存储器130中,否则在控制系统120异常断电时,L2P映射表不可恢复。
请参阅图2,将存储器130分为第一存储区域130a和第二存储区域130b,第一存储区域130a的读写性能优于第二存储区域130b的读写性能,第二存储区域130b的存储性能优于第一存储区域130a的存储性能。
第一存储区域130a和第二存储区域130b均是由多个相同类型的nand颗粒组成。例如,存储器130由多个TLC组成,把其中部分TLC配置为SLC模型作为写缓存,被配置为SLC模式的TCL组成第一存储区域130a,其余未配置成SLC模式的TLC组成第二存储区域130b,但并不局限于此。
以下以第一存储区域130a为SLC模式的TLC为例进行说明,但并不局限于此。
图3示出根据本发明实施例的存储器数据管理方法的流程图。参见图2,存储器的控制系统120用于实现存储器控制的核心软件层,即FTL(Flash Translation Layer,闪存转换层),核心功能是地址映射。存储器130中存储有第一映射表和第二映射表。
该实施例的数据管理方法包括以下步骤。
在步骤S101中,建立第一映射表和第二映射表,其中,第一映射表的索引为逻辑地址,内容为映射物理地址,所述映射物理地址至少包括索引标识,所述第二映射表的索引为所述索引标识,内容为物理块地址。
在本实施例中,第一映射表的索引为逻辑地址LAA,内容为映射物理地址FAA参见图4,其中,FAA=Mapid+Loc+Page+Die+Frag,Mapid表示映射编号,Loc表示逻辑块编号,Page表示物理页地址,Die表示通道号,Frag表示数据单元的偏移地址,映射物理地址的索引标识包括映射编号Mapid和逻辑块编号Loc。需要说明的是,图4表中地址对应关系的条数仅为示意性的,实际不限于LAA1至LAA6这六条,图5同理。
参见图5,第二映射表的索引为索引标识,内容为物理块地址Block。
第一存储区域103a和第二存储区域103b内分别存储有第一映射表和相应的第二映射表。
在步骤S102中,在访问固态硬盘的存储器时,获取用户数据的逻辑地址。
在步骤S103中,以所述逻辑地址作为索引查找第一映射表,以获得映射物理地址。
在步骤S104中,以所述索引标识作为索引查找第二映射表,以获得物理块地址。
在步骤S105中,根据映射物理地址和物理块地址以获得用户数据的物理地址。
在本实施例中,根据第一映射表中得到物理页地址、通道号、数据单元的偏移地址以及从第二映射表中得到的物理块地址得到用户数据的实际物理地址。
在步骤S106中,当所述数据访问操作为在第一存储区域内写入用户数据时,更新所述第一映射表的映射物理地址和第二映射表。
在本实施例中,第一映射表可以包括原始数据的映射物理地址,原始数据可以是上一次写入的用户数据。当检测到用户数据写入第一存储区域130a内时,获取该用户数据在第一存储区域130a内的物理地址,即为第一物理地址,根据第一物理地址中的物理页地址、通道号、单元地址更新第一映射表当中记录的原始数据对应的映射物理地址中相应的物理页地址、通道号、数据单元的偏移地址;根据第一物理地址中的物理块地址更新第二映射表中的物理块地址。
在步骤S107中,当所述数据访问操作为将所述用户数据由第一存储区域转存至第二存储区域时,更新所述第二映射表。
在本实施例中,当检测到所述用户数据由第一存储区域130a转存至第二存储区域130b时,获取所述用户数据在第二存储区域130b的第二物理地址,根据第二物理地址中的物理块地址更新第二映射表中的物理块地址。
所述第一存储区域130a包括多个第一数据块组,每个第一数据块组包括N个第一数据块,所述第二存储区域130b包括多个第二数据块,其中,N为大于1的整数,第二数据块的存储容量与第一数据块组的存储容量相同。
例如,第一存储区域130a为SLC模式的TLC,则第一数据块组包括3个第一数据块,第二存储区域130b的第二数据块的存储容量与3个第一数据块的存储容量相同。因此,用户数据由第一存储区域转存至第二存储区域时,需要3个第一数据块的数据同时转存至到一个第二数据块中。
用户数据由第一存储区域转存至第二存储区域包括步骤S108-步骤S109,参见图6。
在步骤S108中,检测所述第一数据块组中是否存在无效数据。
在步骤S109中,当所述第一数据块组中不存在无效数据时,将所述第一数据块组中的有效数据同时转存至第二存储区域的第二数据块中。
在步骤S110中,当所述第一数据块组中存在无效数据,保留所述第一数据块组中的有效数据。
在步骤S111中,当所述第一数据组中存在无效数据的第一数据块中写入有效数据时,即第一数据组中不存在无效数据时,将所述第一数据块组中的有效数据同时转存至第二存储区域的第二数据块中。
现有技术中,在用户数据从第一存储区域转存至第二存储区域后,由于用户数据的实际物理地址发生改变,逻辑地址与物理地址的映射关系也发生改变,那么就需要更新第一映射表(L2P表)和第二映射表。通常在进行数据转存时是以block为单位进行的,导致更新第一映射表时更新的数据量较大,且在更新第一映射表时,需要进行存储器的读写操作,会影响固态硬盘SSD的性能。
本发明实施例提供的数据管理方法,在进行数据转存后不需要更新第一映射表(L2P表),只需更新第二映射表即可,更新的数据量减少到只有几个字节(byte),且第二映射表存储在SRAM芯片中,不涉及存储器的读写操作,对固态硬盘SSD的性能有较大提升。
本发明实施例提供的数据管理方法以所述逻辑地址作为索引查找第一映射表以获得映射物理地址,根据映射物理地址中的索引标识对应的物理块地址得到用户数据的物理地址,在数据写入时,仅更新索引标识,减少映射表更新次数。
进一步地,用户数据从第一存储区域转存至第二存储区域时,仅更新第二映射表中索引标识以减少映射表更新次数,从而提高固态硬盘的寿命和性能。
进一步地,用户数据从从第一存储区域转存至第二存储区域之前,检测第一存储区域中的第一数据块组中是否存在无效数据,在不存在无效数据时,将第一数据块组中的所有数据一起转存至第二存储区域的第二数据块中,提高数据转存效率,以及数据转存的准确率。
图7示出根据本发明实施例的存储器数据管理装置的示意性框图。
数据管理装置300包括映射表建立模块310、第一查找模块320、第二查找模块330、地址获取模块340、操作模块350和更新模块360。
其中,映射表建立模块310用于建立第一映射表和第二映射表,其中,第一映射表的索引为逻辑地址,内容为映射物理地址,所述映射物理地址至少包括索引标识;所述第二映射表的索引为索引标识,内容为物理块地址。
第一查找模块320用于在访问固态硬盘的存储器时以逻辑地址作为索引查找第一映射表,以获得映射物理地址。
第二查找模块330用于在访问固态硬盘的存储器时以所述索引标识作为索引查找第二映射表,以获得物理块地址。
地址获取模块340用于根据映射物理地址和物理块地址以获得用户数据的物理地址。
在本实施例中,所述地址获取模块包括第一地址获取单元341和第二地址获取单元342,第一地址获取单元341用于当检测到所述用户数据写入第一存储区域时,获取所述第一数据在第一存储区域的第一物理地址;第二地址获取单元342用于当检测到所述用户数据由第一存储区域转存至第二存储区域时,获取所述用户数据在第二存储区域的第二物理地址。
操作模块350用于根据所述用户数据的物理地址对固态硬盘的相应存储空间进行数据访问操作。
在本实施例中,所述操作模块350包括检测单元351和转移单元352,其中,所述检测单元351用于检测第一数据块组中是否存在无效数据;转移单元352用于当所述第一数据块组中不存在无效数据时,将所述第一数据块组中的有效数据同时转存至第二存储区域的第二数据块中。
更新模块360用于当所述数据访问操作为在第一存储区域内写入用户数据时,更新所述第一映射表的映射物理地址和第二映射表;以及当所述数据访问操作为将所述用户数据由第一存储区域转存至第二存储区域时,更新所述第二映射表。
在本实施例中,所述更新模块360包括第一更新单元361和第二更新单元362,第一更新单元361用于在检测到用户数据写入第一存储区域时更新所述第一映射表和所述第二映射表;第二更新模块362用于当检测到所述用户数据由第一存储区域转存至第二存储区域时更新所述第二映射表。
在访问固态硬盘的存储器时,第一查找模块320和第二查找模块330进行地址映射查找用户数据的物理块地址和映射物理地址。第一查找模块320以逻辑地址作为索引查找第一映射表以获得映射物理地址。第二查找模块330以索引标识作为索引查找第二映射表以获得用户数据的物理块地址。地址获取模块340用于根据映射物理地址和物理块地址以获得用户数据的物理地址。
在以页为单位的数据操作结束时,更新模块360分别进行第一映射表和第二映射表的更新。
当所述数据访问操作为在第一存储区域内写入用户数据时,更新所述第一映射表的映射物理地址和第二映射表;以及当所述数据访问操作为将所述用户数据由第一存储区域转存至第二存储区域时,更新所述第二映射表。
本发明实施例还提供一种固态硬盘,该固态硬盘中存储有计算机可执行程序,计算机可执行程序用于实现上述的数据管理方法。
在此所用的术语“模块”可以指代以下各项、作为以下各项的一部分或者包括以下各项:专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或群组)和/或存储器(共享、专用或群组)、组合逻辑电路和/或提供所描述的功能性的其他合适的组件。
本领域技术人员可以理解,根据本发明的数据处理系统的各个模块或单元可以通过硬件、固件或软件实现。软件例如包括采用JAVA、C/C++/C#、SQL等各种编程语言形成的编码程序。虽然在方法以及方法图例中给出本发明实施例的步骤以及步骤的顺序,但是所述步骤实现规定的逻辑功能的可执行指令可以重新组合,从而生成新的步骤。所述步骤的顺序也不应该仅仅局限于所述方法以及方法图例中的步骤顺序,可以根据功能的需要随时进行调整。例如将其中的某些步骤并行或按照相反顺序执行。
根据本发明的数据处理系统和方法可以部署在单个或多个服务器上。例如,可以将不同的模块分别部署在不同的服务器上,形成专用服务器。或者,可以在多个服务器上分布式部署相同的功能单元、模块或系统,以减轻负载压力。所述服务器包括但不限于在同一个局域网以及通过Internet连接的多个PC机、PC服务器、刀片机、超级计算机等。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种固态硬盘的数据管理方法,其特征在于,所述固态硬盘的存储空间包括第一存储区域和第二存储区域,所述数据管理方法包括:
建立第一映射表和第二映射表,其中,第一映射表的索引为逻辑地址,内容为映射物理地址,所述映射物理地址至少包括索引标识,所述第二映射表的索引为所述索引标识,内容为物理块地址;
在访问固态硬盘的存储器时,获取用户数据的逻辑地址;
以所述逻辑地址作为索引查找第一映射表,以获得映射物理地址;
以所述索引标识作为索引查找第二映射表,以获得物理块地址;
根据映射物理地址和物理块地址以获得用户数据的物理地址;
根据所述用户数据的物理地址对固态硬盘的相应存储空间进行数据访问操作;
其中,当所述数据访问操作为在第一存储区域内写入用户数据时,更新所述第一映射表的映射物理地址和第二映射表;
当所述数据访问操作为将所述用户数据由第一存储区域转存至第二存储区域时,更新所述第二映射表。
2.根据权利要求1所述的数据管理方法,其中,所述索引标识包括映射编号和逻辑块编号,所述映射物理地址还包括第一数据存储位置的物理页地址、通道号和数据单元的偏移地址。
3.根据权利要求1所述的数据管理方法,其中,所述第一存储区域包括多个第一数据块组,每个第一数据块组包括N个第一数据块,所述第二存储区域包括多个第二数据块,其中,N为大于1的整数,所述第二数据块的存储容量与所述第一数据块组的存储容量相同。
4.根据权利要求1所述的数据管理方法,其中,在第一存储区域内写入用户数据时更新所述第一映射表的映射物理地址和第二映射表包括:
当检测到所述用户数据写入第一存储区域时,获取所述用户数据在第一存储区域的第一物理地址;
根据第一物理地址更新所述第一映射表的映射物理地址和第二映射表。
5.根据权利要求1所述的数据管理方法,其中,所述用户数据由第一存储区域转存至第二存储区域时更新所述第二映射表包括:
当检测到所述用户数据由第一存储区域转存至第二存储区域时,获取所述用户数据在第二存储区域的第二物理地址;
根据所述第二物理地址,更新所述第二映射表以根据所述第二映射表和所述第一映射表对所述用户数据进行读取。
6.根据权利要求3所述的数据管理方法,其中,所述用户数据由第一存储区域转存至第二存储区域包括:
检测所述第一数据块组中是否存在无效数据;
当所述第一数据块组中不存在无效数据时,将所述第一数据块组中的有效数据同时转存至第二存储区域的第二数据块中。
7.根据权利要求6所述的数据管理方法,其中,在检测所述第一数据块组中是否存在无效数据之后还包括:
当所述第一数据块组中存在无效数据,保留所述第一数据块组中的有效数据;
当所述第一数据组中存在无效数据的第一数据块中写入有效数据时,将所述第一数据块组中的有效数据同时转存至第二存储区域的第二数据块中。
8.一种固态硬盘的数据管理装置,其特征在于,所述固态硬盘的存储空间包括第一存储区域和第二存储区域,所述数据管理装置包括:
映射表建立模块,用于建立第一映射表和第二映射表,其中,第一映射表的索引为逻辑地址,内容为映射物理地址,所述映射物理地址至少包括索引标识,所述第二映射表的索引为索引标识,内容为物理块地址;
第一查找模块,用于在访问固态硬盘的存储器时以逻辑地址作为索引查找第一映射表,以获得映射物理地址;
第二查找模块,用于在访问固态硬盘的存储器时以所述索引标识作为索引查找第二映射表,以获得物理块地址;
地址获取模块,用于根据映射物理地址和物理块地址以获得用户数据的物理地址;
操作模块,用于根据所述用户数据的物理地址对固态硬盘的相应存储空间进行数据访问操作;
更新模块,用于当所述数据访问操作为在第一存储区域内写入用户数据时,更新所述第一映射表的映射物理地址和第二映射表;以及当所述数据访问操作为将所述用户数据由第一存储区域转存至第二存储区域时,更新所述第二映射表。
9.根据权利要求8所述的数据管理装置,其中,所述索引标识包括映射编号和逻辑块地址,所述映射物理地址还包括第一数据存储位置的物理页地址、通道号和数据单元的偏移地址。
10.根据权利要求8所述的数据管理装置,其中,所述第一存储区域包括多个第一数据块组,每个第一数据块组包括N个第一数据块,所述第二存储区域包括多个第二数据块,其中,N为大于1的整数,第二数据块的存储容量与第一数据块组的存储容量相同。
11.根据权利要求9所述的数据管理装置,其中,所述地址获取模块包括:
第一地址获取单元,用于当检测到所述用户数据写入第一存储区域时,获取所述第一数据在第一存储区域的第一物理地址;
第二地址获取单元,用于当检测到所述用户数据由第一存储区域转存至第二存储区域时,获取所述用户数据在第二存储区域的第二物理地址。
12.根据权利要求8所述的数据管理装置,其中,所述更新模块包括:
第一更新单元,用于在检测到用户数据写入第一存储区域时更新所述第一映射表和所述第二映射表;
第二更新模块,用于当检测到所述用户数据由第一存储区域转存至第二存储区域时更新所述第二映射表。
13.根据权利要求12所述的数据管理装置,其中,所述第二更新模块还用于检测到所述用户数据由第一存储区域转存至第二存储区域时更新所述第二映射表。
14.根据权利要求8所述的数据管理装置,其中,所述操作模块包括:
检测单元,用于检测第一数据块组中是否存在无效数据;
转移单元,用于当所述第一数据块组中不存在无效数据时,将所述第一数据块组中的有效数据同时转存至第二存储区域的第二数据块中。
15.一种固态硬盘,其特征在于,所述固态硬盘使用权利要求1-7任一项所述的数据管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111010504.8A CN115729439A (zh) | 2021-08-31 | 2021-08-31 | 数据管理方法、装置及固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111010504.8A CN115729439A (zh) | 2021-08-31 | 2021-08-31 | 数据管理方法、装置及固态硬盘 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729439A true CN115729439A (zh) | 2023-03-03 |
Family
ID=85291219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111010504.8A Pending CN115729439A (zh) | 2021-08-31 | 2021-08-31 | 数据管理方法、装置及固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115729439A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117971905A (zh) * | 2024-04-01 | 2024-05-03 | 华能曲阜热电有限公司 | 一种工业生产过程历史数据即时统计的缓存及索引方法 |
-
2021
- 2021-08-31 CN CN202111010504.8A patent/CN115729439A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117971905A (zh) * | 2024-04-01 | 2024-05-03 | 华能曲阜热电有限公司 | 一种工业生产过程历史数据即时统计的缓存及索引方法 |
CN117971905B (zh) * | 2024-04-01 | 2024-06-11 | 华能曲阜热电有限公司 | 一种工业生产过程历史数据即时统计的缓存及索引方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8166258B2 (en) | Skip operations for solid state disks | |
US8166233B2 (en) | Garbage collection for solid state disks | |
US9626288B2 (en) | Address translation for a non-volatile memory storage device | |
US8352690B2 (en) | Cache synchronization for solid state disks | |
US9164887B2 (en) | Power-failure recovery device and method for flash memory | |
US8291155B2 (en) | Data access method, memory controller and memory storage system | |
US8230160B2 (en) | Flash memory storage system and flash memory controller and data processing method thereof | |
CN105718530B (zh) | 文件存储系统及其文件存储控制方法 | |
US8914608B2 (en) | Data storage device and computing system including the same | |
US8914579B2 (en) | Access device, information recording device, controller, and information recording system | |
US9443591B2 (en) | Storage device out-of-space handling | |
KR20070046864A (ko) | 플래쉬 화일 시스템에서 가상-물리 주소 변환 방법 및시스템 | |
CN113419975B (zh) | 存储器的控制系统及地址映射方法和地址映射装置 | |
TWI479505B (zh) | 資料管理方法、記憶體控制器與記憶體儲存裝置 | |
US8819387B2 (en) | Memory storage device, memory controller, and method for identifying valid data | |
CN113419675B (zh) | 用于存储器的写操作方法及读操作方法 | |
CN114036079B (zh) | 映射表压缩方法、系统、存储器控制器、固态硬盘及数据读取方法 | |
CN116204126A (zh) | 固态硬盘的数据读写方法及装置、固态硬盘、存储介质 | |
CN112860193B (zh) | 整理指令处理方法、存储器控制电路单元与存储装置 | |
US11372774B2 (en) | Method and system for a solid state drive with on-chip memory integration | |
CN115729439A (zh) | 数据管理方法、装置及固态硬盘 | |
US11880603B2 (en) | Storage system and method for preserving overwritten data to allow a future rollback | |
US11573908B1 (en) | Mapping table management method, memory control circuit unit and memory storage device | |
CN112799601B (zh) | 有效数据合并方法、存储器存储装置及控制电路单元 | |
US9009389B2 (en) | Memory management table processing method, memory controller, and memory storage apparatus |
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 |