CN104956350A - 存储设备的初始化 - Google Patents

存储设备的初始化 Download PDF

Info

Publication number
CN104956350A
CN104956350A CN201480005447.6A CN201480005447A CN104956350A CN 104956350 A CN104956350 A CN 104956350A CN 201480005447 A CN201480005447 A CN 201480005447A CN 104956350 A CN104956350 A CN 104956350A
Authority
CN
China
Prior art keywords
storage unit
main frame
lba
logical block
memory device
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
CN201480005447.6A
Other languages
English (en)
Other versions
CN104956350B (zh
Inventor
K·W·吉普森
D·V·党
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.)
Western Digital Technologies Inc
Original Assignee
Western Digital Technologies 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 Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of CN104956350A publication Critical patent/CN104956350A/zh
Application granted granted Critical
Publication of CN104956350B publication Critical patent/CN104956350B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/217Hybrid disk, e.g. using both magnetic and solid state storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种存储设备包括第一存储单元、第二存储单元和控制器,其中第一存储单元包括第一类型的第一介质,第二存储单元包括第二类型的第二介质。控制器通过下列操作初始化用于主机的存储设备:接收来自主机的初始化查询,针对主机,识别包含第二存储单元但不包含第一存储单元的存储设备,接收来自主机的、指示主机与第一存储单元兼容的指示,以及针对主机,识别包含第一存储单元和第二存储单元的存储设备。主机通过下列操作初始化存储设备:初始化第二存储单元,传输指示主机与第一存储单元兼容的指示到控制器,接收来自控制器的、第一存储单元的标识,以及初始化第一存储单元。

Description

