Chapter Appendix Storage Networks and other peripherals

introduction of I/O

不容易度量性能并设计

Three Characters of I/O

  • Behavior

    • input

    • output

    • storage

  • Partner

  • Data rate

Throughput and Response time 吞吐量和响应时间

A.2 Disk Storage and Dependability

floppy disk

hard disk

  • platter 盘

  • track 轨道

  • sector 扇区,存储数据的最小单位

Flash

Measure Dependability

  • MTTF Mean time to failure 平均无故障时间
  • MTTR Mean time to repair 平均修复时间
  • MTBF=MTTF+MTTR Mean time between failure 平均故障时间间隔
  • Availability
    • $Availability=\frac{MTTF}{MTTF+MTTR}$
  • 增加:
    • 错误回避
    • 错误预测
    • 错误容忍程度(冗余)

解决盘容量的问题

  • 一种思路是增大盘大小,缺点是一个坏了全坏
  • 一种是增加盘数量,可靠性时间变小(除以盘的数量大小)
  • 解决RAID Redundant Array of (Inexpensive) disk
    • 文件存放在多个盘里面,相当于多一份保险

RAID

  • RAID 1 Disk Mirroring :磁盘复制,overhead 100%

  • RAID 3 BitInterleaved :几个磁盘相同位置数据奇偶校验放在P

    • 不能做到small write
  • RAID 4 BlockInterleaved :每个磁盘自己block数据奇偶校验放在P

    • 不能同时写不同stripe
  • RAID 5 High I/O Rate Interleaved Parity :每个盘都轮流做Parity位

  • RAID 6 P+Q Redundancy :两个盘做parity

A4 Bus

A bus contains two types of lines

  • Control lines: 告诉系统Dataline跑的是谁的数据
  • Data lines:

Bus Transaction:

  • input: data from device to memory
  • output:data from memory to device

synchronize:

  • Synchronous bus: 用时钟作为标准
  • Asynchronous bus:用握手协议

image-20220527090043806

Bus Arbitration:

  • 用bus master决定哪个device的数据跑在bus上面

A.5 Interfacing of Device and CPU

3 types communications

  • Command: give commands
  • Notify: complete or error
  • Data: to transfer data

How to communicate with isa

  • Memory-mapped I/O: 部分内存地址被分配给I/O
  • special I/O instructions: (x86) in al,port; out port,al;
  • command port and data port:
    • 状态寄存器(done bit, error bit …)
    • 数据寄存器 命令寄存器

Communication with the Processor

  • Polling 轮询:
    • 处理器不停检查状态位去看看是否有信号过来
    • 好处是计算机处理器程序来决定先来处理哪个IO设备
  • Interrupt 中断:
    • 从I/O发信号让处理器处理它
    • 好处是CPU可以同时做其他事情
  • DMA direct memory access:
    • 不影响CPU(在CPU不访问总线的时候工作),从其他设备(IO或者memory)读取或传输数据
    • need 3 step
      • processor set up DMA,告诉DMA目标等等必要信息
      • DMA开始运行
      • DMA完成运行,给处理器一个中断让处理器检查一下有没有错
    • 好处是节约CPU时间,握手协议交给DMA来做

A.6 Performance Measure of IO (Disk and file system)

玛德不讲了

A.7 Designing an I/O system

题目:找到性能瓶颈——是BUS传输限制,还是CPU时钟限制