一种存储器的写入方法和写入装置与流程



1.本公开的实施例涉及存储器,并且更具体地,涉及一种存储器的写入方法和写入装置。


背景技术:



2.存储器可以用于存储各种数据而被广泛地应用于各种电子设备中。将数据存储到存储器的过程被称为存储器的写入过程。
3.存储器的写入过程本质上是转换存储单元存储状态的过程。例如,对于一般地存储器而言,转换存储单元存储状态的过程为将存储单元的高电平状态转换为低电平状态,或者将存储单元的低电平状态转换为高电平状态。这种存储单元存储状态的转换一般通过存储器外部的写入驱动电路来实现。


技术实现要素:



4.本公开的至少一个实施例提供了一种存储器的写入方法,包括:探测存储器的多个存储单元中的第一存储单元的写入操作是否完成,其中,多个存储单元分别用于并行地执行写入数据的多个写入位的写入;响应于探测到第一存储单元的写入操作完成,对于第一存储单元独立地生成写入完成信息;响应于接收到写入完成信息,停止第一存储单元的写入操作。
5.本公开的至少一个实施例提供了一种存储器的写入装置,包括:写入模块和存储状态探测模块,其中,写入模块被配置为对于存储器的多个存储单元分别并行地执行写入数据的多个写入位的写入操作;存储状态探测模块被配置为探测存储器的多个存储单元中的第一存储单元的写入操作是否完成,且响应于探测到第一存储单元的写入操作完成,对于第一存储单元独立地生成写入完成信息;写入模块还被配置为响应于接收到写入完成信息,停止第一存储单元的写入操作。
6.本公开的至少一个实施例提供了一种存储器的写入装置,包括:处理器;存储器,包括一个或多个计算机程序模块;其中,一个或多个计算机程序模块被存储在存储器中并被配置为由处理器执行,一个或多个计算机程序模块包括用于执行根据如上所述的至少一个实施例提供的存储器的写入方法的指令。
7.本公开的至少一个实施例提供了一种电子装置,包括根据如上所述的至少一个实施例提供的存储器的写入装置。
8.本公开的至少一个实施例提供了一种非瞬时可读存储介质,其上存储有指令,其中,指令在被处理器读取时,使得处理器执行根据如上所述的至少一个实施例提供的存储器的写入方法。
9.如此,本公开的至少一个实施例提供的存储器的写入方法、存储的写入装置、电子装置及存储介质可以探测并行执行写入操作的存储单元的写入操作是否完成,并且在该存储单元的写入操作完成后独立地停止该存储单元的写入操作,从而停止写入驱动电路对该
存储单元的继续驱动,降低写入驱动电路的功耗和/或增加了写入数据的写入速度。
附图说明
10.为了更清楚地说明本公开的实施例的技术方案,下面将对本公开的实施例的附图作简单地介绍。明显地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
11.图1示出了示例性写入过程的时序图。
12.图2示出了根据本公开的至少一实施例的存储器的写入方法的流程图。
13.图3示出了根据本公开的至少一实施例的写入过程的时序图。
14.图4示出了根据本公开的至少一实施例的存储器的写入装置的示意图。
15.图5示出了根据本公开的至少一实施例的示例应用场景中的存储器的写入装置示意图。
16.图6示出了根据本公开的至少一实施例的位地址产生模块和位地址存储模块的示意图。
17.图7示出了根据本公开的至少一实施例的位地址译码模块的示意图
18.图8示出了根据本公开的至少一实施例的存储状态探测模块的示意图;
19.图9示出了根据本公开至少一实施例的另一存储器的写入装置的示意图;
20.图10示出了根据本公开的至少一实施例的电子装置的示意图;
21.图11示出了根据本公开至少一实施例的非瞬时可读存储介质的示意图。
具体实施方式
22.现在将详细参考本公开的具体实施例,在附图中例示了本公开的示例。尽管将结合具体实施例描述本公开,但将理解,不是想要将本公开限于描述的实施例。相反,想要覆盖由所附权利要求限定的在本公开的精神和范围内包括的变更、修改和等价物。应注意,本文描述的方法操作都可以由任何功能块或功能布置来实现,且任何功能块或功能布置可被实现为物理实体或逻辑实体、或者两者的组合。
23.为了使本领域技术人员更好地理解本公开,下面结合附图和具体实施方式对本公开作进一步详细说明。
24.注意,接下来要介绍的示例仅是具体的示例,而不作为限制本公开的实施例必须为示出和描述的具体的外形、硬件、连接关系、操作、数值、条件、数据、顺序等等。本领域技术人员可以通过阅读本说明书来运用本公开的构思来构造本说明书中未提到的更多实施例。
25.本公开中使用的术语是考虑到关于本公开的功能而在本领域中当前广泛使用的那些通用术语,但是这些术语可以根据本领域普通技术人员的意图、先例或本领域新技术而变化。此外,特定术语可以由申请人选择,并且在这种情况下,其详细含义将在本公开的详细描述中描述。因此,说明书中使用的术语不应理解为简单的名称,而是基于术语的含义和本公开的总体描述。
26.本公开中使用了流程图来说明根据本技术的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,根据需要,可以按照倒序或
同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
27.存储器的写入过程本质上是转换存储单元存储状态的过程。对于例如非易失存储单元来说,存储状态的转换需要大的写入电流,因此需要写入驱动电路具有强的驱动能力。写入驱动电路的驱动能力的提升往往是以牺牲电路面积为代价,因此对于需要具有高存储密度的存储器芯片来说,一味地提升写入驱动电路的驱动能力是不允许的。
28.为了应对存储器驱动能力不足的限制,对存储器进行写入操作的时候需要将存储器分组成多个存储单元组,每次只写入一个存储单元组,从而减少存储单元并行写入的个数。在对存储器的某一个地址进行写入操作时,一个要写入的数据(写入数据)所包括的所有存储单元组之间要进行串行写入。
29.例如,受到存储器的写入驱动电路的驱动能力的限制,无法同时对太多的存储单元进行并行写入。一种解决方法是,与将存储器分组成多个存储单元组相对应地,在对要写入存储器的数据(本文称为“写入数据”)进行写入之前首先会将该写入数据分组成多个写入位组。其中,各个写入位组之间串行写入各个存储单元组,而写入位组内的各个写入位并行地写入存储单元组内的各个存储单元。一个写入位组完成写入操作的标志是相应的存储单元组内的所有存储单元都被写到了目标状态。
30.验证存储单元是否写到了目标状态的方法是每隔一定的时钟周期给一组要写的存储单元施加一定时间的写入电压之后进行一次读取操作,然后确定该存储单元组内各个存储单元是否已经写到了目标的状态。只有与一个写入位组相对应的存储单元组内的所有的存储单元都写到了目标状态之后才会开始下一写入位组的写入。然而,受到存储器器件的工艺因素、使用环境等的影响,不同存储单元写入过程中存储状态的转换需要的时间是具有较大差异的。例如,一些存储单元在较短的写入时间之内即可完成存储状态的转换,而另一些存储单元的存储状态的转换往往需要更长的时间。
31.因此,在该解决方法的在一些方面,验证存储单元是否写到了目标状态是以并行执行写入操作的存储单元组为整体进行的。另外,由于验证操作期间会停止存储单元的写入操作,因而不能实时或频繁地进行该验证操作,这会造成每隔一定的时钟周期后进行验证操作时,存储单元组中的部分存储单元可能已经写到了目标状态,然而此时,写入驱动电路仍然对该存储单元施加驱动电流或驱动电压,造成了写入驱动电路的功耗的浪费。
32.在该解决方法的另一些方面,一个写入位组的写入过程持续的时间是由转换速度最慢的存储单元决定的,对转换速度慢的存储单元的等待增加了写入的时间,并且常常发生的是只有存储单元组内的个别单元需要在写入驱动电路的驱动下进行写入,也就是写入驱动电路常常处在性能没有“用满”的状态。
33.下面结合图1示例性地描述上述解决方法。
34.图1示出了示例性写入过程的时序图100。参见图1,存储器的写入驱动电路具有四个端口,可以分别驱动对于4个存储单元的写入/读取操作。在时钟信号clk和写入电压的控制下,第一存储单元组内的4个存储单元(存储单元1、存储单元2、存储单元3以及存储单元4)在时间t1同时开始写入。
35.在时间t2时,存储单元1的状态发生转换,此时存储单元1写入成功。在时间t3时,存储单元2的状态发生转换,此时存储单元2写入成功。在时间t4时,存储单元3的状态发生
转换,此时存储单元3写入成功。
36.在该示例中,每当执行五个时钟周期的写入过程之后将验证存储单元组内的所有存储器单元是否写入成功。如图所示,在时间t5时,验证第一存储单元组内的4个存储单元(存储单元1、存储单元2、存储单元3以及存储单元4)是否写入成功。由于存储单元4尚未写入成功,将会出现验证失败,并且随后在验证结束的时间t5’继续执行对存储单元4的写入过程。
37.在时间t6时,存储单元4的状态发生转换,此时存储单元4写入成功。随后,在时间t7时,继续验证验证第一存储单元组内的4个存储单元(存储单元1、存储单元2、存储单元3以及存储单元4)是否写入成功。此时,存储单元4已经写入成功,因此,第一存储单元组内的4个存储单元全部写入成功,因而验证通过。在本次验证结束的时间t7’,可以继续执行第二存储单元组的写入。第二存储单元组将与第一存储单元组类似地方式执行其组内的各个存储单元的写入操作。
38.根据图1可以看出,在一些方面,以第一存储单元组为例,验证第一存储单元组内的各个存储单元是否写到了目标状态是在同一时间(t5至t5’)以所有存储单元组为整体进行的。另外,在时间t5开始进行验证操作时,存储单元组中的存储单元1、存储单元2和存储单元3已经写到了目标状态,然而,由于存储单元组中的存储单元4尚未写到目标状态,写入驱动电路仍然对存储单元1、存储单元2和存储单元3施加驱动电流或驱动电压,造成了写入驱动电路的功耗的浪费。
39.在另一些方面,以第一存储单元组为例,第一存储单元组的写入过程持续的时间是由转换速度最慢的存储单元4决定的,对转换速度慢的存储单元4的等待增加了写入的时间,并且例如在时间t4到t5以及t5’到t6的时间,仅有存储单元4需要写入驱动电路的驱动的情况,使得写入驱动电路的性能遭受浪费。
40.除此以外,针对存储单元2,在其写入操作完成之前,存在存储单元1的存储状态可能已经是要写入的目标状态(写入完成),此时,写入驱动电路中用于驱动存储单元1的写入的驱动资源进入闲置状态。另外,针对存储单元3,在其写入操作完成之前,存储单元1和存储单元2的存储状态可能已经是要写入的目标状态,此时,写入驱动电路的用于驱动存储单元1和驱动存储单元2的写入的驱动资源进入闲置状态。另外,针对存储单元4,在其写入操作完成之前,存储单元1、存储单元2和存储单元3的存储状态可能已经是要写入的目标状态,此时,写入驱动电路的用于驱动存储单元1、存储单元2和存储单元3写入的驱动资源进入闲置状态。在这些情况下,即使写入数据尚未写入完成,即还需要对后续存储单元执行写入操作的情况下,只有存储单元组内的个别单元需要在写入驱动电路的驱动下进行写入,也就是写入驱动电路常常处在性能没有“用满”的状态,同样使得写入驱动电路的性能遭受浪费。
41.本技术的发明人意识到,一方面,在多个存储单元并行执行写入操作的情况下,独立地停止写入驱动电路对写到了目标状态的存储单元的驱动继续将是有益的。
42.另一方面,在写入驱动电路的驱动能力存在限制的情况下,提高驱动电路的驱动效率将是有益的,例如在设计过程中使写入驱动电路满足尽可能高的驱动性能要求或者甚至最高的驱动性能要求(即存储单元组内的每个存储单元都需要写入的情况)将是有益的。
43.针对上面描述的一方面,本公开的至少一些实施例提供了一种存储器的写入方法
和写入装置,以在多个存储单元并行执行写入操作的情况下,降低了写入驱动电路的功耗。
44.以下参照附图,对本公开的实施例的存储器的写入方法和写入装置进行详细介绍。
45.首先,以下介绍本公开的实施例的存储器的写入方法,该存储器的写入方法可以应用于如下文进一步描述的存储器的写入装置、电子装置、其他合适的软件或硬件、或硬件和软件的结合。
46.图2示出了根据本公开的至少一实施例的存储器的写入方法200的流程图。该实施例的存储器的写入方法的流程图可以包括步骤s202至步骤s206。
47.在步骤s202中,探测存储器的多个存储单元中的第一存储单元的写入操作是否完成,其中,多个存储单元用于并行地执行写入数据的多个写入位的写入。
48.在这里,第一存储单元可以是做描述对象的、用于并行地执行写入数据的多个写入位的写入的多个存储单元中的任一存储单元。
49.写入数据可以是要被写入存储器的任何数据。写入数据的写入位可以是写入数据中需要被写入存储单元的数据位。例如,写入数据可以“01”,写入数据的写入位可以是“0”、“1”。
50.在步骤s204中,响应于探测到第一存储单元的写入操作完成,对于第一存储单元独立地生成写入完成信息。
51.以这种方式,该写入完成信息可以表征第一存储单元的写入操作完成。例如,当第一存储单元的写入操作完成时,该写入完成信息可以是高电平、低电平或者时钟信号等、或者能够表征第一存储单元的写入操作完成的任何信息。由此,该写入完成信息可以被其他软件或硬件获取,以用于后续处理。
52.在步骤s206中,响应于接收到写入完成信息,停止第一存储单元的写入操作。
53.例如,继续参见图1,在时间t2,可以响应于接收到针对存储单元1而生成的写入完成信息停止写入驱动电路对存储单元1的驱动。类似地,在时间t3,可以响应于接收到针对存储单元2而生成的写入完成信息停止写入驱动电路对存储单元2的驱动。类似地,在时间t4,可以响应于接收到针对存储单元3而生成的写入完成信息停止写入驱动电路对存储单元3的驱动。以此类推。另外,在这种情况下,还可以避免由于执行图1所示的验证操作而操作的附加时间(t5至t5’),因此增加了写入数据的写入速度。
54.如此,根据本公开的至少一实施例的存储器的写入方法可以探测并行执行写入操作的存储单元的写入操作是否完成,并且在该存储单元的写入操作完成后独立地停止该存储单元的写入操作,从而停止写入驱动电路对该存储单元的继续驱动,降低写入驱动电路的功耗和/或增加了写入数据的写入速度。
55.针对上面描述的另一方面,本公开的至少一些实施例提供了另一种存储器的写入方法,以在例如有限的写入驱动电路的驱动能力下,提高写入的速度和/或提高驱动电路的驱动效率。
56.另一种存储器的写入方法可以同样地包括参照图2描述的步骤s202和s204。附加或替换如参照图2描述的步骤s206。在一些实施例中,响应于接收到写入完成信息,执行下一存储单元的写入操作,其中,下一存储单元用于执行写入数据的多个写入位之外的下一写入位的写入。
57.如此,根据本公开的至少一实施例的另一种存储器的写入方法可以在并行执行写入操作的多个存储单元中的第一存储单元写入完成后执行下一存储单元的写入操作。根据本公开的至少一实施例的另一种存储器的写入方法无需等待并行执行写入操作的多个存储单元的写入操作的全部完成即可执行下一存储单元的写入操作,避免了如图1中存储单元组的存储状态转换最慢的存储单元对该存储单元组的写入时间的限制,提高了对写入数据的写入速度。
58.另外,根据本公开的至少一实施例的另一种存储器的写入方法使得可以在第一存储单元写入完成后转而执行下一存储单元的写入操作,由此可以使得与用于驱动存储单元的写入操作的写入驱动电路更长时间处于并行驱动尽可能多的存储单元的状态,避免了如图1中的存储单元组内的一些存储单元状态已经处于目标状态(即写入完成)、仍然有写入数据的写入位需要写入的情况下,驱动电路的部分性能处于“空闲”状态而出现写入驱动电路的性能的浪费或低效率。
59.因此,根据本公开的至少一实施例的另一种存储器的写入方法可以在例如有限的写入驱动电路的驱动能力下,提高写入的速度和/或提高驱动电路的驱动效率。
60.下面结合图3来示例性描述根据本公开的至少一实施例的另一种存储器的写入方法。图3示出了根据本公开的至少一实施例的写入过程的时序图300。
61.与图1类似的,参见图3,存储器的写入驱动电路具有四个端口,同样可以驱动对于4个存储单元的并行写入(或读取);当然,4个端口仅仅是示例,本公开的实施例对于写入驱动电路的端口数量不作限制。在时钟信号clk和写入电压的控制下,4个存储单元(存储单元1、存储单元2、存储单元3以及存储单元4)在时间t1同时开始写入。随后,在时间t2时,存储单元1的状态发生转换,此时存储单元1写入成功。在时间t3时,存储单元2的状态发生转换,此时存储单元2写入成功。在时间t4时,存储单元3的状态发生转换,此时存储单元3写入成功。
62.下面介绍本公开该实施例与图1的情形不同的方面。
63.参见图3,在时间t2时,存储单元1的状态发生转换,因而可以探测到存储单元1的写入操作的完成/成功,并且可以生成表征存储单元1写入操作的完成的信息。随后,可以停止存储单元1的写入操作,并且执行下一存储单元(即存储单元5)的写入操作。
64.类似地,在时间t3时,存储单元2的状态发生转换,因而可以探测到存储单元2的写入操作的完成/成功,并且可以生成表征存储单元2写入操作的完成的信息。随后,可以停止存储单元2的写入操作,并且执行下一存储单元(即存储单元6)的写入操作。
65.类似地,在时间t4时,存储单元3的状态发生转换,因而可以探测到存储单元3的写入操作的完成/成功,并且可以生成表征存储单元3写入操作的完成的信息。随后,可以停止存储单元3的写入操作,并且执行下一存储单元(即存储单元7)的写入操作。
66.类似地,在时间t6时,存储单元4的状态发生转换,因而可以探测到存储单元4的写入操作的完成/成功,并且可以生成表征存储单元4写入操作的完成的信息。随后,可以停止存储单元4的写入操作,并且执行下一存储单元(即存储单元8)的写入操作,以此类推。
67.可以理解的是,本文的存储单元是用于执行写入数据的相应写入位的写入操作的存储单元。示例性地,写入数据的写入可以通过8个存储单元的写入操作来完成,因此,在执行完该8个存储单元的写入操作后,该写入数据被写入存储器。
68.从图3中可以看出,在存储单元1的写入操作完成后执行存储单元5的写入操作,在存储单元2的写入操作完成后执行存储单元6的写入操作,在存储单元3的写入操作完成后执行存储单元7的写入操作,在存储单元4的写入操作完成后执行存储单元8的写入操作。在这种情况下,在时间t1处,存储单元1的写入操作完成,无需等待存储单元2、存储单元3和存储单元4的写入操作的完成即可执行下一存储单元(即存储单元5)的写入操作。此时,存在4个存储单元的并行执行。类似地,在时间t2处,存储单元1的写入操作完成,无需等待存储单元5、存储单元3和存储单元4的写入操作的完成即可执行下一存储单元(即存储单元6)的写入操作。类似地,在时间t3处,存储单元3的写入操作完成,无需等待存储单元5、存储单元6和存储单元4的写入操作的完成即可执行下一存储单元(即存储单元7)的写入操作。类似地,在时间t6处,存储单元4的写入操作完成,无需等待存储单元5、存储单元6和存储单元7的写入操作的完成即可执行下一存储单元(即存储单元8)的写入操作。
69.因此,写入数据被写入存储器的时间被缩短,驱动电路可以更长时间驱动尽可能多的存储单元的写入操作,由此提高了写入数据的写入速度和/或提高了驱动电路的驱动效率。
70.以这种方式,根据图3的实施例通过并行执行写入操作的多个存储单元中的第一存储单元写入完成后执行下一存储单元的写入操作,提高了写入数据的写入速度和/或提高了驱动电路的驱动效率。
71.本文描述的“并行”执行的存储单元不是特指第一个存储单元组,即不仅可以包括同时开始写入操作的并行的存储单元,也可以包括后续的不同时间开始、但在某一时间上并行执行写入操作的多个存储单元。
72.下面描述根据本公开的至少一实施例的存储器的写入方法的附加方面。
73.在一些实施例中,下一存储单元的写入操作可以与第一存储单元的写入操作对应于存储器的写入驱动电路的同一端口。以这种方式,下一存储单元的写入操作可以替换已经执行完写入操作的第一存储单元的驱动资源,而不影响或改变写入驱动电路对多个存储单元中的剩余单元的写入操作的执行。与为并行执行的多个存储单元重新分配写入驱动电路的端口相比,将降低计算开销。
74.在一些实施例中,响应于接收到写入完成信息,执行下一存储单元的写入操作可以包括在接收到写入完成信息的同一个操作周期(例如时钟周期)或紧接的下一操作周期(例如时钟周期)以内开始执行所述下一存储单元的写入操作。通常操作周期以系统的时钟周期为基础,例如为单个时钟周期或多个时钟周期。例如,可以在接收到写入完成信息后立即开始执行所述下一存储单元的写入操作。以这种方式,可以使得某一存储单元写入完成后立即执行下一存储单元的写入操作,提高了驱动电路的驱动效率并且提高了写入数据整体上被写入存储器的速度。在另一些实施例中,可以在接收到写入完成信息的n个时钟周期以内开始执行所述下一存储单元的写入操作,这里n可以是根据存储器的性能(例如存储器中各个存储单元的存储状态的转换需要的时间的差异或差异分布)来确定。例如,n可以是1、2、3等。以这种方式,与参见图1描述的需要等待一个存储单元组中的所有存储单元写入完成后才能执行下一个存储单元组的写入相比,可以提高驱动电路的驱动效率并且提高写入数据整体上被写入存储器的速度。
75.在一些实施例中,探测存储器的多个存储单元中的第一存储单元的写入操作是否
完成可以包括:检测存储器的多个存储单元中的第一存储单元的写入电流;以及响应于写入电流在阈值电流以下时,探测到第一存储单元的写入操作完成。可以理解,随着写入操作的执行,写入电流会逐渐减小或降低,存储单元的写入电流减小到阈值电流可以很好的表征该存储单元已经写到目标状态,即该存储单元的写入操作完成。如此,可以可靠地探测出存储单元的写入操作是否完成。然而,可以通过其他方式来探测存储单元的写入操作是否完成。
76.在一些实施例中,多个存储单元中的存储单元的数量为小于或等于存储器的写入驱动电路能够支持并行执行写入操作的存储单元的最大数量。例如,当写入驱动电路的驱动能力最多可以支持驱动4个存储单元的并行写入时,该多个存储单元中的存储单元的数量可以为2-4。以这种方式,可以使得写入驱动电路并行地驱动多个存储单元,使得写入驱动电路高效运行。例如,结合图1和图3,可以预见的是,即使图3采用2个存储单元或者3个存储单元的并行写入,也可能比图1采用包括4个存储单元的存储单元组的写入方法更快地完成写入数据的写入。
77.然而,在一些情况下,为了更快地完成写入数据的写入,使写入驱动电路的性能用满将是有利的。在一些实施例中,多个存储单元中的存储单元的数量为存储器的写入驱动电路能够支持并行执行写入操作的存储单元的最大数量。例如,当写入驱动电路的驱动能力最多可以驱动4个存储单元的并行写入,该多个存储单元中的存储单元的数量为4。以这种方式,可以使得写入驱动电路并行地驱动尽可能多的存储单元,使得写入驱动电路的性能用满。
78.在一些实施例中,根据本公开的至少一实施例的存储器的写入方法还包括响应于接收到写入完成信息,获取下一写入位的写入位地址;译码下一写入位的写入位地址,以生成开关选中信号;其中,停止第一存储单元的写入操作包括:基于开关选中信号断开到第一存储单元的驱动连接;并且其中,执行下一存储单元的写入操作包括:基于开关选中信号接通到下一存储单元的驱动连接;以及对下一存储单元施加写入电压或写入电流。
79.或者,在一些实施例中,执行下一存储单元的写入操作包括:响应于接收到写入完成信息,获取下一写入位的写入位地址;译码下一写入位的写入位地址,以生成开关选中信号;基于开关选中信号接通到下一存储单元的驱动连接;以及对下一存储单元施加写入电压或写入电流;并且其中,停止第一存储单元的写入操作包括:基于开关选中信号断开到第一存储单元的驱动连接。
80.以这种方式,在接收到表征存储单元的写入操作的完成之后,可以获取下一写入位的写入位地址,进而可以译码该写入位地址来得到用于写入该下一写入位的下一存储单元的位置。本文的写入位的写入位地址可以指示写入位要写入的存储单元的地址或位置,因此可以基于写入位的写入位地址确定要写入的存储单元的地址或位置。例如,基于写入位地址,可以通过控制写入驱动电路与存储单元的驱动连接来断开到写入操作完成的存储单元的驱动连接并且接通到该下一存储单元的驱动连接,以便写入驱动电路对该下一存储单元施加写入电压或写入电流以实现驱动。如此,可以基于该写入完成信息实现对下一存储单元的驱动。
81.在一些实施例中,响应于接收到写入完成信息,获取下一写入位的写入位地址包括:响应于接收到写入完成信息,生成下一写入位的写入位地址;存储下一写入位的写入位
地址以替换与第一存储单元相对应的写入位的写入位地址。
82.可以理解的是,在下一写入位的写入位地址被保存之前,保存并输出的写入位的写入位地址可以包括初始被并行写入存储器的多个存储单元的写入位的写入位地址。在下一写入位的写入位地址被保存之后,输出的写入位可以包括初始被并行写入存储器的多个存储单元中的尚未完成写入操作的存储单元的写入位的写入位地址以及该下一写入位的写入位地址。另外,随着时间的推移,当初始被并行写入存储器的多个存储单元的写入操作全部完成时,输出的写入位的写入位地址可以仅包括多个下一写入位的写入位地址。因此,在一些实施例中,保存并输出的写入位地址的数量可以小于或等于存储器的写入驱动电路能够支持并行执行写入操作的存储单元的最大数量。在另一些实施例中,保存并输出的写入位地址的数量可以等于存储器的写入驱动电路能够支持并行执行写入操作的存储单元的最大数量,例如,写入驱动电路的最大驱动能力可以支持4个存储单元的并行写入操作,则保存并输出的写入位地址的数量为4。
83.如上所述,当接收到该写入完成信息时,生成下一写入位的写入位地址。也就是说,该写入完成信息可以是控制下一写入位的写入位地址的生成的控制信号。因此,在一些示例中,该写入完成信息可以是例如寄存器的时钟控制信号,并且当接收到该时钟控制信号时,该时钟控制信号可以控制寄存器以输出下一写入位的写入位地址。
84.然而实施例不限于此,在另一些实施例中,下一写入位的写入位地址是基于写入数据预先生成的,并且当接收到该写入完成信息时,可以选择下一写入位的写入位地址。例如,可以随机选择或者根据写入位的位的高低等来选择下一写入位的写入位地址。也就是说,该写入完成信息可以是用于指示下一写入位的写入位地址的选择的信息。因此,在一些示例中,可以基于写入数据预先生成多个写入位的多个写入位地址。可以通过例如存储器存储多个写入位地址,并且当接收到该写入完成信息时,通过例如处理器从多个写入位地址中选择下一写入位的写入位地址。
85.在一些实施例中,响应于接收到写入完成信息,生成下一写入位的写入位地址包括:响应于接收到写入完成信息,根据写入数据的掩模(mask)输入生成下一写入位的写入位地址。可以根据掩模技术生产写入数据的掩模输入,掩模输入可以指示写入数据中那些位需要被写入。换句话说,掩模输入的各个位分别指示写入数据的各个写入位的值和与各个写入位相对应的存储单元所存储的值是否相同。在一个实例中,写入数据可以是“01”,通过掩模技术可以确定要被写入“0”的存储单元已经是“0”,而要被写入“1”的存储单元是“0”,在这种情况下,无需再对“0”进行写入而仅需要对“1”进行写入,因此写入数据“01”的掩模输入是数值01,其中数值0指示无需对该写入位进行写入,数值1指示需要对该写入位进行写入。以这种方式,可以降低写入数据的写入位的数量,提高写入数据的写入效率。
86.在一些实施例中,本公开的至少一实施例提供的存储器的写入方法还可以包括获取写入数据的掩模输入,以促进降低写入数据的写入位的数量、提高写入数据的写入效率。
87.在一些实施例中,获取写入数据的掩模输入包括:在将写入数据写入存储器之前,对于写入数据的每个写入位执行以下操作:读取与写入位相对应的存储单元的值;比较写入位的值与相对应的存储单元的值是否相同;响应于写入位的值与相对应的存储单元的值相同,为写入位设置第一数值;响应于写入位的值与相对应的存储单元的值不相同,为写入位设置第二数值;输出写入数据的每个写入位经设置得到的数值作为写入数据的掩模输
入。例如,这可以通过读取的数值(例如二进制)与待写入的数值(二进制)进行逐位异或运算,运算结果为所需要的掩膜输入。这里的输出可以包括每当得到一个写入位经设置得到的数值即输出,也可以包括得到所有写入位经设置得到的数值后一并输出。
88.继续上述实例,在将写入数据“01”写入存储器之前,可以读取出分别与写入数据“01”的写入位“0”和“1”相对应的存储单元当前所存储的值是“0”和“0”。然后,可以比较写入位“0”与相对应的存储单元所存储的值“0”,此时二者相同,可以以第一数值d1来标识。类似地,可以比较写入位“1”与相对应的存储单元所存储的值“0”,此时二者不相同,可以以第二数值d2来标识。因而可以输出d1d2作为该写入数据的掩模输入。以这种方式,可以获取写入数据的掩模输入。例如,将读取的数值00与待写入的数值01进行逐位异或运算,运算结果为01,可以作为掩膜输入,其中为0的位置表示相同而为1的位置表示不同。然而,实施例不限于此,也可以通过其他方式获取写入数据的掩模输入。
89.在一些实施例中,第一数值为0,并且第二数值为1。继续上述实例,写入数据的掩模输入为01,其中0指示无需对相应的存储单元进行写入,而其中1指示需要对相应的存储单元进行写入。以这种方式,可以简单地表征需要对相应的存储单元执行写入操作的写入位在该写入数据中的位置,便于后续基于此确定相应存储单元的位置。
90.与本公开的至少一实施例提供的存储器的写入方法相对应,本公开的至少一实施例还提供了一种存储器的写入装置。
91.图4示出了根据本公开的至少一实施例的存储器的写入装置400的示意图。
92.参照图4,根据本公开的至少一实施例的存储器的写入装置包括存储状态探测模块402以及写入模块404。
93.写入模块404被配置为对于存储器的多个存储单元分别并行地执行写入数据的多个写入位的写入操作。
94.存储状态探测模块402被配置为探测存储器的多个存储单元中的第一存储单元的写入操作是否完成,且响应于探测到第一存储单元的写入操作完成,对于第一存储单元独立地生成写入完成信息。
95.写入模块404还被配置为响应于接收到写入完成信息,停止第一存储单元的写入操作。
96.以这种方式,根据本公开的至少一实施例的存储器的写入装置可以探测并行执行写入操作的存储单元的写入操作是否完成,并且在该存储单元的写入操作完成后独立地停止该存储单元的写入操作,从而停止写入驱动电路对该存储单元的继续驱动,降低写入驱动电路的功耗和/或增加了写入数据的写入速度。
97.附加地或替换地,在一些实施例中,写入模块404被配置为响应于接收到写入完成信息,执行下一存储单元的写入操作,其中,下一存储单元用于执行写入数据的多个写入位之外的下一写入位的写入。
98.以这种方式,可以在例如有限的写入驱动电路的驱动能力下,提高写入的速度和/或提高驱动电路的驱动效率。
99.以下对本公开的至少一实施例的存储器的写入装置的其他方面进行描述。
100.在一些实施例中,下一存储单元的写入操作可以与第一存储单元的写入操作对应于存储器的写入驱动电路的同一端口。
101.在一些实施例中,响应于接收到写入完成信息,执行下一存储单元的写入操作可以包括在接收到写入完成信息的同一个操作周期(例如时钟周期)或紧接的下一操作周期(例如时钟周期)以内开始执行所述下一存储单元的写入操作。
102.在一些实施例中,存储状态探测模块402可以包括写入电流检测模块。写入电流检测模块被配置为检测存储器的多个存储单元中的第一存储单元的写入电流的改变,以及响应于写入电流减小到阈值电流时,探测到第一存储单元的写入操作完成。
103.在一些实施例中,写入模块404可以包括位地址获取模块、位地址译码模块以及写入驱动电路。位地址获取模块被配置为响应于接收到写入完成信息,获取下一写入位的写入位地址。位地址译码模块被配置为译码下一写入位的写入位地址,以生成开关选中信号;基于开关选中信号断开到第一存储单元的驱动连接;并且基于开关选中信号接通到下一存储单元的驱动连接。写入驱动电路被配置为对下一存储单元施加写入电压或写入电流。在一些实施例中,位地址获取模块、位地址译码模块以及写入驱动电路的部分或全部也可以在写入模块404的外部。
104.在一些实施例中,位地址获取模块可以包括位地址生成模块以及位地址存储模块。位地址生成模块被配置为响应于接收到写入完成信息,生成下一写入位的写入位地址。位地址存储模块被配置为存储下一写入位的写入位地址以替换与第一存储单元相对应的写入位的写入位地址。
105.在一些实施例中,位地址生成模块可以包括掩模位地址生成模块。掩模位地址生成模块被配置为响应于接收到写入信息,根据写入数据的掩模(mask)输入生成下一写入位的写入位地址。
106.在一些实施例中,掩模位地址生成模块可以包括数值设置设备模块以及输出模块。数值设置设备模块被配置为在将写入数据写入存储器之前,对于写入数据的每个写入位执行以下操作:读取与写入位相对应的存储单元的值;比较写入位的值与相对应的存储单元的值是否相同;响应于写入位的值与相对应的存储单元的值相同,为写入位设置第一数值;响应于写入位的值与相对应的存储单元的值不相同,为写入位设置第二数值。输出模块被配置为输出写入数据的每个写入位经设置得到的数值作为写入数据的掩模输入。
107.在一些实施例中,多个存储单元中的存储单元的数量为存储器的写入驱动电路能够支持并行执行写入操作的存储单元的最大数量。
108.以上仅结合图4描述了根据本公开的至少一实施例的存储器的写入装置的部分,并且存储器的写入装置的其余部分可以对本公开的结合图2描述的存储器的写入方法的各个方面进行参考和引用,并且根据本公开的结合图2描述的存储器的写入方法的各个方面的效果同样可以映射到本公开的结合图4描述的存储器的写入装置,在此不在赘述。
109.下面通过图5至图8来描述可以利用根据本公开的至少一实施例所提供的存储器的写入方法或存储器的写入装置的在示例应用场景中的实现。例如,在图5至图8描述的示例应用场景中,写入数据为32位,写入驱动电路支持4个存储单元的并行写入操作,并且为了便于理解,在示例应用场景中示出了详细的模块/单元以及具体的电路,然而可以理解的是,这些图5至图8描述的各个方法仅是示例性的或者是可选的具体实现,本公开不以此为限。
110.可以理解的是,结合图5描述的各方面与结合图2和图4描述的各方面可以相互引
用,而不超出本公开的范围。
111.图5示出了根据本公开的至少一实施例的示例应用场景中的存储器的写入装置500示意图。
112.参见图5,写入装置500包括位地址产生模块502、位地址存储模块504、位地址译码模块506、存储单元508、写入驱动电路510以及存储状态探测模块512。
113.在一些实施例中,位地址产生模块502、位地址存储模块504、位地址译码模块506、写入驱动电路510可以为例如参见图4描述的写入模块405的子组件或附加组件。存储状态探测模块512可以与例如参见图4描述的存储状态探测模块410相同或相似。
114.在一些实施例中,存储单元508可以以存储器来体现,因此,存储单元508可以与存储器互换使用。在一些实施例中,存储单元508可以在写入装置500的外部。
115.下面描述写入装置500的各个模块。
116.图6示出了根据本公开的至少一实施例的位地址产生模块502和位地址存储模块504的示意图。
117.参见图6,位地址产生模块502包括mask寄存器与寄存器更新模块602、clz指令逻辑模块604、反相输出模块606、以及地址译码模块608。
118.位地址产生模块502的主要功能是根据写入数据的掩模(mask)输入,产生写入位在数据中的地址。以写入数据的掩模输入为32’h0000001f为例,在此数据中,32位的写入数据的掩模输入有5个位为1,则位地址产生模块502产生这五个“1”位的地址分别为5’b00000、5’b00001、5’b00010、5’b00011、b’b00100。这五个地址可以在时钟clk的上升沿依次输出给位地址存储模块504。
119.位地址产生模块502可以基于前导零计数(count leading zero,clz)指令逻辑模块604来实现。clz指令逻辑模块604的功能是到输入数据从高位数第一个“1”前面“0”的数量。例如:输入的32bit的数据若为32’h0000001f,第一个“1”前有27个“0”,clz指令逻辑模块604就会输出6

