TW202230119A - Method for performing multi-system log access management, associated system on chip integrated circuit and non-transitory computer-readable medium - Google Patents

Method for performing multi-system log access management, associated system on chip integrated circuit and non-transitory computer-readable medium Download PDF

Info

Publication number
TW202230119A
TW202230119A TW110124935A TW110124935A TW202230119A TW 202230119 A TW202230119 A TW 202230119A TW 110124935 A TW110124935 A TW 110124935A TW 110124935 A TW110124935 A TW 110124935A TW 202230119 A TW202230119 A TW 202230119A
Authority
TW
Taiwan
Prior art keywords
log
logs
partial
systems
circuits
Prior art date
Application number
TW110124935A
Other languages
Chinese (zh)
Other versions
TWI798743B (en
Inventor
張俊臣
李明瑞
Original Assignee
瑞昱半導體股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 瑞昱半導體股份有限公司 filed Critical 瑞昱半導體股份有限公司
Publication of TW202230119A publication Critical patent/TW202230119A/en
Application granted granted Critical
Publication of TWI798743B publication Critical patent/TWI798743B/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6236Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database between heterogeneous systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system

Abstract

A method for performing multi-system log access management and an associated SoC IC are provided. The method may include: utilizing multiple partial circuit of at least one processor in the SoC IC to run multiple systems, respectively; utilizing a first partial circuit to execute at least one first log management procedure, to configure at least one memory into multiple ring buffers, to record a set of first logs of a first system running on the first partial circuit into a first ring buffer, and to write multiple sets of logs respectively stored in the multiple ring buffers into a file system; and utilizing at least one second partial circuit to execute at least one second log management procedure, to record at least one set of second logs of at least one second system running on the at least one second partial circuit into at least one second ring buffer.

Description

用來進行多系統日誌存取管理之方法、系統單晶片積體電路以及非暫態計算機可讀取媒體Method, system-on-chip integrated circuit, and non-transitory computer-readable medium for multi-system log access management

本發明係有關於一積體電路(Integrated circuit, IC)上的跨系統(cross-system)管理,尤指一種用來進行多系統(multi-system)日誌(log)存取管理之方法、相關的系統單晶片(System on Chip,可簡稱SoC)積體電路(Integrated Circuit,可簡稱IC)以及非暫態計算機可讀取媒體(non-transitory computer-readable medium)。The present invention relates to cross-system management on an integrated circuit (IC), and more particularly to a method for multi-system log (log) access management, and related System on Chip (SoC for short) integrated circuit (IC for short) and non-transitory computer-readable medium (non-transitory computer-readable medium).

一SoC IC可包含多個處理器以供實現不同的功能(例如系統控制、聲音相關功能等)。在該SoC IC的各種階段(phase)中,記錄該多個處理器的各自的日誌可能是需要的。例如,在該SoC IC的設計階段、實驗室試運行(pilot run)階段及量產(production)試運行階段中,可能需要大量的日誌,以供進行系統效能分析以及偵錯(debug)。在該SoC IC的量產階段中,可能也需要日誌,以供找出系統當機(crash)的原因。由於該SoC IC可具備各種不同的功能,該SoC IC中的這些處理器可分別運行不同的系統。然而,可能發生某些問題。例如,該SoC IC可能僅僅保留這些處理器中的單一處理器的日誌或僅僅保留這些系統中的單一系統的日誌,且因此缺乏通用的架構,以供獲取跨系統及多處理器的日誌。又例如,這些處理器可能分別輸出日誌至同一個控制台(console),其中同時操作同一個控制台可能需要加上鎖定機制,這可造成這些處理器互相等待,且因此拖慢了這些處理器的速度。再例如,在該SoC IC沒有接到控制台、或者該SoC IC接到控制台但一控制台端主機故障的情況下,無法對該SoC IC進行相關分析。因此,需要一種新穎的方法及相關架構,以在沒有副作用或較不可能帶來副作用之狀況下實現具有可靠的日誌處理機制之SoC IC。A SoC IC may contain multiple processors for implementing different functions (eg, system control, sound-related functions, etc.). During various phases of the SoC IC, it may be desirable to record individual logs of the plurality of processors. For example, in the design stage, the pilot run stage and the production trial run stage of the SoC IC, a large number of logs may be required for system performance analysis and debugging. During the mass production phase of the SoC IC, logs may also be required to find out the cause of the system crash. Since the SoC IC can have various functions, the processors in the SoC IC can each run different systems. However, certain problems may occur. For example, the SoC IC may only keep a log of a single processor of the processors or only a single system of the systems, and thus lack a common architecture for obtaining logs across systems and multiple processors. For another example, these processors may output logs separately to the same console, where simultaneous operation of the same console may require a locking mechanism, which can cause these processors to wait for each other and thus slow down these processors speed. For another example, when the SoC IC is not connected to the console, or the SoC IC is connected to the console but a console-side host fails, the SoC IC cannot be analyzed. Therefore, there is a need for a novel approach and related architecture to implement SoC ICs with reliable log handling mechanisms with no or less likely side effects.

本發明之一目的在於提供一種用來進行多系統(multi-system)日誌(log)存取管理之方法、相關的系統單晶片(System on Chip, SoC)積體電路以及非暫態計算機可讀取媒體,以解決上述問題。An object of the present invention is to provide a method for multi-system log (log) access management, a related System on Chip (SoC) integrated circuit, and a non-transitory computer readable Remove the media to resolve the above issues.

本發明之另一目的在於提供一種用來進行多系統日誌存取管理之方法、相關的系統單晶片積體電路以及非暫態計算機可讀取媒體,以確保多個系統的日誌資訊的記錄的完整性(completeness)、正確性及可用性(availability)。Another object of the present invention is to provide a method for multi-system log access management, a related system-on-chip integrated circuit, and a non-transitory computer-readable medium, so as to ensure the record of log information of multiple systems. Completeness, correctness and availability.

本發明之至少一實施例提供一種用來進行多系統日誌存取管理之方法,其中該方法是可應用於(applicable to)一系統單晶片積體電路。該方法可包含:利用該系統單晶片積體電路中之至少一處理器運行多個系統以控制該系統單晶片積體電路的操作,其中該至少一處理器包含多個局部電路,且該多個局部電路分別運行該多個系統;利用該多個局部電路中之一第一局部電路執行至少一第一日誌管理程序,以將該系統單晶片積體電路中之至少一記憶體配置成分別對應於該多個局部電路之多個環緩衝器、於該多個環緩衝器中之一第一環緩衝器中記錄運行於該第一局部電路的一第一系統之一組第一日誌,且將該多個環緩衝器所分別儲存之多組日誌寫入一檔案系統以成為至少一日誌檔案以供存取,其中該多個系統包含該第一系統,而該多組日誌包含該組第一日誌;以及利用該多個局部電路中之至少一第二局部電路執行至少一第二日誌管理程序,以於該多個環緩衝器中之至少一第二環緩衝器中記錄運行於該至少一第二局部電路的至少一第二系統之至少一組第二日誌,其中該多個系統包含該至少一第二系統,而該多組日誌包含該至少一組第二日誌。At least one embodiment of the present invention provides a method for multi-system log access management, wherein the method is applicable to a system-on-chip integrated circuit. The method may include operating a plurality of systems to control the operation of the SoC integrated circuit with at least one processor in the SoC, wherein the at least one processor includes a plurality of local circuits, and the plurality of each local circuit runs the plurality of systems; and utilizes a first local circuit of the plurality of local circuits to execute at least a first log management program, so as to configure at least one memory in the system-on-chip integrated circuit to be respectively a plurality of ring buffers corresponding to the plurality of partial circuits, recording a set of first logs of a first system operating on the first partial circuit in a first ring buffer of the plurality of ring buffers, and write multiple sets of logs stored in the multiple ring buffers into a file system to become at least one log file for access, wherein the multiple systems include the first system, and the multiple sets of logs include the set a first log; and executing at least a second log management procedure by utilizing at least one second partial circuit of the plurality of partial circuits to record in at least one second ring buffer of the plurality of ring buffers running on the At least one set of second logs of at least one second system of at least one second partial circuit, wherein the plurality of systems includes the at least one second system, and the multiple sets of logs include the at least one set of second logs.

本發明之至少一實施例提供一種系統單晶片積體電路,其中該系統單晶片積體電路是可應用於多系統日誌存取管理。該系統單晶片積體電路可包含:至少一處理器,該至少一處理器包含多個局部電路;以及至少一記憶體,耦接至該至少一處理器。該多個局部電路可用來分別運行多個系統以控制該系統單晶片積體電路的操作,而該至少一記憶體可用來為該系統單晶片積體電路儲存資訊。例如:該多個局部電路中之一第一局部電路執行至少一第一日誌管理程序,以將該至少一記憶體配置成分別對應於該多個局部電路之多個環緩衝器、於該多個環緩衝器中之一第一環緩衝器中記錄運行於該第一局部電路的一第一系統之一組第一日誌、且將該多個環緩衝器所分別儲存之多組日誌寫入一檔案系統以成為至少一日誌檔案,以供進一步使用,其中該多個系統包含該第一系統,而該多組日誌包含該組第一日誌;以及該多個局部電路中之至少一第二局部電路執行至少一第二日誌管理程序,以於該多個環緩衝器中之至少一第二環緩衝器中記錄運行於該至少一第二局部電路的至少一第二系統之至少一組第二日誌,其中該多個系統包含該至少一第二系統,而該多組日誌包含該至少一組第二日誌。At least one embodiment of the present invention provides a system-on-chip integrated circuit, wherein the system-on-chip integrated circuit is applicable to multi-system log access management. The system-on-chip integrated circuit may include: at least one processor including a plurality of partial circuits; and at least one memory coupled to the at least one processor. The plurality of local circuits can be used to respectively operate a plurality of systems to control the operation of the SoC IC, and the at least one memory can be used to store information for the SoC IC. For example, a first partial circuit of the plurality of partial circuits executes at least a first log management procedure, so as to configure the at least one memory as a plurality of ring buffers corresponding to the plurality of partial circuits, respectively, in the plurality of A first ring buffer of the ring buffers records a set of first logs of a first system running on the first partial circuit, and writes the sets of logs stored in the ring buffers respectively a file system to become at least one log file for further use, wherein the plurality of systems include the first system, the plurality of sets of logs include the first set of logs; and at least a second one of the plurality of partial circuits The local circuit executes at least one second log management procedure to record in at least one second ring buffer of the plurality of ring buffers at least one set of first records of at least one second system running on the at least one second local circuit Two logs, wherein the plurality of systems include the at least one second system, and the plurality of sets of logs include the at least one group of second logs.

本發明之至少一實施例提供一種非暫態計算機可讀取媒體,其儲存有程式碼使得一系統單晶片積體電路於執行所述程式碼時進行一多系統日誌存取管理程序,該系統單晶片積體電路中之至少一處理器運行多個系統以控制該系統單晶片積體電路的操作,該至少一處理器包含多個局部電路,該多個局部電路分別運行該多個系統,該多系統日誌存取管理程序包含:利用該多個局部電路中之一第一局部電路執行至少一第一日誌管理程序,以將該系統單晶片積體電路中之至少一記憶體配置成分別對應於該多個局部電路之多個環緩衝器、於該多個環緩衝器中之一第一環緩衝器中記錄運行於該第一局部電路的一第一系統之一組第一日誌,且將該多個環緩衝器所分別儲存之多組日誌寫入一檔案系統以成為至少一日誌檔案以供存取,其中該多個系統包含該第一系統,而該多組日誌包含該組第一日誌;以及利用該多個局部電路中之至少一第二局部電路執行至少一第二日誌管理程序,以於該多個環緩衝器中之至少一第二環緩衝器中記錄運行於該至少一第二局部電路的至少一第二系統之至少一組第二日誌,其中該多個系統包含該至少一第二系統,而該多組日誌包含該至少一組第二日誌。At least one embodiment of the present invention provides a non-transitory computer-readable medium storing code to enable a system-on-chip integrated circuit to perform a multi-syslog access management program when executing the code. The system at least one processor in the single chip integrated circuit operates a plurality of systems to control the operation of the system single chip integrated circuit, the at least one processor includes a plurality of partial circuits, the plurality of partial circuits respectively operate the plurality of systems, The multi-system log access management program includes: executing at least one first log management program with a first partial circuit of the plurality of partial circuits, so as to configure at least one memory in the SoC integrated circuit to be respectively a plurality of ring buffers corresponding to the plurality of partial circuits, recording a set of first logs of a first system operating on the first partial circuit in a first ring buffer of the plurality of ring buffers, and write multiple sets of logs stored in the multiple ring buffers into a file system to become at least one log file for access, wherein the multiple systems include the first system, and the multiple sets of logs include the set a first log; and executing at least a second log management procedure by utilizing at least one second partial circuit of the plurality of partial circuits to record in at least one second ring buffer of the plurality of ring buffers running on the At least one set of second logs of at least one second system of at least one second partial circuit, wherein the plurality of systems includes the at least one second system, and the multiple sets of logs include the at least one set of second logs.

依據某些實施例,在該至少一處理器代表複數個處理器/處理器核心的情況下,該多個局部電路可代表該複數個處理器/處理器核心。例如,該複數個處理器/處理器核心可藉由複數個中央處理單元(Central Processing Unit,可簡稱CPU)或複數個CPU核心等方式來實施。According to some embodiments, where the at least one processor represents a plurality of processors/processor cores, the plurality of partial circuits may represent the plurality of processors/processor cores. For example, the plurality of processors/processor cores may be implemented by a plurality of central processing units (Central Processing Unit, CPU for short) or a plurality of CPU cores.

本發明的好處之一是,透過仔細設計之日誌處理機制,本發明能使多系統架構(architecture)諸如多核異構(multi-core heterogeneous)CPU架構具備跨系統日誌處理能力,尤其能提升整體日誌處理效能,且能避免相關技術的問題諸如頻繁操作控制台、加上鎖定機制所致的等待而造成系統效能降低等。One of the advantages of the present invention is that, through a carefully designed log processing mechanism, the present invention enables multi-system architectures such as multi-core heterogeneous CPU architectures to have cross-system log processing capabilities, especially to improve the overall log The processing performance is improved, and the problems of the related art, such as frequent operation of the console and the waiting caused by the locking mechanism, can be avoided, resulting in lowering of the system performance.

第1圖為依據本發明一實施例之一種系統單晶片(System on Chip,簡稱SoC)積體電路(Integrated Circuit,簡稱IC)100的示意圖,其中SoC IC 100可位於一電子裝置10中,尤其,可被安裝(mount)於電子裝置10的一主電路板(例如印刷電路板)上,但本發明不限於此。如第1圖所示,除了SoC IC 100,電子裝置10可包含一資料儲存裝置12及一介面電路14,而資料儲存裝置12可包含一檔案系統12FS。另外,SoC IC 100可包含至少一處理器(例如一或多個處理器),統稱為處理器110,且可另包含耦接至處理器110的至少一記憶體(例如一或多個記憶體),統稱為記憶體120,其中處理器110可包含多個局部電路{PC}諸如(N+1)個局部電路PC(0)、PC(1)、…及PC(N),以供分別運行多個系統諸如系統#0、#1、…及#N,其中符號{ }可代表集合。這些局部電路{PC}諸如該(N+1)個局部電路PC(0)、PC(1)、…及PC(N)可獨立地操作且可分別視為多個局部處理電路諸如(N+1)個局部處理電路,尤其,可為SoC IC 100分別執行系統#0、#1、…及#N。為了便於理解,系統#0、#1、…及#N可分別代表多個作業系統(Operating System, OS)。FIG. 1 is a schematic diagram of a system on chip (SoC) integrated circuit (IC) 100 according to an embodiment of the present invention, wherein the SoC IC 100 can be located in an electronic device 10, especially , which can be mounted on a main circuit board (eg, a printed circuit board) of the electronic device 10 , but the invention is not limited thereto. As shown in FIG. 1, in addition to the SoC IC 100, the electronic device 10 may include a data storage device 12 and an interface circuit 14, and the data storage device 12 may include a file system 12FS. Additionally, SoC IC 100 may include at least one processor (eg, one or more processors), collectively referred to as processor 110 , and may further include at least one memory (eg, one or more memories) coupled to processor 110 ), collectively referred to as the memory 120, wherein the processor 110 may include a plurality of partial circuits {PC} such as (N+1) partial circuits PC(0), PC(1), . . . and PC(N) for respective Run multiple systems such as systems #0, #1, . . . and #N, where the notation { } may represent a set. These partial circuits {PC} such as the (N+1) partial circuits PC(0), PC(1), . 1) Local processing circuits, in particular, may implement systems #0, #1, . . . and #N for SoC IC 100, respectively. For ease of understanding, systems #0, #1, . . . and #N may represent a plurality of operating systems (OSs), respectively.

在運行於處理器110上的至少一程式模組(例如一或多個程式模組)的控制下,處理器110可將記憶體120(例如其多個儲存區)配置成多個環緩衝器(Ring Buffer){RB}諸如(N+1)個環緩衝器RB(0)、RB(1)、…及RB(N)以及一環緩衝器頭區RBH以及進行多個日誌存取操作。例如,這些日誌存取操作可包含: (1) 局部電路PC(0)、PC(1)、…及PC(N)分別對環緩衝器RB(0)、RB(1)、…及RB(N)所進行的寫入操作WRITE(0)、WRITE(1)、…及WRITE(N),其中這些寫入操作可為日誌寫入操作; (2) 局部電路PC(0)分別對環緩衝器RB(0)、RB(1)、…及RB(N)所進行的讀取操作READ(0)、READ(1)、…及READ(N),其中這些讀取操作可為日誌讀取操作;以及 (3) 局部電路PC(0)對資料儲存裝置12中的檔案系統12FS的寫入操作WRITE TOTAL,其中這個寫入操作也可為日誌寫入操作,且因為被寫入檔案系統12FS而可為檔案寫入操作,諸如日誌檔案寫入操作;但本發明不限於此。 Under the control of at least one program module (eg, one or more program modules) running on the processor 110 , the processor 110 may configure the memory 120 (eg, multiple storage areas thereof) into a plurality of ring buffers (Ring Buffer) {RB} such as (N+1) ring buffers RB(0), RB(1), . . . and RB(N) and a ring buffer header RBH and perform multiple log access operations. For example, these log access operations may include: (1) Local circuits PC(0), PC(1), . N) Write operations WRITE(0), WRITE(1), . read operations READ(0), READ(1), ..., and READ(N) by processors RB(0), RB(1), ..., and RB(N), which may be log reads and (3) a write operation WRITE TOTAL of the local circuit PC(0) to the file system 12FS in the data storage device 12, wherein this write operation can also be a log write operation, and since the write operation is written to the file system 12FS Instead, it can be a file write operation, such as a log file write operation; but the invention is not limited thereto.

