CN110489051A - 数据储存装置及***信息的编程方法 - Google Patents
数据储存装置及***信息的编程方法 Download PDFInfo
- Publication number
- CN110489051A CN110489051A CN201810712280.7A CN201810712280A CN110489051A CN 110489051 A CN110489051 A CN 110489051A CN 201810712280 A CN201810712280 A CN 201810712280A CN 110489051 A CN110489051 A CN 110489051A
- Authority
- CN
- China
- Prior art keywords
- big
- block
- page
- system information
- written
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000003860 storage Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 7
- 101100272680 Paracentrotus lividus BP10 gene Proteins 0.000 description 4
- 238000005138 cryopreservation Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (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
技术领域
本发明是有关于一种数据储存装置及***信息的编程方法。
背景技术
随着记忆体制造工艺的进步,记忆体的单位储存容量越来越大。在近年来记忆体内部结构的发展趋势中,每个区块的储存容量不断提高,而区块的总数则是不断减少。换言之,现今的记忆体是朝向“少区块数量,大区块容量”的方向在演变。现有技术中,普遍是将记忆体的内部信息分散储存在不同的区块或超级区块中。这种方式,在区块的储存容量越来越大的情况下,将会浪费过多的可用空间。
发明内容
本发明的目的为提出一种数据储存装置及其***信息的编程方法。
本发明的一方面揭露一种数据储存装置,包括非挥发性记忆体及记忆体控制器。非挥发性记忆体包括逻辑单元编号,逻辑单元编号包括多个平面,各平面包括多个区块,各区块包括多个页面。记忆体控制器耦接至记忆体,从该逻辑单元编号的每一该些平面的多个区块中选取多个成员区块以组成一大区块,并依据平面数量参数将大区块区分成多个小区块,并依据页面或平面将小区块中位于不同平面的页面组成多个大页面;将一***信息写入至该些大页面的至少其中之一。
本发明的另一方面揭露一种数据储存装置,包括一非挥发性记忆体及一记忆体控制器。非挥发性记忆体包括多个逻辑单元编号,逻辑单元编号包括多个平面,各平面包括多个区块,各区块包括多个页面。记忆体控制器耦接至记忆体,从逻辑单元编号的每一平面的多区块中选取多个成员区块以组成超级区块,并依据平面数量参数将超级区块区分成多个小区块,并依据页面或平面将小区块中位于不同平面的页面组成多个大页面,将一***信息写入至该些大页面的至少其中之一。
本发明的又一方面揭露一种***信息的编程方法,适用于数据储存装置,编程方法包括从非挥发性记忆体的逻辑单元编号的每一平面的多个区块中分别选取成一个员区块以组成一个大区块,依据平面数量参数将大区块区分成多个小区块,依据页面或平面将小区块中位于不同平面的多个页面组成多个大页面,将一***信息写入至该些大页面的至少其中之一。
本发明的又一方面揭露一种***信息的编程方法。适用于数据储存装置,编程方法包括从非挥发性记忆体的多个逻辑单元编号的每一平面的多个区块中分别选取一个成员区块以组成一个超级区块,依据平面数量参数将超级区块区分成多个小区块,依据页面或平面将小区块中位于不同平面的多个页面组成多个大页面,将一***信息写入至该些大页面的至少其中之一。
依据本发明提供的数据储存装置及其***信息的编程方法可有效地利用数据储存装置的数据储存空间,并于记录***信息时,连带记录***信息代码以及记录表,以加速数据回复程序的执行。
为了对本发明的上述及其他方面有更佳的了解,下文特举实施例,并配合所附图式详细说明如下:
附图说明
图1绘示依据本发明一实施例的数据储存装置的方块图。
图2A绘示依据本发明一实施例的***信息的编程方法的流程图。
图2B绘示依据本发明一实施例组成大区块及大页面的示意图。
图2C绘示依据本发明一实施例大区块及大页面的示意图。
图2D绘示依据本发明另一实施例组成大区块及大页面的示意图。
图3A绘示步骤S208的一实施例。
图3B绘示步骤S208的另一实施例。
图4A绘示依据本发明另一实施例的数据储存装置的方块图。
图4B绘示依据本发明另一实施例的***信息的编程方法的流程图。
其中,附图标记:
100:数据储存装置
102:记忆体
104:记忆体控制器
PL1~PL4:平面
B11~B4n:区块
P1~Pm:页面
BB1:大区块
BP1~BP2048:大页面
SB1~SB2n:超级区块
S202~S208:步骤
S402~S408:步骤
具体实施方式
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
请参照图1,图1绘示依据本发明一实施例的数据储存装置的方块图。数据储存装置100主要包括非挥发性记忆体102以及记忆体控制器104,数据储存装置100更可包括挥发性记忆体以暂存使用者数据或记忆体控制器104运作所需的固件或逻辑对实体(Logicalto physical,L2P)映射表(Mapping table)。记忆体控制器104耦接至非挥发性记忆体102,并可用于执行本揭露实施例所描述的***信息的编程方法。
非挥发性记忆体102可例如是反及闸快闪记忆体(NAND flash)。记忆体控制器104可实现成一或多个控制器晶片,其可与非挥发性记忆体102相互传送/接收数据与指令,以实现对非挥发性记忆体102的操作,例如读取(Read)、编程(Program)、抹除(Erase)等操作。
非挥发性记忆体102较佳具有一或多个逻辑单元编号(Logical Unit Number,LUN),可由一晶片致能(Chip Enable,CE)信号而选取/致能。每一逻辑单元编号包括例如4个平面(Plane),即平面PL1~PL4,每一平面PL1~PL4包括例如2048个区块(Block),即区块Bk1~Bkn,其中k=1,2,3,4,n=2048。每一区块Bk1~Bkn包括例如1024个页面(Page),即页面P1~Pm,其中m=1024。每一页面可由一个字线(Word line)所控制,而一个字线可控制一个以上页面。一页面例如具有16768B大小的数据储存空间,并可划分成16KB大小的数据区以及384B大小的备用区,数据区可储存数据(使用者数据或***信息),备用区可储存数据的元数据(Metadata)。每一字线包括例如16KB个记忆胞(未绘示)。另外,字线上的记忆胞可以是四阶式记忆胞(Quad Level Cell,QLC)、三阶式记忆胞(TripleLevel Cell,TLC)、双阶式记忆胞(Multiple Level Cell,MLC)或是单阶式记忆胞(Single Level Cell,SLC)。需要注意的是,本实施例系为示例性的,晶片、平面、区块、页面、字线及记忆胞的数量皆可依实际需要进行设计与配置。
数据储存装置100更可耦接至一主机(未绘示)。主机可输出数据存取指令(例如读出或写入)至数据储存装置100以存取数据储存装置100的使用者数据(读出或写入使用者数据)。举例来说,数据储存装置100中的记忆体控制器104可回应来自主机的数据读取指令,对非挥发性记忆体102中的一或多个特定实体地址进行读取操作。主机可以为个人电脑、手机、平板电脑、车载***、导航装置等。
数据储存装置100的***信息,例如***规格、操作参数、坏块信息、区块连结表(Linking Table)、区块属性表(例如用以记录抺除次数或有效页面数)、除错信息表(例如SMART信息表)及/或逻辑对实体(Logical to Physical,L2P)映射表等数据。其中,映射信息(Map Information)表又称为高阶映射表,其记录逻辑对实体(Logical to Physical,L2P)映射表的每一子逻辑对实体映射表的地址信息。不同于使用者数据,***信息的预设(或最大值)大小可能不相同,例如:区块连结表的大小为380KB,映射信息表的大小为90KB,坏块信息的大小为4KB。在上述***信息中,区块连结表记录区块使用的先后顺序,且区块连结表通常会在任一个区块写入区块关闭信息(End of Block,EOB)时进行更新。为了提高数据保存能力,记忆体控制器104较佳以非预设模式或SLC模式进行***信息的编程。假如以SLC模式进行***信息的编程时,一个字线只控制一个页面。另外,随着数据储存装置100的运作,记忆体控制器104会不断对***信息进行更新。
逻辑对实体映射表在逻辑上可由多个子逻辑对实体映射表所组成,例如2048个子逻辑对实体映射表。每一子逻辑对实体映射表较佳包括多笔连续逻辑地址的实体地址的映射信息,例如:32K笔连续逻辑地址的实体地址的映射信息。当子逻辑对实体映射表更新时,记忆体控制器104储存更新后的子逻辑对实体映射表并将更新后的储存地址记录至映射信息表。
由于逻辑单元编号包括有四个平面,为了使数据储存装置100的效能最大化,在进行数据(使用者数据或***信息)写入时,记忆体控制器104通常会以交错式编程(Interleaved Programming)将数据写入非挥发性记忆体102中,例如:将数据同时写入至所有平面的区块(的页面)中,例如,将数据同时写入至平面PL1的区块B11、平面PL2的区块B21、平面PL3的区块B31及平面PL4的区块B41,以达到较高的数据写入速度。
以交错式编程将使用者数据写入至所有平面的区块的确可以达到预期的效果。然而,以交错式编程将***信息写入至所有平面的区块却可能会造成可用空间的浪费。以上述例子为例,传统的交错式编程使用来自四个平面的四个区块的四个页面将可储存64KB(16KB的四倍)的数据。而***信息却只有30KB。因此,为了执行交错式编程,记忆体控制器104会产生34KB的伪数据(Dummy Data),并将34KB的伪数据与30KB的***信息组成64KB的数据,再将64KB的数据以交错式编程将***信息写入至所有平面的区块。因此,每更新/写入一笔***信息,非挥发性记忆体102就储存了34KB的伪数据,随着***信息更新次数的增加,非挥发性记忆体102就储存了大量的伪数据,占用非挥发性记忆体102许多可用的数据储存空间。有鉴于此,记忆体控制器104系采用下文所述的操作方法来进行***信息的写入操作。
值得注意的是,为简化说明,图1仅显示与本揭露相关的元件。然应知本揭露的实施并不以图1所示的架构为限。
请参照图2A,图2A绘示依据本发明一实施例的***信息的编程方法的流程图,本发明***信息的编程方法最佳由记忆体控制器104所执行,亦可由主机所执行,并输出指令至数据储存装置100。在下述说明中将以记忆体控制器104为例进行说明,但不以此为限。
在步骤S202中,记忆体控制器104从逻辑单元编号的每一平面的该些区块中分别选取一个区块以组成一个大区块。被选取的区块又可称为成员区块(Member Block),用以表示大区块中所包含的区块。请参照图2B,记忆体控制器104选取非挥发性记忆体102的逻辑单元编号的平面PL1~PL4的区块B11~B41组成一个大区块BB1,以此类推。亦即,区块B11~B41为大区块BB1的成员区块。记忆体控制器104较佳选取的平面PL1~PL4中具有相同区块编号的区块以组成一个大区块。如果应选取的区块为坏块时,记忆体控制器104可选取该坏块所属的平面的另一个区块(非坏块)以替代该坏块。另外,记忆体控制器104较佳记录大区块中每一区块的区块编号(以及平面编号)。
在步骤S204中,记忆体控制器104依据一平面数量参数将大区块区分成多个小区块。假设平面数量参数为2,则记忆体控制器104依据平面数量参数将大区块BB1分成二个小区块。位于平面PL1~PL2的区块B11~B21设为第一个小区块,位于平面PL3~PL4的区块B31~B41设为第二个小区块。当然,记忆体控制器104亦可将大区块BB1中位于平面PL1以及PL3的区块B11以及B31设为第一个小区块,位于平面PL2以及PL4的区块B21以及B41设为第二个小区块,并不以上述为限。
在步骤S206中,记忆体控制器104以页面或平面为准(例如但不限于依序)将各个小区块中位于不同平面的页面组成多个大页面。图2B即为记忆体控制器104以平面为准而依序将各个小区块中位于不同平面的页面组成大页面的示意图。以上述为例,记忆体控制器104将第一个小区块中位于平面PL1~PL2的页面P1组成大页面BP1(属于大区块BB1),接着将第二个小区块中位于平面PL3~PL4的页面P1组成大页面BP2,接着将第一个小区块中位于平面PL1~PL2的页面P2组成大页面BP3,以下类推。最后可产生2048个大页面。大页面编号分别为BP1~BP2048,如图2C所示。另外,记忆体控制器104较佳将小区块中位于平面PL1~PL2的相同页面编号的页面组成大页面。如果其中一个页面无法使用时,记忆体控制器104可将小区块中位于平面PL1~PL2或PL3~PL4的不同页面编号的页面组成大页面,或者,跳过此大页面的组成(这将造成大页面的总数比预期总数少1)。
在另一实施例中,图2D即为记忆体控制器104以页面为准而依序将各个小区块中位于不同平面的页面组成大页面的示意图。以上述为例,记忆体控制器104将第一个小区块中位于平面PL1~PL2的页面P1组成大页面BP1,接着将第一个小区块中位于平面PL1~PL2的页面P2组成大页面BP2,以下类推,待第一个小区块的所有页面皆组成大页面之后,接着将第二个小区块中位于平面PL3~PL4的页面P1组成大页面BP1025,第二个小区块中位于平面PL3~PL4的页面P2组成大页面BP1026,以下类推。最终亦可产生2048个大页面。
图2D为大页面BP1~BP2048的逻辑示意图,而每一大页面BP的实体地址如图2B或2C所示。另外,大页面和页面一样,可以区分成数据区(Data Area)以及备用区(SpareArea)。一般而言,数据区用以储存数据,备用区用以储存数据的元数据(Metadata)。大页面的数据区较佳由位于不同平面的页面的数据区所组成,大页面的备用区较佳由位于不同平面的页面的备用区所组成,但不以此为限。
在步骤S208中,记忆体控制器104将***信息、***信息代码、记录表写入至所述大页面的至少其中之一。***信息以及记录表较佳写入至大页面的数据区,***信息代码较佳写入至大页面的备用区;或是,将***信息写入至大页面的数据区,***信息代码以及记录表写入至大页面的备用区。***信息代码是依据***信息的类型所给定的一个代号或代码。表一是***信息代码与***信息的类型的对应表的一个示例。由表一可知,每一个类型的***信息会被给定一个***信息代码,且不同类型的***信息所对应到的***信息代码是不同的,相同类型的***信息所对应到的***信息代码则是相同的。另外,不同类型的***信息的数据量可能具有不同的预设大小或最大值。以基本规格类型的***信息来说,其***信息代码为A,且数据量的预设大小为5KB,其余类型可依此类推。
***信息代码 | ***信息的类型 | 预设大小(最大值) |
A | 基本规格 | 5KB |
B | 操作参数 | 5KB |
C | 映射信息表 | 90KB |
D | 区块连结表 | 30KB |
E | 坏块信息 | 10KB |
表一
请参照图3A,图3A绘示步骤S208的一实施例。大区块BB1包括2048个大页面BP1~BP2048,每一大页面BP包括大小为32KB的数据区以及256B的备用区。为简化说明,以下将“***信息代码”简称为“代码”。首先,记忆体控制器104将基本规格、代码“A”以及记录表写入至大页面BP1,接着,将操作参数、代码“B”以及记录表写入至大页面BP2,接着,将映射信息表(例如映射信息表#A)、代码“C”以及记录表写入至大页面BP3~BP5,接着,将区块连结表(例如区块连结表#A)、代码“D”以及记录表写入至大页面BP6,接着,将坏块信息、代码“E”以及记录表写入至大页面BP7。假设映射信息表#A与区块连结表#A由于数据储存装置100的运作致使内容有变动或更新,于是记忆体控制器104将更新后的映射信息表(映射信息表#B)、代码“C”以及记录表写入至大页面BP8~BP10,并将更新后的区块连结表(区块连结表#B)、代码D以及记录表写入至大页面BP11,以下类推。也就是说,当***信息有所变动或更新时,更新的***信息会接续在前一次写入用到的最后一个大页面之后继续写入。
表二是记录表的一实施例。记录表用以记录所有类型的***信息的最新版本的储存地址,例如,大区块BB1的大页面的页面编号。当更新***信息时,更新的记录表也会一并储存至大页面中。当数据储存装置100重新启动时,记忆体控制器104可读取大区块BB1的最后一个有效大页面,即储存有效数据的大页面,例如大页面BP11,即可得知每一类型的***信息的最新版本的储存地址,可加速数据储存装置100重新启动的程序。
***信息的类型 | 页面编号 |
基本规格 | BP1 |
操作参数 | BP2 |
映射信息表 | BP8 |
区块连结表 | BP11 |
坏块信息 | BP7 |
表二
在一实施例中,当存在有任一个类型的***信息需要花费二个以上的大页面来储存(例如映射信息表)时,记录表也可以只储存于用以储存该类型的***信息的大页面的最后一个页面。以前述实施例中的映射信息表为例,其需要花费三个大页面来储存,而记录表可只储存在三个大页面中的第三个页面。例如大页面BP3~BP5用以储存映射信息表,而记录表只储存于大页面BP5。
请参照图3B,图3B绘示步骤S208的另一实施例。此实施例除了储存之前实施例所储存的信息之外,更储存一页码,此页码是用以指示所在的大页面储存的是完整的***信息的第几个部分。例如,映射信息表#B预设储存至三个大页面,当记忆体控制器104将映射信息表#B、代码“C”以及记录表写入至大页面BP8~BP10,更分别储存页码0、1及2至大页面BP8~BP10的备用区。页码可以作为判断***信息是否正确且完整地储存的依据。例如,当数据储存装置100重新启动时,判断最后一个有效大页面BP为大页面BP9,记录表显示映射信息表#B乃储存至大页面BP8。因此,映射信息表#B尚有部份数据应储存于大页面BP9~BP10。但是最后一个有效大页面为大页面BP9,其页码为1。于是,记忆体控制器104判断映射信息表#B并未完整地储存。由于映射信息表并未完整地储存。较佳地,记忆体控制器104可启动或致能一错误处理机制,例如,映射信息表重建(Re-build)程序,以重建映射信息表#B。由于错误处理机制为习知技艺,故不多作说明。
请参照图4A,图4A绘示依据本发明另一实施例的数据储存装置的方块图。数据储存装置200的非挥发性记忆体可包括四个逻辑单元编号102A~102D以及记忆体控制器104,每一逻辑单元编号102A~102D具有与非挥发性记忆体102相同或类似的结构,每一逻辑单元编号102A~102D具有独立的通道(Channel)而连结至记忆体控制器104,记忆体控制器104可以相同的晶片致能信号或不同的晶片致能信号同时致能每一逻辑单元编号102A~102D,并进行数据的存取。理论上而言,记忆体控制器104可同时存取逻辑单元编号102A~102D。因此,数据储存装置200的内部数据传输量(Data Throughput)为数据储存装置100的四倍。
请参照图4B,图4B绘示依据本发明另一实施例的***信息的编程方法的流程图。在步骤S402中,记忆体控制器104从每一逻辑单元编号的每一平面的该些区块中分别选取一个区块以组成一个超级区块。被选取的区块又可称为成员区块(member block),用以表示超级区块(或大区块)中所包含的区块。类似步骤S202,记忆体控制器104选取每一逻辑单元编号102A~102D的每一平面PL1~PL4的区块B11~B41组成一个大区块或称为超级区块SB1,以此类推,其中,记忆体控制器104较佳选取逻辑单元编号102A~102D的平面PL1~PL4中具有相同区块编号的区块以组成一个超级区块。如果应选取的区块为坏块时,记忆体控制器104可选取该坏块所属的平面的另一个区块(非坏块)以替代该坏块。另外,记忆体控制器104较佳记录超级区块中每一区块的区块编号、平面编号、逻辑单元编号或上述的组合。
在步骤S404中,记忆体控制器104依据一平面数量参数将超级区块区分成多个小区块。假设平面数量参数为2,则记忆体控制器104可将超级区块SB1中位于逻辑单元编号102A的平面PL1~PL2的区块B11~B21设为第一个小区块,位于逻辑单元编号102A的平面PL3~PL4的区块B31~B41设为第二个小区块,位于逻辑单元编号102D的平面PL3~PL4的区块B31~B41设为第八个小区块。当然,记忆体控制器104亦可将超级区块SB1中位于逻辑单元编号102A的平面PL1以及PL3的区块B11以及B31设为第一个小区块,位于平面PL2以及PL4的区块B21以及B41设为第二个小区块,并不以上述为限。
在步骤S406中,记忆体控制器104以页面或平面为准(例如但不限于依序)将所有小区块中位于不同平面的页面组成多个大页面。以平面为准时,记忆体控制器104将第一个小区块中位于平面PL1~PL2的页面P1组成大页面BP1,接着将第二个小区块中位于平面PL3~PL4的页面P1组成大页面BP2,接着将第三个小区块中位于平面PL1~PL2的页面P1组成大页面BP3,以下类推,最后可产生8192个大页面,大页面编号分别为BP1~BP8192。在另一实施例中,以页面为准时,记忆体控制器104将第一个小区块中位于平面PL1~PL2的页面P1组成大页面BP1,接着将第一个小区块中位于平面PL1~PL2的页面P2组成大页面BP2,以下类推,待第一个小区块的所有页面皆组成大页面之后,接着将第二个小区块中位于平面PL3~PL4的页面P1组成大页面BP1025,第二个小区块中位于平面PL3~PL4的页面P2组成大页面BP1026,以下类推,一样可产生8192个大页面。
在步骤S408中,记忆体控制器104将***信息、***信息代码、记录表写入至所述大页面的至少其中之一。类似步骤S208,当大页面组成后,记忆体控制器104可以利用大页面储存***信息。关于记忆体控制器104将***信息写入超级区块的大页面时所用的格式架构、细节与变形系类似于前文所述的装置信息的各个相关实施例,故于此不再赘述。
依据本发明提供的数据储存装置及其***信息的编程方法可有效地利用数据储存装置的数据储存空间,并于记录***信息时,连带记录***信息代码以及记录表,以加速数据回复程序的执行。
综上所述,虽然本发明已以实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视后附的申请专利范围所界定者为准。
Claims (24)
1.一种数据储存装置,其特征在于,包括:
一非挥发性记忆体,包括一逻辑单元编号,该逻辑单元编号包括多个平面,各该平面包括多个区块,各该区块包括多个页面;以及
一记忆体控制器,耦接至该记忆体,从该逻辑单元编号的每一该些平面的该些区块中选取多个成员区块以组成一大区块,并依据一平面数量参数将该大区块区分成多个小区块,并依据页面或平面将各该小区块中位于不同平面的该些页面组成多个大页面,以及将一***信息写入至该些大页面的至少其中之一。
2.如权利要求1所述的数据储存装置,其特征在于,该大页面包括一数据区以及一备用区,该***信息被写入该至少一大页面的该数据区。
3.如权利要求1所述的数据储存装置,其特征在于,该记忆体控制器将该***信息写入至该至少一大页面时更包括将一***信息代码也写入至该至少一大页面。
4.如权利要求1所述的数据储存装置,其特征在于,该记忆体控制器将该***信息写入至该至少一大页面时更包括将一记录表也写入至该至少一大页面。
5.如权利要求1所述的数据储存装置,其特征在于,该记录表用以记录多个类型的***信息的储存地址。
6.如权利要求2所述的数据储存装置,其特征在于,该记忆体控制器将该***信息写入至该至少一大页面更包括将一页码写入该至少一大页面的该备用区。
7.一种数据储存装置,其特征在于,包括:
一非挥发性记忆体,包括多个逻辑单元编号,各该逻辑单元编号包括多个平面,各该平面包括多个区块,各该区块包括多个页面;以及
一记忆体控制器,耦接至该记忆体,从该些逻辑单元编号的每一该些平面的该些区块中选取多个成员区块以组成一超级区块,并依据一平面数量参数将该超级区块区分成多个小区块,并依据页面或平面将各该小区块中位于不同平面的该些页面组成多个大页面,以及将一***信息写入至该些大页面的至少其中之一。
8.如权利要求7所述的数据储存装置,其特征在于,各该大页面包括一数据区以及一备用区,该记忆体控制器系将该***信息写入该至少一大页面的该数据区。
9.如权利要求7所述的数据储存装置,其特征在于,该记忆体控制器将该***信息写入至该至少一大页面时更包括将一***信息代码也写入至该至少一大页面。
10.如权利要求7所述的数据储存装置,其特征在于,该记忆体控制器将该***信息写入至该至少一大页面时更包括将一记录表也写入至该至少一大页面。
11.如权利要求7所述的数据储存装置,其特征在于,该记录表系用以记录多个类型的***信息的储存地址。
12.如权利要求7所述的数据储存装置,其特征在于,该记忆体控制器将该***信息写入至该至少一大页面更包括将一页码写入该至少一大页面的该备用区。
13.一种***信息的编程方法,其特征在于,适用于一数据储存装置,该编程方法包括:
从一非挥发性记忆体的一逻辑单元编号的每一平面的多个区块中分别选取一成员区块以组成一大区块;
依据一平面数量参数将该大区块区分成多个小区块;
依据页面或平面将各该小区块中位于不同平面的多个页面组成多个大页面;以及
将一***信息写入至该些大页面的至少其中之一。
14.如权利要求13所述的编程方法,其特征在于,该大页面包括一数据区以及一备用区,该***信息被写入该至少一大页面的该数据区。
15.如权利要求13所述的编程方法,其特征在于,将该***信息写入至该至少一大页面时更包括将一***信息代码也写入至该至少一大页面。
16.如权利要求13所述的编程方法,其特征在于,将该***信息写入至该至少一大页面时更包括将一记录表也写入至该至少一大页面。
17.如权利要求14所述的编程方法,其特征在于,更包括:将一页码写入该至少一大页面的该备用区。
18.如权利要求13所述的编程方法,其特征在于,该记录表系用以记录多个类型的***信息的储存地址。
19.一种***信息的编程方法,其特征在于,适用于一数据储存装置,该编程方法包括:
从该非挥发性记忆体的多个逻辑单元编号的每一平面的多个区块中分别选取一成员区块以组成一超级区块;
依据一平面数量参数将该超级区块区分成多个小区块;
依据页面或平面将各该小区块中位于不同平面的多个页面组成多个大页面;以及
将一***信息写入至该些大页面的至少其中之一。
20.如权利要求19所述的编程方法,其特征在于,各该大页面包括一数据区以及一备用区,该***信息被写入该至少一大页面的该数据区。
21.如权利要求19所述的编程方法,其特征在于,将该***信息写入至该至少一大页面时更包括将一***信息代码也写入至该至少一大页面。
22.如权利要求19所述的编程方法,其特征在于,将该***信息写入至该至少一大页面时更包括将一记录表也写入至该至少一大页面。
23.如权利要求20所述的编程方法,其特征在于,更包括:将一页码写入该至少一大页面的该备用区。
24.如权利要求19所述的编程方法,其特征在于,该记录表系用以记录多类型的***信息的储存地址。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107116350A TWI687811B (zh) | 2018-05-14 | 2018-05-14 | 資料儲存裝置及系統資訊的編程方法 |
TW107116350 | 2018-05-14 | ||
TW107119381 | 2018-06-05 | ||
TW107119381A TWI664569B (zh) | 2018-06-05 | 2018-06-05 | 資料儲存裝置及系統資訊的編程方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110489051A true CN110489051A (zh) | 2019-11-22 |
Family
ID=68464669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810712280.7A Pending CN110489051A (zh) | 2018-05-14 | 2018-07-03 | 数据储存装置及***信息的编程方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20190347037A1 (zh) |
CN (1) | CN110489051A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI727842B (zh) * | 2020-02-20 | 2021-05-11 | 大陸商長江存儲科技有限責任公司 | 存儲器件及其編程方法 |
CN114171092A (zh) | 2020-04-23 | 2022-03-11 | 长江存储科技有限责任公司 | 存储器件及其编程方法 |
TWI738390B (zh) * | 2020-06-19 | 2021-09-01 | 群聯電子股份有限公司 | 資料保護方法、記憶體儲存裝置及記憶體控制電路單元 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101004724A (zh) * | 2006-01-18 | 2007-07-25 | 苹果电脑有限公司 | 用于闪速存储器的交错策略 |
US20140129874A1 (en) * | 2012-11-07 | 2014-05-08 | Apple Inc. | Redundancy schemes for non-volatile memory using parity zones having new and old parity blocks |
TW201717026A (zh) * | 2015-10-16 | 2017-05-16 | 高通公司 | 用於逐頁記憶體通道交錯之系統及方法 |
CN107229577A (zh) * | 2015-03-25 | 2017-10-03 | 爱思开海力士有限公司 | 存储***及其操作方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080052446A1 (en) * | 2006-08-28 | 2008-02-28 | Sandisk Il Ltd. | Logical super block mapping for NAND flash memory |
US8095765B2 (en) * | 2009-03-04 | 2012-01-10 | Micron Technology, Inc. | Memory block management |
US8832507B2 (en) * | 2010-08-23 | 2014-09-09 | Apple Inc. | Systems and methods for generating dynamic super blocks |
KR101257691B1 (ko) * | 2011-08-12 | 2013-04-24 | 아주대학교산학협력단 | 메모리 컨트롤러 및 이의 데이터 관리방법 |
US9003102B2 (en) * | 2011-08-26 | 2015-04-07 | Sandisk Technologies Inc. | Controller with extended status register and method of use therewith |
US9098400B2 (en) * | 2012-10-31 | 2015-08-04 | International Business Machines Corporation | Dynamic tuning of internal parameters for solid-state disk based on workload access patterns |
US20140122286A1 (en) * | 2012-10-31 | 2014-05-01 | Microsoft Corporation | Bargaining through a user-specific item list |
US10114562B2 (en) * | 2014-09-16 | 2018-10-30 | Sandisk Technologies Llc | Adaptive block allocation in nonvolatile memory |
KR20180005858A (ko) * | 2016-07-07 | 2018-01-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10388379B2 (en) * | 2017-03-21 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods for automated dynamic word line start voltage |
US10445230B2 (en) * | 2017-12-08 | 2019-10-15 | Macronix International Co., Ltd. | Managing block arrangement of super blocks |
CN110489052B (zh) * | 2018-05-14 | 2022-11-25 | 慧荣科技股份有限公司 | 数据储存装置 |
TWI687811B (zh) * | 2018-05-14 | 2020-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置及系統資訊的編程方法 |
-
2018
- 2018-07-03 CN CN201810712280.7A patent/CN110489051A/zh active Pending
-
2019
- 2019-05-13 US US16/410,163 patent/US20190347037A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101004724A (zh) * | 2006-01-18 | 2007-07-25 | 苹果电脑有限公司 | 用于闪速存储器的交错策略 |
US20140129874A1 (en) * | 2012-11-07 | 2014-05-08 | Apple Inc. | Redundancy schemes for non-volatile memory using parity zones having new and old parity blocks |
CN107229577A (zh) * | 2015-03-25 | 2017-10-03 | 爱思开海力士有限公司 | 存储***及其操作方法 |
TW201717026A (zh) * | 2015-10-16 | 2017-05-16 | 高通公司 | 用於逐頁記憶體通道交錯之系統及方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190347037A1 (en) | 2019-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8583860B2 (en) | Block management method for flash memory and controller and storage system using the same | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US8250286B2 (en) | Block management method, and storage system and controller using the same | |
JP5002201B2 (ja) | メモリシステム | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US8645613B2 (en) | Data writing method for flash memory and control circuit and storage system using the same | |
US8312554B2 (en) | Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus | |
US8131911B2 (en) | Data writing method, and flash storage system and controller using the same | |
US8214578B2 (en) | Method of storing data into flash memory according to usage patterns of addresses and data storage system using the same | |
US20100057979A1 (en) | Data transmission method for flash memory and flash memory storage system and controller using the same | |
US8296502B2 (en) | Data management method for flash memory and storage system and controller using the same | |
JP2006031696A (ja) | バッドブロック管理部を含むフラッシュメモリシステム | |
CN103106143A (zh) | 固态储存装置及其逻辑至实体对应表建立方法 | |
CN106484316A (zh) | 用来管理一记忆装置的方法以及记忆装置与控制器 | |
KR20080007470A (ko) | Mram을 이용하는 비휘발성 메모리 시스템 | |
US8074128B2 (en) | Block management and replacement method, flash memory storage system and controller using the same | |
CN110489051A (zh) | 数据储存装置及***信息的编程方法 | |
US8423707B2 (en) | Data access method for flash memory and storage system and controller using the same | |
CN110489052A (zh) | 数据储存装置、***信息编程方法及***信息重建方法 | |
CN109521944A (zh) | 数据储存装置以及数据储存方法 | |
CN102200946B (zh) | 资料存取方法、记忆体控制器与储存*** | |
CN107045423A (zh) | 存储器装置及其数据存取方法 | |
CN110489050A (zh) | 数据储存装置及***信息的编程方法 | |
CN102446137B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102800357B (zh) | 程序码载入与存取方法、存储器控制器与存储器储存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191122 |