CN1158668A - 存储器件中存储数据的方法和系统 - Google Patents

存储器件中存储数据的方法和系统 Download PDF

Info

Publication number
CN1158668A
CN1158668A CN95194546A CN95194546A CN1158668A CN 1158668 A CN1158668 A CN 1158668A CN 95194546 A CN95194546 A CN 95194546A CN 95194546 A CN95194546 A CN 95194546A CN 1158668 A CN1158668 A CN 1158668A
Authority
CN
China
Prior art keywords
data
data block
memory device
address
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN95194546A
Other languages
English (en)
Inventor
斯科特·劳埃德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of CN1158668A publication Critical patent/CN1158668A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

揭示一种用以将一组数据块存入存储器件(222)的方法和系统。本方法通过为两个数据块指定不同的存取方法来储存这两块数据元。本方法提供三种存取数据块的方法示例。第一种方法,允许通过地址空间中的各列存取一个数据块的诸数据元;第二种方法,允许通过地址空间中的各行存取诸数据元;而第三种方法,允许沿地址空间中的对角线存取诸数据元。上述数据元可为表示多项式展开之指数的数字字。

Description

存储器件中存储数据的方法和系统
本发明一般性涉及数据存储系统,尤其涉及用以将数据存入一个存储器件的一种方法和系统。
数据存储系统被广泛应用于各种计算环境中。图1显示一个计算机(10),它包含一个数据存储系统(14)。典型地,一个数据存储系统包含一个大容量存储器(16),存储器管理单元(MMU)(22),和一个中央处理单元(CPU)存储器(24)。CPU(12)执行软件程序,并且通过总线(20)连接至存储器管理单元(22)和CPU存储器(24)。
存储器管理单元(22)控制大容量存储器(16)与CPU存储器(24)之间的数据传输,而且在某些情况下可以在中央处理单元(12)与大容量存储器(16)之间传输数据。为将来自大容量存储器(16)的数据移送至CPU存储器(24),存储器管理单元(22)利用总线(18)从大容量存储器(16)中读取数据块,然后利用总线(20)将这些数据块写入CPU存储器(24)。以类似的方式,通过先从CPU存储器(24)中读取数据块而后将其写入大容量存储器(16),存储器管理单元(22)可将来自CPU存储器(24)的数据块移送至大容量存储器(16)。
大容量存储器(16)典型地提供一个装置,用以以相对低的每存储数据元成本存储大量数据。具备技术中普通技能的人将认识到,大容量存储器(16)可包括一个硬盘,一组随机存取存储器(RAM)芯片,或其它存储媒体。
CPU存储器(24)存储CPU(12)所使用的数据和程序指令。具备技术中普通技能的人将认识到,CPU存储器(24)可为静态或超高速缓存RAM,他们与CUP(12)存在于同一集成电路上。存储在CPU存储器(24)中的数据通过总线(20)被CPU(12)存取。与大容量存储器(16)相比,CPU存储器(24)允许更为快速的存取过程。然而,CPU存储器(24)一般容量较小,这归因于其相对较高的价格——与它容许短的存取时间相关。对于存储CPU(12)操作中所需的所有数据,CPU存储器(24)通常不够大。因此,要么CPU(12)必须通过存储器管理单元(22)周期性地存取来自大容量存储器(16)的数据,要么存储器管理单元(22)必须周期性刷新CPU存储器(24)的内容。因为大容量存储器(16)比CPU存储器(24)慢,CPU(12)在存取来自大容量存储器(16)的数据时必须插入若干等待状态。由CPU(12)插入的等待状态将降低计算机(10)的整体性能。另外,在许多情形下,存储器管理单元(22)向CPU存储器(24)装入数据块所需的时间量将引起CPU(12)空闲,这亦将降低计算机(10)的性能。
因此,存在对一种数据存储系统的重要需求,这种数据存储系统允许数据块以减少所需总体存储空间的方式存储。还存在对一种数据存储系统的需求,这种数据存储系统将数据装入存储器,并减少数据块在该存储器和大容量存储器之间交换。
因此,本发明的一个优点是,提供一种减少数据存入一存储器件所需存储空间的方法。
本发明一个进一步的优点是,提供一种减少在一存储器件和一大容量存储器之间数据块交换需求的方法。
在本发明的一个实施例中,提供一种方法用以将一组数据块存入一个存储器件。在本方法中,数据块组具有第一和第二数据块。本方法的第一步,将第一数据块存入存储器件,以便第一数据块是用第一种存取方法可存取的。第二步,将第二数据块存入存储器件,以便第二数据块是用第二种存取方法可存取的。
在本发明的另一个可供选择的实施例中,提供一种方法用以将一组数据块存入一个存储器件。在本方法中,每个数据块具有一组数据元,并且数据块组具有第一和第二数据块。本方法的第一步,将第一数据块存入存储器件,以便第一数据块是用第一种存取方法可存取的。第二步,将第二数据块存入存储器件,以便第二数据块是用第二种存取方法可存取的。并且,如果第一和第二数据块之间存在一个公共数据元,则第一和第二数据块的公共数据元被存入存储器件的一个单独区域。
在本发明的另一个实施例中,提供一种方法用以将一组数据块存入一个存储器件。在本方法中,每个数据块具有一组数据元。另外,本方法包含下列步骤:第一步,为数据块组的每一个指定一种存取方法;第二步,确定该组数据块之间的公共数据元的数目;第三步,改变该组数据块中至少一个的存取方法;第四步,重复第二和第三步,直到找到该组数据块之间的公共数据元的最大数目;第五步,将该组数据块存入存储器件,使得该组数据块的每一个利用考虑到该组数据块之间公共单元的最大数目的指定存取方法是可存取的。
在本发明进一步的一个实施例中,提供一个存储器管理单元用以将一组数据块存入计算机的存储器件。该组数据块具有第一和第二数据块,并且该组数据块的每一个具有一组数据元。该存储器管理单元包含第一存储装置,有效地连接至存储器件,用以将第一数据块存入存储器件,以使得第一数据块是用第一种存取方法可存取的。另外,该存储器管理单元包含第二储装置,有效地连接至存储器件,且与第一存储装置协作。第二存储装置用以将第二数据块存入存储器件,以使得第二数据块是用第二种存取方法可存取的。另外如果第一和第二数据块之间存在一个公共数据元,则第一和第二数据块的公共数据元被存入存储器件的一个单独区域。
在其后所附的权利要求中,将指出本发明所具有的特别之处。然而,通过参考以下结合附图的详细说明,本发明的其它特性将更为明了并得到最好的理解。其中:
图1显示一台包含数据存储系统的已有技术之计算机的方框图。
图2显示根据本发明的一个实施例,一个存储器件中存储一组数据块中的两个数据块的方法流程图。
图3描述一个存储器件中用以定位数据的两维寻址方案设计之示例。
图4显示根据本发明的一个实施例,在数据块中列存取数据元的方法流程图。
图5显示根据本发明的一个实施例,在数据块中行存取数据元的方法流程图。
图6显示根据本发明的一个实施例,在数据块中对角线存取数据元的方法流程图。
图7显示根据本发明一个可供选择的实施例,将一组数据块中的两个数据块存入一个存储器件的方法流程图。
图8描述位于两维地址空间非重迭区域的两个数据块的示例。
图9描述根据本发明的一个实施例,位于两维地址空间重迭区域的图8中两个数据块的示例。
图10显示根据本发明的最佳实施例,将一组数据块存入一个存储器件的方法流程图。
图11显示一台包含本发明一个实施例中的存储器管理单元的多处理器计算机方框图。
图12描述包含本发明一个实施例中所使用的指数值的一个数据块的示例。
具备技术中普通技能的人应认识到,本发明的方法可以用软件或硬件,或者其任意形式的结合加以实现,术语“指数”或“指数值”,以及“块”或“数据块”在本说明中可以互换使用。
图2显示根据本发明的一个实施例,将一组数据块中的两个数据块存入一个存储器件的方法流程图。在框(30)中,将来自该组数据块的第一数据块以允许该数据块用第一种存取方法存取的方式存入存储器件。
在框(32)中,来自该组数据块的第二数据块,以允许该数据块用第二种存取方法存取的方式,被存入存储器件。
使用不同的存取方法存储数据块可以允许在放置数据块方面的灵活性,它转过来又可在存储器中以允许用较少的空间安置两个或多个数据块。较少的空间占用,转过来又降低了在存储器件和大容量存储器件之间交换数据块的潜在需求。
在本发明中,第一和第二种存取方法彼此不同。例如,当第二种存取方法可以是一种垂直的存取方法时,第一种存取方法可以是一种水平的存取方法;或者,当第二种方法可以是对角线方法时,第一种方法可以是水平方法。因此,具备技术中普通技能的人将认识到,同样可以使用其他存取方法及其其他组合。
对于技术上熟练的人将是十分明了的,第一和第二数据块可任意从数据块组中选择,把这两个数据块标注为第一和第二不一定意味着数据块组的顺序排序。
图3描述一个存储器件中用以定位数据的两维编址寻址方案设计之示例。在一个实施例中,存储器件中的地址由具有两个索引——行地址和列地址——的阵列表示。因此,一个两维地址可表示为一个有序对(i,j),其中i表示行地址,j表示列地址。一个数据元可被存储于存储器件的每一个两维地址上。
轴(64)表示行地址值,轴(66)表示列地址值。边界(48)指示存储器件的存储空间。一个数据元可被存入存储器件之存储空间的任意位置。换句话说,存储于边界(48)以内的一个数据元的两维地址可由(i,j)给定,其中0≤i≤f,0≤j≤e。
数据块(40)包括一组数据元,其中之一如数据元(44)所示。数据块(40)由两维起始地址(50)标定。起始地址(50)给出数据块(40)中第一个数据元的位置,该第一数据元先于该块中的其它数据元被存取,起始地址(50)由有序对(a,b)给定。一个数据块中的所有其它数据元被定位于相相对该数据块起始地址的诸地址上。例如,数据元(44)的行地址由行偏移(54)与起始地址(50)的行地址之和给定,数据元(44)的列地址由列偏移(56)与起始地址(50)的列地址之和给定。在此例中,行偏移(54)等于1个存储单元,列偏移(56)等于5个存储单元,因此所得数据元(44)的两维地址是(a+1,b+5)。
数据块(40)的第一边界包括边界(43)和边界(49)。边界(43)由数据块(40)列最小地址给定。数据块(40)中沿这一边界定位的数据元具有与数据块(40)的列最小地址相等的列地址。边界(49)由数据块(40)行最大地址给定,数据块(40)中沿边界(49)定位的数据元具有与数据块(40)的行最大地址相等的行地址。
数据块(40)的第二边界包括边界(45)和边界(47)。边界(45)由数据块(40)行最小地址给定,数据块(40)中沿这一边界定位的数据元具有与数据块(40)的行最小地址相等的行地址。边界(47)由数据块(40)列最大地址给定,数据块(40)中沿边界(47)定位的数据元具有与数据块(40)的列最大地址相等的列地址。
数据块(42)由有序对(c,d)所表示的起始地址(52)标定。最大行偏移(58)和最大列偏移(60)给定数据元(46)相对于起始地址(52)的两维地址。该最大行偏移和最大列偏移一同表示一个数据块中将被最后一个存取的数据元之地址。例如,最大行偏移(58)等于5个存储单元,最大列偏移(60)等于6个存储单元。因此所得数据元(46)的两维地址是(c+5,d+6)。
数据块(42)的第一边界包括边界(51)和边界(57)。边界(51)由数据块(42)列最小地址给定,数据块(42)中沿这一边界定位的数据元具有与数据块(42)的列最小地址相等的列地址。边界(57)由数据块(42)行最大地址给定,数据块(42)中沿。边界(57)定位的数据元具有与数据块(40)的行最大地址相等的行地址。
数据块(42)的第二边界包括边界(53)和边界(55)。边界(53)由数据块(42)行最小地址给定,数据块(42)中沿这一边界定位的数据元具有与数据块(42)的行最小地址相等的行地址。边界(55)由数据块(42)列最大地址给定,数据块(42)中沿边界(55)定位的数据元具有与数据块(42)的列最大地址相等的列地址。
图4显示根据本发明的一个实施例,在数据块中列存取数据的方法流程图。在框(70)中,列指针和行指针被预置为存储在存储器件中的一个数据块的起始地址。该列指针和行指针为可装载计数器或任何其他存储装置,它们分别保存列和行地址,并且允许通过增值或减值周期地更新地址。列和行指针提供目前正被存取的数据元的两维地址。
其次,在框(72)中,存取数据块中的一列数据元。一列数据元被定义为具有相同列地址的那些数据元。通过保持由列指针给定的列地址为常数且随后从行最小地址到行最大地址改变行地址,存取一列中的数据元。通过增值行指针的内容可以改变行地址。对具备技术上普通技能的人将十分明了的是,也可以通过减值行指针的内容,从行最大地址到行最小地址改变行地址。另外,具备普通技能的人将可以理解,位于同一列的数据元可被同时存取。
在判决框(74)中,执行一个检验以确定由列指针给定的列地址是否大于列最大地址。如果是,本方法终止。如果非,本方法继续执行框(76)。
在框(76)中,列指针的内容被增值,这允许存取数据块的下一列。当退出框(76)时,方法返回框(72)。
图5显示根据本发明的一个实施例,在数据块中行存取数据的方法流程图。在框(80)中,列指针和行指针被预置为存储在存储器件中的一个数据块的起始地址。该列和行指针为可装载计数器或任何其他存储装置,它们分别保存列和行地址,并且允许通过增值或减值周期地更新地址。列和行指针提供目前正被存取的数据元的两维地址。
其次,在框(82)中,存取数据块中的一行数据元。一行数据元被定义为具有相同行地址的那些数据元。通过保持由行指针给定的行地址为常数且随后从列最小地址到列最大地址改变列地址,存取一行中的数据元。通过增值列指针的内容可以改变列地址。对具备技术上普通技能的人将是十分明了的,也可以通过减值列指针的内容,从列最大地址到列最小地址改变列地址。另外,具备普通技能的人将可以理解,位于同一行的数据元可被同时存取。
在判决框(84)中,执行一个检验以确定由行指针给定的行地址是否大于行最大地址。如果是,本方法终止。如果非,本方法继续执行框(86)。
在框(86)中,行指针的内容被增值,这允许存取数据块下一行。当退出框(86)时,方法返回框(82)。
图6显示根据本发明的一个实施例,在数据块中对角线存取数据的方法流程图。在框(90)中,列指针和行指针被设置为位于该数据块正被存取的第一边界上的数据元的两维地址。
其次,在框(92)中,定位于由列和行指针给定的两维地址的数据元被存取。
在判决框(94)中,执行一个检验以确定在框(92)内读取的数据元是否位于数据块的第二边界上。如果是,本方法继续执行框(100)。如果非,本方法继续执行框(96)。
在框(96)中,列指针的内容被增值。
在框(98)中,行指针的内容被减值。当退出框(98)时,本方法返回框(92)。
当所有沿数据块对角线放置的数据元被存取后,进入框(100)。在框(100)中,列指针和行指针被设置为位于数据块正被存取的第一边界上的其他数据元的两维地址。
其次,在判决框(102)中,执行一个检验以确定是否数据块的所有数据元均已被存取。如果是,则本方法终止。否则,本方法返回框(92)。
图7显示根据本发明的一个以供选择的实施例,将一组数据块中的两个数据块存入一个存储器件的方法流程图。在框(110)中,将来自该组数据块的第一数据块以允许利用第一存取方法存取该数据块的方式存入存储器件。第一存取方法可以是诸如列存取方法、行存取方法、或者对角线存取方法的任何存取方法。列、行和对角线存取方法分别由图4、图5和图6更详细地描述。
其次,在框(112)中,将来自该组数据块的第二数据块以允许利用第二存取方法存取该数据块的方式存入存储器件。第二存取方法可以是不同于第一存取方法的任何存取方法,诸如列存取方法、行存取方法、或者对角线存取方法。另外,存储这两个数据块以使得公共数据元被存入存储器件的一个单独位置。公共数据元定义为位于两个数据块,在两个数据块中有相同的值,并且可以存储在同一个两维地址的数据元。
图8描述位于两维地址空间中非重迭区域的两个数据块的示例。数据块(126)包含十六个两位数字字,并由起始地址(124)标定。数据块(130)包含十个两位数字字,并由起始地址(128)标定。轴(120)指示两维地址空间的列地址,而轴(122)指示两维地址空间的行地址。
图9描述根据本发明实施例之一,位于两维地址空间重迭区域的图8中两个数据块的示例。数据块(126)保留在由起始地址(124)所给定的位置。然而,数据块(130)被移送至新的起始地址(132)。数据块(130)的该新位置允许来自这两块中具有相同值的数据元共用同一个两维地址。来自不同数据块,具有相同的值,并且可被存储于同一个两维地址的数据元被称为公共数据元。
通过重迭数据块以建立公共数据元,本发明减少用于存储一个或多个数据块所需的存储空间量。
图8和9出于示例的目的描述两位数据元。进一步地,图3、8和9均用两维寻址的形式描述。具备技术上普通技能的人将认识到,可以使用任何任意的数据元,包含含有任何数量的数字位的数据元,并且该寻址方式可以在n-维意义上加以实施。
图10显示根据本发明的最佳实施例,将一组数据块存入一个存储器件的方法流程图。在框(140)中,该组数据块的每一个数据块被指定一种存取方法。
在框(142)中,确定该组数据块之间的公共数据元的数目。用以确定公共数据元的数目的技术,在上面所指出的有关发明No.2中揭示。
在判决框(144)中,执行一个检验以确定是否已经找到公共数据元的最大数目。如果是,本方法继续执行框(148)。如果非,本方法继续执行框(146)。
在框(146)中,将至少一个数据块的存取方法改变成为如图4、5或6所描述的三种存取方法之一的可供选择之存取方法。当退出框(146)时,本方法返回框(142)。
在框(148)中,数据块被存入存储器件中。每一数据块为可存取的——采用指定给它的、将导致公共数据元的最大数目的存取方法。
图11显示包含本发明一个实施例的存储器管理单元的一台多处理器计算机的方框图。计算机(210)包含存储器件(222),存储器管理单元(212),加法电路(217),以及一组计算元,其中的三个被显示为计算元(211),(213),和(215)。
计算机(210)用以计算如下形式的多项式展开:
      y=∑wi-1x1 g1ix2 g2i...xn gni         公式1
