![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
文章平均质量分 72
果汁底线
这个作者很懒,什么都没留下…
展开
-
UFS Hibernate介绍--协议部分
一. UFS Hibernate 简介Hibernate是一种Unipro的状态,这个Hibernate 进出的流程是在M-PHY定义的。Hibernate 是一种 UniPro 状态,其中 PHY 处于 HIBERNATE_STATE,UniPro 堆栈保持 只有最小的一组功能处于活动状态。 UniPro 堆栈保留每个堆栈层定义的最小状态。 在休眠期间,UniPro 堆栈无法进行应用级数据传输/通信, 并且应用程序级接口的原语 T_CO_SAP 具有未定义的行为。 中 休眠,DME 继续可供 DM原创 2022-05-04 18:03:16 · 2507 阅读 · 0 评论 -
Block块设备层Plug和Unplug机制
https://www.pianshen.com/article/11461004172/原创 2021-03-10 23:19:09 · 1857 阅读 · 0 评论 -
f2fs学习二:预分配
F2FS在Write的时候,会进行预分配Data分区的logical data block, 而且每次进行只分配一个data block(大小为4k), 分配好之后再进真正的数据落盘(将数据写入到data分区)。 Ext4在Write的时候,预分配的时候会进行连续分配(分配N个logical data block, N = test_block_size/4k ),连续分配完之后再进行数据落盘(将数据写入到data block)。 ...原创 2021-02-18 22:19:38 · 1469 阅读 · 0 评论 -
控制台输出(打印)和串口输出(打印)分析
我们来简单分析一下控制台输出和串口输出:1.printk/pr_info/printf:能在串口输出或者是dmesg输出, 但是打印等级必须比系统输出等级优先级高pr_info(" pwq %d:", pool->id);默认demsg的输出等级为7系统输出打印等级:*/** These can be used to print at the various log levels.* All of these will print unconditionally, al...原创 2021-01-11 20:46:02 · 1762 阅读 · 0 评论 -
WriteBooster Study之flushneeded
WriteBooster Buffer的大小是由FTL去配置,可以配置为12G,24G,36G等,原创 2021-01-10 19:05:20 · 702 阅读 · 1 评论 -
ext4之discard
1. ext4如果配置discard模式,在删除文件的时候,会立刻下发discard/fstrim命令到ufs driver, ufs driver会下发umap命令到ufs devices, 此时文件系统地址(lba)到ufs devices 地址(pba)之间的映射就会断开,这时候ufs devices的文件数据就会标记为无效的数据, 此时FW就可以在合适的时间去回收这些数据(backgroud garbage collect)....原创 2021-01-07 21:29:21 · 2411 阅读 · 0 评论 -
UFS读写请求完成的处理流程
UFS传输分为三个过程:制作并下发Request阶段 , 处理Request请求阶段 , Request请求完成后的阶段,这里主要是简单说明一下Request请求完成后的阶段,即在ufs request请求处理完成之后系统还需要做清理的工作,释放资源等,ufs host需要接收ufs devices返回的请求完成的状态走对应的流程, ufs devices返回一些状态status./**function: scsi_request_fn()** Purpose:...原创 2020-06-07 17:03:32 · 3666 阅读 · 0 评论 -
UFS发生命令超时处理流程
1. 在UFS的上层发送命令下来,会有出现超时的处理,首先 我们先看数据传输是驱动程序的本质目的,通过数据的传输,来完成作为存储介质的使命,read & write,在read流程中,ufs向应用程序提供数据,在write流程中,应用程序向ufs存放数据。本节分三个阶段关注数据的流向,分别是:系统调用数据到bio的组成,bio到电梯队列request的组成,request到con...原创 2020-04-25 22:47:07 · 3243 阅读 · 0 评论 -
emmc的读写浅析
emmc总线这个emmc有11根通讯总线:cmd:命令线是双向信号。主机和设备驱动程序以两种模式运行,有开漏和推挽二种模式。DAT0-7:数据线是双向信号,主机和设备驱动都是在推挽模式下(data0默认为拉高的状态)CLK:clk是主机向设备发送的信号,clock操作在推挽模式下数据 选通: 数据选通是设备给主机的信号,数据选通操作在推挽模式emmc的擦写次数是有限的,一般使用久了速度会变慢,是因...转载 2018-03-18 12:17:31 · 31716 阅读 · 0 评论 -
浅谈 linux mmc的sd的probe函数
linux的host层:即是芯片主机控制器层,通过去操作core层的接口函数去操作硬件层,通常各个厂商会封装自己的host结构体,通常为sdxx_host *host,该host内部有一个 mmc_hos(即mmc结构体)t的结构体,通过操作mmc_host(mmc结构体)间接去操作card层原创 2017-10-14 18:14:12 · 1299 阅读 · 0 评论