使用存储器地址映射表的便携式数据存储设备制造技术

技术编号:3054582 阅读:148 留言:0更新日期:2012-04-11 18:40
一种便携式数据存储设备包括USB控制器(2)、主控制单元(7)和NAND闪速存储器(9)设备。主控制单元(7)接收待写入逻辑地址的数据以及用于从逻辑地址中读取数据的指令。它使用存储器地址映射表来把存储器设备(9)中的逻辑地址与物理地址相关联,并且向对应于逻辑地址的物理地址写数据或从中读取数据。所述映射不时被改变,以便使不同的物理地址区域在不同的时间与逻辑地址相关联。这样做增加了设备的速度,并且还意味着不会因物理地址永久地与相对经常写入数据的逻辑地址相关联,而使物理地址很快被损坏。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及便携式数据存储设备,以及采用所述设备来存储并且取回写入它们的数据的方法。
技术介绍
在过去几年来,人们已经对提供包含闪速存储器并且可与计算机串行总线相连的数据存储设备非常感兴趣。此领域的主要文献是WO01/61692,其描述了一种以注册商标“Thumbdrive”销售的整体设备。在此文献中所描述的实施例之一中,安装在设备壳体上的凸形USB插头直接连接到计算机上的凹形USB插口,以便使计算机能够在USB控制器的控制下向/从便携式存储设备的闪速存储器传送数据。已经对此设备提出各种改进。例如,WO 03/003282公开了所述设备可以装备有指纹传感器,并且只有在指纹传感器验证了用户身份的情况下,才允许对存储在设备内的数据进行访问,其中所述验证是通过比较用户扫描的指纹与预先存储的数据来实现的。这两篇文献的公开内容通过参看在此引入。这种便携式存储设备的结构可以如图1所示。所述便携式存储设备被标记为1,并具有虚线所示的壳体。它包括用于控制USB接口3(例如,USB插头)的USB控制器2,所述USB接口3直接与主计算机5的USB接口4(例如,USB插口)相连。从所述主计算机5转送到USB接口3的数据经过USB控制器2到达主控制单元7。数据分组为各种类型。它们包括WRITE(写)数据分组,其包含WRITE指令,用于把512字节倍数的数据量写入特定的逻辑地址。它们还包括READ(读)数据分组,其包括READ指令,用于从特定的逻辑地址中读取数据。所述WRITE指令通常包括数据的第一部分必须写入其中的逻辑地址,待写入多少数据的指示,然后还包括待写入的数据。可能需要多个数据分组来传递一个WRITE指令。同样地,READ指令表明从其开始读取的逻辑地址以及从该处开始待读取多少存储器的指示。主控制单元7通过控制NAND(与非)闪速存储器9来实现这些指令。所述主控制单元7通过命令符号来控制NAND闪速存储器9,所述命令符号通过如示意性示出的一条或多条线路12来传递。通常,这些线路12包括当数据将被写入闪速存储器9时用于发送WRITE信号的线路,当闪速存储器将向主控制单元7发送数据时用于发送READ信号的线路,用于发送表明在存储器中应该写入数据或应该从中读取数据的位置的地址信号的线路,以及必须具备某一值以便以便使闪速存储器能够工作的ENABLE(使能)信号。当主控制单元7必须在闪速存储器9中存储数据时,主控制单元7将数据经由8位总线发送到那里,同时发送WRITE命令、ENABLE信号和地址。该地址是对应于逻辑地址的物理地址(即,存储器单元9中的特殊地址),该对应依据存储在主控制器单元7或由主控制单元7访问的RAM存储器中存储的映射。当响应于READ命令时,把数据传送出设备,所述数据以512字节分组的形式从NAND闪速存储器9经由8位总线8被传递到主控制单元7。所述主控制单元向USB控制器2发送该512字节分组,USB控制器2经由USB接口3把数据发送出设备1至主机5。所述设备通常经由USB接口3供电,因此当从计算机的USB插口中拔除USB接口3时,所述设备断电。存储在主控制单元7RAM中的所有数据丢失。图2示出了NAND闪速存储器9的存储空间。所述设备配置为在各个“页面”6中存储512字节的数据部分(应注意的是,还存在其它可能性,诸如每页存储2千字节),每个页面还包含用于存储控制数据(通常为16字节)的各自的控制数据存储扇区11。数据以“块”10(即,图2各个行)的形式排列,例如每块10有64个页面6。常规的NAND闪速存储器有方面限制1.任何特定的页面要么处于“擦除”状态,在此状态中,可以把数据写入其中,要么处于“非擦除”状态,在此状态中,数据被存储在页面中并且不同的数据无法写入该页面中。页面必须逐块地从非擦除状态变化到擦除状态,即,特定块的所有非擦除页面必须一次被擦除,由此将会丢失其中存储的所有数据。2.特定块或者页面具有有限的生命周期。换言之,它只得在有限次数内从擦除状态变化到非擦除状态,诸如10,000或者10,000次。这限制了存储器设备的使用寿命。3.所述NAND闪速存储器包含在数据无法可靠地写入其中这种意义上为“坏”的个别块。如上所述,在NAND存储器设备9中写入数据或者从中读取数据的地址是通过由USB接口3接收的数据分组编码的逻辑地址来确定的。通常,主控制单元可访问一个表,所述表存储逻辑地址空间中的地址和物理存储空间中的位置之间的映射,其中所述物理存储空间中的位置在存储器设备中不处于污染表中的的块内(即,存储器内的“物理地址”)。具体来讲,每块被映射到逻辑地址空间的各个区域,所述逻辑地址空间具有的地址数目等于页面的数目。这种映射是固定的。由此,坏块不会与任何逻辑地址相关联。除所述坏块外,还存在不与逻辑地址相关联的其它块。这些是“保留”块,用于存储便携式存储设备可能需要的其它数据。例如,污染地址表本身被存储在保留块中。所述主控制单元7包括文件管理系统,所述文件管理系统包括块分配表,其表明每个块是处于擦除状态还是非擦除状态,并且有多少处于擦除状态或者非擦除状态。当所述主控制单元7接收到待写入存储器位置中的一个块的数据时,所述主控制单元7使用块分配表来得出所述块是否处于擦除状态。如果它发现所述块处于非擦除状态,那么它通常将所述块中的不可被重写的任意数据复制到不同位置,擦除所述块,然后把待存储在存储器中的新数据和复制到不同位置的数据一起写回到所述块。
技术实现思路
本专利技术致力于提供一种新的并且有用的便携式数据存储设备。概括地讲,本专利技术提出逻辑地址空间的区域和物理存储空间中的区域之间的映射在设备操作期间是改变的。换言之,在逻辑地址区域和物理存储器区域之间有一对一映射,但是此映射随时间而改变。这样具有许多优势。首先,本专利技术人注意到,一般说来,由主计算机上的常规操作系统生成的逻辑地址趋向于统计相关,这意味着如果逻辑地址与物理地址具有固定关系,那么某些物理地址要比其它地址更加频繁地被使用,因此势必迅速损坏。此外,能够改变逻辑和物理地址之间的关系意味着写数据所需的写操作的次数被减少。实质上,当接收到指令以把数据写入页面中,这些页面根据逻辑和物理地址间当前的映射是处于非擦除状态的,逻辑和物理地址间的映射可以被改变,以使处于擦除状态的新块与该逻辑地址相关联。所述新数据被写入新块,并且存储在旧块中的未被擦除的任意数据也被写入新块。由此,,旧的数据只须复制一次,而不是如上述常规方法中那样需要两次。这使得设备的总体操作更加快速。逻辑和物理地址之间的临时映射是由存储器地址映射表定义的。出于操作速度的考虑,存储器地址映射表优选地被存储在RAM存储器中(例如,存储在主控制单元自身中)。但是用于定义它的映射数据优选地也存储在闪速存储器设备自身中,因此在断电情况下不会丢失。具体的,特定块的一个或多个页面的控制数据存储扇区可以存储指示块当前与哪个逻辑地址区域相关的数据。当所述设备与主计算机相连,并且主控制单元加电时,主控制单元使用此数据来生成映射表(该映射表可以存储在其高速缓冲存储器中)。由于映射是变化的,所以对应于特定逻辑地址区域的物理地址从第一块改变为第二块,映射表中的数据以及存储在闪速存储器设备中的相应数据保持更新。在把数据存储本文档来自技高网
...

【技术保护点】
一种便携式数据存储设备,包括:    (i)用于把数据分组转送到设备中并且从该设备传出的数据接口,    (ii)接口控制器,    (iii)主控制单元,以及    (iv)至少一个NAND闪速存储器单元,    所述接口控制器用于向该主控制单元发送通过所述接口接收到的数据,并且    所述主控制单元被设置为把一些数据分组识别为编码READ指令,并且把其它数据分组识别为编码WRITE指令;    (a)当接收到指示逻辑地址的READ指令时,访问用于把逻辑存储空间内的逻辑地址区域与所述存储器单元内相应的第一物理地址区域相关联的存储器地址映射表,依照所述地址映射表从对应于所述逻辑地址的存储器单元中的物理地址读取数据,并且把包括被读取数据的一个或多个数据分组传输到所述数据接口,并且    (b)当接收到指示逻辑地址和待写入该逻辑地址的数据的WRITE指令时,依照所述存储器地址映射表确定对应于所述逻辑地址的物理地址是否处于擦除状态,并且:    若是,把数据写入该物理地址,或者    若否,修改所述地址映射表以便把第二物理地址区域与包含所述逻辑地址的逻辑地址区域相关联,依照修改后的存储器地址映射表把数据写入对应于所述逻辑地址的物理地址,并且把存储在所述第一物理地址区域的其它部分中的所有数据复制到所述第二物理地址区域的相应位置。...

【技术特征摘要】
【国外来华专利技术】1.一种便携式数据存储设备,包括(i)用于把数据分组转送到设备中并且从该设备传出的数据接口,(ii)接口控制器,(iii)主控制单元,以及(iv)至少一个NAND闪速存储器单元,所述接口控制器用于向该主控制单元发送通过所述接口接收到的数据,并且所述主控制单元被设置为把一些数据分组识别为编码READ指令,并且把其它数据分组识别为编码WRITE指令(a)当接收到指示逻辑地址的READ指令时,访问用于把逻辑存储空间内的逻辑地址区域与所述存储器单元内相应的第一物理地址区域相关联的存储器地址映射表,依照所述地址映射表从对应于所述逻辑地址的存储器单元中的物理地址读取数据,并且把包括被读取数据的一个或多个数据分组传输到所述数据接口,并且(b)当接收到指示逻辑地址和待写入该逻辑地址的数据的WRITE指令时,依照所述存储器地址映射表确定对应于所述逻辑地址的物理地址是否处于擦除状态,并且若是,把数据写入该物理地址,或者若否,修改所述地址映射表以便把第二物理地址区域与包含所述逻辑地址的逻辑地址区域相关联,依照修改后的存储器地址映射表把数据写入对应于所述逻辑地址的物理地址,并且把存储在所述第一物理地址区域的其它部分中的所有数据复制到所述第二物理地址区域的相应位置。2.如权利要求1所述的设备,其中定义所述存储器地址映射表的数据在所述闪速存储器单元中被存储为映射数据,所述存储器控制设备被用于当修改所述存储器地址映射表时,修改所述映射数据。3.如权利要求2所述的设备,其中所述存储器控制地址单元在初始化时用于从所述闪速存储器单元中提取所述映射数据,并且在RAM存储器内生成所述存储器地址映射表。4.如权利要求2或3所述的设备,其中定义每个相应的物理地址区域和逻辑地址区域之间的所述映射的所述映射数据部分被存储在所述物理地址区域内。5.如权利要求4所述的设备,其中关于给定物理地址区域的所述映射数据被存储在所述物理地址区域的一个或多个页面的控制数据存储扇区中。6.如前述任意一项权利要求所述的设备,其中所述物理存储空间包括(i)通过所述存储器地址映射表与逻辑地址区域相关联的物理存储区域,以及(ii)在用于修改所述存储器地址映射表的所述主控制单元的操作下可以与所述逻辑地址相关联的排队物理存储区域。7.如权利要求6所述的设备,其中所述排队物理存储区域处于擦除状态。8.如权利要求6或7所述的设备,其中所述物理存储空间还包括保留的物理存储区域,在用于修改所述存储器地址映射表的主控制单元的操作下,该保留的物理存储区域不能与逻辑地址相关联。9.如前述任意一项权利要求所述的设备,其中所述物理地址区域是所述存储器...

【专利技术属性】
技术研发人员:陈亨利符廷彬林利泉
申请(专利权)人:特科二零零零国际有限公司
类型:发明
国别省市:SG[新加坡]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利