跨行固件工程师的开发之路(1)

bg:末9和电子毫不相关的某天坑工科,只写过C语言

新工作做什么的?

Flash特性研究。

上班第一天除了配置环境,安装软件,还了解以下两个概念:

1、主控

在存储设备中,主控(Controller) 是指负责管理存储芯片(如NAND Flash、DRAM等)操作的核心芯片,它是存储设备(如SSD、U盘、SD卡等)的“大脑”,直接影响性能、寿命和可靠性。

存储主控的核心功能

  1. 数据读写管理

    • 控制数据的读取、写入、擦除操作,优化存取速度(例如:通过多通道并行读写提升SSD性能)。

    • 处理主机(如电脑CPU)与存储芯片之间的通信协议(如SATA、NVMe、USB等)。

  2. 磨损均衡(Wear Leveling)

    • NAND闪存每个存储单元有擦写次数限制(如TLC芯片约500-1000次)。

    • 主控会动态分配数据写入位置,避免某些区块过早损坏,延长寿命。

  3. 坏块管理(Bad Block Management)

    标记并隔离损坏的存储单元,防止数据写入不可靠区域。
  4. 纠错(ECC,Error Correction)

    使用算法(如LDPC)检测和修复数据错误(尤其在高密度TLC/QLC芯片中至关重要)。
  5. 垃圾回收(Garbage Collection)

    清理已删除数据占用的区块,整理碎片空间,维持写入速度。
  6. 加密与安全

    支持硬件加密(如AES-256),保护数据安全(常见于高端SSD或企业级存储)。
  7. 缓存调度

    管理DRAM缓存(如有)或模拟缓存(HMB技术),加速随机读写。

主控的硬件构成

  • 处理器核心:多为ARM架构或RISC-V核心,负责运行固件算法。

  • 闪存接口:连接NAND芯片(支持ONFI、Toggle等协议)。

  • 主机接口:对接电脑或设备(如PCIe、SATA、USB等)。

  • DRAM接口:部分主控外接DRAM作为缓存(如三星SSD)。

主控与固件的关系:

主控需要配套的固件(Firmware)才能工作。固件是写入主控的软件程序,负责实现上述功能。厂商通过更新固件可修复漏洞或提升性能。

(固件也就是软件,也就是你写的程序啊算法啊之类的东西,当然没那么简单,只是举个例子)

固件(Firmware) 是嵌入在硬件设备中的一种特殊软件,负责直接控制和管理硬件的基本功能。它介于硬件和高级软件(如操作系统)之间,是设备能够正常运行的基础。

那怎么把固件弄进主控里呢?

作为一名开发者而言,我们一般有几种方法:

1、开发者调试(底层烧录)
  • 接口

    • JTAG/SWD:直接调试主控的ARM/RISC-V核心(需开放调试接口)。

    • UART串口:通过串口日志监控烧录过程(常见于开发阶段)。

  • 工具

    • OpenOCD、J-Flash等调试工具,或主控对应的私有烧录软件。

2、固件升级
  • 工具:利用升级工具(如EXE程序、Linux脚本)或设备内置升级功能。

  • 接口

    • SATA/NVMe SSD:通过主板接口(AHCI/NVMe协议)发送固件更新命令。

    • U盘/TF卡:通过USB或读卡器,使用量产工具或专用软件。

  • 流程示例(以消费级SSD为例):

    1. 下载厂商固件包(如.bin.iso文件)。

    2. 运行工具(如三星Magician、WD Dashboard)。

    3. 工具通过标准协议(如NVMe Firmware Update Command)将固件传输至主控。

    4. 主控验证并写入新固件,完成后重启生效。

学习课程《存储与现代存储》

1、存储的本质:可以存进去,可以取出来,不会很快消失; 

2、现代信息系统的组成(存储):硬盘、内存、cache、register、RAM、ROM

3、存储层次结构:

层级存储类型速度容量用途示例
寄存器(Register)CPU内部存储单元1-2 ns几十~几百字节存储当前执行的指令和操作数x86的EAX、ARM的R0-R15
高速缓存(Cache)SRAM(静态随机存储器)2-10 nsKB~MB级缓存CPU频繁访问的数据L1/L2/L3缓存(Intel/AMD)
主存(RAM)DRAM(动态随机存储器)50-100 nsGB~TB级运行程序和临时数据存储DDR4/DDR5内存条
存储设备NAND Flash/HDD微秒~毫秒级GB~TB级长期数据存储(文件/系统)SSD(NVMe/SATA)、机械硬盘
离线存储磁带/光盘/云存储秒~分钟级TB~PB级备份和归档

4、现代存储介质:

光存储:

原理:光盘上有凹凸不平的小坑,光照射到上面有不同的反射,再转化为0、1的数字信号;
特点:存储寿命长+密度高+价格低+存储寿命长+信噪比高+容易机械损伤;

磁存储:

原理:磁性材料薄薄地涂在金属铝或塑料表面作载磁体来存储信息。

写入:将脉冲代码以磁化电流形式加入磁头线圈,使记录介质产生相应的磁化状态,即电磁转换。
读出:磁层中的磁化翻转使磁头的读出线圈产生感应信号,即磁电转换。
·特点:存储寿命长+密度高+价格低+读写比较慢

电存储:

原理:改变电路的电压,电容等指标,来存储bit1或0;
特点:速度快+体积小+选择多+相对成本较高
种类繁多:Register,Latch,ROM,RAM(SRAM,DRAM,EEPRAM,DDRRAM),NORFlash,NANDFlash,OTP,MTP。

相变存储:

原理:利用特殊材料(硫族化合物)在晶态和非晶态之间相互转化时所表现出来的导电
性差异来存储数据的。通过加热电阻到一定的温度,来改变材料的结晶和非结晶态;从而改变材料的电阻率,达到存储数据的目的。

特点:速度比较快,是闪存的10倍左右;可以像DDRRAM这样操作;不耐高温;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值