文件读写方法

文档序号:1741664 发布日期:2019-11-26 浏览:20次 >En<

阅读说明:本技术 文件读写方法 (File read/write method ) 是由 双小川 关宁 滕树鹏 刘攀 田文波 邱源 王茂森 白亮 韦杰 于 2019-08-28 设计创作,主要内容包括:本发明提供了一种文件读写方法,本发明针对嵌入式操作系统,利用SSD的控制器和DMA功能,使用操作系统信号量和循环缓冲区资源,提出了一种提高星载嵌入式系统读写文件速度的方法,以期解决目前星载计算机系统读写文件速度受制于单个SSD控制器的DMA速度,进而提高星载计算机系统IO性能。本发明为持续大量的读写操作提供支持,发挥操作系统信号量、调度算法优势,降低星载嵌入式系统的处理器使用。本发明针对星载嵌入式系统,能够有效提高SSD读写速度,对于实现数据的高速访问和存储提供保证。(The present invention provides a kind of file read/write methods, the present invention is directed to embedded OS, utilize the controller and DMA function of SSD, use operating system semaphore and circular buffering area resource, propose a kind of method for improving spaceborne embedded system reading and writing of files speed, to solve the DMA speed that current board computer system reading and writing of files speed is limited by single SSD controller, and then improve board computer system IO performance.The present invention provides support to continue a large amount of read-write operation, plays operating system semaphore, dispatching algorithm advantage, and the processor for reducing spaceborne embedded system uses.The present invention is directed to spaceborne embedded system, can effectively improve SSD read or write speed, provides guarantee for the high speed access and storage of realizing data.)

文件读写方法

技术领域

本发明涉及一种文件读写方法。

背景技术

星载计算机系统运用嵌入式操作系统后,使用文件系统能够使得综合电子系统软件的开发更加灵活和便捷。充分利用嵌入式操作系统提供的文件函数,方便开发应用程序。用户程序只需关注读写技术实现,不必担心IO资源限制。

随着卫星应用载荷数量提升,需提高星载计算机读写文件速度。综合电子星载计算机只有提高IO性能,才能满足卫星整体性能指标。

嵌入式文件系统在宇航星载计算机中有着广泛的应用,而现有实现技术中,主要有以外下两种实现方式:

1、利用FPGA控制存储器实现简易的文件系统,但无法与现有嵌入式操作系统接口对接,应用软件接口较难;

2、利用文件系统,但无法匹配高速载荷数据的读写需求。

发明内容

本发明的目的在于提供一种文件读写方法。

为解决上述问题,本发明提供一种文件读写方法,包括:

步骤S1,为当前星载嵌入式系统挂载SSD,其中,根据速度指标挂载多个SSD,保证在读写操作时存在多个SSD,提供所述SSD的控制器;

步骤S2,为每个SSD创建读写函数,所述读写函数操作的是每个SSD的虚拟地址,其中,所述读写函数中的写函数,用于实现星载嵌入式系统的分段内存的数据通过控制器DMA搬移至SSD中;所述读写函数中的读函数,用于实现SSD中的数据通过控制器DMA搬移至星载嵌入式系统的分段内存;

步骤S3,同时启动每个SSD的控制器对应的控制器DMA,在写操作时通过所述写函数,把所述分段内存的数据搬移至SSD中,或在读操作时通过所述读函数,把SSD中的数据搬运至所述分段内存中,其中,所述分段内存的大小等于星载嵌入式系统的内存的数据大小/SSD个数,所述分段内存的偏移地址是星载嵌入式系统的内存的数据的搬移基地址加当前控制器位置*所述分段内存的大小;

步骤S4,等待所有的SSD控制器的控制器DMA结束;

步骤S5,根据读写需求,周期性重复步骤S3和步骤S4。

进一步的,在上述方法中,所述SSD的控制器为两个以上。

进一步的,在上述方法中,等待所有的SSD控制器的控制器DMA结束,包括:

针对读或写操作,为每个控制器引进一个控制器DMA的结束变量,当所有控制器DMA完成后,一次读写才完成。

进一步的,在上述方法中,针对读或写操作,为每个控制器引进一个控制器DMA的结束变量,当所有控制器DMA完成后,一次读写才完成,包括:

为每个SSD引进读写完成的结束变量,当所有控制器DMA完成后,完成标志才置位。

