CN105608020B - 主机接口控制器以及储存装置控制方法 - Google Patents
主机接口控制器以及储存装置控制方法 Download PDFInfo
- Publication number
- CN105608020B CN105608020B CN201510906459.2A CN201510906459A CN105608020B CN 105608020 B CN105608020 B CN 105608020B CN 201510906459 A CN201510906459 A CN 201510906459A CN 105608020 B CN105608020 B CN 105608020B
- Authority
- CN
- China
- Prior art keywords
- buffer group
- buffer
- address
- group
- data
- 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.)
- Active
Links
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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
高开机性能的主机接口控制器,以缓冲器模式设定缓存器设定开机程序中,主机接口控制器内第一与第二缓冲器组的操作模式。在主机中央处理单元的高速缓冲存储器启动前,所述第一与第二缓冲器组操作于高速缓冲存储器模式,以回应该中央处理单元对该主机接口控制器所控制的储存装置的相同地址的重复读取要求。该高速缓冲存储器启动后,所述第一与第二缓冲器组在操作于乒乓缓冲器模式,以回应该中央处理单元对该储存装置发出的连续地址的读取要求。
Description
技术领域
本发明有关于主机接口控制器。
背景技术
储存装置可透过通讯接口与主机链接。主机上需对应该通讯接口设置主机接口控制器,在主机的中央处理单元操作下,通过该通讯接口读取该储存装置。
高效的主机接口控制器为本技术领域追寻目标。
发明内容
根据本发明一种实施方式实现的主机端接口控制器包括控制模块、第一缓冲器组、第二缓冲器组与缓冲器模式设定缓存器。第一缓冲器组与第二缓冲器组,缓存读取自储存单元的数据,以回应中央处理单元的读取要求。在开机程序中,缓冲器模式设定缓存器根据该中央处理单元的高速缓冲存储器启动与否切换设定。所述第一缓冲器组与第二缓冲器组在该高速缓冲存储器启动前操作于高速缓冲存储器模式,以回应该中央处理单元对相同地址的重复读取要求。所述第一缓冲器组与第二缓冲器组在该高速缓冲存储器启动后操作于乒乓缓冲器模式,以回应该中央处理单元发出的连续地址的读取要求。
根据本发明另一种实施方式实现的储存装置控制方法包括:在储存装置与中央处理单元之间的主机接口控制器提供第一缓冲器组以及第二缓冲器组,缓存读取自该储存单元的数据,以回应该中央处理单元的读取要求;在开机程序中,切换所述第一缓冲器组与第二缓冲器组在该高速缓冲存储器启动前操作于高速缓冲存储器模式,以回应该中央处理单元对相同地址的重复读取要求,并切换所述第一缓冲器组与第二缓冲器组在该高速缓冲存储器启动后操作于乒乓缓冲器模式,以回应该中央处理单元发出的连续地址的读取要求。
本发明技术使得计算机系统的开机效率大为提升。
下文特举实施例,并配合所附图示,详细说明本发明内容。
附图说明
图1图解根据本发明一种实施方式实现的计算机系统100;
图2为流程图,图解第一以及第二缓冲器组B1与B2的高速缓冲存储器模式如何回应中央处理单元发出的读取要求;
图3A、图3B为流程图,图解第一以及第二缓冲器组B1与B2的乒乓缓冲器模式如何回应中央处理单元发出的读取要求;以及
图4为流程图,图解计算机系统100的开机程序中第一与第二缓冲器组B1与B2的操作模式切换,所述开机程序执行储存装置104内的只读程序代码ROM_Code作基本输入输出系统(BIOS)开机程序。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照权利要求书而界定。
图1图解根据本发明一种实施方式实现的计算机系统100,其中包括中央处理单元CPU、主机接口控制器102、储存装置104。中央处理单元CPU包括高速缓冲存储器(cachememory)106,且还耦接动态随机存取存储器(DRAM)108。储存装置104包括只读程序代码ROM_Code。主机接口控制器102包括控制模块112、缓冲器模式设定缓存器110、第一缓冲器组B1、第二缓冲器组B2、第一缓存器组R1、第二缓存器组R2、多工器Mux以及比较器Comp。
第一缓冲器组B1以及第二缓冲器组B2设计来降低主机接口控制器102频繁发出指令读取储存装置104所造成的系统负担。以串行外设接口(SPI)接口为例,对应的主机接口控制器(如,SPI控制器)需发出一字节(byte)的读取命令、外加三字节(byte)的读取地址,才能自储存装置104读取一笔读回数据。由于每笔读回数据的长度可由主机接口控制器102决定,即是说,主机接口控制器102所发出的自储存装置104读取数据的读取命令后的3byte的读取地址仅仅是起始地址,而并没有结束地址,主机接口控制器102可自行控制结束地址。故本发明特意在主机接口控制器102设置的第一缓冲器组B1以及第二缓冲器组B2使得主机接口控制器102对储存装置104的单笔读取为大数据量,而不受中央处理单元CPU所发下来的读取指令中的要读取的数据长度的限制。主机接口控制器102无须频繁下达读取命令以读取该储存装置104,即可将数据大笔由储存装置104预取至第一缓冲器组B1以及第二缓冲器组B2回应中央处理单元CPU发出的读取要求。
至于对应第一缓冲器组B1以及第二缓冲器组B2设置的第一缓存器组R1、第二缓存器组R2、多工器Mux以及比较器Comp则是用来确认中央处理单元CPU所要求的储存装置104数据是否已预取于第一或第二缓冲器组B1或B2中。
特别是,本发明关于开机程序中,控制模块112依据中央处理单元CPU对储存装置104数据的需求,适应性地切换第一缓冲器组B1以及第二缓冲器组B2的操作模式。缓冲器模式设定缓存器110即是用来设定第一与第二缓冲器组B1与B2的操作模式。这里以在开机过程中的数据读取为例,但本发明并不以此为限。在其它实施方式中,只要是对储存装置104分阶段读取,在不同阶段的读取数据的地址连续性不同的应用中,都可以使用本发明的技术以适应性地切换第一缓冲器组B1以及第二缓冲器组B2的操作模式。
在开机程序中,中央处理单元CPU包括三阶段操作。第一阶段,高速缓冲存储器106以及该动态随机存取存储器108都未启动,中央处理单元CPU频繁重复读取该只读程序代码ROM_Code中相同地址的内容,而高速缓冲存储器106尚未启动,现有技术的主机接口控制器120必须频繁根据中央处理单元CPU的读取请求重复下达对应相同地址的读取请求至储存装置104,效率低下。第二阶段,高速缓冲存储器106启动,中央处理单元CPU对该只读程序代码ROM_Code的读取要求多为连续地址。第三阶段,动态随机存取存储器108也启动,中央处理单元CPU要求大尺寸搬移只读程序代码ROM_Code至该动态随机存取存储器108,由于中央处理单元CPU在此阶段下达的读取请求的地址是连续而不重复的,中央处理单元CPU的读取请求在高速缓冲存储器106往往是不命中的状态,因此现有技术的主机接口控制器120必须需要根据每笔读取请求对储存装置104下达读取指令(如,SPI控制器102需根据每笔读取请求对储存装置104下达包含一字节的读取命令、外加三字节的读取地址的读取指令)。总结而言,高速缓冲存储器106启动前的读取要求重复性高,高速缓冲存储器106启动后的读取要求多为连续地址。
本发明中在开机程序,缓冲器模式设定缓存器110根据该中央处理单元CPU的高速缓冲存储器106启动与否切换设定。高速缓冲存储器106启动前(第一阶段),第一与第二缓冲器组B1与B2操作于高速缓冲存储器模式,以回应中央处理单元CPU对相同地址的重复读取要求。高速缓冲存储器106启动后(第二、第三阶段,在其它实施例中,也可以仅在第三阶段),第一缓冲器组B1与第二缓冲器组B2操作于乒乓缓冲器模式,以回应中央处理单元CPU发出的连续地址的读取要求。其中,所谓高速缓冲存储器模式是控制模块112令第一以及第二缓冲器组B1与B2高速缓存储存该主机接口控制器102以第一以及第二缓冲器组B1与B2的多个缓冲器行的尺寸为读取数据长度读取自该储存装置104的数据。值得注意的是,如图1所示,第一缓冲器组B1以及第二缓冲器组B2分别包括8个缓冲器行,如第一缓冲器组B1包括缓冲器行Data_DW0~Data_DW7,第二缓冲器组B1包括缓冲器行Data_DW8~Data_DW15;每个缓冲器行的尺寸举例而言为4byte;在一实施例中,在开机过程的第一个阶段,重复读取的地址范围大约是64byte,因此设置整个第一以及第二缓冲器组B1与B2的尺寸为64byte;中央处理单元CPU所发出的读取要求所要求的数据举例而言以4byte为单位,但本发明并不以此为限。在此实施方式中的高速缓冲存储器模式下,控制模块112向储存装置104下达的一次读取命令的读取数据长度不必仅限于中央处理单元CPU所要求的4byte,而可以是以第一和第二缓冲器组B1和B2的多个缓冲器行的尺寸(如4byte/8byte/16byte)为读取数据长度,具体每次读取的尺寸例如可经由设置主机接口控制器102中的某个寄存器(未绘示)来设置,如此可以不必频繁对储存装置104下达读取指令(如,SPI控制器102需根据每笔读取请求对储存装置104下达包含一字节的读取命令、外加三字节的读取地址的读取指令)而一次读取多行缓冲器的数据回来。所谓乒乓缓冲器模式是控制模块112令第一缓冲器组B1以及第二缓冲器组B2以乒乓模式交替为预取缓冲器组,缓冲储存预取自该储存装置104的地址连续的数据,例如当第一缓冲器组B1和第二缓冲器组B2的其中一个作为预取缓冲器组时,控制模块102自储存装置104预取第一地址开始的连续地址的数据并将其缓冲储存至该预取缓冲器组(B1或B2),并且以第一缓冲器组B1和第二缓冲器组B2的另一个(B2或B1)中的数据(假设之前充当该预取缓冲器组时预取的数据)回应中央处理单元CPU发出的对第二地址的数据的读取要求。在一实施方式中,预取缓冲器组的选择条件如下:在连续读取(即CPU本次发出请求的地址与其发出的前一读取请求的地址连续)的地址指示到第二缓冲器组B2的首行缓冲器Data_DW8时,第一缓冲器组B1即可切换作预取缓冲器组,缓冲储存的内容预取自储存装置104,接续第二缓冲器组B2末位缓冲器Data_DW15的地址;或在连续读取的地址指示到第一缓冲器组B1的首行缓冲器Data_DW0时,第二缓冲器组B2即可切换作预取缓冲器组,缓冲储存的内容预取自储存装置104,接续第一缓冲器组B1末行缓冲器Data_DW7的地址。在此实施方式中的乒乓缓冲器模式下,控制模块112自行控制自储存装置104每次向储存装置104下达读取指令所读取数据的数据长度,例如在需要终止预取至预取缓冲器组时停止,无需寄存器配置,但本发明并不以此为限。
此段落说明第一缓存器组R1、第二缓存器组R2、多工器Mux以及比较器Comp的操作。这里以中央处理单元CPU发出的读取请求(C2P request)的读取地址C2P_Addr[23:0]为24bit,每次读取4个地址(例如4byte数据)为例说明,但本发明并不以此为限。第一缓存器组R1对应第一缓冲器组B1,储存第一缓冲器组B1所储存的数据Data_DW0…Data_DW7的地址信息DW0_Addr[23:6]…DW7_Addr[23:6],此实施例为高位地址。第二缓存器组R2对应第二缓冲器组B2,储存第二缓冲器组B2所储存的数据Data_DW8…Data_DW15的地址信息DW8_Addr[23:6]…DW15_Addr[23:6],此实施例为高位地址。第一与第二缓冲器组B1与B2组成表格,该表格以储存至所述第一与第二缓冲器组B1与B2的数据Data_DW0…Data_DW15的低位地址(理解为DW0_Addr[5:2]…DW15_Addr[5:2])为索引。多工器MUX以中央处理单元CPU发出的读取请求的读取地址的低位内容C2P_Addr[5:2]为目标索引n,自所述第一以及第二缓存器组R1与R2取出比对用高位地址DWn_Addr[23:6]。比较器Comp比较该比对用高位地址DWn_Addr[23:6]是否符合该读取地址的高位内容C2P_Addr[23:6]。若比对用高位地址DWn_Addr[23:6]符合该读取地址的高位内容C2P_Addr[23:6],则比较器Comp输出‘H’代表中央处理单元CPU要求的数据已预取并缓冲存储于第一或第二缓冲器组B1或B2。若比对用高位地址DWn_Addr[23:6]不符合该读取地址的高位内容C2P_Addr[23:6],则比较器Comp输出‘M’代表中央处理单元CPU要求的数据未预取缓冲存储于第一或第二缓冲器组B1或B2。如果判断到中央处理单元CPU要求读取地址的数据已预取并缓冲存储于第一或第二缓冲器组B1或B2中,则控制模块112以目标索引n(即C2P_Addr[5:2])对应的缓冲器行的数据回应中央处理单元CPU。
图2为流程图,图解第一以及第二缓冲器组B1与B2的高速缓冲存储器模式如何回应中央处理单元发出的读取要求。步骤S202接收中央处理单元CPU指示的读取地址C2P_Addr[23:0]。步骤S204以读取地址的低位内容C2P_Addr[5:2]为目标索引n,自第一与第二缓存器组R1与R2取出比对用高位地址DWn_Addr[23:6]。步骤S206判断比对用高位地址DWn_Addr[23:6]是否符合读取地址的高位内容C2P_Addr[23:6]。若不符合,步骤S208以第一和第二缓冲器组B1和B2的多个缓冲器行的尺寸为读取数据长度读取储存装置104,并随之以此更新第一与第二缓冲器组B1与B2所存储的数据以及第一与第二缓存器组R1与R2所存储的地址信息,且步骤S210根据目标索引n自更新后的第一以及第二缓冲器组B1与B2取出数据Data_DWn回应中央处理单元CPU的读取要求。但本发明并不限制步骤S210执行时机,即并不一定要等待步骤S208的自储存装置104读取的数据全部预取并更新第一与第二缓冲器组B1与B2完成之后才执行步骤S210,以回应中央处理单元CPU的读取要求;在优选的实施方式中,当自储存装置104读取中央处理单元CPU的读取要求所请求的数据(如4byte)即立即回应CPU以加快响应CPU的速度。若步骤S206判断比对用高位地址DWn_Addr[23:6]符合读取地址的高位内容C2P_Addr[23:6],中央处理单元CPU要求的数据早已预取于所述第一或第二缓冲器组B1或B2时,流程直接进行步骤S210,根据目标索引n自所述第一以及第二缓冲器组B1与B2取出数据回应Data_DWn该中央处理单元CPU的读取要求。
图3A、图3B为流程图,图解第一以及第二缓冲器组B1与B2的乒乓缓冲器模式如何回应中央处理单元发出的读取要求。步骤S302接收中央处理单元CPU指示的读取地址。步骤S304判断该读取地址是与中央处理单元CPU指示的在前读取地址连续。若否,步骤S306以读取地址的低位内容C2P_Addr[5:2]为目标索引n,自第一与第二缓存器组R1与R2取出比对用高位地址DWn_Addr[23:6]。步骤S308判断比对用高位地址DWn_Addr[23:6]是否符合读取地址的高位内容C2P_Addr[23:6]。若不符合(即说明读取地址C2P_Addr[23:2]的数据未预取于第一以及第二缓冲器组B1和B2中),步骤S309停止对当前第一以及第二缓冲器组B1与B2中的预取缓冲器组的预取操作。由于第一以及第二缓冲器组B1与B2工作于乒乓缓冲器模式下时,如果步骤S304的判断结果为不连续并且步骤S308的判断结果为不符合,则说明CPU所下达的读取请求很大程度上可能已经跳转到另一段尚未预取的地址进行连续读取了,这里再在当前的预取缓冲器组的地址范围附近进行数据预取已经意义不大,因此本实施例在此会停止对当前第一以及第二缓冲器组B1与B2中的预取缓冲器组的预取操作,并执行步骤S310自储存装置104读取当前CPU下达的读取地址C2P_Addr[23:2]开始的连续地址的数据,并且以所读取的读取地址C2P_Addr[23:2]开始的连续地址的数据自该读取地址C2P_Addr[23:2]的低位地址C2P_Addr[5:2]对应的目标索引n续更新第一与第二缓冲器组B1与B2直至更新至第一与第二缓冲器组B1与B2中的最后一个索引(例如Data_DW15),并随之更新第一与第二缓存器组R1与R2,且步骤S312根据目标索引n自更新后的第一以及第二缓冲器组B1与B2取出数据Data_DWn回应中央处理单元CPU的读取要求。但本发明并不限制步骤S312执行时机,即并不一定要等待步骤310的自储存装置104读取的数据全部预取并更新第一与第二缓冲器组B1与B2完成之后才执行步骤S312,以回应中央处理单元CPU的读取要求;在优选的实施方式中,当自储存装置104读取中央处理单元CPU的读取要求所请求的数据(如4byte)即立即回应CPU以加快响应CPU的速度。若步骤S308判断比对用高位地址DWn_Addr[23:6]符合读取地址的高位内容C2P_Addr[23:6]时,即说明中央处理单元CPU要求的数据早已预取于所述第一以及第二缓冲器组B1与B2,流程直接进行步骤S312,根据目标索引n自所述第一以及第二缓冲器组B1与B2取出数据回应Data_DWn该中央处理单元CPU的读取要求。在其他实施方式中,与前一笔读取请求不连续但命中时(即步骤S308的符合分支),也执行步骤S309和S310,即会停止当前预取缓冲器的预取操作,并跳至当前读取地址C2P_Addr[23:2]+1的地址开始预取操作。倘若步骤S304判断出该读取地址与在前读取地址连续,流程进入图3B第步骤S314,接续自第一与第二缓冲器组B1与B2取得数据回应CPU读取要求,完善运用乒乓缓冲器连绵将地址连续数据自储存装置104预取至第一与第二缓冲器组B1与B2的特性。步骤S316判断该读取地址对应的目标索引n是否指示第一或第二缓冲器组B1或B2的首行缓冲器。若是,步骤S318于目标索引n指示第一缓冲器组B1的首行缓冲器时切换以第二缓冲器组B2为预取缓冲器组,并于目标索引n指示第二缓冲器组B2的首行缓冲器时切换以第一缓冲器组B1为预取缓冲器组,且步骤S320读取储存装置104,填满预取缓冲器组。若否,则暂不切换第一与第二缓冲器组B1与B2中的预取缓冲器组的身份,而是执行自储存装置104的预取操作,直至填满当前的预取缓冲器。
图4为流程图,图解计算机系统100的开机程序中第一与第二缓冲器组B1与B2的操作模式切换,所述开机程序执行储存装置104内的只读程序代码ROM_Code作基本输入输出系统(BIOS)开机程序。步骤S402判断中央处理单元CPU的高速缓冲存储器106是否启动。高速缓冲存储器106若未启动,步骤S404以高速缓冲存储器模式(参阅图2)操作第一与第二缓冲器组B1与B2,使重复读取机率高的只读码ROM_Code内容缓冲存储于第一与第二缓冲器组B1与B2,方便回应中央处理单元CPU。高速缓冲存储器106若已启动,步骤S406设定该缓冲器模式设定缓存器110,使第一或第二缓冲器组B1或B2以乒乓缓冲器模式(参阅图3A、图3B)操作,使连续地址的只读码ROM_Code内容连绵预取于第一或第二缓冲器组B1或B2,方便回应中央处理单元CPU读取地址大面积连续的只读码ROM_Code至动态随机存取存储器108的读取请求。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟悉此项技艺者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视权利要求书所界定的为准。
Claims (20)
1.一种主机接口控制器,耦接中央处理单元,其特征在于,该主机接口控制器包括:
控制模块;
第一缓冲器组与第二缓冲器组,缓存读取自储存单元的数据,以回应该中央处理单元的读取要求;以及
缓冲器模式设定缓存器,在开机程序中根据该中央处理单元的高速缓冲存储器启动与否切换设定,使所述第一缓冲器组与第二缓冲器组在该高速缓冲存储器启动前操作于高速缓冲存储器模式,以回应该中央处理单元对相同地址的重复读取要求,并使所述第一缓冲器组与第二缓冲器组在该高速缓冲存储器启动后操作于乒乓缓冲器模式,以回应该中央处理单元发出的连续地址的读取要求。
2.根据权利要求1所述的主机接口控制器,其特征在于:
在该高速缓冲存储器模式下,该控制模块以该第一缓冲器组和该第二缓冲器组的多个缓冲器行的尺寸为读取数据长度自该储存装置读取数据并缓冲储存于所述第一缓冲器组以及第二缓冲器组。
3.根据权利要求1所述的主机接口控制器,其特征在于:
在该乒乓缓冲器模式下,所述控制模块控制所述第一缓冲器组以及第二缓冲器组以乒乓模式交替为预取缓冲器组,当所述第一缓冲器组和第二缓冲器组的其中一个作为该预取缓冲器组时,所述控制模块自储存装置预取第一地址的数据并将其缓冲储存至该预取缓冲器组,并且以所述第一缓冲器组和第二缓冲器组的另一个中的数据回应该中央处理单元发出的对第二地址的数据的读取要求。
4.根据权利要求1所述的主机接口控制器,其特征在于:
在该乒乓缓冲器模式下,该控制模块自行控制自该储存装置读取数据的数据长度。
5.根据权利要求1所述的主机接口控制器,其特征在于,还包括:
第一缓存器组,对应所述第一缓冲器组,并储存所述第一缓冲器组所储存的数据的地址信息;以及
第二缓存器组,对应所述第二缓冲器组,并储存所述第二缓冲器组所储存的数据的地址信息。
6.根据权利要求5所述的主机接口控制器,其特征在于:
所述第一缓存器组储存所述第一缓冲器组所储存的数据的高位地址;
所述第二缓存器组储存所述第二缓冲器组所储存的数据的高位地址;且
所述第一缓冲器组以及第二缓冲器组组成表格,该表格以储存至所述第一缓冲器组以及第二缓冲器组的数据的低位地址为索引。
7.根据权利要求5所述的主机接口控制器,其特征在于,还包括:
多工器,以该中央处理单元发出的读取地址的低位内容为目标索引,自所述第一缓存器组以及第二缓存器组取出比对用高位地址;以及
比较器,比较该比对用高位地址是否符合该读取地址的高位内容以判断该读取地址的数据是否已预取并缓冲存储于所述第一缓冲器组或第二缓冲器组中,
其中,如果判断到第二地址的数据已预取并缓冲存储于所述第一缓冲器组或第二缓冲器组中,则该控制模块以该目标索引对应的数据回应该中央处理单元发出的该读取要求。
8.根据权利要求1所述的主机接口控制器,其特征在于:
在所述第一缓冲器组以及第二缓冲器组操作于该高速缓冲存储器模式、且该中央处理单元发出的读取地址的数据未预取于所述第一缓冲器组以及第二缓冲器组时,该控制模块以该第一缓冲器组和该第二缓冲器组的多个缓冲器行的尺寸为读取数据长度读取该储存装置,并随之更新所述第一缓冲器组与第二缓冲器组。
9.根据权利要求1所述的主机接口控制器,其特征在于:
在所述第一缓冲器组以及第二缓冲器组操作于该乒乓缓冲器模式、且该中央处理单元发出的读取地址与该中央处理单元发出的在前读取地址不连续、且该读取地址的数据未预取于所述第一缓冲器组以及第二缓冲器组时,该控制模块自该储存装置读取该读取地址开始的连续地址的数据,并且以所读取的该读取地址开始的连续地址的数据自该读取地址对应的目标索引续更新所述第一缓冲器组以及第二缓冲器组直至更新至所述第一缓冲器组以及第二缓冲器组中最后一个索引。
10.根据权利要求1所述的主机接口控制器,其特征在于:
在所述第一缓冲器组以及第二缓冲器组操作于该乒乓缓冲器模式、且该中央处理单元发出的读取地址与该中央处理单元发出的在前读取地址连续时,该控制模块判断该读取地址对应的目标索引是否指示所述第一缓冲器组的首行缓冲器、或所述第二缓冲器组的首行缓冲器;
在该目标索引指示所述第一缓冲器组的首行缓冲器时,该控制模块切换以该第二缓冲器组为预取缓冲器组;
在该目标索引指示所述第二缓冲器组的首行缓冲器时,该控制模块切换以该第一缓冲器组为预取缓冲器组。
11.一种储存装置控制方法,其特征在于,包括:
在储存装置与中央处理单元之间的主机接口控制器提供第一缓冲器组以及第二缓冲器组,缓存读取自该储存单元的数据,以回应该中央处理单元的读取要求;
在开机程序中,切换所述第一缓冲器组与第二缓冲器组在该中央处理单元的高速缓冲存储器启动前操作于高速缓冲存储器模式,以回应该中央处理单元对相同地址的重复读取要求,并切换所述第一缓冲器组与第二缓冲器组在该高速缓冲存储器启动后操作于乒乓缓冲器模式,以回应该中央处理单元发出的连续地址的读取要求。
12.根据权利要求11所述的储存装置控制方法,其特征在于,还包括:
在该高速缓冲存储器模式下,以该第一缓冲器组和该第二缓冲器组的多个缓冲器行的尺寸为读取数据长度自该储存装置读取数据并缓冲储存于所述第一缓冲器组以及第二缓冲器组。
13.根据权利要求11所述的储存装置控制方法,其特征在于,还包括:
在该乒乓缓冲器模式下,控制所述第一缓冲器组以及第二缓冲器组以乒乓模式交替为预取缓冲器组,当所述第一缓冲器组和第二缓冲器组的其中一个作为该预取缓冲器组时,所述控制模块自储存装置预取第一地址的数据并将其缓冲储存至该预取缓冲器组,并且以所述第一缓冲器组和第二缓冲器组的另一个中的数据回应该中央处理单元发出的对第二地址的数据的读取要求。
14.根据权利要求11所述的储存装置控制方法,其特征在于,还包括:
在该乒乓缓冲器模式下,自行控制自该储存装置读取数据的数据长度。
15.根据权利要求11所述的储存装置控制方法,其特征在于,还包括:
提供第一缓存器组,对应所述第一缓冲器组,并储存所述第一缓冲器组所储存的数据的地址信息;以及
提供第二缓存器组,对应所述第二缓冲器组,并储存所述第二缓冲器组所储存的数据的地址信息。
16.根据权利要求15所述的储存装置控制方法,其特征在于:
所述第一缓存器组储存所述第一缓冲器组所储存的数据的高位地址;
所述第二缓存器组储存所述第二缓冲器组所储存的数据的高位地址;且
所述第一缓冲器组以及第二缓冲器组组成表格,该表格以储存至所述第一缓冲器组以及第二缓冲器组的数据的低位地址为索引。
17.根据权利要求15所述的储存装置控制方法,其特征在于,还包括:
以该中央处理单元发出的读取地址的低位内容为目标索引,自所述第一缓存器组以及第二缓存器组取出比对用高位地址;
比较该比对用高位地址是否符合该读取地址的高位内容以判断该读取地址的数据是否已预取并缓冲存储于所述第一缓冲器组或第二缓冲器组中;以及
在判断到第二地址的数据已预取并缓冲存储于所述第一缓冲器组或第二缓冲器组中时,以该目标索引对应的数据回应该中央处理单元发出的该读取要求。
18.根据权利要求11所述的储存装置控制方法,其特征在于,还包括:
在所述第一缓冲器组以及第二缓冲器组操作于该高速缓冲存储器模式、且该中央处理单元发出的读取地址的数据未预取于所述第一缓冲器组以及第二缓冲器组时,以该第一缓冲器组和该第二缓冲器组的多个缓冲器行的尺寸为读取数据长度读取该储存装置,并随之更新所述第一缓冲器组与第二缓冲器组。
19.根据权利要求11所述的储存装置控制方法,其特征在于,还包括:
在所述第一缓冲器组以及第二缓冲器组操作于该乒乓缓冲器模式、且该中央处理单元发出的读取地址与该中央处理单元发出的在前读取地址不连续、且该读取地址的数据未预取于所述第一缓冲器组以及第二缓冲器组时,自该储存装置读取该读取地址开始的连续地址的数据,并且以所读取的该读取地址开始的连续地址的数据自该读取地址对应的目标索引续更新所述第一缓冲器组以及第二缓冲器组直至更新至所述第一缓冲器组以及第二缓冲器组中最后一个索引。
20.根据权利要求11所述的储存装置控制方法,其特征在于,还包括:
在所述第一缓冲器组以及第二缓冲器组操作于该乒乓缓冲器模式、且该中央处理单元发出的读取地址与该中央处理单元发出的在前读取地址连续时,判断该读取地址对应的目标索引是否指示所述第一缓冲器组的首行缓冲器、或所述第二缓冲器组的首行缓冲器;
在该目标索引指示所述第一缓冲器组的首行缓冲器时,切换以该第二缓冲器组为预取缓冲器组;
在该目标索引指示所述第二缓冲器组的首行缓冲器时,切换以该第一缓冲器组为预取缓冲器组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510906459.2A CN105608020B (zh) | 2015-12-09 | 2015-12-09 | 主机接口控制器以及储存装置控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510906459.2A CN105608020B (zh) | 2015-12-09 | 2015-12-09 | 主机接口控制器以及储存装置控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105608020A CN105608020A (zh) | 2016-05-25 |
CN105608020B true CN105608020B (zh) | 2019-02-26 |
Family
ID=55987971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510906459.2A Active CN105608020B (zh) | 2015-12-09 | 2015-12-09 | 主机接口控制器以及储存装置控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105608020B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442382B (zh) * | 2019-07-31 | 2021-06-15 | 西安芯海微电子科技有限公司 | 预取缓存控制方法、装置、芯片以及计算机可读存储介质 |
KR102715392B1 (ko) * | 2019-11-28 | 2024-10-11 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794142A (zh) * | 2005-12-26 | 2006-06-28 | 威盛电子股份有限公司 | 数据缓冲系统及数据缓冲装置的读取方法 |
CN101727403A (zh) * | 2008-10-15 | 2010-06-09 | 深圳市朗科科技股份有限公司 | 数据存储系统、设备及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9009414B2 (en) * | 2010-09-21 | 2015-04-14 | Texas Instruments Incorporated | Prefetch address hit prediction to reduce memory access latency |
-
2015
- 2015-12-09 CN CN201510906459.2A patent/CN105608020B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794142A (zh) * | 2005-12-26 | 2006-06-28 | 威盛电子股份有限公司 | 数据缓冲系统及数据缓冲装置的读取方法 |
CN101727403A (zh) * | 2008-10-15 | 2010-06-09 | 深圳市朗科科技股份有限公司 | 数据存储系统、设备及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105608020A (zh) | 2016-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105512054B (zh) | 主机接口控制器以及储存装置控制方法 | |
US8959260B2 (en) | Memory system having high data transfer efficiency and host controller | |
CN111143234B (zh) | 存储设备、包括这种存储设备的系统及其操作方法 | |
CN109508301B (zh) | 终端、应用数据的处理方法、数据处理设备及存储介质 | |
EP2565786A1 (en) | Information processing device and task switching method | |
CN105608020B (zh) | 主机接口控制器以及储存装置控制方法 | |
JP2001075866A (ja) | 記憶装置を動作する方法および記憶装置 | |
JP4855864B2 (ja) | ダイレクトメモリアクセスコントローラ | |
JP5108690B2 (ja) | Dma装置及びdma転送方法 | |
JPH0212432A (ja) | データ処理装置 | |
CN106168927B (zh) | 具有在运行中可变的存储区域的fifo存储器 | |
JPWO2005001689A1 (ja) | 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム | |
CN112988078B (zh) | 一种分布式存储应用中缓存内存占用的管理方法及装置 | |
CN102270181B (zh) | 一种内存访问方法和装置 | |
CN101221539B (zh) | 提高缓存性能的方法及缓存系统 | |
US10120819B2 (en) | System and method for cache memory line fill using interrupt indication | |
JP2007188171A (ja) | メモリコントローラ | |
KR20060130033A (ko) | 비메모리 맵핑된 디바이스 메모리에 대한 액세스를관리하는 방법 및 시스템 | |
US8639860B2 (en) | Data transfer system and data transfer method | |
JP2009199384A (ja) | データ処理装置 | |
JP2019219984A (ja) | メモリモジュール | |
CN117196929B (zh) | 基于定长数据包的软硬件交互系统 | |
US20240345774A1 (en) | Information processing system | |
CN118672493A (zh) | 存储器系统及控制方法 | |
CN115269447A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee after: Shanghai Zhaoxin Semiconductor Co.,Ltd. Address before: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |