存储器和存储器的操作方法与流程

专利检索2022-05-11  1


存储器和存储器的操作方法
1.相关申请的交叉引用
2.本技术要求于2020年6月22日提交的编号为63/042230的美国临时申请和2020年9月21日提交的编号为63/080850的美国临时申请的优先权,其全部内容通过引用合并于此。
技术领域
3.本发明的各种实施例涉及一种存储器。


背景技术:

4.在半导体存储器件工业的初期,晶片上存在许多原本优良的裸片,这意味着通过半导体制造工艺生产的存储芯片具有无缺陷的存储单元。然而,随着存储器件的容量增加,制造无任何缺陷存储单元的存储器件变得困难。当前,可以说基本上不可能制造无任何缺陷的存储单元的存储器件。为了解决这个问题,正在使用一种修复方法,该方法包括在存储器件中包括冗余存储单元并且用该冗余存储单元替代有缺陷的存储单元。
5.另一方法包括用于校正存储系统中的错误的错误校正电路(ecc电路),该错误校正电路用于校正在存储单元中发生的错误以及当在存储系统的读取操作和写入操作期间传输数据时发生的错误。


技术实现要素:

6.本发明的实施例涉及可以减少存储器中的错误数量的技术。
7.根据本发明的实施例,一种用于操作存储器的方法包括:从存储核心读取数据和错误校正码;基于所读取的错误校正码对所读取的数据的错误进行校正,从而产生已纠错数据;通过将所述已纠错数据的一部分替换为写入数据来生成新数据,使得所述一部分成为新数据的写入数据部分;基于所述新数据而生成新错误校正码;以及将所述新数据的所述写入数据部分和所述新错误校正码写入所述存储核心。
8.根据本发明的另一实施例,一种用于操作存储器的方法包括:从存储核心读取第一数据、第二数据和错误校正码;基于所读取的错误校正码来校正所读取的第一数据和所读取的第二数据的错误;通过将其已纠错的所述第一数据与写入数据进行组合而生成新数据;基于所述新数据而生成新错误校正码;以及将所述已纠错的第一数据、所读取的第二数据以及所述新错误校正码写入所述存储核心。
9.根据本发明的又一实施例,一种存储器包括:存储核心;存取电路,其适用于对所述存储核心进行存取;错误校正电路,其适用于校正错误;错误校正码生成电路,其适用于生成错误校正码;以及修改电路,其适用于修改数据,其中,在读取-修改-写入(rmw)操作期间:基于通过所述存取电路从所述存储核心读取的所述错误校正码,所述错误校正电路对从所述存储核心读取的数据的错误进行校正;所述修改电路通过将经所述误差校正电路校正了错误的读取数据的一部分替换为写入数据来生成新数据,所述一部分成为新数据的写入数据部分;所述错误校正码生成电路基于所述新数据而生成新错误校正码;当设置为第
一模式时,所述存取电路将所述新数据和所述新错误校正码写入所述存储核心;当设置为第二模式时,所述存取电路将所述新数据的所述写入数据部分和所述新错误校正码写入所述存储核心。
10.根据本发明的又一实施例,一种存储器,包括:存储核心;存取电路,其适用于对所述存储核心进行存取;错误校正电路,其适用于校正错误;错误校正码生成电路,其适用于生成错误校正码;以及第一修改电路和第二修改电路,其适于修改数据,其中,在读取-修改-写入(rmw)操作期间:基于通过所述存取电路从所述存储核心读取的所述错误校正码,所述错误校正电路对从所述存储核心读取的第一数据和第二数据的错误进行校正;所述第一修改电路通过将经所述错误校正电路校正了错误的所述第一数据与写入数据进行组合来生成新数据;所述错误校正码生成电路基于所述新数据而生成新错误校正码;当设置为第一模式时,所述存取电路将所述新数据和所述新错误校正码写入所述存储核心;当设置为第二模式时,所述第二修改电路通过将其已纠错的所述第一数据与所读取的第二数据进行组合来生成新写入数据;当设置为所述第二模式时,所述存取电路将所述新写入数据和所述新错误校正码写入所述存储核心。
11.根据本发明的又一实施例,一种用于操作存储器的方法包括:分别从第一区域至第三区域读取数据的第一段和第二段以及基于所述第一段和第二段的原始版本所生成的第一错误校正码(ecc);基于所述第一ecc,对所述第一段和第二段执行错误校正操作,从而产生分别与所述第一段和第二段相对应的第三段和第四段数据;生成基于所述第四段的第二ecc以及与所述第一段相对应的第五段数据;分别将所述第五段和所述第二ecc写入所述第一区域和所述第三区域,而不将第所述四段写入所述第二区域。
12.所述写入步骤可以包括掩蔽所述第四段。
13.所述写入步骤可以包括将所述第二段回写到所述第二区域中。
附图说明
14.图1是示出根据本发明的实施例的存储器100的框图。
15.图2是描述由设置电路120设置为第一模式时的存储器100的rmw操作的流程图。
16.图3和图4解释了rmw操作的第一模式。
17.图5是描述由设置电路120设置为第二模式时的存储器100的rmw操作的流程图。
18.图6解释了rmw操作的第二模式。
19.图7是示出根据本发明的另一实施例的存储器700的框图。
20.图8是描述由设置电路720设置为第一模式时的存储器700的读取-修改-写入(rmw)操作的流程图。
21.图9描述了rmw操作的第一模式。
22.图10是描述由设置电路720设置为第二模式时的存储器700的rmw操作的流程图。
23.图11描述了rmw操作的第二模式。
具体实施方式
24.下面将参考附图更详细地描述本发明的各种实施例。然而,本发明可以以不同的形式实施,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例以使得本公开
将是透彻和完整的,并将向本领域技术人员充分展示本发明的范围。贯穿本公开,在本发明的各个附图和实施例中,相同的附图标记指代相同的部分。
25.图1是示出根据本发明的实施例的存储器100的框图。
26.参考图1,存储器100可以包括命令接收电路101、地址接收电路103、数据接收电路105、数据传送电路107、命令解码器110、设置电路120、存储核心130、存取电路140、错误校正码生成电路150、错误校正电路160和修改电路170。
27.命令接收电路101可以接收从存储器控制器传送来的命令cmd。命令cmd可以包括多比特位信号。地址接收电路103可以接收从存储器控制器传送来的地址add。地址add可以包括多比特位信号。数据接收电路105可以接收从存储器控制器传送来的数据data,并且数据传送电路107可以向存储器控制器传送数据data。数据data可以是多个比特位。在写入操作期间,可以从存储器控制器向存储器100传送数据data,而在读取操作期间,可以从存储器100向存储器控制器传送数据data。
28.命令解码器110可以对经由命令接收电路101接收的命令cmd进行解码,以确定存储器控制器指示存储器100执行何种操作,由此可以相应地控制存储器100的组成元件。
29.设置电路120可以执行对于存储器100的操作而言所必需的各种设置操作。当设置命令(例如,mrs命令)被识别为在命令解码器中的命令解码的结果时,设置电路120可以基于由地址接收电路103所接收的地址来执行设置操作。设置电路120也可以被称为模式寄存器设置(mrs)电路。从设置电路120输出的模式信号mode可以是与读取-修改-写入(rmw)操作有关的信号,并且可以基于模式信号mode的逻辑电平来设置第一模式与第二模式中与rmw操作有关的一个模式。
30.存储核心130可以是存储器100中用于储存数据的区域。存储核心130可以包括:单元阵列,其包括多个存储单元;行解码器,其用于选择在单元阵列中要访问的行;位线感测放大器阵列,用于对单元阵列中的选定行的数据进行放大;以及列解码器,用于选择在单元阵列中要访问的列。
31.存取电路140可以是用于对存储核心130进行存取的电路。存取电路140可以在写入操作期间向存储核心130传送数据和错误校正码,并且可以在读取操作期间从存储核心130接收数据和错误校正码。存取电路140可以包括:多个写入驱动器,用于向存储核心130中的选定列传送数据;以及多个感测放大器,用于从存储核心130中的选定列接收数据(其也可以被称为输入/输出(io)感测放大器)。在rmw操作期间,存取单元140可以根据模式信号mode的逻辑电平(即,根据第一模式和第二模式)不同地操作,这将参考图2至图6进行详细描述。
32.在将数据data”写入存储核心130的写入操作期间,错误校正码生成电路150可以基于数据data”生成错误校正码ecc。在从存储核心130读取数据data”的读取操作期间,通过对数据data”进行编码,错误校正码生成电路150可以生成用于对数据data”的错误进行校正的错误校正码ecc。在写入操作期间,可以仅生成错误校正码ecc,但可以不执行错误校正操作。因此,输入到错误校正码生成电路150的数据data”可以与从错误校正码生成电路150输出的数据data”相同。
33.基于在读取操作期间通过存取电路140从存储核心读取的错误校正码ecc,错误校正电路160可以校正通过存取电路140从存储核心读取的数据data”的错误。在此,“校正错
误”可以表示基于错误校正码ecc来检测数据data”的错误,并且当检测到错误时,对所检测到的错误进行校正。
34.修改电路170可以是用于在rmw操作期间修改数据的电路。在rmw操作期间,修改电路170可以通过将从存储器100的外部传送来的写入数据wr data与从存储器100读取的数据data”经错误校正的数据data’进行组合来生成要写入的数据data”。在正常写入操作和正常读取操作(其并非rmw操作)期间,数据可以绕过(bypass)修改电路170。也就是说,在正常写入操作期间,数据data和数据data”可以相同,并且在正常读取操作期间,数据data’和数据data可以相同。
35.由于错误校正码ecc被储存在支持rmw操作的存储器100的存储核心130中,因此在一个实施例中,在存储器100的初始化操作期间,初始化数据(例如,
‘0’
)可以被写入存储核心130的所有区域中。
36.图2是描述由设置电路120设置为第一模式时的存储器100的rmw操作的流程图。图3和图4描述了rmw操作的第一模式。
37.参考图2和图3,在操作s201中,可以向存储器100施加指示rmw操作的命令cmd和写入数据wr data。命令cmd可以经由命令接收电路101被传送到命令解码器110,并且命令解码器110可以对命令cmd进行解码以将命令cmd识别为指示rmw操作。写入数据wr data可以由数据接收电路105接收。可以经由地址接收电路103来接收用于指定存储核心130中要执行rmw操作的区域的地址add。
38.在操作s203中,可以从存储核心130读取数据data”和错误校正码ecc。可以基于地址add选择要在存储核心130中访问的区域,并且可以通过存取电路140从存储核心130的选定区域中读取数据data”和错误校正码ecc。在图3中,

