TWI514281B - A sata storage device with spi interface, using this device for boot up and bios code update method thereof - Google Patents

A sata storage device with spi interface, using this device for boot up and bios code update method thereof Download PDF

Info

Publication number
TWI514281B
TWI514281B TW103129636A TW103129636A TWI514281B TW I514281 B TWI514281 B TW I514281B TW 103129636 A TW103129636 A TW 103129636A TW 103129636 A TW103129636 A TW 103129636A TW I514281 B TWI514281 B TW I514281B
Authority
TW
Taiwan
Prior art keywords
basic input
sata
interface
output system
control unit
Prior art date
Application number
TW103129636A
Other languages
Chinese (zh)
Other versions
TW201502991A (en
Inventor
Chun Te Yu
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 filed Critical
Priority to TW103129636A priority Critical patent/TWI514281B/en
Publication of TW201502991A publication Critical patent/TW201502991A/en
Application granted granted Critical
Publication of TWI514281B publication Critical patent/TWI514281B/en

Links

Landscapes

  • Stored Programmes (AREA)

Description

具SPI介面的SATA儲存裝置、應用該SATA儲存裝置之開機方法及基本輸入輸出系統程式碼更新方法SATA storage device with SPI interface, booting method using the SATA storage device, and updating method of basic input/output system code

本發明係有關於一種SATA儲存裝置,尤指一種安裝於個人電腦系統中使該電腦系統不需使用基本輸入輸出系統唯讀記憶體(BIOS ROM)的具SPI介面的SATA儲存裝置、應用該SATA儲存裝置之開機方法及基本輸入輸出系統程式碼更新方法。The present invention relates to a SATA storage device, and more particularly to an SPI storage device with an SPI interface installed in a personal computer system so that the computer system does not need to use a basic input/output system read only memory (BIOS ROM). The booting method of the storage device and the method for updating the code of the basic input/output system.

個人電腦中的基本輸入輸出系統記憶體自1980年代使用的唯讀記憶體(ROM, Read-only memory)發展為現今的NOR快閃記憶體(Flash memory),其容量也由當初的16KB發展到128KB或更高,編輯BIOS時所使用之電腦語言也由組合語言發展到C語言。傳統BIOS唯讀記憶體(ROM)使用ISA與X-BUS介面,自1998年起個人電腦則使用LPC(Low Pin Count)匯流排介面,現在則使用串(序)列周邊介面(SPI, Serial Peripheral Interface) 匯流排。使用SPI介面的優點是腳位少可以進一步節省成本,SPI只需4個訊號即可,包括主輸出從輸入MOSI(Master Output Slave Input)、主輸入從輸出MISO(Master Input Slave Output)、串列時脈SCK(Serial Clock)及從選擇SS(Slave Select)等。The basic input/output system memory in personal computers has evolved from the Read-only memory (ROM) used in the 1980s to the current NOR flash memory. Its capacity has also grown from the original 16KB. 128KB or higher, the computer language used to edit the BIOS has also evolved from a combined language to C. The traditional BIOS read-only memory (ROM) uses the ISA and X-BUS interface. Since 1998, the personal computer has used the LPC (Low Pin Count) bus interface, and now uses the serial (serial) column peripheral interface (SPI, Serial Peripheral). Interface) Bus. The advantage of using the SPI interface is that the pin position can save further cost. The SPI only needs 4 signals, including the main output from the input MOSI (Master Output Slave Input), the main input from the output MISO (Master Input Slave Output), the serial Clock SCK (Serial Clock) and slave SS (Slave Select).

  當電腦的電源開啟後第一時間T1,CPU就會讀取BIOS程式碼到動態隨機存取記憶體中執行,首先完成電源開機自我測試POST(Power-on Self-test),將系統晶片組和記憶體等子系統初始化。BIOS程式碼也包含診斷功能,以保證某些重要硬體元件,像是鍵盤、磁碟裝置、輸出輸入埠等等,可以正常運作且正確地初始化。幾乎所有的BIOS都可以選擇性地執行CMOS記憶體的設定程式;也就是保存BIOS會存取的使用者自訂設定資料(時間、日期、硬碟機細節,等等)。最後BIOS程式碼會將作業系統儲存裝置的主要開機紀錄MBR並把權力交給MBR(開機第二時間T2),MBR則陸續將作業系統所有檔案載入動態隨機存取記憶體中並執行。When the computer's power is turned on for the first time T1, the CPU will read the BIOS code into the dynamic random access memory, first complete the power-on self-test POST (Power-on Self-test), the system chipset and Subsystem initialization such as memory. The BIOS code also includes diagnostics to ensure that certain important hardware components, such as keyboards, disk devices, output inputs, etc., function properly and are properly initialized. Almost all BIOSes can optionally execute CMOS memory settings; that is, save user-defined settings (time, date, hard drive details, etc.) that the BIOS will access. Finally, the BIOS code will transfer the main boot record MBR of the operating system storage device to the MBR (the second time T2), and the MBR will load all the files of the operating system into the dynamic random access memory and execute them.

  而一般電腦出售後也常有BIOS程式碼更新版本的動作。現在更新BIOS版本的方式通常是電腦使用者透過網路,從電腦製造商網站上抓取更新的版本,下載後執行BIOS更新程式(開機第三時間T3),將新的BIOS 程式碼燒錄(Programing)至BIOS記憶體中。所以燒錄新BIOS程式碼時,須先抹除(Erase)BIOS記憶體後才能燒錄(Programing)新的程式碼,一般說來,燒錄一個新的BIOS程式碼約需數分鐘時間。And after the general computer is sold, there are often actions to update the version of the BIOS code. The way to update the BIOS version is usually that the computer user crawls the updated version from the computer manufacturer's website through the Internet. After downloading, the BIOS update program is executed (the third time T3 is turned on), and the new BIOS code is burned ( Programing) to the BIOS memory. Therefore, when burning the new BIOS code, you must erase the (Erase) BIOS memory before programming the new code. Generally speaking, it takes about several minutes to burn a new BIOS code.

  並目前快閃記憶體(Flash memory)可分為NOR快閃記憶體(NOR flash)或NAND 快閃記憶體(以下NAND flash),其特性係如下述:At present, the flash memory can be divided into NOR flash memory (NOR flash) or NAND flash memory (hereinafter NAND flash), and its characteristics are as follows:

(a) NOR快閃記憶體:因內部位址儲存連續,故適合儲存程式碼且可支持處理器以「原地執行」(Execute in place,XIP)方式直接於NOR快閃記憶體上進行運算,然而,NOR快閃記憶體之結構精密複雜,製造成本高,並不適合儲存大容量(例如超過16MB)之檔案。所以,現在的BIOS 都使用NOR 快閃記憶體。(a) NOR flash memory: Because the internal address is stored continuously, it is suitable for storing code and can support the processor to perform operations directly on the NOR flash memory by Execute in place (XIP). However, the structure of the NOR flash memory is complicated and complicated, and the manufacturing cost is high, and it is not suitable for storing a large-capacity (for example, more than 16 MB) file. Therefore, the current BIOS uses NOR flash memory.

(b) NAND快閃記憶體:因生產結構較簡易、單位面積可儲存之容量較大且寫入與擦除速度較快,故NAND快閃記憶體相較於NOR快閃記憶體,更適於儲存低成本之檔案,因此固態硬碟(Solid State Disk,SSD)或SATA DOM常以NAND 快閃記憶體之陣列實現,一筆相同大小的檔案寫入NOR快閃記憶體與NAND快閃記憶體,很明顯的NOR快閃記憶體需花費更多時間,通常是數百倍時間。(b) NAND flash memory: NAND flash memory is more suitable than NOR flash memory because of its simple production structure, large storage capacity per unit area, and fast write and erase speeds. For storing low-cost files, solid state disks (SSDs) or SATA DOMs are often implemented as arrays of NAND flash memory, and a file of the same size is written to NOR flash memory and NAND flash memory. It is obvious that NOR flash memory takes more time, usually hundreds of times.

  SATA DOM (SATA Disk-On-Module) 的基本結構與SSD相同,兩者主要差異為容量不同,另外,SATA DOM 通常其外觀如一張小卡片的結構,或者一個小PCBA或稱模組,而SSD通常設計成與硬碟機(HDD)相同的外觀尺寸(Form factor)。此外,目前SATA DOM只支援SATA介面。The basic structure of SATA DOM (SATA Disk-On-Module) is the same as that of SSD. The main difference is that the capacity is different. In addition, SATA DOM usually looks like a small card structure, or a small PCBA or module, and SSD. It is usually designed to have the same form factor as a hard disk drive (HDD). In addition, the SATA DOM currently only supports the SATA interface.

  傳統上,個人電腦使用BIOS 記憶體有一些缺點:一是材料成本及燒錄BIOS程式碼的間接製造成本,且電腦出售後BIOS 版本更新也不方便,另外當BIOS 記憶體中毒或毀損時,該電腦必須送修,而替換新的BIOS 記憶體也同樣耗費人力成本。有鑑於習知技術之各項問題,需要一個解決方案來解決上述問題。Traditionally, the use of BIOS memory in personal computers has some disadvantages: one is the cost of materials and the indirect manufacturing cost of burning BIOS code, and the BIOS version is not convenient after the computer is sold. In addition, when the BIOS memory is poisoned or damaged, The computer must be repaired, and replacing the new BIOS memory is also labor intensive. In view of the problems of the prior art, a solution is needed to solve the above problems.

  是以,要如何解決上述習用之問題與缺失,即為本案之發明人與從事此行業之相關廠商所亟欲研究改善之方向所在者。Therefore, how to solve the above problems and problems in the past, that is, the inventors of this case and the relevant manufacturers engaged in this industry are eager to study the direction of improvement.

爰此,為有效解決上述之問題,本發明之主要目的在提供一種使用該SATA儲存裝置其內快閃記憶體陣列的基本輸入輸出系統程式碼取代傳統的電腦主機上的BIOS記憶體,藉以達到節省成本及更新簡單便利性佳之效果的具SPI介面的SATA儲存裝置。Therefore, in order to effectively solve the above problems, the main object of the present invention is to provide a BIOS that uses the basic input/output system code of the internal flash memory array of the SATA storage device to replace the BIOS memory on the conventional computer host. SATA storage device with SPI interface that saves costs and updates the convenience and convenience.

  本發明之另一目的係提供一種具有使用該SATA儲存裝置其內快閃記憶體陣列的基本輸入輸出系統程式碼取代傳統的電腦主機上的BIOS記憶體,藉以達到節省成本及快速維修之效果的應用該SATA儲存裝置之開機方法。Another object of the present invention is to provide a BIOS having a basic input/output system code using an internal flash memory array of the SATA storage device to replace the BIOS memory on a conventional computer host, thereby achieving cost saving and rapid maintenance. Apply the boot method of the SATA storage device.

  本發明之另一目的係提供一種具有使用該SATA儲存裝置其內快閃記憶體陣列的基本輸入輸出系統程式碼取代傳統的電腦主機上的BIOS記憶體,藉以達到節省成本、更新簡單便利性佳及快速維修之效果的應用該SATA儲存裝置之基本輸入輸出系統程式碼更新方法。Another object of the present invention is to provide a BIOS with a basic input/output system code of an internal flash memory array using the SATA storage device, thereby achieving cost saving and simple update convenience. And the effect of rapid maintenance is applied to the basic input/output system code update method of the SATA storage device.

  為達上述目的,本發明係提供一種具SPI介面的SATA儲存裝置,係應用於一無基本輸入輸出系統唯讀記憶體之電腦系統上,該SATA儲存裝置包括一快閃記憶體陣列及一控制單元,該快閃記憶體陣列係用以儲存一第一基本輸入輸出系統程式碼及一作業系統,該控制單元的一側係耦接該快閃記憶體陣列,其另一側耦接相對該電腦系統,並該控制單元包含一具有韌體程式之韌體及一隨機存取記憶體,該隨機存取記憶體係用以作為該控制單元執行韌體程式運算與資料的暫存區,所以當開機時,該控制單元係執行該韌體之韌體程式,從該快閃記憶體陣列內的第一基本輸入輸出系統程式碼搬移至該隨機存取記憶體內後,再傳送給該電腦系統;透過本發明具有SPI介面的SATA儲存裝置的設計,使得能有效取代傳統的電腦主機上的BIOS記憶體,藉以達到節省成本與更新簡單便利性佳及快速維修之效果。To achieve the above objective, the present invention provides a SATA storage device with an SPI interface for use in a computer system without a basic input/output system read-only memory, the SATA storage device including a flash memory array and a control The flash memory array is configured to store a first basic input/output system code and an operating system. One side of the control unit is coupled to the flash memory array, and the other side is coupled to the flash memory array. a computer system, and the control unit comprises a firmware with a firmware and a random access memory, and the random access memory system is used as a temporary storage area for performing firmware programming and data as the control unit, so When booting, the control unit executes the firmware of the firmware, and moves the first basic input/output system code in the flash memory array to the random access memory, and then transmits the code to the computer system; The design of the SATA storage device with the SPI interface of the present invention can effectively replace the BIOS memory on the traditional computer host, thereby achieving cost saving and updating. Convenience and fast service of good results.

  本發明係另提供一種應用該SATA儲存裝置之開機方法,係應用於一無基本輸入輸出系統唯讀記憶體之電腦系統上,該SATA儲存裝置包含一快閃記憶體陣列、一第一SPI介面、一第一SATA介面及一耦接該快閃記憶體陣列之控制單元,該快閃記憶體陣列儲存有一第一基本輸入輸出系統程式碼及一作業系統,該控制單元係分別耦接該第一SPI介面與第一SATA介面,且其包含一具有韌體程式之韌體及一隨機存取記憶體,並該電腦系統包含一電腦主機,該電腦主機具有一中央處理單元、一耦接該第一SPI介面之第二SPI介面、一耦接該第一SATA介面之第二SATA介面及一耦接該中央處理單元之動態隨機存取記憶單元,該開機方法首先啟動前述電腦系統進行開機,並該控制單元執行該韌體之韌體程式,讀取從該快閃記憶體陣列搬移到該隨機存取記憶體中的第一基本輸入輸出系統程式碼,並檢測該SPI介面,同時該電腦系統會進行硬體重置動作完後,該中央處理單元透過該第二SPI介面傳送一讀取訊號至該第一SPI介面,此時該控制單元檢測該SPI介面接收到所傳送的讀取訊號後,該控制單元將於該隨機存取記憶體內的第一基本輸入輸出系統程式碼透過該第一SPI介面傳送給該中央處理單元,接著該中央處理單元透過該第二SPI介面將接收到前述第一基本輸入輸出系統程式碼,搬移到該動態隨機存取記憶單元中直到全部讀取完成後,該中央處理單元則執行該第一基本輸入輸出系統程式碼並進行自我開機測試及起始化測試完後,便傳送一指令,然後該控制單元執行接收到該中央處理單元傳送的指令,讀取從該快閃記憶體陣列搬移到該隨機存取記憶體中的作業系統,並透過該第一SATA介面傳送給該中央處理單元,最後該中央處理單元透過該第二SATA介面將接收到的作業系統載入至該動態隨機存取記憶單元中,並執行載入的作業系統;透過本發明此開機方法的設計,使得能有效取代傳統的電腦主機上的BIOS記憶體,藉以達到節省成本與快速維修之效果。The invention further provides a booting method using the SATA storage device, which is applied to a computer system without a basic input/output system read-only memory, the SATA storage device comprises a flash memory array and a first SPI interface. a first SATA interface and a control unit coupled to the flash memory array, the flash memory array storing a first basic input/output system code and an operating system, wherein the control unit is coupled to the first An SPI interface and a first SATA interface, and comprising a firmware with a firmware and a random access memory, and the computer system includes a computer host having a central processing unit and a coupling a second SPI interface of the first SPI interface, a second SATA interface coupled to the first SATA interface, and a dynamic random access memory unit coupled to the central processing unit, the booting method first starting the computer system to boot, And the control unit executes the firmware of the firmware, and reads a first basic input/output system that is moved from the flash memory array to the random access memory. The control unit detects the SPI interface and detects the SPI interface. After the hardware system performs a hardware reset operation, the central processing unit transmits a read signal to the first SPI interface through the second SPI interface. After the SPI interface receives the transmitted read signal, the control unit transmits the first basic input/output system code in the random access memory to the central processing unit through the first SPI interface, and then the central processing The unit transmits the first basic input/output system code to the dynamic random access memory unit through the second SPI interface, and after the reading is completed, the central processing unit executes the first basic input/output system. After the code and the self-boot test and the initialization test are completed, an instruction is transmitted, and then the control unit executes the instruction received by the central processing unit, and the read is moved from the flash memory array to the random access. The operating system in the memory is transmitted to the central processing unit through the first SATA interface, and finally the central processing unit transmits the The second SATA interface loads the received operating system into the dynamic random access memory unit and executes the loaded operating system; the design of the booting method of the present invention enables the BIOS to be effectively replaced by the traditional computer host Memory, in order to achieve cost savings and rapid maintenance.

  本發明係另提供一種應用該SATA儲存裝置之基本輸入輸出系統程式碼更新方法,係應用於一無基本輸入輸出系統唯讀記憶體之電腦系統上,該SATA儲存裝置包含一快閃記憶體陣列、一第一SPI介面、一第一SATA介面及一耦接該快閃記憶體陣列之控制單元,該快閃記憶體陣列係用以儲存一第一基本輸入輸出系統程式碼、一第二基本輸入輸出系統程式碼、一基本輸入輸出系統更新程式及一作業系統,該控制單元係分別耦接該第一SPI介面與第一SATA介面,且其包含一具有韌體程式之韌體及一隨機存取記憶體,並該電腦系統包含一電腦主機,該電腦主機具有一中央處理單元、一耦接該第一SPI介面之第二SPI介面、一耦接該第一SATA介面之第二SATA介面及一耦接該中央處理單元之動態隨機存取記憶單元,該基本輸入輸出系統程式碼更新方法首先當使用者欲更新為該第二基本輸入輸出系統程式碼時,該控制單元透過該第一SATA介面將被搬移到該快閃記憶體內的基本輸入輸出系統更新程式傳送該中央處理單元,令該中央處理單元透過一第二SATA介面接收並執行該基本輸入輸出系統更新程式,令該基本輸入輸出系統更新程式被載入至該動態隨機存取記憶單元中執行,並傳送一基本輸入輸出系統更新指令,接著該控制單元透過該第一SATA介面接收到該基本輸入輸出系統更新指令後,將該第二基本輸入輸出系統程式碼複製至該快閃記憶體中的一指定區塊中,此時該控制單元將於該指定區塊中的第二基本輸入輸出系統程式碼的啟用旗標設為開啟,同時將先前於該指定區塊內的第一基本輸入輸出程式碼設為關閉後完成更新;透過本發明此基本輸入輸出系統程式碼更新方法的設計,使得能有效取代傳統的電腦主機上的BIOS記憶體,藉以達到節省成本、更新簡單便利性佳及及快速維修之效果。The present invention further provides a method for updating a basic input/output system code using the SATA storage device, which is applied to a computer system without a basic input/output system read-only memory, the SATA storage device comprising a flash memory array. a first SPI interface, a first SATA interface, and a control unit coupled to the flash memory array, the flash memory array is configured to store a first basic input/output system code, a second basic An input/output system code, a basic input/output system update program, and an operating system, wherein the control unit is coupled to the first SPI interface and the first SATA interface, and includes a firmware with a firmware and a random Accessing the memory, the computer system includes a computer host having a central processing unit, a second SPI interface coupled to the first SPI interface, and a second SATA interface coupled to the first SATA interface And a dynamic random access memory unit coupled to the central processing unit, the basic input/output system code update method firstly when the user wants to update to the second When the basic input/output system code is used, the control unit transmits the central processing unit to the basic input/output system update program that is moved to the flash memory through the first SATA interface, so that the central processing unit transmits a second SATA interface. Receiving and executing the basic input/output system update program, causing the basic input/output system update program to be loaded into the dynamic random access memory unit for execution, and transmitting a basic input/output system update command, and then the control unit transmits the After receiving the basic input/output system update command, the SATA interface copies the second basic input/output system code to a designated block in the flash memory, and the control unit will be in the designated block at this time The enable flag of the second basic input/output system code is set to be on, and the first basic input/output code previously in the specified block is set to be closed to complete the update; the basic input/output system is provided by the present invention. The code update method is designed to effectively replace the BIOS memory on the traditional computer host. In order to achieve cost savings, simple and convenient update, and rapid maintenance.

1‧‧‧SATA儲存裝置1‧‧‧SATA storage device

11‧‧‧快閃記憶體陣列11‧‧‧Flash Memory Array

111‧‧‧第一基本輸入輸出系統程式碼111‧‧‧First basic input and output system code

112‧‧‧作業系統112‧‧‧Operating system

113‧‧‧啟用旗標113‧‧‧Enable flag

114‧‧‧第二基本輸入輸出系統程式碼114‧‧‧Second basic input and output system code

115‧‧‧基本輸入輸出系統更新程式115‧‧‧Basic input and output system update program

13‧‧‧控制單元13‧‧‧Control unit

14‧‧‧韌體14‧‧‧ Firmware

15‧‧‧隨機存取記憶體15‧‧‧ Random access memory

16‧‧‧第一SPI介面16‧‧‧First SPI interface

17‧‧‧第一SATA介面17‧‧‧First SATA interface

2‧‧‧電腦系統2‧‧‧ computer system

21‧‧‧電腦主機21‧‧‧Computer host

211‧‧‧中央處理單元211‧‧‧Central Processing Unit

212‧‧‧動態隨機存取記憶單元212‧‧‧ Dynamic Random Access Memory Unit

213‧‧‧第二SPI介面213‧‧‧Second SPI interface

214‧‧‧第二SATA介面214‧‧‧Second SATA interface

23‧‧‧顯示單元23‧‧‧Display unit

24‧‧‧輸入單元24‧‧‧ Input unit