基於第1圖所示架構,SoC IC 100可進行多系統日誌存取管理。該多個局部電路{PC}諸如該(N+1)個局部電路PC(0)、PC(1)、…及PC(N)可分別運行系統#0、#1、…及#N以控制SoC IC 100的操作,而上述至少一記憶體諸如記憶體120可用來為SoC IC 100儲存資訊,其中系統#0、#1、…及#N中的至少兩個系統典型地(typically)彼此不同,尤其,分別屬於不同類型的系統。例如,系統#0、#1、…及#N可分別對應於電子裝置10的多個功能諸如功能#0、#1、…及#N,其中功能#0可包含系統控制,而功能#1、…及#N可包含聲音處理、視訊處理、通訊處理、定位處理等,但不以此為限。Based on the architecture shown in Figure 1, the SoC IC 100 can perform multi-system log access management. The plurality of partial circuits {PC} such as the (N+1) partial circuits PC(0), PC(1), ... and PC(N) may operate systems #0, #1, ... and #N, respectively, to control Operation of SoC IC 100 while at least one memory such as memory 120 may be used to store information for SoC IC 100, wherein at least two of systems #0, #1, . . . and #N are typically different from each other , in particular, belong to different types of systems. For example, systems #0, #1, . . . and #N may correspond to multiple functions of the electronic device 10 such as functions #0, #1, . . . and #N, respectively, where function #0 may include system control, and function #1 , ... and #N may include voice processing, video processing, communication processing, positioning processing, etc., but are not limited thereto.

該多個局部電路{PC}中之一第一局部電路,諸如局部電路PC(0),可被配置成主要(main)局部電路,以進行該多系統日誌存取管理之整體控制。尤其,局部電路PC(0)可執行至少一第一日誌管理程序諸如日誌管理程序LMP(0),以進行下列操作: (1) 將記憶體120配置成分別對應於該(N+1)個局部電路PC(0)、PC(1)、…及PC(N)之該(N+1)個環緩衝器RB(0)、RB(1)、…及RB(N); (2) 於該(N+1)個環緩衝器RB(0)、RB(1)、…及RB(N)中之一第一環緩衝器諸如環緩衝器RB(0)中,記錄運行於該第一局部電路上的一第一系統(其中系統#0、#1、…及#N包含該第一系統,例如系統#0)之一組第一日誌,諸如運行於局部電路PC(0)的系統#0上之一組日誌LOG(0);以及 (3) 將該(N+1)個環緩衝器所分別儲存之(N+1)組日誌LOG(0)、LOG(1)、…及LOG(N)寫入檔案系統12FS以成為至少一日誌檔案12LF,以供進一步使用(例如由使用者/其它處理器根據至少一指令存取並顯示於顯示器上,令使用者/其它處理器可根據各日誌的內容對該多個局部電路{PC}進行控制/優化/重設/除錯…等程序),其中該(N+1)組日誌LOG(0)、LOG(1)、…及LOG(N)包含該組第一日誌諸如該組日誌LOG(0)。 A first partial circuit of the plurality of partial circuits {PC}, such as partial circuit PC(0), may be configured as a main partial circuit for overall control of the multi-syslog access management. In particular, the partial circuit PC(0) can execute at least a first log management program such as the log management program LMP(0) to perform the following operations: (1) Configure the memory 120 to correspond to the (N+1) ring buffers RB( 0), RB(1), ... and RB(N); (2) In a first ring buffer such as ring buffer RB(0) of the (N+1) ring buffers RB(0), RB(1), . . . and RB(N), record the operation A first set of logs on a first system on the first partial circuit (where systems #0, #1, ... and #N include the first system, eg, system #0), such as running on partial circuit PC ( 0) a set of logs LOG(0) on system #0; and (3) Write (N+1) sets of logs LOG(0), LOG(1), . The log file 12LF is for further use (eg, accessed by the user/other processor according to at least one command and displayed on the display, so that the user/other processor can use the content of each log for the plurality of partial circuits {PC } to control/optimize/reset/debug... etc.), wherein the (N+1) set of logs LOG(0), LOG(1), ... and LOG(N) include the set of first logs such as the set of logs Log LOG(0).

另外,該多個局部電路{PC}中之至少一第二局部電路,諸如局部電路PC(n)(例如:符號「n」可代表區間[1, N]中的任一正整數),可執行至少一第二日誌管理程序諸如日誌管理程序LMP(n),以於該(N+1)個環緩衝器RB(0)、RB(1)、…及RB(N)中之至少一第二環緩衝器諸如環緩衝器RB(n)中,記錄運行於該至少一第二局部電路(例如局部電路PC(n))的至少一第二系統(其中該至少一第二系統包含於系統#0、#1、…及#N中,例如系統#n)之至少一組第二日誌(例如一組日誌LOG(n)),而該(N+1)組日誌LOG(0)、LOG(1)、…及LOG(N)包含該至少一組第二日誌諸如該組日誌LOG(n)。舉例來說,N個局部電路PC(1)、…及PC(N)可分別執行N個日誌管理程序LMP(1)、…及LMP(N),以分別於N個環緩衝器RB(1)、…及RB(N)中記錄運行於N個局部電路PC(1)、…及PC(N)的N個系統#1、…及#N之N組日誌LOG(1)、…及LOG(N)。In addition, at least one second partial circuit in the plurality of partial circuits {PC}, such as partial circuit PC(n) (for example, the symbol "n" may represent any positive integer in the interval [1, N]), may Execute at least one second log management program such as log management program LMP(n) for at least one first among the (N+1) ring buffers RB(0), RB(1), . . . and RB(N) In a second ring buffer such as ring buffer RB(n), at least one second system (wherein the at least one second system is included in the system) operating on the at least one second partial circuit (eg partial circuit PC(n)) is recorded In #0, #1, . (1), ... and LOG(N) include the at least one set of second logs such as the set of logs LOG(n). For example, N partial circuits PC(1), . . . and PC(N) may execute N log management procedures LMP(1), . ), ... and RB(N) record N groups of logs LOG(1), ... and LOG of N systems #1, ... and #N operating in N partial circuits PC(1), ... and PC(N) (N).

為了便於理解,該多個局部電路{PC}諸如該(N+1)個局部電路PC(0)、PC(1)、…及PC(N)可藉由處理器/處理器核心諸如中央處理單元(Central Processing Unit,下簡稱CPU)/CPU核心等方式來實施。此情況下,上述至少一處理器諸如處理器110可包含複數個處理器/處理器核心諸如複數個CPU/CPU核心。For ease of understanding, the plurality of partial circuits {PC} such as the (N+1) partial circuits PC(0), PC(1), ... and PC(N) may be processed by a processor/processor core such as a central processing unit Unit (Central Processing Unit, hereinafter referred to as CPU)/CPU core and other means to implement. In this case, the above-mentioned at least one processor such as the processor 110 may include a plurality of processors/processor cores such as a plurality of CPU/CPU cores.

第2圖依據本發明一實施例繪示第1圖所示的SoC IC 100的實施細節。於本實施例中,第1圖所示的該(N+1)個局部電路PC(0)、PC(1)、…及PC(N)可分別被實施成(N+1)個CPU諸如CPU(0)、CPU(1)、…及CPU(N),其中上列CPU中的某一個CPU諸如CPU(0)可為這些CPU中的主要CPU。為了簡明起見,於本實施例中類似的內容在此不重複贅述。FIG. 2 illustrates implementation details of the SoC IC 100 shown in FIG. 1 according to an embodiment of the present invention. In this embodiment, the (N+1) partial circuits PC(0), PC(1), . . . and PC(N) shown in FIG. 1 can be implemented as (N+1) CPUs such as CPU(0), CPU(1), . . . and CPU(N), where a certain one of the above-listed CPUs, such as CPU(0), may be the main CPU among these CPUs. For the sake of brevity, similar content in this embodiment is not repeated here.

第3圖依據本發明另一實施例繪示第1圖所示的SoC IC 100的實施細節。於本實施例中,第1圖所示的該(N+1)個局部電路PC(0)、PC(1)、…及PC(N)可分別被實施成(N+1)個CPU核心諸如CORE(0)、CORE(1)、…及CORE(N),其中上列CPU核心中的某一個CPU核心諸如CORE(0)可為這些CPU核心中的主要CPU核心。為了簡明起見,於本實施例中類似的內容在此不重複贅述。FIG. 3 illustrates implementation details of the SoC IC 100 shown in FIG. 1 according to another embodiment of the present invention. In this embodiment, the (N+1) partial circuits PC(0), PC(1), . . . and PC(N) shown in FIG. 1 can be implemented as (N+1) CPU cores, respectively Such as CORE(0), CORE(1), . . . and CORE(N), where a certain one of the above-listed CPU cores, such as CORE(0), may be the main CPU core among these CPU cores. For the sake of brevity, similar content in this embodiment is not repeated here.

基於第1圖所示架構,電子裝置10(例如其內的SoC IC 100、資料儲存裝置12等)可依據一種用來進行該多系統日誌存取管理之方法來操作,其中該方法是可應用於(applicable to)電子裝置10,尤其,其內的SoC IC 100、資料儲存裝置12等。該方法可包含:利用處理器110運行系統#0、…及#N(例如:「N」代表正整數)以控制SoC IC 100的操作;利用該第一局部電路諸如局部電路PC(0)(可實施為第2圖的CPU CPU(0)或第3圖的CPU核心CORE(0))執行該至少一第一日誌管理程序諸如日誌管理程序LMP(0),以將記憶體120配置成分別對應於該(N+1)個局部電路PC(0)、…及PC(N) (可實施為第2圖的CPU CPU(0)、…及CPU(N)或第3圖的CPU核心CORE(0)、…及CORE(N))之該(N+1)個環緩衝器RB(0)、…及RB(N),且於環緩衝器RB(0)中記錄運行於局部電路PC(0)的系統#0之該組日誌LOG(0),並且將該(N+1)個環緩衝器所分別儲存之該(N+1)組日誌LOG(0)、…及LOG(N)寫入檔案系統12FS以成為日誌檔案12LF,以供進一步使用;以及利用該至少一第二局部電路諸如一或多個局部電路{PC(n)}(可實施為第2圖的CPU {CPU(n)}或第3圖的CPU核心{CORE(n)},後面實施例依此類推)(例如:「n」可代表區間[1, N]中的任一正整數)執行該至少一第二日誌管理程序諸如一或多個日誌管理程序{LMP(n)},以於該至少一第二環緩衝器諸如一或多個環緩衝器{RB(n)}中記錄運行於該至少一第二局部電路(例如該一或多個局部電路{PC(n)})的該至少一第二系統(例如:系統#1,如果N = 1;又例如:系統#1至系統#N,如果N > 1)之該至少一組第二日誌(例如:一組日誌LOG(1),如果N = 1;又例如:該N組日誌LOG(1)、…及LOG(N),如果N > 1)。Based on the architecture shown in FIG. 1, the electronic device 10 (eg, the SoC IC 100, the data storage device 12, etc. therein) may operate according to a method for performing the multi-syslog access management, wherein the method is applicable It is applicable to the electronic device 10 , in particular, the SoC IC 100 , the data storage device 12 , and the like therein. The method may include: using the processor 110 to run systems #0, . The at least one first log management program such as log management program LMP(0) can be implemented as the CPU CPU(0) of FIG. 2 or the CPU core CORE(0) of FIG. 3 to configure the memory 120 to respectively Corresponding to the (N+1) partial circuits PC(0), . (0), . The group of logs LOG(0) of system #0 of (0), and the (N+1) groups of logs LOG(0), . . . and LOG(N stored in the (N+1) ring buffers respectively ) into the file system 12FS to become the log file 12LF for further use; and utilizing the at least one second partial circuit such as one or more partial circuits {PC(n)} (which may be implemented as the CPU {CPU of FIG. 2) (n)} or the CPU core {CORE(n)} of FIG. 3, and so on in the following embodiments) (for example, "n" can represent any positive integer in the interval [1, N]) to execute the at least one A second log manager, such as one or more log managers {LMP(n)}, to log in the at least one second ring buffer, such as one or more ring buffers {RB(n)} running at the at least one The at least one second system (eg: System #1, if N = 1) of a second partial circuit (eg, the one or more partial circuits {PC(n)}); also eg: System #1 to System #N , if N > 1) of the at least one group of second logs (for example: a group of logs LOG(1), if N = 1; another example: the N groups of logs LOG(1), ... and LOG(N), if N > 1).

另外,電子裝置10(例如其內的SoC IC 100、資料儲存裝置12等)可依據該方法而被配置成具備多個日誌處理管線(pipeline)。在運行於處理器110上的該至少一程式模組(例如:該至少一第一日誌管理程序以及該至少一第二日誌管理程序,諸如日誌管理程序LMP(0)、…及LMP(N))的控制下,處理器110可將SoC IC 100的架構(例如:該(N+1)個局部電路PC(0)、…及PC(N),該(N+1)個環緩衝器RB(0)、…及RB(N),以及內部連接結構(structure)諸如資料處理路徑)配置成多管線(multi-pipeline)架構。例如,該方法中的相關配置操作可包含: (1) 利用該至少一第一日誌管理程序諸如日誌管理程序LMP(0),將從該第一局部電路連接至該第一環緩衝器的一第一資料處理路徑,諸如從局部電路PC(0)連接至環緩衝器RB(0)的一資料處理路徑(例如:對應於寫入操作WRITE(0)的資料處理路徑),配置成一第一日誌寫入管線,諸如對應於該組日誌LOG(0)的一日誌寫入管線; (2) 利用該至少一第二日誌管理程序諸如該一或多個日誌管理程序{LMP(n)},將從該至少一第二局部電路連接至該至少一第二環緩衝器的至少一第二資料處理路徑,諸如從該一或多個局部電路{PC(n)}分別連接至該一或多個環緩衝器{RB(n)}的一或多個資料處理路徑(例如:對應於一或多個寫入操作{WRITE(n)}的一或多個資料處理路徑),配置成至少一第二日誌寫入管線,諸如對應於一或多組日誌(例如:一組日誌LOG(1),如果N = 1;又例如:該N組日誌LOG(1)、…及LOG(N),如果N > 1)的一或多個日誌寫入管線; (3) 利用該至少一第一日誌管理程序諸如日誌管理程序LMP(0),將從該多個環緩衝器{RB}連接至該第一局部電路的多個其它資料處理路徑,諸如從該(N+1)個環緩衝器RB(0)、…及RB(N)分別連接至局部電路PC(0)的(N+1)個資料處理路徑(例如:對應於(N+1)個讀取操作READ(0)、…及READ(N)的(N+1)個資料處理路徑),配置成多個日誌讀取管線,諸如分別對應於該(N+1)組日誌LOG(0)、…及LOG(N)的(N+1)個日誌讀取管線;以及 (4) 利用該至少一第一日誌管理程序諸如日誌管理程序LMP(0),將從該第一局部電路諸如局部電路PC(0)朝向(toward)檔案系統12FS的一後續的資料處理路徑,連同從該後續的資料處理路徑延伸至檔案系統12FS的一延伸的資料處理路徑,配置成一日誌匯出管線,其中從局部電路PC(0)至檔案系統12FS的總(total)輸出處理路徑可包含該後續的資料處理路徑以及該延伸的資料處理路徑,且可於其上標示寫入操作WRITE TOTAL以便於理解; 其中,基於該多個局部電路{PC}與該多個環緩衝器{RB}之間的管線處理,該(N+1)組日誌LOG(0)、…及LOG(N)緩衝於該多個環緩衝器{RB}的資料量可隨著時間動態地改變。 In addition, the electronic device 10 (eg, the SoC IC 100 therein, the data storage device 12 , etc.) may be configured to have multiple log processing pipelines according to the method. The at least one program module running on the processor 110 (eg, the at least one first log management program and the at least one second log management program, such as the log management programs LMP(0), . . . , and LMP(N) ), the processor 110 can convert the architecture of the SoC IC 100 (eg: the (N+1) partial circuits PC(0), . . . and PC(N), the (N+1) ring buffers RB (0), ... and RB(N), as well as internal connection structures (such as data processing paths) are configured in a multi-pipeline architecture. For example, relevant configuration operations in the method may include: (1) using the at least one first log management program such as log management program LMP(0), connecting from the first partial circuit to a A first data processing path, such as a data processing path from the partial circuit PC(0) to the ring buffer RB(0) (eg, the data processing path corresponding to the write operation WRITE(0)), is configured as a first a log write pipeline, such as a log write pipeline corresponding to the set of logs LOG(0); (2) utilizing the at least one second log management program such as the one or more log management programs {LMP(n)}, connecting from the at least one second partial circuit to at least one second data processing path of the at least one second ring buffer, such as from the one or more partial circuits {PC(n)}, respectively, to the one or more One or more data processing paths of a ring buffer {RB(n)} (eg, one or more data processing paths corresponding to one or more write operations {WRITE(n)}), configured as at least one A second log write pipeline, such as corresponding to one or more sets of logs (eg: a set of logs LOG(1), if N = 1; another example: the N sets of logs LOG(1), ... and LOG(N), If N > 1) one or more log write pipelines; (3) use the at least one first log manager such as log manager LMP(0) to connect from the plurality of ring buffers {RB} to the A plurality of other data processing paths of the first partial circuit, such as (N+1) from the (N+1) ring buffers RB(0), . . . and RB(N), respectively, are connected to the partial circuit PC(0) data processing paths (for example: (N+1) data processing paths corresponding to (N+1) read operations READ(0), ... and READ(N)), configured as multiple log read pipelines, such as (N+1) log read pipelines corresponding to the (N+1) sets of logs LOG(0), . . . and LOG(N), respectively; and (4) utilizing the at least one first log management program such as a log Management program LMP(0), a subsequent data processing path from the first partial circuit, such as partial circuit PC(0), towards file system 12FS, along with a path extending from the subsequent data processing path to file system 12FS an extended data processing path configured as a log export pipeline, wherein the total output processing path from the local circuit PC(0) to the file system 12FS may include the subsequent data processing path and the extended data processing path, And the write operation WRITE TOTAL can be marked on it for easy understanding; wherein, based on the pipeline processing between the plurality of partial circuits {PC} and the plurality of ring buffers {RB}, the (N+1) group log The amount of data buffered in the plurality of ring buffers {RB} by LOG(0), . . . and LOG(N) may change dynamically over time.

依據某些實施例,電子裝置10(例如其內的SoC IC 100、資料儲存裝置12等)可依據該方法來記錄針對該(N+1)組日誌LOG(0)、…及LOG(N)的整體管理資訊,以於日誌檔案12LF中儲存該(N+1)組日誌LOG(0)、…及LOG(N)連同其整體管理資訊,其中針對該(N+1)組日誌LOG(0)、…及LOG(N)中的任一組日誌(例如每一組日誌)中的任一日誌(例如每一日誌)的整體管理資訊可包含一序號(serial number)或一時間戳記(timestamp)等。舉例來說,該組第一日誌諸如該組日誌LOG(0)可包含這組日誌當中各日誌的序號、這組日誌當中各日誌的時間戳記以及這組日誌當中各日誌的日誌內容,且該至少一組第二日誌(例如:一組日誌LOG(1),如果N = 1;又例如:該N組日誌LOG(1)、…及LOG(N),如果N > 1)中之任一組第二日誌可包含該任一組第二日誌當中各日誌的序號、該任一組第二日誌當中各日誌的時間戳記以及該任一組第二日誌當中各日誌的日誌內容。另外,該(N+1)組日誌LOG(0)、…及LOG(N)中的所有的日誌之各自的時間戳記是依據一相同的時鐘(或稱時脈)來產生,以指出該(N+1)組日誌LOG(0)、…及LOG(N)之間的相對時序,其中這個時鐘可代表位於電子裝置10中、由該(N+1)個局部電路PC(0)、…及PC(N)(例如分別運行於其上的系統#1、…及#N)所共享的時鐘。例如,該時鐘可設置於SoC IC 100以內。又例如,該時鐘可設置於SoC IC 100以外。According to some embodiments, the electronic device 10 (eg, the SoC IC 100 therein, the data storage device 12, etc.) may record for the (N+1) set of logs LOG(0), . . . and LOG(N) in accordance with the method to store the (N+1) groups of logs LOG(0), . . . and LOG(N) together with their overall management information in the log file 12LF. ), ... and any group of logs (eg, each group of logs) The overall management information of any log (eg, each log) in the LOG(N) may include a serial number (serial number) or a timestamp (timestamp) )Wait. For example, the set of first logs such as the set of logs LOG(0) may include the serial number of each log in the set of logs, the timestamp of each log in the set of logs, and the log content of each log in the set of logs, and the At least one set of second logs (eg: a set of logs LOG(1), if N = 1; another example: any of the N sets of logs LOG(1), ... and LOG(N), if N > 1) The group of second logs may include the serial number of each log in the any group of second logs, the timestamp of each log in the any group of second logs, and the log content of each log in the any group of second logs. In addition, the respective time stamps of all logs in the (N+1) group of logs LOG(0), ... and LOG(N) are generated according to a same clock (or clock) to indicate the ( Relative timing between N+1) sets of logs LOG(0), . . . and LOG(N), where this clock may represent the (N+1) partial circuits PC(0), . . . located in the electronic device 10 and the clock shared by PC(N) such as systems #1, . . . and #N respectively running on it. For example, the clock can be set within the SoC IC 100 . As another example, the clock may be provided outside the SoC IC 100 .

第4圖依據本發明一實施例繪示該方法的一局部(partial)日誌處理控制方案。為了便於理解,符號「n0」可代表區間[0, N]中的非負整數。第1圖的實施例所述的該(N+1)個局部電路PC(0)、…及PC(N)中的任一局部電路PC(n0),諸如第2圖的實施例所述的CPU CPU(n0)或第3圖的實施例所述的CPU核心CORE(n0),可在日誌管理程序LMP(n0)的控制下依據該局部日誌處理控制方案來操作,以於環緩衝器RB(n0)中寫入一組日誌LOG(n0)的一日誌,其中該日誌可視為一日誌條目(entry)。FIG. 4 illustrates a partial log processing control scheme of the method according to an embodiment of the present invention. For ease of understanding, the symbol "n0" may represent a non-negative integer in the interval [0, N]. Any one of the (N+1) partial circuits PC(0), . . . and PC(N) described in the embodiment of FIG. 1, such as the embodiment of FIG. 2 The CPU CPU(n0) or the CPU core CORE(n0) described in the embodiment of FIG. 3 may operate according to the local log processing control scheme under the control of the log management program LMP(n0), so that the ring buffer RB (n0) writes a log of a set of logs LOG(n0), where the log can be regarded as a log entry.

於步驟S10中,局部電路PC(n0)可開始寫入對應的緩衝器諸如環緩衝器RB(n0),尤其,於環緩衝器RB(n0)(例如其所緩衝的該組日誌LOG(n0))中寫入這個日誌的日誌內容(例如這個日誌所代表的事件對應的事件資訊)。In step S10, the partial circuit PC(n0) may start writing to the corresponding buffer such as the ring buffer RB(n0), in particular, to the ring buffer RB(n0) (eg the set of logs LOG(n0) buffered by it. )) to write the log content of this log (for example, the event information corresponding to the event represented by this log).

於步驟S11中,局部電路PC(n0)可檢查環緩衝器RB(n0)是否為滿的(圖中標示「環緩衝器是否已滿」以求簡明)。如果檢查結果為是,結束局部日誌處理控制方案的工作流程,例如可進入一錯誤處置程序來處理此情況;如果否,進入步驟S12。In step S11, the partial circuit PC(n0) can check whether the ring buffer RB(n0) is full (in the figure, "whether the ring buffer is full" is marked for simplicity). If the check result is yes, end the workflow of the local log processing control scheme, for example, enter an error handling program to handle this situation; if not, enter step S12.

於步驟S12中,依據上述時鐘的目前時間,局部電路PC(n0)可於環緩衝器RB(n0)(例如其所緩衝的該組日誌LOG(n0))中加入這個日誌的一時間戳記,其中該時間戳記可指出該目前時間。In step S12, according to the current time of the above-mentioned clock, the local circuit PC(n0) can add a time stamp of the log to the ring buffer RB(n0) (for example, the group of logs LOG(n0) buffered by it), Wherein the time stamp may indicate the current time.

於步驟S13中,局部電路PC(n0)可於環緩衝器RB(n0)(例如其所緩衝的該組日誌LOG(n0))中加入這個日誌的一序號。例如,該組日誌LOG(n0)的一系列序號可代表該組日誌LOG(n0)的所有日誌的順序,而該系列序號中的這個序號可指出這個日誌相對於其餘日誌的相對順序。In step S13, the local circuit PC(n0) may add a sequence number of this log to the ring buffer RB(n0) (eg, the group of logs LOG(n0) buffered by it). For example, a series of sequence numbers of the group of logs LOG(n0) may represent the order of all logs of the group of logs LOG(n0), and this sequence number in the series of sequence numbers may indicate the relative order of this log with respect to the rest of the logs.

於步驟S14中,局部電路PC(n0)可計算這個日誌的日誌內容的校驗和(checksum),尤其,於環緩衝器RB(n0)(例如其所緩衝的該組日誌LOG(n0))中寫入該校驗和以作為這個日誌的完整性檢查(integrity check)資訊。In step S14, the local circuit PC(n0) may calculate a checksum of the log content of this log, in particular, in the ring buffer RB(n0) (eg the set of logs LOG(n0) it buffers) The checksum is written in as the integrity check information for this log.

於步驟S15中,局部電路PC(n0)可進行針對記憶體障礙(memory barrier)的控制,例如發出一資料同步障礙(Data Synchronization Barrier,簡稱DSB)指令。In step S15 , the local circuit PC ( n0 ) can control the memory barrier, such as issuing a data synchronization barrier (DSB for short) command.

於步驟S16中,局部電路PC(n0)可更新環緩衝器RB(n0)的一輸入指標器,其中該輸入指標器可指出環緩衝器RB(n0)的一最新輸入位置(例如目前寫入的位置)。In step S16, the partial circuit PC(n0) may update an input pointer of the ring buffer RB(n0), wherein the input pointer may indicate a newest input position of the ring buffer RB(n0) (eg, currently written s position).

為了更好地理解,該方法可用第4圖所示之工作流程來說明,但本發明不限於此。依據某些實施例,一個或多個步驟可於第4圖所示之工作流程中增加、刪除或修改。For better understanding, the method can be illustrated by the workflow shown in FIG. 4, but the present invention is not limited thereto. According to some embodiments, one or more steps may be added, deleted or modified in the workflow shown in FIG. 4 .

第5圖依據本發明一實施例繪示該方法的一全域(global)日誌處理控制方案。局部電路PC(0)(例如第2圖的CPU CPU(0)或第3圖的CPU核心CORE(0))可在日誌管理程序LMP(0)的控制下依據該全域日誌處理控制方案來操作,以從環緩衝器{RB(n0)}讀取該組日誌LOG(n0)當中的一或多個日誌。FIG. 5 illustrates a global log processing control scheme of the method according to an embodiment of the present invention. A local circuit PC(0) (eg CPU CPU(0) in Figure 2 or CPU core CORE(0) in Figure 3) may operate according to the global log processing control scheme under the control of the log management program LMP(0) , to read one or more logs from the set of logs LOG(n0) from the ring buffer {RB(n0)}.

於步驟S20中,局部電路PC(0)可開始讀取緩衝器,例如開始執行對應於該全域日誌處理控制方案的一主要控制程序。隨後,進入步驟S21。In step S20, the local circuit PC(0) may start reading the buffer, eg, start executing a main control program corresponding to the global log processing control scheme. Then, it goes to step S21.

於步驟S21中,局部電路PC(0)可進行記憶體分配(memory allocation)以取得記憶空間以供一全域環緩衝器Global_Ring_Buffer使用(圖中標示「malloc(Global_Ring_Buffer)」以求簡明)。隨後,進入步驟S22。In step S21, the local circuit PC(0) may perform memory allocation to obtain memory space for use by a global ring buffer Global_Ring_Buffer (marked as “malloc (Global_Ring_Buffer)” in the figure for brevity). Then, it goes to step S22.

於步驟S22中,局部電路PC(0)可初始化(initialize)全域環緩衝器Global_Ring_Buffer(圖中標示「init Global_Ring_Buffer」以求簡明),其中全域環緩衝器Global_Ring_Buffer可包含環緩衝器頭區RBH以及該(N+1)個環緩衝器RB(0)、…及RB(N)。例如,局部電路PC(0)可於環緩衝器頭區RBH中記錄該(N+1)個環緩衝器RB(0)、…及RB(N)的各自的環緩衝器管理資訊,以分別指出該(N+1)個環緩衝器RB(0)、…及RB(N)的各自的使用者(例如局部電路PC(0)、…及PC(N))以及該(N+1)個環緩衝器RB(0)、…及RB(N)的各自的大小。隨後,進入步驟S23。In step S22, the local circuit PC(0) may initialize (initialize) the global ring buffer Global_Ring_Buffer (marked as "init Global_Ring_Buffer" in the figure for simplicity), wherein the global ring buffer Global_Ring_Buffer may include the ring buffer header area RBH and the (N+1) ring buffers RB(0), . . . and RB(N). For example, the local circuit PC(0) may record the respective ring buffer management information of the (N+1) ring buffers RB(0), . . . and RB(N) in the ring buffer header area RBH, so as to Indicate the respective users of the (N+1) ring buffers RB(0), ... and RB(N) (eg partial circuits PC(0), ... and PC(N)) and the (N+1) The respective sizes of the ring buffers RB(0), . . . and RB(N). Then, it goes to step S23.

於步驟S23中,局部電路PC(0)可創建(create)主要工作(main task)以控制後續步驟中的操作。例如,日誌管理程序LMP(0)可包含該主要控制程序以及該主要工作,但本發明不限於此。隨後,進入步驟S24。In step S23, the local circuit PC(0) may create a main task to control operations in subsequent steps. For example, the log management program LMP(0) may include the main control program and the main work, but the present invention is not limited thereto. Then, it goes to step S24.

於步驟S24中,局部電路PC(0)可嘗試從一個局部電路PC(n0)諸如一個CPU(例如第2圖的CPU CPU(n))/CPU核心(例如第3圖的CPU核心 CORE(n))的環緩衝器RB(n0)讀取一日誌(圖中標示「從一CPU的環緩衝器讀取日誌」以求簡明)。隨後,進入步驟S25。In step S24, the partial circuit PC(0) may attempt to obtain a data from a partial circuit PC(n0) such as a CPU (eg, CPU CPU(n) in FIG. 2)/CPU core (eg, CPU core CORE(n) in FIG. 3 ). )) of the ring buffer RB(n0) reads a log (in the figure, it is marked as "reading the log from the ring buffer of a CPU" for brevity). Then, it goes to step S25.

於步驟S25中,局部電路PC(0)可檢查環緩衝器RB(n0)是否為空的(圖中標示「環緩衝器是否為空」以求簡明)。如果是,進入步驟S26;如果否,進入步驟S28。In step S25, the local circuit PC(0) can check whether the ring buffer RB(n0) is empty (in the figure, "whether the ring buffer is empty" is marked for simplicity). If yes, go to step S26; if no, go to step S28.

於步驟S26中,局部電路PC(0)可等待一段時間,尤其,休眠一段時間。隨後,進入步驟S27。In step S26, the partial circuit PC(0) can wait for a period of time, especially, sleep for a period of time. Then, it goes to step S27.

於步驟S27中,局部電路PC(0)可選擇下一個局部電路諸如下一個CPU/CPU核心(圖中標示「選擇下一個CPU」以求簡明),以輪流選擇全部的局部電路諸如全部的CPU/CPU核心,進而對全部的局部電路進行檢查。隨後,回到步驟S24。In step S27, the partial circuit PC(0) can select the next partial circuit such as the next CPU/CPU core (marked as "select the next CPU" in the figure for simplicity) to select all the partial circuits such as all the CPUs in turn. /CPU core, and then check all local circuits. Then, it returns to step S24.

於步驟S28中,依據這個日誌的日誌內容,局部電路PC(0)可計算這個日誌的校驗和。隨後,進入步驟S29。In step S28, the local circuit PC(0) can calculate the checksum of the log according to the log content of the log. Then, it goes to step S29.

於步驟S29中,局部電路PC(0)可檢查是否步驟S28中計算的校驗和等於這個日誌中所記錄的校驗和(圖中標示「校驗和是否正確」以求簡明)。如果是,進入步驟S30;如果否,進入步驟S24。In step S29, the local circuit PC(0) can check whether the checksum calculated in step S28 is equal to the checksum recorded in this log (marked "checksum is correct" in the figure for brevity). If yes, go to step S30; if no, go to step S24.

於步驟S30中,局部電路PC(0)可儲存這個日誌到檔案系統12FS(例如日誌檔案12LF)。隨後,進入步驟S31。In step S30, the local circuit PC(0) can store the log in the file system 12FS (eg, log file 12LF). Then, it goes to step S31.

於步驟S31中,局部電路PC(n0)可進行針對記憶體障礙的控制,例如發出該DSB指令。隨後,進入步驟S32。In step S31, the local circuit PC(n0) can control the memory failure, such as issuing the DSB command. Then, it goes to step S32.

於步驟S32中,局部電路PC(0)可更新環緩衝器RB(n0)的一輸出指標器,其中該輸出指標器可指出環緩衝器RB(n0)的一最新輸出位置(例如目前讀取的位置)。隨後,回到步驟S24。In step S32, the local circuit PC(0) may update an output pointer of the ring buffer RB(n0), wherein the output pointer may indicate a newest output position of the ring buffer RB(n0) (eg, currently read s position). Then, it returns to step S24.

為了更好地理解,該方法可用第5圖所示之工作流程來說明,但本發明不限於此。依據某些實施例,一個或多個步驟可於第5圖所示之工作流程中增加、刪除或修改。For better understanding, the method can be illustrated by the workflow shown in FIG. 5, but the present invention is not limited thereto. According to some embodiments, one or more steps may be added, deleted or modified in the workflow shown in FIG. 5 .

第6圖依據本發明一實施例繪示該方法所涉及的一種非暫態計算機可讀取媒體(non-transitory computer-readable medium)10M,其中非暫態計算機可讀取媒體10M儲存有程式碼10P使得SoC IC 100於執行上述程式碼10P時進行一多系統日誌存取管理程序諸如該多系統日誌存取管理(例如,上列實施例中所述的各種操作)。為了便於理解,程式碼10P可被繪示為包含日誌管理程序LMP(0)、…及LMP(N),但本發明不限於此。另外,程式碼10P可被載入至處理器110以成為運行於處理器110上的該至少一程式模組。非暫態計算機可讀取媒體10M可代表電子裝置10的某一儲存裝置/元件(例如第1圖所示的資料儲存裝置12或其它儲存裝置/元件)。該儲存裝置/元件可藉由硬式磁碟機、固態硬碟、通用快閃記憶體儲存(Universal Flash Storage, UFS)裝置、非揮發性記憶體元件(例如電子可抹除可編程唯讀記憶體(Electrically-Erasable Programmable Read-Only Memory, EEPROM)及快閃(Flash)記憶體)等方式來實施,但本發明不限於此。為了簡明起見,於本實施例中類似的內容在此不重複贅述。FIG. 6 illustrates a non-transitory computer-readable medium 10M involved in the method according to an embodiment of the present invention, wherein the non-transitory computer-readable medium 10M stores program codes 10P enables the SoC IC 100 to perform a multi-syslog access management procedure such as the multi-syslog access management (eg, various operations described in the above embodiments) when executing the above-described code 10P. For ease of understanding, the code 10P may be depicted as including the log management programs LMP(0), . . . and LMP(N), but the invention is not limited thereto. In addition, the program code 10P can be loaded into the processor 110 to become the at least one program module running on the processor 110 . The non-transitory computer-readable medium 10M may represent a certain storage device/element of the electronic device 10 (eg, the data storage device 12 shown in FIG. 1 or other storage devices/elements). The storage device/component can be implemented by a hard disk drive, a solid state drive, a Universal Flash Storage (UFS) device, a non-volatile memory device such as an electronically erasable programmable read-only memory (Electrically-Erasable Programmable Read-Only Memory, EEPROM) and flash (Flash) memory), etc., but the present invention is not limited to this. For the sake of brevity, similar content in this embodiment is not repeated here.

透過仔細設計之日誌處理機制,本發明能使多系統架構諸如多核異構(multi-core heterogeneous)CPU架構具備跨系統日誌處理能力,尤其能提升整體日誌處理效能。例如,本發明的方法及系統單晶片積體電路能控制該多個局部電路中的所有局部電路(例如,該複數個處理器/處理器核心中的所有處理器/處理器核心,諸如該複數個CPU中的所有CPU、或該複數個CPU核心中的所有CPU核心)將其各自的日誌分別輸出到該多個環緩衝器,而非直接輸出到一控制台,且能利用該第一局部電路(例如,該複數個處理器/處理器核心中的一主要處理器/處理器核心,諸如該複數個CPU中的一主要CPU、或該複數個CPU核心中的一主要CPU核心)將完整日誌輸出到該控制台,且因此能避免相關技術的問題諸如頻繁操作控制台、加上鎖定機制所致的等待而造成系統效能降低。另外,本發明的方法及系統單晶片積體電路能隨時取得完整的日誌,尤其在檔案系統中保存完整的日誌,且因此能避免相關技術的問題諸如控制台尚未連接、或者控制台已連接但控制台端主機故障而導致無法查看日誌。此外,透過使用記憶體障礙的控制程序,本發明可確保單一緩衝器只有一個消費者和一個生産者的情況下,實現先進先出(FIFO)的無鎖併發存取(no-lock burst access),避免加鎖帶來的系統效能下降以及可能導致的死鎖。由於引入全域的時間戳記,本發明可透過相鄰日誌的時間戳記之間的間隙(gap),提供更好的系統分析參考資訊。本發明另可透過引入序號,提供判斷是否遺失任何日誌的參考資訊。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。 Through a carefully designed log processing mechanism, the present invention enables a multi-system architecture such as a multi-core heterogeneous CPU architecture to have a cross-system log processing capability, especially to improve the overall log processing performance. For example, the methods and system-on-chip integrated circuits of the present invention can control all of the plurality of local circuits (eg, all of the plurality of processors/processor cores, such as the plurality of all of the CPUs, or all the CPU cores of the plurality of CPU cores) output their respective logs to the plurality of ring buffers, respectively, instead of directly outputting to a console, and can utilize the first local Circuitry (eg, a primary processor/processor core of the plurality of processors/processor cores, such as a primary CPU of the plurality of CPUs, or a primary CPU core of the plurality of CPU cores) will be complete The log is output to the console, and therefore, problems in the related art such as frequent console operations and waiting due to a locking mechanism can be avoided, thereby reducing system performance. In addition, the method and system SoC of the present invention can obtain the complete log at any time, especially save the complete log in the file system, and thus can avoid the related art problems such as the console has not been connected, or the console has been connected but The console side host fails and the log cannot be viewed. In addition, through the use of memory barrier control procedures, the present invention can ensure that a single buffer has only one consumer and one producer to achieve first-in, first-out (FIFO) no-lock burst access (no-lock burst access). , to avoid system performance degradation and possible deadlock caused by locking. Due to the introduction of global timestamps, the present invention can provide better reference information for system analysis through the gap between timestamps of adjacent logs. The present invention can also provide reference information for judging whether any log is lost by introducing a serial number. The above descriptions are only preferred embodiments of the present invention, and all equivalent changes and modifications made according to the scope of the patent application of the present invention shall fall within the scope of the present invention.

10:電子裝置 12:資料儲存裝置 12FS:檔案系統 12LF:日誌檔案 14:介面電路 100:系統單晶片(SoC)積體電路(IC) 110:處理器 120:記憶體 LMP(0)~LMP(N):日誌管理程序 LOG(0)~LOG(N):日誌 PC(0)~PC(N):局部電路 RB(0)~RB(N):環緩衝器 RBH:環緩衝器頭區 WRITE(0)~WRITE(N),WRITE TOTAL:寫入操作 READ(0)~READ(N):讀取操作 CPU(0)~CPU(N):中央處理單元(CPU) CORE(0)~ CORE(N):中央處理單元(CPU)核心 S10~S16,S20~S32:步驟 10M:非暫態計算機可讀取媒體 10P:程式碼 10: Electronic device 12: Data storage device 12FS: File system 12LF: Log file 14: Interface circuit 100: System on chip (SoC) integrated circuit (IC) 110: Processor 120: Memory LMP(0)~LMP( N): log management program LOG(0)~LOG(N): log PC(0)~PC(N): local circuit RB(0)~RB(N): ring buffer RBH: ring buffer header WRITE (0)~WRITE(N), WRITE TOTAL : write operation READ(0)~READ(N): read operation CPU(0)~CPU(N): central processing unit (CPU) CORE(0)~ CORE (N): Central Processing Unit (CPU) cores S10~S16, S20~S32: Step 10M: Non-transitory computer readable medium 10P: Program code

第1圖為依據本發明一實施例之一種系統單晶片(System on Chip,可簡稱SoC)積體電路(Integrated Circuit,可簡稱IC)的示意圖。 第2圖依據本發明一實施例繪示第1圖所示的系統單晶片積體電路的實施細節。 第3圖依據本發明另一實施例繪示第1圖所示的系統單晶片積體電路的實施細節。 第4圖依據本發明一實施例繪示一種用來進行多系統(multi-system)日誌(log)存取管理之方法的一局部(partial)日誌處理控制方案。 第5圖依據本發明一實施例繪示該方法的一全域(global)日誌處理控制方案。 第6圖依據本發明一實施例繪示該方法所涉及的一種非暫態計算機可讀取媒體。 FIG. 1 is a schematic diagram of a System on Chip (SoC) integrated circuit (IC) according to an embodiment of the present invention. FIG. 2 illustrates implementation details of the SoC shown in FIG. 1 according to an embodiment of the present invention. FIG. 3 illustrates implementation details of the system-on-chip integrated circuit shown in FIG. 1 according to another embodiment of the present invention. FIG. 4 illustrates a partial log processing control scheme of a method for multi-system log (log) access management according to an embodiment of the present invention. FIG. 5 illustrates a global log processing control scheme of the method according to an embodiment of the present invention. FIG. 6 illustrates a non-transitory computer-readable medium involved in the method according to an embodiment of the present invention.

