TWI539281B - 資料儲存裝置、編碼單元、包含該裝置、單元的系統、編碼方法以及讀取資料的方法 - Google Patents

資料儲存裝置、編碼單元、包含該裝置、單元的系統、編碼方法以及讀取資料的方法 Download PDF

Info

Publication number
TWI539281B
TWI539281B TW101117600A TW101117600A TWI539281B TW I539281 B TWI539281 B TW I539281B TW 101117600 A TW101117600 A TW 101117600A TW 101117600 A TW101117600 A TW 101117600A TW I539281 B TWI539281 B TW I539281B
Authority
TW
Taiwan
Prior art keywords
encoding
data
storage device
data storage
encoded
Prior art date
Application number
TW101117600A
Other languages
English (en)
Other versions
TW201248407A (en
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 三星電子股份有限公司
Publication of TW201248407A publication Critical patent/TW201248407A/zh
Application granted granted Critical
Publication of TWI539281B publication Critical patent/TWI539281B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/71Protecting 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
    • G06F21/74Protecting 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 operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/71Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/71Protecting 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
    • G06F21/72Protecting 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 in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/402Encrypted data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS

Description

資料儲存裝置、編碼單元、包含該裝置、單元的系統、編碼方法以及讀取資料的方法 相關專利申請案之交叉參考
根據35 U.S.C.119,本申請案主張分別在2011年5月17日和2011年8月16日於韓國智財局申請的韓國專利申請案第10-2011-0046405號與第10-2011-0081308號的優先權以及由此而獲得的全部利益,其揭露內容在此併入本文作為參考。
本發明是有關於一種用以輸出已編碼資料(coded data)的資料儲存裝置與系統,且特別是有關於一種用來對將欲輸出的資料進行編碼且能夠使應用於資料之多個片段(fragments)之每個片段的編碼模式隨機變化從而提高資料安全性的資料儲存裝置與系統。
現已提供各種用以存儲數位資料的資料儲存裝置。舉例而言,有硬碟機(hard disk drive)、固態硬碟(Solid state drive,SSD)以及各種記憶卡(memory cards)。為了防止未經授權者讀取存儲在資料儲存裝置中的數位資料,此資料儲存裝置需採用改良的資料安全技術來對存儲在安全區域的資料進行編碼和輸出,如此一來,即使資料被讀取,要將資料解碼也很困難甚至是不可能的。
至少一個實施例是有關於一種資料儲存裝置。
在一實施例中,此資料儲存裝置包括控制單元,此控 制單元經配置以便對至少一個輸入指令進行解碼,且經配置以回應於輸入指令而產生讀取訊號與起動訊號的至少其中之一。起動訊號表示啟動內部模式確定過程。此資料儲存裝置也包括:記憶單元,其經配置以回應於讀取訊號而輸出資料;以及編碼單元,其經配置以回應於起動訊號而啟動與執行內部模式確定過程。內部模式確定過程包括自發地確定編碼模式,且編碼單元經配置以基於所確定的編碼模式來對所輸出的資料進行編碼,從而產生已編碼資料。
在另一實施例中,資料儲存裝置包括控制單元,此控制單元經配置以對輸入指令進行解碼,且經配置以回應於輸入指令而產生讀取訊號與觸發訊號(trigger signal)的至少其中之一。此輸入指令不表明編碼模式。此資料儲存裝置也包括:記憶單元,其經配置以回應於讀取訊號而輸出資料;以及編碼單元,其經配置以回應於觸發訊號而產生指示資料。此指示資料表明編碼模式。編碼單元經配置以基於指示資料來從一組編碼模式中選擇編碼模式,且經配置以基於所確定的編碼模式來對所輸出的資料進行編碼。
在又一實施例中,資料儲存裝置包括控制單元,此控制單元經配置以對輸入指令進行解碼,且經配置以回應於輸入指令而產生讀取訊號與觸發訊號的至少其中之一。此資料儲存裝置更包括:記憶單元,其經配置以回應於讀取訊號而輸出資料;以及編碼單元,其經配置以回應於觸發訊號而產生第一隨機資料。此編碼單元經配置以基於第一隨機資料來從一組編碼模式中自發地選擇一種編碼模式, 且經配置以基於所確定的編碼模式來對所輸出的資料進行編碼。
至少一個實施例是有關於一種編碼單元。
在一實施例中,編碼單元包括編碼確定單元,其經配置以產生具有想要的分佈狀態的隨機資料,且經配置以基於此隨機資料來確定編碼模式。編碼單元中的編碼器經配置以基於所確定的編碼模式來進行資料編碼。
至少一個實施例也是有關於一種包括此資料儲存裝置及/或編碼單元的系統。
至少一個實施例是有關於資料編碼方法。
在一實施例中,此方法包括:基於使用者輸入來改變一種或一種以上的編碼模式的編碼比率(coding ratio);選擇編碼模式;以及基於所選的編碼模式來對從記憶單元輸出的資料進行編碼以便產生已編碼資料。這些編碼模式的至少其中之一可允許已編碼資料在接收已編碼資料的裝置中被正確地解碼,且這些編碼模式的至少其中之一可不允許已編碼資料在接收已編碼資料的裝置中被正確地解碼。
選擇步驟可包括:基於編碼策略來配置隨機產生器,編碼策略表示多種編碼模式之每種編碼模式被選中的概率;以及使用隨機產生器來隨機產生編碼模式指標,此編碼模式指標表示多種編碼模式之一。
在另一實施例中,此方法包括基於編碼策略來從多種編碼模式中選擇一種編碼模式。編碼策略表示多種編碼模 式之每種編碼模式被選中的概率。此方法更包括基於所選的編碼模式來進行資料編碼以便產生已編碼資料。此方法可更包括對多個資料反覆執行編碼模式選擇步驟和資料編碼步驟。此方法可更包括基於輸入指令來設定編碼策略。此方法可更包括設定不同的編碼策略來作為編碼策略以回應於更改指令。此方法可更包括基於資料在記憶單元中的位置來設定編碼策略。此方法可更包括:從編碼策略儲存單元載入編碼策略列表;以及從此列表中選擇編碼策略。編碼模式可包括第一編碼模式和第二編碼模式,若編碼模式選擇是選擇第一編碼模式,則已編碼資料可被正確地解碼,若編碼模式選擇是選擇第二編碼模式,則已編碼資料無法被正確地解碼。編碼策略可表明選擇第一編碼模式的百分率。編碼模式選擇可包括:基於編碼策略來配置隨機產生器;以及使用隨機產生器來產生編碼模式指標,此編碼模式指標表示第一編碼模式與第二編碼模式其中之一。
在又一實施例中,此方法包括產生多組已編碼資料片段。每組代表相同的原始資料,且每組包括至少第一已編碼資料片段與第二已編碼資料片段的圖案。第一已編碼資料片段的編碼少於第二已編碼資料片段,且產生是指產生多組,使得一組的圖案可不同於另一組的圖案。第一已編碼資料片段可被正確地解碼,且第二已編碼資料片段可不被正確地解碼。每個圖案可具有至少一個第一已編碼資料片段。每個圖案可具有不超過最大數量的第一已編碼資料片段。多組已編碼資料片段中至少有兩組可包括相同數量 的第一已編碼資料片段。此方法可更包括獲取表示第一已編碼資料片段之最大數量的編碼策略,其中產生是指基於此編碼策略來產生多組已編碼資料片段。
至少一個實施例是有關於一種讀取資料的方法。
在一實施例中,此方法包括:回應於輸入指令而產生讀取訊號與觸發訊號的至少其中之一;回應於讀取訊號而從記憶單元輸出資料;回應於觸發訊號而產生第一隨機資料以;基於第一隨機資料來從一組編碼模式中自發地選擇一種編碼模式;以及基於所確定的編碼模式來對所輸出的資料進行編碼。
為讓本發明之上述觀點和特徵能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
下面將參照所附圖式來更全面地闡述各實施例,這些實施例繪示於所附圖式中。然而,實施例可體現為許多不同的形態,而不應理解為限於本文所列舉的實施例。確切地說,提供這些實施例是為了使揭露的內容更透徹更完整,且將本發明的範圍更完整地傳達給本領域具有通常知識者。為清楚起見,在這些圖式中,層和區域的尺寸及相對尺寸可能被放大。在所有的圖式中,相同的符號代表相同的構件。
容易理解的是,當提到一構件“連接”或“耦接”到另一構件時,此構件可直接連接或耦接到另一構件,也可能存在著介入構件。相反,當提到一構件“直接連接”或“直接耦 接”到另一構件時,則不存在介入構件。如本文所用的術語“及/或”包括一個或多個相關列舉項的任意及全部組合,可簡化為“/”。
容易理解的是,雖然本文可能使用術語“第一”、“第二”等來描述各種構件,但是這些術語並非用來限定這些構件。這些術語只是用來區別一構件與另一構件。舉例而言,在不脫離本發明之教示的前提下,第一訊號可稱為第二訊號,同理,第二訊號也可稱為第一訊號。
本文所用的術語只是為了便於闡述特定的實施例,而非用以限定本發明。如本文所用的單數形態“一”、“一種”及“所述”也包括複數形態,除非文中另行明確說明。更容易理解的是,當本說明書中使用術語“包括”及/或“包含”時,表明存在著所述特徵、區域、整體、步驟、操作、構件及/或元件,但不排除存在或增加一個或一個以上的其他特徵、區域、整體、步驟、操作、構件、元件及/或其群組。
除非另行規定,否則本文所用的全部術語(包括技術及科學術語)的含義都與本發明所屬之領域中具有通常知識者所普遍理解的含義相同。更容易理解的是,如通用字典中所定義的那些術語應理解為其含義與先前技術及/或本申請書中這些術語的含義相同,而不應解釋得理想化或過於正式,除非本文有此明確規定。
本文所用的術語“編碼”是指將要被轉換為雜訊資料的原始資料隨機化(randomizing),或者對原始資料加密(encrypting)以便日後能夠藉由特定的解密方法來校正加 密資料。依照一實施例的一種資料儲存裝置可回應於指令而將原始資料隨機化或者對原始資料加密。
若資料儲存裝置將原始資料轉換為雜訊資料並輸出此雜訊資料,則較佳的是,原始資料包含錯誤校正碼(error correction code)以便校正已編碼資料。諸如Viterbi代碼和Turbo代碼等周所周知的代碼可用作錯誤校正碼。
首先將參照圖1來闡述依照一實施例的一種計算系統。依照一實施例的一種計算系統70包括主機裝置60和資料儲存裝置10。
本實施例之主機裝置60可以是諸如處理器等具有運算元單元(operator unit)的處理裝置。具體而言,包含主機裝置60的計算系統70(或者圖2之計算系統80)可以是行動電話、雙向(two-way)通訊系統、單向(one-way)呼叫器、雙向呼叫器、個人通訊系統、可攜式電腦、個人資料助理(personal data assistant,PDA)、音訊及/或視訊播放器、數位及/或視訊攝影機、導航系統、全球定位系統(global positioning system,GPS)等。
本實施例之資料儲存裝置10可以是使用諸如NAND快閃記憶體(flash memory)、NOR快閃記憶體、相變式隨機存取記憶體(phase change random access memory,PRAM)、磁性隨機存取記憶體(magnetic random access memory,MRAM)、電阻式隨機存取記憶體(resistive random access memory,RRAM)等非揮發性(nonvolatile)記憶體作為儲存單元的晶片(chip)或封裝(package)。 下文將以快閃記憶體晶片作為資料儲存裝置10的實例來進行說明。
如圖1所示,資料儲存裝置10可直接連接到控制資料儲存裝置10的主機裝置60。當執行讀取操作以獲取編碼目標資料20時,本實施例之主機裝置60可產生一個指令並將此指令提供給資料儲存裝置10以便執行編碼目標資料20的讀取操作。
根據此指令的作用,此指令可稱為:第一指令,用以執行資料讀取操作;第二指令,作為起動訊號來確定資料儲存裝置10的編碼模式;或者第三指令,用以同時執行資料讀取操作和確定編碼模式等。
隨後,當資料被輸出時,資料儲存裝置10會自發地確定要使用的編碼模式以回應於第二指令或第三指令的輸入。因此,第二指令或第三指令的輸入僅用作內部編碼模式確定過程的起動訊號,且編碼模式並非是由指令來決定。
換言之,輸入到資料儲存裝置10且與編碼模式的確定有關的指令不直接規定或表示資料儲存裝置10的編碼模式。此外,一旦與啟動編碼模式之確定有關的指令被輸入,資料儲存裝置10便未必會改變編碼模式。如上所述,由於資料儲存裝置10會自發地確定編碼模式,所以即使從資料儲存裝置10輸出的資料被強行(by hacking)獲取,要想識別此資料是否為可校正的資料也很困難,故而在安全方面提供了優勢。
資料儲存裝置10的編碼模式表示從記憶體輸出的資 料的百分之多少將被編碼。舉例而言,作為資料儲存裝置10的編碼模式,可能有兩種模式,即:編碼模式A,資料的20%被編碼;以及編碼模式B,資料的70%被編碼。當第二指令或第三指令被輸入時,資料儲存裝置10會自發地確定編碼模式A與編碼模式B之其一作為自己的編碼模式。
此外,在另一實施例中,作為資料儲存裝置10的編碼模式,可有兩種模式,即:編碼模式C,其實施旁路(bypass),而不進行資料編碼;以及編碼模式D,其執行資料編碼。當第二指令或第三指令被輸入時,資料儲存裝置10會自發地確定編碼模式C與編碼模式D之其一作為自己的編碼模式。
在一實施例中,資料儲存裝置10的編碼模式可決定具有不同的資料編碼比率的多個編碼模組當中哪個模組將被使用。具體而言,資料儲存裝置10的編碼模式可包括使用編碼模組來進行資料編碼以使得已編碼資料在主機中能夠透過解碼方法來進行校正的編碼模式和使用編碼模組來進行資料編碼以使得已編碼資料在主機中不能透過解碼方法來進行校正的編碼模式。
當資料儲存裝置10輸出編碼目標資料時,第二指令或第三指令可被輸入到資料儲存裝置10多次,從而切換輸出資料的編碼模式。編碼目標資料20可以是所有類型的數位資料,例如,諸如資料儲存裝置10的識別資訊等用來鑑定資料儲存裝置10的鑑定資訊。
下面將闡述主機裝置60提供關於資料編碼的指令給資料儲存裝置10的方法。
首先將闡述一種將編碼目標資料20分成兩個或兩個以上的片段以及當編碼目標資料20被輸出時隨機切換應用於每個片段的編碼模式的方法。
主機裝置60可交替地產生第一指令和第二指令以便輸出編碼目標資料20的多個片段。
當收到第一指令時,資料儲存裝置10根據編碼模式來對編碼目標資料20的一部分進行編碼和輸出,其中編碼模式經確定以回應於第二指令。為了回應第二指令的輸入,資料儲存裝置10產生模式確定資料(用於模式確定),且基於此模式確定資料來確定編碼模式以便隨後對將要輸出的資料進行編碼。資料儲存裝置10可產生隨機資料來作為模式確定資料,隨機資料可由隨機資料產生器來產生,其中隨機資料產生器能夠設定產生特定數值的概率。
下文將參照圖14至圖18來闡述資料儲存裝置10在收到第一指令和第二指令後的操作。
其次,主機裝置60可繼續產生第三指令兩次或兩次以上,以便輸出編碼目標資料20的多個片段。為了回應於第三指令的輸入,資料儲存裝置10產生模式確定資料,且根據基於此模式確定資料而確定的編碼模式來對編碼目標資料20的一部分進行編碼和輸出。第三指令被輸入一次時所輸出的資料的量可由包含在第三指令中的位址來決定,也可透過與主機相連來預先確定。下文也將參照圖19和圖 20來闡述資料儲存裝置10在收到第三指令後的操作。
收到第一指令和第二指令時或者收到第三指令時從資料儲存裝置10輸出的編碼目標資料20的多個片段可具有相同的資料。換言之,編碼目標資料20可由多個相同的資料片段相連接而構成。當收到第一指令和第二指令時,或者當收到第三指令時,資料儲存裝置10可一個接一個地對多個資料片段之每個資料片段進行編碼和輸出。在此情形下,當第一指令和第二指令被輸入時,或者當第三指令被輸入時,所輸出的資料片段可因編碼模式而不同。
接下來將闡述資料儲存裝置10重複輸出編碼目標資料20的方法。
資料儲存裝置10輸出編碼目標資料20以回應於第一指令或第三指令。若是接收第一指令,則較佳的是,資料儲存裝置10接收第二指令,以便在輸出編碼目標資料20前能夠隨機切換編碼模式。
重複輸出編碼目標資料20的資料儲存裝置10配置成只要輸出資料便輸出不同的資料,儘管所輸出的資料儲存在相同的位址。因此,具有防止輸出資料被不當校正的效果。
在下文中,除非是特別指出,否則資料儲存裝置10經配置以將編碼目標資料20分成多個資料片段且輸出這些資料片段。
下面將參照圖2來闡述依照另一實施例的一種計算系統。本實施例之計算系統80可包括主機裝置60、控制器 40以及資料儲存裝置10。本實施例之資料儲存裝置10可電性連接到控制此資料儲存裝置10的控制器40。此外,控制器40可連接到主機裝置60。也就是說,資料儲存裝置10可在主機裝置60的控制下經由控制器40來操作。
當執行編碼目標資料讀取操作時,主機裝置60可提供一個讀取請求給控制器40,或者提供兩個或兩個以上的關於編碼目標資料的多個片段的讀取請求給控制器40。
若主機裝置60提供關於多個資料片段的多個讀取請求,則控制器40會將這些讀取請求傳送給資料儲存裝置10。也就是說,控制器40產生第三指令以回應於讀取請求,且提供第三指令給資料儲存裝置10。為了回應第三指令的輸入,資料儲存裝置10產生模式確定資料,且根據基於此模式確定資料而確定的編碼模式來對編碼目標資料20的一部分進行編碼和輸出。所輸出的資料可經由控制器40而被提供給主機裝置60。
若執行讀取操作時主機裝置60提供一個讀取請求給控制器40,則收到讀取請求的控制器40會按順序產生第三指令兩次或兩次以上以便輸出編碼目標資料20的多個片段,或者會交替地產生第二指令與第一指令以便輸出編碼目標資料20的多個片段。在此情形下,為了回應於第三指令的輸入,資料儲存裝置10產生模式確定資料,且根據基於此模式確定資料而確定的編碼模式來對編碼目標資料20的一部分進行編碼和輸出。此外,當收到第一指令時,資料儲存裝置10根據基於模式確定資料而確定的編碼模 式來對編碼目標資料的一部分進行編碼和輸出,其中模式確定資料的產生是對第二指令的回應。
圖1至圖2所示之資料儲存裝置10可藉由資料儲存裝置10中提供的輸入/輸出(I/O)端子(接腳(pins)或球型凸塊(balls)(未繪示))來接收第一指令和第二指令,或者第三指令。根據功能,可具有各種輸入/輸出端子,例如,傳送和接收輸入/輸出資料的輸入/輸出端子、用來識別藉由輸入/輸出端子而輸入的資料是指令還是位址的指令閂鎖(latch)端子和位址閂鎖端子以及用來確定輸入/輸出端子的輸入/輸出時序的讀取致能(enablement)端子和寫入致能端子,等等。
具體而言,用來識別指令的資料藉由資料儲存裝置10中提供的輸入/輸出端子而被輸入。為了判定藉由輸入/輸出端子而輸入的資料是指令,可藉由指令閂鎖端子和位址閂鎖端子來施加以適當的訊號。同時,可藉由寫入致能端子來施加以適當的訊號來確定輸入/輸出端子的輸入時序。關於這一點,稍後將參照圖16來做詳細說明。
第一指令或第三指令可包括與位址有關的資訊。在此情形下,資料儲存裝置10可輸出包含在第一指令或第三指令中的位址所對應的資料。
下面將參照圖3來詳細闡述依照本實施例之資料儲存裝置10的組態和操作。如圖3所示,資料儲存裝置10可包括記憶單元12、控制單元14以及編碼單元16。
控制單元14對輸入指令進行解碼,且根據解碼結果 來提供內部讀取訊號18與內部觸發訊號19的至少其中之一。控制單元14包括用來對輸入指令進行解碼的指令解碼器140,且控制單元14可僅輸出內部讀取訊號18,輸出內部讀取訊號18和內部觸發訊號19,或者僅輸出內部觸發訊號19。此處,僅輸出內部讀取訊號18的指令稱為第一指令、僅輸出內部觸發訊號19的指令稱為第二指令,輸出內部讀取訊號18與內部觸發訊號19的指令稱為第三指令。
為了回應於內部讀取訊號18,記憶單元12會輸出編碼目標資料20的一部分。資料儲存裝置10可輸出編碼目標資料20的此部分或多個片段兩次或兩次以上,且在輸出多個資料片段時使編碼單元16的編碼模式切換一次或一次以上。
記憶單元12從控制單元14接收內部讀取訊號18,且輸出編碼目標資料20的一部分給編碼單元16。
記憶單元12可配置成包括多個快閃記憶胞的胞陣列(cell array)。此胞陣列可包括各種類型的記憶胞。舉例而言,此胞陣列可包括NAND快閃記憶胞或NOR快閃記憶胞,或者可既包括NAND快閃記憶胞又包括NOR快閃記憶胞。
記憶單元12的胞陣列可形成二維的或三維的。
儲存在記憶單元12之每個記憶胞中的資料的位元(bits)數量可變化。舉例而言,記憶單元12可包括單階快閃記憶胞(single-level flash memory cells,SLC),每個記憶胞儲存一位元的資料,或者可包括多階快閃記憶胞 (multi-level flash memory cells,MLC),每個記憶胞儲存多位元的資料。此外,記憶單元12可既包括單階快閃記憶胞又包括多階快閃記憶胞。
記憶單元12中可分配一個安全區域120來儲存編碼目標資料20。此安全區域120可用於特定位址區域,而此位址區域可用於胞陣列中的特定區塊(block)。關於安全區域分配的一個實例繪示在圖7中,其中安全區域被分配給區塊0至區塊2。
若安全區域120以外的區域所儲存的資料從記憶單元12被提供,則編碼過程16可輸出由記憶單元12提供的資料,以便即使在編碼模式處於啟動狀態(on-state)時也能繞過(bypass)編碼單元。因此,即使有請求對安全區域120以外的區域所儲存的資料進行編碼的指令被輸入,編碼單元16也可不執行資料編碼。
儲存編碼目標資料20的安全區域120可由單階胞(single-level cells,SLC)所構成,且安全區域120以外的一般區域可由多階胞(multi-level cells,MLC)所構成。
此外,安全區域120可包括多個區段(sections)。不同的編碼策略可用於儲存在各別區段內的資料。如圖7所示,舉例而言,編碼策略1可用於儲存在區塊0內的資料,編碼策略2可用於儲存在區塊1內的資料,且編碼策略3可用於儲存在區塊2內的資料。因此,若控制單元14所收到的指令未表明編碼策略,則控制單元14可提供編碼策略變更訊號給編碼單元16,以使得用來儲存編碼目標資料20 的區塊所對應的編碼策略被應用。舉例而言,在圖7所示之記憶單元12之組態中,若編碼目標資料20儲存在區塊2內,則控制單元14可提供編碼策略變更訊號以便將編碼策略3用於編碼單元16。稍後將詳細闡述編碼單元16在收到編碼策略變更訊號後的操作。
編碼策略決定了特定的編碼模式被應用的比率。舉例而言,若編碼模式A是指已編碼資料在主機60或控制器40中無法校正的編碼模式,編碼模式B是指已編碼資料在主機60或控制器40中可校正的編碼模式,則編碼模式B的比率為70%的編碼策略表示主機或控制器通常能夠對資料儲存裝置10所輸出的已編碼資料的百分之七十進行校正。
編碼單元16根據編碼模式來對記憶單元12所提供的資料進行編碼和輸出。
編碼單元16的編碼模式可由內部自發地確定進行資料編碼所用的模組的類型。舉例而言,在第一編碼模式下,可使用對輸入資料的30%進行編碼的模組,而在第二編碼模式下,可使用對輸入資料的70%進行編碼的模組。或者,在第一編碼模式下,可使用對輸入資料進行編碼的模組,而在第二編碼模式下,可使用將輸入資料直接輸出而不進行編碼的模組。也就是說,編碼單元16的編碼模式可表示輸入資料的編碼比率。
編碼單元16可自發地確定編碼模式以回應於內部觸發訊號19。此內部觸發訊號19也不表明編碼模式。具體 而言,當收到內部觸發訊號19時,編碼單元16會利用此內部觸發訊號19作為起動訊號來產生模式確定資料。此外,編碼單元16會基於此模式確定資料來確定對記憶單元所提供的資料進行編碼所用的編碼模式。如上所述,內部觸發訊號19僅用作確定編碼單元16之編碼模式的起動訊號,不會直接影響編碼單元16的編碼模式的確定。
編碼單元16可藉由隨機資料產生方法來自發地確定其自身的編碼模式。也就是說,編碼單元16可產生第一隨機資料作為模式確定資料以回應於內部觸發訊號19。然而,由於編碼目標資料應被編碼以符合特定的編碼策略,所以編碼單元16可按照想要的(或者預定的)概率來產生第一隨機資料。舉例而言,隨機資料產生器可經設定以便隨機產生表示第一編碼模式的“0”與表示第二編碼模式的“1”之其一,使得產生“0”的概率為70%。若模式確定資料是在產生特定數值的概率被界定時隨機產生,則當隨機改變編碼目標資料的編碼輸出圖案時便有可能符合與資料的編碼比率有關的編碼策略。也就是說,由於模式確定資料的資料圖案根據編碼策略而隨機變化,所以編碼輸出圖案也根據編碼策略而隨機變化。
編碼單元16還可根據所選的編碼模式來產生第二隨機資料。第二隨機資料可用來對記憶單元12所提供的資料進行編碼。舉例而言,編碼單元16利用第二隨機資料來對記憶單元12所提供的資料進行邏輯操作以便進行資料編碼,並且輸出已編碼資料。舉例而言,此邏輯操作可以是 互斥或(exclusive OR)操作、多個邏輯操作的組合等等。從編碼單元16輸出以回應於多個內部讀取訊號的多個資料片段可構成編碼目標資料20的已編碼資料30。
本實施例之資料儲存裝置10可藉由輸入第二指令或第三指令兩次或兩次以上來根據編碼策略改變輸出資料的編碼。這一點將參照圖4來進行詳細說明。
我們假定編碼目標資料20被分成十個將要被讀取的片段,且第三指令以固定的間隔被輸入到資料儲存裝置10十次。另外,假定主機60或控制器40的可校正性極限比率(correctability limit ratio)為已編碼資料的40%。可校正性極限比率是指(例如)使用錯誤校正碼(error correction code,ECC)能夠對已編碼資料進行校正的最大編碼比率。
假定在編碼模式A下使用對資料的20%進行編碼的編碼模組,且在編碼模式B下使用對資料的80%進行編碼的編碼模組。也就是說,根據編碼模式A來進行編碼和輸出的資料是可校正的已編碼資料,而根據編碼模式B來進行編碼和輸出的資料是無法校正的已編碼資料-基本上是雜訊資料。此外,假定當第三指令被輸入時,根據編碼策略,選擇編碼模式A的概率為70%。
在此情形下,如圖4之右側所示,容易看到的是,各別回合(rounds)的編碼圖案是不同的,但輸出可校正的已編碼資料的概率保持在70%。由於編碼模式的確定取決於編碼單元16所產生的第一隨機資料,所以在上述條件下輸出可校正的已編碼資料的概率可略微不同於70%。然 而,執行多個回合便可克服此誤差。此外,亂數(random number)產生可經設定以使得可校正的編碼模式被選擇至少一次且不超過最大次數。也就是說,亂數產生是指產生與編碼圖案相對應的資料圖案,使得資料圖案表示可校正的編碼模式至少一次且不超過最大次數。最大次數可對應於編碼策略。舉例而言,若編碼策略為70%,則不超過百分之七十的片段是根據可校正的編碼模式來進行編碼。換言之,用來表示編碼模式的資料圖案是基於編碼策略。
圖4所示之編碼目標資料20在十個片段中可包括相同的資料。也就是說,編碼目標資料20可由兩個或兩個以上的具有相同資料的片段相連接而構成,且資料儲存裝置10可輸出編碼目標資料20的這些片段。
若編碼目標資料20是由多個具有相同資料的片段相連接而構成,則資料儲存裝置10會對相同的資料片段進行編碼和輸出多次。在此情形下,在對應的片段被輸出之前先要確定編碼策略和編碼模式,且根據所確定的編碼模式來對資料片段進行編碼和輸出。在每個回合中資料片段的編碼圖案也可能不同,但每個回合中可校正的已編碼資料片段的比率可確定為相同。
可選擇的是,依照一實施例的資料儲存裝置10可將編碼目標資料儲存在可由相同的位址來存取的相同區域。在此情形下,資料儲存裝置10可接收第三指令多次。根據編碼模式來對編碼目標資料進行編碼,其中編碼模式是基於編碼單元16所產生的模式確定資料來選定。然而,由於 編碼模式是在編碼目標資料被輸出時確定的,所以儘管是儲存在相同區域內的編碼目標資料被輸出,但本實施例之資料儲存裝置10仍然可根據編碼模式來輸出不同的已編碼資料。
請再參照圖4,輸出編碼目標資料20多次的資料儲存裝置10可接收數量與編碼目標資料20的輸出次數相同的指令。舉例而言,若編碼目標資料20被輸出十次,則資料儲存裝置10可接收第一指令和第二指令十次或者接收第三指令十次。
另一方面,即使第三指令被輸入一次,資料儲存裝置10也可輸出編碼目標資料20多次。為了執行此操作,收到第三指令的控制單元14可將內部讀取訊號18和內部觸發訊號19分別提供給記憶單元12和編碼單元16多次(等於編碼目標資料20的輸出次數)以便輸出編碼目標資料20的全部。
如上所述,在依照一實施例的資料儲存裝置10中,編碼圖案每次都會隨機變更,而輸出可校正的已編碼資料的概率保持不變。因此,從資料儲存裝置10讀取的資料可根據已編碼資料來進行校正,同時保持安全性。
編碼單元16可具有上文所述的兩種或兩種以上的編碼模式。然而,為了幫助理解,下面將以編碼單元16具有兩種編碼模式的情形為例來進行說明。
如圖3所示,編碼單元16可包括:編碼器168,其根據編碼模式來處理由記憶單元12提供的資料;以及編碼確 定單元160,其產生模式確定資料以回應於內部觸發訊號19,基於此模式確定資料來確定編碼模式,且提供編碼器控制訊號給編碼器168以便以所確定的編碼模式來對編碼器168進行操作。
編碼確定單元160可在收到內部觸發訊號19時提供編碼器控制訊號給編碼器168。或者,當自發確定的編碼模式不同於編碼器168的當前編碼模式時,編碼確定單元160可提供用以切換編碼模式的編碼器控制訊號給編碼器168。也就是說,只有當編碼器168必須切換編碼模式時,編碼確定單元160才可提供編碼器控制訊號給編碼器168。在此情形下,由於編碼器168接收控制訊號的次數最少,所以操作效率可提高。
下面將參照圖5來對編碼確定單元160的組態和操作進行詳細說明。編碼確定單元160可包括編碼策略列表載入單元164,在資料儲存裝置10通電後從編碼策略列表儲存單元163載入與編碼策略有關的資料。編碼確定單元160也包括:編碼模式確定部件161,當內部儲存訊號19被輸入時,其自發地確定編碼模式;以及編碼器控制訊號產生器162,其用以產生編碼器控制訊號,以便在根據編碼模式確定部件161而確定的編碼模式下控制編碼器168。
編碼策略列表載入單元164從編碼策略列表儲存單元163載入與編碼策略有關的資料。編碼策略列表載入單元164可在資料儲存裝置10通電後執行載入操作。或者,編碼策略列表載入單元164可在資料儲存裝置10通電後執行 載入操作以回應於從主機裝置或控制器輸入的特定指令。編碼策略列表載入單元164可包括多個暫存器(如揮發性(volatile)儲存裝置)以便儲存所載入的資料。
依照一實施例的編碼策略列表繪示於圖6中。可能只有一個編碼策略,也可能有兩個或兩個以上的編碼策略,其中之一被選中和應用。若有兩個或兩個以上的編碼策略,則資料儲存裝置10可使用控制器40或主機裝置60所指定的編碼策略,或者自發地確定編碼策略。
圖6繪示為多個編碼策略之一被選中和使用的實例。舉例而言,若編碼策略1被選中,則可校正編碼比率為40%。若編碼確定單元160接收內部觸發訊號19十次,則用來對資料進行可校正編碼的編碼模組可被選中約四次。
為了改變應用於編碼單元16的編碼策略,資料儲存裝置10可接收與編碼策略之設定有關的指令。也就是說,在此情形下,控制單元14對輸入指令進行解碼,且根據解碼結果來輸出內部讀取訊號、內部觸發訊號以及編碼策略變更訊號的至少其中之一。此外,編碼單元16還會從控制單元14接收編碼策略變更訊號,且改變編碼策略。
也就是說,當資料儲存裝置10通電後,編碼策略列表被載入,且外部指令被輸入,以便在編碼策略列表所包含的多個編碼策略當中設定其中之一。然後,編碼單元16基於所設定的編碼策略的可校正編碼的比率來產生模式確定資料。
如圖5所示,編碼策略列表儲存單元163可在編碼確 定單元160外部單獨提供。舉例而言,編碼策略列表儲存單元163可以是作為記憶單元12之特定區塊的電子熔絲(E-fuse)區塊。同樣,編碼策略列表儲存單元163也可以是獨立於資料儲存裝置10之記憶單元12而提供的電子熔絲區塊。當資料儲存裝置10通電後,對儲存在電子熔絲區塊中的編碼策略資料進行初始讀取操作。由初始讀取操作所讀取的編碼策略資料可被載入到編碼策略列表載入單元164中。
由於在電子熔絲資料載入模式下儲存在電子熔絲區塊中的資料可更新,所以編碼策略資料也可更新。也就是說,編碼策略儲存單元163可以是任何可程式化裝置,且儲存在其中的編碼策略可基於使用者輸入來程式化。
當內部觸發訊號19被輸入時,編碼模式確定部件161啟用(activates)隨機資料產生器165,以便基於所設定的編碼策略的比率來產生隨機資料。也就是說,隨機資料產生器165可產生隨機資料,以便以編碼策略所規定的比率來產生數值,而此數值表示用來對資料進行可校正編碼的編碼模式。若內部觸發訊號19被輸入一次,則隨機資料產生器165會產生模式確定資料一次。隨機資料產生器165可以是硬體實作、用亂數產生演算法進行程式化的處理器,等等。
若有編碼模式A與編碼模式B,則可選擇編碼模式A與編碼模式B之其一。舉例而言,若產生“0”,則選擇編碼模式A;以及若產生“1”,則選擇編碼模式B。
然後,編碼器控制訊號產生器162根據模式確定資料來產生和輸出用來控制編碼器168的編碼器控制訊號。
下面將進一步闡述編碼確定單元160藉由亂數產生來確定編碼器的編碼模式的方法。
如上所述,基於編碼策略來產生模式確定資料可藉由產生隨機資料來執行,以便以特定的概率來產生數值,而此數值表示對資料進行可校正編碼的編碼模式。為了便於說明,編碼確定單元160所產生的隨機資料稱為“第一隨機資料”。
雖然編碼確定單元160以相等的間隔來接收內部觸發訊號19相同次數,但用來確定編碼器168的編碼模式的資料是第一隨機資料。因此,產生隨機資料的特點是,每次執行讀取操作時,儲存在特定位址的特定資料是否以可校正方式被編碼可能是變化的。也就是說,每次執行讀取操作時,從資料儲存裝置10輸出的資料的以可校正方式進行資料編碼的區域會變動。換言之,由於每次執行讀取操作時,儲存在資料儲存裝置10之特定區域中的特定資料的輸出資料會變動,所以駭客識別一些資料是否可校正變得很困難。因此,在本實施例之資料儲存裝置10中,由於編碼確定單元160是基於第一隨機資料來確定編碼器168的編碼模式,所以有可能改變編碼目標資料20的對資料進行可校正編碼的區域的位置。
產生第一隨機資料的隨機資料產生器165可程式化,使得產生特定資料(例如,表示特定的編碼模式)的概率 可程式化。
下面將參照圖8至圖13來對編碼器168的組態進行說明。
首先,編碼器168可包括多個編碼模組,用來對記憶單元12所提供的資料進行編碼。圖8繪示為編碼器168包括兩個編碼模組169和170的實例。從記憶單元12輸出的資料被提供給這兩個編碼模組169和170。根據編碼確定單元160所提供的編碼器控制訊號,兩個編碼模組169和170僅其中之一被致能。然後,由被致能的編碼模組所提供的已編碼資料藉由多工器(MUX)171而輸出。在此情形下,編碼模組是以不同的編碼比率來對輸入資料進行編碼。每個編碼模組169、170的編碼比率可基於使用者輸入來程式化。也就是說,使用者可改變編碼模組169、170中的一個或一個以上的編碼模組的編碼比率。此外,編碼器168可經配置以使編碼模組169、170之未被選中者斷電。在圖8中多工器(MUX)171是位於編碼模組的下游側,但是多工器(MUX)171也可位於記憶單元12與編碼模組之間。
多個編碼模組可包括:一個或一個以上的A型編碼模組,用來以等於或低於主機或控制器之可校正性極限比率的比率來對輸入資料進行編碼;以及一個或一個以上的B型編碼模組,用來以高於可校正性極限比率的比率來對輸入資料進行編碼。舉例而言,若主機裝置或控制器的可校正性極限比率為30%,則編碼模組169可以是用來對資料 的20%進行編碼的A型編碼模組,而編碼模組170可以是用來對資料的70%進行編碼的B型編碼模組。
也就是說,圖8所示之編碼器168在編碼確定單元160的控制下使用A型編碼模組與B型編碼模組之其一來對資料進行編碼和輸出。
圖9繪示為編碼器168在編碼確定單元160的控制下對記憶單元12所提供的資料進行編碼或者輸出該資料以便繞過編碼器。圖9所示之編碼器168包括:編碼模組172,其用來對輸入資料進行編碼;以及旁路匯流排(bypass bus)173,其將記憶單元12所提供的資料輸出到多工器(MUX)171。編碼器168在編碼確定單元160的控制下根據所確定的編碼模式來啟用編碼模組172與旁路匯流排173之其一。舉例而言,編碼模組172可對記憶單元12所提供的資料進行編碼。編碼模組172的編碼比率可在高於可校正性極限比率的範圍內做各種設定。編碼模組172的編碼比率可基於使用者輸入來程式化。也就是說,使用者可改變編碼模組172的編碼比率。此外,編碼器168可經配置以便在編碼模組172未被選中時使編碼模組172斷電。
圖9所示之編碼器168可在編碼確定單元160的控制下對記憶單元12所提供的資料進行編碼,或者藉由繞過編碼器來輸出未編碼的資料。
儘管在圖9中多工器(MUX)171是位於編碼模組172的下游側,但多工器(MUX)171也可位於記憶單元12與編碼模組172之間。
與此同時,編碼器168可包括一個可程式化編碼模組,而不是多個編碼模組。圖10繪示為編碼器168具有可程式化編碼模組174。此可程式化編碼模組174可設定輸入資料的編碼比率。
圖10所示之編碼器168在編碼確定單元160的控制下根據所確定的編碼模式來設定可程式化編碼模組174的編碼比率。圖10所示之編碼器168也可使編碼模式在用來對資料進行可校正編碼的編碼模式與用來對資料進行非校正編碼的編碼模式之間切換。也就是說,編碼器168在第一編碼模式下可將可程式化編碼模組174的編碼比率設定為等於或低於可校正性極限比率的第一編碼比率,或者在第二編碼模式下可將可程式化編碼模組174的編碼比率設定為高於可校正性極限比率的第二編碼比率。編碼器168可以是使用者可程式化的,以便針對不同的編碼模式來設定用於配置可程式化編碼模組174的程式化比率。
依照一實施例的編碼器168可包括多個隨機資料產生器來取代多個編碼模組169和170。圖11繪示為編碼器168包括兩個隨機資料產生器175和176的實例。根據編碼確定單元160所提供的編碼器控制訊號,這兩個隨機資料產生器175和176僅其中之一被致能。然後,編碼器168將被致能的隨機資料產生器所提供的資料與記憶單元12所提供的資料的邏輯操作180的結果輸出。多個隨機資料產生器產生能使記憶單元12所提供的資料在執行完邏輯操作後保持不變的運算元(operand)的概率是不同的。邏輯 操作可包括AND操作、OR操作、XOR操作、NOR操作、NAND操作或上述操作的組合等等。
使資料保持不變的運算元是指其數值能使記憶單元12所提供的資料的數值在執行完邏輯操作後保持不變的資料。舉例而言,若資料保持運算元(operand maintaining data)為“E”且邏輯操作為XOR,則對於任何運算元A都能得到“A XOR E=A”。
換言之,若處於啟動(ON)狀態的隨機資料產生器175或176中產生資料保持運算元的概率為X%,則從編碼器168輸出的資料的X%可與記憶單元12所提供的原始資料相同,且從編碼器168輸出的資料的(100-X)%可不同於記憶單元12所提供的原始資料。因此,容易理解的是,產生資料保持運算元給邏輯操作180的概率與編碼比率有關。每個隨機資料產生器175、176所產生的編碼比率可基於使用者輸入來程式化。也就是說,使用者可改變由隨機資料產生器175、176中的一個或一個以上的隨機資料產生器所產生的編碼比率。
多個隨機資料產生器可包括:一個或一個以上的A型隨機資料產生器,其以高於可校正性極限比率的比率由輸入資料來產生資料保持運算元;以及一個或一個以上的B型隨機資料產生器,其以等於或低於可校正性極限比率的比率由輸入資料來產生資料保持運算元。也就是說,多個隨機資料產生器可分為A型和B型,其中A型以可校正方式來進行資料編碼,B型以非校正方式來進行資料編碼。
如圖12所示,編碼器168可包括A型隨機資料產生器175和資料保持運算元輸出部件178。編碼器168可在編碼確定單元160的控制下根據所確定的編碼模式來對記憶單元12所提供的資料和A型隨機資料產生器175與資料保持運算元輸出部件178之其一所提供的資料進行邏輯操作,且輸出邏輯操作的結果。圖12所示之編碼器168在編碼確定單元160的控制下對記憶單元12所提供的資料進行編碼,或者輸出資料以便繞過編碼器,這與圖9所示之編碼器168相同。或者,圖12之編碼器168可具有旁路匯流排,而不具有資料保持運算元輸出部件178,來自記憶單元12的資料不執行邏輯操作便藉由此旁路匯流排而輸出。隨機資料產生器175可以是使用者可程式化的,以便產生能夠產生具體編碼模式或編碼量的隨機資料。此外,當未被選中時,隨機資料產生器175可關閉。
如圖13所示,編碼器168可包括可程式化隨機資料產生器179,以便設定產生資料保持運算元以用於特定的邏輯操作的概率。編碼器168可根據所確定的編碼模式來設定產生可程式化隨機資料產生器179的資料保持運算元的概率,且將記憶單元12所提供的資料與可程式化隨機資料產生器179所提供的資料的特定邏輯操作180的結果輸出。
圖13所示之編碼器168可使編碼模式在以可校正方式來進行資料編碼的編碼模式與以非校正方式來進行資料編碼的編碼模式之間切換,這與圖10所示之編碼器168 相同。也就是說,編碼器168在第一編碼模式下可設定以高於可校正性極限比率的第一編碼比率來產生可程式化隨機資料產生器的資料保持運算元的概率,或者在第二編碼模式下可設定以等於或低於可校正性極限比率的第二編碼比率來產生可程式化隨機資料產生器的資料保持運算元的概率。編碼器168可以是使用者可程式化的,以便針對不同的編碼模式來設定用來配置可程式化隨機資料產生器179的程式化比率。
圖8至圖13所示之編碼器168是作為實例來進行闡述,且編碼器168可配置成想要的(或者預定的)拌碼器邏輯電路(scramble logic circuit)。
本實施例之資料儲存裝置10可交替地接收第一指令和第二指令以便輸出編碼目標資料20。在此情形下,資料儲存裝置10可每次針對將欲輸出的資料的想要的(或預定的)尺寸來接收觸發指令作為第二指令,或者可接收第二指令達到想要的(或預定的)次數以便輸出編碼目標資料20的全部。
本實施例之資料儲存裝置10可接收第三指令兩次或兩次以上以便輸出編碼目標資料20。在此情形下,資料儲存裝置10可每次針對資料的想要的(或預定的)尺寸來接收第三指令,或者可接收第三指令達到想要的(或預定的)次數(等於觸發次數)以便輸出編碼目標資料20的全部。
下面將參照圖14至圖18來詳細闡述資料儲存裝置10交替地接收第一指令和第二指令以便輸出編碼目標資料 20之一部分的操作。
為了便於再次描述第一指令和第二指令,使第一指令與習知的讀取指令相似,它由控制單元14來解碼且以內部讀取訊號18的形態被傳送給記憶單元12,且第二指令是由控制單元14來解碼,並以內部觸發訊號19的形態被傳送給編碼單元16。
資料儲存裝置10,尤其是,控制單元14交替地接收第一指令和第二指令。也就是說,第一指令被輸入後,第二指令被輸入,且第二指令被輸入後,第一指令被輸入。然而,較佳的是,當編碼目標資料20被輸出時,控制單元14最後接收的是第一指令。若最終指令是第二指令,則第二指令的輸入是無意義的,因為不再有剩餘的輸出資料。
控制單元14最初可接收第二指令。舉例而言,控制單元14可依次和交替地接收第二指令、第一指令、第二指令以及第一指令。控制單元14最初也可接收第一指令。舉例而言,控制單元14可依次和交替地接收第一指令、第二指令以及第一指令。
簡言之,當編碼目標資料20被輸出時,控制單元14可交替地接收第二指令和第一指令,使第二指令或第一指令為初始指令,且較佳的是,第一指令為最終指令。
圖14是用以闡述資料儲存裝置10交替地接收第一指令READ和第二指令TR的操作的時序圖。
根據上一個第一指令602執行完資料輸出622後,第二指令604藉由I/O接腳而被輸入。為了回應於第二指令 604的輸入,控制單元14提供內部觸發訊號19給編碼單元16,且當下一個第一指令602被輸入時,編碼單元16根據第一隨機資料來自發地確定編碼單元16的編碼模式以用於下一次編碼。在自發確定的過程中,若經判斷必須切換編碼單元16的編碼模式,則編碼單元16在收到內部觸發訊號19後完成切換所需的時間用tSW 607來表示。
如上所述,即使第二指令604被輸入,編碼單元16也可不必根據模式確定資料來切換編碼模式。在圖14中,第一次輸入第二指令604後,編碼單元16切換編碼模式,而第二次輸入第二指令604後,編碼單元16則不切換編碼模式。
如圖15所示,第一指令602可具有兩個週期。也就是說,第一指令602可包括讀取起動指令00h和讀取確認指令30h。此外,在讀取起動指令與讀取確認指令之間可包括將欲輸出的資料的位址資訊。當讀取致能(RE)接腳的訊號雙態觸變(toggled)時,從資料儲存裝置10輸出以回應於第一指令602之輸入的資料的位址會增大。
圖16是依照一實施例,用以闡述交替地接收第一指令READ和第二指令TR的資料儲存裝置中的編碼單元的切換操作的最大容許時間的時序圖。
當寫入致能(WE)訊號變為高時,藉由資料儲存裝置10的I/O接腳而輸入的指令被閂鎖。正如在快閃記憶體晶片中所確定的,當WE訊號變為高時藉由I/O接腳而輸入的資料的類型可由施加在指令閂鎖接腳CMD和位址閂 鎖接腳ALE上的訊號狀態來感知(perceived)。
如圖16所示,當執行完資料輸出以回應於上一個第一指令之輸入後,藉由I/O接腳而輸入的第二指令在/WE訊號的上升邊緣(rising edge)(S700)被輸入。在此情形下,控制單元14提供內部觸發訊號19給編碼單元16(S701)。然後,按照快閃記憶體晶片所確定的時序,在/WE訊號的對應的上升邊緣S702、S704及S706依次輸入指令00h、位址、指令30h。然後,根據第一指令602來進行資料輸出。較佳的是,當第二指令604被輸入後,編碼單元16要在執行資料輸出之前進行切換操作以回應於下一個第一指令602的輸入。也就是說,tSW 607的最大容許時間MAX tSW是時點S700與時點S708之間的時間間隔。
如圖16所示,容易看出的是,在編碼單元16執行切換操作之前能夠保證有足夠的時間。
圖17是依照一實施例,用以闡述資料儲存裝置10交替地接收第一指令READ(用以輸出編碼目標資料的多個具有相同尺寸的片段)與第二指令TR的操作的時序圖。
如圖17所示,依照第一指令602而從記憶單元12輸出的編碼目標資料片段620、622、624及626可具有相同的尺寸。藉由最終的第一指令602而從記憶單元12輸出的編碼目標資料片段的尺寸可不同於其他的編碼目標資料片段,因為用於資料輸出的剩餘資料最終被輸出。
也就是說,第二指令604可以固定的位址間隔被輸 入。容易看出的是,第一次輸入第二指令(S900)時,編碼單元16的編碼模式從B狀態切換為A狀態,而第二次輸入第二指令(S902)和第三次輸入第二指令(S904)時,編碼單元16則不切換編碼模式。第四次輸入第二指令(S906)時,編碼單元16再次切換編碼模式。如上所述,若根據對儲存在同一區域內的編碼目標資料進行重讀操作的請求,資料被再次輸出,則編碼單元16可以不同於圖17的方式來切換編碼模式。
如圖18所示,資料儲存裝置10可交替地接收第二指令604和第一指令602,以便輸出編碼目標資料20的具有不同尺寸的多個片段。根據第一指令602而從記憶單元12輸出的編碼目標資料片段630、632及634的尺寸可不相同。圖18繪示為在第一次輸入第二指令(S910)、第二次輸入第二指令(S912)以及第三次輸入第二指令(S914)時編碼單元16切換編碼模式的情形。根據編碼單元16自發確定的編碼模式,圖18所示之編碼模式切換情形可能每次都不同。
如上所述,當收到第二指令或第三指令時,資料儲存裝置10可能切換編碼單元16的編碼模式,也可能不切換編碼單元16的編碼模式。然而,為了切換編碼單元16的編碼模式,需輸入第二指令或第三指令。此外,當根據主機裝置60所輸入的讀取請求來輸出編碼目標資料時,資料儲存裝置10會切換編碼單元16的編碼模式至少一次。依照至少一個實施例的資料儲存裝置10可藉由執行上述操 作來執行已編碼資料輸出功能。此外,編碼模式之間的切換是藉由從外界輸入的第二指令或第三指令來執行。因此,可以防止資料的一部分被異常編碼或者因編碼模式之間的切換延遲而未經編碼便輸出。
下面將參照圖19與圖20來闡述資料儲存裝置10接收第三指令兩次或兩次以上以便輸出編碼目標資料20的操作。
當收到第三指令606時,控制單元14輸出內部讀取訊號18和內部觸發訊號19。因此,容易理解的是,第三指令606是由第一指令602與第二指令604組合起來所構成的指令。
圖19繪示為第三指令606不包含位址資訊的情形。雖然第三指令606中不包含位址資訊,但為了輸出編碼目標資料20的多個片段,資料儲存裝置10可經操作以便輸出具有想要的(或者預定的)尺寸的資料,以回應於第三指令606的輸入。或者,資料儲存裝置10可經操作以便取回上一個輸出端點所輸出的資料以回應於第三指令606的輸入,且在下一次輸入第三指令606時暫停資料輸出。
資料儲存裝置10執行確定編碼單元16之編碼模式的操作和準備將要從記憶單元12輸出的資料的操作以回應於第三指令606的輸入。實際上資料是在讀取致能(RE)接腳的訊號雙態觸變(參見圖16)時的時點從記憶單元12輸出。
因此,在內部觸發訊號19被傳送給編碼單元16以回 應於第三指令606之輸入的時點與資料從記憶單元12被輸出以回應於第三指令606之輸入的時點之間存在著時間差。基此,若在依照內部讀取訊號18而從記憶單元輸出資料前編碼單元16的編碼模式已經切換為依照內部觸發訊號19而自發確定的編碼模式,則編碼單元可支援依照編碼單元16的經確定以回應於第三指令606之輸入的編碼模式來輸出已編碼資料或未編碼資料,其中內部讀取訊號18與內部觸發訊號19是一起提供的。
圖20繪示為第三指令606被輸入後將欲輸出的資料的位址被單獨輸入的情形,其不同於圖19之情形。指令的輸入和位址的輸入是由施加在指令閂鎖端子和位址閂鎖端子的訊號狀態來進行區分。在此情形下,當第三指令606被輸入後,資料儲存裝置10僅輸出與單獨輸入的位址資訊相對應的資料。
下面將參照圖21至圖23來闡述依照各實施例的資料儲存系統50的組態。本實施例之資料儲存系統50包括:控制器40,其用以輸出指令以回應於從外部裝置輸入的編碼目標資料讀取請求;以及資料儲存裝置10,其執行操作以回應於從控制器40輸入的指令。
資料儲存系統50可以是一種卡,如記憶卡。具體而言,本實施例之資料儲存系統50可以是使諸如行動電話、雙向通訊系統、單向呼叫器、雙向呼叫器、個人通訊系統、可攜式電腦、個人資料助理、音訊及/或視訊播放器、數位及/或視訊攝影機、導航系統、全球定位系統等電子裝置滿 足工業標準的卡。然而,資料儲存系統並不限於這些,依照本實施例的資料儲存系統也可配置成各種形態,諸如記憶條(memory stick)。
首先將參照圖21來闡述依照本實施例的資料儲存系統50的操作。
本實施例之資料儲存系統50之控制器40產生第三指令606以回應於對編碼目標資料20之一部分的讀取請求。由於讀取請求是用來讀取編碼目標資料20的一部分,所以控制器40必須接收讀取請求兩次或兩次以上才能輸出編碼目標資料20的全部。資料儲存裝置10產生與將欲輸出的資料的編碼有關的模式確定資料以回應於第三指令606之輸入。然後,資料儲存裝置10根據基於模式確定資料而確定的編碼模式來對編碼目標資料20的一部分進行編碼和輸出。由於上文已對資料儲存裝置10根據第三指令606而進行的操作做了說明,故此處將不再贅述以免重複。
若讀取請求包括觸發類型,則控制器40可產生包含觸發類型的第三指令606。在此情形下,如上文所述,資料儲存裝置10根據與觸發類型相對應的編碼策略來自發地確定是否進行資料編碼以回應於第三指令606之輸入。即使讀取請求中不包含觸發類型,控制器40也能產生包含觸發類型的第三指令606,其中此觸發類型是根據編碼目標資料20的儲存位置而確定的。
下面將參照圖22與圖23來闡述依照另一實施例的資料儲存系統50的操作。
本實施例之資料儲存系統50與圖21所示之資料儲存系統的不同之處在於,只需輸入一個讀取請求給控制器40便能輸出編碼目標資料20的全部。
首先,在圖22所示之資料儲存系統50中,控制器40將用以輸出編碼目標資料20之多個片段的第三指令606按順序輸出兩次或兩次以上,以回應於讀取請求的一次輸入。舉例而言,如圖22所示,用以輸出多個資料片段的第三指令606可以是每次輸出尺寸為10KB(千位元組)的資料的指令。如上所述,為了回應於用以輸出多個資料片段的第三指令606的輸入,資料儲存裝置10自發地確定編碼模式,且根據所確定的編碼模式來對編碼目標資料20的多個片段進行編碼和輸出。
資料儲存裝置10自發地確定是否進行資料編碼時所使用的編碼策略的相關資訊可包含在讀取請求中。此外,控制器40可提供關於編碼策略變更的指令給資料儲存裝置10,以便獨立於讀取請求來設定或改變編碼策略。
雖然編碼策略不包含在讀取請求中,但可根據編碼目標資料20的儲存區域來確定編碼策略(S40),且根據所確定的編碼策略來對編碼目標資料進行編碼。如圖22所示,若編碼目標資料20儲存在採用類型1之編碼策略的區域內,則即使讀取請求不包含與編碼策略有關的資訊,控制器40也可以確定編碼策略為類型1。
其次,在圖23所示之資料儲存系統50中,控制器40交替地輸出第二指令和第一指令以便輸出編碼目標資料的 多個片段,以回應於編碼目標資料讀取請求的輸入。
如圖23所示,控制器40交替地輸出第一指令602和第二指令604以回應於讀取請求的輸入,其中第一指令602是用來輸出編碼目標資料20的多個尺寸為10KB的片段。
如上所述,當交替地接收用以輸出多個資料片段的第一指令602和第二指令604時,資料儲存裝置10會自發地確定編碼模式以回應於第二指令604,且根據所確定的編碼模式來對編碼目標資料20的多個片段進行編碼和輸出。
依照各實施例,當資料從資料儲存裝置被輸出時,僅藉由輸入特定的指令給資料儲存裝置兩次或兩次以上來對將欲輸出的資料進行安全性增強的編碼是有效果的。
此外,資料儲存裝置中的編碼單元執行編碼模式切換以回應於特定指令的輸入,且在切換過程中不執行資料輸出。因此,具有充分確保編碼單元執行編碼模式切換所需時間的效果。因此,可以防止因資料輸出過程中編碼單元執行編碼模式切換而導致需要以非校正方式來進行編碼的資料以可校正方式被編碼或者需要以可校正方式來進行編碼的資料以非校正方式被編碼。
此外,資料儲存裝置可根據想要的(或者預定的)編碼策略來確定編碼單元的編碼模式以回應於特定指令的輸入,且編碼策略可由外部裝置來指定。因此,編碼方法可由外部裝置來指定。
再者,從資料儲存裝置輸出的資料中已以可校正方式被編碼的資料的位置每次都不同,且原始資料不會被輸 出。因此,可以防止輸出資料被不當解碼。
雖然本文已對實施例進行了具體繪示和闡述,但容易理解的是,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可在形態和細節方面作各種更動,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10‧‧‧資料儲存裝置
12‧‧‧記憶單元
14‧‧‧控制單元
16‧‧‧編碼單元
18‧‧‧內部讀取訊號
19‧‧‧內部觸發訊號
20‧‧‧編碼目標資料
30‧‧‧已編碼資料
40‧‧‧控制器
50‧‧‧資料儲存系統
60‧‧‧主機裝置
70、80‧‧‧計算系統
120‧‧‧安全區域
140‧‧‧指令解碼器
160‧‧‧編碼確定單元
161‧‧‧編碼模式確定部件
162‧‧‧編碼器控制訊號產生器
163‧‧‧編碼策略列表儲存單元
164‧‧‧編碼策略列表載入單元
165、175、176、179‧‧‧隨機資料產生器
168‧‧‧編碼器
169、170、172、174‧‧‧編碼模組
171‧‧‧多工器
173‧‧‧旁路匯流排
178‧‧‧資料保持運算元輸出部件
180‧‧‧邏輯操作
602、604、606、READ、TR‧‧‧指令
620、622、624、626、630、632、634‧‧‧編碼目標資料片段
CMD、I/O、RE、WE、ALE‧‧‧接腳訊號
S700、S701、S702、S704、S706、S708、S900、S902、S904、S906、S910、S912、S914‧‧‧時點
607、tSW、MAX tSW‧‧‧時間
S40‧‧‧確定編碼策略/觸發類型
圖1繪示為依照一實施例的一種包括主機裝置和資料儲存裝置的計算系統的組態。
圖2繪示為依照一實施例的一種包括主機裝置和資料儲存裝置的計算系統的組態。
圖3繪示為依照一實施例的資料儲存裝置、輸入指令以及輸出資料的方塊圖。
圖4是依照一實施例,資料儲存裝置進行資料編碼和輸出的實例的示意圖。
圖5是依照一實施例的資料儲存裝置的編碼確定單元的方塊圖。
圖6繪示為依照一實施例,於資料儲存裝置中使用的編碼策略列表。
圖7闡述了依照一實施例的一種記憶單元的儲存區域的組態實例。
圖8至圖13闡述了依照一實施例的一種編碼器的多個組態實例。
圖14是依照一實施例,用以闡述資料儲存裝置交替 地接收第一指令READ和第二指令TR的操作的時序圖。
圖15是依照一實施例,用以闡述資料儲存裝置交替地接收第一指令READ和第二指令TR的操作的詳細時序圖。
圖16是依照一實施例,用以闡述交替地接收第一指令READ和第二指令TR的資料儲存裝置中的編碼單元的切換操作的最大容許時間的詳細時序圖。
圖17是依照一實施例,用以闡述資料儲存裝置交替地接收第一指令READ(用以輸出編碼目標資料的多個具有相同尺寸的片段)與第二指令TR的操作的時序圖。
圖18是依照一實施例,用以闡述資料儲存裝置交替地接收第一指令READ(用以輸出編碼目標資料的多個具有不同尺寸的片段)與第二指令TR的操作的時序圖。
圖19是依照一實施例,用以闡述資料儲存裝置按順序接收第三指令AUTH_READ多次的操作的時序圖。
圖20是依照一實施例,用以闡述資料儲存裝置按順序接收第三指令AUTH_READ和位址資訊多次的操作的時序圖。
圖21是依照一實施例,用以闡述一種包括控制器和資料儲存裝置的資料儲存系統的組態和操作的圖式。
圖22是依照另一實施例,用以闡述一種包括控制器和資料儲存裝置的資料儲存系統的組態和操作的圖式。
圖23是依照又一實施例,用以闡述一種包括控制器和資料儲存裝置的資料儲存系統的組態和操作的圖式。
10‧‧‧資料儲存裝置
12‧‧‧記憶單元
14‧‧‧控制單元
16‧‧‧編碼單元
18‧‧‧內部讀取訊號
19‧‧‧內部觸發訊號
20‧‧‧編碼目標資料
30‧‧‧已編碼資料
120‧‧‧安全區域
140‧‧‧指令解碼器
160‧‧‧編碼確定單元
168‧‧‧編碼器

Claims (46)

  1. 一種資料儲存裝置,包括:控制單元,其經配置以對至少一輸入指令進行解碼,且經配置以回應於所述輸入指令而產生讀取訊號與起動訊號,所述起動訊號表示起動內部模式確定過程;記憶單元,其經配置以回應於所述讀取訊號而輸出資料;以及編碼單元,其經配置以回應於所述起動訊號而起動所述內部模式確定過程,所述內部模式確定過程包括自發地確定或改變編碼模式,且所述編碼單元經配置以基於所確定或改變的編碼模式來對所輸出的資料進行編碼,從而產生已編碼資料。
  2. 如申請專利範圍第1項所述之資料儲存裝置,其中根據所述內部模式確定過程,所述編碼單元經配置以產生隨機資料,且經配置以基於所述隨機資料來確定所述編碼模式。
  3. 如申請專利範圍第2項所述之資料儲存裝置,其中所述編碼單元經配置以獲取編碼策略,所述編碼策略表示從一組編碼模式中選擇每種編碼模式的概率,且所述編碼單元經配置以基於所獲取的編碼策略來產生所述隨機資料。
  4. 如申請專利範圍第1項所述之資料儲存裝置,其中根據所述內部模式確定過程,所述編碼單元經配置以產生資料圖案,且經配置以基於所述資料圖案來確定所述編碼 模式。
  5. 如申請專利範圍第4項所述之資料儲存裝置,其中所述編碼單元經配置以獲取編碼策略,所述編碼策略表示從一組編碼模式中選擇每種編碼模式的概率,且所述編碼單元經配置以基於所獲取的編碼策略來產生所述資料圖案。
  6. 如申請專利範圍第1項所述之資料儲存裝置,其中所述編碼單元經配置以獲取編碼策略,所述編碼策略表示從一組編碼模式中選擇每種編碼模式的概率,且所述編碼單元經配置以基於所述編碼策略來確定所述編碼模式。
  7. 如申請專利範圍第6項所述之資料儲存裝置,其中所述編碼單元經配置以基於另一輸入指令來獲取所述編碼策略。
  8. 如申請專利範圍第6項所述之資料儲存裝置,其中所述編碼單元經配置以基於所輸出的資料在所述記憶單元中的位置來獲取所述編碼策略。
  9. 如申請專利範圍第6項所述之資料儲存裝置,其中所述編碼單元經配置以從編碼策略儲存單元中載入編碼策略列表,且經配置以從所述列表中選擇所述編碼策略其中之一。
  10. 如申請專利範圍第1項所述之資料儲存裝置,其中所述編碼單元經配置以對代表原始資料的多個輸出資料進行編碼以便產生一組已編碼輸出資料,且所述編碼單元經配置以對代表所述原始資料的所述多個輸出資料之每個 輸出資料執行所述內部模式確定過程以便確定用於所述多個輸出資料之每個輸出資料的各別編碼模式,且所述編碼單元經配置以基於所述各別編碼模式來對所述多個輸出資料之每個輸出資料進行編碼。
  11. 如申請專利範圍第10項所述之資料儲存裝置,其中所述編碼單元經配置以產生一組以上的代表相同原始資料的已編碼輸出資料。
  12. 如申請專利範圍第10項所述之資料儲存裝置,其中所述控制單元經配置以交替地接收第一輸入指令和第二輸入指令,所述控制單元經配置以回應於所述第一輸入指令而產生所述讀取訊號,且經配置以回應於所述第二輸入指令而產生所述起動訊號,使得所述編碼單元接收代表所述原始資料的所述多個輸出資料,且對所述多個輸出資料進行編碼。
  13. 如申請專利範圍第12項所述之資料儲存裝置,其中所述多個輸出資料都具有相同的尺寸。
  14. 如申請專利範圍第12項所述之資料儲存裝置,其中所述多個輸出資料的至少其中之一的尺寸不同於所述多個輸出資料的其他輸出資料。
  15. 如申請專利範圍第12項所述之資料儲存裝置,其中所述第一指令最先被收到。
  16. 如申請專利範圍第12項所述之資料儲存裝置,其中所述第二指令最先被收到。
  17. 如申請專利範圍第10項所述之資料儲存裝置,其 中所述控制單元經配置以接收多個輸入指令,所述控制單元經配置以回應於所述多個輸入指令之每個輸入指令而產生所述讀取訊號和所述起動訊號,使得所述編碼單元接收代表所述原始資料的所述多個輸出資料,且對所述多個輸出資料進行編碼。
  18. 如申請專利範圍第1項所述之資料儲存裝置,其中所述編碼單元包括:第一編碼模組,其經配置以便以第一編碼比率來對所輸出的資料進行編碼;第二編碼模組,其經配置以便以第二編碼比率來對所輸出的資料進行編碼,所述第二編碼比率高於所述第一編碼比率;以及選擇器,其經配置以基於所確定的編碼模式來從所述第一編碼模組與所述第二編碼模組之一選擇性地輸出已編碼資料。
  19. 如申請專利範圍第18項所述之資料儲存裝置,其中所述編碼單元經配置以基於所確定的編碼模式而只啟用所述第一編碼模組與所述第二編碼模組的其中之一。
  20. 如申請專利範圍第18項所述之資料儲存裝置,其中所述第一編碼比率允許對已編碼輸出資料進行正確解碼,且所述第二編碼比率不允許對已編碼輸出資料進行正確解碼。
  21. 如申請專利範圍第1項所述之資料儲存裝置,其中所述編碼單元包括: 第一編碼模組,其經配置以便對所述輸出資料進行編碼,使得已編碼輸出資料是根據第一編碼比率來被編碼;以及選擇器,其經配置以基於所確定的編碼模式來選擇性地輸出已編碼資料作為(1)所述第一編碼模組的輸出與(2)所輸出的資料其中之一。
  22. 如申請專利範圍第21項所述之資料儲存裝置,其中所述第一編碼比率不允許對已編碼輸出資料進行正確解碼。
  23. 如申請專利範圍第21項所述之資料儲存裝置,其中所述編碼單元經配置以基於所確定的編碼模式來選擇性地停用所述第一編碼模組。
  24. 如申請專利範圍第1項所述之資料儲存裝置,其中所述編碼單元包括:可程式化編碼模組,其經配置以基於所確定的編碼模式以一定的編碼比率來對所輸出的資料進行編碼。
  25. 如申請專利範圍第1項所述之資料儲存裝置,其中所述編碼單元包括:第一隨機資料產生器,其經配置以產生第一隨機資料;第二隨機資料產生器,其經配置以產生第二隨機資料;選擇器,其經配置以基於所確定的編碼模式來選擇性地輸出所述第一隨機資料與所述第二隨機資料之一作為編 碼資料;邏輯運算元,其經配置以將所輸出的資料與所述編碼資料進行邏輯結合,以便產生已編碼資料;以及其中,所述第一隨機資料所產生的編碼少於所述第二隨機資料。
  26. 如申請專利範圍第25項所述之資料儲存裝置,其中若所述第一隨機資料是所述編碼資料,則所述已編碼資料可被正確解碼,若所述第二隨機資料是所述編碼資料,則所述已編碼資料無法被正確解碼。
  27. 如申請專利範圍第25項所述之資料儲存裝置,其中所述編碼單元經配置以基於所確定的編碼模式而只啟用所述第一隨機資料產生器與所述第二隨機資料產生器的其中之一。
  28. 如申請專利範圍第1項所述之資料儲存裝置,其中所述編碼單元包括:第一隨機資料產生器,其經配置以產生第一隨機資料;選擇器,其經配置以選擇性地輸出(1)所述第一隨機資料與(2)參考資料其中之一作為編碼資料;邏輯運算元,其經配置以將所輸出的資料與所述編碼資料進行邏輯結合,以便產生已編碼資料;以及其中,所述參考資料所產生的編碼少於所述第一隨機資料。
  29. 如申請專利範圍第28項所述之資料儲存裝置,其 中當與所輸出的資料進行邏輯結合時,所述參考資料不產生編碼。
  30. 如申請專利範圍第28項所述之資料儲存裝置,其中若所述第一隨機資料是所述編碼資料,則所述已編碼資料無法被正確解碼。
  31. 如申請專利範圍第28項所述之資料儲存裝置,其中所述編碼單元經配置以基於所確定的編碼模式來選擇性地停用所述第一隨機資料產生器。
  32. 如申請專利範圍第1項所述之資料儲存裝置,其中所述編碼單元包括:邏輯運算元,其經配置以將編碼資料與所輸出的資料進行邏輯結合,以便產生已編碼資料;以及可程式化隨機資料產生器,其經配置以產生隨機資料作為所述編碼資料,以便基於所確定的編碼模式以一定的編碼比率來對所輸出的資料進行編碼。
  33. 如申請專利範圍第1項所述之資料儲存裝置,其中所述編碼單元包括至少一個編碼模組,其經配置以基於一定的編碼比率來對所輸出的資料進行編碼,且所述編碼比率為可程式化。
  34. 如申請專利範圍第1項所述之資料儲存裝置,其中所輸出的資料是用來鑑定所述資料儲存裝置的鑑定資料。
  35. 如申請專利範圍第1項所述之資料儲存裝置,其中所述記憶單元經配置以將要被編碼的原始資料儲存在單 階胞內,且經配置以將不會被編碼的原始資料儲存在多階胞內。
  36. 一種資料儲存系統,包括:如申請專利範圍第12項所述之資料儲存裝置;以及控制器,其經配置以回應於所收到的對應的多個讀取請求而交替地產生所述第一輸入指令和所述第二輸入指令。
  37. 一種資料儲存系統,包括:如申請專利範圍第12項所述之資料儲存裝置;以及控制器,其經配置以回應於所收到的一個讀取請求交替地產生所述第一輸入指令和所述第二輸入指令。
  38. 一種資料儲存系統,包括:如申請專利範圍第17項所述之資料儲存裝置;以及控制器,其經配置以回應於所收到的對應的多個讀取請求而產生所述多個輸入指令。
  39. 一種資料儲存系統,包括:如申請專利範圍第17項所述之資料儲存裝置;以及控制器,其經配置以回應於所收到的一個讀取請求而產生所述多個輸入指令。
  40. 一種資料儲存裝置,包括:控制單元,其經配置以對輸入指令進行解碼,且經配置以回應於所述輸入指令而產生讀取訊號和觸發訊號,所述輸入指令不表明編碼模式;記憶單元,其經配置以回應於所述讀取訊號而輸出資 料;以及編碼單元,其經配置以回應於所述觸發訊號而產生指示資料,所述指示資料表明編碼模式,所述編碼單元經配置以基於所述指示資料來從一組編碼模式中選擇所述編碼模式,且經配置以基於所確定的編碼模式來對所輸出的資料進行編碼。
  41. 如申請專利範圍第40項所述之資料儲存裝置,其中所述觸發訊號不表明編碼模式。
  42. 如申請專利範圍第41項所述之資料儲存裝置,其中所述觸發訊號指示所述編碼單元起動和執行內部模式確定過程,所述內部模式確定過程包括自發地選擇所述編碼模式。
  43. 一種電腦系統,包括:如申請專利範圍第1項所述之資料儲存裝置;以及主機處理裝置,其經配置以產生所述輸入指令,且經配置以接收所述已編碼資料。
  44. 一種電腦系統,包括:如申請專利範圍第1項所述之資料儲存裝置;控制器,其經配置以回應於存取指令而產生所述輸入指令,且經配置以接收所述已編碼資料;以及主機處理裝置,其經配置以發送所述存取指令給所述控制器,且經配置以接收來自所述控制器的所述已編碼資料。
  45. 一種資料儲存系統,包括: 如申請專利範圍第1項所述之資料儲存裝置;以及控制器,其經配置以產生所述輸入指令,且經配置以接收所述已編碼資料。
  46. 一種編碼單元,包括:編碼確定單元,其經配置以產生具有想要的分佈狀態的隨機資料,且經配置以根據所述隨機資料來確定編碼模式;以及編碼器,其經配置以基於所確定的編碼模式來進行資料編碼。
TW101117600A 2011-05-17 2012-05-17 資料儲存裝置、編碼單元、包含該裝置、單元的系統、編碼方法以及讀取資料的方法 TWI539281B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20110046405 2011-05-17
KR1020110081308A KR101824044B1 (ko) 2011-05-17 2011-08-16 부호화 출력 기능을 구비한 데이터 저장 장치 및 시스템

Publications (2)

Publication Number Publication Date
TW201248407A TW201248407A (en) 2012-12-01
TWI539281B true TWI539281B (zh) 2016-06-21

Family

ID=47088265

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101117600A TWI539281B (zh) 2011-05-17 2012-05-17 資料儲存裝置、編碼單元、包含該裝置、單元的系統、編碼方法以及讀取資料的方法

Country Status (6)

Country Link
US (2) US9373005B2 (zh)
JP (2) JP6039237B2 (zh)
KR (1) KR101824044B1 (zh)
CN (2) CN107256369B (zh)
DE (1) DE102012103577A1 (zh)
TW (1) TWI539281B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI773442B (zh) * 2021-07-20 2022-08-01 宇瞻科技股份有限公司 儲存裝置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468996A (zh) * 2014-09-05 2016-04-06 深圳市同盛绿色科技有限公司 计算机
JP6465732B2 (ja) * 2015-04-24 2019-02-06 リンナイ株式会社 ガス燃焼装置
KR102506838B1 (ko) * 2016-09-30 2023-03-08 에스케이하이닉스 주식회사 반도체 장치 및 그의 동작 방법
CN108076351B (zh) * 2016-11-16 2020-12-08 杭州海康威视数字技术股份有限公司 一种音视频数据编码方法、装置及电子设备
KR102513328B1 (ko) * 2016-12-08 2023-03-24 에스케이하이닉스 주식회사 반도체 장치, 반도체 시스템 및 그의 동작 방법
CN108052285B (zh) * 2017-12-12 2018-12-11 清华大学 一种自适应编码长度的时序数据存储的方法和装置
US10747891B2 (en) * 2018-06-13 2020-08-18 EMC IP Holding Company LLC Floating data protection
CN109032619B (zh) * 2018-07-13 2021-12-24 上海艾为电子技术股份有限公司 确定熔丝烧录编码的方法及装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328034A (ja) * 1998-05-11 1999-11-30 Mega Chips Corp 半導体メモリおよびゲーム装置
US6598166B1 (en) * 1999-08-18 2003-07-22 Sun Microsystems, Inc. Microprocessor in which logic changes during execution
JP2001156772A (ja) * 1999-11-30 2001-06-08 Victor Co Of Japan Ltd 暗号化情報再生方法及び暗号化情報再生装置
EP1130600A1 (en) 2000-03-01 2001-09-05 Hewlett-Packard Company, A Delaware Corporation Data balancing scheme in solid state storage devices
KR100692425B1 (ko) * 2001-09-28 2007-03-09 하이 덴시티 디바이시스 에이에스 대량 저장 장치의 암호화/복호화를 위한 방법 및 장치
US20030226029A1 (en) * 2002-05-29 2003-12-04 Porter Allen J.C. System for protecting security registers and method thereof
JP2004070049A (ja) * 2002-08-07 2004-03-04 Denso Corp データの暗号化方法及び装置、データの復号化方法及び装置、プログラム
EP1758395A1 (en) * 2004-06-28 2007-02-28 Matsushita Electric Industrial Co., Ltd. Program creation device, program test device, program execution device, information processing system
US7770027B2 (en) 2004-11-15 2010-08-03 Nintendo Co., Ltd. Semiconductor memory device
JP4119881B2 (ja) * 2004-11-15 2008-07-16 株式会社メガチップス 半導体メモリ装置
JP2007172508A (ja) * 2005-12-26 2007-07-05 Sony Corp 着脱式記憶装置及び認証方法
JP5030132B2 (ja) * 2006-01-17 2012-09-19 任天堂株式会社 ゲームプログラムおよびゲーム装置
CN101473687B (zh) * 2006-06-19 2012-03-28 株式会社Ntt都科摩 基站以及调度方法
CN101247506A (zh) * 2007-02-14 2008-08-20 中国科学院声学研究所 在数字媒体播放系统中的文件加密方法及加密文件结构
WO2009075180A1 (ja) * 2007-12-11 2009-06-18 Nec Corporation 認証装置、認証システム、認証方法及びプログラム
JP5260203B2 (ja) 2008-05-30 2013-08-14 日立アプライアンス株式会社 冷蔵庫
FR2937711B1 (fr) 2008-10-27 2010-11-19 Saint Gobain Module a diodes electroluminescentes pour vehicule, support a diodes
JP5045956B2 (ja) * 2009-04-16 2012-10-10 Necシステムテクノロジー株式会社 スクランブル装置、スクランブル方法及びプログラム
CN101882995B (zh) * 2009-05-06 2013-08-07 中兴通讯股份有限公司 数据发送、接收和传输方法及装置
US9026803B2 (en) * 2009-11-30 2015-05-05 Hewlett-Packard Development Company, L.P. Computing entities, platforms and methods operable to perform operations selectively using different cryptographic algorithms
CN101984574B (zh) * 2010-11-29 2012-09-05 北京卓微天成科技咨询有限公司 一种数据加解密方法及装置
JP2012227899A (ja) * 2011-04-22 2012-11-15 Toshiba Corp 認証コンポーネント、被認証コンポーネントおよびその認証方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI773442B (zh) * 2021-07-20 2022-08-01 宇瞻科技股份有限公司 儲存裝置

Also Published As

Publication number Publication date
CN107256369B (zh) 2021-06-01
CN107256369A (zh) 2017-10-17
CN102789560B (zh) 2017-07-21
KR20120128530A (ko) 2012-11-27
TW201248407A (en) 2012-12-01
US10133680B2 (en) 2018-11-20
KR101824044B1 (ko) 2018-01-31
DE102012103577A1 (de) 2012-11-22
JP6039237B2 (ja) 2016-12-07
US20170017582A1 (en) 2017-01-19
JP6431022B2 (ja) 2018-11-28
JP2012243320A (ja) 2012-12-10
US20120297150A1 (en) 2012-11-22
CN102789560A (zh) 2012-11-21
JP2017041908A (ja) 2017-02-23
US9373005B2 (en) 2016-06-21

Similar Documents

Publication Publication Date Title
TWI539281B (zh) 資料儲存裝置、編碼單元、包含該裝置、單元的系統、編碼方法以及讀取資料的方法
US9197247B2 (en) Memory system and error correction method
JP5999926B2 (ja) 不揮発性メモリ装置、該メモリ装置を制御するコントローラ、及び該コントローラの動作方法
KR101027202B1 (ko) 작은 데이터 구조의 ecc 보호 장치, 방법 및 시스템
US9459955B2 (en) System and method to scramble data based on a scramble key
US8549328B2 (en) Memory controller, memory system including the same, and method for operating the same
JP2012133877A (ja) 初期シード生成方法とそれを利用するフラッシュメモリ装置及びメモリシステム
JP2008165805A (ja) フラッシュメモリ装置のecc制御器及びそれを含むメモリシステム
CN104637534B (zh) 半导体存储器件及操作其的方法
US10043573B2 (en) Apparatus and method for endurance friendly programming using lower voltage thresholds
US20190341943A1 (en) Data storage device
KR20080064299A (ko) 상이한 에러 제어 스킴을 갖는 하이브리드 플래시 메모리장치 및 그것을 포함한 메모리 시스템
US20190056991A1 (en) Error correction circuit, operating method thereof and data storage device including the same
US10511334B2 (en) Error correction circuit, operating method thereof and data storage device including the same
JP4323527B2 (ja) 半導体記憶装置
US10985781B2 (en) Error correction circuit, operating method thereof and data storage device including the same
US10680658B2 (en) Decoder controller, error correction circuit, operating method thereof and data storage device including the same
US20230393765A1 (en) Power efficient codeword scrambling in a non-volatile memory device