
storage
文章平均质量分 69
Fybon
这个作者很懒,什么都没留下…
展开
-
Nand Flash管理算法介绍之主要模块介绍
FTL转载 2018-01-03 14:35:29 · 1365 阅读 · 0 评论 -
android系统手机存储性能优化
android系统手机存储性能优化原创 2015-01-08 10:55:39 · 3064 阅读 · 0 评论 -
Linux那些事儿之我是Block层(5)浓缩就是精华?(二)
第二个,register_disk,来头不小,它来自遥远的fs/partitions/check.c: 473 /* Not exported, helper to add_disk(). */ 474 void register_disk(struct gendisk *disk) 475 { 476 struct block_devi转载 2014-09-01 14:04:39 · 1412 阅读 · 0 评论 -
Linux那些事儿之我是Block层(6)浓缩就是精华?(三)
第三个,blk_register_queue(). 4079 int blk_register_queue(struct gendisk *disk) 4080 { 4081 int ret; 4082 4083 request_queue_t *q = disk->queue; 4084 4085转载 2014-09-01 16:15:24 · 2111 阅读 · 0 评论 -
Linux那些事儿之我是Block层(4)浓缩就是精华?(一)
人,生在床上,死在床上;欲生欲死,还是在床上.这句话非常有道理.有人说它有点俗,但,我并不这么认为.我因为经常坐在床上一边看A片一边看代码,所以对这句话体会颇深,事实上它形象的描述了我坐在床上看代码时复杂的心情,说欲生欲死,一点也不夸张,尤其是当我看到add_disk()这个无比变态的函数的时候.我不禁感慨,上帝欲使人灭亡,必先使其疯狂;上帝欲使人疯狂,必先使其看Linux内核代码.转载 2014-08-29 16:28:33 · 1186 阅读 · 0 评论 -
Linux那些事儿之我是Block层(3)驱动不过一出戏,alloc_disk内存申请为哪般?
下一个函数,alloc_disk().在sd.c中咱们传递进来的参数是16. 720 struct gendisk *alloc_disk(int minors) 721 { 722 return alloc_disk_node(minors, -1); 723 } 724 725 struct gendisk *al转载 2014-08-29 15:42:54 · 2456 阅读 · 1 评论 -
Linux那些事儿之我是Block层(1)Block子系统的初始化
于是我们从genhd_device_init()开始看起. 350 static int __init genhd_device_init(void) 351 { 352 int err; 353 354 bdev_map = kobj_map_init(base_probe, &block_subsys_loc转载 2014-08-29 10:48:36 · 1343 阅读 · 0 评论 -
Linux那些事儿之我是Block层(引子)
很久以前,天还是蓝的,水也是绿的,庄稼是长在地里的,猪肉是可以放心吃的,耗子还是怕猫的,法庭是讲理的,上床是先结婚的,理发店是只管理发的,药是可以治病的,医生是救死扶伤的,拍电影是不需要陪导演睡觉的,照相是要穿衣服的,欠钱是要还的,孩子的爸爸是明确的,学校是不图挣钱的,白痴是不能当教授的,卖狗肉是不能挂羊头的,男就是男的女的就是女的.那时候Block层还是一部分附属于drivers/目录下一部分附转载 2014-08-28 15:46:42 · 1979 阅读 · 0 评论 -
SSD的写入放大技术是什么-Write amplification
from : http://www.upantool.com/jiaocheng/ssd/2012/1499.html基本SSD操作方式写入放大(WA)是闪存和固态硬盘之间相关联的一个属性,因为闪存必须先删除才能改写(我们也叫“编程“),在执行这些操作的时候,移动(或重写)用户数 据和元数据(metadata)不止一次。这些多次的操作,不但增加了写入数据量转载 2014-12-05 10:58:02 · 5524 阅读 · 0 评论 -
block:ROW scheduling algorithm
Documentation/block/row-iosched.txtrefer to : http://lwn.net/Articles/509829/Introduction============The ROW scheduling algorithm will be used in mobile devices as defaultblock layer I转载 2015-01-07 11:21:24 · 1732 阅读 · 3 评论 -
Android之 MTP框架和流程分析
from : http://www.cnblogs.com/skywang12345/p/3474206.html概要本文的目的是介绍Android系统中MTP的一些相关知识。主要的内容包括:第1部分 MTP简介 对Mtp协议进行简单的介绍。第2部分 MTP框架 介绍Android系统下MTP的框架。第转载 2015-03-10 14:59:11 · 2985 阅读 · 0 评论 -
Performance Optimization of MTP
mtp性能原创 2015-03-10 16:10:35 · 1217 阅读 · 0 评论 -
Ensuring data reaches disk
from : http://lwn.net/Articles/457667/In a perfect world, there would be no operating system crashes, power outages or disk failures, and programmers wouldn't have to worry about coding for thes转载 2015-04-10 10:55:26 · 854 阅读 · 0 评论 -
Nand Flash管理算法介绍之垃圾回收类型介绍
FTL转载 2018-01-03 14:34:45 · 1477 阅读 · 0 评论 -
Nand Flash管理算法介绍之FTL简介
FTL转载 2018-01-03 14:32:48 · 2792 阅读 · 0 评论 -
Userspace tools for MMC/SD devices
mmc-utilsUserspace tools for MMC/SD devices转载 2016-09-28 17:39:45 · 2032 阅读 · 0 评论 -
linux 使用FIO测试磁盘iops
android fio转载 2015-03-18 17:50:18 · 2163 阅读 · 0 评论 -
android用memtester内存压力测试
memtester转载 2016-10-31 14:23:10 · 6504 阅读 · 4 评论 -
sg3_utils
sg3_utils转载 2016-10-26 17:12:53 · 5308 阅读 · 0 评论 -
碎碎念android eMMC
碎碎念android eMMC原创 2015-03-13 16:13:47 · 9040 阅读 · 1 评论 -
android sdcard存储方案(基于fuse文件系统):之二
基于fuse文件系统的android sdcard存储方案从上面效果对比图,我们可以发现android fuse sdcard 有如下两个优点:1、使用fuse后 /data 和 /sdcard0 是共离一块分区,这块分区的空间/data和/sdcard0 动态享用, 用户使用灵活。2、去掉了fat32文件系统,这样也免去了一个license的风险。原创 2014-03-13 14:12:38 · 17843 阅读 · 2 评论 -
android sdcard存储方案优化(基于wrapfs文件系统):之三
android sdcard存储方案优化(基于wrapfs文件系统)原创 2014-12-22 11:22:18 · 5713 阅读 · 8 评论 -
[Benchmarks] File System Performance: F2FS vs EXT4
I have recently implemented Samsung's Flash Friendly File System (F2FS) into my kernel for the Z1 (Pimped Kernel).In order to see what this file system really brings to the table I decided to ru转载 2014-12-30 14:33:30 · 3474 阅读 · 0 评论 -
pdflush进程详解
以下转自:http://blog.youkuaiyun.com/kofshower/article/details/7357968大家知道,在linux操作系统中,写操作是异步的,即写操作返回的时候数据并没有真正写到磁盘上,而是先写到了系统cache里,随后由pdflush内核线程将系统中的脏页写到磁盘上,在下面几种情况下,系统会唤醒pdflush回写脏页:1 、定时方式:转载 2014-10-11 17:09:47 · 929 阅读 · 0 评论 -
linux VFS 之二:超级块superblock
superblock在文件系统安装时,VFS根据实际文件系统存放在块设备上的管理信息,在内存中建立一个VFS超级块VFS超级块用来描述已安装的文件系统的信息,是一个全局的数据结构VFS超级块存在于内存中,它在文件系统安装时建立,并且在文件系统卸载时自动删除 注意:分清楚VFS超级块和各实际文件系统,如EXT2的超级块对每个具体的文件系统来说,都有各自的超级块, 如Ext原创 2014-04-15 18:16:34 · 8258 阅读 · 0 评论 -
MTP in Android
http://blog.youkuaiyun.com/innost/article/details/8876392经作者同意,转发我们公司MTP专家同事huirong的一篇文章。大家也可在程序员第5期看到。MTP in AndroidMTP的全称是Media Transfer Protocol(媒体传输协议),它是微软公司提出的一套媒体文件传输协议。Android从3.转载 2014-03-22 21:26:23 · 1320 阅读 · 0 评论 -
Storage: Optimizing For Performance
Linux on eMMC: Optimizing For Performance原创 2013-12-07 21:31:16 · 2001 阅读 · 0 评论 -
全面了解TLC NAND技术以及市场现状
全面了解TLC NAND技术以及市场现状BEAREYES.COM 北京 [ 翻译 ] 作者:小熊在线-Davy07 日期:2012年02月28日. 固态硬盘以及闪存简介: 在过去的有关固态硬盘的评测中,Anand网站都提及固态硬盘对系统性能提升最为明显。既然如此,我们转载 2014-04-14 16:35:14 · 2577 阅读 · 0 评论 -
EraseTrim Discard Sanitize详解
EraseTrim Discard Sanitize详解针对JEDEC协议中几个抹除资料的命令,大家都很容易将其混淆。现在就这四个抹除命令作详细介绍,希望能帮助大家分清各个命令的具体含义及用法。Erase1.1擦除组(EraseGroup)Erase翻译过来是抹去、擦除的意思。eMMC中可擦除的单位称为“擦除组”,擦除组是用写入块(writeblocks,Dev转载 2013-12-27 18:03:22 · 4708 阅读 · 0 评论 -
emmc boot partition 使用思考
待写原创 2014-01-09 19:47:48 · 4669 阅读 · 0 评论 -
emmc的上电流程、上电稳定性
emmc的上电流程、睡眠省电及上电稳定性原创 2013-12-09 15:27:36 · 4073 阅读 · 0 评论 -
NOR与NAND闪存对比
基于 NOR 的 Flash 技术比较早,它支持较高的读性能,但以降低容量为代价。NAND Flash 提供更大容量的同时实现快速的写擦性能。NAND 还需要更复杂的输入/输出(I/O)接口。大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些;而NAND则是高数据存储密度的理想解决方案。NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程转载 2013-12-08 22:02:00 · 1562 阅读 · 0 评论 -
MTD NAND OOB ECC 布局
转载 2013-12-08 21:47:15 · 2525 阅读 · 0 评论 -
linux文件系统如何使用emmc的擦除功能(Erase Trim Discard Sanitize)达到最优performance
有待研研究原创 2014-01-09 19:47:09 · 15371 阅读 · 2 评论 -
android 获取 内外存储设备路径疑问
android 系统是开源的,于是各种产商各种瞎改android系统,工作了几个月,我发现单单就android的内外存储设备的路径我就不知道怎么获取了。上网查了几种方案,自己试验了下,感觉好迷茫啊。在这里记录下我试验的几种方案。方案一:通过Enviroment类获取存储设备路径 android的官方文档上说,采用Enviroment.getExternalS转载 2014-05-21 12:54:15 · 1507 阅读 · 0 评论 -
Android4.2的多用户管理中关于SD卡的实现改动
作者:张志强 发布于:2013-7-9 21:00 Tuesday 分类:Android代码研究1. 问题Android4.2中,通过类得到的SD卡路径类似 /storage/emulated/0 在adb shell中看不到,也不能访问.MediaServer不能访问这样的路径. /storage/emulated/0/libstagefright中原先可以正常读转载 2014-05-21 12:55:59 · 1893 阅读 · 0 评论 -
linux IO子系统和文件系统读写流程分析
以下内容转自:http://blog.youkuaiyun.com/kidd_3/article/details/6909097以下内容的分析是基于2.6.32及其后的内核.我们在linux上总是要保存数据,数据要么保存在文件系统里(如ext3),要么就保存在裸设备里。我们在使用这些数据的时候都是通过文件这个抽象来访问的,操作系统会把我们需要的数据提交给我们,而我们则无需和块设备打交道。转载 2014-10-11 17:09:12 · 1138 阅读 · 0 评论 -
read系统调用深度剖析
本文转自:http://blog.youkuaiyun.com/unbutun/article/details/6101354#ibm-pconRead 系统调用在用户空间中的处理过程Linux 系统调用(SCI,system call interface)的实现机制实际上是一个多路汇聚以及分解的过程,该汇聚点就是 0x80 中断这个入口点(X86 系统结构)。也就是说,所有系统调用都转载 2014-10-11 17:01:51 · 1059 阅读 · 0 评论 -
Linux那些事儿之我是Block层(2)注册一个块设备驱动
Linux那些事儿之我是Block层(2)注册一个块设备驱动转载 2014-08-29 14:44:19 · 1893 阅读 · 0 评论 -
add_partition 函数学习
add_partition,是添加磁盘分区信息的函数,负责向通用磁盘数据结构添加一个新的分区: 通用磁盘数据结构如下:struct gendisk { int major; /* major number of driver */ int first_minor; int minors转载 2014-08-08 11:34:41 · 6665 阅读 · 0 评论