CN1435758A - 存储装置、数据处理方法以及数据处理程序 - Google Patents

存储装置、数据处理方法以及数据处理程序 Download PDF

Info

Publication number
CN1435758A
CN1435758A CN03103553A CN03103553A CN1435758A CN 1435758 A CN1435758 A CN 1435758A CN 03103553 A CN03103553 A CN 03103553A CN 03103553 A CN03103553 A CN 03103553A CN 1435758 A CN1435758 A CN 1435758A
Authority
CN
China
Prior art keywords
data
nonvolatile memory
write
memory
data line
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
Application number
CN03103553A
Other languages
English (en)
Inventor
外山昌之
関部勉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1435758A publication Critical patent/CN1435758A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

提供一种存储装置,在该存储装置中回避即使在非易失性存储器之间传送数据,也会产生起因于在所传送的数据中或者有错误,或者产生程序错误的非易失性存储器的性质的问题。错误修正符号处理设备根据对于从非易失性存储器读出到用于传送的数据线的数据的错误修正符号进行该数据错误的检测。当在非易失性存储器之间数据被传送的场合,并当在该数据中检测出可修正的错误时,写入设备将该错误被修正的数据写入传送目的地的非易失性存储器中。因此,当在非易失性存储器之间传送数据时,能回避有错误的数据被写入。

Description

