CN102486757B - 存储器储存装置及其存储器控制器与回应主机指令的方法 - Google Patents
存储器储存装置及其存储器控制器与回应主机指令的方法 Download PDFInfo
- Publication number
- CN102486757B CN102486757B CN201010580878.9A CN201010580878A CN102486757B CN 102486757 B CN102486757 B CN 102486757B CN 201010580878 A CN201010580878 A CN 201010580878A CN 102486757 B CN102486757 B CN 102486757B
- Authority
- CN
- China
- Prior art keywords
- data
- computer system
- host computer
- write
- memorizer
- 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
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种存储器储存装置及其存储器控制器与回应主机指令的方法。此存储器储存装置具有快速存储器晶片与缓冲存储器。此方法包括接收主机系统下达的写入指令,判断写入指令是否致使存储器储存装置触发数据搬移程序的执行。此方法还包括若写入指令不致使存储器储存装置触发数据搬移程序的执行,则在写入指令所对应的写入数据被完全传输至缓冲存储器时,将对应写入指令的确认信息传送至主机系统。
Description
技术领域
本发明涉及一种回应主机指令的方法,尤其涉及一种执行该方法的存储器储存装置及其存储器控制器。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于快速存储器(Flash Memory)具有数据非挥发性、省电、体积小与无机械结构等特性,故十分适合作为这类可携式产品的储存媒体。
对于采用快速存储器作为储存媒体的储存装置来说,当主机系统将写入指令下达至储存装置时,首先由储存装置中的缓冲存储器接收主机系统传输(transfer)而来的数据。待数据完全传输至缓冲存储器后,储存装置才开始将暂存在缓冲存储器中的数据存入快速存储器。而储存装置会在写入指令执行完毕时将一确认信息回复至主机系统,以通知主机系统可以下达下一个指令。
然而,主机系统在收到来自储存装置的确认信息后,需经过一段等待时间(约40微秒(μs))才能下达新指令。也就是说,在上述等待时间之内储存装置是处于闲置状态。据此,如何降低储存装置处于闲置状态的时间以提升其处理主机指令的效率,便成为本领域技术人员所致力的目标。
发明内容
有鉴于此,本发明提供一种回应主机指令的方法,能够让主机系统提前下达下一个指令,同时避免下一个指令的执行时间逾时。
本发明提供一种存储器控制器,能够让主机系统提前下达下一个指令,同时避免下一个指令的执行时间逾时。
本发明提供一种存储器储存装置,能够让主机系统提前下达下一个指令,同时避免下一个指令的执行时间逾时。
本发明提出一种回应主机指令的方法,用于具有快速存储器晶片与缓冲存储器的存储器储存装置。此方法包括接收主机系统下达的写入指令,判断写入指令是否致使存储器储存装置触发数据搬移程序的执行。若否,则在写入指令所对应的写入数据被完全传输至缓冲存储器时,将对应写入指令的确认信息传送至主机系统。
从另一观点来看,本发明提出一种存储器控制器,其包括主机系统接口、存储器接口、缓冲存储器,以及存储器管理电路。其中,主机系统接口用以耦接主机系统。存储器接口用以耦接快速存储器晶片。存储器管理电路耦接至主机系统接口、存储器接口与缓冲存储器。存储器管理电路用以接收主机系统下达的写入指令,并判断写入指令是否触发数据搬移程序的执行。若写入指令不会触发数据搬移程序的执行,存储器管理电路还用以在写入指令所对应的写入数据被完全传输至缓冲存储器时,将对应写入指令的确认信息传送至主机系统。
从又一观点来看,本发明提出一种存储器储存装置,包括连接器、快速存储器晶片,以及存储器控制器。其中连接器是用以耦接主机系统。存储器控制器耦接至快速存储器晶片与连接器,此存储器控制器包括一缓冲存储器。存储器控制器用以接收主机系统下达的写入指令,并判断写入指令是否触发数据搬移程序的执行。若写入指令不会触发数据搬移程序的执行,存储器控制器还用以在写入指令所对应的写入数据被完全传输至缓冲存储器时,将对应写入指令的确认信息传送至主机系统。
基于上述,本发明是根据来自主机系统的写入指令是否致使存储器储存装置触发数据搬移程序的执行,以决定将该写入指令的确认信息回传至主机系统的时间点。据此,对于不会导致数据搬移程序的写入指令,在写入指令完成前便提早将确认信息传送至主机系统,进而让主机系统能提前下达下一个指令。而对于会导致数据搬移程序的写入指令,则等待数据搬移程序执行完毕后才回应主机系统,以防止下一个指令的执行时间逾时。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是根据本发明一范例实施例所绘示的使用存储器储存装置的主机系统的示意图。
图1B是根据本发明一范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。
图1C是根据本发明另一范例实施例所绘示的主机系统与存储器储存装置的示意图。
图2是图1A所示的存储器储存装置的概要方框图。
图3是根据本发明一范例实施例所绘示的存储器控制器的概要方框图。
图4是主机系统下达两指令的时间示意图。
图5A、图5B是根据本发明一范例实施例所绘示的回应主机指令的方法的流程图。
主要元件符号说明:
1000:主机系统
1100:计算机
1102:微处理器
1104:随机存取存储器
1106:输入/输出装置
1108:系统总线
1110:数据传输接口
1202:鼠标
1204:键盘
1206:显示器
1208:打印机
1212:随身盘
1214:存储卡
1216:固态硬盘
1310:数码相机
1312:SD卡
1314:MMC卡
1316:存储棒
1318:CF卡
1320:嵌入式储存装置
100:存储器储存装置
102:连接器
104:存储器控制器
106:快速存储器晶片
1041:主机系统接口
1043:存储器管理电路
1045:缓冲存储器
1047:存储器接口
3002:电源管理电路
3004:错误检查与校正电路
t1、t2、t3:时间点
Tw:等待时间
Tp:处理时间
510~580、5001~5005:本发明的一实施例所述的回应主机指令的方法的各步骤
具体实施方式
一般而言,存储器储存装置(也称,存储器储存系统)包括存储器晶片与控制器(也称,控制电路)。通常存储器储存装置会与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。另外,也有存储器储存装置是包括嵌入式存储器与可执行于主机系统上以实质地作为此嵌入式存储器的控制器的软件。
图1A是根据本发明一范例实施例所绘示的使用存储器储存装置的主机系统的示意图。
主机系统1000包括计算机1100与输入/输出(Input/Output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(RandomAccess Memory,RAM)1104、系统总线1108以及数据传输接口1110。输入/输出装置1106包括如图1B所示的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,如图2B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明范例实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其他元件耦接。藉由微处理器1102、随机存取存储器1104以及输入/输出装置1106的运作,主机系统1000可将数据写入至存储器储存装置100,或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的存储卡1214、随身盘1212、或固态硬盘(Solid State Drive,SSD)1216。
一般而言,主机系统1000为可储存数据的任意系统。虽然在本范例实施例中主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中,主机系统1000也可以是手机、数码相机、摄影机、通讯装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机1310时,存储器储存装置则为其所使用的安全数字(SecureDigital,SD)卡1312、多媒体存储(Multimedia Card,MMC)卡1314、存储棒(Memory Stick,MEM STICK)1316、小型快速(Compact Flash,CF)卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接耦接于主机系统的基板上。
图2是图1A所示的存储器储存装置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)与取代区(replacement 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接口、MMC接口、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,且在时间点t1主机系统1000将写入指令CMD-1所对应的写入数据完全传输至缓冲存储器1045。若存储器储存装置100在时间点t1就将确认信息回复给主机系统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传输写入数据的期间执行步骤540的判断动作。
倘若写入指令并不会触发数据搬移程序的执行,如步骤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。
综上所述,本发明所述的回应主机指令的方法、存储器控制器以及存储器储存装置在接收来自主机系统的写入指令时,根据写入指令是否致使存储器储存装置触发数据搬移程序的执行,以决定在不同的时间点将写入指令的确认信息传送至主机系统。如此一来,对于不会触发数据搬移程序的写入指令,提早传送确认信息的时间,进而让主机系统能提前将下一个指令下达至存储器储存装置,以提高存储器储存装置处理指令的整体效率。另外对于会导致数据搬移程序的写入指令,则等待数据搬移程序执行完毕后才回应主机系统,以防止接收到的下一个指令产生逾时的情况。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中的普通技术人员,当可作些许更动与润饰,而不脱离本发明的精神和范围。
Claims (21)
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所述的存储器储存装置,其中该中断指令是当该主机系统判断已将该写入数据完全传输至该缓冲存储器时下达至该存储器控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010580878.9A CN102486757B (zh) | 2010-12-06 | 2010-12-06 | 存储器储存装置及其存储器控制器与回应主机指令的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010580878.9A CN102486757B (zh) | 2010-12-06 | 2010-12-06 | 存储器储存装置及其存储器控制器与回应主机指令的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102486757A CN102486757A (zh) | 2012-06-06 |
CN102486757B true CN102486757B (zh) | 2016-09-28 |
Family
ID=46152251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010580878.9A Active CN102486757B (zh) | 2010-12-06 | 2010-12-06 | 存储器储存装置及其存储器控制器与回应主机指令的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102486757B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180373653A1 (en) * | 2017-06-21 | 2018-12-27 | Hewlett Packard Enterprise Development Lp | Commitment of acknowledged data in response to request to commit |
CN108595360A (zh) * | 2018-04-28 | 2018-09-28 | 北京东远润兴科技有限公司 | 一种基于M.2接口和PowerPC的存储记录仪 |
CN111143898B (zh) * | 2018-11-05 | 2022-06-14 | 瑞昱半导体股份有限公司 | 可插拔存储器装置数据保护方法 |
TWI755739B (zh) * | 2020-05-26 | 2022-02-21 | 慧榮科技股份有限公司 | 記憶體控制器與資料處理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1372202A (zh) * | 2001-02-21 | 2002-10-02 | 富士通株式会社 | 半导体存储装置和信息处理单元 |
US7222211B2 (en) * | 2005-03-14 | 2007-05-22 | Phison Electronics Corporation | Virtual USB flash memory storage device with PCI express interface |
CN101866320A (zh) * | 2009-04-14 | 2010-10-20 | 群联电子股份有限公司 | 数据管理方法及使用此方法的闪存储存系统与控制器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571832B (zh) * | 2008-04-29 | 2013-07-17 | 群联电子股份有限公司 | 数据写入方法及使用该方法的快闪存储系统与其控制器 |
-
2010
- 2010-12-06 CN CN201010580878.9A patent/CN102486757B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1372202A (zh) * | 2001-02-21 | 2002-10-02 | 富士通株式会社 | 半导体存储装置和信息处理单元 |
US7222211B2 (en) * | 2005-03-14 | 2007-05-22 | Phison Electronics Corporation | Virtual USB flash memory storage device with PCI express interface |
CN101866320A (zh) * | 2009-04-14 | 2010-10-20 | 群联电子股份有限公司 | 数据管理方法及使用此方法的闪存储存系统与控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN102486757A (zh) | 2012-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111090398B (zh) | 固态硬盘的垃圾回收方法、装置、设备及可读存储介质 | |
TWI643066B (zh) | 用來於一記憶裝置中重新使用關於垃圾收集的一目的地區塊之方法、記憶裝置及其控制器以及電子裝置 | |
US8392649B2 (en) | Memory storage device, controller, and method for responding to host write commands triggering data movement | |
US20180260317A1 (en) | Method for managing the copying and storing of data in garbage collection, memory storage device and memory control circuit unit using the same | |
CN101923448B (zh) | 一种nand闪存的转换层读写方法 | |
US9582416B2 (en) | Data erasing method, memory control circuit unit and memory storage apparatus | |
TWI585770B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI524183B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN110058795A (zh) | 管理闪存模块的方法及相关的闪存控制器及电子装置 | |
CN101640069B (zh) | 用于闪速存储器的平均磨损方法与平均磨损系统 | |
TWI470431B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN101918913A (zh) | 自动精简配置存储设备上的存储收回 | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN101419834B (zh) | 平均磨损方法及使用此方法的控制器 | |
CN104423888A (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN112463656B (zh) | 固态硬盘异常掉电恢复方法、系统及存储介质 | |
CN101499315B (zh) | 快闪存储器平均磨损方法及其控制器 | |
CN106776376A (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
CN102831072A (zh) | 闪存设备及其管理方法、数据读写方法及读写装置 | |
CN109117319A (zh) | 存储器系统及其操作方法 | |
CN102486757B (zh) | 存储器储存装置及其存储器控制器与回应主机指令的方法 | |
CN109697170A (zh) | 存取闪存模块的方法及相关的闪存控制器与电子装置 | |
CN109815158A (zh) | 进行系统备份的方法、记忆装置及控制器、及电子装置 | |
TWI792534B (zh) | 以局部清理操作來進行垃圾回收的方法與相關控制器和儲存系統 | |
CN104166558B (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 |