存储装置.pdf

上传人:Y0****01 文档编号:1013034 上传时间:2018-03-25 格式:PDF 页数:21 大小:1.08MB
返回 下载 相关 举报
摘要
申请专利号:

CN201010154233.9

申请日:

2008.05.13

公开号:

CN101853214A

公开日:

2010.10.06

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 12/06变更事项:专利权人变更前:巴比禄股份有限公司变更后:巴法络股份有限公司变更事项:地址变更前:日本爱知县变更后:日本爱知县|||授权|||实质审查的生效IPC(主分类):G06F 12/06申请日:20080513|||公开

IPC分类号:

G06F12/06; G11C7/10

主分类号:

G06F12/06

申请人:

巴比禄股份有限公司

发明人:

荒川忠史

地址:

日本爱知县

优先权:

2007.05.14 JP 2007-127665; 2008.01.11 JP 2008-004691

专利代理机构:

北京东方亿思知识产权代理有限责任公司 11258

代理人:

柳春雷;南霆

PDF下载: PDF下载
内容摘要

本发明提供一种充分地发挥了SLC型闪存和MLC型闪存这两者的优点的存储装置。存储装置包括:二值闪存,具有第一存储区域,每单个单元可以存储2种值;多值闪存,具有第二存储区域,每单个单元可以存储3种以上的值;以及控制部,在将第一存储区域配置于开头的区域的同时逻辑结合第一存储区域和第二存储区域,并作为为单一的存储区域的结合区域而进行数据的读写。根据预定的文件系统而在存储区域的开头存储数据的管理信息。

权利要求书

1: 一种存储装置, 能够根据预定的文件系统来存储数据, 所述存储装置包括 : 二值闪存, 具有第一存储区域, 每单个单元可以存储 2 种值 ; 多值闪存, 具有第二存储区域, 每单个单元可以存储 3 种以上的值 ; 以及 控制部, 逻辑结合所述第一存储区域和所述第二存储区域, 并作为为单一的存储区域 的结合区域而进行数据的读写 ; 所述控制部包括 RAID 芯片, 通过该 RAID 芯片使所述二值闪存和所述多值闪存进行跨 越动作, 由此逻辑结合所述第一存储区域和所述第二存储区域。
2: 如权利要求 1 所述的存储装置, 其中, 所述预定的文件系统是在所述结合区域的开头记录数据的管理信息的文件系统, 所述控制部将所述第一存储区域整体与所述第二存储区域相比配置于开头的区域, 同 时逻辑结合所述第一存储区域和所述第二存储区域。

说明书