进一步的,在上述方法中,同时启动每个SSD的控制器对应的控制器DMA,包括:

在大量读写数据期间,连续性启动控制器DMA。

进一步的,在上述方法中,为每个SSD创建读写函数,所述读写函数操作的是每个SSD的虚拟地址,

每个SSD虚拟地址转化为物理地址时,由SSD的FTL控制器决定其逻辑和物理地址映射关系。

与现有技术相比,本发明针对嵌入式操作系统,利用SSD的控制器和DMA功能,使用操作系统信号量和循环缓冲区资源,提出了一种提高星载嵌入式系统读写文件速度的方法,以期解决目前星载计算机系统读写文件速度受制于单个SSD控制器的DMA速度,进而提高星载计算机系统IO性能。本发明为持续大量的读写操作提供支持,发挥操作系统信号量、调度算法优势,降低星载嵌入式系统的处理器使用。本发明针对星载嵌入式系统,能够有效提高SSD读写速度,对于实现数据的高速访问和存储提供保证。

附图说明

图1是本发明一实施例的星载嵌入式系统读写文件的示意图;

图2是本发明一实施例的读写SSD的流程图;

图3是本发明一实施例的的利用信号量连续读写的流程图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

如图1至图3所示,本发明提供一种文件读写方法,包括:

步骤S1,为当前星载嵌入式系统挂载SSD,其中,根据速度指标挂载多个SSD,保证在读写操作时存在多个SSD,提供所述SSD的控制器;

在此,SSD为固态驱动器(Solid State Disk或Solid State Drive);

为星载嵌入式系统挂载SSD,根据速度指标挂载多个,保证在读写操作时存在多个SSD,确保多个SSD控制器不会相互影响;

步骤S2,为每个SSD创建读写函数,所述读写函数操作的是每个SSD的虚拟地址,其中,所述读写函数中的写函数,用于实现星载嵌入式系统的分段内存的数据通过控制器DMA搬移至SSD中;所述读写函数中的读函数,用于实现SSD中的数据通过控制器DMA搬移至星载嵌入式系统的分段内存;

在此,读或写均是通过控制器DMA实现,节省星载嵌入式系统处理器资源;

凡是需要星载嵌入式系统内存和SSD交互数据,都需要使用SSD的虚拟地址和控制器DMA,通过控制器DMA实现数据交互,为星载嵌入式系统降低计算资源;

步骤S3,同时启动每个SSD的控制器对应的控制器DMA,在写操作时通过所述写函数,把所述分段内存的数据搬移至SSD中,或在读操作时通过所述读函数,把SSD中的数据搬运至所述分段内存中,其中,所述分段内存的大小(segsize)等于星载嵌入式系统的内存的数据大小(size)/SSD个数(n),所述分段内存的偏移地址是星载嵌入式系统的内存的数据的搬移基地址加当前控制器位置*所述分段内存的大小(segsize);

在此,通过分解大块内存数据,每个小块数据和SSD进行交互,保证多个SSD并行工作,整体提高星载嵌入式系统读写速度;

引进交互数据内存块分段DMA,充分利用内存、操作系统信号量和循环缓冲区资源,发挥多个SSD并行性能,倍数提高读写文件速度;

步骤S4,等待所有的SSD控制器的控制器DMA结束;

在此,因为同时启动SSD个数(n)个控制器DMA,需等待所有控制器DMA结束后,一次读写操作才算结束;

步骤S5,根据读写需求,周期性重复步骤S3和步骤S4,保证读写文件的速度。

在此,本发明针对嵌入式操作系统,利用SSD的控制器和DMA功能,使用操作系统信号量和循环缓冲区资源,提出了一种提高星载嵌入式系统读写文件速度的方法,以期解决目前星载计算机系统读写文件速度受制于单个SSD控制器的DMA速度,进而提高星载计算机系统IO性能。本发明为持续大量的读写操作提供支持,发挥操作系统信号量、调度算法优势,降低星载嵌入式系统的处理器使用。本发明针对星载嵌入式系统,能够有效提高SSD读写速度,对于实现数据的高速访问和存储提供保证。

本发明的文件读写方法一实施例中,所述SSD的控制器为两个以上。

在此,对于使用多个SSD作为存储介质的星载文件系统,至少需要两个或以上的为多个SSD提供了并行操作的控制器,成倍增长读写速度,从而保证高速的读写速度。

