数据转换设备、芯片、方法、装置及影像系统与流程

文档序号:11530577阅读:199来源:国知局
数据转换设备、芯片、方法、装置及影像系统与流程

本申请涉及数据转换技术,尤其涉及数据转换设备、芯片、方法、装置及影像系统。



背景技术:

目前有些相机厂商生产的相机可以支持raw(原始)格式的影像数据。对影像数据而言,raw就是cmos(complementarymetaloxidesemiconductor,互补金属氧化物半导体)或者ccd(charge-coupleddevice,电荷耦合元件)图像传感器将捕捉到的光源信号转化为数字信号的原始数据,包括相机拍摄时的参数数据(如iso值、快门速度、光圈值、白平衡等)。

由于raw文件是经过无损压缩后生成的文件,相较于jpeg(jointphotographicexpertsgroup,联合图像专家小组)等格式的文件会大很多,存储raw文件需要更大容量的存储设备,部分相机厂商采用ssd(solidstatedrives,固态硬盘)作为存储载体,并采用目前通用的sata(serialadvancedtechnologyattachment,串行ata接口规范)接口实现raw文件的读写。由于在拍摄高分辨率的影像数据时需要更快的数据写入速度,因此有些相机厂商可能会采用nvme(non-volatilememoryexpress,非易失性存储器通道)ssd来作为存储载体,但这会造成存储在相机的nvmessd上的raw文件无法便捷的传输到计算机等图像处理设备上。



技术实现要素:

本申请提供数据转换设备、芯片、方法、装置及影像系统。

根据本申请实施例的第一方面,提供一种数据转换设备,包括数据处理装置,所述数据处理装置包括第一接口和第二接口;其中

所述第一接口用于连接外部主机,以与外部主机双向传输第一格式的数据;

所述第二接口用于连接nvme固态硬盘;

所述数据处理装置用于在接收到所述外部主机的写指令时,将所述第一格式的数据转换为nvme协议格式的数据,发给所述nvme固态硬盘;在接收到所述外部主机的读指令时,将所述nvme固态硬盘中的nvme协议格式数据转换成所述第一格式的数据,发给所述外部主机。

根据本申请实施例的第二方面,提供一种芯片,包括:第二接口、并行接口以及协议转换装置;

所述第二接口用于连接nvme固态硬盘;

所述并行接口用于与外部装置连接;

所述协议转换装置用于在接收到来自所述外部装置的写指令时,将并行接口数据转换为nvme协议格式的数据,发给所述nvme固态硬盘;在接收到所述外部装置的读指令时,将所述nvme固态硬盘中的nvme协议格式数据转换成并行接口数据,发给所述并行接口。

根据本申请实施例的第三方面,提供一种芯片,包括:第二接口、usb接口以及协议转换装置;

所述usb接口用于与外部主机连接;

所述第二接口用于与nvme固态硬盘连接;

所述协议转换装置用于在接收到来自所述外部主机的写指令时,将usb数据转换为nvme协议格式的数据,发给第二接口;在接收到所述外部主机的读指令时,将所述nvme固态硬盘中的nvme协议格式数据转换成usb数据,发给所述usb接口。

根据本申请实施例的第四方面,提供一种数据转换方法,包括步骤:

在接收到外部主机的写指令时,将写指令携带的写入数据的格式转换为nvme协议格式,然后写入所述nvme固态硬盘对应的地址空间;在接收到外部主机读指令时,从读指令对应的地址空间中读取nvme协议格式的数据,并转换成第一格式的数据后发给外部主机,所述第一格式与外部主机的接口类型相对应。

根据本申请实施例的第五方面,提供一种数据转换装置,包括:

第一接口驱动模块,用于接收外部主机的写指令或读指令,并通知协议转换模块;以及与外部主机交互第一格式的数据;

第二接口驱动模块,用于与nvme固态硬盘交互数据;

协议转换模块,用于在接收到外部主机的写指令时,将写指令携带的写入数据的格式转换为nvme协议格式,然后通知第二接口驱动模块写入所述nvme固态硬盘对应的地址空间;在接收到外部主机读指令时,从读指令对应的地址空间中读取nvme协议格式的数据,并转换成第一格式的数据后通知第一接口驱动模块发给外部主机。

根据本申请实施例的第六方面,提供一种影像系统,包括:影像拍摄设备和数据转换设备;

所述影像拍摄设备包括一pcie接口,用于可拆卸的连接nvme固态硬盘;

所述数据转换设备包括至少一个芯片,所述芯片包括:

一pcie接口,用于可拆卸的连接所述nvme固态硬盘;

一usb接口,用于连接外部的图像处理设备;

所述芯片用于在接收到所述图像处理设备的写指令时,将usb数据转换为nvme协议格式的数据,发给所述nvme固态硬盘;在接收到所述图像处理设备的读指令时,将nvme协议格式数据转换成usb数据,发给所述图像处理设备。

本申请的实施例的数据转换设备、芯片、方法、装置及影像系统,提供了可以将nvme固态硬盘中数据和外部主机的数据进行格式转换及双向传输的解决方案,因此可以利用外部主机现有的外置接口实现与nvme固态硬盘的数据传输,使得无论是nvme固态硬盘还是外部主机均无需增加复杂的数据转换功能,从而增加了nvme固态硬盘数据传输的便利性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为为本申请实施例中一系统架构示意图;

图2为本申请一实施例中数据处理装置的部分结构示意图;

图3为本申请另一实施例中数据处理装置的部分结构示意图;

图4为本申请实施例中第二芯片的部分结构示意图;

图5为本申请实施例中一应用场景示意图;

图6为本申请实施例中数据处理装置的部分结构示意图;

图7为本申请实施例中一芯片的部分结构示意图;

图8为图7所示芯片内的协议转换装置的部分结构示意图;

图9为本申请实施例中协议转换装置的另一示意图;

图10为本申请实施例中另一芯片的部分结构示意图;

图11为本申请实施例中数据转换方法的部分流程图;

图12为本申请一实施例中数据转换装置的逻辑框图;

图13为本申请另一实施例中数据转换装置的逻辑框图;

图14为本申请一实施例中第二协议转换模块的逻辑框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致装置、系统、设备和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。

随着存储带宽需求的增加,nvme固态硬盘已经开始慢慢普及。有些厂商根据需要,将nvme固态硬盘安装于一些电子设备上,作为存储设备存储数据。例如,有些影像设备(例如相机、录像机等)上已经具备了与nvme固态硬盘适配的接口,利用nvme固态硬盘来存储视频或图片等影像数据。

nvme固态硬盘所存储的数据有时会需要导出到外部主机上,例如,影像设备中的影像数据可能导出到个人电脑等设备上;有些情况下,可能需要通过外部主机对nvme固态硬盘中的数据进行写入操作,例如,通过个人电脑对nvme固态硬盘中的数据进行增删改的操作。由于目前外部主机上具有的外置接口不是与nvme固态硬盘适配的接口,因此不便于对nvme固态硬盘中的数据进行读写操作。

本申请实施例提供了将nvme固态硬盘中的数据与外部主机进行双向传输的解决方案。外部主机的类型本申请实施例不做限定,可以是各种具备计算能力的终端,例如可以是手机、平板电脑、笔记本电脑、台式电脑等。

图1是一个实施例中一系统架构下各设备的部分结构图。

图1所示的实施例中,提供一数据转换设备10,该数据转换设备10可以独立于nvme固态硬盘11和外部主机12,以达到方便携带、便于在不同的设备上使用、且不增加nvme固态硬盘11的体积及功耗等目的。在外部形态上,数据转换设备10可以体现为一读卡器。当然,在某些场合,也可能将数据转换设备10与nvme固态硬盘11或外部主机12设计成一体化。

如图1,数据转换设备10包括一数据处理装置110。数据处理装置110带有第一接口1101和第二接口1102;可以通过第一接口1101连接外部主机12,通过第二接口1102连接nvme固态硬盘11。在一例子中,第一接口1101和第二接口1102可以是硬件接口,可以分别通过物理连接的方式与外部主机12或nvme固态硬盘11连接。

