用于磁存储介质的码字交织

文档序号:74843 发布日期:2021-10-01 浏览:42次 >En<

阅读说明:本技术 用于磁存储介质的码字交织 (Codeword interleaving for magnetic storage media ) 是由 M·奥伯格 于 2020-02-26 设计创作,主要内容包括:本公开描述了用于磁存储介质的码字交织的方面。在一些方面,码字的分段跨磁存储介质的多个扇区散布或交织。一个或多个码字的数据可以由读取通道接收,并且对于每个码字,选择或接收相应的指示符。指示符可以指示码字之一的分段将被写入多个扇区的哪些分区。然后对数据进行编码以提供码字,并且基于与码字对应的相应指示符将码字的分段放置在交织器中。码字分段从交织器写入磁存储介质的多个扇区的分区。通过这样做,码字可以跨多个扇区散布,使得一些扇区的丢失不会阻止码字的读回和解码。(The present disclosure describes aspects of codeword interleaving for magnetic storage media. In some aspects, the segments of the codeword are spread or interleaved across multiple sectors of the magnetic storage medium. Data of one or more codewords may be received by the read channel and for each codeword a corresponding indicator is selected or received. The indicator may indicate which partitions of the plurality of sectors a segment of one of the codewords is to be written to. The data is then encoded to provide codewords, and the segments of the codewords are placed in an interleaver based on respective indicators corresponding to the codewords. The code word segments are written from the interleaver to a partition of a plurality of sectors of the magnetic storage medium. By doing so, the codeword may be spread across multiple sectors so that the loss of some sectors does not prevent the readback and decoding of the codeword.)

用于磁存储介质的码字交织

背景技术

电子设备为现代社会提供了许多服务。这些服务使电子设备能够提供娱乐、协助科学研究和开发,并提供许多现代便利。许多这些服务创建或使用电子设备存储的数据。该数据可能包括诸如书籍或电影之类的数字媒体、执行复杂模拟的算法、个人用户数据、应用程序等。为了避免超出数据存储限制,增加电子设备的数据存储容量,避免删除数据、限制服务或购买附加的外部存储设备是有益的。

许多电子设备使用介质驱动器将数据存储在盘上,例如硬盘驱动器。通常,每个磁盘的数据都是沿着写入了数据的比特的磁介质的同心轨道组织的。通常,设备的数据被分组并按块顺序写入到磁介质轨道的各个物理部分。然而,盘表面上的磁介质通常是不均匀的,从而磁介质的质量可能会在磁盘表面周围显著变化。由于这些变化,数据从磁介质的读回具有不均匀的信噪比(SNR)。因此,当将数据块写入质量较差的介质的部分或退化的部分(例如,由于写入磁头从邻近轨道漂移偏离轨道)时,介质驱动器的数据可能会丢失,这可能会导致低SNR读取信号或读回失败。

发明内容

提供该发明内容部分以介绍在

具体实施方式

和附图部分中进一步描述的主题。因此,本发明内容部分不应被视为描述必要的特征,也不应用于限制要求保护的主题的范围。

在各个方面,跨磁存储介质的多个扇区(例如,物理位置)散布或交织码字的分段。一个或多个码字的数据可以由读/写通道接收,并且对于每个码字,选择或接收相应的指示符(例如,索引)。该指示符可以包括指示码字之一的分段将被写入多个扇区的哪些分区中的指示符。然后对数据进行编码以提供码字,并且码字的分段基于对应于码字的相应指示符而被放置在交织器中。码字分段从交织器写入磁存储介质的多个扇区的分区。通过这样做,码字可以跨多个扇区散布,使得几个扇区的丢失不会阻止码字的读回和解码。

在一些方面,存储介质控制器的交织器实现一种方法,该方法包括:接收要被写入到磁存储介质的一组多个扇区(例如,物理位置或轨道扇区)的一个或多个码字的数据。对于一个或多个码字中的每一个,选择相应的指示符,该指示符指示要在多个扇区的哪些分区内写入码字的分段。对数据进行编码以提供编码数据的一个或多个码字,并且基于对应于每个码字的相应指示符将一个或多个码字的分段放入交织缓冲器中。然后将一个或多个码字中的每一个的分段从交织缓冲器写入到多个扇区中的至少一些扇区的分区,以跨磁存储介质的多个扇区交织码字的相应分段。替代地或另外,一个或多个码字中的每一个的分段可被写入多个扇区中的非连续扇区,例如每隔一个扇区的分区。

在其他方面,一种装置包括:用于从主机接收数据的接口、以扇区布置的存储数据的磁存储介质盘、被配置为缓冲用于写入磁存储介质的扇区的码字分段的交织缓冲器、和交织器。交织器被配置为从主机设备接收与要由磁存储介质的多个扇区存储的一个或多个码字相对应的数据。交织器为一个或多个码字中的每一个选择相应的指示符,指示符指示码字的分段将被写入多个扇区的哪些分区内。然后对一个或多个码字的数据进行编码以提供编码数据的一个或多个码字。交织器然后基于对应于每个码字的相应指示符将一个或多个码字的分段放置到交织缓冲器中。将一个或多个码字的分段从交织缓冲器写入多个扇区中的至少一些扇区的分区,以跨磁存储介质的多个扇区交织码字的相应分段。

在又一个其他方面,描述了一种片上系统(SoC),其包括:存储介质控制器的接口,从存储介质控制器接收数据以写入磁存储介质;磁存储介质的介质写入器的接口;被配置为缓冲用于写入磁存储介质的扇区的码字分段的交织缓冲器;以及交织器。交织器被配置为从存储介质控制器接收要被存储在磁存储介质的多个扇区中的对应于一个或多个码字的数据。交织器还从存储介质控制器接收指示每个码字的分段将被写入在多个扇区的哪些分区内的相应索引。对一个或多个码字的数据进行编码以提供编码数据的一个或多个码字。交织器然后基于对应于每个码字的相应指示符将一个或多个码字的分段放置到交织缓冲器中。然后,介质写入器将一个或多个码字的分段从交织缓冲器写入多个扇区中的至少一些扇区的分区,以跨磁存储介质的多个扇区交织码字的相应分段。

在附图和以下描述中阐述了一种或多种实施方式的细节。从描述和附图以及从权利要求中,其他特征和优点将是明显的。

附图说明

在附图和下面的详细描述中阐述用于磁存储介质的码字交织的一种或多种实现方式的细节。在图中,附图标记最左边的数字标识附图标记首次出现的图。相同附图标记在说明书和附图中不同实例中的使用表示相同的要素:

图1图示具有可以实现磁存储介质的码字交织的设备的示例操作环境。

图2图示图1中所示的硬盘驱动器的示例配置。

图3图示读/写通道和交织器的示例配置,其可以将码字分段写入图2所示的磁存储介质的扇区。

图4图示读/写通道和时序恢复电路的示例配置,其可以从图2所示的磁存储介质的扇区中读取码字分段。

图5描绘根据一个或多个方面的用于将交织码字分段写入介质轨道的扇区的示例方法。

图6图示根据一个或多个方面的写入交织码字分段的扇区分区的示例介质轨道。

图7描绘用于交织码字并将交织码字的分段写入到磁存储介质的相应扇区分区的示例方法。

图8描绘用于从磁存储介质的相应扇区分区读取多个码字的交织码字分段的示例方法。

图9描绘利用缓冲的时序恢复从如图8所示的扇区分区读取码字的分段的示例方法。

图10图示用于实现磁存储介质的码字交织的一些方面的示例性片上系统(SoC,System-on-Chip)环境。

图11图示配置为实现磁存储介质的码字交织的一些方面的示例性存储介质控制器。

具体实施方式

用于将数据写入磁盘的磁介质的常规技术通常将数据块写入磁介质轨道的各个物理部分。一般,每个磁盘的数据都是沿着其中写入了数据块的磁介质的同心轨道组织的。通常,数据被分组并顺序写入,使得每个数据块被写入磁介质轨道的下一部分。换句话说,一个数据块被写入磁介质轨道的一个部分。然而,磁盘表面上的磁介质通常是不均匀的,从而磁介质的质量可能会在磁盘表面周围显著变化。由于这些变化,数据从磁介质的读回具有不均匀的信噪比(SNR)。因此,当将数据块写入质量较差的介质的部分或退化的部分(例如,由于写入磁头从邻近轨道漂移偏离轨道)时,介质驱动器的数据可能会丢失,这可能导致低SNR读取信号或读回失败。