10:電子裝置 10: Electronics

12:資料儲存裝置 12: Data storage device

12FS:檔案系統 12FS: File System

12LF:日誌檔案 12LF: log file

14:介面電路 14: Interface circuit

100:系統單晶片(SoC)積體電路(IC) 100: System-on-Chip (SoC) Integrated Circuit (IC)

110:處理器 110: Processor

120:記憶體 120: memory

LMP(0)~LMP(N):日誌管理程序 LMP(0)~LMP(N): log management program

LOG(0)~LOG(N):日誌 LOG(0)~LOG(N): log

PC(0)~PC(N):局部電路 PC(0)~PC(N): Local circuit

RB(0)~RB(N):環緩衝器 RB(0)~RB(N): Ring buffer

RBH:環緩衝器頭區 RBH: Ring Buffer Header

WRITE(0)~WRITE(N),WRITETOTAL:寫入操作 WRITE(0)~WRITE(N), WRITE TOTAL : write operation

READ(0)~READ(N):讀取操作 READ(0)~READ(N): read operation

Claims (10)

一種用來進行多系統日誌存取管理之方法,可應用於一系統單晶片積體電路,該方法包含: 利用該系統單晶片積體電路中之至少一處理器運行多個系統以控制該系統單晶片積體電路的操作,其中該至少一處理器包含多個局部電路,且該多個局部電路分別運行該多個系統; 利用該多個局部電路中之一第一局部電路執行至少一第一日誌管理程序,以將該系統單晶片積體電路中之至少一記憶體配置成分別對應於該多個局部電路之多個環緩衝器、於該多個環緩衝器中之一第一環緩衝器中記錄運行於該第一局部電路的一第一系統之一組第一日誌,且將該多個環緩衝器所分別儲存之多組日誌寫入一檔案系統以成為至少一日誌檔案以供存取,其中該多個系統包含該第一系統,而該多組日誌包含該組第一日誌;以及 利用該多個局部電路中之至少一第二局部電路執行至少一第二日誌管理程序,以於該多個環緩衝器中之至少一第二環緩衝器中記錄運行於該至少一第二局部電路的至少一第二系統之至少一組第二日誌,其中該多個系統包含該至少一第二系統,而該多組日誌包含該至少一組第二日誌。 A method for multi-system log access management, applicable to a system-on-chip integrated circuit, the method comprising: The operation of the SoC IC is controlled by operating a plurality of systems by utilizing at least one processor in the SoC IC, wherein the at least one processor includes a plurality of partial circuits, and the plurality of partial circuits operate respectively the plurality of systems; Using one of the plurality of local circuits to execute at least one first log management program, so as to configure at least one memory in the SoC IC to correspond to a plurality of the plurality of local circuits, respectively a ring buffer, recording a set of first logs of a first system running on the first partial circuit in a first ring buffer of the plurality of ring buffers, and separating the plurality of ring buffers The stored sets of logs are written into a file system to become at least one log file for access, wherein the multiple systems include the first system, and the multiple sets of logs include the first set of logs; and At least one second log management procedure is executed by at least one second partial circuit among the plurality of partial circuits, so as to record in the at least one second ring buffer of the plurality of ring buffers running in the at least one second partial circuit At least one set of second logs of at least one second system of the circuit, wherein the plurality of systems includes the at least one second system, and the plurality of sets of logs includes the at least one set of second logs. 如申請專利範圍第1項所述之方法,其中該組第一日誌包含該組第一日誌當中各日誌的序號及該組第一日誌當中各日誌的日誌內容,且該至少一組第二日誌中之任一組第二日誌包含所述任一組第二日誌當中各日誌的序號及所述任一組第二日誌當中各日誌的日誌內容。The method of claim 1, wherein the group of first logs includes serial numbers of each log in the group of first logs and log contents of each log in the group of first logs, and the at least one group of second logs Any one group of second logs includes the serial number of each log in the any group of second logs and the log content of each log in the any one group of second logs. 如申請專利範圍第1項所述之方法,其中該組第一日誌包含該組第一日誌當中各日誌的時間戳記及該組第一日誌當中各日誌的日誌內容,且該至少一組第二日誌中之任一組第二日誌包含所述任一組第二日誌當中各日誌的時間戳記及所述任一組第二日誌當中各日誌的日誌內容。The method of claim 1, wherein the set of first logs includes timestamps of each log in the set of first logs and log content of each log in the set of first logs, and the at least one set of second logs Any set of second logs in the log includes timestamps of each log in the any set of second logs and log content of each log in the any set of second logs. 如申請專利範圍第1項所述之方法,其中該多組日誌中的任一組日誌中的任一日誌包含一時間戳記;以及該多組日誌中的所有的日誌之各自的時間戳記是依據一相同的時鐘來產生,以指出該多組日誌之間的相對時序。The method of claim 1, wherein any log in any one of the groups of logs includes a time stamp; and the respective time stamps of all the logs in the plurality of groups of logs are based on An identical clock is generated to indicate the relative timing among the sets of logs. 如申請專利範圍第1項所述之方法,其另包含: 利用該至少一第一日誌管理程序將從該第一局部電路連接至該第一環緩衝器的一第一資料處理路徑配置成一第一日誌寫入管線; 利用該至少一第二日誌管理程序將從該至少一第二局部電路連接至該至少一第二環緩衝器的至少一第二資料處理路徑配置成至少一第二日誌寫入管線;以及 利用該至少一第一日誌管理程序將從該多個環緩衝器分別連接至該第一局部電路的多個其它資料處理路徑配置成多個日誌讀取管線、以及將從該第一局部電路朝向該檔案系統的一後續的資料處理路徑配置成一日誌匯出管線。 The method described in item 1 of the scope of the application, further comprising: Using the at least one first log management program to configure a first data processing path from the first partial circuit to the first ring buffer into a first log write pipeline; Using the at least one second log manager to configure at least one second data processing path from the at least one second partial circuit to the at least one second ring buffer into at least one second log write pipeline; and Using the at least one first log manager to configure a plurality of other data processing paths from the plurality of ring buffers to the first partial circuit, respectively, into a plurality of log read pipelines, and from the first partial circuit toward A subsequent data processing path of the file system is configured as a log export pipeline. 如申請專利範圍第1項所述之方法,其中基於該多個局部電路與該多個環緩衝器之間的管線處理,該多組日誌緩衝於該多個環緩衝器的資料量隨著時間動態地改變。The method of claim 1, wherein based on pipeline processing between the plurality of local circuits and the plurality of ring buffers, the amount of data buffered by the plurality of sets of logs in the plurality of ring buffers changes over time change dynamically. 如申請專利範圍第1項所述之方法,其中該多個系統中的至少兩個系統分別屬於不同類型的系統。The method of claim 1, wherein at least two systems in the plurality of systems belong to different types of systems respectively. 如申請專利範圍第1項所述之方法,其中該多個系統分別代表多個作業系統。The method of claim 1, wherein the plurality of systems respectively represent a plurality of operating systems. 一種系統單晶片積體電路,可應用於多系統日誌存取管理,該系統單晶片積體電路包含: 至少一處理器,該至少一處理器包含多個局部電路,該多個局部電路用來分別運行多個系統以控制該系統單晶片積體電路的操作;以及 至少一記憶體,耦接至該至少一處理器,用來為該系統單晶片積體電路儲存資訊; 其中: 該多個局部電路中之一第一局部電路執行至少一第一日誌管理程序,以將該至少一記憶體配置成分別對應於該多個局部電路之多個環緩衝器、於該多個環緩衝器中之一第一環緩衝器中記錄運行於該第一局部電路的一第一系統之一組第一日誌、且將該多個環緩衝器所分別儲存之多組日誌寫入一檔案系統以成為至少一日誌檔案,以供進一步使用,其中該多個系統包含該第一系統,而該多組日誌包含該組第一日誌;以及 該多個局部電路中之至少一第二局部電路執行至少一第二日誌管理程序,以於該多個環緩衝器中之至少一第二環緩衝器中記錄運行於該至少一第二局部電路的至少一第二系統之至少一組第二日誌,其中該多個系統包含該至少一第二系統,而該多組日誌包含該至少一組第二日誌。 A system-on-chip integrated circuit can be applied to multi-system log access management, and the system-on-chip integrated circuit includes: at least one processor, the at least one processor including a plurality of local circuits for respectively operating a plurality of systems to control the operation of the system-on-chip integrated circuits; and at least one memory coupled to the at least one processor for storing information for the system-on-chip integrated circuit; in: A first partial circuit of the plurality of partial circuits executes at least a first log management procedure, so as to configure the at least one memory as a plurality of ring buffers corresponding to the plurality of partial circuits, respectively, in the plurality of rings A first ring buffer among the buffers records a set of first logs of a first system running on the first partial circuit, and writes the sets of logs stored in the plurality of ring buffers into a file the system to become at least one log file for further use, wherein the plurality of systems includes the first system, and the plurality of sets of logs includes the first set of logs; and At least one second partial circuit of the plurality of partial circuits executes at least one second log management procedure to record in at least one second ring buffer of the plurality of ring buffers operating on the at least one second partial circuit At least one set of second logs of at least one second system, wherein the plurality of systems include the at least one second system, and the multiple sets of logs include the at least one set of second logs. 一種非暫態計算機可讀取媒體,其儲存有程式碼使得一系統單晶片積體電路於執行所述程式碼時進行一多系統日誌存取管理程序,該系統單晶片積體電路中之至少一處理器運行多個系統以控制該系統單晶片積體電路的操作,該至少一處理器包含多個局部電路,該多個局部電路分別運行該多個系統,該多系統日誌存取管理程序包含: 利用該多個局部電路中之一第一局部電路執行至少一第一日誌管理程序,以將該系統單晶片積體電路中之至少一記憶體配置成分別對應於該多個局部電路之多個環緩衝器、於該多個環緩衝器中之一第一環緩衝器中記錄運行於該第一局部電路的一第一系統之一組第一日誌,且將該多個環緩衝器所分別儲存之多組日誌寫入一檔案系統以成為至少一日誌檔案以供存取,其中該多個系統包含該第一系統,而該多組日誌包含該組第一日誌;以及 利用該多個局部電路中之至少一第二局部電路執行至少一第二日誌管理程序,以於該多個環緩衝器中之至少一第二環緩衝器中記錄運行於該至少一第二局部電路的至少一第二系統之至少一組第二日誌,其中該多個系統包含該至少一第二系統,而該多組日誌包含該至少一組第二日誌。 A non-transitory computer-readable medium storing program code to enable a system-on-chip integrated circuit to perform a multi-syslog access management program when executing the code, at least one of the system-on-chip integrated circuits A processor operates a plurality of systems to control the operation of the system-on-chip integrated circuit, the at least one processor includes a plurality of local circuits, the plurality of local circuits respectively run the plurality of systems, the multi-system log access management program Include: Using one of the plurality of local circuits to execute at least one first log management program, so as to configure at least one memory in the SoC IC to correspond to a plurality of the plurality of local circuits, respectively a ring buffer, recording a set of first logs of a first system running on the first partial circuit in a first ring buffer of the plurality of ring buffers, and separating the plurality of ring buffers The stored sets of logs are written into a file system to become at least one log file for access, wherein the multiple systems include the first system, and the multiple sets of logs include the first set of logs; and At least one second log management procedure is executed by at least one second partial circuit among the plurality of partial circuits, so as to record in the at least one second ring buffer of the plurality of ring buffers running in the at least one second partial circuit At least one set of second logs of at least one second system of the circuit, wherein the plurality of systems includes the at least one second system, and the plurality of sets of logs includes the at least one set of second logs.
TW110124935A 2021-01-21 2021-07-07 Method for performing multi-system log access management, associated system on chip integrated circuit and non-transitory computer-readable medium TWI798743B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110084079.0 2021-01-21
CN202110084079.0A CN114817188A (en) 2021-01-21 2021-01-21 Method, integrated circuit and readable medium for multi-system log access management

