CN116383098B - 地址索引方法、装置、可读存储介质及电子设备 - Google Patents
地址索引方法、装置、可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN116383098B CN116383098B CN202310653604.5A CN202310653604A CN116383098B CN 116383098 B CN116383098 B CN 116383098B CN 202310653604 A CN202310653604 A CN 202310653604A CN 116383098 B CN116383098 B CN 116383098B
- Authority
- CN
- China
- Prior art keywords
- address
- logical
- index
- physical
- addresses
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 238000010586 diagram Methods 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
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开一种地址索引方法、装置、可读存储介质及电子设备,存储外部设备的写入数据,获取所述写入数据的物理地址以及所述物理地址对应的逻辑地址;将所述物理地址以及所述物理地址对应的逻辑地址存储为P2L信息,并根据所述逻辑地址将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息;接收外部设备的读取请求,根据所述读取请求以及所述P2L信息返回所述索引信息中的目标物理地址。基于P2L(以物理地址为下标索引返回逻辑地址)索引算法实现了以逻辑地址索引返回物理地址,所需要的空间仅为存储设备的最大物理页,从而减少空间消耗;且物理页数量远远小于所要存储的逻辑地址数量,以此方式提高检索效率。
Description
技术领域
本发明涉及存储器技术领域,尤其涉及一种地址索引方法、装置、可读存储介质及电子设备。
背景技术
众所周知,eMMC(Embedded Multi Media Card,嵌入式多媒体卡)或者SD卡由于其尺寸的限制,其内部只能配置少量SRAM(Static Random-Access Memory,静态随机存取存储)空间,因此,在固件内部的算法一般只能选择空间消耗小而索引效率高的算法。
P2L(Physical To Logical,物理-逻辑)索引算法,顾名思义就是以物理地址作为下标索引而返回逻辑地址的算法,其所需要的BUF(缓冲区)大小仅为物理页面的数量。以三星V5的NAND(闪存设备)为例,其闪存架构SLC(Single-LevelCell,单层单元闪存,即每一个单元储存一位数据)的最大物理页仅为368页;若NAND设备采用P2L索引算法,每个物理页索引一个逻辑页,逻辑页使用2Bytes来存储的话,则其所需要的BUF大小仅为368×2=736Bytes,所消耗的空间量很小。但是部分存储固件在使用的过程中,例如SD卡的HOST(主机)一般是下发LAA(Logical Area Address,逻辑地址)信息,即以逻辑地址索引返回对应的物理地址。
而能够满足这一索引方式的L2P(Logical To Physical,逻辑-物理)索引算法受到存储设备所提供容量的大小限制,无法使用于容量较小的固件中。例如,容量大小为64G的SD卡选择16K映射单元,每个16K映射单元需要2Bytes来存储信息,则其最大逻辑地址为(64×1024×1024)/16=4194304Bytes;对于SD卡而言,根本不可能存储数据量为4194304Bytes的L2P信息,因为其所消耗的BUF大小超过了SD卡所提供的4M空间。所以,如何在固件内部实现以逻辑地址索引返回物理地址的同时,保证索引效率,且检索时所消耗固件空间较小是目前固件配置的一难题。
发明内容
本发明所要解决的技术问题是:提供一种地址索引方法、装置、可读存储介质及电子设备,基于P2L算法实现以逻辑地址索引返回物理地址,降低空间消耗。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种地址索引方法,包括:
存储外部设备的写入数据,获取所述写入数据的物理地址以及所述物理地址对应的逻辑地址;
将所述物理地址以及所述物理地址对应的逻辑地址存储为P2L信息,并根据所述逻辑地址将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息;
接收外部设备的读取请求,根据所述读取请求以及所述P2L信息返回所述索引信息中的目标物理地址。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种地址索引装置,包括:
写入模块,用于存储外部设备的写入数据,获取所述写入数据的物理地址以及所述物理地址对应的逻辑地址;
存储模块,用于将所述物理地址以及所述物理地址对应的逻辑地址存储为P2L信息,并根据所述逻辑地址将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息;
索引模块,用于接收外部设备的读取请求,根据所述读取请求以及所述P2L信息返回所述索引信息中的目标物理地址。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种地址索引方法中的各个步骤。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种地址索引方法中的各个步骤。
本发明的有益效果在于:当外部设备写入数据时,存储写入数据的物理地址以及该物理地址对应的逻辑地址,以此方式在P2L信息中实现以物理地址索引返回逻辑地址;在保存P2L信息的同时,以P2L信息中的逻辑地址为索引条件按照预设排序算法创建新的索引信息,在该索引信息中保存与逻辑地址对应的物理地址,以此方式在索引信息中实现以逻辑地址的排列顺序索引返回物理地址。接收外部设备的读取请求后,根据索引信息中的物理地址在P2L信息中索引对应的逻辑地址,并将逻辑地址与读取请求比对,进而返回索引信息中的目标物理地址。本发明基于P2L(以物理地址为下标索引返回逻辑地址)索引算法实现了以逻辑地址索引返回物理地址,所需要的空间仅为存储设备的最大物理页,从而减少空间消耗;且物理页数量远远小于所要存储的逻辑地址数量,以此方式提高检索效率。
附图说明
图1为本发明实施例提供的一种地址索引方法的步骤流程图;
图2为本发明实施例提供的P2L信息以及索引信息的存储示意图;
图3为本发明实施例提供的一种地址索引方法的索引示意图;
图4为本发明实施例提供的一种地址索引装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图;
标号说明:
201、写入模块;202、存储模块;203、索引模块;301、存储器;302、处理器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1以及图2,本发明实施例提供了一种地址索引方法,包括:
存储外部设备的写入数据,获取所述写入数据的物理地址以及所述物理地址对应的逻辑地址;
将所述物理地址以及所述物理地址对应的逻辑地址存储为P2L信息,并根据所述逻辑地址将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息;
接收外部设备的读取请求,根据所述读取请求以及所述P2L信息返回所述索引信息中的目标物理地址。
进一步地,所述将所述物理地址以及所述物理地址对应的逻辑地址存储为P2L信息包括:
获取预设的P2L信息存储空间;
根据所述物理地址的大小顺序将所述物理地址以及所述物理地址对应的逻辑地址依次存储至所述P2L信息存储空间。
由上述描述可知,在P2L信息存储空间中,根据物理地址的大小顺序将物理地址以及对应的逻辑地址进行存储,则P2L信息存储空间所消耗的最大容量仅为存储设备中最大物理页数,以此来减少存储设备中索引算法所消耗的空间。
进一步地,所述根据所述逻辑地址将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息包括:
创建索引信息存储空间;
获取所述P2L信息中的逻辑地址,按照所述预设排序算法将所述逻辑地址之间进行逐一比较并排序,得到所述逻辑地址的排列顺序;
根据所述逻辑地址的排列顺序将所述逻辑地址对应的物理地址依次存储至所述索引信息存储空间。
由上述描述可知,在P2L信息中是根据物理地址将逻辑地址进行存储,故在P2L信息中仅能通过物理地址索引返回逻辑地址,而无法满足外部设备提供逻辑地址索引返回物理地址的需求。为此,在保存P2L信息的同时,创建新的索引信息存储空间,并将P2L信息中的逻辑地址进行按照预设排序算法进行排序,从而获取P2L信息中所有逻辑地址的排列顺序;在新的索引信息中以逻辑地址的排列顺序将物理地址进行存储,从而在物理地址与逻辑地址之间建立反向索引条件,故在索引信息中可实现以逻辑地址的排列顺序索引对应的物理地址,进而根据索引信息中获取到的物理地址在P2L信息中索引逻辑地址,最终实现输入逻辑地址返回物理地址。
进一步地,所述读取请求包括读取数据的目标逻辑地址;
所述根据所述逻辑地址将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息具体为:
根据所述逻辑地址的大小,将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息;
所述根据所述读取请求以及所述P2L信息返回所述索引信息中的目标物理地址包括:
获取所述索引信息中的第一物理地址作为索引地址;
获取所述P2L信息中与所述索引地址对应的预估逻辑地址;
判断所述预估逻辑地址与所述目标逻辑地址是否相同,若是,则返回所述索引地址;
否则,比较所述预估逻辑地址与所述目标逻辑地址的大小,得到所述目标逻辑地址在所述索引信息中的排序,根据所述排序获取所述索引信息中的第二物理地址作为索引地址,并返回执行获取所述P2L信息中与所述索引地址对应的预估逻辑地址的步骤。
由上述描述可知,外部设备的读取请求一般是下发所要读取数据的逻辑地址。在接收到外部设备的目标逻辑地址后,由于P2L信息中所存储的均为逻辑地址,且索引信息中所存储的物理地址是以逻辑地址的大小为索引条件,故先获取索引信息中的第一物理地址,通过第一物理地址在P2L信息中查找与第一物理地址对应的预估逻辑地址,并比较预估逻辑地址与目标逻辑地址的大小,以此方式确认目标逻辑地址在索引信息中的排序,从而逐步缩小查询范围,最后获取索引信息中对应的目标物理地址的数据。基于P2L算法实现以逻辑地址为索引返回物理地址。
进一步地,所述获取所述索引信息中的第一物理地址作为索引地址具体为:
获取所述索引信息中排序位于中间位置的第一物理地址作为索引地址;
所述根据所述排序获取所述索引信息中的第二物理地址作为索引地址具体为:
若所述目标逻辑地址的排序小于所述预估逻辑地址的排序,则获取所述索引信息中排序位于所述预估逻辑地址之前的所有物理地址,得到前表序列,获取所述前表序列中排序位于中间位置的第二物理地址作为索引地址;
若所述目标逻辑地址的排序大于所述预估逻辑地址的排序,则获取所述索引信息中排序位于所述预估逻辑地址之后的所有物理地址,得到后表序列,获取所述后表序列中排序位于中间位置的第二物理地址作为索引地址。
由上述描述可知,由于索引信息中采用顺序结构保存,采用二分查询法能够最大程度提高信息查询和检索的效率。
进一步地,所述预设排序算法为***排序算法。
由上述描述可知,***排序算法是将一个新地址***到已排序好的索引信息中,从而得到一个新的且地址总数增1的索引信息。即:先将索引信息的第1个地址看成是一个有序的子序列,然后从第2个地址逐个进行***,直至整个索引信息有序为止。而根据索引信息中排序算法的不同,所采用的查询方法也不同。若采用***排序算法,则对索引信息的查询方法采用二分查询法为最优选择,提高检索效率。
进一步地,所述预设排序算法为二叉堆排序算法。
由上述描述可知,在一种可选的实施方式中,索引信息中物理地址还可以采用二叉堆的方式,并采用与其相对应的查询方法,从而提高检索效率。
本发明另一实施例提供了一种地址索引装置,包括:
写入模块,用于存储外部设备的写入数据,获取所述写入数据的物理地址以及所述物理地址对应的逻辑地址;
存储模块,用于将所述物理地址以及所述物理地址对应的逻辑地址存储为P2L信息,并根据所述逻辑地址将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息;
索引模块,用于接收外部设备的读取请求,根据所述读取请求以及所述P2L信息返回所述索引信息中的目标物理地址。
本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述一种地址索引方法中的各个步骤。
本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述一种地址索引方法中的各个步骤。
从上述描述可知,本发明的有益效果在于:当外部设备写入数据时,存储写入数据的物理地址以及该物理地址对应的逻辑地址,以此方式在P2L信息中实现以物理地址索引返回逻辑地址;在保存P2L信息的同时,以P2L信息中的逻辑地址为索引条件按照预设排序算法创建新的索引信息,在该索引信息中保存与逻辑地址对应的物理地址,以此方式在索引信息中实现以逻辑地址的排列顺序索引返回物理地址。接收外部设备的读取请求后,根据索引信息中的物理地址在P2L信息中索引对应的逻辑地址,并将逻辑地址与读取请求比对,进而返回索引信息中的目标物理地址。本发明基于P2L(以物理地址为下标索引返回逻辑地址)索引算法实现了以逻辑地址索引返回物理地址,所需要的空间仅为存储设备的最大物理页,从而减少空间消耗;且物理页数量远远小于所要存储的逻辑地址数量,以此方式提高检索效率。
实施例一
请参照图1至图3,本实施例的一种地址索引方法,包括:
S1、存储外部设备的写入数据,获取所述写入数据的物理地址以及所述物理地址对应的逻辑地址。
所述S1包括:
S11、获取预设的P2L信息存储空间;
S12、根据所述物理地址的大小顺序将所述物理地址以及所述物理地址对应的逻辑地址依次存储至所述P2L信息存储空间。
在一些实施例中,P2L信息存储空间为表结构。参照图2,在P2L table中存储有多个物理地址以及所述物理地址对应的逻辑地址。其中,X:LAA_X中的X表示物理地址,LAA_X表示该物理地址X所对应的逻辑地址。故在P2L信息表中所存储的地址均为某个物理地址对应的逻辑地址。
S2、将所述物理地址以及所述物理地址对应的逻辑地址存储为P2L信息,并根据所述逻辑地址将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息。
所述S2包括:
S21、创建索引信息存储空间;
S22、获取所述P2L信息中的逻辑地址,按照所述预设排序算法将所述逻辑地址之间进行逐一比较并排序,得到所述逻辑地址的排列顺序;
S23、根据所述逻辑地址的排列顺序将所述逻辑地址对应的物理地址依次存储至所述索引信息存储空间。
在一种可选的实施方式中,所述S2具体为:根据所述逻辑地址的大小顺序,将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息。
在一些实施例中,索引信息存储空间为表结构。且在存储P2L信息的同时,创建索引信息存储空间。参照图2,在index table中存储有多个物理地址。其中,X表示物理地址。具体的,获取P2L table中所有逻辑地址LAA_0、LAA_1、LAA_2、LAA_3、LAA_N、……、LAA_N+1,按照***排序算法将所述逻辑地址的大小进行逐一比较并排序,得到所述逻辑地址的大小的排列顺序为LAA_0<LAA_3<LAA_1<LAA_N<……<LAA_N+1<LAA_2;根据上述逻辑地址的大小的排列顺序将所述逻辑地址对应的物理地址0(逻辑地址LAA_0)、物理地址3(逻辑地址LAA_3)、物理地址1(逻辑地址LAA_1)、物理地址N(逻辑地址LAA_N)、……、物理地址N+1(逻辑地址LAA_N+1)、物理地址2(逻辑地址LAA_2)依次存储至index table中。
当所述P2L table中***新逻辑地址时,需要将新逻辑地址与现有的P2L table中所有的逻辑地址的大小进行逐一比较确定新逻辑地址排序后,将新逻辑地址所对应的物理地址同时***index table中的对应位置。
S3、接收外部设备的读取请求,根据所述读取请求以及所述P2L信息返回所述索引信息中的目标物理地址;其中,所述读取请求包括读取数据的目标逻辑地址。
所述S3包括:
S31、获取所述索引信息中的第一物理地址作为索引地址;
在一种可选的实施方式中,若采用二分查询法,则所述S31具体为:获取所述索引信息中排序位于中间位置的第一物理地址作为索引地址。
S32、获取所述P2L信息中与所述索引地址对应的预估逻辑地址;
S33、判断所述预估逻辑地址与所述目标逻辑地址是否相同,若是,则返回所述索引地址;
S34、否则,比较所述预估逻辑地址与所述目标逻辑地址的大小,得到所述目标逻辑地址在所述索引信息中的排序,根据所述排序获取所述索引信息中的第二物理地址作为索引地址,并返回执行获取所述P2L信息中与所述索引地址对应的预估逻辑地址的步骤。
在一种可选的实施方式中,若采用二分查询法,则所述根据所述排序获取所述索引信息中的第二物理地址作为索引地址具体为:
S341、若所述目标逻辑地址的排序小于所述预估逻辑地址的排序,则获取所述索引信息中排序位于所述预估逻辑地址之前的所有物理地址,得到前表序列,获取所述前表序列中排序位于中间位置的第二物理地址作为索引地址;
S342、若所述目标逻辑地址的排序大于所述预估逻辑地址的排序,则获取所述索引信息中排序位于所述预估逻辑地址之后的所有物理地址,得到后表序列,获取所述后表序列中排序位于中间位置的第二物理地址作为索引地址。
在一些实施例中,参照图3,若目标逻辑地址为LAA_3,则需要根据逻辑地址LAA_3返回其所对应的物理地址。具体的,参照图3中所示step1,先获取index table中排序位于中间位置的第一物理地址N作为索引地址;再获取所述P2L table中与所述索引地址N对应的预估逻辑地址为LAA_N;所述预估逻辑地址LAA_N与所述目标逻辑地址LAA_3不相同,故比较所述预估逻辑地址LAA_N与所述目标逻辑地址LAA_3的大小,得到比较结果为LAA_3<LAA_N;根据比较结果获取index table中排序位于预估逻辑地址LAA_N之前的所有物理地址0、3、1,得到前表序列(0、3、1);参照图3中所示step2,先获取前表序列(0、3、1)中排序位于中间位置的第二物理地址3作为索引地址;再获取所述P2L table中与所述索引地址3对应的预估逻辑地址为LAA_3;所述预估逻辑地址LAA_3与所述目标逻辑地址LAA_3相同,则返回所述索引地址3,从而获取物理地址3所存储的数据。通过上述查询方式,以三星V5的NAND(闪存设备)为例,其最大物理页为368页,则最多只需要查询log368<8次即可获取到目标物理地址,极大程度地提高了查询速度。
在一种可选的实施方式中,所述预设排序算法为***排序算法。
在一种可选的实施方式中,所述预设排序算法为二叉堆排序算法。
实施例二
参照图4,本实施例的一种地址索引装置,包括:
写入模块201,用于存储外部设备的写入数据,获取所述写入数据的物理地址以及所述物理地址对应的逻辑地址;
存储模块202,用于将所述物理地址以及所述物理地址对应的逻辑地址存储为P2L信息,并根据所述逻辑地址将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息;
索引模块203,用于接收外部设备的读取请求,根据所述读取请求以及所述P2L信息返回所述索引信息中的目标物理地址。
实施例三
本实施例的一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实施例一所述一种地址索引方法的各个步骤。
实施例四
参照图5,本实施例的一种电子设备,包括存储器301、处理器302及存储在存储器301上并可在处理器302上运行的计算机程序,所述处理器302执行所述计算机程序时实现实施例一所述一种地址索引方法的各个步骤。
综上所述,本发明提供的一种地址索引方法、装置、可读存储介质及电子设备,当外部设备写入数据时,以表结构存储写入数据的物理地址以及该物理地址对应的逻辑地址,以此方式在P2L信息中实现以物理地址索引返回逻辑地址;在保存P2L信息的同时,以P2L信息中逻辑地址的大小排序为索引条件并按照预设排序算法创建新的索引信息,在该索引信息中保存与逻辑地址对应的物理地址,使得索引信息中的物理地址能够以逻辑地址的大小顺序进行排序,从而在索引信息中实现以逻辑地址的大小顺序索引返回物理地址。接收外部设备的目标逻辑地址后,先根据随机获取索引信息中的物理地址,再根据该物理地址在P2L信息中寻找对应的预估逻辑地址,通过预估逻辑地址确定目标逻辑地址的大小排序,从而逐步缩小检索范围,最终得到与目标逻辑地址相同的预估逻辑地址,即返回该预估逻辑地址的索引地址(物理地址)。由此,基于P2L(以物理地址为下标索引返回逻辑地址)索引算法实现了以逻辑地址索引返回物理地址,而其所需要的空间仅为存储设备的最大物理页,减少空间消耗;且物理页数量远远小于所要存储的逻辑地址数量,提高检索效率。
在本申请所提供的上述实施例中,应该理解到,所揭露的方法、装置、计算机可读存储介质以及电子设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件或模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或组件或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为组件显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部组件来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个组件单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种地址索引方法,其特征在于,包括:
存储外部设备的写入数据,获取所述写入数据的物理地址以及所述物理地址对应的逻辑地址;
将所述物理地址以及所述物理地址对应的逻辑地址存储为P2L信息,并根据所述逻辑地址将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息;
接收外部设备的读取请求,根据所述读取请求以及所述P2L信息返回所述索引信息中的目标物理地址;
所述读取请求包括读取数据的目标逻辑地址;
所述根据所述逻辑地址将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息具体为:
根据所述逻辑地址的大小,将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息;
所述根据所述读取请求以及所述P2L信息返回所述索引信息中的目标物理地址包括:
获取所述索引信息中的第一物理地址作为索引地址;
获取所述P2L信息中与所述索引地址对应的预估逻辑地址;
判断所述预估逻辑地址与所述目标逻辑地址是否相同,若是,则返回所述索引地址;
否则,比较所述预估逻辑地址与所述目标逻辑地址的大小,得到所述目标逻辑地址在所述索引信息中的排序,根据所述排序获取所述索引信息中的第二物理地址作为索引地址,并返回执行获取所述P2L信息中与所述索引地址对应的预估逻辑地址的步骤。
2.根据权利要求1所述的一种地址索引方法,其特征在于,所述将所述物理地址以及所述物理地址对应的逻辑地址存储为P2L信息包括:
获取预设的P2L信息存储空间;
根据所述物理地址的大小顺序将所述物理地址以及所述物理地址对应的逻辑地址依次存储至所述P2L信息存储空间。
3.根据权利要求1所述的一种地址索引方法,其特征在于,所述根据所述逻辑地址将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息包括:
创建索引信息存储空间;
获取所述P2L信息中的逻辑地址,按照所述预设排序算法将所述逻辑地址之间进行逐一比较并排序,得到所述逻辑地址的排列顺序;
根据所述逻辑地址的排列顺序将所述逻辑地址对应的物理地址依次存储至所述索引信息存储空间。
4.根据权利要求1所述的一种地址索引方法,其特征在于,所述获取所述索引信息中的第一物理地址作为索引地址具体为:
获取所述索引信息中排序位于中间位置的第一物理地址作为索引地址;
所述根据所述排序获取所述索引信息中的第二物理地址作为索引地址具体为:
若所述目标逻辑地址的排序小于所述预估逻辑地址的排序,则获取所述索引信息中排序位于所述预估逻辑地址之前的所有物理地址,得到前表序列,获取所述前表序列中排序位于中间位置的第二物理地址作为索引地址;
若所述目标逻辑地址的排序大于所述预估逻辑地址的排序,则获取所述索引信息中排序位于所述预估逻辑地址之后的所有物理地址,得到后表序列,获取所述后表序列中排序位于中间位置的第二物理地址作为索引地址。
5.根据权利要求1-4任意一项所述的一种地址索引方法,其特征在于,所述预设排序算法为***排序算法。
6.根据权利要求1所述的一种地址索引方法,其特征在于,所述预设排序算法为二叉堆排序算法。
7.一种地址索引装置,包括:
写入模块,用于存储外部设备的写入数据,获取所述写入数据的物理地址以及所述物理地址对应的逻辑地址;
存储模块,用于将所述物理地址以及所述物理地址对应的逻辑地址存储为P2L信息,并根据所述逻辑地址将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息;
索引模块,用于接收外部设备的读取请求,根据所述读取请求以及所述P2L信息返回所述索引信息中的目标物理地址;
所述读取请求包括读取数据的目标逻辑地址;
所述根据所述逻辑地址将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息具体为:
根据所述逻辑地址的大小,将所述逻辑地址对应的物理地址按照预设排序算法存储为索引信息;
所述根据所述读取请求以及所述P2L信息返回所述索引信息中的目标物理地址包括:
获取所述索引信息中的第一物理地址作为索引地址;
获取所述P2L信息中与所述索引地址对应的预估逻辑地址;
判断所述预估逻辑地址与所述目标逻辑地址是否相同,若是,则返回所述索引地址;
否则,比较所述预估逻辑地址与所述目标逻辑地址的大小,得到所述目标逻辑地址在所述索引信息中的排序,根据所述排序获取所述索引信息中的第二物理地址作为索引地址,并返回执行获取所述P2L信息中与所述索引地址对应的预估逻辑地址的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任意一项所述的一种地址索引方法中的各个步骤。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中任意一项所述的一种地址索引方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310653604.5A CN116383098B (zh) | 2023-06-05 | 2023-06-05 | 地址索引方法、装置、可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310653604.5A CN116383098B (zh) | 2023-06-05 | 2023-06-05 | 地址索引方法、装置、可读存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116383098A CN116383098A (zh) | 2023-07-04 |
CN116383098B true CN116383098B (zh) | 2023-09-12 |
Family
ID=86971627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310653604.5A Active CN116383098B (zh) | 2023-06-05 | 2023-06-05 | 地址索引方法、装置、可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116383098B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102866955A (zh) * | 2012-09-14 | 2013-01-09 | 记忆科技(深圳)有限公司 | 一种闪存数据管理方法及*** |
CN105930278A (zh) * | 2015-02-26 | 2016-09-07 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
CN109656837A (zh) * | 2017-10-11 | 2019-04-19 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN109684238A (zh) * | 2018-12-19 | 2019-04-26 | 湖南国科微电子股份有限公司 | 一种固态硬盘映射关系的存储方法、读取方法及固态硬盘 |
US10445229B1 (en) * | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
CN110532194A (zh) * | 2018-05-23 | 2019-12-03 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN110704330A (zh) * | 2018-07-09 | 2020-01-17 | 慧荣科技股份有限公司 | 数据存取控制装置及方法 |
CN111078584A (zh) * | 2018-10-19 | 2020-04-28 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN112513823A (zh) * | 2018-08-02 | 2021-03-16 | 美光科技公司 | 逻辑到物理表片段 |
CN114721972A (zh) * | 2022-06-09 | 2022-07-08 | 深圳佰维存储科技股份有限公司 | 垃圾回收方法、装置、可读存储介质及电子设备 |
CN115390746A (zh) * | 2021-05-25 | 2022-11-25 | 爱思开海力士有限公司 | 主机设备、存储设备以及电子设备 |
CN116069267A (zh) * | 2023-04-06 | 2023-05-05 | 苏州浪潮智能科技有限公司 | 一种raid卡的写缓存方法、***、设备及存储介质 |
-
2023
- 2023-06-05 CN CN202310653604.5A patent/CN116383098B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102866955A (zh) * | 2012-09-14 | 2013-01-09 | 记忆科技(深圳)有限公司 | 一种闪存数据管理方法及*** |
US10445229B1 (en) * | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
CN105930278A (zh) * | 2015-02-26 | 2016-09-07 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
CN109656837A (zh) * | 2017-10-11 | 2019-04-19 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN110532194A (zh) * | 2018-05-23 | 2019-12-03 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN110704330A (zh) * | 2018-07-09 | 2020-01-17 | 慧荣科技股份有限公司 | 数据存取控制装置及方法 |
CN112513823A (zh) * | 2018-08-02 | 2021-03-16 | 美光科技公司 | 逻辑到物理表片段 |
CN111078584A (zh) * | 2018-10-19 | 2020-04-28 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN109684238A (zh) * | 2018-12-19 | 2019-04-26 | 湖南国科微电子股份有限公司 | 一种固态硬盘映射关系的存储方法、读取方法及固态硬盘 |
CN115390746A (zh) * | 2021-05-25 | 2022-11-25 | 爱思开海力士有限公司 | 主机设备、存储设备以及电子设备 |
CN114721972A (zh) * | 2022-06-09 | 2022-07-08 | 深圳佰维存储科技股份有限公司 | 垃圾回收方法、装置、可读存储介质及电子设备 |
CN116069267A (zh) * | 2023-04-06 | 2023-05-05 | 苏州浪潮智能科技有限公司 | 一种raid卡的写缓存方法、***、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116383098A (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11055230B2 (en) | Logical to physical mapping | |
US9983821B2 (en) | Optimized hopscotch multiple hash tables for efficient memory in-line deduplication application | |
CN107273042B (zh) | 重复删除dram***算法架构的存储器模块及方法 | |
US8321624B2 (en) | Memory device and management method of memory device | |
CN104238962B (zh) | 向缓存中写入数据的方法及装置 | |
US10496543B2 (en) | Virtual bucket multiple hash tables for efficient memory in-line deduplication application | |
CN107122130B (zh) | 一种数据重删方法及装置 | |
CN111459919B (zh) | 数据查询方法、加载组件、搜索组件和存储介质 | |
CN109976669B (zh) | 一种边缘存储方法、装置和存储介质 | |
CN109407985B (zh) | 一种数据管理的方法以及相关装置 | |
US9880930B2 (en) | Method for operating controller and method for operating device including the same | |
CN116383098B (zh) | 地址索引方法、装置、可读存储介质及电子设备 | |
CN102650972A (zh) | 数据存储方法、装置及*** | |
US11836092B2 (en) | Non-volatile storage controller with partial logical-to-physical (L2P) address translation table | |
CN112905496A (zh) | 垃圾回收的方法、装置、可读存储介质及电子设备 | |
CN111625198A (zh) | 一种元数据缓存方法和元数据缓存装置 | |
CN113505130A (zh) | 一种哈希表的处理方法 | |
Son et al. | A tiny-capacitor-backed non-volatile buffer to reduce storage writes in smartphones | |
US11409665B1 (en) | Partial logical-to-physical (L2P) address translation table for multiple namespaces | |
CN110968520A (zh) | 基于统一缓存架构的多流存储设备 | |
CN111930300B (zh) | 数据写入方法、装置、计算机可读存储介质及电子设备 | |
CN118034610B (zh) | 应用于存储器的密钥数据处理方法、存储器、装置及设备 | |
US11914587B2 (en) | Systems and methods for key-based indexing in storage devices | |
CN102591793B (zh) | 辅助上位机检索页映射单元块中空闲块的装置 | |
CN114238175A (zh) | 一种固态硬盘ftl算法地址映射方法 |
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 |