25‧‧‧電源供應單元25‧‧‧Power supply unit

第1圖係為本發明之第一較佳實施例之方塊示意圖。BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram showing a first preferred embodiment of the present invention.

第2圖係為本發明之第一較佳實施例之SATA儲存裝置與電腦系統耦接之方塊示意圖。2 is a block diagram showing the coupling of a SATA storage device and a computer system according to a first preferred embodiment of the present invention.

第3圖係為本發明之第二較佳實施例之開機流程示意圖。Figure 3 is a schematic diagram of the booting process of the second preferred embodiment of the present invention.

第4圖係為本發明之第二較佳實施例之更新流程示意圖。Figure 4 is a schematic diagram showing the updating process of the second preferred embodiment of the present invention.

本發明之上述目的及其結構與功能上的特性,將依據所附圖式之較佳實施例予以說明。The above object of the present invention, as well as its structural and functional features, will be described in accordance with the preferred embodiments of the drawings.

  本發明係一種具SPI介面的SATA儲存裝置、應用該SATA儲存裝置之開機方法及基本輸入輸出系統程式碼更新方法。請參閱第1、2圖式,係本創作之第一較佳實施例之方塊示意圖;於該本較佳實施例之具SPI(Serial Peripheral Interface)介面的SATA儲存裝置1係以SATA電子硬碟(Disk On Module,DOM),可簡稱為SPI-SATA DOM做說明,但並不侷限於此;於具體實施時,本創作之SATA儲存裝置亦可選擇為一SATA固態硬碟或一SATA硬碟機,亦即SATA固態硬碟具有SPI介面,SATA硬碟機具有SPI介面。該SATA儲存裝置1係應用於一無基本輸入輸出系統唯讀記憶體之電腦系統2上,該SATA儲存裝置1(SATA DOM)包括一快閃記憶體陣列11、一第一SPI(Serial Peripheral Interface)介面16、一第一SATA介面17及一控制單元13,該快閃記憶體陣列11係具有複數NAND快閃記憶體,該等NAND快閃記憶體係用以儲存複數第一基本輸入輸出系統(Basic Input Output System,如下簡稱BIOS)程式碼111、複數啟用旗標113、一第二基本輸入輸出系統(BIOS)程式碼114、一基本輸入輸出系統(BIOS)更新程式115、一作業系統112及其他應用程式與資料,其中於該較佳實施例之第一BIOS程式碼111係以複數個BIOS程式碼做說明,但並不侷限於此,於具體實施時,亦可選擇設計該快閃記憶體陣列11內只儲存一個第一BIOS程式碼111。The present invention relates to a SATA storage device with an SPI interface, a booting method using the SATA storage device, and a method for updating a basic input/output system code. Please refer to the first and second embodiments, which are block diagrams of the first preferred embodiment of the present invention. The SATA storage device 1 with the SPI (Serial Peripheral Interface) interface in the preferred embodiment is a SATA electronic hard disk. (Disk On Module, DOM), which can be referred to as SPI-SATA DOM for short, but is not limited to this; in the implementation, the SATA storage device of this creation can also be selected as a SATA solid state drive or a SATA hard drive. The SATA solid state drive has an SPI interface, and the SATA hard drive has an SPI interface. The SATA storage device 1 is applied to a computer system 2 having no basic input/output system read-only memory. The SATA storage device 1 (SATA DOM) includes a flash memory array 11 and a first SPI (Serial Peripheral Interface). The interface 16 is a first SATA interface 17 and a control unit 13. The flash memory array 11 has a plurality of NAND flash memories for storing a plurality of first basic input/output systems ( Basic Input Output System, hereinafter referred to as BIOS code 111, complex enable flag 113, a second basic input/output system (BIOS) code 114, a basic input/output system (BIOS) update program 115, an operating system 112, and Other applications and data, wherein the first BIOS code 111 of the preferred embodiment is described by a plurality of BIOS codes, but is not limited thereto. In the specific implementation, the flash memory may be selected and designed. Only one first BIOS code 111 is stored in the volume array 11.

  而前述複數第一BIOS程式碼111係儲存在其中一NAND快閃記憶體的一指定區塊(或稱為特定的記憶區塊)中,且該等第一BIOS程式碼111中僅有一第一BIOS程式碼111的啟用旗標113(Boot-Flag)設定為開啟,用以供控制單元13讀取;其中前述NAND快閃記憶體的指定區塊(Block)係為該作業系統112無法辨識的記憶區塊。前述第一SPI介面16係為控制單元13中第一BIOS程式碼111的傳輸介面,該第一SPI介面16的一端係耦接該電腦系統2,其另一端則耦接該控制單元13,用以供所述控制單元13將該快閃記憶體陣列11的第一BIOS程式碼111傳送給該電腦系統2上。 並該第一SATA介面17係為串列ATA(Serial ATA: Serial Advanced Technology Attachment),包含SATA1.0、SATA2.0、 SATA3.0、SATA Express、e SATA及爾後衍生新規格均屬之,且該第一SATA介面17之一端係耦接該電腦系統2,其另一端則耦接該控制單元13。The plurality of first BIOS code 111 is stored in a designated block (or a specific memory block) of one of the NAND flash memories, and only one of the first BIOS codes 111 is first. The enable flag 113 (Boot-Flag) of the BIOS code 111 is set to be on for reading by the control unit 13; wherein the designated block of the NAND flash memory is unrecognizable by the operating system 112. Memory block. The first SPI interface 16 is a transmission interface of the first BIOS code 111 in the control unit 13. One end of the first SPI interface 16 is coupled to the computer system 2, and the other end of the first SPI interface 16 is coupled to the control unit 13. The control unit 13 transmits the first BIOS code 111 of the flash memory array 11 to the computer system 2. The first SATA interface 17 is Serial ATA (Serial ATA: Serial Advanced Technology Attachment), and includes SATA 1.0, SATA 2.0, SATA 3.0, SATA Express, e SATA, and new derivatives. One end of the first SATA interface 17 is coupled to the computer system 2, and the other end is coupled to the control unit 13.

  而前述作業系統112係為如視窗作業系統112(Windows O.S.)、Unix、Linux Android等可在電腦系統2具有的一電腦主機21中運算與執行的任一作業系統112(即執行於個人電腦之作業系統112),該BIOS更新程式115為可在作業系統112環境下執行的一應用程式,當使用者取得新版本BIOS 程式碼(即第二BIOS程式碼114)後,得執行BIOS更新程式115將原先第一BIOS程式碼111更換為新版本BIOS 程式碼(即第二BIOS程式碼114)。The operating system 112 is any operating system 112 that can be operated and executed in a computer host 21 of the computer system 2, such as a Windows operating system 112 (Windows OS), Unix, Linux Android, etc. (ie, executed on a personal computer). The operating system 112), the BIOS update program 115 is an application executable in the environment of the operating system 112. After the user obtains the new version of the BIOS code (ie, the second BIOS code 114), the BIOS update program 115 is executed. The original first BIOS code 111 is replaced with a new version of the BIOS code (ie, the second BIOS code 114).

  前述控制單元13於該較佳實施例係以微處理器做說明,但不侷限於此;於具體實施時,亦可選擇為微控制器(MCU)或積體電路晶片等可燒錄韌體之控制單元13,該控制單元13可接收指令、執行判斷並控制快閃記憶體陣列11。而所述控制單元13的一側係耦接該快閃記憶體陣列11,其另一側耦接相對該電腦系統2,亦即如第2圖式,該控制單元13的一側係耦接該快閃記憶體陣列11,其另一側是分別透過該第一SPI介面16與第一SATA介面17電性連接相對的電腦系統2。The foregoing control unit 13 is described by a microprocessor in the preferred embodiment, but is not limited thereto; in the specific implementation, it can also be selected as a programmable controller such as a microcontroller (MCU) or an integrated circuit chip. The control unit 13 can receive instructions, perform judgments, and control the flash memory array 11. One side of the control unit 13 is coupled to the flash memory array 11 and the other side of the control unit 13 is coupled to the computer system 2, that is, as shown in FIG. 2, one side of the control unit 13 is coupled. The other side of the flash memory array 11 is a computer system 2 that is electrically connected to the first SATA interface 17 through the first SPI interface 16 .

  續參閱第1、2圖式,該控制單元13包含一具有韌體程式之韌體14及一隨機存取記憶體15,該隨機存取記憶體15(Random Access Memory,RAM)係用以作為該控制單元13執行該韌體14之韌體程式運算與資料的暫存區,所以當開機時,該控制單元13係執行該韌體14之韌體程式,從該快閃記憶體陣列11內的第一基本輸入輸出系統程式碼111搬移至該隨機存取記憶體15內後,再傳送給該電腦系統2,亦即當電腦系統2開機時,該控制單元13係執行該韌體程式,讀取其中一NAND快閃記憶體的指定區塊中啟用旗標113設為開啟(ON)的第一BIOS程式碼111後,透過該第一SPI介面16傳送給連接的電腦系統2。
  前述電腦系統2包含前述無基本輸入輸出系統唯讀記憶體(BIOS ROM)之電腦主機21、一顯示單元23、一輸入單元24及一電源供應單元25,該顯示單元23(如LCD螢幕)與輸入單元24係分別電性連接該電腦主機21,該電源供應單元25係為電腦系統2的電源供應,包括電源開關及各級不同電位之電能供應,換言之,就是該電源供應單元25用以供應該中央處理單元211、控制單元13、輸入單元24、動態隨機存取記憶單元212及快閃記憶體陣列11運作之電源。
  所述輸入單元24可包含鍵盤、滑鼠、軌跡球及觸控板(Touch Pad)等。並前述電腦主機21具有一中央處理單元211、一動態隨機存取記憶單元212及一第二SPI介面213與一第二SATA介面214,該中央處理單元211是電腦主板的中央處理器,一般而言是Intel 或AMD公司的PC相容CPU,但並不限於這兩家的產品。此外,現在的CPU單元常常整合了周邊裝置的邏輯電路,也包含在我們的定義中,例如Intel 3-核心處理器ivy-bridge處理器或Sandy-bridge處理器等甚至包含了內建顯示卡晶片。
