CN1658163A - 存储装置的数据写入、读取方法及数据存储系统 - Google Patents

存储装置的数据写入、读取方法及数据存储系统 Download PDF

Info

Publication number
CN1658163A
CN1658163A CN200510007797.9A CN200510007797A CN1658163A CN 1658163 A CN1658163 A CN 1658163A CN 200510007797 A CN200510007797 A CN 200510007797A CN 1658163 A CN1658163 A CN 1658163A
Authority
CN
China
Prior art keywords
data
storage areas
physical storage
error correction
unit
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
Application number
CN200510007797.9A
Other languages
English (en)
Other versions
CN100357899C (zh
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.)
Lenovo Innovations Co ltd Hong Kong
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of CN1658163A publication Critical patent/CN1658163A/zh
Application granted granted Critical
Publication of CN100357899C publication Critical patent/CN100357899C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD

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)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

本发明提供一种存储装置的数据写入、读取方法及数据存储系统,从而提高闪存等半导体存储设备中的存储数据的可靠性。其中,具有n+1个包括m个数据存储区且一并进行数据的写入、读取、删除等的物理存储区域,将从上位主机输入的一连串数据重新排列,从而将该一连串数据分离存储在n个物理存储区域中。将对于分离在各物理存储区域中的一连串的数据1~数据n的纠错数据作为数据p1存储在其他物理存储区域n+1中。同样存储其他的纠错数据p2~pm。从而,例如在物理存储区域2所存储的数据的一部分或全部有异常时,在替代物理存储区域中存储通过纠错还原的物理存储区域2的数据,并全部删除物理存储区域2的数据。

Description

