CN117573582A - 一种多闪存控制器的控制方法及相关设备 - Google Patents
一种多闪存控制器的控制方法及相关设备 Download PDFInfo
- Publication number
- CN117573582A CN117573582A CN202311605029.8A CN202311605029A CN117573582A CN 117573582 A CN117573582 A CN 117573582A CN 202311605029 A CN202311605029 A CN 202311605029A CN 117573582 A CN117573582 A CN 117573582A
- Authority
- CN
- China
- Prior art keywords
- update
- flash memory
- data
- memory controller
- type flash
- 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 40
- 238000012546 transfer Methods 0.000 claims abstract description 111
- 230000006870 function Effects 0.000 claims abstract description 82
- 238000013500 data storage Methods 0.000 claims abstract description 40
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 4
- 230000002123 temporal effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000005299 abrasion Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请提供了一种多闪存控制器的控制方法及相关设备,在本申请提供的多闪存控制器的控制系统中包括有多个闪存控制器和更新写入模块。在上述系统中,闪存控制器依据其功能被划分为更新类闪存控制器和中转类闪存控制器,在接收到更新数据时,更新写入模块会基于更新数据的更新次数将更新数据写入至对应的更新类闪存控制器中,使得多个更新类闪存控制器之间共同保存有同一数据的不同更新版本。当存在更新类闪存控制器的数据存储量达到预设存储阈值时,会将最新更新的数据输入至中转类闪存控制器中,使得中转类闪存控制器中保存有最新的数据,从而实现即使闪存控制器在对旧数据进行擦除的过程中,依然能够通过中转类闪存控制器来读取最新更新的数据。
Description
技术领域
本申请涉及数据存储技术领域,特别是涉及一种多闪存控制器的控制方法及相关设备。
背景技术
闪存控制器是一种硬件设备或芯片,用于管理闪存存储器的读写操作,并确保数据的可靠性和安全性。闪存控制器通常与闪存芯片或固态硬盘配合使用,负责执行诸如垃圾回收、坏块管理、错误修复、数据压缩和加密等功能。在汽车控制领域,闪存控制器是惯性控制单元的重要组成部分,其负责存储进行汽车控制的各类代码和数据。
针对于现有技术中含有多个闪存控制器的数据存储系统,由于闪存控制器自身的工作原理,在对闪存控制器中的数据进行擦除时无法同步进行数据的读取。造成这一现象的具体原因在于在擦除闪存控制器中的数据时,会将存储单元中的电荷释放掉,恢复到初始状态。由于擦除操作涉及到许多存储单元,在擦除时,闪存控制器会一次擦除一组存储单元,而不是单个存储单元。这个过程需要一定的时间,因而无法在数据擦除的过程中读取数据。但在实际的应用场景中,通常会伴随数据的频繁更新和读取,因而难以避免闪存控制器出现同时擦除旧数据和读取最新更新数据的情况,其容易导致最新更新数据读取失败或读取到无效的旧数据,闪存控制器的运行稳定性较差。
因此,如何解决现有技术中由于闪存控制器无法同时擦除旧数据和读取最新更新数据,从而导致含有多个闪存控制器的数据存储系统运行稳定性较差的问题,成为本领域技术人员急需解决的技术问题。
发明内容
基于上述问题,为了解决现有技术中由于闪存控制器无法同时擦除旧数据和读取最新更新数据,从而导致含有多个闪存控制器的数据存储系统运行稳定性较差的问题,本申请提供了一种多闪存控制器的控制方法及相关设备。
本申请实施例公开了如下技术方案:
第一方面,本申请公开了一种多闪存控制器的控制系统,包括:多个闪存控制器和更新写入模块;所述多个闪存控制器包括:更新类闪存控制器和中转类闪存控制器;所述更新类闪存控制器包括:数据搬移模块和功能转化模块;所述中转类闪存控制器包括:确定模块和功能继承模块;
所述更新写入模块,用于基于更新数据的更新次数,将所述更新数据写入至与所述更新次数对应的更新类闪存控制器;所述更新类闪存控制器与所述更新数据的更新次数存在一一对应的索引关系;所述更新数据基于数据更新请求得到;
所述数据搬移模块,用于在所述更新类闪存控制器的数据存储量高于预设存储阈值时,将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器;所述预设存储阈值用于表示所述更新类闪存控制器的最大数据存储量;所述时序排名第一的更新数据表示最新写入所述更新类闪存控制器的更新数据;
所述功能转化模块,用于在将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器后,擦除所述更新类闪存控制器中存储的所有数据,并继承所述中转类闪存控制器的中转功能;所述中转类闪存控制器的中转功能用于表示接收所述多个更新类闪存控制器中时序排名第一的更新数据的功能;
所述确定模块,用于根据所述时序排名第一的更新数据,确定与所述时序排名第一的更新数据对应的第一更新类闪存控制器;
所述功能继承模块,用于继承所述第一更新类闪存控制器与所述更新数据的更新次数之间的索引关系,并移除自身归属的中转类控制器的中转功能。
可选的,所述多闪存控制器的控制系统,还包括:第一读取模块,所述第一读取模块,具体用于:
当接收到针对于所述第一更新类闪存控制器的数据擦除指令和更新数据读取指令时,基于所述更新数据读取指令和所述中转类闪存控制器,获取与所述更新数据读取指令对应的第一更新数据;所述第一更新数据为在所述第一更新类闪存控制器中时序排名第一的更新数据。
可选的,所述索引关系基于预设索引关系确定公式得到;所述索引关系公式包括:
Index=(W-1)mod(P-1);
式中;所述Index表示所述索引关系;所述W表示所述更新数据的更新次数;所述P表示所述多个闪存控制器的数量。
可选的,所述更新类闪存控制器包括多个存储数据;所述多闪存控制器的控制系统还包括:第二读取模块;所述第二读取模块,具体用于:
基于数据读取请求,确定与所述数据读取请求对应的存储数据;所述数据读取请求包括所述存储数据的搜索标识;所述搜索标识用于表示所述存储数据在所述更新类闪存控制器中的存储地址。
可选的,所述更新数据以数据块的形式在所述闪存控制器中存储。
第二方面,本申请公开了一种多闪存控制器的控制方法,应用于数据存储系统中;所述数据存储系统包括:多个闪存控制器;所述闪存控制器包括:更新类闪存控制器和中转类闪存控制器;
基于更新数据的更新次数,将所述更新数据写入至与所述更新次数对应的更新类闪存控制器;所述更新类闪存控制器与所述更新数据的更新次数存在一一对应的索引关系;所述更新数据基于数据更新请求得到;
在所述更新类闪存控制器的数据存储量高于预设存储阈值时,将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器;所述预设存储阈值用于表示所述更新类闪存控制器的最大数据存储量;所述时序排名第一的更新数据表示最新写入所述更新类闪存控制器的更新数据;
在将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器后,擦除所述更新类闪存控制器中存储的所有数据,并控制所述更新类闪存控制器继承所述中转类闪存控制器的中转功能;所述中转类闪存控制器的中转功能用于表示接收所述多个更新类闪存控制器中时序排名第一的更新数据的功能;
根据所述时序排名第一的更新数据,确定与所述时序排名第一的更新数据对应的第一更新类闪存控制器;
控制所述中转类闪存控制器继承所述第一更新类闪存控制器与所述更新数据的更新次数之间的索引关系,并移除所述中转类控制器的中转功能。
可选的,所述将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器之后,还包括:
当接收到针对于所述第一闪存控制器的数据擦除指令和更新数据读取指令时,基于所述更新数据读取指令和所述中转类闪存控制器,获取与所述更新数据读取指令对应的第一更新数据;所述第一更新数据为在所述第一闪存控制器中时序排名第一的更新数据。
可选的,所述索引关系基于预设索引关系确定公式得到;所述索引关系公式包括:
Index=(W-1)mod(P-1);
式中;所述Index表示所述索引关系;所述W表示所述更新数据的更新次数;所述P表示所述多个闪存控制器的数量。
第三方面,本申请公开了一种电子设备,所述设备包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行所述的多闪存控制器的控制方法。
第四方面,本申请公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的多闪存控制器的控制方法。
相较于现有技术,本申请具有以下有益效果:本申请提供了一种多闪存控制器的控制方法及相关设备,在本申请提供的多闪存控制器的控制系统中包括有多个闪存控制器和更新写入模块;所述多个闪存控制器包括:更新类闪存控制器和中转类闪存控制器;所述更新类闪存控制器包括:数据搬移模块和功能转化模块;所述中转类闪存控制器包括:确定模块和功能继承模块;所述更新写入模块,用于基于更新数据的更新次数,将所述更新数据写入至与所述更新次数对应的更新类闪存控制器;所述更新类闪存控制器与所述更新数据的更新次数存在一一对应的索引关系;所述更新数据基于数据更新请求得到;所述数据搬移模块,用于在所述更新类闪存控制器的数据存储量高于预设存储阈值时,将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器;所述预设存储阈值用于表示所述更新类闪存控制器的最大数据存储量;所述时序排名第一的更新数据表示最新写入所述更新类闪存控制器的更新数据;所述功能转化模块,用于在将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器后,擦除所述更新类闪存控制器中存储的所有数据,并继承所述中转类闪存控制器的中转功能;所述中转类闪存控制器的中转功能用于表示接收所述多个闪存控制器中时序排名第一的更新数据的功能;所述确定模块,用于根据所述时序排名第一的更新数据,确定与所述时序排名第一的更新数据对应的第一更新类闪存控制器;所述功能继承模块,用于继承所述第一更新类闪存控制器与所述更新数据的更新次数之间的索引关系,并移除自身归属的中转类控制器的中转功能。
在上述系统中,闪存控制器依据其功能被划分为更新类闪存控制器和中转类闪存控制器,在通过数据更新请求接收到更新数据时,更新写入模块会基于更新数据的更新次数将更新数据写入至对应的更新类闪存控制器中,使得多个更新类闪存控制器之间共同保存有同一数据的不同更新版本。当存在更新类闪存控制器的数据存储量达到预设存储阈值时,会将时序排名第一的,即最新更新的数据输入至中转类闪存控制器中,使得中转类闪存控制器中保存有最新更新的数据,从而实现即使闪存控制器在对旧数据进行擦除的过程中,依然能够通过中转类闪存控制器来读取最新更新的数据。在多个更新类闪存控制器中存在闪存控制器出现数据擦除操作时,依然能够基于中转类闪存控制器顺利读取到最新的更新数据,实现了在多个闪存控制器组成的数据存储系统下同时进行旧数据的擦除和最新更新数据的读取,其数据存储系统的运行稳定性得到了提高。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种多闪存控制器的控制系统的结构示意图;
图2为本申请实施例提供的另一种多闪存控制器的控制系统的示意图;
图3为本申请实施例提供的一种多闪存控制器的控制方法的流程示意图;
图4为本申请实施例提供的一种多闪存控制器的控制电子设备的结构示意图。
具体实施方式
正如前文描述,针对于现有技术中含有多个闪存控制器的数据存储系统,由于闪存控制器自身的工作原理,在对闪存控制器中的数据进行擦除时无法同步进行数据的读取。造成这一现象的具体原因在于在擦除闪存控制器中的数据时,会将存储单元中的电荷释放掉,恢复到初始状态。由于擦除操作涉及到许多存储单元,在擦除时,闪存控制器会一次擦除一组存储单元,而不是单个存储单元。这个过程需要一定的时间,因而无法在数据擦除的过程中读取数据。但在实际的应用场景中,通常会伴随数据的频繁更新和读取,因而难以避免闪存控制器出现同时擦除旧数据和读取最新更新数据的情况,其容易导致最新更新数据读取失败或读取到无效的旧数据,闪存控制器的运行稳定性较差。
因此,如何解决现有技术中由于闪存控制器无法同时擦除旧数据和读取最新更新数据,从而导致含有多个闪存控制器的数据存储系统运行稳定性较差的问题,成为本领域技术人员急需解决的技术问题。
为了解决上述问题,本申请提供了一种多闪存控制器的控制方法及相关设备,在本申请提供的多闪存控制器的控制系统中包括有多个闪存控制器和更新写入模块;所述多个闪存控制器包括:更新类闪存控制器和中转类闪存控制器;所述更新类闪存控制器包括:数据搬移模块和功能转化模块;所述中转类闪存控制器包括:确定模块和功能继承模块;所述更新写入模块,用于基于更新数据的更新次数,将所述更新数据写入至与所述更新次数对应的更新类闪存控制器;所述更新类闪存控制器与所述更新数据的更新次数存在一一对应的索引关系;所述更新数据基于数据更新请求得到;所述数据搬移模块,用于在所述更新类闪存控制器的数据存储量高于预设存储阈值时,将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器;所述预设存储阈值用于表示所述更新类闪存控制器的最大数据存储量;所述时序排名第一的更新数据表示最新写入所述更新类闪存控制器的更新数据;所述功能转化模块,用于在将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器后,擦除所述更新类闪存控制器中存储的所有数据,并继承所述中转类闪存控制器的中转功能;所述中转类闪存控制器的中转功能用于表示接收所述多个闪存控制器中时序排名第一的更新数据的功能;所述确定模块,用于根据所述时序排名第一的更新数据,确定与所述时序排名第一的更新数据对应的第一更新类闪存控制器;所述功能继承模块,用于继承所述第一更新类闪存控制器与所述更新数据的更新次数之间的索引关系,并移除自身归属的中转类控制器的中转功能。
在上述系统中,闪存控制器依据其功能被划分为更新类闪存控制器和中转类闪存控制器,在通过数据更新请求接收到更新数据时,更新写入模块会基于更新数据的更新次数将更新数据写入至对应的更新类闪存控制器中,使得多个更新类闪存控制器之间共同保存有同一数据的不同更新版本。当存在更新类闪存控制器的数据存储量达到预设存储阈值时,会将时序排名第一的,即最新更新的数据输入至中转类闪存控制器中,使得中转类闪存控制器中保存有最新更新的数据,从而实现即使闪存控制器在对旧数据进行擦除的过程中,依然能够通过中转类闪存控制器来读取最新更新的数据。在多个更新类闪存控制器中存在闪存控制器出现数据擦除操作时,依然能够基于中转类闪存控制器顺利读取到最新的更新数据,实现了在多个闪存控制器组成的数据存储系统下同时进行旧数据的擦除和最新更新数据的读取,其数据存储系统的运行稳定性得到了提高。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,该图为本申请实施例提供的一种多闪存控制器的控制系统的结构示意图,本实施例公开的闪存控制器的控制系统包括有多个闪存控制器以及更新写入模块100。其中,多个闪存控制器依据其功能类型划分为更新类闪存控制器200和中转类闪存控制器300。更新类闪存控制器主要用于对内部存储的数据进行更新并将数据保存在自身的存储单元中,以便于在检测到来自于外界的数据获取请求时,即时将需要获取的数据发送至外界终端。中转类闪存控制器同样可以用于保存最新的更新数据,但其仅用于接收来自于更新类闪存控制器发送的数据,并不会对外界的数据获取请求产生响应,中转类闪存控制器的主要作用在于接收来自更新类闪存控制器的数据,从而实现数据的存储中转。其中,更新类闪存控制器中包括有数据搬移模块300和功能转化模块400;中转类闪存控制器700中包括有确定模块500和功能继承模块600。
首先,更新写入模块100用于基于更新数据的更新次数,将所述更新数据写入至与所述更新次数对应的更新类闪存控制器;所述更新类闪存控制器与所述更新数据的更新次数存在一一对应的索引关系;所述更新数据基于数据更新请求得到。
具体可以参照图2所公开的另一种多闪存控制器的控制系统的示意图来对本申请实施例进行进一步理解。图中依据序号将更新类闪存控制器进行划分。
在将更新数据写入闪存控制器中的数据写入阶段,会根据更新数据的更新次数来确定对其进行数据存储的更新类闪存控制器。针对于同一类数据A,数据A不同的更新次数对应有相应的不同的更新类闪存控制器来对其进行存储。例如,当数据A的更新次数为0,即数据A第一次输入时,其对应用于存储数据A的更新类闪存控制器为更新类闪存控制器001。而当数据A的更新次数为5时,其对应的更新类闪存控制器为006。
由此可见,在上述的多个更新类闪存控制器中,不同的更新类闪存控制器与更新数据的更新次数存在一一对应的索引关系。并且,更新数据基于数据的更新请求得到,其数据更新请求的功能可以是用于在多个闪存控制器所构成的存储系统中加入一个全新的数据,也可以是对存储系统中已有的数据进行更新。数据更新请求内会包括有需要进行更新获加入的数据,因此,基于数据更新请求能够获取得到更新数据。
其中,上述更新数据的更新次数与更新类闪存控制器之间索引关系的确定公式如下所示:
Index=(W-1)mod(P-1);
式中;所述Index表示所述索引关系;W表示所述更新数据的更新次数;所述P表示所述多个闪存控制器的数量。
通过上述公式,可以有效获取得到每个更新类闪存控制器与更新数据的更新次数之间的索引关系。
进一步的,所述数据搬移模块300,用于在所述更新类闪存控制器的数据存储量高于预设存储阈值时,将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器;所述预设存储阈值用于表示所述更新类闪存控制器的最大数据存储量;所述时序排名第一的更新数据表示最新写入所述更新类闪存控制器的更新数据。
数据搬移模块用于在其所属的更新类闪存控制器无盈余存储空间时进行响应操作。具体的,当更新类闪存控制器的数据存储量高于预设存储阈值时,则表明此时该更新类闪存控制器已无可用的存储容量。此时便会将控制器中,时序排名第一的更新数据发送至中转控制器。其中,时序排名第一的更新数据表示最后一次写入的更新数据,即最新写入的更新数据。
在实际的应用场景中,当更新类闪存控制器无可用的存储空间时往往会伴随对该控制器进行数据擦写从而保证存储容量持续可用的过程。此时将该更新类闪存控制器中最新写入的更新数据发送至中转类闪存控制器中,对更新类闪存控制器的数据擦写不会影响到最新写入的更新数据的数据读取过程,从而避免对于存储系统中,闪存控制器无法同时进行数据擦写和数据读取的问题。
所述功能转化模块400,用于在将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器后,擦除所述更新类闪存控制器中存储的所有数据,并继承所述中转类闪存控制器的中转功能;所述中转类闪存控制器的中转功能用于表示接收所述多个更新类闪存控制器中时序排名第一的更新数据的功能;
当更新类闪存控制器通过数据搬移模块将时序排名第一的数据发送至中转类闪存控制器后,此时功能转化模块会擦除所属更新类闪存控制器中存储的所有过去时间段内的旧数据,并继承中转类闪存控制器的中转功能。此时,可以将该更新类闪存控制器视为新的中转类控制器,其不再需要根据更新数据的更新次数与更新类闪存控制器之间的索引关系来存储更新数据,此时该更新类闪存控制器所行使的功能与中转类闪存控制器相同,仅用于接收来自于其他更新类闪存控制器所发送的更新数据,因而可将其此继承中转类闪存控制器中转功能的更新类闪存控制器视为新的中转类闪存控制器。
所述确定模块500,用于根据所述时序排名第一的更新数据,确定与所述时序排名第一的更新数据对应的第一更新类闪存控制器;
所述功能继承模块600,用于继承所述第一更新类闪存控制器与所述更新数据的更新次数之间的索引关系,并移除自身归属的中转类控制器的中转功能。
确定模块和功能继承模块内置于中转类闪存控制器中,当中转类闪存控制器接收到来自于更新类闪存控制器的更新数据时,确定模块会根据该时序排名第一的更新数据确定其对应的第一更新类闪存控制器,即输出该更新数据的更新类闪存控制器。
在确定与时序排名第一的更新数据对应的第一更新类闪存控制器后,功能继承模块会进一步继承第一更新类闪存控制器与更新数据的更新次数之间的索引关系。此时,该中转类闪存控制器便继承了第一更新类闪存控制器对于特定更新次数的更新数据的存储功能,换句话来说,此时该中转类闪存控制器不再用于接收来自于其他更新类闪存控制器的更新数据,其所行使的功能与第一更新类闪存控制器相同,用于根据更新数据的更新次数与第一更新类闪存控制器的索引关系,接收特定更新次数下的更新数据,即代替第一更新类闪存控制器来进行更新数据的存储。
作为一种可选的实施方式,所述多闪存控制器的控制系统还包括:第一读取模块;所述第一读取模块,具体用于:
当接收到针对于所述第一更新类闪存控制器的数据擦除指令和更新数据读取指令时,基于所述更新数据读取指令和所述中转类闪存控制器,获取与所述更新数据读取指令对应的第一更新数据;所述第一更新数据为在所述第一更新类闪存控制器中时序排名第一的更新数据。
由上文的叙述可知,当更新类闪存控制器内部无可用的存储空间时,此时其内部的功能转化模块会对自身存储的数据进行擦写,并将时序排名第一的更新数据发送至中转类闪存控制器中。
因此,当读取模块同时接收到针对于第一更新类闪存控制器的数据擦除指令以及用于获取最新更新数据的更新数据读取指令时,此时读取模块会基于更新数据读取指令确定其具体需要获取的更新数据,并通过中转类闪存控制器来获取与更新数据读取指令对应的第一更新数据,从而实现在闪存控制器进行数据擦写的过程中同时完成最新更新数据的读取。
作为另一种可选的实施方式,所述更新类闪存控制器包括多个存储数据;所述系统还包括:第二读取模块;所述第二读取模块,具体用于:
基于数据读取请求,确定与所述数据读取请求对应的存储数据;所述数据读取请求包括所述存储数据的搜索标识;所述搜索标识用于表示所述存储数据在所述更新类闪存控制器中的存储地址。
更新类闪存控制器保存各类更新数据的过程中,还可以响应于外界对于内部存储数据的数据读取请求。在接收到来自于外界的数据读取请求时,第二读取模块能够根据包括在数据读取请求中对于存储数据的搜索标识,确定存储数据在更新类闪存控制器中的存储地址,并进一步基于该具体的存储地址来确定存储数据,从而完成对于存储数据的读取。
作为另一种可选的实施方法,所述更新数据以数据块的形式在所述闪存控制器中存储。
将更新数据以数据块的形式在闪存控制器中存储能够有效提高更新数据的写入效率和内存管理效率,同时有助于闪存控制器的寿命延长,从而提高闪存控制器的性能和可靠性。其具体可以体现在以下几个方面:
高效的数据写入:将更新数据以数据块的形式进行存储而不是以单个字节或位为单位,可以有效减少数据写入操作的次数,提高写入的效率。
块级擦除:当需要擦除数据时,闪存控制器只需擦除整个数据块,而不需要逐个擦除每个字节从而提高擦除操作的效率。
块级内存管理:闪存控制器使用一种称为“页映射表”的数据结构来跟踪闪存中数据块的使用情况。通过按块进行管理,可以更高效地管理内存空间,减少内存碎片化问题,提供更好的性能和可靠性。
节省闪存寿命:闪存存储器具有有限的擦除次数,并且较低的擦除频率可以延长闪存的寿命。因此,将更新数据以数据块的形式存储可以减少擦除操作的次数,降低对闪存的磨损,延长闪存寿命。
本申请提供了一种多闪存控制器的控制方法及相关设备,在本申请提供的多闪存控制器的控制系统中包括有多个闪存控制器和更新写入模块;所述多个闪存控制器包括:更新类闪存控制器和中转类闪存控制器;所述更新类闪存控制器包括:数据搬移模块和功能转化模块;所述中转类闪存控制器包括:确定模块和功能继承模块;所述更新写入模块,用于基于更新数据的更新次数,将所述更新数据写入至与所述更新次数对应的更新类闪存控制器;所述更新类闪存控制器与所述更新数据的更新次数存在一一对应的索引关系;所述更新数据基于数据更新请求得到;所述数据搬移模块,用于在所述更新类闪存控制器的数据存储量高于预设存储阈值时,将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器;所述预设存储阈值用于表示所述更新类闪存控制器的最大数据存储量;所述时序排名第一的更新数据表示最新写入所述更新类闪存控制器的更新数据;所述功能转化模块,用于在将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器后,擦除所述更新类闪存控制器中存储的所有数据,并继承所述中转类闪存控制器的中转功能;所述中转类闪存控制器的中转功能用于表示接收所述多个闪存控制器中时序排名第一的更新数据的功能;所述确定模块,用于根据所述时序排名第一的更新数据,确定与所述时序排名第一的更新数据对应的第一更新类闪存控制器;所述功能继承模块,用于继承所述第一更新类闪存控制器与所述更新数据的更新次数之间的索引关系,并移除自身归属的中转类控制器的中转功能。
在上述系统中,闪存控制器依据其功能被划分为更新类闪存控制器和中转类闪存控制器,在通过数据更新请求接收到更新数据时,更新写入模块会基于更新数据的更新次数将更新数据写入至对应的更新类闪存控制器中,使得多个更新类闪存控制器之间共同保存有同一数据的不同更新版本。当存在更新类闪存控制器的数据存储量达到预设存储阈值时,会将时序排名第一的,即最新更新的数据输入至中转类闪存控制器中,使得中转类闪存控制器中保存有最新更新的数据,从而实现即使闪存控制器在对旧数据进行擦除的过程中,依然能够通过中转类闪存控制器来读取最新更新的数据。在多个更新类闪存控制器中存在闪存控制器出现数据擦除操作时,依然能够基于中转类闪存控制器顺利读取到最新的更新数据,实现了在多个闪存控制器组成的数据存储系统下同时进行旧数据的擦除和最新更新数据的读取,其数据存储系统的运行稳定性得到了提高。
下面对本申请实施例提供的一种多闪存控制器的控制方法进行介绍,下文描述的一种多闪存控制器的控制方法与上文描述的一种多闪存控制器的控制系统可相互对应参照。
参见图3,该图为本申请实施例提供的一种多闪存控制器的控制方法的流程示意图,本申请实施例提供的多闪存控制器的控制方法应用于包括有多个闪存控制器的数据存储系统中,其闪存控制器包括有更新类闪存控制器和中转类闪存控制器,其方法具体包括以下步骤:
S101:基于更新数据的更新次数,将所述更新数据写入至与所述更新次数对应的更新类闪存控制器;所述更新类闪存控制器与所述更新数据的更新次数存在一一对应的索引关系;所述更新数据基于数据更新请求得到;
S102:在所述更新类闪存控制器的数据存储量高于预设存储阈值时,将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器;所述预设存储阈值用于表示所述更新类闪存控制器的最大数据存储量;所述时序排名第一的更新数据表示最新写入所述更新类闪存控制器的更新数据;
S103:在将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器后,擦除所述更新类闪存控制器中存储的所有数据,并控制所述更新类闪存控制器继承所述中转类闪存控制器的中转功能;所述中转类闪存控制器的中转功能用于表示接收所述多个更新类闪存控制器中时序排名第一的更新数据的功能;
S104:根据所述时序排名第一的更新数据,确定与所述时序排名第一的更新数据对应的第一更新类闪存控制器;
S105:控制所述中转类闪存控制器继承所述第一更新类闪存控制器与所述更新数据的更新次数之间的索引关系,并移除所述中转类控制器的中转功能。
可选的,所述将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器之后,还包括:
当接收到针对于所述第一闪存控制器的数据擦除指令和更新数据读取指令时,基于所述更新数据读取指令和所述中转类闪存控制器,获取与所述更新数据读取指令对应的第一更新数据;所述第一更新数据为在所述第一闪存控制器中时序排名第一的更新数据。
可选的,所述索引关系基于预设索引关系确定公式得到;所述索引关系公式包括:
Index=(W-1)mod(P-1);
式中;所述Index表示所述索引关系;所述W表示所述更新数据的更新次数;所述P表示所述多个闪存控制器的数量。
可选的,所述更新类闪存控制器包括多个存储数据;所述基于更新数据的更新次数,将所述更新数据写入至与所述更新次数对应的更新类闪存控制器之后,还包括:
基于数据读取请求,确定与所述数据读取请求对应的存储数据;所述数据读取请求包括所述存储数据的搜索标识;所述搜索标识用于表示所述存储数据在所述更新类闪存控制器中的存储地址。
参见图4,该图为本申请实施例提供的一种多闪存控制器的控制电子设备的结构示意图,包括:
存储器11,用于存储计算机程序;
处理器12,用于执行所述计算机程序时实现上述任意方法实施例所述的惯性测量单元的故障检测方法的步骤。
在本实施例中,设备可以是车载电脑、PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。
该设备可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是设备的内部存储单元,例如该设备的硬盘。存储器11在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括设备的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于设备的应用软件及各类数据,例如执行故障预测方法的程序代码等,还可以用于暂时地存储已经输出或者将要输出的数据。处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)。
处理器12在一些实施例中可以是一中央处理器(Central Processing unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行故障预测方法的程序代码等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,设备还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他电子设备之间建立通信连接。
可选地,该设备还可以包括用户接口15,用户接口15可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口15还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-EmittingDiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备中处理的信息以及用于显示可视化的用户界面。
图4仅示出了具有组件11-15的设备,本领域技术人员可以理解的是,图4示出的结构并不构成对设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法装置、电子设备及车辆而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法装置、电子设备及车辆仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种多闪存控制器的控制系统,其特征在于,包括:多个闪存控制器和更新写入模块;所述多个闪存控制器包括:更新类闪存控制器和中转类闪存控制器;所述更新类闪存控制器包括:数据搬移模块和功能转化模块;所述中转类闪存控制器包括:确定模块和功能继承模块;
所述更新写入模块,用于基于更新数据的更新次数,将所述更新数据写入至与所述更新次数对应的更新类闪存控制器;所述更新类闪存控制器与所述更新数据的更新次数存在一一对应的索引关系;所述更新数据基于数据更新请求得到;
所述数据搬移模块,用于在所述更新类闪存控制器的数据存储量高于预设存储阈值时,将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器;所述预设存储阈值用于表示所述更新类闪存控制器的最大数据存储量;所述时序排名第一的更新数据表示最新写入所述更新类闪存控制器的更新数据;
所述功能转化模块,用于在将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器后,擦除所述更新类闪存控制器中存储的所有数据,并继承所述中转类闪存控制器的中转功能;所述中转类闪存控制器的中转功能用于表示接收所述多个更新类闪存控制器中时序排名第一的更新数据的功能;
所述确定模块,用于根据所述时序排名第一的更新数据,确定与所述时序排名第一的更新数据对应的第一更新类闪存控制器;
所述功能继承模块,用于继承所述第一更新类闪存控制器与所述更新数据的更新次数之间的索引关系,并移除自身归属的中转类控制器的中转功能。
2.根据权利要求1所述的系统,其特征在于,还包括:第一读取模块,所述第一读取模块,具体用于:
当接收到针对于所述第一更新类闪存控制器的数据擦除指令和更新数据读取指令时,基于所述更新数据读取指令和所述中转类闪存控制器,获取与所述更新数据读取指令对应的第一更新数据;所述第一更新数据为在所述第一更新类闪存控制器中时序排名第一的更新数据。
3.根据权利要求1所述的系统,其特征在于,所述索引关系基于预设索引关系确定公式得到;所述索引关系公式包括:
Index=(W-1)mod(P-1);
式中;所述Index表示所述索引关系;所述W表示所述更新数据的更新次数;所述P表示所述多个闪存控制器的数量。
4.根据权利要求1所述的系统,其特征在于,所述更新类闪存控制器包括多个存储数据;所述系统还包括:第二读取模块;所述第二读取模块,具体用于:
基于数据读取请求,确定与所述数据读取请求对应的存储数据;所述数据读取请求包括所述存储数据的搜索标识;所述搜索标识用于表示所述存储数据在所述更新类闪存控制器中的存储地址。
5.根据权利要求1所述的系统,其特征在于,所述更新数据以数据块的形式在所述闪存控制器中存储。
6.一种多闪存控制器的控制方法,其特征在于,应用于数据存储系统中;所述数据存储系统包括:多个闪存控制器;所述闪存控制器包括:更新类闪存控制器和中转类闪存控制器;
基于更新数据的更新次数,将所述更新数据写入至与所述更新次数对应的更新类闪存控制器;所述更新类闪存控制器与所述更新数据的更新次数存在一一对应的索引关系;所述更新数据基于数据更新请求得到;
在所述更新类闪存控制器的数据存储量高于预设存储阈值时,将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器;所述预设存储阈值用于表示所述更新类闪存控制器的最大数据存储量;所述时序排名第一的更新数据表示最新写入所述更新类闪存控制器的更新数据;
在将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器后,擦除所述更新类闪存控制器中存储的所有数据,并控制所述更新类闪存控制器继承所述中转类闪存控制器的中转功能;所述中转类闪存控制器的中转功能用于表示接收所述多个更新类闪存控制器中时序排名第一的更新数据的功能;
根据所述时序排名第一的更新数据,确定与所述时序排名第一的更新数据对应的第一更新类闪存控制器;
控制所述中转类闪存控制器继承所述第一更新类闪存控制器与所述更新数据的更新次数之间的索引关系,并移除所述中转类控制器的中转功能。
7.根据权利要求6所述的方法,其特征在于,所述将所述更新类闪存控制器中时序排名第一的更新数据发送至所述中转类闪存控制器之后,还包括:
当接收到针对于所述第一闪存控制器的数据擦除指令和更新数据读取指令时,基于所述更新数据读取指令和所述中转类闪存控制器,获取与所述更新数据读取指令对应的第一更新数据;所述第一更新数据为在所述第一闪存控制器中时序排名第一的更新数据。
8.根据权利要求6所述的方法,其特征在于,所述索引关系基于预设索引关系确定公式得到;所述索引关系公式包括:
Index=(W-1)mod(P-1);
式中;所述Index表示所述索引关系;所述W表示所述更新数据的更新次数;所述P表示所述多个闪存控制器的数量。
9.一种电子设备,其特征在于,所述设备包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行权利要求6-8中任一项所述的多闪存控制器的控制方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求6-8中任一项所述的多闪存控制器的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311605029.8A CN117573582A (zh) | 2023-11-28 | 2023-11-28 | 一种多闪存控制器的控制方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311605029.8A CN117573582A (zh) | 2023-11-28 | 2023-11-28 | 一种多闪存控制器的控制方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117573582A true CN117573582A (zh) | 2024-02-20 |
Family
ID=89891492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311605029.8A Pending CN117573582A (zh) | 2023-11-28 | 2023-11-28 | 一种多闪存控制器的控制方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117573582A (zh) |
-
2023
- 2023-11-28 CN CN202311605029.8A patent/CN117573582A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7774390B2 (en) | Apparatus for collecting garbage block of nonvolatile memory according to power state and method of collecting the same | |
US8230160B2 (en) | Flash memory storage system and flash memory controller and data processing method thereof | |
US7515500B2 (en) | Memory device performance enhancement through pre-erase mechanism | |
CN102332290B (zh) | 用来管理和存取闪存模块的控制器 | |
CN109783017B (zh) | 一种存储设备坏块的处理方法、装置及存储设备 | |
US20150317097A1 (en) | De-duplication in flash memory module | |
US20080195833A1 (en) | Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit | |
EP1895418A1 (en) | Nonvolatile memory device, method of writing data, and method of reading out data | |
EP1739565A1 (en) | Storage system using flash memory | |
CN104808951A (zh) | 进行存储控制的方法和设备 | |
JP2003296188A (ja) | 高容量フラッシュメモリカードシステムにおけるデータ運営方法 | |
CN1658171A (zh) | 通过控制频繁受访问扇区对非易失性存储器的更快写操作 | |
CN103164342A (zh) | 数据可用性的挂载时协调 | |
CN106775436B (zh) | 数据存取方法、存储器控制电路单元与存储器 | |
CN106372000B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN108829342B (zh) | 一种日志存储方法、系统及存储装置 | |
CN110333770A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
CN111459844A (zh) | 数据储存装置及用于存取逻辑至物理地址映射表的方法 | |
US8819387B2 (en) | Memory storage device, memory controller, and method for identifying valid data | |
CN109508142A (zh) | 数据存储装置及其操作方法 | |
CN104881366A (zh) | 修复均化的方法与系统 | |
US10025706B2 (en) | Control device, storage device, and storage control method | |
US20100180072A1 (en) | Memory controller, nonvolatile memory device, file system, nonvolatile memory system, data writing method and data writing program | |
KR20170086840A (ko) | 데이터 저장 장치 및 그것의 동작 방법 |
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 |