Referring to Figures 1 and 2, the control unit 13 includes a firmware 14 having a firmware and a random access memory 15 (Random Access Memory, RAM). The control unit 13 executes the firmware of the firmware 14 and the temporary storage area of the data, so when the power is turned on, the control unit 13 executes the firmware of the firmware 14 from the flash memory array 11. The first basic input/output system code 111 is transferred to the random access memory 15 and then transmitted to the computer system 2, that is, when the computer system 2 is powered on, the control unit 13 executes the firmware program. The first BIOS code 111 with the enable flag 113 set to ON in a designated block of one of the NAND flash memories is read, and then transmitted to the connected computer system 2 through the first SPI interface 16.
The computer system 2 includes the computer host 21 without a basic input/output system read only memory (BIOS ROM), a display unit 23, an input unit 24, and a power supply unit 25, and the display unit 23 (such as an LCD screen) The input unit 24 is electrically connected to the computer host 21 respectively. The power supply unit 25 is a power supply of the computer system 2, and includes a power switch and a power supply of different potentials at different levels. In other words, the power supply unit 25 is used for The power supply of the central processing unit 211, the control unit 13, the input unit 24, the dynamic random access memory unit 212, and the flash memory array 11 should be operated.
The input unit 24 can include a keyboard, a mouse, a trackball, a touch pad, and the like. The computer main unit 21 has a central processing unit 211, a dynamic random access memory unit 212, a second SPI interface 213 and a second SATA interface 214. The central processing unit 211 is a central processing unit of the computer motherboard. It is a PC compatible CPU from Intel or AMD, but it is not limited to these two products. In addition, the current CPU unit often integrates the logic of the peripheral device, which is also included in our definition, such as the Intel 3-core processor ivy-bridge processor or Sandy-bridge processor, and even includes the built-in display card chip. .

  而前述中央處理單元211係電性連接該控制單元13與動態隨機存取記憶單元212,亦即該電腦主機21的第二SPI電性連接相對該第一SPI介面16,其第二SATA介面214電性連接該第一SATA介面17,令該中央處理單元211與控制單元13電性連接,且該中央處理單元211耦接相對的動態隨機存取記憶單元212。此外,於本發明實際實施時,本創作之SATA儲存裝置1可直接安裝(或整合)於該電腦主機21中,亦即該SATA儲存裝置1之控制單元13的複數接腳可直接電性連接對應該電腦主機21的中央處理單元211的複數接腳,使得所述第一、二SPI介面與第一、二SATA介面均可去除。
  並所述動態隨機存取記憶單元212係由複數個動態隨機存取模組(DRAM Module)所構成,其為第一BIOS程式碼111、作業系統112和應用程式與資料運算和暫存的儲存裝置,亦即該動態隨機存取記憶單元212係選擇為SDRAM、DDR2、DDR3、DDR4等使用於個人電腦中用以程式及資料存取之記憶體。
  請參閱第2圖式,所以當啟動電腦系統2開機時,該電源供應單元25供應電源給中央處理單元211、動態隨機存取記憶單元212、控制單元13和快閃記憶體陣列11,令前述控制單元13係執行該韌體程式,將快閃記憶體陣列11的複數第一BIOS程式碼111中啟用旗標113被設為開啟的第一BIOS程式碼111,先搬移到該隨機存取記憶體15中,然後透過該第一SPI介面16傳送給電腦主機21之中央處理單元211,該中央處理單元211透過該第二SPI介面213將接收到啟用旗標113被設為開啟的第一BIOS程式碼111,存入到動態隨機存取記憶單元212中並執行,令該中央處理單元211執行完第一BIOS程式碼111並進行自我開機測試及起始化測試完後,便透過該第二SATA介面214傳送一指令給該控制單元13,令該控制單元13接收並執行該電腦系統2之指令,從該快閃記憶體陣列11內讀取作業系統112(例如視窗作業系統112)搬移到該隨機存取記憶體15內,並透過該第一SATA介面17陸續將作業系統112中相關的檔案傳送給該電腦系統2之電腦主機21其上的中央處理單元211,該中央處理單元211透過該第二SATA介面214將接收到的作業系統112載入至動態隨機存取記憶單元212中並執行作業系統112。
  若此時使用欲將第一BIOS程式碼111更新時,前述控制單元13透過該第一SATA介面17接收到該中央處理單元211傳送的BIOS更新指令後,將該等NAND快閃記憶體內的第二BIOS程式碼114(即新BIOS程式碼)複製至前述NAND快閃記憶體的指定區塊中,並該控制單元13將於該指定區塊中的第二BIOS程式碼114的啟用旗標113設為開啟,同時將先前於該指定區塊內的第一BIOS程式碼111重新設為關閉(OFF),便完成更新BIOS程式碼,所以使得爾後當電腦主機21下一次開機時,該控制單元13會將第二BIOS程式碼114傳回電腦主機21,直到下一次啟用旗標113(Boot-Flag)開啟(On)被設定於另一個新的BIOS 程式碼中為止。故相對於傳統BIOS程式碼更新需數分鐘,使用本發明此裝置的設計來更新BIOS程式碼僅需一秒鐘不到即可完成,舉例而言若BIOS 程式碼大小為64Kbyte,約需16個頁(Page)來儲存,實際需要的更新時間約為300微秒 x 16 =4.8毫秒。
The central processing unit 211 is electrically connected to the control unit 13 and the dynamic random access memory unit 212, that is, the second SPI electrical connection of the computer host 21 is opposite to the first SPI interface 16, and the second SATA interface 214 is The central processing unit 211 is electrically connected to the control unit 13 and the central processing unit 211 is coupled to the opposite dynamic random access memory unit 212. In addition, in the actual implementation of the present invention, the SATA storage device 1 of the present invention can be directly installed (or integrated) in the computer host 21, that is, the plurality of pins of the control unit 13 of the SATA storage device 1 can be directly electrically connected. Corresponding to the plurality of pins of the central processing unit 211 of the host computer 21, the first and second SPI interfaces and the first and second SATA interfaces can be removed.
The dynamic random access memory unit 212 is composed of a plurality of DRAM Modules, which are the first BIOS code 111, the operating system 112, and the application and data operation and temporary storage. The device, that is, the dynamic random access memory unit 212 is selected to be a memory for program and data access in a personal computer such as SDRAM, DDR2, DDR3, DDR4, and the like.
Please refer to FIG. 2, so when the computer system 2 is turned on, the power supply unit 25 supplies power to the central processing unit 211, the dynamic random access memory unit 212, the control unit 13, and the flash memory array 11, so that the foregoing The control unit 13 executes the firmware program, and moves the first BIOS code 111 of the plurality of first BIOS code 111 of the flash memory array 11 to enable the flag 113 to be turned on, and first moves to the random access memory. The body 15 is then transmitted to the central processing unit 211 of the computer host 21 through the first SPI interface 16, and the central processing unit 211 receives the first BIOS with the enable flag 113 set to be turned on through the second SPI interface 213. The code 111 is stored in the dynamic random access memory unit 212 and executed, and the central processing unit 211 executes the first BIOS code 111 and performs self-boot test and initialization test. The SATA interface 214 transmits an instruction to the control unit 13 to cause the control unit 13 to receive and execute instructions from the computer system 2 to read the operating system 112 from the flash memory array 11 (e.g., the window operating system 112). Moving to the random access memory 15 and transmitting the related files in the operating system 112 to the central processing unit 211 of the computer host 21 of the computer system 2 through the first SATA interface 17, the central processing The unit 211 loads the received operating system 112 into the dynamic random access memory unit 212 through the second SATA interface 214 and executes the operating system 112.
If the first BIOS code 111 is to be updated at this time, the control unit 13 receives the BIOS update command transmitted by the central processing unit 211 through the first SATA interface 17, and then the NAND flash memory The second BIOS code 114 (ie, the new BIOS code) is copied into the designated block of the aforementioned NAND flash memory, and the control unit 13 will enable the enable flag 113 of the second BIOS code 114 in the specified block. Set to enable, and reset the first BIOS code 111 in the specified block to OFF, and then update the BIOS code, so that when the computer host 21 is turned on next time, the control unit 13 will transfer the second BIOS code 114 back to the host computer 21 until the next enable flag 113 (Boot-Flag) is turned on (On) is set in another new BIOS code. Therefore, it takes several minutes to update the traditional BIOS code. It takes only one second to update the BIOS code using the design of the device of the present invention. For example, if the BIOS code size is 64Kbyte, about 16 The page is stored, and the actual update time is about 300 microseconds x 16 = 4.8 milliseconds.

  因此,透過本創作之具SPI介面的SATA電子裝置1,與無BIOS唯讀記憶體之電腦系統2結合一起的設計,得有效取代傳統的電腦主機21上的BIOS記憶體,藉以達到節省成本與更新簡單便利性佳及快速維修之效果。Therefore, the SATA electronic device 1 with the SPI interface and the computer system 2 without BIOS read-only memory can effectively replace the BIOS memory on the traditional computer host 21, thereby achieving cost saving and Update the effect of simple convenience and quick repair.

   請參閱第3圖式,係顯示本創作之第二較佳實施例之流程示意圖,並輔以參閱第2圖式,;主要是將前述第一較佳實施例之具SPI介面的SATA電子裝置1應用於一無基本輸入輸出系統唯讀記憶體之電腦系統2的開機方法與更新BIOS程式碼的方法,其中該開機方法包括下列之步驟;Please refer to FIG. 3, which is a schematic diagram showing the flow of the second preferred embodiment of the present invention, and is supplemented with reference to FIG. 2, which is mainly a SATA electronic device with an SPI interface according to the first preferred embodiment. 1 is applied to a booting method of a computer system 2 having no basic input/output system read-only memory and a method for updating a BIOS code, wherein the booting method comprises the following steps;

(300) 啟動該電腦系統進行開機;
   啟動該電腦系統2開機,令該電源供應單元25供電給電腦主機21之中央處理單元211、動態隨機存取記憶單元212、該控制單元13及快閃記憶體陣列11及其他單元(即如輸入單元24與顯示單元23)。
(300) start the computer system to boot;
The computer system 2 is turned on, and the power supply unit 25 is powered to the central processing unit 211, the dynamic random access memory unit 212, the control unit 13, and the flash memory array 11 and other units of the computer host 21 (ie, input Unit 24 and display unit 23).

(301) 該控制單元13執行該韌體程式,讀取從該快閃記憶體陣列11搬移到該隨機存取記憶體15中的第一基本輸入輸出系統程式碼111,並檢測該第一SPI介面16,並繼續步驟302;(301) The control unit 13 executes the firmware program, reads the first basic input/output system code 111 moved from the flash memory array 11 into the random access memory 15, and detects the first SPI. Interface 16, and continue to step 302;

   該控制單元13執行該韌體14之韌體程式,從該快閃記憶體陣列11具有的複數NAND快閃記憶體其中一NAND快閃記憶體的指定區塊中,其啟用旗標113為開啟的第一BIOS程式碼111,以頁(Page)為單位讀出至該隨機存取記憶體15中,並檢測第一SPI介面16的訊號。其中一般說來,一個頁(Page)為4Kbyte(例如Micron)或8Kbyte(例如Samsung),視NAND Flash製造商規格而定;另外,一般的控制單元其內部的隨機存取記憶體15(RAM)約為16Kbyte。一般的BIOS 程式碼約為64Kbyte,因此若以一個頁(Page)為4Kbyte計算,需要16個Page的空間儲存,換言之總共需要搬動16次。以500KHz的電腦系統2送出的時脈(clock)計算,大約一秒鐘完成傳輸BIOS 程式碼。其中於該較佳實施例之第一BIOS程式碼111讀出至該隨機存取記憶體15中係以頁(Page)為傳輸單位,但並不侷限於此,於具體實施時,亦可選擇以512Byte為單位、1KByte或16Kbyte等等為單位等均屬相同的技術方法,均應屬於本發明之權利保護範圍中。The control unit 13 executes the firmware of the firmware 14 from which the enable flag 113 is turned on in a specific block of a NAND flash memory of the flash memory array 11 The first BIOS code 111 is read into the random access memory 15 in units of pages and detects the signal of the first SPI interface 16. Generally speaking, one page (Page) is 4Kbyte (for example, Micron) or 8Kbyte (for example, Samsung), depending on the specifications of the NAND Flash manufacturer; in addition, the general control unit has its internal random access memory 15 (RAM). It is about 16Kbyte. The general BIOS code is about 64Kbytes, so if you use a page (Page) for 4Kbyte calculation, you need 16 pages of space to store, in other words, you need to move 16 times in total. The clock is sent in the 500KHz computer system 2, and the BIOS code is transmitted in about one second. The first BIOS code 111 in the preferred embodiment is read out to the random access memory 15 by using a page as a transmission unit, but is not limited thereto, and may be selected in specific implementation. The technical methods of 512 Bytes, 1 KByte, or 16 Kbyte, etc., all of which belong to the same technical method are all within the scope of the present invention.

(310) 同時該電腦系統2會進行硬體重置動作完後,該中央處理單元211透過該第二SPI介面213傳送一讀取訊號至該第一SPI介面16;(310) After the computer system 2 performs a hardware reset operation, the central processing unit 211 transmits a read signal to the first SPI interface 16 through the second SPI interface 213;

   同時該電腦系統2會先完成硬體重置動作(Hardware Reset)及中央處理單元211內部各暫存器設為指定值後,該中央處理單元211透過該第二SPI介面213傳送一讀取訊號(即BIOS讀取訊號)至該第一SPI介面16,該中央處理單元211透過該第二SPI介面213傳送前述讀取訊號至該第一SPI介面16。其中以Intel CPU而言,中央處理器(CPU)會跳至位址0xFFFF0 h第一個執行位址,並繼續步驟311。The central processing unit 211 transmits a read signal through the second SPI interface 213 after the computer system 2 performs the hardware reset operation and the internal buffers of the central processing unit 211 are set to the specified values. That is, the BIOS reads the signal to the first SPI interface 16, and the central processing unit 211 transmits the read signal to the first SPI interface 16 through the second SPI interface 213. In the case of an Intel CPU, the central processing unit (CPU) jumps to the first execution address of the address 0xFFFF0h and proceeds to step 311.

(302) 此時該控制單元13檢測該第一SPI介面16接收到所傳送的讀取訊號後,該控制單元13將於該隨機存取記憶體15內的第一基本輸入輸出系統程式碼111透過該第一SPI介面16傳送給該中央處理單元211;(302) At this time, the control unit 13 detects that the first SPI interface 16 receives the transmitted read signal, and the control unit 13 inputs the first basic input/output system code 111 in the random access memory 15 Transmitting to the central processing unit 211 through the first SPI interface 16;

   此時,該控制單元13檢測(讀取)該SPI介面接收到所傳送的讀取訊號後,該控制單元13將於該隨機存取記憶體15內的第一BIOS程式碼111依序以一個頁(Page)的第一BIOS 程式碼111送出給該中央處理單元211,並檢查該第一BIOS 程式碼111的總頁數,若尚未傳送完成則會繼續下一頁第一BIOS程式碼111的讀取、搬移與傳送直到完全送出完到該中央處理單元211上,並繼續步驟303。At this time, after the control unit 13 detects (reads) the SPI interface receives the transmitted read signal, the control unit 13 sequentially places the first BIOS code 111 in the random access memory 15 The first BIOS code 111 of the page is sent to the central processing unit 211, and the total number of pages of the first BIOS code 111 is checked. If the transfer is not completed, the first BIOS code 111 of the next page is continued. The reading, moving and transferring are completed until the central processing unit 211 is completely sent out, and step 303 is continued.

(311) 該中央處理單元211透過該第二SPI介面213將接收到前述第一基本輸入輸出系統程式碼111,搬移到該動態隨機存取記憶單元212中直到全部讀取完成後,該中央處理單元211則執行該第一基本輸入輸出系統程式碼111並進行自我開機測試及起始化測試完後,便傳送一指令;(311) The central processing unit 211 transmits the first basic input/output system code 111 to the dynamic random access memory unit 212 through the second SPI interface 213, and the central processing is performed after all reading is completed. The unit 211 executes the first basic input/output system code 111 and performs a self-boot test and an initialization test, and then transmits an instruction;

   該中央處理單元211透過該第二SPI介面213將接收到該啟用旗標113設為開啟的第一基本輸入輸出碼,以頁為單位依序搬移到該動態隨機存取記憶單元212中並繼續讀取下一頁第一BIOS程式碼111直到全部讀取完成後,該中央處理單元211將第一BIOS程式碼111寫入到動態隨機存取記憶單元212中,然後前述中央處理單元211則執行該第一BIOS程式碼111並進行自我開機測試及起始化測試完後,便透過該第二SATA介面214傳送一指令給所述控制單元13,並繼續步驟312。The central processing unit 211 transmits the first basic input/output code that the enable flag 113 is turned on through the second SPI interface 213, and sequentially moves to the dynamic random access memory unit 212 in units of pages and continues. After reading the next page first BIOS code 111 until all reading is completed, the central processing unit 211 writes the first BIOS code 111 into the dynamic random access memory unit 212, and then the central processing unit 211 executes After the first BIOS code 111 performs the self-boot test and the initialization test, an instruction is sent to the control unit 13 through the second SATA interface 214, and the process proceeds to step 312.

