检测闪存管理的方法和系统的制作方法

文档序号:6514264阅读:157来源:国知局
检测闪存管理的方法和系统的制作方法
【专利摘要】本发明涉及一种检测闪存管理的方法和系统。该方法包括:建立闪存管理设备与主机端之间的数据传输通道;接收所述闪存管理设备经所述数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据;根据所述操作命令或操作数据对所述闪存管理设备进行诊断分析。上述检测闪存管理的方法和系统,通过接收数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据根据操作命令或操作数据对闪存管理设备进行诊断分析,根据该诊断分析可估测逻辑操作对闪存介质是否合理、稳定性和效率等,可进行灵活的调试,从而提高了闪存管理设备的使用寿命或性能。
【专利说明】检测闪存管理的方法和系统
【技术领域】
[0001]本发明涉及存储设备,特别是涉及一种检测闪存管理的方法和系统。
【背景技术】
[0002]传统的闪存管理设备一般包含闪存主控和闪存存储介质,闪存管理设备接收来自主机端(如个人计算机)的操作指令,经过闪存主控的分析,并对闪存存储介质执行管理操作,而闪存主控在对闪存存储介质进行管理操作的过程中,可能存在或多或少的一些问题,如闪存主控对闪存存储介质的不合理操作、闪存主控的逻辑管理出错或闪存主控逻辑算法管理的性能较差等,然而传统的闪存管理设备无法对这些问题进行分析,容易造成闪存管理设备的使用寿命缩短或性能的衰减。

【发明内容】

[0003]基于此,有必要针对传统的闪存管理设备无法检测闪存主控对闪存存储介质的管理操作而造成闪存管理设备使用寿命缩短或性能衰减的问题,提供一种能提高闪存管理设备的使用寿命或性能的检测闪存管理的方法。
[0004]此外,还有必要提供一种能提高闪存管理设备的使用寿命或性能的检测闪存管理的系统。
[0005]一种检测闪存管理的方法,包括:
[0006]建立闪存管理设备与主机端之间的数据传输通道;
[0007]接收所述闪存管理设备经所述数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据;
[0008]根据所述操作命令或操作数据对所述闪存管理设备进行诊断分析。
[0009]一种检测闪存管理的系统,包括:
[0010]通道建立模块,用于建立闪存管理设备与主机端之间的数据传输通道;
[0011]接收模块,用于接收所述闪存管理设备经所述数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据;
[0012]处理模块,用于根据所述操作命令或操作数据对所述闪存管理设备进行诊断分析。
[0013]上述检测闪存管理的方法和系统,通过接收数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据根据操作命令或操作数据对闪存管理设备进行诊断分析,根据该诊断分析可估测逻辑操作对闪存介质是否合理、稳定性和效率等,可进行灵活的调试,从而提高了闪存管理设备的使用寿命或性能。
【专利附图】

