CN102819467A - 可提高数据校正能力的闪存装置 - Google Patents
可提高数据校正能力的闪存装置 Download PDFInfo
- Publication number
- CN102819467A CN102819467A CN2012102806136A CN201210280613A CN102819467A CN 102819467 A CN102819467 A CN 102819467A CN 2012102806136 A CN2012102806136 A CN 2012102806136A CN 201210280613 A CN201210280613 A CN 201210280613A CN 102819467 A CN102819467 A CN 102819467A
- Authority
- CN
- China
- Prior art keywords
- data
- flash memory
- sector
- sectors
- space
- 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
- 238000012937 correction Methods 0.000 title claims abstract description 10
- 230000015654 memory Effects 0.000 claims abstract description 76
- 230000003321 amplification Effects 0.000 claims description 18
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 18
- 235000014676 Phragmites communis Nutrition 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 15
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- 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
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种可提高数据校正能力的闪存装置,包括一控制器及至少一具有一主区域及一保留区域的闪存,主区域包括多个扇区,控制器在这些扇区当中设定至少一扇区为一辅助扇区,其余各扇区分别设定为一用以储存数据的数据扇区,辅助扇区辅助扩增保留区域的记忆空间,扩增后的保留区域根据数据扇区的数量切分成多个保留空间,各保留空间分别配置于对应的数据扇区以记录一校验数据的错误校正码,由此,牺牲部分的主区域空间来扩大保留区域空间,将可以记录编码长度较长的错误校正码,进而提高数据的校正能力。
Description
技术领域
本发明涉及一种闪存装置,特别是涉及一种可提高数据校正能力的闪存装置。
背景技术
目前半导体制造技术的快速发展,闪存装置的记忆容量相对地提高,而逐渐广泛地使用在数据备份上。然而,随着闪存装置容量增加,数据产生错误的可能性也跟着增加。就此,如何提高闪存装置的数据可靠度一直是内存制造厂商所要解决的关键问题。
如图1A所示,为现有闪存装置的闪存的数据结构示意图。如图所示,现有闪存装置的闪存10的数据结构将以页面(Page)为单位进行解读。
闪存10的数据结构包括一主区域(main area)11及额外配置一保留区域(spare area)13。主区域11包括有多个数据扇区111,以一8K字节的页面为例,若每一数据扇区111设计成1K字节大小,则主区域11将会有八个数据扇区(1~N;N=8)111。保留区域13根据各数据扇区111的数量将其记忆容量均分成多个保留空间(spare space)131,例如:八个。
进一步参考图1B,每一数据扇区111将会对应分配到一保留空间131。就以1K字节数据扇区111为例,目前内存制造厂商的规格设计一般会配置La1长度(如32字节)的保留空间131,而保留区域13的记忆空间将可为L1长度(如La1×8=256字节)。该保留空间131主要用以存放错误校正码(Errorcorrection codes;ECC码)。再者,可产生ECC码的算法有多种,例如:BCH编码、里德.穆勒编码(Reed-Muller code)、里德.所罗门编码(Reed-Solomoncode)等等。借由ECC码进行数据校验,将可对于各数据扇区111所储存的数据进行容错更正,而增加数据的可靠度。
早期闪存只能表示两种状态0与1的单层元件(single level cells;SLC)技术。为了提高记忆容量或存取速度,目前闪存以发展至多层元件(multi levelcells;MLC)技术,并可表示四种以上的状态(如00、01、10、11)。然而,对于多层元件的闪存发生错误数据的可能性比单层单元的闪存要高许多。在此,若要具备更多数据字节的校正能力,相对地也要增加ECC码的编码长度才能达成。
以BCH编码算法为例,对于1K字节的数据扇区111进行16字节(BCH16)的数据校正,大约需要28字节的空间来记录ECC码,则目前配置La1长度(如32字节)的保留空间131是足够存放的。然而,为了进一步提高数据扇区111的数据可靠度,要求ECC算法具备更多数据字节的校正能力时,如采用BCH 40,则目前配置La1长度(如32字节)的保留空间131将不足以应对,如:执行BCH 40大约需要70字节空间。
由此可见,以往闪存的数据校正能力,将会因为保留空间131的空间大小而受到限制。再者,保留空间131的容量空间也会因为内存制造厂商的规格限制而无法自行加大,使得闪存的数据可靠度无法有效提高,其产品质量一直受到消费者的质疑。
发明内容
本发明的一目的,在于提供一种闪存装置,其包括至少一闪存,闪存中包括一用以储存数据的主区域及一用以记录校验数据的保留区域,闪存装置可将部分的主区域空间移转作为保留区域空间,则原本保留区域空间将可因此扩增,如此,牺牲部分的主区域空间,将可提供更多的保留区域空间记录编码长度较长的错误校正码,借以提高数据的校正能力,增加闪存的数据可靠度。
本发明的一目的,在于提供一种闪存装置,其多通道的多个闪存整合在一单通道的闪存模块中,以有效降低数据空间的损耗比例。
为了达到上述目的,本发明提供一种闪存装置,包括:一控制器;及至少一闪存,包括:一主区域,包括多个扇区,控制器在多个扇区的中选择设定至少一扇区为一辅助扇区,其余各扇区分别设定为一数据扇区,各数据扇区用以储存数据;及一保留区域,辅助扇区用以辅助扩增保留区域的记忆空间,扩增后的保留区域根据数据扇区的数量切分成多个保留空间,各保留空间分别配置于对应的数据扇区以记录一用以校验储存数据的错误校正码。
本发明又提供一种闪存装置,包括:一控制器;及至少一闪存模块,其整合有多个闪存,闪存模块经由一通道与控制器进行沟通,闪存模块包括:一主区域,包括多个扇区,其中控制器在多个扇区的中选择设定至少一扇区为一辅助扇区,其余各扇区分别设定为一数据扇区,各数据扇区用以储存数据;及一保留区域,辅助扇区用以扩增保留区域的记忆空间,扩增后的保留区域相对于各数据扇区的数量均分成多个保留空间,各保留空间分别配置于对应的数据扇区且用以记录与一错误校正码。
本发明一实施例中,其中控制器利用一BCH编码、一里德.穆勒编码算法(Reed-Muller code)、一里德.所罗门编码算法(Reed-Solomon code)或一可运算错误校正码的算法执行数据的容错校正。
附图说明
图1A为现有闪存装置的闪存的数据结构示意图;
图1B为现有数据扇区与其配置的保留空间的数据结构示意图;
图2为本发明可提高数据校正能力的闪存装置一较佳实施例的电路结构示意图;
图3A为本发明闪存一较佳实施例的数据结构示意图;
图3B为本发明数据扇区与其配置的保留空间一较佳实施例的数据结构示意图;
图4为本发明可提高数据校正能力的闪存装置又一实施例的电路结构示意图;
图5A为本发明闪存模块一实施例的数据结构示意图;
图5B为本发明数据扇区与其配置的保留空间一实施例的数据结构示意图。
附图标记
10:闪存 11:主区域
111:数据扇区 13:保留区域
131:保留空间 20:控制器
300:闪存装置 30:闪存
301:通道 31:主区域
310:主区域 311:数据扇区
313:辅助扇区 33:保留区域
330:保留区域 331:保留空间
35:闪存模块 351:通道
36:主区域 360:主区域
37:保留区域 370:保留区域
371:保留空间 500:闪存装置
具体实施方式
请参考图2为本发明可提高数据校正能力的闪存装置一较佳实施例的电路结构示意图,并且一并参考图3A及图3B分别为本发明闪存一较佳实施例的数据结构示意图及数据扇区与其配置的保留空间的数据结构示意图。
如图所示,闪存装置300包括一控制器20及至少一闪存30,各闪存30通过各自的通道301与控制器20进行数据传输。再者,本发明闪存30以页面(Page)为数据单位进行解读,其页面大小也可为1K、2K、4K、8K或16K字节(Bytes)等尺寸。
闪存的数据结构30包括一主区域(main area)31及一保留区域(spare area)33。主区域31包括多个扇区(或称为次页面)311、313,本实施例以一8K字节页面为例,若每一扇区311、313设计成1K字节大小,则主区域31将会有八个扇区(1~N;N=8)311、313。再者,接着说明8k字节页面范例,一般内存制造厂商会额外配置L1长度(如32字节×8=256字节)的保留区域33。此额外配置的保留区域33的空间大小也可随着内存制造厂商的生产成本或制作规格而不同。
接着说明,本发明控制器20在这些扇区311、313之中选择设定至少一扇区313为辅助扇区,则其余各扇区311分别设定为数据扇区。数据扇区311用以储存数据,而辅助扇区313用以辅助扩充原本保留区域33的记忆空间。
以本实施例为例,若设定一个扇区313为辅助扇区,其余七个扇区311将设定为数据扇区。辅助扇区313辅助扩充原本保留区域33的记忆空间,则,保留区域330的记忆空间将从原本的L1长度扩增为L2长度(如256字节扩增为1280字节;256→256+1024=1280)。
扩增后的保留区域330根据数据扇区311的数量均分成多个保留空间331,如:七个。每一数据扇区311对应配置的保留空间331为La2长度,其大约为182字节(如1280÷7)。保留空间331主要用以存放用以校验储存数据的错误校正码(Error correction codes;ECC码)。本发明实施例中,产生ECC码的算法有很多种,例如:一BCH编码算法、一里德.穆勒编码算法(Reed-Muller code)、一里德.所罗门编码算法(Reed-Solomon code)或其它可运算ECC码的算法等。
如上所述,扩增后的保留空间331将可以提供182字节空间来记录ECC码。若采用BCH编码算法,并执行BCH 40演算程序,则目前182字节的保留空间331是足够存放数据校正必须记录的ECC码,如:执行BCH 40大约需要记录70字节。则,本发明闪存装置300相较于一般闪存装置将可以具备有更多数据字节的校正能力。
就此,本发明闪存装置300可将部分的主区域310的数据空间移转作为保留区域330的记忆空间,则保留区域330的记忆空间将可因此扩增。如此,只要牺牲一些主区域310的数据空间,如:牺牲1/8的扇区,就可提供更多的保留空间331来记录编码长度较长的ECC码,以提高数据的校正能力而增加闪存30的数据储存上的质量及可靠度。
再者,在本发明的各实施例中,闪存30虽以8K字节页面及其1K字节的次页面(如扇区311/313)进行解读。然而,实际应用时,也可设计在其它不同尺寸的页面(如1K、2K、4K或16K字节)上,且每一次页面(扇区311/313)也可设计成256字节或其它记忆容量大小等等。此外,本发明另一实施例中,为了具备更多数据字节的校正能力,也可选择设定两个数量以上的扇区313作为辅助扇区,以进一步扩大记录ECC码的空间331来提高数据校正的效果。
请参考图4为本发明可提高数据校正能力的闪存装置又一实施例的电路结构示意图,并且一并参考图5A及图5B分别为本发明闪存模块一实施例的数据结构示意图及数据扇区与其配置的保留空间的数据结构示意图。
上述实施例的闪存装置300中,其各闪存30分别独立且借由各自对应的通道301与控制器20进行数据传输。而,本实施例的闪存装置500中,可进一步将多通道301的多个闪存30整合为一单通道351的闪存模块35,例如:两个8位通道301的闪存30整合成一16位通道351的闪存模块35。
延续上例,本实施例的闪存30仍以一8K字节页面作为数据结构的基本单位,且每一扇区311、313设计成1K字节大小。
闪存模块35包括一主区域36及一保留区域37。若闪存模块35由两个闪存30所整合而成,则主区域36将会包括有十六个扇区(1~2×N;N=8)311、313,而保留区域37的记忆空间为L3长度(如32字节×16=512字节)。
同样地,控制器20在这些扇区311、313之中选择设定至少一扇区313为辅助扇区,则其余各扇区311分别设定为数据扇区。数据扇区311用以储存数据,而辅助扇区313用以辅助扩充原本保留区域37的记忆空间。
以本实施例为例,若设定一个扇区313为辅助扇区,其余十五个扇区311将设定为数据扇区。辅助扇区313辅助扩充原本保留区域37的记忆空间,则,保留区域370的记忆空间将从原本的L3长度扩增为L4长度(如512字节扩增为1536字节;512→512+1024=1536)。
扩增后的保留区域370根据数据扇区311的数量均分成多个保留空间371,如:十五个。每一数据扇区311对应配置的保留空间371为La3长度,其大约为102(1536÷15)字节。扩增后的保留空间371将可以提供102字节空间来记录ECC码。在此,102字节的保留空间371仍然足以应付BCH 40演算程序必须记录的ECC码,如:执行BCH 40大约需要记录70字节。
由上所述,两个通道301的两个闪存30未合并之前分别会额外损失1/8的数据空间,其整合为一单通道351的闪存模块35之后仅额外损失1/16的数据空间,相较之下可因此多出3/16的数据空间进行利用。在此,将多通道301的多个闪存30进一步整合在一单通道351的闪存模块35中,将可有效降低闪存装置500数据空间的损耗比例。
如此据以实施,本实施例多通道整合的闪存装置500不仅仍可具备较多数据字节的校正能力,且可避免为了提高数据校正的效果而牺牲太多的数据空间。
以上所述仅为本发明的一较佳实施例,并非用来限定本发明实施的范围,即凡依本发明申请专利范围所述的形状、构造、特征及精神所为的均等变化与修改,均应属于本发明的申请专利范围内。
Claims (4)
1.一种可提高数据校正能力的闪存装置,其特征在于,包括:
一控制器;及
至少一闪存,包括:
一主区域,包括多个扇区,控制器在多个扇区的中选择设定至少一扇区为一辅助扇区,其余各扇区分别设定为一数据扇区,各数据扇区用以储存数据;及
一保留区域,辅助扇区用以辅助扩增保留区域的记忆空间,扩增后的保留区域根据数据扇区的数量切分成多个保留空间,各保留空间分别配置于对应的数据扇区以记录一用以校验储存数据的错误校正码。
2.根据权利要求1所述的闪存装置,其特征在于,该控制器利用一BCH编码算法、一里德.穆勒编码算法、一里德.所罗门编码算法或一可运算错误校正码的算法执行数据的容错校正。
3.一种可提高数据校正能力的闪存装置,其特征在于,包括:
一控制器;及
至少一闪存模块,其整合有多个闪存,闪存模块通过一通道与控制器进行沟通,闪存模块包括:
一主区域,包括多个扇区,其中控制器在多个扇区的中选择设定至少一扇区为一辅助扇区,其余各扇区分别设定为一数据扇区,各数据扇区用以储存数据;及
一保留区域,辅助扇区用以扩增保留区域的记忆空间,扩增后的保留区域相对于各数据扇区的数量均分成多个保留空间,各保留空间分别配置于对应的数据扇区且用以记录与一错误校正码。
4.根据权利要求3所述的闪存装置,其特征在于,该控制器利用一BCH编码算法、一里德.穆勒编码算法、一里德.所罗门编码算法或一可运算错误校正码的算法执行数据的容错校正。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101107447 | 2012-03-06 | ||
TW101107447A TW201337936A (zh) | 2012-03-06 | 2012-03-06 | 可提升資料校正能力之快閃記憶體裝置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102819467A true CN102819467A (zh) | 2012-12-12 |
Family
ID=47303591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012102806136A Pending CN102819467A (zh) | 2012-03-06 | 2012-08-08 | 可提高数据校正能力的闪存装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130238842A1 (zh) |
CN (1) | CN102819467A (zh) |
TW (1) | TW201337936A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284067A (zh) * | 2017-07-19 | 2019-01-29 | 爱思开海力士有限公司 | 控制器及其操作方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055552A (zh) * | 2006-04-13 | 2007-10-17 | 英特尔公司 | 复用并行总线接口和闪速存储器接口 |
CN101872318A (zh) * | 2009-04-22 | 2010-10-27 | 群联电子股份有限公司 | 用于快闪记忆体的资料存取方法及其储存***与控制器 |
US20110035646A1 (en) * | 2009-08-06 | 2011-02-10 | Sony Corporation | Nonvolatile random access memory and nonvolatile memory system |
CN102063342A (zh) * | 2010-12-28 | 2011-05-18 | 深圳市江波龙电子有限公司 | 一种闪存存储设备数据的管理方法及*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6961890B2 (en) * | 2001-08-16 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Dynamic variable-length error correction code |
US7739576B2 (en) * | 2006-08-31 | 2010-06-15 | Micron Technology, Inc. | Variable strength ECC |
US8095851B2 (en) * | 2007-09-06 | 2012-01-10 | Siliconsystems, Inc. | Storage subsystem capable of adjusting ECC settings based on monitored conditions |
US8307261B2 (en) * | 2009-05-04 | 2012-11-06 | National Tsing Hua University | Non-volatile memory management method |
US20110072333A1 (en) * | 2009-09-24 | 2011-03-24 | Innostor Technology Corporation | Control method for flash memory based on variable length ecc |
-
2012
- 2012-03-06 TW TW101107447A patent/TW201337936A/zh unknown
- 2012-08-08 CN CN2012102806136A patent/CN102819467A/zh active Pending
-
2013
- 2013-03-06 US US13/786,503 patent/US20130238842A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055552A (zh) * | 2006-04-13 | 2007-10-17 | 英特尔公司 | 复用并行总线接口和闪速存储器接口 |
CN101872318A (zh) * | 2009-04-22 | 2010-10-27 | 群联电子股份有限公司 | 用于快闪记忆体的资料存取方法及其储存***与控制器 |
US20110035646A1 (en) * | 2009-08-06 | 2011-02-10 | Sony Corporation | Nonvolatile random access memory and nonvolatile memory system |
CN102063342A (zh) * | 2010-12-28 | 2011-05-18 | 深圳市江波龙电子有限公司 | 一种闪存存储设备数据的管理方法及*** |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284067A (zh) * | 2017-07-19 | 2019-01-29 | 爱思开海力士有限公司 | 控制器及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20130238842A1 (en) | 2013-09-12 |
TW201337936A (zh) | 2013-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5135348B2 (ja) | メモリ装置の信頼性、可用性、およびサービス性の改善 | |
CN107133122B (zh) | 存储器控制方法 | |
US8307261B2 (en) | Non-volatile memory management method | |
KR100855979B1 (ko) | 바이트 마스킹 동작을 위한 반도체 메모리 장치 및 패리티데이터 생성 방법 | |
US9465552B2 (en) | Selection of redundant storage configuration based on available memory space | |
US9600359B2 (en) | Local error detection and global error correction | |
CN104347122B (zh) | 一种消息式内存模组的访存方法和装置 | |
CN101889267B (zh) | 存储器阵列中的差错校正 | |
US9361036B2 (en) | Correction of block errors for a system having non-volatile memory | |
US20140082264A1 (en) | Nand flash storage chip checking method and device | |
CN101901169B (zh) | 扫描装置及方法 | |
US20110072333A1 (en) | Control method for flash memory based on variable length ecc | |
WO2015016880A1 (en) | Global error correction | |
CN103631670A (zh) | 存储器储存装置、存储器控制器与数据处理方法 | |
KR102347291B1 (ko) | Ssd에서의 결함 보호를 위한 메모리 다이 레이아웃 | |
CN105575439B (zh) | 一种存储单元失效纠错的方法及存储器 | |
CN102819467A (zh) | 可提高数据校正能力的闪存装置 | |
CN110046112A (zh) | 根据内部状态改变存储器控制器的操作的存储器*** | |
KR20160050961A (ko) | 에러를 보정하는 메모리 장치 및 그의 에러 보정 방법 | |
US20150085555A1 (en) | Packaged memory dies that share a chip select line | |
CN106104491A (zh) | 具有数据保护机制的计算***及其操作方法 | |
US9436547B2 (en) | Data storing method, memory control circuit unit and memory storage device | |
CN102981976A (zh) | 用于数据存储的访问控制方法 | |
TWI431631B (zh) | 應用可變動錯誤更正碼容量的快閃記憶體控制方法 | |
CN103365737A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121212 |