[go: up one dir, main page]

TW202137004A - 資料轉移方法與記憶體儲存裝置 - Google Patents

資料轉移方法與記憶體儲存裝置 Download PDF

Info

Publication number
TW202137004A
TW202137004A TW109108661A TW109108661A TW202137004A TW 202137004 A TW202137004 A TW 202137004A TW 109108661 A TW109108661 A TW 109108661A TW 109108661 A TW109108661 A TW 109108661A TW 202137004 A TW202137004 A TW 202137004A
Authority
TW
Taiwan
Prior art keywords
storage device
data
memory storage
memory
encrypted
Prior art date
Application number
TW109108661A
Other languages
English (en)
Other versions
TWI733375B (zh
Inventor
胡俊洋
Original Assignee
群聯電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 群聯電子股份有限公司 filed Critical 群聯電子股份有限公司
Priority to TW109108661A priority Critical patent/TWI733375B/zh
Priority to US16/847,689 priority patent/US11216217B2/en
Application granted granted Critical
Publication of TWI733375B publication Critical patent/TWI733375B/zh
Publication of TW202137004A publication Critical patent/TW202137004A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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/79Protecting 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本發明的範例實施例提供一種資料轉移方法,其包括:指示第一記憶體儲存裝置關閉預設啟動的資料加密功能;以及在所述第一記憶體儲存裝置的所述資料加密功能已關閉的前提下,發送寫入指令至所述第一記憶體儲存裝置。所述寫入指令指示將已加密資料的加密資訊儲存至所述第一記憶體儲存裝置。所述加密資訊非由所述第一記憶體儲存裝置產生且無法藉由一般讀取指令讀取。

Description

資料轉移方法與記憶體儲存裝置
本發明是有關於一種資料轉移技術,且特別是有關於一種資料轉移方法與記憶體儲存裝置。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
某些類型的記憶體儲存裝置支援資料的自動化加密儲存。但是,對於這種加密功能是預設啟動的記憶體儲存裝置而言,若裝置損壞而需要由外部廠商對內部資料進行救援時,廠商往往因為缺乏使用者密碼而無法順利將裝置中已加密資料轉移至其他裝置。或者,即便強制將已加密資料轉移至其他裝置,舊的使用者密碼也可能因為新裝置中缺乏加密過程中產生的原始加密資訊而無法繼續使用,進而導致資料救援失敗。
本發明提供一種資料轉移方法與記憶體儲存裝置,可改善上述問題。
本發明的範例實施例提供一種資料轉移方法,其包括:指示第一記憶體儲存裝置關閉預設啟動的資料加密功能;以及在所述第一記憶體儲存裝置的所述資料加密功能已關閉的前提下,發送寫入指令至所述第一記憶體儲存裝置。所述寫入指令指示將已加密資料的加密資訊儲存至所述第一記憶體儲存裝置。所述加密資訊非由所述第一記憶體儲存裝置產生。所述加密資訊無法藉由一般讀取指令讀取。
在本發明的一範例實施例中,所述寫入指令包括特殊寫入指令。所述特殊寫入指令指示將所述已加密資料與所述加密資訊儲存至所述第一記憶體儲存裝置。
在本發明的一範例實施例中,所述寫入指令包括一般寫入指令與特殊寫入指令。所述一般寫入指令指示將所述已加密資料儲存至所述第一記憶體儲存裝置。所述特殊寫入指令指示將所述加密資訊儲存至所述第一記憶體儲存裝置。
在本發明的一範例實施例中,所述的資料轉移方法更包括:指示第二記憶體儲存裝置關閉預設啟動的資料解密功能;以及在所述第二記憶體儲存裝置的所述資料解密功能已關閉的前提下,發送所述一般讀取指令與特殊讀取指令至所述第二記憶體儲存裝置。所述一般讀取指令指示從所述第二記憶體儲存裝置讀取所述已加密資料。所述特殊讀取指令指示從所述第二記憶體儲存裝置讀取所述加密資訊。
在本發明的一範例實施例中,所述加密資訊是在將原始資料儲存至所述第二記憶體儲存裝置時,由所述第二記憶體儲存裝置根據所述原始資料、邏輯位址資訊及加密金鑰產生。
在本發明的一範例實施例中,所述加密資料非由所述第一記憶體儲存裝置的記憶體控制電路單元產生。
在本發明的一範例實施例中,所述的資料轉移方法更包括:由所述記憶體控制電路單元根據所述一般寫入指令與所述特殊寫入指令發送寫入指令序列以指示將所述已加密資料與所述加密資訊一併儲存至所述第一記憶體儲存裝置的可複寫式非揮發性記憶體模組。
本發明的範例實施例另提供一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組及記憶體控制電路單元。所述連接介面單元用以耦接至主機系統。所述記憶體控制電路單元耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組。所述記憶體控制電路單元用以根據所述主機系統的指示而關閉預設啟動的資料加密功能。所述記憶體控制電路單元更用以在所述資料加密功能已關閉的前提下,從所述主機系統接收寫入指令。所述寫入指令指示將已加密資料的加密資訊儲存至所述記憶體儲存裝置。所述加密資訊非由所述記憶體儲存裝置產生。所述加密資訊無法藉由一般讀取指令讀取。
在本發明的一範例實施例中,所述加密資料非由所述記憶體控制電路單元產生。
在本發明的一範例實施例中,所述寫入指令包括一般寫入指令與特殊寫入指令。所述一般寫入指令指示將所述已加密資料儲存至所述記憶體儲存裝置。所述特殊寫入指令指示將所述加密資訊儲存至所述記憶體儲存裝置。所述記憶體控制電路單元更用以根據所述一般寫入指令與所述特殊寫入指令發送寫入指令序列以指示將所述已加密資料與所述加密資訊一併儲存至所述可複寫式非揮發性記憶體模組。
本發明的範例實施例另提供一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組及記憶體控制電路單元。所述連接介面單元用以耦接至主機系統。所述記憶體控制電路單元耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組。所述記憶體控制電路單元用以根據所述主機系統的指示而關閉預設啟動的資料解密功能。所述記憶體控制電路單元更用以在所述資料解密功能已關閉的前提下,從所述主機系統接收讀取指令。所述讀取指令指示從所述記憶體儲存裝置讀取已加密資料的加密資訊。所述加密資訊無法藉由一般讀取指令讀取。
在本發明的一範例實施例中,所述讀取指令包括特殊讀取指令。所述特殊讀取指令指示從所述記憶體儲存裝置讀取所述已加密資料與所述加密資訊。
在本發明的一範例實施例中,所述讀取指令包括所述一般讀取指令與特殊讀取指令。所述一般讀取指令指示從所述記憶體儲存裝置讀取所述已加密資料。所述特殊讀取指令指示從所述記憶體儲存裝置讀取所述加密資訊。
在本發明的一範例實施例中,所述記憶體控制電路單元更用以在儲存原始資料時,根據所述原始資料、邏輯位址資訊及加密金鑰產生所述加密資訊。
在本發明的一範例實施例中,所述加密資訊可用以解密所述已加密資料。
在本發明的一範例實施例中,所述加密資訊包括循環冗餘校驗(Cyclic redundancy check, CRC)碼。
在本發明的一範例實施例中,所述記憶體控制電路單元更用以根據所述一般讀取指令從所述可複寫式非揮發性記憶體模組讀取所述已加密資料。所述記憶體控制電路單元更用以根據所述特殊讀取指令從所述可複寫式非揮發性記憶體模組讀取所述加密資訊。所述記憶體控制電路單元更用以將所述已加密資料與所述加密資訊傳送至所述主機系統。
在本發明的一範例實施例中,所述已加密資料與所述加密資訊儲存於同一個資料訊框中。
基於上述,在關閉記憶體儲存裝置預設啟動的資料加密功能後,可藉由客製化的寫入指令分別將已加密資料與相應的加密資訊儲存至此記憶體儲存裝置。藉此,在後續完成資料轉移後,舊的使用者密碼仍可繼續用於解密所述已加密資料,進而改善以往無法針對支援自動化資料加密的記憶體儲存裝置進行資料救援的問題。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組(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。
在一範例實施例中,所提及的主機系統為可實質地與記憶體儲存裝置配合以儲存資料的任意系統。雖然在上述範例實施例中,主機系統是以電腦系統來作說明,然而,圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。請參照圖3,在另一範例實施例中,主機系統31也可以是數位相機、攝影機、通訊裝置、音訊播放器、視訊播放器或平板電腦等系統,而記憶體儲存裝置30可為其所使用的安全數位(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包括連接介面單元402、記憶體控制電路單元404與可複寫式非揮發性記憶體模組406。
連接介面單元402用以將記憶體儲存裝置10耦接至主機系統11。記憶體儲存裝置10可透過連接介面單元402與主機系統11通訊。在本範例實施例中,連接介面單元402是相容於序列先進附件(Serial Advanced Technology Attachment, SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元402亦可以是符合並列先進附件(Parallel Advanced Technology Attachment, PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers, IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express, PCI Express)標準、通用序列匯流排(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)標準或其他適合的標準。連接介面單元402可與記憶體控制電路單元404封裝在一個晶片中,或者連接介面單元402是佈設於一包含記憶體控制電路單元404之晶片外。
記憶體控制電路單元404用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令並且根據主機系統11的指令在可複寫式非揮發性記憶體模組406中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組406是耦接至記憶體控制電路單元404並且用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組406可以是單階記憶胞(Single Level Cell, SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元的快閃記憶體模組)、多階記憶胞(Multi Level Cell, MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元的快閃記憶體模組)、三階記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元的快閃記憶體模組)、四階記憶胞(Quad Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存4個位元的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
可複寫式非揮發性記憶體模組406中的每一個記憶胞是以電壓(以下亦稱為臨界電壓)的改變來儲存一或多個位元。具體來說,每一個記憶胞的控制閘極(control gate)與通道之間有一個電荷捕捉層。透過施予一寫入電壓至控制閘極,可以改變電荷補捉層的電子量,進而改變記憶胞的臨界電壓。此改變記憶胞之臨界電壓的操作亦稱為“把資料寫入至記憶胞”或“程式化(programming)記憶胞”。隨著臨界電壓的改變,可複寫式非揮發性記憶體模組406中的每一個記憶胞具有多個儲存狀態。透過施予讀取電壓可以判斷一個記憶胞是屬於哪一個儲存狀態,藉此取得此記憶胞所儲存的一或多個位元。
在本範例實施例中,可複寫式非揮發性記憶體模組406的記憶胞可構成多個實體程式化單元,並且此些實體程式化單元可構成多個實體抹除單元。具體來說,同一條字元線上的記憶胞可組成一或多個實體程式化單元。若每一個記憶胞可儲存2個以上的位元,則同一條字元線上的實體程式化單元可至少可被分類為下實體程式化單元與上實體程式化單元。例如,一記憶胞的最低有效位元(Least Significant Bit,LSB)是屬於下實體程式化單元,並且一記憶胞的最高有效位元(Most Significant Bit,MSB)是屬於上實體程式化單元。一般來說,在MLC NAND型快閃記憶體中,下實體程式化單元的寫入速度會大於上實體程式化單元的寫入速度,及/或下實體程式化單元的可靠度是高於上實體程式化單元的可靠度。
在本範例實施例中,實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。例如,實體程式化單元可為實體頁面(page)或是實體扇(sector)。若實體程式化單元為實體頁面,則此些實體程式化單元可包括資料位元區與冗餘(redundancy)位元區。資料位元區包含多個實體扇,用以儲存使用者資料,而冗餘位元區用以儲存系統資料(例如,錯誤更正碼等管理資料)。在本範例實施例中,資料位元區包含32個實體扇,且一個實體扇的大小為512位元組(byte, B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體扇,並且每一個實體扇的大小也可以是更大或更小。另一方面,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。例如,實體抹除單元為實體區塊(block)。
圖5是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。請參照圖5,記憶體控制電路單元404包括記憶體管理電路502、主機介面504及記憶體介面506。
記憶體管理電路502用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路502具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下說明記憶體管理電路502的操作時,等同於說明記憶體控制電路單元404的操作。
在本範例實施例中,記憶體管理電路502的控制指令是以韌體型式來實作。例如,記憶體管理電路502具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在另一範例實施例中,記憶體管理電路502的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路502具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當記憶體控制電路單元404被致能時,微處理器單元會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路502的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在另一範例實施例中,記憶體管理電路502的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路502包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路與資料處理電路是耦接至微控制器。記憶胞管理電路用以管理可複寫式非揮發性記憶體模組406的記憶胞或記憶胞群組。記憶體寫入電路用以對可複寫式非揮發性記憶體模組406下達寫入指令序列以將資料寫入至可複寫式非揮發性記憶體模組406中。記憶體讀取電路用以對可複寫式非揮發性記憶體模組406下達讀取指令序列以從可複寫式非揮發性記憶體模組406中讀取資料。記憶體抹除電路用以對可複寫式非揮發性記憶體模組406下達抹除指令序列以將資料從可複寫式非揮發性記憶體模組406中抹除。資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組406的資料以及從可複寫式非揮發性記憶體模組406中讀取的資料。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程式碼或指令碼並且用以指示可複寫式非揮發性記憶體模組406執行相對應的寫入、讀取及抹除等操作。在一範例實施例中,記憶體管理電路502還可以下達其他類型的指令序列給可複寫式非揮發性記憶體模組406以指示執行相對應的操作。
主機介面504是耦接至記憶體管理電路502。記憶體管理電路502可透過主機介面504與主機系統11通訊。主機介面504可用以接收與識別主機系統11所傳送的指令與資料。例如,主機系統11所傳送的指令與資料可透過主機介面504來傳送至記憶體管理電路502。此外,記憶體管理電路502可透過主機介面504將資料傳送至主機系統11。在本範例實施例中,主機介面504是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面504亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面506是耦接至記憶體管理電路502並且用以存取可複寫式非揮發性記憶體模組406。也就是說,欲寫入至可複寫式非揮發性記憶體模組406的資料會經由記憶體介面506轉換為可複寫式非揮發性記憶體模組406所能接受的格式。具體來說,若記憶體管理電路502要存取可複寫式非揮發性記憶體模組406,記憶體介面506會傳送對應的指令序列。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除指令序列、以及用以指示各種記憶體操作(例如,改變讀取電壓準位或執行垃圾回收操作等等)的相對應的指令序列。這些指令序列例如是由記憶體管理電路502產生並且透過記憶體介面506傳送至可複寫式非揮發性記憶體模組406。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
在一範例實施例中,記憶體控制電路單元404還包括錯誤檢查與校正電路508、緩衝記憶體510及電源管理電路512。
錯誤檢查與校正電路508是耦接至記憶體管理電路502並且用以執行錯誤檢查與校正操作以確保資料的正確性。具體來說,當記憶體管理電路502從主機系統11中接收到寫入指令時,錯誤檢查與校正電路508會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code, ECC)及/或錯誤檢查碼(error detecting code,EDC),並且記憶體管理電路502會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路502從可複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路508會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正操作。
緩衝記憶體510是耦接至記憶體管理電路502並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料。電源管理電路512是耦接至記憶體管理電路502並且用以控制記憶體儲存裝置10的電源。
在一範例實施例中,記憶體控制電路單元404還包括加密電路514與解密電路516。加密電路514支援資料加密功能並用以對欲儲存至可複寫式非揮發性記憶體模組406的資料進行加密。解密電路516支援資料解密功能並用用以對從可複寫式非揮發性記憶體模組406讀取出來的資料進行解密。
在一範例實施例中,圖4的可複寫式非揮發性記憶體模組406亦稱為快閃(flash)記憶體模組,記憶體控制電路單元404亦稱為用於控制快閃記憶體模組的快閃記憶體控制器,及/或圖5的記憶體管理電路502亦稱為快閃記憶體管理電路。
圖6是根據本發明的一範例實施例所繪示的管理可複寫式非揮發性記憶體模組的示意圖。
請參照圖6,記憶體管理電路502會將可複寫式非揮發性記憶體模組406的實體單元610(0)~610(B)邏輯地分組至儲存區601與替換區602。儲存區601中的實體單元610(0)~610(A)是用以儲存資料,而替換區602中的實體單元610(A+1)~610(B)則是用以替換儲存區601中損壞的實體單元。例如,若從某一個實體單元中讀取的資料所包含的錯誤過多而無法被更正時,此實體單元會被視為是損壞的實體單元。須注意的是,若替換區602中沒有可用的實體抹除單元,則記憶體管理電路502可能會將整個記憶體儲存裝置10宣告為寫入保護(write protect)狀態,而無法再寫入資料。
在本範例實施例中,每一個實體單元是指一個實體抹除單元。然而,在另一範例實施例中,一個實體單元亦可以是指一個實體位址、一個實體程式化單元或由多個連續或不連續的實體位址組成。記憶體管理電路502會配置邏輯單元612(0)~612(C)以映射儲存區601中的實體單元610(0)~610(A)。在本範例實施例中,每一個邏輯單元是指一個邏輯位址。然而,在另一範例實施例中,一個邏輯單元也可以是指一個邏輯程式化單元、一個邏輯抹除單元或者由多個連續或不連續的邏輯位址組成。此外,邏輯單元612(0)~612(C)中的每一者可被映射至一或多個實體單元。
記憶體管理電路502會將邏輯單元與實體單元之間的映射關係(亦稱為邏輯-實體位址映射關係)記錄於至少一邏輯-實體位址映射表。當主機系統11欲從記憶體儲存裝置10讀取資料或寫入資料至記憶體儲存裝置10時,記憶體管理電路502可根據此邏輯-實體位址映射表來執行對於記憶體儲存裝置10的資料存取操作。
在一範例實施例中,圖5的加密電路514與解密電路516皆是預設啟動的。換言之,若未特別指示關閉資料加密功能,則加密電路514會在記憶體儲存裝置10開機後持續維持於啟動狀態。類似的,若未特別指示關閉資料解密功能,則解密電路516會在記憶體儲存裝置10開機後持續維持於啟動狀態。
在一範例實施例中,在資料加密功能已啟動的前提下,當從主機系統11接收到指示儲存某一資料(亦稱為原始資料)的寫入指令時,加密電路514可根據一加密金鑰來加密此原始資料以產生已加密資料。記憶體管理電路502可將已加密資料與加密過程中產生的資訊(亦稱為加密資訊)一併儲存於可複寫式非揮發性記憶體模組406中。在一範例實施例中,已加密資料與此已加密資料的加密資訊可儲存於同一個資料訊框。例如,一個資料訊框可以是指一個實體程式化單元或可複寫式非揮發性記憶體模組406中其他的資料管理單位。
在一範例實施例中,在資料解密功能已啟動的前提下,當從主機系統11接收到欲讀取某一已加密資料的讀取指令時,解密電路516可根據一個解密金鑰與對應於此已加密資料的加密資訊來解密此已加密資料以獲得原始資料。然後,記憶體管理電路502可將原始資料傳送至主機系統11。此外,若解密金鑰及/或加密資訊不正確,則解密電路516將無法成功解碼此已加密資料。
在一範例實施例中,所述加密資訊可包括循環冗餘校驗(Cyclic redundancy check, CRC)碼。在一範例實施例中,加密電路514可根據待儲存的原始資料與所述加密金鑰(或解密金鑰)來產生此CRC碼(或其他類型的加密資訊)。在一範例實施例中,加密電路514亦可根據待儲存的原始資料、與此原始資料的邏輯位址相關的資訊(亦稱為邏輯位址資訊)及所述加密金鑰(或解密金鑰)來產生此CRC碼(或其他類型的加密資訊)。
在一範例實施例中,加密電路514與解密電路516是使用對稱密鑰演算法(Symmetric-key algorithm),例如,DES、3DES、AES、Blowfish、IDEA、RC5或RC6。在對稱密鑰演算法中,加密金鑰與解密金鑰是相同的。然而,在另一範例實施例中,若加密電路514與解密電路516是使用公開金鑰密碼學(Public-key cryptography)或稱為非對稱式密碼學(Asymmetric cryptography),例如,RSA、ElGamal或橢圓曲線加密演算法(Elliptic Curve Cryptography, ECC),則加密金鑰與解密金鑰可以是不相同的。
圖7是根據本發明的一範例實施例所繪示的資料轉移的示意圖。請參照圖7,主機系統70耦接至記憶體儲存裝置71與72。在一範例實施例中,記憶體儲存裝置72亦稱為第一記憶體儲存裝置,且記憶體儲存裝置71亦稱為第二記憶體儲存裝置。假設記憶體儲存裝置71損壞或者發生任何需要對其內部儲存的資料進行救援的情形(例如記憶體儲存裝置71無法正常開機),則主機系統70可控制將記憶體儲存裝置71所儲存的資料轉移到記憶體儲存裝置72。
須注意的是,若記憶體儲存裝置71儲存有已加密資料,則原先用於對記憶體儲存裝置71中的已加密資料進行解密的解密金鑰(例如使用者密碼)與加密資訊也可以用於對轉移至記憶體儲存裝置72的已加密資料進行解密。換言之,假設某一使用者密碼原先可用於解密儲存於記憶體儲存裝置71的已加密資料。在將至少部分已加密資料從記憶體儲存裝置71轉移至記憶體儲存裝置72後,此使用者密碼仍可用於正常解密轉移至記憶體儲存裝置72的已加密資料。
在一範例實施例中,假設主機系統70是供應商或維修商的電腦,則在供應商或維修商未得知記憶體儲存裝置71的使用者密碼的情形下,供應商或維修商仍然可以成功救援記憶體儲存裝置71中的資料並將此資料轉移到可正常使用的記憶體儲存裝置72。在將記憶體儲存裝置72交給使用者後,使用者可以使用其原先的使用者密碼來正常存取記憶體儲存裝置72中的已加密資料。
圖8是根據本發明的一範例實施例所繪示的主機系統與第二記憶體儲存裝置之間的通訊時序示意圖。請參照圖8,在步驟S801中,主機系統70傳送禁能指令至記憶體儲存裝置71。此禁能指令用以指示記憶體儲存裝置71關閉預設啟動的資料解密功能。因此,在步驟S802中,響應於此禁能指令,記憶體儲存裝置71的記憶體控制電路單元可關閉預設啟動的解密電路的資料解密功能。
在記憶體儲存裝置71的資料解密功能已關閉的前提下,在步驟S803中,主機系統70可發送一般讀取指令與特殊讀取指令至記憶體儲存裝置71。一般讀取指令指示讀取已加密資料DATA(A)。特殊讀取指令指示讀取加密資訊CRC(A)。加密資訊CRC(A)可用於解密已加密資料DATA(A)。
在步驟S804中,記憶體儲存裝置71的記憶體控制電路單元可響應於此一般讀取指令從記憶體儲存裝置71的可複寫式非揮發性記憶體模組中讀取已加密資料DATA(A)並響應於此特殊讀取指令從記憶體儲存裝置71的可複寫式非揮發性記憶體模組中讀取加密資訊CRC(A)。
須注意的是,雖然記憶體儲存裝置71支援自動的資料解密功能,但由於此資料解密功能已預先被關閉,故對於已加密資料DATA(A)與加密資訊CRC(A)之讀取皆不包含對已加密資料DATA(A)與加密資訊CRC(A)進行解密。然後,在步驟S805中,記憶體儲存裝置71的記憶體控制電路單元可將未經解密的已加密資料DATA(A)與加密資訊CRC(A)傳送至主機系統70。
須注意的是,在一範例實施例中,在步驟S803中,主機系統70亦可傳送特殊讀取指令但不傳送一般讀取指令。所傳送的特殊讀取指令可在步驟S804中指示記憶體儲存裝置71的記憶體控制電路單元讀取已加密資料DATA(A)與加密資訊CRC(A)。
在一範例實施例中,記憶體儲存裝置71的記憶體控制電路單元可根據儲存於可複寫式非揮發性記憶體模組中的實體至邏輯映射資訊重建出相應的邏輯至實體映射資訊(例如邏輯至實體映射表)。此邏輯至實體映射資訊可用於讀取可複寫式非揮發性記憶體模組中的有效資料。例如,若某一實體單元當前被某一邏輯單元映射,則可視為此實體單元所儲存的資料包含有效資料。反之,若某一實體單元當前未被某一邏輯單元映射,則可視為此實體單元所儲存的資料不包含有效資料。
在一範例實施例中,根據步驟S803中接收的讀取指令,記憶體儲存裝置71的記憶體控制電路單元可查詢所建立的邏輯至實體映射資訊以讀取可複寫式非揮發性記憶體模組中有效的已加密資料DATA(A)與對應的CRC(A)。在一範例實施例中,根據步驟S803中接收的讀取指令,記憶體儲存裝置71的記憶體控制電路單元也可將已加密資料DATA(A)所對應的邏輯位址資訊(例如已加密資料DATA(A)所屬的邏輯單元之資訊)一併傳送給主機系統70。
圖9是根據本發明的一範例實施例所繪示的主機系統與第一記憶體儲存裝置之間的通訊時序示意圖。請參照圖9,接續於圖8的範例實施例,在從記憶體儲存裝置71讀取已加密資料DATA(A)與加密資訊CRC(A)之後,在步驟S901中,主機系統70傳送禁能指令至記憶體儲存裝置72。此禁能指令用以指示記憶體儲存裝置72關閉預設啟動的資料加密功能。因此,在步驟S902中,響應於此禁能指令,記憶體儲存裝置72的記憶體控制電路單元可關閉預設啟動的加密電路的資料加密功能。
在記憶體儲存裝置72的資料加密功能已關閉的前提下,在步驟S903中,主機系統70可發送一般寫入指令與特殊寫入指令至記憶體儲存裝置72。一般寫入指令指示儲存已加密資料DATA(A)。特殊寫入指令指示儲存加密資訊CRC(A)。
在步驟S904中,記憶體儲存裝置72的記憶體控制電路單元可響應於此一般寫入指令來儲存已加密資料DATA(A)並響應於此特殊寫入指令來儲存加密資訊CRC(A)。須注意的是,雖然記憶體儲存裝置72支援自動的資料加密功能,但由於此資料加密功能已預先被關閉,故對於已加密資料DATA(A)與加密資訊CRC(A)之儲存皆不包含再次對已加密資料DATA(A)與加密資訊CRC(A)進行加密。藉此,可完成圖7中從記憶體儲存裝置71至72的資料轉移(或資料救援)。
須注意的是,在一範例實施例中,在步驟S903中,主機系統70亦可傳送特殊寫入指令但不傳送一般寫入指令。所傳送的特殊寫入指令可在步驟S904中指示記憶體儲存裝置72的記憶體控制電路單元儲存已加密資料DATA(A)與加密資訊CRC(A)。
從另一角度而言,儲存於記憶體儲存裝置72的加密資訊CRC(A)並非由記憶體儲存裝置72的記憶體控制電路單元(例如記憶體控制電路單元的加密電路)所產生。爾後,當需要在記憶體儲存裝置72中存取已加密資料DATA(A)時,記憶體儲存裝置72的解密電路可根據加密資訊CRC(A)與解密金鑰來解密已加密資料DATA(A)以獲得原始資料。
在一範例實施例中,根據步驟S903接收的寫入指令,記憶體儲存裝置72的記憶體控制電路單元也可儲存已加密資料DATA(A)所對應的邏輯位址資訊(例如已加密資料DATA(A)所屬的邏輯單元之資訊)。爾後,此邏輯位址資訊也可用於解密已加密資料DATA(A)以獲得已加密資料DATA(A)的原始資料。
在一範例實施例中,加密資訊(例如CRC(A))只能藉由特殊讀取指令讀取並藉由特殊寫入指令儲存。一般讀取指令與一般寫入指令皆無法用於存取加密資訊。
圖10是根據本發明的一範例實施例所繪示的讀取已加密資料與加密資訊的示意圖。請參照圖10,假設已加密資料1001、邏輯位址資訊(例如LCA)1002、加密資訊(例如CRC16碼)1003及錯誤更正資訊(例如BCH或LDPC碼)1004皆儲存於記憶體儲存裝置71的可複寫式非揮發性記憶體模組1010中的同一個資料訊框DF(1)。已加密資料1001例如是儲存於資料訊框DF(1)的資料區。已加密資料1001的資料大小可為4KB(Bytes)。邏輯位址資訊1002、加密資訊1003及錯誤更正資訊1004例如是儲存於資料訊框DF(1)的閒置(spare)區。邏輯位址資訊1002的資料大小可為4B。加密資訊1003的資料大小可為2B。
加密資訊1003是根據已加密資料1001、邏輯位址資訊1002及記憶體儲存裝置71使用的加密金鑰(或解密金鑰)而產生。在記憶體儲存裝置71的資料解密功能已關閉的前提下,來自主機系統70的一般讀取指令可用以讀取已加密資料1001與邏輯位址資訊1002,而來自主機系統70的特殊讀取指令則可用以讀取加密資訊1003。或者,在一範例實施例中,已加密資料1001、邏輯位址資訊1002及加密資訊1003皆可藉由來自主機系統70的特殊讀取指令讀取。
圖11是根據本發明的一範例實施例所繪示的寫入已加密資料與加密資訊的示意圖。請參照圖11,在接收到來自主機系統70的一般寫入指令後,記憶體儲存裝置72的記憶體控制電路單元可將原先儲存於記憶體儲存裝置71的已加密資料1001與邏輯位址資訊1002暫存於緩衝記憶體1110。此外,在接收到來自主機系統70的特殊寫入指令後,記憶體儲存裝置72的記憶體控制電路單元可將原先儲存於記憶體儲存裝置71的加密資訊1003暫存於緩衝記憶體1110。
接著,在記憶體儲存裝置72的資料加密功能已關閉的前提下,記憶體儲存裝置72的記憶體控制電路單元可從緩衝記憶體1110讀取已加密資料1001、邏輯位址資訊1002及加密資訊1003並發送一寫入指令序列以指示將已加密資料1001、邏輯位址資訊1002及加密資訊1003一併儲存至記憶體儲存裝置72的可複寫式非揮發性記憶體模組1120中。例如,已加密資料1001、邏輯位址資訊1002及加密資訊1003可被儲存至可複寫式非揮發性記憶體模組1120中的同一個資料訊框DF(2)。例如,已加密資料1001可儲存於資料訊框DF(2)的資料區。例如,邏輯位址資訊1002與加密資訊1003可儲存於資料訊框DF(2)的閒置區。
須注意的是,在一範例實施例中,記憶體儲存裝置72的記憶體控制電路單元亦可根據來自主機系統70的特殊寫入指令發送一寫入指令序列以指示將已加密資料1001、邏輯位址資訊1002及加密資訊1003一併儲存至可複寫式非揮發性記憶體模組1120中(例如資料訊框DF(2))。
在一範例實施例中,記憶體儲存裝置72的記憶體控制電路單元也可以產生一個用於保護已加密資料1001、邏輯位址資訊1002及加密資訊1003的錯誤更正資訊(例如BCH或LDPC碼)1104並將錯誤更正資訊1104一併儲存至資料訊框DF(2)中。例如,錯誤更正資訊1104也可儲存於資料訊框DF(2)的閒置區。
綜上所述,在關閉第二記憶體儲存裝置預設啟動的資料解密功能後,可藉由客製化的讀取指令分別將已加密資料與相應的加密資訊讀取出來。此外,在關閉第一記憶體儲存裝置預設啟動的資料加密功能後,也可藉由客製化的寫入指令分別將已加密資料與相應的加密資訊儲存至第一記憶體儲存裝置。藉此,在完成資料轉移後,舊的解密金鑰(例如使用者密碼)仍可繼續用於解密儲存至第一記憶體儲存裝置的已加密資料,進而改善以往無法針對支援自動化資料加密的記憶體儲存裝置進行資料救援的問題。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10,71,72:記憶體儲存裝置 11,70:主機系統 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:嵌入式多晶片封裝儲存裝置 402:連接介面單元 404:記憶體控制電路單元 406,1010,1120:可複寫式非揮發性記憶體模組 502:記憶體管理電路 504:主機介面 506:記憶體介面 508:錯誤檢查與校正電路 510,1110:緩衝記憶體 512:電源管理電路 601:儲存區 602:替換區 610(0)~610(B):實體單元 612(0)~612(C):邏輯單元 S801:步驟(傳送禁能指令) S802:步驟(關閉預設啟動的資料解密功能) S803:步驟(傳送一般讀取指令與特殊讀取指令) S804:步驟(讀取已加密資料DATA(A)與加密資訊CRC(A)) S805:步驟(傳送已加密資料DATA(A)與加密資訊CRC(A)) S901:步驟(傳送禁能指令) S902:步驟(關閉預設啟動的資料加密功能) S903:步驟(傳送一般寫入指令與特殊寫入指令) S904:步驟(儲存已加密資料DATA(A)與加密資訊CRC(A)) 1001:已加密資料 1002:邏輯位址資訊 1003:加密資訊 1004,1104:錯誤更正資訊 DF(1),DF(2):資料訊框
圖1是根據本發明的一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖2是根據本發明的另一範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。 圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。 圖4是根據本發明的一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。 圖5是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。 圖6是根據本發明的一範例實施例所繪示的管理可複寫式非揮發性記憶體模組的示意圖。 圖7是根據本發明的一範例實施例所繪示的資料轉移的示意圖。 圖8是根據本發明的一範例實施例所繪示的主機系統與第二記憶體儲存裝置之間的通訊時序示意圖。 圖9是根據本發明的一範例實施例所繪示的主機系統與第一記憶體儲存裝置之間的通訊時序示意圖。 圖10是根據本發明的一範例實施例所繪示的讀取已加密資料與加密資訊的示意圖。 圖11是根據本發明的一範例實施例所繪示的寫入已加密資料與加密資訊的示意圖。
71,72:記憶體儲存裝置
70:主機系統

Claims (24)

  1. 一種資料轉移方法,包括: 指示一第一記憶體儲存裝置關閉預設啟動的一資料加密功能;以及 在該第一記憶體儲存裝置的該資料加密功能已關閉的前提下,發送一寫入指令至該第一記憶體儲存裝置, 其中該寫入指令指示將一已加密資料的一加密資訊儲存至該第一記憶體儲存裝置, 該加密資訊非由該第一記憶體儲存裝置產生,並且 該加密資訊無法藉由一一般讀取指令讀取。
  2. 如請求項1所述的資料轉移方法,其中該寫入指令包括一特殊寫入指令,且該特殊寫入指令指示將該已加密資料與該加密資訊儲存至該第一記憶體儲存裝置。
  3. 如請求項1所述的資料轉移方法,其中該寫入指令包括一一般寫入指令與一特殊寫入指令,該一般寫入指令指示將該已加密資料儲存至該第一記憶體儲存裝置,且該特殊寫入指令指示將該加密資訊儲存至該第一記憶體儲存裝置。
  4. 如請求項1所述的資料轉移方法,更包括: 指示一第二記憶體儲存裝置關閉預設啟動的一資料解密功能;以及 在該第二記憶體儲存裝置的該資料解密功能已關閉的前提下,發送該一般讀取指令與一特殊讀取指令至該第二記憶體儲存裝置, 其中該一般讀取指令指示從該第二記憶體儲存裝置讀取該已加密資料,並且 該特殊讀取指令指示從該第二記憶體儲存裝置讀取該加密資訊。
  5. 如請求項1所述的資料轉移方法,其中該加密資訊是在將一原始資料儲存至該第二記憶體儲存裝置時,由該第二記憶體儲存裝置根據該原始資料、一邏輯位址資訊及一加密金鑰產生。
  6. 如請求項1所述的資料轉移方法,其中該加密資訊可用以解密該已加密資料。
  7. 如請求項1所述的資料轉移方法,其中該加密資料非由該第一記憶體儲存裝置的一記憶體控制電路單元產生。
  8. 如請求項1所述的資料轉移方法,其中該加密資訊包括一循環冗餘校驗(Cyclic redundancy check, CRC)碼。
  9. 如請求項3所述的資料轉移方法,更包括: 由該記憶體控制電路單元根據該一般寫入指令與該特殊寫入指令發送一寫入指令序列以指示將該已加密資料與該加密資訊一併儲存至該第一記憶體儲存裝置的一可複寫式非揮發性記憶體模組。
  10. 如請求項1所述的資料轉移方法,其中該已加密資料與該加密資訊儲存於同一個資料訊框中。
  11. 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統; 一可複寫式非揮發性記憶體模組;以及 一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組, 其中該記憶體控制電路單元用以根據該主機系統的指示而關閉預設啟動的一資料加密功能, 該記憶體控制電路單元更用以在該資料加密功能已關閉的前提下,從該主機系統接收一寫入指令, 該寫入指令指示將一已加密資料的一加密資訊儲存至該記憶體儲存裝置, 該加密資訊非由該記憶體儲存裝置產生,並且 該加密資訊無法藉由一一般讀取指令讀取。
  12. 如請求項11所述的記憶體儲存裝置,其中該加密資訊可用以解密該已加密資料。
  13. 如請求項11所述的記憶體儲存裝置,其中該加密資料非由該記憶體控制電路單元產生。
  14. 如請求項11所述的記憶體儲存裝置,其中該加密資訊包括一CRC碼。
  15. 如請求項11所述的記憶體儲存裝置,其中該寫入指令包括一一般寫入指令與一特殊寫入指令,該一般寫入指令指示將該已加密資料儲存至該記憶體儲存裝置,且該特殊寫入指令指示將該加密資訊儲存至該記憶體儲存裝置,並且 該記憶體控制電路單元更用以根據該一般寫入指令與該特殊寫入指令發送一寫入指令序列以指示將該已加密資料與該加密資訊一併儲存至該可複寫式非揮發性記憶體模組。
  16. 如請求項11所述的記憶體儲存裝置,其中該已加密資料與該加密資訊儲存於同一個資料訊框中。
  17. 一種記憶體儲存裝置,包括: 一連接介面單元,用以耦接至一主機系統; 一可複寫式非揮發性記憶體模組;以及 一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組, 其中該記憶體控制電路單元用以根據該主機系統的指示而關閉預設啟動的一資料解密功能, 該記憶體控制電路單元更用以在該資料解密功能已關閉的前提下,從該主機系統接收一讀取指令, 該讀取指令指示從該記憶體儲存裝置讀取一已加密資料的加密資訊,並且 該加密資訊無法藉由一一般讀取指令讀取。
  18. 如請求項17所述的記憶體儲存裝置,其中該讀取指令包括一特殊讀取指令,且該特殊讀取指令指示從該記憶體儲存裝置讀取該已加密資料與該加密資訊。
  19. 如請求項17所述的記憶體儲存裝置,其中該讀取指令包括該一般讀取指令與一特殊讀取指令,該一般讀取指令指示從該記憶體儲存裝置讀取該已加密資料,且該特殊讀取指令指示從該記憶體儲存裝置讀取該加密資訊。
  20. 如請求項17所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以在儲存一原始資料時,根據該原始資料、一邏輯位址資訊及一加密金鑰產生該加密資訊。
  21. 如請求項17所述的記憶體儲存裝置,其中該加密資訊可用以解密該已加密資料。
  22. 如請求項17所述的記憶體儲存裝置,其中該加密資訊包括一CRC碼。
  23. 如請求項19所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以根據該一般讀取指令從該可複寫式非揮發性記憶體模組讀取該已加密資料, 該記憶體控制電路單元更用以根據該特殊讀取指令從該可複寫式非揮發性記憶體模組讀取該加密資訊,並且 該記憶體控制電路單元更用以將該已加密資料與該加密資訊傳送至該主機系統。
  24. 如請求項17所述的記憶體儲存裝置,其中該已加密資料與該加密資訊儲存於同一個資料訊框中。
TW109108661A 2020-03-17 2020-03-17 資料轉移方法與記憶體儲存裝置 TWI733375B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW109108661A TWI733375B (zh) 2020-03-17 2020-03-17 資料轉移方法與記憶體儲存裝置
US16/847,689 US11216217B2 (en) 2020-03-17 2020-04-14 Data transfer method after data encryption function is disabled and memory storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109108661A TWI733375B (zh) 2020-03-17 2020-03-17 資料轉移方法與記憶體儲存裝置

Publications (2)

Publication Number Publication Date
TWI733375B TWI733375B (zh) 2021-07-11
TW202137004A true TW202137004A (zh) 2021-10-01

Family

ID=77746957

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109108661A TWI733375B (zh) 2020-03-17 2020-03-17 資料轉移方法與記憶體儲存裝置

Country Status (2)

Country Link
US (1) US11216217B2 (zh)
TW (1) TWI733375B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12058259B2 (en) 2020-10-19 2024-08-06 SanDisk Technologies, Inc. Data storage device encryption
US11995223B2 (en) * 2020-10-19 2024-05-28 Western Digital Technologies, Inc. Data storage device encryption
CN114025347B (zh) * 2021-11-03 2023-12-01 苏州欧清电子有限公司 一种蓝牙设备的加密方法、装置、设备及存储介质
CN116720227A (zh) * 2023-01-16 2023-09-08 合肥沛睿微电子股份有限公司 用于存储器的数据加解密系统及数据加解密方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4300705B2 (ja) * 2000-12-05 2009-07-22 ソニー株式会社 データ転送システム、データ転送装置、データ転送方法、記録媒体
TW550459B (en) * 2001-11-27 2003-09-01 De-Fu Chen Computer data protection device
US8464073B2 (en) * 2006-09-13 2013-06-11 Stec, Inc. Method and system for secure data storage
US20080072071A1 (en) * 2006-09-14 2008-03-20 Seagate Technology Llc Hard disc streaming cryptographic operations with embedded authentication
TW201009581A (en) * 2008-08-26 2010-03-01 Asustek Comp Inc Method and system for protecting data
US8683221B2 (en) * 2010-05-18 2014-03-25 Lsi Corporation Configurable memory encryption with constant pipeline delay in a multi-core processor
US20110271097A1 (en) * 2010-04-29 2011-11-03 Sonus Networks, Inc. Loosely-Coupled Encryption Functionality for Operating Systems
TWI450525B (zh) * 2011-07-25 2014-08-21 Acer Inc 偵測無線傳輸錯誤之方法
WO2013025820A2 (en) * 2011-08-15 2013-02-21 Marvell World Trade Ltd. Long range wlan data unit format
US10095634B2 (en) * 2015-05-22 2018-10-09 Nxp B.V. In-vehicle network (IVN) device and method for operating an IVN device
US9811680B2 (en) * 2015-06-04 2017-11-07 Microsoft Technology Licensing, Llc Secure storage and sharing of data by hybrid encryption using predefined schema
TW201830284A (zh) * 2017-02-08 2018-08-16 宏碁股份有限公司 資料儲存系統、資料儲存方法及資料讀取方法
JP6892361B2 (ja) * 2017-09-21 2021-06-23 キオクシア株式会社 ストレージ装置
US10810138B2 (en) * 2018-06-14 2020-10-20 Intel Corporation Enhanced storage encryption with total memory encryption (TME) and multi-key total memory encryption (MKTME)
TWI686724B (zh) * 2018-07-27 2020-03-01 威剛科技股份有限公司 具有加解密功能的硬碟及其應用系統
TWI700636B (zh) * 2018-09-07 2020-08-01 神雲科技股份有限公司 叢集式儲存系統的資料抹除方法
US11347659B2 (en) * 2018-12-20 2022-05-31 Micron Technology, Inc. Low cost and low latency logical unit erase
JP7187362B2 (ja) * 2019-03-15 2022-12-12 キオクシア株式会社 ストレージ装置及び制御方法
TWM589302U (zh) * 2019-11-01 2020-01-11 華南商業銀行股份有限公司 分配文件傳輸系統

Also Published As

Publication number Publication date
US11216217B2 (en) 2022-01-04
US20210294523A1 (en) 2021-09-23
TWI733375B (zh) 2021-07-11

Similar Documents

Publication Publication Date Title
TWI649754B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
TWI670716B (zh) 資料存取方法、記憶體儲存裝置與記憶體控制電路單元
TWI768764B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
TWI731338B (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
TWI733375B (zh) 資料轉移方法與記憶體儲存裝置
TWI592799B (zh) 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置
TWI658463B (zh) 資料存取方法、記憶體控制電路單元與記憶體儲存裝置
CN109491588B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
TWI658361B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TW201514697A (zh) 資料處理方法、記憶體儲存裝置與記憶體控制電路單元
TWI591482B (zh) 資料保護方法、記憶體控制電路單元及記憶體儲存裝置
TWI725416B (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
CN111028877B (zh) 数据存取方法、存储器储存装置与存储器控制电路单元
TW201913382A (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
TW201944421A (zh) 平均磨損方法、記憶體控制電路單元與記憶體儲存裝置
CN107045890B (zh) 数据保护方法、存储器控制电路单元及存储器存储装置
TW202338613A (zh) 表格排序方法、記憶體儲存裝置及記憶體控制電路單元
TWI750013B (zh) 資料存取方法、記憶體控制電路單元及記憶體儲存裝置
TWI797464B (zh) 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元
US11983069B2 (en) Data rebuilding method, memory storage apparatus, and memory control circuit unit
TWI597731B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
TWI709850B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI834149B (zh) 表格管理方法、記憶體儲存裝置及記憶體控制電路單元
TWI741779B (zh) 資料整併方法、記憶體儲存裝置及記憶體控制電路單元
CN113448488B (zh) 数据转移方法与存储器存储装置