存储设备控制方法及存储设备的制作方法

文档序号:6468843阅读:161来源:国知局
专利名称:存储设备控制方法及存储设备的制作方法
技术领域
本发明涉及存储技术,更具体地说,涉及半导体存储设备中的存储技术。
背景技术
对于半导体存储设备,例如闪存设备,一般包含至少一个闪存介质。闪存介质包括若干个物理块。每个物理块都具有物理地址。为了对物理块进行读写操作,需要建立物理地址与逻辑地址的映射关系。这种映射关系就记录在地址映射表中。 闪存介质在使用之前所有的物理块都是空块(即不包含任何数据的物理块)。为提高存取速度,在建立物理地址与逻辑地址的映射关系时,除了将所有的逻辑地址都与物理地址建立映射关系之外,还保留一定数量的空块无对应的逻辑地址。这部分无对应的逻辑地址的空块的信息构成一个集合,称为空块池。通常,存储设备在使用之前,空块池存储在半导体存储介质中。 在闪存设备上电初始化过程中,空块池被读入存储设备的内存(可以是存储设备的控制器内部的随机存储器,也可以是控制器外部的同步动态随机存储器)中。在对闪存介质进行数据写入的过程中,当执行写操作的物理块的剩余空间不足以容纳该次写操作的数据时,控制器将调用空块池中记录的空块来完成该次写操作。此时只需对这些空块分配逻辑地址后就可以写入数据了。为使空块池中记录的空块保持预定的数量,现有的方法是在空块池中的空块不足时将已用物理块中的内容擦除而成为空块,然后将该空块的物理地址等信息记录到空块池中。当这些已用物理块中包含储存了有效数据的页(简称有效页)时,则需将有效页中的数据搬迁到其它物理块,再将该已用物理块擦除成为空块,并将该空块的信息保存在空块池中。这个过程在本申请中简称为"空块回收"。 但是,在上述写入数据的过程中进行空块回收时,有效页的搬迁需要占用一定的操作时间,因此空块回收的次数过多会降低半导体存储设备的写入速度。

发明内容
本发明旨在提供一种存储设备控制方法及存储设备,以减少数据写入过程中的空块回收次数,从而提高数据写入速度。 为实现发明目的,所述存储设备包括半导体存储介质,存储设备的控制方法包括建立部分逻辑地址与半导体存储介质中空块的物理地址的映射关系;记录无映射关系的空块的信息;对无映射关系的空块进行操作。 该存储设备可设有空块池,用于记录无映射关系的至少部分空块的信息,和扩展记录区,用于记录空块池中未记录的无映射关系的空块。 其中,对无映射关系的空块进行操作的步骤可包括当在空块池记录的空块数量
低于第一预设值时,将扩展记录区记录的至少一空块的信息记录到空块池中。
该方法可包括当扩展记录区没有空块的信息记录时,进行空块回收。 还可包括当空块池记录的空块数量达到第二预设值时,将回收的空块的信息记录到扩展记录区中。 另外,该方法还包括当要进行读操作的逻辑地址未建立与物理地址的映射关系时,返回全0数据。 根据本发明的另一个方面,提供了一种存储设备,包括控制器和半导体存储介质,该控制器包括第一单元,建立部分逻辑地址与半导体存储介质中空块的物理地址的映射关系,和将无映射关系的空块的信息记录在半导体存储介质中;第二单元,对无映射关系的空块进行操作。 该存储设备还可包括空块池,用于记录至少一个空块的物理地址与逻辑地址的映射关系;扩展记录区,用于记录空块池中未记录的无映射关系的空块。 其中,第二单元可包括空块池管理模块,当空块池记录的空块数量低于第一预设值时,将扩展记录区中记录的至少一空块的信息加入到空块池中。 第二单元还可包括空块回收模块,当在扩展记录区中没有空块的信息记录时,进行空块回收。 另外,当空块池记录的空块数量达到第二预设值时,空块回收模块可将回收的空块的信息记录到扩展记录区中。 根据本发明,能有效减少数据写入过程中的空块回收次数,从而提高数据写入速度。


图1是本发明一个实施例中存储设备的结构示意 图2是图1中控制器的内部结构示意 图3是图2中第二单元的内部结构示意图; 图4是本发明一个实施例中存储设备控制方法的流程示意 图5是本发明的一个实施例中存储设备执行写操作的方法流程 图6是本发明一个实施例中存储设备执行读操作的方法流程图。
具体实施例方式
图1示出了本发明一个实施例中的存储设备l,该存储设备1包括控制器11和至少一个半导体存储介质12,还可以包括内存13。如前所述,内存13可以是存储设备的控制器11内部的随机存储器(如图1所示),也可以是控制器11外部的同步动态随机存储器。
图2示出了图l所示的控制器ll。该控制器ll包括第一单元lll和第二单元112,其中 第一单元111建立存储设备1的部分逻辑地址与半导体存储介质12中的空块的物理地址的映射关系,和将无映射关系的空块的信息记录在半导体存储介质12中。
第二单元112对无映射关系的空块进行操作。 在一个实施方式中,第一单元111在初始建立逻辑地址与物理地址的映射关系时,是将部分逻辑地址而不是所有逻辑地址都映射至物理块的物理地址。同时,仍然将一部分无映射关系的空块的信息记录到空块池,并将其余无映射关系的空块的信息记录到半导体存储介质12的一个区域(本申请中称为"扩展记录区")中。控制器11的第一单元111可根据实际需要设置建立物理地址与逻辑地址映射关系的空块的数量。
例如,半导体存储介质12含有8192个物理块,除去坏块和用于记录存储设备信息的一些物理块外,物理地址可与逻辑地址建立映射关系的物理块假设为8100个。在使用之前,这些物理块都是空块。控制器11的第一单元111仅建立逻辑地址与物理块0 99的物理地址的映射关系。第一单元111将物理块100 139信息记录到空块池,而将剩余的无映射关系的物理块140 8099的信息记录在半导体存储介质12中的扩展记录区中。
在另一个实施方式中,可将所有的逻辑地址都不映射至空块的物理地址。第一单元111仍然将一部分物理地址与逻辑地址无映射关系的空块的信息记录到空块池。同时,将未在空块池中记录的无映射关系的其余所有空块的信息都记录在半导体存储介质12中的扩展记录区中。 例如,在上例中,由于所有的逻辑地址都未映射任何空块的物理地址,控制器11的第一单元111仍将物理地址与逻辑地址没有映射关系的物理块0 39的信息记录到空块池。同时,第一单元111将其余无映射关系的物理块40 8099的信息都记录在扩展记录区中。 在上述实施方式中,使用存储设备1时,第二单元112将空块池存入存储设备1的内存13中。当存储设备1需要取空块时,从内存13中取空块池的至少一个空块的信息记录,并建立该空块的物理地址与逻辑地址的映射关系,以及根据该映射关系对该空块进行写操作。这样,当空块池中记录的空块不足(例如空块池记录的空块数量低于一个预先设定的下限)时,控制器11可以将记录在半导体存储介质12的扩展记录区中的至少一空块的信息加入空块池中,而不必进行回收空块至空块池的操作。这样可以改善由于回收空块的过程中有效页的搬迁所带来的降低数据写入速度的问题。 图3示出了图2所示的第二单元112。该第二单元112包括空块池管理模块1121、空块回收模块1122和地址映射模块1123,其中 空块池管理模块1121可将半导体存储介质12中扩展记录区记录的空块的信息加入空块池中。例如,当空块池记录的空块不足(例如空块池记录的空块数量低于预设的下限(第一预设值))时,空块池管理模块1121则将半导体存储介质12中扩展记录区记录的空块的信息加入空块池中。如上所述,这样就不必进行回收空块至空块池的操作。
当记录于空块池中的空块不足,并且半导体存储介质12中的扩展记录区没有空块的信息记录时,空块回收模块1122执行操作以回收空块至空块池。在一个实施例中,当空块池记录的空块数量已达到预设的上限(第二预设值)时,空块回收模块1122可将回收的空块的信息记录到半导体存储介质12的扩展记录区中。 地址映射单元1123用于建立空块池记录的空块的物理地址与逻辑地址的映射关系,根据该映射关系形成地址映射表。存储设备1则可根据该地址映射表进行数据操作。
图4示出了本发明一个实施例中的存储设备控制方法,该方法可用于图1所示的存储设备l,具体过程如下 在步骤S401中,在建立存储设备1的逻辑地址与半导体存储介质12中的空块的物理地址的映射关系时,仅建立部分逻辑地址与半导体存储介质12中的空块的物理地址的映射关系。 在步骤S402中,记录无映射关系的空块的信息。
5
在步骤S403中,对无映射关系的空块进行操作。 在一个实施方式中,在初始建立逻辑地址与物理地址的映射关系时,是将部分逻辑地址而不是全部逻辑地址都映射至物理块的物理地址。可根据实际需要设置物理地址与逻辑地址建立映射关系的空块的数量。在这种情况下,仍然将一部分无映射关系的空块的信息记录到空块池,并将未记录在空块池中的无映射关系的空块的信息记录到扩展记录区中。 另外,可以不对任何逻辑地址建立与物理地址的映射关系,并且除了将一部分无映射关系的空块的信息记录到空块池外,将其余所有无映射关系的空块的信息(如物理地址)都记录在扩展记录区中。 在上述实施方式中,在使用存储设备1时,将空块池存入存储设备1的内存13中。根据存储设备1写操作的需要,控制器11从内存13中获取空块池的至少一个空块的信息记录,并建立该空块的物理地址与逻辑地址的映射关系,从而根据该映射关系对空块进行写操作。 图5示出了本发明的一个实施例中存储设备1执行写操作的方法流程。具体过程如下 首先,存储设备1接收写命令,并利用控制器11判断当前写操作相应的逻辑地址
是否映射了物理地址。若是,则进一步判断该物理地址对应的物理块剩余空间是否不足。当
对应的物理块剩余空间足够时,则直接执行写操作,否则,开始执行步骤S501 。 在步骤S501中,判断空块池中记录的空块的数量是否不足(例如,低于第一预设
值)。若是,则执行步骤S502,否则,执行步骤S505。例如,空块池总共可以有100个空块的
信息记录,设定作为下限的第一预设值为5个。当空块池记录的空块数量少于5个时就判
断为空块不足。 在步骤S502中,判断半导体存储介质12的扩展记录区中是否有空块的信息记录。若是,则执行步骤S503,否则,执行步骤S504。在一个实施例中,可通过一个标记或结构体记录半导体存储介质12的扩展记录区中是否有空块,该标记或结构体可保存在空块池中。
在步骤S503中,空块池管理模块1121将扩展记录区中至少一空块的信息记录至空块池。例如,可从半导体存储介质12的扩展记录区中取出一部分空块的信息,并将取出的信息加入空块池。同时,更新半导体存储介质12的扩展记录区中的记录,包括将这部分空块的信息在扩展记录区中删除。 在步骤S504中,空块回收模块1122回收空块并将回收到的空块的信息记录至空块池。在一个实施例中,当空块池中记录的空块数量低于第一预设值,并且半导体存储介质12的扩展记录区中没有空块的信息记录时,则需回收空块至空块池。若要回收的已用物理块包含了有效页,则需将有效页中的数据搬迁到其它物理块,再将该已用物理块擦除成为空块,并将该空块的信息记录到空块池。在另一个实施例中,当空块池记录的空块数量已达到预设的上限(第二预设值)时,则可将回收空块的信息记录到半导体存储介质12的扩展记录区中。 在步骤S505中,从内存13获取空块池的至少一个空块的信息记录,地址映射单元
1123建立该空块的物理地址与逻辑地址之间的映射关系。 在步骤S506中,控制器11可根据该映射关系执行写操作。
在一个实施例中,在执行写操作之后,控制器11可回收半导体存储介质12中的无效块。所谓无效块,是指不包含有效页的物理块,该物理块中的信息都是无效的。控制器ll检查半导体存储介质12中是否有无效块。若是,则将无效块直接擦除后成为空块,并将该空块的信息加入到空块池或扩展记录区中。 根据上述实施方式,当写操作对应的物理块剩余空间不足以容纳该次写操作的数据时,则取空块池中记录的空块来存储该次写操作的数据。当空块池记录的空块的数量不足时,无需进行回收空块至空块池的操作,而是将半导体存储介质12的扩展记录区中记录的空块的信息记录到空块池中,从而有效减少空块回收次数。 图6示出了本发明的一个实施例中存储设备1执行读操作的方法流程,具体过程如下 在步骤S601中,存储设备1接收读命令。 在步骤S602中,半导体存储设备1利用控制器11判断当前读命令的逻辑地址是否建立了与物理地址的映射关系,若是,则执行步骤S604,否则,执行步骤S603。
在步骤S603中,存储设备1返回全0数据。 在步骤S604中,控制器11判断当前逻辑地址是否写过数据,若是,则执行步骤S605,否则,执行步骤S603。 在步骤S605中,读取物理块中的相应数据,并将数据返回。 在存储设备1执行读操作时,当前读命令的逻辑地址未映射物理地址时,即当前
的逻辑地址没有对应的物理块,此时无需再读半导体存储介质12,也无需判断半导体存储
介质12中是否有数据,而直接返回全O数据,从一定程度上提高了读取速度。 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精
神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
存储设备的控制方法,所述存储设备包括半导体存储介质,所述方法包括建立部分逻辑地址与半导体存储介质中空块的物理地址的映射关系;记录无所述映射关系的空块的信息;和对无所述映射关系的空块进行操作。
2. 根据权利要求1所述的方法,其中所述存储设备设有空块池,用于记录无所述映射关系的至少部分空块的信息,禾口扩展记录区,用于记录所述空块池中未记录的无所述映射关系的空块。
3. 根据权利要求2所述的方法,其中对无所述映射关系的空块进行操作的步骤包括当在所述空块池记录的空块数量低于第一预设值时,将所述扩展记录区记录的至少一空块的信息记录到所述空块池中。
4. 根据权利要求3所述的方法,还包括当所述扩展记录区没有空块的信息记录时,进行空块回收。
5. 根据权利要求4所述的方法,还包括当所述空块池记录的空块数量达到第二预设值时,将回收的空块的信息记录到所述扩展记录区中。
6. 根据权利要求l-5任一项所述的方法,还包括当要进行读操作的逻辑地址未建立与物理地址的映射关系时,返回全0数据。
7. 存储设备,包括控制器和半导体存储介质,所述控制器包括第一单元,建立部分逻辑地址与半导体存储介质中空块的物理地址的映射关系,和将无所述映射关系的空块的信息记录在半导体存储介质中;第二单元,对无所述映射关系的空块进行操作。
8. 根据权利要求7所述的存储设备,还包括空块池,用于记录至少一个空块的物理地址与逻辑地址的映射关系;扩展记录区,用于记录所述空块池中未记录的无所述映射关系的空块。
9. 根据权利要求8所述的存储设备,其中所述第二单元包括空块池管理模块,当空块池记录的空块数量低于第一预设值时,将所述扩展记录区中记录的至少一空块的信息加入到所述空块池中。
10. 根据权利要求9所述的存储设备,其中所述第二单元还包括空块回收模块,当在所述扩展记录区中没有空块的信息记录时,进行空块回收。
11. 根据权利要求io所述的存储设备,其中,当所述空块池记录的空块数量达到第二预设值时,所述空块回收模块将回收的空块的信息记录到所述扩展记录区中。
全文摘要
本发明提供了一种存储设备的控制方法及存储设备。存储设备包括半导体存储介质,该方法包括建立部分逻辑地址与半导体存储介质中空块的物理地址的映射关系;记录无所述映射关系的空块的信息;和对无所述映射关系的空块进行操作。采用本发明提供的存储设备及其控制方法,能有效减少数据写入过程中的空块回收次数,从而提高数据写入速度。
文档编号G06F12/06GK101770425SQ200810187399
公开日2010年7月7日 申请日期2008年12月31日 优先权日2008年12月31日
发明者卢赛文 申请人:深圳市朗科科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1