掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本申请涉及存储空间数据读写领域,尤其涉及一种存储空间数据读写方法、设备、存储介质及程序产品。

背景技术

芯片内部存储空间通常由两个或两个以上处理部件访问,数据从一个处理部件写入存储空间,由另一个处理部件读出。两个处理部件对存储空间的访问,通常需要CPU介入进行上层管理。由于需要CPU介入进行上层管理,降低了存储空间数据吞吐效率。

上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。

发明内容

本申请实施例通过提供一种存储空间数据读写方法、设备、存储介质及程序产品,旨在解决处理部件访问存储空间需要CPU介入进行上层管理,降低了存储空间数据吞吐效率的问题。

本申请实施例提供一种存储空间数据读写方法,所述存储空间包括多个预设长度的连续存储单元,每个存储单元对应设置用于表示存储单元内数据处于写入状态或空闲状态的闲忙标志位,所述方法包括:

依次对每个存储单元执行如下操作,直至所有的存储单元完成读写操作:

通过写入部件将数据写入所述存储单元后,将所述存储单元对应的闲忙标志位设置为写入状态;

通过读出部件检测到所述写入状态,并达到预设条件时,将所述存储单元的数据全部读出,并将所述存储单元的闲忙标志位恢复为空闲状态。

在一些实施例中,所述预设条件为:所述写入部件将数据写入下一存储单元,并将所述下一存储单元对应的闲忙标志位设置为写入状态。

在一些实施例中,所述读出部件设置有与每一所述存储单元对应的等待标志位,所述等待标志位用于表示所述存储单元处于未写入状态或等待读出状态;所述通过写入部件将数据写入所述存储单元后,将所述存储单元对应的闲忙标志位设置为写入状态的步骤之后,还包括:

通过所述读出部件设置与所述存储单元对应的等待标志位为等待读出状态。

在一些实施例中,所述通过读出部件检测到所述写入状态,并达到预设条件时,将所述存储单元的数据全部读出,并将所述存储单元的闲忙标志位恢复为空闲状态的步骤之后,还包括:

通过所述读出部件设置与所述存储单元对应的等待标志位为所述未写入状态。

在一些实施例中,所述写入部件将数据写入所述存储单元后,将所述存储单元对应的闲忙标志位设置为写入状态,包括:

通过所述写入部件将数据写入所述存储单元,检验所述数据的有效性;

若所述数据有效则将所述存储单元对应的闲忙标志位设置为写入状态。

在一些实施例中,所述检验所述数据的有效性,包括:

解析所述数据得到身份检验信息,将所述身份检验信息与预设身份信息对比,检验所述数据的有效性;或

对所述数据进行异或检验,检验所述数据的有效性;或

对所述数据进行循环冗余检验,检验所述数据的有效性。

本申请还提出一种存储空间数据读写设备,所述设备包括处理器、与所述处理器电连接的存储器及存储在所述存储器上并可在所述处理器上运行的存储空间数据读写程序;所述存储空间数据读写程序被所述处理器执行时实现如所述的存储空间数据读写方法的步骤。

本申请还提出一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如所述的存储空间数据读写方法中的步骤。

本申请还提出一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现所述的存储空间数据读写方法的步骤。

本申请通过在存储单元内设置用于表示存储单元内数据处于写入状态或空闲状态的闲忙标志位,使得写入部件将数据写入存储单元后设置闲忙标志位为写入状态,读出部件检测到写入状态后将存储单元的数据及时读取,之后读出部件再将闲忙标志位恢复为空闲状态。本实施例通过设置闲忙标志位作为判断存储单元闲忙的标志,实现处理部件访问存储空间无需CPU介入进行上层管理,省去了CPU介入管理的时间成本,提高存储空间数据吞吐效率。

附图说明

图1为本申请的存储空间数据读写设备的一实施例的硬件框架图;

图2为本申请的存储空间数据读写方法的一实施例的流程框图;

图3为本申请的存储空间数据读写方法的另一实施例的流程框图;

图4为本申请的存储空间数据读写方法的又一实施例的流程框图;

图5为本申请的存储空间数据读写方法的又一实施例的流程框图;

图6为本申请的存储空间数据读写方法的又一实施例的流程框图。

具体实施方式

为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

芯片内部存储空间通常都由两个或两个以上处理部件访问,数据从一个处理部件写入存储空间,由另一个处理部件读出。两个处理部件对存储空间的访问,通常需要CPU介入进行上层管理。由于需要CPU介入进行上层管理,降低了存储空间数据吞吐效率。

因此,当前需要解决处理部件访问存储空间需要CPU介入进行上层管理,降低了存储空间数据吞吐效率的问题。鉴于此,本申请提出一种存储空间数据读写方法、设备、存储介质及程序产品。

请参照图1,下面介绍一种存储空间数据读写设备,该存储空间数据读写设备可以包括:处理器1001,例如CPU,存储器1005,用户接口1003,网络接口1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选包括无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中出示的存储空间数据读写设备结构并不构成对存储空间数据读写设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及存储空间数据读写程序。其中,操作系统是管理和控制存储空间数据读写设备硬件和软件资源的程序,支持存储空间数据读写程序以及其它软件或程序的运行。

在图1所示的存储空间数据读写设备中,网络接口1004主要用于后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的存储空间数据读写程序,并执行如上所述的存储空间数据读写方法的步骤。

在一实施例中,处理器1001可以用于调用存储器1005中存储的存储空间数据读写程序,并执行以所述方法包括:

依次对每个存储单元执行如下操作,直至所有的存储单元完成读写操作:

通过写入部件将数据写入所述存储单元后,将所述存储单元对应的闲忙标志位设置为写入状态;

通过读出部件检测到所述写入状态,并达到预设条件时,将所述存储单元的数据全部读出,并将所述存储单元的闲忙标志位恢复为空闲状态。

在一实施例中,处理器1001可以用于调用存储器1005中存储的存储空间数据读写程序,并执行以所述方法包括:

所述预设条件为:所述写入部件将数据写入下一存储单元,并将所述下一存储单元对应的闲忙标志位设置为写入状态。

在一实施例中,处理器1001可以用于调用存储器1005中存储的存储空间数据读写程序,并执行以所述方法包括:

读出部件设置有与每一所述存储单元对应的等待标志位,所述等待标志位用于表示存储单元处于未写入状态或等待读出状态;所述通过写入部件将数据写入所述存储单元后,将所述存储单元对应的闲忙标志位设置为写入状态的步骤之后,还包括:

通过所述读出部件设置与所述存储单元对应的等待标志位为等待读出状态。

在一实施例中,处理器1001可以用于调用存储器1005中存储的存储空间数据读写程序,并执行以所述方法包括:

所述通过读出部件检测到所述写入状态,并达到预设条件时,将所述存储单元的数据全部读出,并将所述存储单元的闲忙标志位恢复为空闲状态的步骤之后,还包括:

通过所述读出部件设置与所述存储单元对应的等待标志位为未写入状态。

在一实施例中,处理器1001可以用于调用存储器1005中存储的存储空间数据读写程序,并执行以所述方法包括:

所述通过写入部件将数据写入所述存储单元后,将所述存储单元对应的闲忙标志位设置为写入状态,包括:

通过所述写入部件将数据写入所述存储单元,检验所述数据的有效性;

若所述数据有效则将所述存储单元对应的闲忙标志位设置为写入状态。

在一实施例中,处理器1001可以用于调用存储器1005中存储的存储空间数据读写程序,并执行以所述方法包括:所述检验所述数据的有效性包括:

解析所述数据得到身份检验信息,将所述身份检验信息与预设身份信息对比,检验所述数据的有效性;或

对所述数据进行异或检验,检验所述数据的有效性;或

对所述数据进行循环冗余检验,检验所述数据的有效性。

本申请的存储空间数据读写设备通过在存储单元内设置用于表示存储单元内数据处于写入状态或空闲状态的闲忙标志位,使得写入部件将数据写入存储单元后设置闲忙标志位为写入状态,读出部件检测到写入状态后将存储单元的数据及时读取,之后读出部件再将闲忙标志位恢复为空闲状态。存储空间数据读写设备通过设置闲忙标志位作为判断存储单元闲忙的标志,提高存储空间数据吞吐效率。

请参照图2,基于上述存储空间数据读写设备硬件架构,下面提出本申请的存储空间数据读写方法的实施例一,存储空间包括多个预设长度的连续存储单元,每个存储单元对应设置用于表示存储单元内数据处于写入状态或空闲状态的闲忙标志位。

需要说明的是,存储空间用于存储数据。存储空间以某一固定长度为单位。例如可以是512MB、1T等。本实施例中将存储空间划分为多个预设长度的连续存储单元。可以理解的,这里的预设长度可根据实际情况设置,例如可灵活设置为512Byte、1024Byte等。应该理解,上述列举的存储单元的具体数值只是为了本领域技术人员更好地理解本申请的技术方案,不应该理解为对本申请的存储单元的长度的具体限制。

闲忙标志位,本实施例中每一个存储单元对应设置一个闲忙标志位。闲忙标志位用于表示存储单元内数据处于写入状态或空闲状态。闲忙标志位可设置于存储单元的开头位置、末尾位置或者其他位置。在此不限定闲忙标志位在存储单元的具体位置。

