103相关联的存储器设备110。否则,如果接收插入命令(CMD_INSERT)的逻辑PAD 103的PAD地址116大于或等于伴随插入命令(CMD_INSERT)的PAD地址116,则逻辑PAD 103的PAD地址116增加一。
[0076]在图4B的示例中,当PAD 104将插入命令和与逻辑PAD 103的阵列的最后的PAD地址116相对应的经解码的硬件地址(CMD_INSERT && H_addr_e_eq)发送到对应的可寻址存储器位置120时,或者当PAD 104将插入命令和大于或等于对所指定的PAD地址116的对应物的经解码的硬件地址(CMD_INSERT && (H_addr_eq) | | H_addr_gr)发送到对应的可寻址存储器位置120时,状态机400从空闲状态(S_IDLE) 430转变到插入状态(S_INSERT)400。当PAD 140在确认线414 (loc_pad_ack)上返回确认信号时,示例状态机400然后从插入状态(S_INSERT) 440转变回到空闲状态(S_IDLE) 430。
[0077]图10示出针对插入命令(CMD_INSERT)的时序图。在第一时钟周期1000上,地址转换器102 (图1A-1C)在命令线406 (at_pad_cmd)上传送插入命令(CMD_INSERT),地址转换器102在地址线408 (at_pad_addr)上传送PAD地址(5db),并且地址转换器102在数据写入线410 (at_pad_wr)上传送数据(*ad5 el77 0c33 5339)。在数据被适当的逻辑PAD
103写入之后,逻辑PAD 103在确认线414 (loc_pad_ack)上返回确认信号。
[0078]返回到图4B,删除命令(CMD_DELETE)用于从可寻址存储器位置的阵列中移除在给定可寻址存储器位置120处的数据值。为了从可寻址存储器位置120删除值,示例处理器108传输删除命令(CMD_DELETE)连同在其中将发生删除的主机物理地址114。示例地址转换器102将所指定的主机物理地址114转换成对应的PAD地址116并且将经转换的PAD地址116和删除命令(CMD_DELETE)传输到逻辑PAD 103中的每一个。
[0079]当逻辑PAD 103接收到删除命令(CMD_DELETE)时,如果逻辑PAD 103的PAD地址116小于所指定的PAD地址116,则逻辑PAD 103不做任何事。如果接收到删除命令(CMD_DELETE)的逻辑PAD 103的PAD地址116与伴随删除命令(CMD_DELETE)的PAD地址116相同,则逻辑PAD 103的PAD地址116被设置成逻辑PAD 103的阵列中的最大地址。否则,如果接收到删除命令(CMD_DELETE)的逻辑PAD 103的PAD地址116大于伴随删除命令(CMD_DELETE)的PAD地址116,则逻辑PAD 103的PAD地址116减小一。如在图4B的状态图400中所示的,CMD_DELETE使得示例PAD 104保持在空闲状态(S_IDLE) 430中。
[0080]图11示出针对删除命令(CMD_DELETE)的时序图。在第一时钟周期1100上,地址转换器102 (图1A-1C)在命令线406 (at_pad_cmd)上传送删除命令(CMD_DELETE)并且地址转换器102在地址线408 (at_pad_addr)上传送PAD地址(3db)。
[0081]返回到图4B,部分上移命令(CMD_SHIFT_UP_P)用于上移逻辑PAD 103的子集的PAD地址(例如,图1C和ID的PAD地址116)。为了运行部分上移,示例处理器108指定在其中将开始上移的主机物理地址以及与要上移的可寻址存储器位置120的数目相对应的长度。示例地址转换器102将所指定的主机物理地址转换成PAD地址并且通过将所述长度加到经转换的PAD地址并且减一(例如(“长度”+ “经转换的PAD地址”)-1)来确定子集结束PAD地址。示例地址转换器102然后将部分上移命令(CMD_SHIFT_UP_P)、经转换的PAD地址和所确定的子集结束PAD地址发送到所有逻辑PAD 103。
[0082]当逻辑PAD 103接收到部分上移命令(CMD_SHIFT_UP_P)时,如果逻辑PAD 103的PAD地址小于所指定的PAD地址或大于子集结束PAD地址,则逻辑PAD 103不做任何事。如果接收到部分上移命令(CMD_SHIFT_UP_P)的逻辑PAD 103的PAD地址116等于子集结束PAD地址,则逻辑PAD 103将其PAD地址设置成逻辑PAD 103的阵列的所指定的PAD地址116。如果接收到部分上移命令的逻辑PAD 103的PAD地址116大于或等于所指定的PAD地址但是小于所确定的子集结束PAD地址,则逻辑PAD 103使其PAD地址增加一。如在图4B的状态图400中所示的,CMD_SHIFT_UP_P使得示例PAD 104保持在空闲状态(S_IDLE) 430中,因为它是单周期命令。
[0083]图12示出针对部分上移命令(CMD_SHIFT_UP_P)的时序图。在第一时钟周期1200上,地址转换器102 (图1A-1C)在命令线406 (at_pad_cmd)上传送部分上移命令(CMD_SHIFT_UP_P),地址转换器102在地址线408 (at_pad_addr)上传送地址(75d),并且地址转换器102基于子集结束地址线509 (at_pad_addr_e)上的23f的长度而传送子集结束地址(75d+23f-l=99B)0
[0084]返回到图4B,部分下移命令(CMD_SHIFT_DN_P)用于下移逻辑PAD 103的子集的PAD地址(例如,图1C和ID的PAD地址116)。为了运行部分下移,示例处理器108指定在其中将开始下移的主机物理地址以及与要下移的可寻址存储器位置120的数目相对应的长度。示例地址转换器102将所指定的主机物理地址转换成PAD地址并且通过将所述长度加到经转换的PAD地址并且减一(例如,“长度”+ “经转换的PAD地址”)-1)而确定子集结束PAD地址。示例地址转换器102然后将部分下移命令(CMD_SHIFT_DN_P)、经转换的PAD地址和所确定的子集结束PAD地址发送到所有逻辑PAD 103。
[0085]当逻辑PAD 103接收到部分下移命令(CMD_SHIFT_DN_P)时,如果逻辑PAD 103的PAD地址小于所指定的PAD地址或大于子集结束PAD地址,则逻辑PAD 103不做任何事。如果接收到部分下移命令(CMD_SHIFT_DN_P)的逻辑PAD 103的PAD地址116等于所指定的PAD地址,则逻辑PAD 103将其PAD地址设置成子集结束PAD地址。如果接收到部分下移命令的逻辑PAD 103的PAD地址116大于所指定的PAD地址但是小于或等于所确定的子集结束PAD地址,则逻辑PAD 103使其PAD地址减小一。如图4B的状态图400中所示,CMD_SHIFT_DN_P使得示例PAD 104保持在空闲状态(S_IDLE) 430中,因为它是单周期命令。
[0086]图13示出针对部分下移命令(CMD_SHIFT_DN_P)的时序图。在第一时钟周期1300上,地址转换器102 (图1A-1C)在命令线406 (at_pad_cmd)上传送部分下移命令(CMD_SHIFT_DN_P),地址转换器102基于2b4的长度而在地址线408 (at_pad_addr)上传送地址(4cf+2b4-l=782),并且地址转换器102在子集结束地址线409 (at_pad_addr_e)上传送子集结束地址(2b4)。
[0087]除了在图4B中所指定的命令之外,示例存储器控制器100还可以被编程以接收和处理通过使用PAD地址而改变在主机物理地址和硬件存储器地址之间的映射的其它命令。
[0088]在图示的示例中,本文描述的命令中的每一个由处理器108发送并且由PAD 104接收以将物理地址的映射卸载到PAD 104并且以增加存储器操作的性能,这通过将PAD104编程为执行这样的存储器操作而进行。例如,PAD 104可以对用于访问存储器设备110的示例阵列的地址映射进行重排序以减少在存储器设备的可寻址存储器位置之间的数据移动和拷贝。在一些示例中,处理器108和存储器控制器100可以被实现使得除了本文描述的命令之外,还有其它命令由处理器108发送并且由存储器控制器100接收以使得PAD104改变在由处理器108所指定的主机物理地址114和示例存储器设备110的硬件存储器地址118之间的映射。
[0089]在图1B和IC的图示的示例中,地址转换器102、PAD 104和PAD地址修改器112位于存储器控制器100中。在如图1D中所示的示例中,PAD 104将PAD地址116解码成辅物理地址117 (117-0到117-n)而不是硬件存储器地址118。在这样的示例中,地址转换器102、PAD 104和PAD地址修改器112位于存储器控制器122外部。在图1D的图示的示例中,PAD 104将经解码的辅物理地址117发送到存储器控制器122,所述存储器控制器122通过使用现有技术而将辅物理地址117解码成存储器124中的硬件存储器地址118。在本文中结合图4-25所公开的示例命令和方法可以通过使用图1D的示例配置而被实现。在这样的示例中,PAD 104确定图1D的辅物理地址117而不是硬件存储器地址118。
[0090]虽然已经在图1A、1B、1C和ID中图示了实现存储器控制器100的示例方式,但是图1A、1B、1C和/或ID中图示的元件、过程和/或设备中的一个或多个可以被组合、划分、重布置、省略、消除和/或以任何其它方式实现。此外,图1A、1B、1C和/或ID的示例地址转换器102、示例PAD 104、示例PAD地址修改器112、示例存储器设备110和/或更一般地示例存储器控制器100可以通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因而,例如,图1A、1B、1C和/或ID的示例地址转换器102、示例PAD 104、示例PAD地址修改器112、示例存储器设备110和/或更一般地示例存储器控制器100中的任一个可以由(一个或多个)电路、(一个或多个)可编程处理器、(一个或多个)专用集成电路((一个或多个)ASIC)、(一个或多个)可编程逻辑设备((一个或多个)PLD),(一个或多个)微处理器、(一个或多个)硬件处理器和/或(一个或多个)现场可编程逻辑设备((一个或多个)FPLD)等等来实现。当本专利的系统或装置权利要求中的任一个被理解成覆盖纯粹软件和/或固件实现方式时,图ΙΑ、1B、IC和/或ID的示例地址转换器102、示例PAD 104、示例PAD地址修改器112、示例存储器设备110和/或更一般地示例存储器控制器100中的至少一个由此被明确地定义成包括存储软件和/或固件的有形计算机可读存储介质,诸如存储器、DVD、CD、Blu-ray (蓝光)等等。仍另外地,图1A、1B、1C和/或ID的示例地址转换器102、示例PAD104、示例地址转换器102、示例PAD 104、示例PAD地址修改器112、示例存储器设备110和/或更一般地示例存储器控制器100可以包括任何或全部图示的元件、过程和设备的多于一个。
[0091]在图14-25中示出了表示用于实现图1A、1B、1C、1D、2、3和4的示例地址转换器102、示例PAD 104和示例PAD地址修改器112的示例机器可读指令的流程图。在这些示例中,机器可读指令包括用于由处理器运行的程序。程序可以以被存储在有形计算机可读介质(诸如与处理器相关联的⑶-ROM、软盘、硬驱动装置、数字通用盘(DVD)、蓝光盘或存储器)上的软件来体现,但是整个程序和/或其部分可以可替换地由除了处理器之外的设备运行和/或以固件或专用硬件来体现。此外,尽管参照图14-25中图示的流程图描述了示例程序,但是可以可替换地使用实现示例地址转换器102、示例PAD 104和示例PAD地址修改器112的许多其它方法。例如,块的运行次序可以被改变,和/或所描述的