包括用于使主机块大小与数据存储装置的物理块大小匹配的映射桥的数据存储系统的制作方法

文档序号:6336123阅读:149来源:国知局
专利名称:包括用于使主机块大小与数据存储装置的物理块大小匹配的映射桥的数据存储系统的制作方法
包括用于使主机块大小与数据存储装置的物理块大小匹配 的映射桥的数据存储系统
背景技术
计算机系统(例如台式、膝上型、便携式等)以及消费类装置(例如蜂窝电话、相 机、电视机机顶盒等)通常采用某种非易失性数据存储装置(诸如磁盘驱动器)或包括非 易失性半导体存储器(诸如闪存)的固态驱动器。固态驱动器通常模仿磁盘驱动,从而可 以采用相同的通信协议,诸如高级技术附件(ATA)协议。主机通常以称为数据扇区的数据块与数据存储装置通信。每个数据扇区通常被分 配物理块地址(PBA),其通过逻辑块地址(LBA)被间接地访问以帮助映射出有缺陷的数据 扇区。数据存储装置上记录的数据扇区的大小(物理块大小)可以与接口中使用的块大小 (逻辑块大小)不同。例如,ATA协议规定512字节的逻辑块大小,而数据存储装置上存储 的每个物理扇区的物理块大小可以是4096字节。如果数据存储装置接收写入命令以写入 4096字节数据扇区的512字节内部块,则必须首先读取数据扇区,用新的512数据块修改, 之后重写数据扇区。“读取一修改一重写”的过程会明显降低数据存储装置的性能。


