TW201939282A - System code management apparatus and management method thereof - Google Patents
System code management apparatus and management method thereof Download PDFInfo
- Publication number
- TW201939282A TW201939282A TW107108342A TW107108342A TW201939282A TW 201939282 A TW201939282 A TW 201939282A TW 107108342 A TW107108342 A TW 107108342A TW 107108342 A TW107108342 A TW 107108342A TW 201939282 A TW201939282 A TW 201939282A
- Authority
- TW
- Taiwan
- Prior art keywords
- system code
- patch data
- memory
- patch
- item
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
Description
本發明是有關於一種系統碼的管理裝置及其管理方法,且特別是有關於一種可針對系統碼進行修補的系統碼的管理裝置及其管理方法。The invention relates to a system code management device and a management method thereof, and in particular to a system code management device and a management method thereof capable of repairing the system code.
在現今的電子裝置中,常透過非揮發性記憶體來儲存系統碼,並在電子裝置開機的過程中,透過載入系統碼,並依據系統碼執行開機動作。系統碼為具有重要資訊的碼,在當系統碼的載入動作失效時,系統碼本身產生錯誤時,電子裝置的開機動作將無法順利被執行,或者,電子裝置的操作無法正常的運作。In today's electronic devices, the system code is often stored in non-volatile memory, and during the startup process of the electronic device, the system code is loaded and the booting operation is performed according to the system code. The system code is a code with important information. When the loading of the system code fails and the system code itself generates an error, the booting operation of the electronic device cannot be performed smoothly, or the operation of the electronic device cannot operate normally.
在習知的技術領域中,在電子裝置完成包裝後,系統碼的內容無法被修正。因此,當發生系統碼錯誤或不適合電子裝置的操作下,要針對系統碼進行更正,只能透過較複雜的動作來更正系統碼,需要較高的成本以及時間的耗費。In the conventional technical field, after the electronic device is packaged, the content of the system code cannot be modified. Therefore, when a system code error occurs or is not suitable for the operation of an electronic device, to correct the system code, the system code can only be corrected through more complex actions, which requires higher costs and time.
本發明提供一種系統碼的管理裝置及其管理方法,可對系統碼進行修補動作。The invention provides a system code management device and a management method thereof, which can perform a repair action on the system code.
本發明的系統碼的管理方法包括:初始化非揮發性記憶體的初始位址;依據初始位址讀取該非揮發性記憶體的第一記憶區塊,其中第一記憶區塊儲存碼資訊以及第一修補資料;以及,使第一修補資料替代系統碼並獲得修正後系統碼。The management method of the system code of the present invention includes: initializing an initial address of the non-volatile memory; and reading a first memory block of the non-volatile memory according to the initial address, wherein the first memory block stores code information and the first A patch; and the first patch to replace the system code and obtain a revised system code.
在本發明的一實施例中,系統碼的管理方法更包括:由非揮發性記憶體的第二記憶區塊讀取第二修補資料;以及,結合第一修補資料以及第二修補資料以產生修正後系統碼。In an embodiment of the present invention, the method for managing the system code further includes: reading the second patch data from the second memory block of the non-volatile memory; and combining the first patch data and the second patch data to generate Revised system code.
在本發明的一實施例中,系統碼的管理方法更包括:設定位址查找表,其中位址查找表記錄第二修補資料的尺寸以及實體位址。In an embodiment of the present invention, the method for managing the system code further includes: setting an address lookup table, wherein the address lookup table records the size of the second patch data and the physical address.
在本發明的一實施例中,系統碼的管理方法更包括:設定位址查找表,其中,位址查找表記錄程式記憶體的起始位置資訊,以及,使修正後系統碼依據該起始位置資訊以被儲存至程式記憶體中。In an embodiment of the present invention, the system code management method further includes: setting an address lookup table, wherein the address lookup table records the initial position information of the program memory, and the modified system code is based on the start The location information is stored in program memory.
本發明的系統碼的管理裝置包括非揮發性記憶體以及控制器。控制器耦接非揮發性記憶體,用以:初始化非揮發性記憶體的初始位址;依據初始位址讀取非揮發性記憶體的第一記憶區塊,其中記憶區塊儲存碼資訊以及第一修補資料;以及,使第一修補資料替代系統碼並獲得修正後系統碼。The system code management device of the present invention includes a non-volatile memory and a controller. The controller is coupled to the non-volatile memory and is used for: initializing the initial address of the non-volatile memory; and reading the first memory block of the non-volatile memory according to the initial address, wherein the memory block stores code information and The first patch data; and, replacing the system code with the first patch data and obtaining a revised system code.
基於上述,本發明透過在儲存碼資訊的第一記憶區塊中另儲存的第一修補資料,並透過碼資訊被讀取的過程中,使第一修補資料被讀取,並依據第一修補資料來替換系統碼,並對系統碼進行修正。被修正後的系統碼可提供系統進行正確的開機動作,並確保系統正確工作。Based on the above, the present invention causes the first patch data to be read through the first patch data stored in the first memory block in which the code information is stored, and reads the code patch information in accordance with the first patch. Data to replace the system code and modify the system code. The modified system code can provide the system with the correct boot action and ensure that the system works correctly.
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。In order to make the above features and advantages of the present invention more comprehensible, embodiments are hereinafter described in detail with reference to the accompanying drawings.
請參照圖1,圖1繪示本發明一實施例的系統碼的管理方法的流程圖。其中,步驟S110中初始化非揮發性記憶體的初始位址,步驟S120依據初始位址來讀取非揮發性記憶體的第一記憶區塊,其中,第一記憶區塊中儲存碼資訊以及的第一修補資訊。在此,第一記憶區塊可以為非揮發性記憶體中的一個記憶頁中的一個區塊,非揮發性記憶體則可以是快閃記憶體,或其他形式的唯讀記憶體(read only memory, ROM)。在本發明實施例中,一個記憶頁可以被切分為四個記憶區塊。其中的一個記憶區塊(例如第一記憶區塊)可以具有預設的記憶尺寸以儲存資料,例如是4K位元組(Kbyte)。在第一記憶區塊中,除了4K位元組的資料空間以儲存資料外,另具有對應儲存資料以儲存進行錯誤檢查校正(Error Check Correction, ECC)的同位檢查資訊。Please refer to FIG. 1. FIG. 1 is a flowchart of a method for managing a system code according to an embodiment of the present invention. The initial address of the non-volatile memory is initialized in step S110, and the first memory block of the non-volatile memory is read according to the initial address, where the code information and the First patch information. Here, the first memory block may be a block in a memory page in the non-volatile memory, and the non-volatile memory may be a flash memory or other form of read-only memory. memory, ROM). In the embodiment of the present invention, a memory page can be divided into four memory blocks. One of the memory blocks (for example, the first memory block) may have a preset memory size for storing data, such as 4K bytes (Kbyte). In the first memory block, in addition to the 4K byte data space for storing data, it also has corresponding storage data for storing parity check information for performing Error Check Correction (ECC).
在另一方面,第一記憶區塊,4K位元組的資料空間中,部分用以儲存碼資訊(Code information)。其中,碼資訊記錄非揮發性記憶體的形式,例如非揮發性記憶體的頁尺寸(page size)、塊尺寸(block size)以及其他相關資訊,碼資訊並可記錄系統碼的位址。透過讀取碼資訊,可以獲知系統碼所在的位址,並執行系統碼的載入動作。On the other hand, the first memory block, part of the 4K byte data space, is used to store code information. Among them, the code information records the form of non-volatile memory, such as the page size, block size, and other related information of the non-volatile memory. The code information can also record the address of the system code. By reading the code information, the address where the system code is located can be known, and the system code loading operation can be performed.
在本發明實施例中,碼資訊的尺寸小於第一記憶區塊提供進行資料儲存的記憶尺寸,例如,碼資訊的尺寸可以為1K位元組。如此一來,第一記憶區塊中,另包括3K位元組的記憶空間。在本發明實施例中,第一記憶區塊中所提供的3K位元組的記憶空間可用以儲存第一修補資訊。In the embodiment of the present invention, the size of the code information is smaller than the memory size provided by the first memory block for data storage. For example, the size of the code information may be 1K bytes. In this way, the first memory block further includes a 3K byte memory space. In the embodiment of the present invention, the 3K byte memory space provided in the first memory block can be used to store the first patch information.
依據上述的說明可以得知,在步驟S120中,同樣被儲存在第一記憶區塊中碼資訊以及的第一修補資訊,可以同步被讀出。接著,步驟S130使第一修補資訊替代原有的系統碼,並成為修正後系統碼,並完成系統碼的替換動作。如此一來,電子裝置可以依據修正後系統碼來執行開機動作,有效完成更換系統碼的動作。According to the above description, it can be known that, in step S120, the code information and the first repair information also stored in the first memory block can be read out simultaneously. Next, step S130 causes the first patch information to replace the original system code and becomes the modified system code, and completes the system code replacement action. In this way, the electronic device can perform the booting operation according to the modified system code, and effectively complete the operation of replacing the system code.
由上述的說明可以得知,本發明實施例中,透過在用以儲存碼資訊的第一記憶區塊中的空閒空間中,儲存第一修補資訊。並透過進行碼資訊的讀取動作,一併完成第一修補資訊的讀取動作,如此一來,在當系統碼需要被置換時,可快速且有效的依據第一修補資訊來成為修正後系統碼。並使電子裝置可順利依據修正後系統碼執行開機動作。It can be known from the foregoing description that, in the embodiment of the present invention, the first patch information is stored in a free space in the first memory block for storing code information. And by reading the code information, the reading of the first patch information is also completed. In this way, when the system code needs to be replaced, the first patch information can be quickly and effectively used to become a revised system. code. And enable the electronic device to smoothly perform the booting operation according to the modified system code.
以下請參照圖2,圖2繪示本發明實施例的系統碼的管理方法的動作示意圖。其中,控制器(未繪示)可針對非揮發性記憶體210的位址(IP)進行初始化的動作,並依據初始化位址讀取非揮發性記憶體210中的第一記憶區塊220。第一記憶區塊220中包括碼資訊221以及第一修補資料222。控制器並將所讀出的碼資訊221以及第一修補資料222寫入至緩衝記憶體230中。Please refer to FIG. 2 below, which illustrates a schematic diagram of an operation method of a system code management method according to an embodiment of the present invention. The controller (not shown) may perform an initialization operation on the address (IP) of the non-volatile memory 210 and read the first memory block 220 in the non-volatile memory 210 according to the initialization address. The first memory block 220 includes code information 221 and first patch data 222. The controller writes the read code information 221 and the first patch data 222 into the buffer memory 230.
接著,控制器要執行開機動作時,在不需要進行系統碼更正的狀況下,控制器可依據碼資訊221來讀取原有的系統碼,並依據原有的系統碼進行開機動作。相對的,若需要針對系統碼進行更正的情況下,控制器可使由第一記憶區塊220中讀取的第一修補資料222,置換原有的系統碼。也就是說,控制器可以讀取緩衝記憶體230中的第一修補資料222,並使第一修補資料222用以作為修正後系統碼,控制器可依據修正後系統碼執行開機動作。Then, when the controller wants to perform the booting operation, the controller can read the original system code according to the code information 221, and perform the booting operation according to the original system code when the system code does not need to be corrected. In contrast, if the system code needs to be corrected, the controller may replace the original system code with the first patch data 222 read from the first memory block 220. That is, the controller can read the first patch data 222 in the buffer memory 230 and use the first patch data 222 as the revised system code, and the controller can perform a booting operation according to the revised system code.
附帶一提的,緩衝記憶體230可以是任意形式的隨機存取記憶體(random access memory, RAM)。Incidentally, the buffer memory 230 may be any form of random access memory (RAM).
接著請參照圖3,圖3繪示本發明另一實施例的系統碼的管理方法的流程圖。在當修補資料的尺寸大於3K位元組時,可透過本發明實施例來進行系統碼的修補或更正動作。其中,步驟S310初始化非揮發性記憶體的初始位址。步驟S320依據初始位址來讀取非揮發性記憶體的第一記憶區塊,其中,非揮發性記憶體的第一記憶區塊記錄碼資訊以及第一修補資訊。值得注意的,本實施例中的第一修補資訊為完整的修補資訊的一部分。接著,步驟S330中則由非揮發性記憶體的第二記憶區塊讀取第二修補資訊,其中的第二修補資訊則為本實施例中的完整的修補資訊的另一部分。據此,步驟S340則結合的一修補資訊以及第二修補資訊以產生修正後系統碼。如此,本發明實施例可提供具有較大尺寸的修正後系統碼,並使電子裝置依據修正後系統碼執行開機動作。Please refer to FIG. 3. FIG. 3 is a flowchart of a system code management method according to another embodiment of the present invention. When the size of the patch data is larger than 3K bytes, the system code may be patched or corrected through the embodiments of the present invention. In step S310, the initial address of the non-volatile memory is initialized. Step S320 reads the first memory block of the non-volatile memory according to the initial address, wherein the first memory block of the non-volatile memory records code information and first repair information. It is worth noting that the first patch information in this embodiment is a part of the complete patch information. Next, in step S330, the second repair information is read from the second memory block of the non-volatile memory, where the second repair information is another part of the complete repair information in this embodiment. According to this, step S340 combines a patch information and a second patch information to generate a modified system code. In this way, the embodiment of the present invention can provide a modified system code with a larger size, and enable the electronic device to perform a booting operation according to the modified system code.
由上述的說明不難得知,本發明實施例可提供任意尺寸的修正後系統碼以置換原有的系統碼,並進行系統碼的修補或更新動作。而值得注意的,若要提供具有更大尺寸的修正後系統碼,本發明實施例可使非揮發性記憶體提供一個或多個的第三記憶區塊來儲存第三修補資訊。電子裝置並可透過結合第一修補資訊、第二修補資訊以及第三修補資訊來產生修正後系統碼。其中,上述的第一資料區塊、第二資料區塊以及第三資料區塊為不相同的資料區塊。It is not difficult to know from the above description that the embodiment of the present invention can provide a modified system code of any size to replace the original system code, and perform a repair or update operation of the system code. It is worth noting that if a modified system code with a larger size is to be provided, the embodiment of the present invention may enable the non-volatile memory to provide one or more third memory blocks to store the third repair information. The electronic device can generate the corrected system code by combining the first patch information, the second patch information, and the third patch information. The first data block, the second data block, and the third data block are different data blocks.
以下請參照圖4,圖4繪示本發明實施例的系統碼的管理方法的動作示意圖。其中,控制器(未繪示)可針對非揮發性記憶體410的位址(IP)進行初始化的動作,並依據初始化位址讀取非揮發性記憶體410中的第一記憶區塊420。第一記憶區塊420中包括碼資訊421以及第一修補資料422。控制器並將所讀出的碼資訊421以及第一修補資料422寫入至緩衝記憶體440中。另外,控制器並讀取非揮發性記憶體410的第二記憶區塊中的第二修補資料430,並將第二修補資料430寫入至緩衝記憶體440中。非揮發性記憶體410可以為快閃記憶體。Please refer to FIG. 4 below, which illustrates a schematic diagram of an operation method of a system code management method according to an embodiment of the present invention. The controller (not shown) may perform an initialization operation on the address (IP) of the non-volatile memory 410 and read the first memory block 420 in the non-volatile memory 410 according to the initialization address. The first memory block 420 includes code information 421 and first patch data 422. The controller writes the read code information 421 and the first patch data 422 into the buffer memory 440. In addition, the controller reads the second patch data 430 in the second memory block of the non-volatile memory 410 and writes the second patch data 430 into the buffer memory 440. The non-volatile memory 410 may be a flash memory.
接著,控制器要執行開機動作時,在不需要進行系統碼更正的狀況下,控制器可依據碼資訊421來讀取原有的系統碼,並依據原有的系統碼進行開機動作。相對的,若需要針對系統碼進行更正的情況下,控制器可讀取緩衝記憶體440中的第一修補資料422以及第二修補資料430,並結合第一修補資料422以及第二修補資料430來產生修正後系統碼。控制器可依據修正後系統碼執行開機動作。Then, when the controller wants to perform the booting operation, the controller can read the original system code according to the code information 421 and perform the booting operation according to the original system code without the need for system code correction. In contrast, if the system code needs to be corrected, the controller can read the first patch data 422 and the second patch data 430 in the buffer memory 440, and combine the first patch data 422 and the second patch data 430. To generate a modified system code. The controller can perform the booting operation according to the modified system code.
接著請參照圖5A~圖5C,圖5A~圖5C繪示本發明實施例的位址查找表的動作示意圖。電子裝置的記憶體系統中包括唯讀記憶區501、隨機存取記憶區502、快取區503以及緩衝記憶區504,其中,唯讀記憶區501、隨機存取記憶區502、快取區503以及緩衝記憶區504的可以設定為具有連續的邏輯位址。Please refer to FIG. 5A to FIG. 5C. FIG. 5A to FIG. 5C are schematic diagrams of operations of the address lookup table according to the embodiment of the present invention. The memory system of the electronic device includes a read-only memory area 501, a random access memory area 502, a cache area 503, and a buffer memory area 504, among which the read-only memory area 501, the random access memory area 502, and the cache area 503 And the buffer memory area 504 can be set to have a continuous logical address.
在圖5A中,系統碼520可由緩衝記憶區504被搬移至快取區503。位址查找表可記錄一起始位址ADD1,控制器(未繪示)可依據上述的起始位址ADD1來進行位址跳躍,以查找出系統碼520並執行系統碼520。In FIG. 5A, the system code 520 can be moved from the buffer memory area 504 to the cache area 503. The address lookup table can record a start address ADD1, and the controller (not shown) can perform address jump according to the above start address ADD1 to find out the system code 520 and execute the system code 520.
在圖5B中,位址查找表記錄第二修補資料550的尺寸以及實體位址。控制器可依據碼資訊530獲得第二修補資料550的所在的位址540,並使第二修補資料550被搬移至所需要的位址ADD2。另外,第二修補資料550可與第一修補資料合併以產生修補後的系統碼520,控制器並可執行系統碼520以進行開機動作。In FIG. 5B, the address lookup table records the size of the second patch 550 and the physical address. The controller can obtain the address 540 where the second patch data 550 is located according to the code information 530, and cause the second patch data 550 to be moved to the required address ADD2. In addition, the second patch data 550 may be combined with the first patch data to generate a patched system code 520, and the controller may execute the system code 520 to perform a booting operation.
在圖5C中,基於快取區530具有損毀區FR,因此,透過位址查找表記錄一程式記憶體(program RAM)的起始位置資訊ADD3,控制器並可依據起始位置資訊ADD3以進行位址跳躍,並可有效查找出系統碼520的有效儲存位址。如此一來,當有發生記憶體損壞的現象時,透過位址查找表,本發明實施例可將系統碼520儲存在記憶體的正常區域,且可提供控制器進行有效的存取。In FIG. 5C, based on the cache area 530 having a damaged area FR, the address lookup table is used to record the starting position information ADD3 of a program RAM, and the controller may perform The address jumps, and the effective storage address of the system code 520 can be efficiently found. In this way, when a memory corruption occurs, the system code 520 can be stored in a normal area of the memory through the address lookup table, and the controller can be provided for effective access.
值得一提的,本發明實施例可透過在電子裝置中設置一個二進位檔案來提供位址查找表。其中,透過針對二進位檔案進行編輯,可以修改第二修補資料550的尺寸以及實體位址。使本發明實施例的修正後系統碼的產生動作更具靈活度,並更容易被完成。It is worth mentioning that the embodiment of the present invention can provide an address lookup table by setting a binary file in the electronic device. Among them, by editing the binary file, the size and physical address of the second patch data 550 can be modified. This makes the generation of the modified system code in the embodiment of the present invention more flexible and easier to complete.
以下請參照圖6,圖6繪示本發明一實施例的系統碼的管理裝置的示意圖。管理裝置600包括非揮發性記憶體610、控制器620、緩衝記憶體630以及位址查找表640。控制器620耦接至非揮發性記憶體610、緩衝記憶體630以及位址查找表640。控制器620可用以執行前述圖1或圖3實施例的各個步驟。關於圖1及圖3實施例的各個步驟的實施細節,在前述的實施例都有詳細的說明,此處恕不多贅述。Please refer to FIG. 6 below, which illustrates a schematic diagram of a system code management apparatus according to an embodiment of the present invention. The management device 600 includes a non-volatile memory 610, a controller 620, a buffer memory 630, and an address lookup table 640. The controller 620 is coupled to the non-volatile memory 610, the buffer memory 630, and the address lookup table 640. The controller 620 may be configured to perform each step of the foregoing embodiment in FIG. 1 or FIG. 3. The implementation details of each step in the embodiments of FIG. 1 and FIG. 3 are described in detail in the foregoing embodiments, and will not be repeated here.
位址查找表640可以設置在控制器620外部的任意形式的記憶裝置中,或者,位址查找表640也可以設置在內嵌於控制器620內部的記憶體中,沒有特別的限制。此外,控制器620可以為具運算能力的處理器。或者,控制器620可以是透過硬體描述語言(Hardware Description Language, HDL)或是其他任意本領域具通常知識者所熟知的數位電路的設計方式來進行設計,並透過現場可程式邏輯門陣列(Field Programmable Gate Array, FPGA)、複雜可程式邏輯裝置(Complex Programmable Logic Device, CPLD)或是特殊應用積體電路(Application-specific Integrated Circuit, ASIC)的方式來實現的硬體電路。The address lookup table 640 can be set in any form of memory device outside the controller 620, or the address lookup table 640 can also be set in a memory embedded inside the controller 620, which is not particularly limited. In addition, the controller 620 may be a processor having a computing capability. Alternatively, the controller 620 may be designed through a hardware description language (HDL) or any other digital circuit design method familiar to those skilled in the art, and through a field programmable logic gate array ( Field Programmable Gate Array (FPGA), Complex Programmable Logic Device (CPLD) or Application-specific Integrated Circuit (ASIC).
綜上所述,本發明透過在儲存碼資訊的第一記憶區塊中,另儲存第一修補資料。使碼資訊以及第一修補資料可以同時被讀取,並在當需要針對系統碼進行修正的情況下,提供第一修補資料以對系統碼進行修正。如此一來,電子裝置的系統碼在不被拆機的情況下,可以簡單的被修正,提升電子裝置的系統參數調整、系統碼修正的靈活度。In summary, the present invention stores the first patch data in the first memory block of the code information. The code information and the first patch data can be read at the same time, and when the system code needs to be modified, the first patch data is provided to modify the system code. In this way, the system code of the electronic device can be easily modified without being disassembled, thereby improving the flexibility of system parameter adjustment and system code modification of the electronic device.
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。Although the present invention has been disclosed as above with the examples, it is not intended to limit the present invention. Any person with ordinary knowledge in the technical field can make some modifications and retouching without departing from the spirit and scope of the present invention. The protection scope of the present invention shall be determined by the scope of the attached patent application.
S110~S130、S310~S340‧‧‧系統碼的管理步驟S110 ~ S130, S310 ~ S340‧‧‧System code management steps
210、410、610‧‧‧非揮發性記憶體210, 410, 610‧‧‧ non-volatile memory
220、420‧‧‧第一記憶區塊220, 420‧‧‧The first memory block
221、421‧‧‧碼資訊221, 421‧‧‧ code information
222、422‧‧‧第一修補資料222, 422‧‧‧‧ First patch
230、440、630‧‧‧緩衝記憶體230, 440, 630‧‧‧ buffer memory
430、550‧‧‧第二修補資料430, 550‧‧‧‧ Second patch
501‧‧‧唯讀記憶區501‧‧‧Read Only Memory
502‧‧‧隨機存取記憶區502‧‧‧ Random Access Memory
503‧‧‧快取區503‧‧‧Cache
504‧‧‧緩衝記憶區504‧‧‧Buffer memory area
ADD1‧‧‧起始位址ADD1‧‧‧Start address
FR‧‧‧損毀區FR‧‧‧ Damaged Area
520‧‧‧系統碼520‧‧‧System Code
540、ADD2‧‧‧位址540 、 ADD2‧‧‧Address
ADD3‧‧‧起始位置資訊ADD3‧‧‧ starting position information
600‧‧‧管理裝置600‧‧‧ management device
620‧‧‧控制器620‧‧‧controller
640‧‧‧位址查找表640‧‧‧Address Lookup Table
圖1繪示本發明一實施例的系統碼的管理方法的流程圖。 圖2繪示本發明實施例的系統碼的管理方法的動作示意圖。 圖3繪示本發明另一實施例的系統碼的管理方法的流程圖。 圖4繪示本發明實施例的系統碼的管理方法的動作示意圖。 圖5A~圖5C繪示本發明實施例的位址查找表的動作示意圖。 圖6繪示本發明一實施例的系統碼的管理裝置的示意圖。FIG. 1 is a flowchart of a system code management method according to an embodiment of the present invention. FIG. 2 is a schematic diagram illustrating an operation of a system code management method according to an embodiment of the present invention. FIG. 3 is a flowchart of a method for managing a system code according to another embodiment of the present invention. FIG. 4 is a schematic diagram illustrating an operation of a system code management method according to an embodiment of the present invention. 5A to 5C are schematic diagrams illustrating operations of an address lookup table according to an embodiment of the present invention. FIG. 6 is a schematic diagram of a system code management apparatus according to an embodiment of the present invention.
Claims (16)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107108342A TWI655537B (en) | 2018-03-12 | 2018-03-12 | System code management device and management method thereof |
CN201810435277.5A CN110262916B (en) | 2018-03-12 | 2018-05-09 | System code management device and management method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107108342A TWI655537B (en) | 2018-03-12 | 2018-03-12 | System code management device and management method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI655537B TWI655537B (en) | 2019-04-01 |
TW201939282A true TW201939282A (en) | 2019-10-01 |
Family
ID=66996051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107108342A TWI655537B (en) | 2018-03-12 | 2018-03-12 | System code management device and management method thereof |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110262916B (en) |
TW (1) | TWI655537B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI729954B (en) * | 2020-01-21 | 2021-06-01 | 慧榮科技股份有限公司 | Flash memory initialization scheme for writing boot up information into selected storage locations averagely and randomly distributed over more storage locations and correspondingly method for reading boot up information from selected storage locations |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6708231B1 (en) * | 1999-08-12 | 2004-03-16 | Mitsumi Electric Co., Ltd. | Method and system for performing a peripheral firmware update |
US6675258B1 (en) * | 2000-06-30 | 2004-01-06 | Lsi Logic Corporation | Methods and apparatus for seamless firmware update and propagation in a dual raid controller system |
KR100850207B1 (en) * | 2006-12-29 | 2008-08-04 | 삼성전자주식회사 | Memory device employing dual clocking method for systematic code generation |
TW200925890A (en) * | 2007-12-12 | 2009-06-16 | Feature Integration Technology Inc | Computer system and starting method thereof |
JP2009259113A (en) * | 2008-04-18 | 2009-11-05 | Toshiba Corp | Nonvolatile memory management device |
TWI431529B (en) * | 2010-04-22 | 2014-03-21 | Advantech Co Ltd | Computer system with a function of rescuing system and method for the same |
TW201140440A (en) * | 2010-05-13 | 2011-11-16 | Advantech Co Ltd | Methods for loading operation system and system booting, and computer system using the same |
TWI441081B (en) * | 2011-11-04 | 2014-06-11 | Asrock Inc | Method for flashing firmware and booting method and electronic apparatus using the method thereof |
-
2018
- 2018-03-12 TW TW107108342A patent/TWI655537B/en active
- 2018-05-09 CN CN201810435277.5A patent/CN110262916B/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI729954B (en) * | 2020-01-21 | 2021-06-01 | 慧榮科技股份有限公司 | Flash memory initialization scheme for writing boot up information into selected storage locations averagely and randomly distributed over more storage locations and correspondingly method for reading boot up information from selected storage locations |
US11144223B2 (en) | 2020-01-21 | 2021-10-12 | Silicon Motion, Inc. | Flash memory initialization scheme for writing boot up information into selected storage locations averagely and randomly distributed over more storage locations and correspondingly method for reading boot up information from selected storage locations |
US11543982B2 (en) | 2020-01-21 | 2023-01-03 | Silicon Motion, Inc. | Flash memory initialization scheme for writing boot up information into selected storage locations averagely and randomly distributed over more storage locations and correspondingly method for reading boot up information from selected storage locations |
Also Published As
Publication number | Publication date |
---|---|
CN110262916B (en) | 2023-06-13 |
TWI655537B (en) | 2019-04-01 |
CN110262916A (en) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI546666B (en) | Data storage device and flash memory control method | |
JP5492679B2 (en) | Storage device and memory controller | |
KR101730510B1 (en) | Non-regular parity distribution detection via metadata tag | |
TWI461913B (en) | Flash memory device and data reading method thereof | |
JP2004118407A (en) | Nonvolatile semiconductor storage device | |
JP2008198310A (en) | Method for repairing bit error and information processing system | |
JP2005242797A (en) | Error correction circuit | |
TW201535382A (en) | DRAM row sparing | |
JP2004258946A (en) | Memory card | |
JP2006120082A (en) | Memory card, semiconductor device, and control method for memory card | |
TWI591482B (en) | Data protecting method, memory control circuit unit and memory storage device | |
TW201915725A (en) | Data storage device and methods for processing data in the data storage device | |
JP2019192316A (en) | Nonvolatile storage device, memory control device, and memory control method | |
JP2007310916A (en) | Memory card | |
JP2018097516A (en) | Memory device, controller, host device, data processing system, control program, method of operating memory device and method of operating host device | |
TWI655537B (en) | System code management device and management method thereof | |
TWI676933B (en) | Firmware updating method | |
US8046529B2 (en) | Updating control information in non-volatile memory to control selection of content | |
JP2009123191A (en) | Nor-interface flash memory device and method of accessing the same | |
TW201430554A (en) | Recovering system and method for recovering data | |
WO2024087607A1 (en) | Flash memory management algorithm debugging method, system and device, and readable storage medium | |
TWI550627B (en) | Storage device and operating method thereof | |
JP2006285976A (en) | Nonvolatile storage system, nonvolatile storage device, and data reading method and program | |
JP2008009614A (en) | Memory controller, memory system, and memory control method | |
US20100146332A1 (en) | Data correction circuit and semiconductor integrated circuit |