CN117270760A - 序列映射生成方法、装置、存储主控芯片及存储介质 - Google Patents
序列映射生成方法、装置、存储主控芯片及存储介质 Download PDFInfo
- Publication number
- CN117270760A CN117270760A CN202310947770.6A CN202310947770A CN117270760A CN 117270760 A CN117270760 A CN 117270760A CN 202310947770 A CN202310947770 A CN 202310947770A CN 117270760 A CN117270760 A CN 117270760A
- Authority
- CN
- China
- Prior art keywords
- page
- configuration information
- shared
- segment interval
- offset
- 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
- 238000013507 mapping Methods 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000015654 memory Effects 0.000 claims abstract description 149
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000007906 compression Methods 0.000 claims abstract description 19
- 230000008569 process Effects 0.000 claims abstract description 11
- 230000006835 compression Effects 0.000 claims description 18
- 230000011218 segmentation Effects 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000009467 reduction Effects 0.000 description 7
- 239000000872 buffer Substances 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000011946 reduction process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000758 substrate Substances 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/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]
-
- 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/061—Improving I/O performance
-
- 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/064—Management of blocks
- G06F3/0641—De-duplication techniques
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)
- Memory System (AREA)
Abstract
本发明公开了一种序列映射生成方法、装置、存储主控芯片及存储介质。该方法包括:对闪存的共享页特性表分段成至少一个页段区间;对位于同一个页段区间内的共享页的特性进行共性简化处理,得到当前页段区间的配置信息,其中配置信息包括当前页偏移下相邻两个页之间的页号差、当前页号对页号差的余数、当前页偏移和字线地址下每次编程需连续写的页数、当前页偏移下的起始页号、起始字线地址;存储各页段区间和各配置信息,并建立各页段区间与各配置信息之间的映射关系,实现序列映射。通过共性简化处理,利用生成的配置信息包括的几个参数来简化表示共享页特性表,实现压缩处理,很好地解决了共享页特性表过度占用内存,保证主控的整体运行性能。
Description
技术领域
本发明涉及闪存技术领域,特别是涉及一种序列映射生成方法、装置、存储主控芯片及存储介质。
背景技术
闪存(NAND Flash,NF)因具有容量大、改写速度快等优点,适用于大量数据的存储,现市面上大多数电子存储产品都是首选闪存作为存储介质。针对单个存储单元能够存储多比特数据的闪存(如MLC、TLC类型的闪存),由于其块(Block)中的页(Page)是以共享页(Shared Page)的形式存在的,主控对闪存编程(编程即写入数据)时,需主控存储关于共享页特性信息的相关固件代码,共享页特性信息包括共享页的WordLine地址、位置关系、写入顺序、连续写等。相关技术中,有如下两种方式实现:
1)存储闪存厂商发布的数据手册中的共享页特性表,以1比特表示1个页,对于块包含2000个页的TLC闪存,共享页特性表也会占用接近750字节的内存(共享页特性表长度=块包含的页数/8*3,其中“8”表示8比特=1字节,“3”表示TLC闪存中共享页对应的LowerPage、UpperPage和ExtraPage),会过度占用内存,影响主控的运行速度;
2)不存储共享页特性表,主控设计商针对闪存开发专用固件代码来管理共享页,若主控更换不同型号的闪存,原先设计的关于共享页特性表的专用固件代码将无法使用,为了主控能够兼容更多闪存,内存会保存不同型号闪存关于共享页特性表的专用固件代码,同样会过度占用内存,影响主控的运行速度。
发明内容
本发明的目的是克服现有技术中的不足之处,提供一种序列映射生成方法、装置、存储主控芯片及存储介质,能够解决关于共享页特性表的固件代码过度占用主控内存资源,影响主控整体运行速度的问题。
本申请第一方面提供了一种序列映射生成方法,包括:
对闪存的共享页特性表分段成至少一个页段区间;
对位于同一个所述页段区间内的共享页的特性进行共性简化处理,得到当前所述页段区间的配置信息,其中所述配置信息包括当前页偏移下相邻两个页之间的页号差、当前页号对所述页号差的余数、当前所述页偏移和字线地址下每次编程需连续写的页数、当前所述页偏移下的起始页号、起始字线地址;
存储各所述页段区间和各所述配置信息,并建立各所述页段区间与各所述配置信息之间的映射关系,实现序列映射。
作为本申请一种可能的实施方式,所述对位于同一个所述页段区间内的所述共享页的特性进行共性简化处理,得到所述配置信息之后,还包括:
若同一个所述页段区间中,不同所述页偏移下相邻两个所述页之间的所述页号差相同,则保留其中一个所述页偏移下相邻两个页之间的页号差作为当前所述页段区间中的所述当前页偏移下相邻两个页之间的页号差。
作为本申请一种可能的实施方式,所述存储各所述页段区间和各所述配置信息,并建立各所述页段区间与各所述配置信息之间的映射关系,实现序列映射之后,还包括:
若至少两个所述页段区间对应的所述配置信息相同,则将至少两个所述页段区间共同映射至其中一个相同的所述配置信息中,并将其余相同的所述配置信息删除。
作为本申请一种可能的实施方式,所述对闪存的共享页特性表进行分段形成至少一个页段区间,包括:
读取闪存中块包含的页;
根据字线地址偏移增量的连续性、当前所述字线地址包含的共享页将所述块包含的所述页分段成至少一个页段区间。
本申请第二方面提供了一种序列映射生成装置,包括:
分段模块,用于对闪存的共享页特性表分段成至少一个页段区间;
共性简化模块,用于对位于同一个所述页段区间内的共享页的特性进行共性简化处理,得到当前所述页段区间的配置信息,其中所述配置信息包括当前页偏移下相邻两个页之间的页号差、当前页号对所述页号差的余数、当前所述页偏移和字线地址下每次编程需连续写的页数、当前所述页偏移下的起始页号、起始字线地址;
序列映射模块,用于存储各所述页段区间和各所述配置信息,并建立各所述页段区间与各所述配置信息之间的映射关系,实现序列映射。
作为本申请一种可能的实施方式,还包括:
第一压缩模块,用于若同一个所述页段区间中,不同所述页偏移下相邻两个所述页之间的所述页号差相同,则保留其中一个所述页偏移下相邻两个页之间的页号差作为当前所述页段区间中的所述当前页偏移下相邻两个页之间的页号差。
作为本申请一种可能的实施方式,还包括:
第二压缩模块,用于若至少两个所述页段区间对应的所述配置信息相同,则将至少两个所述页段区间共同映射至其中一个相同的所述配置信息中,并将其余相同的所述配置信息删除。
作为本申请一种可能的实施方式,所述分段模块包括读取单元和页段生成单元;
所述读取单元,用于读取闪存中块包含的页;
所述页段生成单元,用于根据字线地址偏移增量的连续性、当前所述字线地址包含的共享页将所述块包含的所述页分段成至少一个页段区间。
本申请第三方面提供了一种存储主控芯片,包括如上所述的序列映射生成装置。
本申请第四方面提供了一种计算机可读存储介质,存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的序列映射生成方法。
本申请的技术方案,包括:对闪存的共享页特性表分段成至少一个页段区间;对位于同一个页段区间内的共享页的特性进行共性简化处理,得到当前页段区间的配置信息,其中配置信息包括当前页偏移下相邻两个页之间的页号差、当前页号对页号差的余数、当前页偏移和字线地址下每次编程需连续写的页数、当前页偏移下的起始页号、起始字线地址;存储各页段区间和各配置信息,并建立各页段区间与各配置信息之间的映射关系,实现序列映射。与相关技术相比,通过对共享页特性表进行共性简化处理,利用生成的配置信息包括的几个参数来简化表示共享页特性表,实现对共享页特性表的压缩处理,很好地解决了共享页特性表过度占用内存资源的问题,保证主控的整体运行性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本申请一实施例示出的序列映射生成方法的流程示意图;
图2是本申请另一实施例示出的序列映射生成方法的流程示意图;
图3是本申请另一实施例示出的序列映射生成方法的流程示意图;
图4是本申请一实施例示出的序列映射生成装置的结构示意图;
图5是本申请另一实施例示出的序列映射生成装置的结构示意图;
图6是本申请另一实施例示出的序列映射生成装置的结构示意图;
图7为本申请一实施例示出的存储主控芯片的结构示意图;
图8是本申请一实施例示出的闪存块的组织架构示意图;
图9是本申请一实施例示出的Sequence Page Program Timing的时序图。
具体实施方式
为了便于理解本发明,下面将相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施方式。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本发明的公开内容理解的更加透彻全面。
需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的,并不表示是唯一的实施方式。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
相关技术中,主控对闪存编程时,需主控存储关于共享页特性信息的相关固件代码,相关技术中,有如下两种方式实现:1)存储闪存厂商发布的数据手册中的共享页特性表,此种方式因共享页特性过度占用内存,会影响主控的运行速度;2)不存储共享页特性表,针对闪存开发专用固件代码来管理共享页,此种方式因主控能够兼容更多闪存,内存会保存不同型号闪存关于共享页特性表的专用固件代码,同样会过度占用内存,影响主控的运行速度。
因此,本申请公开了一种序列映射生成方法,以解决存储共享页特性表过度占用内存,影响主控整体运行性能的问题。
以下结合附图和表格详细说明本申请的技术方案。
图1所示的是本申请一实施例中一种序列映射生成方法的流程示意图。
请参阅图1,一种序列映射生成方法,包括如下步骤:
步骤S110、对闪存的共享页特性表分段成至少一个页段区间。
闪存基于单个存储单元存储的比特数据位数可划分成SLC、MLC、TLC闪存,但不管是何种类型的闪存,其内部架构是相同的。如图8所示为闪存块(Block)的组织架构示意图。一个字线(WordLine,WL)对应着一个或者若干页(Page),具体是多少取决于是SLC、MLC或者TLC。对SLC来说,一个WordLine对应一个Page;MLC则对应2个Page,这两个Page是一对(Lower Page和Upper Page);TLC对应3个Page(Lower Page、Upper Page和Extra Page,不同闪存厂商叫法不一样)。一个Page有多大,那么WordLine上面就有多少个存储单元,就有多少个位线(BitLine,BL)。一个块当中的所有这些存储单元都是共用一个衬底的。
共享页特性表,是用于描述块中共享页信息的信息表。共享页特性信息包括共享页的WordLine地址、位置关系、写入顺序、连续写等信息,主控对闪存编程时,需主控存储关于共享页特性信息的相关固件代码,否则主控无法执行对闪存的编程。
如表1所示为型号为B58r闪存的共享页特性表。
表1
对共享页特性表(表1)的参数进行相关说明。
“0~2783”代表当前块中的页号,代表在当前块中,共有2784个页。
“…”代表逐渐递增的页号或者字线地址(WordLine),该字线地址有相同的共享页特性。
“WordLine”是闪存中用于操作页的“结构”,如当需要对块中的某个页进行编程时,需要找到页对应的字线地址,对字线地址进行操作,方可实现对页的编程。前述提及到,TLC闪存中一个常规类型的块的页之间存储关联,是以共享页的形式存在的,即每个共享页由3个页组成,这3个页分别是Lower Page(LP)、Upper Page(UP)和Extra Page(XP)。
“-”表示的是当对该条字线地址操作时,不需要此页进行编程。例如,当对WordLine0这个字线地址操作时,只需要编程1个页,即仅对Page0进行编程。又如当对WordLine4这个字线地址操作时,需要编程3个页,即需要对Page4、Page5和Page6进行编程。
主控对某条字线地址操作时,主控是如何“知道”该字线地址的编程规则的呢?这就涉及到闪存协议中关于Sequence Page Program Timing的操作流程。如图9所示为Sequence Page Program Timing的时序图。假定需要操作的WordLine包括LowerPage、UpperPage和ExtraPage三个共享页。主控先发送01h指令告诉闪存需要将数据编程至该WordLine对应的LowerPage中,接着传输地址(C1/C2/R1/R2/R3),写入数据(W-Data),此时就该WordLine对应的LowerPage的数据写入Plane中的Buffer中。接着,主控发送02h指令告诉闪存需要将数据编程至该WordLine对应的UpperPage中,传输地址(C1/C2/R1/R2/R3),写入数据(W-Data),此时就该WordLine对应的UpperPage的数据写入Plane中的Buffer中。随后,主控发送03h指令告诉闪存需要将数据编程至该WordLine对应的ExtraPage中,传输地址(C1/C2/R1/R2/R3),写入数据(W-Data),此时就该WordLine对应的ExtraPage的数据写入Plane中的Buffer中。最后,主控发送10h指令告诉闪存确定将3笔数据分别编程至该WordLine对应的LowerPage、UpperPage和ExtraPage中,完成对该WordLine整个编程过程。
需要强调的是,根据表1的可知,并非所有的WordLine都对应有3个共享页(LowerPage、UpperPage和ExtraPage),因此,若闪存操作的WordLine中对应只有1个页时,如表1中WordLine0,基于Sequence Page Program Timing的操作流程,主控先发送01h指令告诉闪存需要将数据编程至该WordLine对应的LowerPage中,接着传输地址(C1/C2/R1/R2/R3/R4),写入数据(W-Data),此时就该WordLine对应的LowerPage的数据写入Plane中的Buffer中。随后,主控发送10h指令告诉闪存确定将1笔数据分别编程至该WordLine0对应的LowerPage中,完成对该WordLine0整个编程过程。
由此可见,主控对闪存编程时,是需要“了解”怎么对该WordLine怎么操作的。相关技术中,由于闪存的内存中需要存储共享页特性表,针对页数量很多的闪存,共享页特性表会占用内存很大空间,进而影响主控的整体性能,但是主控为了控制闪存实现数据写入,内存中又不得不存储共享页特性表,若不存储,主控无法控制闪存实现数据编程任务,因此,需要对共享页特性表的长度进行压缩,避免共享页特性表占用太多内存资源。
本实施例中,利用共享页特性表中不同WordLine包括的共享页具有相同的特性条件下,将这些具有相同特性的不同WordLine包括的共享页归类至同一组,再基于位于同一组内的共享页的共性特性生成能够配置信息,以此来实现对共享页特性表的简化、压缩。
本实施例中,对闪存的共享页特性表分段成至少一个页段区间可按如下方式执行:读取闪存中块包含的页;根据字线地址偏移增量的连续性、当前字线地址包含的共享页将块包含的页分段成至少一个页段区间。
请参阅表1,闪存中块包含2784个页,通过观察分析表1可知,对于WordLine0~WordLine3而言,当需要操作这4个字线地址时,都需要对LowPage进行编程,不需要对UpperPage和Extra page进行编程,即每次编程需要连续写1个页,WordLine0~WordLine3的字线地址偏移增量是连续的,因此可以将Page0~Page3划分至同一个页段区间。
同理,对于WordLine4~WordLine463而言,当需要操作这460个字线地址时,都需要对Low Page、Upper Page和Extra page进行编程,即每次编程需要连续写3个页,且WordLine4~WordLine463的字线地址偏移增量是连续的,因此可以将Page4~Page1383划分至同一个页段区间。
同理,对于WordLine464~WordLine471而言,当需要操作这8个字线地址时,都需要对Low Page和Upper Page进行编程,即每次编程需要连续写2个页,且WordLine464~WordLine471的字线地址偏移增量是连续的,因此可以将Page1384~Page1399划分至同一个页段区间。
同理,对于WordLine472~WordLine931而言,当需要操作这460个字线地址时,都需要对Low Page、Upper Page和Extra page进行编程,即每次编程需要连续写3个页,且WordLine472~WordLine931的字线地址偏移增量是连续的,因此可以将Page1400~Page2799划分至同一个页段区间。
同理,对于WordLine932~WordLine935而言,当需要操作这4个字线地址时,都需要对Low Page进行编程,即每次编程需要连续写1个页,且WordLine472~WordLine931的字线地址偏移增量是连续的,因此可以将Page1400~Page2799划分至同一个页段区间。
通过执行步骤S110,就能够表1中的共享页特性表就能够生成5个页段区间,分别是:
第1个页段区间[Min:Max]=[0:3];
第2个页段区间[Min:Max]=[4:1383];
第3个页段区间[Min:Max]=[1384:1399];
第4个页段区间[Min:Max]=[1400:2799];
第5个页段区间[Min:Max]=[2780:2783]。
步骤S120、对位于同一个页段区间内的共享页的特性进行共性简化处理,得到当前页段区间的配置信息,其中配置信息包括当前页偏移下相邻两个页之间的页号差、当前页号对页号差的余数、当前页偏移和字线地址下每次编程需连续写的页数、当前页偏移下的起始页号、起始字线地址。
配置信息,是用于表示当前页段区间内,各共享页的特性。主控执行对闪存的编程操作时,可通过预先读取内存中的配置信息来“了解”如何执行对共享页的编程操作。如共享页的WordLine地址、位置关系、写入顺序、连续写等。
针对型号为B58r的TLC闪存,由于包含LowPage、UpperPage和ExtraPage,因此配置信息如表2所示:
表2
其中,Rem是根据由小到大的顺序进行排序,PageNum的高四位代表当前页偏移,低四位代表当前字线地址下每次编程需连续写的页数。表2中的5个参数在本实施例中均以16进制的方式进行,采用16进制是考虑到某些型号的闪存中块包含的页数很多,16进制的表示方式能够涵盖其最大页号或者字线地址。
针对第1个页段区间[0:3],对于页偏移等于0对应的页,页号对页号差的余数均等于0,每次编程需连续写的页数均为1(即每次编程需编程LowPage),起始页号均为0,起始字线地址均为0。因此,第1个页段区间[0:3]的共享页的特性进行共性简化处理所生成的配置信息如表3所示:
Cell | 0x01 | 不编程 | 不编程 |
Rem | 0x00 | 不编程 | 不编程 |
PageNum | 0x01 | 不编程 | 不编程 |
Start | 0x00 | 不编程 | 不编程 |
WordLine | 0x00 | 不编程 | 不编程 |
表3
同理,针对第2个页段区间[4:1383],对于页偏移等于0对应的页,页号对页号差的余数均等于1,每次编程需连续写的页数均为3(即每次编程需编程LowPage、UpperPage和Extra page),起始页号均为4,起始字线地址均为4。对于页偏移等于1对应的页,页号对页号差的余数均等于2,每次编程需连续写的页数均为3(即每次编程需编程LowPage、UpperPage和Extra page),起始页号均为5,起始字线地址均为4。对于页偏移等于3对应的页,页号对页号差的余数均等于0,每次编程需连续写的页数均为3(即每次编程需编程LowPage、UpperPage和Extra page),起始页号均为6,起始字线地址均为4。因此,第2个页段区间[4:1383]的共享页的特性进行共性简化处理所生成的配置信息如表4所示:
Cell | 0x03 | 0x03 | 0x03 |
Rem | 0x00 | 0x01 | 0x02 |
PageNum | 0x23 | 0x03 | 0x13 |
Start | 0x06 | 0x04 | 0x05 |
WordLine | 0x04 | 0x04 | 0x04 |
表4
同理,针对第3个页段区间[1384:1399],对于页偏移等于0对应的页,页号对页号差的余数均等于0,每次编程需连续写的页数均为2(即每次编程需编程LowPage和UpperPage),起始页号均为1384,起始字线地址均为464。对于页偏移等于1对应的页,页号对页号差的余数均等于1,每次编程需连续写的页数均为2(即每次编程需编程LowPage和UpperPage),起始页号均为1385,起始字线地址均为464。因此,第3个页段区间[1384:1399]的共享页的特性进行共性简化处理所生成的配置信息如表5所示:
Cell | 0x02 | 0x02 | 不编程 |
Rem | 0x00 | 0x01 | 不编程 |
PageNum | 0x02 | 0x12 | 不编程 |
Start | 0x568 | 0x569 | 不编程 |
WordLine | 0x1D0 | 0x1D0 | 不编程 |
表5
同理,针对第4个页段区间[1400:2799],对于页偏移等于0对应的页,页号对页号差的余数均等于2,每次编程需连续写的页数均为3(即每次编程需编程LowPage、UpperPage和Extra Page),起始页号均为1400,起始字线地址均为472。对于页偏移等于1对应的页,页号对页号差的余数均等于0,每次编程需连续写的页数均为3(即每次编程需编程LowPage、UpperPage和Extra Page),起始页号均为1401,起始字线地址均为472。对于页偏移等于2对应的页,页号对页号差的余数均等于1,每次编程需连续写的页数均为3(即每次编程需编程LowPage、UpperPage和Extra Page),起始页号均为1402,起始字线地址均为472。因此,第4个页段区间[1400:2799]的共享页的特性进行共性简化处理所生成的配置信息如表6所示:
Cell | 0x03 | 0x03 | 0x03 |
Rem | 0x00 | 0x01 | 0x02 |
PageNum | 0x13 | 0x23 | 0x03 |
Start | 0x579 | 0x578 | 0x57A |
WordLine | 0x1D8 | 0x1D8 | 0x1D8 |
表6
同理,针对第5个页段区间[2780:2783],对于页偏移等于0对应的页,页号对页号差的余数均等于0,每次编程需连续写的页数均为1(即每次编程需编程LowPage),起始页号均为2780,起始字线地址均为932。因此,第5个页段区间[2780:2783]的共享页的特性进行共性简化处理所生成的配置信息如表7所示:
Cell | 0x01 | 不编程 | 不编程 |
Rem | 0x00 | 不编程 | 不编程 |
PageNum | 0x01 | 不编程 | 不编程 |
Start | 0xADC | 不编程 | 不编程 |
WordLine | 0x3A4 | 不编程 | 不编程 |
表7
将5个页段区间和表3~表7的配置信息进行统一表示,得到表8:
页段区间 | 配置信息(Cell,Rem,PageNum,Start,WordLine) |
[0:3] | 1,0,1,0,0 |
[4:1383] | 3,3,3,0,1,2,23,3,13,6,4,5,4,4,4 |
[1384:1399] | 2,2,0,1,2,12,568,569,1D0,1D0 |
[1400:2799] | 3,3,3,0,1,2,13,23,3,579,57A,578,1D8,1D8,1D8 |
[2780:2783] | 1,0,1,ADC,3A4 |
表8
其中,由于并非每个字线地址对应的共享页都会执行编程操作,针对如表3中不需要编程的共享页,其对应的配置信息则无需存储。
通过执行步骤S110和步骤S120,就能够将表1中的共享页特性表共性简化处理成表8,实现对共享页特性表的压缩处理。
步骤S130、存储各页段区间和各配置信息,并建立各页段区间与各配置信息之间的映射关系,实现序列映射。
生成页段区间和配置信息后,只需要将页段区间和配置信息存储至主控的内存中,并建立页段区间与配置信息之间的映射关系,实现序列映射(SequenceMap)。
相关技术中,若将共享页特性表整个存储在主控的内存中,即使以1比特表示1个页,表3中总共2784个页就需要2784个比特存储,会占用内存348个字节(2784/8)的长度。而存储共性简化处理后的表8,以每个参数配置2字节来存储,页段区间和配置信息最多只需要5*(2+2+2+2+2+2)=60个字节的长度来存储,而在实际配置过程中,当前页号对页号差的余数(Rem)以及当前页偏移和字线地址下每次编程需连续写的页数(PageNum)的值都不会太大,因此通常只需要配置1字节来存储,针对页段区间、当前页偏移下相邻两个页之间的页号差(Cell)、当前页偏移下的起始页号(Start)以及起始字线地址(WordLine)才需要配置2字节的长度来存储,因此实际配置过程中,配置信息只需要5*(2+2+1+1+2+2)=50字节长度来存储。经比对可知,50字节与348字节相差接近7倍,可见采用本实施例的技术方案能够对很大程度实现对共享页特性表数据量的压缩处理。
通过对共享页特性表进行共性简化处理,利用生成的配置信息包括的几个参数来简化表示共享页特性表,实现对共享页特性表的压缩处理,很好地解决了共享页特性表过度占用内存资源的问题,保证主控的整体运行性能。
另外,针对相关技术中针对不同型号的闪存作定制化固件代码的方案相比,采用本实施例的技术方案还能够简化固件代码,无需针对不同型号的闪存作定制化固件代码开发。即使不同型号的闪存其对应的共享页特性表不同,我们只需要按照步骤S110~步骤S120,针对每款闪存生成相应的配置信息并存储即可,无需作定制化固件代码开发,且由于共性简化处理后的共享页特性表不会过度占用内存,使得主控的内存能够存储更多型号闪存对应的共享页特性表。
再者,后期即使需要增加、删除、修改页段区间或者配置信息,只需要定位到需要修改的页段区间或者配置信息即可实现,灵活性、兼容性都极强。
图2示出了本申请另一实施例中一种序列映射生成方法的流程示意图。
请参阅图2,一种序列映射生成方法,包括如下步骤:
步骤S210、对闪存的共享页特性表分段成至少一个页段区间。
闪存块的组织架构、共享页特性表、Sequence Page Program Timing的相关概念、说明请参阅步骤S110中的阐述,此处不再赘述。
本实施例中,对闪存的共享页特性表分段成至少一个页段区间可按如下方式执行:读取闪存中块包含的页;根据字线地址偏移增量的连续性、当前字线地址包含的共享页将块包含的页分段成至少一个页段区间。
请参阅表1,闪存中块包含2784个页,通过观察分析表1可知,对于WordLine0~WordLine3而言,当需要操作这4个字线地址时,都需要对LowPage进行编程,不需要对UpperPage和Extra page进行编程,即每次编程需要连续写1个页,WordLine0~WordLine3的字线地址偏移增量是连续的,因此可以将Page0~Page3划分至同一个页段区间。
通过执行步骤S110,就能够表1中的共享页特性表就能够生成5个页段区间,分别是:
第1个页段区间[Min:Max]=[0:3];
第2个页段区间[Min:Max]=[4:1383];
第3个页段区间[Min:Max]=[1384:1399];
第4个页段区间[Min:Max]=[1400:2799];
第5个页段区间[Min:Max]=[2780:2783]。
步骤S220、对位于同一个页段区间内的共享页的特性进行共性简化处理,得到当前页段区间的配置信息,其中配置信息包括当前页偏移下相邻两个页之间的页号差、当前页号对页号差的余数、当前页偏移和字线地址下每次编程需连续写的页数、当前页偏移下的起始页号、起始字线地址。
配置信息请参阅步骤S120的相关阐述,此处不再赘述。
第1个页段区间[0:3]生成的配置信息请参阅步骤S120中的表3,不再赘述。
第2个页段区间[4:1383]生成的配置信息请参阅步骤S120中的表4,不再赘述。
第3个页段区间[1384:1399]生成的配置信息请参阅步骤S120中的表5,不再赘述。
第4个页段区间[1400:2799]生成的配置信息请参阅步骤S120中的表6,不再赘述。
第5个页段区间[2780:2783]生成的配置信息请参阅步骤S120中的表7,不再赘述。
将5个页段区间和表3~表7的配置信息进行统一表示,请参阅步骤S120中的表8,不再赘述。
通过执行步骤S210和步骤S220,就能够将表1中的共享页特性表共性简化处理成表8,实现对共享页特性表的压缩处理。
步骤S230、若同一个页段区间中,不同页偏移下相邻两个页之间的页号差相同,则保留其中一个页偏移下相邻两个页之间的页号差作为当前页段区间中的当前页偏移下相邻两个页之间的页号差。
对于市面上大多数闪存的共享页特性表而言,在采用本实施例的方案对共享页特性表中的页进行分段后,在每个页段区间且不同页偏移下,相邻两个页之间的页号差均是相同的,如表1中的第2个页段区间[4:1383],页偏移等于0中相邻两个页之间的页号差是3,页偏移等于1中相邻两个页之间的页号差也是3,页偏移等于2中相邻两个页之间的页号差同样也是3。因此,针对在同一个页段区间中,不同页偏移下相邻两个页之间的页号差相同的情况下,可以保留其中一个页偏移下相邻两个页之间的页号差作为当前页段区间中的当前页偏移下相邻两个页之间的页号差,以此来进一步压缩配置信息的大小。
如经过步骤S230,能够将表8中的配置信息进一步压缩成表9:
页段区间 | 配置信息(Cell,Rem,PageNum,Start,WordLine) |
[0:3] | 1,0,1,0,0 |
[4:1383] | 3,0,1,2,23,3,13,6,4,5,4,4,4 |
[1384:1399] | 2,0,1,2,12,568,569,1D0,1D0 |
[1400:2799] | 3,0,1,2,13,23,3,579,57A,578,1D8,1D8,1D8 |
[2780:2783] | 1,0,1,ADC,3A4 |
表9
表9相对于表8而言,由于仅保留其中一个页偏移下相邻两个页之间的页号差作为当前页段区间中的当前页偏移下相邻两个页之间的页号差,使得本来需要配置2字节的长度来存储当前页偏移下相邻两个页之间的页号差(Cell)这个参数,可以修改成配置1字节的长度来存储当前页偏移下相邻两个页之间的页号差(Cell)这个参数。进一步压缩后的共享页特性表的大小,进一步压缩后的共享页特性表长度=5*(2+1+1+1+2+2)=45字节,比原来没有压缩前又压缩了5字节的长度,若内存中存储有至少10个以上的序列映射,就能够节约至少50字节的内存资源,对于主控的内存和主控两者而言都是非常有好处的。
步骤S240、存储各页段区间和各配置信息,并建立各页段区间与各配置信息之间的映射关系,实现序列映射。
生成页段区间和配置信息后,只需要将页段区间和配置信息存储至主控的内存中,并建立页段区间与配置信息之间的映射关系,实现序列映射(SequenceMap)。
建立页段区间与配置信息之间的映射关系,可按照如下方式执行:
请参阅表9。
[0:3] | [4:1383] | [1384:1399] | [1400:2799] | [2780:2783] | A | B | C | D | E |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
表9
现生成的5个页段区间对应的配置信息分别是配置信息A、配置信息B、配置信息C、配置信息D和配置信息E。
内存在内部给5个页段区间和5个配置信息分配地址,如页段区间[0:3]的地址是1,页段区间[4:1383]的地址是2,页段区间[1384:1399]的地址是3,页段区间[1400:2799]的地址是4,页段区间[2780:2783]地址是5,配置信息A的地址是6,配置信息B的地址是7,配置信息C的地址是8,配置信息D的地址是9,配置信息E的地址是10。内存采用偏移量来完成映射,页段区间[0:3]与配置信息A的地址偏移量等于5,当主控读取页段区间[0:3],内存会“告知”在页段区间[0:3]的地址的基础上增加5个偏移量即可找到页段区间[0:3]对应的配置信息A。同理,当主控读取页段区间[4:1383],内存会“告知”在页段区间[4:1383]的地址的基础上增加5个偏移量即可找到页段区间[4:1383]对应的配置信息B,以此类推。通过上述方式就可以建立页段区间与配置信息之间的映射关系。实际页段区间和配置信息存储至内存时,它们相对的偏移量并非是相等的,是根据地址计算出来的偏移量。
本实施例通过对共享页特性表进行共性简化处理,利用生成的配置信息包括的几个参数来简化表示共享页特性表,实现对共享页特性表的压缩处理,很好地解决了共享页特性表过度占用内存资源的问题,保证主控的整体运行性能。
另外,针对相关技术中针对不同型号的闪存作定制化固件代码的方案相比,采用本实施例的技术方案还能够简化固件代码,无需针对不同型号的闪存作定制化固件代码开发。即使不同型号的闪存其对应的共享页特性表不同,我们只需要按照步骤S110~步骤S120,针对每款闪存生成相应的配置信息并存储即可,无需作定制化固件代码开发,且由于共性简化处理后的共享页特性表不会过度占用内存,使得主控的内存能够存储更多型号闪存对应的共享页特性表。
再者,后期即使需要增加、删除、修改页段区间或者配置信息,只需要定位到需要修改的页段区间或者配置信息即可实现,灵活性、兼容性都极强。
图3示出了本申请另一实施例中一种序列映射生成方法的流程示意图。
请参阅图3,一种序列映射生成方法,包括如下步骤:
步骤S310、对闪存的共享页特性表分段成至少一个页段区间。
步骤S310请参阅步骤S210的相关阐述,此处不再赘述。
步骤S320、对位于同一个页段区间内的共享页的特性进行共性简化处理,得到当前页段区间的配置信息,其中配置信息包括当前页偏移下相邻两个页之间的页号差、当前页号对页号差的余数、当前页偏移和字线地址下每次编程需连续写的页数、当前页偏移下的起始页号、起始字线地址。
步骤S320请参阅步骤S220的相关阐述,此处不再赘述。
步骤S330、若同一个页段区间中,不同页偏移下相邻两个页之间的页号差相同,则保留其中一个页偏移下相邻两个页之间的页号差作为当前页段区间中的当前页偏移下相邻两个页之间的页号差。
步骤S330请参阅步骤S230的相关阐述,此处不再赘述。
步骤S340、存储各页段区间和各配置信息,并建立各页段区间与各配置信息之间的映射关系,实现序列映射。
步骤S340请参阅步骤S240的相关阐述,此处不再赘述。
步骤S350、若至少两个页段区间对应的配置信息相同,则将至少两个页段区间共同映射至其中一个相同的配置信息中,并将其余相同的配置信息删除。
为了进一步节约内存的空间大小,若至少两个页段区间对应的配置信息相同的情况下,可以将至少两个页段区间共同映射至其中一个相同的配置信息中。例如若页段区间[0:3]和页段区间[2780:2783]的配置信息相同,将页段区间[0:3]和页段区间[2780:2783]共同映射至其中一个相同的配置信息中,并把剩余相同的配置信息从内存中删除,以此来进一步节约内存的空间大小。
执行步骤S310~步骤S360后,主控中的内存就存储有序列映射(共享页特性表)。假设现主控需要将16K数据写入至闪存中的Page100时,“100”对应需要待编程Page的页号,主控通过内存找到待编程Page对应段区间[4:1383],通过映射关系找到页段区间[4:1383]对应的配置信息表B,根据配置信息表B的内容,100对3的余数是1,定位是表3的第2列,第2列内容对应的是0x03,0x01,0x03,0x04,0x04,该列信息代表的内容是当需要写入Page100时,需要对应一起写Page101和Page102。
Page100对应的WordLine是(100-6)/3+4=36;
Page101对应的WordLine是(101-5)/3+4=36;
Page102对应的WordLine是(102-6)/3+4=36。
因此,Page100、Page101和Page102的对应的WordLin,都是36(主控就确定要编程的行地址(R1/R2/R3/R4)是多少,还基于待写入Page位于的Plane确定列地址(C1/C2)是多少)。同时基于序列映射还确定写Page100、Page101和Page102时,写入顺序是先写Page100(Low Page),再写Page101(Upper Page),最后写Page102(Extra Page),但由于需要连续写3个Page,由于大部分闪存的Page大小为16K,这次需要写入的数据大小同样也是16K,因此写入数据的大小达不到48K(16*3)的大小,因此需要先将16数据写入闪存的Buffer中,待后续主控往闪存传入32K时,将32K数据和已经写入Buffer的16K数据一起写入至Page100、Page101和Page102中。
需要说明的是,以上的举例是以型号B58r的TLC闪存来说明的,本实施例的方案同样适配MLC、QLC闪存,适用MLC闪存时,只需要将每条WordLine地址对应的Extra Page删除即可,因为MLC闪存的WordLine对应两个Page。还需要说明的是,由于SLC闪存是不存在共享页的,因此SLC闪存没有共享页特性表这一特征。
本实施例通过对共享页特性表进行共性简化处理,利用生成的配置信息包括的几个参数来简化表示共享页特性表,实现对共享页特性表的压缩处理,很好地解决了共享页特性表过度占用内存资源的问题,保证主控的整体运行性能。
另外,针对相关技术中针对不同型号的闪存作定制化固件代码的方案相比,采用本实施例的技术方案还能够简化固件代码,无需针对不同型号的闪存作定制化固件代码开发。即使不同型号的闪存其对应的共享页特性表不同,我们只需要按照步骤S110~步骤S120,针对每款闪存生成相应的配置信息并存储即可,无需作定制化固件代码开发,且由于共性简化处理后的共享页特性表不会过度占用内存,使得主控的内存能够存储更多型号闪存对应的共享页特性表。
再者,后期即使需要增加、删除、修改页段区间或者配置信息,只需要定位到需要修改的页段区间或者配置信息即可实现,灵活性、兼容性都极强。
与前述的方法实施例相对应,本申请提供了一种序列映射生成装置及相应的实施例。
如图4所示为本申请一实施例中的一种序列映射生成装置的结构示意图。
请参阅图4,一种序列映射生成装置400,包括:分段模块410、共性简化模块420和序列映射模块430。
分段模块410用于对闪存的共享页特性表分段成至少一个页段区间。
共性简化模块420用于对位于同一个页段区间内的共享页的特性进行共性简化处理,得到当前页段区间的配置信息,其中配置信息包括当前页偏移下相邻两个页之间的页号差、当前页号对页号差的余数、当前页偏移和字线地址下每次编程需连续写的页数、当前页偏移下的起始页号、起始字线地址。
序列映射模块430用于存储各页段区间和各配置信息,并建立各页段区间与各配置信息之间的映射关系,实现序列映射。
进一步地,在其中一个可能的实施例中,分段模块410包括读取单元411和页段生成单元412。
读取单元411用于读取闪存中块包含的页;
页段生成单元412用于根据字线地址偏移增量的连续性、当前字线地址包含的共享页将块包含的页分段成至少一个页段区间。
需要说明的是,该实施例公开的序列映射生成装置所实现的序列映射生成方法如上述实施例,故在此不再进行详细讲述。可选地,本实施例中的各个模块和上述其他操作或功能分别为了实现前述实施例中的方法。
如图5所示为本申请一实施例中的一种序列映射生成装置的结构示意图。
请参阅图5,一种序列映射生成装置400,包括:分段模块410、共性简化模块420、第一压缩模块440、序列映射模块430。
其中分段模块410、共性简化模块420和序列映射模块430的相关阐述请参阅图4,此处不再赘述。
第一压缩模块440用于若同一个页段区间中,不同页偏移下相邻两个页之间的页号差相同,则保留其中一个页偏移下相邻两个页之间的页号差作为当前页段区间中的当前页偏移下相邻两个页之间的页号差。
进一步地,在其中一个可能的实施例中,分段模块410包括读取单元411和页段生成单元412。
其中读取单元411和页段生成单元412的相关阐述请参阅图4,此处不再赘述。
需要说明的是,该实施例公开的序列映射生成装置所实现的序列映射生成方法如上述实施例,故在此不再进行详细讲述。可选地,本实施例中的各个模块和上述其他操作或功能分别为了实现前述实施例中的方法。
如图6所示为本申请一实施例中的一种序列映射生成装置的结构示意图。
请参阅图6,一种序列映射生成装置400,包括:分段模块410、共性简化模块420、第一压缩模块440、序列映射模块430、第二压缩模块450。
其中分段模块410、共性简化模块420、第一压缩模块440和序列映射模块430的相关阐述请参阅图5,此处不再赘述。
第二压缩模块450用于若至少两个页段区间对应的配置信息相同,则将至少两个页段区间共同映射至其中一个相同的配置信息中,并将其余相同的配置信息删除。
进一步地,在其中一个可能的实施例中,分段模块410包括读取单元411和页段生成单元412。
其中读取单元411和页段生成单元412的相关阐述请参阅图5,此处不再赘述。
需要说明的是,该实施例公开的序列映射生成装置所实现的序列映射生成方法如上述实施例,故在此不再进行详细讲述。可选地,本实施例中的各个模块和上述其他操作或功能分别为了实现前述实施例中的方法。
图7示出了本申请一实施例中的一种存储主控芯片的结构示意图。
参阅图7,本申请一实施例示出了一种存储主控芯片700,包括如上述实施例的序列映射生成装置400。
其中,基于上述实施例可知基于序列映射生成装置400,能够通过对共享页特性表进行共性简化处理,利用生成的配置信息包括的几个参数来简化表示共享页特性表,实现对共享页特性表的压缩处理,很好地解决了共享页特性表过度占用内存资源的问题,保证主控的整体运行性能。
另外,序列映射生成装置400使得存储主控芯片700无需针对不同型号的闪存作定制化固件代码开发。即使不同型号的闪存其对应的共享页特性表不同,只需要针对每款闪存生成相应的配置信息并存储即可,无需作定制化固件代码开发,且由于共性简化处理后的共享页特性表不会过度占用内存,使得存储主控芯片700的内存能够存储更多型号闪存对应的共享页特性表,提高存储主控700的兼容性。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种计算机可读存储介质(或非暂时性机器可读存储介质或机器可读存储介质),其上存储有可执行代码(或计算机程序或计算机指令代码),当可执行代码(或计算机程序或计算机指令代码)被电子设备(或服务器等)的处理器执行时,使处理器执行根据本申请的上述方法的各个步骤的部分或全部。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种序列映射生成方法,其特征在于,包括:
对闪存的共享页特性表分段成至少一个页段区间;
对位于同一个所述页段区间内的共享页的特性进行共性简化处理,得到当前所述页段区间的配置信息,其中所述配置信息包括当前页偏移下相邻两个页之间的页号差、当前页号对所述页号差的余数、当前所述页偏移和字线地址下每次编程需连续写的页数、当前所述页偏移下的起始页号、起始字线地址;
存储各所述页段区间和各所述配置信息,并建立各所述页段区间与各所述配置信息之间的映射关系,实现序列映射。
2.根据权利要求1所述的序列映射生成方法,其特征在于,所述对位于同一个所述页段区间内的所述共享页的特性进行共性简化处理,得到所述配置信息之后,还包括:
若同一个所述页段区间中,不同所述页偏移下相邻两个所述页之间的所述页号差相同,则保留其中一个所述页偏移下相邻两个页之间的页号差作为当前所述页段区间中的所述当前页偏移下相邻两个页之间的页号差。
3.根据权利要求1所述的序列映射生成方法,其特征在于,所述存储各所述页段区间和各所述配置信息,并建立各所述页段区间与各所述配置信息之间的映射关系,实现序列映射之后,还包括:
若至少两个所述页段区间对应的所述配置信息相同,则将至少两个所述页段区间共同映射至其中一个相同的所述配置信息中,并将其余相同的所述配置信息删除。
4.根据权利要求1~3中任意一项所述的序列映射生成方法,其特征在于,所述对闪存的共享页特性表进行分段形成至少一个页段区间,包括:
读取闪存中块包含的页;
根据字线地址偏移增量的连续性、当前所述字线地址包含的共享页将所述块包含的所述页分段成至少一个页段区间。
5.一种序列映射生成装置,其特征在于,包括:
分段模块,用于对闪存的共享页特性表分段成至少一个页段区间;
共性简化模块,用于对位于同一个所述页段区间内的共享页的特性进行共性简化处理,得到当前所述页段区间的配置信息,其中所述配置信息包括当前页偏移下相邻两个页之间的页号差、当前页号对所述页号差的余数、当前所述页偏移和字线地址下每次编程需连续写的页数、当前所述页偏移下的起始页号、起始字线地址;
序列映射模块,用于存储各所述页段区间和各所述配置信息,并建立各所述页段区间与各所述配置信息之间的映射关系,实现序列映射。
6.根据权利要求5所述的序列映射生成装置,其特征在于,还包括:
第一压缩模块,用于若同一个所述页段区间中,不同所述页偏移下相邻两个所述页之间的所述页号差相同,则保留其中一个所述页偏移下相邻两个页之间的页号差作为当前所述页段区间中的所述当前页偏移下相邻两个页之间的页号差。
7.根据权利要求5所述的序列映射生成装置,其特征在于,还包括:
第二压缩模块,用于若至少两个所述页段区间对应的所述配置信息相同,则将至少两个所述页段区间共同映射至其中一个相同的所述配置信息中,并将其余相同的所述配置信息删除。
8.根据权利要求5~7中任意一项所述的序列映射生成装置,其特征在于,所述分段模块包括读取单元和页段生成单元;
所述读取单元,用于读取闪存中块包含的页;
所述页段生成单元,用于根据字线地址偏移增量的连续性、当前所述字线地址包含的共享页将所述块包含的所述页分段成至少一个页段区间。
9.一种存储主控芯片,其特征在于,包括权利要求5~8中任意一项所述的序列映射生成装置。
10.一种计算机可读存储介质,其特征在于,存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1~4中任意一项所述的序列映射生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310947770.6A CN117270760A (zh) | 2023-07-31 | 2023-07-31 | 序列映射生成方法、装置、存储主控芯片及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310947770.6A CN117270760A (zh) | 2023-07-31 | 2023-07-31 | 序列映射生成方法、装置、存储主控芯片及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117270760A true CN117270760A (zh) | 2023-12-22 |
Family
ID=89207085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310947770.6A Pending CN117270760A (zh) | 2023-07-31 | 2023-07-31 | 序列映射生成方法、装置、存储主控芯片及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117270760A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160210243A1 (en) * | 2015-01-16 | 2016-07-21 | Oracle International Corporation | Memory Paging for Processors using Physical Addresses |
CN107832013A (zh) * | 2017-11-03 | 2018-03-23 | 中国科学技术大学 | 一种管理固态硬盘映射表的方法 |
CN112486861A (zh) * | 2020-11-30 | 2021-03-12 | 深圳忆联信息***有限公司 | 固态硬盘映射表数据查询方法、装置、计算机设备及存储介质 |
CN114764395A (zh) * | 2021-01-15 | 2022-07-19 | 爱思开海力士有限公司 | 处置存储器***中存储的数据的设备和方法 |
-
2023
- 2023-07-31 CN CN202310947770.6A patent/CN117270760A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160210243A1 (en) * | 2015-01-16 | 2016-07-21 | Oracle International Corporation | Memory Paging for Processors using Physical Addresses |
CN107832013A (zh) * | 2017-11-03 | 2018-03-23 | 中国科学技术大学 | 一种管理固态硬盘映射表的方法 |
CN112486861A (zh) * | 2020-11-30 | 2021-03-12 | 深圳忆联信息***有限公司 | 固态硬盘映射表数据查询方法、装置、计算机设备及存储介质 |
CN114764395A (zh) * | 2021-01-15 | 2022-07-19 | 爱思开海力士有限公司 | 处置存储器***中存储的数据的设备和方法 |
US20220229772A1 (en) * | 2021-01-15 | 2022-07-21 | SK Hynix Inc. | Apparatus and method for handling data stored in a memory system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8732385B2 (en) | Non-volatile memory, controller controlling next access | |
CN106484316B (zh) | 用来管理一记忆装置的方法以及记忆装置与控制器 | |
US8510497B2 (en) | Flash storage device with flexible data format | |
CN105740163A (zh) | 一种Nand Flash坏块管理方法 | |
CN110489052B (zh) | 数据储存装置 | |
CN106648463B (zh) | Nand Flash块管理方法和*** | |
CN108039190B (zh) | 一种测试方法及装置 | |
CN106598504B (zh) | 数据存储方法及装置 | |
CN112596668A (zh) | 一种存储器的坏块处理方法及*** | |
CN107045423B (zh) | 存储器装置及其数据存取方法 | |
CN113345510B (zh) | 一种flash的容量识别方法及容量识别*** | |
CN117270760A (zh) | 序列映射生成方法、装置、存储主控芯片及存储介质 | |
CN112148203B (zh) | 存储器管理方法、装置、电子设备及存储介质 | |
CN111061651B (zh) | 一种串行eeprom型号的识别方法、装置及存储介质 | |
CN114546292A (zh) | 一种nand flash坏块管理方法及*** | |
CN109783024B (zh) | 数据存储处理方法及装置 | |
US8503241B2 (en) | Electronic apparatus and data reading method | |
CN107704247B (zh) | 一种减小多核固件大小的方法 | |
CN113031854A (zh) | 一次性可编程存储器装置及其容错方法 | |
CN110287030B (zh) | 内存使用方法和装置 | |
CN111897489A (zh) | 数据写入方法、装置、设备及计算机可读存储介质 | |
CN109101436A (zh) | 数据动态寻址存储方法、装置及存储介质、终端设备 | |
CN110737405A (zh) | 基于固态硬盘的wordline数据存储实现方法和装置 | |
CN111949559B (zh) | 一种数据写入方法、装置及存储设备 | |
CN111966294B (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 |