存储装置、数据处理方法以及数据处理程序
技术领域
本发明涉及使共用数据线的多个非易失性存储器独立并且可控制地被设置的存储装置、以及该存储装置的数据处理方法和程序。
背景技术
使用快速存储器等的非易失性存储器的存储装置可以进行数据的重写,不需要电池等的后备。由于它的携带方便,近几年来,已经在处理音乐和图象数据等便携式设备的存储装置中广泛地被使用。许多数码摄像机和放音机、PDA不仅内装快速存储器,而且还具备安装SD卡等装卸型的存储卡的插槽,该插槽用于设备之间的数据交换和快速存储器的容量选择。随着应用范围的扩大,对快速存储器的大容量化和存取高速化的要求日益强烈。
使快速存储器的存取速度下降的要因之一有卷入退避处理。快速存储器若有数据写入请求,则确认在作为数据写入单位的物理页面中的、对应于有该请求的逻辑地址的物理页面中是否包含数据。由于在快速存储器中不能上写,因此当在对应于该逻辑地址的物理页面上已经包含数据的场合,将数据写入在作为擦除单位的物理块中的、包含该物理页面的物理块以外的可写入的块中。于是,旧的数据和新的数据同时存在,因此旧的数据被擦除。在块包含多个页面的场合,数据被擦除的并不只是在所提供的逻辑地址要求写入的物理页面。在大容量的快速存储器中,很有必要一个块包含多个页面。在这种场合,写入包含在与要求写入的页面相同的块中的其它页面中的数据也被擦除。卷入退避处理是在擦除之前使这样的数据退避的处理。
通常,在卷入退避处理中,读出被写入包含要求写入的页面的块的写入所要求页面以外的页面的数据,被读出的数据暂且退避到缓冲器等中。包含要求写入的页面的块的数据在该退避之后被擦除。从外部的数据输入装置输入的数据和退避到缓冲器等中的数据写入被擦除的块的页面中。通过这样的卷入退避处理,使位于与要求写入的页面相同的块中的没有要求写入的页面的数据被保护。
若进行这样的卷入退避处理,将使写入速度下降。为此,在特开平11-203885号公报中记载的存储装置中,使写入包含要求写入的页面的块的写入所要求的页面以外的页面中的数据不退避到缓冲器中。
该存储装置具备多个半导体存储器,从外部数据输入装置输入的数据和被读出用于退避的数据被写入与具有包含要求写入的页面的块的半导体存储器不同的半导体存储器的擦除完的块中。
但是,在快速存储器中,在读出时,在数据中产生错误的可能性不能轻视。为此,如所述公报中记载的那样,若在快速存储器之间传送数据,那么恐怕不限于卷入退避处理,有错误的数据也会被写入。
另外,在写入时往往会产生程序错误。当在快速存储器之间传送数据的场合,若在写入时产生程序错误,那么就会从快速存储器中读出数据后改正。在快速存储器中,伴随着读出改正,电力消耗大,所需的时间也长。
另外,当在快速存储器之间使数据移动的场合,若在移动源的数据被擦除之前电源掉电,在电源在再接通后,不能区别位于某个快速存储器中的数据是否是新的数据。
这样,为避免存取速度下降,即使在非易失性存储器之间传送数据,在传送中也会同时产生起因于非易失性存储器的性质的问题。
发明内容
本发明就是鉴于在这样的现有的技术中的课题而形成的,其目的在于,它提供能解决伴随在非易失性存储器之间的数据传送而产生的问题的存储装置。
为达到上述的目的,本发明采用以下设备。
在本发明的存储装置中,共用数据线的多个非易失性存储器是独立并且可控制地被设置。在该存储装置中,错误修正符号处理生成附加在数据上并相对于写入非易失性存储器中的该数据的错误修正符号。另外,错误修正符号处理设备根据对于从非易失性存储器读出到数据线路的数据的错误修正符号,对该数据的错误进行检测或对错误进行检测和修正。
写入设备在将从非易失性存储器读出到数据线路中的数据写入与该非易失性存储器不同的非易失性存储器的场合,当在该数据中检测出可修正的错误时,写入该错误被修正的数据。
由此可见,即使在读出的数据中有错误,也要照没有检测出错那样,回避写入该数据。
此外,若存储装置具备暂时保持数据的缓冲器,那么,错误修正符号处理设备当在数据中检测出有可修正的错误的场合,能够修正从数据线保持在缓冲器中的数据的错误。写入设备也可以写入保持在缓冲器中的数据。
由此可见,为了修正错误,没有必要对非易失性存储器进行存取。
另外,管理信息处理设备生成附加在数据上并用于管理被写入的该数据的管理信息。管理信息不仅对于被输入的数据,而且对于从非易失性失性存储器读出到数据线上并被写入到与该非易失性存储器不同的非易失性存储器中的数据也被生成。
写入设备将被生成的管理信息附加在数据上后将该数据写入非易失性存储器中。
由此可见,当在非易失性存储器之间移动数据的场合,即使假定在移动源的数据被擦除之前掉电,在电源再接通后也能够区别新旧数据。
另外,存储装置若具备缓冲器,那么写入设备在产生从非易失性存储器读出到数据线路上并传送到与该非易失性存储器不同的非易失性存储器中的数据的程序错误的场合,能够使用从数据线保持在缓冲器中的数据。有关被保持在缓冲器中的数据,写入设备可以写入该数据。
因此,关于被保持在缓冲器中的数据,没有必要从非易失性存储器读出并修改,其结果,能抑制电力消耗,还缩短读出数据的时间。
在存储装置中,还能将上述的错误修正符号处理设备、管理信息设备和缓冲器组合在写入设备中。
在这种场合,管理信息处理设备当在数据中检测出不可修正的错误时,将表示在数据中检测出不可修正的错误的不可修正错误检测信息包含在附加在该数据上的管理信息中。
因此,能够容易判别在数据中是否有不可修正的错误。
此处,非易失性存储器,例如是作为数据擦除单位的块包含多个作为数据的写入单位的页面的快速存储器。块选择设备在该块的数据擦除前写入块的页面的数据被退避的场合,从与具有数据被擦除的块的快速存储器不同的快速存储器的可写入的块中间选择包含被退避的数据被写入的页面的块。
被退避的数据也与读出到数据线中的数据同时被写入与该数据被写入的非易失性存储器不同的非易失性存储器中。由于各非易失性存储器是独立的并且是可控制的,因此,用直接存取方式进行高速的卷入退避处理是可能的,而且如上述那样还解决起因于非易失性存储器的问题。
从另一观点来看,本发明提供存储装置的数据处理方法。
在该数据处理方法中,在从非易失性存储器读出到数据线的数据被写入与该非易失性存储器不同的非易失性存储器中的场合,进行该数据的错误的检测。当在该数据中检测出可修正的错误时,写入该错误被修正的数据。
另外,在从非易失性存储器读出到数据线上的数据被写入与该非易失性存储器不同的非易失性存储器中的场合,对于该数据,生成用于管理数据的管理信息,还能够将附加所生成的管理信息后将该数据写入非易失性存储器。
另外,在将从非易失性存储器读出到数据线上的数据传送到与该非易失性存储器不同的非易失性存储器中,并产生被传送的数据的程序错误的场合,也能够将从数据线上保持在缓冲器中的数据写入与该数据被传送的非易失性存储器不同的非易失性存储器中。
此外,从其它的观点来看,本发明提供在计算机中实行上述那样的数据处理方法的程序。该程序通常被装入存储装置中,或者在外部的数据输入输出装置上工作,但也能够将该程序存储在CD-ROM等计算机能读取的记录媒体中供给市场,也能够通过英特网等电通信电路供给市场。
附图说明
图1是表示在实施形态中的存储装置的概略构成的图。
图2是用来说明实施形态中的存储装置的卷入退避处理的时序图。
图3是在卷入退避处理中进行错误修正处理的场合的时序图。
图4是在卷入退避处理中更新管理信息的场合的时序图。
图5是在卷入退避处理中从缓冲器读出数据的场合的时序图。
图6是用来说明实施形态中的存储装置的数据处理方法的流程图。
具体实施方式
以下,参照附图说明关于本发明的实施形态。
如图所示那样,本实施形态中的存储装置1经由外部的数据输入输出装置101,例如数据线和地址线被连接。数据经由数据线102在存储装置和数据输入输出装置101之间输入输出。在地址线103中,赋予从数据输入输出装置101输入到存储装置1的数据DIN被写入的逻辑地址AIN和用来从存储装置1输出到数据输入输出装置101的数据读出的逻辑地址。
在存储装置1中,设置了多个快速存储器21、22以及控制器23。
图1只示出2个快速存储器21、22。快速存储器的个数不受此限制。
对快速存储器21、22的数据写入以页面为单位进行。页面的大小例如是528字节。页面的528字节内,假定将从1字节到512字节的512字节部分的区域分配给用于存储数据的数据区域。
数据的擦除以物理块为单位进行。各快速存储器21、22具备多个物理快8、9。各物理块8、9包含多个页面,例如由32个页面构成,但为说明方便,假定物理块8由3个页面81、82、83构成,物理块9由3个页面91、92、93构成。
在图1的例子中,各快速存储器21、22通过独立的控制线CL21、CL22和共用数据线DL与控制器3连接。
用于向快速存储器21、22的数据写入,以及从快速存储器21、22的数据读出的传送与控制线CL21、CL22的写入同步周期WE21、WE22,以及读出同步周期RE21、RE22同步进行。该周期能够将写入周期同步信号WE21、WE22,以及读出同步信号RE21、RE22的上升沿作为基准。忙碌信号BUSY21、BUSY22也被提供给控制线CL21、CL22。忙碌信号BUS21、BUSY22表示快速存储器21、22是在程序中。
数据线DL不仅在数据的传送中,也可以在地址、命令和状态的传送中使用。若数据线DL的比特宽度是8比特,那么数据等的传送就以8比特、即1字节单位进行。在这种场合,为了传送1页面,即528字节的数据,结果在读出同步信号RE21、RE22或写入同步周期信号WE21、WE22中上升沿形成528次。
数据线DL通过快速存储器21、22共用。另外,在各快速存储器21、22中使用独立的控制线CL21、CL22,控制器3分别控制各快速存储器21、22。为此,控制器3也可以进行这样的控制,即,在将数据从一方的快速存储器读出到数据线DL的同时,将读出到数据线DL中的数据写入另一方的快速存储器中。
从数据输入输出装置101输入到存储装置1的数据DIN和逻辑地址AIN给予控制器3。
在控制器3中,地址变换设备7生成使被输入的逻辑地址AIN和写入被输入的数据DIN的物理块的地址对应的地址变换信息,并通知管理信息处理设备11等。另外,在对被输入的逻辑地址的地址变换信息已经生成的场合,地址变换设备7使用该地址变换信息将该逻辑地址变换成对应的物理块的地址,并通知数据读出设备5等。
在进行卷入退避处理的场合,地址变换设备7将物理块的地址也通知物理块选择设备6,并从物理块选择设备6接受其它的物理块的地址后更新地址变换信息。
数据读出设备5根据由地址变换设备通知的物理块的地址将读出数据的请求发行到快速存储器21、22。若通过快速存储器21、22接受该请求,那么读出同步信号RE21、RE22被给予控制线CL21、CL22,与此同步,数据被读出到数据线DL。
在进行卷入退避处理的场合,数据读出设备5将写入到包含数据的写入所请求的页面(以下,称做请求页面)的物理块的请求页面以外的页面的数据读出以便退避。若假定位于快速存储器21中的物理块8的页面82是请求页面,那么在进行卷入退避处理的场合,读出被写入物理块8的页面82以外的页面81、83的数据以便退避。
这时,如图2所示那样,结果在读出同步信号RE21中,在最初的1056个周期期间,上升沿形成528次,在图2中,在相继所示的1056个周期期间,没有形成上升沿,在图2中,在位于最后的1056个周期期间,上升沿形成528次。
与这样的读出同步信号RE21同步,在数据线DL中,在最初的1056个周期期间,读出页面81的数据。另外,在图2中,在位于最后的1056个周期期间,读出页面83的数据。
物理块选择设备6从与具有包含请求页面的物理块的快速存储器不同的快速存储器的可写入的物理块中选择包含写入为退避而读出的数据和从数据输入输出装置101输入的数据DIN的页面的物理块。数据被擦除的物理块可能写入。在包含请求页面的物理块是物理块8的场合,在与快速存储器21不同的快速存储器22的可写入的物理块中,例如选择物理块9。
物理块选择设备6将所选择的物理块的地址通知给地址变换设备7和数据写入设备4。
数据写入设备4在进行卷入退避处理的场合,将写入通过数据读出设备5读出到数据线DL中的数据和被输入的数据DIN的请求发行到具有由物理块选择设备6选择的物理块的快速存储器中。若在快速存储器中接受该请求,那么就将写入同步信号给予控制线CL,并与此同步进行写入。在图2的例子中,在最初的1056个周期期间,在对快速存储器21的读出同步信号RE21和同时对快速存储器22的写入同步信号WE22中形成上升沿。因此,读出到数据线DL中的页面81的数据被传送后,写入到包含在快速存储器22的物理块9中的页面91。在页面81的数据被传送到快速存储器22并且程序结束后的1056个周期期间,在读出同步信号RE21中没有形成上升沿,但在写入同步信号WE22中上升沿形成528次。因此,所输入的数据DIN被传送后,写入包含在物理块9中的页面92。在数据DIN被传送到快速存储器22并且程序结束后,在图2中,在位于最后的1056个周期期间,在读出同步信号RE21和同时在写入同步信号WE22中形成上升沿。因此,读出到数据线DL中的页面83的数据被传送后写入到包含在物理块9中的页面93。
这样以来,若页面81、83的数据退避后所输入的数据DIN被写入物理块9,那么数据写入设备4将擦除物理块8的数据。由于逻辑地址AIN的地址变换信息通过地址变换设备7更新成使逻辑地址AIN与物理块9的地址对应的地址,因此,就会从数据输入输出装置101将页面82的数据改写成数据DIN。数据的读出和写入同时进行的结果,即使在写入的场合写入速度也是高速。
为解决用直接存取方式传送数据而同时产生的问题,可以使用错误修正符号处理设备10。
错误修正符号处理设备10对所输入的数据DIN生成错误修正符号,并将错误修正符号附加在数据DIN中。数据写入设备4写入被附加的错修正符号的数据DIN。在1页面的528字节中,当在数据区域分配了从1字节到512字节的512字节部分的区域时,例如从513字节到518字节的6字节部分的区域分配给错误修正区域。
伴随着卷入退避处理,在通过数据读出设备5将数据读出到数据线DL的场合,错误修正符号处理设备10根据继数据本身之后读出的错误修正符号,为退避进行读出的数据错误的检测或错误的检测和休修正。
错误修正符号处理设备10根据错误修正符号当在数据中检测出错误的场合,若该错误是可修正的错误,那么就修正错误,若该错误是不可修正的错误,那么就将表示在数据中检测出不可修正的错误的不可修正错误检测信息通知给管理信息处理设备11。
此处,假定错误修正符号处理设备10在图2的例子中在读出到数据线DL的页面81的数据的第2字节中检测出错误。图3示出这种场合的读出同步信号RE21、(写入同步信号)WE22、数据线DL。
如图3所示那样,在最初的1024个周期中在页面81的数据区域的数据D81被读出到数据线DL后,在从1025周期到1036周期期间,对读出到数据线DL中的数据D81的错误修正符号E81被读出到数据线DL。
若数据D81和错误修正符号E81被读出,那么错误修正符号处理设备10通过比较从数据D81计算的错误修正符号和被读出的错误修正符号E81检测错误后输出错误检测结果ECC81。错误检测结果ECC81包含错误的有无和是否可修正的错误的信息。假定这时错误修正符号处理设备10根据所读出的错误修正符号ECC81在数据D81的第2字节中检测出错误。当在数据D81中已检测出可修正的错误的场合,在其后所示的1056周期期间进行页面81的数据的读出和写入。但是,在该1056周期的第4周期中,在读出同步信号RE21中没有形成上升沿,只在写入同步信号WE22中形成上升沿。有错误的第2字节没有从快速存储器21中读出。在第2字节的写入时,通过错误修正符号处理设备10修正的数据C2通过写入设备4被写入页面91中。
由此可见,即使在为退避而读出的数据中有错误,也要回避照没有检测出错误那样将有错误的数据写入被选择的块中。其结果,能减小起因于快速存储器的性质的卷入退避处理中的问题的影响。
管理信息处理设备11生成用来管理所输入的数据DIN的管理信息,并将管理信息附加在数据DIN中。在该管理信息中,包含由地址变换设备7通知的地址变换信息等。在由错误修正符号处理设备10通知不可修正错误检测信息的场合,不可修正错误检测信息也包含在管理信息中。
数据写入设备4写入附加了管理信息的数据DIN。当在1页面的528字节中在数据区从1字节到512字节的512字节部分的区域将从513字节到518字节的6字节部分的区域分配给错误修正符号时,例如将从519字节到528字节的10字节部分的区域分配给管理信息。
另外,管理信息处理设备11不仅对被输入的数据DIN附加管理信息,而且在伴随卷入退避处理被读出到数据线DL的数据中,对该数据也附加新的管理信息。
在这种场合,已经被写入到页面的管理信息没有必要读出。如图2的例子那样,在最初的1056周期期间,在读出同步信号RE21中没有必要形成528次上升沿,从1周期到526周期的读出同步信号RE21中上升沿也可以形成518次。
在写入同步信号WE22中,在最初的1056周期期间,上升沿被形成528次。与从1037周期到1056周期期间的各上升沿同步,数据写入设备4通过管理信息处理设备11将重新附加给数据的管理信息M81NEW传送到页面91结果,被更新的管理信息M81NEW被写入页面921中。与对页面81的数据的管理信息相同,对被写入页面93的页面81的数据的管理信息也被更新。
这样,通过更新附加给为退避而读出的数据后被写入的该数据的管理信息,即使假定在包含请求页面的块的数据被擦除之前掉电,根据管理信息在电源再接通后也能够区别新旧数据。其结果,能减小起因于快速存储器的性质的卷入退避处理中的问题的影响。
若与写入同步信号WE21、WE22同步,数据被传送到快速存储器,那么快速存储器21、22进入程序状态,并改变忙碌BUSY21、BUSY22。在程序结束前,快速存储器21、22使忙碌信号BUSY21、BUSY22的状态继续下去。
若忙碌信号BUSY21、BUSY22返回到原来的状态,那么数据写入设备4就读出程序状态(PSTS),并进行确认程序是否正常结束。
缓冲器12是具有1页面部分或大于1页面部分的大小的SRAM等。当在程序中产生了错误的场合,可以使用具备用来暂时保持为退避读出的数据的缓冲器12。
例如,如图5所示那样,假定在通过数据读出设备5将页面81的数据读出到数据线DL中的同时,通过数据写入设备4传送被读出到DL中的页面81的数据后写入到位于快速存储器22中的物理块9的页面91。
缓冲器12暂时保持被读出到数据线DL中的页面81的数据。
若在快速存储器22中程序结束,并且忙碌信号BUSY22返回到原来的状态,那么数据读出设备5就读出程序状态。在控制器3根据程序状态已确认在程序中产生了错误的场合,读出同步信号RE21不给予控制线CL21。数据写入设备4将写入不是从快速存储器21,而是从缓冲器12读出的页面81的数据。
这样,通过从快速存储器将为退避而读出的数据暂时保持在缓冲器中,没有必要从快速存储器读出并改正数据,即使有程序错误,仅这一部分电力消耗被抑制,读出数据的时间也被缩短。其结果,起因于快速存储器的性质的卷入退避处理中的问题的影响被减小。
存储装置1也可以做到只具备错误修正符号处理设备10、管理信息处理设备11、缓冲器12中的任何一个,也可以具备它们的组合。
例如能够使错误修正符号处理设备10与缓冲器12组合。在这种场合,若数据被读出到数据线DL,那么该数据就暂时保持在缓冲器12中。错误修正符号处理设备10根据附加在该数据中的错误修正符号检测数据的错误。若在数据中检测出可修正的错误,那么在上述的例子中,数据就从快速存储器读出后改正,但在这种场合,错误修正符号处理设备10将修正保持在缓冲器12中的数据的错误。数据写入设备4可以将保持在缓冲器12中的错误修正后的数据写入快速存储器。
因此,为修正数据的错误,没有必要对快速存储器进行存取,并能抑制伴随数据的错误修正的电力消耗的加大。此外,由于向快速存储器的存取,能够回避延长数据的错误修正所需要的时间。
另外,如图1那样,在错误修正符号处理设备10、管理信息处理设备11和缓冲器12被组合的场合,错误修正符号处理设备10在检测出不可修正的错误时,将表示已检测出不可修正的错误的不可修正错误检测信息发行到管理信息处理设备11。管理信息处理设备11使不可修正错误检测信息包含在重新附加在被写入的数据上的管理信息中。因此,通过参照与数据一起被写入的管理信息,就容易判别在数据中是否有不可修正的错误。
图6是关于在没有错误或错误可修正的场合说明存储装置的数据处理方法的流程图。若存储装置1具备错误修正符号处理设备10、管理信息处理设备11和缓冲器12,那么就能够通过将各自的程序组合起来的一连串的程序进行上述的卷入退避处理。
首先,若从外部的数据输入输出装置101写入控制器3的指示(S1),并给予写入所输入的数据的地址AUN,那么控制器3就确认该AIN(S2),并根据数据自请求页面起是否已经写入块的最前面一侧的页面,判断是否有必要退避(S3)。如地址AIN与页面82的物理地址对应,那么在写入与页面82相同的块8的页面81和83中,页面81自页面82起位于块的最前面。为此,控制器3判断页面81的数据D81必须退避。在判断了数据必须退避的场合,通过数据设备5将数据读出到数据线DL,并通过数据写入设备4将数据线DL上的数据传送到写入对象的快速存储器中(S4)。在这期间,将页面部分的数据保持在缓冲器12中。另外,写入对象的快速存储器是在上述例子中与具有块8的快速存储器21不同的快速存储器22。若错误修正符号处理设备10将数据和错误修正符号读出到数据线DL,那么就进行关于该数据的错误的检测(S5)。若有可修正的错误,错误修正符号处理设备10就修正保持在缓冲器12中的数据。数据写入设备4将被修正的数据从缓冲器12重新送到写入对象的快速存储器中(S6)。若再次传送在读出到数据线DL的数据中没有错误或被修正的数据,管理信息处理设备11就生成数据的管理信息,数据写入设备4将所生成的管理信息传送到写入对象的快速存储器中(S7)。若数据和管理信息被传送到快速存储器,那么数据写入设备4就对该快速存储器的写入块发行程序命令(S8)。若传送到快速存储器22的数据是数据D81,那么该数据D81就被写入块9的页面91若程序结束,数据写入设备4就读出程序状态(S9),并确认是否产生程序错误(S10)。在产生程序错误的场合,按照步骤S4到S10,例如对与该快速存储器不同的快速存储器重新进行退避(S11)。这时,从缓冲器再送关于保持在缓冲器12中的数据。对于快速存储器22的块9若产生程序错误,那么在从快速存储器21的块8读出数据的场合,该数据就退避到未图示的其它快速存储器中。若程序正常结束或退避被重做,控制器3就判断退避是否结束(S12)。若自请求页面起位于块的最前面一侧的的页面的所有数据被退避,那么控制器3就判断退避已结束。若请求页面是页面82,自该页面起位于块的最前面一侧的页面的数据如所述那样只是数据D81。在这种场合,若数据D81退避到块9中,控制器3就判断退避已结束。若退避没有结束,就反复进行从步骤S4到S12直到退避结束。若在步骤S8中没有判断为需要退避,或从请求页面起位于块的最前面一侧的页面的所有数据被退避,那么数据写入设备4将数据DIN写入已退避的数据所写入的块中(S13)。若数据DIN被写入,控制器3就根据数据是否已经写入从请求页面起位于块的末尾一侧的页面,判断有否必要退避(S14)。在被写入与页面82相同的块8的页面81和83中,页面83自页面82起位于块的末尾一侧。为此,控制器3判断页面83的数据D83的退避是必要的。在判断需要退避的场合,反复进行从步骤S4到以后的步骤,在判断不需要退避的场合,结束卷入退避处理(S15)。
此外,这样的步骤也可以通过专用逻辑实现,也可以通过使微处理器、存储器和程序协作实现。
另外,经由数据线102和地址线103连接存储器1和外部的数据输入输出装置101,但并不受此限制。在数据线102和地址线103中不必使用独立的线,也可以公用相同的线。在可便携的小型的存储卡等中通过共用减少引线数目后是所希望的。
另外,在上述的例子中,说明了为进行卷入退避处理在非易失性存储器之间传送数据的情况,但不受此限制。例如为了清除数据的碎片,也往往在非易失性存储器之间传送数据。在这样的场合,通过从图6的步骤S4到S12能够在非易失性存储器之间进行数据传送。因此,即使在卷入退避处理以外的处理中与卷入退避处理相同,也能够解决在非易失性存储器之间伴随数据传送的、起因于非易失性存储器的性质的问题。
如以上所说明的那样,在本发明中,由于对在非易失性存储器之间被传送的数据能进行错误修正处理,因此能够避免照没有检测出错误原样写入了有错误的数据的情况发生。另外,当在非易失性存储器之间移动数据的场合,即使假定在移动源的数据被擦除之前掉电,在电源再接通后也能够根据管理信息区别新旧数据。另外,若将在非易失性存储器之间传送的数据暂时保持在缓冲器中,即使有程序错误,也没有必要从非易失性存储器中将数据读出后改正,仅此就能抑制电力消耗,也能缩短读出数据的时间。这些结果,能够在用直接存取方式高速传送数据的同时,抑制起因于非易失性存储器的性质的问题的影响。