在一些实施例中,可以设置闲忙标志位为1,此时表示这个存储单元中数据已被写入处理部件写入,可以由读出处理部件读取。相反地,可以设置闲忙标志位为0,

可以理解的,在其他的实施例中,可以设置多位2进制数来表示写入状态或空闲状态。例如可用两位二进制数表示存储单元处于写入状态或空闲状态。01表示这个存储单元中数据已被写入处理部件写入,可以由读出处理部件读取。相反地,可以标志设置闲忙标志位为10,此时表示这个存储单元空闲,可以对这个存储单元写入数据。当然,还可以通过更多位的2进制数来对闲忙标志位设置写入状态或空闲状态。

所述存储空间数据读写方法包括以下步骤:

依次对每个存储单元执行如下操作,直至所有的存储单元完成读写操作:

S100、通过写入部件将数据写入所述存储单元后,将所述存储单元对应的闲忙标志位设置为写入状态;

需要说明的是,本申请的写入部件(也称写入处理部件)负责向存储空间写入数据。本申请的读出部件(也称读出处理部件)负责从存储空间读出数据。写入部件和读出部件可以是各种能够实现对存储空间实现写入数据的部件和对存储空间实现读取数据的部件。

在写入部件将数据写入存储单元后,通过设置与存储单元对应的闲忙标志位为写入状态(例如设置闲忙标志位为1),可以及时将存储单元的闲忙状态表示出来,以使得读取部件及时获知存储单元的闲忙状态,以及读取部件及时读取存储单元的数据,以提高存储空间的数据吞吐效率。

S200、通过读出部件检测到所述写入状态,并达到预设条件时,将所述存储单元的数据全部读出,并将所述存储单元的闲忙标志位恢复为空闲状态。

读出部件检测到所述写入状态,说明写入状态对应的存储单元处于数据写入状态。达到预设条件后读出部件可将与所述写入状态对应的存储单元的数据全部读出。从而完成一个存储单元的写入和读取。

需要说明的是,在读出部件将存储单元的数据读出后,将存储单元的闲忙标志位恢复为空闲状态。以便将存储单元内空闲状态及时显示出来,防止读出部件误将内部无写入数据的存储单元进行读取。

值得一提的是,为了进一步提高存储空间的数据吞吐效率。请参照图3,预设条件可设置为写入部件将数据写入下一存储单元,并将所述下一存储单元对应的闲忙标志位设置为写入状态。即在下一存储单元完成数据写入后,读出部件进行上一个存储单元的数据读取。写入部件完成下一存储单元数据写入后,读取部件读取上一单元的数据。如此交替工作可实现无需CPU(即中央处理器)介入,即可实现处理部件访问存储空间无需CPU介入进行上层管理,省去了CPU介入管理的时间成本,提高存储空间数据吞吐效率。

下面通过一个典型实施例进行说明。例如存在存储单元0,存储单元1,存储单元2,存储单元3......。

在T0~T1时间内:写入部件对存储单元0写入数据,待存储单元0数据全部写满后,设置闲忙标志位为1。

在T1~T2时间内:写入部件对存储单元1写入数据,待存储单元1数据全部写满后,设置闲忙标志位为1。读出部件从存储单元0读出数据,待存储单元0全部数据读出后,清除闲忙标志位为0。

在T2~T3时间内:写入部件对存储单元2写入数据,待存储单元2数据全部写满后,设置闲忙标志位为1。读出处理部件从存储单元1读出数据,待存储单元1全部数据读出后,清除闲忙标志位为0。

以此类推,完成存储空间余下存储单元的读写操作。

需要说明的是,这里影响数据读写速度的情况存在两种情形:一种是写入部件慢于读出部件;另一种是写入部件快于读出部件。具体数据读写速度取决于处理速度慢的那个处理部件。

本实施例通过在存储单元内设置用于表示存储单元内数据处于写入状态或空闲状态的闲忙标志位,使得写入部件将数据写入存储单元后设置闲忙标志位为写入状态,读出部件检测到写入状态后将存储单元的数据及时读取,之后读出部件再将闲忙标志位恢复为空闲状态。本实施例通过设置闲忙标志位作为判断存储单元闲忙的标志,实现处理部件访问存储空间无需CPU介入进行上层管理,省去了CPU介入管理的时间成本,提高存储空间数据吞吐效率。

基于同一发明构思,请参照图4,本申请还提出实施例二,实施例二建立在实施例一的基础之上。

实施例二

