1.一种掉电处理方法,其特征在于,缓存单元的元数据指示了缓存单元在存储器中的地址及缓存单元的状态,所述方法包括:
响应于接收到异常掉电的提示,终止尚未完成的IO命令的处理;
依据掉电发生时缓存单元的状态识别需要备份的缓存单元;
将需要备份的缓存单元及其元数据写入NVM芯片。
2.根据权利要求1所述的方法,其特征在于,还包括:将要备份的缓存单元及其元数据存储在存储器的指定存储空间,再将存储器的指定存储空间整体备份到NVM芯片。
3.根据权利要求1-2之一所述的方法,其特征在于,所述方法还包括:
每个CPU将借用的缓存单元的元数据归还给出借缓存单元的CPU;
响应于收到归还的元数据,排序的多个CPU中除排序最后的CPU之外的每个CPU识别自身需要备份的缓存单元的数量,并将要备份的缓存单元的数量通知多个CPU的排序中的下一CPU;
多个CPU中的排序最前的CPU将指定位置作为备份缓存单元的起始地址,并备份缓存单元;
多个CPU中的排序在后的CPU根据在前CPU提供的需要备份的缓存单元数量,计算出前一CPU用于备份缓存单元所需的缓冲区大小,并确定自身备份缓存单元的起始地址,并备份缓存单元。
4.根据权利要求3所述的方法,其特征在于,还包括:
响应于所有CPU均完成对缓存单元的备份后,指示掉电处理完成。
5.根据权利要求1-4之一所述的方法,其特征在于,还包括:
CPU将借用的元数据归还给出借元数据的CPU;
响应于收到归还的元数据,CPU识别自身需要备份的缓存单元的数量,并将自身需要备份的缓存单元的数量通知多个CPU的排序中的下一CPU;
CPU根据前一CPU提供的需要备份的缓存单元数量,计算出在前CPU用于备份缓存单元所需的缓冲区大小,并确定自身备份缓存单元的起始地址,并备份缓存单元。
6.根据权利要求5所述的方法,其特征在于,还包括:
CPU将所收到的需要备份的缓存单元数量以及自身所要备份的缓存单元数量累加,并告知多个CPU排序中的下一CPU。
7.根据权利要求5或6所述的方法,其特征在于,还包括:
CPU在完成对缓存单元的备份后,就备份完成告知指定的CPU或多个CPU排序中的下一CPU。
8.一种掉电处理装置,其特征在于,缓存单元的元数据指示了缓存单元在存储器中的地址及缓存单元的状态,所述装置包括:
命令处理模块,用于响应于接收到异常掉电的提示,终止尚未完成的IO命令的处理;
待备份缓存单元识别模块,用于依据掉电发生时缓存单元的状态识别需要备份的缓存单元;
数据写入模块,用于将需要备份的缓存单元及其元数据写入NVM芯片。
9.一种固态存储设备,其特征在于,包括多个CPU和外部存储器,外部存储器提供缓存单元,每个CPU管理多个缓存单元,缓存单元的元数据中记录了该缓存单元在存储器中的地址及缓存单元的状态,CPU响应于接收到异常掉电的提示,终止尚未完成的IO命令的处理;依据掉电发生时缓存单元的状态识别需要备份的缓存单元;以及将需要备份的缓存单元及其元数据写入NVM芯片。
10.根据权利要求9所述的固态存储设备,其特征在于,CPU用于执行根据权利要求1-8之一的掉电处理方法。