图1图解说明根据本发明的实施例的数据存储系统,其包括非易失性存储器和用 于使主机块大小与非易失性存储器的物理块大小匹配的块映射桥;图2是根据本发明的实施例的流程图,其中块映射桥响应于主机查询返回主机逻 辑块大小,其等于装置的逻辑块大小的倍数并且还等于装置物理块大小的倍数;图3是根据本发明的实施例用于通过传递具有装置逻辑块大小的数据块执行写 入操作和读取操作的流程图;图4A图解说明根据本发明的实施例的写入操作;图4B图解说明根据本发明的实施例的读取操作;图5A图解说明本发明的实施例,其中块映射桥实现为主机操作系统的装置驱动 器;图5B图解说明本发明的实施例,其中块映射桥在USB数据存储装置内实现;图6图解说明本发明的实施例,其中数据存储系统包括磁盘驱动器;以及图7图解说明本发明的实施例,其中数据存储系统包括固态驱动器。
具体实施例方式图1示出示例性数据存储系统2,其包括非易失性存储器4和可操作用于从主机接 收写入命令的第一接口 6。写入命令包括具有主机逻辑块大小8的主机写入数据块。块映 射桥10将主机写入数据块划分为多个传递数据块,其中每个传递数据块具有小于主机逻 辑块大小8的装置逻辑块大小12。传递数据块通过第二接口 14发送到控制电路16,其中 控制电路16将传递数据块积累成物理数据块,其具有等于装置逻辑块大小12的第一整数 倍的装置物理块大小18。主机逻辑块大小8是装置物理块大小18的第二整数倍。第一整
4数大于一,以及第二整数至少是一。物理数据块被写入到非易失性存储器4。图1的数据存储系统2可以包括任何合适的装置,诸如磁盘驱动器或固态驱动器, 并且主机可以在独立机架中实现或与数据存储系统2在同一机架中实现。例如,主机可以 实现为个人计算机(台式或膝上型),而数据存储系统2可以实现为有线或无线地连接到主 机的内部或外部磁盘驱动器或固态驱动器。另外,如以下更详细描述,第一接口 6可以包括 软件组件(例如,主机操作系统的设备驱动器),而在其它实施例中第一接口 6可以包括有 线或无线连接的传输协议(例如SCSI、USB等)。在本发明的实施例中,非易失性存储器4使用装置物理块大小18,装置物理块大 小18是第二接口 14中使用的装置逻辑块大小12的倍数。例如,在一个实施例中,第二接 口 14实现具有常设的装置逻辑块大小(例如512字节)的传统磁盘驱动协议(例如ATA协 议),而非易失性存储器4(例如磁盘或固态存储器)可以实现更大的装置物理块大小(例 如4096字节)。为了避免“读取一修改一写入”的性能退化,块映射桥10返回等于装置物 理块大小18的整数倍的主机逻辑块大小8 (例如,如果整数是1,则返回的主机逻辑块大小 8等于装置物理块大小18)。这迫使主机以等于装置物理块大小18的整数倍(而不是其部 分)的块大小发送存取命令(写入或读取),由此避免对“读取一修改一写入”操作的需要。图2是根据本发明的实施例的流程图,其中块映射桥确定非易失性存储器的装置 物理块大小(步骤20)。当块映射桥接收主机查询时(步骤22),块映射桥返回数据存储系 统的主机逻辑块大小(步骤,其中主机逻辑块大小等于装置逻辑块大小的整数倍,装置 逻辑块大小是装置物理块大小(PBS)的整数倍。例如,如果装置物理块大小是4096字节, 而装置逻辑块大小是512字节,则块映射桥可以返回4096字节(或其倍数)作为主机逻辑 块大小。主机可以采用任何合适的技术向数据存储系统查询其主机逻辑块大小。例如,主 机可以针对模式页面0 发出SCSI读取容量命令和模式传感命令。当块映射桥接收这些 请求的任一请求时,其返回为装置物理块大小的倍数的期望的主机逻辑块大小(而不是如 现有技术那样返回装置逻辑块大小)。图3是根据本发明的实施例执行写入和读取操作的流程图。如果通过第一接口从 主机接收写入命令(步骤26),则块映射桥将针对写入命令的主机逻辑块大小转换为装置 逻辑块大小(LBQ (步骤观)。块映射桥接着以具有装置逻辑块大小的多个传递数据块的形 式通过第二接口发送写入命令的写入数据(步骤30)。控制电路将传递数据块积累成具有 装置物理块大小的物理数据块(步骤3 ,以及接着将物理数据块写入到非易失性存储器 而不执行“读取一修改一写入”操作(步骤34)。在图4A所示的示例性写入操作中,主机逻辑块大小是4096字节以及装置逻辑块 大小是512字节。块映射桥通过第一接口接收主机写入数据块(4096字节)并将主机写入 数据块划分为具有512字节的装置逻辑块大小的多个传递数据块。接着,块映射桥通过第 二接口发送每个传递数据块(512字节)。在第二接口的另一侧,控制电路将传递数据块积 累成具有4096字节的装置物理块大小的至少一个物理数据块。之后,控制电路将物理数据 块(4096字节)写入到非易失性存储器而不执行“读取一修改一写入”操作。在图4A的实施方式中,主机逻辑块大小等于装置物理块大小(4096字节)。在另 一实施方式中,主机逻辑块大小可以等于多个物理块大小(例如^4096 = 8192字节)。在 此实施例中,对于每个主机写入数据块,控制电路将传递数据块的第一集合积累成写入到非易失性存储器的第一物理数据块,并且之后将传递数据块的第二集合积累成写入到非易 失性存储器的第二物理数据块。在一个实施例中,块映射桥实现合适的转换算法以将主机写入命令中接收的逻辑 块地址转换为控制电路的相应的逻辑块地址。在图4A的示例中,控制电路可以将8个装置 逻辑数据块(每个512字节)映射到物理数据块(4096字节)。即,在图4A的实施例中,装 置逻辑块的数量等于装置物理块的数量的8倍,以及主机逻辑块的数量的8倍。在一个实 施例中,主机写入命令包括起始主机逻辑块地址和要写入的主机逻辑数据块的数量。块映 射桥通过乘以8以将起始主机逻辑块地址转换为起始装置逻辑块地址,以及通过乘以8以 将主机逻辑数据块的数量转换为装置逻辑数据块的数量,从而通过第二接口发送。在通过 第二接口发送装置逻辑数据块之后,控制电路进行类似的转换以将装置逻辑块地址转换为 装置物理块地址以将物理数据块写入到非易失性存储器。再次参照图3的流程图,如果通过第一接口从主机接收读取命令(步骤沈),则块 映射桥将针对读取命令的主机逻辑块大小转换为装置逻辑块大小(步骤36)。块映射桥还 可以将起始主机逻辑块地址转换为起始装置逻辑块地址。接着块映射桥通过第二接口将读 取命令发送到控制电路,其中每个读取命令请求具有装置逻辑块大小的传递数据块(步骤 38)。块映射桥将传递数据块积累成具有主机逻辑块大小的主机读取数据块(步骤40)并 且之后将主机读取数据块发送到主机(步骤42)。在图4B所示的示例性读取操作中,主机逻辑块大小是4096字节,装置逻辑块大小 是512字节。块映射桥通过第一接口从主机接收读取命令以读取至少一个主机读取数据块 (4096字节)。块映射桥将主机读取请求划分为具有512字节的装置逻辑块大小的多个传 递读取请求,并且之后通过第二接口接收每个传递数据块(512字节)。块映射桥将传递数 据块积累成具有4096字节的主机逻辑块大小的至少一个主机读取数据块。之后,块映射桥 通过第一接口将主机读取数据块发送到主机。在一个实施例中,块映射桥实现合适的转换算法以将主机读取命令中接收的逻辑 块地址转换为控制电路的对应的逻辑块地址,类似于以上针对主机写入命令描述的转换。图1所示的块映射桥10可以在任何合适的装置中以任何合适的方式实现。在图 5A所示的示例实施例中,块映射桥44包括作为主机46的操作系统的一部分实现的装置驱 动器。第一接口包括SCSI接口 48用于提供对主机应用的接口。块映射桥44与合适的存 储装置通信,诸如图5A的实施例中的通用串行总线(USB)存储装置50。USB存储装置50 包括第二接口,其包括USB加ATA桥52,用于与主机侧的块映射桥44接口。USB加ATA桥 52通过ATA接口 56与ATA装置M (例如ATA磁盘驱动器或固态驱动器)接口。第一接口 还可以实现任何合适的协议代替SCSI,诸如ATA版本8或更高,而第二接口可以实现图5A 的示例性USB以外的任何合适的协议,诸如FireWire或Fiber Channel。总体而言,在本发 明的实施例中可以采用可实现不同逻辑和物理块大小的任何合适的协议。图5B示出本发明的替代实施例,其中块映射桥58可以在USB加ATA桥52和ATA 接口 56之间的USB数据存储装置50中实现。在本实施例中,第一接口包括SCSI接口 48 和USB加ATA桥52,第二接口包括ATA接口 56,并且块映射桥58实现为与第二接口集成的 固件。本发明的实施例中可以采用桥接口和存储装置的其它配置。例如,在一个实施例中,主机可以包括用于将主机总线(例如PCI主机总线)桥接到合适的存储装置(例如, ATA装置)的主机总线适配器。在此实施例中,图1的块映射桥10可以实现为用于将包括 合适的协议(例如SCSI)的第一接口桥接到包括主机总线适配器的第二接口的驱动器。本发明的实施例可用于任何合适的数据存储系统。图6示出一种包括磁盘驱动器 的数据存储系统,磁盘驱动器包括在磁盘62上致动的磁头60以及用于执行此处描述的流 程图的至少一部分的控制电路64。图7示出包括多个非易失性半导体存储器66A、66B等 (诸如闪存)的固态驱动器和用于执行此处描述的流程图的至少一部分的控制电路68。还 可以采用混合数据存储系统,其包括图6所示的磁盘驱动器以及图7所示的非易失性半导 体存储器的组件。尽管以上就特定实施方式进行了描述,根据本文的公开内容,其它实施方式对于 本领域技术人员将是明显的。所描述的实施例仅仅通过示例呈现,不意在限制本公开的范 围。事实上,这里描述的新颖方法和系统可以以多种其它形式实现而不背离本发明的精神。 由此,本发明不限于任何优选实施例,而是由所附的权利要求限定。
权利要求
1.一种数据存储系统,包括 非易失性存储器;第一接口,可操作用于从主机接收写入命令,所述写入命令包括具有主机逻辑块大小 的主机写入数据块;以及 块映射桥,可操作用于将所述主机写入数据块划分成多个传递数据块,其中每个传递数据块具有小于所述主 机逻辑块大小的装置逻辑块大小;通过第二接口将所述传递数据块发送到控制电路,其中所述控制电路可操作用于 将所述传递数据块积累成物理数据块,其具有等于所述装置逻辑块大小的第一整数倍 的装置物理块大小,其中所述主机逻辑块大小是所述装置物理块大小的第二整数倍; 所述第一整数大于一;以及 所述第二整数至少是一;以及 将所述物理数据块写入所述非易失性存储器。
2.根据权利要求1所述的数据存储系统,其中所述第二整数等于一从而所述主机逻辑 块大小等于所述装置物理块大小。
3.根据权利要求1所述的数据存储系统,其中所述块映射桥进一步可操作用于 从所述主机接收请求所述数据存储系统的块大小的格式查询;以及响应于所述格式查询返回所述装置物理块大小的第二整数倍。
4.根据权利要求1所述的数据存储系统,其中所述第一接口进一步可操作用于从所述主机接收读取命令;以及 所述块映射桥进一步可操作用于通过所述第二接口从所述非易失性存储器读取所述多个传递数据块,以及将所述传递 数据块积累成具有所述主机逻辑块大小的主机读取数据块;以及 将所述主机读取数据块传递到所述主机。
5.根据权利要求1所述的数据存储系统,其中所述第二接口包括高级技术附件,即ATA0
6.根据权利要求5所述的数据存储系统,其中所述第一接口包括小型计算机系统接 口,即 SCSI。
7.根据权利要求1所述的数据存储系统,其中所述块映射桥包括由主机操作系统执行 的装置驱动器。
8.根据权利要求1所述的数据存储系统,其中所述块映射桥包括与所述第二接口集成 的固件。
9.根据权利要求1所述的数据存储系统,其中所述非易失性存储器包括磁盘。
10.根据权利要求1所述的数据存储系统,其中所述非易失性存储器包括半导体存储ο
11.一种操作包括非易失性存储器的数据存储系统的方法,所述方法包括通过第一接口从主机接收写入命令,所述写入命令包括具有主机逻辑块大小的主机写 入数据块;将所述主机写入数据块划分成多个传递数据块,其中每个传递数据块具有小于所述主 机逻辑块大小的装置逻辑块大小;通过第二接口发送所述传递数据块;将所述传递数据块积累成具有等于所述装置逻辑块大小的第一整数倍的装置物理块 大小的物理数据块,其中所述主机逻辑块大小是所述装置物理块大小的第二整数倍; 所述第一整数大于一;并且 所述第二整数至少是一;以及 将所述物理数据块写入所述非易失性存储器。
12.根据权利要求11所述的方法,其中所述第二整数等于一,从而所述主机逻辑块大 小等于所述装置物理块大小。
13.根据权利要求11所述的方法,还包括从所述主机接收请求数据存储系统的块大小的格式查询;以及 响应于所述格式查询返回装置物理块大小的第二整数倍。
14.根据权利要求11所述的方法,还包括 从所述主机接收读取命令;通过所述第二接口从所述非易失性存储器读取所述多个传递数据块,以及将所述传递 数据块积累成具有所述主机逻辑块大小的主机读取数据块;以及 将所述主机读取数据块传递到所述主机。
15.根据权利要求11所述的方法,其中所述第二接口包括高级技术附件,即ΑΤΑ。
16.根据权利要求15所述的方法,其中所述第一接口包括小型计算机系统接口,即 SCSI。
17.根据权利要求11所述的方法,其中所述非易失性存储器包括磁盘。
18.根据权利要求11所述的方法,其中所述非易失性存储器包括半导体存储器。
全文摘要
本发明公开一种数据存储系统,包括非易失性存储器和可操作用于从主机接收写入命令的第一接口,所述写入命令包括具有主机逻辑块大小的主机写入数据块。块映射桥将主机写入数据块划分为多个传递数据块,其中每个传递数据块具有小于主机逻辑块大小的装置逻辑块大小。传递数据块通过第二接口发送到控制电路,控制电路将传递数据块积累成具有等于装置逻辑块大小的第一整数倍的装置物理块大小的物理数据块,其中主机逻辑块是装置物理块大小的第二整数倍。之后,物理数据块被写入非易失性存储器。
文档编号G06F12/02GK102063267SQ201010548460
公开日2011年5月18日 申请日期2010年11月12日 优先权日2009年11月13日
发明者C·P·卡尔, R·J·普罗齐克 申请人:西部数据技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1