存储装置

    本申请是基于申请号为 200810098116.8, 申请日为 2008 年 5 月 13 日, 申请人为巴 比禄股份有限公司, 名称为 “存储装置” 的发明专利申请的分案申请。
     技术领域
     本发明涉及存储在计算机或各种电子设备中使用的数据的存储装置。背景技术 近年来, 作为计算机的外部存储装置, 以紧凑型闪存 (compactflash)( 注册商标, 以下相同 ) 为代表的存储卡、 USB 闪存驱动器 (USBflash drive) 正在普及。在这些外部存 储装置中内置有闪存, 该闪存是可重写的非易失性 ROM。 有被称为 SLC(Single Level Cell, 单级单元 ) 型和 MLC(Multi Level Cell, 多级单元 ) 型的闪存 ( 例如, 参照以下的专利文献 1)。
     专利文献 1 : 日本专利文献特开 2002-8380 号公报。
     SLC 型闪存是一直以来被广泛使用的存储器, 是每单个单元可以存储 1 位的信息 的存储器 ( 以下也称为 “二值存储器” )。与此相对, MLC 型存储器单元是每单个单元可以存 储 2 位以上的信息的存储器 ( 以下也称为 “多值存储器” )。MLC 型闪存可以通过各单元取 完全充电的状态、 电量剩余有三分之二的状态、 电量剩余有三分之一的状态、 被完全放电的 状态这四种状态而以每单个单元存储 2 位的信息。
     通常, MLC 型闪存具有低速动作、 可重写次数少、 但存储容量比 SLC 型大的特点。 另 一方面, SLC 型闪存具有高速动作、 可重写次数多、 但存储容量比 MLC 型小的特点。
     发明内容 发明所要解决的问题
     鉴于上述问题, 本发明所要解决的课题是提供一种发挥了 SLC 型闪存和 MLC 型闪 存这两者的特点的优点的存储装置。
     用于解决问题的手段
     鉴于上述课题, 本发明的一个实施方式的存储装置如下构成。
     即, 本发明提供一种存储装置, 该存储装置在存储区域的开头记录数据的管理信 息, 并且可以根据预定的文件系统来存储数据, 所述存储装置的特征在于, 包括 : 二值闪存, 具有第一存储区域, 每单个单元可以存储 2 种值 ; 多值闪存, 具有第二存储区域, 每单个单 元可以存储 3 种以上的值 ; 以及控制部, 在将所述第一存储区域配置于开头的区域的同时 逻辑结合所述第一存储区域和所述第二存储区域, 并作为为单一的存储区域的结合区域而 进行数据的读写。
     根据上述方式的存储装置, 将二值闪存所具有的第一存储区域配置于结合区域的 开头。因此, 文件分配表等数据的管理信息被写入到二值闪存内。由于文件分配表是一旦 进行数据的写入或擦除就会被频繁地进行重写的管理信息, 因此通过将动作速度高于多值
     闪存的二值闪存配置于结合区域的开头, 与全部区域由多值闪存构成的存储装置相比, 可 以高速地存储数据。 另外, 由于二值闪存具有与多值闪存相比可重写次数多的特点, 因此通 过将会被频繁地进行重写的文件分配表写入二值闪存, 可以提高数据存储的可靠性。 这样, 根据上述方式的存储装置, 通过使用多值闪存而实现了大容量化, 同时通过也使用二值闪 存而可以提供在动作的高速性和可靠性方面优良的存储装置。
     上述方式的存储装置也可以采用以下构成方式, 即, 所述控制部包括 : 地址转换 部, 进行所述结合区域与所述第一存储区域和所述第二存储区域之间的地址转换 ; 以及选 择部, 根据所述地址转换的结果, 从所述二值闪存和所述多值闪存中选择所述数据的读写 目的地。根据该方式, 可以根据地址转换的结果而容易地判断出数据的读写目的地。
     上述方式的存储装置也可以采用以下构成方式, 即, 所述控制部在将通过所述地 址转换部进行了转换后的地址发送给所述二值闪存和所述多值闪存之后, 将用于进行所述 数据的读写的指令发送给所述被选择的闪存。
     根据该方式, 向所有闪存发送转换后的地址, 然后仅向被选择的闪存发送指令。 根 据该方式, 由于不需要从二值闪存和多值闪存中选择转换后的地址的发送目的地, 因此可 以提高处理速度。 上述方式的存储装置也可以采用以下构成方式, 即, 所述第一存储区域是占所述 结合区域的 0.5%以上且不足 100%的任一比例的区域。通过将第一存储区域设定为这样 的区域, 能够可靠地将文件分配表等管理信息存储在二值闪存内。
     上述方式的存储装置也可以采用以下构成方式, 即, 该存储装置经由预定的接口 与主机装置连接, 所述控制部根据来自所述主机装置的指示而进行所述数据的读写。根据 该方式, 可以将该存储装置用作主机装置的外部存储装置或内部存储装置。作为预定的接 口, 例如可以使用 USB、 IEEE1394、 串行 ATA、 并行 ATA 等接口。
     上述方式的存储装置也可以采用以下构成方式, 即, 所述控制部在从所述主机装 置接收到该存储装置的存储容量的询问时返回所述结合区域的存储容量。根据该方式, 可 以将结合区域整体的容量而不是各闪存所个别具有的存储容量通知给主机装置。
     上述方式的存储装置也可以采用以下构成方式, 即, 包括多个所述多值闪存, 所述 控制部在将所述第一存储区域配置于开头的区域的同时逻辑结合所述第一存储区域和多 个所述第二存储区域。 根据该方式, 可以具有多个多值闪存, 因此可以提供具有大容量的存 储区域的存储装置。
     本发明也可以应用于以下方式的存储装置。即, 该存储装置在存储区域的开头记 录数据的管理信息, 并且可以根据预定的文件系统来存储数据, 所述存储装置的特征在于, 包括 : 二值闪存, 具有第一存储区域, 每单个单元可以存储 2 种值 ; 多值闪存, 具有比所述第 一存储区域大的第二存储区域, 每单个单元可以存储 3 种以上的值 ; 比较部, 对从与该存储 装置连接的主机装置指定的地址和根据所述第一存储区域的最大容量而确定了的预定的 阈值进行比较 ; 以及控制部, 在所述地址为所述阈值以内的地址的情况下将数据的读写目 的地切换为所述二值闪存, 在所述地址为超过所述阈值的地址的情况下将所述读写目的地 切换为所述多值闪存。
     根据该方式的存储装置, 通过进行根据被指定的地址而在多值闪存与二值闪存之 间切换数据的读写目的地这样的简单的控制, 可以对特性不同的这些闪存进行数据的读
     写。 结果, 通过使用多值闪存而实现了大容量化, 同时通过也使用二值闪存而可以提供在动 作的高速性和可靠性方面优良的存储装置。
     上述方式的存储装置也可以采用以下构成方式, 即, 所述控制部在所述读写目的 地被切换为所述二值闪存和所述多值闪存中的任一者的情况下, 均原样使用所述地址的值 而对所述二值闪存或所述多值闪存进行数据的读写。根据该方式, 由于不需要进行将由主 机装置指定的地址转换为其他体系的地址的处理, 因此可以实现处理的简化。
     上述方式的存储装置也可以采用以下构成方式, 即, 所述控制部在从所述主机装 置接收到该存储装置的存储容量的询问时返回所述第二存储区域的存储容量。 上述方式的 存储装置的最大存储容量与第二存储区域一致。因此, 可以通过原样返回第二存储区域的 存储容量这样的简单的处理而将该存储装置的存储容量通知给主机装置。 附图说明
     图 1 是表示作为第一实施例的存储装置的简要构成的说明图 ;
     图 2 是表示由第一实施例的单元管理电路进行的地址转换的概念的说明图 ;
     图 3 是示意性地表示第一实施例的单元管理电路的内部构成的框图 ;
     图 4 是第一实施例中的单元管理处理的流程图 ;
     图 5 是表示作为第二实施例的存储装置的简要构成的说明图 ;
     图 6 是表示通过第二实施例的单元管理电路进行的存储单元的切换控制的概念 的说明图 ;
     图 7 是示意性地表示第二实施例中的单元管理电路的内部构成的框图 ;
     图 8 是表示通过第二实施例的切换控制电路进行的切换动作的详细情况的说明 图。 具体实施方式
     以下, 为了进一步明确上述本发明的作用和效果, 根据实施例来说明本发明的实 施方式。
     A. 第一实施例 :
     图 1 是表示作为本发明的实施例的存储装置 10 的简要构成的说明图。本实施例 的存储装置 10 经由 USB 接口与以计算机为代表的主机装置 80 连接, 被用作外部存储装置。 主机装置 80 通过规定的文件系统 (FAT16 或 FAT32 等 ) 来格式化存储装置 10 而进行数据 的读写。
     如图所示, 存储装置 10 包括主控制器 20, 另外还包括与该主控制器 20 连接并分别 具有 NAND 闪存的第一存储单元 30、 第二存储单元 40、 第三存储单元 50、 以及第四存储单元 60。
     第一存储单元 30 包括二值存储器 31, 该二值存储器 31 是 SLC 型的 NAND 闪存。另 外, 第一存储单元 30 包括根据该二值存储器 31 的电特性来控制该二值存储器 31 的第一单 元控制器 32。在本实施例中, 作为第一单元控制器 32 而采用广泛应用的紧凑型闪存用存 储控制器。第一单元控制器 32 从主控制器 20 接收基于 ATA 规格的指令或数据, 并对该二 值存储器 31 进行数据的读写。在本实施例中, 第一存储单元 30 具有 1G 字节容量的存储区域。在无法通过一个二值存储器 31 来实现 1G 字节容量的存储区域的情况下, 也可以通过 使多个二值存储器 31 与第一单元控制器 32 连接来实现 1G 字节的存储区域。
     第二存储单元 40 包括多值存储器 41, 该多值存储器 41 是 MLC 型的 NAND 闪存。本 实施例的多值存储器 41 是可以存储 4 值 (2 位 ) 的信息的存储器。当然, 作为多值存储器 41, 可以适当地采用可存储 3 值以上的信息的存储器。第二存储单元 40 还包括根据该多值 存储器 41 的电特性来控制该多值存储器 41 的第二单元控制器 42。在本实施例中, 与第一 存储单元 30 一样, 采用广泛应用的紧凑型闪存用存储控制器来作为第二单元控制器 42。 第 三存储单元 50 和第四存储单元 60 的构成与第二存储单元 40 相同。在本实施例中, 第二存 储单元 40、 第三存储单元 50、 以及第四存储单元 60 分别具有 15G 字节容量的存储区域。因 此, 本实施例的存储装置 10 作为整体而具有 46G(1G+15G+15G+15G) 字节容量的存储区域。 在无法通过一个多值存储器来实现 15G 字节容量的存储区域的情况下, 也可以通过使多个 多值存储器与单元控制器连接来实现 15G 字节的存储区域。
     主控制器 20 是根据来自经由 USB 接口而连接的主机装置 80 的指示来控制对各存 储单元 30 ~ 60 的数据读写的集成电路。主控制器 20 作为内部电路而包括总线转换电路 21 和单元管理电路 22。 总线转换电路 21 具有将从主机装置 80 接收到的、 基于 USB 规格的信号转换为基 于 ATA(Advanced Technology Attachment, 高级技术附件 ) 规格的信号的功能。 ATA 是指计 算机与存储装置的标准的通信接口。作为基于 ATA 规格的信号, 例如有 3 个地址信号 A0 ~ A2、 16 个数据信号 D00 ~ D15、 以及重置 (reset) 信号等控制信号。
     单元管理电路 22 具有逻辑结合各存储单元 30 ~ 60 所具有的二值存储器和多值 存储器的存储区域并作为单一的存储区域来进行操作的功能。单元管理电路 22 根据由总 线转换电路 21 进行了转换后的 ATA 信号的 LBA(Logical Block addressing, 逻辑块寻址 ) 地址来进行地址转换, 由此实现各存储单元 30 ~ 60 的逻辑结合。 LBA 是指对存储区域的所 有扇区分配连续的号码并通过该连续的号码来指定进行访问的扇区的方式。LBA 地址通过 该连续的号码来表示。 “LBA 地址” 也被称为 “LBA 参数” 。
     图 2 是表示由单元管理电路 22 进行的地址转换的概念的说明图。 在图的左侧表示 了由单元管理电路 22 管理的各存储单元 30 ~ 60 的存储区域。如图所示, 在本实施例中, 第一存储单元 30 内的存储区域通过从 “0” 到 “W” 的 LBA 地址来表示。另外, 第二存储单元 40 通过从 “0” 到 “X” 的 LBA 地址来表示, 第三存储单元通过从 “0” 到 “Y” 的 LBA 地址来表 示, 第四存储单元通过从 “0” 到 “Z” 的 LBA 地址来表示。
     在图 2 的右侧表示了结合各存储单元 30 ~ 60 的存储区域后的存储区域。如图所 示, 单元管理电路 22 将第一存储单元 30 所具有的二值存储器 31 的存储区域配置在开头的 区域, 然后配置其他存储单元 40 ~ 60 所具有的多值存储器 41 ~ 61 的存储区域。如图 2 所示, 结合后的存储区域通过从 “0” 到 “W+X+Y+Z” 的连续的 LBA 地址来表示。通过由单元 管理电路 22 这样来结合存储区域, 主机装置 80 可以将存储装置 10 内的存储区域作为通过 从 “0” 到 “W+X+Y+Z” 的连续的 LBA 地址来表示的存储区域而识别出来。在以下的说明中, 将结合后的存储区域称为 “结合区域 UA” 。
     图 3 是示意性地表示单元管理电路 22 的内部构成的框图。单元管理电路 22 除了 进行上述地址转换之外, 还具有将从主机装置 80 发出的 ATA 指令或数据传送给各存储单元
     30 ~ 60 的功能。在图 3 中表示了用于实现该传送功能的内部构成。
     各存储单元 30 ~ 60 所具有的单元控制器 32 ~ 62 分别包括遵循 ATA 规格的、 被 称为指令块寄存器的 8 种寄存器。这 8 种寄存器分别称为 : (1) 特性寄存器、 (2) 扇区数寄 存器、 (3) 设备 / 头 (head) 寄存器、 (4) 柱面高位寄存器、 (5) 柱面低位寄存器、 (6) 扇区号 寄存器、 (7) 指令寄存器、 (8) 数据寄存器。单元控制器 32 ~ 62 按照在这些寄存器中设置 的各种参数来控制对二值存储器或多值存储器的数据的读写。主机装置 80 在读写数据时 将对这些寄存器的访问信号发送给存储装置 10。
     当经由 USB 接口和总线转换电路 21 从主机装置 80 接收到上述访问信号时, 单元 管理电路 22 根据作为访问对象的寄存器的种类来改变对各存储单元 30 ~ 60 的访问信号 的传送方法。单元管理电路 22 包括用于判断作为访问对象的寄存器的种类的寄存器判断 电路 78。
     寄存器判断电路 78 根据从总线转换电路 21 输入的地址信号 A0 ~ A2 的状态, 基 于 ATA 规格来判断作为访问对象的寄存器的种类。例如如图所示, 如果地址信号 A2 为 “0” 、 地址信号 A1 为 “0” 、 地址信号 A0 为 “1” , 则寄存器判断电路 78 可以判断出输入了对特性寄 存器的访问信号。 在从主机装置 80 接收到对特性寄存器和扇区数寄存器的访问信号的情况下, 单 元管理电路 22 使该访问信号原样通过, 将该访问信号传送给所有的存储器单元 30 ~ 60。 这是因为这些寄存器不是用于直接指定结合区域 UA 内的位置的寄存器。具体地说, 特性寄 存器是用于根据 ATA 指令来指定各种参数的寄存器, 扇区数寄存器是用于在连续访问多个 扇区时指定其扇区数的寄存器。关于连续访问时的对 “起始扇区” 的指定, 使用后述的设备 / 头寄存器、 柱面高位寄存器、 柱面低位寄存器、 扇区号寄存器。
     设备 / 头寄存器、 柱面高位寄存器、 柱面低位寄存器、 扇区号寄存器是用于指定结 合区域 UA 内的位置 ( 扇区 ) 的寄存器。向这些寄存器分别输入表示结合区域 UA 内的扇区 的 LBA 地址的一部分。具体地说, 如果 LBA 地址为 28 位长的参数, 则向扇区号寄存器输入 从第 0 位到第 7 位的位列, 向柱面低位寄存器输入从第 8 位到第 15 位的位列。另外, 向柱 面高位寄存器输入从第 16 位到第 23 位的位列, 向设备 / 头寄存器输入从第 24 位到第 27 位的位列。当接收到对这些寄存器的访问信号时, 单元管理电路 22 暂时将该信号锁存在锁 存电路 70 ~ 73 中。
     锁存在锁存电路 70 ~ 73 中的访问信号被输入地址译码器 90。地址译码器 90 具 有将离散地存储在各锁存电路 70 ~ 73 中的 LBA 地址结合起来并复原为 28 位长的 LBA 地 址的功能。另外, 地址译码器 90 具有对复原后的 LBA 地址和各存储单元的最大扇区数进行 比较的功能。后面将详细地说明该功能。
     指令寄存器是用于指定基于 ATA 规格的各种指令的寄存器。作为这样的指令, 例 如有从指定的扇区读入数据的读扇区指令、 向指定的扇区写入数据的写扇区指令。当接收 到对指令寄存器的指令信号时, 单元管理电路 22 将该信号输入给指令译码器 91 和锁存电 路 74。
     当输入了指令信号时, 指令译码器 91 判断输入的指令的种类, 并将该判断结果输 出给地址转换电路 92 和单元选择器 94。 输入到锁存电路 74 的指令信号在有来自单元选择 器 94 的输出指示之前保持在锁存电路 74 中。
     地址转换电路 92 具有如图 2 所示的、 将从地址译码器 90 输入的关于结合区域 UA 的 LBA 地址转换为每个存储器单元 30 ~ 60 的 LBA 地址的功能。具体地说, 地址转换电路 92 从地址译码器 90 输入 LBA 地址, 并且还从指令译码器 91 输入指令的种类。然后, 判断 输入的指令的种类是否是需要 LBA 地址的指令。需要 LBA 地址的指令是指通常对地址 ( 扇 区 ) 进行指定并对指定的地址进行某种访问的指令, 例如有 “读扇区指令” 、 “写扇区指令” 、 “多次读指令” “多次写指令” 、 “读 DMA 指令” 、 “写 DMA 指令” 、 “读校验扇区指令” 、 “查找指令” 、 等。如果地址转换电路 92 判断输入的指令的种类是需要 LBA 地址的指令, 则将从地址译码 器 90 输入的 LBA 地址转换为每个存储单元的 LBA 地址 ( 后面将说明转换方法 ), 并将转换 后的 LBA 地址传送给所有的存储单元 30 ~ 60。如后所述, 主控制器 20 不会同时向多个存 储单元传送需要 LBA 地址的 ATA 指令, 因此转换后的 LBA 地址可以传送给所有的存储单元 30 ~ 60。由此, 地址转换电路 92 可以省略选择传送目的地的处理。当然, 也可以仅向该存 储单元传送转换后的 LBA 地址。
     如果从指令译码器 91 输入的指令的种类是不需要 LBA 地址的指令, 则地址转换电 路 92 将从地址译码器 90 输入的参数原样传送给所有的存储单元 30 ~ 60。这是由于在为 不需要 LBA 地址的指令的情况下, 输入到设备 / 头寄存器等的访问信号不限于表示 LBA 地 址。不需要 LBA 地址的指令是指在不指定地址 ( 扇区 ) 的情况下对闪存进行某种操作的指 令, 例如有 “识别设备 (identify device) 指令” 、 “设置特性指令” 、 “检查功率模式指令” 、 “睡眠指令” 、 “待机指令” 、 “空闲指令” 等。在从指令译码器 91 输入的指令的种类是不需要 LBA 地址的指令的情况下, 地址转换电路 92 也可以与需要 LBA 地址的指令同样地向存储单 元 30 ~ 60 传送转换后的 LBA 地址。这是因为不需要 LBA 地址的指令是无论有无 LBA 地址 均会被执行的指令。当然, 也可以是进行转换但不传送转换后的 LBA 地址的构成。
     单元选择器 94 是根据从地址译码器 90 输入的 LBA 地址来选择作为指令的传送目 的地的存储单元的电路。具体地说, 单元选择器 94 从地址译码器 90 输入 LBA 地址, 并且从 指令译码器 91 输入指令的种类。 然后, 判断输入的指令的种类是否是需要 LBA 地址的指令。 如果是需要 LBA 地址的指令, 则单元选择器 94 进行以下处理 : 根据输入的 LBA 地址来选择 作为指令的传送目的地的存储单元。后面将详细地说明该处理。单元选择器 94 在选择了 作为传送目的地的存储单元之后控制第一开关电路 96, 连接该作为传送目的地的存储单元 和锁存电路 74。于是, 保持在锁存电路 74 中的指令信号被传送给被选择的存储单元。
     向各单元输出保持在锁存电路 74 中的指令信号的定时被设定为地址转换后的 LBA 地址被从地址转换电路 92 发送给各存储单元并通过单元选择器 94 完成了第一开关电 路 96 的切换之后的定时。这是因为在 ATA 规格中规定 : 在发送需要 LBA 地址的指令之前, 需要预先在寄存器中设定 LBA 地址。另外, 如果输入的指令的种类是不需要 LBA 地址的指 令, 则单元选择器 94 控制第一开关电路 96, 以使锁存电路 74 与所有的存储单元连接。由 此, 可以向所有的存储单元传送不需要 LBA 地址的指令。 在输入的指令的种类是不需要 LBA 地址的指令的情况下, 锁存电路 74 也可以不使指令的输出延迟。
     单元选择器 94 一旦根据输入的 LBA 地址控制了第一开关电路 96, 就与此相同地控 制第二开关电路 98。第二开关电路 98 是用于切换对数据寄存器的访问信号的开关。当通 过单元选择器 94 使第二开关电路 98 切换后, 数据信号也被传送给与被传送了需要 LBA 地 址的指令的存储单元相同的存储单元。在第二开关电路 98 与寄存器判断电路 78 之间连接有状态存储电路 79。 在状态存 储电路 79 中存储有结合区域 UA 整体的容量 ( 所有扇区数 )、 表示存储装置 10 的制造者信 息的设备 ID。通常, 在从主机装置 80 要求获得状态信息的情况下, 从通过第二开关电路 98 选择的存储单元返回状态信息。但是, 例如在通过 “识别设备” 指令等询问存储装置 10 所 具有的所有扇区数或设备 ID 等的情况下, 从该状态存储电路 79 向主机装置 80 返回状态信 息。这样, 如果为可以从状态存储电路 79 返回状态信息的构成, 则可以将无法通过各存储 单元进行应对的、 关于存储装置 10 整体的状态信息正确地传送给主机装置 80。
     图 4 是表示通过地址译码器 90 和地址转换电路 92 实现的地址转换处理和由单元 选择器 94 实现的对存储单元的选择处理的流程的流程图。以下, 将该处理简称为 “单元管 理处理” 。
     地址转换电路 92 判断从指令译码器 91 输入的指令的种类是否是需要 LBA 地址的 指令 ( 步骤 S10)。结果, 如果是不需要 LBA 地址的指令 ( 步骤 S10 : 否 ), 则地址转换电路 92 不进行地址转换而向所有单元原样传送输入到设备 / 头寄存器等的参数。另一方面, 单 元选择器 94 选择所有的存储单元 ( 步骤 S20) 并结束处理。由此, 同一指令被传送给所有 的存储单元。另外, 如前所述, 当在步骤 S10 中判断为输入了不需要 LBA 地址的指令时, 地 址转换电路 92 也可以与需要 LBA 地址的指令同样地进行如下所述的地址址转换。
     在上述步骤 S10 中, 如果输入的指令是需要 LBA 地址的指令 ( 步骤 S10 : 是 ), 则地 址译码器 90 判断输入的 LBA 地址 n 是否是第一存储单元 30 的 LBA 地址的最大值 W( 参照 图 2) 以下的值 ( 步骤 S30)。如果 LBA 地址 n 为最大值 W 以下的值 ( 步骤 S30 : 是 ), 则使 通过地址转换电路 92 进行转换后的 LBA 地址 m 为从地址译码器 90 输入的原来的 LBA 地址 n( 步骤 S40)。并且, 在该情况下, 单元选择器 94 选择第一存储单元 30 作为指令的传送目 的地 ( 步骤 S50)。
     当在上述步骤 S30 中判断 LBA 地址 n 不是第一存储单元 30 的 LBA 地址的最大值 W 以下的值时 ( 步骤 S30 : 否 ), 地址译码器 90 判断 LBA 地址 n 是否是第一存储单元 30 的 LBA 地址的最大值 W 与第二存储单元 40 的 LBA 地址的最大值 X 之和 (W+X) 以下的值 ( 步骤 S60)。如果 LBA 地址 n 是所述和 (W+X) 以下的值 ( 步骤 S60 : 是 ), 则使通过地址转换电路 92 进行转换后的 LBA 地址 m 为从 LBA 地址 n 减去了第一存储单元 30 的 LBA 地址的最大值 W 后得到的值 ( 步骤 S70)。并且, 在该情况下, 单元选择器 94 选择第二存储单元 40 作为指 令的传送目的地 ( 步骤 S80)。
     当在上述步骤 S60 中判断 LBA 地址 n 不是所述和 (W+X) 以下的值时 ( 步骤 S60 : 否 ), 地址译码器 90 判断 LBA 地址 n 是否是第一存储单元 30 的 LBA 地址的最大值 W、 第二存 储单元 40 的 LBA 地址的最大值 X、 以及第三存储单元 50 的 LBA 地址的最大值 Y 之和 (W+X+Y) 以下的值 ( 步骤 S90)。如果 LBA 地址 n 为所述和 (W+X+Y) 以下的值 ( 步骤 S90 : 是 ), 则使 通过地址转换电路 92 进行转换后的 LBA 地址 m 为从 LBA 地址 n 减去了 W 和 X 后得到的值 ( 步骤 S100)。并且, 在该情况下, 单元选择器 94 选择第三存储单元 50 作为指令的传送目 的地 ( 步骤 S110)。
     当在上述步骤 S90 中判断 LBA 地址 n 不是所述和 (W+X+Y) 以下的值时 ( 步骤 S90 : 否 ), 地址译码器 90 判断 LBA 地址 n 是否是第一存储单元 30 的 LBA 地址的最大值 W、 第二 存储单元 40 的 LBA 地址的最大值 X、 第三存储单元 50 的 LBA 地址的最大值 Y、 以及第四存储单元 60 的最大值 Z 之和 (W+X+Y+Z) 以下的值 ( 步骤 S120)。如果 LBA 地址 n 为所述和 (W+X+Y+Z) 以下的值 ( 步骤 S120 : 是 ), 则使通过地址转换电路 92 进行转换后的 LBA 地址 m 为从 LBA 地址 n 减去了 W、 X、 以及 Y 后得到的值 ( 步骤 S130)。并且, 在该情况下, 单元选 择器 94 选择第四存储单元 60 作为指令的传送目的地 ( 步骤 S140)。
     当在上述步骤 S120 中判断 LBA 地址 n 不是所述和 (W+X+Y+Z) 以下的值时 ( 步骤 S120 : 否 ), 指定超过结合区域 UA 的 LBA 地址。因此, 在该情况下执行规定的错误处理 ( 步 骤 S150)。规定的错误处理是指例如废弃当前正在输入的指令等处理。根据以上说明的单 元管理处理, 可以仅通过单纯的比较运算而容易地进行地址的转换和存储单元的选择。
     以上说明了本实施例的存储装置 10 的构成和动作。如上所述, 本实施例的存储 装置 10 按照对结合区域 UA 的起始分配作为 SLC 型闪存的二值存储器 31 的方式来进行地 址转换。因此, 当存储装置 10 被 FAT16 或 FAT32 这样的文件系统格式化后, 在二值存储器 31 内生成作为数据的管理信息的文件分配表 ( 以下称为 “FAT 信息” )。FAT 信息是一旦进 行数据的写入或擦除则会被频繁地重写的管理信息。在本实施例中, 在写入这样的管理信 息的区域配置写入速度高于 MLC 型闪存 ( 多值存储器 41 ~ 61) 的 SLC 型闪存。因此, 根据 本实施例, 通过采用 MLC 型闪存而实现了大容量化, 同时与仅由 MLC 型闪存构成的存储装 置相比, 可以显著地提高数据的写入速度。另外, 向 MLC 型闪存写入 FAT 信息的时间如果为 600nsec, 则向 SLC 型闪存写入 FAT 信息的时间大概为 200nsec。 在这里, 说明写入速度的比较示例。众所周知, 根据 FAT16 或 FAT32 在管理信息内 写入两个同一内容的 FAT 信息。这样一来, 如果是仅由 MLC 型闪存构成的存储装置, 则第一 个 FAT 信息的重写需要 600nsec, 第二个 FAT 信息的重写需要 600nsec, 并且数据的重写需 要 600nsec。 于是, 作为整体而需要 1800nsec 的时间。 与此相对, 在本实施例中, 由于将 SLC 型闪存用于写入 FAT 信息的区域, 因此第一个 FAT 信息的重写需要 200nsec, 第二个 FAT 信 息的重写需要 200nsec, ( 多值存储器内的 ) 数据的重写需要 600nsec。于是, 作为整体, 通 过 1000nsec 完成了数据的重写。即, 根据本实施例, 对于仅由 MLC 型闪存构成的存储装置, 可以将数据的重写时间削减 45%左右。
     另外, 通常 SLC 型闪存的数据的可重写次数为 MLC 型闪存的 10 ~ 20 倍左右。因 此, 通过如本实施例那样在写入会被频繁地重写的管理信息的区域配置 SLC 型闪存, 可以 大幅地提高数据存储的可靠性。 结果, 不仅可以用作外部存储装置, 而且还可以与以往的硬 盘一样容易地用作操作系统的引导驱动器。
     另外, 在本实施例中, 作为控制二值存储器或多值存储器的单元控制器而使用了 紧凑型闪存用控制器。 通常, 紧凑型闪存的广泛应用性高, 可以控制各种特性的闪存。 因此, 如果如本实施例那样使每个存储单元具有紧凑型闪存控制器, 则即使对每个存储单元采用 不同制造商制造的闪存, 也可以吸收掉特性的差异而使其正常地动作。 结果, 可以容易地构 成混装了二值存储器和多值存储器的存储装置。 另外, 在本实施例中, 作为单元控制器而采 用了紧凑型闪存用控制器, 也可以使用 SD 存储器用控制器或多媒体卡用控制器。
     在本实施例中, 主控制器 20 所具有的功能通过硬件方式来实现。与此相对, 也可 以通过将主控制器 20 构成为内置有 CPU、 ROM、 以及 RAM 的微机而通过软件的方式来实现上 述地址转换或单元管理的功能。另外, 也可以通过采用 RAID 芯片来作为主控制器 20 并使 该 RAID 芯片进行跨越 (spanning) 动作来控制各存储单元。
     另外, 在本实施例中, 共计具有四个存储单元, 但是对该数量没有限制。最低限度 是有一个具有二值存储器的存储单元和一个具有多值存储器的存储单元即可。
     另外, 在本实施例中, 二值存储器的容量为 1G 字节, 但是也可以如下来决定该容 量。例如, 通过 FAT32 来格式化存储装置 10, 使存储装置 10 的整体的存储容量为 x 千兆字 节。对于 FAT32 来说, 在很多情况下每一扇区为 4K 字节的容量, 因此整体为 (x/4) 百万个 扇区数。另外, 对于 FAT32 来说, 为了表示一个地址而需要 4 字节的数据量。因此, 每一 FAT 信息需要 x 百万字节 ( = 4 字节 ×(x/4) 百万个 ) 的容量。如上所述, 对于 FAT32 来说, 在 很多情况下写入两个 FAT 信息, 因此合计需要 (2×x) 百万字节的管理区域。另外, 作为管 理信息, 不仅记录 FAT 信息, 而且还记录主引导记录、 目录项等信息, 因此作为整体而需要 更多的管理区域。这里, 举出具体示例来进行说明。如果存储装置 10 的整体的容量为 128 千兆字节, 则通过上述计算方法, FAT 信息所需要的容量为 256 百万字节。并且, 如果在此 基础上再加上用于记录主引导记录、 目录项等的区域, 则整体需要 500 百万字节左右的容 量的二值存储器。即, 对于存储装置 10 的整体的区域 ( 结合区域 UA) 来说, 至少需要 0.5% 的二值存储器的容量, 如果有 1%左右的容量, 则可以富有余量地来存储管理信息。 当然, 由 于二值存储器在动作速度和可靠性方面具有比多值存储器优良的特性, 因此也可以构成为 超过 1%的容量。 B. 第二实施例 :
     图 5 是表示作为本发明的第二实施例的存储装置的简要构成的说明图。如图所 示, 本实施例的存储装置 110 包括 : 主控制器 20、 安装有二值存储器 31 的第一存储单元 30、 以及安装有多值存储器 41 的第二存储单元 40。与第一实施例相同, 主控制器 20 包括总线 转换电路 21 和单元管理电路 122。其中, 本实施例的单元管理电路 122 具有以下功能 : 根 据从主机装置 80 指定的地址、 数据、 指令, 在第一存储单元 30 和第二存储单元 40 之间切换 进行数据的读写的对象。
     图 6 是表示通过单元管理电路 122 进行的存储单元的切换控制的概念的说明图。 在图 6 中, 从左侧开始依次表示了当从主机装置 80 观察存储装置 110 时的存储装置 110 的 整体的存储区域 UA2、 第一存储单元 30 的存储区域、 第二存储单元 40 的存储区域。
     在本实施例中, 第一存储单元 30 内的存储区域通过从 “0” 到 “W” 的 LBA 地址来表 示。另一方面, 第二存储单元 40 内的存储区域通过从 “0” 到 “X” 的 LBA 地址来表示。LBA 地址 “X” 是比 LBA 地址 “W” 大的值。
     在本实施例中, 如果从主机装置 80 指定了从 “0” 到 “W” 的 LBA 地址, 则单元管理 电路 122 将数据的读写的对象切换为安装了二值存储器 31 的第一存储单元。与此相对, 如 果指定了超过 “W” 的 LBA 地址, 则单元管理电路 122 将数据的读写对象切换为安装有多值 存储器 41 的第二存储单元 40。即, 在本实施例中, 单元管理电路 122 通过对从主机装置 80 指定的 LBA 地址和阈值 “W” 进行比较来切换所使用的存储器单元。进行上述切换控制的结 果是 : 在本实施例中, 在第二存储单元 40 的一部分产生不被使用的区域 (LBA 地址 “0” ~ “W” )。
     图 7 是示意性地表示单元管理电路 122 的内部构成的框图。如图所示, 本实施例 的单元管理电路 122 包括寄存器判断电路 178、 切换控制电路 194、 第一开关电路 196、 第二 开关电路 198。
     寄存器判断电路 178 与图 5 所示的总线转换电路 21 连接。与第一实施例相同, 寄 存器判断电路 178 根据从总线转换电路 21 输入的地址信号 A0 ~ A2 的状态, 基于 ATA 规格 来判断作为访问对象的寄存器的种类。然后, 根据判断的寄存器的种类将从总线转换电路 21 接收到的访问信号传送给切换控制电路 194。
     切换控制电路 194 进行以下控制 : 根据寄存器判断电路 178 判断出的作为访问对 象的寄存器的种类和从主机装置 80 指定的地址、 数据、 指令, 在第一存储单元 30 与第二存 储单元 40 之间切换作为访问对象的存储单元。
     第一开关电路 196 根据来自切换控制电路 194 的指示而使总线转换电路 21 与第 一存储器单元 30 之间连接或断开。
     第二开关电路 198 根据来自切换控制电路 194 的指示而使总线转换电路 21 与第 二存储单元 40 之间连接或断开。
     如图所示, 切换控制电路 194 包括地址译码器 190、 地址比较电路 192、 大小 (size) 寄存器 179、 以及指令译码器 191。
     地址译码器 190 根据对设备 / 头寄存器、 柱面高位寄存器、 柱面低位寄存器、 扇区 号寄存器的访问信号, 解析主机装置 80 所指定的 LBA 地址。另外, 指令译码器 191 对从主 机装置 80 指示的指令进行解析。 在大小寄存器 179 中存储有根据第一存储单元 30 的最大容量而决定的阈值。在 本实施例中, 设第一存储单元 30 的最大容量为 512M 字节, 存储在大小寄存器 179 中的阈值 是表示比该最大容量稍小的 480M 字节的容量的 LBA 地址。这是因为在闪存中有时会产生 缺陷块 ( 坏块 ), 因此有时无法利用所有的 512M 字节。当然, 作为阈值, 也可以原样存储表 示第一存储单元 30 的最大容量的 LBA 地址。另外, 480M 字节可以通过基于 LBA 方式的二进 位而表示为 “0000000011110000000000000000” 。因此, 如果使阈值为 480M 字节, 则可以根 据从主机装置 80 指定的 28 位长的 LBA 地址中的高 8 位的值是否为 “00000000” 以上来判 断指定的地址是否超过了阈值 (480M 字节 )。 即, 后述的地址比较电路 192 可以仅通过使用 4 位的设备 / 头寄存器和 8 位的柱面高位寄存器的高 4 位而在不使用柱面低位寄存器或扇 区号寄存器的值的情况下容易地判断出是否超过了阈值。
     地址比较电路 192 对地址译码器 190 所解析的 LBA 地址和存储在大小寄存器 179 中的阈值进行比较, 并如图 6 所示在第一存储单元 30 与第二存储单元 40 之间选择作为访 问对象的候选者的存储单元。
     图 8 是表示通过切换控制电路 194 进行的切换动作的详细情况的说明图。 在图中, “切换” 是指对由地址比较电路 192 选择的存储单元进行访问。与此相对, “同时访问” 是指 与地址比较电路 192 的选择无关地对第一存储单元 30 和第二存储单元 40 这两者进行同样 的访问。
     另外, 在图 8 中, “写时” 表示从主机装置 80 发出了写指令的情况。在写指令中包 括对指令寄存器的指令的写命令、 对数据寄存器的数据的写命令、 对其他寄存器的 LBA 地 址等各种参数的写命令。另外, “读时” 表示从主机装置 80 发出了读指令的情况。在读指令 中包括从存储单元读入各种状态或数据的命令。
     如图 8 所示, 作为原则, 对数据寄存器和指令寄存器的访问在写时和读时均对由 地址比较电路 192 选择的存储单元进行。与此相对, 对其他寄存器的访问仅在读时对被选
     择的存储单元进行, 在写时对两个存储单元进行同样的访问。数据寄存器和指令寄存器以 外的寄存器主要是用于指定地址的寄存器。因此, 只要作为写的对象的数据或指令被恰当 地传送给被选择的存储单元, 即使在写时向第一存储单元 30 和第二存储单元 40 这两种寄 存器写入了同样的地址, 也不会带来什么影响。
     在图 8 中, “例外 1” 表示以下情况 : 通过指令译码器 191 对指令进行解析的结果, 从 主机装置 80 传送的指令是空闲指令或待机指令等切换存储单元整体的动作状态的指令。 在传送了该指令的情况下, 切换控制电路 194 例外地向第一存储单元 30 和第二存储单元 40 这两者传送该指令。
     另外, 在图 8 中, “例外 2” 表示通过识别设备指令等针对存储装置 110 的数据容量 ( 全部扇区数 ) 进行了读。在该情况下, 切换控制电路 194 例外地对第二存储单元 40 进行 访问。这是由于如图 6 所示, 在本实施例中, 存储装置 110 的数据容量与第二存储单元 40 的数据容量一致。
     以上说明了作为第二实施例的存储装置 110 的构成和动作, 根据本实施例的存储 装置 110, 可以与第一实施例的存储装置 10 同样地向存储区域的起始的区域分配 SLC 型闪 存, 并向除此之外的区域分配 MLC 型闪存。因此, 可以使可重写次数多、 动作速度高的 SLC 型闪存存储会被频繁地重写的 FAT 信息。结果, 与第一实施例相同, 通过采用 MLC 型闪存而 实现了大容量化, 同时与仅由 MLC 型闪存构成的存储装置相比, 可以显著地提高数据的写 入速度和数据存储的可靠性。
     另外, 根据本实施例的存储装置 110, 可以原样使用从主机装置 80 指定的地址而 对两种存储单元进行数据的读写。结果, 由于不需要复杂的、 进行地址转换的电路, 因此可 以缩小主控制器 20 的电路规模。结果, 可以降低制造成本。
     以上说明了本发明的各种实施例, 但是本发明不限于上述实施例, 不言而喻可以 在不脱离其主旨的范围内采用各种构成。例如, 在上述实施例中采用了作为存储装置与主 机装置连接的接口的 USB 接口, 但是接口的种类不限于此。也可以采用 IEEE1394 接口、 串 行 ATA 接口、 并行 ATA 接口等各种接口。

存储装置.pdf_第1页
第1页 / 共21页
存储装置.pdf_第2页
第2页 / 共21页
存储装置.pdf_第3页
第3页 / 共21页
点击查看更多>>
资源描述

《存储装置.pdf》由会员分享,可在线阅读,更多相关《存储装置.pdf(21页珍藏版)》请在专利查询网上搜索。

本发明提供一种充分地发挥了SLC型闪存和MLC型闪存这两者的优点的存储装置。存储装置包括:二值闪存,具有第一存储区域,每单个单元可以存储2种值;多值闪存,具有第二存储区域,每单个单元可以存储3种以上的值;以及控制部,在将第一存储区域配置于开头的区域的同时逻辑结合第一存储区域和第二存储区域,并作为为单一的存储区域的结合区域而进行数据的读写。根据预定的文件系统而在存储区域的开头存储数据的管理信息。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1