CN119473166B - 基于验证信息的共享缓存区数据管理方法与存储系统 - Google Patents
基于验证信息的共享缓存区数据管理方法与存储系统 Download PDFInfo
- Publication number
- CN119473166B CN119473166B CN202510045460.4A CN202510045460A CN119473166B CN 119473166 B CN119473166 B CN 119473166B CN 202510045460 A CN202510045460 A CN 202510045460A CN 119473166 B CN119473166 B CN 119473166B
- Authority
- CN
- China
- Prior art keywords
- mapping table
- target
- sorting
- shared cache
- verification information
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
- 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
技术领域
本发明涉及一种存储技术领域,尤其涉及一种基于验证信息的共享缓存区数据管理方法与存储系统。
背景技术
NAND闪存(flash)是一种非易失性存储器技术,广泛应用于各种存储设备中。它通过使用浮动栅极晶体管来存储电荷,每个晶体管代表一个存储单元。NAND闪存单元通常以页的形式组织数据,每一页包含多个字节,而多个页又组成一个块。数据是以页为单位进行读取和编程,而擦除操作则以块为单位进行。这种组织方式使得NAND闪存非常适合于大容量存储,并且具有较高的写入速度。
但是,随着存储设备的存储容量不断加大,用于管理存储设备的管理数据的数据量也持续增加,从而导致存储设备本身的小容量内存不敷使用。
发明内容
本发明提供一种基于验证信息的共享缓存区数据管理方法与存储系统,可在尽可能不影响主机系统的运作效能的前提下,有效提高存储装置或整个存储系统的效能。
本发明的实施例提供一种基于验证信息的共享缓存区数据管理方法,其用于存储系统,所述存储系统包括主机系统与存储装置,所述主机系统连接至所述存储装置,且所述基于验证信息的共享缓存区数据管理方法包括:在所述主机系统的内存中配置共享缓存区,其中所述存储装置用以基于缓存于所述共享缓存区中的数据执行预设操作;根据排序算法,对缓存于所述共享缓存区中的多个第一映射表项执行第一排序操作,以取得第一排序队列;根据所述第一排序队列,从所述多个第一映射表项中选择目标映射表项;取得对应于所述目标映射表项的第一验证信息;判断所述第一验证信息是否符合预设条件;若所述第一验证信息符合所述预设条件,将所述目标映射表项从所述共享缓存区中移除;以及若所述第一验证信息不符合所述预设条件,将所述目标映射表项保留于所述共享缓存区中,并将所述目标映射表项在所述第一排序队列中的位置从第一位置调整为第二位置,其中所述第一位置不同于所述第二位置。
本发明的实施例另提供一种存储系统,其包括主机系统与存储装置。所述存储装置连接至所述主机系统。所述主机系统用以:在所述主机系统的内存中配置共享缓存区,其中所述存储装置用以基于缓存于所述共享缓存区中的数据执行预设操作;根据排序算法,对缓存于所述共享缓存区中的多个第一映射表项执行第一排序操作,以取得第一排序队列;根据所述第一排序队列,从所述多个第一映射表项中选择目标映射表项;取得对应于所述目标映射表项的第一验证信息;判断所述第一验证信息是否符合预设条件;若所述第一验证信息符合所述预设条件,将所述目标映射表项从所述共享缓存区中移除;以及若所述第一验证信息不符合所述预设条件,将所述目标映射表项保留于所述共享缓存区中,并将所述目标映射表项在所述第一排序队列中的位置从第一位置调整为第二位置,其中所述第一位置不同于所述第二位置。
基于上述,一个共享缓存区可配置于主机系统的内存中,而存储装置可基于缓存于共享缓存区中的数据执行预设操作。在存储系统运作时,缓存于共享缓存区中的至少一映射表项所对应的计数信息可被取得。尔后,根据所述计数信息,所述至少一映射表项中的目标映射表项可被保留于共享缓存区中或从共享缓存区中移除。由此,可在尽可能不影响主机系统自身的运作效能的前提下,有效提高存储装置或整个存储系统的效能。
附图说明
图1是根据本发明的实施例所示出的存储系统的示意图;
图2是根据本发明的实施例所示出的存储器控制器的示意图;
图3是根据本发明的实施例所示出的管理存储器模块的示意图;
图4是根据本发明的实施例所示出的第一排序操作及调整目标映射表项在排序队列中的位置的示意图;
图5是根据本发明的实施例所示出的第二排序操作及移除目标映射表项的示意图;
图6是根据本发明的实施例所示出的基于验证信息的共享缓存区数据管理方法的流程图。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。
图1是根据本发明的实施例所示出的存储系统的示意图。请参照图1,存储系统(亦称为数据存储系统)10包括主机系统11与存储装置12。存储装置12可连接至主机系统11并可用以存储来自主机系统11的数据。例如,主机系统11可为智能手机、平板计算机、笔记本计算机、台式计算机、工业用计算机、游戏机、服务器或设置于特定载体(例如车辆、航空器或船舶)中的计算机系统等,且主机系统11的类型不限于此。此外,存储装置12可包括固态硬盘、U盘、存储卡或其他类型的非易失性存储装置。
主机系统11包括处理器111与内存112。处理器111用以负责主机系统11的整体或部分操作。例如,处理器111可包括中央处理单元(Central Processing Unit, CPU)、图形处理单元(Graphical Processing Unit, GPU)或是其他可编程的一般用途或特殊用途的微处理器、数字信号处理器(Digital Signal Processor, DSP)、可编程控制器、专用集成电路(Application Specific Integrated Circuits, ASIC)、可编程逻辑器件(Programmable Logic Device, PLD)或其他类似装置或这些装置的组合。
内存112连接至处理器111并用以缓存数据。例如,内存112可包括随机存取存储器(Random Access Memory, RAM)或类似的易失性存储装置。须注意的是,内存112是设置于主机系统11中(例如设置于主机系统11的主板上或直接设置于处理器111中),而非设置于存储装置12中。
存储装置12包括连接接口121、存储器模块122及存储器控制器123。连接接口121用以将存储装置12连接至主机系统11。例如,连接接口121可支持嵌入式多媒体卡(embedded Multi-Media Card, eMMC)、通用快闪存储器(Universal Flash Storage,UFS)、快速外设部件互连(Peripheral Component Interconnect Express, PCIExpress)、快速非易失性存储器(Non-Volatile Memory Express, NVM express)、串行高级技术附件(Serial Advanced Technology Attachment, SATA)、通用串行总线(Universal Serial Bus, USB)或其他类型的连接接口标准。因此,存储装置12可经由连接接口121与主机系统11通信(例如交换信号、指令和/或数据)。
存储器模块122用以存储数据。例如,存储器模块122可包括一或多个可复写式非易失性存储器模块。每一个可复写式非易失性存储器模块可包括一或多个存储单元阵列。存储单元阵列中的存储单元是以电压(亦称为临界电压)的形式来存储数据。例如,存储器模块122可包括单阶存储单元(Single Level Cell, SLC)NAND型快闪存储器模块、二阶存储单元(Multi Level Cell, MLC)NAND型快闪存储器模块、三阶存储单元(Triple LevelCell, TLC)NAND型快闪存储器模块、四阶存储单元(Quad Level Cell, QLC)NAND型快闪存储器模块和/或其他具有相同或相似特性的存储器模块。
存储器控制器123连接至连接接口121与存储器模块122。存储器控制器123可视为存储装置12的控制核心并用以控制存储装置12。例如,存储器控制器123可用以控制或管理存储装置12的整体或部分运作。例如,存储器控制器123可包括中央处理单元(CentralProcessing Unit, CPU)、或是其他可编程的一般用途或特殊用途的微处理器、数字信号处理器(Digital Signal Processor, DSP)、可编程控制器、专用集成电路(ApplicationSpecific Integrated Circuits, ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)或其他类似装置或这些装置的组合。在一实施例中,存储器控制器123可包括快闪存储器控制器。
存储器控制器123可发送指令序列至存储器模块122,以存取存储器模块122。例如,存储器控制器123可发送写入指令序列至存储器模块122,以指示存储器模块122将数据存储至特定的存储单元中。例如,存储器控制器123可发送读取指令序列至存储器模块122,以指示存储器模块122从特定的存储单元读取数据。例如,存储器控制器123可发送抹除指令序列至存储器模块122,以指示存储器模块122将存储于特定的存储单元中的数据抹除。此外,存储器控制器123还可发送其他类型的指令序列至存储器模块122,以指示至存储器模块122执行其他类型的操作,本发明不加以限制。存储器模块122可接收来自存储器控制器123的指令序列并根据此指令序列存取存储器模块122内部的存储单元。
图2是根据本发明的实施例所示出的存储器控制器的示意图。请参照图1与图2,存储器控制器123包括主机接口21、存储器接口22及存储器控制电路23。主机接口21用以通过连接接口121连接至主机系统11,以与主机系统11通信。存储器接口22用以连接至存储器模块122,以存取存储器模块122。
存储器控制电路23连接至主机接口21与存储器接口22。存储器控制电路23可用以控制或管理存储器控制器123的整体或部分运作。例如,存储器控制电路23可通过主机接口21与主机系统11通信并通过存储器接口22存取存储器模块122。例如,存储器控制电路23可包括嵌入式控制器或微控制器等控制电路。在以下实施例中,对于存储器控制电路23的说明等同于对于存储器控制器123的说明。
在一实施例中,存储器控制器123还可包括缓冲存储器24。缓冲存储器24连接至存储器控制电路23并用以缓存数据。例如,缓冲存储器24可用以缓存来自主机系统11的指令、来自主机系统11的数据和/或来自存储器模块122的数据。
在一实施例中,存储器控制器123还可包括解码电路25。解码电路25连接至用以存储器控制电路23并用以对数据执行编码与解码,以确保数据的正确性。例如,解码电路25可支援低密度奇偶检查码(Low Density Parity Check code, LDPC code)、BCH码、里德-所罗门码(Reed-solomon code, RS code)、异或(Exclusive OR, XOR)码等各式编/解码算法。在一实施例中,存储器控制器123还可包括其他类型的各式电路模块(例如电源管理电路等),本发明不加以限制。
图3是根据本发明的实施例所示出的管理存储器模块的示意图。请参照图1至图3,存储器模块122包括多个实体单元301(1)~301(B)。每一个实体单元皆包括多个存储单元且用以非易失性的存储数据。
在一实施例中,一个实体单元可包括一或多个实体抹除单元。此外,一个实体单元可包括多个子实体单元。例如,一个子实体单元可包括一或多个实体程序化单元。
在一实施例中,一个实体程序化单元可包括多个实体扇(sector)。例如,一个实体扇的数据容量可为512字节(Bytes, B),且一个实体程序化单元可包括32个实体扇。然而,一个实体扇的数据容量和/或一个实体程序化单元所包含的实体扇的总数皆可根据实务需求调整,本发明不加以限制。在一实施例中,一个实体程序化单元可视为一个实体页。例如,一个实体程序化单元的存储容量可为16千字节,且本发明不限于此。
在一实施例中,一个实体程序化单元为存储器模块122中同步写入数据的最小单位。例如,在对一个实体程序化单元执行程序化操作(亦称为写入操作)以写入数据至此实体程序化单元时,此实体程序化单元中的多个存储单元可被同步程序化,以存储对应的数据。例如,在程序化一个实体程序化单元时,写入电压可被施加至此实体程序化单元,以改变此实体程序化单元中的至少部分存储单元的临界电压。例如,一个存储单元的临界电压可反映此存储单元所存储的比特数据。
在一实施例中,一个实体抹除单元可包含多个实体程序化单元。一个实体抹除单元中的多个实体程序化单元可被同步抹除。例如,在对一个实体抹除单元执行抹除操作时,抹除电压可被施加至此实体抹除单元中的多个实体程序化单元,以改变此些实体程序化单元中的至少部分存储单元的临界电压。通过对一个实体抹除单元执行抹除操作,可清除此实体抹除单元所存储的数据。在一实施例中,一个实体抹除单元可视为一个实体区块。
在一实施例中,存储器控制电路23可逻辑的将实体单元301(1)~301(A)及301(A+1)~301(B)分别关联至数据区31与闲置区32。数据区31中的实体单元301(1)~301(A)皆存储了来自主机系统11的数据(亦称为用户数据)。例如,数据区31中的任一个实体单元皆可存储有效(valid)数据和/或无效(invalid)数据。此外,闲置区32中的实体单元301(A+1)-301(B)皆未存储数据(例如有效数据)。
在一实施例中,若某一个实体单元未存储有效数据,则此实体单元可被关联至闲置区32。此外,闲置区32中的实体单元可被抹除,以清除此实体单元中的数据。在一实施例中,闲置区32中的实体单元亦称为闲置实体单元。在一实施例中,闲置区32亦称为闲置池(free pool)。
在一实施例中,当欲存储数据时,存储器控制电路23可从闲置区32中挑选一或多个实体单元并指示存储器模块122将数据存入所挑选的实体单元中。在将数据存入此实体单元后,此实体单元可被关联至数据区31。换言之,一或多个实体单元可在数据区31与闲置区32之间轮替使用。
在一实施例中,存储器控制电路23可配置多个逻辑单元302(1)~302(C)来映射数据区31中的实体单元(即实体单元301(1)~301(A))。例如,一个逻辑单元可对应一个逻辑区块地址(Logical Block Address, LBA)或其他的逻辑管理单位。一个逻辑单元可映射至一或多个实体单元。
在一实施例中,若某一个实体单元当前有被任一逻辑单元映射,存储器控制电路23可判定此实体单元当前存储的数据包括有效数据。反之,若某一实体单元当前未被任何逻辑单元映射,存储器控制电路23可判定此实体单元当前未存储任何有效数据。
在一实施例中,存储器控制电路23可将逻辑单元与实体单元之间的映射关系记载于至少一管理表格(亦称为逻辑至实体映射表)中。在一实施例中,存储器控制电路23可根据此管理表格(即逻辑至实体映射表)中的信息来指示存储器模块122执行数据读取、写入或抹除等操作。
在一实施例中,处理器111可在内存112中配置共享缓存区101。通过利用主机系统11的内存资源(例如共享缓存区101),处理器111为存储装置12提供了一个高效的临时数据交换空间,这不仅减少了因频繁访问闪存而产生的延迟,还显著提升了随机读写操作的性能。具体而言,基于共享缓存区101中的数据,存储装置12能够执行与存储器模块122相关的预设操作,如以下操作的至少其中之一:①命令调度优化:允许存储器控制电路23提前将来自主机系统11的多个I/O请求暂存在共享缓存区101中,从而优化这些请求的执行顺序,减少不必要的寻址时间和页面切换,提高整体响应速度。②地址映射管理:共享缓存区101可以用来存储和更新逻辑到物理地址映射表(L2P Mapping Table),加快对数据位置的查找过程,特别是对于随机读取操作,极大地提高了效率。以及根据排序算法对缓存于共享缓存区101中的多个映射表项执行排序操作,以取得排序队列等操作。③数据缓存:当从存储器模块122中读取数据时,如果数据已经被加载到共享缓存区101,则可以直接从中获取,避免再次访问较慢的存储器模块122,从而加速数据读取速度。同样地,在写入新数据时,可以先将数据暂时保存在共享缓存区101中,然后根据后台优化策略决定何时以及如何将其持久化到存储器模块122中。④元数据处理:除了用户数据外,还可以用于缓存诸如文件分配表(FAT)、磨损均衡信息等关键元数据,以确保即使在高负载条件下也能维持高效的数据管理和访问模式。
在一实施例中,存储器控制电路23可建立主机系统11与存储装置12之间的连线。例如,存储器控制电路23可与主机系统11执行握手(handshake)操作。该握手操作用于交换与主机系统11与存储装置12之间的连线的建立有关的信息,例如时钟(clock)信息和/或电压信息等。
在一实施例中,存储器控制电路23可根据上述握手操作的执行结果,建立主机系统11与存储装置12之间的连线。尔后,存储器控制电路23可通过所述连线来存取(亦称为访问)共享缓存区101。
在一实施例中,存储器控制电路23可将管理数据存储于共享缓存区101中。在存取存储器模块122的期间,存储器控制电路23可对应在共享缓存区101中查询或更新(即修改)所述管理数据。例如,所述管理数据可包括逻辑至实体映射表中的部分数据(亦称为映射表项)。所述映射表项可带有映射信息(例如逻辑至实体映射信息)。所述映射信息可反映至少一逻辑单元与至少一实体单元之间的映射关系。
在一实施例中,当主机系统11欲从存储装置12读取属于某一逻辑单元(亦称为第一逻辑单元)的数据时,处理器111可将对应于第一逻辑单元的读取信息存放于共享缓存区101中。例如,所述读取信息可包括指示读取属于第一逻辑单元的数据的读取指令。例如,所述读取指令可包括随机读取指令和/或连续读取指令。随机读取指令用以指示从单一逻辑单元或多个不连续的逻辑单元读取数据。连续读取指令用以指示从多个连续的逻辑单元读取数据。存储器控制电路23可存取共享缓存区101,以取得所述读取信息。
在取得所述读取信息后,存储器控制电路23可确认与第一逻辑单元有关的映射表项是否已缓存于共享缓存区101中。若与第一逻辑单元有关的映射表项未缓存于共享缓存区101中,则存储器控制电路23可将所述映射表项从存储器模块122载入至共享缓存区101中。
若与第一逻辑单元有关的映射表项已缓存于共享缓存区101中(或者将所述映射表项从存储器模块122载入至共享缓存区101后),存储器控制电路23可查询共享缓存区101中的所述映射表项,以取得第一逻辑单元与存储器模块122中的实体单元(亦称为第一实体单元)之间的映射关系。然后,存储器控制电路23可根据此映射关系从存储器模块122中的第一实体单元读取数据(亦称为第一数据)。然后,存储器控制电路23可将所读取的第一数据回传给主机系统11,以回应所述读取信息。
在一实施例中,当主机系统11欲将属于某一逻辑单元(亦称为第二逻辑单元)的数据(亦称为第二数据)存入存储装置12时,处理器111可将对应于第二逻辑单元的写入信息存放于共享缓存区101中。例如,所述写入信息可包括指示更新属于第二逻辑单元的数据的写入指令。例如,所述写入指令可包括随机写入指令和/或连续写入指令。随机写入指令用以指示更新属于单一逻辑单元或多个不连续的逻辑单元的数据。连续写入指令用以指示更新属于多个连续的逻辑单元的数据。存储器控制电路23可存取共享缓存区101,以取得所述写入信息。
在取得所述写入信息后,存储器控制电路23可根据所述写入信息,将第二数据存入存储器模块122中的实体单元(亦称为第二实体单元)。另一方面,存储器控制电路23可确认与第二逻辑单元有关的映射表项是否已缓存于共享缓存区101中。若与第二逻辑单元有关的映射表项未缓存于共享缓存区101中,则存储器控制电路23可将所述映射表项从存储器模块122载入至共享缓存区101中。若与第二逻辑单元有关的映射表项已缓存于共享缓存区101中(或者将所述映射表项从存储器模块122载入至共享缓存区101后),存储器控制电路23可在共享缓存区101中更新所述映射表项,以建立第二逻辑单元与第二实体单元之间的映射关系。然后,存储器控制电路23可通知主机系统11完成写入操作,以回应所述写入信息。
在一实施例中,存储器控制电路23亦可将其他类型的管理数据存储于共享缓存区101中(例如从存储器模块122载入至共享缓存区101中)。例如,所述管理数据可包括有效计数管理数据、损耗平衡管理数据或坏块管理数据等,本发明不加以限制。有效计数管理数据用以管理存储器模块122中的至少部分实体单元的有效数据存储状况。例如,有效计数管理数据可包括对应于存储器模块122中的至少一实体单元的有效计数。损耗平衡管理数据用以管理存储器模块122中的至少部分实体单元的损耗状况。例如,损耗平衡管理数据可包括对应于存储器模块122中的至少一实体单元的读取计数、写入计数和/或抹除计数。坏块管理数据用以管理存储器模块122中损坏的实体单元(亦称为坏块)。例如,坏块管理数据可用于标记存储器模块122中的至少一实体单元为坏块。尔后,存储器控制电路23可根据共享缓存区101中的管理数据来存取或管理存储器模块122。
须注意的是,设置于内存112中的共享缓存区101会占用内存112的一部分存储空间,从而导致主机系统11本身可使用的内存112的容量减少。例如,在设置共享缓存区101后,内存112中扣除共享缓存区101后的剩余容量,才是主机系统11本身可使用的内存空间。因此,若共享缓存区101的容量越大,可能导致主机系统11本身的运作效能降低(因主机系统11本身可使用的内存空间减少)。但是,若共享缓存区101的容量太小,则又可能会降低存储装置12的效能(因存储装置12可使用的内存空间减少)。
根据本发明的实施例所提供的技术方案,能够在共享缓存区101维持较小容量配置(包括但不限于降低其容量需求)的同时,实现对驻留在共享缓存区101内的映射表项进行精细管理,包括但不限于排序、新增和移除等操作。如此一来,在确保主机系统11运行效率不受干扰的基础上,进一步强化了存储装置12乃至整个存储系统10的性能表现,实现了主机系统11处理能力和存储装置12响应速度之间的最佳平衡,保证两者均能在理想状态下运作,互不影响。
特别地,此解决方案尤其适用于提升随机读写性能的场景。传统上,为了最大化随机读写的效能,理论上应将所有映射表项载入到缓冲存储器24中。然而,在当前产品设计的限制下——例如,缓冲存储器24通常具有固定的256KB容量,而映射表项的数据量可能达到1GB或更大(以1TB容量为例),这使得不可能一次性全部载入所有映射表项,导致需要频繁地分批加载映射表项,从而增加了延迟,并影响了存储装置12的读取速度。通过采用共享缓存区101来高效管理这些映射表项,不仅解决了这一挑战,还实现了主机系统11和存储装置12性能的独立且不受干扰的优化。
具体而言,该方案允许存储系统10在处理大量映射表项时,依然能够维持高速的数据访问速度和低延迟特性,从而保证了随机读写的性能指标。与此同时,它还避免了因增加额外硬件资源所带来的成本上升,以及可能引起的系统复杂度提高和稳定性下降等问题。总之,这一创新性的技术方案为解决高性能存储系统的挑战提供了一种可行且高效的途径。
在一实施例中,一个或多个映射表项可缓存于共享缓存区101中。在存储器控制电路23将多个映射表项缓存于共享缓存区101后,处理器111可根据排序算法,对缓存于共享缓存区101中的多个映射表项(亦称为第一映射表项)执行排序操作(亦称为第一排序操作),以取得一个排序队列(亦称为第一排序队列)。第一排序队列可反映基于所述排序算法对所述多个第一映射表项的排序结果。例如,第一排序队列可反映,基于所述排序算法,所述多个第一映射表项被从共享缓存区101移除的优先顺序。
在一实施例中,在取得第一排序队列后,处理器111可根据第一排序队列,从所述多个第一映射表项中选择至少一映射表项(亦称为目标映射表项)。例如,处理器111可将所述多个第一映射表项中,排序在第一排序队列中的某一位置(亦称为第一位置)的映射表项确定为目标映射表项。例如,第一位置可位于第一排序队列中的一个端点(亦称为第一端点)。例如,第一位置可位于第一排序队列的最前端。在一实施例中,第一位置亦可泛指基于所述排序算法所预定的优先权最高(或排序最靠前)的位置,而不限于排序队列的端点。
在一实施例中,在从所述多个第一映射表项中选定目标映射表项后,处理器111可取得对应于目标映射表项的验证信息(亦称为第一验证信息)。第一验证信息可关联至目标映射表项。
在一实施例中,第一验证信息可与目标映射表项同步存储于共享缓存区101中。处理器111可从共享缓存区101中取得第一验证信息。或者,在一实施例中,第一验证信息可记载于管理表格中。处理器111可从此管理表格中读取第一验证信息。
在一实施例中,在取得所述第一验证信息后,处理器111可判断第一验证信息是否符合预设条件。若第一验证信息符合预设条件,处理器111可将所述目标映射表项从共享缓存区101中移除。然而,若第一验证信息不符合预设条件,则处理器111可将目标映射表项保留于共享缓存区101中(即不将目标映射表项从共享缓存区101中移除)。
换言之,在一实施例中,即便所述多个第一映射表项中的目标映射表项基于所述排序算法被排序于可优先被移除的位置(即第一位置),处理器111仍须根据第一验证信息是否符合预设条件,来决定是否允许(或禁止)将目标映射表项从共享缓存区101中移除。由此,可提高对当前缓存于共享缓存区101中的数据(例如映射表项)进行管理(例如排序、新增和/或移除)的准确率。
在一实施例中,若判定第一验证信息不符合预设条件,处理器111可进一步将目标映射表项在第一排序队列中的位置从当前位置(即第一位置)调整为另一位置(亦称为第二位置)。第一位置不同于第二位置。例如,假设第一位置位于第一排序队列中的第一端点,则第二位置可位于第一排序队列中相对于第一端点的另一端点(亦称为第二端点)。例如,假设第一位置位于第一排序队列的最前端,则第二位置可位于第一排序队列的最后端。
在一实施例中,第二位置亦可泛指基于所述排序算法所预定的优先权最低(或排序最靠后)的位置,而不限于排序队列的端点。在一实施例中,将目标映射表项在第一排序队列中的位置从第一位置调整为第二位置,可视为在所述多个第一映射表项中,将目标映射表项被移除的优先权降至最低(或相对较低)。
在一实施例中,第一验证信息包括至少一比特(亦称为验证比特)。在一实施例中,在确定目标映射表项并取得第一验证信息后,处理器111可判断第一验证信息中的验证比特是否为特定值(亦称为为目标值)。若所述验证比特为目标值,处理器111可判定第一验证信息符合预设条件。然而,若所述验证比特非为目标值,则处理器111可判定第一验证信息不符合预设条件。
在一实施例中,假设验证比特的数量为一个,且目标值为“1”。在取得第一验证信息后,处理器111可判断验证比特的比特值是否为“1”。若验证比特的比特值为“1”,处理器111可判定第一验证信息符合预设条件。然而,若验证比特的比特值不为“1”(例如验证比特的比特值为“0”),则处理器111可判定第一验证信息不符合预设条件。
在一实施例中,若判定第一验证信息不符合预设条件,处理器111还可进一步将所述验证比特更新为目标值。例如,假设当前第一验证信息中的验证比特的比特值是“0”,则处理器111可将所述验证比特的比特值从“0”更新为“1”(即目标值)。也就是说,响应于目标映射表项在第一排序队列中的位置从第一位置(例如第一排序队列的最前端)调整为第二位置(例如第一排序队列的最后端),所述目标映射表项所对应的第一验证信息可同步被更新(例如调整)为符合所述预设条件。
在一实施例中,在将目标映射表项调整至第二位置后,根据所述排序算法,处理器111可再次对当前缓存于共享缓存区101中的多个映射表项(亦称为第二映射表项)执行排序操作(亦称为第二排序操作),以取得一个排序队列(亦称为第二排序队列)。第二排序队列可反映基于所述排序算法对所述多个第二映射表项的排序结果。例如,第二排序队列可反映,基于所述排序算法,所述多个第二映射表项被从共享缓存区101移除的优先顺序。特别是,所述多个第二映射表项可包括所述目标映射表项。
在一实施例中,在取得第二排序队列后,处理器111可从所述多个第二映射表项中再次选择所述目标映射表项。例如,根据第二排序队列,在所述目标映射表项被排序在第二排序队列中的第一位置(例如第二排序队列的最前端)的情况下,则处理器111可再次选择所述目标映射表项。然后,响应于第一验证信息符合预设条件,处理器111可将目标映射表项从共享缓存区101中移除。
图4是根据本发明的实施例所示出的第一排序操作及调整目标映射表项在排序队列中的位置的示意图。请参照图4,假设在第一排序操作中,当前缓存于共享缓存区101中的映射表项P(1)~P(n)被排序成排序队列41。特别是,映射表项P(1)位于排序队列41中的位置401(即第一位置,例如排序队列41的最前端)。因此,根据排序队列41,处理器111可选择映射表项P(1)作为目标映射表项。
在选定映射表项P(1)作为目标映射表项后,处理器111可判断对应于映射表项P(1)的验证信息是否符合预设条件。例如,对应于映射表项P(1)的验证信息包括验证比特b(1)。
假设映射表项P(1)是第一次被选定为目标映射表项,则验证比特b(1)的比特值可为“0”。在此情况下,由于验证比特b(1)的比特值(即“0”)非为“1”(即目标值),处理器111可判定对应于映射表项P(1)的验证信息不符合预设条件。
响应于对应于映射表项P(1)的验证信息不符合预设条件,处理器111可将映射表项P(1)(即目标映射表项)移动至排序队列41中的位置402(即第二位置,例如排序队列41的最后端)。同时,排序队列41中的其余映射表项P(2)~P(n)的位置可同步前移一位。也就是说,针对当前共享缓存区101中的映射表项P(1)~P(n),处理器111可将映射表项P(1)(即目标映射表项)被移除的优先权降至最低。同时,处理器111可将验证比特b(1)的比特值从“0”更新为“1”(即目标值)。
图5是根据本发明的实施例所示出的第二排序操作及移除目标映射表项的示意图。请参照图5,接续于图4的实施例,经过了一段时间的操作后,假设在第二排序操作中,映射表项P(1)被排序至排序队列51中的位置501(即第一位置,例如排序队列51的最前端)。因此,根据排序队列51,处理器111可再次选择位于位置501的映射表项P(1)。然后,响应于映射表项P(1)所对应的验证信息符合预设条件(例如验证比特b(1)的比特值为“1”),处理器111可将映射表项P(1)从共享缓存区101中移除。
换言之,在前述实施例中,当目标映射表项第一次被排序至一个排序队列中的第一位置(例如最前端)时,响应于目标映射表项所对应的验证信息(即第一验证信息)不符合预设条件,目标映射表项会被移动至排序队列中的第二位置(例如最后端)。同时,第一验证信息会被更新为符合预设条件。尔后,从排序队列中的第二位置开始,当目标映射表项第二次再次被排序至排序队列中的第一位置时,响应于第一验证信息符合预设条件,目标映射表项可被从共享缓存区101中移除。
在一实施例中,这种对待移除的映射表项进行双重验证的机制(如在图4与图5的实施例所示),可避免共享缓存区101中的某些数据(例如映射表项)因一次性的误判就被移除。由此,可提高对当前缓存于共享缓存区101中的数据(例如映射表项)进行管理(例如排序、新增和/或移除)的准确率。换句话讲,即给予共享缓存区101中的每个数据(例如映射表项)一次额外的机会(Second Chance),以防止频繁使用的数据(例如映射表项)被过早移除,使得本申请设计能被应用于一些更加复杂的数据访问模式/需求。
在一实施例中,处理器111可根据对应于所述多个第一映射表项的计数信息及所述多个第一映射表项的类型的至少其中之一,对所述多个第一映射表项执行所述第一排序操作,以取得所述第一排序队列。同理,处理器111可根据对应于所述多个第二映射表项的计数信息及所述多个第二映射表项的类型的至少其中之一,对所述多个第二映射表项执行所述第二排序操作,以取得所述第二排序队列。
在一实施例中,在存储器控制电路23将至少一映射表项缓存于共享缓存区101后,处理器111可取得所述至少一映射表项所对应的计数信息。例如,所述计数信息可反映过去一段时间内所述至少一映射表项分别被存取(亦称为访问)的次数、频率或时间点。
在一实施例中,处理器111可针对共享缓存区101中的每一个映射表项配置至少一计数器。处理器111可根据所述计数器的输出,取得对应于各映射表项的计数信息。
在一实施例中,所述计数信息包括对应于目标映射表项的计数信息(亦称为目标计数信息)。例如,目标计数信息可反映过去一段时间内目标映射表项被存取的次数、频率或时间点。例如,处理器111可监测过去一段时间内缓存于共享缓存区101中的各映射表项被存取的状况,以取得监测结果。例如,此监测结果可反映过去一段时间内缓存于共享缓存区101中的各映射表项被存取的状况。然后,处理器111可根据此监测结来更新目标计数信息。
在一实施例中,响应于目标映射表项每次被存取,处理器111可对应更新目标计数信息。更新后的目标计数信息可反映当前或过去一段时间内缓存于共享缓存区101中的目标映射表项被存取的最新状况(例如目标映射表项最新被存取的次数、最新被存取的频率或最新被存取的时间点)。
在一实施例中,目标计数信息可包括一或多个计数值。此计数值可反映过去一段时间内目标映射表项被存取的次数、频率或时间点。在一实施例中,此计数值可正相关于过去一段时间内目标映射表项被存取的次数和/或频率。亦即,若此计数值越大,表示在过去一段时间内目标映射表项被存取的次数越多和/或频率越高。或者,在一实施例中,此计数值亦可负相关于过去一段时间内目标映射表项被存取的次数和/或频率。
在一实施例中,此计数值可正相关于过去一段时间内目标映射表项最新一次被存取的时间点与当前系统时间之间的时间差。亦即,若此计数值越大,表示过去一段时间内目标映射表项最新一次被存取的时间点距离当前系统时间越远。或者,在一实施例中,此计数值亦可负相关于过去一段时间内目标映射表项最新一次被存取的时间点与当前系统时间之间的时间差。
在一实施例中,所述计数信息包括第一类计数信息、第二类计数信息和/或第三类计数信息。第一类计数信息反映目标映射表项在过去一段时间内被访问的次数。第二类计数信息反映目标映射表项在过去一段时间内被访问的频率。第三类计数信息反映目标映射表项在过去一段时间内最新一次被存取的时间点与当前系统时间之间的时间差。在一实施例中,处理器111可将第一类计数信息、第二类计数信息及第三类计数信息的至少其中之一带入排序算法,以取得排序结果(即所述排序队列)。尔后,处理器111可根据所述排序结果,依序将一或多个映射表项从共享缓存区101中移除。
在一实施例中,处理器111可采用某一排序算法(亦称为第一排序算法)来取得所述排序结果。例如,在第一排序算法中,处理器111可根据第一类计数信息对共享缓存区101中的多个映射表项进行排序,以取得所述排序结果。例如,此排序结果可由大至小或由小至大反映出共享缓存区101中的各个映射表项在过去一段时间内被访问的次数。尔后,处理器111可根据所述排序结果,从过去一段时间内被访问的次数最少的映射表项开始,依序将一或多个映射表项从共享缓存区101中移除。
在一实施例中,处理器111可采用另一排序算法(亦称为第二排序算法)来取得所述排序结果。例如,在第二排序算法中,处理器111可根据第二类计数信息对共享缓存区101中的多个映射表项进行排序,以取得所述排序结果。例如,此排序结果可由低至高或由高至低反映出共享缓存区101中的各个映射表项在过去一段时间内被访问的频率。尔后,处理器111可根据所述排序结果,从过去一段时间内被访问的频率最低的映射表项开始,依序将一或多个映射表项从共享缓存区101中移除。
在一实施例中,处理器111可采用又一排序算法(亦称为第三排序算法)来取得所述排序结果。例如,在第三排序算法中,处理器111可根据第三类计数信息对共享缓存区101中的多个映射表项进行排序,以取得所述排序结果。例如,此排序结果可由大至小或由小至大反映出共享缓存区101中的各个映射表项在过去一段时间内最新一次被存取的时间点与当前系统时间之间的时间差。尔后,处理器111可根据所述排序结果,从过去一段时间内最新一次被存取的时间点与当前系统时间之间的时间差最大的映射表项开始,依序将一或多个映射表项从共享缓存区101中移除。
在一实施例中,在某些排序算法(亦称为第四排序算法)中,处理器111亦可同步考虑第一类计数信息、第二类计数信息及第三类计数信息的至少其中之二,以取得所述排序结果。在一实施例中,通过考虑第一类计数信息、第二类计数信息及第三类计数信息的至少其中之二来对共享缓存区101中的各个映射表项进行排序,可提高排序结果的准确度。
在一实施例中,处理器111可对第一类计数信息配置一个权重参数(亦称为第一权重参数)。在一实施例中,处理器111可对第二类计数信息配置一个权重参数(亦称为第二权重参数)。在一实施例中,处理器111可对第三类计数信息配置一个权重参数(亦称为第三权重参数)。第一权重参数、第二权重参数及第三权重参数可用于调配第一类计数信息、第二类计数信息及第三类计数信息分别对所述排序结果的影响力。例如,第一权重参数、第二权重参数及第三权重参数的总和可为“1”。例如,若欲提高第一类计数信息对所述排序结果的影响力(等同于降低第二类计数信息及第三类计数信息对所述排序结果的影响力),则处理器111可增加第一权重参数的值并对应减少第二权重参数及第三权重参数的值。尔后,处理器111可根据第一类计数信息(及第一权重参数)、第二类计数信息(及第二权重参数)和/或第三类计数信息(及第三权重参数)来对共享缓存区101中的各个映射表项进行排序,以取得所述排序结果。
在一实施例中,处理器111还可确定共享缓存区101中的多个映射表项的类型。根据所述多个映射表项的类型,处理器111可将第一类计数信息、第二类计数信息及第三类计数信息的至少其中之一带入排序算法,以取得所述排序结果。例如,当欲针对属于特定类型的多个映射表项进行排序时,处理器111可根据此特定类型,将预先确定的第一类计数信息、第二类计数信息及第三类计数信息的至少其中之一带入排序算法,以取得所述排序结果。由此,可进一步提高所述排序结果的准确度。
在一实施例中,处理器111可取得对应于共享缓存区101中的某一映射表项(例如所述目标映射表项)的识别信息。所述识别信息可反映目标映射表项的类型。然后,处理器111可根据所述识别信息,确定目标映射表项的类型。
在一实施例中,处理器111可根据对应于目标映射表项的识别信息,查询管理表格,以取得查询结果。所述管理表格可记载多个识别信息(亦称为候选识别信息)所分别对应的多个类型(亦称为候选类型)。然后,处理器111可根据所述查询结果,从所述多个候选类型中确定目标映射表项的类型。例如,根据所述查询结果,处理器111可将所述管理表格中与所述识别信息相匹配的候选类型确定为目标映射表项的类型。
在一实施例中,一个映射表项的类型可反映此映射表项属于活跃前台(foreground)应用、非活跃前台应用及后台(background)应用的至少其中之一。在一实施例中,假设当前处理器111运行有应用程序A与B。其中,应用程序A是在操作系统(OperatingSystem, OS)的前台运行,而应用程序B是在操作系统的后台运行。此时,处理器111可将应用程序A分类为活跃前台应用并将应用程序B分类为后台应用。须注意的是,本领域技术人员应当知晓处理器如何在操作系统的前台与后台运行不同的应用程序,在此不多加赘述。
在一实施例中,假设另一个应用程序C被切换至操作系统的前台运行。响应于应用程序C被切换至操作系统的前台运行,处理器111可将应用程序C分类为活跃前台应用。同时,处理器111可将原先属于活跃前台应用的应用程序A重新分类(例如降级)为非活跃前台应用,并将应用程序B维持为后台应用。
在一实施例中,对应于目标映射表项的所述识别信息可反映目标映射表项属于活跃前台应用、非活跃前台应用或后台应用。此外,当目标映射表项的类型改变时,处理器111可对应更新目标映射表项的识别信息。更新后的识别信息可反映目标映射表项当前的类型。例如,当从目标映射表项从原先属于非活跃前台应用切换为属于活跃前台应用时,处理器111可对应更新目标映射表项的识别信息,使更新后的识别信息反映目标映射表项当前属于活跃前台应用。
在一实施例中,处理器111可根据所述多个第一映射表项的类型(亦称为第一类型),从多个候选排序算法中确定对应于所述第一类型的排序算法(亦称为目标排序算法)。处理器111可将目标排序算法设定为所述排序算法。尔后,处理器111可基于目标排序算法对所述多个第一映射表项进行排序,以取得所述第一排序队列。
在一实施例中,处理器111可根据所述多个第二映射表项的类型(亦称为第二类型),从所述多个候选排序算法中确定对应于所述第二类型的排序算法(即目标排序算法)。处理器111可将目标排序算法设定为所述排序算法。尔后,处理器111可基于目标排序算法对所述多个第二映射表项进行排序,以取得所述第二排序队列。例如,对应于第一类型的排序算法可相同或不同于对应于第二类型的排序算法。
须注意的是,在一实施例中,缓存于共享缓存区101中的至少一映射表项的类型亦可根据实务需求进行配置或调整,而不限于上述的活跃前台应用、非活跃前台应用和/或后台应用。
在一实施例中,处理器111还可在共享缓存区101中配置多个区域,以分类存储不同类型的映射表项。由此,可有效提高主机系统11及存储装置12的效能。
在一实施例中,处理器111可检测内存112与共享缓存区101的至少其中之一的数据存储量。例如,此数据存储量可反映当前内存112与共享缓存区101的至少其中之一已存储了多少数据。在一实施例中,处理器111可检测所述数据存储量是否达到临界值。当所述数据存储量达到临界值时,处理器111可执行前述将映射表项从共享缓存区101中移除的操作。然而,若所述数据存储量未达到临界值,则处理器111可暂不执行前述将映射表项从共享缓存区101中移除的操作。
在一实施例中,当内存112与共享缓存区101的至少其中之一的数据存储量相对较大(例如达到所述临界值)时,根据所确定的优先顺序来优先移除触及率相对较低的数据,可释放出额外的内存空间供主机系统11(及存储装置12)使用。由此,可提高主机系统11及存储装置12的效能。
图6是根据本发明的实施例所示出的基于验证信息的共享缓存区数据管理方法的流程图。请参照图6,在步骤S601中,在主机系统的内存中配置共享缓存区,其中存储装置用以基于缓存于共享缓存区中的数据执行预设操作。在步骤S602中,根据排序算法,对缓存于共享缓存区中的多个第一映射表项执行第一排序操作,以取得第一排序队列。在步骤S603中,根据第一排序队列,从所述多个第一映射表项中选择目标映射表项。在步骤S604中,取得对应于目标映射表项的第一验证信息。
在步骤S605中,判断第一验证信息是否符合预设条件。若第一验证信息符合预设条件,在步骤S606中,将目标映射表项从共享缓存区中移除。然而,若第一验证信息不符合预设条件,在步骤S607中,将目标映射表项保留于共享缓存区中,并将目标映射表项在第一排序队列中的位置从第一位置调整为第二位置,其中第一位置不同于第二位置。
然而,图6中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图6中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图6的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
综上所述,本发明实施例所提出的基于验证信息的共享缓存区数据管理方法与存储系统,可在主机系统内部供存储装置使用的共享缓存区的容量不大(甚至可减少共享缓存区的容量)的情况下,对缓存于共享缓存区中的映射表项进行妥善管理(例如排序、新增和/或移除)。由此,可在尽可能不影响主机系统自身的运作效能的前提下,有效提高存储装置或整个存储系统的效能。
在一实施例中,前述针对映射表项的管理和/或排序机制亦可用于管理和/或排序其他类型的数据。例如,在一实施例中,前述映射表项可由各种指令、有效计数管理数据、损耗平衡管理数据、坏块管理数据或其他类型的自定义数据取代,在此不重复赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (20)
1.一种基于验证信息的共享缓存区数据管理方法,其特征在于,用于存储系统,所述存储系统包括主机系统与存储装置,所述主机系统连接至所述存储装置,且所述基于验证信息的共享缓存区数据管理方法包括:
在所述主机系统的内存中配置共享缓存区,其中所述存储装置用以基于缓存于所述共享缓存区中的数据执行预设操作;
根据排序算法,对缓存于所述共享缓存区中的多个第一映射表项执行第一排序操作,以取得第一排序队列;
根据所述第一排序队列,从所述多个第一映射表项中选择目标映射表项;
取得对应于所述目标映射表项的第一验证信息;
判断所述第一验证信息是否符合预设条件;
若所述第一验证信息符合所述预设条件,将所述目标映射表项从所述共享缓存区中移除;以及
若所述第一验证信息不符合所述预设条件,将所述目标映射表项保留于所述共享缓存区中,并将所述目标映射表项在所述第一排序队列中的位置从第一位置调整为第二位置,其中所述第一位置不同于所述第二位置。
2.根据权利要求1所述的基于验证信息的共享缓存区数据管理方法,其中所述第一位置位于所述第一排序队列中的第一端点,且所述第二位置位于所述第一排序队列中相对于所述第一端点的第二端点。
3.根据权利要求1所述的基于验证信息的共享缓存区数据管理方法,其中所述第一验证信息包括验证比特,且判断所述第一验证信息是否符合所述预设条件的步骤包括:
判断所述验证比特是否为目标值;
若所述验证比特为所述目标值,判定所述第一验证信息符合所述预设条件;以及
若所述验证比特非为所述目标值,判定所述第一验证信息不符合所述预设条件。
4.根据权利要求3所述的基于验证信息的共享缓存区数据管理方法,还包括:
若所述第一验证信息不符合所述预设条件,将所述验证比特更新为所述目标值。
5.根据权利要求1所述的基于验证信息的共享缓存区数据管理方法,还包括:
在将所述目标映射表项在所述第一排序队列中的所述位置从所述第一位置调整为所述第二位置后,根据所述排序算法,对缓存于所述共享缓存区中的多个第二映射表项执行第二排序操作,以取得第二排序队列,其中所述多个第二映射表项包括所述目标映射表项;
根据所述第二排序队列,从所述多个第二映射表项中再次选择所述目标映射表项;以及
响应于所述第一验证信息符合所述预设条件,将所述目标映射表项从所述共享缓存区中移除。
6.根据权利要求1所述的基于验证信息的共享缓存区数据管理方法,其中根据所述排序算法,对缓存于所述共享缓存区中的所述多个第一映射表项执行所述第一排序操作,以取得所述第一排序队列的步骤包括:
在所述排序算法中,根据对应于所述多个第一映射表项的计数信息及所述多个第一映射表项的类型的至少其中之一,对所述多个第一映射表项执行所述第一排序操作,以取得所述第一排序队列。
7.根据权利要求6所述的基于验证信息的共享缓存区数据管理方法,其中所述计数信息包括对应于所述目标映射表项的目标计数信息,且所述目标计数信息反映过去一段时间内所述目标映射表项被访问的次数、频率或时间点。
8.根据权利要求6所述的基于验证信息的共享缓存区数据管理方法,还包括:
取得对应于所述目标映射表项的识别信息;以及
根据所述识别信息,确定所述目标映射表项的所述类型。
9.根据权利要求6所述的基于验证信息的共享缓存区数据管理方法,还包括:
根据所述多个第一映射表项的所述类型,从多个候选排序算法中确定对应于所述类型的目标排序算法;以及
将所述目标排序算法设定为所述排序算法。
10.根据权利要求6所述的基于验证信息的共享缓存区数据管理方法,其中所述多个第一映射表项的所述类型反映所述多个第一映射表项属于活跃前台应用、非活跃前台应用及后台应用的至少其中之一。
11.一种存储系统,其特征在于,包括:
主机系统;以及
存储装置,连接至所述主机系统,
其中所述主机系统用以:
在所述主机系统的内存中配置共享缓存区,其中所述存储装置用以基于缓存于所述共享缓存区中的数据执行预设操作;
根据排序算法,对缓存于所述共享缓存区中的多个第一映射表项执行第一排序操作,以取得第一排序队列;
根据所述第一排序队列,从所述多个第一映射表项中选择目标映射表项;
取得对应于所述目标映射表项的第一验证信息;
判断所述第一验证信息是否符合预设条件;
若所述第一验证信息符合所述预设条件,将所述目标映射表项从所述共享缓存区中移除;以及
若所述第一验证信息不符合所述预设条件,将所述目标映射表项保留于所述共享缓存区中,并将所述目标映射表项在所述第一排序队列中的位置从第一位置调整为第二位置,其中所述第一位置不同于所述第二位置。
12.根据权利要求11所述的存储系统,其中所述第一位置位于所述第一排序队列中的第一端点,且所述第二位置位于所述第一排序队列中相对于所述第一端点的第二端点。
13.根据权利要求11所述的存储系统,其中所述第一验证信息包括验证比特,且判断所述第一验证信息是否符合所述预设条件的操作包括:
判断所述验证比特是否为目标值;
若所述验证比特为所述目标值,判定所述第一验证信息符合所述预设条件;以及
若所述验证比特非为所述目标值,判定所述第一验证信息不符合所述预设条件。
14.根据权利要求13所述的存储系统,其中所述主机系统还用以:
若所述第一验证信息不符合所述预设条件,将所述验证比特更新为所述目标值。
15.根据权利要求11所述的存储系统,其中所述主机系统还用以:
在将所述目标映射表项在所述第一排序队列中的所述位置从所述第一位置调整为所述第二位置后,根据所述排序算法,对缓存于所述共享缓存区中的多个第二映射表项执行第二排序操作,以取得第二排序队列,其中所述多个第二映射表项包括所述目标映射表项;
根据所述第二排序队列,从所述多个第二映射表项中再次选择所述目标映射表项;以及
响应于所述第一验证信息符合所述预设条件,将所述目标映射表项从所述共享缓存区中移除。
16.根据权利要求11所述的存储系统,其中根据所述排序算法,对缓存于所述共享缓存区中的所述多个第一映射表项执行所述第一排序操作,以取得所述第一排序队列的操作包括:
在所述排序算法中,根据对应于所述多个第一映射表项的计数信息及所述多个第一映射表项的类型的至少其中之一,对所述多个第一映射表项执行所述第一排序操作,以取得所述第一排序队列。
17.根据权利要求16所述的存储系统,其中所述计数信息包括对应于所述目标映射表项的目标计数信息,且所述目标计数信息反映过去一段时间内所述目标映射表项被访问的次数、频率或时间点。
18.根据权利要求16所述的存储系统,其中所述主机系统还用以:
取得对应于所述目标映射表项的识别信息;以及
根据所述识别信息,确定所述目标映射表项的所述类型。
19.根据权利要求16所述的存储系统,其中所述主机系统还用以:
根据所述多个第一映射表项的所述类型,从多个候选排序算法中确定对应于所述类型的目标排序算法;以及
将所述目标排序算法设定为所述排序算法。
20.根据权利要求16所述的存储系统,其中所述多个第一映射表项的所述类型反映所述多个第一映射表项属于活跃前台应用、非活跃前台应用及后台应用的至少其中之一。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202510045460.4A CN119473166B (zh) | 2025-01-13 | 2025-01-13 | 基于验证信息的共享缓存区数据管理方法与存储系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202510045460.4A CN119473166B (zh) | 2025-01-13 | 2025-01-13 | 基于验证信息的共享缓存区数据管理方法与存储系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN119473166A CN119473166A (zh) | 2025-02-18 |
| CN119473166B true CN119473166B (zh) | 2025-04-01 |
Family
ID=94592487
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202510045460.4A Active CN119473166B (zh) | 2025-01-13 | 2025-01-13 | 基于验证信息的共享缓存区数据管理方法与存储系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN119473166B (zh) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102789427A (zh) * | 2012-07-17 | 2012-11-21 | 威盛电子股份有限公司 | 数据储存装置与其操作方法 |
| CN113835702A (zh) * | 2021-09-24 | 2021-12-24 | 广州方硅信息技术有限公司 | 应用程序界面构造方法及其装置、设备与介质 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7366847B2 (en) * | 2006-02-06 | 2008-04-29 | Azul Systems, Inc. | Distributed cache coherence at scalable requestor filter pipes that accumulate invalidation acknowledgements from other requestor filter pipes using ordering messages from central snoop tag |
| US8769207B2 (en) * | 2008-01-16 | 2014-07-01 | Via Technologies, Inc. | Caching method and apparatus for a vertex shader and geometry shader |
| CN117453585A (zh) * | 2023-07-12 | 2024-01-26 | 咪咕文化科技有限公司 | 一种缓存管理方法、电子设备及存储介质 |
-
2025
- 2025-01-13 CN CN202510045460.4A patent/CN119473166B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102789427A (zh) * | 2012-07-17 | 2012-11-21 | 威盛电子股份有限公司 | 数据储存装置与其操作方法 |
| CN113835702A (zh) * | 2021-09-24 | 2021-12-24 | 广州方硅信息技术有限公司 | 应用程序界面构造方法及其装置、设备与介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN119473166A (zh) | 2025-02-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8380945B2 (en) | Data storage device, memory system, and computing system using nonvolatile memory device | |
| TWI808011B (zh) | 資料處理方法及對應之資料儲存裝置 | |
| TWI829363B (zh) | 資料處理方法及對應之資料儲存裝置 | |
| US12067286B2 (en) | Data processing method for efficiently processing data stored in the memory device by splitting data flow and the associated data storage device | |
| CN118747059B (zh) | 存储器管理方法与存储装置 | |
| CN118796119B (zh) | 存储器管理方法与存储装置 | |
| CN118689402B (zh) | 数据整并方法与存储装置 | |
| CN119473166B (zh) | 基于验证信息的共享缓存区数据管理方法与存储系统 | |
| US12175086B2 (en) | Data processing method for efficiently processing data stored in the memory device by splitting data flow and the associated data storage device | |
| CN119440429B (zh) | 基于计数信息的共享缓存区容量调整方法与存储系统 | |
| CN119440428B (zh) | 基于计数信息的共享缓存区数据管理方法与存储系统 | |
| CN119473164B (zh) | 动态确定管理策略的共享缓存区数据管理方法与存储系统 | |
| CN119473163B (zh) | 基于类型追踪的共享缓存区容量调整方法与存储系统 | |
| CN119440427B (zh) | 基于类型追踪的共享缓存区数据管理方法与存储系统 | |
| CN119473167B (zh) | 共享缓存区容量调整方法与存储系统 | |
| CN119225659B (zh) | 数据写入方法与存储装置 | |
| CN119847448B (zh) | 存储器管理方法与存储装置 | |
| CN120010777A (zh) | 存储器管理方法与存储装置 | |
| CN121478194A (zh) | 存储器管理方法与存储装置 | |
| CN121523617A (zh) | 映射项管理方法与存储装置 | |
| CN121209792A (zh) | 存储器控制方法与存储装置 | |
| CN120540601A (zh) | 数据去碎片化方法与数据存储系统 | |
| CN121478198A (zh) | 存储器管理方法与存储装置 | |
| CN120762585A (zh) | 存储器管理方法与存储装置 | |
| CN120469644A (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 |