当使用多个SSD作为存储介质的星载文件系统,至少保证为星载嵌入式系统提供多个存储介质,确保软件读写可以并行操作。

本发明的文件读写方法一实施例中,步骤S4中,等待所有的SSD控制器的控制器DMA结束,包括:

针对读或写操作,为每个控制器引进一个控制器DMA的结束变量,当所有控制器DMA完成后,一次读写才完成。

在此,引进保证所有控制器DMA完成的逻辑,确保星载文件系统中所有数据文件完整性。针对读或写操作,为每个控制器引进一个控制器DMA的结束变量,当所有控制器DMA完成后,一次读写才完成。只有所有DMA结束才是完整读写函数,防止因各个SSD完成时间不一致,影响读写数据的正确性。

本发明的文件读写方法一实施例中,针对读或写操作,为每个控制器引进一个控制器DMA的结束变量,当所有控制器DMA完成后,一次读写才完成,包括:

为每个SSD引进读写完成的结束变量,当所有控制器DMA完成后,完成标志才置位,保证了一次数据交互的完整性。

本发明的文件读写方法一实施例中,步骤S3中,同时启动每个SSD的控制器对应的控制器DMA,包括:

在大量读写数据期间,连续性启动控制器DMA。

在此,利用星载嵌入式系统中的信号量和循环缓冲区,保证读写数据连续性和正确性。

本发明的文件读写方法一实施例中,步骤S2,为每个SSD创建读写函数,所述读写函数操作的是每个SSD的虚拟地址中,

每个SSD虚拟地址转化为物理地址时,由SSD的FTL控制器决定其逻辑和物理地址映射关系。

在此,由SSD的控制器实现均衡的使用物理地址,实现负载均衡;

综上所述,本发明能够提供对于运行嵌入式操作系统环境,进一步星载嵌入式系统读写文件速度,提高星载嵌入式系统IO性能有着积极的借鉴意义,在航天领域具有较好的实际工程应用价值。

具体的,本发明的设计原理和设计思路主要包含如下两部分,具体为:

(1)利用并行计算的思想,为每个SSD提供DMA起始内存地址和搬移大小,当所有DMA结束,完成一次读写操作;

(2)利用星载计算机嵌入式操作系统的信号量和循环缓冲区,保证连续高效完成单次读写SSD。

具体的,如图1至图3所示,本发明提供的一种提高星载嵌入式系统读写文件速度的方法包括步骤如下:

步骤一,针对星载计算机嵌入式文件系统的存储介质——SSD,创建三个物理设备,为嵌入式操作系统所识别,物理上保证是并行存在三个SSD;

步骤二,为SSD创建读写函数,函数操作的是SSD的虚拟地址,写函数实现星载嵌入式系统内存数据通过控制器DMA搬移至SSD,读函数实现SSD数据通过控制器DMA搬移至星载嵌入式系统内存。读写均是通过控制器DMA实现,节省星载嵌入式系统处理器资源;

步骤三,同时启动SSD控制器的控制器DMA,把分段内存的数据搬移至SSD(写)或从SSD搬运至内存(读);分段内存的大小(segsize)等于内存的数据大小(size)/SSD个数(3),分段内存的偏移地址是内存数据搬移基地址加分段内存大小(segsize);

步骤四,等待所有SSD控制器的DMA结束,因为同时启动SSD个数(3)个DMA,需等待所有DMA结束后,一次读写操作才算结束;

步骤五,根据读写需求,周期性重复步骤三和四,保证读写文件的速度。

本方法引入内存分割算法,降低单个DMA读写的数据量。同时启动多个DMA,并行完成读写操作,所有DMA结束后,一次读写完成。内存分割算法为每个SSD的DMA提供起始内存地址和搬移大小,所有DMA完成后,一次读写完成,确保了一次读写数据的完整性;

针对连续大量读写,利用星载计算机嵌入式操作系统的信号量、循环缓冲区等资源,重复内存分割读写,实现大量高速的IO操作。

综上所述,本发明方式以并行操作SSD方式显著提高星载嵌入式系统读写文件速度,从而提高星载嵌入式系统IO性能。相比于传统星载软件开发模式使用文件系统读写,该种方式可以极大提高星载软件读写文件的速度,具有较强的工程实践价值。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:图像处理装置和图像处理方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类