TWI829250B - 簽章驗證方法、記憶體儲存裝置及記憶體控制電路單元 - Google Patents
簽章驗證方法、記憶體儲存裝置及記憶體控制電路單元 Download PDFInfo
- Publication number
- TWI829250B TWI829250B TW111127009A TW111127009A TWI829250B TW I829250 B TWI829250 B TW I829250B TW 111127009 A TW111127009 A TW 111127009A TW 111127009 A TW111127009 A TW 111127009A TW I829250 B TWI829250 B TW I829250B
- Authority
- TW
- Taiwan
- Prior art keywords
- verification
- information
- data
- signature
- verification information
- Prior art date
Links
- 238000012795 verification Methods 0.000 title claims abstract description 431
- 230000015654 memory Effects 0.000 title claims abstract description 309
- 230000005055 memory storage Effects 0.000 title claims abstract description 73
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 claims description 16
- 230000008878 coupling Effects 0.000 claims description 6
- 238000010168 coupling process Methods 0.000 claims description 6
- 238000005859 coupling reaction Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000012937 correction Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
一種簽章驗證方法、記憶體儲存裝置及記憶體控制電路單元。所述方法包括:從記憶體儲存裝置中讀取第一資料、簽章資訊及第一驗證資訊;根據簽章資訊與第一驗證資訊執行第一驗證操作;根據第一資料產生第二驗證資訊;根據第一驗證資訊與第二驗證資訊執行第二驗證操作;以及根據第一驗證操作的操作結果及第二驗證操作的操作結果,對第一資料執行對應處理。
Description
本發明是有關於一種用於記憶體的簽章驗證技術,且特別是有關於一種簽章驗證方法、記憶體儲存裝置及記憶體控制電路單元。
行動電話與筆記型電腦等可攜式電子裝置在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式電子裝置中。
傳統上,資料與對應的簽章(signature)資訊會被儲存在記憶體模組中。在進行資料與簽章驗證時,資料與對應的簽章資訊會被從記憶體模組中讀取出來。讀取出來的資料會先被用於計算驗證資訊。爾後,所讀取的簽章資訊及所計算的驗證資訊會被送入至簽章驗證模組進行驗證。若通過驗證,則表示這筆資料與對應的簽章資訊是正確的。反之,則表示這筆資料及/或簽章資訊可能經過偽造或竄改。但是,如上所述,傳統的資料與簽章驗證流程必須要等到驗證資訊被即時計算出來後,簽章驗證模組才能接續執行簽章驗證,導致簽章的驗證效率低落。
有鑑於此,本發明提供一種簽章驗證方法、記憶體儲存裝置及記憶體控制電路單元,可改善上述問題及/或提高簽章的驗證效率。
本發明的範例實施例提供一種簽章驗證方法,其用於可複寫式非揮發性記憶體模組,所述簽章驗證方法包括:從所述可複寫式非揮發性記憶體模組中讀取第一資料、簽章資訊及第一驗證資訊;根據所述簽章資訊與所述第一驗證資訊執行第一驗證操作;根據所述第一資料產生第二驗證資訊;根據所述第一驗證資訊與所述第二驗證資訊執行第二驗證操作;以及根據所述第一驗證操作的操作結果及所述第二驗證操作的操作結果,對所述第一資料執行對應處理。
在本發明的一範例實施例中,執行所述第一驗證操作的時間點與根據所述第一資料產生所述第二驗證資訊的時間點相互重疊。
在本發明的一範例實施例中,所述的簽章驗證方法更包括:在從所述記憶體儲存裝置中讀取所述第一資料、所述簽章資訊及所述第一驗證資訊之前,根據所述第一驗證資訊與第一金鑰資訊,產生所述簽章資訊;以及將所述簽章資訊儲存至所述記憶體儲存裝置中。
在本發明的一範例實施例中,根據所述簽章資訊與所述第一驗證資訊執行所述第一驗證操作的步驟包括:根據第二金鑰資訊、所述簽章資訊及所述第一驗證資訊執行所述第一驗證操作,以獲得所述第一驗證操作的所述操作結果,其中所述第一金鑰資訊與所述第二金鑰資訊相互匹配。
在本發明的一範例實施例中,所述的簽章驗證方法更包括:在從所述記憶體儲存裝置中讀取所述第一資料、所述簽章資訊及所述第一驗證資訊之前,對所述第一資料執行雜湊運算,以產生所述第一驗證資訊;以及將所述第一驗證資訊儲存至所述可複寫式非揮發性記憶體模組中。
在本發明的一範例實施例中,根據所述第一驗證資訊與所述第二驗證資訊執行所述第二驗證操作包括:比對所述第一驗證資訊與所述第二驗證資訊,以獲得所述第二驗證操作的所述操作結果。
在本發明的一範例實施例中,從所述記憶體儲存裝置中讀取所述第一資料、所述簽章資訊及所述第一驗證資訊的步驟包括:從所述記憶體儲存裝置中讀取所述簽章資訊與所述第一驗證資訊;以及在根據所述簽章資訊與所述第一驗證資訊執行所述第一驗證操作的期間,從所述記憶體儲存裝置中讀取所述第一資料。
本發明的範例實施例另提供一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組及記憶體控制電路單元。所述連接介面單元用以耦接至主機系統。所述記憶體控制電路單元耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組。所述記憶體控制電路單元用以:從所述可複寫式非揮發性記憶體模組中讀取第一資料、簽章資訊及第一驗證資訊;根據所述簽章資訊與所述第一驗證資訊執行第一驗證操作;根據所述第一資料產生第二驗證資訊;根據所述第一驗證資訊與所述第二驗證資訊執行第二驗證操作;以及根據所述第一驗證操作的操作結果及所述第二驗證操作的操作結果,對所述第一資料執行對應處理。
在本發明的一範例實施例中,所述記憶體控制電路單元更用以:在從所述可複寫式非揮發性記憶體模組中讀取所述第一資料、所述簽章資訊及所述第一驗證資訊之前,根據所述第一驗證資訊與第一金鑰資訊,產生所述簽章資訊;以及將所述簽章資訊儲存至所述可複寫式非揮發性記憶體模組中。
在本發明的一範例實施例中,所述記憶體控制電路單元更用以:在從所述可複寫式非揮發性記憶體模組中讀取所述第一資料、所述簽章資訊及所述第一驗證資訊之前,對所述第一資料執行雜湊運算,以產生所述第一驗證資訊;以及將所述第一驗證資訊儲存至所述可複寫式非揮發性記憶體模組中。
在本發明的一範例實施例中,從所述可複寫式非揮發性記憶體模組中讀取所述第一資料、所述簽章資訊及所述第一驗證資訊的操作包括:從所述可複寫式非揮發性記憶體模組中讀取所述簽章資訊與所述第一驗證資訊;以及在根據所述簽章資訊與所述第一驗證資訊執行所述第一驗證操作的期間,從所述可複寫式非揮發性記憶體模組中讀取所述第一資料。
本發明的範例實施例另提供一種記憶體控制電路單元,其用以控制可複寫式非揮發性記憶體模組,所述記憶體控制電路單元包括主機介面、記憶體介面及記憶體管理電路。所述主機介面用以耦接至主機系統。所述記憶體介面用以耦接至所述可複寫式非揮發性記憶體模組。所述記憶體管理電路耦接至所述主機介面與所述記憶體介面。所述記憶體管理電路用以:從所述可複寫式非揮發性記憶體模組中讀取第一資料、簽章資訊及第一驗證資訊;根據所述簽章資訊與所述第一驗證資訊執行第一驗證操作;根據所述第一資料產生第二驗證資訊;根據所述第一驗證資訊與所述第二驗證資訊執行第二驗證操作;以及根據所述第一驗證操作的操作結果及所述第二驗證操作的操作結果,對所述第一資料執行對應處理。
在本發明的一範例實施例中,所述記憶體管理電路更用以:在從所述可複寫式非揮發性記憶體模組中讀取所述第一資料、所述簽章資訊及所述第一驗證資訊之前,根據所述第一驗證資訊與第一金鑰資訊,產生所述簽章資訊;以及將所述簽章資訊儲存至所述可複寫式非揮發性記憶體模組中。
在本發明的一範例實施例中,所述記憶體管理電路更用以:在從所述可複寫式非揮發性記憶體模組中讀取所述第一資料、所述簽章資訊及所述第一驗證資訊之前,對所述第一資料執行雜湊運算,以產生所述第一驗證資訊;以及將所述第一驗證資訊儲存至所述可複寫式非揮發性記憶體模組中。
本發明的範例實施例另提供一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組及記憶體控制電路單元。所述連接介面單元用以耦接至主機系統。所述記憶體控制電路單元耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組。所述可複寫式非揮發性記憶體模組儲存有第一資料、簽章資訊及第一驗證資訊。所述簽章資訊包含對應於所述第一資料的數位簽章,且所述第一驗證資訊是透過對所述第一資料執行雜湊運算而產生。
在本發明的一範例實施例中,所述第一驗證資訊用以在從所述可複寫式非揮發性記憶體模組讀取所述第一資料時,對所述簽章資訊進行驗證。
在本發明的一範例實施例中,所述記憶體控制電路單元用以將所述第一資料、所述簽章資訊及所述第一驗證資訊儲存於所述可複寫式非揮發性記憶體模組中。
基於上述,第一資料、簽章資訊及第一驗證資訊可從記憶體儲存裝置或可複寫式非揮發性記憶體模組中讀取出來。根據所讀取的簽章資訊與第一驗證資訊,第一驗證操作可被執行。另一方面,第二驗證資訊可根據第一資料而產生,且第二驗證操作可根據所讀取的第一驗證資訊與動態產生的第二驗證資訊而執行。爾後,根據第一驗證操作及第二驗證操作的操作結果,可對第一資料執行對應處理。藉此,透過提早執行第一驗證操作,可提升簽章的驗證效率。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)與控制器(亦稱,控制電路)。記憶體儲存裝置可與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據本發明的範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。圖2是根據本發明的範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。
請參照圖1與圖2,主機系統11可包括處理器111、隨機存取記憶體(random access memory, RAM)112、唯讀記憶體(read only memory, ROM)113及資料傳輸介面114。處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114可耦接至系統匯流排(system bus)110。
在一範例實施例中,主機系統11可透過資料傳輸介面114與記憶體儲存裝置10耦接。例如,主機系統11可經由資料傳輸介面114將資料儲存至記憶體儲存裝置10或從記憶體儲存裝置10中讀取資料。此外,主機系統11可透過系統匯流排110與I/O裝置12耦接。例如,主機系統11可經由系統匯流排110將輸出訊號傳送至I/O裝置12或從I/O裝置12接收輸入訊號。
在一範例實施例中,處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114可設置在主機系統11的主機板20上。資料傳輸介面114的數目可以是一或多個。透過資料傳輸介面114,主機板20可以經由有線或無線方式耦接至記憶體儲存裝置10。
在一範例實施例中,記憶體儲存裝置10可例如是隨身碟201、記憶卡202、固態硬碟(Solid State Drive, SSD)203或無線記憶體儲存裝置204。無線記憶體儲存裝置204可例如是近距離無線通訊(Near Field Communication, NFC)記憶體儲存裝置、無線傳真(WiFi)記憶體儲存裝置、藍牙(Bluetooth)記憶體儲存裝置或低功耗藍牙記憶體儲存裝置(例如,iBeacon)等以各式無線通訊技術為基礎的記憶體儲存裝置。此外,主機板20也可以透過系統匯流排110耦接至全球定位系統(Global Positioning System, GPS)模組205、網路介面卡206、無線傳輸裝置207、鍵盤208、螢幕209、喇叭210等各式I/O裝置。例如,在一範例實施例中,主機板20可透過無線傳輸裝置207存取無線記憶體儲存裝置204。
在一範例實施例中,主機系統11為電腦系統。在一範例實施例中,主機系統11可為可實質地與記憶體儲存裝置配合以儲存資料的任意系統。在一範例實施例中,記憶體儲存裝置10與主機系統11可分別包括圖3的記憶體儲存裝置30與主機系統31。
圖3是根據本發明的範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。請參照圖3,記憶體儲存裝置30可與主機系統31搭配使用以儲存資料。例如,主機系統31可以是數位相機、攝影機、通訊裝置、音訊播放器、視訊播放器或平板電腦等系統。例如,記憶體儲存裝置30可為主機系統31所使用的安全數位(Secure Digital, SD)卡32、小型快閃(Compact Flash, CF)卡33或嵌入式儲存裝置34等各式非揮發性記憶體儲存裝置。嵌入式儲存裝置34包括嵌入式多媒體卡(embedded Multi Media Card, eMMC)341及/或嵌入式多晶片封裝(embedded Multi Chip Package, eMCP)儲存裝置342等各類型將記憶體模組直接耦接於主機系統的基板上的嵌入式儲存裝置。
圖4是根據本發明的範例實施例所繪示的記憶體儲存裝置的示意圖。請參照圖4,記憶體儲存裝置10包括連接介面單元41、記憶體控制電路單元42與可複寫式非揮發性記憶體模組43。
連接介面單元41用以將記憶體儲存裝置10耦接主機系統11。記憶體儲存裝置10可經由連接介面單元41與主機系統11通訊。在一範例實施例中,連接介面單元41是相容於高速周邊零件連接介面(Peripheral Component Interconnect Express, PCI Express)標準。在一範例實施例中,連接介面單元41亦可以是符合序列先進附件(Serial Advanced Technology Attachment, SATA)標準、並列先進附件(Parallel Advanced Technology Attachment, PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers, IEEE)1394標準、通用序列匯流排(Universal Serial Bus, USB)標準、SD介面標準、超高速一代(Ultra High Speed-I, UHS-I)介面標準、超高速二代(Ultra High Speed-II, UHS-II)介面標準、記憶棒(Memory Stick, MS)介面標準、MCP介面標準、MMC介面標準、eMMC介面標準、通用快閃記憶體(Universal Flash Storage, UFS)介面標準、eMCP介面標準、CF介面標準、整合式驅動電子介面(Integrated Device Electronics, IDE)標準或其他適合的標準。連接介面單元41可與記憶體控制電路單元42封裝在一個晶片中,或者連接介面單元41是佈設於一包含記憶體控制電路單元42之晶片外。
記憶體控制電路單元42耦接至連接介面單元41與可複寫式非揮發性記憶體模組43。記憶體控制電路單元42用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令並且根據主機系統11的指令在可複寫式非揮發性記憶體模組43中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組43用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組43可包括單階記憶胞(Single Level Cell, SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元的快閃記憶體模組)、二階記憶胞(Multi Level Cell, MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元的快閃記憶體模組)、三階記憶胞(Triple Level Cell, TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元的快閃記憶體模組)、四階記憶胞(Quad Level Cell, QLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存4個位元的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
可複寫式非揮發性記憶體模組43中的每一個記憶胞是以電壓(以下亦稱為臨界電壓)的改變來儲存一或多個位元。具體來說,每一個記憶胞的控制閘極(control gate)與通道之間有一個電荷捕捉層。透過施予一寫入電壓至控制閘極,可以改變電荷補捉層的電子量,進而改變記憶胞的臨界電壓。此改變記憶胞之臨界電壓的操作亦稱為“把資料寫入至記憶胞”或“程式化(programming)記憶胞”。隨著臨界電壓的改變,可複寫式非揮發性記憶體模組43中的每一個記憶胞具有多個儲存狀態。透過施予讀取電壓可以判斷一個記憶胞是屬於哪一個儲存狀態,藉此取得此記憶胞所儲存的一或多個位元。
在一範例實施例中,可複寫式非揮發性記憶體模組43的記憶胞可構成多個實體程式化單元,並且此些實體程式化單元可構成多個實體抹除單元。具體來說,同一條字元線上的記憶胞可組成一或多個實體程式化單元。若每一個記憶胞可儲存2個以上的位元,則同一條字元線上的實體程式化單元可至少可被分類為下實體程式化單元與上實體程式化單元。例如,一記憶胞的最低有效位元(Least Significant Bit,LSB)是屬於下實體程式化單元,並且一記憶胞的最高有效位元(Most Significant Bit,MSB)是屬於上實體程式化單元。一般來說,在MLC NAND型快閃記憶體中,下實體程式化單元的寫入速度會大於上實體程式化單元的寫入速度,及/或下實體程式化單元的可靠度是高於上實體程式化單元的可靠度。
在一範例實施例中,實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。例如,實體程式化單元可為實體頁(page)或是實體扇(sector)。若實體程式化單元為實體頁,則此些實體程式化單元可包括資料位元區與冗餘(redundancy)位元區。資料位元區包含多個實體扇,用以儲存使用者資料,而冗餘位元區用以儲存系統資料(例如,錯誤更正碼等管理資料)。在一範例實施例中,資料位元區包含32個實體扇,且一個實體扇的大小為512位元組(byte, B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體扇,並且每一個實體扇的大小也可以是更大或更小。另一方面,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。例如,實體抹除單元為實體區塊(block)。
圖5是根據本發明的範例實施例所繪示的記憶體控制電路單元的示意圖。請參照圖5,記憶體控制電路單元42包括記憶體管理電路51、主機介面52及記憶體介面53。
記憶體管理電路51用以控制記憶體控制電路單元42的整體運作。具體來說,記憶體管理電路51具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下說明記憶體管理電路51的操作時,等同於說明記憶體控制電路單元42的操作。
在一範例實施例中,記憶體管理電路51的控制指令是以韌體型式來實作。例如,記憶體管理電路51具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在一範例實施例中,記憶體管理電路51的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組43的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路51具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當記憶體控制電路單元42被致能時,微處理器單元會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組43中之控制指令載入至記憶體管理電路51的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
在一範例實施例中,記憶體管理電路51的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路51包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是耦接至微控制器。記憶胞管理電路用以管理可複寫式非揮發性記憶體模組43的記憶胞或記憶胞群組。記憶體寫入電路用以對可複寫式非揮發性記憶體模組43下達寫入指令序列以將資料寫入至可複寫式非揮發性記憶體模組43中。記憶體讀取電路用以對可複寫式非揮發性記憶體模組43下達讀取指令序列以從可複寫式非揮發性記憶體模組43中讀取資料。記憶體抹除電路用以對可複寫式非揮發性記憶體模組43下達抹除指令序列以將資料從可複寫式非揮發性記憶體模組43中抹除。資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組43的資料以及從可複寫式非揮發性記憶體模組43中讀取的資料。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程式碼或指令碼並且用以指示可複寫式非揮發性記憶體模組43執行相對應的寫入、讀取及抹除等操作。在一範例實施例中,記憶體管理電路51還可以下達其他類型的指令序列給可複寫式非揮發性記憶體模組43以指示執行相對應的操作。
主機介面52是耦接至記憶體管理電路51。記憶體管理電路51可透過主機介面52與主機系統11通訊。主機介面52可用以接收與識別主機系統11所傳送的指令與資料。例如,主機系統11所傳送的指令與資料可透過主機介面52來傳送至記憶體管理電路51。此外,記憶體管理電路51可透過主機介面52將資料傳送至主機系統11。在本範例實施例中,主機介面52是相容於PCI Express標準。然而,必須瞭解的是本發明不限於此,主機介面52亦可以是相容於SATA標準、PATA標準、IEEE 1394標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面53是耦接至記憶體管理電路51並且用以存取可複寫式非揮發性記憶體模組43。例如,記憶體管理電路51可透過記憶體介面53存取可複寫式非揮發性記憶體模組43。也就是說,欲寫入至可複寫式非揮發性記憶體模組43的資料會經由記憶體介面53轉換為可複寫式非揮發性記憶體模組43所能接受的格式。具體來說,若記憶體管理電路51要存取可複寫式非揮發性記憶體模組43,記憶體介面53會傳送對應的指令序列。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除指令序列、以及用以指示各種記憶體操作(例如,改變讀取電壓準位或執行垃圾回收操作等等)的相對應的指令序列。這些指令序列例如是由記憶體管理電路51產生並且透過記憶體介面53傳送至可複寫式非揮發性記憶體模組43。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
在一範例實施例中,記憶體控制電路單元42還包括錯誤檢查與校正電路54、緩衝記憶體55及電源管理電路56。
錯誤檢查與校正電路54是耦接至記憶體管理電路51並且用以執行錯誤檢查與校正操作以確保資料的正確性。具體來說,當記憶體管理電路51從主機系統11中接收到寫入指令時,錯誤檢查與校正電路54會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code, ECC)及/或錯誤檢查碼(error detecting code,EDC),並且記憶體管理電路51會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組43中。之後,當記憶體管理電路51從可複寫式非揮發性記憶體模組43中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路54會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正操作。
緩衝記憶體55是耦接至記憶體管理電路51並且用以暫存資料。電源管理電路56是耦接至記憶體管理電路51並且用以控制記憶體儲存裝置10的電源。
在一範例實施例中,圖4的可複寫式非揮發性記憶體模組43可包括快閃記憶體模組。在一範例實施例中,圖4的記憶體控制電路單元42可包括快閃記憶體控制器。在一範例實施例中,圖5的記憶體管理電路51可包括快閃記憶體管理電路。
圖6是根據本發明的範例實施例所繪示的管理可複寫式非揮發性記憶體模組的示意圖。請參照圖6,記憶體管理電路51可將可複寫式非揮發性記憶體模組43中的實體單元610(0)~610(B)邏輯地分組至儲存區601與閒置(spare)區602。
在一範例實施例中,一個實體單元是指一個實體位址或一個實體程式化單元。在一範例實施例中,一個實體單元亦可以是由多個連續或不連續的實體位址組成。在一範例實施例中,一個實體單元亦可以是指一個虛擬區塊(VB)。一個虛擬區塊可包括多個實體位址或多個實體程式化單元。
儲存區601中的實體單元610(0)~610(A)用以儲存使用者資料(例如來自圖1的主機系統11的使用者資料)。例如,儲存區601中的實體單元610(0)~610(A)可儲存有效(valid)資料與無效(invalid)資料。閒置區602中的實體單元610(A+1)~610(B)未儲存資料(例如有效資料)。例如,若某一個實體單元未儲存有效資料,則此實體單元可被關聯(或加入)至閒置區602。此外,閒置區602中的實體單元(或未儲存有效資料的實體單元)可被抹除。在寫入新資料時,一或多個實體單元可被從閒置區602中提取以儲存此新資料。在一範例實施例中,閒置區602亦稱為閒置池(free pool)。
記憶體管理電路51可配置邏輯單元612(0)~612(C)以映射儲存區601中的實體單元610(0)~610(A)。在一範例實施例中,每一個邏輯單元對應一個邏輯位址。例如,一個邏輯位址可包括一或多個邏輯區塊位址(Logical Block Address, LBA)或其他的邏輯管理單元。在一範例實施例中,一個邏輯單元也可對應一個邏輯程式化單元或者由多個連續或不連續的邏輯位址組成。
須注意的是,一個邏輯單元可被映射至一或多個實體單元。若某一實體單元當前有被某一邏輯單元映射,則表示此實體單元當前儲存的資料包括有效資料。反之,若某一實體單元當前未被任一邏輯單元映射,則表示此實體單元當前儲存的資料為無效資料。
記憶體管理電路51可將描述邏輯單元與實體單元之間的映射關係的管理資料(亦稱為邏輯至實體映射資訊)記錄於至少一邏輯至實體映射表。當主機系統11欲從記憶體儲存裝置10讀取資料或寫入資料至記憶體儲存裝置10時,記憶體管理電路51可根據此邏輯至實體映射表中的資訊來存取可複寫式非揮發性記憶體模組43。
圖7是根據本發明的範例實施例所繪示的同時儲存簽章資訊及驗證資訊的資料結構的示意圖。請參照圖7,資料結構70包括資料(亦稱為第一資料)71、簽章資訊72及驗證資訊(亦稱為第一驗證資訊)73。資料結構70可儲存於圖6中的一或多個實體單元中。
在一範例實施例中,記憶體管理電路51可將資料71、簽章資訊72及驗證資訊73以資料結構70的形式儲存於可複寫式非揮發性記憶體模組43中。資料71可包括程式碼、韌體碼或任意資料。簽章資訊72包含對應於資料71的數位簽章(digital signature)。驗證資訊73可透過對資料71執行雜湊(hash)運算而產生。例如,所述雜湊運算可採用安全雜湊演算法(Secure Hash Algorithm, SHA)或者其他類型的雜湊演算法,本發明不加以限制。特別是,驗證資訊73可用以在從可複寫式非揮發性記憶體模組43讀取資料71時,對簽章資訊72進行驗證。
在一範例實施例中,當欲儲存資料71時,記憶體管理電路51可對資料71執行所述雜湊運算,以產生驗證資訊73。換言之,驗證資訊73可反映對資料71執行所述雜湊運算的運算結果。在獲得驗證資訊73後,記憶體管理電路51可將驗證資訊73作為資料結構70的一部分而儲存至可複寫式非揮發性記憶體模組43中。
另一方面,在獲得驗證資訊73後,記憶體管理電路51可根據驗證資訊73與金鑰資訊(亦稱為第一金鑰資訊)產生簽章資訊72。例如,第一金鑰資訊可包括公開金鑰密碼學(Public-key cryptography)或非對稱式密碼學(Asymmetric cryptography)中的私鑰(private key)。記憶體管理電路51可根據公開金鑰密碼學或非對稱式密碼學中的橢圓曲線(Elliptic Curve)加密演算法或類似的非對稱式加密演算法來對驗證資訊73與第一金鑰資訊進行運算,以產生簽章資訊72。藉此,簽章資訊72在使用上的概念類似於資料71的擁有者使用其私鑰對資料71進行親筆簽名。須注意的是,使用橢圓曲線加密演算法等各式非對稱式加密演算法來產生數位簽章屬於習知技藝,故在此不多加贅述。在獲得簽章資訊72後,記憶體管理電路51可將簽章資訊72作為資料結構70的一部分而儲存至可複寫式非揮發性記憶體模組43中。
傳統上,當欲儲存資料71時,資料71可與簽章資訊72一併儲存,但驗證資訊73不會事先被儲存。也就是說,傳統上的資料結構70不會包含驗證資訊73。傳統上,當欲讀取資料71時,驗證資訊73會在讀取資料71的過程中,根據對資料71進行雜湊運算的即時運算結果而獲得。在獲得驗證資訊73後,才能根據簽章資訊72與驗證資訊73進行非對稱式加密演算法的驗證運算,以對簽章資訊72進行驗證。換言之,傳統上在讀取資料71時,非對稱式加密演算法的驗證運算需要等到對資料71進行的雜湊運算完成(即經過計算而獲得驗證資訊73)後才能執行,導致簽章驗證的執行時間很長。
然而,在圖7的範例實施例中,當欲讀取資料結構70中的資料71時,資料結構70中的簽章資訊72及驗證資訊73可直接用於非對稱式加密演算法的驗證運算,使簽章資訊72的驗證可至少部分地與資料71的雜湊運算同步執行。爾後,再利用資料71的雜湊運算的即時運算結果來對驗證資訊73的有效性進行驗證。藉此,可有效縮短執行簽章驗證的時間及/或提高簽章的驗證效率。
圖8是根據本發明的範例實施例所繪示的讀取資料並執行簽章驗證的示意圖。須注意的是,在圖8中,橫軸方向代表時間。
請參照圖7與圖8,在一範例實施例中,當欲讀取資料71(即第一資料)時,在方塊81~83中,記憶體管理電路51可依序從可複寫式非揮發性記憶體模組43中讀取資料71、簽章資訊72及驗證資訊73(即第一驗證資訊)。
在讀取資料71後,在方塊84中,記憶體管理電路51可根據所讀取的資料71產生另一驗證資訊(亦稱為第二驗證資訊)。例如,記憶體管理電路51可對第一資料執行所述雜湊運算,以產生第二驗證資訊。換言之,第二驗證資訊可反映對資料71執行所述雜湊運算的運算結果。
另一方面,在讀取簽章資訊72與驗證資訊73後,在方塊85中,記憶體管理電路51可根據所讀取的簽章資訊72與驗證資訊73執行一個驗證操作(亦稱為第一驗證操作)。例如,簽章資訊72與驗證資訊73可被送入記憶體管理電路51所運行的簽章驗證模組中。簽章驗證模組可根據簽章資訊72與驗證資訊73執行第一驗證操作。例如,所述簽章驗證模組可採用公開金鑰密碼學或非對稱式密碼學中的橢圓曲線數位簽章演算法(Elliptic Curve Digital Signature Algorithm, ECDSA)或類似的數位簽章演算法,以根據驗證資訊73對簽章資訊72進行驗證。在一範例實施例中,第一驗證操作亦稱為簽章驗證操作。此簽章驗證操作可用以驗證簽章資訊72(即數位簽章)。
在一範例實施例中,在方塊85中,記憶體管理電路51(或簽章驗證模組)可根據另一金鑰資訊(亦稱為第二金鑰資訊)、簽章資訊72及驗證資訊73執行第一驗證操作。例如,第二金鑰資訊可包括公開金鑰密碼學或非對稱式密碼學中的公鑰(public key),且此公鑰與先前用來產生簽章資訊72的私鑰相互對應(例如相互匹配)。例如,記憶體管理電路51(或簽章驗證模組)可根據橢圓曲線數位簽章演算法來對第二金鑰資訊、簽章資訊72及驗證資訊73進行運算,以獲得第一驗證操作的操作結果。須注意的是,使用橢圓曲線數位簽章演算法等各式簽章驗證演算法來對數位簽章進行驗證屬於習知技藝,故在此不多加贅述。
在一範例實施例中,若第一驗證操作的操作結果為正,表示所讀取的簽章資訊72通過所述簽章驗證模組的驗證。相反的,若第一驗證操作的操作結果為負,則表示所讀取的簽章資訊72未通過所述簽章驗證模組的驗證。若簽章資訊72未通過所述簽章驗證模組的驗證,表示簽章資訊72可能經過偽造或竄改,且資料71的正確性或安全性可能也有疑慮。
須注意的是,如圖8所示,執行第一驗證操作的時間點與根據第一資料產生第二驗證資訊的時間點可至少部分相互重疊。藉此,可有效縮短執行簽章驗證的整體時間及/或提高簽章的驗證效率。
此外,在取得動態產生的第二驗證資訊後,在方塊86中,記憶體管理電路51可根據從可複寫式非揮發性記憶體模組43中讀取的驗證資訊73與所述第二驗證資訊執行與資料71有關的另一驗證操作(亦稱為第二驗證操作)。例如,在第二驗證操作中,記憶體管理電路51可將第二驗證資訊與從可複寫式非揮發性記憶體模組43中讀取的驗證資訊73進行比對。
在一範例實施例中,若第二驗證資訊與驗證資訊73的比對結果反映第二驗證資訊相同於驗證資訊73,記憶體管理電路51可判定第二驗證操作的操作結果為正。反之,若第二驗證資訊與驗證資訊73的比對結果反映第二驗證資訊不同於驗證資訊73,則記憶體管理電路51可判定第二驗證操作的操作結果為負。換言之,第二驗證資訊與驗證資訊73的比對結果(即第二驗證操作的操作結果)可反映出第二驗證資訊是否相同於先前儲存的驗證資訊73。
在一範例實施例中,若第二驗證操作的操作結果為正,表示第二驗證資訊相同於驗證資訊73。因此,記憶體管理電路51可判定基於驗證資訊73執行的第一驗證操作是有效的。反之,若第二驗證操作的操作結果為負,表示第二驗證資訊不同於驗證資訊73。因此,記憶體管理電路51可判定基於驗證資訊73執行的第一驗證操作是無效的。
在完成第一驗證操作與第二驗證操作後,記憶體管理電路51可根據第一驗證操作及第二驗證操作的操作結果,對所讀取的資料71執行對應處理。例如,若第一驗證操作及第二驗證操作的操作結果皆為正,表示簽章資訊72有通過簽章驗證模組的驗證且基於驗證資訊73執行的第一驗證操作是有效的。因此,記憶體管理電路51可接續執行對應於資料71的預設操作。例如,假設資料71是主機系統11所欲讀取的資料,則記憶體管理電路51可將資料71傳送給主機系統11。或者,假設資料71是記憶體儲存裝置10開機時所運行的韌體碼,則記憶體管理電路51可接續執行資料71,以執行開機程序。
在一範例實施例中,若第一驗證操作的操作結果為正,但第二驗證操作的操作結果為負,表示雖然簽章資訊72有通過簽章驗證模組的驗證,但是驗證資訊73並不能代表實際上要使用的驗證資訊(即第二驗證資訊)。因此,記憶體管理電路51可執行預設的錯誤處理程序。例如,所述錯誤處理程序可包括傳送錯誤訊息給主機系統11,以反映對應於資料71的數位簽章發生問題。
在一範例實施例中,若第一驗證操作的操作結果為負,但第二驗證操作的操作結果為正,表示雖然基於驗證資訊73執行的第一驗證操作是有效的(即第二驗證操作的操作結果為正),但是簽章資訊72未通過簽章驗證模組的驗證(即第一驗證操作的操作結果為負)。因此,記憶體管理電路51同樣可執行預設的錯誤處理程序。同理,若第一驗證操作與第二驗證操作的操作結果皆為負,則記憶體管理電路51同樣可執行預設的錯誤處理程序。
在一範例實施例中,若第一驗證操作的操作結果及/或第二驗證操作的操作結果為負,則記憶體管理電路51可使用當前計算出的第二驗證資訊來取代先前輸入至簽章驗證模組的驗證資訊53,來重新執行簽章驗證操作。透過使用第二驗證資訊來重新對簽章資訊72進行驗證,可確保簽章驗證操作的準確性。
須注意的是,在圖8的範例實施例中,是從可複寫式非揮發性記憶體模組43中連續讀取資料71、簽章資訊72及驗證資訊73後,才開始執行第二驗證資訊的計算及第一驗證操作。然而,在另一範例實施例中,第一驗證操作及/或第二驗證資訊的計算亦可以是隨著資料71的讀取而同步執行,藉以更進一步提高資料與簽章的驗證效率。
圖9是根據本發明的範例實施例所繪示的讀取資料並執行簽章驗證的示意圖。在圖9中,橫軸方向也代表時間。
請參照圖7與圖9,在一範例實施例中,當欲讀取資料71(即第一資料)時,在方塊91與92中,記憶體管理電路51可先從可複寫式非揮發性記憶體模組43中讀取簽章資訊72及驗證資訊73(即第一驗證資訊)。然後,在方塊93中,記憶體管理電路51可根據所讀取的簽章資訊72與驗證資訊73執行第一驗證操作。例如,簽章資訊72與驗證資訊73可被送入記憶體管理電路51所運行的簽章驗證模組中,以對簽章資訊72與驗證資訊73執行第一驗證操作。
另一方面,在讀取簽章資訊72與驗證資訊73後,在方塊94中,記憶體管理電路51可從可複寫式非揮發性記憶體模組43中讀取資料71(即第一資料)。在方塊95中,根據所讀取的資料71,記憶體管理電路51可逐步產生第二驗證資訊。例如,圖9中標記為1~8的資料段可用以表示第一資料中的多個資料段,而標記為A~H的資料段則可用以表示第二驗證資訊中的多個資訊段。記憶體管理電路51可逐一從複寫式非揮發性記憶體模組43中讀取第一資料中的資料段1~8,並根據所讀取的資料段逐一產生第二驗證資訊中的資料段A~H。
須注意的是,類似於圖8的範例實施例,在圖9的範例實施例中,執行第一驗證操作的時間點與根據第一資料產生第二驗證資訊的時間點同樣可至少部分相互重疊。藉此,可有效縮短執行簽章驗證的整體時間及/或提高簽章的驗證效率。特別是,相較於圖8的範例實施例,在圖9的範例實施例中,第一驗證操作及第二驗證資訊的計算皆是隨著資料71的讀取而同步執行,藉以更進一步縮短執行簽章驗證的整體時間及/或提高簽章的驗證效率。
在取得第二驗證資訊後,在方塊96中,記憶體管理電路51可根據從可複寫式非揮發性記憶體模組43中讀取的驗證資訊73與所述第二驗證資訊執行第二驗證操作。接著,根據第一驗證操作及第二驗證操作的操作結果,記憶體管理電路51可對所讀取的資料71執行對應處理。須注意的是,圖9的範例實施例中的第一驗證操作、第二驗證資訊的計算及第二驗證操作的相關操作細節皆可參照圖8的範例實施例,在此不重複贅述。
圖10是根據本發明的範例實施例所繪示的簽章驗證方法的流程圖。請參照圖10,在步驟S1001中,從可複寫式非揮發性記憶體模組或記憶體儲存裝置中讀取第一資料、簽章資訊及第一驗證資訊。在步驟S1002中,根據簽章資訊與第一驗證資訊執行第一驗證操作。在步驟S1003中,根據第一資料產生第二驗證資訊。在步驟S1004中,根據第一驗證資訊與第二驗證資訊執行第二驗證操作。在步驟S1005中,根據第一驗證操作的操作結果及第二驗證操作的操作結果,對第一資料執行對應處理。
然而,圖10中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖10中各步驟可以實作為多個程式碼或是電路,本發明不加以限制。此外,圖10的方法可以搭配以上範例實施例使用,也可以單獨使用,本發明不加以限制。
綜上所述,本發明所提出的範例實施例可透過事先將可用於驗證數位簽章的第一驗證資訊儲存於可複寫式非揮發性記憶體模組或記憶體儲存裝置中。爾後,當欲讀取資料時,這個事先儲存的第一驗證資訊即可用於提前執行對於數位簽章的簽章驗證操作(即第一驗證操作),而不需要等待第二驗證資訊的產生。藉此,可有效提高對簽章(即數位簽章)的驗證效率。此外,透過執行第二驗證操作,亦可確保提前執行的簽章驗證操作的有效性。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10,30:記憶體儲存裝置
11,31:主機系統
110:系統匯流排
111:處理器
112:隨機存取記憶體
113:唯讀記憶體
114:資料傳輸介面
12:輸入/輸出(I/O)裝置
20:主機板
201:隨身碟
202:記憶卡
203:固態硬碟
204:無線記憶體儲存裝置
205:全球定位系統模組
206:網路介面卡
207:無線傳輸裝置
208:鍵盤
209:螢幕
210:喇叭
32:SD卡
33:CF卡
34:嵌入式儲存裝置
341:嵌入式多媒體卡
342:嵌入式多晶片封裝儲存裝置
41:連接介面單元
42:記憶體控制電路單元
43:可複寫式非揮發性記憶體模組
51:記憶體管理電路
52:主機介面
53:記憶體介面
54:錯誤檢查與校正電路
55:緩衝記憶體
56:電源管理電路
601:儲存區
602:閒置區
610(0)~610(B):實體單元
612(0)~612(C):邏輯單元
70:資料結構
71:資料
72:簽章資訊
73:驗證資訊
81~86,91~96:方塊
S1001:步驟(從可複寫式非揮發性記憶體模組中讀取第一資料、簽章資訊及第一驗證資訊)
S1002:步驟(根據簽章資訊與第一驗證資訊執行第一驗證操作)
S1003:步驟(根據第一資料產生第二驗證資訊)
S1004:步驟(根據第一驗證資訊與第二驗證資訊執行第二驗證操作)
S1005:步驟(根據第一驗證操作的操作結果及第二驗證操作的操作結果,對第一資料執行對應處理)
圖1是根據本發明的範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。
圖2是根據本發明的範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。
圖3是根據本發明的範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖4是根據本發明的範例實施例所繪示的記憶體儲存裝置的示意圖。
圖5是根據本發明的範例實施例所繪示的記憶體控制電路單元的示意圖。
圖6是根據本發明的範例實施例所繪示的管理可複寫式非揮發性記憶體模組的示意圖。
圖7是根據本發明的範例實施例所繪示的同時儲存簽章資訊及驗證資訊的資料結構的示意圖。
圖8是根據本發明的範例實施例所繪示的讀取資料並執行簽章驗證的示意圖。
圖9是根據本發明的範例實施例所繪示的讀取資料並執行簽章驗證的示意圖。
圖10是根據本發明的範例實施例所繪示的簽章驗證方法的流程圖。
S1001:步驟(從可複寫式非揮發性記憶體模組中讀取第一資料、簽章資訊及第一驗證資訊)
S1002:步驟(根據簽章資訊與第一驗證資訊執行第一驗證操作)
S1003:步驟(根據第一資料產生第二驗證資訊)
S1004:步驟(根據第一驗證資訊與第二驗證資訊執行第二驗證操作)
S1005:步驟(根據第一驗證操作的操作結果及第二驗證操作的操作結果,對第一資料執行對應處理)
Claims (24)
- 一種簽章驗證方法,用於記憶體儲存裝置,該簽章驗證方法包括: 從該記憶體儲存裝置中讀取第一資料、簽章資訊及第一驗證資訊; 根據該簽章資訊與該第一驗證資訊執行第一驗證操作; 根據該第一資料產生第二驗證資訊; 根據該第一驗證資訊與該第二驗證資訊執行第二驗證操作;以及 根據該第一驗證操作的操作結果及該第二驗證操作的操作結果,對該第一資料執行對應處理。
- 如請求項1所述的簽章驗證方法,其中執行該第一驗證操作的時間點與根據該第一資料產生該第二驗證資訊的時間點相互重疊。
- 如請求項1所述的簽章驗證方法,更包括: 在從該記憶體儲存裝置中讀取該第一資料、該簽章資訊及該第一驗證資訊之前,根據該第一驗證資訊與第一金鑰資訊,產生該簽章資訊;以及 將該簽章資訊儲存至該記憶體儲存裝置中。
- 如請求項3所述的簽章驗證方法,其中根據該簽章資訊與該第一驗證資訊執行該第一驗證操作的步驟包括: 根據第二金鑰資訊、該簽章資訊及該第一驗證資訊執行該第一驗證操作,以獲得該第一驗證操作的該操作結果, 其中該第一金鑰資訊與該第二金鑰資訊相互匹配。
- 如請求項1所述的簽章驗證方法,更包括: 在從該記憶體儲存裝置中讀取該第一資料、該簽章資訊及該第一驗證資訊之前,對該第一資料執行雜湊運算,以產生該第一驗證資訊;以及 將該第一驗證資訊儲存至該可複寫式非揮發性記憶體模組中。
- 如請求項1所述的簽章驗證方法,其中根據該第一驗證資訊與該第二驗證資訊執行該第二驗證操作包括: 比對該第一驗證資訊與該第二驗證資訊,以獲得該第二驗證操作的該操作結果。
- 如請求項1所述的簽章驗證方法,其中從該記憶體儲存裝置中讀取該第一資料、該簽章資訊及該第一驗證資訊的步驟包括: 從該記憶體儲存裝置中讀取該簽章資訊與該第一驗證資訊;以及 在根據該簽章資訊與該第一驗證資訊執行該第一驗證操作的期間,從該記憶體儲存裝置中讀取該第一資料。
- 一種記憶體儲存裝置,包括: 連接介面單元,用以耦接至主機系統; 可複寫式非揮發性記憶體模組;以及 記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組, 其中該記憶體控制電路單元用以: 從該可複寫式非揮發性記憶體模組中讀取第一資料、簽章資訊及第一驗證資訊; 根據該簽章資訊與該第一驗證資訊執行第一驗證操作; 根據該第一資料產生第二驗證資訊; 根據該第一驗證資訊與該第二驗證資訊執行第二驗證操作;以及 根據該第一驗證操作的操作結果及該第二驗證操作的操作結果,對該第一資料執行對應處理。
- 如請求項8所述的記憶體儲存裝置,其中執行該第一驗證操作的時間點與根據該第一資料產生該第二驗證資訊的時間點相互重疊。
- 如請求項8所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以: 在從該可複寫式非揮發性記憶體模組中讀取該第一資料、該簽章資訊及該第一驗證資訊之前,根據該第一驗證資訊與第一金鑰資訊,產生該簽章資訊;以及 將該簽章資訊儲存至該可複寫式非揮發性記憶體模組中。
- 如請求項10所述的記憶體儲存裝置,其中根據該簽章資訊與該第一驗證資訊執行該第一驗證操作包括: 根據第二金鑰資訊、該簽章資訊及該第一驗證資訊執行該第一驗證操作,以獲得該第一驗證操作的該操作結果, 其中該第一金鑰資訊與該第二金鑰資訊相互匹配。
- 如請求項8所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以: 在從該可複寫式非揮發性記憶體模組中讀取該第一資料、該簽章資訊及該第一驗證資訊之前,對該第一資料執行雜湊運算,以產生該第一驗證資訊;以及 將該第一驗證資訊儲存至該可複寫式非揮發性記憶體模組中。
- 如請求項8所述的記憶體儲存裝置,其中根據該第一驗證資訊與該第二驗證資訊執行該第二驗證操作包括: 比對該第一驗證資訊與該第二驗證資訊,以獲得該第二驗證操作的該操作結果。
- 如請求項8所述的記憶體儲存裝置,其中從該可複寫式非揮發性記憶體模組中讀取該第一資料、該簽章資訊及該第一驗證資訊的操作包括: 從該可複寫式非揮發性記憶體模組中讀取該簽章資訊與該第一驗證資訊;以及 在根據該簽章資訊與該第一驗證資訊執行該第一驗證操作的期間,從該可複寫式非揮發性記憶體模組中讀取該第一資料。
- 一種記憶體控制電路單元,用以控制可複寫式非揮發性記憶體模組,該記憶體控制電路單元包括: 主機介面,用以耦接至主機系統; 記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組;以及 記憶體管理電路,耦接至該主機介面與該記憶體介面, 其中該記憶體管理電路用以: 從該可複寫式非揮發性記憶體模組中讀取第一資料、簽章資訊及第一驗證資訊; 根據該簽章資訊與該第一驗證資訊執行第一驗證操作; 根據該第一資料產生第二驗證資訊; 根據該第一驗證資訊與該第二驗證資訊執行第二驗證操作;以及 根據該第一驗證操作的操作結果及該第二驗證操作的操作結果,對該第一資料執行對應處理。
- 如請求項15所述的記憶體控制電路單元,其中執行該第一驗證操作的時間點與根據該第一資料產生該第二驗證資訊的時間點相互重疊。
- 如請求項15所述的記憶體控制電路單元,其中該記憶體管理電路更用以: 在從該可複寫式非揮發性記憶體模組中讀取該第一資料、該簽章資訊及該第一驗證資訊之前,根據該第一驗證資訊與第一金鑰資訊,產生該簽章資訊;以及 將該簽章資訊儲存至該可複寫式非揮發性記憶體模組中。
- 如請求項17所述的記憶體控制電路單元,其中根據該簽章資訊與該第一驗證資訊執行該第一驗證操作包括: 根據第二金鑰資訊、該簽章資訊及該第一驗證資訊執行該第一驗證操作,以獲得該第一驗證操作的該操作結果, 其中該第一金鑰資訊與該第二金鑰資訊相互匹配。
- 如請求項15所述的記憶體控制電路單元,其中該記憶體管理電路更用以: 在從該可複寫式非揮發性記憶體模組中讀取該第一資料、該簽章資訊及該第一驗證資訊之前,對該第一資料執行雜湊運算,以產生該第一驗證資訊;以及 將該第一驗證資訊儲存至該可複寫式非揮發性記憶體模組中。
- 如請求項15所述的記憶體控制電路單元,其中根據該第一驗證資訊與該第二驗證資訊執行該第二驗證操作包括: 比對該第一驗證資訊與該第二驗證資訊,以獲得該第二驗證操作的該操作結果。
- 如請求項15所述的記憶體控制電路單元,其中從該可複寫式非揮發性記憶體模組中讀取該第一資料、該簽章資訊及該第一驗證資訊的操作包括: 從該可複寫式非揮發性記憶體模組中讀取該簽章資訊與該第一驗證資訊;以及 在根據該簽章資訊與該第一驗證資訊執行該第一驗證操作的期間,從該可複寫式非揮發性記憶體模組中讀取該第一資料。
- 一種記憶體儲存裝置,包括: 連接介面單元,用以耦接至主機系統; 可複寫式非揮發性記憶體模組;以及 記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組, 其中該可複寫式非揮發性記憶體模組儲存有第一資料、簽章資訊及第一驗證資訊, 該簽章資訊包含對應於該第一資料的數位簽章,且該第一驗證資訊是透過對該第一資料執行雜湊運算而產生。
- 如請求項22所述的記憶體儲存裝置,其中該第一驗證資訊用以在從該可複寫式非揮發性記憶體模組讀取該第一資料時,對該簽章資訊進行驗證。
- 如請求項22所述的記憶體儲存裝置,其中該記憶體控制電路單元用以將該第一資料、該簽章資訊及該第一驗證資訊儲存於該可複寫式非揮發性記憶體模組中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111127009A TWI829250B (zh) | 2022-07-19 | 2022-07-19 | 簽章驗證方法、記憶體儲存裝置及記憶體控制電路單元 |
US17/878,084 US20240031165A1 (en) | 2022-07-19 | 2022-08-01 | Signature verification method, memory storage device and memory control circuit unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111127009A TWI829250B (zh) | 2022-07-19 | 2022-07-19 | 簽章驗證方法、記憶體儲存裝置及記憶體控制電路單元 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI829250B true TWI829250B (zh) | 2024-01-11 |
TW202405642A TW202405642A (zh) | 2024-02-01 |
Family
ID=89576066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111127009A TWI829250B (zh) | 2022-07-19 | 2022-07-19 | 簽章驗證方法、記憶體儲存裝置及記憶體控制電路單元 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240031165A1 (zh) |
TW (1) | TWI829250B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1380610A (zh) * | 2001-04-09 | 2002-11-20 | 凤凰技术有限公司 | 用于计算机装置验证的系统和方法 |
TWI347521B (en) * | 2006-02-06 | 2011-08-21 | Sony Corp | Information processing apparatus, information recording medium manufacturing apparatus, information recording medium, information processing method, information recording medium manufacturing method, and computer program |
US20120072736A1 (en) * | 2010-09-17 | 2012-03-22 | Kabushiki Kaisha Toshiba | Memory device, memory system, and authentication method |
TWI496161B (zh) * | 2010-08-06 | 2015-08-11 | Phison Electronics Corp | 記憶體識別碼產生方法、管理方法、控制器與儲存系統 |
US20170201378A1 (en) * | 2016-01-13 | 2017-07-13 | Samsung Electronics Co., Ltd. | Electronic device and method for authenticating identification information thereof |
-
2022
- 2022-07-19 TW TW111127009A patent/TWI829250B/zh active
- 2022-08-01 US US17/878,084 patent/US20240031165A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1380610A (zh) * | 2001-04-09 | 2002-11-20 | 凤凰技术有限公司 | 用于计算机装置验证的系统和方法 |
TWI347521B (en) * | 2006-02-06 | 2011-08-21 | Sony Corp | Information processing apparatus, information recording medium manufacturing apparatus, information recording medium, information processing method, information recording medium manufacturing method, and computer program |
TWI496161B (zh) * | 2010-08-06 | 2015-08-11 | Phison Electronics Corp | 記憶體識別碼產生方法、管理方法、控制器與儲存系統 |
US20120072736A1 (en) * | 2010-09-17 | 2012-03-22 | Kabushiki Kaisha Toshiba | Memory device, memory system, and authentication method |
US20170201378A1 (en) * | 2016-01-13 | 2017-07-13 | Samsung Electronics Co., Ltd. | Electronic device and method for authenticating identification information thereof |
Also Published As
Publication number | Publication date |
---|---|
US20240031165A1 (en) | 2024-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI681295B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI641966B (zh) | 記憶體儲存系統、主機系統驗證方法及記憶體儲存裝置 | |
TWI705331B (zh) | 有效資料合併方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI688953B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI717816B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI733375B (zh) | 資料轉移方法與記憶體儲存裝置 | |
TWI829250B (zh) | 簽章驗證方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI750013B (zh) | 資料存取方法、記憶體控制電路單元及記憶體儲存裝置 | |
TW202405642A (zh) | 簽章驗證方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN110069934B (zh) | 存储器存储系统、主机系统验证方法及存储器存储装置 | |
TWI826161B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI819876B (zh) | 資料儲存方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI810719B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN115238321A (zh) | 签名验证方法、存储器存储装置及存储器控制电路单元 | |
TWI813978B (zh) | 快閃記憶體控制方法、快閃記憶體儲存裝置及快閃記憶體控制器 | |
TWI834149B (zh) | 表格管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI813362B (zh) | 部分抹除管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI780003B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI823792B (zh) | 映射表更新方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI805379B (zh) | 基於資料優先級的風險評估方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI814501B (zh) | 映射表重建方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI810865B (zh) | 表格排序方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI799031B (zh) | 解碼電路模組、記憶體控制電路單元及記憶體儲存裝置 | |
TWI771243B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI783522B (zh) | 資料重建方法、記憶體儲存裝置及記憶體控制電路單元 |