CN101853207A - 存储装置 - Google Patents

存储装置 Download PDF

Info

Publication number
CN101853207A
CN101853207A CN 201010154230 CN201010154230A CN101853207A CN 101853207 A CN101853207 A CN 101853207A CN 201010154230 CN201010154230 CN 201010154230 CN 201010154230 A CN201010154230 A CN 201010154230A CN 101853207 A CN101853207 A CN 101853207A
Authority
CN
China
Prior art keywords
storage area
address
storage
memory
flash memory
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.)
Granted
Application number
CN 201010154230
Other languages
English (en)
Other versions
CN101853207B (zh
Inventor
荒川忠史
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Buffalo Inc
Original Assignee
Buffalo Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Buffalo Inc filed Critical Buffalo Inc
Publication of CN101853207A publication Critical patent/CN101853207A/zh
Application granted granted Critical
Publication of CN101853207B publication Critical patent/CN101853207B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Landscapes

  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

存储装置
本申请是基于申请号为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接口等各种接口。

Claims (5)

1.一种存储装置,包括:
二值闪存,具有第一存储区域,每单个单元可以存储2种值;
多值闪存,具有第二存储区域,每单个单元可以存储3种以上的值;
接口,该接口与主机装置相连;以及
控制部,逻辑结合所述第一存储区域和所述第二存储区域,并作为为单一的存储区域的结合区域而进行数据的读写;
所述控制部包括:
总线转换部,经由所述接口从所述主机装置接收包含对所述结合区域内的地址的指定的基于第一规格的信号,并将该信号转换为用于访问所述二值闪存和所述多值闪存的基于第二规格的信号;
地址转换部,将由所述主机装置指定的地址转换为所述第一存储区域或所述第二存储区域内的地址;以及
读写部,根据转换后的所述地址,针对所述第一存储区域或所述第二存储区域进行数据的读写。
2.如权利要求1所述的存储装置,其中,
所述总线转换部从所述主机装置接收基于作为所述第一规格的USB规格的信号。
3.如权利要求1或2所述的存储装置,其中,
所述总线转换部将基于所述第一规格的信号转换为基于作为第二规格的ATA规格的信号。
4.如权利要求1至3中任一项所述的存储装置,其中,
所述地址是基于LBA方式的地址。
5.如权利要求1至4中任一项所述的存储装置,其中,
所述主机装置是在所述结合区域的开头记录数据的管理信息的装置,
所述控制部将所述第一存储区域整体与所述第二存储区域相比配置于开头的区域,同时逻辑结合所述第一存储区域和所述第二存储区域。
CN 201010154230 2007-05-14 2008-05-13 存储装置 Active CN101853207B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007127665 2007-05-14
JP2007-127665 2007-05-14
JP2008-004691 2008-01-11
JP2008004691A JP4781373B2 (ja) 2007-05-14 2008-01-11 記憶装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN 200810098116 Division CN101308698B (zh) 2007-05-14 2008-05-13 存储装置

Publications (2)

Publication Number Publication Date
CN101853207A true CN101853207A (zh) 2010-10-06
CN101853207B CN101853207B (zh) 2012-10-31

Family

ID=40125085

Family Applications (4)

Application Number Title Priority Date Filing Date
CN 201010154231 Active CN101853694B (zh) 2007-05-14 2008-05-13 存储装置
CN 200810098116 Active CN101308698B (zh) 2007-05-14 2008-05-13 存储装置
CN 201010154233 Active CN101853214B (zh) 2007-05-14 2008-05-13 存储装置
CN 201010154230 Active CN101853207B (zh) 2007-05-14 2008-05-13 存储装置

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN 201010154231 Active CN101853694B (zh) 2007-05-14 2008-05-13 存储装置
CN 200810098116 Active CN101308698B (zh) 2007-05-14 2008-05-13 存储装置
CN 201010154233 Active CN101853214B (zh) 2007-05-14 2008-05-13 存储装置

Country Status (3)

Country Link
JP (1) JP4781373B2 (zh)
CN (4) CN101853694B (zh)
TW (1) TW200903493A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014026343A1 (zh) * 2012-08-16 2014-02-20 华为终端有限公司 一种用于终端的文件访问方法及终端

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751982B (zh) * 2008-12-12 2014-08-13 苏州亮智科技有限公司 闪存存储装置中闪存控制器与闪存芯片之间的连接方法
CN101814318B (zh) * 2009-02-25 2013-05-01 群联电子股份有限公司 多层存储单元与非型闪存储存系统及其控制器与存取方法
US8639871B2 (en) * 2009-04-08 2014-01-28 Google Inc. Partitioning a flash memory data storage device
CN101866678A (zh) * 2009-04-17 2010-10-20 常州南基天盛科技有限公司 闪存盘
JP5330136B2 (ja) * 2009-07-22 2013-10-30 株式会社東芝 半導体記憶装置
US8868853B2 (en) 2009-08-12 2014-10-21 Nec Corporation Data processing device, data recording method and data recording program
JP5027198B2 (ja) * 2009-10-08 2012-09-19 技嘉科技股▲ふん▼有限公司 フラッシュメモリのアクセス装置及びアクセス方法
JP2011145838A (ja) * 2010-01-13 2011-07-28 Toshiba Corp 記憶装置管理装置および記憶装置の管理方法
CN102142277A (zh) * 2010-01-28 2011-08-03 深圳市江波龙电子有限公司 一种存储器及存储器读写控制方法及系统
CN102385553A (zh) * 2010-08-31 2012-03-21 点序科技股份有限公司 闪存的存取装置及存取方法
CN102324249B (zh) * 2011-09-09 2013-10-30 黑龙江大学 K值存储单元嵌入dram的二多转换电路及其构建方法
CN103019882B (zh) * 2012-11-12 2016-02-24 记忆科技(深圳)有限公司 固态硬盘的raid4系统
CN103077121B (zh) * 2013-01-07 2016-01-27 深圳市江波龙电子有限公司 一种闪存存储设备中数据管理的方法及装置
CN103914410B (zh) * 2013-01-08 2020-01-31 联想(北京)有限公司 存储装置、电子设备和数据存取方法
CN103164344B (zh) * 2013-03-12 2015-09-16 深圳市江波龙电子有限公司 一种闪存存储设备中数据管理的方法及装置
CN103246615B (zh) * 2013-04-24 2015-09-16 深圳市江波龙电子有限公司 一种闪存存储设备中数据管理的方法及装置
CN106650901A (zh) * 2016-12-31 2017-05-10 重庆工业职业技术学院 一种装有两个独立储存器的旋转式转换移动存储器
CN108228478A (zh) * 2018-01-05 2018-06-29 湖南国科微电子股份有限公司 一种ssd写性能的提高方法及装置
US10705963B2 (en) * 2018-03-21 2020-07-07 Micron Technology, Inc. Latency-based storage in a hybrid memory system
US10809942B2 (en) * 2018-03-21 2020-10-20 Micron Technology, Inc. Latency-based storage in a hybrid memory system
JP2019179455A (ja) * 2018-03-30 2019-10-17 東芝メモリ株式会社 記憶装置及びコンピュータシステム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3807012B2 (ja) * 1997-03-21 2006-08-09 セイコーエプソン株式会社 記憶装置
JPH1131102A (ja) * 1997-07-14 1999-02-02 Toshiba Corp データ記憶システム及び同システムに適用するアクセス制御方法
JPH11176178A (ja) * 1997-12-15 1999-07-02 Sony Corp 不揮発性半導体記憶装置およびそれを用いたicメモリカード
JP2000173281A (ja) * 1998-12-04 2000-06-23 Sony Corp 半導体記憶装置
JP2001306393A (ja) * 2000-04-20 2001-11-02 Mitsubishi Electric Corp 記憶装置
JP2003015942A (ja) * 2001-07-03 2003-01-17 Casio Comput Co Ltd メモリへのデータ書き込み方法、データ書き込み処理プログラム及びデータ書き込み装置
US7554842B2 (en) * 2001-09-17 2009-06-30 Sandisk Corporation Multi-purpose non-volatile memory card
US6807106B2 (en) * 2001-12-14 2004-10-19 Sandisk Corporation Hybrid density memory card
JP2006048746A (ja) * 2004-07-30 2006-02-16 Renesas Technology Corp メモリカード
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US8055833B2 (en) * 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US7752382B2 (en) * 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
BRPI0520592A2 (pt) * 2005-09-29 2009-05-19 Trek 2000 Int Ltd armazenamento de dados portátil usando memória flash slc e mlc
US7406578B2 (en) * 2005-09-30 2008-07-29 Xiotech Corporation Method, apparatus and program storage device for providing virtual disk service (VDS) hints based storage

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014026343A1 (zh) * 2012-08-16 2014-02-20 华为终端有限公司 一种用于终端的文件访问方法及终端
CN103748565A (zh) * 2012-08-16 2014-04-23 华为终端有限公司 一种用于终端的文件访问方法及终端

Also Published As

Publication number Publication date
TWI378454B (zh) 2012-12-01
CN101308698A (zh) 2008-11-19
JP2008310793A (ja) 2008-12-25
CN101308698B (zh) 2010-06-16
CN101853694A (zh) 2010-10-06
CN101853214A (zh) 2010-10-06
CN101853694B (zh) 2013-06-26
CN101853207B (zh) 2012-10-31
TW200903493A (en) 2009-01-16
JP4781373B2 (ja) 2011-09-28
CN101853214B (zh) 2013-04-24

Similar Documents

Publication Publication Date Title
CN101308698B (zh) 存储装置
US7979627B2 (en) Storage device with binary and multivalued memory
US9026723B2 (en) Storage device including flash memory and capable of predicting storage device performance based on performance parameters
CN105474319B (zh) 用于配置混合存储器模块的存储器的i/o的设备及方法
CN101384984B (zh) 整合有多个闪存单元的便携式数据存储装置
CN102543169B (zh) 统一的多级单元存储器
CN101036132B (zh) 环形总线结构及其在快闪存储器系统中的使用
CN102354299B (zh) 存储卡和半导体器件
CN111009269B (zh) 用于存储及写入存储器操作参数的多重参数代码的设备及方法
US20060064537A1 (en) Memory card having a storage cell and method of controlling the same
CN101918928B (zh) 包括一次写入存储器器件和多次写入存储器器件的用于计算机的存储子系统及相关方法
US20170062060A1 (en) Method and controller for managing memory device
US9213631B2 (en) Data processing method, and memory controller and memory storage device using the same
CN106598479A (zh) 闪速存储器的故障安全擦除的方法和装置
US10776024B2 (en) Solid state drive and data accessing method thereof
US20050268026A1 (en) Memory card, semiconductor device, and method of controlling semiconductor memory
CN102870099B (zh) 模拟电可擦(eee)存储器及其操作方法
US6584014B2 (en) Nonvolatile storage system
CN103473182B (zh) 非挥发性存储器存取方法及非挥发性存储器控制器
CN100386748C (zh) 一种在单板中对外围器件进行片选的方法和系统
CN114201106A (zh) 电子装置、存储器系统及传送方法
CN101751982B (zh) 闪存存储装置中闪存控制器与闪存芯片之间的连接方法
CN106293530A (zh) 一种数据写入方法和装置
CN102236584B (zh) 用来抑制数据错误的方法以及相关的记忆装置及其控制器
CN101149972B (zh) 一种有多个可独立操作存储空间的flash存储器芯片

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant