本文作者:kaifamei

应用于闪存存储控制器中的垃圾回收系统及方法与流程

更新时间:2025-12-19 19:47:05 0条评论

应用于闪存存储控制器中的垃圾回收系统及方法与流程



1.本发明涉及闪存存储控制领域,具体是应用于闪存存储控制器中的垃圾回收系统及方法。


背景技术:

2.基于闪存的固态硬盘的带宽随着闪存技术和高速接口协议的改进而增加,为了支持高带宽i/o读写请求,固态硬盘内部并行性被利用,如多平面、多通道、多存储芯片并行操作来提高带宽。固态硬盘的固件(或逻辑转换层)将主机的i/o请求(逻辑地址)转换为存储设备的i/o请求(物理地址),并将存储设备的请求(命令)发送给闪存控制器处理i/o操作。因此,除了闪存之外,其它系统资源(如cpu、dram和系统总线)在i/o操作期间也被大量利用。但是,除了i/o请求之外,垃圾回收还使用相同的资源,包括cpu、dram、ecc(纠错码)和系统总线,以及将有效页面复制到目标空闲块时的闪存。由于i/o请求和垃圾回收使用相同的资源,两者之间的冲突可能会影响总体性能和吞吐量。为了解决这些冲突,主要解决闪存操作延时太长的问题;由于闪存每个平面的数据传输单位的增加,以及平面数量的增加,不仅会增加闪存的并行度从而增加带宽,还会影响系统资源的利用,特别是系统资源(特别是cpu性能、系统总线和dram性能)正在成为一个更关键的瓶颈,而且i/o请求会受到垃圾回收的严重影响。造成这一性能瓶颈的根本原因是固态存储系统在系统资源和闪存芯片之间的紧密耦合。当垃圾回收进行数据传输或复制时,它基本上由闪存芯片对闪存芯片进行数据搬移;然而,有效的页面在到达目的闪存之前通过系统总线发送到中间系统组件(例如dram和ecc),并为系统资源创建冲突。因此,为了克服性能瓶颈和解决系统资源冲突,闪存存储控制器中高效的垃圾回收系统是必然需求。
3.垃圾回收过程是基于闪存的固态硬盘中的关键处理过程;闪存特性必须先擦除后写入,擦除的基础单位是块,所以需要使用复杂的垃圾回收系统;不同的垃圾回收系统选择受害块和自由块,在性能和可靠性之间有不同的权衡,如果选择的可用块与受害块位于同一平面内,则可以利用高级回写命令来避免将数据传输到闪存芯片之外;但是,由于错误传播,高级回写命令在现代固态硬盘中很难被利用,因为无法在闪存中进行纠错,因此选择位于不同芯片、芯片和/或平面中的自由块。固态硬盘中的块最终会被写满,必须时刻保证有空闲页满足新的写入需求,因此在数据写入之间要进行垃圾回收操作,以此来满足当前和未来的写入需求,使固态硬盘更快完成新写入需求,并且使垃圾回收对写需求的影响尽可能小。所以需要一套对主机io命令处理影响较小的垃圾回收系统。


技术实现要素:

4.针对现有技术的缺陷,本发明提供一种应用于闪存存储控制器中的垃圾回收系统及方法,解决垃圾回收与系统资源的竞争,从而对主机io命令处理影响较小。
5.为了解决所述技术问题,本发明采用的技术方案是:用于闪存存储控制器中的垃圾回收系统,包括中央处理器、源目标管理器、目的目标管理器、映射管理器和错误管理器;
中央处理器与系统总线相连,用于控制垃圾回收的开始、停止,根据闪存控制器返回的状态进行相应的处理,而且还进行源目标闪存块和目的目标闪存块 的管理;硬盘中闪存空闲块的数量小于设定阈值时开始垃圾回收;映射管理器与中央处理器、系统总线相连,用于更新逻辑地址对应的新的物理地址及标识旧的物理地址无效;目的目标管理器与中央处理器、源目标管理器相连,用于根据目的目标闪存块的物理地址和坏块情况生成对应数据的闪存页缓存的物理地址,提供给源目标管理器;源目标管理器与中央处理器、目的目标管理器、片上网络路由相连,用于根据闪存页缓存的物理地址 和对应的有效数据块的位图连续发送闪存读 ,并根据目的目标管理器提供的物理地址配置数据块缓存地址,闪存控制器根据缓存地址把数据块写入闪存的缓存位置上;错误处理器与中央处理器和片上网络路由相连,用于恢复源目标管理器读时发生的错误。
6.映射管理器包括控制器、dma、寄存器、加法器、比较器;控制器与dma、加法器、比较器相连,用于轮询各个模块状态和启动dma获取指令,并根据dma状态值控制启动加法器和比较器,再其运行状态结果反馈给dma;dma是直接存储器访问装置,获取指令并根据指令执行其相应的操作和更新操作过程中的状态;并且访问和更新相应数据;比较器与控制器、寄存器相连,用于比较两个物理地址 是否一致,并给出结果;寄存器与dma、加法器、比较器相连,用于寄存状态、旧的物理地址和计数值;加法器与控制器、寄存器相连,用于计算地址偏移 和新的物理地址累计值;dma对外分别与映射管理交互fifo、映射管理状态fifo、存储辅助器相连,映射管理交互fifo用于传递中央处理器发送给映射管理器更新映射的消息;映射管理状态fifo用于传递映射管理器反馈给中央处理器更新完的状态;存储辅助器用于存储逻辑地址对应的物理地址和更新的映射元数据。
7.进一步的,源目标管理器包括dma、寄存器、计数器、地址转换器、位图解析器、控制器;控制器与dma、计数器、地址转换器、位图解析器相连,用于轮询各个模块状态和启动dma获取指令,并根据dma状态值控制启动计数器、地址转换器和位图解析器,再将运行状态结果反馈给dma;根据各个模块的反馈的状态进行相应的流转和调度 ;dma是直接存储器访问装置,获取指令并根据指令执行其相应的操作和更新操作过程中的状态;并且访问和更新相应数据;寄存器与dma、计数器、地址转换器相连,用于寄存各个模块的状态和关键数据,还有操作闪存生成的微码;位图解析器与控制器、地址转换器相连,用于根据有效位图解析闪存块中的页或多页含有有效数据块的个数和位置,计算出起始物理地址 ,并其信息反馈给地址转换器;地址转换器与控制器、位图解析器、寄存器相连,用于把位图解析器发送来的起始物理地址 拆分成微码操作闪存的命令码及读写闪存地址;计数器与寄存器、控制器相连,用于计算回收数据块的个数和计算闪存访问地址;
dma对外分别与源目标管理交互fifo、源目标管理状态fifo、辅助存储器、交互路由器、闪存操作为嘛、元数据缓存、目的地址缓存相连,源目标管理交互fifo用于传递中央处理器发送给源目标管理器回收闪存块的信息,源目标管理状态fifo用于传递源目标管理器反馈给中央处理器闪存块回收的状态,辅助存储器用于存储闪存块的数据块有效位图,交互路由器就是片上网了路由,用于提高消息传递效率,闪存操作微码是根据闪存类型固化的操作码,元数据缓存用于缓存数据的写入物理地址、逻辑地址和回收的旧的物理地址,目的地址缓存用于回收后的数据将要写入的闪存地址。
8.进一步的,目的目标管理器包括dma、寄存器、计数器、地址转换器、位图解析器和控制器;控制器用于轮询各个模块状态和启动dma获取指令,并根据dma状态值控制启动计数器、地址转换器和位图解析器,再将运行状态结果反馈给dma;根据各个模块的反馈的状态进行相应的流转和调度;dma是直接存储器访问装置,获取指令并根据指令执行其相应的操作和更新操作过程中的状态;并且访问和更新相应数据;寄存器用于寄存各个模块的状态和关键数据;位图解析器根据有效位图解析闪存块中坏块情况,并计算出起始物理地址,并其信息反馈给地址转换器,地址转换器把位图解析器反馈的物理地址拆分成闪存物理地址;计数器用于计算回收数据块的个数和计算闪存访问地址;dma对外分别连接目的目标管理交互fifo、目的目标管理状态fifo、辅助存储器、元数据缓存和目的地址缓存,目的目标管理交互fifo用于传递中央处理器传输给目标目标管理器将回收数据将要写入闪存块的消息,目的目标管理状态fifo用于传递目标目标管理器反馈给中央处理器目标地址生成的状态,辅助存储器用于存储闪存坏块有效位图,源数据缓存用于回收数据将要写入的目标闪存块的闪存物理地址,目的地址缓存用于缓存回收后的数据将要写入的闪存地址。
9.进一步的,错误处理器包括dma、寄存器、计数器、控制器和异或引擎;控制器用于轮询各个模块状态和启动dma获取指令,并根据dma状态值控制启动计数器,再将运行状态结果反馈给dma;根据各个模块的反馈的状态进行相应的流转和调度;dma是直接存储器访问装置,获取指令并根据指令执行其相应的操作和更新操作过程中的状态;并且访问相应数据;寄存器用于寄存各个模块的状态和关键数据;计数器用于计算闪存数据块的个数和闪存访问地址;dma对外分别与错误处理交互fifo、错误处理状态fifo、辅助存储器、交路由器和闪存操作微码,错误处理交互fifo用于传递中央处理器发送给错误处理器将读失败的数据通过冗余保护恢复出来的消息和写入闪存地址,错误处理状态fifo用于传递错误处理器反馈给中央处理器数据恢复的状态,存储辅助器用于缓存异或计算后的数据,交互路由器就是片上网络路由,用于提高消息传递效率,闪存操作微码是根据闪存类型固化的操作码。
10.本发明还公开了一种应用于闪存存储控制器中的垃圾回收方法,包括以下步骤:s01)、中央处理器读取全局变量闪存空闲块的数量,如果空闲块的数量大于一定阈值,不启动垃圾回收,反之启动垃圾回收;
s02)、读取标识状态判断目的目标闪存块 是否存在,如果不存在,获取新的目的目标闪存块,如果存在,检查目的目标管理器状态是否启动,如果没有启动,唤醒目的目标管理器,如果已启动,中央处理器根据目的目标管理器的状态压入回收数据写入闪存块的起始物理地址或产生新的目的目标物理地址元数据相应的消息;s03)、读取标识状态判断源目标闪存块 是否存在,如果不存在,获取新的源目标闪存块,如果存在,中央处理器处理目的目标状态fifo中的状态值,是否已经生成目的目标闪存物理地址,只有目的目标管理器生成才能往源目标管理器中压入相应闪存读写命令;s04)、中央处理器检查源目标管理状态是否启动,如果没有启动,唤醒源目标管理器,如果启动了,中央处理器根据源目标管理器的状态压入待回收闪存块的起始地址或进行闪存数据读写操作相应的消息;s05)、中央处理器处理闪存控制器通过交互路由发过来对闪存读写处理的成功或失败的状态;s06)、中央处理器检查闪存读写处理的状态,如果成功更新写缓存阈值,如果写缓存阈值达到一定值,中央处理器形成该缓存写的微码,并把该命令压入交互路由中,让闪存控制器执行缓存写操作;s07)、如果读写处理状态失败,查看错误处理器状态,如果没有启动,启动错误处理器,如果启动了,中央处理器往错误处理器交互fifo压入初始化参数及恢复数据需要读的闪存数据块物理地址;s08)、如果中央处理器处理是缓存写完成消息,首先检查映射管理器是否启动,如果没有启动,启动映射管理器,如果启动了,中央处理器压入映射管理交互fifo中消息包含要更新的映射起始地址和个数;s09)、中央处理器处理源目标管理器状态fifo,根据状态进行相应的处理,此时中央处理器进入步骤s01),直到达到一定阈值退出垃圾回收,并关闭相应的源目标管理器,目的目标管理器和映射管理。
11.进一步的,错误处理流程为:a1)、错误处理器从错处理交互fifo中获取消息;a2)、解析消息,如果是初始化类型消息是获取异或计算缓存地址和冗余保护的条带数;如果是读类型消息是获取闪存数据块存储的物理地址;a3)、如果是初始化类型消息,把参数更新到相应的寄存器位置上;如果是读类型的消息,根据物理地址和数据存储缓存地址生成相应的闪存操作微码发给交互路由器,更新相应的计数。
12.a4)、继续解析交互fifo并按照类型执行,直到获取到带有最后一条标识的消息;a5)、检查交互路由器查看数据是否被读到数据存储缓存内,如果已经读完,进行异或计算,把结果存储到相应的缓存内;a6)、检查读数据计数值是否与初始化时计数值相等,如果相等根据寄存器中的目标闪存物理地址进行缓存写操作。
13.a7)、执行完上述操作后,把结果压入状态fifo中,并使错误处理器进入休眠状态。
14.本发明的有益效果:本发明的应用闪存存储器中高效的自动化垃圾回收系统主要
利用映射管理器,源目标管理器,目的目标管理器和错误处理器自动化的处理数据回收解决了垃圾回收系统与cpu和系统总线竞争;利用片上网络可以使不同的闪存通道在闪存芯片之间直接通信,从而可以减少垃圾回收系统与系统总线的竞争,有效数据不会存储在dram上,直接写入相应的闪存的页缓存上,解决了垃圾回收与dram竞争;从而对主机io命令处理影响较小,提高了固态存储器对主机io命令的处理能力。
附图说明
15.图1为存储控制器的原理框图;图2为垃圾回收系统的原理框图;图3为映射管理器的原理框图;图4为源目标管理器的原理框图;图5为目的目标管理器的原理框图;图6为错误处理器的原理框图;图7为垃圾回收方法流程图的前半部分;图8为垃圾回收方法流程图的后半部分。
具体实施方式
16.下面结合附图和具体实施例对本发明作进一步的说明。
17.实施例1垃圾回收是固态硬盘用于优化空间、提高效率并保持设备尽可能高效地工作的一个过程。垃圾回收的目标是保留尽可能多的闪存空块,以便在固态硬盘需要写入数据时,它可以在等待闪存块被删除的情况下执行此操作。在固态硬盘中,逻辑转换层标记不再有用的数据片段,然后,它将有用的数据片段移动到新闪存块,留下旧的,不必要的数据片段。然后,闪存控制器会擦除该闪存块,以便它可供使用。垃圾回收是一个后台进程,由固态硬盘控制器和逻辑转换层处理。垃圾回收算法相对复杂,而且并不完美,因为它们有时会将坏数据误认为是好数据,但它们对于确保性能是必要的。本实施例提出一套高效的自动化垃圾回收系统。
18.自动化垃圾回收系统具有独立的中央处理单元,可用微码固化垃圾回收处理的流转状态,根据块存储的链表地址,自动获取待回收的源闪存块(源目标闪存块)和待写入的目标闪存块(目的目标闪存块),它可以自动更新逻辑地址对应的物理地址和闪存块有效的数据片段位图。
19.自动化垃圾回收系统利用片上网络路由将与闪存控制器连接一起,片上网络可以使不同的闪存通道(主要指io请求和读写数据传输,垃圾回收操作需要转换成相应的io请求和数据传输)在闪存芯片之间直接通信,从而可以减少垃圾回收系统与系统总线的竞争。垃圾回收系统收集的有效数据不会存储在dram上,直接写入相应的闪存的页缓存上。
20.高效的自动化垃圾回收系统解决了与系统资源(如cpu、dram和系统总线)竞争,从而对主机io命令处理影响较小。
21.图1为本系统涉及到的存储控制器的原理框图,闪存存储控制器中包含多核cpu、辅助存储控制器、系统总线、闪存控制器、片上网络路由和垃圾回收系统。
22.闪存存储控制器主要负责数据的读写和数据存储管理及其它功能。闪存存储控制器从主机获得数据经过闪存控制器把数据存储到闪存存储器中。如果主机想要获得闪存存储器中的数据需要闪存存储控制器从闪存存储器中读取出来,经过闪存控制器把产生数据通过pcie接口传输给主机。
23.多核cpu主要进行任务调度和命令处理等;闪存存储器是主要的数据存储单元;辅助存储器主要是指dram或mram等还有可能是多者组合,它主要缓存主机数据和元数据;系统总线主要是各个模块传递命令和数据;闪存控制器中包含纠错模块和闪存读写擦控制等;片上网络路由主要是联通各个闪存控制器和垃圾回收系统,进行通信交互;垃圾回收系统主要根据闪存的使用状况自动对闪存进行垃圾回收。
24.如图2所示,垃圾回收系统由中央处理器、源目标管理器、目的目标管理器、映射管理器和错误管理构成。中央处理器主要控制垃圾回收的开始、停止,根据闪存控制器返回的状态进行相应的处理,而且还进行源目标闪存块和目的目标闪存块的管理;映射管理器主要是更新逻辑地址对应的新的物理地址及标识旧的物理地址无效。
25.目的目标管理器主要根据目的的闪存块的物理地址和坏块情况生成对应数据的闪存页缓存的物理地址,提供给源目标管理器。
26.源目标管理器主要根据闪存块的物理地址和对应的有效数据块的位图连续发送闪存读,并根据目的目标管理器提供的物理地址配置数据块缓存地址,闪存控制器根据缓存地址把数据块写入闪存的缓存位置上。
27.错误处理器主要是恢复源目标管理器读时发生的错误。
28.如图3所示,映射管理器框图以硬件电路方式实现或软件方式模拟构建实现。包括控制器、dma、寄存器、加法器和比较器组成,通过更新fifo、状态fifo和辅助存储器与其它模块进行信息和数据交互。
29.控制器主要是轮询各个模块状态和启动dma获取指令,并根据dma状态值控制启动加法器和比较器,再其运行状态结果反馈给dma。
30.dma是直接存储器访问装置,获取指令、并根据指令执行其相应的操作和更新操作过程中的状态;并且访问和更新相应数据。
31.比较器主要是比较两个物理地址是否一致,并给出结果。
32.寄存器主要是寄存状态、旧的物理地址和计数值。
33.加法器主要是计算地址偏移和新的物理地址累加值。
34.映射管理交互fifo主要是传递中央处理器传递给映射管理器更新映射的消息。
35.映射管理状态fifo主要是传递映射管理器反馈给中央处理器更新完的状态。
36.存储辅助器主要存储逻辑地址对应的物理地址和更新的映射元数据。
37.如图4所示,源目标管理器以硬件电路方式实现或软件方式模拟构建实现。包括dma、寄存器、计数器、地址转换器、位图解析器和控制器,通过源目标管理交互fifo、源目标管理状态fifo、辅助存储器、闪存操作微码、元数据缓存和目的地址缓存与其它模块进行信息和数据交互。
38.具体的,控制器主要是轮询各个模块状态和启动dma获取指令,并根据dma状态值控制启动计数器、地址转换器和位图解析器,再将运行状态结果反馈给dma;根据各个模块的反馈的状态进行相应的流转和调度。
39.dma是直接存储器访问装置,获取指令、并根据指令执行其相应的操作和更新操作过程中的状态;并且访问和更新相应数据。
40.寄存器主要寄存各个模块的状态和关键数据,还有操作闪存生成的微码。
41.位图解析器根据有效位图解析闪存块中的页或多页含有有效数据块的个数和位置,计算出起始物理地址,并其信息反馈给地址转换器。
42.地址转换器主要把物理地址拆分成微码操作闪存的命令码及读写闪存地址。
43.计数器主要计算回收数据块的个数和计算闪存访问地址。
44.源目标管理交互fifo主要是传递中央处理器传递给源目标管理器回收闪存块的消息。
45.源目标管理状态fifo主要是传递源目标管理器反馈给中央处理器回收的状态。
46.存储辅助器主要存储闪存块的数据块有效位图。
47.交互路由器就是片上网络路由,主要是提高消息传递效率,它主要与闪存控制器连接,传递的消息是针对闪存操作的微码。
48.闪存操作微码是根据闪存类型固化的操作码,它主要包括操作闪存命令类型和闪存访问地址,闪存厂商提供闪存操作手册,内含有支持的闪存命令类型及配置信息。
49.元数据缓存主要缓存数据的写入物理地址、逻辑地址和回收的旧的物理地址。
50.目的地址缓存主要是缓存回收后的数据将要写入的闪存地址。
51.如图5所示,目的目标管理器以硬件电路方式实现或软件方式模拟构建实现。包括dma、寄存器、计数器、地址转换器、位图解析器和控制器,通过目的目标管理交互fifo、目的目标管理状态fifo、辅助存储器、元数据缓存和目的地址缓存与其它模块进行信息和数据交互。
52.具体的,控制器主要是轮询各个模块状态和启动dma获取指令,并根据dma状态值控制启动计数器、地址转换器和位图解析器,再将运行状态结果反馈给dma;根据各个模块的反馈的状态进行相应的流转和调度。
53.dma是直接存储器访问装置,获取指令、并根据指令执行其相应的操作和更新操作过程中的状态;并且访问和更新相应数据。
54.寄存器主要寄存各个模块的状态和关键数据。
55.位图解析器根据有效位图解析闪存块中坏块情况,并计算出起始物理地址,并其信息反馈给地址转换器。
56.地址转换器主要把物理地址拆分成闪存物理地址。
57.计数器主要计算回收数据块的个数和计算闪存访问地址。
58.目的目标管理交互fifo主要是传递中央处理器传递给目标目标管理器将回收数据将要写入闪存块的消息。
59.目的目标管理状态fifo主要是传递目标目标管理器反馈给中央处理器目标地址生成的状态。
60.存储辅助器主要存储闪存块坏块有效位图。
61.元数据缓存主要回收数据将要写入的目标闪存块的闪存物理地址。
62.目的地址缓存主要是缓存回收后的数据将要写入的闪存地址。
63.错误处理器以硬件电路方式实现或软件方式模拟构建实现,它主要针对支持冗余
保护的固态硬盘进行闪存数据块的错误恢复。如图6所示,错误处理器包括dma、寄存器、计数器、异或引擎和控制器组成,通过错误处理交互fifo、错误处理状态fifo、辅助存储器、交互路由器和闪存操作微码与其它模块进行信息和数据交互。
64.具体的,控制器主要是轮询各个模块状态和启动dma获取指令,并根据dma状态值控制启动计数器,再将运行状态结果反馈给dma;根据各个模块的反馈的状态进行相应的流转和调度。
65.dma是直接存储器访问装置,获取指令、并根据指令执行其相应的操作和更新操作过程中的状态;并且访问相应数据。
66.寄存器主要寄存各个模块的状态和关键数据。
67.计数器主要计算闪存数据块的个数和闪存访问地址。
68.错误处理交互fifo主要是传递中央处理器传递给错误处理器将读失败的数据通过冗余保护恢复出来的消息和写入闪存地址。
69.错误处理状态fifo主要是错误处理器反馈给中央处理器数据恢复的状态。
70.存储辅助器主要缓存异或计算后的数据。
71.交互路由器就是片上网络路由,主要是提高消息传递效率,它主要与闪存控制器连接,传递的消息是针对闪存操作的微码。
72.闪存操作微码是根据闪存类型固化的操作码。
73.本实施例中,控制器根据各个模块的反馈的状态进行相应的流转和调度具体是指:每个模块都有一个状态寄存器,该寄存器会标识是否启动、是否计算完成,如果计算完成,把它的结果传递给那个模块;控制器会根据寄存器的值去修改与其相关对应的寄存器,其它模块会根据寄存器值做相应处理。
74.本实施例提出了应用于闪存存储控制器中的自动化垃圾回收系统,高效的自动化垃圾回收系统根据固态硬盘中闪存块剩余的多少进行高效的自动化垃圾回收。本发明的自动化垃圾回收系统可以自动回收闪存中有效数据和错误恢复来提高垃圾回收的效率,并对主机io命令处理影响较小,提高了处理主机io的整体效率。本专利发明的自动化主要体现在系统中的中央处理器根据闪存空闲块的个数自动启动垃圾回收,系统中源目标管理、目的目标管理、映射管理器和错误处理器会根据状态自动执行,执行完自动停止并等待中央处理器的唤醒。
75.实施例2本实施例公开一种应用于闪存存储控制器中的垃圾回收方法,如图7、8所示,包括以下步骤:s01)、中央处理器读取全局变量闪存空闲块的数量,如果空闲块的数量大于一定阈值,不启动垃圾回收,反之启动垃圾回收;s02)、读取标识状态判断目的目标闪存块是否存在,如果不存在,获取新的目的目标闪存块,如果存在,检查目的目标管理器状态是否启动,如果没有启动,唤醒目的目标管理器,如果启动了,中央处理器根据目的目标管理器的状态压入回收数据写入闪存块的起始物理地址或产生新的目的目标物理地址元数据相应的消息;s03)、读取标识状态判断源目标闪存块是否存在,如果不存在,获取新的源目标闪存块,如果存在,中央处理器处理目的目标状态fifo中的状态值,是否已经生成目的目标闪
存物理地址,只有目的目标管理器生成才能往源目标管理器中压入相应闪存读写命令;s04)、中央处理器检查源目标管理状态是否启动,如果没有启动,唤醒源目标管理器,如果启动了,中央处理器根据源目标管理器的状态压入待回收闪存块的起始地址或进行闪存数据读写操作相应的消息;s05)、中央处理器处理闪存控制器通过交互路由发过来对闪存读写处理的成功或失败的状态;s06)、中央处理器检查闪存读写处理的状态,如果成功更新写缓存阈值,如果写缓存阈值达到一定值,中央处理器形成该缓存写的微码,并把该命令压入交互路由中,让闪存控制器执行缓存写操作;s07)、如果读写处理状态失败,查看错误处理器状态,如果没有启动,启动错误处理器,如果启动了,中央处理器往错误处理器交互fifo压入初始化参数及恢复数据需要读的闪存数据块物理地址。
76.s08)、如果中央处理器处理是缓存写完成消息,首先检查映射管理器是否启动,如果没有启动,启动映射管理器,如果启动了,中央处理器压入映射管理交互fifo中消息包含要更新的映射起始地址和个数;s09)、中央处理器处理源目标管理器状态fifo,根据状态进行相应的处理,此时中央处理器进入步骤(1),直到达到一定阈值退出垃圾回收,并关闭相应的源目标管理器,目的目标管理器和映射管理。
77.错误处理流程,如下:a1)、错误处理器从错处理交互fifo中获取消息;a2)、解析消息,如果是初始化类型消息是获取异或计算缓存地址和冗余保护的条带数;如果是读类型消息是获取闪存数据块存储的物理地址;a3)、如果是初始化类型消息,把参数更新到相应的寄存器位置上;如果是读类型的消息,根据物理地址和数据存储缓存地址生成相应的闪存操作微码发给交互路由器,更新相应的计数。
78.a4)、继续解析交互fifo并按照类型执行,直到获取到带有最后一条标识的消息;a5、检查交互路由器查看数据是否被读到数据存储缓存内,如果已经读完,进行异或计算,把结果存储到相应的缓存内;a6)、检查读数据计数值是否与初始化时计数值相等,如果相等根据寄存器中的目标闪存物理地址进行缓存写操作。
79.a7)、执行完上述操作后,把结果压入状态fifo中,并使错误处理器进入休眠状态。
80.以上,描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改机和替换,属于本发明的保护范围。


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-11-970-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2022-11-27 21:21:29

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论