数据读取方法和装置、存储介质及处理器与流程

文档序号:31473835发布日期:2022-09-09 23:56阅读:48来源:国知局
1.本发明涉及数据处理
技术领域
:,具体而言,涉及一种数据读取方法和装置、存储介质及处理器。
背景技术
::2.ssd(solidstatedrives,固态硬盘)中由于缓存存储器(cache)的存在,最新的数据是存放在cache中的。所以在读命令执行路径中,需要额外检查是否命中cache。一般做法是先查找l2c(lbatocache)表,再查找l2p(lbatopba)表,如图1所示。ssd读命令的时延(latency)除了与闪存(nandflash)本身的读数据时间相关外,还主要取决于固件(firmware)端的开销(overhead)。而在firmware端的开销中,读命令检查cache的时间开销是影响读latency的重要因素。3.现有技术中对降低ssd读命令时延(latency)的方法一般是优化读命令查找cache的时间开销,常见的方法是将l2c(lbatocache)中lba和cachebuffer(缓存数据)的关系重新组织、并构建适合快速查找的数据结构,例如,在往cache中写入数据时,根据lba的hash的值,将对应的数据信息插入hash值对应的单链表中,如图2所示,使用hash函数(hash(lba)=lba%16)来构建hash-list形式的l2p表。在cache中一共有5笔buffer中存在有效lba,其中,buf_id_0、buf_id_3和buf_id_4对应的lba分别是lba3、lba19和lba35。上述的lba3、lba19和lba35对应的hash值都是3,发生了hash冲突,那么将所有冲突的相同hash值的buffer组成链表。当有读命令查找cache中有效lba时,会根据哈希函数计算hash值,再根据hash值对应的链表去hash-list形式的l2p表,当cache中的有效lba都是hash冲突的,那么读命令查找cache要遍历长度为cache大小的链表。所以,现有技术中由于hash冲突的无法避免,会导致读取数据时查找l2c表的时间增加,从而增加了读命令的时延。4.针对上述的问题,目前尚未提出有效的解决方案。技术实现要素:5.本发明实施例提供了一种数据读取方法和装置、存储介质及处理器,以至少解决相关技术中在读取数据时,将l2c映射表设计成适合查找的hash-list数据结构的映射表,由于hash冲突的无法避免,导致读取数据的时延变大的技术问题。6.根据本发明实施例的一个方面,提供了一种数据读取方法,包括:接收目标对象触发的读取目标数据的请求,其中,所述请求中携带有所述目标数据的目标逻辑块地址;依据所述目标逻辑块地址,得到所述目标数据对应的目标物理块地址;依据所述目标物理块地址和固态硬盘中缓存存储器的有效物理块地址范围,确定所述缓存存储器中是否存储所述目标数据;若所述缓存存储器中存储所述目标数据,则从所述缓存存储器中读取所述目标数据,并将所述目标数据返回至所述目标对象。7.进一步地,在依据所述目标逻辑块地址,得到所述目标数据对应的目标物理块地址之前,所述方法还包括:获取所述固态硬盘中每个闪存对应的物理块地址,得到多个物理块地址;从所述多个物理块地址中确定为所述目标数据预分配的所述目标物理块地址;依据所述目标物理块地址,更新目标映射表,其中,所述目标映射表用于存储逻辑块地址与所述逻辑块地址对应的物理块地址,所述逻辑块地址与所述目标数据是一一对应的。8.进一步地,在从所述多个物理块地址中确定为所述目标数据预分配的所述目标物理块地址之后,所述方法还包括:依据所述目标物理块地址,确定所述缓存存储器的有效物理块地址范围。9.进一步地,在依据所述目标物理块地址,确定所述缓存存储器的有效物理块地址范围之后,所述方法还包括:若检测到更新所述有效物理块地址范围的信号,则对所述有效物理块地址范围进行更新处理。10.进一步地,依据所述目标逻辑块地址,得到所述目标数据对应的目标物理块地址包括:获取所述目标映射表;依据所述目标映射表,得到所述目标数据对应的目标物理块地址。11.进一步地,依据所述目标物理块地址和缓存存储器的有效物理块地址范围,确定所述缓存存储器中是否存储所述目标数据包括:获取所述缓存存储器的有效物理块地址范围;判断所述目标物理块地址是否属于所述有效物理块地址范围内;若所述目标物理块地址属于所述有效物理块地址范围内,则表示所述缓存存储器中存储所述目标数据。12.进一步地,所述方法还包括:若所述目标物理块地址不属于所述有效物理块地址范围内,则表示所述缓存存储器中未存储所述目标数据。13.进一步地,在所述缓存存储器中未存储所述目标数据的情况下,所述方法还包括:依据所述目标数据对应的目标物理块地址,确定所述目标物理块地址对应的目标闪存;从所述目标闪存读取所述目标数据,并将所述目标数据返回至所述目标对象。14.根据本发明实施例的另一方面,还提供了一种数据读取装置,包括:接收单元,用于接收目标对象触发的读取目标数据的请求,其中,所述请求中携带有所述目标数据的目标逻辑块地址;处理单元,用于依据所述目标逻辑块地址,得到所述目标数据对应的目标物理块地址;第一确定单元,用于依据所述目标物理块地址和固态硬盘中缓存存储器的有效物理块地址范围,确定所述缓存存储器中是否存储所述目标数据;第一读取单元,用于若所述缓存存储器中存储所述目标数据,则从所述缓存存储器中读取所述目标数据,并将所述目标数据返回至所述目标对象。15.进一步地,所述装置还包括:获取单元,用于在依据所述目标逻辑块地址,得到所述目标数据对应的目标物理块地址之前,获取所述固态硬盘中每个闪存对应的物理块地址,得到多个物理块地址;第二确定单元,用于从所述多个物理块地址中确定为所述目标数据预分配的所述目标物理块地址;第一更新单元,用于依据所述目标物理块地址,更新目标映射表,其中,所述目标映射表用于存储逻辑块地址与所述逻辑块地址对应的物理块地址,所述逻辑块地址与所述目标数据是一一对应的。16.进一步地,所述装置还包括:第三确定单元,用于在从所述多个物理块地址中确定为所述目标数据预分配的所述目标物理块地址之后,依据所述目标物理块地址,确定所述缓存存储器的有效物理块地址范围。17.进一步地,在依据所述目标物理块地址,确定所述缓存存储器的有效物理块地址范围之后,所述装置还包括:第二更新单元,用于若检测到更新所述有效物理块地址范围的信号,则对所述有效物理块地址范围进行更新处理。18.进一步地,所述处理单元包括:第一获取模块,用于获取所述目标映射表;处理模块,用于依据所述目标映射表,得到所述目标数据对应的目标物理块地址。19.进一步地,所述第一确定单元包括:第二获取模块,用于获取所述缓存存储器的有效物理块地址范围;判断模块,用于判断所述目标物理块地址是否属于所述有效物理块地址范围内;确定模块,用于若所述目标物理块地址属于所述有效物理块地址范围内,则表示所述缓存存储器中存储所述目标数据。20.进一步地,所述装置还包括:第四确定单元,用于若所述目标物理块地址不属于所述有效物理块地址范围内,则表示所述缓存存储器中未存储所述目标数据。21.进一步地,所述装置还包括:第五确定单元,用于在所述缓存存储器中未存储所述目标数据的情况下,依据所述目标数据对应的目标物理块地址,确定所述目标物理块地址对应的目标闪存;第二读取单元,用于从所述目标闪存读取所述目标数据,并将所述目标数据返回至所述目标对象。22.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述存储介质存储程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述任意一项所述的数据读取方法。23.根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的数据读取方法。24.在本发明实施例中,采用接收目标对象触发的读取目标数据的请求,其中,请求中携带有目标数据的目标逻辑块地址;依据目标逻辑块地址,得到目标数据对应的目标物理块地址;依据目标物理块地址和固态硬盘中缓存存储器的有效物理块地址范围,确定缓存存储器中是否存储目标数据;若缓存存储器中存储目标数据,则从缓存存储器中读取目标数据,并将目标数据返回至目标对象,解决了相关技术中在读取数据时,将l2c映射表设计成适合查找的hash-list数据结构的映射表,由于hash冲突的无法避免,导致读取数据的时延变大的技术问题,通过目标数据的目标物理块地址与固态硬盘中缓存存储器的有效物理块地址范围,就能够准确判断缓存存储器中是否存储目标数据,即是否命中缓存存储器,相对于现有技术中通过查找l2c映射表来确定是否命中缓存存储器,极大地减少了确定是否命中缓存存储器的时间开销,进而达到了提高读取数据效率的效果。附图说明25.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:26.图1是根据现有技术的一种数据读取方法的示意图;27.图2是根据现有技术的l2c映射表的示意图;28.图3是根据本发明实施例一提供的计算机终端的示意图;29.图4是根据本发明实施例一提供的数据读取方法的流程图;30.图5是根据本发明实施例一提供的可选的数据读取方法的流程图;31.图6是根据本发明实施例一提供的有效物理块地址范围的示意图;32.图7是根据本发明实施例二提供的数据读取装置的示意图;33.图8是根据本发明实施例的三提供的计算机终端的示意图。具体实施方式34.为了使本
技术领域
:的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。35.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。36.首先,在对本技术实施例进行描述的过程中出现的部分名词或术语适用于如下解释:37.lba:logicalblockaddress逻辑块地址;38.pba:physicalblockaddress物理块地址;39.l2ptable:lbatopba,ssd中用于维护lba与pba映射关系的一张表;40.cache:缓存存储器,ssd中host写命令的数据先存放在ssd中的缓存中,在合适的时机,再将cache的数据存储到nandflash中;41.l2c:lbatocache,一种数据结构维护了cache中的每块buffer与lba的映射关系。42.实施例143.根据本发明实施例,还提供了一种数据读取方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。44.本技术实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图3示出了一种用于实现数据读取方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为bus总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。45.应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本技术实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。46.存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的数据读取方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据读取方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。47.传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。48.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。49.在上述运行环境下,本技术提供了如图4所示的数据读取方法。图4是根据本发明实施例一的数据读取方法的流程图。50.步骤s401,接收目标对象触发的读取目标数据的请求,其中,请求中携带有目标数据的目标逻辑块地址。51.具体地,获取针对目标数据的读取请求,其中所述请求中需要包括目标数据对应的目标逻辑块地址(目标lba)。52.步骤s402,依据目标逻辑块地址,得到目标数据对应的目标物理块地址。53.具体地,根据目标数据对应的目标lba,获得对应的目标物理块地址(目标pba)。54.步骤s403,依据目标物理块地址和固态硬盘中缓存存储器的有效物理块地址范围,确定缓存存储器中是否存储目标数据。55.具体地,根据目标数据的目标lba与固态硬盘(ssd)中的缓存存储器(cache)的有效物理块地址范围(cachepbarange),来判断cache中是否存储了目标数据。其中,由于在cache中存储的数据是有限的,当cache中的数据已写满,而又有新的数据写入时,会将最开始写入的数据删除,所以存储在cache中的数据并不是一直不变的,也就是说cache中的数据对应的物理块地址范围也是一直在变化的。有效物理块地址范围就是在确定cache存储了哪些数据。56.步骤s404,若缓存存储器中存储目标数据,则从缓存存储器中读取目标数据,并将目标数据返回至目标对象。57.具体地,确定cache中存储有目标数据时,直接从cache读取目标数据,并将目标数据反馈至目标对象。58.综上,通过目标数据的目标逻辑块地址,得到对应的目标物理块地址,然后利用目标物理块地址和固态硬盘中缓存存储器的有效物理块地址范围,就能够准确判断缓存存储器中是否存储目标数据,即是否命中缓存存储器,相对于现有技术中通过查找l2c映射表来确定是否命中缓存存储器,极大地减少了确定是否命中缓存存储器的时间开销,提高了读取数据效率。59.为了能够通过lba快速确定对应的pba,在本发明实施例一提供的数据读取方法中,在依据目标逻辑块地址,得到目标数据对应的目标物理块地址之前,需要执行以下技术手段:获取固态硬盘中每个闪存对应的物理块地址,得到多个物理块地址;从多个物理块地址中确定为目标数据预分配的目标物理块地址;依据目标物理块地址,更新目标映射表,其中,目标映射表用于存储逻辑块地址与逻辑块地址对应的物理块地址,逻辑块地址与目标数据是一一对应的。60.具体地,在读数据之前,写数据时,确定ssd中的所有闪存(nandflash)对应的多个pba,从多个pba中为cache中的每一个数据(即上述的目标数据)预分配pba,然后根据分配的pba更新l2p映射表(即上述的目标映射表)。lba与数据是一一对应的,pba和数据也是一一对应的。上述过程是为了在读数据时,能够通过lba快速确定对应的pba,进而提高了数据读取效率。61.为了准确确定cache中是否存储有目标数据,在本发明实施例一提供的数据读取方法中,在从多个物理块地址中确定为目标数据预分配的目标物理块地址之后,还需要依据目标物理块地址,确定缓存存储器的有效物理块地址范围。62.具体地,由于在cache中存储的数据是有限的,当cache中的数据已写满,而又有新的数据写入时,会将最开始写入的数据删除,所以存储在cache中的数据并不是一直不变的,也就是说cache现存有的数据对应的物理块地址范围也是一直在变化的。所以可以根据为新写入的数据对应的pba,来确定cache的有效物理块地址范围。为了准确确定cache中是否存储有目标数据,需要确定cache的有效物理块地址范围。63.为保证在读数据时,获取到cache最新的有效物理块地址范围,在本发明实施例一提供的数据读取方法中,在依据目标物理块地址,确定缓存存储器的有效物理块地址范围之后,需要执行以下技术手段:若检测到更新有效物理块地址范围的信号,则对有效物理块地址范围进行更新处理。64.具体地,由于在ssd是在不断写入数据的,所以cache存有的数据也是不断变化的,所以在检测到对有效物理块地址范围更新的信号时,要对有效物理块地址范围进行更新,以保证在读数据时,获取到cache最新的有效物理块地址范围,保障判断的准确度。65.可选地,在本发明实施例一提供的数据读取方法中,依据目标逻辑块地址,得到目标数据对应的目标物理块地址包括:获取目标映射表;依据目标映射表,得到目标数据对应的目标物理块地址。66.具体地,通过l2p映射表(即上述的目标映射表)可以准确获取目标lba对应的目标pba。67.为了提高判断cache中是否存储目标数据的效率,在本发明实施例一提供的数据读取方法中,对依据目标物理块地址和缓存存储器的有效物理块地址范围,确定缓存存储器中是否存储目标数据做了进一步地限定:依据目标物理块地址和缓存存储器的有效物理块地址范围,确定缓存存储器中是否存储目标数据可以采用以下技术特征实现:获取缓存存储器的有效物理块地址范围;判断目标物理块地址是否属于有效物理块地址范围内;若目标物理块地址属于有效物理块地址范围内,则表示缓存存储器中存储目标数据。68.具体地,在根据目标pba和有效物理块地址范围,确定缓存存储器中是否存储目标数据包括:将目标pba与cache的有效物理块地址范围(cachepbarange)进行比较,如果目标pba在cachepbarange内,则表示cache中存有目标数据。通过上述步骤,只需要进行比较运算就可以判断是否命中cache,提高了检测是否命中cache的效率。需要说明的是判断是否命中cache,即为判断cache中是否存储目标数据。69.可选地,在本发明实施例一提供的数据读取方法中,该方法还包括:若目标物理块地址不属于有效物理块地址范围内,则表示缓存存储器中未存储目标数据。70.可选地,在本发明实施例一提供的数据读取方法中,在缓存存储器中未存储目标数据的情况下,该方法还包括:依据目标数据对应的目标物理块地址,确定目标物理块地址对应的目标闪存;从目标闪存读取目标数据,并将目标数据返回至目标对象。71.具体地,在cache中没有存储目标数据的情况下,通过目标数据的目标pba找到对应的目标nandflash(即上述的目标闪存),从目标nandflash获取到目标数据,并将目标数据反馈给目标对象。72.在本发明实施例中,通过接收目标对象触发的读取目标数据的请求,其中,请求中携带有目标数据的目标逻辑块地址;依据目标逻辑块地址,得到目标数据对应的目标物理块地址;依据目标物理块地址和固态硬盘中缓存存储器的有效物理块地址范围,确定缓存存储器中是否存储目标数据;若缓存存储器中存储目标数据,则从缓存存储器中读取目标数据,并将目标数据返回至目标对象,解决了相关技术中在读取数据时,将l2c映射表设计成适合查找的hash-list数据结构的映射表,由于hash冲突的无法避免,导致读取数据的时延变大的技术问题,通过目标数据的目标物理块地址与固态硬盘中缓存存储器的有效物理块地址范围,就能够准确判断缓存存储器中是否存储目标数据,即是否命中缓存存储器,相对于现有技术中通过查找l2c映射表来确定是否命中缓存存储器,极大地减少了确定是否命中缓存存储器的时间开销,进而达到了提高读取数据效率的效果。73.如图5所示,根据本发明实施例一提供的可选的数据读取方法的流程图。step1:根据目标数据的目标lba从l2p映射表中得到对应的目标pba;step2:获取cache的有效物理块地址范围(cachepbarange)如图6所示,cache的有效物理块地址范围的示意图。将目标pba和cachepbarange进行比对确定是否命中cache。如果命中cache,则从cache中读取目标数据。如果没有命中cache,则从nandflash中读取目标数据。74.在本发明实施例一提供的数据读取方法中,通过在写数据的路径上提前更新l2p映射表,并且维护cache的有效物理块地址范围(cachepbarange)信息,再在读数据时先查l2p映射表,再确定cachepbarange的方法,极大提高了cache的查找效率,相比较传统的查找l2c映射表方案相比,降低了查找时间的复杂度,提高了数据读取效率。75.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。76.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的数据读取方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。77.实施例278.根据本发明实施例,还提供了一种用于实施上述数据读取方法的数据读取装置,如图7所示,该装置包括:接收单元701,处理单元702,第一确定单元703和第一读取单元704。79.接收单元701,用于接收目标对象触发的读取目标数据的请求,其中,请求中携带有目标数据的目标逻辑块地址。80.处理单元702,用于依据目标逻辑块地址,得到目标数据对应的目标物理块地址;81.第一确定单元703,用于依据目标物理块地址和固态硬盘中缓存存储器的有效物理块地址范围,确定缓存存储器中是否存储目标数据。82.第一读取单元704,用于若缓存存储器中存储目标数据,则从缓存存储器中读取目标数据,并将目标数据返回至目标对象。83.本发明实施例二提供的数据读取装置,通过接收单元701接收目标对象触发的读取目标数据的请求,其中,请求中携带有目标数据的目标逻辑块地址;处理单元702依据目标逻辑块地址,得到目标数据对应的目标物理块地址;第一确定单元703依据目标物理块地址和固态硬盘中缓存存储器的有效物理块地址范围,确定缓存存储器中是否存储目标数据;第一读取单元704若缓存存储器中存储目标数据,则从缓存存储器中读取目标数据,并将目标数据返回至目标对象,解决了相关技术中在读取数据时,将l2c映射表设计成适合查找的hash-list数据结构的映射表,由于hash冲突的无法避免,导致读取数据的时延变大的技术问题,通过目标数据的目标物理块地址与固态硬盘中缓存存储器的有效物理块地址范围,就能够准确判断缓存存储器中是否存储目标数据,即是否命中缓存存储器,相对于现有技术中通过查找l2c映射表来确定是否命中缓存存储器,极大地减少了确定是否命中缓存存储器的时间开销,进而达到了提高读取数据效率的效果。84.可选地,在本发明实施例二提供的数据读取装置中,该装置还包括:获取单元,用于在依据目标逻辑块地址,得到目标数据对应的目标物理块地址之前,获取固态硬盘中每个闪存对应的物理块地址,得到多个物理块地址;第二确定单元,用于从多个物理块地址中确定为目标数据预分配的目标物理块地址;第一更新单元,用于依据目标物理块地址,更新目标映射表,其中,目标映射表用于存储逻辑块地址与逻辑块地址对应的物理块地址,逻辑块地址与目标数据是一一对应的。85.可选地,在本发明实施例二提供的数据读取装置中,该装置还包括:第三确定单元,用于在从多个物理块地址中确定为目标数据预分配的目标物理块地址之后,依据目标物理块地址,确定缓存存储器的有效物理块地址范围。86.可选地,在本发明实施例二提供的数据读取装置中,在依据目标物理块地址,确定缓存存储器的有效物理块地址范围之后,该装置还包括:第二更新单元,用于若检测到更新有效物理块地址范围的信号,则对有效物理块地址范围进行更新处理。87.可选地,在本发明实施例二提供的数据读取装置中,处理单元702包括:第一获取模块,用于获取目标映射表;处理模块,用于依据目标映射表,得到目标数据对应的目标物理块地址。88.可选地,在本发明实施例二提供的数据读取装置中,第一确定单元703包括:第二获取模块,用于获取缓存存储器的有效物理块地址范围;判断模块,用于判断目标物理块地址是否属于有效物理块地址范围内;确定模块,用于若目标物理块地址属于有效物理块地址范围内,则表示缓存存储器中存储目标数据。89.可选地,在本发明实施例二提供的数据读取装置中,该装置还包括:第四确定单元,用于若目标物理块地址不属于有效物理块地址范围内,则表示缓存存储器中未存储目标数据。90.可选地,在本发明实施例二提供的数据读取装置中,该装置还包括:第五确定单元,用于在缓存存储器中未存储目标数据的情况下,依据目标数据对应的目标物理块地址,确定目标物理块地址对应的目标闪存;第二读取单元,用于从目标闪存读取目标数据,并将目标数据返回至目标对象。91.此处需要说明的是,上述收单元701,处理单元702,第一确定单元703和第一读取单元704对应于实施例1中的步骤s401至步骤s404,四个单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。92.实施例393.本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。94.可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。95.在本实施例中,上述计算机终端可以执行数据读取方法中以下步骤的程序代码:接收目标对象触发的读取目标数据的请求,其中,请求中携带有目标数据的目标逻辑块地址;依据目标逻辑块地址,得到目标数据对应的目标物理块地址;依据目标物理块地址和固态硬盘中缓存存储器的有效物理块地址范围,确定缓存存储器中是否存储目标数据;若缓存存储器中存储目标数据,则从缓存存储器中读取目标数据,并将目标数据返回至目标对象。96.上述计算机终端还可以执行数据读取方法中以下步骤的程序代码:在依据目标逻辑块地址,得到目标数据对应的目标物理块地址之前,获取固态硬盘中每个闪存对应的物理块地址,得到多个物理块地址;从多个物理块地址中确定为目标数据预分配的目标物理块地址;依据目标物理块地址,更新目标映射表,其中,目标映射表用于存储逻辑块地址与逻辑块地址对应的物理块地址,逻辑块地址与目标数据是一一对应的。97.上述计算机终端还可以执行数据读取方法中以下步骤的程序代码:在从多个物理块地址中确定为目标数据预分配的目标物理块地址之后,方法还包括:依据目标物理块地址,确定缓存存储器的有效物理块地址范围。98.上述计算机终端还可以执行数据读取方法中以下步骤的程序代码:在依据目标物理块地址,确定缓存存储器的有效物理块地址范围之后,方法还包括:若检测到更新有效物理块地址范围的信号,则对有效物理块地址范围进行更新处理。99.上述计算机终端还可以执行数据读取方法中以下步骤的程序代码:依据目标逻辑块地址,得到目标数据对应的目标物理块地址包括:获取目标映射表;依据目标映射表,得到目标数据对应的目标物理块地址。100.上述计算机终端还可以执行数据读取方法中以下步骤的程序代码:依据目标物理块地址和缓存存储器的有效物理块地址范围,确定缓存存储器中是否存储目标数据包括:获取缓存存储器的有效物理块地址范围;判断目标物理块地址是否属于有效物理块地址范围内;若目标物理块地址属于有效物理块地址范围内,则表示缓存存储器中存储目标数据。101.上述计算机终端还可以执行数据读取方法中以下步骤的程序代码:方法还包括:若目标物理块地址不属于有效物理块地址范围内,则表示缓存存储器中未存储目标数据。102.上述计算机终端还可以执行数据读取方法中以下步骤的程序代码:在缓存存储器中未存储目标数据的情况下,方法还包括:依据目标数据对应的目标物理块地址,确定目标物理块地址对应的目标闪存;从目标闪存读取目标数据,并将目标数据返回至目标对象。103.可选地,图8是根据本发明实施例三提供的一种计算机终端的结构框图。如图8所示,该计算机终端10可以包括:一个或多个(图中仅示出一个)处理器、存储器。104.其中,存储器可用于存储软件程序以及模块,如本发明实施例中的安全漏洞检测方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的系统漏洞攻击的检测方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。105.处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收目标对象触发的读取目标数据的请求,其中,请求中携带有目标数据的目标逻辑块地址;依据目标逻辑块地址,得到目标数据对应的目标物理块地址;依据目标物理块地址和固态硬盘中缓存存储器的有效物理块地址范围,确定缓存存储器中是否存储目标数据;若缓存存储器中存储目标数据,则从缓存存储器中读取目标数据,并将目标数据返回至目标对象。106.可选的,上述处理器还可以执行如下步骤的程序代码:在依据目标逻辑块地址,得到目标数据对应的目标物理块地址之前,获取固态硬盘中每个闪存对应的物理块地址,得到多个物理块地址;从多个物理块地址中确定为目标数据预分配的目标物理块地址;依据目标物理块地址,更新目标映射表,其中,目标映射表用于存储逻辑块地址与逻辑块地址对应的物理块地址,逻辑块地址与目标数据是一一对应的。107.可选的,上述处理器还可以执行如下步骤的程序代码:在从多个物理块地址中确定为目标数据预分配的目标物理块地址之后,依据目标物理块地址,确定缓存存储器的有效物理块地址范围。108.可选的,上述处理器还可以执行如下步骤的程序代码:在依据目标物理块地址,确定缓存存储器的有效物理块地址范围之后,若检测到更新有效物理块地址范围的信号,则对有效物理块地址范围进行更新处理。109.可选的,上述处理器还可以执行如下步骤的程序代码:依据目标逻辑块地址,得到目标数据对应的目标物理块地址包括:获取目标映射表;依据目标映射表,得到目标数据对应的目标物理块地址。110.可选的,上述处理器还可以执行如下步骤的程序代码:依据目标物理块地址和缓存存储器的有效物理块地址范围,确定缓存存储器中是否存储目标数据包括:获取缓存存储器的有效物理块地址范围;判断目标物理块地址是否属于有效物理块地址范围内;若目标物理块地址属于有效物理块地址范围内,则表示缓存存储器中存储目标数据。111.可选的,上述处理器还可以执行如下步骤的程序代码:若目标物理块地址不属于有效物理块地址范围内,则表示缓存存储器中未存储目标数据。112.可选的,上述处理器还可以执行如下步骤的程序代码:在缓存存储器中未存储目标数据的情况下,依据目标数据对应的目标物理块地址,确定目标物理块地址对应的目标闪存;从目标闪存读取目标数据,并将目标数据返回至目标对象。113.采用本发明实施例,提供了一种数据读取方案。通过接收目标对象触发的读取目标数据的请求,其中,请求中携带有目标数据的目标逻辑块地址;依据目标逻辑块地址,得到目标数据对应的目标物理块地址;依据目标物理块地址和固态硬盘中缓存存储器的有效物理块地址范围,确定缓存存储器中是否存储目标数据;若缓存存储器中存储目标数据,则从缓存存储器中读取目标数据,并将目标数据返回至目标对象,解决了相关技术中在读取数据时,将l2c映射表设计成适合查找的hash-list数据结构的映射表,由于hash冲突的无法避免,导致读取数据的时延变大的技术问题,通过目标数据的目标物理块地址与固态硬盘中缓存存储器的有效物理块地址范围,就能够准确判断缓存存储器中是否存储目标数据,即是否命中缓存存储器,相对于现有技术中通过查找l2c映射表来确定是否命中缓存存储器,极大地减少了确定是否命中缓存存储器的时间开销,进而达到了提高读取数据效率的效果。114.本领域普通技术人员可以理解,图8所示的结构仅为示意,计算机终端也可以是智能手机(如android手机、ios手机等)、平板电脑、掌声电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图8其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图8中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图8所示不同的配置。115.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。116.实施例4117.本发明的实施例还提供了一种计算机可读存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的数据读取方法所执行的程序代码。118.可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。119.可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收目标对象触发的读取目标数据的请求,其中,请求中携带有目标数据的目标逻辑块地址;依据目标逻辑块地址,得到目标数据对应的目标物理块地址;依据目标物理块地址和固态硬盘中缓存存储器的有效物理块地址范围,确定缓存存储器中是否存储目标数据;若缓存存储器中存储目标数据,则从缓存存储器中读取目标数据,并将目标数据返回至目标对象。120.上述的存储介质还被设置为存储用于执行以下步骤的程序代码:在依据目标逻辑块地址,得到目标数据对应的目标物理块地址之前,获取固态硬盘中每个闪存对应的物理块地址,得到多个物理块地址;从多个物理块地址中确定为目标数据预分配的目标物理块地址;依据目标物理块地址,更新目标映射表,其中,目标映射表用于存储逻辑块地址与逻辑块地址对应的物理块地址,逻辑块地址与目标数据是一一对应的。121.上述的存储介质还被设置为存储用于执行以下步骤的程序代码:在从多个物理块地址中确定为目标数据预分配的目标物理块地址之后,依据目标物理块地址,确定缓存存储器的有效物理块地址范围。122.上述的存储介质还被设置为存储用于执行以下步骤的程序代码:在依据目标物理块地址,确定缓存存储器的有效物理块地址范围之后,若检测到更新有效物理块地址范围的信号,则对有效物理块地址范围进行更新处理。123.上述的存储介质还被设置为存储用于执行以下步骤的程序代码:依据目标逻辑块地址,得到目标数据对应的目标物理块地址包括:获取目标映射表;依据目标映射表,得到目标数据对应的目标物理块地址。124.上述的存储介质还被设置为存储用于执行以下步骤的程序代码:依据目标物理块地址和缓存存储器的有效物理块地址范围,确定缓存存储器中是否存储目标数据包括:获取缓存存储器的有效物理块地址范围;判断目标物理块地址是否属于有效物理块地址范围内;若目标物理块地址属于有效物理块地址范围内,则表示缓存存储器中存储目标数据。125.上述的存储介质还被设置为存储用于执行以下步骤的程序代码:若目标物理块地址不属于有效物理块地址范围内,则表示缓存存储器中未存储目标数据。126.上述的存储介质还被设置为存储用于执行以下步骤的程序代码:在缓存存储器中未存储目标数据的情况下,依据目标数据对应的目标物理块地址,确定目标物理块地址对应的目标闪存;从目标闪存读取目标数据,并将目标数据返回至目标对象。127.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。128.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。129.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。130.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。131.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。132.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。133.以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1