TW200931248A - Electronic systems having non-volatile memories and related data processing methods - Google Patents

Electronic systems having non-volatile memories and related data processing methods Download PDF

Info

Publication number
TW200931248A
TW200931248A TW97100038A TW97100038A TW200931248A TW 200931248 A TW200931248 A TW 200931248A TW 97100038 A TW97100038 A TW 97100038A TW 97100038 A TW97100038 A TW 97100038A TW 200931248 A TW200931248 A TW 200931248A
Authority
TW
Taiwan
Prior art keywords
data
address
memory
index
boot code
Prior art date
Application number
TW97100038A
Other languages
Chinese (zh)
Other versions
TWI367420B (en
Inventor
Shang-Zhi Wu
Original Assignee
Via Tech Inc
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 Via Tech Inc filed Critical Via Tech Inc
Priority to TW097100038A priority Critical patent/TWI367420B/en
Publication of TW200931248A publication Critical patent/TW200931248A/en
Application granted granted Critical
Publication of TWI367420B publication Critical patent/TWI367420B/en

Links

Abstract

A data processing method for use in an electronic system having at least one non-volatile memory, a flash memory bus and a peripheral bus is disclosed. The non-volatile memory has at least one attribute data and a bootable code. The method comprises following steps. An auto reading procedure is performed to acquire the at least one attribute data and an address for the bootable code from the non-volatile memory in response of that a reset signal of the flash memory bus has been deasserted. Then, the attribute data and the address for the bootable code is utilized to set and execute the bootable code in response of that the reset signal of the peripheral bus has been deasserted.

Description

200931248 - 九、發明說明: 【發明所屬之技術領域】 本發明係有關於一種用於非 理方法,特収有關於-種可用性⑽體元件之資料處 存之開機相關程式碼之資料處理方法揮發性記憶體元件中所儲 【先前技術】 ❹ Ο —般而言,系統中都具有?小一 入輸出系、_卿_简糊如基本輸 的相關程序。對於擁有非揮發性記憶體 古,-r舍將m#m^ 閃記憶體))的系統而 二⑽,又會賴壯式碼也存_揮發性記憶體元件以避 用早獨的非揮發性記憶體存儲開機寇4 賴機知式碼。非揮發性記憶體元 件(如快閃記憶體)和-般動態隨機存取記憶體(DR綱陣 隨機存取記髓(SRAM)最大的不同處,在於當無電源時^ 揮發性記憶㈣件祕存資料紐,並且省電功能及耐 震,因此非揮發性記㈣元件成為嵌人式純最佳記憶體解決 方案。 、 記憶体元件通常包括一記憶體控制器以及一記憶體。記憶 體控制器在系統的外圍匯流排(例如PCI匯流排)重置完成之 前,必須先知道關於此快閃記憶體的一些屬性資料,例如匯流 排寬度為8位元或16位元以及分頁(page)大小為512位元組、 2048位元組或4096位元組等資訊,記憶體控制器才能在外圍 匯流排完成重置之後正確讀出記憶體裡儲存的開機程式碼。200931248 - IX. Description of the Invention: [Technical Field of the Invention] The present invention relates to a method for processing volatility of a boot-related code stored in a non-physical method for storing information on a usable (10) body component. Stored in memory components [Prior Art] ❹ Ο In general, all in the system? Small one into the output system, _ Qing _ simple paste as the basic loss of the relevant procedures. For systems with non-volatile memory, -r will m#m^ flash memory)) (2), and will also rely on strong code _ volatile memory components to avoid the early non-volatile Sex memory storage boot 4 机 machine know code. The biggest difference between non-volatile memory components (such as flash memory) and general dynamic random access memory (DR) is that when there is no power supply ^ volatile memory (four) pieces The secret data is new, and the power saving function and shock resistance, so the non-volatile memory (four) components become the embedded pure memory solution. The memory components usually include a memory controller and a memory. Memory control Before the system's peripheral bus (such as PCI bus) is reset, you must know some attributes about the flash memory, such as bus width of 8 or 16 bits and page size. For information such as 512-bit, 2048-bit, or 4096-bit, the memory controller can correctly read the boot code stored in the memory after the peripheral bus is reset.

Client’s Docket No.:VIC07-0041 TT^ Docket No:〇6〇8-A41328-lW/Final/Jasonkung 200931248 體接腳ir,這樣的屬性資料係由記憶體控制器通過檢測硬 Μ Μ為strappmg pin)的電壓電平獲得。然而,每個這類 用表都對應到至少一根的硬體接腳’例如至少需要一根 用以表不匯流排寬度以及兩根接腳用以表示分頁大小。 腳,若由=^=喊有限,這些硬體接嶋仙原有的接 【發明内容Γ硬體接腳,將使得系統無法正常地工作。 ❹ 有鐘於此,本發明之目的之一即在於提供一種用於 機程式碼之非揮發性記憶體之資料處理方法述 到足夠多㈣殊硬體接腳的問題。 m边找不 理方述目的,本發明提供—種適用於電子系統之資料處 法。/、中,電子系統至少包括一非揮發性記憶 一 至該非揮發性記體的記情體匯产排 ‘ 具有—屬性龍以及—開機程式碼。資料處理方法包 執」先,在該記憶體匯流排之-重置信號中止後, t-自私取程序以由非揮發性記憶體中得到非揮發性纪 憶體之至少-屬性資料以及該開機程式瑪之位址天二 圍,㈣置信號中止⑽刪)後,利用得到之至少^生卜 及該開機程式碼之位址,讀取該開機程式碼至該外圍匯 本發明另提供一種電子系統,包括— 具有至少->1性資料以及—開機程柄。 - 發性記憶體。記憶體匯流排用吨接非揮ς性記憶體==Client's Docket No.: VIC07-0041 TT^ Docket No: 〇6〇8-A41328-lW/Final/Jasonkung 200931248 Body pin ir, such attribute data is detected by the memory controller strappmg pin) The voltage level is obtained. However, each such table corresponds to at least one of the hardware pins'. For example, at least one is required to indicate the width of the bus bar and two pins are used to indicate the page size. Feet, if the =^= shouting limited, these hardware are connected to the original connection [invention content Γ hardware pin, will make the system not work properly. In view of the above, one of the objects of the present invention is to provide a data processing method for a non-volatile memory of a program code to describe a sufficient number of (four) special hardware pins. m seeks for the purpose of the description, and the present invention provides a data processing method suitable for electronic systems. /, medium, the electronic system includes at least one non-volatile memory - the non-volatile record of the corpus corpus ‘ has the attribute dragon and the boot code. The data processing method package first, after the reset of the memory bus-reset signal, the t-self-following program obtains at least the attribute data of the non-volatile memory from the non-volatile memory and the booting After the address of the program is located in Tian Erwei, (4) after the signal is aborted (10), the address of the boot code and the address of the boot code are used to read the boot code to the peripheral sink. The invention further provides an electronic The system, including - has at least -> 1 data and - boot handle. - Hair memory. Memory bus is used for tons of non-volatile memory ==

Client's Docket No.:VIC07-0041 TT>s Docket NorOeOS^lSlg-TW/Finayjasonkung 6 200931248 二接於該控制器。其中,控制器在該記憶體匯 程式碼之位址|=匯=至少—胁㈣以及該開機 之至少-屬性龍以及 1重置㈣中止後,利用付到 至該外圍匯流排。之位址,讀取《機程式碼 eClient's Docket No.: VIC07-0041 TT>s Docket NorOeOS^lSlg-TW/Finayjasonkung 6 200931248 Two connected to the controller. Wherein, the controller pays to the peripheral bus after the address of the memory code |= sink = at least - threat (four) and at least the attribute dragon and the reset (four) of the boot. Address, read the machine code e

中該一=料處理方法’適用於-電子系統’其 ㈣發性記憶體、一控制器、一耦接舆該 :兮:二::非揮發性記憶體之間的記憶體匯流排以及-耦接 料^赵Γ外圍匯流排。該非揮雜記憶體具有至少一屬性資 二= 核理方法包括τ列步驟。首先,在該記憶雜流排之 北播t訊號巾止後’依據—預設屬性資料以及-預設位址由該 it體中·取至少—屬性資料。然後,在該外圍匯流 〇〇重置錢中止剛’利用得到之該屬性資料配置該控制 益。 下 為使本發明之上述和其他目的、特徵、和優點能更明顯易 下文特舉出較佳實施例,並配合所附圖式,作詳細說明如 【實施方式】 本發明之實施例係關於—種適用於非揮發性記憶體元件 (例如:快閃記憶體)的資料處理方法,利用非揮發性記憶體元件 的結,特性,使記龍控㈣讀取設置在麵發性記憶體元件 的特疋位置中的特定格式資料,以獲取非揮發性記憶體元件相 關的屬性資料以及存放於其中的程式碼的相關索引,可用以取The method of processing the material is applied to the electronic system. (4) The memory, the controller, and the coupling are: 兮: 2:: The memory bus between the non-volatile memories and - Coupling material ^ Zhao Wei peripheral busbar. The non-volatile memory has at least one attribute 2 = the method of checking includes the step of τ column. First, after the northern t-telephone of the memory clutter is stopped, the at least attribute data is taken from the it body by the preset attribute data and the preset address. Then, in the peripheral sink 〇〇 reset money stop just using the attribute data obtained to configure the control benefit. The above and other objects, features, and advantages of the present invention will become more apparent from the aspects of the preferred embodiments illustrated herein A data processing method suitable for non-volatile memory components (for example, flash memory), using the junction and characteristics of non-volatile memory components, enabling the recording of the memory device components in the face memory device The specific format data in the special location to obtain the attribute data related to the non-volatile memory component and the relevant index of the code stored therein, which can be used to

Client’s Docket No.:VIC07-0041 rr.DocketNo:0608-A41328-TW/Fina]/Jas〇11lcun1 7 200931248 -代習知的硬體接腳,解決系統硬體接腳不足的問題,而且也方 便進一步的擴充。 此外,根據本發明之方法,可將儲存於非揮發性記憶體元 件中的開機S式碼(即BIOS碼)分成不同的區塊並且連續或不 連續地放置,再利用本發明所提供的對照表順序讀出每個區 塊’可使得設計更有彈性且更有效率。 第1圖顯示-依據本發明實施例之電子系統1〇〇。電子系 ❿統^00中至少包括一處理器102、-晶片 '组101、一麵接於處 理器160與晶片組101之間的前端匯流排18〇、以及一非揮發 性,m。晶片組101包括一控制器11〇、一 ρα匯流排 才二制器160、一耦接控制器11〇與pCI匯流排控制器之 匯流排170、以及-電源管理單元19〇。雖然於本實施例中, 控制器1H)係、通過PCI S流排與電子系、统刚的其他模塊通 然而如熟悉此項技藝者所知,電子系統励也可以使用其 =規格的外HE讀來實現控制^ UG與其他模塊之間的通 ❹^㈣器110通過一記憶體匯流排(例如NAND Flash匯流 排)130耦接至非揮發性記憶體12〇。電源管理單元wo至少包 括-第-暫存器140以及-第二暫存器15〇。於此實施例中, 第暫存盗140以及第二暫存器15〇係為電池供電式㈣时 well)暫存器,可分別用以保留資料142以及m,以供開機時 使用,但不限於此。 非揮發性記憶體120中包括了 一開機程式碼(例如BI〇s 碼)122 ’儲存了電子系統1〇〇開機所需要的各種程序,用以於 電子系統1〇〇啟動電源後,執行系統開機程序(b〇〇t sequence),Client's Docket No.:VIC07-0041 rr.DocketNo:0608-A41328-TW/Fina]/Jas〇11lcun1 7 200931248 - The hardware pin of the familiar device solves the problem of insufficient system hardware pins, and it is convenient for further Expansion. In addition, according to the method of the present invention, the boot S code (ie, BIOS code) stored in the non-volatile memory component can be divided into different blocks and placed continuously or discontinuously, and the comparison provided by the present invention can be utilized. The table reads each block in sequence' to make the design more flexible and more efficient. Figure 1 shows an electronic system 1 in accordance with an embodiment of the present invention. The electronic system 0000 includes at least a processor 102, a wafer 'group 101, a front side bus bar 18 一面 between the processor 160 and the chip set 101, and a non-volatile, m. The chipset 101 includes a controller 11A, a ρα busbar controller 160, a busbar 170 coupled to the controller and the pCI busbar controller, and a power management unit 19A. Although in the present embodiment, the controller 1H) is connected to the electronic system and other modules through the PCI S stream, as is known to those skilled in the art, the electronic system can also use the external HE of the specification. Read and implement the communication between the UG and other modules. The multiplexer 110 is coupled to the non-volatile memory 12 through a memory bus (e.g., NAND Flash bus) 130. The power management unit wo includes at least a --staff register 140 and a --second register 15A. In this embodiment, the temporary storage thief 140 and the second temporary storage device 15 are battery-powered (four) well) temporary registers, which can be used to reserve data 142 and m, respectively, for use at boot time, but not Limited to this. The non-volatile memory 120 includes a boot code (eg, BI〇s code) 122' that stores various programs required for the electronic system to boot up, and is used to execute the system after the electronic system 1 is powered on. Boot program (b〇〇t sequence),

