存储器及其操作方法

文档序号:360567 发布日期:2021-12-07 浏览:35次 >En<

阅读说明:本技术 存储器及其操作方法 (Memory and operation method thereof ) 是由 金多厚 于 2021-04-16 设计创作,主要内容包括:本申请涉及存储器及其操作方法。一种操作存储器的方法包括读取包括第一数据和第一链接的第一节点;将第一数据写入数据采集区域;将写入数据采集区域中的第一数据的第一采集链接更新到数据采集区域中的位置;读取与第一链接对应的第二节点,第二节点包括第二数据和第二链接;以及将第二数据写入数据采集区域中的由第一采集链接指定的位置。(The present application relates to a memory and a method of operating the same. A method of operating a memory includes reading a first node including first data and a first link; writing the first data into a data acquisition area; updating a first acquisition link of first data written in the data acquisition area to a position in the data acquisition area; reading a second node corresponding to the first link, the second node including second data and a second link; and writing the second data to the location in the data acquisition area specified by the first acquisition link.)

存储器及其操作方法

相关申请的交叉引用

本申请要求于2020年6月2日提交的韩国专利申请第10-2020-0066482号的优先权,其整体内容通过引用合并于此。

技术领域

本公开涉及存储器。

背景技术

大数据涉及对大量数据的分析,其数据处理更多地涉及各种数据库应用。数据以适合其使用的数据结构类型进行管理。通常存在两种类型的数据结构:阵列型和链接型。

在阵列型数据结构中,可以事先确保(secure)存储器中特定尺寸的区域,并且数据仅存储在该区域中以供将来使用。图1是示出数据以阵列型数据结构存储在存储单元阵列中的示例的示图。在图1中,101表示其中存储数据的区域。

在链接型数据结构中,关于数据项与其前导(predecessor)或后继(successor)数据项如何关联的方式信息连同数据项一起被存储。链接数据结构具有经由其前导者或后继者的地址而链接在一起的数据项,并且允许仅通过改变地址来简单地添加更多的数据项,从而消除了事先指定供使用的数据尺寸的需要,同时能够快速添加和删除数据项。因此,链接数据结构可以更适合于处理领域在迅速增长的大数据。图2是示出数据以链接型数据结构存储在存储单元阵列中的示例的示图。在图2中,201至209表示链接在一起的节点。从图2可以看出,节点201至209分散在存储器的不同区域中。图3是示出节点201至209的内部内容的示图。节点201至209可以分别包括数据项DATA1至DATA9并且分别包括链接LINK1至LINK9,每个链接分别指示其后继数据项的位置。

在链接型中,数据项分散在图2中所示的不同区域中。因此,通过参考节点内部的链接来搜索后继数据项可能耗用长时间,使得更有可能缓存缺失(cache miss),从而对性能产生不利影响。

发明内容

根据本公开的实施方式,提供了一种使用链接型数据结构防止系统性能劣化的技术。

根据本公开的实施方式,一种操作存储器的方法包括:读取包括第一数据和第一链接的第一节点;将第一数据写入数据采集区域;将写入数据采集区域中的第一数据的第一采集链接更新到数据采集区域中的位置;读取与第一链接对应的第二节点,第二节点包括第二数据和第二链接;以及将第二数据写入数据采集区域中的由第一采集链接指定的位置。

根据本公开的实施方式,一种存储器包括:正常区域,其包括多个存储单元;数据采集区域,其包括多个存储单元;以及碎片整理电路,其从正常区域读取链接的多个数据,将多个数据写入数据采集区域,以及控制正常区域和数据采集区域来更新链接,以使写入数据采集区域的多个数据在数据采集区域中被链接。

根据本公开的实施方式,一种存储器包括:存储单元阵列,其包括正常区域和数据采集区域,正常区域存储包括第一节点和第二节点的多个分散节点,第一节点链接到第二节点,数据采集区域的尺寸小于正常区域的尺寸;以及电路,其被配置成:从正常区域读取第一节点的数据,将第一节点的数据写入数据采集区域的第一区域,将第一区域链接到与第一区域相邻的第二区域,从正常区域读取第二节点的数据,以及将第二节点的数据写入第二区域。

根据本公开的实施方式,可以防止使用链接型的数据结构的系统的性能劣化。

附图说明

图1是示出数据以阵列型数据结构存储在存储单元阵列中的示例的示图;

图2是示出数据以链接型数据结构存储在存储单元阵列中的示例的示图;

图3是示出链接型数据结构中的节点的内部内容的示图;

图4是示出根据本公开的实施方式的存储器的配置的示图;

图5是示出寄存器电路的配置的示图;

图6是示出存储器的示例碎片整理(defragmentation)操作的示图;以及

图7是示出其中将分散在正常区域中的三个节点采集到数据采集区域中的示例的示图。

具体实施方式

