大话存储-学习总结-1-总线与存储器概述

1 IO总线

分类

  • 仲裁总线(控制总线)
  • 地址总线
  • 数据总线

PCI总线

  • PCI总线是目前普遍使用的一种连接南桥与外设的总线技术.
  • PCI总线式数据与地址总线分时复用的.
  • PCI总线所有时序的产生与控制都由Master发起,同一时刻只能供一对设备完成传输.
  • PCI总线共享:硬件上使用三极管的物理特性实现,软件上通过中断链的方法实现.

IO总线的结构

  • CPU与内存之间存在一个北桥芯片,这个芯片连接了CPU、内存与IO总线.CPU与北桥连接的叫系统总线(或者前端总线).内存与北桥连接的叫内存总线.北桥与IO总线之间会有一个南桥芯片,协调北桥与IO总线之间的速度差.南桥负责连接控制众多的外设.

磁盘控制的指令集

目前有ATA和SCSI指令集(或叫协议),SCSI比ATA指令集高效,所以广泛用于服务器和磁盘阵列环境.

2 磁盘原理与技术

硬盘大致由盘片、读写头、马达、底座、电路板等几大项组成.盘片基板要求表面光滑平整,不可有任何瑕疵.磁粉需要不含杂质,并均匀地溅渡在磁盘上.磁头利用空气动力学使磁头悬浮于盘面之上.为了让磁头精确定位到每个磁道必须用步进电机,利用精确的齿轮组或者音圈,每次旋转可以仅仅使磁头进行微米级的位移.

盘上的数据组织

  • 逻辑上分为磁道、柱面、扇区.
  • 磁道从外圈向内圈从0开始编号,每一盘面有300~1024个磁道.磁道上每段圆弧叫做一个扇区.扇区从1开始编号,每个扇区中的数据作为一个单位同时读出或者写入,是读写的最小单位.
  • 每个盘面会有一个磁头.只有同一柱面内从0磁头开始进行操作,向下所有柱面数据都读完时,磁头才会到下一个柱面,因此写数据都是先写满一个柱面,然后再写下一个柱面.
  • 柱面(Cylinder)、磁头(Header)和扇区(Sector)三者简称CHS,所以扇区地址又称为CHS地址.
  • 扇区的排列不是顺序的,而是根据交叉因子去调节的.
  • SCSI接口完成了访问磁盘过程的虚拟化和抽象,极大的简化了访问磁盘的过程,它屏蔽了磁盘内部结构和逻辑.

磁盘相关高层技术

  • 排队技术
  • 无序传输技术
  • 几种可控磁头扫描方式
    • FCFS(First Come First Serve)
    • SSTF(Shortest Seek Time First) 控制器优先让磁头调到离当前磁头位置最近的IO磁道读写.存在不公平性,导致IO饿死.
    • SCAN(回旋扫描模式)
    • C-SCAN(单向扫描模式)
    • LOOK(智能监控扫描模式) 与SCAN模式的区别在于,磁头不必到达终点之后才折返,而是完成最两端的IO即可折返.
  • 在高负载的条件下,SCAN或者C-SCAN、C-CLOCK模式更为适合.
  • 磁盘缓存
    • 用来接收指令和数据,还用来进行预取.磁盘缓存表现为一块电路板上的RAM芯片,目前有2MB、8MB、16MB、32MB、64MB等容量规格.
    • SCSI指令集中有两个参数可以控制对磁盘缓存的使用.DPO(Disable Page Out)和FUA(Force Unit Access),当这两个参数都被设置为1时,相当于完全不使用磁盘缓存,但是指令和数据依然会先到达缓存中.
  • 影响磁盘性能的因素
    • 磁盘每个时刻只允许一个磁头来读写数据,因此多个磁头不可能提高磁盘的吞吐量和IO性能.
    • 影响硬盘性能的因素包括:转速、寻道时间、单碟容量(越高,相同开销下读出数据越多)、接口速度(影响最小).

硬盘接口技术

  • 分类
    • 用于ATA指令系统的IDE接口
    • 用于ATA指令系统的SATA接口
    • 用于SCSI指令系统的并行SCSI接口
    • 用于SCSI指令系统的串行SCSI(SAS)接口.
    • 用于SCSI指令系统的IBM专用串行SCSI接口(SSA).
    • 用于SCSI指令系统的并且承载于FabreChannel协议的串行FC接口(FCP).
  • IDE硬盘接口技术
    • Integrate Drive Electronics 电子集成驱动器.即把控制电路和盘片、磁头等放在一个容器中的硬盘驱动器.
    • 也叫PATA接口. ATA英文拼写为Advanced Technology Attachment,即高级技术附加.
    • ATA-3引入了S.M.A.R.T(self-monitoring analysis and reporting technology,自监测、分析和报告技术).
    • ATA-4和ATA-5分别叫ATA33和ATA66,意思为传输速度33.3MB/s和66.6MB/s,同时引入了CRC校验.
    • ATA-7是ATA的最后一个版本,支持133MB/s的IDE硬盘,迈拓是唯一一家推行该协议的厂家.大部分都使用Serial ATA接口标准.
  • IDE数据传输模式
    • PIO模式(Programming Input/Output Model): 一种通过CPU执行I/O端口指令来进行数据读写的数据交换模式,是最早的硬盘数据传输模式.这种模式有较高的CPU占有率.
    • DMA模式(Direct Memory Access): 是一种不经过CPU而直接从内存存取数据的数据交换模式.
    • Ultra DMA模式 : 高级直接内存访问
  • SATA硬盘接口
    • SATA 2.0规范中添加的新特性包括:3Gb/s的传输速率;支持NCQ技术(Native Command Queuing ,自身命令队列);端口选择器(Port Selector);端口复用器(Port Multiplier)可以在一个控制器上扩展多个SATA设备 ;服务器特性;接口和连线的强化.
  • SCSI硬盘接口
    对于ATA协议,对应的就是IDE接口;对于SCSI协议,对应的就是SCSI接口.SCSI全程Small Computer System Interface,即小型计算机系统接口.是一种具备与多种类型外设进行通行的能力,如硬盘,CD-ROM,磁带机和扫描机等.
    • SCSI采用ASPI(高级SCSI编程接口)标准软件接口使驱动器和计算机内部安装的SCSI适配器进行通讯.缺点是价格过于昂贵.
  • SCSI寻址机制和几个阶段
    • 空闲阶段
    • 仲裁阶段
      SCSI总线寻址方式,控制器-通道-SCSI ID -LUN ID来寻址.LUN(Logical Unit Number)对传统的SCSI总线来说意义不大,因为传统SCSI设备本身已经不可物理上再分了.因此设备的LUN ID为0.代表物理设备本身.对于带RAID功能的SCSI接口磁盘阵列设备来说,由于会产生的虚拟磁盘,所以只靠SCSI ID是不够的,这时候就要用LUN来扩充可寻址的范围.
    • 选择阶段

磁盘控制器、驱动器

  • 硬盘的接口包括接入到磁盘控制器上的物理接口以及定义的一套指令系统,即逻辑接口.

内部传输速率和外部传输速率

  • 内部传输速率指刺头读写磁盘时的最高速率.这个速率不包括寻道以及等待扇区旋转到磁头下所用时间.通常每秒10000转的SCSI硬盘内部传输速率大概1000MB/s.
  • 从外部接口传送给磁盘控制器时的传送速率就是硬盘的外部传输速率,10000转的SCSI硬盘实际外部传输速率只有80MB/s左右.

并行传输和串行传输

  • 并行传输应用在长距离的连接上就无优点可言了.同时传输频率不能过高,因为电路高速震荡的时候,数据线之间会产生很大的干扰,所以并行传输的传输效率高但是速度慢.
  • USB接口、IEEE1394接口以及COM接口都是串行传输的计算机外部接口.

IO延迟、IOPS和传输带宽Throughput

  • IO延迟是指控制器将IO指令发出后,知道IO完成的过程中所耗费的时间.业界又不成文的规定,IO延迟在20ms以内,对应用程序都是可以接受的.推算出IOPS=50.
  • 控制器想存储设备发起指令不是一条一条顺序发送,而是一批一批的.也就是说,只要存储设备的肚量和消化能力足够,在IO比较少的时候,处理一条指令和多条指令的耗时几乎一样.控制器所发出批量指令的最大条数,有控制器上的Queue Depth决定.
  • IOPS=(Queue Depth)/(IO Latency)对SCSI协议来说,完成一次连续LBA地址扇区的读写就算是一次IO,从底层看,每次想磁盘发送一个SCSI帧就是一次IO.
  • 传输带宽 : 具有高带宽规格的磁盘在传输大块连续数据时具有优势,而具有高IOPS的硬盘在传输小块不连续的数据时具有优势.

3 固态存储介质

  • 结构
    对于一个16GB的FLASH,3214*8=34512个Cell逻辑上形成一个Page,每个Page中可以存放4KB的内容和218B的ECC校验数据,Page也是Flash芯片IO的最小单位.没128个Page组成一个Block,每2048个Block组成一个区域(Plane).一整片Flash芯片由两个区域组成,一个区域存奇数序号的Blocks,一个存偶数序号的Blocks.
  • 读写过程
    • 对于小块随机IO,Flash会随着容量的增加而变得越来越低效.SSD的IO最小单位为1个Page.
    • Flash写入之前必须Erase.Cell带负电荷电表示0,不带电表示1.Erase即是释放电子的过程.若写1,则不作任何操作;若写0,则该Cell充入电子,写0的过程叫programme.
  • SSD的诟病与补救
    • 拆东墙补西墙。为实现Wear Leveling,通过FTL映射实现IO的重定向.
    • 定期清理体内垃圾 : Wiper
    • TRIM支持
    • Delay Write减少对SSD的写
    • 预留一部分空间不写

存储器的读写延迟总结

这里写图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值