Clienfs Docket N〇.:VIC07-0041 TT's Docket No:〇6〇8-A41328-TW/Finayjasonkung 200931248 •以使其能正常運作。非揮發性記憶體m中更包括一屬性資料 124 ’儲存了非揮發性記憶體12〇的基本屬性資料,例如匯流 F寬又為8位元或16位元以及分頁(押㈣大小為512位元組、 2048位元組或4096位元組等資訊。 控制器110係透觀,隨匯流排13G與轉發性記憶體 I20耦接,並藉此存取非揮發性記憶體120。因此,控制器11〇 可透過δ己憶體匯流排13〇存取非揮發性記憶體m中的開機程 式碼122。 ❹ 你、a ;以下貫施例中,非揮發性記憶體12〇係以NAND快閃 記憶體作為說明,但本發明並不限於此。NAND快閃記憶體由 一系列的區塊(block)構成,每一區塊又包含一系列的分頁 (page)。 第2圖顯示第丨圖所示之電子系統1〇〇之一開機序列時序 圖。請一併參閱第1圖與第2圖所示,四種訊號線分別用以表 示開機時的系統時序運作,其中訊號線CPURST#、PCIRST#、 H NFRST#以及PWRGD分別用以表示處理器重置訊號線、PCI 匯流排重置訊號線、快閃記憶體重置訊號線以及系統電源訊號 線。當處理器重置訊號線CPURST#、PCI匯流排重置訊號線 PCIRST#以及快閃記憶體重置訊號線NFRst#送出(assert)時, 訊號線上將出現低準位,當其被中止(deassert)時,訊號線上將 出現高準位。當系統電源訊號線PWRGD上出現高準位時,表 示電子系統100已正常供電。 第3A圖顯示一依據本發明實施例之快閃記憶體内容配置 之示意圖。如圖所示,快閃記憶體300中的起始位置(即第1Clienfs Docket N〇.:VIC07-0041 TT's Docket No:〇6〇8-A41328-TW/Finayjasonkung 200931248 • To make it work properly. The non-volatile memory m further includes an attribute data 124' to store the basic attribute data of the non-volatile memory 12〇, for example, the confluence F is 8 bits or 16 bits and the page is divided (the size of the (4) is 512 bits. Information such as a tuple, a 2048 byte, or a 4096 byte. The controller 110 is transparent, and is coupled to the forward memory 13 by the bus 13G, and thereby accesses the non-volatile memory 120. Therefore, the control The device 11 can access the boot code 122 in the non-volatile memory m through the delta memory bus 13 ❹ 、 you, a; in the following examples, the non-volatile memory 12 is fast with NAND Flash memory is described as an example, but the present invention is not limited thereto. The NAND flash memory is composed of a series of blocks, each of which contains a series of pages. Figure 2 shows the third page. The timing sequence of one of the electronic systems shown in Figure 1. Please refer to Figure 1 and Figure 2, the four signal lines are used to indicate the system timing operation at boot time, where the signal line CPURST# , PCIRST#, H NFRST#, and PWRGD are used to indicate that the processor resets the signal line, PCI bus reset signal line, flash memory reset signal line and system power signal line. When the processor resets the signal line CPURST#, PCI bus reset signal line PCIRST# and flash memory reset signal line NFRst# When asserted, a low level will appear on the signal line. When it is deasserted, a high level will appear on the signal line. When a high level appears on the system power signal line PWRGD, the electronic system 100 is normal. Figure 3A shows a schematic diagram of a flash memory content configuration in accordance with an embodiment of the present invention. As shown, the starting position in the flash memory 300 (i.e., the first

