一种主机与存储设备数据交互的方法及存储控制器的制造方法

文档序号:9396645阅读:522来源:国知局
一种主机与存储设备数据交互的方法及存储控制器的制造方法
【技术领域】
[0001]本发明涉及一种主机与存储设备数据交互的方法及存储控制器,特别涉及到一种主机与存储设备之间基于USB Bulk传输协议的主机从存储设备读取数据的方法、主机向存储设备写入数据的方法及存储控制器。
【背景技术】
[0002]通用串行总线的英文是Universal Serial Bus,缩写为USB,是应用最广泛的电子设备接口之一。USB定义了四种传输协议,Control传输协议(Control Transfer),Isochronous 传输协议(Isochronous Transfer), Interrupt 传输协议和 Bulk 传输协议(Bulk Transfer)因为Bulk传输协议能保证数据传输的正确性,且因为以大数据块为数据单元,能提供高传输效率,所以广泛应用在存储设备上。
[0003]目前,所有主流的操作系统都支持USB大容量存储设备,包括PC上使用的Windows、Unix、Linux和Mac OS,以及移动设备上使用的Android和10S,其中由苹果公司开发的移动操作系统1S使用USB Bulk协议进行基本数据块的传输,但逻辑上为数据流传输方式,无论是命令、数据还是状态信息都不区分包格式,一律按照串行数据流的方式进行传输,已有技术由于1S的数据流传输特性经常会导致数据的溢出和丢失,使得数据传输不能正常完成,因此,如何在高效USB Bulk传输协议基础上,解决数据流溢出和丢失问题,成为当前一项令人关注的技术难题。

【发明内容】

[0004]本发明所要解决的技术问题是,主机与存储设备之间基于USB Bulk协议进行命令、命令响应、数据和命令完成状态的传输时,通过主机等待存储设备发送过来的读命令响应或写命令响应,再从存储设备接收读数据或向存储设备发送写数据,避免了主机采用数据流传输方式时会导致数据溢出和丢失的问题。
[0005]为了解决上述技术问题,本发明采用的技术方案是:
[0006]做为本发明的一种主机从存储设备读取数据的方法,存储设备包括存储控制器与存储器,主机连接着存储控制器,存储控制器连接着存储器,主机从存储设备读取数据的流程如下:
[0007]读命令发送步骤,存储控制器接收主机发送的读命令;
[0008]读命令响应步骤,存储控制器向主机发送读命令响应并将读命令发送到存储器;
[0009]读数据发送步骤,存储器向存储控制器发送读数据;
[0010]读数据回馈步骤,存储控制器向主机发送读数据;
[0011]读命令完成步骤,读数据传输完成后存储控制器向主机发送读命令完成状态;
[0012]上述读命令、读命令响应、读数据和读命令完成状态基于USB Bulk传输协议进行传输。
[0013]主机需等待存储设备发送过来的读命令响应,才可以从存储设备接收读数据,读命令中包含长度为四个字节的设备命令识别码,此设备命令识别码为十六进制数值0x4E534D43,读命令完成状态中包含长度为四个字节的设备状态识别码,此设备状态识别码为十六进制数值0x4E534D53。
[0014]做为本发明的一种主机向存储设备写入数据的方法,存储设备包括存储控制器与存储器,主机连接着存储控制器,存储控制器连接着存储器,主机向存储设备写入数据的流程如下:
[0015]写命令发送步骤,存储控制器接收主机发送的写命令;
[0016]写命令响应步骤,存储控制器向主机发送写命令响应并将写命令发送到存储器;
[0017]写数据发送步骤,主机向存储控制器发送写数据;
[0018]写数据回馈步骤,存储控制器向存储器发送写数据;
[0019]写命令完成步骤,写数据传输完成后存储控制器向主机发送写命令完成状态;
[0020]上述写命令、写命令响应、写数据和写命令完成状态基于USB Bulk传输协议进行传输。
[0021]主机需等待存储设备发送过来的写命令响应,才可以向存储设备发送写数据,写命令中包含长度为四个字节的设备命令识别码,此设备命令识别码为十六进制数值0x4E534D43,写命令完成状态中包含长度为四个字节的设备状态识别码,此设备状态识别码为十六进制数值0x4E534D53。
[0022]本发明的有益效果是:本发明的一种主机从存储设备读取数据的方法和一种主机向存储设备写入数据的方法,主机与存储设备之间基于USB Bulk协议进行命令、命令响应、数据和命令完成状态的传输,通过主机等待存储设备发送过来的读命令响应或写命令响应,再从存储设备接收读数据或向存储设备发送写数据,避免了主机采用数据流传输方式时会导致数据溢出和丢失的问题,在保证读写性能的前提下,最大程度提高了存储设备与主机的兼容性。
【附图说明】
[0023]图1是本发明一种存储控制器应用不意图
[0024]图2是本发明一种存储控制器内部结构图
[0025]图3是本发明一种主机从存储设备读取数据的方法流程图
[0026]图4是本发明一种主机向存储设备写入数据的方法流程图
[0027]其中:
[0028]I 主机2 主机接口单元
[0029]3 命令处理单元 4 数据处理单元
[0030]5 存储器接口单元 6 存储器
[0031]7 存储控制器8 存储设备
[0032]3001读命令3002读命令响应
[0033]3003读命令完成状态 3004写命令
[0034]3005写命令响应3006写命令完成状态
[0035]4001读数据4002写数据
[0036]Rl 读命令收到步骤 R2 读命令响应步骤
[0037]R3读数据发送步骤R4 读数据回馈步骤
[0038]R5读命令完成步骤
[0039]Wl写命令收到步骤W2 写命令响应步骤
[0040]W3写数据发送步骤W4 写数据回馈步骤
[0041]W5写命令完成步骤
【具体实施方式】
[0042]下面结合附图中的实施例对本发明主机从存储设备读取数据的方法、主机向存储设备写入数据的方法及存储控制器做进一步说明。
[0043]如图1所示,主机与存储设备数据交互的方法包括主机从存储设备读取数据的方法和主机向存储设备写入数据的方法,本发明一种存储控制器7包括主机接口单元2、命令处理单元3、数据处理单元4和存储器接口单元5,主机接口单元2连接着主机I,存储器接口单元5连接着存储器6,其中主机接口单元2为苹果闪电(Lightning)接口单元,存储器接口单元5为嵌入式多媒体卡(eMMC)接口单元,存储器6为嵌入式多媒体卡(eMMC)。在其它实施例中,主机接口单元2还可以为通用串行总线(USB)接口单元,存储器接口单元5还可以为与非型闪存存储器(Nand Flash)接口单元、安全数码卡(SD)接口单元、通用闪存存储(UFS)接口单元或串行硬盘(SATA)接口单元,存储器6还可以为与非型闪存存储器(Nand Flash)、安全数码卡(SD)、通用闪存存储(UFS)、机械硬盘(HDD)或固态硬盘(SSD)。
[0044]USB接口是应用最广泛的电子设备接口之一。USB定义了四种传输协议,Control 传输协议(Control Transfer), Isochronous 传输协议(IsochronousTransfer), Interrupt传输协议和Bulk传输协议(Bulk Transfer)。因为Bulk传输协议能保证数据传输的正确性,且因为以大数据块为数据单元,能提供高传输效率,所以广泛应用在存储设备上。
[0045]闪电接口(Lightn
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1