CN112882663A - 一种随机写的方法、电子设备及存储介质 - Google Patents
一种随机写的方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112882663A CN112882663A CN202110323391.0A CN202110323391A CN112882663A CN 112882663 A CN112882663 A CN 112882663A CN 202110323391 A CN202110323391 A CN 202110323391A CN 112882663 A CN112882663 A CN 112882663A
- Authority
- CN
- China
- Prior art keywords
- global mapping
- converted
- storage unit
- mapping table
- capacity
- 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.)
- Granted
Links
Images
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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)的应用也越来越广泛。固态硬盘以读写速度快、体积小的优势逐渐成为了主流存储器件,满足目前CPU(Central Processing Unit,中央处理器)的计算速度,广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等诸多领域。固态硬盘中的映射数据按照连续逻辑地址区间进行组织,形成全局映射表。
为了满足更多更高的存储需求,需要对存储单元的随机写性能进行优化和提升。当前提升存储单元,例如固态硬盘随机写性能一般使用两种方式:一,增加固态硬盘中主控内存空间的大小;二:使用DDR SDRAM(Double Data RateSynchronous Dynamic RandomAccess Memory,双倍速率同步动态随机存储器),通常简称DDR,在其中保存完整的用户数据的映射关系。而方式一中,增加主控内存空间的大小会增大晶片面积,增加制造成本,方式二中由于DDR的引入,也会增加产品成本,增加晶片的设计复杂度。
发明内容
有鉴于此,本申请实施例的目的在于提供一种随机写的方法、电子设备及存储介质,以改善现有技术中存在的存储单元的由于制造成本、晶片面积和设计复杂度造成的随机写性能较低的问题。
为了解决上述问题,第一方面,本申请实施例提供了一种随机写的方法,所述方法包括:
监控存储单元中全局映射表的转换指令;
根据所述转换指令确定出待转换全局映射表的加载指令;
根据所述加载指令从所述存储单元中加载所述待转换全局映射表;
将加载后的所述待转换全局映射表进行批量数据转换,以得到转换后的全局映射表。
在上述实现过程中,在随机写过程中通过对所述存储单元中的全局映射表的转换指令进行监控,确定出所述存储单元中需要进行数据转换的待转换全局映射表的加载指令,并在接收到所述加载指令后从所述存储单元中加载多个所述待转换全局映射表,将加载后的多个所述待转换全局映射表进行批量数据转换,得到多个转换后的全局映射表,以完成全局映射表的数据转换,完成所述存储单元中的随机写过程,无需通过增加制造成本,晶片面积以及设计复杂度来提升存储单元的随机写性能,通过对所述存储单元中在随机写过程中对需要进行数据转换的多个全局映射表进行批量数据转换,提高了所述全局映射表的数据转换速率,提升了存储单元的随机写速率和随机写性能。
可选地,所述根据所述转换指令确定出待转换全局映射表的加载指令,包括:
根据所述转换指令对所述存储单元中存储的全局映射表进行查找,以查找出所述存储单元中的需要进行数据转换的所述待转换全局映射表;
根据所述转换指令以及查找到的对应的所述待转换全局映射表的容量对所述存储单元的缓存空间进行申请,在申请成功时,确定出所述待转换全局映射表对应的加载指令;
重复执行所述对所述存储单元中存储的全局映射表进行查找以及对所述缓存空间进行申请的步骤,直到所述存储单元的缓存空间使用完毕,确定出多个所述加载指令。
在上述实现过程中,在确定所述存储单元中的全局映射表的加载指令时,由处理器根据所述转换指令对所述存储单元中储存的所有全局映射表进行查找与分析,查找出所述存储单元中的待转换全局映射表,根据查找到的所述待转换全局映射表的容量对所述存储单元的缓存空间进行申请,在所述缓存空间足够时,申请成功,确定出其对应的所述加载指令,再在所述存储单元中重复执行所述查找步骤,找出所述存储单元中的所有待转换全局映射表,直到所述存储单元的缓存空间使用完毕。通过在所述存储单元中重复进行查找待转换全局映射表的方式,找出所述存储单元的缓存空间中能够进行转换的多个待转换全局映射表,并确定出每个待转换全局映射表对应的加载指令。
可选地,所述根据所述加载指令从所述存储单元中加载所述待转换全局映射表,包括:
确定出每个所述加载指令对应的所述待转换全局映射表;
根据所述加载指令在所述存储单元中加载对应的所述待转换全局映射表。
在上述实现过程中,通过所述加载指令对对应的所述待转换全局映射表进行加载,能够有效地提高加载的效率和准确性。
可选地,所述将加载后的所述待转换全局映射表进行批量数据转换,以得到转换后的全局映射表,包括:
将加载的多个所述待转换全局映射表进行批量数据换入;
对数据换入完成后的多个所述待转换全局映射表进行批量数据换出,得到多个所述转换后的全局映射表,其中,所述数据转换包括数据换入和数据换出,所述数据转换的速度由所述待转换全局映射表的容量决定。
在上述实现过程中,所述数据转换的过程中包括数据换入和数据换出两个过程,根据所述处理器的内核的性能,先对从所述存储单元中加载的多个所述待转换全局映射表进行批量数据换入,再对进行数据换入后的所述待转换全局映射表进行批量数据换出,完成对所述待转换全局映射表的数据转换过程,数据转换的速度由所述待转换全局映射表的容量决定。通过对多个所述待转换全局映射表同时进行数据换入和换出,有效地节省了数据转换所需的时间,提高了数据转换的效率。
可选地,所述方法还包括:
对多个所述转换后的全局映射表进行聚合;
对聚合后的全局映射表进行刷新,得到刷新后的全局映射表。
在上述实现过程中,通过对多个所述转换后的全局映射表进行聚合,再对聚合后的全局映射表进行刷新,能够得到刷新后的全局映射表,通过在所述存储单元中重复进行随机写的过程,提高随机写的效率。
可选地,所述待转换全局映射表的容量由所述存储单元的容量进行动态调整,所述存储单元中能够进行数据转换的全局映射表的最大数量由所述待转换全局映射表的容量决定;
其中,所述动态调整包括:根据所述存储单元的用户逻辑空间容量确定出所述存储单元的参考容量值;根据所述参考容量值计算出所述待转换全局映射表的容量。
在上述实现过程中,所述待转换全局映射表的容量由所述存储单元的容量进行动态调整,根据所述待转换全局映射表的容量确定出所述存储单元中能够进行数据转换的全局映射表的最大数量,动态调整为根据不同容量等级的存储单元的容量对所述待转换全局映射表的容量进行计算,先根据所述存储单元的用户逻辑空间容量的大小确定出所述存储单元的参考容量值,再根据所述参考容量值计算出所述待转换全局映射表的容量,通过对所述存储单元中的所述待转换全局映射表的容量进行计算,以确定出所述存储单元中能够进行数据转换的全局映射表的最大数量,根据不同存储单元容量等级,对所述待转换全局映射表的容量进行动态调整,能够有效的提高全局映射表的数据转换效率,提高存储单元的随机写性能,且减少了全局映射表的刷新次数,减小表项区中的数据磨损程度,提升存储单元的使用寿命和存储单元中数据的可靠性,满足用户的多种需求,适用于多种不同的处理器中。
可选地,所述根据所述存储单元的用户逻辑空间容量确定出所述存储单元的参考容量值,包括:
将所述存储单元中的总数据块进行数据块清洗,以得到可用数据块;
根据所述可用数据块,得到所述存储单元的所述用户逻辑空间容量;
基于所述用户逻辑空间容量将所述存储单元的存储空间划分为不同的区间;
确定单个区间的参考容量值,其中,所述参考容量值用于确定所述用户逻辑空间容量所在的区间。
在上述实现过程,在根据所述存储单元的用户逻辑空间容量计算所述存储单元的参考容量值时,对所述存储单元中的总数据块进行数据块清洗,去除所述存储单元中的损坏的数据区块等无用数据块,得到所述存储单元的可用数据块,根据所述可用数据块计算出所述存储单元的用户逻辑空间容量,再根据所述用户逻辑空间容量将所述存储单元中的存储空间划分为不同的区间,所述参考容量为单个区间的参考容量值,用于确定所述用户逻辑空间容量的所在的区间,通过对所述存储单元中的可用的用户逻辑空间容量的大小的计算,能够得到所述存储单元中的参考容量值。
可选地,所述根据所述参考容量值计算出所述待转换全局映射表的容量,包括:
根据所述参考容量值计算出所述存储单元的可用容量值;
根据所述存储单元中一级表的数据占用空间和所述可用容量值,计算出所述待转换全局映射表的容量。
在上述实现过程中,通过得出的所述存储单元中的所述参考容量值,计算出所述存储单元的可用容量值,并根据所述存储单元中的一级表的数据占用空间和所述可用容量值,计算出所述待转换全局映射表的容量,所述一级表为所述存储单元中的一级映射表,通过在大规模生产中根据所述参考容量值和所述可用容量值,对所述待转换全局映射表的容量进行计算和调整,能够针对不同的存储单元中的不同的数据确定出对应的待转换全局映射表,满足多种不同存储单元的多种运算。
第二方面,本申请实施例还提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行上述第一方面中任一实现方式中的步骤。
第三方面,本申请实施例还提供了一种可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述第一方面中任一实现方式中的步骤。
综上所述,本申请实施例提供了一种随机写的方法、电子设备及存储介质,通过将存储单元中进行随机写过程中需要进行数据转换的待转换全局映射表进行批量数据转换,对多个待转换全局映射表同时进行处理,提高了全局映射表的数据转换速率,能够在不增加制造成本和晶片面积以及设计复杂度的情况下,提升存储单元的随机写速率和随机写性能。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种随机写的方法的流程示意图;
图2为本申请实施例提供的一种随机写的方法的步骤S2的详细流程示意图;
图3为本申请实施例提供的一种随机写的方法的步骤S3的详细流程示意图;
图4为本申请实施例提供的一种随机写的方法的步骤S4的详细流程示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请实施例的一部分实施例,而不是全部的实施例。基于本申请实施例的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
本申请实施例提供了一种随机写的方法,应用于存储单元所在的电子设备,该存储单元可以为各种不同容量大小的固态硬盘、个人电脑(personal computer,PC)、穿戴设备、终端设备等带有数据存储功能设备中的一部分,该电子设备可以为个人电脑(personalcomputer,PC)、平板电脑、智能手机、个人数字助理(personal digital assistant,PDA)等具有逻辑计算功能的电子设备。
请参阅图1,图1为本申请实施例提供的一种随机写的方法的流程示意图,该方法包括以下步骤:
步骤S1,监控存储单元中全局映射表的转换指令。
示例地,在使用存储单元的NAND Flash闪存存储器时,需要建立逻辑地址到NANDFlash的物理地址之间的正向映射关系,这种正向映射关系在存储单元的内部进行独立管理,存放在固定的NAND Flash区间,该区域标记为表项区,而全局映射表为该正向映射关系数据按照连续逻辑地址区间进行组织后形成的表单。其中,存储单元所在的处理器在开始随机写的过程时,根据随机读写的命令,需要对存储单元中存储的全局映射表的映射关系进行转换,向存储单元中下达对需要进行转换的全局映射表的转换指令。
步骤S2,根据所述转换指令确定出待转换全局映射表的加载指令。
其中,处理器根据转换指令确定出存储单元中需要进行数据转换的待转换全局映射表的加载指令。
步骤S3,根据所述加载指令从所述存储单元中加载所述待转换全局映射表。
其中,在存储单元接收到处理器发出的多个加载指令后,示例地,存储单元的指定存储空间可以为NAND Flash闪存存储器,处理器能够从存储单元中的NAND Flash闪存存储器中加载多个待转换全局映射表。
需要说明的是,在没有动态随机存取存储器(Dynamic Random Access Memory,DRAM)的存储单元中,为了减小表项区中NAND Flash闪存存储器中数据块的写放大,会建立NAND Flash闪存存储器物理地址与逻辑地址之间的反向映射关系,再统一将反向映射关系数据转换到正向映射关系数据中,由于没有动态随机存取内存的存储单元的特性,其OCB(On-Chip-Buffer,主控内存空间)的容量较小,无法容纳完整的用户数据的映射关系,只会预留较小的内存空间用于映射关系数据的数据换入和换出,在各种不同的存储单元产品中,由于预留的内存空间较小,所以导致存储单元中的映射关系转换效率较低,且表项区的数据块磨损严重,降低存储单元的随机写性能。
步骤S4,将加载后的所述待转换全局映射表进行批量数据转换,以得到转换后的全局映射表。
其中,由存储单元所处的处理器同时对加载后的多个待转换全局映射表进行批量数据转换,减小了全局映射表进行数据转换所需要的时间,得到多个转换后的全局映射表,完成存储单元中对于映射关系的数据转换,完成此次随机写的过程。
需要说明的是,可以对于多个完成数据转换后的全局映射表进行聚合和刷新,对拆分后的全局映射表进行聚合,在聚合后对合并的多个全局映射表进行刷新,在得到刷新后的全局映射表后可以再次进行随机写过程中的数据转换,以完成多个随机写过程,提升了存储单元的随机写速率和随机写性能。
需要说明的是,在没有动态随机存取内存的存储单元中,能够通过提高存储单元中一级映射表的空间利用率的方式,以动态调整不同容量的存储单元中的全局映射表的容量大小。
在上述实施方式中,通过将存储单元中进行随机写过程中需要进行数据转换的待转换全局映射表进行批量数据转换,对多个待转换全局映射表同时进行处理,能够减小数据转换所需的时间,提高了全局映射表的数据转换速率,提升了存储单元的随机写速率和随机写性能。
请参阅图2,图2为本申请实施例提供的一种随机写的方法的步骤S2的详细流程示意图,该方法包括:
步骤S21,根据所述转换指令对所述存储单元中存储的全局映射表进行查找,以查找出所述存储单元中的需要进行数据转换的所述待转换全局映射表。
其中,由处理器在存储单元进行随机写的过程中根据随机读写的命令对存储单元中存储的全部的全局映射表进行查找,并查找出存储单元中需要进行数据转换的全局映射表,处理器能够通过全局映射表在随机写过程中的映射关系来确定该全局映射表是否需要进行数据转换。
步骤S22,根据所述转换指令以及查找到的对应的所述待转换全局映射表的容量对所述存储单元的缓存空间进行申请,在申请成功时,确定出所述待转换全局映射表对应的加载指令。
其中,根据转换指令以及转换指令对应的查找到的待转换全局映射表的容量对存储单元的缓存空间进行申请,在缓存空间的容量足够时,确定出转换指令对应的待转换全局映射表对应的加载指令。
需要说明的是,在申请对应的待转换的全局映射表的缓存空间时,若缓存空间不足时,则申请失败,释放处理器资源,无法对待转换全局映射表进行加载,无法确定出对应的加载指令,将待转换全局映射表存储到缓存命令队列中进行等待,让待转换全局映射表在缓存命令队列中进行有序的排序,后续在缓存空间容量足够时可以根据缓存命令队列中的指令对对应的待转换全局映射表生成加载指令。
步骤S23,重复执行所述对所述存储单元中存储的全局映射表进行查找以及对所述缓存空间进行申请的步骤,直到所述存储单元的缓存空间使用完毕,确定出多个所述加载指令。
其中,处理器重复上述查找需要进行数据转换的待转换全局映射表以及针对每个待转换全局映射表的容量对存储单元的缓存空间进行申请,缓存空间足够时分配对应的加载指令的步骤,直至缓存空间使用完毕。因此当存储单元中的全局映射表的缓存空间使用完毕时,处理器找出存储单元中多个待转换全局映射表,并确定出与每个待转换全局映射表对应的加载指令。
在上述实施方式中,通过处理器在存储单元中进行重复查找需要进行数据转换的待转换全局映射表的操作,将存储单元中的待转换全局映射表依次查找出来,并确定每一个待转换全局映射表对应的加载指令,能够快速地确定出存储单元中所有待转换全局映射表的加载指令。
请参阅图3,图3为本申请实施例提供的一种随机写的方法的步骤S3的详细流程示意图,该方法包括:
步骤S31,确定出每个所述加载指令对应的所述待转换全局映射表。
其中,处理器根据每个加载指令确定出与其对应的待转换全局映射表,例如从存储单元中的NAND Flash闪存存储器中加载存储在其中的待转换全局映射表。
步骤S32,根据所述加载指令在所述存储单元中加载对应的所述待转换全局映射表。
其中,根据加载指令从存储单元中加载对应的全局映射表,能够将存储单元中多个需要进行数据转换的待转换全局映射表分别进行加载。
在上述实施例中,通过处理器根据加载指令对待转换全局映射表进行对应的加载,能够将存储单元中的多个待转换全局映射表分别进行加载。
请参阅图4,图4为本申请实施例提供的一种随机写的方法的步骤S4的详细流程示意图,该方法包括:
步骤S41,将加载后的多个所述待转换全局映射表进行批量数据换入。
其中,在处理器的内核中的交错操作资源足够多的情况下,能够满足同时由处理器对加载的所有待转换全局映射表进行批量数据换入,得到多个数据换入后的全局映射表。
示例地,内核的交错操作可以分为两步:一:将存储单元中的待转换全局映射表的数据发送到存储总线中,再由存储总线发送到NAND Flash闪存存储器中;二:将待转换全局映射表的数据从NAND Flash闪存存储器中发送到存储总线中,再由存储总线发回存储单元中,交错操作就是一个片选在进行第一步时,另一个片选在执行第二步,交错操作资源的大小取决于一个通道上闪存的片选的数量。
步骤S42,对数据换入完成后的多个所述待转换全局映射表进行批量数据换出,得到多个所述转换后的全局映射表。
其中,在处理器的内核中的交错操作资源足够多的情况下,能够满足同时由处理器对数据换入后的待转换全局映射表进行批量数据换出,得到多个进行数据转换后的全局映射表。
需要说明的是,数据转换过程包括数据换入和数据换出两个步骤,数据转换的速度由待转换全局映射表的容量大小决定。
例如,处理器按照16个加载指令从存储单元中加载了16个待转换全局映射表,在处理器的内核中的交错操作资源足够多的情况下,处理器能够将16个待转换全局映射表进行批量转换,无需再像现有技术中对待转换全局映射表进行单个查找,查找后进行单个加载和单个转换,再不断重复这个过程,将待转换全局映射表进行批量转换,能够有效的节约全局映射表转换的时间,提高全局映射表的转换效率,从而提高存储单元的随机写性能。
在上述实施方式中,对加载后的待转换全局映射表进行批量数据转换,对加载后的多个待转换全局映射表同时进行处理,能够在多种不同的情况下有效的提高全局映射表的转换效率,提高存储单元的随机写性能。
需要说明的是,上述随机写方法中,待转换全局映射表的容量由所述存储单元的容量进行动态调整,能够根据不同容量等级的存储单元对待转换全局映射表的容量进行计算和调整,存储单元中能够进行数据转换的全局映射表的最大数量由调整后的待转换全局映射表的容量决定。
对待转换全局映射表的容量进行动态调整时,首先,根据所述存储单元的用户逻辑空间容量确定出所述存储单元的参考容量值。
其中,由所述存储单元的用户逻辑空间容量确定出所述存储单元的参考容量值,先将所述存储单元中的总数据块进行数据块清洗,以得到可用数据块,并根据可用数据块,得到所述存储单元的所述用户逻辑空间容量,在基于用户逻辑空间容量的基础上,将存储单元的存储空间划分为不同的几个区间,确定单个区间的参考容量值,参考容量值用于确定所述用户逻辑空间容量所在的区间,参考容量值的大小为该区间的起始容量值,在一些实施例中,由于映射关系大小的原因,针对一些容量小于64GB的存储单元的时,其参考容量值全部为64GB。
示例地,进行数据清洗时,可以在存储单元的总数据块数量的基础上,去除原始损坏的数据块数量、新增损坏的数据块数量、保留给系统管理员工作之用的数据块数量、预留空间、系统数据块数量和固定在单阶存储单元的高效缓冲存储的数据块数量等数据块之后,根据大规模生产工具中下发的容量配置参数,得出存储单元的用户逻辑空间容量。
其次,再根据所述参考容量值计算出所述待转换全局映射表的容量。
其中,根据参考容量值能够计算出存储单元最终的可用容量值,可用容量值决定最终计算出的待转换全局映射表位于的区间,再根据存储单元中一级表的数据占用空间和可用容量值,计算出到待转换全局映射表的容量大小,由总的待转换全局映射表的容量在存储单元中占有的空间的大小,划分出全局映射表进行数据转换时的资源的大小,确定出存储单元中能够进行数据转换的全局映射表的最大数量。
需要说明的是,在存储单元中的一级表的数据占有空间有限的情况下,根据不同存储单元容量等级,对待转换全局映射表的容量进行调整,能够有效的提高全局映射表的数据转换效率,提高存储单元的随机写性能,且减少了全局映射表的刷新次数,减小存储单元的表项区中的数据磨损程度,提升存储单元的使用寿命和存储单元中数据的可靠性。
在现有技术的操作中,全局映射表的大小一般为32KB,不需要对多个待转换全局映射表进行合并的聚合操作,在正向/反向映射关系数据中假设有8192个数据(item),每个数据都属于不同的全局映射表,设定NAND Flash闪存存储器中的数据吞吐速率为400MT/s,所以在现有技术中一次只能转换一个待转换全局映射表,并不断重复该转换过程,所有待转换全局映射表进行一次数据转换时的时间消耗T=(Trans-SLC+Tconvert+Tprog-SLC)×8192=(0.08+0.32)×8192=3.2768s,其中,Trans-SLC为进行数据换入的时间,Tprog-SLC为进行数据换出的时间,Tconvert为处理器执行软件代码和硬件加速器加速查找实现所有待转换全局映射表的数据转换动作的时间,相比NAND Flash闪存存储器中的读写时间来看,Tconvert的时间可以忽略不计。在每个待转换全局映射表进行单独的转换后都会对全局映射表进行刷新,对表项区的数据块造成磨损,降低存储单元的使用寿命及数据的可靠性。
在本申请实施例中,能够对加载的所有待转换全局映射表进行同时数据转换,由于能够根据不同的存储单元的容量调节待转换全局映射表的容量,所以全局映射表的容量比现有技术中的容量小,例如8KB,在与现有技术中相同的正向/反向映射关系数据、相同的NAND Flash闪存存储器中的数据吞吐速率为400MT/s,总共转换完成时间T=(Trans-SLC+Tconvert+Tprog-SLC)×8192=(0.08+0.32)×8192/4=0.8192s,在进行数据换出时,可以对待转换全局映射表进行聚合NVMe(Non-Volatile Memory express,标准和信息的开放收集)存储系统来对提高数据换出时的效率,将待转换全局映射表进行拆分后再进行数据转换,通过PCIe(Peripheral Component Interconnect express,高速串行计算机扩展总线标准)通道跟处理器直接相连,能够有效的减小数据的延迟。当全局映射表的容量大小为32KB或者64KB时,为一个完整的全局映射表,无需聚合,在对所有待转换全局映射表进行同时转换后会对聚合的全局映射表进行刷新,在本申请实施例中全局映射表的大小可以变为原来的四分之一,以全局映射表原大小32KB为例,原来的四分之一为8KB,此时需要四个完成数据转换的全局映射表才能聚合为一个全局映射表,对全局映射表进行一次刷新,所以8192个正向/反向映射关系的全局映射表刷新的次数为现有技术的1/4,由于每次刷新会对表项区的数据块造成磨损,因此刷新的次数为现有技术的1/4能够降低对表项区的数据块的磨损,能够有效提高存储单元的使用寿命以及数据的可靠性。因此,由于全局映射表容量的减小,在这种情况下全局映射表的转换效率比现有技术中提高了四倍,即存储单元的随机写性能提高了四倍。
在上述实施方式中,在大规模的生产中针对不同容量等级的存储单元,根据存储单元中各种数据的容量,不同存储单元的容量等级中待转换全局映射表的容量进行调整,以确定存储单元中能够进行数据转换的全局映射表的最大数量,并通过调整不同容量等级下的全局映射表的容量,并且对多个待转换全局映射表同时进行处理来提高存储单元的随机写性能。
本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行本实施例提供的一种随机写的方法中任一项所述方法中的步骤。
应当理解是,该电子设备可以是个人电脑(personal computer,PC)、平板电脑、智能手机、个人数字助理(personal digital assistant,PDA)等具有逻辑计算功能的电子设备。
本申请实施例还提供了一种可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本实施例提供的一种随机写的方法中任一项所述方法中的步骤。
综上所述,本申请实施例提供了一种随机写的方法、电子设备和存储介质,通过将存储单元中进行随机写过程中需要进行数据转换的待转换全局映射表进行批量数据转换,对多个待转换全局映射表同时进行处理,减小数据转换所需的时间,提高了全局映射表的数据转换速率,能够在不增加制造成本和晶片面积以及设计复杂度的情况下,提升存储单元的随机写速率和随机写性能。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的框图显示了根据本申请的多个实施例的设备的可能实现的体系架构、功能和操作。在这点上,框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图中的每个方框、以及框图的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。因此本实施例还提供了一种可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行区块数据存储方法中任一项所述方法中的步骤。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RanDom Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种随机写的方法,其特征在于,所述方法包括:
监控存储单元中全局映射表的转换指令;
根据所述转换指令确定出待转换全局映射表的加载指令;
根据所述加载指令从所述存储单元中加载所述待转换全局映射表;
将加载后的所述待转换全局映射表进行批量数据转换,以得到转换后的全局映射表。
2.根据权利要求1所述的方法,其特征在于,所述根据所述转换指令确定出待转换全局映射表的加载指令,包括:
根据所述转换指令对所述存储单元中存储的全局映射表进行查找,以查找出所述存储单元中的需要进行数据转换的所述待转换全局映射表;
根据所述转换指令以及查找到的对应的所述待转换全局映射表的容量对所述存储单元的缓存空间进行申请,在申请成功时,确定出所述待转换全局映射表对应的加载指令;
重复执行所述对所述存储单元中存储的全局映射表进行查找以及对所述缓存空间进行申请的步骤,直到所述存储单元的缓存空间使用完毕,确定出多个所述加载指令。
3.根据权利要求1所述的方法,其特征在于,所述根据所述加载指令从所述存储单元中加载所述待转换全局映射表,包括:
确定出每个所述加载指令对应的所述待转换全局映射表;
根据所述加载指令在所述存储单元中加载对应的所述待转换全局映射表。
4.根据权利要求3所述的方法,其特征在于,所述将加载后的所述待转换全局映射表进行批量数据转换,以得到转换后的全局映射表,包括:
将加载后的多个所述待转换全局映射表进行批量数据换入;
对数据换入完成后的多个所述待转换全局映射表进行批量数据换出,得到多个所述转换后的全局映射表,其中,所述数据转换包括数据换入和数据换出,所述数据转换的速度由所述待转换全局映射表的容量决定。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对多个所述转换后的全局映射表进行聚合;
对聚合后的全局映射表进行刷新,得到刷新后的全局映射表。
6.根据权利要求1所述的方法,其特征在于,所述待转换全局映射表的容量由所述存储单元的容量进行动态调整,所述存储单元中能够进行数据转换的全局映射表的最大数量由动态调整后的所述待转换全局映射表的容量决定;
其中,所述动态调整包括:根据所述存储单元的用户逻辑空间容量确定出所述存储单元的参考容量值;根据所述参考容量值计算出所述待转换全局映射表的容量。
7.根据权利要求6所述的方法,其特征在于,所述根据所述存储单元的用户逻辑空间容量确定出所述存储单元的参考容量值,包括:
将所述存储单元中的总数据块进行数据块清洗,以得到可用数据块;
根据所述可用数据块,得到所述存储单元的所述用户逻辑空间容量;
基于所述用户逻辑空间容量将所述存储单元的存储空间划分为不同的区间;
确定单个区间的参考容量值,其中,所述参考容量值用于确定所述用户逻辑空间容量所在的区间。
8.根据权利要求6所述的方法,其特征在于,所述根据所述参考容量值计算出所述待转换全局映射表的容量,包括:
根据所述参考容量值计算出所述存储单元的可用容量值;
根据所述存储单元中一级表的数据占用空间和所述可用容量值,计算出所述待转换全局映射表的容量。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器运行所述程序指令时,执行权利要求1-8中任一项所述方法中的步骤。
10.一种可读取存储介质,其特征在于,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器运行时,执行权利要求1-8任一项所述方法中的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110323391.0A CN112882663B (zh) | 2021-03-25 | 2021-03-25 | 一种随机写的方法、电子设备及存储介质 |
PCT/CN2021/127685 WO2022199027A1 (zh) | 2021-03-25 | 2021-10-29 | 一种随机写的方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110323391.0A CN112882663B (zh) | 2021-03-25 | 2021-03-25 | 一种随机写的方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112882663A true CN112882663A (zh) | 2021-06-01 |
CN112882663B CN112882663B (zh) | 2022-10-14 |
Family
ID=76042396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110323391.0A Active CN112882663B (zh) | 2021-03-25 | 2021-03-25 | 一种随机写的方法、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112882663B (zh) |
WO (1) | WO2022199027A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114707478A (zh) * | 2022-06-06 | 2022-07-05 | 飞腾信息技术有限公司 | 映射表生成方法、装置、设备及存储介质 |
WO2022199027A1 (zh) * | 2021-03-25 | 2022-09-29 | 湖南国科微电子股份有限公司 | 一种随机写的方法、电子设备及存储介质 |
CN116540950A (zh) * | 2023-07-05 | 2023-08-04 | 合肥康芯威存储技术有限公司 | 一种存储器件及其写入数据的控制方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140095827A1 (en) * | 2011-05-24 | 2014-04-03 | Agency For Science, Technology And Research | Memory storage device, and a related zone-based block management and mapping method |
CN103744612A (zh) * | 2013-12-17 | 2014-04-23 | 记忆科技(深圳)有限公司 | 基于闪存转换层的精简配置的方法及其系统 |
CN104281535A (zh) * | 2014-09-24 | 2015-01-14 | 北京兆易创新科技股份有限公司 | 一种映射表在内存中的处理方法和装置 |
US20150106556A1 (en) * | 2008-06-18 | 2015-04-16 | Super Talent Electronics, Inc. | Endurance Translation Layer (ETL) and Diversion of Temp Files for Reduced Flash Wear of a Super-Endurance Solid-State Drive |
CN105760776A (zh) * | 2016-02-04 | 2016-07-13 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
CN109815166A (zh) * | 2018-12-28 | 2019-05-28 | 深圳市德名利电子有限公司 | 一种存储数据的动态回收处理方法及存储装置 |
CN110413228A (zh) * | 2019-07-09 | 2019-11-05 | 江苏芯盛智能科技有限公司 | 一种映射表管理方法、系统及电子设备和存储介质 |
CN112559386A (zh) * | 2020-12-22 | 2021-03-26 | 深圳忆联信息系统有限公司 | 提升ssd性能的方法、装置、计算机设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981963B (zh) * | 2012-10-30 | 2015-12-02 | 华中科技大学 | 一种固态盘的闪存转换层的实现方法 |
US9171027B2 (en) * | 2013-05-29 | 2015-10-27 | International Business Machines Corporation | Managing a multi-version database |
CN104166634A (zh) * | 2014-08-12 | 2014-11-26 | 华中科技大学 | 一种固态盘系统中的映射表缓存管理方法 |
CN107832013B (zh) * | 2017-11-03 | 2019-10-25 | 中国科学技术大学 | 一种管理固态硬盘映射表的方法 |
CN109783398B (zh) * | 2019-01-18 | 2020-09-15 | 上海海事大学 | 一种基于相关感知页面级ftl固态硬盘性能优化方法 |
CN110262982A (zh) * | 2019-05-05 | 2019-09-20 | 杭州电子科技大学 | 一种固态硬盘地址映射的方法 |
CN112882663B (zh) * | 2021-03-25 | 2022-10-14 | 湖南国科微电子股份有限公司 | 一种随机写的方法、电子设备及存储介质 |
-
2021
- 2021-03-25 CN CN202110323391.0A patent/CN112882663B/zh active Active
- 2021-10-29 WO PCT/CN2021/127685 patent/WO2022199027A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150106556A1 (en) * | 2008-06-18 | 2015-04-16 | Super Talent Electronics, Inc. | Endurance Translation Layer (ETL) and Diversion of Temp Files for Reduced Flash Wear of a Super-Endurance Solid-State Drive |
US20140095827A1 (en) * | 2011-05-24 | 2014-04-03 | Agency For Science, Technology And Research | Memory storage device, and a related zone-based block management and mapping method |
CN103744612A (zh) * | 2013-12-17 | 2014-04-23 | 记忆科技(深圳)有限公司 | 基于闪存转换层的精简配置的方法及其系统 |
CN104281535A (zh) * | 2014-09-24 | 2015-01-14 | 北京兆易创新科技股份有限公司 | 一种映射表在内存中的处理方法和装置 |
CN105760776A (zh) * | 2016-02-04 | 2016-07-13 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
CN109815166A (zh) * | 2018-12-28 | 2019-05-28 | 深圳市德名利电子有限公司 | 一种存储数据的动态回收处理方法及存储装置 |
CN110413228A (zh) * | 2019-07-09 | 2019-11-05 | 江苏芯盛智能科技有限公司 | 一种映射表管理方法、系统及电子设备和存储介质 |
CN112559386A (zh) * | 2020-12-22 | 2021-03-26 | 深圳忆联信息系统有限公司 | 提升ssd性能的方法、装置、计算机设备及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022199027A1 (zh) * | 2021-03-25 | 2022-09-29 | 湖南国科微电子股份有限公司 | 一种随机写的方法、电子设备及存储介质 |
CN114707478A (zh) * | 2022-06-06 | 2022-07-05 | 飞腾信息技术有限公司 | 映射表生成方法、装置、设备及存储介质 |
CN114707478B (zh) * | 2022-06-06 | 2022-09-02 | 飞腾信息技术有限公司 | 映射表生成方法、装置、设备及存储介质 |
CN116540950A (zh) * | 2023-07-05 | 2023-08-04 | 合肥康芯威存储技术有限公司 | 一种存储器件及其写入数据的控制方法 |
CN116540950B (zh) * | 2023-07-05 | 2023-09-29 | 合肥康芯威存储技术有限公司 | 一种存储器件及其写入数据的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022199027A1 (zh) | 2022-09-29 |
CN112882663B (zh) | 2022-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112882663B (zh) | 一种随机写的方法、电子设备及存储介质 | |
US9092321B2 (en) | System and method for performing efficient searches and queries in a storage node | |
CN111913955A (zh) | 数据的排序处理装置、方法和存储介质 | |
CN101788995B (zh) | 一种热点数据识别方法及装置 | |
US20150032938A1 (en) | System and method for performing efficient processing of data stored in a storage node | |
US11405052B2 (en) | Compression of high dynamic ratio fields for machine learning | |
US11074246B2 (en) | Cluster-based random walk processing | |
US8914571B2 (en) | Scheduler for memory | |
CN107632779B (zh) | 数据处理方法和装置、服务器 | |
CN111949681A (zh) | 数据的聚合处理装置、方法和存储介质 | |
CN108932112B (zh) | 一种固态颗粒的数据读写方法、装置、设备及介质 | |
US9880930B2 (en) | Method for operating controller and method for operating device including the same | |
CN112214095A (zh) | 一种控制硬盘功耗的方法和设备 | |
TWI690848B (zh) | 基於記憶體處理器的多處理架構及其操作方法 | |
CN103761052A (zh) | 一种管理高速缓存的方法及存储装置 | |
CN111309269A (zh) | 一种压缩数据落盘的方法、系统、设备及可读存储介质 | |
CN104298614A (zh) | 数据块在存储设备中存储方法和存储设备 | |
US10841374B2 (en) | Dynamic sharding for state-based processing | |
US20200250060A1 (en) | Memory controller and memory system including the memory controller | |
US11989420B2 (en) | Memory allocation method and apparatus, electronic device, and storage medium | |
US9336313B1 (en) | Systems and methods for performing single and multi threaded searches and complex pattern matching in a solid state drive | |
US11442643B2 (en) | System and method for efficiently converting low-locality data into high-locality data | |
CN116107761B (zh) | 性能调优方法、系统、电子设备及可读存储介质 | |
US11593010B2 (en) | Systems and methods for block-data clustering-based deduplication | |
Liu et al. | G-Learned Index: Enabling Efficient Learned Index on GPU |
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 |