Publications (2)

Publication Number Publication Date
TW202230119A true TW202230119A (en) 2022-08-01
TWI798743B TWI798743B (en) 2023-04-11

Family

ID=82405184

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110124935A TWI798743B (en) 2021-01-21 2021-07-07 Method for performing multi-system log access management, associated system on chip integrated circuit and non-transitory computer-readable medium

Country Status (3)

Country Link
US (1) US20220229932A1 (en)
CN (1) CN114817188A (en)
TW (1) TWI798743B (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624118B2 (en) * 2006-07-26 2009-11-24 Microsoft Corporation Data processing over very large databases
WO2010028279A1 (en) * 2008-09-05 2010-03-11 Arcsight, Inc. Storing log data efficiently while supporting querying
DE102017221889B4 (en) * 2017-12-05 2022-03-17 Audi Ag Data processing device, overall device and method for operating a data processing device or overall device
US11373088B2 (en) * 2017-12-30 2022-06-28 Intel Corporation Machine learning accelerator mechanism

Also Published As

Publication number Publication date
US20220229932A1 (en) 2022-07-21
TWI798743B (en) 2023-04-11
CN114817188A (en) 2022-07-29

Similar Documents

Publication Publication Date Title
US6539500B1 (en) System and method for tracing
CN103729442B (en) Record the method and database engine of transaction journal
US9164853B2 (en) Multi-core re-initialization failure control system
CN101377750B (en) System and method for cluster fault toleration
US20060282471A1 (en) Error checking file system metadata while the file system remains available
CN104541244A (en) Methods and systems for performing a replay execution
TWI521438B (en) Detecting potential access errors in a multi-threaded application
WO2016106935A1 (en) Flash memory controller and control method for flash memory controller
US20060161818A1 (en) On-chip hardware debug support units utilizing multiple asynchronous clocks
US8301936B2 (en) Apparatus and method for performing a screening test of semiconductor integrated circuits
CN114490023B (en) ARM and FPGA-based high-energy physical computable storage device
US11023335B2 (en) Computer and control method thereof for diagnosing abnormality
CN110764962B (en) Log processing method and device
US10198784B2 (en) Capturing commands in a multi-engine graphics processing unit
US20090138633A1 (en) Computer, external storage and method for processing data information in external storage
TWI798743B (en) Method for performing multi-system log access management, associated system on chip integrated circuit and non-transitory computer-readable medium
US20060200656A1 (en) Apparatus and method to capture data from an embedded device
JP2004310749A (en) Method and apparatus for performing bus tracing in data processing system having distributed memory
US8819494B2 (en) Automatically changing parts in response to tests
JP5001703B2 (en) System design verification device
JP2006079485A (en) Method for information collection for fault analysis in electronic computer
JP2005234617A (en) Multiprocessor debugger and debugging method
US7934067B2 (en) Data update history storage apparatus and data update history storage method
CN116701544B (en) Distributed database log processing method and device, electronic equipment and storage medium
CN117369905B (en) Starting method and system of flash memory platform, electronic equipment and storage medium