存储装置的数据写入、读取方法及数据存储系统
技术领域
本发明涉及存储装置的数据写入及读取方法,尤其涉及对于闪存等半导体存储装置的数据写入及读取方法。
背景技术
在计算机、PDA(Personal Data Assistance、Personal DigitalAssistants:面向个人的便携式信息通信设备)、家用游戏机、数码照相机、或是移动电话机、PHS(Personal Handy-phone System:个人手提电话系统)等的信息设备中,以半导体存储器等为代表的数据存储设备的存储容量正逐年增加。尤其是,作为可电擦除、写入存储的ROM(Read OnlyMemory:只读存储器)的闪存是即使不从外部提供电能,存储也不会消失的不挥发型存储器,从而在各个方面被广泛使用。
此外,闪存具有以下特征,即:将所有数据一次删除或按作为数据删除的单位的块进行删除,或者以块单位进行数据的写入或读取(参见专利文献1、2)。
以往,闪存由于制造、价格方面等的制约,存储容量与其他存储设备相比容量小,但随着能够比较廉价地制造成大容量存储器的NAND型闪存、多值逻辑型的NOR型闪存的开发,出现了大容量型存储器,并且随着这种大容量存储器的出现、数码照相机的普及、以及由于移动电话的高功能化等而对大容量不挥发性存储器的需求的增大,不挥发型半导体存储器的存储容量也正显著增加。
然而,NAND型存储器在其结构上,很多情况下是以包括从出厂时就存在的一定的不良区域为前提的,而且,也有很多是出厂后发生一定比率或一定量的不良为前提的。此外,以往,与其他存储设备相比在数据的存储方面具有高可靠性的NOR型闪存也由于多值化等而其可靠性比以往下降了。
专利文献1:日本专利文献特开2000-173289号公报;
专利文献2:日本专利文献特开2002-288034号公报。
这样,在闪存等存储设备中,由于大容量化的影响而数据的可靠性比以往下降了,从而会产生难以将这样的存储设备用作存储如直接影响系统操作的重要的数据的装置的状况。因此,只要发生过一次故障的存储区域很多时候就不再使用,于是就需要事先大量准备用于替代上述区域的预备区域,从而难以有效利用存储容量。
此外,以往,为了数据的纠错,通过给每个某种任意的数据单位添加奇偶校验(parity)等冗余数据,来进行检错、纠错(参见专利文献1、2等),但是存在如下问题:即,由于通常与该纠错数据成对的数据的一部分或是全部被存储在单一的物理存储区域内,所以当由于物理上的故障而产生数据错误等时,一批数据中的大部分将会丢失,从而无法进行纠错。
发明内容
本发明是鉴于上述问题而完成的,其目的在于提供一种既可以提高闪存等半导体存储设备中的存储数据的可靠性,又可以通过再利用故障区域而有效利用存储区域的方法及装置。
本发明是一种存储装置的数据写入、读取方法,所述存储装置具有存储单元,所述存储单元由分别具有多个数据存储区的多个物理存储区域构成,并以各物理存储区域单位一并执行数据的写入或读取操作,所述存储装置的数据写入、读取方法的特征在于,当向所述存储单元存储数据时,将从上位主机输入的、应按所述物理存储区域单位写入的一连串的数据通过重新排列而分离写入多个所述物理存储区域中;当从所述存储单元读取数据时,将从所述多个物理存储区域的各个物理存储区域分别一并读取的数据通过再次重新排列而还原成所述输入的一连串数据来输出。
此外,本发明的特征在于,设置有写入了纠错数据的纠错用物理存储区域,其中所述纠错数据用于对分别写入所述多个物理存储区域中的各对应位置上的数据进行纠错,当在存入所述多个物理存储区域的数据中检测出错误时,对所述检测出数据错误的物理存储区域的所有数据进行检查,将正常数据转移写入用于替代的物理存储区域中的对应位置,并且将错误数据通过利用所述纠错用物理存储区域的纠错数据纠正后写入所述用于替代的物理存储区域中的对应位置,并将所述检测出数据错误的物理存储区域的数据全部删除。
而且,当执行了所述检测出数据错误的物理存储区域的数据的删除的结是,所有数据删除成功时,将该物理存储区域登记为替代备用物理存储区域,从而使其作为替代物理存储区域而可再次使用;当未能删除所述检测出数据错误的物理存储区域的所有数据时,将该物理存储区域登记为NG物理存储区域,以便以后不再使用该物理存储区域。
此外,本发明的数据存储系统的特征在于,包括:存储单元,由分别具有多个数据存储区的多个物理存储区域构成,并以各物理存储区域单位一并执行数据的写入或读取操作;重新排列单元,具有将从上位主机输入的向所述存储单元的写入数据重新排列并向所述存储单元输出的功能,和将从所述存储单元读取的数据重新排列并向所述上位主机输出的功能;以及控制单元,控制所述存储单元及重新排列单元的操作,其中所述重新排列单元具有将从所述上位主机输入的、应按所述物理存储区域单位写入的一连串的数据通过重新排列而分离写入多个所述物理存储区域中的功能,以及将从所述多个物理存储区域的各物理存储区域分别一并读取的数据通过再次重新排列而还原为所述输入的一连串的数据来输出的功能。
此外,本发明的数据存储系统的特征在于,在所述存储单元中设置有写入了纠错数据的纠错用物理存储区域,所述纠错数据用于纠正分别写入所述多个物理存储区域中的各对应位置上的数据的错误,所述控制单元具有以下功能:当在存入所述存储单元的数据中检测出错误时,对所述被检测出错误的物理存储区域的所有数据进行检查,将所述检查的结果被判定为正常的数据转移写入用于替代的物理存储区域中的对应位置,并且将被判定为错误的数据通过利用所述纠错用物理存储区域的纠错数据纠正后写入所述用于替代的物理存储区域中的对应位置,并执行将检测出所述错误的物理存储区域的数据全部删除的控制。
即,本发明的特征在于,在闪存等数据存储系统中,通过使各数据具有横跨发生故障的物理单位的存储区域而配置数据及纠错信息的结构,从而即使在某种任意的发生故障的物理单位的数据存储区域发生了故障的情况下,也能够容易地进行原数据的还原。
发明效果
根据本发明,由于将应存储在一个物理存储区域中的一连串的数据分离存储在多个物理存储区域中,并且还将其纠错数据存储在其他的物理存储区域中,所以,即使在由于制造时的缺陷、由电子迁移或静电等而造成的破坏等在特定区域发生的各种故障,而导致一个或可纠错的任意数量的物理存储区域无法读取数据的情况下,也能够容易地还原数据。
此外,既便是发生错误的物理存储区域,也由于在通过删除来可再利用的情况下对其进行了再次利用的操作,所以,即使对于数据的长期保存性能差的存储设备来说,也能够以某种程度的可靠性使用。
此外,数据存储方法与以往的数据存储方法不同,通过将本应存储在一个物理存储区域中的一连串数据分离存储在多个物理存储区域中,并对数据存储的顺序进行加密等,可实现即使只将写入完毕的存储设备连接到其它系统上也无法正常读取数据的结构,从而还能够用于安全用途。
附图说明
图1是表示本发明第一实施方式的数据存储系统的框图;
图2是普通闪存中的数据存储的结构示意图;
图3是现有例子中的数据存储方法示意图;
图4是本实施方式中的数据存储方法示意图;
图5是本实施方式中的数据读取及写入时的数据重新排列的映像(image)的示意图;
图6是通过移位寄存器来实现本实施方式中数据读取时的数据重新排列单元的例子的示意图;
图7是本发明第二实施方式中的数据及纠错数据的存储方法示意图;
图8是用于说明本实施方式的一个例子的操作的图;
图9是用于说明本实施方式的一个例子的操作的图;
图10是表示本实施方式中的纠错步骤的流程图;
图11是本实施方式中的数据还原操作的映像图;
图12是表示本发明第三实施方式的数据存储系统框图;
图13是本实施方式中的数据及纠错数据的存储方法的一个例子的示意图;
图14是本实施方式中的纠错操作示意图。
具体实施方式
图1是表示本发明第一实施方式的数据存储系统的框图。
本实施方式的数据存储系统具有存储单元104,所述存储单元104包括物理存储区域111、物理存储区域112、…、物理存储区域11n的n个在物理上被划分的存储区域。这里所称的物理存储区域是指具有对数据的写入、读取、删除等的任一种或所有行为同时操作的一批功能的存储区域,该区域表示各种故障发生的一批区域,其中所述故障例如是制造时的缺陷、或由电子迁移和静电等造成的破坏等的在特定区域发生的故障,或者是由控制电路的不良、电源电压稳定性的影响引起的故障等。
图2是作为具体的例子,表示普通闪存中的数据存储结构。在闪存中,字节单位、字单位等数据读写最小单位的数据被从数据1到数据X汇集成一组,并将所述连续的X个数据的组作为一页存储。然后,通常在高速读入适应型的闪存中,多具有所述页单位的读入功能。
此外,这里将汇集了Y个所述页的组作为一个块(block)。通常闪存与EEPROM(Electronically Erasable and Programmable Read OnlyMemory:电可擦除可编程只读存储器)等不同,只能以所述块的单位进行删除。NAND型闪存在此基础上,通常只能以块的单位读写。这里,Z个该块的集合构成一个闪存。在本实施方式中,作为具体例子,以在这里定义的块为物理存储区域的单位,并将具有Z个物理存储区域的存储装置作为对象来进行说明。
本实施方式中的数据存储系统的特征在于具有数据重新排列单元103。该数据重新排列单元103进行所输入的一连串的数据的重新排列,以便将这些数据依次存储到存储单元104的多个(n个)物理存储区域(块)中,从而将本应作为一组连续数据而存储在一个物理存储区域中的数据横跨多个(n个)物理存储区域来分离存储。
由于闪存通常只有例如对一个页单位进行读取等的、将一个物理存储区域内的数据作为连续数据来进行读写的功能,所以,若对于通过本实施方式存储的存储装置进行与以往相同的读写的话,由于数据排列不同,因此在通常的CPU(Central Processing Unit:中央运算处理装置)等上位主机101中不能直接作为数据进行处理。为此,从多个(n个)物理存储区域中分别读取的数据串通过数据重新排列单元103被再次重新排列,从而被转换为可用通常的CPU等处理的数据串,由此上位主机101能够直接作为数据进行处理。
控制单元102是控制存储单元104及数据重新排列单元103的单元,根据来自上位主机101的数据读取、写入的请求,进行从存储单元104读取数据的控制、向存储单元104写入数据的控制。此外,数据的读取、写入的切换,以及芯片选择、地址指定等的各种控制信号的收发也由该控制单元102来进行。
在本实施方式的数据存储系统中,假设进行读取、写入数据的收发的数据信号与数据重新排列单元103连接,表示进行数据读写的地址的地址信号与存储单元104连接,但是根据实施方式可以考虑各种连接方法。在数据重新排列单元103与存储单元104之间连接有数据信号(数据总线),写入存储单元104中的数据或从存储单元104读取的数据必须通过数据重新排列单元103重新排列后才向存储单元104或上位主机101输出。上位主机101是对控制单元102请求数据读写的单元,是CPU、存储控制器等数据处理装置。
图3~图4是用于说明以往及本实施方式中的数据存储方法的图,图5~图6是表示用于实现本实施方式的数据存储方法的数据重新排列单元的一个例子的结构图。以下,参照图1~图6对本实施方式的操作进行说明。
如图3所示,存储单元104包括物理存储区域1(301)、物理存储区域2(302)、…、物理存储区域n(30n)的n个物理存储区域。这里所述的物理存储区域相当于在具有例如图2所示的结构的闪存中作为删除的最小单位的块。在图3中,每个一个物理存储区域(块)分别有m个数据存储区。在该例中,存储单元104有m×n个数据存储区。
可存储在一个数据存储区中的数据量通常多是1字节或2字节(=1字)、4字节(=2字)等的单位。在以往的数据存储系统中,如图3所示,数据的(数据1)~(数据m)被存储在物理存储区域1(301)中,(数据m+1)~(数据2m)被含在其后连续的物理存储区域2(302)中,(数据2m+1)~(数据3m)被含在物理存储区域3(303)中,…,(数据(n-1)m+1)~(数据nm)被含在物理存储区域n(30n)中,就这样在一个物理存储区域填满后再转向下一个物理存储区域的顺序来存储数据。
另一方面,在本实施方式中的数据存储系统中,如图4所示,在物理存储区域1(401)的第一个区域中存储(数据1),在物理存储区域2(402)的第一个区域中存储(数据2),在物理存储区域3(403)的第一个区域中存储(数据3),…,在物理存储区域n(40n)的第一个区域中存储(数据n),接着在物理存储区域1(401)的第二个区域中存储(数据n+1),在物理存储区域2(402)的第二个区域中存储(数据n+2),…,在物理存储区域n(40n)的第二个区域中存储(数据2n),…,在物理存储区域1(401)的第m个区域中存储(数据(m-1)n+1),…,在物理存储区域n(40n)的第m个区域中存储(数据mn)这样地依次存储数据。
这样,在本实施方式的数据存储方法中,由于对存储单元104以与以往不同的顺序存储数据,所以难以直接利用数据。因此,将从存储单元104的各物理存储区域一并读取的数据用数据重新排列单元103进行重新排列后再向上位主机101输出,并且,将从上位主机101送来的写入数据进行重新排列后再写入存储单元104中。从而,在本实施方式中,m×n个的数据存储区(n个物理存储区域)起着用于一并写入数据或一并读取数据的大小的作用。
图5(a)及(b)示出了本实施方式中的数据读取时的数据重新排列映像及数据写入时的数据重新排列映像,图5(a)的501、502以及图5(b)的504、505相当于图1的数据重新排列单元103,图5的503相当于图1的存储单元104。在图5中,为了简单假设有4个具有4个数据存储区的物理存储区域,从而具有4×4=16的数据存储区。
由于在存储单元503中按照图4的数据存储方法存储了数据,所以在读取数据时,将存储于存储单元503的4个物理存储区域中的数据暂时分别存储到数据重新排列单元502内所设的4个路径(route)中,并在从502通过501的期间,首先重新排列成数据1、数据2、数据3、数据4的列来输出,接着依次读取数据5~数据8、数据9~数据12、数据13~数据16的数据。
另一方面,在写入数据时,写入数据经由数据重新排列单元505、504而被存储到存储单元503中。例如若数据串(1、2、3、4)被输入到505中,则这4个数据分别通过504内的不同路径,接着同样地以使(5、6、7、8)、(9、10、11、12)、(13、14、15、16)的4个数据分别通过504内的不同路径地进行数据的重新排列。然后,按各路径的数据串将它们一并存储到存储单元503的各个物理存储区域中。
图6示出了通过移位寄存器来实现图5(a)所示的数据读取时的数据重新排列单元的例子。
图6(a)是由4个D型触发器构成的4位移位寄存器的一般电路,若将其用图6(b)所示的图来表示的话,则如图6(c)所示,图5(a)所示的数据重新排列电路可用将来自4个4位移位寄存器的各个输出连接到另外一个4位移位寄存器中的各预置端上的电路来实现。
这里,假设在存储单元104中例如图5(a)的503所示的那样存储有数据,并具有以物理存储区域单位一并读取的功能。最初,作为重新排列前的数据以(1,5,9,13)的顺序一并读取数据。此时,在S1~S4的开关中,只有S1导通,从而数据被依次存储到FF11~FF14中。接着在只有S2导通的状态下读取数据串(2,6,10,14),之后依次在只有S3导通时读取数据串(3,7,11,15),在只有S4导通时读取数据串(4,8,12,16)。
在FF11~FF14、FF21~FF24、FF31~FF34、FF41~FF44这16个的所有的触发器中存储数据后,接着控制FF51~FF54使其操作。由于输出B1~B4连接在FF51~FF55的预置端上,所以可依次取出数据。即,在最初的时刻,数据串(1,2,3,4)被置于FF51~FF54中,并从B5输出。进而,在下一时刻将下一个B1~B4的输出被置于FF51~FF54中,从而取出数据串(5,6,7,8)。之后同样地以数据串(9,10,11,12)、(13,14,15,16)的顺序取出数据。
此外,就数据写入的重新排列电路而言,也能够根据图5(b)的映像,与图6相同地通过使用移位寄存器的电路结构来容易地实现。
在本实施方式中,对于由多个物理存储区域构成,且以一个物理存储区域单位一并执行写入或读取数据的操作的存储装置来说,由于不将一连串的数据存储到一个物理存储区域单位中,而是将它们分离存储在多个物理存储区域中,所以即使仅将写入完毕的存储设备连接到其它系统上也无法正常读取数据,从而,例如可通过对数据存储的顺序进行加密来用于安全用途。
图7是本发明第二实施方式的示意图,示出了本实施方式中的数据及纠错数据的存储方法。此外,图8示出了本实施方式中的发生错误时的物理存储区域替代映像。
在闪存等中,通常,为了数据的纠错,通过给每个某种任意的数据单位添加奇偶校验等冗余数据,来进行检错、纠错(参见专利文献1、2等),但是存在如下问题:即,由于通常与该纠错数据成对的数据的一部分或是全部被存储在单一的物理存储区域内,所以当由于物理上的故障而产生数据错误等时,被存储在该物理存储区域中的一批数据中的大部分将会丢失,从而无法进行纠错。
因此,在本实施方式中,不将一连串的数据存储到一个物理存储区域单位中,而是将它们分离存储在多个物理存储区域中,并且增加存储纠错数据的物理存储区域,从而将与存储于多个物理存储区域中的数据相对的纠错数据一并存储在该物理存储区域中,由此,即使在一个或是可纠错的任意数量的物理存储区域无法读取数据的情况下,也能够容易地进行纠错,从而可还原数据。下面说明本实施方式的数据存储系统中的数据还原方法。
在图7中,示出了具备n+1个物理存储区域的存储单元,其中所述物理存储区域具有m各数据存储区,从而在该存储单元中总共有(m)×(n+1)个数据存储区。这里,将数据1~数据n作为一组,并将该一组数据的纠错数据作为数据p1存储在另外的物理存储区域n+1中。同样地存储与数据n+1~数据2n相对的纠错数据p2、…、与数据(m-1)n+1~数据mn相对的纠错数据pm。
通过这样存储数据,例如存储于图7的物理存储区域2中的数据发生异常时,如图8所示,可在替代的物理存储区域A中存储通过纠错还原的数据,并恢复为通常状态。所述纠错数据根据数据的重要程度、可添加的数据量、电路规模等,可使用一般所用的各种类型。作为奇偶校验或循环码的CRC(Cyclic Redundancy Code;循环冗余校验码)、BCH码、RS(Reed Solomon)码等为其代表例。
这里,使用图9来说明一个数据存储区由4位构成,并利用奇偶校验进行数据纠错的情况。如图9所示,在数据1由位1-1、位1-2、位1-3、位1-4构成,数据2由位2-1、位2-2、位2-3、位2-4构成、…、数据n由位n-1、位n-2、位n-3、位n-4构成时,对于将位1-1、位2-1、…、位n-1作为一组数据串确定奇偶校验1,同样,可通过确定奇偶校验2、奇偶校验3、奇偶校验4来进行纠错。
图10是表示本实施方式中的纠错步骤的流程图,图11是所述数据还原操作的映像图。下面,参照图7~图11说明本实施方式的数据还原操作。
首先如通常那样,在进行存储于数据存储区i(1≤i≤mn)中的数据的读或写(1002)时,在检测出发生错误(不可读或写失败)的情况(在1003为“是”)下,为了判别该故障是针对包含数据i的一个物理存储区域(块)全体的,还是仅是存储数据i的特定的数据存储区的,而首先读取同一块内的其他数据(1004)。
当该块内的其他所有的数据或是任意设定数量的错误存在时(在1005为“是”),由于上述故障是针对包含数据i的一个物理存储区域(块)全体的可能性高,所以不使用该块中存储的数据而直接进行错误块的删除(1007)。在此外的情况,将上述故障视作只是存储数据i的特定的数据存储区的故障,从而只将正常读取的数据转移到其他块(1006)中后,再进行错误块的删除(1007)。
然后,进行块删除是否失败的判定。这里,当块删除成功(在1008为“否”)时,将发生错误的块登记到替代备用块中(1009)。该替代备用块是在产生了NG块时,替代NG块而使用的块的备用,通常由用软件实现的存储器管理系统来管理。当通过判定(1008)而得知块删除失败时(在1008为“是”),将该块登记为NG块(1010)来进行管理,以便以后不再使用。
然后,对替代块进行分配(1011)。接着在替代块中还原数据,但首先进行(1012)是否有在步骤(1006)转移的数据的检查。当没有转移的数据时,单纯从剩下的块的数据和纠错数据(奇偶校验)全部还原NG块中所存储的数据(1013)(图11(b))。此外,当有转移的数据时,将转移的数据写入替代块中(1014),并通过纠错只还原没有转移的错误数据(图11(a))。
通过以上那样的操作,当只在一个物理存储区域(块)发生数据错误时还原数据。这样,在本实施方式中,由于有对发生错误的所述块的其他数据进行读入等的、特定NG块的操作,所以,即使如图9所示对一个数据串只设置一位只能检测通常错误的奇偶校验位,也能够进行纠错。
通过动态地进行以上的操作,从而在各种故障发生的一批物理存储区域发生了故障时,能够立即还原数据,其中各种故障例如是制造时的缺陷、或由电子迁移和静电等造成的破坏等在特定区域发生的故障,或者是由控制电路的不良、电源电压稳定性的影响引起的故障等。并且可使上位主机意识不到这一点而稳定地读写数据。而且,既便是发生NG的块,若是通过删除等而可再利用的故障的话,仍能够将其作为替代备用块来再次使用。
此外,在上述操作中,既便是发生NG的块,在通过删除等而可再利用时,仍将其作为替代备用块,但是,当在同一块中发生了某一设定的任意次数以上的NG时,对其进行控制,以便以后不再使用,由此可提高可靠性。
图12是表示本发明其他实施方式的数据存储系统框图。
本实施方式的基本结构与上述实施方式相同,但其特点是增加了硬件的纠错单元105。纠错单元105是对输入数据重新排列单元103中的数据进行纠错的单元。此外,纠错单元由控制单元102指示是否进行纠错的控制、纠错方法的控制等。此外,纠错单元105还具有检错功能。
图13示出了本实施方式中的数据及纠错数据的存储方法的一个例子,图14示出了本实施方式中的纠错操作。下面,使用图12~图14来说明本实施方式的操作。
如图13所示,本实施方式中数据的存储,虽然与图7相同地将与横跨物理存储区域之间的数据1、数据2、数据3、…、数据n的数据串相对的纠错数据作为p1存储,但在本实施方式中,将与物理存储区域1的数据,即数据1、数据n+1、数据2n+1、…,数据(m-1)n+1的数据串相对的纠错数据作为q1存储。同样地存储p2~pm以及q2~q(n+1)。通过这样配置纠错数据,从而例如在将奇偶校验用作纠错数据时,即使不特定存在故障的物理存储区域也可以直接进行纠错。
使用图14来具体说明。这里,1403表示存储单元,1401、1402表示数据重新排列单元。当在存储单元1403的数据6有故障的情况下将数据输入到数据重新排列单元1402中时,由纠错单元105进行检错,并在检测出错误时进行纠错。在使用了奇偶校验等的情况下,如图14所示,利用p2、q2的纠错数据来进行检错及纠错。
这样,在本实施方式中,由于设有硬件的纠错单元,所以即使在使用更复杂的纠错方法的情况下,也能够获得纠错处理速度很快的效果。
此外,在以上的实施例中,说明了数据重新排列单元使用移位寄存器的例子,但不限于此,例如也可以利用SRAM(Static RAM:静态存储器)、闪存、EEPROM等来进行软件上的重新排列。在这种情况下,如图13所示,具有以下效果:通过在两轴方向上添加纠错数据,从而既便在作为重新排列单元的存储器自己出现了在物理存储区域单位上的故障的情况下,也同样能够还原。
此外,在上述实施例中,将纠错数据作为与一个数据存储区相当的量,但是根据纠错方法,也可以对一个数据串赋予多个数据存储区。此外,当将多个闪存层叠并封入一个封装件内的闪存LSI时,狭义上的物理存储区域是块,而更广义上的物理存储区域则是一个闪存。
在这样的情况下可分为两个阶段来适用本发明是很显然的。此外,本实施例由于数据重新排列、纠错比较费时,所以对于只将本实施例应用在由于数据损坏而导致的损伤较大的文件管理区、重要的用户数据等的一部分上的利用方法,其效果更好。
此外,本发明不限于上述各实施例,在本发明的技术构思的范围内能够适当改变各实施例是很显然的。

