【技术实现步骤摘要】
一种SSD固件访问NandFlash的方法和系统
本申请涉及计算器存储
,特别是涉及一种SSD(SolidStateDisk,固态电子存储阵列硬盘)固件访问NandFlash的方法和系统。
技术介绍
SSD是计算机存储领域常见的一种存储设备,其采用闪存颗粒进行数据存储。由于SSD内部的SSD固件功能复杂,通常将一个SSD固件根据不同的功能划分为多个模块。由于SSD主控芯片中的CPU数量有限,而SSD固件的功能模块较多,SSD固件如何访问NandFlash,是一个重要问题。早期SSD固件访问NandFlash的方法是:不对模块进行功能分类,根据每个CPU能够存放的模块的数量,直接将不同功能的模块随机存放在同一个CPU上。然而这种访问方法中,由于CPU为单线程操作,当一个模块在操作NandFlash时,同一个CPU上其他的模块就必须等待,造成CPU的利用率浪费,而且,由于该方法不对模块进行功能分类,当同步功能的模块和异步功能的模块同时存放于同一个CPU时,有时会产生死锁现象,导致模块的工作效率下降。目前,SSD固件访问NandFlash的方法通常是:SSD固件将同步处理的模块存放在同一个CPU上,且SSD固件采用同步访问的方式访问NandFlash。具体地,在同一个CPU上,SSD固件先向第一个模块发送请求,第一个模块返回应答后,SSD固件处理第一个模块的应答;然后SSD固件向第二个模块发送请求,以此类推直到SSD固件访问完毕当前CPU中存放的所有模块。这种访问方法由于将同步处理的模块存放在同一个C ...
【技术保护点】
1.一种SSD固件访问NandFlash的方法,其特征在于,所述SSD固件中包括多个不同功能的模块,所述方法包括:/n初始化多个可并行执行的command state结构体,任一所述command state结构体与一个异步状态机相匹配,所述异步状态机用于表征所述模块在流程中的状态,所述流程为所述模块访问NandFlash的流程,且所述流程的起始时刻为开始申请command state结构体指针,所述流程的终止时刻为释放command state结构体指针;/n申请任一所述command state结构体;/n利用上下文机制存储任一所述模块在当前流程中的状态;/n执行完毕当前流程中的状态后,跳出所述异步状态机;/n通过轮询NandFlash返回的IPC反馈信息,按照先后顺序处理异步状态机。/n
【技术特征摘要】
1.一种SSD固件访问NandFlash的方法,其特征在于,所述SSD固件中包括多个不同功能的模块,所述方法包括:
初始化多个可并行执行的commandstate结构体,任一所述commandstate结构体与一个异步状态机相匹配,所述异步状态机用于表征所述模块在流程中的状态,所述流程为所述模块访问NandFlash的流程,且所述流程的起始时刻为开始申请commandstate结构体指针,所述流程的终止时刻为释放commandstate结构体指针;
申请任一所述commandstate结构体;
利用上下文机制存储任一所述模块在当前流程中的状态;
执行完毕当前流程中的状态后,跳出所述异步状态机;
通过轮询NandFlash返回的IPC反馈信息,按照先后顺序处理异步状态机。
2.根据权利要求1所述的一种SSD固件访问NandFlash的方法,其特征在于,申请任一所述commandstate结构体之后,所述方法还包括:
判断是否成功申请任一所述commandstate结构体;
如果是,任一所述模块开始执行访问NandFlash的流程;
如果否,任一所述模块挂在pengdinglis上处于等待状态。
3.根据权利要求2所述的一种SSD固件访问NandFlash的方法,其特征在于,任一所述模块开始执行访问NandFlash的流程,包括:
任一所述模块向NandFlash发送IPC请求信息;
将任一所述模块在流程中的状态更新为与所述IPC请求所匹配的状态。
4.根据权利要求1所述的一种SSD固件访问NandFlash的方法,其特征在于,申请任一所述commandstate结构体的方法,包括:
申请任一所述commandstate结构体的结构体指针;
定义一个与当前流程相匹配的tag。
5.根据权利要求4所述的一种SSD固件访问NandFlash的方法,其特征在于,所述利用上下文机制存储任一所述模块在当前流程中的状态,包括:
任一所述模块执行完毕当前流程中的状态后,将当前流程的上下文存储至所述commandstate结构体中;
将所述commandstate结构体的结构体指针和所述tag添加至所述模块发送给NandFlash的IPC请求信息中...
【专利技术属性】
技术研发人员:赵昌磊,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。