数据存储单元、数据存储控制设备和方法、以及程序.pdf

上传人:g**** 文档编号:6237914 上传时间:2019-05-24 格式:PDF 页数:92 大小:4.11MB
返回 下载 相关 举报
摘要
申请专利号:

CN200510054174.7

申请日:

2005.01.05

公开号:

CN1677555A

公开日:

2005.10.05

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):G11C 7/00申请日:20050105授权公告日:20110817终止日期:20140105|||授权|||实质审查的生效|||公开

IPC分类号:

G11C7/00; G11C8/00; G06T1/00

主分类号:

G11C7/00; G11C8/00; G06T1/00

申请人:

索尼株式会社;

发明人:

近藤哲二郎; 高桥健治; 佐藤浩; 市川勉; 铁川弘树; 半田正树

地址:

日本东京都

优先权:

2004.01.05 JP 000571/2004; 2004.01.05 JP 000572/2004; 2004.03.15 JP 073407/2004

专利代理机构:

北京市柳沈律师事务所

代理人:

邸万奎;黄小临

PDF下载: PDF下载
内容摘要

提供了一种数据存储单元,其中将所有数据存储到包含多个存储体的存储器中并且同时读取多个期望的数据,而不会给硬件带来任何负荷。它包括:包含数据存储控制器(20)、数据读取控制器30和数据移动控制器(40)的存储器控制装置,用于基于当顺序地将数据存储到存储器中并在该存储器的多个存储体之间划分该数据时、代表要同时读取的多个期望的数据的存取模式,来判断将要存储的数据是否是位于与该存取模式相对应的位置上的数据;并且当要同时读取的数据是位于与该存取模式相对应的位置上的数据时,通过增加其地址而跳过其中将要存储数据的存储体、并通过将位于与该存取模式相对应的位置上的数据存储到增加了其存储体地址的存储体中,从而将位于与存取模式相对应的位置上的所有数据存储到不同的存储体中。所述存储器控制装置提供控制以便从存储器(10)中同时读取多个期望的数据。

权利要求书

1: 一种数据存储设备,包括: 存储器,其包含多个存储体; 判断装置,用于基于当顺序地将数据存储到存储器中并在该存储器的多 个存储体之间划分该数据时、代表要同时读取的多个期望的数据的存取模 式,来判断将要存储的数据是否是位于与该存取模式相对应的位置上的数 据;和 存储器控制装置,用于当要同时读取的数据是位于与该存取模式相对应 的位置上的数据时,通过增加其地址而跳过其中将要存储数据的存储体、并 通过将位于与该存取模式相对应的位置上的数据存储到增加了其存储体地 址的存储体中,从而将位于与存取模式相对应的位置上的所有数据存储到不 同的存储体中。
2: 根据权利要求1的设备,其中所述存储器控制装置根据由存取模式 代表的多个第一地址来从存储器中同时读取多个期望的数据,通过增加存储 体地址来在代表尚未存储数据的位置的地址的第二地址上重新存储多个已 读取的数据,并且在第一地址上存储通过随后的存取而读取的多个数据。
3: 根据权利要求1的设备,其中: 正在存取的地址是由下式给出的[存储体地址 b ,字线地址 i ,位线地址 i ]:  B=(d+b-1)mod n  I=i  J=j 其中 d 是从先前的存取目的地起的像素间隔,而 n 为存储体的数目;并且 所述存储器控制装置在由目的地址[目的存储体地址B,目的字线地址I, 目的位线地址J]表示的每个存储体中的每个存储位置上重新存储数据,其中 假如B-b>0则目的位线地址J将为J=j-1,并且当位线地址返回到最后一个地 址时目的字线I将为I=i-1,并且在其它的情况下目的字线地址I将为I=i。
4: 一种数据存储控制器,其将数据存储到包含多个存储体的存储器中 并从该存储器中同时读取多个期望的数据,所述设备包括: 判断装置,用于基于当顺序地将数据存储到存储器中并在该存储器的多 个存储体之间划分该数据时、代表要同时读取的多个期望的数据的存取模 式,来判断将要存储的数据是否是位于与该存取模式相对应的位置上的数 据;和 存储器控制装置,用于当要同时读取的数据是位于与该存取模式相对应 的位置上的数据时,通过增加其地址而跳过其中将要存储数据的存储体、并 通过将位于与该存取模式相对应的位置上的数据存储到增加了其存储体地 址的存储体中,从而将位于与存取模式相对应的位置上的所有数据存储到不 同的存储体中。
5: 一种数据存储控制方法,其中将数据存储到包含多个存储体的存储 器中并且从该存储器中同时读取多个期望的数据,所述方法包括以下步骤: 基于当顺序地将数据存储到存储器中并在该存储器的多个存储体之间 划分该数据时、代表要同时读取的多个期望的数据的存取模式,来判断将要 存储的数据是否是位于与该存取模式相对应的位置上的数据;和 当要同时读取的数据是位于与该存取模式相对应的位置上的数据时,通 过增加其地址而跳过其中将要存储数据的存储体、并通过将位于与该存取模 式相对应的位置上的数据存储到增加了其存储体地址的存储体中,从而将位 于与存取模式相对应的位置上的所有数据存储到不同的存储体中。
6: 一种可由计算机执行的数据存储控制程序,用于把数据存储到包含 多个存储体的存储器中并且从该存储器中同时读取多个期望的数据,所述程 序包括以下步骤: 基于当顺序地将数据存储到存储器中并在该存储器的多个存储体之间 划分该数据时、代表要同时读取的多个期望的数据的存取模式,来判断将要 存储的数据是否是位于与该存取模式相对应的位置上的数据;和 当要同时读取的数据是位于与该存取模式相对应的位置上的数据时,通 过增加其地址而跳过其中将要存储数据的存储体、并通过将位于与该存取模 式相对应的位置上的数据存储到增加了其存储体地址的存储体中,从而将位 于与存取模式相对应的位置上的所有数据存储到不同的存储体中。
7: 一种数据存储设备,包括: 存储器,其包含多个存储体; 数据存储控制装置,用于当将数据存储到存储器中时,根据比在一条字 线上可存储的数据数量更少的数据数量的存储范围,顺序地在存储器中所包 含的存储体中的字线之间划分数据;和 数据读取控制装置,用于基于表示要同时读取的多个期望的数据的存取 模式,来识别存储器的相同存储体中的不可同时存取的不同字线上的将要同 时读取的数据,读取这样识别出的且将要从该存储体中同时读取的数据,把 所读取的数据双重存储在相同存储体中的可同时存取的位置上,并且从该存 储器中同时读取多个期望的数据。
8: 根据权利要求7的设备,其中所述数据读取控制装置包括: 双重保存数据判断装置,用于根据表示要同时读取的多个期望数据的存 取模式,来把存在于不可同时存取的存储器的相同存储体中的不同字线上的 将要同时读取的数据识别成双重保存的数据;和 数据移动控制装置,用于从存储体中读取由双重保存数据判断装置识别 出的且将要同时读取的数据,并且把该数据双重地存储在相同存储体中的可 同时存取的位置上。
9: 根据权利要求7的设备,其中所述数据移动控制装置双重地在存储 器中所包含的存储体中的指定的固定区域中存储数据。
10: 根据权利要求7的设备,其中所述数据移动控制装置把存在双重保 存的数据的原始数据的位置视作用于下一次双重存储的区域,存取该双重保 存的数据,并且把该数据返回到初始字线上。
11: 一种数据存储控制器,其将数据存储到包含多个存储体的存储器中 并且从该存储器中同时读取多个期望的数据,所述设备包括: 数据存储控制装置,用于当将数据存储到包含多个存储体的存储器中 时,根据比在一条字线上可存储的数据数量更少的数据数量的存储范围,来 在该存储器中所包含的存储体中的字线之间顺序地划分数据;以及 数据读取控制装置,用于根据表示要同时读取的多个期望的数据的存取 模式,来识别存储器的相同存储体中的不可同时存取的不同字线上的将要同 时读取的数据,读取这样识别出的且将要从该存储体中同时读取的数据,把 所读取的数据双重存储在相同存储体中的可同时存取的位置上,并且从该存 储器中同时读取多个期望的数据。
12: 一种数据存储控制方法,其中将数据存储到包含多个存储体的存储 器中并且从该存储器中同时读取多个期望的数据,所述方法包括以下步骤: 当将数据存储到包含多个存储体的存储器中时,根据比在一条字线上可 存储的数据数量更少的数据数量的存储范围,来在该存储器中所包含的存储 体中的字线之间顺序地划分数据;以及 根据表示要同时读取的多个期望的数据的存取模式,来识别存储器的相 同存储体中的不可同时存取的不同字线上的将要同时读取的数据,读取这样 识别出的且将要从该存储体中同时读取的数据,把所读取的数据双重存储在 相同存储体中的可同时存取的位置上;并且 从该存储器中同时读取多个期望的数据。
13: 一种可由计算机执行的数据存储控制程序,用于将数据存储到包含 多个存储体的存储器中并且从该存储器中同时读取多个期望的数据,所述程 序包括以下步骤: 当将数据存储到包含多个存储体的存储器中时,根据比在一条字线上可 存储的数据数量更少的数据数量的存储范围,来在该存储器中所包含的存储 体中的字线之间顺序地划分数据;以及 根据表示要同时读取的多个期望的数据的存取模式,来识别存储器的相 同存储体中的不可同时存取的不同字线上的将要同时读取的数据; 读取这样识别出的且将要从该存储体中同时读取的数据,把所读取的数 据双重存储在相同存储体中的可同时存取的位置上;并且 从该存储器中同时读取多个期望的数据。
14: 一种数据存储设备,包括: 存储器,其包含多个存储体; 重排判断装置,用于根据检测模式来判断用于要同时读取的多个期望的 数据的重排规则;和 存储器控制装置,用于控制向/从存储器的数据写入/读取, 当将数据存储到包含多个存储体的存储器中时,所述存储器控制装置依 照由重排判断装置根据判断条件判断的重排规则来确定存储模式,所述判断 条件就是参考区域应该具有尺寸 n 且要同时读取的数据的相对位置除以小于 n/2的2x(x是正整数)应该产生连续的(x-1)种余数,并且根据与要同时 读取的数据的分布相对应的存储模式来改变该存储器的每个存储体中的存 储顺序,由此将要同时读取的数据分别存储到不同的存储体中。
15: 根据权利要求14的设备,其中所述存储器控制装置进一步根据如 下判断条件来确定存储模式,所述判断条件即要同时读取的数据的相对位置 除以存储体的数目m应该产生从要同时读取的所有数据的一个到另一个变 化的余数,根据与要同时读取的数据的分布相对应的存储模式来改变该存储 器的每个存储体中的存储顺序,并把要同时读取的数据存储到不同的存储体 中。
16: 根据权利要求14的设备,其中所述存储器控制装置对于数据的一 维阵列,根据与要同时读取的数据的分布相对应的存储模式,来改变该存储 器的每个存储体中的存储顺序。
17: 根据权利要求14的设备,其中所述存储器控制装置将数据的二维 阵列划分成垂直的一维或水平的一维数据组,并且为每个数据组而改变该存 储器的每个存储体中的存储顺序。
18: 一种数据存储控制器,包括: 存储器控制装置,用于控制向/从包含多个存储体的存储器的数据写入/ 读取;和 重排判断装置,用于根据检测模式来判断用于要同时读取的多个期望的 数据的重排规则; 存储器控制装置,当将数据存储到包含多个存储体的存储器中时,所述 存储器控制装置依照由重排判断装置根据判断条件判断的重排规则来确定 存储模式,所述判断条件即参考区域应该具有尺寸 n 且要同时读取的数据的 相对位置除以小于n/2的2x(x是正整数)应该产生连续的(x-1)种余数, 并且根据与要同时读取的数据的分布相对应的存储模式来改变该存储器的 每个存储体中的存储顺序,由此将要同时读取的数据分别存储到不同的存储 体中。
19: 一种数据存储控制方法,包括以下步骤: 当将数据存储到包含多个存储体的存储器中时,依照由重排判断装置根 据判断条件判断的重排规则来确定存储模式,所述判断条件即参考区域应该 具有尺寸 n 且要同时读取的数据的相对位置除以小于n/2的2x(x是正整数) 应该产生连续的(x-1)种余数;并且 根据与要同时读取的数据的分布相对应的存储模式来改变该存储器的 每个存储体中的存储顺序,由此将要同时读取的数据分别存储到不同的存储 体中。
20: 一种可由计算机执行的数据存储控制程序,用于通过把数据重排成 能够从存储器中同时读取多个期望的数据的状态来将数据存储到包含多个 存储体的存储器中,所述程序包括以下步骤: 当将数据存储到包含多个存储体的存储器中时,依照由重排判断装置根 据判断条件判断的重排规则来确定存储模式,所述判断条件即参考区域应该 具有尺寸 n 且要同时读取的数据的相对位置除以小于n/2的2x(x是正整数) 应该产生连续的(x-1)种余数;并且 根据与要同时读取的数据的分布相对应的存储模式来改变该存储器的 每个存储体中的存储顺序,由此将要同时读取的数据分别存储到不同的存储 体中。

