一种闪存控制器的映射信息管理方法

文档序号:6587735阅读:216来源:国知局
专利名称:一种闪存控制器的映射信息管理方法
技术领域
本发明涉及一种映射信息管理方法,具体涉及一种闪存控制器的映射信息管理方

背景技术
SSD是英文solid state disk的縮写,即固态盘。是一种把Nand flash芯片作为 存储介质的存储器。它具有数据存取速度快、经久耐用防震抗摔、工作时非常安静没有任 何噪音产生等优点。固态盘的核心部件是闪存控制器,它的功能就是控制和管理闪存芯片 以及对外提供一个标准的接口。闪存控制器为了提高读写速度和flash芯片的寿命需要动 态的进行地址映射,而地址映射就是要保存逻辑地址与物理地址的对应关系,这样在闪存 控制器进行读写操作时就能找到对应的物理地址。 目前公知的一种映射信息管理方法利用flash页的备用区来保存映射信息,每个 备用区保存对应页的映射信息和状态。在需要进行地址映射时通过读取备用的信息来进行 映射。该方法的缺点是读取映射信息速度慢,映射信息没能进行纠检错的保护,如果出错将 无法恢复

发明内容
本发明的目的在于提供了 一种闪存控制器的映射信息管理方法,其解决了映射信 息的读写效率低的技术问题,提高了地址映射的速度;映射信息保存在保留块的数据区中, 提高映射信息的安全性;另外保存映射信息的物理块和用户数据的物理块可同时进行磨损 平衡,这样延长了块的使用寿命。
本发明的技术解决方案是 —种闪存控制器的映射信息管理方法,其特殊之处在于,该方法包括 1)首先,在系统初始化时建立每个逻辑块的映射信息地址索引表,为每个索引项
分配空间; 2)构建逻辑块所对应的虚拟块数组表,以存放分配的虚拟块号,每个逻辑 块对应一段逻辑地址,每个逻辑块对应一个或多个虚拟块,每个虚拟块又由多个
物理块构成; 3)扫描nand flash芯片,用物理块构建虚拟块结构,初始化完成;
4)当进行写操作时,通过映射信息地址索引表读出映射信息,用分配好的
空闲物理地址修改其中逻辑地址对应的物理地址; 5)当进行读操作时,首先在缓存中查找,如果找到,就直接使用该映射信 息得到物理地址;如果未找到,再通过映射信息地址索引表读出映射信息,得到相
应的物理地址; 6)如果上一步进行了读写映射信息的操作,则执行第5步的操作。
上述闪存控制器的映射信息管理方法,其特殊之处在于,该方法包括在
步骤4)后还有缓存步骤,所述缓存步骤具体是缓存上一步更新的映射信息,如果
缓存空间已满,就按最近最少使用的原则,替换映射信息,然后回写被替换的映射。
上述闪存控制器的映射信息管理方法,其特殊之处在于,该方法包括在 步骤6)后还有缓存步骤,所述缓存步骤具体是缓存上一步更新的映射信息,如果
缓存空间已满,就按最近最少使用的原则,替换映射信息,然后回写被替换的映射。 上述逻辑块中的映射信息以页为单位,逻辑块中的一个页对应虚拟块中 一个页,
虚拟页也对一个应物理页。 上述逻辑块映射信息中的每个项表示一个逻辑页所对应的物理页地址, 一个逻辑
块的所有映射信息个数为逻辑块的页数,这些信息存放在一个或多个物理页中。 上述逻辑块和它的映射信息通过一个映射信息地址索引表来联系起来,该映射信
息地址索引表中的每一项表示一个逻辑块映射信息所存放的物理页地址。 上述一个逻辑地址通过除以逻辑块扇区数得到的商为其对应的逻辑块号,余数为
它在逻辑块内的偏移;得到逻辑块号后就可读取对应的映射信息,再通过其偏移得到该页
的物理地址。 本发明解决了映射信息的读写效率低的技术问题,其优点表现在提高了地址映 射的速度;映射信息保存在保留块的数据区中,提高映射信息的安全性;另外保存映射信 息的物理块和用户数据的物理块可同时进行磨损平衡,这样延长了块的使用寿命。