第一接口1101可以与外部主机12的一个外置接口120的接口类型相匹配,可以将第一接口1101与外部主机12之间双向传输的数据的格式称为第一格式,例如,当外部主机12的接口是usb1.0、usb2.0、或usb3.0接口时,第一接口1101为相匹配的usb接口,第一格式的数据是usb数据。对于第一接口1101的接口类型在此不作枚举,第一格式的数据并不局限于usb数据。

第二接口1102可以是支持nvme协议的硬件接口,例如pcie接口、u.2接口等。

数据处理装置110通过其中一个接口接收到数据时,转换成另一个接口所对应的数据格式,并通过另一个接口传输出去。可以通过外部主机12触发该数据格式转换的流程,例如,数据处理装置110在接收到外部主机12的写指令时,将第一接口1101接收的第一格式的数据转换成nvme协议格式的数据、在接收到外部主机12的读指令时,将nvme固态硬盘中的nvme协议格式的数据转换成第一格式的数据,发给所述外部主机。写指令可以是指外部主机12对nvme固态硬盘11进行写入操作的指令,读指令可以是指外部主机12对nvme固态硬盘11中的数据的读取操作的指令。写指令或读指令所携带的信息可以根据不同设计需求确定,例如某些场合,写指令或读指令可以携带数据存放地址、读/写数据的长度等信息。

上述数据格式转换的流程可以被描述为以下过程:

数据处理装置110在接收到外部主机12的写指令时,将写指令携带的写入数据的格式转换为nvme协议格式,然后写入nvme固态硬盘11对应的地址空间;在接收到外部主机12的读指令时,从nvme固态硬盘11中与读指令对应的地址空间中读取nvme协议格式的数据,并转换成第一格式的数据后发给外部主机12。

在一些其他例子中,本领域技术人员可以采用专用芯片的方式来实现数据处理装置110的数据转换功能。这种专用芯片可以是asic(applicationspecificintegratedcircuit,专用集成电路)芯片,也可以是fpga(field-programmablegatearray,现场可编程门阵列)等可编程器件。数据处理装置110所具有的功能可以通过一个芯片实现,也可以通过不同的芯片分别完成其中一部分功能。芯片可以通过软件程序实现相应功能,也可以通过电路等硬件形式实现相应功能。

以下列举几个不同实施例中通过芯片实现数据处理装置110的例子。请参见图2-图4以及图10。

图2中数据处理装置110包括第一芯片1103以及第二芯片1104。两个芯片通过至少一个片间接口1105相连。片间接口1105的类型可以由两个芯片的类型确定。举例来说,第一芯片1103可以是usbphy芯片,第二芯片1104可以是fpga芯片,此时可以采用并行接口作为两个芯片之间的片间接口,例如该并行接口可以是gpif(generalprogrammableinterface)通用可编程接口等。

如图2,本例中第一接口1101位于第一芯片1103上,第二接口1102位于第二芯片1104上。

数据在第一格式和nvme格式之间的转换过程又可以细化为多次转换。结合图1和图2,第一芯片1103具有向所述第二芯片发送来自第一设备的读指令或写指令,以及在外部主机12与第二芯片1104之间进行数据格式转换及数据传输的功能;第二芯片1104具有基于读指令或写指令,在第一芯片1103与nvme固态硬盘11之间进行数据格式转换及数据传输的功能。因此在这个例子中,数据转换过程可以包括以下过程:

当第一芯片1103通过第一接口1101收到来自外部主机12的写指令后,将写指令以及写指令所携带的第一格式的写入数据转换为片间接口1105所对应的数据格式(例如并行接口数据),并通过片间接口1105将转换后的数据发给第二芯片1104;第二芯片1104分析所收到的写指令,将收到的写入数据转换成nvme协议格式的数据,然后通过第二接口1102写入nvme固态硬盘11的相应地址空间。

