TWI413899B - 應用於循環記憶體之壓縮資料管理系統及方法 - Google Patents
應用於循環記憶體之壓縮資料管理系統及方法 Download PDFInfo
- Publication number
- TWI413899B TWI413899B TW098125254A TW98125254A TWI413899B TW I413899 B TWI413899 B TW I413899B TW 098125254 A TW098125254 A TW 098125254A TW 98125254 A TW98125254 A TW 98125254A TW I413899 B TWI413899 B TW I413899B
- Authority
- TW
- Taiwan
- Prior art keywords
- compressed data
- packet
- memory
- stop signal
- header
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明係關於一種壓縮資料管理系統及方法,詳言之,係關於一種應用於循環記憶體之壓縮資料管理系統及方法。
在複雜的系統晶片中,如圖1,通常包含了主動元件,如微處理器10、數位訊號處理器11、直接記憶體存取器14等等,以及被動元件,如硬體加速器15、晶片內記憶體12以及外部輸出介面13,這些裝置透過晶片內匯流排18連接在一起,以互相進行溝通。
由於晶片內運作行為十分複雜,為了對其除錯和效能分析,了解其內部運作情形係非常重要的,為了達到這目的,最直覺的方法係將所欲觀察的訊號,連接到晶片外,然而通常欲觀察之訊號數量龐大且晶片腳位有限,此方法並不可行。
因此一般常見的做法係在晶片中放置一即時追蹤器16,其用以即時擷取訊號,存放至晶片內追蹤用記憶體17之有限空間。在結束追蹤後,再透過軟體以非即時方式解壓縮及還原訊號。由於記憶體空間有限,因此有相關習知方法在即時追蹤器中加入壓縮功能,以在有限空間中增加追蹤資訊量。
參考美國專利公開第2004/0103399號與第2007/0094645號,其針對微處理器位址做壓縮,先記錄一筆完整之位址,其後之資料只需紀錄與此完整資料之差異度。參考美國專利公開第2006/0212761號與第2003/0126358號,其利用可定址之記憶體做壓縮,如果資料未在此記憶體中找到,則需紀錄完整之記憶體資料,並將此資料輸入至記憶體中。如果資料在此記憶體中存在,則只需紀錄其在記憶體中之編號,藉此達到壓縮。
利用追蹤器對系統除錯往往是要追蹤錯誤發生前的訊號,然而在錯誤發生時,系統狀態是不穩定狀態,一般習知之即時追蹤器在接收到結束訊號時,還需多花數個周期把最後的壓縮資料寫入記憶體中,這不利於診斷系統錯誤,因為在錯誤產生時,系統可能進入不穩定狀態,因而有可能導致即時追蹤器無法將最後的壓縮資料寫入記憶體中。
因此,有必要提供一種創新且具進步性的應用於循環記憶體之壓縮資料管理系統及方法,以解決上述問題。
本發明提供一種應用於循環記憶體之壓縮資料管理系統,其包括:一檔頭產生裝置、一整合裝置及一位址產生裝置。該檔頭產生裝置用以接收壓縮資料,並辨識壓縮資料以產生相對應之檔頭,該檔頭產生裝置接收一停止訊號,於該停止訊號致動時,該檔頭產生裝置停止運作。該整合裝置用以接收壓縮資料及相對應檔頭,以封裝壓縮資料及相對應檔頭為一封包,並計算封包之封包長度,該封包輸出至一循環記憶體,該整合裝置接收該停止訊號,於該停止訊號致動時,該整合裝置停止運作。該位址產生裝置用以依據封包長度,計算封包在循環記憶體中之位址,該位址產生裝置接收該停止訊號,於該停止訊號致動時,該位址產生裝置停止運作。
本發明另提供一種應用於循環記憶體之壓縮資料管理方法,包括以下步驟:(a)辨識壓縮資料,以產生相對應之檔頭;(b)依據壓縮資料及相對應檔頭,以封裝壓縮資料及相對應檔頭為一封包,並計算該封包之封包長度,該封包輸出至一循環記憶體;(c)計算封包在循環記憶體中之位址;及(d)依據一停止訊號,於該停止訊號致動時,停止上述之動作。
利用本發明之系統及方法,在結束追蹤時,亦即於該停止訊號致動時,可以立刻停止所有硬體壓縮機制,不影響資料之還原。另可避免習知技術無法將最後的壓縮資料寫入記憶體中之錯誤。
參考圖2,其顯示本發明應用於循環記憶體之壓縮資料管理系統之示意圖。本發明應用於循環記憶體之壓縮資料管理系統20包括:一檔頭產生裝置21、一整合裝置22及一位址產生裝置23。該檔頭產生裝置21用以接收壓縮資料,並辨識壓縮資料以產生相對應之檔頭,該檔頭產生裝置21接收一停止訊號,於該停止訊號致動時,該檔頭產生裝置21停止運作。較佳地,該壓縮資料係為反相壓縮資料,但不限於反相壓縮資料。
該整合裝置22用以接收壓縮資料及相對應檔頭,以封裝壓縮資料及相對應檔頭為一封包,並計算該封包之封包長度,該封包輸出至一循環記憶體,該整合裝置22接收該停止訊號,於該停止訊號致動時,該整合裝置22停止運作。
該位址產生裝置23用以依據整合裝置22計算之封包長度,計算封包在循環記憶體中之位址,該位址產生裝置23接收該停止訊號,於該停止訊號致動時,該位址產生裝置23停止運作。
在本實施例中,該檔頭輸出至晶片內匯流排28,且該位址產生裝置23所計算該封包在循環記憶體中之位址輸出至晶片內匯流排28。本發明應用於循環記憶體之壓縮資料管理系統20在停止訊號致動時,不需再多花周期數將檔頭產生器21中之資料以及位址產生裝置23中之資料寫入循環記憶體中,而是立即停止檔頭產生器21及位址產生裝置23。另藉由將其連接到晶片內匯流排28上,因此在停止訊號致動後,可藉由晶片內匯流排28讀取檔頭產生器21及位址產生裝置23之資料。
參考圖3,其顯示本發明之壓縮資料管理系統應用於循環記憶體之示意圖。配合參考圖2及圖3,說明本發明壓縮壓縮資料管理系統20之應用實施例。若前一筆壓縮資料為Ci-1,前一筆壓縮資料之相對應檔頭為Hi-1,其依序儲存於該循環記憶體27內。若停止訊號已經致動,在循環記憶體27中最後一筆壓縮資料為Ci,而用以解壓縮Ci之相對應檔頭Hi並未寫入循環記憶體27中,而是存在檔頭產生裝置21中,且輸出至晶片內匯流排28。
當停止訊號已經致動,在解壓縮時,藉由晶片內匯流排28可讀取位址產生裝置23之資料P,並以之定位最後一筆壓縮資料Ci在循環記憶體27中之位址,再藉由晶片內匯流排28讀取最後一筆壓縮資料Ci之相對應檔頭Hi,即可以相對應檔頭Hi資訊來解壓縮Ci,而在Ci解壓縮完畢後,即可得知前一筆壓縮資料Ci-1之相對應檔頭Hi-1在循環記憶體27之位址,並可利用該前一筆壓縮資料之相對應檔頭Hi-1之資訊解壓縮前一筆壓縮資料Ci-1,如此步驟一直進行將循環記憶體27中之資料全部解壓縮。
參考圖4,其顯示本發明應用於循環記憶體之壓縮資料管理方法之示意圖。參考步驟S31,辨識輸入之壓縮資料。參考步驟S32,依據該壓縮資料,以產生相對應之檔頭。在本實施例中,該檔頭輸出至晶片內匯流排。參考步驟S33,依據壓縮資料及相對應檔頭,以封裝壓縮資料及相對應檔頭為一封包。在步驟S33中,另包括計算該封包之封包長度之步驟。參考步驟S34,該封包輸出至一循環記憶體。參考步驟S35,依據封包之長度,計算封包在循環記憶體中之位址。在本實施例中,該封包在循環記憶體中之位址輸出至晶片內匯流排。參考步驟S36,判斷停止訊號是否致動。參考步驟S37,若停止訊號致動時,停止上述之動作。若停止訊號未致動,上述之動作繼續,至步驟S31。
如上所述,在停止訊號致動後,可藉由晶片內匯流排讀取檔頭產生器及位址產生裝置之資料。利用本發明之系統及方法,在結束追蹤時,亦即於該停止訊號致動時,可以立刻停止所有硬體壓縮機制,順利地取得循環記憶體內之資料,不影響資料之還原。另可避免習知技術無法將最後的壓縮資料寫入記憶體中之錯誤。
惟上述實施例僅為說明本發明之原理及其功效,而非限制本發明。因此,習於此技術之人士對上述實施例進行修改及變化仍不脫本發明之精神。本發明之權利範圍應如後述之申請專利範圍所列。
10...微處理器
11...數位訊號處理器
12...晶片內記憶體
13...外部輸出介面
14...直接記憶體存取器
15...硬體加速器
16...追蹤器
17...晶片內追蹤用記憶體
20...本發明壓縮資料管理系統
21...檔頭產生裝置
22...整合裝置
23...位址產生裝置
圖1顯示習知系統晶片之方塊示意圖;
圖2顯示本發明應用於循環記憶體之壓縮資料管理系統之示意圖;
圖3顯示本發明之壓縮資料管理系統應用於循環記憶體之示意圖;及
圖4顯示本發明應用於循環記憶體之壓縮資料管理方法之示意圖。
20...本發明壓縮資料管理系統
21...檔頭產生裝置
22...整合裝置
23...位址產生裝置
Claims (9)
- 一種應用於循環記憶體之壓縮資料管理系統,包括:一檔頭產生裝置,用以接收壓縮資料,並辨識壓縮資料以產生相對應之檔頭,該檔頭產生裝置接收一停止訊號,於該停止訊號致動時,該檔頭產生裝置停止運作;一整合裝置,用以接收壓縮資料及相對應檔頭,以封裝壓縮資料及相對應檔頭為一封包,並計算該封包之封包長度,該封包輸出至一循環記憶體,該整合裝置接收該停止訊號,於該停止訊號致動時,該整合裝置停止運作;及一位址產生裝置,用以依據封包長度,計算封包在循環記憶體中之位址,該位址產生裝置接收該停止訊號,於該停止訊號致動時,該位址產生裝置停止運作。
- 如請求項1之壓縮資料管理系統,其中該檔頭輸出至晶片內匯流排。
- 如請求項1之壓縮資料管理系統,其中該封包在循環記憶體中之位址輸出至晶片內匯流排。
- 如請求項1之壓縮資料管理系統,其中該壓縮資料為反相壓縮資料。
- 一種應用於循環記憶體之壓縮資料管理方法,包括以下步驟:(a)辨識壓縮資料,以產生相對應之檔頭;(b)依據壓縮資料及相對應檔頭,以封裝壓縮資料及相對應檔頭為一封包,該封包輸出至一循環記憶體;(c)計算封包在循環記憶體中之位址;及(d)依據一停止訊號,於該停止訊號致動時,停止上述之動作。
- 如請求項5之壓縮資料管理方法,其中在步驟(a)中,該檔頭輸出至晶片內匯流排。
- 如請求項5之壓縮資料管理方法,其中在步驟(c)中,該封包在循環記憶體中之位址輸出至晶片內匯流排。
- 如請求項5之壓縮資料管理方法,其中在步驟(a)中之壓縮資料為反相壓縮資料。
- 如請求項5之壓縮資料管理方法,其中在步驟(b)中另包括計算該封包之封包長度之步驟,在步驟(c)中依據封包長度,計算封包在循環記憶體中之位址。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098125254A TWI413899B (zh) | 2009-07-27 | 2009-07-27 | 應用於循環記憶體之壓縮資料管理系統及方法 |
US12/844,249 US8332551B2 (en) | 2009-07-27 | 2010-07-27 | Compressed data managing system and method for circular buffer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098125254A TWI413899B (zh) | 2009-07-27 | 2009-07-27 | 應用於循環記憶體之壓縮資料管理系統及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201104428A TW201104428A (en) | 2011-02-01 |
TWI413899B true TWI413899B (zh) | 2013-11-01 |
Family
ID=43498411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098125254A TWI413899B (zh) | 2009-07-27 | 2009-07-27 | 應用於循環記憶體之壓縮資料管理系統及方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8332551B2 (zh) |
TW (1) | TWI413899B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI505091B (zh) * | 2014-09-16 | 2015-10-21 | Storart Technology Co Ltd | 用於非揮發性記憶體的自適應壓縮資料儲存方法及使用該方法的系統 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9792308B2 (en) * | 1998-12-11 | 2017-10-17 | Realtime Data, Llc | Content estimation data compression |
US6624761B2 (en) | 1998-12-11 | 2003-09-23 | Realtime Data, Llc | Content independent data compression method and system |
US6601104B1 (en) | 1999-03-11 | 2003-07-29 | Realtime Data Llc | System and methods for accelerated data storage and retrieval |
US9143546B2 (en) | 2000-10-03 | 2015-09-22 | Realtime Data Llc | System and method for data feed acceleration and encryption |
US8692695B2 (en) | 2000-10-03 | 2014-04-08 | Realtime Data, Llc | Methods for encoding and decoding data |
US7386046B2 (en) | 2001-02-13 | 2008-06-10 | Realtime Data Llc | Bandwidth sensitive data compression and decompression |
US8645762B2 (en) * | 2010-12-08 | 2014-02-04 | Advanced Micro Devices, Inc. | Queue freeze on protocol error |
US8566491B2 (en) | 2011-01-31 | 2013-10-22 | Qualcomm Incorporated | System and method for improving throughput of data transfers using a shared non-deterministic bus |
US9129416B2 (en) * | 2012-11-14 | 2015-09-08 | Microsoft Technology Licensing, Llc | Digital art undo and redo |
CN110018852B (zh) * | 2018-01-10 | 2021-10-15 | 中兴通讯股份有限公司 | 一种***二级引导方法、设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5105424A (en) * | 1988-06-02 | 1992-04-14 | California Institute Of Technology | Inter-computer message routing system with each computer having separate routinng automata for each dimension of the network |
US6243836B1 (en) * | 1998-08-17 | 2001-06-05 | Lucent Technologies, Inc. | Apparatus and method for circular buffering on an on-chip discontinuity trace |
US20030126358A1 (en) * | 2001-12-28 | 2003-07-03 | Timothe Litt | Method and apparatus for implementing loop compression in a program counter trace |
US20040103399A1 (en) * | 2002-11-22 | 2004-05-27 | Manisha Agarwala | Data trace compression map |
US20040158776A1 (en) * | 2002-03-11 | 2004-08-12 | American Arium | Trace reporting method and system |
TWI256038B (en) * | 2003-05-23 | 2006-06-01 | Ulead Systems Inc | Method and apparatus for performing continuous capture during recording real-time data |
US20060212761A1 (en) * | 2005-03-17 | 2006-09-21 | Levine Frank E | Data and instruction address compression |
US20070101198A1 (en) * | 2005-10-31 | 2007-05-03 | Nec Electronics Corporation | Semiconductor integrated circuit device, and debugging system and method for the semiconductor integrated circuit device |
TW200814789A (en) * | 2006-06-26 | 2008-03-16 | Fujitsu Ltd | Encoded data transfer device and encoded data transferring method |
TW200849900A (en) * | 2007-04-26 | 2008-12-16 | Microsoft Corp | Compression of data packets while maintaining endpoint-to-endpoint authentication |
TW200908750A (en) * | 2007-05-22 | 2009-02-16 | Nec Electronics Corp | Image processing apparatus for reading compressed data from and writing to memory via data bus and image processing method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6195024B1 (en) * | 1998-12-11 | 2001-02-27 | Realtime Data, Llc | Content independent data compression method and system |
EP1745394B1 (en) * | 2004-04-26 | 2009-07-15 | Storewiz, Inc. | Method and system for compression of files for storage and operation on compressed files |
-
2009
- 2009-07-27 TW TW098125254A patent/TWI413899B/zh active
-
2010
- 2010-07-27 US US12/844,249 patent/US8332551B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5105424A (en) * | 1988-06-02 | 1992-04-14 | California Institute Of Technology | Inter-computer message routing system with each computer having separate routinng automata for each dimension of the network |
US6243836B1 (en) * | 1998-08-17 | 2001-06-05 | Lucent Technologies, Inc. | Apparatus and method for circular buffering on an on-chip discontinuity trace |
US20030126358A1 (en) * | 2001-12-28 | 2003-07-03 | Timothe Litt | Method and apparatus for implementing loop compression in a program counter trace |
US20040158776A1 (en) * | 2002-03-11 | 2004-08-12 | American Arium | Trace reporting method and system |
US20040103399A1 (en) * | 2002-11-22 | 2004-05-27 | Manisha Agarwala | Data trace compression map |
TWI256038B (en) * | 2003-05-23 | 2006-06-01 | Ulead Systems Inc | Method and apparatus for performing continuous capture during recording real-time data |
US20060212761A1 (en) * | 2005-03-17 | 2006-09-21 | Levine Frank E | Data and instruction address compression |
US20070101198A1 (en) * | 2005-10-31 | 2007-05-03 | Nec Electronics Corporation | Semiconductor integrated circuit device, and debugging system and method for the semiconductor integrated circuit device |
TW200814789A (en) * | 2006-06-26 | 2008-03-16 | Fujitsu Ltd | Encoded data transfer device and encoded data transferring method |
TW200849900A (en) * | 2007-04-26 | 2008-12-16 | Microsoft Corp | Compression of data packets while maintaining endpoint-to-endpoint authentication |
TW200908750A (en) * | 2007-05-22 | 2009-02-16 | Nec Electronics Corp | Image processing apparatus for reading compressed data from and writing to memory via data bus and image processing method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI505091B (zh) * | 2014-09-16 | 2015-10-21 | Storart Technology Co Ltd | 用於非揮發性記憶體的自適應壓縮資料儲存方法及使用該方法的系統 |
Also Published As
Publication number | Publication date |
---|---|
US8332551B2 (en) | 2012-12-11 |
US20110023052A1 (en) | 2011-01-27 |
TW201104428A (en) | 2011-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI413899B (zh) | 應用於循環記憶體之壓縮資料管理系統及方法 | |
CN109918303B (zh) | 一种芯片、芯片调试方法及装置、设备、介质 | |
US7886195B2 (en) | Apparatus, system, and method of efficiently utilizing hardware resources for a software test | |
TWI495887B (zh) | 半導體裝置及用於系統單晶片之方法 | |
US6901581B1 (en) | Method for software debugging via simulated re-execution of a computer program | |
US20220252665A1 (en) | On-chip Debugging Device and Method | |
TWI494751B (zh) | 自動化解碼攜帶式可執行檔之系統、方法及其電腦程式產品 | |
CN106951587A (zh) | Fpga调试***及方法 | |
US8340505B2 (en) | Method of processing audio-video data | |
CN113835945B (zh) | 芯片的测试方法、装置、设备及*** | |
CN104714459A (zh) | 可编程控制器 | |
Yang et al. | Expanding trace buffer observation window for in-system silicon debug through selective capture | |
US20130198566A1 (en) | Method and Apparatus for Debugging System-on-Chip Devices | |
JP2016212864A (ja) | メモリ管理システム、方法、およびコンピュータ・プログラム | |
US10664370B2 (en) | Multiple core analysis mode for defect analysis | |
JP4187470B2 (ja) | 半導体装置の開発支援連携装置及び開発支援方法 | |
JP7063445B2 (ja) | 障害情報処理プログラム、コンピュータ、障害通知方法、コンピュータシステム | |
US20170147817A1 (en) | Analysis device, analysis method, and storage medium in which analysis program is recorded | |
CN110333993B (zh) | 内存快照的生成方法、装置、电子设备和存储介质 | |
CN116795712A (zh) | 反向调试方法、调试方法、计算设备及存储介质 | |
US20070265822A1 (en) | Data processing system and method | |
CN110851162A (zh) | 兼容raid与非raid的ssd固件升级方法和装置 | |
US10970442B1 (en) | Method of debugging hardware and firmware of data storage | |
CN114116351A (zh) | 一种芯片验证的方法、装置、设备及可读介质 | |
US7956775B2 (en) | Backward compression system and method |