读出部件设置有与每一所述存储单元对应的等待标志位,所述等待标志位用于表示存储单元处于未写入状态或等待读出状态;

本实施例的存储空间数据读写方法包括:

S100、通过写入部件将数据写入所述存储单元后,将所述存储单元对应的闲忙标志位设置为写入状态;

S300、通过所述读出部件设置与所述存储单元对应的等待标志位为等待读出状态;

S200、通过读出部件检测到所述写入状态,并达到预设条件时,将所述存储单元的数据全部读出,并将所述存储单元的闲忙标志位恢复为空闲状态。

下面通过一个典型实施例进行说明。例如存在存储单元0,存储单元1,存储单元2,存储单元3......。

在T0~T1时间内:写入部件对存储单元0写入数据,待存储单元0数据全部写满后,设置闲忙标志位为1。读出部件的等待标志位为1(即等待读出状态),即等待有效数据。

在T1~T2时间内:写入部件对存储单元1写入数据,待存储单元1数据全部写满后,设置闲忙标志位为1。读出部件从存储单元0读出数据,待存储单元0全部数据读出后,清除闲忙标志位为0,设置存储单元1的等待标志位为1,即等待存储单元1的有效数据。

在T2~T3时间内:写入部件对存储单元2写入数据,待存储单元2数据全部写满后,设置闲忙标志位为1。读出处理部件从存储单元1读出数据,待存储单元1全部数据读出后,清除闲忙标志位为0,设置存储单元2的等待标志位为1,即等待存储单元2的有效数据。

以此类推,完成存储空间余下存储单元的读写操作。

通过读出部件设置有与每一所述存储单元对应的等待标志位,使得读出部件更加能够逐一读取存储单元的数据,提高读出部件读取存储数据的有序性,从而提高存储空间数据吞吐效率。

请参照图5,在一些实施例中,步骤S200之后还包括:

S400、通过所述读出部件设置与所述存储单元对应的等待标志位为未写入状态。

在读出部件将存储单元读取出来后,读出部件将与所述存储单元对应的等待标志位设置为未写入状态。例如在读出部件从存储单元0读取出数据后,将与存储单元0对应的等待标志位从1设置为0(即未写入状态)。防止读出部件误从刚读取数据的存储单元中读取数据。提高读出部件读取存储数据的有序性,提高存储空间数据吞吐效率。

基于同一发明构思,请参照图6,本申请还提出实施例三,实施例三建立在实施例一的基础之上。

实施例三

步骤S100具体包括:

S110、通过所述写入部件将数据写入所述存储单元,检验所述数据的有效性;

S120、若所述数据有效则将所述存储单元对应的闲忙标志位设置为写入状态。

可以理解的,在写入部件将数据写入所述存储单元后,通过先检验数据的有效性,若数据有效则将所述存储单元对应的闲忙标志位设置为写入状态,避免非目标数据、乱码数据或错误数据输入到存储单元中,提高存储入存储空间数据的准确性。

具体的,检验所述数据的有效性可通过如下任意一种方式实现。

在一些实施例中,解析所述数据得到身份检验信息,将所述身份检验信息与预设身份信息对比,检验所述数据的有效性。

数据中通常携带着表明数据种类的身份检验信息。身份检验信息可以是各种数字、英文字母、字符或者其中至少任意两种的结合。并且身份检验信息往往数据中的特定位置,通过解析数据中的特定位置即可得到身份检验信息。通过将解析得到的身份检验信息与预设身份信息对比,若二者相符则说明写入部件写入的数据有效。

在其他一些实施例中,对所述数据进行异或检验,检验所述数据的有效性。具体地,将所述数据中的特定位置的某个字节的进行依次异或后,最后即得到校验码,将校验码与预设检验码进行对比,相同则说明存储单元中的数据在通信中没有发生通信错误,数据有效;不同则说明存储单元中的数据在通信中发生通信错误,数据无效。

在其他一些实施例中,还可以对所述数据进行循环冗余检验,检验所述数据的有效性。值得一提的是,还可以通过LRC校验法、格雷码校验法、和校验法等方法对存储单元中的数据进行有效性检查。

本申请还提出一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现所述的存储空间数据读写方法中的步骤。

本发明还提出一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的存储空间数据读写方法的步骤,本发明存储空间数据读写设备、计算机可读存储介质和计算机程序产品的各实范例,均可参照本发明存储空间数据读写方法各个实施例,此处不再资述。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

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

相关技术
  • 存储空间数据读写方法、设备、存储介质及程序产品
  • 提供带注释的交通空间数据的方法和设备、评估方法、训练方法、计算机程序及存储介质
技术分类

06120113241041