301’可以代表从存储核心130的选定区域读取的数据data”和错误校正码ecc。参考图3的

301’,可以看出数据data”包括两个信息msg0和msg1,每个信息包括128比特位,而错误校正码ecc则包括32比特位。
39.在操作s205中,可以基于错误校正码ecc来校正数据data”的错误。错误校正电路160可以基于从存取电路140传送来的错误校正码ecc来校正数据data”的错误。在图3中,

303’可以代表已纠错数据data’。
40.在操作s207中,可以将已纠错数据data’的一部分替换为写入数据wr data以生成新数据data”。修改电路170可以基于已纠错数据data’和从存储器100的外部输入的写入数据wr data来生成新数据data”。由于不同于数据data’的另一数据data”是由修改电路170生成的,所以该另一数据data”被称为新数据data”。在图3中,

305’可以代表新数据data”。参考“305”,可以看到,由于将已纠错数据data’的已纠错信息msg0’替换为写入数据wr data,因此生成了新数据data”。在此,可以通过操作s201中的数据接收电路105接收写入数据wr data。在正常写入操作期间,虽然从存储器100的外部输入的写入数据wr data可以是256比特位,但是在修改-写入操作期间,写入数据wr data则可以是128比特位。
41.在操作s209中,可以基于操作s207的新数据data”来生成新错误校正码ecc。错误校正码生成电路150可以基于在操作s207中由修改电路170生成的新数据data”来生成新错误校正码ecc。这里,由于基于新数据而新生成了另一错误校正码,因此该另一错误校正码被称为新错误校正码ecc。在图3中,