当第一芯片1103通过第一接口1101收到来自外部主机12的读指令后,将读指令转换为片间接口1105所对应的数据格式(例如并行接口数据),并通过片间接口1105将转换后的读指令发给第二芯片1104;第二芯片1104分析所收到的读指令,通过第二接口1102从nvme固态硬盘11的相应地址空间读取nvme协议格式的数据,然后将所读取的数据转换成片间接口1105所对应的数据格式,通过片间接口1105发给第一芯片1103;第一芯片1103在收到片间接口1105所传输的数据后,转换为第一格式的数据,通过第一接口1101传输给外部主机12。

某些例子中,对于第二芯片1104,在执行数据格式转换前,可以先将来自外部主机12的数据或来自nvme固态硬盘11的数据进行缓存,然后再执行转换操作。在此结合图3加以说明。

某些例子中,第二芯片1104内部可以具有内部缓存,可以通过内部缓存对来自第二芯片1104的片间接口1105和nvme固态硬盘11的数据进行缓存。

另一些例子中,数据处理装置110还可以包括缓存芯片1106,位于第二芯片1104之外,并且与第二芯片1104连接,可以利用缓存芯片1106对来自第二芯片1104的片间接口1105和nvme固态硬盘11的数据进行缓存。第二芯片1104可以通过一缓存芯片控制模块(图3未示出)来实现与缓存芯片1106的数据交换。

作为例子,如果第一芯片1103或第二芯片1104耗电较多,则数据处理装置110还可以包含独立于第一接口1101供电的独立供电模块(图3未示出),另外,独立供电模块的最大供电输入能力可以大于第一接口1101的最大供电输入能力,数据处理装置110还可以包括电源接口,通过连接外部电源为第一芯片1103或第二芯片1104供电。

第二芯片1104中可以具有多个软件或硬件模块分别实现第二芯片1104所具有的部分功能。图4是一个第二芯片1104内部部分结构的示意。作为例子,本实施例中采用ddr(doubledatarate,双倍数据速率)芯片1106a作为缓存芯片1106进行描述。

如图4,第二芯片1104中包括dma(directmemoryaccess,直接内存存取)模块1104a、处理模块1104b、与第二接口1102连接的第二接口驱动模块1104c。各个模块可以具有以下功能:

dma模块1104a可以将外部主机12的读/写指令存入ddr芯片1106a中,并将缓存地址通知处理模块1104b,以及根据处理模块1104b通知的缓存地址从ddr芯片1106a中读出数据,并通过片间接口1105传输给第一芯片1103;作为例子,dma模块可以支持dma数据传输模式。

处理模块1104b可以根据dma模块1104a通知的缓存地址获取读指令,分析读指令以确定包括对应的地址空间在内的访问参数(例如源地址、目的地址、读/写数据的地址长度),根据访问参数利用第二接口驱动模块1104c访问nvme固态硬盘,将nvme固态硬盘返回的数据缓存在ddr芯片1106a中,并将数据的缓存地址通知dma模块1104a;或者

根据dma模块1104a通知的缓存地址获取写指令,分析写指令以确定包括对应的地址空间在内的访问参数,将写指令携带的写入数据通过第二接口驱动模块1104c写入到nvme固态硬盘11中。

如图4所示,ddr控制模块1104d连接ddr芯片1106a与处理模块1104b,ddr芯片1106a内部数据的读写操作可以通过处理模块1104b控制ddr控制模块1104d完成。

以下结合一具体应用场景来描述图4中各模块协同工作时的流程。图5是该应用场景下的一个示意图。图5的应用场景包括一影像拍摄系统50和一图像处理设备515。影像拍摄系统50主要包括一影像拍摄设备510和数据转换设备10,数据转换设备10可以被称为读卡器。其中影像拍摄设备510可以包括一云台,云台能够拆卸地安装于无人机上,云台可以用于承载一相机,并为相机增稳。

本例中,nvme固态硬盘11作为影像拍摄设备510的数据存储装置,影像拍摄设备510上包括一pcie接口511,具体可以体现为一pcie接口插槽,可以可拆卸的连接nvme固态硬盘11。影像拍摄设备510在工作时,通过pcie接口511将影像数据写入nvme固态硬盘11,并且在用户需要时,可以将nvme固态硬盘11从pcie接口511插槽中取出,并插入数据转换设备10中,与图像处理设备515交换数据,数据转换设备10可以通过usb连接线514与图像处理设备515连接。

数据转换设备10包括至少一个芯片,提供硬件接口以及数据转换功能。例如,提供一pcie接口513,可拆卸的连接nvme固态硬盘11,该pcie接口513可以是插槽,可供nvme固态硬盘11插入;芯片还提供一usb接口512,连接外部的图像处理设备515;另外,数据转换设备10还可以通过芯片提供电源状态指示、读/写状态指示等功能,相应的,数据转换设备10还可以有电源指示灯、读/写指示灯等输出接口。

芯片在接收到图像处理设备515的写指令时,此时写指令数据格式是usb数据,芯片可以将usb数据转换为nvme协议格式的数据,发给nvme固态硬盘11;在接收到所述图像处理设备515的读指令时,将nvme协议格式数据转换成usb数据,发给图像处理设备515。

数据转换设备10可参考图6,结合图2-图5,仍以不同芯片组合实现数据转换设备10功能为例,此时数据转换设备10可以包括usbphy芯片601(相当于第一芯片1103)以及fpga芯片(相当于第二芯片1104)。其中usbphy芯片的usb接口为usb3.0接口,usbphy芯片的型号可选用cy3014。所述fpga芯片602带有pcie接口。usbphy芯片601与fpga芯片602之间为并行接口,可采用gpif接口。

在本实施例中,usbphy芯片601实现usb协议到并行接口的相互转换,由于usb协议相关的功能由usbphy芯片601完成,fpga芯片602可以不用考虑复杂的usb协议,因此可以简化fpga芯片602的内部功能的实现难度,也就是说,虽然引入usbphy芯片会增加硬件成本,但fpga开发成本可以大幅下降,总体上成本依然具有相当的优势。

fpga芯片602包括usb_dma模块6022、cpu6021、pcie驱动模块6024、ddr控制模块6023。这些功能模块可以通过编程实现。其中usb_dma模块6022通过并行接口及其他控制信号接口与usbphy芯片601交互,可以实现fpga芯片602与usbphy芯片601的数据收发。从数据写入方向来看,usb_dma模块6022在收到来自usbphy芯片的数据后先缓存到ddr芯片1106a中;从数据读取方向来看,usb_dma模块6022可以从ddr芯片1106a中读取数据发送给usbphy芯片601,通过usb_dma模块6022可以提高数据传输效率,降低fpga内部的cpu的负荷,避免cpu瓶颈引发的读写速度下降,尽可能地提高读写数据带宽。

fpga芯片602通过pcie接口与nvme固态硬盘11相连,实现fpga芯片602和nvme固态硬盘11的数据收发。

fpga芯片602上的处理器cpu6021(相当于处理模块1104b)对来自fpga芯片602两个接口的数据的中转进行管控,使得外部主机12需要通过fpga芯片602访问nvme固态硬盘11。cpu6021与usb_dma模块6022、pcie驱动模块6024、ddr控制模块6023通过axi总线进行交互。

当外部主机12需要向nvme固态硬盘11写数据时,外部主机12通过usb接口按照自定义的命令格式发送usb数据给usbphy芯片601,usbphy芯片601收到外部主机12的数据后,将usb数据转成并行接口数据,发送给fpga芯片602内部的usb_dma模块6022,usb_dma模块6022收到数据后,写入预先设定的ddr芯片1106a的地址,然后产生中断,通知fpga芯片602内部的cpu6021,cpu6021对通知消息进行分析,获取要写入nvme固态硬盘11的目的地址,然后cpu6021将从ddr芯片1106a中获取的数据转换成nvme协议格式的数据,向nvme固态硬盘11发送nvmeiowrite命令,将需要写入的数据携带在nvmeiowrite命令中,写入nvne固态硬盘11。

当外部主机12需要从nvme固态硬盘11读取数据时,首先外部主机12通过usb接口按照预定义的格式发送读指令到usbphy芯片601,usbphy芯片601收到读指令后转换成并行接口数据转发给fpga芯片602内部的usb_dma模块6022,usb_dma模块6022收到读命令后写入预定义的ddr地址,然后产生中断,告知fpga芯片602上的cpu6021,cpu6021对读指令进行分析,获取读地址,读数据量等访问参数,然后cpu6021根据这些访问参数控制pcie驱动模块6024向nvme固态硬盘11发送nvmeioread命令,nvme固态硬盘11依据访问参数,通过pcie接口发送nvme协议格式的数据到ddr芯片1106a中,然后cpu6021从ddr芯片1106a中读取nvme协议格式的数据并转换成并行接口数据,控制dma模块6023把转换后的并行接口数据发送给外部主机12。

fpga外围连接一个ddr芯片1106a,用于数据的缓存,无论是来自外部主机12的数据还是nvme固态硬盘11的数据均可以缓存在ddr芯片1106a中,由fpga芯片602上的cpu6021对数据进行管理。

由于fpga芯片功耗较高,usbphy的usb接口难以驱动整个读卡器,因此数据转换设备10可以通过一直流供电接口外接直流电源,给fpga芯片602、usbphy芯片601及nvme固态硬盘11提供电源。

可以看出,图像处理设备515不用实现nvme协议,nvme协议由fpga芯片602实现,图像处理设备515只需要把nvme固态硬盘11当成普通的大容量存储设备,因此无需改动现有设备,使本申请提供的实施例更具通用性。

图7是另一个实施例中一芯片70的部分结构示意图。该芯片70可以作为上述数据转换设备10的结构的一组件,也可以为其他产品的一部分提供相应的功能。

如图7,该芯片70包括第二接口1102、并行接口702以及协议转换装置701。

第二接口1102可以连接nvme固态硬盘11,例如可以是pcie接口、u.2接口等。并行接口702与外部装置(例如图2中的第一芯片1103,但并不排除可连接其他外部装置)连接。

协议转换装置701的功能可类似于图2、图3中第二芯片1104的功能。例如,可在接收到来自所述外部装置的写指令时,将写指令携带的写入数据的格式转换为nvme协议格式,然后发给第二接口1102,以写入nvme固态硬盘11;在接收到来自所述外部装置的读指令时,将所述nvme固态硬盘中的nvme协议格式数据转换成并行接口数据,发给并行接口702。

芯片70的类型可以是具有编程功能的芯片,例如fpga芯片等。协议转换装置701的功能既可以通过软件实现,也可以通过硬件或软硬结合的方式实现。以软件实现其功能为例,该协议转换装置701可以包括多个功能模块,以协同完成协议转换装置701的功能,其中一个例子,可以参考图4中第二芯片1104内部的部分组成模块的功能。参见图8,功能模块可以有dma模块1104a、与第二接口1102连接的第二接口驱动模块1104c,以及处理模块1104b,该些模块的功能及协同工作的原理可参考图4中对应模块的描述,在此不在赘述。

另外,参考图9,该芯片70还可以连接有一缓存芯片,该缓存芯片以ddr芯片1106a为例,芯片内还可以包括一ddr控制模块1104d,芯片在执行数据格式转换前,可以通过ddr控制模块1104d先将来自外部装置的数据或来自nvme固态硬盘的数据缓存到ddr芯片1106a中。

图10为另一芯片的实施例的部分结构示意图。该芯片90相对于图7的芯片,具有更多的数据转换功能,该芯片90可以用以实现数据转换设备10的部分功能,也可以在其他需要数据转换的产品上实现其功效。

该芯片90包括第二接口1102、usb接口901以及协议转换装置902。

通过usb接口901与外部主机12连接;第二接口1102与nvme固态硬盘11连接,同样,第二接口1102可能是pcie接口等支持nvme协议的接口。

芯片90中的协议转换装置902可以具有将usb数据和nvme协议格式的数据直接相互转换的功能。过程可以体现为:将usb数据转换为nvme协议格式的数据,发给第二接口1102;在接收到外部主机的读指令时,将nvme固态硬盘11中的nvme协议格式数据转换成usb数据,发给所述usb接口901。