Claims (8)

1.一种存储装置的数据写入、读取方法,所述存储装置具有存储单元,所述存储单元由分别具有多个数据存储区的多个物理存储区域构成,并以各物理存储区域单位一并执行数据的写入或读取操作,所述存储装置的数据写入、读取方法的特征在于,
当向所述存储单元存储数据时,将从上位主机输入的、应按所述物理存储区域单位写入的一连串的数据通过重新排列而分离写入多个所述物理存储区域中;当从所述存储单元读取数据时,将从所述多个物理存储区域的各个物理存储区域分别一并读取的数据通过再次重新排列而还原成所述输入的一连串数据来输出。
2.如权利要求1所述的存储装置的数据写入、读取方法,其特征在于,设置有写入了纠错数据的纠错用物理存储区域,其中所述纠错数据用于对分别写入所述多个物理存储区域中的各对应位置上的数据进行纠错,当在存入所述多个物理存储区域的数据中检测出错误时,对所述检测出数据错误的物理存储区域的所有数据进行检查,将正常数据转移写入用于替代的物理存储区域中的对应位置,并且将错误数据通过利用所述纠错用物理存储区域的纠错数据纠正后写入所述用于替代的物理存储区域中的对应位置,并将所述检测出数据错误的物理存储区域的数据全部删除。
3.如权利要求2所述的存储装置的数据写入、读取方法,其特征在于,当所述检测出数据错误的物理存储区域的所有数据删除成功时,将该物理存储区域登记为替代备用物理存储区域,当所述检测出数据错误的物理存储区域的所有数据删除失败时,将该物理存储区域登记为NG物理存储区域。
4.如权利要求1所述的存储装置的数据写入、读取方法,其特征在于,设置写入了第一纠错数据的纠错用物理存储区域,其中所述第一纠错数据用于进行分别写入所述多个物理存储区域中的各对应位置上的数据的检错及纠错,并且在所述各物理存储区域分别设置写入了第二纠错数据的纠错数据存储区,其中所述第二纠错数据用于进行写入所述各物理存储区域中的数据的检错及纠错,从而通过所述第一及第二纠错数据进行从所述多个物理存储区域读取的数据的检错及纠错。
5.一种数据存储系统,包括:
存储单元,由分别具有多个数据存储区的多个物理存储区域构成,并以各物理存储区域单位一并执行数据的写入或读取操作;重新排列单元,具有将从上位主机输入的向所述存储单元的写入数据重新排列并向所述存储单元输出的功能,和将从所述存储单元读取的数据重新排列并向所述上位主机输出的功能;以及控制单元,控制所述存储单元及重新排列单元的操作,
所述重新排列单元具有将从所述上位主机输入的、应按所述物理存储区域单位写入的一连串的数据通过重新排列而分离写入多个所述物理存储区域中的功能,以及将从所述多个物理存储区域的各物理存储区域分别一并读取的数据通过再次重新排列而还原为所述输入的一连串的数据来输出的功能。
6.如权利要求5所述的数据存储系统,其特征在于,在所述存储单元中设置有写入了纠错数据的纠错用物理存储区域,所述纠错数据用于纠正分别写入所述多个物理存储区域中的各对应位置上的数据的错误,所述控制单元具有以下功能:当在存入所述存储单元的数据中检测出错误时,对所述被检测出错误的物理存储区域的所有数据进行检查,将所述检查的结果被判定为正常的数据转移写入用于替代的物理存储区域中的对应位置,并且将被判定为错误的数据通过利用所述纠错用物理存储区域的纠错数据纠正后写入所述用于替代的物理存储区域中的对应位置,并执行将检测出所述错误的物理存储区域的数据全部删除的控制。
7.如权利要求6所述的数据存储系统,其特征在于,
所述控制单元具有以下功能:当所述检测出数据错误的物理存储区域的所有数据的删除成功时,将该物理存储区域登记为替代备用物理存储区域;当所述检测出数据错误的物理存储区域的所有数据的删除失败时,将该物理存储区域登记为NG物理存储区域。
8.如权利要求5所述的数据存储系统,其特征在于,
在所述存储单元中设置写入了第一纠错数据的纠错用物理存储区域,其中所述第一纠错数据用于进行分别写入所述多个物理存储区域中的各对应位置上的数据的检错及纠错,并且在所述各物理存储区域分别设置写入了第二纠错数据的纠错数据存储区,其中所述第二纠错数据用于进行写入所述各物理存储区域中的数据的检错及纠错,
具有纠错单元,对从所述存储单元读取并输入到所述数据重新排列单元中的、包含所述第一及第二纠错数据的写入数据进行纠错。
CNB2005100077979A 2004-02-19 2005-02-17 存储装置的数据写入、读取方法及数据存储系统 Expired - Fee Related CN100357899C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004043101A JP4595342B2 (ja) 2004-02-19 2004-02-19 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム
JP043101/2004 2004-02-19