Claims (15)

1.一种存储装置,共用数据线的非易失性存储器独立并可控制地被设置,其特征在于,它具备以下设备:
生成附加在数据上并相对于写入非易失性存储器中的该数据的错误修正符号,并根据相对于从非易失性存储器读出到数据线的数据的错误修正符号,进行该数据错误的检测或错误的检测和修正的错误修正符号处理设备;
在将从非易失性存储器读出到数据线的数据写入与该非易失性存储器不同的非易失性存储器的场合,当在该数据中检测出可修正的错误时,写入修正该错误后的数据的写入设备。
2.如权利要求1记载的存储装置,其特征在于,它具备暂时保持数据的缓冲器,
所述错误修正符号处理设备在数据中检测出有可修正的错误的场合,修正从数据线保持在所述缓冲器中的数据的错误;
所述写入设备写入保持在缓冲器中的数据。
3.一种存储装置,共用数据线的多个非易失性存储器独立并可控制地被设置,其特征在于,它具备以下设备:
不仅对于被输入的数据,而且对于从非易失性存储器读出到数据线后写入与该非易失性存储器不同的非易失性存储器的数据也生成用于管理数据的管理信息的管理信息处理设备;
附加管理信息后将数据写入非易失性存储器的写入设备。
4.一种存储装置,共用数据线的多个非易失性存储器独立并可控制地被设置,其特征在于,它具备以下设备:
暂时保持数据的缓冲器;
在从非易失性存储器读出到数据线后传送到与该非易失性存储器不同的非易失性存储器的数据的程序错误被产生的场合,写入从数据线保持在缓冲器中的数据的写入设备。
5.如权利要求4记载的存储装置,其特征在于,它还具备错误修正符号处理设备,该设备相对附加在数据上后写入非易失性存储器的该数据生成错误修正符号,根据相对从非易失性存储器读出到数据线的数据的错误修正符号,当在该数据中检测出有可修正的错误的场合,修正从数据线保持在所述缓冲器中的数据错误,
所述写入设备在将从非易失性存储器读出到数据线的数据写入与该非易失性存储器不同的非易失性存储器的场合,当在该数据中检测出可修正的错误时,写入保持在缓冲器中的数据。
6.如权利要求5记载的存储装置,其特征在于,它还具备管理信息处理设备,该设备不仅对于输入的数据,而且对于从非易失性存储器读出到数据线后写入与该非易失性存储器不同的非易失性存储器的数据也生成用于管理数据的管理信息,
所述写入设备附加管理信息后将数据写入非易失性存储器。
7.如权利要求6记载的存储装置,其特征在于,所述管理信息处理设备在数据中检测出不可修正的错误的场合,将表示在数据中检测出不可修正的错误的不可修正错误检测信息包含在附加在该数据上的管理信息中。
8.如权利要求7记载的存储装置,其特征在于,所述非易失性存储器是作为数据的擦除单位的块包含多个作为数据的写入单位的页面的快速存储器。
9.如权利要求8记载的存储装置,其特征在于,它具备块选择设备,该设备在该块的数据擦除前所写入块的页面中的数据被退避的场合,从与具有数据被擦除的块的快速存储器不同的快速存储器的可写入的块中选择包含被退避的数据被写入的页面的块。
10.一种数据处理方法,共用数据线的多个非易失性存储器独立并可控制地被设置的存储装置的数据处理方法,其特征在于,在将从非易失性存储器读出到数据线的数据写入与该非易失性存储器不同的非易失性存储器的场合,进行该数据错误的检测,当在该数据中检测出可修正的错误时,写入修正该错误后的数据。
11.一种数据处理方法,是共用数据线的多个非易失性存储器独立并可控制地被设置的存储装置的数据处理方法,其特征在于,在将从非易失性存储器读出到数据线的数据写入与该非易失性存储器不同的非易失性存储器的场合,对于该数据生成用于管理数据的管理信息,在附加所生成的管理信息后将该数据写入非易失性存储器中。
12.一种数据处理方法,是共用数据线的多个非易失性存储器独立并可控制地被设置的存储装置的数据处理方法,其特征在于,该方法将从非易失性存储器读出到数据线的数据传送到与该非易失性存储器不同的非易失性存储器中,在产生所传送的数据的程序错误的场合,将从数据线保持在缓冲器中的数据写入与该数据所传送的非易失性存储器不同的非易失性存储器中。
13.一种数据处理程序,是共用数据线的多个非易失性存储器独立并可控制地被设置的存储装置的数据处理程序,其特征在于,使计算机执行以下步骤:将从非易失性存储器读出到数据线的数据写入与该非易失性存储器不同的非易失性存储器的场合,进行该数据错误的检测的步骤;
以及当在该数据中检测出可修正的错误时,写入修正错误后的数据的步骤。
14.一种数据处理程序,是共用数据线的多个非易失性存储器独立并可控制地被设置的存储装置的数据处理程序,其特征在于,使计算机执行以下步骤:在将从非易失性存储器读出到数据线的数据写入与该非易失性存储器不同的非易失性存储器的场合,对于该数据生成用于管理数据的管理信息的步骤;
以及附加所生成的管理信息后将该数据写入非易失性存储器中的步骤。
15.一种数据处理程序,是共用数据线的多个非易失性存储器独立并可控制地被设置的存储装置的数据处理程序,其特征在于,使计算机执行以下步骤:将从非易失性存储器读出到数据线的数据传送到与该非易失性存储器不同的非易失性存储器中的步骤;
以及在产生所传送的数据的程序错误的场合,将从数据线保持在缓冲器中的数据写入非易失性存储器中的步骤。
CN03103553A 2002-01-29 2003-01-29 存储装置、数据处理方法以及数据处理程序 Pending CN1435758A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP019690/2002 2002-01-29
JP2002019690 2002-01-29