307’可以代表新数据data”和在操作s209中基于新数据data”而生成的新错误校正码ecc。
42.在操作s211中,可以将新数据data”和新错误校正码ecc写入存储核心130中。新数据data”和新错误校正码ecc可以通过存取电路140被传送到存储核心130,而新数据data”和新错误校正码ecc可以被写入到存储核心130中根据地址add而选定的区域中。存储核心130中的在操作s211中被写入的区域可以与存储核心130中的在操作s203中被读取的区域相同。
43.当存在很多错误时,如图2所示的在第一模式下的rmw操作可能会导致使错误数量持续增多的问题。
44.在图4中,

401’可以代表在操作s203中读取的数据data”中存在4比特位的错误。参考

401’,可以看到数据data”的信息msg1中存在4比特位的错误。在此,4比特位的错误超过了错误校正电路160的错误校正能力。
45.在图4中,

403’可以代表在执行了操作s205中的错误校正操作之后的数据data’。由于在

401’中存在超过错误校正电路160的错误校正能力的错误,因此错误校正电路160的错误校正操作甚至可能使在操作s203中读取的数据data”的错误更严重。结果,在

403’中,错误的比特位数可能会增加到5比特位。
46.在图4中,

405’可以代表在操作s207中由修改电路170生成的新数据data”。新数据data”也可能包含5比特位的错误。
47.在图4中,

407’可以代表在操作s209中由错误校正码生成电路150生成的新错误校正码ecc与新数据data”合并。可以将

407’原样写入存储核心130。即,可以将包括5比特位错误的数据和错误校正码的407照原样写入存储核心130。
48.参考图4,当存在许多错误时,存储核心130中所储存的错误的数量可能由于rmw操作而增大。当在相同区域中重复执行rmw操作时,错误的数量可能会持续增大。
49.图5是描述由设置电路120设置为第二模式时的存储器100的rmw操作的流程图。图6描述了rmw操作的第二模式。
50.参考图5和图6,在操作s501中,可以向存储器100施加指示rmw操作的命令cmd和写入数据wr data。命令cmd可以经由命令接收电路101被传送到命令解码器110,并且命令解码器110可以对命令cmd进行解码以将命令cmd识别为指示rmw操作。写入数据wr data可以由数据接收电路105接收。可以通过地址接收电路103来接收用于指定存储核心130中要执行rmw操作的区域的地址add。
51.在操作s503中,可以从存储核心130读取数据data”和错误校正码ecc。可以基于地址add来选择要在存储核心130中访问的区域,并且可以通过存取电路140从存储核心130的选定区域中读取数据data”和错误校正码ecc。在图6中,

601’可以代表从存储核心130的选定区域读取的数据data”和错误校正码ecc。参考图6的

601’,可以看出数据data”包括两个信息msg0和msg1,每个信息包括128比特位,并且错误校正码ecc可以包括32比特位。
52.在操作s505中,可以基于错误校正码ecc来校正数据data”的错误。错误校正电路160可以基于从存取电路140传送来的错误校正码ecc来校正数据data”的错误。在图6中,

603’可以代表已纠错数据data’。
53.在操作s507中,可以将已纠错数据data’的一部分替换为写入数据wr data以生成新数据data”。修改电路170可以基于已纠错数据data’和从存储器100的外部输入的写入数据wr data来生成新数据data”。由于由修改电路170生成了不同于数据data’的另一数据
data”,所以该另一数据data”被称为新数据data”。在图6中,

605’可以代表新数据data”。参考

605’,可以看到,新数据data”是由于将已纠错数据data’的已纠错信息msg0’替换为写入数据wr data而生成的。在此,写入数据wr data可以是在操作s501中通过数据接收电路105接收的写入数据。在正常写入操作期间,虽然从存储器100的外部输入的写入数据wr data可以包括256比特位,但是在修改-写入操作期间,写入数据wr data则可以包括128比特位。
54.在操作s509中,可以基于操作s507中的新数据data”来生成新错误校正码ecc。错误校正码生成电路150可以基于在操作s507中由修改电路170生成的新数据data”来生成新错误校正码ecc。这里,由于基于新数据而新生成了另一错误校正码,因此该另一错误校正码被称为新错误校正码ecc。在图6中,

607’可以代表新数据data”和在操作s509中基于新数据data”生成的新错误校正码ecc。
55.现在,在操作s511中,可以将新数据data”的写入数据部分wr data和新错误校正码ecc写入存储核心130中。由于由设置电路120设置为第二模式,所以存取电路140可以不将整个新数据data”而是将新数据data”的写入数据部分wr data以及新错误校正码ecc写入存储核心130中。即,通过对在操作s503中从存储核心130读取的信息msg1的错误进行校正而获得的信息msg1’可以不被回写到存储核心130,而是可以被掩蔽或丢弃。在图6中,

609’可以代表在操作s511中在存储核心130中执行的写入操作。参考

609’,可以看出只有在操作s501中输入的写入数据wr data和新错误校正码ecc被写入到存储核心130中。存储核心130的在操作s511中被写入的区域可以与存储核心130的在操作s503中被读取的区域相同。
56.参考图5和图6,当被设置为第二模式时,在rmw操作期间从存储核心130读取的数据不会再次被写回到存储核心130。因此,可以防止错误的累积和增多。然而,在第二模式下,即使所读取的数据具有的错误在错误校正电路160的错误校正能力之内,所读取的数据(尤其是以上示例中的信息msg1)尽管进行了错误校正也可以不被再次写回。
57.当存储核心130中所储存的数据中存在少量错误时,在第一模式下执行rmw操作可能是有利的,并且当在存储核心130中所储存的数据中存在许多错误时,在第二模式下执行rmw操作可能是有利的。
58.图7是示出根据本发明的另一实施例的存储器700的框图。
59.参考图7,存储器700可以包括命令接收电路701、地址接收电路703、数据接收电路705、数据传送电路707、命令解码器710、设置电路720、存储核心730、存取电路740、错误校正码生成电路750、错误校正电路760、第一修改电路770和第二修改电路780。
60.命令接收电路701可以接收从存储器控制器传送来的命令cmd。命令cmd可以包括多比特位信号。地址接收电路703可以接收从存储器控制器传送来的地址add。地址add可以包括多比特位信号。数据接收电路705可以接收从存储器控制器传送来的数据data,并且数据传送电路707可以向存储器控制器传送数据data。数据data可以包括多个比特位。在写入操作期间,可以从存储器控制器向存储器700传送数据data,并且在读取操作期间,可以从存储器700向存储器控制器传送数据data。
61.命令解码器710可以对经由命令接收电路701接收到的命令cmd进行解码,以查明存储器控制器指示存储器700执行何种操作,因此,可以相应地控制存储器700的组成元件。
62.设置电路720可以执行对于存储器700的操作而言所需的各种设置操作。当将设置命令(例如,mrs命令)识别为在命令解码器中对命令进行解码的结果时,设置电路720可以基于由地址接收电路703所接收的地址来执行设置操作。设置电路720也可以被称为模式寄存器设置(mrs)电路。从设置电路720输出的模式信号mode可以是与读取-修改-写入(rmw)操作有关的信号,并且可以设置第一模式与第二模式中与rmw操作有关的一个模式。
63.存储核心730可以是存储器700中的用于储存数据的区域。存储核心730可以包括:单元阵列,其包括多个存储单元;行解码器,其用于选择在单元阵列中要访问的行;位线感测放大器阵列,用于对单元阵列中的选定行的数据进行放大;以及列解码器,用于选择在单元阵列中要访问的列。
64.存取电路740可以是用于对存储核心730进行存取的电路。存取电路740可以在写入操作期间向存储核心730传送数据和错误校正码,并且可以在读取操作期间从存储核心730接收数据和错误校正码。存取电路740可以包括:多个写入驱动器,用于向存储核心730中的选定列传送数据;以及多个感测放大器,用于从存储核心730中的选定列接收数据。这些感测放大器也可以被称为io感测放大器。在rmw操作期间,存取单元740可以根据模式信号mode的逻辑电平(即,根据第一模式和第二模式)不同地操作,这将参考图8至图11进行详细描述。
65.在将数据data”写入存储核心730的写入操作期间,错误校正码生成电路750可以基于数据data”生成错误校正码ecc。即,在从存储核心730读取数据data”的读取操作期间,通过对数据data”进行编码,错误校正码生成电路750可以生成用于对数据data”的错误进行校正的错误校正码ecc。在写入操作期间,可以仅生成错误校正码ecc,而可以不执行错误校正操作。因此,输入到错误校正码生成电路750的数据data”可以与从错误校正码生成电路750输出的数据data”相同。
66.基于在读取操作期间通过存取电路740从存储核心读取的错误校正码ecc,错误校正电路760可以校正通过存取电路740从存储核心读取的数据data”的错误。在此,“校正错误”可以表示基于错误校正码ecc来检测数据data”的错误,并且当检测到错误时对其予以校正。
67.在rmw操作期间,第一修改电路770可以通过将从存储器700的外部传送来的写入数据wr data与从存储器700读取的数据data”经错误校正而得到的数据data’进行组合来生成要写入的数据data”。在正常写入操作和正常读取操作(它们不是rmw操作)期间,数据可以绕过第一修改电路770。在正常写入操作期间,数据data和数据data”可以相同,并且在正常读取操作期间,数据data’和数据data”可以相同。
68.第二修改电路780可以在被设置为第二模式时操作,并且可以在第二模式的rmw操作期间通过将由第一修改电路生成的数据data”与从存储核心730读取的数据data”进行组合来生成要储存在存储核心730中的数据。
69.由于错误校正码ecc被储存在支持rmw操作的存储器700的存储核心730中,因此,可能优选的是,在存储器700的初始化操作期间,初始化数据(例如,
‘0’
)被写入存储核心730的所有区域中。
70.图8是描述由设置电路720设置为第一模式时的存储器700的rmw操作的流程图。图9描述了rmw操作的第一模式。
71.参考图8和图9,在操作s801中,可以将指示rmw操作的命令cmd和写入数据wr data施加到存储器700。命令cmd可以经由命令接收电路701被传送到命令解码器710,并且命令解码器710可以对命令cmd进行解码以将命令cmd识别为指示rmw操作。写入数据wr data可以由数据接收电路705接收。可以经由地址接收电路703来接收用于指定存储核心730中要执行rmw操作的区域的地址add。
72.在操作s803中,可以从存储核心730读取数据data”和错误校正码ecc。可以基于地址add选择要在存储核心730中访问的区域,并且可以通过存取电路740从存储核心730的选定区域中读取数据data”和错误校正码ecc。在图9中,

901’可以代表从存储核心730的选定区域读取的数据data”和错误校正码ecc。参考图9的

901’,可以看出数据data”包括两个信息msg0和msg1,每个信息包括128比特位,而错误校正码ecc包括32比特位。
73.在操作s805中,可以基于错误校正码ecc来校正数据data”的错误。错误校正电路760可以基于从存取电路740传送来的错误校正码ecc来校正数据data”的错误。在图9中,

903’可以代表已纠错数据data’。
74.在操作s807中,可以将已纠错数据data’的一部分替换为写入数据wr data以生成新数据data”。修改电路770可以基于已纠错数据data’和从存储器的外部输入的写入数据wr data来生成新数据data”。由于通过修改电路770生成了不同于数据data’的另一数据data”,所以该另一数据data”被称为新数据data”。在图9中,

905’可以代表新数据data”。参考

905’,可以看到,新数据data”是通过将已纠错数据data’的已纠错信息msg0’替换为写入数据wr data而生成的。在此,可以通过操作s801中的数据接收电路705接收写入数据wr data。在正常写入操作期间,从存储器700的外部输入的写入数据wr data可以是256比特位,但是在修改-写入操作期间,写入数据wr data则可以是128比特位。
75.在操作s809中,可以基于操作s807的新数据data”来生成新错误校正码ecc。错误校正码生成电路750可以基于在操作s807中由修改电路770生成的新数据data”来生成新错误校正码ecc。这里,由于基于新数据而新生成了另一错误校正码,因此该另一错误校正码被称为新错误校正码ecc。在图9中,