【附图说明】
[0014]图1为一个实施例中检测闪存管理的方法的流程图;
[0015]图2为主机端与闪存管理设备建立数据传输通道的示意图;[0016]图3为根据该操作命令或操作数据对该闪存管理设备进行诊断分析的流程图;
[0017]图4为预先建立随机数与逻辑地址与物理地址的映射关系的流程图;
[0018]图5为主机端与闪存管理设备内部检测闪存管理的示意图;
[0019]图6为一个实施例中检测闪存管理的系统的结构框图;
[0020]图7为一个实施例中处理模块的结构框图;
[0021]图8为另一个实施例中检测闪存管理的系统的结构框图;
[0022]图9为一个实施例中关系建立模块的内部结构框图。
【具体实施方式】
[0023]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0024]如图1所示,为一个实施例中检测闪存管理的方法的流程图。一种检测闪存管理的方法,包括:
[0025]步骤102,建立闪存管理设备与主机端之间的数据传输通道。
[0026]该建立闪存管理设备与主机端之间的数据传输通道包括:所述闪存管理设备的主控与所述主机端之间的第一数据传输通道,和/或所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道,和/或所述闪存管理设备的闪存介质与所述主机端之间的第三数据传输通道。如图2所示,闪存管理设备的主控通过闪存控制总线过滤器与闪存介质相连,主控与主机端之间建立第一数据传输通道A,闪存控制总线过滤器与主机端之间的第二数据传输通道B,该闪存管理设备的闪存介质与该主机端之间的第三数据传输通道C。
[0027]步骤104,接收所述闪存管理设备经该数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0028]具体的,操作数据如闪存管理设备中闪存介质Flash的数据信息。
[0029]逻辑操作可为闪存管理设备的主控对闪存介质的写入操作、读取操作、擦除操作、搬移操作等。
[0030]步骤106,根据该操作命令或操作数据对该闪存管理设备进行诊断分析。
[0031]该诊断分析可包括分析主控对闪存介质Flash是否存在不合理的操作、主控的逻辑管理的问题、以及主控的逻辑算法管理性能等。
[0032]上述检测闪存管理的方法,通过接收数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据根据操作命令或操作数据对闪存管理设备进行诊断分析,根据该诊断分析可估测逻辑操作对闪存介质是否合理、稳定性和效率等,可进行灵活的调试,从而提高了闪存管理设备的使用寿命或性能。
[0033]在一个实施例中,以写入操作为例,步骤104包括:接收当向闪存管理设备写入原始逻辑数据时,该闪存管理设备经该数据传输通道反馈的异或操作结果。
[0034]具体的,主机端向闪存管理设备写入原始逻辑数据,并建立原始逻辑数据表,用于记录主机端每次向闪存管理设备写入的原始逻辑数据。该原始逻辑数据表的大小和闪存管理设备容量大小一致。此外,主机端写入闪存管理设备中的每一个逻辑扇区的原始逻辑数据都是唯一的,可识别的,例如每个逻辑扇区的原始逻辑数据可由特殊的标记位加扇区编号构成,然后再写入闪存管理设备。该主机端可为个人计算机、平板电脑、个人数字助理等。
[0035]主机端每次向闪存管理设备写入原始逻辑数据时,闪存管理设备的主控接收了该原始逻辑数据,同时主控内部由种子生成随机数,并将该原始逻辑数据和当前生成的随机数进行异或操作,并将该异或操作的结果作为随机化后的逻辑数据写入闪存介质Flash中。且闪存管理设备通过数据传输通道将异或操作结果反馈给主机端。其中,该种子分为逻辑种子和物理种子两种。逻辑种子采用逻辑地址作为种子;物理种子采用闪存介质Flash中的物理页(page)地址作为种子,即物理地址作为种子。
[0036]其中,当以逻辑地址作为种子时,相同逻辑地址生成的随机数一直是不变的,如对LBA (Logical Block Address,逻辑区块地址)为O的地址写数据,假设此时该逻辑区块地址种子生成的随机数是“1111”,当逻辑操作是向闪存介质Flash的块零(blockO)中的页零(pageO)写入逻辑数据“0000”时,该写入逻辑数据“0000”与随机数“ 1111”进行异或操作得到结果“1111”,并将结果“1111”写入闪存介质Flash的blockO中的pageO ;当下一次逻辑操作继续对逻辑地址O进行写入“0000”逻辑数据时,主控可能会向闪存介质Flash的块零(blockO)中的页零(pagel)写入该包数据,因为是以逻辑地址作种子,所以随机数依然是1111,主控会将该写入逻辑数据“ 0000 ”与随机数“ 1111”进行异或操作得到结果“ 1111”,并将结果“1111”写入blockO的pagel中,由此可见,不管是把逻辑数据写入blockO的PageO还是pagel,只要逻辑地址一样,写入相同逻辑数据时其随机化后逻辑数据的结果是一样的。
[0037]当以物理地址作为种子生成随机数时,每一物理地址种子生成的随机数不一样,假设对闪存介质Flash中blockO的pageO写入逻辑数据“0000”,而blockO的pageO的物理地址种子生成的随机数为“1010”,则写入逻辑数据“0000”与该随机数“1010”通过异或操作得到的异或结果为“1010”,即闪存介质Flash中blockO的pageO最终写入的数据为“1010”,再对闪存介质Flash中blockO的pagel写入逻辑数据“0000”,假设此时blockO的pagel的物理地址的种子生成的随机数为“1110”,则写入逻辑数据“0000”与该随机数“1110”通过异或操作得到的结果“1110”为最终写入blockO的pagel中的数据,由此可见,以物理地址作为种子生成的随机数,当写入相同逻辑数据时,因为写入的物理page地址不一样,其随机化后逻辑数据的结果也是不一样的。为了区分这两种种子,主机端可以不断重复的对逻辑地址O写入全O的原始逻辑数据,看随机化后的逻辑数据是否相同,如果相同,就是逻辑种子,如果不同,就是物理种子。
[0038]如图3所示,步骤106包括:
[0039]步骤302,根据该异或操作结果得到该闪存管理设备根据该原始逻辑数据生成的随机数,并从预先建立的随机数与逻辑地址或物理地址的映射关系中确定该随机数对应的逻辑地址或物理地址。
[0040]步骤304,将该异或操作结果与对应的随机数进行异或操作,得出新的异或操作结果再与写入的当前原始逻辑数据进行对比,若一致,则根据所述随机数所映射的逻辑地址或物理地址获取到逻辑操作中闪存管理设备的主控对闪存介质的具体操作内容。
[0041]具体的,将得出的异或操作结果与写入的当前原始逻辑数据进行对比,若一致,表明该操作命令或操作数据为主机端写入的原始逻辑数据,主机端再根据该随机数据映射表中映射关系得到该随机数所映射的逻辑地址或物理地址,然后根据该逻辑地址或物理地址获取该逻辑操作中闪存管理设备的主控对闪存介质的具体操作内容。该具体操作内容包括主控对闪存介质Flash进行擦除块操作、写入的逻辑数据最终写入的物理页、从物理页读取逻辑数据、逻辑页在内部数据整理时的搬移操作、搬移操作的具体位置等。
[0042]步骤306,根据该具体操作内容进行诊断得到所述闪存管理设备的主控和闪存介质的诊断数据。
[0043]具体的,该诊断数据包括主控对闪存介质Flash是否存在不合理的操作、主控的逻辑管理的问题、以及主控的逻辑算法管理性能等。
[0044]其中,主控对闪存介质Flash不合理操作包括:主控对闪存介质中的一个没有擦除过的块进行了写操作、或重复写入了一个已经写过的页、或者读取一个没有写过数据的页、或者擦除或者重写了理论上只读的区域等等。
[0045]上述主控的逻辑管理的问题主要有:
[0046]I)进行读写数据的逻辑地址与其对应的物理地址不一致,如对逻辑地址E对应的物理地址进行数据写入,却从逻辑地址F对应的物理地址中读取该数据;
[0047]2)数据丢失,如主控对闪存介质进行内部数据整理时需将逻辑地址E上的数据搬移到逻辑地址F上,只有搬移操作完成,主控才可以将逻辑地址E上的数据进行擦掉,但主控在搬移操作完成之前将逻辑地址E上的数据擦掉,就会造成数据丢失;
[0048]3)平衡磨损不好,影响闪存管理设备的寿命,如主控不断的使用存储介质中的某几个物理块进行数据倒换。
[0049]上述主控的逻辑算法管理性能:
[0050]I)根据存储介质的擦除次数,得到全局平衡磨损状态;
[0051]2)根据写入数据量的大小,得到平均写入放大倍数(写入IG逻辑数据,实际要写入闪存介质Flash多少NG数据,N/1就是放大倍数);
[0052]3)根据数据搬移情况,分析算法的整理效率;
[0053]4)根据写入的数据分布情况以及数据流情况,分析算法的性能和优化方向。
[0054]上述检测闪存管理的方法,通过向闪存管理设备写入原始逻辑数据,并接收生成的随机数与该原始逻辑数据的异或操作结果,从而确定随机数及所对应的逻辑地址或物理地址,再接收反馈的操作命令和操作数据,根据该操作命令和操作数据确定原始逻辑数据,并根据该原始逻辑数据所对应的随机数找出该原始逻辑数据所对应的逻辑地址或物理地址,从而获取闪存管理设备中的主控对闪存介质的具体操作内容,并根据具体操作内容进行诊断得到主控和闪存介质的诊断数据,根据该诊断数据可估测逻辑操作对闪存介质是否合理、稳定性和效率等,可进行灵活的调试,从而提高了闪存管理设备的使用寿命或性能。
[0055]在一个实施例中,上述检测闪存管理的方法还包括:预先建立随机数与逻辑地址与物理地址的映射关系。如图4所示,预先建立随机数与逻辑地址与物理地址的映射关系的步骤具体包括:
[0056]步骤402,向该闪存管理设备的逻辑地址O重复写入全O的原始逻辑数据。
[0057]步骤404,获取每次写入时全O的原始逻辑数据与生成的随机数进行异或操作的结果,根据该异或操作的结果得到该随机数,判断每次写入得到的异或操作的结果是否相同,若相同,则确定该随机数由逻辑地址产生,若不相同,则确定该随机数由物理地址产生。[0058]步骤406,建立该随机数与逻辑地址或物理地址的映射关系。
[0059]具体的,由于闪存管理设备中的主控内部生成的随机数是不可以直接获取的,需要通过特定的方法将当前生成的随机数枚举出来,根据异或操作的特征,如当原始逻辑数据为00000000,随机数为00111011得到的异或结果为00111011,可知当主机端向闪存管理设备的逻辑地址O不断重复的写入全O的原始逻辑数据时,一方面可获取到每一次逻辑操作所对应的随机数,即异或操作的结果即为该逻辑操作所对应的种子生成的随机数,另一方面,通过判断每次异或操作的结果是否相同,若相同,则确定该随机数由逻辑地址产生,若不相同,则确定该随机数由物理地址产生,如此主机端可通过该方式得到每一个逻辑地址或物理地址与其所对应生成的随机数的映射关系。
[0060]此外,上述检测闪存管理的方法还包括:记录逻辑地址或物理地址与其所对应生成的随机数的映射关系。
[0061]具体的,主机端建立随机数据映射表,用于记录每个逻辑地址或物理地址与其所对应生成的随机数的映射关系。
[0062]如图5所示,主机端内建立了原始逻辑数据表和随机数据映射表,主机端向闪存管理设备写入原始逻辑数据,闪存管理设备的主控接收该原始逻辑数据,并生成随机数,将原始逻辑数据与随机数进行异或操作,并将异或操作的结果作为随机化后的逻辑数据写入闪存介质Flash中。该闪存介质中还可包括其他数据。
[0063]在一个实施例中,建立闪存管理设备与主机端之间的数据传输通道为根据闪存管理设备的类型来建立闪存管理设备的主控与主机端之间的第一数据传输通道,和/或闪存管理设备的闪存控制总线过滤器与主机端之间的第二数据传输通道,和/或闪存管理设备的闪存介质与主机端之间的第三数据传输通道。
[0064]具体的,因在逻辑操作过程中第一数据传输通道A、第二数据传输通道B、第三数据传输通道C可以对一些操作命令或操作数据进行抓取,并将抓取的操作命令或操作数据反馈给主机端。
[0065]在一个实施例中,因主控类型和闪存介质类型不同,建立的数据传输通道也不同。具体如下:
[0066](I)当该主控为受控类型以及闪存介质为真实闪存介质时,建立闪存管理设备与主机端之间的数据传输通道包括:该闪存管理设备的主控与该主机端之间的第一数据传输通道,和/或该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道。
[0067]该接收该闪存管理设备经该数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括:接收该闪存管理设备通过第一数据传输通道或第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0068]具体的,当闪存管理设备的主控为受控类型,即自身的主控,该主控可以抓取自身需要对闪存介质Flash进行的操作指令和操作数据,然后直接通过第一数据传输通道A抓取该操作指令或操作数据反馈给主机端。此外,也可当闪存管理设备的闪存控制总线过滤器或者闪存介质是否也能完成抓取和反馈操作命名和操作数据给主机端来选择第二数据传输通道B或第三数据传输通道C。而闪存管理设备的闪存介质为真实闪存介质时,无法通过第三数据传输通道C进行数据抓取和反馈给主机端,只能根据主控或闪存控制总线过滤器是否能完成抓取和反馈操作命令或操作数据来选择第一数据传输通道A或第二数据传输通道B。当该主控为受控类型以及闪存介质为真实闪存介质时,建立闪存管理设备与主机端之间的数据传输通道包括:闪存管理设备的主控与该主机端之间的第一数据传输通道,和/或闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道。
[0069](2)当该主控为非受控类型以及闪存介质为真实闪存介质时,建立闪存管理设备与主机端之间的数据传输通道包括:闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道。
[0070]该接收该闪存管理设备经该数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括:接收该闪存管理设备通过第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0071]具体的,当闪存管理设备的主控为非受控类型,即他人的主控,该主控不能通过第一数据传输通道A抓取该操作指令或操作数据反馈给主机端。此时,可考虑闪存管理设备的闪存控制总线过滤器或者闪存介质是否能完成抓取和反馈操作命名和操作数据给主机端来选择第二数据传输通道B或第三数据传输通道C。而闪存管理设备的闪存介质为真实闪存介质时,无法通过第三数据传输通道C进行数据抓取和反馈给主机端。故此时,建立闪存管理设备与主机端之间的数据传输通道可包括:闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道。
[0072](3)当该闪存管理设备的该主控为受控类型以及该闪存介质为模拟闪存介质类型,该模拟闪存介质包括控制器和真实的闪存介质,且当该控制器为受控类型时,该建立闪存管理设备与主机端之间的数据传输通道包括:该闪存管理设备的主控与该主机端之间的第一数据传输通道,和/或该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道,和/或该模拟闪存介质的控制器与该主机端之间的第三数据传输通道。
[0073]该接收该闪存管理设备经该数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括:接收该闪存管理设备通过第一数据传输通道或第二数据传输通道或第三数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0074]具体的,当闪存管理设备的主控为受控类型,通过第一数据传输通道A或第二数据传输通道B或第三数据传输通道C抓取该操作指令或操作数据反馈给主机端。当模拟闪存介质的控制器为受控类型时,即自身控制时,该控制器可以将闪存管理设备的主控对真实的闪存介质进行的操作指令和操作数据经第三数据传输通道C抓取并反馈给主机端。此夕卜,也可当闪存管理设备的闪存控制总线过滤器或者主控是否也能完成抓取和反馈操作命名和操作数据给主机端来选择第二数据传输通道B或第一数据传输通道A。故此时,建立闪存管理设备与主机端之间的数据传输通道可包括:闪存管理设备的主控与该主机端之间的第一数据传输通道,和/或闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道,和/或模拟闪存介质的控制器与该主机端之间的第三数据传输通道。
[0075](4)当该闪存管理设备的该主控为受控类型以及该闪存介质为模拟闪存介质类型时,该模拟闪存介质包括控制器和真实的闪存介质,且当该控制器为非受控类型时,该建立闪存管理设备与主机端之间的数据传输通道包括:该闪存管理设备的主控与该主机端之间的第一数据传输通道,和/或该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道。[0076]该接收该闪存管理设备经该数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括:接收该闪存管理设备通过第一数据传输通道或第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0077]具体的,当闪存管理设备的主控为受控类型,通过第一数据传输通道A或第二数据传输通道B或第三数据传输通道C抓取该操作指令或操作数据反馈给主机端。当模拟闪存介质的控制器为非受控类型时,该控制器不能将闪存管理设备的主控对真实的闪存介质进行的操作指令和操作数据经第三数据传输通道C抓取并反馈给主机端。此时,只能考虑闪存管理设备的闪存控制总线过滤器或者主控是否也能完成抓取和反馈操作命名和操作数据给主机端来选择第二数据传输通道B或第一数据传输通道A。故此时,建立闪存管理设备与主机端之间的数据传输通道包括:闪存管理设备的主控与主机端之间的第一数据传输通道,和/或闪存管理设备的闪存控制总线过滤器与主机端之间的第二数据传输通道。
[0078](5)当该闪存管理设备的该主控为非受控类型以及该闪存介质为模拟闪存介质类型时,该模拟闪存介质包括控制器和真实的闪存介质,且当该控制器为受控类型时,该建立闪存管理设备与主机端之间的数据传输通道包括:该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道,和/或该模拟闪存介质的控制器与该主机端之间的第三数据传输通道。
[0079]该接收该闪存管理设备经该数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括:接收该闪存管理设备通过第二数据传输通道或第三数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0080]具体的,当闪存管理设备的主控为非受控类型,该主控不能通过第一数据传输通道A抓取该操作指令或操作数据反馈给主机端。此时,可考虑闪存管理设备的闪存控制总线过滤器或者闪存介质是否能完成抓取和反馈操作命名和操作数据给主机端来选择第二数据传输通道B或第三数据传输通道C。当模拟闪存介质的控制器为受控类型时,该控制器可以将闪存管理设备的主控对真实的闪存介质进行的操作指令和操作数据经第三数据传输通道C抓取并反馈给主机端。此外,也可当闪存管理设备的闪存控制总线过滤器或者主控是否也能完成抓取和反馈操作命名和操作数据给主机端来选择第二数据传输通道B或第一数据传输通道A。故此时,建立闪存管理设备与主机端之间的数据传输通道可包括:闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道,和/或模拟闪存介质的控制器与该主机端之间的第三数据传输通道。
[0081](6)当该闪存管理设备的该主控为非受控类型以及该闪存介质为模拟闪存介质类型时,该模拟闪存介质包括控制器和真实的闪存介质,且当该控制器为非受控类型时,该建立闪存管理设备与主机端之间的数据传输通道包括:该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道。
[0082]该接收该闪存管理设备经该数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括:接收该闪存管理设备通过第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0083]具体的,当闪存管理设备的主控为非受控类型,该主控不能通过第一数据传输通道A抓取该操作指令或操作数据反馈给主机端。当模拟闪存介质的控制器为非受控类型时,该控制器不能将闪存管理设备的主控对真实的闪存介质进行的操作指令和操作数据经第三数据传输通道C抓取并反馈给主机端。故此时,建立闪存管理设备与主机端之间的数据传输通道包括:该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道。
[0084](7)当该闪存管理设备的该主控为受控类型以及该闪存介质为模拟闪存介质类型,该模拟闪存介质为IC仿真模拟电路类型时,该建立闪存管理设备与主机端之间的数据传输通道包括:该闪存管理设备的主控与该主机端之间的第一数据传输通道,和/或该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道,和/或该IC仿真模拟电路与该主机端之间的第三数据传输通道。
[0085]该接收该闪存管理设备经该数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括:接收该闪存管理设备通过第一数据传输通道或第二数据传输通道或第三数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0086]该模拟闪存介质为IC仿真模拟电路,即受控类型。该IC仿真模拟电路可以提供真实闪存介质的所有特性,同时还具备专门的反馈电路将主控对闪存介质进行的操作命令和操作数据反馈给主机端。该IC仿真模拟电路可为FPGA(Field Programmable Gate Array,现场可编程门阵列)模拟电路或CPLD (Complex Programmable Logic Device,复杂可编程逻辑器件)模拟电路等。
[0087](8)当该闪存管理设备的该主控为非受控类型以及该闪存介质为模拟闪存介质类型,该模拟闪存介质为IC仿真模拟电路类型时,该建立闪存管理设备与主机端之间的数据传输通道包括:该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道,和/或该IC仿真模拟电路与该主机端之间的第三数据传输通道。
[0088]该接收该闪存管理设备经该数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括:接收该闪存管理设备通过第二数据传输通道或第三数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0089](9)当该闪存管理设备的该主控为受控类型以及在该主机端上设置模拟闪存介质时,该建立闪存管理设备与主机端之间的数据传输通道包括:
[0090]该闪存管理设备的主控与该主机端之间的第一数据传输通道,和/或该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道。
[0091]该接收该闪存管理设备经该数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括:接收该闪存管理设备通过第一数据传输通道或第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0092](10)当该闪存管理设备的该主控为非受控类型以及在该主机端上设置模拟闪存介质时,该建立闪存管理设备与主机端之间的数据传输通道包括:
[0093]该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道。
[0094]该接收该闪存管理设备经该数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括:接收该闪存管理设备通过第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0095]具体的,在主机端上设置模拟闪存介质,主机端与闪存控制总线过滤器之间建立数据传输通道,一方面主机端对闪存管理设备发送的逻辑操作命令通过闪存控制总线过滤器返回到主机端的模拟闪存介质,从而可对该主机端的模拟闪存介质进行操作,另一方面,主机端可以获取到闪存控制总线过滤器上所有的操作指令或操作数据。
[0096]如图6所示,为一个实施例中检测闪存管理的系统的结构框图。该检测闪存管理的系统,包括通道建立模块610、接收模块620和处理模块630。
[0097]通道建立模块610用于建立闪存管理设备与主机端之间的数据传输通道。
[0098]该建立闪存管理设备与主机端之间的数据传输通道包括:主控与主机端之间建立第一数据传输通道A,闪存控制总线过滤器与主机端之间的第二数据传输通道B,该闪存管理设备的闪存介质与该主机端之间的第三数据传输通道C。
[0099]接收模块620用于接收该闪存管理设备经该数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0100]具体的,操作数据如闪存管理设备中闪存介质Flash的数据信息。
[0101]逻辑操作可为闪存管理设备的主控对闪存介质的写入操作、读取操作、擦除操作、搬移操作等。
[0102]处理模块630用于根据该操作命令或操作数据对该闪存管理设备进行诊断分析。
[0103]该诊断分析可包括分析主控对闪存介质Flash是否存在不合理的操作、主控的逻辑管理的问题、以及主控的逻辑算法管理性能等。
[0104]上述检测闪存管理的系统,通过接收数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据根据操作命令或操作数据对闪存管理设备进行诊断分析,根据该诊断分析可估测逻辑操作对闪存介质是否合理、稳定性和效率等,可进行灵活的调试,从而提高了闪存管理设备的使用寿命或性能。
[0105]在一个实施例中,以写入操作为例,接收模块620还用于接收当向闪存管理设备写入原始逻辑数据时,该闪存管理设备经该数据传输通道反馈的异或操作结果。
[0106]该检测闪存管理的系统还可包括创建模块,该创建模块用于建立原始逻辑数据表,该原始逻辑数据表用于记录主机端每次向闪存管理设备写入的原始逻辑数据。该原始逻辑数据表的大小和闪存管理设备容量大小一致。此外,主机端写入闪存管理设备中的每一个逻辑扇区的原始逻辑数据都是唯一的,可识别的,例如每个逻辑扇区的原始逻辑数据可由特殊的标记位加扇区编号构成,然后再写入闪存管理设备。
[0107]如图7所示,处理模块630包括参数确定单元632、操作内容获取单元634和诊断单元636。其中:
[0108]参数确定单元632用于根据该异或操作结果得到该闪存管理设备根据该原始逻辑数据生成的随机数,并从预先建立的随机数与逻辑地址或物理地址的映射关系中确定该随机数对应的逻辑地址或物理地址。
[0109]操作内容获取单元634用于将该异或操作结果与对应的随机数进行异或操作,得出新的异或操作结果再与写入的当前原始逻辑数据进行对比,若一致,则根据该随机数所映射的逻辑地址或物理地址获取到逻辑操作中闪存管理设备的主控对闪存介质的具体操作内容。
[0110]具体的,该具体操作内容包括主控对闪存介质Flash进行擦除块操作、写入的逻辑数据最终写入的物理页、从物理页读取逻辑数据、逻辑页在内部数据整理时的搬移操作、搬移操作的具体位置等。
[0111]诊断单元636用于根据该具体操作内容进行诊断得到该闪存管理设备的主控和闪存介质的诊断数据。
[0112]具体的,该诊断数据包括主控对闪存介质Flash是否存在不合理的操作、主控的逻辑管理的问题、以及主控的逻辑算法管理性能等。
[0113]如图8所示,在一个实施例中,上述检测闪存管理的系统,除了包括通道建立模块610、接收模块620和处理模块630,还包括关系建立模块640。
[0114]关系建立模块640用于预先建立随机数与逻辑地址与物理地址的映射关系。
[0115]如图9所示,该关系建立模块640包括写入单元642、判断单元644和关系建立单元 646。
[0116]写入单元642用于向该闪存管理设备的逻辑地址O重复写入全O的原始逻辑数据。
[0117]判断单元644用于获取每次写入时全O的原始逻辑数据与生成的随机数进行异或操作的结果,根据该异或操作的结果得到该随机数,判断每次写入得到的异或操作的结果是否相同,若相同,则确定该随机数由逻辑地址产生,若不相同,则确定该随机数由物理地址产生。
[0118]关系建立单元646用于建立该随机数与逻辑地址或物理地址的映射关系。
[0119]此外,上述检测闪存管理的系统还包括:记录模块,用于记录逻辑地址或物理地址与其所对应生成的随机数的映射关系。
[0120]具体的,创建模块还用于建立随机数据映射表,该随机数据映射表用于记录每个逻辑地址或物理地址与其所对应生成的随机数的映射关系。
[0121]在一个实施例中,通道建立模块610还用于根据闪存管理设备的类型来建立闪存管理设备的主控与主机端之间的第一数据传输通道,和/或闪存管理设备的闪存控制总线过滤器与主机端之间的第二数据传输通道,和/或闪存管理设备的闪存介质与主机端之间的第三数据传输通道。
[0122]具体的,因在逻辑操作过程中第一数据传输通道A、第二数据传输通道B、第三数据传输通道C可以对一些操作命令或操作数据进行抓取,并将抓取的操作命令或操作数据反馈给主机端。
[0123]在一个实施例中,因主控类型和闪存介质类型不同,建立的数据传输通道也不同。具体如下:
[0124]当该闪存管理设备的该主控为受控类型以及该闪存介质为真实闪存介质时,通道建立模块610还用于建立该闪存管理设备的主控与该主机端之间的第一数据传输通道,和/或该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道。
[0125]该接收模块620还用于接收该闪存管理设备通过第一数据传输通道或第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0126]当该闪存管理设备的该主控为非受控类型以及该闪存介质为真实闪存介质时,通道建立模块610还用于建立该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道。
[0127]该接收模块620还用于接收该闪存管理设备通过第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0128]当该闪存管理设备的该主控为受控类型以及该闪存介质为模拟闪存介质类型,该模拟闪存介质包括控制器和真实的闪存介质,且当该控制器为受控类型时,通道建立模块610还用于建立该闪存管理设备的主控与该主机端之间的第一数据传输通道,和/或该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道,和/或该模拟闪存介质的控制器与该主机端之间的第三数据传输通道。
[0129]该接收模块620还用于接收该闪存管理设备通过第一数据传输通道或第二数据传输通道或第三数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0130]当该闪存管理设备的该主控为受控类型以及该闪存介质为模拟闪存介质类型时,该模拟闪存介质包括控制器和真实的闪存介质,且当该控制器为非受控类型时,通道建立模块610还用于建立该闪存管理设备的主控与该主机端之间的第一数据传输通道,和/或该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道。
[0131]该接收模块620还用于接收该闪存管理设备通过第一数据传输通道或第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0132]当该闪存管理设备的该主控为非受控类型以及该闪存介质为模拟闪存介质类型时,该模拟闪存介质包括控制器和真实的闪存介质,且当该控制器为受控类型时,通道建立模块610还用于建立该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道,和/或该模拟闪存介质的控制器与该主机端之间的第三数据传输通道。
[0133]该接收模块620还用于接收该闪存管理设备通过第二数据传输通道或第三数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0134]当该闪存管理设备的该主控为非受控类型以及该闪存介质为模拟闪存介质类型时,该模拟闪存介质包括控制器和真实的闪存介质,且当该控制器为非受控类型时,通道建立模块610还用于建立该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道。
[0135]该接收模块620还用于接收该闪存管理设备通过第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0136]当该闪存管理设备的该主控为受控类型以及该闪存介质为模拟闪存介质类型,该模拟闪存介质为IC仿真模拟电路类型时,通道建立模块610还用于建立该闪存管理设备的主控与该主机端之间的第一数据传输通道,和/或该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道,和/或该IC仿真模拟电路与该主机端之间的第三数据传输通道。
[0137]该接收模块620还用于接收该闪存管理设备通过第一数据传输通道或第二数据传输通道或第三数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0138]当该闪存管理设备的该主控为非受控类型以及该闪存介质为模拟闪存介质类型,该模拟闪存介质为IC仿真模拟电路类型时,通道建立模块610还用于建立该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道,和/或该IC仿真模拟电路与该主机端之间的第三数据传输通道。
[0139]该接收模块620还用于接收该闪存管理设备通过第二数据传输通道或第三数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0140]当该闪存管理设备的该主控为受控类型以及在该主机端上设置模拟闪存介质时,通道建立模块610还用于建立该闪存管理设备的主控与该主机端之间的第一数据传输通道,和/或该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道。
[0141]该接收模块620还用于接收该闪存管理设备通过第一数据传输通道或第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0142]当该闪存管理设备的该主控为非受控类型以及在该主机端上设置模拟闪存介质时,通道建立模块610还用于建立该闪存管理设备的闪存控制总线过滤器与该主机端之间的第二数据传输通道。
[0143]该接收模块620还用于接收该闪存管理设备通过第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
[0144]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0145]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种检测闪存管理的方法,包括: 建立闪存管理设备与主机端之间的数据传输通道; 接收所述闪存管理设备经所述数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 根据所述操作命令或操作数据对所述闪存管理设备进行诊断分析。
2.根据权利要求1所述的检测闪存管理的方法,其特征在于,所述建立闪存管理设备与主机端之间的数据传输通道为根据闪存管理设备的类型来建立闪存管理设备的主控与所述主机端之间的第一数据传输通道,和/或所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道,和/或所述闪存管理设备的闪存介质与所述主机端之间的第三数据传输通道。
3.根据权利要求2所述的检测闪存管理的方法,其特征在于, 当所述闪存管理设备的所述主控为受控类型以及所述闪存介质为真实闪存介质时,所述建立闪存管理设备与主机端之间的数据传输通道包括:所述闪存管理设备的主控与所述主机端之间的第一数据传输通道,和/或所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道; 所述接收所述闪存管理设备经所述数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括: 接收所述闪存管理设备通过第一数据传输通道或第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主`控为非受控类型以及所述闪存介质为真实闪存介质时,所述建立闪存管理设备与主机端之间的数据传输通道包括:所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道; 所述接收所述闪存管理设备经所述数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括: 接收所述闪存管理设备通过第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为受控类型以及所述闪存介质为模拟闪存介质类型,所述模拟闪存介质包括控制器和真实的闪存介质,且当所述控制器为受控类型时,所述建立闪存管理设备与主机端之间的数据传输通道包括:所述闪存管理设备的主控与所述主机端之间的第一数据传输通道,和/或所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道,和/或所述模拟闪存介质的控制器与所述主机端之间的第三数据传输通道; 所述接收所述闪存管理设备经所述数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括: 接收所述闪存管理设备通过第一数据传输通道或第二数据传输通道或第三数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为受控类型以及所述闪存介质为模拟闪存介质类型时,所述模拟闪存介质包括控制器和真实的闪存介质,且当所述控制器为非受控类型时,所述建立闪存管理设备与主机端之间的数据传输通道包括:所述闪存管理设备的主控与所述主机端之间的第一数据传输通道,和/或所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道; 所述接收所述闪存管理设备经所述数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括: 接收所述闪存管理设备通过第一数据传输通道或第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为非受控类型以及所述闪存介质为模拟闪存介质类型时,所述模拟闪存介质包括控制器和真实的闪存介质,且当所述控制器为受控类型时,所述建立闪存管理设备与主机端之间的数据传输通道包括:所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道,和/或所述模拟闪存介质的控制器与所述主机端之间的第三数据传输通道; 所述接收所述闪存管理设备经所述数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括: 接收所述闪存管理设备通过第二数据传输通道或第三数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为非受控类型以及所述闪存介质为模拟闪存介质类型时,所述模拟闪存介质包括控制器和真实的闪存介质,且当所述控制器为非受控类型时,所述建立闪存管理设备与主机端之间的数据传输通道包括:所述闪存管理设备的闪存控制总线过滤器与所述主机端之间 的第二数据传输通道; 所述接收所述闪存管理设备经所述数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括: 接收所述闪存管理设备通过第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为受控类型以及所述闪存介质为模拟闪存介质类型,所述模拟闪存介质为IC仿真模拟电路类型时,所述建立闪存管理设备与主机端之间的数据传输通道包括:所述闪存管理设备的主控与所述主机端之间的第一数据传输通道,和/或所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道,和/或所述IC仿真模拟电路与所述主机端之间的第三数据传输通道; 所述接收所述闪存管理设备经所述数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括: 接收所述闪存管理设备通过第一数据传输通道或第二数据传输通道或第三数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为非受控类型以及所述闪存介质为模拟闪存介质类型,所述模拟闪存介质为IC仿真模拟电路类型时,所述建立闪存管理设备与主机端之间的数据传输通道包括:所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道,和/或所述IC仿真模拟电路与所述主机端之间的第三数据传输通道; 所述接收所述闪存管理设备经所述数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括: 接收所述闪存管理设备通过第二数据传输通道或第三数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为受控类型以及在所述主机端上设置模拟闪存介质时,所述建立闪存管理设备与主机端之间的数据传输通道包括: 所述闪存管理设备的主控与所述主机端之间的第一数据传输通道,和/或所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道; 所述接收所述闪存管理设备经所述数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括: 接收所述闪存管理设备通过第一数据传输通道或第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为非受控类型以及在所述主机端上设置模拟闪存介质时,所述建立闪存管理设备与主机端之间的数据传输通道包括: 所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道;所述接收所述闪存管理设备经所述数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括: 接收所述闪存管理设备通过第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
4.根据权利要求1至3中任一项所述的检测闪存管理的方法,其特征在于,所述接收所述闪存管理设备经所述数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据的步骤包括: 接收当向闪存管理设备写入原`始逻辑数据时,所述闪存管理设备经所述数据传输通道反馈的异或操作结果; 所述根据所述操作命令或操作数据对所述闪存管理设备进行诊断分析的步骤包括: 根据所述异或操作结果得到所述闪存管理设备根据所述原始逻辑数据生成的随机数,并从预先建立的随机数与逻辑地址或物理地址的映射关系中确定所述随机数对应的逻辑地址或物理地址; 将所述异或操作结果与对应的随机数进行异或操作,得出新的异或操作结果再与写入的当前原始逻辑数据进行对比,若一致,则根据所述随机数所映射的逻辑地址或物理地址获取到逻辑操作中闪存管理设备的主控对闪存介质的具体操作内容; 根据所述具体操作内容进行诊断得到所述闪存管理设备的主控和闪存介质的诊断数据。
5.根据权利要求4所述的检测闪存管理的方法,其特征在于,所述方法还包括: 预先建立随机数与逻辑地址与物理地址的映射关系,具体包括: 向所述闪存管理设备的逻辑地址O重复写入全O的原始逻辑数据; 获取每次写入时全O的原始逻辑数据与生成的随机数进行异或操作的结果,根据所述异或操作的结果得到所述随机数,判断每次写入得到的异或操作的结果是否相同,若相同,则确定所述随机数由逻辑地址产生,若不相同,则确定所述随机数由物理地址产生,然后建立随机数与逻辑地址或物理地址的映射关系。
6.一种检测闪存管理的系统,其特征在于,包括: 通道建立模块,用于建立闪存管理设备与主机端之间的数据传输通道;接收模块,用于接收所述闪存管理设备经所述数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 处理模块,用于根据所述操作命令或操作数据对所述闪存管理设备进行诊断分析。
7.根据权利要求6所述的检测闪存管理的系统,其特征在于,所述通道建立模块还用于根据闪存管理设备的类型来建立闪存管理设备的主控与所述主机端之间的第一数据传输通道,和/或所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道,和/或所述闪存管理设备的闪存介质与所述主机端之间的第三数据传输通道。
8. 根据权利要求6所述的检测闪存管理的系统,其特征在于, 当所述闪存管理设备的所述主控为受控类型以及所述闪存介质为真实闪存介质时,所述通道建立模块还用于建立所述闪存管理设备的主控与所述主机端之间的第一数据传输通道,和/或所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道; 所述接收模块还用于接收所述闪存管理设备通过第一数据传输通道或第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为非受控类型以及所述闪存介质为真实闪存介质时,所述通道建立模块还用于建立所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道; 所述接收模块还用于接收所述闪存管理设备通过第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为受控类型以及所述闪存介质为模拟闪存介质类型,所述模拟闪存介质包括控制器和真实的闪存介质,且当所述控制器为受控类型时,所述通道建立模块还用于建立所述闪存管理设备的主控与所述主机端之间的第一数据传输通道,和/或所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道,和/或所述模拟闪存介质的控制器与所述主机端之间的第三数据传输通道; 所述接收模块还用于接收所述闪存管理设备通过第一数据传输通道或第二数据传输通道或第三数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为受控类型以及所述闪存介质为模拟闪存介质类型时,所述模拟闪存介质包括控制器和真实的闪存介质,且当所述控制器为非受控类型时,所述通道建立模块还用于建立所述闪存管理设备的主控与所述主机端之间的第一数据传输通道,和/或所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道; 所述接收模块还用于接收所述闪存管理设备通过第一数据传输通道或第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为非受控类型以及所述闪存介质为模拟闪存介质类型时,所述模拟闪存介质包括控制器和真实的闪存介质,且当所述控制器为受控类型时,所述通道建立模块还用于建立所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道,和/或所述模拟闪存介质的控制器与所述主机端之间的第三数据传输通道; 所述接收模块还用于接收所述闪存管理设备通过第二数据传输通道或第三数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为非受控类型以及所述闪存介质为模拟闪存介质类型时,所述模拟闪存介质包括控制器和真实的闪存介质,且当所述控制器为非受控类型时,所述通道建立模块还用于建立所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道; 所述接收模块还用于接收所述闪存管理设备通过第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为受控类型以及所述闪存介质为模拟闪存介质类型,所述模拟闪存介质为IC仿真模拟电路类型时,所述通道建立模块还用于建立所述闪存管理设备的主控与所述主机端之间的第一数据传输通道,和/或所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道,和/或所述IC仿真模拟电路与所述主机端之间的第三数据传输通道; 所述接收模块还用于接收所述闪存管理设备通过第一数据传输通道或第二数据传输通道或第三数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为非受控类型以及所述闪存介质为模拟闪存介质类型,所述模拟闪存介质为IC仿真模拟电路类型时,所述通道建立模块还用于建立所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道,和/或所述IC仿真模拟电路与所述主机端之间的第三数据传输通道; 所述接收模块还用于接收所述闪存管理设备通过第二数据传输通道或第三数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为受控类型以及在所述主机端上设置模拟闪存介质时,所述通道建立模块还用于建立所述闪存管理设备的主控与所述主机端之间的第一数据传输通道,和/或所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道; 所述接收模块还用于接收所述闪存管理设备通过第一数据传输通道或第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据; 当所述闪存管理设备的所述主控为非受控类型以及在所述主机端上设置模拟闪存介质时,所述通道建立模块还用于建立所述闪存管理设备的闪存控制总线过滤器与所述主机端之间的第二数据传输通道; 所述接收模块还用于接收所述闪存管理设备通过第二数据传输通道反馈的每次逻辑操作对应的操作命令或操作数据。
9.根据权利要求6至8中任一项所述的检测闪存管理的系统,其特征在于,所述接收模块还用于接收当向闪存管理设备写入原始逻辑数据时,所述闪存管理设备经所述数据传输通道反馈的异或操作结果; 所述处理模块包括: 参数确定单元,用于根据所述异或操作结果得到所述闪存管理设备根据所述原始逻辑数据生成的随机数,并从预先建立的随机数与逻辑地址或物理地址的映射关系中确定所述随机数对应的逻辑地址或物理地址; 操作内容获取单元,用于将所述异或操作结果与对应的随机数进行异或操作,得出新的异或操作结果再与写入的当前原始逻辑数据进行对比,若一致,则根据所述随机数所映射的逻辑地址或物理地址获取到逻辑操作中闪存管理设备的主控对闪存介质的具体操作内容; 诊断单元,用于根据所述具体操作内容进行诊断得到所述闪存管理设备的主控和闪存介质的诊断数据。
10.根据权利要求9所述的检测闪存管理的系统,其特征在于,所述系统还包括: 关系建立模块,用于预先建立随机数与逻辑地址与物理地址的映射关系; 所述关系建立模块包括: 写入单元,用于向所述闪存管理设备的逻辑地址O重复写入全O的原始逻辑数据; 判断单元,用于获取每次写入时全O的原始逻辑数据与生成的随机数进行异或操作的结果,根据所述异或操作的结果得到所述随机数,判断每次写入得到的异或操作的结果是否相同,若相同,则确定所述随机数由逻辑地址产生,若不相同,则确定所述随机数由物理地址产生; 关系建立单元,用于建立所述`随机数与逻辑地址或物理地址的映射关系。
【文档编号】G06F11/22GK103530210SQ201310459448
【公开日】2014年1月22日 申请日期:2013年9月29日 优先权日:2013年9月29日
【发明者】郭丹 申请人:深圳市江波龙电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1