存储系统的制作方法

文档序号:17735536发布日期:2019-05-22 03:09阅读:110来源:国知局
存储系统的制作方法

本申请要求于2017年11月13日提交的申请号为10-2017-0150558的韩国专利申请的优先权,其全部内容通过引用合并于此。

本发明的示例性实施例涉及一种存储系统。



背景技术:

最近,学术研究人员和业界正在开发用于替代动态随机存取存储器(dram)和快闪存储器的下一代存储器件。提出的下一代存储器之一为使用可变电阻材料的电阻式存储器件,因为电阻根据所施加的偏压而迅速改变,因此该可变电阻材料是能够在至少两种不同的电阻状态之间切换的材料。

电阻式存储器件的典型示例包括相变随机存取存储器(pcram)、电阻式随机存取存储器(rram)、磁性随机存取存储器(mram)、铁电随机存取存储器(fram)等。

电阻式存储器件可以以交叉点阵列结构来形成存储单元阵列。交叉点阵列结构为多个下电极(例如,多个行线(字线))和多个上电极(例如,多个列线(位线))相互交叉的结构并且存储单元设置在每个交叉点处。电阻式存储器件的存储单元可以包括串联耦接的可变电阻器件和选择器件。



技术实现要素:

本发明的实施例针对一种包括多个单元阵列的存储系统,该多个单元阵列的不同位置的单元通过单个命令被一起访问。

根据本发明的一个实施例,一种存储系统包括:第一单元阵列,其包括多个存储单元;第二单元阵列,其包括多个存储单元;以及地址运算电路,其适用于通过将第一值加到地址上来产生用于访问所述第一单元阵列中的至少一个第一单元的第一单元阵列地址,并且通过将第二值加到所述地址上来产生用于访问所述第二单元阵列中的至少一个第二单元的第二单元阵列地址。

根据本发明的另一个实施例,一种存储系统包括:第一组,其包括两个或更多个单元阵列;第二组,其包括两个或更多个单元阵列;以及地址运算电路,其适用于通过将第一值加到地址上来产生用于访问所述第一组中的至少一个第一单元的第一组地址,并且通过将第二值加到所述地址上来产生用于访问所述第二组中的至少一个第二单元的第二组地址。

根据本发明的另一个实施例,一种存储系统包括:至少一个存储器件,其包括多个单元阵列;控制器,其适用于对所述至少一个存储器件执行单个操作以储存或输出多比特位数据,其中所述至少一个存储器件中的单元阵列的数量是所述多比特位数据中的比特位的数量的整数倍;以及地址运算电路,其适用于将与用于所述单个操作的命令一起输入的单元地址转换成不同的已转换的单元地址,并且将每个已转换的单元地址提供给每个单元阵列。

附图说明

本文中的描述参考了附图,其中在多个视图中相同的附图标记指代相同的部件,并且其中:

图1是示出耦接到行电路和列电路的单元阵列的框图;

图2示出了由于单元阵列中的干扰现象和/或行/列电路中产生的热量而更可能丢失数据的存储单元(其被遮蔽);

图3是示出示例性存储系统的框图;

图4是示出另一个示例性存储系统的框图;以及

图5是示出另一个示例性存储系统的框图。

具体实施方式

下面将参考附图更详细地描述本发明的公开内容的各种示例。然而,应注意的是,本发明可以以不同的其他形式来实施,并且不应该被解释为限于本文中所阐述的示例。相反,提供这些示例是为了使本公开透彻和完整,并且将本发明的范围充分地传达给本领域技术人员。

还将理解的是,当在本说明书中使用时,术语“包括”、“包含”指明所述元件的存在并且不排除存在或添加一个或更多其他元件。此外,如本文中所使用的,术语“和/或”包括一个或多个相关所列项目的任意组合和所有组合。

在下面的描述中,阐述了许多具体细节以便提供对本发明的透彻理解。本发明可以在没有这些具体细节中的一些或全部的情况下来实施。在其他情况下,为了避免不必要地混淆本发明,没有详细描述公知的工艺结构和/或工艺。

还应注意的是,在一些情况下,对于相关领域的技术人员而言明显的是,除非另外明确指出,否则结合一个实施例描述的特征或元件可以单独使用或与另一个实施例的其他特征或元件组合使用。

图1是示出单元阵列100的框图。参考图1,单元阵列100可以包括多个字线wl0、wl1、wl2、wl3(其也被称为行线)、多个位线bl0、bl1、bl2、bl3(其也被称为列线)以及形成在字线wl0至wl3与位线bl0至bl3之间的交叉点处的存储单元mc00至mc33。字线wl0至wl3和位线bl0至bl3可以分别由行电路110和列电路120来控制。字线wl0至wl3和位线bl0至bl3可以是用于区分彼此的相对名称。换言之,附图中的字线wl0至wl3可以被称为位线,而附图中的位线bl0至bl3可以被称为字线。

存储单元mc00至mc33可以分别包括电阻式存储器件m00至m33和选择器件s00至s33。根据所储存的数据,电阻式存储器件m00至m33可以具有高电阻状态或低电阻状态。电阻式存储器件m11至m33可以是相变存储器件。电阻式存储器件m11至m33可以在结晶态下具有低电阻状态。电阻式存储器件m00至m33可以在非晶态下具有高电阻状态。当存储单元的两端之间的电压电平差较大时,选择器件s00至s33可以被导通。当电压电平差较小时,选择器件s00至s33可以被关断。在各种示例中,二极管和/或双向阈值开关(ots)元件可以用作选择器件s00至s33。

行电路110可以在字线wl0至wl3之中选择与行地址r_add相对应的字线。列电路120可以在位线bl0至bl3之中选择与列地址c_add相对应的位线,并且经由选中位线来将数据data写入(编程)到选中存储单元中,或从选中存储单元读取数据data。位于选中字线与选中位线之间的交叉点处的存储单元可以是选中存储单元。作为示例而非限制,当选择字线wl1和位线bl2时,存储单元mc12可以是选中存储单元。

在单元阵列100中的读取操作期间,电流可以流过列电路120,接着是选中位线,接着是选中存储单元,接着是选中字线,接着是行电路110。当选中存储单元是存储单元mc23时,由于存储单元mc13、存储单元mc22、存储单元mc21、存储单元mc20位于电流流过的路径上,因此在存储单元mc23的读取操作期间,在存储单元mc13、存储单元mc22、存储单元mc21、存储单元mc20中发生干扰现象。当选中存储单元是存储单元mc02时,由于存储单元mc01、存储单元mc00位于电流流过的路径上,因此在存储单元mc02的读取操作期间,在存储单元mc01、存储单元mc00中会发生干扰现象。换言之,在每个单元阵列中与选中存储单元相比更靠近行电路110的存储单元中的至少一些(其与在读取操作期间选中的字线相对应)中会发生干扰现象,以及在存储单元之中与选中存储单元相比更靠近列电路120的存储单元中的至少一些(其与在读取操作期间选中的位线相对应)中会发生干扰现象。此外,在读取操作期间,会在行电路110和列电路120中产生热量。更靠近行电路110和列电路120的存储单元会更多地受到所产生的热量的影响。

在图2中,被遮蔽的存储单元表示由于在行电路110和列电路120中产生的热量和/或在单元阵列100中的干扰现象而更可能丢失数据的存储单元。图2示例性地示出了包括8×8个存储单元(即,64个存储单元)的单元阵列。在图2中,为了便于说明,省略了字线和位线。从图2可以理解的是,由于随机读取操作被重复,因此更靠近行电路110和/或列电路120的存储单元中的至少一些(即,与较小编号的字线或位线耦接的存储单元)的数据更容易丢失。

图3是示出存储系统300的框图。存储系统300可以是包括多个存储器件的存储模块,或存储系统300可以是单个存储器件。

参考图3,存储系统300可以包括第一单元阵列311至第八单元阵列318、第一行电路321至第八行电路328以及第一列电路331至第八列电路338。

在许多情况下在存储系统300中的单个读取操作或写入操作中仅单个一比特位数据被读取或写入,这可能并不常见。在大容量存储系统的大多数情况下,在单个读取操作或写入操作中多个比特位的数据被读取和写入。作为示例而非限制,可以在读取操作期间一次读取8比特位数据data<0:7>,并且可以在写入操作期间一次写入8比特位数据data<0:7>。当在一个单元阵列中仅一比特位数据可以被读取和写入时,为了读取和写入8比特位数据data<0:7>,同时访问八个单元阵列311至318。

第一单元阵列311至第八单元阵列318可以由第一行电路321至第八行电路328以及第一列电路331至第八列电路338来访问。第一行电路321至第八行电路328接收相同的行地址r_add并且第一列电路331至第八列电路338接收相同的列地址c_add。因此,第一单元阵列311至第八单元阵列318可以访问八个存储单元阵列311至318的每个存储单元阵列中的相同位置的存储单元。作为示例而非限制,当在第一存储单元阵列311的位置(0,0)处的存储单元被访问(例如,读取或写入)时,在第二单元阵列312至第八单元阵列318的位置(0,0)处的存储单元也同时被访问。位置(0,0)是指位于第0行和第0列的存储单元。

如上所解释的,在位置(0,0)处的存储单元由于其位置更靠近行电路和列电路而更易于因干扰和/或热量产生而发生单元损坏。因此,当同时读取或写入第一单元阵列311至第八单元阵列318的每个单元阵列中的在位置(0,0)处的存储单元时,在8比特位数据data<0:7>之中的多个比特位处会发生错误。结果,可能不会用存储系统300的错误校正方案或存储器控制器(未示出)的错误校正方案来校正错误。另一方面,当第一单元阵列311至第八单元阵列318的每个单元阵列中的在位置(7,7)处的存储单元被访问时,可能没有错误或有很少的错误。这是因为在位置(7,7)处的存储单元基于它们的位置而具有较低(或最低)的错误可能性。因此,当第一单元阵列311至第八单元阵列318的每个单元阵列中的在位置(7,7)处的存储单元被读取或写入时,在8比特位数据data<0:7>中几乎不会发生错误。

图4是示出根据本公开的另一个实施例的存储系统400的框图。存储系统400可以是包括多个存储器件的存储模块,或存储系统400可以是单个存储器件。

参考图4,存储系统400可以包括第一单元阵列411至第八单元阵列418、第一行电路421至第八行电路428、第一列电路431至第八列电路438以及地址运算电路440。

在存储系统400中分别执行的单个写入操作或单个读取操作期间,多比特位数据data<0:7>可以被写入第一单元阵列411至第八单元阵列418中,或被从第一单元阵列411至第八单元阵列418中读取。

地址运算电路440可以分别产生第一单元阵列行地址r_add_0至第八单元阵列行地址r_add_7以及第一单元阵列列地址c_add_0至第八单元阵列列地址c_add_7,用于从行地址r_add和列地址c_add分别访问第一单元阵列411至第八单元阵列418。第一单元阵列行地址r_add_0至第八单元阵列行地址r_add_7可以由地址运算电路440通过将0至7的不同值加到行地址r_add上来产生。第一单元阵列列地址c_add_0至第八单元阵列列地址c_add_7可以由地址运算电路440通过将0至7的不同值加到列地址c_add上来产生。作为示例而非限制,地址运算电路440可以通过分别将值0加到地址r_add、c_add上来产生第一单元阵列地址r_add_0、c_add_0。类似地,地址运算电路440可以通过将值1加到地址r_add、c_add上来产生第二单元阵列地址r_add_1、c_add_1,并且通过将值2加到地址r_add、c_add上来产生第三单元阵列地址r_add_2、c_add_2等等。简而言之,地址运算电路440可以通过分别将不同值中的每个值加到传送进每个单元阵列的行地址r_add和列地址c_add中的每一个上来产生第一单元阵列行地址r_add_0至第八单元阵列行地址r_add_7和第一单元阵列列地址c_add_0至第八单元阵列列地址c_add_7。这里,行地址r_add和列地址c_add可以被从存储器控制器传输到存储系统400。

本文中,示例性地示出了地址运算电路440通过将不同的值加到行地址r_add上来产生第一单元阵列行地址r_add_0至第八单元阵列行地址r_add_7,同时通过将不同的值加到列地址c_add上来产生第一单元阵列列地址c_add_0至第八单元阵列列地址c_add_7。然而,本发明的本领域技术人员应该理解的是,在不脱离所公开的发明构思的范围的情况下,各种其他实施方式是可行的。例如,在所示的示例的一个变型中,提供了一种具有地址运算电路的存储系统,该地址运算电路通过仅修改所输入的行地址r_add而不改变所输入的列地址c_add而产生彼此不同的第一单元阵列行地址r_add_0至第八单元阵列行地址r_add_7。即,第一单元阵列411至第八单元阵列418可以由具有不同行地址r_add_0至r_add_7的相同列地址c_add来访问。所示的示例的另一变型提供了一种具有地址运算电路的存储系统,该地址运算电路被配置为通过仅修改所输入的列地址c_add而不改变所输入的行地址r_add而产生彼此不同的第一单元阵列列地址c_add_0至第八单元阵列列地址c_add_7。即,第一单元阵列411至第八单元阵列418由具有不同列地址c_add_0至c_add_7的相同行地址r_add来控制。

再次参考图4,地址运算电路440可以包括行加法器441至448和列加法器451至458,其中行加法器441至448用于通过将不同的值加到行地址r_add上来产生第一单元阵列行地址r_add_0至第八单元阵列行地址r_add_7,列加法器451至458用于通过将不同的值加到列地址c_add上来产生第一单元阵列列地址c_add_0至第八单元阵列列地址c_add_7。

第一单元阵列411至第八单元阵列418可以由第一行电路421至第八行电路428以及第一列电路431至第八列电路438来访问。此外,由于第一行电路421至第八行电路428接收不同的行地址r_add_0至行地址r_add_7,因此可以访问第一单元阵列411至第八单元阵列418中的不同行。由于第一列电路431至第八列电路438接收不同的列地址c_add_0至列地址c_add_7,因此可以访问第一单元阵列411至第八单元阵列418中的不同列。简而言之,可以在读取操作或写入操作期间访问(读取和/或写入)在每个单元阵列411至418的不同位置处的存储单元。

作为示例而非限制,当通过单个命令访问第一单元阵列411中的位置(0,0)处的存储单元时,位于不同单元阵列中的不同位置处的存储单元可以被如下访问:

在第二单元阵列412中的位置(1,1)处的存储单元,

在第三单元阵列413中的位置(2,2)处的存储单元,

在第四单元阵列414中的位置(3,3)处的存储单元,

在第五单元阵列415中的位置(4,4)处的存储单元,

在第六单元阵列416中的位置(5,5)处的存储单元,

在第七单元阵列417中的位置(6,6)处的存储单元,以及

在第八单元阵列418中的位置(7,7)处的存储单元。

类似地,当访问第一单元阵列411中的位置(2,5)处的存储单元时,位于不同单元阵列中的不同位置处的存储单元可以被如下访问:

在第二单元阵列412中的位置(3,6)处的存储单元,

在第三单元阵列413中的位置(4,7)处的存储单元,

在第四单元阵列414中的位置(5,0)处的存储单元,

在第五单元阵列415中的位置(6,1)处的存储单元,

在第六单元阵列416中的位置(7,2)处的存储单元,

在第七单元阵列417中的位置(0,3)处的存储单元,以及

在第八单元阵列418中的位置(1,4)处的存储单元。

由于在读取操作或写入操作期间在第一单元阵列411至第八单元阵列418中的不同位置处的存储单元同时被访问,因此在所有单元阵列411至418中的弱位置(例如,(0,0)位置)的存储单元可以不会被同时访问,以及因此,从所有单元阵列411至418输出的数据的错误率可以实质上降低。因此,错误的数量可以被包含在存储系统400和/或控制存储系统400的存储器控制器的错误校正方案的错误校正能力内。

如上所述,存储系统400可以是单个存储器件或包括多个存储器件的存储模块。当存储系统400是单个存储器件时,图4中所示的所有组成元件可以被包括在一个存储器件中。当存储系统400是存储模块时,多个组件(其包括第一单元阵列411至第八单元阵列418、第一行电路421至第八行电路428、第一列电路431至第八列电路438和地址运算电路440)可以分散且均匀地被布置在一些器件中(例如四个存储器件或八个存储器件)。此外,我们注意到:地址运算电路440可以被包括在存储模块中,然而,本公开不限于这种方式,并且在各种其他示例中,地址运算电路400可以位于在存储模块内包括的存储器件的外部。我们还注意到,地址运算电路440可以由表格来实现,该表格用于基于预定的修改方案来将输入的行地址和列地址转换为实际使用的行地址和列地址。

虽然图4作为示例示出了包括在存储系统400中包括八个单元阵列并且每个单元阵列包括8×8行和列,但这仅仅是一个示例。因此,应注意的是,本公开可以用包括任意不同的单元阵列(例如,多于八个)的存储系统来实现。此外,应注意的是:每个单元阵列可以包括数百或数千个行和列。

存储单元的特性可以根据它们在包括于不同类型的存储器件而不仅仅是电阻式存储器件内的单元阵列中的位置而不同。由于在所有这样的存储器件中同时访问在多个单元阵列中的不同位置处的多个存储单元可能是有利的或积极的,因此图4所示的示例适用于所有这些不同类型的存储系统。

