CN101673241A - 具有连续写入的闪存控制装置及其控制方法 - Google Patents
具有连续写入的闪存控制装置及其控制方法 Download PDFInfo
- Publication number
- CN101673241A CN101673241A CN200810149451A CN200810149451A CN101673241A CN 101673241 A CN101673241 A CN 101673241A CN 200810149451 A CN200810149451 A CN 200810149451A CN 200810149451 A CN200810149451 A CN 200810149451A CN 101673241 A CN101673241 A CN 101673241A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- write
- data
- page
- present
- 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.)
- Pending
Links
Images
Landscapes
- Read Only Memory (AREA)
Abstract
本发明公开一种具有连续写入的闪存控制装置及其控制方法,包括主控制器、命令模块、地址模块、数据缓冲器、状态单元以及计数装置。主控制器产生一预定值。命令模块储存执行写入程序期间的写入命令。地址模块储存目前地址,对目前页面进行寻址。数据缓冲器储存一数据。状态单元决定闪存处于一预备状态或是忙碌状态。当命令模块正确地将数据写入至目前页面时,地址模块产生至少一下游邻接地址,并且命令模块依序地且连续地将数据写入至至少一下游邻接页面,以于写入程序期间,直至全部页面完全且连续地被写入资料。
Description
【技术领域】
本发明是有关于一种内存装置及其方法,特别是有关于一种具有连续写入(sequential writing)的闪存控制装置及其控制方法。
【背景技术】
非与门型式闪存(Not AND,NAND)是由若干个区块(block)组成,且每个区块包含若干个资料页(page)。小型区块的大小为512字节(bytes),大型区块的大小为2048字节(bytes)。目前的非与门型式闪存(NAND flash memory)系以区块为最小写入单位,虽然非与门型式闪存真正的最小单位是数据页,但受限于非与门型式闪存要写入数据前需要先抹除区块之技术架构,使得非与门型式闪存实际上的最小写入单位是区块(block)。
一般来说,当习知技术的非与门型式闪存不支持连续(sequential write),非与门型式闪存的快闪控制器(flash controller)必需在多个写入程序(writingprocedure)期间重复地传送多个写入命令(writing command)至非与门型式闪存,以于非与门型式闪存的一目前数据页面完成写入之后继续在另一写入程序对下一个数据页面进行写入的步骤。由于必须执行多个写入程序,非与门型式闪存的写入效率下降。特别是当大量的数据欲传送至非与门型式闪存,且相关于数据的写入命令以及地址经由快闪控制器逐一传送至非与门型式闪存时,非与门型式闪存的写入效率严重降低。有鉴于此,确有必要发展一种新式的闪存,以解决上述问题。
【发明内容】
本发明之一目的在于提供一种具有连续写入的闪存控制装置及其控制方法,以依序且连续地写入数据至闪存的数据页面。
为达成上述目的,本发明提供一种具有连续写入的闪存控制装置及其控制方法,该闪存控制装置主要包括主控制器、命令模块、地址模块、数据缓冲器、状态单元、计数装置、内存单元以及次要控制器。
该主控制器用以产生一预定值,该预定值用于表示该闪存的若干个页面之数量。该命令模块用以储存执行该写入程序期间的一写入命令。地址模块用以储存一目前地址,依据该目前地址,并且经由一控总线来对若干页面之一目前页面进行寻址。数据缓冲器用以储存一数据,当该写入命令在该闪存中执行时,使该命令模块依据该目前地址将该数据写入至该目前页面。状态单元用以决定该闪存处于一预备状态或是写入该资料至该闪存的该目前页面之一忙碌状态。
当该命令模块正确地将该数据写入至该目前页面时,该地址模块产生至少一下游邻接地址,以依据该下游邻接地址以及该写入命令来对若干页面的至少一下游邻接页面进行寻址,并且该命令模块依序地且连续地将该数据写入至该至少一下游邻接页面,以于该写入程序期间,直至若干页面完全且连续地被写入该资料。
根据上述,在闪存的一写入程序期间,利用闪存控制装置经由该控制总线、数据总线以及预备/忙碌控制讯号线将数据写入至闪存的若干个页面。亦即,闪存控制装置在一写入程序中依序地对若干页面进行写入,以改善闪存的写入效能。计数装置用以计数闪存的页面数量,使得该数据被连续地写入至该页面。该位置模块产生下游邻接地址并且独立于该主控制器的韧体程序,该次要控制器直接将该数据依据该预定值以及下游邻接地址写入至若干页面。
为让本发明的上述内容能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下:
【附图说明】
图1为依据本发明实施例中具有连续写入(sequential writing)的闪存控制装置之方块图。
图2为依据本发明实施例中闪存控制装置的写入程序之时序图。
图3为依据本发明实施例中执行具有连续写入的闪存控制装置之流程图。
【具体实施方式】
图1为依据本发明一实施例中具有连续写入(sequential writing)的闪存控制装置100之方块图。该闪存控制装置100主要包括主控制器102、命令模块104、地址模块106、数据缓冲器108、状态单元110、计数装置112、内存单元114以及次要控制器116。
该闪存控制装置100经由若干个控制总线、数据总线以及预备/忙碌控制讯号线耦接于闪存118。在一实施例中,主控制器102例如是8051型式之芯片或是各种类型之数字讯号处理器(digital signal processor,DSP),命令模块104例如是用以储存命令的缓存器(register),地址模块106例如是用以储存相关于该数据以及命令的地址之缓存器(register),该次要控制器116例如是一快闪控制器,以允许该主控制器102控制该闪存118。内存单元114包括随机存取内存(RAM)120以及只读存储器122。
该主控制器102分别耦接于该命令模块104、地址模块106、数据缓冲器108、状态单元110、计数装置112、内存单元114,该命令模块104、地址模块106、数据缓冲器108、状态单元110、计数装置112、内存单元114分别耦接于该次要控制器116。
该主控制器102用以产生一预定值,该预定值用于表示该闪存118的若干个页面之数量。该命令模块104用以储存执行该写入程序期间的一写入命令。地址模块106用以储存一目前地址,依据该目前地址,并且经由一控总线来对若干页面之一目前页面进行寻址。数据缓冲器108用以储存一数据,当该写入命令在该闪存118中执行时,使该命令模块104依据该目前地址将该数据写入至该目前页面。状态单元110用以决定该闪存118处于一预备状态或是写入该资料至该闪存118的该目前页面之一忙碌状态。
当该命令模块104正确地将该资料写入至该目前页面时,该地址模块106产生至少一下游邻接地址,以依据该下游邻接地址以及该写入命令来对若干页面的至少一下游邻接页面进行寻址,并且该命令模块104依序地且连续地将该数据写入至该至少一下游邻接页面,以于该写入程序期间,直至若干页面完全且连续地被写入该资料。
当闪存118处于写入该资料至该目前页面之所述忙碌状态时,该状态单元110持续地监视(monitor)该闪存118,直至该闪存118处于该预备状态。当该闪存118处于该预备状态,该状态单元110经由该控制总线读取该闪存118的一写入状态。该状态单元110依据该写入状态决定该资料是否正确地写入至该闪存118。当该数据正确地写入至该闪存118时,利用该闪存控制装置100的一计数装置112,以决定该目前页面是否为最后一页面。
该目前页面不是最后一页面,将该预定值减一。该地址模块106产生该至少一下游邻接地址,以对若干页面的至少一下游邻接页面进行寻址,并且该命令模块104将该数据写入至该至少一下游邻接页面,以于该写入程序期间,直至该预定值为零。该目前页面为最后一页面,该计数装置112通知该主控制器102该写入程序已经完成。当该数据因为该目前地址形成一错误位置而无法正确地写入至该闪存118时,该次要控制器116记录该错误位置。该次要控制器116通知该主控制器102该目前地址形成该错误位置。
根据上述,在闪存118的一写入程序期间,利用闪存控制装置100经由该控制总线、数据总线以及预备/忙碌控制讯号线将数据写入至闪存118的若干个页面。亦即,闪存控制装置100在一写入程序中依序地对若干页面进行写入,以改善闪存118的写入效能。计数装置112用以计数闪存118的页面数量,使得该数据被连续地写入至该页面。该位置模块产生下游邻接地址并且独立于该主控制器102的韧体程序,该次要控制器116直接将该数据依据该预定值以及下游邻接地址写入至若干页面。
参考图1以及图2,图2为依据本发明一实施例中闪存控制装置100的写入程序之时序图。该闪存118的控制讯号包括命令栓锁致能讯号(command latchenable signal,SCLE)、芯片致能讯号(chip enable signal,/SCE)、写入致能讯号(write enable signal,/SWE)、地址致能讯号(address latch enable signal,SALE)、读取致能讯号(read enable signal,/SRE)、输入/输出(input/output signal,I/O0)讯号以及预备/忙碌讯号(ready/busy signal,R/B)。
芯片致能讯号(/SCE)表示当闪存118受到闪存控制装置100的次要控制器116的激发时,该闪存118处于致能(active)状态。例如当闪存118处于低准位时,该闪存118处于有效状态。写入致能讯号(/SWE)表示当写入致能讯号(/SWE)被激发时,例如是低准位时,该次要控制器116能够将数据写入至该闪存118。
读取致能讯号(/SRE)表示当读取致能讯号(/SRE)被激发时,例如是低准位时,该次要控制器116能够读取该闪存118内的数据。当该命令栓锁致能讯号(SCLE)被激发时,该命令在写入致能讯号(/SWE)的上升缘栓锁至命令模块104。当该地址致能讯号(SALE)被激发时,该地址在写入致能讯号(/SWE)的上升缘栓锁至命令模块104。
输入/输出(I/O0)讯号表示传输于该闪存118与该数据缓存器之间的讯号。该预备/忙碌讯号(R/B)表示该状态模块报告给该闪存控制装置100的状态讯号。
当该闪存控制装置100将数据写入至闪存118的页面,主要包括下列步骤:(1)经由快闪控制器传送写入命令至闪存118,写入命令的地址例如是0x80h;(2)将该数据的地址指定给该闪存118,且该数据的大小等于该闪存118的一页面;(3)执行该写入命令,例如是地址0x10h;(4)当数据完全写入至闪存118之后,该预备/忙碌讯号(R/B)表示该闪存118处于预备或是忙碌状态,例如是地址0x70h;以及(5)闪存控制装置100的状态单元110经由次要控制器116读取该闪存118的写入状态,依据该写入状态以决定该资料是否正确地写入至该闪存118,例如是地址I/O0。
参考图1、图2以及图3,图3为依据本发明实施例中执行具有连续写入的闪存控制装置100之流程图。该具有连续写入的闪存控制装置100之控制发法包括下列步骤:
在步骤S300中,该主控制器102产生一预定值,该预定值用于表示该闪存118的若干个页面之数量。
在步骤S302中,该命令模块104储存执行该写入程序期间的写入命令。
在步骤S304中,该地址模块106储存一目前地址,依据该目前地址,并且经由一控总线来对若干页面之目前页面进行寻址。
在步骤S306中,该数据缓冲器108储存一数据,当该写入命令在该闪存118中执行时,使该命令模块104依据该目前地址将该数据写入至该目前页面。
在步骤S308中,该命令模块104将对应于该写入命令的结束命写入至次要控制器116。
在步骤S310中,该状态单元110决定该闪存118处于预备状态或是写入该资料至该闪存118的该目前页面之忙碌状态。当闪存118处于写入该资料至该目前页面之所述忙碌状态时,回到步骤S310,并且该状态单元110持续地监视该闪存118,直至该闪存118处于该预备状态。当该闪存118处于该预备状态,回到步骤S312。在步骤S312中,该状态单元110经由该控制总线读取该闪存118的写入状态。
在步骤S314中,该状态单元110依据该写入状态决定该资料是否正确地写入至该闪存118。当该命令模块104正确地将该资料写入至该目前页面时,该地址模块106产生至少一下游邻接地址,以依据该下游邻接地址以及该写入命令来对若干页面的至少一下游邻接页面进行寻址,并且该命令模块104依序地且连续地将该数据写入至该至少一下游邻接页面,以于该写入程序期间,直至若干页面完全且连续地被写入该资料。假如步骤S314的决定为”是”,则执行步骤S316,若为”否”,则执行步骤S324。
在步骤S316中,当该数据正确地写入至该闪存118时,利用该闪存控制装置100的计数装置112,以决定该目前页面是否为最后页面。若为”否”,则执行步骤S318,若为”是”,则执行步骤S322。
在步骤S318中,该目前页面不是最后页面,将该预定值减一。继续执行步骤S320。
在步骤S320中,该地址模块106产生该至少一下游邻接地址,以对若干页面的至少一下游邻接页面进行寻址,并且该命令模块104将该数据写入至该至少一下游邻接页面,以于该写入程序期间,直至该预定值为零。
在步骤S322中,该目前页面为最后页面,该计数装置112通知该主控制器102该写入程序已经完成。
在步骤S324中,当该数据因为该目前地址形成错误位置而无法正确地写入至该闪存118时,该次要控制器116记录该错误位置。继续执行步骤S326,在步骤S326中,该次要控制器116通知该主控制器102该目前地址形成该错误位置。
Claims (20)
1.一种闪存控制装置,用以控制一闪存的一写入程序,其特征在于:该闪存控制装置包括:
主控制器,用以产生一预定值,该预定值用于表示该闪存的若干个页面之数量;
命令模块,用以储存执行该写入程序期间的一写入命令;
地址模块,耦接于该主控制器,用以储存目前地址,依据该目前地址,并且经由控总线来对若干页面之目前页面进行寻址;
数据缓冲器,耦接于该主控制器,用以储存数据,当该写入命令在该闪存中执行时,使该命令模块依据该目前地址将该数据写入至该目前页面;以及
状态单元,耦接于该主控制器,用以决定该闪存处于预备状态或是写入该资料至该闪存的该目前页面之忙碌状态;
其中当该命令模块正确地将该数据写入至该目前页面时,该地址模块产生至少一下游邻接地址,以依据该下游邻接地址以及该写入命令来对若干页面的至少一下游邻接页面进行寻址,并且该命令模块依序地且连续地将该数据写入至该至少一下游邻接页面,以于该写入程序期间,直至若干页面完全且连续地被写入该资料。
2.如权利要求1所述的闪存控制装置,其特征在于:当闪存处于写入该资料至该目前页面之所述忙碌状态时,该状态单元持续地监视该闪存,直至该闪存处于该预备状态。
3.如权利要求1所述的闪存控制装置,其特征在于:当该闪存处于该预备状态,该状态单元经由该控制总线读取该闪存的写入状态。
4.如权利要求3所述的闪存控制装置,其特征在于:该状态单元依据该写入状态决定该资料是否正确地写入至该闪存。
5.如权利要求4所述的闪存控制装置,其特征在于:当该数据正确地写入至该闪存时,该闪存控制装置还包括计数装置,耦接于该主控制器,以决定该目前页面是否为最后页面。
6.如权利要求5所述的闪存控制装置,其特征在于:该目前页面不是最后页面,将该预定值减一。
7.如权利要求6所述的闪存控制装置,其特征在于:该地址模块产生该至少一下游邻接地址,以对若干页面的至少一下游邻接页面进行寻址,并且该命令模块将该数据写入至该至少一下游邻接页面,以于该写入程序期间,直至该预定值为零。
8.如权利要求5所述的闪存控制装置,其特征在于:该目前页面为最后页面,该计数装置通知该主控制器该写入程序已经完成。
9.如权利要求4所述的闪存控制装置,其特征在于:当该数据因为该目前地址形成错误位置而无法正确地写入至该闪存时,次要控制器记录该错误位置。
10.如权利要求9所述的闪存控制装置,其特征在于:该次要控制器通知该主控制器该目前地址形成该错误位置。
11.一种控制闪存的写入程序之方法,该方法包括下列步骤:
利用主控制器产生一预定值,该预定值用于表示该闪存的若干个页面之数量;
储存执行该写入程序期间的写入命令于命令模块;
储存目前地址于地址模块,依据该目前地址,并且经由控总线来对若干页面之目前页面进行寻址;
储存数据于数据缓冲器,当该写入命令在该闪存中执行时,使该命令模块依据该目前地址将该数据写入至该目前页面;以及
利用状态单元决定该闪存处于预备状态或是写入该资料至该闪存的该目前页面之忙碌状态;
其中当该命令模块正确地将该数据写入至该目前页面时,该地址模块产生至少一下游邻接地址,以依据该下游邻接地址以及该写入命令来对若干页面的至少一下游邻接页面进行寻址,并且该命令模块依序地且连续地将该数据写入至该至少一下游邻接页面,以于该写入程序期间,直至若干页面完全且连续地被写入该资料。
12.如权利要求11所述的方法,其特征在于:当闪存处于写入该资料至该目前页面之所述忙碌状态时,还包括持续地监视该闪存,直至该闪存处于该预备状态。
13.如权利要求11所述的方法,其特征在于:当该闪存处于该预备状态,还包括经由该控制总线读取该闪存的写入状态。
14.如权利要求13所述的方法,其特征在于:还包括依据该写入状态决定该资料是否正确地写入至该闪存。
15.如权利要求14所述的方法,其特征在于:当该数据正确地写入至该闪存时,还包括利用计数装置决定该目前页面是否为最后一页面。
16.如权利要求15所述的方法,其特征在于:该目前页面不是最后页面,还包括将该预定值减一之步骤。
17.如权利要求16所述的方法,其特征在于:还包括产生该至少一下游邻接地址,以对若干页面的至少一下游邻接页面进行寻址,并且该命令模块将该数据写入至该至少一下游邻接页面,以于该写入程序期间,直至该预定值为零。
18.如权利要求15所述的方法,其特征在于:该目前页面为最后页面,还包括通知该主控制器该写入程序已经完成。
19.如权利要求14所述的方法,其特征在于:当该数据因为该目前地址形成错误位置而无法正确地写入至该闪存时,还包括利用一次要控制器记录该错误位置。
20.如权利要求19所述的方法,其特征在于:还包括利用该次要控制器通知该主控制器该目前地址形成该错误位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810149451A CN101673241A (zh) | 2008-09-10 | 2008-09-10 | 具有连续写入的闪存控制装置及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810149451A CN101673241A (zh) | 2008-09-10 | 2008-09-10 | 具有连续写入的闪存控制装置及其控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101673241A true CN101673241A (zh) | 2010-03-17 |
Family
ID=42020472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810149451A Pending CN101673241A (zh) | 2008-09-10 | 2008-09-10 | 具有连续写入的闪存控制装置及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101673241A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102768647A (zh) * | 2012-06-14 | 2012-11-07 | 记忆科技(深圳)有限公司 | 一种闪存控制器及其控制方法、闪存存储设备 |
-
2008
- 2008-09-10 CN CN200810149451A patent/CN101673241A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102768647A (zh) * | 2012-06-14 | 2012-11-07 | 记忆科技(深圳)有限公司 | 一种闪存控制器及其控制方法、闪存存储设备 |
CN102768647B (zh) * | 2012-06-14 | 2015-11-25 | 记忆科技(深圳)有限公司 | 一种闪存控制器及其控制方法、闪存存储设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110055457A1 (en) | Method for giving program commands to flash memory, and controller and storage system using the same | |
TWI512467B (zh) | 實體儲存對照表維護方法以及使用該方法的裝置 | |
CN101794256B (zh) | 非易失性存储器子系统及其存储器控制器 | |
US8301827B2 (en) | Data read method for processing a plurality of host read commands, and flash memory controller and storage system using the same | |
KR101436439B1 (ko) | 불휘발성 메모리 | |
US20080046639A1 (en) | Memory system with nonvolatile semiconductor memory | |
US8606970B2 (en) | Data writing method for non-volatile memory, and controller and storage system using the same | |
CN102063943A (zh) | Nand闪存参数自动检测系统 | |
RU2008148129A (ru) | Гибридное запоминающее устройство с единым интерфейсом | |
JP4643729B2 (ja) | インタリーブ制御装置、インタリーブ制御方法及びメモリシステム | |
US20150081953A1 (en) | Ssd (solid state drive) device | |
CN117472294B (zh) | 一种存储器及其数据处理方法 | |
CN101515221A (zh) | 一种读数据的方法、装置和系统 | |
CN104714757A (zh) | 更新装置和电子设备 | |
TW201633134A (zh) | 實體儲存對照表維護方法以及使用該方法的裝置 | |
CN101996686A (zh) | 数据储存装置及将测试数据写入存储器的方法 | |
US9152348B2 (en) | Data transmitting method, memory controller and data transmitting system | |
CN101673241A (zh) | 具有连续写入的闪存控制装置及其控制方法 | |
CN102033823B (zh) | 一种保存数据的方法及装置 | |
US20090313422A1 (en) | Flash memory control apparatus having sequential writing procedure and method thereof | |
CN100449498C (zh) | 数据储存装置 | |
TWI417889B (zh) | 快閃記憶體之寫入逾時控制方法及其記憶裝置 | |
US8166228B2 (en) | Non-volatile memory system and method for reading and storing sub-data during partially overlapping periods | |
CN101751982B (zh) | 闪存存储装置中闪存控制器与闪存芯片之间的连接方法 | |
CN201374192Y (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20100317 |