用于重映射待决位阵列读取请求的技术的制作方法

文档序号:15736748发布日期:2018-10-23 21:36阅读:110来源:国知局
非易失性存储器重映射(NVM-r)通常支持高达三个外围组件互连快速(peripheralcomponentinterconnectexpress,PCIe)数据存储设备(诸如,固态设备(solidstatedevice))的重映射。如果诸如以MSI-X方式之类的消息信号中断由数据存储设备支持,则连接到数据存储设备的高级主机控制器接口(AHCI)控制器(例如,串行高级技术附件(serialadvancedtechnologyattachment,SATA)控制器)的MSI-X表和待决位阵列(PBA)结构以及数据存储设备本身的MSI-X表和待决位阵列结构作为单个“主”MSI-X表和单个“主”PBA被呈递给由计算设备执行的软件。MSI-X表通常体现为条目集,每个条目称为矢量,指示可以被发送到设备的消息的结构,引起中断。PBA中的每个位通常指示MSI-X表中的对应位置处的消息是否是待决的(例如,将被发送到对应设备以引起中断)。附图说明通过示例的方式而不是通过限制的方式在附图中图示本文描述的概念。为了图示的简化和清楚,图中图示的元件不一定按比例绘制。在认为适当的地方,在图之间已经重复参考标签以指示对应或类似的元件。图1是提供对待决位阵列的访问的重映射的计算设备的至少一个实施例的简化框图;图2是图1的计算设备中包括的数据存储设备的至少一个实施例的简化框图;图3是图1的计算设备的输入/输出系统的至少一个实施例的简化框图;图4是可以由图1的计算设备建立的环境的至少一个实施例的简化框图;图5-8是可以由图1的计算设备执行的用于重映射对待决位阵列数据的访问的方法的至少一个实施例的简化流程图;图9图示用于从读取请求中包括的属性数据确定起始位地址和结束位地址的伪代码;图10是主待决位阵列地址空间内的子待决位阵列的布置和指示可以与读取请求关联的子待决位阵列的各种集的对应条件的简化框图;图11是可用于确定用于待决位阵列数据的读取的经翻译的起始和结束地址的伪代码的集的列表;图12是主待决位阵列和多个子待决位阵列之间的关系的简化框图;图13是超过子待决位阵列数据的最后字节迫使数据为零的简化框图;图14是合并针对子待决位阵列数据的多个集中的每一个的分裂数据(splitdata)的简化框图;图15是使子待决位阵列数据移位与子待决位阵列数据在主待决位阵列的地址空间中的起始位置对应的多个字节的简化框图;图16是使子待决位阵列数据按多个位移位的简化框图;图17是选择双字或四字(quadword)用于根据读取请求长度读取子待决位阵列数据的简化框图;图18是使子待决位阵列数据移位以匹配主待决位阵列中的对应起始位的简化框图;以及图19是超过最后位掩蔽子待决位阵列数据的简化框图。具体实施方式虽然本公开的概念易受各种修改和替换形式影响,但已经通过示例的方式在附图中示出并且将在本文详细描述其具体实施例。然而,应理解的是,并不意图将本公开的概念限制于所公开的特定形式,而是相反,意图是涵盖与本公开和随附权利要求一致的所有修改、等效方案和替代方案。本说明书中对于“一个实施例”、“实施例”、“说明性实施例”等的引用表明所描述的实施例可以包括特定特征、结构或特性,但是每一个实施例可以或可以不一定包括该特定特征、结构或特性。此外,这样的短语不一定是指相同实施例。另外,当结合实施例描述特定特征、结构或特性时,认为无论是否明确描述,结合其他实施例实现这样的特征、结构或特性处于本领域技术人员的知识范围内。附加地,应领会的是,以“至少一个A、B和C”的形式在列表中包括的项可以意味着(A);(B);(C);(A和B);(A和C);(B和C)或(A、B和C)。类似地,以“A、B或C中的至少一个”的形式列出的项可以意味着(A);(B);(C);(A和B);(A和C);(B和C)或(A、B和C)。在一些情况下,公开的实施例可以以硬件、固件、软件或其任意组合来实现。公开的实施例还可以被实现为由临时性或非临时性机器可读(例如,计算机可读)存储介质承载的或者存储于其上的指令,所述指令可以被一个或多个处理器读取和执行。机器可读存储介质可以体现为用于以由机器(例如,易失性或非易失性存储器,媒体光盘或其他媒体设备)可读的形式存储或传输信息的任何存储设备、机制(mechanism)或其他物理结构。在附图中,以具体布置和/或排序示出一些结构或方法特征。然而,应领会的是,这样的具体布置和/或排序可以不是必需的。而是,在一些实施例中,可以以与说明性图中示出的不同的方式和/或次序布置这样的特征。附加地,在特定图中包括结构或方法特征不意味着暗示这样的特征在所有实施例中是必需的,并且在一些实施例中可以不被包括,或者可以与其他特征组合。现在参考图1,用于重映射对待决位阵列(PBA)的访问的说明性计算设备100可以体现为能够执行本文所述的功能的任何类型的计算设备。例如,在一些实施例中,计算设备100可以体现为,但不限于,计算机、服务器计算机、膝上型计算机、笔记本计算机、平板计算机、智能手机、消费者电子设备、智能器具和/或能够执行功能以提供将对主PBA的读取请求重映射到与(一个或多个)对应数据存储设备关联的一个或多个子PBA的任何其他计算设备。如图1中所示,说明性计算设备100包括处理器102、主存储器104、输入/输出子系统106和包括一组数据存储设备110的数据存储子系统108,所述一组数据存储设备110包括数据存储设备112、114、116。当然,在其他实施例中,计算设备100可以包括其他或附加组件,诸如通常在计算机中发现的那些组件(例如,通信子系统、显示器、外围设备等)。附加地,在一些实施例中,说明性组件中的一个或多个可以并入另一组件中,或者以其他方式来自另一组件的一部分。例如,在一些实施例中,存储器104或其部分可以并入处理器102中。在典型系统中,针对数据存储设备中的每一个的PBA的大小是固定的(例如,不可编程的),因为提供这样的特征可能引起主PBA结构中的子PBA(例如,与每一个数据存储设备关联的PBA)的未对准(misalignment),潜在地导致数据访问错误。然而,在说明性实施例中,计算设备100使得能够对呈递给由处理器102执行的软件的主PBA中的子PBA的大小进行编程。这样,所得到的子PBA可以不与任何字节、双字、或四字边界对准。在说明性实施例中,计算设备100映射读取请求,所述读取请求包括指示主PBA的分段(section)(例如,地址和长度)的属性数据用以读取,将属性数据转换成一个或多个位地址(例如,起始位地址和结束位地址),从位地址确定要读取子PBA中的哪一个,以及向数据存储设备110(例如,从与SATA控制器关联的I/O子系统106的一个循环路由器(cyclerouter)向与数据存储设备110关联的I/O子系统106的另一循环路由器)发布对应请求以从对应PBA读取。附加地,在操作中,计算设备100可以从子PBA(例如,与原始读取请求关联的数据存储设备110的PBA)接收PBA数据以及将接收到的PBA数据合并回到主PBA。处理器102可以体现为能够执行本文所述的功能的任何类型的处理设备。例如,处理器102可以体现为具有一个或多个处理器核的(一个或多个)单或多核处理器、微控制器或其他处理器或处理/控制电路。类似地,主存储器104可以体现为能够执行本文所述的功能的任何类型的易失性或非易失性存储器或数据储存器。在操作中,主存储器104可以存储在计算设备100操作期间使用的各种数据和软件,诸如主PBA数据、子PBA数据、重映射数据、MSI-X表数据、操作系统、应用、程序、库和驱动程序。主存储器104经由I/O子系统106通信地耦合到处理器102。当然,在其他实施例(例如,其中处理器102包括存储器控制器的那些实施例)中,主存储器104可以直接通信地耦合到处理器102。在说明性实施例中,主存储器104通过直接存储器访问(DMA)可访问以使得设备(诸如,数据存储设备110)能够从主存储器104中读取和向主存储器104写入而不依赖于处理器102来充当中介。I/O子系统106可以体现为促进与处理器102、主存储器104、数据存储子系统108和计算设备100的其他组件的输入/输出操作的电路和/或组件。例如,I/O子系统106可以体现为或以其他方式包括存储器控制器中心(memorycontrollerhub)、输入/输出控制中心、固件设备、通信链路(即,点对点链路、总线链路、导线、线缆、光导、印刷电路板迹线等)和/或其他组件和子系统以促进输入/输出操作。在一些实施例中,I/O子系统106可以形成片上系统(SoC)的一部分,并且可以连同处理器102、存储器104和计算设备100的其他组件并入在单个集成电路芯片上。数据存储子系统108可以体现为被配置用于短期或长期存储数据的任何类型的设备,诸如例如存储器设备和电路、固态驱动器、存储器卡、硬盘驱动器或其他数据存储设备。在说明性实施例中,数据存储子系统108包括该组数据存储设备110,该组数据存储设备110包括数据存储设备112、114和116,其在说明性实施例中被体现为固态驱动器,所述固态驱动器能够对根据MSI-X或类似的带内中断生成方案而由向主存储器104的存储器写入引起的中断进行响应。然而,在其他实施例中,数据存储设备114可以体现为或包括能够执行本文所述的功能的任何其他存储器设备。另外,虽然在图1中示出数据存储设备110,但应理解的是,在其他实施例中,数据存储子系统108可以包括不同数目的数据存储设备110。参考图2更详细地描述数据存储设备110。计算设备100可以附加地包括重映射逻辑单元124,其可以体现为能够高效地将数据访问从主PBA重映射到数据存储设备110的各种子PBA以及将从子PBA接收到的数据合并回到主PBA的任何专用设备或电路。重映射逻辑单元124可以包括在I/O子系统106和/或处理器102中。计算设备100还可以包括通信子系统118,其可以体现为能够实现与一个或多个其他计算设备通信的一个或多个设备和/或电路。通信子系统118可以被配置成使用任何合适的通信协议来与其他计算设备通信,所述通信协议包括例如无线数据通信协议、蜂窝通信协议和/或有线通信协议。附加地或替代地,计算设备100可以包括显示器120。显示器120可以体现为或以其他方式使用任何合适的显示技术,所述显示技术包括例如液晶显示器(LCD)、发光二极管(LED)显示器、阴极射线管(CRT)显示器、等离子体显示器和/或在计算设备中可使用的其他显示器。显示器可以包括触摸屏传感器,其使用任何合适的触摸屏输入技术来检测用户对在显示器上显示的信息的触觉选择,其包括但不限于,电阻式触摸屏传感器、电容式触摸屏传感器、表面声波(SAW)触摸屏传感器、红外触摸屏传感器、光学成像触摸屏传感器、声学触摸屏传感器和/或其他类型的触摸屏传感器。附加地或替代地,计算设备100可以包括一个或多个外围设备122。这样的外围设备122可以包括通常在计算设备中发现的任何类型的外围设备,诸如扬声器、鼠标、键盘、和/或其他输入/输出设备、接口设备和/或其他外围设备。现在参考图2,在说明性实施例中,每一个数据存储设备110包括数据存储控制器202和存储器214,所述存储器说明性地包括非易失性存储器216和易失性存储器218。本地存储器206和/或存储器214可以存储MSI-X表,其可以体现为指示可以通过消息信号中断(例如,通过写入到主存储器104)发送给数据存储设备110的消息的任何数据,以及指示在MSI-X表中表示的可能消息的状态(例如,待决或非待决)的待决位阵列(PBA)。如以下更详细讨论的,在使用期间,数据存储控制器202被配置成对消息(诸如,通过中断发信号的消息(例如,MSI-X消息))进行响应以读取和/或写入数据到存储器214(例如,非易失性存储器216)以及提供指示消息的状态的数据(例如,待决位阵列数据)。在说明性实施例中,数据存储控制器202包括处理器或处理电路204、本地存储器206、主机接口208、缓冲器210和存储器控制逻辑(本文也称为“存储器控制器”)212。存储器控制器212可以处于与处理器204或存储器206、214相同的管芯(die)或集成电路中,或处于与处理器204和存储器206、214的那些管芯或集成电路分离的管芯或集成电路中。在一些情况下,处理器204、存储器控制器212和存储器206、214可以实现在单个管芯或集成电路中。当然,在其他实施例中,数据存储控制器202可以包括通常在固态驱动器的驱动控制器中发现的附加设备、电路和/或组件。处理器204可以体现为能够执行本文所述的功能的任何类型的处理器。例如,处理器204可以体现为(一个或多个)单或多核处理器、数字信号处理器、微控制器或其他处理器或处理/控制电路。类似地,本地存储器206可以体现为能够执行本文所述的功能的任何类型的易失性和/或非易失性存储器或数据储存器。在说明性实施例中,本地存储器206存储可由处理器204执行以执行数据存储控制器202的所述功能的固件和/或其他指令。在一些实施例中,处理器204和本地存储器206可以形成SoC的一部分,并且可以连同数据存储控制器202的其他组件并入到单个集成电路芯片上。主机接口208还可以体现为任何类型的硬件处理器、处理电路、输入/输出电路和/或能够促进数据存储设备110与主机设备或服务(例如,由计算设备100的处理器102执行的主机驱动程序或应用)通信的组件集合。也就是说,主机接口208体现或建立用于访问存储在数据存储设备110上(例如,存储在存储器214中)的数据的接口。为了这样做,主机接口208可以被配置成利用任何合适的通信协议和/或技术来根据数据存储设备的类型促进与数据存储设备110的通信。例如,在一些实施例中,主机接口208可以被配置成使用PCIe、SATA、串行附连SCSI(SAS)、通用串行总线(USB)和/或其他通信协议和/或技术与主机设备或服务通信。数据存储控制器202的缓冲器210体现为由数据存储控制器202使用用以暂时存储正从存储器214读取或写入到存储器214的数据的易失性存储器。缓冲器210的特定大小可以取决于存储器214的总存储大小。存储器控制逻辑212说明性地体现为硬件电路和/或设备,其被配置成控制对存储器214的特定存储位置处的数据的读取/写入访问。非易失性存储器216可以体现为能够以持久的方式(即使去往非易失性存储器216的功率被中断)存储数据的任何类型的数据储存器。例如,在说明性实施例中,非易失性存储器体现为闪速存储器(例如,NAND存储器)。在其他实施例中,非易失性存储器216可以体现为使用硫化物相变材料(chalcogenidephasechangematerial)(例如,硫化物玻璃)的存储器设备、字节或块可寻址的位写入(write-in-place)非易失性存储器、铁电晶体管随机存取存储器(FeTRAM)、基于纳米线的非易失性存储器、相变存储器(PCM)、并入忆阻器技术的存储器、磁阻随机存取存储器(MRAM)或自旋转移力矩(spintransfertorque,STT)-MRAM的任何组合。易失性存储器218可以体现为要求功率以维持由介质存储的数据的状态的任何存储介质。易失性存储器的示例可以包括各种类型的随机存取存储器(RAM),诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。可以使用的一种特定类型的DRAM是同步动态随机存取存储器(SDRAM)。在特定实施例中,DRAM遵守由JEDEC颁布的标准,诸如用于双数据速率(DDR)SDRAM的JESD79F、用于DDR2SDRAM的JESD79-2F、用于DDR3SDRAM的JESD79-3F、或用于DDR4SDRAM的JESD79-4A(这些标准可在www.jedec.org处获得)。这样的标准(和类似标准)可以称为基于DDR的标准,并且实现这样的标准的数据存储设备110的通信接口可以称为基于DDR的接口。现在参考图3,I/O子系统106的实施例可以形成本文称为交换结构(fabric)的架构300,计算设备100的组件可以通过所述交换结构来通信。交换结构300包括骨干302、304,其可以体现为能够向连接到骨干302、304的设备传送数据和从连接到骨干302、304的设备传送数据的数据通信总线。附加地,每一个骨干302、304连接到对应循环路由器310、330,所述对应循环路由器中的每一个可以体现为能够向对应骨干302、304上的设备路由数据和从对应骨干302、304上的设备路由数据或者向另外的循环路由器310、330路由数据的任何设备。在说明性实施例中,总线控制器312(例如,AHCISATA总线控制器)连接到骨干302。附加地,循环路由器310连接到骨干302。在操作中,循环路由器310可以(例如,从由处理器102执行的软件)接收读取请求以从暴露于软件的主PBA读取PBA数据,以及将所述请求的属性重映射到对应地址数据,所述对应地址数据可由循环路由器330使用以向对应于所请求的PBA数据的数据存储设备110中的一个或多个路由一个或多个对应读取请求,诸如通过数据存储设备112、114、116的对应PCIe接口322、324、326。循环路由器310还可以接收与各种数据存储设备110关联的PBA数据并且将PBA数据合并回到主PBA以供请求了PBA数据的软件使用。这样,在说明性实施例中,循环路由器310可以包括重映射逻辑单元124。另外,在说明性实施例中,循环路由器330可以包括能够向对应数据存储设备112、114、116路由数据和从对应数据存储设备112、114、116路由数据的多个子组件332、334、336。现在参考图4,在使用中,计算设备100可以建立环境400。说明性环境400包括请求管理器420和重映射管理器430。环境400的组件中的每一个可以体现为固件、软件、硬件或其组合。例如,环境400的各种组件和逻辑可以形成I/O子系统106、重映射逻辑单元124、处理器102、主存储器104和/或数据存储子系统108的一部分或以其他方式由其建立。这样,在一些实施例中,环境400的组件中的任何一个或多个可以体现为电设备的电路或集合(例如,请求管理器电路420、重映射管理器电路430等)。在说明性实施例中,环境400包括主待决位阵列(PBA)数据402,其可以体现为指示数据存储设备110和总线控制器312的待决位阵列的组合集的任何数据。附加地,在说明性实施例中,环境400包括子PBA数据404,其可以体现为指示针对总线控制器312和数据存储设备110中的每一个(例如,在对应数据存储设备110的本地存储器206中)的每一个单独的待决位阵列的任何数据。这样,在说明性环境中,主PBA数据402包括总线控制器312和数据存储设备110中的每一个的子PBA数据404,其被重映射到不同的地址空间,以使得子PBA数据404通过单个PBA暴露于软件。附加地,在说明性实施例中,环境400包括重映射数据406,其可以体现为指示针对定向到主PBA数据402的地址空间的PBA数据的一个或多个读取请求的属性、以及与子PBA数据404的地址空间对应的属性的经翻译的版本的任何数据。附加地,环境400可以包括MSI-X表数据408,其可以体现为指示总线控制器312和数据存储设备110中的每一个的消息信号中断的组合集的任何数据。在说明性实施例中,请求管理器420被配置成诸如从由处理器102执行的软件接收请求以读取待决位阵列数据,所述请求管理器420可以体现为如以上所讨论的硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合。在说明性实施例中,所述请求包括属性数据,其可以体现为指示用以读取的主PBA数据402的分段的任何数据。在说明性实施例中,请求管理器420附加地被配置成在图3的交换结构300内在设备(例如,数据存储设备110)间路由请求,诸如具有与子PBA数据404的地址空间关联的经翻译的属性的读取请求,以及响应于所述请求而从所述设备(例如,数据存储设备110)接收子PBA数据404。重映射管理器430被配置成将属性数据从主PBA数据402的地址空间重映射到子PBA数据404的对应地址空间以及将从一个或多个设备(例如,数据存储设备110中的一个或多个)接收到的子PBA数据404合并回到主PBA数据402,所述重映射管理器430可以体现为如以上所讨论的硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合。为了这样做,在说明性实施例中,重映射管理器430包括属性重映射器432和数据合并器(datamerger)434。在说明性实施例中,属性重映射器432被配置成从属性数据确定一个或多个位地址,将一个或多个位地址与在主PBA中的子PBA的地址进行比较以确定要读取的子PBA集,以及将一个或多个位地址映射到要读取的所确定的子PBA集。在说明性实施例中,数据合并器434被配置成将从子PBA接收到的PBA数据(例如,子PBA数据404)合并到主PBA(例如,主PBA数据402)中。应领会的是,属性重映射器432和数据合并器434中的每一个可以分别体现为硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合。例如,属性重映射器432可以体现为硬件组件,而数据合并器434体现为虚拟化硬件组件或硬件、固件、软件、虚拟化硬件、仿真环境和/或其组合的某个其他组合。现在参考图5,在使用中,计算设备100可以执行用于将访问(例如,读取请求)重映射到待决位阵列数据的方法500。方法500开始于502,其中计算设备100确定是否启用(enable)访问到待决位阵列数据的重映射。在说明性实施例中,计算设备100可以确定:如果数据存储设备110能够支持(例如,响应于)消息信号中断(例如,MSI-X)则启用重映射。在其他实施例中,计算设备100可以确定基于其他因素来启用重映射。无论怎样,响应于启用重映射的确定,方法500前进到块504,其中计算设备100生成指示多个子PBA的PBA。在这样做时,在说明性实施例中,计算设备100生成指示SATA控制器(例如,总线控制器312)PBA的主PBA(例如,主PBA数据402)和针对多个数据存储设备110中的每一个的子PBA(例如,子PBA数据404),如块506中指示的。随后,方法500前进到块508,其中计算设备100接收包括指示主PBA中(例如,主PBA数据402的地址空间中)的地址的属性数据的请求。在这样做时,在说明性实施例中,计算设备100可以接收包括属性数据的请求,所述属性数据指示地址、长度(例如,从地址开始要读取的数据的量)、指示与所述请求关联的第一双字中的四个字节中的哪些字节有效的第一字节启用数据、以及指示与所述请求关联的最后双字中的四个字节中的哪些字节有效的最后字节启用数据,如块510中指示的。在说明性实施例中,计算设备100在与SATA控制器(例如,总线控制器312)关联的循环路由器310处接收读取请求,如块512中指示的。附加地,如块514中指示的,在接收读取请求时,计算设备100接收其中地址是双字地址的读取请求。另外,在说明性实施例中,计算设备100从由计算设备100(例如,通过处理器102)执行的软件接收读取请求。在块518中,计算设备100确定是否接收到读取请求。如果不是,则方法500循环回到块508,其中计算设备100继续等待读取请求。否则,方法500前进到图6的块520,其中计算设备100将读取请求(例如,读取请求的属性数据)重映射到一个或多个子PBA(例如,子PBA数据404的一个或多个集的(一个或多个)地址空间)。现在参考图6,在块520中,计算设备100根据接收到的读取请求的属性数据来确定一个或多个位地址。在这样做时,在说明性实施例中,计算设备100确定起始位地址和结束位地址,如块522中指示的。在确定一个或多个位地址时,在说明性实施例中,计算设备100将属性数据中的地址从双字地址转换成一个或多个位地址,如块524中指示的。在说明性实施例中,与SATA控制器(例如,总线控制器312)关联的循环控制器310确定一个或多个位地址,如块526中指示的。现在参考图9,伪代码900包括用于计算起始位地址的指令集910以及可用于根据属性数据(例如,地址(ADDR)、第一字节启用(FBE)数据、最后字节启用(LBE)数据和长度(LEN)数据)来确定结束位地址的另一指令集920。参考回到图6,方法500随后前进到块528,其中计算设备100将在块520中确定的一个或多个位地址与子PBA的地址(例如,主PBA数据402中的子PBA数据404的每一个集的位置)进行比较以确定要读取的子PBA的集(例如,子PBA数据404)。在这样做时,在说明性实施例中,计算设备100将起始位地址和结束位地址(例如,在块522中确定的地址)与子PBA的地址进行比较,如块530中指示的。在说明性实施例中,计算设备100确定与位地址关联的子PBA的数目,如532中指示的。附加地,计算设备100确定位地址是否跨四字边界,如块534中指示的。响应于确定出位地址跨四字边界,在说明性实施例中,计算设备100确定一个或多个分裂地址(例如,四字边界的任一侧上的地址),如块536中指示的。现在参考图10,示出在主PBA地址空间1010内子PBA1020的布置1000以及指示可以与位地址集关联的子PBA的各种集的对应条件1030(例如,条件00、条件01、条件10、和条件11)。在条件00中,整个读取处于子PBA之一内。相反,在条件01中,读取从一个子PBA(例如,子PBAn-1)起始,并且横跨到下一子PBA(例如,子PBAn)并在其处结束。类似地,在条件10中,读取从一个子PBA(例如,子PBAn-1)起始,并且横跨到下一子PBA(例如,子PBAn)。然而,在条件10中,读取在随后的子PBA(例如,子PBAn+1)中结束。最终,在条件11中,读取从一个子PBA(例如,子PBAn)起始,并且横跨到之后的子PBA(例如,子PBAn+1)并在其中结束。参考回到图6,方法500随后前进到块538,其中计算设备100将位地址映射到要读取的子PBA的所确定的集(例如,在块528中确定的集)的地址。在这样做时,在说明性实施例中,计算设备100针对对应于所确定的集中的每一个子PBA的新读取请求确定经翻译的属性数据,如块540中指示的。在说明性实施例中,计算设备100针对每一个新读取请求确定经翻译的地址属性,如块542中指示的。在说明性实施例中,计算设备100针对每一个新读取请求确定经翻译的长度属性,如块544中指示的。附加地,计算设备100针对每一个新读取请求确定经翻译的第一字节启用属性,如块546中指示的。计算设备100还针对每一个读取请求确定经翻译的最后字节启用属性,如块548中指示的。现在参考图11,伪代码1100包括可用于针对条件00和11确定经翻译的起始地址的指令集1110和可用于基于在块530中起始位地址与子PBA的地址的比较而针对条件01和10确定经翻译的起始地址的指令集1120。附加地,伪代码1100包括可用于针对条件00和01确定结束地址的指令集1130和可用于针对条件10和11确定结束地址的另一指令集1140。计算设备100可以在读取请求跨四字边界时分裂经翻译的地址。在这样的情形下,计算设备100生成两个读取请求,其中一个读取请求从经翻译的ADDR[63:0]起始并且结束于四字边界处,而第二请求从四字边界起始并且延伸到经翻译的ADDRend[63:0]。当经翻译的ADDRend[3]不等于ADDR[3]时,分裂成立。在确定经翻译的长度属性时,在说明性实施例中,计算设备100根据(i)分裂操作是否得以执行以及(ii)子PBA读取地址的条件来确定长度,如以下在表1中示出的。表1。另外,在说明性实施例中,计算设备100可以根据经翻译的地址属性(即,ADDR[1:0])中的数据来确定经翻译的第一字节启用属性,如以下在表2中示出的。当经翻译的ADDR[1:0]是以下时子PBA处的经翻译的FBE[3:0]是111000B101100B011110B001111B表2。附加地,在说明性实施例中,计算设备100可以根据经翻译的结束地址、经翻译的长度属性、分裂是否得以执行以及经翻译的最后字节启用属性来确定经翻译的最后字节启用属性,如以下在表3中所示出的:当子PBA处的经翻译的结束地址[1:0]是以下时并且子PBA处的经翻译的LEN是并且第1分裂请求子PBA处的经翻译的LBE[3:0]是X不是1是1111B11不是1X1111B10不是1X0111B01不是1X0011B00不是1X0001BX1X0000B表3。随后,方法前进到图7的块550,其中计算设备100发送具有经翻译的属性数据的一个或多个新读取请求(例如,在图6的块540中生成的(一个或多个)新请求)以读取所确定的集(例如,在图6的块528中确定的集)中的一个或多个子PBA(例如,子PBA数据404)。在这样做时,与SATA控制器(例如,总线控制器312)关联的循环路由器(例如,循环路由器310)可以向与数据存储设备110关联的循环路由器(例如,循环路由器330)发送(一个或多个)新读取请求,如块552中指示的。反过来,与数据存储设备110关联的循环路由器(例如,循环路由器330)可以向与子PBA的所确定的集关联的一个或多个数据存储设备110(例如,在其存储器206、214中具有所请求的子PBA数据404的数据存储设备110)发送(一个或多个)新读取请求,如块554中指示的。然后,方法500前进到块556,其中计算设备100响应于(一个或多个)新读取请求而接收所请求的子PBA数据404,如块556中指示的。在这样做时,计算设备100响应于(一个或多个)新读取请求而从数据存储设备110接收子PBA数据404,如块558中指示的。在说明性实施例中,循环路由器330最初从数据存储设备110接收所请求的子PBA数据404,然后将其路由到循环路由器310。随后,在块560中,已经从数据存储设备110中的一个或多个接收到子PBA数据404的计算设备100开始将接收到的子PBA数据404合并回到主PBA数据402中(例如,以供由处理器102执行的软件使用)的过程。在块560中,计算设备100确定是否存在要合并的子PBA数据404。响应于确定出存在要合并的子PBA数据404,方法500前进到块562,其中计算设备100将针对给定子PBA的接收到的子PBA数据404与主PBA(例如,主PBA数据402)中的对应位置对准。在这样做时,计算设备100可以组合针对分裂子PBA的数据,如块564中指示的。附加地,在对准接收到的子PBA数据404时,计算设备100使目前子PBA数据404移位到初始字节0、位0位置,如块566中指示的。随后,计算设备100根据主PBA(例如,主PBA数据402)中的子PBA数据404的位置而使目前子PBA数据404移位,如块568中指示的。另外,计算设备100掩蔽子PBA数据404中的未使用位,如块570中指示的。在这样做时,在说明性实施例中,计算设备100将未使用位设置为零,如块572中指示的。随后,方法500循环回到块560以确定是否已经接收到附加子PBA数据404(例如,来自不同数据存储设备110的子PBA数据404)。如果是这样的话,则方法500前进到块562以对准附加子PBA数据404。方法500可以循环通过块560到块572,直到所有接收到的子PBA数据404已经被对准为止。应理解的是,虽然顺序地示出块560到572,好像顺序地对子PBA数据404的每一个集操作,但计算设备100可以代替地同时对准所有接收到的子PBA数据404。响应于在块560处确定出不存在更多子PBA数据404要合并,方法500前进到图8的块574,其中计算设备100在主PBA数据402中组合经对准的子PBA数据404。在这样做时,计算设备100可以通过对所有经对准的PBA数据一起求或(ORing)来组合经对准的PBA数据,如块576中指示的。另外,在说明性实施例中,计算设备100在主PBA数据402中存储经组合和对准的子PBA数据404,如块578中指示的。在说明性实施例中,循环路由器310可以执行块562到块578中的操作。随后,在块580中,计算设备100响应于读取请求从主PBA数据402返回所请求的PBA数据(例如,返回到请求了PBA数据的软件)。然后,方法500循环回到图5的块508,其中计算设备100等待接收另一读取请求。现在参考图12,示出在与包括总线控制器312(例如,子PBAAHCI)和数据存储设备110的各种设备关联的子PBA数据404(例如,子PBA0、子PBA1、子PBA2)和主PBA数据402之间的关系1200。在将子PBA数据404合并到主PBA数据402中期间,存在可能发生的若干可能场景。例如,针对主PBA数据402的给定读取请求存在对子PBA数据404的单个集的至多两个读取(例如,一个读取请求可以分裂成第1分裂读取请求和第2分裂读取请求)。然而,可能同时存在对子PBA数据404的多于一个集的读取,包括对总线控制器312的子PBA数据404的读取。替代地,可以存在对子PBA数据404(例如,与数据存储设备110中的仅一个关联的子PBA数据404)的恰好一个集的一个读取。仍参考图12,作为示例场景,存在针对子PBA0的两个读取和针对子PBA1的一个读取。来自子PBA0的第一数据是一位读取,并且来自子PBA1的第二数据小于双字读取,而来自子PBA1的数据是跨双字读取。起始于针对每一个单独的子PBA(例如,子PBA数据404的每一个单独集)的数据,计算设备100存储数据,如果它是第一分裂(split)的话。现在参考图13,超过(beyond)所存储的数据的最后字节,计算设备100迫使所存储的数据为0,所述所存储的数据可以是四字或双字。现在参考图14,计算设备100合并针对被读取的子PBA数据404的每一个集(例如,针对子PBA1和针对子PBA0)的第一和第二分裂数据。在这样做时,计算设备100在第二分裂的数据阶段检查第一和第二分裂的长度。附加地,计算设备100将来自之前步骤的数据级联。在这样做时,如果第一分裂是双字,则计算设备100取所存储的数据的32位。替代地,如果第一分裂是四字,则计算设备100取所存储的数据的64位。如果不存在分裂,则计算设备100使用0代替否则将会由第二分裂提供的数据。随后,并且现在参考图15,计算设备100使子PBA数据404移位到在主PBA数据402的地址空间中子PBA数据404的字节位置。例如,如果在主PBA数据402的地址空间中子PBA数据404的目标起始字节是字节3,则计算设备100将子PBA数据404向右移位3个字节。然后,并且现在参考图16,计算设备100根据在主PBA数据402的地址空间中子PBA数据404的起始位来使子PBA数据404移位。例如,如果在主PBA数据402的地址空间中子PBA数据404的起始位是位7,则计算设备100将子PBA数据404移位7位。另外,并且现在参考图17,在根据主PBA数据402中的对应位置使子PBA数据404移位之后,计算设备100根据读取请求长度来选择双字或四字。随后,并且现在参考图18,计算设备100再次根据主PBA数据402中的对应起始位来使子PBA数据404移位。例如,如果主PBA数据402的起始位是在位7处,则计算设备100将子PBA数据404向右移位7位。现在参考图19,在使子PBA数据404移位多个位之后,超过最后位,计算设备100掩蔽子PBA数据404。然后,计算设备100通过对子PBA数据404一起求或(例如,对子PBA1数据和子PBA0数据一起求或)来将子PBA数据404组合到主PBA数据402中。以上对存储器设备的参考也适用于不同的存储器类型,并且特别是具有群组(bankgroup)架构的任何存储器。存储器设备通常指的是易失性存储器技术。易失性存储器是如果去往设备的功率被中断则其状态(并且因此存储在其上的数据)是不确定的存储器。非易失性存储器指的是即使去往设备的功率被中断其状态也是确定的存储器。动态易失性存储器要求刷新存储在设备中的数据以维持状态。动态易失性存储器的一个示例包括DRAM(动态随机存取存储器)、或某变型,诸如同步DRAM(SDRAM)。如本文所述的存储器子系统可以与多个存储器技术兼容,所述存储器技术诸如DDR4(DDR版本4,由JEDEC在2012年9月公布的初始规范)、DDR4E(在由JEDED进行的开发中)、LPDDR4(低功率双数据速率(LPDDR)版本4,JESD209-4,原始由JEDEC在2014年8月公开)、WIO2(宽I/O2(宽IO2),JESE229-2,原始由JEDEC在2014年8月公开)、HBM(高带宽存储器DRAM,JESD235,原始由JEDEC在2013年10月公开)、DDR5(DDR版本5,当前由JEDEC讨论中)、LPDDR5(当前由JEDED讨论中)、HBM2(HBM版本2),当前由JEDEC讨论中,和/或其他,以及基于这样的规范的衍生或扩展的技术。附加于或替代于易失性存储器,在一个实施例中,对存储器设备的参考可以指的是即使去往设备的功率被中断其状态也是确定的非易失性存储器设备。示例以下提供本文公开的技术的说明性示例。技术的实施例可以包括任何一个或多个上述示例及其任何组合。示例1包括一种用于重映射待决位阵列读取请求的计算设备,所述计算设备包括:多个数据存储设备;请求管理器,用以接收请求以从映射到多个子PBA的主PBA读取待决位阵列(PBA)数据,其中每一个子PBA与数据存储设备中的不同数据存储设备关联,并且所述请求包括指示从其读取PBA数据的主PBA中的地址的属性数据;重映射管理器,用以从属性数据确定一个或多个位地址,将所述一个或多个位地址与主PBA中的子PBA的地址进行比较以确定要读取的子PBA的集,以及将所述一个或多个位地址映射到要读取的子PBA的所确定的集。示例2包括示例1的主题,并且其中映射所述一个或多个位地址包括针对与所确定的集中的每一个子PBA关联的读取请求确定经翻译的属性数据。示例3包括示例1和2中任一个的主题,并且其中所述请求管理器还用以向所述多个数据存储设备发送一个或多个读取请求,以读取所确定的集中的一个或多个子PBA。示例4包括示例1-3中任一个的主题,并且其中所述请求管理器还用以响应于所述一个或多个读取请求而从所确定的集中的每一个子PBA接收PBA数据;并且所述重映射管理器还用以将接收到的PBA数据合并到主PBA中。示例5包括示例1-4中任一个的主题,并且其中将接收到的PBA数据合并到主PBA中包括:将来自子PBA的接收到的PBA数据与主PBA中的关联的位置对准;以及在主PBA中组合经对准的PBA数据。示例6包括示例1-5中任一个的主题,并且其中组合经对准的PBA数据包括对与子PBA关联的接收到的PBA数据执行或(OR)操作。示例7包括示例1-6中任一个的主题,并且其中对准来自子PBA的接收到的PBA数据包括:使来自子PBA的PBA数据移位到初始位置;根据在主PBA中关联的子PBA的位置使PBA数据移位;以及掩蔽与子PBA关联的PBA数据中的未使用位。示例8包括示例1-7中任一个的主题,并且其中掩蔽未使用位包括将未使用位设置为零。示例9包括示例1-8中任一个的主题,并且其中接收读取请求包括接收包括指示主PBA中的地址的属性数据、指示要读取的数据的量的长度、第一字节启用数据和最后字节启用数据的读取请求;并且其中确定经翻译的属性数据包括确定经翻译的地址、经翻译的长度、经翻译的第一字节启用数据、以及经翻译的最后字节启用数据。示例10包括示例1-9中任一个的主题,并且其中确定一个或多个位地址包括确定起始位地址和结束位地址。示例11包括示例1-10中任一个的主题,并且其中确定一个或多个位地址包括将地址从双字地址转换成一个或多个位地址。示例12包括示例1-11中任一个的主题,并且其中比较一个或多个位地址包括将起始位地址和结束位地址与子PBA的地址进行比较。示例13包括示例1-12中任一个的主题,并且其中重映射管理器还用以确定起始位地址和结束位地址是否跨四字边界;以及响应于确定出起始位地址和结束位地址跨四字边界而确定分裂地址的集。示例14包括一种用于重映射待决位阵列读取请求的方法,所述方法包括:由计算设备接收请求以从映射到多个子待决位阵列(PBA)的主PBA读取PBA数据,其中每一个子PBA与多个数据存储设备中的不同数据存储设备关联,并且所述请求包括指示从其读取PBA数据的主PBA中的地址的属性数据;由计算设备从属性数据确定一个或多个位地址;由计算设备将所述一个或多个位地址与主PBA中的子PBA的地址进行比较以确定要读取的子PBA的集;以及由计算设备将所述一个或多个位地址映射到要读取的子PBA的所确定的集。示例15包括示例14的主题,并且其中映射所述一个或多个位地址包括针对与所确定的集中的每一个子PBA关联的读取请求确定经翻译的属性数据。示例16包括示例14和15中任一个的主题,并且还包括由计算设备向所述多个数据存储设备发送一个或多个读取请求以读取所确定的集中的一个或多个子PBA。示例17包括示例14-16中任一个的主题,并且还包括:由计算设备响应于所述一个或多个读取请求而从所确定的集中的每一个子PBA接收PBA数据;以及由计算设备将接收到的PBA数据合并到主PBA中。示例18包括示例14-17中任一个的主题,并且其中将接收到的PBA数据合并到主PBA中包括:将来自子PBA的接收到的PBA数据与主PBA中的关联的位置对准;以及在主PBA中组合经对准的PBA数据。示例19包括示例14-18中任一个的主题,并且其中组合经对准的PBA数据包括对与子PBA关联的接收到的PBA数据执行或操作。示例20包括示例14-19中任一个的主题,并且其中对准来自子PBA的接收到的PBA数据包括:使来自子PBA的PBA数据移位到初始位置;根据主PBA中的关联的子PBA的位置而使PBA数据移位;以及掩蔽与子PBA关联的PBA数据中的未使用位。示例21包括示例14-20中任一个的主题,并且其中掩蔽未使用位包括将未使用位设置为零。示例22包括示例14-21中任一个的主题,并且其中接收读取请求包括接收包括指示主PBA中的地址的属性数据、指示要读取的数据的量的长度、第一字节启用数据和最后字节启用数据的读取请求;并且其中确定经翻译的属性数据包括确定经翻译的地址、经翻译的长度、经翻译的第一字节启用数据、以及经翻译的最后字节启用数据。示例23包括示例14-22中任一个的主题,并且其中确定一个或多个位地址包括确定起始位地址和结束位地址。示例24包括示例14-23中任一个的主题,并且其中确定一个或多个位地址包括将地址从双字地址转换成一个或多个位地址。示例25包括示例14-24中任一个的主题,并且其中比较一个或多个位地址包括将起始位地址和结束位地址与子PBA的地址进行比较。示例26包括示例14-25中任一个的主题,并且还包括:由计算设备确定起始位地址和结束位地址是否跨四字边界;以及由计算设备并且响应于确定出起始位地址和结束位地址跨四字边界而确定分裂地址的集。示例27包括一个或多个机器可读存储介质,其包括其上存储的多个指令,所述多个指令响应于被执行而使计算设备执行示例14-26中任一个的方法。示例28包括一种用于重映射待决位阵列读取请求的计算设备,所述计算设备包括:用于接收请求以从映射到多个子待决位阵列(PBA)的主PBA读取PBA数据的部件,其中每一个子PBA与多个数据存储设备中的不同数据存储设备关联,并且所述请求包括指示从其读取PBA数据的主PBA中的地址的属性数据;用于从属性数据确定一个或多个位地址的部件;用于将所述一个或多个位地址与主PBA中的子PBA的地址进行比较以确定要读取的子PBA的集的部件;以及用于将所述一个或多个位地址映射到要读取的子PBA的所确定的集的部件。示例29包括示例28的主题,并且其中用于映射所述一个或多个位地址的部件包括用于针对与所确定的集中的每一个子PBA关联的读取请求确定经翻译的属性数据的部件。示例30包括示例28和29中任一个的主题,并且还包括用于向所述多个数据存储设备发送一个或多个读取请求以读取所确定的集中的一个或多个子PBA的部件。示例31包括示例28-30中任一个的主题,并且还包括:用于响应于所述一个或多个读取请求而从所确定的集中的每一个子PBA接收PBA数据的部件;以及用于将接收到的PBA数据合并到主PBA中的部件。示例32包括示例28-31中任一个的主题,并且其中用于将接收到的PBA数据合并到主PBA中的部件包括:用于将来自子PBA的接收到的PBA数据与主PBA中的关联的位置对准的部件;以及用于在主PBA中组合经对准的PBA数据的部件。示例33包括示例28-32中任一个的主题,并且其中用于组合经对准的PBA数据的部件包括用于对与子PBA关联的接收到的PBA数据执行或操作的部件。示例34包括示例28-33中任一个的主题,并且其中用于对准来自子PBA的接收到的PBA数据的部件包括:用于使来自子PBA的PBA数据移位到初始位置的部件;用于根据主PBA中的关联的子PBA的位置而使PBA数据移位的部件;以及用于掩蔽与子PBA关联的PBA数据中的未使用位的部件。示例35包括示例28-34中任一个的主题,并且其中用于掩蔽未使用位的部件包括用于将未使用位设置为零的部件。示例36包括示例28-35中任一个的主题,并且其中用于接收读取请求的部件包括用于接收包括指示主PBA中的地址的属性数据、指示要读取的数据的量的长度、第一字节启用数据和最后字节启用数据的读取请求的部件;并且其中用于确定经翻译的属性数据的部件包括用于确定经翻译的地址、经翻译的长度、经翻译的第一字节启用数据、以及经翻译的最后字节启用数据的部件。示例37包括示例28-36中任一个的主题,并且其中用于确定一个或多个位地址的部件包括用于确定起始位地址和结束位地址的部件。示例38包括示例28-37中任一个的主题,并且其中用于确定一个或多个位地址的部件包括用于将地址从双字地址转换成一个或多个位地址的部件。示例39包括示例28-38中任一个的主题,并且其中用于比较一个或多个位地址的部件包括用于将起始位地址和结束位地址与子PBA的地址进行比较的部件。示例40包括示例28-39中任一个的主题,并且还包括:用于由计算设备确定起始位地址和结束位地址是否跨四字边界的部件;以及用于由计算设备并且响应于确定出起始位地址和结束位地址跨四字边界而确定分裂地址的集的部件。第一实施方式涉及一种计算设备,包括:多个数据存储设备;请求管理器,用以接收请求以从映射到多个子待决位阵列(PBA)的主PBA读取PBA数据,其中每一个子PBA与数据存储设备中的不同数据存储设备关联,并且所述请求包括指示从其读取PBA数据的主PBA中的地址的属性数据;重映射管理器,用以从属性数据确定一个或多个位地址,将所述一个或多个位地址与主PBA中的子PBA的地址进行比较以确定要读取的子PBA的集,以及将所述一个或多个位地址映射到要读取的子PBA的所确定的集。第二实施方式包括根据第一实施方式所述的计算设备,其中映射所述一个或多个位地址包括针对与所确定的集中的每一个子PBA关联的读取请求确定经翻译的属性数据。第三实施方式包括根据第二实施方式所述的计算设备,其中所述请求管理器还用以向所述多个数据存储设备发送一个或多个读取请求以读取所确定的集中的一个或多个子PBA。第四实施方式包括根据第三实施方式所述的计算设备,其中所述请求管理器还用以响应于所述一个或多个读取请求而从所确定的集中的每一个子PBA接收PBA数据;并且所述重映射管理器还用以将接收到的PBA数据合并到主PBA中。第五实施方式包括根据第四实施方式所述的计算设备,其中将接收到的PBA数据合并到主PBA中包括:将来自子PBA的接收到的PBA数据与主PBA中的关联的位置对准;以及在主PBA中组合经对准的PBA数据。第六实施方式包括根据第五实施方式所述的计算设备,其中组合经对准的PBA数据包括对与子PBA关联的接收到的PBA数据执行或(OR)操作。第七实施方式包括根据第五实施方式所述的计算设备,其中对准来自子PBA的接收到的PBA数据包括:使来自子PBA的PBA数据移位到初始位置;根据主PBA中的关联的子PBA的位置而使PBA数据移位;以及掩蔽与子PBA关联的PBA数据中的未使用位。第八实施方式包括根据第七实施方式所述的计算设备,其中掩蔽未使用位包括将未使用位设置为零。第九实施方式包括根据第一实施方式所述的计算设备,其中接收读取请求包括接收包括指示主PBA中的地址的属性数据、指示要读取的数据的量的长度、第一字节启用数据和最后字节启用数据的读取请求;并且其中确定经翻译的属性数据包括确定经翻译的地址、经翻译的长度、经翻译的第一字节启用数据、以及经翻译的最后字节启用数据。第十实施方式包括根据第一实施方式所述的计算设备,其中确定一个或多个位地址包括确定起始位地址和结束位地址。第十一实施方式包括根据第一实施方式所述的计算设备,其中确定一个或多个位地址包括将地址从双字地址转换成一个或多个位地址。第十二实施方式涉及一个或多个机器可读存储介质,其包括其上存储的多个指令,所述多个指令当被计算设备执行时使计算设备:接收请求以从映射到多个子待决位阵列(PBA)的主PBA读取PBA数据,其中每一个子PBA与多个数据存储设备中的不同数据存储设备关联,并且所述请求包括指示从其读取PBA数据的主PBA中的地址的属性数据;从属性数据确定一个或多个位地址;将所述一个或多个位地址与主PBA中的子PBA的地址进行比较以确定要读取的子PBA的集;以及将所述一个或多个位地址映射到要读取的子PBA的所确定的集。第十三实施方式包括根据第十二实施方式所述的一个或多个机器可读存储介质,其中映射所述一个或多个位地址包括针对与所确定的集中的每一个子PBA关联的读取请求确定经翻译的属性数据。第十四实施方式包括根据第十三实施方式所述的一个或多个机器可读存储介质,其中所述多个指令当被执行时还使计算设备向所述多个数据存储设备发送一个或多个读取请求以读取所确定的集中的一个或多个子PBA。第十五实施方式包括根据第十四实施方式所述的一个或多个机器可读存储介质,其中所述多个指令当被执行时还使计算设备:响应于所述一个或多个读取请求而从所确定的集中的每一个子PBA接收PBA数据;以及将接收到的PBA数据合并到主PBA中。第十六实施方式包括根据第十五实施方式所述的一个或多个机器可读存储介质,其中将接收到的PBA数据合并到主PBA中包括:将来自子PBA的接收到的PBA数据与主PBA中的关联的位置对准;以及在主PBA中组合经对准的PBA数据。第十七实施方式包括根据第十六实施方式所述的一个或多个机器可读存储介质,其中组合经对准的PBA数据包括对与子PBA关联的接收到的PBA数据执行或操作。第十八实施方式包括根据第十六实施方式所述的一个或多个机器可读存储介质,其中对准来自子PBA的接收到的PBA数据包括:使来自子PBA的PBA数据移位到初始位置;根据主PBA中的关联的子PBA的位置而使PBA数据移位;以及掩蔽与子PBA关联的PBA数据中的未使用位。第十九实施方式包括根据第十八实施方式所述的一个或多个机器可读存储介质,其中掩蔽未使用位包括将未使用位设置为零。第二十实施方式包括根据第十二实施方式所述的一个或多个机器可读存储介质,其中接收读取请求包括接收包括指示主PBA中的地址的属性数据、指示要读取的数据的量的长度、第一字节启用数据和最后字节启用数据的读取请求;并且其中确定经翻译的属性数据包括确定经翻译的地址、经翻译的长度、经翻译的第一字节启用数据、以及经翻译的最后字节启用数据。第二十一实施方式包括根据第十二实施方式所述的一个或多个机器可读存储介质,其中确定一个或多个位地址包括确定起始位地址和结束位地址。第二十二实施方式涉及一种方法,包括:由计算设备接收请求以从映射到多个子待决位阵列(PBA)的主PBA读取PBA数据,其中每一个子PBA与多个数据存储设备中的不同数据存储设备关联,并且所述请求包括指示从其读取PBA数据的主PBA中的地址的属性数据;由计算设备从属性数据确定一个或多个位地址;由计算设备将所述一个或多个位地址与主PBA中的子PBA的地址进行比较以确定要读取的子PBA的集;以及由计算设备将所述一个或多个位地址映射到要读取的子PBA的所确定的集。第二十三实施方式包括根据第二十二实施方式所述的方法,其中映射所述一个或多个位地址包括针对与所确定的集中的每一个子PBA关联的读取请求确定经翻译的属性数据。第二十四实施方式包括根据第二十三实施方式所述的方法,还包括由计算设备向所述多个数据存储设备发送一个或多个读取请求以读取所确定的集中的一个或多个子PBA。第二十五实施方式包括根据第二十四实施方式所述的方法,还包括:由计算设备响应于所述一个或多个读取请求而从所确定的集中的每一个子PBA接收PBA数据;以及由计算设备将接收到的PBA数据合并到主PBA中。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1