存储设备的初始化
相关申请的交叉引用
本申请要求2013年1月21日提交的、名称为“存储设备的初始化”的美国临时申请号61/754,879(代理号T6182.p)的权益,其在此通过引用将其全部内容并入本文。
背景技术
常规混合驱动器可以包括旋转存储盘和固态存储器。在操作中,混合驱动器连接到主机,并由主机用于存储数据。在一些情况下,主机可能不被配置为利用固态存储器。在这种情况下,主机可能不能够利用混合驱动器,并可能产生错误。然而,在一些情况下,主机将尝试利用混合驱动器,即使主机没有被配置为利用固态存储器。例如,这能够导致兼容性问题且甚至数据丢失。
附图说明
当与下述附图结合时,根据下面阐述的详细描述,本实施例的特征和优势将变得更明显。
图1示出根据一个实施例的包括主机和存储设备的系统;
图2示出根据一个实施例的存储单元的一组逻辑块地址;
图3示出根据一个实施例的存储单元的一组逻辑块地址;
图4示出根据一个实施例在驱动程序没有加载到主机上时的包括主机和存储设备的系统;
图5示出根据一个实施例在驱动程序加载到主机上时的包括主机和存储设备的系统;
图6示出根据一个实施例的存储设备的过程;
图7示出根据一个实施例的存储设备的附加过程;
图8示出根据一个实施例的主机的过程;以及
图9示出根据一个实施例的主机的附加过程。
具体实施方式
在一个实施例中,如图1中所示,系统100包含主机102和存储设备104。在一个实施例中,系统100包含计算设备、移动设备或其他类型的电气系统。在一个实施例中,主机102包含主机串行高级技术附件(“SATA”)端口126和基本输入/输出系统(“BIOS”)134。此外,驱动程序132可以安装在主机102上,随后将更详细描述该内容。在一个实施例中,驱动程序132是设备驱动程序。主机102使用主机SATA端口126和SATA主机接口130与存储设备104通信。
存储设备104包含两个或更多个存储单元(例如存储单元106和存储单元108)。存储设备104还包含SATA桥接器118。
在一个实施例中,存储单元106包含介质110和控制器112,而存储单元108包含介质114和控制器116。在一个实施例中,存储单元108使用信号线138与存储单元106通信。在一个实施例中,控制器116利用信号线138编程或控制存储单元106。
在一个实施例中,介质110是第一介质类型,而介质114是不同于第一介质类型的第二介质类型。在一个实施例中,第一介质类型具有不同于第二介质类型的访问时间。在一个实施例中,第一介质类型具有低于第二介质类型的访问时间。在一个实施例中,第一介质类型具有不同于第二介质类型的延迟。在一个实施例中,第一介质类型具有低于第二介质类型的延迟。在一个实施例中,第一介质类型和第二介质类型被配置为永久性存储数据。在一个实施例中,介质110是固态存储器,而介质114是旋转存储盘。例如,旋转存储盘能够是磁性旋转存储盘。在另一个实施例中,介质110和介质114均可以包含固态存储器,但其类型不同。
尽管本文通常指代固态存储器,应当理解的是固态存储器可以包含一个或更多个不同类型的固态非易失存储设备(诸如闪存集成电路、硫化物RAM(C-RAM)、相变存储器(PC-RAM或PRAM)、可编程金属化单元RAM(PMC-RAM或PMCm)、相变化记忆体(OUM)、电阻式RAM(RRAM)、NAND存储器(例如,单层式单元(SLC)存储器、多层式单元(MLC)存储器或其任意组合)、NOR存储器、EEPROM、铁电存储器(FeRAM)、磁阻式RAM(MRAM)、其他分立NVM(非易失存储器)芯片或其任意组合)。
在一个实施例中,介质114包含如图2中所示的一组逻辑块地址140,而介质110包含如图3中所示的一组逻辑块地址142。如图2中所示的一个实施例中,一组逻辑块地址140包含从0到MAX 1的逻辑块地址。如图3中所示的一个实施例中,一组逻辑块地址142包含定位在一组逻辑块地址140的逻辑块地址之后的逻辑块地址。例如,一组逻辑块地址142包含逻辑块地址MAX 1+1到MAX 2。在一个实施例中,逻辑块地址MAX1+1是定位在逻辑块地址MAX 1之后的逻辑块地址。
在一个实施例中,存储单元106和存储单元108分别使用SATA接口122和SATA接口120与SATA桥接器118通信。
在一个实施例中,SATA桥接器118包含第一SATA桥接器部分144和第二SATA桥接器部分146。例如,SATA桥接器118能够是存储单元106和主机102之间的接口以及存储单元108和主机102之间的接口。在一个实施例中,SATA桥接器118被配置为在存储单元106和主机102之间传输数据,以及在存储单元108和主机102之间传输数据。
在一个实施例中,第一SATA桥接器部分144被配置为在主机102和存储单元106之间传输第一存储单元数据。例如,第一存储单元数据能够是来自主机102、旨在用于存储单元106的数据。在一个实施例中,第二SATA桥接器部分146被配置为在主机102和存储单元108之间传输第二存储单元数据。例如,第二存储单元数据能够是来自主机102、旨在用于存储单元108的数据。
此外,在一个实施例中,存储单元108使用LBA程序逻辑信号线148关于逻辑块地址(“LBA”)程序逻辑与SATA桥接器118通信。例如,控制器116能够使用LBA程序逻辑信号线148关于LBA程序逻辑与SATA桥接器118通信。在一个实施例中,存储单元108能够使用LBA程序逻辑信号线148控制或编程SATA桥接器118。例如,控制器116能够使用LBA程序逻辑信号线148控制或编程SATA桥接器118。在一个实施例中,SATA桥接器118包含寄存器,并且控制器116通过修改SATA桥接器118中的寄存器配置SATA桥接器118。
在一个实施例中,如图4中所看到的,在驱动程序132没有安装到主机102中时,没有识别到主机102的存储单元106,该内容将在下面更详细地描述。在一个实施例中,如图4中所示,在驱动程序132没有安装到主机102中时,没有识别到主机102的第一SATA桥接器部分144。在一个实施例中,在主机102没有被配置为利用介质110的第一介质类型时,这能够防止主机102利用存储单元106。在一个实施例中,如图5中所看到的,在驱动程序132安装到主机102中时,识别到主机102的存储单元106,该内容将在下面更详细地描述。在一个实施例中,在主机102被配置为利用介质110的第一介质类型时,这允许主机102利用存储单元106。例如,在存储单元为包含固态存储器和旋转介质的混合驱动器的实施例中,针对主机,混合驱动器可以不识别固态存储器,直到驱动程序安装到主机上并且配置主机为使用固态存储器。
在一个实施例中,存储设备104的过程在图6中示出。在块S602中,控制器116接收来自主机102的初始化查询。例如,初始化查询能够请求存储设备104中可用存储单元的标识。
在块S604中,响应于接收到来自主机102的初始化查询,控制器116将针对主机102,识别包含第二存储单元(诸如存储单元108)但不包含第一存储单元(诸如存储单元106)的存储设备104。例如,如在图4中示出的一个实施例中所看到的,存储单元106还没有被识别给主机102。在一个实施例中,这防止主机102利用存储单元106,原因在于主机102将无从得知存储单元106的存在。例如,在主机102没有被配置为利用介质110的第一介质类型时,这能够防止主机102利用存储单元106。
在块S606中,控制器116接收来自主机102的、指示主机102与存储单元106兼容的指示。例如,控制器116能够接收来自主机102的、指示主机102能够利用存储单元106和介质110的第一介质类型的指示。在一个实施例中,在驱动程序132安装到主机102时,该指示从驱动程序132接收。在一个实施例中,该指示包括签名。
在块S608中,响应于接收到来自主机102的指示,控制器116针对主机102,识别包含存储单元106和存储单元108的存储设备104。例如,如在图5中示出的一个实施例中所看到的,已经针对主机102,识别存储单元106和存储单元108两者。
在一个实施例中,图7中示出了存储设备104的附加过程。在块S702中,在控制器112没有收到来自主机102的指示时,控制器116配置第一SATA桥接器部分144,以将第一存储单元数据从主机102传输到存储单元108。在一个实施例中,由于第一存储单元数据被第一SATA桥接器部分144重新路由到存储单元108而不是被传输到存储单元106,在主机102指示所述主机102被配置为利用存储单元106之前,这提供了防止主机102利用存储单元106的额外保障。
在块S704中,在控制器116没有接收到来自主机102的指示时,控制器116针对主机102,识别包含第二SATA桥接器部分146,但不包含第一SATA桥接器部分144的SATA桥接器118。例如,如在图4示出的一个实施例中所看到的,针对主机102,识别第二SATA桥接器部分146,但不是第一SATA桥接器部分144。在一个实施例中,由于主机102将无从得知第一SATA桥接器部分144的存在,在主机102指示主机102被配置为利用存储单元106之前,这提供了防止主机102利用存储单元106的额外保障。
在块S706中,在控制器116还没有接收到来自主机102的指示时,控制器116将存储设备104包含第二组逻辑块地址(诸如一组逻辑块地址140(图2)),但不包含第一组逻辑块地址(诸如一组逻辑块地址142(图3))标识给主机102。在一个实施例中,由于主机102将无从得知存储单元106中的一组逻辑块地址140,在主机102指示该主机102被配置为利用存储单元106之前,这提供了防止主机102利用存储单元106的额外保障。在一些实施例中,可以执行一个或更多个S702、S704和S706,从而防止主机使用存储单元106,直到在主机被被配置为使用存储单元106。
在块S708中,在控制器116已经接收到来自主机102的指示时,控制器116配置第一SATA桥接器部分144,以将第一存储单元数据从主机102传输到存储单元106。在块S710中,在控制器116已经接收到来自主机102的指示时,控制器116针对主机102,识别包含第一SATA桥接器部分144和第二SATA桥接器部分146的SATA桥接器118。例如,在图5示出的一个实施例中,在驱动程序132安装到主机102上以及控制器116接收到来自驱动程序132的指示时,针对主机102,识别第一SATA桥接器部分144和第二SATA桥接器部分146。
在块S712中,在控制器116已经接收到来自主机102的指示时,控制器116针对主机102,识别包含一组逻辑块地址142(图3)和一组逻辑块地址140(图2)的存储设备104。
尽管在图6和图7中,公开了利用存储单元108中的控制器116初始化存储设备104,在一个实施例中,除控制器116之外或代替控制器116,还利用与存储单元108分离的控制器。此外,在一个实施例中,控制器116不需要成为存储单元108的部分。例如,控制器116能够是存储设备104的部分,但不是存储单元108的部分。
在一个实施例中,图8中示出主机102的过程。在块S802中,主机102初始化存储单元108。例如,主机102中的BIOS 134初始化存储单元108,如图1中的一个实施例所示出的。
在块S804中,主机102将指示主机102与存储单元106兼容的指示传输到存储单元108的控制器116。例如,一旦驱动程序132加载到主机102上,驱动程序132能够传输该指示到控制器116,如图5中的一个实施例示出的。
在块S806中,主机102接收来自控制器116的存储单元106的标识。在块S808中,响应于接收到存储单元106的标识,主机102初始化存储单元106。
在一个实施例中,图9中示出主机102的附加过程。在块S902中,在传输主机102与存储单元106兼容的指示之前,在存储单元106已经被初始化之后,主机102生成存储设备104的分区,该分区包含一组逻辑块地址140(图2),但不包含一组逻辑块地址142(图3)。
在块S904中,主机102加载设备驱动程序(诸如主机102上的驱动程序132)以生成指示。在块S906中,在存储单元106已经初始化之后,主机102更新存储设备104的分区,使其包括一组逻辑块地址142。因此,分区现在将包括一组逻辑块地址140(图2)和一组逻辑块地址142(图3)。
在块S908中,在存储单元106和存储单元108已经初始化之后,主机102将缓存数据传输到存储单元106,并将非缓存数据传输到存储单元108。在一个实施例中,在存储单元106和存储单元108已经初始化之后,主机102不需要仅将缓存数据传输到存储单元106以及将非缓存数据传输到存储单元108。替代地,在存储单元106和存储单元108已经初始化之后,主机102能够被配置为在存储单元106和存储单元108中存储不同类型的数据。例如,在存储单元106和存储单元108已经初始化时,主机102能够存储休眠数据或快速缓存数据到存储单元106。在一个实施例中,主机102将存储单元106用作专用分区。
在一个实施例中,主机102包含处理器,并且图8和图9中示出的块中公开的一个或更多个特征可以由处理器执行。在一个实施例中,驱动程序132不需要是设备驱动程序,但是替代地可以是BIOS、软件或配置为在主机102和存储设备104之间接合的应用程序,驱动程序132包含存储设备,或者包含存储单元106,其中存储设备包含第一介质类型。
在一个实施例中,尽管SATA桥接器118、SATA接口120和122以及SATA主机接口130在上述公开的示例中使用,可以使用其他类型的桥接器和接口。
本领域技术人员将理解的是,结合本文描述的示例描述的各种说明性逻辑块、模块和算法部件可以实施为电子硬件、计算机软件或两者的组合。此外,实施例还能够体现在非临时性机器可读介质上,使得处理器或计算机执行或运行特定功能。
为了清楚地说明硬件和软件的可互换性,各种说明性组件、块、模块、电路和处理部件已经就他们的功能在上面总体进行了描述。这些功能是否被实施为硬件或软件取决于施加于总系统上的特定应用程序和设计约束。熟练技术人员可以为每个特定应用程序以各种方式实施描述的功能,但是这种实施决策不应当解释为脱离公开的装置和方法的保护范围。
结合本文公开的示例描述的方法或算法的部件可以直接以硬件、处理器运行的软件模块或两者的组合体现。方法和算法的部件还可以与示例中提供的顺序交替的顺序执行。软件模块可以驻留在RAM存储器、闪存存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除盘、光盘或任何其他形式的本领域已知的存储介质。示例性存储介质连接到处理器,使得处理器能够从存储介质读取信息并向其写入信息。在替代选择中,存储介质可以与处理器是一体的。处理器和存储介质可以驻留在专用集成电路(ASIC)中。
提供之前公开的示例的描述使得本领域任何技术人员制造或使用公开的方法和装置。这些示例的各种修改对于本领域技术人员来说是显而易见的,并且本文限定的原理可以应用到其他实例中,而不脱离公开的方法和装置的精神或范围。在各个方面描述的实施例应当被视为说明性的而不是限制性的,因此本公开的范围由所附权利要求书而不是前面的描述指示。落入权利要求书的等价含义和范围的所有改变都将纳入权利要求书的范围。

Claims (42)

1.一种存储设备,其包含:
第一存储单元,其包含第一类型的第一介质;
第二存储单元,其包含不同于所述第一类型的第二类型的第二介质;以及
控制器,其被配置为至少通过以下操作初始化主机的所述存储设备:
接收来自所述主机的初始化查询;
响应于接收来自所述主机的所述初始化查询,针对所述主机,识别包含所述第二存储单元但不包含所述第一存储单元的所述存储设备;
接收来自所述主机的、指示所述主机与所述第一存储单元兼容的指示;以及
响应于接收来自所述主机的所述指示,针对所述主机,识别包含所述第一存储单元和所述第二存储单元的所述存储设备。
2.根据权利要求1所述的存储设备,其进一步包含SATA桥接器,所述SATA桥接器包含:
第一SATA桥接器部分,其被配置为在所述主机和所述第一存储单元之间传输第一存储单元数据,其中所述第一存储单元数据是来自所述主机、旨在用于所述第一存储单元的数据;以及
第二SATA桥接器部分,其被配置为在所述主机和所述第二存储单元之间传输第二存储单元数据,其中所述第二存储单元数据是来自所述主机、旨在用于所述第二存储单元的数据。
3.根据权利要求2所述的存储设备,其中所述控制器进一步被配置为通过下列操作初始化所述存储设备:
在所述控制器还没有接收到来自所述主机的所述指示时,配置所述第一SATA桥接器部分,以将所述第一存储单元数据从所述主机传输到所述第二存储单元。
4.根据权利要求2所述的存储设备,其中所述控制器进一步被配置为通过下列操作初始化所述存储设备:
在所述控制器已经接收到来自所述主机的所述指示时,配置所述第一SATA桥接器部分,以将所述第一存储单元数据从所述主机传输到所述第一存储单元。
5.根据权利要求2所述的存储设备,其中所述控制器进一步被配置为通过下列操作初始化所述存储设备:
在所述控制器还没有接收到来自所述主机的所述指示时,将所述SATA桥接器包含所述第二SATA桥接器部分但不包含所述第一SATA桥接器部分标识给所述主机。
6.根据权利要求2所述的存储设备,其中所述控制器进一步被配置为通过下列操作初始化所述存储设备;
在所述控制器已经接收到来自所述主机的所述指示时,针对所述主机,识别包含所述第一SATA桥接器部分和所述第二SATA桥接器部分的所述SATA桥接器。
7.根据权利要求1所述的存储设备,其中所述第一介质包含第一组逻辑块地址,以及所述第二介质包含第二组逻辑块地址,其中所述第一组逻辑块地址包含所述第二组逻辑块地址的逻辑块地址之后的逻辑块地址。
8.根据权利要求7所述的存储设备,其中所述控制器进一步被配置为通过下列操作初始化所述存储设备:
在所述控制器还没有接收到来自所述主机的所述指示时,针对所述主机,识别包含所述第二组逻辑块地址但不包含所述第一组逻辑块地址的所述存储设备。
9.根据权利要求7所述的存储设备,其中所述控制器进一步被配置为通过下列操作初始化所述存储设备:
在所述控制器已经接收到来自所述主机的所述指示时,针对所述主机,识别包含所述第一组逻辑块地址和所述第二组逻辑块地址的所述存储设备。
10.根据权利要求1所述的存储设备,其中所述第一介质包含固态存储器,而所述第二介质包含旋转存储盘。
11.根据权利要求1所述的存储设备,其中所述控制器是所述第二存储单元的部分。
12.根据权利要求1所述的存储设备,其中所述指示从安装在所述主机上的设备驱动程序接收。
13.根据权利要求1所述的存储设备,其中所述指示包含签名。
14.一种用于初始化包含第一存储单元、第二存储单元和控制器的存储设备的方法,所述第一存储单元包含第一类型的第一介质,所述第二存储单元包含不同于所述第一类型的第二类型的第二介质,所述控制器被配置为初始化用于主机的所述存储设备,所述方法包含:
接收来自所述主机的初始化查询;
响应于接收到来自所述主机的所述初始化查询,针对所述主机,识别包含所述第二存储单元但不包含所述第一存储单元的所述存储设备;
接收来自所述主机的、指示所述主机与所述第一存储单元兼容的指示;以及
响应于接收到来自所述主机的所述指示,针对所述主机,识别包含所述第一存储单元和所述第二存储单元的所述存储设备。
15.根据权利要求14所述的方法,其中所述存储设备进一步包含SATA桥接器,所述SATA桥接器包含:
第一SATA桥接器部分,其被配置为在所述主机和所述第一存储单元之间传输第一存储单元数据,其中所述第一存储单元数据是来自所述主机、旨在用于所述第一存储单元的数据;以及
第二SATA桥接器部分,其被配置为在所述主机和所述第二存储单元之间传输第二存储单元数据,其中所述第二存储单元数据是来自所述主机、旨在用于所述第二存储单元的数据。
16.根据权利要求15所述的方法,其进一步包含在还没有接收到来自所述主机的所述指示时,配置所述第一SATA桥接器部分,以将所述第一存储单元数据从所述主机传输到所述第二存储单元。
17.根据权利要求15所述的方法,其进一步包含在已经接收到来自所述主机的所述指示时,配置所述第一SATA桥接器部分,以将所述第一存储单元数据从所述主机传输到所述第一存储单元。
18.根据权利要求15所述的方法,其进一步包含在还没有接收到来自所述主机的所述指示时,针对所述主机,识别包含所述第二SATA桥接器部分但不包含所述第一SATA桥接器部分的所述SATA桥接器。
19.根据权利要求15所述的方法,其进一步包含在已经接收到来自所述主机的所述指示时,针对所述主机,识别包含所述第一SATA桥接器部分和所述第二SATA桥接器部分的所述SATA桥接器。
20.根据权利要求14所述的方法,其中所述第一介质包含第一组逻辑块地址,而所述第二介质包含第二组逻辑块地址,其中所述第一组逻辑块地址包含所述第二组逻辑块地址的逻辑块地址之后的逻辑块地址。
21.根据权利要求20所述的方法,其进一步包含在还没有接收到来自所述主机的所述指示时,针对所述主机,识别包含所述第二组逻辑块地址,但不包含所述第一组逻辑块地址的所述存储设备。
22.根据权利要求20所述的方法,其进一步包含在已经接收到来自所述主机的所述指示时,针对所述主机,识别包含所述第一组逻辑块地址和所述第二组逻辑块地址的所述存储设备。
23.根据权利要求22所述的方法,其中所述第一介质包含固态存储器,以及所述第二介质包含旋转存储盘。
24.根据权利要求14所述的方法,其中所述控制器是所述第二存储单元的部分。
25.根据权利要求14所述的方法,其中所述指示从安装在所述主机上的设备驱动程序接收。
26.根据权利要求14所述的方法,其中所述指示包含签名。
27.一种初始化存储设备的方法,所述存储设备被配置为与主机通信,其中所述存储设备包含第一存储单元、第二存储单元和控制器,所述第一存储单元包含第一类型的第一介质,所述第二存储单元包含不同于所述第一类型的第二类型的第二介质,所述方法包含:
初始化所述第二存储单元;
向所述存储设备的所述控制器传输指示所述主机与所述第一存储单元兼容的指示;
从所述控制器接收所述第一存储单元的标识;以及
响应于接收到所述第一存储单元的所述标识,初始化所述第一存储单元,
其中所述方法由所述主机中的处理器执行。
28.根据权利要求27所述的方法,其中所述第一介质包含第一组逻辑块地址,而所述第二介质包含第二组逻辑块地址,其中所述第一组逻辑块地址包含所述第二组逻辑块地址的逻辑块地址之后的逻辑块地址。
29.根据权利要求28所述的方法,其进一步包含:
在传输所述主机与所述第一存储单元兼容的所述指示之前,在所述第二存储单元已经被初始化之后,生成所述存储设备的分区,所述分区包含所述第二组逻辑块地址,但不包含所述第一组逻辑块地址。
30.根据权利要求29所述的方法,其进一步包含在所述第一存储单元已经被初始化之后,更新所述存储设备的所述分区,使其包括所述第一组逻辑块地址。
31.根据权利要求27所述的方法,其进一步包含加载所述主机上的设备驱动程序以生成所述指示。
32.根据权利要求27所述的方法,其进一步包含在所述第一存储单元和所述第二存储单元已经被初始化之后,将缓存数据传输到所述第一存储单元并且将所述非缓存数据传输到所述第二存储单元。
33.根据权利要求27所述的方法,其中所述第一介质包含固态存储器,而所述第二介质包含旋转存储盘。
34.根据权利要求27所述的方法,其中所述指示包含签名。
35.一种非临时性机器可读介质,其包含由处理器执行时初始化被配置为与主机通信的存储设备的指令,其中所述存储设备包含第一存储单元、第二存储单元和控制器,所述第一存储单元包含第一类型的第一介质,所述第二存储单元包含不同于所述第一类型的第二类型的第二介质,所述处理器至少通过下列操作初始化所述存储设备:
初始化所述第二存储单元;
向所述存储设备的所述控制器传输指示所述主机与所述第一存储单元兼容的指示;
从所述控制器接收所述第一存储单元的标识;以及
响应于接收到所述第一存储单元的所述标识,初始化所述第一存储单元。
36.根据权利要求35所述的非临时性机器可读介质,其中所述第一介质包含第一组逻辑块地址,而所述第二介质包含第二组逻辑块地址,其中所述第一组逻辑块地址包含所述第二组逻辑块地址的逻辑块地址之后的逻辑块地址。
37.根据权利要求36所述的非临时性机器可读介质,其进一步包含:
在传输所述主机与所述第一存储单元兼容的所述指示之前,在所述第二存储单元已经被初始化之后,生成所述存储设备的分区,所述分区包含所述第二组逻辑块地址,但不包含所述第一组逻辑块地址。
38.根据权利要求37所述的非临时性机器可读介质,其进一步包含在所述第一存储单元已经被初始化之后,更新所述存储设备的所述分区,使其包含所述第一组逻辑块地址。
39.根据权利要求35所述的非临时性机器可读介质,其进一步包含加载所述主机上的设备驱动程序以生成所述指示。
40.根据权利要求35所述的非临时性机器可读介质,其进一步包含在所述第一存储单元和所述第二存储单元已经被初始化之后,将缓存数据传输到所述第一存储单元,而将非缓存数据传输到所述第二存储单元。
41.根据权利要求35所述的非临时性机器可读介质,其中所述第一介质包含固态存储器,而所述第二介质包含旋转存储盘。
42.根据权利要求35所述的非临时性机器可读介质,其中所述指示包含签名。
CN201480005447.6A 2013-01-21 2014-01-21 存储设备的初始化 Active CN104956350B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361754879P 2013-01-21 2013-01-21
US61/754,879 2013-01-21
US13/754,854 2013-01-30
US13/754,854 US8972655B2 (en) 2013-01-21 2013-01-30 Initialization of a storage device
PCT/US2014/012399 WO2014113816A1 (en) 2013-01-21 2014-01-21 Initialization of a storage device

