CN117648055A - 存储装置的坏块管理方法、装置、电子设备和存储介质 - Google Patents
存储装置的坏块管理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117648055A CN117648055A CN202311641778.6A CN202311641778A CN117648055A CN 117648055 A CN117648055 A CN 117648055A CN 202311641778 A CN202311641778 A CN 202311641778A CN 117648055 A CN117648055 A CN 117648055A
- Authority
- CN
- China
- Prior art keywords
- area
- domain
- bad block
- storage device
- alarm information
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 113
- 238000000034 method Methods 0.000 claims abstract description 64
- 238000012544 monitoring process Methods 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 15
- 230000002159 abnormal effect Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 14
- 230000005856 abnormality Effects 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000011084 recovery Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 24
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000000746 purification Methods 0.000 description 5
- 238000007906 compression Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000013144 data compression Methods 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 238000012913 prioritisation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开提供了一种存储装置的坏块管理方法、装置、电子设备和存储介质,涉及存储管理技术领域。具体实现方案为:若监测到存储装置中的第一域中存在新增坏块,则从第一域中确定新增坏块所处的第一区;获取第一区中的坏块占比;判断坏块占比是否大于第一设定阈值,若是,则设置第一区的状态为停用状态;从存储装置中的第二域中确定与第一区对应的第二区;将第二区中的存储数据复制至第一域中待写入的第三区。由此,通过第一域和第二域冗余存储数据,可以提升存储数据的可靠性和安全性;可以实现利用第二域中的存储数据,对第一域中处于停用状态的某个区的存储数据进行自动恢复,提升两个域中存储数据的一致性。
Description
技术领域
本公开涉及存储管理技术领域,尤其涉及存储装置的坏块管理方法、装置、电子设备和存储介质。
背景技术
自动驾驶系统中的存储装置,可以存储自动驾驶传感器(激光雷达、4D成像毫米波雷达、导航设备等)采集的传感器数据,其中,这些传感器数据可以提供给自动驾驶控制器(或称为主控制器)中的自动驾驶程序,以实现实时感知车辆周围环境并进行决策和控制,从而保证车辆行驶的安全性和稳定性。
发明内容
本公开提供了一种用于存储装置的坏块管理方法、装置、电子设备和存储介质。
根据本公开的一方面,提供了一种存储装置的坏块管理方法,其中,所述存储装置的存储空间包括互为备份的第一域和第二域,所述第一域和所述第二域中的各区是响应于最近一次上电划分得到的,每个区中包括多个块,所述方法包括:
在监测到所述第一域中存在新增坏块的情况下,从所述第一域的各个区中,确定所述新增坏块所处的第一区;
获取所述第一区中坏块的第一占比,并判断所述第一占比是否大于第一设定阈值;
若所述第一占比大于所述第一设定阈值,则设置所述第一区的状态为停用状态,并从所述第二域中确定与所述第一区对应的第二区;
将所述第二区中的存储数据,复制至所述第一域中待写入的第三区。
根据本公开的另一方面,提供了一种存储装置的坏块管理装置,其中,所述存储装置的存储空间包括互为备份的第一域和第二域,所述第一域和所述第二域中的各区是响应于最近一次上电划分得到的,每个区中包括多个块,所述坏块管理装置包括:
第一确定单元,用于在监测到所述第一域中存在新增坏块的情况下,从所述第一域的各个区中,确定所述新增坏块所处的第一区;
判断单元,用于获取所述第一区中坏块的第一占比,并判断所述第一占比是否大于第一设定阈值;
第一处理单元,用于若所述第一占比大于所述第一设定阈值,则设置所述第一区的状态为停用状态,并从所述第二域中确定与所述第一区对应的第二区;
复制单元,用于将所述第二区中的存储数据,复制至所述第一域中待写入的第三区。
根据本公开的又一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开上述一方面提出的存储装置的坏块管理方法。
根据本公开的再一方面,提供了一种计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开上述一方面提出的存储装置的坏块管理方法。
根据本公开的还一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开上述一方面提出的存储装置的坏块管理方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为示例性实施例一所提供的存储装置的坏块管理方法的流程示意图;
图2为示例性实施例二所提供的存储装置的坏块管理方法的流程示意图;
图3为示例性实施例三所提供的存储装置的坏块管理方法的流程示意图;
图4为示例性实施例四所提供的存储装置的坏块管理方法的流程示意图;
图5为示例性实施例五所提供的存储装置的坏块管理方法的流程示意图;
图6为示例性实施例六所提供的存储装置的坏块管理方法的流程示意图;
图7为示例性实施例所提供的存储装置的内部存储单元的结构示意图;
图8为示例性实施例七所提供的存储装置的坏块管理方法的流程示意图;
图9为示例性实施例八所提供的存储装置的坏块管理方法的流程示意图;
图10为示例性实施例所提供的记录装置的结构示意图;
图11为示例性实施例所提供的周期性整理存储装置中坏块的原理示意图;
图12为示例性实施例所提供的数据写操作缓冲环的原理示意图;
图13为示例性实施例九所提供的存储装置的坏块管理装置的结构示意图;
图14示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
为了解决相关技术中的自动驾驶系统的车载以太网数据记录方法无法进行数据提纯、无法存储冗余备份、无法完成自身监控+外部报警输入(如自动驾驶程序故障)、无法完成故障上报的技术问题,本公开提出一种存储装置的坏块管理方法、装置、电子设备和存储介质。
下面参考附图描述本公开实施例的存储装置的坏块管理方法、装置、电子设备和存储介质。在具体描述本公开实施例之前,为了便于理解,首先对常用技术词进行介绍:
坏块,是指不能用于存储和检索数据的数据存储设备的存储区域,或无法进行正常读/写操作的块。
图1为示例性实施例一所提供的存储装置的坏块管理方法的流程示意图。
其中,存储装置的存储空间可以包括互为备份的第一域和第二域,比如,第一域可以为乒域(或称为ping域)、第二域可以为乓域(或称为pong域),或者,第二域可以为乒域(或称为ping域),第一域可以为乓域(或称为pong域)。
其中,第一域和第二域中均包括至少一个区,且,第一域中的各区与第二域中的各区一一对应。
其中,第一域和第二域中的各区是响应于最近一次上电划分得到的,并且,每个区中均包括多个块。
在示例性实施例中,以该存储装置的坏块管理方法被配置于存储装置的坏块管理装置中来举例说明,该存储装置的坏块管理装置可以应用于任一电子设备中,以使该电子设备可以执行存储装置的坏块管理功能。
其中,电子设备可以为任一具有计算能力的设备,例如可以为个人电脑、移动终端等,移动终端例如可以为车载设备、手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
如图1所示,该存储装置的坏块管理方法可以包括以下步骤:
步骤S101,在监测到第一域中存在新增坏块的情况下,从第一域的各个区中,确定新增坏块所处的第一区。
在示例性实施例中,可以对存储装置中的第一域和第二域进行监测,以确定第一域和第二域中是否存在新增坏块,若监测到第一域中存在新增坏块,则从第一域的各个区中,确定新增坏块所处的区(本公开中记为第一区)。
步骤S102,获取第一区中坏块的第一占比,并判断第一占比是否大于第一设定阈值。
其中,第一设定阈值为预先设定的占比阈值,比如,第一设定阈值可以为15%、20%等等。
在示例性实施例中,可以获取第一区中块(包括可用块、坏块)的总数量,并获取第一区中坏块的数量,从而可以计算该数量与总数量的比值,得到第一占比,之后,可以判断该第一占比是否大于第一设定阈值。
步骤S103,若第一占比大于第一设定阈值,则设置第一区的状态为停用状态,并从第二域中确定与第一区对应的第二区。
在示例性实施例中,在第一占比大于第一设定阈值的情况下,可以设置第一区的状态为停用状态,并从第二域的各个区中确定与该第一区对应的第二区。
步骤S104,将第二区中的存储数据,复制至第一域中待写入的第三区。
在示例性实施例中,可以将第二区中的存储数据,复制或拷贝至第一域中待写入的第三区。
本公开实施例的存储装置的坏块管理方法,通过在监测到存储装置中的第一域中存在新增坏块的情况下,从第一域的各个区中确定新增坏块所处的第一区;获取第一区中坏块的第一占比,并判断第一占比是否大于第一设定阈值,若是,则设置第一区的状态为停用状态,并从存储装置中的第二域中确定与第一区对应的第二区;将第二区中的存储数据复制至第一域中待写入的第三区。由此,一方面,通过第一域和第二域冗余存储数据,可以提升存储数据的可靠性、完整性和安全性,另一方面,在第一域中的某个区(如第一区)中的坏块数量相对较多的情况下,将备份的第二域中与该第一区对应的第二区中的存储数据,复制或拷贝至该第一域中待写入的第三区,可以实现利用第二域中的存储数据,对第一域中处于停用状态的某个区的存储数据进行自动恢复,提升两个域中存储数据的一致性,又一方面,第一域和第二域是响应于最近一次上电划分得到的,可以保证两个域中可用存储空间基本一致,从而提高存储空间的利用率。
需要说明的是,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均在征得用户同意的前提下进行,并且均符合相关法律法规的规定,且不违背公序良俗。
为了清楚说明上述实施例,本公开还提出一种存储装置的坏块管理方法。
图2为示例性实施例二所提供的存储装置的坏块管理方法的流程示意图。
其中,存储装置的存储空间包括互为备份的第一域和第二域,第一域和第二域中的各区是响应于最近一次上电划分得到的,每个区中包括多个块。具体解释说明可以参见任一实施例中的相关描述,在此不做赘述。
如图2所示,该存储装置的坏块管理方法可以包括以下步骤:
步骤S201,在监测到第一域中存在新增坏块的情况下,从第一域的各个区中,确定新增坏块所处的第一区。
步骤S201的解释说明可以参见任一实施例中的相关描述,在此不做赘述。
在示例性的任意一个实施例之中,新增坏块的检测方式,例如可以为:
1、判断是否首次检测到第一域中存在坏块,若是,则执行步骤2,若否,则执行步骤3。
需要说明的是,步骤2和步骤3为并列的两种实现方式,实际应用时,仅需择一执行。
2、将首次检测到的第一域中的坏块作为新增坏块。
在示例性实施例之中,在首次检测到第一域中存在坏块的情况下,可以将首次检测到的第一域中的坏块,作为新增坏块。
3、获取本次检测到的第一域中坏块的第一位置信息。
在示例性实施例之中,在非首次检测到第一域中存在坏块的情况下,可以获取本次检测到的第一域中各个坏块的第一位置信息。
4、获取前一次检测到的第一域中坏块的第二位置信息。
在示例性实施例之中,还可以获取前一次或最近一次检测到的第一域中各个坏块的第二位置信息。
5、根据第一位置信息和第二位置信息,确定新增坏块。
在示例性实施例之中,可以根据第一位置信息和第二位置信息,确定新增坏块。比如,可以将第一位置信息和第二位置信息进行比对,并根据与第二位置信息不同的第一位置信息,确定新增坏块。
举例而言,假设本次检测到的第一位置信息分别为位置A、位置B和位置C,前一次检测到的第二位置信息分别为位置B和位置C,则可以确定新增坏块为位置A处的坏块。
由此,可以实现根据每次检测到的坏块的位置信息,准确识别新增坏块。
步骤S202,获取第一区中坏块的第一占比。
步骤S202的解释说明可以参见任一实施例中的相关描述,在此不做赘述。
步骤S203,判断第一占比是否大于第一设定阈值,若是,则执行步骤S204至S205,若否,则执行步骤S206至S209。
需要说明的是,步骤S204至S205与步骤S206至S209为并列的两种实现方式,实际应用时,仅需择一执行。
步骤S204,设置第一区的状态为停用状态,并从第二域中确定与第一区对应的第二区。
步骤S205,将第二区中的存储数据,复制至第一域中待写入的第三区。
步骤S204至S205的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
步骤S206,设置新增坏块的状态为停用状态。
在示例性实施例之中,在新增坏块的第一占比小于或等于第一设定阈值的情况下,表明第一区当前仍然处于可用状态,此时,可以直接设置新增坏块的状态为停用状态。
步骤S207,从第一区中的至少一个冗余块中,确定未被占用的目标冗余块,并采用目标冗余块替换新增坏块。
在示例性实施例之中,第一区中除了可以包括可用块、坏块之外,还可以包括冗余块(或称为预留块)。
在示例性实施例之中,还可以从第一区的至少一个冗余块中,确定未被占用的目标冗余块,比如,可以从各个冗余块中,随机选择一个未被占用的目标冗余块,或者,也可以按序从各个冗余块中,选择一个未被占用的目标冗余块。之后,可以采用目标冗余块替换该新增坏块。
步骤S208,从第二域中确定与新增坏块对应的目标可用块。
在示例性实施例之中,可以从第二域的各个区中,确定与该第一区对应的区,并将该区中与该新增坏块对应的可用块,作为目标可用块。
步骤S209,将目标可用块中的存储数据,复制至目标冗余块中。
在示例性实施例之中,可以将目标可用块中的存储数据,复制至目标冗余块中。
本公开实施例的存储装置的坏块管理方法,可以实现在第一域中的某个可用块损坏时,利用第二域中与该坏块对应的可用块的存储数据,对第一域中的损坏数据进行自动恢复,进一步提升数据存储的可靠性和安全性。
为了清楚说明任一实施例中是如何确定第一域中待写入的第三区的,本公开还提出一种存储装置的坏块管理方法。
图3为示例性实施例三所提供的存储装置的坏块管理方法的流程示意图。
其中,存储装置的存储空间包括互为备份的第一域和第二域,第一域和第二域中的各区是响应于最近一次上电划分得到的,每个区中包括多个块。具体解释说明可以参见任一实施例中的相关描述,在此不做赘述。
如图3所示,该存储装置的坏块管理方法可以包括以下步骤:
步骤S301,在监测到第一域中存在新增坏块的情况下,从第一域的各个区中,确定新增坏块所处的第一区。
步骤S302,获取第一区中坏块的第一占比,并判断第一占比是否大于第一设定阈值。
步骤S303,若第一占比大于第一设定阈值,则设置第一区的状态为停用状态,并从第二域中确定与第一区对应的第二区。
步骤S301至S303的解释说明可以参见任一实施例中的相关描述,在此不做赘述。
步骤S304,从第一域的各个区中,确定写就绪的第四区。
其中,写就绪的第四区,是指在当前进程为写进程时,写进程在写的区,或者,在当前进程不是写进程时,下一次要写的区。比如,可以标记第四区为Dcurrent。
需要说明的是,第一域或第二域中各个区的存储数据,可以为循环写入的,写就绪的第四区内存储的原数据可以为第一域中最早存储的数据或最老的数据。
步骤S305,根据第四区和第一域中数据的写方向,从第一域中的各个区中,确定待写入的第三区。
在示例性实施例之中,可以根据第一域中的写就绪的第四区和第一域中数据的写方向,从第一域中的各个区中,确定待写入的第三区。
例如,在当前进程为写进程,第四区为写进程在写的区的情况下,第三区可以为写进程下一个要写的区。即,第三区内存储的原数据可以为第一域中次老(即第二老)的数据。
步骤S306,将第二区中的存储数据复制至第三区。
在示例性实施例之中,可以将第二区中的存储数据,复制至第一域中的第三区。
在示例性的任意一个实施例之中,在将第二区中的存储数据,复制至第一域中待写入的第三区之后,还可以获取第一区的区号,并从第一域的各个区中,确定区号大于该第一区的区号的各个第五区,之后,可以根据第三区的区号,对第一区的区号进行更新,比如,可以将第一区的区号替换为第三区的区号,以及,对各个第五区的区号进行更新,比如,可以将各个第五区的区号进行减一处理。
由此,根据第三区的区号,对第一区的区号进行更新,以及,将第一域中区号大于该第一区的其他区的区号进行减一处理,可以实现重新利用停用的存储空间,提高数据管理效率,减少维护成本以及保持数据的一致性,有助于优化存储装置的性能。
本公开实施例的存储装置的坏块管理方法,可以实现利用第一域中数据的存储时间相对较早的第三区,来恢复处于停用状态的第一区中的存储数据,可以提升数据的存储时长,提高数据的完整性和可靠性。
为了清楚说明上述任一实施例,本公开还提出一种存储装置的坏块管理方法。
图4为示例性实施例四所提供的存储装置的坏块管理方法的流程示意图。
其中,存储装置的存储空间包括互为备份的第一域和第二域,第一域和第二域中的各区是响应于最近一次上电划分得到的,每个区中包括多个块。具体解释说明可以参见任一实施例中的相关描述,在此不做赘述。
如图4所示,该存储装置的坏块管理方法可以包括以下步骤:
步骤S401,在监测到第一域中存在新增坏块的情况下,从第一域的各个区中,确定新增坏块所处的第一区。
步骤S402,获取第一区中坏块的第一占比,并判断第一占比是否大于第一设定阈值。
步骤S403,若第一占比大于第一设定阈值,则设置第一区的状态为停用状态,并从第二域中确定与第一区对应的第二区。
步骤S404,将第二区中的存储数据,复制至第一域中待写入的第三区。
步骤S401至S404的解释说明可以参见任一实施例中的相关描述,在此不做赘述。
步骤S405,从第一域中的各个区中,确定处于停用状态的第六区。
需要说明的是,对步骤S405的执行时序不作限制,图4仅以步骤S405在步骤S404之后执行进行示例。
步骤S406,获取第一域中第六区的第二占比。
在示例性实施例之中,可以获取第一域中处于停用状态的第六区(包括第一区)的数量,并获取第一域包含的区的总数量,从而可以计算该数量与总数量的比值,得到第二占比。
步骤S407,响应于第二占比大于第二设定阈值,生成第一报警信息,其中,第一报警信息,用于指示存储装置故障。
其中,第二设定阈值为预先设定的占比阈值,其中,第二设定阈值大于第一设定阈值,比如,第二设定阈值可以为40%、45%等等。
在示例性实施例之中,可以判断第二占比是否大于第二设定阈值,若第二占比小于或等于第二设定阈值,则可以返回执行步骤S401,若第二占比大于第二设定阈值,则可以生成第一报警信息,其中,第一报警信息,用于指示存储装置故障。
步骤S408,展示第一报警信息,和/或,向服务端发送第一报警信息。
在示例性实施例之中,可以展示第一报警信息(比如,以该存储装置设置于自动驾驶系统进行示例,可以通过自动驾驶系统中的监控模块、显示屏、仪表盘等,展示该第一报警信息),和/或,向服务端发送第一报警信息。
本公开实施例的存储装置的坏块管理方法,可以实现根据存储装置中某个域中停用区的占比,监测存储装置是否发生故障,若是,则展示用于指示该存储装置故障的第一报警信息,和/或,向服务端发送第一报警信息,可以提高存储装置所设置于的系统(如自动驾驶系统)的可靠性和稳定性,实现对该系统的远程监控和管理,提高该系统的安全性以及快速定位问题(或对该存储装置进行及时更换)等。
为了清楚说明上述任一实施例,本公开还提出一种存储装置的坏块管理方法。
图5为示例性实施例五所提供的存储装置的坏块管理方法的流程示意图。
其中,存储装置的存储空间包括互为备份的第一域和第二域,第一域和第二域中的各区是响应于最近一次上电划分得到的,每个区中包括多个块。具体解释说明可以参见任一实施例中的相关描述,在此不做赘述。
如图5所示,该存储装置的坏块管理方法可以包括以下步骤:
步骤S501,在监测到第一域中存在新增坏块的情况下,从第一域的各个区中,确定新增坏块所处的第一区。
步骤S502,获取第一区中坏块的第一占比,并判断第一占比是否大于第一设定阈值。
步骤S503,若第一占比大于第一设定阈值,则设置第一区的状态为停用状态,并从第二域中确定与第一区对应的第二区。
步骤S504,将第二区中的存储数据,复制至第一域中待写入的第三区。
步骤S501至S504的解释说明可以参见任一实施例中的相关描述,在此不做赘述。
步骤S505,设置第二域中的第二区的状态为停用状态。
在示例性实施例之中,为了使得第一域和第二域中的存储数据完全一致,还可以设置第二域中的第二区的状态为停用状态。
步骤S506,将第一域的第三区中的存储数据,复制至第二域中待写入的第七区。
在示例性实施例之中,还可以将第一域的第三区中的存储数据,复制或写入第二域中待写入的第七区。其中,第七区的确定方式与第三区的确定方式类似,在此不做赘述。
步骤S507,获取第二区的区号,并从第二域的各个区中,确定区号大于第二区的区号的第八区。
在示例性实施例之中,还可以获取第二域中的第二区的区号,并从第二域中的各个区中,确定区号大于第二区的区号的第八区。
步骤S508,根据第七区的区号,对第二区的区号进行更新,以及对第八区的区号进行更新。
在示例性实施例之中,还可以根据第七区的区号,对第二区的区号进行更新,比如,可以将第二区的区号替换为第七区的区号。
在示例性实施例之中,还可以对各个第八区的区号进行更新,比如,可以将各个第八区的区号进行减一处理。
本公开实施例的存储装置的坏块管理方法,在对第一域进行更新之后,可以对第二域采用与第一域同样的更新操作,以使第一域和第二域的存储数据完全一致。
为了清楚说明上述任一实施例,本公开还提出一种存储装置的坏块管理方法。
图6为示例性实施例六所提供的存储装置的坏块管理方法的流程示意图。
其中,存储装置设置于自动驾驶系统,该存储装置的存储空间包括互为备份的第一域和第二域,第一域和第二域中的各区是响应于最近一次上电划分得到的,每个区中包括多个块。具体解释说明可以参见任一实施例中的相关描述,在此不做赘述。
如图6所示,该存储装置的坏块管理方法可以包括以下步骤:
步骤S601,响应于自动驾驶系统上电,获取存储装置中的可用块信息和坏块信息;其中,可用块信息包括可用块的数量和位置,坏块信息包括坏块的数量和位置。
在示例性实施例之中,在自动驾驶系统每次上电时,可以重新或动态分配第一域和第二域,以保证第一域和第二域内可用存储空间一致。
即,在自动驾驶系统上电或通电的情况下,可以获取存储装置中的可用块信息和坏块信息,其中,可用块信息可以包括可用块的数量和位置,坏块信息可以包括坏块的数量和位置。
步骤S602,根据可用块信息和坏块信息,对存储装置的存储空间进行划分,得到多个区。
在示例性实施例之中,可以根据可用块信息和坏块信息,对存储装置的存储空间进行划分,得到多个区,其中,每个区中均包括可用块和冗余块。
在示例性的任意一个实施例之中,存储装置的存储空间的划分方式,例如可以为:
1、获取目标数据量,其中,目标数据量用于指示自动驾驶系统中自动驾驶传感器采集单位时间的传感器数据的数据量。
其中,单位时间例如可以为1秒。
2、根据目标数据量,确定每个区的存储量。
其中,每个区的存储量可以大于目标数据量。
作为一种示例,为了降低存储负担,存储装置中可以存储压缩后的传感器数据,此时,目标数据量可以指示对单位时间的传感器数据进行压缩后的数据量。
在示例性实施例之中,每个区的存储量的确定方式,例如可以为:获取设定系数,根据目标数据量和设定系数的乘积,确定每个区的存储量。
其中,设定系数为预先设定,且大于1的系数,比如,设定系数可以为1.1、1.2等等。
比如,每个区的存储量=设定系数*目标数据量。
其中,每个区中可以包括可用块和冗余块,每个区中的可用块用于存储单位时间采集的压缩后的传感器数据,每个区中的冗余块用于替换对应区中的坏块。
由此,每个区中不仅可以包括可用块(用于存储传感器数据),还可以包括冗余块(用于替换坏块),可以提高数据存储的可靠性、增强存储装置的容错性、易于存储装置的维护和管理、延长存储装置的寿命以及提高存储空间的利用率。
3、根据存储量、可用块信息和坏块信息,对存储装置的存储空间进行划分,得到多个区。
在示例性实施例之中,可以综合每个区的存储量、可用块信息和坏块信息,对存储装置的存储空间进行划分,得到多个区。
其中,每个区中包含的块(包括可用块、非可用块(即坏块)、冗余块)的数量一致,比如,每个区中均包含n个块,其中,n为正整数。
由此,每个区可以根据可用块信息和坏块信息进行合理的利用,从而提高了存储空间的利用率、提升数据存储的完整性和可靠性,并提高存储装置的性能和可用性。
步骤S603,对多个区进行划分,得到第一域和第二域;其中,第一域和第二域中包含的可用块的数量一致。
在示例性实施例之中,可以对多个区进行划分,得到第一域和第二域,其中,第一域和第二域中包含的可用块的数量一致。
作为一种时刻,对存储装置的存储单元进行划分,得到的第一域和第二域可以如图7所示,其中,图7为示例性实施例所提供的存储装置的内部存储单元的结构示意图。其中,第一域中的具有阴影的“块2”为坏块。
步骤S604,在监测到第一域中存在新增坏块的情况下,从第一域的各个区中,确定新增坏块所处的第一区。
步骤S605,获取第一区中坏块的第一占比,并判断第一占比是否大于第一设定阈值。
步骤S606,若第一占比大于第一设定阈值,则设置第一区的状态为停用状态,并从第二域中确定与第一区对应的第二区。
步骤S607,将第二区中的存储数据,复制至第一域中待写入的第三区。
步骤S604至S607的解释说明可以参见任一实施例中的相关描述,在此不做赘述。
本公开实施例的存储装置的坏块管理方法,在自动驾驶系统每次上电时,根据存储装置中的可用块信息和坏块信息,重新或动态分配第一域和第二域,可以保证第一域和第二域内可用存储空间一致,以确保数据存储的完整性和一致性,以及避免某些数据无法被正确地备份,而导致数据丢失的情况发生。
在示例性的任意一个实施例之中,在存储装置设置于自动驾驶系统的情况下,该存储装置可以用于存储自动驾驶系统中的自动驾驶传感器采集的传感器数据(或压缩后的传感器数据),其中,传感器数据用于提供至自动驾驶系统中的自动驾驶控制器运行的自动驾驶程序,以使自动驾驶程序根据传感器数据,实时感知车辆周围环境并进行决策和控制,从而保证车辆行驶的安全性和稳定性。
在将传感器数据提供或传输至自动驾驶系统中的自动驾驶控制器的过程中,可以监测自动驾驶控制器接收到的数据帧率和传输时延,并根据该数据帧率和传输时延,确定是否发生数据异常,若是,则生成对应的报警信息。下面结合图8,对上述过程进行详细说明。
图8为示例性实施例七所提供的存储装置的坏块管理方法的流程示意图。
如图8所示,在上述任一实施例的基础上,该存储装置的坏块管理方法还可以包括以下步骤:
步骤S801,监测传输至自动驾驶控制器的传感器数据的数据帧率和传输时延。
在示例性实施例之中,可以自动监测传输至自动驾驶控制器的传感器数据的数据帧率和传输时延。
步骤S802,响应于数据帧率与设定帧率之间的差异大于第一差异阈值,和/或,传输时延大于设定时延,生成第一报警信息。
其中,第一差异阈值为预先设定的差异阈值,设定时延为预先设定的时延阈值。
在示例性实施例之中,可以计算数据帧率与设定帧率之间的差异(如差值、差值的绝对值等等),并判断该差异是否大于第一差异阈值,以及判断传输时延是否大于设定时延。
在示例性实施例之中,在数据帧率与设定帧率之间的差异小于或等于第一差异阈值,并且,传输时延小于或等于设定时延的情况下,可以确定未发生数据异常,此时,可以不做任何处理,而在数据帧率与设定帧率之间的差异大于第一差异阈值,和/或,传输时延大于设定时延的情况下,可以确定发生数据异常,此时,可以生成用于指示传感器数据异常的第一报警信息。
步骤S803,根据第一报警信息的第一生成时刻,从存储装置中提取第一生成时刻所处的第一时段内的传感器数据。
在示例性实施例之中,可以根据第一报警信息的第一生成时刻,从存储装置中提取第一时段内的第一传感器数据,其中,第一传输器数据的存储时刻或采集时刻位于该第一时段内,该第一时段为第一生成时刻所处的时段。
步骤S804,将第一报警信息和第一传感器数据进行压缩后,发送至服务端。
在示例性实施例之中,可以将第一报警信息和第一传感器数据进行压缩后,发送至服务端,以降低网络开销,以及使得服务端及时定位传感器数据异常的原因。
可选地,还可以展示该第一报警信息,比如,可以通过自动驾驶系统中的监控模块、显示屏、仪表盘等,展示该第一报警信息。
在示例性的任意一个实施例之中,在将传感器数据提供或传输至自动驾驶系统中的自动驾驶控制器的过程中,可以监测自动驾驶控制器运行的自动驾驶程序是否异常,若自动驾驶程序异常,则生成用于指示自动驾驶程序异常的第二报警信息,并根据第二报警信息的第二生成时刻,从存储装置中提取第二时段内的第二传感器数据,以及,将第二报警信息和第二传感器数据进行压缩后,发送至服务端。
其中,第二传感器数据的存储时刻或采集时刻位于该第二时段内,该第二时段为第二生成时刻所处的时段。
由此,可以实现在自动驾驶程序异常时,仅上报异常时刻或报警时刻所处时段内的传感器数据,可以实现传感器数据的提纯,便于服务端高效且快速地定位异常原因。
本公开实施例的存储装置的坏块管理方法,可以实现在传感器数据异常时,仅上报异常时刻或报警时刻所处时段内的传感器数据,可以实现传感器数据的提纯,使得服务端及时定位传感器数据异常的原因。并且,将传感器数据进行压缩后,上报至服务端,可以降低网络开销。
在示例性的任意一个实施例之中,在存储装置设置于自动驾驶系统的情况下,该存储装置中的存储数据,可以是记录装置中的控制器通过记录装置中的交换机从自动驾驶传感器获取传感器数据,并将传感器数据压缩后存储至存储装置的。
在控制器通过记录装置中的交换机获取传感器数据的过程中,还可以监测交换机的输入流量和输出流量,并根据该交换机的输入流量和输出流量,确定是否发生数据异常,若是,则生成对应的报警信息。下面结合图9,对上述过程进行详细说明。
图9为示例性实施例八所提供的存储装置的坏块管理方法的流程示意图。
如图9所示,在上述任一实施例的基础上,该存储装置的坏块管理方法还可以包括以下步骤:
步骤S901,监测交换机的输入流量和输出流量。
在示例性实施例之中,可以检测记录装置中的交换机的输入流量和输出流量,比如,可以查询交换机寄存器获取该输入流量和输出流量。
步骤S902,响应于输入流量与第一流量阈值之间的差异大于第二差异阈值,和/或,输出流量与第二流量阈值之间的差异大于第三差异阈值,生成第三报警信息。
其中,第一流量阈值与第二流量阈值均为预先设定的流量阈值,其中,对第一流量阈值与第二流量阈值之间的大小关系不作限制,比如,第一流量阈值可以等于第二流量阈值,或者,第一流量阈值可以大于第二流量阈值,或者,第一流量阈值可以小于第二流量阈值。
其中,第二差异阈值和第三差异阈值均为预先设定的差异阈值,其中,对第一差异阈值、第二差异阈值和第三差异阈值之间的大小关系不作限制。
在示例性实施例之中,可以判断交换机的输入流量与第一流量阈值之间的差异是否大于第二差异阈值,以及,判断交换机的输出流量与第二流量阈值之间的差异是否大于第三差异阈值,在输入流量与第一流量阈值之间的差异小于或等于第二差异阈值,且,输出流量与第二流量阈值之间的差异小于或等于第三差异阈值的情况下,可以确定未发生数据异常,此时,可以不做任何处理,而在输入流量与第一流量阈值之间的差异大于第二差异阈值,和/或,输出流量与第二流量阈值之间的差异大于第三差异阈值的情况下,可以确定发生数据异常,此时,可以生成用于指示交换机流量异常的第三报警信息。
步骤S903,展示第三报警信息,和/或,将第三报警信息进行压缩后发送至服务端。
在示例性实施例之中,可以展示该第三报警信息(如,可以通过自动驾驶系统中的监控模块、显示屏、仪表盘等,展示该第三报警信息),和/或,将第三报警信息进行压缩后发送至服务端。
在示例性的任意一个实施例之中,还可以监测记录装置是否发生物理层故障,比如,物理层故障可以通过查询记录装置中的PHY(Physical,物理层)芯片、交换机内置的PHY芯片寄存器获取。在记录装置发生物理层故障的情况下,可以生成用于指示物理层故障的第四报警信息,并展示第四报警信息,和/或,将第四报警信息进行压缩后发送至服务端。
由此,在记录装置发生物理层故障的情况下,展示用于指示物理层故障的第四报警信息,和/或,向服务端发送第四报警信息,可以实现及时地完成故障上报,以高效且快速地定位故障原因,并对车辆进行故障修复。
本公开实施例的存储装置的坏块管理方法,可以实现在交换机的输入流量和/或输出流量异常的情况下,展示用于指示该交换机流量异常的第三报警信息,和/或,向服务端发送第三报警信息,可以提高自动驾驶系统中传感器数据传输的可靠性和稳定性。
在本公开的任意一个实施例之中,以存储装置设置于自动驾驶系统的记录装置中进行示例,该记录装置(或称为车载以太网数据记录装置)的结构可以如图10所示,主要包括以下模块:
1、第一连接器100,为车载连接器,可以满足多路百兆车载以太网需求,且包含供电的引脚。
2、物理层连接指示模块101,具体为LED(Light Emitting Diode,发光二极管)或显示屏幕,可以通过亮、灭/显示等方式指示物理层的连接状态。
3、交换机(或称为车载以太网交换机)102,该交换机102包括端口1至端口n,均为百兆接口,且,该交换机102内置百兆车载以太网PHY芯片。基于自动驾驶传感器的特点,可以限定n的取值范围为[2,8]。
其中,交换机102还可以包括端口n+1、n+2和n+3,均为千兆接口,接口形式包括但不限于SGMII(Serial Gigabit Media Independent Interface,即串行千兆位媒质独立接口(如千兆位以太网))、RGMII(Reduced Gigabit Media Independent Interface,即缩减型千兆介质独立接口)、GMII(Gigabit Media Independent Interface,与媒质无关千兆接口)。并且,对交换机102的端口顺序并不限定。
4、千兆工业以太网PHY103,其为适用工业以太网接口的自动驾驶控制器预留,比如,千兆工业以太网PHY103可以通过第二连接器104与本地监控模块(图10中未示出)连接,其中,本地监控模块用于对记录装置进行监控。
5、第二连接器104,可以为M12接口,应用在车载领域可以取代RJ45,提高连结稳定性。
6、记录装置10中的控制器105,可以是FPGA(Field Programmable Gate Array,现场可编程门阵列)、ARM(ARM公司研发的芯片)、DSP(Digital Signal Process,数字信号处理器)、MCU(Microcontroller Unit,微控制单元)等控制器,不限定类型;其中,控制器105与自动驾驶系统中的配置/监控模块40的接口形式可以为USB,也可以为以太网等接口,对此并不做限制。
7、电源模块120,用于供电。
8、存储装置121,用于存储控制器105发送的压缩后的传感器数据。
其中,记录装置10可以与自动驾驶传感器20连接,其中,自动驾驶传感器20可以为车载以太网接口的自动驾驶传感器,例如激光雷达、4D成像毫米波雷达、导航设备等。
其中,记录装置10可以通过第四连接器109与自动驾驶控制器30连接,其中,自动驾驶控制器为运行自动驾驶程序(包括但不限于感知、规划、预测、控制等)的以实现自动驾驶功能的主控制器。
其中,记录装置10可以通过第三连接器107与配置/监控模块40连接,其中,配置/监控模块40包含显示屏幕或UI(User Interface,用户界面),可以对控制器105进行设置(例如交换机102的一些设置,端口聚合、VLAN(Virtual Local Area Network,虚拟局域网)等),实时提示故障信息或报警信息;此外,配置/监控模块40还可以包含无线通信模块(例如4G或5G模块),通过无线通信模块将故障信息或报警信息实时上报给自动驾驶云平台50(即服务端)。
其中,自动驾驶云平台50,可以实现数据接收、分类展示,云访问,云分析等。
作为一种示例,图10中的存储装置121,可以通过以下部分,来实现数据记录和管理:
第一部分,在通电阶段,重新分配第一域和第二域,以保证两个域内可用的存储空间基本一致,主要包括以下步骤:
步骤1,自动驾驶系统上电,按照存储装置121中的可用块信息,为存储装置121内部的存储单元分配读写区和域,其中,块是存储装置的最小擦除单元,为存储器的固有属性。
步骤2,控制器105检查存储装置121内部的存储单元中的坏块数量和位置,其中,非坏块为可用块。
步骤3,整个存储装置121的存储单元平均划分为两个域,两个域内可用块数量相等(如有单数,剩余的单个可用块不用)。
步骤4,每个域内划分区,划分原则为:按照自动驾驶传感器输入1秒的数据量(压缩后的数据量)*设定系数(例如120%),为一个区的存储量,其中,多出的20%为冗余块。
第二部分,周期性整理存储装置10中的坏块,主要包括如图11所示的各个步骤:
步骤1,控制器105周期性地(例如1分钟)检测存储装置10的内部存储单元中的坏块数量和坏块位置;
步骤2,判断两个域中的其中一个域内(本公开中记为第一域)是否存在新增坏块,若是,则执行步骤3,若否,则返回执行步骤1。
步骤3,若存在新增坏块,则判断该新增坏块所在区(本公开中记为第一区)内的坏块占比是否超过阈值N%(例如,N=20%),若是,则执行步骤4,若否,则执行步骤6。
步骤4,若坏块占比超过阈值N%,则停用该新增坏块所在的第一区,并将另一个域内与该第一区所对应的区(本公开中记为第二区)的备份数据拷贝覆盖至第一区中待写入的第三区(比如,第一域中的数据是循环写入的,各个区的写入方向可以如图12所示的缓冲环(即循环缓冲区)所示,第一域中当前写就绪的区为如图12所示的Dcurrent,其中,标记第一域内存储最老数据的区为Dnew(m),则有:Dcurrent=Dnew(m),则第三区为Dnew(m)的下一个写入的区,可以第三区标记为Dnew(m-1))。
图12中,当前写就绪的区是指:当前是写进程时,当前在写的区,当前不是写进程时,下次要写的区。
需要说明的是,第一域和第二域内的缓冲环是完全一致的,第一域和第二域的设置是为了冗余备份,在新发生坏块后,在另一个域中恢复数据,并更新缓冲环标号。
进一步地,还可以将该新增坏块所在的第一区的区号赋予Dnew(m-1)的区号,并将第一域内其他区的区号重新排列,例如,对于区号小于该新增坏块所在的第一区的区号的各个区,其区号可以保持不变,对于区号大于该新增坏块所在的第一区的区号的各个区,其区号可以减一,原则是维持原有数据的新老顺序。
步骤5,第二域内的数据做同样操作,使得2个域的数据完全一致,之后,执行步骤7。
步骤6,若坏块占比未过阈值N%,则该新增坏块停用,使用第一部分中通电阶段分配的冗余块递补,且将该新增坏块在第二域中的备份数据拷贝至该冗余块,之后,执行步骤5。
步骤7,判断单个域内正常区(即非停用的区)的占比是否小于60%,即,判断单个域内处于停用状态的区的占比是否大于40%,若是,则执行步骤8,若否,则返回执行步骤1。
步骤8,若单个域内处于停用状态的区的占比大于40%,则控制器105上报存储装置10故障。
第三部分,数据的总体记录过程,主要包括以下步骤:
步骤1,自动驾驶传感器20将采集的传感器数据发送至记录装置10中的车载以太网交换机102。
步骤2,车载以太网交换机102将传感器数据做端口聚合,数据分别输出至控制器105和自动驾驶控制器30。
步骤3,控制器105在接收到传感器数据后,做数据压缩(执行效率优先压缩算法),并将系统时间戳(即传感器数据的接收时间)和压缩后的传感器数据一起存储至存储装置121。
步骤4,在数据的存储过程中,1秒的传感器数据存储到一个区中,第一域和第二域做相同的存储、并且互为备份,存储损坏策略参考如图11所示的周期性坏块整理环节。
其中,在数据存储时,是将存储装置121中的存储单元作为图12所示的数据写操作缓冲环,是循环写入和覆盖擦除,新数据覆盖最旧数据。
其中,存储装置121有便捷式插拔设计,可以拔掉后放到专用仪器上提取数据,并上传至自动驾驶云平台50使用。
另外,优选地,控制器105在接收到报警信息后,可以使用存储优先算法压缩问题时间段内的传感器数据,并按照故障上报方法,将问题时间段内的传感器数据上报至自动驾驶云平台50。
其中,数据压缩包括:传感器数据压缩效率优先算法和存储优先算法:其本质为现有技术LZ77压缩算法的调参应用,通过LZ77算法不同的调参实现不同的效果。
可以实现效率优先或存储优先;其中,效率优先指的是压缩算法时间占用小,可以满足全量数据压缩存储需求;存储优先压缩比率最高耗时长,适用于数据提取环节。
其中,报警信息,可以包括以下几种:
1、车载以太网交换机102检测到的数据异常(例如输入流量和/或输出流量异常等-方法:控制器105通过查询交换机寄存器获取);
2、自动驾驶控制器30检测到的数据异常,例如数据帧率异常、时延异常等-方法:自动驾驶控制器30发送给控制器105;
3、物理层故障,例如物理层断连等故障-方法:控制器105查询PHY芯片、交换机102内置PYH芯片寄存器获取。
第四部分,故障上报,主要包括:控制器105将获取到的故障信息或报警信息发送至配置/监控模块40,配置/监控模块40通过UI将故障信息或报警信息做本地显示,和/或,通过无线通信模块将故障信息或报警信息上报至自动驾驶云平台50。
其中,配置/监控模块40,包含显示屏幕或UI,可以实时提示故障信息或报警信息;包含无线通信模块,可以是4G模块或5G模块,可以将故障信息或报警信息实时上报至自动驾驶云平台50。
综上,车载以太网在自动驾驶控制器中是一种常用的接口,激光雷达、4D成像毫米波雷达、导航设备这些自动驾驶传感器几乎全部采用以太网接口,车载摄像头也有部分是以太网接口的产品,现有产品针对自动驾驶的车载以太网数据记录方法及装置,至少存在以下缺点:
1、无法进行数据提纯,例如,无法只上传报警时刻数据;
2、无法存储冗余备份,没有提供完备的坏块管理、存储健康报警的机制;
3、无法完成自身以太网数据各个链路监控+外部报警输入,无法完成故障上报。
而本公开提供了一种高效安全的车载以太网数据记录方法,冗余存储全量数据的同时,可以实时监控目前自动驾驶系统的状态,若监控到故障或收到外部故障输入,则可以快速将问题时刻附近的传感器数据进行压缩上报,做到了数据提纯,可以高效且快速地完成问题分析。
与上述图1至图9实施例提供的存储装置的坏块管理方法相对应,本公开还提供一种存储装置的坏块管理装置,由于本公开实施例提供的存储装置的坏块管理装置与上述图1至图9实施例提供的存储装置的坏块管理方法相对应,因此在存储装置的坏块管理方法的实施方式也适用于本公开实施例提供的存储装置的坏块管理装置,在本公开实施例中不再详细描述。
图13为示例性实施例九所提供的存储装置的坏块管理装置的结构示意图。
如图13所示,存储装置的存储空间包括互为备份的第一域和第二域,第一域和第二域中的各区是响应于最近一次上电划分得到的,每个区中包括多个块,该存储装置的坏块管理装置1300可以包括:第一确定单元1310、判断单元1320、第一处理单元1330以及复制单元1340。
其中,第一确定单元1310,用于在监测到第一域中存在新增坏块的情况下,从第一域的各个区中,确定新增坏块所处的第一区。
判断单元1320,用于获取第一区中坏块的第一占比,并判断第一占比是否大于第一设定阈值。
第一处理单元1330,用于若第一占比大于第一设定阈值,则设置第一区的状态为停用状态,并从第二域中确定与第一区对应的第二区。
复制单元1340,用于将第二区中的存储数据,复制至第一域中待写入的第三区。
在示例性实施例的一种可能的实现方式中,复制单元1340,用于:从第一域的各个区中,确定写就绪的第四区;根据第四区和第一域中数据的写方向,从第一域中的各个区中,确定待写入的第三区;将第二区中的存储数据复制至第三区。
在示例性实施例的一种可能的实现方式中,新增坏块,采用以下单元检测得到:
第二处理单元,用于响应于首次检测到第一域中存在坏块,将首次检测到的第一域中的坏块作为新增坏块;响应于非首次检测到第一域中存在坏块,获取本次检测到的第一域中坏块的第一位置信息;获取前一次检测到的第一域中坏块的第二位置信息;根据第一位置信息和第二位置信息,确定新增坏块。
在示例性实施例的一种可能的实现方式中,该存储装置的坏块管理装置1300还可以包括:
第二确定单元,用于获取第一区的区号,并从第一域的各个区中,确定区号大于第一区的区号的第五区;
第一更新单元,用于根据第三区的区号,对第一区的区号进行更新,以及,对第五区的区号进行更新。
在示例性实施例的一种可能的实现方式中,该存储装置的坏块管理装置1300还可以包括:
第一设置单元,用于若第一占比小于或等于第一设定阈值,则设置新增坏块的状态为停用状态;
第三确定单元,用于从第一区中的至少一个冗余块中,确定未被占用的目标冗余块,并采用目标冗余块替换新增坏块;
第四确定单元,用于从第二域中确定与新增坏块对应的目标可用块;
复制单元1340,还用于将目标可用块中的存储数据,复制至目标冗余块中。
在示例性实施例的一种可能的实现方式中,该存储装置的坏块管理装置1300还可以包括:
第五确定单元,用于从第一域中的各个区中,确定处于停用状态的第六区;
第一获取单元,用于获取第一域中第六区的第二占比;
第一生成单元,用于响应于第二占比大于第二设定阈值,生成第一报警信息;其中,第一报警信息,用于指示存储装置故障;
第三处理单元,用于展示第一报警信息,和/或,向服务端发送第一报警信息。
在示例性实施例的一种可能的实现方式中,该存储装置的坏块管理装置1300还可以包括:
第二设置单元,用于设置第二域中的第二区的状态为停用状态;
复制单元1340,还用于将第一域的第三区中的存储数据,复制至第二域中待写入的第七区;
第四处理单元,用于获取第二区的区号,并从第二域的各个区中,确定区号大于第二区的区号的第八区;
第二更新单元,用于根据第七区的区号,对第二区的区号进行更新,以及对第八区的区号进行更新。
在示例性实施例的一种可能的实现方式中,存储装置设置于自动驾驶系统,第一域和第二域通过以下单元划分得到:
第二获取单元,用于响应于自动驾驶系统上电,获取存储装置中的可用块信息和坏块信息;其中,可用块信息包括可用块的数量和位置,坏块信息包括坏块的数量和位置;
第一划分单元,用于根据可用块信息和坏块信息,对存储装置的存储空间进行划分,得到多个区;
第二划分单元,用于对多个区进行划分,得到第一域和第二域;其中,第一域和第二域中包含的可用块的数量一致。
在示例性实施例的一种可能的实现方式中,第一划分单元,用于:获取目标数据量,其中,目标数据量用于指示自动驾驶系统中自动驾驶传感器采集单位时间的传感器数据的数据量;根据目标数据量,确定每个区的存储量;根据存储量、可用块信息和坏块信息,对存储装置的存储空间进行划分,得到多个区。
在示例性实施例的一种可能的实现方式中,存储装置用于存储压缩后的传感器数据,目标数据量用于指示对单位时间的传感器数据进行压缩后的数据量;第一划分单元,用于:获取设定系数,其中,设定系数大于1;根据目标数据量和设定系数的乘积,确定每个区的存储量;其中,每个区中包括可用块和冗余块,可用块用于存储单位时间采集的压缩后的传感器数据,冗余块用于替换对应区中的坏块。
在示例性实施例的一种可能的实现方式中,存储装置设置于自动驾驶系统,存储装置用于存储自动驾驶系统中自动驾驶传感器采集的传感器数据,传感器数据用于提供至自动驾驶系统中的自动驾驶控制器运行的自动驾驶程序,该存储装置的坏块管理装置1300还可以包括:
第一监测单元,用于监测传输至自动驾驶控制器的传感器数据的数据帧率和传输时延;
第二生成单元,用于响应于数据帧率与设定帧率之间的差异大于第一差异阈值,和/或,传输时延大于设定时延,生成第一报警信息;
第一提取单元,用于根据第一报警信息的第一生成时刻,从存储装置中提取第一生成时刻所处的第一时段内的第一传感器数据;
第一发送单元,用于将第一报警信息和第一传感器数据进行压缩后,发送至服务端。
在示例性实施例的一种可能的实现方式中,该存储装置的坏块管理装置1300还可以包括:
第二监测单元,用于监测自动驾驶控制器运行的自动驾驶程序是否异常;
第三生成单元,用于响应于自动驾驶程序异常,生成第二报警信息;
第二提取单元,用于根据第二报警信息的第二生成时刻,从存储装置中提取第二生成时刻所处的第二时段内的第二传感器数据;
第二发送单元,用于将第二报警信息和第二传感器数据进行压缩后,发送至服务端。
在示例性实施例的一种可能的实现方式中,存储装置设置于自动驾驶系统的记录装置中,存储装置中的存储数据,是记录装置中的控制器通过记录装置中的交换机从自动驾驶传感器获取传感器数据,并将传感器数据压缩后存储至存储装置的;
该存储装置的坏块管理装置1300还可以包括:
第三监测单元,用于监测交换机的输入流量和输出流量;
第四生成单元,用于响应于输入流量与第一流量阈值之间的差异大于第二差异阈值,和/或,输出流量与第二流量阈值之间的差异大于第三差异阈值,生成第三报警信息;
第五处理单元,用于展示第三报警信息,和/或,将第三报警信息进行压缩后发送至服务端。
在示例性实施例的一种可能的实现方式中,该存储装置的坏块管理装置1300还可以包括:
第四监测单元,用于监测记录装置是否发生物理层故障;
第五生成单元,用于响应于记录装置发生物理层故障,生成第四报警信息;
第六处理单元,用于展示第四报警信息,和/或,将第四报警信息进行压缩后发送至服务端。
本公开实施例的存储装置的坏块管理装置,通过在监测到存储装置中的第一域中存在新增坏块的情况下,从第一域的各个区中确定新增坏块所处的第一区;获取第一区中坏块的第一占比,并判断第一占比是否大于第一设定阈值,若是,则设置第一区的状态为停用状态,并从存储装置中的第二域中确定与第一区对应的第二区;将第二区中的存储数据复制至第一域中待写入的第三区。由此,一方面,通过第一域和第二域冗余存储数据,可以提升存储数据的可靠性、完整性和安全性,另一方面,在第一域中的某个区(如第一区)中的坏块数量相对较多的情况下,将备份的第二域中与该第一区对应的第二区中的存储数据,复制或拷贝至该第一域中待写入的第三区,可以实现利用第二域中的存储数据,对第一域中处于停用状态的某个区的存储数据进行自动恢复,提升两个域中存储数据的一致性,又一方面,第一域和第二域是响应于最近一次上电划分得到的,可以保证两个域中可用存储空间基本一致,从而提高存储空间的利用率。
为了实现上述实施例,本公开还提供一种电子设备,该电子设备可以包括至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开上述任一实施例提出的存储装置的坏块管理方法。
为了实现上述实施例,本公开还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开上述任一实施例提出的存储装置的坏块管理方法。
为了实现上述实施例,本公开还提供一种计算机程序产品,该计算机程序产品包括计算机程序,计算机程序在被处理器执行时实现本公开上述任一实施例提出的存储装置的坏块管理方法。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图14示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。其中,电子设备可以包括上述实施例中的服务端、客户端。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图14所示,设备1400包括计算单元1401,其可以根据存储在ROM(Read-OnlyMemory,只读存储器)1402中的计算机程序或者从存储单元1407加载到RAM(Random AccessMemory,随机访问/存取存储器)1403中的计算机程序,来执行各种适当的动作和处理。在RAM 1403中,还可存储设备1400操作所需的各种程序和数据。计算单元1401、ROM 1402以及RAM 1403通过总线1404彼此相连。I/O(Input/Output,输入/输出)接口1405也连接至总线1404。
设备1400中的多个部件连接至I/O接口1405,包括:输入单元1406,例如键盘、鼠标等;输出单元1407,例如各种类型的显示器、扬声器等;存储单元1408,例如磁盘、光盘等;以及通信单元1409,例如网卡、调制解调器、无线通信收发机等。通信单元1409允许设备1400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1401的一些示例包括但不限于CPU(Central Processing Unit,中央处理单元)、GPU(Graphic Processing Units,图形处理单元)、各种专用的AI(Artificial Intelligence,人工智能)计算芯片、各种运行机器学习模型算法的计算单元、DSP(Digital SignalProcessor,数字信号处理器)、以及任何适当的处理器、控制器、微控制器等。计算单元1401执行上文所描述的各个方法和处理,例如上述存储装置的坏块管理方法。例如,在一些实施例中,上述存储装置的坏块管理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1408。在一些实施例中,计算机程序的部分或者全部可以经由ROM1402和/或通信单元1409而被载入和/或安装到设备1400上。当计算机程序加载到RAM 1403并由计算单元1401执行时,可以执行上文描述的存储装置的坏块管理方法的一个或多个步骤。备选地,在其他实施例中,计算单元1401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述存储装置的坏块管理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、FPGA(Field Programmable Gate Array,现场可编程门阵列)、ASIC(Application-Specific Integrated Circuit,专用集成电路)、ASSP(Application Specific StandardProduct,专用标准产品)、SOC(System On Chip,芯片上系统的系统)、CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑设备)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、RAM、ROM、EPROM(Electrically Programmable Read-Only-Memory,可擦除可编程只读存储器)或快闪存储器、光纤、CD-ROM(Compact Disc Read-Only Memory,便捷式紧凑盘只读存储器)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode-Ray Tube,阴极射线管)或者LCD(Liquid Crystal Display,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:LAN(LocalArea Network,局域网)、WAN(Wide Area Network,广域网)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(VirtualPrivate Server,虚拟专用服务器)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
根据本公开实施例的技术方案,通过在监测到存储装置中的第一域中存在新增坏块的情况下,从第一域的各个区中确定新增坏块所处的第一区;获取第一区中坏块的第一占比,并判断第一占比是否大于第一设定阈值,若是,则设置第一区的状态为停用状态,并从存储装置中的第二域中确定与第一区对应的第二区;将第二区中的存储数据复制至第一域中待写入的第三区。由此,一方面,通过第一域和第二域冗余存储数据,可以提升存储数据的可靠性、完整性和安全性,另一方面,在第一域中的某个区(如第一区)中的坏块数量相对较多的情况下,将备份的第二域中与该第一区对应的第二区中的存储数据,复制或拷贝至该第一域中待写入的第三区,可以实现利用第二域中的存储数据,对第一域中处于停用状态的某个区的存储数据进行自动恢复,提升两个域中存储数据的一致性,又一方面,第一域和第二域是响应于最近一次上电划分得到的,可以保证两个域中可用存储空间基本一致,从而提高存储空间的利用率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (31)
1.一种存储装置的坏块管理方法,其中,所述存储装置的存储空间包括互为备份的第一域和第二域,所述第一域和所述第二域中的各区是响应于最近一次上电划分得到的,每个区中包括多个块,所述方法包括:
在监测到所述第一域中存在新增坏块的情况下,从所述第一域的各个区中,确定所述新增坏块所处的第一区;
获取所述第一区中坏块的第一占比,并判断所述第一占比是否大于第一设定阈值;
若所述第一占比大于所述第一设定阈值,则设置所述第一区的状态为停用状态,并从所述第二域中确定与所述第一区对应的第二区;
将所述第二区中的存储数据,复制至所述第一域中待写入的第三区。
2.根据权利要求1所述的方法,其中,所述将所述第二区中的存储数据,复制至所述第一域中待写入的第三区,包括:
从所述第一域的各个区中,确定写就绪的第四区;
根据所述第四区和所述第一域中数据的写方向,从所述第一域中的各个区中,确定待写入的所述第三区;
将所述第二区中的存储数据复制至所述第三区。
3.根据权利要求1所述的方法,其中,所述新增坏块,采用以下步骤检测得到:
响应于首次检测到所述第一域中存在坏块,将首次检测到的所述第一域中的坏块作为所述新增坏块;
响应于非首次检测到所述第一域中存在坏块,获取本次检测到的所述第一域中坏块的第一位置信息;
获取前一次检测到的所述第一域中坏块的第二位置信息;
根据所述第一位置信息和所述第二位置信息,确定所述新增坏块。
4.根据权利要求1所述的方法,其中,所述将所述第二区中的存储数据,复制至所述第一域中待写入的第三区之后,所述方法还包括:
获取所述第一区的区号,并从所述第一域的各个区中,确定区号大于所述第一区的区号的第五区;
根据所述第三区的区号,对所述第一区的区号进行更新;
对所述第五区的区号进行更新。
5.根据权利要求1所述的方法,其中,所述判断所述第一占比是否大于第一设定阈值之后,所述方法还包括:
若所述第一占比小于或等于所述第一设定阈值,则设置所述新增坏块的状态为停用状态;
从所述第一区中的至少一个冗余块中,确定未被占用的目标冗余块,并采用所述目标冗余块替换所述新增坏块;
从所述第二域中确定与所述新增坏块对应的目标可用块;
将所述目标可用块中的存储数据,复制至所述目标冗余块中。
6.根据权利要求1所述的方法,其中,所述方法还包括:
从所述第一域中的各个区中,确定处于停用状态的第六区;
获取所述第一域中所述第六区的第二占比;
响应于所述第二占比大于第二设定阈值,生成第一报警信息;其中,所述第一报警信息,用于指示所述存储装置故障;
展示所述第一报警信息,和/或,向服务端发送所述第一报警信息。
7.根据权利要求1所述的方法,其中,所述将所述第二区中的存储数据,复制至所述第一域中待写入的第三区之后,所述方法还包括:
设置所述第二域中的所述第二区的状态为停用状态;
将所述第一域的所述第三区中的存储数据,复制至所述第二域中待写入的第七区;
获取所述第二区的区号,并从所述第二域的各个区中,确定区号大于所述第二区的区号的第八区;
根据所述第七区的区号,对所述第二区的区号进行更新,以及对所述第八区的区号进行更新。
8.根据权利要求1-7中任一项所述的方法,其中,所述存储装置设置于自动驾驶系统,所述第一域和所述第二域通过以下步骤划分得到:
响应于所述自动驾驶系统上电,获取所述存储装置中的可用块信息和坏块信息;其中,所述可用块信息包括可用块的数量和位置,所述坏块信息包括坏块的数量和位置;
根据所述可用块信息和所述坏块信息,对所述存储装置的存储空间进行划分,得到多个区;
对所述多个区进行划分,得到所述第一域和所述第二域;其中,所述第一域和所述第二域中包含的可用块的数量一致。
9.根据权利要求8所述的方法,其中,所述根据所述可用块信息和所述坏块信息,对所述存储装置的存储空间进行划分,得到多个区,包括:
获取目标数据量,其中,所述目标数据量用于指示所述自动驾驶系统中自动驾驶传感器采集单位时间的传感器数据的数据量;
根据所述目标数据量,确定每个区的存储量;
根据所述存储量、所述可用块信息和所述坏块信息,对所述存储装置的存储空间进行划分,得到多个区。
10.根据权利要求9所述的方法,其中,所述存储装置用于存储压缩后的传感器数据,所述目标数据量用于指示对所述单位时间的传感器数据进行压缩后的数据量;
所述根据目标数据量,确定每个区的存储量,包括:
获取设定系数,其中,所述设定系数大于1;
根据所述目标数据量和所述设定系数的乘积,确定每个区的存储量;
其中,每个区中包括可用块和冗余块,所述可用块用于存储单位时间采集的压缩后的传感器数据,所述冗余块用于替换对应区中的坏块。
11.根据权利要求1-7中任一项所述的方法,其中,所述存储装置设置于自动驾驶系统,所述存储装置用于存储所述自动驾驶系统中自动驾驶传感器采集的传感器数据,所述传感器数据用于提供至所述自动驾驶系统中的自动驾驶控制器运行的自动驾驶程序,所述方法还包括:
监测传输至所述自动驾驶控制器的传感器数据的数据帧率和传输时延;
响应于所述数据帧率与设定帧率之间的差异大于第一差异阈值,和/或,所述传输时延大于设定时延,生成第一报警信息;
根据所述第一报警信息的第一生成时刻,从所述存储装置中提取所述第一生成时刻所处的第一时段内的第一传感器数据;
将所述第一报警信息和所述第一传感器数据进行压缩后,发送至服务端。
12.根据权利要求11所述的方法,其中,所述方法还包括:
监测所述自动驾驶控制器运行的自动驾驶程序是否异常;
响应于所述自动驾驶程序异常,生成第二报警信息;
根据所述第二报警信息的第二生成时刻,从所述存储装置中提取所述第二生成时刻所处的第二时段内的第二传感器数据;
将所述第二报警信息和所述第二传感器数据进行压缩后,发送至所述服务端。
13.根据权利要求1-7中任一项所述的方法,其中,所述存储装置设置于自动驾驶系统的记录装置中,所述存储装置中的存储数据,是所述记录装置中的控制器通过所述记录装置中的交换机从自动驾驶传感器获取传感器数据,并将所述传感器数据压缩后存储至所述存储装置的;
所述方法,还包括:
监测所述交换机的输入流量和输出流量;
响应于所述输入流量与第一流量阈值之间的差异大于第二差异阈值,和/或,所述输出流量与第二流量阈值之间的差异大于第三差异阈值,生成第三报警信息;
展示所述第三报警信息,和/或,将所述第三报警信息进行压缩后发送至服务端。
14.根据权利要求13所述的方法,其中,所述方法还包括:
监测所述记录装置是否发生物理层故障;
响应于所述记录装置发生物理层故障,生成第四报警信息;
展示所述第四报警信息,和/或,将所述第四报警信息进行压缩后发送至所述服务端。
15.一种存储装置的坏块管理装置,其中,所述存储装置的存储空间包括互为备份的第一域和第二域,所述第一域和所述第二域中的各区是响应于最近一次上电划分得到的,每个区中包括多个块,所述坏块管理装置包括:
第一确定单元,用于在监测到所述第一域中存在新增坏块的情况下,从所述第一域的各个区中,确定所述新增坏块所处的第一区;
判断单元,用于获取所述第一区中坏块的第一占比,并判断所述第一占比是否大于第一设定阈值;
第一处理单元,用于若所述第一占比大于所述第一设定阈值,则设置所述第一区的状态为停用状态,并从所述第二域中确定与所述第一区对应的第二区;
复制单元,用于将所述第二区中的存储数据,复制至所述第一域中待写入的第三区。
16.根据权利要求15所述的坏块管理装置,其中,所述复制单元,用于:
从所述第一域的各个区中,确定写就绪的第四区;
根据所述第四区和所述第一域中数据的写方向,从所述第一域中的各个区中,确定待写入的所述第三区;
将所述第二区中的存储数据复制至所述第三区。
17.根据权利要求15所述的坏块管理装置,其中,所述新增坏块,采用以下单元检测得到:
第二处理单元,用于响应于首次检测到所述第一域中存在坏块,将首次检测到的所述第一域中的坏块作为所述新增坏块;响应于非首次检测到所述第一域中存在坏块,获取本次检测到的所述第一域中坏块的第一位置信息;获取前一次检测到的所述第一域中坏块的第二位置信息;根据所述第一位置信息和所述第二位置信息,确定所述新增坏块。
18.根据权利要求15所述的坏块管理装置,其中,所述坏块管理装置还包括:
第二确定单元,用于获取所述第一区的区号,并从所述第一域的各个区中,确定区号大于所述第一区的区号的第五区;
第一更新单元,用于根据所述第三区的区号,对所述第一区的区号进行更新,以及,对所述第五区的区号进行更新。
19.根据权利要求15所述的坏块管理装置,其中,所述坏块管理装置还包括:
第一设置单元,用于若所述第一占比小于或等于所述第一设定阈值,则设置所述新增坏块的状态为停用状态;
第三确定单元,用于从所述第一区中的至少一个冗余块中,确定未被占用的目标冗余块,并采用所述目标冗余块替换所述新增坏块;
第四确定单元,用于从所述第二域中确定与所述新增坏块对应的目标可用块;
所述复制单元,还用于将所述目标可用块中的存储数据,复制至所述目标冗余块中。
20.根据权利要求15所述的坏块管理装置,其中,所述坏块管理装置还包括:
第五确定单元,用于从所述第一域中的各个区中,确定处于停用状态的第六区;
第一获取单元,用于获取所述第一域中所述第六区的第二占比;
第一生成单元,用于响应于所述第二占比大于第二设定阈值,生成第一报警信息;其中,所述第一报警信息,用于指示所述存储装置故障;
第三处理单元,用于展示所述第一报警信息,和/或,向服务端发送所述第一报警信息。
21.根据权利要求15所述的坏块管理装置,其中,所述坏块管理装置还包括:
第二设置单元,用于设置所述第二域中的所述第二区的状态为停用状态;
所述复制单元,还用于将所述第一域的所述第三区中的存储数据,复制至所述第二域中待写入的第七区;
第四处理单元,用于获取所述第二区的区号,并从所述第二域的各个区中,确定区号大于所述第二区的区号的第八区;
第二更新单元,用于根据所述第七区的区号,对所述第二区的区号进行更新,以及对所述第八区的区号进行更新。
22.根据权利要求15-21中任一项所述的坏块管理装置,其中,所述存储装置设置于自动驾驶系统,所述第一域和所述第二域通过以下单元划分得到:
第二获取单元,用于响应于所述自动驾驶系统上电,获取所述存储装置中的可用块信息和坏块信息;其中,所述可用块信息包括可用块的数量和位置,所述坏块信息包括坏块的数量和位置;
第一划分单元,用于根据所述可用块信息和所述坏块信息,对所述存储装置的存储空间进行划分,得到多个区;
第二划分单元,用于对所述多个区进行划分,得到所述第一域和所述第二域;其中,所述第一域和所述第二域中包含的可用块的数量一致。
23.根据权利要求22所述的坏块管理装置,其中,所述第一划分单元,用于:
获取目标数据量,其中,所述目标数据量用于指示所述自动驾驶系统中自动驾驶传感器采集单位时间的传感器数据的数据量;
根据所述目标数据量,确定每个区的存储量;
根据所述存储量、所述可用块信息和所述坏块信息,对所述存储装置的存储空间进行划分,得到多个区。
24.根据权利要求23所述的坏块管理装置,其中,所述存储装置用于存储压缩后的传感器数据,所述目标数据量用于指示对所述单位时间的传感器数据进行压缩后的数据量;
所述第一划分单元,用于:
获取设定系数,其中,所述设定系数大于1;
根据所述目标数据量和所述设定系数的乘积,确定每个区的存储量;
其中,每个区中包括可用块和冗余块,所述可用块用于存储单位时间采集的压缩后的传感器数据,所述冗余块用于替换对应区中的坏块。
25.根据权利要求15-21中任一项所述的坏块管理装置,其中,所述存储装置设置于自动驾驶系统,所述存储装置用于存储所述自动驾驶系统中自动驾驶传感器采集的传感器数据,所述传感器数据用于提供至所述自动驾驶系统中的自动驾驶控制器运行的自动驾驶程序,所述坏块管理装置还包括:
第一监测单元,用于监测传输至所述自动驾驶控制器的传感器数据的数据帧率和传输时延;
第二生成单元,用于响应于所述数据帧率与设定帧率之间的差异大于第一差异阈值,和/或,所述传输时延大于设定时延,生成第一报警信息;
第一提取单元,用于根据所述第一报警信息的第一生成时刻,从所述存储装置中提取所述第一生成时刻所处的第一时段内的第一传感器数据;
第一发送单元,用于将所述第一报警信息和所述第一传感器数据进行压缩后,发送至服务端。
26.根据权利要求25所述的坏块管理装置,其中,所述坏块管理装置还包括:
第二监测单元,用于监测所述自动驾驶控制器运行的自动驾驶程序是否异常;
第三生成单元,用于响应于所述自动驾驶程序异常,生成第二报警信息;
第二提取单元,用于根据所述第二报警信息的第二生成时刻,从所述存储装置中提取所述第二生成时刻所处的第二时段内的第二传感器数据;
第二发送单元,用于将所述第二报警信息和所述第二传感器数据进行压缩后,发送至所述服务端。
27.根据权利要求15-21中任一项所述的坏块管理装置,其中,所述存储装置设置于自动驾驶系统的记录装置中,所述存储装置中的存储数据,是所述记录装置中的控制器通过所述记录装置中的交换机从自动驾驶传感器获取传感器数据,并将所述传感器数据压缩后存储至所述存储装置的;
所述坏块管理装置,还包括:
第三监测单元,用于监测所述交换机的输入流量和输出流量;
第四生成单元,用于响应于所述输入流量与第一流量阈值之间的差异大于第二差异阈值,和/或,所述输出流量与第二流量阈值之间的差异大于第三差异阈值,生成第三报警信息;
第五处理单元,用于展示所述第三报警信息,和/或,将所述第三报警信息进行压缩后发送至服务端。
28.根据权利要求27所述的坏块管理装置,其中,所述坏块管理装置还包括:
第四监测单元,用于监测所述记录装置是否发生物理层故障;
第五生成单元,用于响应于所述记录装置发生物理层故障,生成第四报警信息;
第六处理单元,用于展示所述第四报警信息,和/或,将所述第四报警信息进行压缩后发送至所述服务端。
29.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-14中任一项所述的存储装置的坏块管理方法。
30.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-14中任一项所述的存储装置的坏块管理方法。
31.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-14中任一项所述存储装置的坏块管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311641778.6A CN117648055A (zh) | 2023-12-01 | 2023-12-01 | 存储装置的坏块管理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311641778.6A CN117648055A (zh) | 2023-12-01 | 2023-12-01 | 存储装置的坏块管理方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117648055A true CN117648055A (zh) | 2024-03-05 |
Family
ID=90042872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311641778.6A Pending CN117648055A (zh) | 2023-12-01 | 2023-12-01 | 存储装置的坏块管理方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117648055A (zh) |
-
2023
- 2023-12-01 CN CN202311641778.6A patent/CN117648055A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10649838B2 (en) | Automatic correlation of dynamic system events within computing devices | |
WO2020134361A1 (zh) | 变电站二次设备状态评估方法、系统及设备 | |
CN103440160A (zh) | 虚拟机恢复方法和虚拟机迁移方法以及装置与系统 | |
CN105095001A (zh) | 分布式环境下虚拟机异常恢复方法 | |
WO2023125591A1 (zh) | 远程诊断方法及装置、系统、电子设备和存储介质 | |
CN112685236A (zh) | 数据管理系统的双机互备方法及系统 | |
CN110427283B (zh) | 一种双余度的燃油管理计算机系统 | |
CN111104283B (zh) | 一种分布式存储系统的故障检测方法、装置、设备及介质 | |
CN105068763B (zh) | 一种针对存储故障的虚拟机容错系统和方法 | |
JP2022095860A (ja) | 信号灯の故障監視方法、信号灯の故障監視装置、電子機器及び記憶媒体 | |
CN103414739B (zh) | 采用自动漂移的云服务器自动监控系统及方法 | |
CN114816820A (zh) | chproxy集群故障修复方法、装置、设备及存储介质 | |
CN116560889A (zh) | 数据链路的管理方法、装置、计算机设备及存储介质 | |
CN105119765B (zh) | 一种智能处理故障体系架构 | |
TWI774060B (zh) | 用於階層式系統之故障排除之裝置、方法及電腦程式產品 | |
CN107026762B (zh) | 一种基于分布式集群的容灾系统及方法 | |
CN117076196A (zh) | 一种数据库容灾的管控方法和装置 | |
CN117648055A (zh) | 存储装置的坏块管理方法、装置、电子设备和存储介质 | |
CN111309515B (zh) | 一种容灾控制方法、装置及系统 | |
CN108196985A (zh) | 一种基于智能预测的存储系统故障预测方法与装置 | |
CN109460194A (zh) | 一种存储阵列监控系统及方法 | |
CN115687026A (zh) | 多节点服务器故障预警方法、装置、设备及介质 | |
CN109144788B (zh) | 一种重建osd的方法、装置及系统 | |
CN110519558A (zh) | 视频数据的处理方法及其主板管理控制器 | |
CN115576783B (zh) | 一种vpx机箱的刀片服务器带外日志存储方法及系统 |
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 |