半导体存储介质的寿命获取方法、系统及装置 【技术领域】
本发明涉及电数字数据处理领域,尤其涉及一种半导体存储介质的寿命获取方法、系统及装置。
背景技术
现在半导体存储介质的使用非常广泛,如常见的U盘闪存盘、闪存卡等,而手机、数码相机等产品上也都使用了半导体存储介质,并且半导体存储介质已经进入到电脑和服务器等领域,有接替硬盘的发展趋势。
随着技术和工艺的不断进步和成熟,半导体存储介质的容量也变得越来越大,与此同时,半导体存储介质的存储密度也越来越大,它的使用寿命也变得越来越短。以闪存介质为例,每个块的可擦写次数一般都只有几千次,有的甚至只有几百次、几十次。所以用户在使用时不知道半导体存储介质寿命何时达到极限,这样很可能导致一些重要数据的丢失。用户越来越希望能有一种方法可以让他们获取自己半导体存储设备上的寿命信息。寿命信息一般包括半导体存储介质的最大寿命、半导体存储介质的平均寿命、寿命阈值、半导体存储设备所有逻辑块的寿命和所有物理块的寿命。而与此同时,先前的半导体存储设备主要只关注性能,而不关注寿命,对寿命信息的获取这一块一直都是一片空白。
所以,如何让用户获取半导体存储介质的寿命信息,以便于他们及时处理老化设备上的重要数据,已经变成开发商迫切需要解决的问题。
【发明内容】
本发明的目的之一是提供一种半导体存储介质的寿命读取方法、系统及装置,旨在解决现有技术中无法获取半导体存储设备的寿命信息的问题。
本发明的寿命读取方法采用如下技术方案,包括步骤:
建立半导体存储介质寿命模型,半导体存储介质寿命模型中包括半导体存储介质的寿命信息;
获取半导体存储介质的寿命信息。
本发明还提供了一种半导体存储设备寿命获取系统,用于获取半导体存储设备的寿命信息,所述寿命获取系统包括主机系统和半导体存储设备,半导体存储设备包括主控、内存和半导体存储介质,主控分别连接内存和半导体存储介质,主机系统通过主控获取半导体存储设备寿命信息。
本发明还提供了一种半导体存储介质寿命读取装置,用于获取半导体存储介质的寿命信息,所述寿命装置系统包括主控芯片、内存和半导体存储介质,主控芯片分别连接内存和半导体存储介质,主控芯片获取半导体存储介质寿命信息。
本发明通过将半导体存储介质的寿命信息以表的形式记录,形成寿命表,从而建立包含半导体存储介质各种寿命信息的寿命模型,以便于使用。然后从此寿命模型中获取各种寿命信息。通过这种方法获得的半导体存储介质的寿命信息可以经过计算后显示或者进行其他方式的寿命提示,这样可以在存储设备老化前对重要数据及时进行备份,保护了数据的安全性,避免了数据的丢失。
【附图说明】
图1是本发明第一实施例获取半导体存储介质寿命信息方法的流程图;
图2和图3是本发明第二实施例建立半导体存储介质寿命模型的流程图;
图4是本发明第三实施例的半导体存储设备寿命获取系统结构图;
图5是本发明第四实施例的半导体存储介质寿命读取装置结构示意图。
本发明目的、功能及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
本发明通过将半导体存储介质的寿命信息以表的形式记录起来,形成寿命表,从而建立包含半导体存储介质各种寿命信息的寿命模型,以便于使用。然后从此寿命模型中获取各种寿命信息。
图1示出了本发明的第一实施例,本实施例包括步骤:
S110、建立半导体存储介质寿命模型。该步骤的具体实现过程是:建立起一个半导体存储介质寿命模型,该寿命模型中记录半导体存储介质的寿命信息,当半导体存储介质某个物理块被擦写时,相应的寿命信息会将加1。
S120、读取寿命信息。该步骤的具体实现过程是:找到上述寿命模型中存储寿命信息的地址,然后从该地址获取所需的寿命信息。
基于第一实施例提出第二实施例,如图2和图3所示,在第二实施例中,建立半导体存储介质寿命模型至少包括:步骤S111,建立总表;步骤S112,逻辑块映射表。在总表和逻辑块映射表之间还可包括:步骤S113,建立分区映射表。
分区映射表可包括多层分区映射表,以三级表为例,本实施例的半导体存储介质寿命模型包括三级表,总表是一级表,分区映射表是二级表,逻辑块映射表是三级表。每级表都可以对应一个寿命表,同时各级表中也至少有一级表需要对应一个寿命表。一级表对应总寿命表,二级表对应分区寿命表,三级表对应逻辑块寿命表,总寿命表记录半导体存储介质的最大寿命、当前总寿命、平均寿命和/或寿命阈值,分区寿命表记录该分区内每个逻辑块的寿命,逻辑块寿命表记录该逻辑块对应物理块的寿命。同时每个表本身需要占用几个物理块来记录信息,这些物理块也有地址和/或寿命信息。
所述半导体存储介质由固件对其进行控制和操作。当半导体存储介质某个物理块被擦写时,相应逻辑块映射表会将此物理块的寿命加1,若加1后此物理块是该逻辑块中最大/小的一个,则逻辑块寿命表中该逻辑块的寿命也增加1,同样,该块所在分区地分区寿命也会相应增加1,半导体存储介质当前总寿命也会相应增加1。
获取半导体存储介质所有物理块的寿命时,根据物理块的不同性质会有不同的情况:
1、逻辑块对应的物理块
由于实际读写操作中需要根据半导体存储介质的逻辑块映射表来找到具体的物理地址,继而进行相应的操作。因此,需要通过逻辑块来获取物理块的寿命。
逻辑块映射表保存在半导体存储介质特定的位置,这个位置可以根据它的上级表得到。当需要访问某个逻辑块时,如果该逻辑块对应的逻辑块映射表不在内存中,固件就会从半导体存储介质中将其读出来。因此,只要读取逻辑块中至少一个字节的数据,就能够得到其对应的逻辑块映射表,从而得到该逻辑块包含的所有物理块以及对应的寿命。
此时固件读取半导体存储介质的逻辑块中至少一个字节数据,获得相应物理块及其寿命,这样依次读取所有逻辑块来获得所有逻辑块对应的物理块的寿命。
2、记录各级表的物理块
对于记录逻辑块映射表等映射关系的物理块,以参考前面获取逻辑块对应物理块寿命的方式。读某一逻辑块信息时,相应的逻辑块映射表会读到内存中,同时,记录该映射表的块的信息也会读到内存中,这些信息可以包括:有几个物理块记录该映射表、这些物理块的块号和/或对应的寿命等。通过读内存就可以获取这些物理块对应的寿命信息。另外,也可以采用直接读映射表的方式获取这些物理块的寿命信息。以上面为例,半导体存储介质的映射表信息包括几级表,如一级表、二级表、三级表。这几级表呈树状结构,根据一级表可以找到二级表,相据二级表可以找到三级表,以此类推,并且每一个表都记录着该表由哪些物理块一起来记录,以及每个物理块对应的寿命。半导体存储介质在上电使用的时候会通过固件至少找到一级表,将它读到内存里面,即可通过一级表找到下面所有的二级表,再找到所有的三级表,通过这些表获取所有记录这些映射表信息的物理块的寿命信息。
3、用作缓存块或者交换块的物理块
对于用作缓存块或者交换块使用的物理块,它们的信息记录在如上面所说的某级表中,如一级表,用来记录该半导体存储介质中现在有多少缓存块或者交换块,以及它们的块号和/或对应的寿命。这样,就可以采用如上面所说的方式,通过相应的映射表获取这些块号和/或对应的寿命。
4、其它物理块
另外,有些物理块需要用来记录一些特殊的信息,如半导体存储
介质的一些配置信息。这样的物理块应该是固定的物理块,半导体存储介质在上电使用的时候就会通过固件程序找到这些块,并读出相应的信息。这样的物理块在生产出厂之后应该是不会再对它们进行擦写操作的,所以它们对应的寿命就是0,或者是1,如果寿命有增加,那也会产生相应的记录,这些都可以根据读得的信息直接获取。
在获取半导体存储介质所有逻辑块的寿命时,由于所有逻辑块的寿命都保存在对应的分区寿命表中,只需要通过一级表里记录的二级表存放的物理地址,就能读出对应的分区寿命表。通过读出半导体存储介质中所有的分区寿命表,就能够得到所有逻辑块的寿命。另外,可以读取逻辑块中至少一个字节的数据,对应的逻辑块映射表就会被读到内存中,从而得到该逻辑块的寿命。通过依次读取所有逻辑块中至少一个字节的数据可以获取所有逻辑块的寿命。
半导体存储介质的最大寿命、当前总寿命、平均寿命和/或寿命阈值都记录在一级表中,半导体存储介质在上电使用的时候会通过固件至少找到一级表,将它读到内存里面,这样就可以通过该问内存直接获取半导体存储介质的最大寿命、当前总寿命、平均寿命和/或寿命阈值。
上述半导体存储介质的最大寿命值、平均寿命值、寿命阈值都是固定长度的信息,而所有物理块的寿命值跟物理块的个数有关,每个物理块都有旦仅有一个寿命值与之相对应。
本发明的第三实施例提供了一种半导体存储设备的寿命获取系统,如图4所示,该系统包括主机系统31和半导体存储设备32。其中:
(1)主机系统31通过SCSI、ATA、SATA、PCI、PCI Express、EMMC(embedded MultiMediaCard,嵌入式多媒体存储卡)、LBA(Logical BlockAddressing,逻辑块寻址模式)、TCP/IP等协议向主控321发送命令,要求获取相关信息,主控321接收命令后,从半导体存储介质323中分别读取相关信息,并通过相应的协议返回给主机系统31,完成相应操作。
(2)半导体存储设备32包括主控321、内存322和半导体存储介质323,主控321分别连接内存322和半导体存储介质323,主机系统31通过主控321获取半导体存储介质323寿命信息。其中:
主机系统31向与主控321相连并发送半导体存储介质控制和读写命令;
主控321连接半导体存储介质323并执行半导体存储介质控制命令并返回读写结果;
半导体存储介质323接收并执行控制和读写。
获取半导体存储设备寿命信息时,对于暂存在内存322的信息,主控321分别将其返回给主机系统31。而对于只存放在半导体存储介质323本身的信息,主控321需要发送命令从相应位置读取。例如,半导体存储设备32的最大寿命、平均寿命、寿命阈值都已经存在内存322中,则主控321只需要将这些信息按照与主机系统31达成的协议,一起或者分别返回给主机系统31,或者与所有逻辑块或物理块的寿命值一起返回。如果物理块的寿命未存在内存322中,则需要分别从半导体存储介质323中分别读取这些值,然后再按照与主机系统31达成的协议返回。
获取半导体存储设备32所有物理块的寿命时,由于实际操作中主机系统31发送给主控321的只有逻辑地址,主控321根据接收到的逻辑地址找到具体的物理地址,继而进行相应的操作。因此需要通过逻辑块来获取物理块的寿命。逻辑块映射表保存在半导体存储设备特定的位置,这个位置可以根据它的上级表得到。当需要访问相应逻辑块时,主控321就会从半导体存储介质323中将其读出来。因此,只要读取逻辑块中至少一个字节的数据,就能够得到其对应的逻辑块映射表,从而得到该逻辑块包含的物理块以及对应的寿命。可以只通过主控321读取半导体存储设备32的逻辑块中至少一个字节数据,而不将这些数据返回给主机系统31,从而获得相应物理块及其寿命,这样依次读取所有逻辑块来获得所有逻辑块对应的物理块的寿命。
此时主控321读取半导体存储设备32的逻辑块中至少一个字节数据,而不将这些数据返回给主机系统31,获得相应物理块及其寿命,这样依次读取所有逻辑块来获得所有逻辑块对应的物理块的寿命。
另外,并不是所有的物理块都对应到逻辑块上,有些物理块需要用来记录一些特殊的信息,如逻辑块映射表等;有些块可能是为了加快读写速度,作为缓存块或者交换块使用。
其中,半导体存储设备32的配置信息应该是存在固定的位置,也就是固定的物理块,半导体存储设备32在上电使用的时候就会通过主控芯片内的固件程序找到这些块,并读出相应的信息。这样的块在生产出厂之后应该是不会再对它们进行擦写操作的,所以它们对应的寿命就是0,或者是1,如果寿命有增加,那也会产生相应的记录,这些都可以根据读得的信息直接获取。
对于记录逻辑块映射表等映射关系的物理块,也可以采用直接读映射表的方式获取这些物理块的寿命信息。对于某些半导体存储设备它的映射表信息包括几级表,如一级表、二级表、三级表等,一级表记录设备的信息,二级表记录设备中某一逻辑区域的信息,三级表记录逻辑区域中某一逻辑块的信息。这几级表呈树状结构,根据一级表可以找到二级表,根据二级表可以找到三级表,以此类推,并且每一个表都记录着该表由哪些物理块一起来记录,以及每个物理块对应的寿命。主控内的固件程序至少找到一级表,读取该一级表,即可通过一级表找到下面所有的二级表,再找到所有的三级表,通过这些表获取所有记录这些映射表信息的物理块的寿命信息。
对于用作缓存块或者交换块使用的物理块,它们的信息记录在如上面所说的某级表中,如一级表,用来记录该半导体存储设备中现在有多少缓存块或者交换块,以及它们的块号和/或对应的寿命。这样,就可以采用如上面所说的方式,通过相应的映射表获取这些块号和对应的寿命。
返回给主机系统31时,可以将物理块的寿命信息单个返回,也可以分批返回,还可以全部一起返回。
另外,也可以通过主机系统31发送命令,通过依次读取所有半导体存储设备32中逻辑块来获得所有逻辑块对应的物理块的寿命信息。读取和返回信息时,可以每次只有一个物理块的寿命信息,也可以每次几个,还可以一次将所有的都返回。
获取半导体存储设备32所有逻辑块的寿命,由于所有逻辑块的寿命都保存在对应的分区寿命表中,主控321通过一级表里记录的二级表存放的物理地址,就能读出对应的分区寿命表。通过读出半导体存储设备32中所有的分区寿命表,就能够得到所有逻辑块的寿命。然后再按照与主机系统31达成的协议返回。另外,可以读取逻辑块中至少一个字节的数据,对应的逻辑块映射表就会被读到内存322中,从而得到该逻辑块的寿命。通过依次读取所有逻辑块中至少一个字节的数据可以获取所有逻辑块的寿命。
半导体存储设备32的最大寿命、平均寿命和/或寿命阈值都记录在一级表中,半导体存储设备32在上电使用的时候主控321会通过固件至少找到一级表,将它读到内存322里面,这样就可以通过访问内存322直接获取半导体存储设备32的最大寿命、平均寿命和/或寿命阈值。然后再按照与主机系统31达成的协议返回。
上述获取半导体存储设备寿命信息包括:获取半导体存储设备的最大寿命、半导体存储设备的平均寿命、寿命阈值、半导体存储设备所有物理块的寿命和/或半导体存储设备所有逻辑块的寿命。
上述的第四实施例所述主机系统可以是半导体存储设备(如闪存硬盘)所在的计算机、服务器等,也可以是区别于该半导体存储设备所在设备的另外一个设备,该设备能够访问半导体存储设备,这些访问方式可以包括数据线、网络、红外、无线等等能在两个设备之间传递信息的方式。例如一台计算机通过网络访问另外一台计算机,计算机通过数据线访问U盘闪存盘、手机、数码相机等,此时访问其它设备的计算机就可以看作是主机系统。
本发明的第五实施例提供了一种半导体存储介质的寿命信息获取装置,用于获取半导体存储介质的寿命信息,如图5所示,所述半导体存储介质寿命信息获取装置包括主控芯片51、内存322、半导体存储介质323,主控芯片51获取半导体存储介质323寿命信息;主控芯片51与半导体存储介质323通过内存322进行数据交换。其中:
(1)主控芯片51向与半导体存储介质323相连并发送半导体存储介质控制和读写命令;
(2)半导体存储介质323接收并执行控制和读写。
获取半导体存储介质323寿命信息时,对于暂存在内存322的信息,主控芯片51不需要再进行附加操作。而对于只存放在半导体存储介质323本身的信息,主控芯片51需要发送命令从相应位置读取。比如说,半导体存储介质323的最大寿命、平均寿命、寿命阈值都已经存在内存322中。如果物理块的寿命信息未存在内存322中,则需要分别从半导体存储介质323中分别读取这些值。
获取半导体存储介质323所有物理块的寿命时,由于实际操作中主控芯片51是根据半导体存储设备的逻辑地址找到具体的物理地址,继而进行相应的操作的。因此,需要通过逻辑块来获取物理块的寿命。
要实现从逻辑地址到物理地址的转换,需要有种映射关系,即逻辑块映射表。逻辑块映射表保存在半导体存储介质特定的位置这个位置可以根据它的上级表得到。当需要访问某个逻辑块时,如果该逻辑块对应的逻辑块映射表不在内存322中,主控芯片51就会从半导体存储介质323中将其读出来。因此,只要读取逻辑块中至少一个字节的数据,就能够得到其对应的逻辑块映射表,从而得到该逻辑块包含的物理块以及对应的寿命。
此时主控芯片51读取半导体存储设备的逻辑块中至少一个字节数据,获得相应物理块及其寿命,这样依次读取所有逻辑块来获得所有逻辑块对应的物理块的寿命。
另外,并不是所有的物理块都对应到逻辑块上,有些物理块需要用来记录一些特殊的信息,如半导体存储介质寿命信息获取装置的一些配置信息和逻辑块映射表等;有些块是为了加快读写速度,作为缓存块或者交换块使用。
其中,半导体存储介质寿命信息获取装置的配置信息应该是存在固定的位置,也就是固定的物理块,半导体存储介质寿命信息获取装置在上电使用的时候就会通过主控芯片内的固件程序找到这些块,并读出相应的信息。这样的块在生产出厂之后应该是不会再对它们进行擦写操作的,所以它们对应的寿命就是0,或者是1,如果寿命有增加,那也会产生相应的记录,这些都可以根据读得的信息直接获取。
对于记录逻辑块映射表等映射关系的物理块,可以参考前面获取逻辑块对应物理块寿命的方式。读某一逻辑块信息时,相应的逻辑块映射表会读到内存中,同时,记录该映射表的块的信息也会读到内存中,这些信息可以包括:有几个物理块记录该映射表、这些物理块的块号和对应的寿命等。通过读内存就可以获取这些物理块对应的寿命信息。另外,也可以采用直接读映射表的方式获取这些物理块的寿命信息。对于某些半导体存储介质寿命信息获取装置,它的映射表信息包括几级表,如一级表、二级表、三级表等、一级表记录半导体存储设备的信息,二级表记录设备中某一逻辑区域的信息,三级表记录逻辑区域中某一逻辑块的信息。这几级表呈树状结构,根据一级表可以找到二级表,根据二级表可以找到三级表,以此类推,并且每一个表都记录着该表由哪些物理块一起来记录,以及每个物理块对应的寿命。半导体存储介质寿命信息获取装置在上电使用的时候会通过主控芯片内的固件程序至少找到一级表,将它读到内存里面,即可通过一级表找到下面所有的二级表,再找到所有的三级表,通过这些表获取所有记录这些映射表信息的物理块的寿命信息。
对于用作缓存块或者交换块使用的物理块,它们的信息记录在如上面所说的某级表中,如一级表,用来记录该半导体存储设备中现在有多少缓存块或者交换块,以及它们的块号和对应的寿命。这样,就可以采用如上面所说的方式,通过相应的映射表获取这些块号和对应的寿命。
另外,也可以通过主控芯片51发送命令,通过依次读取所有逻辑块来获得所有逻辑块对应的物理块的寿命。
获取半导体存储介质323所有逻辑块的寿命,由于所有逻辑块的寿命都保存在对应的分区寿命表中,主控51通过一级表里记录的二级表存放的物理地址,就能读出对应的分区寿命表。通过读出半导体存储介质323中所有的分区寿命表,就能够得到所有逻辑块的寿命。另外,可以读取逻辑块中至少一个字节的数据,对应的逻辑块映射表就会被读到内存322中,从而得到该逻辑块的寿命。通过依次读取所有逻辑块中至少一个字节的数据可以获取所有逻辑块的寿命。
半导体存储介质323的最大寿命、平均寿命和/或寿命阈值都记录在一级表中,半导体存储介质寿命信息获取装置在上电使用的时候主控51会通过固件至少找到一级表,将它读到内存322里面,这样就可以通过访问内存322直接获取半导体存储介质323的最大寿命、平均寿命和/或寿命阈值。
本实施例所述半导体存储介质寿命信息获取装置可以是半导体存储介质所在的半导体存储设备,如MP3、手机、数码相机、U盘闪存盘等。
本发明通过获取半导体存储介质的最大寿命、半导体存储介质的平均寿命、寿命阈值、半导体存储介质所有逻辑块的寿命和/或所有物理块的寿命,并对各寿命值进行处理后显示,或根据处理结果进行预警,告知用户该半导体存储介质的老化情况,使用户能够根据半导体存储介质的老化情况对半导体存储介质内的数据做出相应的处理,保证了数据的安全。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。