TWI779458B - 用於任意全資料奇特扇區大小支援之軟體為主解決方案 - Google Patents
用於任意全資料奇特扇區大小支援之軟體為主解決方案 Download PDFInfo
- Publication number
- TWI779458B TWI779458B TW110101330A TW110101330A TWI779458B TW I779458 B TWI779458 B TW I779458B TW 110101330 A TW110101330 A TW 110101330A TW 110101330 A TW110101330 A TW 110101330A TW I779458 B TWI779458 B TW I779458B
- Authority
- TW
- Taiwan
- Prior art keywords
- dut
- tester processor
- data
- tester
- layer
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/36—Data generation devices, e.g. data inverters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
Abstract
一自動化測試裝備(ATE)系統包含一電腦系統,該電腦系統包含一系統控制器,其中該系統控制器係通訊性耦合至一測試器處理器,其中該系統控制器可操作以將指令傳送至該測試器處理器。該測試器處理器可操作以從該等指令產生命令及資料,用於協調一被測裝置(DUT)之測試,其中該DUT支援一任意扇區大小,並且其中該測試器處理器上之軟體層進行運算以能夠控制該測試器處理器與該DUT中任意大小之扇區之間的資料流。
Description
本申請案係2018年12月20日提出申請之題為「AUTOMATED TEST EQUIPMENT(ATE)SUPPORT FRAMEWORK FOR SOLID STATE DEVICE(SSD)ODD SECTOR SIZES AND PROTECTION MODES」之美國專利申請案第16/227,389號之部分連續案,發明人的姓名為Srdjan Malisic、Micahel Jones及Albert Albert,已在2018年12月20日提出申請,並且代理人案號為ATSY-0062-01.01US,其全文就所有目的係以參考方式併入本文中。
本申請案還對2020年2月28日提出申請之題為「SOFTWARE-ONLY SOLUTION FOR ARBITRARY ALL-DATA ODD SECTOR SIZE SUPPORT」之美國臨時申請案第62/983,118號主張優先權,其案號為ATSY-0080-00.00US。上列各申請案之完整內容係特此就所有目的以參考方式併入本文中,猶如是在本文中提出。
本揭露大致係有關於電子裝置測試系統領域,並且更具體而言,係有關於用於測試被測裝置(DUT),例如固態驅動機(SSD),之電子裝置測試裝備領域。
自動化測試裝備(ATE)可以是對半導體裝置或電子總成進行一測
試之任何測試總成。ATE總成可用於執行快速進行測量並產生測試結果之自動化測試,可接著對該等測試結果進行分析。一ATE總成可以是從耦合至一計量器之一電腦系統到一複雜自動化測試總成之任何東西,其可包括一自訂、專屬電腦控制系統及許多不同測試儀器,有自動測試電子零件及/或半導體晶圓測試之能力,諸如系統晶片(SOC)測試或積體電路測試。ATE系統減少在測試裝置上花費之時間量以確保裝置按設計作用,同時還當作一診斷工具,用以確定一給定裝置在送達消費者之前,裡面是否存在故障組件。
圖1係一習知的自動測試裝備本體100的一示意方塊圖,用於測試某些典型DUT,例如一半導體記憶體裝置,諸如一DRAM。ATE包括帶有硬體匯流排配接器插座110A至110N之一ATE本體100。例如PCIe、USB、SATA、SAS等之一特定通訊協定特有之硬體匯流排配接器卡110A至110N連接至設置在ATE本體上之硬體匯流排配接器插座,並且經由相應協定特有之纜線與DUT介接。ATE本體100亦包括帶有一相關聯記憶體108之一測試器處理器101,用以控制ATE本體100內建之硬體組件,並且產生與透過硬體匯流排配接器卡測試之DUT通訊所需之命令及資料。測試器處理器101透過系統匯流排130與硬體匯流排配接器卡通訊。可將測試器處理器規劃為包括某些功能塊,該等功能塊包括一型樣產生器102及一比較器106。替代地,型樣產生器102及比較器106可以是裝配在一擴充或配接器卡上之硬體組件,該等硬體組件插塞到ATE本體100裡。
ATE本體100透過插塞到ATE本體100之硬體匯流排配接器插座裡之硬體匯流排配接器來測試連接至ATE本體100之DUT 112A至112N之電氣功能。因此,測試器處理器101係規劃為使用硬體匯流排配接器獨特之協定將測試程式傳送至DUT。同時,ATE本體100內建之其他硬體組件根據測試器處理器101中運作之測試程式彼此且與DUT進行信號通訊。
藉由測試器處理器101運行之測試程式可包括一功能測試,該功能
測試涉及將藉由型樣產生器102建立之輸入信號寫入至DUT、從該等DUT讀出該等寫入之信號、以及使用比較器106來比較輸出與期望型樣。如果輸出與輸入不匹配,則測試器處理器101會將DUT識別為有缺陷。舉例而言,如果DUT係諸如一DRAM之一記憶體裝置,則測試程式會使用一寫入操作將藉由型樣產生器102產生之資料寫入至該DUT、使用一讀取操作從該DRAM讀取資料、以及使用比較器106比較期望之位元型樣與讀取之型樣。
在習知系統中,測試器處理器101必須含有功能邏輯塊才能產生測試DUT時使用之命令及測試型樣,諸如型樣產生器102及比較器106,其直接在處理器上被規劃成軟體。然而,在一些例子中,可在一可現場規劃閘陣列(FPGA)上實施某些功能塊,諸如比較器106,該FPGA係可根據一使用者之需求對邏輯電路進行規劃之一特定應用積體電路(ASIC)型半導體裝置。
習知系統中使用之FPGA依賴測試器處理器101將命令及測試型樣轉移至FPGA,FPGA進而將其轉發至DUT。由於測試器處理器負責產生命令及測試型樣,並非由FPGA負責產生,因此可憑藉一給定ATE本體測試之DUT之數量及類型受到測試器處理器之處理能力及規劃所限制。
同樣地,在習知系統中,用於與DUT通訊之通訊協定已固定,因為插塞到ATE本體100裡之硬體匯流排配接器卡係單一目的裝置,其設計旨在僅以一種協定進行通訊,並且無法再規劃為以一不同協定進行通訊。舉例而言,被組配用以測試PCIe裝置之一ATE本體將具有插塞到該本體裡之硬體匯流排配接器卡,其僅支援PCIe協定。為了測試支援一不同協定,例如SATA,之DUT,使用者通常必須以支援SATA協定之匯流排配接器卡更換PCIe硬體匯流排配接器卡。除非PCIe硬體匯流排配接器卡實體上係以支援其他協定之卡片代換,否則此一系統只能測試支援PCIe協定之DUT。因此,在測試場地上,當必須測試運行與現有配接器卡支援之協定不同之一協定的DUT時,更換硬體匯流排配接
器卡會消耗關鍵時間。
習知測試器系統之一缺點在於這些測試系統目前未支援對帶有含全資料之奇特扇區大小的DUT(例如:SSD)進行測試,例如,帶有不含任何保護資訊(非PI)之奇特扇區大小的DUT。舉例而言,市場上可得之固態驅動機(SSD)大部分係針對標準扇區大小進行格式化,例如每扇區4096位元組、每扇區512位元組。大部分現代硬碟機使用兩種標準扇區大小之一:每扇區512位元組或每扇區4096位元組。然而,某些廠商亦支援全資料奇特扇區大小,例如每扇區520位元組(BPS)或每扇區528位元組(BPS),尤其是對於要在企業級系統中使用之驅動機。
這些驅動機具有使用者資料儲存專屬之整個扇區大小,而不是將附加大小用於系統儲存,如保護資訊。裝置使用者可存取各520位元組或528位元組扇區中之資料之每個位元組。測試器系統無法如其憑藉帶有保護資訊(PI)用附加位元組之驅動機所做那樣將附加位元組去除掉。再者,測試器系統必須存取驅動機之所有扇區,包括資料之附加位元組。大部分作業系統無法處理如這些之驅動機。因此,SSD上之習知ATE測試受到限制,因為其不支援對帶有全資料奇特扇區大小之驅動機進行測試。
因此,需要一種可因應上述系統問題之測試器架構。所需要的是一測試器系統,其支援用於測試包含全資料奇特扇區大小之DUT(例如:SSD)之軟體級。另外,需要一測試器系統,其可處置對任何扇區大小之全資料扇區SSD所進行之測試,包括透過軟體變更對非標準大小之全資料扇區SSD所進行之測試。舉例而言,SSD可具有520 BPS、4104 BPS、528 BPS及4224 BPS之非標準扇區大小,或甚至任何其他任意扇區大小。所需要的是一測試器系統,其能夠無縫且有效率地測試帶有任意扇區大小之SSD,其中該等扇區包含資料。
在一項實施例中,揭示一種自動化測試裝備(ATE)系統。該系統包含一電腦,該電腦包含一系統控制器,其中該系統控制器係通訊性耦合至一測試器處理器,其中該系統控制器可操作以將指令傳送至該測試器處理器。該測試器處理器可操作以從該等指令產生命令及資料,用於協調一被測裝置(DUT)之測試,其中該DUT支援一任意扇區大小,並且其中該測試器處理器上之軟體層進行運算以能夠控制該測試器處理器與該DUT中任意大小之扇區之間的資料流。
在另一實施例中,一種用於使用一自動化測試裝備(ATE)進行測試之方法包含從一電腦系統之一系統控制器向一測試器處理器傳送指令,其中該系統控制器係通訊性耦合至該測試器處理器。該方法亦包含使用該測試器處理器來產生命令及資料,用於對一被測裝置(DUT)之測試進行協調,其中該DUT支援複數個任意全資料扇區大小,並且其中該測試器處理器上之軟體層進行運算以能夠控制該測試器處理器與該DUT中之該等複數個任意全資料扇區大小之間的資料流。
再者,需要一種測試架構,可藉此將命令及測試型樣產生功能轉移到FPGA上,以使得可最低限度保持測試器處理器上之處理負載及系統匯流排上之頻寬需求。再者,需要一種測試架構,可藉此在FPGA裝置上規劃通訊性協定引擎,以使得用於與DUT通訊之協定屬於可重新組配。
在一不同實施例中,一自動化測試裝備(ATE)設備包含一電腦系統,其包含一系統控制器,其中該系統控制器係通訊性耦合至一測試器處理器及一FPGA,其中該系統控制器係可操作以將指令傳送至該測試器處理器,並且其中該測試器處理器係可操作以從該等指令產生命令及資料用於對一被測裝置(DUT)之測試進行協調,其中該DUT支援複數個非標準全資料扇區大小。該FPGA係通訊性耦合至該測試器處理器,其中該FPGA包含至少一個硬體加速器電路,
該至少一個硬體加速器電路可操作以對該測試器處理器透明地內部產生命令及資料用於測試該DUT。再者,該測試器處理器被組配用以在複數種功能模式之一中運作,其中各功能模式被組配用以分配用於產生命令、及用於採用一不同方式在該測試器處理器與該FPGA之間產生資料之功能,並且其中在標準模式中,該測試器處理器被組配用以產生用於對該DUT之測試進行協調之所有命令及資料,包含該等複數個非標準全資料扇區大小。
透過以下詳細說明,連同附圖,將更加理解本發明之本質及優點。
100:自動化測試裝備本體
101,204,304:測試器處理器
102:型樣產生器
106:比較器
108:相關聯記憶體
110A~110N:硬體匯流排配接器插座
112A~112N,220A~220N,372A~372M,1020,1170,1250:DUT
130,330,332:系統匯流排
200:ATE設備
201,301:系統控制器
202:網路交換機
210A~210N,410:實體化FPGA測試器區塊
211A~211M:FPGA裝置
212,352,354:匯流排
230A~230N:站點模組板
240A~240M:記憶體區塊模組
300:ATE
302:網路交換機
305,308:記憶體模組
310A,310B:站點模組
316,318:FPGA
332A,332B:裝置電力供應器
340A~340N:測試器切片
380:裝載板
390:熱腔室
420:區域記憶體模組
430:協定引擎模組
440:硬體加速器區塊
443:演算法型樣產生器模組
444:記憶體控制模組
445:封包建置器模組
446:比較器模組
450:邏輯塊模組
470:PCIe上游連接埠
472,474,476:路徑
480:下游連接埠
482:路由安排邏輯
500,600,700,800,900,1300:流程圖
502~508,602~612,702,704,710~714,802~806,810~814,902~908,912~916,1310~1322,1410~1420:程序塊
706,708,808,910:步驟
1000:DIB
1010,1130A,1130B:基元
1050,1070:包殼
1105:系統
1110:主機控制器
1120:通訊底板
1150:FPGA測試器切片
1160:驅動器
1165:裝置介面板
1210:使用者應用程式層
1220:VSS層
1230:Linux區塊層
1240:裝置驅動程式層
1291~1293:模組
本發明之實施例是在附圖之圖式中以舉例方式說明,並非要作為限制,且其中相似的參考符號意指為類似的元件。
圖1係用於測試一典型被測裝置(DUT)之一習知自動化測試裝備本體的一示意方塊圖。
圖2根據本發明之一項實施例,係系統控制器、站點模組與DUT之間互連的一高階示意方塊圖。
圖3根據本發明之一實施例,係站點模組及其與系統控制器及DUT之互連的一詳細示意方塊圖。
圖4根據本發明之一實施例,係圖2之實體化FPGA測試器區塊的一詳細示意方塊圖。
圖5根據本發明之一實施例,係測試DUT之一例示性方法的一高階流程圖。
圖6係圖5之一延續,並且係本發明之一項實施例中在旁路模式中測試DUT之一例示性方法的一流程圖。
圖7係圖5之一延續,並且係本發明之一項實施例中在硬體加速器型樣產生器模式中測試DUT之一例示性方法的一流程圖。
圖8係圖5之一延續,並且係本發明之一項實施例中在硬體加速器記憶體模式中測試DUT之一例示性方法的一流程圖。
圖9係圖5之一延續,並且係本發明之一項實施例中在硬體加速器封包建置器模式中測試DUT之一例示性方法的一流程圖。
圖10根據本發明之一實施例,繪示與一裝置介面板(DIB)介接之一基元。
圖11根據本發明之一實施例,係自動測試裝備設備的一例示性高階方塊圖,其中一主機控制器係連接至複數個基元並且控制該等基元之測試操作。
圖12A根據本發明之一實施例,繪示應用程式層,其包含在測試器處理器上執行之軟體。
圖12B根據本發明之一實施例,繪示各應用程式層之功能,該等應用程式層包含測試器處理器上執行之軟體。
圖13根據本發明之一實施例,繪示測試支援任意扇區大小之DUT之一例示性電腦實施過程的一流程圖。
圖14根據本發明之一實施例,繪示測試支援任意扇區大小之DUT之一例示性電腦實施過程的一流程圖,其中一測試器處理器直接控制DUT。
在圖中,稱呼相同之元件具有相同或類似之功能。
現將詳細參照實施例,附圖中繪示其實例。儘管實施例將搭配圖式作說明,將瞭解的是,該等圖式並非意欲限制該等實施例。反之,實施例係意欲涵蓋替代例、修改及均等例。再者,在以下詳細說明中,許多特定細節係為了透徹理解而提出。然而,所屬技術領域中具有通常知識者將會認知,實施例無需這些特定細節也可實踐。在其他例子中,為了避免非必要地混淆實施例
之態樣,並未詳細說明眾所周知之方法、程序、組件、以及電路。
記號及用語章節
以下詳細說明有些區域係依據程序、邏輯塊、處理以及一電腦記憶體內資料位元操作之其他符號表示型態來呈現。這些說明與表示型態係資料處理領域中具有通常知識者用來最有效傳達其工作內容予所屬技術領域中具有通常知識者的手段。在本申請案中,一程序、邏輯塊、過程、或類似者係視為導致一所欲結果之步驟或指令之一自相一致性序列。該等步驟係那些需要對物理量進行實體操縱之步驟。這些量採取的形式通常,但非必要,係能夠在一電腦系統中被儲存、轉移、組合、比較、以及按其他方式操縱之電氣或磁性信號。
然而,應記住的是,這些與類似用語全都與適當物理量相關聯,而且只是套用到這些量之便利標示。除非另有具體敍述而從以下論述得以顯而易見,否則據了解,本發明各處利用諸如「存取」、「新增」、「調整」、「分析」、「套用」、「組裝」、「指派」、「計算」、「擷取」、「組合」、「比較」、「收集」、「建立」、「除錯」、「定義」、「繪示」、「檢測」、「確定」、「顯示」、「確立」、「執行」、「產生」、「分組」、「識別」、「啟始」、「修改」、「監測」、「移動」、「輸出」、「進行」、「置放」、「呈現」、「處理」、「規劃」、「查詢」、「移除」、「重複」、「回復」、「取樣」、「模擬」、「排序」、「儲存」、「減去」、「暫停」、「追蹤」、「變換」、「解除封鎖」、「使用」、或類似者等用語之論述意指為一電腦系統、或類似電子運算裝置之動作及處理,其將以電腦系統之暫存器及記憶體內之物理(電子)量表示之資料操縱及變換成以該等電腦系統之記憶體或暫存器或其他此類資訊儲存、傳輸或顯示裝置內之物理量採用類似方式表示之其他資料。
以下說明對可包括一或多個模組之電腦及其他裝置進行論述。「模組」或「區塊」一詞於本文中使用時,可理解其意指為軟體、韌體、硬體、及/
或以上的各種組合。應知,該等區塊及模組屬於例示性。可將該等區塊或模組組合、整合、分離及/或複製以支援各種應用。同樣地,代替本文中描述為在一特定模組或區塊處進行之一功能或除了該功能以外,所述特定模組或區塊處進行之功能還可予以在一或多個其他模組或區塊處及/或藉由一或多個其他裝置進行。再者,該等模組或區塊可橫跨彼此在本地端或遠距處之多個裝置及/或其他組件來實施。另外,可將該等模組或區塊從一個裝置移動並新增至另一裝置,及/或兩裝置中都可包括該等模組或區塊。可在一或多個儲存媒體中,舉例如在一記憶體裝置、一軟式磁片、一光碟(CD)、一數位多樣化光碟(DVD)、或可儲存電腦碼之其他裝置中,採用有形方式具體實現本發明之任何軟體實作態樣。
本文中使用之術語目的僅在於說明特定實施例而非意欲限制本發明之範疇。單數形式之「一」及「該」於本揭露各處使用時,包括複數參照,除非上下文另有清楚規定。因此,舉例而言,對「一模組」之一參照包括複數個此類模組、及單一模組、以及所屬技術領域中具有通常知識者已知之其均等模組。
用於任意全資料奇特扇區大小支援之軟體為主解決方案
本發明之實施例允許藉由在測試器內包括用於測試DUT(例如:固態驅動機(SSD)、硬碟機(HDD)等)之作業系統(OS)支援來提高測試吞吐量,該等DUT支援不同(例如,奇特、非標準或任意)扇區大小,不用重新組配硬體。更具體而言,支援任意或非標準扇區大小所需之計算及運算可藉由測試器系統內之一測試器處理器來進行。換句話說,在一項實施例中,可在一通用測試器處理器上之軟體中進行用於測試任意全資料扇區DUT(例如:SSD)之運算功能。舉例而言,藉由組配硬體以使得支援多種不同扇區大小類型之DUT可憑藉相同之硬體來測試而無需更換或代換任何硬體組件,本發明之實施例有助益地增加可在盛行之硬體及時間限制條件下進行測試之被測裝置(DUT)之數量及類型。本發明
之實施例係針對提升自動測試裝備之硬體中之測試效率。
圖2根據本發明之一實施例,係自動測試裝備(ATE)設備200的一例示性高階方塊圖,其中一測試器處理器係透過帶有內建功能模組之FPGA裝置連接至被測裝置(DUT)。在一項實施例中,可在能夠同時測試多個DUT之任何測試系統內實施ATE設備200。舉例而言,在一項實施例中,可在如圖10所示之一基元內部實施設備200。
請參照圖2,根據本發明之一實施例用於更有效率地測試半導體裝置之一ATE設備200包括一系統控制器201、將該系統控制器連接至站點模組板230A至230N之一網路交換機202、包含實體化FPGA測試器區塊210A至210N之FPGA裝置211A至211M、記憶體區塊模組240A至240M,其中各記憶體區塊係連接至FPGA裝置211A至211M之一,以及被測裝置(DUT)220A至220N,其中各裝置被測220A至220N係連接至實體化FPGA測試器區塊210A至210N之一。應知,在一項實施例中,DUT 220A至220N可以是固態驅動機(SSD)。再者,如圖2所示,有可能單一實體化FPGA測試器區塊亦連接至多個DUT。
在一項實施例中,系統控制器201可以是一電腦系統,例如一個人電腦(PC),其為ATE之使用者提供一使用者介面以載入測試程式並為連接至ATE 200之DUT運行測試。在一項實施例中,系統控制器201可運行Windows作業系統(OS)。Windows環境中之Verigy Stylus軟體執行係裝置測試期間正常使用之測試軟體之一項實例。其為使用者提供一圖形使用者介面,可從該圖形使用者介面組配及控制測試。其亦可包含控制測試流程、控制測試程式之狀態、判斷哪個測試程式正在運行、以及記錄測試結果及測試流程相關其他資料之功能。在一項實施例中,系統控制器可連接至並控制多達512個DUT。
在一項實施例中,系統控制器201可透過一網路交換機,諸如一乙太網路交換機,連接至站點模組板230A至230N。在其他實施例中,網路交換機
可與諸如TCP/IP、光纖通道、802.11或ATM之一不同協定相容。
在一項實施例中,站點模組板230A至230N各可以是為了評估及開發目的而使用之一單獨之獨立板,其附接至定製裝載板夾具,該等定製裝載板夾具上裝載DUT 220A至220N,並且還附接至系統控制器201,測試程式係接收自系統控制器201。在其他實施例中,可將站點模組板實施成插入式擴充卡或實施成直接插塞到系統控制器201之殼架裡之子板。替代地,站點模組板可予以罩覆在一基元之一包殼內(如圖10所示),並且可使用一裝置介面板(DIB)連接至各種DUT。
站點模組板230A至230N可各包含至少一個測試器處理器204及至少一個FPGA裝置。在一項實施例中,測試器處理器及其相關聯記憶體可位於貼附至相應站點模組之一單獨板(圖未示)上。此單獨板可稱為一模組電腦(或COM)板。換句話說,FPGA可位於一單獨站點模組板上,而測試器處理器(帶有一相關聯記憶體)則位於一COM板上。
站點模組板上之測試器處理器204及FPGA裝置211A至211M根據接收自系統控制器201之測試程式指令為各測試案例運行測試方法。在一項實施例中,測試器處理器可以是一市售Intel x86 CPU或任何其他眾所周知之處理器。再者,測試器處理器可在Ubuntu OS x64作業系統上運作,並且運行核心軟體,從而使其可以與系統控制器上運行之軟體通訊,以運行測試方法。在一項實施例中,測試器處理器204可以是運行Linux OS或Linux OS之一修改版本的一x86處理器。在一項實施例中,測試器處理器上運行之Linux OS能夠從系統控制器上運行之Windows OS接收命令及資料。測試器處理器204基於接收自系統控制器之測試程式來控制站點模組上之FPGA裝置及連接至該站點模組之DUT。
測試器處理器204係透過匯流排212連接至FPGA裝置並且可與之通訊。在一項實施例中,測試器處理器204透過一單獨專屬匯流排與各FPGA裝
置211A至211M通訊。在一項實施例中,例如在標準或旁路模式中,測試器處理器204可透過分配給FPGA裝置之處理功能最小之FPGA來透明地控制DUT 220A至220N之測試。在此實施例中,匯流排212之資料流量會快速耗盡,因為藉由測試器處理器所產生之所有命令及資料都需要透過匯流排傳遞至FPGA裝置。在其他實施例中,測試器處理器204可藉由例如在協定獨立資料加速(PIDA)或全加速(FA)模式中將控制DUT測試之功能分配給FPGA裝置來共享處理負載,如將在下文進一步論述者。在這些實施例中,匯流排212上方之流量得以降低,因為FPGA裝置可產生其自有命令及資料。
在一項實施例中,各FPGA裝置211A至211M係連接至其自有專屬記憶體區塊240A至240M。這些記憶體區塊還可用於儲存寫出至DUT之測試型樣資料。在一項實施例中,各FPGA裝置可包含帶有功能模組之兩個實體化FPGA測試器區塊210A至210B,用於進行包括實施通訊性協定引擎及硬體加速器在內之功能,如進一步在本文中所述。記憶體區塊240A至240M可各含有一或多個記憶體模組,其中記憶體區塊內之各記憶體模組可專屬於實體化FPGA測試器區塊210A至210B中之一或多者。因此,各實體化FPGA測試器區塊210A至210B可連接至記憶體模組240A內之其自有專屬記憶體模組。在另一實施例中,實體化FPGA測試器區塊210A及210B可共享記憶體模組240A內之一個記憶體模組。在一不同實施例中,各FPGA裝置可具有多個實體化FPGA測試器區塊,各帶有一相應記憶體區塊。
再者,系統中之DUT 220A至220N各可在一「每DUT測試器」組態中連接至一專屬實體化FPGA測試器區塊210A至210N,其中各DUT獲得其自有測試器區塊。這允許對各DUT單獨執行測試。此一組態中之硬體資源係採用以最小硬體共享支援單獨DUT之一方式來設計。此組態亦允許對許多DUT進行平行測試,其中各DUT可連接至其自有專屬FPGA測試器區塊並運行一不同測試
程式。在一不同實施例中,各實體化FPGA測試器區塊亦可連接至多個DUT,並且被組配用以測試多個DUT。
圖2所示本發明之實施例之架構具有數個優點。首先,系統中不需要特定協定硬體匯流排配接器插座及卡片,因為可在FPGA裝置內之實體化FPGA測試器區塊上直接規劃通訊協定模組。實體化測試器區塊可被組配用以採用DUT支援之任何協定與DUT通訊。因此,如果需要測試帶有不同協定支援之DUT,則可將其連接至相同系統,並且可將FPGA再規劃成支援相關聯協定。結果是,一個ATE本體可輕易地被組配用以測試支援許多不同協定類型之DUT。
在一項實施例中,可從系統控制器201上之一快取,經由一簡易位元串流,下載並在FPGA上直接安裝新協定,而無需任何種類之硬體互動。一FPGA通常將包括一可組配介面核心(或IP核心),其可規劃為針對一DUT提供一或多個協定式介面之功能,並且可規劃為與DUT介接。在許多狀況中,IP核心將包含將信號從一種協定轉換成另一協定之一第三方協定轉換器IP。
舉例而言,ATE設備200中之FPGAP 211A至211M將包括一介面核心,其可初始組配有用以測試PCIe裝置之PCIe協定,且隨後經由一軟體下載重新組配以測試SATA裝置。FPGA中規劃之第三方協定轉換器IP可被組配用以將傳入之PCIe信號轉換成SATA信號。同樣地,如果發佈一新協定,則FPGA可經由一位元串流下載輕易地組配有那種協定,而不必實體切換系統中之所有硬體匯流排配接器卡。最後,如果需要實施一非標準協定,則FPGA仍可被組配用以實施此一協定。
在另一實施例中,FPGA 211A至211M可被組配用以運行多於一種通訊性協定,其中亦可從系統控制器201下載並透過軟體組配這些協定。換句話說,各FPGA實施自訂韌體及軟體映像,以在單一晶片中實施一或多個PC式測試器之功能。所需電氣信令及協定式信令係藉由FPGA中之晶片上IP核心來提供。
如上述,各FPGA可規劃有預先驗證之介面或IP核心。如上述,IP核心可包含第三方協定IP。這確保根據一給定介面標準之相符性及相容性。FPGA之可規劃本質係用於自SSD、HDD及其他協定式儲存裝置,針對儲存測試應用,最佳化靈活性、成本、平行性及升級能力。
舉例來說,實體化FPGA測試器區塊210A可被組配用以運行PCIe協定,而實體化FPGA測試器區塊210B則可被組配用以運行SATA協定(舉例而言,使用第三方協定IP來運行)。這允許測試器硬體同時測試支援不同協定之DUT。現可連接FPGA 211A以測試支援PCIe及SATA協定兩者之一DUT。替代地,可將其連接以測試兩個不同DUT,一個DUT支援PCIe協定且另一DUT支援SATA協定,其中各實體化功能模組(例如:210A、210B)係組配有用以對與其連接之相應DUT進行測試之一協定。
在一項實施例中,FPGA中之介面或IP核心可從一第三方廠商獲取,但可能需要某客製化才能與本文中所述之實施例相容。在一項實施例中,介面核心提供兩種功能:a)將儲存命令包裝到一標準協定裡以供透過一實體通道傳輸;以及2)係電氣信號產生器及接收器。
圖2所示架構之另一主要優點在於,其藉由將命令及測試型樣產生功能分布至FPGA裝置來降低測試器處理器204上之處理負載,其中各DUT具有一專屬FPGA模組運行其特有之測試程式。舉例來說,實體化FPGA測試器區塊210A係連接至DUT 220A,並且運行DUT 220A特有之測試程式。此一組態中之硬體資源係採用以最小硬體共享支援單獨DUT之一方式來設計。此「每DUT測試器」組態亦允許每處理器測試更多DUT,並且平行測試更多DUT。再者,憑藉能夠在某些模式中產生自有命令及測試型樣之FPGA,將測試器處理器與包括FPGA裝置、裝置電力供應器(DPS)及DUT在內之其他硬體組件連接之匯流排212上之頻寬要求亦得以降低。結果是,相比於以前之組態,可同時測試更多DUT。
圖3根據本發明之一實施例,提供站點模組及其與系統控制器及DUT之互連的一更詳細示意方塊圖。
請參照圖3,在一項實施例中,可將ATE設備之站點模組機械性組配到測試器切片340A至340N上,其中各測試器切片包含至少一個站點模組。在某些典型實施例中,各測試器切片可包含兩個站點模組及兩個裝置電力供應板。在其他實施例中,測試器切片可包含更多或更少站點模組及/或電力供應板。圖3之測試器切片340A舉例而言,包含站點模組310A及310B以及裝置電力供應板332A及332B。然而,可組配到一測試器切片上之裝置電力供應板或站點模組沒有數量限制。測試器切片340係透過網路交換機302連接至系統控制器301。系統控制器301及網路交換機302分別進行與圖2中之元件201及202相同之功能。網路交換機302可憑藉32位元寬匯流排連接至各站點模組。
如上述,在一項實施例中,系統控制器301可以是一電腦系統,例如一個人電腦(PC),其為ATE之使用者提供一使用者介面以載入測試程式並為連接至ATE 300之DUT運行測試。一般而言,系統控制器將運行Windows作業系統。Advantest手寫筆係裝置測試期間正常使用之測試軟體之一項實例。其為使用者提供一圖形使用者介面,可從該圖形使用者介面組配及控制測試。其亦可包含控制測試流程、控制測試程式之狀態、判斷哪個測試程式正在運行、以及記錄測試結果及測試流程相關其他資料之功能。
可從站點模組310A至310B之一控制各裝置電力供應板332A至332B。測試器處理器304上運行之軟體可被組配用以將一裝置電力供應器指派給一特定站點模組。在一項實施例中,舉例來說,站點模組310A至310B及裝置電力供應器332A至332B被組配用以使用一高速序列協定,例如快速週邊組件互連(PCIe)、序列先進技術附接(SATA)或序列附接SCSI(SAS),相互通訊。
在一項實施例中,各站點模組係組配有兩個FPGA,如圖3所示。
圖3之實施例中之各FPGA 316及318係受到測試器處理器304控制,並且進行與圖2中之FPGA 211A至211M類似之一功能。測試器處理器304可使用諸如PCIe之一8通道高速序列協定介面與各FPGA通訊,如圖3中之系統匯流排330及332所指。在其他實施例中,測試器處理器304亦可使用不同高速序列協定,例如序列先進技術附接(SATA)或序列附接SCSI(SAS),與FPGA通訊。
FPGA 316及318係分別連接至記憶體模組308及305,其中該等記憶體模組進行與圖2中之記憶體區塊240A至240N類似之一功能。該等記憶體模組與FPGA裝置及測試器處理器304兩者耦合並受其控制。
FPGA 316及318可分別透過匯流排352及354連接至裝載板380上之DUT 372A至372M。裝載板380係一種實體裝具,其允許在站點模組端處進行一通用高速連接,該站點模組端不知用於在線路352及354上向DUT進行通訊之協定。然而,在DUT端處,需要對裝載板進行設計,以便具有DUT所用協定特有之連接器。
在本發明之一項實施例中,DUT 372A至372M係裝載於置放在一熱腔室390內部用於測試之一裝載板380上。DUT 372A至372M及裝載板380從裝置電力供應器332A及332B得到電力。
可連接至各FPGA之DUT數量取決於FPGA中之收發器數量及各DUT所需I/O通道之數量。在一項實施例中,FPGA 316及318可各包含32個高速收發器,並且匯流排352及354可各為32位元寬,然而,或多或少可取決於應用來實施。舉例而言,如果各DUT需要8條I/O通道,則在此一系統中,僅4個DUT可連接至各FPGA。
在一項實施例中,用於在測試器處理器304與DUT 372A至372M之間進行通訊之通訊協定可有助益地屬於可重新組配。此一實作態樣中之通訊性協定引擎係予以直接規劃到測試器切片上之一個或兩個FPGA裡。FPGA(例如:
316或318)可因此被組配用以採用DUT支援之任何協定與DUT通訊。這有助益地不必每次需要測試帶有一不同協定之一DUT時都調換出測試器。在一項實施例中,該等協定可以是高速序列協定,包括但不限於SATA、SAS或PCIe等。可透過測試器處理器,從系統控制器,經由一簡易位元串流下載,將新或經修改協定下載並且在FPGA上直接安裝,無需任何種類之硬體互動。同樣地,如果發佈一新協定,則FPGA可經由一軟體下載輕易地組配有那種協定。
在本發明之一項實施例中,各FPGA包含若干協定引擎模組,其中一FPGA裝置內之各協定引擎模組可組配有一不同通訊性協定。因此,可連接一FPGA裝置以測試多個DUT,各DUT同時支援一不同通訊性協定。替代地,一FPGA裝置可連接至支援多種協定之單一DUT,並且同時測試該裝置上運行之所有模組。舉例而言,如果一FPGA被組配用以運行PCIe及SATA協定兩者,則可將其連接以測試支援PCIe及SATA協定兩者之一DUT。替代地,可將其連接以測試兩個不同DUT,一個DUT支援PCIe協定,且另一DUT支援SATA協定。
圖4根據本發明之一實施例,係圖2之一實體化FPGA測試器區塊的一詳細示意方塊圖。
請參照圖4,實體化FPGA測試器區塊410係透過PCIe上游連接埠270連接至測試器處理器,並透過PCIe下游連接埠480連接至DUT。
實體化FPGA區塊410可包含一協定引擎模組430、一邏輯塊模組450、及一硬體加速器區塊440。硬體加速器區塊440可更包含一記憶體控制模組444、比較器模組446、一封包建置器模組445、及一演算法型樣產生器(APG)模組443。
在一項實施例中,邏輯塊模組450包含用以對來自測試器處理器之命令進行解碼之解碼邏輯、用以將來自測試器處理器304之所有傳入命令及資料及藉由FPGA裝置所產生之資料路由安排至適當模組之路由安排邏輯、以及用以
在實體化FPGA測試器區塊410內之各種通訊路徑之間進行仲裁之仲裁邏輯。
在一項實作態樣中,用於在測試器處理器與DUT之間進行通訊之通訊協定可有助益地屬於可重新組配。此一實作態樣中之通訊協定引擎係直接規劃到實體化FPGA測試器區塊410之協定引擎模組430裡。實體化FPGA測試器區塊410可因此被組配用以採用DUT支援之任何協定與DUT通訊。舉例而言,可將上述預先驗證之介面或IP核心規劃到協定引擎模組430裡。這確保根據一給定介面標準之相符性及相容性。再者,IP核心允許測試器達到靈活性,原因在於IP核能夠對介面進行軟體式變更。實施例提供與硬體匯流排配接器插座無關,用以測試多種DUT類型之一能力。憑藉此類介面靈活性,可將新介面載入到一可規劃晶圓之IP核心裡,從而不需要硬體匯流排配接器插座(參照圖1所述)。
在一項實施例中,舉例而言,對於儲存器/SSD/HDD,各FPGA包含一可組配IC,其可連接至SSD,並且可規劃以透過諸如SATA或SAS之一儲存特定介面提供基於儲存之型樣。
在一項實施例中,一FPGA可以是使用協定式通訊與一DUT或模組介接之一SSD模組式測試器。在一項實施例中,可規劃可組配介面核心以提供任何標準化協定式通訊介面。舉例而言,在一項實施例中,以一SSD模組式測試為例,可規劃介面核心以提供標準化協定式通訊介面,諸如SATA、SAS等。
因此,從一電氣觀點,FPGA利用一IP核心,而不是一硬體匯流排配接器插座。藉由對一FPGA之可規劃晶片資源進行軟體規劃,可輕鬆地對一給定IP核心進行再規劃並用另一IP核心更換,不用變更實體FPGA晶片或其他硬體組件。舉例而言,如果一給定FPGA式測試器目前支援SATA,則能夠連接至一SAS DUT所需要做的就只是將FPGA再規劃為使用一SAS IP核心,而不是為SATA組配之現有IP核心。
這有助益地不需要硬體匯流排配接器卡,而且不需要更換協定特
定硬體也能測試帶有不同協定支援之DUT。在一項實施例中,該等協定可以是高速序列協定,包括但不限於SATA、SAS或PCIe等。可透過測試器處理器,從系統控制器,經由一簡易位元串流下載,將新或經修改協定下載並且在FPGA上直接安裝,無需任何種類之硬體互動。同樣地,如果發佈一新協定,則FPGA可經由一軟體下載輕易地組配有那種協定。
在圖4中,如果耦合至PCIe下游連接埠480之DUT係一PCIe裝置,則含有PCIe協定具現之一位元檔案可透過PCIe上游連接埠470下載,並且安裝在協定引擎模組430上之IP核心中。各FPGA裝置316或318可包含一或多個實體化FPGA測試器區塊,並且因此包含一或多個協定引擎模組。任何一個FPGA裝置可支援之協定引擎模組數量僅受FPGA之大小及閘數限制。
在本發明之一項實施例中,一FPGA裝置內之協定引擎模組各可組配有一不同通訊性協定。因此,可連接一FPGA裝置以測試多個DUT,各DUT同時支援一不同通訊性協定。替代地,一FPGA裝置可連接至支援多種協定之單一DUT,並且同時測試該裝置上運行之所有模組。舉例而言,如果一FPGA被組配用以運行PCIe及SATA協定兩者,則可將其連接以測試支援PCIe及SATA協定兩者之一DUT。替代地,可將其連接以測試兩個不同DUT,一個DUT支援PCIe協定,且另一DUT支援SATA協定。
與測試器處理器上之軟體中之可能性相比,圖4之硬體加速器區塊440可用於加快FPGA硬體上之某些功能。硬體加速器區塊440可供應用於測試DUT所用之初始測試型樣資料。其亦可含有用以產生用於對測試DUT進行控制之某些命令的功能。為了產生測試型樣資料,加速器區塊440使用演算法型樣產生器模組443。
硬體加速器區塊440可使用比較器模組446將讀取自DUT之資料與前一個循環中寫入至DUT之資料作比較。比較器模組446包含用以對測試器處理
器304標示一不匹配以識別不相符裝置之功能。更具體而言,比較器模組446可包含一錯誤計數器,其保持追蹤不匹配,並且將該等不匹配傳遞至測試器處理器304。
硬體加速器區塊440可連接至一區域記憶體模組420。記憶體模組420進行與任何記憶體區塊240A至240M內之一記憶體模組類似之一功能。記憶體模組420可受到硬體加速器區塊440及測試器處理器304兩者控制。測試器處理器304可控制區域記憶體模組420並且向其寫入初始測試型樣資料。
記憶體模組420儲存要寫入至DUT之測試型樣資料,並且硬體加速器區塊440對其進行存取以將儲存之資料與在寫入循環之後讀取自DUT之資料作比較。區域記憶體模組420亦可用於記錄故障。記憶體模組將儲存一日誌檔案,該日誌檔案帶有測試期間DUT經歷之所有故障之一記錄。在一項實施例中,加速器區塊440具有不可藉由任何其他實體化FPGA測試器區塊存取之一專屬區域記憶體模組區塊420。在另一實施例中,區域記憶體模組區塊420與另一實體化FPGA測試器區塊中之一硬體加速器區塊進行共享。
硬體加速器區塊440亦可包含一記憶體控制模組444。記憶體控制模組444與記憶體模組420互動,並且控制對記憶體模組420之讀取及寫入存取。
最後,硬體加速器區塊440包含一封包建置器模組445。該封包建置器模組係藉由硬體加速器區塊用於建構要寫入至DUT之封包,該等封包包含標頭/命令資料及測試型樣資料。
在一項實施例中,站點模組可包含一通用連接器481。因為協定引擎模組430可被組配用以運行任意數量的各種通訊協定,所以站點模組上需要一通用之高速連接器481。因此,如果協定引擎模組430上實施之協定需要變更,則不需要在站點模組上施作隨附之實體修改。站點模組使用裝載板380連接至DUT,裝載板380可連接至站點模組端上之通用連接器,但特定於在DUT端上實
施之協定。支援不同通訊性協定之DUT將需要不同組態。因此,如果將協定再規劃為適應需要一不同組態之DUT,則必須扳脫並更換裝載板。
圖10根據本發明之一實施例,繪示與一裝置介面板(DIB)1000介接之一基元1010。類似於圖3所示之測試器切片(例如:340A等),圖10之基元係一種融入一測試頭並包含測試電路系統之分立測試模組,該測試電路系統可根據一測試計畫在DUT上進行測試。一基元包含一包殼1050,包殼1050內罩覆所有各種電子器件,例如站點模組、電力供應器等。DIB 1000可使用為DUT 1020調整大小之自訂連接器與複數個DUT 1020連接。DUT實體性介接及電子性介接至DIB 1000。基元亦可包含一包殼1070。DIB 1000透過類似於圖3所示裝載板380之一裝載板(圖未示)介接至基元1010之一通用底板(圖未示)。基元1010含有用於在DUT 1020上進行一測試計畫之測試電路系統(類似於圖3所示之測試器切片340A)。基元1010可獨立於任何其他基元運作,並且係連接至一控制伺服器(類似於圖3所示之系統控制器301)。
應知,相比於連接至同一相應測試器切片或基元之一或多個其他DUT,連接至任何給定測試器切片(例如:340A至340N)或任何給定基元之DUT能夠運行一不同協定。舉例而言,基元1010可連接至並且用於測試複數個DUT 1020,各DUT 1020可運行一不同協定,例如SATA、ATA、SCSI等。在一項實施例中,基元1010可連接至並且用於以測試SSD驅動機為主。
圖11根據本發明之一實施例,係自動測試裝備(ATE)設備的一例示性高階方塊圖,其中一主機控制器係連接至複數個基元並且控制該等基元之測試操作。圖11繪示用於對支援各種奇特扇區大小(或非標準扇區大小)及保護模式之SSD進行測試之總體整合系統或測試框架1105。
在一項實施例中,一Windows式主機控制器1110可通訊性耦合至數個不同基元,例如1130A及1130B。Windows式主機控制器1110能夠向使用者
顯示圖形使用者介面,用於顯示資訊並用於接受使用者輸入。一通訊底板1120係耦合於主機控制器1110與一或複數個基元1130A及1130B之間。各基元包含若干測試器切片(例如:測試器切片340A至340N)。在一項實施例中,各基元可包含若干COM板1140(包含一測試器處理器及相關聯記憶體),其係經由驅動器1160耦合至若干FPGA測試器切片1150。(如前述,在一項實施例中,測試器處理器可位於一COM板上,該COM板係與包含FPGA之測試器切片分離之一板子)。在一項實施例中,測試器切片係經由一裝置介面板1165耦合至DUT(例如:SSD)。一不同DIB可用於支援不同形狀因子及連接類型之SSD。一機架中可有數個基元,其中各基元係耦合至主機控制器,並且受其控制。這允許同時測試大量DUT。
在一項實施例中,根據本發明,COM板1140可含有嵌入式OS平台之一執行個體。COM板1140可控制基元內之測試器切片1150。嵌入式OS平台被組配用以在一側與主機控制器1110通訊,並且在另一側與填佈於一基元內之各種FPGA測試器切片1150通訊。在一項實施例中,嵌入式OS平台可以是Linux OS之一重大修改版本。系統1105內可有多達32個嵌入式OS平台執行個體,並且受到主機控制器1110控制。各種OS平台提供用以與FPGA測試器板1150通訊並用以直接與DUTS 1170通訊之功能。
在某些實施例中,硬體加速器區塊440可藉由測試器處理器304來規劃,以在數種硬體加速模式之一中運作。
I.多種硬體加速模式
在旁路或標準模式中,硬體加速器得以旁通,並且命令及測試資料係藉由測試器處理器304透過路徑472直接發送至DUT。請注意,在一項實施例中,非標準或任意大小之全資料扇區DUT之測試係使用旁路或標準模式來啟用。換句話說,在一項實施例中,旁路模式包含一特徵,測試器處理器藉此進
行運算以測試帶有任意扇區大小之DUT。
還應知,在一項實施例中,測試器處理器304可直接與DUT通訊以測試非標準或任意大小之全資料扇區DUT。換句話說,在此實施例中,FPGA(伴隨其可規劃核心及各種可組配操作模式)並非必要,因為測試器處理器304可直接與DUT通訊。
在硬體加速器型樣產生器模式中,測試型樣資料係藉由FPGA之APG模組443來產生,而命令則藉由測試器處理器304來產生。測試封包係透過路徑474傳送至DUT。此模式亦稱為協定獨立資料加速(PIDA)模式。
在硬體加速器記憶體模式中,測試型樣資料係取用自與FPGA相關聯之區域記憶體模組420,而命令係藉由測試器處理器304來產生。測試型樣資料係透過路徑476傳送至DUT。需要路由安排邏輯482才能在路徑472、474與476之間進行仲裁,以控制資料送至DUT之流動。
在硬體加速器封包建置器模式中,測試型樣資料可藉由FPGA之APG模組443來產生,並且FPGA之封包建置器模組445係用於建構要寫出至DUT之包含標頭/命令資料及測試型樣資料之封包。測試封包係透過路徑474傳送至DUT。此模式亦稱為全加速(FA)模式。
圖5根據本發明之一實施例,繪示測試DUT之一例示性過程的一流程圖500。然而,本發明並不受限於流程圖500所提供之說明。反而,所屬技術領域中具有通常知識者將從本文中提供之教示明白其他功能流程有在本發明之範疇及精神內。
流程圖500將參照圖2、3及4繼續引用上述例示性實施例作說明,但該方法並不受限於那些實施例。
現請參照圖5,於程序塊502,使用者啟始設置並將測試程式載入到系統控制器裡。啟始設置可包含從一可用協定庫選擇一或多種協定組配到
ATE設備200中之FPGA裝置上。該等協定係作為檔案快取緩存在系統控制器301上,並且可作為位元檔案下載到FPGA上。使用者可從透過一圖形使用者介面可得之一發佈清單選取協定。在使一協定可作為一選項之前,必須建置、測試該協定並將其整合到一發佈裡。發佈之FPGA組態還含有與所支援協定及可用於連接DUT之收發器數量有關之定義。可接著使發佈庫讓使用者可透過系統或主機控制器上之一圖形使用者介面取用。
於程序塊502,使用者亦透過圖形使用者介面將測試程式載入到系統控制器301裡。測試程式定義必須在DUT上運行之測試之所有參數。於程序塊504,系統控制器將指令傳送至站點模組310A上之測試器處理器。此步驟包括位元檔案之傳輸以供將協定引擎規劃到FPGA上。系統控制器可包含用以將用於一特定測試程式之指令路由安排至一測試器處理器之路由安排邏輯,該測試器處理器連接至受到測試程式控制之DUT。
於程序塊506,在從系統控制器接收指令之後,測試器處理器304可確定硬體加速模式以供在連接至站點模組310A之DUT上運行測試。
在一項實施例中,測試器處理器304可在四種不同硬體加速模式之一中運作。各功能模式被組配用以分配功能以供在測試器處理器304與FPGA 316及318之間產生命令及測試資料。在一項實施例中,可將測試器處理器規劃為在旁路或標準模式中運作,其中用於測試DUT之所有命令及測試資料係藉由測試器處理器304來產生,並且FPGA 316及318得以旁通。
在另一實施例中,可將測試器處理器304規劃為在硬體加速器型樣產生器模式(或PIDA模式)中運作,其中要在測試DUT時使用之虛擬隨機或隨機資料係藉由FPGA 316及318來產生,並且比較亦藉由FPGA來完成,但測試器處理器對命令產生進行處置。
在又另一實施例中,可將測試器處理器304規劃為在硬體加速器
記憶體模式中運作,其中測試型樣係於初始設置期間,藉由測試器處理器預寫到連接至各FPGA 316及318之記憶體模組上。FPGA在此模式中存取專屬記憶體裝置以檢索要寫入至DUT之測試資料、從DUT讀取測試資料、以及將讀取之資料與記憶體裝置上寫入之資料作比較。在此模式中,該等FPGA各回應於來自DUT之讀取及寫入操作來控制記憶體裝置。然而,在此模式中,測試器處理器仍然負責命令之產生。
於再另一實施例中,可將測試器處理器304規劃為在硬體加速器封包建置器模式(或全加速模式)中運作,其中資料及基本讀取/寫入/比較命令係藉由FPGA 316及318來產生。
於程序塊508,測試器處理器分支到將要運行測試之模式。
應知,圖10之FPGA 1035可憑藉上述四種功能模式中之任何一種來規劃,亦即,旁路模式、硬體加速器型樣產生器模式、硬體加速器記憶體模式及硬體加速器封包建置器模式。在一項實施例中,經由連接器1010與測試器卡1000連接之電腦或系統控制器將進行測試器處理器304之功能。
I.A)旁路(或標準)模式
圖6根據本發明之一實施例,繪示在旁路模式中測試DUT之一例示性過程的一流程圖600。然而,本發明並不受限於流程圖600所提供之說明。反而,所屬技術領域中具有通常知識者將從本文中提供之教示明白其他功能流程有在本發明之範疇及精神內。
流程圖600將參照圖2、3及4繼續引用上述例示性實施例作說明,但該方法並不受限於那些實施例。
現請參照圖6,在旁路模式中,於程序塊602,測試器處理器304產生命令及封包標頭以供將測試封包路由安排至DUT。於程序塊604,測試器過程亦產生測試型樣資料以供將該等封包路由安排至DUT。在此模式中,因為測
試器處理器產生其自有命令及測試資料,所以沒有硬體加速。
在程序塊606,測試器處理器與實體化FPGA區塊410及下游連接埠480通訊,以將含有測試型樣資料之測試封包路由安排至DUT。旁路模式係一透通模式,其中,隨著一些有限之例外,命令及資料透明地透過實體化FPGA模組410直接傳遞至DUT。DUT在旁路模式中受到測試器處理器304直接控制。儘管實體化FPGA區塊可包含用以穿過至下游連接埠路由安排封包之邏輯,但其未涉及命令產生(亦稱為「傳送信令」)或資料產生。
在程序塊608,測試器處理器304與下游連接埠480通訊,以從先前於程序塊606寫入至DUT之資料的DUT啟始一讀取操作。在程序塊610,測試器處理器將讀取自DUT之資料與在程序塊606寫入之資料作比較。如果於程序塊606寫入之資料與於程序塊610讀取之資料之間有任何不匹配,則於程序塊612,藉由測試器處理器304將一旗標發送至系統控制器301。系統控制器接著將向使用者標示該不匹配。
應知,旁路或標準模式係用於測試全資料奇特扇區大小DUT之首要操作模式。換句話說,全資料奇特扇區大小之DUT可僅使用旁路或標準模式、以及將測試器處理器直接連接至DUT或透過FPGA連接(其中該FPGA係用作為一透通裝置)來測試。其他操作模式(例如PIDA或全加速模式)對於測試全資料奇特扇區大小DUT並不重要。
標準模式中之任意全資料奇特扇區大小支援
在一項實施例中,標準(或旁路)模式係於測試帶有全資料任意大小扇區之DUT時使用,例如於測試SSD DUT時使用。應知,儘管旁路模式係用於測試任意大小扇區DUT,測試器處理器304之速度仍可受到限制,因為其處理能力可從為了DUT產生所有命令及測試資料來快速地達到最大。
本發明之實施例組配軟體(例如:圖3之測試器處理器304上執行
之軟體)以提供可對測試包括非標準大小在內之任何扇區大小之全資料扇區SSD進行處置之一系統。藉由比較,習知測試器系統未提供任意扇區大小測試。舉例來說,Linux式系統僅支援512位元組或4096位元組大小之扇區。大部分其他系統使用硬體隱藏非標準資料扇區大小,並且支援大小限制。
圖12A根據本發明之一實施例,繪示應用程式層,其包含在測試器處理器上執行之軟體堆疊。在測試器軟體上執行之軟體堆疊可包含至少四層。該等層包含一裝置驅動程式層1240、一Linux區塊層1230、一Vast系統軟體(VSS)層1220及使用者應用程式層1210。請注意,裝置驅動程式層1240被組配用以與DUT 1250通訊。
在一項實施例中,裝置驅動程式層1240被組配用以與DUT 1250通訊並查詢DUT以確定扇區大小。一旦將DUT真實扇區大小(RSS)回報給裝置驅動程式層1240,裝置驅動程式層1240便透過VSS層將資訊向上傳遞至使用者應用程式層1210。
舉例而言,考量包含一524位元組非標準扇區大小之一SDD上之一讀取操作。當從使用者應用程式層1210沿著協定堆疊向下傳送資料請求時,VSS層1220對扇區大小(例如,對於這項實例為524位元組)進行計算並且無條件退位至Linux區塊層1230支援之最接近數字(例如:512位元組)。舉例而言,Linux區塊層1230可僅支援帶有一512位元組扇區大小之DUT。再者,VSS層1220維持一額外12位元組資訊(524位元組減512位元組)之一記錄。
在這項實例中,如果使用者應用程式層1210請求N個資料塊(或N個資料扇區)(例如:524 * N位元組),則VSS層1220將針對(N+M)個區塊向Linux區塊層1230提出一請求,其中N個區塊將針對資料包含512位元組,而M個區塊將針對每區塊之剩餘12位元組包含附加資料(以524位元組大小之扇區為例)。M值係藉由軟體計算,其中M個區塊能夠保持來自所有N個區塊之附加資料。舉例
而言,以N=100為例,總附加位元組數量將為12 * 100=1200位元組。為了含有1200位元組,需要向Linux區塊層1230請求至少3個512位元組大小之區塊。因此,如果使用M=3,則這3個附加區塊保持來自N個區塊之附加位元組,其中N=100。因此,VSS層1220可向Linux區塊層1230提出100+3個區塊之一請求。Linux區塊層1230將該請求轉化成對於103個512位元組區塊(103 * 512位元組)之一請求,並且Linux區塊層1230允許此操作。
之後,將該請求向下傳遞至裝置驅動層1240。裝置驅動程式層1240直接與DUT 1250通訊,並且能夠確定DUT具有一524位元組非標準扇區大小。再者,裝置驅動程式層1240可確定Linux區塊層1230正在為103個512位元組大小區塊中之各區塊遞交一請求。
裝置驅動程式層能夠將與DUT之扇區大小及Linux區塊層1230提出請求之區塊數量有關之資訊用於確定最初在使用者應用程式層1210處提出之請求係針對100個區塊所提出。因此,裝置驅動程式層1240針對100個區塊向DUT傳送一請求,DUT藉由以100 * 524位元組填滿裝置驅動程式層1240中之緩衝區來回應於該請求。此緩衝區中之資訊係透過Linux區塊層1230來傳遞。之後,使用者應用程式層1210在各扇區中取得100個524位元組區塊。在一項實施例中,類似於以上讀取操作之實例,進行寫入操作。
請注意,使用者應用程式層1210、VSS層1220及裝置驅動程式層1240包含用以能夠對任意扇區大小之DUT進行辨識之附加邏輯(分別為模組1293、1292及1291)。Linux區塊層1230未包含用以判斷一DUT是否包含任意扇區大小或用以能夠與其通訊之附加邏輯。
圖12B根據本發明之一實施例,繪示各應用程式層之功能,該等應用程式層包含測試器處理器上執行之軟體堆疊。如圖12B所示,使用者應用程式層1210接收關於DUT扇區大小之資訊。在上述實例中,對於從DUT讀取100個
扇區之資訊,使用者應用程式層1210將從100個扇區(或區塊)請求資料。鑑於上述Linux區塊層1230之限制,VSS層1220向Linux區塊層1230針對103個區塊(N+M=100+3)提出一請求。Linux區塊層1230未支援非標準扇區大小,但鑑於512位元組之標準扇區大小,Linux區塊層1230被組配用以檢查請求之資訊長度是否符合其以512位元組之倍數處理資料之限制。因此,其允許沿著協定堆疊向下傳遞之請求,並且允許來自DUT之資料沿著協定堆疊向上傳遞。
裝置驅動程式層1240與DUT通訊,並且因此能夠將與DUT之扇區大小有關之資訊用於計算要向DUT提出請求之有資訊價值之扇區的多寡。在上述實例中,裝置驅動程式層1240將請求100個資訊區塊。DUT 1250進而將從裝置驅動程式層1240接收請求並履行該請求。
本發明之實施例控制輸入、輸出、驅動程式及使用者空間以有助益地為測試任何任意扇區大小之SSD提供一僅軟體解決方案,因為不需要資料複製而不用犧牲效能。本發明之實施例有助益地擴張可予以測試之裝置之範疇,並且讓測試器系統之使用者可以直接存取全扇區之資料。
在一項實施例中,測試器處理器(處於標準或旁路模式中、或處於其變種模式中)係用於讀取資料並將資料寫入至DUT。FPGA可無能力支援帶有任意大小扇區之DUT,因為其僅支援一有限量之預定義資料大小。一旦被組配(在位元串流下載到一FPGA上之後),於運行時間,一FPGA便可僅支援一有限之扇區大小簡短清單。據了解,對測試器處理器上之測試器軟體進行規劃以測試任意扇區大小之DUT允許一使用者從DUT讀取及向DUT寫入任何長度之使用者指定資料,因此,對於通用性有助益。於運行時間,測試器處理器能夠支援任何任意扇區大小,並且不受限於任何特定之預定義大小。
本發明之實施例提供一種「僅軟體解決方案」,其允許使用者以使用者資料型樣測試任意扇區大小之裝置。以向一被測裝置(DUT)之一寫入為
例,在測試器處理器上運行之軟體產生完整之資料及命令,以對該扇區進行測試。以讀取為例,軟體將從扇區讀回完整資料,不會去除附加位元組。
本發明之實施例具有靈活性,並且能夠測試將整個扇區用於資料儲存之任何扇區大小之裝置。其讓使用者可以存取整個扇區,不會去除或插入任何附加位元組。這樣做無需犧牲效能,因為不需要附加資料複製。
習知的ATE相當受到限制,因為其不支援伴隨全資料奇特扇區大小驅動機對驅動機進行測試。本發明之實施例有助益地允許對此類驅動機進行軟體式測試,尤其是對任意非標準扇區大小進行測試。
圖13根據本發明之一實施例,繪示測試支援任意扇區大小之DUT之一例示性電腦實施過程的一流程圖。然而,本發明並不受限於流程圖1300所提供之說明。反而,所屬技術領域中具有通常知識者將從本文中提供之教示明白其他功能流程有在本發明之範疇及精神內。
於程序塊1310,一主機控制器係耦合至一測試器處理器及一FPGA。主機控制器可以是如上述之Windows式作業系統。再者,測試器處理器可正在運行Linux或Linux OS之一修改版本。FPGA係通訊性耦合至測試器處理器,並且可操作以根據上述各種加速模式之一產生用於測試一DUT之命令及資料。
於程序塊1312,選取一加速模式以供產生用於測試DUT之命令及資料。加速模式可以是一標準或旁路模式,其中測試器處理器產生所有命令及資料,並且FPGA得以旁通。請注意,如上述,在一項實施例中,標準或旁路模式可以是測試全資料非標準大小DUT所需之主要或首要模式。
於程序塊1314,一命令(例如:讀取、寫入等)係藉由測試器處理器向DUT產生,其中DUT包含一任意扇區大小。
回應於讀取命令,接著於程序塊1316,在測試器處理器上執行之
測試器軟體之VSS層對扇區大小進行計算並且無條件退位(例如,對於以上實例為524位元組)至Linux區塊層1230支援之最接近數字(例如:512位元組)。再者,如果使用者應用程式層1210請求N個資料區塊(或N個資料扇區),則VSS層1220將針對(N+M)個資料塊向Linux資料塊層1230提出一請求,其中這N個資料塊各為一標準大小區塊(例如:512位元組),並且其中這M個區塊將針對每區塊之附加位元組包含資料。
於程序塊1318,對Linux區塊層1230進行規劃以檢查所請求之資訊長度是否符合其以標準大小區塊之倍數(舉例而言,以上述實例為例,以512位元組之倍數)處理資料之限制。之後,其允許沿著協定堆疊向下傳遞之請求,並且允許來自DUT之資料沿著協定堆疊向上傳遞。
於程序塊1320,裝置驅動程式層1240與DUT通訊,並且能夠將針對DUT與扇區大小有關之資訊用於計算DUT中需要存取(例如,針對讀取或寫入操作)之扇區數量。
於程序塊1322,從DUT取用來自已確定數量之扇區的資料,並且進行一比較操作以測試DUT。舉例而言,可將資料讀取自或寫入至DUT,並且與期望資料作比較,以判斷DUT是否正常作用。
圖14根據本發明之一實施例,繪示測試支援任意扇區大小之DUT之一例示性電腦實施過程的一流程圖,其中一測試器處理器直接控制DUT。
於程序塊1410,一主機控制器係耦合至一測試器處理器。主機控制器可以是如上述之Windows式作業系統。再者,測試器處理器可正在運行Linux或Linux OS之一修改版本。測試器處理器被組配用以與一DUT直接通訊,並且直接向DUT發出命令及資料。如上述,儘管在一項實施例中,測試器處理器可在旁路模式中運作,並且使用FPGA作為一透通裝置來測試DUT,但在其他實施例中,測試器處理器仍可直接連接至DUT。
於程序塊1412,一命令(例如:讀取、寫入等)係藉由指向DUT之測試器處理器產生,其中DUT包含一任意扇區大小。
回應於讀取命令,接著於程序塊1414,VSS層對扇區大小進行計算並且無條件退位(例如,對於這項實例為524位元組)至Linux區塊層1230支援之最接近數字(例如:512位元組)。再者,如果使用者應用程式層1210請求N個資料區塊(或N個資料扇區),則VSS層1220將針對(N+M)個資料塊向Linux資料塊層1230提出一請求,其中這N個資料塊各為一標準大小區塊(例如:512位元組),並且其中這M個區塊將針對每區塊之附加位元組包含資料。
於程序塊1416,對Linux區塊層1230進行規劃以檢查所請求之資訊長度是否符合其以標準大小區塊之倍數,舉例而言,以上述實例為例,以512位元組之倍數,處理資料之限制。因此,其允許沿著協定堆疊向下傳遞之請求,並且允許來自DUT之資料沿著協定堆疊向上傳遞。
於程序塊1418,裝置驅動程式層1240與DUT通訊,並且因此能夠將與DUT之扇區大小有關之資訊用於計算要向DUT提出請求之有資訊價值之扇區的多寡。
於程序塊1420,從DUT取用來自已確定數量之扇區的資料,並且進行一比較操作以測試DUT。舉例而言,可將資料讀取自或寫入至DUT,並且與期望資料作比較,以判斷DUT是否正常作用。
I.B)硬體加速器型樣產生器模式(PIDA模式)
圖7根據本發明之一實施例,繪示在硬體加速器型樣產生器模式中測試DUT之一例示性過程的一流程圖700。然而,本發明並不受限於流程圖700所提供之說明。反而,所屬技術領域中具有通常知識者將從本文中提供之教示明白其他功能流程有在本發明之範疇及精神內。
流程圖700將參照圖2、3及4繼續引用上述例示性實施例作說明,
但該方法並不受限於那些實施例。
現請參照圖7,所示係一種硬體加速方法,其中FPGA裝置共享資料產生功能,以便減輕測試器處理器304上之處理負載以及系統匯流排330及332上之資料負載。於硬體加速器型樣產生器模式之程序塊702,測試器處理器304產生命令及封包標頭以供將封包路由安排至DUT。測試器過程留存用於在此模式中傳送信令之功能。於程序塊704,硬體加速器區塊440內之演算法型樣產生器模組443產生要寫入至DUT之虛擬隨機測試資料。邏輯塊模組450包含用於將所產生之資料路由安排並新增至要寫出至DUT之封包的功能。
該模式視為「經硬體加速」,因為相比於藉由測試器處理器在軟體中,藉由FPGA裝置之演算法型樣產生器在硬體中可更快完成用於產生資料之功能。同樣地,「每DUT測試器」架構允許DUT直接連接至如圖4所示其為DUT產生測試型樣資料之自有專屬實體化FPGA測試器區塊,與旁路模式相比,這導致頻寬透過該旁路模式實質增加,其中測試器處理器304透過系統匯流排330及332向DUT供應所有命令及資料。憑藉資料產生功能中之FPGA裝置共享,系統匯流排330及332得以釋放,因此與在旁路模式相比,可將命令以一更快速率傳遞至FPGA。再者,對於諸如需要數次反覆測試之固態驅動機等裝置,具有經過實體化FPGA測試器區塊之一專屬資料路徑比測試器處理器之資源係由數個DUT所共享者使測試加快相當程度。其亦允許DUT在接近全效能下運作,因為其不必等待測試器處理器為其分配處理資源。
在一項實施例中,演算法型樣產生器模組443可規劃為即時產生資料。APG模組可產生增量型樣、虛擬隨機型樣或某類型之恆定型樣。APG模組亦可具有某些閘控功能,用以產生帶有條紋、對角條紋或交錯圖案之測試型樣。在一項實施例中,APG模組還可使用有限狀態機、計數器或線性回授移位暫存器來產生測試型樣。
在一些實作態樣中,可向APG模組提供一起始種子作為一初始值,用以產生更複雜之隨機型樣。如上述,舉例而言,使用扇區數作為一種子,APG模組將產生任何長度之一再生序列,例如奇特扇區大小之長度。當需要讀回資料時,其可重新再生(使用扇區位址作為一種子再生),以使得可將其與從DUT讀回之資料作比較,以便確保DUT之完整性。
於步驟706,實體化FPGA區塊410與下游連接埠480通訊,以根據藉由測試器處理器產生之命令及封包標頭將測試型樣資料路由安排至DUT。於步驟708,實體化FPGA區塊410與下游連接埠通訊,以根據藉由測試器處理器產生之命令從DUT讀取測試型樣資料。於程序塊710,硬體加速器區塊440之比較器模組446接著係用於將讀取之資料與寫入至DUT之資料作比較。APG模組443係經設計而使得比較器模組可在其上以用於產生虛擬隨機資料之相同參數進行讀取操作,並且接收於程序塊704寫入至DUT之相同資料。APG模組443使寫入至DUT之資料即時再生,並且將其傳遞至比較器模組446。於程序塊712,任何不匹配係藉由記憶體控制模組444記錄在記憶體模組420上,或藉由實體化FPGA區塊傳遞至測試器處理器。於程序塊714,測試器處理器隨後在接收錯誤日誌之後向系統控制器標示不匹配。
I.C)硬體加速器記憶體模式
圖8根據本發明之一實施例,繪示在硬體加速器記憶體模式中測試DUT之一例示性過程的一流程圖800。然而,本發明並不受限於流程圖800所提供之說明。反而,所屬技術領域中具有通常知識者將從本文中提供之教示明白其他功能流程有在本發明之範疇及精神內。
流程圖800將參照圖2、3及4繼續引用上述例示性實施例作說明,但該方法並不受限於那些實施例。
現請參照圖8,所示係一種硬體加速方法,其中FPGA裝置共享資
料產生功能,以便減輕測試器處理器304上之處理負載以及系統匯流排330及332上之資料負載。相較於硬體加速器型樣產生器模式,在硬體加速器記憶體模式中,實體化FPGA測試器塊存取區域記憶體模組420,以供將資料寫入至DUT,而不是使用APG模組443來存取。
於硬體加速器型樣記憶體模式之程序塊800,測試器處理器304產生命令及封包標頭以供將封包路由安排至DUT。測試器過程留存用於在此模式中傳送信令之功能。於程序塊802,測試器處理器以要寫出至DUT之測試型樣來初始化實體化FPGA測試器區塊410之區域記憶體模組420。硬體加速器記憶體模式之一個優點在於,藉由測試器處理器產生之測試型樣可構成真實隨機資料,與在硬體加速器型樣產生器模式中藉由APG模組443產生之虛擬隨機資料截然不同。測試器處理器及實體化FPGA測試器區塊兩者都具有對區域記憶體模組420之讀寫存取權。然而,測試器處理器僅在初始設置期間才存取記憶體模組420。在加速器模式期間,測試器處理器不存取記憶體模組,因為測試器處理器304上之附加處理負載以及系統匯流排330及332上之附加資料負載使加速器減緩相當程度。
於程序塊804,實體化FPGA測試器區塊從記憶體模組420讀取要路由安排至DUT之測試型樣資料。因為記憶體模組420係專屬於FPGA測試器區塊或僅與另一個FPGA測試器區塊共享,所以兩者之間有一高頻寬連接,從而導致快速讀取操作。邏輯塊模組450包含用於將所產生之資料路由安排並新增至要寫出至DUT之封包的功能。
在將資料新增至封包完成之後,於程序塊806,實體化FPGA測試器區塊與下游連接埠480通訊,以根據藉由測試器處理器產生之命令及封包頭將測試型樣資料路由安排至DUT。於步驟808,實體化FPGA區塊410與下游連接埠通訊,以根據藉由測試器處理器產生之命令從DUT讀取測試型樣資料。於程序
塊810,硬體加速器區塊440之比較器模組446接著係用於將讀取之資料與寫入至DUT之資料作比較。於程序塊812,任何不匹配係記錄在記憶體模組420上,或藉由實體化FPGA區塊傳遞至測試器處理器。於程序塊814,測試器處理器隨後在接收錯誤日誌之後向系統控制器標示不匹配。
I.D)硬體加速器封包建置器模式(FA模式)
圖9根據本發明之一實施例,繪示在硬體加速器封包建置器模式中測試DUT之一例示性過程的一流程圖900。然而,本發明並不受限於流程圖900所提供之說明。反而,所屬技術領域中具有通常知識者將從本文中提供之教示明白其他功能流程有在本發明之範疇及精神內。
流程圖900將參照圖2、3及4繼續引用上述例示性實施例作說明,但該方法並不受限於那些實施例。
現請參照圖9,所示係一種硬體加速方法,其中FPGA裝置共享資料與命令兩者產生功能,以便減輕測試器處理器304上之處理負載以及系統匯流排330及332上之資料負載。此模式亦稱為「全加速」(FA)模式,因為用於運行裝置測試之控制大部分係移轉至FPGA裝置,並且測試器處理器304僅針對讀取與寫入及比較除外之命令留存控制。
於硬體加速器封包建置器模式之程序塊902,測試器處理器304產生要傳遞至實體化FPGA區塊410之命令,以產生其自有封包。測試器處理器在此模式中僅針對非讀取/寫入/比較命令留存功能。諸如讀取、寫入及比較操作之命令用之功能係輸送至實體化FPGA區塊。於程序塊904,實體化FPGA測試器區塊之封包建置器模組445建置帶有標頭及命令資訊之封包,以將其傳遞至DUT。該等封包至少包含命令類型、裝置之區塊位址及測試型樣資料。
於程序塊906,硬體加速器區塊440內之演算法型樣產生器模組443產生要寫入至DUT之虛擬隨機測試資料。邏輯塊模組450包含用於路由安排
藉由實體化FPGA區塊產生之資料及命令並將其合併成要寫出至DUT之封包的功能。
在程序塊908,實體化FPGA測試器區塊與下游連接埠480通訊以將測試型樣資料路由安排至DUT。於步驟910,實體化FPGA區塊410與下游連接埠通訊,以從DUT讀取測試型樣資料。於程序塊912,硬體加速器區塊440之比較器模組446接著係用於將讀取之資料與寫入至DUT之資料作比較。於程序塊914,任何不匹配係記錄在記憶體模組420上,或藉由實體化FPGA區塊傳遞至測試器處理器。於程序塊916,測試器處理器隨後在接收錯誤日誌之後向系統控制器標示不匹配。
為了解釋,已參照特定實施例對前述說明作說明。然而,以上說明性論述非意欲窮舉或將本發明限制於所揭示之精確形式。鑑於以上教示,許多修改及變化是有可能的。實施例是為了最能解釋本發明之原理及其實際應用而予以選擇及說明,用以藉此使所屬技術領域中具有通常知識者能夠憑藉各種修改使本發明及各項實施例得到最佳利用而可適合所思特定用途。
200:ATE設備
201:系統控制器
202:網路交換機
204:測試器處理器
210A~210N:實體化FPGA測試器區塊
211A~211M:FPGA裝置
212:匯流排
220A~220N:被測裝置(DUT)
230A~230N:站點模組板
240A~240M:記憶體區塊模組
Claims (19)
- 一種自動化測試裝備(ATE)系統,其包含:一系統控制器,其通訊性耦合至一測試器處理器,其中該系統控制器係可操作以傳送指令至該測試器處理器;以及該測試器處理器,其可操作以從該等指令產生命令及資料,用於協調一被測裝置(DUT)之測試,其中該DUT支援一任意扇區大小,並且其中該測試器處理器上之軟體層進行運算以控制該測試器處理器與該DUT中任意大小之扇區之間的資料流,其中該等軟體層包含可操作以在支援該任意扇區大小之該DUT與該測試器處理器之間輸送資料之一或多個功能層,且其中該等軟體層包含至少一裝置驅動程式層及一應用程式層。
- 如請求項1之ATE系統,其中該等任意大小之扇區包含全資料扇區。
- 如請求項1之ATE系統,其中該測試器處理器係可操作以執行一Linux作業系統。
- 如請求項1之ATE系統,其中該等軟體層包含可操作以在支援該任意扇區大小之該DUT與該測試器處理器之間輸送資料之四個功能層。
- 如請求項1之ATE系統,其中該等軟體層包含可操作以在支援該任意扇區大小之該DUT與該測試器處理器之間輸送資料之四個功能層,其中該等軟體層包含該裝置驅動程式層、一Linux區塊層、一Vast系統軟體層及該應用程式層。
- 如請求項5之ATE系統,其中回應於藉由該測試器處理器向該DUT發出之一命令,該Vast系統軟體層可操作以確定與該Linux區塊層所支援之任意扇區大小最接近之一扇區大小,並且向該Linux區塊層請求經運算數量之區塊,以及其中該等區塊之該經運算數量包括藉由該測試器處理器在該命令中所 請求之區塊之數量、及每任意扇區塊緩衝附加位元組所需之附加區塊之數量。
- 如請求項6之ATE系統,其中該Linux區塊層可操作以判斷該Vast系統軟體層所請求之資訊之一長度是否符合與該Linux區塊層相關聯之處理資料之一限制,並且其中該Linux區塊層係進一步可操作以將該命令向下傳遞至該裝置驅動程式層。
- 如請求項7之ATE系統,其中該裝置驅動程式層係可操作以確定要從該DUT存取之扇區數量,並且進一步可操作以將該命令傳送至該DUT。
- 如請求項1之ATE系統,其更包含:一可現場規劃閘陣列(FPGA),其中該測試器處理器係通訊性耦合至該FPGA,並且其中該FPGA包含至少一個硬體加速器電路,該至少一個硬體加速器電路可操作以對該測試器處理器透明地內部產生命令及資料用於測試該DUT。
- 如請求項9之ATE系統,其中該測試器處理器在標準模式中運作以產生用以測試該DUT之該等命令及資料。
- 如請求項5之ATE系統,其中該Vast系統軟體層、該裝置驅動程式層及該應用程式層包含用以檢測任意扇區大小之一DUT並與其通訊之邏輯。
- 一種使用一自動化測試裝備(ATE)進行測試之方法,其包含:從一電腦系統之一系統控制器向一測試器處理器傳送指令,其中該系統控制器係通訊性耦合至該測試器處理器;以及使用該測試器處理器來產生命令及資料,用於對一被測裝置(DUT)之測試進行協調,其中該DUT支援複數個任意全資料扇區大小,並且其中該測試器處理器上之軟體層進行運算以控制該測試器處理器與該DUT中之該等複數個任意全資料扇區大小之間的資料流,其中該等軟體層包含可操作以在支援該任意扇區 大小之該DUT與該測試器處理器之間輸送資料之一或多個功能層,且其中該等軟體層包含至少一裝置驅動程式層及一應用程式層。
- 如請求項12之方法,其中該測試器處理器係可操作以執行一Linux作業系統。
- 如請求項12之方法,其中該等軟體層包含可操作以在支援該任意扇區大小之該DUT與該測試器處理器之間輸送資料之四個功能層。
- 如請求項12之方法,其中該等軟體層包含可操作以在支援該任意扇區大小之該DUT與該測試器處理器之間輸送資料之四個功能層,其中該等軟體層包含該裝置驅動程式層、一Linux區塊層、一Vast系統軟體層及該應用程式層。
- 一種自動化測試裝備(ATE)設備,其包含:一電腦系統,其包含一系統控制器,其中該系統控制器係通訊性耦合至一測試器處理器及一FPGA,其中該系統控制器係可操作以將指令傳送至該測試器處理器,並且其中該測試器處理器係可操作以從該等指令產生命令及資料用於對一被測裝置(DUT)之測試進行協調,其中該DUT支援複數個非標準全資料扇區大小;其中該FPGA係通訊性耦合至該測試器處理器,並且包含至少一個硬體加速器電路,該至少一個硬體加速器電路可操作以對該測試器處理器透明地內部產生命令及資料用於測試該DUT;以及其中該測試器處理器被組配用以在複數種功能模式之一者中運作,其中各功能模式被組配用以分配用於產生命令、及用於採用一不同方式在該測試器處理器與該FPGA之間產生資料之功能,並且其中在標準模式中,該測試器處理器被組配用以產生用於對包含該等複數個非標準全資料扇區大小之該DUT之測試進行協調之所有命令及資料,其中該測試器處理器上之軟體層進行運算以控制 該測試器處理器與該DUT中之該等複數個非標準全資料扇區大小之間的資料流,且其中該等軟體層包含可操作以在支援該等複數個非標準全資料扇區大小之該DUT與該測試器處理器之間輸送資料之功能層。
- 如請求項16之ATE設備,其中該測試器處理器係可操作以執行一Linux作業系統。
- 如請求項16之ATE設備,其中該等軟體層包含可操作以在支援該等複數個非標準全資料扇區大小之該DUT與該測試器處理器之間輸送資料之四個功能層。
- 如請求項18之ATE設備,其中該等軟體層包含可操作以在支援該任意扇區大小之該DUT與該測試器處理器之間輸送資料之四個功能層,其中該等軟體層包含一裝置驅動程式層、一Linux區塊層、一Vast系統軟體層及使用者應用程式層。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062983118P | 2020-02-28 | 2020-02-28 | |
US62/983,118 | 2020-02-28 | ||
US17/142,989 | 2021-01-06 | ||
US17/142,989 US11430536B2 (en) | 2018-12-20 | 2021-01-06 | Software-focused solution for arbitrary all-data odd sector size support |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202207237A TW202207237A (zh) | 2022-02-16 |
TWI779458B true TWI779458B (zh) | 2022-10-01 |
Family
ID=77414556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110101330A TWI779458B (zh) | 2020-02-28 | 2021-01-13 | 用於任意全資料奇特扇區大小支援之軟體為主解決方案 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113327642A (zh) |
TW (1) | TWI779458B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005180A1 (en) * | 2001-06-29 | 2003-01-02 | Geoffrey Schmit | Measurements expert system and method for generating high-performance measurements software drivers |
US6567941B1 (en) * | 2000-04-12 | 2003-05-20 | Advantest Corp. | Event based test system storing pin calibration data in non-volatile memory |
US7362089B2 (en) * | 2004-05-21 | 2008-04-22 | Advantest Corporation | Carrier module for adapting non-standard instrument cards to test systems |
CN108777158A (zh) * | 2018-06-05 | 2018-11-09 | 深圳忆联信息系统有限公司 | 测试固态硬盘Trim性能的方法、装置及计算机设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10162007B2 (en) * | 2013-02-21 | 2018-12-25 | Advantest Corporation | Test architecture having multiple FPGA based hardware accelerator blocks for testing multiple DUTs independently |
US9810729B2 (en) * | 2013-02-28 | 2017-11-07 | Advantest Corporation | Tester with acceleration for packet building within a FPGA block |
-
2021
- 2021-01-13 TW TW110101330A patent/TWI779458B/zh active
- 2021-03-01 CN CN202110224734.8A patent/CN113327642A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6567941B1 (en) * | 2000-04-12 | 2003-05-20 | Advantest Corp. | Event based test system storing pin calibration data in non-volatile memory |
US20030005180A1 (en) * | 2001-06-29 | 2003-01-02 | Geoffrey Schmit | Measurements expert system and method for generating high-performance measurements software drivers |
US7362089B2 (en) * | 2004-05-21 | 2008-04-22 | Advantest Corporation | Carrier module for adapting non-standard instrument cards to test systems |
CN108777158A (zh) * | 2018-06-05 | 2018-11-09 | 深圳忆联信息系统有限公司 | 测试固态硬盘Trim性能的方法、装置及计算机设备 |
Non-Patent Citations (2)
Title |
---|
Pang, Fang et al "A reconfigurable digital IC tester implemented using the ARM Integrator rapid prototyping system"Canadian Conference on Electrical and Computer Engineering 2004(IEEE Cat. No. 04CH37513). Vol. 4. IEEE2004 * |
Pang, Fang et al "A reconfigurable digital IC tester implemented using the ARM Integrator rapid prototyping system"Canadian Conference on Electrical and Computer Engineering 2004(IEEE Cat. No. 04CH37513). Vol. 4. IEEE2004 。 |
Also Published As
Publication number | Publication date |
---|---|
TW202207237A (zh) | 2022-02-16 |
CN113327642A (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111426935B (zh) | 自动化测试设备装置 | |
US10288681B2 (en) | Test architecture with a small form factor test board for rapid prototyping | |
KR102043487B1 (ko) | 독립적으로 다수의 dut를 시험하기 위한 다수의 fpga 기반 하드웨어 가속기 블록을 갖는 시험 아키텍처 | |
KR101993504B1 (ko) | Fpga 블록 내의 자동 패턴 생성을 위한 가속 및 메모리 상의 가속을 갖는 시험기 | |
TWI547702B (zh) | 自動化測試設備裝置、用其來進行測試之方法以及測試器系統 | |
KR102100533B1 (ko) | Fpga 블록 내에 패킷 형성을 위한 가속을 갖는 시험기 | |
US20210117298A1 (en) | Use of host bus adapter to provide protocol flexibility in automated test equipment | |
US20210116494A1 (en) | Software directed firmware acceleration | |
TWI810523B (zh) | 自動測試裝備系統及設備、以及用於測試受測裝置的方法 | |
TWI779458B (zh) | 用於任意全資料奇特扇區大小支援之軟體為主解決方案 | |
US11860229B2 (en) | Device interface board supporting devices with multiple different standards to interface with the same socket | |
US20210278458A1 (en) | Software and firmware support for device interface board configured to allow devices supporting multiple different standards to interface with the same socket | |
US11430536B2 (en) | Software-focused solution for arbitrary all-data odd sector size support |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |