TWI738600B - 位址拌碼器 - Google Patents
位址拌碼器 Download PDFInfo
- Publication number
- TWI738600B TWI738600B TW109146989A TW109146989A TWI738600B TW I738600 B TWI738600 B TW I738600B TW 109146989 A TW109146989 A TW 109146989A TW 109146989 A TW109146989 A TW 109146989A TW I738600 B TWI738600 B TW I738600B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- memory block
- logical
- addresses
- physical addresses
- Prior art date
Links
Images
Landscapes
- Storage Device Security (AREA)
- Memory System (AREA)
- Image Input (AREA)
Abstract
本發明提出一種位址拌碼器,用於將多個實體位址轉換成多個邏輯位址。位址拌碼器包含第一記憶區塊、第二記憶區塊以及處理單元。第一記憶區塊儲存多個位址查找表,每一個邏輯位址對應所述多個位址查找表其中之一。第二記憶區塊儲存多個拌碼運算式的所有運算結果,每一個拌碼運算式關聯於至少部分的實體位址,且每一個邏輯位址更對應所述多個拌碼運算式其中之一。處理單元電性連接第一記憶區塊與第二記憶區塊,依據所述多個實體位址的數值,選擇其中一個拌碼運算式的其中一個運算結果,並儲存於對應同一個邏輯位址的位址查找表。
Description
本發明係關於一種位址拌碼器,特別是關於一種利用記憶體實現的位址拌碼器。
然而,隨著半導體元件的功能越來越複雜,測試裝置的測試項目也越來越多。舉例來說,在晶片的記憶體測試應用中,需要經過位址拌碼器將預期測試的實體位址(physical address)轉換成邏輯位址(logical address),從而讓晶片內部的位址解碼單元(X/Y decode)可以基於轉換後的邏輯位址在正確的實際位址(actual address)進行測試,例如測試是否能正確讀寫實際位址的資料。一般來說,業界經常使用固定式的邏輯電路來實作出位址拌碼器。然而,若採用傳統固定式的邏輯電路,每一種邏輯運算式子就會需要不同的算術邏輯單元,使得位址拌碼器要涵蓋所有可能的邏輯運算式將會需要大量的算術邏輯單元。換句話說,傳統的位址拌碼器由於用硬體實作邏輯電路,不僅會增加額外的成本,且能夠切換的組合有限。此外,利用硬體的邏輯電路切換,也減少了日後調整與修改的彈性。
本發明提供一種位址拌碼器,利用矩陣記憶體(matrix memory)取代複雜的邏輯電路,除了能保留了日後調整與修改的彈性,也因為不需要使用成組的邏輯電路,可以減少額外的成本負擔。
本發明提出一種位址拌碼器,用於將多個實體位址轉換成多個邏輯位址,位址拌碼器包含第一記憶區塊、第二記憶區塊以及處理單元。所述第一記憶區塊儲存多個位址查找表,每一個邏輯位址對應所述多個位址查找表其中之一。所述第二記憶區塊儲存多個拌碼運算式的所有運算結果,每一個拌碼運算式關聯於至少部分的實體位址,且每一個邏輯位址更對應所述多個拌碼運算式其中之一。所述處理單元電性連接第一記憶區塊與第二記憶區塊,依據所述多個實體位址的數值,選擇其中一個拌碼運算式的其中一個運算結果,並儲存於對應同一個邏輯位址的位址查找表。
於一實施例中,所述多個實體位址定義一個實體位址矩陣,所述多個邏輯位址定義一個邏輯位址矩陣,且實體位址與邏輯位址的數量可以相同。在此,第二記憶區塊更可以包含多個子記憶區塊,每一個子記憶區塊儲存部分的拌碼運算式的所有運算結果,且子記憶區塊的容量可以相同。此外,處理單元更聯集所述多個子記憶區塊中,對應相同邏輯位址的拌碼運算式的所有運算結果,並選擇其中一個運算結果儲存於對應同一個邏輯位址的位址查找表。另外,實體位址的數量為子記憶區塊的整數倍。
綜上所述,本發明提供的位址拌碼器利用記憶體進行實體位址與邏輯位址的轉換。並且,本發明的位址拌碼器可以預先儲存拌碼運算式的所有運算結果,要轉換邏輯位址時,只要依據實體位址的內容即時將其中一個運算結果存放在對應所述邏輯位址的位址查找表,即可以快速完成實體位址與邏輯位址的轉換。藉此,本發明的位址拌碼器可以取代複雜的邏輯電路,除了能保留了日後調整與修改的彈性,也因為不需要使用成組的邏輯電路,可以減少額外的成本負擔。
下文將進一步揭露本發明之特徵、目的及功能。然而,以下所述者,僅為本發明之實施例,當不能以之限制本發明之範圍,即但凡依本發明申請專利範圍所作之均等變化及修飾,仍將不失為本發明之要意所在,亦不脫離本發明之精神和範圍,故應將視為本發明的進一步實施態樣。
請參閱圖1,圖1係繪示依據本發明一實施例之位址拌碼器的功能方塊圖。如圖1所示,位址拌碼器1可以應用於一種多通道測試裝置(圖未示)中,所述多通道測試裝置可以用以對待測元件進行電性測試,待測元件可以是一個半導體晶片、電路或者電子設備,本實施例在此不加以限制。於一個例子中,多通道測試裝置可以包含測試載板以及測試模組,測試模組可以是一種功能卡或者測試卡,且測試模組可以經由測試載板電性連接待測元件。實務上,在晶片的記憶體測試應用中,測試模組需要經過位址拌碼器1將預期測試的實體位址(physical address)轉換成邏輯位址(logical address)。以下分別說明位址拌碼器1的元件與功能。
如圖1所示,位址拌碼器1包含第一記憶區塊10、第二記憶區塊12以及處理單元14,處理單元14分別電性連接第一記憶區塊10以及第二記憶區塊12,並且處理單元14可以存取第一記憶區塊10以及第二記憶區塊12的內容。雖然圖1中繪示了第一記憶區塊10以及第二記憶區塊12,但第一記憶區塊10以及第二記憶區塊12有可能是同一個記憶體,在此不加以限制。於圖1繪示的例子中,第一記憶區塊10中可以有多個儲存單元100a~100n,儲存單元100a~100n各自可以儲存一個對應的位址查找表(address LUT),例如儲存單元100a和儲存單元100b中會儲存有不同的位址查找表。此外,第二記憶區塊12中也可以有多個儲存單元120a~120n,儲存單元120a~120n各自可以儲存一個拌碼運算式的所有運算結果,例如儲存單元120a和儲存單元120b中會對應到不同的拌碼運算式,當然不同的拌碼運算式會對應不同的運算結果。
為了方便說明,在此假設位址拌碼器1要轉換一個16x16的實體位址矩陣到一個16x16的邏輯位址矩陣,則本實施例可以將實體位址矩陣中的不同位址由實體位址X0~X15和實體位址Y0~Y15表示。同理,邏輯位址矩陣中的不同位址由邏輯位址Xs0~Xs15和邏輯位址Ys0~Ys15表示。換句話說,這裡係以32個實體位址為例子,且轉換出來的邏輯位址也是32個。此外,第一記憶區塊10以及第二記憶區塊12會有對應關係,例如邏輯位址Xs0可以對應儲存單元100a以及儲存單元120a,邏輯位址Xs1可以對應儲存單元100b以及儲存單元120b。於一個例子中,每一個邏輯位址會對應一個拌碼運算式,這裡假設關聯於邏輯位址Xs0的拌碼運算式表示如下算式(1):
Xs0=X0&X1^Y2^Y3-X3-Y4&X5 (1)
由算式(1)可以看出,關聯於邏輯位址Xs0的拌碼運算式可以有7個參數,分別是實體位址X0、X1、X3、X5以及實體位址Y2、Y3、Y4,且7個參數的數值可以交互運算。本實施例不限制拌碼運算式中的運算子的種類、排列順序或運算結果。雖然本實施例示範了拌碼運算式可以有7個參數,但不限制拌碼運算式的參數數量,例如拌碼運算式的參數數量可能是依據處理單元14的規格決定。於所屬技術領域具有通常知識者可知,由於邏輯位址Xs0~Xs15和邏輯位址Ys0~Ys15各自都會對應到不同的拌碼運算式,若要以硬體的方式來進行實體位址與邏輯位址的轉換,顯然需要使用非常大量的邏輯電路。據此,本實施例提出了不需要大量邏輯電路的方案,而是利用了第一記憶區塊10以及第二記憶區塊12來實現實體位址與邏輯位址的轉換。
承接上述的例子,本實施例可以於第二記憶區塊12中,儲存每一個拌碼運算式的所有運算結果。以前述邏輯位址Xs0的拌碼運算式為例,本實施例可以於第二記憶區塊12中記錄了實體位址X0、X1、X3、X5以及實體位址Y2、Y3、Y4各種輸入的可能性,以及對應不同輸入的運算結果。換句話說,當32個實體位址(實體位址X0~X15和實體位址Y0~Y15)的所有排列組合充分展開出一張真值表時,所述真值表應當有一列是2
32的位元數,而本實施例的第二記憶區塊12即是作為真值表的功能,預先儲存了32個實體位址的所有排列組合。
可以注意到,第二記憶區塊12包含多個儲存單元120a~120n,儲存單元120a由於是對應到邏輯位址Xs0,邏輯位址Xs0又對應到上述算式(1)的拌碼運算式。可知,儲存單元120a僅需要儲存關聯於前述7個參數(實體位址X0、X1、X3、X5以及實體位址Y2、Y3、Y4)的所有運算結果,也就是儲存單元120a會存有對應7個參數的真值表。由於實體位址X0、X1、X3、X5以及實體位址Y2、Y3、Y4的數值都是外部輸入,屬於已知的可變參數,故處理單元14可以對應找出依據目前實體位址X0、X1、X3、X5以及實體位址Y2、Y3、Y4的數值,應當對應到的其中一個運算結果。實務上,假設實體位址X0、X1、X3、X5、Y2、Y3、Y4的數值分別為0、0、1、1、0、1、1時,處理單元14可以從儲存單元120a中對應找出一組運算結果。並且,處理單元14可以接著將上述選出的運算結果,存入對應同一個邏輯位址Xs0的儲存單元100a,這個被存入的運算結果即是邏輯位址Xs0的位址查找表。
當然,假設實體位址X0、X1、X3、X5、Y2、Y3、Y4的數值不同,而分別為1、0、0、0、1、1、0時,處理單元14又可以從儲存單元120a中對應找出另一組運算結果,接著存入對應同一個邏輯位址Xs0的儲存單元100a。由此可知,儲存在儲存單元100a中的邏輯位址Xs0的位址查找表,是由處理單元14依據實體位址的數值動態填入的,從而可以提高位址拌碼器1的應用彈性。
值得一提的是,由上述的例子可知,第二記憶區塊12預先儲存了32個實體位址的所有排列組合,可知第二記憶區塊12的一個維度(例如縱向)要有2
32個位元數。接著,由於儲存單元120a儲存的拌碼運算式7個參數,所以儲存單元120a的一個維度(例如橫向)要有7個位元數。此外,由於第二記憶區塊12中的儲存單元120a~120n分別對應32個邏輯位址(邏輯位址Xs0~Xs15和邏輯位址Ys0~Ys15),即第二記憶區塊12於另一個維度(例如橫向)要有32*7個位元數(共224個位元數)。換句話說,圖1繪示的第二記憶區塊12需要2
32乘224位元的容量。於一個例子中,本發明還可以將第二記憶區塊12拆成多個子記憶區塊,以進一步縮減第二記憶區塊12的容量。
請一併參閱圖1與圖2,圖2係繪示依據本發明一實施例之多個子記憶區塊的功能方塊圖。如圖所示,第二記憶區塊22還可以由4個子記憶區塊220~226組成,子記憶區塊220~226可以具有相同的容量。在此,每一個子記憶區塊可以會接收一部分的實體位址,例如前述的32個實體位址(實體位址X0~X15和實體位址Y0~Y15)可以先分為4組,子記憶區塊220接收第一組實體位址PA1(實體位址X0~X7),子記憶區塊222接收第二組實體位址PA2(實體位址X8~X15),子記憶區塊224接收第三組實體位址PA3(實體位址Y0~Y7),子記憶區塊226接收第四組實體位址PA4(實體位址Y8~Y15)。
為了方便說明,在此選擇以其中一個子記憶區塊220做為例子。與前一實施例第二記憶區塊12相同的是,本實施例子記憶區塊220中,也可以具有多個儲存單元220a~220n,儲存單元220a~220n可以分別對應32個邏輯位址(邏輯位址Xs0~Xs15和邏輯位址Ys0~Ys15)。與前一實施例第二記憶區塊12不同的是,第二記憶區塊12預先儲存了32個實體位址的所有排列組合,而子記憶區塊220僅記錄關於實體位址X0~X7的部分排列組合。以前述邏輯位址Xs0的拌碼運算式為例,本實施例可以於子記憶區塊220中記錄了實體位址X0、X1、X3、X5各種輸入的可能性,以及對應不同輸入的運算結果,但不儲存實體位址Y2、Y3、Y4的運算結果。如前所述,實體位址Y2、Y3、Y4的運算結果係儲存於子記憶區塊224。
於所屬技術領域具有通常知識者可以理解,子記憶區塊220~226的資料在聯集後會相同於第二記憶區塊12的內容。回到邏輯位址Xs0的例子,假設實體位址X0、X1、X3、X5、Y2、Y3、Y4的數值分別為0、0、1、1、0、1、1時,處理單元14可以依據實體位址X0、X1、X3、X5的數值(0、0、1、1)查找子記憶區塊220中的儲存單元220a,以及依據實體位址Y2、Y3、Y4的數值(0、1、1)查找子記憶區塊子記憶區塊224中的儲存單元224a,便能夠從儲存單元220a和儲存單元224a中各自對應找出一組運算結果。並且,處理單元14可以接著將上述選出的兩組運算結果聯集,存入對應同一個邏輯位址Xs0的儲存單元100a(如圖1所示),這個被存入的運算結果即是邏輯位址Xs0的位址查找表。
從圖2的例子可知,子記憶區塊220的一個維度(例如縱向)只需要有2
7個位元數。接著,子記憶區塊220於另一個維度(例如橫向)與前一實施例相同的是要有32*7個位元數(共224個位元數)。換句話說,圖2繪示的子記憶區塊220需要2
7乘224位元的容量,又圖2的第二記憶區塊22有4個子記憶區塊,故第二記憶區塊22的總容量是4倍的2
7乘224位元。顯然地,圖2的第二記憶區塊22所需要的容量會小於圖1的第二記憶區塊12所需要的容量。
綜上所述,本發明提供的位址拌碼器利用記憶體進行實體位址與邏輯位址的轉換。並且,本發明的位址拌碼器可以預先儲存拌碼運算式的所有運算結果,要轉換邏輯位址時,只要依據實體位址的內容即時將其中一個運算結果存放在對應所述邏輯位址的位址查找表,即可以快速完成實體位址與邏輯位址的轉換。藉此,本發明的位址拌碼器可以取代複雜的邏輯電路,除了能保留了日後調整與修改的彈性,也因為不需要使用成組的邏輯電路,可以減少額外的成本負擔。
1:位址拌碼器
10:第一記憶區塊
100a~100n:儲存單元
12:第二記憶區塊
120a~120n:儲存單元
14:處理單元
22:第二記憶區塊
220~226:子記憶區塊
220a~220n:儲存單元
222a~222n:儲存單元
224a~224n:儲存單元
226a~226n:儲存單元
PA1~PA4:實體位址
圖1係繪示依據本發明一實施例之位址拌碼器的功能方塊圖。
圖2係繪示依據本發明一實施例之多個子記憶區塊的功能方塊圖。
無
1:位址拌碼器
10:第一記憶區塊
100a-100n:儲存單元
12:第二記憶區塊
120a~120n:儲存單元
14:處理單元
Claims (5)
- 一種位址拌碼器,用於將多個實體位址轉換成多個邏輯位址,該位址拌碼器包含: 一第一記憶區塊,儲存多個位址查找表,每一該邏輯位址對應該些位址查找表其中之一; 一第二記憶區塊,儲存多個拌碼運算式的所有運算結果,每一該拌碼運算式關聯於至少部分的該些實體位址,且每一該邏輯位址更對應該些拌碼運算式其中之一;以及 一處理單元,電性連接該第一記憶區塊與該第二記憶區塊,依據該些實體位址的數值,選擇其中一該拌碼運算式的其中一個運算結果,並儲存於對應同一該邏輯位址的該位址查找表。
- 如請求項1所述之位址拌碼器,其中該些實體位址定義一實體位址矩陣,該些邏輯位址定義一邏輯位址矩陣,且該些實體位址與該些邏輯位址的數量相同。
- 如請求項1所述之位址拌碼器,其中該第二記憶區塊更包含多個子記憶區塊,每一該子記憶區塊儲存部分的該些拌碼運算式的所有運算結果,且該些子記憶區塊的容量相同。
- 如請求項3所述之位址拌碼器,其中該處理單元更聯集該些子記憶區塊中,對應相同該邏輯位址的該拌碼運算式的所有運算結果,並選擇其中一個運算結果儲存於對應同一該邏輯位址的該位址查找表。
- 如請求項3所述之位址拌碼器,其中該些實體位址的數量為該些子記憶區塊的整數倍。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW109146989A TWI738600B (zh) | 2020-12-31 | 2020-12-31 | 位址拌碼器 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW109146989A TWI738600B (zh) | 2020-12-31 | 2020-12-31 | 位址拌碼器 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI738600B true TWI738600B (zh) | 2021-09-01 |
| TW202228144A TW202228144A (zh) | 2022-07-16 |
Family
ID=78777946
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW109146989A TWI738600B (zh) | 2020-12-31 | 2020-12-31 | 位址拌碼器 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI738600B (zh) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102567137A (zh) * | 2010-12-27 | 2012-07-11 | 北京国睿中数科技股份有限公司 | 在分支预测失败时使用rob恢复rat内容的系统和方法 |
| US8452912B2 (en) * | 2007-10-11 | 2013-05-28 | Super Talent Electronics, Inc. | Flash-memory system with enhanced smart-storage switch and packed meta-data cache for mitigating write amplification by delaying and merging writes until a host read |
| US9009565B1 (en) * | 2013-03-15 | 2015-04-14 | Pmc-Sierra, Inc. | Systems and methods for mapping for solid-state memory |
| US9190173B2 (en) * | 2012-03-30 | 2015-11-17 | Intel Corporation | Generic data scrambler for memory circuit test engine |
-
2020
- 2020-12-31 TW TW109146989A patent/TWI738600B/zh active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8452912B2 (en) * | 2007-10-11 | 2013-05-28 | Super Talent Electronics, Inc. | Flash-memory system with enhanced smart-storage switch and packed meta-data cache for mitigating write amplification by delaying and merging writes until a host read |
| CN102567137A (zh) * | 2010-12-27 | 2012-07-11 | 北京国睿中数科技股份有限公司 | 在分支预测失败时使用rob恢复rat内容的系统和方法 |
| CN102567137B (zh) | 2010-12-27 | 2013-09-25 | 北京国睿中数科技股份有限公司 | 在分支预测失败时使用rob恢复rat内容的系统和方法 |
| US9190173B2 (en) * | 2012-03-30 | 2015-11-17 | Intel Corporation | Generic data scrambler for memory circuit test engine |
| TWI556253B (zh) * | 2012-03-30 | 2016-11-01 | 英特爾股份有限公司 | 用於記憶體電路測試引擎之通用資料拌碼器 |
| US9009565B1 (en) * | 2013-03-15 | 2015-04-14 | Pmc-Sierra, Inc. | Systems and methods for mapping for solid-state memory |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202228144A (zh) | 2022-07-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7577819B2 (en) | Vector indexed memory unit and method | |
| KR100781132B1 (ko) | 멀티뱅크, 고장 방지 능력, 고성능 메모리 어드레싱시스템 및 방법 | |
| US7528627B2 (en) | Method and apparatus for performing shifting in an integrated circuit | |
| KR101818441B1 (ko) | 데이터 처리 장치 및 이의 동작 방법 | |
| JPH03132212A (ja) | 構成を変更可能な論理アレイ | |
| US4254463A (en) | Data processing system with address translation | |
| CN112597071B (zh) | 数据存储方法、获取方法、装置、电子设备以及介质 | |
| US8762686B2 (en) | Multimode accessible storage facility | |
| TWI738600B (zh) | 位址拌碼器 | |
| JP2015115665A (ja) | 二値算術符号化装置、二値算術符号化方法及び二値算術符号化プログラム | |
| US12248763B2 (en) | Arithmetic devices for neural network | |
| US7072530B2 (en) | Semiconductor memory apparatus | |
| JP2013207382A (ja) | インタリーブ制御装置、インタリーブ処理装置及びインタリーブ処理方法 | |
| EP2911052B1 (en) | Apparatus for mutual-transposition of scalar and vector data sets and related method | |
| EP0120371A2 (en) | Fault alignment control system and circuits | |
| US6101522A (en) | Product-sum calculation circuit constructed of small-size ROM | |
| US11928077B2 (en) | Data processing circuit, data storage device including the same, and operating method thereof | |
| US20140108716A1 (en) | Dynamic random access memory for storing randomized data and method of operating the same | |
| WO2024164466A1 (zh) | 一种修复电路及方法、存储器和电子设备 | |
| US5987488A (en) | Matrix processor | |
| GB2271032A (en) | IC reset circuit | |
| JPH03276242A (ja) | 記憶装置 | |
| JPH0653840A (ja) | 可変長復号器 | |
| US12119037B2 (en) | Refresh circuit, memory, and refresh method | |
| KR20080069356A (ko) | 컨벌루셔널 터보 코드에서 사용되는 인터리버의 인터리브드 주소 발생기, 그 방법 및 씨티씨에서 사용되는 인터리버 |