图11提供了数据转换方法的实施例的部分流程。该流程的各个步骤可以通过数据转换设备10来执行,但本方法并不局限于仅可以通过此设备执行。

在s110步骤,接收外部主机的写指令或读指令;

在s111步骤,在接收到外部主机12的写指令时,将写指令携带的写入数据的格式转换为nvme协议格式,然后写入所述nvme固态硬盘11对应的地址空间(s112步骤);

在s113步骤,在接收到外部主机12读指令时,从读指令对应的地址空间中读取nvme协议格式的数据,并转换成第一格式的数据后发给外部主机12(s114步骤),第一格式与外部主机12的接口类型相对应。

作为例子,第一格式的数据和nvme协议格式的数据之间的数据转换可以分阶段进行,例如,在第一格式的数据转换为nvme协议格式的数据时,可以先将写指令携带的写入数据转换为并行接口数据,再将所述并行接口数据转换成nvme协议格式的数据;当需要将nvme协议格式的数据转换成第一格式的数据时,可以将nvme协议格式数据先转换成并行接口数据,再将所述并行接口数据转换为第一格式的数据。

可以理解的是,第一格式的数据和nvme协议格式的数据之间的数据转换是否分阶段进行,以及分几个阶段进行可以根据设计者的需求确定,例如,参考图10所示的芯片结构,在该设计方案中,可以直接将第一格式的数据(例如usb数据)转换为nvme协议格式的数据,或将nvme协议格式的数据转换为第一格式的数据(例如usb数据)。

与前述数据转换方法的实施例相对应,也可以通过本申请提供的数据转换装置执行该方法。数据转换装置的实施例可以通过软件实现,也可以将该装置装载于图1中的数据转换设备10,或图7、图10所示芯片中等方式通过软硬件结合实现。以软件实现为例,作为一个逻辑意义上的装置,可通过图12-14进行描述。

参见图12,数据转换装置200,可以包括:

第一接口驱动模块201,可以接收外部主机12的写指令或读指令,并通知协议转换模块;以及与外部主机12交互第一格式的数据;

第二接口驱动模块203,可以与nvme固态硬盘11交互数据;

协议转换模块202,可以在接收到外部主机12的写指令时,将写指令携带的写入数据的格式转换为nvme协议格式,然后通知第二接口驱动模块203写入所述nvme固态硬盘11对应的地址空间;在接收到外部主机12的读指令时,从读指令对应的地址空间中读取nvme协议格式的数据,并转换成第一格式的数据后通知第一接口驱动模块201发给外部主机12。

参见图13,作为例子,协议转换模块202可以包括第一协议转换模块2021和第二协议转换模块2022;

第一协议转换模块2021,可以将第一格式的数据转换为并行接口数据,以及将所述并行接口数据转换为第一格式的数据;

第二协议转换模块2022,可以将并行接口数据转换成nvme协议格式的数据;以及将nvme协议格式的数据转换为并行接口数据。

参见图14,第二协议转换模块2022可以包括:dma模块2022a以及处理模块2022b;

dma模块2022a可以将外部主机12的读/写指令存入缓存芯片1106中,并将缓存地址通知处理模块2022b,以及根据处理模块2022b通知的缓存地址从缓存芯片1106中读出数据传输给第一协议转换模块2021;

处理模块2022b可以根据dma模块2022a通知的缓存地址获取读指令,分析读指令以确定包括对应的地址空间在内的访问参数,根据访问参数利用第二接口驱动模块203访问所述nvme固态硬盘,将nvme固态硬盘返回的数据缓存在缓存芯片1106中,并将数据的缓存地址通知dma模块2022a;或者

根据dma模块2022a通知的缓存地址获取写指令,通过分析写指令确定包括对应的地址空间在内的访问参数,将写指令携带的写入数据通过所述第二接口驱动模块203写入到所述nvme固态硬盘中。

数据转换装置200可以应用于多种应用场景下,例如可以与具有usb接口的外部主机连接,因此,第一格式的数据可以包括usb数据。

某些例子中,数据转换装置200中的各逻辑模块的功能可以与图9中的模块具有类似功能。

以上所描述的各实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1