本公開涉及存儲裝置和主機裝置,并且更具體地,涉及通過使用緩沖存儲器或高速緩存來執行操作的存儲裝置和主機裝置。
背景技術:
1、執行存儲器操作或執行數據處理操作的裝置(諸如,存儲裝置和主機裝置)可利用特定存儲器(諸如,緩沖存儲器或高速緩存)來提高操作速度或性能。
2、為了訪問特定存儲器,裝置可通過將哈希算法(或哈希函數)應用于從外部接收的地址或內部生成的地址來生成索引。然而,因為相關哈希算法基于線性方法,所以僅由特定存儲器支持的特定索引被集中使用。因此,特定存儲器的利用效率可能是低的,導致裝置的劣化的性能。
技術實現思路
1、一個或多個實施例提供通過基于被添加有非線性元素的哈希算法(或哈希函數)生成索引來高效地利用緩沖存儲器的存儲裝置或高效地利用高速緩存的主機裝置。
2、根據實施例的一個方面,一種主機裝置包括:高速緩存,被配置為:臨時存儲從主存儲器復制的多個數據;以及處理器,被配置為:處理從高速緩存讀取的所述多個數據。高速緩存包括多個路,其中,所述多個路中的每個具有由多個索引區分的區域,所述多個數據包括第一數據,并且所述多個索引包括第一索引。處理器包括高速緩存管理電路,高速緩存管理電路被配置為:通過使用第一自適應矩陣和第一向量來生成第一索引,其中,第一自適應矩陣基于與第一數據對應的第一地址的較高位,并且第一向量基于第一地址的較低位;并且將第一數據管理為存儲在所述多個路中的與第一索引對應的區域之中的空區域中。
3、根據實施例的另一方面,一種主機裝置包括:高速緩存,被配置為臨時存儲從主存儲器復制的多個數據;以及處理器,被配置為:處理從高速緩存讀取的所述多個數據。高速緩存包括多個路,其中,所述多個路中的每個具有由多個索引區分的區域,所述多個數據包括第一數據,并且所述多個索引包括第一索引。處理器包括高速緩存管理電路,高速緩存管理電路被配置為:通過使用基于與第一數據對應的第一線程的第一自適應矩陣對與第一數據對應的第一地址執行哈希運算來生成第一索引;以及將第一數據管理為臨時存儲在所述多個路中的與第一索引對應的區域之中的空區域中。
4、根據實施例的另一方面,提供一種操作主機裝置的方法。所述主機裝置包括高速緩存。高速緩存包括多個路。所述多個路中的每個具有由多個索引區分的區域。所述方法包括:基于與數據對應的地址的較高位生成自適應矩陣;基于所述地址的較低位生成向量;基于自適應矩陣和所述向量執行哈希運算;以及將所述數據存儲在所述多個路中的與從哈希運算生成的索引對應的區域之中的空區域中。
5、根據實施例的另一方面,一種存儲裝置包括:存儲器裝置,包括非易失性存儲器;存儲器控制器,被配置為:基于從外部裝置接收的第一地址和第一存儲器命令控制存儲器裝置的第一存儲器操作;以及緩沖存儲器,被分配給存儲器控制器并且包括多個路,其中,所述多個路中的每個具有由多個索引區分的區域。存儲器控制器包括存儲器管理電路,存儲器管理電路被配置為:通過使用第一自適應矩陣和向量來生成所述多個索引中的第一索引,其中,第一自適應矩陣基于第一地址的較高位,并且所述向量基于第一地址的較低位;并且基于所述多個路中的與第一索引和第一存儲器命令對應的區域的狀態控制第一存儲器操作。
6、存儲器管理電路還可被配置為:基于指示第一地址被先前存儲在所述區域中并且針對第一地址的第二存儲器操作正在由存儲器裝置執行的區域的狀態,推遲第一存儲器操作的開始。
1.一種主機裝置,包括:
2.如權利要求1所述的主機裝置,其中,在第一自適應矩陣中,第一地址的較高位中的至少一個位以特定模式布置。
3.如權利要求1所述的主機裝置,其中,在第一自適應矩陣中,第一地址的較高位以特定模式布置。
4.如權利要求1所述的主機裝置,其中,第一自適應矩陣的逆矩陣存在。
5.如權利要求1所述的主機裝置,其中,第一自適應矩陣包括上三角矩陣,在上三角矩陣中,第一地址的較高位以特定模式布置在上三角矩陣的主對角線上方的元素中。
6.如權利要求1至5中的任一項所述的主機裝置,其中,高速緩存管理電路還被配置為:通過使用與第一地址的較高位對應的第一方法來確定第一自適應矩陣。
7.如權利要求1至5中的任一項所述的主機裝置,其中,高速緩存管理電路還被配置為:基于管理表識別映射到第一地址的較高位的第一自適應矩陣。
8.如權利要求1至5中的任一項所述的主機裝置,其中,高速緩存管理電路被配置為:通過對第一自適應矩陣和第一向量執行乘法以及異或運算來生成第一索引。
9.如權利要求1至5中的任一項所述的主機裝置,其中,第一地址的較低位的數量與第一索引的位的數量匹配。
10.如權利要求1至5中的任一項所述的主機裝置,其中,所述多個數據還包括第二數據,所述多個索引還包括第二索引,并且
11.如權利要求10所述的主機裝置,其中,基于第一地址的較高位的值與第二地址的較高位的值不同,第一自適應矩陣與第二自適應矩陣不同。
12.如權利要求10所述的主機裝置,其中,基于第一地址的較高位的值與第二地址的較高位的值對應,第一自適應矩陣與第二自適應矩陣相同。
13.一種主機裝置,包括:
14.如權利要求13所述的主機裝置,其中,所述多個數據還包括第二數據,所述多個索引還包括第二索引,并且
15.如權利要求14所述的主機裝置,其中,基于第一線程和第二線程彼此不同,第一自適應矩陣與第二自適應矩陣不同。
16.如權利要求14所述的主機裝置,其中,基于第一線程與第二線程對應,第一自適應矩陣與第二自適應矩陣相同。
17.如權利要求13所述的主機裝置,其中,高速緩存管理電路還被配置為:從指示分別映射到多個線程的多個自適應矩陣的管理表識別映射到第一線程的第一自適應矩陣。
18.如權利要求17所述的主機裝置,其中,高速緩存管理電路還被配置為:監視所述多個路被填充的模式,并且基于監視的結果更新管理表。
19.如權利要求13至18中的任一項所述的主機裝置,其中,所述主機裝置包括中央處理器、圖形處理器和神經網絡處理器中的任何一個。
20.一種操作主機裝置的方法,所述主機裝置包括高速緩存,其中,高速緩存包括多個路,其中,所述多個路中的每個具有由多個索引區分的區域,所述方法包括: