CN1680930A - 减少总线使用时间的系统和控制器 - Google Patents
减少总线使用时间的系统和控制器 Download PDFInfo
- Publication number
- CN1680930A CN1680930A CNA2005100717195A CN200510071719A CN1680930A CN 1680930 A CN1680930 A CN 1680930A CN A2005100717195 A CNA2005100717195 A CN A2005100717195A CN 200510071719 A CN200510071719 A CN 200510071719A CN 1680930 A CN1680930 A CN 1680930A
- Authority
- CN
- China
- Prior art keywords
- signal
- data
- controller
- address
- control
- 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.)
- Granted
Links
- 230000004044 response Effects 0.000 claims description 150
- 230000005540 biological transmission Effects 0.000 claims description 98
- 239000000872 buffer Substances 0.000 claims description 83
- 238000003860 storage Methods 0.000 claims description 76
- 230000003139 buffering effect Effects 0.000 claims description 12
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 4
- 102100024348 Beta-adducin Human genes 0.000 description 35
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 description 35
- 101100524347 Xenopus laevis req-b gene Proteins 0.000 description 19
- 101100524346 Xenopus laevis req-a gene Proteins 0.000 description 17
- 230000000875 corresponding effect Effects 0.000 description 14
- 102100034033 Alpha-adducin Human genes 0.000 description 12
- 101000799076 Homo sapiens Alpha-adducin Proteins 0.000 description 12
- 102100031145 Probable low affinity copper uptake protein 2 Human genes 0.000 description 12
- 101710095010 Probable low affinity copper uptake protein 2 Proteins 0.000 description 12
- 101000629598 Rattus norvegicus Sterol regulatory element-binding protein 1 Proteins 0.000 description 12
- 101100533506 Schizosaccharomyces pombe (strain 972 / ATCC 24843) sif1 gene Proteins 0.000 description 12
- 101100533510 Schizosaccharomyces pombe (strain 972 / ATCC 24843) sif3 gene Proteins 0.000 description 11
- 101150010973 GRA1 gene Proteins 0.000 description 8
- 101150021858 SIF2 gene Proteins 0.000 description 8
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 8
- 102100039497 Choline transporter-like protein 3 Human genes 0.000 description 7
- 101150073248 GRA2 gene Proteins 0.000 description 7
- 101000889279 Homo sapiens Choline transporter-like protein 3 Proteins 0.000 description 7
- 238000000034 method Methods 0.000 description 7
- 102100031699 Choline transporter-like protein 1 Human genes 0.000 description 6
- 101000940912 Homo sapiens Choline transporter-like protein 1 Proteins 0.000 description 6
- 101100122821 Toxoplasma gondii GRA3 gene Proteins 0.000 description 6
- 101100112083 Arabidopsis thaliana CRT1 gene Proteins 0.000 description 5
- 101100238301 Arabidopsis thaliana MORC1 gene Proteins 0.000 description 5
- 102100031577 High affinity copper uptake protein 1 Human genes 0.000 description 5
- 101710196315 High affinity copper uptake protein 1 Proteins 0.000 description 5
- 101100519629 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PEX2 gene Proteins 0.000 description 5
- 101100468521 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RFX1 gene Proteins 0.000 description 5
- 101150055492 sel-11 gene Proteins 0.000 description 5
- 101100191136 Arabidopsis thaliana PCMP-A2 gene Proteins 0.000 description 4
- 101100264080 Caenorhabditis elegans wrt-1 gene Proteins 0.000 description 4
- 102100035954 Choline transporter-like protein 2 Human genes 0.000 description 4
- 101000948115 Homo sapiens Choline transporter-like protein 2 Proteins 0.000 description 4
- 101100048260 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) UBX2 gene Proteins 0.000 description 4
- 101100422768 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SUL2 gene Proteins 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 101001003569 Homo sapiens LIM domain only protein 3 Proteins 0.000 description 2
- 101000639972 Homo sapiens Sodium-dependent dopamine transporter Proteins 0.000 description 2
- 102100026460 LIM domain only protein 3 Human genes 0.000 description 2
- 101100329714 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CTR3 gene Proteins 0.000 description 2
- 238000002679 ablation Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 101150004012 ctr4 gene Proteins 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 102100034004 Gamma-adducin Human genes 0.000 description 1
- 101000799011 Homo sapiens Gamma-adducin Proteins 0.000 description 1
- 101100069381 Toxoplasma gondii GRA4 gene Proteins 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01K—ANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
- A01K61/00—Culture of aquatic animals
- A01K61/10—Culture of aquatic animals of fish
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01K—ANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
- A01K71/00—Floating nets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6022—Using a prefetch buffer or dedicated prefetch cache
Landscapes
- Life Sciences & Earth Sciences (AREA)
- Environmental Sciences (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Animal Husbandry (AREA)
- Biodiversity & Conservation Biology (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Marine Sciences & Fisheries (AREA)
- Zoology (AREA)
- Information Transfer Systems (AREA)
Abstract
一种存储控制器可减少总线使用时间。该存储控制器可包括主控制器、数据读取单元以及串行接口。主控制器可存储通过总线接收到的来自处理器的控制数据信号,并且可通过生成可基于所存储的控制数据信号的请求数据信号来控制存储器。数据读取单元可存储读取地址信号,该信号可通过另一条总线从处理器和IP模块中的至少一个接收,并且该数据读取单元可通过生成可基于存储的读取地址信号的命令数据信号来从存储器读取数据。串行接口可作为主控制器和数据读取单元中的至少一个与存储器的接口。该存储控制器可通过更有效地控制存储器的数据读取和/或写入的操作来减少总线的使用时间。
Description
技术领域
本发明示范实施例涉及一种系统、一种存储控制器、主控制器、数据读取单元、串行接口和预取单元。
背景技术
在传统的系统中,可将闪速存储器用于在采用芯片上系统(SOC)的系统中存储执行程序和/或数据。可依据不同的应用领域改变SOC的引脚数目。对于具有较少引脚数的SOC的需求已经增长。SOC可以使用串行闪速存储器而不使用并行闪速存储器并且串行闪速存储器具有较少数量的引脚。串行闪速存储器可具有一个用于串行接收和/或发送数据的数据引脚。可将串行闪速存储器与SOC相连,SOC可需要两个数据引脚来通过串行闪速存储器接收和发送数据。与并行闪速存储器相比,串行闪速存储器可以具有更低的带宽,因为串行闪速存储器可以接收不同的信号,所述信号可包括从SOC经单个数据引脚传送来的地址和/或数据。
SOC中可以包含用于与串行闪速存储器接口的存储控制器。可将存储控制器通过存储器总线与多个知识产权(IP,Intellectual property)模块相连,并且从串行闪速存储器中读取数据以响应从多个IP模块之一读取数据的请求。在串行闪速存储器与传统的存储控制器之间传送数据可以包括从存储控制器向串行闪速存储器传送指令,从存储控制器向串行闪速存储器传送读取地址,并且从串行闪速存储器向存储控制器传送读出的数据。存储控制器可依照通过存储器总线接收的、IP模块之一的读取请求信号,使用上述过程从闪速存储器中读取数据。传统的存储控制器可通过存储器总线接收读取地址信号,并且可能花比较长时间从串行闪速存储器中读出与读取地址信号相应的数据,并且存储控制器使用存储器总线的时间可能增加。由于直到存储控制器传送数据完毕后IP模块才能使用存储器总线,因此当存储控制器占有存储器总线的时间增加时,SOC的总效率可能被降低。
发明内容
在本发明的一个示范实施例中,系统可以包括处理器、至少一个IP模块、以及存储控制器。存储控制器可存储从处理器经第一总线接收到的控制数据信号,可通过基于存储的控制数据信号生成请求数据信号来控制存储器,可存储多个读取地址信号,这些信号可通过第二条总线从处理器和至少一个IP模块中的至少一个中接收,并且该存储控制器可通过基于多个读取地址信号中的一个生成命令数据信号,从存储器中读取数据。
系统的另一个示范实施例可包括处理器、至少一个IP模块、可以生成直接存储器访问地址信号的直接存储器访问控制器、以及存储控制器。该存储控制器存储可通过第一总线从处理器接收到控制数据信号,可通过基于存储的控制数据信号生成请求数据信号来控制存储器,可通过第二总线传送DMA地址信号,可存储通过第三总线接收到的来自处理器和至少一个IP模块中的至少一个的多个读取地址信号和多个DMA地址信号中的至少一个,并可通过基于读取地址信号和DMA地址信号中的至少一个而生成命令数据信号来从存储器中读取数据。
在本发明的另一个示范实施例中,存储控制器可包括主控制器、数据读取单元、以及串行接口。主控制器可存储通过第一总线接收到的来自处理器的控制数据信号,并且可通过基于所存储的控制数据信号生成请求数据信号来控制存储器。数据读取单元可存储读取地址信号,该信号可通过第二总线从处理器和IP模块中的至少一个中接收,并且该数据读取单元可通过基于读取地址信号生成命令数据信号来从存储器读取数据。串行接口可作为主控制器和数据读取单元中的至少一个与存储器的接口。
存储控制器的另一个示范实施例可包括主控制器、DMA控制器、数据读取单元、以及串行接口。主控制器可存储通过第一总线接收到的来自处理器的控制数据信号,并且可通过基于控制数据信号生成请求数据信号来控制存储器。DMA控制器可通过第三总线与第二总线相连接,并且可通过第三总线传送地址信号。数据读取单元可通过第四总线与第二总线相连,可存储经第四总线从处理器和至少一个IP模块的至少一个接收的地址信号和读取地址信号的至少一个,并且可通过基于地址信号生成命令数据信号而从存储器读取数据。串行接口可作为主控制器和数据读取单元中的至少一个与存储器的接口。
在本发明的另一个示范实施例中,数据读取单元可通过第一总线存储从处理器和至少一个IP模块中的至少一个接收到的读取地址信号,并且可通过基于读取地址信号生成命令数据信号而从存储器中读取数据。
在本发明的另一个示范实施例中,预取单元可在预取数据信号之后,存储通过串行接口接收到的来自存储器的数据信号,以响应预取开始信号,可停止存储数据信号,以响应预取停止信号,当与读取地址信号相应的匹配数据信号出现在数据信号当中时,可向数据读取单元输出匹配信号和匹配数据信号,以响应地址比较信号。
在本发明的示范实施例中,控制数据信号可包括命令信号。
在本发明的示范实施例中,当接收到至少一个读取地址信号时,数据读取单元可生成地址比较信号,并且当与至少一个读取地址信号相应的匹配数据信号出现时,预取单元可将匹配数据信号与匹配信号一起输出给数据读取单元,以响应地址比较信号。
在本发明的示范实施例中,主控制器可进一步包括发生器、存储单元、解码器、控制器、以及第一多路复用器。
在本发明的示范实施例中,状态控制寄存器可存储从数据读取单元和串行接口中的至少一个接收的状态信息信号,以响应寄存器控制信号中的至少一个。控制信号生成器可产生第二选择控制信号,以响应传输控制信号和控制地址信号中的至少一个。主控制器可进一步包括第二多路复用器。
在本发明的示范实施例中,存储单元可包括多个寄存器,并且多个寄存器中的至少一个可存储命令信号。
在本发明的示范实施例中,控制数据信号可进一步包括写入地址信号和写入数据信号,并且多个寄存器中的至少一个可存储写入地址信号,并且多个寄存器中的至少一个可存储写入数据信号和读取地址信号中的至少一个。
在本发明的示范实施例中,主控制器可进一步包括第三多路复用器以及数据缓冲器单元。
在本发明的示范实施例中,数据读取单元可通过第二总线从直接存储器访问控制器接收直接存储器访问地址信号,可通过基于直接存储器访问地址信号生成命令数据信号,从存储器读取直接存储器访问数据,并且可通过第二总线提供向直接存储器访问控制器提供直接存储器访问数据。
在本发明的示范实施例中,数据读取单元可包括控制器、第一多路复用器、地址寄存器、第二多路复用器、以及第三多路复用器。
在本发明的示范实施例中,主控制器可进一步包括第四多路复用器和数据缓冲器。
在本发明的示范实施例中,主控制器可输出预取开始信号、预取停止信号、以及地址比较信号,以响应从主控制器接收到的状态控制信号,并且可输出第三选择控制信号,以响应匹配信号。
在本发明的示范实施例中,主控制器可进一步包括预取单元。
在本发明的示范实施例中,数据读取单元可包括控制器、第一多路复用器、地址寄存器、第二多路复用器、以及第三多路复用器。
在本发明的示范实施例中,数据读取单元可进一步包括第四多路复用器以及数据缓冲器。
在本发明的示范实施例中,主控制器可进一步包括预取单元和DMA控制器。
在本发明的示范实施例中,主控制器可包括数据读取单元,该数据读取单元可进一步包括第五多路复用器。
在本发明的示范实施例中,主控制器可存储通过第一总线接收到的来自处理器的控制数据信号,并且可通过基于存储的控制数据信号生成请求数据信号来控制存储器。
在本发明的示范实施例中,主控制器可包括发生器、存储单元、解码器、控制器、以及第一多路复用器。
在本发明的示范实施例中,数据读取单元可包括控制器、地址寄存器、第一多路复用器、以及第二多路复用器。
在本发明的示范实施例中,串行接口可包括入口判定器、控制器、多路复用器、串行寄存器、以及数据寄存器。
在本发明的示范实施例中,预取单元可包括控制器、地址缓冲器、数据缓冲器、地址比较器、以及多路复用器。
在本发明的示范实施例中,可将DMA控制器包含在控制器中。
附图说明
通过参考附图详细介绍本发明的示范实施例,它们将变得更加明显,附图中:
图1是依照本发明的芯片上系统(SOC)的一个示范实施例的方框图,芯片上系统可以包括存储控制器及存储器;
图2是图1所示存储控制器的一个示范实施例的方框图;
图3是图2所示主控制器的一个示范实施例的视图;
图4是图2所示数据读取单元的一个示范实施例的视图;
图5是图2所示串行接口的一个示范实施例的视图;
图6是图2所示预取单元的一个示范实施例的视图;
图7是依照本发明的SOC的另一个示范实施例的方框图,SOC可以包括存储控制器及存储器;
图8是图7所示存储控制器的另一个示范实施例的方框图;
图9是图8所示数据读取单元的另一个示范实施例的视图;
图10是依照本发明的SOC的另一个示范实施例的方框图,SOC可以包括存储控制器及存储器;
图11是图10所示存储控制器的另一个示范实施例的方框图;
图12是图11所示数据读取单元的另一个示范实施例的视图;以及
图13是图11所示预取单元的另一个示范实施例的视图。
具体实施方式
现在将参考附图对本发明的各示范实施例做更全面地描述,附图中所示的是本发明的各示范实施例。附图中相同的附图标记用于代表相同的元件。
图1是根据本发明的系统10(例如,芯片上系统(SOC))的一个示范实施例的方框图,该系统10可以包括存储控制器(例如,串行闪速存储控制器)及存储器(例如,串行闪速存储器)20。参考图1,系统10可以包括存储控制器(例如,串行闪速存储控制器)11、总线桥14、处理器(CPU)15、以及知识产权(IP)模块16和17。系统10还可以包括附加的IP模块。
存储控制器11、处理器15、以及IP模块16和17可以通过总线(例如,存储器总线)12通信。可将存储控制器11与存储器(例如,外部串行闪速存储器)20相连接。
依照来自处理器15和IP模块16和17中的至少一个模块通过总线12接收到的数据读取请求,存储控制器11可从存储器20中读取数据。存储控制器11可将读取的数据传送给处理器15和/或IP模块16和17中的至少一个模块,其可通过总线12请求数据。
可将总线桥14连接于总线12和总线13(例如,外围总线)之间,并且可将存储控制器11与总线13连接。总线桥14可将总线12和总线13之间传送的信号转换成依照总线协议的信号。总线协议可以是任何适当的总线协议。存储控制器11可依照通过总线13接收到的来自处理器15的控制数据信号执行控制操作,例如,写入和/或删除保存在存储器20的地址的数据,并且可以提供存储器20和/或存储控制器11的状态信息到处理器15。
存储控制器11可以生成形式与存储器20相应的读取命令信号,以响应从外部设备接收到的命令选择信号BOOT_OPTION。可将存储控制器11使用于任何适合类型的存储器。存储控制器11可响应于从外部设备接收的复位信号RST而得到复位。
图2是存储控制器11的一个示范实施例的方框图。参考图2,存储控制器11可以包括时钟生成单元100、主控制器200、数据读取单元300、串行接口400、以及预取单元500。时钟生成单元100可以从总线12接收系统时钟信号SCLK,并可以输出存储器时钟信号MCLK,例如,通过将接收到的系统时钟信号SCLK按一定比率划分。可将存储器时钟信号MCLK提供给存储控制器11的构成单元。可将主控制器200通过总线13与总线桥14相连。主控制器200可通过外围总线13接收来自处理器15的传输控制信号CTR1、控制地址信号ADD1、以及控制数据信号DATA_IN。主控制器200可存储控制数据信号DATA_IN以响应传输控制信号CTR1和/或控制地址信号ADD1。主控制器200依照包含在控制数据信号DATA_IN中的命令,可以控制存储器20,和/或通过串行接口400控制数据读取单元300、串行接口400以及预取单元500的至少一个。用于存储器20的控制操作命令可以包含在控制数据信号DATA_IN中,并且主控制器200可以向串行接口400传送第一传输请求信号REQ1。主控制器200可以从串行接口400接收传输准许信号GRA1,并且主控制器200可以基于控制数据信号DATA_IN生成请求数据信号ODATA,并且可将请求数据信号ODATA传送至串行接口400。主控制器200可以保存从串行接口400接收到的请求结果数据信号RDATA,并且可以通过总线13将请求结果数据信号RDATA作为结果数据信号DATA_OUT传送给处理器15。
可将用于数据读取单元300的控制操作命令包含在控制信号DATA_IN中,并且主控制器200可以基于控制数据信号DATA_IN生成状态控制信号CT1,并传送给数据读取单元300。状态控制信号CT1可以请求数据读取单元300的当前操作状态信息和/或命令数据读取单元300执行操作。例如,数据读取单元300可以控制预取单元500的操作以响应状态控制信号CT1。
可将对串行接口400的控制操作命令包含在控制数据信号DATA_IN中,并且基于控制数据信号DATA_IN,主控制器200可以生成状态控制信号CT2并传送至串行接口400。状态控制信号CT2可请求串行接口400的当前操作状态信息和/或可命令串行接口400执行操作。
可将用于预取单元500的控制操作命令包含在控制数据信号DATA_IN中,并且主控制器200可以生成基于控制数据信号DATA_IN的状态控制信号CT3并传送至预取单元500。状态控制信号CT3可请求预取单元500的当前操作状态信息和/或命令预取单元500执行操作。
可将数据读取单元300通过总线12与处理器15和/或IP模块16和17相连接(参见图1)。数据读取单元300可接收传输控制信号CTR2和/或通过总线12从处理器15和/或IP模块16和17中的一个模块读取地址信号ADD2。数据读取单元300可存储读取地址信号ADD2并可向串行接口400传送传输请求信号REQ2,以响应传输控制信号CTR2。
数据读取单元300可以例如在接收到来自串行接口400的传送准许信号GRA2后,将读取的数据长度信息LEN以及命令数据信号RC_DATA传送至串行接口400。数据读取单元300可以基于读取地址信号ADD2和/或在数据读取单元300中生成读取命令信号READ,生成命令数据信号RC_DATA。
数据读取单元300可通过串行接口接收并存储数据信号RE_DATA,该信号可与读取地址信号ADD2相对应。数据读取单元300可以将存储的数据信号RE_DATA作为读取数据信号DATA_R输出给总线12。
状态控制信号CT1可以包括预取控制操作信息并且数据读取单元300可向预取单元500输出预取开始信号START和预取停止信号STOP。预取单元500可执行数据信号RE_DATA的预取操作。
例如,当读取地址信号ADD2被接收时,预取单元500的预取操作结束并且数据读取单元300可输出地址比较信号CMP至预取单元500。数据读取单元300可从预取单元500接收匹配信号MAT以及匹配数据信号MAT_DATA,并且数据读取单元300可存储匹配数据信号MAT_DATA。数据读取单元300可将存储的匹配数据信号MAT_DATA输出至总线12,例如,作为读取数据信号DATA_R。将参考图4对数据读取单元300做更详细的描述。
串行接口400可作为主控制器200与存储器20的接口,例如,以响应来自主控制器200的传输请求信号REQ1。串行接口400可作为数据读取单元300与存储器20的接口,例如,以响应可以从数据读取单元300接收到的传输请求信号REQ2。依照例如在串行接口400比如同时接收到传输请求信号REQ1和REQ2时的优先顺序,串行接口400可作为主控制器200和/或数据读取单元300与存储器20的接口。串行接口400可作为主控制器200和/或数据读取单元300与存储器20的接口。
预取单元500可接收预取开始信号START并且预取单元500可存储通过存储器总线12接收到的读取地址信号ADD2。预取单元500可存储从串行接口400接收到的数据信号RE_DATA。预取单元500可接收预取停止信号STOP并且预取单元500可中断数据信号RE_DATA的存储操作。例如当预取单元500接收到地址比较信号CMP时,预取单元500可决定与接收到的读取地址信号ADD2相应的匹配数据信号MAT_DATA是否存在于已存储的数据信号RE_DATA中。与接收到的读取地址信号ADD2相应的匹配数据信号MAT_DATA可能存在,并且预取单元500可将带有匹配信号MAT的匹配数据信号MAT_DATA传送至数据读取单元300。
可从主控制器200输出的请求数据信号ODATA以及可从数据读取单元300输出的命令数据信号RC_DATA的例子,下面依照示例控制操作在下表中举例说明。
<表1>
信号 | 组成 | 描述 | 控制操作 |
ODATA | 1C | 1字节命令信号 | 允许写,禁止写,允许写至状态寄存器,整批擦除,读取状态寄存器 |
1C-1Q | 1字节命令信号-1字节数据信号 | 写入到状态寄存器 | |
1C-3A | 1字节命令信号-3字节地址信号 | 擦除扇区 | |
1C-3A-1Q | 1字节命令信号-3字节地址信号-1字节数据信号 | 字节程序,自动地址增加程序 | |
1C-3A-NQ | 1字节命令信号-3字节地址信号-连续的数据信号 | 页程序 | |
RC_DATA | 1C-3A | 1字节命令信号-3字节地址信号 | 读取数据 |
图3所示的是依照本发明的图2主控制器200的示范实施例。参考图3,主控制器200可以包括发生器210(例如控制信号发生器),存储单元220,寄存器230(例如状态控制寄存器),解码器240(例如命令解码器),控制器250,以及多路复用器260和270。发生器210可输出传输识别信号CTR_IF以及至少一个寄存器的控制信号R11至R16,以响应从总线13接收到的传输控制信号CTR1和/或控制地址信号ADD1。例如,在与存储器时钟信号MCLK同步之后,发生器210可以启用或禁止寄存器控制信号R11至R16。发生器210可以输出选择控制信号S11至S17,以响应传输请求信号CTR1和/或控制地址信号ADD1。
存储单元220可以包含寄存器221至226中的至少一个。存储单元220可以进一步包括附加寄存器。寄存器221至226可以存储并且输出通过总线13接收到的控制数据信号DATA_IN,例如,以响应寄存器控制信号R11至R16。控制数据信号DATA_IN可以包括,例如命令信号CMD或者命令信号CMD和地址信号ADDR1至ADDR3。控制数据信号DATA_IN可以包括命令信号CMD,地址信号ADDR1至ADDR3,和/或数据信号WDAT1与WDAT2。控制数据信号DATA_IN可以包括命令信号CMD以及状态控制信号CT1、CT2和CT3中的至少一个。状态控制信号CT1、CT2和CT3可控制一操作,和/或请求有关数据读取单元300、串行接口400和/或预取单元500的当前操作状态的信息。
寄存器221至226中的至少一个可以存储命令信号CMD、地址信号ADDR1至ADDR3、和/或数据信号WDAT1和WDAT2。例如,寄存器221可存储命令信号CMD,寄存器222至224可存储地址信号ADDR1至ADDR3,而寄存器225和226可存储数据信号WDAT1和WDAT2。寄存器225和226也可存储数据信号RDAT1和RDAT2,可将数据信号RDAT1和RDAT2包含在请求结果数据信号RDATA中,以响应寄存器控制信号R15和R16。寄存器225和226可以存储数据信号WDAT1和WDAT2以及数据信号RDAT1和RDAT2的至少一个。请求结果数据信号RDATA可以包括状态信号BUSY,该状态信号可以指示存储器20的当前状态。
寄存器单元230可存储状态控制信号CT1、CT2和CT3中的至少一个,可将这些状态控制信号包含在控制数据信号DATA_IN中,例如,用以响应寄存器控制信号R17。寄存器单元230可以接收来自数据读取单元300的状态信息信号SIF1,并且该寄存器单元230可以存储状态信息信号SIF1以响应寄存器控制信号R17。寄存器单元230可接收来自串行接口400的状态信息信号SIF2,并且寄存器单元230可以存储状态信息信号SIF2以响应寄存器控制信号R17。寄存器单元230可接收来自预取单元500的状态信息信号SIF3,并且状态控制寄存器单元230可以存储状态信息信号SIF3以响应寄存器控制信号R17。状态信息信号SIF1至SIF3可以包含数据读取单元300、串行接口400和预取单元500的当前操作状态信息。寄存器单元230可存储状态信号BUSY以响应寄存器控制信号R17。主控制器200可包含附加状态控制寄存器。
命令解码器240可通过将命令信号CMD解码来输出命令信息CMD_IF,命令信号CMD可从寄存器221中输出。控制器250可向串行接口400传送传输请求信号REQ1,以响应来自发生器210的传输识别信号CTR_IF,以及来自命令解码器240的命令信息CMD_IF。
可从串行接口400接收传输准许信号GRA1,且控制器250可输出选择控制信号S21至S26,以响应命令信息CMD_IF及存储器时钟信号MCLK。例如,控制器250可以通过与存储器时钟信号MCLK同步来启用或禁止选择控制信号S21至S26。控制器250可以依照命令信息CMD_IF决定控制操作命令信号CMD。
请求结果数据信号RDATA例如通过串行接口400接收,并且控制器250可以向发生器210输出收到识别信号RSV_IF1。控制器250可向寄存器单元230接收和传送包含在请求结果数据信号RDATA中的状态信号BUSY。
控制器250可以接收状态信息信号SIF1、SIF2、以及SIF3中的至少一个,并且控制器250可向发生器210传送收到识别信号RSV_IF2。控制器250可以通过接收状态信息信号SIF1、SIF2、以及SIF3中的至少一个,来识别数据读取单元300、串行接口400以及预取单元500的当前操作状态。
多路复用器260可以选择来自寄存器221至226中的至少一个输出信号,并且把选择的输出信号作为请求数据信号ODATA向串行接口400输出,以响应选择控制信号S21至S26。可将选择控制信号S21至S26例如顺序地启用,并且多路复用器260可选择(例如,顺序地选择)命令信号CMD、地址信号ADDR1至ADDR3、以及数据信号DAT1和DAT2,并且可将它们作为请求数据信号ODATA输出。
多路复用器270可选择来自寄存器221至226的输出信号或者状态控制寄存器单元230的输出信号的至少一个,并且可以将所选择的输出信号作为结果数据信号DATA_OUT输出给总线13,例如用于响应选择控制信号S11至S17。
寄存器单元230可以存储至少一个状态信息信号SIF1、SIF2和SIF3,并且可以存储至少一个状态控制信号CT1、CT2和/或CT3,以响应寄存器控制信号R17。寄存器单元230也可以存储状态信息BUSY。
图3所示的是主控制器200的示范实施例。主控制器200可依照包含在控制数据信号DATA_IN中的命令执行控制操作,控制数据信号DATA_IN可从处理器15经总线13被接收。可将包含在控制数据信号DATA_IN中的命令依照控制的目标来划分。
该命令可以涉及对存储器20的控制操作。例如,该命令可以包括存储在与存储器20的地址相应的存储单元中的数据的擦除请求命令,将数据写入与存储器20的地址相应的存储单元的写请求命令,或者对存储器20的状态寄存器的数据读取或写入请求命令。
该命令可以是用于数据读取单元300、串行接口400和/或预取单元500的控制操作命令。该命令可以包括向数据读取单元300、串行接口400和预取单元500中的至少一个请求当前操作状态信息的命令,或者该命令可以对数据读取单元300、串行接口400和预取单元500中的至少一个设置操作。
例如,控制数据信号DATA_IN可以包括命令信号CMD以及地址信号ADDR1至ADDR3,并且主控制器200可以通过总线13接收(例如,顺序地接收)命令信号CMD、地址信号ADDR1、地址信号ADDR2以及地址信号ADDR3。
可将来自CPU 15的传输请求信号CRT1通过外围总线13接收,并且发生器210可以向控制器250生成并输出传输识别信号CTR_IF。发生器210可以启用(例如,顺序地启用)寄存器控制信号R11至R14,以响应经总线13接收的控制地址信号ADD1和存储器时钟信号MCLK。
可将控制地信号ADD1依照控制数据信号DATA_IN通过总线13输入到主控制器200中。控制数据信号DATA_IN具有命令信号CMD并且控制地址信号ADD1可以输入到发生器210中。地址信号ADDR1至ADDR3每个均可不相同。控制信号发生器210可依照控制地址信号ADDR1控制存储单元220的寄存器221至226和/或寄存器单元230的操作。
可将寄存器221至224启用(例如,顺序地启用)以响应寄存器控制信号R11至R14。寄存器221可以存储命令信号CMD,并且寄存器222至224可存储(例如,顺序地存储)地址信号ADDR1至ADDR3。例如,当附加地址信号被包含在控制数据信号DATA_IN中时,发生器210可启用寄存器控制信号R15和/或R16。寄存器225和/或226可存储附加地址信号以响应寄存器控制信号R15和/或R16。
例如,在发生器210启用寄存器控制信号R11之后和/或当控制数据信号DATA_IN中可包含命令信号时,可将寄存器控制信号R15和/或R16启用(例如,顺序地启用)。寄存器221可存储命令信号CMD以响应寄存器控制信号R11,且寄存器225和/或226可存储命令信号以响应寄存器控制信号R15和R16。
发生器210可禁止(例如顺序地禁止)寄存器控制信号R11至R14中的至少一个以响应存储器时钟信号MCLK。寄存器221可以输出命令信号CMD,并且寄存器222至224中的至少一个寄存器可以输出地址信号ADDR1至ADDR3。解码器240可通过将命令信号CMD解码来输出命令信息CMD_IF。控制器250可向串行接口400传送传输请求信号REQ1,例如,用于响应传输识别信号CTR_IF以及命令信息CMD_IF。
例如,当可接收来自传串行接口400的传输准许信号GRA1时,响应命令信息CMD_IF以及存储器时钟信号MCLK,控制器250可以启用(例如,顺序地启用)选择控制信号S21至S24中的至少一个。例如,当接收到传输准许信号GRA1时,控制器250可启用选择控制信号S21。当接收到来自串行接口400的信号NEXT1时,控制器250可例如一个接一个地启用选择控制信号S22至S24。多路复用器260可以选择(例如顺序地选择)命令信号CMD和/或地址信号ADDR1至ADDR3中的至少一个,并且可以将它们作为请求数据信号ODATA输出给串行接口400,例如,以响应选择控制信号S21至S24中的至少一个。
可将请求把数据写入存储器单元的命令包含在控制数据信号DATA_IN中,其中存储器单元可与存储器20的地址相对应,并且控制数据信号DATA_IN可包含命令信号CMD、地址信号ADDR1至ADDR3中的至少一个、以及数据信号WDAT1和/或WDAT2。主控制器200可通过总线13接收(例如,顺序地接收)命令信号CMD、地址信号ADDR1、地址信号ADDR2、地址信号ADDR3、数据信号WDAT1以及数据信号WDAT2。
例如,当来自处理器15的传输请求信号CRT1经总线13被接收到时,发生器210可向控制器250生成并输出传输识别信号CTR_IF。发生器210可启用(例如顺序地启用)寄存器控制信号R11至R16中的至少一个,以响应经总线13接收到的控制地址信号ADD1以及存储器时钟信号MCLK。
控制数据信号DATA_IN可包括请求写入存储器20的状态寄存器的命令、命令信号CMD、以及数据信号WDAT1和WDAT2。例如,主控制器200可通过总线13接收(例如,顺序地接收)命令信号CMD、数据信号WDAT1以及数据信号WDAT2。
发生器210可以生成传输识别信号CTR_IF并向控制器250输出,例如,当来自处理器15的第一传输请求信号CRT1经总线13被接收到时。发生器210可启用(例如顺序地启用)寄存器控制信号R11、R15以及R16,以响应经总线13接收到的控制地址信号ADD1以及存储器时钟信号MCLK。
控制数据信号DATA_IN可以包含请求读取存储器20的状态寄存器的命令以及命令信号CMD。
发生器210可以生成传输识别信号CTR_IF并向控制器250输出,例如,当来自处理器15的第一传输请求信号CRT1经总线13被接收到时。发生器210可启用寄存器控制信号R11,例如,用以响应通过总线13接收到的控制地址信号ADD1以及存储器时钟信号MCLK。寄存器221可存储命令信号CMD以响应寄存器控制信号R11。发生器210可禁止寄存器控制信号R11,并且可启用寄存器控制信号R15和R16。寄存器221可输出命令信号CMD以响应寄存器控制信号R11。
命令解码器240可输出命令信息CMD_IF,例如在将命令信号CMD解码后,并且控制器250可向串行接口400传送传输请求信号REQ1,以响应传输识别信号CTR_IF和/或命令信息CMD_IF。控制器250可启用选择控制信号S21以响应命令信息CMD_IF以及存储器时钟信号MCLK,例如当来自串行接口400的传输准许信号GRA1被接收到时。多路复用器260可将命令信号CMD作为请求数据信号ODATA向串行接口400输出,以响应选择控制信号S21。
主控制器200可接收请求结果数据信号RDATA,该请求结果数据信号RDATA可以是经串行接口400从存储器20的状态寄存器中读取的数据。请求结果数据信号RDATA可包含数据信号RDAT1和RDAT2。
寄存器225和226可存储数据信号RDAT1和RDAT2,以响应寄存器控制信号R15和R16。控制器250可向发生器210输出收到识别信号RSV_IF1,例如,当收到请求结果数据信号RDATA时。发生器210可禁用寄存器控制信号R15和R16,并且可以启用(例如顺序地启用)选择控制信号S16和S17,以响应收到识别信号RSV_IF1。
寄存器225和226可输出数据信号RDAT1和RDAT2以响应寄存器控制信号R15和R16。多路复用器270可选择(例如顺序地选择)数据信号RDAT1和RDAT2并经CPU 15向总线13传送,例如以结果数据信号DATA_OUT的形式,以响应选择控制信号S16和S17。
向数据读取单元300、串行接口400和预取单元500中的至少一个请求当前操作状态信息的命令,可以和命令信号CMD以及状态控制信号CT1至CT3中的至少一个一起,包含在控制数据信号DATA_IN中。
发生器210可生成传输识别信号CTR_IF并向控制器250输出,例如,当来自处理器15的传输请求信号CRT1经总线13被收到时。发生器210可启用(例如顺序地启用)寄存器控制信号R11至R17,以响应可经总线13收到的控制地址信号ADD1以及存储器时钟信号MCLK。寄存器221可存储命令信号CMD,以响应寄存器控制信号R11,并且寄存器单元230可以存储状态控制信号CT1至CT3中的至少一个,可将状态控制信号CT1至CT3接收用以响应寄存器控制信号R17。
发生器210可禁用寄存器控制信号R11以响应存储器时钟信号MCLK。寄存器221可输出命令信号CMD以响应寄存器控制信号R11。命令解码器240可通过将命令信号CMD解码来输出命令信息CMD_IF。控制器250可以确认:命令信号CMD可能正在从命令信息CMD_IF,对数据读取单元300、串行接口400和预取单元500中的至少一个请求当前操作状态信息。
发生器210可以禁用寄存器控制信号R17,以响应存储器时钟信号MCLK。寄存器单元230可将至少一个存储的状态控制信号CT1至CT3传送给数据读取单元300、串行接口400和预取单元500中的至少一个,用以响应寄存器控制信号R17。数据读取单元300可以响应信号CT1并且可以将状态信息信号SIF1传送给状态控制寄存器单元230和/或控制器250,例如,当可将状态控制信号CT1从状态控制寄存器单元230输出时。串行接口400可以响应状态控制信号CT2,并且当可将状态控制信号CT2从状态控制寄存器单元230输出时,可以将状态信息信号SIF2传送给寄存器单元230和/或控制器250。预取单元500可以响应状态控制信号CT3,并且可以将状态信息信号SIF3传送给寄存器单元230和/或控制器250,例如,当将状态控制信号CT3从寄存器单元230输出时。
控制器250可向发生器210输出收到识别信号RSV_IF2,例如,当收到状态信息信号SIF1至SIF3的至少一个时。发生器210可以启用寄存器控制信号R17以及选择控制信号S17以响应收到识别信号RSV_IF2。
寄存器单元230可存储可接收来响应寄存器控制信号R17的状态信息信号SIF1至SIF3中的一个。发生器210可以禁用寄存器控制信号R17,并且寄存器单元230可以输出存储的状态信息信号(例如,SIF1、SIF2以及SIF3中的至少一个),例如,以响应寄存器控制信号R17。多路复用器270可通过总线13向处理器15传送可从状态控制寄存器单元230中输出的状态信息信号(例如,SIF1、SIF2以及SIF3中的至少一个),例如,以响应控制信号S17。
处理器15可请求存储在主控制器200的寄存器221至226的至少一个中的信息。发生器210可将所有或基本上所有的寄存器控制信号R11至R16禁用,并且可以例如一个接一个地启用选择控制信号S11至S17,以响应传送控制信号CTR1。寄存器221至226可输出命令信号CMD、地址信号ADD1至ADD3的至少一个以及至少一个数据信号DAT1和DAT2,以响应寄存器控制信号R11至R16。多路复用器270可例如一个接一个选择寄存器221至226的输出信号,以响应选择控制信号S11至S17,并且可将输出信号输出到总线13。
图4所示是依照本发明的图2所示数据读取器300的示范实施例。数据读取单元300的示范实施例可包括控制器310、寄存器(例如地址寄存器)320、多路复用器330、340和350、以及数据缓冲器360。
控制器310可通过总线12从至少一个处理器15和至少一个IP模块16和17中接收传输控制信号CTR2。控制器310可向串行接口400输出传输请求信号REQ2,并且可启用寄存器控制信号R21,例如,以响应传输控制信号CTR2。控制器310可向串行接口400输出读取数据长度信息LEN,可禁用寄存器控制信号R21,并且启用选择控制信号S31,例如,当从串行接口400接收到传输准许信号GRA2时。当从串行接口400接收到接收完成信号NEXT2时,控制器310可例如一个接一个地启用至少一个选择控制信号S32至S34。
控制器310可响应状态控制信号CT1,状态控制信号CT1可从主控制器200接收到并且可以控制预取单元500的操作。当状态控制信号包含涉及预取控制操作的信息时,可以在控制器310中例如通过状态控制信号CT1设置预取控制操作。控制器310可在例如各时间间隔向预取单元500输出预取开始信号START以及预取停止信号STOP。控制器310可通过向预取单元500输出地址比较信号CMP来请求匹配数据信号MAT_DATA。控制器310可禁用选择控制信号S41,并且可启用选择控制信号S42,例如当控制器310从预取单元500接收到匹配信号MAT时。控制器310可启用选择控制信号S41并且可禁用选择控制信号S42,例如,当控制器310没有从预取单元500接收到匹配信号MAT时。
可以不在控制器310中设置预取控制操作,控制器310可以不向预取单元500输出预取开始信号START,并且预取单元500可不执行预取操作。
控制器310可多次从串行接口400接收传送就绪信号READY,并且控制器310可启用并且向总线12输出有效信号VALID。可请求向数据读取单元300传送数据的模块(例如,处理器15和/或IP模块16和17中的至少一个模块)可以确认从总线12上接收到的读取数据信号DATA_R是有效的。控制器310可以确认数据信号RE_DATA可被存储在全部或者基本上全部数据缓冲区中,可将数据缓冲区包含在数据缓冲器360中,例如,当传送准备就绪信号READY可能已经收到多次时。控制器310可启用有效信号VALID,例如,当数据信号RE_DATA可被存储在数据缓冲器360的全部或基本上全部的数据缓冲区中。
状态控制信号CT1可包含请求数据读取单元300的当前操作状态的信息,并且控制器310可向主控制器200传送状态信息信号SIF1,例如,以响应状态控制信号CT1。
地址寄存器320可存储通过总线12接收到的读取地址信号ADD2,例如,当启用寄存器控制信号R21时。读取地址信号ADD2可包含N位并且N可以是整数。地址寄存器320可输出N/3比特的已存储的读取地址信号ADD2,例如,当寄存器控制信号R21被禁用时。例如,当读取地址信号ADD2是24位时,通过将读取地址信号ADD2分成8位一组,地址寄存器320可输出读取地址信号ADD21至ADD23。
多路复用器330可选择命令信号READ1至READK中的至少一个,其中K可以是整数,并且可以向第二多路复用器340输出至少一个已选择的命令信号,例如,作为读取命令信号READ来响应从外部设备接收到的命令选择信号BOOT_OPTION。多路复用器330可保持读取命令信号READ的输出,例如,直到可完成系统10(参见图1)的操作。命令信号READ1至READK中的至少一个可包含,例如,多个位,并且每个位可从分离的命令信号发生器(未示出)产生。命令信号READ1至READK可以具有相同或不同的位值。命令选择信号BOOT_OPTION可以例如依照存储器20的类型改变。以可对应存储器20类型的形式,多路复用器330可输出读取命令信号READ。
多路复用器340可以选择读取命令信号READ以及读取地址信号ADD21至ADD23的至少一个,并且可以向串行接口400输出所选择的信号,例如作为命令数据信号RC_DATA来响应选择控制信号S31至S34。多路复用器340例如可一个接一个地选择并输出读取命令信号READ和/或读取地址信号ADD21至ADD23,作为命令数据信号RC_DATA,例如,以响应选择控制信号S31至S34的启用(例如,连续的启用)。
多路复用器350可选择从串行接口400接收到的数据信号RE_DATA以及从预取单元500接收到的匹配数据信号MAT_DATA的至少一个并输出,例如,以响应选择控制信号S41和S42。数据缓冲器360可以包括多个数据缓冲区(未示出)。数据缓冲器360可存储从多路复用器350接收到的数据信号RE_DATA以及匹配数据信号MAT_DATA的至少一个,并且可将存储的数据信号作为读取数据信号DATA_R输出到总线12上。
控制器310可向串行接口400传送传输请求信号REQ2,并且可启用寄存器控制信号R21,例如,当控制器310从总线12上接收到传输控制信号CTR2时。地址寄存器320可存储读取地址信号ADD2,例如,以响应寄存器控制信号R21。控制器310可向串行接口400输出读取数据长度信息LEN,可以禁用寄存器控制信号R21,并且可启用选择控制信号S31,例如,当控制器310接收到来自串行接口400的传输准许信号GRA2时。
地址寄存器320可将读取地址信号ADD2分成例如每个8位,并且可将读取地址信号ADD2作为读取地址信号ADD21至ADD23输出,以响应寄存器控制信号R21。多路复用器330可选择命令信号READ1至READK中的至少一个并且可将所选择的命令信号作为读取命令信号READ输出,以响应可从外部设备接收到的命令选择信号BOOT_OPTION。
多路复用器340可选择读取命令信号READ,并把它作为命令数据信号RD_DATA传送给串行接口400,以响应选择控制信号S31。控制器310可禁用选择控制信号S31并且可启用选择控制信号S32,例如当来自串行接口400的收到完成信号NEXT2被接收时。多路复用器340可选择读取地址信号ADD21,并将它作为命令数据信号RC_DATA输出,例如以响应选择控制信号S32。控制器310可启用(例如顺序地启用)选择控制信号S33和S34,例如,当接收到收到完成信号NEXT2时。多路复用器340可选择(例如顺序地选择)读取地址信号ADD22和ADD23,并将它们作为命令数据信号RC_DATA输出。
控制器310可以启用选择控制信号S41,以响应存储器时钟信号MCLK。例如,为响应选择控制信号S41,多路复用器350可向数据缓冲器360输出从串行接口400接收到的数据信号RE_DATA。数据缓冲器360可以存储从多路复用器350接收到的数据信号RE_DATA,并可将数据信号RE_DATA作为读取数据信号DATA_R输出到总线12上。控制器310可以启用有效信号VALID并将它输出给总线12,例如,当接收到的传输就绪信号READY的数量达到门限值时。
控制器310可以向预取单元500输出预取开始信号START,例如,当向控制器310设置预取控制操作时,并且控制器310可以向预取单元500输出预取停止信号STOP,例如,在时间间隔的末尾。
控制器310可以向预取单元500输出地址比较信号CMP,例如,当接收到传输控制信号CTR2时。控制器310可禁用选择控制信号S41并可启用选择控制信号S42,例如,当来自预取单元500的匹配信号MAT被接收时。多路复用器350可以向数据缓冲器360输出从预取单元500接收到的匹配数据信号MAT_DATA,例如以响应选择控制信号S42。控制器310可向串行接口400输出传输请求信号REQ2,以读取来自存储器20的数据信号RE_DATA,例如,如果没有从预取单元500接收到匹配信号MAT。
图5是依照本发明的图2所示串行接口400的示范实施例。参考图5,串行接口400可以包括入口判定器410、控制器420、多路复用器430、串行寄存器440、以及数据寄存器450。
入口判定器410可向控制器420传送从主控制器200接收到的传输请求信号REQ1,并且可以启用选择控制信号S51。入口判定器410可把从控制器420接收到的传输准许信号GRA1以及收到完成信号NEXT1传送给主控制器200。入口判定器410可把从数据读取单元300接收到的传输请求信号REQ2传送给控制器420并且可启用选择控制信号S52。入口判定器410可把从控制器420接收到的传输准许信号GRA2传送给数据读取单元300。
入口判定器410可把从数据读取单元300接收到的读取数据长度信息LEN传送给控制器420并且可把从控制器420接收到的收到完成信号NEXT2传送给数据读取单元300。
入口判定器410可依照优先级顺序将传输优先级授权给主控制器200和数据读取单元300中的至少一个,例如,当入口判定器410接收到(例如,同时接收到)传输请求信号REQ1和REQ2时。入口判定器410可传输传输请求信号REQ1和REQ2中的至少一个,并且可启用选择控制信号S51和S52中的至少一个,其中传输请求信号具有对控制器420的优先级。
控制器420可向入口判定器410输出传输准许信号GRA1,例如,以响应传输请求信号REQ1。控制器420可向入口判定器410输出传输准许信号GRA2,例如,以响应传输请求信号REQ2。控制器420可启用片选信号CS并且把片选信号CS与时钟信号MRCLK一起传送给存储器20,例如,当接收到传输请求信号REQ1和REQ2中的至少一个时。控制器420可基于从时钟生成器100接收到的存储器时钟信号MCLK生成时钟信号MRCLK。
控制器420可输出寄存器控制信号R31至R33以响应存储器时钟信号MCLK,例如,当接收到传输请求信号REQ1和REQ2中的至少一个时。
多路复用器430可选择并输出从主控制器200接收到的请求数据信号ODATA以及从数据读取单元300接收到的命令数据信号RC_DATA中的至少一个,例如,以响应选择控制信号S51和S52。多路复用器430可选择并输出请求数据信号ODATA,例如,当选择控制信号S51被启用时,并且多路复用器430可选择并输出命令数据信号RC_DATA,例如,当选择控制信号S52被启用时。
串行寄存器440可存储请求数据信号ODATA以及命令数据信号RC_DATA中的至少一个,请求数据信号ODATA和命令数据信号RC_DATA可从多路复用器430并行地接收,例如,当寄存器控制信号R31被启用时。串行寄存器440可向存储器20传送请求数据信号ODATA以及命令数据信号RC_DATA中的至少一个,当寄存器控制信号R31被禁用时,可将请求数据信号ODATA和命令数据信号RC_DATA作为例如串行输出数据信号SDATA_OUT存储在串行寄存器440中。串行寄存器440可存储可从存储器20接收的串行输入数据信号SDATA_IN,例如,当寄存器控制信号R32被启用时。例如,当寄存器控制信号R32被禁用时,串行寄存器440可并行地向数据寄存器450输出串行输入数据信号SDATA_IN。
例如当寄存器控制信号R33被启用时,数据寄存器450可存储串行输入数据信号SDATA_IN,可将该信号并行地从串行寄存器440接收。数据寄存器450可将存储的串行输入数据信号SDATA_IN作为请求结果数据信号RDATA输出给主控制器200,或作为数据信号RE_DATA输出给数据读取单元300,例如,当寄存器控制信号R33被禁用时。
入口判定器410可传送传输请求信号REQ1和REQ2中的至少一个,传输请求信号REQ1和REQ2可被控制器420接收。入口判定器410可接收传输请求信号REQ1并且入口判定器410可向控制器420传送输请求信号REQ1并且可启用选择控制信号S51。控制器420可通过入口判定器410向主控制器200传送传输准许信号GRA1,例如,来响应传输请求信号REQ1。控制器420可启用片选信号CS并将片选信号CS与时钟信号MRCLK一起传送给存储器20。控制器420可启用寄存器控制信号R31。
多路复用器430可输出从主控制器200接收到的请求数据信号ODATA,例如,以响应选择控制信号S51。串行寄存器440可存储从多路复用器430接收到的请求数据信号ODATA,例如,以响应寄存器控制信号R31。控制器420可禁用寄存器控制信号R31,例如,以响应存储器时钟信号MCLK。串行寄存器440可将存储的请求数据信号ODATA向存储器20(例如,串行地)传送作为串行输出数据信号SDATA_OUT,例如,以响应寄存器控制信号R31。
控制器420可启用寄存器控制信号R31并可向主控制器200传送收到完成信号NEXT1,例如,通过入口判定器410。串行接口400可重复操作,直到例如所有的或者基本上所有的请求数据信号ODATA被接收。控制器420可启用寄存器控制信号R32。串行寄存器440可存储从存储器20(例如,串行地)接收到的串行输入数据信号SDATA_IN,例如,以响应寄存器控制信号R32。控制器420可禁用寄存器控制信号R32并可启用寄存器控制信号R33,例如,以响应存储器时钟信号MCLK。串行寄存器440,例如可并行地向数据寄存器450输出存储的串行输入数据信号SDATA_IN,以响应寄存器控制信号R32。数据寄存器450可存储从串行寄存器440可接收的串行输入数据信号SDATA_IN,例如,以响应寄存器控制信号R33。控制器420可禁用寄存器控制信号R33。数据寄存器450,将存储的串行输入数据信号SDATA_IN例如作为请求结果数据信号RDATA传送给主控制器200,以响应寄存器控制信号R33。
入口判定器410可接收传输请求信号REQ2并且入口判定器410可向控制器420传送传输请求信号REQ2并且可启用选择控制信号S52。入口判定器410可接收来自数据读取单元300的读取数据长度信息LEN并且可向控制器420传送读取数据长度信息LEN。控制器420可禁用片选信号CS,并且可以不提供时钟信号MRCLK,例如当串行接口400接收与读取数据长度信息LEN相对应的大小的串行输入数据信号SDATA_IN时。例如,如果读取数据长度信息LEN是3个字节并且可存储在串行寄存器440的数据长度是8位,控制器420在重复启用和禁用寄存器控制信号R32以及启用和禁用寄存器控制信号R33的操作三次以后,可将片选信号CS禁用。
控制器420可向数据读取单元300传送传输就绪信号READY,例如,当寄存器控制信号R33被禁用时。数据读取单元300可接收数据信号RE_DATA,可将该信号从数据寄存器450中输出,例如,以响应传输就绪信号READY。
图6是图2所示预取单元500的依照本发明的示范实施例的视图。参考图6,预取单元500的示范实施例可以包括控制器510、地址缓冲器520、地址比较器530、数据缓冲器540以及多路复用器550。控制器510可输出地址缓冲控制信号CTL1,例如,以响应预取开始信号START,该预取开始信号可从数据读取单元300接收。控制器510可例如一个接一个地启用数据缓冲控制信号R41至R44,当从串行接口400接收传输就绪信号READY时。控制器510可以禁用所有的或者基本上所有的数据缓冲控制信号R41至R44,例如,当从数据读取单元300接收预取停止信号STOP时。
控制器510可向地址比较器530输出比较控制信号CTL2,例如,当从数据读取单元300接收地址比较信号CMP时。控制器510可启用或禁用选择控制信号S61至S64,例如,以响应从地址比较器530接收的比较结果信号RSU和/或当前读取地址信号ADD_CR。控制器510可向数据读取单元300输出匹配信号MAT,例如,以响应比较结果信号RSU。
地址缓冲器520可存储从总线12接收的读取地址信号ADD2,例如,当启用地址缓冲控制信号CTL1时。当地址缓冲控制信号CTL1被禁用时,地址缓冲器520可将存储的读取地址信号ADD2作为,例如,参考地址信号ADD_PA输出。参考地址信号ADD_PA可以是预取单元500接收的第一个读取地址信号。
地址比较器530可从地址缓冲器520接收参考地址信号ADD_PA以及从总线12读取地址信号ADD2,例如,当启用比较控制信号CTL2时。根据参考地址信号ADD_PA,地址比较器530可计算可存储在数据缓冲器540中的数据信号RE_DATA的地址范围。例如,可将100个数据信号RE_DATA存储在数据缓冲器540中,并且参考地址信号ADD_PA也可以是100个。可存储在数据缓冲器540中的数据信号RE_DATA的地址范围(即,数据缓冲器540的地址范围)可以是100-200。
地址比较器530可决定当前从总线12上接收的读取地址信号ADD2是否包含在数据缓冲器540的100-200地址范围中。地址比较器530可以,例如,依照决定的结果向控制器510输出比较结果信号RSU以及读取地址信号ADD2。地址比较器530可启用比较结果信号RSU,例如,当数据缓冲器540的地址范围中包含读取地址信号ADD2时,并且可以禁用比较结果信号RSU,例如,当数据缓冲器540的地址范围中不包含读取地址信号ADD2时。
在本发明的示范实施例中,数据缓冲器540可包括数据缓冲区541至544,但是可以进一步包括附加的数据缓冲区。数据缓冲区541至544可存储数据信号RE_DATA,该数据信号RE_DATA可从串行接口400接收,例如,当数据缓冲控制信号R41至R44被启用时。数据缓冲区541至544可存储(例如,依次地存储)数据信号RE_DATA,例如,当数据缓冲控制信号R41至R44被启用时(例如,依次地启用)。数据缓冲区541至544可输出存储的数据信号RE_DATA,例如当数据缓冲控制信号R41至R44被禁用时。可以从数据缓冲区541至544输出的数据信号RE_DATA将分别描述成RE_D1至RE_D4。可将数据信号RE_D1至RE_D4从串行接口400输入(例如连续地输入)到预取单元500中。多路复用器550可选择数据信号RE_D1至RE_D4中的至少一个并将所选择的数据信号输出给读取数据读取单元300,例如,作为匹配数据信号MAT_DATA以响应选择控制信号S61至S64。
控制器510可启用地址缓冲控制信号CTL1并且可禁用地址缓冲控制信号CTL1,例如,当从数据读取单元300接收预取开始信号START时。地址缓冲器520可存储当前接收的读取地址信号ADD2,并将存储的读取地址信号ADD2作为,例如参考地址信号ADD_PA输出,以响应地址缓冲控制信号CTL1。
控制器510可启用(例如,顺序地启用)数据缓冲控制信号R41至R44,例如,当接收传输就绪信号READY时。数据缓冲区541至544可接收并存储(例如,依次地接收和存储)数据信号RE_DATA,例如,以响应数据缓冲控制信号R41至R44。控制器510可禁用所有的或者基本上所有的数据缓冲控制信号R41至R44,例如,当从读取数据单元300接收预取停止信号STOP时。
控制器510可启用比较控制信号CTL2,例如,当从数据读取单元300接收地址比较信号CMP时。根据可从地址缓冲器520接收的参考地址信号ADD_PA,地址比较器530可计算出数据缓冲器540的地址范围,例如,以响应比较控制信号CTL2。地址比较器530可决定当前通过总线12接收的读取地址信号ADD2是否可被包含在数据缓冲器540的地址范围内。地址比较器530可启用比较结果信号RSU并可向控制器510输出读取地址信号ADD2,例如,当读取地址信号ADD2被包含在数据缓冲器540的地址范围内时。控制器510可启用匹配信号MAT并可将匹配信号MAT输出给数据读取单元300,例如,以响应比较结果信号RSU,并且可启用选择控制信号S61至S64中的至少一个,例如,以响应读取地址信号ADD2。
多路复用器550可选择可从数据缓冲区541至544接收的数据信号RE_D1至RE_D4中的至少一个,并且可将所选择的数据信号向数据读取单元300输出,例如作为匹配数据信号MAT_DATA,以响应可启用的选择控制信号S61至S64中的至少一个。
地址比较器530可禁用比较结果信号RSU,例如,当数据缓中器540的地址范围中没有包括读取地址信号ADD2时。控制器510可禁用匹配信号MAT并将匹配信号MAT传送给数据读取单元300,例如,当比较结果信号RSU被禁用时。
存储控制器(例如,串行闪存控制器)11可存储读取地址信号ADD2,该读取地址信号ADD2是可使用地址寄存器320以更高的速度从总线12上接收的,并且存储控制器11可使用总线12的时间也可被减少。例如,通过预先通过预取单元500存储来自存储器20的数据信号RE_DATA,依照本发明的示范实施例的存储控制器11可减少存储器20的数据读取时间。
图7是依照本发明的系统30的示范实施例的方框图,该系统应用存储控制器和存储器(例如,串行闪速存储器)40。参考图7,系统30可以包括存储控制器(例如,串行闪存控制器)31、总线桥34、CPU 35、IP模块36和37、控制器(例如直接存储访问(DMA)控制器)38、以及控制器(例如,外部存储控制器)39。系统30可进一步包括附加的IP模块。存储控制器31、CPU 35、IP模块36和37、控制器38、以及控制器39可通过总线(例如,存储器总线)32相连接并且通信。存储控制器31可进一步与存储器40相连接,并且控制器39可进一步与存储器(例如,外部同步动态随机访问存储器(SDRAM))50相连接。
在存储器40中存储的数据可写入存储设备,例如存储器50中或者存储在存储器50中的数据可写入到存储器40中。CPU 35可从存储器40中读取数据并且可以向存储器50中写入读取数据。如图7所示,包含在系统30中的控制器38,可读取(例如自动读取)存储在存储器40中的数据,并向存储设备如存储器50中写入读取数据。
图8是依照本发明的示范实施例的图7所示控制器(例如串行闪存控制器)31的方框图。参考图8,存储控制器31可包括时钟发生器100、主控制器200、串行接口400、数据读取单元600、以及预取单元700。
数据读取单元600可与图2所示的数据读取单元300相似或者基本相似,并且可通过总线32从DMA控制器38接收传输控制信号(例如,DMA传输控制信号)DMA_CTR以及地址信号(例如,DMA地址信号)DMA_ADD。数据读取单元600可启用有效信号(例如,DMA有效信号)DMA_VALID,例如,当从串行接口400接收一定数量的传输就绪信号READ的时候。
预取单元700可以与图2所示的预取单元500相似或基本上相似,并且可以从数据读取单元600接收读取地址信号ADD2和地址信号DMA_ADD中的至少一个信号。
图9所示的是依照本发明的图8中数据读取单元600的示范实施例。数据读取单元600可包括控制器610、多路复用器620、地址寄存器630、多路复用器640、多路复用器650、多路复用器660、以及数据缓冲器670。
控制器610的操作可以与图4所示的控制器310的操作相似,但是控制器610可进一步通过总线32接收来自控制器38的传输控制信号DMA_CTR。控制器610可启用选择控制信号SEL1,例如以响应传输控制信号DMA_CTR,并且可以启用选择控制信号SEL2,例如以响应传输请求信号CTR2。
控制器610可接收传输控制信号CTR2,并且控制器610可向总线32输出有效信号VALID,例如当从串行接口400接收一定数量的传输就绪信号READY时。
多路复用器620可选择从总线(例如存储器总线)32接收的DMA读取地址信号DMA_ADD,并且向地址寄存器630和预取单元700输出DMA读取地址信号DMA_ADD,例如当选择控制信号SEL1被启用时。多路复用器620可选择从总线32接收的读取地址信号ADD2,并将读取地址信号ADD2输出给地址寄存器630和预取单元700,例如,当选择控制信号SEL2被启用时。
地址寄存器630、多路复用器640至660、以及数据缓冲器670的操作可以与地址寄存器320、多路复用器330至350、以及数据缓冲器360分别相同或基本上相同。
控制器610可向串行接口400输出传输请求信号REQ2并且可以启用寄存器控制信号RE1,以响应通过总线32接收的传输控制信号CTR2和DMA传输控制信号DMA_CTR中的至少一个信号。控制器610可启用选择控制信号SEL1,例如当收到DMA传输控制信号DMA_CTR时,并且可以启用选择控制信号SEL2,例如当收到传输控制信号CTR2时。
数据读取单元600可接收传输控制信号CTR2并且数据读取单元300与图4所示的数据读取单元300可以用相同或基本上相同的方式操作。多路复用器620可向地址寄存器630和预取单元700输出通过总线32接收的DMA地址信号DMA_ADD,以响应选择控制信号SEL1。地址寄存器630可存储DMA地址信号DMA_ADD,以响应寄存器控制信号RE1。在当控制器610接收传输控制信号CTR2时,数据读取单元600的操作可以相同或基本上相同。
图10是依照本发明的系统的另一个示范实施例的方框图,该系统可以使用存储控制器(例如,串行闪存控制器)64及存储器(例如,串行闪速存储器)80。该系统60可以包括存储控制器64、总线桥66、处理器67、IP模块68和69、以及外部存储控制器70。系统60可进一步包括附加的IP模块。存储控制器64、处理器67、IP模块68和69、以及外部存储控制器70可以连接到总线(例如,存储器总线)61,并可通过总线61相互通信。存储控制器64可进一步与存储器80相连,并且外部存储控制器70可以进一步与外部存储器(例如,外部同步随机访问存储器(SDRAM)或静态随机访问存储器(SRAM))90相连。系统60的操作与图7所示系统30的操作相似或基本上相似。然而,存储控制器64可包括DMA功能。存储控制器64可通过总线(例如主总线)62和总线(例如从总线)63与总线61相连。
图11是图10所示存储控制器的另一个示范实施例的方框图。参考图11,存储控制器64可包括时钟发生器100、串行接口400、数据读取单元800、预取单元900、DMA控制器1000、以及主控制器1100。时钟发生器100和串行接口400的结构和操作与图8所示的相同或基本上相同。
数据读取单元800可通过总线63与总线61相连。数据读取单元800的操作与图8所示的数据读取单元600相似或基本上相似。
然而,数据读取单元800可通过总线61向DMA控制器1000输出第三传输准许信号GRA3,并向预取单元900输出DMA模式信号DMA_MODE。数据读取单元800可向预取单元900输出DMA模式信号DMA_MODE,例如,当接收来自DMA控制器1000的DMA传输控制信号DMA_CTR时,并且预取单元900可以DMA模式操作。
DMA控制器1000可通过总线62与总线61相连。DMA控制器1000可通过总线61向数据读取单元800传送DMA传输控制信号DMA_CTR,例如,以响应通过总线61从处理器(如,CPU)67接收的传输控制信号CTR3。DMA控制器1000可通过总线61传输DMA读取地址信号DMA_RADD给数据读取单元800,例如,如果接收来自数据读取单元800的传输准许信号GRA3。DMA控制器1000可通过总线61向外部存储控制器70传送传输控制信号CTR4,例如,如果接收来自数据读取单元800的DMA有效信号DMA_VALID。
DMA控制器1000可向外部存储控制器70传送DMA写入地址信号DMA_WADD,例如,如果接收来自外部存储控制器70的传输准许信号GRA4。数据读取单元800可通过总线61向外部存储控制器70输出DMA数据信号DMA_DATA1。
DMA控制器1000可通过总线61向数据读取单元800传送DMA传输控制信号DMA_CTR,例如以响应经总线61接收的来自处理器67的传输控制信号CTR3。DMA控制器1000可向外部存储控制器70传送传输控制信号CTR4和DMA读取地址信号DMA_RADD。外部存储控制器70可从SDRAM90读取DMA数据信号DMA_DATA2,并可向总线61传送DMA数据信号DMA_DATA2,以响应DMA读取地址信号DMA_RADD。
DMA控制器1000可通过总线61向数据读取单元800传送DMA写入地址信号DMA_WADD,例如如果接收来自数据读取单元800的传输准许信号GRA3。预取单元900可存储通过总线61从外部存储控制器70接收的DMA数据信号DMA_DATA2。
DMA控制器1000可共享预取单元900的数据缓冲器950(参见图13)。预取单元900可通过总线61接收DMA数据信号DMA_DATA2,例如当处于DMA方式时。预取单元900可处于DMA方式,并且预取单元900的数据缓冲器950可用作为DMA控制器1000的数据缓冲器。DMA控制器1000不需要包含附加的数据缓冲器。
主控制器1100与图3的主控制器200相似或基本上相似。然而,主控制器1100可生成并向DMA控制器1000传送基于控制数据信号DATA_IN的状态控制信号CT4。状态控制信号CT4可请求DMA控制器1000的当前操作状态信息,或者指令DMA控制器1000执行一个操作。DMA控制器1000可向主控制器1100传送状态信息信号SIF4以响应状态控制信号CT4。
图12所示的是图11的数据读取单元800的另一个示范实施例。参考图12,数据读取单元800可包含控制器810、多路复用器820、地址寄存器830、多路复用器840、多路复用器850、多路复用器860、数据缓冲器870以及多路复用器880。
控制器810可以与图9所示的控制器600相同或基本上相同。然而,控制器810可以向DMA控制器1000传送传输准许信号GRA3并且向预取单元900输出DMA模式信号DMA_MODE,例如以响应DMA传输控制信号DMA_CTR。
多路复用器820、地址寄存器830、多路复用器840和860以及数据缓冲器870,可以分别与图9所示的多路复用器620、地址寄存器630、多路复用器640和660、以及数据缓冲器670相同或基本上相同。
多路复用器880可选择命令信号WRT1至WRTK中的至少一个信号,其中K可以是整数,并将所选择的命令信号例如作为写入命令信号WRITE向多路复用器850输出,以响应可从外部设备接收的命令选择信号BOOT_OPTION。多路复用器880可将写入命令信号WRITE的输出保持,直到存储器80的写入操作可结束。命令信号WRT1至WRTK中的每一个可包含多个位,并且可由例如单独的命令信号生成电路产生。命令信号WRT1至WRTK可具有不同的位值。命令选择信号BOOT_OPTION可依照存储器80的类型而改变。多路复用器880可按照可对应存储器80类型的形式输出写入命令信号WRITE。
多路复用器850可以与图9所示的多路复用器650相似,但是多路复用器850可以进一步接收来自预取单元900的匹配数据信号MAT_DATA以及来自多路复用器880的写入命令信号WRITE。
控制器810可以按照参考图12的示例所描述的方式来接收DMA传输控制信号DMA_CTR。在通过DMA控制器1000的读取和写入过程中,控制器810可从例如DMA控制器1000接收DMA传输控制信号DMA_CTR。
在DMA控制器1000读取存储器80的数据的过程中,控制器810可启用DMA模式信号DMA_MODE,并且可向串行接口400传送传输请求信号REQ2,例如,以响应例如通过总线(例如存储器总线)61和总线(例如从总线)63可从DMA控制器1000接收的DMA传输控制信号DMA_CTR。控制器810可启用选择控制信号SEL11以及寄存器控制信号RE11,并可以例如通过总线61向DMA控制器1000传送传输准许信号GRA3。多路复用器320可输出可从DMA控制器1000接收的DMA读取地址信号DMA_RADD,例如,以响应选择控制信号SEL11。
地址寄存器830可存储DMA读取地址信号DMA_RADD,例如,以响应寄存器控制信号RE11。当接收来自串行接口400的传输准许信号GRA2时,控制器810可向串行接口400传送数据长度信息LEN。控制器810可禁用寄存器控制信号RE11,并可启用(例如依次地启用)选择控制信号SEL13至SEL16,例如以响应存储器时钟信号MCLK。
地址寄存器830可将存储的DMA读取地址信号DMA_RADD分成多个位,并且可将它们作为读取地址信号RADD1至RADD3输出,例如以响应寄存器控制信号RE11。
第二多路复用器840可选择命令信号READ1至READK中的至少一个信号,并且可将所选择的命令信号作为例如读取命令信号READ来输出,以响应可从外部设备接收的命令选择信号BOOT_OPTION。
多路复用器850可选择(例如依次地选择)读取命令信号READ以及读取地址信号RADD1至RADD3,并将它们作为例如命令数据信号RC_DATA输出给串行接口400,以响应选择控制信号SEL13至SEL16。
在数据读取单元800的操作过程中,在DMA控制器1000向存储器80的数据写入过程中,控制器810可启用DMA模式信号DMA_MODE,并且可向串行接口400传送传输请求信号REQ2,例如以响应可通过总线61和总线63从DMA控制器1000接收的传输控制信号DMA_CTR。控制器810可启用选择控制信号SEL11以及寄存器控制信号RE11,并且可向DMA控制器1000传送传输准许信号GRA3。多路复用器820可输出从DMA控制器1000接收的DMA写入地址信号DMA_WADD,例如,以响应选择控制信号SEL11。
地址寄存器830可存储DMA写入地址信号DMA_WADD,例如,以响应寄存器控制信号SEL11。当接收来自串行接口400的传输准许信号GRA2时,控制器810可禁用寄存器控制信号RE11,并启用(例如顺序地启用)选择控制信号SEL17、SEL14至SEL16、以及SEL18。
地址寄存器830可将存储的DMA写入地址信号DMA_WADD分成多位,并可将它们作为写入地址信号WADD1至WADD3输出,例如,以响应寄存器控制信号RE11。
多路复用器880可选择命令信号WRT1至WRTK中的至少一个信号,并将所选择的命令信号作为写入命令信号WRITE输出,例如以响应可从外部设备接收的命令选择信号BOOT_OPTION。
多路复用器850可选择(例如依次地选择)写入命令信号WRITE以及写入地址信号WADD1至WADD3,并且将它们作为例如命令数据信号RC_DATA输出给串行接口400,以响应选择控制信号SEL17、SEL14至SEL16。多路复用器850可响应选择控制信号SEL18,并且可将可从预取单元900接收的匹配数据信号MAT_DATA输出给串行接口400,例如作为命令数据信号RC_DATA。匹配数据信号MAT_DATA可以是例如通过总线61和总线63从外部存储控制器70接收的DMA写入数据信号。
图13所示的是依照本发明的图11的预取单元900的另一个示范实施例。预取单元900可包含控制器910、地址缓冲器920、地址比较器930、多路复用器940、数据缓冲器950以及多路复用器960。控制器910的操作可以与图6所示的控制器510的操作相似或基本上相似,并且控制器910可进步一输出选择控制信号SEL31和SEL32以及模式控制信号CTL3,以响应DMA模式信号DMA_MODE。控制器910可启用选择控制信号SEL32,例如,当DMA模式信号DMA_MODE被启用时,并且控制器910可启用选择控制信号SEL31,例如当DMA模式信号DMA_MODE被禁用时。控制器910可启用模式控制信号CTL3,例如当启用DMA模式信号DMA_MODE并且从数据读取单元800接收地址比较信号CMP时。
地址缓冲器920、地址比较器930、数据缓冲器950以及多路复用器960的操作可以分别与地址缓冲器520、地址比较器530、数据缓冲器540以及多路复用器550的操作相似或基本上相似,除了地址比较器930之外,它可以不执行地址比较操作,例如,当模式控制信号CTL3被启用时,并且可向控制器910输出当前接收的DMA读取地址信号DMA_RADD。地址比较器930可启用比较结果信号RSU,例如,当模式控制信号CTL3被启用时。地址比较器930可将比较结果信号RSU的被启用状态保持,例如,直到模式控制信号CTL3被禁用为止。
多路复用器940可输出从串行接口400接收的数据信号RE_DATA,例如,当选择控制信号SEL31被启用时。多路复用器940可将通过总线61从存储控制器(例如,外部存储控制器)70接收的DMA数据信号DMA_DATA2输出,例如,当选择控制信号SEL32被启用时。
将如图13描述地,描述依照本发明的预取单元900的一个示范实施例,该预取单元900可在DMA模式下运行。
在存储器80的DMA读取过程中,控制器910可接收来自数据读取单元800的DMA模式信号DMA_MODE以及地址比较信号CMP。当DMA模式信号DMA_MODE被启用时,预取单元900可在DMA模式下运行。预取单元900的数据缓冲器950可作为DMA控制器1000的数据缓冲器使用。
控制器910可启用模式控制信号CTL3,例如,以响应DMA模式信号DMA_MODE以及地址比较信号CMP,并且可启用选择控制信号SEL31。
数据读取单元800可通过例如串行接口400向存储器80传送可基于DMA读取地址信号DMA_RADD生成命令数据信号RC_DATA,其中DMA读取地址信号DMA_RADD可从DMA控制器1000接收。可将通过串行接口400的来自存储器80的数据信号RE_DATA输入到预取单元900中。
控制器910可启用(例如,依次地启用)数据缓冲控制信号RE21至RE24,例如一个接一个地启用,当从串行接口400接收传输就绪信号READY时。数据缓冲器951至954可存储(例如,依次地存储)数据信号RE_DATA,例如,以响应数据缓冲控制信号RE21至RE24。可存储在数据缓冲器951至954的数据信号RE_DATA可以是RE_D1至RE_D4。可将数据信号RE_D1至RE_D4输入(例如连续地输入)到预取单元900中。
地址比较器930可启用比较结果信号RSU,并且可以输出可由控制器910接收的DMA读取地址信号DMA_RADD,例如,以响应模式控制信号CTL3。控制器910可启用并向数据读取单元800输出匹配信号MAT,例如以响应比较结果信号RSU。控制器910可启用(例如依次地启用)选择控制信号SEL21到SEL24,并且可禁用(例如,依次地禁用)数据缓冲控制信号RE21至RE24,例如,以响应DMA读取地址信号DMA_RADD。数据缓冲器951至954可输出可被存储(例如,依次地存储)的读取数据信号RE_D1至RE_D4。多路复用器960可选择(例如顺序地选择)读取数据信号RE_D1至RE_D4,并可将它们作为例如匹配数据信号MAT_DATA输出给数据读取单元800,以响应选择控制信号SEL21至SEL24。
在存储器80的DMA写入过程中,控制器910可从数据读取单元800接收DMA模式信号DMA_MODE。如果没有接收地址比较信号CMP,控制器910可启用选择控制信号SEL32,例如当DMA模式信号DMA_MODE被启用时。控制器910可启用(例如,顺序地启用)数据缓冲控制信号RE21至RE24。多路复用器940可输出DMA数据信号DMA_DATA2,该信号可从控制器70例如经总线61接收(例如,连续地接收),以响应选择控制信号SEL32。数据缓冲器951至954可存储(例如,顺序地存储)DMA数据信号DMA_DATA2,例如,以响应数据缓冲控制信号RE21至RE24。可存储在数据缓冲器951至954中的DMA数据信号RE_DATA2可以是DMA_D1至DMA_D4。可以将DMA数据信号DMA_D1至DMA_D4输入到(例如,连续地输入)预取单元900中。
控制器910可以启用(例如,依次地启用)选择控制信号SEL21至SEL24,并且可以禁用(例如,依次地禁用)数据缓冲控制信号RE21至RE24。数据缓冲器951至954可输出存储的(例如,依次存储的)DMA数据信号DMA_D1至DMA_D4。多路复用器960可选择(例如,顺序地选择)DMA数据信号DMA_D1至DMA_D4,并将它们作为匹配数据信号MAT_DATA输出给数据读取单元800,例如以响应选择控制信号SEL21至SEL24。
如上所述,例如,通过更有效的控制存储器(例如,串行闪速存储器)的读取和/或写入操作,依照本发明的示范实施例的控制器(例如,串行闪存控制器)可减少总线(例如,存储器总线)的占用时间。
虽然本发明的示范实施例已经关于芯片上系统进行了描述,但是要理解各示范实施例可以应用于任何适当的系统。
虽然本发明的示范实施例已经关于串行闪速存储器、同步动态随机访问存储器(SDRAM)以及静态随机访问存储器(SRAM)进行了描述,但是要理解可将任何适当的存储器或者存储器的组合与本发明的各示范实施例相关地使用。
虽然本发明的示范实施例已经关于8位读取地址信号进行了描述,但是要理解如这里讨论的任何信号可以由任何适当数量的位组成。例如,8位、16位等等,或者其组合。
虽然本发明的示范实施例已经关于知识产权模块进行了描述,但是要理解所述知识产权模块可以是任何适合类型的宏模块。
虽然本发明的示范实施例已经关于内部和外部存储器进行了描述,但是要理解上述各种存储器可以是内部的、外部的或者其任意的组合。
虽然本发明的示范实施例已经关于直接存储器访问操作进行了描述,但是要理解本发明的示范实施例可以应用于相关的任何适合的存储器操作。
虽然本发明的示范实施例已经关于相应的图中所示的组件例如在存储控制器11中实现的主控制器200进行了描述,但是要理解类似的组件(例如,主控制器200和主控制器1100)是可以互换的。例如,主控制器1100可实现在控制器11中。
虽然已经详细的展示并描述了本发明的示范实施例,但是所属领域的普通技术人员要理解,可作出各种形式和细节上的变换,而不脱离如权利要求定义的本发明的精神和实质。
Claims (22)
1.一种存储控制器,包括:
主控制器,用于存储通过第一总线接收到的来自处理器的控制数据信号,并且通过基于所存储的控制数据信号生成请求数据信号来控制存储器;
数据读取单元,用于存储通过第二总线接收到的来自处理器和IP模块中至少一个的读取地址信号,并且通过基于读取地址信号生成命令数据信号,从存储器读取数据;以及
串行接口,用于作为主控制器和数据读取单元中的至少一个与存储器的接口。
2.如权利要求1所述的存储控制器,其中控制数据信号包括命令信号。
3.如权利要求1所述的存储控制器,其中当接收到至少一个读取地址信号时,数据读取单元顺序地生成预取开始信号和预取停止信号。
4.如权利要求1所述的存储控制器,进一步包括预取单元,用于接收至少一个读取地址信号,预取并存储通过串行接口接收到的来自存储器的读取数据信号,并停止读取数据信号的存储操作,以响应预取停止信号。
5.如权利要求4所述的存储控制器,其中当接收到至少一个读取地址信号时,数据读取单元生成地址比较信号,并且
当与至少一个读取地址信号相应的匹配数据信号存在时,预取单元将匹配数据信号与匹配信号一起输出给数据读取单元,以响应地址比较信号。
6.如权利要求1所述的存储控制器,其中数据读取单元包括,
控制器,用于向串行接口输出寄存器控制信号以及传输请求信号,以响应通过第二总线接收到的传输控制信号,并且当从串行接口接收到传输准许信号时,输出第一选择控制信号,
地址寄存器,用于存储通过第二总线接收到的读取地址信号,并输出读取地址信号,以响应寄存器控制信号,
第一多路复用器,用于选择多个命令信号中的至少一个,并且将该命令信号作为读取命令信号输出,以响应外部命令选择信号,以及
第二多路复用器,用于顺序地选择读取命令信号以及读取地址信号,并且将读取命令信号和读取地址信号作为命令数据信号输出,以响应第一选择控制信号。
7.如权利要求1所述的存储控制器,其中串行接口包括,
入口判定器,用于接收和输出来自主控制器和数据读取单元中至少一个的传输请求信号,并且输出选择控制信号,以响应传输请求信号,
控制器,用于启用片选信号,将片选信号与存储器时钟信号一起输出给存储器,通过入口判定器将传输准许信号输出给主控制器和数据读取单元中的至少一个,并且输出第一、第二以及第三寄存器控制信号,以响应通过入口判定器接收到的传输请求信号,
多路复用器,用于选择和输出请求数据信号和命令数据信号中的至少一个,以响应选择控制信号,
串行寄存器,用于将从多路复用器接收到的请求数据信号和命令数据信号中的至少一个作为串行输出数据信号传送给存储器,以响应第一寄存器控制信号,并且将从存储器接收到的串行输入数据信号作为并行数据信号输出,以响应第二寄存器控制信号,以及
数据寄存器,用于接收并行数据信号并且把并行数据信号作为读取数据信号传送给主控制器和数据读取单元中的至少一个,以响应第三寄存器控制信号。
8.如权利要求1所述的存储控制器,其中数据读取单元通过第二总线从直接存储器访问控制器接收直接存储器访问地址信号,通过基于直接存储器访问地址信号生成命令数据信号,从存储器读取直接存储器访问数据,并且通过第二总线提供向直接存储器访问控制器提供直接存储器访问数据。
9.一种存储控制器,包括:
主控制器,用于存储通过第一总线接收到的来自处理器的控制数据信号,并且通过基于控制数据信号生成请求数据信号来控制存储器;
DMA控制器,通过第三总线与第二总线相连接,并且通过第三总线传送地址信号;
数据读取单元,通过第四总线与第二总线相连,存储经第四总线从处理器和至少一个IP模块的至少一个接收的地址信号和读取地址信号的至少一个,并且数据读取单元通过基于地址信号生成命令数据信号,从存储器读取数据;以及
串行接口,用于作为主控制器和数据读取单元中的至少一个与存储器的接口。
10.如权利要求9所述的存储控制器,其中数据读取单元包括,
控制器,用于生成第一选择控制信号和寄存器控制信号,向串行接口输出传输请求信号,以响应通过第四总线和第二总线接收的DMA传输控制信号和传输控制信号中的至少一个,并且当从串行接口接收到传输准许信号时输出第二选择控制信号,
第一多路复用器,用于选择读取地址信号和地址信号中的至少一个,并且输出所选择的地址信号,以响应第一选择控制信号,
地址寄存器,用于存储从第一多路复用器接收到的读取地址信号和地址信号中的至少一个,并且输出所存储的地址信号,以响应寄存器控制信号,
第二多路复用器,用于选择多个命令信号中的至少一个,并且将所选择的命令信号作为读取命令信号输出,以响应外部命令选择信号,以及
第三多路复用器,用于顺序地选择读取命令信号和存储的地址信号,并且将它们作为命令数据信号输出,以响应第二选择控制信号。
11.如权利要求9所述的存储控制器,其中控制器进一步包括,
预取单元,用于从DMA控制器接收写入数据信号,并且将写入数据信号作为匹配数据信号输出给数据读取单元,以响应模式信号,其中
DMA控制器通过第三总线传送写入数据信号,并且当接收到地址信号时,数据读取单元的控制器生成模式信号。
12.一种主控制器,用于存储通过第一总线接收的来自处理器的控制数据信号,并且通过基于存储的控制数据信号生成请求数据信号来控制存储器。
13.如权利要求12所述的主控制器,进一步包括,
发生器,生成传输识别信号以及寄存器控制信号,以响应通过第一总线接收到的传输控制信号和控制地址信号,
存储单元,存储从串行接口接收到的控制数据信号和请求结果数据信号中的至少一个,并且输出存储的数据信号,以响应寄存器控制信号,
命令解码器,通过将包含在控制数据信号中的命令信号解码而输出命令信息,
控制器,向串行接口输出传输请求信号,以响应传输识别信号和命令信息,并且当从串行接口接收到传输准许信号时输出第一选择控制信号,以及
第一多路复用器,基于从存储单元接收的存储的数据信号,向串行接口输出请求数据信号,以响应第一选择控制信号。
14.一种数据读取单元,存储从处理器和至少一个IP模块中的至少一个接收到的读取地址信号,并且通过基于读取地址信号生成命令数据信号,从存储器中读取数据。
15.如权利要求14所述的数据读取单元,进一步包括,
控制器,向串行接口输出寄存器控制信号和传输请求信号,以响应通过第二总线接收到的传输控制信号,并且当从串行接口接收到传输准许信号时输出第一选择控制信号,
地址寄存器,存储通过第二总线接收到的读取地址信号,并且输出读取地址信号,以响应寄存器控制信号,
第一多路复用器,选择多个命令信号中的至少一个,并且将命令信号作为读取命令信号输出,以响应外部命令选择信号,以及
第二多路复用器,顺序地选择读取命令信号以及读取地址信号,并且将读取命令信号和读取地址信号作为命令数据信号输出,以响应第一选择控制信号。
16.一种串行接口,从主控制器和数据读取单元中的至少一个接收传输请求信号,将传输准许信号输出给主控制器和数据读取单元中的至少一个,基于第一寄存器控制信号将请求数据信号和命令数据信号中的至少一个作为串行输出数据信号传送给存储器,并且将并行数据信号作为读取数据信号传送给主控制器和数据读取单元中的至少一个,以响应寄存器控制信号。
17.如权利要求16所述的串行接口,进一步包括,
入口判定器,从主控制器和数据读取单元中的至少一个接收和输出传输请求信号,并且输出选择控制信号,以响应传输请求信号,
控制器,启用片选信号,将片选信号与存储器时钟信号一起输出,通过入口判定器向主控制器和数据读取单元中的至少一个输出传输准许信号,并且输出第一、第二和第三寄存器控制信号,以响应通过入口判定器接收到的传输请求信号,
多路复用器,选择和输出请求数据信号和命令数据信号中的至少一个,以响应选择控制信号,
串行寄存器,将从所述多路复用器接收到的请求数据信号和命令数据信号中的至少一个作为串行输出数据信号传送给存储器,以响应第一寄存器控制信号,并且将从存储器接收到的串行输入数据信号作为并行数据信号输出,以响应第二寄存器控制信号,以及
数据寄存器,接收并行数据信号并且将并行数据信号作为读取数据信号传送给主控制器和数据读取单元中的至少一个,以响应第三寄存器控制信号。
18.一种预取单元,在预取数据信号之后,存储通过串行接口接收到的来自存储器的数据信号,以响应预取开始信号,停止存储数据信号,以响应预取停止信号,当与读取地址信号相应的匹配数据信号出现在数据信号中时,向数据读取单元输出匹配信号和匹配数据信号,以响应地址比较信号。
19.如权利要求18所述的预取单元,进一步包括,
控制器,响应预取开始信号并输出地址缓冲控制信号和数据缓冲控制信号,响应地址比较信号并输出比较控制信号,响应比较结果信号和第一读取地址信号并输出选择控制信号,并且响应比较结果信号并输出匹配信号,
地址缓冲器,响应地址缓冲控制信号并存储第一读取地址信号,并且将第一读取地址信号作为参考地址信号输出,
数据缓冲单元,响应数据缓冲控制信号并存储从串行接口接收的读取数据信号,
地址比较器,响应参考地址信号并计算数据缓冲器的地址范围,并且依照第一读取地址信号是否包含在地址范围中,输出比较结果信号以及第一读取地址信号,以及
多路复用器,响应选择控制信号并且选择从数据缓冲器接收到的至少一个读取数据信号,并且将所选择的读取数据信号作为匹配数据信号输出给数据读取单元。
20.一种系统,包括:
处理器;
至少一个IP模块;以及
存储控制器,存储通过第一总线接收到的来自处理器的控制数据信号,通过基于存储的控制数据信号生成请求数据信号来控制存储器,存储通过第二总线接收到的来自处理器和至少一个IP模块中的至少一个的多个读取地址信号,并通过基于多个读取地址信号中的至少一个生成命令数据信号,从存储器中读取数据。
21.一种系统,包括:
处理器;
至少一个IP模块;
直接存储器访问控制器,生成直接存储器访问地址信号;以及
存储控制器;其中
存储控制器存储通过第一总线从处理器接收到的控制数据信号,通过基于存储的控制数据信号生成请求数据信号来控制存储器,通过第二总线传送DMA地址信号,存储通过第三总线接收到的来自处理器和至少一个IP模块中至少一个的多个读取地址信号和多个DMA地址信号中的至少一个,并通过基于读取地址信号和DMA地址信号中的至少一个生成命令数据信号,来从存储器中读取数据。
22.如权利要求21所述的系统,其中将直接存储器访问控制器包含在存储控制器中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR11014/2004 | 2004-02-19 | ||
KR1020040011014A KR100546403B1 (ko) | 2004-02-19 | 2004-02-19 | 감소된 메모리 버스 점유 시간을 가지는 시리얼 플레쉬메모리 컨트롤러 |
KR11014/04 | 2004-02-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1680930A true CN1680930A (zh) | 2005-10-12 |
CN100465931C CN100465931C (zh) | 2009-03-04 |
Family
ID=34858749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100717195A Active CN100465931C (zh) | 2004-02-19 | 2005-02-18 | 减少总线使用时间的系统和控制器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7543114B2 (zh) |
KR (1) | KR100546403B1 (zh) |
CN (1) | CN100465931C (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103257940A (zh) * | 2013-03-27 | 2013-08-21 | 青岛中星微电子有限公司 | 一种片上系统SoC写数据的方法及装置 |
CN107526688A (zh) * | 2017-09-12 | 2017-12-29 | 上海兆芯集成电路有限公司 | 储存装置以及配置方法 |
CN107851087A (zh) * | 2015-07-15 | 2018-03-27 | 华为技术有限公司 | 用于片上系统(SoC)的仓库与细粒度调度 |
CN107918593A (zh) * | 2017-05-16 | 2018-04-17 | 烟台市迈高机器人科技有限公司 | 近端一对多串行总线的拓展接口电路以及通信方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7743176B1 (en) * | 2005-03-10 | 2010-06-22 | Xilinx, Inc. | Method and apparatus for communication between a processor and hardware blocks in a programmable logic device |
US8996784B2 (en) * | 2006-03-09 | 2015-03-31 | Mediatek Inc. | Command controller, prefetch buffer and methods for accessing a serial flash in an embedded system |
US20070260778A1 (en) * | 2006-04-04 | 2007-11-08 | Ming-Shiang Lai | Memory controller with bi-directional buffer for achieving high speed capability and related method thereof |
JP2010282296A (ja) * | 2009-06-02 | 2010-12-16 | Sanyo Electric Co Ltd | データチェック回路 |
US9342445B2 (en) | 2009-07-23 | 2016-05-17 | Hgst Technologies Santa Ana, Inc. | System and method for performing a direct memory access at a predetermined address in a flash storage |
KR101028855B1 (ko) * | 2009-09-23 | 2011-04-12 | (주)알파칩스 | 시리얼 플래시 컨트롤러 |
US8560778B2 (en) * | 2011-07-11 | 2013-10-15 | Memory Technologies Llc | Accessing data blocks with pre-fetch information |
TW201308200A (zh) * | 2011-08-12 | 2013-02-16 | Ite Tech Inc | 橋接裝置及其資料預取及丟棄之方法 |
US9684461B1 (en) | 2016-10-31 | 2017-06-20 | International Business Machines Corporation | Dynamically adjusting read data return sizes based on memory interface bus utilization |
US9892066B1 (en) * | 2016-10-31 | 2018-02-13 | International Business Machines Corporation | Dynamically adjusting read data return sizes based on interconnect bus utilization |
JP7468112B2 (ja) * | 2020-04-20 | 2024-04-16 | 株式会社リコー | インタフェース回路およびインタフェース回路の制御方法 |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52123137A (en) * | 1976-04-09 | 1977-10-17 | Hitachi Ltd | Duplication memory control unit |
US4410941A (en) * | 1980-12-29 | 1983-10-18 | Wang Laboratories, Inc. | Computer having an indexed local ram to store previously translated virtual addresses |
US5170476A (en) * | 1990-01-22 | 1992-12-08 | Motorola, Inc. | Data processor having a deferred cache load |
US5410674A (en) * | 1991-10-28 | 1995-04-25 | Eastman Kodak Company | Circuit for controlling data transfer from SCSI disk drive to VME bus |
GB2285524B (en) * | 1994-01-11 | 1998-02-04 | Advanced Risc Mach Ltd | Data memory and processor bus |
JP3653757B2 (ja) * | 1994-10-31 | 2005-06-02 | 井関農機株式会社 | 移動農機におけるコントローラのデータ記憶処理装置 |
US5630045A (en) * | 1994-12-06 | 1997-05-13 | International Business Machines Corporation | Device and method for fault tolerant dual fetch and store |
US5778436A (en) * | 1995-03-06 | 1998-07-07 | Duke University | Predictive caching system and method based on memory access which previously followed a cache miss |
US6412045B1 (en) * | 1995-05-23 | 2002-06-25 | Lsi Logic Corporation | Method for transferring data from a host computer to a storage media using selectable caching strategies |
JPH08328914A (ja) * | 1995-05-29 | 1996-12-13 | Hitachi Ltd | メモリダンプ方式 |
DE69634358T2 (de) * | 1995-06-07 | 2005-12-29 | Samsung Electronics Co., Ltd., Suwon | Verzögerungsverringerung in der übertragung von gepufferten daten zwischenzwei gegenseitig asynchronen bussen |
US6085291A (en) * | 1995-11-06 | 2000-07-04 | International Business Machines Corporation | System and method for selectively controlling fetching and prefetching of data to a processor |
US5951685A (en) * | 1996-12-20 | 1999-09-14 | Compaq Computer Corporation | Computer system with system ROM including serial-access PROM coupled to an auto-configuring memory controller and method of shadowing BIOS code from PROM |
US6195735B1 (en) * | 1996-12-31 | 2001-02-27 | Texas Instruments Incorporated | Prefetch circuity for prefetching variable size data |
US5896549A (en) | 1997-02-04 | 1999-04-20 | Advanced Micro Devices, Inc. | System for selecting between internal and external DMA request where ASP generates internal request is determined by at least one bit position within configuration register |
US6490658B1 (en) * | 1997-06-23 | 2002-12-03 | Sun Microsystems, Inc. | Data prefetch technique using prefetch cache, micro-TLB, and history file |
US6138213A (en) * | 1997-06-27 | 2000-10-24 | Advanced Micro Devices, Inc. | Cache including a prefetch way for storing prefetch cache lines and configured to move a prefetched cache line to a non-prefetch way upon access to the prefetched cache line |
DE19733527A1 (de) | 1997-08-02 | 1999-02-04 | Philips Patentverwaltung | Kommunikationssystem mit einer DMA-Einheit |
US6341335B1 (en) * | 1997-10-29 | 2002-01-22 | Hitachi, Ltd. | Information processing system for read ahead buffer memory equipped with register and memory controller |
US6134633A (en) * | 1997-10-31 | 2000-10-17 | U.S. Philips Corporation | Prefetch management in cache memory |
US6047359A (en) * | 1997-11-04 | 2000-04-04 | The United States Of America As Represented By The Secretary Of The Navy | Predictive read cache memories for reducing primary cache miss latency in embedded microprocessor systems |
US6334173B1 (en) * | 1997-11-17 | 2001-12-25 | Hyundai Electronics Industries Co. Ltd. | Combined cache with main memory and a control method thereof |
US6484239B1 (en) * | 1997-12-29 | 2002-11-19 | Intel Corporation | Prefetch queue |
US6560680B2 (en) * | 1998-01-21 | 2003-05-06 | Micron Technology, Inc. | System controller with Integrated low latency memory using non-cacheable memory physically distinct from main memory |
JPH11316709A (ja) * | 1998-05-01 | 1999-11-16 | Nec Corp | ディスク制御装置及び方法 |
JP4315488B2 (ja) * | 1998-06-30 | 2009-08-19 | ソニー株式会社 | データ記憶装置、データ処理装置、データ処理システム並びにデータ処理方法 |
US6260116B1 (en) * | 1998-07-01 | 2001-07-10 | International Business Machines Corporation | System and method for prefetching data |
US6438670B1 (en) * | 1998-10-02 | 2002-08-20 | International Business Machines Corporation | Memory controller with programmable delay counter for tuning performance based on timing parameter of controlled memory storage device |
US20020056027A1 (en) * | 1998-10-29 | 2002-05-09 | Hiroki Kanai | Information processing system |
JP2002531883A (ja) * | 1998-11-09 | 2002-09-24 | サーラスロジック、アイ・エヌ・シー | 磁気ハードディスクドライブ用混合信号単一チップ集積システム電子装置 |
US6295586B1 (en) * | 1998-12-04 | 2001-09-25 | Advanced Micro Devices, Inc. | Queue based memory controller |
US6256716B1 (en) * | 1998-12-10 | 2001-07-03 | Sun Microsystems, Inc. | Apparatus, system and method for reducing bus contention during consecutive read-write operations |
US6393527B1 (en) * | 1998-12-18 | 2002-05-21 | Ati International Srl | Prefetch buffer with continue detect |
JP3400730B2 (ja) * | 1998-12-18 | 2003-04-28 | 富士通株式会社 | データ伝送方式及びこのデータ伝送方式に用いるデータ伝送制御装置 |
US6460114B1 (en) * | 1999-07-29 | 2002-10-01 | Micron Technology, Inc. | Storing a flushed cache line in a memory buffer of a controller |
US6594730B1 (en) * | 1999-08-03 | 2003-07-15 | Intel Corporation | Prefetch system for memory controller |
US6629164B1 (en) | 1999-11-10 | 2003-09-30 | Digi International Inc. | Character counter and match registers in a serial interface |
JP4842417B2 (ja) * | 1999-12-16 | 2011-12-21 | ソニー株式会社 | 記録装置 |
US6480939B2 (en) * | 2000-12-29 | 2002-11-12 | Intel Corporation | Method and apparatus for filtering prefetches to provide high prefetch accuracy using less hardware |
US6687765B2 (en) * | 2001-01-16 | 2004-02-03 | International Business Machines Corporation | System, method, and computer program for explicitly tunable I/O device controller |
JP4722305B2 (ja) * | 2001-02-27 | 2011-07-13 | 富士通セミコンダクター株式会社 | メモリシステム |
US6889335B2 (en) * | 2001-04-07 | 2005-05-03 | Hewlett-Packard Development Company, L.P. | Memory controller receiver circuitry with tri-state noise immunity |
US6633965B2 (en) * | 2001-04-07 | 2003-10-14 | Eric M. Rentschler | Memory controller with 1×/M× read capability |
US6515917B2 (en) * | 2001-04-10 | 2003-02-04 | International Business Machines Corporation | Digital-to-analog converter (dac) for dynamic adjustment of off-chip driver pull-up and pull down impedance by providing a variable reference voltage to high frequency receiver and driver circuits for commercial memory |
US7016987B2 (en) * | 2001-06-21 | 2006-03-21 | Integrated Device Technology, Inc. | Transaction aligner microarchitecture |
US6857065B2 (en) * | 2001-07-05 | 2005-02-15 | International Business Machines Corporation | System and method for system initializating a data processing system by selecting parameters from one of a user-defined input, a serial non-volatile memory and a parallel non-volatile memory |
JP2003030046A (ja) * | 2001-07-11 | 2003-01-31 | Hitachi Ltd | 命令キャッシュのプリフェッチ機構を備えたキャッシュ制御装置 |
US6877077B2 (en) * | 2001-12-07 | 2005-04-05 | Sun Microsystems, Inc. | Memory controller and method using read and write queues and an ordering queue for dispatching read and write memory requests out of order to reduce memory latency |
US20030154349A1 (en) * | 2002-01-24 | 2003-08-14 | Berg Stefan G. | Program-directed cache prefetching for media processors |
US6760818B2 (en) * | 2002-05-01 | 2004-07-06 | Koninklijke Philips Electronics N.V. | Memory region based data pre-fetching |
US6898674B2 (en) * | 2002-06-11 | 2005-05-24 | Intel Corporation | Apparatus, method, and system for synchronizing information prefetch between processors and memory controllers |
US6901486B2 (en) * | 2002-07-05 | 2005-05-31 | Hewlett-Packard Development Company, L.P. | Method and system for optimizing pre-fetch memory transactions |
-
2004
- 2004-02-19 KR KR1020040011014A patent/KR100546403B1/ko active IP Right Grant
-
2005
- 2005-01-28 US US11/044,038 patent/US7543114B2/en active Active
- 2005-02-18 CN CNB2005100717195A patent/CN100465931C/zh active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103257940A (zh) * | 2013-03-27 | 2013-08-21 | 青岛中星微电子有限公司 | 一种片上系统SoC写数据的方法及装置 |
CN103257940B (zh) * | 2013-03-27 | 2016-08-03 | 青岛中星微电子有限公司 | 一种片上系统SoC写数据的方法及装置 |
CN107851087A (zh) * | 2015-07-15 | 2018-03-27 | 华为技术有限公司 | 用于片上系统(SoC)的仓库与细粒度调度 |
CN107918593A (zh) * | 2017-05-16 | 2018-04-17 | 烟台市迈高机器人科技有限公司 | 近端一对多串行总线的拓展接口电路以及通信方法 |
CN107918593B (zh) * | 2017-05-16 | 2024-05-24 | 烟台市迈高机器人科技有限公司 | 近端一对多串行总线的拓展接口电路以及通信方法 |
CN107526688A (zh) * | 2017-09-12 | 2017-12-29 | 上海兆芯集成电路有限公司 | 储存装置以及配置方法 |
Also Published As
Publication number | Publication date |
---|---|
US7543114B2 (en) | 2009-06-02 |
KR20050083063A (ko) | 2005-08-25 |
KR100546403B1 (ko) | 2006-01-26 |
CN100465931C (zh) | 2009-03-04 |
US20050188121A1 (en) | 2005-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1680930A (zh) | 减少总线使用时间的系统和控制器 | |
CN1249585C (zh) | 闪速存储器系统 | |
CN1811744A (zh) | 通过串行总线互连多个处理节点的装置 | |
CN1278243C (zh) | 用于合并存贮的数据项的按块擦除存储系统和方法 | |
CN1225697C (zh) | 半导体存储器 | |
CN1158605C (zh) | 采用crc用于芯片上存储器中数据完整性的方法和装置 | |
CN101034381A (zh) | 多主机系统和数据传送系统 | |
CN1761346A (zh) | 智能卡与存储卡之间的多接口连接方法以及多接口卡 | |
CN1947107A (zh) | 用于在存储器间传输数据的装置 | |
CN1376980A (zh) | 存储器 | |
CN1355536A (zh) | 具有多个低功耗模式的半导体存储器件 | |
CN1617160A (zh) | 用于识别标准卡以及非标准卡的卡识别系统 | |
CN1692343A (zh) | 半导体集成电路器件、数据处理系统及存储系统 | |
CN1551592A (zh) | 数据传输控制装置、电子设备及数据传输控制方法 | |
CN1873604A (zh) | 处理器芯片与存储控制系统及方法 | |
CN101065725A (zh) | 命令供给装置 | |
CN1188998C (zh) | 数据传输控制装置和电子设备 | |
CN1932783A (zh) | 存储器控制装置 | |
CN1253828C (zh) | 电子装置、信息处理装置、适配器装置及信息交换系统 | |
CN1214592C (zh) | 多通道数据直接内存访问系统和方法 | |
CN1941192A (zh) | 具有串行输入/输出接口的多端口存储装置 | |
CN1282925A (zh) | 数据处理装置 | |
CN1767068A (zh) | 非易失性存储器装置 | |
CN1377040A (zh) | 半导体存储器装置及信息处理系统 | |
CN1263294A (zh) | 接口装置,其控制方法以及信息记录媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |