嵌入式OS设计策略解读|忆联企业级SSD高可靠、高性能的实现方法

2023-08-03 15:59:14     来源:

企业级SSD需要在大量企业数据读写下保持超高稳定性,以及24 小时全天候运行,SSD的读写速度、使用寿命、稳定性及可靠性是企业级用户关注的重点。为满足用户对企业级SSD高性能、低延时、轻量级、高可靠等需求,忆联设计并开发了适合SSD的嵌入式操作系统(Operating System,缩写:OS),并在其上构建了可复制性强的SSD 控制器软件系统。

嵌入式软件分为三个层次,即驱动层、OS层、业务层。业务层集结了庞大复杂的产品功能,负责处理业务逻辑的部分,通常包括接口协议、业务功能实现、系统数据保存等;驱动层把设备的硬件访问抽象成软件接口,为OS层和业务层服务;OS层为业务层提供软件平台服务,让业务层可以聚焦在实现庞大复杂的软件功能上。

图1

通用的OS功能很多,包括处理器管理、内存管理、设备管理、文件管理、作业管理等,而对于嵌入式OS来说,主要聚焦在处理器管理、内存管理等核心功能上,本文则重点阐述处理器管理、互斥、通信。

SSD系统的处理器架构和OS部署

在PCIe 4.0时,SSD的读写带宽达到8GB/s, PCIe 5.0时SSD的读写带宽可能达到16GB/s。为了实现SSD的高性能,通常SSD控制器会使用多CPU、甚至多Cluster的处理器架构,分别用于SSD业务计算和Nand flash操作。

图2

在多处理器、多Cluster架构下,业务部署时可以选择SMP模式、AMP模式、或者SMP和AMP混合模式。在SSD系统里,基本上都是SMP模式和AMP模式混合,OS要负责程序调度、互斥、通信功能。在嵌入式系统中的AMP模式的通信,可以类比为通用系统里多进程之间的通信,因为没有全局数据可用,要借助外部存储空间进行通信。

忆联OS的调度策略

常规的OS调度对象都是线程,且每个线程有自己的堆栈和优先级,具有抢占机制。忆联在设计SSD嵌入式系统时,通过分析发现,线程调度开销大、线程之间存在较为复杂的互斥问题、容易出现优先级逆转死锁问题,加之线程运行的随机性和无序性,让系统时刻处于“不确定”状态。因此,忆联SSD选择了自创的“功能代码(入口函数及其调用的全部函数)”调度策略。为了描述方便,本文把这些可以被OS调度的“功能代码(入口函数及其调用的全部函数)”,称为SSD系统里的“事务”。

在SSD系统里的程序,不再以线程方式组织,而是以一个个不会阻塞的独立“事务处理流程”方式组织。这些“事务处理流程”可以以各种方式被OS调度。

事务的主要特征:

(1)不会阻塞。一个事务完成一个特定的计算,它在计算过程中,不需要等待外设动作,会一直运行到结束。如果一个流程会被阻塞,则需要在阻塞点切分为多个独立的事务。一旦一个事务被CPU执行,则一定会执行到事务结束。在系统里,除了每个CPU正在执行的事务是运行状态,其他事务都处在结束状态。比起线程的阻塞状态,事务状态变得极其简单。

(2) 事务共享堆栈。事务执行完成时,不再有局部变量需要保存在堆栈里。 事务共享堆栈,堆栈需求小,调度时也没有了堆栈切换的开销。

(3)同一个CPU,事务串行执行。一个CPU里的事务,一定是执行完毕一个事务后,才能开始执行下一个事务。同一个事务,在一个CPU上不会重入。

(4)SMP模式下事务间互斥变得简单。见图3。

图3

备注:

(1)事务完成时,不会持有全局变量的访问锁。

(2)AMP之间不存在全局共享数据,不存在互斥。

事务的调度方式

图4

事务优先级和实时性

一次性事务具有事务优先级功能。OS接受一次性事务调度请求,通过高优先级来处理系统里一些紧急事务,以此达成特定事件的实时处理。

图5

中断与事务

前面已经讲述在忆联OS里,同一个CPU里事务之间不会出现抢占,只有当一个事务运行完成后,才会运行另外一个事务,但是中断依然具有抢占功能。

中断处理程序遵循常规的中断处理流程,中断到来时,还是会抢占当前事务。当中断到来时,OS会把当前运行的事务程序压栈,跳转到中断处理程序运行,中断处理程序完成后,被中断的事务程序被恢复运行。

中断处理程序运行时也是使用事务程序运行时的堆栈。

中断处理程序具备的抢占功能,可以满足系统里对于实时性要求高的场景,但同时也带来了中断和事务之间的互斥问题。中断和事务的互斥方式如图六。

图6

中断处理程序实现时,可分为中断上半部和下半部。上半部读取外设数据,下半部发送事务消息到OS调度处理。中断下半部的互斥就变成了事务之间的简单互斥方式了。中断发给OS的事务调度消息,可以根据需要选择使用“紧急、高、常规”优先级。

中断处理举例:IPC中断

一般来说,IPC中断用于AMP与 CPU之间的通信。

发送方把数据写入共享的DDR后,发送IPC中断给接受方。

接收方的IPC中断程序读取DDR里的通信数据,然后发送事务消息到自己的OS,OS按照事务进行调度处理该事务消息。

中断处理程序读取DDR里的通信数据,就是中断上半部。读取通信数据并做具体处理,则是事务完成,是中断的下半部。

总结

通过事务调度思路,忆联实现了旗下企业级SSD产品的高性能和高可靠性,业务功能的设计、实现、扩展都变得更加简单和灵活,业务功能的代码复用也变得更简单,这让忆联在开发新代次SSD时,可以很好地继承已有代次SSD产品的功能和品质,保障忆联可以持续为客户提供高品质SSD产品与存储解决方案。

标签:

猜你喜欢

WAF独木难支 RASP与ADR将成应用安全防护2.0时代新宠
宁波海子卫浴靠长条形地漏畅销海外:外贸首单就来自阿里巴巴国际站
特易资讯推出「易搜邮4.0」,助力外贸企业高效拓客成单
匠心传承、品牌跃升,海信家电营造健康品质新生活
智能运动玩出新花样|AEKE家庭健身房助你成为运动小能手
Dowsure豆沙包获得汇丰创投战略投资
清雷科技:破解睡眠障碍诊断难题——心衰与睡眠障碍关系密切
培养数字人才,思特奇开启多元校企合作、协同育人新模式
云南大姚大平地二期光伏项目全容量并网发电
智能项圈藏着黑科技 简爱父爱牧场的“极客牛”云端冲浪
一低再低?坚果投影新品N1 Air发布,再探三色激光价格底线
奶牛也有装备控?简爱父爱牧场满满黑科技
我国学者在低温低压大规模合成氨领域取得重大突破
打造三色激光投影性价比之王!坚果N1Air超清品质等你盘
更安全!统信UOS V20桌面专业版(1060)推动网信事业高质量发展
小天鹅x阳朔山水 以自然健康理念打造“森活家”新体验
青云QingCloud 以专业存储服务专业场景
晴数智慧推出MagicData-CLAM高质量SFT数据集,助力大模型提效
擦亮心灵的窗户,Bioagen博奥真明目维疏散眼睛疲劳,呵护眼部健康
球场上蹦跳的冠军奶奶,元气因助力机体抗衰,焕发年轻活力
极致浪漫 美轮美奂︱电影频道“感知艺术”恒源祥专场活动在京开展
读书郎与麻省理工学院IDSS研究所2023年度合作研讨会圆满结束
“上头”的大能与“温暖”的辛巴,在“我的百科”中刷新人设
S创上海2023科技创新大会重磅回归
幻霄科技上线AI沉浸式学习平台「线上学」 推动产教融合走向深入
瞄准外贸线上交易 中国制造网推出“STS”“安心收”服务
以AI成就“智造”——浦项(烟台)与华为云共同探路企业数字化变革
云汉芯城受邀出席上海松江区促进民营经济高质量发展大会
发改委发布《产业结构调整指导目录 2023》征求意见稿,精准鼓励“膜分离”等多项生物制药上游工艺
平安健康名医服务,帮助抑郁少年走出阴霾