- 博客(17)
- 收藏
- 关注
原创 浅谈SSD RAID Parity设计
磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。 磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。磁盘阵列还能利用同位检查(Parity Check)的观念,当数组中任意一个硬盘发生故障时,仍可读出数据。在数据重构时,可将数据经计...
2022-02-04 17:52:14
1702
原创 FTL 算法之Arbiter
背景: 随着NVMe的流行,高并发多线程多核的SSD必定是未来方向,sata的单核及FTL架构已不在适用于当前的NVMe firmware。 SSD内部有各种IO,该如何平衡和合理分配资源是Firmware设计的重中之重。 如果管理各种Internal IO 这里引进一个 机制---arbiter,来管理各种IO,让其有序执行,减少相互争夺资源,以便减少不必要的开销。 为了简单理解arbite...
2021-07-06 18:09:55
777
原创 透过协议看PCIe ASPM L1.2
随着PCIe SSD逐渐普及,高性能低功耗正在成为Firmware designer最为头疼的问题,本文主机介绍SSD内部Low Power 如何设计1. 降频...........2. L1.................3. L1.2...........
2021-01-02 20:55:39
9923
原创 PCIe设备Link Training调试心得----之PERST是否使用
PCIe 三种 INIT flow 如图:第一种依赖上电host PERST信号进行内部reset. (适用于依赖host有PERST信号)第二种Polling electrical signal,check到对端TS1码流进行内部的reset. (适用于大部分场景,也有缺陷)第三种Polling electrical signal,reset内部后直接发起TS1码流. (适用于一些国产平台,Loongson等)这三种PCIe init 方式都不够完美,优劣待续。。。...
2021-01-01 08:55:58
5915
原创 浅谈NAND FLASH的两种编程方式
NAND Flash 一般有两种编程方式:one shot or two pass。如图为LUN的结构:1. 如果以ONE Shot 编程(eg: bisc3), 如图:2.如果以TWO pass编程(eg: b16a), 如图:
2020-11-25 21:46:04
4287
2
原创 浅谈SSD Trim(Data set management)
1. 写trim bitmap时需要先下刷bitmap再去更新L2P table, 不然在spor起来后会读到老数据。即trim completion 回了之后要保证是unmap的,就需要立即下刷trim bitmap,不然spor起来之后就会读到未trim之前的数据。...
2020-11-19 20:07:39
2159
原创 linux NVMe驱动总结
NVMe协议调试总结1、NVMe问答NVMe 是什么?百度百科这么说的: NVMe(Non-VolatileMemory express),是一种建立在M.2接口上的类似AHCI的一种协议,是专门为闪存类存储设计的协议。中文名 NVMe协议 外文名 Non-Volatile Memory express。NVMe具体优势包括:①性能有数倍的提升;②可降低延迟超
2017-06-30 09:33:38
22177
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人