Publications (2)

Publication Number Publication Date
CN1658163A true CN1658163A (zh) 2005-08-24
CN100357899C CN100357899C (zh) 2007-12-26

Family

ID=34836452

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100077979A Expired - Fee Related CN100357899C (zh) 2004-02-19 2005-02-17 存储装置的数据写入、读取方法及数据存储系统

Country Status (4)

Country Link
US (1) US7437600B2 (zh)
EP (1) EP1577774A3 (zh)
JP (1) JP4595342B2 (zh)
CN (1) CN100357899C (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101256521B (zh) * 2007-03-01 2010-12-01 创惟科技股份有限公司 提高闪存资料存取可靠性的方法
CN101533676B (zh) * 2008-03-12 2012-06-06 凌阳科技股份有限公司 增加非挥发性存储器除错能力的方法
CN101859548B (zh) * 2009-04-07 2012-08-29 瑞鼎科技股份有限公司 时序控制器及其操作方法
CN105009066A (zh) * 2013-01-18 2015-10-28 Dssd股份有限公司 用于镜像多维raid的方法和系统
CN106440256A (zh) * 2016-11-11 2017-02-22 四川长虹电子部品有限公司 一种空调遥控器及其数据存储方法

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2428496A (en) * 2005-07-15 2007-01-31 Global Silicon Ltd Error correction for flash memory
EP1808863A1 (en) * 2006-01-16 2007-07-18 Deutsche Thomson-Brandt Gmbh Method and apparatus for recording high-speed input data into a matrix of memory devices
EP2092530B1 (en) 2006-12-07 2012-10-31 Nxp B.V. Method and device for reconfiguration of reliability data in flash eeprom storage pages
WO2008139441A2 (en) * 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8386868B2 (en) * 2008-04-16 2013-02-26 Sandisk Il, Ltd. Using programming-time information to support error correction
JP5335779B2 (ja) * 2008-05-12 2013-11-06 パナソニック株式会社 半導体記録装置
US8438453B2 (en) * 2009-05-06 2013-05-07 Apple Inc. Low latency read operation for managed non-volatile memory
US8930622B2 (en) 2009-08-11 2015-01-06 International Business Machines Corporation Multi-level data protection for flash memory system
US8176360B2 (en) * 2009-08-11 2012-05-08 Texas Memory Systems, Inc. Method and apparatus for addressing actual or predicted failures in a FLASH-based storage system
US7941696B2 (en) * 2009-08-11 2011-05-10 Texas Memory Systems, Inc. Flash-based memory system with static or variable length page stripes including data protection information and auxiliary protection stripes
US7818525B1 (en) 2009-08-12 2010-10-19 Texas Memory Systems, Inc. Efficient reduction of read disturb errors in NAND FLASH memory
US8189379B2 (en) 2009-08-12 2012-05-29 Texas Memory Systems, Inc. Reduction of read disturb errors in NAND FLASH memory
JP2011048725A (ja) * 2009-08-28 2011-03-10 Panasonic Corp 不揮発性記憶装置および不揮発性メモリコントローラ
US8327225B2 (en) 2010-01-04 2012-12-04 Micron Technology, Inc. Error correction in a stacked memory
US9063836B2 (en) * 2010-07-26 2015-06-23 Intel Corporation Methods and apparatus to protect segments of memory
JP5813450B2 (ja) * 2011-10-17 2015-11-17 日立オートモティブシステムズ株式会社 電子制御装置
US8327185B1 (en) * 2012-03-23 2012-12-04 DSSD, Inc. Method and system for multi-dimensional raid
US8341342B1 (en) * 2012-03-23 2012-12-25 DSSD, Inc. Storage system with incremental multi-dimensional RAID
JP6015514B2 (ja) 2013-03-25 2016-10-26 富士通株式会社 データ記憶装置及びデータ記憶方法
US8924776B1 (en) 2013-12-04 2014-12-30 DSSD, Inc. Method and system for calculating parity values for multi-dimensional raid
US10466913B2 (en) 2015-04-29 2019-11-05 EMC IP Holding Company LLC Method and system for replicating and using grid level metadata in a storage system
US10101939B2 (en) * 2016-03-09 2018-10-16 Toshiba Memory Corporation Storage system having a host that manages physical data locations of a storage device
US10127113B1 (en) 2016-03-31 2018-11-13 EMC IP Holding Company LLC Method and system for checkerboard RAID
CN108229214A (zh) * 2016-12-22 2018-06-29 北京兆易创新科技股份有限公司 一种提高数据安全性的方法和装置
US10614019B2 (en) 2017-04-28 2020-04-07 EMC IP Holding Company LLC Method and system for fast ordered writes with target collaboration
US10289491B1 (en) 2017-04-28 2019-05-14 EMC IP Holding Company LLC Method and system for implementing multi-dimensional raid in an extensible storage array to optimize performance
US10339062B2 (en) 2017-04-28 2019-07-02 EMC IP Holding Company LLC Method and system for writing data to and read data from persistent storage
US10466930B2 (en) 2017-04-28 2019-11-05 EMC IP Holding Company LLC Method and system for fast ordered writes with atomic multicast

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52144927A (en) * 1976-05-28 1977-12-02 Fujitsu Ltd Data memorizing unit
JPS627238A (ja) * 1985-07-03 1987-01-14 Mitsubishi Electric Corp デ−タ伝送制御装置
JPH01231151A (ja) * 1988-03-11 1989-09-14 Nec Corp 記憶装置におけるアドレス分配方式
JPH02291011A (ja) * 1989-04-28 1990-11-30 Fujitsu Ltd 記憶装置
JP3248537B2 (ja) * 1992-05-15 2002-01-21 ソニー株式会社 データ分散格納方法、データ分散格納装置及びデータ処理システム
JPH0793984A (ja) * 1993-09-20 1995-04-07 Fujitsu Ltd 半導体記憶装置
US5883903A (en) * 1993-09-20 1999-03-16 Fujitsu Limited Semiconductor memory of XN type having parity corresponding to n×m bits
DE19540915A1 (de) 1994-11-10 1996-05-15 Raymond Engineering Redundante Anordnung von Festkörper-Speicherbausteinen
US5838903A (en) 1995-11-13 1998-11-17 International Business Machines Corporation Configurable password integrity servers for use in a shared resource environment
JPH09218754A (ja) * 1996-02-13 1997-08-19 Ekushingu:Kk データ記憶システム
US6078989A (en) * 1996-10-04 2000-06-20 Sony Corporation Disc array control method and disc array control apparatus
JPH10143383A (ja) * 1996-11-11 1998-05-29 Nippon Syst House Kk 誤り検出訂正装置
EP0913826A1 (en) * 1997-10-31 1999-05-06 Hewlett-Packard Company Scratch protection in tape data storage system
JPH11143787A (ja) * 1997-11-06 1999-05-28 Hitachi Ltd 記録再生装置
JP2000173289A (ja) * 1998-12-10 2000-06-23 Toshiba Corp エラー訂正可能なフラッシュメモリシステム
JP2000207137A (ja) * 1999-01-12 2000-07-28 Kowa Co 情報記憶装置
US6532548B1 (en) * 1999-09-21 2003-03-11 Storage Technology Corporation System and method for handling temporary errors on a redundant array of independent tapes (RAIT)
US6766469B2 (en) * 2000-01-25 2004-07-20 Hewlett-Packard Development Company, L.P. Hot-replace of memory
GB2368412A (en) * 2000-10-26 2002-05-01 Hewlett Packard Co Managing disk drive replacements
US6957313B2 (en) 2000-12-01 2005-10-18 Hsia James R Memory matrix and method of operating the same
JP4711531B2 (ja) 2001-03-23 2011-06-29 ルネサスエレクトロニクス株式会社 半導体記憶装置
US20070022364A1 (en) * 2001-06-14 2007-01-25 Mcbryde Lee Data management architecture
JP2003100095A (ja) * 2001-09-21 2003-04-04 Hitachi Ltd 半導体集積回路装置
US7028213B2 (en) * 2001-09-28 2006-04-11 Hewlett-Packard Development Company, L.P. Error indication in a raid memory system
JP2003234000A (ja) * 2002-02-08 2003-08-22 Matsushita Electric Ind Co Ltd 半導体集積回路装置、icカードおよび検査装置
US7076686B2 (en) * 2002-02-20 2006-07-11 Hewlett-Packard Development Company, L.P. Hot swapping memory method and system
US6959413B2 (en) * 2002-06-18 2005-10-25 Lsi Logic Corporation Method of handling unreadable blocks during rebuilding of a RAID device
JP2004021811A (ja) * 2002-06-19 2004-01-22 Hitachi Ltd 不揮発メモリを使用したディスク制御装置
US6898668B2 (en) * 2002-06-24 2005-05-24 Hewlett-Packard Development Company, L.P. System and method for reorganizing data in a raid storage system
US7058762B2 (en) * 2003-06-09 2006-06-06 Hewlett-Packard Development Company, L.P. Method and apparatus for selecting among multiple data reconstruction techniques
US7146461B1 (en) * 2003-07-01 2006-12-05 Veritas Operating Corporation Automated recovery from data corruption of data volumes in parity RAID storage systems
US7302603B2 (en) * 2003-11-20 2007-11-27 International Business Machines Corporation Host-initiated data reconstruction for improved RAID read operations
US7234074B2 (en) * 2003-12-17 2007-06-19 International Business Machines Corporation Multiple disk data storage system for reducing power consumption

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101256521B (zh) * 2007-03-01 2010-12-01 创惟科技股份有限公司 提高闪存资料存取可靠性的方法
CN101533676B (zh) * 2008-03-12 2012-06-06 凌阳科技股份有限公司 增加非挥发性存储器除错能力的方法
CN101859548B (zh) * 2009-04-07 2012-08-29 瑞鼎科技股份有限公司 时序控制器及其操作方法
CN105009066A (zh) * 2013-01-18 2015-10-28 Dssd股份有限公司 用于镜像多维raid的方法和系统
CN106440256A (zh) * 2016-11-11 2017-02-22 四川长虹电子部品有限公司 一种空调遥控器及其数据存储方法

Also Published As

Publication number Publication date
JP4595342B2 (ja) 2010-12-08
EP1577774A2 (en) 2005-09-21
CN100357899C (zh) 2007-12-26
EP1577774A3 (en) 2010-06-09
US20050185476A1 (en) 2005-08-25
JP2005234883A (ja) 2005-09-02
US7437600B2 (en) 2008-10-14

Similar Documents

Publication Publication Date Title
CN1658163A (zh) 存储装置的数据写入、读取方法及数据存储系统
CN100545817C (zh) 用于提高数据可靠性的数据管理技术
US7809994B2 (en) Error correction coding for multiple-sector pages in flash memory devices
US8725944B2 (en) Implementing raid in solid state memory
CN101256842B (zh) 纠错码控制器和包括该纠错码控制器的存储器系统
US20180358989A1 (en) Non-volatile Storage Systems With Application-Aware Error-Correcting Codes
US20070300130A1 (en) Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices
CN101622604A (zh) 半导体存储器件及其控制方法
CN103093818A (zh) 存储系统及其操作方法
CN109697177A (zh) 存储装置以及其接口芯片
CN104969193A (zh) 减少的不可校正的存储器错误
CN101901169B (zh) 扫描装置及方法
US9311181B2 (en) Memory controller changing partial data in memory device and method for changing partial data thereof
KR101507669B1 (ko) 리던던트 방식으로 복수의 메모리 장치들 내에 데이터 블록들을 저장하는 방법, 메모리 컨트롤러, 및 메모리 시스템
CN104424040A (zh) 存取快闪存储器中储存单元的方法以及使用该方法的装置
US7941733B2 (en) Semiconductor memory device
EP1994470B1 (en) Electronic circuit with a memory matrix that stores pages including extra data
CN1834930A (zh) 双重存储装置及该双重存储装置的控制方法
US20170024333A1 (en) High performance host queue monitor for pcie ssd controller
KR102391678B1 (ko) 저장 장치 및 그것의 서스테인드 상태 가속 방법
CN114385407A (zh) 用于校正数据处理系统的数据传输中的错误的设备和方法
CN106843744A (zh) 数据程序化方法与内存储存装置
CN105164646A (zh) 具有早期解码终止检测的解码器
US8533549B2 (en) Memory system and computer system
CN111796774B (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
ASS Succession or assignment of patent right

Owner name: LENOVO INNOVATION CO., LTD. (HONGKONG)

Free format text: FORMER OWNER: NEC CORP.

Effective date: 20141203

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; TO: HONG KONG, CHINA

TR01 Transfer of patent right

Effective date of registration: 20141203

Address after: Hongkong, China

Patentee after: LENOVO INNOVATIONS Co.,Ltd.(HONG KONG)

Address before: Tokyo, Japan

Patentee before: NEC Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071226

Termination date: 20180217