这里y表示计算机(210)的输出,亦可称之为多项式展开的函数;这里wi-1表示第i项的系数;这里的x1,x2,...,xn表示计算机(210)的数据输入,亦可称之为多项式展开的自变量;而这里的g1i,g2i,...,gni表示展开式中第i项的指数,它们施加于数据输入;其中的i,m,和n为整数。
计算机(210)以下述方式计算一个多项式展开。利用总线(219)将一组数据输入x1,x2,...,xn馈入计算机(210),然后分配给一组计算元,其中的计算元(211),(213),和(215)被图示。具备普通技能的人应能理解,其余的计算元(未示出)可被提供用以执行以上公式(1)所表示多项式展开中的每一项。每一个计算元计算多项式展开中的一项,特征在于上述项包含零或更多的数据元。计算元读取被存于存储器件(222)内的指数值,计算一项后,一个计算元将该项传递至加法电路(217),它将计算元所计算的诸项相加并将和值置于计算机(210)的输出端(233)。
例如,图11描绘多项式y=x1 g11 x2 g21 + x1 g12 x2 g22 +...xn gnm的计算。该例中,计算元(211)通过总线(221)从存储器件(222)读取指数g11和g21,同时计算元(213)利用总线(223)从存储器件(222)读取指数g12和g22,以及计算元(215)利用总线(225)从存储器件(222)读取指数gnm。计算元(211)计算x1 g11 x2 g21项,然后通过总线(227)将其送至加法电路(217);计算元(213)计算x1 g12 x2 g22项,然后通过总线(229)将其送至加法电路(217);以及计算元(215)计算xn gnm项,然后通过总线(231)将其送至加法电路(217)。当接到来自诸计算元的各项时,加法电路(217)将诸项相加并将所得的多项式展开放置于计算机输出端(233)。
对具备普通技能的人将显而易见的是,计算机(210)能够计算由公式1给出形式的多项式,多项式中的一些项可不同于上例,多项式诸项可由不同于上例中多项式各项的形式的数据输入组成。
存储器件(222)存储被一组计算元使用的诸指数值。存储器件(222)可存储指数值的一个或多个块,其中每一块对应于一个不同的多项式展开。
存储器管理单元(212)包含第一存储装置(214)和第二存储装置(224)。第一存储装置(214)通过总线(218)有效地连接至存储器件(222),而第二存储装置(224)通过总线(219)有效地连接至存储器件(222)。第一存储装置(214)和第二存储装置(224)通过总线(220)连接。
根据本发明,存储器管理单元(212)将一组指数值的块以一种减少存储这组块所需的存储空间之方式存入存储器件(222)中。在本发明的一个实施例中,存储器管理单元(212)由运行在一个处理器如微处理器上的软件实现。然而,一个具备技术上普通技能的人将认识到,存储器管理单元(212)同样可用硬件形式,采用可编程逻辑阵列、ASIC或类似的数字逻辑来实现。
为降低存储空间的需求量,第一存储装置(214)将从一组数据块中选出的第一数据块存入存储器件(222),以便第一数据块是可存取的——采用如图4、5或6所给出的存储方法之一。第二存储装置(224)为第二数据块指定一种存取方法,然后确定这两个数据块是否拥有公共数据元的指数。用于确定是否存在公共数据元的信息,在第一存储装置(214)和第二存储装置(224)之间经总线(220)交换。如果两个数据块之间存在至少一个公共数据元,则第一存储装置(214)和第二存储装置(224)分别通过总线(218)和总线(219)向存储器件(222)发信号,旨在存储上述诸块以便将公共数据元的指数存入存储器件(222)的诸公共位置。
图12描述一个包含指数值的数据块之示例。根据一个实施例,数据块(250)包含一组数据元,其中每个数据元表示作为一个两位数字字的指数值。第一个数据元(254)表示指数g1,1,最后一个数据元表示指数g128,64。数据块(250)的诸指数值被用以计算由公式1给出之形式的多项式展开。
每一个指数被定位于存储器件中的一个两维地址(i,j),其中i表示行地址,j表示列地址。轴(260)表示行地址的诸个值,轴(262)表示列地址的诸个值。
数据块(250)可被存入图11中的存储器件(222)。在此情形下,诸指数值可被存入存储器件(222),以使得每一个列地址可以指向一些指数值,它们被图11中计算机(210)的一组计算元中特定的一个计算元读取,且每一个行地址可以指向一些指数值,它们被应用于一组数据输入中特定的一个。例如,数据块(250)可被用于计算机(210)中,旨在提供用于64个计算元和128个数据输入的诸指数值。
尽管图12显示一个拥有128个行地址,64个列地址,以及128×64个指数值的数据块,但是,具备普通技能的人将理解,一个数据块可拥有任意数目的行地址和列地址,以及任意数目的指数值。同样,一个技术上熟练的人将认识到,当数据块(250)被存储于存储器件(222)中时,行地址和列地址可以交换,以分别指向被一个特定计算元读取的诸指数和对应于一个特定数据输入的诸指数。
于是,在这里已经描述了用以将数据存入一个存储器件的一种方法之概念,以及包含一个最佳实施例的若干实施例,这种方法减少数据所需的存储空间。
因为此中所描述的数据存储方法的各种实施例允许数据块在存入存储器件时重迭,它们有效地降低了存储数据块所需的存储空间量,同样也减少在存储器件与大容量存储器之间交换数据块的需求。
对于技术上娴熟的人们,将十分明了的是,所揭示的发明可以通过众多的途径加以改变,并且可以设想多种不同于以上所特别设计和描述之最佳形式的实施例。
相应地,通过所附权利要求,意在涵盖落入本发明之真正精神与范围之内的,对本发明的所有变更形式。