b011011;输入的32bit数据若为32’h00000000,则clz指令逻辑模块604输出为6’b100000。
120.具体地来说。在初始时刻,写入数据的掩模输入先写入一个32位的寄存器中,即mask寄存器与寄存器更新模块602中,再由mask寄存器与寄存器更新模块602将掩模输入传入到clz指令逻辑模块604的输入端。clz指令逻辑模块604输出mask寄存器与寄存器更新模块602中第一个数值为“1”的位前边“0”的个数,经由反相输出模块606将该数值取反便得到了从高位数第一个“1”所在位的地址(即写入位的写入位地址)。
121.可以理解的是,位地址产生模块是根据写入数据的掩模输入而生成写入位的地址,因此这里“1”所在位的地址表征需要转换相应存储单元的状态的写入位地址,并且“0”所在位的地址表征不需要转换相应存储单元的状态的写入位地址。
122.该位的地址与位地址存储模块504相连接,以便在下一个时钟上升沿到来的时候写入位地址存储模块。与此同时在时钟上升沿到来时“1”所在位的地址(即当前写入位的写入位地址)会先通过地址译码模块608译码反馈给mask寄存器与寄存器更新模块602,以将该地址中的数据“1”写成“0”,因此此时会输出从高位数第二个“1”所在位对应的地址(即下一写入位的写入位地址)。同样的,该地址会在下一个时钟上升沿到来的时候写入位地址存储模块504并将mask寄存器与寄存器更新模块602中第二个“1”写成“0”,从而输出得到第三
个“1”的地址。因此,每当一个时钟上升沿到来时,位地址产生模块502就会给位地址存储模块504输入一个写入数据的mask输入中“1”所在位的地址,即表征需要转换相应存储单元的状态的写入位地址。因此,可以根据写入数据的掩模输入以及当前写入位的写入位地址来生成下一写入位的写入位地址,然而实施例不限于此。
123.当所有的要写的位的地址都送进mask寄存器与寄存器更新模块602以后,当再有时钟到来的时候,clz指令逻辑模块604的最高位输出会输出“1”,指示此时写入数据的所有写入位的地址均传输到位地址存储模块504,此时,正在执行写入操作的存储单元的个数为4(存储单元的个数为4可以对应于写入驱动电路的驱动能力为最多支持4个存储单元的并行写入操作)。因此,此时通过一个计数器开始记录时钟到来的次数,当计数器输出为4时,指示最后4个存储单元的写入操作全部完成,即写入数据全部写入存储器,因此可以给出写入停止信号。
124.需要说明的是,在写入数据开始被写入时,mask寄存器与寄存器更新模块602需要向位地址存储模块504传入并行写入存储单元的4个写入位的写入位地址,因此,mask寄存器与寄存器更新模块602需要预先接收4个时钟控制信号(clk),随后mask寄存器与寄存器更新模块602的时钟控制信号是由存储状态探测模块512提供的信号生成的。也就是说,mask寄存器与寄存器更新模块602预先生成与写入驱动电路并行支持的存储单元的数量(在本示例中为4)相对应的写入位地址,然后mask寄存器与寄存器更新模块602的时钟控制信号为由存储状态探测模块512提供的信号生成。
125.继续参见图6,位地址存储模块504的主要功能是保存并向位地址译码模块同时输入多个位地址。如果写入驱动电路510的驱动能力是可并行满足4个存储单元的驱动,则位地址存储模块504可以保存并输出4个写入位地址。例如,在某一存储单元的写入操作完成后,位地址存储模块504可以接收来自位地址产生模块502的下一写入位的写入位地址来替换该某一存储单元对应的写入位的写入位地址,进而保持4个存储单元的写入位地址的输出。
126.位地址存储模块504可以直接使用寄存器来构成。例如,对于32位的输入数据的掩模输入来说,需要5位地址选中每一个位,因此位地址存储模块504中的移位寄存器需要五位。另外,在写入驱动电路510的驱动能力是并行满足4个存储单元的驱动的情况下,需要4个五位的寄存器。通过4个五位的寄存器可以同时提供4个写入位地址给位地址译码模块506,从而并行打开4个要写的存储单元。
127.图7示出了根据本公开的至少一实施例的位地址译码模块506的示意图。
128.参见图7,位地址译码模块506包括4个译码器702、704、706和708。位地址译码模块506还包括或门逻辑710以及阵列开关712。
129.位地址译码模块506的作用是将位地址存储模块504提供的4个写入位地址译码从而控制相应的4个存储单元的开关打开与写入驱动电路连接从而进行写入的过程。
130.由于有4个写入位地址输出而同时选通4个开关,因此需要4个译码器。在该实施例中,4个译码器702、704、706和708是5-32译码器。4个译码器的输出可以通过或门逻辑710进行或运算生成32位的开关选中信号,以便同时打开阵列开关712中的4个存储单元的写入开关,即将写入驱动电路510与该4个存储单元相连接,以进行写入操作。
131.图8示出了根据本公开的至少一实施例的存储状态探测模块512的示意图。
132.存储状态探测模512的主要功能是例如实时或以其他频率探测存储单元写入电流vwrite的变化,当写入电流减小或者下降到某个电流阈值的时候,会产生信号给位地址产生模块502。该信号是位地址产生模块502中mask寄存器与寄存器更新模块602的时钟控制信号。当该信号为“1”的时候,控制mask寄存器与寄存器更新模块602下一“1”所在位地址的输出。
133.参见图8,存储状态探测模块512的可以包括连接到存储单元802的电流镜结构804和反相器806。通过该电流镜804将写入电流镜像到电流镜804的另一侧,随着存储单元802状态的改变,也就是写入电流大小的改变,会造成电流镜另一侧上电阻分压的改变,因此造成反相器806的输入电压的变化造成输出电压的反转。反相器806的输出电压可以作为提供给位地址产生模块502的信号,用以产生下一写入位的写入位地址。
134.返回图5,写入驱动电路510的主要功能给存储单元508提供写入驱动电压或写入驱动电流。在一些情况下,该写入驱动电路510的驱动能力与面积和功耗呈正相关。在一些情况下,该写入驱动电路510可以由线性稳压源构成,以满足在大的驱动电流下仍然有足够的写入驱动电压提供给负载,也就是要写的存储单元。
135.基于上述结合图5至图8描述的示例写入装置500同样可以实现例如参见图1至图3描述的根据本公开的至少一实施例的存储器的写入方法以及相应的技术效果,在此不再赘述。
136.因此,结合图5至图8描述的示例写入装置500可以不存在要对写入的32位数据进行分组的情况,首先选取要写的4个位在写入驱动电路的驱动下进行写入。当有任何一个存储单元的存储状态被成功改变以后,存储状态探测模块会给出信号,让该存储单元的写入操作停止,之后便开始对下一存储单元执行写入操作。以这种方式,可以降低写入驱动电路的功耗和/或增加了写入数据的写入速度,可以避免需要对存储器的存储单元分组以及每个存储单元组中的存储状态转换最慢的存储单元对每个存储单元组写入时间的限制,也可以避免了在每个存储单元组内的一些存储单元状态已经处于目标状态情况下出现的驱动器性能的浪费。
137.可以理解的是,适用于结合图5至图8描述的示例写入装置500中的写入数据的位数、写入驱动电路并行支持的存储单元的数量可以改变,并且可以适应性地修改写入装置及写入装置中各个模块。
138.本公开上述实施例的写入装置的各个模块/单元例如可以通过适当的电路(例如模拟电路和/或数字电路)实现,本公开的实施例对此不作限制。
139.图9示出了根据本公开至少一实施例的存储器的写入装置900的示意图。如图9所示,写入装置900包括处理器910和存储器920。存储器920包括一个或多个计算机程序模块921。一个或多个计算机程序模块921被存储在存储器920中并被配置为由处理器910执行,该一个或多个计算机程序模块921包括用于执行根据本公开的至少一实施例的存储器的写入方法的指令,其被处理器910执行时,可以执行根据本公开的至少一实施例的指令操作方法及其附加方面的一个或多个步骤。存储器920和处理器910可以通过总线系统和/或其他形式的连接机构(未示出)互连。
140.例如,处理器910可以是中央处理单元(cpu)、数字信号处理器(dsp)或者具有数据处理能力和/或程序执行能力的其他形式的处理单元,例如现场可编程门阵列(fpga)等;例
如,中央处理单元(cpu)可以为x86或arm架构、risc-v架构等,本公开的实施例对此不作限制。处理器910可以为通用处理器或专用处理器,可以控制写入装置900中的其他组件以执行期望的功能。
141.例如,存储器920可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序模块921,处理器910可以运行一个或多个计算机程序模块921,以实现写入装置900的各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据以及应用程序使用和/或产生的各种数据等。该写入装置900的具体功能和效果可以参考上文中关于根据本公开的至少一实施例的存储器的写入方法及其附加方面的描述,此处不再赘述。
142.图10示出了根据本公开的至少一实施例的电子装置1000的示意图。
143.如图10所示,根据本公开的至少一实施例的电子装置1000包括存储器的写入装置1010。该写入装置1010可以为以上结合图4描述的写入装置400、结合图5描述的写入装置500或者以上结合图9描述的写入装置900。
144.因此,对于本公开的各个实施例的写入装置,例如上述写入装置500、写入装置800和写入装置900,其各个方面同样可以映射到结合图10描述的电子装置1000,在此不在赘述。
145.例如,该电子装置可以是存储器控制器,或者是包括该存储器控制器的中间或终端产品,例如,各种类型的计算机、移动终端、电视机、车载终端等等,本公开的实施例对此不做限制。
146.图11示出了根据本公开至少一实施例的非瞬时可读存储介质1100的示意图。如图11所示,非瞬时可读存储介质1100上存储有计算机指令1110,该计算机指令1110被处理器执行时执行如上所述的指令操作方法及其附加方面中的一个或多个步骤。
147.例如,该非瞬时可读存储介质1100可以是一个或多个计算机可读存储介质的任意组合,例如,一个计算机可读存储介质包含用于执行步骤s202的程序代码、用于执行步骤s204的程序代码、以及用于执行步骤s206的程序代码。
148.例如,当该程序代码由计算机读取时,计算机可以执行该计算机存储介质中存储的程序代码,执行例如根据本公开的至少一实施例的存储器的写入方法及其附加方面。
149.例如,存储介质可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、闪存、或者上述存储介质的任意组合,也可以为其他适用的存储介质。
150.在上文的详细描述中,出于解释而非限制的目的,阐述了具体细节,以便提供对本公开中描述的各个方面和实施例的透彻理解。在一些情况下,省略了对众所周知的设备、组件、电路和方法的详细描述,以免用不必要的细节来模糊本文公开的实施例的描述。本文列举本文公开的原理、方面和实施例的所有声明,以及其具体示例,旨在涵盖其结构等同物和
功能等同物两者。另外,这种等同物旨在包括当前已知的等同物以及将来开发的等同物,即,开发的执行相同功能的任何元件,而不管结构如何。因此,例如,可以理解,本文的框图可以表示体现所描述的实施例的原理的说明性电路系统或其他功能单元的概念图。这样的功能和所示的功能块将被理解为是硬件实施的和/或计算机实施的。
151.本说明书中的各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
152.需要说明的是,在本文中,诸如第一、第二等的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且进一步包括没有明确列出的其他要素,或者是进一步包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
153.以上所述仅为本公开的优选实施例,并不用于限制本公开;本公开的范围由权利要求确定。