本公开描述用于磁存储介质的码字交织的装置和技术。与传统的数据写入技术相比,所描述的装置和技术可以跨介质轨道的多个扇区(例如,物理位置)写入码字的分段(或部分)。通常,介质轨道或记录轨道的多个扇区被分组或指派为交织器组。交织器组的这些扇区可被划分为或包括用于存储码字的分段的分区,而非整个码字或用户数据的扇区。在一些方面,例如通过磁存储介质的读/写通道接收交织器组的一个或多个码字的数据。还可以接收码字的相应指示符或索引,其指示要将码字的分段写入多个扇区的哪些分区内。在一些情况下,数据被编码以提供一个或多个码字。然后基于对应于码字的相应指示符(例如,索引)将一个或多个码字的分段放置在交织器(例如,缓冲器)中。码字的分段从交织器写入到多个扇区的分区以在交织器组的多个扇区上交织码字的相应分段。因此,如果一个或两个码字分段被写入质量较差的扇区或退化的扇区(例如,由于写入磁头漂移),则来自介质轨道的其他扇区的其他码字分段可用于恢复和解码码字的原始数据,而不使用坏扇区或退化扇区中丢失的码字分段。

在各个方面,码字的分段跨磁存储介质的多个扇区散布或交织。一个或多个码字的数据可以由读/写通道接收,并且对于每个码字,选择或接收相应的指示符(例如,索引)。指示符或索引可以指示码字之一的分段将被写入多个扇区的哪个分区。然后对数据进行编码以提供码字,并且基于与码字对应的相应指示符将码字的分段放置在交织器中。码字分段从交织器写入磁存储介质的多个扇区的分区。通过这样做,交织的码字分段可以跨多个扇区散布,使得介质轨道的一些扇区的丢失不会阻止码字的读回和解码。

以下讨论描述了操作环境、可以在操作环境中采用的技术以及其中可以体现操作环境的组件的片上系统(SoC)。在本公开的上下文中,仅通过示例的方式提及操作环境。

操作环境

图1图示具有计算设备102(例如,主机设备)的示例操作环境100,该计算设备102能够将数据存储到诸如基于磁介质的驱动器之类的各种存储设备或从其访问数据。计算设备102的示例可以包括膝上型计算机104、台式计算机106和服务器108,其中任何一个都可以配置为存储网络或云存储的一部分。计算设备102(未示出)的进一步示例可以包括平板电脑、机顶盒、数据存储装置、可穿戴智能设备、电视、内容流设备、高清多媒体接口(HDMI)介质棒、智能电器、家庭自动化控制器、智能恒温器、物联网(IoT)设备、移动互联网设备(MID)、网络附加存储(NAS)驱动器、聚合存储系统、游戏控制台、汽车娱乐设备,汽车计算系统、汽车控制模块(如发动机或动力传动系统控制模块)等。

通常,计算设备102可以为任何合适的目的提供、传送或存储数据,例如启用特定类型设备的功能、提供用户界面、启用网络访问、实施游戏应用程序、回放介质、提供导航、编辑内容、提供数据存储等。替代地或附加地,计算设备102能够存储各种数据,例如数据库、用户数据、多媒体、应用程序、操作系统等。一个或多个计算设备102可以配置为提供远程数据存储或服务,例如云存储、归档、备份、客户端服务、记录保留等等。

在一个实施例中,计算设备102包括处理器110和计算机可读存储介质112。处理器110可以实现为任何合适类型或数目的处理器,无论是单核还是多核(例如,ARM或x86处理器核),用于执行操作系统的指令或命令或计算设备102的其他程序。计算机可读存储介质112(CRM 112)包括存储介质114和介质驱动器116。计算设备102的存储介质或系统存储器可以包括易失性存储器或非易失性存储器的任何合适类型或组合。例如,计算设备102的易失性存储器可以包括各种类型的随机存取存储器(RAM)、动态RAM(DRAM)、静态RAM(SRAM)等。非易失性存储器可以包括只读存储器(ROM)、电可擦除可编程ROM(EEPROM)或闪存(例如,NOR闪存或NAND闪存)。这些存储器可以单独地或组合地存储与计算设备102的应用程序和/或操作系统相关联的数据。

计算设备102的介质驱动器116可以包括一个或多个介质驱动器或者被实现为与计算设备102相关联的数据存储系统的一部分。在该示例中,介质驱动器116包括硬盘驱动器118(HDD 118),其能够存储数据并且参考码字交织的各个方面进行描述。替代地或附加地,介质驱动器116可以配置为任何合适类型的数据存储驱动器或系统,例如存储设备、存储驱动器、存储阵列、存储卷等。尽管参照计算设备102进行了描述,但介质驱动器116也可以单独实现为独立设备或更大存储集合体的一部分,例如数据中心、服务器群或虚拟化存储系统(例如,用于基于云的存储或服务),其中实现了码字交织的各个方面。

计算设备102还可包括I/O端口120、图形处理单元(GPU,未示出)和数据接口122。通常,I/O端口120允许计算设备102与其他设备、外围设备或用户交互。例如,I/O端口120可以包括或耦合到通用串行总线、人机接口设备、音频输入、音频输出等。GPU处理和呈现用于计算设备102的图形相关数据,例如操作系统、应用程序等的用户界面元素。在一些情况下,GPU访问本地存储器的一部分以呈现图形或包括用于呈现计算设备102的图形的专用存储器(例如,视频RAM)。

计算设备102的数据接口122提供到一个或多个网络和连接到这些网络的其他设备的连接。数据接口122可以包括有线接口,例如以太网或光纤接口,用于通过本地网络、内联网或因特网传送数据。替代地或附加地,数据接口122可以包括便于通过无线网络(例如无线UAN、广域无线网络(例如,蜂窝网络)和/或无线个域网(WPAN))进行通信的无线接口。根据磁存储介质的码字交织的一个或多个方面,通过I/O端口120或数据接口122传送的任何数据都可以写入计算设备102的存储系统或从其中读取。

回到介质驱动器116,计算设备102可以包括如所示的硬盘驱动器118和/或可以在其上实现码字交织的其他类型的存储介质。虽然未示出,但也考虑介质驱动器116的其他配置,例如固态驱动器(SSD)、磁带驱动器、光学介质驱动器、HDD/SSD混合驱动器以及将数据写入到存储介质(例如,磁或光存储介质)的其他存储系统。替代地或附加地,计算设备102可以包括介质驱动器阵列或者用作其中可以实现码字交织的方面的多个介质驱动器的介质驱动器聚合设备或主机。

在该示例中,磁盘驱动器118包括磁头-磁盘组件124(HDA 124)和驱动器控制模块126以实现或启用硬盘驱动器118的功能。在一些情况下,利用半导体器件、逻辑或其他电路将驱动控制模块126实施为印刷电路板组件(PCBA)。HDA 124包括安装在集成主轴和电机组件130上的一个或多个介质盘128。主轴和电机组件130可以在与HDA 124的磁头组件(未示出)耦合的读/写磁头132下方(或上方)旋转介质盘128。介质盘128可以涂覆有硬磁性材料(例如,颗粒表面或薄fdm表面)并且可以从单侧或双侧写入或读取。

读/写磁头132可以可操作地耦合到包括用于放大读/写磁头132的写入信号或读取信号的前置放大器电路的HDA 124的前置放大器/写入模块134(前置放大器/写入器134)。前置放大器/写入器134可以接收或存储磁头选择、放大或感测对向磁介质202写入数据或从磁介质202读取数据有用的电流值。读/写磁头132和/或前置放大器/写入器134可以配置为与硬盘驱动器118的其他组件一致或协调地起作用以实现码字交织的方面。

如图1所示,硬盘驱动器118的示例驱动器控制模块126包括存储介质控制器136、伺服控制单元138和读/写通道140(R/W通道140)。通常,存储介质控制器136使计算设备102能够访问介质驱动器116的磁存储介质的内容,例如操作系统、应用程序,或应用程序或其他服务的数据。存储介质控制器136还可以向介质驱动器116的磁存储介质写入计算设备102的数据和从中读取计算设备102的数据。在一些情况下,驱动控制模块126指导或使用伺服控制单元138来控制机械操作,例如通过HDA 124定位读/写磁头132和通过主轴和电机组件130的转速控制。

读/写通道140可以包括分别用于将写入数据转换为写入信号或将读取信号转换为读取数据的数模和模数路径。例如,当诸如用户数据的扇区之类的数据作为码字分段写入介质盘128时,读/写通道140可以处理和编码信号。替代地或附加地,当从介质盘128的多个扇区读取诸如码字分段的编码数据时,读/写通道140可以处理和解码信号。写入信号或读取信号的这种信号处理、编码和/或解码可以包括信号调节、采样、均衡、相位调节、检测、纠错等。读/写通道140如何实现和使用是变化的,并且贯穿本公开加以描述。驱动控制模块126或其组件可以被实现为一个或多个IC芯片、片上系统、系统级封装、或配备或实现硬盘驱动器控制器的微处理器。驱动控制模块126还可以包括驱动电子设备(未示出)和/或包括各种接口,例如主机总线接口、存储介质接口、主轴接口或前置放大器/写入器接口。

在一些方面,读/写通道140包括扇区交织器142(交织器142)、交织索引144和缓冲时序恢复电路146。交织器142能够对用户数据或码字进行分段或划分以提供码字分段,其可以跨磁存储介质的多个扇区进行交织或写入。在一些情况下,磁存储介质的扇区或介质轨道被分区为写入码字分段的扇区分区。替代地或附加地,交织器142还可以从多个扇区的相应分区中读取码字分段。交织器142可聚合码字的分段以供后续解码以提供用户数据。

交织索引144可以指示如何跨多个扇区(例如介质轨道或记录轨道扇区)交织码字的各个分段。在一些情况下,交织索引144用于将码字分段加载或放置到交织器142或交织缓冲器中。在其他情况下,交织索引144可用于屏蔽或阻挡读取门控(gate)以选择性地从对应扇区分区读取码字分段。缓冲时序恢复电路146可以通过时序内插来读取和解码码字分段,以调节从介质轨道的扇区读回的数据样本的相位。由于码字分段的尺寸减小,可以使用短同步标记来指示码字分段的开始或位置。在一些情况下,在确定同步序列或前同步码的相位时缓冲读回数据样本可允许在码字分段中使用短(例如,少于40到50比特时钟)同步标记。交织器142、交织索引144和缓冲时序恢复电路146如何实现和使用是变化的,并且贯穿本公开加以描述。

图2在200处图示图1中所示的硬盘驱动器118的示例配置。如图2所示,在一实施例中,硬盘驱动器118的HDA 124包括集成主轴和电机组件130,通过其支撑和/或操作磁介质202的介质盘128。臂204可以操纵,并且因此将读/写磁头132(或多个读/写磁头132)定位在介质盘128上的磁介质202的期望轨道206上。通常,读/写磁头132可以包括具有组合或分离功能(例如,专用R/W功能)的各种数目的磁头元件。例如,读/写磁头132可以包括一个或多个读取器(读取磁头/元件)和一个写入器(写入磁头/元件)。在其他情况下,读/写磁头132可以包括专用写入磁头(元件)和一个或多个单独的附加专用读取磁头(元件)。替代地或另外地,尽管图2中示出多个臂204,但HDA 124或主轴和电机组件可以用单个臂204或用于放置读/写磁头132的其他合适的结构来实现。HDA 124和驱动器控制模块126可以单独地、在单独的基板上、和/或作为介质驱动器的单独PCBA来实现。在HDA 124和驱动控制模块126之间传送的信号或数据可以通过柔性印刷电缆或其他合适的连接结构(例如迹线、连接器、接合线、焊球等)来承载。

图2还包括对被配置为存储被写入到介质盘128的磁介质202的码字分段的示例扇区208的图示。一个或多个读/写磁头132可以将用户数据或码字写入介质盘128的轨道206的相应扇区208(例如,轨道206的扇区)。出于说明的目的,顶部介质盘128被示为包括轨道206,例如,在通过读/写磁头132以码字的扇区208写入之后。通常,在写操作期间,读/写磁头132可由前置放大器/写入器134提供的写电流驱动,由此电信号用于产生和/或传输具有与介质盘128相关联的编码比特极性的磁场。响应于磁场或写入场的施加,读/写磁头132可以在介质盘128的扇区208的磁粒中形成多个磁体,其对应于数据(例如,用户数据)的编码码字。硬盘驱动器118的HDA 124可以被配置为根据任何合适的记录技术执行写操作,例如垂直磁记录(PMR)、叠瓦磁记录(SMR)、热辅助磁记录(HAMR)、微波辅助磁记录(MAMR)等。

如在210处所示,数据扇区212通常可以对应于磁介质202的扇区208。在码字交织的方面,数据扇区212被编码以提供编码数据的码字214。在一些情况下,数据由读/写通道140用纠错编码(ECC)进行编码以提供通过将数据冗余引入数据通道来减少数据存储和传输中的错误的码字,例如以用于验证原始数据有效性的附加比特的形式。读/写通道140或交织器142采用的纠错码的例子包括里德-所罗门(RS)、Bose、Ray-Chaudhuri、Hocquenghem(BCH)、低密度奇偶校验(LDPC)、Turbo码、极化码、线性块码或任何其他合适的纠错码。

在该示例中,码字214被分割或划分为码字的16个分段,其也可以被称为码字分段。此处,假设存储介质控制器136已将介质轨道206的16个扇区208指派给交织器组216或一个或多个码字的分段所散布到的多个扇区。替代地或附加地,每个扇区208可以被划分或分区为任何合适的数目的分区218-1到218-n,其中n是任何合适的整数。如图2所示,码字214被划分为跨交织器组216的16个扇区写入的分段220。尽管图示为被写入交织器组216的接连或连续扇区208,但也可将码字分段写入非接连或非连续扇区208,例如将码字散布到更大数目的扇区208。

在一些方面,码字分段220包括前同步码222、同步标记224(同步标记224)、分段数据226(例如,编码的用户数据)和后同步码228。为了节省或减少访问开销,码字分段220可以用被配置为与缓冲时序恢复电路146一起使用的前同步码222和同步标记224来实现。通常,这使得通过数据样本的缓冲而能够在前同步码222和同步标记224中使用较短的同步序列,同时对同步序列执行至少一部分相位计算。通过这样做,可以在确定相位之后(例如,并行地)调节缓冲数据样本的相位以用于同步标记标识,而不是延迟同步标记的读取直到在读取同步序列时确定了相位之后。在一些情况下,这使得码字分段220能够以比用于常规码字写入的那些(例如,长度大约为100比特时钟)更短的同步序列(例如,小于40到50比特时钟)来实现。

图3在300处概括图示读/写通道和交织器的示例配置,其可以根据磁存储介质的码字交织的一个或多个方面来写入码字分段。在该示例中,交织器142与读/写通道140可操作地耦合,其还包括交织索引144的实例。尽管在图3中被示为单独的组件或电路,交织器142和交织索引144可以集成为一个组件、在硬盘驱动器118的其他组件中分开、和/或与读/写通道140或存储介质控制器136的其他微电子电路或电子线路进行集成。例如,在一些方面,存储介质控制器136可以包括交织器142并且交织用于跨磁存储介质的扇区写入的码字分段。

如图3所示,主机接口302可以向存储介质控制器136提供数据212(例如,用户数据)或其他信息以用于写入磁介质202。在一些方面,存储介质控制器136或交织器142分配一组物理介质扇区208,在其上要写入一个或多个交织码字214。例如,16个连续扇区208可被分配用于写入16个交织码字214。存储介质控制器136可以将数据212提供给读/写通道140,用于写入介质轨道206的扇区208的一个或多个码字。如本文所述,码字214的数据212也可称为用户数据扇区。替代地或附加地,存储介质控制器136可以对数据212进行编码并且将码字214提供给读/写通道140。

在一些方面,存储介质控制器136还提供关于将使用哪些码字交织来交织码字分段220并将其写入介质轨道206的扇区208的信息。例如,当16个扇区被分配或配置为交织器组时,如果四个交织的码字214被发送到读/写通道140,则存储介质控制器136可以向交织器142提供该信息作为如何交织四个码字214的分段到或跨介质轨道206的16个扇区208。该信息可以包括交织索引144或指示符,其指定如何在交织器组的扇区208之间交织码字214。交织索引144可包括预定义的索引或指示符,其可对于存储介质控制器136或读/写通道140中的一者或两者是已知的,使得交织索引144可由唯一索引标识符(例如,0、1、......14、15)引用。在该示例中,存储介质控制器136包括交织索引选择器304(索引选择器304),其可以被配置用于为发送到读/写通道140的码字214选择相应的交织索引144。在本示例的上下文中,索引选择器304将为四个码字214中的每一个选择不同的交织索引以进行交织并写入交织器组的16个扇区208。

通常,读/写通道140可以接收数据扇区212,将数据212编码为码字214,并将码字214提供给交织器142。在该示例中,交织器142包括可配置的交织缓冲器306,交织器142基于对应于码字的相应交织索引144将码字214的分段放入可配置的交织缓冲器306。尽管这里被图示为缓冲器,但是交织器142可以包括任何合适的数据结构以接收由交织器142放置的交织码字分段220以用于写入交织器组的相应扇区。

交织缓冲器306可以被划分或包括任何合适数目的部分308-1到308-m,其中m是任何合适的整数。在该示例中,交织缓冲器306包括16个部分,其可对应于介质轨道的16个码字或16个扇区。换言之,交织器142或交织缓冲器306可以基于交织器组(例如,分配的扇区)的大小或要写入交织器组的码字的数目来配置。替代地或附加地,交织缓冲器306的每个部分308可以分成或包括分区310-1到310-i,其中i是任何合适的整数。在一些情况下,部分308的分区310的数目对应于交织器组的一个或多个扇区208包括的时隙或分区(例如,扇区分区)的数目。在该示例中,交织缓冲器306的部分308可以各自包括16个分区310以缓冲或存储16个码字分段220。

举例来说,假设存储介质控制器136提供了四个码字214的数据212和每个码字的四个相应交织索引144。在一些方面,读/写通道140获取数据212的第一扇区,对数据212进行编码以提供第一码字214,并且交织器142基于第一交织索引144将第一码字214的分段220放入交织缓冲器306中。读/写通道140然后可以获取数据212的第二扇区,对数据212进行编码以提供第二码字214,并且交织器142基于第二交织索引144将第二码字214的分段220放置到交织缓冲器306中。读/写通道140和交织器142也可以对第三和第四码字214重复这些操作,以在交织缓冲器306中对四个码字的分段进行交织。如图3所示,交织缓冲器306的第一部分308-1可以包括码字分段220-1到220-4,它们基于交织索引144被放置在部分308的分区或时隙中。因此,基于与码字214的数据212一起接收的交织索引144,四个码字214的相应分段可以被放入或跨交织缓冲器306的16个部分308而放置。

为了从交织器142写入码字分段220,存储介质控制器136可以向读/写通道140提供写入门控信号312(写入门控312或写入信号)。存储介质控制器136可以为介质轨道206的每个扇区208提供写入门控312,以向读/写通道140指示物理扇区的开始或位置。替代地或附加地,读/写通道140或交织器142可以确定用于将码字分段写入交织器组的扇区的相应分区的码字214的位置索引。在一些情况下,读/写通道140或交织器142基于位置索引确定将码字的分段之一写入扇区的分区之一,然后基于写入信号和位置索引写入分段。在其他情况下,读/写通道140或交织器142基于位置索引确定码字的分段之一将不被写入扇区的分区之一并阻止写入信号以防止扇区的分区的写入。

在一些方面,读/写通道140可以管理或阻挡由存储介质控制器136提供的写入门控312以产生用于介质驱动器的前置放大器134的交织写入门控信号314(交织写入门控314)。读/写通道140或交织器142还可以向前置放大器134提供来自交织缓冲器306的码字分段220作为前置放大器数据316,其可以包括对应于码字分段的数据图案的信号。基于交织写入门控314和前置放大器数据316,前置放大器134产生或提供写入电流318至介质驱动器的写入磁头132以将交织码字分段220写入磁介质202的扇区208。

由前置放大器134产生的写电流318然后可以被提供给磁介质202的对应写入磁头132。基于写入电流318,写入磁头132可以选择性地产生磁写入场320以在对应于交织码字分段220的介质轨道206的扇区208中形成磁。替代地或另外地,存储介质控制器136可以为被写入磁介质202的每个码字分段控制写入门控312或交织写入门控314。为此,读/写通道140可以提供关于要从交织器142写入的每个码字分段220的长度的信息。这样,允许读/写通道140控制交织码字分段220的写入可能是有利的,这是因为当将码字分段220写入介质轨道206的扇区208的连续分区时,写入过程不会暂停或延迟。

在一些方面,存储介质控制器136可以向读/写通道140提供属于相同交织器组的一个或多个码字。存储介质控制器136还可以例如连同码字一起提供每个码字的索引,每个码字的索引指示码字在交织器组中所属的位置和/或如何将码字的分段与交织器组中的其他码字的相应分段进行交织。例如,在大小为16(扇区或码字)的交织器组中,由存储介质控制器136提供给读/写通道140的每个码字可以由索引选择器304赋予唯一索引(例如,0、1、......14、15)向读/写通道140指示在哪里(例如,哪个交织模式)用码字填充交织器142。唯一索引还可用于读/写通道140生成位置索引,位置索引用于将码字的分段写入交织器组的一个或多个扇区内的何处。

基于索引选择器304为码字提供的交织索引144(或唯一索引),读/写通道140可以将码字放置或插入到交织器142中。存储介质控制器136可以为交织器组内的介质轨道206上的每个物理扇区206生成写入门控312。响应于写入门控312,读/写通道140可以基于位置索引确定是否将码字分段写入扇区的分区。当没有要写入的码字分段时,读/写通道140可以阻挡写入门控312直到下一个扇区分区以防止扇区中现有数据的重写。在下一个扇区分区,读/写通道140再次检查以查看是否有任何码字分段要写入。当存在要写入扇区的分区的码字时,读/写通道140可以解锁写入门控312以将码字分段与前同步码、同步标记和/或后同步码一起写入。读/写通道140或交织器142可以类似的方式继续处理码字分段,直到交织器组的写入完成。

图4在400处概括图示读/写通道和时序恢复电路的示例配置,其可以根据磁存储介质的码字交织的一个或多个方面来读取码字分段。在该示例中,缓冲时序恢复电路146的实例与介质存储驱动器的读/写通道140可操作地耦合。尽管在图4中示为单独的组件或电路,但读/写通道140和缓冲时序恢复电路146可以集成为一个组件、与硬盘驱动器118的其他组件分开,和/或与前置放大器134、存储介质控制器136和/或读/写通道140的其他微电子电路或电子线路集成在一起。

在该示例中,在从磁存储介质202(磁介质202)的扇区读取码字分段220的上下文中描述读/写通道140和其他组件。例如,主机系统或计算设备102可以针对作为跨介质盘128的多个扇区208散布的交织码字分段而存储的数据发出读取命令。通常,当介质盘128在读取磁头132下方旋转时,读取磁头132感测存储到磁介质202的码字分段220的磁场402,其在读取磁头132处感应模拟信号404。前置放大器134(前置放大器134)放大从读取磁头132接收的模拟信号404并将放大的信号406提供给读/写通道140。

在各个方面,读/写通道140调节和采样由前置放大器134提供的放大信号406(例如,读回连续时间信号)以读回码字分段220。为了便于独立于扇区的其他码字分段进行码字分段220的读取,每个码字分段220可以包括同步序列。通过这样做,读/写通道140的读回电路可以标识扇区或扇区的分区内的码字分段的正确开始。在一些方面,读/写通道140使用缓冲时序恢复电路146以在读回期间与每个码字分段适当地同步。

在该示例中,读/写通道140的缓冲时序恢复电路146包括先进先出(FIFO)缓冲器408、相位模块410和数字时序内插滤波器412。通常,通过缓冲时序恢复电路146和数字时序恢复(其也可以称为内插时序恢复),读/写通道140的放大信号406提供的数据样本可以至少部分与由相位模块410基于读取信号(例如,放大信号406)计算同步序列的相位并行地缓冲在FIFO缓冲器408中。在一些方面,介质盘上的数据被写入作为前导码,紧接着是地址标记,然后是编码的用户数据。前导码、地址标记和编码的用户数据可以作为放大信号406被读/写通道接收。相位模块410可以使用读取信号的前同步码部分来计算相位偏移以初始化数字时序内插滤波器中的正确相位。当相位模块计算相位时,剩余的读取信号可被缓冲到FIFO缓冲器408中。当计算相位时,FIFO缓冲器408中的数据然后通过数字内插滤波器412以进行相位调节或校正。数字时序内插滤波器412然后可以基于由相位模块410确定的相位来调节数据样本的相位以提供相位调节的数据样本414。通过这样做,可以避免使用长同步序列,这是因为在计算相位时不需要连续接收同步序列。

读/写通道140可以标识相位调节样本414中的码字分段的同步标记,以及获取时序锁定和/或锁定控制环以读回码字分段220。在一些情况下,读/写通道140聚合码字214的分段并将码字214提供给存储介质控制器136。在其他情况下,读/写通道140可以解码码字214并将数据212提供给存储介质控制器136。因此,读/写通道140可以将相位调节后的数据样本或其他采样信号转换为数字信号并恢复被提供给存储介质控制器136的解码数据212。尽管未示出,但读/写通道140可以包括均衡器模块、检测器模块、适配模块或增益模块的任何合适组合,用于从前置放大器134接收的信号中检测、均衡和/或解码数据212。

在一些方面,存储介质控制器136通过提供用于要读回的码字的交织索引144来实现一个或多个码字的分段220的读回。例如,对于给定的码字交织器组或该组的子集,存储介质控制器136的索引选择器304可以提供要读回的交织器组的码字的交织索引(例如,0、1、2、......14、15)。在一些情况下,读/写通道140可以基于交织索引为将被读回的码字的那些段220生成相应的位置索引(例如,扇区中的物理位置)。

为了便于码字分段的读回,存储介质控制器136还可生成指示介质上一个或多个物理扇区的开始或位置的读取门控信号(读取门控416或读取信号)。响应于读取门控416,读/写通道140可以基于位置索引确定是否要从扇区的分区中读取码字分段。当没有要读取的码字分段时,读/写通道140可以阻挡读取门控416直到下一个扇区分区以防止读取非预期的码字分段。在下一个扇区分区,读/写通道140可以再次检查以查看是否有任何码字分段要被读取。当存在要读取到扇区的分区的码字时,读/写通道140可以解锁读取门控416以读取码字分段,该码字分段还可以包括前同步码、同步标记和/或后同步码。读/写通道140或交织器142可以类似的方式继续处理码字分段,直到交织器组或交织器组的子集的读取完成。

用于磁存储介质的码字交织的技术

以下讨论描述了用于磁存储介质的码字交织的技术,该技术可以改善数据存储可靠性或使得能够进行跨退化的介质扇区的数据访问。这些技术可以使用这里描述的任何环境和实体来实现,例如读/写通道140、交织器142、交织索引144或缓冲时序恢复电路146。这些技术包括图5和7-9图示的方法,其中每一个都被示为由一个或多个实体执行的一组操作。

这些方法不一定限于相关图中所示的操作顺序。而是,任何操作都可以重复、跳过、替换或重新排序以实现这里描述的各个方面。此外,这些方法可以全部或部分地彼此结合使用,无论是由相同实体、单独实体还是它们的任何组合执行。例如,所描述的方法的方面可以被组合以实现磁介质的码字交织,用于跨磁存储介质的多个扇区写入和/或读取一个或多个交织码字。在以下讨论的部分中,将参考图1的操作环境100、图2、图3和/或图4的实体进行。此类参考不应被视为将所描述的方面限制于操作环境100、实体、配置或实现方案,而是作为各种示例之一的说明。替代地或附加地,这些方法的操作也可以由参照图10的片上系统和/或图11的存储介质控制器描述的实体或者利用其来实现。

图5描绘用于实现磁存储介质的码字交织的示例方法500,包括由读/写通道140、交织器142和/或交织索引144执行或者利用其执行的操作。

在502,接收一个或多个码字的数据。数据可以对应于要写入或跨介质轨道或磁存储介质的相应扇区写入的码字。在一些情况下,数据是从主机或存储介质控制器接收到的未编码数据或用户数据。码字的数据也可以指或对应于用户数据的扇区或要写入介质轨道的扇区的数据量。换言之,用户数据的“扇区”可以包括与介质轨道或记录介质的物理扇区的近似大小相对应的用户数据量。举例来说,假设存储介质控制器已将介质轨道的六个扇区分配给交织器组,并已从主机接收到相当于四个扇区的用户数据。读/写通道可以接收来自主机的四个扇区的用户数据或用于编码四个码字的数据以跨交织器组的六个扇区进行交织。或者,可以接收一个码字的数据,从而实现方法500以跨交织器组的扇区写入一个码字的分段。

在504,对于一个或多个码字中的每一个,选择相应的索引,该索引指示要写入码字的分段的哪些扇区分区。该索引可以包括交织索引,其可以由唯一索引(例如,0、1、......14、15)预先定义或引用。在一些情况下,接收相应索引的指示,从而能够为码字选择相应索引。在本示例的上下文中,读/写通道可以接收对用户数据的四个扇区(或码字)的四个交织索引(例如,0、1、3和4)的唯一引用。

在506,码字之一的数据被编码以提供用于写入磁存储介质的编码数据的码字。在一些情况下,可以使用纠错编码(ECC)对数据进行编码以提供码字。ECC可以包括以下的一种:Reed-Solomon(RS)、Bose、Ray-Chaudhuri、Hocquenghem(BCH)、低密度奇偶校验(LDPC)、Turbo码、polar码或另一纠错码。举例来说,考虑图6,其在600示出根据一个或多个方面的将交织的码字分段写入的扇区分区的码字和介质轨道的示例。继续进行中的示例,读/写通道对用户数据的第一扇区的数据进行编码以提供第一码字214-1。还可以重复编码以提供如图6所示的第二、第三和第四码字214-1、214-2和214-3。

在508,基于对应于码字的相应索引将码字的分段放入交织器中。码字可以被划分或拆分成大约相同大小的分段,或者对应于段将被写入到的扇区分区的大小的分段。在一些情况下,基于交织器组的大小(例如扇区的数目)和该交织器组的码字密度(例如要跨交织器组的扇区写入的码字的总数)来配置段的大小。

可选地,从操作508,方法500可以返回到操作506以对数据编码一个或多个码字中的另一个或下一个码字。通过这样做,可以重复操作506和/或508,直到一个或多个码字中的每一个被编码并且每个码字的相应分段被放置到交织器中。在图6所示的本示例的上下文中,交织器将码字214的分段220放置到交织缓冲器分区310的相应时隙中。如本文所述,交织器或读/写通道可基于与码字214中的每一个相关联或对应的交织索引将码字分段220-1至220-4放置到交织缓冲器分区310的对应时隙中。

在510,接收指示扇区或扇区分区的开始的写入信号。在一些情况下,可使用码字分段的写入信号和位置索引来确定哪些扇区分区写入码字分段。可选地,在512处,可以针对不将码字分段写入到的扇区或分区阻挡写入信号。

在514,将码字分段写入磁存储介质扇区的对应分区。基于码字的分段的位置索引,当写入磁头遇到交织器组的扇区时,可以从交织器或交织缓冲器写入这些分段。一个或多个码字的相应分段可以按顺序或不按顺序写入。例如,交织缓冲器或交织器块可以填充有多个码字(例如,码字214-1、214-2、......214-14和214-15)的相应交织分段。用户、存储介质控制器或读/写通道可以写入少于所有交织码字和/或以任何合适的顺序写入。在一些情况下,用户可以在首次写入操作或序列期间写入码字214-9和214-12。然后用户可以以任何合适的顺序和/或以任何数目的写操作或序列继续写入其他码字。换言之,首次接收或填充的码字(例如,214-1)可能不是写入磁存储介质中的相应扇区分区的分段的第一码字。在一些情况下,码字分段可以写入物理扇区的所有分区或时隙。在其他情况下,可以将码字分段写入物理扇区的分区或时隙的子集。

总结本示例,四个码字分段220-1至220-4从交织器写入交织器组的第二扇区208的分区或时隙。这里,注意读/写通道可以在602和604阻挡写入信号,其中在交织写操作期间不写入码字分段。在图6的606,假设存储介质控制器为两个附加码字214-5和214-6提供数据,读/写通道和交织器可以实施后续的交织写操作来写入码字分段220-5和220-6到交织器组扇区的其他时隙或分区。为了防止先前写入的码字分段220-1到220-4被覆写,当遇到交织器组的这些扇区分区或时隙时,读/写通道可以阻挡写入信号。

图7描绘用于将码字分段从交织器写入到磁存储介质的相应扇区分区的示例方法700。方法700的操作可以由或利用读/写通道140、交织器142和/或交织索引144加以执行。或者,可以接收一个码字,使得实现方法700以跨交织器组的扇区写入这一个码字的分段。

在702,接收一个或多个码字。一个或多个码字将被写入磁存储介质的一组扇区。在一些情况下,码字是对应于用户数据扇区的编码数据。可以从存储介质控制器接收码字。码字的大小可以对应于用户数据扇区中的数据量或写入介质轨道扇区的数据量。

在704,对于码字中的每一个,接收指示码字的分段将被写入哪些扇区分区的相应索引。索引可以包括交织索引,交织索引可以由唯一索引(例如,0、1、......14、15)预定义或引用。在一些情况下,接收相应索引的指示,从而能够为码字选择相应索引。

在706,基于对应于码字的相应索引将码字的分段放入交织器中。码字可以被划分或拆分成大约相同大小的分段或者对应于分段要被写入到的扇区分区(或扇区时隙)的大小的分段。在一些情况下,基于交织器组的大小(例如,扇区(16))和该交织器组的码字密度,例如要跨交织器组的扇区写入的码字总数(16),配置段的大小(例如,扇区的1/16)。

在708处,针对码字的分段将被写入磁存储介质的扇区分区的位置为码字生成位置索引(或指示符)。在一些情况下,基于对应于码字的交织索引为码字的分段生成位置索引。可替代地或另外地,可以基于码字在交织器或交织缓冲器内的位置来确定位置索引。

可选地,从操作708,方法700可以返回到操作706以将另一个码字的分段放入交织器和/或确定码字的分段的位置索引。通过这样做,可以重复操作706和/或708,直到一个或多个码字中的每一个被编码、经由物理位置进行索引,并且码字的相应分段被放置到交织器中。

在710,接收指示扇区的开始(或位置)的写入信号。可以从存储介质控制器接收写入信号以指示扇区的开始或介质轨道的每个物理扇区的开始。在712,关于是否将码字的分段写入扇区的分区进行确定。在一些情况下,基于码字的位置索引进行确定,该位置索引指示将码字的分段物理地写入介质轨道上的相应扇区分区或扇区时隙的位置。

可选地,在714,响应于确定不会将码字分段写入扇区分区,写入信号被阻挡。这可以防止覆写驻留在扇区分区上的码字分段。可选地,在716,基于写入信号和/或码字分段的位置索引,将码字分段从交织器写入扇区的分区。

图8描绘用于从磁存储介质的相应扇区分区读取交织码字分段的示例方法800。方法800的操作可以由或利用读/写通道140、交织器142、交织索引144和/或缓冲时序恢复电路146加以执行。

在802,接收要读取的多个交织码字分段的索引。多个交织码字分段将从磁存储介质的多个扇区的各自分区中读取。该索引可以包括交织索引,该索引可以由唯一索引(例如,0、1、......14、15)预先定义或引用。在一些情况下,接收相应索引的指示,从而能够选择用于要读取的码字的分段的索引。例如,对于码字的给定的交织器组或对于该组的码字子集,存储介质控制器的索引选择器可以为要读回的交织器组的码字提供交织索引。或者,可以接收一个码字的索引,从而实现方法800以从交织器组的扇区读取这一个码字的分段。

在804,确定具有交织码字分段的相应分区在多个扇区内的位置。可以基于接收到的索引为码字的多个扇区确定位置。在一些情况下,基于从存储介质控制器接收的交织索引来确定码字的分段的位置索引。

在806,接收指示从中读取交织码字分段之一的多个扇区之一的开始的读取信号。读取信号可以从存储介质控制器接收以指示扇区的开始或介质轨道的每个物理扇区的开始。响应于读取信号,读/写通道可以基于位置索引确定是否要从扇区的分区中读取码字分段。

可选地,在808,对于不从中读取交织码字分段的扇区的其他扇区分区,阻挡读取信号。当没有要读取的码字分段时,读/写通道可以阻挡读取信号(例如,读取门控)直到下一个扇区分区,以防止非预期码字分段的读取。在下一个扇区分区,读/写通道可以再次检查以查看是否有任何码字分段要读取。

可选地,在810,基于读取信号和为码字分段确定的位置,从扇区分区读取交织码字分段。当有码字要读取到扇区的分区时,读/写通道可以解除阻挡读取信号以读取码字分段,该码字分段可以包括前同步码、同步标记和/或后同步码。可选地,从操作810,方法800可以返回到操作806以从交织器组的扇区读取附加码字分段。通过这样做,读/写通道140或交织器142可以以类似的方式继续处理码字分段,直到交织器组或交织器组的子集的读取完成。

图9描绘用于利用缓冲时序恢复从扇区分区读取码字的分段的示例方法900。方法900的操作可以由或利用读/写通道140、交织器142、交织索引144和/或缓冲时序恢复电路146加以执行。

在902,基于读取信号和交织索引从磁存储介质的扇区分区读取数据样本。扇区分区可以存储或包括编码数据的码字的分段。在一些情况下,基于交织索引将码字的分段写入扇区分区,这可以通过使用相同的交织索引使得能够进行分段的读取。

在904,以先进先出(FIFO)的方式缓冲数据样本。在码字或扇区分区的分段的同步序列的相位确定或相位计算期间,可以并行地或至少部分地缓冲数据样本。在906,确定码字分段的同步序列的相位。同步序列的相位可以并行地或至少部分地在缓冲数据样本的同时确定或计算。

在908,调节数据样本的相位以提供码字分段的相位调节或相位校正的数据样本。这可以使得能够在不使用传统的长同步序列的情况下找到该分段的同步标记(例如,使得必须在遇到同步标记之前计算相位)。在910,标识相位调节的数据样本中的同步标记,其指示码字的分段的开始(或数据样本中的位置)。例如,读/写通道的读回电路可以标识扇区或扇区的分区内的码字分段的正确开始。

在912,基于(或使用)同步标记从扇区分区读取码字的分段。例如,可以使用同步标记来标识码字并从介质轨道的扇区读取的数据样本中提取码字。可以从交织器组的扇区的连续扇区的相应分区中读取一个或多个码字的分段。或者,可以从交织器组的扇区的非连续扇区的相应分区中读取一个或多个码字的分段。在914,至少对从扇区分区读取的码字的分段进行解码以提供未编码数据(例如,用户数据)。在一些情况下,该分段与码字的其他分段组合用于解码以提供码字的数据。

片上系统

