CN1498409A - 非易失性存储装置及其控制方法 - Google Patents
非易失性存储装置及其控制方法 Download PDFInfo
- Publication number
- CN1498409A CN1498409A CNA038001292A CN03800129A CN1498409A CN 1498409 A CN1498409 A CN 1498409A CN A038001292 A CNA038001292 A CN A038001292A CN 03800129 A CN03800129 A CN 03800129A CN 1498409 A CN1498409 A CN 1498409A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- data
- physical block
- page
- address
- 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
- 238000000034 method Methods 0.000 title claims description 17
- 230000015654 memory Effects 0.000 claims abstract description 120
- 230000014509 gene expression Effects 0.000 claims description 52
- 238000013507 mapping Methods 0.000 claims description 41
- 230000005540 biological transmission Effects 0.000 claims description 17
- 238000004321 preservation Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000005055 memory storage Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 abstract description 2
- 230000015572 biosynthetic process Effects 0.000 description 14
- 230000008676 import Effects 0.000 description 6
- 238000013479 data entry Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/14—Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/18—Flash erasure of all the cells in an array, sector or block simultaneously
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
存储卡(100)具有快闪存储器(120)和控制器(110),所述快闪存储器(120)具有由存储数据的多个页面构成的多个物理块(122)、及用于保存写入页面内的数据的页式寄存器(121),所述控制器(110)在改写数据时,参照表示物理块(122)内是否存储了有效数据的有效块表(114),指定无效物理块并进行擦除,而且在进行擦除的过程中传送写入到页式寄存器(121)内的数据。
Description
技术领域
本发明涉及使用半导体存储器的非易失性存储装置及其控制方法。
背景技术
近几年,用于处理音乐数据和图像数据的便携设备的存储器,开始采用具有能改写数据、携带方便、不需要电池等后援的快闪存储器(flash memory)等的非易失性存储器。
图1是表示作为现有非易失性存储装置的存储卡的构成的方框图。
存储卡300是例如连接在个人计算机和数字摄影机等主机200上来存储数据的装置,它具有控制器310和快闪存储器320。主机200使用卡控制信号和卡数据信号,与存储卡300之间进行数据的写入和读出。在主机200和存储卡300内部的控制器310之间,输出输入该卡控制信号和卡数据信号。
另一方面,在控制器310和快闪存储器320之间利用存储控制信号和存储数据信号,由控制器310向快闪存储器320内进行数据的写入和读出。而且,连接在控制器310上的快闪存储器320并非限于是一个芯片,也可以连接多个芯片。
图2是表示控制器310的构成的方框图。
控制器310具有:MPU311、页式RAM312、地址变换表313和擦除块表314。
MPU311对控制器310整体进行控制,同时对快闪存储器320的数据的擦除、写入、读出进行控制。页式RAM312是在主机200和快闪存储器320之间暂时存储数据用的易失性存储器。地址变换表313是快闪存储器320内所写入的数据的主机200所指定的地址、以及与快闪存储器320的物理地址进行变换用的表。擦除块表314是用物理地址单位来表示快闪存储器320的物理块是否已擦除或者是否已写入的表。并且,地址变换表313和擦除块表314的信息,是在刚接通电源后对快闪存储器320的全物理块的数据进行读出而制作的。
图3是表示快闪存储器320的构成的方框图。
快闪存储器320具有:页式寄存器321、存储单元阵列323、行解码器324和命令解码器325。
存储单元阵列323由快闪存储器320的一个芯片内所包含的全部存储单元来构成。该存储单元由能同时进行数据的写入和读出的单位来构成页面。并且,由多个页面来构成作为擦除单位的物理块322。页式寄存器321,其容量与存储单元的页面相同,用于保存从控制器310中输入的写入数据和从存储单元中读出的读出数据。行解码器324在数据的写入和读出时选择由控制器310指定的页面,在数据擦除时选择由控制器310指定的物理块322。命令解码器325根据存储控制信号由控制器310执行命令(指令)。
图4是表示地址变换表313、擦除块表314和快闪存储器320内部的数据的对应关系一例的模式图。
地址变换表313的地址0的数据,是与逻辑地址0相对应的物理地址,在图4(a)所示的例中,数据为“0001”,所以,表示逻辑地址0的数据被写入到快闪存储器320的物理地址1内。并且,表示与逻辑地址1相对应的物理地址的“FFFF”是无效值,它表示不存在逻辑地址1的数据。这里,所谓无效值是指表示无效的任意值,例如是固定值的“0”,或者若是16位数据,则是最大值的“65535”,或者是作为地址变换规则而被定为无效的值。并且,地址变换表313的地址2的数据为“0002”,所以,表示逻辑地址2的数据被写入到快闪存储器320的物理地址2内。
另一方面,擦除块表314表示快闪存储器320的物理块的状态。实际上,擦除块表314把快闪存储器320的物理地址相对应的值作为地址值,把该快闪存储器320的物理块是否已擦除、是否已写入作为数据值。例如,当物理块是已擦除时,取值为“1”,当其是已写入时,取值为“0”。也就是说,擦除块表314的地址0的数据表示快闪存储器320的物理地址0的物理块已擦除/已写入。在图4(a)所示的例中数据为“1”,所以,表示物理地址0的物理块是已擦除的。并且,同样因为擦除块表314的地址1和2的数据为0,所以,表示快闪存储器320的物理地址1和2的物理块是已写入的。
以下,说明按上述方法构成的现有的存储卡300的数据由主机200进行改写时的动作。图5是表示这时的写入动作的时序图,图6是表示这时的擦除动作的时序图。在图5和图6的时序图中,上排的信号是图1所示的卡控制信号和卡数据信号,表示从主机200向存储卡300内输入。中排的信号是图3所示的存储控制信号和存储数据信号,它表示从控制器310向快闪存储器320内输入。下排信号是存储控制信号,它表示从快闪存储器320向控制器310内输出。这里,在图4(a)所示的状态下,以对存储卡300的逻辑地址0的数据进行改写时为例来进行说明。
首先,主机200在时间t421时把与逻辑地址0相对应的写入命令401作为卡控制信号送入到存储卡300内,在时间t422时把写入数据作为卡数据信号开始传输。该写入数据被存入在存储卡300的控制器310的页式RAM312内。
控制器310当从主机200接收写入命令401时,对擦除块表314进行检索,寻找能进行数据写入的已擦除的物理块322。控制器310从擦除块表314中检测出物理地址0是已擦除的物理块322。
控制器310在从主机200传输数据结束时,在时间t423时发送该数据的写入地址指定命令403,向快闪存储器320发出以后输入写入地址的指示。命令解码器325对写入地址指定命令309进行解码,控制行解码器324以便取得以后输入的地址。
控制器310在时间t424向快闪存储器320发送写入地址404。行解码器324取得被输入的写入地址404,选择指定的页以便能进行数据写入。然后,命令解码器325对已取得的写入地址进行识别,控制页式寄存器321以便取得以后输入的写入数据。
然后,控制器310在时间t425开始从页式RAM312向快闪存储器320传送写入数据405。命令解码器325把被输入的写入数据存放到页式寄存器321内。
然后,控制器310在时间t427向快闪存储器320内发送写入执行命令406。
接收该命令后,命令解码器325在时间t427开始向行解码器324所选择的页的存储单元内写入保存在页式寄存器321内的数据。同时,命令解码器325向控制器310发送表示正在写入中的写入忙碌407作为存储控制信号。该写入忙碌407的期间表示不能进行新的数据的写入和读出以及擦除。这是因为正在写入时必须保持行解码器324进行写入的页面选择状态,所以命令解码器325不允许来自控制器310的命令输入。
一般,对快闪存储器320的“擦除”或“写入”的动作,按照处理标准分别完成。写入或擦除忙碌时不能写入命令(例如株式会社日立制作所的NH29W12811T的数据表)。
然后,命令解码器325在时间t428,当进行写入的页面的写入动作结束时,对存储控制信号的写入忙碌407进行解除。以后就可从控制器310进行命令输入。
然后,控制器310把从主机200传送来的数据,在进行该写入的物理块322的剩余的页面上也和上述情况一样进行写入。
如上所述,当数据的写入结束时,控制器310从地址变换表313中取得原来已写入了作为改写对象的逻辑地址0的数据的物理块。在图4(a)所示的例子中,地址变换表313的地址0的数据为“0001”,所以,物理地址1的物理块是写入了旧数据的部位。
以下,控制器310为了擦除因这次的写入而变成无效的旧数据,如图6所示,在时间t431发送对物理地址1的物理块322的擦除地址指定命令411,向快闪存储器320发出以后输入擦除地址的指示。命令解码器325对擦除地址指定命令411进行解码,对行解码器324进行控制,以便取得以后输入的地址。
然后,控制器310在时间t432向快闪存储器320发送擦除地址输入412。行解码器324取得已输入的擦除地址,选择出被指定的物理块322以便能擦除数据。
然后,控制器310在时间t433向快闪存储器320发送擦除执行命令413。
接收该命令后,命令解码器325在时间t434开始擦除由行解码器选择的物理块322。同时,命令解码器325向控制器310发送表示正在擦除的擦除忙碌414作为存储控制信号。该擦除忙碌414的期间表示和写入时一样,不能进行新的数据的写入和读出以及消失。
命令解码器325在时间t435若进行擦除的物理块322的擦除动作结束时,对存储控制信号的擦除忙碌414进行解除。
然后,控制器310的MPU311对地址变换表313和擦除块表314进行更新。图4(b)是表示从图4(a)所示的状态来改写逻辑地址0的数据的状态的模式图。
也就是说,MPU311因为进行这次写入的物理块322是地址0,所以把擦除块表314的地址0的数据切换到表示写入结束的“0”。并且,MPU311把地址变换表313的地址0的值切换到如图4(b)所示表示的这次写入的物理块322的物理地址的“0000”上。然后,MPU311因为进行这次擦除的物理块322是地址1,所以,把擦除块表314的地址1的数据切换到如图4(b)所示表示擦除结束的“1”上。
这样由主机200来对存储卡300的数据进行切换。
而且,在图5和图6中,为简化起见利用与实际时间不同的时间宽度来表示。但实际的擦除忙碌414和写入忙碌407的时间需要数ms(例如若按照株式会社日立制作所的NH29W12811T的数据表,则擦除忙碌时间为1ms,写入忙碌时间为2.5ms)。并且,写入数据405的输入需要数百μs(例如,同样根据NH29W12811T的数据表而计算出的值为周期时间120ns×2112字节=253.44μs),与其他的连1μs都不到的命令输入和地址输入相比,是很长的。
也就是说,擦除忙碌414和写入数据405的输入、以及写入忙碌407的合计时间基本上等于改写时间。
如上所述,在现有的存储卡300中改写数据时,首先,在已擦除的物理块322内进行新数据写入之后,利用该写入来对作为旧数据的物理块322进行擦除。这是因为在把原有的数据的物理块322擦除之后,若在该物理块322内进行新数据的写入,则在处理过程中发生某种异常时,例如变成为原有的数据已擦除,新数据尚未写入的状态,在从主机来看的情况下,数据发生破坏。
然而,在现有的存储卡300中改写数据的情况下,在已擦除的物理块322中进行新数据的写入的阶段,若发生某种异常,则变成例如新数据已写入,而旧数据的物理块322变成未消除的状态,从主机来看的情况下,存在的问题是存在双重数据。
并且,在上述现有的存储卡300中对数据进行改写的情况下,有一段时间,在其进行擦除的过程中,不能从控制器310向快闪存储器320内输入下一个命令,所以,改写时间增长。
再者,随着存储卡300容量的增大,地址变换表313和擦除块表314的容量也增大,所以制作这些表的控制器310的RAM的容量也增大。
因此,本发明是鉴于上述情况而提出的,其目的在于提供一种非易失性存储装置及其控制方法,能在数据改写的动作中即使发生某种异常也能取得数据的匹配性,而且能缩短数据的改写时间。
发明的内容
为了达到上述目的,涉及本发明的非易失性存储装置,其特征在于具有:非易失性的存储单元,具有由存储数据的多个页面构成的多个物理块;及控制单元,在对存储在上述存储单元中的数据进行改写时,把所写入的新数据写入到存有旧数据的物理块以外的已擦除的物理块内;上述控制单元在改写上述数据时,在无效的物理块内存储的数据被擦除之后,把上述新数据写入到该物理块的页面内。
这样,即使在改写数据的动作中发生了某种异常,也能取得数据的匹配性。
其中,上述存储单元优选具有指定部和页面保存部,所述指定部用于选择并指定上述页面之一或上述物理块之一,该页面保存部用于预先保存写入到上述页面内的数据;上述控制单元在改写上述数据时,由上述指定部来指定上述无效的物理块而进行擦除,而且,在上述擦除过程中,把进行写入的上述新数据传送到上述页面保存部内,在擦除结束之后,把上述新数据写入到该物理块内。
在此情况下,在物理块进行擦除的过程中,能把写入的新数据传送到页面保存部内,所以能缩短写入数据传送所需的时间,对存储单元进行改写。
并且,上述存储单元具备具有管理区和数据区的多个存储区;上述管理区具有与相应管理区所属的上述存储区相对应的用于对逻辑地址和物理地址进行变换的地址变换表、及表示在上述物理块内是否存储了有效数据的有效块表;上述控制单元具有用于保存上述地址变换表和上述有效块表的表保存部。
这样,控制单元所具有的表保存部不需要保存与全存储区相对应的地址变换表和有效块表,能使表保存部容量减小。
而且,本发明不仅能以这种非易失性存储装置的方式来实现,而且能分别以非易失性存储器和控制装置的方式来实现,并且,也还能以这种非易失性存储装置所具有的特征的单元作为步骤的非易失性存储装置的控制方法,或者利用使计算机装置执行这些步骤的程序的方式来实现。
附图说明
图1是表示现有非易失性存储装置、即存储卡的构成的方框图。
图2是表示现有存储卡的控制器的构成的方框图。
图3是表示现有存储卡的快闪存储器的构成的方框图。
图4是表示现有存储卡的地址变换表、擦除块表和快闪存储器内部的数据对应的一例的模式图。
图5是表示现有存储卡数据进行改写时的写入动作的时序图。
图6是表示现有存储卡数据进行改写时的擦除动作的时序图。
图7是表示涉及本发明的非易失性存储装置的一实施方式、即存储卡的构成的方框图。
图8是表示实施方式的控制器的构成的方框图。
图9是表示实施方式的快闪存储器的构成的方框图。
图10是表示实施方式的快闪存储器的存储单元阵列的内部逻辑结构一例的模式图。
图11是表示本实施方式的地址变换表、有效块表和快闪存储器内部数据对应关系一例的模式图。
图12是表示对实施方式的存储卡数据进行改写时的控制器的动作的流程图。
图13是表示对实施方式的存储卡数据进行改写时的动作的时序图。
具体实施方式
以下,参照附图详细说明本发明的实施方式。
图7是表示涉及本发明的非易失性存储装置的一实施方式的存储卡的构成的方框图。
存储卡100是一种例如与个人计算机或数字摄影机等主机200相连接进行数据存储的装置,它具有控制器110和快闪存储器120。主机200使用卡控制信号和卡数据信号,在与存储卡100之间进行数据的写入和读出。该卡控制信号和卡数据信号在主机200和存储卡100内部的控制器110之间进行输出输入。
另一方面,在控制器110和快闪存储器120之间,利用存储控制信号和存储数据信号,由控制器110来进行向快闪存储器120内的数据的写入和读出。而且,与控制器110连接的快闪存储器120并非仅限于1个芯片,也可以连接多个芯片。
图8是表示控制器110的构成的方框图。
控制器110具有:MPU111、页式RAM112、地址变换表113、和有效块表114。
MPU111对控制器110整体进行控制,而且对快闪存储器120的数据擦除、写入、读出进行控制。页式RAM112是在主机200和快闪存储器120之间临时存储数据用的易失性存储器。地址变换表113是对写入到快闪存储器120内的数据的由主机200指定的地址及快闪存储器120的物理地址进行变换的表。有效块表114是用物理地址单位来表示写入到快闪存储器120内的数据是否有效的表。
其中,所谓有效的物理块是指未写入有效数据,该物理块也可能是处于已写完或者是已擦除的状态。并且,地址变换表113和有效块表114的信息,被写入到快闪存储器120的管理区内,在刚接通电源后,或者根据状况适当地由MPU111从快闪存储器120中读出,来存入到地址变换表113和有效块表114内。并且,如果在地址变换表113和有效块表114内有更新,那么,MPU111随之在快闪存储器120的管理区内进行更新写入。
图9是表示快闪存储器120的构成的方框图。
快闪存储器120具有:页式寄存器121、存储单元阵列123、行解码器124和命令解码器125。
存储单元阵列123由快闪存储器120的1个芯片内所包含的全部存储单元来构成。该存储单元由能同时读出或写入的单位来构成页面。并且,由多个页面来构成擦除单位、即物理块122。页式寄存器121的容量与存储单元的页面相同,用于保存从控制器110输入的写入数据或从存储单元中读出的读出数据。
行解码器124在数据的写入和读出时,选择由控制器110指定的页面,在数据擦除时选择由控制器110指定的物理块122。命令解码器125执行控制器110根据存储控制信号而发出的命令(指令)。并且,命令解码器125即使在数据的擦除过程中也允许从控制器110向快闪存储器120输入命令,对命令的输入进行控制,使其也可以按照“写入数据”、“写入地址”的顺序来进行动作。
图10是表示快闪存储器120的存储单元阵列123内部的逻辑构成例的图。
存储单元按地址顺序被划分成多个区,在图10所示的例中为4个区。在各区内具有管理区和数据区。控制器110的地址变换表113和有效块表114是表示这一个区的信息的表。也就是说,在管理区内写入了各管理区所属的区所对应的地址变换表113和有效块表114。
图11是表示地址变换表113、有效块表114和快闪存储器120内部的数据的对应的一例的模式图。
地址变换表113的地址0的数据是与逻辑地址0相对应的物理地址,在图11(a)所示的例中,因为数据为“0001”,所以,表示逻辑地址0的数据被写入到快闪存储器120的物理地址1内。并且,表示与逻辑地址1相对应的物理地址的“FFFF”是无效值,表示逻辑地址1的数据不存在。这里,所谓无效值是表示无效的任意值,例如固定值的“0”,如果是16位数据则是最大值的“65535”,或者是按地址变换规则被定为无效的值。并且,地址变换表113的地址2的数据是“0002”,所以,表示逻辑地址2的数据被写入到快闪存储器120的物理地址2内。
另一方面,有效块表114表示写入到快闪存储器120内的数据的状态。实际上,有效块表114把与快闪存储器120的物理地址相对应的值作为地址值,把写入到该快闪存储器120的物理地址内的数据是有效数据还是无效数据作为数据值。例如当数据为有效时取0值,当为无效时取1值。也就是说,有效块表114的地址0的数据表示快闪存储器120的物理地址0的数据的有效/无效,在图11(a)所示的例中,因为数据是“1”,所以表示物理地址0的数据为无效。并且,同样,因为有效块表114的地址1和2的数据为“0”,所以表示快闪存储器120的物理地址1和2的数据是有效的。
以下,说明利用主机200来改写上述构成的存储卡100的数据时的动作。图12是表示这时控制器110的动作的流程图,图13同样是表示这时的动作的时序图。在图13的时序图中,上面一排信号是图7所示的卡控制信号和卡数据信号,它表示从主机200向存储卡100输入。中间一排的信号是图3所示的存储控制信号和存储数据信号,它表示从控制器110向快闪存储器120向输入。下一排信号是存储控制信号,它表示从快闪存储器120向控制器110内输出。在此,举例说明在图1(a)所示的状态下,对存储卡100的逻辑地址0的数据进行改写的情况。
首先,主机200在时间t321把对逻辑地址0的写入命令301作为卡控制信号发送到存储卡100内,在时间t322开始把写入数据作为存储卡信号进行传输。该写入数据存放到存储卡100的控制器110的页式RAM112内。
控制器110若从主机200接收到写入命令301,则检索有效块表114,寻找能写入数据的存有无效数据的物理块(S101步)。控制器110若从有效块表114中检测出物理地址0为无效的数据的物理块122,则在时间t322把对物理地址0的物理块122的擦除地址指定命令303发送到快闪存储器120内。该擦除地址指定命令303表示以后输入擦除地址。命令解码器125对擦除地址指定命令303进行解码,对行解码器124进行控制,以便取得以后输入的地址。
其次,控制器110在时间t323把擦除地址输入304发送给快闪存储器120。行解码器124取得已输入的擦除地址,选择出已指定的物理块122,以便能擦除数据。
然后,控制器110在时间t324把擦除执行命令305发送到快闪存储器120内(S102步)。
对其接收后,由命令解码器125在时间t325开始擦除行解码器124所选择的物理块122。同时,由命令解码器125把表示正在擦除的擦除忙碌306作为存储控制信号发送给控制器110。在该擦除忙碌306期间,行解码器124必须保持被擦除的物理块122的选择状态,所以,对需要由行解码器124选择的物理块122不能进行新数据的写入、读出和擦除。
当从主机200的数据传输结束时,不管是否从快闪存储器中输出擦除忙碌306作为存储控制信号,控制器110都要在时间t326向快闪存储器120内发送写入数据输入命令307。向快闪存储器指示以后输入写入数据。命令解码器125对写入数据输入命令307进行解码,对页式寄存器121进行控制,以便取得以后输入的写入数据。
然后,控制器110在时间t327开始从页式RAM112向快闪存储器120传送写入数据308(S103步)。命令解码器125把输入的写入数据存入到页式寄存器121内。这时被传送的数据是对当时进行擦除的物理块122内所包含的页面的写入数据。而且,这时,快闪存储器120正在进行擦除动作,没有使用页式寄存器121,所以,可以存入写入数据。
在时间t进行擦除的物理块122的擦除动作结束时,命令解码器125解除存储控制信号的擦除忙碌306。以后,行解码器124能更改选择的物理块122或页面。
当结束从页式RAM112中向快闪存储器120的写入数据的传送,而且解除从快闪存储器120来的擦除忙碌306(S104、S105步)时,控制器110在时间t328向页式寄存器121发送已传送数据的写入地址指定命令309,向快闪存储器120指示以后将输入写入地址。命令解码器125对写入地址指定命令309进行解码,对行解码器124进行控制,以便取得以后输入的地址。
控制器110在时间t329向快闪存储器120发送写入地址310。行解码器124取得已输入的写入地址,选择出指定的页面,以便进行数据的写入。在此,指定的页面是刚才结束了数据擦除的物理块内所包含的页面。
下面,由控制器110在时间t330向快闪存储器120发送写入执行命令311(S106步)。
将其接收后,命令解码器125在时间t331开始在由行解码器124选择的页面的存储单元内写入在页式寄存器121内保存的数据。同时,命令解码器125向控制器110发送表示正在写入的写入忙碌312作为存储控制信号。在该写入忙碌312期间,行解码器124选择进行写入的页面,与擦除忙碌306期间一样,在需要行解码器124选择的物理块122内,不能进行新的数据的写入和读出以及擦除。
命令解码器125在时间t332若结束在进行写入的页面上的写入动作,则将解除存储控制信号的写入忙碌312。
然后,控制器110在已进行了擦除的物理块122的剩余页面上也和上述情况一样写入由主机200传送来的数据。
然后,控制器110的MPU111对地址变换表113和有效块表114进行更新(S107步)。图11(b)是从图11(a)所示的状态来对逻辑地址0的数据进行改写的状态的模式图。
也就是说,MPU111根据地址变换表113这次进行改写的逻辑地址0所对应的数据如图11(a)所示为“0001”,所以,对应的有效块表114的地址1的数据如图11(b)所示改写成表示无效数据的“1”。并且,MPU111把地址变换表113的地址0的值,如图11(b)所示改写成表示这次写入的物理块122的物理地址的“0000”。并且,MPU111把有效块表114的地址0的数据,如图11(b)所示,改写成表示有效数据的“0”。
最后,MPU111这样把已更新的地址变换表113和有效块表114更新写入到快闪存储器120的管理区内。
这样,由主机200来对存储卡100的数据进行改写。而且,在该改写中,被改写的逻辑地址0的旧数据作为无效数据而存到快闪存储器120内,在伴随着下次改写别的数据而向存储该旧数据的物理块122内进行写入之前并不擦除。
像以上那样在存储卡100内改写数据的情况下,首先,对存储无效数据的物理块122进行擦除,然后在该已进行擦除的物理块122内进行新数据的写入。这样,在擦除忙碌306中,能从页式RAM112向快闪存储器120的页式寄存器121内传输写入数据308。所以,能缩短写入数据传输所需的时间,迅速向快闪存储器120内写入。
并且,在数据改写动作中,发生某种异常也能取得数据的匹配性。
再者,如上所述,把存储单元阵列123从逻辑上划分成多个区域,把与该区相对应的地址变换表113和有效块表114分别写入到各个区的管理区内。所以,能减小写入这些表的控制器110的RAM的地址变换表113和有效块表114的容量。
而且,在本实施方式中,控制器110在结束从主机200的数据传输后向快闪存储器120发送写入数据输入命令307。但并非仅限于此。例如,控制器110也可以在擦除执行命令305之后结束从主机200传输数据之前,发送写入数据输入命令307。在此情况下,控制器110在结束从主机200传输数据之后从页式RAM112向快闪存储器120传输写入数据308。
并且,在本实施方式中说明了这样一种控制方法,利用命令解码器125进行控制,使得即使按照“写入数据”、“写入地址”的顺序进行输入也能动作。但并非仅限于此。例如在快闪存储器120中新设置地址寄存器,把擦除忙碌306中所输入的写入地址保存在地址寄存器内,在进行写入前把写入地址从地址寄存器转移到行解码器124内,这样,也能按照“写入地址”、“写入数据”的顺序进行输入。
从以上的说明中可以看出,若采用涉及本发明的非易失性存储装置,则在改写存储装置内所存储的数据时欲写入的新数据,要在存储旧数据的物理块以外的别的无效物理块内所存储的数据被擦除之后,在已进行擦除的物理块的页面上写入新数据,所以在数据的改写动作中,即使发生某种异常也能取得数据的匹配性。
并且,在进行物理块的擦除的时间内,并行地把下次执行的写入数据传送到存储装置内,这样能缩短数据改写所花费的时间。因此,能提高非易失性存储装置的方便性,进一步提高用户的方便性。
于是,本发明能提高非易失性存储装置的方便性,在使用非易失性存储装置的便携设备广泛普及的今天,其实用价值很高。
产业上利用的可能性
如以上那样,涉及本发明的非易失性存储装置,适合用作处理音乐数据和图像数据的例如数字摄影机和移动电话等便携设备的存储数据的存储装置。
Claims (11)
1、一种非易失性存储装置,其特征在于,具有:
非易失性的存储单元,具有由存储数据的多个页面构成的多个物理块;及
控制单元,在对存储在上述存储单元中的数据进行改写时,把所写入的新数据写入到存有旧数据的物理块以外的已擦除的物理块内;
上述控制单元在改写上述数据时,在无效的物理块内存储的数据被擦除之后,把上述新数据写入到该物理块的页面内。
2、如权利要求1所述的非易失性存储装置,其特征在于:
上述存储单元具有指定部和页面保存部,所述指定部用于选择并指定上述页面之一或上述物理块之一,该页面保存部用于预先保存写入到上述页面内的数据;
上述控制单元在改写上述数据时,由上述指定部来指定上述无效的物理块而进行擦除,而且,在上述擦除过程中,把进行写入的上述新数据传送到上述页面保存部内,在擦除结束之后,把上述新数据写入到该物理块内。
3、如权利要求2所述的非易失性存储装置,其特征在于:
上述控制单元在写入上述数据时,把进行写入的上述新数据传送到上述页面保存部内之后,把用于指定写入上述新数据的页面的地址传送到上述指定部内,把上述新数据写入到由上述指定部选择的上述页面内。
4、如权利要求1所述的非易失性存储装置,其特征在于:
上述存储单元具备具有管理区和数据区的多个存储区;
上述管理区具有与相应管理区所属的上述存储区相对应的用于对逻辑地址和物理地址进行变换的地址变换表、及表示在上述物理块内是否存储了有效数据的有效块表;
上述控制单元具有用于保存上述地址变换表和上述有效块表的表保存部。
5、如权利要求4所述的非易失性存储装置,其特征在于:
上述控制单元根据需要,把与各个上述存储区相对应的上述地址变换表和上述有效块表从上述存储单元中读出,以保存到上述表保存部内,
而且,在改写上述数据时,参照上述有效块表来确定无效物理块,当上述数据的改写结束时,对上述地址变换表和上述有效块表进行更新以便反映上述数据改写,
把更新后的上述地址变换表和上述有效块表分别写入到对应的上述管理区内。
6、一种非易失性存储器,其特征在于具有:
多个物理块,由存储数据的非易失性的多个页面构成;
指定单元,用于选择并指定上述页面之一或上述物理块之一;及
页面保存部,用于预先保存写入上述页面内的数据;
上述页面保存单元在上述指定单元所指定的上述物理块进行擦除的过程中,接收写入上述页面内的数据的传送。
7、一种控制装置,对具有由存储数据的非易失性的多个页面构成多个物理块的非易失性存储器进行控制,其特征在于,具有:
控制单元,在对存储在上述存储装置中的数据进行改写时,把写入的新数据写入到存有旧数据的物理块以外的已擦除的物理块内,
上述控制单元在改写上述数据时,在无效的物理块内所存储的数据被擦除之后,把上述新数据写入到该物理块的页面内。
8、如权利要求7所述的控制装置,其特征在于:
上述控制装置还具有表保存单元,该表保存单元对用于对逻辑地址和物理地址进行变换的地址变换表、及表示上述物理块中是否存储了有效数据的有效块表进行保存,
上述控制单元在改写上述数据时,参照上述有效块表来确定无效物理块,当上述数据的改写结束时,对上述地址变换表和上述有效块表进行更新,以便反映上述数据的改写。
9、一种非易失性存储装置的控制方法,其特征在于,
包括控制步骤,在对具有由存储数据的多个页面构成的多个物理块的非易失性的存储器单元中所存储的数据进行改写时,把写入的新数据写入到存有旧数据的物理块以外的已擦除的物理块内,
在上述控制步骤,改写上述数据时,在无效的物理块内所存储的数据被擦除之后,把上述新数据写入到该物理块的页面内。
10、权利要求9所述的非易失性存储装置的控制方法,其特征在于,还包括表保存步骤,对用于变换逻辑地址和物理地址的地址变换表、及表示上述物理块中是否存储了有效数据的有效块表进行保存,
上述控制步骤包括确定步骤和更新步骤,该确定步骤在改写上述数据时,参照上述有效块表来确定无效物理块,该更新步骤在上述数据的改写结束时,对上述地址变换表和上述有效块表进行更新,以便反映上述数据改写。
11、一种程序,用于改写非易失性存储器中所存储的数据,该非易失性存储器具有由存储数据的非易失性的多个页面构成的多个物理块,其特征在于:
使计算机执行控制步骤,该控制步骤将写入的新数据写入到存有旧数据的物理块以外的已擦除的物理块内,
在上述控制步骤中,当改写上述数据时,对无效物理块中存储的数据进行擦除,然后在该物理块的页面内写入上述新数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP032081/2002 | 2002-02-08 | ||
JP2002032081A JP2003233993A (ja) | 2002-02-08 | 2002-02-08 | 不揮発性記憶装置の書き換え方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1498409A true CN1498409A (zh) | 2004-05-19 |
CN100428363C CN100428363C (zh) | 2008-10-22 |
Family
ID=27677954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038001292A Expired - Lifetime CN100428363C (zh) | 2002-02-08 | 2003-02-07 | 非易失性存储装置及其控制方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6944060B2 (zh) |
EP (1) | EP1473737A4 (zh) |
JP (1) | JP2003233993A (zh) |
KR (1) | KR100921282B1 (zh) |
CN (1) | CN100428363C (zh) |
CA (1) | CA2474739A1 (zh) |
TW (1) | TWI271622B (zh) |
WO (1) | WO2003067605A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100407336C (zh) * | 2005-11-22 | 2008-07-30 | 武汉国光通信有限公司 | 一种嵌入式系统中非易失性存储器的数据存取方法 |
CN100454193C (zh) * | 2004-12-09 | 2009-01-21 | 发那科株式会社 | 数值控制装置 |
WO2010063229A1 (zh) * | 2008-12-01 | 2010-06-10 | 成都市华为赛门铁克科技有限公司 | 存储设备操作的方法、控制器及通信系统 |
US7924611B2 (en) | 2005-07-19 | 2011-04-12 | Hynix Semiconductor Inc. | Page buffer circuit with reduced size and methods for reading and programming data with the same |
CN101782877B (zh) * | 2009-01-16 | 2012-07-04 | 慧帝科技(深圳)有限公司 | 控制周边装置的控制装置、非挥发性储存元件及相关方法 |
CN101346702B (zh) * | 2005-12-21 | 2012-09-05 | Nxp股份有限公司 | 具有可块擦除单元的存储器 |
CN101571832B (zh) * | 2008-04-29 | 2013-07-17 | 群联电子股份有限公司 | 数据写入方法及使用该方法的快闪存储系统与其控制器 |
US8838875B2 (en) | 2007-02-13 | 2014-09-16 | Samsung Electronics Co., Ltd. | Systems, methods and computer program products for operating a data processing system in which a file delete command is sent to an external storage device for invalidating data thereon |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050204115A1 (en) * | 2004-01-30 | 2005-09-15 | Kiminori Matsuno | Semiconductor memory device, memory controller and data recording method |
US7206230B2 (en) | 2005-04-01 | 2007-04-17 | Sandisk Corporation | Use of data latches in cache operations of non-volatile memories |
JP4751163B2 (ja) * | 2005-09-29 | 2011-08-17 | 株式会社東芝 | メモリシステム |
WO2007131059A2 (en) * | 2006-05-05 | 2007-11-15 | Sandisk Corporation | Non-volatile memory with background data latch caching during erase operations and methods therefor |
TWI427637B (zh) * | 2006-05-05 | 2014-02-21 | Sandisk Technologies Inc | 在程式執行期間具有背景資料鎖存快取的非揮發性記憶體及方法 |
WO2007130976A2 (en) * | 2006-05-05 | 2007-11-15 | Sandisk Corporation | Non-volatile memory with background data latch caching during program operations and methods therefor |
KR100754226B1 (ko) * | 2006-08-22 | 2007-09-03 | 삼성전자주식회사 | 비휘발성 데이터 저장장치의 프로그래밍 방법 및 그 장치 |
US7814263B2 (en) * | 2006-10-26 | 2010-10-12 | Sandisk Il Ltd. | Erase history-based flash writing method |
US8843691B2 (en) | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
KR101466585B1 (ko) | 2008-07-10 | 2014-11-28 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 관리 방법 |
JP2010129106A (ja) * | 2008-11-25 | 2010-06-10 | Samsung Electronics Co Ltd | 不揮発性半導体記憶装置 |
JP4551958B2 (ja) * | 2008-12-22 | 2010-09-29 | 株式会社東芝 | 半導体記憶装置および半導体記憶装置の制御方法 |
KR20100115583A (ko) * | 2009-04-20 | 2010-10-28 | 삼성전자주식회사 | 데이터 저장 시스템 |
EP2306416A1 (en) | 2009-09-25 | 2011-04-06 | Incard SA | Improved method for pre-personalizing an IC Card |
CN102541777B (zh) * | 2010-12-13 | 2015-08-19 | 深圳市硅格半导体有限公司 | 基于DMA映射的Flash数据传输控制方法及装置 |
CN103680610A (zh) * | 2012-09-03 | 2014-03-26 | 北京兆易创新科技股份有限公司 | 差分存储NAND Flash存储器写操作的方法及装置 |
KR101932920B1 (ko) | 2012-09-14 | 2019-03-18 | 삼성전자 주식회사 | 비휘발성 메모리 카드를 제어하는 호스트, 이를 포함하는 시스템 및 이의 동작 방법 |
KR102254392B1 (ko) | 2014-05-12 | 2021-05-25 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템 |
TWI539282B (zh) | 2014-10-13 | 2016-06-21 | 慧榮科技股份有限公司 | 非揮發性儲存裝置與控制器 |
US10854299B2 (en) | 2018-05-31 | 2020-12-01 | Micron Technology, Inc. | Data erase operations for a memory system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3105092B2 (ja) * | 1992-10-06 | 2000-10-30 | 株式会社東芝 | 半導体メモリ装置 |
US6078520A (en) * | 1993-04-08 | 2000-06-20 | Hitachi, Ltd. | Flash memory control method and information processing system therewith |
JPH07219720A (ja) | 1993-10-01 | 1995-08-18 | Hitachi Maxell Ltd | 半導体メモリ装置ならびにその制御方法 |
JPH07153284A (ja) | 1993-11-29 | 1995-06-16 | Nec Corp | 不揮発性半導体記憶装置及びその制御方法 |
US5438549A (en) * | 1994-02-28 | 1995-08-01 | Intel Corporation | Nonvolatile memory with volatile memory buffer and a backup power supply system |
US6418506B1 (en) * | 1996-12-31 | 2002-07-09 | Intel Corporation | Integrated circuit memory and method for transferring data using a volatile memory to buffer data for a nonvolatile memory array |
JPH113270A (ja) | 1997-06-10 | 1999-01-06 | Hitachi Ltd | フラッシュメモリ装置およびフラッシュメモリへのデータ書き込み方法 |
JPH113287A (ja) | 1997-06-12 | 1999-01-06 | Hitachi Ltd | 記憶装置およびそれに用いられる記憶領域管理方法 |
JP3550293B2 (ja) | 1997-12-26 | 2004-08-04 | 株式会社ルネサステクノロジ | 不揮発性メモリを用いた高速書換可能な記憶装置および該記憶装置のデータ書換方法 |
JP3421581B2 (ja) * | 1998-06-29 | 2003-06-30 | 株式会社日立製作所 | 不揮発性半導体メモリを用いた記憶装置 |
MY122279A (en) * | 1999-03-03 | 2006-04-29 | Sony Corp | Nonvolatile memory and nonvolatile memory reproducing apparatus |
KR100618298B1 (ko) * | 1999-07-28 | 2006-09-01 | 소니 가부시끼 가이샤 | 기록 시스템, 데이터 기록 장치, 메모리 장치 및 데이터기록 방법 |
US6678203B1 (en) * | 1999-08-27 | 2004-01-13 | Sony Corporation | Editing apparatus, editing method, and non-volatile memory |
-
2002
- 2002-02-08 JP JP2002032081A patent/JP2003233993A/ja active Pending
-
2003
- 2003-02-07 CA CA002474739A patent/CA2474739A1/en not_active Abandoned
- 2003-02-07 EP EP03703249A patent/EP1473737A4/en not_active Withdrawn
- 2003-02-07 CN CNB038001292A patent/CN100428363C/zh not_active Expired - Lifetime
- 2003-02-07 TW TW092102585A patent/TWI271622B/zh not_active IP Right Cessation
- 2003-02-07 KR KR1020037012161A patent/KR100921282B1/ko active IP Right Grant
- 2003-02-07 US US10/493,383 patent/US6944060B2/en not_active Expired - Lifetime
- 2003-02-07 WO PCT/JP2003/001289 patent/WO2003067605A1/ja active Application Filing
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100454193C (zh) * | 2004-12-09 | 2009-01-21 | 发那科株式会社 | 数值控制装置 |
US7924611B2 (en) | 2005-07-19 | 2011-04-12 | Hynix Semiconductor Inc. | Page buffer circuit with reduced size and methods for reading and programming data with the same |
US8125828B2 (en) | 2005-07-19 | 2012-02-28 | Hynix Semiconductor Inc. | Page buffer circuit with reduced size and methods for reading and programming data with the same |
CN100407336C (zh) * | 2005-11-22 | 2008-07-30 | 武汉国光通信有限公司 | 一种嵌入式系统中非易失性存储器的数据存取方法 |
CN101346702B (zh) * | 2005-12-21 | 2012-09-05 | Nxp股份有限公司 | 具有可块擦除单元的存储器 |
US8838875B2 (en) | 2007-02-13 | 2014-09-16 | Samsung Electronics Co., Ltd. | Systems, methods and computer program products for operating a data processing system in which a file delete command is sent to an external storage device for invalidating data thereon |
CN101354715B (zh) * | 2007-02-13 | 2016-04-20 | 三星电子株式会社 | 用于操作数据处理系统的系统、方法和计算机程序产品 |
CN101571832B (zh) * | 2008-04-29 | 2013-07-17 | 群联电子股份有限公司 | 数据写入方法及使用该方法的快闪存储系统与其控制器 |
WO2010063229A1 (zh) * | 2008-12-01 | 2010-06-10 | 成都市华为赛门铁克科技有限公司 | 存储设备操作的方法、控制器及通信系统 |
CN101782877B (zh) * | 2009-01-16 | 2012-07-04 | 慧帝科技(深圳)有限公司 | 控制周边装置的控制装置、非挥发性储存元件及相关方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20040086500A (ko) | 2004-10-11 |
TWI271622B (en) | 2007-01-21 |
EP1473737A1 (en) | 2004-11-03 |
EP1473737A4 (en) | 2006-07-19 |
CA2474739A1 (en) | 2003-08-14 |
KR100921282B1 (ko) | 2009-10-09 |
JP2003233993A (ja) | 2003-08-22 |
CN100428363C (zh) | 2008-10-22 |
US6944060B2 (en) | 2005-09-13 |
TW200303462A (en) | 2003-09-01 |
US20040246779A1 (en) | 2004-12-09 |
WO2003067605A1 (fr) | 2003-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1498409A (zh) | 非易失性存储装置及其控制方法 | |
CN1282089C (zh) | 控制串行快闪存储器中适当执行的装置和方法及相应芯片 | |
CN1129848C (zh) | 对非易失性存储器中的文件进行连续重写的方法 | |
US7580315B2 (en) | Card controlling semiconductor memory including memory cell having charge accumulation layer and control gate | |
EP1729304B1 (en) | Space management for managing high capacity nonvolatile memory | |
CN1662993A (zh) | 用于流水线存储器的有效读取/写入方法 | |
EP2256637A1 (en) | On-chip data grouping and alignment | |
US20060129750A1 (en) | Method and apparatus for storing multimedia data in nonvolatile storage device in units of blocks | |
CN1677565A (zh) | 进行高速缓存读取的方法和器件 | |
CN1426557A (zh) | 对快速存储器的数据记录装置和数据写入方法 | |
KR20110132584A (ko) | 멀티-레벨 로우 디코딩을 이용하는 낸드 플래시 아키텍처 | |
CN1677571A (zh) | 非易失性存储设备 | |
EP0973097A1 (en) | Memory and access method | |
CN1992082A (zh) | 用于存储多值数据的非易失性半导体存储器 | |
US9454475B2 (en) | Control device, storage device, and data writing method | |
CN1319205A (zh) | 记录系统、数据记录设备、存储设备和数据记录方法 | |
CN1241786A (zh) | 数据存储器、数据处理系统和方法 | |
CN1119810C (zh) | 多比特单元的数据检测设备及方法 | |
CN1214326C (zh) | 非易失性存储装置及其控制方法 | |
KR20020092261A (ko) | 멀티-플레인 구조의 플래시 메모리 관리 방법 | |
CN1109348C (zh) | 非易失性半导体存储器装置 | |
TWI631565B (zh) | 快閃記憶體之廢料收集方法以及使用該方法的裝置 | |
CN1574096A (zh) | 半导体存储器 | |
JP2005266888A (ja) | 不揮発性記憶装置の初期化方法 | |
CN1932780A (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 | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20081022 |