flash数据存储算法: 在Flash芯片中写入数据时,采用了相应的交换算法,即数据存储时在通道、块、页间进行了相应的交换写入,这样的设计提高了写入速度。在进行数据恢复时要读取正确的数据,也需要采用相应的逆交换算法,才能还原出正确的数据。 (1)块间页交换: 块间页交换是一种相对简单的数据存储算法,采用这种算法的数据写入速度很快,其操作顺序如图所示,即在两个块之间交替写入,首先从0块的0页写入,再写入1块的0页,之后返回0块的1页进行写入,再跳转到1块的1页写入,以此类推进行循环。因为写入以页为单位进行写入,在双通道芯片中同时在两个块中进行写入,大大提高写入速度。 1 2 3 4 5 6 Dump 0 1 …….. 0块 0页 1 块 0页 1 2 1页 1页 3 4 (2)通道(dump )间页交换: 通道间页交换算法即在两个通道或两个芯片间进行并行的交替写入操作。和RAID 0的结构类似。其操作顺序如图所示,首先从0通道的0页写入,再写入1通道的0页,之后返回0通道的1页进行写入,再跳转到1通道的1页写入,以此类推进行循环。
(3)通道间块交换: 通道间块交换算法即以块为单位进行交替写入操作,这种算法一般用于擦除操作,因为擦除是以块为单位进行的。其操作顺序如图所示,先在0通道中对0块进行操作,再转到1通道对其中的0块进行操作,接着转回0通道对1块进行操作,以此类推。
(4)通道间块间页交换: 通道间块间页交换算法是块间页交换和通道间块交换进行复合交替操作,速度很快,操作示意如图所示。首先在0通道0块的0页中进行操作,完成后转到0通道1块的0页进行操作,再转到1通道0块的0页进行操作,再转到1通道1块的0页进行操作,之后返回0通道0块的1页进行操作,以此类推。 |