在下文中,将参照附图详细描述本公开的实施方式,以允许本领域普通技术人员轻松地实践本发明。以下描述中可能省略公知的部件和信息。在说明书和附图通篇中,相同或基本相同的附图标记用于指示相同或基本相同的元件。此外,在说明书通篇中,提及“一实施方式”、“另一实施方式”等不一定仅针对一个实施方式,并且对任何这样的习语的不同引用不一定针对相同的实施方式。此处使用的术语“实施方式”不一定指所有的实施方式。

图4是示出根据本公开的实施方式的存储器400的配置的示图。

参照图4,存储器400可以包括单元阵列410,其包括正常区域420和数据采集区域430、碎片整理电路440、地址缓冲器450、行电路460和列电路470。

单元阵列410可以包括正常区域420和数据采集区域430。数据采集区域430可以是碎片整理电路440通过碎片整理操作而将分散并存储在正常区域420中的数据采集到其中的区域。未被指定为数据采集区域430的剩余区域可以属于正常区域420。

行电路460和列电路470可以是用于访问单元阵列410中由地址ADD选择的存储单元的电路。在单元阵列410中,可访问与由行电路460选择的行和由列电路470选择的列对应的存储单元。

碎片整理电路440可执行碎片整理操作以采集分散并存储在正常区域420中的数据,并将这些数据传输或移动到数据采集区域430中。碎片整理电路440可以包括寄存器电路441、地址翻译器443和控制器445。

寄存器电路441可以存储与碎片整理操作相关的信息。图5示出了寄存器电路441的示例。参照图5,寄存器电路441可以包括配置寄存器510、操作控制寄存器520和结果寄存器530。

配置寄存器510可以存储配置信息。配置寄存器510可以包括头地址信息(链接头地址)511、节点尺寸信息(节点尺寸)512、指示节点中的链接的位置的信息(即,节点中链接位置513)、指示链接的地址尺寸的信息(即,地址尺寸514)、指示要采集的节点数目的信息(即,采集节点数目515)、系统存储器地址偏移信息(即,系统存储器地址偏移516)、以及数据采集区域使能信息(即,采集区域使能517)。头地址信息511与节点中的要采集到数据采集区域430中的第一节点的地址相关。节点尺寸信息512可以指示一个节点的尺寸。一个节点可以包括数据和链接。节点尺寸信息512可以指示包括数据和链接的节点的总尺寸。节点中链接位置信息513可以指示节点中的链接的位置。地址尺寸信息514可以指示由信息513指示的位置中的链接中的有效地址的尺寸。采集节点数目信息515可以指示要由碎片整理电路440采集的节点的数目。系统存储器地址偏移信息516可以指示链接中存储的地址与存储器400的地址之间的偏移。链接中存储的地址可以是系统地址,并且可以包括能够将数据存储在系统中的所有器件的地址,诸如存储器、硬盘驱动器(HDD)或固态驱动器(SSD)。系统存储器地址偏移信息516可以指示在系统地址中存储器400的地址范围。采集区域使能信息517是能够确保(secure)数据采集区域430的信息。当信息517被使能之后,可以确保数据采集区域430。当信息517被禁用时,单元阵列410中可以不存在数据采集区域430,并且单元阵列410中的所有区域可以属于正常区域420。配置寄存器510的信息511至517可以由存储器控制器配置以控制存储器400。

操作控制寄存器520可以存储操作控制信息。操作控制寄存器520可存储碎片整理开始使能信息521和碎片整理终止使能信息522。碎片整理开始使能信息521可以是能够使存储器400的碎片整理操作开始的信息。当碎片整理开始使能信息521被使能时,存储器400可以开始碎片整理操作。碎片整理开始使能信息521可由存储器控制器配置。存储器控制器可以在不需要访问存储器400的时段期间使能碎片整理开始使能信息521,从而使碎片整理操作能够开始。碎片整理终止使能信息522可以是终止存储器400的碎片整理操作的信息。当在执行存储器400的碎片整理操作的同时碎片整理终止使能信息522被使能时,可以停止碎片整理操作。碎片整理终止使能信息522可由存储器控制器配置。当在执行存储器400的碎片整理操作的同时需要访问存储器400时,存储器控制器可以使能碎片整理终止使能信息522。

结果寄存器530可以存储结果信息。结果寄存器530可以存储信息(指示采集的节点数目即采集节点数目531、采集结束信息即采集完成532、以及数据采集区域使用信息即采集区域占用尺寸533)。采集节点数目信息531可以指示碎片整理操作采集了多少节点。换言之,信息531可以指示碎片整理操作的进展。采集结束信息532可以指示碎片整理操作是否已结束。数据采集区域使用信息533可以指示数据采集区域430的使用量。结果寄存器530可以存储与碎片整理操作的进展的结果相关的信息531、532和533。由于碎片整理操作是在控制器445的控制下执行的,因此控制器445可以更新结果寄存器530中存储的信息531、532和533。

回来参照图4,碎片整理电路440的地址翻译器443可以将系统地址翻译成存储器地址。从正常区域420读取的节点中包括的链接是系统地址。因此,这些系统地址可能需要被翻译(或映射)到存储器地址以访问存储器440。头地址信息511也是系统地址。因此,为了使用头地址访问正常区域420中的第一节点,可能需要使用地址翻译器443将作为系统地址的头地址翻译成存储器地址。

控制器445可以控制碎片整理电路440中的部件以及其外部部件,以执行碎片整理操作。在图4中,CONTROL可以表示控制器445的控制。下文将参照附图描述如何在控制器445的控制下执行碎片整理操作。

地址缓冲器450可以存储通过地址翻译器443的翻译得到的存储器地址。存储在地址缓冲器450中的地址ADD可用于访问单元阵列410。

存储器400可以是主存储器,例如动态随机存取存储器(DRAM)。然而,在另一实施方式中,存储器400可以是不同类别的存储器。

图6是示出存储器400的碎片整理操作的示例的示图。

参照图6,寄存器电路441的配置寄存器510和操作控制寄存器520可由存储器控制器配置(601)。特别地,在操作控制寄存器520中的碎片整理开始使能信息521被使能时,可以开始碎片整理操作。

地址缓冲器450可被更新(603)。配置寄存器510的头地址信息511可由地址翻译器443翻译成存储器地址,并且可以用存储器地址更新地址缓冲器450。

可以使用存储在地址缓冲器450中的地址ADD来读取正常区域420的节点(605)。节点可以包括数据和链接。

在操作605中读取的节点数据可被写入数据采集区域430(607)。可以更新(或写入)与数据采集区域中存储的数据对应的链接(609)。在操作609中更新的链接可以指定数据采集区域430中的位置,优选是紧邻的位置。当在操作605中读取的节点中包括的链接未指定存储器400中的任何位置时,在操作609中更新的链接可以与操作605中读取的链接相同。

可以确定采集是否完成(或结束)(611)。当满足以下三个条件中的任何一个条件时,可以确定采集结束:(1)与由采集节点数目信息515指示的节点数目相同的节点数目被采集到数据采集区域430中;(2)操作控制寄存器520的碎片整理终止使能信息522被使能;和/或(3)在操作605中读取的节点中的链接未指定存储器400中的位置。由于(1)指示已采集所有数据,(2)指示存储器控制器已指令停止碎片整理操作,(3)指示无法进一步采集数据,因此满足条件(1)至(3)中的任何一个时,可以确定采集结束。

如果确定采集未完成(611中的“否”),则可以再次执行操作603至611。当操作603被再次执行时,在操作605中读取的节点链接可由地址翻译器443翻译,然后更新到地址缓冲器450。

当确定采集完成(611中的“是”)时,结果寄存器530可以由控制器445更新(613)。

图7是示出分散在正常区域420中三个节点被采集到数据采集区域430中的示例的示图。参照图6和图7描述采集节点的过程。

头地址信息511可由地址翻译器443翻译,并更新到地址缓冲器450(603),并且正常区域420的节点711可通过存储在地址缓冲器450中的地址ADD读取(605)。节点711的数据DATA1可被写入数据采集区域430的节点721(607)。节点721的链接N_LINK1可被更新以指定数据采集区域430中的紧邻区域(609)。从图7可见,节点711的链接LINK1与节点721的链接N_LINK1不同。尽管从数据采集区域430采集节点711,但是节点711可以原样保留在正常区域420中。

此后,节点711的链接LINK1可由地址翻译器443翻译并更新到地址缓冲器450(603),并且正常区域420的节点712可通过存储在地址缓冲器450中的地址ADD读取(605)。节点712的数据DATA2可被写入数据采集区域430的节点722(607)。节点722的链接N_LINK2可被更新以指定数据采集区域430中的紧邻区域(609)。节点712的链接LINK2与节点722的链接N_LINK2不同,并且尽管从数据采集区域430采集节点712,但是节点712可以原样保留在正常区域420中。

此后,节点712的链接LINK2可由地址翻译器443翻译并更新到地址缓冲器450(603),并且正常区域420的节点713可通过存储在地址缓冲器450中的地址ADD读取(605)。节点713的数据DATA3可被写入数据采集区域430的节点723(607)。节点713的链接LINK3被标记为NULL(空),这意味着链接LINK3未指定存储器400中的任何区域。换句话说,在这种情况下,链接LINK3可以指定除存储器400以外的诸如HDD或SDD的区域,或者可以不指定区域(在此情况下节点713是链接节点的最后节点)。在这种情况下,数据采集区域430的节点723的链接LINK3可以以与节点713的链接LINK3相同的方式被更新。由于链接LINK3未指定存储器400中的任何区域,因此可以终止碎片整理操作。

从图7可见,曾经分散在正常区域420中的节点711至713被收集(或采集)在数据采集区域440中。这种碎片整理操作可以减少搜索被采集在数据采集区域430中的数据的时间,同时增加缓存命中(cache hit)的机会。

尽管结合各实施方式示出和描述了本发明,但是该描述被提供作为示例;而非旨在限制本发明。本领域普通技术人员应认识到,在本公开的精神和范围内可以对任何公开的实施方式进行各种修改。本发明涵盖落在权利要求的范围内的所有这样的修改。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:使用多循环队列的主机控制器接口及其操作方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类