CN117370222A - 存储映射方法、装置、计算机可读存储介质及电子设备 - Google Patents
存储映射方法、装置、计算机可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN117370222A CN117370222A CN202311677028.4A CN202311677028A CN117370222A CN 117370222 A CN117370222 A CN 117370222A CN 202311677028 A CN202311677028 A CN 202311677028A CN 117370222 A CN117370222 A CN 117370222A
- Authority
- CN
- China
- Prior art keywords
- address
- continuous
- length
- logical
- logical address
- 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
- 238000013507 mapping Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 13
- 230000002085 persistent effect Effects 0.000 claims 2
- 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
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000010924 continuous production Methods 0.000 description 1
- 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
- 239000007787 solid Substances 0.000 description 1
- 238000013519 translation Methods 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/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
-
- 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
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
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
本发明公开了一种存储映射方法、装置、计算机可读存储介质及电子设备,在数据写入时获取数据的逻辑地址以及物理地址,若逻辑地址以及物理地址均连续,则持续更新连续长度;若逻辑地址以及物理地址有一者不连续,则获取临时表中的起始逻辑地址、起始物理地址以及连续地址长度;将起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中;本发明因记录时记录中逻辑地址以及物理地址都是连续的,故在扩展表中只需要存储起始逻辑地址、起始物理地址以及连续地址长度,而无需存储完整的每一条记录,能够通过连续地址长度推算出扩展表一条记录中对应的逻辑地址和物理地址的范围,从而减少了内存的占用空间。
Description
技术领域
本发明涉及存储介质领域,尤其涉及一种存储映射方法、装置、计算机可读存储介质及电子设备。
背景技术
在eMMC(Embedded Multi Media Card,嵌入式多媒体卡,一种嵌入式存储器标准规格)/UFS(Univeral Flash Storage,通用闪存存储器)/SSD(Solid State Disk,固态硬盘)中,通过FTL(Flash Translation Layer,闪存转换层)将主机的逻辑块(Block)地址(LBA,logical block addresses)和NAND FLASH(一种基于NAND技术的非易失性存储器)Block地址,即物理块地址(PBA,physical block addresses)建立映射表,当主机(使用eMMC/UFS/SSD的手机、电脑等设备)进行读数据时,需要通过查询映射表确认主机读的LBA所对应的PBA从而获取对应NAND FLASH地址来读取LBA对应的数据,即物理地址才是数据真正存储的位置。
由于eMMC/UFS/SSD中内存有限,一般只在内存中缓存少量映射表,大部分映射表是保存在NAND FLASH中,当主机读查内存中的映射表未查找到对应PBA时,需要到NANDFLASH中加载LBA所在映射表到内存中,然后从加载的映射表获取PBA。
从NAND FLASH读映射表需要80us(微秒)左右的时间,而当映射表在缓存中时,读表只需要1us左右的时间,在随机读(主机读的LBA不连续)情况下,需要频繁从NAND FLASH加载映射表,才能命中所需的LBA,这就导致随机读性能非常低。
现有技术中使用的映射表条目为4K/16K大小的LBA与对应的4K/16K大小的PBA的映射,而内存中无法同时存储下数千个4K/6K大小的映射条目,则能够直接在内存中就命中所需LBA的概率并不高,从而需要多次读写,损耗存储介质的使用寿命。
发明内容
本发明所要解决的技术问题是:提供一种存储映射方法、装置、计算机可读存储介质及电子设备,实现提高存储介质中查询地址映射的效率。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种存储映射方法,包括步骤:
在数据写入时获取所述数据的逻辑地址以及物理地址,若所述逻辑地址以及物理地址均连续,则持续在预设的临时表中更新所述逻辑地址以及物理地址;
若所述逻辑地址以及物理地址有一者不连续,则获取所述临时表中的起始逻辑地址、起始物理地址以及连续地址长度;
将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种存储映射装置,包括:
判断模块,用于在数据写入时获取所述数据的逻辑地址以及物理地址,若所述逻辑地址以及物理地址均连续,则持续在预设的临时表中更新所述逻辑地址以及物理地址;若所述逻辑地址以及物理地址有一者不连续,则获取所述临时表中的起始逻辑地址、起始物理地址以及连续地址长度;
记录模块,用于将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述系统部署方法中的各个步骤。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述系统部署方法中的各个步骤。
本发明的有益效果在于:在数据写入时将连续的逻辑地址以及物理地址集中存储在临时表中,当其中一者不连续后,将临时表中存储的记录记录到扩展表中,因记录时记录中逻辑地址以及物理地址都是连续的,故在扩展表中只需要存储起始逻辑地址、起始物理地址以及连续地址长度,而无需存储每一条LBA与PBA的映射,能够通过起始逻辑地址、起始物理地址以及连续地址长度推算出扩展表一条记录中对应的逻辑地址和物理地址的范围,从而减少了内存的占用空间,能够在内存中存入更多的逻辑地址与物理地址之间的映射关系,从而提高查询逻辑地址映射的物理地址时在内存中的命中率,减少从NAND FLASH查找映射,从而提高读性能。
附图说明
图1为本发明实施例的一种存储映射方法的步骤流程图;
图2为本发明实施例的一种存储映射装置的结构示意图;
图3为本发明实施例的一种电子设备的结构示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,一种存储映射方法,包括步骤:
在数据写入时获取所述数据的逻辑地址以及物理地址,若所述逻辑地址以及物理地址均连续,则持续在预设的临时表中更新所述逻辑地址以及物理地址;
若所述逻辑地址以及物理地址有一者不连续,则获取所述临时表中的起始逻辑地址、起始物理地址以及连续地址长度;
将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中。
从上述描述可知,本发明的有益效果在于:在数据写入时将连续的逻辑地址以及物理地址集中存储在临时表中,当其中一者不连续后,将临时表中存储的记录记录到扩展表中,因记录时记录中逻辑地址以及物理地址都是连续的,故在扩展表中只需要存储起始逻辑地址、起始物理地址以及连续地址长度,无需存储每一条LBA与PBA的映射,能够通过起始逻辑地址、起始物理地址以及连续地址长度推算出扩展表一条记录中对应的逻辑地址和物理地址的范围,从而减少了内存的占用空间,能够在内存中存入更多的逻辑地址与物理地址之间的映射关系,从而提高查询逻辑地址映射的物理地址时在内存中的命中率,减少从NAND FLASH查找映射,从而提高读性能。
进一步地,所述持续在预设的临时表中更新连续地址长度之后还包括:
若所述临时表不连续时,连续地址长度大于预设条数,则将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中。
由上述描述可知,可通过在临时表中连续记录逻辑地址以及物理地址本身,以其个数即临时表中记录的条数标识连续地址长度,在连续地址长度大于预设条数后将起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中,可以扩大扩展表记录的映射范围,同时避免扩展表中一条记录的范围过大影响搜索时的效率
进一步地,所述持续在预设的临时表中更新连续地址长度之后还包括:
若所述临时表的连续长度大于预设长度,则将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中。
由上述描述可知,在逻辑地址和物理地址持续连续的过程中,直接递增临时表的连续长度,则通过单独的字段标识临时表的连续长度,无需记录每一个逻辑地址和物理地址,节省了内存空间。
进一步地,所述持续在预设的临时表中更新连续地址长度包括:
在临时表中存储起始逻辑地址、起始物理地址以及连续地址长度;
更新所述连续地址长度。
由上述描述可知,在临时表中存储起始逻辑地址、起始物理地址以及逻辑地址和物理地址均连续的记录的连续地址长度,并根据新产生的物理地址以及逻辑地址更新连续地址长度,则在临时表中的存储阶段就无需存储每一条LBA与PBA的映射,节约内存空间。
进一步地,所述持续在预设的临时表中更新连续地址长度包括:
持续在预设的临时表中判断是否连续并更新连续长度。
由上述描述可知,在临时表中当逻辑地址以及物理地址均连续时,持续更新连续地址长度。
进一步地,所述将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中包括:
获取扩展表中存储的记录的历史逻辑地址;
根据所述连续地址长度以及起始逻辑地址获取待存储的逻辑地址范围;
若所述逻辑地址范围包括所述历史逻辑地址,则将所述历史逻辑地址对应的记录无效。
进一步地,所述将所述历史逻辑地址对应的记录无效后还包括:
写入所述起始逻辑地址、起始物理地址以及连续地址长度至所述扩展表。
由上述描述可知,在记录临时表的过程中,若扩展表中已经存储有对应的逻辑地址,则说明该逻辑地址已经被重新分配,扩展表中记录的映射为旧的映射,故将新产生的记录覆盖原有的记录,将原有的记录无效,能够避免在查询时同一个逻辑地址获取到旧的映射产生程序错误。
进一步地,所述将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中之后还包括:
丢弃所述临时表中已记录的记录并重新开始记录。
由上述描述可知,当临时表中的记录持久化即存储到扩展表中之后,将临时表中的记录删除并重新开始记录,避免残余的数据对新记录的干扰,并且能够减小临时表的内存消耗。
进一步地,还包括:
接收地址查询请求,所述地址查询请求包括待查询逻辑地址;
获取所述扩展表中的最大逻辑地址以及最小逻辑地址,若所述待查询逻辑地址在所述最大逻辑地址与最小逻辑地址之间,则遍历所述扩展表获取所述待查询逻辑地址对应的目标物理地址。
由上述描述可知,在接收到地址查询请求后,根据扩展表中的最大逻辑地址以及最小逻辑地址就能够知道扩展表中存储的逻辑地址的范围,若地址查询请求中的待查询逻辑地址在这个范围中,则说明待查询逻辑地址很大可能在扩展表中能查询到,此时再仅需遍历扩展表中的记录获取待查询逻辑地址对应的目标物理地址,则通过最大逻辑地址和最小逻辑地址能够实现快速定位。
进一步地,所述遍历所述扩展表获取所述待查询逻辑地址对应的目标物理地址包括:
遍历所述扩展表中每一个条目;
当遍历到目标条目时,根据所述目标记录中的目标起始逻辑地址以及连续地址长度得到逻辑地址范围,判断所述待查询逻辑地址是否属于所述逻辑地址范围,若是则计算所述待查询逻辑地址与所述目标起始逻辑地址的地址差值;并根据所述地址差值以及所述目标起始逻辑地址对应的目标起始物理地址计算目标物理地址;若否则继续遍历。
由上述描述可知,因扩展表中的记录存储了起始逻辑地址、起始物理地址以及连续地址长度,故根据连续地址长度以及起始逻辑地址就能够获取扩展表中一条记录对应的逻辑地址的范围,将待查询逻辑地址与每一条记录对应的可查询的逻辑地址的范围进行比较,就能够确定待查询的逻辑地址所对应的记录,因逻辑地址与物理地址的偏移量相同,故根据待查询的逻辑地址与起始逻辑地址之间所得到的地址差值就能够通过起始物理地址计算出目标物理地址,完成逻辑地址到物理地址的查询过程。
进一步地,所述将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中之后还包括:
更新所述扩展表对应的最大起始逻辑地址以及最小起始逻辑地址。
由上述描述可知,将扩展表对应的最大起始逻辑地址以及最小起始逻辑地址进行单独维护,则无需每次再遍历扩展表每个条目判断待查询的逻辑地址是否在该条目的逻辑地址范围内,能够直接获取到对应的值,提升了处理效率。
请参照图2,本发明另一实施例提供了一种系统部署装置,包括:
判断模块,用于在数据写入时获取所述数据的逻辑地址以及物理地址,若所述逻辑地址以及物理地址均连续,则持续在预设的临时表中更新连续地址长度;若所述逻辑地址以及物理地址有一者不连续,则获取所述临时表中的起始逻辑地址、起始物理地址以及连续地址长度;
记录模块,用于将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中。
本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述存储映射方法中的各个步骤。
请参照图3,本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述存储映射方法中的各个步骤。
本发明上述的存储映射方法、装置、计算机可读存储介质及电子设备能够适用于各种存储介质例如eMMC/UFS/SSD中,减少地址映射的存储量,以下通过具体实施方式说明。
请参照图1,本发明的实施例一为:
一种存储映射方法,包括步骤:
S1、在数据写入时获取所述数据的逻辑地址以及物理地址,若所述逻辑地址以及物理地址均连续,则持续在预设的临时表(active表项)中更新连续地址长度;
具体地,若当前逻辑地址减前一逻辑地址为1,则逻辑地址连续;若当前物理地址减前一物理地址为1,则物理地址连续;
其中,持续在预设的临时表中更新连续地址长度包括:在临时表中存储起始逻辑地址、起始物理地址以及连续地址长度;即在一种可选的实施方式中,临时表中存储有起始逻辑地址、起始物理地址以及起始逻辑地址与起始物理地址的连续长度(连续地址长度);
S2、若所述逻辑地址以及物理地址有一者不连续,则获取所述临时表中的起始逻辑地址、起始物理地址以及连续地址长度,执行步骤S3后重新执行步骤S1;即在临时表中重新开始记录连续的逻辑地址和物理地址;
S3、检查临时表记录的逻辑地址范围是否与扩展表记录的逻辑地址范围存在交集,若存在交集将存在交集的扩展表条目从扩展表移除;
S31、获取扩展表中存储的记录的历史逻辑地址;
在一种可选的实施方式中,根据扩展表中存储的历史起始逻辑地址得到第一端点,以及根据历史起始逻辑地址以及历史连续地址长度得到第二端点,位于第一端点到第二端点之间的逻辑地址即为历史逻辑地址;
例如,扩展表中已存储历史逻辑地址10,连续地址长度6,则逻辑地址10-15即为历史逻辑地址;
S32、根据临时表连续地址长度以及起始逻辑地址获取待存储的临时表的逻辑地址范围;
S33、若所述逻辑地址范围包括所述历史逻辑地址,则将所述历史逻辑地址对应的记录从扩展表移除;
例如,逻辑地址范围为14-20,包括历史逻辑地址14以及15,则将历史逻辑地址10,连续地址长度6的记录无效;能够避免查询映射出错;
S34、写入所述起始逻辑地址、起始物理地址以及连续地址长度;
若所述临时表的连续地址长度大于预设长度(即存储的连续长度大于预设连续长度),则将则所述临时表中的起始逻辑地址、起始物理地址以及连续地址长度作为一条扩展表条目记录到扩展表中;在一种可选的实施方式中,预设长度为375;
即扩展表中记录顺序写入的逻辑地址与物理地址的映射,每个表项记录顺序写的IO的起始逻辑地址、起始物理地址和连续地址长度即连续长度;
其中,遍历所述扩展表获取所述待查询逻辑地址对应的目标物理地址包括:
遍历所述扩展表中每一条记录;
当遍历到目标记录时,根据所述目标记录中的目标起始逻辑地址以及连续地址长度得到目标逻辑地址范围,判断所述待查询逻辑地址是否属于所述目标逻辑地址范围,若是则计算所述待查询逻辑地址与所述目标起始逻辑地址的地址差值;并根据所述地址差值以及所述目标起始逻辑地址对应的目标起始物理地址计算目标物理地址;若否则继续遍历;
查询过程和步骤S1-S3没有确定的执行步骤上的先后关系,即只要建立了扩展表就能够进行查询,而查询过程中也可穿插数据的写入,根据不同的情景和存储介质的特性可以改变。
请参照图2,本发明的实施例二为:
一种存储映射装置,包括:
判断模块,用于在数据写入时获取所述数据的逻辑地址以及物理地址,若所述逻辑地址以及物理地址均连续,则持续在预设的临时表中更新所述逻辑地址以及物理地址;若所述逻辑地址以及物理地址有一者不连续,则获取所述临时表中的起始逻辑地址、起始物理地址以及连续地址长度;
记录模块,用于将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中。
本发明的实施例三为:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现实施例一中系统部署方法的各个步骤。
请参照图3,本发明的实施例四为:
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一中系统部署方法的各个步骤。
综上所述,本发明提供的存储映射方法、装置、计算机可读存储介质及电子设备,在数据写入时获取数据的逻辑地址以及物理地址,若二者均连续则在预设的临时表中更新逻辑地址以及物理地址,直至二者有一不连续时,将临时表中记录的起始逻辑地址、起始物理地址以及连续地址长度更新到扩展表中,记录之后将临时表中的相应数据删除并重新开始记录;则内存中的扩展表无需存储每一条映射记录,而只需要存储起始逻辑地址、起始物理地址以及连续地址长度,因存储时保证了逻辑地址和物理地址都是连续的才会一起进行记录,故根据连续地址长度就能够获取到扩展表中一条记录里逻辑地址的囊括范围,则根据待查询逻辑地址与起始逻辑地址的地址差值即偏移量就能够确定出待查询逻辑地址,从而在内存中扩展表无需存储每一个逻辑地址与物理地址的映射,只需要存储一条起始逻辑地址、起始物理地址以及连续地址长度的记录就可以对应多个映射关系,在进行顺序写时能够更加发挥优势,能够在内存空间中存储较多的映射,从而无需频繁从存储介质中读取数据。
在本申请所提供的上述实施例中,应该理解到,所揭露的方法、装置、计算机可读存储介质以及电子设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件或模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或组件或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为组件显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部组件来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个组件单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (14)
1.一种存储映射方法,其特征在于,包括步骤:
在数据写入时获取所述数据的逻辑地址以及物理地址,若所述逻辑地址以及物理地址均连续,则持续在预设的临时表中更新连续地址长度;
若所述逻辑地址以及物理地址有一者不连续,则获取所述临时表中的起始逻辑地址、起始物理地址以及连续地址长度;
将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中。
2.根据权利要求1所述的一种存储映射方法,其特征在于,所述持续在预设的临时表中更新连续地址长度之后还包括:
若所述临时表不连续时,连续地址长度大于预设条数,则将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中。
3.根据权利要求1所述的一种存储映射方法,其特征在于,所述持续在预设的临时表中更新连续地址长度之后还包括:
若所述临时表的连续长度大于预设长度,则将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中。
4.根据权利要求1所述的一种存储映射方法,其特征在于,所述持续在预设的临时表中更新连续地址长度包括:
在临时表中存储起始逻辑地址、起始物理地址以及连续地址长度;
更新所述连续地址长度。
5.根据权利要求1所述的一种存储映射方法,其特征在于,所述持续在预设的临时表中更新连续地址长度包括:
持续在预设的临时表中判断是否连续并更新连续长度。
6.根据权利要求1所述的一种存储映射方法,其特征在于,所述将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中包括:
获取扩展表中存储的记录的历史逻辑地址;
根据所述连续地址长度以及起始逻辑地址获取待存储的逻辑地址范围;
若所述逻辑地址范围包括所述历史逻辑地址,则将所述历史逻辑地址对应的记录无效。
7.根据权利要求6所述的一种存储映射方法,其特征在于,所述将所述历史逻辑地址对应的记录无效后还包括:
写入所述起始逻辑地址、起始物理地址以及连续地址长度至所述扩展表。
8.根据权利要求1所述的一种存储映射方法,其特征在于,所述将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中之后还包括:
丢弃所述临时表中已记录的记录并重新开始记录。
9.根据权利要求1所述的一种存储映射方法,其特征在于,还包括:
接收地址查询请求,所述地址查询请求包括待查询逻辑地址;
获取所述扩展表中的最大逻辑地址以及最小逻辑地址,若所述待查询逻辑地址在所述最大逻辑地址与最小逻辑地址之间,则遍历所述扩展表获取所述待查询逻辑地址对应的目标物理地址。
10.根据权利要求9所述的一种存储映射方法,其特征在于,所述遍历所述扩展表获取所述待查询逻辑地址对应的目标物理地址包括:
遍历所述扩展表中每一条记录;
当遍历到目标记录时,根据所述目标记录中的目标起始逻辑地址以及连续地址长度得到目标逻辑地址范围,判断所述待查询逻辑地址是否属于所述目标逻辑地址范围,若是则计算所述待查询逻辑地址与所述目标起始逻辑地址的地址差值;并根据所述地址差值以及所述目标起始逻辑地址对应的目标起始物理地址计算目标物理地址;若否则继续遍历。
11.根据权利要求1所述的一种存储映射方法,其特征在于,所述将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中之后还包括:
更新所述扩展表对应的最大起始逻辑地址以及最小起始逻辑地址。
12.一种存储映射装置,其特征在于,包括:
判断模块,用于在数据写入时获取所述数据的逻辑地址以及物理地址,若所述逻辑地址以及物理地址均连续,则更新连续地址长度;若所述逻辑地址以及物理地址有一者不连续,则获取临时表中的起始逻辑地址、起始物理地址以及连续地址长度;
记录模块,用于将所述起始逻辑地址、起始物理地址以及连续地址长度记录到扩展表中。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至11任一项所述的一种存储映射方法中的各个步骤。
14.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至11任一项所述的一种存储映射方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311677028.4A CN117370222A (zh) | 2023-12-08 | 2023-12-08 | 存储映射方法、装置、计算机可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311677028.4A CN117370222A (zh) | 2023-12-08 | 2023-12-08 | 存储映射方法、装置、计算机可读存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117370222A true CN117370222A (zh) | 2024-01-09 |
Family
ID=89402647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311677028.4A Pending CN117370222A (zh) | 2023-12-08 | 2023-12-08 | 存储映射方法、装置、计算机可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117370222A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117806570A (zh) * | 2024-02-29 | 2024-04-02 | 深存科技(无锡)有限公司 | 在线内存扩展方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140289451A1 (en) * | 2013-03-20 | 2014-09-25 | Phison Electronics Corp. | Method of recording mapping information, and memory controller and memory storage apparatus using the same |
US20160048448A1 (en) * | 2013-03-25 | 2016-02-18 | Ajou University Industry-Academic Cooperation Foundation | Method for mapping page address based on flash memory and system therefor |
CN107066393A (zh) * | 2017-01-12 | 2017-08-18 | 安徽大学 | 提高地址映射表中映射信息密度的方法 |
US20230132837A1 (en) * | 2021-10-28 | 2023-05-04 | Hefei Core Storage Electronic Limited | Mapping information recording method, memory control circuit unit, and memory storage device |
-
2023
- 2023-12-08 CN CN202311677028.4A patent/CN117370222A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140289451A1 (en) * | 2013-03-20 | 2014-09-25 | Phison Electronics Corp. | Method of recording mapping information, and memory controller and memory storage apparatus using the same |
US20160048448A1 (en) * | 2013-03-25 | 2016-02-18 | Ajou University Industry-Academic Cooperation Foundation | Method for mapping page address based on flash memory and system therefor |
CN107066393A (zh) * | 2017-01-12 | 2017-08-18 | 安徽大学 | 提高地址映射表中映射信息密度的方法 |
US20230132837A1 (en) * | 2021-10-28 | 2023-05-04 | Hefei Core Storage Electronic Limited | Mapping information recording method, memory control circuit unit, and memory storage device |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117806570A (zh) * | 2024-02-29 | 2024-04-02 | 深存科技(无锡)有限公司 | 在线内存扩展方法、装置、设备及存储介质 |
CN117806570B (zh) * | 2024-02-29 | 2024-05-03 | 深存科技(无锡)有限公司 | 在线内存扩展方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108459826B (zh) | 一种处理io请求的方法及装置 | |
US9092323B2 (en) | Systems and methods for recovering addressing data | |
CN112486852B (zh) | 一种固态硬盘及其地址映射方法 | |
US7127551B2 (en) | Flash memory management method | |
US7287117B2 (en) | Flash memory and mapping control apparatus and method for flash memory | |
KR20130066525A (ko) | 데이터 이용가능성의 마운트타임 조정 | |
US20110004720A1 (en) | Method and apparatus for performing full range random writing on a non-volatile memory | |
CN117370222A (zh) | 存储映射方法、装置、计算机可读存储介质及电子设备 | |
US20140258675A1 (en) | Memory controller and memory system | |
CN109213450B (zh) | 一种基于闪存阵列的关联元数据删除方法、装置及设备 | |
CN107273306B (zh) | 一种固态硬盘的数据读取、数据写入方法及固态硬盘 | |
CN107329904A (zh) | 数据读取方法及装置 | |
CN113608701A (zh) | 一种存储系统中数据管理方法和固态硬盘 | |
CN106095331B (zh) | 一种固定大文件内部资源的控制方法 | |
CN110795031A (zh) | 一种基于全闪存储的数据重删方法、装置和系统 | |
CN113778911B (zh) | L2p数据缓存方法、装置、可读存储介质及电子设备 | |
CN111758086B (zh) | 用于ssd的映射表的刷新方法 | |
CN112800123B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110658999B (zh) | 一种信息更新方法、装置、设备及计算机可读存储介质 | |
CN111611179B (zh) | 元数据命中率提升方法、装置、存储介质及电子设备 | |
US20190286343A1 (en) | Mapping table management method for solid state storage device | |
CN112363677B (zh) | 读请求的处理方法、装置和存储介质及电子装置 | |
CN113553005B (zh) | 一种精简lun的数据读写方法、装置及设备 | |
CN116010298B (zh) | Nand型闪存地址映射的方法、装置、电子设备及存储介质 | |
CN109165172B (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 |