CN102543184A - 存储器储存装置、其存储器控制器与数据写入方法 - Google Patents
存储器储存装置、其存储器控制器与数据写入方法 Download PDFInfo
- Publication number
- CN102543184A CN102543184A CN2010106100058A CN201010610005A CN102543184A CN 102543184 A CN102543184 A CN 102543184A CN 2010106100058 A CN2010106100058 A CN 2010106100058A CN 201010610005 A CN201010610005 A CN 201010610005A CN 102543184 A CN102543184 A CN 102543184A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- duplicative non
- write
- volatility 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.)
- Granted
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种存储器储存装置、其存储器控制器与数据写入方法。存储器储存装置具有可复写式非挥发性存储器芯片,其包括多个可复写式非挥发性存储器模块,各可复写式非挥发性存储器模块具有多个实体区块。此方法包括接收主机***下达的写入指令,此写入指令所对应的逻辑地址属于一预设逻辑地址范围。此方法还包括判断在所有的可复写式非挥发性存储器模块中是否存在并未储存属于预设逻辑地址范围的数据的适用存储器模块。若是,则此方法还包括将写入指令所对应的写入数据写入至适用存储器模块。
Description
技术领域
本发明涉及一种将数据写入可复写式非挥发性存储器芯片的方法,尤其涉及一种将数据写入可复写式非挥发性存储器芯片所包括的可复写式非挥发性存储器模块的方法,及实行该方法的存储器储存装置与存储器控制器。
背景技术
闪存(Flash Memory)具有数据非挥发性、省电、体积小与无机械结构等的特性,因此被广泛地应用于各种电子装置。也有越来越多如记忆卡或U盘等可携式储存装置是以闪存作为其中的储存媒体。
某些存储器储存装置中的闪存芯片包括多个闪存模块,每个闪存模块具有多个实体区块(physical block),且每一实体区块具有多个实体页面(physical page)。为了方便管理,这类存储器储存装置中的存储器控制器会将所有闪存模块中的该些实体区块逻辑地分组为数个实体单元以进行管理。且存储器控制器是通过多条数据输入/输出总线分别连接至这些闪存模块。因此,当主机***欲存取闪存芯片时,便有机会通过上述数据输入/输出总线同时对一实体单元中的多个实体区块进行存取。
在此架构中,当主机***欲将数据写入闪存芯片时,存储器控制器将根据写入指令所对应的逻辑地址将数据写入至对应的闪存模块。假设一个实体页面具有4个扇区(sector)的容量。倘若主机***依序分段下达三个写入指令,其中第一个写入指令欲写入的逻辑地址是对应第一闪存模块的第0与第3个实体扇区,第二个写入指令欲写入的逻辑地址是对应第一闪存模块的第2个实体扇区,且第三个写入指令欲写入的逻辑地址是对应第一闪存模块的第1个实体扇区,由于这三个写入指令所欲写入的数据都属于相同的闪存模块,因此存储器控制器会依序分段将这三个写入指令的数据写入至第一闪存模块的不同实体页面。而在主机***欲读取上述数据时,存储器控制器必须分三次从第一闪存模块中读出数据。也就是说,存储器控制器必须对第一闪存模块进行三次读取操作才能完整地读出数据,据此会降低数据读取的速度。
发明内容
有鉴于此,本发明提供一种数据写入方法,其能确保日后读取数据时的速度不会变慢。
本发明提供一种存储器控制器,其能确保日后读取数据时的速度不会变慢。
本发明提供一种存储器储存装置,其能确保日后读取数据时的速度不会变慢。
本发明提出一种数据写入方法,用于具有可复写式非挥发性存储器芯片的存储器储存装置,其中可复写式非挥发性存储器芯片包括多个可复写式非挥发性存储器模块,且各可复写式非挥发性存储器模块具有多个实体区块。此方法包括配置多个逻辑区块,且上述逻辑区块对映上述可复写式非挥发性存储器模块中的部份实体区块。此方法包括接收主机***下达的一写入指令,此写入指令所对应的逻辑地址属于一预设逻辑地址范围。此方法还包括判断在所有的可复写式非挥发性存储器模块中是否存在至少一适用存储器模块,其中至少一适用存储器模块为并未储存属于预设逻辑地址范围的数据。此方法还包括若有至少一适用存储器模块存在,则将写入指令所对应的写入数据写入至上述至少一适用存储器模块。
从另一观点来看,本发明提出一种存储器控制器,用于管理多个可复写式非挥发性存储器模块,其中各可复写式非挥发性存储器模块具有多个实体区块。此存储器控制器包括主机***接口、存储器接口,以及存储器管理电路。其中,主机***接口用以耦接主机***。存储器接口用以经由多条数据输入/输出总线耦接至上述可复写式非挥发性存储器模块。存储器管理电路耦接至主机***接口与存储器接口,存储器管理电路用以配置多个逻辑区块,且上述逻辑区块对映上述可复写式非挥发性存储器模块中的部份实体区块。其中,存储器管理电路还用以经由主机***接口接收主机***下达的一写入指令,其中写入指令所对应的逻辑地址属于一预设逻辑地址范围。存储器管理电路还用以判断在上述可复写式非挥发性存储器模块中是否存在至少一适用存储器模块,其中各适用存储器模块为并未储存属于预设逻辑地址范围的数据。若有至少一适用存储器模块存在,存储器管理电路还用以将写入指令所对应的写入数据写入至上述至少一适用存储器模块。
从又一观点来看,本发明提出一种存储器储存装置,其包括可复写式非挥发性存储器芯片、存储器控制器,以及连接器。其中,可复写式非挥发性存储器芯片包括多个可复写式非挥发性存储器模块,各可复写式非挥发性存储器模块具有多个实体区块。存储器控制器经由多条数据输入/输出总线耦接至可复写式非挥发性存储器芯片,存储器控制器用以配置多个逻辑区块,且上述逻辑区块对映上述可复写式非挥发性存储器模块中的部分实体区块。连接器耦接至存储器控制器并用以耦接主机***。其中,存储器控制器用以经由连接器接收主机***下达的写入指令,其中写入指令所对应的逻辑地址属于一预设逻辑地址范围。存储器控制器还用以判断在上述可复写式非挥发性存储器模块中是否存在至少一适用存储器模块,其中至少一适用存储器模块为并未储存属于预设逻辑地址范围的数据。若有至少一适用存储器模块存在,存储器控制器更用以将写入指令所对应的写入数据写入至上述至少一适用存储器模块。
基于上述,本发明在将数据写入具有多个可复写式非挥发性存储器模块的可复写式非挥发性存储器芯片时,会尽可能地令属于同一个预设逻辑地址范围的数据不要被写入至相同的可复写式非挥发性存储器模块。如此一来,日后当主机***欲连续读取属于该预设逻辑地址范围的数据时,便能从不同的可复写式非挥发性存储器模块读出数据,以确保数据读取的速度不会变慢。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是根据本发明一具体实施例绘出的使用存储器储存装置的主机***的示意图。
图1B是根据本发明具体实施例所绘出的计算机、输入/输出装置与存储器储存装置的示意图。
图1C是根据本发明另一具体实施例所绘出的主机***与存储器储存装置的示意图。
图2为图1A所示的存储器储存装置的概要方块图。
图3是根据本发明一具体实施例绘出的存储器控制器的概要方块图。
图4是根据本发明一具体实施例所绘出的可复写式非挥发性存储器芯片的概要方块图。
图5A与图5B是根据本发明一具体实施例所绘出的管理实体区块的具体示意图。
图6是根据本发明一具体实施例所绘出的数据写入方法的流程图。
主要组件符号说明
1000:主机***
1100:计算机
1102:微处理器
1104:随机存取存储器
1106:输入/输出装置
1108:***总线
1110:数据传输接口
1202:鼠标
1204:键盘
1206:显示器
1208:打印机
1212:U盘
1214:记忆卡
1216:固态硬盘
1310:数位相机
1312:SD卡
1314:MMC卡
1316:记忆棒
1318:CF卡
1320:嵌入式储存装置
100:存储器储存装置
102:连接器
104:存储器控制器
106:可复写式非挥发性存储器芯片
1041:主机***接口
1043:存储器管理电路
1045:存储器接口
3002:缓冲存储器
3004:电源管理电路
3006:错误检查与校正电路
410、420、430、440:可复写式非挥发性存储器模块
410a、420a、430a、440a:数据输入/输出总线
410(0)-410(N)、420(0)-420(N)、430(0)-430(N)、440(0)-440(N):实体区块
510:数据区
520:闲置区
530:***区
540:取代区
710(0)-710(H):逻辑区块
S605~S640:本发明一实施例所述的数据写入方法的各步骤
具体实施方式
一般而言,存储器储存装置(也称,存储器储存***)包括存储器芯片与控制器(也称,控制电路)。通常存储器储存装置会与主机***一起使用,以使主机***可将数据写入至存储器储存装置或从存储器储存装置中读取数据。另外,也有存储器储存装置是包括嵌入式存储器与可执行于主机***上以实质地作为此嵌入式存储器的控制器的软件。
图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)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 Technology Attachment,PATA)接口、电气和电子工程师协会(Institute of Electrical andElectronic Engineers,IEEE)1394接口、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)接口、安全数字(Secure Digital,SD)接口、记忆棒(Memory Stick,MS)接口、小型快闪(Compact Flash,CF)接口,或整合驱动电子(IntegratedDrive Electronics,IDE)接口等任何适用的接口,在此并不加以限制。
存储器控制器104会执行以硬件型式或韧体型式实作的多个逻辑门或控制指令,并根据主机***1000的指令在可复写式非挥发性存储器芯片106中进行数据的写入、读取与抹除等运作。其中,存储器控制器104还特别用以根据本具体实施例的数据写入方法,在收到来自主机***1000的写入指令后决定数据应被写入之处。本具体实施例的数据写入方法将于后配合附图再作说明。
可复写式非挥发性存储器芯片106耦接至存储器控制器104。可复写式非挥发性存储器芯片106系用以储存如档案配置表(FileAllocation Table,FAT)或增强型文件***(New Technology FileSystem,NTFS)等档案***信息,以及储存如文字、影像或声音档案等一般性数据。举例来说,可复写式非挥发性存储器芯片106为多阶记忆胞(Multi Level Cell,MLC)NAND闪存芯片,但本发明不限于此,可复写式非挥发性存储器芯片106也可以是单阶记忆胞(Single LevelCell,SLC)NAND闪存芯片、其它闪存芯片或任何具有相同特性的存储器芯片。
图3是根据本发明一具体实施例所绘出的存储器控制器的概要方块图。请参照图3,存储器控制器104包括主机***接口1041、存储器管理电路1043,以及存储器接口1045。
主机***接口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,用以使存储器控制器104与可复写式非挥发性存储器芯片106相耦接。据此,存储器控制器104可对可复写式非挥发性存储器芯片106进行相关运作。也就是说,欲写入至可复写式非挥发性存储器芯片106的数据会经由存储器接口1045转换为可复写式非挥发性存储器芯片106所能接受的格式。
在本发明的一具体实施例中,存储器控制器104还包括缓冲存储器3002,缓冲存储器3002耦接至存储器管理电路1043,用以暂存来自于主机***1000的数据,或暂存来自于可复写式非挥发性存储器芯片106的数据。
在本发明另一具体实施例中,存储器控制器104还包括电源管理电路3004。电源管理电路3004耦接至存储器管理电路1043,用以控制存储器储存装置100的电源。
在本发明又一具体实施例中,存储器控制器104还包括错误检查与校正电路3006。错误检查与校正电路3006耦接至存储器管理电路1043,用以执行错误检查与校正程序以确保数据的正确性。具体而言,当存储器管理电路1043接收到来自主机***1000的写入指令时,错误检查与校正电路3006会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,ECC Code),且存储器管理电路1043会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非挥发性存储器芯片106。之后当存储器管理电路1043从可复写式非挥发性存储器芯片106中读取数据时,会同时读取此数据对应的错误检查与校正码,且错误检查与校正电路3006会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图4是根据本发明一具体实施例所绘出的可复写式非挥发性存储器芯片的概要方块图。
请参阅图4,可复写式非挥发性存储器芯片106包括可复写式非挥发性存储器模块410、可复写式非挥发性存储器模块420、可复写式非挥发性存储器模块430与可复写式非挥发性存储器模块440。其中,可复写式非挥发性存储器模块410至440分别透过独立的数据输入/输出总线410a至440a耦接至存储器控制器104。然而,在本发明的另一具体实施例中,可复写式非挥发性存储器模块410至440也可仅通过一个数据输入/输出总线与存储器控制器104耦接。
可复写式非挥发性存储器模块410具有实体区块410(0)-410(N)、可复写式非挥发性存储器模块420具有实体区块420(0)-420(N)、可复写式非挥发性存储器模块430具有实体区块430(0)-430(N),而可复写式非挥发性存储器模块440具有实体区块440(0)-440(N)。其中,可复写式非挥发性存储器模块410至440的每一实体区块分别具有数个实体页面,且每一实体页面具有至少一实体扇区(sector)。在一具体实施例中,每一实体区块是由128个实体页面所组成,且每一实体页面具有8个实体扇区。因此在每一实体扇区为512字节(byte)的例子中,每一实体页面的容量为4千字节(Kilobyte,KB)。然而本发明不限于此,每一实体区块也可由64个实体页面、256个实体页面或其它任意个实体页面所组成。
每一实体页面通常包括数据位区与冗余位区。数据位区用以储存使用者的数据,而冗余位区用以储存***的数据(例如,错误检查与校正码)。
更详细来说,属于同一个实体区块的实体页面可被独立地写入且被同时地抹除。也就是说,实体区块为数据抹除时的最小单位(每一实体区块含有最小数目之一并被抹除的记忆胞)。实体页面则为数据写入时的最小单位。然而在本发明另一具体实施例中,写入数据的最小单位也可以是实体扇区或其它大小。
在本具体实施例中,存储器管理电路1043在执行主机***1000下达的写入指令时,同时利用数据输入/输出总线410a至440a来以平行方式写入数据。而在执行主机***1000下达的读取指令时,亦同时利用数据输入/输出总线410a至440a而以平行方式进行读取动作。
必须说明的是,虽然本具体实施例中可复写式非挥发性存储器芯片106是包括4个可复写式非挥发性存储器模块,但本发明并不限于此。在本发明的另一具体实施例中,可复写式非挥发性存储器芯片106也可以包括2个或8个可复写式非挥发性存储器模块。
图5A与图5B是根据本发明的一具体实施例所绘出的管理实体区块的具体示意图。
请参照图5A,存储器控制器104中的存储器管理电路1043会将可复写式非挥发性存储器模块410至440中的实体区块410(0)-410(N)、实体区块420(0)-420(N)、实体区块430(0)-430(N),以及实体区块440(0)-440(N)逻辑地分组为数据区510、闲置区520、***区530与取代区540。图5A中所标示的F、S、R与N为正整数,代表各区配置的实体区块数量,其可由存储器储存装置100的制造商依据所使用的可复写式非挥发性存储器芯片106的容量而设定。
逻辑上属于数据区510与闲置区520的实体区块是用以储存来自于主机***1000的数据。具体来说,属于数据区510的实体区块是被视为已储存有数据的实体区块,而闲置区520中的实体区块则是用以替换数据区510的实体区块。换句话说,闲置区520的实体区块为空或可使用的实体区块(无记录数据或标记为已没用的无效数据)。一般来说,当从主机***1000接收到写入指令与欲写入的数据时,存储器管理电路1043会从闲置区520中提取实体区块,并且将数据写入至所提取的实体区块中,以替换数据区510的实体区块。
逻辑上属于***区530的实体区块是用以记录***数据。例如,***数据包括关于可复写式非挥发性存储器芯片106的制造商与型号、可复写式非挥发性存储器芯片106的实体区块数,以及每一实体区块的实体页面数等。
逻辑上属于取代区540中的实体区块是用以在数据区510、闲置区520或***区530中的实体区块损毁时,取代损坏的实体区块。具体而言,倘若取代区540中仍存有正常的实体区块且数据区510的实体区块损坏时,存储器管理电路1043会从取代区540中提取正常的实体区块来更换损坏的实体区块。其中,存储器管理电路1043是以取代区540中属于可复写式非挥发性存储器模块410的正常实体区块来取代可复写式非挥发性存储器模块410中的坏实体区块,并且以取代区540中属于可复写式非挥发性存储器模块420的正常实体区块来取代可复写式非挥发性存储器模块420中的坏实体区块,以此类推。
请参照图5B,在本具体实施例中,存储器管理电路1043会配置数个逻辑区块710(0)-710(H),且逻辑区块710(0)-710(H)会对映至可复写式非挥发性存储器模块410至440中的部份实体区块。详言之,各逻辑区块所包括的逻辑页面会依序地对映至相对应的实体区块中的实体页面,且各逻辑页面所具有的多个逻辑扇区会映像至对应的实体页面中的实体扇区。存储器管理电路1043将所配置的逻辑区块提供给主机***1000,并且维护一逻辑区块-实体区块映像表(logicalblock-physical block mapping table),以记录与逻辑区块710(0)-710(H)与数据区510的实体区块之间的对映关系。因此当主机***1000欲读取某一逻辑地址时,存储器管理电路1043可将主机***1000所欲读取的逻辑地址转换为对应的逻辑区块、逻辑页面或逻辑扇区,并且通过逻辑区块-实体区块映像表于对应的实体区块的实体页面中读取数据。
在本具体实施例中,主机***1000下达写入指令时,存储器管理电路1043会将属于同一个预设逻辑地址范围的数据尽可能地分散写入至不同的可复写式非挥发性存储器模块中。
详细地说,主机***1000下达的每一写入指令包括欲写入的扇区地址以及扇区数量,存储器管理电路1043在将扇区地址与扇区数量转换为对应的逻辑地址后,便能判断该逻辑地址所属的预设逻辑地址范围。
在每一逻辑页面具有8个逻辑扇区的例子中,若预设逻辑地址范围是一个逻辑页面,那么任何欲将数据写入逻辑扇区0至7的写入指令所对应的逻辑地址便属于相同的预设逻辑地址范围。据此,假设主机***1000下达的第一写入指令欲将第一写入数据写入至第0及第1个逻辑扇区,且存储器管理电路1043将第一写入数据写入至可复写式非挥发性存储器模块410。接着,倘若主机***1000下达的第二写入指令欲将第二写入数据写入至第2及第3个逻辑扇区,由于第0、1、2、3个逻辑扇区均属于同一个逻辑页面(也就是说,属于相同的预设逻辑地址范围),因此存储器管理电路1043会选择将第二写入数据写入至可复写式非挥发性存储器模块410之外的可复写式非挥发性存储器模块(例如写入至可复写式非挥发性存储器模块420、可复写式非挥发性存储器模块430,或可复写式非挥发性存储器模块440)。假设存储器管理电路1043选择将第二写入数据写入至可复写式非挥发性存储器模块420后,且倘若主机***1000又下达的第三写入指令欲将第三写入数据写入至第4个逻辑扇区,因第三写入指令的逻辑地址与第一、第二写入指令的逻辑地址都属于同一预设逻辑地址范围(即,第0、1、2、3、4个逻辑扇区系属于同一个逻辑页面),因此存储器管理电路1043会设法将第三写入数据写入至可复写式非挥发性存储器模块410、420之外的可复写式非挥发性存储器模块。在本具体实施例中,假设存储器管理电路1043将第三写入数据写入至可复写式非挥发性存储器模块430。
尔后,当主机***1000下达一读取指令且其对应的逻辑地址是要读取第0至4个逻辑扇区的数据时,因第0至4个逻辑扇区属于同一个预设逻辑地址范围(即,同一逻辑页面),如前述具体实施例所述,该些数据是被存放在不同的可复写式非挥发性存储器模块之中。因此,存储器管理电路1043会通过数据输入/输出总线410a、420a以及430a,分别从可复写式非挥发性存储器模块410、420与430中平行地读出数据,从而确保数据读取的速度不会因为需要对同一个可复写式非挥发性存储器模块进行多次读取而变慢。
换言之,对于主机***1000下达的数个写入指令来说,若有不同写入指令对应的逻辑地址是属于同一个预设逻辑地址范围,存储器管理电路1043会尽可能将这些写入指令分别对应的写入数据分散存放在不同的可复写式非挥发性存储器模块,以避免在主机***1000欲连续读取上述数据时,需要对同一可复写式非挥发性存储器模块进行多次读取而降低数据读取的速度。
以下是说明存储器管理电路1043将属于同一个预设逻辑地址范围的数据分散写入至不同可复写式非挥发性存储器模块的实体区块的方式。为了方便说明,假设预设逻辑地址范围为一个逻辑页面。
在本具体实施例中,若存储器管理电路1043经由主机***接口1041接收主机***1000下达的写入指令,且此写入指令所对应的逻辑地址属于一特定逻辑页面。存储器管理电路1043首先判断在可复写式非挥发性存储器模块410至440中,是否存在并未储存任何属于该特定逻辑页面的数据的可复写式非挥发性存储器模块。以下将符合上述条件的可复写式非挥发性存储器模块称之为适用存储器模块。
倘若有至少一适用存储器模块存在,那么存储器管理电路1043将优先选择适用存储器模块来储存写入指令所对应的写入数据。具体来说,若适用存储器模块的数量大于1,存储器管理电路1043会随机选择其中一个适用存储器模块,并将写入指令所对应的写入数据写入至所选择的适用存储器模块。举例来说,假设目前只有可复写式非挥发性存储器模块410已存有同样属于特定逻辑页面的数据,那么可复写式非挥发性存储器模块420至440便为适用存储器模块,存储器管理电路1043会选择将写入数据写入至可复写式非挥发性存储器模块420至440其中之一。
倘若存储器管理电路1043无法在可复写式非挥发性存储器模块410至440中找到任何适用存储器模块,表示在每个可复写式非挥发性存储器模块中都已储存了属于该特定逻辑页面的数据。据此,存储器管理电路1043会随机地从可复写式非挥发性存储器模块410至440中择一来储存写入数据。或者,存储器管理电路1043会在可复写式非挥发性存储器模块410至440中,找出目前储存最少笔属于该特定逻辑页面的数据的可复写式非挥发性存储器模块来储存写入数据。如此一来,就能避免对应属于该特定逻辑页面之逻辑地址的多个写入指令的写入数据都被集中储存在同一个可复写式非挥发性存储器模块。之后,当主机***1000下达一读取指令要读取属于该特定逻辑页面的连续数据时,存储器管理电路1043便可从不同的可复写式非挥发性存储器模块中平行地读出对应的读取数据。
换句话说,在预设逻辑地址范围为一个逻辑页面的例子中,当属于某一逻辑页面的数据已被写入至一个可复写式非挥发性存储器模块,在主机***1000欲再次写入同样属于该逻辑页面的数据时,存储器管理电路1043会尽可能地将数据写入至其它的可复写式非挥发性存储器模块。由于主机***1000存取存储器储存装置100的行为经常会多次写入小档案,然后再将该些小档案一并读出,因此只要通过上述方式便不会降低主机***1000读取档案的速度。
必须特别说明的是,在上述具体实施例中虽然是以一个逻辑页面作为预设逻辑地址范围来做说明,但在本发明的其它具体实施例中,预设逻辑地址范围也可以是符合特定数量的多个连续逻辑地址(例如逻辑地址0至逻辑地址7)。
图6是根据本发明的一具体实施例所绘出的数据写入方法的流程图。
请参阅图6,在步骤S605中,存储器管理电路1043配置多个逻辑区块,且各逻辑区块对映可复写式非挥发性存储器模块410至440中的部份实体区块。
如步骤S610所示,存储器管理电路1043经由主机***接口1041接收主机***1000下达的一写入指令,其中写入指令所对应的逻辑地址属于一预设逻辑地址范围。
在步骤S 620中,存储器管理电路1043判断在可复写式非挥发性存储器模块410至440中是否存在至少一适用存储器模块。其中,适用存储器模块是指并未储存属于该预设逻辑地址范围的数据的可复写式非挥发性存储器模块。
若有至少一适用存储器模块存在,则如步骤S630所示,存储器管理电路1043选择其中一个适用存储器模块,并且将写入指令所对应的写入数据写入至所选择的适用存储器模块。
若没有任何适用存储器模块存在,则如步骤S640所示,存储器管理电路1043将写入数据随机写入至可复写式非挥发性存储器模块410至440其中之一。
综上所述,本发明所述的存储器储存装置、其存储器控制器与数据写入方法是在处理写入指令时,尽可能地避免将属于同一预设逻辑地址范围的数据储存至相同的可复写式非挥发性存储器模块。如此一来,当主机***欲对该预设逻辑地址范围中的连续数据进行读取时,便能从不同的可复写式非挥发性存储器模块中平行地读出数据,从而确保数据读取的速度不会变慢。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中的普通技术人员,当可作些许之的更动与润饰,而不脱离本发明的精神和范围。
Claims (13)
1.一种数据写入方法,用于具有一可复写式非挥发性存储器芯片的一存储器储存装置,其中该可复写式非挥发性存储器芯片包括多个可复写式非挥发性存储器模块,且各该些可复写式非挥发性存储器模块具有多个实体区块,该方法包括:
配置多个逻辑区块,且该些逻辑区块对映该些可复写式非挥发性存储器模块中的部分该些实体区块;
接收一主机***下达的一写入指令,其中该写入指令所对应的一逻辑地址属于一预设逻辑地址范围;
判断在该些可复写式非挥发性存储器模块中是否存在至少一适用存储器模块,其中该至少一适用存储器模块为并未储存属于该预设逻辑地址范围的数据;以及
若存在该至少一适用存储器模块,则将该写入指令所对应的一写入数据写入至该至少一适用存储器模块。
2.根据权利要求1所述的数据写入方法,其中将该写入指令所对应的该写入数据写入至该至少一适用存储器模块的步骤包括:
随机选择该至少一适用存储器模块来写入该写入数据。
3.根据权利要求1所述的数据写入方法,其中在判断在该些可复写式非挥发性存储器模块中是否存在该至少一适用存储器模块的步骤之后,该方法还包括:
若不存在该至少一适用存储器模块,则将该写入数据随机写入至该些可复写式非挥发性存储器模块的其中之一。
4.根据权利要求1所述的数据写入方法,其中该预设逻辑地址范围包括一逻辑页面,或符合一特定数量的多个连续逻辑地址。
5.一种存储器控制器,用于管理多个可复写式非挥发性存储器模块,其中各该些可复写式非挥发性存储器模块具有多个实体区块,该存储器控制器包括:
一主机***接口,用以耦接一主机***;
一存储器接口,用以经由多条数据输入/输出总线耦接至该些可复写式非挥发性存储器模块;以及
一存储器管理电路,耦接至该主机***接口与该存储器接口,该存储器管理电路用以配置多个逻辑区块,且该些逻辑区块对映该些可复写式非挥发性存储器模块中的部分该些实体区块,
其中该存储器管理电路用以经由该主机***接口接收该主机***下达的一写入指令,其中该写入指令所对应的一逻辑地址属于一预设逻辑地址范围,
该存储器管理电路还用以判断在该些可复写式非挥发性存储器模块中是否存在至少一适用存储器模块,其中该至少一适用存储器模块为并未储存属于该预设逻辑地址范围的数据,
若存在该至少一适用存储器模块,该存储器管理电路还用以将该写入指令所对应的一写入数据写入至该至少一适用存储器模块。
6.根据权利要求5所述的存储器控制器,其中该存储器管理电路还用以随机选择该至少一适用存储器模块来写入该写入数据。
7.根据权利要求5所述的存储器控制器,其中该存储器管理电路还用以在判断不存在该至少一适用存储器模块时,将该写入数据随机写入至该些可复写式非挥发性存储器模块的其中之一。
8.根据权利要求5所述的存储器控制器,其中该预设逻辑地址范围包括一逻辑页面,或符合一特定数量的多个连续逻辑地址。
9.根据权利要求5所述的存储器控制器,其中该存储器管理电路还用以经由该主机***接口接收该主机***下达的一读取指令,并且当该读取指令所对应的该逻辑地址属于该预设逻辑地址范围时,分别从该些可复写式非挥发性存储器模块中读出对应的一读取数据。
10.一种存储器储存装置,包括:
一可复写式非挥发性存储器芯片,包括多个可复写式非挥发性存储器模块,其中各该些可复写式非挥发性存储器模块具有多个实体区块;
一存储器控制器,经由多条数据输入/输出总线耦接至该可复写式非挥发性存储器芯片,该存储器控制器用以配置多个逻辑区块,且该些逻辑区块对映该些可复写式非挥发性存储器模块中的部分该些实体区块;以及
一连接器,耦接至该存储器控制器并用以耦接一主机***,
其中该存储器控制器用以经由该连接器接收该主机***下达的一写入指令,其中该写入指令所对应的一逻辑地址属于一预设逻辑地址范围,
该存储器控制器还用以判断在该些可复写式非挥发性存储器模块中是否存在至少一适用存储器模块,其中该至少一适用存储器模块为并未储存属于该预设逻辑地址范围的数据,
若存在该至少一适用存储器模块,该存储器控制器还用以将该写入指令所对应的一写入数据写入至该至少一适用存储器模块。
11.根据权利要求10所述的存储器储存装置,其中该存储器控制器还用以随机选择该至少一适用存储器模块来写入该写入资料。
12.根据权利要求10所述的存储器储存装置,其中该存储器控制器还用以在判断不存在该至少一适用存储器模块时,将该写入数据随机写入至该些可复写式非挥发性存储器模块的其中之一。
13.根据权利要求10所述的存储器储存装置,其中该预设逻辑地址范围包括一逻辑页面,或符合一特定数量的多个连续逻辑地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010610005.8A CN102543184B (zh) | 2010-12-22 | 2010-12-22 | 存储器储存装置、其存储器控制器与数据写入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010610005.8A CN102543184B (zh) | 2010-12-22 | 2010-12-22 | 存储器储存装置、其存储器控制器与数据写入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102543184A true CN102543184A (zh) | 2012-07-04 |
CN102543184B CN102543184B (zh) | 2016-06-08 |
Family
ID=46349878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010610005.8A Active CN102543184B (zh) | 2010-12-22 | 2010-12-22 | 存储器储存装置、其存储器控制器与数据写入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102543184B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809082A (zh) * | 2014-01-29 | 2015-07-29 | 群联电子股份有限公司 | 数据保护方法、存储器存储装置及存储器控制电路单元 |
CN107632944A (zh) * | 2017-09-22 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种读取数据的方法及装置 |
CN108255633A (zh) * | 2016-12-28 | 2018-07-06 | 旺宏电子股份有限公司 | 存储控制方法、存储装置 |
CN111198651A (zh) * | 2018-11-16 | 2020-05-26 | 慧荣科技股份有限公司 | 进行存储空间管理的方法以及数据存储装置及其控制器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101059752A (zh) * | 2006-04-21 | 2007-10-24 | 株式会社东芝 | 使用非易失性高速缓存的存储装置及其控制方法 |
WO2009045010A2 (en) * | 2007-10-02 | 2009-04-09 | Huone Inc. | Flash memory mapping management method |
US20100057979A1 (en) * | 2008-08-27 | 2010-03-04 | Phison Electronics Corp. | Data transmission method for flash memory and flash memory storage system and controller using the same |
US20100082917A1 (en) * | 2008-10-01 | 2010-04-01 | Yang Wun-Mo | Solid state storage system and method of controlling solid state storage system using a multi-plane method and an interleaving method |
US20100161887A1 (en) * | 2008-12-19 | 2010-06-24 | Toshiba Storage Device Corporation | Storage device, control method thereof, and electronic device using storage device |
US20100174847A1 (en) * | 2009-01-05 | 2010-07-08 | Alexander Paley | Non-Volatile Memory and Method With Write Cache Partition Management Methods |
-
2010
- 2010-12-22 CN CN201010610005.8A patent/CN102543184B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101059752A (zh) * | 2006-04-21 | 2007-10-24 | 株式会社东芝 | 使用非易失性高速缓存的存储装置及其控制方法 |
WO2009045010A2 (en) * | 2007-10-02 | 2009-04-09 | Huone Inc. | Flash memory mapping management method |
US20100057979A1 (en) * | 2008-08-27 | 2010-03-04 | Phison Electronics Corp. | Data transmission method for flash memory and flash memory storage system and controller using the same |
US20100082917A1 (en) * | 2008-10-01 | 2010-04-01 | Yang Wun-Mo | Solid state storage system and method of controlling solid state storage system using a multi-plane method and an interleaving method |
US20100161887A1 (en) * | 2008-12-19 | 2010-06-24 | Toshiba Storage Device Corporation | Storage device, control method thereof, and electronic device using storage device |
US20100174847A1 (en) * | 2009-01-05 | 2010-07-08 | Alexander Paley | Non-Volatile Memory and Method With Write Cache Partition Management Methods |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809082A (zh) * | 2014-01-29 | 2015-07-29 | 群联电子股份有限公司 | 数据保护方法、存储器存储装置及存储器控制电路单元 |
CN104809082B (zh) * | 2014-01-29 | 2018-02-02 | 群联电子股份有限公司 | 数据保护方法、存储器存储装置及存储器控制电路单元 |
CN108255633A (zh) * | 2016-12-28 | 2018-07-06 | 旺宏电子股份有限公司 | 存储控制方法、存储装置 |
CN107632944A (zh) * | 2017-09-22 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种读取数据的方法及装置 |
CN107632944B (zh) * | 2017-09-22 | 2021-06-18 | 郑州云海信息技术有限公司 | 一种读取数据的方法及装置 |
CN111198651A (zh) * | 2018-11-16 | 2020-05-26 | 慧荣科技股份有限公司 | 进行存储空间管理的方法以及数据存储装置及其控制器 |
CN111198651B (zh) * | 2018-11-16 | 2023-07-18 | 慧荣科技股份有限公司 | 进行存储空间管理的方法以及数据存储装置及其控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN102543184B (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10713178B2 (en) | Mapping table updating method, memory controlling circuit unit and memory storage device | |
CN106681932B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN102053796A (zh) | 闪存储存***、闪存控制器与数据处理方法 | |
US9235501B2 (en) | Memory storage device, memory controller thereof, and method for programming data thereof | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
CN103514096A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN107357520B (zh) | 整理指令处理方法、存储器控制电路单元及其存储装置 | |
CN103678162B (zh) | ***数据储存方法、存储器控制器与存储器储存装置 | |
CN102890655A (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
CN102567221B (zh) | 数据管理方法、存储器控制器与存储器储存装置 | |
CN102890645A (zh) | 存储器储存装置、存储器控制器与数据写入方法 | |
CN102446137A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102543184A (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN103914391A (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
CN103714008A (zh) | 数据存储方法、存储器控制器与存储器存储装置 | |
CN103513930A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN102999437A (zh) | 数据搬移方法、存储器控制器与存储器储存装置 | |
CN102800357A (zh) | 程序码载入与存取方法、存储器控制器与存储器储存装置 | |
CN102053920B (zh) | 数据写入方法及闪存控制器与闪存存储*** | |
CN104731710A (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
CN104657083A (zh) | 数据写入方法、存储器储存装置、存储器控制电路单元 | |
US10824340B2 (en) | Method for managing association relationship of physical units between storage area and temporary area, memory control circuit unit, and memory storage apparatus | |
CN104238956A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN103984635A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
US9009389B2 (en) | Memory management table processing method, memory controller, and memory storage apparatus |
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 |