Client's Docket No. :VIC07-0041 TT^ Docket No:0608-A41328-TW/Final/Jasonkung 9 200931248 •個區塊的分頁〇)中包括了 一個第-資料區塊31〇’且也包括了 一個開機程式碼340,此開機程式碼34()係由如圖標號3 不的快閃記憶體300的位置開始存放,亦即標號3u表示開 始位置。第—資料區塊310中儲存了快閃記憶 體3〇〇的相關屬性資料,用以表示快閃記憶體3〇〇所使用的格 式。第-資料區塊310中也儲存了表示開機程式碼34〇在快閃 記憶體300的起始位置的相關記憶體位址之指標索引。為了確 保轉重要資料不會目為存取錯誤或其他·發生錯誤而造 成,執行錯誤的結果,因此第一資料區塊310可以另包括了這 ^貝料的相關備份’這些備份資料可用來還原並取得原始的資 由於NAND快閃記憶體的工藝不能保證NAND 列在其生命週期中保持性能的可靠,因此,在nand快閃記 隐體的生產中及使用過程中會產生壞塊。然而,να·快閃記 憶體的生産者會確保快閃記憶體的第一資料區塊31〇是好 ❹的,因此,一般會將開機程式碼連續地儲存於第一資料區塊 ;310中以確保開機程式碼被損壞。於本實施例中,為增 加6又5十的彈性,開機程式碼34〇可存放於快閃記憶體的任意位 置’並可通過存儲於第一資料區塊31〇中之開機程式石馬之位址 指標索引資料36G定位開機程式碼的初始位址。如第3a圖所 不’ 機程式碼340係分成數個區塊,如圖所示的區塊#ι至 區塊#4。開機程式碼34〇也具有一個對照表(τ)33〇,對照表τ 中可包含區塊號碼以及該區塊對應的快閃記憶體位址,其中此 對應的快閃記憶體位址可為快閃記憶體中的一絕對位址Client's Docket No. :VIC07-0041 TT^ Docket No:0608-A41328-TW/Final/Jasonkung 9 200931248 • The paging of each block includes a first-data block 31〇' and also includes a boot The code 340, the boot code 34() is stored by the position of the flash memory 300 as shown in FIG. 3, that is, the label 3u indicates the start position. The first data block 310 stores the relevant attribute data of the flash memory 3〇〇 to indicate the format used by the flash memory. An index of the index of the associated memory address indicating the boot code 34 起始 at the start position of the flash memory 300 is also stored in the first data block 310. In order to ensure that the transfer of important data is not caused by an access error or other error, the result of the error is executed, so the first data block 310 may further include a related backup of the material. And the original resources due to the NAND flash memory process can not guarantee the reliability of the NAND column to maintain its performance in the life cycle, therefore, in the production and use of the nand flash flash hidden body will produce bad blocks. However, the producer of the να·flash memory will ensure that the first data block 31 of the flash memory is good, therefore, the boot code is generally stored continuously in the first data block; To ensure that the boot code is corrupted. In this embodiment, in order to increase the elasticity of 6 and 50, the boot code 34〇 can be stored in any position of the flash memory and can be stored in the first data block 31〇. The address index index data 36G locates the initial address of the boot code. As shown in Fig. 3a, the program code 340 is divided into several blocks, as shown in the block #ι至块块#4. The boot code 34〇 also has a lookup table (τ) 33〇, and the comparison table τ may include a block number and a flash memory address corresponding to the block, wherein the corresponding flash memory address may be flashed. An absolute address in memory

Client’s Docket No.:VIC07-0041 TT»s Docket No:0608-A41328-TW/Fmal/Jasonkung 200931248 或疋以與區塊#1的距離表示的相對位址。開機程式碼34〇的 區塊# 1中儲存有麵對照表τ所在位址㈣照表位址32〇, 亦即’可由對照表位址32〇找到並參考對照表τ。如圖所示, 對照表T係存放於位址314,因此,對照表位址32〇中的内容 即設為位址314。其中’對照表Τ可放置於開機程式碼34〇的 任何位置中。 值得注意的是’雖然本實施例中的開機程式碼的區塊係連 續地配置,於其他實施射,開機程式碼的區塊也可不連續地 任意分散配置,例如區塊#1接著區塊#3,接下來才是區塊#2。 如第3A圖所示,第一資料區塊31〇係依序存放有代表屬 性資料350的資料B0以及B1,以及代表開機程式碼34〇的起 始位置的相關指標索引360的資料P〇、Pi、P2以及p3,其中 B1係為B0的備份’ P1係為P0的備份’ P3係為p2的備份, 並且P2係用以表示用於備份的開機程式碼存放的位址。請注 意,第一資料區塊310尚包括有許多保留資料部分,可供後續 擴充之用。 在第3A圖所示的屬性資料350與開機程式碼之位址指標 索引資料3 60各為一個位元組,熟悉此項技藝者可以了解到這 種安排僅為眾多實施例的一種。在實施系統上可以因應各種工 程上或其它考量加以變化而不脫出本發明的真意。 第3B圖顯示一依據本發明實施例之屬性資料35〇之示意 圖。屬性資料350可以包括用以表示匯流排寬度351、分頁大 小352、目前工作模式353以及支援模式的資料354。舉例來 說,匯流排寬度351可為8位元或16位元’分頁大小352可Client’s Docket No.: VIC07-0041 TT»s Docket No: 0608-A41328-TW/Fmal/Jasonkung 200931248 or the relative address expressed by the distance from block #1. The block #1 in the boot code 34〇 stores the address of the face comparison table τ (4) according to the table address 32〇, that is, the reference table address 32〇 can be found and referenced to the comparison table τ. As shown, the comparison table T is stored in the address 314. Therefore, the content in the comparison table address 32 is set to the address 314. The 'reference table' can be placed anywhere in the boot code 34〇. It should be noted that although the blocks of the boot code in this embodiment are continuously configured, in other implementations, the blocks of the boot code may be randomly distributed, such as block #1 followed by block # 3, the next block is #2. As shown in FIG. 3A, the first data block 31 is sequentially stored with the data B0 and B1 representing the attribute data 350, and the data P of the related index index 360 representing the starting position of the boot code 34〇, Pi, P2, and p3, where B1 is a backup of B0 'P1 is a backup of P0' P3 is a backup of p2, and P2 is used to indicate the address of the boot code stored for backup. Please note that the first data block 310 also includes a number of reserved data portions for subsequent expansion. The attribute data 350 shown in Fig. 3A and the address index index data 3 60 of the boot code are each a single byte. Those skilled in the art will appreciate that this arrangement is only one of many embodiments. The implementation of the system can be varied in accordance with various engineering or other considerations without departing from the true meaning of the invention. Figure 3B shows a schematic diagram of an attribute data 35〇 in accordance with an embodiment of the present invention. The attribute profile 350 can include data 354 to indicate the busbar width 351, the page size 352, the current mode of operation 353, and the support mode. For example, the bus width 351 can be 8 or 16 bits. The page size is 352.