Publications (1)

Publication Number Publication Date
CN1435758A true CN1435758A (zh) 2003-08-13

Family

ID=27606251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN03103553A Pending CN1435758A (zh) 2002-01-29 2003-01-29 存储装置、数据处理方法以及数据处理程序

Country Status (5)

Country Link
US (1) US6680870B2 (zh)
EP (1) EP1335290A3 (zh)
KR (1) KR20030065355A (zh)
CN (1) CN1435758A (zh)
TW (1) TW200302966A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100590738C (zh) * 2005-05-16 2010-02-17 松下电器产业株式会社 存储器控制器、非易失性存储器、非易失性存储***和数据写入方法
CN102782662A (zh) * 2010-03-11 2012-11-14 三菱电机株式会社 存储器诊断方法、存储器诊断装置及存储器诊断程序
CN103823722A (zh) * 2012-11-16 2014-05-28 国际商业机器公司 基于请求类型的选择性后置数据错误检测
CN103902403A (zh) * 2012-12-27 2014-07-02 Lsi公司 经由冗余阵列的非易失性存储器编程故障恢复
CN104094236A (zh) * 2012-04-02 2014-10-08 国际商业机器公司 防止数据丢失的***和方法
CN106575250A (zh) * 2014-09-26 2017-04-19 英特尔公司 使用nand页缓冲器来改善固态驱动器的传递缓冲器利用的方法与***
CN104081356B (zh) * 2011-12-08 2018-04-10 高通科技公司 正常与重试数据发射之间的差别格式化

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7466597B2 (en) * 2004-09-09 2008-12-16 Samsung Electronics Co., Ltd. NAND flash memory device and copyback program method for same
US7424648B2 (en) * 2005-03-10 2008-09-09 Matsushita Electric Industrial Co., Ltd. Nonvolatile memory system, nonvolatile memory device, data read method, and data read program
US7523381B2 (en) * 2005-09-01 2009-04-21 Micron Technology, Inc. Non-volatile memory with error detection
US8276043B2 (en) * 2008-03-01 2012-09-25 Kabushiki Kaisha Toshiba Memory system
CN101957782B (zh) * 2009-07-17 2013-05-01 慧国(上海)软件科技有限公司 避免数据储存装置的数据发生移位错误的方法及控制器
KR101627322B1 (ko) * 2009-11-18 2016-06-03 삼성전자주식회사 비-휘발성 버퍼를 이용한 데이터 저장 장치 및 방법
US8880778B2 (en) * 2010-05-13 2014-11-04 Micron Technology, Inc. Memory buffer having accessible information after a program-fail
US9507663B1 (en) * 2015-05-04 2016-11-29 Macronix International Co., Ltd. Memory device and operation method
TWI573146B (zh) * 2015-05-28 2017-03-01 旺宏電子股份有限公司 記憶體裝置與其操作方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0675502B1 (en) * 1989-04-13 2005-05-25 SanDisk Corporation Multiple sector erase flash EEPROM system
US5532962A (en) * 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5475693A (en) * 1994-12-27 1995-12-12 Intel Corporation Error management processes for flash EEPROM memory arrays
JP2842809B2 (ja) * 1995-06-28 1999-01-06 甲府日本電気株式会社 キャッシュ索引の障害訂正装置
JP3197815B2 (ja) * 1996-04-15 2001-08-13 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 半導体メモリ装置及びその制御方法
JP3538202B2 (ja) * 1996-07-19 2004-06-14 東京エレクトロンデバイス株式会社 フラッシュメモリカード
KR100383404B1 (ko) * 1996-08-16 2003-07-16 동경 엘렉트론 디바이스 주식회사 반도체메모리장치및반도체메모리장치에있어서의데이타기입/판독방법
JP3072722B2 (ja) * 1997-06-20 2000-08-07 ソニー株式会社 フラッシュメモリを用いるデータ管理装置及びデータ管理方法並びにフラッシュメモリを用いる記憶媒体
JPH11203885A (ja) 1998-01-09 1999-07-30 Hitachi Ltd 記憶装置
ES2293916T3 (es) * 1999-07-28 2008-04-01 Sony Corporation Sistema de registro, dispositivo de registro de datos, dispositivo de memoria, y metodo de registro de datos.
US6304486B1 (en) * 1999-12-20 2001-10-16 Fujitsu Limited Sensing time control device and method

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100590738C (zh) * 2005-05-16 2010-02-17 松下电器产业株式会社 存储器控制器、非易失性存储器、非易失性存储***和数据写入方法
CN102782662A (zh) * 2010-03-11 2012-11-14 三菱电机株式会社 存储器诊断方法、存储器诊断装置及存储器诊断程序
US9158618B2 (en) 2010-03-11 2015-10-13 Mitsubishi Electric Corporation Memory diagnostic method, device, and non-transitory computer-readable storage medium for diagnosing a memory used by a process during execution of the process
CN102782662B (zh) * 2010-03-11 2016-03-16 三菱电机株式会社 存储器诊断方法、存储器诊断装置及存储器诊断程序
US9569320B2 (en) 2010-12-01 2017-02-14 Seagate Technology Llc Non-volatile memory program failure recovery via redundant arrays
CN104081356B (zh) * 2011-12-08 2018-04-10 高通科技公司 正常与重试数据发射之间的差别格式化
CN104094236A (zh) * 2012-04-02 2014-10-08 国际商业机器公司 防止数据丢失的***和方法
CN103823722B (zh) * 2012-11-16 2017-06-27 国际商业机器公司 基于请求类型的选择性后置数据错误检测
CN103823722A (zh) * 2012-11-16 2014-05-28 国际商业机器公司 基于请求类型的选择性后置数据错误检测
CN103902403A (zh) * 2012-12-27 2014-07-02 Lsi公司 经由冗余阵列的非易失性存储器编程故障恢复
CN103902403B (zh) * 2012-12-27 2017-05-03 希捷科技有限公司 经由冗余阵列的非易失性存储器编程故障恢复
US10467093B2 (en) 2012-12-27 2019-11-05 Seagate Technology Llc Non-volatile memory program failure recovery via redundant arrays
US11144389B2 (en) 2012-12-27 2021-10-12 Seagate Technology Llc Non-volatile memory program failure recovery via redundant arrays
CN106575250A (zh) * 2014-09-26 2017-04-19 英特尔公司 使用nand页缓冲器来改善固态驱动器的传递缓冲器利用的方法与***
CN106575250B (zh) * 2014-09-26 2021-06-08 英特尔公司 使用nand页缓冲器来改善固态驱动器的传递缓冲器利用的方法与***

Also Published As

Publication number Publication date
EP1335290A3 (en) 2004-11-10
TW200302966A (en) 2003-08-16
KR20030065355A (ko) 2003-08-06
US6680870B2 (en) 2004-01-20
EP1335290A2 (en) 2003-08-13
US20030142543A1 (en) 2003-07-31

Similar Documents

Publication Publication Date Title
CN1435758A (zh) 存储装置、数据处理方法以及数据处理程序
CN102915208B (zh) 信息处理装置、半导体存储装置及半导体存储装置的控制方法
US7953950B2 (en) Storage device including flash memory and capable of predicting storage device performance
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
US8612791B2 (en) Method of selective power cycling of components in a memory device independently by turning off power to a memory array or memory controller
US7254668B1 (en) Method and apparatus for grouping pages within a block
US7275144B2 (en) Memory controller, flash memory system employing memory controller and method for controlling flash memory device
US8386905B2 (en) Error correcting method, and memory controller and memory storage system using the same
US8301827B2 (en) Data read method for processing a plurality of host read commands, and flash memory controller and storage system using the same
TWI498898B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
US20080016267A1 (en) Memory controller, flash memory system having memory controller, and method for controlling flash memory
EP1365326A1 (en) Method of controlling flash memory
US20190227929A1 (en) Data storage devices and data processing methods
CN1873619A (zh) 存储装置
JP2012526323A (ja) 管理型不揮発性メモリのための低レイテンシ読み取り動作
CN1652253A (zh) 存储卡和半导体器件
JP2012513647A (ja) 管理型不揮発性メモリのアドレスマッピングのためのアーキテクチャー
CN1702776A (zh) 存储卡、半导体装置和半导体存储器的控制方法
WO2006009322A2 (en) Memory card, nonvolatile semiconductor memory, and method of controlling semiconductor memory
CN1327593A (zh) 改正和检测差错的信号处理器
TW201426303A (zh) 資料讀取方法、記憶體控制器與記憶體儲存裝置
EP4033364A1 (en) Control method for flash memory controller and associated flash memory controller and storage device
TW202232331A (zh) 記憶體控制器以及伺服器
TWI749279B (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication