SJ 20820.9-2002 信息技术 小计算机系统接口(SCSI)-3基本命令层 第9部分:公共访问方法.pdf

上传人:confusegate185 文档编号:227158 上传时间:2019-07-13 格式:PDF 页数:140 大小:5.43MB
下载 相关 举报
SJ 20820.9-2002 信息技术 小计算机系统接口(SCSI)-3基本命令层 第9部分:公共访问方法.pdf_第1页
第1页 / 共140页
SJ 20820.9-2002 信息技术 小计算机系统接口(SCSI)-3基本命令层 第9部分:公共访问方法.pdf_第2页
第2页 / 共140页
SJ 20820.9-2002 信息技术 小计算机系统接口(SCSI)-3基本命令层 第9部分:公共访问方法.pdf_第3页
第3页 / 共140页
SJ 20820.9-2002 信息技术 小计算机系统接口(SCSI)-3基本命令层 第9部分:公共访问方法.pdf_第4页
第4页 / 共140页
SJ 20820.9-2002 信息技术 小计算机系统接口(SCSI)-3基本命令层 第9部分:公共访问方法.pdf_第5页
第5页 / 共140页
亲,该文档总共140页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、民共和FL 7010 SJ 20820/9-2002 算机系统接口(SCSI)-3基本命令层Information Technology Small Computer System Interface(SCSI) 3 Primary command layer Part 9: Common access method 2002-06-15发布2002-10-01实施中华人民共和国信息产业部批准SJ 20820/9-2002 自次A刚刚1233. .-.-. . . . . 范围规范性iI用文件. . 定义和约定定义,3.2约定TA9年quA结FhdphdRU民一致性,町综合描述环境外围驱动程序

2、功能XPT功能5.4 SIM功能背景6 6. 1 6.2 6.3 软件CAM-3 (公共访问方法3)OSD (相关操作系统).,. ”.,.-.-. 6.4 总体考虑7 CAl!-3数据类型和结构大小定义7. 1 7.2 数据和结构说明数据类型大小7.3 结构组成CAI!边界规则XPT模型8 8. 1 8. 2 EDT信息数据保持和l修改规则. . . . . . 8. 2. I 2.2 装置数据表(EDT). . 是EDT信息数据保持交叉引导EDT 信息数据引导时间信息保持XPT传输功能,. I 9.2 9.3 9. 3. I 9.3.1.1 9.3.1.2 9.3. 1.3 9 3. 1.

3、 4 xpt get_connections 9. 3.2 XPT封锁服务9.3.2.1 9.3.2.2 9. 3.2.3 CAI! 3封锁CAM封锁规则XPT CAM-3必须服务XPT转换服务用于XPT转换服务的结构(转换trans)(转换trans)(连接connect)xpt_get_logical_id xpt_get_phys_attrib . . . . . . . . 目. . . . . -. xpt lock init (CA,l_VOID OFFSET lock, xpt_lock (CA明VOID_OFFSETlock) xpt_unlock (CAl!_VOID_OFS

4、ET lock lock level) CAM U8 . ,.,.,-., . . . . . . . . , 口1111223344555556667778990223334789oollATIAi噜i咽A,A唱AtitiAnLJunJB,“vv SJ 20820/9-2002 9.3 3 XPT综合服务. . . . . . . . . . . . E 目,. 22 9. 3 3. 1 xpt_isr () . . . . . .,目,.22 9.3. 3.2 xpt_alloc_pd_specific (转换trans,CAM_VOID(*spec_init(),CAl!_U32大小),

5、22 9.3.3.3 xpt get_pd_specific (转换trans). . . . . . . . . . . . . . . . . . . . . . . . 2 3 9 3.3.4 xpt_dealloc_pd_spec1fic (转换trans. . . . . . . . . . . . . . .E . 23 9.3.3.5 xpt_mem_alloc CCAl!_U32大小、CM!_U32标记)“. 24 9.3 3.6 xpt_mem二free( (CA1明VMOFFSET)addr) . . . . . . . . . . . . . . . . . . . .

6、. . . . . . . . . . . 25 9.3.3. 7 xpt ccb_alloc3(CA!_U32标t己). . . . 25 9 3. 3 8 xptccb_free3(CCB_!EADER3*ccb一header3). . . . . . . . . . . . . . . . . . . . .,目. . . 25 9.3. 3 9 xpt_action3(CCB_HEADER3*ccb_header3) . E . . . . . . 26 9. 3 3 10 xpt_callback (CCB_HEADER3*ccb) . . . . . . . . . . . . .

7、 . . . .,目. . . . . . . . . . 26 9. 3. 3. 11 xpt_virt_to_phys(CAM_V几OFFSETM缸,CAl_MA阳cammap) . . . . . . . . . . . . . . . . 26 9. 3. 3 12 xpt_page_s1ze (CAl!_VM_OlFSET addr, CAl!_MAP*map) . E . . . . . . 27 9. 3 3. 13 xpt_pdrv_reg(CM! S8*name, CAM_U32 work1ng_set_s1ze) . . . . . . . .“. . . 27 9 3.

8、3 14 xpt_pdrv_unreg(CAM U32 pdrv_reg_nurn) . . . . . . . . . . . . . . . . . 28 9. 3. 3 15 xpt uni t_lock_exclus (TRANS*trans, CAl!_U32 pdrv_reg num) . . . . . . . . . . . . . . 28 9. 3. 3. 16 xpt_uni t_unlock_exclus (rRANSLATION*traris, C灿!U32pdrv reg_num) . . . . . . . . . . 29 9. 3. 3. 17 xpt_bco

9、py (CAl,l_VM_OFFSET src, C灿l_VM_OFFSETdest, CA:! U32 length) . . . . . 29 9. 3.3. 18 xpt也bzero(C灿fVM_OFFSET src, CAll_L32 1 ength) . . . . . . . . . . . . . . . 30 9.3.3.19 x口t_copy_to_phys(CAM_VM_OFFS盯virt_src,CAl!_P! OFFSET phys_dest, CAl_U32 length) 30 9 3 4 XPT排队服务. . . . .,目 目,. . . 30 9. 3. 4.

10、 l xpt_que_in1 t (XPT_QUEllEAD*quehead) . . 回国., . . . . . . 30 9.3.4.2 xpt一insque(XPT_QUEllEAD *data_elene口t,XPT_QUEIIEAD*element_posi tiori) . . . . . 31 9. 3. 4. 3 xpt_remquc (XPT_QUEHEAD*data_element) .町,町. . . . . . . . . . . . . . . 31 9.3.4.4 xpt i口sque_head(XP1QUEHEAD*data_element, XP1_QUEHE

11、AD*quehead) . 31 9 3 4. 5 xpt_remquc_hcad (XPT_QUEHEAD*quehead) . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 9. 3. 4.6 xpt_insque一tail(XPT_QUEf!EAD *data_e!ement, XPT_QUEHEAD*quehead) . . . . 31 9.3. 4. 7 xpt_remque_tail (XPT_QUEHEAD吨uehead). . . . . . . . . . . . . . . . . . . . . . . .

12、 32 9.3.5 XPT同步服务9. 3. 5. l xpt_sleep (CA,!_V! OFFSET channel) 9. 3. 5. 2 xpt_wakeup(CAJ,l_Vtl_OFFSET channel)目9.4 CAM-3 XPT任选服务,9. 4. 1 XPT DMA服务9.4. 1. l XPT_DMA HANDLE结构32 32 3到33 33 33 9 4 1. 2 XPT_DMA_SGLIST结构. . . . . . . . . .町. . . . . . 33 9. 4. 1. 3 xpt_dma_map_alloc(CMl_U32 byte_count, CA

13、l_VM_OFFSET OSD, XPT_DMAHANDLE* xpt_dma_handle, flags) . . . . . . . . . . . . . . . . . . . . . . 3 4 9 4. 1 4 xpt由a_mapdeal lac (XPT_DMA HANDLE*xpt_dma handle) . . . . . . . . . . . . . 35 9.4. 1.5 xpt_dma_map_load(CAIU32 byte_count, CAli!_VM_OFFSET virtual_addr, CAJi! 11AP *cam_map, XPT D即HANDI,E

14、*xpt_dma_handle, C目,VIOFFSET OSD) . . . . . . . . . . . . . . . . . . . . . . . . 35 9. 4. 1. 6 xpt_dma_map_uriload(XPT DMA HANDLE*dma handle) . . . .目,. . . . . . . 36 9. 4. 2 XPT SI!服务. . 9. 4. 2. 1 xpt_io_copyin(C灿l_IOHANDLEsrcaddr, Cill_V!l_OFFSET destaddr, CAI! U32 count) . tq飞nhuhu n也USJ 20820

15、/9一200237 37 37 38 xpt io_copyout(CA,l_VM_OFFSET srcaddr, C灿仁IOHAIJJLEdestaddr, xpt_readbus_d8 (CAM_IOHADLE hba_addr) xpt readbus_dl6(CAM_IOHANDLE hba_addr) xpt_readbua_d32(C灿l_IOHANDLEhba_addr) . xpt_writebus d8(CAM_IOHANDLE hba_addr, CAM_U8数据). . . E . . 38 xpt_wri tebus_d!6 (CAM_IOHANDLE hba_addr

16、, CA,l_Ul6 data) . . . . . . . . . . . 38 9.4.2.8 xpt_writebus d32(CAM_IOHANDLE hba_ad巾,CA,!U32 data) . . . . . 38 IO 操作原理町. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 9 访问XPT. . . . . . . . . . . . . . . . . . . . . E . . . . . . . . . . . . . . . . . . 3 9 初始化. . . . . . . . . . . . .

17、 . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 CCB完成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 9 立即CCB的完成,. . . . . . . . . . . . . . . . 39 10.3.2 排队的CCB的完成. . . . - . . . . . . . 39 10. 4 请求排队. . . . . . . 40 1

18、0.4 I 逻辑设备和外围驱动程序. . . . . . . . . . . . . . . . . . . . . 40 10.4.2 SIM排队.-. . . . . . . . . . . . . . . . . . . . . . . . . . 40 10. 4 3 SI!排队优先权,. . . . . .,目. 40 10.4. 3. 1 错误条件和子系统中的排队. . . . . ,目. . . . . . . . . . 40 10 5异步事件回调. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19、. . . . . . . 41 10.6 自动事件. . . . . . . . . . . . . . . 41 10. 7 引导和运行时的SI!装载. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 10. 7 1 CM 3 SIM ENTRY3结构. . ,但10. 7. 2 CA,1-3 SI凡ENTRY3结构的组成说明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3 11 CAI! 3 SCSI协议

20、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 XPT SCSI设备拓扑发现过程. . . . . . 45 Siii发现过程信息方法论. . -. . . . . . . . . . . . . . . . . . . . 4 6 11 I 2 发现过程XPT模型E. . . . . . 46 11.1.2.1 发现过程扫掐端口ID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21、 . . . . . . . . 4 7 11 1.2.2 发现过程扫描一个目标设各标识符. . . . . 48 11. 1. 3拓扑发现过程期间连接的XPT释放. . . . . . . . . . 49 11. I. 4拓扑发现过程的Siii模型- - 50 11. 1. 5 拓扑发现过程的外围驱动程序模型. . . . . . . . . .- . . . . . . . . . . . . . . . . 51 11.2 SCSI异步事件回调, . . . . . . . . . . 52 11.2.1 xpt_async3 (只能由SI!调用卜,. . . . . . . . .

22、. . . . . . . . . . 5 3 11. 2. 2对外围驱动程序和SIM的XPT异步回调. . . . . . . . . . . . . . . . 54 11.3 CAM-3控制块 E . . . . . . . . . . . . . . . . . . . . 61 11. 4 SCSI消息功能. .” . . . . . . 61 11. 5 CA!-3 SCSI CCB表定义和值定义 . . . . . . . . . . . . . . 62 11 6 CCBHEADER3结构. . . . .,. .- . . . . . . 63 11. 6. 1 CCB_HE

23、ADER3结构的组成说明,. . . . . . . . . . . . . . . . . . . . . . . 64 11. 7 SCSI CA.l!-3专用CCB函数格式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 11. 7. 1 CMl-3 NOP CCB .-. . .E . . . . . 70 11. 7. 1 1 N仰的组成说明. . . . -. 71 11. 7. 1.2 NOP返回71 I I I CA1飞l_U32count) . 9.4.2.2 9.4.2.3 9.4. 2

24、.4 9.4.2.5 9.4.2.6 9.4.2. 7 10. 1 10.2 10.3 10. 3. 1 11. 1 11. I. 1 SJ 20820/9-2002 11 7. 2 发现CCB函数. . . . - . . . . . . . . . 72 11. 7 2. 1 CA1-3发现开始CCB扫描端口ID函数. . . . . . E . . . . 72 11. 7. 2. 2 CAM 3发现开始CCB扫描目标设备ID函数. . . . . . . 73 11. 7 2. 3 CA1-3发现编址CCB. . . . . . E 74 11.7.2.4 C川3发现结束CCB.- .

25、 . . . . . . . . . . . . . . 7 5 11 7.3 连接CCB函数. . . . . . . . . . . . . . . 77 11 7.3.1 CA13连接CCB. . . . . . . . . . 77 11. 7. 3. 2 CM!-3连接释放,. . . . . . . . . . . . . . . . . . . . . . . . . . . 目. . 79 11 7. 3 3 CAI! 3连接查询CCB. . . . . . . . . . . . . . . . . . . . . . 79 11. 7 4 CA1-3获得设备类型,- - .

26、 . . . . . . . . . . . . . . . . . . . . . 80 11.7.4.1 获得设备类型的组成说明. . . . . . . . . . . . . . . . . . . . . . . . . . . 80 11. 7 4.2 获得设备类型返回. . E . . . -. . . 81 11. 7 5 CA1-3路径查询. . . . . . . . . . . . .目,- . . . . 81 11.7.5.1 路径查询的组成说明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E

27、- . . 82 11 7.5.2 路径查询返回. . .,. . . . . . . . . 85 11. 7. 6 CA!卢3释放SIMtir队,. . . . . . . . . . . . . . . . . . . . . . . . . . 8 5 11.7.6.1 释放Sltl排队的组成说明. . . -. . . - . . 85 11. 7.6 2 释放SI!排队返阴. . . . . . . . . . . . . . . . . 85 11 7. 7 CM!3扫描SCSI总线. . . . . -. . . . . . . . 86 11.77.1 扫描总线的组成说明.

28、. . . . . . . . . . . . . . . . . . . . . . . . . . . .,目86 11.7.7.2 扫描总线返回. . . . . . . . . . . . . . . . . . . . . . . . . 8 6 11. 7 8 CA.II心扫描逻辑单元. . . . . . . . . . . . . E . . . . . . . . . 86 11.7.81 扫描逻辑单元的组成说明,. ,目,. 87 117.8.2 扫描逻辑单元返回,. . . . . . . . . . . . . . . . . . . . . . . . 8 7 11.

29、 7 9 CA.!习设置异步网调. .,. 目,. 87 11.7.9.! 设置异步回调的组成说明,-.,. . . . . . . . 87 11.7.9.2 设置异步回调返阴. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 7 11 7. 10 CAM-3设置设各类型. . . . . . . . . . . . . . . . . . . . . . E . . . . . . 88 11. 7. 10. 1 设置设备类型的组成说明 . . . . . . . . . . . . . . . . .

30、 . . . . . . . . 8 8 11. 7. 10. 2 设置设备类型返回. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 11. 7. 11 CAM-3中止SCSI命令. . . . . . . . . . . . . . . . . 目,88 11. 7. 11. 1 中止SCSI命令的组成说明. . . . . . . 89 11. 7. 11. 2 中止SCSI命令返回. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 四11

31、. 7 12 CA.II 3复位SCSI总线. . . . . . . 的11. 7. 12 1 复位SCSI总线的组成说明. . . . . . . . . . . 89 11 7.12.2 复位SCSI总线返回. . . . . . . . . . . . . . . . .“ 90 11. 7. 13 CAM-3复位SCSI设备. . . . . . . . .- . . . . . . . . . . . . . . . . . . . . . . . . 90 11. 7. 13. 1 复fi/.SCSI设各的组成说明,. . . . . . . . . . . . . . . .

32、. . . . . . . . . . 90 11. 7 13.2 复位SCSI设各返网. . ,. . . .,. - E . . . . . 90 11. 7 14 CAM-3终止I/O处理. .,. . . . .,.- . . . 91 11.7.141 终止I/0处理的组成说明. . . . . . . . . . . . . . . . . . . . . . . . 91 117.14.2 终止I/O处理返回. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

33、1 11.8 CAM-3控制块请求I/0. . . 目,. . . . . . . . . . . . 9 2 11. 8. 1 CMl-3执行SCSII/O请求. . . . . . . . . . . . . . . . . . . . . . . . 9 2 IV 11.8.1.1 执行SCSII/0请求的组成说明11.8.1.2 执行SCSII/0请求返回SJ 2082019 2002 93 98 11. 9命令链接(任选-. . . . . . . . . . . . . . . 99 12 目标设备方式(任选). . . . . . . . . . . . . . . . . .

34、. 100 12. I 目标设各方式概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 00 12 2阶段唱认知方式. . . . . . . . . . . .目,. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0 1 12. 2. 1 阶段认知方式的ENABLELUN. . . . . . . . . . . 102 12.2. 1. 1 ENABLE LUN的组成说明. . . . .

35、. . 102 12.2. 1.2 ENABLE LUN返回. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 12 2.2阶段认知ENABLELUN的函数说明- . . . . . . . . . . . . . . . . . 103 12.2. 3 阶段认知方式的II口处理建立,. . . . 104 12.2.1 阶段认知方式的I/0处理的继续和完成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

36、 0 5 12.2. 5 阶段认知方式的非透明事件处理.,- . . . . . . . . . . . . . 106 12.2 6执行目标设各I/0CCB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 12.2.6.l 执行目标设备1/0请求的组成说明. . . . . . . . . . . . . . . 108 12.2.6.2执行目标设各I/OCCB的最终CAM状态. . . . . . 110 12 3主机臼标设备方式 E . . . 110 12. 3

37、. 1 未规定的主机目标设备方式功能. . . . . . . . . 110 12.3 2 SCSI串行互连,. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 12.3 3主机目标设备方式消息. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 12. 3.4 立即通知CCB的使用. . . . . . . . -. . . . 111 12. 3. 4. 1 使用立即通知机制的事件消息. . . . . . . . . . . . . . .

38、. . . . . . . . . . . . . . . . . 112 12.3 5立即通知CCB. E . . . . . 116 12.3.5.1 立即通知CCB的组成说明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7 12.3 5.2 立即mi知返回町E 117 12.3.6通知确认CCB. 118 12.3.6.l 通知确认CCB的组成说明.- . . . . 118 12 3.6.2 通知确认返回. . . . . . . . . . . . . . . . . . . . . . .

39、. . . . . . . . . . . . . . . 118 12. 3. 7 主机目标设备方式允许目标设备方式LUN. . . . . . . 119 12. 3.8 主机目标设备方式的ENABLELUN CCB. . . . . . . - . . . . . . . . . . . . . 121 12.3.8.1 主机目标设备方式的ENABLELUN CCB的组成说明. . . . . . . . . . . . . . . . . . . . . . . . . . . 121 12.3.8. 2 ENABLE LUN返回. . . . . . . . . . . . . .

40、. . . . . . . . . . . . . . . . . . . . . . . - 122 12.3.9接受目标设各I/0和继续目标设备I/0CCB操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2 12 3. 9. 1 SIM/llA接受目标设备I/0CCB接受. . - . . . 123 12.3 9.2 SIM/HA CDB接受. -. . . . . . . . . . . 123 12.3.9. 3 主机外国驱动程序CDB完成回调,. . . . . . . . . . . . . . . .

41、 . . . . . . . . . . . . . . 124 12. 3. 9. 4 SIM!IIA继续目标设备I/0CCB 接受. . . . . 124 12.3.9.5 主机目标设备方式外国驱动程序继续目标设备I/0因调. . . . . . . . . . . . . . . . 125 12.3.9. 6 命令接受错误和数据阶段错误处理. . . . . . . . . . . . . . . . . . . . . . . . . . 125 12.3. 9. 7 接受和继续目标设备I/0CCB超时,. . . . . 126 12 3. 10接受目标设备1/0CCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 7 12. 3. 10. 1 接受目标设备I/0的组成说明目,. . . . . . . . . . . . . . 129 12.3 10.2接受目标设备1/0返回E . . . . . . . . . . . . . . . . . . . . 128 12. 3. 11 继续目标设备1/0CCB . -. . . . . . 1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 标准规范 > 行业标准 > SJ电子行业

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1