技术特征:


1.一种存储器的写入方法,包括:探测所述存储器的多个存储单元中的第一存储单元的写入操作是否完成,其中,所述多个存储单元分别用于并行地执行写入数据的多个写入位的写入;响应于探测到所述第一存储单元的写入操作完成,对于所述第一存储单元独立地生成写入完成信息;响应于接收到所述写入完成信息,停止所述第一存储单元的写入操作。2.根据权利要求1所述的写入方法,还包括:响应于接收到所述写入完成信息,执行下一存储单元的写入操作,其中,所述下一存储单元用于执行所述写入数据的多个写入位之外的下一写入位的写入。3.根据权利要求2所述的写入方法,其中,所述下一存储单元的写入操作与所述第一存储单元的写入操作对应于所述存储器的写入驱动电路的同一端口。4.根据权利要求2所述的写入方法,其中,响应于接收到所述写入完成信息,执行下一存储单元的写入操作包括:在接收到所述写入完成信息的同一个操作周期或紧接的下一操作周期以内开始执行所述下一存储单元的写入操作。5.根据权利要求2所述的写入方法,还包括:响应于接收到所述写入完成信息,获取所述下一写入位的写入位地址;译码所述下一写入位的写入位地址,以生成开关选中信号;其中,停止所述第一存储单元的写入操作包括:基于所述开关选中信号断开到所述第一存储单元的驱动连接;执行下一存储单元的写入操作包括:基于所述开关选中信号接通到所述下一存储单元的驱动连接,以及对所述下一存储单元施加写入电压或写入电流。6.根据权利要求5所述的写入方法,其中,响应于接收到所述写入完成信息,获取所述下一写入位的写入位地址包括:响应于接收到所述写入完成信息,生成所述下一写入位的写入位地址;存储所述下一写入位的写入位地址以替换与所述第一存储单元相对应的写入位的写入位地址。7.根据权利要求6所述的写入方法,其中,响应于接收到所述写入完成信息,生成所述下一写入位的写入位地址包括:响应于接收到所述写入完成信息,根据所述写入数据的掩模输入生成所述下一写入位的写入位地址。8.根据权利要求7所述的写入方法,还包括:获取所述写入数据的掩模输入。9.根据权利要求8所述的写入方法,其中,获取所述写入数据的掩模输入包括:在将所述写入数据写入所述存储器之前,对于所述写入数据的每个写入位执行以下操作:读取与所述写入位相对应的存储单元的值;比较所述写入位的值与所述相对应的存储单元的值是否相同;响应于所述写入位的值与所述相对应的存储单元的值相同,为所述写入位设置第一数值;响应于所述写入位的值与所述相对应的存储单元的值不相同,为所述写入位设置第二
数值;以及输出所述写入数据的每个写入位经设置得到的数值作为所述写入数据的掩模输入。10.根据权利要求1-9中任一项所述的写入方法,其中,探测所述存储器的多个存储单元中的第一存储单元的写入操作是否完成包括:检测所述存储器的多个存储单元中的第一存储单元的写入电流;以及响应于所述写入电流在阈值电流以下时,探测到所述第一存储单元的写入操作完成。11.一种存储器的写入装置,包括:写入模块和存储状态探测模块,其中,所述写入模块被配置为对于所述存储器的多个存储单元分别并行地执行写入数据的多个写入位的写入操作;所述存储状态探测模块被配置为探测所述存储器的多个存储单元中的第一存储单元的写入操作是否完成,且响应于探测到所述第一存储单元的写入操作完成,对于所述第一存储单元独立地生成写入完成信息;所述写入模块还被配置为响应于接收到所述写入完成信息,停止所述第一存储单元的写入操作。12.一种存储器的写入装置,包括:处理器;存储器,包括一个或多个计算机程序模块;其中,所述一个或多个计算机程序模块被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机程序模块包括用于执行根据权利要求1-10中任一项所述的存储器的写入方法的指令。13.一种电子装置,包括根据权利要求11所述或权利要求12所述的存储器的写入装置。14.一种非瞬时可读存储介质,其上存储有指令,其中,所述指令在被处理器读取时,使得所述处理器执行根据权利要求1-10中任一项所述的指令操作方法。

技术总结


本公开提供了一种存储器的写入方法和写入装置,该存储器的写入方法包括:探测存储器的多个存储单元中的第一存储单元的写入操作是否完成,其中,多个存储单元分别用于并行地执行写入数据的多个写入位的写入;响应于探测到第一存储单元的写入操作完成,对于第一存储单元独立地生成写入完成信息;响应于接收到写入完成信息,停止第一存储单元的写入操作。该存储器的写入方法可以探测并行执行写入操作的存储单元的写入操作是否完成,并且在该存储单元的写入操作完成后独立地停止该存储单元的写入操作,从而停止写入驱动电路对该存储单元的继续驱动,降低写入驱动电路的功耗和/或增加了写入数据的写入速度。增加了写入数据的写入速度。增加了写入数据的写入速度。


技术研发人员:

吴华强 李嘉宁 何源 唐建石 高滨 钱鹤

受保护的技术使用者:

北方集成电路技术创新中心(北京)有限公司

技术研发日:

2022.06.27

技术公布日:

2022/9/13

本文发布于:2024-09-22 21:23:28,感谢您对本站的认可!

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

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

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