存储装置和处理数据的方法与流程


存储装置和处理数据的方法
1.本技术要求于2021年04月07日提交的申请号为202110373612.5、发明名称为“一种存储器的操作方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及计算机技术领域,特别涉及存储装置和处理数据的方法。


背景技术:



3.计算机设备中包括多种元件,存储介质便是多种元件中的一种。在存储介质中,数据以多个存储单元的形式存储,存储单元是进行数据处理的最小操作单元。
4.相关技术中,通过计算机设备中的控制器向存储介质发送指令,每个指令针对存储介质中的一个存储单元。因此,在需要基于多个存储单元进行数据处理的情况下,控制器则需要向存储介质发送多个处理指令。该方式需要控制器消耗较多的处理资源,导致资源浪费,且处理数据的效率不高。


技术实现要素:



5.本技术实施例提供了一种存储装置和处理数据的方法,以解决相关技术提供的问题,技术方案如下:
6.第一方面,提供了一种存储装置,该存储装置包括控制器和存储介质,存储介质包括指令解码器和多个存储单元,控制器和存储介质的指令解码器连接。其中,控制器,用于向存储介质的指令解码器发送第一处理指令该,第一处理指令包括第一信息和第二信息,第一信息用于指示处理方式,第二信息用于指示需要处理的数据的数据长度。相应地,存储介质的指令解码器,用于接收控制器发送的第一处理指令。基于该第一处理指令中第二信息指示的数据长度,从存储介质的多个存储单元中确定至少两个目标存储单元。之后,基于至少两个目标存储单元,按照该第一处理指令中第一信息指示的处理方式进行数据处理。
7.能够看出,控制器仅需发送一个处理指令,便能够使得存储介质的指令解码器基于至少两个存储单元进行连续的数据处理。相比于每个处理指令仅能指示指令解码器基于一个存储单元进行数据处理的情况,本实施例提供的存储装置能够减少控制器需要发送的处理指令的数量。因此,不仅降低了数据处理过程中控制器需要消耗的处理资源、避免了资源浪费,而且提高了数据处理的效率。
8.在一种可能的实现方式中,存储介质的多个存储单元位于至少一个存储行中,存储介质的指令解码器,用于确定需要处理的数据的起始地址,基于第二信息、多个存储单元的长度、至少一个存储行的长度和需要处理的数据的起始地址,从存储介质的多个存储单元中确定至少两个目标存储单元。提供了确定至少两个目标存储单元的一种示例性实现方式,从而使得存储介质的指令解码器能够基于确定出的至少两个目标存储单元实现数据处理。
9.在一种可能的实现方式中,第一处理指令还包括第三信息,第三信息用于指示地址,存储介质的指令解码器,用于将第三信息指示的地址确定为需要处理的数据的起始地址,至少两个目标存储单元的地址连续。其中,在第一处理指令携带第三信息的情况下,存储介质的指令解码器直接将第三信息指示的地址作为需要处理的数据的起始地址。由此,可以在后续过程中将需要处理的数据的起始地址所在的存储单元作为首个目标存储单元,将包括首个目标存储单元在内的、连续的存储单元确定为至少两个目标存储单元。
10.在一种可能的实现方式中,存储介质的指令解码器,用于基于存储介质的多个存储单元确定需要处理的数据的起始地址,至少两个目标存储单元的地址连续或者不连续。相应地,存储介质的指令解码器,还用于封装第一处理指令的指令标识和至少两个目标存储单元的地址,得到响应消息,向控制器发送响应消息;控制器,还用于接收响应消息。在该实现方式中,存储介质的指令解码器在多个存储单元中随机确定需要处理的数据的起始地址,随机确定至少两个目标存储单元,则至少两个目标存储单元可能连续,也可能不连续。由于至少两个目标存储单元是随机确定的,因而指令解码器还需要将至少两个目标存储单元的地址返回给控制器,以便于控制器确定指令解码器是基于哪几个目标存储单元实现的数据处理。
11.在一种可能的实现方式中,第一信息指示的处理方式包括第一处理方式,第一处理方式包括将数据存储于存储单元的处理方式,控制器,还用于发送数据。相应地,存储介质的指令解码器,用于按照第一处理方式,将控制器发送的数据存储于至少两个目标存储单元中。其中,第一处理方式例如为写入、覆盖。指令解码器进行的数据处理过程是指对数据的存储过程。
12.在一种可能的实现方式中,第一信息指示的处理方式包括第二处理方式,第二处理方式包括基于已存储数据的存储单元进行数据处理的方式,存储介质的指令解码器,用于按照第二处理方式,对至少两个目标存储单元中已存储的数据进行处理。其中,第二处理方式例如为读取、擦除。指令解码器进行的数据处理过程是指对已存储的数据的处理过程。
13.在一种可能的实现方式中,存储介质的指令解码器,还用于按照至少两个目标存储单元的地址顺序,向控制器发送至少两个目标存储单元中已存储的数据。控制器,还用于接收存储介质的指令解码器发送的至少两个目标存储单元中已存储的数据。例如在处理方式为读取时,存储介质的指令解码器需要将读取到的数据返回至控制器。其中,指令解码器通过多次发送过程完成数据的发送,每次发送过程中发送的数据长度取决于发送接口的位宽。
14.在一种可能的实现方式中,第一处理指令中还包括第四信息,第四信息用于指示数据分组要求,数据分组要求包括以存储行为单位对至少两个目标存储单元进行分组,或者以存储列为单位对至少两个目标存储单元进行分组,存储介质的指令解码器,用于按照第四信息指示的数据分组要求对至少两个目标存储单元进行分组,得到至少一个分组,基于各个分组中的目标存储单元,按照第一信息指示的处理方式进行数据处理。在该实现方式中,根据第四信息的指示,存储介质的指令解码器可以存储行为单位进行数据处理,也就是完成一个存储行中各个目标存储单元的数据处理之后,切换至其他存储行,对其他存储行的目标存储单元进行数据处理。或者,还可以存储列为单位进行数据处理,在完成一个存储列中各个目标存储单元的数据处理之后,切换至其他存储列。该第四信息使得指令解码
器进行数据处理的过程较为灵活。
15.在一种可能的实现方式中,存储介质的指令解码器,用于对于任一分组,并行使能任一分组中的目标存储单元,按照第一信息指示的处理方式对任一分组中并行使能的目标存储单元进行数据处理,使得任一分组中并行使能的目标存储单元的处理时间之间的差值小于阈值。对同一分组内的目标存储单元进行并行使能及数据处理,减少了使能及数据处理所需的时间,因而缩短了数据处理所需的总时间。
16.在一种可能的实现方式中,至少两个目标存储单元位于同一逻辑单元号中,目标存储单元为进行数据处理的最小单元。在本实施例中,一个存储介质即为一个逻辑单元号,因而从存储介质的多个存储单元中确定出的至少两个目标存储单元是位于同一逻辑单元号中的。
17.在一种可能的实现方式中,存储介质的指令解码器,还用于解析第一处理指令,得到第一信息和第二信息。指令解码器通过对第一处理指令的解析获得第一信息和第二信息。
18.在一种可能的实现方式中,至少两个目标存储单元的长度之和不小于第二信息指示的数据长度。由于目标存储单元是进行数据处理的最小单元,因而至少两个目标存储单元的长度之和可能等于第二信息指示的数据长度,也可能大于第二信息指示的数据长度。例如,在数据长度不能整除存储单元的长度时,至少两个目标存储单元的长度之和大于第二信息指示的数据长度。
19.在一种可能的实现方式中,存储介质的数量为多个,控制器用于接收存储介质标识,向存储介质标识指示的存储介质的指令解码器发送第一处理指令。在存储介质的数量为多个时,控制器基于存储介质标识确定向哪一个存储介质的指令解码器发送该第一处理指令。例如,该存储介质标识为处理器发送的逻辑地址,则控制器将该逻辑地址对应的物理地址指示的指令解码器作为用于接收第一处理指令的指令解码器。
20.第二方面,提供了一种处理数据的方法,该方法应用于存储装置,存储装置包括控制器和存储介质,存储介质包括指令解码器和多个存储单元,方法包括:
21.存储介质的指令解码器接收控制器发送的第一处理指令,第一处理指令包括第一信息和第二信息,第一信息用于指示处理方式,第二信息用于指示需要处理的数据的数据长度;
22.存储介质的指令解码器基于第二信息指示的数据长度,从存储介质的多个存储单元中确定至少两个目标存储单元;
23.存储介质的指令解码器基于至少两个目标存储单元,按照第一信息指示的处理方式进行数据处理。
24.在一种可能的实现方式中,存储介质的多个存储单元位于至少一个存储行中,存储介质的指令解码器基于第二信息指示的数据长度,从存储介质的多个存储单元中确定至少两个目标存储单元,包括:存储介质的指令解码器确定需要处理的数据的起始地址;存储介质的指令解码器基于第二信息、多个存储单元的长度、至少一个存储行的长度和需要处理的数据的起始地址,从存储介质的多个存储单元中确定至少两个目标存储单元。
25.在一种可能的实现方式中,第一处理指令还包括第三信息,第三信息用于指示地址,存储介质的指令解码器确定需要处理的数据的起始地址,包括:存储介质的指令解码器
将第三信息指示的地址确定为需要处理的数据的起始地址,至少两个目标存储单元的地址连续。
26.在一种可能的实现方式中,存储介质的指令解码器确定需要处理的数据的起始地址,包括:基于存储介质的多个存储单元确定需要处理的数据的起始地址,至少两个目标存储单元的地址连续或者不连续。存储介质的指令解码器基于至少两个目标存储单元,按照第一信息指示的处理方式进行数据处理之后,方法还包括:存储介质的指令解码器封装第一处理指令的指令标识和至少两个目标存储单元的地址,得到响应消息,向控制器发送响应消息。
27.在一种可能的实现方式中,第一信息指示的处理方式包括第一处理方式,第一处理方式包括将数据存储于存储单元的处理方式,存储介质的指令解码器基于至少两个目标存储单元,按照第一信息指示的处理方式进行数据处理,包括:存储介质的指令解码器按照第一信息指示的方式,将控制器发送的数据存储于至少两个目标存储单元中。
28.在一种可能的实现方式中,第一信息指示的处理方式包括第二处理方式,第二处理方式包括基于已存储数据的存储单元进行数据处理的方式,存储介质的指令解码器基于至少两个目标存储单元,按照第一信息指示的处理方式进行数据处理,包括:存储介质的指令解码器按照第二处理方式,对至少两个目标存储单元中已存储的数据进行处理。
29.在一种可能的实现方式中,存储介质的指令解码器基于至少两个目标存储单元,按照第一信息指示的处理方式进行数据处理之后,方法还包括:存储介质的指令解码器按照至少两个目标存储单元的地址顺序,向控制器发送至少两个目标存储单元中已存储的数据。
30.在一种可能的实现方式中,第一处理指令中还包括第四信息,第四信息用于指示数据分组要求,数据分组要求包括以存储行为单位对至少两个目标存储单元进行分组,或者以存储列为单位对至少两个目标存储单元进行分组。存储介质的指令解码器基于至少两个目标存储单元,按照第一信息指示的处理方式进行数据处理,包括:存储介质的指令解码器按照第四信息指示的数据分组要求对至少两个目标存储单元进行分组,得到至少一个分组。存储介质的指令解码器基于各个分组中的目标存储单元,按照第一信息指示的处理方式进行数据处理。
31.在一种可能的实现方式中,存储介质的指令解码器基于各个分组中的目标存储单元,按照第一信息指示的处理方式进行数据处理,包括:存储介质的指令解码器对于任一分组,并行使能任一分组中的目标存储单元;存储介质的指令解码器按照第一信息指示的处理方式对任一分组中并行使能的目标存储单元进行数据处理,使得任一分组中并行使能的目标存储单元的处理时间之间的差值小于阈值。
32.在一种可能的实现方式中,至少两个目标存储单元位于同一逻辑单元号中,目标存储单元为进行数据处理的最小单元。
33.在一种可能的实现方式中,存储介质的指令解码器基于各个分组中的目标存储单元,按照第一信息指示的处理方式进行数据处理之前,方法还包括:存储介质的指令解码器解析第一处理指令,得到第一信息和第二信息。
34.在一种可能的实现方式中,至少两个目标存储单元的长度之和不小于第二信息指示的数据长度。
35.第三方面,提供了一种处理数据的方法,方法应用于存储装置,存储装置包括控制器和存储介质,存储介质包括指令解码器和多个存储单元,方法包括:
36.控制器确定第一信息和第二信息,第一信息用于指示处理方式,第二信息用于指示需要处理的数据的数据长度,数据长度用于从存储介质的多个存储单元中确定至少两个目标存储单元,至少两个目标存储单元用于数据处理;
37.控制器封装第一信息和第二信息,得到第一处理指令;
38.控制器向存储介质的指令解码器发送第一处理指令。
39.在一种可能的实现方式中,控制器确定第一信息和第二信息,包括:接收第二处理指令,第二处理指令包括第一参考信息和第二参考信息,第一参考信息用于指示处理方式,第二参考信息用于指示需要处理的数据的数据长度。将第一参考信息确定为第一信息,基于第二参考信息确定第二信息。
40.在一种可能的实现方式中,控制器确定第一信息和第二信息,包括:第二处理指令的数量包括至少两个,基于第二参考信息确定第二信息,包括:响应于至少两个第二处理指令的第二参考信息指示的数据长度小于参考范围的下限,控制器合并至少两个第二处理指令的第二参考信息得到第二信息,第二信息指示的数据长度位于参考范围内。
41.在一种可能的实现方式中,控制器确定第一信息和第二信息,包括:响应于第二处理指令的第二参考信息指示的数据长度大于参考范围的上限,控制器划分该第二参考信息得到至少两个第二信息,任一第二信息指示的数据长度均位于参考范围内。
42.在一种可能的实现方式中,控制器确定第一信息和第二信息,包括:响应于第二处理指令的第二参考信息指示的数据长度位于参考范围内,将第二参考信息作为第二信息。
43.在一种可能的实现方式中,控制器向存储介质的指令解码器发送第一处理指令之前,方法还包括:控制器获取第三信息,第三信息用于指示地址,将第三信息封装于第一处理指令中。
44.在一种可能的实现方式中,控制器向存储介质的指令解码器发送第一处理指令之后,方法还包括:接收存储介质的指令解码器发送的响应消息,该响应消息中包括第一处理指令的指令标识和至少两个目标存储单元的地址。
45.在一种可能的实现方式中,控制器向存储介质的指令解码器发送第一处理指令之后,方法还包括:发送数据,数据用于存储介质的指令解码器存储于至少两个目标存储单元中。
46.在一种可能的实现方式中,控制器向存储介质的指令解码器发送第一处理指令之后,方法还包括:接收存储介质的指令解码器按照至少两个目标存储单元的地址顺序发送的至少两个目标存储单元中存储的数据。
47.在一种可能的实现方式中,控制器向存储介质的指令解码器发送第一处理指令之前,方法还包括:控制器确定第四信息,第四信息用于指示数据分组要求,数据分组要求包括以存储行为单位对至少两个目标存储单元进行分组,或者以存储列为单位对至少两个目标存储单元进行分组,将第四信息封装于第一处理指令中。
48.在一种可能的实现方式中,至少两个目标存储单元位于同一逻辑单元号中,目标存储单元为进行数据处理的最小单元。
49.在一种可能的实现方式中,至少两个目标存储单元的长度之和不小于第二信息指
示的数据长度。
50.在一种可能的实现方式中,存储装置的数量为多个,控制器向存储介质的指令解码器发送第一处理指令,包括:控制器接收存储介质标识,向存储介质标识指示的存储介质的指令解码器发送第一处理指令。
附图说明
51.图1为本技术实施例提供的一种存储装置的结构示意图;
52.图2为本技术实施例提供的一种存储装置的结构示意图;
53.图3为本技术实施例提供的一种处理数据的方法的流程图;
54.图4为本技术实施例提供的一种存储装置的结构示意图;
55.图5为本技术实施例提供的一种相关技术中的处理数据的流程示意图;
56.图6为本技术实施例提供的一种处理数据的流程示意图;
57.图7为本技术实施例提供的一种处理数据的示意图;
58.图8为本技术实施例提供的一种处理数据的示意图;
59.图9为本技术实施例提供的一种处理数据的示意图。
具体实施方式
60.本技术的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。
61.本技术实施例提供了一种存储装置,参见图1,该存储装置包括控制器和存储介质,存储介质包括指令解码器(command decoder)和多个存储单元,控制器和存储介质的指令解码器连接。从而,该存储介质的指令解码器能够接收控制器发送的处理指令,基于接收到的处理指令进行数据处理。其中,一个存储介质即为一个逻辑单元号(logical unit number,lun),lun也称为die。在存储介质中,多个存储单元形成阵列,阵列也称为bank。在该阵列中包括m个行和n个列,m和n为不小于1的整数。一个存储单元由一个行和一个列进行唯一标识。另外,存储介质中还包括输入输出(input/output,io)接口,该io接口与控制器连接,从而根据需要将数据处理结果返回至控制器。
62.示例性地,参见图2,存储装置中包括的存储介质的数量为多个。多个存储介质中的各个存储介质分别包括上述指令解码器和多个存储单元,此处不再进行赘述。对于存储介质中的控制器而言,该控制器和多个存储介质的指令控制器分别连接。
63.示例性地,参见图1,对于任一存储介质而言,除了包括上述控制器和多个存储单元以外,还包括行地址解码器(row address decoder)和列地址解码器(column address decoder),行地址解码器和列地址解码器还分别对应有多路复用器(multiplexer,mux)。指令解码器向行地址解码器发送指令,行地址解码器根据该指令控制行地址解码器对应的mux使能(enable)阵列中的一个或多个行。指令解码器还向列地址解码器发送指令,列地址解码器根据该指令控制列地址解码器对应的mux使能阵列中的一个或多个列。由于存储单元通过行和列唯一标识,因而在分别使能阵列中的行和列之后,便能够实现阵列中的一个或多个存储单元的使能。在本实施例中,经过使能的存储单元可以用于进行数据处理。
64.参见图1,任一存储介质中还包括数据处理单元,数据处理单元与指令解码器连
接,从而根据指令解码器的控制,与指令解码器配合完成数据处理过程。其中,指令解码器首先通过控制行地址解码器和列地址解码器使能阵列中的存储单元,之后控制数据处理单元基于使能的存储单元进行数据处理。例如,该数据处理单元根据指令解码器的控制对使能的存储单元进行读取、擦除等处理。又例如,该数据处理单元还与控制器连接,从而接收控制器发送的数据,根据指令解码器的控制将接收到的数据写入至使能的存储单元中。
65.基于上述图1和图2所示的存储装置,本技术实施例提供了一种处理数据的方法,该方法应用于控制器和存储介质的指令解码器的交互过程。参见图3,该方法包括如下的内容。
66.301,控制器向存储介质的指令解码器发送第一处理指令。
67.在第一处理指令中,包括第一信息和第二信息,第一信息用于指示处理方式,第二信息用于指示需要处理的数据的数据长度。第一信息指示的处理方式包括但不限于:读取、写入擦除、覆盖等方式。其中,读取是指获取存储单元中已存储的数据并返回至控制器,写入是指向未存储数据的存储单元中存储数据,擦除是指删除存储单元中已存储的数据,覆盖是指向已存储数据的存储单元中存储数据。当然,以上方式均为举例,不用于对第一信息指示的处理方式造成限定。第二信息指示的需要处理的数据的数据长度根据实际需求确定。在本实施例中,第二信息能够通过多种方式指示数据长度。例如,第二信息包括长度数值,数据长度等于该长度数值。又例如,第二信息为存储单元的个数,数据长度等于存储单元的个数与存储单元的长度之间的乘积。再例如,第二信息包括第一地址和位于第一地址之后的第二地址,则数据长度等于第二地址与第一地址之间的差值。
68.对于控制器而言,控制器首先确定第一信息和第二信息,之后,封装第一信息和第二信息即可得到上述第一处理指令,从而向存储介质的指令解码器发送该第一处理指令。示例性地,控制器确定第一信息和第二信息,包括:接收第二处理指令,第二处理指令包括第一参考信息和第二参考信息,第一参考信息用于指示处理方式,第二参考信息用于指示需要处理的数据的数据长度。将第一参考信息确定为第一信息,基于第二参考信息确定第二信息。
69.其中,该第二处理指令包括处理器向控制器发送的指令,处理器是位于存储装置以外的其他元件,处理器和存储装置可以集成于同一计算机设备中,也可以分别位于不同的计算机设备中。第一参考信息指示的处理方式包括但不限于读取、写入、擦除、覆盖等等,本实施例中将第一参考信息作为第一信息,从而使得第一处理指令和第二处理指令指示的处理方式相同。示例性地,基于第二参考信息确定第二信息,包括如下的三种情况a1-a3。
70.情况a1,第二处理指令的数量包括至少两个,基于第二参考信息确定第二信息,包括:响应于至少两个第二处理指令的第二参考信息指示的数据长度小于参考范围的下限,控制器合并至少两个第二处理指令的第二参考信息得到第二信息,第二信息指示的数据长度位于参考范围内。
71.其中,参考范围即为数据长度的取值范围,本实施例不对参考范围的下限和上限进行限定。第二信息指示的数据长度位于参考范围内是指:第二信息指示的数据长度不小于参考范围的下限,且不大于参考范围的上限。示例性地,参考范围的下限和上限基于存储介质进行数据处理时的处理效率确定。例如,获得存储介质对不同数据长度的数据进行处理时的处理效率,根据高于效率阈值的处理效率对应的数据长度确定参考范围的下限和上
限。由此,使得存储介质对该参考范围内的数据进行处理时,存储介质能够具有较高的处理效率。
72.以参考范围的下限为128b、上限为1mb为例,对控制器合并第二参考信息的过程进行说明:
73.在控制器接收到的两个第二处理指令中,第一参考信息指示的处理方式均为写入,一个第二参考信息指示的数据长度为64b,另一个第二参考信息指示的数据长度为96b,则两个第二参考信息指示的数据长度均小于参考范围的下限128b。因此,控制器对两个第二参考信息指示的数据长度进行合并,也就是将64b与96b之和160b作为第二信息,该第二信息指示的数据长度160b位于参考范围128b-1mb内。对于控制器而言,后续仅需要向存储介质的指令解码器发送一个第一处理指令,该第一处理指令的第一信息指示的处理方式为写入,该第一处理指令的第二信息指示的数据长度为160b。
74.在控制器不对至少两个第二处理指令的第二参考信息进行合并的情况下,则针对每个第二处理指令,控制器均需要向存储介质的指令解码器发送一个第一处理指令,也就是说控制器需要向存储介质的指令解码器发送至少两个第一处理指令。在情况a1中,由于控制器对至少两个第二处理指令的第二参考信息进行了合并,因而减少了控制器向存储介质的指令解码器发送的第一处理指令的数量。由此,减小了数据处理过程中控制器需要消耗的处理资源,提高了数据处理效率。
75.示例性地,本实施例在至少两个第二处理指令的第一参考信息指示的处理方式相同的情况下,对至少两个第二处理指令的第二参考信息进行合并。例如,两个第二处理指令的第一参考信息指示的处理方式均为写入,则对这两个第二处理指令的第二参考信息进行合并。但是,如果一个第二处理指令的第一参考信息指示的处理方式为写入,另一个第二处理指令的第一参考信息指示的处理方式为读取,则不对这两个第二处理指令进行合并。
76.情况a2,响应于第二处理指令的第二参考信息指示的数据长度大于参考范围的上限,控制器划分该第二参考信息得到至少两个第二信息,任一第二信息指示的数据长度均位于参考范围内。
77.其中,参考范围的上限的确定方式参见情况a1中的说明,此处不再进行赘述。在控制器划分第二参考信息得到第二信息的过程中,不同第二信息指示的数据长度可以相同,也可以不同,只要各个第二信息指示的数据长度均位于参考范围内即可。
78.以参考范围的下限为128b、参考范围的上限为1mb为例,对控制器划分第二参考信息的过程进行说明:
79.控制器接收第二处理指令,该第二处理指令的第一参考信息指示的处理方式为读取,该第二处理指令的第二参考信息指示的数据长度为4mb,大于参考范围的上限1mb。因此,控制器将第二参考信息划分为多个第二信息,例如将第二参考信息平均划分为四份,从而得到四个第二信息,各个第二信息指示的数据长度均为1mb,位于参考范围128b-1mb内。对于控制器而言,后续向存储介质的指解码器发送四个第一处理指令,各个第一处理指令的第一信息指示的处理方式均为读取,第二信息指示的数据长度均为1mb。
80.在控制器不对第二处理指令的第二参考信息进行划分的情况下,控制器仅向存储介质的指令解码器发送一个第一处理指令。根据该第一处理指令,存储介质需要在一次数据处理过程中对较长的数据进行处理(例如上例中的4mb),因而存储介质完成一次数据处
理所需的时间较长。在一些场景中,存储介质完成一次数据处理之后,需要向控制器返回信息。由于存储介质完成一次数据处理所需的时间较长,因而控制器需要等待较长时间才能接收到存储介质返回的信息。例如,在数据读取场景中,存储介质根据第一处理指令完成数据读取之后,需要向控制器返回读取到的数据。对于控制器而言,需要等待较长时间才能接收到存储介质读取的数据。
81.而在情况a2中,由于控制器对第二处理指令的第二参考信息进行了划分,得到了至少两个第一处理指令。根据各个第一处理指令,减少了存储介质在一次数据处理过程中需要处理的数据的长度(例如上例中由4mb减少至1mb),从而缩短了存储介质完成一次数据处理所需的时间。在存储介质需要向控制器返回信息的场景下,控制器仅需等待较短的时间即可接收到存储介质返回的信息。
82.情况a3,响应于第二处理指令的第二参考信息指示的数据长度位于参考范围内,将第二参考信息作为第二信息。
83.在第二处理指令的第二参考信息指示的数据长度位于参考范围内的情况下,将第二参考信息直接作为第二信息即可。在情况a3中,处理器向控制器发送的第二处理指令即为控制器向存储介质的指令解码器发送的第一处理指令,也就是说,第二处理指令与第一处理指令相同。
84.以上,说明了控制器生成第一处理指令的方式。在控制器与一个存储介质的指令解码器连接的情况下,控制器向该存储介质的指令解码器发送第一处理指令即可。需要说明的是,存储介质对应有芯片使能(chip enable,ce)管脚,控制器通过ce管脚使能存储介质,得到使能的存储介质,从而将该第一处理指令发送至使能的存储介质。
85.在控制器与多个存储介质的指令解码器连接的情况下,控制器还需要确定向哪一个存储介质的指令解码器发送该第一处理指令。示例性地,控制器接收存储介质标识,向该存储介质标识指示的存储介质的指令解码器发送该第一处理指令。其中,该存储介质标识携带于处理器向控制器发送的第二处理指令中,该存储介质标识例如为逻辑地址。控制器中存储有逻辑地址与物理地址的映射关系,控制器根据该映射关系能够确定与该逻辑地址对应的物理地址,在多个存储介质中将与该逻辑地址对应的物理地址所指示的存储介质确定为目标存储介质,该目标存储介质的指令解码器用于接收第一处理指令。因此,控制器通过该目标存储介质的ce管脚使能该目标存储介质,将第一处理指令发送至使能的目标存储介质。
86.302,存储介质的指令解码器接收控制器发送的第一处理指令。
87.由于存储介质的指令解码器与控制器连接,因而在控制器发送了第一处理指令之后,存储介质的指令解码器相应的对第一处理指令进行接收。
88.303,存储介质的指令解码器基于第二信息指示的数据长度,从存储介质的多个存储单元中确定至少两个目标存储单元。
89.根据301中的说明可知,第一处理指令中包括第一信息和第二信息。为得到第一处理指令中的第一信息和第二信息,示例性地,方法还包括:存储介质的指令解码器解析第一处理指令,得到第一信息和第二信息。在得到第一信息和第二信息之后,存储介质的指令解码器便能够确定第二信息指示的数据长度,从而能够基于该数据长度从存储介质的多个存储单元中确定至少两个目标存储单元。
90.需要说明的是,由于一个存储介质即为一个lun,因而从存储介质的多个存储单元中确定出的至少两个目标存储单元也位于同一lun中。并且,目标存储单元为进行数据处理的最小单元。换言之,在数据处理过程中,是基于整数个目标存储单元进行的数据处理。对于任一目标存储单元而言,均不会仅基于该目标存储单元中的一部分进行数据处理。因此,至少两个目标存储单元的长度之和不小于数据长度。例如,在数据长度能够整除目标存储单元的长度的情况下,至少两个目标存储单元的长度之和等数据长度。又例如,在数据长度不能够整除目标存储单元的长度的情况下,至少两个目标存储单元的长度之和则大于数据长度。
91.在示例性实施例中,存储介质的指令解码器基于第二信息指示的数据长度,从存储介质的多个存储单元中确定至少两个目标存储单元,包括如下的3031和3032。
92.3031,存储介质的指令解码器确定需要处理的数据的起始地址。
93.其中,需要处理的数据的起始地址影响着目标存储单元的数量。在第二信息指示的数据长度、存储单元的长度均相同的情况下。需要处理的数据的起始地址不同,则目标存储单元的数量也可能不同。以第二信息指示的数据长度为32b,存储单元的长度为16b为例,参见图4,响应于需要处理的数据的起始地址为第0行中存储单元0的地址首位,则目标存储单元为第0行中的存储单元0和存储单元1,目标存储单元的数量为2。响应于需要处理的数据的起始地址位于第0行中存储单元0的地址首位和地址末位之间,则目标存储单元为第0行中的存储单元0、存储单元1和存储单元3,目标存储单元的数量为3。由此可知,本实施例需要确定需要处理的数据的起始地址,以便于后续确定目标存储单元的数量。示例性地,需要处理的数据的起始地址的确定方式包括如下的两种情况。
94.情况b1,第一处理指令还包括第三信息,第三信息用于指示地址,存储介质的指令解码器将第三信息指示的地址确定为需要处理的数据的起始地址。根据上文说明可知,第一处理指令由控制器封装第一信息和第二信息得到。在第一处理指令还包括第三信息的情况下,控制器在发送封装得到的第一处理指令之前,方法还包括:控制器获取用于指示地址的第三信息,将第三信息封装于第一处理指令中。示例性地,处理器向控制器发送的第二处理指令中包括用于指示地址的信息,控制器解析该第二处理指令得到用于指示地址的信息,从而将该用于指示地址的信息作为第三信息。
95.情况b2,存储介质的指令解码器基于存储介质的多个存储单元确定需要处理的数据的起始地址。
96.示例性地,存储介质的指令解码器在存储介质的多个存储单元中随机选择存储单元,将随机选择的存储单元的地址首位作为需要处理的数据的起始地址。进一步地,在一些实施方式中,存储介质的指令解码器根据第一处理指令的第一信息指示的处理方式,从存储介质的多个存储单元中获得第一信息指示的处理方式对应的存储单元,从第一信息指示的处理方式对应的存储单元中随机确定存储单元,从而将随机确定的存储单元的地址首位作为需要处理的数据的起始地址。以第一信息指示的处理方式为写入为例,由于写入是指向未存储数据的存储单元中存储数据,因而第一信息指示的处理方式对应的存储单元是指:未存储数据的存储单元,则存储介质的指令解码器从未存储数据的存储单元中随机确定存储单元,将随机确定的存储单元的地址首位作为需要处理的数据的起始地址。
97.3032,存储介质的指令解码器基于第二信息、多个存储单元的长度、至少一个存储
行的长度和需要处理的数据的起始地址,从存储介质的多个存储单元中确定至少两个目标存储单元。
98.示例性地,本实施例基于需要处理的数据的起始地址确定首个目标存储单元,基于第二信息指示的数据长度、存储单元的长度和需要处理的数据的起始地址确定目标存储单元的总数量。为便于描述,将目标存储单元的总数量记为第一数量,则本实施例将包括首个目标存储单元在内的第一数量个存储单元作为至少两个目标存储单元。
99.在示例性实施例中,响应于按照上述情况b1确定需要处理的数据的起始地址,则将包括首个目标存储单元在内的第一数量个存储单元作为至少两个目标存储单元,包括:以首个目标存储单元为起点,将连续的第一数量个存储单元作为至少两个目标存储单元。由此,使得至少两个目标存储单元的地址连续。例如,参见图4,首个目标存储单元为第0行的存储单元0、目标存储单元的总数量为4个,则目标存储单元为:第0行的存储单元0、存储单元1、存储单元2和存储单元3。
100.能够理解的是,存储介质的多个存储单元位于至少一个存储行中,一个存储行中包括的存储单元数量是有限的。因此,上述至少两个目标存储单元可能覆盖至少一个存储行,本实施例需要结合存储行的长度确定至少两个目标存储单元覆盖的存储行。其中,存储行的长度等于存储行包括的各个存储单元的长度之和。例如,一个存储行中包括16个长度为16b的存储单元,则该存储行的长度为256b。
101.示例性地,基于需要处理的数据的起始地址能够确定首个存储行,基于第二信息指示的数据长度、存储行的长度和需要处理的数据的起始地址能够确定存储行的总数量,将存储行的总数量记为第二数量。因此,被覆盖的存储行是指:包括首个存储行在内的第二数量个连续的存储行。例如,参见图4,在第二信息指示的数据长度为512b、存储行的长度为256b、需要处理的数据的起始地址为第0行中存储单元8的地址首位的情况下,首个存储行即为第0行,被覆盖的存储行的总数量为3,从而能够确定被覆盖的存储行即为存储介质中的第0行、第1行和第2行。
102.或者,响应于按照上述情况b2确定需要处理的数据的起始地址,则将包括首个目标存储单元在内的参考数量个存储单元作为至少两个目标存储单元,包括:在首个目标存储单元之后随机确定存储单元,将首个目标存储单元与随机确定的存储单元作为至少两个目标存储单元,则至少两个目标存储单元的地址连续或者不连续。其中,至少两个目标存储单元的地址连续的情况可参见上文举例,此处不再进行重复举例。对于至少两个目标存储单元的地址不连续的情况,参见图4,仍以首个目标存储单元为第0行的存储单元0、目标存储单元的总数量为4个为例,则目标存储单元可以为:第0行的存储单元0、存储单元2、存储单元3和存储单元4,其中存储单元0和存储单元2的地址不连续。在此种情况中,至少两个目标存储单元也覆盖至少一个存储行,被覆盖的存储行可以根据随机确定出的目标存储单元的地址确定。
103.需要说明的是,由于在情况b2中目标存储单元是由存储介质的指令解码器随机确定的,因而存储介质的指令解码器需要向控制器返回目标存储单元的地址,以便于控制器得知存储介质的指令解码器是基于哪些目标存储单元进行的数据处理。因此,在示例性实施例中,存储介质的指令解码器确定至少两个目标存储单元之后,方法还包括:存储介质的指令解码器封装第一处理指令的指令标识和至少两个目标存储单元的地址,得到响应消
息,向控制器发送响应消息,控制器通过接收该响应消息即可确定至少两个目标存储单元的地址。其中,该响应消息的第一处理指令的指令标识用于控制器区分不同的第一处理指令。在控制器向存储介质的指令解码器发送了多个第一处理指令的情况下,控制器根据响应消息中携带的第一处理指令的指令标识能够确定存储介质的指令解码器是基于哪一个第一处理指令确定出的目标存储单元。
104.在以上说明中,由存储介质的指令解码器解析第一处理指令,得到第一信息和第二信息(还可能包括第三信息),且由存储介质的指令解码器基于该第二信息确定至少两个目标存储单元,至少两个存储单元覆盖至少一个存储行。存储介质的指令解码器可以将被覆盖的存储行发送至行地址解码器,将各个存储行中的目标存储单元发送至列地址解码器,以便于行地址解码器和列地址解码器进行使能。示例性地,本实施例中存储介质的指令解码器还可以仅进行第一处理指令的解析,将得到的第二信息(还可能包括第三信息)分别发送给行地址解码器和列地址解码器,从而由行地址解码器根据接收到的信息自行按照上述说明中的方式确定被覆盖的存储行,由列地址解码器根据接收到的信息自行按照上述说明中的方式确定各个存储行中的目标存储单元,以便于行地址解码器和列地址解码器进行使能。其中,行地址解码器和列地址解码器进行使能的过程参见后文304中的说明。
105.304,存储介质的指令解码器基于至少两个目标存储单元,按照第一信息指示的处理方式进行数据处理。
106.能够看出,指令解码器根据控制器发送的一个第一处理指令,能够基于至少两个目标存储单元实现数据处理,该数据处理方式也称为并发(burst)处理。
107.在示例性实施例中,第一处理指令中还包括第四信息,第四信息用于指示数据分组要求,数据分组要求包括以存储行为单位对至少两个目标存储单元进行分组,或者,以存储列为单位对至少两个目标存储单元进行分组。相应地,存储介质的指令解码器按照第四信息指示的数据分组要求对至少两个目标存储单元进行分组,得到至少一个分组。基于各个分组中的目标存储单元,按照第一信息指示的处理方式进行数据处理。示例性地,该第四信息可以由控制器从第二处理指令中获得,控制器在向存储介质的指令解码器发送第一处理指令之前,将该第四信息封装于第一处理指令中。
108.示例性地,第四信息表示为数值,第四信息的不同取值用于指示不同的数据分组要求。例如,第四信息的取值为第一数值,则指示数据分组要求为以存储行为单位对至少两个目标存储单元进行分组。第四信息的取值为第二数值,则指示数据分组要求为以存储列为单位对至少两个目标存储单元进行分组,第一数值和第二数值为不同的数值。
109.其中,响应于数据分组要求包括以存储行为单位对至少两个目标存储单元进行分组,则指令解码器以存储行为单位进行数据处理。也就是说,对于包括有目标存储单元的存储行,指令解码器先基于其中一个存储行中的各个目标存储单元进行数据处理,再切换至另一存储行,基于另一存储行中的各个目标存储单元进行数据处理,以此类推,在遍历各个包括目标存储单元的存储行之后结束数据处理过程。例如,参见图4,以目标存储单元包括第0行中的存储单元0-存储单元15、第1行中的存储单元0-存储单元15为例,则指令解码器先基于第0行中的存储单元0-存储单元15进行数据处理,再切换至第1行,基于第1行中的存储单元0-存储单元15进行数据处理,从而完成数据处理过程。
110.或者,响应于数据分组要求包括以存储列为单位对至少两个目标存储单元进行分
组,则指令解码器以存储列为单位进行数据处理。对于包括有目标存储单元的存储列,指令解码器先基于其中一个存储列中的各个目标存储单元进行数据处理,再切换至另一存储列,基于另一存储列中的各个目标存储单元进行数据处理,以此类推,在遍历各个包括目标存储单元的存储列之后结束数据处理过程。仍以目标存储单元包括第0行中的存储单元0-存储单元15、第1行中的存储单元0-存储单元15为例,则指令解码器先基于第0行和第1行的存储单元0进行数据处理,再切换至存储单元1,基于第0行和第1行的存储单元1进行数据处理。以此类推,直至基于第0行和第1行的存储单元15进行数据处理,从而完成数据处理过程。
111.能够理解的是,本技术实施例不对各个分组中的目标存储单元的处理顺序进行限定。例如,数据分组要求包括以存储行为单位对至少两个目标存储单元进行分组,指令解码器分别基于第0行和第1行中的存储单元进行数据处理,则指令解码器先基于第0行进行数据处理、再基于第1行进行数据处理,或者,指令解码器先基于第1行进行数据处理、再基于第0行进行数据处理。
112.进一步地,对于任一存储单元而言,指令解码器基于存储单元进行数据处理的过程包括:对该存储单元进行使能,基于使能的存储单元进行数据处理。因此,在基于各个分组中的目标存储单元进行数据处理时,指令解码器也需要对各个分组中的目标存储单元进行使能,以便于在该分组中,基于使能的目标存储单元进行数据处理。
113.示例性地,本实施例中对任一分组中的目标存储单元进行并行使能,以便于缩短数据处理所需消耗的时间,提高数据处理效率。示例性地,存储介质的指令解码器基于各个分组中的目标存储单元,按照第一信息指示的处理方式进行数据处理,包括:存储介质的指令解码器对于任一分组,并行使能任一分组中的目标存储单元。按照第一信息指示的处理方式对任一分组中并行使能的目标存储单元进行数据处理,使得任一分组中并行使能的目标存储单元的处理时间之间的差值小于阈值。
114.响应于以存储行为单位进行分组,则在一次并行使能过程中,指令解码器向行地址解码器发送第一指令,行地址解码器根据该第一指令控制行地址解码器对应的mux,使得行地址解码器对应的mux使能一个包括有目标存储单元的存储行。相应地,指令解码器向列地址解码器发送与第一指令对应的第二指令,列地址解码器根据该第二指令控制列地址解码器对应的mux,使得列地址解码器对应的mux并行使能与该存储行对应的一个或多个存储列,从而并行使能该存储行中包括的目标存储单元。之后,按照第一信息指示的处理方式对该存储行中并行使能的目标存储单元进行数据处理。通过对同一存储行中的目标存储单元的并行使能,使得并行使能的目标存储单元的处理时间之间的差值小于阈值。换言之,可以认为同一存储行中的目标存储单元的数据处理过程是同步进行的。
115.需要说明的是,在存储介质中设置有目标时长,该目标时长是对一个存储单元进行使能和数据处理的过程所需要的时间。换言之,从指令解码器向行地址解码器和列地址解码器发送指令开始计时,在经过目标时长之后,则认为已经完成了对一个存储单元的使能和数据处理。在本实施例中,由于同一存储行中的各个目标存储单元的数据处理过程是同步进行的,因而从指令解码器发送指令开始计时,经过一个目标时长后,则认为该存储行中的各个目标存储单元的使能和数据处理过程均已完成。因此,指令解码器可以向行地址解码器和列地址解码器发送新的指令,以指示对其他存储行中的目标存储单元进行并行使
能以及数据处理。
116.以目标存储单元包括第0行中的存储单元0-15、第1行中的存储单元0-15为例,将上述目标时长记为t,将指令解码器首次发送指令的时刻记为0,则有:在0时刻,指令解码器向行地址解码器发送第一指令、向列地址解码器发送与第一指令对应的第二指令,行地址解码器根据该第一指令控制行地址解码器对应的mux使能第0行,列地址解码器根据该第一指令控制列地址解码器对应的mux使能第0-15列,从而使能第0行中的存储单元0-15,在使能完成后进行数据处理。在t时刻,认为基于第0行中的存储单元0-15的数据处理过程已完成。因此,指令解码器向行地址解码器发送新的第一指令、向列地址解码器发送新的第二指令,以对第1行中的存储单元0-15进行使能,在使能完成后进行数据处理,在2t时刻,认为基于第1行中的存储单元0-15的数据处理过程已完成,从而结束数据处理过程。
117.或者,响应于以存储列为单位进行分组,则在一次并行使能过程中,指令解码器向列地址解码器发送第一指令,列地址解码器根据该第一指令控制列地址解码器对应的mux使能一个包括有目标存储单元的存储列。相应地,指令解码器向行地址解码器发送与第一指令对应的第二指令,行地址解码器根据该第二指令控制行地址解码器对应的mux,使得行地址解码器对应的mux使能该存储列对应的一个或多个存储行,从而并行使能该存储列中包括的目标存储单元。之后,按照第一信息指示的处理方式对该存储列中并行使能的目标存储单元进行数据处理,使得该存储列中并行使能的目标存储单元的处理时间之间的差值小于阈值。
118.在并行使能的情况中,本实施例中进行数据处理所需的时间小于相关技术中进行数据处理所需的时间。参见图5,图5示出了相关技术中进行数据处理的过程。在相关技术中,存储介质每接收到控制器发送的一个处理指令,则对一个存储单元进行使能及数据处理。在完成对一个存储单元的使能及数据处理之后,等待接收控制器的下一个处理指令,按照下一个处理指令对下一个存储单元进行使能及数据处理。以一个存储单元的长度为16b为例,如果按照相关技术对64b长度的数据进行处理,则控制器需要发送4个处理指令。在此基础上,将存储介质完成一个存储单元的使能及数据处理所需的时间记为p,将存储介质等待指令所需的时间记为q,由图5可知,按照相关技术处理64b长度的数据所需的总时间为4p+3q。
119.而在本实施例中,参见图6,存储介质每接收控制器发送的一个并发处理指令,可以对至少两个目标存储单元进行数据处理,减少了控制器需要发送的处理指令的数量,且存储介质无需等待接收其他的处理指令。并且,由于对各个目标存储单元的使能过程是并行的,因而各个目标存储单元的数据处理过程是同步进行的。在同样的时长中,相关技术仅能完成对一个存储单元的数据处理,而本实施例中可以完成至少两个目标存储单元的数据处理,从而缩短了数据处理所需的时间。如图6所示,仍将完成一个存储单元的使能及数据处理所需的时间记为p,则按照本实施例提供的方法进行64b长度的数据处理,控制器仅需发送一个处理指令,且处理64b长度的数据所需的总时间为p,相比于相关技术减少了(3p+3q)的时间。
120.当然,本实施例提供的方法不仅局限于并行使能的情况。示例性地,对于任一分组而言,本实施例也可以根据实际需求对该分组中的目标存储单元进行串行使能。串行使能与并行使能的区别在于,并行使能是对同一分组内的各个目标存储单元进行同步使能,而
串行使能是对同一分组内的各个目标存储单元进行依次使能。举例对串行使能的过程进行说明:在按照存储行进行分组、目标存储单元包括第0行中的存储单元0-2的情况下,将一个存储单元进行使能和数据处理的过程所需要的时间记为t,将指令解码器开始发送指令的时刻记为0,则在0时刻指令解码器指示行地址解码器使能第0行、指示列地址解码器使能第0列,从而使得第0行中的存储单元0被使能。在t时刻,指令解码器指示行地址解码器使能第0行、指示列地址解码器使能第1列,从而使得第0行中的存储单元1被使能。在2t时刻,指令解码器指示行地址解码器使能第0行、指示列地址解码器使能第2列,从而使得第0行中的存储单元2被使能。在3t时刻,认为基于第0行中的存储单元0-2的数据处理过程已完成,从而结束数据处理过程。
121.另外,基于以上说明可知,第一信息能够用于指示多种处理方式。在第一信息指示的处理方式不同的情况下,存储介质的指令解码器按照第一信息指示的处理方式完成数据处理的过程也不同,参见如下的情况c1和情况c2。
122.情况c1,第一信息指示的处理方式包括第一处理方式,第一处理方式包括将数据存储于存储单元的处理方式。示例性地,第一处理方式包括但不限于写入和覆盖。存储介质的指令解码器还需要获取数据,以便于按照第一处理方式进行数据存储。因此,本实施例提供的方法还包括:控制器发送数据。示例性地,控制器发送的数据为控制器从处理器接收到的数据。相应地,存储介质的指令解码器基于至少两个目标存储单元,按照第一信息指示的处理方式进行数据处理,包括:按照第一处理方式将控制器发送的数据存储于至少两个目标存储单元中。示例性地,控制器在向存储介质的指令解码器发送第一处理指令之后,继续向存储介质的指令解码器发送数据,从而由指令解码器将数据存储于目标存储单元中。或者,控制器在向存储介质的指令解码器发送第一处理指令之后,向存储介质中的数据处理单元发送数据,指令解码器在确定目标存储单元使能之后,控制数据处理单元将数据存储于目标存储单元中。
123.情况c2,第一信息指示的处理方式包括第二处理方式,第二处理方式包括基于已存储数据的存储单元进行数据处理的方式。示例性地,第二处理方式包括但不限于读取和擦除。存储介质的指令解码器基于至少两个目标存储单元,按照第一信息指示的处理方式进行数据处理,包括:存储介质的指令解码器按照第二处理方式,对至少两个目标存储单元中已存储的数据进行处理。
124.在示例性实施例中,在存储介质的指令解码器按照第二处理方式对至少两个目标存储单元中已存储的数据进行处理之后,方法还包括:存储介质的指令解码器按照至少两个目标存储单元的地址顺序,向控制器发送至少两个目标存储单元中已存储的数据。相应地,控制器还接收存储介质的指令解码器发送的至少两个目标存储单元中已存储的数据。示例性地,存储介质的指令解码器通过多次发送过程实现数据的发送,每次发送过程所发送的数据长度基于io接口的位宽来确定,也就是说每次发送过程所发送的数据长度不大于io接口的位宽。因此,存储介质的指令解码器首先按照io接口的位宽将首个目标存储单元中已存储的数据划分为多个部分,按照地址由先到后的顺序向控制器分别发送各个部分。在首个目标存储单元中的各个部分均发送完毕之后,按照相同的方式对第二个目标存储单元中已存储的数据进行划分及发送。以此类推,直至各个目标存储单元中已存储的数据均发送完毕为止。
125.例如,目标存储单元的数量为两个、长度为16b,io接口的位宽为1b,则首先将首个目标存储单元中已存储的数据划分成长度为1b的16个部分,按照地址由先到后的顺序依次发送首个目标存储单元中的第1个部分、第2个部分、
……
、第16个部分,从而通过16次发送过程将首个目标存储单元中已存储的数据发送至控制器。之后,将第二个目标存储单元中已存储的数据也划分成长度为1b的16个部分,通过16次发送过程将第二个目标存储单元中已存储的数据发送至控制器。
126.以上,说明了本技术实施例提供的处理数据的方法。接下来,以存储单元的长度为16b、处理方式为读取为例,通过如下的三个示例对本技术实施例提供的数据处理方式的应用过程进行说明。
127.示例一,参见图7,图7示出了对64b的数据进行读取的过程。其中,存储介质的指令解码器控制行地址解码器和对应的mux使能第0行,控制列地址解码器和对应的mux使能第0-3列,从而使得第0行中的存储单元0-3被使能。之后,读取第0行中存储单元0-3中存储的数据,共读取64b的数据。
128.示例二,参见图8,图8示出了对256b的数据进行读取的过程。其中,存储介质的指令解码器控制行地址解码器和对应的mux使能第0行,控制列地址解码器和对应的mux使能第0-15列,从而使得第0行中的存储单元0-15被使能。之后,读取第0行中的存储单元0-15中存储的数据,共读取256b的数据。
129.示例三,参见图9,图9示出了对4kb(即4096b)的数据进行读取的过程。其中,存储介质的指令解码器控制行地址解码器和对应的mux使能第0行,控制列地址解码器和对应的mux使能第0-15列,从而使能第0行中的存储单元0-15,读取256b的数据。之后,存储介质的指令解码器控制行地址解码器和对应的mux使能第1行,控制列地址解码器和对应的mux使能第0-15列,从而使能第1行中的存储单元0-15,继续读取256b的数据。以此类推,直至存储介质的指令解码器控制行地址解码器和对应的mux使能第15行,控制列地址解码器和对应的mux使能第0-15列,从而使得第15行中的存储单元0-15被使能,读取256b的数据。由此,共读取16行中4kb的数据。
130.综上所述,控制器仅需发送一个处理指令,便能够使得存储介质的指令解码器基于至少两个存储单元进行连续的数据处理。相比于每个处理指令仅能指示指令解码器基于一个存储单元进行数据处理的情况,本实施例提供的数据处理方式能够减少控制器需要发送的处理指令的数量。不仅降低了数据处理过程中控制器需要消耗的处理资源、避免了资源浪费,而且提高了数据处理的效率。
131.应理解的是,上述处理器可以是中央处理器(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced risc machines,arm)架构的处理器。
132.进一步地,在一种可选的实施例中,上述存储介质可以包括只读存储介质和随机存取存储介质,并向处理器提供指令和数据。存储介质还可以包括非易失性随机存取存储介质。例如,存储介质还可以存储设备类型的信息。
133.该存储介质可以是易失性存储介质或非易失性存储介质,或可包括易失性和非易失性存储介质两者。其中,非易失性存储介质可以是相变存储器(phase change memory,pcm)、只读存储介质(read-only memory,rom)、可编程只读存储介质(programmable rom,prom)、可擦除可编程只读存储介质(erasable prom,eprom)、电可擦除可编程只读存储介质(electrically eprom,eeprom)或闪存。易失性存储介质可以是随机存取存储介质(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用。例如,静态随机存取存储介质(static ram,sram)、动态随机存取存储介质(dynamic random access memory,dram)、同步动态随机存取存储介质(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储介质(double data date sdram,ddr sdram)、增强型同步动态随机存取存储介质(enhanced sdram,esdram)、同步连接动态随机存取存储介质(synchlink dram,sldram)和直接内存总线随机存取存储介质(direct rambus ram,dr ram)。
134.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk)等。
135.以上所述仅为本技术的实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:


1.一种存储装置,其特征在于,所述存储装置包括控制器和存储介质,所述存储介质包括指令解码器和多个存储单元,所述控制器和所述存储介质的指令解码器连接;所述控制器,用于向所述存储介质的指令解码器发送第一处理指令,所述第一处理指令包括第一信息和第二信息,所述第一信息用于指示处理方式,所述第二信息用于指示需要处理的数据的数据长度;所述存储介质的指令解码器,用于接收所述控制器发送的第一处理指令,基于所述第二信息指示的数据长度,从所述存储介质的多个存储单元中确定至少两个目标存储单元,基于所述至少两个目标存储单元,按照所述第一信息指示的处理方式进行数据处理。2.根据权利要求1所述的存储装置,其特征在于,所述存储介质的多个存储单元位于至少一个存储行中,所述存储介质的指令解码器,用于确定需要处理的数据的起始地址,基于所述第二信息、所述多个存储单元的长度、所述至少一个存储行的长度和所述需要处理的数据的起始地址,从所述存储介质的多个存储单元中确定所述至少两个目标存储单元。3.根据权利要求2所述的存储装置,其特征在于,所述第一处理指令还包括第三信息,所述第三信息用于指示地址,所述存储介质的指令解码器,用于将所述第三信息指示的地址确定为所述需要处理的数据的起始地址,所述至少两个目标存储单元的地址连续。4.根据权利要求2所述的存储装置,其特征在于,所述存储介质的指令解码器,用于基于所述存储介质的多个存储单元确定所述需要处理的数据的起始地址,所述至少两个目标存储单元的地址连续或者不连续;所述存储介质的指令解码器,还用于封装所述第一处理指令的指令标识和所述至少两个目标存储单元的地址,得到响应消息,向所述控制器发送所述响应消息;所述控制器,还用于接收所述响应消息。5.根据权利要求1-4任一所述的存储装置,其特征在于,所述第一信息指示的处理方式包括第一处理方式,所述第一处理方式包括将数据存储于存储单元的处理方式,所述控制器,还用于发送数据;所述存储介质的指令解码器,用于按照所述第一处理方式,将所述控制器发送的数据存储于所述至少两个目标存储单元中。6.根据权利要求1-4任一所述的存储装置,其特征在于,所述第一信息指示的处理方式包括第二处理方式,所述第二处理方式包括基于已存储数据的存储单元进行数据处理的方式,所述存储介质的指令解码器,用于按照所述第二处理方式,对所述至少两个目标存储单元中已存储的数据进行处理。7.根据权利要求6所述的存储装置,其特征在于,所述存储介质的指令解码器,还用于按照所述至少两个目标存储单元的地址顺序,向所述控制器发送所述至少两个目标存储单元中已存储的数据;所述控制器,还用于接收所述存储介质的指令解码器发送的所述至少两个目标存储单元中已存储的数据。8.根据权利要求1-4任一所述的存储装置,其特征在于,所述第一处理指令中还包括第四信息,所述第四信息用于指示数据分组要求,所述数据分组要求包括以存储行为单位对所述至少两个目标存储单元进行分组,或者以存储列为单位对所述至少两个目标存储单元进行分组,所述存储介质的指令解码器,用于按照所述第四信息指示的数据分组要求对所
述至少两个目标存储单元进行分组,得到至少一个分组,基于各个分组中的目标存储单元,按照所述第一信息指示的处理方式进行数据处理。9.根据权利要求8所述的存储装置,其特征在于,所述存储介质的指令解码器,用于对于任一分组,并行使能所述任一分组中的目标存储单元,按照所述第一信息指示的处理方式对所述任一分组中并行使能的目标存储单元进行数据处理,使得所述任一分组中并行使能的目标存储单元的处理时间之间的差值小于阈值。10.根据权利要求1-9任一所述的存储装置,其特征在于,所述至少两个目标存储单元位于同一逻辑单元号中,所述目标存储单元为进行数据处理的最小单元。11.根据权利要求1-10任一所述的存储装置,其特征在于,所述存储介质的指令解码器,还用于解析所述第一处理指令,得到所述第一信息和所述第二信息。12.根据权利要求1-11任一所述的存储装置,其特征在于,所述至少两个目标存储单元的长度之和不小于所述第二信息指示的数据长度。13.根据权利要求1-12任一所述的存储装置,其特征在于,所述存储介质的数量为多个,所述控制器用于接收存储介质标识,向所述存储介质标识指示的存储介质的指令解码器发送所述第一处理指令。14.一种处理数据的方法,其特征在于,所述方法应用于存储装置,所述存储装置包括控制器和存储介质,所述存储介质包括指令解码器和多个存储单元,所述方法包括:所述存储介质的指令解码器接收所述控制器发送的第一处理指令,所述第一处理指令包括第一信息和第二信息,所述第一信息用于指示处理方式,所述第二信息用于指示需要处理的数据的数据长度;所述存储介质的指令解码器基于所述第二信息指示的数据长度,从所述存储介质的多个存储单元中确定至少两个目标存储单元;所述存储介质的指令解码器基于所述至少两个目标存储单元,按照所述第一信息指示的处理方式进行数据处理。15.根据权利要求14所述的方法,其特征在于,所述存储介质的多个存储单元位于至少一个存储行中,所述存储介质的指令解码器基于所述第二信息指示的数据长度,从所述存储介质的多个存储单元中确定至少两个目标存储单元,包括:所述存储介质的指令解码器确定需要处理的数据的起始地址;所述存储介质的指令解码器基于所述第二信息、所述多个存储单元的长度、所述至少一个存储行的长度和所述需要处理的数据的起始地址,从所述存储介质的多个存储单元中确定所述至少两个目标存储单元。16.根据权利要求15所述的方法,其特征在于,所述第一处理指令还包括第三信息,所述第三信息用于指示地址,所述存储介质的指令解码器确定需要处理的数据的起始地址,包括:所述存储介质的指令解码器将所述第三信息指示的地址确定为所述需要处理的数据的起始地址,所述至少两个目标存储单元的地址连续。17.根据权利要求14-16任一所述的方法,其特征在于,所述第一处理指令中还包括第四信息,所述第四信息用于指示数据分组要求,所述数据分组要求包括以存储行为单位对所述至少两个目标存储单元进行分组,或者以存储列为单位对所述至少两个目标存储单元
进行分组,所述存储介质的指令解码器基于所述至少两个目标存储单元,按照所述第一信息指示的处理方式进行数据处理,包括:所述存储介质的指令解码器按照所述第四信息指示的数据分组要求对所述至少两个目标存储单元进行分组,得到至少一个分组;所述存储介质的指令解码器基于各个分组中的目标存储单元,按照所述第一信息指示的处理方式进行数据处理。18.根据权利要求17所述的方法,其特征在于,所述存储介质的指令解码器基于各个分组中的目标存储单元,按照所述第一信息指示的处理方式进行数据处理,包括:所述存储介质的指令解码器对于任一分组,并行使能所述任一分组中的目标存储单元;所述存储介质的指令解码器按照所述第一信息指示的处理方式对所述任一分组中并行使能的目标存储单元进行数据处理,使得所述任一分组中并行使能的目标存储单元的处理时间之间的差值小于阈值。19.一种处理数据的方法,其特征在于,所述方法应用于存储装置,所述存储装置包括控制器和存储介质,所述存储介质包括指令解码器和多个存储单元,所述方法包括:所述控制器确定第一信息和第二信息,所述第一信息用于指示处理方式,所述第二信息用于指示需要处理的数据的数据长度,所述数据长度用于从所述存储介质的多个存储单元中确定至少两个目标存储单元,所述至少两个目标存储单元用于数据处理;所述控制器封装所述第一信息和所述第二信息,得到第一处理指令;所述控制器向所述存储介质的指令解码器发送所述第一处理指令。

技术总结


本申请公开了一种存储装置和处理数据的方法,属于计算机技术领域。其中,存储装置包括控制器和存储介质,存储介质包括指令解码器和多个存储单元,控制器和存储介质的指令解码器连接。控制器,用于向存储介质的指令解码器发送第一处理指令,该第一处理指令包括第一信息和第二信息,第一信息用于指示处理方式,第二信息用于指示需要处理的数据的数据长度。相应地,存储介质的指令解码器,用于接收控制器发送的第一处理指令,基于第二信息指示的数据长度,从存储介质的多个存储单元中确定至少两个目标存储单元,从而基于至少两个目标存储单元,按照第一信息指示的处理方式进行数据处理。本申请实施例减少了控制器需要发送的处理指令的数量。指令的数量。指令的数量。


技术研发人员:

朱晓明 陈一峰 廖宇

受保护的技术使用者:

华为技术有限公司

技术研发日:

2021.04.30

技术公布日:

2022/10/13

本文发布于:2024-09-21 16:34:57,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/13337.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:指令   解码器   单元   存储介质
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议