CN104461393B - 一种闪存存储器的混合映射方法 - Google Patents
一种闪存存储器的混合映射方法 Download PDFInfo
- Publication number
- CN104461393B CN104461393B CN201410749577.2A CN201410749577A CN104461393B CN 104461393 B CN104461393 B CN 104461393B CN 201410749577 A CN201410749577 A CN 201410749577A CN 104461393 B CN104461393 B CN 104461393B
- Authority
- CN
- China
- Prior art keywords
- page
- block
- page number
- physical
- lpn
- 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.)
- Active
Links
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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/068—Hybrid storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种闪存存储器的混合映射方法,属于固态存储领域,解决现有映射方法存在的处理随机写请求并行度不足的问题,从而提升闪存存储器的性能。本发明包括初始设置步骤、缓存操作步骤、数据读操作步骤及数据写操作步骤,通过引入虚拟存储块的概念,当发生数据写操作时,仅当缓存中替换出来的页连续,且能够写入顺序写日志块中时,仍然按照传统闪存存储器的方式写入,在其他情况下,均可以将其写入虚拟存储块中的一个大页内,由于一个大页中的多个物理页支持并行地写入,因此节省了数据写操作的时间,从而提升了闪存存储器的性能。
Description
技术领域
本发明属于固态存储领域,具体涉及一种固态存储设备(闪存)的混合映射方法。
背景技术
闪存是一种具有高密度,大容量,非易失性等特点的新型存储介质,与磁介质相比,它具有较低的读写延时和较低的能耗,越来越广泛的应用于各种领域。
闪存分为或非(NOR)型和与非(NAND)型两种。1988年英特尔公司开发出或非型闪存,1989年,东芝公司开发出与非型闪存。
本发明适用于与非型闪存,如无特别说明,本发明所述闪存均指与非型闪存。
闪存存储器是使用闪存芯片作为主要存储介质的存储器,其结构如图1所示,闪存存储器包括固态盘控制器、片上内存和多个闪存芯片。固态盘控制器负责管理和控制整个固态盘的运行,其中包括微处理器、主机接口控制器、片上内存控制器及多个相互独立的通道控制器;微处理器是闪存存储器的计算和处理单元,负责管理各部件的运行;主机接口控制器负责与主机进行通信;片上内存控制器用于控制片上内存的读写;在一个闪存存储器中,可以有多个通道(2N个),通道与通道之间相互独立,每个通道下连接着若干个(2M个)闪存芯片,并由一个通道控制器进行控制。
闪存芯片的内部结构如图2所示,一个闪存芯片包含多个晶圆(die),每个存晶圆包含多个(通常为2个)分组(plane),每个分组包含多个物理块(block),每个物理块包含多个页(page)。闪存介质必须先擦除后写入,页是闪存芯片中读操作和写操作的基本单位,物理块是闪存芯片中擦除操作的基本单位。在闪存中读操作可以任意读取任何一页的内容,但是对某一物理块中包含的页的写操作必须从其第一页开始顺序进行。例如,在图1中,如果闪存中晶圆0,分组0,物理块0中的页5已经被写入,则在擦除物理块0之前,其内部的页0~页4都不能被写入了。
为了方便描述本发明,作如下约定:
闪存存储器中的通道数为2N,每个通道下包含的闪存芯片数为2M,每个闪存芯片包含的晶圆数为2P,每个晶圆包含的分组数为2Q,每个分组下包含的物理块个数为2R,每个物理块下包含的物理页个数为2S。其中,N、P、Q、R、S均为非负的整数,且S>N+P+Q;M为正整数。
2011年在会议Proceedings of the international conference onSupercomputing上公开的论文“Performance Impact and Interplay of SSDParallelism through Advanced Commands,Allocation Strategy and DataGranularity”提出:在操作闪存存储器时,可以利用闪存存储器的结构特点并行地对闪存进行读写操作。闪存存储器可以开发四个层次的并行性:通道并行性,相同通道不同闪存芯片间的并行性,相同闪存芯片不同晶圆间的并行性,相同晶圆不同分组间的并行性。开发通道并行性要求操作对象处于不同的通道中,开发相同通道不同闪存芯片间的并行性要求操作对象处于同一通道中的不同闪存芯片中,开发相同闪存芯片不同晶圆间的并行性要求操作对象处于同一闪存芯片中的不同晶圆之中,开发相同晶圆不同分组间的并行性要求操作对象处于同一晶圆中的不同分组中,且在分组中的页号相等。
现代闪存芯片支持通过两种方式开发其内部并行性:晶圆间并行和分组间并行。晶圆间并行允许并行地操作同一闪存芯片中不同晶圆内的数据,分组间并行允许并行地操作同一晶圆内、不同分组中同一页号的数据。
在闪存存储器中,采用软件的方式使操作系统能够采用传统操作磁盘的方式操作闪存存储器,该软件就是闪存转换层(flash translation layer,FTL)。闪存转换层主要包括垃圾回收、损耗均衡和地址映射三个功能。其中地址映射的功能是将主机发来的请求中的页的逻辑页号转换成闪存存储器中页的物理页号。地址映射可以分为三类:页映射、块映射和混合映射。页映射使用一张映射表存放逻辑页地址到物理页地址之间的转化关系,其优点是转化速度快,但是缺点是映射表很大,需要占用大量缓存空间;块映射使用一张映射表存放逻辑块地址到物理块地址之间的转化关系,相比于页映射,其映射表空间较小,但其对闪存的寿命和性能具有较大的负面影响。
混合映射是页映射和块映射的综合。在混合映射中,闪存物理块的用途被分为两类:数据块和日志块。数据块用来存放数据,日志块用来存放更新数据。对数据块,使用块映射方式进行地址映射,对日志块,使用页映射方式进行地址映射。
混合映射方法需要进行地址映射时,先在页映射表中查找是否有对该地址逻辑页号的映射,如果有,则利用该映射将逻辑页号转化为物理页号;否则,在块映射表中查找对该地址逻辑块序号的映射,利用该映射将逻辑块序号转化为物理块序号,块内页号不变。
混合映射方法在对某个页中的数据进行写操作时,首先利用地址映射查找到原数据页的物理页号,将原数据页标记为无效页,最后将待写入的数据写入日志块中的一个页中。
为了清楚地理解本发明,以下对有关概念加以解释:
有效页:当一个空白物理页被写入数据后,用该物理页对应的状态寄存器中一个状态位标记它为有效页,表示该物理页中的数据是有效数据;
无效页:当闪存物理页中的数据不再有用时,用该物理页对应的状态寄存器中一个状态位标记它为无效页;
空白页:当闪存存储器中的一片物理页没有数据时,该物理页为空白页,用该物理页对应的状态寄存器中一个状态位标记;
擦除操作:将指定的物理块中所有的内容消除并重新置位,将该物理块中所有物理页变为空白页;
逻辑页号:闪存存储器接收到的读写请求中的地址,以页为单位,为多位的二进制数值,以Lp表示,Lp/(2S)的整数部分是该逻辑页号的逻辑块序号,Lp对2S取余是该逻辑页号的块内页号。
物理页号:用于在闪存存储器上标识每个物理页的地址,为(N+M+P+Q+R+S)位的二进制数值,以Pp表示,Pp/(2S)的整数部分是该物理页号的物理块序号,Pp对2S取余是该物理页号的块内页号。
物理页解析操作:当已知一个物理页的物理页号之后,如果要对该物理页进行读写操作,需要获得该物理页的通道号、芯片号、晶圆号、分组号、块号和块内页号。通过物理页号获得物理页的通道号、芯片号、晶圆号、分组号、块号和块内页号的操作称作物理页解析操作。在现有的闪存存储器中,二进制的物理页号自左向右的N、M、P、Q、R、S位分别为其标识的物理页的通道号、芯片号、晶圆号、分组号、块号和块内页号。在本发明中的物理页解析操作与现有的闪存存储器有所区别,见本发明关于地址映射部分的描述。
映射表:闪存存储器中的一种数据结构,供闪存转换层完成地址映射功能。映射表分为页映射表和块映射表两种,页映射表中存放逻辑页号到物理页号之间的映射关系,块映射表中存放逻辑块序号到物理块序号之间的映射关系。对页/块映射表可以进行如下操作:1、利用页/块映射表查找一个逻辑页/块号是否存在于页/块映射表中;2、如果一个逻辑页号/块号存在于页/块映射表中,将其转化为物理页号/块序号;3、删除一个逻辑页/块号对一个物理页号/块序号的映射关系;4、利用页/块映射表记录一个逻辑页/块号到一个物理页号/块序号的映射关系,如果原来已经存在对这个逻辑页/块号的映射,则将原来的映射删除。
缓存:片上内存中的一片区域。由于片上内存的读写速度比闪存快,因此闪存存储器把闪存芯片中的一部分数据及它们的逻辑页号存放在缓存中,并使得每个逻辑页号与一页数据相对应。当接收到读请求或写请求时,可以依据读请求或写请求的逻辑页号在缓存中查找其相应数据,如果缓存中有该逻辑页号,称为命中,否则称为不命中。当命中时,可以快速地将所述逻辑页号所对应的数据读出或将数据写入所述逻辑页号所对应的数据区域。如果不命中,对于读请求,则需要从闪存芯片中读取数据;对于写请求,则需判断缓存中是否有足够的空间容纳写入的逻辑页号及数据,是则可以把逻辑页号及数据写入缓存中,以便之后对该逻辑页号进行读写时可以命中;否则需要通过替换操作使缓存中具有足够空间,以便将逻辑页号及数据写入缓存中。
替换操作:一种针对缓存的操作,从缓存中选择一些数据写到闪存芯片中,并将这些数据所占用的缓存空间释放,也称为写回操作。
替换算法:当发生替换操作时,从缓存中选择哪一些数据写到闪存芯片中的策略,称为替换算法,常见的替换算法包括:先入先出算法(FIFO),近期最少使用算法(LRU),最不经常使用算法(LFU)等。
“大页”:本发明提出的一个概念,所有各个通道包括的相同序号闪存芯片下的各晶圆的所有各分组下相同序号物理块的具有相同序号的页共同构成一个“大页”。一个“大页”所包含的页数用K表示,K=2N×2P×2Q。在图3所示的系统中,每一个“大页”由16个物理页组成。
大页号:一个大页的地址,为一个二进制数值,包含M+R+S位。一个二进制大页号自左向右的M、R、S位分别为其标识的大页内每一个物理页的芯片号、块号和块内页号。
待写大页号:存于片上内存中的一个变量,用来指向一个空白大页。所述空白大页在数据写操作步骤中可能被写入数据,被写入数据之后待选大页号会被改变以指向另一个空白大页。
虚拟存储块(VBlock):虚拟存储块由(2S)/(2N×2P×2Q)个“大页”构成,其示意图如图4所示。一个虚拟存储块所包含的物理页数与一个物理块所包含的物理页数相等。在图4所示的系统中,每一个虚拟存储块由64个物理页组成。
虚拟存储块组:位于同一个物理块W中的所有物理页W0、W1、……W(2S-1)所在的虚拟存储块共同构成一个虚拟存储块组,如图4所示。在图4所示的范例中,一个物理块包含64个物理页,一个“大页”包含4个物理页,虚拟存储块0、虚拟存储块1、虚拟存储块2、虚拟存储块3共同构成一个虚拟存储块组。在本发明所述系统中,若要对一个虚拟存储块进行擦除操作,必须将该虚拟存储块所在的虚拟存储块组中的所有物理块擦除。
块状态位图:存于片上内存中的一片区域,大小为2(N+M+P+Q+R)位,用于记录闪存控制器中物理块或虚拟存储块的使用状态(一共有“空白”和“使用”两种状态),在初始设置步骤初始化。在块状态位图中的位序为z的位用于标识物理块序号为z的物理块或虚拟存储块的使用状态。
发明内容
本发明提供一种闪存存储器的混合映射方法,解决现有映射方法存在的处理随机写请求并行度不足的问题,从而提升闪存存储器的性能。
本发明所依据的闪存存储器,使用相同的与非型闪存芯片构建,闪存存储器中的通道数为2N,每个通道下包含的闪存芯片数为2M,每个闪存芯片包含的晶圆数为2P,每个晶圆包含的分组数为2Q,每个分组下包含的物理块个数为2R,每个物理块下包含的物理页个数为2S。其中,N、P、Q、R、S均为非负的整数,且S>N+P+Q;M为正整数。
存储区域逻辑上分为日志块和数据块;日志块被分为顺序写日志块和随机写日志块,顺序写日志块由物理块组成,随机写日志块由虚拟存储块组成;顺序写日志块用来存放顺序写操作的数据,随机写日志块用来存放随机写操作的数据。
数据块被分为物理数据块和虚拟数据块;物理数据块由物理块组成,虚拟数据块由虚拟存储块组成。
闪存存储器每个通道下的前半部分闪存芯片被用作组成顺序写日志块或物理数据块,占用前半部分物理页号编址;闪存存储器每个通道下的后半部分闪存芯片被用作组成随机写日志块或虚拟数据块,占用后半部分物理页号编址。
本发明所提供的一种闪存存储器的混合映射方法,包括初始设置步骤、缓存操作步骤、数据读操作步骤及数据写操作步骤,其特征在于:
(1)初始设置步骤:包括下述子步骤:
(1.1)将块状态位图中的各个位全部初始化为空白;
(1.2)在块状态位图后一半位中任选2(N+P+Q)个连续位,需满足它们的二进制位序号中最小位序号自右向左的(N+P+Q)位全部为0,将所述2(N+P+Q)个连续位全部标记为使用,N、P、Q均为非负的整数;
将所述2(N+P+Q)个连续位中第一位在块状态位图中的二进制位序号乘以2S-(N+P+Q)的积,赋予待写大页号,结束;
所述2(N+P+Q)个连续位中第一位在块状态位图中的二进制位序号乘以2S-(N+P+Q)的积所表示的是所述2(N+P+Q)个连续位所对应的连续的虚拟存储块中的第一个虚拟存储块中的第一个大页的大页号;
(2)缓存操作步骤,包括下述子步骤:
(2.1)接收来自于主机的读命令或写命令,读命令转子步骤(2.2),写命令转子步骤(2.3);读命令包括需要读取数据的逻辑页号,写命令包括需要写入的数据和需要写入的逻辑页号;
(2.2)根据读命令中的逻辑页号在缓存中查找是否命中,是则从缓存中直接读出逻辑页号对应的数据传给主机,返回;否则转步骤(3);
(2.3)根据写命令中的逻辑页号在缓存中查找是否命中,是则将数据写入缓存中所述逻辑页号对应区域,通知主机写操作完成,返回;否则转子步骤(2.4);
(2.4)查看缓存中是否有足够空间容纳所写入的逻辑页号及数据,是则进行子步骤(2.5),否则转子步骤(2.6);
(2.5)将写命令中的逻辑页号及数据写入缓存中,通知主机写操作完成,返回;
(2.6)根据替换算法一次性从缓存中选择x个页,包括这x页的逻辑页号及数据,x为一个“大页”所包含的物理页个数,转步骤(4);
(3)数据读操作步骤:
对读命令中所包含待读数据的逻辑页号进行地址映射,获得待读数据的通道号、芯片号、晶圆号、分组号、块号和块内页号,据其读出数据,传给主机,返回;
(4)数据写操作步骤,包括下述子步骤:
(4.1)判断从缓存中所选择的x个页的逻辑页号是否连续,是则转子步骤(4.2),否则转子步骤(4.6);
(4.2)判断连续的x页中最小逻辑页号F是否为2S的整数倍,是则转子步骤(4.3),否则转子步骤(4.4),S为正整数且S>N+P+Q;
(4.3)查看块状态位图,在其前一半位中任选一个标记为空白的位,将其标记为使用,并获得该位对应的物理块的二进制物理块序号,将所述二进制物理块序号自左向右的N、M、P、Q、R位分别作为相应物理块的通道号、芯片号、晶圆号、分组号、块号;
将所选择的x个页的内容依其逻辑页号自小到大写入所述物理块的前x个物理页,该物理块成为一个顺序写日志块,自左向右将写入物理页的通道号、芯片号、晶圆号、分组号、块号和块内页号组合成其二进制物理页号,转子步骤(4.9);
(4.4)在闪存存储器中查找F是否与某个顺序写日志块中的最后一个有效页连续,是则获得所查找到的物理页号L,转子步骤(4.5),否则转子步骤(4.6);
(4.5)依次将所述x个页依其逻辑页号自小到大写入物理页号为L+1至L+x的物理页中,二进制物理页号自左向右的N、M、P、Q、R、S位分别为通道号、芯片号、晶圆号、分组号、块号和块内页号,转子步骤(4.9);
(4.6)将所述x个页同时分别写入待写大页号所指向大页的物理页中,转子步骤(4.7);
所述待写大页号所指向的大页中物理页的芯片号、块号和块内页号分别为二进制待写大页号自左向右的M、R和S位;
所述待写大页号所指向大页中的物理页包括闪存存储器中具有所述芯片号、块号和块内页号的所有物理页;
所述写入物理页的通道号、芯片号、晶圆号、分组号、块号和块内页号自左向右组合成其二进制物理页号;
(4.7)将待写大页号的值加1后赋予待写大页号,然后判断二进制待写大页号自右向左S位是否全部为0,是则转子步骤(4.8),否则,转子步骤(4.9);
所述待写大页号自右向左S位全部为0表示加1之前待写大页号指向的虚拟存储块组已经写满,需要另外申请一个新的虚拟存储块组并指向其中的大页;
(4.8)查看块状态位图,在其后一半位中任选2(N+P+Q)个连续的标记为空白的位,需满足它们的二进制位序号中最小位序号自右向左的(N+P+Q)位全部为0,所述2(N+P+Q)个连续位全部标记为使用;
将所述2(N+P+Q)个连续位中第一位在块状态位图中的二进制位序号乘以2S-(N+P+Q)的积,赋予待写大页号,转子步骤(4.9);
(4.9)对所述x个页的逻辑页号分别进行地址映射,获得在闪存中的通道号、芯片号、晶圆号、分组号、块号和块内页号,将它们标记为无效页;在页映射表中分别记录下所述x个页的逻辑页号到其写入物理页的物理页号之间的映射关系,清除缓存中所述x个页的逻辑页号及其相应数据,转子步骤(2.5)。
所述的混合映射方法,其特征在于:
所述步骤(3)及步骤(4)的子步骤(4.9)中,所述地址映射包括下述过程:
(A1)获得需要映射的逻辑页号,在页映射表中查找是否存在该逻辑页号对应的物理页号,是则转过程(A2),否则转过程(A3);
(A2)对所述物理页号进行第一种物理页解析操作,将待解析的物理页号自左向右的N、M、P、Q、R、S位分别作为通道号、芯片号、晶圆号、分组号、块号和块内页号,返回;
(A3)在块映射表中找出该逻辑页号的逻辑块序号所对应的物理块序号Pb,根据该逻辑页号的块内页号Y,计算映射后的物理页号为Pb×2S+Y,转过程(A4);
(A4)查看物理页号的最高位是否为0,是则表示该物理页号对应的物理页在物理块中,转过程(A5),否则表示该物理页号对应的物理页在虚拟存储块中,转过程(A6);
(A5)对所述物理页号进行第二种物理页解析操作,将待解析的物理页号除去最高位后自左向右的N、M-1、P、Q、R、S位分别作为通道号、芯片号、晶圆号、分组号、块号和块内页号,返回;
(A6)对所述物理页号进行第三种物理页解析操作,将待解析物理页号自左向右的M、R、S、N、P、Q位分别作为芯片号、块号、块内页号、通道号、晶圆号、分组号,返回。
所述子步骤(4.4)中,所述在闪存存储器中查找F是否与某个顺序写日志块中的最后一个有效页连续,包括下述过程:
(B1)在页映射表中查找是否有对逻辑页号F-1的映射,是则转过程(B2),否则转过程(B5);
(B2)在页映射表中得到逻辑页号F-1对应的物理页号,二进制物理页号自左向右的N、M、P、Q、R、S位分别为该物理页号的通道号、芯片号、晶圆号、分组号、块号和块内页号,检查芯片号最高位是否为0,是则转过程(B3),否则转过程(B5);
芯片号最高位为0,表示逻辑页号F-1对应的物理页存在于顺序写日志块中,芯片号最高位不为0,表示逻辑页号F-1对应的物理页存在于随机写日志块中;
(B3)查看所述通道号、芯片号、晶圆号、分组号、块号下块内页号加1所标识的物理页是否为空白页,是则转过程(B4),否则转过程(B5);
(B4)查找成功,返回逻辑页号F-1所对应的物理页号L;
(B5)查找失败,返回。
现有的基于混合映射的闪存存储器,当密集地发生缓存替换操作时,往往出现多个物理页需要写入同一个物理块的情形,此时无法利用闪存设备所支持的并行性同时将数据写入,替换操作需要一个接一个的进行,效率低下。
本发明通过引入虚拟存储块的概念,当发生数据写操作时,仅当缓存中替换出来的页连续,且能够写入顺序写日志块中时,仍然按照传统闪存存储器的方式写入,在其他情况下,均可以将其写入虚拟存储块中的一个大页内,由于一个大页中的多个物理页支持并行地写入,因此节省了数据写操作的时间,从而提升了闪存存储器的性能。
附图说明
图1闪存芯片内部结构示意图;
图2闪存芯片内部结构示意图;
图3闪存系统结构示意图;
图4虚拟存储块组结构示意图;
图5为本发明流程框图;
图6初始设置步骤流程框图;
图7缓存操作步骤流程框图;
图8数据写操作步骤流程框图;
图9地址映射过程的流程框图;
图10在闪存存储器中查找F是否与某个顺序写日志块中的最后一个有效页连续的流程框图。
具体实施方式
以下结合实施例和附图对本发明进一步说明。
在本发明的实施例中,N=1,M=2,P=1,Q=1,R=11,S=8,表示该闪存存储器包含两个通道,每个通道下包含4个闪存芯片,每个闪存芯片包含2个晶圆,每个晶圆下包含2个分组,每个分组下包含2048个物理块,每个物理块下包含256个物理页。块状态位图一共有216位,0表示空白,1表示使用。
如图5所示,本发明的实施例,包括初始设置步骤、缓存操作步骤、数据读操作步骤及数据写操作步骤;
(1)初始设置步骤:如图6所示,包括下述子步骤:
(1.1)将块状态位图中的各个位全部初始化为空白;
(1.2)在块状态位图后一半位中,从位序号215起选择2(1+1+1)=8个连续位,它们的二进制位序号中最小位序号215自右向左的(1+1+1)位全部为0,将所述8个连续位全部标记为1(使用);
将所述2(1+1+1)个连续位中第一位在块状态位图中的二进制位序号215乘以28-(1+1+1)的积,即215×28-(1+1+1)=220,赋予待写大页号,结束;
(2)缓存操作步骤,包括下述子步骤:
在本发明的实施例中,接收来自于主机的6种不同的读命令或写命令;以下分别给出其流程:
读命令1:
(2.1)接收来自于主机的读命令,转子步骤(2.2),读命令包括需要读取数据的逻辑页号90;
(2.2)根据读命令中的逻辑页号90在缓存中查找是否命中,缓存中命中,从缓存中直接读出逻辑页号90对应的数据传给主机,返回。
读命令2:
(2.1)接收到来自于主机的读命令,转子步骤(2.2),读命令包括需要读取数据的逻辑页号375;
(2.2)根据读命令中的逻辑页号375在缓存中查找是否命中,缓存中未命中,转步骤(3);
(3)数据读操作步骤:
对读命令中所包含待读数据的逻辑页号375进行地址映射,获得待读数据的通道号0、芯片号1、晶圆号1、分组号0、块号10和块内页号44,据其读出数据,传给主机,返回。
写命令1:
(2.1)接收来自于主机的写命令,转子步骤(2.3);写命令包括需要写入的数据2020和需要写入的逻辑页号50;
(2.3)根据写命令中的逻辑页号50在缓存中查找是否命中,缓存中命中,将数据2020写入缓存中所述逻辑页号50对应区域,通知主机写操作完成,返回。
写命令2:
(2.1)接收来自于主机的写命令,转子步骤(2.3);写命令包括需要写入的数据4040和需要写入的逻辑页号10;
(2.3)根据写命令中的逻辑页号10在缓存中查找是否命中,缓存中未命中,转子步骤(2.4);
(2.4)查看缓存中是否有足够空间容纳所写入的逻辑页号及数据,缓存中空间不足,转子步骤(2.6);
(2.6)根据替换算法一次性从缓存中选择8个页,包括这8页的逻辑页号及数据,转步骤(4),8页的逻辑页号分别为:512、513、514、515、516、517、518、519;
(4)数据写操作步骤,包括下述子步骤:
(4.1)判断从缓存中所选择的8个页的逻辑页号是否连续,连续,转子步骤(4.2);
(4.2)判断连续的8页中最小逻辑页号512是否为28的整数倍,是,转子步骤(4.3);
(4.3)查看块状态位图,在其前一半位中选择位序号为0的空白位,将其标记为1(使用),并获得该位对应的物理块的二进制物理块序号0,将所述二进制物理块序号自左向右的1、2、1、1、11位分别作为相应物理块的通道号0、芯片号0、晶圆号0、分组号0、块号0;
将所选择的8个页的内容依其逻辑页号自小到大写入所述物理块的前8个物理页,该物理块成为一个顺序写日志块,自左向右将写入物理页的通道号、芯片号、晶圆号、分组号、块号和块内页号组合成其二进制物理页号,分别为(0……0)2,(0……01)2,(0……010)2,(0……011)2,(0……0100)2,(0……0101)2,(0……0110)2,(0……0111)2,转子步骤(4.9);
(4.9)对所述8个页的逻辑页号分别进行地址映射,获得在闪存中的通道号、芯片号、晶圆号、分组号、块号和块内页号,将它们标记为无效页;在页映射表中分别记录下所述8个页的逻辑页号到其写入物理页的物理页号之间的映射关系,即:将逻辑页号512映射到物理页号0,将逻辑页号513映射到物理页号1,将逻辑页号514映射到物理页号2,将逻辑页号515映射到物理页号3,将逻辑页号516映射到物理页号4,将逻辑页号517映射到物理页号5,将逻辑页号518映射到物理页号6,将逻辑页号519映射到物理页号7;清除缓存中所述8个页的逻辑页号及其相应数据,转子步骤(2.5);
(2.5)将写命令中的逻辑页号10及数据4040写入缓存中,通知主机写操作完成,返回。
写命令3:
(2.1)接收来自于主机的写命令,转子步骤(2.3);写命令包括需要写入的数据7070和需要写入的逻辑页号20;
(2.3)根据写命令中的逻辑页号20在缓存中查找是否命中,缓存中未命中,转子步骤(2.4);
(2.4)查看缓存中是否有足够空间容纳所写入的逻辑页号及数据,缓存中空间不足,转子步骤(2.6);
(2.6)根据替换算法一次性从缓存中选择8个页,包括这8页的逻辑页号及数据,转步骤(4),8页的逻辑页号分别为:520、521、522、523、524、525、526、527;
(4)数据写操作步骤,包括下述子步骤:
(4.1)判断从缓存中所选择的8个页的逻辑页号是否连续,连续,转子步骤(4.2);
(4.2)判断连续的8页中最小逻辑页号520是否为28的整数倍,不是,转子步骤(4.4);
(4.4)在闪存存储器中查找520是否与某个顺序写日志块中的最后一个有效页连续,是,获得所查找到的物理页号7,转子步骤(4.5);
(4.5)依次将所述8个页依其逻辑页号自小到大写入物理页号为8至15的物理页中,它们的二进制物理页号分别为:(0……01001)2,(0……01001)2,(0……01010)2,(0……01011)2,(0……01100)2,(0……01101)2,(0……01110)2,(0……01111)2,每一个所述物理页号自左向右的1、2、1、1、11、8位分别为所述物理页号所对应物理页的通道号、芯片号、晶圆号、分组号、块号和块内页号,转子步骤(4.9);
(4.9)对所述8个页的逻辑页号分别进行地址映射,获得在闪存中的通道号、芯片号、晶圆号、分组号、块号和块内页号,将它们标记为无效页;在页映射表中分别记录下所述8个页的逻辑页号到其写入物理页的物理页号之间的映射关系,即:将逻辑页号520映射到物理页号8,将逻辑页号521映射到物理页号9,将逻辑页号522映射到物理页号10,将逻辑页号523映射到物理页号11,将逻辑页号524映射到物理页号12,将逻辑页号525映射到物理页号13,将逻辑页号526映射到物理页号14,将逻辑页号527映射到物理页号15;清除缓存中所述8个页的逻辑页号及其相应数据,转子步骤(2.5);
(2.5)将写命令中的逻辑页号20及数据7070写入缓存中,通知主机写操作完成,返回。
写命令4:
(2.1)接收来自于主机的写命令,转子步骤(2.3);写命令包括需要写入的数据9090和需要写入的逻辑页号30;
(2.3)根据写命令中的逻辑页号30在缓存中查找是否命中,缓存中未命中,转子步骤(2.4);
(2.4)查看缓存中是否有足够空间容纳所写入的逻辑页号及数据,缓存中空间不足,转子步骤(2.6);
(2.6)根据替换算法一次性从缓存中选择8个页,包括这8页的逻辑页号及数据,转步骤(4),8页的逻辑页号分别为:8000、9000、6000、7000、4000、2000、5000、3000;
(4)数据写操作步骤,包括下述子步骤:
(4.1)判断从缓存中所选择的8个页的逻辑页号是否连续,不连续,转子步骤(4.6);
(4.6)将所述8个页同时分别写入待写大页号所指向大页的物理页中,转子步骤(4.7);
所述待写大页号所指向的大页中物理页的芯片号、块号和块内页号分别为待写大页号自左向右的2位、11位和8位,其值分别为2、0和0;
所述待写大页号所指向大页中的物理页包括闪存存储器中具有所述芯片号、块号和块内页号的所有物理页;其通道号、晶圆号和分组号为:(0、0、0),(0、0、1),(0、1、0),(0、1、1),(1、0、0),(1、0、1),(1、1、0)和(1、1、1);
所述写入物理页的通道号、芯片号、晶圆号、分组号、块号和块内页号自左向右组合成其物理页号,即所写入物理页的物理页号分别为222,222+219,222+220,222+220+219,223+222,223+222+219,223+222+220,223+222+220+219;
(4.7)将待写大页号的值加1后得220+1,赋予待写大页号,然后判断二进制待写大页号自右向左8位是否全部为0,否,转子步骤(4.9);
(4.9)对所述8个页的逻辑页号分别进行地址映射,获得在闪存中的通道号、芯片号、晶圆号、分组号、块号和块内页号,将它们标记为无效页;在页映射表中分别记录下所述8个页的逻辑页号到其写入物理页的物理页号之间的映射关系,即:将逻辑页号8000映射到物理页号222,将逻辑页号9000映射到物理页号222+219,将逻辑页号6000映射到物理页号222+220,将逻辑页号7000映射到物理页号222+220+219,将逻辑页号4000映射到物理页号223+222,将逻辑页号2000映射到物理页号223+222+219,将逻辑页号5000映射到物理页号223+222+220,将逻辑页号3000映射到物理页号223+222+220+219;清除缓存中所述8个页的逻辑页号及其相应数据,转子步骤(2.5);
(2.5)将写命令中的逻辑页号30及数据9090写入缓存中,通知主机写操作完成,返回。
缓存操作步骤完整的流程框图如图7所示。
数据写操作步骤完整的流程框图如图8所示。
所述步骤(3)及步骤(4)的子步骤(4.9)中,所述地址映射的过程如图9所示,以下结合3个实施例进行说明:
实施例1,地址映射包括下述过程:
(A1)获得需要映射的逻辑页号130,在页映射表中查找是否存在该逻辑页号对应的物理页号,存在,转过程(A2);
(A2)对所述物理页号进行第一种物理页解析操作,将待解析的物理页号自左向右的1、2、1、1、11、8位分别作为通道号、芯片号、晶圆号、分组号、块号和块内页号,得到其通道号、芯片号、晶圆号、分组号、块号和块内页号分别为1、2、1、1、0、0,返回。
实施例2,地址映射包括下述过程:
(A1)获得需要映射的逻辑页号210+29+23+21,在页映射表中查找是否存在该逻辑页号对应的物理页号,不存在,转过程(A3);
(A3)在块映射表中找出逻辑页号210+29+23+21的逻辑块序号22+21所对应的物理块序号,为212+22+20,根据该逻辑页号的块内页号23+21,计算映射后的物理页号为220+210+28+23+21,转过程(A4);
(A4)查看物理页号的最高位是否为0,是,转过程(A5);
(A5)对所述物理页号220+210+28+23+21进行第二种物理页解析操作,将待解析的物理页号除去最高位后自左向右的1、2-1=1、1、1、11、8位分别作为通道号、芯片号、晶圆号、分组号、块号和块内页号,得到其通道号、芯片号、晶圆号、分组号、块号和块内页号分别为0、0、1、0、22+21、23+21,返回;
实施例3,地址映射包括下述过程:
(A1)获得需要映射的逻辑页号211+29+24+23+21,在页映射表中查找是否存在该逻辑页号对应的物理页号,不存在,转过程(A3);
(A3)在块映射表中找出逻辑页号211+29+24+23+21的逻辑块序号23+21所对应的物理块序号,为215+213+211+21,根据该逻辑页号的块内页号24+23+21,计算映射后的物理页号为223+221+219+29+24+23+21,转过程(A4);
(A4)查看物理页号的最高位是否为0,否,转过程(A6);
(A6)对所述物理页号223+221+219+29+24+23+21进行第三种物理页解析操作,将待解析物理页号自左向右的2、11、8、1、1、1位分别作为芯片号、块号、块内页号、通道号、晶圆号、分组号,得到其通道号、芯片号、晶圆号、分组号、块号和块内页号分别为0、2、1、0、210+28、26+21+20,返回。
所述子步骤(4.4)中,在闪存存储器中查找F是否与某个顺序写日志块中的最后一个有效页连续的流程框图如图10所示,以下给出F=520的实施例,包括下述过程:
(B1)在页映射表中查找是否有对逻辑页号520-1=519的映射,有,转过程(B2);
(B2)在页映射表中得到逻辑页号519对应的物理页号7,二进制物理页号(0……0111)2自左向右的1、2、1、1、11、8位分别为该物理页号的通道号0、芯片号0、晶圆号0、分组号0、块号0和块内页号7,检查芯片号最高位是否为0,是,转过程(B3);
(B3)查看所述通道号0、芯片号0、晶圆号0、分组号0、块号0下块内页号7+1=8所标识的物理页是否为空白页,是,转过程(B4);
(B4)查找成功,返回逻辑页号519所对应的物理页号7。
Claims (3)
1.一种闪存存储器的混合映射方法,包括初始设置步骤、缓存操作步骤、数据读操作步骤及数据写操作步骤,其特征在于:
(1)初始设置步骤:包括下述子步骤:
(1.1)将块状态位图中的各个位全部标记为空白;
(1.2)在块状态位图后一半位中任选2(N+P+Q)个连续位,需满足它们的二进制位序号中最小位序号自右向左的(N+P+Q)位全部为0,将所述2(N+P+Q)个连续位全部标记为使用,N、P、Q均为非负的整数;
将所述2(N+P+Q)个连续位中第一位在块状态位图中的二进制位序号乘以2S-(N+P+Q)的积,赋予待写大页号,结束;
(2)缓存操作步骤,包括下述子步骤:
(2.1)接收来自于主机的读命令或写命令,读命令转子步骤(2.2),写命令转子步骤(2.3);读命令包括需要读取数据的逻辑页号,写命令包括需要写入的数据和需要写入的逻辑页号;
(2.2)根据读命令中的逻辑页号在缓存中查找是否命中,是则从缓存中直接读出逻辑页号对应的数据传给主机,返回;否则转步骤(3);
(2.3)根据写命令中的逻辑页号在缓存中查找是否命中,是则将数据写入缓存中所述逻辑页号对应区域,通知主机写操作完成,返回;否则转子步骤(2.4);
(2.4)查看缓存中是否有足够空间容纳所写入的逻辑页号及数据,是则进行子步骤(2.5),否则转子步骤(2.6);
(2.5)将写命令中的逻辑页号及数据写入缓存中,通知主机写操作完成,返回;
(2.6)根据替换算法一次性从缓存中选择x个页,包括这x页的逻辑页号及数据,x为一个“大页”所包含的物理页个数,转步骤(4);
(3)数据读操作步骤:
对读命令中所包含待读数据的逻辑页号进行地址映射,获得待读数据的通道号、芯片号、晶圆号、分组号、块号和块内页号,据其读出数据,传给主机,返回;
(4)数据写操作步骤,包括下述子步骤:
(4.1)判断从缓存中所选择的x个页的逻辑页号是否连续,是则转子步骤(4.2),否则转子步骤(4.6);
(4.2)判断连续的x页中最小逻辑页号F是否为2S的整数倍,是则转子步骤(4.3),否则转子步骤(4.4),S为正整数且S>N+P+Q;
(4.3)查看块状态位图,在其前一半位中任选一个标记为空白的位,将其标记为使用,并获得该位对应的物理块的二进制物理块序号,将所述二进制物理块序号自左向右的N、M、P、Q、R位分别作为相应物理块的通道号、芯片号、晶圆号、分组号、块号;
将所选择的x个页的内容依其逻辑页号自小到大写入所述物理块的前x个物理页,该物理块成为一个顺序写日志块,自左向右将写入物理页的通道号、芯片号、晶圆号、分组号、块号和块内页号组合成其二进制物理页号,转子步骤(4.9);
(4.4)在闪存存储器中查找F是否与某个顺序写日志块中的最后一个有效页连续,是则获得所查找到的物理页号L,转子步骤(4.5),否则转子步骤(4.6);
(4.5)依次将所述x个页依其逻辑页号自小到大写入物理页号为L+1至L+x的物理页中,二进制物理页号自左向右的N、M、P、Q、R、S位分别为通道号、芯片号、晶圆号、分组号、块号和块内页号,转子步骤(4.9);
(4.6)将所述x个页同时分别写入待写大页号所指向大页的物理页中,转子步骤(4.7);
所述待写大页号所指向的大页中物理页的芯片号、块号和块内页号分别为二进制待写大页号自左向右的M、R和S位;
所述待写大页号所指向大页中的物理页包括闪存存储器中具有所述芯片号、块号和块内页号的所有物理页;
所述写入物理页的通道号、芯片号、晶圆号、分组号、块号和块内页号自左向右组合成其二进制物理页号;
(4.7)将待写大页号的值加1后赋予待写大页号,然后判断二进制待写大页号自右向左S位是否全部为0,是则转子步骤(4.8),否则,转子步骤(4.9);
(4.8)查看块状态位图,在其后一半位中任选2(N+P+Q)个连续的标记为空白的位,需满足它们的二进制位序号中最小位序号自右向左的(N+P+Q)位全部为0,所述2(N+P+Q)个连续位全部标记为使用;
将所述2(N+P+Q)个连续位中第一位在块状态位图中的二进制位序号乘以2S-(N+P+Q)的积,赋予待写大页号,转子步骤(4.9);
(4.9)对所述x个页的逻辑页号分别进行地址映射,获得在闪存中的通道号、芯片号、晶圆号、分组号、块号和块内页号,将它们标记为无效页;在页映射表中分别记录下所述x个页的逻辑页号到其写入物理页的物理页号之间的映射关系,清除缓存中所述x个页的逻辑页号及其相应数据,转子步骤(2.5);
所述大页由所有各个通道包括的相同序号闪存芯片下的各晶圆的所有各分组下相同序号物理块的具有相同序号的页共同构成;
所述大页号是一个大页的地址,为一个二进制数值,包含M+R+S位;
所述待写大页号为存于片上内存中的一个变量,用来指向一个空白大页。
2.如权利要求1所述的混合映射方法,其特征在于:
所述步骤(3)及步骤(4)的子步骤(4.9)中,所述地址映射包括下述过程:
(A1)获得需要映射的逻辑页号,在页映射表中查找是否存在该逻辑页号对应的物理页号,是则转过程(A2),否则转过程(A3);
(A2)对所述物理页号进行第一种物理页解析操作,将待解析的物理页号自左向右的N、M、P、Q、R、S位分别作为通道号、芯片号、晶圆号、分组号、块号和块内页号,返回;
(A3)在块映射表中找出该逻辑页号的逻辑块序号所对应的物理块序号Pb,根据该逻辑页号的块内页号Y,计算映射后的物理页号为Pb×2S+Y,转过程(A4);
(A4)查看物理页号的最高位是否为0,是则表示该物理页号对应的物理页在物理块中,转过程(A5),否则表示该物理页号对应的物理页在虚拟存储块中,转过程(A6);
(A5)对所述物理页号进行第二种物理页解析操作,将待解析的物理页号去除最高位后自左向右的N、M-1、P、Q、R、S位分别作为通道号、芯片号、晶圆号、分组号、块号和块内页号,返回;
(A6)对所述物理页号进行第三种物理页解析操作,将待解析物理页号自左向右的M、R、S、N、P、Q位分别作为芯片号、块号、块内页号、通道号、晶圆号、分组号,返回。
3.如权利要求1所述的混合映射方法,其特征在于:
所述子步骤(4.4)中,所述在闪存存储器中查找F是否与某个顺序写日志块中的最后一个有效页连续,包括下述过程:
(B1)在页映射表中查找是否有对逻辑页号F-1的映射,是则转过程(B2),否则转过程(B5);
(B2)在页映射表中得到逻辑页号F-1对应的物理页号,二进制物理页号自左向右的N、M、P、Q、R、S位分别为该物理页号的通道号、芯片号、晶圆号、分组号、块号和块内页号,检查芯片号最高位是否为0,是则转过程(B3),否则转过程(B5);
(B3)查看所述通道号、芯片号、晶圆号、分组号、块号下块内页号加1所标识的物理页是否为空白页,是则转过程(B4),否则转过程(B5);
(B4)查找成功,返回逻辑页号F-1所对应的物理页号L;
(B5)查找失败,返回。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410749577.2A CN104461393B (zh) | 2014-12-09 | 2014-12-09 | 一种闪存存储器的混合映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410749577.2A CN104461393B (zh) | 2014-12-09 | 2014-12-09 | 一种闪存存储器的混合映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104461393A CN104461393A (zh) | 2015-03-25 |
CN104461393B true CN104461393B (zh) | 2017-05-17 |
Family
ID=52907522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410749577.2A Active CN104461393B (zh) | 2014-12-09 | 2014-12-09 | 一种闪存存储器的混合映射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104461393B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10656838B2 (en) | 2015-07-13 | 2020-05-19 | Samsung Electronics Co., Ltd. | Automatic stream detection and assignment algorithm |
CN113590504A (zh) * | 2016-06-29 | 2021-11-02 | 北京忆恒创源科技股份有限公司 | 存储日志帧以及日志条目的固态硬盘 |
KR102229013B1 (ko) * | 2016-09-02 | 2021-03-17 | 삼성전자주식회사 | 자동 스트림 검출 및 할당 알고리즘 |
CN106356325B (zh) * | 2016-10-28 | 2019-06-07 | 北京北方华创微电子装备有限公司 | 一种应用于热处理设备晶圆传输调度的装置及方法 |
CN108121664A (zh) * | 2016-11-28 | 2018-06-05 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
EP3367251B1 (en) * | 2016-12-29 | 2023-06-21 | Huawei Technologies Co., Ltd. | Storage system and solid state hard disk |
CN107256363B (zh) * | 2017-06-13 | 2020-03-06 | 杭州华澜微电子股份有限公司 | 一种由加解密模块阵列组成的高速加解密装置 |
CN108121503B (zh) * | 2017-08-08 | 2021-03-05 | 鸿秦(北京)科技有限公司 | 一种NandFlash地址映射及块管理方法 |
CN109947353B (zh) * | 2017-12-20 | 2021-03-09 | 浙江宇视科技有限公司 | 存储管理方法、固态硬盘及可读存储介质 |
WO2019127490A1 (zh) * | 2017-12-29 | 2019-07-04 | 华为技术有限公司 | 一种数据访问方法及存储阵列 |
CN108647157B (zh) * | 2018-03-14 | 2021-10-01 | 深圳忆联信息系统有限公司 | 一种基于相变存储器的映射管理方法及固态硬盘 |
CN108804026B (zh) * | 2018-03-27 | 2022-02-18 | 深圳忆联信息系统有限公司 | 一种固态硬盘全盘扫描方法及固态硬盘 |
CN108595115B (zh) * | 2018-03-27 | 2021-10-01 | 深圳忆联信息系统有限公司 | 一种提高ssd垃圾回收效率的方法 |
CN108710579A (zh) * | 2018-04-27 | 2018-10-26 | 江苏华存电子科技有限公司 | 一种超过寻址空间大容量的管理方法 |
CN108717395B (zh) * | 2018-05-18 | 2021-07-13 | 记忆科技(深圳)有限公司 | 一种降低动态块映射信息占用内存的方法及装置 |
KR102537373B1 (ko) | 2018-09-10 | 2023-05-30 | 에스케이하이닉스 주식회사 | 메모리 시스템에서의 데이터 전달 방법 및 장치 |
CN109408408A (zh) * | 2018-10-24 | 2019-03-01 | 江苏华存电子科技有限公司 | 一种闪存存储设备中闪存块状态管理表有效存取的方法 |
CN109375877A (zh) * | 2018-10-24 | 2019-02-22 | 江苏华存电子科技有限公司 | 一种闪存存储中管理主机端逻辑位置对应映射表的方法 |
CN110543435B (zh) * | 2019-09-05 | 2022-02-08 | 北京兆易创新科技股份有限公司 | 存储单元的混合映射操作方法、装置、设备及存储介质 |
CN110716886B (zh) * | 2019-09-29 | 2022-12-13 | 惠州市仲恺Tcl智融科技小额贷款股份有限公司 | 数据处理的方法、装置、存储介质以及终端 |
CN111078591A (zh) * | 2019-12-16 | 2020-04-28 | 深圳忆联信息系统有限公司 | 部分命中缓存读命令的处理方法、装置及计算机设备 |
CN113138941A (zh) * | 2020-01-20 | 2021-07-20 | 华为技术有限公司 | 内存交换的方法、装置 |
CN111562883B (zh) * | 2020-04-26 | 2021-09-07 | 北京泽石科技有限公司 | 固态硬盘的缓存管理系统、方法、装置 |
CN113126921B (zh) * | 2021-04-06 | 2022-03-01 | 南昌航空大学 | 一种提高固态盘内3d闪存芯片写性能的优化方法 |
CN113253928A (zh) * | 2021-05-06 | 2021-08-13 | 天津大学深圳研究院 | 一种通道信息可感知的数据库存储内并行处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477492A (zh) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
CN103902474A (zh) * | 2014-04-11 | 2014-07-02 | 华中科技大学 | 一种支持固态盘缓存动态分配的混合存储系统和方法 |
CN104090730A (zh) * | 2014-07-08 | 2014-10-08 | 飞天诚信科技股份有限公司 | 一种对存储设备进行数据读写的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9164887B2 (en) * | 2011-12-05 | 2015-10-20 | Industrial Technology Research Institute | Power-failure recovery device and method for flash memory |
-
2014
- 2014-12-09 CN CN201410749577.2A patent/CN104461393B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477492A (zh) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
CN103902474A (zh) * | 2014-04-11 | 2014-07-02 | 华中科技大学 | 一种支持固态盘缓存动态分配的混合存储系统和方法 |
CN104090730A (zh) * | 2014-07-08 | 2014-10-08 | 飞天诚信科技股份有限公司 | 一种对存储设备进行数据读写的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104461393A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104461393B (zh) | 一种闪存存储器的混合映射方法 | |
CN105930282B (zh) | 一种用于nand flash的数据缓存方法 | |
CN104794070B (zh) | 基于动态非覆盖raid技术的固态闪存写缓存系统及方法 | |
CN106547703B (zh) | 一种基于块组结构的ftl优化方法 | |
CN108121503B (zh) | 一种NandFlash地址映射及块管理方法 | |
CN101105772B (zh) | 控制计算机可读存储器的方法和管理数据单元的装置 | |
CN102012867B (zh) | 资料储存系统 | |
CN105242871B (zh) | 一种数据写入方法及装置 | |
US9304904B2 (en) | Hierarchical flash translation layer | |
CN104102585B (zh) | 映射信息记录方法、存储器控制器与存储器储存装置 | |
CN109074307A (zh) | 具有直接读取存取的存储器装置 | |
CN102819496B (zh) | 闪存ftl的地址转换方法 | |
US20120254574A1 (en) | Multi-layer memory system | |
CN104484283B (zh) | 一种降低固态硬盘写放大的方法 | |
CN103136121A (zh) | 一种固态盘的缓存管理方法 | |
CN105786411A (zh) | 非易失性存储器装置的操作方法 | |
KR20100139149A (ko) | 다중 뱅크 메모리 장치에 대한 저장 주소 재매핑을 위한 방법과 시스템 | |
CN105095116A (zh) | 缓存替换的方法、缓存控制器和处理器 | |
DE102011086227A1 (de) | Adress mapping method, data storage device and user device | |
CN103425600A (zh) | 一种固态盘闪存转换层中的地址映射方法 | |
CN109240939B (zh) | 一种快速处理固态硬盘trim的方法 | |
CN105103235A (zh) | 具有用于更高性能和能量效率的去耦比特的非易失性多级单元存储器 | |
CN109582593A (zh) | 一种基于计算的ftl地址映射方法及数据读、写方法 | |
US11157212B2 (en) | Virtual controller memory buffer | |
US20220269440A1 (en) | Control method for flash memory controller and associated flash memory controller and storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |