bg:末9和电子毫不相关的某天坑工科,只写过C语言
新工作做什么的?
Flash特性研究。
上班第一天除了配置环境,安装软件,还了解以下两个概念:
1、主控
在存储设备中,主控(Controller) 是指负责管理存储芯片(如NAND Flash、DRAM等)操作的核心芯片,它是存储设备(如SSD、U盘、SD卡等)的“大脑”,直接影响性能、寿命和可靠性。
存储主控的核心功能
-
数据读写管理
-
控制数据的读取、写入、擦除操作,优化存取速度(例如:通过多通道并行读写提升SSD性能)。
-
处理主机(如电脑CPU)与存储芯片之间的通信协议(如SATA、NVMe、USB等)。
-
-
磨损均衡(Wear Leveling)
-
NAND闪存每个存储单元有擦写次数限制(如TLC芯片约500-1000次)。
-
主控会动态分配数据写入位置,避免某些区块过早损坏,延长寿命。
-
-
坏块管理(Bad Block Management)
标记并隔离损坏的存储单元,防止数据写入不可靠区域。 -
纠错(ECC,Error Correction)
使用算法(如LDPC)检测和修复数据错误(尤其在高密度TLC/QLC芯片中至关重要)。 -
垃圾回收(Garbage Collection)
清理已删除数据占用的区块,整理碎片空间,维持写入速度。 -
加密与安全
支持硬件加密(如AES-256),保护数据安全(常见于高端SSD或企业级存储)。 -
缓存调度
管理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为例):
-
下载厂商固件包(如
.bin或.iso文件)。 -
运行工具(如三星Magician、WD Dashboard)。
-
工具通过标准协议(如NVMe Firmware Update Command)将固件传输至主控。
-
主控验证并写入新固件,完成后重启生效。
-
学习课程《存储与现代存储》
1、存储的本质:可以存进去,可以取出来,不会很快消失;
2、现代信息系统的组成(存储):硬盘、内存、cache、register、RAM、ROM
3、存储层次结构:
| 层级 | 存储类型 | 速度 | 容量 | 用途 | 示例 |
|---|---|---|---|---|---|
| 寄存器(Register) | CPU内部存储单元 | 1-2 ns | 几十~几百字节 | 存储当前执行的指令和操作数 | x86的EAX、ARM的R0-R15 |
| 高速缓存(Cache) | SRAM(静态随机存储器) | 2-10 ns | KB~MB级 | 缓存CPU频繁访问的数据 | L1/L2/L3缓存(Intel/AMD) |
| 主存(RAM) | DRAM(动态随机存储器) | 50-100 ns | GB~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这样操作;不耐高温;
跨行固件工程师的存储主控开发之路
5445

被折叠的 条评论
为什么被折叠?