图10图示可以实现用于磁存储介质的码字交织的各个方面的示例片上系统(SoC)1000。SoC 1000可以在任何合适的设备中实现,例如智能手机、上网本、平板电脑、接入点、网络附加存储、相机、智能设备、打印机、机顶盒、服务器、固态驱动器(SSD)、磁带驱动器、硬盘驱动器(HDD)、存储驱动器阵列、存储模块、存储介质控制器、存储介质接口、磁头磁盘组件、磁介质前置放大器、自动计算系统,或任何其他合适类型的设备(例如,这里描述的其他设备)。尽管参照SoC进行了描述,但图10的实体也可以实现为其他类型的集成电路或嵌入式系统,例如专用集成电路(ASIC)、存储器控制器、存储控制器、通信控制器、专用标准产品(ASSP)、数字信号处理器(DSP)、可编程SoC(PSoC)、系统级封装(SiP)或现场可编程门阵列(FPGA)。

SoC 1000可以与电子电路、微处理器、存储器、输入-输出(I/O)控制逻辑、通信接口、固件和/或用于提供计算设备或磁存储系统的功能的软件集成,例如此处描述的任何设备或组件(例如,硬盘驱动器)。SoC 1000还可包括集成数据总线或互连结构(未示出),其耦合SoC的各种组件以用于组件之间的数据通信或路由。SoC 1000的集成数据总线、互连结构或其他组件可以通过外部端口、并行数据接口、串行数据接口、外围组件接口或任何其他合适的数据接口而暴露或访问。例如,SoC 1000的组件可以通过外部接口或片外数据接口访问或控制外部存储介质或磁写入电路。

在该示例中,SoC 1000被示为具有各种组件,这些组件包括输入-输出(I/O)控制逻辑1002和基于硬件的处理器1004(处理器1004),例如微处理器、处理器核、应用处理器、DSP、等。SoC 1000还包括存储器1006,其可以包括RAM、SRAM、DRAM、非易失性存储器、ROM、一次性可编程(OTP)存储器、多次可编程(MTP)存储器、闪存和/或其他合适的电子数据存储的任何类型和/或组合。在一些方面,处理器1004和存储在存储器1006上的代码(例如,固件)被实现为存储介质控制器或存储介质接口的一部分,以提供与用于磁存储介质的码字交织相关联的各种功能(例如,读/写通道功能)。在本公开的上下文中,存储器1006经由非瞬态信号存储数据、代码、指令或其他信息,并且不包括载波或瞬态信号。替代地或附加地,SoC1000可以包括用于访问附加的或可扩展的片外存储介质,例如磁存储器或固态存储器(例如,闪存或NAND存储器)的数据接口(未示出)。

SoC 1000还可以包括固件1008、应用程序、程序、软件和/或操作系统,其可以体现为保持在存储器1006上的处理器可执行指令以供处理器1004执行以实现SoC 1000的功能。SoC 1000还可以包括其他通信接口,例如用于控制本地片上(未示出)或片外通信收发器的组件或与它们通信的收发器接口。替代地或附加地,收发器接口还可以包括或实现信号接口以在片外通信射频(RF)、中频(IF)或基带频率信号以便于通过收发器、物理层收发器(PHY)或耦合到SoC 1000的介质访问控制器(MAC)的有线或无线通信。例如,SoC 1000可以包括收发器接口,该收发器接口被配置为通过有线或无线网络实现存储,以便提供具有码字交织特征的网络附加存储(NAS)设备。

在该示例中,SoC 1000还包括读/写通道140、交织器142、交织索引144和缓冲时序恢复电路146,其可以如所示单独实现或与存储组件或数据接口组合。替代地或附加地,SoC1000可以包括到前置放大器、存储介质控制器和/或磁介质盘驱动器的主轴/电机组件的接口。如本文所述,交织器142可划分扇区、分段码字、选择交织索引(用于写入或读取操作)、交织用于写入存储介质的码字分段、聚合从存储介质读取的码字分段、或类似物的任何组合以实现磁存储介质的码字交织方面。这些实体中的任何一个都可以体现为不同的或组合的组件,如参考本文呈现的各个方面所描述的。参考图1的环境100的相应组件或实体或图2、图3和/或图4中所示的相应配置来描述这些组件和/或实体或相应功能的示例。交织器142可以全部或部分地实现为由存储器1006保留并由处理器1004执行的数字逻辑、电路和/或处理器可执行指令,以实现用于磁存储介质的码字交织的各个方面或特征。

交织器142可以独立地或与任何合适的组件或电路组合来实施以实施这里描述的方面。例如,交织器可以被实现为DSP、处理器/存储桥、I/O桥、图形处理单元、存储器控制器、存储控制器、算术逻辑单元(ALU)等的一部分。交织器142也可以与SoC 1000的其他实体集成提供,例如与SoC 1000的处理器1004、存储器1006、存储介质接口或固件1008集成。替代地或附加地,交织器142和/或SoC 1000的其他组件可以被实现为硬件、固件、固定逻辑电路或其任何组合。

作为另一示例,考虑图11,其示出根据磁存储介质的码字交织的一个或多个方面的示例存储介质控制器1100。通常,存储介质控制器1100使计算设备102能够访问磁存储介质的内容,例如操作系统、应用程序,或应用程序或其他服务的数据。存储介质控制器还可以将计算设备102的数据写入到与控制器相关联的磁存储介质并从中读取数据。

在各个方面,存储介质控制器1100或其组件的任何组合可以实现为存储驱动控制器(例如,HDD控制器或HDD芯片组)、存储介质控制器、NAS控制器、存储介质接口、存储介质端点、存储介质目标,或用于磁存储介质、固态存储介质等的存储聚合控制器(例如,混合SSD/HDD存储系统)。在一些情况下,存储介质控制器1100与参考图10所描述的SoC 1000的组件类似或与SoC 1000的组件一起实现。换言之,SoC 1000的实例可被配置为存储介质控制器,例如存储介质控制器1100以管理磁存储介质。在该示例中,存储介质控制器1100包括输入-输出(I/O)控制逻辑1102和处理器1104,例如微处理器、微控制器、处理器核、应用处理器、DSP等。存储介质控制器还包括主机接口1106(例如SATA、PCIe、NVMe或Fabric接口)和存储介质接口1108(例如磁介质接口或磁头磁盘组件(HDA)接口),它们能够分别访问主机系统(或结构)和存储介质。在该示例中,存储介质接口包括主轴接口1110和前置放大器接口1112的单独实例,以便能够与介质驱动器的磁头-磁盘组件进行通信。

在一些方面,当管理或启用对耦合到存储介质接口1108的存储介质的访问时,存储介质控制器1100实现用于磁存储介质的码字交织的方面。存储介质控制器1100可以通过主机接口1106为主机系统提供存储接口,通过该接口从主机系统接收存储访问命令,例如写入磁存储介质的数据。如图11所示,存储介质控制器1100还可以包括伺服控制单元138、读/写通道140和交织器142,用于码字交织的实现方面。在该示例中,存储介质控制器还包括交织索引144和索引选择器304,其可以如本文所述由交织器142实现或访问。尽管未示出,读/写通道140或交织器142还可包括用于从扇区分区读回码字分段的缓冲时序恢复电路146。伺服控制单元138可操作地耦合到主轴接口1110并且可以为磁介质驱动器提供主轴或音圈控制。在一些方面,处理器1104和存储介质控制器1100的固件或逻辑被实现为提供交织器142和/或与磁存储介质的码字交织相关联的各种数据写入或处理功能。

存储介质控制器1100的交织器142可以如图所示单独实现或与处理器1104、读/写通道140或存储介质接口1108组合实现。根据各个方面,交织器142可以划分扇区、分段码字、交织用于写入存储介质的码字分段、聚合从存储介质读取的码字分段、或类似的任何组合。参考图1的环境100的相应组件或实体或图2、图3和/或图4所示的相应配置来描述这些组件和/或实体或相应的功能的示例。交织器142可以全部或部分地实现为由控制器的存储器保留并由处理器1104执行的处理器可执行指令,以实现磁存储介质的码字交织的各个方面和/或特征。

尽管已经以特定于结构特征和/或方法操作的语言描述了主题,但是应当理解,在所附权利要求中限定的主题不一定限于这里描述的具体示例、特征或操作,包括它们的执行顺序。

在下文中,描述了各种示例:

示例1:一种用于改善被写入磁存储介质的数据的可靠性的方法,包括:

接收要写入所述磁存储介质的一组多个扇区的一个或多个码字的数据;

为所述一个或多个码字中的每一个选择相应的指示符,该指示符指示将在所述多个扇区的哪些分区内写入所述码字的分段;

对所述数据进行编码以提供编码的数据的一个或多个码字;

基于与所述码字中的每一个对应的相应指示符,将所述一个或多个码字的分段放入交织器中;以及

从所述交织器将所述一个或多个码字中的每一个的分段写入所述多个扇区中的至少一些扇区的分区,以跨所述磁存储介质的该组多个扇区交织所述码字的相应分段。

示例2:根据示例1或任何以下示例所述的方法,其中,对应于每个码字的相应指示符包括预定义索引,并且所述方法进一步包括:从存储介质控制器接收关于哪个预定义索引对应于所述码字中的至少一个的指示。

示例3:根据任何以上或以下示例所述的方法,还包括:针对所述码字中的至少一个,确定将所述码字的分段写入所述多个扇区中的所述至少一些扇区的相应分区的位置索引。

示例4:根据任何以上或以下示例所述的方法,还包括:

从存储介质控制器接收指示所述多个扇区之一的开始的写入信号;

基于所述至少一个码字的位置索引,确定所述码字的分段之一将被写入所述扇区的分区之一;以及

基于所述写入信号和所述位置索引,将所述码字的分段之一写入接收到写入信号的扇区的分区。

示例5:根据任何以上或以下示例所述的方法,还包括:

从存储介质控制器接收指示所述多个扇区之一的开始的写入信号;

基于所述至少一个码字的所述位置索引,确定所述码字的分段之一不被写入所述扇区的分区之一;以及

基于所述码字的所述位置索引,阻挡所述写入信号以防止对所述码字的分段之一不被写入的扇区的分区的写入。

示例6:根据任何以上或以下示例所述的方法,其中:

所述磁存储介质的该组多个扇区包括所述磁存储介质的连续扇区;以及

将所述一个或多个码字的分段写入分区包括:将所述码字中的至少一个的分段写入所述磁存储介质的所述多个扇区的非连续扇区。

示例7:根据任何以上或以下示例所述的方法,其中:

所述磁存储介质的该组多个扇区包括所述磁存储介质的连续扇区;以及

将所述一个或多个码字的分段写入分区包括:将所述码字中的至少一个的分段写入所述磁存储介质的所述多个扇区的连续扇区。

示例8:根据任何以上示例所述的方法,其中,将所述一个或多个码字的相应分段写入所述多个扇区的分区包括:将所述码字中的至少一个的分段写入到所述磁存储介质的该组多个扇区中的每个扇区。

示例9:一种用于改善的数据存储可靠性的装置,包括:

接口,用以从主机接收数据;

磁存储介质的盘,其以扇区形式布置,用以存储所述数据;

交织缓冲器,其配置为缓冲用于写入所述磁存储介质的扇区的码字的分段;以及

交织器,其配置为:

从主机设备接收与要由所述磁存储介质的一组多个扇区存储的一个或多个码字对应的数据;

为所述一个或多个码字中的每一个选择相应的指示符,该指示符指示将在所述多个扇区的哪些分区内写入所述码字的分段;

对所述一个或多个码字的数据进行编码,以提供编码的数据的一个或多个码字;

基于与所述码字中的每一个对应的相应指示符,将所述一个或多个码字的分段放入所述交织缓冲器中;以及

从所述交织缓冲器将所述一个或多个码字的分段写入所述多个扇区中的至少一些扇区的分区,以跨所述磁存储介质的该组多个扇区交织所述码字的相应分段。

示例10:根据示例9或任何以下示例所述的装置,其中,所述交织器还配置为:针对所述码字中的至少一个,确定将所述码字的分段写入所述多个扇区的分区的相应分区的位置索引。

示例11:根据示例10所述的装置,还包括:

存储介质控制器,其配置为生成指示所述多个扇区之一的开始的写入信号,并且其中:

所述交织器进一步配置为:

基于所述至少一个码字的位置索引,确定所述码字的分段之一要被写入所述扇区的分区之一;以及

基于所述写入信号和所述位置索引,将所述至少一个码字的分段之一写入接收到所述写入信号的扇区的分区。

示例12:根据任何以上或以下示例所述的装置,还包括:

存储介质控制器,其配置为生成指示所述多个扇区之一的开始的写入信号,并且其中:

所述交织器还配置为:

基于所述至少一个码字的位置索引,确定所述码字的分段之一不写入所述扇区的分区之一;以及

基于所述位置索引,阻挡所述写入信号以防止对所述至少一个码字的分段之一不被写入的扇区的分区的写入。

示例13:根据示例11所述的装置,还包括存储介质控制器,其配置为:

将所述磁存储介质的所述多个扇区分组为交织扇区组;

向所述交织器提供对应于所述交织扇区组的一组码字的数据,该组码字的数据包括所述一个或多个码字的数据;以及

向所述交织器和对于该组码字的每个码字提供对应于所述码字的相应指示符的指示,以使所述交织器能够选择相应指示符来交织所述码字的分段。

示例14:根据任何以上或以下示例所述的装置,其中,所述交织扇区组包括在数目上等于或大于所述交织扇区组对应的一个或多个码字的数目的数个扇区。

示例15:根据任何以上示例所述的装置,其中:

将所述一个或多个码字的分段写入所述多个扇区中连续扇区的相应分区;或者

将所述一个或多个码字的分段写入所述多个扇区中非连续扇区的相应分区。

示例16:一种片上系统(SoC),包括:

用于存储介质控制器的接口,从所述存储介质控制器接收用于写入磁存储介质的数据;

用于所述磁存储介质的介质写入器的接口;

交织缓冲器,其配置为缓冲用于写入所述磁存储介质的扇区的码字的分段;以及

交织器,其配置为:

从所述存储介质控制器接收与要写入所述磁存储介质的一组多个扇区的一个或多个码字对应的数据;

从所述存储介质控制器接收指示所述码字中的每一个的分段将被写入所述多个扇区的哪些分区的相应指示符;

对所述一个或多个码字的数据进行编码,以提供编码的数据的一个或多个码字;

基于与所述码字中的每一个对应的相应指示符,将所述一个或多个码字的分段放入所述交织缓冲器中;以及

从所述交织缓冲器并且利用所述介质写入器,将所述一个或多个码字的分段写入所述多个扇区中的至少一些扇区的分区,以跨所述磁存储介质的该组多个扇区交织所述码字的相应分段。

示例17:根据示例16或任何以下示例所述的SoC,其中,所述交织器还配置为:对于所述码字中的至少一个,确定用于将所述码字的分段写入到所述多个扇区的分区的相应分区的位置索引。

示例18:根据任何以上或以下示例所述的SoC,其中,所述交织器还配置为:

从所述存储介质控制器接收指示所述多个扇区之一的开始的写入信号;

基于所述至少一个码字的位置索引,确定所述码字的分段之一将被写入所述扇区的分区之一;以及

基于所述写入信号和所述位置索引,将所述至少一个码字的分段之一写入接收到所述写入信号的扇区的分区。

示例19:根据任何以上或以下示例所述的SoC,其中,所述交织器还配置为:

从所述存储介质控制器接收指示所述多个扇区之一的开始的写入信号;

基于所述至少一个码字的位置索引,确定所述码字的分段之一不被写入所述扇区的分区之一;以及

基于所述位置索引,阻挡所述写入信号以防止对所述至少一个码字的分段之一不被写入的扇区的分区的写入。

示例20:根据任何以上示例所述的SoC,其中:

将所述一个或多个码字的分段写入所述多个扇区中连续扇区的相应分区;或

将所述一个或多个码字的分段写入所述多个扇区中非连续扇区的相应分区。

34页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:使用磁约瑟夫森结器件作为π反相器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!