TWI743715B - 用來針對非揮發性記憶體進行資訊保護的方法及設備 - Google Patents
用來針對非揮發性記憶體進行資訊保護的方法及設備 Download PDFInfo
- Publication number
- TWI743715B TWI743715B TW109109824A TW109109824A TWI743715B TW I743715 B TWI743715 B TW I743715B TW 109109824 A TW109109824 A TW 109109824A TW 109109824 A TW109109824 A TW 109109824A TW I743715 B TWI743715 B TW I743715B
- Authority
- TW
- Taiwan
- Prior art keywords
- seed
- die
- data
- address
- dependent
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- 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/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- 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/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明提供一種用來針對一非揮發性記憶體進行資訊保護的方法及設備,其中該方法係應用於一控制器。該方法包含:取得一第一裸晶依賴性種子與一第二裸晶依賴性種子,其中該第一裸晶依賴性種子與該第二裸晶依賴性種子對應於用來實施該非揮發性記憶體的一裸晶;依據該第一裸晶依賴性種子對一位址的多組位址資訊進行重新排列,以供保護該控制器與該非揮發性記憶體之間的至少一位址訊號所載的該位址;以及依據該第二裸晶依賴性種子對一組資料的多個子集合進行重新排列,以供保護該控制器與該非揮發性記憶體之間的至少一資料訊號所載的該組資料。
Description
本發明係關於記憶體控制,尤指一種用來針對一非揮發性記憶體(non-volatile memory,NVM)進行資訊保護的方法以及相關設備(apparatus)諸如一控制器、包含該控制器之一電子裝置等。
針對側通道攻擊(side channel attack),駭客可依據控制器積體電路(integrated circuit,IC)對快閃記憶體(Flash memory)的讀取或寫入行為透過邏輯分析器(logic analyzer)或電流計來進行逆向工程,例如進行關聯性分析以判斷程式正在進行某一種運算行為,且進一步分析型樣(patterns)以對某讀取或寫入位址進行攻擊。相關技術中提出了關於內容加密的防護方法以嘗試解決上列問題,但可能有額外的問題諸如某些副作用。例如,關於上述防護方法(尤其,加密/解密等)之計算非常耗費時間,這可降低系統效能。另外,雖然廠商(vendor)可對不同版本的韌體(firmware)進行加密,駭客可直接將舊電子產品中的舊快閃記憶體代換為新電子產品中的新快閃記憶體,使新版的韌體可運行在舊版的IC平台上,以分析讀取或寫入型樣,這可帶來針對系統安全性之極大威脅。因此,需要一種新穎的方法及相關架構,以在沒有副作用或較不可能帶來副作用之狀況下解決相關技術的問題。
本發明之一目的在於提供一種針對一非揮發性記憶體進行資訊保護
的方法以及相關設備(apparatus)諸如一控制器、包含該控制器之一電子裝置等,以解決上述之問題。
本發明之至少一實施例提供一種用來針對一非揮發性記憶體進行資訊保護的方法,其中該方法係應用於一控制器。該方法包含:取得一第一裸晶依賴性種子(die-dependent seed)與一第二裸晶依賴性種子,其中該第一裸晶依賴性種子與該第二裸晶依賴性種子對應於用來實施該非揮發性記憶體的一裸晶(die);依據該第一裸晶依賴性種子對一位址的多組位址資訊進行重新排列(rearrangement),以供保護該控制器與該非揮發性記憶體之間的至少一位址訊號所載(carry)的該位址;以及依據該第二裸晶依賴性種子對一組資料的多個子集合進行重新排列,以供保護該控制器與該非揮發性記憶體之間的至少一資料訊號所載的該組資料。
除了上述方法外,本發明亦提供一種控制器,該控制器係可應用於(applicable to)針對一非揮發性記憶體進行資訊保護。該控制器包含一核心電路、以及分別耦接至該核心電路之一位址資訊重新排列電路與一資料轉換電路。該核心電路可用來依據自該非揮發性記憶體載入(load)之預定資訊控制該控制器,以控制一電子裝置的操作,其中該電子裝置包含該控制器以及該非揮發性記憶體。另外,該位址資訊重新排列電路可用來進行位址資訊重新排列,其中該位址資訊重新排列電路取得一第一裸晶依賴性種子,且依據該第一裸晶依賴性種子對一位址的多組位址資訊進行重新排列,以供保護該控制器與該非揮發性記憶體之間的至少一位址訊號所載的該位址。此外,該資料轉換電路可用來進行資料轉換,其中該資料轉換電路取得一第二裸晶依賴性種子,且依據該第二裸晶依賴性種子對一組資料的多個子集合進行重新排列,以供保護該控制器與該非揮發性記憶體之間的至少一資料訊號所載的該組資料。例如,該第一裸晶依賴性種子與該第二裸晶依賴性種子對應於用來實施該非揮發性記憶體
的一裸晶。
依據某些實施例,本發明亦提供包含上述控制器之一電子裝置,其中該電子裝置包含該非揮發性記憶體。
除了上述方法外,本發明亦提供一種用來針對一非揮發性記憶體進行資訊保護的設備。該設備包含一位址資訊重新排列電路與一資料轉換電路。另外,該位址資訊重新排列電路可用來進行位址資訊重新排列,其中該位址資訊重新排列電路取得一第一裸晶依賴性種子,且依據該第一裸晶依賴性種子對一位址的多組位址資訊進行重新排列,以供保護一控制器與該非揮發性記憶體之間的至少一位址訊號所載的該位址。此外,該資料轉換電路可用來進行資料轉換,其中該資料轉換電路取得一第二裸晶依賴性種子,且依據該第二裸晶依賴性種子對一組資料的多個子集合進行重新排列,以供保護該控制器與該非揮發性記憶體之間的至少一資料訊號所載的該組資料。例如,該第一裸晶依賴性種子與該第二裸晶依賴性種子對應於用來實施該非揮發性記憶體的一裸晶。
本發明所提出之方法以及相關設備能確保該電子裝置能在各種狀況下妥善地操作,其中上述相關設備例如:該控制器、該電子裝置等。此外,依據本發明之相關實施例來實施並不會增加許多額外的成本。因此,相關技術的問題可被妥善地解決。相較於相關技術,本發明能在沒有副作用或較不可能帶來副作用之狀況下實現強健的資訊保護機制。
100:電子裝置
100C:控制器
100M:NVM
101:核心電路
110:儲存單元
120:位址資訊重新排列電路
130:種子產生電路
130SG:種子產生器
131,132,133,134,135:種子轉換器
140:資料轉換電路
142:資料子集合重新排列電路
144:完整性碼選擇性排列電路
IO0,IO1,IO2,IO3,CLK,ADDR,CRC.ADDR,DATA,CRC.DATA:訊號
Seed1,Seed2,Seed3,Seed3.1,Seed3.2,Seed3.3,Seed3.4,Seed3.5,Seed(1),Seed(2),Seed(3),Seed(4):種子
S10,S12,S14,S16,S18,S20,S22,S24,S26,S28:步驟
PHASE(0):寫入階段
PHASE(1):讀取階段
mod:模操作子
500:混和轉換模組
C0~C3,C4~C7,C120~C127,c0,c1,c2,c3,c4,c5,c6,c7:CRC碼
P0,P1,P2,P3:實體線位置
CMD_Phase:命令階段
Address_Phase:位址階段
Data_Phase:資料階段
Addr:位址
1,2,3,4,5,6,7,8:資料
1.1,1.2,1.3,1.4,2.1,2.2,2.3,2.4,3.1,3.2,3.3,3.4,4.1,4.2,4.3,4.4,5.1,5.2,5.3,5.4,6.1,6.2,6.3,6.4,7.1,7.2,7.3,7.4,8.1,8.2,8.3,8.4:子集合
第1圖為依據本發明一實施例之一電子裝置的示意圖。
第2圖為依據本發明一實施例之一種用來針對一非揮發性記憶體進行資訊保護的方法的流程圖。
第3圖繪示第2圖所示方法於本發明一實施例中的一寫入控制方案。
第4圖繪示第2圖所示方法於本發明一實施例中的一讀取控制方案。
第5圖繪示第2圖所示方法於本發明一實施例中的一混和(hybrid)轉換控制方案。
第6圖繪示第2圖所示方法於本發明一實施例中的一位址資訊重新排列控制方案。
第7圖繪示第2圖所示方法於本發明一實施例中的一資料轉換控制方案。
第8圖繪示第7圖所示資料轉換控制方案的讀取與復原操作的另一例子。
第9圖繪示第7圖所示資料轉換控制方案的讀取與復原操作的另一例子。
第10圖繪示第7圖所示資料轉換控制方案的讀取與復原操作的另一例子。
第1圖為依據本發明一實施例之一電子裝置100的示意圖。電子裝置100可包含彼此耦接之一控制器100C與一非揮發性記憶體(non-volatile memory,NVM)100M,但本發明不限於此。例如,電子裝置100可另包含其它元件諸如一觸敏(touch-sensitive)顯示模組、一或多個聲音輸出模組、一或多個無線傳輸模組等,其中這些元件中之至少一部分(例如一部分或全部)可透過匯流排彼此耦接,且耦接至控制器100C。為了便於理解,電子裝置100的例子可包含(但不限於):多功能行動電話(multifunctional mobile phone)、可穿戴裝置(wearable device)、平板電腦(tablet)、以及個人電腦(personal computer)諸如膝上型電腦。
控制器100C可包含一核心電路101、一儲存單元110、一位址資訊重新排列電路120、一種子產生電路130以及一資料轉換電路140,尤其,種子產生電路130可包含一種子產生器(seed generator)130SG(例如計時器)以及多個種子轉換器131、132、133、134與135,且資料轉換電路140可包含一資料子集
合重新排列電路142與一完整性碼(integrity code)選擇性排列電路144,其中位址資訊重新排列電路120與資料轉換電路140可耦接於核心電路101與控制器100C之一NVM介面電路之間,而該NVM介面電路可透過控制器100C與NVM 100M之間的一組訊號諸如IO0、IO1、IO2、IO3、CLK等為控制器100C對NVM 100M進行讀取或寫入操作,但本發明不限於此。於某些實施例中,儲存單元110、位址資訊重新排列電路120、種子產生電路130以及資料轉換電路140之至少一部分(例如一部分或全部)可被整合進入核心電路101。另外,控制器100C(例如其NVM介面電路)可符合電子裝置工程聯合委員會(Joint Electron Device Engineering Council,JEDEC)規範或其它規範。
依據本實施例,核心電路101可依據自NVM 100M載入之預定資訊控制控制器100C,以控制電子裝置100的操作。另外,控制器100C係可應用於針對NVM 100M進行資訊保護,以對抗駭客的各種不當行為。位址資訊重新排列電路120與資料轉換電路140可分別進行位址資訊重新排列與資料轉換,尤其,透過某些種子諸如預先被儲存於儲存單元110之多個裸晶依賴性種子Seed1與Seed2以及種子產生電路130所產生之多個轉換種子(converted seed)Seed3.1、Seed3.2、Seed3.3、Seed3.4與Seed3.5之相關控制,以供進行資訊保護。例如,儲存單元110可提供裸晶依賴性種子Seed1給位址資訊重新排列電路120,以使位址資訊重新排列電路120依據裸晶依賴性種子Seed1進行該位址資訊重新排列,並且儲存單元110與種子產生電路130可分別提供裸晶依賴性種子Seed2以及轉換種子Seed3.1、Seed3.2、Seed3.3、Seed3.4與Seed3.5給資料轉換電路140,以使資料轉換電路140(例如資料子集合重新排列電路142)依據裸晶依賴性種子Seed2以及轉換種子Seed3.1、Seed3.2、Seed3.3、Seed3.4與Seed3.5進行該資料轉換。該資料轉換可包含資料子集合重新排列,尤其,可另包含完整性碼選擇性排列,其中資料子集合重新排列電路142可依據裸晶依賴性種子Seed2進行該資料子集合
重新排列,而完整性碼選擇性排列電路144可依據轉換種子Seed3.1、Seed3.2、Seed3.3、Seed3.4與Seed3.5進行該完整性碼選擇性排列,但本發明不限於此。
如第1圖所示,種子產生器130SG可產生一初始種子Seed3,且種子轉換器131、132、133、134與135可將初始種子Seed3分別轉換為轉換種子Seed3.1、Seed3.2、Seed3.3、Seed3.4與Seed3.5,以供進行該資料轉換。請注意,初始種子Seed3可隨著時間變化而更新,且轉換種子Seed3.1、Seed3.2、Seed3.3、Seed3.4與Seed3.5可隨著初始種子Seed3變化而更新。因此,基於這些種子的該資料轉換可帶來控制器100C與NVM 100M之間的資料訊號(例如訊號IO0、IO1、IO2與IO3,尤其,藉此傳送中的資料)之各種變化。
此外,裸晶依賴性種子Seed1與Seed2可對應於用來實施NVM 100M的一裸晶。當該裸晶被代換為用來實施NVM 100M的另一裸晶,裸晶依賴性種子Seed1與Seed2可被更新以對應於該另一裸晶。例如,多個電子裝置{100}可透過量產來取得。針對分別用來實施這些電子裝置{100}之各自的NVM{100M}的多個裸晶,每一個裸晶的裸晶依賴性種子Seed1與Seed2分別異於這些裸晶中之任何其它裸晶的裸晶依賴性種子Seed1與Seed2。基於第1圖所示架構,本發明能在沒有副作用或較不可能帶來副作用之狀況下實現強健的資訊保護機制。
在上述實施例中,NVM 100M可藉由快閃記憶體諸如NAND型快閃記憶體與NOR型快閃記憶體、電子可抹除可編程唯讀記憶體(Electrically-Erasable Programmable Read-Only Memory,EPRON)等方式來實施。另外,儲存單元110可藉由一次性編程(one-time programming)記憶體元件諸如電子保險絲(electronic fuse,e-fuse)、暫存器諸如安全暫存器(secured register)等方式來實施。例如,儲存單元110可包含至少一電子保險絲及/或至少一安全暫存器。此外,位址資訊重新排列電路120與資料轉換電路140(尤其,其內的資料子集合重新排列電路142)可分別藉由多組開關等方式來實施。例
如,位址資訊重新排列電路120可包含一組開關,而這組開關可用來依據裸晶依賴性種子Seed1對一組位址線中之兩個或多個位址線進行交換,以進行該位址資訊重新排列。又例如,資料轉換電路140(尤其,其內的資料子集合重新排列電路142)可包含一組開關,而這組開關可用來依據裸晶依賴性種子Seed2對一組資料線中之兩個或多個資料線進行交換,以進行該資料子集合重新排列。
第2圖為依據本發明一實施例之一種用來針對一NVM諸如第1圖所示之NVM 100M進行資訊保護的方法的流程圖。該方法可被應用於相關設備諸如控制器100C、包含控制器100C之電子裝置100等,且可由控制器100C來執行。舉例來說,步驟S10~S18與S20~28可分別執行於電子裝置100之一寫入階段PHASE(0)(例如一生產階段)與一讀取階段PHASE(1)(例如一終端使用者階段),但本發明不限於此。為了便於理解,第2圖所示之工作流程中所述之第一裸晶依賴性種子與第二裸晶依賴性種子可分別描述為裸晶依賴性種子Seed1與Seed2。
於步驟S10中,控制器100C取得裸晶依賴性種子Seed1與Seed2。例如,位址資訊重新排列電路120與資料轉換電路140可分別從儲存單元110取得裸晶依賴性種子Seed1與Seed2。
於步驟S12中,控制器100C(例如位址資訊重新排列電路120)依據裸晶依賴性種子Seed1對一位址的多組位址資訊進行重新排列,以供保護控制器100C與NVM 100M之間的至少一位址訊號所載的該位址,其中寫入階段PHASE(0)中的該位址可代表一寫入位址。例如,控制器100C可利用位址資訊重新排列電路120中的該組開關,依據裸晶依賴性種子Seed1對一組位址線中之兩個或多個位址線進行交換,以重新排列(rearrange)該位址的該多組位址資訊。
於步驟S14中,控制器100C(例如資料轉換電路140)依據裸晶依賴性種子Seed2對一組資料(例如一組寫入資料)的多個子集合進行重新排列,以
供保護控制器100C與NVM 100M之間的至少一資料訊號所載的該組資料。例如,控制器100C可利用資料轉換電路140(尤其,其內的資料子集合重新排列電路142)中的該組開關,依據裸晶依賴性種子Seed2對一組資料線中之兩個或多個資料線進行交換,以重新排列該組資料的該多個子集合。
於步驟S16中,控制器100C依據步驟S12中所述之該位址(例如該寫入位址)對NVM 100M進行一寫入操作,尤其,將步驟S14中已被重新排列之該組資料(例如該組寫入資料)寫入NVM 100M。
於步驟S18中,控制器100C判斷寫入階段PHASE(0)中的寫入是否完成。如果是,控制器100C可離開寫入階段PHASE(0),例如可於後續開機(例如下一次開機)的期間進入讀取階段PHASE(1),尤其,進入步驟S20;如果否,控制器100C可停留在寫入階段PHASE(0)以繼續進行寫入,尤其,進入步驟S10。
於步驟S20中,控制器100C取得裸晶依賴性種子Seed1與Seed2。例如,位址資訊重新排列電路120與資料轉換電路140可分別從儲存單元110取得裸晶依賴性種子Seed1與Seed2。
於步驟S22中,控制器100C(例如位址資訊重新排列電路120)依據裸晶依賴性種子Seed1對一位址的多組位址資訊進行重新排列,以供保護控制器100C與NVM 100M之間的至少一位址訊號所載的該位址,其中讀取階段PHASE(1)中的該位址可代表一讀取位址。例如,控制器100C可利用位址資訊重新排列電路120中的該組開關,依據裸晶依賴性種子Seed1對該組位址線中之兩個或多個位址線進行交換,以重新排列這個位址的該多組位址資訊。
於步驟S24中,控制器100C依據步驟S22中所述之該位址(例如該讀取位址)對NVM 100M進行一讀取操作,尤其,從NVM 100M讀取一組資料(例如一組讀取資料)。舉例來說,這組資料可被載入至控制器100C中之一隨機存取記憶體(Random Access Memory,RAM),但本發明不限於此。
於步驟S26中,控制器100C(例如資料轉換電路140)依據裸晶依賴性種子Seed2對步驟S24中之該組資料(例如該組讀取資料)的多個子集合進行重新排列,以供保護控制器100C與NVM 100M之間的至少一資料訊號所載的該組資料。例如,控制器100C可利用資料轉換電路140(尤其,其內的資料子集合重新排列電路142)中的該組開關,依據裸晶依賴性種子Seed2對該組資料線中之兩個或多個資料線進行交換,以重新排列這組資料的該多個子集合。
於步驟S28中,控制器100C判斷讀取階段PHASE(1)中的讀取是否完成。如果是,控制器100C可離開讀取階段PHASE(1)以結束第2圖所示之工作流程;如果否,控制器100C可停留在讀取階段PHASE(1)以繼續進行讀取,尤其,進入步驟S20。舉例來說,當離開讀取階段PHASE(1),控制器100C已將該預定資訊控制(例如程式相關資訊,諸如多個指令及其資料)載入至RAM,以供控制電子裝置100的操作,但本發明不限於此。
為了更好地理解,該方法可用第2圖所示之工作流程來說明,但本發明不限於此。依據某些實施例,一個或多個步驟可於第2圖所示之工作流程中增加、刪除或修改。
依據某些實施例,第1圖所示之NVM 100M可包含對應的NVM側資訊保護電路架構,其可等同於控制器100C中之儲存單元110、位址資訊重新排列電路120、種子產生電路130以及資料轉換電路140所組成的控制器側資訊保護電路架構,以供依據該方法來操作,但本發明不限於此。舉例來說,假設可供100C控制NVM 100M的一系列可用位址都是有效位址,且分別代表具有相同大小的一系列儲存位置,諸如一系列頁面(page)。Seed1可為依據一預定序列而變化的種子,其中針對同一個裸晶,該預定序列不論在寫入階段PHASE(0)或讀取階段PHASE(1)中都是相同的。此情況下,不論該組位址線如何交換,寫入階段PHASE(0)中之該組資料諸如該組寫入資料可被寫入NVM 100M中之某處,也可
依據相同的位址線交換被讀取。因此,NVM 100M不需要進行該位址資訊重新排列之逆向重新排列,也不需要設置對應的逆向位址資訊重新排列電路。另外,Seed2可為依據另一預定序列而變化的種子,其中針對同一個裸晶,該另一預定序列不論在寫入階段PHASE(0)或讀取階段PHASE(1)中都是相同的。此情況下,不論該組資料線如何交換,寫入階段PHASE(0)中之該組資料諸如該組寫入資料可被寫入NVM 100M中之某處,也可被讀取出來以依據相同的資料線交換被復原(recover)。因此,NVM 100M不需要進行該資料子集合重新排列之逆向重新排列,也不需要設置對應的逆向資料子集合重新排列電路。
依據某些實施例,控制器110C(例如核心電路101)可解析(parse)來自NVM 100M的資訊中之一標頭(header),以從該標頭取得裸晶依賴性種子Seed1與Seed2,且將裸晶依賴性種子Seed1與Seed2提供給位址資訊重新排列電路120與資料轉換電路140。例如,上述對應的NVM側資訊保護電路架構可將從其內的對應的儲存單元(例如電子保險絲或安全暫存器)取得裸晶依賴性種子Seed1與Seed2,將裸晶依賴性種子Seed1與Seed2內嵌或插入於該標頭,且組合該標頭以及已經加密過的資料諸如映像(image),以供傳送至控制器110C。
第3圖繪示第2圖所示方法於本發明一實施例中的一寫入控制方案。針對位址資訊重新排列電路120,該位址資訊重新排列可包含位址資訊平移(shift),例如平移0x1234的二位元版本0001_0010_0011_0100以成為0x2341的二位元版本0010_0011_0100_0001。尤其,該位址資訊重新排列可另包含拼湊(scramble),例如拼湊0x2341的二位元版本0010_0011_0100_0001以成為0x4C18的二位元版本0100_1100_0001_1000。針對資料子集合重新排列電路142,該資料子集合重新排列可包含資料子集合平移,例如平移0xABCD的二位元版本1010_1011_1100_1101以成為0xBCDA的二位元版本1011_1100_1101_1010。尤其,該資料子集合重新排列可另包含拼湊,例如拼湊0xBCDA的二位元版本
1011_1100_1101_1010以成為0x7CE5的二位元版本0111_1100_1110_0101。於傳送命令後,控制器110C可傳送該位址(例如該寫入位址諸如透過該位址資訊重新排列處理後的位址),且接著寫入資料(例如該組寫入資料)。例如,位址資訊重新排列電路120與資料轉換電路140(尤其,其內的資料子集合重新排列電路142)可分別利用其各自的模(modulo)計算電路將模操作子(modulo operator)mod施加於裸晶依賴性種子Seed1與Seed2,尤其,對裸晶依賴性種子Seed1與Seed2進行模操作以產生模操作結果,以依據這些模操作結果進行該位址資訊重新排列與該資料子集合重新排列。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
第4圖繪示第2圖所示方法於本發明一實施例中的一讀取控制方案。相較於第3圖所示寫入控制方案,於傳送命令後,控制器110C可傳送該位址(例如該讀取位址諸如透過該位址資訊重新排列處理後的位址),且接著讀取資料(例如該組讀取資料)。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
第5圖繪示第2圖所示方法於本發明一實施例中的一混和轉換控制方案。第1圖所示之該控制器側資訊保護電路架構中之至少一部分(例如一部分或全部)可整合至一混和轉換模組500中。某一位址及其完整性碼諸如循環冗餘校驗(Cyclic Redundancy Check,CRC)碼可分別載於訊號ADDR與CRC.ADDR,而於這個位址上的資料及其完整性碼諸如CRC碼可分別載於訊號DATA與CRC.DATA。例如,混和轉換模組500可預先計算一系列資料的完整性碼,諸如其CRC碼{C0,...,C3}、{C4,...,C7}、...、{C120,...,C127}等,且將這些完整性碼諸如這些CRC碼儲存於一CRC表。另外,混和轉換模組500可利用其內的重新排列電路與拼湊電路依據對應的種子諸如種子Seed(1)、Seed(2)與Seed(3)進行重新排列,且可利用多工器(multiplexer,MUX)依據對應的種子諸如種子Seed(4)
分別選擇多個重新排列結果的其中之一及多個拼湊結果的其中之一,以供輸出。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
第6圖繪示第2圖所示方法於本發明一實施例中的一位址資訊重新排列控制方案。基於第1圖所示架構,電子裝置100可包含控制器100C與NVM 100M之間的多個實體線。這些實體線包含對應訊號IO0、IO1、IO2與IO3之一組實體線,而這組實體線可於不同時間(或階段)用來作為該組位址線或該組資料線。尤其,控制器100C可分別於一命令階段CMD_Phase、一位址階段Address_Phase與一資料階段Data_Phase進行命令傳送、位址傳送、以及資料傳送或接收。例如,當控制器100C於位址階段Address_Phase中進行該位址資訊重新排列,該組實體線代表該組位址線,且傳遞於其上之對應的訊號IO0、IO1、IO2與IO3代表位址訊號。又例如,當控制器100C於資料階段Data_Phase中進行該資料子集合重新排列,該組實體線代表該組資料線,且傳遞於其上之對應的訊號IO0、IO1、IO2與IO3代表資料訊號。
依據本實施例,該組實體線的實體位置分別是實體線位置P0、P1、P2與P3,且可藉由利用上述開關來交換以變成各種重新排列結果中之任何一種。例如,於一時間點,實體線位置P0、P1、P2與P3可交換成為實體線位置P1、P3、P2與P0;於另一時間點,實體線位置P0、P1、P2與P3可交換成為實體線位置P2、P3、P1與P0;並且,於其它時間點,實體線位置P0、P1、P2與P3可交換成為其它重新排列結果。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
依據某些實施例,資料轉換電路140(例如完整性碼選擇性排列電路144)可依據轉換種子Seed3.1判斷一完整性碼傳送功能是否被啟用(enable),以產生一第一判斷結果,其中該第一判斷結果指出該完整性碼傳送功能是否被啟用。該完整性碼傳送功能可用來依據轉換種子Seed3.2傳送該組資料(例如步驟
S24中之該組資料,諸如該組讀取資料)連同多組資料之各自的完整性碼中之一完整性碼,而該多組資料包含這組資料,其中該多組資料之所述各自的完整性碼可分別用來進行該多組資料的錯誤偵測。上述完整性碼的例子可包含(但不限於):CRC碼、雜湊(Hash)值、奇偶校驗(parity-check)碼等。當該第一判斷結果指出該完整性碼傳送功能被啟用,資料轉換電路140(例如完整性碼選擇性排列電路144)可依據轉換種子Seed3.2判斷該多組資料之所述各自的完整性碼中的哪一個被選擇作為該完整性碼,以產生一第二判斷結果,其中該第二判斷結果指出該多組資料之所述各自的完整性碼中的哪一個被選擇作為該完整性碼,以供進行該資料轉換。另外,針對傳送該組資料連同該完整性碼,資料轉換電路140(例如完整性碼選擇性排列電路144)可依據轉換種子Seed3.3判斷該完整性碼相對於這組資料的該多個子集合之相對位置(例如該完整性碼諸如CRC碼可位於這組資料前、這組資料後、這組資料的該多個子集合中之某兩個子集合之間),以供進行該資料轉換。此外,資料轉換電路140(例如完整性碼選擇性排列電路144)可依據轉換種子Seed3.4判斷是否使用該完整性碼進行該多組資料中之一對應組資料的錯誤偵測。資料轉換電路140(例如完整性碼選擇性排列電路144)可依據該對應組資料產生一自行產生的完整性碼諸如自行產生CRC碼,且將該完整性碼諸如CRC碼和該自行產生的完整性碼諸如自行產生CRC碼進行比較,其中兩者相同代表沒有錯誤,而兩者相異代表有錯誤。資料轉換電路140(例如完整性碼選擇性排列電路144)可還依據轉換種子Seed3.5判斷該多組資料之所述各自的完整性碼之各自的重新排列位置(例如該完整性碼諸如CRC碼放置的位置,諸如相對於該多組資料之所述各自的完整性碼中的其它完整性碼之位置、及/或相對於該多組資料之位置),以供進行該多組資料的錯誤偵測。
第7圖繪示第2圖所示方法於本發明一實施例中的一資料轉換控制方
案。除了進行該位址資訊重新排列與該資料子集合重新排列(例如分別依據裸晶依賴性種子Seed1與Seed2對實體線進行交換),控制器100C可利用資料轉換電路140(例如完整性碼選擇性排列電路144)進行完整性碼選擇性排列。由於本實施例中以讀取階段PHASE(1)為例來說明,故NVM 100M(例如其內的NVM側資訊保護電路架構)可進行其本身的完整性碼選擇性排列以產生選擇性排列結果,以供輸出至控制器100C,且控制器100C可於讀取NVM 100M時進行其本身的完整性碼選擇性排列,以復原該多組資料。
如第7圖所示,該多組資料諸如資料1、2、3、4、5、6、7與8以及其各自的完整性碼諸如CRC碼c0、c1、c2、c3、c4、c5、c6與c7,連同陰影所示的假資料(dummy data),可被儲存於NVM 100M中的一組位址{Addr}諸如0x0、0x1、0x2、0x3、0x4、0x5、0x6、0x7、0x8、0x9與0xA,其中該假資料可被儲存於位址0x6,且資料1、2、3、4、5、6、7與8之各自的子集合{1.1,1.2,1.3,1.4}、{2.1,2.2,2.3,2.4}、{3.1,3.2,3.3,3.4}、{4.1,4.2,4.3,4.4}、{5.1,5.2,5.3,5.4}、{6.1,6.2,6.3,6.4}、{7.1,7.2,7.3,7.4}與{8.1,8.2,8.3,8.4}以及CRC碼{c0,c1,c2,c3}與{c4,c5,c6,c7}可分別被重新排列且儲存於該組位址{Addr}中之其它位址。
依據本實施例,控制器100C可於某一時間點讀取NVM 100M以從NVM 100M接收到訊號IO0、IO1、IO2與IO3所載的重新排列的子集合{1.1,1.2,1.3,1.4}、{2.1,2.2,2.3,2.4}、{3.1,3.2,3.3,3.4}與{4.1,4.2,4.3,4.4},連同隨機地出現在前或在後的CRC碼c5、c6與c2,且可從這些由訊號IO0、IO1、IO2與IO3所載的資訊復原資料1、2、3與4,例如透過其本身的完整性碼選擇性排列與該資料子集合重新排列。尤其,資料轉換電路140(例如完整性碼選擇性排列電路144)可依據CRC碼c6對(先前或後續讀取的)資料6進行錯誤偵測。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
第8圖繪示第7圖所示資料轉換控制方案的讀取與復原操作的另一例
子。控制器100C可於另一時間點讀取NVM 100M以從NVM 100M接收到訊號IO0、IO1、IO2與IO3所載的重新排列的子集合{5.1,5.2,5.3,5.4}、{6.1,6.2,6.3,6.4}、{7.1,7.2,7.3,7.4}與{8.1,8.2,8.3,8.4},連同隨機地出現在後的CRC碼c1、c7與c6,且可從這些由訊號IO0、IO1、IO2與IO3所載的資訊復原資料5、6、7與8,例如透過其本身的完整性碼選擇性排列與該資料子集合重新排列。尤其,資料轉換電路140(例如完整性碼選擇性排列電路144)可依據CRC碼c7對資料7進行錯誤偵測。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
第9圖繪示第7圖所示資料轉換控制方案的讀取與復原操作的另一例子。控制器100C可於另一時間點讀取NVM 100M以從NVM 100M接收到訊號IO0、IO1、IO2與IO3所載的重新排列的子集合{1.1,1.2,1.3,1.4}、{2.1,2.2,2.3,2.4}、{3.1,3.2,3.3,3.4}、{4.1,4.2,4.3,4.4},連同隨機地出現在前或在後的CRC碼c7與c1,且可從這些由訊號IO0、IO1、IO2與IO3所載的資訊復原資料1、2、3與4,例如透過其本身的完整性碼選擇性排列與該資料子集合重新排列。尤其,資料轉換電路140(例如完整性碼選擇性排列電路144)可依據CRC碼c1對資料1進行錯誤偵測。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
第10圖繪示第7圖所示資料轉換控制方案的讀取與復原操作的另一例子。控制器100C可於另一時間點讀取NVM 100M以從NVM 100M接收到訊號IO0、IO1、IO2與IO3所載的重新排列的子集合{1.1,1.2,1.3,1.4}、{2.1,2.2,2.3,2.4}、{3.1,3.2,3.3,3.4}、{4.1,4.2,4.3,4.4},連同隨機地出現在中(例如某些子集合之間)的CRC碼c6與c2,且可從這些由訊號IO0、IO1、IO2與IO3所載的資訊復原資料1、2、3與4,例如透過其本身的完整性碼選擇性排列與該資料子集合重新排列。為了簡明起見,於本實施例中類似的內容在此不重複贅述。
基於上列實施例,本發明提供用來針對NVM 100M進行資訊保護的設備,而上述設備的例子可包含(但不限於):電子裝置100、控制器100C及其
內的控制器側資訊保護電路架構、NVM 100M及其內的NVM側資訊保護電路架構等。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:電子裝置
100C:控制器
100M:NVM
101:核心電路
110:儲存單元
120:位址資訊重新排列電路
130:種子產生電路
130SG:種子產生器
131,132,133,134,135:種子轉換器
140:資料轉換電路
142:資料子集合重新排列電路
144:完整性碼選擇性排列電路
IO0,IO1,IO2,IO3,CLK:訊號
Seed1,Seed2,Seed3,Seed3.1,Seed3.2,Seed3.3,Seed3.4,Seed3.5:種子
Claims (8)
- 一種用來針對一非揮發性記憶體(non-volatile memory,NVM)進行資訊保護的方法,該方法係應用於一控制器,該方法包含:取得一第一裸晶依賴性種子(die-dependent seed)與一第二裸晶依賴性種子,其中該第一裸晶依賴性種子與該第二裸晶依賴性種子對應於用來實施該非揮發性記憶體的一裸晶(die);依據該第一裸晶依賴性種子對一位址的多組位址資訊進行重新排列(rearrangement),以供保護該控制器與該非揮發性記憶體之間的至少一位址訊號所載(carry)的該位址,其中依據該第一裸晶依賴性種子對該位址的該多組位址資訊進行該重新排列之步驟另包含:利用一第一組開關,依據該第一裸晶依賴性種子對一組位址線中之兩個或多個位址線進行交換,以重新排列(rearrange)該位址的該多組位址資訊;以及依據該第二裸晶依賴性種子對一組資料的多個子集合進行重新排列,以供保護該控制器與該非揮發性記憶體之間的至少一資料訊號所載的該組資料,其中依據該第二裸晶依賴性種子對該組資料的該多個子集合進行該重新排列之步驟另包含:利用一第二組開關,依據該第二裸晶依賴性種子對一組資料線中之兩個或多個資料線進行交換,以重新排列該組資料的該多個子集合。
- 如申請專利範圍第1項所述之方法,其中該控制器包含一儲存單元;以及取得該第一裸晶依賴性種子與該第二裸晶依賴性種子之步驟另包含: 從該儲存單元取得該第一裸晶依賴性種子與該第二裸晶依賴性種子中之至少一裸晶依賴性種子,其中所述至少一裸晶依賴性種子係預先被儲存於該儲存單元。
- 如申請專利範圍第1項所述之方法,其中取得該第一裸晶依賴性種子與該第二裸晶依賴性種子之步驟另包含:解析(parse)來自該非揮發性記憶體的資訊中之一標頭(header),以從該標頭取得該第一裸晶依賴性種子與該第二裸晶依賴性種子中之至少一裸晶依賴性種子。
- 如申請專利範圍第1項所述之方法,另包含:利用該控制器中之一種子產生器(seed generator)產生一初始種子,其中該初始種子隨著時間變化而更新;利用該控制器中之多個種子轉換器(seed converter)將該初始種子分別轉換為多個轉換種子(converted seed),以供進行資料轉換,其中該多個轉換種子隨著該初始種子變化而更新,且該多個轉換種子包含一第一轉換種子與一第二轉換種子;以及依據該第一轉換種子判斷一完整性碼(integrity code)傳送功能是否被啟用(enable),以產生一第一判斷結果,其中該完整性碼傳送功能是用來依據該第二轉換種子傳送該組資料連同多組資料之各自的完整性碼中之一完整性碼,該多組資料包含該組資料,且該第一判斷結果指出該完整性碼傳送功能是否被啟用。
- 如申請專利範圍第4項所述之方法,其中該第一判斷結果指出該完整性碼傳送功能被啟用;以及該方法另包含: 依據該第二轉換種子判斷該多組資料之所述各自的完整性碼中的哪一個被選擇作為該完整性碼,以產生一第二判斷結果,其中該第二判斷結果指出該多組資料之所述各自的完整性碼中的哪一個被選擇作為該完整性碼,以供進行該資料轉換。
- 一種控制器,可應用於(applicable to)針對一非揮發性記憶體(non-volatile memory,NVM)進行資訊保護,該控制器包含:一核心電路,用來依據自該非揮發性記憶體載入之預定資訊控制該控制器,以控制一電子裝置的操作,其中該電子裝置包含該控制器以及該非揮發性記憶體;一位址資訊重新排列電路,耦接至該核心電路,用來進行位址資訊重新排列,其中該位址資訊重新排列電路取得一第一裸晶依賴性種子(die-dependent seed),且依據該第一裸晶依賴性種子對一位址的多組位址資訊進行重新排列(rearrangement),以供保護該控制器與該非揮發性記憶體之間的至少一位址訊號所載(carry)的該位址,其中該位址資訊重新排列電路包含:一第一組開關,用來依據該第一裸晶依賴性種子對一組位址線中之兩個或多個位址線進行交換,以重新排列(rearrange)該位址的該多組位址資訊;以及一資料轉換電路,耦接至該核心電路,用來進行資料轉換,其中該資料轉換電路取得一第二裸晶依賴性種子,且依據該第二裸晶依賴性種子對一組資料的多個子集合進行重新排列,以供保護該控制器與該非揮發性記憶體之間的至少一資料訊號所載的該組資料,其中該資料轉換電路包含: 一第二組開關,用來依據該第二裸晶依賴性種子對一組資料線中之兩個或多個資料線進行交換,以重新排列該組資料的該多個子集合;其中該第一裸晶依賴性種子與該第二裸晶依賴性種子對應於用來實施該非揮發性記憶體的一裸晶(die)。
- 一種包含如申請專利範圍第6項所述之控制器之電子裝置,其中該電子裝置包含該非揮發性記憶體。
- 一種用來針對一非揮發性記憶體(non-volatile memory,NVM)進行資訊保護的設備(apparatus),該設備包含:一位址資訊重新排列電路,用來進行位址資訊重新排列,其中該位址資訊重新排列電路取得一第一裸晶依賴性種子(die-dependent seed),且依據該第一裸晶依賴性種子對一位址的多組位址資訊進行重新排列(rearrangement),以供保護一控制器與該非揮發性記憶體之間的至少一位址訊號所載(carry)的該位址,其中該位址資訊重新排列電路包含:一第一組開關,用來依據該第一裸晶依賴性種子對一組位址線中之兩個或多個位址線進行交換,以重新排列(rearrange)該位址的該多組位址資訊;以及一資料轉換電路,用來進行資料轉換,其中該資料轉換電路取得一第二裸晶依賴性種子,且依據該第二裸晶依賴性種子對一組資料的多個子集合進行重新排列,以供保護該控制器與該非揮發性記憶體之間的至少一資料訊號所載的該組資料,其中該資料轉換電路包含: 一第二組開關,用來依據該第二裸晶依賴性種子對一組資料線中之兩個或多個資料線進行交換,以重新排列該組資料的該多個子集合;其中該第一裸晶依賴性種子與該第二裸晶依賴性種子對應於用來實施該非揮發性記憶體的一裸晶(die)。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109109824A TWI743715B (zh) | 2020-03-24 | 2020-03-24 | 用來針對非揮發性記憶體進行資訊保護的方法及設備 |
US17/209,172 US11397531B2 (en) | 2020-03-24 | 2021-03-22 | Method and apparatus for performing data protection regarding non-volatile memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109109824A TWI743715B (zh) | 2020-03-24 | 2020-03-24 | 用來針對非揮發性記憶體進行資訊保護的方法及設備 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202137036A TW202137036A (zh) | 2021-10-01 |
TWI743715B true TWI743715B (zh) | 2021-10-21 |
Family
ID=77856047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109109824A TWI743715B (zh) | 2020-03-24 | 2020-03-24 | 用來針對非揮發性記憶體進行資訊保護的方法及設備 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11397531B2 (zh) |
TW (1) | TWI743715B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI841473B (zh) * | 2023-01-03 | 2024-05-01 | 慧榮科技股份有限公司 | 借助電子熔絲資料準備來進行預定通訊架構中的記憶體裝置的配置管理的方法、記憶體裝置的記憶體控制器、記憶體裝置、電子裝置、主機裝置以及電腦可讀介質 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI826048B (zh) * | 2022-10-18 | 2023-12-11 | 信驊科技股份有限公司 | 資料安全性校驗方法及電子裝置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201232261A (en) * | 2010-12-23 | 2012-08-01 | Samsung Electronics Co Ltd | Memory control method, memory device and memory system |
TW201606557A (zh) * | 2014-04-09 | 2016-02-16 | Ictk有限公司 | 驗證裝置及方法 |
EP3407335A1 (en) * | 2017-05-22 | 2018-11-28 | Macronix International Co., Ltd. | Non-volatile memory based physically unclonable function with random number generator |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US6023565A (en) | 1996-03-29 | 2000-02-08 | Xilinx, Inc. | Method for configuring circuits over a data communications link |
US7340693B2 (en) | 2005-02-24 | 2008-03-04 | Nick Martin | System for designing re-programmable digital hardware platforms |
US8102710B2 (en) | 2007-10-17 | 2012-01-24 | Micron Technology, Inc. | System and method for setting access and modification for synchronous serial interface NAND |
US8549246B2 (en) | 2008-04-30 | 2013-10-01 | Micron Technology, Inc. | SPI NAND protected mode entry methodology |
US9736149B2 (en) | 2009-02-03 | 2017-08-15 | Inbay Technologies Inc. | Method and system for establishing trusted communication using a security device |
US9612978B2 (en) * | 2010-12-31 | 2017-04-04 | International Business Machines Corporation | Encrypted flash-based data storage system with confidentiality mode |
US10771448B2 (en) * | 2012-08-10 | 2020-09-08 | Cryptography Research, Inc. | Secure feature and key management in integrated circuits |
US9998434B2 (en) * | 2015-01-26 | 2018-06-12 | Listat Ltd. | Secure dynamic communication network and protocol |
US10311236B2 (en) | 2016-11-22 | 2019-06-04 | Advanced Micro Devices, Inc. | Secure system memory training |
US10296421B2 (en) | 2017-06-26 | 2019-05-21 | Micron Technology, Inc. | Memory devices and systems with security capabilities |
US11093143B2 (en) * | 2019-07-12 | 2021-08-17 | Samsung Electronics Co., Ltd. | Methods and systems for managing key-value solid state drives (KV SSDS) |
-
2020
- 2020-03-24 TW TW109109824A patent/TWI743715B/zh active
-
2021
- 2021-03-22 US US17/209,172 patent/US11397531B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201232261A (en) * | 2010-12-23 | 2012-08-01 | Samsung Electronics Co Ltd | Memory control method, memory device and memory system |
TW201606557A (zh) * | 2014-04-09 | 2016-02-16 | Ictk有限公司 | 驗證裝置及方法 |
EP3407335A1 (en) * | 2017-05-22 | 2018-11-28 | Macronix International Co., Ltd. | Non-volatile memory based physically unclonable function with random number generator |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI841473B (zh) * | 2023-01-03 | 2024-05-01 | 慧榮科技股份有限公司 | 借助電子熔絲資料準備來進行預定通訊架構中的記憶體裝置的配置管理的方法、記憶體裝置的記憶體控制器、記憶體裝置、電子裝置、主機裝置以及電腦可讀介質 |
US12026403B1 (en) | 2023-01-03 | 2024-07-02 | Silicon Motion, Inc. | Method and apparatus for performing configuration management of memory device in predetermined communications architecture with aid of electronic fuse data preparation, and associated computer-readable medium |
Also Published As
Publication number | Publication date |
---|---|
TW202137036A (zh) | 2021-10-01 |
US20210303183A1 (en) | 2021-09-30 |
US11397531B2 (en) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9489540B2 (en) | Memory controller with encryption and decryption engine | |
US8054972B2 (en) | Encryption processor of memory card and method for writing and reading data using the same | |
US20080025506A1 (en) | Memory access control apparatus and method, and communication apparatus | |
KR101797107B1 (ko) | 비휘발성 메모리 장치와 상기 비휘발성 메모리 장치를 포함하는 메모리 시스템 | |
US20130044881A1 (en) | Key transport method, memory controller and memory storage apparatus | |
CN104637534B (zh) | 半导体存储器件及操作其的方法 | |
EP1849117A1 (en) | Method and system for microprocessor data security | |
TWI743715B (zh) | 用來針對非揮發性記憶體進行資訊保護的方法及設備 | |
JP2010509690A (ja) | 記憶装置のセキュリティを確保する方法とシステム | |
US9653004B2 (en) | Systems and methods for downloading code and data into a secure non-volatile memory | |
US10809925B2 (en) | Configurable security memory region | |
TW201415462A (zh) | 半導體記憶體裝置 | |
US11017128B2 (en) | Data security using bit transposition during memory accesses | |
JP4863279B2 (ja) | メモリシステム及びメモリアクセス方法 | |
US11928077B2 (en) | Data processing circuit, data storage device including the same, and operating method thereof | |
CN113468518A (zh) | 用于针对非易失性存储器进行信息保护的方法和设备 | |
JP4323527B2 (ja) | 半導体記憶装置 | |
TW201918925A (zh) | 資料存取裝置及方法 | |
US8539251B2 (en) | Memory for protecting data, memory system including the memory, and method of driving the memory | |
US20240356726A1 (en) | Encryption device and operating method of encryption device | |
CN115599407B (zh) | 固件烧录方法、固件烧录系统及存储器存储装置 | |
US20230068302A1 (en) | Memory device and method for data encryption/decryption of memory device | |
KR20240156255A (ko) | 암호화 장치 및 암호화 장치의 동작 방법 | |
CN118368623A (zh) | 一种蓝牙协议栈软件的管理方法、装置、设备及存储介质 | |
CN118394259A (zh) | 存储装置及其操作方法 |