CN107329904A - 数据读取方法及装置 - Google Patents

数据读取方法及装置 Download PDF

Info

Publication number
CN107329904A
CN107329904A CN201710521465.5A CN201710521465A CN107329904A CN 107329904 A CN107329904 A CN 107329904A CN 201710521465 A CN201710521465 A CN 201710521465A CN 107329904 A CN107329904 A CN 107329904A
Authority
CN
China
Prior art keywords
logical address
address
total length
target data
length
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710521465.5A
Other languages
English (en)
Inventor
杨万云
姜黎
彭鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Goke Microelectronics Co Ltd
Original Assignee
Hunan Goke Microelectronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan Goke Microelectronics Co Ltd filed Critical Hunan Goke Microelectronics Co Ltd
Priority to CN201710521465.5A priority Critical patent/CN107329904A/zh
Publication of CN107329904A publication Critical patent/CN107329904A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures

Landscapes

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

Abstract

本申请实施例公开一种数据读取方法及装置,通过计算目标数据的起始逻辑地址以及逻辑地址总长度;查询FTL,获取起始物理地址以及连续物理块的总长度;判断映射的连续物理块的总长度是否大于或等于逻辑地址总长度;如果是,以起始物理地址作为起点,根据逻辑地址总长度,向后读取相应长度的物理地址,如果否,以起始物理地址作为起点,根据记录的物理地址总长度,将IO拆分为对应物理块长度和剩余逻辑地址大小,读取物理块长度大小的数据,然后对IO剩余逻辑地址大小继续匹配物理地址,只要记录的连续块地址大于单位映射粒度,就能减少访问FTL的次数,节省查询时间,提升SSD性能。

Description

数据读取方法及装置
技术领域
本申请涉及数据读取技术领域,尤其涉及一种数据读取方法及装置。
背景技术
固态硬盘(英文:Solid State Drives,缩写:SSD)通常指用固态电子存储芯片阵列制成的硬盘,由控制单元和存储单元组成。如图1所示,主机逻辑地址与物理地址映射关系表(英文:Flash Transport Layer,缩写:FTL)是一种被固态硬盘主控用于记录主机逻辑地址到Flash物理地址的映射关系的表格,通过该映射关系,可以找到对应逻辑地址大小的数据块在Flash上的物理地址。
现有SSD主控的FTL设计,每个FTL记录所描述的数据块映射粒度通常为4k固定大小。也就是说,每个FTL表项记录了一个4K数据块对应的Flash物理地址信息。当主机发起数据读命令时,FTL需要查询该数据横跨的所有4K数据块在Flash上的物理地址信息,再根据物理地址信息去读取数据。
当主机发起大IO的数据读命令时,这种固定大小映射粒度的FTL设计,会导致多次查表来获取每4K数据块所对应的Flash物理位置。以512K的大IO数据为例,一次IO读操作将导致查表128次,存在反复访问FTL数据的情况,降低SSD的性能;此外,如果这些表数据存放在外部RAM或者Flash上,SSD的性能损失将更为明显。
发明内容
本申请提供一种数据读取方法及装置,以解决现有的数据读取方法需要反复访问FTL数据,影响SSD性能的问题。
第一方面,本申请实施例提供一种数据读取方法,包括如下步骤:
步骤S1、计算目标数据的起始逻辑地址,以及所述目标数据横跨的逻辑地址总长度;
步骤S2、查询FTL,所述FTL表项记录起始逻辑地址对应的起始物理地址,同时记录起始逻辑地址横跨的连续物理块个数,获取所述起始逻辑地址对应的起始物理地址,以及以所述起始物理地址作为起点,所述起始物理地址和所述起始物理地址之后的连续物理块的总长度;
步骤S3、判断所述连续物理块的总长度是否大于或等于所述逻辑地址总长度;
步骤S4、如果所述连续物理块的总长度大于或等于所述逻辑地址总长度,以所述起始物理地址作为起点,根据所述逻辑地址总长度,向后读取相应长度的物理地址,完成对所述目标数据的读取。
可选的,判断所述连续物理块的总长度是否大于或等于所述逻辑地址总长度之后,包括:
步骤S5、如果所述连续物理块的总长度小于所述逻辑地址总长度,以所述起始物理地址作为起点,根据所述连续物理块的总长度,向后读取相应长度的物理地址;
步骤S6、根据所述起始逻辑地址,以及所述连续物理块的总长度,计算所述目标数据的当前逻辑地址,以及,计算以所述当前逻辑地址作为起点,所述目标数据横跨的剩余逻辑地址长度;
步骤S7、以所述当前逻辑地址作为起始逻辑地址,以所述剩余逻辑地址长度作为所述逻辑地址总长度,重复执行所述步骤S2至所述步骤S6的步骤。
可选的,根据所述起始逻辑地址,以及所述连续物理块的总长度,计算所述目标数据的当前逻辑地址的步骤中,根据:
LAU当前=LAU起始+M,
计算所述目标数据的当前逻辑地址,其中,LAU当前为所述目标数据的当前逻辑地址,LAU起始为所述起始逻辑地址,M为所述连续物理块的总长度。
可选的,计算以所述当前逻辑地址作为起点,所述目标数据横跨的剩余逻辑地址长度的步骤中,根据:
N=L-M,
计算所述剩余逻辑地址长度,其中,N为所述剩余逻辑地址长度,L为所述目标数据横跨的逻辑地址总长度,M为所述连续物理块的总长度。
所述起始逻辑地址对应的起始物理地址,以及以所述起始物理地址作为起点,所述起始物理地址和所述起始物理地址之后的连续物理块的总长度,是由所述目标数据写入时,根据写入的目标数据的逻辑地址和逻辑地址总长度计算并记录到所述FTL。
第二方面,本申请实施例提供一种数据读取装置,包括:
第一计算单元,用于计算目标数据的起始逻辑地址,以及所述目标数据横跨的逻辑地址总长度;
获取单元,查询FTL,所述FTL表项记录起始逻辑地址对应的起始物理地址,同时记录起始逻辑地址横跨的连续物理块个数,获取所述起始逻辑地址对应的起始物理地址,以及以所述起始物理地址作为起点,所述起始物理地址和所述起始物理地址之后的连续物理块的总长度;
判断单元,用于判断所述连续物理块的总长度是否大于或等于所述逻辑地址总长度;
第一读取单元,用于如果所述连续物理块的总长度大于或等于所述逻辑地址总长度,以所述起始物理地址作为起点,根据所述逻辑地址总长度,向后读取相应长度的物理地址,完成对所述目标数据的读取。
可选的,所述装置还包括:
第二读取单元,用于如果所述连续物理块的总长度小于所述逻辑地址总长度,以所述起始物理地址作为起点,根据所述连续物理块的总长度,向后读取相应长度的物理地址;
第二计算单元,用于根据所述起始逻辑地址,以及所述连续物理块的总长度,计算所述目标数据的当前逻辑地址,以及,计算以所述当前逻辑地址作为起点,所述目标数据横跨的剩余逻辑地址长度;
循环单元,用于以所述当前逻辑地址作为起始逻辑地址,以所述剩余逻辑地址长度作为所述逻辑地址总长度,重复执行所述步骤二至所述步骤六的步骤。
可选的,所述第二计算单元用于:
根据
LAU当前=LAU起始+M,
计算所述目标数据的当前逻辑地址,其中,LAU当前为所述目标数据的当前逻辑地址,LAU起始为所述起始逻辑地址,所述M为所述连续物理块的总长度。
可选的,所述第二计算单元用于:
根据
N=L-M,
计算所述剩余逻辑地址长度,其中,N为所述剩余逻辑地址长度,L为所述目标数据横跨的逻辑地址总长度,M为所述连续物理块的总长度。
所述获取单元获取的起始逻辑地址对应的起始物理地址,以及以所述起始物理地址作为起点,所述起始物理地址和所述起始物理地址之后的连续物理块的总长度,是由所述目标数据写入时,根据写入的目标数据的逻辑地址和逻辑地址总长度计算并记录到所述FTL。
由以上技术方案可知,本申请实施例提供的一种数据读取方法及装置,通过在FTL表项中记录连续逻辑地址对应的连续物理块个数,在读取数据时,计算目标数据的起始逻辑地址,以及所述目标数据横跨的逻辑地址总长度;根据预设的逻辑地址与物理地址的映射关系,获取所述起始逻辑地址对应的起始物理地址,以及以所述起始物理地址作为起点,所述起始物理地址以及所述起始物理地址之后的连续物理块的总长度;判断所述连续物理块的总长度是否大于或等于所述逻辑地址总长度;如果所述连续物理块的总长度大于或等于所述逻辑地址总长度,以所述起始物理地址作为起点,根据所述逻辑地址总长度,向后读取相应长度的物理地址,完成对所述目标数据的读取,如果所述连续物理块的总长度小于所述逻辑地址总长度,以起始物理地址作为起点,根据记录的物理地址总长度,将IO拆分为对应物理块长度和剩余逻辑地址大小,读取物理块长度大小的数据,然后对IO剩余逻辑地址大小继续匹配物理地址,只要记录的连续块地址大于单位映射粒度,就能减少访问FTL的次数,节省查询时间,提升SSD性能。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有FTL表项设计的示意图。
图2为本申请实施例FTL表项设计的示意图。
图3为本申请实施例FTL表项映射的示意图。
图4为本申请实施例提供的FTL表项更新的流程图。
图5为本申请提供的一种数据读取方法的第一实施例的流程图。
图6为本申请提供的一种数据读取方法的第二实施例的流程图。
图7为本申请提供的一种数据读取装置的第一实施例的示意图。
图8为本申请提供的一种数据读取装置的第二实施例的示意图。
具体实施方式
如图2至图3所示,本申请实施例的FTL表项设计中,每一个表项除记录逻辑地址对应的物理地址以外,还记录后面连续逻辑地址对应的连续物理块个数,在查表时可以有效节省长度大于映射粒度的IO的表项查询时间。
如图4所示,FTL表项更新流程发生在主机数据写入时,当FTL处理来自前端的写IO命令时,FTL为当前IO分配对应大小的连续物理空间,同时将对应的物理地址更新到对应逻辑地址的FTL表项。本发明除更新物理地址以外,同时记录每一个表项对应的物理地址后面连续逻辑地址对应的连续物理块个数。
以数据采集业务为例,数据的存储和读取都是大IO形式,大多数情况下都达到了512K的IO大小。现有方案在4K映射粒度下,IO读流程需要查询FTL表128次。采用本申请实施例FTL表项设计后,如果写IO与读IO大小一致,FTL表项里面记录的连续逻辑地址对应的连续物理块个数将达到128个,可以1次查表就得到整个IO所需要的物理地址信息,极大缩减查表时间,提升系统性能。
具体地,本申请实施例的FTL表项的更新流程包括以下步骤:
步骤S101,计算目标数据的逻辑地址,以及横跨的逻辑地址长度。
步骤S102,为目标数据分配对应长度的物理地址。
步骤S103,将数据写入对应的物理地址。
步骤S104,按顺序依次更新逻辑地址的FTL表项对应的物理地址,以及更新对应物理地址后续的连续块个数,完成FTL表项的更新。
请参阅图5,本申请提供的一种数据读取方法的第一实施例,包括如下步骤:
步骤S1、计算目标数据的起始逻辑地址,以及所述目标数据横跨的逻辑地址总长度。
其中,目标数据即主机下发IO读命令时,待读取的数据。该目标数据可以是如512K的IO大小的数据。在有地址变换功能的计算机中,访问指令给出的地址叫逻辑地址(Logical Address),也叫相对地址,要经过寻址方式的计算或变换才能得到内存储器中的物理地址。
步骤S2、查询FTL,所述FTL表项记录起始逻辑地址对应的起始物理地址,同时记录起始逻辑地址横跨的连续物理块个数,获取所述起始逻辑地址对应的起始物理地址,以及以所述起始物理地址作为起点,所述起始物理地址和所述起始物理地址之后的连续物理块的总长度。
在存储器里以字节为单位存储信息,为正确地存放或取得信息,每一个字节单元给予一个唯一的存储器地址,称为物理地址(Physical Address),又叫实际地址或绝对地址。
其中,所述起始逻辑地址对应的起始物理地址,以及以所述起始物理地址作为起点,所述起始物理地址和所述起始物理地址之后的连续物理块的总长度,是由所述目标数据写入时,根据写入的目标数据的逻辑地址和逻辑地址总长度计算并记录到所述FTL。
步骤S3、判断所述连续物理块的总长度是否大于或等于所述逻辑地址总长度。
步骤S4、如果所述连续物理块的总长度大于或等于所述逻辑地址总长度,以所述起始物理地址作为起点,根据所述逻辑地址总长度,向后读取相应长度的物理地址,完成对所述目标数据的读取。
请参阅图6,本申请提供的一种数据读取方法的第二实施例,在第一实施例的基础上,判断所述连续物理块的总长度是否大于或等于所述逻辑地址总长度之后,包括:
步骤S5、如果所述连续物理块的总长度小于所述逻辑地址总长度,以所述起始物理地址作为起点,根据所述连续物理块的总长度,向后读取相应长度的物理地址。
步骤S6、根据所述起始逻辑地址,以及所述连续物理块的总长度,计算所述目标数据的当前逻辑地址,以及,计算以所述当前逻辑地址作为起点,所述目标数据横跨的剩余逻辑地址长度。
步骤S7、以所述当前逻辑地址作为起始逻辑地址,以所述剩余逻辑地址长度作为所述逻辑地址总长度,重复执行所述步骤S2至所步骤S6的步骤。
根据所述起始逻辑地址,以及所述连续物理块的总长度,计算所述目标数据的当前逻辑地址的步骤中,根据:
LAU当前=LAU起始+M,
计算所述目标数据的当前逻辑地址,其中,LAU当前为所述目标数据的当前逻辑地址,LAU起始为所述起始逻辑地址,M为所述连续物理块的总长度。
计算以所述当前逻辑地址作为起点,所述目标数据横跨的剩余逻辑地址长度的步骤中,根据:
N=L-M,
计算所述剩余逻辑地址长度,其中,N为所述剩余逻辑地址长度,L为所述目标数据横跨的逻辑地址总长度,M为所述连续物理块的总长度。
由以上技术方案可知,本申请实施例提供的一种数据读取方法,通过在FTL表项中记录连续逻辑地址对应的连续物理块个数,在读取数据时,计算目标数据的起始逻辑地址,以及所述目标数据横跨的逻辑地址总长度;根据预设的逻辑地址与物理地址的映射关系,获取所述起始逻辑地址对应的起始物理地址,以及以所述起始物理地址作为起点,所述起始物理地址以及所述起始物理地址之后的连续物理块的总长度;判断所述连续物理块的总长度是否大于或等于所述逻辑地址总长度;如果所述连续物理块的总长度大于或等于所述逻辑地址总长度,以所述起始物理地址作为起点,根据所述逻辑地址总长度,向后读取相应长度的物理地址,完成对所述目标数据的读取,如果所述连续物理块的总长度小于所述逻辑地址总长度,以起始物理地址作为起点,根据记录的物理地址总长度,将IO拆分为对应物理块长度和剩余逻辑地址大小,读取物理块长度大小的数据,然后对IO剩余逻辑地址大小继续匹配物理地址,只要记录的连续块地址大于单位映射粒度,就能减少访问FTL的次数,节省查询时间,提升SSD性能。
请参阅图7,本申请提供的一种数据读取装置的第一实施例,包括:
第一计算单元1,用于计算目标数据的起始逻辑地址,以及所述目标数据横跨的逻辑地址总长度;
获取单元2,查询FTL,所述FTL表项记录起始逻辑地址对应的起始物理地址,同时记录起始逻辑地址横跨的连续物理块个数,获取所述起始逻辑地址对应的起始物理地址,以及以所述起始物理地址作为起点,所述起始物理地址和所述起始物理地址之后的连续物理块的总长度;
其中,所述获取单元获取的起始逻辑地址对应的起始物理地址,以及以所述起始物理地址作为起点,所述起始物理地址和所述起始物理地址之后的连续物理块的总长度,是由所述目标数据写入时,根据写入的目标数据的逻辑地址和逻辑地址总长度计算并记录到所述FTL。
判断单元3,用于判断所述连续物理块的总长度是否大于或等于所述逻辑地址总长度;
第一读取单元4,用于如果所述连续物理块的总长度大于或等于所述逻辑地址总长度,以所述起始物理地址作为起点,根据所述逻辑地址总长度,向后读取相应长度的物理地址,完成对所述目标数据的读取。
请参阅图8,本申请提供的一种数据读取装置的第二实施例,在第一实施例的基础上,所述装置还包括:
第二读取单元5,用于如果所述连续物理块的总长度小于所述逻辑地址总长度,以所述起始物理地址作为起点,根据所述连续物理块的总长度,向后读取相应长度的物理地址;
第二计算单元6,用于根据所述起始逻辑地址,以及所述连续物理块的总长度,计算所述目标数据的当前逻辑地址,以及,计算以所述当前逻辑地址作为起点,所述目标数据横跨的剩余逻辑地址长度;
循环单元7,用于以所述当前逻辑地址作为起始逻辑地址,以所述剩余逻辑地址长度作为所述逻辑地址总长度,重复执行所述步骤二至所述步骤六的步骤。
所述第二计算单元用于:
根据
LAU当前=LAU起始+M,
计算所述目标数据的当前逻辑地址,其中,LAU当前为所述目标数据的当前逻辑地址,LAU起始为所述起始逻辑地址,M为所述连续物理块的总长度。
所述第二计算单元用于:
根据
N=L-M,
计算所述剩余逻辑地址长度,其中,N为所述剩余逻辑地址长度,L为所述目标数据横跨的逻辑地址总长度,M为所述连续物理块的总长度。
由以上技术方案可知,本申请实施例提供的一种数据读取装置,通过在FTL表项中记录连续逻辑地址对应的连续物理块个数,在读取数据时,可用于计算目标数据的起始逻辑地址,以及所述目标数据横跨的逻辑地址总长度;根据预设的逻辑地址与物理地址的映射关系,获取所述起始逻辑地址对应的起始物理地址,以及以所述起始物理地址作为起点,所述起始物理地址以及所述起始物理地址之后的连续物理块的总长度;判断所述连续物理块的总长度是否大于或等于所述逻辑地址总长度;如果所述连续物理块的总长度大于或等于所述逻辑地址总长度,以所述起始物理地址作为起点,根据所述逻辑地址总长度,向后读取相应长度的物理地址,完成对所述目标数据的读取,如果所述连续物理块的总长度小于所述逻辑地址总长度,以起始物理地址作为起点,根据记录的物理地址总长度,将IO拆分为对应物理块长度和剩余逻辑地址大小,读取物理块长度大小的数据,然后对IO剩余逻辑地址大小继续匹配物理地址,只要记录的连续块地址大于单位映射粒度,就能减少访问FTL的次数,节省查询时间,提升SSD性能。
具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的数据读取方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于数据读取装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见实施例中的说明即可。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。