Claims (10)

1.一种将一组数据块存入一个存储器件的方法,上述一组数据块中每个数据块拥有第一和第二数据块,本方法包括下列步骤:
(a)将第一数据块存入存储器件,使得第一数据块是用第一种存取方法可存取的;及
(b)将第二数据块存入存储器件,使得第二数据块是用第二种存取方法可存取的。
2.权利要求1所述的方法,特征在于该组数据块的每个数据块包含一组数据元。
3.权利要求2所述的方法,特征在于该组数据元的每个数据元是用拥有一个列指针和一个行指针的n维地址可存取的,特征在于n为整数。
4.权利要求3所述的方法,特征在于第一种存取方法包含列存取方法,而第二种方法包含行存取方法。
5.权利要求3所述的方法,特征在于第一种存取方法包含列存取方法,而第二种方法包含对角线存取方法。
6.权利要求3所述的方法,特征在于第一种存取方法包含行存取方法,而第二种方法包含对角线存取方法。
7.权利要求2所述的方法,特征在于该组数据元中的每个数据元相当于一个多项式展开中的一个指数。
8.权利要求7所述的方法,特征在于上述多项式展开具有以下形式:
  y=∑x1 g1i x2 g2i...xn gni
  其中y表示一个函数;
  其中i,m和n为整数;
  其中x1,x2,...,xn表示自变量;以及
  其中g1i,...,gni表示上述展开式中第i项的指数,它们被施加于上述自变量。