Client’s Docket N〇.:VIC07-0041 TT5s Docket No:0608-A41328-TW/Final/Jasonkung 200931248 為512位元組(byte)、2〇48位元組或 354可為單通道模式或雙通道模式, 德。支援模式 單通道模式係指資料係以8位 位疋的資料而言, 雙通道模式係指資料以每通道8位 $方式進行存取,而 為雙通道模式,射—次進行16位元^進行存^,因而者 扮則包括了單片(也咏ch⑹模式以及 目别工作換式 式。此係特_記顏巾有兩份的 (她ehip)楔 其中-份為原始開機程式碼,—份為備份作模式’ 間記憶體處於單片模式時,表示原始開 2程式碼。當快 程式碼都放在同一個快閃記憶體 ===開機 片模式,如雙片模式時,表示朴開機^ ^閃喊體處於多 式碼係分職在不記憶《/巾及備份開機輕 如Γ實施例中’每—屬性係用特朗位元數加以表示,例 ^個位元表示其匯流排寬度以及兩個位元表示盆分頁大 =则所示,屬性資料35〇(B〇/B1)係為一 8位元 枓,其中位元b〇(351)表示匯流排寬度,位it b2如(352)表示分 頁大小’位元b3(353)表示支援模式,位元Μ(353)表示目前工 作模式,位元b6_b5(355)為保留位元,位元b7(356)則表示錯誤 檢查位7L。錯誤檢查位元係用以檢查資料在傳輪過程中,是否 發生錯誤。請注意’雖然於此實施例中係利用循環冗餘檢查碼 (Cyclic Redundancy Check,以下簡稱cRC)來產生錯誤檢查位 兀,於其他實施例中,可採用任何習知的錯誤檢查碼 ,例如同 位疋檢查(Parity Check)、漢明碼檢查(HammingC〇deCheckM 錯誤更正碼(ECC),來產生錯誤檢查位元,用以判斷資料是否Client's Docket N〇.:VIC07-0041 TT5s Docket No:0608-A41328-TW/Final/Jasonkung 200931248 is 512-bit byte, 2〇48 byte or 354 can be single channel mode or dual channel mode, De. Support mode Single channel mode means that the data is based on 8-bit data. Dual-channel mode means that data is accessed in 8-bit mode per channel, while in dual-channel mode, 16-bit is performed in shot-by-pass mode ^ For the storage, the player includes a single film (also 咏ch (6) mode and the visual work style. This is a two-part (her ehip) wedge, and the copy is the original boot code. - When the memory is in the single-chip mode, the original code is displayed. When the fast code is placed in the same flash memory === boot mode, such as the dual-chip mode, Pu boot ^ ^ flashing body is in the multi-code system division in the memory of / / towel and backup boot as light as the example of the 'per-properties are expressed by the number of Trang bits, such as ^ bit represents its The bus width and two bits indicate that the basin is large = then the attribute data 35〇(B〇/B1) is an 8-bit 枓, where the bit b〇(351) represents the bus width, the bit it B2 as (352) indicates the paging size 'bit b3 (353) indicates the support mode, and the bit Μ (353) indicates the current work. Mode, bit b6_b5 (355) is a reserved bit, and bit b7 (356) represents an error check bit 7L. The error check bit is used to check whether the data has occurred during the transfer process. Please note that although In this embodiment, a Cyclic Redundancy Check (CRC) is used to generate an error check bit. In other embodiments, any conventional error check code may be used, such as a Parity Check. ), Hamming code check (HammingC〇deCheckM error correction code (ECC)) to generate error check bits to determine whether the data is

Client's Docket No.: VIC07-0041 TT's Docket No:0608-A41328-TW/Fmayjasonkung 12 200931248 -為正確。CRC檢錢在發料根據 列,以-定的規則產生-個校驗 k位—進制瑪序 位,並附在訊息後邊,構成—個(即CRC碼)r 位,最後發送出去。在接收端,則希訊自1碼序列數共(k+r) 所遵循的規則進行檢驗,以確定_^=咖石馬之間 當屬性資料350的位元b〇的值為〇時,表曰示 為8位兀,而當位元b0的值為 纟寬度 元。類似地,位元必bl的值為^ ^ 寬度為16位 〇 m 4 馮0卜10以及11時分別矣 不π頁大小為512位元組、2仟位元組、4仔位 表 位元b3的值為〇以及13夺分別表示支援 粟、=留值。 及雙通道模式。當位元Μ的值為〇時,表;:=莫式以 單片模式,而當位元b4的值為i時,表 莫式為 模:由屬性㈣3”一得知快閃記 指树㈣麵之_科裂位址 ❹沾索引貝# 360之不忍圓。如第3C圖所示,位址 資料36_/清2/Ρ3)係為一 8位元的資料’其曰^索引 b6-b0(361)表示開機程式瑪的起始位置(亦即區 70 置)’位元b7(263)則表示錯誤檢查位元。同樣地,錯杳: 元係採用CRC碼或奇同位碼,可用以判斷資料是否為、 熟悉該項技藝者可以明白,第3A圖至第3C圖只二: 實施例中的幾個例子。為了說明方便起見,第 =夕 V 0八圖至莖Qp 圖的資料結構將用於以下的實施例中。 第4圖顯示一依據本發明實施例於開機時之資料處理方Client's Docket No.: VIC07-0041 TT's Docket No:0608-A41328-TW/Fmayjasonkung 12 200931248 - Right. The CRC checksum is generated according to the column according to the rule, and the checksum is generated by a certain rule. The k-bit-matrix sequence is appended to the message to form a (ie CRC code) r bit, which is finally sent out. At the receiving end, Xixun checks the rules followed by the number of 1 code sequences (k+r) to determine the value of _^= between the horses and horses when the value of the bit b of the attribute data 350 is 〇. The table is shown as 8-bit 兀, and when the value of bit b0 is 纟-width. Similarly, the value of the bit must be bl ^ ^ width is 16 bits 〇 m 4 von 0 Bu 10 and 11 respectively 矣 π page size is 512 bytes, 2 仟 byte, 4 表 table epitope The value of b3 is 〇 and 13 占 respectively indicates support for millet and = retention. And dual channel mode. When the value of the bit Μ is 〇, the table;:=Mo is in the monolithic mode, and when the value of the bit b4 is i, the expression is modulo: the attribute (4) 3” is known as the flashing tree (4) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ (361) indicates the starting position of the boot program (ie, area 70). Bit b7 (263) indicates an error check bit. Similarly, the error: the element uses a CRC code or an odd parity code, which can be used. Judging whether the data is correct or not, those skilled in the art can understand that Figures 3A to 3C are only two: Several examples in the examples. For the convenience of description, the data of the first eve V 0 eight figure to the stem Qp chart The structure will be used in the following embodiments. Fig. 4 shows a data processing method at the time of power-on according to an embodiment of the present invention.

Client's Docket N〇.:VIC07-0041 TT^s Docket No:0608-A41328-TW/Fmal/Jasonkung 13 200931248 法之流程圖400。 請同時參照第i圖、第2圖以及第4圖。當系統電源被啟 動,且系統的電源達到系統可以穩定操作的範圍時,系統電源 訊號線PWRGD將被觸發(高準位),以表示電源已處於穩= 狀態。 此時,如步驟S410,在快閃記憶體重置訊號線NFRst# 中止後,即快閃記憶體系統完成重置作業後,控制器11〇依據 ❹Client's Docket N〇.: VIC07-0041 TT^s Docket No: 0608-A41328-TW/Fmal/Jasonkung 13 200931248 Flowchart 400. Please refer to the i, 2, and 4 drawings at the same time. When the system power is turned on and the system's power supply reaches the range where the system can operate stably, the system power signal line PWRGD will be triggered (high level) to indicate that the power supply is in the steady state. At this time, in step S410, after the flash memory reset signal line NFRst# is suspended, that is, after the flash memory system completes the reset operation, the controller 11 is based on ❹

一組預設的屬性資料執行一自動讀取程序以由快閃記憶體12〇 中得到快閃記憶體12G的屬性資料以及開機程式碼122的區塊 #1的位址(起始位址)。本實施例中,預設的屬性資料係指 以快閃記憶體12〇之位寬為S位,分狀小為厕位元組的 方式讀取快閃記憶體12G中的資料。尤其需要説明的是,在某 些實施例當中’控制器1GQ在PCIRST#重置訊號中止前完成自、 動讀取程序(如第2圖所示)。_自_取程序以及屬性資料 將詳細介紹於下。 當執行完自動讀取程序後,便可以_快閃記憶體12〇的 屬性資料以及開機程式碼122的區塊#1的位址。 ^於是,如步驟S420,控制器11〇依據屬性資料配置快閃 記憶體系統’以使_記憶财、統以最優化的方式進行存取。 =步驟S430,在PCI匯流排的PCIRST#重置訊號中止後, 控制盗110以配置後的存取方式,依據在自動讀取程序中獲得 式碼的區塊#1的位址讀取系統配置信息,以使系統 凡成曰曰片組1G1和系統記憶體的配置(如第2圖所示之220以 及週期T2)。通常,系統配置信息係開機程式碼最先被執行的A set of preset attribute data performs an automatic reading process to obtain the attribute data of the flash memory 12G and the address (start address) of the block #1 of the boot code 122 from the flash memory 12〇. . In this embodiment, the preset attribute data refers to reading the data in the flash memory 12G in a manner that the bit width of the flash memory 12 is S bit and the small size is the toilet group. In particular, in some embodiments, the controller 1GQ completes the auto-play program (as shown in Figure 2) before the PCIRST# reset signal is aborted. The _from_take program and attribute data will be described in detail below. After the automatic reading process is executed, the attribute data of the flash memory 12 and the address of the block #1 of the boot code 122 can be flashed. Then, in step S420, the controller 11 configures the flash memory system based on the attribute data so that the memory is accessed in an optimized manner. In step S430, after the PCIRST# reset signal of the PCI bus is suspended, the control thief 110 uses the configured access mode to read the system configuration according to the address of the block #1 obtained by the automatic reading program. Information to make the system into the configuration of the slice group 1G1 and system memory (as shown in Figure 2, 220 and cycle T2). Usually, the system configuration information is the first to be executed by the boot code.

Client's Docket Ν〇 ·γΤΓΛ7 ΛΛ/Ι, TPs 祕 200931248 '一^刀’因而控制11 110會在pci匯流排重置完成之後(即 匕爪排重置k號線PCIRST#中止後),依據晶片組】⑴發 出的才曰令(未圖示)’讀取開機程式碼340的區塊#1中的系 統,置信息。在一個實施例當中,前述的晶片組工⑴可包含北 橋晶月,其所發出的指令為ROMSIP指令。 /之後,如步驟S440,在處理器重置訊號線cpURST#中止 後’即處理11完成重置作紐’通過PCI隱排讀取並執行開 機程式碼的區塊# 1的剩餘部分(如第2圖所示之23〇以及週期 T3\此開機程式碼的區塊#1的位址係等於開機程式碼122在 快閃記憶體120中的起始或基底位置。 、接下來,區塊#2可能連續地設置在區塊#1之後,也可能 不連續地放置在快閃記憶體12〇巾的任意位置中。因此,如步 驟S450 ’接著由區塊#1中得到一對照表位址。最後,如步驟 S460 ’再利用對照表位址得到一對照表τ,再參考對昭表τ找 到並執行開機程式瑪122的剩餘區塊,以進行整個系統的啓動 〇 2。對照表T中可包含區塊號碼以及魏塊對應的快閃記憶 ,立址。因此,可參考對絲T裡所記__區塊在開機程 式碼122的相對位置,依序找到每個剩餘區塊並順序讀取,以 將開機程式碼自快間記憶體中的讀出。請參照第3a圖, 程式碼122的剩餘區塊為區塊#2至區塊#4,因此可於二照 表τ中依序找到這些剩餘區塊並順序讀出。 ..... 第5圖顯示一依據本發明實施例之自 圖500。於此實施例中,假設有兩份開機程式瑪“= 憶體若為單片模式,則兩份開機程式碼存於同 丨穴「人]5己憶體晶Client's Docket Ν〇·γΤΓΛ7 ΛΛ/Ι, TPs Secret 200931248 '一^刀' thus controls 11 110 after the pci bus reset is completed (ie after the claw row resets the k line PCIRST# abort), according to the chipset (1) The issued command (not shown) reads the system in block #1 of the boot code 340 and sets the information. In one embodiment, the aforementioned chip set (1) may include a north bridge crystal, and the command issued is a ROMSIP command. / After, after step S440, after the processor resets the signal line cpURST# to stop, that is, the processing 11 completes the reset button, and reads and executes the remaining portion of the block #1 through the PCI implicit program (such as The address of the block #1 shown in Fig. 2 and the period T3 of the boot code is equal to the start or base position of the boot code 122 in the flash memory 120. Next, block # 2 may be continuously disposed after the block #1, or may be placed discontinuously in any position of the flash memory 12. Therefore, as in step S450', a reference table address is obtained from the block #1. Finally, in step S460', a comparison table τ is obtained by using the comparison table address, and then the remaining blocks of the booting program 122 are found and executed by referring to the table τ to perform the startup of the entire system. It can include the block number and the flash memory and address corresponding to the Wei block. Therefore, refer to the relative position of the __ block in the wire T in the boot code 122, and find each remaining block in order and sequentially. Read to read the boot code from the fast memory. Referring to FIG. 3a, the remaining blocks of the code 122 are from block #2 to block #4, so these remaining blocks can be sequentially found in the second table τ and sequentially read out. ..... 5 shows a self-illustration 500 according to an embodiment of the present invention. In this embodiment, it is assumed that there are two booting programs "= If the memory is in a single-chip mode, then two boot codes are stored in the same hole." ]5 recalled crystal

Clienfs Docket N〇.:VIC07-0041 TT s Docket No:0608-A41328-TW/Final/Jasonkung 15 200931248 -片内’若為多片模式,例如雙片模式,則兩份開機程式碼分別 放於一第一快閃記憶體晶片以及一第二快閃記憶體晶片中。 如圖所*,如步驟S510,根據第二暫存器15〇儲存之資 料152,決定存放有要讀取的開機程式碼之一檢查裝置。在雙 片模式的-實施例中,若資料152^〇, Μ表示檢查裝置係為 第-快閃記憶體晶片,否則檢查裝置則為第二快閃記 曰 片。 〜曰曰 接著,如步驟S520,以預設屬性資料讀取檢查裝置(快 閃記憶體)的第一個單位長度的資料。於本實施例中,因為每 份資料有一個備份資料且其資料為8位元,因此單位長度的資 料定義為32位元的資料。換言之,第一資料區塊31〇中的屬 性資料Β0以及Β1以及相關指標索引Ρ〇以及ρι將同時被讀 取。一開始時,並無法得知快閃記憶體真正的屬性資料,因此 先以預設的屬性資料例如匯流排寬度為8位元、分頁大小為2 仟位元組以及採用一個位元的錯誤更正碼(ECC)等,來讀取第 φ 一資料區塊的第一個16位元的資料。一個位元的錯誤更正碼 (ECC)可用以檢測並自動更正(修復)只有一個位元的錯誤的資 料’使其恢復成正_的原始資料。 其次,如步驟S530,檢查第一個單位長度的資料,得到 一有效資料》由於屬性資料B0以及B1已經被讀取,因此接 著檢查屬性資料B0 (350)是否有效。透過屬性資料B〇中位 元b7的錯誤檢查位元進行CRC檢查,判斷屬性資料6〇是否 正確。 如果屬性資料B0的CRC檢查結果為正確,則屬性資料Clienfs Docket N〇.:VIC07-0041 TT s Docket No:0608-A41328-TW/Final/Jasonkung 15 200931248 - On-chip 'If multi-chip mode, such as dual-chip mode, then two boot codes are placed in one The first flash memory chip and a second flash memory chip. As shown in Fig. 4, in step S510, based on the data 152 stored in the second register 15, the one of the booting codes to be read is determined to be stored. In the two-chip mode-embodiment, if the data is 152, Μ indicates that the inspection device is a first-flash memory chip, otherwise the inspection device is a second flash chip.曰曰 Next, in step S520, the data of the first unit length of the inspection device (flash memory) is read with the preset attribute data. In this embodiment, since each piece of data has one backup material and its data is 8 bits, the unit length data is defined as 32-bit data. In other words, the attribute data Β0 and Β1 in the first data block 31〇 and the related index indexes ρ and ρι will be read simultaneously. In the beginning, I can't know the true attribute data of the flash memory. Therefore, the default attribute data such as the bus width is 8 bits, the page size is 2 bytes, and the error correction is performed with one bit. Code (ECC), etc., to read the data of the first 16 bits of the φth data block. A bit error correction code (ECC) can be used to detect and automatically correct (fix) the wrong material with only one bit' to restore it to the original data of the positive_. Next, in step S530, the data of the first unit length is checked to obtain a valid data. Since the attribute data B0 and B1 have been read, it is checked whether the attribute data B0 (350) is valid. The CRC check is performed through the error check bit of the attribute b7 in the attribute data B, to determine whether the attribute data is correct. If the CRC check result of the attribute data B0 is correct, the attribute data

Client’s Docket N〇.:VIC07-0041 TT's Docket No:0608-A41328-TW/Final/Jas〇n3cung 200931248 為有效料。否則’接著檢查屬性的CRC檢查 靖祕新®確若正確則屬性資料B1即為有效資料。對於本 购,則:ί人士皆知,若採用1個位元的錯誤更正碼 tr—階層單元設計(single level eel1,SLc)的快閃記 二沾二右只發生—個位元的錯誤,則其備份資料應該是正 採用屬Ha若屬蹄料BG的CRC檢查結果為不正確,可改 採用屬性貧料B1為有效資料。 ❿ ❹ 步驟S54G ’根據有效資料,得到快閃記憶體之 的二° 3B I可根據有效資料的位元 二」、閃讀、體的目前工作模式為單片模式或多片模式。 存之‘ΓΓ50,據目前工作模式以及第一暫存器140儲 得到F貝 4要檢查之—記鐘他指標索引,並從而 仔到開機転式碼之區塊#1之位址。 程圖L6 Γ示另—依據本發明實施例之自動讀取程序之流 圖⑽’用以表示步驟S550的細部運作。 如,所示’若步驟s㈣中的目前卫作模 制〇,檢杳第-暫存執行步驟S620。於步驟 =資料142是否為,。,。若是,如步_4,檢杳 和標索引晴的CRC是否蛛若是(步驟s6M—的f體= 驟S616,決定記憶體位址指標索引〇(p〇 疋)如步 決定記憶體指標1(P1)為有效資料(步驟S6、、:厂,否則’ 體指標1讀取關程式碼之區_。 ,卩可依據記憶 若資料H2為,Γ (步_2的否),便執行步驟則,以Client’s Docket N〇.:VIC07-0041 TT's Docket No:0608-A41328-TW/Final/Jas〇n3cung 200931248 is an effective material. Otherwise 'and then check the CRC check of the attribute. If the secret version is correct, the attribute data B1 is valid. For this purchase, then: ί people know that if a one-bit error correction code tr-sleeve unit design (single level eel1, SLc) flash flashes two dips and two right-only one bit error, then The backup data should be correct if the CRC check result of the BG is the parent material, and the attribute poor material B1 can be used as the valid data. ❹ ❹ Step S54G ’ According to the valid data, the second memory 3B I of the flash memory can be obtained according to the bit 2 of the valid data, the flash reading, and the current working mode of the body are in the monolithic mode or the multi-chip mode.存 ΓΓ 50, according to the current working mode and the first register 140 to get the F shell 4 to check it - remember his index index, and thus the address of the block #1 of the boot code. The flowchart (10)' of the automatic reading program according to the embodiment of the present invention is used to indicate the detailed operation of the step S550. For example, if the current security model in step s (four) is shown, the first-temporary execution step S620 is checked. In step = whether the data 142 is,. ,. If yes, if step _4, check whether the CRC of the index and the index index is a spider (step s6M - f body = step S616, determine the memory address index index 〇 (p 〇疋) as determined by the memory index 1 (P1) ) is valid data (step S6, :: factory, otherwise 'body index 1 read the code area _., 卩 can be based on memory if the data H2 is, Γ (step _2 no), then the steps are executed, Take

Chent's Docket N〇.:VIC07-0041 TT's Docket ^:0608^41328^«13^〇^ 17 200931248 相同的預設屬性資料讀取檢查裝置中的快閃記憶體的第二個 單位長度的資料。類似地,第一資料區塊中的下一個32位元 的資料將被讀取,亦即,記憶體位址指標索引2(p2)以及記= 體位址指標索引3(P3)將被讀取。 ° ❹ ❹ 接著’於步驟S615,檢查記憶體位址指標索引2(ρ2)的crc 是否正確。若是(步驟S615的是),如步驟S617,決定記憶體 2址指標索引2CP2)為有效資料,否則,決定記憶體位址“ 索引3(P3)為有效資料’即依據記憶體指標3讀取開 之區塊#1。 八两 若目前工作模式為多片模式,則執行步驟_,檢 憶體位址指標索引〇的CRC是否正確。若是,如 一°, 決定記憶體健補“丨為有效魏,㈣,決 體指標1(P1)為有效資料(步驟S624)。 、 ’、疋° ’心 經由上述步驟之後,便可得到記錄有快閃記憶體 的有效資料以及記錄有開機程式碼的第—區塊的 =η ’便可利料些f料來設定控 矛王式碼。當讀取時,因為接 ^ 嗔取開機 ,若發 假叹在早通道模式下利用記 便將第-暫存H儲存14G ,,⑽ >)時, S610開始執行,即依據 叹’、,重新回到步驟 機程式碼。若在單通道模式下 '=^貝取備份的開 開機程序並遇私法終 °隨位址‘標索们執行Chent's Docket N〇.:VIC07-0041 TT's Docket ^:0608^41328^«13^〇^ 17 200931248 The same preset attribute data is read from the second unit length of the flash memory in the inspection device. Similarly, the next 32-bit data in the first data block will be read, that is, the memory address index index 2 (p2) and the record address index index 3 (P3) will be read. ° ❹ ❹ Next, in step S615, it is checked whether the crc of the memory address index index 2 (ρ2) is correct. If yes (YES in step S615), in step S617, the memory 2 index index 2CP2 is determined to be valid data; otherwise, the memory address "index 3 (P3) is valid data" is determined, that is, read according to the memory index 3. Block #1. If the current working mode is multi-chip mode, execute step _, check if the CRC of the memory address index index is correct. If yes, such as one °, determine the memory health compensation "丨 is effective Wei, (4) The target index 1 (P1) is valid data (step S624). After the above steps, you can get the valid data recorded with the flash memory and the =η ' of the block where the boot code is recorded, so that you can use the material to set the spear control. King code. When reading, because the device is powered on, if the sigh is stored in the early channel mode, the first temporary storage H stores 14G, (10) >), and the S610 starts executing, that is, according to the sigh, Go back to the step machine code. If in the single-channel mode, the '=^Bee backup backup is started and the private method ends.

Client’s Docket N〇.:VIC〇7-〇〇41 ir,sDw8.A4132^w/FinaWas_ , 修正的錯_,表示備份㈣料也發生錯Client’s Docket N〇.:VIC〇7-〇〇41 ir, sDw8.A4132^w/FinaWas_ , corrected error _, indicating that the backup (four) material also occurred wrong

Ulg 18 200931248 誤’因此開機失敗。 索引f讀取開機程式碼並遇到無法修'正己憶體位址指標 暫存器儲存150的資料152。若資料152 ^,,、時,便檢查第二 為,T,,並將第一暫在OT u 科 為0’,’則將其改設 测開始執行,的資料設為,π 1重新回到步驟 若資料152^,,2另一記憶體曰曰曰片中的苐—資料區塊。 失敗。 縣㈣份㈣料也發切誤,因此開機 ❹ ❹ 怜體H Γ根據上述自動讀取流程,於開機時,歸的 及開機= :其二::=:=:=: 對照表,再參考對照表找到並讀取開機程式碼的 顯然以上描述的快閃記憶體純的 碼讀物_應_ _單城物uw ^ :機= ?快=憶體。唯’由於MLC快閃記憶體的每個存儲單元 均可存儲2個位元’ _在判斷記憶體位址指標索引 疋為有效資料時,不能通過CRC來糾錯。雲於此,若快 ^憶體採用多階層單元設計時,則可使控制器110在自動讀取 私序中_人碩取1個扇區(sect〇r)的資料,並通過4位元的 ECC糾錯來判斷記憶體位址指標索引的内容是否正確。、 上述說明提供數種不同實施例或應用本發明之不同方 法。實例中的特定裝置以及方法係用以幫助闡釋本發明之主要 精神及目的,當然本發明不限於此。Ulg 18 200931248 Error 'So the boot failed. The index f reads the boot code and encounters the data 152 that cannot be repaired by the register address register. If the data 152 ^,,,, then the second is checked, T, and the first temporary is 0' in the OT u section, ' then it will be changed to set the test to start execution, the data set to π 1 back Go to the step if the data 152^, 2 is the 苐-data block in the other memory slice. failure. The county (four) copies (four) are also sent to the wrong, so the start ❹ 怜 pity H Γ according to the above automatic reading process, at the boot, return and boot =: 2::=:=:=: comparison table, then refer to The comparison table finds and reads the boot code. The above description of the flash memory pure code reading _ should be _ _ single city object uw ^ : machine = ? fast = memory. Only because each memory cell of the MLC flash memory can store 2 bits' _ when it is judged that the memory address index index is valid data, error correction cannot be performed by CRC. In this case, if the multi-level cell design is used in the fast memory, the controller 110 can automatically read the private sequence and take a sector (sect〇r) data and pass the 4-bit element. The ECC correction is used to determine whether the content of the memory address index is correct. The above description provides several different embodiments or different methods of applying the invention. The specific devices and methods in the examples are intended to help explain the main spirit and purpose of the invention, and the invention is not limited thereto.

Client’s Docket N〇.:VIC07-0〇41 TPs Docket No:〇6〇8-A41328-TW/Final/Jasonkung 19 200931248 ,然其並非用 本發明之精神 之保護範圍當 因此,雖然本發明已喊佳實施例揭露如 以限定本發明,任何熟悉此項技藝者,在不脫離 和範圍内,當可做些許更動與潤飾,因此本發明 視後附之申請專概_界定者為準。 【圖式簡單說明】Client's Docket N〇.:VIC07-0〇41 TPs Docket No:〇6〇8-A41328-TW/Final/Jasonkung 19 200931248, but it is not the scope of protection of the spirit of the present invention. Therefore, although the present invention has been shouted The invention is not limited to the scope of the invention, and the invention is intended to be modified and modified. [Simple description of the map]

第1圖顯示-依據本發明實施例之電子系統連接之示意 第2圖顯示—依據本發明實施例之系統之開機序列時序 第3A圖顯示一 之示意圖。 依據本發明實施例之'_㈣勸容配置1 shows an illustration of an electronic system connection in accordance with an embodiment of the present invention. FIG. 2 shows a timing sequence of a system according to an embodiment of the present invention. FIG. 3A shows a schematic diagram of FIG. '_(4) Persuasion configuration according to an embodiment of the present invention

圖 意圖 第3B圖顯示一依據本發明實施例之屬性資料區塊之示意 第3C圖顯示另—依據本發明實施例之屬性資料區塊之示 '第4圖顯示一依據本發明實施例於開機時之資料處理方 法之流程圖。 第5圖顯示一依據本發明實施例之自動讀取程序之流 圓 程 程圖 第6圖顯示另—依據本發明實施例之自動讀取程序之流 【主要元件符號說明】 100〜電子系統; 101〜晶片組;FIG. 3B shows a schematic diagram of an attribute data block according to an embodiment of the present invention. FIG. 3C shows another embodiment of an attribute data block according to an embodiment of the present invention. FIG. 4 shows an example of booting according to an embodiment of the present invention. A flow chart of the data processing method. 5 is a flow chart showing an automatic reading program according to an embodiment of the present invention. FIG. 6 is a view showing another flow of an automatic reading program according to an embodiment of the present invention. 101~ chipset;

Client's Docket No.:VIC〇7-〇〇41 TT's Docket No:0608-A41328-TW/Fmal/Jasonlamg 20 200931248 . 102〜處理器 110〜控制器; 120〜非揮發性記憶體; 122〜開機程式碼; 124〜屬性資料; 130〜記憶體匯流排; 14〇~第一暫存器; 150〜第二暫存器; Θ 142、152〜資料; 160〜PCI控制器; 170〜PCI滙流排; 180〜前端滙流排; 190〜電源管理單元; CPURST#、PCIRST#、NFRST#、PWRGD〜訊號線; 3 00〜快閃記憶體; 310〜第一資料區塊; 312、314〜位址; 320〜對照表位址; 330〜對照表T ; 340〜開機程式碼; 350、BO、B1、351、352、353、354〜屬性資料; 360、P0、PI、P2、P3〜位址指標索引資料; S410-S460-步驟; S510-S550〜步驟〜;Client's Docket No.: VIC〇7-〇〇41 TT's Docket No:0608-A41328-TW/Fmal/Jasonlamg 20 200931248 . 102~ processor 110~ controller; 120~ non-volatile memory; 122~ boot code 124~ attribute data; 130~memory bus; 14〇~first register; 150~second register; 142142,152~ data; 160~PCI controller; 170~PCI bus; 180 ~ front-end bus; 190 ~ power management unit; CPURST#, PCIRST#, NFRST#, PWRGD~ signal line; 3 00~ flash memory; 310~ first data block; 312, 314~ address; Comparison table address; 330~ comparison table T; 340~ boot code; 350, BO, B1, 351, 352, 353, 354~ attribute data; 360, P0, PI, P2, P3~ address index index data; S410-S460-step; S510-S550~step~;

Client's Docket No. :VIC07-0041 TT's Docket No:0608-A41328-TW/Final/Jasonkung 21 200931248 . S610 、 S612 、 S613 、 S614 、 S615 、 S616 、 S617 、 S618 、 S620、S622、S624、S630 〜步驟。Client's Docket No. : VIC07-0041 TT's Docket No: 0608-A41328-TW/Final/Jasonkung 21 200931248 . S610 , S612 , S613 , S614 , S615 , S616 , S617 , S618 , S620 , S622 , S624 , S630 ~ steps .

Client's Docket No. :VIC07-0041 TT5s Docket No:0608-A41328-TW/Final/Jasonkung 22Client's Docket No. :VIC07-0041 TT5s Docket No:0608-A41328-TW/Final/Jasonkung 22

Claims (1)

200931248 十、申請專利範圍: 1. 一種資料處理方法,適用於一電子系統,其中該電 子系統至少包括一非揮發性記憶體、連接至該非揮發性記 憶體的一記憶體匯流排以及一外圍匯流排,該非揮發性記 憶體具有至少一屬性資料以及一開機程式碼,該資料處理 方法包括下列步驟: 在該記憶體匯流排之一重置訊號中止後,依據一預設 屬性資料執行一自動讀取程序以由該非揮發性記憶體中得 ❹ 到該非揮發性記憶體之該至少一屬性資料以及該開機程式 碼之位址;以及 在該外圍匯流排之一重置訊號中止後,利用得到之該 至少一屬性資料以及該開機程式碼之位址,讀取該開機程 式碼至該外圍匯流排。 2. 如申請專利範圍第1項所述之資料處理方法,更包 括: 利用該開機程式碼之位址讀取該開機程式碼之一第一 ® 區塊,並由該第一區塊中得到一對照表位址;以及 利用該對照表位址得到一對照表,從而執行該開機程 式碼之至少一剩餘區塊。 3. 如申請專利範圍第1項所述之資料處理方法,更包 括: 讀取該非揮發性記憶體之一起始位置,得到一第一資 料區塊;以及 由該第一資料區塊,得到該至少一屬性資料以及該開 Client's Docket N〇.:VIC07-0041 TT5s Docket No:0608-A41328-TW/Final/Jasonkung 23 200931248 - 機程式碼之位址。 4. 如申請專利範圍第1項所述之資料處理方法,其中 該執行該自動讀取程序之步驟更包括: 根據一第一暫存器儲存之一資料,決定一檢查裝置; 以一預設屬性資料讀取該檢查裝置之一起始位置之一 第一單位長度資料;以及 檢查該第一單位長度資料,得到一有效資料。 5. 如申請專利範圍第4項所述之資料處理方法,其中 ® 該第一單位長度資料具有至少一錯誤檢查位元,該檢查該 第一單位長度資料之步驟更包括: 根據該錯誤檢查位元’決定該有效資料。 6. 如申請專利範圍第4項所述之資料處理方法,其中 該第一單位長度資料具有一原始資料以及一備份資料,該 原始資料以及該備份資料具有一錯誤檢查位元,該檢查該 第一單位長度資料之步驟更包括: 依據該原始資料之該錯誤檢查位元,判斷該原始資料 ❿ 是否正確;以及 若是,決定該原始資料為該有效資料, 其中該原始資料係與該備份資料相同。 7. 如申請專利範圍第6項所述之資料處理方法,更包 括: 若該原始資料係為不正確,決定該備份資料為該有效 資料。 8. 如申請專利範圍第6項所述之資料處理方法,其中 Client's Docket No.: VIC07-0041 TT’s Docket No:0608-A41328-TW/Final/Jasonkung 24 200931248 =資:係為一包括該至少一屬性資料 之位址之索引資料。 试柱式石馬 如申請專利範圍第4項所述之資料處 该執行該自動讀取程序之步驟更包括: -t ㈣t據财效資料’得到該非揮發性記«之-目前工 作模式’其中該目前 式,·以及 、已符弟以及-第二模 j該目前工作模式以及—第二暫存器儲存之 料,决疋欲檢查之一記憶體位址指標 機程式碼之位址。 *W Μ传到該開 二.如申請專利範圍第9項所述之資料處理方法,发中 疋欲檢查之該記憶體位址指標Μ之步驟更包括:、 由该第一單位長度資料中取得一一 φ HI ,ν «唆一 “ 弟屺憶體位址指標 索引以及一第一位址記憶體位址指標索引;以及 ❹ 模式係為該單片模式時,檢查該第二暫 存态之該賁料是否等於一預設值。 11·如申請專利帛H)項所述之資料處理方法,更 S*枯· 』若該第二暫存器之該資料等於該預設值,檢查該第一 δ己憶體位址指標索引是否正確; 當該第-記憶體位址指標索引正確時,決定欲檢查之 •己憶體位址指標索引係為該第—記憶體位址指標索引; 以及 當該第-記憶體位址指標索引係為不正確時,決定欲 Client's Docket N〇.:VIC07-0041 TT s Socket No:〇6〇8-A41328-TW/Final/Jasonkung 25 200931248 第二記憶體位址指標 檢查之該記憶體位址指標索引係為該 索引。 10項所述之資料處理方法,更 12.如申請專利範圍第 包括: 若該第二暫存ϋ之該㈣不等㈣值時,以該預 設屬性資料讀取該檢查裝置之一第二單位長度資料,其中 該第二單位長度資料係、於該第—單位長度資料之後; Ο200931248 X. Patent Application Range: 1. A data processing method for an electronic system, wherein the electronic system includes at least one non-volatile memory, a memory bus connected to the non-volatile memory, and a peripheral sink. The non-volatile memory has at least one attribute data and a boot code, and the data processing method comprises the following steps: after one of the memory bus stops resetting the signal, performing an automatic read according to a preset attribute data Taking the program to obtain the at least one attribute data of the non-volatile memory from the non-volatile memory and the address of the boot code; and after the reset signal of the peripheral bus is suspended, the use is obtained. The at least one attribute data and the address of the boot code are read from the boot code to the peripheral bus. 2. For the data processing method described in claim 1, the method further includes: reading, by using the address of the boot code, the first block of the boot code, and obtaining the first block from the first block a lookup table address; and using the lookup table address to obtain a lookup table to execute at least one remaining block of the boot code. 3. The data processing method of claim 1, further comprising: reading a starting position of the non-volatile memory to obtain a first data block; and obtaining the first data block At least one attribute data and the open Client's Docket N〇.: VIC07-0041 TT5s Docket No: 0608-A41328-TW/Final/Jasonkung 23 200931248 - The address of the program code. 4. The data processing method of claim 1, wherein the step of executing the automatic reading program further comprises: determining an inspection device according to a data stored in a first temporary storage; The attribute data reads one of the first unit length data of one of the starting positions of the inspection device; and checks the first unit length data to obtain a valid data. 5. The data processing method of claim 4, wherein the first unit length data has at least one error check bit, and the step of checking the first unit length data further comprises: checking the bit according to the error Yuan' determines the valid information. 6. The data processing method of claim 4, wherein the first unit length data has a source data and a backup data, the original data and the backup data having an error check bit, the check The step of one unit length of data further includes: determining whether the original data is correct according to the error check bit of the original data; and if so, determining that the original data is the valid data, wherein the original data is the same as the backup data . 7. If the data processing method described in item 6 of the patent application scope is further included, if the original data is incorrect, the backup data is determined to be the valid data. 8. The data processing method as described in claim 6, wherein Client's Docket No.: VIC07-0041 TT's Docket No: 0608-A41328-TW/Final/Jasonkung 24 200931248 = capital: one includes the at least one Index data of the address of the attribute data. The test column type stone horse, as in the information section mentioned in item 4 of the patent application scope, the step of executing the automatic reading procedure further includes: -t (four) t according to the financial effect data 'obtaining the non-volatile record «the current working mode' The current mode, the and the second mode, and the second mode j, the current working mode and the second temporary storage device, are determined to check the address of one of the memory address indicator code. *W Μ 到 该 . . 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如 如a φ HI , ν «唆一" 屺 屺 memory address index index and a first address memory address index index; and ❹ mode is the single mode, the second temporary state is checked Whether the material is equal to a preset value. 11·If the data processing method described in the patent application 帛H) is more S* dry· If the data of the second register is equal to the preset value, check the first Whether the index of the δ mnemonic address index is correct; when the index of the first-memory address index is correct, it is determined that the index of the replied address index to be checked is the index of the first-memory address index; and when the first-memory If the index of the body address index is incorrect, it is decided that Client's Docket N〇.:VIC07-0041 TT s Socket No:〇6〇8-A41328-TW/Final/Jasonkung 25 200931248 The second memory address indicator checks the memory Body address index The index is the index. The data processing method described in 10 items is further 12. If the scope of the patent application includes: if the (four) value of the second temporary storage is not equal to (4), the reading is performed by using the preset attribute data. Detecting a second unit length data of the device, wherein the second unit length data is after the first unit length data; 由該第二單位長度資料中取得—第三記憶體位址指標 索引以及一第四記憶體位址指標索引;以及 依據該第:記憶體位址指標索㈣及該第四記憶體位 址指標索5丨+之該錯誤檢查位元,決定該欲檢查之該記憶 體位址指標索引。 13.如申請專利範㈣i項所述之資料處理方法,立中 該屬性資料至少包括用以表示—匯流排寬度、—分頁大小 之資料。 Η.如申請專利_第〗項所述之資料處理方法,更包 括利用得到之該至少一屬性資料配置一控制器。 15. —種電子系統,包括: 一屬性資料以及一開 一非揮發性記憶體,其具有至少 機程式碼; —控制器,用以控制該非揮發性記憶體;以及 一記憶體匯流排’用以耦接該非揮發性記憶體以及該 —外圍匯流排,用以耦接至該控制器; CHenfs Docket N〇.:VIC07-0041 AT s DocketNo:0608-A4132S-TW/FinayJasonkung 26 200931248 其中該控制器在該記憶體匯流排之_重置訊號中止 後執行一自動讀取程序以由該非揮發性記憶體中得到該 非揮發性記憶體之該至少一屬性資料以及該開機程式碼之 位址,並在該外圍匯流排之該重置信號中止後,利用得到 之該至少一屬性資料以及該開機程式碼之位址,讀取該開 機程式碼至該外圍匯流排。Obtaining, by the second unit length data, a third memory address index index and a fourth memory address index index; and determining, according to the first: memory address index (4) and the fourth memory address index The error check bit determines the index of the memory address indicator to be checked. 13. If the data processing method described in item (4) i of the patent application is applied, the attribute data includes at least information indicating the width of the bus bar and the size of the page.资料. The method for processing data according to the application of the patent _ _, further comprising configuring a controller by using the obtained at least one attribute data. 15. An electronic system comprising: an attribute data and an open non-volatile memory having at least a computer code; a controller for controlling the non-volatile memory; and a memory bus The non-volatile memory and the peripheral bus bar are coupled to the controller; CHenfs Docket N〇.: VIC07-0041 AT s DocketNo: 0608-A4132S-TW/FinayJasonkung 26 200931248 wherein the controller After the reset signal of the memory bus is suspended, an automatic reading process is performed to obtain the at least one attribute data of the non-volatile memory and the address of the boot code from the non-volatile memory, and After the reset signal of the peripheral bus is suspended, the at least one attribute data and the address of the boot code are used to read the boot code to the peripheral bus. * 16.如申請專利範圍第15項所述之電子系統,更包括 -第-暫存器以及-第二暫存器’用以儲存關於該至少一 屬性資料以及該開機程式碼之位址之一檢查資訊。 17.如申請專利範圍f 15項所述之電子系統,盆中咳 ,機程式碼具有-第-區塊以及至少―剩餘區塊,該控制 盜更依據該開機程式碼之位址讀取該第—區塊,由該第一 區塊中付到-對照表位址’並湘該對照表㈣得到一對 照表,從而讀取該至少一剩餘區塊。 18·如申請專利第15項所狀電子* 16. The electronic system of claim 15, further comprising a - the first register and a second register for storing the at least one attribute data and the address of the boot code Check the information. 17. The electronic system as claimed in claim 15 , wherein the program code has a -th block and at least a "remaining block", and the control thief reads the address according to the address of the boot code. The first block, from which the control block address is received in the first block, and the comparison table (4) obtains a lookup table, thereby reading the at least one remaining block. 18·Electronics as claimed in Article 15 of the patent application 料至少包括用以表示一匯流排寬度以;一分 19. 如申請專利範圍第15項所述之電 非揮發性記憶體係為-NAND_㈣^ -中以 20. 一種資料處理方法,適用於一電子系統,其中該電 子系統包括一非揮發性記憶體、一一、以 =與該非揮發性記憶體之記憶體;流排以:一== 控制器之外圍匯流排,該非揮發性記憶體具有至Γΐ: 貧料,該資料處理方法包括下列步驟•· 屬 Client’s Docket N〇.:VIC07-0041 TTJs Docket No:0608-A41328-TW/Fina3/Jasonkung 27 200931248 . 在該記憶體匯流排之一重置訊號中止後,依據一預設 屬性資料以及一預設位址由該非揮發性記憶體中讀取該至 少一屬性資料;以及 於該外圍匯流排之一重置訊號中止前,利用得到之該 屬性資料配置該控制器。 21.如申請專利範圍第20項所述之資料處理方法,其 中該非揮發性記憶體還具有一開機程式碼以及該開機程式 碼之位址。 ❹ 22.如申請專利範圍第21項所述之資料處理方法,還 包括: 在該記憶體匯流排之一重置訊號中止後,依據該預設 屬性資料以及該預設位址由該非揮發性記憶體中讀取該開 機程式碼之位址;以及 在該外圍匯流排之一重置訊號中止後,利用該開機程 式碼之位址Ί買取該開機程式碼。 ❹ Client’s Docket N〇.:VIC07-0041 TT^ Docket No:0608-A41328-TW/Final/Jasonkung 28The material is at least included to indicate a bus bar width; one point 19. The electric non-volatile memory system as described in claim 15 is -NAND_(4)^-中中20. A data processing method for one electron a system, wherein the electronic system comprises a non-volatile memory, a memory for the non-volatile memory, and a memory bus with a === controller peripheral busbar, the non-volatile memory having Γΐ: Poor material, the data processing method includes the following steps: · Client's Docket N〇.: VIC07-0041 TTJs Docket No: 0608-A41328-TW/Fina3/Jasonkung 27 200931248 . Reset in one of the memory busbars After the signal is suspended, the at least one attribute data is read from the non-volatile memory according to a preset attribute data and a preset address; and the attribute is obtained before the one of the peripheral bus lines resets the signal suspension. The data is configured with the controller. 21. The data processing method of claim 20, wherein the non-volatile memory further has a boot code and an address of the boot code. ❹ 22. The data processing method of claim 21, further comprising: after the reset signal of the memory bus is suspended, the non-volatile according to the preset attribute data and the preset address The address of the boot code is read in the memory; and after the reset signal of the peripheral bus is suspended, the boot code is used to obtain the boot code. ❹ Client’s Docket N〇.:VIC07-0041 TT^ Docket No:0608-A41328-TW/Final/Jasonkung 28
TW097100038A 2008-01-02 2008-01-02 Electronic systems having non-volatile memories and related data processing methods TWI367420B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW097100038A TWI367420B (en) 2008-01-02 2008-01-02 Electronic systems having non-volatile memories and related data processing methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW097100038A TWI367420B (en) 2008-01-02 2008-01-02 Electronic systems having non-volatile memories and related data processing methods

Publications (2)

Publication Number Publication Date
TW200931248A true TW200931248A (en) 2009-07-16
TWI367420B TWI367420B (en) 2012-07-01

Family

ID=44865231

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097100038A TWI367420B (en) 2008-01-02 2008-01-02 Electronic systems having non-volatile memories and related data processing methods

Country Status (1)

Country Link
TW (1) TWI367420B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI383399B (en) * 2009-03-03 2013-01-21 Wistron Corp Embedded electronic device and method for storing data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI383399B (en) * 2009-03-03 2013-01-21 Wistron Corp Embedded electronic device and method for storing data

Also Published As

Publication number Publication date
TWI367420B (en) 2012-07-01

Similar Documents

Publication Publication Date Title
US9880754B2 (en) System and method for enabling transportability of a non volatile dual inline memory module
TWI605459B (en) Dynamic application of ecc based on error type
US9037812B2 (en) Method, apparatus and system for memory validation
TWI375151B (en) A controller for one type of nand flash memory for emulating another type of nand flash memory and methods for the same
TWI421679B (en) Error correction device and method thereof
US20160034351A1 (en) Apparatus and Method for Programming ECC-Enabled NAND Flash Memory
TW201230057A (en) Handling errors during device bootup from a non-volatile memory
KR20130100879A (en) Electronic apparatus, method for restore of mbr and computer-readable recording medium
US7783918B2 (en) Data protection method of storage device
CN106462480A (en) Techniques for handling errors in persistent memory
EP2502234A2 (en) Bit-replacement technique for dram error correction
KR20160106218A (en) Accessing data stored in a command/address register device
US9753849B2 (en) Methods for manufacturing and operating a memory device and a method for operating a system having the same
US10474473B2 (en) Technology to facilitate rapid booting with high-speed and low-speed nonvolatile memory
EP2787440A1 (en) Information processing device, program, and method
US20110093675A1 (en) Method for protecting redundant data
US9612908B2 (en) Performing memory data scrubbing operations in processor-based memory in response to periodic memory controller wake-up periods
TW201248392A (en) System and method for recovering data of a NVRAM
TWI731302B (en) Partial save of memory
JP2022112508A (en) Nonvolatile memory device, system, and method for fast, secure, resilient system boot
TWI534707B (en) Computer system, shutdown and boot method thereof
US9087569B2 (en) Non-volatile memory validity
TW200846896A (en) System for backing up and recovering data and method for the same applied to data processing apparatus
TW201101318A (en) Controller circuit having functions for identifying error data in flash memory and storage system and method thereof
TW200931248A (en) Electronic systems having non-volatile memories and related data processing methods