Claims (10)

1.一种数据读取方法,其特征在于,包括如下步骤:
步骤S1、计算目标数据的起始逻辑地址,以及所述目标数据横跨的逻辑地址总长度;
步骤S2、查询FTL,所述FTL表项记录起始逻辑地址对应的起始物理地址,同时记录起始逻辑地址横跨的连续物理块个数,获取所述起始逻辑地址对应的起始物理地址,以及以所述起始物理地址作为起点,所述起始物理地址和所述起始物理地址之后的连续物理块的总长度;
步骤S3、判断所述连续物理块的总长度是否大于或等于所述逻辑地址总长度;
步骤S4、如果所述连续物理块的总长度大于或等于所述逻辑地址总长度,以所述起始物理地址作为起点,根据所述逻辑地址总长度,向后读取相应长度的物理地址,完成对所述目标数据的读取。
2.如权利要求1所述的方法,其特征在于,判断所述连续物理块的总长度是否大于或等于所述逻辑地址总长度之后,包括:
步骤S5、如果所述连续物理块的总长度小于所述逻辑地址总长度,以所述起始物理地址作为起点,根据所述连续物理块的总长度,向后读取相应长度的物理地址;
步骤S6、根据所述起始逻辑地址,以及所述连续物理块的总长度,计算所述目标数据的当前逻辑地址,以及,计算以所述当前逻辑地址作为起点,所述目标数据横跨的剩余逻辑地址长度;
步骤S7、以所述当前逻辑地址作为起始逻辑地址,以所述剩余逻辑地址长度作为所述逻辑地址总长度,重复执行所述步骤S2至所述步骤S6的步骤。
3.如权利要求2所述的方法,其特征在于,根据所述起始逻辑地址,以及所述连续物理块的总长度,计算所述目标数据的当前逻辑地址的步骤中,根据:
LAU当前=LAU起始+M,
计算所述目标数据的当前逻辑地址,其中,LAU当前为所述目标数据的当前逻辑地址,LAU起始为所述起始逻辑地址,M为所述连续物理块的总长度。
4.如权利要求2所述的方法,其特征在于,计算以所述当前逻辑地址作为起点,所述目标数据横跨的剩余逻辑地址长度的步骤中,根据:
N=L-M,
计算所述剩余逻辑地址长度,其中,N为所述剩余逻辑地址长度,L为所述目标数据横跨的逻辑地址总长度,M为所述连续物理块的总长度。
5.如权利要求1所述的方法,其特征在于,所述起始逻辑地址对应的起始物理地址,以及以所述起始物理地址作为起点,所述起始物理地址和所述起始物理地址之后的连续物理块的总长度,是由所述目标数据写入时,根据写入的目标数据的逻辑地址和逻辑地址总长度计算并记录到所述FTL。
6.一种数据读取装置,其特征在于,包括:
第一计算单元,用于计算目标数据的起始逻辑地址,以及所述目标数据横跨的逻辑地址总长度;
获取单元,用于查询FTL,所述FTL表项记录起始逻辑地址对应的起始物理地址,同时记录起始逻辑地址横跨的连续物理块个数,获取所述起始逻辑地址对应的起始物理地址,以及以所述起始物理地址作为起点,所述起始物理地址和所述起始物理地址之后的连续物理块的总长度;
判断单元,用于判断所述连续物理块的总长度是否大于或等于所述逻辑地址总长度;
第一读取单元,用于如果所述连续物理块的总长度大于或等于所述逻辑地址总长度,以所述起始物理地址作为起点,根据所述逻辑地址总长度,向后读取相应长度的物理地址,完成对所述目标数据的读取。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
第二读取单元,用于如果所述连续物理块的总长度小于所述逻辑地址总长度,以所述起始物理地址作为起点,根据所述连续物理块的总长度,向后读取相应长度的物理地址;
第二计算单元,用于根据所述起始逻辑地址,以及所述连续物理块的总长度,计算所述目标数据的当前逻辑地址,以及,计算以所述当前逻辑地址作为起点,所述目标数据横跨的剩余逻辑地址长度;
循环单元,用于以所述当前逻辑地址作为起始逻辑地址,以所述剩余逻辑地址长度作为所述逻辑地址总长度,重复执行所述步骤二至所述步骤六的步骤。
8.如权利要求7所述的装置,其特征在于,所述第二计算单元用于:
根据
LAU当前=LAU起始+M,
计算所述目标数据的当前逻辑地址,其中,LAU当前为所述目标数据的当前逻辑地址,LAU起始为所述起始逻辑地址,M为所述连续物理块的总长度。
9.如权利要求7所述的装置,其特征在于,所述第二计算单元用于:
根据
N=L-M,
计算所述剩余逻辑地址长度,其中,N为所述剩余逻辑地址长度,L为所述目标数据横跨的逻辑地址总长度,M为所述连续物理块的总长度。
10.如权利要求6所述的装置,其特征在于,所述获取单元获取的起始逻辑地址对应的起始物理地址,以及以所述起始物理地址作为起点,所述起始物理地址和所述起始物理地址之后的连续物理块的总长度,是由所述目标数据写入时,根据写入的目标数据的逻辑地址和逻辑地址总长度计算并记录到所述FTL。
CN201710521465.5A 2017-06-30 2017-06-30 数据读取方法及装置 Pending CN107329904A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710521465.5A CN107329904A (zh) 2017-06-30 2017-06-30 数据读取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710521465.5A CN107329904A (zh) 2017-06-30 2017-06-30 数据读取方法及装置

Publications (1)

Publication Number Publication Date
CN107329904A true CN107329904A (zh) 2017-11-07

Family

ID=60199334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710521465.5A Pending CN107329904A (zh) 2017-06-30 2017-06-30 数据读取方法及装置

Country Status (1)

Country Link
CN (1) CN107329904A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241471A (zh) * 2017-11-29 2018-07-03 深圳忆联信息系统有限公司 一种提升固态硬盘性能的方法
CN109144897A (zh) * 2018-09-04 2019-01-04 杭州阿姆科技有限公司 一种实现大容量ssd磁盘的方法
CN110489353A (zh) * 2019-07-19 2019-11-22 苏州浪潮智能科技有限公司 一种提高固态硬盘带宽读取性能方法及装置
CN113223584A (zh) * 2021-05-26 2021-08-06 合肥康芯威存储技术有限公司 一种存储器及其数据读取方法
CN115687173A (zh) * 2022-10-31 2023-02-03 深圳市时创意电子有限公司 一种数据地址查询方法、装置、电子设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1809890A (zh) * 2003-06-23 2006-07-26 皇家飞利浦电子股份有限公司 用于在出现缺陷时将逻辑地址重映射到物理地址来记录信息的装置和方法
US20100030948A1 (en) * 2008-07-30 2010-02-04 Moon Yang Gi Solid state storage system with data attribute wear leveling and method of controlling the solid state storage system
US20100100667A1 (en) * 2008-10-16 2010-04-22 Samsung Electronics Co. Ltd. Flash memory system and designing method of flash translation layer thereof
CN103544110A (zh) * 2013-10-08 2014-01-29 华中科技大学 一种基于固态盘的块级连续数据保护方法
CN105786724A (zh) * 2014-12-24 2016-07-20 华为技术有限公司 空间管理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1809890A (zh) * 2003-06-23 2006-07-26 皇家飞利浦电子股份有限公司 用于在出现缺陷时将逻辑地址重映射到物理地址来记录信息的装置和方法
US20100030948A1 (en) * 2008-07-30 2010-02-04 Moon Yang Gi Solid state storage system with data attribute wear leveling and method of controlling the solid state storage system
US20100100667A1 (en) * 2008-10-16 2010-04-22 Samsung Electronics Co. Ltd. Flash memory system and designing method of flash translation layer thereof
CN103544110A (zh) * 2013-10-08 2014-01-29 华中科技大学 一种基于固态盘的块级连续数据保护方法
CN105786724A (zh) * 2014-12-24 2016-07-20 华为技术有限公司 空间管理方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241471A (zh) * 2017-11-29 2018-07-03 深圳忆联信息系统有限公司 一种提升固态硬盘性能的方法
CN109144897A (zh) * 2018-09-04 2019-01-04 杭州阿姆科技有限公司 一种实现大容量ssd磁盘的方法
CN109144897B (zh) * 2018-09-04 2023-07-14 杭州阿姆科技有限公司 一种实现大容量ssd磁盘的方法
CN110489353A (zh) * 2019-07-19 2019-11-22 苏州浪潮智能科技有限公司 一种提高固态硬盘带宽读取性能方法及装置
CN113223584A (zh) * 2021-05-26 2021-08-06 合肥康芯威存储技术有限公司 一种存储器及其数据读取方法
CN115687173A (zh) * 2022-10-31 2023-02-03 深圳市时创意电子有限公司 一种数据地址查询方法、装置、电子设备及可读存储介质
CN115687173B (zh) * 2022-10-31 2023-08-04 深圳市时创意电子有限公司 一种数据地址查询方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN107329904A (zh) 数据读取方法及装置
US9996466B2 (en) Apparatus, system and method for caching compressed data
US11853549B2 (en) Index storage in shingled magnetic recording (SMR) storage system with non-shingled region
US10761977B2 (en) Memory system and non-transitory computer readable recording medium
US20220129189A1 (en) Data Storage Method in Flash Device and Flash Device
US7861028B2 (en) System and method for configuration and management of flash memory
US9251152B1 (en) Efficient method for relocating shared memory
CN109802684B (zh) 进行数据压缩的方法和装置
US8621134B2 (en) Storage tiering with minimal use of DRAM memory for header overhead
CN101645043B (zh) 写数据的方法、读数据的方法及存储设备
KR102538126B1 (ko) 테일 레이턴시를 인식하는 포어그라운드 가비지 컬렉션 알고리즘
CN103984644B (zh) 一种数据管理方法及装置
US10552335B2 (en) Method and electronic device for a mapping table in a solid-state memory
JPWO2009096180A1 (ja) メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
CN106170757A (zh) 一种数据存储方法及装置
US20230281118A1 (en) Memory system and non-transitory computer readable recording medium
US9524236B1 (en) Systems and methods for performing memory management based on data access properties
US11126624B2 (en) Trie search engine
CN102867046B (zh) 基于固态硬盘的数据库优化方法及系统
CN117370222A (zh) 存储映射方法、装置、计算机可读存储介质及电子设备
CN108614671B (zh) 基于命名空间的键-数据访问方法与固态存储设备
KR20150139017A (ko) 메모리 제어 장치 및 방법
CN111045961A (zh) 数据处理方法及使用所述方法的存储控制器
CN115933995B (zh) 固态硬盘中数据写入方法、装置、电子设备及可读介质
CN107608636B (zh) 一种基于fat文件系统的设计方法及其应用的数据采集装置

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20171107

RJ01 Rejection of invention patent application after publication