907’可以代表新数据data”和在操作s809中基于新数据data”而生成的新错误校正码ecc。
76.现在,在操作s811中,可以将新数据data”和新错误校正码ecc写入存储核心730中。新数据data”和新错误校正码ecc可以通过存取电路740被传送到存储核心730,而新数据data”和新错误校正码ecc可以被写入到存储核心730的基于地址add而选定的区域中。存储核心730中在操作s811中被写入的区域可以与存储核心730中的在操作s803中被读取的区域相同。
77.由于存储器700的在第一模式下的rmw操作以与存储器100的在第一模式下的rmw操作按照相同的方式执行,因此当存在许多错误时,可能会导致使错误增多的问题。
78.图10是描述由设置电路720设置为第二模式时的存储器700的rmw操作的流程图。图11描述了rmw操作的第二模式。
79.参考图10和图11,在操作s1001中,可以将指示rmw操作的命令cmd和写入数据wr data施加到存储器700。命令cmd可以经由命令接收电路701被传送到命令解码器710,并且命令解码器710可以对命令cmd进行解码以将命令cmd识别为指示rmw操作。写入数据wr data可以由数据接收电路705接收。可以通过地址接收电路703来接收用于指定存储核心
730中要执行rmw操作的区域的地址add。
80.在操作s1003中,可以从存储核心730读取数据data”和错误校正码ecc。可以基于地址add来选择要在存储核心730中访问的区域,并且可以通过存取电路740从存储核心730的选定区域中读取数据data”和错误校正码ecc。在图11中,

1101’可以代表从存储核心730的选定区域读取的数据data”和错误校正码ecc。参考图11的

1101’,可以看出数据data”包括两个信息msg0和msg1,每个信息包括128比特位,并且错误校正码ecc可以包括32比特位。
81.在操作s1005中,可以基于错误校正码ecc来校正数据data”的错误。错误校正电路760可以基于从存取电路740传送来的错误校正码ecc来校正数据data”的错误。在图11中,

1103’可以代表已纠错数据data’。
82.在操作s1007中,可以将已纠错数据data’的一部分替换为写入数据wr data以生成新数据data”。修改电路170可以基于已纠错数据data’和从存储器700的外部输入的写入数据wr data来生成新数据data”。由于通过修改电路770生成了不同于数据data’的另一数据data”,所以该另一数据data”被称为新数据data”。在图11中,

1105’可以代表新数据data”。参考

1105’,可以看到,新数据data”是通过将已纠错数据data’的已纠错信息msg0’替换为写入数据wr data而生成的。在此,写入数据wr data可以是在操作s1001中通过数据接收电路705接收的写入数据。在正常写入操作期间,从存储器700的外部输入的写入数据wr data可以为256比特位,但是在修改-写入操作期间,写入数据wr data则可以为128比特位。
83.在操作s1009中,可以基于操作s1007中的新数据data”来生成新错误校正码ecc。错误校正码生成电路750可以基于在操作s1007中由修改电路770生成的新数据data”来生成新错误校正码ecc。在这种情况下,由于基于新数据而新生成了另一错误校正码,因此该另一错误校正码被称为新错误校正码ecc。在图11中,

1107’可以代表新数据data”和在操作s1009中基于新数据data”生成的新错误校正码ecc。
84.在操作s1011中,可以基于在操作s1007中生成的新数据data”和在操作s1003中读取的读取数据data”来生成新写入数据new_wr_data。第二修改电路780可以通过将由第一修改电路770生成的新数据data”中的除写入数据wr data之外的已纠错信息msg1’替换为在操作s1003中读取的信息msg1,来生成新写入数据new_wr_data。在图11中,

1109’可以代表通过用在操作s1003中读取的信息msg1替换新数据data”中的已纠错信息msg1’而生成的新写入数据new_wr_data。即,可以看出,在新写入数据new_wr_data中保存(secured)了在操作s1003中读取的信息msg1而不是对其进行错误校正。
85.在操作s1013中,新写入数据new_wr_data和新错误校正码ecc可以被写到存储核心730中。由于由设置电路720设置为第二模式,因此存取电路740可以将新写入数据new_wr_data(不是新数据data”)和新错误校正码ecc写入存储核心730。
86.如图10至图11所示,当被设置为第二模式时,在rmw操作期间从存储核心730读取的数据可以照原样被回写到存储核心730。因此,可以防止由于执行rmw操作而使错误累积并增多的现象。
87.当存储核心730中所储存的数据中存在少量错误时,在第一模式下执行rmw操作可能是有利的。当存储核心730中所储存的数据中存在许多错误时,在第二模式下执行rmw操作可能是有利的。
88.根据本发明的实施例,可以减少错误的数量。
89.尽管已经针对特定实施例描述了本发明,但是对于本领域技术人员而言显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。
转载请注明原文地址:https://win.8miu.com/read-950184.html

最新回复(0)