CN116795276A - 一种数据读取方法及装置 - Google Patents
一种数据读取方法及装置 Download PDFInfo
- Publication number
- CN116795276A CN116795276A CN202210273203.2A CN202210273203A CN116795276A CN 116795276 A CN116795276 A CN 116795276A CN 202210273203 A CN202210273203 A CN 202210273203A CN 116795276 A CN116795276 A CN 116795276A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- information
- processor
- valid
- 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
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000013507 mapping Methods 0.000 claims description 61
- 238000012217 deletion Methods 0.000 claims description 17
- 230000037430 deletion Effects 0.000 claims description 17
- 238000005516 engineering process Methods 0.000 claims description 11
- 238000013500 data storage Methods 0.000 abstract description 3
- 238000012005 ligant binding assay Methods 0.000 description 25
- 229920001485 poly(butyl acrylate) polymer Polymers 0.000 description 20
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 14
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 239000008187 granular material Substances 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 239000008188 pellet Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
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
技术领域
本申请涉及数据存储技术领域,尤其涉及一种数据读取方法及装置。
背景技术
固态硬盘(solid state disk,SSD)采用闪存NAND作为存储介质来存储数据,SSD包括闪存转换层(flash translation layer,FTL)和FTL映射表,当SSD的控制器接收到主机的数据读写请求,进行数据的读写时,FTL可用于将数据的逻辑区块地址(logical blockaddress,LBA)转换为物理区块地址(physics block address,PBA),控制器根据转换后的PBA进行数据的读写,其中,FTL映射表可以用于记录SSD中逻辑区块地址和物理区块地址的转换关系。与机械硬盘相比,SSD具有快速读写、质量轻、能耗低以及体积小等特点,因此被广泛应用。
现有技术中,主机遍历读取SSD中的数据时,将SSD中所有的LBA均访问一次,以读取SSD中的数据。由于,SSD的闪存NAND中包括部分未存储数据的空间,也可以称为空闲空间,空闲空间有对应的LBA,但是,在FTL映射表中这部分LBA没有对应的PBA。当处理器访问到没有对应的PBA的LBA时,SSD向处理器反馈一个无效的数据。因此,处理器还需要将遍历读取到的数据进行魔术字Magic检验或者循环冗余校验(cyclic redundancy check,CRC),筛选出数据中的无效数据,从而得到有效数据。
但是,处理器遍历读取SSD中的数据时,空闲空间的读取占用了额外的时间,导致遍历读取的效率不高;另一方面,处理器读取的数据中包括无效数据,还需要对读取的数据进行校验才能得到有效数据,降低了数据的准确性。
发明内容
本申请提供一种数据读取方法及装置,涉及数据存储技术领域,用于提高遍历读取的效率和数据的准确性。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种数据读取方法,该方法包括:处理器向存储器发送查询命令,该查询命令用于查询该存储器中存储的数据的有效信息,该有效信息用于指示该数据是否为有效数据;该处理器接收来自该存储器的该有效信息,当该有效信息指示该数据为有效数据时,该处理器向该存储器发送访问请求,其中,该访问请求包括该有效数据的地址信息;该处理器接收来自该存储器的数据信息,该数据信息包括该有效数据。
上述技术方案中,当处理器遍历读取存储器中的数据时,处理器先向存储器发送查询命令,该查询命令用于查询该存储器中存储的数据的有效信息,该有效信息用于指示该数据是否为有效数据,处理器接收来自存储器的该有效信息,当该有效信息指示该数据为有效数据时,处理器向存储器发送访问请求,该访问请求包括该有效数据的地址信息,以对该存储器中存储的有效数据进行遍历读取,处理器接收来自存储器的数据信息,该数据信息包括该有效数据,从而得到该存储器中存储的有效数据,在此过程中,处理器只对该存储器中存储有效数据的存储空间进行了访问,而不是将该存储器中的所有存储空间均进行了访问,现有技术中,处理器在遍历读取存储器中的数据时,将存储器中的所有存储空间均访问一次,即处理器将存储器中存储有效数据的存储空间和没有存储数据的空间均进行了访问,与现有技术中相比,本技术方案提高了遍历读取的效率;此外,本方案中该处理器根据存储器中有效数据的地址对存储器进行访问,以读取该存储器中的有效数据,无需对读取出的数据进行校验即可得到有效数据,与现有技术中,处理器需要对读取出的数据进行检验才能得到有效数据相比,提高了数据的准确性。
在第一方面的一种可能的实现方式中,该查询命令为非易失性内存主机控制器接口规范NVME命令、串行连接SCSI SAS命令或串行高级技术附件SATA命令。
上述可能的实现方式中,该查询命令可以为NVME命令、SAS命令或SATA命令,增加了选择的多样性。
在第一方面的一种可能的实现方式中,该有效信息是以位图或者链表的形式指示该有效数据的地址信息。上述可能的实现方式中,增加了选择的多样性。
在第一方面的一种可能的实现方式中,该方法还包括:该处理器向该存储器发送删除命令,该删除命令用于删除目标数据。
上述可能的实现方式中,该处理器通过向存储器发送删除命令来删除存储在存储器中的目标数据,在处理器遍历读取存储器中的数据时,避免返回该目标数据的有效信息,即避免返回该目标数据的地址信息,提高了遍历读取的速率,进一步,提高了有效数据的准确性。
第二方面,提供一种数据读取方法,该方法包括:存储器接收来自处理器的查询命令,该查询命令用于查询该存储器中存储的数据的有效信息,该有效信息用于指示该数据是否为有效数据;该存储器向该处理器发送该有效信息;该存储器接收来自该处理器的访问请求,其中,该访问请求包括该有效数据的地址信息;该存储器向该处理器发送数据信息,该数据信息包括该有效数据。
上述技术方案中,在处理器遍历读取存储器中的数据时,存储器接收来自处理器的查询命令,该查询命令用于查询该存储器中存储的数据的有效信息,该有效信息用于指示该数据是否为有效数据,该存储器向该处理器发送该有效信息,该存储器接收来自处理器的访问请求,其中,该访问请求包括该有效数据的地址信息,该存储器根据该有效数据的地址信息依次进行有效数据的读取,并将读取到的有效数据发送给处理器,在此过程中,该处理器在遍历读取该存储器中的数据时,该存储器只根据有效数据的地址信息对该存储器中存储有效数据的存储空间进行了读取,而不是将该存储器中的每个存储空间都进行了读取,与现有技术中,处理器在遍历读取存储器中的数据时,存储器将所有的存储空间均读取一次相比,提高了遍历读取的效率;此外,该存储器根据该有效数据的地址进行有效数据的读取,无需将读取到的数据进行校验既可得到有效数据,与现有技术中,存储器将遍历读取出的数据进行检验才能的带有效数据相比,提高了数据的准确性。
在第二方面的一种可能的实现方式中,该存储器接收来自处理器的查询命令之后,该方法还包括:该存储器根据该存储器的逻辑区块地址查询地址映射信息,以确定该有效数据的物理区块地址,该地址映射信息用于指示该存储器中存储的数据的逻辑区块地址与物理区块地址之间的映射关系。
上述可能的实现方式中,根据该存储器的逻辑区块地址查询地址映射信息,以确定该有效数据的物理区块地址,从而确定了该存储器中有效数据的地址信息,存储器将该有效数据的地址信息发送给处理器,处理器根据有效数据的地址信息发送访问请求,以读取该存储器中的有效数据,即该存储器只根据有效数据的地址信息对该存储器中存储有效数据的存储空间进行了读取,而不是将该存储器中的每个存储空间都进行了读取,与现有技术中,处理器在遍历读取存储器中的数据时,存储器将所有的存储空间均读取一次相比,提高了遍历读取的效率;此外,该存储器根据该有效数据的地址进行有效数据的读取,无需将读取到的数据进行校验既可得到有效数据,与现有技术中,存储器将遍历读取出的数据进行检验才能的带有效数据相比,提高了数据的准确性。
在第二方面的一种可能的实现方式中,该存储器接收来自该处理器的访问请求之后,该方法还包括:该存储器根据该有效数据的地址信息,从该存储器中读取该有效数据。
上述可能的实现方式中,该存储器根据有效数据的地址,从该存储器中读取该有效数据,与现有技术中,存储器对每个存储空间都进行一次访问,以读取存储器中的数据相比,提高了遍历读取的效率,此外,该存储器根据该有效数据的地址进行有效数据的读取,无需将读取到的数据进行校验既可得到有效数据,与现有技术中,存储器将遍历读取出的数据进行检验才能的带有效数据相比,提高了数据的准确性。
在第二方面的一种可能的实现方式中,该方法还包括:该存储器接收来自该处理器的删除命令,并根据该删除命令删除目标数据。
上述可能的实现方式中,该存储器接收来自该处理器的删除命令,并根据该删除命令删除目标数据,在处理器遍历读取存储器中的数据时,避免返回该目标数据的有效信息,即避免返回该目标数据的地址信息,提高了遍历读取的速率,进一步,提高了有效数据的准确性。
在第二方面的一种可能的实现方式中,该存储器中还存储有该目标数据的地址信息,该方法还包括:该存储器删除该目标数据的地址信息。
上述可能的实现方式中,存储器删除目标数据的地址信息,避免目标数据的地址信息占用存储器的存储空间,提高了存储器中存储空间的利用率。
在第二方面的一种可能的实现方式中,该查询命令为非易失性内存主机控制器接口规范NVME命令、串行连接SCSI SAS命令或串行高级技术附件SATA命令。
上述可能的实现方式中,该查询命令可以为NVME命令、SAS命令或SATA命令,增加了选择的多样性。
在第二方面的一种可能的实现方式中,该有效信息是以位图或者链表的形式指示该有效数据的地址信息。上述可能的实现方式中,增加了选择的多样性。
第三方面,提供一种处理器,该处理器包括:发送单元,用于向存储器发送查询命令,该查询命令用于查询该存储器中存储的数据的有效信息,该有效信息用于指示该数据是否为有效数据;接收单元,用于接收来自该存储器的有效信息;当该有效信息指示该数据为有效数据时,该发送单元,还用于向该存储器发送访问请求,其中,该访问请求包括该有效数据的地址信息;该接收单元,还用于接收来自该存储器的数据信息,该数据信息包括该有效数据。
在第三方面的一种可能的实现方式中,该查询命令为非易失性内存主机控制器接口规范NVME命令、串行连接SCSI SAS命令或串行高级技术附件SATA命令。
在第三方面的一种可能的实现方式中,该有效信息是以位图或者链表的形式指示该有效数据的地址信息。
在第三方面的一种可能的实现方式中,该发送单元还用于:向该存储器发送删除命令,该删除命令用于删除目标数据。
第四方面,提供一种存储器,该存储器包括:接收单元,用于接收来自处理器的查询命令,该查询命令用于查询该存储器中存储的数据的地址信息,该有效信息用于指示该数据是否为有效数据;发送单元,用于向该处理器发送该有效信息;该接收单元,还用于接收来自该处理器的访问请求,其中,该访问请求包括该有效数据的地址信息;该发送单元,还用于向该处理器发送数据信息,该数据信息包括该有效数据。
在第四方面的一种可能的实现方式中,该存储器还包括查询单元:该接收单元接收来自处理器的查询命令之后,该查询单元,用于根据该存储器的逻辑区块地址查询地址映射信息,以确定该有效数据的物理区块地址,该地址映射信息用于指示该存储器中存储的数据的逻辑区块地址与物理区块地址之间的映射关系。
在第四方面的一种可能的实现方式中,该存储器还包括读取单元:该接收单元接收来自该处理器的访问请求之后,该读取单元,用于根据该有效数据的地址信息,从该存储器中读取该有效数据。
在第四方面的一种可能的实现方式中,该查询命令为非易失性内存主机控制器接口规范NVME命令、串行连接SCSI SAS命令或串行高级技术附件SATA命令。
在第四方面的一种可能的实现方式中,该有效信息是以位图或者链表的形式指示该有效数据的地址信息。
在第四方面的一种可能的实现方式中,该存储器还包括删除单元:该接收单元,还用于接收来自该处理器的删除命令,该删除单元,用于根据该删除命令删除目标数据。
在第四方面的一种可能的实现方式中,该存储器中还存储有该目标数据的地址信息,该删除单元还用于:删除该目标数据的地址信息。
第五方面,提供一种电子设备,该电子设备包括:处理器和存储器,该处理器为上述第三方面或者第三方面的任一种可能的实现方式所提供的处理器,该存储器为上述第四方面或者第四方面的任一种可能的实现方式所提供的存储器。
本申请的又一方面,提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当该计算机指令在处理器上运行时,执行如上述第一方面或者第一方面的任一种可能的实现方式中的相关步骤。
本申请的又一方面,提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当该计算机指令在存储器上运行时,执行如上述第二方面或者第二方面的任一种可能的实现方式中的相关步骤。
在本申请的又一方面,提供一种包含指令的计算机程序产品,当计算机程序产品在计算机上设备运行时,使得处理器执行如上述第一方面或者第一方面的任一种可能的实现方式中的相关步骤。
在本申请的又一方面,提供一种包含指令的计算机程序产品,当计算机程序产品在计算机设备上运行时,使得存储器执行如上述第二方面或者第二方面的任一种可能的实现方式中中的相关步骤。
可以理解地,上述提供的一种处理器、存储器、电子设备、计算机可读存储介质和计算机程序产品可用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种SSD的结构示意图;
图2为本申请实施例提供的一种闪存颗粒的结构示意图;
图3为本申请实施例提供的一种电子设备的结构示意图;
图4为本申请实施例提供的一种终端设备的结构示意图;
图5为本申请实施例提供的一种数据读取方法的流程图;
图6为本申请实施例提供的一种映射表的示意图;
图7为本申请实施例提供的一种处理器和SSD的示意图;
图8为本申请实施例提供的另一种数据读取方法的流程图;
图9为本申请实施例提供的一种数据删除取方法的流程图;
图10为本申请实施例提供的一种处理器的结构示意图;
图11为本申请实施例提供的一种存储器的结构示意图。
具体实施方式
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b、或c中的至少一项(个),可以表示:a、b、c、a和b、a和c、b和c、或a和b和c,其中a、b、c可以是单个,也可以是多个。另外,本申请实施例采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一阈值和第二阈值仅仅是为了区分不同的阈值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在介绍本申请实施例之前,首先对固态硬盘(solid state disk,SSD)的相关知识进行介绍说明。
图1为一种SSD的结构示意图,包括:控制器01、内存02和多个闪存颗粒03。
其中,控制器01是SSD的控制中心,利用各种接口和线路连接整个SSD的各个部分,该控制器01可用于控制内存02和该多个闪存颗粒03的读写,比如,该控制器01可用于接收处理器的遍历访问请求,以对多个闪存颗粒03进行遍历读取。该控制器01还用于管理该SSD中的地址信息,该地址信息可以包括逻辑区块地址(logical block address,LBA)和物理区块地址(physics block address,PBA)。该控制器01还用于向处理器发送信息,比如,该信息可以包括下文所提供的方法实施例中的有效信息和数据信息。
内存02是与控制器01直接交换数据的内部存储器,可用于存储操作系统或其他正在运行中的程序的临时数据和SSD使用中所创建的信息。
多个闪存颗粒03作为存储介质,用于存储数据以及数据相应的地址信息,比如,该地址信息可以包括数据的逻辑区块地址(logical block address,LBA)和物理区块地址(physics block address,PBA)。对于多个闪存颗粒03中的每个闪存颗粒03,该闪存颗粒03包括多个存储芯片Die,多个存储芯片中的每个存储芯片包括多个存储块Block,多个存储块中的每个存储块包括多个存储页Page。在一种可能的实现方式中,该闪存颗粒可以为闪存NAND颗粒。
图2为一种闪存NAND颗粒结构示意图,该闪存NAND颗粒包括4个存储芯片且可以表示为D1至D4,对于D1至D4中的每个存储芯片,该芯片包括两个存储块且可以表示为B1和B2,该B1和B2中的每个存储块包括10个存储页且可以表示为P1至P10。图2中以一个闪存颗粒包括4个存储芯片,每个存储芯片包括2个存储块,每个存储块包括10个存储页为例进行说明。
其中,闪存NAND颗粒的存储容量与闪存NAND颗粒中包括的储存处芯片的数量和存储芯片的容量有关。比如,在实际应用中,单个存储芯片的容量一般为8吉字节(GB)、16GB、32GB或更大,如果单个闪存NAND颗粒有8个存储芯片,则单个闪存NAND颗粒的容量可以为64GB、128GB、256GB或更大。
本申请提供一种数据读取方法,该数据读取方法应用于电子设备中,当处理器遍历读取存储器中的数据时,通过向存储器发送查询命令,查询存储器中存储的数据的有效信息,该有效信息用于指示该数据是否为有效数据,当该有效信息指示该数据为有效数据时,处理器根据有效数据的地址信息发送访问请求,即处理器只对存储器中存储有有效数据的存储空间进行访问,从而得到存储器中的数据,与现有技术中处理器遍历读取存储器中数据时,将存储器中的每个存储空间(存储有效数据的存储空间和未存储数据的空间)均访问一次相比,提高了遍历读取的效率,进一步,提高了数据的准确性。
下面首先对电子设备的结构进行介绍说明。该电子设备包括服务器和存储器,该电子设备也可包括终端设备,其中,该存储器可以为外部存储器。
图3为一种电子设备的结构示意图,该电子设备可以包括服务器10和外部存储器11。
其中,该服务器10可用于对该外部存储器11进行查询和访问,比如,服务器10可以包括处理器,该处理器可以通过向该外部存储器11发送查询命令和访问请求,以对该外部存储器11进行查询和访问。该服务器10还用于接收来自该外部存储器11的信息,该信息可以包括有效信息和数据信息。
该外部存储器11可用于接收该服务器10发送的查询命令和访问请求,比如,该外部存储器11可以包括控制器,该控制器可用于接收该服务器10发送的查询命令和访问请求。该控制器还用于向该服务器10发送信息,该信息可以包括有效信息和数据信息。在一种可能的实现方式中,该外部存储器11可以为SSD,该SSD可以为上述图2中所示的SSD。
可选的,该服务器10中的处理器可以采用不同的协议与该外部存储器11进行通信,且采用不同的协议时,该服务器10与该外部存储器11之间的连接方式不同。下面分别将该处理器和该外部存储器11之间的三种不同的通信协议进行说明。
在第一种可能的实现方式中,该处理器可以采用非易失性内存控制器接口规范(non-volatile memory express,NVME)协议与该外部存储器11进行通信,此时,该服务器10与该外部存储器11之间通过PCI-E总线连接。在第二种可能的实现方式中,该处理器可以采用串行连接SCSI(serial attached scsi,SAS)协议与该外部存储器11进行通信,此时,该服务器10与该外部存储器11之间通过SAS总线连接。在第三种可能的实现方式中,该处理器可以采用串行高级技术附件(serial advanced technology attachment,SATA)协议与该外部存储器11进行通信,此时,该服务器10与该外部存储器11之间通过ATA总线连接。当该处理器与该外部存储器11之间采用不同的协议进行通信时,该处理器向该外部存储器11发送的查询命令和访问请求也会被封装成与通信协议相对应的格式,存储器11向发送的信息也会被封装成与通信协议相对应的格式。例如,该处理器向存储器11发送的查询命令可以为NVME命令、SAS命令或SATA命令。
当该电子设备包括终端设备时,该终端设备可以包括但不限于个人计算机、服务器计算机、移动设备(比如手机、平板电脑、媒体播放器等)、可穿戴设备、车载设备、消费型终端设备、移动机器人和无人机等。
图4为本申请实施例提供的一种终端设备的结构示意图,该终端设备包括处理器101、存储器102、传感器组件103、多媒体组件104、电源105以及输入\输出接口106。
其中,处理器101也可以是终端设备的控制中心,利用各种接口和线路连接整个设备的各个部分,通过运行或执行存储在存储器102内的软件程序和/或软件模块,以及调用存储在存储器102内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。可选地,处理器101可以包括一个或多个处理单元,比如,上述处理器101可以包括中央处理器(central processing unit,CPU)、应用处理器(application processor,AP)、调制解调处理器、图形处理器(graphics processing unit,GPU)、图像信号处理器(imagesignal processor,ISP)、控制器、视频编解码器、数字信号处理器(digital signalprocessor,DSP)、基带处理器和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在本申请实施例中,该处理器101可用于向存储器102发送指令,该指令可以包括查询命令、访问请求和删除命令。该处理器101还用于接收来自该存储器102的信息,该信息可以包括数据信息和有效信息。
存储器102可用于存储数据、软件程序以及软件模块;主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统和至少一个功能所需的应用程序,比如声音播放功能或图像播放功能等;存储数据区可存储根据终端设备的使用所创建的数据,比如音频数据、图像数据、或表格数据等。该存储器102可以包括内部存储器、高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。该内部存储器可以为内存。在本申请实施例中,该存储器102可以包括外部存储器,该外部存储器可用于接收该处理器101发送的指令,比如,该外部存储器可以包括控制器,该控制器可用于接收该处理器101发送的指令。该控制器还用于向该处理器101发送信息,该信息可以包括有效信息和数据信息。在一种可能的实现方式中,该外部存储器可以为SSD,该SSD可以为上述图2中所示的SSD。
传感器组件103包括一个或多个传感器,用于为终端设备提供各个方面的状态评估。其中,传感器组件103可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器,通过传感器组件103可以检测到终端设备的加速/减速、方位、打开/关闭状态、组件的相对定位或终端设备的温度变化等。此外,传感器组件103还可以包括光传感器,此外,传感器组件103还可以包括光传感器,用于检测周围环境的灯光。
多媒体组件104在终端设备和用户之间的提供一个输出接口的屏幕,该屏幕可以为触摸面板,且当该屏幕为触摸面板时,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。此外,多媒体组件104还包括至少一个摄像头,比如,多媒体组件104包括一个前置摄像头和/或后置摄像头。当终端设备处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
电源105用于为该终端设备的各个组件提供电源,电源105可以包括电源管理系统,一个或多个电源,或其他与该终端设备生成、管理和分配电力相关联的组件。
输入\输出接口106为处理器101和外围接口模块之间提供接口,比如,外围接口模块可以键盘、鼠标、或通用串行总线(universal serial bus,USB)设备等。在本申请实施例中,当该存储器102包括外部存储器时,该终端设备和该外部存储器之间通过该输入\输出接口106进行通信。
下面结合图3中所示的电子设备以及图4中所示的终端设备,对本申请实施例提供的数据读取方法进行介绍说明。以下实施例中的存储器可以是指上述图3中的外部存储器。
图5为本申请实施例提供的一种数据读取方法的流程图,该数据读取方法包括:
S501:处理器向存储器发送查询命令,该查询命令用于查询该存储器中存储的数据的有效信息,该有效信息用于指示该数据是否为有效数据。
其中,该存储器可以包括至少一个闪存颗粒,该至少一个闪存颗粒中的每个闪存颗粒可以包括多个存储芯片,该多个存储芯片中的每个存储芯片可以包括多个存储块,该多个存储块中的每个存储块可以包括多个存储页,该多个存储页中的每个存储页可以包括多个存储单元。为了便于理解,下面以该存储器包括一个闪存颗粒N1为例进行说明。示例性的,该闪存颗粒N1包括第一存储芯片D1和第二存储芯片D2,对于D1和D2中的任意一个存储芯片可以包括第一存储块B1和第二存储块B2,对于B1和B2中的任意一个存储块包括10个存储页P1至P10,对于该P1至P10中的每个存储页可以包括至少一个存储单元,即该闪存颗粒包括多个存储单元,该多个存储单元中的每个存储单元可用于存储数据。以下实施例中均以该存储器包括上述闪存颗粒N1为例进行说明。
其次,该查询命令可以包括该存储器的所有逻辑区块地址,该查询命令也可以包括该存储器部分逻辑区块地址。下面分别将上述两种情况进行说明。
第一种可能的实施例中,该查询命令包括该存储器的部分逻辑区块地址。该部分逻辑区块地址用于指示该存储器中的部分存储空间,比如,该部分存储空间可以是部分闪存颗粒、同一闪存颗粒中的部分存储块、同一存储块中的部分存储页、或者同一存储页的部分存储单元。当该查询命令包括该存储器的部分逻辑区块地址时,该部分逻辑区块地址是连续的。比如,该闪存颗粒N1包括10个存储单元,每个存储单元对应一个逻辑区块地址,即该闪存颗粒N1包括10个逻辑区块地址,该查询命令可以包括闪存颗粒N1中的5个逻辑区块地址,此时,该5个存储单元对应的LBA是连续的,且可以表示为LBA0至LBA4。
第二种可能的实施例中,该查询命令包括该存储器的所有逻辑区块地址,该所有的逻辑区块地址可用于指示该存储器的全部存储空间。比如,该查询命令可以包括该存储器的首逻辑区块地址和地址长度,该地址长度为该存储器中除该首逻辑区块地址外的所有逻辑区块地址的长度;或者,该查询命令也可以包括该存储器的尾逻辑区块地址和地址长度,该地址长度为该存储器中除该尾逻辑区块地址外的所有逻辑区块地址的长度;或者,该查询命令还可以包括该存储器的首逻辑区块地址和尾逻辑区块地址。以该查询命令包括该存储器的首逻辑区块地址和地址长度为例,当该存储器包括10个存储单元,且该10个存储单元的首逻辑区块地址为LBA0时,该查询命令为LBA0以及地址长度10。以下实施例中以该查询命令包括该存储器的首逻辑区块地址和地址长度,该查询命令包括该存储器的所有的逻辑区块地址为例进行说明。
可选的,当处理器与存储器之间采用不同的协议进行通信时,该查询命令也被封装成不同的格式。下面分别将该查询命令的三种格式进行说明。
在第一种可能的实现方式中,该处理器与该存储器之间采用NVME协议进行通信,则该查询命令被封装成NVME命令。
在第二中可能的实现方式中,该处理器与该存储器之间采用SAS协议进行通信,则该查询命令被封装成SAS命令。
在第三种可能的实现方式中,该处理器与该存储器之间采用SATA协议进行通信,则该查询命令被封装成SATA命令。
此外,该有效信息可以包括地址映射信息,该地址映射信息于指示存储器中存储的数据的逻辑区块地址与物理区块地址之间的映射关系。该有效信息可以存储在该存储器中,比如,该有效信息可以存储在该存储器的闪存颗粒中,该有效信息也可以存储在该存储器外的存储设备中,比如,该有效信息可以存储在该处理器的内存中。以下实施例中,以该有效信息存储在该存储器中为例进行说明。
另外,在该存储器所包括的多个存储单元中,可能存在一部分存储单元中存储有数据(或者称为存储的数据为有效数据),一部分存储单元中没有存储数据(或者称为存储的数据为无效数据)。上述存储器中存储的数据可以包括该存储器中存储的所有的有效数据。
S502:存储器接收来自处理器的查询命令,该查询命令用于查询该存储器中存储的数据的有效信息,该有效信息用于指示该数据是否为有效数据。
进一步的,该存储器根据该存储器的LBA查询存储在存储器中数据的地址映射信息(即有效信息),以确定该LBA是否有与之对应的PBA,若该LBA有与之对应的PBA,则该LBA对应的存储单元中存储有数据,该数据为有效数据,该PBA为有效数据的物理区块地址,从而可以通过查询存储在存储器中数据的地址映射信息,确定该存储器中存储的有效数据的物理区块地址。在一种可能的实现方式中,该有效信息可以存储在表格中,也可以称为映射表,比如,该映射表可以为闪存转换层(flash translation layer,FTL)映射表。
其中,该映射表可以包括至少一个子映射表,该至少一个子映射表可以包括一个子映射表,也可以包括多个子映射表,不同的子映射表可以用于指示不同存储空间的地址映射信息,该存储空间的粒度可以是存储芯片、存储块或者存储页等,本申请实施例对此不作具体限制。比如,该映射表可以包括第一子映射表,此时,该第一子映射表中存储该存储颗粒N1中的有效数据的地址映射信息;或者,该映射表可以包括第一子映射表和第二子映射表,该第一子映射表和该第二子映射表可以分别存储该存储器中存储芯片D1中的有效数据的地址映射信息,以及存储芯片D2中的有效数据的地址映射信息。
示例性的,图6为本申请实施例提供的一种映射表的示意图,图6中以该映射表包括子映射表0和子映射表1,该存储器包括第一存储块和第二存储块为例。其中,映射表0用于表示第一存储块中存储的数据区0的地址映射信息,该数据区0可以包括第一存储块中的有效数据,该数据区0的逻辑区块地址为LBA0至LBAX,该数据区0的物理区块地址为LBA0至PBAX,其中X为大于等于1的正整数。映射表1用于表示第二存储块中存储的数据区1的地址映射信息,该数据区1可以包括第二存储块中的有效数据,该数据区1的逻辑区块地址为LBAX至LBAY,该数据区1的物理区块地址为LBA1至PBAY,其中,Y为大于X的正整数。
其中,对于该存储器包括的多个存储单元中的每个存储单元,若该存储单元中存储有有效数据,则在该地址映射信息中该存储单元的LBA有与之对应的PBA,该PBA为该存储单元中存储的数据的物理区块地址,该数据为有效数据;若该存储单元中没有存储有效数据,则在该地址映射信息中该存储单元的LBA没有与之对应的PBA或者没有该存储单元的LBA。因此,可以通过查询地址映射信息,确定该存储器中的每个存储单元的LBA是否有与之对应的PBA,从而确定该存储器中存储的有效数据的逻辑区块地址;或者,通过查询地址映射信息,确定该存储器中的每个存储单元是否有相应的LBA,从而确定该存储器中存储的有效数据的逻辑区块地址。
具体的,以该存储器包括5个存储单元,该5个存储单元的逻辑区块地址可以表示为LBA0至LBA4为例,该存储器根据LBA0查询地址映射信息,若在该地址映射信息中,该LBA0有与之对应的PBA,则该PBA为有效数据的物理区块地址,按照上述步骤,依次查询LBA1至LBA4,从而确定该5个存储单元中有效数据的逻辑区块地址。
S503:该存储器向该处理器发送有效信息,该有效信息用于指示该有效数据的地址。
其中,该有效信息可以包括该有效数据的逻辑区块地址,或者该有效信息可以包括该有效数据的逻辑区块地址的指示信息。当该有效信息包括不同的内容时,该有效信息被封装成不同的形式发送给处理器。下面分别将该有效信息的两种形式进行说明。
在第一种可能的实施例中,该有效信息包括该有效数据的逻辑区块地址,此时,该有效信息被封装成链表发送给处理器。比如,该有效数据包括第一有效数据和第二有效数据,该第一有效数据的逻辑区块地址为LBA1,该第二有效数据的逻辑区块地址为LBA2,将该LBA1与LBA2连接在一起后,以“LBA1-LBA2”的形式发送给处理器。
在第二种可能的实施例中,该有效信息包括该有效数据的逻辑区块地址的指示信息,此时,该有效信息被封装成位图发送给处理器。示例性的,该存储器包括3个存储单元,该三个存储单元的逻辑区块地址可以表示为LBA1至LBA3,其中,LBA1和LBA2分别有与之对应的PBA,LBA3中没有与之对应的PBA,此时,该LBA1和LBA2的指示信息均为1,LBA3的指示信息为0,将指示信息“110”发送给处理器,其中,1用于指示逻辑区块地址有与之对应的物理区块地址,0用于指示逻辑区块地址没有与之对应的物理区块地址。
S504:该处理器接收来自该存储器的有效信息,该有效信息用于指示该有效数据的地址。
进一步的,该处理器接收来自该存储器的有效信息之后,将该有效信息进行解析,以得到该有效数据的逻辑区块地址。下面基于S503中有效信息的两种可能的形式,将该处理器解析该有效信息的过程进行说明。
在第一种可能的实施例中,该有效信息包括该有效数据的逻辑区块地址,比如,该有效信息可以包括“LBA1-LBA2”,该处理器将“LBA1-LBA2”进行拆解后得到逻辑区块地址LBA1和逻辑区块地址LBA2,该LBA1为第一有效数据的逻辑区块地址,该LBA2第二有效数据的逻辑区块地址,从而得到该存储器中的有效数据的逻辑区块地址为LBA1和LBA2。
在第二种可能的实施例中,该有效信息包括有效数据的逻辑区块地址的指示信息,比如,该有效信息可以包括“110”,该处理器将有效数据的逻辑区块地址的指示信息“110”与该存储器中的逻辑区块地址进行对比解析,可知逻辑区块地址LBA1和逻辑区块地址LBA2的有效信息均为1,则表示逻辑区块地址LBA1和逻辑区块地址LBA2分别有与之对应的物理区块地址,逻辑区块地址LBA3的指示信息为0,则表示逻辑区块地址LBA3没有与之对应的物理区块地址,即该逻辑区块地址LBA3中没有存储数据,从而得到该存储器中的有效数据的逻辑区块地址为LBA1和LBA2。
S505:该处理器向该存储器发送访问请求,其中,该访问请求包括该有效数据的地址信息。
其中,用于访问存储器中所有的有效数据的访问请求可以是一次性发送的,也可以是通过多次发送的。下面分别将处理器的两种访问形式进行说明。以下实施例中,以该存储器中包括多个有效数据为例进行说明。
第一种可能的实施例中,该处理器一次性访问该存储器,具体的,该处理器向该存储器发送一次访问请求,该访问请求中包括该多个逻辑区块地址,该多个逻辑区块地址为该存储器中所有有效数据的逻辑区块地址。
第二种可能的实施例中,该处理器根据该多个有效数据的多个逻辑区块地址一个一个地进行访问,具体的,该处理器向该存储器发送多次访问请求,多次访问请求中的每次访问请求中包括一个逻辑区块地址,该逻辑区块地址为该存储器中一个有效数据的逻辑区块地址,直到将该存储器中所有的有效数据的逻辑区块地址均发送给存储器。
S506:该存储器接收来自该处理器的访问请求,该访问请求用于访问该有效数据,其中,该访问请求包括该有效数据的地址信息。
下面基于S505中处理器两种可能的访问形式,对该存储器读取有效数据的两种不同的方式程进行详细的说明。
在第一种可能的实施例中,该存储器只接收到一个访问请求,该访问请求中包括多个逻辑区块地址,该存储器依次确定该多个逻辑区块地址中的每个逻辑区块地址对应的物理区块地址,并读取该物理区块地址中的有效数据,从而得到该存储器中的多个有效数据。
在第二种可能的实施例中,该存储器每次接收一个访问请求,该访问请求包括该一个逻辑区块地址,该存储器根据确定该逻辑区块地址对应的物理区块地址,并读取该物理区块地址中的有效数据,该存储器接收一个访问请求读取一个有效数据,直到得到该存储器中的多个有效数据。
S507:该存储器向该处理器发送数据信息,该数据信息包括该有效数据。
下面基于S506中存储器的两种有效数据读取方式,对该存储器发送有效数据的两种形式进行说明。
在第一种可能的实施例中,该多个有效数据是一次性发送的,具体的,该存储器将该存储器中的多个有效数据一次性发送给该处理器,即该存储器一次性读取完该存储器中的多个有效数据,并将该多个有效数据一次性发送给该处理器。
在第一种可能的实施例中,该多个有效数据是一个一个发送的,具体的,该存储器将该存储器中的有效数据一个一个的发送给处理器,即该存储器读取一个有效数据,向处理器发送一个有效数据。
S508:该处理器接收来自该存储器的数据信息,该数据信息包括该有效数据。
进一步的,该方法还包括:该处理器向该存储器发送删除命令,该删除命令用于删除目标数据。
其中,在该处理器向该存储器发送删除命令之前,该处理器接收来自用户的删除指令,该删除指令可以包括目标数据,该处理器接收到该删除指令后,根据该删除指令包括的目标数据确定该目标数据的LBA。该目标数据也可以称为无效数据。
进一步的,该方法还包括:该存储器接收来自该处理器的删除命令,并根据该删除命令删除目标数据。具体的,该删除命令中包括该目标数据的物理区块地址,该存储器接收到删除命令后,根据该目标数据的物理区块地址,并删除该物理区块地址中存储的目标数据。
进一步的,该存储器中还存储有该目标数据的地址信息,该方法还包括:在存储器删除该目标数据之后,该存储器还删除该目标数据的地址信息,该地址信息包括存储在该存储器的地址映射信息中的PBA、或者LBA和PBA。
可选的,该有效信息、该访问请求、数据信息,删除命令可以通过NVME协议、SAS协议或者SATA协议中的任意一种协议进行传输。本申请实施例对此不做具体限定。
为便于理解,下面以图7所示的处理器和SSD的结构示意图为例,对处理器和SSD的具体结构进行说明。如图7所述,该处理器包括:I/O模块701、特性遍历模块702、I/O下发模块703和驱动模块704。其中,I/O模块701可用于向I/O下发模块703发送删除命令,特性遍历模块702可用于向I/O下发模块703发送查询命令和访问请求,以及接收存储器发送的信息,I/O下发模块703可用于对删除命令、查询命令和访问请求进行封装,以及解析存储器发送的信息,驱动模块704可用于下发封装后的删除命令、查询命令和访问请求,其中,驱动模块704与SSD连接,该处理器通过驱动模块704与SSD进行通信。图7中的I/O模块701、特性遍历模块702、I/O下发模块703和驱动模块704均可以为上述图4中的处理器。
为便于理解,下面以图8所示的流程图为例,对本申请提供的技术方案进行举例说明。如图8所示,该方法包括:S1、特性遍历模块向I/O下发模块发送查询命令,所述查询命令用于查询SSD的存储器中存储的有效数据的地址信息(发送查询命令);S2、I/O下发模块对该查询命令进行封装(封装查询命令);S3、I/O下发模块将封装后的查询命令发送给驱动模块(发送封装后的查询命令);S4、驱动模块接收封装后的查询命令,并将封装后的查询命令发送给SSD(接收并发送封装后的查询命令);S5、SSD接收到封装后的查询命令,并对查询命令进行解析;S6、SSD查询映射表,以确定有效数据的逻辑区块地址;S7、SSD将有效数据的逻辑区块地址封装成位图或者链表的形式发送给特性遍历模块;S8、特性遍历模块接收并解析位图或者链表,以得到有效数据的逻辑区块地址;S9、特性遍历模块向I/O下发模块发送访问请求,该访问请求中包括该有效数据的逻辑区块地址(发送访问请求);S10、I/O下发模块对该访问请求进行封装(封装访问请求);S11、I/O下发模块将封装后的访问请求发送给驱动模块(发送封装后的访问请求);S12、驱动模块接收封装后的访问请求,并将封装后的访问请求发送给固态硬盘(接收并发送封装后的访问请求);S13、SSD接收访问请求,读取有效数据;S14、SSD将读取到的有效数据发送给特性遍历模块;S15、特性遍历模块接收SSD发送的有效数据。
为便于理解,下面以图9所示的流程图为例,对本申请提供的技术方案中的目标数据的删除过程进行举例说明。S1、I/O模块检测到无效数据;S2、I/O模块向I/O下发模块发送删除命令,该删除命令包括无效数据和无效数据的逻辑区块地址(发送删除命令);S3、I/O下发模块对该删除命令进行封装;S4、I/O下发模块将封装后的删除命令发送给驱动模块;S5、驱动模块接收封装后的删除命令;S6、驱动模块将封装后的删除命令发送发给SSD;S7、SSD接收封装后的删除命令,并进行解析;S8、SSD删除存储在SSD中的无效数据;S9、SSD删除存储在SSD中的无效数据的逻辑区块地址和物理区块地址。
本申请实施例提供的数据读取方法,在处理器遍历读取存储器中的数据时,处理器向存储器发送查询命令,存储器根据该查询命令来查询存储器中存储的数据的有效信息,即存储器根据该查询命令来查询该存储器中存储的数据的地址映射信息,以确定该存储器中存储的有效数据的地址信息,存储器将该有效数据的地址信息发送给处理器,处理器根据该有效数据的地址信息对该存储器进行遍历读取,以得到该存储器中的有效数据。该技术方案中,该处理器只对该存储器中存储有效数据的存储空间进行了访问,而不是将该存储器中的所有存储空间均进行访问,与现有技术中,处理器在遍历读取存储器中的数据时,将存储器中的所有存储空间均访问一次相比,提高了遍历读取数据的效率;另一方面,该存储器根据有效数据的地址信息读取有效数据,无需对读取出的数据进行校验即可得到有效数据,与现有技术中,将遍历读取出的数据进行检验才能得到有效数据相比,提高了数据的准确性。
可以理解的是,该处理器和存储器为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中实施例描述的各示例的数据读取方法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对处理器和存储器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图10示出了一种上述实施例中所涉及的处理器的一种可能的结构示意图,该处理器包括:发送单元01和接收单元02,该发送单元01,用于支持该处理器执行上述方法实施例中的S501和S505中的一个或多个步骤,该接收单元02,用于支持该处理器执行上述方法实施例中的S504和S508中的一个或多个步骤。
在硬件实现上,发送单元01和接收单元02可以是图4所示的处理器,关于该处理器的具体描述可以参见图4中的具体描述,本申请实施例在此不再赘述。
在采用对应各个功能划分各个功能模块的情况下,图11示出了上述实施例中所涉及的存储器的一种可能的结构示意图,该存储器包括:接收单元101和发送单元102,该接收单元101用于支持该存储器执行上述方法实施例中的S502和S506中的一个或多个步骤,该发送单元102用于支持该存储器执行上述方法实施例中的S503和S507中的一个或多个步骤。
可选的,该存储器还包括:查询单元103和读取单元104,该查询单元103,用于根据该存储器的逻辑区块地址查询有效信息,以确定该有效数据的物理区块地址,该地址映射信息用于指示该存储器中存储的有效数据的逻辑区块地址与物理区块地址之间的映射关系,该读取单元104,用于根据该有效数据的地址信息,从该存储器中读取该有效数据。
在硬件实现上,接收单元101、发送单元102、查询单元103和读取单元104可以是图2所示的控制器,关于该控制器的具体描述可以参见图2中的具体描述,本申请实施例在此不再赘述。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。本申请实施例提供的处理器和存储器,用于执行上述实施例中对应的功能,因此可以达到与上述控制方法相同的效果。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得装置执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请的另一方面,提供一种电子设备,该电子设备包括处理器和存储器,该处理器和该存储器可用于执行上述方法实施例中的相关步骤,该处理器可以为上述图3、图4、图7和图10中所提供的处理器,该存储器可以为上述图2、图3、图7和图11中所提供的存储器。
在本申请的又一方面,提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当该计算机指令在处理器上运行时,使得该处理器执行上述方法实施例中的相关步骤。
在本申请的又一方面,提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当该计算机指令在存储器上运行时,使得该存储器执行上述方法实施例中的相关步骤。
在本申请的又一方面,提供一种包含指令的计算机程序产品,当计算机程序产品在计算机设备上运行时,使得处理器执行上述方法实施例中的相关步骤。
在本申请的又一方面,提供一种包含指令的计算机程序产品,当计算机程序产品在计算机设备上运行时,使得存储器执行上述方法实施例中的相关步骤。
最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (25)
1.一种数据读取方法,其特征在于,所述方法包括:
处理器向存储器发送查询命令,所述查询命令用于查询所述存储器中存储的数据的有效信息,所述有效信息用于指示所述数据是否为有效数据;
所述处理器接收来自所述存储器的所述有效信息,当所述有效信息指示所述数据为有效数据时,所述处理器向所述存储器发送访问请求,其中,所述访问请求包括所述有效数据的地址信息;
所述处理器接收来自所述存储器的数据信息,所述数据信息包括所述有效数据。
2.根据权利要求1所述的数据读取方法,其特征在于,所述查询命令为非易失性内存主机控制器接口规范NVME命令、串行连接SCSI SAS命令或串行高级技术附件SATA命令。
3.根据权利要求1或2所述的数据读取方法,其特征在于,所述有效信息是以位图或者链表的形式指示所述有效数据的地址信息。
4.根据权利要求1-3任一项所述的数据读取方法,其特征在于,所述方法还包括:
所述处理器向所述存储器发送删除命令,所述删除命令用于删除目标数据。
5.一种数据读取方法,其特征在于,所述方法包括:
存储器接收来自处理器的查询命令,所述查询命令用于查询所述存储器中存储的数据的有效信息,所述有效信息用于指示所述数据是否为有效数据;
所述存储器向所述处理器发送所述有效信息;
所述存储器接收来自所述处理器的访问请求,其中,所述访问请求包括所述有效数据的地址信息;
所述存储器向所述处理器发送数据信息,所述数据信息包括所述有效数据。
6.根据权利要求5所述的数据读取方法,其特征在于,所述存储器接收来自处理器的查询命令之后,所述方法还包括:
所述存储器根据所述存储器的逻辑区块地址查询地址映射信息,以确定所述有效数据的物理区块地址,所述地址映射信息用于指示所述存储器中存储的所述数据的逻辑区块地址与物理区块地址之间的映射关系。
7.根据权利要求5或6所述的数据读取方法,其特征在于,所述存储器接收来自所述处理器的访问请求之后,所述方法还包括:
所述存储器根据所述有效数据的地址信息,从所述存储器中读取所述有效数据。
8.根据权利要求5-7任一项所述的数据读取方法,其特征在于,所述查询命令为非易失性内存主机控制器接口规范NVME命令、串行连接SCSI SAS命令或串行高级技术附件SATA命令。
9.根据权利要求5-8任一项所述的数据读取方法,其特征在于,所述有效信息是以位图或者链表的形式指示所述有效数据的地址信息。
10.根据权利要求5-9任一项所述的数据读取方法,其特征在于,所述方法还包括:
所述存储器接收来自所述处理器的删除命令,并根据所述删除命令删除目标数据。
11.根据权利要求10所述的数据读取方法,其特征在于,所述存储器中还存储有所述目标数据的地址信息,所述方法还包括:
所述存储器删除所述目标数据的地址信息。
12.一种处理器,其特征在于,所述处理器包括:
发送单元,用于向存储器发送查询命令,所述查询命令用于查询所述存储器中存储的数据的有效信息,所述有效信息用于指示所述数据是否为有效数据;
接收单元,用于接收来自所述存储器的有效信息;
当所述有效信息指示所述数据为有效数据时,所述发送单元,还用于向所述存储器发送访问请求,其中,所述访问请求包括所述有效数据的地址信息;
所述接收单元,还用于接收来自所述存储器的数据信息,所述数据信息包括所述有效数据。
13.根据权利要求12所述的处理器,其特征在于,所述查询命令为非易失性内存主机控制器接口规范NVME命令、串行连接SCSI SAS命令或串行高级技术附件SATA命令。
14.根据权利要求12或13所述的处理器,其特征在于,所述有效信息是以位图或者链表的形式指示所述有效数据的地址信息。
15.根据权利要求12-14任一项所述的处理器,其特征在于,所述发送单元还用于:
向所述存储器发送删除命令,所述删除命令用于删除目标数据。
16.一种存储器,其特征在于,所述存储器包括:
接收单元,用于接收来自处理器的查询命令,所述查询命令用于查询所述存储器中存储的数据的有效信息,所述有效信息用于指示所述数据是否为有效数据;
发送单元,用于向所述处理器发送所述有效信息;
所述接收单元,还用于接收来自所述处理器的访问请求,其中,所述访问请求包括所述有效数据的地址信息;
所述发送单元,还用于向所述处理器发送数据信息,所述数据信息包括所述有效数据。
17.根据权利要求16所述的存储器,其特征在于,所述存储器还包括查询单元;
所述查询单元,用于根据所述存储器的逻辑区块地址查询地址映射信息,以确定所述有效数据的物理区块地址,所述地址映射信息用于指示所述存储器中存储的所述数据的逻辑区块地址与物理区块地址之间的映射关系。
18.根据权利要求16或17所述的存储器,其特征在于,所述存储器还包括读取单元;
所述读取单元,用于在所述接收单元接收到所述处理器的访问请求之后,根据所述有效数据的地址信息,从所述存储器中读取所述有效数据。
19.根据权利要求16-18任一项所述的存储器,其特征在于,所述查询命令为非易失性内存主机控制器接口规范NVME命令、串行连接SCSI SAS命令或串行高级技术附件SATA命令。
20.根据权利要求16-19任一项所述的存储器,其特征在于,所述有效信息是以位图或者链表的形式指示所述有效数据的地址信息。
21.根据权利要求16-20任一项所述的存储器,其特征在于,所述存储器还包括删除单元:
所述接收单元,还用于接收来自所述处理器的删除命令;
所述删除单元,用于根据所述删除命令删除目标数据。
22.根据权利要求21所述的存储器,其特征在于,所述存储器中还存储有所述目标数据的地址信息,所述删除单元还用于:
删除所述目标数据的地址信息。
23.一种电子设备,其特征在于,所述终端设备包括处理器和存储器,所述处理器为如权利要求12-15任一项所述的处理器,所述存储器为如权利要求16-22任一项所述的存储器。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在处理器上运行时,使得所述处理器执行如权利要求1-4任一项所述的方法。
25.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在存储器上运行时,使得所述存储器执行如权利要求5-11任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210273203.2A CN116795276A (zh) | 2022-03-18 | 2022-03-18 | 一种数据读取方法及装置 |
PCT/CN2023/076926 WO2023173999A1 (zh) | 2022-03-18 | 2023-02-17 | 一种数据读取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210273203.2A CN116795276A (zh) | 2022-03-18 | 2022-03-18 | 一种数据读取方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116795276A true CN116795276A (zh) | 2023-09-22 |
Family
ID=88022300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210273203.2A Pending CN116795276A (zh) | 2022-03-18 | 2022-03-18 | 一种数据读取方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116795276A (zh) |
WO (1) | WO2023173999A1 (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210004322A (ko) * | 2019-07-04 | 2021-01-13 | 에스케이하이닉스 주식회사 | 메모리 시스템에서 맵정보 및 리드카운트를 전송하는 장치 및 방법 |
CN113535068B (zh) * | 2020-04-21 | 2024-09-17 | 华为技术有限公司 | 数据读取方法和系统 |
CN113220693B (zh) * | 2021-06-02 | 2023-10-20 | 北京火山引擎科技有限公司 | 计算存储分离系统及其数据访问方法、介质和电子设备 |
-
2022
- 2022-03-18 CN CN202210273203.2A patent/CN116795276A/zh active Pending
-
2023
- 2023-02-17 WO PCT/CN2023/076926 patent/WO2023173999A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023173999A1 (zh) | 2023-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11573915B2 (en) | Storage device for interfacing with host and method of operating the host and the storage device | |
US9395921B2 (en) | Writing data using DMA by specifying a buffer address and a flash memory address | |
KR102691851B1 (ko) | 불휘발성 메모리 장치, 이를 포함하는 데이터 저장 장치 및 그 동작 방법 | |
EP2849076B1 (en) | Dma transmission method and system | |
KR101695364B1 (ko) | 저장 시스템 로컬 블록 어드레스 할당해제 관리 및 데이터 강화 | |
KR102020466B1 (ko) | 버퍼 메모리 장치를 포함하는 데이터 저장 장치 | |
US9244619B2 (en) | Method of managing data storage device and data storage device | |
US20140281361A1 (en) | Nonvolatile memory device and related deduplication method | |
CN107111452B (zh) | 应用于计算机系统的数据迁移方法和装置、计算机系统 | |
CN109164976B (zh) | 利用写缓存优化存储设备性能 | |
TW201344433A (zh) | 資訊處理裝置 | |
CN112214157B (zh) | 主机输出输入命令的执行装置及方法及存储介质 | |
WO2015176664A1 (zh) | 一种数据操作的方法、设备和系统 | |
CN111897485A (zh) | 一种数据存储方法、装置、电子设备及存储介质 | |
CN115113799A (zh) | 主机命令的执行方法及装置 | |
KR20210008826A (ko) | 논리 블록 어드레싱 범위 충돌 크롤러 | |
KR20240085876A (ko) | 데이터 저장 방법 및 데이터 저장 장치 | |
CN113448487A (zh) | 写入闪存管理表的计算机可读取存储介质、方法及装置 | |
CN116795276A (zh) | 一种数据读取方法及装置 | |
CN112148626A (zh) | 压缩数据的存储方法及其存储设备 | |
CN111290974A (zh) | 用于存储设备的缓存淘汰方法与存储设备 | |
CN111290975A (zh) | 使用统一缓存处理读命令与预读命令的方法及其存储设备 | |
KR102692838B1 (ko) | 저장 디바이스들에 대한 강화된 선판독 능력 | |
KR20230105441A (ko) | 스토리지 시스템과 장치 및 그 동작 방법 | |
CN115048320A (zh) | Vtc加速器及其计算vtc的方法 |
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 |