(303) 該控制單元13執行接收到該中央處理單元211傳送的指令,讀取從該快閃記憶體陣列11搬移到該隨機存取記憶體15中的作業系統112,並透過該第一SATA介面17傳送給該中央處理單元211;(303) The control unit 13 executes the instruction transmitted by the central processing unit 211, reads the operating system 112 moved from the flash memory array 11 to the random access memory 15, and transmits the first SATA. Interface 17 is transmitted to the central processing unit 211;

   所述控制單元13經由該第一SATA介面17接收到該中央處理單元211傳送的指令並執行,先送出該快閃記憶體陣列11搬移到該隨機存取記憶體15中的一主要開機紀錄 (Master Boot Record,MBR)之首要開機載入器(Primary Boot loader)至中央處理單元211,接著陸續也送出作業系統112其他相關檔案直到作業系統112下載完成至中央處理單元211上。The control unit 13 receives the instruction transmitted by the central processing unit 211 via the first SATA interface 17, and executes the first boot record that the flash memory array 11 moves to the random access memory 15 ( The Master Boot Record (MBR) primary boot loader is sent to the central processing unit 211, and then other related files of the operating system 112 are sent out until the download of the operating system 112 is completed to the central processing unit 211.

(312) 該中央處理單元211透過該第二SATA介面將接收到的作業系統112載入至該動態隨機存取記憶單元212中,並執行載入的作業系統112;(312) The central processing unit 211 loads the received operating system 112 into the dynamic random access memory unit 212 through the second SATA interface, and executes the loaded operating system 112;

  該電腦主機21之中央處理單元211執行的第一BIOS 程式碼111,先讀取主要開機紀錄(MBR)中的首要開機載入器(Primary Boot loader)先執行,並把權力轉到主要開機紀錄(MBR)後,前述主要開機紀錄(MBR)取得權力後並跳至一第二開機載入器(Secondary Boot loader)執行,該第二開機載入器負責載入作業系統112,並陸續載入到動態隨機存取記憶單元212中,直到該作業系統112下載完成,其中包括Kernel、Session、Winlogon、Explorer等的初始化及Post Boot Activity等步驟。The first BIOS code 111 executed by the central processing unit 211 of the computer host 21 first reads the primary boot loader in the main boot record (MBR) and then transfers the power to the main boot record. After (MBR), the aforementioned main boot record (MBR) takes power and jumps to a second boot loader (Secondary Boot loader), which is responsible for loading the operating system 112 and loading it one after another. In the dynamic random access memory unit 212, until the download of the operating system 112 is completed, including initialization of the Kernel, Session, Winlogon, Explorer, etc., and Post Boot Activity.

  此外,所述電腦系統2開機後,中央處理單元211在硬體重置(Hardware Reset)後開始至中央處理單元211將第一BIOS 程式碼111完全讀出並執行第一BIOS程式碼111後準備載入作業系統112時為止,稱為第一時間。電腦系統2在執行第一BIOS程式碼111後讀取開機載入器(Boot Loader)至將整個作業系統112載入到該電腦主機21內部的動態隨機存取記憶單元212中並執行,使電腦系統2在作業系統112環境下運作為止,稱為第二時間,所以第一時間至第二時間即為開機流程。In addition, after the computer system 2 is powered on, the central processing unit 211 starts after the hardware reset until the central processing unit 211 completely reads the first BIOS code 111 and executes the first BIOS code 111. When entering the operating system 112, it is referred to as the first time. The computer system 2 reads the Boot Loader after executing the first BIOS code 111 to load the entire operating system 112 into the dynamic random access memory unit 212 inside the computer host 21 and execute the computer. The system 2 is called the second time until it operates in the environment of the operating system 112, so the first time to the second time is the booting process.

  請參閱第4圖式,並輔以參閱第2圖式,當使用者欲將該第一BIOS程式碼111更新時,該基本輸入輸出系統程式碼更新方法包括下列之步驟Referring to FIG. 4, and referring to FIG. 2, when the user wants to update the first BIOS code 111, the basic input/output system code update method includes the following steps.

(400) 開始(400) start

(401) 該控制單元13透過該第二SATA介面214將被搬移到該快閃記憶體陣列11內的基本輸入輸出系統更新程式115傳送該中央處理單元211;(401) The control unit 13 transmits the central processing unit 211 via the second SATA interface 214 to the basic input/output system update program 115 that is moved into the flash memory array 11;

   前述控制單元13透過該第二SATA介面214將被搬移到該快閃記憶體陣列11內的BIOS更新程式115傳送給該中央處理單元211。The control unit 13 transmits the BIOS update program 115 moved to the flash memory array 11 to the central processing unit 211 via the second SATA interface 214.

(402) 該中央處理單元211透過一第二SATA介面214接收並執行該基本輸入輸出系統更新程式115,令該基本輸入輸出系統更新程式115被載入至該動態隨機存取記憶單元212中執行,並透過該第二SATA介面214傳送一基本輸入輸出系統更新指令;(402) The central processing unit 211 receives and executes the basic input/output system update program 115 through a second SATA interface 214, and causes the basic input/output system update program 115 to be loaded into the dynamic random access memory unit 212 for execution. And transmitting a basic input/output system update command through the second SATA interface 214;

   該中央處理單元211透過第二SATA介面214接收並執行該BIOS更新程式115,令該BIOS更新程式115被載入至該動態隨機存取記憶單元212中執行,並透過該第二SATA介面214傳送一BIOS更新指令(或亦稱為BIOS複製指令)給該控制單元13。The central processing unit 211 receives and executes the BIOS update program 115 through the second SATA interface 214, and the BIOS update program 115 is loaded into the dynamic random access memory unit 212 for execution and transmitted through the second SATA interface 214. A BIOS update command (or also referred to as a BIOS copy command) is provided to the control unit 13.

(403) 該控制單元13透過該第一SATA介面17接收到該基本輸入輸出系統更新指令後,將該第二基本輸入輸出系統程式碼114複製至該快閃記憶體陣列11中的一指定區塊中;(403) after receiving the basic input/output system update command by the first SATA interface 17, the control unit 13 copies the second basic input/output system code 114 to a designated area in the flash memory array 11. In the block;

  該控制單元13透過該第一SATA介面17接收到該BIOS更新指令後,將新版BIOS程式碼(即前述第二BIOS程式碼114)複製到快閃記憶體陣列11中的一指定區塊中。After receiving the BIOS update command, the control unit 13 copies the new BIOS code (ie, the foregoing second BIOS code 114) into a designated block in the flash memory array 11.

(404) 此時該控制單元13將於該指定區塊中的第二基本輸入輸出系統程式碼114的啟用旗標113設為開啟,同時將先前於該指定區塊內的第一基本輸入輸出程式碼111設為關閉後完成BIOS程式碼更新;(404) At this time, the control unit 13 sets the enable flag 113 of the second basic input/output system code 114 in the designated block to be on, and simultaneously outputs the first basic input and output in the specified block. After the code 111 is set to off, the BIOS code update is completed;

   此時,前述控制單元13將於該指定區塊中的第二BIOS程式碼114的啟用旗標113設為開啟(ON),同時將上一次開機的第一BIOS程式碼111中其啟用旗標113設定為關閉(OFF)後即可完成BIOS程式碼更新(即更新為第二BIOS程式碼114),所以使得爾後當電腦主機21下一次開機時,該控制單元13會將新版BIOS程式碼(即第二BIOS程式碼114)傳回電腦主機21,並依序根據前述開機方法完成開機作業。At this time, the foregoing control unit 13 sets the enable flag 113 of the second BIOS code 114 in the specified block to ON, and activates the flag in the first BIOS code 111 of the last boot. After the 113 is set to OFF, the BIOS code update can be completed (ie, updated to the second BIOS code 114), so that when the computer host 21 is turned on next time, the control unit 13 will generate the new BIOS code ( That is, the second BIOS code 114) is transmitted back to the host computer 21, and the booting operation is completed according to the foregoing booting method.

  所以透過本發明之具SPI介面之SATA儲存裝置1內可包含複數個不同的BIOS版本,而且隨時可以變更,相較於傳統的方法則基本輸入輸出系統唯讀記憶體(BIOS ROM)中僅能有一組BIOS程式碼,進而本創作BIOS更新程式115的實施方法是不同於傳統BIOS更新程式,因本發明更新後的新版BIOS程式碼(即第二BIOS程式碼114)並不會覆蓋過原先BIOS程式碼(即第一BIOS程式碼111),只是將原先BIOS程式碼(即第一BIOS程式碼111)的啟用旗標113設為關閉(即令該第一BIOS程式碼111隱藏起來),而新版BIOS程式碼(即第二BIOS程式碼114)啟用旗標113設為開啟,可讓控制單元13讀取到的設計,使得可有效防止更新新版BIOS程式碼失敗後,還能夠恢復到原先版本的BIOS程式碼的效果。相較於傳統BIOS更新程式實施時,新版本BIOS程式碼會被燒錄至BIOS 記憶體(NOR 快閃記憶體)中以替代原來的舊版本BIOS 程式碼,亦即新版本BIOS程式碼會覆蓋(覆寫)過原來的舊版本BIOS程式碼,若是傳統於更新新版BIOS程式碼失敗後,便無法復原回原先的舊版本BIOS程式碼,導致使用者必須送修更換新的BIOS記憶體。Therefore, the SATA storage device 1 with the SPI interface of the present invention can include a plurality of different BIOS versions, and can be changed at any time. Compared with the conventional method, the basic input/output system read only memory (BIOS ROM) can only be used. There is a set of BIOS code, and the implementation method of the author BIOS update program 115 is different from the traditional BIOS update program, because the updated version of the BIOS code (ie, the second BIOS code 114) does not overwrite the original BIOS. The code (ie, the first BIOS code 111) simply sets the enable flag 113 of the original BIOS code (ie, the first BIOS code 111) to off (ie, hides the first BIOS code 111), and the new version The BIOS code (ie, the second BIOS code 114) enable flag 113 is set to enable, allowing the control unit 13 to read the design so that it can effectively prevent the update of the new version of the BIOS code and restore the original version. The effect of the BIOS code. Compared with the traditional BIOS update program, the new version of the BIOS code will be burned to the BIOS memory (NOR flash memory) to replace the old version of the BIOS code, that is, the new version of the BIOS code will be overwritten. (overwritten) The original old version of the BIOS code, if it is traditional to update the new version of the BIOS code failed, it can not be restored to the original version of the original version of the BIOS code, resulting in users have to repair and replace the new BIOS memory.

  雖然本發明以實施方式揭露如上,然其並非用以限定本發明,任何熟悉此技藝者,在不脫離本發明的精神和範圍內,當可作各種的更動與潤飾。舉例來說,既然快閃記憶體陣列11的指定區塊(Block)中可同時包含複數第一BIOS程式碼111,自然本案也可延伸應用為一在BIOS 設定畫面或開機畫面上選擇多組BIOS程式碼其中之一為開機BIOS程式碼,換言之,可以進一步實施為多BIOS選擇技術,而且每一BIOS程式碼的檔案大小是不需限制的,所以本案這種技術相較於幾個前案的多BIOS開機系統的效果佳,因為本發明不須NOR快閃記憶體卻可以選擇多個BIOS程式碼之一來開機。While the present invention has been described above in terms of its embodiments, it is not intended to limit the invention, and various modifications and changes can be made without departing from the spirit and scope of the invention. For example, since the designated block (block) of the flash memory array 11 can include multiple first BIOS codes 111 at the same time, the present invention can also be extended to select multiple sets of BIOS on the BIOS setting screen or the startup screen. One of the code codes is the boot BIOS code. In other words, it can be further implemented as a multi-BIOS selection technology, and the file size of each BIOS code is not limited, so the technology of this case is compared with several previous cases. The multi-BIOS booting system works well because the present invention can select one of a plurality of BIOS codes to boot without the NOR flash memory.

  另者,本發明的BIOS 程式碼(即第一、二BIOS程式碼111、114)及控制單元13既然可以不受作業系統112控制,自然可以在快閃記憶體陣列11上加裝一”系統檢測程式(System-Debugger;圖中未示)”,於開機第一時間直接執行,根本不需在作業系統112環境下執行,這對於電腦製造商的研發部門的產品研究與發展、製造部門產線上產品檢修以及電腦售後服務部門的電腦修護更具便利性,進一步降低電腦製造商的研發、製造及客戶服務端的服務成本。In addition, since the BIOS code (ie, the first and second BIOS codes 111 and 114) and the control unit 13 of the present invention are not controlled by the operating system 112, it is naturally possible to add a "system" to the flash memory array 11. The detection program (System-Debugger; not shown) is executed directly at the first time of startup, and does not need to be executed in the environment of the operating system 112. This is for the product research and development of the computer manufacturer's R&D department, and the manufacturing department. Online product overhaul and computer repair in the computer after-sales service department are more convenient, further reducing the cost of service for R&D, manufacturing and customer service of computer manufacturers.

以上所述,本發明相較於習知技術具有下列之優點:As described above, the present invention has the following advantages over the prior art:

1. 具有縮短產品的開發時間。透過本發明的設計,使得可達到電腦製造與組裝端與產品研發端BIOS的編輯可以同時進行,即便產品製造與組裝過程中有BIOS內容需修正與更新時,均不需重新燒錄BIOS 記憶體。1. Has shortened product development time. Through the design of the invention, the editing of the BIOS of the computer manufacturing and assembly end and the product development end can be simultaneously performed, and even if the BIOS content needs to be corrected and updated during the manufacturing and assembly process, the BIOS memory does not need to be re-burned. .

2. 具有節省材料與製造成本,提高品質。本發明因為將BIOS程式碼置於NAND 快閃記憶陣列中而不需使用BIOS僅讀記憶體,材料成本因此降低,又因免除了燒錄BIOS記憶體的流程而降低了製造成本,電腦系統也因少了一個零組件,產品的良率可以更加提升。2. It saves materials and manufacturing costs and improves quality. Because the BIOS code is placed in the NAND flash memory array without using the BIOS to read only the memory, the material cost is reduced, and the manufacturing cost is reduced by eliminating the process of burning the BIOS memory, and the computer system is also reduced. With fewer components, the yield of the product can be improved.

3. 具有減少使用者更新BIOS的時間及風險。一般的個人電腦常常在使用者更新BIOS時,由於燒錄(Programing)BIOS 程式碼需數分鐘時間,也常常會有燒錄失敗無法開機而必須送修電腦的情形;若使用本案技術,一來更新BIOS只需一秒不到的時間,再者,根本不會有更新失敗的情形,甚者,使用本案方法可以有多個版本的BIOS可以選用。3. Has the time and risk of reducing the user's BIOS update. In general, when a user updates the BIOS, it takes a few minutes to program the BIOS code. It is often the case that the programming fails and cannot be turned on and the computer must be repaired. If the technology of the case is used, Updating the BIOS takes less than a second. In addition, there will be no update failures. Even with this method, multiple versions of the BIOS can be used.

4. 本發明商品售出後,因為電腦系統主板上並無BIOS記憶體,也因此不會有BIOS記憶體毀損更換的需求,在企業售後服務端產品更容易維修。4. After the product of the present invention is sold, since there is no BIOS memory on the motherboard of the computer system, there is no need for the BIOS memory to be damaged and replaced, and the product in the enterprise after-sales service is easier to repair.

5. 傳統的BIOS 程式碼由於記憶體(NOR Flash)容量的限制,通常會將BIOS程式碼予以壓縮,當執行時,再將BIOS程式碼解壓縮到動態隨機存取記憶單元中。但這種壓縮與解壓縮程式及其步驟在本發明中是不需要的,因為現在的NAND快閃記憶體一般都有32GB以上,而且快閃記憶體製造商通常會提供大約7%的多餘容量給系統廠商,而一般BIOS程式碼大約為128KB至256KB,因此以NAND快閃記憶體來儲存BIOS程式碼時在記憶空間上有很大優勢。更明白地說,使用本案技術除了可以節省一顆NOR 快閃記憶體的成本外,BIOS 程式碼(即第一、二BIOS程式碼111、114)的檔案大小是不需要限制的,換言之,使用本案技術後,開機的第一時間就可以看到最高解析度(4K X 2K)的全彩畫面。這樣的效果在傳統BIOS ROM 上是不可能做到的,這一點我們可以在任何廠牌電腦的開機第一畫面上證明,通常他們的開機第一畫面為一單色,通常是白色文字例如Lenovo、HP、acer、ASUS等等低解析度的品牌Logo畫面。5. The traditional BIOS code usually compresses the BIOS code due to the limitation of the memory (NOR Flash) capacity. When executed, the BIOS code is decompressed into the dynamic random access memory unit. However, such compression and decompression programs and their steps are not required in the present invention, as today's NAND flash memory typically has more than 32 GB, and flash memory manufacturers typically provide about 7% of excess capacity. For system vendors, the general BIOS code is about 128KB to 256KB, so there is a big advantage in memory space when storing BIOS code in NAND flash memory. More specifically, in addition to the cost of saving a NOR flash memory, the file size of the BIOS code (ie, the first and second BIOS code 111, 114) is not limited, in other words, use After the technology of this case, the full-color picture with the highest resolution (4K X 2K) can be seen at the first time of booting. This effect is not possible on the traditional BIOS ROM. We can prove this on the first screen of any brand computer. Usually, the first screen of their boot is a single color, usually white text such as Lenovo. , HP, acer, ASUS and other low-resolution brand logo images.

6. 具有達到BIOS 程式碼可不受作業系統控制。本發明裝置的第一BIOS程式碼111與第二BIOS程式碼114可置於NAND 快閃記憶陣列的指定區塊(Block),例如第一個區塊中,NAND 快閃 記憶體製造商保證這個區域可以燒錄1000次不會有任何問題且不需錯誤改正碼(ECC,Error Collection Code)。另外,因為BIOS程式碼(即第一、二BIOS程式碼111、114)的讀出與寫入(更新版本)均由本發明的控制單元13控制,因此可以不在作業系統的控制下進行,換言之,即便作業系統(O.S.)受病毒程式破壞而毀損,本發明下的BIOS程式碼還是可以正常操作而無任何風險,相對於過去技術本發明顯然來得好。6. Having the BIOS code is not controlled by the operating system. The first BIOS code 111 and the second BIOS code 114 of the apparatus of the present invention can be placed in a designated block of the NAND flash memory array, for example, in the first block, and the NAND flash memory manufacturer guarantees this. The area can be burned 1000 times without any problems and no error correction code (ECC). In addition, since the read and write (updated versions) of the BIOS code (ie, the first and second BIOS codes 111, 114) are both controlled by the control unit 13 of the present invention, they may not be performed under the control of the operating system, in other words, Even if the operating system (OS) is damaged by the virus program, the BIOS code under the present invention can operate normally without any risk, and the present invention is obviously better than the prior art.

  按,以上所述,僅為本發明的較佳具體實施例,惟本發明的特徵並不侷限於此,任何熟悉該項技藝者在本發明領域內,可輕易思及的變化或修飾,皆應涵蓋在以下本發明的申請專利範圍中。The above description is only a preferred embodiment of the present invention, but the features of the present invention are not limited thereto, and any changes or modifications that can be easily conceived in the field of the present invention are known to those skilled in the art. It is intended to be included in the scope of the claims of the present invention below.

 

1‧‧‧SATA儲存裝置1‧‧‧SATA storage device

11‧‧‧快閃記憶體陣列11‧‧‧Flash Memory Array

111‧‧‧第一基本輸入輸出系統程式碼111‧‧‧First basic input and output system code

112‧‧‧作業系統112‧‧‧Operating system

113‧‧‧啟用旗標113‧‧‧Enable flag

114‧‧‧第二基本輸入輸出系統程式碼114‧‧‧Second basic input and output system code

115‧‧‧基本輸入輸出系統更新程式115‧‧‧Basic input and output system update program

13‧‧‧控制單元13‧‧‧Control unit

14‧‧‧韌體14‧‧‧ Firmware

15‧‧‧隨機存取記憶體15‧‧‧ Random access memory

16‧‧‧第一SPI介面16‧‧‧First SPI interface

17‧‧‧第一SATA介面17‧‧‧First SATA interface

Claims (10)

【第1項】[Item 1] 一種具SPI介面的SATA儲存裝置,係應用於一無基本輸入輸出系統唯讀記憶體之電腦系統上,該SATA儲存裝置包括:
一快閃記憶體陣列,係儲存有一第一基本輸入輸出系統程式碼及一作業系統;
一控制單元,其一側耦接該快閃記憶體陣列,其另一側耦接相對該電腦系統,並該控制單元包含一具有韌體程式之韌體及一隨機存取記憶體,該隨機存取記憶體係用以作為該控制單元執行該韌體之韌體程式運算與資料的暫存區;及
其中當開機時,該控制單元係執行該韌體程式,從該快閃記憶體陣列內的第一基本輸入輸出系統程式碼搬移至該隨機存取記憶體內後,再傳送給該電腦系統。
A SATA storage device with an SPI interface is applied to a computer system without a basic input/output system read-only memory. The SATA storage device includes:
a flash memory array storing a first basic input/output system code and an operating system;
a control unit, one side of which is coupled to the flash memory array, the other side of which is coupled to the computer system, and the control unit includes a firmware with a firmware and a random access memory. The access memory system is used as the control unit to execute a firmware temporary storage area of the firmware and the temporary storage area of the data; and when the power is turned on, the control unit executes the firmware program from the flash memory array The first basic input/output system code is transferred to the random access memory and then transmitted to the computer system.
【第2項】[Item 2] 如申請專利範圍第1項所述之具SPI介面的SATA儲存裝置,其中該SATA儲存裝置更包含一第一SPI介面與一第一SATA介面,該第一SPI介面之一端係耦接該電腦系統,其另一端則耦接該控制單元,該第一SATA介面之一端係耦接該電腦系統,其另一端則耦接該控制單元。The SATA storage device of the SPI interface, wherein the SATA storage device further includes a first SPI interface and a first SATA interface, and the first SPI interface is coupled to the computer system. The other end is coupled to the control unit, and one end of the first SATA interface is coupled to the computer system, and the other end is coupled to the control unit. 【第3項】[Item 3] 如申請專利範圍第2項所述之具SPI介面的SATA儲存裝置,其中該電腦系統將接收到該第一基本輸入輸出系統程式碼存入到動態隨機存取記憶單元中並執行完後,便傳送一指令給該控制單元,令該控制單元接收並執行該電腦系統之指令,從該快閃記憶體陣列內讀取作業系統搬移到該隨機存取記憶體內,並透過該第一SATA介面傳送給該電腦系統。The SATA storage device with an SPI interface as described in claim 2, wherein the computer system receives the first basic input/output system code and stores it in the dynamic random access memory unit. Transmitting an instruction to the control unit, causing the control unit to receive and execute the instruction of the computer system, and the reading operation system from the flash memory array is moved into the random access memory and transmitted through the first SATA interface Give the computer system. 【第4項】[Item 4] 如申請專利範圍第3項所述之具SPI介面的SATA儲存裝置,其中該快閃記憶體陣列具有複數NAND快閃記憶體,該等NAND快閃記憶體內儲存有複數第一基本輸入輸出系統程式碼、前述作業系統及複數啟用旗標,並該等第一基本輸入輸出系統程式碼係儲存在其中一NAND快閃記憶體的一指定區塊(Block)中,且其中一第一基本輸入輸出系統程式碼的啟用旗標設定為開啟,用以供控制單元讀取。The SATA storage device with an SPI interface according to claim 3, wherein the flash memory array has a plurality of NAND flash memories, and the NAND flash memory stores a plurality of first basic input/output system programs. The code, the operating system and the plurality of enable flags, and the first basic input/output system code is stored in a designated block of one of the NAND flash memories, and one of the first basic inputs and outputs The enable flag of the system code is set to ON for reading by the control unit. 【第5項】[Item 5] 如申請專利範圍第4項所述之具SPI介面的SATA儲存裝置,其中該指定區塊係為該作業系統無法辨識的記憶區塊。The SATA storage device with an SPI interface as described in claim 4, wherein the designated block is a memory block that is not recognized by the operating system. 【第6項】[Item 6] 如申請專利範圍第4項所述之具SPI介面的SATA儲存裝置,其中電腦系統包含一無基本輸入輸出系統唯讀記憶體之電腦主機、一顯示單元、一輸入單元及一電源供應單元,該顯示單元與輸入單元係分別電性連接該電腦主機,該電腦主機具有一中央處理單元及一動態隨機存取記憶單元,該中央處理單元係電性連接該控制單元與動態隨機存取記憶單元,並該電源供應單元用以供應該中央處理單元、控制單元、輸入單元、動態隨機存取記憶單元及快閃記憶體陣列運作之電源。The SATA storage device with an SPI interface according to claim 4, wherein the computer system comprises a computer host having no basic input/output system read-only memory, a display unit, an input unit and a power supply unit, The display unit and the input unit are respectively electrically connected to the computer host, the computer host has a central processing unit and a dynamic random access memory unit, and the central processing unit is electrically connected to the control unit and the dynamic random access memory unit. The power supply unit is configured to supply power to the central processing unit, the control unit, the input unit, the dynamic random access memory unit, and the flash memory array. 【第7項】[Item 7] 如申請專利範圍第6項所述之具SPI介面的SATA儲存裝置,其中該電腦主機具有一第二SPI介面與一第二SATA介面,該第二SPI介面係電性連接相對該第一SPI介面,該第二SATA介面則電性連接該第一SATA介面。The SPI storage device of the SPI interface of claim 6, wherein the computer host has a second SPI interface and a second SATA interface, and the second SPI interface is electrically connected to the first SPI interface. The second SATA interface is electrically connected to the first SATA interface. 【第8項】[Item 8] 如申請專利範圍第7項所述之具SPI介面的SATA儲存裝置,其中該等NAND快閃記憶體更儲存有至少一第二基本輸入輸出系統程式碼及一基本輸入輸出系統更新程式,當該控制單元透過該第一SATA介面接收到該中央處理單元傳送的基本輸入輸出系統更新指令後,將該等NAND快閃記憶體內的第二基本輸入輸出系統程式碼複製至前述NAND快閃記憶體的指定區塊中,並該控制單元將於該指定區塊中的第二基本輸入輸出系統程式碼的啟用旗標設為開啟,同時將先前於該指定區塊內的第一基本輸入輸出系統程式碼設為關閉。The SATA storage device with an SPI interface as described in claim 7, wherein the NAND flash memory further stores at least a second basic input/output system code and a basic input/output system update program. After receiving the basic input/output system update command sent by the central processing unit through the first SATA interface, the control unit copies the second basic input/output system code in the NAND flash memory to the NAND flash memory. In the designated block, the control unit sets the enable flag of the second basic input/output system code in the specified block to be on, and simultaneously sets the first basic input/output system program in the specified block. The code is set to off. 【第9項】[Item 9] 一種應用SATA儲存裝置之開機方法,係應用於一無基本輸入輸出系統唯讀記憶體之電腦系統上,該SATA儲存裝置包含一快閃記憶體陣列、一第一SPI介面、一第一SATA介面及一耦接該快閃記憶體陣列之控制單元,該快閃記憶體陣列儲存有一第一基本輸入輸出系統程式碼及一作業系統,該控制單元係分別耦接該第一SPI介面與第一SATA介面,且其包含一具有韌體程式之韌體程式及一隨機存取記憶體,並該電腦系統包含一電腦主機,該電腦主機具有一中央處理單元、一耦接該第一SPI介面之第二SPI介面、一耦接該第一SATA介面之第二SATA介面及一耦接該中央處理單元之動態隨機存取記憶單元,該開機方法係包括:
啟動該電腦系統進行開機;
該控制單元執行該韌體程式,讀取從該快閃記憶體陣列搬移到該隨機存取記憶體中的第一基本輸入輸出系統程式碼,並檢測該第一SPI介面;
同時該電腦系統會進行硬體重置動作完後,該中央處理單元透過該第二SPI介面傳送一讀取訊號至該第一SPI介面;
此時該控制單元檢測該第一SPI介面接收到所傳送的讀取訊號後,該控制單元將於該隨機存取記憶體內的第一基本輸入輸出系統程式碼透過該第一SPI介面傳送給該中央處理單元;
該中央處理單元透過該第二SPI介面將接收到前述第一基本輸入輸出系統程式碼,搬移到該動態隨機存取記憶單元中直到全部讀取完成後,該中央處理單元則執行該第一基本輸入輸出系統程式碼並進行自我開機測試及起始化測試完後,便傳送一指令;
該控制單元執行接收到該中央處理單元傳送的指令,讀取從該快閃記憶體陣列搬移到該隨機存取記憶體中的作業系統,並透過該第一SATA介面傳送給該中央處理單元;及
   該中央處理單元透過該第二SATA介面將接收到的作業系統載入至該動態隨機存取記憶單元中,並執行載入的作業系統。
A booting method for applying a SATA storage device is applied to a computer system having no basic input/output system read-only memory, the SATA storage device comprising a flash memory array, a first SPI interface, and a first SATA interface. And a control unit coupled to the flash memory array, the flash memory array storing a first basic input/output system code and an operating system, wherein the control unit is coupled to the first SPI interface and the first The SATA interface includes a firmware program and a random access memory, and the computer system includes a computer host having a central processing unit coupled to the first SPI interface. a second SPI interface, a second SATA interface coupled to the first SATA interface, and a dynamic random access memory unit coupled to the central processing unit, the booting method includes:
Start the computer system to boot;
The control unit executes the firmware program, reads a first basic input/output system code that is moved from the flash memory array into the random access memory, and detects the first SPI interface;
After the hardware system performs a hardware reset operation, the central processing unit transmits a read signal to the first SPI interface through the second SPI interface.
After the control unit detects that the first SPI interface receives the transmitted read signal, the control unit transmits the first basic input/output system code in the random access memory to the first SPI interface through the first SPI interface. Central processing unit;
The central processing unit transmits the first basic input/output system code to the dynamic random access memory unit through the second SPI interface, and after the reading is completed, the central processing unit executes the first basic After inputting and outputting the system code and performing self-boot test and initialization test, an instruction is transmitted;
The control unit performs an instruction received by the central processing unit, reads an operating system moved from the flash memory array to the random access memory, and transmits the operating system to the central processing unit through the first SATA interface; And the central processing unit loads the received operating system into the dynamic random access memory unit through the second SATA interface, and executes the loaded operating system.
【第10項】[Item 10] 一種應用SATA儲存裝置之基本輸入輸出系統程式碼更新方法,係應用於一無基本輸入輸出系統唯讀記憶體之電腦系統上,該SATA儲存裝置包含一快閃記憶體陣列、一第一SPI介面、一第一SATA介面及一耦接該快閃記憶體陣列之控制單元,該快閃記憶體陣列儲存有一第一基本輸入輸出系統程式碼、一第二基本輸入輸出系統程式碼、一基本輸入輸出系統更新程式及一作業系統,該控制單元係分別耦接該第一SPI介面與第一SATA介面,且其包含一具有韌體程式之韌體及一隨機存取記憶體,並該電腦系統包含一電腦主機,該電腦主機具有一中央處理單元、一耦接該第一SPI介面之第二SPI介面、一耦接該第一SATA介面之第二SATA介面及一耦接該中央處理單元之動態隨機存取記憶單元,當使用者欲將該第一基本輸入輸出系統程式碼更新時,該基本輸入輸出系統程式碼更新方法係包括:
   該控制單元透過該第二SATA介面將被搬移到該快閃記憶體陣列內的基本輸入輸出系統更新程式傳送給該中央處理單元;
該中央處理單元透過一第二SATA介面接收並執行該基本輸入輸出系統更新程式,令該基本輸入輸出系統更新程式被載入至該動態隨機存取記憶單元中執行,並透過該第二SATA介面傳送一基本輸入輸出系統更新指令;
該控制單元透過該第一SATA介面接收到該基本輸入輸出系統更新指令後,將該第二基本輸入輸出系統程式碼複製至該快閃記憶體陣列中的一指定區塊中;及
此時該控制單元將於該指定區塊中的第二基本輸入輸出系統程式碼的啟用旗標設為開啟,同時將先前於該指定區塊內的第一基本輸入輸出程式碼設為關閉後完成更新。

A basic input/output system code update method for a SATA storage device is applied to a computer system having no basic input/output system read-only memory, the SATA storage device comprising a flash memory array and a first SPI interface a first SATA interface and a control unit coupled to the flash memory array, the flash memory array storing a first basic input/output system code, a second basic input/output system code, and a basic input An output system update program and an operating system, the control unit is coupled to the first SPI interface and the first SATA interface, and includes a firmware with a firmware and a random access memory, and the computer system The computer host has a central processing unit, a second SPI interface coupled to the first SPI interface, a second SATA interface coupled to the first SATA interface, and a central processing unit coupled to the central processing unit The dynamic random access memory unit, when the user wants to update the first basic input/output system code, the basic input/output system code update method Including:
The control unit transmits the basic input/output system update program moved to the flash memory array to the central processing unit through the second SATA interface;
The central processing unit receives and executes the basic input/output system update program through a second SATA interface, so that the basic input/output system update program is loaded into the dynamic random access memory unit for execution, and the second SATA interface is transmitted through the second SATA interface. Transmitting a basic input/output system update command;
After receiving the basic input/output system update command through the first SATA interface, the control unit copies the second basic input/output system code into a designated block in the flash memory array; The control unit sets the enable flag of the second basic input/output system code in the specified block to be on, and sets the first basic input/output code previously in the specified block to be closed to complete the update.

TW103129636A 2014-08-28 2014-08-28 A sata storage device with spi interface, using this device for boot up and bios code update method thereof TWI514281B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW103129636A TWI514281B (en) 2014-08-28 2014-08-28 A sata storage device with spi interface, using this device for boot up and bios code update method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103129636A TWI514281B (en) 2014-08-28 2014-08-28 A sata storage device with spi interface, using this device for boot up and bios code update method thereof

Publications (2)

Publication Number Publication Date
TW201502991A TW201502991A (en) 2015-01-16
TWI514281B true TWI514281B (en) 2015-12-21

Family

ID=52718436

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103129636A TWI514281B (en) 2014-08-28 2014-08-28 A sata storage device with spi interface, using this device for boot up and bios code update method thereof

Country Status (1)

Country Link
TW (1) TWI514281B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI607314B (en) * 2016-06-24 2017-12-01 神雲科技股份有限公司 Chassis Device

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10620879B2 (en) 2017-05-17 2020-04-14 Macronix International Co., Ltd. Write-while-read access method for a memory device
US10445088B2 (en) 2018-01-11 2019-10-15 Macronix International Co., Ltd. System boot code clone
TWI710952B (en) * 2018-08-28 2020-11-21 緯創資通股份有限公司 Firmware update method and computer system
CN113495743A (en) * 2020-03-19 2021-10-12 瑞昱半导体股份有限公司 Storage circuit and operation method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW482981B (en) * 2000-09-06 2002-04-11 Asustek Comp Inc Device and method for assisting power-on and updating BIOS of motherboard
TWI226017B (en) * 2002-12-13 2005-01-01 Giga Byte Tech Co Ltd Method for detecting basic input/output system and updating power-on procedure
TW200532557A (en) * 2004-03-23 2005-10-01 Hon Hai Prec Ind Co Ltd A system and method for updating the BIOS sign on logo
US7188238B2 (en) * 2003-05-21 2007-03-06 Intel Corporation Methods and apparatus to update a basic input/output system (BIOS)
US7293167B2 (en) * 2003-10-15 2007-11-06 Via Technologies Inc. Method and apparatus for driving a non-native SATA hard disk
US7337309B2 (en) * 2003-03-24 2008-02-26 Intel Corporation Secure online BIOS update schemes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW482981B (en) * 2000-09-06 2002-04-11 Asustek Comp Inc Device and method for assisting power-on and updating BIOS of motherboard
TWI226017B (en) * 2002-12-13 2005-01-01 Giga Byte Tech Co Ltd Method for detecting basic input/output system and updating power-on procedure
US7337309B2 (en) * 2003-03-24 2008-02-26 Intel Corporation Secure online BIOS update schemes
US7188238B2 (en) * 2003-05-21 2007-03-06 Intel Corporation Methods and apparatus to update a basic input/output system (BIOS)
US7293167B2 (en) * 2003-10-15 2007-11-06 Via Technologies Inc. Method and apparatus for driving a non-native SATA hard disk
TW200532557A (en) * 2004-03-23 2005-10-01 Hon Hai Prec Ind Co Ltd A system and method for updating the BIOS sign on logo

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI607314B (en) * 2016-06-24 2017-12-01 神雲科技股份有限公司 Chassis Device

Also Published As

Publication number Publication date
TW201502991A (en) 2015-01-16

Similar Documents

Publication Publication Date Title
US10866797B2 (en) Data storage device and method for reducing firmware update time and data processing system including the device
US9760461B2 (en) Electronic device and firmware recovery program that ensure recovery of firmware
US9612824B2 (en) Firmware variable update method
TWI514281B (en) A sata storage device with spi interface, using this device for boot up and bios code update method thereof
US9501289B2 (en) Method of a UEFI firmware and computer system thereof
TWI480802B (en) Platform system, universal extension firmware interface Basic input and output system Support for hardware configuration changes, recording media and computer program products
US9448889B2 (en) BIOS failover update with service processor
JP5860543B2 (en) Boot data loading
US8990486B2 (en) Hardware and file system agnostic mechanism for achieving capsule support
US20150347151A1 (en) System and method for booting from a non-volatile memory
US9411605B2 (en) Device-less and system agnostic unified extensible firmware interface (UEFI) driver
JP2015038644A (en) Computer and method of updating virtual machine
JP6701398B2 (en) Firmware update by remote utility
US20120060023A1 (en) Methods for booting an operating system using non-volatile memory
TW201629785A (en) Management controller
TW201616273A (en) System and method for recovering BIOS data of a computer
KR20130068630A (en) Method for initializing embedded device and apparatus thereof
US8499142B1 (en) UEFI boot loader for loading non-UEFI compliant operating systems
US20160179626A1 (en) Computer system, adaptable hibernation control module and control method thereof
TWI743480B (en) Computer system and a booting method for the same
CN110825421B (en) Firmware upgrading method, system and readable storage medium
CN110609596B (en) Development system and production method of data storage device
US20200210166A1 (en) Systems and methods for enforcing update policies while applying updates from bootable image file
CN104268100A (en) SATA storage device, booting method applying SATA storage device and basic system renewing method applying SATA storage device
CN113646745A (en) Disabling software persistence