9.权利要求1所述的方法,特征在于对于一组数据块对,步骤(a)和(b)被重复。
10.在一台计算机内,包含一个存储器件,一个用以将一组数据块存入存储器件的存储器管理单元,该组数据块拥有第一和第二数据块,上述诸数据块中的每个数据块拥有一组数据元,上述存储器管理单元包括:
第一存储装置,有效地连接至存储器件,用以将第一数据块存入存储器件,以便第一数据块是用第一种存取方法可存取的;以及
第二存储装置,有效地连接至上述存储器件,并与第一存储装置协作,用以将第二数据块存入存储器件,以使得第二数据块是用第二种存取方法可存取的,并且如果第一和第二数据块之间存在公共数据元,则第一和第二数据块之间的公共数据元被存入存储器件的一个单独区域。
CN95194546A 1994-08-10 1995-06-26 存储器件中存储数据的方法和系统 Pending CN1158668A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28838594A 1994-08-10 1994-08-10
US08/288,385 1994-08-10

Publications (1)

Publication Number Publication Date
CN1158668A true CN1158668A (zh) 1997-09-03

Family

ID=23106879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN95194546A Pending CN1158668A (zh) 1994-08-10 1995-06-26 存储器件中存储数据的方法和系统

Country Status (5)

Country Link
US (1) US5737768A (zh)
CN (1) CN1158668A (zh)
AU (1) AU2910195A (zh)
GB (1) GB2305756A (zh)
WO (1) WO1996005598A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005100262A (ja) * 2003-09-26 2005-04-14 Seiko Epson Corp メモリ管理装置およびメモリ管理プログラム、並びにメモリ管理方法
US7606847B2 (en) * 2004-03-29 2009-10-20 Vince Grolmusz Dense and randomized storage and coding of information
KR101782373B1 (ko) * 2010-11-10 2017-09-29 삼성전자 주식회사 X-y 스택 메모리를 이용한 컴퓨팅 장치 및 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3748451A (en) * 1970-08-21 1973-07-24 Control Data Corp General purpose matrix processor with convolution capabilities
US4286329A (en) * 1979-12-17 1981-08-25 International Business Machines Corporation Complex character generator
DE3374462D1 (en) * 1982-07-21 1987-12-17 Marconi Avionics Multi-dimensional-access memory system
US4547882A (en) * 1983-03-01 1985-10-15 The Board Of Trustees Of The Leland Stanford Jr. University Error detecting and correcting memories
US4667300A (en) * 1983-07-27 1987-05-19 Guiltech Research Company, Inc. Computing method and apparatus
US4819152A (en) * 1985-04-05 1989-04-04 Raytheon Company Method and apparatus for addressing a memory by array transformations
US4914615A (en) * 1987-09-04 1990-04-03 At&T Bell Laboratories Calculator of matrix products
US5136538A (en) * 1987-09-04 1992-08-04 At&T Bell Laboratories Preconditioned conjugate gradient system
US4959776A (en) * 1987-12-21 1990-09-25 Raytheon Company Method and apparatus for addressing a memory by array transformations
US5301342A (en) * 1990-12-20 1994-04-05 Intel Corporation Parallel processing computer for solving dense systems of linear equations by factoring rows, columns, and diagonal, inverting the diagonal, forward eliminating, and back substituting
US5408588A (en) * 1991-06-06 1995-04-18 Ulug; Mehmet E. Artificial neural network method and architecture
US5168375A (en) * 1991-09-18 1992-12-01 Polaroid Corporation Image reconstruction by use of discrete cosine and related transforms

Also Published As

Publication number Publication date
WO1996005598A1 (en) 1996-02-22
GB2305756A (en) 1997-04-16
AU2910195A (en) 1996-03-07
US5737768A (en) 1998-04-07
GB9702710D0 (en) 1997-04-02

Similar Documents

Publication Publication Date Title
US10318434B2 (en) Optimized hopscotch multiple hash tables for efficient memory in-line deduplication application
CN1317644C (zh) 简化了缓存替换策略的实现的多线程缓存方法和装置
US9966152B2 (en) Dedupe DRAM system algorithm architecture
US10114908B2 (en) Hybrid table implementation by using buffer pool as permanent in-memory storage for memory-resident data
Blelloch et al. Sorting with asymmetric read and write costs
US6430672B1 (en) Method for performing address mapping using two lookup tables
CN1152365A (zh) 一种存储和检索数据的方法和一种存储器配置
CN1652092A (zh) 不同高速缓存级上具有关联集重叠同余组的多级高速缓存
CN101339538A (zh) 使用页结构的数据树存储方法、系统和计算机程序产品
CN1389790A (zh) 闪速存储器管理方法
CN1659526A (zh) 具有基于线程标识符的缓存清除的多线程缓存方法和装置
CN1831824A (zh) 缓存数据库数据组织方法
EP2425324A1 (en) Description
WO2023143095A1 (en) Method and system for data query
CN112204515A (zh) 逻辑到物理数据结构
US11327881B2 (en) Technologies for column-based data layouts for clustered data systems
CN1236386C (zh) 存储器件及存储控制方法
CN1120196A (zh) 地址变换电路
CN1447242A (zh) 可适用于快闪存储卡的控制装置及其建构方法
US7502778B2 (en) Apparatus, system, and method for efficient adaptive parallel data clustering for loading data into a table
CN1041566C (zh) 超标量处理器系统中分配和执行非顺序指令的方法和系统
US20020052868A1 (en) SIMD system and method
CN101063976A (zh) 用于快速删除物理群集数据的方法和设备
CN1282067C (zh) 进行硬盘阵列同位运算的装置与相关方法
Roumelis et al. Bulk-loading and bulk-insertion algorithms for xBR^+-trees xBR+-trees in Solid State Drives

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C01 Deemed withdrawal of patent application (patent law 1993)
WD01 Invention patent application deemed withdrawn after publication