图5是示出根据本公开的又一示例的存储系统500的框图。存储系统500可以是包括多个存储器件的存储模块,或存储系统500可以是单个存储器件。

参考图5,存储系统500可以包括第一组grp0至第64组grp63以及地址运算电路540。第一组grp0至第64组grp63中的每一组可以包括两个单元阵列511_grp0、512_grp0、...、511_grp63、512_grp63、两个行电路521_grp0、522_grp0、...、521_grp63、522_grp63以及两个列电路531_grp0、532_grp0、...、531_grp63、532_grp63。

在存储系统500的读取操作或写入操作期间,具有128个比特位的多比特位数据data<0:127>可以被写入第一组grp0至第64组grp63中的单元阵列511_grp0至511_grp63、512_grp0至512_grp63(其为128个单元阵列),或被从第一组grp0至第64组grp63中的单元阵列511_grp0至511_grp63、512_grp0至512_grp63(其为128个单元阵列)中读取。

地址运算电路540可以通过分别将不同的值0至63加到地址r_add和c_add上来产生在第一组grp0至第64组grp63中使用的第一组地址r_add_grp0、c_add_grp0至第64组地址r_add_grp63、c_add_grp63。作为示例而非限制,地址运算电路540可以通过将值5加到地址r_add、c_add上来产生第六组地址r_add_grp5、c_add_grp5,同时通过将值63加到地址r_add、c_add上来产生第64组地址r_add_grp63、c_add_grp63。

地址运算电路540可以包括行加法器541_grp0至541_grp63和列加法器542_grp0至542_grp63,其中行加法器541_grp0至541_grp63被配置为通过分别将不同的值加到行地址r_add上来产生第一组行地址r_add_grp0至第64组行地址r_add_grp63,列加法器542_grp0至542_grp63被配置为通过分别将不同的值加到列地址c_add上来产生第一组列地址c_add_grp0至第64组列地址c_add_grp63。

本文中,示例性地示出了地址运算电路540通过将不同的值加到行地址r_add上来产生第一组行地址r_add_grp0至第64组行地址r_add_grp63,而通过将不同的值加到列地址c_add上来产生第一组列地址c_add_grp0至第64组列地址c_add_grp63。然而,在另一个示例中,可能如下:地址运算电路540仅修改行地址r_add而不改变列地址c_add以产生第一组行地址r_add_grp0至第64组行地址r_add_grp63。第一组grp0至第64组grp63可以由具有不同行地址r_add_grp0至r_add_grp63的同一列地址c_add来同时访问。此外,在另一个示例中,地址运算电路540可以仅修改列地址c_add而不改变行地址r_add以产生第一组列地址c_add_grp0至第64组列地址c_add_grp63。第一组grp0至第64组grp63使用具有不同列地址c_add_grp0至c_add_grp63的相同行地址r_add。

由于在第一组grp0至第64组grp63中使用不同的地址,因此在第一组grp0至第64组grp63的读取操作或写入操作期间,可以在不同组中访问不同位置处的存储单元。作为示例而非限制,当在第一组grp0的单元阵列中访问位置(1,0)处的存储单元时,可以在第三组的单元阵列中访问位置(3,2)处的存储单元。由于在读取操作和写入操作期间针对第一组grp0至第64组grp63访问不同位置的存储单元,因此不会在所有组grp0至grp63中同时访问弱位置的存储单元,从而可以避免在多比特位数据上发生大量错误。

存储系统500可以是单个存储器件或包括多个存储器件的存储模块。作为示例而非限制,图5的所有组成元件可以被包括在一个存储器件中,或它们可以被包括在针对所述组grp0至grp63中的每个组的不同存储器件(例如,64个存储器件)中,并且地址运算电路540也可以分散地设置在不同的存储器件中。

此外,我们注意到:在不同类型的存储器件中同时访问多个单元阵列中的不同位置处的存储单元是有利的,在不同类型的存储器件中的存储单元具有根据它们在单元阵列中的位置而可能不同的特性。因此,前述的本公开的图5的示例可以适用于这样的存储器件。

根据本公开的前述示例,在多个单元阵列中访问不同位置的存储单元,因此实质上减少了存储系统中错误的发生。

尽管已经关于前述具体示例描述了本发明,但是对于本领域技术人员来说显而易见的是,在不脱离所附权利要求中所限定的本发明的精神和范围的情况下,可以做出各种其他示例、变化和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1