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的許多其它方法。例如,塊的運行次序可以被改變,和/或所描述的