存储器储存装置及其存储器控制器与回应主机指令的方法

文档序号:6338132阅读:106来源:国知局
专利名称:存储器储存装置及其存储器控制器与回应主机指令的方法
技术领域
本发明涉及一种回应主机指令的方法,尤其涉及一种执行该方法的存储器储存装置及其存储器控制器。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于快速存储器(Flash Memory)具有数据非挥发性、省电、体积小与无机械结构等特性,故十分适合作为这类可携式产品的储存媒体。对于采用快速存储器作为储存媒体的储存装置来说,当主机系统将写入指令下达至储存装置时,首先由储存装置中的缓冲存储器接收主机系统传输(transfer)而来的数据。待数据完全传输至缓冲存储器后,储存装置才开始将暂存在缓冲存储器中的数据存入快速存储器。而储存装置会在写入指令执行完毕时将一确认信息回复至主机系统,以通知主机系统可以下达下一个指令。然而,主机系统在收到来自储存装置的确认信息后,需经过一段等待时间(约40 微秒(μ s))才能下达新指令。也就是说,在上述等待时间之内储存装置是处于闲置状态。 据此,如何降低储存装置处于闲置状态的时间以提升其处理主机指令的效率,便成为本领域技术人员所致力的目标。

发明内容
有鉴于此,本发明提供一种回应主机指令的方法,能够让主机系统提前下达下一个指令,同时避免下一个指令的执行时间逾时。本发明提供一种存储器控制器,能够让主机系统提前下达下一个指令,同时避免下一个指令的执行时间逾时。本发明提供一种存储器储存装置,能够让主机系统提前下达下一个指令,同时避免下一个指令的执行时间逾时。本发明提出一种回应主机指令的方法,用于具有快速存储器晶片与缓冲存储器的存储器储存装置。此方法包括接收主机系统下达的写入指令,判断写入指令是否致使存储器储存装置触发数据搬移程序的执行。若否,则在写入指令所对应的写入数据被完全传输至缓冲存储器时,将对应写入指令的确认信息传送至主机系统。从另一观点来看,本发明提出一种存储器控制器,其包括主机系统接口、存储器接口、缓冲存储器,以及存储器管理电路。其中,主机系统接口用以耦接主机系统。存储器接口用以耦接快速存储器晶片。存储器管理电路耦接至主机系统接口、存储器接口与缓冲存储器。存储器管理电路用以接收主机系统下达的写入指令,并判断写入指令是否触发数据搬移程序的执行。若写入指令不会触发数据搬移程序的执行,存储器管理电路还用以在写入指令所对应的写入数据被完全传输至缓冲存储器时,将对应写入指令的确认信息传送至主机系统。
从又一观点来看,本发明提出一种存储器储存装置,包括连接器、快速存储器晶片,以及存储器控制器。其中连接器是用以耦接主机系统。存储器控制器耦接至快速存储器晶片与连接器,此存储器控制器包括一缓冲存储器。存储器控制器用以接收主机系统下达的写入指令,并判断写入指令是否触发数据搬移程序的执行。若写入指令不会触发数据搬移程序的执行,存储器控制器还用以在写入指令所对应的写入数据被完全传输至缓冲存储器时,将对应写入指令的确认信息传送至主机系统。基于上述,本发明是根据来自主机系统的写入指令是否致使存储器储存装置触发数据搬移程序的执行,以决定将该写入指令的确认信息回传至主机系统的时间点。据此,对于不会导致数据搬移程序的写入指令,在写入指令完成前便提早将确认信息传送至主机系统,进而让主机系统能提前下达下一个指令。而对于会导致数据搬移程序的写入指令,则等待数据搬移程序执行完毕后才回应主机系统,以防止下一个指令的执行时间逾时。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。


图IA是根据本发明一范例实施例所绘示的使用存储器储存装置的主机系统的示意图。图IB是根据本发明一范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。图IC是根据本发明另一范例实施例所绘示的主机系统与存储器储存装置的示意图。图2是图IA所示的存储器储存装置的概要方框图。图3是根据本发明一范例实施例所绘示的存储器控制器的概要方框图。图4是主机系统下达两指令的时间示意图。图5A、图5B是根据本发明一范例实施例所绘示的回应主机指令的方法的流程图。主要元件符号说明1000主机系统
1100计算机
1102微处理器
1104随机存取存储器
1106输入/输出装置
1108系统总线
1110数据传输接口
1202鼠标
1204键盘
1206显不器
1208打印机
1212随身盘
1214存储卡
1216:固态硬盘1310 数码相机1312 =SD 卡1314:MMC 卡1316 存储棒I3I8=CF 卡1320 嵌入式储存装置100:存储器储存装置102 连接器104 存储器控制器106 快速存储器晶片1041:主机系统接口1043 存储器管理电路1045 缓冲存储器1047:存储器接口3002:电源管理电路3004 错误检查与校正电路t”t2、t3:时间点Tw 等待时间Tp 处理时间510 580、5001 5005 本发明的一实施例所述的回应主机指令的方法的各步骤
具体实施例方式一般而言,存储器储存装置(也称,存储器储存系统)包括存储器晶片与控制器 (也称,控制电路)。通常存储器储存装置会与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。另外,也有存储器储存装置是包括嵌入式存储器与可执行于主机系统上以实质地作为此嵌入式存储器的控制器的软件。图IA是根据本发明一范例实施例所绘示的使用存储器储存装置的主机系统的示意图。主机系统1000包括计算机1100与输入/输出anput/Output,I/O)装置1106。 计算机1100包括微处理器1102、随机存取存储器(RandomAccess Memory, RAM) 1104、系统总线1108以及数据传输接口 1110。输入/输出装置1106包括如图IB所示的鼠标1202、 键盘1204、显示器1206与打印机1208。必须了解的是,如图2B所示的装置非限制输入/ 输出装置1106,输入/输出装置1106可还包括其他装置。在本发明范例实施例中,存储器储存装置100是通过数据传输接口 1110与主机系统1000的其他元件耦接。藉由微处理器1102、随机存取存储器1104以及输入/输出装置 1106的运作,主机系统1000可将数据写入至存储器储存装置100,或从存储器储存装置100 中读取数据。例如,存储器储存装置100可以是如图IB所示的存储卡1214、随身盘1212、 或固态硬盘(Solid State Drive, SSD) 1216。
一般而言,主机系统1000为可储存数据的任意系统。虽然在本范例实施例中主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中,主机系统1000 也可以是手机、数码相机、摄影机、通讯装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机1310时,存储器储存装置则为其所使用的安全数字(kcureDigital, SD)卡 1312、多媒体存储(Multimedia Card, MMC)卡 1314、存储棒(Memory Stick, MEM STICK) 1316、小型快速(Compact Flash, CF)卡1318或嵌入式储存装置1320(如图IC所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC, eMMC)。值得一提的是, 嵌入式多媒体卡是直接耦接于主机系统的基板上。图2是图IA所示的存储器储存装置100的方框图。请参照图2,存储器储存装置 100包括连接器102、存储器控制器104与快速存储器晶片106。连接器102耦接至存储器控制器104,并且用以耦接主机系统1000。在本范例实施例中,连接器102所支持的传输接口种类为串行高级技术附件(Serial Advanced Technology Attachment, SATA)接口。然而在其他范例实施例中,连接器102的传输接口种类也可以是通用串行总线(Universal Serial Bus,USB)接口、多媒体存储卡(Multimedia Card, MMC)接口、平行高级技术附件(Parallel Advanced TechnologyAttachment, PATA) 接口、电气禾口电子工禾呈师协会(Institute ofElectrical and Electronic Engineers, IEEE) 1394接口、高速周边零件连接接口(Peripheral Component Interconnect Express, PCIExpress)、安全数字(Secure Digital, SD)接口、存储棒(Memory Stick,MS)接口、小型快速(Compact Flash, CF)接口,或整合驱动电子(Integrated Drive Electronics, IDE) 接口等任何适用的接口,在此并不加以限制。存储器控制器104会执行以硬件型式或固件型式实作的多个逻辑闸或控制指令, 并根据主机系统1000的指令在快速存储器晶片106中进行数据的写入、读取与清除等运作。其中,存储器控制器104还特别用以根据本范例实施例的回应主机指令的方法,在收到主机系统1000的指令后决定回应主机系统1000的时间。本范例实施例的回应主机指令的方法将于后配合附图再作说明。快速存储器晶片106耦接至存储器控制器104。快速存储器晶片106是用以储存如文件配置表(File Allocation Table, FAT)或增强型文件系统(New Technology File System, NTFS)等文件系统信息,以及储存如文字、影像或声音文件等一般性数据。举例来说,快速存储器晶片106为多层记忆胞(Multi Level Cell, MLC)NAND快速存储器晶片,但本发明不限于此,快速存储器晶片106也可以是单层记忆胞(SingleLevel Cell, SLC)NAND 快速存储器晶片、其他快速存储器晶片或任何具有相同特性的存储器晶片。在本范例实施例中,快速存储器晶片106是由数个实体区块(block)所组成,每个实体区块分别包括多个实体地址(也称为实体页面),且对应于同一实体区块的该些实体页面可独立写入并同时清除。更详细地说,实体区块为清除的最小单位,而实体页面则为写入数据时的最小单元。快速存储器晶片106的该些实体区块会被逻辑地分组为系统区(system area)、 数据区(data area)、备用区(spare area)与取代区(!^placement area)。其中,分组为系统区的实体区块是用以储存存储器储存装置100相关的重要信息,而分组为取代区的实体区块是用以取代数据区或备用区中已损坏的实体区块。因此,在一般存取状态下,主机系统1000并无法存取系统区与取代区中的实体区块。分组为数据区的实体区块会储存由主机系统1000下达的写入指令所写入的数据,而备用区中的实体区块是用以在执行写入指令时替换数据区中的实体区块。例如,当存储器储存装置100接受到主机系统1000的写入指令而欲更新(或写入)数据至数据区中某一实体区块的某一实体页面时,存储器控制器 104会从备用区中提取一实体区块并且将欲被更新的实体区块中的有效旧数据与欲写入的新数据写入至从备用区中提取的实体区块中,并且将已写入有效旧数据与新数据的实体区块逻辑地关联为数据区,并且将数据区中欲被更新的实体区块进行清除并逻辑地关联为备用区。在主机系统1000下达的写入指令会导致快速存储器晶片106中两实体区块的数据的合并(Merge)时,也即此写入指令会致使存储器储存装置100触发一数据搬移程序的执行。换言之,存储器储存装置100中的存储器控制器104会执行该数据搬移程序。此外,快速存储器晶片106的每个实体区块的清除次数是有限的,例如实体区块清除一万次后就会磨损。因此当实体区块磨损导致快速存储器晶片106的部份储存容量损失或性能明显退化时,会造成储存在其中的数据的损失,甚至无法储存数据等不利影响。一般来说,实体区块的磨损取决于每一实体区块中被程式化(program,或称写入)或清除的次数。例如,当主机系统1000重复地使用相同逻辑区块地址来写入数据时,将导致快速存储器晶片106内的相同实体地址的区块会被重复地写入与清除,此实体区块的磨损就会相对地高。一般而言,只要有区块磨损便会降低快速存储器晶片106的性能。详言之,除了磨损区块本身性能的退化之外,当未磨损的区块不足以储存数据时,快速存储器晶片106整体的性能也会降低。因此,当快速存储器晶片106中磨损区块的数量超过一门槛数时,即使仍有其他区块未磨损,快速存储器晶片106仍会被判定为无法再使用。实质上未磨损的区块被视为无法使用将造成资源上的浪费。为了增加快速存储器晶片106的寿命,存储器控制器104会尽可能平均地使用快速存储器晶片106的区块。为达到平均使用的目的,存储器控制器104会在存取一段时间后进行交换区块的数据搬移运作来平均磨损(wear leveling)。换句话说,存储器控制器 104为了平均磨损也会执行一数据搬移程序。图3是根据本发明一范例实施例所绘示的存储器控制器的概要方框图。请参照图 3,存储器控制器104包括主机系统接口 1041、存储器管理电路1043、缓冲存储器1045,以及存储器接口 1047。主机系统接口 1041耦接至存储器管理电路1043,并通过连接器102以耦接主机系统1000。主机系统接口 1041是用以接收与识别主机系统1000所传送的指令与数据。据此,主机系统1000所传送的指令与数据会通过主机系统接口 1041而传送至存储器管理电路1043。在本范例实施例中,主机系统接口 1041对应连接器102而为SATA接口,而在其他范例实施例中,主机系统接口 1041也可以是USB接口、匪C接口、PATA接口、IEEE 1394接口、PCI Express接口、SD接口、MS接口、CF接口、IDE接口或符合其他接口标准的接口。存储器管理电路1043是用以控制存储器控制器104的整体运作。具体来说,存储器管理电路1043具有多个控制指令,在存储器储存装置100运作时,上述控制指令会被执行以实现本范例实施例的回应主机指令的方法。在一范例实施例中,存储器管理电路1043的控制指令是以固件型式来实作。例如,存储器管理电路1043具有微处理器单元(未示出)与只读存储器(未示出),且上述控制指令是被烧录在只读存储器中。当存储器储存装置100运作时,上述控制指令会由微处理器单元来执行以完成本范例实施例的回应主机指令的方法。在本发明另一范例实施例中,存储器管理电路1043的控制指令也可以程式码型式储存于快速存储器晶片106的特定区域(例如,快速存储器晶片106中专用于存放系统数据的系统区)中。此外,存储器管理电路1043具有微处理器单元(未示出)、只读存储器 (未示出)及随机存取存储器(未示出)。其中,只读存储器具有驱动码段,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将储存于快速存储器晶片106 中的控制指令载入至存储器管理电路1043的随机存取存储器中。之后,微处理器单元会运转上述控制指令以执行本范例实施例的回应主机指令的方法。此外,在本发明另一范例实施例中,存储器管理电路1043的控制指令也可以一硬件型式来实作。缓冲存储器1045耦接至存储器管理电路1043,用以暂存来自于主机系统1000的数据,或暂存来自于快速存储器晶片106的数据。详言之,当主机系统1000欲将数据写入存储器储存装置100时,对应写入指令的写入数据将先被暂存至缓冲存储器1045,接着由存储器管理电路1043将缓冲存储器1045中的写入数据写入至快速存储器晶片106。存储器接口 1047耦接至存储器管理电路1043,用以使存储器控制器104与快速存储器晶片106相耦接。据此,存储器控制器104可对快速存储器晶片106进行相关运作。 也就是说,欲写入至快速存储器晶片106的数据会经由存储器接口 1047转换为快速存储器晶片106所能接受的格式。在本发明另一范例实施例中,存储器控制器104还包括电源管理电路3002。电源管理电路3002耦接至存储器管理电路1043,用以控制存储器储存装置100的电源。在本发明又一范例实施例中,存储器控制器104还包括错误检查与校正电路 3004。错误检查与校正电路3004耦接至存储器管理电路1043,用以执行错误检查与校正程序以确保数据的正确性。具体而言,当存储器管理电路1043接收到来自主机系统1000的写入指令时,错误检查与校正电路3004会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code, ECC Code),且存储器管理电路 1043 会将对应此写入指令的数据与对应的错误检查与校正码写入至快速存储器晶片106。之后当存储器管理电路1043从快速存储器晶片106中读取数据时,会同时读取此数据对应的错误检查与校正码,且错误检查与校正电路3004会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。平均来说,存储器储存装置100每秒能处理约一万个主机系统1000下达的指令。 也即,每个指令的执行时间约100微秒。然而在存储器储存装置100处理完一指令并将确认信息回复给主机系统1000后,主机系统1000需经过一段等待时间(约40微秒(μ S)) 才能下达新指令。不难预见,倘若存储器储存装置100每处理完一个指令都必须耗费约40 微秒的闲置时间来等待主机系统1000下达新指令,存储器储存装置100等待新指令的时间将占据一个指令的执行时间的40%,这种情况会对存储器储存装置100执行指令的整体效率造成负面影响。但若为了减少闲置时间而每次都提前将确认信息回复给主机系统1000,则可能导致新指令执行时间逾期的情况产生。具体而言,如图4所示,假设主机系统1000对存储器储存装置100下达写入指令CMD_1,且在时间点、主机系统1000将写入指令CMD-I所对应的写入数据完全传输至缓冲存储器1045。若存储器储存装置100在时间点^就将确认信息回复给主机系统1000,主机系统1000在经过等待时间Tw (约40微秒)后的时间点t2便能将另一个指令CMD_2下达至存储器储存装置100。然而,若在写入数据被完全传输至缓冲存储器1045后,存储器储存装置100还需要处理时间Tp来完成写入指令CMD_1,表示存储器储存装置100不能在时间点t2开始处理指令CMD_2,而必须等到时间点t3才能开始进行处理。在写入指令CMD_1会致使存储器储存装置100触发数据搬移程序的执行的情况下, 由于统计数据显示要完成一数据搬移程序约需要0. 5秒的时间,这将使时间点t2到时间点 t3的间距过长,而导致指令CMD_2逾时。基此,为了提高存储器储存装置100处理指令的效率并避免新指令逾时,本范例实施例所述的存储器储存装置100中的存储器管理电路1043会在收到主机系统1000下达的指令时,判断该指令是否需要较长的执行时间。若需要的执行时间较短,则在指令真正执行完毕之前便将确认信息回复给主机系统1000,让主机系统1000能提前下达新指令。但为了防止正在进行较费时的处理时接获新指令,却因不能立即处理新指令而造成逾时,存储器管理电路1043在判断已接收到的指令需要较长执行时间的情况下,则会在指令真正地执行完毕之后才作回应。在主机系统1000经常对存储器储存装置100下达的各种指令当中,必须合并实体区块或执行平均磨损而致使存储器储存装置100触发数据搬移程序的执行的写入指令,其需要的执行时间远超过一般写入、读取、或清除等其他类型的指令。基此,以下特别以接收到来自主机系统1000的写入指令为例来对本发明进行说明。详细地说,当主机系统1000欲将数据写入存储器储存装置100时,存储器控制器 104通过连接器102接收来自主机系统1000的写入指令,并由缓冲存储器1045暂存主机系统1000所传输的写入数据。而在主机系统1000传输写入数据的过程中,存储器管理电路 1043会判断此次收到的写入指令是否需要较长的执行时间。也即,是否会触发数据搬移程序的执行(例如合并实体区块或执行平均磨损所产生的数据搬移)。在本范例实施例中, 存储器管理电路1043是根据可用的实体区块的数目是否少于一预设门槛值或特定的变数 (例如执行平均磨损时所产生的变数,或其他使数据产生搬移的变数)来判断写入指令是否触发数据搬移程序的执行。若写入指令并不触发数据搬移程序的执行,存储器管理电路1043将在写入数据被完全传输至缓冲存储器1045时,将对应写入指令的确认信息传送至主机系统1000。然而,倘若写入指令会触发存储器管理电路1043执行快速存储器晶片106的数据搬移程序, 存储器管理电路1043则会在数据搬移程序执行完毕时,才将确认信息传送至主机系统 1000。而主机系统1000在收到来自存储器储存装置100的确认信息后,便能再次对存储器储存装置100下达另一个指令。由于主机系统1000在收到存储器储存装置100的确认信息后,需经过一段等待时间才能下达新指令。也就是说,存储器储存装置100在处理完一个来自主机系统1000的指令后,最少须经过上述等待时间才能接获新指令并开始进行处理。因此,存储器管理电路 1043在指令真正处理完毕之前(例如,写入指令所对应的写入数据尚未被写入快速存储器晶片106)便提早通知主机系统1000准备下达新指令,将能提升存储器储存装置100执行主机系统1000所下达的指令的效率。另外,当主机系统1000下达的写入指令会致使数据搬移程序的执行而需要较长的处理时间时,为了避免接获新指令到执行新指令的时间过长,存储器管理电路1043会在数据搬移程序执行完毕后才回应主机系统1000,以避免因无法立即处理新指令而造成新指令操作时间逾时的情况。在以下的范例实施例中,存储器管理电路1043是通过设定判断参数以及在特定时刻检查判断参数的数值,来决定将确认信息传送至主机系统1000的时机。具体而言,存储器管理电路1043在主机系统1000将写入指令下达至存储器储存装置100后,便将一判断参数设定为第一特定值,并通知主机系统1000可以开始传输写入数据。而在写入数据被传输至缓冲存储器1045的期间,存储器管理电路1043判断写入指令是否触发数据搬移程序的执行。而只要主机系统1000已将写入数据完全传输至缓冲存储器1045,主机系统1000会传送一中断指令至存储器储存装置100。倘若存储器管理电路1043判定写入指令并不触发数据搬移程序的执行,存储器管理电路1043会将判断参数设定为第二特定值。此时,若存储器储存装置100接收到来自主机系统1000的中断指令(表示写入数据已完全传输至缓冲存储器1045),存储器管理电路1043会去检查判断参数为第一特定值或第二特定值。由于判断参数已被设定为第二特定值,因此即便写入指令尚未完全处理完毕,存储器管理电路1043仍会将确认信息提前传送至主机系统1000,以告知主机系统1000可以准备下达下一个指令。接下来,存储器管理电路1043会继续依据写入指令进行对应的处理,也即,将缓冲存储器1045中的写入数据搬移至快速存储器晶片106。由于在这种情况下,写入指令并不会触发存储器管理电路1043 执行数据搬移程序,因此即便主机系统1000紧接着对存储器储存装置100下达另一新指令,新指令也能被很快地执行而较不容易发生逾时。然而若存储器管理电路1043判定写入指令会触发数据搬移程序的执行,存储器管理电路1043将不改变判断参数的数值,而准备进行数据搬移程序。期间,若存储器储存装置100接收到主机系统1000下达的中断指令,存储器管理电路1043检查判断参数仍为第一特定值,表示目前所处理的写入指令需要较长的执行时间,因此存储器管理电路1043 不会在此时将确认信息传送至主机系统1000,以避免过快接收到新指令但却无法立即处理而产生逾时的情况。存储器管理电路1043会继续进行数据搬移程序,并等到数据搬移程序执行完毕时,才将判断参数设定为第二特定值。之后,若收到主机系统1000传送而来的中断指令,存储器管理电路1043便会将确认信息传送至主机系统1000。并且,存储器管理电路1043会将缓冲存储器1045中的写入数据搬移至快速存储器晶片106以完成写入指令。也就是说,无论在主机系统1000发出中断指令时存储器管理电路1043正在进行什么阶段的处理动作,都可藉由检查判断参数的数值是第一特定值或第二特定值来决定要稍后传送确认信息或是随即将确认信息传送至主机系统1000。相较之下,因只有比较少数的写入指令会触发数据搬移程序的执行,因此在大多数的情况下都能因为先将确认信息传送至主机系统1000而使主机系统1000提前传送下一个指令,进而达到减少等待指令下达时间的目的。而在需要进行费时的数据搬移程序时,也能避免下一个指令逾时的情况。图5A、图5B是根据本发明一范例实施例所绘示的回应主机指令的方法的流程图。请参阅图5A,首先如步骤510所示,存储器储存装置100接收主机系统1000下达的写入指令,此时存储器管理电路1043会通知主机系统1000可以开始传送对应的写入数据。接着在步骤520中,存储器管理电路1043将判断参数设定为第一特定值。如步骤530所示,存储器储存装置100接收主机系统1000传输的写入数据,此写入数据将被暂存在缓冲存储器1045。并如步骤540所示,存储器管理电路1043判断写入指令是否触发数据搬移程序的执行。其中,存储器管理电路1043能在主机系统1000传输写入数据的期间执行步骤MO的判断动作。倘若写入指令并不会触发数据搬移程序的执行,如步骤550所示,存储器管理电路1043将判断参数设定为第二特定值。然而若写入指令会触发数据搬移程序的执行,则如步骤560所示,存储器管理电路1043开始执行数据搬移程序。当数据搬移程序执行完毕时,如步骤570所示,存储器管理电路1043将判断参数设定为第二特定值。最后如步骤580所示,存储器管理电路1043将暂存于缓冲存储器1045中的写入数据储存至快速存储器晶片106,以完成写入指令。因此在图5A所示的各步骤的期间,一旦主机系统1000已将写入数据完全传输至缓冲存储器1045,主机系统1000会将中断指令下达至存储器储存装置100。基此,当收到主机系统1000传送而来的中断指令时,如图5B所示的步骤5001所示,存储器管理电路1043 检查判断参数是否为第二特定值。若否,则如步骤5003所示,存储器管理电路1043暂不将确认信息传送至主机系统1000。若是,存储器管理电路1043将确认信息传送至主机系统 1000。如图5A、图5B所示,在判断参数被设定为第二特定值之前,存储器管理电路1043 都不会将确认信息传送至主机系统1000。而在判断参数被设定为第二特定值之后,只要接收到主机系统1000传送而来的中断指令,无论写入指令是否执行完毕,存储器管理电路 1043都会将确认信息传送至主机系统1000。综上所述,本发明所述的回应主机指令的方法、存储器控制器以及存储器储存装置在接收来自主机系统的写入指令时,根据写入指令是否致使存储器储存装置触发数据搬移程序的执行,以决定在不同的时间点将写入指令的确认信息传送至主机系统。如此一来, 对于不会触发数据搬移程序的写入指令,提早传送确认信息的时间,进而让主机系统能提前将下一个指令下达至存储器储存装置,以提高存储器储存装置处理指令的整体效率。另外对于会导致数据搬移程序的写入指令,则等待数据搬移程序执行完毕后才回应主机系统,以防止接收到的下一个指令产生逾时的情况。虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中的普通技术人员,当可作些许更动与润饰,而不脱离本发明的精神和范围。
权利要求
1.一种回应主机指令的方法,用于具有一快速存储器晶片与一缓冲存储器的一存储器储存装置,该方法包括接收一主机系统下达的一写入指令;判断该写入指令是否致使该存储器储存装置触发一数据搬移程序的执行;以及若否,则在该写入指令所对应的一写入数据被完全传输至该缓冲存储器时,将对应该写入指令的一确认信息传送至该主机系统。
2.根据权利要求1所述的回应主机指令的方法,其中该数据搬移程序包括合并该快速存储器晶片的实体区块而产生的数据搬移,或对该快速存储器晶片执行平均磨损而产生的数据搬移。
3.根据权利要求1所述的回应主机指令的方法,其中在判断该写入指令是否致使该存储器储存装置触发该数据搬移程序的执行的步骤之后,该方法还包括若是,则在该数据搬移程序执行完毕时,将该确认信息传送至该主机系统。
4.根据权利要求1所述的回应主机指令的方法,其中在接收该主机系统下达的该写入指令的步骤之后,该方法还包括将一判断参数设定为一第一特定值。
5.根据权利要求4所述的回应主机指令的方法,其中还包括若判定该写入指令不致使该数据搬移程序的执行,则将该判断参数设定为一第二特定值;以及若判定该写入指令致使该数据搬移程序的执行,则在该数据搬移程序执行完毕时,将该判断参数设定为该第二特定值。
6.根据权利要求5所述的回应主机指令的方法,其中还包括在接收该主机系统下达的一中断指令时,检查该判断参数为该第一特定值或该第二特定值;若该判断参数为该第一特定值,则不传送该确认信息至该主机系统;以及若该判断参数为该第二特定值,则传送该确认信息至该主机系统。
7.根据权利要求6所述的回应主机指令的方法,其中该中断指令是当该主机系统判断已将该写入数据完全传输至该缓冲存储器时下达至该存储器储存装置。
8.一种存储器控制器,包括一主机系统接口,用以耦接一主机系统;一存储器接口,用以耦接一快速存储器晶片;一缓冲存储器;以及一存储器管理电路,耦接至该主机系统接口、该存储器接口与该缓冲存储器,其中该存储器管理电路用以接收该主机系统下达的一写入指令,并判断该写入指令是否触发一数据搬移程序的执行,若否,该存储器管理电路还用以在该写入指令所对应的一写入数据被完全传输至该缓冲存储器时,将对应该写入指令的一确认信息传送至该主机系统。
9.根据权利要求8所述的存储器控制器,其中该数据搬移程序包括合并该快速存储器晶片的实体区块而产生的数据搬移,或对该快速存储器晶片执行平均磨损而产生的数据搬移。
10.根据权利要求8所述的存储器控制器,其中若该存储器管理电路判断该写入指令触发该数据搬移程序的执行,该存储器管理电路还用以在该数据搬移程序执行完毕时,将该确认信息传送至该主机系统。
11.根据权利要求8所述的存储器控制器,其中该存储器管理电路还用以在接收该主机系统下达的该写入指令之后,将一判断参数设定为一第一特定值。
12.根据权利要求11所述的存储器控制器,其中该存储器管理电路还用以在判定该写入指令不会触发该数据搬移程序的执行时,将该判断参数设定为一第二特定值,并且在判定该写入指令会触发该数据搬移程序的执行时,在该数据搬移程序执行完毕时将该判断参数设定为该第二特定值。
13.根据权利要求12所述的存储器控制器,其中该存储器管理电路还用以在接收该主机系统下达的一中断指令时,检查该判断参数为该第一特定值或该第二特定值,若该判断参数为该第一特定值,该存储器管理电路不传送该确认信息至该主机系统,若该判断参数为该第二特定值,该存储器管理电路传送该确认信息至该主机系统。
14.根据权利要求13所述的存储器控制器,其中该中断指令是当该主机系统判断已将该写入数据完全传输至该缓冲存储器时下达至该存储器管理电路。
15.一种存储器储存装置,包括一连接器,用以耦接一主机系统;一快速存储器晶片;以及一存储器控制器,耦接至该快速存储器晶片与该连接器,其中该存储器控制器包括一缓冲存储器,该存储器控制器用以接收该主机系统下达的一写入指令,并判断该写入指令是否触发一数据搬移程序的执行,若否,该存储器控制器还用以在该写入指令所对应的一写入数据被完全传输至该缓冲存储器时,将对应该写入指令的一确认信息传送至该主机系统。
16.根据权利要求15所述的存储器储存装置,其中该数据搬移程序包括合并该快速存储器晶片的实体区块而产生的数据搬移,或对该快速存储器晶片执行平均磨损而产生的数据搬移。
17.根据权利要求15所述的存储器储存装置,其中若该存储器控制器判断该写入指令会触发该数据搬移程序的执行,该存储器控制器还用以在该数据搬移程序执行完毕时,将该确认信息传送至该主机系统。
18.根据权利要求15所述的存储器储存装置,其中该存储器控制器还用以在接收该主机系统下达的该写入指令之后,将一判断参数设定为一第一特定值。
19.根据权利要求18所述的存储器储存装置,其中该存储器控制器还用以在判断该写入指令不会触发该数据搬移程序的执行时,将该判断参数设定为一第二特定值,并且在判断该写入指令会触发该数据搬移程序的执行时,在该数据搬移程序执行完毕时将该判断参数设定为该第二特定值。
20.根据权利要求19所述的存储器储存装置,其中该存储器控制器还用以在接收该主机系统下达的一中断指令时,检查该判断参数为该第一特定值或该第二特定值,若该判断参数为该第一特定值,该存储器控制器不传送该确认信息至该主机系统,若该判断参数为该第二特定值,该存储器控制器传送该确认信息至该主机系统。
21.根据权利要求20所述的存储器储存装置,其中该中断指令是当该主机系统判断已将该写入数据完全传输至该缓冲存储器时下达至该存储器控制器。
全文摘要
本发明公开了一种存储器储存装置及其存储器控制器与回应主机指令的方法。此存储器储存装置具有快速存储器晶片与缓冲存储器。此方法包括接收主机系统下达的写入指令,判断写入指令是否致使存储器储存装置触发数据搬移程序的执行。此方法还包括若写入指令不致使存储器储存装置触发数据搬移程序的执行,则在写入指令所对应的写入数据被完全传输至缓冲存储器时,将对应写入指令的确认信息传送至主机系统。
文档编号G06F13/16GK102486757SQ201010580878
公开日2012年6月6日 申请日期2010年12月6日 优先权日2010年12月6日
发明者叶志刚 申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1