CN102012788B - 下达读取指令与数据读取方法、闪存控制器与储存系统 - Google Patents
下达读取指令与数据读取方法、闪存控制器与储存系统 Download PDFInfo
- Publication number
- CN102012788B CN102012788B CN200910168734XA CN200910168734A CN102012788B CN 102012788 B CN102012788 B CN 102012788B CN 200910168734X A CN200910168734X A CN 200910168734XA CN 200910168734 A CN200910168734 A CN 200910168734A CN 102012788 B CN102012788 B CN 102012788B
- Authority
- CN
- China
- Prior art keywords
- command
- data
- host
- host command
- reading
- 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
Images
Landscapes
- Read Only Memory (AREA)
Abstract
本发明提供一种下达读取指令与数据读取方法、闪存控制器与储存系统,该下达读取指令的方法用于从闪存芯片中读取主机系统欲存取的数据。该下达读取指令的方法包括从主机系统接收主机读取指令,并且判断在目前主机读取指令是否接续于前一个主机读取指令,若是,则向闪存芯片下达快取读取指令以从闪存芯片中读取数据,反之,则向闪存芯片下达一般读取指令与快取读取指令以从闪存芯片中读取数据。由此,通过使用快取读取指令来结合欲存取连续实体地址的多个主机读取指令并预读取储存于下一个实体地址中的数据,本方法可有效地缩短执行主机读取指令的时间。
Description
技术领域
本发明涉及一种下达读取指令与数据读取方法、闪存控制器与储存系统,尤其涉及一种对闪存下达读取指令与数据读取的方法以及使用此方法的闪存控制器与闪存储存系统。
背景技术
由于闪存(Flash Memory)具有数据非挥发性、省电、体积小与无机械结构等的特性,最适合使用于由电池供电的可携式电子产品上。例如,固态硬碟就是一种以NAND闪存作为储存媒体的储存装置,并且已广泛配置于笔记型电脑中作为主要的储存装置。
图1为现有的一般闪存储存装置的概要方块图。一般来说,当主机系统110通过连接器122与闪存储存装置120电性连接并且欲读取储存在闪存储存装置120中的数据时,主机系统110从闪存储存装置120的闪存芯片126中读取数据的程序可区分为数据上载(load)、内部数据传输(transfer)与外部数据传输等部分。具体来说,当主机系统110欲从闪存储存装置120中读取数据时,闪存控制器124会对闪存芯片126下达一般读取指令,此时闪存芯片126会依据一般读取指令将数据从记忆胞(即,储存区)134中搬移至闪存芯片126内的缓冲区132中,此过程称为数据上载。例如,当闪存控制器124从主机系统110接收到主机读取指令时,闪存控制器124会对闪存芯片126下达由“指令C1”、“实体地址”与“指令C2”等字串所组成的一般读取指令,其中“指令C1”用以指示闪存芯片准备执行读取程序,“实体地址”用以指示闪存芯片欲读取的地址,“指令C2”用以指示闪存芯片将数据从记忆胞134中搬移至缓冲区132。此时,闪存芯片126就会依据一般读取指令中的“实体地址”将数 据从记忆胞134中搬移至缓冲区132中。
在完成数据上载之后,暂存于缓冲区132中的数据会被传输至闪存控制器124(例如,配置于闪存控制器124中的缓冲存储器),此过程称为内部数据传输。
最后,闪存控制器124再将所接收的数据通过连接器122传送至主机系统110,此过程称为外部数据传输。
特别是,在进行数据上载与内部数据传输的过程中,闪存控制器124在下达一般读取指令后,闪存芯片126会处于一忙碌(busy)状态,且当闪存芯片126处于忙碌状态下闪存控制器124无法对其下达任何指令。也就是说,闪存控制器124必须于闪存芯片126完成将数据从记忆胞134中读取至缓冲区132的数据上载以及将数据从缓冲区132传输至闪存控制器124的内部数据传输后,闪存控制器124才能再对闪存芯片126下达下一个指令。例如,在依据主机系统110的一个主机读取指令而需读取连续的2逻辑地址(即,2个页面)中的数据时,闪存控制器124必须先对闪存芯片126下达第一个由“指令C1”、“实体地址”与“指令C2”等字串所组成的一般读取指令以进行第1个页面的数据上载,之后再进行内部数据传输以将所读取的第1个页面的数据传送至闪存控制器124,然后再对闪存芯片126下达第二个由“指令C1”、“实体地址”与“指令C2”等字串所组成的一般读取指令以进行第2个页面的数据上载,最后再进行内部数据传输以将所读取的第2个页面的数据传送至闪存控制器124。换言之,即使欲读取的数据是储存于连续的逻辑地址中,闪存控制器124也必须反复地下达由“指令C1”、“实体地址”与“指令C2”等字串所组成的一般读取指令才能从闪存芯片中读取数据。
随着传输技术的发展,使得连接器的传输速度已大幅提升,例如,序列先进附件(Serial Advanced Technology Attachment,SATA)连接器已可达到每秒15亿位元(Gigabit,Gb),甚至每秒30Gb。然而,在上述数据上载与内部数据传输的速度低于连接器的速度下,整体储存的效能仍无法有效改善,因此如何缩短执行主机读取指令的时间是此领域技术人员所致力的目标。
发明内容
本发明提供一种下达读取指令的方法,其能够有效地缩短执行主机读取指令的时间。
本发明提供一种闪存控制器,其能够有效地缩短执行主机读取指令的时间。
本发明提供一种闪存储存系统,其能够有效地缩短执行主机读取指令的时间。
本发明提供一种数据读取方法,其能够有效地缩短执行主机读取指令的时间。
本发明实施例提出一种下达读取指令的方法用于从闪存芯片中读取主机系统欲存取的数据。本下达读取指令的方法包括提供闪存控制器,以及从主机系统中接收主机指令,其中此主机指令为主机读取指令并且此主机指令包括第一起始逻辑地址。本下达读取指令的方法也包括由闪存控制器依据主机指令向闪存芯片下达一个一般读取指令与至少一个快取读取指令以在闪存芯片中从对应第一起始逻辑地址的实体地址开始依序地读取对应主机指令的第一数据,以及由闪存控制器向闪存芯片下达至少一个快取读取指令以在第一数据的至少一部分被传送至闪存控制器期间从闪存芯片中读取非上述主机指令请求的第二数据,其中在记忆体芯片中储存第二数据的实体地址是接续于储存第一数据的实体地址。本下达读取指令的方法也包括从主机系统中接收下一个主机指令,其中下一个主机指令包括第二起始逻辑地址。本下达读取指令的方法还包括判断此下一个主机指令是否为主机读取指令且此下一个主机指令是否为接续于上述主机指令,以及当下一个主机指令为主机读取指令且下一个主机指令为接续于上述主机指令时,则由闪存控制器依据下一个主机指令向闪存芯片直接下达至少一个快取读取指令。
本发明实施例提出一种闪存控制器,用于从闪存芯片中读取主机系统欲存取的数据。本闪存控制器包括微处理器单元、闪存接口单元、主机接口单元、缓冲存储器与内存管理单元。闪存接口单元电性连接至微处理器单元,并且用以连接闪存芯片。主机接口单元电性连接至微处理器单元,并且用以连接上述主机系统。缓冲存储器电性连接至微处理器单元并且用以暂存数据。内存管理单元电性连接至微处理单元,并且用以通过主机接口单元从该主机系统中接收主机指令,其中此主机指令为一主机读取指令并且此主机指令包括第一起始逻辑地址。此外,内存管理单元通过闪存接口单元依据上述主机指令向闪存芯片下达一个一般读取指令与至少一个快取读取指令以在闪存芯片中从对应第一起始逻辑地址的实体地址开始依序地读取对应上述主机指令的一第一数据,并且内存管理单元向该闪存芯片下达至少一个快取读取指令以在第一数据的至少一部分被传送至缓冲存储器期间从闪存芯片中读取非上述主机指令请求的第二数据,其中在记忆体芯片中储存第二数据的实体地址是接续于储存第一数据的实体地址。另外,内存管理单元通过主机接口单元从主机系统中接收下一个主机指令,其中此下一个主机指令包括第二起始逻辑地址。再者,内存管理单元判断上述第下一个主机指令是否为主机读取指令且此下一个主机指令是否为接续于上述主机指令,并且当上述下一个主机指令为主机读取指令且上述下一个主机指令为接续于上述主机指令时,则内存管理单元通过闪存接口单元依据上述下一个主机指令向闪存芯片直接下达至少一个快取读取指令。
本发明实施例提出一种闪存储存系统。本闪存储存系统包括的连接器、闪存芯片以及闪存控制器。连接器用以电性连接主机系统。闪存控制器电性连接至连接器与闪存芯片,并且用以通过连接器从主机系统中接收一主机指令,其中此主机指令为一主机读取指令并且此主机指令包括一第一起始逻辑地址。此外,闪存控制器依据上述主机指令向闪存芯片下达一个一般读取指令与至少一个快取读取指令以在闪存芯片中从对应第一起始逻辑地址的实体 地址开始依序地读取对应上述主机指令的第一数据,并且闪存控制器向闪存芯片下达至少一个快取读取指令以在第一数据的至少一部分被传送至闪存控制器期间从闪存芯片中读取非上述主机指令请求的第二数据,其中在闪存芯片中储存第二数据的实体地址是接续于储存第一数据的实体地址。另外,闪存控制器通过连接器从该主机系统中接收下一个主机指令,其中此下一个主机指令包括第二起始逻辑地址。再者,闪存控制器判断上述下一个主机指令是否为主机读取指令且上述下一个主机指令是否为接续于上述主机指令,并且当上述下一个主机指令为主机读取指令且上述下一个主机指令为接续于上述主机指令时,则闪存控制器通过闪存接口单元依据上述下一个主机指令向闪存芯片直接下达至少一个快取读取指令。
本发明实施例提出数据读取方法,用于从一闪存芯片中读取一主机系统欲存取的数据。此数据读取方法包括提供一闪存控制器,以及从主机系统中接收一主机指令,其中此主机指令为主机读取指令并且此该主机指令包括第一起始逻辑地址。本数据读取方法也包括由闪存控制器依据上述主机指令在闪存芯片中从对应第一起始逻辑地址的实体地址开始依序地读取对应上述主机指令的第一数据,以及由闪存控制器在第一数据的至少一部分被传送至闪存控制器期间从闪存芯片中读取非上述主机指令请求的第二数据,其中在闪存芯片中储存第二数据的实体地址是接续于储存第一数据的实体地址。本数据读取方法还包括从主机系统中接收一下一个主机指令,其中此下一个主机指令包括第二起始逻辑地址。本数据读取方法还包括判断此下一个主机指令是否为主机读取指令且此下一个主机指令是否为接续于上述主机指令,以及当此下一个主机指令为主机读取指令且此下一个主机指令为接续于上述主机指令时,则由闪存控制器将第二数据传送给主机系统。
本发明实施例提出一种闪存控制器,用于从闪存芯片中读取主机系统欲存取的数据。本闪存控制器包括微处理器单元、闪存接口单元、主机接口单元、缓冲存储器与内存管理单元。闪存接口单元电性连接至微处理器单元, 并且用以连接闪存芯片。主机接口单元电性连接至微处理器单元,并且用以连接上述主机系统。缓冲存储器电性连接至微处理器单元并且用以暂存数据。内存管理单元电性连接至微处理单元,并且用以通过主机接口单元从主机系统中接收一主机指令,其中此主机指令为主机读取指令并且此主机指令包括第一起始逻辑地址。此外,内存管理单元通过闪存接口单元依据上述主机指令在闪存芯片中从对应第一起始逻辑地址的实体地址开始依序地读取对应上述主机指令的第一数据,并且内存管理单元在第一数据的至少一部分被传送至缓冲存储器期间从闪存芯片中读取非上述主机指令请求的第二数据,其中在闪存芯片中储存第二数据的实体地址是接续于储存第一数据的实体地址。另外,内存管理单元通过主机接口单元从主机系统中接收一下一个主机指令,其中此下一个主机指令包括第二起始逻辑地址。再者,内存管理单元判断上述下一个主机指令是否为主机读取指令且上述下一个主机指令是否为接续于上述主机指令,并且当上述下一个主机指令为主机读取指令且上述下一个主机指令为接续于上述主机指令时,则内存管理单元通过闪存接口单元将第二数据传送给主机系统。
本发明实施例提出一种闪存储存系统。本闪存储存系统包括的连接器、闪存芯片以及闪存控制器。连接器用以电性连接主机系统。闪存控制器电性连接至连接器与闪存芯片,并且用以通过连接器从主机系统中接收一主机指令,其中此主机指令为主机读取指令并且此主机指令包括第一起始逻辑地址。此外,闪存控制器依据上述主机指令在闪存芯片中从对应第一起始逻辑地址的实体地址开始依序地读取对应上述主机指令的第一数据,并且闪存控制器在第一数据的至少一部分被传送至闪存控制器期间从闪存芯片中读取非上述主机指令请求的第二数据,其中在闪存芯片中储存第二数据的实体地址是接续于储存第一数据的实体地址。另外,闪存控制器通过连接器从该主机系统中接收一下一个主机指令,其中此下一个主机指令包括第二起始逻辑地址。再者,闪存控制器判断上述下一个主机指令是否为主机读取指令且上述下一 个主机指令是否为接续于上述主机指令,并且当上述下一个主机指令为主机读取指令且上述下一个主机指令为接续于上述主机指令时,则闪存控制器通过闪存接口单元将第二数据传送给主机系统。
基于上述,本发明实施例的下达读取指令与数据读取的方法、闪存控制器与闪存储存系统能够有效地缩短执行主机读取指令所需的时间,由此提升闪存储存系统的效能。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1为现有的一般闪存储存装置的概要方块图。
图2A为根据本发明实施例的使用闪存储存装置的主机系统。
图2B为图2A所示的闪存储存装置200的概要方块图。
图3为本发明实施例的闪存控制器下达读取指令的范例示意图。
图4为根据图3所示的指令的闪存芯片的运作时序图。
图5为本发明实施例的下达读取指令的流程图。
图6为本发明实施例的下达读取指令的方法及其数据读取方法可应用的装置的示意图。
主要附图标记说明:
110:主机系统; 120:闪存储存装置;
122:连接器; 124:闪存控制器;
126:闪存芯片; 132:缓冲区;
134:记忆胞; 200:闪存储存装置;
202:连接器; 204:闪存控制器;
206:微处理器单元; 208:内存管理单元;
210:主机接口单元; 212:闪存接口单元;
214:缓冲存储器; 220:闪存芯片;
290:主机系统; 295:总线;
402:储存区; 404:第一缓冲区;
406:第二缓冲区; 602:随身碟;
604:数位相机; 604a:SD卡;
604b:MMC卡; 604c:CF卡;
604d:记忆棒; 606:固态硬碟;
1102:微处理器; 1104:随机存取存储器;
1106:输入/输出装置 1108:系统总线;
1110:数据传输接口; C1、C2、C3:指令;
D1、D2、D3、D4:数据; ADD:实体地址;
CM1、CM2、CM3、CM4、CM5、CM6、CM7:指令;
T1、T2、T3、T4:内部数据传输;B1、B2、B3、B4、B5:忙碌时间;
S501、S503、S505、S507、S509、S511、S513、S515、S517:下达读取指令的步骤。
具体实施方式
闪存储存系统一般而言包括闪存芯片与控制器(亦称,控制电路)。通常闪存储存系统会与主机系统一起使用,以使主机系统可将数据写入至闪存储存系统或从闪存储存系统中读取数据。另外,也有闪存储存系统是包括嵌入式闪存与可执行于主机系统上以实质地作为此嵌入式闪存的控制器的软体。
图2A为根据本发明实施例的使用闪存储存装置的主机系统。
请参照图2A,主机系统290一般包括微处理器1102、随机存取存储器(random access memory,RAM)1104、输入/输出(input/output,I/O)装置1106、系统总线1108以及数据传输接口1110。必须了解的是,主机290可还包括其他组件,例如显示器装置或网路装置等。
主机系统290可以是电脑、数位相机、摄影机、通信装置、音讯播放器或视讯播放器等系统。一般而言,主机290可实质地为可储存数据的任意系统。
在本发明实施例中闪存储存装置200是通过数据传输接口1110与主机系统290的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的处理可将数据写入至闪存储存装置200或从闪存储存装置200中读取数据。
图2B为图2A所示的闪存储存装置200的概要方块图。
请参照图2B,闪存储存装置200包括连接器202、闪存控制器204与闪存芯片220。
连接器202电性连接至闪存控制器204并且用以通过总线295连接主机系统290。在本实施例中,连接器202为序列先进附件(Serial Advanced Technology Attachment,SATA)连接器。然而,必须了解的是本发明不限于此,连接器202也可以是通用序列总线(Universal Serial Bus,USB)连接器、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394连接器、高速周边零件连接接口(Peripheral Component Interconnect Express,PCIExpress)连接器、安全数位(secure digital,SD)接口连接器、记忆棒(Memory Stick,MS)接口连接器、多媒体储存卡(Multi Media Card,MMC)接口连接器、小型快闪(Compact Flash,CF)接口连接器、整合式驱动电子接口(Integrated Device Electronics,IDE)连接器或其他适合的连接器。
闪存控制器204会执行以硬体型式或韧体型式实作的多个逻辑闸或控制指令,并且根据主机系统290的指令在闪存芯片220中进行数据的写入、读取与抹除等操作。闪存控制器204包括微处理器单元206、内存管理单元208、主机接口单元210、闪存接口单元212与缓冲存储器214。
微处理器单元206为闪存控制器204的主控单元,用以与内存管理单元208、主机接口单元210与闪存接口单元212等协同合作以进行闪存储存装置200的各种运作。
内存管理单元208电性连接至微处理器单元206,用以执行根据本实施例的下达读取指令与区块管理机制,内存管理单元208的运作将于以下配合图式作详细说明。
在本实施例中,内存管理单元208是以一韧体型式实作在闪存控制器204中。例如,将包括多个控制指令的内存管理单元208烧录至一程序内存(例如,只读存储器(Read Only Memory,ROM))中并且将此程序内存嵌入在闪存控制器204中,当闪存储存装置200运作时,内存管理单元208的多个控制指令会由微处理器单元206来执行以完成根据本发明实施例的下达读取指令与区块管理机制。
在本发明另一实施例中,内存管理单元208的控制指令也可以软体型式储存于闪存芯片220的特定区域(例如,闪存芯片中专用于存放系统数据的系统区)中。同样的,当闪存储存装置200运作时,内存管理单元208的多个控制指令会由微处理器单元206来执行。此外,在本发明另一实施例中,内存管理单元208也可以一硬体型式实作在闪存控制器204中。
主机接口单元210电性连接至微处理器单元206,并且用以接收与识别主机系统290所传送的指令与数据,以及将数据传送给主机系统290。也就是说,主机系统290所传送的指令与数据会通过主机接口单元210传送至缓冲存储器214,且内存管理单元208会通过主机接口单元210将数据传送给主机系统290。在本实施例中,主机接口单元210是对应连接器202为SATA接口。然而,必须了解的是本发明不限于此,主机接口单元210也可以是USB接口、IEEE 1394接口、PCI Express接口、SD接口、MS接口、MMC接口、CF接口、IDE接口或其他适合的数据传输接口。
闪存接口单元212是电性连接至微处理器单元206并且用以电性连接至闪存芯片220。
缓冲存储器214电性连接至微处理器单元206并且用以暂存来自于主机 系统200的数据或来自于闪存芯片220的数据。
此外,虽未绘示于本实施例中,但闪存控制器204也还可以包括错误校正单元与电源管理单元等。
闪存芯片220电性连接至闪存控制器204并且用以依据闪存控制器204的指令来写入数据与读取数据。在本实施例中,闪存芯片220为多层记忆胞(Multi Level Cell,MLC)NAND闪存芯片。然而,本发明不限于此,闪存芯片220也可是单层记忆胞(Single Level Cell,SLC)NAND闪存芯片。
闪存芯片220包括储存区402、第一缓冲区404与第二缓冲区406。
储存区402包括多个实体区块并且用以储存数据。实体区块为抹除的最小单位。亦即,每一实体区块含有最小数目的一起被抹除的记忆胞。每一实体区块具有复数个页面(page)。在本实施例中,页面为程序化与读取的最小单元,但在另一实施例中,将数据程序化至闪存芯片220的最小单位也可是小于页面(page)的扇区(sector)。在本发明一实施例中的页面可为写入数据或读取数据的最小单元。每一页面通常包括使用者数据区与冗余区。使用者数据区用以储存使用者的数据,而冗余区用以储存系统的数据(例如,错误检查与校正码(Error Checking and Correcting Code,ECC Code)。
值得一提的是,由于闪存的记忆胞仅能从“1”程式化为“0”,因此要更新实体区块内的数据时必须先抹除实体区块内的数据。然而,闪存的写入是以页面为单位,而抹除是以实体区块为单位,所以储存区402中的实体区块会以轮替方式来储存数据。具体来说,内存管理单元208会将储存区204中的实体区块逻辑地分组为系统区(system area)、数据区(data area)、备用区(sparearea)与取代区(replacement area),其中分组为系统区的实体区块是用以储存闪存储存装置的相关重要资讯,而分组为取代区的实体区块是用以取代数据区或备用区中已损坏的实体区块,因此在一般存取状态下,主机系统290是无法存取系统区与取代区中的实体区块。至于分组为数据区的实体区块中会储存由主机写入指令所写入的数据,而备用区中的实体区块是用以在执行主机写入指令时替换数据区中的实体区块。例如,当闪存储存装置200接受到主机系统290的主机写入指令而欲更新(或写入)数据至数据区中某一实体区块的某一页面时,内存管理单元208会从备用区中提取一实体区块并且将欲被更新的实体区块中的有效旧数据与欲写入的新数据写入至从备用区中提取的实体区块中,并且将已写入有效旧数据与新数据的实体区块逻辑地关联为数据区,并且将数据区中欲被更新的实体区块进行抹除并逻辑地关联为备用区。为了能够让主机系统290能够顺利地存取以轮替方式储存数据的实体区块,闪存储存装置200会提供逻辑地址给主机系统290。也就是说,闪存储存装置200会通过在逻辑地址-实体地址对应表(logical address-physical address mapping table)中记录与更新逻辑地址与数据区的实体区块之间的对应关系来反映实体区块的轮替,所以主机系统290仅需要针对所提供逻辑地址进行写入而闪存储存装置200会依据逻辑地址-实体地址对应表对所对应的实体区块的实体地址进行读取或写入数据。
第一缓冲区404与第二缓冲区406是用以暂存于闪存控制器204与储存区402之间所传输的数据。如上所述,闪存控制器204从闪存芯片220中读取数据的过程包括数据上载与内部数据传输两个部分,其中在数据上载的部分中欲读取的数据会先从储存区402中被搬移至第二缓冲区406中,之后欲读取的会再从第二缓冲区406中被搬移至第一缓冲区404。而在内部数据传输的部分,欲读取的数据会再从第一缓冲区404中被传输至缓冲存储器214。在此,用以将数据传输至缓冲存储器214的第一缓冲区404也称为数据快取(data cache)区,而用以从储存区402中接收数据的第二缓冲区406也称为快取缓冲(cache buffer)区,其中第一缓冲区404与第二缓冲区406可分别暂存一个页面的数据以对应读取单位(即,页面)。
在本实施例中,内存管理单元208会依据来自于主机系统290的主机读取指令中的逻辑地址通过闪存接口单元212向闪存芯片220下达一般读取指令与快取读取指令来读取数据。例如,内存管理单元208会使用由“指令C1”、 “实体地址”与“指令C2”等字串所组成的一般读取指令以及由“指令C3”字串所组成的快取读取指令来读取数据,其中内存管理单元208通过“指令C1”指示闪存芯片220准备执行读取程序,通过“实体地址”指示闪存芯片220欲读取的地址,通过“指令C2”指示闪存芯片220将数据从储存区402中搬移至第二缓冲区206,以及通过“指令C3”指示闪存芯片220将数据从第二缓冲区406中搬移至第一缓冲区404。特别是,当主机系统290欲读取储存于多个逻辑地址中的数据时,使用快取读取指令可有效地提升读取的速度。
例如,当内存管理单元208根据主机读取指令而需于闪存芯片220的多个连续页面中读取数据时,由于闪存芯片220具有2个缓冲区(即,第一缓冲区404与第二缓冲区406),因此,当闪存芯片220从储存区402中搬移第1个页面的数据至第二缓冲区406之后,通过使用快取读取指令(即,“指令C3”指令)会使闪存芯片220将第1个页面的数据从第二缓冲区406搬移至第一缓冲区404,并且之后在第1个页面的数据从第一缓冲区404被传输至缓冲存储器214的期间,第二缓冲区406就可从储存区402中接收第2个页面的数据。也就是说,通过使用快取读取指令可使得在数据从闪存芯片220传输至闪存控制器204的期间闪存芯片220仍继续搬移下一个页面的数据,由此提升读取的速度。
特别是,在主机系统290对闪存储存系统200连续下达多个主机读取指令且这些主机读取指令所指示欲读取的逻辑地址所对应的实体地址为连续的例子中,内存管理单元208连续地使用快取读取指令(即,“指令C3”指令)来串联(或组合)依序来自于主机系统290的主机读取指令,而无需再下达由“指令C1”、“实体地址”与“指令C2”字串所组成的一般读取指令,由此更提升读取的速度。其中值得说明的是,本实施例中所提及的指令“C1”、“C2”、“C3”等,仅只为一种实施态样,各厂家可自行订定不同的指令来实施类似的功能,例如以一单一指令来实施本实例中所描述的”C1”及”C2”的功能,故不该以此为限。
图3为本发明实施例的闪存控制器下达读取指令的范例示意图,并且图4为根据图3所示的指令的闪存芯片的运作时序图。在图3与图4所示的实施例中,内存管理单元208会依序地从主机系统290接收到2个主机读取指令而依据此主机指令中的逻辑地址而读取储存于连续的4个实体地址(即,4个页面)中的数据D1、数据D2、数据D3与数据D4。具体来说,第1个主机读取指令包括欲读取的逻辑地址及欲读取2个页面(即,数据D1与数据D2)的资讯,其中欲读取的逻辑地址表示在第1个主机读取指令中欲读取数据的起始逻辑地址(即,第1起始逻辑地址)。而第2个主机读取指令也包括欲读取的逻辑地址及欲读取2个页面(即,数据D3与数据D4)的资讯,其中欲读取的逻辑地址表示在第2个主机读取指令中开始读取数据的起始逻辑地址(即,第2起始逻辑地址)。
请参照图3与图4,当闪存控制器204接收到来自于主机系统290的第1个主机读取指令后,闪存控制器204的内存管理单元208会依据主机读取指令中的逻辑地址向闪存芯片220下达由“指令C1”、“ADD”与“指令C2”等字串所组成的一般读取指令(如图3所示的指令CM1、CM2与CM3)与由“指令C3”字串所组成的快取读取指令(如图3所示的指令CM4),其中“ADD”表示读取数据的起始实体地址。也是就说,内存管理单元208会依据逻辑地址-实体地址对应表将第1起始逻辑地址所对应的实体地址传送给闪存芯片220以开始读取数据。此时,闪存芯片220会依据指令CM3从储存区402中搬移第1个页面的数据D1至第二缓冲区406中,期间闪存芯片220会处于一忙碌状态(如图4所示的忙碌时间B1)。闪存芯片220在完成指令CM3之后,会执行快取读取指令(如图3所示的指令CM4),以将暂存于第二缓冲区406中的数据D1搬移至第一缓冲区404中,并且在将数据D1从第二缓冲区406中搬移至第一缓冲区404之后从下一个实体地址中搬移第2个页面的数据D2至第二缓冲区406中。
特别是,闪存芯片220在将暂存于第二缓冲区406中的数据D1搬移至第一缓冲区404(如图4所示的忙碌时间B2)之后就会回复为待命(ready)状态,并且将暂存于第一缓冲区404中的数据D1传输至缓冲存储器214中(如图3所示的内部数据传输T1)。此时,数据D1的内部数据传输与数据D2的数据上载会同时进行。
也就是说,由于闪存芯片220中存有2个缓冲区(即,第一缓冲区404与第二缓冲区406),因此通过快取读取指令来将欲读取的数据从第二缓冲区406搬移至第一缓冲区404后,第一缓冲区404用于将来自于储存区402中的数据传输至缓冲存储器214,而第二缓冲区406用于从储存区402中接收数据。基此,数据D1的内部数据传输与数据D2的数据上载可同时进行。
一般来说,闪存芯片220执行快取读取指令所需的时间(例如,忙碌时间B2)是远短于执行一般读取指令所需的时间(例如,忙碌时间B1)。例如,闪存芯片220执行快取读取指令所需的时间为1毫秒(millisecond),而执行一般读取指令所需的时间为50毫秒。
之后,当数据D1的内部数据传输完成后,内存管理单元208会再向闪存芯片220下达快取读取指令(如图3所示的指令CM5),以将暂存于第二缓冲区406中的数据D2搬移至第一缓冲区404中(如图4所示的忙碌时间B3),并且在将数据D2从第二缓冲区406中搬移至第一缓冲区404之后从下一个实体地址中搬移下一个页面的数据至第二缓冲区406中。类似地,闪存芯片220在将暂存于第二缓冲区406中的数据D2搬移至第一缓冲区404之后就会回复为待命状态,并将暂存于第一缓冲区404中的数据D2传输至缓冲存储器214中(如图3所示的内部数据传输T2)。此时,数据D2的内部数据传输与下一个页面的数据的数据上载会同时进行。
在传输T2完成之后,对应第1个主机读取指令的数据(即,数据D1与数据D 2)会从缓冲存储器214中传输至主机系统290,即外部数据传输。之后,闪存控制器204会接收到来自于主机系统290的第2个主机读取指令,并且内存管理单元208会判断第2个主机读取指令欲存取的逻辑地址是否接续于第1个主机读取指令所存取的逻辑地址。
如上所述,在图3与图4所示的实施例中,第2个主机读取指令欲存取的逻辑地址所对应的实体地址是接续于第1个主机读取指令所存取的逻辑地址所对应的实体地址。因此,闪存芯片220依据指令CM5从储存区402中所搬移的下一个页面的数据正是数据D3。基此,内存管理单元208会向闪存芯片220下达快取读取指令(如图3所示的指令CM6)以将暂存于第二缓冲区406中的数据D3搬移至第一缓冲区404中,并且在将数据D3从第二缓冲区406中搬移至第一缓冲区404(如图4所示的忙碌时间B4)之后从下一个实体地址中搬移第4个页面的数据D4至第二缓冲区406中。类似地,闪存芯片220在将暂存于第二缓冲区406中的数据D3搬移至第一缓冲区404之后就会回复为待命状态,并将暂存于第一缓冲区404中的数据D3传输至缓冲存储器214中(如图3所示的内部数据传输T3)。此时,数据D3的内部数据传输与数据D4的数据上载会同时进行。
之后,当数据D3的内部数据传输完成后,内存管理单元208会再向闪存芯片220下达快取读取指令(如图3所示的指令CM7),以将暂存于第二缓冲区406中的数据D4搬移至第一缓冲区404中,并且在将数据D4从第二缓冲区406中搬移至第一缓冲区404(如图4所示的忙碌时间B5)之后从下一个实体地址中搬移下一个页面的数据至第二缓冲区406中。类似地,闪存芯片220在将暂存于第二缓冲区406中的数据D4搬移至第一缓冲区404之后就会回复为待命状态,并将暂存于第一缓冲区404中的数据D4传输至缓冲存储器214中(如图3所示的内部数据传输T4)。此时,数据D4的内部数据传输与下一个页面的数据的数据上载会同时进行。
在传输T4完成之后,对应第2个主机读取指令的数据(即,数据D3与数据D4)会从缓冲存储器214中传输至主机系统290。
值得一提的是,当内存管理单元208下达指令CM5与指令CM7时,内存管理单元208仅是指示闪存芯片220预先读取下一个页面的数据,而内存 管理单元208是于执行下一个主机指令时才能确认主机系统290是否存取所预先读取的数据。在此,闪存芯片220依据快取读取指令而继续读取下一个页面的程序称之为预读取(pre-read)程序。然而,来自于主机系统290的下一个主机读取指令可能刚好要读取此数据(例如,图3所示的数据D3),因此当预读取的数据正好为主机系统290预读取的数据时,可将所预读的数据传送给主机系统290,由此可有效地提升读取速度。
此外,值得一提的是,如上所述,内存管理单元208是先预读下一个实体地址的数据,以提升读取速度。然而,当目前所存取的逻辑地址所对应的逻辑区块处于开启母子区块的状态时,即一个逻辑区块是对应多个实体区块的状况,此时连续实体地址内的数据可能非对应连续的逻辑地址。在此情况下,预读取下一个实体地址内的数据将有较高的机率成为无意义(即,所预读取的数据非下一个主机读取指令所欲读取的数据)。因此,在本发明另一实施例中,内存管理单元208在执行预读取程序前会先判断目前所存取的逻辑地址所对应的逻辑区块是否处于上述开启母子区块的状态,并且仅于目前所存取的逻辑地址所对应的逻辑区块非处于上述开启母子区块的状态才执行预读取程序。
在本实施例中,当闪存控制器204执行主机读取指令时,在闪存芯片220完成目前主机读取指令欲存取的数据的数据上载后,内存管理单元208会继续使用快取读取指令以使闪存芯片220读取下一个页面的数据。之后,倘若闪存控制器204从主机系统290中所接收到的下一个主机指令非为主机读取指令时,内存管理单元208会向闪存芯片220下达一重置(reset)指令(例如,由“0×FF”字串所组成的指令)以停止闪存芯片220的运作。
图5为本发明实施例的下达读取指令的流程图。
请参照图5,首先,在步骤S501中闪存储存装置200从主机系统290中接收主机指令并且在步骤S503中内存管理单元208会判断所接收的主机指令是否为主机读取指令。
倘若在步骤S503中判断所接收的主机指令不为主机读取指令时,则在步骤S505中内存管理单元208会向闪存芯片220下达重置(reset)指令。之后,在步骤S507中内存管理单元208会依据所接收的主机指令执行对应的步骤,并结束图5的流程。在本实施例中,图5仅用于描述内存管理单元208执行主机读取指令的步骤,至于执行其他主机指令的步骤,本领域技术人员可依据相关的技术得知,在此不详细说明步骤S507。
倘若在步骤S503中判断所接收的主机指令为主机读取指令时,则在步骤S509中内存管理单元208会判断前一个所执行的主机指令是否为主机读取指令。
倘若在步骤S509中判断前一个所执行的主机指令不为主机读取指令时,则在步骤S511中内存管理单元208会向闪存芯片220下达一般读取指令(即,由“指令C1”、“实体地址”与“指令C2”字串所组成的指令)与快取读取指令(即,由“指令C3”字串所组成的指令)来读取数据,并结束图5的流程。具体来说,在步骤S511中内存管理单元208会在闪存芯片220中从所接收的主机读取指令所指示的起始逻辑地址所映的实体地址开始依序地读取对应此主机读取指令的数据。特别是,如上所述,所下达的最后一个快取读取指令会预读取下一个实体地址中的数据。
倘若在步骤S509中判断前一个所执行的主机指令为主机读取指令时,则在步骤S513中内存管理单元208会判断目前主机读取指令是否接续于前一个主机读取指令。例如,在步骤S513中内存管理单元208会判断目前主机读取指令所存取的逻辑地址所对应的实体地址是否接续前一个主机读取指令所存取的逻辑地址所对应的实体地址,并且当目前主机读取指令所存取的逻辑地址所对应的实体地址是否接续前一个主机读取指令所存取的逻辑地址所对应的实体地址时,则内存管理单元208会判断目前主机读取指令是否接续于前一个主机读取指令。
倘若在步骤S513中判断目前主机读取指令是接续于前一个主机读取指 令时,则在步骤S515中内存管理单元208向闪存芯片220下达快取读取指令以接续读取下一个页面的数据,并结束图5的流程。具体来说,在步骤S513中内存管理单元208会在闪存芯片220中从预读取的实体地址的下一个实体地址开始依序地读取对应此主机读取指令的数据。也就是说,由于目前主机读取指令是接续于前一个主机读取指令,因此之前所预读取的数据可用于传送给主机系统290,而仅于从下一个实体地址开始读取。类似地,在步骤S515中所下达的最后一个快取读取指令也会预读取下一个实体地址中的数据。
倘若在步骤S513中判断目前主机读取指令不是接续于前一个主机读取指令时,则在步骤S517中内存管理单元208向闪存芯片220下达重置(reset)指令,并且之后执行步骤S511以向闪存芯片220下达一般读取指令与快取读取指令来读取数据。
值得一提的是,在步骤S511与步骤S515中所下达的最后一个快取读取指令会预读取下一个实体地址中的数据,因此在本发明另一实施例中,在步骤S513中也可通过比对目前主机读取指令所存取的逻辑地址所对应的实体地址是否相同于所预读取的实体地址来判断目前主机读取指令是否接续于前一个主机读取指令,其中当目前主机读取指令所存取的逻辑地址所对应的实体地址相同于所预读取的实体地址时,则内存管理单元会判断目前主机读取指令是接续于前一个主机读取指令。
根据本发明实施例所提出的下达读取指令的方法及其数据读取方法是适用于闪存,因此根据本发明实施例所提出的下达读取指令的方法及其数据读取方法可应用各种以闪存作为储存媒体的装置。也就是说,闪存储存装置200可以是如图6所示的随身碟602、数位相机(摄影机)604所使用的SD卡604a、MMC卡604b、CF卡604c与记忆棒(memory stick)604d或固态硬碟(Solid State Drive,SSD)606等。
综上所述,本发明实施例的下达读取指令方法会将欲读取连续逻辑地址的多个主机读取指令以快取读取指令来组合,由此可缩短执行主机读取指令的时间。此外,通过预读取程序预先读取下一个页面的数据,还可有效地缩短执行主机读取指令的时间。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (16)
1.一种下达读取指令的方法,用于从一闪存芯片中读取一主机系统欲存取的数据,其特征在于,该下达读取指令的方法包括:
提供一闪存控制器;
从该主机系统中接收一主机指令,其中该主机指令为一主机读取指令并且该主机指令包括一第一起始逻辑地址;
由该闪存控制器依据该主机指令向该闪存芯片下达一个一般读取指令与至少一个快取读取指令以在该闪存芯片中从对应该第一起始逻辑地址的实体地址开始依序地读取对应该主机指令的一第一数据;
由该闪存控制器向该闪存芯片下达至少一个该快取读取指令以在该第一数据的至少一部分被传送至该闪存控制器期间从该闪存芯片中读取非该主机指令请求的一第二数据,其中在该闪存芯片中储存该第二数据的实体地址是接续于储存该第一数据的实体地址;
从该主机系统中接收一下一个主机指令,其中该下一个主机指令包括一第二起始逻辑地址;
判断该下一个主机指令是否为该主机读取指令且该下一个主机指令是否为接续于该主机指令;以及
当该下一个主机指令为该主机读取指令且该下一个主机指令为接续于该主机指令时,则由该闪存控制器依据该下一个主机指令向该闪存芯片直接下达至少一个该快取读取指令。
2.根据权利要求1所述的下达读取指令的方法,其特征在于,其中当该下一个主机指令为该主机读取指令且该下一个主机指令不为接续于该主机指令时,则由该闪存控制器向该闪存芯片下达一重置指令,并且再向该闪存芯片下达一个该一般读取指令与至少一个该快取读取指令以在该闪存芯片中从对应该第二起始逻辑地址的实体地址开始依序地读取对应该下一个主机指令的一第三数据。
3.根据权利要求1所述的下达读取指令的方法,其特征在于,其中当该下一个主机指令不为该主机读取指令时,则由该闪存控制器向该闪存芯片下达一重置指令。
4.根据权利要求1所述的下达读取指令的方法,其特征在于,其中判断该下一个主机指令是否为接续于该主机指令的步骤包括:
判断该第二起始逻辑地址所对应的实体地址是否接续于储存该第一数据的实体地址;以及
当该第二起始逻辑地址所对应的实体地址是接续于储存该第一数据的实体地址时,则判断该下一个主机指令为接续于该主机指令。
5.根据权利要求1所述的下达读取指令的方法,其特征在于,其中判断该下一个主机指令是否为接续于该主机指令的步骤包括:
判断该第二起始逻辑地址所对应的实体地址是否相同于储存该第二数据的实体地址;以及
当该第二起始逻辑地址所对应的实体地址相同于储存该第二数据的实体地址时,则判断该下一个主机指令为接续于该主机指令。
6.根据权利要求1所述的下达读取指令的方法,其特征在于,还包括在从该闪存芯片中读取非该主机指令请求的该第二数据之前判断该第一起始逻辑地址对应的一逻辑区块是否处于一开启母子区块状态,其中该开启母子区块状态表示所述逻辑区块是对应多个实体区块,
其中仅当该第一起始逻辑地址对应的逻辑区块非处于该开启母子区块状态时,从该闪存芯片中读取非该主机指令请求的该第二数据。
7.一种下达读取指令的系统,用于从一闪存芯片中读取一主机系统欲存取的数据,其特征在于,该下达读取指令的系统包括:
用以通过该主机接口单元从该主机系统中接收一主机指令的模块,其中该主机指令为一主机读取指令并且该主机指令包括一第一起始逻辑地址,
用以依据该主机指令向该闪存芯片下达一个一般读取指令与至少一个快取读取指令以在该闪存芯片中从对应该第一起始逻辑地址的实体地址开始依序地读取对应该主机指令的一第一数据的模块,
用以向该闪存芯片下达至少一个该快取读取指令以在该第一数据的至少一部分被传送至该缓冲存储器期间从该闪存芯片中读取非该主机指令请求的一第二数据的模块,其中在该闪存芯片中储存该第二数据的实体地址是接续于储存该第一数据的实体地址;
用以从该主机系统中接收一下一个主机指令的模块,其中该下一个主机指令包括一第二起始逻辑地址,
用以判断该下一个主机指令是否为该主机读取指令且该下一个主机指令是否为接续于该主机指令的模块;以及
用以当该下一个主机指令为该主机读取指令且该下一个主机指令为接续于该主机指令时,该内存管理单元通过该闪存接口单元依据该下一个主机指令向该闪存芯片直接下达至少一个该快取读取指令的模块。
8.根据权利要求7所述的下达读取指令的系统,其特征在于,还包括:
用以当该下一个主机指令为该主机读取指令且该下一个主机指令不为接续于该主机指令时,向该闪存芯片下达一重置指令,并且再向该闪存芯片下达一个该一般读取指令与至少一个该快取读取指令以在该闪存芯片中从对应该第二起始逻辑地址的实体地址开始依序地读取对应该下一个主机指令的一第三数据的模块。
9.根据权利要求7所述的下达读取指令的系统,其特征在于,还包括:
用以当该下一个主机指令不为该主机读取指令时,向该闪存芯片下达一重置指令的模块。
10.根据权利要求7所述的下达读取指令的系统,其特征在于,其中用以判断该下一个主机指令是否为该主机读取指令且该下一个主机指令是否为接续于该主机指令的模块会判断该第二起始逻辑地址所对应的实体地址是否接续于储存该第一数据的实体地址,
其中当该第二起始逻辑地址所对应的实体地址接续于储存该第一数据的实体地址时,则用以判断该下一个主机指令是否为该主机读取指令且该下一个主机指令是否为接续于该主机指令的模块会判断该下一个主机指令为接续于该主机指令。
11.根据权利要求7所述的下达读取指令的系统,其特征在于,其中用以判断该下一个主机指令是否为该主机读取指令且该下一个主机指令是否为接续于该主机指令的模块会判断该第二起始逻辑地址所对应的实体地址是否相同于储存该第二数据的实体地址,
其中当该第二起始逻辑地址所对应的实体地址相同于储存该第二数据的实体地址时,则用以判断该下一个主机指令是否为该主机读取指令且该下一个主机指令是否为接续于该主机指令的模块会判断该下一个主机指令为接续于该主机指令。
12.根据权利要求7所述的下达读取指令的系统,其特征在于,还包括:
用以在从该闪存芯片中读取非该主机指令请求的该第二数据之前判断该第一起始逻辑地址对应的一逻辑区块是否处于一开启母子区块状态的模块,
其中该开启母子区块状态表示所述逻辑区块是对应多个实体区块,
其中仅当该第一起始逻辑地址对应的逻辑区块非处于该开启母子区块状态时,用以向该闪存芯片下达至少一个该快取读取指令以在该第一数据的至少一部分被传送至该缓冲存储器期间从该闪存芯片中读取非该主机指令请求的该第二数据的模块才从该闪存芯片中读取非该主机指令请求的该第二数据。
13.一种数据读取方法,用于从一闪存芯片中读取一主机系统欲存取的数据,其特征在于,该数据读取方法包括:
提供一闪存控制器;
从该主机系统中接收一主机指令,其中该主机指令为一主机读取指令并且该主机指令包括一第一起始逻辑地址;
由该闪存控制器依据该主机指令在该闪存芯片中从对应该第一起始逻辑地址的实体地址开始依序地读取对应该主机指令的一第一数据;
由该闪存控制器在该第一数据的至少一部分被传送至该闪存控制器期间从该闪存芯片中读取非该主机指令请求的一第二数据,其中在该闪存芯片中储存该第二数据的实体地址是接续于储存该第一数据的实体地址;
从该主机系统中接收一下一个主机指令,其中该下一个主机指令包括一第二起始逻辑地址;
判断该下一个主机指令是否为该主机读取指令且该下一个主机指令是否为接续于该主机指令;以及
当该下一个主机指令为该主机读取指令且该下一个主机指令为接续于该主机指令时,则由该闪存控制器将该第二数据传送给该主机系统。
14.根据权利要求13所述的数据读取方法,其特征在于,其中判断该下一个主机指令是否为接续于该主机指令的步骤包括:
判断该第二起始逻辑地址所对应的实体地址是否接续于储存该第一数据的实体地址;以及
当该第二起始逻辑地址所对应的实体地址是接续于储存该第一数据的实体地址时,则判断该下一个主机指令为接续于该主机指令。
15.根据权利要求13所述的数据读取方法,其特征在于,其中判断该下一个主机指令是否为接续于该主机指令的步骤包括:
判断该第二起始逻辑地址所对应的实体地址是否相同于储存该第二数据的实体地址;以及
当该第二起始逻辑地址所对应的实体地址相同于储存该第二数据的实体地址时,则判断该下一个主机指令为接续于该主机指令。
16.一种数据读取系统,其特征在于,用于从一闪存芯片中读取一主机系统欲存取的数据,该数据读取系统包括:
用以从该主机系统中接收一主机指令的模块,其中该主机指令为一主机读取指令并且该主机指令包括一第一起始逻辑地址;
用以依据该主机指令在该闪存芯片中从对应该第一起始逻辑地址的实体地址开始依序地读取对应该主机指令的一第一数据的模块;用以在该第一数据的至少一部分被传送至该缓冲存储器期间从该闪存芯片中读取非该主机指令请求的一第二数据的模块,其中在该闪存芯片中储存该第二数据的实体地址是接续于储存该第一数据的实体地址;
用以从该主机系统中接收一下一个主机指令,其中该下一个主机指令包括一第二起始逻辑地址的模块;
用以判断该下一个主机指令是否为该主机读取指令且该下一个主机指令是否为接续于该主机指令的模块;以及
用以当该下一个主机指令为该主机读取指令且该下一个主机指令为接续于该主机指令时,将该第二数据传送给该主机系统的模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910168734XA CN102012788B (zh) | 2009-09-07 | 2009-09-07 | 下达读取指令与数据读取方法、闪存控制器与储存系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910168734XA CN102012788B (zh) | 2009-09-07 | 2009-09-07 | 下达读取指令与数据读取方法、闪存控制器与储存系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102012788A CN102012788A (zh) | 2011-04-13 |
CN102012788B true CN102012788B (zh) | 2012-07-18 |
Family
ID=43842966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910168734XA Active CN102012788B (zh) | 2009-09-07 | 2009-09-07 | 下达读取指令与数据读取方法、闪存控制器与储存系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102012788B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411521B2 (en) * | 2014-05-30 | 2016-08-09 | Macronix International Co., Ltd. | Method and apparatus for improving sequential memory read preformance |
KR20160104387A (ko) * | 2015-02-26 | 2016-09-05 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR102474035B1 (ko) * | 2017-08-18 | 2022-12-06 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN111324282A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器 |
CN111625744B (zh) * | 2019-02-27 | 2023-08-22 | 瑞昱半导体股份有限公司 | 多媒体串流及网络装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101017471A (zh) * | 2007-02-16 | 2007-08-15 | 威盛电子股份有限公司 | 只读存储器转接装置 |
CN101097551A (zh) * | 2006-08-23 | 2008-01-02 | 晶天电子(深圳)有限公司 | 带有闪存控制器的电子数据闪存卡 |
CN101311870A (zh) * | 2007-05-22 | 2008-11-26 | 英业达股份有限公司 | 内存插槽时钟脉冲的控制方法 |
-
2009
- 2009-09-07 CN CN200910168734XA patent/CN102012788B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097551A (zh) * | 2006-08-23 | 2008-01-02 | 晶天电子(深圳)有限公司 | 带有闪存控制器的电子数据闪存卡 |
CN101017471A (zh) * | 2007-02-16 | 2007-08-15 | 威盛电子股份有限公司 | 只读存储器转接装置 |
CN101311870A (zh) * | 2007-05-22 | 2008-11-26 | 英业达股份有限公司 | 内存插槽时钟脉冲的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102012788A (zh) | 2011-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8812784B2 (en) | Command executing method, memory controller and memory storage apparatus | |
US8386699B2 (en) | Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same | |
US9280460B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US8392649B2 (en) | Memory storage device, controller, and method for responding to host write commands triggering data movement | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
US9021218B2 (en) | Data writing method for writing updated data into rewritable non-volatile memory module, and memory controller, and memory storage apparatus using the same | |
TWI446349B (zh) | 非揮發性記憶體存取方法、系統,與非揮發性記憶體控制器 | |
TWI451249B (zh) | 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置 | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
TWI421870B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
TWI698749B (zh) | 資料儲存裝置與資料處理方法 | |
CN102012788B (zh) | 下达读取指令与数据读取方法、闪存控制器与储存系统 | |
CN102043725B (zh) | 用于闪存的数据写入方法及其控制器与储存系统 | |
CN102053796A (zh) | 闪存储存系统、闪存控制器与数据处理方法 | |
CN107943710B (zh) | 存储器管理方法及使用所述方法的存储控制器 | |
TWI540428B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN102592670B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103136111A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102023811B (zh) | 对闪存下达程序化指令的方法和系统 | |
CN102446137B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102800357B (zh) | 程序码载入与存取方法、存储器控制器与存储器储存装置 | |
CN102129353A (zh) | 闪存储存系统、闪存控制器与数据写入方法 | |
CN102890653A (zh) | 指令执行方法、存储器控制器与存储器储存装置 | |
US8209472B2 (en) | Data writing method for flash memory and control circuit and storage system using the same | |
CN102999437A (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 |