Publications (2)

Publication Number Publication Date
CN104956350A true CN104956350A (zh) 2015-09-30
CN104956350B CN104956350B (zh) 2017-08-22

Family

ID=51208670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480005447.6A Active CN104956350B (zh) 2013-01-21 2014-01-21 存储设备的初始化

Country Status (4)

Country Link
US (1) US8972655B2 (zh)
CN (1) CN104956350B (zh)
HK (1) HK1212789A1 (zh)
WO (1) WO2014113816A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10817363B2 (en) * 2018-03-19 2020-10-27 Micron Technology, Inc. Health characteristics of a memory device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060248302A1 (en) * 2003-01-16 2006-11-02 Yasutomo Yamamoto Storage unit, installation method thereof and installation program therefore
US20110072173A1 (en) * 2009-09-23 2011-03-24 Lsi Corporation Processing Host Transfer Requests for Direct Block Access Storage Devices
US20110296130A1 (en) * 2008-03-21 2011-12-01 Tetsuya Abe Storage system and method of taking over logical unit in storage system
US20120131263A1 (en) * 2010-11-22 2012-05-24 Phison Electronics Corp. Memory storage device, memory controller thereof, and method for responding host command
WO2012105811A2 (en) * 2011-02-01 2012-08-09 Taejin Info Tech Co., Ltd. Raid-based storage control board

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6856556B1 (en) 2003-04-03 2005-02-15 Siliconsystems, Inc. Storage subsystem with embedded circuit for protecting against anomalies in power signal from host
US7502256B2 (en) 2004-11-30 2009-03-10 Siliconsystems, Inc. Systems and methods for reducing unauthorized data recovery from solid-state storage devices
US7653778B2 (en) 2006-05-08 2010-01-26 Siliconsystems, Inc. Systems and methods for measuring the useful life of solid-state storage devices
US8108692B1 (en) 2006-06-27 2012-01-31 Siliconsystems, Inc. Solid-state storage subsystem security solution
US7765373B1 (en) 2006-06-27 2010-07-27 Siliconsystems, Inc. System for controlling use of a solid-state storage subsystem
US7509441B1 (en) 2006-06-30 2009-03-24 Siliconsystems, Inc. Systems and methods for segmenting and protecting a storage subsystem
US7447807B1 (en) 2006-06-30 2008-11-04 Siliconsystems, Inc. Systems and methods for storing data in segments of a storage subsystem
US8161227B1 (en) 2006-10-30 2012-04-17 Siliconsystems, Inc. Storage subsystem capable of programming field-programmable devices of a target computer system
US8549236B2 (en) 2006-12-15 2013-10-01 Siliconsystems, Inc. Storage subsystem with multiple non-volatile memory arrays to protect against data losses
US7596643B2 (en) 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
US7685338B2 (en) 2007-05-24 2010-03-23 Siliconsystems, Inc. Solid state storage subsystem for embedded applications
US7685337B2 (en) 2007-05-24 2010-03-23 Siliconsystems, Inc. Solid state storage subsystem for embedded applications
US7685374B2 (en) 2007-07-26 2010-03-23 Siliconsystems, Inc. Multi-interface and multi-bus structured solid-state storage subsystem
US8095851B2 (en) 2007-09-06 2012-01-10 Siliconsystems, Inc. Storage subsystem capable of adjusting ECC settings based on monitored conditions
US8078918B2 (en) 2008-02-07 2011-12-13 Siliconsystems, Inc. Solid state storage subsystem that maintains and provides access to data reflective of a failure risk
US7962792B2 (en) 2008-02-11 2011-06-14 Siliconsystems, Inc. Interface for enabling a host computer to retrieve device monitor data from a solid state storage subsystem
US7733712B1 (en) 2008-05-20 2010-06-08 Siliconsystems, Inc. Storage subsystem with embedded circuit for protecting against anomalies in power signal from host
US8375151B1 (en) 2009-02-12 2013-02-12 Siliconsystems, Inc. Command portal for securely communicating and executing non-standard storage subsystem commands
US8583835B1 (en) 2008-08-06 2013-11-12 Siliconsystems, Inc. Command portal for executing non-standard storage subsystem commands
US9176859B2 (en) 2009-01-07 2015-11-03 Siliconsystems, Inc. Systems and methods for improving the performance of non-volatile memory operations
US8090899B1 (en) 2009-03-04 2012-01-03 Western Digital Technologies, Inc. Solid state drive power safe wear-leveling
US10079048B2 (en) 2009-03-24 2018-09-18 Western Digital Technologies, Inc. Adjusting access of non-volatile semiconductor memory based on access time
US8254172B1 (en) 2009-09-30 2012-08-28 Western Digital Technologies, Inc. Wear leveling non-volatile semiconductor memory based on erase times and program times
US8243525B1 (en) 2009-09-30 2012-08-14 Western Digital Technologies, Inc. Refreshing non-volatile semiconductor memory by reading without rewriting
US9753847B2 (en) 2009-10-27 2017-09-05 Western Digital Technologies, Inc. Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping
US8135903B1 (en) 2009-10-30 2012-03-13 Western Digital Technologies, Inc. Non-volatile semiconductor memory compressing data to improve performance
US8261012B2 (en) 2009-10-30 2012-09-04 Western Digital Technologies, Inc. Non-volatile semiconductor memory comprising power fail circuitry for flushing write data in response to a power fail signal
US8397107B1 (en) 2009-12-11 2013-03-12 Western Digital Technologies, Inc. Data storage device employing data path protection using both LBA and PBA
US8443167B1 (en) 2009-12-16 2013-05-14 Western Digital Technologies, Inc. Data storage device employing a run-length mapping table and a single address mapping table
US8316176B1 (en) 2010-02-17 2012-11-20 Western Digital Technologies, Inc. Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification
US8407449B1 (en) 2010-02-26 2013-03-26 Western Digital Technologies, Inc. Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table
US8725931B1 (en) 2010-03-26 2014-05-13 Western Digital Technologies, Inc. System and method for managing the execution of memory commands in a solid-state memory
US8713066B1 (en) 2010-03-29 2014-04-29 Western Digital Technologies, Inc. Managing wear leveling and garbage collection operations in a solid-state memory using linked lists
US8782327B1 (en) 2010-05-11 2014-07-15 Western Digital Technologies, Inc. System and method for managing execution of internal commands and host commands in a solid-state memory
US9026716B2 (en) 2010-05-12 2015-05-05 Western Digital Technologies, Inc. System and method for managing garbage collection in solid-state memory
US8341339B1 (en) 2010-06-14 2012-12-25 Western Digital Technologies, Inc. Hybrid drive garbage collecting a non-volatile semiconductor memory by migrating valid data to a disk
US8612669B1 (en) 2010-06-28 2013-12-17 Western Digital Technologies, Inc. System and method for performing data retention in solid-state memory using copy commands and validity and usage data
US8447920B1 (en) 2010-06-29 2013-05-21 Western Digital Technologies, Inc. System and method for managing data access in non-volatile memory
US8521972B1 (en) 2010-06-30 2013-08-27 Western Digital Technologies, Inc. System and method for optimizing garbage collection in data storage
US8639872B1 (en) 2010-08-13 2014-01-28 Western Digital Technologies, Inc. Hybrid drive comprising write cache spanning non-volatile semiconductor memory and disk
US8775720B1 (en) 2010-08-31 2014-07-08 Western Digital Technologies, Inc. Hybrid drive balancing execution times for non-volatile semiconductor memory and disk
US8638602B1 (en) 2010-09-10 2014-01-28 Western Digital Technologies, Inc. Background selection of voltage reference values for performing memory read operations
US8769190B1 (en) 2010-09-15 2014-07-01 Western Digital Technologies, Inc. System and method for reducing contentions in solid-state memory access
US8788779B1 (en) 2010-09-17 2014-07-22 Western Digital Technologies, Inc. Non-volatile storage subsystem with energy-based performance throttling
US8612804B1 (en) 2010-09-30 2013-12-17 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
US8601313B1 (en) 2010-12-13 2013-12-03 Western Digital Technologies, Inc. System and method for a data reliability scheme in a solid state memory
US8601311B2 (en) 2010-12-14 2013-12-03 Western Digital Technologies, Inc. System and method for using over-provisioned data capacity to maintain a data redundancy scheme in a solid state memory
US8615681B2 (en) 2010-12-14 2013-12-24 Western Digital Technologies, Inc. System and method for maintaining a data redundancy scheme in a solid state memory in the event of a power loss
US8458435B1 (en) 2010-12-20 2013-06-04 Western Digital Technologies, Inc. Sequential write thread detection
US8392635B2 (en) 2010-12-22 2013-03-05 Western Digital Technologies, Inc. Selectively enabling a host transfer interrupt
US8683113B2 (en) 2011-02-04 2014-03-25 Western Digital Technologies, Inc. Concurrently searching multiple devices of a non-volatile semiconductor memory
US8700950B1 (en) 2011-02-11 2014-04-15 Western Digital Technologies, Inc. System and method for data error recovery in a solid state subsystem
US8700951B1 (en) 2011-03-09 2014-04-15 Western Digital Technologies, Inc. System and method for improving a data redundancy scheme in a solid state subsystem with additional metadata
US8769232B2 (en) 2011-04-06 2014-07-01 Western Digital Technologies, Inc. Non-volatile semiconductor memory module enabling out of order host command chunk media access
US8862804B2 (en) 2011-04-29 2014-10-14 Western Digital Technologies, Inc. System and method for improved parity determination within a data redundancy scheme in a solid state memory
US8751728B1 (en) 2011-04-29 2014-06-10 Western Digital Technologies, Inc. Storage system bus transfer optimization
US9021178B2 (en) 2011-05-02 2015-04-28 Western Digital Technologies, Inc. High performance path for command processing
US8503237B1 (en) 2011-05-18 2013-08-06 Western Digital Technologies, Inc. System and method for data recovery in a solid state storage device
US8793429B1 (en) 2011-06-03 2014-07-29 Western Digital Technologies, Inc. Solid-state drive with reduced power up time
US8719531B2 (en) 2011-06-14 2014-05-06 Western Digital Technologies, Inc. System and method for performing data retention that incorporates environmental conditions
US8423722B1 (en) 2011-08-26 2013-04-16 Western Digital Technologies, Inc. System and method for high performance command processing in solid state drives
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US8977803B2 (en) 2011-11-21 2015-03-10 Western Digital Technologies, Inc. Disk drive data caching using a multi-tiered memory
US8724422B1 (en) 2012-02-29 2014-05-13 Western Digital Technologies, Inc. System and method for charging back-up charge storage element for data storage device using spindle phase switching elements
US9003224B2 (en) 2012-04-25 2015-04-07 Western Digital Technologies, Inc. Managing unreliable memory in data storage systems
US8788778B1 (en) 2012-06-04 2014-07-22 Western Digital Technologies, Inc. Garbage collection based on the inactivity level of stored data
US8966343B2 (en) 2012-08-21 2015-02-24 Western Digital Technologies, Inc. Solid-state drive retention monitor using reference blocks
US8788880B1 (en) 2012-08-22 2014-07-22 Western Digital Technologies, Inc. Efficient retry mechanism for solid-state memory failures
US9268682B2 (en) 2012-10-05 2016-02-23 Skyera, Llc Methods, devices and systems for physical-to-logical mapping in solid state drives
US8972826B2 (en) 2012-10-24 2015-03-03 Western Digital Technologies, Inc. Adaptive error correction codes for data storage systems
US9177638B2 (en) 2012-11-13 2015-11-03 Western Digital Technologies, Inc. Methods and devices for avoiding lower page corruption in data storage devices
US8954694B2 (en) 2012-11-15 2015-02-10 Western Digital Technologies, Inc. Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive
US9021339B2 (en) 2012-11-29 2015-04-28 Western Digital Technologies, Inc. Data reliability schemes for data storage systems
US9059736B2 (en) 2012-12-03 2015-06-16 Western Digital Technologies, Inc. Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme
US20140223255A1 (en) 2012-12-18 2014-08-07 Western Digital Technologies, Inc. Decoder having early decoding termination detection
US9430376B2 (en) 2012-12-26 2016-08-30 Western Digital Technologies, Inc. Priority-based garbage collection for data storage systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060248302A1 (en) * 2003-01-16 2006-11-02 Yasutomo Yamamoto Storage unit, installation method thereof and installation program therefore
US20110296130A1 (en) * 2008-03-21 2011-12-01 Tetsuya Abe Storage system and method of taking over logical unit in storage system
US20110072173A1 (en) * 2009-09-23 2011-03-24 Lsi Corporation Processing Host Transfer Requests for Direct Block Access Storage Devices
US20120131263A1 (en) * 2010-11-22 2012-05-24 Phison Electronics Corp. Memory storage device, memory controller thereof, and method for responding host command
WO2012105811A2 (en) * 2011-02-01 2012-08-09 Taejin Info Tech Co., Ltd. Raid-based storage control board

Also Published As

Publication number Publication date
US8972655B2 (en) 2015-03-03
CN104956350B (zh) 2017-08-22
US20140208026A1 (en) 2014-07-24
WO2014113816A1 (en) 2014-07-24
HK1212789A1 (zh) 2016-06-17

Similar Documents

Publication Publication Date Title
US9804801B2 (en) Hybrid memory device for storing write data based on attribution of data stored therein
TWI696918B (zh) 混合式記憶體驅動器,電腦系統,及用於操作多重模式混合式驅動器之相關方法
EP3123336B1 (en) Method and apparatus for restricting writes to solid state memory when an end-of-life condition is reached
US11169736B2 (en) Data storage device equipped to reduce page faults in host device
US20160004634A1 (en) Internal storage, external storage capable of communicating with the same, and data processing system including the storages
US20140281158A1 (en) File differentiation based on data block identification
US20150248250A1 (en) Method of operating data storage device
US9864543B2 (en) Electronic device and communication method
CN114328303A (zh) 存储设备、其操作方法及包括其的计算设备的操作方法
US20130275652A1 (en) Methods and structure for transferring additional parameters through a communication interface with limited parameter passing features
CN110058809B (zh) 存储装置及其调试系统
CN104956350A (zh) 存储设备的初始化
US20230153237A1 (en) Method and device for storing data
US8656059B2 (en) Methods for exchanging administrative information through a communication interface with limited administrative information exchange features
CN115668162A (zh) 基于对象距离的媒体类型选择

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1212789

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1212789

Country of ref document: HK