说明书


数据存储单元、数据存储控制设备和方法、以及程序

    【技术领域】

    本发明涉及一种能将所有数据存储到包含多个存储体的存储器中并从所述存储器中同时读取多个期望数据的数据存储单元、数据存储控制设备和方法、以及数据存储控制程序。

    背景技术

    图1示出了传统的半导体存储器MY,其包含存储单元MC、字线WL和位线BL,并被配置为使得将通过指定共同定义存储单元MC的字线WL和位线BL来对存储单元MC进行存取,并在两者都被激活的一条字线和一条位线彼此交叉的位置上从存储单元MC中读取数据。

    在按上面配置的半导体存储器中,多条字线上的数据共享同一条位线。因此,如图2所示,由于当指定不同地字线WL1和WL2时在位线上出现的数据将会被破坏,因而不能同时存取不同字线上的数据。

    此外,也可以同时从独立的存储体中读取数据。通过将存储器划分成如图3A和3B所示的存储体BK1到BKn并向各个存储体分配不同的地址,能够同时存取多条字线上的数据。然而,不能同时存取存储体中的不同字线上的数据。也就是说,能够同时读取已经从每个存储体存储到同一条字线上的数据,而不能同时读取已经存储在同一存储体中的不同字线上的任何数据。

    注意,这里提到的″存储体″是指以下这样的存储器中所包含的存储单元,所述存储器包含多条字线和多条位线并且其字线地址能受到独立控制。

    传统上,例如模式识别等等是通过识别输入数据中所包含的特定数据阵列而由图像数据构成的。

    所述半导体存储器例如包括:能存储几行图像数据并以像素为单位输出数据的缓冲存储器、包括能处理具有几位宽度的数据的多个处理器元件并且能够由所述多个处理器元件并行处理数据的数据处理器、和用以存储匹配参考数据和控制数据的控制信息存储器。数据处理器中的每个处理器元件通过用阈值对图像数据组进行二进制化来把该图像数据组转换成目标数据,其中所述图像数据组具有从缓冲存储器输出的图像数据中的大部分感兴趣的自分配像素的矩阵的形式,而所述目标数据的每一个都具有处理器元件能够处理的串行阵列的位宽度,并且判断该目标数据是否与控制信息存储器中以同样形式存在的参考数据相符(参看日本专利申请公开第2003-203236号)。

    例如,可以假设为了从左上角开始对图像中所包含的并且将同时存取的模式进行光栅扫描,相应地把存储器分成达到同时存取数目的五个存储体,借此如图4A到4F所示那样定位数据。在这种情况下,最初可以同时存取所述数据约五次。然而,当同时存取的模式都位于如图5A到5F所示的位置上时,将在存储体0中存取多条字线以致不可能同时存取。为了同时存取数据,必须把后者存储到另一个存储体中或存储到同一条字线上。通过选择适当的存储位置能够同时存取一些模式。然而,为了同时存取这类模式,必须把存储器分成若干存储体,而其中一个存储体是由仅仅一条字线构成的。

    同样,将从图像数据中提取特征或模式描述成图像数据模式识别的一个示例。可以按各种方式来进行特征提取,但是在下面作为一个简单的示例,将解释如图6所示的″T″模式的检测。

    在此,假设图像数据是存储在半导体存储器中的。为了检测图6中所示的″T″模式,从半导体存储器MY读取向其分配的六个数据D1到D6。当所读取的数据D1、D2、D3和D5都为黑色而数据D4和D6都为白色时,就能够判定所述图像数据包含空心的″T″模式。相反地,当数据D1、D2、D3和D5都为白色而数据D4和D6都为黑色时,就能够判定所述图像数据包含空心的″T″模式。

    如果不知道期望的特征或模式处于图像数据中的何处,则必须扫描整个图像数据,也就是从半导体存储器中顺序地读取必要的数据,如图7所示,以便提取期望的特征。

    同样,为了提取不同的特征,必须同时选择另一组像素数据以供读取和比较。

    由此,为了提取特征或模式,必须从半导体存储器中所存储的图像数据中同时读取符合意图的多个期望的数据。

    然而,由于半导体存储器的机理,无法从半导体存储器中同时读取记录在相同存储体中的不同字线上的数据。

    倘若例如将必要的数据D1到D3和数据D4到D6分别存储在如图8所示的相同存储体中的不同线WL1和WL2上,那么就无法同时读取数据D1到D6。

    图9A和9B分别示出了图像中和存储器中的数据分布。正如将从图9A和9B中得知的那样,在一种情况下能够从半导体存储器中同时读取特征或模式,但是在任何其它情况下则不能,这取决于参考区域的位置。

    因此,甚至不得不把常规的半导体存储器分成许多存储体。

    然而,例如当参考区域具有5×5像素尺寸时,如图10所示,存储体的所需数目就是二十五(25)。存储体数目越大,管理这样巨大数目的存储体就越难,这将增加地址线的数目和增加芯片面积,并且将导致增加的功耗或任何其它问题。

    就是说,由于必须给这类存储体分配不同的地址,因而半导体存储器将需要大容量的地址总线。

    同样,由于需要与存储体数目一样多的解码器和选择器,因而芯片面积将会更大。

    此外,多个存储体的同时操作将会导致更大的功耗。

    此外,一条字线上的数据数量越大,字线就会越长,并且存取一条字线上的数据将会占用更长的时间。

    在常规的半导体存储器中,在一个存储体中的一条字线的配置将允许数据的同时读取。然而,这种配置是不实际的,因为当必须存储非常大量的数据时,将会给硬件施加更大的负荷。

    由于这个原因,在常规的半导体存储器中,提供用以临时存储从半导体存储器中读取的数据的缓冲存储器和高速缓冲存储器,以便多次分时使用多个期望的数据,在缓冲存储器和高速缓冲存储器中临时地存储它们,然后从后者中读取数据。

    然而,当期望数据的数量较大且数据输入/输出速度较高时,将较慢地读取数据。为了解决这个问题,已经提出了提供一种缓冲存储器和高速缓冲存储器以便临时保留数据。然而即使利用这种技术,这类缓冲器和高速缓冲存储器所占的较大面积也将会导致对硬件的较大负荷。

    【发明内容】

    因此,本发明的一个目的是通过提供一种数据存储单元、数据存储控制设备和方法、以及数据存储控制程序来克服现有技术的上述缺陷,用于将存储器中的所有数据存储在包含多个存储体的存储器中,并且同时读取多个期望的数据,而不会给硬件带来任何负荷。

    本发明的另一个目的是提供一种数据存储单元、数据存储控制设备和方法、以及数据存储控制程序,其中对应于将同时读取的数据分布而选择适当的数据存储方法,以便允许从一维或二维排列的数据组中同时读取任意位置上的多个数据,而不增加任何存储体数目并且还防止数据存取之间的冲突,也就是对相同存储体中的不同字线的同时存取的冲突。

    通过对本发明实施例的下列详细说明,本发明的这些目的及其它目的、特征和优点将变得更明显。

    上述目的可以通过提供一种根据本发明的数据存储单元来实现,该数据存储单元包括:

    存储器,其包含多个存储体;

    判断装置,用于基于当顺序地将数据存储到存储器中并在该存储器的多个存储体之间划分该数据时、代表要同时读取的多个期望的数据的存取模式,来判断将要存储的数据是否是位于与该存取模式相对应的位置上的数据;和

    存储器控制装置,用于当要同时读取的数据是位于与该存取模式相对应的位置上的数据时,通过增加其地址而跳过其中将要存储数据的存储体、并通过将位于与该存取模式相对应的位置上的数据存储到增加了其存储体地址的存储体中,从而将位于与存取模式相对应的位置上的所有数据存储到不同的存储体中。

    上述目的可以通过提供一种根据本发明的数据存储控制器来实现,该数据存储控制器将数据存储到包含多个存储体的存储器中并从该存储器中同时读取多个期望的数据,所述设备包括:

    判断装置,用于基于当顺序地将数据存储到存储器中并在该存储器的多个存储体之间划分该数据时、代表要同时读取的多个期望的数据的存取模式,来判断将要存储的数据是否是位于与该存取模式相对应的位置上的数据;和

    存储器控制装置,用于当要同时读取的数据是位于与该存取模式相对应的位置上的数据时,通过增加其地址而跳过其中将要存储数据的存储体、并通过将位于与该存取模式相对应的位置上的数据存储到增加了其存储体地址的存储体中,从而将位于与存取模式相对应的位置上的所有数据存储到不同的存储体中。

    上述目的可以通过提供一种根据本发明的数据存储控制方法来实现,其中将数据存储到包含多个存储体的存储器中并且从该存储器中同时读取多个期望的数据,所述方法包括以下步骤:

    基于当顺序地将数据存储到存储器中并在该存储器的多个存储体之间划分该数据时、代表要同时读取的多个期望的数据的存取模式,来判断将要存储的数据是否是位于与该存取模式相对应的位置上的数据;和

    当要同时读取的数据是位于与该存取模式相对应的位置上的数据时,通过增加其地址而跳过其中将要存储数据的存储体、并通过将位于与该存取模式相对应的位置上的数据存储到增加了其存储体地址的存储体中,从而将位于与存取模式相对应的位置上的所有数据存储到不同的存储体中。

    上述目的可以通过提供一种根据本发明的可由计算机执行的数据存储控制程序来实现,该数据存储控制程序用于把数据存储到包含多个存储体的存储器中并且从该存储器中同时读取多个期望的数据,所述程序包括以下步骤:

    基于当顺序地将数据存储到存储器中并在该存储器的多个存储体之间划分该数据时、代表要同时读取的多个期望的数据的存取模式,来判断将要存储的数据是否是位于与该存取模式相对应的位置上的数据;和

    当要同时读取的数据是位于与该存取模式相对应的位置上的数据时,通过增加其地址而跳过其中将要存储数据的存储体、并通过将位于与该存取模式相对应的位置上的数据存储到增加了其存储体地址的存储体中,从而将位于与存取模式相对应的位置上的所有数据存储到不同的存储体中。

    上述目的可以通过提供一种根据本发明的数据存储单元来实现,该数据存储单元包括:

    存储器,其包含多个存储体;

    数据存储控制装置,用于当将数据存储到存储器中时,根据比在一条字线上可存储的数据数量更少的数据数量的存储范围,顺序地在存储器中所包含的存储体中的字线之间划分数据;和

    数据读取控制装置,用于基于表示要同时读取的多个期望的数据的存取模式,来识别存储器的相同存储体中的不可同时存取的不同字线上的将要同时读取的数据,读取这样识别出的且将要从该存储体中同时读取的数据,把所读取的数据双重存储在相同存储体中的可同时存取的位置上,并且从该存储器中同时读取多个期望的数据。

    上述目的可以通过提供一种根据本发明的数据存储控制器来实现,该数据存储控制器将数据存储到包含多个存储体的存储器中并且从该存储器中同时读取多个期望的数据,所述设备包括:

    数据存储控制装置,用于当将数据存储到包含多个存储体的存储器中时,根据比在一条字线上可存储的数据数量更少的数据数量的存储范围,来在该存储器中所包含的存储体中的字线之间顺序地划分数据;以及

    数据读取控制装置,用于根据表示要同时读取的多个期望的数据的存取模式,来识别存储器的相同存储体中的不可同时存取的不同字线上的将要同时读取的数据,读取这样识别出的且将要从该存储体中同时读取的数据,把所读取的数据双重存储在相同存储体中的可同时存取的位置上,并且从该存储器中同时读取多个期望的数据。

    上述目的可以通过提供一种根据本发明的数据存储控制方法来实现,其中将数据存储到包含多个存储体的存储器中并且从该存储器中同时读取多个期望的数据,所述方法包括以下步骤:

    当将数据存储到包含多个存储体的存储器中时,根据比在一条字线上可存储的数据数量更少的数据数量的存储范围,来在该存储器中所包含的存储体中的字线之间顺序地划分数据;以及

    根据表示要同时读取的多个期望的数据的存取模式,来识别存储器的相同存储体中的不可同时存取的不同字线上的将要同时读取的数据,读取这样识别出的且将要从该存储体中同时读取的数据,把所读取的数据双重存储在相同存储体中的可同时存取的位置上;并且

    从该存储器中同时读取多个期望的数据。

    上述目的可以通过提供一种根据本发明的可由计算机执行的数据存储控制程序来实现,该程序用于将数据存储到包含多个存储体的存储器中并且从该存储器中同时读取多个期望的数据,所述程序包括以下步骤:

    当将数据存储到包含多个存储体的存储器中时,根据比在一条字线上可存储的数据数量更少的数据数量的存储范围,来在该存储器中所包含的存储体中的字线之间顺序地划分数据;以及

    根据表示要同时读取的多个期望的数据的存取模式,来识别存储器的相同存储体中的不可同时存取的不同字线上的将要同时读取的数据;

    读取这样识别出的且将要从该存储体中同时读取的数据,把所读取的数据双重存储在相同存储体中的可同时存取的位置上;并且

    从该存储器中同时读取多个期望的数据。

    上述目的可以通过提供一种根据本发明的数据存储单元来实现,该数据存储单元包括:

    存储器,其包含多个存储体;

    重排判断装置,用于根据检测模式来判断用于要同时读取的多个期望的数据的重排规则;和

    存储器控制装置,用于控制向/从存储器的数据写入/读取,

    当将数据存储到包含多个存储体的存储器中时,所述存储器控制装置依照由重排判断装置根据判断条件判断的重排规则来确定存储模式,所述判断条件就是参考区域应该具有尺寸n且要同时读取的数据的相对位置除以小于n/2的2x(x是正整数)应该产生连续的(x-1)种余数,并且根据与要同时读取的数据的分布相对应的存储模式来改变该存储器的每个存储体中的存储顺序,由此将要同时读取的数据分别存储到不同的存储体中。

    上述目的可以通过提供一种根据本发明的数据存储控制器来实现,该数据存储控制器包括:

    存储器控制装置,用于控制向/从包含多个存储体的存储器的数据写入/读取;和

    重排判断装置,用于根据检测模式来判断用于要同时读取的多个期望的数据的重排规则;

    存储器控制装置,当将数据存储到包含多个存储体的存储器中时,所述存储器控制装置依照由重排判断装置根据判断条件判断的重排规则来确定存储模式,所述判断条件即参考区域应该具有尺寸n且要同时读取的数据的相对位置除以小于n/2的2x(x是正整数)应该产生连续的(x-1)种余数,并且根据与要同时读取的数据的分布相对应的存储模式来改变该存储器的每个存储体中的存储顺序,由此将要同时读取的数据分别存储到不同的存储体中。

    上述目的还可以通过提供一种根据本发明的数据存储控制方法来实现,该方法包括以下步骤:

    当将数据存储到包含多个存储体的存储器中时,依照由重排判断装置根据判断条件判断的重排规则来确定存储模式,所述判断条件即参考区域应该具有尺寸n且要同时读取的数据的相对位置除以小于n/2的2x(x是正整数)应该产生连续的(x-1)种余数;并且

    根据与要同时读取的数据的分布相对应的存储模式来改变该存储器的每个存储体中的存储顺序,由此将要同时读取的数据分别存储到不同的存储体中。

    上述目的还可以通过提供一种根据本发明的可由计算机执行的数据存储控制程序来实现,该程序用于通过把数据重排成能够从存储器中同时读取多个期望的数据的状态来将数据存储到包含多个存储体的存储器中,所述程序包括以下步骤:

    当将数据存储到包含多个存储体的存储器中时,依照由重排判断装置根据判断条件判断的重排规则来确定存储模式,所述判断条件即参考区域应该具有尺寸n且要同时读取的数据的相对位置除以小于n/2的2x(x是正整数)应该产生连续的(x-1)种余数;并且

    根据与要同时读取的数据的分布相对应的存储模式来改变该存储器的每个存储体中的存储顺序,由此将要同时读取的数据分别存储到不同的存储体中。

    【附图说明】

    图1是常规半导体存储器的配置的示意图;

    图2是半导体存储器状态的示意图,其中不能同时存取数据;

    图3A和3B示出了包含多个存储体的存储器配置;

    图4A到4F示意性地图示了半导体存储器中的数据存储状态,其中图像包括对应于将同时存取的多个像素的模式,并且从左上部开始对这些模式进行光栅扫描;

    图5A到5F示意性地图示了半导体存储器的状态,其中不可能同时存取;

    图6是作为图像数据的模式识别的一个示例,而在图像数据中检测出的″T″模式的示意图;

    图7是半导体存储器状态的示意图,其中对所有图像数据进行扫描,以便在不知道目标特征或模式处于图像数据中的何处的情况下提取期望的特征或模式;

    图8是半导体存储器状态的示意图,其中数据是存储在相同存储体中所包含的不同字线上的,并且不能从所述不同字线上同时读取数据;

    图9A和9B分别示意性地图示了图像和存储器中的数据分布,其中即使将要提取的相同特征或模式也无法依据其在参考区域中的位置而从半导体存储器中同时读取出来;

    图10是半导体存储器状态的示意图,其中通过增加存储体数目使得同时存取成为可能,以便可以同时存取参考区域内部;

    图11是根据本发明的数据存储单元的一个实施例的方框图;

    图12也是图11中的数据存储单元中所包含的数据存储控制器的方框图;

    图13是图11中的数据存储单元中所包含的数据读取控制器的方框图;

    图14也是图11中的数据存储单元中的数据移动控制器的方框图;

    图15是图像中所包含的模式集的示例的示意图,并且所述模式集对应于将同时存取的多个像素;

    图16A到16F示意性地图示了数据存储单元的状态,其中从图像的左上部开始分别将像素顺序地存储到存储体中,同时增加存储体的地址;

    图17A到17F示意性地图示了数据存储单元的状态,其中在将存取的位置上增加存储体地址;

    图18A到18F示意性地图示了数据存储单元的状态,其中没有数据处于由于存储体地址增加而跳过的存储体之中;

    图19示出了将数据存储到每个存储体中的操作的流程图;

    图20A到20F示意性地图示了数据存储单元的状态,其中初始执行多次同时存取;

    图21A到21F示意性地图示了数据存储单元的状态,其中以光栅扫描的形式存取相邻像素;

    图22解释了为了数据的重新存储而确定将被存取的目的地址;

    图23A到23F示意性地图示了数据存储单元的状态,其中数据被重新存储;

    图24示出了在存取和重新存储数据过程中进行的操作的流程图;

    图25是要被同时存取的模式集的示例的示意图;

    图26A到26F示意性地图示了数据存储单元的状态,其中将为垂直线存储的数据存储到一条字线上,以便将周期性地呈现在相同存储体中存储的垂直线;

    图27A和27B示意性地图示了在要存取的位置上的水平像素间隔;

    图28A和28B示意性地图示了不可同时存取的像素;

    图29A和29B示意性地图示了通过计算水平像素间隔而确定的像素的双重保存(double save);

    图30A到30F示意性地图示了数据存储单元的状态,其中要双重保存的像素被读取;

    图31A到31F示意性地图示了双重保存的基本示例;

    图32A到32F示意性地图示了通过双重保存可同时进行存取的像素;

    图33A到33F示意性地图示了数据存储单元的状态,其中双重地保存水平线上的像素;

    图34示出了在双重保存水平线上的像素的过程中进行的操作的流程图;

    图35A到35F示意性地图示了管理方法,在所述方法中像素将被双重保存的区域是固定的;

    图36A到36F示意性地图示了管理方法,在所述方法中把双重保存的数据的原始数据曾经所处的区域作为用于下一次双重保存的区域;

    图37A到37F示意性地图示了这样的状态,在所述状态下在存取双重保存的数据之后已经把数据返回给初始字线,以便与存储其它数据的位置保持关系;

    图38是根据本发明的数据存储单元的另一个实施例的方框图;

    图39也是图38中的数据存储单元中所包含的数据存储控制器的方框图;

    图40是图38中的数据存储单元中所包含的存储器地址生成器的方框图;

    图41示出了在图39中的数据存储控制器中的数据存储过程中进行的操作流程;

    图42也是图38中的数据存储单元中所包含的数据读取控制器的方框图;

    图43是图42中的数据读取控制器中所包含的不可同时存取位置检测器的方框图;

    图44也是图42中的数据读取控制器中所包含的双重保存数据判断单元的方框图;

    图45是图42中的数据读取控制器中所包含的读取地址生成器的方框图;

    图46也是图38中的数据存储单元中所包含的数据移动控制器的方框图;

    图47示出了在数据存储单元中、在图42中的数据读取控制器和图46中的数据移动控制器中实施的数据读取和双重保存过程中进行的操作流程;

    图48是根据本发明的数据存储单元的又一个实施例的方框图;

    图49A到49C示意性地图示了假设水平地列出参考数据,当参考区域的尺寸为″4″、要同时读取的像素数据的数量为″2″并且存储器中的存储体的数目为″2″时的存储数据的方法;

    图50A到50C示意性地图示了假设交替地列出参考数据,当参考区域的尺寸为″4″、要同时读取像素数据的数量为″2″并且存储器中的存储体的数目为″2″时的存储数据的方法;

    图51是假设参考区域的尺寸为″8″、参考数据的数量为″3″并且存储体的数目为″4″时的存储数据的方法的示意图;

    图52示出了在把图像数据存储到数据存储单元中的存储器的过程中进行的操作流程;

    图53是根据图像数据存储过程中的条件1来进行判断的示意性说明;

    图54是根据图像数据存储过程中的条件2来进行判断的示意性说明;

    图55是根据图像数据存储过程中的条件3来进行判断的示意性说明;

    图56示出了在从数据存储单元中的存储器中读取图像数据的过程中进行的操作流程;

    图57A到57C示意性地图示了存储二维分布的数据的方法;和

    图58A到58C共同解释说明了这样的规则,根据所述规则来为每次数据存储选择目的存储体。

    【具体实施方式】

    下面,将参照附图、针对本发明的某些优选实施例作为示例,来详细描述本发明。然而,本领域的普通技术人员应该理解的是,本发明不限于所述实施例,而在不背离所附权利要求所阐述和定义的范围和精神的情况下,能够进行各种方式的修改、替换构造或以各种其它形式实施。

    下面将针对数据存储单元的一个实施例来详细描述本发明,总体上例如用如图11所示的参考标记100来表示。

    所述数据存储单元100包括:由多个存储体组成的存储器10、用于把数据存储到存储器10中的数据存储控制器20、用于从存储器10中读取数据的数据读取控制器30、和用于控制存储器10中的数据的移动的数据移动控制器40。把要存储的数据提供给存储器10和数据存储控制器20,而把代表要同时读取的多个数据的存取模式提供给数据存储控制器20、数据读取控制器30和数据移动控制器40。

    如图12所示,数据存储单元100中的数据存储控制器20包括:用于计数输入数据的计数器21、用于判断从计数器21输出的计数以及存取模式是否互相符合的符合判断单元22、用于生成与从符合判断单元22输出的判断对应的标志的标志生成器23、用于对标志生成器23所生成的标志进行计数的偏移量计数器24、随着来自计数器21的输出而递增的存储体地址计数器25、随着来自存储体地址计数器25的输出而递增的位线地址计数器26、随着来自位线地址计数器26的输出而递增的字线地址计数器27、以及用于根据来自计数器25、26和27的输出来生成存储地址的地址生成器28。将来自偏移量计数器24的输出作为偏移量值提供给存储体地址计数器25和位线地址计数器26。

    如图13所示,所述数据读取控制器30包括:用于从存取模式中提取起始地址的起始地址提取单元31、数据读取计数器32、随着来自计数器32的输出而递增的存储体地址计数器33、随着来自存储体地址计数器33的输出而递增的位线地址计数器34、随着来自位线地址计数器34的输出而递增的字线地址计数器35、以及用于根据来自地址计数器33、34和35的输出来生成存储地址的地址生成器36。从起始地址提取单元31向地址计数器33、34和35提供起始地址。

    提供数据移动控制器40,以便输出与数据读取控制器30所生成的读取地址相对应地从存储器10中读取的数据,并且控制将数据作为要移动的数据而存储到存储器10中。如图14所示,数据移动控制器40包括:用于根据存取模式而计算模式之间的间距的模式间间距计算器41、和用于基于模式间间距计算器41计算出的模式之间的间距、根据数据读取控制器30所生成的读取地址来生成目的地址的目的地址计算器42。

    在按上面配置的数据存储单元100中,可以通过将存储器划分成多个存储体并分别把供存储的多个数据定位和重新存储到不同的存储体中,来以特定模式同时存取图像上的多个数据。

    首先,将描述把数据定位到这样配置的数据存储单元100中的每个存储体当中。

    在此,可以例如假设一幅图像包括与要同时存取的多个像素相对应的模式,并且如图15所示,从左上部开始对这些模式进行光栅扫描。与要同时存取的多个像素相对应的存取模式不限于图15中所示的例子。

    当从图像的左上部开始一个接一个地将像素存储到存储体中时,例如,如图16A到16F所示,所述数据存储控制器20递增存储体地址以便为一个像素的存储而一个接一个地选择存储体,在存储体1之后选择存储体2、在存储体2之后选择存储体3、......。当到达最后一个存储体时,再次将数据存储到存储体1中。应当注意的是,图16A中的数字中的每一个都表示在其上要存储数据的存储体地址,也就是目的存储体地址。

    注意,在此可以假设:水平线的右端邻接于下一条下部水平线的左端。

    上述存储器10的每个存储体都具有字线地址和位线地址。每当把数据存储在一个存储体中时,所述数据存储控制器20都将递增那个存储体的位线地址。当到达位线地址的末尾时,所述数据存储控制器20将增加字线地址。

    如图17A到17F所示,当到达要存取的位置时,所述数据存储控制器20将把存储体地址设置为偏移量计数器24中的值。

    数据存储控制器20中的偏移量计数器24对所存取的位置进行计数。偏移量计数器24中的计数表示所存取的位置是在顺序中的哪处。

    为了将数据存储到与其它存取位置不同的位置上的存储体中,所述数据存储控制器20控制偏移量计数器24以便为那个存储体设置存储体地址计数器25中的偏移量值。所述数据存储控制器20跳过具有为其自身而在存储体地址计数器25中这样设置的偏移量值的存储体,并且递增跳过的存储体中的字线地址,且将后者当作具有其中所存储的数据。

    如图8A到8F所示,通过为每个存储体设置存储体地址计数器25中的偏移量值,如上所述那样将数据存储到存储体中将会导致所跳过的存储体中的空白。

    在此应注意数据是按照在图19的流程图中描述的那样被存储到存储体中的。应当注意的是,所形成的存储体与要同时存取的像素一样多。

    更具体而言,当给数据存储单元100提供要存储的数据时(在步骤S1中),数据存储控制器20将控制符合判断单元22以判断数据的目的地是否是可存取的地址(在步骤S2中)。如果判断结果为否定的(否),则数据存储控制器20将控制存储器10在当前的写入地址上存储数据(在步骤S3中)并且转到下一步骤S8。

    如果在步骤S2中的判断结果为肯定的(是),也就是说,假若数据目的地是可存取的地址,则数据存储控制器20将控制偏移量计数器24以设置存储体地址计数器24中的偏移量值(在步骤S4中),递增偏移量计数器25(在步骤S5中),并然后在存储器10中的当前写入地址上存储数据(在步骤S6中)。

    接下来,所述数据存储计数器20将增加跳过的存储体中的位线地址(在步骤S7中),并然后增加存储数据的存储体中的位线地址(在步骤S8中)。

    此外,所述数据存储控制器20判断是否已经存储了所有的数据(在步骤S9中)。

    如果在步骤S9中的判断结果为否定的(否),则数据存储控制器20将判断位线地址是否已经返回到初始的地址(在步骤S10中)。如果这一判断结果为否定的(否),所述数据存储控制器20将转到步骤S12。如果判断结果为肯定的(是),则所述数据存储控制器20将增加字线地址(在步骤S11中),并且还增加存储体地址(在步骤S12中),然后返回到步骤S1,在该步骤中它将重复步骤S1到S12中的操作以存储所有数据直到步骤S9中的判断结果为肯定的(是)为止。然后,所述数据存储控制器20将退出数据存储的过程。

    接下来,将描述数据的存取和重新存储方法。

    如图20A到20F所示,通过最初把[0,0,0]、[1,0,5]、[2,0,9]、[3,1,0]和[4,1,4]指定为要同时存取的地址(存储体地址、字线地址和位线地址),由于数据是存储在数据存储单元100中的不同存储体中的,因而能够同时存取这些地址。

    为了通过光栅扫描来存取相邻像素,由于在每个存储体中存储了一个像素,因而应当按图21A到21F中所示的那样将存储体地址增加一。一旦存储体地址返回到初始地址,则将位线地址增加一。一旦位线地址返回到初始地址时,则将字线地址增加一。

    取消在存储体地址计数器25中已经为要存取的位置而设置的偏移量值,以便能够总是存取像素。取消在存储体地址计数器25中曾经为一个位置而设置的偏移量值意味着:当没有任何位置将被存取时、在其中必须要存储数据的位置上重新存储数据,也就是将其重新存储到通过为那个存储体设置存储体地址计数器25中的偏移量值而跳过的存储体中。由于在数据存储时已经增加了位线地址,且将通过为存储体设置存储体地址计数器25中的偏移量值而跳过的存储器视为其中存储有数据,因此在那个地址上没有存储任何东西。

    因此,能够在那个地址上重新存储数据。

    可以根据目前正在存取的地址与空间上位于前面的地址之间的像素间隔以及存储体总数来确定要重新存储数据的目的地。

    更具体而言,当把目前正在存取的地址视作[存储体地址b,字线地址i,位线地址j]时,自先前存取目的地起的像素间隔是d,而存储体数目是n,如图22所示,由下列公式(1)给出目的地存储体地址B:

    B=(d+b-1)mod n...........................(1)

    目的地字线地址I和目的地位线地址J如下:

    I=i,而J=j

    然而,由于目的地存储体地址B在它将小于b的方向上移动,当B-b>0时,目的地位线地址J将为I=j-1。同样,当位线地址已经回到最后一个地址时,目的地字线地址I将为I=i-1。在其它的情况下,目的地字线地址I将为I=i。

    如图23A到23F所示,通过将地址[1,0,5]的数据移动到地址[0,0,5]上、将地址[2,0,9]的数据移动到地址[1,0,9]上、将地址[3,1,0]的数据移动到地址[1,1,0]上、将地址[4,1,4]的数据移动到地址[0,1,4]上,来重新存储所述数据。

    在数据存储单元100中,按照图24的流程图中所示的程序来存取并重新存储数据。

    所述数据读取控制器30首先在要存取的第一位置上设置读取地址[b,i,j](在步骤S21中),并且所述数据移动控制器40控制模式间间距计算器41以便确定在要存取的位置上的像素间隔d(在步骤S22中)。

    接下来,所述数据读取控制器30从存储器10中读出读取地址[b,i,j]处的数据(在步骤S23中),并且所述数据移动控制器40控制目的地址计算器42以便利用上述公式(1)从读取地址[b,i,j]计算出目的地址(B,I,J)(在步骤S24中)。

    此外,目的地址计算器42判断目的存储体地址B是否大于读取存储体地址b(在步骤S25中)。如果判断结果为肯定的(是),则将目的地线地址J设置为J=j-1(在步骤S26中)。如果在步骤S25中的判断结果为否定的(否),则将目的位线地址J设置为J=j(在步骤S27中)。

    此外,目的地址计算器42判断目的位线地址J是否已返回到最后一个地址(在步骤S28中)。如果判断结果为肯定的(是),则将目的字线地址I设置为I=i-1(在步骤S29中)。如果在步骤S28中的判断结果为否定的(否),则将目的字线地址I设置为I=i(在步骤S30中)。

    然后,所述数据移动控制器40将在存储器10中的目的地址[B,I,J]处写入从存储器10中读取的读取地址[b,i,j]上的数据(在步骤S31中)。

    当数据移动控制器40已经如上所示移动存储器10中的一个要存取的位置处的数据时,所述数据读取控制器30将判断是否已经输入所有的像素(在步骤S32中)。

    如果在步骤S32中的判断结果为否定的(否),则所述数据读取控制器30将增加读取地址[b,i,j]中的存储体地址[b](在步骤S33中),以判断该存储体地址[b]是否已经返回到初始地址(在步骤S34中)。

    如果在步骤S34中的判断结果为否定的(否),则所述数据读取控制器30将转到步骤S36。如果在步骤S34中的判断结果为肯定的(是),则所述数据读取控制器30将增加读取地址[b,i,j]中的位线地址[j](在步骤S35中)并且判断该位线地址[j]是否已经返回到初始地址(在步骤S36中)。

    如果在步骤S36中的判断结果是否定的(否),则所述数据读取控制器30将返回到步骤S23。如果在步骤S36中的判断结果为肯定的(是),则所述数据读取控制器30将增加存储体地址[b,i,j]中的字线地址[i](在步骤S37中),并且返回到步骤S23,在该步骤中它将重复步骤S23到S37中的操作以便顺序地读取在要存取的位置上的数据,在存储器10中移动它们直到步骤S32中的判断结果为肯定的(是)为止。然后,所述数据读取控制器30将退出数据存取和重新存储的过程。

    注意,由于存储体地址的增加将因偏移量取消而允许同时存取,因此没有必要保留所存储的重新存储目的地的地址。

    注意,在数据存储单元100中,数据存储控制器20、数据读取控制器30和数据移动控制器40例如都可以由微处理器形成,以便根据程序存储器(未示出)中所存储的数据存储控制程序来控制所有数据的存储、多个数据的同时读取和数据重新存储。

    接下来,将针对本发明的另一个实施例来详细描述本发明。

    在下面将要讨论的这个实施例中,可以通过在不同的地址处双重保存数据来同时存取多个数据,所述数据通常因存储器配置而不能被同时存取。

    首先,将解释在不同的地址处双重保存通常不能被同时存取的数据。

    在此,可以假设:从图25所示的左上部开始对与要同时存取的像素1到5相对应的模式进行水平光栅扫描。

    如图26A到26F所示,当为要存储的垂直线把数据存储到一条字线上使得周期性地呈现存储在相同存储体中的垂直线时,不得不存取相同存储体中的不同字线,使得彼此水平相隔那个周期的像素不是可同时存取的。

    在图26A中,所述数字表示存储体地址,而粗线框表示要同时存取的模式。在这个示例中,存储体总计五个,并且相同存储体中所存储的垂直线在每隔四个存储体处周期性地出现。

    随着光栅扫描的进行,要存取的位置水平地偏移,而模式本身不会偏移。通过在如图27A和27B所示的要存取的位置上计算水平像素间的间隔,就可能根据要存储数据的存储体的周期而知道不能同时存取哪些像素,如图28A和28B所示。

    更具体而言,在要存取的位置上的水平像素间的间隔按如下来计算:

    像素1和2之间的水平间隔D[1-2]:″3″

    像素1和3之间的水平间隔D[1-3]:″1″

    像素1和4之间的水平间隔D[1-4]:″5″

    像素1和5之间的水平间隔D[1-5]:″0″

    像素2和3之间的水平间隔D[2-3]:″2″

    像素2和4之间的水平间隔D[2-4]:″2″

    像素2和5之间的水平间隔D[2-5]:″3″

    像素3和4之间的水平间隔D[3-4]:″4″

    像素3和5之间的水平间隔D[3-5]:″1″

    像素4和5之间的水平间隔D[4-5]:″5″

    由于存储体周期是″5″,因而就会知道无法同时存取水平间隔是″5″的像素1和4以及像素4和5。

    当知道任何像素都是不可同时存取的时候,随着光栅扫描的进行而分别存取可存取的像素并把它们双重地保存到其它地址中。

    由于期望应该分别在其它地址处预先读取和写入不可同时存取的像素,因此正如图29A和29B中每一个带双圆的像素所表示的那样位于左侧的像素1和5就应该是不可同时存取的那些像素。

    由此,可以在其它地址上预先读取和写入要双重存储的像素。也就是说,当要同时存取的模式都位于如图30A到30F所示的位置上时,能够在其它地址上读取和写入要双重保存的像素。

    由于只要可能就可以在其它地址上读取和写入要双重保存的像素,因此不必在位于模式右侧的像素处开始读取。

    当将图像中垂直像素的数目视为H时,写入地址就是第(H+1)条字线,在其中要写入的像素也将被读取。

    对于N个像素的双重保存来说,需要包含第(H+1)条到第(H+N)条字线的区域。

    假如存在十个垂直像素并且两个像素将如图31A到31F所示那样被双重保存,则将在一条字线上的第十一个和第十二个地址上双重保存所述像素。在图36A到36F所示的示例中,位于存储体0中的第一条字线上的第一和第四地址处的像素将在存储体0中的第二条字线上的第十一和第十二地址上被双重保存。

    通过在不同的地址上、以要同时存取的模式来对不能同时存取的像素进行双重保存,如图32A到32F所示,由于能够存取位于双重保存目的地上的数据,因而这些像素将是可同时存取的。随着光栅扫描水平地扫过模式,将如图33A到33F所示那样通过对无法同时存取的像素进行双重保存来双重保存水平线上的像素,同时对所述像素进行同时存取。

    无法同时存取的像素的双重保存将按照下面参照图34的流程图所讨论的那样来进行。

    首先,计算模式中的像素之间的水平间隔(在步骤S41中)。

    接下来,根据存储体周期来确定无法同时存取的像素(在步骤S42中)。

    然后,确定要双重保存的像素(在步骤S43中)。

    此外,读取要双重保存的模式和像素(在步骤S44中)。

    然后,双重地保存要双重保存的像素(在步骤S45中)。

    然后,判断是否已经读取了所有的数据(在步骤S46中)。如果判断结果为否定的(否),也就是如果还有要读取的数据,则所述过程就返回到步骤S44,在此将重复步骤S44到S46直到步骤S46中的判断结果为肯定的(是)为止。然后,所述过程结束。

    接下来,将解释双重保存数据的区域的管理。以两种方式来管理数据保存区域。也就是说,如图35A到35F所示那样用于数据的双重保存的区域是固定的,并且如图36A到36F所示那样把原始数据所处的区域视为下一个双重保存区域。

    假如双重保存区域是固定的,则总是把不可同时存取的像素写入那个区域并且从那里读取。由此,将频繁地存取双重存取区域。假如把双重保存的数据的原始数据所处的区域作为下一个双重保存区域,则就将双重保存目的地从一个地方轮换到另一个地方以便将几乎平均地存取所述这些目的地。然而,在这种情况下,在存取双重保存的数据之后,必须将数据返回到如图37A到37F所示的原始字线,以便与存储其它数据的位置保持关系。

    用于数据存储的存储体周期可以是固定的或可变的。

    假如存储体周期是固定的,则视情况而无法根据它们的模式同时存取更多的像素。在这种情况下,更多区域是双重保存所必需的。

    同样,假如存储体周期是可变的,根据像素模式中的水平像素间间隔来确定无法同时存取最少像素的周期,并且可以在每个周期内将数据存储到存储体中。可以根据双重保存需要多少区域或者根据预定的应用而选择固定周期或可变周期。

    接下来,例如由如图38所示那样配置的数据存储单元200来完成对多个数据的同时存取。

    如图所示,所述数据存储单元200包括:包含多个存储体的存储器50、用于将数据写入到存储器50中的数据存储控制器60、用于从存储器50中读取数据的数据读取控制器70、以及用于控制存储器50中的数据的移动的数据移动控制器80。要存储的数据将被提供给存储器50和数据存储控制器60,并且代表要同时读取的多个数据的存取模式将被提供给数据读取控制器70。

    如图39所示,数据存储单元200中的数据存储控制器60包括:用于对所提供的数据进行计数的计数器61、和用于对应于从计数器61输出的计数来生成写入地址的写入地址生成器62。

    如图40所示,写入地址生成器62包括:存储体地址计数器62A,其随着来自计数器61的输出而递增;字线地址计数器62B,其随着来自存储体地址计数器62A的输出而递增;位线地址计数器62C,其随着来自字线地址计数器62B的输出而递增;和地址生成器62D,用于根据来自计数器62A、62B和62C的输出生成写入地址。

    在这个数据存储单元200中,按上面配置的数据存储控制器60按照图41的流程图中的过程,顺序地把所有数据存储到存储器50的存储体中的字线上,并在字线之间分配该数据。字线上的每一数据存储范围限于比可在一条字线上存储的数据更少的数据。

    更具体而言,当将用于数据存储的控制信号提供给数据存储单元200时,使所述数据存储控制器60开始工作。首先,它将初始化计数器61和写入地址生成器62(在步骤S51中)。接受到输入数据后(在步骤S52中),所述数据存储控制器60递增计数器61(在步骤S53中),并根据从写入地址生成器62提供的写入地址而将数据存储到存储器50中(在步骤S54中)。

    然后,所述数据存储控制器60判断其周期是来自存储体地址计数器62A的存储体数目的存储体地址是否已经返回到初始地址(在步骤S55中)。如果在步骤S55中的判断结果为否定的(否),则所述数据存储控制器60就前进至步骤S59。如果在步骤S55中的判断结果为肯定的(是),也就是如果存储体地址已经返回到初始地址,则所述数据存储控制器60就递增字线地址计数器62B(在步骤S56中)。

    然后,所述数据存储控制器60判断其周期是来自字线计数器62B的字线数目的字线地址是否已经返回到初始地址(在步骤S57中)。如果在步骤S57中的判断结果为否定的(否),则所述数据存储控制器60就前进至步骤S59。如果在步骤S57中的判断结果为肯定的(是),也就是说,如果字线地址已经返回到初始地址,则所述数据存储控制器60就递增位线地址计数器62C(在步骤S58中)。

    此外,在步骤S59中,所述数据存储控制器60判断从计数器61输出的计数是否等于要存储到存储器50中的数据总数。如果判断结果为否定的(否),则所述数据存储控制器60就返回到步骤S52,在此将重复步骤S52到S59以把数据存储到存储器50中。如果在步骤S59中的判断结果为肯定的(是),则所述数据存储控制器60就将退出数据存储处理。

    如图42所示,数据存储单元200中的数据读取控制器70包括:不可同时存取位置检测器71、双重保存数据判断单元72和读取地址生成器73。将存取模式提供给该不可同时存取位置检测器71和读取地址生成器73,此外也给所述不可同时存取位置检测器71和读取地址生成器73提供来自数据移动控制器80的目的地址。

    如图43所示,不可同时存取位置检测器71包括水平位置差计算器71A和不可同时存取的位置提取单元71B。将不可同时存取位置检测器71配置成能控制水平位置差计算器71A以根据存取模式来计算水平位置差,并且控制所述不可同时存取的位置提取单元71B根据来自水平位置差计算器71A的水平位置差来提取存取模式中的不可同时存取的位置。

    如图44所示,该双重保存数据判断单元72包括:水平位置比较器72A和双重保存数据位置判断单元72B,给它们提供由不可同时存取位置检测器71检测出的不可同时存取的位置。将双重保存数据判断单元72配置成能根据从水平位置比较器72A输出的比较结果来控制双重保存数据位置判断单元72B将位于左侧的不可同时存取的位置视作双重保存的数据位置。

    如图45所示,所述读取地址生成器73还包括:计数器73A、偏移量计算器73B、偏移量加法器73C和地址计算器73D,给它们提供来自双重保存数据位置判断单元72的双重保存的数据位置,还包括地址偏移处理器73E,给它提供来自数据移动控制器80的目的地址。利用提供到偏移量计算器73B和地址计算器73D的存取模式,所述读取地址生成器73将控制地址计算器73D经由地址偏移处理器73E基于存取模式、双重保存数据位置和来自偏移量加法器73C的输出而输出由来自计数器73A的输出而生成的读取地址。

    如图46所示,数据存储单元200中的数据移动控制器80包括:待移动数据选择器81、目的地址生成器82和目的地址管理器83。把从存储器50中读取的数据提供给待移动数据选择器81,并且把读取地址生成器73所生成的地址提供给待移动数据选择器81和目的地址生成器82。

    待移动数据选择器81输出从存储器50中读取的数据,从输出的数据中选择要双重保存的数据作为待移动的数据,并且把所述数据提供给存储器50。

    同样,目的地址生成器82生成将根据读取地址生成器73所生成的读取地址来存储待移动数据的目的地址,并且把所述目的地址提供给存储器50。由提供有目的地址的目的地址管理器83来管理目的地址生成器72所生成的目的地址。

    在数据存储单元200中,按上面配置的数据读取控制器70和数据移动控制器80根据图47的流程图中所示的过程从存储器50中读取数据并将该数据双重地保存起来。

    当给数据存储单元200提供用于数据读取的控制信号时,使所述数据读取控制器70和数据移动控制器80开始工作。一旦接受到存取模式(在步骤S61中),所述数据读取控制器70就控制不可同时存取位置检测器71以计算水平位置差(在步骤S62中),并检测不可同时存取的位置(在步骤S63中),并且控制双重保存数据判断单元72以确定双重保存的数据位置(在步骤S64中)。

    然后,所述数据读取控制器70初始化读取地址生成器73中的计数器73A(在步骤S65中),递增计数器73A(在步骤S66中),生成数据读取地址(在步骤S67中)并且根据数据读取地址从存储器50中读取数据(在步骤S68中)。

    接下来,所述数据移动控制器80选择待移动的数据(在步骤S69中)并且在存储器50中的目的地址上存储所述数据(在步骤S70中)。

    此外,所述数据读取控制器70判断是否已经存取了所有的数据(在步骤S71中)。如果判断结果为否定的(否),所述数据读取控制器70将更新目的地址(在步骤S72中)并且返回到步骤S66,在此将重复步骤S66到S71直到步骤S71中的判断结果为肯定的(是)为止。然后,所述数据读取控制器70将退出数据读取和双重存储处理。

    注意,在数据存储单元200中,数据存储控制器60、数据读取控制器70和数据移动控制器80例如可以由微处理器构成,并且数据存储、同时读取和双重存储都可以根据程序存储器(未示出)中所存储的数据存储控制程序来进行。

    此外,将针对本发明的又一个实施例来详细描述本发明。

    例如,将这个实施例应用于如图48所示的数据存储单元300。

    所述数据存储单元300包括:由多个存储体形成的半导体存储器310、连接于包含多个存储体的半导体存储器310的存储器控制器320、以及连接于存储器控制器320的地址生成器330、重排判断单元340和混洗(shuffling)模式存储单元350。

    在这个数据存储单元300中,将图像数据提供给存储器控制器310,并将指定图像数据中所包含的目标数据模式的检测模式提供给存储器控制器320和重排判断单元340。

    所述地址生成器330生成与图像中的地址相对应的逻辑地址,并把它提供给存储器控制器320。

    同样,所述重排判断单元340判断关于所提供的检测模式的数据重排,并把重排规则提供给混洗模式存储单元350。

    此外,所述混洗模式存储单元350根据从重排判断单元320中提供的重排规则来把重排模式提供给存储器控制器310。

    所述存储器控制器320根据从混洗模式存储单元350中提供的重排模式来对图像数据进行重排,把重排后的图像数据写入到半导体存储器310中,并根据重排模式将从地址生成器330提供的逻辑地址转换成用于半导体存储器310的物理地址,由此从半导体存储器310中同时读取多个数据。

    在这个数据存储单元300中,所述存储器控制器320通过根据要从半导体存储器310中同时读取的多个图像数据的分布预先改变数据写入半导体存储器310的方法,使得根据从混洗模式存储单元350提供的重排模式而从半导体存储器310中读取多个数据成为可能。

    在这个数据存储单元300中,通过根据要从半导体存储器310中同时读取的多个像素数据预先改变写入半导体存储器310的方法,能够同时读取多个像素数据。能够不依赖于参考区域的位置而同时读取多个像素数据。

    下面将描述这个数据存储单元300中的数据存储的方法。

    为了更透彻的理解,这里可以假设图像数据处于一维阵列中,并且从该一维阵列中同时读取多个像素数据。在解释从二维阵列中同时读取多个像素数据之后,将解释从一维阵列中同时读取多个像素数据。

    图49A到49C以及图50A到50C示出了这样一种数据存储的方法,在该方法中假定参考区域REF的尺寸为″4″,要同时读取的像素数据的数目为″2″,而存储体的数目为″2″。

    假如如图49A所示那样两个参考数据DA和DB彼此水平并列,则就按照存储体号码[1]和[2]的次序存储图像数据,也就是如图49B所示那样交替地存储到每个存储体中。由此,总是不依赖于参考区域REF的位置,而将两个参考数据DA和DB分别存储到不同的存储体中。因此,能够如图49C所示那样同时读取两个参考数据DA和DB。

    假如如图50A所示那样交替地放置两个参考数据DA和DB,则按照存储体号码[1]、[1]、[2]和[2]的次序存储图像数据,也就是如图50B所示那样两次交替地存储到各个存储体中。由此,能够同时读取两个参考数据DA和DB。即使如图50C所示那样转移参考区域REF,也能够像在图49A到49C中那样同时读取图像数据。

    常规来讲,上述数据读取需要四个存储体,但是本发明允许只利用两个存储体的读取。

    此外,图51示出了这样一种数据存储的方法,在该方法中假定参考区域REF的尺寸为″8″、参考数据的数目为″3″,而存储体的数目为″4″。

    在这种情况下,存在根据参考数据的分布来存储适当数据的可用方法。如表1所示,所述方法包括分别对应于存储模式A、B和C的三种方法。同样,即使在参考区域REF内轮换参考数据,也不需改变数据存储的方法。

    表1 存储模式   存储体号码    A    12341234    B    12123434    C    11223344

    也就是说,根据存储模式A,将图像数据存储在其号码分别为[1]、[2]、[3]、[4]、[1]、[2]、[3]和[4]的存储体中,由此允许四个参考数据的同时读取。

    根据存储模式B,将图像数据分别存储在其号码为[1]、[2]、[1]、[2]、[3]、[4]、[3]和[4]的存储体中,由此允许四个参考数据的同时读取。

    根据存储模式C,将图像数据分别存储在其号码为[1]、[1]、[2]、[2]、[3]、[3]、[4]和[4]的存储体中,由此允许四个参考数据的同时读取。

    注意,在数据存储单元300中,所述存储器控制器310例如可以由微处理器来构成,并且可以根据下面将参照图52的流程图所描述的程序存储器(未示出)中所存储的数据存储控制程序来将图像数据存储到半导体存储器310中。

    也就是说,所述存储器控制器320首先确定检测模式(在步骤S81中)并且判断该检测模式是否满足第一判断条件(在步骤S82中)。

    按照图53中示意性图示的步骤1到3,实施在步骤S82中判断条件1下的判断。

    步骤1:将参考数据的分布进行四等分并且垂直定位这些划分。

    步骤2:测量垂直线中的参考数据。

    步骤3:根据测量结果来判断参考数据是否只成对地处于其中一个参考区域之中。

    如果在步骤S82中的判断结果为肯定的(是),则就采用第一存储规则(在步骤S83中)并且根据存储模式A来把图像数据存储到半导体存储器310中(在步骤S89中)。

    如果在步骤S82中的判断结果为否定的(否),则采用下一个存储规则以供判断(在步骤S84中)。

    按照图54中示意性说明的步骤1到3,根据步骤S84中的判断条件2实施判断。

    步骤1:将参考数据的分布进行二等分并且垂直定位这些划分。

    步骤2:测量垂直线中的参考数据。

    步骤3:根据测量结果来判断参考数据是否只处于两条线之中。

    如果在步骤S84中的判断结果为肯定的(是),则采用第一存储规则(在步骤S85中)并且根据存储模式B来把图像数据存储到半导体存储器310中(在步骤S89中)。

    如果在步骤S84中的判断结果为否定的(否),则采用下一个存储规则3以供判断(在步骤S86中)。

    按照图55中示意性说明的步骤1到3,根据步骤S86中的判断条件2实施判断。

    步骤1:将参考数据的分布进行二等分并且垂直定位这些划分。

    步骤2:测量垂直线中的参考数据。

    步骤3:根据测量结果来判断现存的参考数据的数量是一个还是更少。

    如果在步骤S86中的判断结果为肯定的(是),则采用第三存储规则(在步骤S87中)并且根据存储模式C来存储数据(在步骤S89中)。

    如果在步骤S86中的判断结果为否定的(否),则采用第四存储规则(在步骤S88中)并且根据存储模式D来存储数据(在步骤S89中)。

    下面将参照图56的流程图来描述从数据存储单元300中的半导体存储器310中读取图像数据。

    所述地址生成器330生成逻辑地址(图像中的地址)(在步骤S91中),所述存储器控制器320根据数据重排规则将逻辑地址转换成物理地址(存储器中的地址)(在步骤S92中),从半导体存储器310中读取一组数据(在步骤S93中)并且判断是否已经读取了直到图像末尾的所有数据(在步骤S94中)。如果在步骤S94中的判断结果为否定的(否),也就是说,如果还剩余要读取的数据,则所述存储器控制器320就控制地址生成器330生成下一个逻辑地址(在步骤S95中)并且返回到步骤S91,在此将重复数据读取直到步骤S94中的判断结果为肯定的(是)为止。然后,所述存储器控制器320将退出数据读取处理。

    可以如下所述数学上地重写前述的判断条件。这里可以假设参考区域中的参考数据的相对位置是A1、A2、......、A8。

    判断条件1:

    参考数据的相对位置都是偶数或奇数。

    可以把判断条件1定义为要求相对位置除以2的余数(Ai mod 2)应该都为0或1。

    判断条件2:

    所有参考数据的相对位置除以4会产生两个连续的余数(Ai mod 4)。

    更具体而言,判断条件2是这样的:余数应为0和1、1和2、2和3、或3和0。

    判断条件3:

    参考数据的相对位置除以存储体的数目m的余数(Ai mod m)从所有参考数据的一个到另一个变化。

    注意,存储体数目可以是判断区域的一半大小,并且必要的存储体数目是m=Rx/2,其中Rx是判断区域的大小。

    在上文中,已经解释了存储要同时读取的一维排列的数据的方法。接下来,将要解释存储要同时读取的二维排列的数据的方法。

    图57A到57C示意性地图示了存储二维排列的数据的方法。

    将图57A中所示的二维排列的图像数据ID划分成如图57B所示的纵条状的组,并且把一个条上的数据组存储到如图57C所示的存储体中的一条字线上。此时通过根据参考数据的分布来为每个条状的数据组选择存储体,就可能同时读取二维排列的数据。

    下面将参照图58A到58C来解释选择要存储数据的存储体所依据的规则。

    图58A通过例子示出了二维参考区域和该参考区域中的参考数据分布。在图57中假设:把参考数据分成如图58B所示的纵条。如图58C所示,垂直压缩这些条。如果恰好一个参考数据处于所述条之中,则设置一个标志,这意味着能够像存储一维排列的数据的方法那样来存储数据。

    也就是说,选择将要存储数据的存储体所依据的规则与已经针对一维排列的数据所描述的规则相同。即使在参考区域垂直偏移的情况下,这种存储体的选择也将允许期望的数据读取。

    接下来,将解释判断条件的常见示例。

    假定参考区域的大小是Rx,存储体的数目是m,而参考数据的数目是n,则目标就是m=Rx/2,并且如表2所示,将描述在此假定之下的参考区域的大小和存储模式。可用存储模式的数目p为p=log 2Rx(底为2的Rx的逆对数)。

    表2 参考区域  的大小  存储体  的号码 判断 条件              存储模式条的号码    2    1  1A::00...    1    4    2  1  2A::0011...B:0101...    2    8    4  1  2  3A:00112233...B:01012323...C:01230123...    3    16    8  1  2  3  4A:0011223344556677...B:0101232345456767...C::0123012345674567...D:0123456701234567...    4    32    16  1  2  3  4  5A:00112233445566778899aabbccddeeff...B:01012323454567678989ababcdefcdef...C:012301234567456789ab89adcdefcdef...D:012245670123456789abcdef89abcdef...E:0123456789abcdef0123456789abcdef...    5

    因此,判断条件将如下:

    判断条件1:

    参考数据的相对位置应该都为偶数或奇数(可替换地,相对位置除以2的余数(Ai mod 2)都是0或1)。

    判断条件2:

    所有参考数据的相对位置除以4应该产生两个连续的余数(Ai mod4)。更具体而言,余数为0和1、1和2、2和3、或3和0。

    判断条件3:

    所有参考数据的相对位置除以8应该产生三个连续的余数(Ai mod8)。

    判断条件p:

    应该连续地进行类似的操作直到约数为n/2为止,并且″参考数据″的相对位置除以存储体的数目m应该产生余数(Ai mod m),该余数从所有参考数据的一个到另一个变化。

    根据这样一个判断条件,即当把所有数据存储到由多个存储体构成的存储器中时同时读取数据的数量应为n,并且要同时读取的数据的相对位置除以小于n/2的2x(x是正整数)应该产生连续的(x-1)个余数,而确定存储模式,并且通过按照与要同时读取的数据的分布相对应的存储模式、改变存储器的每个存储体中的存储顺序,来把要同时读取的数据存储到不同的存储体中,由此允许同时读取多个期望的数据。

    对于这个数据存储方法而言,能够在数学上证明:通过重排数据而实现同时读取的参考数据的最大数目n′为n′=log 2m。当n′小于log 2m时,对于无论何种模式而言数据重排规则都是可用的,并且允许同时数据读取的数据存储方法也同样是可用的。当n′超过log 2m时,存在一种可用的数据存储方法,该方法根据参考数据的分布而允许同时数据读取。然而,这类方法并不总是可用的。

    在上文中,已经针对来自图像数据的特征或模式的检测而图示并描述了本发明。显然,类似的原理适用于任何其它领域。例如,本发明同样适用于运动矢量的检测。也就是,本发明能够应用于为像素中的每一个选择候选矢量中的最佳矢量。同样,在本发明中处理的数据不限于图像数据,而可以是音频数据。

数据存储单元、数据存储控制设备和方法、以及程序.pdf_第1页
第1页 / 共92页
数据存储单元、数据存储控制设备和方法、以及程序.pdf_第2页
第2页 / 共92页
数据存储单元、数据存储控制设备和方法、以及程序.pdf_第3页
第3页 / 共92页
点击查看更多>>
资源描述

《数据存储单元、数据存储控制设备和方法、以及程序.pdf》由会员分享,可在线阅读,更多相关《数据存储单元、数据存储控制设备和方法、以及程序.pdf(92页珍藏版)》请在专利查询网上搜索。

提供了一种数据存储单元,其中将所有数据存储到包含多个存储体的存储器中并且同时读取多个期望的数据,而不会给硬件带来任何负荷。它包括:包含数据存储控制器(20)、数据读取控制器30和数据移动控制器(40)的存储器控制装置,用于基于当顺序地将数据存储到存储器中并在该存储器的多个存储体之间划分该数据时、代表要同时读取的多个期望的数据的存取模式,来判断将要存储的数据是否是位于与该存取模式相对应的位置上的数据。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 信息存储


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1