TWI537826B - 主晶片開機方法 - Google Patents
主晶片開機方法 Download PDFInfo
- Publication number
- TWI537826B TWI537826B TW100115845A TW100115845A TWI537826B TW I537826 B TWI537826 B TW I537826B TW 100115845 A TW100115845 A TW 100115845A TW 100115845 A TW100115845 A TW 100115845A TW I537826 B TWI537826 B TW I537826B
- Authority
- TW
- Taiwan
- Prior art keywords
- flash memory
- boot
- nand
- type flash
- page
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明是有關於一種主晶片開機方法。
在一般利用NAND型快閃記憶體進行開機的流程中,主晶片(main chip)需要知道NAND型快閃記憶體的配置資訊(包括頁大小(page size)、區塊大小(block size)及錯誤校正碼(error correction code,ECC)型態才能初始化NAND型快閃記憶體,繼而才能下達指令以讀取NAND型快閃記憶體。
傳統獲得NAND型快閃記憶體的配置資訊之方法有二:其一,可利用主晶片上的5根通用型輸入輸出(general purpose I/O,GPIO)腳位連接至NAND型快閃記憶體以獲得配置資訊。其中,2根通用型輸入輸出腳位用以獲得頁大小的資訊,2根通用型輸入輸出腳位用以獲得區塊大小的資訊,而剩餘的1根通用型輸入輸出腳位用以獲得錯誤校正碼型態的資訊。之後,主晶片即可依據由通用型輸入輸出腳位獲得的配置資訊初始化NAND型快閃記憶體。然而,利用通用型輸入輸出腳位將導致無法降低封裝成本。
其二,可將現有的NAND型快閃記憶體的辨識碼(identification,ID)及對應的配置資訊建成一開機表,並將此開機表記錄於一唯讀記憶體中。當利用NAND型快閃記憶體進行開機時,主晶片可從NAND型快閃記憶體讀取其辨識碼,再依據此辨識碼對唯讀記憶體中的開機表進行查表的動作,以得到對應的配置資訊。之後,主晶片即可依據由開機表獲得的配置資訊初始化NAND型快閃記憶體。然而,開機表所能記錄的僅為現有的NAND型快閃記憶體,故其不具擴充性,無法支援未來開發的新型的NAND型快閃記憶體。
本揭露是有關於一種主晶片開機方法,藉由將對應的開機表放置於NAND型快閃記憶體內,並利用軟體演算法進行開機,可以支援所有類型的NAND型快閃記憶體。
根據本揭露之第一方面,提出一種主晶片開機方法,包括下列步驟。主晶片搜尋一NAND型快閃記憶體之一當前區塊以從當前區塊之一當前頁讀取一開機表並驗證開機表之一開機檔頭。當開機檔頭通過驗證,主晶片檢查開機表之辨識碼是否相同於NAND型快閃記憶體之辨識碼。當開機表之辨識碼相同於NAND型快閃記憶體之辨識碼,主晶片讀取當前區塊之一下一頁並檢查儲存於當前頁與該下一頁之資料是否相同。當儲存於當前頁與下一頁之資料相同,主晶片讀取開機表之一配置資訊以初始化NAND型快閃記憶體並進行開機。
為了對本揭露之上述及其他方面有更佳的瞭解,下文特舉一實施例,並配合所附圖式,作詳細說明如下:
本揭露所提出之主晶片(main chip)開機方法,藉由將對應的開機表(boot table)放置於NAND型快閃記憶體(NAND Flash)內,並利用軟體演算法進行開機,可以支援所有類型的NAND型快閃記憶體。
請參照第1圖,其繪示依照一實施例之主晶片開機方法之流程圖。第1圖所揭露之主晶片開機方法實質上利用一NAND型快閃記憶體進行開機,此NAND型快閃記憶體具有M個區塊(block),每一個區塊包括N頁(page),M及N為正整數。在NAND型快閃記憶體的單一區塊中的每一頁實質上記錄相同的資料。
於步驟S100中,主晶片搜尋NAND型快閃記憶體之一第X區塊以從一第Y頁讀取一開機表,X跟Y為分別小於M及N之非負整數。在本揭露中,開機表例如包括一開機檔頭(boot header)、辨識碼(identification,ID)及對應此辨識碼之NAND型快閃記憶體的配置資訊(configuration information)等。其中,配置資訊至少包括NAND型快閃記憶體之頁大小(page size)、區塊大小(block size)或錯誤校正碼型態(ECC type)等。此開機表在本揭露中例如儲存於NAND型快閃記憶體的至少二區塊的前1024位元組中。此外,由於利用錯誤校正碼,故可以克服傳統利用NAND型快閃記憶體儲存資料容易產生資料遺失的缺點。
於步驟S110中,主晶片對開機表的開機檔頭進行驗證的動作。驗證的動作例如為判斷開機檔頭是否包含一驗證字串“BootFromNAND”。當開機檔頭未通過驗證,則表示目前的第X區塊並不是開機區塊,於是進入步驟S120,將X加1,再於步驟S125,判斷X是否等於M,若否,再回到步驟S100以對下一區塊進行搜尋。當開機檔頭通過驗證,則表示第X區塊為開機區塊。若X等於M,則代表所有區塊均非為開機區塊,故結束。
接續步驟S130,主晶片會從NAND型快閃記憶體讀取NAND型快閃記憶體之辨識碼,並檢查開機表之辨識碼是否相同於NAND型快閃記憶體之辨識碼。當開機表之辨識碼不同於NAND型快閃記憶體之辨識碼,則表示在第X區塊中的開機表記錄的資料可能產生錯誤,因此進入步驟S120,將X加1再回到步驟S100搜尋下一個開機區塊以讀取正確的開機表。
當開機表之辨識碼相同於NAND型快閃記憶體之辨識碼,則接續步驟S140,主晶片讀取第(Y+1)頁的資料。基於NAND型快閃記憶體的特性,同在第X區塊的第Y頁與第(Y+1)頁應儲存相同的資料。故於步驟S150中,主晶片檢查儲存在不同頁的資料是否相同。若不同,則進入步驟S152,將Y加1,再於步驟S154,判斷Y是否等於N,若否,則重復步驟S140及S150,直到有二頁儲存的資料是相同的。基於NAND型快閃記憶體的特性,步驟S140及S150更進一步地提高了在本揭露中NAND型快閃記憶體儲存資料的正確性。當Y等於N時,即表示當前區塊(block)的頁數(page)已經找到結尾還是沒有相符合的資料,故回到步驟S120找下一個區塊。
當儲存在不同頁的資料相同,例如第Y頁與第(Y+1)頁儲存的資料相同,則於步驟S160中,主晶片讀取相同頁資料中的開機表記錄的配置資訊以初始化NAND型快閃記憶體。之後,於步驟S170中,主晶片即可以進行開機。觀察上述本揭露之主晶片開機方法,內建在NAND型快閃記憶體的開機表只需記錄其自身的辨識碼及配置資訊,相較於傳統內建在唯讀記憶體之開機表需要記錄多數現有不同類型NAND型快閃記憶體的辨識碼及配置資訊,本揭露之主晶片開機方法節省了大量的記憶空間。
本案上述實施例所揭露之主晶片開機方法,藉由將對應的開機表放置於NAND型快閃記憶體內,故可節省大量記憶空間並解決傳統方法不具擴充性的問題。同時,本揭露利用錯誤校正碼(例如每512位元資料對應15位元錯誤校正碼)提高了資料的正確性,克服傳統NAND型快閃記憶體易產生資料遺失的問題。此外,由於本案之主晶片開機方法實質上利用軟體演算法進行開機,故不需要使用額外的通用型輸入輸出腳位,可節省腳位並降低封裝成本。
綜上所述,雖然本發明已以多個實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
第1圖繪示依照一實施例之主晶片開機方法之流程圖。
Claims (6)
- 一種用以初始化一NAND型快閃記憶體之方法,包括:提供該NAND型快閃記憶體,該NAND型快閃記憶體儲存一開機表,且該開機表係由該NAND型快閃記憶體的辨識碼來標記;搜尋該NAND型快閃記憶體之一當前區塊以讀取該開機表;以及讀取該開機表的配置資訊以初始化該NAND型快閃記憶體。
- 如申請專利範圍第1項所述之方法,其中該配置資訊至少包括該NAND型快閃記憶體之頁大小、區塊大小以及錯誤校正碼型態至少其一。
- 如申請專利範圍第1項所述之方法,更包括:驗證該開機表之一開機檔頭;當該開機檔頭未通過驗證,該主晶片搜尋一下一區塊以從該下一區塊讀取該開機表並驗證該開機檔頭。
- 如申請專利範圍第1項所述之方法,更包括:當該開機表之辨識碼不同於該NAND型快閃記憶體之該辨識碼,該主晶片搜尋一下一區塊以從該下一區塊讀取該開機表並驗證一開機檔頭。
- 如申請專利範圍第1項所述之方法,更包括:檢查該開機表之辨識碼是否相同於該NAND型快閃記憶體之該辨識碼;當該開機表之該辨識碼相同於該NAND型快閃記憶 體之該辨識碼,讀取該當前區塊之一下一頁並檢查儲存於該當前區塊之一當前頁與該下一頁之資料是否相同;當儲存於該當前頁與該下一頁之資料不同,讀取該當前區塊之另一頁並檢查儲存於該另一頁之資料是否相同於儲存於該當前頁或該下一頁之資料。
- 如申請專利範圍第1項所述之方法,其中該開機表儲存於該NAND型快閃記憶體的至少二區塊的前1024位元組中。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100115845A TWI537826B (zh) | 2011-05-05 | 2011-05-05 | 主晶片開機方法 |
US13/311,539 US20120284497A1 (en) | 2011-05-05 | 2011-12-05 | Booting method of main chip |
US14/812,597 US10146433B2 (en) | 2011-05-05 | 2015-07-29 | Method for initializing NAND flash serving as a booting device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100115845A TWI537826B (zh) | 2011-05-05 | 2011-05-05 | 主晶片開機方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201246074A TW201246074A (en) | 2012-11-16 |
TWI537826B true TWI537826B (zh) | 2016-06-11 |
Family
ID=47091054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100115845A TWI537826B (zh) | 2011-05-05 | 2011-05-05 | 主晶片開機方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US20120284497A1 (zh) |
TW (1) | TWI537826B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI537826B (zh) * | 2011-05-05 | 2016-06-11 | 聯詠科技股份有限公司 | 主晶片開機方法 |
TWI573033B (zh) * | 2016-01-14 | 2017-03-01 | 群聯電子股份有限公司 | 資料搜尋方法、記憶體儲存裝置及記憶體控制電路單元 |
CN106991036B (zh) * | 2016-01-20 | 2020-04-24 | 阿里巴巴集团控股有限公司 | 一种信息输入异常的提示方法和系统 |
CN106055361B (zh) * | 2016-05-31 | 2020-04-17 | 深圳市同泰怡信息技术有限公司 | 基于bmc的多种不同机型的集成式固件实现方法及系统 |
CN109976815B (zh) * | 2019-03-20 | 2022-03-29 | 深圳忆联信息系统有限公司 | 一种加速Nandboot的方法及其系统 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7287154B1 (en) * | 2004-02-02 | 2007-10-23 | Trimble Navigation Limited | Electronic boot up system and method |
JP4357331B2 (ja) * | 2004-03-24 | 2009-11-04 | 東芝メモリシステムズ株式会社 | マイクロプロセッサブートアップ制御装置、及び情報処理システム |
EP1681628B1 (en) * | 2005-01-14 | 2016-11-02 | Telefonaktiebolaget LM Ericsson (publ) | Method and device for initializing a booting procedure of a mobile device |
KR100708128B1 (ko) * | 2005-04-30 | 2007-04-17 | 삼성전자주식회사 | 낸드 플래시 메모리 제어 장치 및 방법 |
US8429326B2 (en) | 2005-09-12 | 2013-04-23 | Mediatek Inc. | Method and system for NAND-flash identification without reading device ID table |
JP4999325B2 (ja) * | 2005-12-21 | 2012-08-15 | ルネサスエレクトロニクス株式会社 | フラッシュメモリ |
KR100880379B1 (ko) * | 2006-05-25 | 2009-01-23 | 삼성전자주식회사 | 외부로부터 제공받는 부트 코드로 부팅되는 정보기기시스템 |
US7765393B1 (en) * | 2006-07-11 | 2010-07-27 | Network Appliance, Inc. | Method and system of embedding a boot loader as system firmware |
US8051204B2 (en) * | 2007-04-05 | 2011-11-01 | Hitachi, Ltd. | Information asset management system, log analysis server, log analysis program, and portable medium |
US7979667B2 (en) * | 2007-12-10 | 2011-07-12 | Spansion Llc | Memory array search engine |
US8171277B2 (en) * | 2008-07-02 | 2012-05-01 | Apple Inc. | Method and apparatus for booting from a flash memory without prior knowledge of flash parameter information |
CN102043651B (zh) | 2009-10-22 | 2013-07-03 | 鸿富锦精密工业(深圳)有限公司 | Nand闪存及其数据更新管理方法 |
US8443135B2 (en) * | 2009-10-27 | 2013-05-14 | Texas Instruments Incorporated | Exhaustive parameter search algorithm for interface with nand flash memory |
US8051329B1 (en) * | 2010-02-05 | 2011-11-01 | Netapp, Inc. | Method and system for initializing a computing system |
TWI456577B (zh) * | 2010-08-10 | 2014-10-11 | Hon Hai Prec Ind Co Ltd | 反及閘快閃記憶體啓動裝置及使用方法 |
US8621194B2 (en) * | 2010-08-31 | 2013-12-31 | Conexant Systems, Inc. | Processor NAND flash boot system and method |
US8417880B2 (en) * | 2010-11-01 | 2013-04-09 | Hong Kong Applied Science and Technology Research Institute Company Limited | System for NAND flash parameter auto-detection |
TWI537826B (zh) * | 2011-05-05 | 2016-06-11 | 聯詠科技股份有限公司 | 主晶片開機方法 |
CN103902461A (zh) * | 2012-12-27 | 2014-07-02 | 中兴通讯股份有限公司 | 不同Nand闪存兼容方法及装置 |
-
2011
- 2011-05-05 TW TW100115845A patent/TWI537826B/zh not_active IP Right Cessation
- 2011-12-05 US US13/311,539 patent/US20120284497A1/en not_active Abandoned
-
2015
- 2015-07-29 US US14/812,597 patent/US10146433B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TW201246074A (en) | 2012-11-16 |
US20120284497A1 (en) | 2012-11-08 |
US10146433B2 (en) | 2018-12-04 |
US20150378609A1 (en) | 2015-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI646783B (zh) | 解碼方法及儲存控制器 | |
TWI591631B (zh) | 更新記憶體內讀取電壓之系統與方法 | |
CN101427323B (zh) | 读取非易失性计算机存储器的系统和方法 | |
JP4933268B2 (ja) | フラッシュメモリシステムの起動動作 | |
TWI537826B (zh) | 主晶片開機方法 | |
US9431069B2 (en) | Management method for nonvolatile memory system following power-off | |
TWI661303B (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
US20130268746A1 (en) | System-on-chip and booting method thereof | |
US9519436B1 (en) | Memory erasing method, memory controller, and memory storage apparatus | |
US9274891B2 (en) | Decoding method, memory storage device, and memory controlling circuit unit | |
US9553608B2 (en) | Data storage device decoder and method of operation | |
TWI591482B (zh) | 資料保護方法、記憶體控制電路單元及記憶體儲存裝置 | |
US20080072119A1 (en) | Allowable bit errors per sector in memory devices | |
CN106776105B (zh) | 一种系统启动文件的校验及编译方法 | |
TWI594188B (zh) | 系統單晶片及其開機方法 | |
TW201913380A (zh) | 資料儲存裝置以及其操作方法 | |
TW201833421A (zh) | 可更新韌體的電子鎖系統 | |
TWI658402B (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI474163B (zh) | 基本輸入輸出系統的存取系統及方法 | |
JP2008262574A (ja) | 高信頼性ファイルシステム | |
TWI698748B (zh) | 資料儲存裝置、存取裝置及資料處理方法 | |
JP4656063B2 (ja) | メモリカードの特定方法 | |
JP4157575B2 (ja) | ウエアレベリング可能なファイルシステム | |
CN102779049B (zh) | 主芯片开机方法 | |
CN110391815B (zh) | 解码方法及储存控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |