CN103186470B - 存储器储存装置及其存储器控制器与数据写入方法 - Google Patents
存储器储存装置及其存储器控制器与数据写入方法 Download PDFInfo
- Publication number
- CN103186470B CN103186470B CN201110455539.2A CN201110455539A CN103186470B CN 103186470 B CN103186470 B CN 103186470B CN 201110455539 A CN201110455539 A CN 201110455539A CN 103186470 B CN103186470 B CN 103186470B
- Authority
- CN
- China
- Prior art keywords
- temporary storage
- write
- write data
- data
- memory
- 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在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器(rewritablenon-volatilememory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记型电脑。固态硬盘就是一种以快闪存储器作为储存媒体的存储器储存装置。因此,近年快闪存储器产业成为电子产业中相当热门的一环。
若存储器储存装置是以可复写式挥发性存储器作为储存媒体,当有数据写入至可复写式挥发性存储器时,可复写式挥发性存储器可能会发生程序错误,使得数据并没有成功地被写入。因此,一个存储器储存装置中通常会配置至少一个暂存存储器。此暂存存储器可以用来暂存欲写入存储器储存装置的数据。也就是说,每一笔欲写入至存储器储存装置的数据都需要先暂存至此暂存存储器,并且之后再从从暂存存储器中将欲写入的数据写入至可复写式挥发性存储器中。由于对于一笔写入数据来说,都需要对暂存存储器进行暂存与读取两个动作。因此,当暂存存储器的传输频宽不够大时,相对于分配给写入操作的频宽就会相对较少。
此外,当数据被暂存至暂存存储器后,存储器储存装置的控制电路就会向主机传送已完成指令的讯息,以便接收下一个指令与数据。当将数据写入至可复写式挥发性存储器时,可能会发生程序错误(programfail),使得数据并没有成功地被写入。因此,存储器储存装置的控制电路会需要从暂存存储器中将为成功写入的数据再次写入(亦称为重写)至可复写式挥发性存储器中。因此,在存储器储存装置中所配置的暂存存储器必须足够大来暂存数据,以避免无法进行重写。
基于上述,为了提升写入速度,使用频宽较大的暂存存储器是需要的。然而,为了考量上述重写的需求,必须使用大容量的暂存存储器。对于频宽较大的暂存存储器来说,每存储单位的成本较高。因此,如何能够在降低制造成本下,又具有适当容量的暂存存储器及具有适当的存储器频宽,为此领域技术人员所关心的议题。
发明内容
本发明实施例提供一种存储器储存装置及其存储器控制器与数据写入方法,其可有效地提升存储器储存装置的写入速度。
本发明一实施例提供一种存储器储存装置,包括连接器、可复写式非易失性存储器模组、存储器控制器与第二暂存存储器。连接器是用以电性连接至主机系统。存储器控制器是电性连接至连接器与可复写式非易失性存储器模组,并且具有第一暂存存储器,其中第一暂存存储器具有一写入数据暂存区。第二暂存存储器是电性连接第一暂存存储器,其中第二暂存存储器的传输频宽低于第一暂存存储器的传输频宽。存储器控制器用以从主机系统中接收到对应写入指令的写入数据,并且将写入数据暂存至写入数据暂存区。存储器控制器还用以从写入数据暂存区中将写入数据复制到第二暂存存储器中,并且根据写入指令从写入数据暂存区中将写入数据写入至可复写式非易失性存储器模组中。此外,存储器控制器在将写入数据写入至可复写式非易失性存储器模组中之后判断是否发生程序错误。若发生程序错误时,则存储器控制器还用以从第二暂存存储器中读取写入数据,并根据写入指令将写入数据写入至可复写式非易失性存储器模组中。
在本发明的一实施例中,上述存储器控制器还用以从主机系统接收读取指令,并判断第二暂存存储器是否储存有对应读取指令的读取数据。若第二暂存存储器储存有对应读取指令的读取数据时,则存储器控制器从第二暂存存储器中读取此读取数据并将此读取数据传送至主机系统以回应上述读取指令。
在本发明的一实施例中,上述第二暂存存储器是配置在存储器控制器中或者配置在存储器控制器的外部。
在本发明的一实施例中,上述第一暂存存储器为静态随机存取存储器(staticrandomaccessmemory,SRAM)。
在本发明的一实施例中,上述第二暂存存储器为同步动态随机存取存储器(synchronousdynamicrandomaccessmemory,SDRAM)。
在本发明的一实施例中,上述第二暂存存储器的容量大于第一暂存存储器的容量。
在本发明的一实施例中,上述第二暂存存储器的容量为第一暂存存储器的容量的8倍。
在本发明的一实施例中,上述第二暂存存储器的传输频宽是应用于单一操作程序,而上述第一暂存存储器的传输频宽可同时分享于多个操作程序。
以另外一个角度来说,本发明一实施例提供一种数据写入方法,用于一存储器储存装置。此存储器储存装置具有第二暂存存储器、存储器控制器以及可复写式非易失性存储器模组,其中第一暂存存储器配置在存储器控制器中并且第一暂存存储器的传输频宽大于第二暂存存储器的传输频宽。本数据写入方法包括从主机系统接收写入指令与对应写入指令的写入数据并且将写入数据暂存至第一暂存存储器的写入数据暂存区中。本数据写入方法也包括从写入数据暂存区中将写入数据复制到第二暂存存储器中,并且根据写入指令从写入数据暂存区中将写入数据写入至可复写式非易失性存储器模组中。此写入方法还包括:在将写入数据写入至可复写式非易失性存储器模组中之后判断是否发生程序错误;以及,若发生程序错误时,则从第二暂存存储器中读取写入数据,并根据写入指令将写入数据写入至可复写式非易失性存储器模组中。
在本发明的一实施例中,上述数据写入方法还包括:从主机系统接收读取指令;判断第二暂存存储器是否储存有对读取指令的读取数据;以及若第二暂存存储器储存有对应读取指令的读取数据,则从第二暂存存储器中读取对应的读取数据并将此读取数据传送至主机系统以回应读取指令。
以另外一个角度来说,本发明一实施例提供一种存储器控制器,用于控制可复写式非易失性存储器模组。存储器控制器包括主机接口、存储器接口、存储器管理电路与第一暂存存储器。主机接口是用以电性连接至主机系统。存储器接口是用以电性连接至可复写式非易失性存储器模组。存储器管理电路是电性连接至主机接口与存储器接口。第一暂存存储器是电性连接至存储器管理电路,并且具有一写入数据暂存区。其中,存储器管理电路用以从主机系统中接收到对应写入指令的写入数据,并且将写入数据暂存至写入数据暂存区。存储器管理电路还用以从写入数据暂存区中根据写入指令将写入数据写入至可复写式非易失性存储器模组中。存储器管理电路还用以从写入数据暂存区中将写入数据复制到第二暂存存储器中,其中第一暂存存储器的传输频宽高于第二暂存存储器的传输频宽。存储器管理电路还用以在将写入数据写入至可复写式非易失性存储器模组中的后判断是否发生程序错误。若发生程序错误时,则存储器管理电路还用以从第二暂存存储器中读取写入数据,并根据写入指令将写入数据写入至可复写式非易失性存储器模组中。
在本发明的一实施例中,上述存储器管理电路还用以从主机系统接收读取指令,并判断第二暂存存储器是否储存有对应读取指令的读取数据。若第二暂存存储器储存有对应读取指令的读取数据,则存储器管理电路从第二暂存存储器中读取读取数据并将读取数据传送至主机系统以回应读取指令。
基于上述,本发明提出的存储器储存装置、写入方法与存储器控制器,能够将存储器控制器中的第一暂存存储器作为缓冲区,而第二暂存存储器的传输频宽全都作为写入数据时的传输频宽。因此,可以有效的使用第二暂存存储器的传输频宽,进而提升存储器储存装置的写入速度。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。
附图说明
图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
图1B是根据一范例实施例所绘示的电脑、输入/输出装置与存储器储存装置的示意图。
图1C是根据一范例实施例所绘示的主机系统与存储器储存装置的示意图。
图2是绘示图1A所示的存储器储存装置的概要方块图。
图3是根据一范例实施例所绘示的存储器控制器的概要方块图。
图4是根据一范例实施例所绘示的存储器储存装置的方块图。
图5是一实施例所绘示的数据写入方法的流程图。
主要元件符号说明
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:可复写式非易失性存储器模组
108:第二暂存存储器
202:存储器管理电路
204:主机接口
206:存储器接口
208:第一暂存存储器
300:写入数据暂存区
302:写入数据
S502、S504、S506、S508、S510:数据写入方法的步骤
具体实施方式
一般而言,存储器储存装置(亦称,存储器储存系统)包括可复写式非易失性存储器模组与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
请参照图1A,主机系统1000一般包括电脑1100与输入/输出(input/output,I/O)装置1106。电脑1100包括微理器1102、暂存存储器(例如随机存取存储器,randomaccessmemory,RA)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图1B的滑鼠1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明范例实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。藉由微处理器1102、暂存存储器1104与输入/输出装置1106的操作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的随身碟1212、存储卡1214或固态硬盘(SolidStateDrive,SSD)1216等的可复写式非易失性存储器储存装置。
一般而言,主机系统1000为可实质地与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数字相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数字相机(摄影机)1310时,可复写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memorystick)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2是绘示图1A所示的存储器储存装置的概要方块图。
请参照图2,存储器储存装置100包括连接器102、存储器控制器104、可复写式非易失性存储器模组106与第二暂存存储器108。
在本范例实施例中,连接器102是相容于序列先进附件(SerialAdvancedTechnologyAttachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合并列先进附件(ParellelAdvancedTechnologyAttachment,PATA)标准、电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,IEEE)1394标准、高速周边零件连接接口(PeripheralComponentInterconnectExpress,PCIExpress)标准、通用序列总线(UniversalSerialBus,USB)标准、安全数字(SecureDigital,SD)接口标准、记忆棒(MemoryStick,MS)接口标准、多媒体储存卡(MultiMediaCard,MMC)接口标准、小型快闪(CompactFlash,CF)接口标准、整合式驱动电子接口(IntegratedDeviceElectronics,IDE)标准或其他适合的标准。
存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑闸或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模组106中进行数据的写入、读取与抹除等操作。
可复写式非易失性存储器模组106是电性连接至存储器控制器104,并且用以储存主机系统1000所写入的数据。可复写式非易失性存储器模组106包括多个实体区块(未绘式)。在本范例实施例中,可复写式非易失性存储器模组106为多层记忆胞(MultiLevelCell,MLC)NAND快闪存储器模组。然而,本发明不限于此,可复写式非易失性存储器模组106亦可是单层记忆胞(SingleLevelCell,SLC)NAND快闪存储器模组、其他快闪存储器模组或其他具有相同特性的存储器模组。
第二暂存存储器108是配置在存储器控制器的外部且电性连接至存储器控制器104。第二暂存存储器108用以暂存存储器控制器104所执行的指令或数据。例如,第二暂存存储器是用以备份接收自主机系统1000的写入数据。本范例实施例中,第二暂存存储器108为同步动态暂存存储器(synchronousdynamicrandomaccessmemory,SDRAM)并且第二暂存存储器108的传输频宽为400M位元/秒。然而,本发明不限于此,第二暂存存储器108也可以是动态随机存取存储器(dynamicrandomaccessmemory,DRAM)、静态随机存取存储器(staticrandomaccessmemory,SRAM)、磁电阻式随机存取记忆(MagnetoresistiveRandomAccessMemory,MRAM)、快取随机存取存储器(CacheRAM)、同步动态随机存取存储器(synchronousdynamicrandomaccessmemory,SDRAM)、视频随机存取存储器(VideoRAM,VRAM)、反或闸快闪存储器(NORFlash)、嵌入式动态随机存取存储器(embeddedDRAM,eDRAM)或其他的存储器。
图3是根据一范例实施例所绘示的存储器控制器的概要方块图。
请参照图3,存储器控制器104包括存储器管理电路202、主机接口204、存储器接口206与第一暂存存储器208。
存储器管理电路202用以控制存储器控制器104的整体操作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100操作时,此些控制指令会被执行以进行数据的写入、读取与抹除等操作。
在本范例实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器单元(未绘示)与只读存储器(未绘示),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100操作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等操作。
在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以程式码型式储存于可复写式非易失性存储器模组106的特定区域(例如,存储器模组中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未绘示)、只读存储器(未绘示)及暂存存储器(未绘示)。特别是,此只读存储器具有驱动码,并且当存储器控制器104被致能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器模组106中的控制指令载入至存储器管理电路202的暂存存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等操作。
此外,在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以一硬件型式来实作。例如,存储器管理电路202包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可复写式非易失性存储器模组106的实体区块;存储器写入单元用以对可复写式非易失性存储器模组106下达写入指令以将数据写入至可复写式非易失性存储器模组106中;存储器读取单元用以对可复写式非易失性存储器模组106下达读取指令以从可复写式非易失性存储器模组106中读取数据;存储器抹除单元用以对可复写式非易失性存储器模组106下达抹除指令以将数据从可复写式非易失性存储器模组106中抹除;而数据处理单元用以处理欲写入至可复写式非易失性存储器模组106的数据以及从可复写式非易失性存储器模组106中读取的数据。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204亦可以是相容于PATA标准、IEEE1394标准、PCIExpress标准、USB标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模组106。也就是说,欲写入至可复写式非易失性存储器模组106的数据会经由存储器接口206转换为可复写式非易失性存储器模组106所能接受的格式。
第一暂存存储器208是电性连接至存储器管理电路202,用以暂存存储器管理电路202所执行的指令或是数据。具体来说,第一暂存存储器208包括写入数据暂存区300,其用以暂存主机系统1000所写入的数据。然而,必须了解的是,除了写入数据暂存区300,第一暂存存储器208可包括其他区域(未绘示),用以暂存其他数据。例如,存储器管理电路202可将可复写式非易失性存储器模组106中虚拟地址与实体地址的映射表(mappingtable)储存在第一暂存存储器208的其他区域中。在本范例实施例中,第一暂存存储器208的传输频宽大于第二暂存存储器108的传输频宽。例如,第一暂存存储器208为静态随机存取存储器(staticrandomaccessmemory,SRAM)。然而,第一暂存存储器208也可以是MRAM、CacheRAM、SDRAM、VRAM、NORFlash或是eDRAM。并且第一暂存存储器208的传输频宽为800M位元/秒。
在本范例实施例中,为了增加存储器储存装置100的写入速度,是将传输频宽较大的第一暂存存储器208作为暂存写入数据的区域,并将传输频宽较小的第二暂存存储器108作为备份写入数据的区域。
图4是根据一范例实施例所绘示的写入数据的示意图。
请参照图4,当存储器储存装置100从主机系统1000中接收到写入指令及对应此写入指令的写入数据302时,存储器管理电路202会将写入数据302暂存至写入数据暂存区300。由于第一暂存存储器208的传输频宽较大,因此可满足主机系统1000的写入需求。也就是说,存储器管理电路202将写入数据302暂存在写入数据暂存区300的速度会不低于主机系统1000传送写入数据302至存储器管理电路202的速度,由此可即时地从主机系统1000接收数据并且暂存至第一暂存存储器208。
其中在此范例实施例中,第一暂存存储器208的传输频宽可同时被至少两种操作程序来分享,此操作程序例如为写入或读取程序。例如,当一数据被写入至第一暂存存储器208的同时,其他数据可从第一暂存存储器208中被读取出并被传输至可复写式非易失性存储器模组106。例如,当一数据被写入至第一暂存存储器208的同时,其他数据也可从第一暂存存储器208中被读取出并且被传送至第二暂存存储器108。
接着,存储器管理电路202从写入数据暂存区300中读取写入数据302,并根据上述写入指令将写入数据302写入至可复写式非易失性存储器模组106中。
另一方面,存储器管理电路202也会从写入数据暂存区300中读取写入数据302,并将写入数据302复制到第二暂存存储器108中。值得注意的是,在本范例实施例中,此时第二暂存存储器108的传输频宽可全部都被用来传输写入数据302。也就是说,对于一份写入数据302,存储器管理电路202可只需要对第二暂存存储器108做写入的动作,而不做读取的动作。另一方面,存储器管理电路202也可以在将写入数据302写入至可复写式非易失性存储器模组106的同时,将写入数据302复制到第二暂存存储器108中。
基此,写入数据302便被备份在第二暂存存储器108中,并且存储器控制器104就可再从主机系统1000下一个写入指令并且将新的写入数据暂存至第一暂存存储器208。特别是,写入数据302已被备份至第二暂存存储器108中,因此,在第一暂存存储器208中,既使原先储存写入数据302的地址被用来暂存新的写入数据,亦不会影响存储器储存装置100的操作。
具体来说,存储器管理电路202会在将写入数据302写入至可复写式非易失性存储器模组106中之后,判断是否发生程序错误。若发生程序错误时,存储器管理电路202会从第二暂存存储器108中读取写入数据302,并根据写入指令将写入数据302重新写入至可复写式非易失性存储器模组106中。也就是说,当发生程序错误而未成功地将写入数据302写入至可复写式非易失性存储器模组106时,既使在第一暂存存储器208中写入数据302已被覆写成新的写入数据,存储器管理电路202仍可将写入数据302从第二暂存存储器108中重新写入至可复写式非易失性存储器模组106中。基此,存储器储存装置100能够在利用频宽较大的第一暂存存储器208来提升写入速度的同时,确保写入数据302能成功的写入至可复写式非易失性存储器模组106。在本范例实施例中,当存储器管理电路202从第二暂存存储器108中读取写入数据302时,第二暂存存储器108的传输频宽可全部都被用来传输写入数据302。也就是说,在此范例实施例中,第二暂存存储器108的传输频宽可全部用来执行一个单一操作程序,此单一操作程序例如为写入或读取程序。例如,第二暂存存储器108的传输频宽全部被用来将数据写入至第二暂存存储器108。或者,第二暂存存储器108的传输频宽全部被用来将数据从第二暂存存储器108读取出。
除此的外,在本范例实施例中,存储器管理电路202还用以从该主机系统1000接收读取指令。特别是,在接收到此读取指令以后,存储器管理电路202会判断第二暂存存储器108是否储存有对应此读取指令的读取数据。若第二暂存存储器108储存有对应此读取指令的读取数据,则存储器管理电路202会从第二暂存存储器108中读取所对应的读取数据并将此读取数据传送至该主机系统1000以回应存储器管理电路202所接收到的读取指令。举例来说,主机系统1000是先将写入数据302写入至存储器储存装置100,在一段时间以后,再从存储器储存装置100读取写入数据302。由于存储器管理电路在将写入数据302写入至可复写式非易失性存储器模组106时,会备份写入数据302至第二暂存存储器108中,因此,主机系统1000要从存储器储存装置100读取写入数据302时,写入数据302可能还存在第二暂存存储器108与可复写式非易失性存储器模组106中。因此,若对应读取指令的数据还储存在第二暂存存储器108时,直接从第二暂存存储器108中将对应的数据传送给主机系统1000,可有效地提升读取的速度。
在本范例实施例中,第一暂存存储器208的容量小于第二暂存存储器108的容量。例如,第二暂存存储器108的容量为第一暂存存储器208的容量的8倍,在此倍率(即,8倍)之下,第二暂存存储器108与第一暂存存储器208可以有较好的使用效率。详细来说,在第二暂存存储器108的容量小于第一暂存存储器208的容量的8倍的例子中,当写入数据暂存区300存满写入数据,并且存储器管理电路202要将写入数据暂存区300中的写入数据备份至第二暂存存储器108时,第二暂存存储器108可能会不具有足够的空间来备份这些写入数据。另一方面,若第二暂存存储器108的容量大于第一暂存存储器208的容量的8倍时,虽然不会有上述第二暂存存储器108空间不够的问题,但第二暂存存储器108可能会有太多闲置的存储器空间或者是所备份的数据太旧,主机系统1000并不常读取这么旧的数据,以致于第二暂存存储器108的使用效率降低。因此,当第二暂存存储器108的容量为第一暂存存储器208的容量的8倍时,可以有较佳的存储器使用效率,但值得说明的是,此比例关系是一经验值,其亦可依实际的需求,而改变为4倍、10倍或其他比例。
图5是根据一范例实施例所绘示的数据写入方法的流程图。
请参照图5,在步骤S502中,存储器控制器104的存储器管理电路202会从主机系统接收写入指令与对应此写入指令的写入数据。接着,在步骤S504中,存储器管理电路202会将写入数据暂存至第一暂存存储器的写入数据暂存区中。
之后,在步骤S506中,存储器管理电路202会根据写入指令从写入数据暂存区中将写入数据写入至可复写式非易失性存储器模组中,并且从写入数据暂存区中将写入数据复制到第二暂存存储器中。
然后,在步骤S508中,存储器管理电路202会在将写入数据写入至可复写式非易失性存储器模组中之后,判断是否发生程序错误。并且,若发生程序错误,则在步骤S510中,存储器管理电路202会从第二暂存存储器中读取写入数据,并根据写入指令将写入数据重新写入至可复写式非易失性存储器模组中。
然而,上述数据写入方法的各步骤可以有其他顺序,本发明并不限制图5各步骤的顺序。
值得一提的是,尽管在本发明范例实施例中,第二暂存存储器108是配置在存储器控制器104的外部。然而,本发明不限于此,在本发明另一范例实施例中,第二暂存存储器108亦可配置在存储器控制器104的内部。
综上所述,本发明实施例所提出的存储器储存装置、存储器控制器与写入方法,可以更有效率的使用存储器储存装置中一暂存存储器的传输频宽。也就是说,在写入数据时,用来备份写入数据的暂存存储器的传输频宽全都被用来传输写入数据。据此,可以增加存储器储存装置的写入速度。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中的普通技术人员,当可作些许改动与润饰,而不脱离本发明的精神和范围。
Claims (17)
1.一种存储器储存装置,包括:
一连接器,用以电性连接至一主机系统;
一可复写式非易失性存储器模组;
一存储器控制器,电性连接至该连接器与该可复写式非易失性存储器模组,其中该存储器控制器包括一第一暂存存储器,且该第一暂存存储器包括一写入数据暂存区;以及
一第二暂存存储器,电性连接该第一暂存存储器,其中该第二暂存存储器的一传输频宽低于该第一暂存存储器的一传输频宽,
其中该存储器控制器用以从该主机系统中接收到对应至少一写入指令的至少一写入数据,并且将该至少一写入数据暂存至该写入数据暂存区,
其中该存储器控制器还用以从该写入数据暂存区中根据该至少一写入指令将该至少一写入数据写入至该可复写式非易失性存储器模组中,
其中该存储器控制器还用以从该写入数据暂存区中根据该至少一写入指令将该至少一写入数据复制到该第二暂存存储器中,
其中该存储器控制器还用以在将该至少一写入数据写入至该可复写式非易失性存储器模组中之后判断是否发生一程序错误,
其中若发生该程序错误时,则该存储器控制器还用以从该第二暂存存储器中读取该至少一写入数据,并根据该至少一写入指令将该至少一写入数据写入至该可复写式非易失性存储器模组中。
2.根据权利要求1所述的存储器储存装置,
其中该存储器控制器还用以从该主机系统接收至少一读取指令,
其中该存储器控制器还用以判断该第二暂存存储器是否储存有对应该至少一读取指令的至少一读取数据,
其中若该第二暂存存储器储存有对应该至少一读取指令的该至少一读取数据时,则该存储器控制器从该第二暂存存储器中读取该至少一读取数据并将该至少一读取数据传送至该主机系统以回应该至少一读取指令。
3.根据权利要求1所述的存储器储存装置,其中该第二暂存存储器是配置在该存储器控制器中或者配置在该存储器控制器的外部。
4.根据权利要求1所述的存储器储存装置,其中该第一暂存存储器为一静态随机存取存储器。
5.根据权利要求1所述的存储器储存装置,其中该第二暂存存储器为一同步动态随机存取存储器。
6.根据权利要求1所述的存储器储存装置,其中该第二暂存存储器的一容量大于该第一暂存存储器的一容量。
7.根据权利要求6所述的存储器储存装置,其中该第二暂存存储器的容量为该第一暂存存储器的容量的8倍。
8.根据权利要求1所述的存储器储存装置,其中该第二暂存存储器的该传输频宽是应用于一单一操作程序,其中该第一暂存存储器的该传输频宽可同时分享于多个操作程序。
9.一种数据写入方法,用于一存储器储存装置,其中该存储器储存装置具有一第二暂存存储器、一存储器控制器以及一可复写式非易失性存储器模组,一第一暂存存储器在该存储器控制器中并且该第一暂存存储器的一传输频宽大于该第二暂存存储器的一传输频宽,该写入方法包括:
从一主机系统接收至少一写入指令与对应该至少一写入指令的至少一写入数据;
将该至少一写入数据暂存至该第一暂存存储器的一写入数据暂存区中;
从该写入数据暂存区中根据该至少一写入指令将该至少一写入数据写入至该可复写式非易失性存储器模组中;
从该写入数据暂存区中根据该至少一写入指令将该至少一写入数据复制到该第二暂存存储器中;
在将该至少一写入数据写入至该可复写式非易失性存储器模组中之后判断是否发生一程序错误;以及
若发生该程序错误时,则从该第二暂存存储器中读取该至少一写入数据,并根据该至少一写入指令将该至少一写入数据写入至该可复写式非易失性存储器模组中。
10.根据权利要求9所述的数据写入方法,还包括:
从该主机系统接收至少一读取指令;
判断该第二暂存存储器是否储存有对该至少一读取指令的至少一读取数据;以及
若该第二暂存存储器储存有对该至少一读取指令的至少一读取数据,则从该第二暂存存储器中读取该至少一读取数据并将该至少一读取数据传送至该主机系统以回应该至少一读取指令。
11.一种存储器控制器,用于控制一可复写式非易失性存储器模组,该存储器控制器包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非易失性存储器模组;
一存储器管理电路,电性连接至该主机接口、该存储器接口;以及
一第一暂存存储器,电性连接至该存储器管理电路,并且具有一写入数据暂存区;
其中该存储器管理电路用以从该主机系统中接收到对应至少一写入指令的至少一写入数据,并且将该至少一写入数据暂存至该写入数据暂存区,
其中该存储器管理电路还用以从该写入数据暂存区中根据该至少一写入指令将该至少一写入数据写入至该可复写式非易失性存储器模组中,
其中该存储器管理电路还用以从该写入数据暂存区中根据该至少一写入指令将该至少一写入数据复制到一第二暂存存储器中,其中该第一暂存存储器的一传输频宽高于该第二暂存存储器的一传输频宽,
其中该存储器管理电路还用以在将该至少一写入数据写入至该可复写式非易失性存储器模组中之后判断是否发生一程序错误,
其中若发生该程序错误时,则该存储器管理电路还用以从该第二暂存存储器中读取该至少一写入数据,并根据该至少一写入指令将该至少一写入数据写入至该可复写式非易失性存储器模组中。
12.根据权利要求11所述的存储器控制器,
其中该存储器管理电路还用以从该主机系统接收至少一读取指令,
其中该存储器管理电路还用以判断该第二暂存存储器是否储存有对应该至少一读取指令的至少一读取数据,
其中若该第二暂存存储器储存有对应该至少一读取指令的该至少一读取数据时,则该存储器管理电路从该第二暂存存储器中读取该至少一读取数据并将该至少一读取数据传送至该主机系统以回应该至少一读取指令。
13.根据权利要求11所述的存储器控制器,其中该第二暂存存储器是配置在该存储器控制器中或者配置在该存储器控制器的外部。
14.根据权利要求11所述的存储器控制器,其中该第一暂存存储器为一静态随机存取存储器。
15.根据权利要求11所述的存储器控制器,其中该第二暂存存储器为一同步动态随机存取存储器。
16.根据权利要求11所述的存储器控制器,其中该第二暂存存储器的一容量大于该第一暂存存储器的一容量。
17.根据权利要求16所述的存储器控制器,其中该第二暂存存储器的容量为该第一暂存存储器的容量的8倍。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110455539.2A CN103186470B (zh) | 2011-12-30 | 2011-12-30 | 存储器储存装置及其存储器控制器与数据写入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110455539.2A CN103186470B (zh) | 2011-12-30 | 2011-12-30 | 存储器储存装置及其存储器控制器与数据写入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103186470A CN103186470A (zh) | 2013-07-03 |
CN103186470B true CN103186470B (zh) | 2016-04-20 |
Family
ID=48677646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110455539.2A Active CN103186470B (zh) | 2011-12-30 | 2011-12-30 | 存储器储存装置及其存储器控制器与数据写入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103186470B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9442662B2 (en) * | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
TWI566253B (zh) * | 2015-09-02 | 2017-01-11 | 慧榮科技股份有限公司 | 用來管理一記憶裝置之方法以及記憶裝置與控制器 |
KR102565918B1 (ko) * | 2016-02-24 | 2023-08-11 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작방법 |
TWI645286B (zh) * | 2017-08-31 | 2018-12-21 | 慧榮科技股份有限公司 | 記憶體控制裝置和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5359723A (en) * | 1991-12-16 | 1994-10-25 | Intel Corporation | Cache memory hierarchy having a large write through first level that allocates for CPU read misses only and a small write back second level that allocates for CPU write misses only |
CN101576859A (zh) * | 2008-05-06 | 2009-11-11 | 群联电子股份有限公司 | 非易失性存储器数据写入方法、存储系统及其控制器 |
CN102243603A (zh) * | 2010-05-13 | 2011-11-16 | 美光科技公司 | 在编程失败之后具有可存取信息的存储器缓冲器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI397821B (zh) * | 2009-01-19 | 2013-06-01 | Phison Electronics Corp | 資料串傳送方法、系統及其控制器 |
-
2011
- 2011-12-30 CN CN201110455539.2A patent/CN103186470B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5359723A (en) * | 1991-12-16 | 1994-10-25 | Intel Corporation | Cache memory hierarchy having a large write through first level that allocates for CPU read misses only and a small write back second level that allocates for CPU write misses only |
CN101576859A (zh) * | 2008-05-06 | 2009-11-11 | 群联电子股份有限公司 | 非易失性存储器数据写入方法、存储系统及其控制器 |
CN102243603A (zh) * | 2010-05-13 | 2011-11-16 | 美光科技公司 | 在编程失败之后具有可存取信息的存储器缓冲器 |
Also Published As
Publication number | Publication date |
---|---|
CN103186470A (zh) | 2013-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI540583B (zh) | 用於具有非揮發性記憶體之一系統的電力預算的動態分配 | |
CN106681931B (zh) | 数据储存设备及其操作方法 | |
US8606987B2 (en) | Data writing method for flash memory and controller using the same | |
CN104423888B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
US20090198875A1 (en) | Data writing method for flash memory, and controller and system using the same | |
US11086772B2 (en) | Memory system performing garbage collection operation and operating method of memory system | |
CN109992202B (zh) | 数据存储设备、其操作方法以及包括其的数据处理系统 | |
CN111158579B (zh) | 固态硬盘及其数据存取的方法 | |
CN104699413A (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
US20130097366A1 (en) | Storage device and user device using the same | |
KR20190102781A (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
TWI454922B (zh) | 記憶體儲存裝置及其記憶體控制器與資料寫入方法 | |
TWI523030B (zh) | 緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
CN102866861B (zh) | 闪存储存系统、闪存控制器与数据写入方法 | |
CN103186470B (zh) | 存储器储存装置及其存储器控制器与数据写入方法 | |
CN103389941B (zh) | 存储器格式化方法、存储器控制器及存储器存储装置 | |
US20200081649A1 (en) | Data storage device, operation method thereof and storage system including the same | |
US11249917B2 (en) | Data storage device and operating method thereof | |
CN103218308B (zh) | 缓冲存储器管理方法、存储器控制器与存储器储存装置 | |
CN106935265B (zh) | 非易失性存储器装置以及包括该非易失性存储器装置的数据存储装置 | |
CN102543184B (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
KR102653845B1 (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
CN104166558A (zh) | 固件码载入方法、存储器控制器与存储器存储装置 | |
CN103513930A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
US11157401B2 (en) | Data storage device and operating method thereof performing a block scan operation for checking for valid page counts |
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 |