图1为本发明逻辑到物理映射信息的定位示意图;
图2为本发明映射信息更新示意图。
具体实施例方式
参见图1及图2,一种闪存控制器的映射信息管理方法,其特殊之处在于,该方法 包括 1)首先,在系统初始化时建立每个逻辑块的映射信息地址索引表,为每个索引项 分配空间。 2)构建逻辑块所对应的虚拟块数组表,以存放分配的虚拟块号,每个逻辑 块对应一段逻辑地址,每个逻辑块对应一个或多个虚拟块,每个虚拟块又由多个
物理块构成; 3)扫描nand flash芯片,用物理块构建虚拟块结构,初始化完成。 4)当进行写操作时,通过映射信息地址索引表读出映射信息,用分配好的空闲物
理地址修改其中逻辑地址对应的物理地址。 5)缓存上一步更新的映射信息,如果缓存空间已满,就按最近最少使用的原则,替 换映射信息,然后回写被替换的映射。 6)当进行读操作时,首先在缓存中查找,如果找到,就直接使用该映射信息得到物
理地址;如果未找到,再通过映射信息地址索引表读出映射信息,得到相应的物理地址。 7)如果上一步进行了读写映射信息的操作,则执行第5步的操作。 本发明是以逻辑块为单位来进行映射信息的集中管理,并辅以映射信息的缓存管理来提高效率。每个逻辑块对应一段逻辑地址,逻辑块的构成有一个或多个虚拟块构成,形 成一个虚拟块链。每个虚拟块又由多个物理块构成。逻辑块中的映射关系以页为单位,逻辑 块中的一个页对应虚拟块中一个页,虚拟页也对一个应物理页。这样就可以通过一个逻辑 页找到对应的物理页。逻辑块映射信息中的每个项表示一个逻辑页所对应的物理页地址, 一个逻辑块的所有映射信息个数为逻辑块的页数,这些信息存放在一个或多个物理页中。
逻辑块和它的映射信息通过一个索引表来联系起来,这个索引表中的每一项表示 一个逻辑块映射信息所存放的物理页地址。 一个逻辑地址通过除以逻辑块扇区数得到的商 为其对应的逻辑块号,余数为它在逻辑块内的偏移。得到逻辑块号后就可读取对应的映射 信息,再通过其偏移得到该页的物理地址。 为了进一步提高地址映射的速度,在本方案中将部分映射信息保存在缓存中。缓
存的映射信息以一个逻辑块为单位,以保存最近经常使用的原则来进行缓存。这样在进行 读写操作时就能大大减少映射信息的读写操作,提高了读写的整体速度。
权利要求
一种闪存控制器的映射信息管理方法,其特征在于,该方法包括1)首先,在系统初始化时建立每个逻辑块的映射信息地址索引表,为每个索引项分配空间;2)构建逻辑块所对应的虚拟块数组表,以存放分配的虚拟块号,每个逻辑块对应一段逻辑地址,每个逻辑块对应一个或多个虚拟块,每个虚拟块又由多个物理块构成;3)扫描nand flash芯片,用物理块构建虚拟块结构,初始化完成;4)当进行写操作时,通过映射信息地址索引表读出映射信息,用分配好的空闲物理地址修改其中逻辑地址对应的物理地址;5)当进行读操作时,首先在缓存中查找,如果找到,就直接使用该映射信息得到物理地址;如果未找到,再通过映射信息地址索引表读出映射信息,得到相应的物理地址;6)如果上一步进行了读写映射信息的操作,则执行第5步的操作。
2. 根据权利要求1所述闪存控制器的映射信息管理方法,其特征在于,该方法包括在 步骤4)后还有缓存步骤,所述缓存步骤具体是缓存上一步更新的映射信息,如果缓存空间 已满,就按最近最少使用的原则,替换映射信息,然后回写被替换的映射。
3. 根据权利要求1或2所述闪存控制器的映射信息管理方法,其特征在于,该方法包 括在步骤6)后还有缓存步骤,所述缓存步骤具体是缓存上一步更新的映射信息,如果缓 存空间已满,就按最近最少使用的原则,替换映射信息,然后回写被替换的映射。
4. 根据权利要求3所述闪存控制器的映射信息管理方法,其特征在于所述逻辑块中 的映射信息以页为单位,逻辑块中的一个页对应虚拟块中一个页,虚拟页也对一个应物理 页。
5. 根据权利要求4所述闪存控制器的映射信息管理方法,其特征在于所述逻辑块映射信息中的每个项表示一个逻辑页所对应的物理页地址, 一个逻辑块的所有映射信息个数 为逻辑块的页数,这些信息存放在一个或多个物理页中。
6. 根据权利要求5所述闪存控制器的映射信息管理方法,其特征在于所述逻辑块和它的映射信息通过一个映射信息地址索引表来联系起来,该映射信息地址索引表中的每一 项表示一个逻辑块映射信息所存放的物理页地址。
7. 根据权利要求6所述闪存控制器的映射信息管理方法,其特征在于所述一个逻辑 地址通过除以逻辑块扇区数得到的商为其对应的逻辑块号,余数为它在逻辑块内的偏移; 得到逻辑块号后就可读取对应的映射信息,再通过其偏移得到该页的物理地址。
全文摘要
一种闪存控制器的映射信息管理方法,包括建立每个逻辑块的映射信息地址索引表、构建逻辑块所对应的虚拟块数组表、扫描nand flash芯片,用物理块构建虚拟块结构,完成初始化、进行写操作,通过映射信息地址索引表读出映射信息,用分配好的空闲物理地址修改其中逻辑地址对应的物理地址、进行读操作,首先在缓存中查找,如果找到,就直接使用该映射信息得到物理地址;如果未找到,再通过映射信息地址索引表读出映射信息,得到相应的物理地址。本发明提高了地址映射的速度;映射信息保存在保留块的数据区中,提高映射信息的安全性;另外保存映射信息的物理块和用户数据的物理块可同时进行磨损平衡,这样延长了块的使用寿命。
文档编号G06F3/06GK101714065SQ20091031029
公开日2010年5月26日 申请日期2009年11月24日 优先权日2009年11月24日
发明者刘升, 邱波 申请人:西安奇维测控科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1